ZGlmZiAtLWdpdCBhLy5naXRhdHRyaWJ1dGVzIGIvLmdpdGF0dHJpYnV0ZXMKaW5kZXggNWU5ODgwNi4uMzIwZTMzYyAxMDA2NDQKLS0tIGEvLmdpdGF0dHJpYnV0ZXMKKysrIGIvLmdpdGF0dHJpYnV0ZXMKQEAgLTEsMyArMSwzIEBACiAqIHdoaXRlc3BhY2U9IWluZGVudCx0cmFpbCxzcGFjZQotKi5bY2hdIHdoaXRlc3BhY2U9aW5kZW50LHRyYWlsLHNwYWNlCisqLltjaF0gd2hpdGVzcGFjZT1pbmRlbnQsdHJhaWwsc3BhY2UgZGlmZj1jcHAKICouc2ggd2hpdGVzcGFjZT1pbmRlbnQsdHJhaWwsc3BhY2UKZGlmZiAtLWdpdCBhLy5tYWlsbWFwIGIvLm1haWxtYXAKaW5kZXggYTkxNjJjMC4uOWNjMzNlOSAxMDA2NDQKLS0tIGEvLm1haWxtYXAKKysrIGIvLm1haWxtYXAKQEAgLTMzLDYgKzMzLDcgQEAKIENocmlzIFNob2VtYWtlciA8Yy5zaG9lbWFrZXJAY294Lm5ldD4KIENocmlzIFdyaWdodCA8Y2hyaXN3QHNvdXMtc29sLm9yZz4gPGNocmlzd0Bvc2RsLm9yZz4KIENvcmQgU2VlbGUgPGNvd29zZUBnbWFpbC5jb20+IDxjb3dvc2VAZ29vZ2xlbWFpbC5jb20+CitDaHJpc3RpYW4gQ291ZGVyIDxjaHJpc2Nvb2xAdHV4ZmFtaWx5Lm9yZz4gPGNocmlzdGlhbi5jb3VkZXJAZ21haWwuY29tPgogQ2hyaXN0aWFuIFN0aW1taW5nIDxzdGltbWluZ0B0dWhoLmRlPiA8Y2hzQGNraXN0ZS5nb2V0aGVhbGxlZT4KIENzYWJhIEhlbmsgPGNzYWJhQGdsdXN0ZXIuY29tPiA8Y3NhYmFAbG93bGlmZS5odT4KIERhbiBKb2huc29uIDxjb21wdXRlcmRydWlkQGdtYWlsLmNvbT4KQEAgLTQ2LDYgKzQ3LDggQEAKIERhdmlkIEvDpWdlZGFsIDxkYXZpZGtAbHlzYXRvci5saXUuc2U+CiBEYXZpZCBSZWlzcyA8ZHJlaXNzQGZhY2Vib29rLmNvbT4gPGRyZWlzc0BkcmVpc3Mtdm13YXJlLihub25lKT4KIERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KK0RhdmlkIFR1cm5lciA8bm92YWxpc0Bub3ZhbGlzLm9yZz4gPGR0dXJuZXJAdHdvcGVuc291cmNlLmNvbT4KK0RhdmlkIFR1cm5lciA8bm92YWxpc0Bub3ZhbGlzLm9yZz4gPGR0dXJuZXJAdHdvc2lnbWEuY29tPgogRGVza2luIE1pbGxlciA8ZGVza2lubUB1bWljaC5lZHU+CiBEaXJrIFPDvHNzZXJvdHQgPG5ld3NsZXR0ZXJAZGlyay5teTEuY2M+CiBFcmljIEJsYWtlIDxlYmxha2VAcmVkaGF0LmNvbT4gPGViYjlAYnl1Lm5ldD4KZGlmZiAtLWdpdCBhLy50cmF2aXMueW1sIGIvLnRyYXZpcy55bWwKaW5kZXggYzIwZWM1NC4uMGIyZWE1YyAxMDA2NDQKLS0tIGEvLnRyYXZpcy55bWwKKysrIGIvLnRyYXZpcy55bWwKQEAgLTE5LDYgKzE5LDcgQEAKICAgICBwYWNrYWdlczoKICAgICAtIGxhbmd1YWdlLXBhY2staXMKICAgICAtIGdpdC1zdm4KKyAgICAtIGFwYWNoZTIKIAogZW52OgogICBnbG9iYWw6CkBAIC0zMCw3ICszMSw3IEBACiAgICAgLSBMSU5VWF9HSVRfTEZTX1ZFUlNJT049IjEuMi4wIgogICAgIC0gREVGQVVMVF9URVNUX1RBUkdFVD1wcm92ZQogICAgIC0gR0lUX1BST1ZFX09QVFM9Ii0tdGltZXIgLS1qb2JzIDMgLS1zdGF0ZT1mYWlsZWQsc2xvdyxzYXZlIgotICAgIC0gR0lUX1RFU1RfT1BUUz0iLS12ZXJib3NlIC0tdGVlIgorICAgIC0gR0lUX1RFU1RfT1BUUz0iLS12ZXJib3NlLWxvZyIKICAgICAtIEdJVF9URVNUX0NMT05FXzJHQj1ZZXNQbGVhc2UKICAgICAjIHQ5ODEwIG9jY2FzaW9uYWxseSBmYWlscyBvbiBUcmF2aXMgQ0kgT1MgWAogICAgICMgdDk4MTYgb2NjYXNpb25hbGx5IGZhaWxzIHdpdGggIlRBUCBvdXQgb2Ygc2VxdWVuY2UgZXJyb3JzIiBvbiBUcmF2aXMgQ0kgT1MgWApAQCAtNTUsNiArNTYsOCBAQAogICAtID4KICAgICBjYXNlICIke1RSQVZJU19PU19OQU1FOi1saW51eH0iIGluCiAgICAgbGludXgpCisgICAgICBleHBvcnQgR0lUX1RFU1RfSFRUUEQ9WWVzUGxlYXNlCisKICAgICAgIG1rZGlyIC0tcGFyZW50cyBjdXN0b20vcDQKICAgICAgIHB1c2hkIGN1c3RvbS9wNAogICAgICAgICB3Z2V0IC0tcXVpZXQgaHR0cDovL2ZpbGVob3N0LnBlcmZvcmNlLmNvbS9wZXJmb3JjZS9yJExJTlVYX1A0X1ZFUlNJT04vYmluLmxpbnV4MjZ4ODZfNjQvcDRkCkBAIC03NiwxMiArNzksMTQgQEAKICAgICAgICAgRk9STVVMQT0kMQogICAgICAgICBTSEE9JChicmV3IGZldGNoIC0tZm9yY2UgJEZPUk1VTEEgMj4mMSB8IGdyZXAgXlNIQTI1NjogfCBjdXQgLWQgJyAnIC1mIDIpCiAgICAgICAgIHNlZCAtRSAtaS5iYWsgInMvc2hhMjU2IFwiWzAtOWEtZl17NjR9XCIvc2hhMjU2IFwiJFNIQVwiL2ciIFwKLSAgICAgICAgICAvdXNyL2xvY2FsL0xpYnJhcnkvVGFwcy9ob21lYnJldy9ob21lYnJldy1iaW5hcnkvJEZPUk1VTEEucmIKKyAgICAgICAgICAiJChicmV3IC0tcmVwb3NpdG9yeSBob21lYnJldy9ob21lYnJldy1iaW5hcnkpLyRGT1JNVUxBLnJiIgogICAgICAgfQogICAgICAgYnJldyB1cGRhdGUgLS1xdWlldAogICAgICAgYnJldyB0YXAgaG9tZWJyZXcvYmluYXJ5IC0tcXVpZXQKICAgICAgIGJyZXdfZm9yY2Vfc2V0X2xhdGVzdF9iaW5hcnlfaGFzaCBwZXJmb3JjZQogICAgICAgYnJld19mb3JjZV9zZXRfbGF0ZXN0X2JpbmFyeV9oYXNoIHBlcmZvcmNlLXNlcnZlcgorICAgICAgIyBVbmNvbW1lbnQgdGhpcyBpZiB5b3Ugd2FudCB0byBydW4gcGVyZiB0ZXN0czoKKyAgICAgICMgYnJldyBpbnN0YWxsIGdudS10aW1lCiAgICAgICBicmV3IGluc3RhbGwgZ2l0LWxmcyBwZXJmb3JjZS1zZXJ2ZXIgcGVyZm9yY2UgZ2V0dGV4dAogICAgICAgYnJldyBsaW5rIC0tZm9yY2UgZ2V0dGV4dAogICAgICAgOzsKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQ29kaW5nR3VpZGVsaW5lcyBiL0RvY3VtZW50YXRpb24vQ29kaW5nR3VpZGVsaW5lcwppbmRleCAwZGRkMzY4Li40Y2Q5NWRhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL0NvZGluZ0d1aWRlbGluZXMKKysrIGIvRG9jdW1lbnRhdGlvbi9Db2RpbmdHdWlkZWxpbmVzCkBAIC01MjYsMTIgKzUyNiwyMCBAQAogIG1vZGlmeWluZyBwYXJhZ3JhcGhzIG9yIG9wdGlvbi9jb21tYW5kIGV4cGxhbmF0aW9ucyB0aGF0IGNvbnRhaW4gb3B0aW9ucwogIG9yIGNvbW1hbmRzOgogCi0gTGl0ZXJhbCBleGFtcGxlcyAoZS5nLiB1c2Ugb2YgY29tbWFuZC1saW5lIG9wdGlvbnMsIGNvbW1hbmQgbmFtZXMsIGFuZAotIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzKSBhcmUgdHlwZXNldCBpbiBtb25vc3BhY2UsIGFuZCBpZiB5b3UgY2FuIHVzZQotIGBiYWNrdGlja3MgYXJvdW5kIHdvcmQgcGhyYXNlc2AsIGRvIHNvLgorIExpdGVyYWwgZXhhbXBsZXMgKGUuZy4gdXNlIG9mIGNvbW1hbmQtbGluZSBvcHRpb25zLCBjb21tYW5kIG5hbWVzLAorIGJyYW5jaCBuYW1lcywgY29uZmlndXJhdGlvbiBhbmQgZW52aXJvbm1lbnQgdmFyaWFibGVzKSBtdXN0IGJlCisgdHlwZXNldCBpbiBtb25vc3BhY2UgKGkuZS4gd3JhcHBlZCB3aXRoIGJhY2t0aWNrcyk6CiAgICBgLS1wcmV0dHk9b25lbGluZWAKICAgIGBnaXQgcmV2LWxpc3RgCiAgICBgcmVtb3RlLnB1c2hEZWZhdWx0YAorICAgYEdJVF9ESVJgCisgICBgSEVBRGAKKworIEFuIGVudmlyb25tZW50IHZhcmlhYmxlIG11c3QgYmUgcHJlZml4ZWQgd2l0aCAiJCIgb25seSB3aGVuIHJlZmVycmluZyB0byBpdHMKKyB2YWx1ZSBhbmQgbm90IHdoZW4gcmVmZXJyaW5nIHRvIHRoZSB2YXJpYWJsZSBpdHNlbGYsIGluIHRoaXMgY2FzZSB0aGVyZSBpcworIG5vdGhpbmcgdG8gYWRkIGV4Y2VwdCB0aGUgYmFja3RpY2tzOgorICAgYEdJVF9ESVJgIGlzIHNwZWNpZmllZAorICAgYCRHSVRfRElSL2hvb2tzL3ByZS1yZWNlaXZlYAogCiAgV29yZCBwaHJhc2VzIGVuY2xvc2VkIGluIGBiYWNrdGljayBjaGFyYWN0ZXJzYCBhcmUgcmVuZGVyZWQgbGl0ZXJhbGx5CiAgYW5kIHdpbGwgbm90IGJlIGZ1cnRoZXIgZXhwYW5kZWQuIFRoZSB1c2Ugb2YgYGJhY2t0aWNrc2AgdG8gYWNoaWV2ZSB0aGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vTWFrZWZpbGUgYi9Eb2N1bWVudGF0aW9uL01ha2VmaWxlCmluZGV4IDM1YzEzODUuLmI0M2Q2NmUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vTWFrZWZpbGUKKysrIGIvRG9jdW1lbnRhdGlvbi9NYWtlZmlsZQpAQCAtNzYsNiArNzYsNyBAQAogVEVDSF9ET0NTICs9IHRlY2huaWNhbC9yYWN5LWdpdAogVEVDSF9ET0NTICs9IHRlY2huaWNhbC9zZW5kLXBhY2stcGlwZWxpbmUKIFRFQ0hfRE9DUyArPSB0ZWNobmljYWwvc2hhbGxvdworVEVDSF9ET0NTICs9IHRlY2huaWNhbC9zaWduYXR1cmUtZm9ybWF0CiBURUNIX0RPQ1MgKz0gdGVjaG5pY2FsL3RyaXZpYWwtbWVyZ2UKIFNQX0FSVElDTEVTICs9ICQoVEVDSF9ET0NTKQogU1BfQVJUSUNMRVMgKz0gdGVjaG5pY2FsL2FwaS1pbmRleApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEwLjAudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEwLjAudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0ZGEyOGEKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTAuMC50eHQKQEAgLTAsMCArMSw2NzUgQEAKK0dpdCAyLjEwIFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT0KKworQmFja3dhcmQgY29tcGF0aWJpbGl0eSBub3RlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitVcGRhdGVzIHNpbmNlIHYyLjkKKy0tLS0tLS0tLS0tLS0tLS0tLQorCitVSSwgV29ya2Zsb3dzICYgRmVhdHVyZXMKKworICogImdpdCBwdWxsIC0tcmViYXNlIC0tdmVyaWZ5LXNpZ25hdHVyZSIgbGVhcm5lZCB0byB3YXJuIHRoZSB1c2VyCisgICB0aGF0ICItLXZlcmlmeS1zaWduYXR1cmUiIGlzIGEgbm8tb3Agd2hlbiByZWJhc2luZy4KKworICogQW4gdXBzdHJlYW0gcHJvamVjdCBjYW4gbWFrZSBhIHJlY29tbWVuZGF0aW9uIHRvIHNoYWxsb3dseSBjbG9uZQorICAgc29tZSBzdWJtb2R1bGVzIGluIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIGl0IHNoaXBzLgorCisgKiAiZ2l0IHdvcmt0cmVlIGFkZCIgbGVhcm5lZCB0aGF0ICctJyBjYW4gYmUgdXNlZCBhcyBhIHNob3J0LWhhbmQgZm9yCisgICAiQHstMX0iLCB0aGUgcHJldmlvdXMgYnJhbmNoLgorCisgKiBVcGRhdGUgdGhlIGZ1bmNuYW1lIGRlZmluaXRpb24gdG8gc3VwcG9ydCBjc3MgZmlsZXMuCisKKyAqIFRoZSBjb21wbGV0aW9uIHNjcmlwdCAoaW4gY29udHJpYi8pIGxlYXJuZWQgdG8gY29tcGxldGUgImdpdAorICAgc3RhdHVzIiBvcHRpb25zLgorCisgKiBNZXNzYWdlcyB0aGF0IGFyZSBnZW5lcmF0ZWQgYnkgYXV0byBnYyBkdXJpbmcgImdpdCBwdXNoIiBvbiB0aGUKKyAgIHJlY2VpdmluZyBlbmQgYXJlIG5vdyBwYXNzZWQgYmFjayB0byB0aGUgc2VuZGluZyBlbmQgaW4gc3VjaCBhIHdheQorICAgdGhhdCB0aGV5IGFyZSBzaG93biB3aXRoICJyZW1vdGU6ICIgcHJlZml4IHRvIGF2b2lkIGNvbmZ1c2luZyB0aGUKKyAgIHVzZXJzLgorCisgKiAiZ2l0IGFkZCAtaS8tcCIgbGVhcm5lZCB0byBob25vciBkaWZmLmNvbXBhY3Rpb25IZXVyaXN0aWMKKyAgIGV4cGVyaW1lbnRhbCBrbm9iLCBzbyB0aGF0IHRoZSB1c2VyIGNhbiB3b3JrIG9uIHRoZSBzYW1lIGh1bmsgc3BsaXQKKyAgIGFzICJnaXQgZGlmZiIgb3V0cHV0LgorCisgKiAidXBsb2FkLXBhY2siIGFsbG93cyBhIGN1c3RvbSAiZ2l0IHBhY2stb2JqZWN0cyIgcmVwbGFjZW1lbnQgd2hlbgorICAgcmVzcG9uZGluZyB0byAiZmV0Y2gvY2xvbmUiIHZpYSB0aGUgdXBsb2FkcGFjay5wYWNrT2JqZWN0c0hvb2suCisgICAobWVyZ2UgYjczODM5NiBqay91cGxvYWQtcGFjay1ob29rIGxhdGVyIHRvIG1haW50KS4KKworICogVGVhY2ggZm9ybWF0LXBhdGNoIGFuZCBtYWlsc3BsaXQgKGhlbmNlICJhbSIpIGhvdyBhIGxpbmUgdGhhdAorICAgaGFwcGVucyB0byBiZWdpbiB3aXRoICJGcm9tICIgaW4gdGhlIGUtbWFpbCBtZXNzYWdlIGlzIHF1b3RlZCB3aXRoCisgICAiPiIsIHNvIHRoYXQgdGhlc2UgbGluZXMgY2FuIGJlIHJlc3RvcmVkIHRvIHRoZWlyIG9yaWdpbmFsIHNoYXBlLgorICAgKG1lcmdlIGQ5OTI1ZDEgZXcvbWJveHJkLWZvcm1hdC1hbSBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcmVwYWNrIiBsZWFybmVkIHRoZSAiLS1rZWVwLXVucmVhY2hhYmxlIiBvcHRpb24sIHdoaWNoIHNlbmRzCisgICBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIHRvIGEgcGFjayBpbnN0ZWFkIG9mIGxlYXZpbmcgdGhlbSBsb29zZS4KKyAgIFRoaXMgaGVscHMgaGV1cmlzdGljcyBiYXNlZCBvbiB0aGUgbnVtYmVyIG9mIGxvb3NlIG9iamVjdHMKKyAgIChlLmcuICJnYyAtLWF1dG8iKS4KKyAgIChtZXJnZSBlMjZhOGM0IGprL3JlcGFjay1rZWVwLXVucmVhY2hhYmxlIGxhdGVyIHRvIG1haW50KS4KKworICogImxvZyAtLWdyYXBoIC0tZm9ybWF0PSIgbGVhcm5lZCB0aGF0ICIlPnwoTikiIHNwZWNpZmllcyB0aGUgd2lkdGgKKyAgIHJlbGF0aXZlIHRvIHRoZSB0ZXJtaW5hbCdzIGxlZnQgZWRnZSwgbm90IHJlbGF0aXZlIHRvIHRoZSBhcmVhIHRvCisgICBkcmF3IHRleHQgdGhhdCBpcyB0byB0aGUgcmlnaHQgb2YgdGhlIGFuY2VzdHJ5LWdyYXBoIHNlY3Rpb24uICBJdAorICAgYWxzbyBub3cgYWNjZXB0cyBuZWdhdGl2ZSBOIHRoYXQgbWVhbnMgdGhlIGNvbHVtbiBsaW1pdCBpcyByZWxhdGl2ZQorICAgdG8gdGhlIHJpZ2h0IGJvcmRlci4KKworICogQSBjYXJlbGVzcyBpbnZvY2F0aW9uIG9mICJnaXQgc2VuZC1lbWFpbCBkaXJlY3RvcnkvIiBhZnRlciBlZGl0aW5nCisgICAwMDAxLWNoYW5nZS5wYXRjaCB3aXRoIGFuIGVkaXRvciBvZnRlbiBlbmRzIHVwIHNlbmRpbmcgYm90aAorICAgMDAwMS1jaGFuZ2UucGF0Y2ggYW5kIGl0cyBiYWNrdXAgZmlsZSwgMDAwMS1jaGFuZ2UucGF0Y2h+LCBjYXVzaW5nCisgICBlbWJhcnJhc3NtZW50IGFuZCBhIG1pbm9yIGNvbmZ1c2lvbi4gIERldGVjdCBzdWNoIGFuIGlucHV0IGFuZAorICAgb2ZmZXIgdG8gc2tpcCB0aGUgYmFja3VwIGZpbGVzIHdoZW4gc2VuZGluZyB0aGUgcGF0Y2hlcyBvdXQuCisgICAobWVyZ2UgNTMxMjIwYiBqYy9zZW5kLWVtYWlsLXNraXAtYmFja3VwIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBzdWJtb2R1bGUgdXBkYXRlIiB0aGF0IGRyaXZlcyBtYW55ICJnaXQgY2xvbmUiIGNvdWxkCisgICBldmVudHVhbGx5IGhpdCBmbGFreSBzZXJ2ZXJzL25ldHdvcmsgY29uZGl0aW9ucyBvbiBvbmUgb2YgdGhlCisgICBzdWJtb2R1bGVzOyB0aGUgY29tbWFuZCBsZWFybmVkIHRvIHJldHJ5IHRoZSBhdHRlbXB0LgorCisgKiBUaGUgb3V0cHV0IGNvbG9yaW5nIHNjaGVtZSBsZWFybmVkIHR3byBuZXcgYXR0cmlidXRlcywgaXRhbGljIGFuZAorICAgc3RyaWtlLCBpbiBhZGRpdGlvbiB0byBleGlzdGluZyBib2xkLCByZXZlcnNlLCBldGMuCisKKyAqICJnaXQgbG9nIiBsZWFybnMgbG9nLnNob3dTaWduYXR1cmUgY29uZmlndXJhdGlvbiB2YXJpYWJsZSwgYW5kIGEKKyAgIGNvbW1hbmQgbGluZSBvcHRpb24gIi0tbm8tc2hvdy1zaWduYXR1cmUiIHRvIGNvdW50ZXJtYW5kIGl0LgorICAgKG1lcmdlIGZjZTA0YzMgbWovbG9nLXNob3ctc2lnbmF0dXJlLWNvbmYgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBNb3JlIG1hcmtpbmdzIG9mIG1lc3NhZ2VzIGZvciBpMThuLCB3aXRoIHVwZGF0ZXMgdG8gdmFyaW91cyB0ZXN0cworICAgdG8gcGFzcyBHRVRURVhUX1BPSVNPTiB0ZXN0cy4KKworICogImdpdCBhcmNoaXZlIiBsZWFybmVkIHRvIGhhbmRsZSBmaWxlcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiA4R0IgYW5kCisgICBjb21taXRzIGZhciBpbiB0aGUgZnV0dXJlIHRoYW4gZXhwcmVzc2libGUgYnkgdGhlIHRyYWRpdGlvbmFsIFVTLVRBUgorICAgZm9ybWF0LgorICAgKG1lcmdlIDU2MGIwZTggamsvYmlnLWFuZC1mdXR1cmUtYXJjaGl2ZS10YXIgbGF0ZXIgdG8gbWFpbnQpLgorCisKKyAqIEEgbmV3IGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgY29yZS5zc2hDb21tYW5kIGhhcyBiZWVuIGFkZGVkIHRvCisgICBzcGVjaWZ5IHdoYXQgdmFsdWUgZm9yIEdJVF9TU0hfQ09NTUFORCB0byB1c2UgcGVyIHJlcG9zaXRvcnkuCisKKyAqICJnaXQgd29ya3RyZWUgcHJ1bmUiIHByb3RlY3RlZCB3b3JrdHJlZXMgdGhhdCBhcmUgbWFya2VkIGFzCisgICAibG9ja2VkIiBieSBjcmVhdGluZyBhIGZpbGUgaW4gYSBrbm93biBsb2NhdGlvbi4gICJnaXQgd29ya3RyZWUiCisgICBjb21tYW5kIGxlYXJuZWQgYSBkZWRpY2F0ZWQgY29tbWFuZCBwYWlyIHRvIGNyZWF0ZSBhbmQgcmVtb3ZlIHN1Y2gKKyAgIGEgZmlsZSwgc28gdGhhdCB0aGUgdXNlcnMgZG8gbm90IGhhdmUgdG8gZG8gdGhpcyB3aXRoIGVkaXRvci4KKworICogQSBoYW5kZnVsIG9mICJnaXQgc3ZuIiB1cGRhdGVzLgorCisgKiAiZ2l0IHB1c2giIGxlYXJuZWQgdG8gYWNjZXB0IGFuZCBwYXNzIGV4dHJhIG9wdGlvbnMgdG8gdGhlCisgICByZWNlaXZpbmcgZW5kIHNvIHRoYXQgaG9va3MgY2FuIHJlYWQgYW5kIHJlYWN0IHRvIHRoZW0uCisKKyAqICJnaXQgc3RhdHVzIiBsZWFybmVkIHRvIHN1Z2dlc3QgIm1lcmdlIC0tYWJvcnQiIGR1cmluZyBhIGNvbmZsaWN0ZWQKKyAgIG1lcmdlLCBqdXN0IGxpa2UgaXQgYWxyZWFkeSBzdWdnZXN0cyAicmViYXNlIC0tYWJvcnQiIGR1cmluZyBhCisgICBjb25mbGljdGVkIHJlYmFzZS4KKworICogImdpdCBqdW1wIiBzY3JpcHQgKGluIGNvbnRyaWIvKSBoYXMgYmVlbiB1cGRhdGVkIGEgYml0LgorICAgKG1lcmdlIGE5MWU2OTIgamsvZ2l0LWp1bXAgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHB1c2giIGFuZCAiZ2l0IGNsb25lIiBsZWFybmVkIHRvIGdpdmUgYmV0dGVyIHByb2dyZXNzIG1ldGVycworICAgdG8gdGhlIGVuZCB1c2VyIHdobyBpcyB3YWl0aW5nIG9uIHRoZSB0ZXJtaW5hbC4KKworICogQW4gZW50cnkgImdpdCBsb2cgLS1kZWNvcmF0ZSIgZm9yIHRoZSB0aXAgb2YgdGhlIGN1cnJlbnQgYnJhbmNoIGlzCisgICBzaG93biBhcyAiSEVBRCAtPiBuYW1lIiAod2hlcmUgIm5hbWUiIGlzIHRoZSBuYW1lIG9mIHRoZSBicmFuY2gpOworICAgdGhlIGFycm93IGlzIG5vdyBwYWludGVkIGluIHRoZSBzYW1lIGNvbG9yIGFzICJIRUFEIiwgbm90IGluIHRoZQorICAgY29sb3IgZm9yIGNvbW1pdHMuCisKKyAqICJnaXQgZm9ybWF0LXBhdGNoIiBsZWFybmVkIGZvcm1hdC5mcm9tIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG8KKyAgIHNwZWNpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgZm9yIGl0cyAiLS1mcm9tIiBvcHRpb24uCisKKyAqICJnaXQgYW0gLTMiIGNhbGxzICJnaXQgbWVyZ2UtcmVjdXJzaXZlIiB3aGVuIGl0IG5lZWRzIHRvIGZhbGwgYmFjaworICAgdG8gYSB0aHJlZS13YXkgbWVyZ2U7IHRoaXMgY2FsbCBoYXMgYmVlbiB0dXJuZWQgaW50byBhbiBpbnRlcm5hbAorICAgc3Vicm91dGluZSBjYWxsIGluc3RlYWQgb2Ygc3Bhd25pbmcgYSBzZXBhcmF0ZSBzdWJwcm9jZXNzLgorCisgKiBUaGUgY29tbWFuZCBsaW5lIGNvbXBsZXRpb24gc2NyaXB0cyAoaW4gY29udHJpYi8pIG5vdyBrbm93cyBhYm91dAorICAgImdpdCBicmFuY2ggLS1kZWxldGUvLS1tb3ZlIFstLXJlbW90ZV0iLgorICAgKG1lcmdlIDI3MDNjMjIgdnMvY29tcGxldGlvbi1icmFuY2gtZnVsbHktc3BlbGxlZC1kLW0tciBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcmV2LXBhcnNlIC0tZ2l0LXBhdGggaG9va3MvPGhvb2s+IiBsZWFybmVkIHRvIHRha2UKKyAgIGNvcmUuaG9va3NQYXRoIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgKGludHJvZHVjZWQgZHVyaW5nIDIuOSBjeWNsZSkKKyAgIGludG8gYWNjb3VudC4KKyAgIChtZXJnZSA5NDQ1YjQ5IGFiL2hvb2tzIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBsb2cgLS1zaG93LXNpZ25hdHVyZSIgYW5kIG90aGVyIGNvbW1hbmRzIHRoYXQgZGlzcGxheSB0aGUKKyAgIHZlcmlmaWNhdGlvbiBzdGF0dXMgb2YgUEdQIHNpZ25hdHVyZSBub3cgc2hvd3MgdGhlIGxvbmdlciBrZXktaWQsCisgICBhcyAzMi1iaXQga2V5LWlkIGlzIHNvIGxhc3QgY2VudHVyeS4KKworCitQZXJmb3JtYW5jZSwgSW50ZXJuYWwgSW1wbGVtZW50YXRpb24sIERldmVsb3BtZW50IFN1cHBvcnQgZXRjLgorCisgKiAiZ2l0IGZhc3QtaW1wb3J0IiBsZWFybmVkIHRoZSBzYW1lIHBlcmZvcm1hbmNlIHRyaWNrIHRvIGF2b2lkCisgICBjcmVhdGluZyB0b28gc21hbGwgYSBwYWNrZmlsZSBhcyAiZ2l0IGZldGNoIiBhbmQgImdpdCBwdXNoIiBoYXZlLAorICAgdXNpbmcgKi51bnBhY2tMaW1pdCBjb25maWd1cmF0aW9uLgorCisgKiBXaGVuICJnaXQgZGFlbW9uIiBpcyBydW4gd2l0aG91dCAtLVtpbml0LV10aW1lb3V0IHNwZWNpZmllZCwgYQorICAgY29ubmVjdGlvbiBmcm9tIGEgY2xpZW50IHRoYXQgc2lsZW50bHkgZ29lcyBvZmZsaW5lIGNhbiBoYW5nIGFyb3VuZAorICAgZm9yIGEgbG9uZyB0aW1lLCB3YXN0aW5nIHJlc291cmNlcy4gIFRoZSBzb2NrZXQtbGV2ZWwgS0VFUEFMSVZFIGhhcworICAgYmVlbiBlbmFibGVkIHRvIGFsbG93IHRoZSBPUyB0byBub3RpY2Ugc3VjaCBmYWlsZWQgY29ubmVjdGlvbnMuCisKKyAqICJnaXQgdXBsb2FkLXBhY2siIGNvbW1hbmQgaGFzIGJlZW4gdXBkYXRlZCB0byB1c2UgdGhlIHBhcnNlLW9wdGlvbnMKKyAgIEFQSS4KKworICogVGhlICJnaXQgYXBwbHkiIHN0YW5kYWxvbmUgcHJvZ3JhbSBpcyBiZWluZyBsaWJpZmllZDsgdGhlIGZpcnN0CisgICBzdGVwIHRvIG1vdmUgbWFueSBzdGF0ZSB2YXJpYWJsZXMgaW50byBhIHN0cnVjdHVyZSB0aGF0IGNhbiBiZQorICAgZXhwbGljaXRseSAocmUpaW5pdGlhbGl6ZWQgdG8gbWFrZSB0aGUgbWFjaGluZXJ5IGNhbGxhYmxlIG1vcmUKKyAgIHRoYW4gb25jZSBoYXMgYmVlbiBtZXJnZWQuCisKKyAqIEhUVFAgdHJhbnNwb3J0IGdhaW5lZCBhbiBvcHRpb24gdG8gcHJvZHVjZSBtb3JlIGRldGFpbGVkIGRlYnVnZ2luZworICAgdHJhY2UuCisgICAobWVyZ2UgNzNlNTdhYSBlcC9odHRwLWN1cmwtdHJhY2UgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBJbnN0ZWFkIG9mIHRha2luZyBhZHZhbnRhZ2Ugb2YgdGhlIGZhY3QgdGhhdCBhIHN0cnVjdCBzdHJpbmdfbGlzdAorICAgdGhhdCBpcyBhbGxvY2F0ZWQgd2l0aCBhbGwgTlVMcyBoYXBwZW5zIHRvIGJlIHRoZSBJTklUX05PRFVQIGtpbmQsCisgICB0aGUgdXNlcnMgb2Ygc3RyaW5nX2xpc3Qgc3RydWN0dXJlcyBhcmUgdGF1Z2h0IHRvIGluaXRpYWxpemUgdGhlbQorICAgZXhwbGljaXRseSBhcyBzdWNoLCB0byBkb2N1bWVudCB0aGVpciBiZWhhdmlvdXIgYmV0dGVyLgorICAgKG1lcmdlIDI3MjFjZTIgamsvc3RyaW5nLWxpc3Qtc3RhdGljLWluaXQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBIVFRQZCB0ZXN0cyBsZWFybmVkIHRvIHNob3cgdGhlIHNlcnZlciBlcnJvciBsb2cgdG8gaGVscCBkaWFnbm9zaW5nCisgICBhIGZhaWxpbmcgdGVzdHMuCisgICAobWVyZ2UgNDRmMjQzZCBuZC90ZXN0LWxpYi1odHRwZC1zaG93LWVycm9yLWxvZy1pbi12ZXJib3NlIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIG93bmVyc2hpcCBydWxlIGZvciB0aGUgcGllY2Ugb2YgbWVtb3J5IHRoYXQgaG9sZCByZWZlcmVuY2VzIHRvCisgICBiZSBmZXRjaGVkIGluICJnaXQgZmV0Y2giIHdhcyBzY3Jld3ksIHdoaWNoIGhhcyBiZWVuIGNsZWFuZWQgdXAuCisKKyAqICJnaXQgYmlzZWN0IiBtYWtlcyBhbiBpbnRlcm5hbCBjYWxsIHRvICJnaXQgZGlmZi10cmVlIiB3aGVuCisgICBiaXNlY3Rpb24gZmluZHMgdGhlIGN1bHByaXQsIGJ1dCB0aGlzIGNhbGwgZGlkIG5vdCBpbml0aWFsaXplIHRoZQorICAgZGF0YSBzdHJ1Y3R1cmUgdG8gcGFzcyB0byB0aGUgZGlmZi10cmVlIEFQSSBjb3JyZWN0bHkuCisKKyAqIEZ1cnRoZXIgcHJlcGFyYXRvcnkgY2xlYW4tdXAgZm9yICJ3b3JrdHJlZSIgZmVhdHVyZSBjb250aW51ZXMuCisgICAobWVyZ2UgMDQwOWUwYiBuZC93b3JrdHJlZS1jbGVhbnVwLXBvc3QtaGVhZC1wcm90ZWN0aW9uIGxhdGVyIHRvIG1haW50KS4KKworICogRm9ybWF0cyBvZiB0aGUgdmFyaW91cyBkYXRhIChhbmQgaG93IHRvIHZhbGlkYXRlIHRoZW0pIHdoZXJlIHdlIHVzZQorICAgR1BHIHNpZ25hdHVyZSBoYXZlIGJlZW4gZG9jdW1lbnRlZC4KKworICogQSBuZXcgcnVuLWNvbW1hbmQgQVBJIGZ1bmN0aW9uIHBpcGVfY29tbWFuZCgpIGlzIGludHJvZHVjZWQgdG8KKyAgIHNhbmVseSBmZWVkIGRhdGEgdG8gdGhlIHN0YW5kYXJkIGlucHV0IHdoaWxlIGNhcHR1cmluZyBkYXRhIGZyb20KKyAgIHRoZSBzdGFuZGFyZCBvdXRwdXQgYW5kIHRoZSBzdGFuZGFyZCBlcnJvciBvZiBhbiBleHRlcm5hbCBwcm9jZXNzLAorICAgd2hpY2ggaXMgY3VtYmVyc29tZSB0byBoYW5kLXJvbGwgY29ycmVjdGx5IHdpdGhvdXQgZGVhZGxvY2tpbmcuCisKKyAqIFRoZSBjb2RlcGF0aCB0byBzaWduIGRhdGEgaW4gYSBwcmVwYXJlZCBidWZmZXIgd2l0aCBHUEcgaGFzIGJlZW4KKyAgIHVwZGF0ZWQgdG8gdXNlIHRoaXMgQVBJIHRvIHJlYWQgZnJvbSB0aGUgc3RhdHVzLWZkIHRvIGNoZWNrIGZvcgorICAgZXJyb3JzIChpbnN0ZWFkIG9mIHJlbHlpbmcgb24gR1BHJ3MgZXhpdCBzdGF0dXMpLgorICAgKG1lcmdlIGVmZWU5NTUgamsvZ3BnLWludGVyZmFjZS1jbGVhbnVwIGxhdGVyIHRvIG1haW50KS4KKworICogQWxsb3cgdC9wZXJmIGZyYW1ld29yayB0byB1c2UgdGhlIGZlYXR1cmVzIGZyb20gdGhlIG1vc3QgcmVjZW50CisgICB2ZXJzaW9uIG9mIEdpdCBldmVuIHdoZW4gdGVzdGluZyBhbiBvbGRlciBpbnN0YWxsZWQgdmVyc2lvbi4KKworICogVGhlIGNvbW1hbmRzIGluIHRoZSAibG9nL2RpZmYiIGZhbWlseSBoYXZlIGhhZCBhbiBGSUxFKiBwb2ludGVyIGluIHRoZQorICAgZGF0YSBzdHJ1Y3R1cmUgdGhleSBwYXNzIGFyb3VuZCBmb3IgYSBsb25nIHRpbWUsIGJ1dCBzb21lIGNvZGVwYXRocworICAgdXNlZCB0byBhbHdheXMgd3JpdGUgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4gIEFzIGEgcHJlcGFyYXRvcnkgc3RlcAorICAgdG8gbWFrZSAiZ2l0IGZvcm1hdC1wYXRjaCIgYXZhaWxhYmxlIHRvIHRoZSBpbnRlcm5hbCBjYWxsZXJzLCB0aGVzZQorICAgY29kZXBhdGhzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIGNvbnNpc3RlbnRseSB3cml0ZSBpbnRvIHRoYXQgRklMRSoKKyAgIGluc3RlYWQuCisKKyAqIENvbnZlcnNpb24gZnJvbSB1bnNpZ25lZCBjaGFyIHNoYTFbMjBdIHRvIHN0cnVjdCBvYmplY3RfaWQKKyAgIGNvbnRpbnVlcy4KKworICogSW1wcm92ZSB0aGUgbG9vayBvZiB0aGUgd2F5ICJnaXQgZmV0Y2giIHJlcG9ydHMgd2hhdCBoYXBwZW5lZCB0bworICAgZWFjaCByZWYgdGhhdCB3YXMgZmV0Y2hlZC4KKworICogVGhlIC5jLy5oIHNvdXJjZXMgYXJlIG1hcmtlZCBhcyBzdWNoIGluIG91ciAuZ2l0YXR0cmlidXRlcyBmaWxlIHNvCisgICB0aGF0ICJnaXQgZGlmZiAtVyIgYW5kIGZyaWVuZHMgd291bGQgd29yayBiZXR0ZXIuCisKKyAqIENvZGUgY2xlYW4tdXAgdG8gYXZvaWQgdXNpbmcgYSB2YXJpYWJsZSBzdHJpbmcgdGhhdCBjb21waWxlcnMgbWF5CisgICBmZWVsIHVudHJ1c3RhYmxlIGFzIHByaW50Zi1zdHlsZSBmb3JtYXQgZ2l2ZW4gdG8gd3JpdGVfZmlsZSgpCisgICBoZWxwZXIgZnVuY3Rpb24uCisKKyAqICJnaXQgcDQiIHVzZWQgYSBsb2NhdGlvbiBvdXRzaWRlICRHSVRfRElSL3JlZnMvIHRvIHBsYWNlIGl0cworICAgdGVtcG9yYXJ5IGJyYW5jaGVzLCB3aGljaCBoYXMgYmVlbiBtb3ZlZCB0byByZWZzL2dpdC1wNC10bXAvLgorCisgKiBFeGlzdGluZyBhdXRvY29uZiBnZW5lcmF0ZWQgdGVzdCBmb3IgdGhlIG5lZWQgdG8gbGluayB3aXRoIHB0aHJlYWQKKyAgIGxpYnJhcnkgZGlkIG5vdCBjaGVjayBhbGwgdGhlIGZ1bmN0aW9ucyBmcm9tIHB0aHJlYWQgbGlicmFyaWVzOworICAgcmVjZW50IEZyZWVCU0QgaGFzIHNvbWUgZnVuY3Rpb25zIGluIGxpYmMgYnV0IG5vdCBvdGhlcnMsIGFuZCB3ZQorICAgbWlzdGFrZW5seSB0aG91Z2h0IGxpbmtpbmcgd2l0aCBsaWJjIGlzIGVub3VnaCB3aGVuIGl0IGlzIG5vdC4KKworICogV2hlbiAiZ2l0IGZzY2siIHJlcG9ydHMgYSBicm9rZW4gbGluayAoZS5nLiBhIHRyZWUgb2JqZWN0IGNvbnRhaW5zCisgICBhIGJsb2IgdGhhdCBkb2VzIG5vdCBleGlzdCksIGJvdGggY29udGFpbmluZyBvYmplY3QgYW5kIHRoZSBvYmplY3QKKyAgIHRoYXQgaXMgcmVmZXJyZWQgdG8gd2VyZSByZXBvcnRlZCB3aXRoIHRoZWlyIDQwLWhleCBvYmplY3QgbmFtZXMuCisgICBUaGUgY29tbWFuZCBsZWFybmVkIHRoZSAiLS1uYW1lLW9iamVjdHMiIG9wdGlvbiB0byBzaG93IHRoZSBwYXRoIHRvCisgICB0aGUgY29udGFpbmluZyBvYmplY3QgZnJvbSBleGlzdGluZyByZWZzIChlLmcuICJIRUFEfjI0XjI6ZmlsZS50eHQiKS4KKworICogQWxsb3cgaHR0cCBkYWVtb24gdGVzdHMgaW4gVHJhdmlzIENJIHRlc3RzLgorCisgKiBNYWtlZmlsZSBhc3N1bWVkIHRoYXQgLWxydCBpcyBhbHdheXMgYXZhaWxhYmxlIG9uIHBsYXRmb3JtcyB0aGF0CisgICB3YW50IHRvIHVzZSBjbG9ja19nZXR0aW1lKCkgYW5kIENMT0NLX01PTk9UT05JQywgd2hpY2ggaXMgbm90IGEKKyAgIGNhc2UgZm9yIHJlY2VudCBNYWMgT1MgWC4gIFRoZSBuZWNlc3Nhcnkgc3ltYm9scyBhcmUgb2Z0ZW4gZm91bmQgaW4KKyAgIGxpYmMgb24gbWFueSBtb2Rlcm4gc3lzdGVtcyBhbmQgaGF2aW5nIC1scnQgb24gdGhlIGNvbW1hbmQgbGluZSwgYXMKKyAgIGxvbmcgYXMgdGhlIGxpYnJhcnkgZXhpc3RzLCBoYWQgbm8gZWZmZWN0LCBidXQgd2hlbiB0aGUgcGxhdGZvcm0KKyAgIHJlbW92ZXMgbGlicnQuYSB0aGF0IGlzIGEgZGlmZmVyZW50IG1hdHRlci0taGF2aW5nIC1scnQgd2lsbCBicmVhaworICAgdGhlIGxpbmthZ2UuCisKKyAgIFRoaXMgY2hhbmdlIGNvdWxkIGJlIHNlZW4gYXMgYSByZWdyZXNzaW9uIGZvciB0aG9zZSB3aG8gZG8gbmVlZCB0bworICAgc3BlY2lmeSAtbHJ0LCBhcyB0aGV5IG5vdyBzcGVjaWZpY2FsbHkgYXNrIGZvciBORUVEU19MSUJSVCB3aGVuCisgICBidWlsZGluZy4gSG9wZWZ1bGx5IHRoZXkgYXJlIGluIHRoZSBtaW5vcml0eSB0aGVzZSBkYXlzLgorCisgKiBGdXJ0aGVyIHByZXBhcmF0b3J5IHdvcmsgb24gdGhlIHJlZnMgQVBJIGJlZm9yZSB0aGUgcGx1Z2dhYmxlCisgICBiYWNrZW5kIHNlcmllcyBjYW4gbGFuZC4KKworICogRXJyb3IgaGFuZGxpbmcgaW4gdGhlIGNvZGVwYXRocyB0aGF0IHVwZGF0ZXMgcmVmcyBoYXMgYmVlbgorICAgaW1wcm92ZWQuCisKKyAqIFRoZSBBUEkgdG8gaXRlcmF0ZSBvdmVyIGFsbCB0aGUgcmVmcyAoaS5lLiBmb3JfZWFjaF9yZWYoKSwgZXRjLikKKyAgIGhhcyBiZWVuIHJldmFtcGVkLgorCisgKiBUaGUgaGFuZGxpbmcgb2YgdGhlICJ0ZXh0PWF1dG8iIGF0dHJpYnV0ZSBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAkIGVjaG8gIiogdGV4dD1hdXRvIGVvbD1jcmxmIiA+LmdpdGF0dHJpYnV0ZXMKKyAgIHVzZWQgdG8gaGF2ZSB0aGUgc2FtZSBlZmZlY3QgYXMKKyAgICQgZWNobyAiKiB0ZXh0IGVvbD1jcmxmIiA+LmdpdGF0dHJpYnV0ZXMKKyAgIGkuZS4gZGVjbGFyaW5nIGFsbCBmaWxlcyBhcmUgdGV4dCAoaWdub3JpbmcgImF1dG8iKS4gIFRoZQorICAgY29tYmluYXRpb24gaGFzIGJlZW4gZml4ZWQgdG8gYmUgZXF1aXZhbGVudCB0byBkb2luZworICAgJCBnaXQgY29uZmlnIGNvcmUuYXV0b2NybGYgdHJ1ZQorCisgKiBEb2N1bWVudGF0aW9uIGhhcyBiZWVuIHVwZGF0ZWQgdG8gc2hvdyBiZXR0ZXIgZXhhbXBsZSB1c2FnZQorICAgb2YgdGhlIHVwZGF0ZWQgInRleHQ9YXV0byIgYXR0cmlidXRlLgorCisgKiBBIGZldyB0ZXN0cyB0aGF0IHNwZWNpZmljYWxseSB0YXJnZXQgImdpdCByZWJhc2UgLWkiIGhhdmUgYmVlbgorICAgYWRkZWQuCisKKyAqIER1bWIgaHR0cCB0cmFuc3BvcnQgb24gdGhlIGNsaWVudCBzaWRlIGhhcyBiZWVuIG9wdGltaXplZC4KKyAgIChtZXJnZSBlY2JhMTk1IGV3L2h0dHAtd2Fsa2VyIGxhdGVyIHRvIG1haW50KS4KKworICogVXNlcnMgb2YgdGhlIHBhcnNlX29wdGlvbnNfY29uY2F0KCkgQVBJIGZ1bmN0aW9uIG5lZWQgdG8gYWxsb2NhdGUKKyAgIGV4dHJhIHNsb3RzIGluIGFkdmFuY2UgYW5kIGZpbGwgdGhlbSB3aXRoIE9QVF9FTkQoKSB3aGVuIHRoZXkgd2FudAorICAgdG8gZGVjaWRlIHRoZSBzZXQgb2Ygc3VwcG9ydGVkIG9wdGlvbnMgZHluYW1pY2FsbHksIHdoaWNoIG1ha2VzIHRoZQorICAgY29kZSBlcnJvci1wcm9uZSBhbmQgaGFyZCB0byByZWFkLiAgVGhpcyBoYXMgYmVlbiBjb3JyZWN0ZWQgYnkgdHdlYWtpbmcKKyAgIHRoZSBBUEkgdG8gYWxsb2NhdGUgYW5kIHJldHVybiBhIG5ldyBjb3B5IG9mICJzdHJ1Y3Qgb3B0aW9uIiBhcnJheS4KKworICogImdpdCBmZXRjaCIgZXhjaGFuZ2VzIGJhdGNoZWQgaGF2ZS9hY2sgbWVzc2FnZXMgYmV0d2VlbiB0aGUgc2VuZGVyCisgICBhbmQgdGhlIHJlY2VpdmVyLCBpbml0aWFsbHkgZG91YmxpbmcgZXZlcnkgdGltZSBhbmQgdGhlbiBmYWxsaW5nCisgICBiYWNrIHRvIGVubGFyZ2UgdGhlIHdpbmRvdyBzaXplIGxpbmVhcmx5LiAgVGhlICJzbWFydCBodHRwIgorICAgdHJhbnNwb3J0LCBiZWluZyBhbiBoYWxmLWR1cGxleCBwcm90b2NvbCwgb3V0Z3Jvd3MgdGhlIHByZXNldCBsaW1pdAorICAgdG9vIHF1aWNrbHkgYW5kIGJlY29tZXMgaW5lZmZpY2llbnQgd2hlbiBpbnRlcmFjdGluZyB3aXRoIGEgbGFyZ2UKKyAgIHJlcG9zaXRvcnkuICBUaGUgaW50ZXJuYWwgbWVjaGFuaXNtIGxlYXJuZWQgdG8gZ3JvdyB0aGUgd2luZG93IHNpemUKKyAgIG1vcmUgYWdncmVzc2l2ZWx5IHdoZW4gd29ya2luZyB3aXRoIHRoZSAic21hcnQgaHR0cCIgdHJhbnNwb3J0LgorCisgKiBUZXN0cyBmb3IgImdpdCBzdm4iIGhhdmUgYmVlbiB0YXVnaHQgdG8gcmV1c2UgdGhlIGxpYi1odHRwZCB0ZXN0CisgICBpbmZyYXN0cnVjdHVyZSB3aGVuIHRlc3RpbmcgdGhlIHN1YnZlcnNpb24gaW50ZWdyYXRpb24gdGhhdAorICAgaW50ZXJhY3RzIHdpdGggc3VidmVyc2lvbiByZXBvc2l0b3JpZXMgc2VydmVkIG92ZXIgdGhlIGh0dHA6Ly8KKyAgIHByb3RvY29sLgorICAgKG1lcmdlIGE4YTVkMjUgZXcvZ2l0LXN2bi1odHRwLXRlc3RzIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBwYWNrLW9iamVjdHMiIGhhcyBhIGZldyBvcHRpb25zIHRoYXQgdGVsbCBpdCBub3QgdG8gcGFjaworICAgb2JqZWN0cyBmb3VuZCBpbiBjZXJ0YWluIHBhY2tmaWxlcywgd2hpY2ggcmVxdWlyZSBpdCB0byBzY2FuIC5pZHgKKyAgIGZpbGVzIG9mIGFsbCBhdmFpbGFibGUgcGFja3MuICBUaGUgY29kZXBhdGhzIGludm9sdmVkIGluIHRoZXNlCisgICBvcGVyYXRpb25zIGhhdmUgYmVlbiBvcHRpbWl6ZWQgZm9yIGEgY29tbW9uIGNhc2Ugb2Ygbm90IGhhdmluZyBhbnkKKyAgIG5vbi1sb2NhbCBwYWNrIGFuZC9vciBhbnkgLmtlcHQgcGFjay4KKworICogVGhlIHQzNzAwIHRlc3QgYWJvdXQgImFkZCAtLWNobW9kPS14IiBoYXZlIGJlZW4gbWFkZSBhIGJpdCBtb3JlCisgICByb2J1c3QgYW5kIGdlbmVyYWxseSBjbGVhbmVkIHVwLgorICAgKG1lcmdlIDc2NmNkYzQgaWIvdDM3MDAtYWRkLWNobW9kLXgtdXBkYXRlcyBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBidWlsZCBwcm9jZWR1cmUgbGVhcm5lZCBQQUdFUl9FTlYga25vYiB0aGF0IGxpc3RzIHdoYXQgZGVmYXVsdAorICAgZW52aXJvbm1lbnQgdmFyaWFibGUgc2V0dGluZ3MgdG8gZXhwb3J0IGZvciBwb3B1bGFyIHBhZ2Vycy4gIFRoaXMKKyAgIG1lY2hhbmlzbSBpcyB1c2VkIHRvIHR3ZWFrIHRoZSBkZWZhdWx0IHNldHRpbmdzIHRvIE1PUkUgb24gRnJlZUJTRC4KKyAgIChtZXJnZSA5OTViYzIyIGV3L2J1aWxkLXRpbWUtcGFnZXItdHdlYWtzIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGh0dHAtYmFja2VuZCAodGhlIHNlcnZlci1zaWRlIGNvbXBvbmVudCBvZiBzbWFydC1odHRwCisgICB0cmFuc3BvcnQpIHVzZWQgdG8gdHJpY2tsZSB0aGUgSFRUUCBoZWFkZXIgb25lIGF0IGEgdGltZS4gIE5vdworICAgdGhlc2Ugd3JpdGUoMilzIGFyZSBiYXRjaGVkLgorICAgKG1lcmdlIGIzNjA0NWMgZXcvaHR0cC1iYWNrZW5kLWJhdGNoLWhlYWRlcnMgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBXaGVuICJnaXQgcmViYXNlIiB0cmllcyB0byBjb21wYXJlIHNldCBvZiBjaGFuZ2VzIG9uIHRoZSB1cGRhdGVkCisgICB1cHN0cmVhbSBhbmQgb3VyIG93biBicmFuY2gsIGl0IGNvbXB1dGVzIHBhdGNoLWlkIGZvciBhbGwgb2YgdGhlc2UKKyAgIGNoYW5nZXMgYW5kIGF0dGVtcHRzIHRvIGZpbmQgbWF0Y2hlcy4gVGhpcyBoYXMgYmVlbiBvcHRpbWl6ZWQgYnkKKyAgIGxhemlseSBjb21wdXRpbmcgdGhlIGZ1bGwgcGF0Y2gtaWQgKHdoaWNoIGlzIGV4cGVuc2l2ZSkgdG8gYmUKKyAgIGNvbXBhcmVkIG9ubHkgZm9yIGNoYW5nZXMgdGhhdCB0b3VjaCB0aGUgc2FtZSBzZXQgb2YgcGF0aHMuCisgICAobWVyZ2UgYmE2NzUwNCBrdy9wYXRjaC1pZHMtb3B0aW0gbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBBIGhhbmRmdWwgb2YgdGVzdHMgdGhhdCB3ZXJlIGJyb2tlbiB1bmRlciBnZXR0ZXh0LXBvaXNvbiBidWlsZCBoYXZlCisgICBiZWVuIGZpeGVkLgorCisgKiBUaGUgcmVjZW50IGkxOG4gcGF0Y2ggd2UgYWRkZWQgZHVyaW5nIHRoaXMgY3ljbGUgZGlkIGEgYml0IHRvbyBtdWNoCisgICByZWZhY3RvcmluZyBvZiB0aGUgbWVzc2FnZXMgdG8gYXZvaWQgd29yZC1sZWdvczsgdGhlIHJlcGV0aXRpb24gaGFzCisgICBiZWVuIHJlZHVjZWQgdG8gaGVscCB0cmFuc2xhdG9ycy4KKworCitBbHNvIGNvbnRhaW5zIHZhcmlvdXMgZG9jdW1lbnRhdGlvbiB1cGRhdGVzIGFuZCBjb2RlIGNsZWFuLXVwcy4KKworCitGaXhlcyBzaW5jZSB2Mi45CistLS0tLS0tLS0tLS0tLS0tCisKK1VubGVzcyBvdGhlcndpc2Ugbm90ZWQsIGFsbCB0aGUgZml4ZXMgc2luY2UgdjIuOCBpbiB0aGUgbWFpbnRlbmFuY2UKK3RyYWNrIGFyZSBjb250YWluZWQgaW4gdGhpcyByZWxlYXNlIChzZWUgdGhlIG1haW50ZW5hbmNlIHJlbGVhc2VzJworbm90ZXMgZm9yIGRldGFpbHMpLgorCisgKiBUaGUgY29tbWFuZHMgaW4gYGdpdCBsb2dgIGZhbWlseSB0YWtlICVDKGF1dG8pIGluIGEgY3VzdG9tIGZvcm1hdAorICAgc3RyaW5nLiAgVGhpcyB1bmNvbmRpdGlvbmFsbHkgdHVybmVkIHRoZSBjb2xvciBvbiwgaWdub3JpbmcKKyAgIC0tbm8tY29sb3Igb3Igd2l0aCAtLWNvbG9yPWF1dG8gd2hlbiB0aGUgb3V0cHV0IGlzIG5vdCBjb25uZWN0ZWQgdG8KKyAgIGEgdHR5OyB0aGlzIHdhcyBjb3JyZWN0ZWQgdG8gbWFrZSB0aGUgZm9ybWF0IHRydWx5IGJlaGF2ZSBhcworICAgImF1dG8iLgorCisgKiAiZ2l0IHJldi1saXN0IC0tY291bnQiIHdob3NlIHdhbGstbGVuZ3RoIGlzIGxpbWl0ZWQgd2l0aCAiLW4iCisgICBvcHRpb24gZGlkIG5vdCB3b3JrIHdlbGwgd2l0aCB0aGUgY291bnRpbmcgb3B0aW1pemVkIHRvIGxvb2sgYXQgdGhlCisgICBiaXRtYXAgaW5kZXguCisKKyAqICJnaXQgc2hvdyAtVyIgKGV4dGVuZCBodW5rcyB0byBjb3ZlciB0aGUgZW50aXJlIGZ1bmN0aW9uLCBkZWxpbWl0ZWQKKyAgIGJ5IGxpbmVzIHRoYXQgbWF0Y2ggdGhlICJmdW5jbmFtZSIgcGF0dGVybikgdXNlZCB0byBzaG93IHRoZSBlbnRpcmUKKyAgIGZpbGUgd2hlbiBhIGNoYW5nZSBhZGRlZCBhbiBlbnRpcmUgZnVuY3Rpb24gYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSwKKyAgIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorCisgKiBUaGUgZG9jdW1lbnRhdGlvbiBzZXQgaGFzIGJlZW4gdXBkYXRlZCBzbyB0aGF0IGxpdGVyYWwgY29tbWFuZHMsCisgICBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBhbmQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBjb25zaXN0ZW50bHkKKyAgIHR5cGVzZXQgaW4gZml4ZWQtd2lkdGggZm9udCBhbmQgYm9sZCBpbiBtYW5wYWdlcy4KKworICogImdpdCBzdm4gcHJvcHNldCIgc3ViY29tbWFuZCB0aGF0IHdhcyBhZGRlZCBpbiAyLjMgZGF5cyBpcworICAgZG9jdW1lbnRlZCBub3cuCisKKyAqIFRoZSBkb2N1bWVudGF0aW9uIHRyaWVzIHRvIGNvbnNpc3RlbnRseSBzcGVsbCAiR1BHIjsgd2hlbgorICAgcmVmZXJyaW5nIHRvIHRoZSBzcGVjaWZpYyBwcm9ncmFtIG5hbWUsICJncGciIGlzIHVzZWQuCisKKyAqICJnaXQgcmVmbG9nIiBzdG9wcGVkIHVwb24gc2VlaW5nIGFuIGVudHJ5IHRoYXQgZGVub3RlcyBhIGJyYW5jaAorICAgY3JlYXRpb24gZXZlbnQgKGFrYSAidW5ib3JuIiksIHdoaWNoIG1hZGUgaXQgYXBwZWFyIGFzIGlmIHRoZQorICAgcmVmbG9nIHdhcyB0cnVuY2F0ZWQuCisKKyAqIFRoZSBnaXQtcHJvbXB0IHNjcmlwdGxldCAoaW4gY29udHJpYi8pIHdhcyBub3QgZnJpZW5kbHkgd2l0aCB0aG9zZQorICAgd2hvIHVzZXMgInNldCAtdSIsIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorCisgKiBjb21wYXQvcmVnZXggY29kZSBkaWQgbm90IGNsZWFubHkgY29tcGlsZS4KKworICogQSBjb2RlcGF0aCB0aGF0IHVzZWQgYWxsb2NhKDMpIHRvIHBsYWNlIGFuIHVuYm91bmRlZCBhbW91bnQgb2YgZGF0YQorICAgb24gdGhlIHN0YWNrIGhhcyBiZWVuIHVwZGF0ZWQgdG8gYXZvaWQgZG9pbmcgc28uCisKKyAqICJnaXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tY2htb2Q9K3ggZmlsZSIgbWF5IGJlIHVzYWJsZSBhcyBhbiBlc2NhcGUKKyAgIGhhdGNoLCBidXQgbm90IGEgZnJpZW5kbHkgdGhpbmcgdG8gZm9yY2UgZm9yIHBlb3BsZSB3aG8gZG8gbmVlZCB0bworICAgdXNlIGl0IHJlZ3VsYXJseS4gICJnaXQgYWRkIC0tY2htb2Q9K3ggZmlsZSIgY2FuIGJlIHVzZWQgaW5zdGVhZC4KKworICogQnVpbGQgaW1wcm92ZW1lbnRzIGZvciBnbm9tZS1rZXlyaW5nIChpbiBjb250cmliLykKKworICogImdpdCBzdGF0dXMiIHVzZWQgdG8gc2F5ICJ3b3JraW5nIGRpcmVjdG9yeSIgd2hlbiBpdCBtZWFudCAid29ya2luZworICAgdHJlZSIuCisKKyAqIENvbW1lbnRzIGFib3V0IG1pc2JlaGF2aW5nIEZyZWVCU0Qgc2hlbGxzIGhhdmUgYmVlbiBjbGFyaWZpZWQgd2l0aAorICAgdGhlIHZlcnNpb24gbnVtYmVyICg5LnggYW5kIGJlZm9yZSBhcmUgYnJva2VuLCBuZXdlciBvbmVzIGFyZSBPSykuCisKKyAqICJnaXQgY2hlcnJ5LXBpY2sgQSIgd29ya2VkIG9uIGFuIHVuYm9ybiBicmFuY2gsIGJ1dCAiZ2l0CisgICBjaGVycnktcGljayBBLi5CIiBkaWRuJ3QuCisKKyAqIEZpeCBhbiB1bmludGVuZGVkIHJlZ3Jlc3Npb24gaW4gdjIuOSB0aGF0IGJyZWFrcyAiY2xvbmUgLS1kZXB0aCIKKyAgIHRoYXQgcmVjdXJzZXMgZG93biB0byBzdWJtb2R1bGVzIGJ5IGZvcmNpbmcgdGhlIHN1Ym1vZHVsZXMgdG8gYWxzbworICAgYmUgY2xvbmVkIHNoYWxsb3dseSwgd2hpY2ggbWFueSBzZXJ2ZXIgaW5zdGFuY2VzIHRoYXQgaG9zdCB1cHN0cmVhbQorICAgb2YgdGhlIHN1Ym1vZHVsZXMgYXJlIG5vdCBwcmVwYXJlZCBmb3IuCisKKyAqIEZpeCB1bm5lY2Vzc2FyaWx5IHdhc3RlIGluIHRoZSBpZGlvbWF0aWMgdXNlIG9mICc6ICR7VkFSPWRlZmF1bHR9JworICAgdG8gc2V0IHRoZSBkZWZhdWx0IHZhbHVlLCB3aXRob3V0IGVuY2xvc2luZyBpdCBpbiBkb3VibGUgcXVvdGVzLgorCisgKiBTb21lIHBsYXRmb3JtLXNwZWNpZmljIGNvZGUgaGFkIG5vbi1BTlNJIHN0cmljdCBkZWNsYXJhdGlvbnMgb2YgQworICAgZnVuY3Rpb25zIHRoYXQgZG8gbm90IHRha2UgYW55IHBhcmFtZXRlcnMsIHdoaWNoIGhhcyBiZWVuCisgICBjb3JyZWN0ZWQuCisKKyAqIFRoZSBpbnRlcm5hbCBjb2RlIHVzZWQgdG8gc2hvdyBsb2NhbCB0aW1lem9uZSBvZmZzZXQgaXMgbm90CisgICBwcmVwYXJlZCB0byBoYW5kbGUgdGltZXN0YW1wcyBiZXlvbmQgeWVhciAyMTAwLCBhbmQgZ2F2ZSBhCisgICBib2d1cyBvZmZzZXQgdmFsdWUgdG8gdGhlIGNhbGxlci4gIFVzZSBhIG1vcmUgYmVuaWduIGxvb2tpbmcKKyAgICswMDAwIGluc3RlYWQgYW5kIGxldCAiZ2l0IGxvZyIgZ29pbmcgaW4gc3VjaCBhIGNhc2UsIGluc3RlYWQKKyAgIG9mIGFib3J0aW5nLgorCisgKiBPbmUgYW1vbmcgZm91ciBpbnZvY2F0aW9ucyBvZiByZWFkbGluaygxKSBpbiBvdXIgdGVzdCBzdWl0ZSBoYXMKKyAgIGJlZW4gcmV3cml0dGVuIHNvIHRoYXQgdGhlIHRlc3QgY2FuIHJ1biBvbiBzeXN0ZW1zIHdpdGhvdXQgdGhlCisgICBjb21tYW5kIChvdGhlcnMgYXJlIGluIHZhbGdyaW5kIHRlc3QgZnJhbWV3b3JrIGFuZCB0OTgwMikuCisKKyAqIHQvcGVyZiBuZWVkcyAvdXNyL2Jpbi90aW1lIHdpdGggR05VIGV4dGVuc2lvbjsgdGhlIGludm9jYXRpb24gb2YgaXQKKyAgIGlzIHVwZGF0ZWQgdG8gImd0aW1lIiBvbiBEYXJ3aW4uCisKKyAqIEEgYnVnLCB3aGljaCBjYXVzZWQgImdpdCBwNCIgd2hpbGUgcnVubmluZyB1bmRlciB2ZXJib3NlIG1vZGUgdG8KKyAgIHJlcG9ydCBwYXRocyB0aGF0IGFyZSBvbWl0dGVkIGR1ZSB0byBicmFuY2ggcHJlZml4IGluY29ycmVjdGx5LCBoYXMKKyAgIGJlZW4gZml4ZWQ7IHRoZSBjb21tYW5kIHNhaWQgIklnbm9yaW5nIGZpbGUgb3V0c2lkZSBvZiBwcmVmaXgiIGZvcgorICAgcGF0aHMgdGhhdCBhcmUgX2luc2lkZV8uCisKKyAqIFRoZSB0b3AgbGV2ZWwgZG9jdW1lbnRhdGlvbiAiZ2l0IGhlbHAgZ2l0IiBzdGlsbCBwb2ludGVkIGF0IHRoZQorICAgZG9jdW1lbnRhdGlvbiBzZXQgaG9zdGVkIGF0IG5vdy1kZWZ1bmN0IGdvb2dsZS1jb2RlIHJlcG9zaXRvcnkuCisgICBVcGRhdGUgaXQgdG8gcG9pbnQgdG8gaHR0cHM6Ly9naXQuZ2l0aHViLmlvL2h0bWxkb2NzL2dpdC5odG1sCisgICBpbnN0ZWFkLgorCisgKiBBIGhlbHBlciBmdW5jdGlvbiB0aGF0IHRha2VzIHRoZSBjb250ZW50cyBvZiBhIGNvbW1pdCBvYmplY3QgYW5kCisgICBmaW5kcyBpdHMgc3ViamVjdCBsaW5lIGRpZCBub3QgaWdub3JlIGxlYWRpbmcgYmxhbmsgbGluZXMsIGFzIGlzCisgICBjb21tb25seSBkb25lIGJ5IG90aGVyIGNvZGVwYXRocy4gIE1ha2UgaXQgaWdub3JlIGxlYWRpbmcgYmxhbmsKKyAgIGxpbmVzIHRvIG1hdGNoLgorCisgKiBGb3IgYSBsb25nIHRpbWUsIHdlIGNhcnJpZWQgYW4gaW4tY29kZSBjb21tZW50IHRoYXQgc2FpZCBvdXIKKyAgIGNvbG9yZWQgb3V0cHV0IHdvdWxkIHdvcmsgb25seSB3aGVuIHdlIHVzZSBmcHJpbnRmL2ZwdXRzIG9uCisgICBXaW5kb3dzLCB3aGljaCBubyBsb25nZXIgaXMgdGhlIGNhc2UgZm9yIHRoZSBwYXN0IGZldyB5ZWFycy4KKworICogImdjLmF1dG9QYWNrTGltaXQiIHdoZW4gc2V0IHRvIDEgc2hvdWxkIG5vdCB0cmlnZ2VyIGEgcmVwYWNraW5nCisgICB3aGVuIHRoZXJlIGlzIG9ubHkgb25lIHBhY2ssIGJ1dCB0aGUgY29kZSBjb3VudGVkIHBvb3JseSBhbmQgZGlkCisgICBzby4KKworICogQWRkIGEgdGVzdCB0byBzcGVjaWZ5IHRoZSBkZXNpcmVkIGJlaGF2aW91ciB0aGF0IGN1cnJlbnRseSBpcyBub3QKKyAgIGF2YWlsYWJsZSBpbiAiZ2l0IHJlYmFzZSAtWHN1YnRyZWU9Li4uIi4KKworICogTW9yZSBtYXJrLXVwIHVwZGF0ZXMgdG8gdHlwZXNldCBzdHJpbmdzIHRoYXQgYXJlIGV4cGVjdGVkIHRvCisgICBsaXRlcmFsbHkgdHlwZWQgYnkgdGhlIGVuZCB1c2VyIGluIGZpeGVkLXdpZHRoIGZvbnQuCisKKyAqICJnaXQgY29tbWl0IC0tYW1lbmQgLS1hbGxvdy1lbXB0eS1tZXNzYWdlIC1TIiBmb3IgYSBjb21taXQgd2l0aG91dAorICAgYW55IG1lc3NhZ2UgYm9keSBjb3VsZCBoYXZlIG1pc2lkZW50aWZpZWQgd2hlcmUgdGhlIGhlYWRlciBvZiB0aGUKKyAgIGNvbW1pdCBvYmplY3QgZW5kcy4KKworICogImdpdCByZWJhc2UgLWkgLS1hdXRvc3Rhc2giIGRpZCBub3QgcmVzdG9yZSB0aGUgYXV0by1zdGFzaGVkIGNoYW5nZQorICAgd2hlbiB0aGUgb3BlcmF0aW9uIHdhcyBhYm9ydGVkLgorCisgKiBHaXQgZG9lcyBub3Qga25vdyB3aGF0IHRoZSBjb250ZW50cyBpbiB0aGUgaW5kZXggc2hvdWxkIGJlIGZvciBhCisgICBwYXRoIGFkZGVkIHdpdGggImdpdCBhZGQgLU4iIHlldCwgc28gImdpdCBncmVwIC0tY2FjaGVkIiBzaG91bGQgbm90CisgICBzaG93IGhpdHMgKG9yIHNob3cgbGFjayBvZiBoaXRzLCB3aXRoIC1MKSBpbiBzdWNoIGEgcGF0aCwgYnV0IHRoYXQKKyAgIGxvZ2ljIGRvZXMgbm90IGFwcGx5IHRvICJnaXQgZ3JlcCIsIGkuZS4gc2VhcmNoaW5nIGluIHRoZSB3b3JraW5nCisgICB0cmVlIGZpbGVzLiAgQnV0IHdlIGRpZCBzbyBieSBtaXN0YWtlLCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqICJnaXQgYmxhbWUgLU0iIG1pc3NlZCBhIHNpbmdsZSBsaW5lIHRoYXQgd2FzIG1vdmVkIHdpdGhpbiB0aGUgZmlsZS4KKworICogRml4IHJlY2VudGx5IGludHJvZHVjZWQgY29kZXBhdGhzIHRoYXQgYXJlIGludm9sdmVkIGluIHBhcmFsbGVsCisgICBzdWJtb2R1bGUgb3BlcmF0aW9ucywgd2hpY2ggZ2F2ZSB1cCBvbiByZWFkaW5nIHRvbyBlYXJseSwgYW5kCisgICBjb3VsZCBoYXZlIHdhc3RlZCBDUFUgd2hpbGUgYXR0ZW1wdGluZyB0byB3cml0ZSB1bmRlciBhIGNvcm5lcgorICAgY2FzZSBjb25kaXRpb24uCisKKyAqICJnaXQgZ3JlcCAtaSIgaGFzIGJlZW4gdGF1Z2h0IHRvIGZvbGQgY2FzZSBpbiBub24tYXNjaWkgbG9jYWxlcworICAgY29ycmVjdGx5LgorCisgKiBBIHRlc3QgdGhhdCB1bmNvbmRpdGlvbmFsbHkgdXNlZCAibWt0ZW1wIiBsZWFybmVkIHRoYXQgdGhlIGNvbW1hbmQKKyAgIGlzIG5vdCBuZWNlc3NhcmlseSBhdmFpbGFibGUgZXZlcnl3aGVyZS4KKworICogVGhlcmUgYXJlIGNlcnRhaW4gaG91c2Uta2VlcGluZyB0YXNrcyB0aGF0IG5lZWQgdG8gYmUgcGVyZm9ybWVkIGF0CisgICB0aGUgdmVyeSBiZWdpbm5pbmcgb2YgYW55IEdpdCBwcm9ncmFtLCBhbmQgcHJvZ3JhbXMgdGhhdCBhcmUgbm90CisgICBidWlsdC1pbiBjb21tYW5kcyBoYWQgdG8gZG8gdGhlbSBleGFjdGx5IHRoZSBzYW1lIHdheSBhcyAiZ2l0IgorICAgcG90dHkgZG9lcy4gIEl0IHdhcyBlYXN5IHRvIG1ha2UgbWlzdGFrZXMgaW4gb25lLW9mZiBzdGFuZGFsb25lCisgICBwcm9ncmFtcyAobGlrZSB0ZXN0IGhlbHBlcnMpLiAgQSBjb21tb24gIm1haW4oKSIgZnVuY3Rpb24gdGhhdAorICAgY2FsbHMgY21kX21haW4oKSBvZiBpbmRpdmlkdWFsIHByb2dyYW0gaGFzIGJlZW4gaW50cm9kdWNlZCB0bworICAgbWFrZSBpdCBoYXJkZXIgdG8gbWFrZSBtaXN0YWtlcy4KKyAgIChtZXJnZSBkZTYxY2ViIGprL2NvbW1vbi1tYWluIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIHRlc3QgZnJhbWV3b3JrIGxlYXJuZWQgYSBuZXcgaGVscGVyIHRlc3RfbWF0Y2hfc2lnbmFsIHRvCisgICBjaGVjayBhbiBleGl0IGNvZGUgZnJvbSBnZXR0aW5nIGtpbGxlZCBieSBhbiBleHBlY3RlZCBzaWduYWwuCisKKyAqIEdlbmVyYWwgY29kZSBjbGVhbi11cCBhcm91bmQgYSBoZWxwZXIgZnVuY3Rpb24gdG8gd3JpdGUgYQorICAgc2luZ2xlLWxpbmVyIHRvIGEgZmlsZS4KKyAgIChtZXJnZSA3ZWI2ZTEwIGprL3dyaXRlLWZpbGUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBPbmUgcGFydCBvZiAiZ2l0IGFtIiBoYWQgYW4gb2RkYmFsbCBoZWxwZXIgZnVuY3Rpb24gdGhhdCBjYWxsZWQKKyAgIHN0dWZmIGZyb20gb3V0c2lkZSAiaGlzIiBhcyBvcHBvc2VkIHRvIGNhbGxpbmcgd2hhdCB3ZSBoYXZlICJvdXJzIiwKKyAgIHdoaWNoIHdhcyBub3QgZ2VuZGVyLW5ldXRyYWwgYW5kIGFsc28gaW5jb25zaXN0ZW50IHdpdGggdGhlIHJlc3Qgb2YKKyAgIHRoZSBzeXN0ZW0gd2hlcmUgb3V0c2lkZSBzdHVmZiBpcyB1c3VhbGwgY2FsbGVkICJ0aGVpcnMiIGluCisgICBjb250cmFzdCB0byAib3VycyIuCisKKyAqICJnaXQgYmxhbWUgZmlsZSIgYWxsb3dlZCB0aGUgbGluZWFnZSBvZiBsaW5lcyBpbiB0aGUgdW5jb21taXR0ZWQsCisgICB1bmFkZGVkIGNvbnRlbnRzIG9mICJmaWxlIiB0byBiZSBpbnNwZWN0ZWQsIGJ1dCBpdCByZWZ1c2VkIHdoZW4KKyAgICJmaWxlIiBkaWQgbm90IGFwcGVhciBpbiB0aGUgY3VycmVudCBjb21taXQuICBXaGVuICJmaWxlIiB3YXMKKyAgIGNyZWF0ZWQgYnkgcmVuYW1pbmcgYW4gZXhpc3RpbmcgZmlsZSAoYnV0IHRoZSBjaGFuZ2UgaGFzIG5vdCBiZWVuCisgICBjb21taXR0ZWQpLCB0aGlzIHJlc3RyaWN0aW9uIHdhcyB1bm5lY2Vzc2FyaWx5IHRpZ2h0LgorCisgKiAiZ2l0IGFkZCAtTiBkaXIvZmlsZSAmJiBnaXQgd3JpdGUtdHJlZSIgcHJvZHVjZWQgYW4gaW5jb3JyZWN0IHRyZWUKKyAgIHdoZW4gdGhlcmUgYXJlIG90aGVyIHBhdGhzIGluIHRoZSBzYW1lIGRpcmVjdG9yeSB0aGF0IHNvcnRzIGFmdGVyCisgICAiZmlsZSIuCisKKyAqICJnaXQgZmV0Y2ggaHR0cDovL3VzZXI6cGFzc0Bob3N0L3JlcG8uLi4iIHNjcnViYmVkIHRoZSB1c2VyaW5mbworICAgcGFydCwgYnV0ICJnaXQgcHVzaCIgZGlkbid0LgorCisgKiAiZ2l0IG1lcmdlIiB3aXRoIHJlbm9ybWFsaXphdGlvbiBkaWQgbm90IHdvcmsgd2VsbCB3aXRoCisgICBtZXJnZS1yZWN1cnNpdmUsIGR1ZSB0byAic2FmZXIgY3JsZiIgY29udmVyc2lvbiBraWNraW5nIGluIHdoZW4gaXQKKyAgIHNob3VsZG4ndC4KKyAgIChtZXJnZSAxMzM1ZDc2IGpjL3Jlbm9ybWFsaXplLW1lcmdlLWtpbGwtc2FmZXItY3JsZiBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSB1c2Ugb2Ygc3RyYnVmIGluICJnaXQgcm0iIHRvIGJ1aWxkIGZpbGVuYW1lIHRvIHJlbW92ZSB3YXMgYSBiaXQKKyAgIHN1Ym9wdGltYWwsIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorCisgKiBBbiBhZ2Ugb2xkIGJ1ZyB0aGF0IGNhdXNlZCAiZ2l0IGRpZmYgLS1pZ25vcmUtc3BhY2UtYXQtZW9sIgorICAgbWlzYmVoYXZlIGhhcyBiZWVuIGZpeGVkLgorCisgKiAiZ2l0IG5vdGVzIG1lcmdlIiBoYWQgYSBjb2RlIHRvIHNlZSBpZiBhIHBhdGggZXhpc3RzIChhbmQgZmFpbHMgaWYKKyAgIGl0IGRvZXMpIGFuZCB0aGVuIG9wZW4gdGhlIHBhdGggZm9yIHdyaXRpbmcgKHdoZW4gaXQgZG9lc24ndCkuCisgICBSZXBsYWNlIGl0IHdpdGggb3BlbiB3aXRoIE9fRVhDTC4KKworICogImdpdCBwYWNrLW9iamVjdHMiIGFuZCAiZ2l0IGluZGV4LXBhY2siIG1vc3RseSBvcGVyYXRlIHdpdGggb2ZmX3QKKyAgIHdoZW4gdGFsa2luZyBhYm91dCB0aGUgb2Zmc2V0IG9mIG9iamVjdHMgaW4gYSBwYWNrZmlsZSwgYnV0IHRoZXJlCisgICB3ZXJlIGEgaGFuZGZ1bCBvZiBwbGFjZXMgdGhhdCB1c2VkICJ1bnNpZ25lZCBsb25nIiB0byBob2xkIHRoYXQKKyAgIHZhbHVlLCBsZWFkaW5nIHRvIGFuIHVuaW50ZW5kZWQgdHJ1bmNhdGlvbi4KKworICogUmVjZW50IHVwZGF0ZSB0byAiZ2l0IGRhZW1vbiIgdHJpZXMgdG8gZW5hYmxlIHRoZSBzb2NrZXQtbGV2ZWwKKyAgIEtFRVBBTElWRSwgYnV0IHdoZW4gaXQgaXMgc3Bhd25lZCB2aWEgaW5ldGQsIHRoZSBzdGFuZGFyZCBpbnB1dAorICAgZmlsZSBkZXNjcmlwdG9yIG1heSBub3QgbmVjZXNzYXJpbHkgYmUgY29ubmVjdGVkIHRvIGEgc29ja2V0LgorICAgU3VwcHJlc3MgYW4gRU5PVFNPQ0sgZXJyb3IgZnJvbSBzZXRzb2Nrb3B0KCkuCisKKyAqIFJlY2VudCBGcmVlQlNEIHN0b3BwZWQgbWFraW5nIHBlcmwgYXZhaWxhYmxlIGF0IC91c3IvYmluL3Blcmw7CisgICBzd2l0Y2ggdGhlIGRlZmF1bHQgdGhlIGJ1aWx0LWluIHBhdGggdG8gL3Vzci9sb2NhbC9iaW4vcGVybCBvbiBub3QKKyAgIHRvbyBhbmNpZW50IEZyZWVCU0QgcmVsZWFzZXMuCisKKyAqICJnaXQgY29tbWl0IC0taGVscCIgc2FpZCAiLS1uby12ZXJpZnkiIGlzIG9ubHkgYWJvdXQgc2tpcHBpbmcgdGhlCisgICBwcmUtY29tbWl0IGhvb2ssIGFuZCBmYWlsZWQgdG8gc2F5IHRoYXQgaXQgYWxzbyBza2lwcGVkIHRoZQorICAgY29tbWl0LW1zZyBob29rLgorCisgKiAiZ2l0IG1lcmdlIiBpbiBHaXQgdjIuOSB3YXMgdGF1Z2h0IHRvIGZvcmJpZCBtZXJnaW5nIGFuIHVucmVsYXRlZAorICAgbGluZXMgb2YgaGlzdG9yeSBieSBkZWZhdWx0LCBidXQgdGhhdCBpcyBleGFjdGx5IHRoZSBraW5kIG9mIHRoaW5nCisgICB0aGUgIi0tcmVqb2luIiBtb2RlIG9mICJnaXQgc3VidHJlZSIgKGluIGNvbnRyaWIvKSB3YW50cyB0byBkby4KKyAgICJnaXQgc3VidHJlZSIgaGFzIGJlZW4gdGF1Z2h0IHRvIHVzZSB0aGUgIi0tYWxsb3ctdW5yZWxhdGVkLWhpc3RvcmllcyIKKyAgIG9wdGlvbiB0byBvdmVycmlkZSB0aGUgZGVmYXVsdC4KKworICogVGhlIGJ1aWxkIHByb2NlZHVyZSBmb3IgImdpdCBwZXJzaXN0ZW50LWh0dHBzIiBoZWxwZXIgKGluIGNvbnRyaWIvKQorICAgaGFzIGJlZW4gdXBkYXRlZCBzbyB0aGF0IGl0IGNhbiBiZSBidWlsdCB3aXRoIG1vcmUgcmVjZW50IHZlcnNpb25zCisgICBvZiBHby4KKworICogVGhlcmUgaXMgYW4gb3B0aW1pemF0aW9uIHVzZWQgaW4gImdpdCBkaWZmICR0cmVlQSAkdHJlZUIiIHRvIGJvcnJvdworICAgYW4gYWxyZWFkeSBjaGVja2VkLW91dCBjb3B5IGluIHRoZSB3b3JraW5nIHRyZWUgd2hlbiBpdCBpcyBrbm93biB0bworICAgYmUgdGhlIHNhbWUgYXMgdGhlIGJsb2IgYmVpbmcgY29tcGFyZWQsIGV4cGVjdGluZyB0aGF0IG9wZW4vbW1hcCBvZgorICAgc3VjaCBhIGZpbGUgaXMgZmFzdGVyIHRoYW4gcmVhZGluZyBpdCBmcm9tIHRoZSBvYmplY3Qgc3RvcmUsIHdoaWNoCisgICBpbnZvbHZlcyBpbmZsYXRpbmcgYW5kIGFwcGx5aW5nIGRlbHRhLiAgVGhpcyBob3dldmVyIGtpY2tlZCBpbiBldmVuCisgICB3aGVuIHRoZSBjaGVja2VkLW91dCBjb3B5IG5lZWRzIHRvIGdvIHRocm91Z2ggdGhlIGNvbnZlcnQtdG8tZ2l0CisgICBjb252ZXJzaW9uIChpbmNsdWRpbmcgdGhlIGNsZWFuIGZpbHRlciksIHdoaWNoIGRlZmVhdHMgdGhlIHdob2xlCisgICBwb2ludCBvZiB0aGUgb3B0aW1pemF0aW9uLiAgVGhlIG9wdGltaXphdGlvbiBoYXMgYmVlbiBkaXNhYmxlZCB3aGVuCisgICB0aGUgY29udmVyc2lvbiBpcyBuZWNlc3NhcnkuCisKKyAqICJnaXQgLWMgZ3JlcC5wYXR0ZXJuVHlwZT1leHRlbmRlZCBsb2cgLS1iYXNpYy1yZWdleHAiIG1pc2JlaGF2ZWQKKyAgIGJlY2F1c2UgdGhlIGludGVybmFsIEFQSSB0byBhY2Nlc3MgdGhlIGdyZXAgbWFjaGluZXJ5IHdhcyBub3QKKyAgIGRlc2lnbmVkIHdlbGwuCisKKyAqIFdpbmRvd3MgcG9ydCB3YXMgZmFpbGluZyBzb21lIHRlc3RzIGluIHQ0MTMwLCBkdWUgdG8gdGhlIGxhY2sgb2YKKyAgIGludW0gaW4gdGhlIHJldHVybmVkIHZhbHVlcyBieSBpdHMgbHN0YXQoMikgZW11bGF0aW9uLgorCisgKiBUaGUgcmVmbG9nIG91dHB1dCBmb3JtYXQgaXMgZG9jdW1lbnRlZCBiZXR0ZXIsIGFuZCBhIG5ldyBmb3JtYXQKKyAgIC0tZGF0ZT11bml4IHRvIHJlcG9ydCB0aGUgc2Vjb25kcy1zaW5jZS1lcG9jaCAod2l0aG91dCB0aW1lem9uZSkKKyAgIGhhcyBiZWVuIGFkZGVkLgorICAgKG1lcmdlIDQ0MmY2ZmQgamsvcmVmbG9nLWRhdGUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGRpZmZ0b29sIDxwYXRocz4uLi4iIHN0YXJ0ZWQgaW4gYSBzdWJkaXJlY3RvcnkgZmFpbGVkIHRvCisgICBpbnRlcnByZXQgdGhlIHBhdGhzIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LCB3aGljaCBoYXMgYmVlbgorICAgZml4ZWQuCisKKyAqIFRoZSBjaGFyYWN0ZXJzIGluIHRoZSBsYWJlbCBzaG93biBmb3IgdGFncy9yZWZzIGZvciBjb21taXRzIGluCisgICAiZ2l0d2ViIiBvdXRwdXQgYXJlIG5vdyBwcm9wZXJseSBlc2NhcGVkIGZvciBwcm9wZXIgSFRNTCBvdXRwdXQuCisKKyAqIEZyZWVCU0QgY2FuIGxpZSB3aGVuIGFza2VkIG10aW1lIG9mIGEgZGlyZWN0b3J5LCB3aGljaCBtYWRlIHRoZQorICAgdW50cmFja2VkIGNhY2hlIGNvZGUgdG8gZmFsbCBiYWNrIHRvIGEgc2xvdy1wYXRoLCB3aGljaCBpbiB0dXJuCisgICBjYXVzZWQgdGVzdHMgaW4gdDcwNjMgdG8gZmFpbCBiZWNhdXNlIGl0IHdhbnRlZCB0byB2ZXJpZnkgdGhlCisgICBiZWhhdmlvdXIgb2YgdGhlIGZhc3QtcGF0aC4KKworICogU3F1ZWxjaCBjb21waWxlciB3YXJuaW5ncyBmb3IgbmVkbWFsbG9jIChpbiBjb21wYXQvKSBsaWJyYXJ5LgorCisgKiBBIHNtYWxsIG1lbW9yeSBsZWFrIGluIHRoZSBjb21tYW5kIGxpbmUgcGFyc2luZyBvZiAiZ2l0IGJsYW1lIgorICAgaGFzIGJlZW4gcGx1Z2dlZC4KKworICogVGhlIEFQSSBkb2N1bWVudGF0aW9uIGZvciBoYXNobWFwIHdhcyB1bmNsZWFyIGlmIGhhc2htYXBfZW50cnkKKyAgIGNhbiBiZSBzYWZlbHkgZGlzY2FyZGVkIHdpdGhvdXQgYW55IG90aGVyIGNvbnNpZGVyYXRpb24uICBTdGF0ZQorICAgdGhhdCBpdCBpcyBzYWZlIHRvIGRvIHNvLgorCisgKiBOb3Qtc28tcmVjZW50IHJld3JpdGUgb2YgImdpdCBhbSIgdGhhdCBzdGFydGVkIG1ha2luZyBpbnRlcm5hbAorICAgY2FsbHMgaW50byB0aGUgY29tbWl0IG1hY2hpbmVyeSBoYWQgYW4gdW5pbnRlbmRlZCByZWdyZXNzaW9uLCBpbgorICAgdGhhdCBubyBtYXR0ZXIgaG93IG1hbnkgc2Vjb25kcyBpdCB0b29rIHRvIGFwcGx5IG1hbnkgcGF0Y2hlcywgdGhlCisgICByZXN1bHRpbmcgY29tbWl0dGVyIHRpbWVzdGFtcCBmb3IgdGhlIHJlc3VsdGluZyBjb21taXRzIHdlcmUgYWxsCisgICB0aGUgc2FtZS4KKworICogImdpdCBwdXNoIC0tZm9yY2Utd2l0aC1sZWFzZSIgYWxyZWFkeSBoYWQgZW5vdWdoIGxvZ2ljIHRvIGFsbG93CisgICBlbnN1cmluZyB0aGF0IHN1Y2ggYSBwdXNoIHJlc3VsdHMgaW4gY3JlYXRpb24gb2YgYSByZWYgKGkuZS4gdGhlCisgICByZWNlaXZpbmcgZW5kIGRpZCBub3QgaGF2ZSBhbm90aGVyIHB1c2ggZnJvbSBzaWRld2F5cyB0aGF0IHdvdWxkIGJlCisgICBkaXNjYXJkZWQgYnkgb3VyIGZvcmNlLXB1c2hpbmcpLCBidXQgZGlkbid0IGV4cG9zZSB0aGlzIHBvc3NpYmlsaXR5CisgICB0byB0aGUgdXNlcnMuICBJdCBkb2VzIHNvIG5vdy4KKyAgIChtZXJnZSA5ZWVkNGYzIGprL3B1c2gtZm9yY2Utd2l0aC1sZWFzZS1jcmVhdGlvbiBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBtZWNoYW5pc20gdG8gbGltaXQgdGhlIHBhY2sgd2luZG93IG1lbW9yeSBzaXplLCB3aGVuIHBhY2tpbmcgaXMKKyAgIGRvbmUgdXNpbmcgbXVsdGlwbGUgdGhyZWFkcyAod2hpY2ggaXMgdGhlIGRlZmF1bHQpLCBpcyBwZXItdGhyZWFkLAorICAgYnV0IHRoaXMgd2FzIG5vdCBkb2N1bWVudGVkIGNsZWFybHkuCisgICAobWVyZ2UgOTU0MTc2YyBtcy9kb2N1bWVudC1wYWNrLXdpbmRvdy1tZW1vcnktaXMtcGVyLXRocmVhZCBsYXRlciB0byBtYWludCkuCisKKyAqICJpbXBvcnQtdGFycyIgZmFzdC1pbXBvcnQgc2NyaXB0IChpbiBjb250cmliLykgdXNlZCB0byBpZ25vcmUgYQorICAgaGFyZGxpbmsgdGFyZ2V0IGFuZCByZXBsYWNlZCBpdCB3aXRoIGFuIGVtcHR5IGZpbGUsIHdoaWNoIGhhcyBiZWVuCisgICBjb3JyZWN0ZWQgdG8gcmVjb3JkIHRoZSBzYW1lIGJsb2IgYXMgdGhlIG90aGVyIGZpbGUgdGhlIGhhcmRsaW5rIGlzCisgICBzaGFyZWQgd2l0aC4KKyAgIChtZXJnZSAwNGUwODY5IGpzL2ltcG9ydC10YXJzLWhhcmRsaW5rcyBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgbXYgZGlyIG5vbi1leGlzdGluZy1kaXIvIiBkaWQgbm90IHdvcmsgaW4gc29tZSBlbnZpcm9ubWVudHMKKyAgIHRoZSBzYW1lIHdheSBhcyBleGlzdGluZyBtYWluc3RyZWFtIHBsYXRmb3Jtcy4gIFRoZSBjb2RlIG5vdyBtb3ZlcworICAgImRpciIgdG8gIm5vbi1leGlzdGluZy1kaXIiLCB3aXRob3V0IHJlbHlpbmcgb24gcmVuYW1lKCJBIiwgIkIvIikKKyAgIHRoYXQgc3RyaXBzIHRoZSB0cmFpbGluZyBzbGFzaCBvZiAnLycuCisgICAobWVyZ2UgMTg5ZDAzNSBqcy9tdi1kaXItdG8tbmV3LWRpcmVjdG9yeSBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSAidC8iIGhpZXJhcmNoeSBpcyBwcm9uZSB0byBnZXQgYW4gdW51c3VhbCBwYXRobmFtZTsgIm1ha2UgdGVzdCIKKyAgIGhhcyBiZWVuIHRhdWdodCB0byBtYWtlIHN1cmUgdGhleSBkbyBub3QgY29udGFpbiBwYXRocyB0aGF0IGNhbm5vdAorICAgYmUgY2hlY2tlZCBvdXQgb24gV2luZG93cyAoYW5kIHRoZSBtZWNoYW5pc20gY2FuIGJlIHJldXNhYmxlIHRvCisgICBjYXRjaCBwYXRobmFtZXMgdGhhdCBhcmUgbm90IHBvcnRhYmxlIHRvIG90aGVyIHBsYXRmb3JtcyBhcyBuZWVkCisgICBhcmlzZXMpLgorICAgKG1lcmdlIGMyY2FmZDMganMvdGVzdC1saW50LXBhdGhuYW1lIGxhdGVyIHRvIG1haW50KS4KKworICogV2hlbiAiZ2l0IG1lcmdlLXJlY3Vyc2l2ZSIgd29ya3Mgb24gaGlzdG9yeSB3aXRoIG1hbnkgY3Jpc3MtY3Jvc3MKKyAgIG1lcmdlcyBpbiAidmVyYm9zZSIgbW9kZSwgdGhlIG5hbWVzIHRoZSBjb21tYW5kIGFzc2lnbnMgdG8gdGhlCisgICB2aXJ0dWFsIG1lcmdlIGJhc2VzIGNvdWxkIGhhdmUgb3ZlcndyaXR0ZW4gZWFjaCBvdGhlciBieSB1bmludGVuZGVkCisgICByZXVzZSBvZiB0aGUgc2FtZSBwaWVjZSBvZiBtZW1vcnkuCisgICAobWVyZ2UgNTQ0N2E3NiBycy9wdWxsLXNpZ25lZC10YWcgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGNoZWNrb3V0IC0tZGV0YWNoIDxicmFuY2g+IiB1c2VkIHRvIGdpdmUgdGhlIHNhbWUgYWR2aWNlCisgICBtZXNzYWdlIGFzIHRoYXQgaXMgaXNzdWVkIHdoZW4gImdpdCBjaGVja291dCA8dGFnPiIgKG9yIGFueXRoaW5nCisgICB0aGF0IGlzIG5vdCBhIGJyYW5jaCBuYW1lKSBpcyBnaXZlbiwgYnV0IGFza2luZyB3aXRoICItLWRldGFjaCIgaXMKKyAgIGFuIGV4cGxpY2l0IGVub3VnaCBzaWduIHRoYXQgdGhlIHVzZXIga25vd3Mgd2hhdCBpcyBnb2luZyBvbi4gIFRoZQorICAgYWR2aWNlIG1lc3NhZ2UgaGFzIGJlZW4gc3F1ZWxjaGVkIGluIHRoaXMgY2FzZS4KKyAgIChtZXJnZSA3NzliODhhIHNiL2NoZWNrb3V0LWV4cGxpdC1kZXRhY2gtbm8tYWR2aWNlIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBkaWZmdG9vbCIgYnkgZGVmYXVsdCBpZ25vcmVzIHRoZSBlcnJvciBleGl0IGZyb20gdGhlIGJhY2tlbmQKKyAgIGNvbW1hbmRzIGl0IHNwYXducywgYmVjYXVzZSBvZnRlbiB0aGV5IHNpZ25hbCB0aGF0IHRoZXkgZm91bmQKKyAgIGRpZmZlcmVuY2VzIGJ5IGV4aXRpbmcgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cyBjb2RlIGp1c3QgbGlrZSAiZGlmZiIKKyAgIGRvZXM7IHRoZSBleGl0IHN0YXR1cyBjb2RlcyAxMjYgYW5kIGFib3ZlIGhvd2V2ZXIgYXJlIHNwZWNpYWwgaW4KKyAgIHRoYXQgdGhleSBhcmUgdXNlZCB0byBzaWduYWwgdGhhdCB0aGUgY29tbWFuZCBpcyBub3QgZXhlY3V0YWJsZSwKKyAgIGRvZXMgbm90IGV4aXN0LCBvciBraWxsZWQgYnkgYSBzaWduYWwuICAiZ2l0IGRpZmZ0b29sIiBoYXMgYmVlbgorICAgdGF1Z2h0IHRvIG5vdGljZSB0aGVzZSBleGl0IHN0YXR1cyBjb2Rlcy4KKyAgIChtZXJnZSA0NWE0ZjVkIGprL2RpZmZ0b29sLWNvbW1hbmQtbm90LWZvdW5kIGxhdGVyIHRvIG1haW50KS4KKworICogT24gV2luZG93cywgaGVscC5icm93c2VyIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdXNlZCB0byBiZSBpZ25vcmVkLAorICAgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIDZkYjU5NjcganMvbm8taHRtbC1ieXBhc3Mtb24td2luZG93cyBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSAiZ2l0IC1jIHZhcls9dmFsXSBjbWQiIGZhY2lsaXR5IHRvIGFwcGVuZCBhIGNvbmZpZ3VyYXRpb24KKyAgIHZhcmlhYmxlIGRlZmluaXRpb24gYXQgdGhlIGVuZCBvZiB0aGUgc2VhcmNoIG9yZGVyIHdhcyBkZXNjcmliZWQgaW4KKyAgIGdpdCgxKSBtYW51YWwgcGFnZSwgYnV0IG5vdCBpbiBnaXQtY29uZmlnKDEpLCB3aGljaCB3YXMgbW9yZSBsaWtlbHkKKyAgIHBsYWNlIGZvciBwZW9wbGUgdG8gbG9vayBmb3Igd2hlbiB0aGV5IGFzayAiY2FuIEkgbWFrZSBhIG9uZS1zaG90CisgICBvdmVycmlkZSwgYW5kIGlmIHNvIGhvdz8iCisgICAobWVyZ2UgYWUxZjcwOSBkZy9kb2N1bWVudC1naXQtYy1pbi1naXQtY29uZmlnLWRvYyBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSB0ZW1wZmlsZSAoaGVuY2UgaXRzIHVzZXIgbG9ja2ZpbGUpIEFQSSBsZXRzIHRoZSBjYWxsZXIgdG8gb3BlbgorICAgYSBmaWxlIGRlc2NyaXB0b3IgdG8gYSB0ZW1wb3JhcnkgZmlsZSwgd3JpdGUgaW50byBpdCBhbmQgdGhlbgorICAgZmluYWxpemUgaXQgYnkgZmlyc3QgY2xvc2luZyB0aGUgZmlsZWhhbmRsZSBhbmQgdGhlbiBlaXRoZXIKKyAgIHJlbW92aW5nIG9yIHJlbmFtaW5nIHRoZSB0ZW1wb3JhcnkgZmlsZS4gIFdoZW4gdGhlIHByb2Nlc3Mgc3Bhd25zIGEKKyAgIHN1YnByb2Nlc3MgYWZ0ZXIgb2J0YWluaW5nIHRoZSBmaWxlIGRlc2NyaXB0b3IsIGFuZCBpZiB0aGUKKyAgIHN1YnByb2Nlc3MgaGFzIG5vdCBleGl0ZWQgd2hlbiB0aGUgYXR0ZW1wdCB0byByZW1vdmUgb3IgcmVuYW1lIGlzCisgICBtYWRlLCB0aGUgbGFzdCBzdGVwIGZhaWxzIG9uIFdpbmRvd3MsIGJlY2F1c2UgdGhlIHN1YnByb2Nlc3MgaGFzCisgICB0aGUgZmlsZSBkZXNjcmlwdG9yIHN0aWxsIG9wZW4uICBPcGVuIHRlbXBmaWxlIHdpdGggT19DTE9FWEVDIGZsYWcKKyAgIHRvIGF2b2lkIHRoaXMgKG9uIFdpbmRvd3MsIHRoaXMgaXMgbWFwcGVkIHRvIE9fTk9JTkhFUklUKS4KKyAgIChtZXJnZSAwNWQxZWQ2IGJ3L21pbmd3LWF2b2lkLWluaGVyaXRpbmctZmQtdG8tbG9ja2ZpbGUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBDb3JyZWN0IGFuIGFnZS1vbGQgY2FsY28gKGlzIHRoYXQgYSB0eXBvLWxpa2Ugd29yZCBmb3IgY2FsYykKKyAgIGluIHRoZSBkb2N1bWVudGF0aW9uLgorICAgKG1lcmdlIDc4NDFjNDggbHMvcGFja2V0LWxpbmUtcHJvdG9jb2wtZG9jLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIE90aGVyIG1pbm9yIGNsZWFuLXVwcyBhbmQgZG9jdW1lbnRhdGlvbiB1cGRhdGVzCisgICAobWVyZ2UgMDJhOGNmYSBycy9tZXJnZS1hZGQtc3RyYXRlZ2llcy1zaW1wbGlmaWNhdGlvbiBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYWY0OTQxZCBycy9tZXJnZS1yZWN1cnNpdmUtc3RyaW5nLWxpc3QtaW5pdCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMWViNDdmMSBycy91c2Utc3RyYnVmLWFkZC11bmlxdWUtYWJicmV2IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBkZGQwYmZhIGprL3RpZ2h0ZW4tYWxsb2MgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGVjZjMwYjIgcnMvbWFpbGluZm8tbGliIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAwZWI3NWNlIHNnL3JlZmxvZy1wYXN0LXJvb3QgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDQzNjk1MjMgaHYvZG9jLWNvbW1pdC1yZWZlcmVuY2Utc3R5bGUgbGF0ZXIgdG8gbWFpbnQpLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEwLjEudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEwLjEudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwNDYyZjcKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTAuMS50eHQKQEAgLTAsMCArMSwxMzEgQEAKK0dpdCB2Mi4xMC4xIFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT0KKworRml4ZXMgc2luY2UgdjIuMTAKKy0tLS0tLS0tLS0tLS0tLS0tCisKKyAqIENsYXJpZnkgdmFyaW91cyB3YXlzIHRvIHNwZWNpZnkgdGhlICJyZXZpc2lvbiByYW5nZXMiIGluIHRoZQorICAgZG9jdW1lbnRhdGlvbi4KKworICogImRpZmYtaGlnaGxpZ2h0IiBzY3JpcHQgKGluIGNvbnRyaWIvKSBsZWFybmVkIHRvIHdvcmsgYmV0dGVyIHdpdGgKKyAgICJnaXQgbG9nIC1wIC0tZ3JhcGgiIG91dHB1dC4KKworICogVGhlIHRlc3QgZnJhbWV3b3JrIGxlZnQgdGhlIG51bWJlciBvZiB0ZXN0cyBhbmQgc3VjY2Vzcy9mYWlsdXJlCisgICBjb3VudCBpbiB0aGUgdC90ZXN0LXJlc3VsdHMgZGlyZWN0b3J5LCBrZXllZCBieSB0aGUgbmFtZSBvZiB0aGUKKyAgIHRlc3Qgc2NyaXB0IHBsdXMgdGhlIHByb2Nlc3MgSUQuICBUaGUgbGF0dGVyIGhvd2V2ZXIgdHVybmVkIG91dCBub3QKKyAgIHRvIHNlcnZlIGFueSB1c2VmdWwgcHVycG9zZS4gIFRoZSBwcm9jZXNzIElEIHBhcnQgb2YgdGhlIGZpbGVuYW1lCisgICBoYXMgYmVlbiByZW1vdmVkLgorCisgKiBIYXZpbmcgYSBzdWJtb2R1bGUgd2hvc2UgIi5naXQiIHJlcG9zaXRvcnkgaXMgc29tZWhvdyBjb3JydXB0CisgICBjYXVzZWQgYSBmZXcgY29tbWFuZHMgdGhhdCByZWN1cnNlIGludG8gc3VibW9kdWxlcyBsb29wIGZvcmV2ZXIuCisKKyAqICJnaXQgc3ltYm9saWMtcmVmIC1kIEhFQUQiIGhhcHBpbHkgcmVtb3ZlcyB0aGUgc3ltYm9saWMgcmVmLCBidXQKKyAgIHRoZSByZXN1bHRpbmcgcmVwb3NpdG9yeSBiZWNvbWVzIGFuIGludmFsaWQgb25lLiAgVGVhY2ggdGhlIGNvbW1hbmQKKyAgIHRvIGZvcmJpZCByZW1vdmFsIG9mIEhFQUQuCisKKyAqIEEgdGVzdCBzcGF3bmVkIGEgc2hvcnQtbGl2ZWQgYmFja2dyb3VuZCBwcm9jZXNzLCB3aGljaCBzb21ldGltZXMKKyAgIHByZXZlbnRlZCB0aGUgdGVzdCBkaXJlY3RvcnkgZnJvbSBnZXR0aW5nIHJlbW92ZWQgYXQgdGhlIGVuZCBvZiB0aGUKKyAgIHNjcmlwdCBvbiBzb21lIHBsYXRmb3Jtcy4KKworICogVXBkYXRlIGEgZmV3IHRlc3RzIHRoYXQgdXNlZCB0byB1c2UgR0lUX0NVUkxfVkVSQk9TRSB0byB1c2UgdGhlCisgICBuZXdlciBHSVRfVFJBQ0VfQ1VSTC4KKworICogVXBkYXRlIEphcGFuZXNlIHRyYW5zbGF0aW9uIGZvciAiZ2l0LWd1aSIuCisKKyAqICJnaXQgZmV0Y2ggaHR0cDo6L3NpdGUvcGF0aCIgZGlkIG5vdCBkaWUgY29ycmVjdGx5IGFuZCBzZWdmYXVsdGVkCisgICBpbnN0ZWFkLgorCisgKiAiZ2l0IGNvbW1pdC10cmVlIiBzdG9wcGVkIHJlYWRpbmcgY29tbWl0LmdwZ3NpZ24gY29uZmlndXJhdGlvbgorICAgdmFyaWFibGUgdGhhdCB3YXMgbWVhbnQgZm9yIFBvcmNlbGFpbiAiZ2l0IGNvbW1pdCIgaW4gR2l0IDIuOTsgd2UKKyAgIGZvcmdvdCB0byB1cGRhdGUgImdpdCBndWkiIHRvIGxvb2sgYXQgdGhlIGNvbmZpZ3VyYXRpb24gdG8gbWF0Y2gKKyAgIHRoaXMgY2hhbmdlLgorCisgKiAiZ2l0IGxvZyAtLWNoZXJyeS1waWNrIiB1c2VkIHRvIGluY2x1ZGUgbWVyZ2UgY29tbWl0cyBhcyBjYW5kaWRhdGVzCisgICB0byBiZSBtYXRjaGVkIHVwIHdpdGggb3RoZXIgY29tbWl0cywgcmVzdWx0aW5nIGEgbG90IG9mIHdhc3RlZCB0aW1lLgorICAgVGhlIHBhdGNoLWlkIGdlbmVyYXRpb24gbG9naWMgaGFzIGJlZW4gdXBkYXRlZCB0byBpZ25vcmUgbWVyZ2VzIHRvCisgICBhdm9pZCB0aGUgd2FzdGFnZS4KKworICogVGhlIGh0dHAgdHJhbnNwb3J0ICh3aXRoIGN1cmwtbXVsdGkgb3B0aW9uLCB3aGljaCBpcyB0aGUgZGVmYXVsdAorICAgdGhlc2UgZGF5cykgZmFpbGVkIHRvIHJlbW92ZSBjdXJsLWVhc3kgaGFuZGxlIGZyb20gYSBjdXJsbSBzZXNzaW9uLAorICAgd2hpY2ggbGVkIHRvIHVubmVjZXNzYXJ5IEFQSSBmYWlsdXJlcy4KKworICogImdpdCBkaWZmIC1XIiBvdXRwdXQgbmVlZHMgdG8gZXh0ZW5kIHRoZSBjb250ZXh0IGJhY2t3YXJkIHRvCisgICBpbmNsdWRlIHRoZSBoZWFkZXIgbGluZSBvZiB0aGUgY3VycmVudCBmdW5jdGlvbiBhbmQgYWxzbyBmb3J3YXJkIHRvCisgICBpbmNsdWRlIHRoZSBib2R5IG9mIHRoZSBlbnRpcmUgY3VycmVudCBmdW5jdGlvbiB1cCB0byB0aGUgaGVhZGVyCisgICBsaW5lIG9mIHRoZSBuZXh0IG9uZS4gIFRoaXMgcHJvY2VzcyBtYXkgaGF2ZSB0byBtZXJnZSB0byBhZGphY2VudAorICAgaHVua3MsIGJ1dCB0aGUgY29kZSBmb3Jnb3QgdG8gZG8gc28gaW4gc29tZSBjYXNlcy4KKworICogUGVyZm9ybWFuY2UgdGVzdHMgZG9uZSB2aWEgInQvcGVyZiIgZGlkIG5vdCB1c2UgdGhlIHNhbWUgc2V0IG9mCisgICBidWlsZCBjb25maWd1cmF0aW9uIGlmIHRoZSB1c2VyIHJlbGllZCBvbiBhdXRvY29uZiBnZW5lcmF0ZWQKKyAgIGNvbmZpZ3VyYXRpb24uCisKKyAqICJnaXQgZm9ybWF0LXBhdGNoIC0tYmFzZT0uLi4iIGZlYXR1cmUgdGhhdCB3YXMgcmVjZW50bHkgYWRkZWQKKyAgIHNob3dlZCB0aGUgYmFzZSBjb21taXQgaW5mb3JtYXRpb24gYWZ0ZXIgIi0tICIgZS1tYWlsIHNpZ25hdHVyZQorICAgbGluZSwgd2hpY2ggdHVybmVkIG91dCB0byBiZSBpbmNvbnZlbmllbnQuICBUaGUgYmFzZSBpbmZvcm1hdGlvbgorICAgaGFzIGJlZW4gbW92ZWQgYWJvdmUgdGhlIHNpZ25hdHVyZSBsaW5lLgorCisgKiBFdmVuIHdoZW4gImdpdCBwdWxsIC0tcmViYXNlPXByZXNlcnZlIiAoYW5kIHRoZSB1bmRlcmx5aW5nICJnaXQKKyAgIHJlYmFzZSAtLXByZXNlcnZlIikgY2FuIGNvbXBsZXRlIHdpdGhvdXQgY3JlYXRpbmcgYW55IG5ldyBjb21taXQKKyAgIChpLmUuIGZhc3QtZm9yd2FyZHMpLCBpdCBzdGlsbCBpbnNpc3RlZCBvbiBoYXZpbmcgYSB1c2FibGUgaWRlbnQKKyAgIGluZm9ybWF0aW9uIChyZWFkOiB1c2VyLmVtYWlsIGlzIHNldCBjb3JyZWN0bHkpLCB3aGljaCB3YXMgbGVzcworICAgdGhhbiBuaWNlLiAgQXMgdGhlIHVuZGVybHlpbmcgY29tbWFuZHMgdXNlZCBpbnNpZGUgImdpdCByZWJhc2UiCisgICB3b3VsZCBmYWlsIHdpdGggYSBtb3JlIG1lYW5pbmdmdWwgZXJyb3IgbWVzc2FnZSBhbmQgYWR2aWNlIHRleHQKKyAgIHdoZW4gdGhlIGJvZ3VzIGlkZW50IG1hdHRlcnMsIHRoaXMgZXh0cmEgY2hlY2sgd2FzIHJlbW92ZWQuCisKKyAqICJnaXQgZ2MgLS1hZ2dyZXNzaXZlIiB1c2VkIHRvIGxpbWl0IHRoZSBkZWx0YS1jaGFpbiBsZW5ndGggdG8gMjUwLAorICAgd2hpY2ggaXMgd2F5IHRvbyBkZWVwIGZvciBnYWluaW5nIGFkZGl0aW9uYWwgc3BhY2Ugc2F2aW5ncyBhbmQgaXMKKyAgIGRldHJpbWVudGFsIGZvciBydW50aW1lIHBlcmZvcm1hbmNlLiAgVGhlIGxpbWl0IGhhcyBiZWVuIHJlZHVjZWQgdG8KKyAgIDUwLgorCisgKiBEb2N1bWVudGF0aW9uIGZvciBpbmRpdmlkdWFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzIHRvIGNvbnRyb2wgdXNlCisgICBvZiBjb2xvciAobGlrZSBgY29sb3IuZ3JlcGApIHNhaWQgdGhhdCB0aGVpciBkZWZhdWx0IHZhbHVlIGlzCisgICAnZmFsc2UnLCBpbnN0ZWFkIG9mIHNheWluZyB0aGVpciBkZWZhdWx0IGlzIHRha2VuIGZyb20gYGNvbG9yLnVpYC4KKyAgIFdoZW4gd2UgdXBkYXRlZCB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgY29sb3IudWkgZnJvbSAnZmFsc2UnIHRvCisgICAnYXV0bycgcXVpdGUgYSB3aGlsZSBhZ28sIGFsbCBvZiB0aGVtIGJyb2tlLiAgVGhpcyBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorCisgKiBBIHNoZWxsIHNjcmlwdCBleGFtcGxlIGluIGNoZWNrLXJlZi1mb3JtYXQgZG9jdW1lbnRhdGlvbiBoYXMgYmVlbgorICAgZml4ZWQuCisKKyAqICJnaXQgY2hlY2tvdXQgPHdvcmQ+IiBkb2VzIG5vdCBmb2xsb3cgdGhlIHVzdWFsIGRpc2FtYmlndWF0aW9uCisgICBydWxlcyB3aGVuIHRoZSA8d29yZD4gY2FuIGJlIGJvdGggYSByZXYgYW5kIGEgcGF0aCwgdG8gYWxsb3cKKyAgIGNoZWNraW5nIG91dCBhIGJyYW5jaCAnZm9vJyBpbiBhIHByb2plY3QgdGhhdCBoYXBwZW5zIHRvIGhhdmUgYQorICAgZmlsZSAnZm9vJyBpbiB0aGUgd29ya2luZyB0cmVlIHdpdGhvdXQgaGF2aW5nIHRvIGRpc2FtYmlndWF0ZS4KKyAgIFRoaXMgd2FzIHBvb3JseSBkb2N1bWVudGVkIGFuZCB0aGUgY2hlY2sgd2FzIGluY29ycmVjdCB3aGVuIHRoZQorICAgY29tbWFuZCB3YXMgcnVuIGZyb20gYSBzdWJkaXJlY3RvcnkuCisKKyAqIFNvbWUgY29kZXBhdGhzIGluICJnaXQgZGlmZiIgdXNlZCByZWdleGVjKDMpIG9uIGEgYnVmZmVyIHRoYXQgd2FzCisgICBtbWFwKDIpZWQsIHdoaWNoIG1heSBub3QgaGF2ZSBhIHRlcm1pbmF0aW5nIE5VTCwgbGVhZGluZyB0byBhIHJlYWQKKyAgIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBtYXBwZWQgcmVnaW9uLiAgVGhpcyB3YXMgZml4ZWQgYnkgaW50cm9kdWNpbmcKKyAgIGEgcmVnZXhlY19idWYoKSBoZWxwZXIgdGhhdCB0YWtlcyBhIDxwdHIsbGVuPiBwYWlyIHdpdGggUkVHX1NUQVJURU5ECisgICBleHRlbnNpb24uCisKKyAqIFRoZSBwcm9jZWR1cmUgdG8gYnVpbGQgR2l0IG9uIE1hYyBPUyBYIGZvciBUcmF2aXMgQ0kgaGFyZGNvZGVkIHRoZQorICAgaW50ZXJuYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSB3ZSBhc3N1bWVkIEhvbWVCcmV3IHVzZXMsIHdoaWNoIHdhcyBhCisgICBuby1uby4gIFRoZSBwcm9jZWR1cmUgaGFzIGJlZW4gdXBkYXRlZCB0byBhc2sgSG9tZUJyZXcgdGhpbmdzIHdlCisgICBuZWVkIHRvIGtub3cgdG8gZml4IHRoaXMuCisKKyAqIFdoZW4gImdpdCByZWJhc2UgLWkiIGlzIGdpdmVuIGEgYnJva2VuIGluc3RydWN0aW9uLCBpdCB0b2xkIHRoZQorICAgdXNlciB0byBmaXggaXQgd2l0aCAiLS1lZGl0LXRvZG8iLCBidXQgZGlkbid0IHNheSB3aGF0IHRoZSBzdGVwCisgICBhZnRlciB0aGF0IHdhcyAoaS5lLiAiLS1jb250aW51ZSIpLgorCisgKiAiZ2l0IGFkZCAtLWNobW9kPSt4IiBhZGRlZCByZWNlbnRseSBsYWNrZWQgZG9jdW1lbnRhdGlvbiwgd2hpY2ggaGFzCisgICBiZWVuIGNvcnJlY3RlZC4KKworICogImdpdCBhZGQgLS1jaG1vZD0reCA8cGF0aHNwZWM+IiBhZGRlZCByZWNlbnRseSBvbmx5IHRvZ2dsZWQgdGhlCisgICBleGVjdXRhYmxlIGJpdCBmb3IgcGF0aHMgdGhhdCBhcmUgZWl0aGVyIG5ldyBvciBtb2RpZmllZC4gVGhpcyBoYXMKKyAgIGJlZW4gY29ycmVjdGVkIHRvIGZsaXAgdGhlIGV4ZWN1dGFibGUgYml0IGZvciBhbGwgcGF0aHMgdGhhdCBtYXRjaAorICAgdGhlIGdpdmVuIHBhdGhzcGVjLgorCisgKiAiZ2l0IHBhY2stb2JqZWN0cyAtLWluY2x1ZGUtdGFnIiB3YXMgdGF1Z2h0IHRoYXQgd2hlbiB3ZSBrbm93IHRoYXQKKyAgIHdlIGFyZSBzZW5kaW5nIGFuIG9iamVjdCBDLCB3ZSB3YW50IGEgdGFnIEIgdGhhdCBkaXJlY3RseSBwb2ludHMgYXQKKyAgIEMgYnV0IGFsc28gYSB0YWcgQSB0aGF0IHBvaW50cyBhdCB0aGUgdGFnIEIuICBXZSB1c2VkIHRvIG1pc3MgdGhlCisgICBpbnRlcm1lZGlhdGUgdGFnIEIgaW4gc29tZSBjYXNlcy4KKworICogRG9jdW1lbnRhdGlvbiBhcm91bmQgdG9vbHMgdG8gaW1wb3J0IGZyb20gQ1ZTIHdhcyBmYWlybHkgb3V0ZGF0ZWQuCisKKyAqIEluIHRoZSBjb2RlcGF0aCB0aGF0IGNvbWVzIHVwIHdpdGggdGhlIGhvc3RuYW1lIHRvIGJlIHVzZWQgaW4gYW4KKyAgIGUtbWFpbCB3aGVuIHRoZSB1c2VyIGRpZG4ndCB0ZWxsIHVzLCB3ZSBsb29rZWQgYXQgYWlfY2Fub25uYW1lCisgICBmaWVsZCBpbiBzdHJ1Y3QgYWRkcmluZm8gd2l0aG91dCBtYWtpbmcgc3VyZSBpdCBpcyBub3QgTlVMTCBmaXJzdC4KKworQWxzbyBjb250YWlucyBtaW5vciBkb2N1bWVudGF0aW9uIHVwZGF0ZXMgYW5kIGNvZGUgY2xlYW4tdXBzLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEwLjIudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEwLjIudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0ZDQzOTcKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTAuMi50eHQKQEAgLTAsMCArMSwxMTEgQEAKK0dpdCB2Mi4xMC4yIFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT0KKworRml4ZXMgc2luY2UgdjIuMTAuMQorLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgKiBUaGUgY29kZSB0aGF0IHBhcnNlcyB0aGUgZm9ybWF0IHBhcmFtZXRlciBvZiBmb3ItZWFjaC1yZWYgY29tbWFuZAorICAgaGFzIHNlZW4gYSBtaWNyby1vcHRpbWl6YXRpb24uCisKKyAqIFRoZSAiZ3JhcGgiIEFQSSB1c2VkIGluICJnaXQgbG9nIC0tZ3JhcGgiIG1pc2NvdW50ZWQgdGhlIG51bWJlciBvZgorICAgb3V0cHV0IGNvbHVtbnMgY29uc3VtZWQgc28gZmFyIHdoZW4gZHJhd2luZyBhIHBhZGRpbmcgbGluZSwgd2hpY2gKKyAgIGhhcyBiZWVuIGZpeGVkOyB0aGlzIGRpZCBub3QgYWZmZWN0IGFueSBleGlzdGluZyBjb2RlIGFzIG5vYm9keQorICAgdHJpZWQgdG8gd3JpdGUgYW55dGhpbmcgYWZ0ZXIgdGhlIHBhZGRpbmcgb24gc3VjaCBhIGxpbmUsIHRob3VnaC4KKworICogQWxtb3N0IGV2ZXJ5Ym9keSB1c2VzIERFRkFVTFRfQUJCUkVWIHRvIHJlZmVyIHRvIHRoZSBkZWZhdWx0CisgICBzZXR0aW5nIGZvciB0aGUgYWJicmV2aWF0aW9uLCBidXQgImdpdCBibGFtZSIgcGVla2VkIGludG8KKyAgIHVuZGVybHlpbmcgdmFyaWFibGUgYnlwYXNzaW5nIHRoZSBtYWNybyBmb3Igbm8gZ29vZCByZWFzb24uCisKKyAqIERvYyB1cGRhdGUgdG8gY2xhcmlmeSB3aGF0ICJsb2cgLTMgLS1yZXZlcnNlIiBkb2VzLgorCisgKiBBbiBhdXRob3IgbmFtZSwgdGhhdCBzcGVsbGVkIGEgYmFja3NsYXNoLXF1b3RlZCBkb3VibGUgcXVvdGUgaW4gdGhlCisgICBodW1hbiByZWFkYWJsZSBwYXJ0ICJNeSBcImRvdWJsZSBxdW90ZWRcIiBuYW1lIiwgd2FzIG5vdCB1bnF1b3RlZAorICAgY29ycmVjdGx5IHdoaWxlIGFwcGx5aW5nIGEgcGF0Y2ggZnJvbSBhIHBpZWNlIG9mIGUtbWFpbC4KKworICogVGhlIG9yaWdpbmFsIGNvbW1hbmQgbGluZSBzeW50YXggZm9yICJnaXQgbWVyZ2UiLCB3aGljaCB3YXMgImdpdAorICAgbWVyZ2UgPG1zZz4gSEVBRCA8cGFyZW50Pi4uLiIsIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIHF1aXRlIHNvbWUKKyAgIHRpbWUsIGFuZCAiZ2l0IGd1aSIgd2FzIHRoZSBsYXN0IGluLXRyZWUgdXNlciBvZiB0aGUgc3ludGF4LiAgVGhpcworICAgaXMgZmluYWxseSBmaXhlZCwgc28gdGhhdCB3ZSBjYW4gbW92ZSBmb3J3YXJkIHdpdGggdGhlIGRlcHJlY2F0aW9uLgorCisgKiBDb2RlcGF0aHMgdGhhdCByZWFkIGZyb20gYW4gb24tZGlzayBsb29zZSBvYmplY3Qgd2VyZSB0b28gbG9vc2UgaW4KKyAgIHZhbGlkYXRpbmcgd2hhdCB0aGV5IGFyZSByZWFkaW5nIGlzIGEgcHJvcGVyIG9iamVjdCBmaWxlIGFuZAorICAgc29tZXRpbWVzIHJlYWQgcGFzdCB0aGUgZGF0YSB0aGV5IHJlYWQgZnJvbSB0aGUgZGlzaywgd2hpY2ggaGFzCisgICBiZWVuIGNvcnJlY3RlZC4gIEgvdCB0byBHdXN0YXZvIEdyaWVjbyBmb3IgcmVwb3J0aW5nLgorCisgKiAiZ2l0IHdvcmt0cmVlIiwgZXZlbiB0aG91Z2ggaXQgdXNlZCB0aGUgZGVmYXVsdF9hYmJyZXYgc2V0dGluZyB0aGF0CisgICBvdWdodCB0byBiZSBhZmZlY3RlZCBieSBjb3JlLmFiYnJldiBjb25maWd1cmF0aW9uIHZhcmlhYmxlLCBpZ25vcmVkCisgICB0aGUgdmFyaWFibGUgc2V0dGluZy4gIFRoZSBjb21tYW5kIGhhcyBiZWVuIHRhdWdodCB0byByZWFkIHRoZQorICAgZGVmYXVsdCBzZXQgb2YgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMgdG8gY29ycmVjdCB0aGlzLgorCisgKiBBIGxvdy1sZXZlbCBmdW5jdGlvbiB2ZXJpZnlfcGFja2ZpbGUoKSB3YXMgbWVhbnQgdG8gc2hvdyBlcnJvcnMKKyAgIHRoYXQgd2VyZSBkZXRlY3RlZCB3aXRob3V0IGR5aW5nIGl0c2VsZiwgYnV0IHVuZGVyIHNvbWUgY29uZGl0aW9ucworICAgaXQgZGlkbid0IGFuZCBkaWVkIGluc3RlYWQsIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorCisgKiBXaGVuICJnaXQgZmV0Y2giIHRyaWVzIHRvIGZpbmQgd2hlcmUgdGhlIGhpc3Rvcnkgb2YgdGhlIHJlcG9zaXRvcnkKKyAgIGl0IHJ1bnMgaW4gaGFzIGRpdmVyZ2VkIGZyb20gd2hhdCB0aGUgb3RoZXIgc2lkZSBoYXMsIGl0IGhhcyBhCisgICBtZWNoYW5pc20gdG8gYXZvaWQgZGlnZ2luZyB0b28gZGVlcCBpbnRvIGlycmVsZXZhbnQgc2lkZSBicmFuY2hlcy4KKyAgIFRoaXMgaG93ZXZlciBkaWQgbm90IHdvcmsgd2VsbCBvdmVyIHRoZSAic21hcnQtaHR0cCIgdHJhbnNwb3J0IGR1ZQorICAgdG8gYSBkZXNpZ24gYnVnLCB3aGljaCBoYXMgYmVlbiBmaXhlZC4KKworICogV2hlbiB3ZSBzdGFydGVkIGNVUkwgdG8gdGFsayB0byBpbWFwIHNlcnZlciB3aGVuIGEgbmV3IGVub3VnaAorICAgdmVyc2lvbiBvZiBjVVJMIGxpYnJhcnkgaXMgYXZhaWxhYmxlLCB3ZSBmb3Jnb3QgdG8gZXhwbGljaXRseSBhZGQKKyAgIGltYXAocyk6Ly8gYmVmb3JlIHRoZSBkZXN0aW5hdGlvbi4gIFRvIHNvbWUgZm9sa3MsIHRoYXQgZGlkbid0IHdvcmsKKyAgIGFuZCB0aGUgbGlicmFyeSB0cmllZCB0byBtYWtlIEhUVFAocykgcmVxdWVzdHMgaW5zdGVhZC4KKworICogVGhlIC4vY29uZmlndXJlIHNjcmlwdCBnZW5lcmF0ZWQgZnJvbSBjb25maWd1cmUuYWMgd2FzIHRhdWdodCBob3cKKyAgIHRvIGRldGVjdCBzdXBwb3J0IG9mIFNTTCBieSBsaWJjdXJsIGJldHRlci4KKworICogaHR0cC5lbXB0eWF1dGggY29uZmlndXJhdGlvbiBpcyBhIHdheSB0byBhbGxvdyBhbiBlbXB0eSB1c2VybmFtZSB0bworICAgcGFzcyB3aGVuIGF0dGVtcHRpbmcgdG8gYXV0aGVudGljYXRlIHVzaW5nIG1lY2hhbmlzbXMgbGlrZQorICAgS2VyYmVyb3MuICBXZSB0b29rIGFuIHVuc3BlY2lmaWVkIChOVUxMKSB1c2VybmFtZSBhbmQgc2VudCAiOiIKKyAgIChpLmUuIG5vIHVzZXJuYW1lLCBubyBwYXNzd29yZCkgdG8gQ1VSTE9QVF9VU0VSUFdELCBidXQgZGlkIG5vdCBkbworICAgdGhlIHNhbWUgd2hlbiB0aGUgdXNlcm5hbWUgaXMgZXhwbGljaXRseSBzZXQgdG8gYW4gZW1wdHkgc3RyaW5nLgorCisgKiAiZ2l0IGNsb25lIiBvZiBhIGxvY2FsIHJlcG9zaXRvcnkgY2FuIGJlIGRvbmUgYXQgdGhlIGZpbGVzeXN0ZW0KKyAgIGxldmVsLCBidXQgdGhlIGNvZGVwYXRoIGRpZCBub3QgY2hlY2sgZXJyb3JzIHdoaWxlIGNvcHlpbmcgYW5kCisgICBhZGp1c3RpbmcgdGhlIGZpbGUgdGhhdCBsaXN0cyBhbHRlcm5hdGUgb2JqZWN0IHN0b3Jlcy4KKworICogRG9jdW1lbnRhdGlvbiBmb3IgImdpdCBjb21taXQiIHdhcyB1cGRhdGVkIHRvIGNsYXJpZnkgdGhhdCAiY29tbWl0CisgICAtcCA8cGF0aHM+IiBhZGRzIHRvIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIHRoZSBpbmRleCB0byBjb21lIHVwCisgICB3aXRoIHdoYXQgdG8gY29tbWl0LgorCisgKiBBIHN0cmF5IHN5bWJvbGljIGxpbmsgaW4gJEdJVF9ESVIvcmVmcy8gZGlyZWN0b3J5IGNvdWxkIG1ha2UgbmFtZQorICAgcmVzb2x1dGlvbiBsb29wIGZvcmV2ZXIsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogVGhlICJzdWJtb2R1bGUuPG5hbWU+LnBhdGgiIHN0b3JlZCBpbiAuZ2l0bW9kdWxlcyBpcyBuZXZlciBjb3BpZWQKKyAgIHRvIC5naXQvY29uZmlnIGFuZCBzdWNoIGEga2V5IGluIC5naXQvY29uZmlnIGhhcyBubyBtZWFuaW5nLCBidXQKKyAgIHRoZSBkb2N1bWVudGF0aW9uIGRlc2NyaWJlZCBpdCBhbmQgc3VibW9kdWxlLjxuYW1lPi51cmwgbmV4dCB0bworICAgZWFjaCBvdGhlciBhcyBpZiBib3RoIGJlbG9uZyB0byAuZ2l0L2NvbmZpZy4gIFRoaXMgaGFzIGJlZW4gZml4ZWQuCisKKyAqIFJlY2VudCBnaXQgYWxsb3dzIHN1Ym1vZHVsZS48bmFtZT4uYnJhbmNoIHRvIHVzZSBhIHNwZWNpYWwgdG9rZW4KKyAgICIuIiBpbnN0ZWFkIG9mIHRoZSBicmFuY2ggbmFtZTsgdGhlIGRvY3VtZW50YXRpb24gaGFzIGJlZW4gdXBkYXRlZAorICAgdG8gZGVzY3JpYmUgaXQuCisKKyAqIEluIGEgd29ya3RyZWUgY29ubmVjdGVkIHRvIGEgcmVwb3NpdG9yeSBlbHNld2hlcmUsIGNyZWF0ZWQgdmlhICJnaXQKKyAgIHdvcmt0cmVlIiwgImdpdCBjaGVja291dCIgYXR0ZW1wdHMgdG8gcHJvdGVjdCB1c2VycyBmcm9tIGNvbmZ1c2lvbgorICAgYnkgcmVmdXNpbmcgdG8gY2hlY2sgb3V0IGEgYnJhbmNoIHRoYXQgaXMgYWxyZWFkeSBjaGVja2VkIG91dCBpbgorICAgYW5vdGhlciB3b3JrdHJlZS4gIEhvd2V2ZXIsIHRoaXMgYWxzbyBwcmV2ZW50ZWQgY2hlY2tpbmcgb3V0IGEKKyAgIGJyYW5jaCwgd2hpY2ggaXMgZGVzaWduYXRlZCBhcyB0aGUgcHJpbWFyeSBicmFuY2ggb2YgYSBiYXJlCisgICByZW9wc2l0b3J5LCBpbiBhIHdvcmt0cmVlIHRoYXQgaXMgY29ubmVjdGVkIHRvIHRoZSBiYXJlCisgICByZXBvc2l0b3J5LiAgVGhlIGNoZWNrIGhhcyBiZWVuIGNvcnJlY3RlZCB0byBhbGxvdyBpdC4KKworICogImdpdCByZWJhc2UiIGltbWVkaWF0ZWx5IGFmdGVyICJnaXQgY2xvbmUiIGZhaWxlZCB0byBmaW5kIHRoZSBmb3JrCisgICBwb2ludCBmcm9tIHRoZSB1cHN0cmVhbS4KKworICogV2hlbiBmZXRjaGluZyBmcm9tIGEgcmVtb3RlIHRoYXQgaGFzIG1hbnkgdGFncyB0aGF0IGFyZSBpcnJlbGV2YW50CisgICB0byBicmFuY2hlcyB3ZSBhcmUgZm9sbG93aW5nLCB3ZSB1c2VkIHRvIHdhc3RlIHdheSB0b28gbWFueSBjeWNsZXMKKyAgIHdoZW4gY2hlY2tpbmcgaWYgdGhlIG9iamVjdCBwb2ludGVkIGF0IGJ5IGEgdGFnICh0aGF0IHdlIGFyZSBub3QKKyAgIGdvaW5nIHRvIGZldGNoISkgZXhpc3RzIGluIG91ciByZXBvc2l0b3J5IHRvbyBjYXJlZnVsbHkuCisKKyAqIFRoZSBUcmF2aXMgQ0kgY29uZmlndXJhdGlvbiB3ZSBzaGlwIHJhbiB0aGUgdGVzdHMgd2l0aCAtLXZlcmJvc2UKKyAgIG9wdGlvbiBidXQgdGhpcyByaXNrcyBub24tVEFQIG91dHB1dCB0aGF0IGhhcHBlbnMgdG8gYmUgIm9rIiB0byBiZQorICAgbWlzaW50ZXJwcmV0ZWQgYXMgVEFQIHNpZ25hbGxpbmcgYSB0ZXN0IHRoYXQgcGFzc2VkLiAgVGhpcyByZXN1bHRlZAorICAgaW4gdW5uZWNlc3NhcnkgZmFpbHVyZS4gIFRoaXMgaGFzIGJlZW4gY29ycmVjdGVkIGJ5IGludHJvZHVjaW5nIGEKKyAgIG5ldyBtb2RlIHRvIHJ1biBvdXIgdGVzdHMgaW4gdGhlIHRlc3QgaGFybmVzcyB0byBzZW5kIHRoZSB2ZXJib3NlCisgICBvdXRwdXQgc2VwYXJhdGVseSB0byB0aGUgbG9nIGZpbGUuCisKKyAqIFNvbWUgQXNjaWlEb2MgZm9ybWF0dGVyIG1pc2hhbmRsZXMgYSBkaXNwbGF5ZWQgaWxsdXN0cmF0aW9uIHdpdGgKKyAgIHRhYnMgaW4gaXQuICBBZGp1c3QgYSBmZXcgb2YgdGhlbSBpbiBtZXJnZS1iYXNlIGRvY3VtZW50YXRpb24gdG8KKyAgIHdvcmsgYXJvdW5kIHRoZW0uCisKK0Fsc28gY29udGFpbnMgbWlub3IgZG9jdW1lbnRhdGlvbiB1cGRhdGVzIGFuZCBjb2RlIGNsZWFuLXVwcy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMS4wLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMS4wLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iN2I3ZGQzCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjExLjAudHh0CkBAIC0wLDAgKzEsNTkzIEBACitHaXQgMi4xMSBSZWxlYXNlIE5vdGVzCis9PT09PT09PT09PT09PT09PT09PT09CisKK0JhY2t3YXJkIGNvbXBhdGliaWxpdHkgbm90ZXMuCisKKyAqIEFuIGVtcHR5IHN0cmluZyB1c2VkIGFzIGEgcGF0aHNwZWMgZWxlbWVudCBoYXMgYWx3YXlzIG1lYW50CisgICAnZXZlcnl0aGluZyBtYXRjaGVzJywgYnV0IGl0IGlzIHRvbyBlYXN5IHRvIHdyaXRlIGEgc2NyaXB0IHRoYXQKKyAgIGZpbmRzIGEgcGF0aCB0byByZW1vdmUgaW4gJHBhdGggYW5kIHJ1biAnZ2l0IHJtICIkcGFodCInIGJ5CisgICBtaXN0YWtlICh3aGVuIHRoZSB1c2VyIG1lYW50IHRvIGdpdmUgIiRwYXRoIiksIHdoaWNoIGVuZHMgdXAKKyAgIHJlbW92aW5nIGV2ZXJ5dGhpbmcuICBUaGlzIHJlbGVhc2Ugc3RhcnRzIHdhcm5pbmcgYWJvdXQgdGhlCisgICB1c2Ugb2YgYW4gZW1wdHkgc3RyaW5nIHRoYXQgaXMgdXNlZCBmb3IgJ2V2ZXJ5dGhpbmcgbWF0Y2hlcycgYW5kCisgICBhc2tzIHVzZXJzIHRvIHVzZSBhIG1vcmUgZXhwbGljaXQgJy4nIGZvciB0aGF0IGluc3RlYWQuCisKKyAgIFRoZSBob3BlIGlzIHRoYXQgZXhpc3RpbmcgdXNlcnMgd2lsbCBub3QgbWluZCB0aGlzIGNoYW5nZSwgYW5kCisgICBldmVudHVhbGx5IHRoZSB3YXJuaW5nIGNhbiBiZSB0dXJuZWQgaW50byBhIGhhcmQgZXJyb3IsIHVwZ3JhZGluZworICAgdGhlIGRlcHJlY2F0aW9uIGludG8gcmVtb3ZhbCBvZiB0aGlzIChtaXMpZmVhdHVyZS4KKworICogVGhlIGhpc3RvcmljYWwgYXJndW1lbnQgb3JkZXIgImdpdCBtZXJnZSA8bXNnPiBIRUFEIDxjb21taXQ+Li4uIgorICAgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgcXVpdGUgc29tZSB0aW1lLCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZQorICAgbmV4dCByZWxlYXNlIChub3QgdGhpcyBvbmUpLgorCisgKiBUaGUgZGVmYXVsdCBhYmJyZXZpYXRpb24gbGVuZ3RoLCB3aGljaCBoYXMgaGlzdG9yaWNhbGx5IGJlZW4gNywgbm93CisgICBzY2FsZXMgYXMgdGhlIHJlcG9zaXRvcnkgZ3Jvd3MsIHVzaW5nIHRoZSBhcHByb3hpbWF0ZSBudW1iZXIgb2YKKyAgIG9iamVjdHMgaW4gdGhlIHJlcG9zaXRvcnkgYW5kIGEgYml0IG9mIG1hdGggYXJvdW5kIHRoZSBiaXJ0aGRheQorICAgcGFyYWRveC4gIFRoZSBsb2dpYyBzdWdnZXN0cyB0byB1c2UgMTIgaGV4ZGlnaXRzIGZvciB0aGUgTGludXgKKyAgIGtlcm5lbCwgYW5kIDkgdG8gMTAgZm9yIEdpdCBpdHNlbGYuCisKKworVXBkYXRlcyBzaW5jZSB2Mi4xMAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitVSSwgV29ya2Zsb3dzICYgRmVhdHVyZXMKKworICogQ29tZXMgd2l0aCBuZXcgdmVyc2lvbiBvZiBnaXQtZ3VpLCBub3cgYXQgaXRzIDAuMjEuMCB0YWcuCisKKyAqICJnaXQgZm9ybWF0LXBhdGNoIC0tY292ZXItbGV0dGVyIEhFQUReIiB0byBmb3JtYXQgYSBzaW5nbGUgcGF0Y2gKKyAgIHdpdGggYSBzZXBhcmF0ZSBjb3ZlciBsZXR0ZXIgbm93IG51bWJlcnMgdGhlIG91dHB1dCBhcyBbUEFUQ0ggMC8xXQorICAgYW5kIFtQQVRDSCAxLzFdIGJ5IGRlZmF1bHQuCisKKyAqIEFuIGluY29taW5nICJnaXQgcHVzaCIgdGhhdCBhdHRlbXB0cyB0byBwdXNoIHRvbyBtYW55IGJ5dGVzIGNhbiBub3cKKyAgIGJlIHJlamVjdGVkIGJ5IHNldHRpbmcgYSBuZXcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBhdCB0aGUgcmVjZWl2aW5nCisgICBlbmQuCisKKyAqICJnaXQgbm9zdWNoY29tbWFuZCAtLWhlbHAiIHNhaWQgIk5vIG1hbnVhbCBlbnRyeSBmb3IgZ2l0bm9zdWNoY29tbWFuZCIsCisgICB3aGljaCB3YXMgbm90IGludHVpdGl2ZSwgZ2l2ZW4gdGhhdCAiZ2l0IG5vc3VjaGNvbW1hbmQiIHNhaWQgImdpdDoKKyAgICdub3N1Y2hjb21tYW5kJyBpcyBub3QgYSBnaXQgY29tbWFuZCIuCisKKyAqICJnaXQgY2xvbmUgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgLS1yZWZlcmVuY2UgJHBhdGggJFVSTCIgaXMgYSB3YXkgdG8KKyAgIHJlZHVjZSBuZXR3b3JrIHRyYW5zZmVyIGNvc3QgYnkgYm9ycm93aW5nIG9iamVjdHMgaW4gYW4gZXhpc3RpbmcKKyAgICRwYXRoIHJlcG9zaXRvcnkgd2hlbiBjbG9uaW5nIHRoZSBzdXBlcnByb2plY3QgZnJvbSAkVVJMOyBpdAorICAgbGVhcm5lZCB0byBhbHNvIHBlZWsgaW50byAkcGF0aCBmb3IgcHJlc2VuY2Ugb2YgY29ycmVzcG9uZGluZworICAgcmVwb3NpdG9yaWVzIG9mIHN1Ym1vZHVsZXMgYW5kIGJvcnJvdyBvYmplY3RzIGZyb20gdGhlcmUgd2hlbiBhYmxlLgorCisgKiBUaGUgImdpdCBkaWZmIC0tc3VibW9kdWxlPXtzaG9ydCxsb2d9IiBtZWNoYW5pc20gaGFzIGJlZW4gZW5oYW5jZWQKKyAgIHRvIGFsbG93ICItLXN1Ym1vZHVsZT1kaWZmIiB0byBzaG93IHRoZSBwYXRjaCBiZXR3ZWVuIHRoZSBzdWJtb2R1bGUKKyAgIGNvbW1pdHMgYm91bmQgdG8gdGhlIHN1cGVycHJvamVjdC4KKworICogRXZlbiB0aG91Z2ggImdpdCBoYXNoLW9iamVjdHMiLCB3aGljaCBpcyBhIHRvb2wgdG8gdGFrZSBhbgorICAgb24tZmlsZXN5c3RlbSBkYXRhIHN0cmVhbSBhbmQgcHV0IGl0IGludG8gdGhlIEdpdCBvYmplY3Qgc3RvcmUsCisgICBjYW4gcGVyZm9ybSAib3V0c2lkZS13b3JsZC10by1HaXQiIGNvbnZlcnNpb25zIChlLmcuCisgICBlbmQtb2YtbGluZSBjb252ZXJzaW9ucyBhbmQgYXBwbGljYXRpb24gb2YgdGhlIGNsZWFuLWZpbHRlciksIGFuZAorICAgaXQgaGFzIGhhZCB0aGlzIGZlYXR1cmUgb24gYnkgZGVmYXVsdCBmcm9tIHZlcnkgZWFybHkgZGF5cywgaXRzIHJldmVyc2UKKyAgIG9wZXJhdGlvbiAiZ2l0IGNhdC1maWxlIiwgd2hpY2ggdGFrZXMgYW4gb2JqZWN0IGZyb20gdGhlIEdpdCBvYmplY3QKKyAgIHN0b3JlIGFuZCBleHRlcm5hbGl6ZXMgaXQgZm9yIGNvbnN1bXB0aW9uIGJ5IHRoZSBvdXRzaWRlIHdvcmxkLAorICAgbGFja2VkIGFuIGVxdWl2YWxlbnQgbWVjaGFuaXNtIHRvIHJ1biB0aGUgIkdpdC10by1vdXRzaWRlLXdvcmxkIgorICAgY29udmVyc2lvbi4gIFRoZSBjb21tYW5kIGxlYXJuZWQgdGhlICItLWZpbHRlcnMiIG9wdGlvbiB0byBkbyBzby4KKworICogT3V0cHV0IGZyb20gImdpdCBkaWZmIiBjYW4gYmUgbWFkZSBlYXNpZXIgdG8gcmVhZCBieSBpbnRlbGxpZ2VudGx5IHNlbGVjdGluZworICAgd2hpY2ggbGluZXMgYXJlIGNvbW1vbiBhbmQgd2hpY2ggbGluZXMgYXJlIGFkZGVkL2RlbGV0ZWQKKyAgIHdoZW4gdGhlIGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIGNoYW5nZWQgc2VjdGlvbgorICAgYXJlIHRoZSBzYW1lLiAgQSBjb21tYW5kIGxpbmUgb3B0aW9uICgtLWluZGVudC1oZXVyaXN0aWMpIGFuZCBhCisgICBjb25maWd1cmF0aW9uIHZhcmlhYmxlIChkaWZmLmluZGVudEhldXJpc3RpYykgYXJlIGFkZGVkIHRvIGhlbHAgd2l0aCB0aGUKKyAgIGV4cGVyaW1lbnQgdG8gZmluZCBnb29kIGhldXJpc3RpY3MuCisKKyAqIEluIHNvbWUgcHJvamVjdHMsIGl0IGlzIGNvbW1vbiB0byB1c2UgIltSRkMgUEFUQ0hdIiBhcyB0aGUgc3ViamVjdAorICAgcHJlZml4IGZvciBhIHBhdGNoIG1lYW50IGZvciBkaXNjdXNzaW9uIHJhdGhlciB0aGFuIGFwcGxpY2F0aW9uLiAgQQorICAgbmV3IGZvcm1hdC1wYXRjaCBvcHRpb24gIi0tcmZjIiBpcyBhIHNob3J0LWhhbmQgZm9yICItLXN1YmplY3QtcHJlZml4PVJGQyBQQVRDSCIKKyAgIHRvIGhlbHAgdGhlIHBhcnRpY2lwYW50cyBvZiBzdWNoIHByb2plY3RzLgorCisgKiAiZ2l0IGFkZCAtLWNobW9kPXsrLC19eCA8cGF0aHNwZWM+IiBvbmx5IGNoYW5nZWQgdGhlCisgICBleGVjdXRhYmxlIGJpdCBmb3IgcGF0aHMgdGhhdCBhcmUgZWl0aGVyIG5ldyBvciBtb2RpZmllZC4gVGhpcyBoYXMKKyAgIGJlZW4gY29ycmVjdGVkIHRvIGNoYW5nZSB0aGUgZXhlY3V0YWJsZSBiaXQgZm9yIGFsbCBwYXRocyB0aGF0IG1hdGNoCisgICB0aGUgZ2l2ZW4gcGF0aHNwZWMuCisKKyAqIFdoZW4gImdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQiIG91dHB1dCBpcyBwbGFjZWQgYXMgYW4gaW4tYm9keQorICAgaGVhZGVyIGFuZCBpdCB1c2VzIFJGQzI4MjIgaGVhZGVyIGZvbGRpbmcsICJnaXQgYW0iIGZhaWxzIHRvCisgICBwdXQgdGhlIGhlYWRlciBsaW5lIGJhY2sgaW50byBhIHNpbmdsZSBsb2dpY2FsIGxpbmUuICBUaGUKKyAgIHVuZGVybHlpbmcgImdpdCBtYWlsaW5mbyIgd2FzIHRhdWdodCB0byBoYW5kbGUgdGhpcyBwcm9wZXJseS4KKworICogImdpdHdlYiIgY2FuIHNwYXduICJoaWdobGlnaHQiIHRvIHNob3cgYmxvYiBjb250ZW50cyB3aXRoCisgICAocHJvZ3JhbW1pbmcpIGxhbmd1YWdlLXNwZWNpZmljIHN5bnRheCBoaWdobGlnaHRpbmcsIGJ1dCBvbmx5CisgICB3aGVuIHRoZSBsYW5ndWFnZSBpcyBrbm93bi4gICJoaWdobGlnaHQiIGNhbiBob3dldmVyIGJlIHRvbGQKKyAgIHRvIGd1ZXNzIHRoZSBsYW5ndWFnZSBpdHNlbGYgYnkgZ2l2aW5nIGl0ICItLWZvcmNlIiBvcHRpb24sIHdoaWNoCisgICBoYXMgYmVlbiBlbmFibGVkLgorCisgKiAiZ2l0IGd1aSIgbDEwbiB0byBQb3J0dWd1ZXNlLgorCisgKiBXaGVuIGdpdmVuIGFuIGFiYnJldmlhdGVkIG9iamVjdCBuYW1lIHRoYXQgaXMgbm90IChvciBtb3JlCisgICByZWFsaXN0aWNhbGx5LCAibm8gbG9uZ2VyIikgdW5pcXVlLCB3ZSBnYXZlIGEgZmF0YWwgZXJyb3IKKyAgICJhbWJpZ3VvdXMgYXJndW1lbnQiLiAgVGhpcyBlcnJvciBpcyBub3cgYWNjb21wYW5pZWQgYnkgYSBoaW50IHRoYXQKKyAgIGxpc3RzIHRoZSBvYmplY3RzIGJlZ2lubmluZyB3aXRoIHRoZSBnaXZlbiBwcmVmaXguICBEdXJpbmcgdGhlCisgICBjb3Vyc2Ugb2YgZGV2ZWxvcG1lbnQgb2YgdGhpcyBuZXcgZmVhdHVyZSwgbnVtZXJvdXMgbWlub3IgYnVncyB3ZXJlCisgICB1bmNvdmVyZWQgYW5kIGNvcnJlY3RlZCwgdGhlIG1vc3Qgbm90YWJsZSBvbmUgb2Ygd2hpY2ggaXMgdGhhdCB3ZQorICAgZ2F2ZSAic2hvcnQgU0hBMSB4eHh4IGlzIGFtYmlndW91cy4iIHR3aWNlIHdpdGhvdXQgZ29vZCByZWFzb24uCisKKyAqICJnaXQgbG9nIHJldl4uLnJldiIgaXMgYW4gb2Z0ZW4tdXNlZCByZXZpc2lvbiByYW5nZSBzcGVjaWZpY2F0aW9uCisgICB0byBzaG93IHdoYXQgd2FzIGRvbmUgb24gYSBzaWRlIGJyYW5jaCBtZXJnZWQgYXQgcmV2LiAgVGhpcyBoYXMKKyAgIGdhaW5lZCBhIHNob3J0LWhhbmQgInJldl4tMSIuICBJbiBnZW5lcmFsICJyZXZeLSRuIiBpcyB0aGUgc2FtZSBhcworICAgIl5yZXZeJG4gcmV2IiwgaS5lLiB3aGF0IGhhcyBoYXBwZW5lZCBvbiBvdGhlciBicmFuY2hlcyB3aGlsZSB0aGUKKyAgIGhpc3RvcnkgbGVhZGluZyB0byBudGggcGFyZW50IHdhcyBsb29raW5nIHRoZSBvdGhlciB3YXkuCisKKyAqIEluIHJlY2VudCB2ZXJzaW9ucyBvZiBjVVJMLCBHU1NBUEkgY3JlZGVudGlhbCBkZWxlZ2F0aW9uIGlzCisgICBkaXNhYmxlZCBieSBkZWZhdWx0IGR1ZSB0byBDVkUtMjAxMS0yMTkyOyBpbnRyb2R1Y2UgYSBodHRwLmRlbGVnYXRpb24KKyAgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG8gc2VsZWN0aXZlbHkgYWxsb3cgZW5hYmxpbmcgdGhpcy4KKyAgIChtZXJnZSAyNmE3YjIzNDI5IHBzL2h0dHAtZ3NzYXBpLWNyZWQtZGVsZWdhdGlvbiBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgbWVyZ2V0b29sIiBsZWFybmVkIHRvIGhvbm9yICItTzxvcmRlcmZpbGU+IiB0byBjb250cm9sIHRoZQorICAgb3JkZXIgb2YgcGF0aHMgdG8gcHJlc2VudCB0byB0aGUgZW5kIHVzZXIuCisKKyAqICJnaXQgZGlmZi9sb2cgLS13cy1lcnJvci1oaWdobGlnaHQ9PGtpbmQ+IiBsYWNrZWQgdGhlIGNvcnJlc3BvbmRpbmcKKyAgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgKGRpZmYud3NFcnJvckhpZ2hsaWdodCkgdG8gc2V0IGl0IGJ5IGRlZmF1bHQuCisKKyAqICJnaXQgbHMtZmlsZXMiIGxlYXJuZWQgdGhlICItLXJlY3Vyc2Utc3VibW9kdWxlcyIgb3B0aW9uCisgICB0byBnZXQgYSBsaXN0aW5nIG9mIHRyYWNrZWQgZmlsZXMgYWNyb3NzIHN1Ym1vZHVsZXMgKGkuZS4gdGhpcworICAgb25seSB3b3JrcyB3aXRoIHRoZSAiLS1jYWNoZWQiIG9wdGlvbiwgbm90IGZvciBsaXN0aW5nIHVudHJhY2tlZCBvcgorICAgaWdub3JlZCBmaWxlcykuICBUaGlzIHdvdWxkIGJlIGEgdXNlZnVsIHRvb2wgdG8gc2l0IG9uIHRoZSB1cHN0cmVhbQorICAgc2lkZSBvZiBhIHBpcGUgdGhhdCBpcyByZWFkIHdpdGggeGFyZ3MgdG8gd29yayBvbiBhbGwgd29ya2luZyB0cmVlCisgICBmaWxlcyBmcm9tIHRoZSB0b3AtbGV2ZWwgc3VwZXJwcm9qZWN0LgorCisgKiBBIG5ldyBjcmVkZW50aWFsIGhlbHBlciB0aGF0IHRhbGtzIHZpYSAibGlic2VjcmV0IiB3aXRoCisgICBpbXBsZW1lbnRhdGlvbnMgb2YgWERHIFNlY3JldCBTZXJ2aWNlIEFQSSBoYXMgYmVlbiBhZGRlZCB0bworICAgY29udHJpYi9jcmVkZW50aWFsLy4KKworICogVGhlIEdQRyB2ZXJpZmljYXRpb24gc3RhdHVzIHNob3duIGJ5IHRoZSAiJUc/IiBwcmV0dHkgZm9ybWF0IHNwZWNpZmllcgorICAgd2FzIG5vdCByaWNoIGVub3VnaCB0byBkaWZmZXJlbnRpYXRlIGEgc2lnbmF0dXJlIG1hZGUgYnkgYW4gZXhwaXJlZAorICAga2V5LCBhIHNpZ25hdHVyZSBtYWRlIGJ5IGEgcmV2b2tlZCBrZXksIGV0Yy4gIE5ldyBvdXRwdXQgbGV0dGVycworICAgaGF2ZSBiZWVuIGFzc2lnbmVkIHRvIGV4cHJlc3MgdGhlbS4KKworICogSW4gYWRkaXRpb24gdG8gcHVyZWx5IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgbmFtZXMsICJnaXR3ZWIiCisgICBsZWFybmVkIHRvIHR1cm4gImdpdCBkZXNjcmliZSIgb3V0cHV0IChlLmcuIHYyLjkuMy01OTktZzIzNzZkMzE3ODcpCisgICBpbnRvIGNsaWNrYWJsZSBsaW5rcyBpbiBpdHMgb3V0cHV0LgorCisgKiAiZ2l0IGNvbW1pdCIgY3JlYXRlZCBhbiBlbXB0eSBjb21taXQgd2hlbiBpbnZva2VkIHdpdGggYW4gaW5kZXgKKyAgIGNvbnNpc3Rpbmcgc29sZWx5IG9mIGludGVuZC10by1hZGQgcGF0aHMgKGFkZGVkIHdpdGggImdpdCBhZGQgLU4iKS4KKyAgIEl0IG5vdyByZXF1aXJlcyB0aGUgIi0tYWxsb3ctZW1wdHkiIG9wdGlvbiB0byBjcmVhdGUgc3VjaCBhIGNvbW1pdC4KKyAgIFRoZSBzYW1lIGxvZ2ljIHByZXZlbnRlZCAiZ2l0IHN0YXR1cyIgZnJvbSBzaG93aW5nIHN1Y2ggcGF0aHMgYXMgIm5ldyBmaWxlcyIgaW4gdGhlCisgICAiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQiIHNlY3Rpb24uCisKKyAqIFRoZSBzbXVkZ2UvY2xlYW4gZmlsdGVyIEFQSSBzcGF3bnMgYW4gZXh0ZXJuYWwgcHJvY2VzcworICAgdG8gZmlsdGVyIHRoZSBjb250ZW50cyBvZiBlYWNoIHBhdGggdGhhdCBoYXMgYSBmaWx0ZXIgZGVmaW5lZC4gIEEKKyAgIG5ldyB0eXBlIG9mICJwcm9jZXNzIiBmaWx0ZXIgQVBJIGhhcyBiZWVuIGFkZGVkIHRvIGFsbG93IHRoZSBmaXJzdAorICAgcmVxdWVzdCB0byBydW4gdGhlIGZpbHRlciBmb3IgYSBwYXRoIHRvIHNwYXduIGEgc2luZ2xlIHByb2Nlc3MsIGFuZAorICAgYWxsIGZpbHRlcmluZyBpcyBzZXJ2ZWQgYnkgdGhpcyBzaW5nbGUgcHJvY2VzcyBmb3IgbXVsdGlwbGUKKyAgIHBhdGhzLCByZWR1Y2luZyB0aGUgcHJvY2VzcyBjcmVhdGlvbiBvdmVyaGVhZC4KKworICogVGhlIHVzZXIgYWx3YXlzIGhhcyB0byBzYXkgInN0YXNoQHskTn0iIHdoZW4gbmFtaW5nIGEgc2luZ2xlCisgICBlbGVtZW50IGluIHRoZSBkZWZhdWx0IGxvY2F0aW9uIG9mIHRoZSBzdGFzaCwgaS5lLiByZWZsb2dzIGluCisgICByZWZzL3N0YXNoLiAgVGhlICJnaXQgc3Rhc2giIGNvbW1hbmQgbGVhcm5lZCB0byBhY2NlcHQgImdpdCBzdGFzaAorICAgYXBwbHkgNCIgYXMgYSBzaG9ydC1oYW5kIGZvciAiZ2l0IHN0YXNoIGFwcGx5IHN0YXNoQHs0fSIuCisKKworUGVyZm9ybWFuY2UsIEludGVybmFsIEltcGxlbWVudGF0aW9uLCBEZXZlbG9wbWVudCBTdXBwb3J0IGV0Yy4KKworICogVGhlIGRlbHRhLWJhc2UtY2FjaGUgbWVjaGFuaXNtIGhhcyBiZWVuIGEga2V5IHRvIHRoZSBwZXJmb3JtYW5jZSBpbgorICAgYSByZXBvc2l0b3J5IHdpdGggYSB0aWdodGx5IHBhY2tlZCBwYWNrZmlsZSwgYnV0IGl0IGRpZCBub3Qgc2NhbGUKKyAgIHdlbGwgZXZlbiB3aXRoIGEgbGFyZ2VyIHZhbHVlIG9mIGNvcmUuZGVsdGFCYXNlQ2FjaGVMaW1pdC4KKworICogRW5oYW5jZSAiZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbiIgb3V0cHV0IGJ5IGNvbGxlY3RpbmcgbW9yZSBkYXRhIG9uCisgICB0aGUgc3RhdGUgb2YgdGhlIGluZGV4IGFuZCB0aGUgd29ya2luZyB0cmVlIGZpbGVzLCB3aGljaCBtYXkKKyAgIGZ1cnRoZXIgYmUgdXNlZCB0byB0ZWFjaCBnaXQtcHJvbXB0IChpbiBjb250cmliLykgdG8gbWFrZSBmZXdlcgorICAgY2FsbHMgdG8gZ2l0LgorCisgKiBFeHRyYWN0IGEgc21hbGwgaGVscGVyIG91dCBvZiB0aGUgZnVuY3Rpb24gdGhhdCByZWFkcyB0aGUgYXV0aG9ycworICAgc2NyaXB0IGZpbGUgImdpdCBhbSIgaW50ZXJuYWxseSB1c2VzLgorICAgKG1lcmdlIGE3NzU5OGUgamMvYW0tcmVhZC1hdXRob3ItZmlsZSBsYXRlciB0byBtYWludCkuCisKKyAqIExpZnQgY2FsbHMgdG8gZXhpdCgyKSBhbmQgZGllKCkgaGlnaGVyIGluIHRoZSBjYWxsY2hhaW4gaW4KKyAgIHNlcXVlbmNlci5jIGZpbGVzIHNvIHRoYXQgbW9yZSBoZWxwZXIgZnVuY3Rpb25zIGluIGl0IGNhbiBiZSB1c2VkCisgICBieSBjYWxsZXJzIHRoYXQgd2FudCB0byBoYW5kbGUgZXJyb3IgY29uZGl0aW9ucyB0aGVtc2VsdmVzLgorCisgKiAiZ2l0IGFtIiBoYXMgYmVlbiB0YXVnaHQgdG8gbWFrZSBhbiBpbnRlcm5hbCBjYWxsIHRvICJnaXQgYXBwbHkiJ3MKKyAgIGlubmFyZHMgd2l0aG91dCBzcGF3bmluZyB0aGUgbGF0dGVyIGFzIGEgc2VwYXJhdGUgcHJvY2Vzcy4KKworICogVGhlIHJlZi1zdG9yZSBhYnN0cmFjdGlvbiB3YXMgaW50cm9kdWNlZCB0byB0aGUgcmVmcyBBUEkgc28gdGhhdCB3ZQorICAgY2FuIHBsdWcgaW4gZGlmZmVyZW50IGJhY2tlbmRzIHRvIHN0b3JlIHJlZmVyZW5jZXMuCisKKyAqIFRoZSAidW5zaWduZWQgY2hhciBzaGExWzIwXSIgdG8gInN0cnVjdCBvYmplY3RfaWQiIGNvbnZlcnNpb24KKyAgIGNvbnRpbnVlcy4gIE5vdGFibGUgY2hhbmdlcyBpbiB0aGlzIHJvdW5kIGluY2x1ZGVzIHRoYXQgY2UtPnNoYTEsCisgICBpLmUuIHRoZSBvYmplY3QgbmFtZSByZWNvcmRlZCBpbiB0aGUgY2FjaGVfZW50cnksIHR1cm5zIGludG8gYW4KKyAgIG9iamVjdF9pZC4KKworICogSkdpdCBjYW4gc2hvdyBhIGZha2UgcmVmICJjYXBhYmlsaXRpZXNee30iIHRvICJnaXQgZmV0Y2giIHdoZW4gaXQKKyAgIGRvZXMgbm90IGFkdmVydGlzZSBhbnkgcmVmcywgYnV0ICJnaXQgZmV0Y2giIHdhcyBub3QgcHJlcGFyZWQgdG8KKyAgIHNlZSBzdWNoIGFuIGFkdmVydGlzZW1lbnQuICBXaGVuIHRoZSBvdGhlciBzaWRlIGRpc2Nvbm5lY3RzIHdpdGhvdXQKKyAgIGdpdmluZyBhbnkgcmVmIGFkdmVydGlzZW1lbnQsIHdlIHVzZWQgdG8gc2F5ICJ0aGVyZSBtYXkgbm90IGJlIGEKKyAgIHJlcG9zaXRvcnkgYXQgdGhhdCBVUkwiLCBidXQgd2UgbWF5IGhhdmUgc2VlbiBvdGhlciBhZHZlcnRpc2VtZW50cworICAgbGlrZSAic2hhbGxvdyIgYW5kICIuaGF2ZSIgaW4gd2hpY2ggY2FzZSB3ZSBkZWZpbml0ZWx5IGtub3cgdGhhdCBhCisgICByZXBvc2l0b3J5IGlzIHRoZXJlLiAgVGhlIGNvZGUgdG8gZGV0ZWN0IHRoaXMgY2FzZSBoYXMgYWxzbyBiZWVuCisgICB1cGRhdGVkLgorCisgKiBTb21lIGNvZGVwYXRocyBpbiAiZ2l0IHBhY2stb2JqZWN0cyIgd2VyZSBub3QgcmVhZHkgdG8gdXNlIGFuCisgICBleGlzdGluZyBwYWNrIGJpdG1hcDsgbm93IHRoZXkgYXJlIGFuZCBhcyBhIHJlc3VsdCB0aGV5IGhhdmUKKyAgIGJlY29tZSBmYXN0ZXIuCisKKyAqIFRoZSBjb2RlcGF0aCBpbiAiZ2l0IGZzY2siIHRvIGRldGVjdCBtYWxmb3JtZWQgdHJlZSBvYmplY3RzIGhhcworICAgYmVlbiB1cGRhdGVkIG5vdCB0byBkaWUgYnV0IGtlZXAgZ29pbmcgYWZ0ZXIgZGV0ZWN0aW5nIHRoZW0uCisKKyAqIFdlIGNhbGwgInFzb3J0KGFycmF5LCBuZWxlbSwgc2l6ZW9mKGFycmF5WzBdKSwgZm4pIiwgYW5kIG1vc3Qgb2YKKyAgIHRoZSB0aW1lIHRoaXJkIHBhcmFtZXRlciBpcyByZWR1bmRhbnQuICBBIG5ldyBRU09SVCgpIG1hY3JvIGxldHMgdXMKKyAgIG9taXQgaXQuCisKKyAqICJnaXQgcGFjay1vYmplY3RzIiBpbiBhIHJlcG9zaXRvcnkgd2l0aCBtYW55IHBhY2tmaWxlcyB1c2VkIHRvCisgICBzcGVuZCBhIGxvdCBvZiB0aW1lIGxvb2tpbmcgZm9yL2F0IG9iamVjdHMgaW4gdGhlbTsgdGhlIGFjY2Vzc2VzIHRvCisgICB0aGUgcGFja2ZpbGVzIGFyZSBub3cgb3B0aW1pemVkIGJ5IGNoZWNraW5nIHRoZSBtb3N0LXJlY2VudGx5LXVzZWQKKyAgIHBhY2tmaWxlIGZpcnN0LgorICAgKG1lcmdlIGM5YWY3MDhiMWEgamsvcGFjay1vYmplY3RzLW9wdGltLW1ydSBsYXRlciB0byBtYWludCkuCisKKyAqIENvZGVwYXRocyBpbnZvbHZlZCBpbiBpbnRlcmFjdGluZyBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlcyBoYXZlCisgICBiZWVuIGNsZWFuZWQgdXAuCisKKyAqIEluIG9yZGVyIGZvciB0aGUgcmVjZWl2aW5nIGVuZCBvZiAiZ2l0IHB1c2giIHRvIGluc3BlY3QgdGhlCisgICByZWNlaXZlZCBoaXN0b3J5IGFuZCBkZWNpZGUgdG8gcmVqZWN0IHRoZSBwdXNoLCB0aGUgb2JqZWN0cyBzZW50CisgICBmcm9tIHRoZSBzZW5kaW5nIGVuZCBuZWVkIHRvIGJlIG1hZGUgYXZhaWxhYmxlIHRvIHRoZSBob29rIGFuZAorICAgdGhlIG1lY2hhbmlzbSBmb3IgdGhlIGNvbm5lY3Rpdml0eSBjaGVjaywgYW5kIHRoaXMgd2FzIGRvbmUKKyAgIHRyYWRpdGlvbmFsbHkgYnkgc3RvcmluZyB0aGUgb2JqZWN0cyBpbiB0aGUgcmVjZWl2aW5nIHJlcG9zaXRvcnkKKyAgIGFuZCBsZXR0aW5nICJnaXQgZ2MiIGV4cGlyZSB0aGVtLiAgSW5zdGVhZCwgc3RvcmUgdGhlIG5ld2x5CisgICByZWNlaXZlZCBvYmplY3RzIGluIGEgdGVtcG9yYXJ5IGFyZWEsIGFuZCBtYWtlIHRoZW0gYXZhaWxhYmxlIGJ5CisgICByZXVzaW5nIHRoZSBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIG1lY2hhbmlzbSB0byB0aGVtIG9ubHkgd2hpbGUgd2UKKyAgIGRlY2lkZSBpZiB3ZSBhY2NlcHQgdGhlIGNoZWNrLCBhbmQgb25jZSB3ZSBkZWNpZGUsIGVpdGhlciBtaWdyYXRlCisgICB0aGVtIHRvIHRoZSByZXBvc2l0b3J5IG9yIHB1cmdlIHRoZW0gaW1tZWRpYXRlbHkuCisKKyAqIFRoZSByZXF1aXJlX2NsZWFuX3dvcmtfdHJlZSgpIGhlbHBlciB3YXMgcmVjcmVhdGVkIGluIEMgd2hlbiAiZ2l0CisgICBwdWxsIiB3YXMgcmV3cml0dGVuIGZyb20gc2hlbGw7IHRoZSBoZWxwZXIgaXMgbm93IG1hZGUgYXZhaWxhYmxlIHRvCisgICBvdGhlciBjYWxsZXJzIGluIHByZXBhcmF0aW9uIGZvciB1cGNvbWluZyAicmViYXNlIC1pIiB3b3JrLgorCisgKiAiZ2l0IHVwbG9hZC1wYWNrIiBoYWQgaXRzIGNvZGUgY2xlYW5lZC11cCBhbmQgcGVyZm9ybWFuY2UgaW1wcm92ZWQKKyAgIGJ5IHJlZHVjaW5nIHVzZSBvZiB0aW1lc3RhbXAtb3JkZXJlZCBjb21taXQtbGlzdCwgd2hpY2ggd2FzCisgICByZXBsYWNlZCB3aXRoIGEgcHJpb3JpdHkgcXVldWUuCisKKyAqICJnaXQgZGlmZiAtLW5vLWluZGV4IiBjb2RlcGF0aCBoYXMgYmVlbiB1cGRhdGVkIG5vdCB0byB0cnkgdG8gcGVlaworICAgaW50byBhIC5naXQvIGRpcmVjdG9yeSB0aGF0IGhhcHBlbnMgdG8gYmUgdW5kZXIgdGhlIGN1cnJlbnQKKyAgIGRpcmVjdG9yeSwgd2hlbiB3ZSBrbm93IHdlIGFyZSBvcGVyYXRpbmcgb3V0c2lkZSBhbnkgcmVwb3NpdG9yeS4KKworICogVXBkYXRlIG9mIHRoZSBzZXF1ZW5jZXIgY29kZWJhc2UgdG8gbWFrZSBpdCByZXVzYWJsZSB0byByZWltcGxlbWVudAorICAgInJlYmFzZSAtaSIgY29udGludWVzLgorCisgKiBHaXQgZ2VuZXJhbGx5IGRvZXMgbm90IGV4cGxpY2l0bHkgY2xvc2UgZmlsZSBkZXNjcmlwdG9ycyB0aGF0IHdlcmUKKyAgIG9wZW4gaW4gdGhlIHBhcmVudCBwcm9jZXNzIHdoZW4gc3Bhd25pbmcgYSBjaGlsZCBwcm9jZXNzLCBidXQgbW9zdAorICAgb2YgdGhlIHRpbWUgdGhlIGNoaWxkIGRvZXMgbm90IHdhbnQgdG8gYWNjZXNzIHRoZW0uIEFzIFdpbmRvd3MgZG9lcworICAgbm90IGFsbG93IHJlbW92aW5nIG9yIHJlbmFtaW5nIGEgZmlsZSB0aGF0IGhhcyBhIGZpbGUgZGVzY3JpcHRvcgorICAgb3BlbiwgYSBzbG93LXRvLWV4aXQgY2hpbGQgY2FuIGV2ZW4gYnJlYWsgdGhlIHBhcmVudCBwcm9jZXNzIGJ5CisgICBob2xkaW5nIG9udG8gdGhlbS4gIFVzZSBPX0NMT0VYRUMgZmxhZyB0byBvcGVuIGZpbGVzIGluIHZhcmlvdXMKKyAgIGNvZGVwYXRocy4KKworICogVXBkYXRlICJpbnRlcnByZXQtdHJhaWxlcnMiIG1hY2hpbmVyeSBhbmQgdGVhY2ggaXQgdGhhdCBwZW9wbGUgaW4KKyAgIHRoZSByZWFsIHdvcmxkIHdyaXRlIGFsbCBzb3J0cyBvZiBjcnVmdCBpbiB0aGUgInRyYWlsZXIiIHRoYXQgd2FzCisgICBvcmlnaW5hbGx5IGRlc2lnbmVkIHRvIGhhdmUgdGhlIG5lYXQtbyAiTWFpbC1IZWFkZXI6IGxpa2UgdGhpbmciCisgICBhbmQgbm90aGluZyBlbHNlLgorCisKK0Fsc28gY29udGFpbnMgdmFyaW91cyBkb2N1bWVudGF0aW9uIHVwZGF0ZXMgYW5kIGNvZGUgY2xlYW4tdXBzLgorCisKK0ZpeGVzIHNpbmNlIHYyLjEwCistLS0tLS0tLS0tLS0tLS0tLQorCitVbmxlc3Mgb3RoZXJ3aXNlIG5vdGVkLCBhbGwgdGhlIGZpeGVzIHNpbmNlIHYyLjkgaW4gdGhlIG1haW50ZW5hbmNlCit0cmFjayBhcmUgY29udGFpbmVkIGluIHRoaXMgcmVsZWFzZSAoc2VlIHRoZSBtYWludGVuYW5jZSByZWxlYXNlcycKK25vdGVzIGZvciBkZXRhaWxzKS4KKworICogQ2xhcmlmeSB2YXJpb3VzIHdheXMgdG8gc3BlY2lmeSB0aGUgInJldmlzaW9uIHJhbmdlcyIgaW4gdGhlCisgICBkb2N1bWVudGF0aW9uLgorCisgKiAiZGlmZi1oaWdobGlnaHQiIHNjcmlwdCAoaW4gY29udHJpYi8pIGxlYXJuZWQgdG8gd29yayBiZXR0ZXIgd2l0aAorICAgImdpdCBsb2cgLXAgLS1ncmFwaCIgb3V0cHV0LgorCisgKiBUaGUgdGVzdCBmcmFtZXdvcmsgbGVmdCB0aGUgbnVtYmVyIG9mIHRlc3RzIGFuZCBzdWNjZXNzL2ZhaWx1cmUKKyAgIGNvdW50IGluIHRoZSB0L3Rlc3QtcmVzdWx0cyBkaXJlY3RvcnksIGtleWVkIGJ5IHRoZSBuYW1lIG9mIHRoZQorICAgdGVzdCBzY3JpcHQgcGx1cyB0aGUgcHJvY2VzcyBJRC4gIFRoZSBsYXR0ZXIgaG93ZXZlciB0dXJuZWQgb3V0IG5vdAorICAgdG8gc2VydmUgYW55IHVzZWZ1bCBwdXJwb3NlLiAgVGhlIHByb2Nlc3MgSUQgcGFydCBvZiB0aGUgZmlsZW5hbWUKKyAgIGhhcyBiZWVuIHJlbW92ZWQuCisKKyAqIEhhdmluZyBhIHN1Ym1vZHVsZSB3aG9zZSAiLmdpdCIgcmVwb3NpdG9yeSBpcyBzb21laG93IGNvcnJ1cHQKKyAgIGNhdXNlZCBhIGZldyBjb21tYW5kcyB0aGF0IHJlY3Vyc2UgaW50byBzdWJtb2R1bGVzIHRvIGxvb3AgZm9yZXZlci4KKworICogImdpdCBzeW1ib2xpYy1yZWYgLWQgSEVBRCIgaGFwcGlseSByZW1vdmVzIHRoZSBzeW1ib2xpYyByZWYsIGJ1dAorICAgdGhlIHJlc3VsdGluZyByZXBvc2l0b3J5IGJlY29tZXMgYW4gaW52YWxpZCBvbmUuICBUZWFjaCB0aGUgY29tbWFuZAorICAgdG8gZm9yYmlkIHJlbW92YWwgb2YgSEVBRC4KKworICogQSB0ZXN0IHNwYXduZWQgYSBzaG9ydC1saXZlZCBiYWNrZ3JvdW5kIHByb2Nlc3MsIHdoaWNoIHNvbWV0aW1lcworICAgcHJldmVudGVkIHRoZSB0ZXN0IGRpcmVjdG9yeSBmcm9tIGdldHRpbmcgcmVtb3ZlZCBhdCB0aGUgZW5kIG9mIHRoZQorICAgc2NyaXB0IG9uIHNvbWUgcGxhdGZvcm1zLgorCisgKiBVcGRhdGUgYSBmZXcgdGVzdHMgdGhhdCB1c2VkIHRvIHVzZSBHSVRfQ1VSTF9WRVJCT1NFIHRvIHVzZSB0aGUKKyAgIG5ld2VyIEdJVF9UUkFDRV9DVVJMLgorCisgKiAiZ2l0IHBhY2stb2JqZWN0cyAtLWluY2x1ZGUtdGFnIiB3YXMgdGF1Z2h0IHRoYXQgd2hlbiB3ZSBrbm93IHRoYXQKKyAgIHdlIGFyZSBzZW5kaW5nIGFuIG9iamVjdCBDLCB3ZSB3YW50IGEgdGFnIEIgdGhhdCBkaXJlY3RseSBwb2ludHMgYXQKKyAgIEMgYnV0IGFsc28gYSB0YWcgQSB0aGF0IHBvaW50cyBhdCB0aGUgdGFnIEIuICBXZSB1c2VkIHRvIG1pc3MgdGhlCisgICBpbnRlcm1lZGlhdGUgdGFnIEIgaW4gc29tZSBjYXNlcy4KKworICogVXBkYXRlIEphcGFuZXNlIHRyYW5zbGF0aW9uIGZvciAiZ2l0LWd1aSIuCisKKyAqICJnaXQgZmV0Y2ggaHR0cDo6L3NpdGUvcGF0aCIgZGlkIG5vdCBkaWUgY29ycmVjdGx5IGFuZCBzZWdmYXVsdGVkCisgICBpbnN0ZWFkLgorCisgKiAiZ2l0IGNvbW1pdC10cmVlIiBzdG9wcGVkIHJlYWRpbmcgY29tbWl0LmdwZ3NpZ24gY29uZmlndXJhdGlvbgorICAgdmFyaWFibGUgdGhhdCB3YXMgbWVhbnQgZm9yIFBvcmNlbGFpbiAiZ2l0IGNvbW1pdCIgaW4gR2l0IDIuOTsgd2UKKyAgIGZvcmdvdCB0byB1cGRhdGUgImdpdCBndWkiIHRvIGxvb2sgYXQgdGhlIGNvbmZpZ3VyYXRpb24gdG8gbWF0Y2gKKyAgIHRoaXMgY2hhbmdlLgorCisgKiAiZ2l0IGFkZCAtLWNobW9kPXsrLC19eCIgYWRkZWQgcmVjZW50bHkgbGFja2VkIGRvY3VtZW50YXRpb24sIHdoaWNoIGhhcworICAgYmVlbiBjb3JyZWN0ZWQuCisKKyAqICJnaXQgbG9nIC0tY2hlcnJ5LXBpY2siIHVzZWQgdG8gaW5jbHVkZSBtZXJnZSBjb21taXRzIGFzIGNhbmRpZGF0ZXMKKyAgIHRvIGJlIG1hdGNoZWQgdXAgd2l0aCBvdGhlciBjb21taXRzLCByZXN1bHRpbmcgYSBsb3Qgb2Ygd2FzdGVkIHRpbWUuCisgICBUaGUgcGF0Y2gtaWQgZ2VuZXJhdGlvbiBsb2dpYyBoYXMgYmVlbiB1cGRhdGVkIHRvIGlnbm9yZSBtZXJnZXMgYW5kCisgICBhdm9pZCB0aGUgd2FzdGFnZS4KKworICogVGhlIGh0dHAgdHJhbnNwb3J0ICh3aXRoIGN1cmwtbXVsdGkgb3B0aW9uLCB3aGljaCBpcyB0aGUgZGVmYXVsdAorICAgdGhlc2UgZGF5cykgZmFpbGVkIHRvIHJlbW92ZSBjdXJsLWVhc3kgaGFuZGxlIGZyb20gYSBjdXJsbSBzZXNzaW9uLAorICAgd2hpY2ggbGVkIHRvIHVubmVjZXNzYXJ5IEFQSSBmYWlsdXJlcy4KKworICogVGhlcmUgd2VyZSBudW1lcm91cyBjb3JuZXIgY2FzZXMgaW4gd2hpY2ggdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMKKyAgIGFyZSByZWFkIGFuZCB1c2VkIG9yIG5vdCByZWFkIGF0IGFsbCBkZXBlbmRpbmcgb24gdGhlIGRpcmVjdG9yeSBhCisgICBHaXQgY29tbWFuZCB3YXMgcnVuLCBsZWFkaW5nIHRvIGluY29uc2lzdGVudCBiZWhhdmlvdXIuICBUaGUgY29kZQorICAgdG8gc2V0LXVwIHJlcG9zaXRvcnkgYWNjZXNzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBHaXQgcHJvY2VzcyBoYXMKKyAgIGJlZW4gdXBkYXRlZCB0byBmaXggdGhlbS4KKyAgIChtZXJnZSA0ZDBlZmExIGprL3NldHVwLXNlcXVlbmNlLXVwZGF0ZSBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgZGlmZiAtVyIgb3V0cHV0IG5lZWRzIHRvIGV4dGVuZCB0aGUgY29udGV4dCBiYWNrd2FyZCB0bworICAgaW5jbHVkZSB0aGUgaGVhZGVyIGxpbmUgb2YgdGhlIGN1cnJlbnQgZnVuY3Rpb24gYW5kIGFsc28gZm9yd2FyZCB0bworICAgaW5jbHVkZSB0aGUgYm9keSBvZiB0aGUgZW50aXJlIGN1cnJlbnQgZnVuY3Rpb24gdXAgdG8gdGhlIGhlYWRlcgorICAgbGluZSBvZiB0aGUgbmV4dCBvbmUuICBUaGlzIHByb2Nlc3MgbWF5IGhhdmUgdG8gbWVyZ2UgdHdvIGFkamFjZW50CisgICBodW5rcywgYnV0IHRoZSBjb2RlIGZvcmdvdCB0byBkbyBzbyBpbiBzb21lIGNhc2VzLgorCisgKiBQZXJmb3JtYW5jZSB0ZXN0cyBkb25lIHZpYSAidC9wZXJmIiBkaWQgbm90IHVzZSB0aGUgcmlnaHQKKyAgIGJ1aWxkIGNvbmZpZ3VyYXRpb24gaWYgdGhlIHVzZXIgcmVsaWVkIG9uIGF1dG9jb25mIGdlbmVyYXRlZAorICAgY29uZmlndXJhdGlvbi4KKworICogImdpdCBmb3JtYXQtcGF0Y2ggLS1iYXNlPS4uLiIgZmVhdHVyZSB0aGF0IHdhcyByZWNlbnRseSBhZGRlZAorICAgc2hvd2VkIHRoZSBiYXNlIGNvbW1pdCBpbmZvcm1hdGlvbiBhZnRlciB0aGUgIi0tICIgZS1tYWlsIHNpZ25hdHVyZQorICAgbGluZSwgd2hpY2ggdHVybmVkIG91dCB0byBiZSBpbmNvbnZlbmllbnQuICBUaGUgYmFzZSBpbmZvcm1hdGlvbgorICAgaGFzIGJlZW4gbW92ZWQgYWJvdmUgdGhlIHNpZ25hdHVyZSBsaW5lLgorCisgKiBNb3JlIGkxOG4uCisKKyAqIEV2ZW4gd2hlbiAiZ2l0IHB1bGwgLS1yZWJhc2U9cHJlc2VydmUiIChhbmQgdGhlIHVuZGVybHlpbmcgImdpdAorICAgcmViYXNlIC0tcHJlc2VydmUiKSBjYW4gY29tcGxldGUgd2l0aG91dCBjcmVhdGluZyBhbnkgbmV3IGNvbW1pdHMKKyAgIChpLmUuIGZhc3QtZm9yd2FyZHMpLCBpdCBzdGlsbCBpbnNpc3RlZCBvbiBoYXZpbmcgdXNhYmxlIGlkZW50CisgICBpbmZvcm1hdGlvbiAocmVhZDogdXNlci5lbWFpbCBpcyBzZXQgY29ycmVjdGx5KSwgd2hpY2ggd2FzIGxlc3MKKyAgIHRoYW4gbmljZS4gIEFzIHRoZSB1bmRlcmx5aW5nIGNvbW1hbmRzIHVzZWQgaW5zaWRlICJnaXQgcmViYXNlIgorICAgd291bGQgZmFpbCB3aXRoIGEgbW9yZSBtZWFuaW5nZnVsIGVycm9yIG1lc3NhZ2UgYW5kIGFkdmljZSB0ZXh0CisgICB3aGVuIHRoZSBib2d1cyBpZGVudCBtYXR0ZXJzLCB0aGlzIGV4dHJhIGNoZWNrIHdhcyByZW1vdmVkLgorCisgKiAiZ2l0IGdjIC0tYWdncmVzc2l2ZSIgdXNlZCB0byBsaW1pdCB0aGUgZGVsdGEtY2hhaW4gbGVuZ3RoIHRvIDI1MCwKKyAgIHdoaWNoIGlzIHdheSB0b28gZGVlcCBmb3IgZ2FpbmluZyBhZGRpdGlvbmFsIHNwYWNlIHNhdmluZ3MgYW5kIGlzCisgICBkZXRyaW1lbnRhbCBmb3IgcnVudGltZSBwZXJmb3JtYW5jZS4gIFRoZSBsaW1pdCBoYXMgYmVlbiByZWR1Y2VkIHRvCisgICA1MC4KKworICogRG9jdW1lbnRhdGlvbiBmb3IgaW5kaXZpZHVhbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyB0byBjb250cm9sIHVzZQorICAgb2YgY29sb3IgKGxpa2UgYGNvbG9yLmdyZXBgKSBzYWlkIHRoYXQgdGhlaXIgZGVmYXVsdCB2YWx1ZSBpcworICAgJ2ZhbHNlJywgaW5zdGVhZCBvZiBzYXlpbmcgdGhlaXIgZGVmYXVsdCBpcyB0YWtlbiBmcm9tIGBjb2xvci51aWAuCisgICBXaGVuIHdlIHVwZGF0ZWQgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIGNvbG9yLnVpIGZyb20gJ2ZhbHNlJyB0bworICAgJ2F1dG8nIHF1aXRlIGEgd2hpbGUgYWdvLCBhbGwgb2YgdGhlbSBicm9rZS4gIFRoaXMgaGFzIGJlZW4KKyAgIGNvcnJlY3RlZC4KKworICogVGhlIHByZXR0eS1mb3JtYXQgc3BlY2lmaWVyICIlQyhhdXRvKSIgdXNlZCBieSB0aGUgImxvZyIgZmFtaWx5IG9mCisgICBjb21tYW5kcyB0byBlbmFibGUgY29sb3Jpbmcgb2YgdGhlIG91dHB1dCBpcyB0YXVnaHQgdG8gYWxzbyBpc3N1ZSBhCisgICBjb2xvci1yZXNldCBzZXF1ZW5jZSB0byB0aGUgb3V0cHV0LgorCisgKiBBIHNoZWxsIHNjcmlwdCBleGFtcGxlIGluIGNoZWNrLXJlZi1mb3JtYXQgZG9jdW1lbnRhdGlvbiBoYXMgYmVlbgorICAgZml4ZWQuCisKKyAqICJnaXQgY2hlY2tvdXQgPHdvcmQ+IiBkb2VzIG5vdCBmb2xsb3cgdGhlIHVzdWFsIGRpc2FtYmlndWF0aW9uCisgICBydWxlcyB3aGVuIHRoZSA8d29yZD4gY2FuIGJlIGJvdGggYSByZXYgYW5kIGEgcGF0aCwgdG8gYWxsb3cKKyAgIGNoZWNraW5nIG91dCBhIGJyYW5jaCAnZm9vJyBpbiBhIHByb2plY3QgdGhhdCBoYXBwZW5zIHRvIGhhdmUgYQorICAgZmlsZSAnZm9vJyBpbiB0aGUgd29ya2luZyB0cmVlIHdpdGhvdXQgaGF2aW5nIHRvIGRpc2FtYmlndWF0ZS4KKyAgIFRoaXMgd2FzIHBvb3JseSBkb2N1bWVudGVkIGFuZCB0aGUgY2hlY2sgd2FzIGluY29ycmVjdCB3aGVuIHRoZQorICAgY29tbWFuZCB3YXMgcnVuIGZyb20gYSBzdWJkaXJlY3RvcnkuCisKKyAqIFNvbWUgY29kZXBhdGhzIGluICJnaXQgZGlmZiIgdXNlZCByZWdleGVjKDMpIG9uIGEgYnVmZmVyIHRoYXQgd2FzCisgICBtbWFwKDIpZWQsIHdoaWNoIG1heSBub3QgaGF2ZSBhIHRlcm1pbmF0aW5nIE5VTCwgbGVhZGluZyB0byBhIHJlYWQKKyAgIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBtYXBwZWQgcmVnaW9uLiAgVGhpcyB3YXMgZml4ZWQgYnkgaW50cm9kdWNpbmcKKyAgIGEgcmVnZXhlY19idWYoKSBoZWxwZXIgdGhhdCB0YWtlcyBhIDxwdHIsbGVuPiBwYWlyIHdpdGggUkVHX1NUQVJURU5ECisgICBleHRlbnNpb24uCisKKyAqIFRoZSBwcm9jZWR1cmUgdG8gYnVpbGQgR2l0IG9uIE1hYyBPUyBYIGZvciBUcmF2aXMgQ0kgaGFyZGNvZGVkIHRoZQorICAgaW50ZXJuYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSB3ZSBhc3N1bWVkIEhvbWVCcmV3IHVzZXMsIHdoaWNoIHdhcyBhCisgICBuby1uby4gIFRoZSBwcm9jZWR1cmUgaGFzIGJlZW4gdXBkYXRlZCB0byBhc2sgSG9tZUJyZXcgdGhpbmdzIHdlCisgICBuZWVkIHRvIGtub3cgdG8gZml4IHRoaXMuCisKKyAqIFdoZW4gImdpdCByZWJhc2UgLWkiIGlzIGdpdmVuIGEgYnJva2VuIGluc3RydWN0aW9uLCBpdCB0b2xkIHRoZQorICAgdXNlciB0byBmaXggaXQgd2l0aCAiLS1lZGl0LXRvZG8iLCBidXQgZGlkbid0IHNheSB3aGF0IHRoZSBzdGVwCisgICBhZnRlciB0aGF0IHdhcyAoaS5lLiAiLS1jb250aW51ZSIpLgorCisgKiBEb2N1bWVudGF0aW9uIGFyb3VuZCB0b29scyB0byBpbXBvcnQgZnJvbSBDVlMgd2FzIGZhaXJseSBvdXRkYXRlZC4KKworICogImdpdCBjbG9uZSAtLXJlY3Vyc2Utc3VibW9kdWxlcyIgbG9zdCB0aGUgcHJvZ3Jlc3MgZXllLWNhbmR5IGluCisgICBhIHJlY2VudCB1cGRhdGUsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogQSBsb3ctbGV2ZWwgZnVuY3Rpb24gdmVyaWZ5X3BhY2tmaWxlKCkgd2FzIG1lYW50IHRvIHNob3cgZXJyb3JzCisgICB0aGF0IHdlcmUgZGV0ZWN0ZWQgd2l0aG91dCBkeWluZyBpdHNlbGYsIGJ1dCB1bmRlciBzb21lIGNvbmRpdGlvbnMKKyAgIGl0IGRpZG4ndCBhbmQgZGllZCBpbnN0ZWFkLCB3aGljaCBoYXMgYmVlbiBmaXhlZC4KKworICogV2hlbiAiZ2l0IGZldGNoIiB0cmllcyB0byBmaW5kIHdoZXJlIHRoZSBoaXN0b3J5IG9mIHRoZSByZXBvc2l0b3J5CisgICBpdCBydW5zIGluIGhhcyBkaXZlcmdlZCBmcm9tIHdoYXQgdGhlIG90aGVyIHNpZGUgaGFzLCBpdCBoYXMgYQorICAgbWVjaGFuaXNtIHRvIGF2b2lkIGRpZ2dpbmcgdG9vIGRlZXAgaW50byBpcnJlbGV2YW50IHNpZGUgYnJhbmNoZXMuCisgICBUaGlzIGhvd2V2ZXIgZGlkIG5vdCB3b3JrIHdlbGwgb3ZlciB0aGUgInNtYXJ0LWh0dHAiIHRyYW5zcG9ydCBkdWUKKyAgIHRvIGEgZGVzaWduIGJ1Zywgd2hpY2ggaGFzIGJlZW4gZml4ZWQuCisKKyAqIEluIHRoZSBjb2RlcGF0aCB0aGF0IGNvbWVzIHVwIHdpdGggdGhlIGhvc3RuYW1lIHRvIGJlIHVzZWQgaW4gYW4KKyAgIGUtbWFpbCB3aGVuIHRoZSB1c2VyIGRpZG4ndCB0ZWxsIHVzLCB3ZSBsb29rZWQgYXQgdGhlIGFpX2Nhbm9ubmFtZQorICAgZmllbGQgaW4gc3RydWN0IGFkZHJpbmZvIHdpdGhvdXQgbWFraW5nIHN1cmUgaXQgaXMgbm90IE5VTEwgZmlyc3QuCisKKyAqICJnaXQgd29ya3RyZWUiLCBldmVuIHRob3VnaCBpdCB1c2VkIHRoZSBkZWZhdWx0X2FiYnJldiBzZXR0aW5nIHRoYXQKKyAgIG91Z2h0IHRvIGJlIGFmZmVjdGVkIGJ5IHRoZSBjb3JlLmFiYnJldiBjb25maWd1cmF0aW9uIHZhcmlhYmxlLCBpZ25vcmVkCisgICB0aGUgdmFyaWFibGUgc2V0dGluZy4gIFRoZSBjb21tYW5kIGhhcyBiZWVuIHRhdWdodCB0byByZWFkIHRoZQorICAgZGVmYXVsdCBzZXQgb2YgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMgdG8gY29ycmVjdCB0aGlzLgorCisgKiAiZ2l0IGluaXQiIHRyaWVkIHRvIHJlY29yZCBjb3JlLndvcmt0cmVlIGluIHRoZSByZXBvc2l0b3J5J3MKKyAgICdjb25maWcnIGZpbGUgd2hlbiB0aGUgR0lUX1dPUktfVFJFRSBlbnZpcm9ubWVudCB2YXJpYWJsZSB3YXMgc2V0IGFuZAorICAgaXQgd2FzIGRpZmZlcmVudCBmcm9tIHdoZXJlIEdJVF9ESVIgYXBwZWFycyBhcyAiLmdpdCIgYXQgaXRzIHRvcCwKKyAgIGJ1dCB0aGUgbG9naWMgd2FzIGZhdWx0eSB3aGVuIC5naXQgaXMgYSAiZ2l0ZGlyOiIgZmlsZSB0aGF0IHBvaW50cworICAgYXQgdGhlIHJlYWwgcGxhY2UsIGNhdXNpbmcgdHJvdWJsZSBpbiB3b3JraW5nIHRyZWVzIHRoYXQgYXJlCisgICBtYW5hZ2VkIGJ5ICJnaXQgd29ya3RyZWUiLiAgVGhpcyBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIENvZGVwYXRocyB0aGF0IHJlYWQgZnJvbSBhbiBvbi1kaXNrIGxvb3NlIG9iamVjdCB3ZXJlIHRvbyBsb29zZSBpbgorICAgdmFsaWRhdGluZyB0aGF0IHRoZXkgYXJlIHJlYWRpbmcgYSBwcm9wZXIgb2JqZWN0IGZpbGUgYW5kCisgICBzb21ldGltZXMgcmVhZCBwYXN0IHRoZSBkYXRhIHRoZXkgcmVhZCBmcm9tIHRoZSBkaXNrLCB3aGljaCBoYXMKKyAgIGJlZW4gY29ycmVjdGVkLiAgSC90IHRvIEd1c3Rhdm8gR3JpZWNvIGZvciByZXBvcnRpbmcuCisKKyAqIFRoZSBvcmlnaW5hbCBjb21tYW5kIGxpbmUgc3ludGF4IGZvciAiZ2l0IG1lcmdlIiwgd2hpY2ggd2FzICJnaXQKKyAgIG1lcmdlIDxtc2c+IEhFQUQgPHBhcmVudD4uLi4iLCBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciBxdWl0ZSBzb21lCisgICB0aW1lLCBhbmQgImdpdCBndWkiIHdhcyB0aGUgbGFzdCBpbi10cmVlIHVzZXIgb2YgdGhlIHN5bnRheC4gIFRoaXMKKyAgIGlzIGZpbmFsbHkgZml4ZWQsIHNvIHRoYXQgd2UgY2FuIG1vdmUgZm9yd2FyZCB3aXRoIHRoZSBkZXByZWNhdGlvbi4KKworICogQW4gYXV0aG9yIG5hbWUgdGhhdCBoYXMgYSBiYWNrc2xhc2gtcXVvdGVkIGRvdWJsZSBxdW90ZSBpbiB0aGUKKyAgIGh1bWFuIHJlYWRhYmxlIHBhcnQgKCJNeSBcImRvdWJsZSBxdW90ZWRcIiBuYW1lIiksIHdhcyBub3QgdW5xdW90ZWQKKyAgIGNvcnJlY3RseSB3aGlsZSBhcHBseWluZyBhIHBhdGNoIGZyb20gYSBwaWVjZSBvZiBlLW1haWwuCisKKyAqIERvYyB1cGRhdGUgdG8gY2xhcmlmeSB3aGF0ICJsb2cgLTMgLS1yZXZlcnNlIiBkb2VzLgorCisgKiBBbG1vc3QgZXZlcnlib2R5IHVzZXMgREVGQVVMVF9BQkJSRVYgdG8gcmVmZXIgdG8gdGhlIGRlZmF1bHQKKyAgIHNldHRpbmcgZm9yIHRoZSBhYmJyZXZpYXRpb24sIGJ1dCAiZ2l0IGJsYW1lIiBwZWVrZWQgaW50bworICAgdW5kZXJseWluZyB2YXJpYWJsZSBieXBhc3NpbmcgdGhlIG1hY3JvIGZvciBubyBnb29kIHJlYXNvbi4KKworICogVGhlICJncmFwaCIgQVBJIHVzZWQgaW4gImdpdCBsb2cgLS1ncmFwaCIgbWlzY291bnRlZCB0aGUgbnVtYmVyIG9mCisgICBvdXRwdXQgY29sdW1ucyBjb25zdW1lZCBzbyBmYXIgd2hlbiBkcmF3aW5nIGEgcGFkZGluZyBsaW5lLCB3aGljaAorICAgaGFzIGJlZW4gZml4ZWQ7IHRoaXMgZGlkIG5vdCBhZmZlY3QgYW55IGV4aXN0aW5nIGNvZGUgYXMgbm9ib2R5CisgICB0cmllZCB0byB3cml0ZSBhbnl0aGluZyBhZnRlciB0aGUgcGFkZGluZyBvbiBzdWNoIGEgbGluZSwgdGhvdWdoLgorCisgKiBUaGUgY29kZSB0aGF0IHBhcnNlcyB0aGUgZm9ybWF0IHBhcmFtZXRlciBvZiB0aGUgZm9yLWVhY2gtcmVmIGNvbW1hbmQKKyAgIGhhcyBzZWVuIGEgbWljcm8tb3B0aW1pemF0aW9uLgorCisgKiBXaGVuIHdlIHN0YXJ0ZWQgdG8gdXNlIGNVUkwgdG8gdGFsayB0byBhbiBpbWFwIHNlcnZlciwgd2UgZm9yZ290IHRvIGV4cGxpY2l0bHkgYWRkCisgICBpbWFwKHMpOi8vIGJlZm9yZSB0aGUgZGVzdGluYXRpb24uICBUbyBzb21lIGZvbGtzLCB0aGF0IGRpZG4ndCB3b3JrCisgICBhbmQgdGhlIGxpYnJhcnkgdHJpZWQgdG8gbWFrZSBIVFRQKHMpIHJlcXVlc3RzIGluc3RlYWQuCisKKyAqIFRoZSAuL2NvbmZpZ3VyZSBzY3JpcHQgZ2VuZXJhdGVkIGZyb20gY29uZmlndXJlLmFjIHdhcyB0YXVnaHQgaG93CisgICB0byBkZXRlY3Qgc3VwcG9ydCBvZiBTU0wgYnkgbGliY3VybCBiZXR0ZXIuCisKKyAqIFRoZSBjb21tYW5kLWxpbmUgY29tcGxldGlvbiBzY3JpcHQgKGluIGNvbnRyaWIvKSBsZWFybmVkIHRvCisgICBjb21wbGV0ZSAiZ2l0IGNtZCBebWFzPEhUPiIgdG8gY29tcGxldGUgdGhlIG5lZ2F0aXZlIGVuZCBvZgorICAgcmVmZXJlbmNlIHRvICJnaXQgY21kIF5tYXN0ZXIiLgorICAgKG1lcmdlIDQ5NDE2YWQyMmEgY3AvY29tcGxldGlvbi1uZWdhdGl2ZS1yZWZzIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGV4aXN0aW5nICJnaXQgZmV0Y2ggLS1kZXB0aD08bj4iIG9wdGlvbiB3YXMgaGFyZCB0byB1c2UKKyAgIGNvcnJlY3RseSB3aGVuIG1ha2luZyB0aGUgaGlzdG9yeSBvZiBhbiBleGlzdGluZyBzaGFsbG93IGNsb25lCisgICBkZWVwZXIuICBBIG5ldyBvcHRpb24sICItLWRlZXBlbj08bj4iLCBoYXMgYmVlbiBhZGRlZCB0byBtYWtlIHRoaXMKKyAgIGVhc2llciB0byB1c2UuICAiZ2l0IGNsb25lIiBhbHNvIGxlYXJuZWQgIi0tc2hhbGxvdy1zaW5jZT08ZGF0ZT4iCisgICBhbmQgIi0tc2hhbGxvdy1leGNsdWRlPTx0YWc+IiBvcHRpb25zIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHNwZWNpZnkKKyAgICJJIGFtIGludGVyZXN0ZWQgb25seSBpbiB0aGUgcmVjZW50IE4gbW9udGhzIHdvcnRoIG9mIGhpc3RvcnkiIGFuZAorICAgIkdpdmUgbWUgb25seSB0aGUgaGlzdG9yeSBzaW5jZSB0aGF0IHZlcnNpb24iLgorICAgKG1lcmdlIGNjY2Y3NGUyZGEgbmQvc2hhbGxvdy1kZWVwZW4gbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGJsYW1lIC0tcmV2ZXJzZSBPTEQgcGF0aCIgaXMgbm93IERXSU1tZWQgdG8gc2hvdyBob3cgbGluZXMKKyAgIGluIHBhdGggaW4gYW4gb2xkIHJldmlzaW9uIE9MRCBoYXZlIHN1cnZpdmVkIHVwIHRvIHRoZSBjdXJyZW50CisgICBjb21taXQuCisgICAobWVyZ2UgZTFkMDk3MDFhNCBqYy9ibGFtZS1yZXZlcnNlIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGh0dHAuZW1wdHlhdXRoIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgaXMgYSB3YXkgdG8gYWxsb3cgYW4gZW1wdHkgdXNlcm5hbWUgdG8KKyAgIHBhc3Mgd2hlbiBhdHRlbXB0aW5nIHRvIGF1dGhlbnRpY2F0ZSB1c2luZyBtZWNoYW5pc21zIGxpa2UKKyAgIEtlcmJlcm9zLiAgV2UgdG9vayBhbiB1bnNwZWNpZmllZCAoTlVMTCkgdXNlcm5hbWUgYW5kIHNlbnQgIjoiCisgICAoaS5lLiBubyB1c2VybmFtZSwgbm8gcGFzc3dvcmQpIHRvIENVUkxPUFRfVVNFUlBXRCwgYnV0IGRpZCBub3QgZG8KKyAgIHRoZSBzYW1lIHdoZW4gdGhlIHVzZXJuYW1lIGlzIGV4cGxpY2l0bHkgc2V0IHRvIGFuIGVtcHR5IHN0cmluZy4KKworICogImdpdCBjbG9uZSIgb2YgYSBsb2NhbCByZXBvc2l0b3J5IGNhbiBiZSBkb25lIGF0IHRoZSBmaWxlc3lzdGVtCisgICBsZXZlbCwgYnV0IHRoZSBjb2RlcGF0aCBkaWQgbm90IGNoZWNrIGVycm9ycyB3aGlsZSBjb3B5aW5nIGFuZAorICAgYWRqdXN0aW5nIHRoZSBmaWxlIHRoYXQgbGlzdHMgYWx0ZXJuYXRlIG9iamVjdCBzdG9yZXMuCisKKyAqIERvY3VtZW50YXRpb24gZm9yICJnaXQgY29tbWl0IiB3YXMgdXBkYXRlZCB0byBjbGFyaWZ5IHRoYXQgImNvbW1pdAorICAgLXAgPHBhdGhzPiIgYWRkcyB0byB0aGUgY3VycmVudCBjb250ZW50cyBvZiB0aGUgaW5kZXggdG8gY29tZSB1cAorICAgd2l0aCB3aGF0IHRvIGNvbW1pdC4KKworICogQSBzdHJheSBzeW1ib2xpYyBsaW5rIGluIHRoZSAkR0lUX0RJUi9yZWZzLyBkaXJlY3RvcnkgY291bGQgbWFrZSBuYW1lCisgICByZXNvbHV0aW9uIGxvb3AgZm9yZXZlciwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBUaGUgInN1Ym1vZHVsZS48bmFtZT4ucGF0aCIgc3RvcmVkIGluIC5naXRtb2R1bGVzIGlzIG5ldmVyIGNvcGllZAorICAgdG8gLmdpdC9jb25maWcgYW5kIHN1Y2ggYSBrZXkgaW4gLmdpdC9jb25maWcgaGFzIG5vIG1lYW5pbmcsIGJ1dAorICAgdGhlIGRvY3VtZW50YXRpb24gZGVzY3JpYmVkIGl0IG5leHQgdG8gc3VibW9kdWxlLjxuYW1lPi51cmwKKyAgIGFzIGlmIGJvdGggYmVsb25nIHRvIC5naXQvY29uZmlnLiAgVGhpcyBoYXMgYmVlbiBmaXhlZC4KKworICogSW4gYSB3b3JrdHJlZSBjcmVhdGVkIHZpYSAiZ2l0CisgICB3b3JrdHJlZSIsICJnaXQgY2hlY2tvdXQiIGF0dGVtcHRzIHRvIHByb3RlY3QgdXNlcnMgZnJvbSBjb25mdXNpb24KKyAgIGJ5IHJlZnVzaW5nIHRvIGNoZWNrIG91dCBhIGJyYW5jaCB0aGF0IGlzIGFscmVhZHkgY2hlY2tlZCBvdXQgaW4KKyAgIGFub3RoZXIgd29ya3RyZWUuICBIb3dldmVyLCB0aGlzIGFsc28gcHJldmVudGVkIGNoZWNraW5nIG91dCBhCisgICBicmFuY2ggd2hpY2ggaXMgZGVzaWduYXRlZCBhcyB0aGUgcHJpbWFyeSBicmFuY2ggb2YgYSBiYXJlCisgICByZXBvc2l0b3J5LCBpbiBhIHdvcmt0cmVlIHRoYXQgaXMgY29ubmVjdGVkIHRvIHRoZSBiYXJlCisgICByZXBvc2l0b3J5LiAgVGhlIGNoZWNrIGhhcyBiZWVuIGNvcnJlY3RlZCB0byBhbGxvdyBpdC4KKworICogImdpdCByZWJhc2UiIGltbWVkaWF0ZWx5IGFmdGVyICJnaXQgY2xvbmUiIGZhaWxlZCB0byBmaW5kIHRoZSBmb3JrCisgICBwb2ludCBmcm9tIHRoZSB1cHN0cmVhbS4KKworICogV2hlbiBmZXRjaGluZyBmcm9tIGEgcmVtb3RlIHRoYXQgaGFzIG1hbnkgdGFncyB0aGF0IGFyZSBpcnJlbGV2YW50CisgICB0byBicmFuY2hlcyB3ZSBhcmUgZm9sbG93aW5nLCB3ZSB1c2VkIHRvIHdhc3RlIHdheSB0b28gbWFueSBjeWNsZXMKKyAgIGNoZWNraW5nIGlmIHRoZSBvYmplY3QgcG9pbnRlZCBhdCBieSBhIHRhZyAodGhhdCB3ZSBhcmUgbm90CisgICBnb2luZyB0byBmZXRjaCEpIGV4aXN0cyBpbiBvdXIgcmVwb3NpdG9yeSB0b28gY2FyZWZ1bGx5LgorCisgKiBQcm90ZWN0IG91ciBjb2RlIGZyb20gb3Zlci1lYWdlciBjb21waWxlcnMuCisKKyAqIFJlY2VudCBnaXQgYWxsb3dzIHN1Ym1vZHVsZS48bmFtZT4uYnJhbmNoIHRvIHVzZSBhIHNwZWNpYWwgdG9rZW4KKyAgICIuIiBpbnN0ZWFkIG9mIHRoZSBicmFuY2ggbmFtZTsgdGhlIGRvY3VtZW50YXRpb24gaGFzIGJlZW4gdXBkYXRlZAorICAgdG8gZGVzY3JpYmUgaXQuCisKKyAqICJnaXQgc2VuZC1lbWFpbCIgYXR0ZW1wdHMgdG8gcGljayB1cCB2YWxpZCBlLW1haWxzIGZyb20gdGhlCisgICB0cmFpbGVycywgYnV0IHBlb3BsZSBpbiB0aGUgcmVhbCB3b3JsZCB3cml0ZSBub24tYWRkcmVzc2VzIHRoZXJlLCBsaWtlCisgICAiQ2M6IFN0YWJsZSA8YWRkQHJlLnNzPiAjIDQuOCsiLCB3aGljaCBicm9rZSB0aGUgb3V0cHV0IGRlcGVuZGluZworICAgb24gdGhlIGF2YWlsYWJpbGl0eSBhbmQgdmludGFnZSBvZiB0aGUgTWFpbDo6QWRkcmVzcyBwZXJsIG1vZHVsZS4KKyAgIChtZXJnZSBkY2ZhZmM1MjE0IG1tL3NlbmQtZW1haWwtY2MtY3J1ZnQtYWZ0ZXItYWRkcmVzcyBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBUcmF2aXMgQ0kgY29uZmlndXJhdGlvbiB3ZSBzaGlwIHJhbiB0aGUgdGVzdHMgd2l0aCB0aGUgLS12ZXJib3NlCisgICBvcHRpb24gYnV0IHRoaXMgcmlza3Mgbm9uLVRBUCBvdXRwdXQgdGhhdCBoYXBwZW5zIHRvIGJlICJvayIgdG8gYmUKKyAgIG1pc2ludGVycHJldGVkIGFzIFRBUCBzaWduYWxsaW5nIGEgdGVzdCB0aGF0IHBhc3NlZC4gIFRoaXMgcmVzdWx0ZWQKKyAgIGluIHVubmVjZXNzYXJ5IGZhaWx1cmVzLiAgVGhpcyBoYXMgYmVlbiBjb3JyZWN0ZWQgYnkgaW50cm9kdWNpbmcgYQorICAgbmV3IG1vZGUgdG8gcnVuIG91ciB0ZXN0cyBpbiB0aGUgdGVzdCBoYXJuZXNzIHRvIHNlbmQgdGhlIHZlcmJvc2UKKyAgIG91dHB1dCBzZXBhcmF0ZWx5IHRvIHRoZSBsb2cgZmlsZS4KKworICogU29tZSBBc2NpaURvYyBmb3JtYXR0ZXJzIG1pc2hhbmRsZSBhIGRpc3BsYXllZCBpbGx1c3RyYXRpb24gd2l0aAorICAgdGFicyBpbiBpdC4gIEFkanVzdCBhIGZldyBvZiB0aGVtIGluIG1lcmdlLWJhc2UgZG9jdW1lbnRhdGlvbiB0bworICAgd29yayBhcm91bmQgdGhlbS4KKworICogRml4ZWQgYSBtaW5vciByZWdyZXNzaW9uIGluICJnaXQgc3VibW9kdWxlIiB0aGF0IHdhcyBpbnRyb2R1Y2VkCisgICB3aGVuIG1vcmUgaGVscGVyIGZ1bmN0aW9ucyB3ZXJlIHJlaW1wbGVtZW50ZWQgaW4gQy4KKyAgIChtZXJnZSA3N2I2M2FjMzFlIHNiL3N1Ym1vZHVsZS1pZ25vcmUtdHJhaWxpbmctc2xhc2ggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgY29kZSB0aGF0IHdlIGhhdmUgdXNlZCBmb3IgdGhlIHBhc3QgMTArIHllYXJzIHRvIGN5Y2xlCisgICA0LWVsZW1lbnQgcmluZyBidWZmZXJzIHR1cm5zIG91dCB0byBiZSBub3QgcXVpdGUgcG9ydGFibGUgaW4KKyAgIHRoZW9yZXRpY2FsIHdvcmxkLgorICAgKG1lcmdlIGJiODQ3MzVjODAgcnMvcmluZy1idWZmZXItd3JhcGFyb3VuZCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgZGFlbW9uIiB1c2VkIGZpeGVkLWxlbmd0aCBidWZmZXJzIHRvIHR1cm4gVVJMcyB0byB0aGUKKyAgIHJlcG9zaXRvcnkgdGhlIGNsaWVudCBhc2tlZCBmb3IgaW50byB0aGUgc2VydmVyIHNpZGUgZGlyZWN0b3J5CisgICBwYXRocywgdXNpbmcgc25wcmludGYoKSB0byBhdm9pZCBvdmVyZmxvd2luZyB0aGVzZSBidWZmZXJzLCBidXQKKyAgIGFsbG93ZWQgcG9zc2libHkgdHJ1bmNhdGVkIHBhdGhzIHRvIHRoZSBkaXJlY3RvcnkuICBUaGlzIGhhcyBiZWVuCisgICB0aWdodGVuZWQgdG8gcmVqZWN0IHN1Y2ggYSByZXF1ZXN0IHRoYXQgY2F1c2VzIGFuIG92ZXJsb25nIHBhdGggdG8gYmUKKyAgIHNlcnZlZC4KKyAgIChtZXJnZSA2YmRiMDA4M2JlIGprL2RhZW1vbi1wYXRoLW9rLWNoZWNrLXRydW5jYXRpb24gbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBSZWNlbnQgdXBkYXRlIHRvIGdpdC1zaC1zZXR1cCAoYSBsaWJyYXJ5IG9mIHNoZWxsIGZ1bmN0aW9ucyB0aGF0CisgICBhcmUgdXNlZCBieSBvdXIgaW4tdHJlZSBzY3JpcHRlZCBQb3JjZWxhaW4gY29tbWFuZHMpIGluY2x1ZGVkCisgICBhbm90aGVyIHNoZWxsIGxpYnJhcnkgZ2l0LXNoLWkxOG4gd2l0aG91dCBzcGVjaWZ5aW5nIHdoZXJlIGl0IGlzLAorICAgcmVseWluZyBvbiB0aGUgJFBBVEguICBUaGlzIGhhcyBiZWVuIGZpeGVkIHRvIGJlIG1vcmUgZXhwbGljaXQgYnkKKyAgIHByZWZpeGluZyB3aXRoICQoZ2l0IC0tZXhlYy1wYXRoKSBvdXRwdXQuCisgICAobWVyZ2UgMTA3MzA5NGYzMCBhay9zaC1zZXR1cC1kb3Qtc291cmNlLWkxOG4tZml4IGxhdGVyIHRvIG1haW50KS4KKworICogRml4IGZvciBhIHJhY3kgZmFsc2UtcG9zaXRpdmUgdGVzdCBmYWlsdXJlLgorICAgKG1lcmdlIGZkZjRmNmM3OWIgYXMvbWVyZ2UtYXR0ci1zbGVlcCBsYXRlciB0byBtYWludCkuCisKKyAqIFBvcnRhYmlsaXR5IHVwZGF0ZSBhbmQgd29ya2Fyb3VuZCBmb3IgYnVpbGRzIG9uIHJlY2VudCBNYWMgT1MgWC4KKyAgIChtZXJnZSBhMjk2YmMwMTMyIGxzL21hY29zLXVwZGF0ZSBsYXRlciB0byBtYWludCkuCisKKyAqIFVzaW5nIGEgJShIRUFEKSBwbGFjZWhvbGRlciBpbiAiZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIgb3B0aW9uCisgICBjYXVzZWQgdGhlIGNvbW1hbmQgdG8gc2VnZmF1bHQgd2hlbiBvbiBhbiB1bmJvcm4gYnJhbmNoLgorICAgKG1lcmdlIDg0Njc5ZDQ3MGQgamMvZm9yLWVhY2gtcmVmLWhlYWQtc2VnZmF1bHQtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCByZWJhc2UgLWkiIGRpZCBub3Qgd29yayB3ZWxsIHdpdGggdGhlIGNvcmUuY29tbWVudGNoYXIKKyAgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgZm9yIHR3byByZWFzb25zLCBib3RoIG9mIHdoaWNoIGhhdmUgYmVlbgorICAgZml4ZWQuCisgICAobWVyZ2UgODgyY2QyMzc3NyBqcy9yZWJhc2UtaS1jb21tZW50Y2hhci1maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBPdGhlciBtaW5vciBkb2MsIHRlc3QgYW5kIGJ1aWxkIHVwZGF0ZXMgYW5kIGNvZGUgY2xlYW51cHMuCisgICAobWVyZ2UgNWMyMzhlMjlhOCBqay9jb21tb24tbWFpbiBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNWE1NzQ5ZTQ1YiBhay9wcmUtcmVjZWl2ZS1ob29rLXRlbXBsYXRlLW1vZGVmaXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDZkODM0YWM4ZjEgamsvcmViYXNlLWNvbmZpZy1pbnNuLWZtdC1kb2NmaXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGRlOWY3ZmEzYjAgcnMvY29tbWl0LXBwdHItc2ltcGxpZnkgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDQyNTlkNjkzZmMgc2MvZm10LW1lcmdlLW1zZy1kb2MtbWFya3VwLWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMjhmYWI3YjIzZCBuZC90ZXN0LWhlbHBlcnMgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGMyYmIwYzFkMWUgcnMvY29jY2kgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDMyODViN2JhZGIgcHMvY29tbW9uLWluZm8tZG9jIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAyYjA5MDgyMmU4IG5kL3dvcmt0cmVlLWxvY2sgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDRiZDQ4OGVhN2MgamsvY3JlYXRlLWJyYW5jaC1yZW1vdmUtdW51c2VkLXBhcmFtIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA5NzRlMDA0NGQ2IHRrL2RpZmZjb3JlLWRlbHRhLXJlbW92ZS11bnVzZWQgbGF0ZXIgdG8gbWFpbnQpLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjMuMTAudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjMuMTAudHh0CmluZGV4IDlkNDI1ZDguLjIwYzJkMmMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4zLjEwLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMy4xMC50eHQKQEAgLTcsNyArNyw3IEBACiAgKiB4ZGlmZiBjb2RlIHdlIHVzZSB0byBnZW5lcmF0ZSBkaWZmcyBpcyBub3QgcHJlcGFyZWQgdG8gaGFuZGxlCiAgICBleHRyZW1lbHkgbGFyZ2UgZmlsZXMuICBJdCB1c2VzICJpbnQiIGluIG1hbnkgcGxhY2VzLCB3aGljaCBjYW4KICAgIG92ZXJmbG93IGlmIHdlIGhhdmUgYSB2ZXJ5IGxhcmdlIG51bWJlciBvZiBsaW5lcyBvciBldmVuIGJ5dGVzIGluCi0gICBvdXIgaW5wdXQgZmlsZXMsIGZvciBleGFtcGxlLiAgQ2FwIHRoZSBpbnB1dCBzaXplIHRvIHNvZW13aGVyZQorICAgb3VyIGlucHV0IGZpbGVzLCBmb3IgZXhhbXBsZS4gIENhcCB0aGUgaW5wdXQgc2l6ZSB0byBzb21ld2hlcmUKICAgIGFyb3VuZCAxR0IgZm9yIG5vdy4KIAogICogU29tZSBwcm90b2NvbHMgKGxpa2UgZ2l0LXJlbW90ZS1leHQpIGNhbiBleGVjdXRlIGFyYml0cmFyeSBjb2RlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuNC4xMC50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuNC4xMC50eHQKaW5kZXggODYyMTE5OS4uNzAyZDhkNCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjQuMTAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi40LjEwLnR4dApAQCAtNyw3ICs3LDcgQEAKICAqIHhkaWZmIGNvZGUgd2UgdXNlIHRvIGdlbmVyYXRlIGRpZmZzIGlzIG5vdCBwcmVwYXJlZCB0byBoYW5kbGUKICAgIGV4dHJlbWVseSBsYXJnZSBmaWxlcy4gIEl0IHVzZXMgImludCIgaW4gbWFueSBwbGFjZXMsIHdoaWNoIGNhbgogICAgb3ZlcmZsb3cgaWYgd2UgaGF2ZSBhIHZlcnkgbGFyZ2UgbnVtYmVyIG9mIGxpbmVzIG9yIGV2ZW4gYnl0ZXMgaW4KLSAgIG91ciBpbnB1dCBmaWxlcywgZm9yIGV4YW1wbGUuICBDYXAgdGhlIGlucHV0IHNpemUgdG8gc29lbXdoZXJlCisgICBvdXIgaW5wdXQgZmlsZXMsIGZvciBleGFtcGxlLiAgQ2FwIHRoZSBpbnB1dCBzaXplIHRvIHNvbWV3aGVyZQogICAgYXJvdW5kIDFHQiBmb3Igbm93LgogCiAgKiBTb21lIHByb3RvY29scyAobGlrZSBnaXQtcmVtb3RlLWV4dCkgY2FuIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi41LjQudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjUuNC50eHQKaW5kZXggYTVlODQ3Ny4uYjhhMmY5MyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjUuNC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjUuNC50eHQKQEAgLTcsNyArNyw3IEBACiAgKiB4ZGlmZiBjb2RlIHdlIHVzZSB0byBnZW5lcmF0ZSBkaWZmcyBpcyBub3QgcHJlcGFyZWQgdG8gaGFuZGxlCiAgICBleHRyZW1lbHkgbGFyZ2UgZmlsZXMuICBJdCB1c2VzICJpbnQiIGluIG1hbnkgcGxhY2VzLCB3aGljaCBjYW4KICAgIG92ZXJmbG93IGlmIHdlIGhhdmUgYSB2ZXJ5IGxhcmdlIG51bWJlciBvZiBsaW5lcyBvciBldmVuIGJ5dGVzIGluCi0gICBvdXIgaW5wdXQgZmlsZXMsIGZvciBleGFtcGxlLiAgQ2FwIHRoZSBpbnB1dCBzaXplIHRvIHNvZW13aGVyZQorICAgb3VyIGlucHV0IGZpbGVzLCBmb3IgZXhhbXBsZS4gIENhcCB0aGUgaW5wdXQgc2l6ZSB0byBzb21ld2hlcmUKICAgIGFyb3VuZCAxR0IgZm9yIG5vdy4KIAogICogU29tZSBwcm90b2NvbHMgKGxpa2UgZ2l0LXJlbW90ZS1leHQpIGNhbiBleGVjdXRlIGFyYml0cmFyeSBjb2RlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuNi4xLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi42LjEudHh0CmluZGV4IDFlNTEzNjMuLmYzN2VhODkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi42LjEudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi42LjEudHh0CkBAIC03LDcgKzcsNyBAQAogICogeGRpZmYgY29kZSB3ZSB1c2UgdG8gZ2VuZXJhdGUgZGlmZnMgaXMgbm90IHByZXBhcmVkIHRvIGhhbmRsZQogICAgZXh0cmVtZWx5IGxhcmdlIGZpbGVzLiAgSXQgdXNlcyAiaW50IiBpbiBtYW55IHBsYWNlcywgd2hpY2ggY2FuCiAgICBvdmVyZmxvdyBpZiB3ZSBoYXZlIGEgdmVyeSBsYXJnZSBudW1iZXIgb2YgbGluZXMgb3IgZXZlbiBieXRlcyBpbgotICAgb3VyIGlucHV0IGZpbGVzLCBmb3IgZXhhbXBsZS4gIENhcCB0aGUgaW5wdXQgc2l6ZSB0byBzb2Vtd2hlcmUKKyAgIG91ciBpbnB1dCBmaWxlcywgZm9yIGV4YW1wbGUuICBDYXAgdGhlIGlucHV0IHNpemUgdG8gc29tZXdoZXJlCiAgICBhcm91bmQgMUdCIGZvciBub3cuCiAKICAqIFNvbWUgcHJvdG9jb2xzIChsaWtlIGdpdC1yZW1vdGUtZXh0KSBjYW4gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjkuMS50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuOS4xLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzgzOTQwCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjkuMS50eHQKQEAgLTAsMCArMSwxMTcgQEAKK0dpdCB2Mi45LjEgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09CisKK0ZpeGVzIHNpbmNlIHYyLjkKKy0tLS0tLS0tLS0tLS0tLS0KKworICogV2hlbiAiZ2l0IGRhZW1vbiIgaXMgcnVuIHdpdGhvdXQgLS1baW5pdC1ddGltZW91dCBzcGVjaWZpZWQsIGEKKyAgIGNvbm5lY3Rpb24gZnJvbSBhIGNsaWVudCB0aGF0IHNpbGVudGx5IGdvZXMgb2ZmbGluZSBjYW4gaGFuZyBhcm91bmQKKyAgIGZvciBhIGxvbmcgdGltZSwgd2FzdGluZyByZXNvdXJjZXMuICBUaGUgc29ja2V0LWxldmVsIEtFRVBBTElWRSBoYXMKKyAgIGJlZW4gZW5hYmxlZCB0byBhbGxvdyB0aGUgT1MgdG8gbm90aWNlIHN1Y2ggZmFpbGVkIGNvbm5lY3Rpb25zLgorCisgKiBUaGUgY29tbWFuZHMgaW4gYGdpdCBsb2dgIGZhbWlseSB0YWtlICVDKGF1dG8pIGluIGEgY3VzdG9tIGZvcm1hdAorICAgc3RyaW5nLiAgVGhpcyB1bmNvbmRpdGlvbmFsbHkgdHVybmVkIHRoZSBjb2xvciBvbiwgaWdub3JpbmcKKyAgIC0tbm8tY29sb3Igb3Igd2l0aCAtLWNvbG9yPWF1dG8gd2hlbiB0aGUgb3V0cHV0IGlzIG5vdCBjb25uZWN0ZWQgdG8KKyAgIGEgdHR5OyB0aGlzIHdhcyBjb3JyZWN0ZWQgdG8gbWFrZSB0aGUgZm9ybWF0IHRydWx5IGJlaGF2ZSBhcworICAgImF1dG8iLgorCisgKiAiZ2l0IHJldi1saXN0IC0tY291bnQiIHdob3NlIHdhbGstbGVuZ3RoIGlzIGxpbWl0ZWQgd2l0aCAiLW4iCisgICBvcHRpb24gZGlkIG5vdCB3b3JrIHdlbGwgd2l0aCB0aGUgY291bnRpbmcgb3B0aW1pemVkIHRvIGxvb2sgYXQgdGhlCisgICBiaXRtYXAgaW5kZXguCisKKyAqICJnaXQgc2hvdyAtVyIgKGV4dGVuZCBodW5rcyB0byBjb3ZlciB0aGUgZW50aXJlIGZ1bmN0aW9uLCBkZWxpbWl0ZWQKKyAgIGJ5IGxpbmVzIHRoYXQgbWF0Y2ggdGhlICJmdW5jbmFtZSIgcGF0dGVybikgdXNlZCB0byBzaG93IHRoZSBlbnRpcmUKKyAgIGZpbGUgd2hlbiBhIGNoYW5nZSBhZGRlZCBhbiBlbnRpcmUgZnVuY3Rpb24gYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSwKKyAgIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorCisgKiBUaGUgZG9jdW1lbnRhdGlvbiBzZXQgaGFzIGJlZW4gdXBkYXRlZCBzbyB0aGF0IGxpdGVyYWwgY29tbWFuZHMsCisgICBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBhbmQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBjb25zaXN0ZW50bHkKKyAgIHR5cGVzZXQgaW4gZml4ZWQtd2lkdGggZm9udCBhbmQgYm9sZCBpbiBtYW5wYWdlcy4KKworICogImdpdCBzdm4gcHJvcHNldCIgc3ViY29tbWFuZCB0aGF0IHdhcyBhZGRlZCBpbiAyLjMgZGF5cyBpcworICAgZG9jdW1lbnRlZCBub3cuCisKKyAqIFRoZSBkb2N1bWVudGF0aW9uIHRyaWVzIHRvIGNvbnNpc3RlbnRseSBzcGVsbCAiR1BHIjsgd2hlbgorICAgcmVmZXJyaW5nIHRvIHRoZSBzcGVjaWZpYyBwcm9ncmFtIG5hbWUsICJncGciIGlzIHVzZWQuCisKKyAqICJnaXQgcmVmbG9nIiBzdG9wcGVkIHVwb24gc2VlaW5nIGFuIGVudHJ5IHRoYXQgZGVub3RlcyBhIGJyYW5jaAorICAgY3JlYXRpb24gZXZlbnQgKGFrYSAidW5ib3JuIiksIHdoaWNoIG1hZGUgaXQgYXBwZWFyIGFzIGlmIHRoZQorICAgcmVmbG9nIHdhcyB0cnVuY2F0ZWQuCisKKyAqIFRoZSBnaXQtcHJvbXB0IHNjcmlwdGxldCAoaW4gY29udHJpYi8pIHdhcyBub3QgZnJpZW5kbHkgd2l0aCB0aG9zZQorICAgd2hvIHVzZXMgInNldCAtdSIsIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorCisgKiBBIGNvZGVwYXRoIHRoYXQgdXNlZCBhbGxvY2EoMykgdG8gcGxhY2UgYW4gdW5ib3VuZGVkIGFtb3VudCBvZiBkYXRhCisgICBvbiB0aGUgc3RhY2sgaGFzIGJlZW4gdXBkYXRlZCB0byBhdm9pZCBkb2luZyBzby4KKworICogImdpdCB1cGRhdGUtaW5kZXggLS1hZGQgLS1jaG1vZD0reCBmaWxlIiBtYXkgYmUgdXNhYmxlIGFzIGFuIGVzY2FwZQorICAgaGF0Y2gsIGJ1dCBub3QgYSBmcmllbmRseSB0aGluZyB0byBmb3JjZSBmb3IgcGVvcGxlIHdobyBkbyBuZWVkIHRvCisgICB1c2UgaXQgcmVndWxhcmx5LiAgImdpdCBhZGQgLS1jaG1vZD0reCBmaWxlIiBjYW4gYmUgdXNlZCBpbnN0ZWFkLgorCisgKiBCdWlsZCBpbXByb3ZlbWVudHMgZm9yIGdub21lLWtleXJpbmcgKGluIGNvbnRyaWIvKQorCisgKiAiZ2l0IHN0YXR1cyIgdXNlZCB0byBzYXkgIndvcmtpbmcgZGlyZWN0b3J5IiB3aGVuIGl0IG1lYW50ICJ3b3JraW5nCisgICB0cmVlIi4KKworICogQ29tbWVudHMgYWJvdXQgbWlzYmVoYXZpbmcgRnJlZUJTRCBzaGVsbHMgaGF2ZSBiZWVuIGNsYXJpZmllZCB3aXRoCisgICB0aGUgdmVyc2lvbiBudW1iZXIgKDkueCBhbmQgYmVmb3JlIGFyZSBicm9rZW4sIG5ld2VyIG9uZXMgYXJlIE9LKS4KKworICogImdpdCBjaGVycnktcGljayBBIiB3b3JrZWQgb24gYW4gdW5ib3JuIGJyYW5jaCwgYnV0ICJnaXQKKyAgIGNoZXJyeS1waWNrIEEuLkIiIGRpZG4ndC4KKworICogImdpdCBhZGQgLWkvLXAiIGxlYXJuZWQgdG8gaG9ub3IgZGlmZi5jb21wYWN0aW9uSGV1cmlzdGljCisgICBleHBlcmltZW50YWwga25vYiwgc28gdGhhdCB0aGUgdXNlciBjYW4gd29yayBvbiB0aGUgc2FtZSBodW5rIHNwbGl0CisgICBhcyAiZ2l0IGRpZmYiIG91dHB1dC4KKworICogImxvZyAtLWdyYXBoIC0tZm9ybWF0PSIgbGVhcm5lZCB0aGF0ICIlPnwoTikiIHNwZWNpZmllcyB0aGUgd2lkdGgKKyAgIHJlbGF0aXZlIHRvIHRoZSB0ZXJtaW5hbCdzIGxlZnQgZWRnZSwgbm90IHJlbGF0aXZlIHRvIHRoZSBhcmVhIHRvCisgICBkcmF3IHRleHQgdGhhdCBpcyB0byB0aGUgcmlnaHQgb2YgdGhlIGFuY2VzdHJ5LWdyYXBoIHNlY3Rpb24uICBJdAorICAgYWxzbyBub3cgYWNjZXB0cyBuZWdhdGl2ZSBOIHRoYXQgbWVhbnMgdGhlIGNvbHVtbiBsaW1pdCBpcyByZWxhdGl2ZQorICAgdG8gdGhlIHJpZ2h0IGJvcmRlci4KKworICogVGhlIG93bmVyc2hpcCBydWxlIGZvciB0aGUgcGllY2Ugb2YgbWVtb3J5IHRoYXQgaG9sZCByZWZlcmVuY2VzIHRvCisgICBiZSBmZXRjaGVkIGluICJnaXQgZmV0Y2giIHdhcyBzY3Jld3ksIHdoaWNoIGhhcyBiZWVuIGNsZWFuZWQgdXAuCisKKyAqICJnaXQgYmlzZWN0IiBtYWtlcyBhbiBpbnRlcm5hbCBjYWxsIHRvICJnaXQgZGlmZi10cmVlIiB3aGVuCisgICBiaXNlY3Rpb24gZmluZHMgdGhlIGN1bHByaXQsIGJ1dCB0aGlzIGNhbGwgZGlkIG5vdCBpbml0aWFsaXplIHRoZQorICAgZGF0YSBzdHJ1Y3R1cmUgdG8gcGFzcyB0byB0aGUgZGlmZi10cmVlIEFQSSBjb3JyZWN0bHkuCisKKyAqIEZvcm1hdHMgb2YgdGhlIHZhcmlvdXMgZGF0YSAoYW5kIGhvdyB0byB2YWxpZGF0ZSB0aGVtKSB3aGVyZSB3ZSB1c2UKKyAgIEdQRyBzaWduYXR1cmUgaGF2ZSBiZWVuIGRvY3VtZW50ZWQuCisKKyAqIEZpeCBhbiB1bmludGVuZGVkIHJlZ3Jlc3Npb24gaW4gdjIuOSB0aGF0IGJyZWFrcyAiY2xvbmUgLS1kZXB0aCIKKyAgIHRoYXQgcmVjdXJzZXMgZG93biB0byBzdWJtb2R1bGVzIGJ5IGZvcmNpbmcgdGhlIHN1Ym1vZHVsZXMgdG8gYWxzbworICAgYmUgY2xvbmVkIHNoYWxsb3dseSwgd2hpY2ggbWFueSBzZXJ2ZXIgaW5zdGFuY2VzIHRoYXQgaG9zdCB1cHN0cmVhbQorICAgb2YgdGhlIHN1Ym1vZHVsZXMgYXJlIG5vdCBwcmVwYXJlZCBmb3IuCisKKyAqIEZpeCB1bm5lY2Vzc2FyaWx5IHdhc3RlIGluIHRoZSBpZGlvbWF0aWMgdXNlIG9mICc6ICR7VkFSPWRlZmF1bHR9JworICAgdG8gc2V0IHRoZSBkZWZhdWx0IHZhbHVlLCB3aXRob3V0IGVuY2xvc2luZyBpdCBpbiBkb3VibGUgcXVvdGVzLgorCisgKiBTb21lIHBsYXRmb3JtLXNwZWNpZmljIGNvZGUgaGFkIG5vbi1BTlNJIHN0cmljdCBkZWNsYXJhdGlvbnMgb2YgQworICAgZnVuY3Rpb25zIHRoYXQgZG8gbm90IHRha2UgYW55IHBhcmFtZXRlcnMsIHdoaWNoIGhhcyBiZWVuCisgICBjb3JyZWN0ZWQuCisKKyAqIFRoZSBpbnRlcm5hbCBjb2RlIHVzZWQgdG8gc2hvdyBsb2NhbCB0aW1lem9uZSBvZmZzZXQgaXMgbm90CisgICBwcmVwYXJlZCB0byBoYW5kbGUgdGltZXN0YW1wcyBiZXlvbmQgeWVhciAyMTAwLCBhbmQgZ2F2ZSBhCisgICBib2d1cyBvZmZzZXQgdmFsdWUgdG8gdGhlIGNhbGxlci4gIFVzZSBhIG1vcmUgYmVuaWduIGxvb2tpbmcKKyAgICswMDAwIGluc3RlYWQgYW5kIGxldCAiZ2l0IGxvZyIgZ29pbmcgaW4gc3VjaCBhIGNhc2UsIGluc3RlYWQKKyAgIG9mIGFib3J0aW5nLgorCisgKiBPbmUgYW1vbmcgZm91ciBpbnZvY2F0aW9ucyBvZiByZWFkbGluaygxKSBpbiBvdXIgdGVzdCBzdWl0ZSBoYXMKKyAgIGJlZW4gcmV3cml0dGVuIHNvIHRoYXQgdGhlIHRlc3QgY2FuIHJ1biBvbiBzeXN0ZW1zIHdpdGhvdXQgdGhlCisgICBjb21tYW5kIChvdGhlcnMgYXJlIGluIHZhbGdyaW5kIHRlc3QgZnJhbWV3b3JrIGFuZCB0OTgwMikuCisKKyAqIHQvcGVyZiBuZWVkcyAvdXNyL2Jpbi90aW1lIHdpdGggR05VIGV4dGVuc2lvbjsgdGhlIGludm9jYXRpb24gb2YgaXQKKyAgIGlzIHVwZGF0ZWQgdG8gImd0aW1lIiBvbiBEYXJ3aW4uCisKKyAqIEEgYnVnLCB3aGljaCBjYXVzZWQgImdpdCBwNCIgd2hpbGUgcnVubmluZyB1bmRlciB2ZXJib3NlIG1vZGUgdG8KKyAgIHJlcG9ydCBwYXRocyB0aGF0IGFyZSBvbWl0dGVkIGR1ZSB0byBicmFuY2ggcHJlZml4IGluY29ycmVjdGx5LCBoYXMKKyAgIGJlZW4gZml4ZWQ7IHRoZSBjb21tYW5kIHNhaWQgIklnbm9yaW5nIGZpbGUgb3V0c2lkZSBvZiBwcmVmaXgiIGZvcgorICAgcGF0aHMgdGhhdCBhcmUgX2luc2lkZV8uCisKKyAqIFRoZSB0b3AgbGV2ZWwgZG9jdW1lbnRhdGlvbiAiZ2l0IGhlbHAgZ2l0IiBzdGlsbCBwb2ludGVkIGF0IHRoZQorICAgZG9jdW1lbnRhdGlvbiBzZXQgaG9zdGVkIGF0IG5vdy1kZWZ1bmN0IGdvb2dsZS1jb2RlIHJlcG9zaXRvcnkuCisgICBVcGRhdGUgaXQgdG8gcG9pbnQgdG8gaHR0cHM6Ly9naXQuZ2l0aHViLmlvL2h0bWxkb2NzL2dpdC5odG1sCisgICBpbnN0ZWFkLgorCitBbHNvIGNvbnRhaW5zIG1pbm9yIGRvY3VtZW50YXRpb24gdXBkYXRlcyBhbmQgY29kZSBjbGVhbi11cHMuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuOS4yLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi45LjIudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2MjAwMDMKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuOS4yLnR4dApAQCAtMCwwICsxLDEzIEBACitHaXQgdjIuOS4yIFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PQorCitGaXhlcyBzaW5jZSB2Mi45LjEKKy0tLS0tLS0tLS0tLS0tLS0tLQorCisgKiBBIGZpeCBtZXJnZWQgdG8gdjIuOS4xIGhhZCBhIGZldyB0ZXN0cyB0aGF0IGFyZSBub3QgbWVhbnQgdG8gYmUKKyAgIHJ1biBvbiBwbGF0Zm9ybXMgd2l0aG91dCA2NC1iaXQgbG9uZywgd2hpY2ggY2F1c2VkIHVubmVjZXNzYXJ5CisgICB0ZXN0IGZhaWx1cmVzIG9uIHRoZW0gYmVjYXVzZSB3ZSBkaWRuJ3QgZGV0ZWN0IHRoZSBwbGF0Zm9ybSBhbmQKKyAgIHNraXAgdGhlbS4gIFRoZXNlIHRlc3RzIGFyZSBub3cgc2tpcHBlZCBvbiBwbGF0Zm9ybXMgdGhhdCB0aGV5CisgICBhcmUgbm90IGFwcGxpY2FibGUgdG8uCisKK05vIG90aGVyIGNoYW5nZSBpcyBpbmNsdWRlZCBpbiB0aGlzIHVwZGF0ZS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi45LjMudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjkuMy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk1Yjg2ZgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi45LjMudHh0CkBAIC0wLDAgKzEsMTcwIEBACitHaXQgdjIuOS4zIFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PQorCitGaXhlcyBzaW5jZSB2Mi45LjIKKy0tLS0tLS0tLS0tLS0tLS0tLQorCisgKiBBIGhlbHBlciBmdW5jdGlvbiB0aGF0IHRha2VzIHRoZSBjb250ZW50cyBvZiBhIGNvbW1pdCBvYmplY3QgYW5kCisgICBmaW5kcyBpdHMgc3ViamVjdCBsaW5lIGRpZCBub3QgaWdub3JlIGxlYWRpbmcgYmxhbmsgbGluZXMsIGFzIGlzCisgICBjb21tb25seSBkb25lIGJ5IG90aGVyIGNvZGVwYXRocy4gIE1ha2UgaXQgaWdub3JlIGxlYWRpbmcgYmxhbmsKKyAgIGxpbmVzIHRvIG1hdGNoLgorCisgKiBHaXQgZG9lcyBub3Qga25vdyB3aGF0IHRoZSBjb250ZW50cyBpbiB0aGUgaW5kZXggc2hvdWxkIGJlIGZvciBhCisgICBwYXRoIGFkZGVkIHdpdGggImdpdCBhZGQgLU4iIHlldCwgc28gImdpdCBncmVwIC0tY2FjaGVkIiBzaG91bGQgbm90CisgICBzaG93IGhpdHMgKG9yIHNob3cgbGFjayBvZiBoaXRzLCB3aXRoIC1MKSBpbiBzdWNoIGEgcGF0aCwgYnV0IHRoYXQKKyAgIGxvZ2ljIGRvZXMgbm90IGFwcGx5IHRvICJnaXQgZ3JlcCIsIGkuZS4gc2VhcmNoaW5nIGluIHRoZSB3b3JraW5nCisgICB0cmVlIGZpbGVzLiAgQnV0IHdlIGRpZCBzbyBieSBtaXN0YWtlLCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqICJnaXQgcmViYXNlIC1pIC0tYXV0b3N0YXNoIiBkaWQgbm90IHJlc3RvcmUgdGhlIGF1dG8tc3Rhc2hlZCBjaGFuZ2UKKyAgIHdoZW4gdGhlIG9wZXJhdGlvbiB3YXMgYWJvcnRlZC4KKworICogImdpdCBjb21taXQgLS1hbWVuZCAtLWFsbG93LWVtcHR5LW1lc3NhZ2UgLVMiIGZvciBhIGNvbW1pdCB3aXRob3V0CisgICBhbnkgbWVzc2FnZSBib2R5IGNvdWxkIGhhdmUgbWlzaWRlbnRpZmllZCB3aGVyZSB0aGUgaGVhZGVyIG9mIHRoZQorICAgY29tbWl0IG9iamVjdCBlbmRzLgorCisgKiBNb3JlIG1hcmstdXAgdXBkYXRlcyB0byB0eXBlc2V0IHN0cmluZ3MgdGhhdCBhcmUgZXhwZWN0ZWQgdG8KKyAgIGxpdGVyYWxseSB0eXBlZCBieSB0aGUgZW5kIHVzZXIgaW4gZml4ZWQtd2lkdGggZm9udC4KKworICogRm9yIGEgbG9uZyB0aW1lLCB3ZSBjYXJyaWVkIGFuIGluLWNvZGUgY29tbWVudCB0aGF0IHNhaWQgb3VyCisgICBjb2xvcmVkIG91dHB1dCB3b3VsZCB3b3JrIG9ubHkgd2hlbiB3ZSB1c2UgZnByaW50Zi9mcHV0cyBvbgorICAgV2luZG93cywgd2hpY2ggbm8gbG9uZ2VyIGlzIHRoZSBjYXNlIGZvciB0aGUgcGFzdCBmZXcgeWVhcnMuCisKKyAqICJnYy5hdXRvUGFja0xpbWl0IiB3aGVuIHNldCB0byAxIHNob3VsZCBub3QgdHJpZ2dlciBhIHJlcGFja2luZworICAgd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSBwYWNrLCBidXQgdGhlIGNvZGUgY291bnRlZCBwb29ybHkgYW5kIGRpZAorICAgc28uCisKKyAqIE9uZSBwYXJ0IG9mICJnaXQgYW0iIGhhZCBhbiBvZGRiYWxsIGhlbHBlciBmdW5jdGlvbiB0aGF0IGNhbGxlZAorICAgc3R1ZmYgZnJvbSBvdXRzaWRlICJoaXMiIGFzIG9wcG9zZWQgdG8gY2FsbGluZyB3aGF0IHdlIGhhdmUgIm91cnMiLAorICAgd2hpY2ggd2FzIG5vdCBnZW5kZXItbmV1dHJhbCBhbmQgYWxzbyBpbmNvbnNpc3RlbnQgd2l0aCB0aGUgcmVzdCBvZgorICAgdGhlIHN5c3RlbSB3aGVyZSBvdXRzaWRlIHN0dWZmIGlzIHVzdWFsbCBjYWxsZWQgInRoZWlycyIgaW4KKyAgIGNvbnRyYXN0IHRvICJvdXJzIi4KKworICogVGhlIHRlc3QgZnJhbWV3b3JrIGxlYXJuZWQgYSBuZXcgaGVscGVyIHRlc3RfbWF0Y2hfc2lnbmFsIHRvCisgICBjaGVjayBhbiBleGl0IGNvZGUgZnJvbSBnZXR0aW5nIGtpbGxlZCBieSBhbiBleHBlY3RlZCBzaWduYWwuCisKKyAqICJnaXQgYmxhbWUgLU0iIG1pc3NlZCBhIHNpbmdsZSBsaW5lIHRoYXQgd2FzIG1vdmVkIHdpdGhpbiB0aGUgZmlsZS4KKworICogRml4IHJlY2VudGx5IGludHJvZHVjZWQgY29kZXBhdGhzIHRoYXQgYXJlIGludm9sdmVkIGluIHBhcmFsbGVsCisgICBzdWJtb2R1bGUgb3BlcmF0aW9ucywgd2hpY2ggZ2F2ZSB1cCBvbiByZWFkaW5nIHRvbyBlYXJseSwgYW5kCisgICBjb3VsZCBoYXZlIHdhc3RlZCBDUFUgd2hpbGUgYXR0ZW1wdGluZyB0byB3cml0ZSB1bmRlciBhIGNvcm5lcgorICAgY2FzZSBjb25kaXRpb24uCisKKyAqICJnaXQgZ3JlcCAtaSIgaGFzIGJlZW4gdGF1Z2h0IHRvIGZvbGQgY2FzZSBpbiBub24tYXNjaWkgbG9jYWxlcworICAgY29ycmVjdGx5LgorCisgKiBBIHRlc3QgdGhhdCB1bmNvbmRpdGlvbmFsbHkgdXNlZCAibWt0ZW1wIiBsZWFybmVkIHRoYXQgdGhlIGNvbW1hbmQKKyAgIGlzIG5vdCBuZWNlc3NhcmlseSBhdmFpbGFibGUgZXZlcnl3aGVyZS4KKworICogImdpdCBibGFtZSBmaWxlIiBhbGxvd2VkIHRoZSBsaW5lYWdlIG9mIGxpbmVzIGluIHRoZSB1bmNvbW1pdHRlZCwKKyAgIHVuYWRkZWQgY29udGVudHMgb2YgImZpbGUiIHRvIGJlIGluc3BlY3RlZCwgYnV0IGl0IHJlZnVzZWQgd2hlbgorICAgImZpbGUiIGRpZCBub3QgYXBwZWFyIGluIHRoZSBjdXJyZW50IGNvbW1pdC4gIFdoZW4gImZpbGUiIHdhcworICAgY3JlYXRlZCBieSByZW5hbWluZyBhbiBleGlzdGluZyBmaWxlIChidXQgdGhlIGNoYW5nZSBoYXMgbm90IGJlZW4KKyAgIGNvbW1pdHRlZCksIHRoaXMgcmVzdHJpY3Rpb24gd2FzIHVubmVjZXNzYXJpbHkgdGlnaHQuCisKKyAqICJnaXQgYWRkIC1OIGRpci9maWxlICYmIGdpdCB3cml0ZS10cmVlIiBwcm9kdWNlZCBhbiBpbmNvcnJlY3QgdHJlZQorICAgd2hlbiB0aGVyZSBhcmUgb3RoZXIgcGF0aHMgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IHRoYXQgc29ydHMgYWZ0ZXIKKyAgICJmaWxlIi4KKworICogImdpdCBmZXRjaCBodHRwOi8vdXNlcjpwYXNzQGhvc3QvcmVwby4uLiIgc2NydWJiZWQgdGhlIHVzZXJpbmZvCisgICBwYXJ0LCBidXQgImdpdCBwdXNoIiBkaWRuJ3QuCisKKyAqIEFuIGFnZSBvbGQgYnVnIHRoYXQgY2F1c2VkICJnaXQgZGlmZiAtLWlnbm9yZS1zcGFjZS1hdC1lb2wiCisgICBtaXNiZWhhdmUgaGFzIGJlZW4gZml4ZWQuCisKKyAqICJnaXQgbm90ZXMgbWVyZ2UiIGhhZCBhIGNvZGUgdG8gc2VlIGlmIGEgcGF0aCBleGlzdHMgKGFuZCBmYWlscyBpZgorICAgaXQgZG9lcykgYW5kIHRoZW4gb3BlbiB0aGUgcGF0aCBmb3Igd3JpdGluZyAod2hlbiBpdCBkb2Vzbid0KS4KKyAgIFJlcGxhY2UgaXQgd2l0aCBvcGVuIHdpdGggT19FWENMLgorCisgKiAiZ2l0IHBhY2stb2JqZWN0cyIgYW5kICJnaXQgaW5kZXgtcGFjayIgbW9zdGx5IG9wZXJhdGUgd2l0aCBvZmZfdAorICAgd2hlbiB0YWxraW5nIGFib3V0IHRoZSBvZmZzZXQgb2Ygb2JqZWN0cyBpbiBhIHBhY2tmaWxlLCBidXQgdGhlcmUKKyAgIHdlcmUgYSBoYW5kZnVsIG9mIHBsYWNlcyB0aGF0IHVzZWQgInVuc2lnbmVkIGxvbmciIHRvIGhvbGQgdGhhdAorICAgdmFsdWUsIGxlYWRpbmcgdG8gYW4gdW5pbnRlbmRlZCB0cnVuY2F0aW9uLgorCisgKiBSZWNlbnQgdXBkYXRlIHRvICJnaXQgZGFlbW9uIiB0cmllcyB0byBlbmFibGUgdGhlIHNvY2tldC1sZXZlbAorICAgS0VFUEFMSVZFLCBidXQgd2hlbiBpdCBpcyBzcGF3bmVkIHZpYSBpbmV0ZCwgdGhlIHN0YW5kYXJkIGlucHV0CisgICBmaWxlIGRlc2NyaXB0b3IgbWF5IG5vdCBuZWNlc3NhcmlseSBiZSBjb25uZWN0ZWQgdG8gYSBzb2NrZXQuCisgICBTdXBwcmVzcyBhbiBFTk9UU09DSyBlcnJvciBmcm9tIHNldHNvY2tvcHQoKS4KKworICogUmVjZW50IEZyZWVCU0Qgc3RvcHBlZCBtYWtpbmcgcGVybCBhdmFpbGFibGUgYXQgL3Vzci9iaW4vcGVybDsKKyAgIHN3aXRjaCB0aGUgZGVmYXVsdCB0aGUgYnVpbHQtaW4gcGF0aCB0byAvdXNyL2xvY2FsL2Jpbi9wZXJsIG9uIG5vdAorICAgdG9vIGFuY2llbnQgRnJlZUJTRCByZWxlYXNlcy4KKworICogImdpdCBzdGF0dXMiIGxlYXJuZWQgdG8gc3VnZ2VzdCAibWVyZ2UgLS1hYm9ydCIgZHVyaW5nIGEgY29uZmxpY3RlZAorICAgbWVyZ2UsIGp1c3QgbGlrZSBpdCBhbHJlYWR5IHN1Z2dlc3RzICJyZWJhc2UgLS1hYm9ydCIgZHVyaW5nIGEKKyAgIGNvbmZsaWN0ZWQgcmViYXNlLgorCisgKiBUaGUgLmMvLmggc291cmNlcyBhcmUgbWFya2VkIGFzIHN1Y2ggaW4gb3VyIC5naXRhdHRyaWJ1dGVzIGZpbGUgc28KKyAgIHRoYXQgImdpdCBkaWZmIC1XIiBhbmQgZnJpZW5kcyB3b3VsZCB3b3JrIGJldHRlci4KKworICogRXhpc3RpbmcgYXV0b2NvbmYgZ2VuZXJhdGVkIHRlc3QgZm9yIHRoZSBuZWVkIHRvIGxpbmsgd2l0aCBwdGhyZWFkCisgICBsaWJyYXJ5IGRpZCBub3QgY2hlY2sgYWxsIHRoZSBmdW5jdGlvbnMgZnJvbSBwdGhyZWFkIGxpYnJhcmllczsKKyAgIHJlY2VudCBGcmVlQlNEIGhhcyBzb21lIGZ1bmN0aW9ucyBpbiBsaWJjIGJ1dCBub3Qgb3RoZXJzLCBhbmQgd2UKKyAgIG1pc3Rha2VubHkgdGhvdWdodCBsaW5raW5nIHdpdGggbGliYyBpcyBlbm91Z2ggd2hlbiBpdCBpcyBub3QuCisKKyAqIEFsbG93IGh0dHAgZGFlbW9uIHRlc3RzIGluIFRyYXZpcyBDSSB0ZXN0cy4KKworICogVXNlcnMgb2YgdGhlIHBhcnNlX29wdGlvbnNfY29uY2F0KCkgQVBJIGZ1bmN0aW9uIG5lZWQgdG8gYWxsb2NhdGUKKyAgIGV4dHJhIHNsb3RzIGluIGFkdmFuY2UgYW5kIGZpbGwgdGhlbSB3aXRoIE9QVF9FTkQoKSB3aGVuIHRoZXkgd2FudAorICAgdG8gZGVjaWRlIHRoZSBzZXQgb2Ygc3VwcG9ydGVkIG9wdGlvbnMgZHluYW1pY2FsbHksIHdoaWNoIG1ha2VzIHRoZQorICAgY29kZSBlcnJvci1wcm9uZSBhbmQgaGFyZCB0byByZWFkLiAgVGhpcyBoYXMgYmVlbiBjb3JyZWN0ZWQgYnkgdHdlYWtpbmcKKyAgIHRoZSBBUEkgdG8gYWxsb2NhdGUgYW5kIHJldHVybiBhIG5ldyBjb3B5IG9mICJzdHJ1Y3Qgb3B0aW9uIiBhcnJheS4KKworICogVGhlIHVzZSBvZiBzdHJidWYgaW4gImdpdCBybSIgdG8gYnVpbGQgZmlsZW5hbWUgdG8gcmVtb3ZlIHdhcyBhIGJpdAorICAgc3Vib3B0aW1hbCwgd2hpY2ggaGFzIGJlZW4gZml4ZWQuCisKKyAqICJnaXQgY29tbWl0IC0taGVscCIgc2FpZCAiLS1uby12ZXJpZnkiIGlzIG9ubHkgYWJvdXQgc2tpcHBpbmcgdGhlCisgICBwcmUtY29tbWl0IGhvb2ssIGFuZCBmYWlsZWQgdG8gc2F5IHRoYXQgaXQgYWxzbyBza2lwcGVkIHRoZQorICAgY29tbWl0LW1zZyBob29rLgorCisgKiAiZ2l0IG1lcmdlIiBpbiBHaXQgdjIuOSB3YXMgdGF1Z2h0IHRvIGZvcmJpZCBtZXJnaW5nIGFuIHVucmVsYXRlZAorICAgbGluZXMgb2YgaGlzdG9yeSBieSBkZWZhdWx0LCBidXQgdGhhdCBpcyBleGFjdGx5IHRoZSBraW5kIG9mIHRoaW5nCisgICB0aGUgIi0tcmVqb2luIiBtb2RlIG9mICJnaXQgc3VidHJlZSIgKGluIGNvbnRyaWIvKSB3YW50cyB0byBkby4KKyAgICJnaXQgc3VidHJlZSIgaGFzIGJlZW4gdGF1Z2h0IHRvIHVzZSB0aGUgIi0tYWxsb3ctdW5yZWxhdGVkLWhpc3RvcmllcyIKKyAgIG9wdGlvbiB0byBvdmVycmlkZSB0aGUgZGVmYXVsdC4KKworICogVGhlIGJ1aWxkIHByb2NlZHVyZSBmb3IgImdpdCBwZXJzaXN0ZW50LWh0dHBzIiBoZWxwZXIgKGluIGNvbnRyaWIvKQorICAgaGFzIGJlZW4gdXBkYXRlZCBzbyB0aGF0IGl0IGNhbiBiZSBidWlsdCB3aXRoIG1vcmUgcmVjZW50IHZlcnNpb25zCisgICBvZiBHby4KKworICogVGhlcmUgaXMgYW4gb3B0aW1pemF0aW9uIHVzZWQgaW4gImdpdCBkaWZmICR0cmVlQSAkdHJlZUIiIHRvIGJvcnJvdworICAgYW4gYWxyZWFkeSBjaGVja2VkLW91dCBjb3B5IGluIHRoZSB3b3JraW5nIHRyZWUgd2hlbiBpdCBpcyBrbm93biB0bworICAgYmUgdGhlIHNhbWUgYXMgdGhlIGJsb2IgYmVpbmcgY29tcGFyZWQsIGV4cGVjdGluZyB0aGF0IG9wZW4vbW1hcCBvZgorICAgc3VjaCBhIGZpbGUgaXMgZmFzdGVyIHRoYW4gcmVhZGluZyBpdCBmcm9tIHRoZSBvYmplY3Qgc3RvcmUsIHdoaWNoCisgICBpbnZvbHZlcyBpbmZsYXRpbmcgYW5kIGFwcGx5aW5nIGRlbHRhLiAgVGhpcyBob3dldmVyIGtpY2tlZCBpbiBldmVuCisgICB3aGVuIHRoZSBjaGVja2VkLW91dCBjb3B5IG5lZWRzIHRvIGdvIHRocm91Z2ggdGhlIGNvbnZlcnQtdG8tZ2l0CisgICBjb252ZXJzaW9uIChpbmNsdWRpbmcgdGhlIGNsZWFuIGZpbHRlciksIHdoaWNoIGRlZmVhdHMgdGhlIHdob2xlCisgICBwb2ludCBvZiB0aGUgb3B0aW1pemF0aW9uLiAgVGhlIG9wdGltaXphdGlvbiBoYXMgYmVlbiBkaXNhYmxlZCB3aGVuCisgICB0aGUgY29udmVyc2lvbiBpcyBuZWNlc3NhcnkuCisKKyAqICJnaXQgLWMgZ3JlcC5wYXR0ZXJuVHlwZT1leHRlbmRlZCBsb2cgLS1iYXNpYy1yZWdleHAiIG1pc2JlaGF2ZWQKKyAgIGJlY2F1c2UgdGhlIGludGVybmFsIEFQSSB0byBhY2Nlc3MgdGhlIGdyZXAgbWFjaGluZXJ5IHdhcyBub3QKKyAgIGRlc2lnbmVkIHdlbGwuCisKKyAqIFdpbmRvd3MgcG9ydCB3YXMgZmFpbGluZyBzb21lIHRlc3RzIGluIHQ0MTMwLCBkdWUgdG8gdGhlIGxhY2sgb2YKKyAgIGludW0gaW4gdGhlIHJldHVybmVkIHZhbHVlcyBieSBpdHMgbHN0YXQoMikgZW11bGF0aW9uLgorCisgKiBUaGUgY2hhcmFjdGVycyBpbiB0aGUgbGFiZWwgc2hvd24gZm9yIHRhZ3MvcmVmcyBmb3IgY29tbWl0cyBpbgorICAgImdpdHdlYiIgb3V0cHV0IGFyZSBub3cgcHJvcGVybHkgZXNjYXBlZCBmb3IgcHJvcGVyIEhUTUwgb3V0cHV0LgorCisgKiBGcmVlQlNEIGNhbiBsaWUgd2hlbiBhc2tlZCBtdGltZSBvZiBhIGRpcmVjdG9yeSwgd2hpY2ggbWFkZSB0aGUKKyAgIHVudHJhY2tlZCBjYWNoZSBjb2RlIHRvIGZhbGwgYmFjayB0byBhIHNsb3ctcGF0aCwgd2hpY2ggaW4gdHVybgorICAgY2F1c2VkIHRlc3RzIGluIHQ3MDYzIHRvIGZhaWwgYmVjYXVzZSBpdCB3YW50ZWQgdG8gdmVyaWZ5IHRoZQorICAgYmVoYXZpb3VyIG9mIHRoZSBmYXN0LXBhdGguCisKKyAqIFNxdWVsY2ggY29tcGlsZXIgd2FybmluZ3MgZm9yIG5ldG1hbGxvYyAoaW4gY29tcGF0LykgbGlicmFyeS4KKworICogVGhlIEFQSSBkb2N1bWVudGF0aW9uIGZvciBoYXNobWFwIHdhcyB1bmNsZWFyIGlmIGhhc2htYXBfZW50cnkKKyAgIGNhbiBiZSBzYWZlbHkgZGlzY2FyZGVkIHdpdGhvdXQgYW55IG90aGVyIGNvbnNpZGVyYXRpb24uICBTdGF0ZQorICAgdGhhdCBpdCBpcyBzYWZlIHRvIGRvIHNvLgorCisgKiBOb3Qtc28tcmVjZW50IHJld3JpdGUgb2YgImdpdCBhbSIgdGhhdCBzdGFydGVkIG1ha2luZyBpbnRlcm5hbAorICAgY2FsbHMgaW50byB0aGUgY29tbWl0IG1hY2hpbmVyeSBoYWQgYW4gdW5pbnRlbmRlZCByZWdyZXNzaW9uLCBpbgorICAgdGhhdCBubyBtYXR0ZXIgaG93IG1hbnkgc2Vjb25kcyBpdCB0b29rIHRvIGFwcGx5IG1hbnkgcGF0Y2hlcywgdGhlCisgICByZXN1bHRpbmcgY29tbWl0dGVyIHRpbWVzdGFtcCBmb3IgdGhlIHJlc3VsdGluZyBjb21taXRzIHdlcmUgYWxsCisgICB0aGUgc2FtZS4KKworICogImdpdCBkaWZmdG9vbCA8cGF0aHM+Li4uIiBzdGFydGVkIGluIGEgc3ViZGlyZWN0b3J5IGZhaWxlZCB0bworICAgaW50ZXJwcmV0IHRoZSBwYXRocyByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeSwgd2hpY2ggaGFzIGJlZW4KKyAgIGZpeGVkLgorCitBbHNvIGNvbnRhaW5zIG1pbm9yIGRvY3VtZW50YXRpb24gdXBkYXRlcyBhbmQgY29kZSBjbGVhbi11cHMuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuOS40LnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi45LjQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxZTg2NDIKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuOS40LnR4dApAQCAtMCwwICsxLDgzIEBACitHaXQgdjIuOS40IFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PQorCitGaXhlcyBzaW5jZSB2Mi45LjMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCisgKiBUaGVyZSBhcmUgY2VydGFpbiBob3VzZS1rZWVwaW5nIHRhc2tzIHRoYXQgbmVlZCB0byBiZSBwZXJmb3JtZWQgYXQKKyAgIHRoZSB2ZXJ5IGJlZ2lubmluZyBvZiBhbnkgR2l0IHByb2dyYW0sIGFuZCBwcm9ncmFtcyB0aGF0IGFyZSBub3QKKyAgIGJ1aWx0LWluIGNvbW1hbmRzIGhhZCB0byBkbyB0aGVtIGV4YWN0bHkgdGhlIHNhbWUgd2F5IGFzICJnaXQiCisgICBwb3R0eSBkb2VzLiAgSXQgd2FzIGVhc3kgdG8gbWFrZSBtaXN0YWtlcyBpbiBvbmUtb2ZmIHN0YW5kYWxvbmUKKyAgIHByb2dyYW1zIChsaWtlIHRlc3QgaGVscGVycykuICBBIGNvbW1vbiAibWFpbigpIiBmdW5jdGlvbiB0aGF0CisgICBjYWxscyBjbWRfbWFpbigpIG9mIGluZGl2aWR1YWwgcHJvZ3JhbSBoYXMgYmVlbiBpbnRyb2R1Y2VkIHRvCisgICBtYWtlIGl0IGhhcmRlciB0byBtYWtlIG1pc3Rha2VzLgorCisgKiAiZ2l0IG1lcmdlIiB3aXRoIHJlbm9ybWFsaXphdGlvbiBkaWQgbm90IHdvcmsgd2VsbCB3aXRoCisgICBtZXJnZS1yZWN1cnNpdmUsIGR1ZSB0byAic2FmZXIgY3JsZiIgY29udmVyc2lvbiBraWNraW5nIGluIHdoZW4gaXQKKyAgIHNob3VsZG4ndC4KKworICogVGhlIHJlZmxvZyBvdXRwdXQgZm9ybWF0IGlzIGRvY3VtZW50ZWQgYmV0dGVyLCBhbmQgYSBuZXcgZm9ybWF0CisgICAtLWRhdGU9dW5peCB0byByZXBvcnQgdGhlIHNlY29uZHMtc2luY2UtZXBvY2ggKHdpdGhvdXQgdGltZXpvbmUpCisgICBoYXMgYmVlbiBhZGRlZC4KKworICogImdpdCBwdXNoIC0tZm9yY2Utd2l0aC1sZWFzZSIgYWxyZWFkeSBoYWQgZW5vdWdoIGxvZ2ljIHRvIGFsbG93CisgICBlbnN1cmluZyB0aGF0IHN1Y2ggYSBwdXNoIHJlc3VsdHMgaW4gY3JlYXRpb24gb2YgYSByZWYgKGkuZS4gdGhlCisgICByZWNlaXZpbmcgZW5kIGRpZCBub3QgaGF2ZSBhbm90aGVyIHB1c2ggZnJvbSBzaWRld2F5cyB0aGF0IHdvdWxkIGJlCisgICBkaXNjYXJkZWQgYnkgb3VyIGZvcmNlLXB1c2hpbmcpLCBidXQgZGlkbid0IGV4cG9zZSB0aGlzIHBvc3NpYmlsaXR5CisgICB0byB0aGUgdXNlcnMuICBJdCBkb2VzIHNvIG5vdy4KKworICogImltcG9ydC10YXJzIiBmYXN0LWltcG9ydCBzY3JpcHQgKGluIGNvbnRyaWIvKSB1c2VkIHRvIGlnbm9yZSBhCisgICBoYXJkbGluayB0YXJnZXQgYW5kIHJlcGxhY2VkIGl0IHdpdGggYW4gZW1wdHkgZmlsZSwgd2hpY2ggaGFzIGJlZW4KKyAgIGNvcnJlY3RlZCB0byByZWNvcmQgdGhlIHNhbWUgYmxvYiBhcyB0aGUgb3RoZXIgZmlsZSB0aGUgaGFyZGxpbmsgaXMKKyAgIHNoYXJlZCB3aXRoLgorCisgKiAiZ2l0IG12IGRpciBub24tZXhpc3RpbmctZGlyLyIgZGlkIG5vdCB3b3JrIGluIHNvbWUgZW52aXJvbm1lbnRzCisgICB0aGUgc2FtZSB3YXkgYXMgZXhpc3RpbmcgbWFpbnN0cmVhbSBwbGF0Zm9ybXMuICBUaGUgY29kZSBub3cgbW92ZXMKKyAgICJkaXIiIHRvICJub24tZXhpc3RpbmctZGlyIiwgd2l0aG91dCByZWx5aW5nIG9uIHJlbmFtZSgiQSIsICJCLyIpCisgICB0aGF0IHN0cmlwcyB0aGUgdHJhaWxpbmcgc2xhc2ggb2YgJy8nLgorCisgKiBUaGUgInQvIiBoaWVyYXJjaHkgaXMgcHJvbmUgdG8gZ2V0IGFuIHVudXN1YWwgcGF0aG5hbWU7ICJtYWtlIHRlc3QiCisgICBoYXMgYmVlbiB0YXVnaHQgdG8gbWFrZSBzdXJlIHRoZXkgZG8gbm90IGNvbnRhaW4gcGF0aHMgdGhhdCBjYW5ub3QKKyAgIGJlIGNoZWNrZWQgb3V0IG9uIFdpbmRvd3MgKGFuZCB0aGUgbWVjaGFuaXNtIGNhbiBiZSByZXVzYWJsZSB0bworICAgY2F0Y2ggcGF0aG5hbWVzIHRoYXQgYXJlIG5vdCBwb3J0YWJsZSB0byBvdGhlciBwbGF0Zm9ybXMgYXMgbmVlZAorICAgYXJpc2VzKS4KKworICogV2hlbiAiZ2l0IG1lcmdlLXJlY3Vyc2l2ZSIgd29ya3Mgb24gaGlzdG9yeSB3aXRoIG1hbnkgY3Jpc3MtY3Jvc3MKKyAgIG1lcmdlcyBpbiAidmVyYm9zZSIgbW9kZSwgdGhlIG5hbWVzIHRoZSBjb21tYW5kIGFzc2lnbnMgdG8gdGhlCisgICB2aXJ0dWFsIG1lcmdlIGJhc2VzIGNvdWxkIGhhdmUgb3ZlcndyaXR0ZW4gZWFjaCBvdGhlciBieSB1bmludGVuZGVkCisgICByZXVzZSBvZiB0aGUgc2FtZSBwaWVjZSBvZiBtZW1vcnkuCisKKyAqICJnaXQgY2hlY2tvdXQgLS1kZXRhY2ggPGJyYW5jaD4iIHVzZWQgdG8gZ2l2ZSB0aGUgc2FtZSBhZHZpY2UKKyAgIG1lc3NhZ2UgYXMgdGhhdCBpcyBpc3N1ZWQgd2hlbiAiZ2l0IGNoZWNrb3V0IDx0YWc+IiAob3IgYW55dGhpbmcKKyAgIHRoYXQgaXMgbm90IGEgYnJhbmNoIG5hbWUpIGlzIGdpdmVuLCBidXQgYXNraW5nIHdpdGggIi0tZGV0YWNoIiBpcworICAgYW4gZXhwbGljaXQgZW5vdWdoIHNpZ24gdGhhdCB0aGUgdXNlciBrbm93cyB3aGF0IGlzIGdvaW5nIG9uLiAgVGhlCisgICBhZHZpY2UgbWVzc2FnZSBoYXMgYmVlbiBzcXVlbGNoZWQgaW4gdGhpcyBjYXNlLgorCisgKiAiZ2l0IGRpZmZ0b29sIiBieSBkZWZhdWx0IGlnbm9yZXMgdGhlIGVycm9yIGV4aXQgZnJvbSB0aGUgYmFja2VuZAorICAgY29tbWFuZHMgaXQgc3Bhd25zLCBiZWNhdXNlIG9mdGVuIHRoZXkgc2lnbmFsIHRoYXQgdGhleSBmb3VuZAorICAgZGlmZmVyZW5jZXMgYnkgZXhpdGluZyB3aXRoIGEgbm9uLXplcm8gc3RhdHVzIGNvZGUganVzdCBsaWtlICJkaWZmIgorICAgZG9lczsgdGhlIGV4aXQgc3RhdHVzIGNvZGVzIDEyNiBhbmQgYWJvdmUgaG93ZXZlciBhcmUgc3BlY2lhbCBpbgorICAgdGhhdCB0aGV5IGFyZSB1c2VkIHRvIHNpZ25hbCB0aGF0IHRoZSBjb21tYW5kIGlzIG5vdCBleGVjdXRhYmxlLAorICAgZG9lcyBub3QgZXhpc3QsIG9yIGtpbGxlZCBieSBhIHNpZ25hbC4gICJnaXQgZGlmZnRvb2wiIGhhcyBiZWVuCisgICB0YXVnaHQgdG8gbm90aWNlIHRoZXNlIGV4aXQgc3RhdHVzIGNvZGVzLgorCisgKiBPbiBXaW5kb3dzLCBoZWxwLmJyb3dzZXIgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB1c2VkIHRvIGJlIGlnbm9yZWQsCisgICB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIFRoZSAiZ2l0IC1jIHZhcls9dmFsXSBjbWQiIGZhY2lsaXR5IHRvIGFwcGVuZCBhIGNvbmZpZ3VyYXRpb24KKyAgIHZhcmlhYmxlIGRlZmluaXRpb24gYXQgdGhlIGVuZCBvZiB0aGUgc2VhcmNoIG9yZGVyIHdhcyBkZXNjcmliZWQgaW4KKyAgIGdpdCgxKSBtYW51YWwgcGFnZSwgYnV0IG5vdCBpbiBnaXQtY29uZmlnKDEpLCB3aGljaCB3YXMgbW9yZSBsaWtlbHkKKyAgIHBsYWNlIGZvciBwZW9wbGUgdG8gbG9vayBmb3Igd2hlbiB0aGV5IGFzayAiY2FuIEkgbWFrZSBhIG9uZS1zaG90CisgICBvdmVycmlkZSwgYW5kIGlmIHNvIGhvdz8iCisKKyAqIFRoZSB0ZW1wZmlsZSAoaGVuY2UgaXRzIHVzZXIgbG9ja2ZpbGUpIEFQSSBsZXRzIHRoZSBjYWxsZXIgdG8gb3BlbgorICAgYSBmaWxlIGRlc2NyaXB0b3IgdG8gYSB0ZW1wb3JhcnkgZmlsZSwgd3JpdGUgaW50byBpdCBhbmQgdGhlbgorICAgZmluYWxpemUgaXQgYnkgZmlyc3QgY2xvc2luZyB0aGUgZmlsZWhhbmRsZSBhbmQgdGhlbiBlaXRoZXIKKyAgIHJlbW92aW5nIG9yIHJlbmFtaW5nIHRoZSB0ZW1wb3JhcnkgZmlsZS4gIFdoZW4gdGhlIHByb2Nlc3Mgc3Bhd25zIGEKKyAgIHN1YnByb2Nlc3MgYWZ0ZXIgb2J0YWluaW5nIHRoZSBmaWxlIGRlc2NyaXB0b3IsIGFuZCBpZiB0aGUKKyAgIHN1YnByb2Nlc3MgaGFzIG5vdCBleGl0ZWQgd2hlbiB0aGUgYXR0ZW1wdCB0byByZW1vdmUgb3IgcmVuYW1lIGlzCisgICBtYWRlLCB0aGUgbGFzdCBzdGVwIGZhaWxzIG9uIFdpbmRvd3MsIGJlY2F1c2UgdGhlIHN1YnByb2Nlc3MgaGFzCisgICB0aGUgZmlsZSBkZXNjcmlwdG9yIHN0aWxsIG9wZW4uICBPcGVuIHRlbXBmaWxlIHdpdGggT19DTE9FWEVDIGZsYWcKKyAgIHRvIGF2b2lkIHRoaXMgKG9uIFdpbmRvd3MsIHRoaXMgaXMgbWFwcGVkIHRvIE9fTk9JTkhFUklUKS4KKworQWxzbyBjb250YWlucyBtaW5vciBkb2N1bWVudGF0aW9uIHVwZGF0ZXMgYW5kIGNvZGUgY2xlYW4tdXBzLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9TdWJtaXR0aW5nUGF0Y2hlcyBiL0RvY3VtZW50YXRpb24vU3VibWl0dGluZ1BhdGNoZXMKaW5kZXggZThhZDk3OC4uMDgzNTJkZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9TdWJtaXR0aW5nUGF0Y2hlcworKysgYi9Eb2N1bWVudGF0aW9uL1N1Ym1pdHRpbmdQYXRjaGVzCkBAIC0xMjEsNiArMTIxLDE2IEBACiB3aXRob3V0IGV4dGVybmFsIHJlc291cmNlcy4gSW5zdGVhZCBvZiBnaXZpbmcgYSBVUkwgdG8gYSBtYWlsaW5nIGxpc3QKIGFyY2hpdmUsIHN1bW1hcml6ZSB0aGUgcmVsZXZhbnQgcG9pbnRzIG9mIHRoZSBkaXNjdXNzaW9uLgogCitJZiB5b3Ugd2FudCB0byByZWZlcmVuY2UgYSBwcmV2aW91cyBjb21taXQgaW4gdGhlIGhpc3Rvcnkgb2YgYSBzdGFibGUKK2JyYW5jaCwgdXNlIHRoZSBmb3JtYXQgImFiYnJldmlhdGVkIHNoYTEgKHN1YmplY3QsIGRhdGUpIiwKK3dpdGggdGhlIHN1YmplY3QgZW5jbG9zZWQgaW4gYSBwYWlyIG9mIGRvdWJsZS1xdW90ZXMsIGxpa2UgdGhpczoKKworICAgIENvbW1pdCBmODZhMzc0ICgicGFjay1iaXRtYXAuYzogZml4IGEgbWVtbGVhayIsIDIwMTUtMDMtMzApCisgICAgbm90aWNlZCB0aGF0IC4uLgorCitUaGUgIkNvcHkgY29tbWl0IHN1bW1hcnkiIGNvbW1hbmQgb2YgZ2l0ayBjYW4gYmUgdXNlZCB0byBvYnRhaW4gdGhpcworZm9ybWF0LgorCiAKICgzKSBHZW5lcmF0ZSB5b3VyIHBhdGNoIHVzaW5nIEdpdCB0b29scyBvdXQgb2YgeW91ciBjb21taXRzLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2JsYW1lLW9wdGlvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9ibGFtZS1vcHRpb25zLnR4dAppbmRleCAwMmNiNjg0Li4yNjY5Yjg3IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2JsYW1lLW9wdGlvbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vYmxhbWUtb3B0aW9ucy50eHQKQEAgLTI4LDEyICsyOCwxMyBAQAogLVMgPHJldnMtZmlsZT46OgogCVVzZSByZXZpc2lvbnMgZnJvbSByZXZzLWZpbGUgaW5zdGVhZCBvZiBjYWxsaW5nIGxpbmtnaXQ6Z2l0LXJldi1saXN0WzFdLgogCi0tLXJldmVyc2U6OgorLS1yZXZlcnNlIDxyZXY+Li48cmV2Pjo6CiAJV2FsayBoaXN0b3J5IGZvcndhcmQgaW5zdGVhZCBvZiBiYWNrd2FyZC4gSW5zdGVhZCBvZiBzaG93aW5nCiAJdGhlIHJldmlzaW9uIGluIHdoaWNoIGEgbGluZSBhcHBlYXJlZCwgdGhpcyBzaG93cyB0aGUgbGFzdAogCXJldmlzaW9uIGluIHdoaWNoIGEgbGluZSBoYXMgZXhpc3RlZC4gVGhpcyByZXF1aXJlcyBhIHJhbmdlIG9mCiAJcmV2aXNpb24gbGlrZSBTVEFSVC4uRU5EIHdoZXJlIHRoZSBwYXRoIHRvIGJsYW1lIGV4aXN0cyBpbgotCVNUQVJULgorCVNUQVJULiAgYGdpdCBibGFtZSAtLXJldmVyc2UgU1RBUlRgIGlzIHRha2VuIGFzIGBnaXQgYmxhbWUKKwktLXJldmVyc2UgU1RBUlQuLkhFQURgIGZvciBjb252ZW5pZW5jZS4KIAogLXA6OgogLS1wb3JjZWxhaW46OgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcudHh0CmluZGV4IDJlMWIyZTQuLmEwYWI2NmEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy50eHQKQEAgLTE0MCw3ICsxNDAsNyBAQAogICAgICAgIGZhbHNlOzsgQm9vbGVhbiBmYWxzZSBjYW4gYmUgc3BlbGxlZCBhcyBgbm9gLCBgb2ZmYCwKIAkJYGZhbHNlYCwgb3IgYDBgLgogKwotV2hlbiBjb252ZXJ0aW5nIHZhbHVlIHRvIHRoZSBjYW5vbmljYWwgZm9ybSB1c2luZyAnLS1ib29sJyB0eXBlCitXaGVuIGNvbnZlcnRpbmcgdmFsdWUgdG8gdGhlIGNhbm9uaWNhbCBmb3JtIHVzaW5nIGAtLWJvb2xgIHR5cGUKIHNwZWNpZmllcjsgJ2dpdCBjb25maWcnIHdpbGwgZW5zdXJlIHRoYXQgdGhlIG91dHB1dCBpcyAidHJ1ZSIgb3IKICJmYWxzZSIgKHNwZWxsZWQgaW4gbG93ZXJjYXNlKS4KIApAQCAtMTUwLDI3ICsxNTAsMzQgQEAKICAgICAgICAxMDI0IiwgImJ5IDEwMjR4MTAyNCIsIGV0Yy4KIAogY29sb3I6OgotICAgICAgIFRoZSB2YWx1ZSBmb3IgYSB2YXJpYWJsZXMgdGhhdCB0YWtlcyBhIGNvbG9yIGlzIGEgbGlzdCBvZgotICAgICAgIGNvbG9ycyAoYXQgbW9zdCB0d28pIGFuZCBhdHRyaWJ1dGVzIChhdCBtb3N0IG9uZSksIHNlcGFyYXRlZAotICAgICAgIGJ5IHNwYWNlcy4gIFRoZSBjb2xvcnMgYWNjZXB0ZWQgYXJlIGBub3JtYWxgLCBgYmxhY2tgLAotICAgICAgIGByZWRgLCBgZ3JlZW5gLCBgeWVsbG93YCwgYGJsdWVgLCBgbWFnZW50YWAsIGBjeWFuYCBhbmQKLSAgICAgICBgd2hpdGVgOyB0aGUgYXR0cmlidXRlcyBhcmUgYGJvbGRgLCBgZGltYCwgYHVsYCwgYGJsaW5rYCBhbmQKLSAgICAgICBgcmV2ZXJzZWAuICBUaGUgZmlyc3QgY29sb3IgZ2l2ZW4gaXMgdGhlIGZvcmVncm91bmQ7IHRoZQotICAgICAgIHNlY29uZCBpcyB0aGUgYmFja2dyb3VuZC4gIFRoZSBwb3NpdGlvbiBvZiB0aGUgYXR0cmlidXRlLCBpZgotICAgICAgIGFueSwgZG9lc24ndCBtYXR0ZXIuIEF0dHJpYnV0ZXMgbWF5IGJlIHR1cm5lZCBvZmYgc3BlY2lmaWNhbGx5Ci0gICAgICAgYnkgcHJlZml4aW5nIHRoZW0gd2l0aCBgbm9gIChlLmcuLCBgbm9yZXZlcnNlYCwgYG5vdWxgLCBldGMpLgorICAgICAgIFRoZSB2YWx1ZSBmb3IgYSB2YXJpYWJsZSB0aGF0IHRha2VzIGEgY29sb3IgaXMgYSBsaXN0IG9mCisgICAgICAgY29sb3JzIChhdCBtb3N0IHR3bywgb25lIGZvciBmb3JlZ3JvdW5kIGFuZCBvbmUgZm9yIGJhY2tncm91bmQpCisgICAgICAgYW5kIGF0dHJpYnV0ZXMgKGFzIG1hbnkgYXMgeW91IHdhbnQpLCBzZXBhcmF0ZWQgYnkgc3BhY2VzLgogKwotQ29sb3JzIChmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kKSBtYXkgYWxzbyBiZSBnaXZlbiBhcyBudW1iZXJzIGJldHdlZW4KLTAgYW5kIDI1NTsgdGhlc2UgdXNlIEFOU0kgMjU2LWNvbG9yIG1vZGUgKGJ1dCBub3RlIHRoYXQgbm90IGFsbAotdGVybWluYWxzIG1heSBzdXBwb3J0IHRoaXMpLiAgSWYgeW91ciB0ZXJtaW5hbCBzdXBwb3J0cyBpdCwgeW91IG1heSBhbHNvCi1zcGVjaWZ5IDI0LWJpdCBSR0IgdmFsdWVzIGFzIGhleCwgbGlrZSBgI2ZmMGFiM2AuCitUaGUgYmFzaWMgY29sb3JzIGFjY2VwdGVkIGFyZSBgbm9ybWFsYCwgYGJsYWNrYCwgYHJlZGAsIGBncmVlbmAsIGB5ZWxsb3dgLAorYGJsdWVgLCBgbWFnZW50YWAsIGBjeWFuYCBhbmQgYHdoaXRlYC4gIFRoZSBmaXJzdCBjb2xvciBnaXZlbiBpcyB0aGUKK2ZvcmVncm91bmQ7IHRoZSBzZWNvbmQgaXMgdGhlIGJhY2tncm91bmQuCiArCi1UaGUgYXR0cmlidXRlcyBhcmUgbWVhbnQgdG8gYmUgcmVzZXQgYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIGl0ZW0KLWluIHRoZSBjb2xvcmVkIG91dHB1dCwgc28gc2V0dGluZyBjb2xvci5kZWNvcmF0ZS5icmFuY2ggdG8gYGJsYWNrYAotd2lsbCBwYWludCB0aGF0IGJyYW5jaCBuYW1lIGluIGEgcGxhaW4gYGJsYWNrYCwgZXZlbiBpZiB0aGUgcHJldmlvdXMKLXRoaW5nIG9uIHRoZSBzYW1lIG91dHB1dCBsaW5lIChlLmcuIG9wZW5pbmcgcGFyZW50aGVzaXMgYmVmb3JlIHRoZQotbGlzdCBvZiBicmFuY2ggbmFtZXMgaW4gYGxvZyAtLWRlY29yYXRlYCBvdXRwdXQpIGlzIHNldCB0byBiZQotcGFpbnRlZCB3aXRoIGBib2xkYCBvciBzb21lIG90aGVyIGF0dHJpYnV0ZS4KK0NvbG9ycyBtYXkgYWxzbyBiZSBnaXZlbiBhcyBudW1iZXJzIGJldHdlZW4gMCBhbmQgMjU1OyB0aGVzZSB1c2UgQU5TSQorMjU2LWNvbG9yIG1vZGUgKGJ1dCBub3RlIHRoYXQgbm90IGFsbCB0ZXJtaW5hbHMgbWF5IHN1cHBvcnQgdGhpcykuICBJZgoreW91ciB0ZXJtaW5hbCBzdXBwb3J0cyBpdCwgeW91IG1heSBhbHNvIHNwZWNpZnkgMjQtYml0IFJHQiB2YWx1ZXMgYXMKK2hleCwgbGlrZSBgI2ZmMGFiM2AuCisrCitUaGUgYWNjZXB0ZWQgYXR0cmlidXRlcyBhcmUgYGJvbGRgLCBgZGltYCwgYHVsYCwgYGJsaW5rYCwgYHJldmVyc2VgLAorYGl0YWxpY2AsIGFuZCBgc3RyaWtlYCAoZm9yIGNyb3NzZWQtb3V0IG9yICJzdHJpa2V0aHJvdWdoIiBsZXR0ZXJzKS4KK1RoZSBwb3NpdGlvbiBvZiBhbnkgYXR0cmlidXRlcyB3aXRoIHJlc3BlY3QgdG8gdGhlIGNvbG9ycworKGJlZm9yZSwgYWZ0ZXIsIG9yIGluIGJldHdlZW4pLCBkb2Vzbid0IG1hdHRlci4gU3BlY2lmaWMgYXR0cmlidXRlcyBtYXkKK2JlIHR1cm5lZCBvZmYgYnkgcHJlZml4aW5nIHRoZW0gd2l0aCBgbm9gIG9yIGBuby1gIChlLmcuLCBgbm9yZXZlcnNlYCwKK2Buby11bGAsIGV0YykuCisrCitGb3IgZ2l0J3MgcHJlLWRlZmluZWQgY29sb3Igc2xvdHMsIHRoZSBhdHRyaWJ1dGVzIGFyZSBtZWFudCB0byBiZSByZXNldAorYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIGl0ZW0gaW4gdGhlIGNvbG9yZWQgb3V0cHV0LiBTbyBzZXR0aW5nCitgY29sb3IuZGVjb3JhdGUuYnJhbmNoYCB0byBgYmxhY2tgIHdpbGwgcGFpbnQgdGhhdCBicmFuY2ggbmFtZSBpbiBhCitwbGFpbiBgYmxhY2tgLCBldmVuIGlmIHRoZSBwcmV2aW91cyB0aGluZyBvbiB0aGUgc2FtZSBvdXRwdXQgbGluZSAoZS5nLgorb3BlbmluZyBwYXJlbnRoZXNpcyBiZWZvcmUgdGhlIGxpc3Qgb2YgYnJhbmNoIG5hbWVzIGluIGBsb2cgLS1kZWNvcmF0ZWAKK291dHB1dCkgaXMgc2V0IHRvIGJlIHBhaW50ZWQgd2l0aCBgYm9sZGAgb3Igc29tZSBvdGhlciBhdHRyaWJ1dGUuCitIb3dldmVyLCBjdXN0b20gbG9nIGZvcm1hdHMgbWF5IGRvIG1vcmUgY29tcGxpY2F0ZWQgYW5kIGxheWVyZWQKK2NvbG9yaW5nLCBhbmQgdGhlIG5lZ2F0ZWQgZm9ybXMgbWF5IGJlIHVzZWZ1bCB0aGVyZS4KIAogcGF0aG5hbWU6OgogCUEgdmFyaWFibGUgdGhhdCB0YWtlcyBhIHBhdGhuYW1lIHZhbHVlIGNhbiBiZSBnaXZlbiBhCkBAIC00MDUsMTMgKzQxMiwxMSBAQAogbWVjaGFuaXNtLgogCiBjb3JlLmF1dG9jcmxmOjoKLQlTZXR0aW5nIHRoaXMgdmFyaWFibGUgdG8gInRydWUiIGlzIGFsbW9zdCB0aGUgc2FtZSBhcyBzZXR0aW5nCi0JdGhlIGB0ZXh0YCBhdHRyaWJ1dGUgdG8gImF1dG8iIG9uIGFsbCBmaWxlcyBleGNlcHQgdGhhdCB0ZXh0Ci0JZmlsZXMgYXJlIG5vdCBndWFyYW50ZWVkIHRvIGJlIG5vcm1hbGl6ZWQ6IGZpbGVzIHRoYXQgY29udGFpbgotCWBDUkxGYCBpbiB0aGUgcmVwb3NpdG9yeSB3aWxsIG5vdCBiZSB0b3VjaGVkLiAgVXNlIHRoaXMKLQlzZXR0aW5nIGlmIHlvdSB3YW50IHRvIGhhdmUgYENSTEZgIGxpbmUgZW5kaW5ncyBpbiB5b3VyCi0Jd29ya2luZyBkaXJlY3RvcnkgZXZlbiB0aG91Z2ggdGhlIHJlcG9zaXRvcnkgZG9lcyBub3QgaGF2ZQotCW5vcm1hbGl6ZWQgbGluZSBlbmRpbmdzLiAgVGhpcyB2YXJpYWJsZSBjYW4gYmUgc2V0IHRvICdpbnB1dCcsCisJU2V0dGluZyB0aGlzIHZhcmlhYmxlIHRvICJ0cnVlIiBpcyB0aGUgc2FtZSBhcyBzZXR0aW5nCisJdGhlIGB0ZXh0YCBhdHRyaWJ1dGUgdG8gImF1dG8iIG9uIGFsbCBmaWxlcyBhbmQgY29yZS5lb2wgdG8gImNybGYiLgorCVNldCB0byB0cnVlIGlmIHlvdSB3YW50IHRvIGhhdmUgYENSTEZgIGxpbmUgZW5kaW5ncyBpbiB5b3VyCisJd29ya2luZyBkaXJlY3RvcnkgYW5kIHRoZSByZXBvc2l0b3J5IGhhcyBMRiBsaW5lIGVuZGluZ3MuCisJVGhpcyB2YXJpYWJsZSBjYW4gYmUgc2V0IHRvICdpbnB1dCcsCiAJaW4gd2hpY2ggY2FzZSBubyBvdXRwdXQgY29udmVyc2lvbiBpcyBwZXJmb3JtZWQuCiAKIGNvcmUuc3ltbGlua3M6OgpAQCAtNDM0LDcgKzQzOSw3IEBACiAJbWF5IGJlIHNldCBtdWx0aXBsZSB0aW1lcyBhbmQgaXMgbWF0Y2hlZCBpbiB0aGUgZ2l2ZW4gb3JkZXI7CiAJdGhlIGZpcnN0IG1hdGNoIHdpbnMuCiArCi1DYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgJ0dJVF9QUk9YWV9DT01NQU5EJyBlbnZpcm9ubWVudCB2YXJpYWJsZQorQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGBHSVRfUFJPWFlfQ09NTUFORGAgZW52aXJvbm1lbnQgdmFyaWFibGUKICh3aGljaCBhbHdheXMgYXBwbGllcyB1bml2ZXJzYWxseSwgd2l0aG91dCB0aGUgc3BlY2lhbCAiZm9yIgogaGFuZGxpbmcpLgogKwpAQCAtNDQzLDYgKzQ0OCwxMyBAQAogVGhpcyBpcyB1c2VmdWwgZm9yIGV4Y2x1ZGluZyBzZXJ2ZXJzIGluc2lkZSBhIGZpcmV3YWxsIGZyb20KIHByb3h5IHVzZSwgd2hpbGUgZGVmYXVsdGluZyB0byBhIGNvbW1vbiBwcm94eSBmb3IgZXh0ZXJuYWwgZG9tYWlucy4KIAorY29yZS5zc2hDb21tYW5kOjoKKwlJZiB0aGlzIHZhcmlhYmxlIGlzIHNldCwgYGdpdCBmZXRjaGAgYW5kIGBnaXQgcHVzaGAgd2lsbAorCXVzZSB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgaW5zdGVhZCBvZiBgc3NoYCB3aGVuIHRoZXkgbmVlZCB0bworCWNvbm5lY3QgdG8gYSByZW1vdGUgc3lzdGVtLiBUaGUgY29tbWFuZCBpcyBpbiB0aGUgc2FtZSBmb3JtIGFzCisJdGhlIGBHSVRfU1NIX0NPTU1BTkRgIGVudmlyb25tZW50IHZhcmlhYmxlIGFuZCBpcyBvdmVycmlkZGVuCisJd2hlbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0LgorCiBjb3JlLmlnbm9yZVN0YXQ6OgogCUlmIHRydWUsIEdpdCB3aWxsIGF2b2lkIHVzaW5nIGxzdGF0KCkgY2FsbHMgdG8gZGV0ZWN0IGlmIGZpbGVzIGhhdmUKIAljaGFuZ2VkIGJ5IHNldHRpbmcgdGhlICJhc3N1bWUtdW5jaGFuZ2VkIiBiaXQgZm9yIHRob3NlIHRyYWNrZWQgZmlsZXMKQEAgLTQ3OCwxMCArNDkwLDEwIEBACiAKIGNvcmUud29ya3RyZWU6OgogCVNldCB0aGUgcGF0aCB0byB0aGUgcm9vdCBvZiB0aGUgd29ya2luZyB0cmVlLgotCUlmIEdJVF9DT01NT05fRElSIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCwgY29yZS53b3JrdHJlZQorCUlmIGBHSVRfQ09NTU9OX0RJUmAgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0LCBjb3JlLndvcmt0cmVlCiAJaXMgaWdub3JlZCBhbmQgbm90IHVzZWQgZm9yIGRldGVybWluaW5nIHRoZSByb290IG9mIHdvcmtpbmcgdHJlZS4KLQlUaGlzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSBHSVRfV09SS19UUkVFIGVudmlyb25tZW50Ci0JdmFyaWFibGUgYW5kIHRoZSAnLS13b3JrLXRyZWUnIGNvbW1hbmQtbGluZSBvcHRpb24uCisJVGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgYEdJVF9XT1JLX1RSRUVgIGVudmlyb25tZW50CisJdmFyaWFibGUgYW5kIHRoZSBgLS13b3JrLXRyZWVgIGNvbW1hbmQtbGluZSBvcHRpb24uCiAJVGhlIHZhbHVlIGNhbiBiZSBhbiBhYnNvbHV0ZSBwYXRoIG9yIHJlbGF0aXZlIHRvIHRoZSBwYXRoIHRvCiAJdGhlIC5naXQgZGlyZWN0b3J5LCB3aGljaCBpcyBlaXRoZXIgc3BlY2lmaWVkIGJ5IC0tZ2l0LWRpcgogCW9yIEdJVF9ESVIsIG9yIGF1dG9tYXRpY2FsbHkgZGlzY292ZXJlZC4KQEAgLTU0NSw3ICs1NTcsNyBAQAogCS0xIGlzIHRoZSB6bGliIGRlZmF1bHQuIDAgbWVhbnMgbm8gY29tcHJlc3Npb24sCiAJYW5kIDEuLjkgYXJlIHZhcmlvdXMgc3BlZWQvc2l6ZSB0cmFkZW9mZnMsIDkgYmVpbmcgc2xvd2VzdC4KIAlJZiBzZXQsIHRoaXMgcHJvdmlkZXMgYSBkZWZhdWx0IHRvIG90aGVyIGNvbXByZXNzaW9uIHZhcmlhYmxlcywKLQlzdWNoIGFzICdjb3JlLmxvb3NlQ29tcHJlc3Npb24nIGFuZCAncGFjay5jb21wcmVzc2lvbicuCisJc3VjaCBhcyBgY29yZS5sb29zZUNvbXByZXNzaW9uYCBhbmQgYHBhY2suY29tcHJlc3Npb25gLgogCiBjb3JlLmxvb3NlQ29tcHJlc3Npb246OgogCUFuIGludGVnZXIgLTEuLjksIGluZGljYXRpbmcgdGhlIGNvbXByZXNzaW9uIGxldmVsIGZvciBvYmplY3RzIHRoYXQKQEAgLTYxOSw5ICs2MzEsOSBAQAogY29yZS5hc2tQYXNzOjoKIAlTb21lIGNvbW1hbmRzIChlLmcuIHN2biBhbmQgaHR0cCBpbnRlcmZhY2VzKSB0aGF0IGludGVyYWN0aXZlbHkKIAlhc2sgZm9yIGEgcGFzc3dvcmQgY2FuIGJlIHRvbGQgdG8gdXNlIGFuIGV4dGVybmFsIHByb2dyYW0gZ2l2ZW4KLQl2aWEgdGhlIHZhbHVlIG9mIHRoaXMgdmFyaWFibGUuIENhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSAnR0lUX0FTS1BBU1MnCisJdmlhIHRoZSB2YWx1ZSBvZiB0aGlzIHZhcmlhYmxlLiBDYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgYEdJVF9BU0tQQVNTYAogCWVudmlyb25tZW50IHZhcmlhYmxlLiBJZiBub3Qgc2V0LCBmYWxsIGJhY2sgdG8gdGhlIHZhbHVlIG9mIHRoZQotCSdTU0hfQVNLUEFTUycgZW52aXJvbm1lbnQgdmFyaWFibGUgb3IsIGZhaWxpbmcgdGhhdCwgYSBzaW1wbGUgcGFzc3dvcmQKKwlgU1NIX0FTS1BBU1NgIGVudmlyb25tZW50IHZhcmlhYmxlIG9yLCBmYWlsaW5nIHRoYXQsIGEgc2ltcGxlIHBhc3N3b3JkCiAJcHJvbXB0LiBUaGUgZXh0ZXJuYWwgcHJvZ3JhbSBzaGFsbCBiZSBnaXZlbiBhIHN1aXRhYmxlIHByb21wdCBhcwogCWNvbW1hbmQtbGluZSBhcmd1bWVudCBhbmQgd3JpdGUgdGhlIHBhc3N3b3JkIG9uIGl0cyBTVERPVVQuCiAKQEAgLTc2NCw3ICs3NzYsNyBAQAogCW5vdGVzIHNob3VsZCBiZSBwcmludGVkLgogKwogVGhpcyBzZXR0aW5nIGRlZmF1bHRzIHRvICJyZWZzL25vdGVzL2NvbW1pdHMiLCBhbmQgaXQgY2FuIGJlIG92ZXJyaWRkZW4gYnkKLXRoZSAnR0lUX05PVEVTX1JFRicgZW52aXJvbm1lbnQgdmFyaWFibGUuICBTZWUgbGlua2dpdDpnaXQtbm90ZXNbMV0uCit0aGUgYEdJVF9OT1RFU19SRUZgIGVudmlyb25tZW50IHZhcmlhYmxlLiAgU2VlIGxpbmtnaXQ6Z2l0LW5vdGVzWzFdLgogCiBjb3JlLnNwYXJzZUNoZWNrb3V0OjoKIAlFbmFibGUgInNwYXJzZSBjaGVja291dCIgZmVhdHVyZS4gU2VlIHNlY3Rpb24gIlNwYXJzZSBjaGVja291dCIgaW4KQEAgLTc3OSw3ICs3OTEsNyBAQAogYWRkLmlnbm9yZUVycm9yczo6CiBhZGQuaWdub3JlLWVycm9ycyAoZGVwcmVjYXRlZCk6OgogCVRlbGxzICdnaXQgYWRkJyB0byBjb250aW51ZSBhZGRpbmcgZmlsZXMgd2hlbiBzb21lIGZpbGVzIGNhbm5vdCBiZQotCWFkZGVkIGR1ZSB0byBpbmRleGluZyBlcnJvcnMuIEVxdWl2YWxlbnQgdG8gdGhlICctLWlnbm9yZS1lcnJvcnMnCisJYWRkZWQgZHVlIHRvIGluZGV4aW5nIGVycm9ycy4gRXF1aXZhbGVudCB0byB0aGUgYC0taWdub3JlLWVycm9yc2AKIAlvcHRpb24gb2YgbGlua2dpdDpnaXQtYWRkWzFdLiAgYGFkZC5pZ25vcmUtZXJyb3JzYCBpcyBkZXByZWNhdGVkLAogCWFzIGl0IGRvZXMgbm90IGZvbGxvdyB0aGUgdXN1YWwgbmFtaW5nIGNvbnZlbnRpb24gZm9yIGNvbmZpZ3VyYXRpb24KIAl2YXJpYWJsZXMuCkBAIC04MDAsMTQgKzgxMiwxNCBAQAogImdpdGsgLS1hbGwgLS1ub3QgT1JJR19IRUFEIi4gIE5vdGUgdGhhdCBzaGVsbCBjb21tYW5kcyB3aWxsIGJlCiBleGVjdXRlZCBmcm9tIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5IG9mIGEgcmVwb3NpdG9yeSwgd2hpY2ggbWF5CiBub3QgbmVjZXNzYXJpbHkgYmUgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgotJ0dJVF9QUkVGSVgnIGlzIHNldCBhcyByZXR1cm5lZCBieSBydW5uaW5nICdnaXQgcmV2LXBhcnNlIC0tc2hvdy1wcmVmaXgnCitgR0lUX1BSRUZJWGAgaXMgc2V0IGFzIHJldHVybmVkIGJ5IHJ1bm5pbmcgJ2dpdCByZXYtcGFyc2UgLS1zaG93LXByZWZpeCcKIGZyb20gdGhlIG9yaWdpbmFsIGN1cnJlbnQgZGlyZWN0b3J5LiBTZWUgbGlua2dpdDpnaXQtcmV2LXBhcnNlWzFdLgogCiBhbS5rZWVwY3I6OgogCUlmIHRydWUsIGdpdC1hbSB3aWxsIGNhbGwgZ2l0LW1haWxzcGxpdCBmb3IgcGF0Y2hlcyBpbiBtYm94IGZvcm1hdAotCXdpdGggcGFyYW1ldGVyICctLWtlZXAtY3InLiBJbiB0aGlzIGNhc2UgZ2l0LW1haWxzcGxpdCB3aWxsCisJd2l0aCBwYXJhbWV0ZXIgYC0ta2VlcC1jcmAuIEluIHRoaXMgY2FzZSBnaXQtbWFpbHNwbGl0IHdpbGwKIAlub3QgcmVtb3ZlIGBccmAgZnJvbSBsaW5lcyBlbmRpbmcgd2l0aCBgXHJcbmAuIENhbiBiZSBvdmVycmlkZGVuCi0JYnkgZ2l2aW5nICctLW5vLWtlZXAtY3InIGZyb20gdGhlIGNvbW1hbmQgbGluZS4KKwlieSBnaXZpbmcgYC0tbm8ta2VlcC1jcmAgZnJvbSB0aGUgY29tbWFuZCBsaW5lLgogCVNlZSBsaW5rZ2l0OmdpdC1hbVsxXSwgbGlua2dpdDpnaXQtbWFpbHNwbGl0WzFdLgogCiBhbS50aHJlZVdheTo6CkBAIC04MjAsNyArODMyLDcgQEAKIAogYXBwbHkuaWdub3JlV2hpdGVzcGFjZTo6CiAJV2hlbiBzZXQgdG8gJ2NoYW5nZScsIHRlbGxzICdnaXQgYXBwbHknIHRvIGlnbm9yZSBjaGFuZ2VzIGluCi0Jd2hpdGVzcGFjZSwgaW4gdGhlIHNhbWUgd2F5IGFzIHRoZSAnLS1pZ25vcmUtc3BhY2UtY2hhbmdlJworCXdoaXRlc3BhY2UsIGluIHRoZSBzYW1lIHdheSBhcyB0aGUgYC0taWdub3JlLXNwYWNlLWNoYW5nZWAKIAlvcHRpb24uCiAJV2hlbiBzZXQgdG8gb25lIG9mOiBubywgbm9uZSwgbmV2ZXIsIGZhbHNlIHRlbGxzICdnaXQgYXBwbHknIHRvCiAJcmVzcGVjdCBhbGwgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcy4KQEAgLTgyOCw3ICs4NDAsNyBAQAogCiBhcHBseS53aGl0ZXNwYWNlOjoKIAlUZWxscyAnZ2l0IGFwcGx5JyBob3cgdG8gaGFuZGxlIHdoaXRlc3BhY2VzLCBpbiB0aGUgc2FtZSB3YXkKLQlhcyB0aGUgJy0td2hpdGVzcGFjZScgb3B0aW9uLiBTZWUgbGlua2dpdDpnaXQtYXBwbHlbMV0uCisJYXMgdGhlIGAtLXdoaXRlc3BhY2VgIG9wdGlvbi4gU2VlIGxpbmtnaXQ6Z2l0LWFwcGx5WzFdLgogCiBicmFuY2guYXV0b1NldHVwTWVyZ2U6OgogCVRlbGxzICdnaXQgYnJhbmNoJyBhbmQgJ2dpdCBjaGVja291dCcgdG8gc2V0IHVwIG5ldyBicmFuY2hlcwpAQCAtOTMwLDcgKzk0Miw3IEBACiAKIGJyb3dzZXIuPHRvb2w+LnBhdGg6OgogCU92ZXJyaWRlIHRoZSBwYXRoIGZvciB0aGUgZ2l2ZW4gdG9vbCB0aGF0IG1heSBiZSB1c2VkIHRvCi0JYnJvd3NlIEhUTUwgaGVscCAoc2VlICctdycgb3B0aW9uIGluIGxpbmtnaXQ6Z2l0LWhlbHBbMV0pIG9yIGEKKwlicm93c2UgSFRNTCBoZWxwIChzZWUgYC13YCBvcHRpb24gaW4gbGlua2dpdDpnaXQtaGVscFsxXSkgb3IgYQogCXdvcmtpbmcgcmVwb3NpdG9yeSBpbiBnaXR3ZWIgKHNlZSBsaW5rZ2l0OmdpdC1pbnN0YXdlYlsxXSkuCiAKIGNsZWFuLnJlcXVpcmVGb3JjZTo6CkBAIC05NDEsNyArOTUzLDggQEAKIAlBIGJvb2xlYW4gdG8gZW5hYmxlL2Rpc2FibGUgY29sb3IgaW4gdGhlIG91dHB1dCBvZgogCWxpbmtnaXQ6Z2l0LWJyYW5jaFsxXS4gTWF5IGJlIHNldCB0byBgYWx3YXlzYCwKIAlgZmFsc2VgIChvciBgbmV2ZXJgKSBvciBgYXV0b2AgKG9yIGB0cnVlYCksIGluIHdoaWNoIGNhc2UgY29sb3JzIGFyZSB1c2VkCi0Jb25seSB3aGVuIHRoZSBvdXRwdXQgaXMgdG8gYSB0ZXJtaW5hbC4gRGVmYXVsdHMgdG8gZmFsc2UuCisJb25seSB3aGVuIHRoZSBvdXRwdXQgaXMgdG8gYSB0ZXJtaW5hbC4gSWYgdW5zZXQsIHRoZW4gdGhlCisJdmFsdWUgb2YgYGNvbG9yLnVpYCBpcyB1c2VkIChgYXV0b2AgYnkgZGVmYXVsdCkuCiAKIGNvbG9yLmJyYW5jaC48c2xvdD46OgogCVVzZSBjdXN0b21pemVkIGNvbG9yIGZvciBicmFuY2ggY29sb3JhdGlvbi4gYDxzbG90PmAgaXMgb25lIG9mCkBAIC05NTYsNyArOTY5LDggQEAKIAlsaW5rZ2l0OmdpdC1sb2dbMV0sIGFuZCBsaW5rZ2l0OmdpdC1zaG93WzFdIHdpbGwgdXNlIGNvbG9yCiAJZm9yIGFsbCBwYXRjaGVzLiAgSWYgaXQgaXMgc2V0IHRvIGB0cnVlYCBvciBgYXV0b2AsIHRob3NlCiAJY29tbWFuZHMgd2lsbCBvbmx5IHVzZSBjb2xvciB3aGVuIG91dHB1dCBpcyB0byB0aGUgdGVybWluYWwuCi0JRGVmYXVsdHMgdG8gZmFsc2UuCisJSWYgdW5zZXQsIHRoZW4gdGhlIHZhbHVlIG9mIGBjb2xvci51aWAgaXMgdXNlZCAoYGF1dG9gIGJ5CisJZGVmYXVsdCkuCiArCiBUaGlzIGRvZXMgbm90IGFmZmVjdCBsaW5rZ2l0OmdpdC1mb3JtYXQtcGF0Y2hbMV0gb3IgdGhlCiAnZ2l0LWRpZmYte2FzdGVyaXNrfScgcGx1bWJpbmcgY29tbWFuZHMuICBDYW4gYmUgb3ZlcnJpZGRlbiBvbiB0aGUKQEAgLTk3OSw3ICs5OTMsOCBAQAogY29sb3IuZ3JlcDo6CiAJV2hlbiBzZXQgdG8gYGFsd2F5c2AsIGFsd2F5cyBoaWdobGlnaHQgbWF0Y2hlcy4gIFdoZW4gYGZhbHNlYCAob3IKIAlgbmV2ZXJgKSwgbmV2ZXIuICBXaGVuIHNldCB0byBgdHJ1ZWAgb3IgYGF1dG9gLCB1c2UgY29sb3Igb25seQotCXdoZW4gdGhlIG91dHB1dCBpcyB3cml0dGVuIHRvIHRoZSB0ZXJtaW5hbC4gIERlZmF1bHRzIHRvIGBmYWxzZWAuCisJd2hlbiB0aGUgb3V0cHV0IGlzIHdyaXR0ZW4gdG8gdGhlIHRlcm1pbmFsLiAgSWYgdW5zZXQsIHRoZW4gdGhlCisJdmFsdWUgb2YgYGNvbG9yLnVpYCBpcyB1c2VkIChgYXV0b2AgYnkgZGVmYXVsdCkuCiAKIGNvbG9yLmdyZXAuPHNsb3Q+OjoKIAlVc2UgY3VzdG9taXplZCBjb2xvciBmb3IgZ3JlcCBjb2xvcml6YXRpb24uICBgPHNsb3Q+YCBzcGVjaWZpZXMgd2hpY2gKQEAgLTEwMTIsNyArMTAyNyw4IEBACiAJYW5kIGRpc3BsYXlzIChzdWNoIGFzIHRob3NlIHVzZWQgYnkgImdpdC1hZGQgLS1pbnRlcmFjdGl2ZSIgYW5kCiAJImdpdC1jbGVhbiAtLWludGVyYWN0aXZlIikuIFdoZW4gZmFsc2UgKG9yIGBuZXZlcmApLCBuZXZlci4KIAlXaGVuIHNldCB0byBgdHJ1ZWAgb3IgYGF1dG9gLCB1c2UgY29sb3JzIG9ubHkgd2hlbiB0aGUgb3V0cHV0IGlzCi0JdG8gdGhlIHRlcm1pbmFsLiBEZWZhdWx0cyB0byBmYWxzZS4KKwl0byB0aGUgdGVybWluYWwuIElmIHVuc2V0LCB0aGVuIHRoZSB2YWx1ZSBvZiBgY29sb3IudWlgIGlzCisJdXNlZCAoYGF1dG9gIGJ5IGRlZmF1bHQpLgogCiBjb2xvci5pbnRlcmFjdGl2ZS48c2xvdD46OgogCVVzZSBjdXN0b21pemVkIGNvbG9yIGZvciAnZ2l0IGFkZCAtLWludGVyYWN0aXZlJyBhbmQgJ2dpdCBjbGVhbgpAQCAtMTAyOCwxMyArMTA0NCwxNSBAQAogCUEgYm9vbGVhbiB0byBlbmFibGUvZGlzYWJsZSBjb2xvciBpbiB0aGUgb3V0cHV0IG9mCiAJbGlua2dpdDpnaXQtc2hvdy1icmFuY2hbMV0uIE1heSBiZSBzZXQgdG8gYGFsd2F5c2AsCiAJYGZhbHNlYCAob3IgYG5ldmVyYCkgb3IgYGF1dG9gIChvciBgdHJ1ZWApLCBpbiB3aGljaCBjYXNlIGNvbG9ycyBhcmUgdXNlZAotCW9ubHkgd2hlbiB0aGUgb3V0cHV0IGlzIHRvIGEgdGVybWluYWwuIERlZmF1bHRzIHRvIGZhbHNlLgorCW9ubHkgd2hlbiB0aGUgb3V0cHV0IGlzIHRvIGEgdGVybWluYWwuIElmIHVuc2V0LCB0aGVuIHRoZQorCXZhbHVlIG9mIGBjb2xvci51aWAgaXMgdXNlZCAoYGF1dG9gIGJ5IGRlZmF1bHQpLgogCiBjb2xvci5zdGF0dXM6OgogCUEgYm9vbGVhbiB0byBlbmFibGUvZGlzYWJsZSBjb2xvciBpbiB0aGUgb3V0cHV0IG9mCiAJbGlua2dpdDpnaXQtc3RhdHVzWzFdLiBNYXkgYmUgc2V0IHRvIGBhbHdheXNgLAogCWBmYWxzZWAgKG9yIGBuZXZlcmApIG9yIGBhdXRvYCAob3IgYHRydWVgKSwgaW4gd2hpY2ggY2FzZSBjb2xvcnMgYXJlIHVzZWQKLQlvbmx5IHdoZW4gdGhlIG91dHB1dCBpcyB0byBhIHRlcm1pbmFsLiBEZWZhdWx0cyB0byBmYWxzZS4KKwlvbmx5IHdoZW4gdGhlIG91dHB1dCBpcyB0byBhIHRlcm1pbmFsLiBJZiB1bnNldCwgdGhlbiB0aGUKKwl2YWx1ZSBvZiBgY29sb3IudWlgIGlzIHVzZWQgKGBhdXRvYCBieSBkZWZhdWx0KS4KIAogY29sb3Iuc3RhdHVzLjxzbG90Pjo6CiAJVXNlIGN1c3RvbWl6ZWQgY29sb3IgZm9yIHN0YXR1cyBjb2xvcml6YXRpb24uIGA8c2xvdD5gIGlzCkBAIC0xMTg5LDYgKzEyMDcsMTUgQEAKIGRpZmZ0b29sLnByb21wdDo6CiAJUHJvbXB0IGJlZm9yZSBlYWNoIGludm9jYXRpb24gb2YgdGhlIGRpZmYgdG9vbC4KIAorZmFzdGltcG9ydC51bnBhY2tMaW1pdDo6CisJSWYgdGhlIG51bWJlciBvZiBvYmplY3RzIGltcG9ydGVkIGJ5IGxpbmtnaXQ6Z2l0LWZhc3QtaW1wb3J0WzFdCisJaXMgYmVsb3cgdGhpcyBsaW1pdCwgdGhlbiB0aGUgb2JqZWN0cyB3aWxsIGJlIHVucGFja2VkIGludG8KKwlsb29zZSBvYmplY3QgZmlsZXMuICBIb3dldmVyIGlmIHRoZSBudW1iZXIgb2YgaW1wb3J0ZWQgb2JqZWN0cworCWVxdWFscyBvciBleGNlZWRzIHRoaXMgbGltaXQgdGhlbiB0aGUgcGFjayB3aWxsIGJlIHN0b3JlZCBhcyBhCisJcGFjay4gIFN0b3JpbmcgdGhlIHBhY2sgZnJvbSBhIGZhc3QtaW1wb3J0IGNhbiBtYWtlIHRoZSBpbXBvcnQKKwlvcGVyYXRpb24gY29tcGxldGUgZmFzdGVyLCBlc3BlY2lhbGx5IG9uIHNsb3cgZmlsZXN5c3RlbXMuICBJZgorCW5vdCBzZXQsIHRoZSB2YWx1ZSBvZiBgdHJhbnNmZXIudW5wYWNrTGltaXRgIGlzIHVzZWQgaW5zdGVhZC4KKwogZmV0Y2gucmVjdXJzZVN1Ym1vZHVsZXM6OgogCVRoaXMgb3B0aW9uIGNhbiBiZSBlaXRoZXIgc2V0IHRvIGEgYm9vbGVhbiB2YWx1ZSBvciB0byAnb24tZGVtYW5kJy4KIAlTZXR0aW5nIGl0IHRvIGEgYm9vbGVhbiBjaGFuZ2VzIHRoZSBiZWhhdmlvciBvZiBmZXRjaCBhbmQgcHVsbCB0bwpAQCAtMTIyMCw2ICsxMjQ3LDExIEBACiAJSWYgdHJ1ZSwgZmV0Y2ggd2lsbCBhdXRvbWF0aWNhbGx5IGJlaGF2ZSBhcyBpZiB0aGUgYC0tcHJ1bmVgCiAJb3B0aW9uIHdhcyBnaXZlbiBvbiB0aGUgY29tbWFuZCBsaW5lLiAgU2VlIGFsc28gYHJlbW90ZS48bmFtZT4ucHJ1bmVgLgogCitmZXRjaC5vdXRwdXQ6OgorCUNvbnRyb2wgaG93IHJlZiB1cGRhdGUgc3RhdHVzIGlzIHByaW50ZWQuIFZhbGlkIHZhbHVlcyBhcmUKKwlgZnVsbGAgYW5kIGBjb21wYWN0YC4gRGVmYXVsdCB2YWx1ZSBpcyBgZnVsbGAuIFNlZSBzZWN0aW9uCisJT1VUUFVUIGluIGxpbmtnaXQ6Z2l0LWZldGNoWzFdIGZvciBkZXRhaWwuCisKIGZvcm1hdC5hdHRhY2g6OgogCUVuYWJsZSBtdWx0aXBhcnQvbWl4ZWQgYXR0YWNobWVudHMgYXMgdGhlIGRlZmF1bHQgZm9yCiAJJ2Zvcm1hdC1wYXRjaCcuICBUaGUgdmFsdWUgY2FuIGFsc28gYmUgYSBkb3VibGUgcXVvdGVkIHN0cmluZwpAQCAtMTIyNyw2ICsxMjU5LDE2IEBACiAJdmFsdWUgYXMgdGhlIGJvdW5kYXJ5LiAgU2VlIHRoZSAtLWF0dGFjaCBvcHRpb24gaW4KIAlsaW5rZ2l0OmdpdC1mb3JtYXQtcGF0Y2hbMV0uCiAKK2Zvcm1hdC5mcm9tOjoKKwlQcm92aWRlcyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGAtLWZyb21gIG9wdGlvbiB0byBmb3JtYXQtcGF0Y2guCisJQWNjZXB0cyBhIGJvb2xlYW4gdmFsdWUsIG9yIGEgbmFtZSBhbmQgZW1haWwgYWRkcmVzcy4gIElmIGZhbHNlLAorCWZvcm1hdC1wYXRjaCBkZWZhdWx0cyB0byBgLS1uby1mcm9tYCwgdXNpbmcgY29tbWl0IGF1dGhvcnMgZGlyZWN0bHkgaW4KKwl0aGUgIkZyb206IiBmaWVsZCBvZiBwYXRjaCBtYWlscy4gIElmIHRydWUsIGZvcm1hdC1wYXRjaCBkZWZhdWx0cyB0bworCWAtLWZyb21gLCB1c2luZyB5b3VyIGNvbW1pdHRlciBpZGVudGl0eSBpbiB0aGUgIkZyb206IiBmaWVsZCBvZiBwYXRjaAorCW1haWxzIGFuZCBpbmNsdWRpbmcgYSAiRnJvbToiIGZpZWxkIGluIHRoZSBib2R5IG9mIHRoZSBwYXRjaCBtYWlsIGlmCisJZGlmZmVyZW50LiAgSWYgc2V0IHRvIGEgbm9uLWJvb2xlYW4gdmFsdWUsIGZvcm1hdC1wYXRjaCB1c2VzIHRoYXQKKwl2YWx1ZSBpbnN0ZWFkIG9mIHlvdXIgY29tbWl0dGVyIGlkZW50aXR5LiAgRGVmYXVsdHMgdG8gZmFsc2UuCisKIGZvcm1hdC5udW1iZXJlZDo6CiAJQSBib29sZWFuIHdoaWNoIGNhbiBlbmFibGUgb3IgZGlzYWJsZSBzZXF1ZW5jZSBudW1iZXJzIGluIHBhdGNoCiAJc3ViamVjdHMuICBJdCBkZWZhdWx0cyB0byAiYXV0byIgd2hpY2ggZW5hYmxlcyBpdCBvbmx5IGlmIHRoZXJlCkBAIC0xMzMwLDcgKzEzNzIsNyBAQAogZ2MuYWdncmVzc2l2ZURlcHRoOjoKIAlUaGUgZGVwdGggcGFyYW1ldGVyIHVzZWQgaW4gdGhlIGRlbHRhIGNvbXByZXNzaW9uCiAJYWxnb3JpdGhtIHVzZWQgYnkgJ2dpdCBnYyAtLWFnZ3Jlc3NpdmUnLiAgVGhpcyBkZWZhdWx0cwotCXRvIDI1MC4KKwl0byA1MC4KIAogZ2MuYWdncmVzc2l2ZVdpbmRvdzo6CiAJVGhlIHdpbmRvdyBzaXplIHBhcmFtZXRlciB1c2VkIGluIHRoZSBkZWx0YSBjb21wcmVzc2lvbgpAQCAtMTQyMCwyNCArMTQ2MiwyNCBAQAogCiBnaXRjdnMudXNlY3JsZmF0dHI6OgogCUlmIHRydWUsIHRoZSBzZXJ2ZXIgd2lsbCBsb29rIHVwIHRoZSBlbmQtb2YtbGluZSBjb252ZXJzaW9uCi0JYXR0cmlidXRlcyBmb3IgZmlsZXMgdG8gZGV0ZXJtaW5lIHRoZSAnLWsnIG1vZGVzIHRvIHVzZS4gSWYKKwlhdHRyaWJ1dGVzIGZvciBmaWxlcyB0byBkZXRlcm1pbmUgdGhlIGAta2AgbW9kZXMgdG8gdXNlLiBJZgogCXRoZSBhdHRyaWJ1dGVzIGZvcmNlIEdpdCB0byB0cmVhdCBhIGZpbGUgYXMgdGV4dCwKLQl0aGUgJy1rJyBtb2RlIHdpbGwgYmUgbGVmdCBibGFuayBzbyBDVlMgY2xpZW50cyB3aWxsCisJdGhlIGAta2AgbW9kZSB3aWxsIGJlIGxlZnQgYmxhbmsgc28gQ1ZTIGNsaWVudHMgd2lsbAogCXRyZWF0IGl0IGFzIHRleHQuIElmIHRoZXkgc3VwcHJlc3MgdGV4dCBjb252ZXJzaW9uLCB0aGUgZmlsZQogCXdpbGwgYmUgc2V0IHdpdGggJy1rYicgbW9kZSwgd2hpY2ggc3VwcHJlc3NlcyBhbnkgbmV3bGluZSBtdW5naW5nCiAJdGhlIGNsaWVudCBtaWdodCBvdGhlcndpc2UgZG8uIElmIHRoZSBhdHRyaWJ1dGVzIGRvIG5vdCBhbGxvdwotCXRoZSBmaWxlIHR5cGUgdG8gYmUgZGV0ZXJtaW5lZCwgdGhlbiAnZ2l0Y3ZzLmFsbEJpbmFyeScgaXMKKwl0aGUgZmlsZSB0eXBlIHRvIGJlIGRldGVybWluZWQsIHRoZW4gYGdpdGN2cy5hbGxCaW5hcnlgIGlzCiAJdXNlZC4gU2VlIGxpbmtnaXQ6Z2l0YXR0cmlidXRlc1s1XS4KIAogZ2l0Y3ZzLmFsbEJpbmFyeTo6Ci0JVGhpcyBpcyB1c2VkIGlmICdnaXRjdnMudXNlY3JsZmF0dHInIGRvZXMgbm90IHJlc29sdmUKKwlUaGlzIGlzIHVzZWQgaWYgYGdpdGN2cy51c2VjcmxmYXR0cmAgZG9lcyBub3QgcmVzb2x2ZQogCXRoZSBjb3JyZWN0ICcta2InIG1vZGUgdG8gdXNlLiBJZiB0cnVlLCBhbGwKIAl1bnJlc29sdmVkIGZpbGVzIGFyZSBzZW50IHRvIHRoZSBjbGllbnQgaW4KIAltb2RlICcta2InLiBUaGlzIGNhdXNlcyB0aGUgY2xpZW50IHRvIHRyZWF0IHRoZW0KIAlhcyBiaW5hcnkgZmlsZXMsIHdoaWNoIHN1cHByZXNzZXMgYW55IG5ld2xpbmUgbXVuZ2luZyBpdAogCW90aGVyd2lzZSBtaWdodCBkby4gQWx0ZXJuYXRpdmVseSwgaWYgaXQgaXMgc2V0IHRvICJndWVzcyIsCiAJdGhlbiB0aGUgY29udGVudHMgb2YgdGhlIGZpbGUgYXJlIGV4YW1pbmVkIHRvIGRlY2lkZSBpZgotCWl0IGlzIGJpbmFyeSwgc2ltaWxhciB0byAnY29yZS5hdXRvY3JsZicuCisJaXQgaXMgYmluYXJ5LCBzaW1pbGFyIHRvIGBjb3JlLmF1dG9jcmxmYC4KIAogZ2l0Y3ZzLmRiTmFtZTo6CiAJRGF0YWJhc2UgdXNlZCBieSBnaXQtY3Zzc2VydmVyIHRvIGNhY2hlIHJldmlzaW9uIGluZm9ybWF0aW9uCkBAIC0xNDU2LDcgKzE0OTgsNyBAQAogCVNlZSBsaW5rZ2l0OmdpdC1jdnNzZXJ2ZXJbMV0uCiAKIGdpdGN2cy5kYlVzZXIsIGdpdGN2cy5kYlBhc3M6OgotCURhdGFiYXNlIHVzZXIgYW5kIHBhc3N3b3JkLiBPbmx5IHVzZWZ1bCBpZiBzZXR0aW5nICdnaXRjdnMuZGJEcml2ZXInLAorCURhdGFiYXNlIHVzZXIgYW5kIHBhc3N3b3JkLiBPbmx5IHVzZWZ1bCBpZiBzZXR0aW5nIGBnaXRjdnMuZGJEcml2ZXJgLAogCXNpbmNlIFNRTGl0ZSBoYXMgbm8gY29uY2VwdCBvZiBkYXRhYmFzZSB1c2VycyBhbmQvb3IgcGFzc3dvcmRzLgogCSdnaXRjdnMuZGJVc2VyJyBzdXBwb3J0cyB2YXJpYWJsZSBzdWJzdGl0dXRpb24gKHNlZQogCWxpbmtnaXQ6Z2l0LWN2c3NlcnZlclsxXSBmb3IgZGV0YWlscykuCkBAIC0xNDY4LDggKzE1MTAsOCBAQAogCWxpbmtnaXQ6Z2l0LWN2c3NlcnZlclsxXSBmb3IgZGV0YWlscykuICBBbnkgbm9uLWFscGhhYmV0aWMKIAljaGFyYWN0ZXJzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB1bmRlcnNjb3Jlcy4KIAotQWxsIGdpdGN2cyB2YXJpYWJsZXMgZXhjZXB0IGZvciAnZ2l0Y3ZzLnVzZWNybGZhdHRyJyBhbmQKLSdnaXRjdnMuYWxsQmluYXJ5JyBjYW4gYWxzbyBiZSBzcGVjaWZpZWQgYXMKK0FsbCBnaXRjdnMgdmFyaWFibGVzIGV4Y2VwdCBmb3IgYGdpdGN2cy51c2VjcmxmYXR0cmAgYW5kCitgZ2l0Y3ZzLmFsbEJpbmFyeWAgY2FuIGFsc28gYmUgc3BlY2lmaWVkIGFzCiAnZ2l0Y3ZzLjxhY2Nlc3NfbWV0aG9kPi48dmFybmFtZT4nICh3aGVyZSAnYWNjZXNzX21ldGhvZCcKIGlzIG9uZSBvZiAiZXh0IiBhbmQgInBzZXJ2ZXIiKSB0byBtYWtlIHRoZW0gYXBwbHkgb25seSBmb3IgdGhlIGdpdmVuCiBhY2Nlc3MgbWV0aG9kLgpAQCAtMTQ5MiwxNyArMTUzNCwxNyBAQAogCVNlZSBsaW5rZ2l0OmdpdHdlYi5jb25mWzVdIGZvciBkZXNjcmlwdGlvbi4KIAogZ3JlcC5saW5lTnVtYmVyOjoKLQlJZiBzZXQgdG8gdHJ1ZSwgZW5hYmxlICctbicgb3B0aW9uIGJ5IGRlZmF1bHQuCisJSWYgc2V0IHRvIHRydWUsIGVuYWJsZSBgLW5gIG9wdGlvbiBieSBkZWZhdWx0LgogCiBncmVwLnBhdHRlcm5UeXBlOjoKIAlTZXQgdGhlIGRlZmF1bHQgbWF0Y2hpbmcgYmVoYXZpb3IuIFVzaW5nIGEgdmFsdWUgb2YgJ2Jhc2ljJywgJ2V4dGVuZGVkJywKLQknZml4ZWQnLCBvciAncGVybCcgd2lsbCBlbmFibGUgdGhlICctLWJhc2ljLXJlZ2V4cCcsICctLWV4dGVuZGVkLXJlZ2V4cCcsCi0JJy0tZml4ZWQtc3RyaW5ncycsIG9yICctLXBlcmwtcmVnZXhwJyBvcHRpb24gYWNjb3JkaW5nbHksIHdoaWxlIHRoZQorCSdmaXhlZCcsIG9yICdwZXJsJyB3aWxsIGVuYWJsZSB0aGUgYC0tYmFzaWMtcmVnZXhwYCwgYC0tZXh0ZW5kZWQtcmVnZXhwYCwKKwlgLS1maXhlZC1zdHJpbmdzYCwgb3IgYC0tcGVybC1yZWdleHBgIG9wdGlvbiBhY2NvcmRpbmdseSwgd2hpbGUgdGhlCiAJdmFsdWUgJ2RlZmF1bHQnIHdpbGwgcmV0dXJuIHRvIHRoZSBkZWZhdWx0IG1hdGNoaW5nIGJlaGF2aW9yLgogCiBncmVwLmV4dGVuZGVkUmVnZXhwOjoKLQlJZiBzZXQgdG8gdHJ1ZSwgZW5hYmxlICctLWV4dGVuZGVkLXJlZ2V4cCcgb3B0aW9uIGJ5IGRlZmF1bHQuIFRoaXMKLQlvcHRpb24gaXMgaWdub3JlZCB3aGVuIHRoZSAnZ3JlcC5wYXR0ZXJuVHlwZScgb3B0aW9uIGlzIHNldCB0byBhIHZhbHVlCisJSWYgc2V0IHRvIHRydWUsIGVuYWJsZSBgLS1leHRlbmRlZC1yZWdleHBgIG9wdGlvbiBieSBkZWZhdWx0LiBUaGlzCisJb3B0aW9uIGlzIGlnbm9yZWQgd2hlbiB0aGUgYGdyZXAucGF0dGVyblR5cGVgIG9wdGlvbiBpcyBzZXQgdG8gYSB2YWx1ZQogCW90aGVyIHRoYW4gJ2RlZmF1bHQnLgogCiBncmVwLnRocmVhZHM6OgpAQCAtMTU4Nyw3ICsxNjI5LDcgQEAKIAlvZiB0aGUgbGlua2dpdDpnaXQtZ3VpWzFdIGBUb29sc2AgbWVudSBpcyBpbnZva2VkLiBUaGlzIG9wdGlvbiBpcwogCW1hbmRhdG9yeSBmb3IgZXZlcnkgdG9vbC4gVGhlIGNvbW1hbmQgaXMgZXhlY3V0ZWQgZnJvbSB0aGUgcm9vdCBvZgogCXRoZSB3b3JraW5nIGRpcmVjdG9yeSwgYW5kIGluIHRoZSBlbnZpcm9ubWVudCBpdCByZWNlaXZlcyB0aGUgbmFtZSBvZgotCXRoZSB0b29sIGFzICdHSVRfR1VJVE9PTCcsIHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZmlsZSBhcworCXRoZSB0b29sIGFzIGBHSVRfR1VJVE9PTGAsIHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZmlsZSBhcwogCSdGSUxFTkFNRScsIGFuZCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBicmFuY2ggYXMgJ0NVUl9CUkFOQ0gnIChpZgogCXRoZSBoZWFkIGlzIGRldGFjaGVkLCAnQ1VSX0JSQU5DSCcgaXMgZW1wdHkpLgogCkBAIC0xNjA4LDcgKzE2NTAsNyBAQAogCiBndWl0b29sLjxuYW1lPi5hcmdQcm9tcHQ6OgogCVJlcXVlc3QgYSBzdHJpbmcgYXJndW1lbnQgZnJvbSB0aGUgdXNlciwgYW5kIHBhc3MgaXQgdG8gdGhlIHRvb2wKLQl0aHJvdWdoIHRoZSAnQVJHUycgZW52aXJvbm1lbnQgdmFyaWFibGUuIFNpbmNlIHJlcXVlc3RpbmcgYW4KKwl0aHJvdWdoIHRoZSBgQVJHU2AgZW52aXJvbm1lbnQgdmFyaWFibGUuIFNpbmNlIHJlcXVlc3RpbmcgYW4KIAlhcmd1bWVudCBpbXBsaWVzIGNvbmZpcm1hdGlvbiwgdGhlICdjb25maXJtJyBvcHRpb24gaGFzIG5vIGVmZmVjdAogCWlmIHRoaXMgaXMgZW5hYmxlZC4gSWYgdGhlIG9wdGlvbiBpcyBzZXQgdG8gJ3RydWUnLCAneWVzJywgb3IgJzEnLAogCXRoZSBkaWFsb2cgdXNlcyBhIGJ1aWx0LWluIGdlbmVyaWMgcHJvbXB0OyBvdGhlcndpc2UgdGhlIGV4YWN0CkBAIC0xNjE2LDcgKzE2NTgsNyBAQAogCiBndWl0b29sLjxuYW1lPi5yZXZQcm9tcHQ6OgogCVJlcXVlc3QgYSBzaW5nbGUgdmFsaWQgcmV2aXNpb24gZnJvbSB0aGUgdXNlciwgYW5kIHNldCB0aGUKLQknUkVWSVNJT04nIGVudmlyb25tZW50IHZhcmlhYmxlLiBJbiBvdGhlciBhc3BlY3RzIHRoaXMgb3B0aW9uCisJYFJFVklTSU9OYCBlbnZpcm9ubWVudCB2YXJpYWJsZS4gSW4gb3RoZXIgYXNwZWN0cyB0aGlzIG9wdGlvbgogCWlzIHNpbWlsYXIgdG8gJ2FyZ1Byb21wdCcsIGFuZCBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIGl0LgogCiBndWl0b29sLjxuYW1lPi5yZXZVbm1lcmdlZDo6CkBAIC0xNjcyLDcgKzE3MTQsNyBAQAogCW9ubHkgdGFrZXMgZWZmZWN0IGlmIHRoZSBjb25maWd1cmVkIHByb3h5IHN0cmluZyBjb250YWlucyBhIHVzZXIgbmFtZSBwYXJ0CiAJKGkuZS4gaXMgb2YgdGhlIGZvcm0gJ3VzZXJAaG9zdCcgb3IgJ3VzZXJAaG9zdDpwb3J0JykuIFRoaXMgY2FuIGJlCiAJb3ZlcnJpZGRlbiBvbiBhIHBlci1yZW1vdGUgYmFzaXM7IHNlZSBgcmVtb3RlLjxuYW1lPi5wcm94eUF1dGhNZXRob2RgLgotCUJvdGggY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICdHSVRfSFRUUF9QUk9YWV9BVVRITUVUSE9EJyBlbnZpcm9ubWVudAorCUJvdGggY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGBHSVRfSFRUUF9QUk9YWV9BVVRITUVUSE9EYCBlbnZpcm9ubWVudAogCXZhcmlhYmxlLiAgUG9zc2libGUgdmFsdWVzIGFyZToKICsKIC0tCkBAIC0xNjk0LDYgKzE3MzYsMjAgQEAKIAlhIHVzZXJuYW1lIGluIHRoZSBVUkwsIGFzIGxpYmN1cmwgbm9ybWFsbHkgcmVxdWlyZXMgYSB1c2VybmFtZSBmb3IKIAlhdXRoZW50aWNhdGlvbi4KIAoraHR0cC5kZWxlZ2F0aW9uOjoKKwlDb250cm9sIEdTU0FQSSBjcmVkZW50aWFsIGRlbGVnYXRpb24uIFRoZSBkZWxlZ2F0aW9uIGlzIGRpc2FibGVkCisJYnkgZGVmYXVsdCBpbiBsaWJjdXJsIHNpbmNlIHZlcnNpb24gNy4yMS43LiBTZXQgcGFyYW1ldGVyIHRvIHRlbGwKKwl0aGUgc2VydmVyIHdoYXQgaXQgaXMgYWxsb3dlZCB0byBkZWxlZ2F0ZSB3aGVuIGl0IGNvbWVzIHRvIHVzZXIKKwljcmVkZW50aWFscy4gVXNlZCB3aXRoIEdTUy9rZXJiZXJvcy4gUG9zc2libGUgdmFsdWVzIGFyZToKKysKKy0tCisqIGBub25lYCAtIERvbid0IGFsbG93IGFueSBkZWxlZ2F0aW9uLgorKiBgcG9saWN5YCAtIERlbGVnYXRlcyBpZiBhbmQgb25seSBpZiB0aGUgT0stQVMtREVMRUdBVEUgZmxhZyBpcyBzZXQgaW4gdGhlCisgIEtlcmJlcm9zIHNlcnZpY2UgdGlja2V0LCB3aGljaCBpcyBhIG1hdHRlciBvZiByZWFsbSBwb2xpY3kuCisqIGBhbHdheXNgIC0gVW5jb25kaXRpb25hbGx5IGFsbG93IHRoZSBzZXJ2ZXIgdG8gZGVsZWdhdGUuCistLQorCisKIGh0dHAuZXh0cmFIZWFkZXI6OgogCVBhc3MgYW4gYWRkaXRpb25hbCBIVFRQIGhlYWRlciB3aGVuIGNvbW11bmljYXRpbmcgd2l0aCBhIHNlcnZlci4gIElmCiAJbW9yZSB0aGFuIG9uZSBzdWNoIGVudHJ5IGV4aXN0cywgYWxsIG9mIHRoZW0gYXJlIGFkZGVkIGFzIGV4dHJhCkBAIC0xNzMxLDkgKzE3ODcsOSBAQAogCS0gdGxzdjEuMgogCiArCi1DYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgJ0dJVF9TU0xfVkVSU0lPTicgZW52aXJvbm1lbnQgdmFyaWFibGUuCitDYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgYEdJVF9TU0xfVkVSU0lPTmAgZW52aXJvbm1lbnQgdmFyaWFibGUuCiBUbyBmb3JjZSBnaXQgdG8gdXNlIGxpYmN1cmwncyBkZWZhdWx0IHNzbCB2ZXJzaW9uIGFuZCBpZ25vcmUgYW55Ci1leHBsaWNpdCBodHRwLnNzbHZlcnNpb24gb3B0aW9uLCBzZXQgJ0dJVF9TU0xfVkVSU0lPTicgdG8gdGhlCitleHBsaWNpdCBodHRwLnNzbHZlcnNpb24gb3B0aW9uLCBzZXQgYEdJVF9TU0xfVkVSU0lPTmAgdG8gdGhlCiBlbXB0eSBzdHJpbmcuCiAKIGh0dHAuc3NsQ2lwaGVyTGlzdDo6CkBAIC0xNzQ0LDQxICsxODAwLDQxIEBACiAgIG9wdGlvbjsgc2VlIHRoZSBsaWJjdXJsIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgZGV0YWlscyBvbiB0aGUgZm9ybWF0CiAgIG9mIHRoaXMgbGlzdC4KICsKLUNhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSAnR0lUX1NTTF9DSVBIRVJfTElTVCcgZW52aXJvbm1lbnQgdmFyaWFibGUuCitDYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgYEdJVF9TU0xfQ0lQSEVSX0xJU1RgIGVudmlyb25tZW50IHZhcmlhYmxlLgogVG8gZm9yY2UgZ2l0IHRvIHVzZSBsaWJjdXJsJ3MgZGVmYXVsdCBjaXBoZXIgbGlzdCBhbmQgaWdub3JlIGFueQotZXhwbGljaXQgaHR0cC5zc2xDaXBoZXJMaXN0IG9wdGlvbiwgc2V0ICdHSVRfU1NMX0NJUEhFUl9MSVNUJyB0byB0aGUKK2V4cGxpY2l0IGh0dHAuc3NsQ2lwaGVyTGlzdCBvcHRpb24sIHNldCBgR0lUX1NTTF9DSVBIRVJfTElTVGAgdG8gdGhlCiBlbXB0eSBzdHJpbmcuCiAKIGh0dHAuc3NsVmVyaWZ5OjoKIAlXaGV0aGVyIHRvIHZlcmlmeSB0aGUgU1NMIGNlcnRpZmljYXRlIHdoZW4gZmV0Y2hpbmcgb3IgcHVzaGluZwotCW92ZXIgSFRUUFMuIENhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSAnR0lUX1NTTF9OT19WRVJJRlknIGVudmlyb25tZW50CisJb3ZlciBIVFRQUy4gQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGBHSVRfU1NMX05PX1ZFUklGWWAgZW52aXJvbm1lbnQKIAl2YXJpYWJsZS4KIAogaHR0cC5zc2xDZXJ0OjoKIAlGaWxlIGNvbnRhaW5pbmcgdGhlIFNTTCBjZXJ0aWZpY2F0ZSB3aGVuIGZldGNoaW5nIG9yIHB1c2hpbmcKLQlvdmVyIEhUVFBTLiBDYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgJ0dJVF9TU0xfQ0VSVCcgZW52aXJvbm1lbnQKKwlvdmVyIEhUVFBTLiBDYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgYEdJVF9TU0xfQ0VSVGAgZW52aXJvbm1lbnQKIAl2YXJpYWJsZS4KIAogaHR0cC5zc2xLZXk6OgogCUZpbGUgY29udGFpbmluZyB0aGUgU1NMIHByaXZhdGUga2V5IHdoZW4gZmV0Y2hpbmcgb3IgcHVzaGluZwotCW92ZXIgSFRUUFMuIENhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSAnR0lUX1NTTF9LRVknIGVudmlyb25tZW50CisJb3ZlciBIVFRQUy4gQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGBHSVRfU1NMX0tFWWAgZW52aXJvbm1lbnQKIAl2YXJpYWJsZS4KIAogaHR0cC5zc2xDZXJ0UGFzc3dvcmRQcm90ZWN0ZWQ6OgogCUVuYWJsZSBHaXQncyBwYXNzd29yZCBwcm9tcHQgZm9yIHRoZSBTU0wgY2VydGlmaWNhdGUuICBPdGhlcndpc2UKIAlPcGVuU1NMIHdpbGwgcHJvbXB0IHRoZSB1c2VyLCBwb3NzaWJseSBtYW55IHRpbWVzLCBpZiB0aGUKIAljZXJ0aWZpY2F0ZSBvciBwcml2YXRlIGtleSBpcyBlbmNyeXB0ZWQuICBDYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUKLQknR0lUX1NTTF9DRVJUX1BBU1NXT1JEX1BST1RFQ1RFRCcgZW52aXJvbm1lbnQgdmFyaWFibGUuCisJYEdJVF9TU0xfQ0VSVF9QQVNTV09SRF9QUk9URUNURURgIGVudmlyb25tZW50IHZhcmlhYmxlLgogCiBodHRwLnNzbENBSW5mbzo6CiAJRmlsZSBjb250YWluaW5nIHRoZSBjZXJ0aWZpY2F0ZXMgdG8gdmVyaWZ5IHRoZSBwZWVyIHdpdGggd2hlbgogCWZldGNoaW5nIG9yIHB1c2hpbmcgb3ZlciBIVFRQUy4gQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlCi0JJ0dJVF9TU0xfQ0FJTkZPJyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KKwlgR0lUX1NTTF9DQUlORk9gIGVudmlyb25tZW50IHZhcmlhYmxlLgogCiBodHRwLnNzbENBUGF0aDo6CiAJUGF0aCBjb250YWluaW5nIGZpbGVzIHdpdGggdGhlIENBIGNlcnRpZmljYXRlcyB0byB2ZXJpZnkgdGhlIHBlZXIKIAl3aXRoIHdoZW4gZmV0Y2hpbmcgb3IgcHVzaGluZyBvdmVyIEhUVFBTLiBDYW4gYmUgb3ZlcnJpZGRlbgotCWJ5IHRoZSAnR0lUX1NTTF9DQVBBVEgnIGVudmlyb25tZW50IHZhcmlhYmxlLgorCWJ5IHRoZSBgR0lUX1NTTF9DQVBBVEhgIGVudmlyb25tZW50IHZhcmlhYmxlLgogCiBodHRwLnBpbm5lZHB1YmtleTo6CiAJUHVibGljIGtleSBvZiB0aGUgaHR0cHMgc2VydmljZS4gSXQgbWF5IGVpdGhlciBiZSB0aGUgZmlsZW5hbWUgb2YKQEAgLTE3OTgsNyArMTg1NCw3IEBACiAKIGh0dHAubWF4UmVxdWVzdHM6OgogCUhvdyBtYW55IEhUVFAgcmVxdWVzdHMgdG8gbGF1bmNoIGluIHBhcmFsbGVsLiBDYW4gYmUgb3ZlcnJpZGRlbgotCWJ5IHRoZSAnR0lUX0hUVFBfTUFYX1JFUVVFU1RTJyBlbnZpcm9ubWVudCB2YXJpYWJsZS4gRGVmYXVsdCBpcyA1LgorCWJ5IHRoZSBgR0lUX0hUVFBfTUFYX1JFUVVFU1RTYCBlbnZpcm9ubWVudCB2YXJpYWJsZS4gRGVmYXVsdCBpcyA1LgogCiBodHRwLm1pblNlc3Npb25zOjoKIAlUaGUgbnVtYmVyIG9mIGN1cmwgc2Vzc2lvbnMgKGNvdW50ZWQgYWNyb3NzIHNsb3RzKSB0byBiZSBrZXB0IGFjcm9zcwpAQCAtMTgxNywxMyArMTg3MywxMyBAQAogaHR0cC5sb3dTcGVlZExpbWl0LCBodHRwLmxvd1NwZWVkVGltZTo6CiAJSWYgdGhlIEhUVFAgdHJhbnNmZXIgc3BlZWQgaXMgbGVzcyB0aGFuICdodHRwLmxvd1NwZWVkTGltaXQnCiAJZm9yIGxvbmdlciB0aGFuICdodHRwLmxvd1NwZWVkVGltZScgc2Vjb25kcywgdGhlIHRyYW5zZmVyIGlzIGFib3J0ZWQuCi0JQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICdHSVRfSFRUUF9MT1dfU1BFRURfTElNSVQnIGFuZAotCSdHSVRfSFRUUF9MT1dfU1BFRURfVElNRScgZW52aXJvbm1lbnQgdmFyaWFibGVzLgorCUNhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSBgR0lUX0hUVFBfTE9XX1NQRUVEX0xJTUlUYCBhbmQKKwlgR0lUX0hUVFBfTE9XX1NQRUVEX1RJTUVgIGVudmlyb25tZW50IHZhcmlhYmxlcy4KIAogaHR0cC5ub0VQU1Y6OgogCUEgYm9vbGVhbiB3aGljaCBkaXNhYmxlcyB1c2luZyBvZiBFUFNWIGZ0cCBjb21tYW5kIGJ5IGN1cmwuCiAJVGhpcyBjYW4gaGVscGZ1bCB3aXRoIHNvbWUgInBvb3IiIGZ0cCBzZXJ2ZXJzIHdoaWNoIGRvbid0Ci0Jc3VwcG9ydCBFUFNWIG1vZGUuIENhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSAnR0lUX0NVUkxfRlRQX05PX0VQU1YnCisJc3VwcG9ydCBFUFNWIG1vZGUuIENhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSBgR0lUX0NVUkxfRlRQX05PX0VQU1ZgCiAJZW52aXJvbm1lbnQgdmFyaWFibGUuIERlZmF1bHQgaXMgZmFsc2UgKGN1cmwgd2lsbCB1c2UgRVBTVikuCiAKIGh0dHAudXNlckFnZW50OjoKQEAgLTE4MzMsNyArMTg4OSw3IEBACiAJc3VjaCBhcyBNb3ppbGxhLzQuMC4gIFRoaXMgbWF5IGJlIG5lY2Vzc2FyeSwgZm9yIGluc3RhbmNlLCBpZgogCWNvbm5lY3RpbmcgdGhyb3VnaCBhIGZpcmV3YWxsIHRoYXQgcmVzdHJpY3RzIEhUVFAgY29ubmVjdGlvbnMgdG8gYSBzZXQKIAlvZiBjb21tb24gVVNFUl9BR0VOVCBzdHJpbmdzIChidXQgbm90IGluY2x1ZGluZyB0aG9zZSBsaWtlIGdpdC8xLjcuMSkuCi0JQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICdHSVRfSFRUUF9VU0VSX0FHRU5UJyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KKwlDYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgYEdJVF9IVFRQX1VTRVJfQUdFTlRgIGVudmlyb25tZW50IHZhcmlhYmxlLgogCiBodHRwLjx1cmw+Lio6OgogCUFueSBvZiB0aGUgaHR0cC4qIG9wdGlvbnMgYWJvdmUgY2FuIGJlIGFwcGxpZWQgc2VsZWN0aXZlbHkgdG8gc29tZSBVUkxzLgpAQCAtMTk1OCw3ICsyMDE0LDcgQEAKIAlzcGVjaWZpZWQsIHRoZSBmdWxsIHJlZiBuYW1lIChpbmNsdWRpbmcgcHJlZml4KSB3aWxsIGJlIHByaW50ZWQuCiAJSWYgJ2F1dG8nIGlzIHNwZWNpZmllZCwgdGhlbiBpZiB0aGUgb3V0cHV0IGlzIGdvaW5nIHRvIGEgdGVybWluYWwsCiAJdGhlIHJlZiBuYW1lcyBhcmUgc2hvd24gYXMgaWYgJ3Nob3J0JyB3ZXJlIGdpdmVuLCBvdGhlcndpc2Ugbm8gcmVmCi0JbmFtZXMgYXJlIHNob3duLiBUaGlzIGlzIHRoZSBzYW1lIGFzIHRoZSAnLS1kZWNvcmF0ZScgb3B0aW9uCisJbmFtZXMgYXJlIHNob3duLiBUaGlzIGlzIHRoZSBzYW1lIGFzIHRoZSBgLS1kZWNvcmF0ZWAgb3B0aW9uCiAJb2YgdGhlIGBnaXQgbG9nYC4KIAogbG9nLmZvbGxvdzo6CkBAIC0yMzQxLDE2ICsyMzk3LDE2IEBACiAtLQogCiBwdXNoLmZvbGxvd1RhZ3M6OgotCUlmIHNldCB0byB0cnVlIGVuYWJsZSAnLS1mb2xsb3ctdGFncycgb3B0aW9uIGJ5IGRlZmF1bHQuICBZb3UKKwlJZiBzZXQgdG8gdHJ1ZSBlbmFibGUgYC0tZm9sbG93LXRhZ3NgIG9wdGlvbiBieSBkZWZhdWx0LiAgWW91CiAJbWF5IG92ZXJyaWRlIHRoaXMgY29uZmlndXJhdGlvbiBhdCB0aW1lIG9mIHB1c2ggYnkgc3BlY2lmeWluZwotCSctLW5vLWZvbGxvdy10YWdzJy4KKwlgLS1uby1mb2xsb3ctdGFnc2AuCiAKIHB1c2guZ3BnU2lnbjo6CiAJTWF5IGJlIHNldCB0byBhIGJvb2xlYW4gdmFsdWUsIG9yIHRoZSBzdHJpbmcgJ2lmLWFza2VkJy4gQSB0cnVlCi0JdmFsdWUgY2F1c2VzIGFsbCBwdXNoZXMgdG8gYmUgR1BHIHNpZ25lZCwgYXMgaWYgJy0tc2lnbmVkJyBpcworCXZhbHVlIGNhdXNlcyBhbGwgcHVzaGVzIHRvIGJlIEdQRyBzaWduZWQsIGFzIGlmIGAtLXNpZ25lZGAgaXMKIAlwYXNzZWQgdG8gbGlua2dpdDpnaXQtcHVzaFsxXS4gVGhlIHN0cmluZyAnaWYtYXNrZWQnIGNhdXNlcwogCXB1c2hlcyB0byBiZSBzaWduZWQgaWYgdGhlIHNlcnZlciBzdXBwb3J0cyBpdCwgYXMgaWYKLQknLS1zaWduZWQ9aWYtYXNrZWQnIGlzIHBhc3NlZCB0byAnZ2l0IHB1c2gnLiBBIGZhbHNlIHZhbHVlIG1heQorCWAtLXNpZ25lZD1pZi1hc2tlZGAgaXMgcGFzc2VkIHRvICdnaXQgcHVzaCcuIEEgZmFsc2UgdmFsdWUgbWF5CiAJb3ZlcnJpZGUgYSB2YWx1ZSBmcm9tIGEgbG93ZXItcHJpb3JpdHkgY29uZmlnIGZpbGUuIEFuIGV4cGxpY2l0CiAJY29tbWFuZC1saW5lIGZsYWcgYWx3YXlzIG92ZXJyaWRlcyB0aGlzIGNvbmZpZyBvcHRpb24uCiAKQEAgLTIzNzMsNyArMjQyOSw3IEBACiAJcmViYXNlLiBGYWxzZSBieSBkZWZhdWx0LgogCiByZWJhc2UuYXV0b1NxdWFzaDo6Ci0JSWYgc2V0IHRvIHRydWUgZW5hYmxlICctLWF1dG9zcXVhc2gnIG9wdGlvbiBieSBkZWZhdWx0LgorCUlmIHNldCB0byB0cnVlIGVuYWJsZSBgLS1hdXRvc3F1YXNoYCBvcHRpb24gYnkgZGVmYXVsdC4KIAogcmViYXNlLmF1dG9TdGFzaDo6CiAJV2hlbiBzZXQgdG8gdHJ1ZSwgYXV0b21hdGljYWxseSBjcmVhdGUgYSB0ZW1wb3Jhcnkgc3Rhc2gKQEAgLTIzOTQsMTUgKzI0NTAsMjAgQEAKIAljb21tYW5kIGluIHRoZSB0b2RvLWxpc3QuCiAJRGVmYXVsdHMgdG8gImlnbm9yZSIuCiAKLXJlYmFzZS5pbnN0cnVjdGlvbkZvcm1hdAorcmViYXNlLmluc3RydWN0aW9uRm9ybWF0OjoKIAlBIGZvcm1hdCBzdHJpbmcsIGFzIHNwZWNpZmllZCBpbiBsaW5rZ2l0OmdpdC1sb2dbMV0sIHRvIGJlIHVzZWQgZm9yCiAJdGhlIGluc3RydWN0aW9uIGxpc3QgZHVyaW5nIGFuIGludGVyYWN0aXZlIHJlYmFzZS4gIFRoZSBmb3JtYXQgd2lsbCBhdXRvbWF0aWNhbGx5CiAJaGF2ZSB0aGUgbG9uZyBjb21taXQgaGFzaCBwcmVwZW5kZWQgdG8gdGhlIGZvcm1hdC4KIAogcmVjZWl2ZS5hZHZlcnRpc2VBdG9taWM6OgogCUJ5IGRlZmF1bHQsIGdpdC1yZWNlaXZlLXBhY2sgd2lsbCBhZHZlcnRpc2UgdGhlIGF0b21pYyBwdXNoCi0JY2FwYWJpbGl0eSB0byBpdHMgY2xpZW50cy4gSWYgeW91IGRvbid0IHdhbnQgdG8gdGhpcyBjYXBhYmlsaXR5Ci0JdG8gYmUgYWR2ZXJ0aXNlZCwgc2V0IHRoaXMgdmFyaWFibGUgdG8gZmFsc2UuCisJY2FwYWJpbGl0eSB0byBpdHMgY2xpZW50cy4gSWYgeW91IGRvbid0IHdhbnQgdG8gYWR2ZXJ0aXNlIHRoaXMKKwljYXBhYmlsaXR5LCBzZXQgdGhpcyB2YXJpYWJsZSB0byBmYWxzZS4KKworcmVjZWl2ZS5hZHZlcnRpc2VQdXNoT3B0aW9uczo6CisJQnkgZGVmYXVsdCwgZ2l0LXJlY2VpdmUtcGFjayB3aWxsIGFkdmVydGlzZSB0aGUgcHVzaCBvcHRpb25zCisJY2FwYWJpbGl0eSB0byBpdHMgY2xpZW50cy4gSWYgeW91IGRvbid0IHdhbnQgdG8gYWR2ZXJ0aXNlIHRoaXMKKwljYXBhYmlsaXR5LCBzZXQgdGhpcyB2YXJpYWJsZSB0byBmYWxzZS4KIAogcmVjZWl2ZS5hdXRvZ2M6OgogCUJ5IGRlZmF1bHQsIGdpdC1yZWNlaXZlLXBhY2sgd2lsbCBydW4gImdpdC1nYyAtLWF1dG8iIGFmdGVyCkBAIC0yNDU3LDYgKzI1MTgsMTUgQEAKIAljYW4gYmUgc2FmZWx5IGlnbm9yZWQgc3VjaCBhcyBpbnZhbGlkIGNvbW1pdHRlciBlbWFpbCBhZGRyZXNzZXMuCiAJTm90ZTogY29ycnVwdCBvYmplY3RzIGNhbm5vdCBiZSBza2lwcGVkIHdpdGggdGhpcyBzZXR0aW5nLgogCityZWNlaXZlLmtlZXBBbGl2ZTo6CisJQWZ0ZXIgcmVjZWl2aW5nIHRoZSBwYWNrIGZyb20gdGhlIGNsaWVudCwgYHJlY2VpdmUtcGFja2AgbWF5CisJcHJvZHVjZSBubyBvdXRwdXQgKGlmIGAtLXF1aWV0YCB3YXMgc3BlY2lmaWVkKSB3aGlsZSBwcm9jZXNzaW5nCisJdGhlIHBhY2ssIGNhdXNpbmcgc29tZSBuZXR3b3JrcyB0byBkcm9wIHRoZSBUQ1AgY29ubmVjdGlvbi4KKwlXaXRoIHRoaXMgb3B0aW9uIHNldCwgaWYgYHJlY2VpdmUtcGFja2AgZG9lcyBub3QgdHJhbnNtaXQKKwlhbnkgZGF0YSBpbiB0aGlzIHBoYXNlIGZvciBgcmVjZWl2ZS5rZWVwQWxpdmVgIHNlY29uZHMsIGl0IHdpbGwKKwlzZW5kIGEgc2hvcnQga2VlcGFsaXZlIHBhY2tldC4gIFRoZSBkZWZhdWx0IGlzIDUgc2Vjb25kczsgc2V0CisJdG8gMCB0byBkaXNhYmxlIGtlZXBhbGl2ZXMgZW50aXJlbHkuCisKIHJlY2VpdmUudW5wYWNrTGltaXQ6OgogCUlmIHRoZSBudW1iZXIgb2Ygb2JqZWN0cyByZWNlaXZlZCBpbiBhIHB1c2ggaXMgYmVsb3cgdGhpcwogCWxpbWl0IHRoZW4gdGhlIG9iamVjdHMgd2lsbCBiZSB1bnBhY2tlZCBpbnRvIGxvb3NlIG9iamVjdApAQCAtMjQ2Nyw2ICsyNTM3LDEyIEBACiAJZXNwZWNpYWxseSBvbiBzbG93IGZpbGVzeXN0ZW1zLiAgSWYgbm90IHNldCwgdGhlIHZhbHVlIG9mCiAJYHRyYW5zZmVyLnVucGFja0xpbWl0YCBpcyB1c2VkIGluc3RlYWQuCiAKK3JlY2VpdmUubWF4SW5wdXRTaXplOjoKKwlJZiB0aGUgc2l6ZSBvZiB0aGUgaW5jb21pbmcgcGFjayBzdHJlYW0gaXMgbGFyZ2VyIHRoYW4gdGhpcworCWxpbWl0LCB0aGVuIGdpdC1yZWNlaXZlLXBhY2sgd2lsbCBlcnJvciBvdXQsIGluc3RlYWQgb2YKKwlhY2NlcHRpbmcgdGhlIHBhY2sgZmlsZS4gSWYgbm90IHNldCBvciBzZXQgdG8gMCwgdGhlbiB0aGUgc2l6ZQorCWlzIHVubGltaXRlZC4KKwogcmVjZWl2ZS5kZW55RGVsZXRlczo6CiAJSWYgc2V0IHRvIHRydWUsIGdpdC1yZWNlaXZlLXBhY2sgd2lsbCBkZW55IGEgcmVmIHVwZGF0ZSB0aGF0IGRlbGV0ZXMKIAl0aGUgcmVmLiBVc2UgdGhpcyB0byBwcmV2ZW50IHN1Y2ggYSByZWYgZGVsZXRpb24gdmlhIGEgcHVzaC4KQEAgLTI2MzAsNyArMjcwNiw3IEBACiAJQSBjb25maWd1cmF0aW9uIGlkZW50aXR5LiBXaGVuIGdpdmVuLCBjYXVzZXMgdmFsdWVzIGluIHRoZQogCSdzZW5kZW1haWwuPGlkZW50aXR5Picgc3Vic2VjdGlvbiB0byB0YWtlIHByZWNlZGVuY2Ugb3ZlcgogCXZhbHVlcyBpbiB0aGUgJ3NlbmRlbWFpbCcgc2VjdGlvbi4gVGhlIGRlZmF1bHQgaWRlbnRpdHkgaXMKLQl0aGUgdmFsdWUgb2YgJ3NlbmRlbWFpbC5pZGVudGl0eScuCisJdGhlIHZhbHVlIG9mIGBzZW5kZW1haWwuaWRlbnRpdHlgLgogCiBzZW5kZW1haWwuc210cEVuY3J5cHRpb246OgogCVNlZSBsaW5rZ2l0OmdpdC1zZW5kLWVtYWlsWzFdIGZvciBkZXNjcmlwdGlvbi4gIE5vdGUgdGhhdCB0aGlzCkBAIC0yNjQ3LDcgKzI3MjMsNyBAQAogCUlkZW50aXR5LXNwZWNpZmljIHZlcnNpb25zIG9mIHRoZSAnc2VuZGVtYWlsLionIHBhcmFtZXRlcnMKIAlmb3VuZCBiZWxvdywgdGFraW5nIHByZWNlZGVuY2Ugb3ZlciB0aG9zZSB3aGVuIHRoZSB0aGlzCiAJaWRlbnRpdHkgaXMgc2VsZWN0ZWQsIHRocm91Z2ggY29tbWFuZC1saW5lIG9yCi0JJ3NlbmRlbWFpbC5pZGVudGl0eScuCisJYHNlbmRlbWFpbC5pZGVudGl0eWAuCiAKIHNlbmRlbWFpbC5hbGlhc2VzRmlsZTo6CiBzZW5kZW1haWwuYWxpYXNGaWxlVHlwZTo6CkBAIC0yNjc3LDcgKzI3NTMsNyBAQAogCVNlZSBsaW5rZ2l0OmdpdC1zZW5kLWVtYWlsWzFdIGZvciBkZXNjcmlwdGlvbi4KIAogc2VuZGVtYWlsLnNpZ25lZG9mZmNjIChkZXByZWNhdGVkKTo6Ci0JRGVwcmVjYXRlZCBhbGlhcyBmb3IgJ3NlbmRlbWFpbC5zaWduZWRvZmZieWNjJy4KKwlEZXByZWNhdGVkIGFsaWFzIGZvciBgc2VuZGVtYWlsLnNpZ25lZG9mZmJ5Y2NgLgogCiBzaG93YnJhbmNoLmRlZmF1bHQ6OgogCVRoZSBkZWZhdWx0IHNldCBvZiBicmFuY2hlcyBmb3IgbGlua2dpdDpnaXQtc2hvdy1icmFuY2hbMV0uCkBAIC0yNzQ5LDEyICsyODI1LDEzIEBACiAJb3B0aW9uIHdpbGwgc2hvdyBkaWZmc3RhdCBvZiB0aGUgc3Rhc2guICBEZWZhdWx0cyB0byB0cnVlLgogCVNlZSBkZXNjcmlwdGlvbiBvZiAnc2hvdycgY29tbWFuZCBpbiBsaW5rZ2l0OmdpdC1zdGFzaFsxXS4KIAotc3VibW9kdWxlLjxuYW1lPi5wYXRoOjoKIHN1Ym1vZHVsZS48bmFtZT4udXJsOjoKLQlUaGUgcGF0aCB3aXRoaW4gdGhpcyBwcm9qZWN0IGFuZCBVUkwgZm9yIGEgc3VibW9kdWxlLiBUaGVzZQotCXZhcmlhYmxlcyBhcmUgaW5pdGlhbGx5IHBvcHVsYXRlZCBieSAnZ2l0IHN1Ym1vZHVsZSBpbml0Jy4gU2VlCi0JbGlua2dpdDpnaXQtc3VibW9kdWxlWzFdIGFuZCBsaW5rZ2l0OmdpdG1vZHVsZXNbNV0gZm9yCi0JZGV0YWlscy4KKwlUaGUgVVJMIGZvciBhIHN1Ym1vZHVsZS4gVGhpcyB2YXJpYWJsZSBpcyBjb3BpZWQgZnJvbSB0aGUgLmdpdG1vZHVsZXMKKwlmaWxlIHRvIHRoZSBnaXQgY29uZmlnIHZpYSAnZ2l0IHN1Ym1vZHVsZSBpbml0Jy4gVGhlIHVzZXIgY2FuIGNoYW5nZQorCXRoZSBjb25maWd1cmVkIFVSTCBiZWZvcmUgb2J0YWluaW5nIHRoZSBzdWJtb2R1bGUgdmlhICdnaXQgc3VibW9kdWxlCisJdXBkYXRlJy4gQWZ0ZXIgb2J0YWluaW5nIHRoZSBzdWJtb2R1bGUsIHRoZSBwcmVzZW5jZSBvZiB0aGlzIHZhcmlhYmxlCisJaXMgdXNlZCBhcyBhIHNpZ24gd2hldGhlciB0aGUgc3VibW9kdWxlIGlzIG9mIGludGVyZXN0IHRvIGdpdCBjb21tYW5kcy4KKwlTZWUgbGlua2dpdDpnaXQtc3VibW9kdWxlWzFdIGFuZCBsaW5rZ2l0OmdpdG1vZHVsZXNbNV0gZm9yIGRldGFpbHMuCiAKIHN1Ym1vZHVsZS48bmFtZT4udXBkYXRlOjoKIAlUaGUgZGVmYXVsdCB1cGRhdGUgcHJvY2VkdXJlIGZvciBhIHN1Ym1vZHVsZS4gVGhpcyB2YXJpYWJsZQpAQCAtMjc5Nyw2ICsyODc0LDE4IEBACiAJaW4gcGFyYWxsZWwuIEEgdmFsdWUgb2YgMCB3aWxsIGdpdmUgc29tZSByZWFzb25hYmxlIGRlZmF1bHQuCiAJSWYgdW5zZXQsIGl0IGRlZmF1bHRzIHRvIDEuCiAKK3N1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbjo6CisJU3BlY2lmaWVzIGhvdyB0aGUgc3VibW9kdWxlcyBvYnRhaW4gYWx0ZXJuYXRlcyB3aGVuIHN1Ym1vZHVsZXMgYXJlCisJY2xvbmVkLiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGBub2AsIGBzdXBlcnByb2plY3RgLgorCUJ5IGRlZmF1bHQgYG5vYCBpcyBhc3N1bWVkLCB3aGljaCBkb2Vzbid0IGFkZCByZWZlcmVuY2VzLiBXaGVuIHRoZQorCXZhbHVlIGlzIHNldCB0byBgc3VwZXJwcm9qZWN0YCB0aGUgc3VibW9kdWxlIHRvIGJlIGNsb25lZCBjb21wdXRlcworCWl0cyBhbHRlcm5hdGVzIGxvY2F0aW9uIHJlbGF0aXZlIHRvIHRoZSBzdXBlcnByb2plY3RzIGFsdGVybmF0ZS4KKworc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kKKwlTcGVjaWZpZXMgaG93IHRvIHRyZWF0IGVycm9ycyB3aXRoIHRoZSBhbHRlcm5hdGVzIGZvciBhIHN1Ym1vZHVsZQorCWFzIGNvbXB1dGVkIHZpYSBgc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uYC4gUG9zc2libGUgdmFsdWVzIGFyZQorCWBpZ25vcmVgLCBgaW5mb2AsIGBkaWVgLiBEZWZhdWx0IGlzIGBkaWVgLgorCiB0YWcuZm9yY2VTaWduQW5ub3RhdGVkOjoKIAlBIGJvb2xlYW4gdG8gc3BlY2lmeSB3aGV0aGVyIGFubm90YXRlZCB0YWdzIGNyZWF0ZWQgc2hvdWxkIGJlIEdQRyBzaWduZWQuCiAJSWYgYC0tYW5ub3RhdGVgIGlzIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLCBpdCB0YWtlcwpAQCAtMjg4Myw2ICsyOTcyLDIxIEBACiAJYHVwbG9hZHBhY2sua2VlcEFsaXZlYCBzZWNvbmRzLiBTZXR0aW5nIHRoaXMgb3B0aW9uIHRvIDAKIAlkaXNhYmxlcyBrZWVwYWxpdmUgcGFja2V0cyBlbnRpcmVseS4gVGhlIGRlZmF1bHQgaXMgNSBzZWNvbmRzLgogCit1cGxvYWRwYWNrLnBhY2tPYmplY3RzSG9vazo6CisJSWYgdGhpcyBvcHRpb24gaXMgc2V0LCB3aGVuIGB1cGxvYWQtcGFja2Agd291bGQgcnVuCisJYGdpdCBwYWNrLW9iamVjdHNgIHRvIGNyZWF0ZSBhIHBhY2tmaWxlIGZvciBhIGNsaWVudCwgaXQgd2lsbAorCXJ1biB0aGlzIHNoZWxsIGNvbW1hbmQgaW5zdGVhZC4gIFRoZSBgcGFjay1vYmplY3RzYCBjb21tYW5kIGFuZAorCWFyZ3VtZW50cyBpdCBfd291bGRfIGhhdmUgcnVuIChpbmNsdWRpbmcgdGhlIGBnaXQgcGFjay1vYmplY3RzYAorCWF0IHRoZSBiZWdpbm5pbmcpIGFyZSBhcHBlbmRlZCB0byB0aGUgc2hlbGwgY29tbWFuZC4gVGhlIHN0ZGluCisJYW5kIHN0ZG91dCBvZiB0aGUgaG9vayBhcmUgdHJlYXRlZCBhcyBpZiBgcGFjay1vYmplY3RzYCBpdHNlbGYKKwl3YXMgcnVuLiBJLmUuLCBgdXBsb2FkLXBhY2tgIHdpbGwgZmVlZCBpbnB1dCBpbnRlbmRlZCBmb3IKKwlgcGFjay1vYmplY3RzYCB0byB0aGUgaG9vaywgYW5kIGV4cGVjdHMgYSBjb21wbGV0ZWQgcGFja2ZpbGUgb24KKwlzdGRvdXQuCisrCitOb3RlIHRoYXQgdGhpcyBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGlzIGlnbm9yZWQgaWYgaXQgaXMgc2VlbiBpbiB0aGUKK3JlcG9zaXRvcnktbGV2ZWwgY29uZmlnICh0aGlzIGlzIGEgc2FmZXR5IG1lYXN1cmUgYWdhaW5zdCBmZXRjaGluZyBmcm9tCit1bnRydXN0ZWQgcmVwb3NpdG9yaWVzKS4KKwogdXJsLjxiYXNlPi5pbnN0ZWFkT2Y6OgogCUFueSBVUkwgdGhhdCBzdGFydHMgd2l0aCB0aGlzIHZhbHVlIHdpbGwgYmUgcmV3cml0dGVuIHRvCiAJc3RhcnQsIGluc3RlYWQsIHdpdGggPGJhc2U+LiBJbiBjYXNlcyB3aGVyZSBzb21lIHNpdGUgc2VydmVzIGEKQEAgLTI5MDksMTcgKzMwMTMsMTcgQEAKIAogdXNlci5lbWFpbDo6CiAJWW91ciBlbWFpbCBhZGRyZXNzIHRvIGJlIHJlY29yZGVkIGluIGFueSBuZXdseSBjcmVhdGVkIGNvbW1pdHMuCi0JQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICdHSVRfQVVUSE9SX0VNQUlMJywgJ0dJVF9DT01NSVRURVJfRU1BSUwnLCBhbmQKLQknRU1BSUwnIGVudmlyb25tZW50IHZhcmlhYmxlcy4gIFNlZSBsaW5rZ2l0OmdpdC1jb21taXQtdHJlZVsxXS4KKwlDYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgYEdJVF9BVVRIT1JfRU1BSUxgLCBgR0lUX0NPTU1JVFRFUl9FTUFJTGAsIGFuZAorCWBFTUFJTGAgZW52aXJvbm1lbnQgdmFyaWFibGVzLiAgU2VlIGxpbmtnaXQ6Z2l0LWNvbW1pdC10cmVlWzFdLgogCiB1c2VyLm5hbWU6OgogCVlvdXIgZnVsbCBuYW1lIHRvIGJlIHJlY29yZGVkIGluIGFueSBuZXdseSBjcmVhdGVkIGNvbW1pdHMuCi0JQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICdHSVRfQVVUSE9SX05BTUUnIGFuZCAnR0lUX0NPTU1JVFRFUl9OQU1FJworCUNhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSBgR0lUX0FVVEhPUl9OQU1FYCBhbmQgYEdJVF9DT01NSVRURVJfTkFNRWAKIAllbnZpcm9ubWVudCB2YXJpYWJsZXMuICBTZWUgbGlua2dpdDpnaXQtY29tbWl0LXRyZWVbMV0uCiAKIHVzZXIudXNlQ29uZmlnT25seTo6Ci0JSW5zdHJ1Y3QgR2l0IHRvIGF2b2lkIHRyeWluZyB0byBndWVzcyBkZWZhdWx0cyBmb3IgJ3VzZXIuZW1haWwnCi0JYW5kICd1c2VyLm5hbWUnLCBhbmQgaW5zdGVhZCByZXRyaWV2ZSB0aGUgdmFsdWVzIG9ubHkgZnJvbSB0aGUKKwlJbnN0cnVjdCBHaXQgdG8gYXZvaWQgdHJ5aW5nIHRvIGd1ZXNzIGRlZmF1bHRzIGZvciBgdXNlci5lbWFpbGAKKwlhbmQgYHVzZXIubmFtZWAsIGFuZCBpbnN0ZWFkIHJldHJpZXZlIHRoZSB2YWx1ZXMgb25seSBmcm9tIHRoZQogCWNvbmZpZ3VyYXRpb24uIEZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZSBtdWx0aXBsZSBlbWFpbCBhZGRyZXNzZXMKIAlhbmQgd291bGQgbGlrZSB0byB1c2UgYSBkaWZmZXJlbnQgb25lIGZvciBlYWNoIHJlcG9zaXRvcnksIHRoZW4KIAl3aXRoIHRoaXMgY29uZmlndXJhdGlvbiBvcHRpb24gc2V0IHRvIGB0cnVlYCBpbiB0aGUgZ2xvYmFsIGNvbmZpZwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kYXRlLWZvcm1hdHMudHh0IGIvRG9jdW1lbnRhdGlvbi9kYXRlLWZvcm1hdHMudHh0CmluZGV4IGNjZDFmYzguLjM1ZThkYTIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZGF0ZS1mb3JtYXRzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2RhdGUtZm9ybWF0cy50eHQKQEAgLTEsNyArMSw3IEBACiBEQVRFIEZPUk1BVFMKIC0tLS0tLS0tLS0tLQogCi1UaGUgR0lUX0FVVEhPUl9EQVRFLCBHSVRfQ09NTUlUVEVSX0RBVEUgZW52aXJvbm1lbnQgdmFyaWFibGVzCitUaGUgYEdJVF9BVVRIT1JfREFURWAsIGBHSVRfQ09NTUlUVEVSX0RBVEVgIGVudmlyb25tZW50IHZhcmlhYmxlcwogaWZkZWY6OmdpdC1jb21taXRbXQogYW5kIHRoZSBgLS1kYXRlYCBvcHRpb24KIGVuZGlmOjpnaXQtY29tbWl0W10KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGlmZi1jb25maWcudHh0IGIvRG9jdW1lbnRhdGlvbi9kaWZmLWNvbmZpZy50eHQKaW5kZXggZDc4Y2ZjNS4uNThmNGJkNiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9kaWZmLWNvbmZpZy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9kaWZmLWNvbmZpZy50eHQKQEAgLTc1LDcgKzc1LDcgQEAKIAljb21tYW5kcyBzdWNoIGFzICdnaXQgZGlmZi1maWxlcycuICdnaXQgY2hlY2tvdXQnIGFsc28gaG9ub3JzCiAJdGhpcyBzZXR0aW5nIHdoZW4gcmVwb3J0aW5nIHVuY29tbWl0dGVkIGNoYW5nZXMuIFNldHRpbmcgaXQgdG8KIAknYWxsJyBkaXNhYmxlcyB0aGUgc3VibW9kdWxlIHN1bW1hcnkgbm9ybWFsbHkgc2hvd24gYnkgJ2dpdCBjb21taXQnCi0JYW5kICdnaXQgc3RhdHVzJyB3aGVuICdzdGF0dXMuc3VibW9kdWxlU3VtbWFyeScgaXMgc2V0IHVubGVzcyBpdCBpcworCWFuZCAnZ2l0IHN0YXR1cycgd2hlbiBgc3RhdHVzLnN1Ym1vZHVsZVN1bW1hcnlgIGlzIHNldCB1bmxlc3MgaXQgaXMKIAlvdmVycmlkZGVuIGJ5IHVzaW5nIHRoZSAtLWlnbm9yZS1zdWJtb2R1bGVzIGNvbW1hbmQtbGluZSBvcHRpb24uCiAJVGhlICdnaXQgc3VibW9kdWxlJyBjb21tYW5kcyBhcmUgbm90IGFmZmVjdGVkIGJ5IHRoaXMgc2V0dGluZy4KIApAQCAtMTA1LDcgKzEwNSw3IEBACiAKIGRpZmYucmVuYW1lTGltaXQ6OgogCVRoZSBudW1iZXIgb2YgZmlsZXMgdG8gY29uc2lkZXIgd2hlbiBwZXJmb3JtaW5nIHRoZSBjb3B5L3JlbmFtZQotCWRldGVjdGlvbjsgZXF1aXZhbGVudCB0byB0aGUgJ2dpdCBkaWZmJyBvcHRpb24gJy1sJy4KKwlkZXRlY3Rpb247IGVxdWl2YWxlbnQgdG8gdGhlICdnaXQgZGlmZicgb3B0aW9uIGAtbGAuCiAKIGRpZmYucmVuYW1lczo6CiAJV2hldGhlciBhbmQgaG93IEdpdCBkZXRlY3RzIHJlbmFtZXMuICBJZiBzZXQgdG8gImZhbHNlIiwKQEAgLTEyMiwxMCArMTIyLDExIEBACiAKIGRpZmYuc3VibW9kdWxlOjoKIAlTcGVjaWZ5IHRoZSBmb3JtYXQgaW4gd2hpY2ggZGlmZmVyZW5jZXMgaW4gc3VibW9kdWxlcyBhcmUKLQlzaG93bi4gIFRoZSAibG9nIiBmb3JtYXQgbGlzdHMgdGhlIGNvbW1pdHMgaW4gdGhlIHJhbmdlIGxpa2UKLQlsaW5rZ2l0OmdpdC1zdWJtb2R1bGVbMV0gYHN1bW1hcnlgIGRvZXMuICBUaGUgInNob3J0IiBmb3JtYXQKLQlmb3JtYXQganVzdCBzaG93cyB0aGUgbmFtZXMgb2YgdGhlIGNvbW1pdHMgYXQgdGhlIGJlZ2lubmluZwotCWFuZCBlbmQgb2YgdGhlIHJhbmdlLiAgRGVmYXVsdHMgdG8gc2hvcnQuCisJc2hvd24uICBUaGUgInNob3J0IiBmb3JtYXQganVzdCBzaG93cyB0aGUgbmFtZXMgb2YgdGhlIGNvbW1pdHMKKwlhdCB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgb2YgdGhlIHJhbmdlLiBUaGUgImxvZyIgZm9ybWF0IGxpc3RzCisJdGhlIGNvbW1pdHMgaW4gdGhlIHJhbmdlIGxpa2UgbGlua2dpdDpnaXQtc3VibW9kdWxlWzFdIGBzdW1tYXJ5YAorCWRvZXMuIFRoZSAiZGlmZiIgZm9ybWF0IHNob3dzIGFuIGlubGluZSBkaWZmIG9mIHRoZSBjaGFuZ2VkCisJY29udGVudHMgb2YgdGhlIHN1Ym1vZHVsZS4gRGVmYXVsdHMgdG8gInNob3J0Ii4KIAogZGlmZi53b3JkUmVnZXg6OgogCUEgUE9TSVggRXh0ZW5kZWQgUmVndWxhciBFeHByZXNzaW9uIHVzZWQgdG8gZGV0ZXJtaW5lIHdoYXQgaXMgYSAid29yZCIKQEAgLTE3MCwxMCArMTcxLDExIEBACiAKIGluY2x1ZGU6Om1lcmdldG9vbHMtZGlmZi50eHRbXQogCitkaWZmLmluZGVudEhldXJpc3RpYzo6CiBkaWZmLmNvbXBhY3Rpb25IZXVyaXN0aWM6OgotCVNldCB0aGlzIG9wdGlvbiB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFuIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWMgdGhhdAotCXNoaWZ0cyB0aGUgaHVuayBib3VuZGFyeSBpbiBhbiBhdHRlbXB0IHRvIG1ha2UgdGhlIHJlc3VsdGluZwotCXBhdGNoIGVhc2llciB0byByZWFkLgorCVNldCBvbmUgb2YgdGhlc2Ugb3B0aW9ucyB0byBgdHJ1ZWAgdG8gZW5hYmxlIG9uZSBvZiB0d28KKwlleHBlcmltZW50YWwgaGV1cmlzdGljcyB0aGF0IHNoaWZ0IGRpZmYgaHVuayBib3VuZGFyaWVzIHRvCisJbWFrZSBwYXRjaGVzIGVhc2llciB0byByZWFkLgogCiBkaWZmLmFsZ29yaXRobTo6CiAJQ2hvb3NlIGEgZGlmZiBhbGdvcml0aG0uICBUaGUgdmFyaWFudHMgYXJlIGFzIGZvbGxvd3M6CkBAIC0xOTEsMyArMTkzLDkgQEAKIAlsb3ctb2NjdXJyZW5jZSBjb21tb24gZWxlbWVudHMiLgogLS0KICsKKworZGlmZi53c0Vycm9ySGlnaGxpZ2h0OjoKKwlBIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGBvbGRgLCBgbmV3YCwgYGNvbnRleHRgLCB0aGF0CisJc3BlY2lmaWVzIGhvdyB3aGl0ZXNwYWNlIGVycm9ycyBvbiBsaW5lcyBhcmUgaGlnaGxpZ2h0ZWQKKwl3aXRoIGBjb2xvci5kaWZmLndoaXRlc3BhY2VgLiAgQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlCisJY29tbWFuZCBsaW5lIG9wdGlvbiBgLS13cy1lcnJvci1oaWdobGlnaHQ9PGtpbmQ+YApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kaWZmLWZvcm1hdC50eHQgYi9Eb2N1bWVudGF0aW9uL2RpZmYtZm9ybWF0LnR4dAppbmRleCA4NWIwODkwLi5jZjUyNjI2IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2RpZmYtZm9ybWF0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2RpZmYtZm9ybWF0LnR4dApAQCAtNDYsMTEgKzQ2LDExIEBACiAuIHNoYTEgZm9yICJkc3QiOyAwXHs0MFx9IGlmIGNyZWF0aW9uLCB1bm1lcmdlZCBvciAibG9vayBhdCB3b3JrIHRyZWUiLgogLiBhIHNwYWNlLgogLiBzdGF0dXMsIGZvbGxvd2VkIGJ5IG9wdGlvbmFsICJzY29yZSIgbnVtYmVyLgotLiBhIHRhYiBvciBhIE5VTCB3aGVuICcteicgb3B0aW9uIGlzIHVzZWQuCisuIGEgdGFiIG9yIGEgTlVMIHdoZW4gYC16YCBvcHRpb24gaXMgdXNlZC4KIC4gcGF0aCBmb3IgInNyYyIKLS4gYSB0YWIgb3IgYSBOVUwgd2hlbiAnLXonIG9wdGlvbiBpcyB1c2VkOyBvbmx5IGV4aXN0cyBmb3IgQyBvciBSLgorLiBhIHRhYiBvciBhIE5VTCB3aGVuIGAtemAgb3B0aW9uIGlzIHVzZWQ7IG9ubHkgZXhpc3RzIGZvciBDIG9yIFIuCiAuIHBhdGggZm9yICJkc3QiOyBvbmx5IGV4aXN0cyBmb3IgQyBvciBSLgotLiBhbiBMRiBvciBhIE5VTCB3aGVuICcteicgb3B0aW9uIGlzIHVzZWQsIHRvIHRlcm1pbmF0ZSB0aGUgcmVjb3JkLgorLiBhbiBMRiBvciBhIE5VTCB3aGVuIGAtemAgb3B0aW9uIGlzIHVzZWQsIHRvIHRlcm1pbmF0ZSB0aGUgcmVjb3JkLgogCiBQb3NzaWJsZSBzdGF0dXMgbGV0dGVycyBhcmU6CiAKQEAgLTg2LDcgKzg2LDcgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogImdpdC1kaWZmLXRyZWUiLCAiZ2l0LWRpZmYtZmlsZXMiIGFuZCAiZ2l0LWRpZmYgLS1yYXciCi1jYW4gdGFrZSAnLWMnIG9yICctLWNjJyBvcHRpb24KK2NhbiB0YWtlIGAtY2Agb3IgYC0tY2NgIG9wdGlvbgogdG8gZ2VuZXJhdGUgZGlmZiBvdXRwdXQgYWxzbyBmb3IgbWVyZ2UgY29tbWl0cy4gIFRoZSBvdXRwdXQgZGlmZmVycwogZnJvbSB0aGUgZm9ybWF0IGRlc2NyaWJlZCBhYm92ZSBpbiB0aGUgZm9sbG93aW5nIHdheToKIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kaWZmLWdlbmVyYXRlLXBhdGNoLnR4dCBiL0RvY3VtZW50YXRpb24vZGlmZi1nZW5lcmF0ZS1wYXRjaC50eHQKaW5kZXggYmNmNTRkYS4uZDJhN2ZmNSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9kaWZmLWdlbmVyYXRlLXBhdGNoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2RpZmYtZ2VuZXJhdGUtcGF0Y2gudHh0CkBAIC0yLDExICsyLDExIEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBXaGVuICJnaXQtZGlmZi1pbmRleCIsICJnaXQtZGlmZi10cmVlIiwgb3IgImdpdC1kaWZmLWZpbGVzIiBhcmUgcnVuCi13aXRoIGEgJy1wJyBvcHRpb24sICJnaXQgZGlmZiIgd2l0aG91dCB0aGUgJy0tcmF3JyBvcHRpb24sIG9yCit3aXRoIGEgYC1wYCBvcHRpb24sICJnaXQgZGlmZiIgd2l0aG91dCB0aGUgYC0tcmF3YCBvcHRpb24sIG9yCiAiZ2l0IGxvZyIgd2l0aCB0aGUgIi1wIiBvcHRpb24sIHRoZXkKIGRvIG5vdCBwcm9kdWNlIHRoZSBvdXRwdXQgZGVzY3JpYmVkIGFib3ZlOyBpbnN0ZWFkIHRoZXkgcHJvZHVjZSBhCiBwYXRjaCBmaWxlLiAgWW91IGNhbiBjdXN0b21pemUgdGhlIGNyZWF0aW9uIG9mIHN1Y2ggcGF0Y2hlcyB2aWEgdGhlCi1HSVRfRVhURVJOQUxfRElGRiBhbmQgdGhlIEdJVF9ESUZGX09QVFMgZW52aXJvbm1lbnQgdmFyaWFibGVzLgorYEdJVF9FWFRFUk5BTF9ESUZGYCBhbmQgdGhlIGBHSVRfRElGRl9PUFRTYCBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCiAKIFdoYXQgdGhlIC1wIG9wdGlvbiBwcm9kdWNlcyBpcyBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSB0aGUgdHJhZGl0aW9uYWwKIGRpZmYgZm9ybWF0OgpAQCAtMTE0LDExICsxMTQsMTEgQEAKIC0tLS0tLS0tLS0tLQogCiAxLiAgIEl0IGlzIHByZWNlZGVkIHdpdGggYSAiZ2l0IGRpZmYiIGhlYWRlciwgdGhhdCBsb29rcyBsaWtlCi0gICAgIHRoaXMgKHdoZW4gJy1jJyBvcHRpb24gaXMgdXNlZCk6CisgICAgIHRoaXMgKHdoZW4gYC1jYCBvcHRpb24gaXMgdXNlZCk6CiAKICAgICAgICBkaWZmIC0tY29tYmluZWQgZmlsZQogKwotb3IgbGlrZSB0aGlzICh3aGVuICctLWNjJyBvcHRpb24gaXMgdXNlZCk6CitvciBsaWtlIHRoaXMgKHdoZW4gYC0tY2NgIG9wdGlvbiBpcyB1c2VkKToKIAogICAgICAgIGRpZmYgLS1jYyBmaWxlCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGlmZi1oZXVyaXN0aWMtb3B0aW9ucy50eHQgYi9Eb2N1bWVudGF0aW9uL2RpZmYtaGV1cmlzdGljLW9wdGlvbnMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2Y2I1NDkKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2RpZmYtaGV1cmlzdGljLW9wdGlvbnMudHh0CkBAIC0wLDAgKzEsNyBAQAorLS1pbmRlbnQtaGV1cmlzdGljOjoKKy0tbm8taW5kZW50LWhldXJpc3RpYzo6CistLWNvbXBhY3Rpb24taGV1cmlzdGljOjoKKy0tbm8tY29tcGFjdGlvbi1oZXVyaXN0aWM6OgorCVRoZXNlIGFyZSB0byBoZWxwIGRlYnVnZ2luZyBhbmQgdHVuaW5nIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWNzCisJKHdoaWNoIGFyZSBvZmYgYnkgZGVmYXVsdCkgdGhhdCBzaGlmdCBkaWZmIGh1bmsgYm91bmRhcmllcyB0bworCW1ha2UgcGF0Y2hlcyBlYXNpZXIgdG8gcmVhZC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGlmZi1vcHRpb25zLnR4dCBiL0RvY3VtZW50YXRpb24vZGlmZi1vcHRpb25zLnR4dAppbmRleCBkOWFlNjgxLi5lNjIxNWMzIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2RpZmYtb3B0aW9ucy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9kaWZmLW9wdGlvbnMudHh0CkBAIC02MywxMiArNjMsNyBAQAogCVN5bm9ueW0gZm9yIGAtcCAtLXJhd2AuCiBlbmRpZjo6Z2l0LWZvcm1hdC1wYXRjaFtdCiAKLS0tY29tcGFjdGlvbi1oZXVyaXN0aWM6OgotLS1uby1jb21wYWN0aW9uLWhldXJpc3RpYzo6Ci0JVGhlc2UgYXJlIHRvIGhlbHAgZGVidWdnaW5nIGFuZCB0dW5pbmcgYW4gZXhwZXJpbWVudGFsCi0JaGV1cmlzdGljICh3aGljaCBpcyBvZmYgYnkgZGVmYXVsdCkgdGhhdCBzaGlmdHMgdGhlIGh1bmsKLQlib3VuZGFyeSBpbiBhbiBhdHRlbXB0IHRvIG1ha2UgdGhlIHJlc3VsdGluZyBwYXRjaCBlYXNpZXIKLQl0byByZWFkLgoraW5jbHVkZTo6ZGlmZi1oZXVyaXN0aWMtb3B0aW9ucy50eHRbXQogCiAtLW1pbmltYWw6OgogCVNwZW5kIGV4dHJhIHRpbWUgdG8gbWFrZSBzdXJlIHRoZSBzbWFsbGVzdCBwb3NzaWJsZQpAQCAtMjEwLDEzICsyMDUsMTYgQEAKIAlvZiB0aGUgYC0tZGlmZi1maWx0ZXJgIG9wdGlvbiBvbiB3aGF0IHRoZSBzdGF0dXMgbGV0dGVycyBtZWFuLgogCiAtLXN1Ym1vZHVsZVs9PGZvcm1hdD5dOjoKLQlTcGVjaWZ5IGhvdyBkaWZmZXJlbmNlcyBpbiBzdWJtb2R1bGVzIGFyZSBzaG93bi4gIFdoZW4gYC0tc3VibW9kdWxlYAotCW9yIGAtLXN1Ym1vZHVsZT1sb2dgIGlzIGdpdmVuLCB0aGUgJ2xvZycgZm9ybWF0IGlzIHVzZWQuICBUaGlzIGZvcm1hdCBsaXN0cwotCXRoZSBjb21taXRzIGluIHRoZSByYW5nZSBsaWtlIGxpbmtnaXQ6Z2l0LXN1Ym1vZHVsZVsxXSBgc3VtbWFyeWAgZG9lcy4KLQlPbWl0dGluZyB0aGUgYC0tc3VibW9kdWxlYCBvcHRpb24gb3Igc3BlY2lmeWluZyBgLS1zdWJtb2R1bGU9c2hvcnRgLAotCXVzZXMgdGhlICdzaG9ydCcgZm9ybWF0LiBUaGlzIGZvcm1hdCBqdXN0IHNob3dzIHRoZSBuYW1lcyBvZiB0aGUgY29tbWl0cwotCWF0IHRoZSBiZWdpbm5pbmcgYW5kIGVuZCBvZiB0aGUgcmFuZ2UuICBDYW4gYmUgdHdlYWtlZCB2aWEgdGhlCi0JYGRpZmYuc3VibW9kdWxlYCBjb25maWd1cmF0aW9uIHZhcmlhYmxlLgorCVNwZWNpZnkgaG93IGRpZmZlcmVuY2VzIGluIHN1Ym1vZHVsZXMgYXJlIHNob3duLiAgV2hlbiBzcGVjaWZ5aW5nCisJYC0tc3VibW9kdWxlPXNob3J0YCB0aGUgJ3Nob3J0JyBmb3JtYXQgaXMgdXNlZC4gIFRoaXMgZm9ybWF0IGp1c3QKKwlzaG93cyB0aGUgbmFtZXMgb2YgdGhlIGNvbW1pdHMgYXQgdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9mIHRoZSByYW5nZS4KKwlXaGVuIGAtLXN1Ym1vZHVsZWAgb3IgYC0tc3VibW9kdWxlPWxvZ2AgaXMgc3BlY2lmaWVkLCB0aGUgJ2xvZycKKwlmb3JtYXQgaXMgdXNlZC4gIFRoaXMgZm9ybWF0IGxpc3RzIHRoZSBjb21taXRzIGluIHRoZSByYW5nZSBsaWtlCisJbGlua2dpdDpnaXQtc3VibW9kdWxlWzFdIGBzdW1tYXJ5YCBkb2VzLiAgV2hlbiBgLS1zdWJtb2R1bGU9ZGlmZmAKKwlpcyBzcGVjaWZpZWQsIHRoZSAnZGlmZicgZm9ybWF0IGlzIHVzZWQuICBUaGlzIGZvcm1hdCBzaG93cyBhbgorCWlubGluZSBkaWZmIG9mIHRoZSBjaGFuZ2VzIGluIHRoZSBzdWJtb2R1bGUgY29udGVudHMgYmV0d2VlbiB0aGUKKwljb21taXQgcmFuZ2UuICBEZWZhdWx0cyB0byBgZGlmZi5zdWJtb2R1bGVgIG9yIHRoZSAnc2hvcnQnIGZvcm1hdAorCWlmIHRoZSBjb25maWcgb3B0aW9uIGlzIHVuc2V0LgogCiAtLWNvbG9yWz08d2hlbj5dOjoKIAlTaG93IGNvbG9yZWQgZGlmZi4KQEAgLTMxMCw2ICszMDgsOCBAQAogCWxpbmVzIGFyZSBoaWdobGlnaHRlZC4gIEUuZy4gYC0td3MtZXJyb3ItaGlnaGxpZ2h0PW5ldyxvbGRgCiAJaGlnaGxpZ2h0cyB3aGl0ZXNwYWNlIGVycm9ycyBvbiBib3RoIGRlbGV0ZWQgYW5kIGFkZGVkIGxpbmVzLgogCWBhbGxgIGNhbiBiZSB1c2VkIGFzIGEgc2hvcnQtaGFuZCBmb3IgYG9sZCxuZXcsY29udGV4dGAuCisJVGhlIGBkaWZmLndzRXJyb3JIaWdobGlnaHRgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgY2FuIGJlCisJdXNlZCB0byBzcGVjaWZ5IHRoZSBkZWZhdWx0IGJlaGF2aW91ci4KIAogZW5kaWY6OmdpdC1mb3JtYXQtcGF0Y2hbXQogCkBAIC00MTksNiArNDE5LDkgQEAKIAlwYXRocyBhcmUgc2VsZWN0ZWQgaWYgdGhlcmUgaXMgYW55IGZpbGUgdGhhdCBtYXRjaGVzCiAJb3RoZXIgY3JpdGVyaWEgaW4gdGhlIGNvbXBhcmlzb247IGlmIHRoZXJlIGlzIG5vIGZpbGUKIAl0aGF0IG1hdGNoZXMgb3RoZXIgY3JpdGVyaWEsIG5vdGhpbmcgaXMgc2VsZWN0ZWQuCisrCitBbHNvLCB0aGVzZSB1cHBlci1jYXNlIGxldHRlcnMgY2FuIGJlIGRvd25jYXNlZCB0byBleGNsdWRlLiAgRS5nLgorYC0tZGlmZi1maWx0ZXI9YWRgIGV4Y2x1ZGVzIGFkZGVkIGFuZCBkZWxldGVkIHBhdGhzLgogCiAtUzxzdHJpbmc+OjoKIAlMb29rIGZvciBkaWZmZXJlbmNlcyB0aGF0IGNoYW5nZSB0aGUgbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mCkBAIC01NjYsNSArNTY5LDE2IEBACiAtLW5vLXByZWZpeDo6CiAJRG8gbm90IHNob3cgYW55IHNvdXJjZSBvciBkZXN0aW5hdGlvbiBwcmVmaXguCiAKKy0tbGluZS1wcmVmaXg9PHByZWZpeD46OgorCVByZXBlbmQgYW4gYWRkaXRpb25hbCBwcmVmaXggdG8gZXZlcnkgbGluZSBvZiBvdXRwdXQuCisKKy0taXRhLWludmlzaWJsZS1pbi1pbmRleDo6CisJQnkgZGVmYXVsdCBlbnRyaWVzIGFkZGVkIGJ5ICJnaXQgYWRkIC1OIiBhcHBlYXIgYXMgYW4gZXhpc3RpbmcKKwllbXB0eSBmaWxlIGluICJnaXQgZGlmZiIgYW5kIGEgbmV3IGZpbGUgaW4gImdpdCBkaWZmIC0tY2FjaGVkIi4KKwlUaGlzIG9wdGlvbiBtYWtlcyB0aGUgZW50cnkgYXBwZWFyIGFzIGEgbmV3IGZpbGUgaW4gImdpdCBkaWZmIgorCWFuZCBub24tZXhpc3RlbnQgaW4gImdpdCBkaWZmIC0tY2FjaGVkIi4gVGhpcyBvcHRpb24gY291bGQgYmUKKwlyZXZlcnRlZCB3aXRoIGAtLWl0YS12aXNpYmxlLWluLWluZGV4YC4gQm90aCBvcHRpb25zIGFyZQorCWV4cGVyaW1lbnRhbCBhbmQgY291bGQgYmUgcmVtb3ZlZCBpbiBmdXR1cmUuCisKIEZvciBtb3JlIGRldGFpbGVkIGV4cGxhbmF0aW9uIG9uIHRoZXNlIGNvbW1vbiBvcHRpb25zLCBzZWUgYWxzbwogbGlua2dpdDpnaXRkaWZmY29yZVs3XS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZmV0Y2gtb3B0aW9ucy50eHQgYi9Eb2N1bWVudGF0aW9uL2ZldGNoLW9wdGlvbnMudHh0CmluZGV4IDAzNmVkZmIuLmZiNmJlYmIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZmV0Y2gtb3B0aW9ucy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9mZXRjaC1vcHRpb25zLnR4dApAQCAtMTQsNiArMTQsMjAgQEAKIAlsaW5rZ2l0OmdpdC1jbG9uZVsxXSksIGRlZXBlbiBvciBzaG9ydGVuIHRoZSBoaXN0b3J5IHRvIHRoZSBzcGVjaWZpZWQKIAludW1iZXIgb2YgY29tbWl0cy4gVGFncyBmb3IgdGhlIGRlZXBlbmVkIGNvbW1pdHMgYXJlIG5vdCBmZXRjaGVkLgogCistLWRlZXBlbj08ZGVwdGg+OjoKKwlTaW1pbGFyIHRvIC0tZGVwdGgsIGV4Y2VwdCBpdCBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiBjb21taXRzCisJZnJvbSB0aGUgY3VycmVudCBzaGFsbG93IGJvdW5kYXJ5IGluc3RlYWQgb2YgZnJvbSB0aGUgdGlwIG9mCisJZWFjaCByZW1vdGUgYnJhbmNoIGhpc3RvcnkuCisKKy0tc2hhbGxvdy1zaW5jZT08ZGF0ZT46OgorCURlZXBlbiBvciBzaG9ydGVuIHRoZSBoaXN0b3J5IG9mIGEgc2hhbGxvdyByZXBvc2l0b3J5IHRvCisJaW5jbHVkZSBhbGwgcmVhY2hhYmxlIGNvbW1pdHMgYWZ0ZXIgPGRhdGU+LgorCistLXNoYWxsb3ctZXhjbHVkZT08cmV2aXNpb24+OjoKKwlEZWVwZW4gb3Igc2hvcnRlbiB0aGUgaGlzdG9yeSBvZiBhIHNoYWxsb3cgcmVwb3NpdG9yeSB0bworCWV4Y2x1ZGUgY29tbWl0cyByZWFjaGFibGUgZnJvbSBhIHNwZWNpZmllZCByZW1vdGUgYnJhbmNoIG9yIHRhZy4KKwlUaGlzIG9wdGlvbiBjYW4gYmUgc3BlY2lmaWVkIG11bHRpcGxlIHRpbWVzLgorCiAtLXVuc2hhbGxvdzo6CiAJSWYgdGhlIHNvdXJjZSByZXBvc2l0b3J5IGlzIGNvbXBsZXRlLCBjb252ZXJ0IGEgc2hhbGxvdwogCXJlcG9zaXRvcnkgdG8gYSBjb21wbGV0ZSBvbmUsIHJlbW92aW5nIGFsbCB0aGUgbGltaXRhdGlvbnMKQEAgLTUyLDcgKzY2LDcgQEAKIAogLXA6OgogLS1wcnVuZTo6Ci0JQWZ0ZXIgZmV0Y2hpbmcsIHJlbW92ZSBhbnkgcmVtb3RlLXRyYWNraW5nIHJlZmVyZW5jZXMgdGhhdCBubworCUJlZm9yZSBmZXRjaGluZywgcmVtb3ZlIGFueSByZW1vdGUtdHJhY2tpbmcgcmVmZXJlbmNlcyB0aGF0IG5vCiAJbG9uZ2VyIGV4aXN0IG9uIHRoZSByZW1vdGUuICBUYWdzIGFyZSBub3Qgc3ViamVjdCB0byBwcnVuaW5nCiAJaWYgdGhleSBhcmUgZmV0Y2hlZCBvbmx5IGJlY2F1c2Ugb2YgdGhlIGRlZmF1bHQgdGFnCiAJYXV0by1mb2xsb3dpbmcgb3IgZHVlIHRvIGEgLS10YWdzIG9wdGlvbi4gIEhvd2V2ZXIsIGlmIHRhZ3MKQEAgLTg4LDcgKzEwMiw3IEBACiAJdG8gd2hhdGV2ZXIgZWxzZSB3b3VsZCBvdGhlcndpc2UgYmUgZmV0Y2hlZC4gIFVzaW5nIHRoaXMKIAlvcHRpb24gYWxvbmUgZG9lcyBub3Qgc3ViamVjdCB0YWdzIHRvIHBydW5pbmcsIGV2ZW4gaWYgLS1wcnVuZQogCWlzIHVzZWQgKHRob3VnaCB0YWdzIG1heSBiZSBwcnVuZWQgYW55d2F5IGlmIHRoZXkgYXJlIGFsc28gdGhlCi0JZGVzdGluYXRpb24gb2YgYW4gZXhwbGljaXQgcmVmc3BlYzsgc2VlICctLXBydW5lJykuCisJZGVzdGluYXRpb24gb2YgYW4gZXhwbGljaXQgcmVmc3BlYzsgc2VlIGAtLXBydW5lYCkuCiAKIC0tcmVjdXJzZS1zdWJtb2R1bGVzWz15ZXN8b24tZGVtYW5kfG5vXTo6CiAJVGhpcyBvcHRpb24gY29udHJvbHMgaWYgYW5kIHVuZGVyIHdoYXQgY29uZGl0aW9ucyBuZXcgY29tbWl0cyBvZgpAQCAtMTEwLDcgKzEyNCw3IEBACiAKIC0tbm8tcmVjdXJzZS1zdWJtb2R1bGVzOjoKIAlEaXNhYmxlIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzICh0aGlzIGhhcyB0aGUgc2FtZSBlZmZlY3QgYXMKLQl1c2luZyB0aGUgJy0tcmVjdXJzZS1zdWJtb2R1bGVzPW5vJyBvcHRpb24pLgorCXVzaW5nIHRoZSBgLS1yZWN1cnNlLXN1Ym1vZHVsZXM9bm9gIG9wdGlvbikuCiAKIC0tc3VibW9kdWxlLXByZWZpeD08cGF0aD46OgogCVByZXBlbmQgPHBhdGg+IHRvIHBhdGhzIHByaW50ZWQgaW4gaW5mb3JtYXRpdmUgbWVzc2FnZXMKQEAgLTEzNyw3ICsxNTEsNyBAQAogCiAtLXVwbG9hZC1wYWNrIDx1cGxvYWQtcGFjaz46OgogCVdoZW4gZ2l2ZW4sIGFuZCB0aGUgcmVwb3NpdG9yeSB0byBmZXRjaCBmcm9tIGlzIGhhbmRsZWQKLQlieSAnZ2l0IGZldGNoLXBhY2snLCAnLS1leGVjPTx1cGxvYWQtcGFjaz4nIGlzIHBhc3NlZCB0bworCWJ5ICdnaXQgZmV0Y2gtcGFjaycsIGAtLWV4ZWM9PHVwbG9hZC1wYWNrPmAgaXMgcGFzc2VkIHRvCiAJdGhlIGNvbW1hbmQgdG8gc3BlY2lmeSBub24tZGVmYXVsdCBwYXRoIGZvciB0aGUgY29tbWFuZAogCXJ1biBvbiB0aGUgb3RoZXIgZW5kLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1hZGQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtYWRkLnR4dAppbmRleCA2YTk2YTY2Li43ZWQ2M2RjIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1hZGQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWFkZC50eHQKQEAgLTExLDcgKzExLDcgQEAKICdnaXQgYWRkJyBbLS12ZXJib3NlIHwgLXZdIFstLWRyeS1ydW4gfCAtbl0gWy0tZm9yY2UgfCAtZl0gWy0taW50ZXJhY3RpdmUgfCAtaV0gWy0tcGF0Y2ggfCAtcF0KIAkgIFstLWVkaXQgfCAtZV0gWy0tW25vLV1hbGwgfCAtLVtuby1daWdub3JlLXJlbW92YWwgfCBbLS11cGRhdGUgfCAtdV1dCiAJICBbLS1pbnRlbnQtdG8tYWRkIHwgLU5dIFstLXJlZnJlc2hdIFstLWlnbm9yZS1lcnJvcnNdIFstLWlnbm9yZS1taXNzaW5nXQotCSAgWy0tXSBbPHBhdGhzcGVjPi4uLl0KKwkgIFstLWNobW9kPSgrfC0peF0gWy0tXSBbPHBhdGhzcGVjPi4uLl0KIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCkBAIC0xNjUsNiArMTY1LDExIEBACiAJYmUgaWdub3JlZCwgbm8gbWF0dGVyIGlmIHRoZXkgYXJlIGFscmVhZHkgcHJlc2VudCBpbiB0aGUgd29yawogCXRyZWUgb3Igbm90LgogCistLWNobW9kPSgrfC0peDo6CisJT3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBhZGRlZCBmaWxlcy4gIFRoZSBleGVjdXRhYmxlCisJYml0IGlzIG9ubHkgY2hhbmdlZCBpbiB0aGUgaW5kZXgsIHRoZSBmaWxlcyBvbiBkaXNrIGFyZSBsZWZ0CisJdW5jaGFuZ2VkLgorCiBcLS06OgogCVRoaXMgb3B0aW9uIGNhbiBiZSB1c2VkIHRvIHNlcGFyYXRlIGNvbW1hbmQtbGluZSBvcHRpb25zIGZyb20KIAl0aGUgbGlzdCBvZiBmaWxlcywgKHVzZWZ1bCB3aGVuIGZpbGVuYW1lcyBtaWdodCBiZSBtaXN0YWtlbgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtYW0udHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtYW0udHh0CmluZGV4IDEzY2RkN2YuLjEyODc5ZTQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWFtLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1hbS50eHQKQEAgLTExNiw3ICsxMTYsOCBAQAogCUJ5IGRlZmF1bHQgdGhlIGNvbW1hbmQgd2lsbCB0cnkgdG8gZGV0ZWN0IHRoZSBwYXRjaCBmb3JtYXQKIAlhdXRvbWF0aWNhbGx5LiBUaGlzIG9wdGlvbiBhbGxvd3MgdGhlIHVzZXIgdG8gYnlwYXNzIHRoZSBhdXRvbWF0aWMKIAlkZXRlY3Rpb24gYW5kIHNwZWNpZnkgdGhlIHBhdGNoIGZvcm1hdCB0aGF0IHRoZSBwYXRjaChlcykgc2hvdWxkIGJlCi0JaW50ZXJwcmV0ZWQgYXMuIFZhbGlkIGZvcm1hdHMgYXJlIG1ib3gsIHN0Z2l0LCBzdGdpdC1zZXJpZXMgYW5kIGhnLgorCWludGVycHJldGVkIGFzLiBWYWxpZCBmb3JtYXRzIGFyZSBtYm94LCBtYm94cmQsCisJc3RnaXQsIHN0Z2l0LXNlcmllcyBhbmQgaGcuCiAKIC1pOjoKIC0taW50ZXJhY3RpdmU6OgpAQCAtMTk4LDEyICsxOTksMTIgQEAKIHRvIHByb2Nlc3MuICBVcG9uIHNlZWluZyB0aGUgZmlyc3QgcGF0Y2ggdGhhdCBkb2VzIG5vdCBhcHBseSwgaXQKIGFib3J0cyBpbiB0aGUgbWlkZGxlLiAgWW91IGNhbiByZWNvdmVyIGZyb20gdGhpcyBpbiBvbmUgb2YgdHdvIHdheXM6CiAKLS4gc2tpcCB0aGUgY3VycmVudCBwYXRjaCBieSByZS1ydW5uaW5nIHRoZSBjb21tYW5kIHdpdGggdGhlICctLXNraXAnCisuIHNraXAgdGhlIGN1cnJlbnQgcGF0Y2ggYnkgcmUtcnVubmluZyB0aGUgY29tbWFuZCB3aXRoIHRoZSBgLS1za2lwYAogICBvcHRpb24uCiAKIC4gaGFuZCByZXNvbHZlIHRoZSBjb25mbGljdCBpbiB0aGUgd29ya2luZyBkaXJlY3RvcnksIGFuZCB1cGRhdGUKICAgdGhlIGluZGV4IGZpbGUgdG8gYnJpbmcgaXQgaW50byBhIHN0YXRlIHRoYXQgdGhlIHBhdGNoIHNob3VsZAotICBoYXZlIHByb2R1Y2VkLiAgVGhlbiBydW4gdGhlIGNvbW1hbmQgd2l0aCB0aGUgJy0tY29udGludWUnIG9wdGlvbi4KKyAgaGF2ZSBwcm9kdWNlZC4gIFRoZW4gcnVuIHRoZSBjb21tYW5kIHdpdGggdGhlIGAtLWNvbnRpbnVlYCBvcHRpb24uCiAKIFRoZSBjb21tYW5kIHJlZnVzZXMgdG8gcHJvY2VzcyBuZXcgbWFpbGJveGVzIHVudGlsIHRoZSBjdXJyZW50CiBvcGVyYXRpb24gaXMgZmluaXNoZWQsIHNvIGlmIHlvdSBkZWNpZGUgdG8gc3RhcnQgb3ZlciBmcm9tIHNjcmF0Y2gsCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1hbm5vdGF0ZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1hbm5vdGF0ZS50eHQKaW5kZXggMDVmZDQ4Mi4uOTRiZTRiOCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtYW5ub3RhdGUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWFubm90YXRlLnR4dApAQCAtMjMsNiArMjMsNyBAQAogT1BUSU9OUwogLS0tLS0tLQogaW5jbHVkZTo6YmxhbWUtb3B0aW9ucy50eHRbXQoraW5jbHVkZTo6ZGlmZi1oZXVyaXN0aWMtb3B0aW9ucy50eHRbXQogCiBTRUUgQUxTTwogLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWJpc2VjdC1sazIwMDkudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtYmlzZWN0LWxrMjAwOS50eHQKaW5kZXggYzA2ZWZiZC4uZTAxNWY1YiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtYmlzZWN0LWxrMjAwOS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtYmlzZWN0LWxrMjAwOS50eHQKQEAgLTM2Niw3ICszNjYsNyBAQAogCiBPciBpZiB5b3Ugd2FudCBtb3JlIGNvbnRyb2wsIHlvdSBjYW4gaW5zcGVjdCB0aGUgY3VycmVudCBzdGF0ZSB1c2luZwogZm9yIGV4YW1wbGUgImdpdCBiaXNlY3QgdmlzdWFsaXplIi4gSXQgd2lsbCBsYXVuY2ggZ2l0ayAob3IgImdpdCBsb2ciCi1pZiB0aGUgRElTUExBWSBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0KSB0byBoZWxwIHlvdSBmaW5kIGEKK2lmIHRoZSBgRElTUExBWWAgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IHNldCkgdG8gaGVscCB5b3UgZmluZCBhCiBiZXR0ZXIgYmlzZWN0aW9uIHBvaW50LgogCiBFaXRoZXIgd2F5LCBpZiB5b3UgaGF2ZSBhIHN0cmluZyBvZiB1bnRlc3RhYmxlIGNvbW1pdHMsIGl0IG1pZ2h0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1iaXNlY3QudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtYmlzZWN0LnR4dAppbmRleCA3ZTc5YWFlLi4yYmI5YTU3IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1iaXNlY3QudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWJpc2VjdC50eHQKQEAgLTIwNSw3ICsyMDUsNyBAQAogCiBgdmlld2AgbWF5IGFsc28gYmUgdXNlZCBhcyBhIHN5bm9ueW0gZm9yIGB2aXN1YWxpemVgLgogCi1JZiB0aGUgJ0RJU1BMQVknIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQsICdnaXQgbG9nJyBpcyB1c2VkCitJZiB0aGUgYERJU1BMQVlgIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQsICdnaXQgbG9nJyBpcyB1c2VkCiBpbnN0ZWFkLiAgWW91IGNhbiBhbHNvIGdpdmUgY29tbWFuZC1saW5lIG9wdGlvbnMgc3VjaCBhcyBgLXBgIGFuZAogYC0tc3RhdGAuCiAKQEAgLTM1OCw3ICszNTgsNyBAQAogLS1uby1jaGVja291dDo6CiArCiBEbyBub3QgY2hlY2tvdXQgdGhlIG5ldyB3b3JraW5nIHRyZWUgYXQgZWFjaCBpdGVyYXRpb24gb2YgdGhlIGJpc2VjdGlvbgotcHJvY2Vzcy4gSW5zdGVhZCBqdXN0IHVwZGF0ZSBhIHNwZWNpYWwgcmVmZXJlbmNlIG5hbWVkICdCSVNFQ1RfSEVBRCcgdG8gbWFrZQorcHJvY2Vzcy4gSW5zdGVhZCBqdXN0IHVwZGF0ZSBhIHNwZWNpYWwgcmVmZXJlbmNlIG5hbWVkIGBCSVNFQ1RfSEVBRGAgdG8gbWFrZQogaXQgcG9pbnQgdG8gdGhlIGNvbW1pdCB0aGF0IHNob3VsZCBiZSB0ZXN0ZWQuCiArCiBUaGlzIG9wdGlvbiBtYXkgYmUgdXNlZnVsIHdoZW4gdGhlIHRlc3QgeW91IHdvdWxkIHBlcmZvcm0gaW4gZWFjaCBzdGVwCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1ibGFtZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1ibGFtZS50eHQKaW5kZXggYmE1NDE3NS4uZmRjM2FlYSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtYmxhbWUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWJsYW1lLnR4dApAQCAtMTAsNyArMTAsNyBAQAogW3ZlcnNlXQogJ2dpdCBibGFtZScgWy1jXSBbLWJdIFstbF0gWy0tcm9vdF0gWy10XSBbLWZdIFstbl0gWy1zXSBbLWVdIFstcF0gWy13XSBbLS1pbmNyZW1lbnRhbF0KIAkgICAgWy1MIDxyYW5nZT5dIFstUyA8cmV2cy1maWxlPl0gWy1NXSBbLUNdIFstQ10gWy1DXSBbLS1zaW5jZT08ZGF0ZT5dCi0JICAgIFstLXByb2dyZXNzXSBbLS1hYmJyZXY9PG4+XSBbPHJldj4gfCAtLWNvbnRlbnRzIDxmaWxlPiB8IC0tcmV2ZXJzZSA8cmV2Pl0KKwkgICAgWy0tcHJvZ3Jlc3NdIFstLWFiYnJldj08bj5dIFs8cmV2PiB8IC0tY29udGVudHMgPGZpbGU+IHwgLS1yZXZlcnNlIDxyZXY+Li48cmV2Pl0KIAkgICAgWy0tXSA8ZmlsZT4KIAogREVTQ1JJUFRJT04KQEAgLTg5LDYgKzg5LDggQEAKIAlhYmJyZXZpYXRlZCBvYmplY3QgbmFtZSwgdXNlIDxuPisxIGRpZ2l0cy4gTm90ZSB0aGF0IDEgY29sdW1uCiAJaXMgdXNlZCBmb3IgYSBjYXJldCB0byBtYXJrIHRoZSBib3VuZGFyeSBjb21taXQuCiAKK2luY2x1ZGU6OmRpZmYtaGV1cmlzdGljLW9wdGlvbnMudHh0W10KKwogCiBUSEUgUE9SQ0VMQUlOIEZPUk1BVAogLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWJyYW5jaC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1icmFuY2gudHh0CmluZGV4IDRhNzAzN2YuLjFmZTczNDQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWJyYW5jaC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtYnJhbmNoLnR4dApAQCAtMzksMTAgKzM5LDEwIEBACiBjb21taXQgKGkuZS4gdGhlIGJyYW5jaGVzIHdob3NlIHRpcCBjb21taXRzIGFyZSByZWFjaGFibGUgZnJvbSB0aGUgbmFtZWQKIGNvbW1pdCkgd2lsbCBiZSBsaXN0ZWQuICBXaXRoIGAtLW5vLW1lcmdlZGAgb25seSBicmFuY2hlcyBub3QgbWVyZ2VkIGludG8KIHRoZSBuYW1lZCBjb21taXQgd2lsbCBiZSBsaXN0ZWQuICBJZiB0aGUgPGNvbW1pdD4gYXJndW1lbnQgaXMgbWlzc2luZyBpdAotZGVmYXVsdHMgdG8gJ0hFQUQnIChpLmUuIHRoZSB0aXAgb2YgdGhlIGN1cnJlbnQgYnJhbmNoKS4KK2RlZmF1bHRzIHRvIGBIRUFEYCAoaS5lLiB0aGUgdGlwIG9mIHRoZSBjdXJyZW50IGJyYW5jaCkuCiAKIFRoZSBjb21tYW5kJ3Mgc2Vjb25kIGZvcm0gY3JlYXRlcyBhIG5ldyBicmFuY2ggaGVhZCBuYW1lZCA8YnJhbmNobmFtZT4KLXdoaWNoIHBvaW50cyB0byB0aGUgY3VycmVudCAnSEVBRCcsIG9yIDxzdGFydC1wb2ludD4gaWYgZ2l2ZW4uCit3aGljaCBwb2ludHMgdG8gdGhlIGN1cnJlbnQgYEhFQURgLCBvciA8c3RhcnQtcG9pbnQ+IGlmIGdpdmVuLgogCiBOb3RlIHRoYXQgdGhpcyB3aWxsIGNyZWF0ZSB0aGUgbmV3IGJyYW5jaCwgYnV0IGl0IHdpbGwgbm90IHN3aXRjaCB0aGUKIHdvcmtpbmcgdHJlZSB0byBpdDsgdXNlICJnaXQgY2hlY2tvdXQgPG5ld2JyYW5jaD4iIHRvIHN3aXRjaCB0byB0aGUKQEAgLTE3Miw3ICsxNzIsNyBAQAogKwogVGhpcyBiZWhhdmlvciBpcyB0aGUgZGVmYXVsdCB3aGVuIHRoZSBzdGFydCBwb2ludCBpcyBhIHJlbW90ZS10cmFja2luZyBicmFuY2guCiBTZXQgdGhlIGJyYW5jaC5hdXRvU2V0dXBNZXJnZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHRvIGBmYWxzZWAgaWYgeW91Ci13YW50IGBnaXQgY2hlY2tvdXRgIGFuZCBgZ2l0IGJyYW5jaGAgdG8gYWx3YXlzIGJlaGF2ZSBhcyBpZiAnLS1uby10cmFjaycKK3dhbnQgYGdpdCBjaGVja291dGAgYW5kIGBnaXQgYnJhbmNoYCB0byBhbHdheXMgYmVoYXZlIGFzIGlmIGAtLW5vLXRyYWNrYAogd2VyZSBnaXZlbi4gU2V0IGl0IHRvIGBhbHdheXNgIGlmIHlvdSB3YW50IHRoaXMgYmVoYXZpb3Igd2hlbiB0aGUKIHN0YXJ0LXBvaW50IGlzIGVpdGhlciBhIGxvY2FsIG9yIHJlbW90ZS10cmFja2luZyBicmFuY2guCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNhdC1maWxlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNhdC1maWxlLnR4dAppbmRleCBlYjNkNjk0Li4yMDQ1NDFjIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jYXQtZmlsZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY2F0LWZpbGUudHh0CkBAIC05LDE4ICs5LDIyIEBACiBTWU5PUFNJUwogLS0tLS0tLS0KIFt2ZXJzZV0KLSdnaXQgY2F0LWZpbGUnICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdfCAtZSB8IC1wIHwgPHR5cGU+IHwgLS10ZXh0Y29udiApIDxvYmplY3Q+Ci0nZ2l0IGNhdC1maWxlJyAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10KKydnaXQgY2F0LWZpbGUnICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdfCAtZSB8IC1wIHwgPHR5cGU+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycyApIFstLXBhdGg9PHBhdGg+XSA8b2JqZWN0PgorJ2dpdCBjYXQtZmlsZScgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbIC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMgXSBbLS1mb2xsb3ctc3ltbGlua3NdCiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQogSW4gaXRzIGZpcnN0IGZvcm0sIHRoZSBjb21tYW5kIHByb3ZpZGVzIHRoZSBjb250ZW50IG9yIHRoZSB0eXBlIG9mIGFuIG9iamVjdCBpbgotdGhlIHJlcG9zaXRvcnkuIFRoZSB0eXBlIGlzIHJlcXVpcmVkIHVubGVzcyAnLXQnIG9yICctcCcgaXMgdXNlZCB0byBmaW5kIHRoZQotb2JqZWN0IHR5cGUsIG9yICctcycgaXMgdXNlZCB0byBmaW5kIHRoZSBvYmplY3Qgc2l6ZSwgb3IgJy0tdGV4dGNvbnYnIGlzIHVzZWQKLSh3aGljaCBpbXBsaWVzIHR5cGUgImJsb2IiKS4KK3RoZSByZXBvc2l0b3J5LiBUaGUgdHlwZSBpcyByZXF1aXJlZCB1bmxlc3MgYC10YCBvciBgLXBgIGlzIHVzZWQgdG8gZmluZCB0aGUKK29iamVjdCB0eXBlLCBvciBgLXNgIGlzIHVzZWQgdG8gZmluZCB0aGUgb2JqZWN0IHNpemUsIG9yIGAtLXRleHRjb252YCBvcgorYC0tZmlsdGVyc2AgaXMgdXNlZCAod2hpY2ggaW1wbHkgdHlwZSAiYmxvYiIpLgogCiBJbiB0aGUgc2Vjb25kIGZvcm0sIGEgbGlzdCBvZiBvYmplY3RzIChzZXBhcmF0ZWQgYnkgbGluZWZlZWRzKSBpcyBwcm92aWRlZCBvbgotc3RkaW4sIGFuZCB0aGUgU0hBLTEsIHR5cGUsIGFuZCBzaXplIG9mIGVhY2ggb2JqZWN0IGlzIHByaW50ZWQgb24gc3Rkb3V0Lgorc3RkaW4sIGFuZCB0aGUgU0hBLTEsIHR5cGUsIGFuZCBzaXplIG9mIGVhY2ggb2JqZWN0IGlzIHByaW50ZWQgb24gc3Rkb3V0LiBUaGUKK291dHB1dCBmb3JtYXQgY2FuIGJlIG92ZXJyaWRkZW4gdXNpbmcgdGhlIG9wdGlvbmFsIGA8Zm9ybWF0PmAgYXJndW1lbnQuIElmCitlaXRoZXIgYC0tdGV4dGNvbnZgIG9yIGAtLWZpbHRlcnNgIHdhcyBzcGVjaWZpZWQsIHRoZSBpbnB1dCBpcyBleHBlY3RlZCB0bworbGlzdCB0aGUgb2JqZWN0IG5hbWVzIGZvbGxvd2VkIGJ5IHRoZSBwYXRoIG5hbWUsIHNlcGFyYXRlZCBieSBhIHNpbmdsZSB3aGl0ZQorc3BhY2UsIHNvIHRoYXQgdGhlIGFwcHJvcHJpYXRlIGRyaXZlcnMgY2FuIGJlIGRldGVybWluZWQuCiAKIE9QVElPTlMKIC0tLS0tLS0KQEAgLTU0LDE5ICs1OCwzNSBAQAogCiAtLXRleHRjb252OjoKIAlTaG93IHRoZSBjb250ZW50IGFzIHRyYW5zZm9ybWVkIGJ5IGEgdGV4dGNvbnYgZmlsdGVyLiBJbiB0aGlzIGNhc2UsCi0JPG9iamVjdD4gaGFzIGJlIG9mIHRoZSBmb3JtIDx0cmVlLWlzaD46PHBhdGg+LCBvciA6PHBhdGg+IGluIG9yZGVyCi0JdG8gYXBwbHkgdGhlIGZpbHRlciB0byB0aGUgY29udGVudCByZWNvcmRlZCBpbiB0aGUgaW5kZXggYXQgPHBhdGg+LgorCTxvYmplY3Q+IGhhcyB0byBiZSBvZiB0aGUgZm9ybSA8dHJlZS1pc2g+OjxwYXRoPiwgb3IgOjxwYXRoPiBpbgorCW9yZGVyIHRvIGFwcGx5IHRoZSBmaWx0ZXIgdG8gdGhlIGNvbnRlbnQgcmVjb3JkZWQgaW4gdGhlIGluZGV4IGF0CisJPHBhdGg+LgorCistLWZpbHRlcnM6OgorCVNob3cgdGhlIGNvbnRlbnQgYXMgY29udmVydGVkIGJ5IHRoZSBmaWx0ZXJzIGNvbmZpZ3VyZWQgaW4KKwl0aGUgY3VycmVudCB3b3JraW5nIHRyZWUgZm9yIHRoZSBnaXZlbiA8cGF0aD4gKGkuZS4gc211ZGdlIGZpbHRlcnMsCisJZW5kLW9mLWxpbmUgY29udmVyc2lvbiwgZXRjKS4gSW4gdGhpcyBjYXNlLCA8b2JqZWN0PiBoYXMgdG8gYmUgb2YKKwl0aGUgZm9ybSA8dHJlZS1pc2g+OjxwYXRoPiwgb3IgOjxwYXRoPi4KKworLS1wYXRoPTxwYXRoPjo6CisJRm9yIHVzZSB3aXRoIC0tdGV4dGNvbnYgb3IgLS1maWx0ZXJzLCB0byBhbGxvdyBzcGVjaWZ5aW5nIGFuIG9iamVjdAorCW5hbWUgYW5kIGEgcGF0aCBzZXBhcmF0ZWx5LCBlLmcuIHdoZW4gaXQgaXMgZGlmZmljdWx0IHRvIGZpZ3VyZSBvdXQKKwl0aGUgcmV2aXNpb24gZnJvbSB3aGljaCB0aGUgYmxvYiBjYW1lLgogCiAtLWJhdGNoOjoKIC0tYmF0Y2g9PGZvcm1hdD46OgogCVByaW50IG9iamVjdCBpbmZvcm1hdGlvbiBhbmQgY29udGVudHMgZm9yIGVhY2ggb2JqZWN0IHByb3ZpZGVkCi0Jb24gc3RkaW4uICBNYXkgbm90IGJlIGNvbWJpbmVkIHdpdGggYW55IG90aGVyIG9wdGlvbnMgb3IgYXJndW1lbnRzLgotCVNlZSB0aGUgc2VjdGlvbiBgQkFUQ0ggT1VUUFVUYCBiZWxvdyBmb3IgZGV0YWlscy4KKwlvbiBzdGRpbi4gIE1heSBub3QgYmUgY29tYmluZWQgd2l0aCBhbnkgb3RoZXIgb3B0aW9ucyBvciBhcmd1bWVudHMKKwlleGNlcHQgYC0tdGV4dGNvbnZgIG9yIGAtLWZpbHRlcnNgLCBpbiB3aGljaCBjYXNlIHRoZSBpbnB1dCBsaW5lcworCWFsc28gbmVlZCB0byBzcGVjaWZ5IHRoZSBwYXRoLCBzZXBhcmF0ZWQgYnkgd2hpdGUgc3BhY2UuICBTZWUgdGhlCisJc2VjdGlvbiBgQkFUQ0ggT1VUUFVUYCBiZWxvdyBmb3IgZGV0YWlscy4KIAogLS1iYXRjaC1jaGVjazo6CiAtLWJhdGNoLWNoZWNrPTxmb3JtYXQ+OjoKIAlQcmludCBvYmplY3QgaW5mb3JtYXRpb24gZm9yIGVhY2ggb2JqZWN0IHByb3ZpZGVkIG9uIHN0ZGluLiAgTWF5Ci0Jbm90IGJlIGNvbWJpbmVkIHdpdGggYW55IG90aGVyIG9wdGlvbnMgb3IgYXJndW1lbnRzLiAgU2VlIHRoZQorCW5vdCBiZSBjb21iaW5lZCB3aXRoIGFueSBvdGhlciBvcHRpb25zIG9yIGFyZ3VtZW50cyBleGNlcHQKKwlgLS10ZXh0Y29udmAgb3IgYC0tZmlsdGVyc2AsIGluIHdoaWNoIGNhc2UgdGhlIGlucHV0IGxpbmVzIGFsc28KKwluZWVkIHRvIHNwZWNpZnkgdGhlIHBhdGgsIHNlcGFyYXRlZCBieSB3aGl0ZSBzcGFjZS4gIFNlZSB0aGUKIAlzZWN0aW9uIGBCQVRDSCBPVVRQVVRgIGJlbG93IGZvciBkZXRhaWxzLgogCiAtLWJhdGNoLWFsbC1vYmplY3RzOjoKQEAgLTE0NCwxMyArMTY0LDEzIEBACiAKIE9VVFBVVAogLS0tLS0tCi1JZiAnLXQnIGlzIHNwZWNpZmllZCwgb25lIG9mIHRoZSA8dHlwZT4uCitJZiBgLXRgIGlzIHNwZWNpZmllZCwgb25lIG9mIHRoZSA8dHlwZT4uCiAKLUlmICctcycgaXMgc3BlY2lmaWVkLCB0aGUgc2l6ZSBvZiB0aGUgPG9iamVjdD4gaW4gYnl0ZXMuCitJZiBgLXNgIGlzIHNwZWNpZmllZCwgdGhlIHNpemUgb2YgdGhlIDxvYmplY3Q+IGluIGJ5dGVzLgogCi1JZiAnLWUnIGlzIHNwZWNpZmllZCwgbm8gb3V0cHV0LgorSWYgYC1lYCBpcyBzcGVjaWZpZWQsIG5vIG91dHB1dC4KIAotSWYgJy1wJyBpcyBzcGVjaWZpZWQsIHRoZSBjb250ZW50cyBvZiA8b2JqZWN0PiBhcmUgcHJldHR5LXByaW50ZWQuCitJZiBgLXBgIGlzIHNwZWNpZmllZCwgdGhlIGNvbnRlbnRzIG9mIDxvYmplY3Q+IGFyZSBwcmV0dHktcHJpbnRlZC4KIAogSWYgPHR5cGU+IGlzIHNwZWNpZmllZCwgdGhlIHJhdyAodGhvdWdoIHVuY29tcHJlc3NlZCkgY29udGVudHMgb2YgdGhlIDxvYmplY3Q+CiB3aWxsIGJlIHJldHVybmVkLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2stcmVmLWZvcm1hdC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1yZWYtZm9ybWF0LnR4dAppbmRleCA5MWEzNjIyLi44NjExYTk5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1yZWYtZm9ybWF0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1yZWYtZm9ybWF0LnR4dApAQCAtMTE4LDggKzExOCw4IEBACiAqIERldGVybWluZSB0aGUgcmVmZXJlbmNlIG5hbWUgdG8gdXNlIGZvciBhIG5ldyBicmFuY2g6CiArCiAtLS0tLS0tLS0tLS0KLSQgcmVmPSQoZ2l0IGNoZWNrLXJlZi1mb3JtYXQgLS1ub3JtYWxpemUgInJlZnMvaGVhZHMvJG5ld2JyYW5jaCIpIHx8Ci1kaWUgIndlIGRvIG5vdCBsaWtlICckbmV3YnJhbmNoJyBhcyBhIGJyYW5jaCBuYW1lLiIKKyQgcmVmPSQoZ2l0IGNoZWNrLXJlZi1mb3JtYXQgLS1ub3JtYWxpemUgInJlZnMvaGVhZHMvJG5ld2JyYW5jaCIpfHwKK3sgZWNobyAid2UgZG8gbm90IGxpa2UgJyRuZXdicmFuY2gnIGFzIGEgYnJhbmNoIG5hbWUuIiA+JjIgOyBleGl0IDEgOyB9CiAtLS0tLS0tLS0tLS0KIAogR0lUCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVja291dC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jaGVja291dC50eHQKaW5kZXggNWU1MjczZS4uOGUyYzA2NiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2tvdXQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrb3V0LnR4dApAQCAtMTU3LDcgKzE1Nyw3IEBACiAJV2hlbiBjcmVhdGluZyBhIG5ldyBicmFuY2gsIHNldCB1cCAidXBzdHJlYW0iIGNvbmZpZ3VyYXRpb24uIFNlZQogCSItLXRyYWNrIiBpbiBsaW5rZ2l0OmdpdC1icmFuY2hbMV0gZm9yIGRldGFpbHMuCiArCi1JZiBubyAnLWInIG9wdGlvbiBpcyBnaXZlbiwgdGhlIG5hbWUgb2YgdGhlIG5ldyBicmFuY2ggd2lsbCBiZQorSWYgbm8gYC1iYCBvcHRpb24gaXMgZ2l2ZW4sIHRoZSBuYW1lIG9mIHRoZSBuZXcgYnJhbmNoIHdpbGwgYmUKIGRlcml2ZWQgZnJvbSB0aGUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCwgYnkgbG9va2luZyBhdCB0aGUgbG9jYWwgcGFydCBvZgogdGhlIHJlZnNwZWMgY29uZmlndXJlZCBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgcmVtb3RlLCBhbmQgdGhlbiBzdHJpcHBpbmcKIHRoZSBpbml0aWFsIHBhcnQgdXAgdG8gdGhlICIqIi4KQEAgLTE2NSw3ICsxNjUsNyBAQAogb2ZmIG9mICJvcmlnaW4vaGFjayIgKG9yICJyZW1vdGVzL29yaWdpbi9oYWNrIiwgb3IgZXZlbgogInJlZnMvcmVtb3Rlcy9vcmlnaW4vaGFjayIpLiAgSWYgdGhlIGdpdmVuIG5hbWUgaGFzIG5vIHNsYXNoLCBvciB0aGUgYWJvdmUKIGd1ZXNzaW5nIHJlc3VsdHMgaW4gYW4gZW1wdHkgbmFtZSwgdGhlIGd1ZXNzaW5nIGlzIGFib3J0ZWQuICBZb3UgY2FuCi1leHBsaWNpdGx5IGdpdmUgYSBuYW1lIHdpdGggJy1iJyBpbiBzdWNoIGEgY2FzZS4KK2V4cGxpY2l0bHkgZ2l2ZSBhIG5hbWUgd2l0aCBgLWJgIGluIHN1Y2ggYSBjYXNlLgogCiAtLW5vLXRyYWNrOjoKIAlEbyBub3Qgc2V0IHVwICJ1cHN0cmVhbSIgY29uZmlndXJhdGlvbiwgZXZlbiBpZiB0aGUKQEAgLTQxOSw2ICs0MTksMTggQEAKICQgZ2l0IGxvZyAtZyAtMiBIRUFECiAtLS0tLS0tLS0tLS0KIAorQVJHVU1FTlQgRElTQU1CSUdVQVRJT04KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1doZW4gdGhlcmUgaXMgb25seSBvbmUgYXJndW1lbnQgZ2l2ZW4gYW5kIGl0IGlzIG5vdCBgLS1gIChlLmcuICJnaXQKK2NoZWNrb3V0IGFiYyIpLCBhbmQgd2hlbiB0aGUgYXJndW1lbnQgaXMgYm90aCBhIHZhbGlkIGA8dHJlZS1pc2g+YAorKGUuZy4gYSBicmFuY2ggImFiYyIgZXhpc3RzKSBhbmQgYSB2YWxpZCBgPHBhdGhzcGVjPmAgKGUuZy4gYSBmaWxlCitvciBhIGRpcmVjdG9yeSB3aG9zZSBuYW1lIGlzICJhYmMiIGV4aXN0cyksIEdpdCB3b3VsZCB1c3VhbGx5IGFzaworeW91IHRvIGRpc2FtYmlndWF0ZS4gIEJlY2F1c2UgY2hlY2tpbmcgb3V0IGEgYnJhbmNoIGlzIHNvIGNvbW1vbiBhbgorb3BlcmF0aW9uLCBob3dldmVyLCAiZ2l0IGNoZWNrb3V0IGFiYyIgdGFrZXMgImFiYyIgYXMgYSBgPHRyZWUtaXNoPmAKK2luIHN1Y2ggYSBzaXR1YXRpb24uICBVc2UgYGdpdCBjaGVja291dCAtLSA8cGF0aHNwZWM+YCBpZiB5b3Ugd2FudAordG8gY2hlY2tvdXQgdGhlc2UgcGF0aHMgb3V0IG9mIHRoZSBpbmRleC4KKwogRVhBTVBMRVMKIC0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNoZXJyeS1waWNrLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNoZXJyeS1waWNrLnR4dAppbmRleCBjMTA0YTU5Li5kMzVkNzcxIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVycnktcGljay50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY2hlcnJ5LXBpY2sudHh0CkBAIC00Nyw3ICs0Nyw3IEBACiAJRm9yIGEgbW9yZSBjb21wbGV0ZSBsaXN0IG9mIHdheXMgdG8gc3BlbGwgY29tbWl0cywgc2VlCiAJbGlua2dpdDpnaXRyZXZpc2lvbnNbN10uCiAJU2V0cyBvZiBjb21taXRzIGNhbiBiZSBwYXNzZWQgYnV0IG5vIHRyYXZlcnNhbCBpcyBkb25lIGJ5Ci0JZGVmYXVsdCwgYXMgaWYgdGhlICctLW5vLXdhbGsnIG9wdGlvbiB3YXMgc3BlY2lmaWVkLCBzZWUKKwlkZWZhdWx0LCBhcyBpZiB0aGUgYC0tbm8td2Fsa2Agb3B0aW9uIHdhcyBzcGVjaWZpZWQsIHNlZQogCWxpbmtnaXQ6Z2l0LXJldi1saXN0WzFdLiBOb3RlIHRoYXQgc3BlY2lmeWluZyBhIHJhbmdlIHdpbGwKIAlmZWVkIGFsbCA8Y29tbWl0Pi4uLiBhcmd1bWVudHMgdG8gYSBzaW5nbGUgcmV2aXNpb24gd2FsawogCShzZWUgYSBsYXRlciBleGFtcGxlIHRoYXQgdXNlcyAnbWFpbnQgbWFzdGVyLi5uZXh0JykuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jbGVhbi50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jbGVhbi50eHQKaW5kZXggNTFhN2UyNi4uMDMwNTZkYSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY2xlYW4udHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNsZWFuLnR4dApAQCAtMTYsNyArMTYsNyBAQAogQ2xlYW5zIHRoZSB3b3JraW5nIHRyZWUgYnkgcmVjdXJzaXZlbHkgcmVtb3ZpbmcgZmlsZXMgdGhhdCBhcmUgbm90CiB1bmRlciB2ZXJzaW9uIGNvbnRyb2wsIHN0YXJ0aW5nIGZyb20gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgogCi1Ob3JtYWxseSwgb25seSBmaWxlcyB1bmtub3duIHRvIEdpdCBhcmUgcmVtb3ZlZCwgYnV0IGlmIHRoZSAnLXgnCitOb3JtYWxseSwgb25seSBmaWxlcyB1bmtub3duIHRvIEdpdCBhcmUgcmVtb3ZlZCwgYnV0IGlmIHRoZSBgLXhgCiBvcHRpb24gaXMgc3BlY2lmaWVkLCBpZ25vcmVkIGZpbGVzIGFyZSBhbHNvIHJlbW92ZWQuIFRoaXMgY2FuLCBmb3IKIGV4YW1wbGUsIGJlIHVzZWZ1bCB0byByZW1vdmUgYWxsIGJ1aWxkIHByb2R1Y3RzLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jbG9uZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jbG9uZS50eHQKaW5kZXggMWIxNWNkNy4uMzVjYzM0YiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY2xvbmUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNsb25lLnR4dApAQCAtOTAsMTMgKzkwLDE2IEBACiBpdHMgc291cmNlIHJlcG9zaXRvcnksIHlvdSBjYW4gc2ltcGx5IHJ1biBgZ2l0IHJlcGFjayAtYWAgdG8gY29weSBhbGwKIG9iamVjdHMgZnJvbSB0aGUgc291cmNlIHJlcG9zaXRvcnkgaW50byBhIHBhY2sgaW4gdGhlIGNsb25lZCByZXBvc2l0b3J5LgogCi0tLXJlZmVyZW5jZSA8cmVwb3NpdG9yeT46OgorLS1yZWZlcmVuY2VbLWlmLWFibGVdIDxyZXBvc2l0b3J5Pjo6CiAJSWYgdGhlIHJlZmVyZW5jZSByZXBvc2l0b3J5IGlzIG9uIHRoZSBsb2NhbCBtYWNoaW5lLAogCWF1dG9tYXRpY2FsbHkgc2V0dXAgYC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXNgIHRvCiAJb2J0YWluIG9iamVjdHMgZnJvbSB0aGUgcmVmZXJlbmNlIHJlcG9zaXRvcnkuICBVc2luZwogCWFuIGFscmVhZHkgZXhpc3RpbmcgcmVwb3NpdG9yeSBhcyBhbiBhbHRlcm5hdGUgd2lsbAogCXJlcXVpcmUgZmV3ZXIgb2JqZWN0cyB0byBiZSBjb3BpZWQgZnJvbSB0aGUgcmVwb3NpdG9yeQogCWJlaW5nIGNsb25lZCwgcmVkdWNpbmcgbmV0d29yayBhbmQgbG9jYWwgc3RvcmFnZSBjb3N0cy4KKwlXaGVuIHVzaW5nIHRoZSBgLS1yZWZlcmVuY2UtaWYtYWJsZWAsIGEgbm9uIGV4aXN0aW5nCisJZGlyZWN0b3J5IGlzIHNraXBwZWQgd2l0aCBhIHdhcm5pbmcgaW5zdGVhZCBvZiBhYm9ydGluZworCXRoZSBjbG9uZS4KICsKICpOT1RFKjogc2VlIHRoZSBOT1RFIGZvciB0aGUgYC0tc2hhcmVkYCBvcHRpb24sIGFuZCBhbHNvIHRoZQogYC0tZGlzc29jaWF0ZWAgb3B0aW9uLgpAQCAtMTkxLDkgKzE5NCwxNiBAQAogCUNyZWF0ZSBhICdzaGFsbG93JyBjbG9uZSB3aXRoIGEgaGlzdG9yeSB0cnVuY2F0ZWQgdG8gdGhlCiAJc3BlY2lmaWVkIG51bWJlciBvZiBjb21taXRzLiBJbXBsaWVzIGAtLXNpbmdsZS1icmFuY2hgIHVubGVzcwogCWAtLW5vLXNpbmdsZS1icmFuY2hgIGlzIGdpdmVuIHRvIGZldGNoIHRoZSBoaXN0b3JpZXMgbmVhciB0aGUKLQl0aXBzIG9mIGFsbCBicmFuY2hlcy4gVGhpcyBpbXBsaWVzIGAtLXNoYWxsb3ctc3VibW9kdWxlc2AuIElmCi0JeW91IHdhbnQgdG8gaGF2ZSBhIHNoYWxsb3cgc3VwZXJwcm9qZWN0IGNsb25lLCBidXQgZnVsbCBzdWJtb2R1bGVzLAotCWFsc28gcGFzcyBgLS1uby1zaGFsbG93LXN1Ym1vZHVsZXNgLgorCXRpcHMgb2YgYWxsIGJyYW5jaGVzLiBJZiB5b3Ugd2FudCB0byBjbG9uZSBzdWJtb2R1bGVzIHNoYWxsb3dseSwKKwlhbHNvIHBhc3MgYC0tc2hhbGxvdy1zdWJtb2R1bGVzYC4KKworLS1zaGFsbG93LXNpbmNlPTxkYXRlPjo6CisJQ3JlYXRlIGEgc2hhbGxvdyBjbG9uZSB3aXRoIGEgaGlzdG9yeSBhZnRlciB0aGUgc3BlY2lmaWVkIHRpbWUuCisKKy0tc2hhbGxvdy1leGNsdWRlPTxyZXZpc2lvbj46OgorCUNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgd2l0aCBhIGhpc3RvcnksIGV4Y2x1ZGluZyBjb21taXRzCisJcmVhY2hhYmxlIGZyb20gYSBzcGVjaWZpZWQgcmVtb3RlIGJyYW5jaCBvciB0YWcuICBUaGlzIG9wdGlvbgorCWNhbiBiZSBzcGVjaWZpZWQgbXVsdGlwbGUgdGltZXMuCiAKIC0tW25vLV1zaW5nbGUtYnJhbmNoOjoKIAlDbG9uZSBvbmx5IHRoZSBoaXN0b3J5IGxlYWRpbmcgdG8gdGhlIHRpcCBvZiBhIHNpbmdsZSBicmFuY2gsCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jb21taXQtdHJlZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jb21taXQtdHJlZS50eHQKaW5kZXggY2I2OWZhYS4uMDAyZGFlNiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY29tbWl0LXRyZWUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNvbW1pdC10cmVlLnR4dApAQCAtNDQsNyArNDQsNyBAQAogCUFuIGV4aXN0aW5nIHRyZWUgb2JqZWN0CiAKIC1wIDxwYXJlbnQ+OjoKLQlFYWNoICctcCcgaW5kaWNhdGVzIHRoZSBpZCBvZiBhIHBhcmVudCBjb21taXQgb2JqZWN0LgorCUVhY2ggYC1wYCBpbmRpY2F0ZXMgdGhlIGlkIG9mIGEgcGFyZW50IGNvbW1pdCBvYmplY3QuCiAKIC1tIDxtZXNzYWdlPjo6CiAJQSBwYXJhZ3JhcGggaW4gdGhlIGNvbW1pdCBsb2cgbWVzc2FnZS4gVGhpcyBjYW4gYmUgZ2l2ZW4gbW9yZSB0aGFuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jb21taXQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtY29tbWl0LnR4dAppbmRleCBkNDc0MjI2Li5mMmFiMGVlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jb21taXQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNvbW1pdC50eHQKQEAgLTI5LDcgKzI5LDggQEAKIDIuIGJ5IHVzaW5nICdnaXQgcm0nIHRvIHJlbW92ZSBmaWxlcyBmcm9tIHRoZSB3b3JraW5nIHRyZWUKICAgIGFuZCB0aGUgaW5kZXgsIGFnYWluIGJlZm9yZSB1c2luZyB0aGUgJ2NvbW1pdCcgY29tbWFuZDsKIAotMy4gYnkgbGlzdGluZyBmaWxlcyBhcyBhcmd1bWVudHMgdG8gdGhlICdjb21taXQnIGNvbW1hbmQsIGluIHdoaWNoCiszLiBieSBsaXN0aW5nIGZpbGVzIGFzIGFyZ3VtZW50cyB0byB0aGUgJ2NvbW1pdCcgY29tbWFuZAorICAgKHdpdGhvdXQgLS1pbnRlcmFjdGl2ZSBvciAtLXBhdGNoIHN3aXRjaCksIGluIHdoaWNoCiAgICBjYXNlIHRoZSBjb21taXQgd2lsbCBpZ25vcmUgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4LCBhbmQgaW5zdGVhZAogICAgcmVjb3JkIHRoZSBjdXJyZW50IGNvbnRlbnQgb2YgdGhlIGxpc3RlZCBmaWxlcyAod2hpY2ggbXVzdCBhbHJlYWR5CiAgICBiZSBrbm93biB0byBHaXQpOwpAQCAtNDEsNyArNDIsOCBAQAogICAgYWN0dWFsIGNvbW1pdDsKIAogNS4gYnkgdXNpbmcgdGhlIC0taW50ZXJhY3RpdmUgb3IgLS1wYXRjaCBzd2l0Y2hlcyB3aXRoIHRoZSAnY29tbWl0JyBjb21tYW5kCi0gICB0byBkZWNpZGUgb25lIGJ5IG9uZSB3aGljaCBmaWxlcyBvciBodW5rcyBzaG91bGQgYmUgcGFydCBvZiB0aGUgY29tbWl0LAorICAgdG8gZGVjaWRlIG9uZSBieSBvbmUgd2hpY2ggZmlsZXMgb3IgaHVua3Mgc2hvdWxkIGJlIHBhcnQgb2YgdGhlIGNvbW1pdAorICAgaW4gYWRkaXRpb24gdG8gY29udGVudHMgaW4gdGhlIGluZGV4LAogICAgYmVmb3JlIGZpbmFsaXppbmcgdGhlIG9wZXJhdGlvbi4gU2VlIHRoZSBgYEludGVyYWN0aXZlIE1vZGUnJyBzZWN0aW9uIG9mCiAgICBsaW5rZ2l0OmdpdC1hZGRbMV0gdG8gbGVhcm4gaG93IHRvIG9wZXJhdGUgdGhlc2UgbW9kZXMuCiAKQEAgLTc1LDcgKzc3LDcgQEAKIAogLWMgPGNvbW1pdD46OgogLS1yZWVkaXQtbWVzc2FnZT08Y29tbWl0Pjo6Ci0JTGlrZSAnLUMnLCBidXQgd2l0aCAnLWMnIHRoZSBlZGl0b3IgaXMgaW52b2tlZCwgc28gdGhhdAorCUxpa2UgJy1DJywgYnV0IHdpdGggYC1jYCB0aGUgZWRpdG9yIGlzIGludm9rZWQsIHNvIHRoYXQKIAl0aGUgdXNlciBjYW4gZnVydGhlciBlZGl0IHRoZSBjb21taXQgbWVzc2FnZS4KIAogLS1maXh1cD08Y29tbWl0Pjo6CkBAIC0yMDEsNyArMjAzLDcgQEAKIAlPdGhlcndpc2UgYHdoaXRlc3BhY2VgLgogLS0KICsKLVRoZSBkZWZhdWx0IGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZSAnY29tbWl0LmNsZWFudXAnIGNvbmZpZ3VyYXRpb24KK1RoZSBkZWZhdWx0IGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZSBgY29tbWl0LmNsZWFudXBgIGNvbmZpZ3VyYXRpb24KIHZhcmlhYmxlIChzZWUgbGlua2dpdDpnaXQtY29uZmlnWzFdKS4KIAogLWU6OgpAQCAtMjYwLDcgKzI2Miw3IEBACiAJc3RhZ2VkIGZvciBvdGhlciBwYXRocy4gVGhpcyBpcyB0aGUgZGVmYXVsdCBtb2RlIG9mIG9wZXJhdGlvbiBvZgogCSdnaXQgY29tbWl0JyBpZiBhbnkgcGF0aHMgYXJlIGdpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUsCiAJaW4gd2hpY2ggY2FzZSB0aGlzIG9wdGlvbiBjYW4gYmUgb21pdHRlZC4KLQlJZiB0aGlzIG9wdGlvbiBpcyBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCAnLS1hbWVuZCcsIHRoZW4KKwlJZiB0aGlzIG9wdGlvbiBpcyBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCBgLS1hbWVuZGAsIHRoZW4KIAlubyBwYXRocyBuZWVkIHRvIGJlIHNwZWNpZmllZCwgd2hpY2ggY2FuIGJlIHVzZWQgdG8gYW1lbmQKIAl0aGUgbGFzdCBjb21taXQgd2l0aG91dCBjb21taXR0aW5nIGNoYW5nZXMgdGhhdCBoYXZlCiAJYWxyZWFkeSBiZWVuIHN0YWdlZC4KQEAgLTQ1MCw4ICs0NTIsOCBAQAogRU5WSVJPTk1FTlQgQU5EIENPTkZJR1VSQVRJT04gVkFSSUFCTEVTCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFRoZSBlZGl0b3IgdXNlZCB0byBlZGl0IHRoZSBjb21taXQgbG9nIG1lc3NhZ2Ugd2lsbCBiZSBjaG9zZW4gZnJvbSB0aGUKLUdJVF9FRElUT1IgZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZSBjb3JlLmVkaXRvciBjb25maWd1cmF0aW9uIHZhcmlhYmxlLCB0aGUKLVZJU1VBTCBlbnZpcm9ubWVudCB2YXJpYWJsZSwgb3IgdGhlIEVESVRPUiBlbnZpcm9ubWVudCB2YXJpYWJsZSAoaW4gdGhhdAorYEdJVF9FRElUT1JgIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgY29yZS5lZGl0b3IgY29uZmlndXJhdGlvbiB2YXJpYWJsZSwgdGhlCitgVklTVUFMYCBlbnZpcm9ubWVudCB2YXJpYWJsZSwgb3IgdGhlIGBFRElUT1JgIGVudmlyb25tZW50IHZhcmlhYmxlIChpbiB0aGF0CiBvcmRlcikuICBTZWUgbGlua2dpdDpnaXQtdmFyWzFdIGZvciBkZXRhaWxzLgogCiBIT09LUwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY29uZmlnLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNvbmZpZy50eHQKaW5kZXggNjg0MzExNC4uODNmODZiOSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY29uZmlnLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jb25maWcudHh0CkBAIC0zMSwyOSArMzEsMjkgQEAKIGFjdHVhbGx5IHRoZSBzZWN0aW9uIGFuZCB0aGUga2V5IHNlcGFyYXRlZCBieSBhIGRvdCwgYW5kIHRoZSB2YWx1ZSB3aWxsIGJlCiBlc2NhcGVkLgogCi1NdWx0aXBsZSBsaW5lcyBjYW4gYmUgYWRkZWQgdG8gYW4gb3B0aW9uIGJ5IHVzaW5nIHRoZSAnLS1hZGQnIG9wdGlvbi4KK011bHRpcGxlIGxpbmVzIGNhbiBiZSBhZGRlZCB0byBhbiBvcHRpb24gYnkgdXNpbmcgdGhlIGAtLWFkZGAgb3B0aW9uLgogSWYgeW91IHdhbnQgdG8gdXBkYXRlIG9yIHVuc2V0IGFuIG9wdGlvbiB3aGljaCBjYW4gb2NjdXIgb24gbXVsdGlwbGUKIGxpbmVzLCBhIFBPU0lYIHJlZ2V4cCBgdmFsdWVfcmVnZXhgIG5lZWRzIHRvIGJlIGdpdmVuLiAgT25seSB0aGUKIGV4aXN0aW5nIHZhbHVlcyB0aGF0IG1hdGNoIHRoZSByZWdleHAgYXJlIHVwZGF0ZWQgb3IgdW5zZXQuICBJZgogeW91IHdhbnQgdG8gaGFuZGxlIHRoZSBsaW5lcyB0aGF0IGRvICpub3QqIG1hdGNoIHRoZSByZWdleCwganVzdAogcHJlcGVuZCBhIHNpbmdsZSBleGNsYW1hdGlvbiBtYXJrIGluIGZyb250IChzZWUgYWxzbyA8PEVYQU1QTEVTPj4pLgogCi1UaGUgdHlwZSBzcGVjaWZpZXIgY2FuIGJlIGVpdGhlciAnLS1pbnQnIG9yICctLWJvb2wnLCB0byBtYWtlCitUaGUgdHlwZSBzcGVjaWZpZXIgY2FuIGJlIGVpdGhlciBgLS1pbnRgIG9yIGAtLWJvb2xgLCB0byBtYWtlCiAnZ2l0IGNvbmZpZycgZW5zdXJlIHRoYXQgdGhlIHZhcmlhYmxlKHMpIGFyZSBvZiB0aGUgZ2l2ZW4gdHlwZSBhbmQKIGNvbnZlcnQgdGhlIHZhbHVlIHRvIHRoZSBjYW5vbmljYWwgZm9ybSAoc2ltcGxlIGRlY2ltYWwgbnVtYmVyIGZvciBpbnQsCi1hICJ0cnVlIiBvciAiZmFsc2UiIHN0cmluZyBmb3IgYm9vbCksIG9yICctLXBhdGgnLCB3aGljaCBkb2VzIHNvbWUKLXBhdGggZXhwYW5zaW9uIChzZWUgJy0tcGF0aCcgYmVsb3cpLiAgSWYgbm8gdHlwZSBzcGVjaWZpZXIgaXMgcGFzc2VkLCBubworYSAidHJ1ZSIgb3IgImZhbHNlIiBzdHJpbmcgZm9yIGJvb2wpLCBvciBgLS1wYXRoYCwgd2hpY2ggZG9lcyBzb21lCitwYXRoIGV4cGFuc2lvbiAoc2VlIGAtLXBhdGhgIGJlbG93KS4gIElmIG5vIHR5cGUgc3BlY2lmaWVyIGlzIHBhc3NlZCwgbm8KIGNoZWNrcyBvciB0cmFuc2Zvcm1hdGlvbnMgYXJlIHBlcmZvcm1lZCBvbiB0aGUgdmFsdWUuCiAKIFdoZW4gcmVhZGluZywgdGhlIHZhbHVlcyBhcmUgcmVhZCBmcm9tIHRoZSBzeXN0ZW0sIGdsb2JhbCBhbmQKIHJlcG9zaXRvcnkgbG9jYWwgY29uZmlndXJhdGlvbiBmaWxlcyBieSBkZWZhdWx0LCBhbmQgb3B0aW9ucwotJy0tc3lzdGVtJywgJy0tZ2xvYmFsJywgJy0tbG9jYWwnIGFuZCAnLS1maWxlIDxmaWxlbmFtZT4nIGNhbiBiZQorYC0tc3lzdGVtYCwgYC0tZ2xvYmFsYCwgYC0tbG9jYWxgIGFuZCBgLS1maWxlIDxmaWxlbmFtZT5gIGNhbiBiZQogdXNlZCB0byB0ZWxsIHRoZSBjb21tYW5kIHRvIHJlYWQgZnJvbSBvbmx5IHRoYXQgbG9jYXRpb24gKHNlZSA8PEZJTEVTPj4pLgogCiBXaGVuIHdyaXRpbmcsIHRoZSBuZXcgdmFsdWUgaXMgd3JpdHRlbiB0byB0aGUgcmVwb3NpdG9yeSBsb2NhbAotY29uZmlndXJhdGlvbiBmaWxlIGJ5IGRlZmF1bHQsIGFuZCBvcHRpb25zICctLXN5c3RlbScsICctLWdsb2JhbCcsCi0nLS1maWxlIDxmaWxlbmFtZT4nIGNhbiBiZSB1c2VkIHRvIHRlbGwgdGhlIGNvbW1hbmQgdG8gd3JpdGUgdG8KLXRoYXQgbG9jYXRpb24gKHlvdSBjYW4gc2F5ICctLWxvY2FsJyBidXQgdGhhdCBpcyB0aGUgZGVmYXVsdCkuCitjb25maWd1cmF0aW9uIGZpbGUgYnkgZGVmYXVsdCwgYW5kIG9wdGlvbnMgYC0tc3lzdGVtYCwgYC0tZ2xvYmFsYCwKK2AtLWZpbGUgPGZpbGVuYW1lPmAgY2FuIGJlIHVzZWQgdG8gdGVsbCB0aGUgY29tbWFuZCB0byB3cml0ZSB0bwordGhhdCBsb2NhdGlvbiAoeW91IGNhbiBzYXkgYC0tbG9jYWxgIGJ1dCB0aGF0IGlzIHRoZSBkZWZhdWx0KS4KIAogVGhpcyBjb21tYW5kIHdpbGwgZmFpbCB3aXRoIG5vbi16ZXJvIHN0YXR1cyB1cG9uIGVycm9yLiAgU29tZSBleGl0CiBjb2RlcyBhcmU6CkBAIC0xMzgsNyArMTM4LDcgQEAKIAlVc2UgdGhlIGdpdmVuIGNvbmZpZyBmaWxlIGluc3RlYWQgb2YgdGhlIG9uZSBzcGVjaWZpZWQgYnkgR0lUX0NPTkZJRy4KIAogLS1ibG9iIGJsb2I6OgotCVNpbWlsYXIgdG8gJy0tZmlsZScgYnV0IHVzZSB0aGUgZ2l2ZW4gYmxvYiBpbnN0ZWFkIG9mIGEgZmlsZS4gRS5nLgorCVNpbWlsYXIgdG8gYC0tZmlsZWAgYnV0IHVzZSB0aGUgZ2l2ZW4gYmxvYiBpbnN0ZWFkIG9mIGEgZmlsZS4gRS5nLgogCXlvdSBjYW4gdXNlICdtYXN0ZXI6LmdpdG1vZHVsZXMnIHRvIHJlYWQgdmFsdWVzIGZyb20gdGhlIGZpbGUKIAknLmdpdG1vZHVsZXMnIGluIHRoZSBtYXN0ZXIgYnJhbmNoLiBTZWUgIlNQRUNJRllJTkcgUkVWSVNJT05TIgogCXNlY3Rpb24gaW4gbGlua2dpdDpnaXRyZXZpc2lvbnNbN10gZm9yIGEgbW9yZSBjb21wbGV0ZSBsaXN0IG9mCkBAIC0yMjAsNyArMjIwLDcgQEAKIC1lOjoKIC0tZWRpdDo6CiAJT3BlbnMgYW4gZWRpdG9yIHRvIG1vZGlmeSB0aGUgc3BlY2lmaWVkIGNvbmZpZyBmaWxlOyBlaXRoZXIKLQknLS1zeXN0ZW0nLCAnLS1nbG9iYWwnLCBvciByZXBvc2l0b3J5IChkZWZhdWx0KS4KKwlgLS1zeXN0ZW1gLCBgLS1nbG9iYWxgLCBvciByZXBvc2l0b3J5IChkZWZhdWx0KS4KIAogLS1bbm8tXWluY2x1ZGVzOjoKIAlSZXNwZWN0IGBpbmNsdWRlLipgIGRpcmVjdGl2ZXMgaW4gY29uZmlnIGZpbGVzIHdoZW4gbG9va2luZyB1cApAQCAtMjMyLDcgKzIzMiw3IEBACiBGSUxFUwogLS0tLS0KIAotSWYgbm90IHNldCBleHBsaWNpdGx5IHdpdGggJy0tZmlsZScsIHRoZXJlIGFyZSBmb3VyIGZpbGVzIHdoZXJlCitJZiBub3Qgc2V0IGV4cGxpY2l0bHkgd2l0aCBgLS1maWxlYCwgdGhlcmUgYXJlIGZvdXIgZmlsZXMgd2hlcmUKICdnaXQgY29uZmlnJyB3aWxsIHNlYXJjaCBmb3IgY29uZmlndXJhdGlvbiBvcHRpb25zOgogCiAkKHByZWZpeCkvZXRjL2dpdGNvbmZpZzo6CkBAIC0yNjMsMTMgKzI2MywxNiBAQAogcHJlY2VkZW5jZSBvdmVyIHZhbHVlcyByZWFkIGVhcmxpZXIuICBXaGVuIG11bHRpcGxlIHZhbHVlcyBhcmUgdGFrZW4gdGhlbiBhbGwKIHZhbHVlcyBvZiBhIGtleSBmcm9tIGFsbCBmaWxlcyB3aWxsIGJlIHVzZWQuCiAKK1lvdSBtYXkgb3ZlcnJpZGUgaW5kaXZpZHVhbCBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgd2hlbiBydW5uaW5nIGFueSBnaXQKK2NvbW1hbmQgYnkgdXNpbmcgdGhlIGAtY2Agb3B0aW9uLiBTZWUgbGlua2dpdDpnaXRbMV0gZm9yIGRldGFpbHMuCisKIEFsbCB3cml0aW5nIG9wdGlvbnMgd2lsbCBwZXIgZGVmYXVsdCB3cml0ZSB0byB0aGUgcmVwb3NpdG9yeSBzcGVjaWZpYwotY29uZmlndXJhdGlvbiBmaWxlLiBOb3RlIHRoYXQgdGhpcyBhbHNvIGFmZmVjdHMgb3B0aW9ucyBsaWtlICctLXJlcGxhY2UtYWxsJwotYW5kICctLXVuc2V0Jy4gKidnaXQgY29uZmlnJyB3aWxsIG9ubHkgZXZlciBjaGFuZ2Ugb25lIGZpbGUgYXQgYSB0aW1lKi4KK2NvbmZpZ3VyYXRpb24gZmlsZS4gTm90ZSB0aGF0IHRoaXMgYWxzbyBhZmZlY3RzIG9wdGlvbnMgbGlrZSBgLS1yZXBsYWNlLWFsbGAKK2FuZCBgLS11bnNldGAuIConZ2l0IGNvbmZpZycgd2lsbCBvbmx5IGV2ZXIgY2hhbmdlIG9uZSBmaWxlIGF0IGEgdGltZSouCiAKIFlvdSBjYW4gb3ZlcnJpZGUgdGhlc2UgcnVsZXMgZWl0aGVyIGJ5IGNvbW1hbmQtbGluZSBvcHRpb25zIG9yIGJ5IGVudmlyb25tZW50Ci12YXJpYWJsZXMuIFRoZSAnLS1nbG9iYWwnIGFuZCB0aGUgJy0tc3lzdGVtJyBvcHRpb25zIHdpbGwgbGltaXQgdGhlIGZpbGUgdXNlZAotdG8gdGhlIGdsb2JhbCBvciBzeXN0ZW0td2lkZSBmaWxlIHJlc3BlY3RpdmVseS4gVGhlIEdJVF9DT05GSUcgZW52aXJvbm1lbnQKK3ZhcmlhYmxlcy4gVGhlIGAtLWdsb2JhbGAgYW5kIHRoZSBgLS1zeXN0ZW1gIG9wdGlvbnMgd2lsbCBsaW1pdCB0aGUgZmlsZSB1c2VkCit0byB0aGUgZ2xvYmFsIG9yIHN5c3RlbS13aWRlIGZpbGUgcmVzcGVjdGl2ZWx5LiBUaGUgYEdJVF9DT05GSUdgIGVudmlyb25tZW50CiB2YXJpYWJsZSBoYXMgYSBzaW1pbGFyIGVmZmVjdCwgYnV0IHlvdSBjYW4gc3BlY2lmeSBhbnkgZmlsZW5hbWUgeW91IHdhbnQuCiAKIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY291bnQtb2JqZWN0cy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jb3VudC1vYmplY3RzLnR4dAppbmRleCAyZmYzNTY4Li5jYjliNGQyIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jb3VudC1vYmplY3RzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jb3VudC1vYmplY3RzLnR4dApAQCAtMzgsNiArMzgsMTEgQEAKICsKIHNpemUtZ2FyYmFnZTogZGlzayBzcGFjZSBjb25zdW1lZCBieSBnYXJiYWdlIGZpbGVzLCBpbiBLaUIgKHVubGVzcyAtSCBpcwogc3BlY2lmaWVkKQorKworYWx0ZXJuYXRlOiBhYnNvbHV0ZSBwYXRoIG9mIGFsdGVybmF0ZSBvYmplY3QgZGF0YWJhc2VzOyBtYXkgYXBwZWFyCittdWx0aXBsZSB0aW1lcywgb25lIGxpbmUgcGVyIHBhdGguIE5vdGUgdGhhdCBpZiB0aGUgcGF0aCBjb250YWlucworbm9uLXByaW50YWJsZSBjaGFyYWN0ZXJzLCBpdCBtYXkgYmUgc3Vycm91bmRlZCBieSBkb3VibGUtcXVvdGVzIGFuZAorY29udGFpbiBDLXN0eWxlIGJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZXMuCiAKIC1IOjoKIC0taHVtYW4tcmVhZGFibGU6OgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY3JlZGVudGlhbC1zdG9yZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jcmVkZW50aWFsLXN0b3JlLnR4dAppbmRleCBlM2M4ZjI3Li4yNWZiOTYzIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jcmVkZW50aWFsLXN0b3JlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jcmVkZW50aWFsLXN0b3JlLnR4dApAQCAtNDQsNyArNDQsNyBAQAogRklMRVMKIC0tLS0tCiAKLUlmIG5vdCBzZXQgZXhwbGljaXRseSB3aXRoICctLWZpbGUnLCB0aGVyZSBhcmUgdHdvIGZpbGVzIHdoZXJlCitJZiBub3Qgc2V0IGV4cGxpY2l0bHkgd2l0aCBgLS1maWxlYCwgdGhlcmUgYXJlIHR3byBmaWxlcyB3aGVyZQogZ2l0LWNyZWRlbnRpYWwtc3RvcmUgd2lsbCBzZWFyY2ggZm9yIGNyZWRlbnRpYWxzIGluIG9yZGVyIG9mIHByZWNlZGVuY2U6CiAKIH4vLmdpdC1jcmVkZW50aWFsczo6CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jdnNpbXBvcnQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtY3ZzaW1wb3J0LnR4dAppbmRleCAwMGEwNjc5Li5kZTFlYmVkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jdnNpbXBvcnQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWN2c2ltcG9ydC50eHQKQEAgLTIyLDcgKzIyLDcgQEAKIGRlcHJlY2F0ZWQ7IGl0IGRvZXMgbm90IHdvcmsgd2l0aCBjdnNwcyB2ZXJzaW9uIDMgYW5kIGxhdGVyLiAgSWYgeW91IGFyZQogcGVyZm9ybWluZyBhIG9uZS1zaG90IGltcG9ydCBvZiBhIENWUyByZXBvc2l0b3J5IGNvbnNpZGVyIHVzaW5nCiBodHRwOi8vY3ZzMnN2bi50aWdyaXMub3JnL2N2czJnaXQuaHRtbFtjdnMyZ2l0XSBvcgotaHR0cHM6Ly9naXRodWIuY29tL0JhcnRNYXNzZXkvcGFyc2VjdnNbcGFyc2VjdnNdLgoraHR0cDovL3d3dy5jYXRiLm9yZy9lc3IvY3ZzLWZhc3QtZXhwb3J0L1tjdnMtZmFzdC1leHBvcnRdLgogCiBJbXBvcnRzIGEgQ1ZTIHJlcG9zaXRvcnkgaW50byBHaXQuIEl0IHdpbGwgZWl0aGVyIGNyZWF0ZSBhIG5ldwogcmVwb3NpdG9yeSwgb3IgaW5jcmVtZW50YWxseSBpbXBvcnQgaW50byBhbiBleGlzdGluZyBvbmUuCkBAIC03NCwxMCArNzQsMTAgQEAKIAlha2luIHRvIHRoZSB3YXkgJ2dpdCBjbG9uZScgdXNlcyAnb3JpZ2luJyBieSBkZWZhdWx0LgogCiAtbyA8YnJhbmNoLWZvci1IRUFEPjo6Ci0JV2hlbiBubyByZW1vdGUgaXMgc3BlY2lmaWVkICh2aWEgLXIpIHRoZSAnSEVBRCcgYnJhbmNoCisJV2hlbiBubyByZW1vdGUgaXMgc3BlY2lmaWVkICh2aWEgLXIpIHRoZSBgSEVBRGAgYnJhbmNoCiAJZnJvbSBDVlMgaXMgaW1wb3J0ZWQgdG8gdGhlICdvcmlnaW4nIGJyYW5jaCB3aXRoaW4gdGhlIEdpdAotCXJlcG9zaXRvcnksIGFzICdIRUFEJyBhbHJlYWR5IGhhcyBhIHNwZWNpYWwgbWVhbmluZyBmb3IgR2l0LgotCVdoZW4gYSByZW1vdGUgaXMgc3BlY2lmaWVkIHRoZSAnSEVBRCcgYnJhbmNoIGlzIG5hbWVkCisJcmVwb3NpdG9yeSwgYXMgYEhFQURgIGFscmVhZHkgaGFzIGEgc3BlY2lhbCBtZWFuaW5nIGZvciBHaXQuCisJV2hlbiBhIHJlbW90ZSBpcyBzcGVjaWZpZWQgdGhlIGBIRUFEYCBicmFuY2ggaXMgbmFtZWQKIAlyZW1vdGVzLzxyZW1vdGU+L21hc3RlciBtaXJyb3JpbmcgJ2dpdCBjbG9uZScgYmVoYXZpb3VyLgogCVVzZSB0aGlzIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBpbXBvcnQgaW50byBhIGRpZmZlcmVudAogCWJyYW5jaC4KQEAgLTEwMyw3ICsxMDMsNyBAQAogCiAtcCA8b3B0aW9ucy1mb3ItY3ZzcHM+OjoKIAlBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGN2c3BzLgotCVRoZSBvcHRpb25zICctdScgYW5kICctQScgYXJlIGltcGxpY2l0IGFuZCBzaG91bGQgbm90IGJlIHVzZWQgaGVyZS4KKwlUaGUgb3B0aW9ucyBgLXVgIGFuZCAnLUEnIGFyZSBpbXBsaWNpdCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIGhlcmUuCiArCiBJZiB5b3UgbmVlZCB0byBwYXNzIG11bHRpcGxlIG9wdGlvbnMsIHNlcGFyYXRlIHRoZW0gd2l0aCBhIGNvbW1hLgogCkBAIC0xMjIsNyArMTIyLDcgQEAKIAogLU0gPHJlZ2V4Pjo6CiAJQXR0ZW1wdCB0byBkZXRlY3QgbWVyZ2VzIGJhc2VkIG9uIHRoZSBjb21taXQgbWVzc2FnZSB3aXRoIGEgY3VzdG9tCi0JcmVnZXguIEl0IGNhbiBiZSB1c2VkIHdpdGggJy1tJyB0byBlbmFibGUgdGhlIGRlZmF1bHQgcmVnZXhlcworCXJlZ2V4LiBJdCBjYW4gYmUgdXNlZCB3aXRoIGAtbWAgdG8gZW5hYmxlIHRoZSBkZWZhdWx0IHJlZ2V4ZXMKIAlhcyB3ZWxsLiBZb3UgbXVzdCBlc2NhcGUgZm9yd2FyZCBzbGFzaGVzLgogKwogVGhlIHJlZ2V4IG11c3QgY2FwdHVyZSB0aGUgc291cmNlIGJyYW5jaCBuYW1lIGluICQxLgpAQCAtMTg2LDcgKzE4Niw3IEBACiAKIE9VVFBVVAogLS0tLS0tCi1JZiAnLXYnIGlzIHNwZWNpZmllZCwgdGhlIHNjcmlwdCByZXBvcnRzIHdoYXQgaXQgaXMgZG9pbmcuCitJZiBgLXZgIGlzIHNwZWNpZmllZCwgdGhlIHNjcmlwdCByZXBvcnRzIHdoYXQgaXQgaXMgZG9pbmcuCiAKIE90aGVyd2lzZSwgc3VjY2VzcyBpcyBpbmRpY2F0ZWQgdGhlIFVuaXggd2F5LCBpLmUuIGJ5IHNpbXBseSBleGl0aW5nIHdpdGgKIGEgemVybyBleGl0IHN0YXR1cy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWN2c3NlcnZlci50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jdnNzZXJ2ZXIudHh0CmluZGV4IGRiNGQ3YTkuLmEzMzZhZTUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWN2c3NlcnZlci50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY3Zzc2VydmVyLnR4dApAQCAtNTQsNyArNTQsNyBAQAogWW91IGNhbiBzcGVjaWZ5IGEgbGlzdCBvZiBhbGxvd2VkIGRpcmVjdG9yaWVzLiBJZiBubyBkaXJlY3RvcmllcwogYXJlIGdpdmVuLCBhbGwgYXJlIGFsbG93ZWQuIFRoaXMgaXMgYW4gYWRkaXRpb25hbCByZXN0cmljdGlvbiwgZ2l0Y3ZzCiBhY2Nlc3Mgc3RpbGwgbmVlZHMgdG8gYmUgZW5hYmxlZCBieSB0aGUgYGdpdGN2cy5lbmFibGVkYCBjb25maWcgb3B0aW9uCi11bmxlc3MgJy0tZXhwb3J0LWFsbCcgd2FzIGdpdmVuLCB0b28uCit1bmxlc3MgYC0tZXhwb3J0LWFsbGAgd2FzIGdpdmVuLCB0b28uCiAKIAogREVTQ1JJUFRJT04KQEAgLTMzMiw3ICszMzIsNyBAQAogMy4gQnJvd3NlIHRoZSAnbW9kdWxlcycgYXZhaWxhYmxlLiBJdCB3aWxsIGdpdmUgeW91IGEgbGlzdCBvZiB0aGUgaGVhZHMgaW4KICAgIHRoZSByZXBvc2l0b3J5LiBZb3Ugd2lsbCBub3QgYmUgYWJsZSB0byBicm93c2UgdGhlIHRyZWUgZnJvbSB0aGVyZS4gT25seQogICAgdGhlIGhlYWRzLgotNC4gUGljayAnSEVBRCcgd2hlbiBpdCBhc2tzIHdoYXQgYnJhbmNoL3RhZyB0byBjaGVjayBvdXQuIFVudGljayB0aGUKKzQuIFBpY2sgYEhFQURgIHdoZW4gaXQgYXNrcyB3aGF0IGJyYW5jaC90YWcgdG8gY2hlY2sgb3V0LiBVbnRpY2sgdGhlCiAgICAibGF1bmNoIGNvbW1pdCB3aXphcmQiIHRvIGF2b2lkIGNvbW1pdHRpbmcgdGhlIC5wcm9qZWN0IGZpbGUuCiAKIFByb3RvY29sIG5vdGVzOiBJZiB5b3UgYXJlIHVzaW5nIGFub255bW91cyBhY2Nlc3MgdmlhIHBzZXJ2ZXIsIGp1c3Qgc2VsZWN0IHRoYXQuCkBAIC00MDIsMTIgKzQwMiwxMiBAQAogQ1JMRiBMaW5lIEVuZGluZyBDb252ZXJzaW9ucwogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCi1CeSBkZWZhdWx0IHRoZSBzZXJ2ZXIgbGVhdmVzIHRoZSAnLWsnIG1vZGUgYmxhbmsgZm9yIGFsbCBmaWxlcywKK0J5IGRlZmF1bHQgdGhlIHNlcnZlciBsZWF2ZXMgdGhlIGAta2AgbW9kZSBibGFuayBmb3IgYWxsIGZpbGVzLAogd2hpY2ggY2F1c2VzIHRoZSBDVlMgY2xpZW50IHRvIHRyZWF0IHRoZW0gYXMgYSB0ZXh0IGZpbGVzLCBzdWJqZWN0CiB0byBlbmQtb2YtbGluZSBjb252ZXJzaW9uIG9uIHNvbWUgcGxhdGZvcm1zLgogCiBZb3UgY2FuIG1ha2UgdGhlIHNlcnZlciB1c2UgdGhlIGVuZC1vZi1saW5lIGNvbnZlcnNpb24gYXR0cmlidXRlcyB0bwotc2V0IHRoZSAnLWsnIG1vZGVzIGZvciBmaWxlcyBieSBzZXR0aW5nIHRoZSBgZ2l0Y3ZzLnVzZWNybGZhdHRyYAorc2V0IHRoZSBgLWtgIG1vZGVzIGZvciBmaWxlcyBieSBzZXR0aW5nIHRoZSBgZ2l0Y3ZzLnVzZWNybGZhdHRyYAogY29uZmlnIHZhcmlhYmxlLiAgU2VlIGxpbmtnaXQ6Z2l0YXR0cmlidXRlc1s1XSBmb3IgbW9yZSBpbmZvcm1hdGlvbgogYWJvdXQgZW5kLW9mLWxpbmUgY29udmVyc2lvbi4KIApAQCAtNDE1LDkgKzQxNSw5IEBACiBvciB0aGUgYXR0cmlidXRlcyBkbyBub3QgYWxsb3cgYXV0b21hdGljIGRldGVjdGlvbiBmb3IgYSBmaWxlbmFtZSwgdGhlbgogdGhlIHNlcnZlciB1c2VzIHRoZSBgZ2l0Y3ZzLmFsbEJpbmFyeWAgY29uZmlnIGZvciB0aGUgZGVmYXVsdCBzZXR0aW5nLgogSWYgYGdpdGN2cy5hbGxCaW5hcnlgIGlzIHNldCwgdGhlbiBmaWxlIG5vdCBvdGhlcndpc2UKLXNwZWNpZmllZCB3aWxsIGRlZmF1bHQgdG8gJy1rYicgbW9kZS4gT3RoZXJ3aXNlIHRoZSAnLWsnIG1vZGUKK3NwZWNpZmllZCB3aWxsIGRlZmF1bHQgdG8gJy1rYicgbW9kZS4gT3RoZXJ3aXNlIHRoZSBgLWtgIG1vZGUKIGlzIGxlZnQgYmxhbmsuIEJ1dCBpZiBgZ2l0Y3ZzLmFsbEJpbmFyeWAgaXMgc2V0IHRvICJndWVzcyIsIHRoZW4KLXRoZSBjb3JyZWN0ICctaycgbW9kZSB3aWxsIGJlIGd1ZXNzZWQgYmFzZWQgb24gdGhlIGNvbnRlbnRzIG9mCit0aGUgY29ycmVjdCBgLWtgIG1vZGUgd2lsbCBiZSBndWVzc2VkIGJhc2VkIG9uIHRoZSBjb250ZW50cyBvZgogdGhlIGZpbGUuCiAKIEZvciBiZXN0IGNvbnNpc3RlbmN5IHdpdGggJ2N2cycsIGl0IGlzIHByb2JhYmx5IGJlc3QgdG8gb3ZlcnJpZGUgdGhlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1kYWVtb24udHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZGFlbW9uLnR4dAppbmRleCBhNjliMzYxLi4zYzkxZGI3IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1kYWVtb24udHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWRhZW1vbi50eHQKQEAgLTMwLDcgKzMwLDcgQEAKIAogSXQgdmVyaWZpZXMgdGhhdCB0aGUgZGlyZWN0b3J5IGhhcyB0aGUgbWFnaWMgZmlsZSAiZ2l0LWRhZW1vbi1leHBvcnQtb2siLCBhbmQKIGl0IHdpbGwgcmVmdXNlIHRvIGV4cG9ydCBhbnkgR2l0IGRpcmVjdG9yeSB0aGF0IGhhc24ndCBleHBsaWNpdGx5IGJlZW4gbWFya2VkCi1mb3IgZXhwb3J0IHRoaXMgd2F5ICh1bmxlc3MgdGhlICctLWV4cG9ydC1hbGwnIHBhcmFtZXRlciBpcyBzcGVjaWZpZWQpLiBJZiB5b3UKK2ZvciBleHBvcnQgdGhpcyB3YXkgKHVubGVzcyB0aGUgYC0tZXhwb3J0LWFsbGAgcGFyYW1ldGVyIGlzIHNwZWNpZmllZCkuIElmIHlvdQogcGFzcyBzb21lIGRpcmVjdG9yeSBwYXRocyBhcyAnZ2l0IGRhZW1vbicgYXJndW1lbnRzLCB5b3UgY2FuIGZ1cnRoZXIgcmVzdHJpY3QKIHRoZSBvZmZlcnMgdG8gYSB3aGl0ZWxpc3QgY29tcHJpc2luZyBvZiB0aG9zZS4KIApAQCAtOTAsMTAgKzkwLDEwIEBACiAJaXMgbm90IHN1cHBvcnRlZCwgdGhlbiAtLWxpc3Rlbj1ob3N0bmFtZSBpcyBhbHNvIG5vdCBzdXBwb3J0ZWQgYW5kCiAJLS1saXN0ZW4gbXVzdCBiZSBnaXZlbiBhbiBJUHY0IGFkZHJlc3MuCiAJQ2FuIGJlIGdpdmVuIG1vcmUgdGhhbiBvbmNlLgotCUluY29tcGF0aWJsZSB3aXRoICctLWluZXRkJyBvcHRpb24uCisJSW5jb21wYXRpYmxlIHdpdGggYC0taW5ldGRgIG9wdGlvbi4KIAogLS1wb3J0PTxuPjo6Ci0JTGlzdGVuIG9uIGFuIGFsdGVybmF0aXZlIHBvcnQuICBJbmNvbXBhdGlibGUgd2l0aCAnLS1pbmV0ZCcgb3B0aW9uLgorCUxpc3RlbiBvbiBhbiBhbHRlcm5hdGl2ZSBwb3J0LiAgSW5jb21wYXRpYmxlIHdpdGggYC0taW5ldGRgIG9wdGlvbi4KIAogLS1pbml0LXRpbWVvdXQ9PG4+OjoKIAlUaW1lb3V0IChpbiBzZWNvbmRzKSBiZXR3ZWVuIHRoZSBtb21lbnQgdGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQKQEAgLTE4OCw3ICsxODgsNyBAQAogCWFyZ3VtZW50cy4gVGhlIGV4dGVybmFsIGNvbW1hbmQgY2FuIGRlY2lkZSB0byBkZWNsaW5lIHRoZQogCXNlcnZpY2UgYnkgZXhpdGluZyB3aXRoIGEgbm9uLXplcm8gc3RhdHVzIChvciB0byBhbGxvdyBpdCBieQogCWV4aXRpbmcgd2l0aCBhIHplcm8gc3RhdHVzKS4gIEl0IGNhbiBhbHNvIGxvb2sgYXQgdGhlICRSRU1PVEVfQUREUgotCWFuZCAkUkVNT1RFX1BPUlQgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGxlYXJuIGFib3V0IHRoZQorCWFuZCBgJFJFTU9URV9QT1JUYCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gbGVhcm4gYWJvdXQgdGhlCiAJcmVxdWVzdG9yIHdoZW4gbWFraW5nIHRoaXMgZGVjaXNpb24uCiArCiBUaGUgZXh0ZXJuYWwgY29tbWFuZCBjYW4gb3B0aW9uYWxseSB3cml0ZSBhIHNpbmdsZSBsaW5lIHRvIGl0cwpAQCAtMjk2LDcgKzI5Niw3IEBACiBzZWxlY3RpdmVseSBlbmFibGUvZGlzYWJsZSBzZXJ2aWNlcyBwZXIgcmVwb3NpdG9yeTo6CiAJVG8gZW5hYmxlICdnaXQgYXJjaGl2ZSAtLXJlbW90ZScgYW5kIGRpc2FibGUgJ2dpdCBmZXRjaCcgYWdhaW5zdAogCWEgcmVwb3NpdG9yeSwgaGF2ZSB0aGUgZm9sbG93aW5nIGluIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgaW4gdGhlCi0JcmVwb3NpdG9yeSAodGhhdCBpcyB0aGUgZmlsZSAnY29uZmlnJyBuZXh0IHRvICdIRUFEJywgJ3JlZnMnIGFuZAorCXJlcG9zaXRvcnkgKHRoYXQgaXMgdGhlIGZpbGUgJ2NvbmZpZycgbmV4dCB0byBgSEVBRGAsICdyZWZzJyBhbmQKIAknb2JqZWN0cycpLgogKwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZGVzY3JpYmUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZGVzY3JpYmUudHh0CmluZGV4IGM4ZjI4YzguLmU0YWM0NDggMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWRlc2NyaWJlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1kZXNjcmliZS50eHQKQEAgLTE1NCw3ICsxNTQsNyBAQAogSWYgYW4gZXhhY3QgbWF0Y2ggd2FzIG5vdCBmb3VuZCwgJ2dpdCBkZXNjcmliZScgd2lsbCB3YWxrIGJhY2sKIHRocm91Z2ggdGhlIGNvbW1pdCBoaXN0b3J5IHRvIGxvY2F0ZSBhbiBhbmNlc3RvciBjb21taXQgd2hpY2gKIGhhcyBiZWVuIHRhZ2dlZC4gIFRoZSBhbmNlc3RvcidzIHRhZyB3aWxsIGJlIG91dHB1dCBhbG9uZyB3aXRoIGFuCi1hYmJyZXZpYXRpb24gb2YgdGhlIGlucHV0IGNvbW1pdC1pc2gncyBTSEEtMS4gSWYgJy0tZmlyc3QtcGFyZW50JyB3YXMKK2FiYnJldmlhdGlvbiBvZiB0aGUgaW5wdXQgY29tbWl0LWlzaCdzIFNIQS0xLiBJZiBgLS1maXJzdC1wYXJlbnRgIHdhcwogc3BlY2lmaWVkIHRoZW4gdGhlIHdhbGsgd2lsbCBvbmx5IGNvbnNpZGVyIHRoZSBmaXJzdCBwYXJlbnQgb2YgZWFjaAogY29tbWl0LgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1kaWZmLWluZGV4LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYtaW5kZXgudHh0CmluZGV4IGE4NmNmNjIuLmExNzE1MDYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYtaW5kZXgudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYtaW5kZXgudHh0CkBAIC00MCwxMyArNDAsMTMgQEAKIE9wZXJhdGluZyBNb2RlcwogLS0tLS0tLS0tLS0tLS0tCiBZb3UgY2FuIGNob29zZSB3aGV0aGVyIHlvdSB3YW50IHRvIHRydXN0IHRoZSBpbmRleCBmaWxlIGVudGlyZWx5Ci0odXNpbmcgdGhlICctLWNhY2hlZCcgZmxhZykgb3IgYXNrIHRoZSBkaWZmIGxvZ2ljIHRvIHNob3cgYW55IGZpbGVzCisodXNpbmcgdGhlIGAtLWNhY2hlZGAgZmxhZykgb3IgYXNrIHRoZSBkaWZmIGxvZ2ljIHRvIHNob3cgYW55IGZpbGVzCiB0aGF0IGRvbid0IG1hdGNoIHRoZSBzdGF0IHN0YXRlIGFzIGJlaW5nICJ0ZW50YXRpdmVseSBjaGFuZ2VkIi4gIEJvdGgKIG9mIHRoZXNlIG9wZXJhdGlvbnMgYXJlIHZlcnkgdXNlZnVsIGluZGVlZC4KIAogQ2FjaGVkIE1vZGUKIC0tLS0tLS0tLS0tCi1JZiAnLS1jYWNoZWQnIGlzIHNwZWNpZmllZCwgaXQgYWxsb3dzIHlvdSB0byBhc2s6CitJZiBgLS1jYWNoZWRgIGlzIHNwZWNpZmllZCwgaXQgYWxsb3dzIHlvdSB0byBhc2s6CiAKIAlzaG93IG1lIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIEhFQUQgYW5kIHRoZSBjdXJyZW50IGluZGV4CiAJY29udGVudHMgKHRoZSBvbmVzIEknZCB3cml0ZSB1c2luZyAnZ2l0IHdyaXRlLXRyZWUnKQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZGlmZi10cmVlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYtdHJlZS50eHQKaW5kZXggMTQzOTQ4Ni4uNzg3MGUxNyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZGlmZi10cmVlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1kaWZmLXRyZWUudHh0CkBAIC00MywxMSArNDMsMTEgQEAKIAlzaG93IHRyZWUgZW50cnkgaXRzZWxmIGFzIHdlbGwgYXMgc3VidHJlZXMuICBJbXBsaWVzIC1yLgogCiAtLXJvb3Q6OgotCVdoZW4gJy0tcm9vdCcgaXMgc3BlY2lmaWVkIHRoZSBpbml0aWFsIGNvbW1pdCB3aWxsIGJlIHNob3duIGFzIGEgYmlnCisJV2hlbiBgLS1yb290YCBpcyBzcGVjaWZpZWQgdGhlIGluaXRpYWwgY29tbWl0IHdpbGwgYmUgc2hvd24gYXMgYSBiaWcKIAljcmVhdGlvbiBldmVudC4gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGEgZGlmZiBhZ2FpbnN0IHRoZSBOVUxMIHRyZWUuCiAKIC0tc3RkaW46OgotCVdoZW4gJy0tc3RkaW4nIGlzIHNwZWNpZmllZCwgdGhlIGNvbW1hbmQgZG9lcyBub3QgdGFrZQorCVdoZW4gYC0tc3RkaW5gIGlzIHNwZWNpZmllZCwgdGhlIGNvbW1hbmQgZG9lcyBub3QgdGFrZQogCTx0cmVlLWlzaD4gYXJndW1lbnRzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4gIEluc3RlYWQsIGl0CiAJcmVhZHMgbGluZXMgY29udGFpbmluZyBlaXRoZXIgdHdvIDx0cmVlPiwgb25lIDxjb21taXQ+LCBvciBhCiAJbGlzdCBvZiA8Y29tbWl0PiBmcm9tIGl0cyBzdGFuZGFyZCBpbnB1dC4gIChVc2UgYSBzaW5nbGUgc3BhY2UKQEAgLTcwLDEzICs3MCwxMyBAQAogCUJ5IGRlZmF1bHQsICdnaXQgZGlmZi10cmVlIC0tc3RkaW4nIGRvZXMgbm90IHNob3cKIAlkaWZmZXJlbmNlcyBmb3IgbWVyZ2UgY29tbWl0cy4gIFdpdGggdGhpcyBmbGFnLCBpdCBzaG93cwogCWRpZmZlcmVuY2VzIHRvIHRoYXQgY29tbWl0IGZyb20gYWxsIG9mIGl0cyBwYXJlbnRzLiBTZWUKLQlhbHNvICctYycuCisJYWxzbyBgLWNgLgogCiAtczo6CiAJQnkgZGVmYXVsdCwgJ2dpdCBkaWZmLXRyZWUgLS1zdGRpbicgc2hvd3MgZGlmZmVyZW5jZXMsCi0JZWl0aGVyIGluIG1hY2hpbmUtcmVhZGFibGUgZm9ybSAod2l0aG91dCAnLXAnKSBvciBpbiBwYXRjaAotCWZvcm0gKHdpdGggJy1wJykuICBUaGlzIG91dHB1dCBjYW4gYmUgc3VwcHJlc3NlZC4gIEl0IGlzCi0Jb25seSB1c2VmdWwgd2l0aCAnLXYnIGZsYWcuCisJZWl0aGVyIGluIG1hY2hpbmUtcmVhZGFibGUgZm9ybSAod2l0aG91dCBgLXBgKSBvciBpbiBwYXRjaAorCWZvcm0gKHdpdGggYC1wYCkuICBUaGlzIG91dHB1dCBjYW4gYmUgc3VwcHJlc3NlZC4gIEl0IGlzCisJb25seSB1c2VmdWwgd2l0aCBgLXZgIGZsYWcuCiAKIC12OjoKIAlUaGlzIGZsYWcgY2F1c2VzICdnaXQgZGlmZi10cmVlIC0tc3RkaW4nIHRvIGFsc28gc2hvdwpAQCAtOTEsMTcgKzkxLDE3IEBACiAtYzo6CiAJVGhpcyBmbGFnIGNoYW5nZXMgdGhlIHdheSBhIG1lcmdlIGNvbW1pdCBpcyBkaXNwbGF5ZWQKIAkod2hpY2ggbWVhbnMgaXQgaXMgdXNlZnVsIG9ubHkgd2hlbiB0aGUgY29tbWFuZCBpcyBnaXZlbgotCW9uZSA8dHJlZS1pc2g+LCBvciAnLS1zdGRpbicpLiAgSXQgc2hvd3MgdGhlIGRpZmZlcmVuY2VzCisJb25lIDx0cmVlLWlzaD4sIG9yIGAtLXN0ZGluYCkuICBJdCBzaG93cyB0aGUgZGlmZmVyZW5jZXMKIAlmcm9tIGVhY2ggb2YgdGhlIHBhcmVudHMgdG8gdGhlIG1lcmdlIHJlc3VsdCBzaW11bHRhbmVvdXNseQogCWluc3RlYWQgb2Ygc2hvd2luZyBwYWlyd2lzZSBkaWZmIGJldHdlZW4gYSBwYXJlbnQgYW5kIHRoZQotCXJlc3VsdCBvbmUgYXQgYSB0aW1lICh3aGljaCBpcyB3aGF0IHRoZSAnLW0nIG9wdGlvbiBkb2VzKS4KKwlyZXN1bHQgb25lIGF0IGEgdGltZSAod2hpY2ggaXMgd2hhdCB0aGUgYC1tYCBvcHRpb24gZG9lcykuCiAJRnVydGhlcm1vcmUsIGl0IGxpc3RzIG9ubHkgZmlsZXMgd2hpY2ggd2VyZSBtb2RpZmllZAogCWZyb20gYWxsIHBhcmVudHMuCiAKIC0tY2M6OgogCVRoaXMgZmxhZyBjaGFuZ2VzIHRoZSB3YXkgYSBtZXJnZSBjb21taXQgcGF0Y2ggaXMgZGlzcGxheWVkLAotCWluIGEgc2ltaWxhciB3YXkgdG8gdGhlICctYycgb3B0aW9uLiBJdCBpbXBsaWVzIHRoZSAnLWMnCi0JYW5kICctcCcgb3B0aW9ucyBhbmQgZnVydGhlciBjb21wcmVzc2VzIHRoZSBwYXRjaCBvdXRwdXQKKwlpbiBhIHNpbWlsYXIgd2F5IHRvIHRoZSBgLWNgIG9wdGlvbi4gSXQgaW1wbGllcyB0aGUgYC1jYAorCWFuZCBgLXBgIG9wdGlvbnMgYW5kIGZ1cnRoZXIgY29tcHJlc3NlcyB0aGUgcGF0Y2ggb3V0cHV0CiAJYnkgb21pdHRpbmcgdW5pbnRlcmVzdGluZyBodW5rcyB3aG9zZSB0aGUgY29udGVudHMgaW4gdGhlIHBhcmVudHMKIAloYXZlIG9ubHkgdHdvIHZhcmlhbnRzIGFuZCB0aGUgbWVyZ2UgcmVzdWx0IHBpY2tzIG9uZSBvZiB0aGVtCiAJd2l0aG91dCBtb2RpZmljYXRpb24uICBXaGVuIGFsbCBodW5rcyBhcmUgdW5pbnRlcmVzdGluZywgdGhlIGNvbW1pdApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZGlmZnRvb2wudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZGlmZnRvb2wudHh0CmluZGV4IDMzM2NmNmYuLjIyNGZiMzAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWRpZmZ0b29sLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1kaWZmdG9vbC50eHQKQEAgLTk4LDcgKzk4LDcgQEAKIAlpbnZva2VkIGRpZmYgdG9vbCByZXR1cm5zIGEgbm9uLXplcm8gZXhpdCBjb2RlLgogKwogJ2dpdC1kaWZmdG9vbCcgd2lsbCBmb3J3YXJkIHRoZSBleGl0IGNvZGUgb2YgdGhlIGludm9rZWQgdG9vbCB3aGVuCi0nLS10cnVzdC1leGl0LWNvZGUnIGlzIHVzZWQuCitgLS10cnVzdC1leGl0LWNvZGVgIGlzIHVzZWQuCiAKIFNlZSBsaW5rZ2l0OmdpdC1kaWZmWzFdIGZvciB0aGUgZnVsbCBsaXN0IG9mIHN1cHBvcnRlZCBvcHRpb25zLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1mYXN0LWltcG9ydC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1mYXN0LWltcG9ydC50eHQKaW5kZXggNjY5MTBhYS4uMmI3NjI2NSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZmFzdC1pbXBvcnQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWZhc3QtaW1wb3J0LnR4dApAQCAtMTM2LDYgKzEzNiw4IEBACiAJTWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2tmaWxlLgogCVRoZSBkZWZhdWx0IGlzIHVubGltaXRlZC4KIAorZmFzdGltcG9ydC51bnBhY2tMaW1pdDo6CisJU2VlIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXQogCiBQZXJmb3JtYW5jZQogLS0tLS0tLS0tLS0KQEAgLTEwNTQsNyArMTA1Niw3IEBACiBuby1yZWxhdGl2ZS1tYXJrczo6CiBmb3JjZTo6CiAJQWN0IGFzIHRob3VnaCB0aGUgY29ycmVzcG9uZGluZyBjb21tYW5kLWxpbmUgb3B0aW9uIHdpdGgKLQlhIGxlYWRpbmcgJy0tJyB3YXMgcGFzc2VkIG9uIHRoZSBjb21tYW5kIGxpbmUKKwlhIGxlYWRpbmcgYC0tYCB3YXMgcGFzc2VkIG9uIHRoZSBjb21tYW5kIGxpbmUKIAkoc2VlIE9QVElPTlMsIGFib3ZlKS4KIAogaW1wb3J0LW1hcmtzOjoKQEAgLTExMDUsNyArMTEwNyw3IEBACiAKIFRoZSBgPG9wdGlvbj5gIHBhcnQgb2YgdGhlIGNvbW1hbmQgbWF5IGNvbnRhaW4gYW55IG9mIHRoZSBvcHRpb25zCiBsaXN0ZWQgaW4gdGhlIE9QVElPTlMgc2VjdGlvbiB0aGF0IGRvIG5vdCBjaGFuZ2UgaW1wb3J0IHNlbWFudGljcywKLXdpdGhvdXQgdGhlIGxlYWRpbmcgJy0tJyBhbmQgaXMgdHJlYXRlZCBpbiB0aGUgc2FtZSB3YXkuCit3aXRob3V0IHRoZSBsZWFkaW5nIGAtLWAgYW5kIGlzIHRyZWF0ZWQgaW4gdGhlIHNhbWUgd2F5LgogCiBPcHRpb24gY29tbWFuZHMgbXVzdCBiZSB0aGUgZmlyc3QgY29tbWFuZHMgb24gdGhlIGlucHV0IChub3QgY291bnRpbmcKIGZlYXR1cmUgY29tbWFuZHMpLCB0byBnaXZlIGFuIG9wdGlvbiBjb21tYW5kIGFmdGVyIGFueSBub24tb3B0aW9uCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1mZXRjaC1wYWNrLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWZldGNoLXBhY2sudHh0CmluZGV4IDIzOTYyM2MuLmQ0NWY2YWQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWZldGNoLXBhY2sudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWZldGNoLXBhY2sudHh0CkBAIC00MSwxMyArNDEsMTMgQEAKIAlvcHRpb24sIHRoZW4gdGhlIHJlZnMgZnJvbSBzdGRpbiBhcmUgcHJvY2Vzc2VkIGFmdGVyIHRob3NlCiAJb24gdGhlIGNvbW1hbmQgbGluZS4KICsKLUlmICctLXN0YXRlbGVzcy1ycGMnIGlzIHNwZWNpZmllZCB0b2dldGhlciB3aXRoIHRoaXMgb3B0aW9uIHRoZW4KK0lmIGAtLXN0YXRlbGVzcy1ycGNgIGlzIHNwZWNpZmllZCB0b2dldGhlciB3aXRoIHRoaXMgb3B0aW9uIHRoZW4KIHRoZSBsaXN0IG9mIHJlZnMgbXVzdCBiZSBpbiBwYWNrZXQgZm9ybWF0IChwa3QtbGluZSkuIEVhY2ggcmVmIG11c3QKIGJlIGluIGEgc2VwYXJhdGUgcGFja2V0LCBhbmQgdGhlIGxpc3QgbXVzdCBlbmQgd2l0aCBhIGZsdXNoIHBhY2tldC4KIAogLXE6OgogLS1xdWlldDo6Ci0JUGFzcyAnLXEnIGZsYWcgdG8gJ2dpdCB1bnBhY2stb2JqZWN0cyc7IHRoaXMgbWFrZXMgdGhlCisJUGFzcyBgLXFgIGZsYWcgdG8gJ2dpdCB1bnBhY2stb2JqZWN0cyc7IHRoaXMgbWFrZXMgdGhlCiAJY2xvbmluZyBwcm9jZXNzIGxlc3MgdmVyYm9zZS4KIAogLWs6OgpAQCAtODcsNiArODcsMjAgQEAKIAknZ2l0LXVwbG9hZC1wYWNrJyB0cmVhdHMgdGhlIHNwZWNpYWwgZGVwdGggMjE0NzQ4MzY0NyBhcwogCWluZmluaXRlIGV2ZW4gaWYgdGhlcmUgaXMgYW4gYW5jZXN0b3ItY2hhaW4gdGhhdCBsb25nLgogCistLXNoYWxsb3ctc2luY2U9PGRhdGU+OjoKKwlEZWVwZW4gb3Igc2hvcnRlbiB0aGUgaGlzdG9yeSBvZiBhIHNoYWxsb3cncmVwb3NpdG9yeSB0bworCWluY2x1ZGUgYWxsIHJlYWNoYWJsZSBjb21taXRzIGFmdGVyIDxkYXRlPi4KKworLS1zaGFsbG93LWV4Y2x1ZGU9PHJldmlzaW9uPjo6CisJRGVlcGVuIG9yIHNob3J0ZW4gdGhlIGhpc3Rvcnkgb2YgYSBzaGFsbG93IHJlcG9zaXRvcnkgdG8KKwlleGNsdWRlIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYSBzcGVjaWZpZWQgcmVtb3RlIGJyYW5jaCBvciB0YWcuCisJVGhpcyBvcHRpb24gY2FuIGJlIHNwZWNpZmllZCBtdWx0aXBsZSB0aW1lcy4KKworLS1kZWVwZW4tcmVsYXRpdmU6OgorCUFyZ3VtZW50IC0tZGVwdGggc3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgY29tbWl0cyBmcm9tIHRoZQorCWN1cnJlbnQgc2hhbGxvdyBib3VuZGFyeSBpbnN0ZWFkIG9mIGZyb20gdGhlIHRpcCBvZiBlYWNoCisJcmVtb3RlIGJyYW5jaCBoaXN0b3J5LgorCiAtLW5vLXByb2dyZXNzOjoKIAlEbyBub3Qgc2hvdyB0aGUgcHJvZ3Jlc3MuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWZldGNoLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWZldGNoLnR4dAppbmRleCBlZmU1NmUwLi45ZTQyMTY5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1mZXRjaC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZmV0Y2gudHh0CkBAIC05OSw2ICs5OSw1NyBAQAogb3ZlcnJpZGRlbiBieSBnaXZpbmcgdGhlIGAtLXJlZm1hcD08cmVmc3BlYz5gIHBhcmFtZXRlcihzKSBvbiB0aGUKIGNvbW1hbmQgbGluZS4KIAorT1VUUFVUCistLS0tLS0KKworVGhlIG91dHB1dCBvZiAiZ2l0IGZldGNoIiBkZXBlbmRzIG9uIHRoZSB0cmFuc3BvcnQgbWV0aG9kIHVzZWQ7IHRoaXMKK3NlY3Rpb24gZGVzY3JpYmVzIHRoZSBvdXRwdXQgd2hlbiBmZXRjaGluZyBvdmVyIHRoZSBHaXQgcHJvdG9jb2wKKyhlaXRoZXIgbG9jYWxseSBvciB2aWEgc3NoKSBhbmQgU21hcnQgSFRUUCBwcm90b2NvbC4KKworVGhlIHN0YXR1cyBvZiB0aGUgZmV0Y2ggaXMgb3V0cHV0IGluIHRhYnVsYXIgZm9ybSwgd2l0aCBlYWNoIGxpbmUKK3JlcHJlc2VudGluZyB0aGUgc3RhdHVzIG9mIGEgc2luZ2xlIHJlZi4gRWFjaCBsaW5lIGlzIG9mIHRoZSBmb3JtOgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgPGZsYWc+IDxzdW1tYXJ5PiA8ZnJvbT4gLT4gPHRvPiBbPHJlYXNvbj5dCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBzdGF0dXMgb2YgdXAtdG8tZGF0ZSByZWZzIGlzIHNob3duIG9ubHkgaWYgdGhlIC0tdmVyYm9zZSBvcHRpb24gaXMKK3VzZWQuCisKK0luIGNvbXBhY3Qgb3V0cHV0IG1vZGUsIHNwZWNpZmllZCB3aXRoIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUKK2ZldGNoLm91dHB1dCwgaWYgZWl0aGVyIGVudGlyZSBgPGZyb20+YCBvciBgPHRvPmAgaXMgZm91bmQgaW4gdGhlCitvdGhlciBzdHJpbmcsIGl0IHdpbGwgYmUgc3Vic3RpdHV0ZWQgd2l0aCBgKmAgaW4gdGhlIG90aGVyIHN0cmluZy4gRm9yCitleGFtcGxlLCBgbWFzdGVyIC0+IG9yaWdpbi9tYXN0ZXJgIGJlY29tZXMgYG1hc3RlciAtPiBvcmlnaW4vKmAuCisKK2ZsYWc6OgorCUEgc2luZ2xlIGNoYXJhY3RlciBpbmRpY2F0aW5nIHRoZSBzdGF0dXMgb2YgdGhlIHJlZjoKKyhzcGFjZSk7OyBmb3IgYSBzdWNjZXNzZnVsbHkgZmV0Y2hlZCBmYXN0LWZvcndhcmQ7CitgK2A7OyBmb3IgYSBzdWNjZXNzZnVsIGZvcmNlZCB1cGRhdGU7CitgLWA7OyBmb3IgYSBzdWNjZXNzZnVsbHkgcHJ1bmVkIHJlZjsKK2B0YDs7IGZvciBhIHN1Y2Nlc3NmdWwgdGFnIHVwZGF0ZTsKK2AqYDs7IGZvciBhIHN1Y2Nlc3NmdWxseSBmZXRjaGVkIG5ldyByZWY7CitgIWA7OyBmb3IgYSByZWYgdGhhdCB3YXMgcmVqZWN0ZWQgb3IgZmFpbGVkIHRvIHVwZGF0ZTsgYW5kCitgPWA7OyBmb3IgYSByZWYgdGhhdCB3YXMgdXAgdG8gZGF0ZSBhbmQgZGlkIG5vdCBuZWVkIGZldGNoaW5nLgorCitzdW1tYXJ5OjoKKwlGb3IgYSBzdWNjZXNzZnVsbHkgZmV0Y2hlZCByZWYsIHRoZSBzdW1tYXJ5IHNob3dzIHRoZSBvbGQgYW5kIG5ldworCXZhbHVlcyBvZiB0aGUgcmVmIGluIGEgZm9ybSBzdWl0YWJsZSBmb3IgdXNpbmcgYXMgYW4gYXJndW1lbnQgdG8KKwlgZ2l0IGxvZ2AgKHRoaXMgaXMgYDxvbGQ+Li48bmV3PmAgaW4gbW9zdCBjYXNlcywgYW5kCisJYDxvbGQ+Li4uPG5ldz5gIGZvciBmb3JjZWQgbm9uLWZhc3QtZm9yd2FyZCB1cGRhdGVzKS4KKworZnJvbTo6CisJVGhlIG5hbWUgb2YgdGhlIHJlbW90ZSByZWYgYmVpbmcgZmV0Y2hlZCBmcm9tLCBtaW51cyBpdHMKKwlgcmVmcy88dHlwZT4vYCBwcmVmaXguIEluIHRoZSBjYXNlIG9mIGRlbGV0aW9uLCB0aGUgbmFtZSBvZgorCXRoZSByZW1vdGUgcmVmIGlzICIobm9uZSkiLgorCit0bzo6CisJVGhlIG5hbWUgb2YgdGhlIGxvY2FsIHJlZiBiZWluZyB1cGRhdGVkLCBtaW51cyBpdHMKKwlgcmVmcy88dHlwZT4vYCBwcmVmaXguCisKK3JlYXNvbjo6CisJQSBodW1hbi1yZWFkYWJsZSBleHBsYW5hdGlvbi4gSW4gdGhlIGNhc2Ugb2Ygc3VjY2Vzc2Z1bGx5IGZldGNoZWQKKwlyZWZzLCBubyBleHBsYW5hdGlvbiBpcyBuZWVkZWQuIEZvciBhIGZhaWxlZCByZWYsIHRoZSByZWFzb24gZm9yCisJZmFpbHVyZSBpcyBkZXNjcmliZWQuCiAKIEVYQU1QTEVTCiAtLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZmlsdGVyLWJyYW5jaC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1maWx0ZXItYnJhbmNoLnR4dAppbmRleCAwMDM3MzFmLi4wYTA5Njk4IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1maWx0ZXItYnJhbmNoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1maWx0ZXItYnJhbmNoLnR4dApAQCAtNTIsNyArNTIsNyBAQAogCiBOb3RlIHRoYXQgc2luY2UgdGhpcyBvcGVyYXRpb24gaXMgdmVyeSBJL08gZXhwZW5zaXZlLCBpdCBtaWdodAogYmUgYSBnb29kIGlkZWEgdG8gcmVkaXJlY3QgdGhlIHRlbXBvcmFyeSBkaXJlY3Rvcnkgb2ZmLWRpc2sgd2l0aCB0aGUKLSctZCcgb3B0aW9uLCBlLmcuIG9uIHRtcGZzLiAgUmVwb3J0ZWRseSB0aGUgc3BlZWR1cCBpcyB2ZXJ5IG5vdGljZWFibGUuCitgLWRgIG9wdGlvbiwgZS5nLiBvbiB0bXBmcy4gIFJlcG9ydGVkbHkgdGhlIHNwZWVkdXAgaXMgdmVyeSBub3RpY2VhYmxlLgogCiAKIEZpbHRlcnMKQEAgLTYxLDcgKzYxLDcgQEAKIFRoZSBmaWx0ZXJzIGFyZSBhcHBsaWVkIGluIHRoZSBvcmRlciBhcyBsaXN0ZWQgYmVsb3cuICBUaGUgPGNvbW1hbmQ+CiBhcmd1bWVudCBpcyBhbHdheXMgZXZhbHVhdGVkIGluIHRoZSBzaGVsbCBjb250ZXh0IHVzaW5nIHRoZSAnZXZhbCcgY29tbWFuZAogKHdpdGggdGhlIG5vdGFibGUgZXhjZXB0aW9uIG9mIHRoZSBjb21taXQgZmlsdGVyLCBmb3IgdGVjaG5pY2FsIHJlYXNvbnMpLgotUHJpb3IgdG8gdGhhdCwgdGhlICRHSVRfQ09NTUlUIGVudmlyb25tZW50IHZhcmlhYmxlIHdpbGwgYmUgc2V0IHRvIGNvbnRhaW4KK1ByaW9yIHRvIHRoYXQsIHRoZSBgJEdJVF9DT01NSVRgIGVudmlyb25tZW50IHZhcmlhYmxlIHdpbGwgYmUgc2V0IHRvIGNvbnRhaW4KIHRoZSBpZCBvZiB0aGUgY29tbWl0IGJlaW5nIHJld3JpdHRlbi4gIEFsc28sIEdJVF9BVVRIT1JfTkFNRSwKIEdJVF9BVVRIT1JfRU1BSUwsIEdJVF9BVVRIT1JfREFURSwgR0lUX0NPTU1JVFRFUl9OQU1FLCBHSVRfQ09NTUlUVEVSX0VNQUlMLAogYW5kIEdJVF9DT01NSVRURVJfREFURSBhcmUgdGFrZW4gZnJvbSB0aGUgY3VycmVudCBjb21taXQgYW5kIGV4cG9ydGVkIHRvCkBAIC0xNzEsNyArMTcxLDcgQEAKIAl1bnRvdWNoZWQuICBUaGlzIHN3aXRjaCBhbGxvdyBnaXQtZmlsdGVyLWJyYW5jaCB0byBpZ25vcmUgc3VjaAogCWNvbW1pdHMuICBUaG91Z2gsIHRoaXMgc3dpdGNoIG9ubHkgYXBwbGllcyBmb3IgY29tbWl0cyB0aGF0IGhhdmUgb25lCiAJYW5kIG9ubHkgb25lIHBhcmVudCwgaXQgd2lsbCBoZW5jZSBrZWVwIG1lcmdlcyBwb2ludHMuIEFsc28sIHRoaXMKLQlvcHRpb24gaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0aGUgdXNlIG9mICctLWNvbW1pdC1maWx0ZXInLiBUaG91Z2ggeW91CisJb3B0aW9uIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIHVzZSBvZiBgLS1jb21taXQtZmlsdGVyYC4gVGhvdWdoIHlvdQogCWp1c3QgbmVlZCB0byB1c2UgdGhlIGZ1bmN0aW9uICdnaXRfY29tbWl0X25vbl9lbXB0eV90cmVlICIkQCInIGluc3RlYWQKIAlvZiB0aGUgYGdpdCBjb21taXQtdHJlZSAiJEAiYCBpZGlvbSBpbiB5b3VyIGNvbW1pdCBmaWx0ZXIgdG8gbWFrZSB0aGF0CiAJaGFwcGVuLgpAQCAtMTk3LDcgKzE5Nyw3IEBACiA8cmV2LWxpc3Qgb3B0aW9ucz4uLi46OgogCUFyZ3VtZW50cyBmb3IgJ2dpdCByZXYtbGlzdCcuICBBbGwgcG9zaXRpdmUgcmVmcyBpbmNsdWRlZCBieQogCXRoZXNlIG9wdGlvbnMgYXJlIHJld3JpdHRlbi4gIFlvdSBtYXkgYWxzbyBzcGVjaWZ5IG9wdGlvbnMKLQlzdWNoIGFzICctLWFsbCcsIGJ1dCB5b3UgbXVzdCB1c2UgJy0tJyB0byBzZXBhcmF0ZSB0aGVtIGZyb20KKwlzdWNoIGFzIGAtLWFsbGAsIGJ1dCB5b3UgbXVzdCB1c2UgYC0tYCB0byBzZXBhcmF0ZSB0aGVtIGZyb20KIAl0aGUgJ2dpdCBmaWx0ZXItYnJhbmNoJyBvcHRpb25zLiBJbXBsaWVzIDw8UmVtYXBfdG9fYW5jZXN0b3I+Pi4KIAogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1mbXQtbWVyZ2UtbXNnLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWZtdC1tZXJnZS1tc2cudHh0CmluZGV4IDY1MjZiMTcuLjQ0ODkyYzQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWZtdC1tZXJnZS1tc2cudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWZtdC1tZXJnZS1tc2cudHh0CkBAIC02MCwxMCArNjAsMTAgQEAKIEVYQU1QTEUKIC0tLS0tLS0KIAotLS0KKy0tLS0tLS0tLQogJCBnaXQgZmV0Y2ggb3JpZ2luIG1hc3RlcgogJCBnaXQgZm10LW1lcmdlLW1zZyAtLWxvZyA8JEdJVF9ESVIvRkVUQ0hfSEVBRAotLS0KKy0tLS0tLS0tLQogCiBQcmludCBhIGxvZyBtZXNzYWdlIGRlc2NyaWJpbmcgYSBtZXJnZSBvZiB0aGUgIm1hc3RlciIgYnJhbmNoIGZyb20KIHRoZSAib3JpZ2luIiByZW1vdGUuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1mb3ItZWFjaC1yZWYudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZm9yLWVhY2gtcmVmLnR4dAppbmRleCBkOWQ0MDZkLi5mNTdlNjliIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1mb3ItZWFjaC1yZWYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWZvci1lYWNoLXJlZi50eHQKQEAgLTE0Miw3ICsxNDIsNyBAQAogCTx3aWR0aD4gYW5kIDxwb3NpdGlvbj4gdXNlZCBpbnN0ZWFkLiAgRm9yIGluc3RhbmNlLAogCWAlKGFsaWduOjx3aWR0aD4sPHBvc2l0aW9uPilgLiBJZiB0aGUgY29udGVudHMgbGVuZ3RoIGlzIG1vcmUKIAl0aGFuIHRoZSB3aWR0aCB0aGVuIG5vIGFsaWdubWVudCBpcyBwZXJmb3JtZWQuIElmIHVzZWQgd2l0aAotCSctLXF1b3RlJyBldmVyeXRoaW5nIGluIGJldHdlZW4gJShhbGlnbjouLi4pIGFuZCAlKGVuZCkgaXMKKwlgLS1xdW90ZWAgZXZlcnl0aGluZyBpbiBiZXR3ZWVuICUoYWxpZ246Li4uKSBhbmQgJShlbmQpIGlzCiAJcXVvdGVkLCBidXQgaWYgbmVzdGVkIHRoZW4gb25seSB0aGUgdG9wbW9zdCBsZXZlbCBwZXJmb3JtcwogCXF1b3RpbmcuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWZvcm1hdC1wYXRjaC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1mb3JtYXQtcGF0Y2gudHh0CmluZGV4IGJkZWVjZDUuLjliMjAwYjMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWZvcm1hdC1wYXRjaC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZm9ybWF0LXBhdGNoLnR4dApAQCAtMTksNyArMTksOCBAQAogCQkgICBbLS1zdGFydC1udW1iZXIgPG4+XSBbLS1udW1iZXJlZC1maWxlc10KIAkJICAgWy0taW4tcmVwbHktdG89TWVzc2FnZS1JZF0gWy0tc3VmZml4PS48c2Z4Pl0KIAkJICAgWy0taWdub3JlLWlmLWluLXVwc3RyZWFtXQotCQkgICBbLS1zdWJqZWN0LXByZWZpeD1TdWJqZWN0LVByZWZpeF0gWygtLXJlcm9sbC1jb3VudHwtdikgPG4+XQorCQkgICBbLS1yZmNdIFstLXN1YmplY3QtcHJlZml4PVN1YmplY3QtUHJlZml4XQorCQkgICBbKC0tcmVyb2xsLWNvdW50fC12KSA8bj5dCiAJCSAgIFstLXRvPTxlbWFpbD5dIFstLWNjPTxlbWFpbD5dCiAJCSAgIFstLVtuby1dY292ZXItbGV0dGVyXSBbLS1xdWlldF0gWy0tbm90ZXNbPTxyZWY+XV0KIAkJICAgWzxjb21tb24gZGlmZiBvcHRpb25zPl0KQEAgLTU4LDcgKzU5LDcgQEAKIAogSWYgYC1vYCBpcyBzcGVjaWZpZWQsIG91dHB1dCBmaWxlcyBhcmUgY3JlYXRlZCBpbiA8ZGlyPi4gIE90aGVyd2lzZQogdGhleSBhcmUgY3JlYXRlZCBpbiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4gVGhlIGRlZmF1bHQgcGF0aAotY2FuIGJlIHNldCB3aXRoIHRoZSAnZm9ybWF0Lm91dHB1dERpcmVjdG9yeScgY29uZmlndXJhdGlvbiBvcHRpb24uCitjYW4gYmUgc2V0IHdpdGggdGhlIGBmb3JtYXQub3V0cHV0RGlyZWN0b3J5YCBjb25maWd1cmF0aW9uIG9wdGlvbi4KIFRoZSBgLW9gIG9wdGlvbiB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYGZvcm1hdC5vdXRwdXREaXJlY3RvcnlgLgogVG8gc3RvcmUgcGF0Y2hlcyBpbiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBldmVuIHdoZW4KIGBmb3JtYXQub3V0cHV0RGlyZWN0b3J5YCBwb2ludHMgZWxzZXdoZXJlLCB1c2UgYC1vIC5gLgpAQCAtMTQ2LDkgKzE0Nyw5IEBACiBgLS1pbi1yZXBseS10b2AsIGFuZCB0aGUgZmlyc3QgcGF0Y2ggbWFpbCwgaW4gdGhpcyBvcmRlci4gICdkZWVwJwogdGhyZWFkaW5nIG1ha2VzIGV2ZXJ5IG1haWwgYSByZXBseSB0byB0aGUgcHJldmlvdXMgb25lLgogKwotVGhlIGRlZmF1bHQgaXMgYC0tbm8tdGhyZWFkYCwgdW5sZXNzIHRoZSAnZm9ybWF0LnRocmVhZCcgY29uZmlndXJhdGlvbgorVGhlIGRlZmF1bHQgaXMgYC0tbm8tdGhyZWFkYCwgdW5sZXNzIHRoZSBgZm9ybWF0LnRocmVhZGAgY29uZmlndXJhdGlvbgogaXMgc2V0LiAgSWYgYC0tdGhyZWFkYCBpcyBzcGVjaWZpZWQgd2l0aG91dCBhIHN0eWxlLCBpdCBkZWZhdWx0cyB0byB0aGUKLXN0eWxlIHNwZWNpZmllZCBieSAnZm9ybWF0LnRocmVhZCcgaWYgYW55LCBvciBlbHNlIGBzaGFsbG93YC4KK3N0eWxlIHNwZWNpZmllZCBieSBgZm9ybWF0LnRocmVhZGAgaWYgYW55LCBvciBlbHNlIGBzaGFsbG93YC4KICsKIEJld2FyZSB0aGF0IHRoZSBkZWZhdWx0IGZvciAnZ2l0IHNlbmQtZW1haWwnIGlzIHRvIHRocmVhZCBlbWFpbHMKIGl0c2VsZi4gIElmIHlvdSB3YW50IGBnaXQgZm9ybWF0LXBhdGNoYCB0byB0YWtlIGNhcmUgb2YgdGhyZWFkaW5nLCB5b3UKQEAgLTE3Miw2ICsxNzMsMTEgQEAKIAlhbGxvd3MgZm9yIHVzZWZ1bCBuYW1pbmcgb2YgYSBwYXRjaCBzZXJpZXMsIGFuZCBjYW4gYmUKIAljb21iaW5lZCB3aXRoIHRoZSBgLS1udW1iZXJlZGAgb3B0aW9uLgogCistLXJmYzo6CisJQWxpYXMgZm9yIGAtLXN1YmplY3QtcHJlZml4PSJSRkMgUEFUQ0giYC4gUkZDIG1lYW5zICJSZXF1ZXN0IEZvcgorCUNvbW1lbnRzIjsgdXNlIHRoaXMgd2hlbiBzZW5kaW5nIGFuIGV4cGVyaW1lbnRhbCBwYXRjaCBmb3IKKwlkaXNjdXNzaW9uIHJhdGhlciB0aGFuIGFwcGxpY2F0aW9uLgorCiAtdiA8bj46OgogLS1yZXJvbGwtY291bnQ9PG4+OjoKIAlNYXJrIHRoZSBzZXJpZXMgYXMgdGhlIDxuPi10aCBpdGVyYXRpb24gb2YgdGhlIHRvcGljLiBUaGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWZzY2sudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZnNjay50eHQKaW5kZXggODRlZTkyZS4uYjlmMDYwZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZnNjay50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZnNjay50eHQKQEAgLTExLDcgKzExLDggQEAKIFt2ZXJzZV0KICdnaXQgZnNjaycgWy0tdGFnc10gWy0tcm9vdF0gWy0tdW5yZWFjaGFibGVdIFstLWNhY2hlXSBbLS1uby1yZWZsb2dzXQogCSBbLS1bbm8tXWZ1bGxdIFstLXN0cmljdF0gWy0tdmVyYm9zZV0gWy0tbG9zdC1mb3VuZF0KLQkgWy0tW25vLV1kYW5nbGluZ10gWy0tW25vLV1wcm9ncmVzc10gWy0tY29ubmVjdGl2aXR5LW9ubHldIFs8b2JqZWN0PipdCisJIFstLVtuby1dZGFuZ2xpbmddIFstLVtuby1dcHJvZ3Jlc3NdIFstLWNvbm5lY3Rpdml0eS1vbmx5XQorCSBbLS1bbm8tXW5hbWUtb2JqZWN0c10gWzxvYmplY3Q+Kl0KIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCkBAIC04Miw2ICs4MywxMiBAQAogCWEgYmxvYiwgdGhlIGNvbnRlbnRzIGFyZSB3cml0dGVuIGludG8gdGhlIGZpbGUsIHJhdGhlciB0aGFuCiAJaXRzIG9iamVjdCBuYW1lLgogCistLW5hbWUtb2JqZWN0czo6CisJV2hlbiBkaXNwbGF5aW5nIG5hbWVzIG9mIHJlYWNoYWJsZSBvYmplY3RzLCBpbiBhZGRpdGlvbiB0byB0aGUKKwlTSEEtMSBhbHNvIGRpc3BsYXkgYSBuYW1lIHRoYXQgZGVzY3JpYmVzICpob3cqIHRoZXkgYXJlIHJlYWNoYWJsZSwKKwljb21wYXRpYmxlIHdpdGggbGlua2dpdDpnaXQtcmV2LXBhcnNlWzFdLCBlLmcuCisJYEhFQURAezEyMzQ1Njc4OTB9fjI1XjI6c3JjL2AuCisKIC0tW25vLV1wcm9ncmVzczo6CiAJUHJvZ3Jlc3Mgc3RhdHVzIGlzIHJlcG9ydGVkIG9uIHRoZSBzdGFuZGFyZCBlcnJvciBzdHJlYW0gYnkKIAlkZWZhdWx0IHdoZW4gaXQgaXMgYXR0YWNoZWQgdG8gYSB0ZXJtaW5hbCwgdW5sZXNzCkBAIC05NSw3ICsxMDIsNyBAQAogZ2l0LWZzY2sgdGVzdHMgU0hBLTEgYW5kIGdlbmVyYWwgb2JqZWN0IHNhbml0eSwgYW5kIGl0IGRvZXMgZnVsbCB0cmFja2luZwogb2YgdGhlIHJlc3VsdGluZyByZWFjaGFiaWxpdHkgYW5kIGV2ZXJ5dGhpbmcgZWxzZS4gSXQgcHJpbnRzIG91dCBhbnkKIGNvcnJ1cHRpb24gaXQgZmluZHMgKG1pc3Npbmcgb3IgYmFkIG9iamVjdHMpLCBhbmQgaWYgeW91IHVzZSB0aGUKLSctLXVucmVhY2hhYmxlJyBmbGFnIGl0IHdpbGwgYWxzbyBwcmludCBvdXQgb2JqZWN0cyB0aGF0IGV4aXN0IGJ1dCB0aGF0CitgLS11bnJlYWNoYWJsZWAgZmxhZyBpdCB3aWxsIGFsc28gcHJpbnQgb3V0IG9iamVjdHMgdGhhdCBleGlzdCBidXQgdGhhdAogYXJlbid0IHJlYWNoYWJsZSBmcm9tIGFueSBvZiB0aGUgc3BlY2lmaWVkIGhlYWQgbm9kZXMgKG9yIHRoZSBkZWZhdWx0CiBzZXQsIGFzIG1lbnRpb25lZCBhYm92ZSkuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWdjLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWdjLnR4dAppbmRleCBmYTE1MTA0Li5iZWQ2MGY0IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1nYy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZ2MudHh0CkBAIC04MiwxMyArODIsMTMgQEAKIENvbmZpZ3VyYXRpb24KIC0tLS0tLS0tLS0tLS0KIAotVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgJ2djLnJlZmxvZ0V4cGlyZScgY2FuIGJlCitUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBgZ2MucmVmbG9nRXhwaXJlYCBjYW4gYmUKIHNldCB0byBpbmRpY2F0ZSBob3cgbG9uZyBoaXN0b3JpY2FsIGVudHJpZXMgd2l0aGluIGVhY2ggYnJhbmNoJ3MKIHJlZmxvZyBzaG91bGQgcmVtYWluIGF2YWlsYWJsZSBpbiB0aGlzIHJlcG9zaXRvcnkuICBUaGUgc2V0dGluZyBpcwogZXhwcmVzc2VkIGFzIGEgbGVuZ3RoIG9mIHRpbWUsIGZvciBleGFtcGxlICc5MCBkYXlzJyBvciAnMyBtb250aHMnLgogSXQgZGVmYXVsdHMgdG8gJzkwIGRheXMnLgogCi1UaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZSAnZ2MucmVmbG9nRXhwaXJlVW5yZWFjaGFibGUnCitUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBgZ2MucmVmbG9nRXhwaXJlVW5yZWFjaGFibGVgCiBjYW4gYmUgc2V0IHRvIGluZGljYXRlIGhvdyBsb25nIGhpc3RvcmljYWwgcmVmbG9nIGVudHJpZXMgd2hpY2gKIGFyZSBub3QgcGFydCBvZiB0aGUgY3VycmVudCBicmFuY2ggc2hvdWxkIHJlbWFpbiBhdmFpbGFibGUgaW4KIHRoaXMgcmVwb3NpdG9yeS4gIFRoZXNlIHR5cGVzIG9mIGVudHJpZXMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFzCkBAIC0xMDcsMzAgKzEwNywzMCBAQAogCXJlZmxvZ0V4cGlyZVVucmVhY2hhYmxlID0gMyBkYXlzCiAtLS0tLS0tLS0tLS0KIAotVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgJ2djLnJlcmVyZVJlc29sdmVkJyBpbmRpY2F0ZXMKK1RoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBnYy5yZXJlcmVSZXNvbHZlZGAgaW5kaWNhdGVzCiBob3cgbG9uZyByZWNvcmRzIG9mIGNvbmZsaWN0ZWQgbWVyZ2UgeW91IHJlc29sdmVkIGVhcmxpZXIgYXJlCiBrZXB0LiAgVGhpcyBkZWZhdWx0cyB0byA2MCBkYXlzLgogCi1UaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZSAnZ2MucmVyZXJlVW5yZXNvbHZlZCcgaW5kaWNhdGVzCitUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBgZ2MucmVyZXJlVW5yZXNvbHZlZGAgaW5kaWNhdGVzCiBob3cgbG9uZyByZWNvcmRzIG9mIGNvbmZsaWN0ZWQgbWVyZ2UgeW91IGhhdmUgbm90IHJlc29sdmVkIGFyZQoga2VwdC4gIFRoaXMgZGVmYXVsdHMgdG8gMTUgZGF5cy4KIAotVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgJ2djLnBhY2tSZWZzJyBkZXRlcm1pbmVzIGlmCitUaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBgZ2MucGFja1JlZnNgIGRldGVybWluZXMgaWYKICdnaXQgZ2MnIHJ1bnMgJ2dpdCBwYWNrLXJlZnMnLiBUaGlzIGNhbiBiZSBzZXQgdG8gIm5vdGJhcmUiIHRvIGVuYWJsZQogaXQgd2l0aGluIGFsbCBub24tYmFyZSByZXBvcyBvciBpdCBjYW4gYmUgc2V0IHRvIGEgYm9vbGVhbiB2YWx1ZS4KIFRoaXMgZGVmYXVsdHMgdG8gdHJ1ZS4KIAotVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgJ2djLmFnZ3Jlc3NpdmVXaW5kb3cnIGNvbnRyb2xzIGhvdworVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGdjLmFnZ3Jlc3NpdmVXaW5kb3dgIGNvbnRyb2xzIGhvdwogbXVjaCB0aW1lIGlzIHNwZW50IG9wdGltaXppbmcgdGhlIGRlbHRhIGNvbXByZXNzaW9uIG9mIHRoZSBvYmplY3RzIGluCiB0aGUgcmVwb3NpdG9yeSB3aGVuIHRoZSAtLWFnZ3Jlc3NpdmUgb3B0aW9uIGlzIHNwZWNpZmllZC4gIFRoZSBsYXJnZXIKIHRoZSB2YWx1ZSwgdGhlIG1vcmUgdGltZSBpcyBzcGVudCBvcHRpbWl6aW5nIHRoZSBkZWx0YSBjb21wcmVzc2lvbi4gIFNlZQogdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSAtLXdpbmRvdycgb3B0aW9uIGluIGxpbmtnaXQ6Z2l0LXJlcGFja1sxXSBmb3IKIG1vcmUgZGV0YWlscy4gIFRoaXMgZGVmYXVsdHMgdG8gMjUwLgogCi1TaW1pbGFybHksIHRoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlICdnYy5hZ2dyZXNzaXZlRGVwdGgnCitTaW1pbGFybHksIHRoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBnYy5hZ2dyZXNzaXZlRGVwdGhgCiBjb250cm9scyAtLWRlcHRoIG9wdGlvbiBpbiBsaW5rZ2l0OmdpdC1yZXBhY2tbMV0uIFRoaXMgZGVmYXVsdHMgdG8gMjUwLgogCi1UaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZSAnZ2MucHJ1bmVFeHBpcmUnIGNvbnRyb2xzIGhvdyBvbGQKK1RoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBnYy5wcnVuZUV4cGlyZWAgY29udHJvbHMgaG93IG9sZAogdGhlIHVucmVmZXJlbmNlZCBsb29zZSBvYmplY3RzIGhhdmUgdG8gYmUgYmVmb3JlIHRoZXkgYXJlIHBydW5lZC4gIFRoZQogZGVmYXVsdCBpcyAiMiB3ZWVrcyBhZ28iLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1ncmVwLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWdyZXAudHh0CmluZGV4IGNiMGY2Y2YuLjBlY2VhNmUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWdyZXAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWdyZXAudHh0CkBAIC00MSwxNyArNDEsMTcgQEAKIC0tLS0tLS0tLS0tLS0KIAogZ3JlcC5saW5lTnVtYmVyOjoKLQlJZiBzZXQgdG8gdHJ1ZSwgZW5hYmxlICctbicgb3B0aW9uIGJ5IGRlZmF1bHQuCisJSWYgc2V0IHRvIHRydWUsIGVuYWJsZSBgLW5gIG9wdGlvbiBieSBkZWZhdWx0LgogCiBncmVwLnBhdHRlcm5UeXBlOjoKIAlTZXQgdGhlIGRlZmF1bHQgbWF0Y2hpbmcgYmVoYXZpb3IuIFVzaW5nIGEgdmFsdWUgb2YgJ2Jhc2ljJywgJ2V4dGVuZGVkJywKLQknZml4ZWQnLCBvciAncGVybCcgd2lsbCBlbmFibGUgdGhlICctLWJhc2ljLXJlZ2V4cCcsICctLWV4dGVuZGVkLXJlZ2V4cCcsCi0JJy0tZml4ZWQtc3RyaW5ncycsIG9yICctLXBlcmwtcmVnZXhwJyBvcHRpb24gYWNjb3JkaW5nbHksIHdoaWxlIHRoZQorCSdmaXhlZCcsIG9yICdwZXJsJyB3aWxsIGVuYWJsZSB0aGUgYC0tYmFzaWMtcmVnZXhwYCwgYC0tZXh0ZW5kZWQtcmVnZXhwYCwKKwlgLS1maXhlZC1zdHJpbmdzYCwgb3IgYC0tcGVybC1yZWdleHBgIG9wdGlvbiBhY2NvcmRpbmdseSwgd2hpbGUgdGhlCiAJdmFsdWUgJ2RlZmF1bHQnIHdpbGwgcmV0dXJuIHRvIHRoZSBkZWZhdWx0IG1hdGNoaW5nIGJlaGF2aW9yLgogCiBncmVwLmV4dGVuZGVkUmVnZXhwOjoKLQlJZiBzZXQgdG8gdHJ1ZSwgZW5hYmxlICctLWV4dGVuZGVkLXJlZ2V4cCcgb3B0aW9uIGJ5IGRlZmF1bHQuIFRoaXMKLQlvcHRpb24gaXMgaWdub3JlZCB3aGVuIHRoZSAnZ3JlcC5wYXR0ZXJuVHlwZScgb3B0aW9uIGlzIHNldCB0byBhIHZhbHVlCisJSWYgc2V0IHRvIHRydWUsIGVuYWJsZSBgLS1leHRlbmRlZC1yZWdleHBgIG9wdGlvbiBieSBkZWZhdWx0LiBUaGlzCisJb3B0aW9uIGlzIGlnbm9yZWQgd2hlbiB0aGUgYGdyZXAucGF0dGVyblR5cGVgIG9wdGlvbiBpcyBzZXQgdG8gYSB2YWx1ZQogCW90aGVyIHRoYW4gJ2RlZmF1bHQnLgogCiBncmVwLnRocmVhZHM6OgpAQCAtNTksNyArNTksNyBAQAogCTggdGhyZWFkcyBhcmUgdXNlZCBieSBkZWZhdWx0IChmb3Igbm93KS4KIAogZ3JlcC5mdWxsTmFtZTo6Ci0JSWYgc2V0IHRvIHRydWUsIGVuYWJsZSAnLS1mdWxsLW5hbWUnIG9wdGlvbiBieSBkZWZhdWx0LgorCUlmIHNldCB0byB0cnVlLCBlbmFibGUgYC0tZnVsbC1uYW1lYCBvcHRpb24gYnkgZGVmYXVsdC4KIAogZ3JlcC5mYWxsYmFja1RvTm9JbmRleDo6CiAJSWYgc2V0IHRvIHRydWUsIGZhbGwgYmFjayB0byBnaXQgZ3JlcCAtLW5vLWluZGV4IGlmIGdpdCBncmVwCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1ndWkudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZ3VpLnR4dAppbmRleCA4MTQ0NTI3Li5jMWEzZThiIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1ndWkudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWd1aS50eHQKQEAgLTM1LDcgKzM1LDcgQEAKIAogYnJvd3Nlcjo6CiAJU3RhcnQgYSB0cmVlIGJyb3dzZXIgc2hvd2luZyBhbGwgZmlsZXMgaW4gdGhlIHNwZWNpZmllZAotCWNvbW1pdCAob3IgJ0hFQUQnIGJ5IGRlZmF1bHQpLiAgRmlsZXMgc2VsZWN0ZWQgdGhyb3VnaCB0aGUKKwljb21taXQgKG9yIGBIRUFEYCBieSBkZWZhdWx0KS4gIEZpbGVzIHNlbGVjdGVkIHRocm91Z2ggdGhlCiAJYnJvd3NlciBhcmUgb3BlbmVkIGluIHRoZSBibGFtZSB2aWV3ZXIuCiAKIGNpdG9vbDo6CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1oZWxwLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWhlbHAudHh0CmluZGV4IDM5NTY1MjUuLjQwZDMyOGEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWhlbHAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWhlbHAudHh0CkBAIC0xOCwxMCArMTgsMTAgQEAKIGNvbW1hbmQgYW5kIGEgbGlzdCBvZiB0aGUgbW9zdCBjb21tb25seSB1c2VkIEdpdCBjb21tYW5kcyBhcmUgcHJpbnRlZAogb24gdGhlIHN0YW5kYXJkIG91dHB1dC4KIAotSWYgdGhlIG9wdGlvbiAnLS1hbGwnIG9yICctYScgaXMgZ2l2ZW4sIGFsbCBhdmFpbGFibGUgY29tbWFuZHMgYXJlCitJZiB0aGUgb3B0aW9uIGAtLWFsbGAgb3IgYC1hYCBpcyBnaXZlbiwgYWxsIGF2YWlsYWJsZSBjb21tYW5kcyBhcmUKIHByaW50ZWQgb24gdGhlIHN0YW5kYXJkIG91dHB1dC4KIAotSWYgdGhlIG9wdGlvbiAnLS1ndWlkZScgb3IgJy1nJyBpcyBnaXZlbiwgYSBsaXN0IG9mIHRoZSB1c2VmdWwKK0lmIHRoZSBvcHRpb24gYC0tZ3VpZGVgIG9yIGAtZ2AgaXMgZ2l2ZW4sIGEgbGlzdCBvZiB0aGUgdXNlZnVsCiBHaXQgZ3VpZGVzIGlzIGFsc28gcHJpbnRlZCBvbiB0aGUgc3RhbmRhcmQgb3V0cHV0LgogCiBJZiBhIGNvbW1hbmQsIG9yIGEgZ3VpZGUsIGlzIGdpdmVuLCBhIG1hbnVhbCBwYWdlIGZvciB0aGF0IGNvbW1hbmQgb3IKQEAgLTU3LDEwICs1NywxMCBAQAogLS1tYW46OgogCURpc3BsYXkgbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21tYW5kIGluIHRoZSAnbWFuJyBmb3JtYXQuIFRoaXMKIAlvcHRpb24gbWF5IGJlIHVzZWQgdG8gb3ZlcnJpZGUgYSB2YWx1ZSBzZXQgaW4gdGhlCi0JJ2hlbHAuZm9ybWF0JyBjb25maWd1cmF0aW9uIHZhcmlhYmxlLgorCWBoZWxwLmZvcm1hdGAgY29uZmlndXJhdGlvbiB2YXJpYWJsZS4KICsKIEJ5IGRlZmF1bHQgdGhlICdtYW4nIHByb2dyYW0gd2lsbCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIG1hbnVhbCBwYWdlLAotYnV0IHRoZSAnbWFuLnZpZXdlcicgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBtYXkgYmUgdXNlZCB0byBjaG9vc2UKK2J1dCB0aGUgYG1hbi52aWV3ZXJgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgbWF5IGJlIHVzZWQgdG8gY2hvb3NlCiBvdGhlciBkaXNwbGF5IHByb2dyYW1zIChzZWUgYmVsb3cpLgogCiAtdzo6CkBAIC02OSw3ICs2OSw3IEBACiAJZm9ybWF0LiBBIHdlYiBicm93c2VyIHdpbGwgYmUgdXNlZCBmb3IgdGhhdCBwdXJwb3NlLgogKwogVGhlIHdlYiBicm93c2VyIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUKLSdoZWxwLmJyb3dzZXInLCBvciAnd2ViLmJyb3dzZXInIGlmIHRoZSBmb3JtZXIgaXMgbm90IHNldC4gSWYgbm9uZSBvZgorYGhlbHAuYnJvd3NlcmAsIG9yIGB3ZWIuYnJvd3NlcmAgaWYgdGhlIGZvcm1lciBpcyBub3Qgc2V0LiBJZiBub25lIG9mCiB0aGVzZSBjb25maWcgdmFyaWFibGVzIGlzIHNldCwgdGhlICdnaXQgd2Vie2xpdGRkfWJyb3dzZScgaGVscGVyIHNjcmlwdAogKGNhbGxlZCBieSAnZ2l0IGhlbHAnKSB3aWxsIHBpY2sgYSBzdWl0YWJsZSBkZWZhdWx0LiBTZWUKIGxpbmtnaXQ6Z2l0LXdlYntsaXRkZH1icm93c2VbMV0gZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcy4KQEAgLTgwLDcgKzgwLDcgQEAKIGhlbHAuZm9ybWF0CiB+fn5+fn5+fn5+fgogCi1JZiBubyBjb21tYW5kLWxpbmUgb3B0aW9uIGlzIHBhc3NlZCwgdGhlICdoZWxwLmZvcm1hdCcgY29uZmlndXJhdGlvbgorSWYgbm8gY29tbWFuZC1saW5lIG9wdGlvbiBpcyBwYXNzZWQsIHRoZSBgaGVscC5mb3JtYXRgIGNvbmZpZ3VyYXRpb24KIHZhcmlhYmxlIHdpbGwgYmUgY2hlY2tlZC4gVGhlIGZvbGxvd2luZyB2YWx1ZXMgYXJlIHN1cHBvcnRlZCBmb3IgdGhpcwogdmFyaWFibGU7IHRoZXkgbWFrZSAnZ2l0IGhlbHAnIGJlaGF2ZSBhcyB0aGVpciBjb3JyZXNwb25kaW5nIGNvbW1hbmQtCiBsaW5lIG9wdGlvbjoKQEAgLTkyLDcgKzkyLDcgQEAKIGhlbHAuYnJvd3Nlciwgd2ViLmJyb3dzZXIgYW5kIGJyb3dzZXIuPHRvb2w+LnBhdGgKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAotVGhlICdoZWxwLmJyb3dzZXInLCAnd2ViLmJyb3dzZXInIGFuZCAnYnJvd3Nlci48dG9vbD4ucGF0aCcgd2lsbCBhbHNvCitUaGUgYGhlbHAuYnJvd3NlcmAsIGB3ZWIuYnJvd3NlcmAgYW5kIGBicm93c2VyLjx0b29sPi5wYXRoYCB3aWxsIGFsc28KIGJlIGNoZWNrZWQgaWYgdGhlICd3ZWInIGZvcm1hdCBpcyBjaG9zZW4gKGVpdGhlciBieSBjb21tYW5kLWxpbmUKIG9wdGlvbiBvciBjb25maWd1cmF0aW9uIHZhcmlhYmxlKS4gU2VlICctd3wtLXdlYicgaW4gdGhlIE9QVElPTlMKIHNlY3Rpb24gYWJvdmUgYW5kIGxpbmtnaXQ6Z2l0LXdlYntsaXRkZH1icm93c2VbMV0uCkBAIC0xMDAsNyArMTAwLDcgQEAKIG1hbi52aWV3ZXIKIH5+fn5+fn5+fn4KIAotVGhlICdtYW4udmlld2VyJyBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHdpbGwgYmUgY2hlY2tlZCBpZiB0aGUgJ21hbicKK1RoZSBgbWFuLnZpZXdlcmAgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB3aWxsIGJlIGNoZWNrZWQgaWYgdGhlICdtYW4nCiBmb3JtYXQgaXMgY2hvc2VuLiBUaGUgZm9sbG93aW5nIHZhbHVlcyBhcmUgY3VycmVudGx5IHN1cHBvcnRlZDoKIAogKiAibWFuIjogdXNlIHRoZSAnbWFuJyBwcm9ncmFtIGFzIHVzdWFsLApAQCAtMTEwLDkgKzExMCw5IEBACiB0YWIgKHNlZSAnTm90ZSBhYm91dCBrb25xdWVyb3InIGJlbG93KS4KIAogVmFsdWVzIGZvciBvdGhlciB0b29scyBjYW4gYmUgdXNlZCBpZiB0aGVyZSBpcyBhIGNvcnJlc3BvbmRpbmcKLSdtYW4uPHRvb2w+LmNtZCcgY29uZmlndXJhdGlvbiBlbnRyeSAoc2VlIGJlbG93KS4KK2BtYW4uPHRvb2w+LmNtZGAgY29uZmlndXJhdGlvbiBlbnRyeSAoc2VlIGJlbG93KS4KIAotTXVsdGlwbGUgdmFsdWVzIG1heSBiZSBnaXZlbiB0byB0aGUgJ21hbi52aWV3ZXInIGNvbmZpZ3VyYXRpb24KK011bHRpcGxlIHZhbHVlcyBtYXkgYmUgZ2l2ZW4gdG8gdGhlIGBtYW4udmlld2VyYCBjb25maWd1cmF0aW9uCiB2YXJpYWJsZS4gVGhlaXIgY29ycmVzcG9uZGluZyBwcm9ncmFtcyB3aWxsIGJlIHRyaWVkIGluIHRoZSBvcmRlcgogbGlzdGVkIGluIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuCiAKQEAgLTEyOCwxNCArMTI4LDE0IEBACiBESVNQTEFZIGlzIG5vdCBzZXQpIGFuZCBpbiB0aGF0IGNhc2UgZW1hY3MnIHdvbWFuIG1vZGUgd2lsbCBiZSB0cmllZC4KIAogSWYgZXZlcnl0aGluZyBmYWlscywgb3IgaWYgbm8gdmlld2VyIGlzIGNvbmZpZ3VyZWQsIHRoZSB2aWV3ZXIgc3BlY2lmaWVkCi1pbiB0aGUgR0lUX01BTl9WSUVXRVIgZW52aXJvbm1lbnQgdmFyaWFibGUgd2lsbCBiZSB0cmllZC4gIElmIHRoYXQKK2luIHRoZSBgR0lUX01BTl9WSUVXRVJgIGVudmlyb25tZW50IHZhcmlhYmxlIHdpbGwgYmUgdHJpZWQuICBJZiB0aGF0CiBmYWlscyB0b28sIHRoZSAnbWFuJyBwcm9ncmFtIHdpbGwgYmUgdHJpZWQgYW55d2F5LgogCiBtYW4uPHRvb2w+LnBhdGgKIH5+fn5+fn5+fn5+fn5+fgogCiBZb3UgY2FuIGV4cGxpY2l0bHkgcHJvdmlkZSBhIGZ1bGwgcGF0aCB0byB5b3VyIHByZWZlcnJlZCBtYW4gdmlld2VyIGJ5Ci1zZXR0aW5nIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlICdtYW4uPHRvb2w+LnBhdGgnLiBGb3IgZXhhbXBsZSwgeW91CitzZXR0aW5nIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBtYW4uPHRvb2w+LnBhdGhgLiBGb3IgZXhhbXBsZSwgeW91CiBjYW4gY29uZmlndXJlIHRoZSBhYnNvbHV0ZSBwYXRoIHRvIGtvbnF1ZXJvciBieSBzZXR0aW5nCiAnbWFuLmtvbnF1ZXJvci5wYXRoJy4gT3RoZXJ3aXNlLCAnZ2l0IGhlbHAnIGFzc3VtZXMgdGhlIHRvb2wgaXMKIGF2YWlsYWJsZSBpbiBQQVRILgpAQCAtMTQzLDkgKzE0Myw5IEBACiBtYW4uPHRvb2w+LmNtZAogfn5+fn5+fn5+fn5+fn4KIAotV2hlbiB0aGUgbWFuIHZpZXdlciwgc3BlY2lmaWVkIGJ5IHRoZSAnbWFuLnZpZXdlcicgY29uZmlndXJhdGlvbgorV2hlbiB0aGUgbWFuIHZpZXdlciwgc3BlY2lmaWVkIGJ5IHRoZSBgbWFuLnZpZXdlcmAgY29uZmlndXJhdGlvbgogdmFyaWFibGVzLCBpcyBub3QgYW1vbmcgdGhlIHN1cHBvcnRlZCBvbmVzLCB0aGVuIHRoZSBjb3JyZXNwb25kaW5nCi0nbWFuLjx0b29sPi5jbWQnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgd2lsbCBiZSBsb29rZWQgdXAuIElmIHRoaXMKK2BtYW4uPHRvb2w+LmNtZGAgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB3aWxsIGJlIGxvb2tlZCB1cC4gSWYgdGhpcwogdmFyaWFibGUgZXhpc3RzIHRoZW4gdGhlIHNwZWNpZmllZCB0b29sIHdpbGwgYmUgdHJlYXRlZCBhcyBhIGN1c3RvbQogY29tbWFuZCBhbmQgYSBzaGVsbCBldmFsIHdpbGwgYmUgdXNlZCB0byBydW4gdGhlIGNvbW1hbmQgd2l0aCB0aGUgbWFuCiBwYWdlIHBhc3NlZCBhcyBhcmd1bWVudHMuCkBAIC0xNTMsNyArMTUzLDcgQEAKIE5vdGUgYWJvdXQga29ucXVlcm9yCiB+fn5+fn5+fn5+fn5+fn5+fn5+fgogCi1XaGVuICdrb25xdWVyb3InIGlzIHNwZWNpZmllZCBpbiB0aGUgJ21hbi52aWV3ZXInIGNvbmZpZ3VyYXRpb24KK1doZW4gJ2tvbnF1ZXJvcicgaXMgc3BlY2lmaWVkIGluIHRoZSBgbWFuLnZpZXdlcmAgY29uZmlndXJhdGlvbgogdmFyaWFibGUsIHdlIGxhdW5jaCAna2ZtY2xpZW50JyB0byB0cnkgdG8gb3BlbiB0aGUgbWFuIHBhZ2Ugb24gYW4KIGFscmVhZHkgb3BlbmVkIGtvbnF1ZXJvciBpbiBhIG5ldyB0YWIgaWYgcG9zc2libGUuCiAKQEAgLTE3Niw3ICsxNzYsNyBAQAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAKIE5vdGUgdGhhdCBhbGwgdGhlc2UgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMgc2hvdWxkIHByb2JhYmx5IGJlIHNldAotdXNpbmcgdGhlICctLWdsb2JhbCcgZmxhZywgZm9yIGV4YW1wbGUgbGlrZSB0aGlzOgordXNpbmcgdGhlIGAtLWdsb2JhbGAgZmxhZywgZm9yIGV4YW1wbGUgbGlrZSB0aGlzOgogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICQgZ2l0IGNvbmZpZyAtLWdsb2JhbCBoZWxwLmZvcm1hdCB3ZWIKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWh0dHAtYmFja2VuZC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1odHRwLWJhY2tlbmQudHh0CmluZGV4IDkyNjhmYjYuLmJiMGRiMTkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWh0dHAtYmFja2VuZC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtaHR0cC1iYWNrZW5kLnR4dApAQCAtMjEsNyArMjEsNyBAQAogSXQgdmVyaWZpZXMgdGhhdCB0aGUgZGlyZWN0b3J5IGhhcyB0aGUgbWFnaWMgZmlsZQogImdpdC1kYWVtb24tZXhwb3J0LW9rIiwgYW5kIGl0IHdpbGwgcmVmdXNlIHRvIGV4cG9ydCBhbnkgR2l0IGRpcmVjdG9yeQogdGhhdCBoYXNuJ3QgZXhwbGljaXRseSBiZWVuIG1hcmtlZCBmb3IgZXhwb3J0IHRoaXMgd2F5ICh1bmxlc3MgdGhlCi1HSVRfSFRUUF9FWFBPUlRfQUxMIGVudmlyb25tZW50YWwgdmFyaWFibGUgaXMgc2V0KS4KK2BHSVRfSFRUUF9FWFBPUlRfQUxMYCBlbnZpcm9ubWVudGFsIHZhcmlhYmxlIGlzIHNldCkuCiAKIEJ5IGRlZmF1bHQsIG9ubHkgdGhlIGB1cGxvYWQtcGFja2Agc2VydmljZSBpcyBlbmFibGVkLCB3aGljaCBzZXJ2ZXMKICdnaXQgZmV0Y2gtcGFjaycgYW5kICdnaXQgbHMtcmVtb3RlJyBjbGllbnRzLCB3aGljaCBhcmUgaW52b2tlZCBmcm9tCkBAIC0yNDEsNyArMjQxLDcgQEAKIAogRU5WSVJPTk1FTlQKIC0tLS0tLS0tLS0tCi0nZ2l0IGh0dHAtYmFja2VuZCcgcmVsaWVzIHVwb24gdGhlIENHSSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgc2V0CisnZ2l0IGh0dHAtYmFja2VuZCcgcmVsaWVzIHVwb24gdGhlIGBDR0lgIGVudmlyb25tZW50IHZhcmlhYmxlcyBzZXQKIGJ5IHRoZSBpbnZva2luZyB3ZWIgc2VydmVyLCBpbmNsdWRpbmc6CiAKICogUEFUSF9JTkZPIChpZiBHSVRfUFJPSkVDVF9ST09UIGlzIHNldCwgb3RoZXJ3aXNlIFBBVEhfVFJBTlNMQVRFRCkKQEAgLTI1MSw3ICsyNTEsNyBAQAogKiBRVUVSWV9TVFJJTkcKICogUkVRVUVTVF9NRVRIT0QKIAotVGhlIEdJVF9IVFRQX0VYUE9SVF9BTEwgZW52aXJvbm1lbnRhbCB2YXJpYWJsZSBtYXkgYmUgcGFzc2VkIHRvCitUaGUgYEdJVF9IVFRQX0VYUE9SVF9BTExgIGVudmlyb25tZW50YWwgdmFyaWFibGUgbWF5IGJlIHBhc3NlZCB0bwogJ2dpdC1odHRwLWJhY2tlbmQnIHRvIGJ5cGFzcyB0aGUgY2hlY2sgZm9yIHRoZSAiZ2l0LWRhZW1vbi1leHBvcnQtb2siCiBmaWxlIGluIGVhY2ggcmVwb3NpdG9yeSBiZWZvcmUgYWxsb3dpbmcgZXhwb3J0IG9mIHRoYXQgcmVwb3NpdG9yeS4KIApAQCAtMjY5LDcgKzI2OSw3IEBACiBlbnN1cmluZyB0aGF0IGFueSByZWZsb2dzIGNyZWF0ZWQgYnkgJ2dpdC1yZWNlaXZlLXBhY2snIGNvbnRhaW4gc29tZQogaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24gb2YgdGhlIHJlbW90ZSB1c2VyIHdobyBwZXJmb3JtZWQgdGhlIHB1c2guCiAKLUFsbCBDR0kgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBhdmFpbGFibGUgdG8gZWFjaCBvZiB0aGUgaG9va3MKK0FsbCBgQ0dJYCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXJlIGF2YWlsYWJsZSB0byBlYWNoIG9mIHRoZSBob29rcwogaW52b2tlZCBieSB0aGUgJ2dpdC1yZWNlaXZlLXBhY2snLgogCiBHSVQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWh0dHAtcHVzaC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1odHRwLXB1c2gudHh0CmluZGV4IDJlNjczNjIuLjJhY2ViNmYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWh0dHAtcHVzaC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtaHR0cC1wdXNoLnR4dApAQCAtODEsMTMgKzgxLDEzIEBACiAgICAgIGV4aXN0IGluIHRoZSBzZXQgb2YgcmVtb3RlIHJlZnM7IHRoZSByZWYgbWF0Y2hlZCA8c3JjPgogICAgICBsb2NhbGx5IGlzIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhlIGRlc3RpbmF0aW9uLgogCi1XaXRob3V0ICctLWZvcmNlJywgdGhlIDxzcmM+IHJlZiBpcyBzdG9yZWQgYXQgdGhlIHJlbW90ZSBvbmx5IGlmCitXaXRob3V0IGAtLWZvcmNlYCwgdGhlIDxzcmM+IHJlZiBpcyBzdG9yZWQgYXQgdGhlIHJlbW90ZSBvbmx5IGlmCiA8ZHN0PiBkb2VzIG5vdCBleGlzdCwgb3IgPGRzdD4gaXMgYSBwcm9wZXIgc3Vic2V0IChpLmUuIGFuCiBhbmNlc3Rvcikgb2YgPHNyYz4uICBUaGlzIGNoZWNrLCBrbm93biBhcyAiZmFzdC1mb3J3YXJkIGNoZWNrIiwKIGlzIHBlcmZvcm1lZCBpbiBvcmRlciB0byBhdm9pZCBhY2NpZGVudGFsbHkgb3ZlcndyaXRpbmcgdGhlCiByZW1vdGUgcmVmIGFuZCBsb3NlIG90aGVyIHBlb3BsZXMnIGNvbW1pdHMgZnJvbSB0aGVyZS4KIAotV2l0aCAnLS1mb3JjZScsIHRoZSBmYXN0LWZvcndhcmQgY2hlY2sgaXMgZGlzYWJsZWQgZm9yIGFsbCByZWZzLgorV2l0aCBgLS1mb3JjZWAsIHRoZSBmYXN0LWZvcndhcmQgY2hlY2sgaXMgZGlzYWJsZWQgZm9yIGFsbCByZWZzLgogCiBPcHRpb25hbGx5LCBhIDxyZWY+IHBhcmFtZXRlciBjYW4gYmUgcHJlZml4ZWQgd2l0aCBhIHBsdXMgJysnIHNpZ24KIHRvIGRpc2FibGUgdGhlIGZhc3QtZm9yd2FyZCBjaGVjayBvbmx5IG9uIHRoYXQgcmVmLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtaW5kZXgtcGFjay50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1pbmRleC1wYWNrLnR4dAppbmRleCA3YTRlMDU1Li4xYjRiNjVkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1pbmRleC1wYWNrLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1pbmRleC1wYWNrLnR4dApAQCAtODcsNiArODcsOCBAQAogCVNwZWNpZnlpbmcgMCB3aWxsIGNhdXNlIEdpdCB0byBhdXRvLWRldGVjdCB0aGUgbnVtYmVyIG9mIENQVSdzCiAJYW5kIHVzZSBtYXhpbXVtIDMgdGhyZWFkcy4KIAorLS1tYXgtaW5wdXQtc2l6ZT08c2l6ZT46OgorCURpZSwgaWYgdGhlIHBhY2sgaXMgbGFyZ2VyIHRoYW4gPHNpemU+LgogCiBOb3RlCiAtLS0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1pbml0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWluaXQudHh0CmluZGV4IDYzNjRlNWQuLjlkMjcxOTcgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWluaXQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWluaXQudHh0CkBAIC00Nyw3ICs0Nyw3IEBACiAKIC0tYmFyZTo6CiAKLUNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeS4gSWYgR0lUX0RJUiBlbnZpcm9ubWVudCBpcyBub3Qgc2V0LCBpdCBpcyBzZXQgdG8gdGhlCitDcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkuIElmIGBHSVRfRElSYCBlbnZpcm9ubWVudCBpcyBub3Qgc2V0LCBpdCBpcyBzZXQgdG8gdGhlCiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LgogCiAtLXRlbXBsYXRlPTx0ZW1wbGF0ZV9kaXJlY3Rvcnk+OjoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWluc3Rhd2ViLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWluc3Rhd2ViLnR4dAppbmRleCBjYzc1YjI1Li5lOGVjZGJmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1pbnN0YXdlYi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtaW5zdGF3ZWIudHh0CkBAIC04MCw4ICs4MCw4IEBACiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLUlmIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlICdpbnN0YXdlYi5icm93c2VyJyBpcyBub3Qgc2V0LAotJ3dlYi5icm93c2VyJyB3aWxsIGJlIHVzZWQgaW5zdGVhZCBpZiBpdCBpcyBkZWZpbmVkLiBTZWUKK0lmIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBpbnN0YXdlYi5icm93c2VyYCBpcyBub3Qgc2V0LAorYHdlYi5icm93c2VyYCB3aWxsIGJlIHVzZWQgaW5zdGVhZCBpZiBpdCBpcyBkZWZpbmVkLiBTZWUKIGxpbmtnaXQ6Z2l0LXdlYntsaXRkZH1icm93c2VbMV0gZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcy4KIAogU0VFIEFMU08KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWludGVycHJldC10cmFpbGVycy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1pbnRlcnByZXQtdHJhaWxlcnMudHh0CmluZGV4IGE3N2I5MDEuLjA5MDc0YzcgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWludGVycHJldC10cmFpbGVycy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtaW50ZXJwcmV0LXRyYWlsZXJzLnR4dApAQCAtNDgsMTkgKzQ4LDIyIEBACiB3aWxsIGJlIGFkZGVkIGJlZm9yZSB0aGUgbmV3IHRyYWlsZXIuCiAKIEV4aXN0aW5nIHRyYWlsZXJzIGFyZSBleHRyYWN0ZWQgZnJvbSB0aGUgaW5wdXQgbWVzc2FnZSBieSBsb29raW5nIGZvcgotYSBncm91cCBvZiBvbmUgb3IgbW9yZSBsaW5lcyB0aGF0IGNvbnRhaW4gYSBjb2xvbiAoYnkgZGVmYXVsdCksIHdoZXJlCi10aGUgZ3JvdXAgaXMgcHJlY2VkZWQgYnkgb25lIG9yIG1vcmUgZW1wdHkgKG9yIHdoaXRlc3BhY2Utb25seSkgbGluZXMuCithIGdyb3VwIG9mIG9uZSBvciBtb3JlIGxpbmVzIHRoYXQgKGkpIGFyZSBhbGwgdHJhaWxlcnMsIG9yIChpaSkgY29udGFpbnMgYXQKK2xlYXN0IG9uZSBHaXQtZ2VuZXJhdGVkIG9yIHVzZXItY29uZmlndXJlZCB0cmFpbGVyIGFuZCBjb25zaXN0cyBvZiBhdAorbGVhc3QgMjUlIHRyYWlsZXJzLgorVGhlIGdyb3VwIG11c3QgYmUgcHJlY2VkZWQgYnkgb25lIG9yIG1vcmUgZW1wdHkgKG9yIHdoaXRlc3BhY2Utb25seSkgbGluZXMuCiBUaGUgZ3JvdXAgbXVzdCBlaXRoZXIgYmUgYXQgdGhlIGVuZCBvZiB0aGUgbWVzc2FnZSBvciBiZSB0aGUgbGFzdAogbm9uLXdoaXRlc3BhY2UgbGluZXMgYmVmb3JlIGEgbGluZSB0aGF0IHN0YXJ0cyB3aXRoICctLS0nLiBTdWNoIHRocmVlCiBtaW51cyBzaWducyBzdGFydCB0aGUgcGF0Y2ggcGFydCBvZiB0aGUgbWVzc2FnZS4KIAotV2hlbiByZWFkaW5nIHRyYWlsZXJzLCB0aGVyZSBjYW4gYmUgd2hpdGVzcGFjZXMgYmVmb3JlIGFuZCBhZnRlciB0aGUKK1doZW4gcmVhZGluZyB0cmFpbGVycywgdGhlcmUgY2FuIGJlIHdoaXRlc3BhY2VzIGFmdGVyIHRoZQogdG9rZW4sIHRoZSBzZXBhcmF0b3IgYW5kIHRoZSB2YWx1ZS4gVGhlcmUgY2FuIGFsc28gYmUgd2hpdGVzcGFjZXMKLWluc2lkZSB0aGUgdG9rZW4gYW5kIHRoZSB2YWx1ZS4KK2luc2lkZSB0aGUgdG9rZW4gYW5kIHRoZSB2YWx1ZS4gVGhlIHZhbHVlIG1heSBiZSBzcGxpdCBvdmVyIG11bHRpcGxlIGxpbmVzIHdpdGgKK2VhY2ggc3Vic2VxdWVudCBsaW5lIHN0YXJ0aW5nIHdpdGggd2hpdGVzcGFjZSwgbGlrZSB0aGUgImZvbGRpbmciIGluIFJGQyA4MjIuCiAKIE5vdGUgdGhhdCAndHJhaWxlcnMnIGRvIG5vdCBmb2xsb3cgYW5kIGFyZSBub3QgaW50ZW5kZWQgdG8gZm9sbG93IG1hbnkKLXJ1bGVzIGZvciBSRkMgODIyIGhlYWRlcnMuIEZvciBleGFtcGxlIHRoZXkgZG8gbm90IGZvbGxvdyB0aGUgbGluZQotZm9sZGluZyBydWxlcywgdGhlIGVuY29kaW5nIHJ1bGVzIGFuZCBwcm9iYWJseSBtYW55IG90aGVyIHJ1bGVzLgorcnVsZXMgZm9yIFJGQyA4MjIgaGVhZGVycy4gRm9yIGV4YW1wbGUgdGhleSBkbyBub3QgZm9sbG93Cit0aGUgZW5jb2RpbmcgcnVsZXMgYW5kIHByb2JhYmx5IG1hbnkgb3RoZXIgcnVsZXMuCiAKIE9QVElPTlMKIC0tLS0tLS0KQEAgLTIxOSw3ICsyMjIsNyBAQAogU2lnbmVkLW9mZi1ieTogQm9iIDxib2JAZXhhbXBsZS5jb20+CiAtLS0tLS0tLS0tLS0KIAotKiBVc2UgdGhlICctLWluLXBsYWNlJyBvcHRpb24gdG8gZWRpdCBhIG1lc3NhZ2UgZmlsZSBpbiBwbGFjZToKKyogVXNlIHRoZSBgLS1pbi1wbGFjZWAgb3B0aW9uIHRvIGVkaXQgYSBtZXNzYWdlIGZpbGUgaW4gcGxhY2U6CiArCiAtLS0tLS0tLS0tLS0KICQgY2F0IG1zZy50eHQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWxvZy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1sb2cudHh0CmluZGV4IGRlYzM3OWIuLjMyMjQ2ZmQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWxvZy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtbG9nLnR4dApAQCAtMTk4LDEyICsxOTgsMTYgQEAKIAlgZ2l0IGxvZyAtcGAgb3V0cHV0IHdvdWxkIGJlIHNob3duIHdpdGhvdXQgYSBkaWZmIGF0dGFjaGVkLgogCVRoZSBkZWZhdWx0IGlzIGB0cnVlYC4KIAorbG9nLnNob3dTaWduYXR1cmU6OgorCUlmIGB0cnVlYCwgYGdpdCBsb2dgIGFuZCByZWxhdGVkIGNvbW1hbmRzIHdpbGwgYWN0IGFzIGlmIHRoZQorCWAtLXNob3ctc2lnbmF0dXJlYCBvcHRpb24gd2FzIHBhc3NlZCB0byB0aGVtLgorCiBtYWlsbWFwLio6OgogCVNlZSBsaW5rZ2l0OmdpdC1zaG9ydGxvZ1sxXS4KIAogbm90ZXMuZGlzcGxheVJlZjo6CiAJV2hpY2ggcmVmcywgaW4gYWRkaXRpb24gdG8gdGhlIGRlZmF1bHQgc2V0IGJ5IGBjb3JlLm5vdGVzUmVmYAotCW9yICdHSVRfTk9URVNfUkVGJywgdG8gcmVhZCBub3RlcyBmcm9tIHdoZW4gc2hvd2luZyBjb21taXQKKwlvciBgR0lUX05PVEVTX1JFRmAsIHRvIHJlYWQgbm90ZXMgZnJvbSB3aGVuIHNob3dpbmcgY29tbWl0CiAJbWVzc2FnZXMgd2l0aCB0aGUgYGxvZ2AgZmFtaWx5IG9mIGNvbW1hbmRzLiAgU2VlCiAJbGlua2dpdDpnaXQtbm90ZXNbMV0uCiArCkBAIC0yMTIsNyArMjE2LDcgQEAKIGJ1dCBhIGdsb2IgdGhhdCBkb2VzIG5vdCBtYXRjaCBhbnkgcmVmcyBpcyBzaWxlbnRseSBpZ25vcmVkLgogKwogVGhpcyBzZXR0aW5nIGNhbiBiZSBkaXNhYmxlZCBieSB0aGUgYC0tbm8tbm90ZXNgIG9wdGlvbiwKLW92ZXJyaWRkZW4gYnkgdGhlICdHSVRfTk9URVNfRElTUExBWV9SRUYnIGVudmlyb25tZW50IHZhcmlhYmxlLAorb3ZlcnJpZGRlbiBieSB0aGUgYEdJVF9OT1RFU19ESVNQTEFZX1JFRmAgZW52aXJvbm1lbnQgdmFyaWFibGUsCiBhbmQgb3ZlcnJpZGRlbiBieSB0aGUgYC0tbm90ZXM9PHJlZj5gIG9wdGlvbi4KIAogR0lUCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1scy1maWxlcy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1scy1maWxlcy50eHQKaW5kZXggNzVjM2Y0MS4uNDQ2MjA5ZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtbHMtZmlsZXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWxzLWZpbGVzLnR4dApAQCAtMTgsNyArMTgsOCBAQAogCQlbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGZpbGU+XQogCQlbLS1leGNsdWRlLXN0YW5kYXJkXQogCQlbLS1lcnJvci11bm1hdGNoXSBbLS13aXRoLXRyZWU9PHRyZWUtaXNoPl0KLQkJWy0tZnVsbC1uYW1lXSBbLS1hYmJyZXZdIFstLV0gWzxmaWxlPi4uLl0KKwkJWy0tZnVsbC1uYW1lXSBbLS1yZWN1cnNlLXN1Ym1vZHVsZXNdCisJCVstLWFiYnJldl0gWy0tXSBbPGZpbGU+Li4uXQogCiBERVNDUklQVElPTgogLS0tLS0tLS0tLS0KQEAgLTEzNyw2ICsxMzgsMTAgQEAKIAlvcHRpb24gZm9yY2VzIHBhdGhzIHRvIGJlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdAogCXRvcCBkaXJlY3RvcnkuCiAKKy0tcmVjdXJzZS1zdWJtb2R1bGVzOjoKKwlSZWN1cnNpdmVseSBjYWxscyBscy1maWxlcyBvbiBlYWNoIHN1Ym1vZHVsZSBpbiB0aGUgcmVwb3NpdG9yeS4KKwlDdXJyZW50bHkgdGhlcmUgaXMgb25seSBzdXBwb3J0IGZvciB0aGUgLS1jYWNoZWQgbW9kZS4KKwogLS1hYmJyZXZbPTxuPl06OgogCUluc3RlYWQgb2Ygc2hvd2luZyB0aGUgZnVsbCA0MC1ieXRlIGhleGFkZWNpbWFsIG9iamVjdAogCWxpbmVzLCBzaG93IG9ubHkgYSBwYXJ0aWFsIHByZWZpeC4KQEAgLTE1OSw4ICsxNjQsNyBAQAogKwogPGVvbGF0dHI+IGlzIHRoZSBhdHRyaWJ1dGUgdGhhdCBpcyB1c2VkIHdoZW4gY2hlY2tpbmcgb3V0IG9yIGNvbW1pdHRpbmcsCiBpdCBpcyBlaXRoZXIgIiIsICItdGV4dCIsICJ0ZXh0IiwgInRleHQ9YXV0byIsICJ0ZXh0IGVvbD1sZiIsICJ0ZXh0IGVvbD1jcmxmIi4KLU5vdGU6IEN1cnJlbnRseSBHaXQgZG9lcyBub3Qgc3VwcG9ydCAidGV4dD1hdXRvIGVvbD1sZiIgb3IgInRleHQ9YXV0byBlb2w9Y3JsZiIsCi10aGF0IG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4KK1NpbmNlIEdpdCAyLjEwICJ0ZXh0PWF1dG8gZW9sPWxmIiBhbmQgInRleHQ9YXV0byBlb2w9Y3JsZiIgYXJlIHN1cHBvcnRlZC4KICsKIEJvdGggdGhlIDxlb2xpbmZvPiBpbiB0aGUgaW5kZXggKCJpLzxlb2xpbmZvPiIpCiBhbmQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoIncvPGVvbGluZm8+IikgYXJlIHNob3duIGZvciByZWd1bGFyIGZpbGVzLApAQCAtMTc1LDcgKzE3OSw3IEBACiAKIE91dHB1dAogLS0tLS0tCi0nZ2l0IGxzLWZpbGVzJyBqdXN0IG91dHB1dHMgdGhlIGZpbGVuYW1lcyB1bmxlc3MgJy0tc3RhZ2UnIGlzIHNwZWNpZmllZCBpbgorJ2dpdCBscy1maWxlcycganVzdCBvdXRwdXRzIHRoZSBmaWxlbmFtZXMgdW5sZXNzIGAtLXN0YWdlYCBpcyBzcGVjaWZpZWQgaW4KIHdoaWNoIGNhc2UgaXQgb3V0cHV0czoKIAogICAgICAgICBbPHRhZz4gXTxtb2RlPiA8b2JqZWN0PiA8c3RhZ2U+IDxmaWxlPgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtbHMtdHJlZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1scy10cmVlLnR4dAppbmRleCAxNmU4N2ZkLi5kYmM5MWY5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1scy10cmVlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1scy10cmVlLnR4dApAQCAtMjAsMTYgKzIwLDE2IEBACiAKICAtIHRoZSBiZWhhdmlvdXIgaXMgc2xpZ2h0bHkgZGlmZmVyZW50IGZyb20gdGhhdCBvZiAiL2Jpbi9scyIgaW4gdGhhdCB0aGUKICAgICc8cGF0aD4nIGRlbm90ZXMganVzdCBhIGxpc3Qgb2YgcGF0dGVybnMgdG8gbWF0Y2gsIGUuZy4gc28gc3BlY2lmeWluZwotICAgZGlyZWN0b3J5IG5hbWUgKHdpdGhvdXQgJy1yJykgd2lsbCBiZWhhdmUgZGlmZmVyZW50bHksIGFuZCBvcmRlciBvZiB0aGUKKyAgIGRpcmVjdG9yeSBuYW1lICh3aXRob3V0IGAtcmApIHdpbGwgYmVoYXZlIGRpZmZlcmVudGx5LCBhbmQgb3JkZXIgb2YgdGhlCiAgICBhcmd1bWVudHMgZG9lcyBub3QgbWF0dGVyLgogCiAgLSB0aGUgYmVoYXZpb3VyIGlzIHNpbWlsYXIgdG8gdGhhdCBvZiAiL2Jpbi9scyIgaW4gdGhhdCB0aGUgJzxwYXRoPicgaXMKICAgIHRha2VuIGFzIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LiAgRS5nLiB3aGVuIHlvdSBhcmUKICAgIGluIGEgZGlyZWN0b3J5ICdzdWInIHRoYXQgaGFzIGEgZGlyZWN0b3J5ICdkaXInLCB5b3UgY2FuIHJ1biAnZ2l0CiAgICBscy10cmVlIC1yIEhFQUQgZGlyJyB0byBsaXN0IHRoZSBjb250ZW50cyBvZiB0aGUgdHJlZSAodGhhdCBpcwotICAgJ3N1Yi9kaXInIGluICdIRUFEJykuICBZb3UgZG9uJ3Qgd2FudCB0byBnaXZlIGEgdHJlZSB0aGF0IGlzIG5vdCBhdCB0aGUKKyAgICdzdWIvZGlyJyBpbiBgSEVBRGApLiAgWW91IGRvbid0IHdhbnQgdG8gZ2l2ZSBhIHRyZWUgdGhhdCBpcyBub3QgYXQgdGhlCiAgICByb290IGxldmVsIChlLmcuIGBnaXQgbHMtdHJlZSAtciBIRUFEOnN1YiBkaXJgKSBpbiB0aGlzIGNhc2UsIGFzIHRoYXQKLSAgIHdvdWxkIHJlc3VsdCBpbiBhc2tpbmcgZm9yICdzdWIvc3ViL2RpcicgaW4gdGhlICdIRUFEJyBjb21taXQuCisgICB3b3VsZCByZXN1bHQgaW4gYXNraW5nIGZvciAnc3ViL3N1Yi9kaXInIGluIHRoZSBgSEVBRGAgY29tbWl0LgogICAgSG93ZXZlciwgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgY2FuIGJlIGlnbm9yZWQgYnkgcGFzc2luZwogICAgLS1mdWxsLXRyZWUgb3B0aW9uLgogCkBAIC00Niw3ICs0Niw3IEBACiAKIC10OjoKIAlTaG93IHRyZWUgZW50cmllcyBldmVuIHdoZW4gZ29pbmcgdG8gcmVjdXJzZSB0aGVtLiBIYXMgbm8gZWZmZWN0Ci0JaWYgJy1yJyB3YXMgbm90IHBhc3NlZC4gJy1kJyBpbXBsaWVzICctdCcuCisJaWYgYC1yYCB3YXMgbm90IHBhc3NlZC4gYC1kYCBpbXBsaWVzIGAtdGAuCiAKIC1sOjoKIC0tbG9uZzo6CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1tYWlsc3BsaXQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtbWFpbHNwbGl0LnR4dAppbmRleCA0ZDFiODcxLi5lM2IyYTg4IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1tYWlsc3BsaXQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LW1haWxzcGxpdC50eHQKQEAgLTgsNyArOCw4IEBACiBTWU5PUFNJUwogLS0tLS0tLS0KIFt2ZXJzZV0KLSdnaXQgbWFpbHNwbGl0JyBbLWJdIFstZjxubj5dIFstZDxwcmVjPl0gWy0ta2VlcC1jcl0gLW88ZGlyZWN0b3J5PiBbLS1dIFsoPG1ib3g+fDxNYWlsZGlyPikuLi5dCisnZ2l0IG1haWxzcGxpdCcgWy1iXSBbLWY8bm4+XSBbLWQ8cHJlYz5dIFstLWtlZXAtY3JdIFstLW1ib3hyZF0KKwkJLW88ZGlyZWN0b3J5PiBbLS1dIFsoPG1ib3g+fDxNYWlsZGlyPikuLi5dCiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQpAQCAtNDcsNiArNDgsMTAgQEAKIC0ta2VlcC1jcjo6CiAJRG8gbm90IHJlbW92ZSBgXHJgIGZyb20gbGluZXMgZW5kaW5nIHdpdGggYFxyXG5gLgogCistLW1ib3hyZDo6CisJSW5wdXQgaXMgb2YgdGhlICJtYm94cmQiIGZvcm1hdCBhbmQgIl4+K0Zyb20gIiBsaW5lIGVzY2FwaW5nIGlzCisJcmV2ZXJzZWQuCisKIEdJVAogLS0tCiBQYXJ0IG9mIHRoZSBsaW5rZ2l0OmdpdFsxXSBzdWl0ZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2UtYmFzZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZS1iYXNlLnR4dAppbmRleCA4MDg0MjZmLi5iOTY4YjY0IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZS1iYXNlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZS1iYXNlLnR4dApAQCAtODAsOCArODAsOCBAQAogCiBGb3IgZXhhbXBsZSwgd2l0aCB0aGlzIHRvcG9sb2d5OgogCi0JCSBvLS0tby0tLW8tLS1CCi0JCS8KKwkgICAgICAgICBvLS0tby0tLW8tLS1CCisJICAgICAgICAvCiAJLS0tby0tLTEtLS1vLS0tby0tLW8tLS1BCiAKIHRoZSBtZXJnZSBiYXNlIGJldHdlZW4gJ0EnIGFuZCAnQicgaXMgJzEnLgpAQCAtMTE2LDExICsxMTYsMTEgQEAKIFdoZW4gdGhlIGhpc3RvcnkgaW52b2x2ZXMgY3Jpc3MtY3Jvc3MgbWVyZ2VzLCB0aGVyZSBjYW4gYmUgbW9yZSB0aGFuIG9uZQogJ2Jlc3QnIGNvbW1vbiBhbmNlc3RvciBmb3IgdHdvIGNvbW1pdHMuICBGb3IgZXhhbXBsZSwgd2l0aCB0aGlzIHRvcG9sb2d5OgogCi0gICAgICAgLS0tMS0tLW8tLS1BCi0JICAgXCAvCi0JICAgIFgKLQkgICAvIFwKLSAgICAgICAtLS0yLS0tby0tLW8tLS1CCisJLS0tMS0tLW8tLS1BCisJICAgIFwgLworCSAgICAgWAorCSAgICAvIFwKKwktLS0yLS0tby0tLW8tLS1CCiAKIGJvdGggJzEnIGFuZCAnMicgYXJlIG1lcmdlLWJhc2VzIG9mIEEgYW5kIEIuICBOZWl0aGVyIG9uZSBpcyBiZXR0ZXIgdGhhbgogdGhlIG90aGVyIChib3RoIGFyZSAnYmVzdCcgbWVyZ2UgYmFzZXMpLiAgV2hlbiB0aGUgYC0tYWxsYCBvcHRpb24gaXMgbm90IGdpdmVuLApAQCAtMTU0LDEzICsxNTQsMTMgQEAKIGBvcmlnaW4vbWFzdGVyYCBtYXkgaGF2ZSBiZWVuIHJld291bmQgYW5kIHJlYnVpbHQsIGxlYWRpbmcgdG8gYQogaGlzdG9yeSBvZiB0aGlzIHNoYXBlOgogCi0JCQkgby0tLUIxCi0JCQkvCisJICAgICAgICAgICAgICAgICBvLS0tQjEKKwkgICAgICAgICAgICAgICAgLwogCS0tLW8tLS1vLS0tQjItLW8tLS1vLS0tby0tLUIgKG9yaWdpbi9tYXN0ZXIpCi0JCVwKLQkJIEIzCi0JCSAgXAotCQkgICBEZXJpdmVkICh0b3BpYykKKwkgICAgICAgIFwKKwkgICAgICAgICBCMworCSAgICAgICAgICBcCisJICAgICAgICAgICBEZXJpdmVkICh0b3BpYykKIAogd2hlcmUgYG9yaWdpbi9tYXN0ZXJgIHVzZWQgdG8gcG9pbnQgYXQgY29tbWl0cyBCMywgQjIsIEIxIGFuZCBub3cgaXQKIHBvaW50cyBhdCBCLCBhbmQgeW91ciBgdG9waWNgIGJyYW5jaCB3YXMgc3RhcnRlZCBvbiB0b3Agb2YgaXQgYmFjawpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2V0b29sLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdldG9vbC50eHQKaW5kZXggZTg0NmMyZS4uMzYyMmQ2NiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2V0b29sLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZXRvb2wudHh0CkBAIC03OSw2ICs3OSwxMyBAQAogCVByb21wdCBiZWZvcmUgZWFjaCBpbnZvY2F0aW9uIG9mIHRoZSBtZXJnZSByZXNvbHV0aW9uIHByb2dyYW0KIAl0byBnaXZlIHRoZSB1c2VyIGEgY2hhbmNlIHRvIHNraXAgdGhlIHBhdGguCiAKKy1PPG9yZGVyZmlsZT46OgorCVByb2Nlc3MgZmlsZXMgaW4gdGhlIG9yZGVyIHNwZWNpZmllZCBpbiB0aGUKKwk8b3JkZXJmaWxlPiwgd2hpY2ggaGFzIG9uZSBzaGVsbCBnbG9iIHBhdHRlcm4gcGVyIGxpbmUuCisJVGhpcyBvdmVycmlkZXMgdGhlIGBkaWZmLm9yZGVyRmlsZWAgY29uZmlndXJhdGlvbiB2YXJpYWJsZQorCShzZWUgbGlua2dpdDpnaXQtY29uZmlnWzFdKS4gIFRvIGNhbmNlbCBgZGlmZi5vcmRlckZpbGVgLAorCXVzZSBgLU8vZGV2L251bGxgLgorCiBURU1QT1JBUlkgRklMRVMKIC0tLS0tLS0tLS0tLS0tLQogYGdpdCBtZXJnZXRvb2xgIGNyZWF0ZXMgYCoub3JpZ2AgYmFja3VwIGZpbGVzIHdoaWxlIHJlc29sdmluZyBtZXJnZXMuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1ta3RyZWUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtbWt0cmVlLnR4dAppbmRleCA1YzZlYmRmLi5jMzYxNmU3IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1ta3RyZWUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LW1rdHJlZS50eHQKQEAgLTMyLDcgKzMyLDcgQEAKIC0tYmF0Y2g6OgogCUFsbG93IGJ1aWxkaW5nIG9mIG1vcmUgdGhhbiBvbmUgdHJlZSBvYmplY3QgYmVmb3JlIGV4aXRpbmcuICBFYWNoCiAJdHJlZSBpcyBzZXBhcmF0ZWQgYnkgYXMgc2luZ2xlIGJsYW5rIGxpbmUuIFRoZSBmaW5hbCBuZXctbGluZSBpcwotCW9wdGlvbmFsLiAgTm90ZSAtIGlmIHRoZSAnLXonIG9wdGlvbiBpcyB1c2VkLCBsaW5lcyBhcmUgdGVybWluYXRlZAorCW9wdGlvbmFsLiAgTm90ZSAtIGlmIHRoZSBgLXpgIG9wdGlvbiBpcyB1c2VkLCBsaW5lcyBhcmUgdGVybWluYXRlZAogCXdpdGggTlVMLgogCiBHSVQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LW12LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LW12LnR4dAppbmRleCBlNDUzMTMyLi43OTQ0OWJmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1tdi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtbXYudHh0CkBAIC0zMiwxMCArMzIsMTAgQEAKIC0tZm9yY2U6OgogCUZvcmNlIHJlbmFtaW5nIG9yIG1vdmluZyBvZiBhIGZpbGUgZXZlbiBpZiB0aGUgdGFyZ2V0IGV4aXN0cwogLWs6OgotICAgICAgICBTa2lwIG1vdmUgb3IgcmVuYW1lIGFjdGlvbnMgd2hpY2ggd291bGQgbGVhZCB0byBhbiBlcnJvcgorCVNraXAgbW92ZSBvciByZW5hbWUgYWN0aW9ucyB3aGljaCB3b3VsZCBsZWFkIHRvIGFuIGVycm9yCiAJY29uZGl0aW9uLiBBbiBlcnJvciBoYXBwZW5zIHdoZW4gYSBzb3VyY2UgaXMgbmVpdGhlciBleGlzdGluZyBub3IKIAljb250cm9sbGVkIGJ5IEdpdCwgb3Igd2hlbiBpdCB3b3VsZCBvdmVyd3JpdGUgYW4gZXhpc3RpbmcKLSAgICAgICAgZmlsZSB1bmxlc3MgJy1mJyBpcyBnaXZlbi4KKwlmaWxlIHVubGVzcyBgLWZgIGlzIGdpdmVuLgogLW46OgogLS1kcnktcnVuOjoKIAlEbyBub3RoaW5nOyBvbmx5IHNob3cgd2hhdCB3b3VsZCBoYXBwZW4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LW5vdGVzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LW5vdGVzLnR4dAppbmRleCA5YzRmZDY4Li5iZTdkYjMwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1ub3Rlcy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtbm90ZXMudHh0CkBAIC0xNTIsNyArMTUyLDcgQEAKIAogLWMgPG9iamVjdD46OgogLS1yZWVkaXQtbWVzc2FnZT08b2JqZWN0Pjo6Ci0JTGlrZSAnLUMnLCBidXQgd2l0aCAnLWMnIHRoZSBlZGl0b3IgaXMgaW52b2tlZCwgc28gdGhhdAorCUxpa2UgJy1DJywgYnV0IHdpdGggYC1jYCB0aGUgZWRpdG9yIGlzIGludm9rZWQsIHNvIHRoYXQKIAl0aGUgdXNlciBjYW4gZnVydGhlciBlZGl0IHRoZSBub3RlIG1lc3NhZ2UuCiAKIC0tYWxsb3ctZW1wdHk6OgpAQCAtMTYxLDcgKzE2MSw3IEBACiAKIC0tcmVmIDxyZWY+OjoKIAlNYW5pcHVsYXRlIHRoZSBub3RlcyB0cmVlIGluIDxyZWY+LiAgVGhpcyBvdmVycmlkZXMKLQknR0lUX05PVEVTX1JFRicgYW5kIHRoZSAiY29yZS5ub3Rlc1JlZiIgY29uZmlndXJhdGlvbi4gIFRoZSByZWYKKwlgR0lUX05PVEVTX1JFRmAgYW5kIHRoZSAiY29yZS5ub3Rlc1JlZiIgY29uZmlndXJhdGlvbi4gIFRoZSByZWYKIAlzcGVjaWZpZXMgdGhlIGZ1bGwgcmVmbmFtZSB3aGVuIGl0IGJlZ2lucyB3aXRoIGByZWZzL25vdGVzL2A7IHdoZW4gaXQKIAliZWdpbnMgd2l0aCBgbm90ZXMvYCwgYHJlZnMvYCBhbmQgb3RoZXJ3aXNlIGByZWZzL25vdGVzL2AgaXMgcHJlZml4ZWQKIAl0byBmb3JtIGEgZnVsbCBuYW1lIG9mIHRoZSByZWYuCkBAIC0zMzMsMTAgKzMzMywxMCBAQAogbm90ZXMuZGlzcGxheVJlZjo6CiAJV2hpY2ggcmVmIChvciByZWZzLCBpZiBhIGdsb2Igb3Igc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlKSwgaW4KIAlhZGRpdGlvbiB0byB0aGUgZGVmYXVsdCBzZXQgYnkgYGNvcmUubm90ZXNSZWZgIG9yCi0JJ0dJVF9OT1RFU19SRUYnLCB0byByZWFkIG5vdGVzIGZyb20gd2hlbiBzaG93aW5nIGNvbW1pdAorCWBHSVRfTk9URVNfUkVGYCwgdG8gcmVhZCBub3RlcyBmcm9tIHdoZW4gc2hvd2luZyBjb21taXQKIAltZXNzYWdlcyB3aXRoIHRoZSAnZ2l0IGxvZycgZmFtaWx5IG9mIGNvbW1hbmRzLgogCVRoaXMgc2V0dGluZyBjYW4gYmUgb3ZlcnJpZGRlbiBvbiB0aGUgY29tbWFuZCBsaW5lIG9yIGJ5IHRoZQotCSdHSVRfTk9URVNfRElTUExBWV9SRUYnIGVudmlyb25tZW50IHZhcmlhYmxlLgorCWBHSVRfTk9URVNfRElTUExBWV9SRUZgIGVudmlyb25tZW50IHZhcmlhYmxlLgogCVNlZSBsaW5rZ2l0OmdpdC1sb2dbMV0uCiAKIG5vdGVzLnJld3JpdGUuPGNvbW1hbmQ+OjoKQEAgLTM0NSw3ICszNDUsNyBAQAogCW5vdGVzIGZyb20gdGhlIG9yaWdpbmFsIHRvIHRoZSByZXdyaXR0ZW4gY29tbWl0LiAgRGVmYXVsdHMgdG8KIAlgdHJ1ZWAuICBTZWUgYWxzbyAiYG5vdGVzLnJld3JpdGVSZWZgIiBiZWxvdy4KICsKLVRoaXMgc2V0dGluZyBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgJ0dJVF9OT1RFU19SRVdSSVRFX1JFRicKK1RoaXMgc2V0dGluZyBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgYEdJVF9OT1RFU19SRVdSSVRFX1JFRmAKIGVudmlyb25tZW50IHZhcmlhYmxlLgogCiBub3Rlcy5yZXdyaXRlTW9kZTo6CkBAIC0zNjYsMzMgKzM2NiwzMyBAQAogRG9lcyBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWU7IHlvdSBtdXN0IGNvbmZpZ3VyZSB0aGlzIHZhcmlhYmxlIHRvCiBlbmFibGUgbm90ZSByZXdyaXRpbmcuCiArCi1DYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHRoZSAnR0lUX05PVEVTX1JFV1JJVEVfUkVGJyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KK0NhbiBiZSBvdmVycmlkZGVuIHdpdGggdGhlIGBHSVRfTk9URVNfUkVXUklURV9SRUZgIGVudmlyb25tZW50IHZhcmlhYmxlLgogCiAKIEVOVklST05NRU5UCiAtLS0tLS0tLS0tLQogCi0nR0lUX05PVEVTX1JFRic6OgorYEdJVF9OT1RFU19SRUZgOjoKIAlXaGljaCByZWYgdG8gbWFuaXB1bGF0ZSBub3RlcyBmcm9tLCBpbnN0ZWFkIG9mIGByZWZzL25vdGVzL2NvbW1pdHNgLgogCVRoaXMgb3ZlcnJpZGVzIHRoZSBgY29yZS5ub3Rlc1JlZmAgc2V0dGluZy4KIAotJ0dJVF9OT1RFU19ESVNQTEFZX1JFRic6OgorYEdJVF9OT1RFU19ESVNQTEFZX1JFRmA6OgogCUNvbG9uLWRlbGltaXRlZCBsaXN0IG9mIHJlZnMgb3IgZ2xvYnMgaW5kaWNhdGluZyB3aGljaCByZWZzLAogCWluIGFkZGl0aW9uIHRvIHRoZSBkZWZhdWx0IGZyb20gYGNvcmUubm90ZXNSZWZgIG9yCi0JJ0dJVF9OT1RFU19SRUYnLCB0byByZWFkIG5vdGVzIGZyb20gd2hlbiBzaG93aW5nIGNvbW1pdAorCWBHSVRfTk9URVNfUkVGYCwgdG8gcmVhZCBub3RlcyBmcm9tIHdoZW4gc2hvd2luZyBjb21taXQKIAltZXNzYWdlcy4KIAlUaGlzIG92ZXJyaWRlcyB0aGUgYG5vdGVzLmRpc3BsYXlSZWZgIHNldHRpbmcuCiArCiBBIHdhcm5pbmcgd2lsbCBiZSBpc3N1ZWQgZm9yIHJlZnMgdGhhdCBkbyBub3QgZXhpc3QsIGJ1dCBhIGdsb2IgdGhhdAogZG9lcyBub3QgbWF0Y2ggYW55IHJlZnMgaXMgc2lsZW50bHkgaWdub3JlZC4KIAotJ0dJVF9OT1RFU19SRVdSSVRFX01PREUnOjoKK2BHSVRfTk9URVNfUkVXUklURV9NT0RFYDo6CiAJV2hlbiBjb3B5aW5nIG5vdGVzIGR1cmluZyBhIHJld3JpdGUsIHdoYXQgdG8gZG8gaWYgdGhlIHRhcmdldAogCWNvbW1pdCBhbHJlYWR5IGhhcyBhIG5vdGUuCiAJTXVzdCBiZSBvbmUgb2YgYG92ZXJ3cml0ZWAsIGBjb25jYXRlbmF0ZWAsIGBjYXRfc29ydF91bmlxYCwgb3IgYGlnbm9yZWAuCiAJVGhpcyBvdmVycmlkZXMgdGhlIGBjb3JlLnJld3JpdGVNb2RlYCBzZXR0aW5nLgogCi0nR0lUX05PVEVTX1JFV1JJVEVfUkVGJzo6CitgR0lUX05PVEVTX1JFV1JJVEVfUkVGYDo6CiAJV2hlbiByZXdyaXRpbmcgY29tbWl0cywgd2hpY2ggbm90ZXMgdG8gY29weSBmcm9tIHRoZSBvcmlnaW5hbAogCXRvIHRoZSByZXdyaXR0ZW4gY29tbWl0LiAgTXVzdCBiZSBhIGNvbG9uLWRlbGltaXRlZCBsaXN0IG9mCiAJcmVmcyBvciBnbG9icy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXA0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXA0LnR4dAppbmRleCA4OGJhNDJiLi5jODNhYWYzIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1wNC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcDQudHh0CkBAIC0xMDQsNyArMTA0LDcgQEAKIC0tLS0tLS0tLS0tLQogVGhpcyBpbXBvcnRzIHRoZSBzcGVjaWZpZWQgZGVwb3QgaW50bwogJ3JlZnMvcmVtb3Rlcy9wNC9tYXN0ZXInIGluIGFuIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5LiAgVGhlCi0nLS1icmFuY2gnIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgZGlmZmVyZW50IGJyYW5jaCB0bworYC0tYnJhbmNoYCBvcHRpb24gY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIGRpZmZlcmVudCBicmFuY2ggdG8KIGJlIHVzZWQgZm9yIHRoZSBwNCBjb250ZW50LgogCiBJZiBhIEdpdCByZXBvc2l0b3J5IGluY2x1ZGVzIGJyYW5jaGVzICdyZWZzL3JlbW90ZXMvb3JpZ2luL3A0JywgdGhlc2UKQEAgLTExNCw3ICsxMTQsNyBAQAogCiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgYnJhbmNoZXMsIGRvaW5nICdnaXQgcDQgc3luYycgd2lsbCBhdXRvbWF0aWNhbGx5CiB1c2UgdGhlICJCUkFOQ0ggREVURUNUSU9OIiBhbGdvcml0aG0gdG8gdHJ5IHRvIHBhcnRpdGlvbiBuZXcgY2hhbmdlcwotaW50byB0aGUgcmlnaHQgYnJhbmNoLiAgVGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHRoZSAnLS1icmFuY2gnCitpbnRvIHRoZSByaWdodCBicmFuY2guICBUaGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggdGhlIGAtLWJyYW5jaGAKIG9wdGlvbiB0byBzcGVjaWZ5IGp1c3QgYSBzaW5nbGUgYnJhbmNoIHRvIHVwZGF0ZS4KIAogCkBAIC0xMzQsNyArMTM0LDcgQEAKIH5+fn5+fgogU3VibWl0dGluZyBjaGFuZ2VzIGZyb20gYSBHaXQgcmVwb3NpdG9yeSBiYWNrIHRvIHRoZSBwNCByZXBvc2l0b3J5CiByZXF1aXJlcyBhIHNlcGFyYXRlIHA0IGNsaWVudCB3b3Jrc3BhY2UuICBUaGlzIHNob3VsZCBiZSBzcGVjaWZpZWQKLXVzaW5nIHRoZSAnUDRDTElFTlQnIGVudmlyb25tZW50IHZhcmlhYmxlIG9yIHRoZSBHaXQgY29uZmlndXJhdGlvbgordXNpbmcgdGhlIGBQNENMSUVOVGAgZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgdGhlIEdpdCBjb25maWd1cmF0aW9uCiB2YXJpYWJsZSAnZ2l0LXA0LmNsaWVudCcuICBUaGUgcDQgY2xpZW50IG11c3QgZXhpc3QsIGJ1dCB0aGUgY2xpZW50IHJvb3QKIHdpbGwgYmUgY3JlYXRlZCBhbmQgcG9wdWxhdGVkIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QuCiAKQEAgLTE1MCwxMCArMTUwLDEwIEBACiAtLS0tLS0tLS0tLS0KIAogVGhlIHVwc3RyZWFtIHJlZmVyZW5jZSBpcyBnZW5lcmFsbHkgJ3JlZnMvcmVtb3Rlcy9wNC9tYXN0ZXInLCBidXQgY2FuCi1iZSBvdmVycmlkZGVuIHVzaW5nIHRoZSAnLS1vcmlnaW49JyBjb21tYW5kLWxpbmUgb3B0aW9uLgorYmUgb3ZlcnJpZGRlbiB1c2luZyB0aGUgYC0tb3JpZ2luPWAgY29tbWFuZC1saW5lIG9wdGlvbi4KIAogVGhlIHA0IGNoYW5nZXMgd2lsbCBiZSBjcmVhdGVkIGFzIHRoZSB1c2VyIGludm9raW5nICdnaXQgcDQgc3VibWl0Jy4gVGhlCi0nLS1wcmVzZXJ2ZS11c2VyJyBvcHRpb24gd2lsbCBjYXVzZSBvd25lcnNoaXAgdG8gYmUgbW9kaWZpZWQKK2AtLXByZXNlcnZlLXVzZXJgIG9wdGlvbiB3aWxsIGNhdXNlIG93bmVyc2hpcCB0byBiZSBtb2RpZmllZAogYWNjb3JkaW5nIHRvIHRoZSBhdXRob3Igb2YgdGhlIEdpdCBjb21taXQuICBUaGlzIG9wdGlvbiByZXF1aXJlcyBhZG1pbgogcHJpdmlsZWdlcyBpbiBwNCwgd2hpY2ggY2FuIGJlIGdyYW50ZWQgdXNpbmcgJ3A0IHByb3RlY3QnLgogCkBAIC0xNjYsNyArMTY2LDcgQEAKIEFsbCBjb21tYW5kcyBleGNlcHQgY2xvbmUgYWNjZXB0IHRoZXNlIG9wdGlvbnMuCiAKIC0tZ2l0LWRpciA8ZGlyPjo6Ci0JU2V0IHRoZSAnR0lUX0RJUicgZW52aXJvbm1lbnQgdmFyaWFibGUuICBTZWUgbGlua2dpdDpnaXRbMV0uCisJU2V0IHRoZSBgR0lUX0RJUmAgZW52aXJvbm1lbnQgdmFyaWFibGUuICBTZWUgbGlua2dpdDpnaXRbMV0uCiAKIC12OjoKIC0tdmVyYm9zZTo6CkBAIC0yMjEsNyArMjIxLDcgQEAKIAl3aGVyZSB0aGV5IHdpbGwgYmUgdHJlYXRlZCBhcyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgYnkKIAlsaW5rZ2l0OmdpdC1icmFuY2hbMV0gYW5kIG90aGVyIGNvbW1hbmRzLiAgVGhpcyBvcHRpb24gaW5zdGVhZAogCXB1dHMgcDQgYnJhbmNoZXMgaW4gJ3JlZnMvaGVhZHMvcDQvJy4gIE5vdGUgdGhhdCBmdXR1cmUKLQlzeW5jIG9wZXJhdGlvbnMgbXVzdCBzcGVjaWZ5ICctLWltcG9ydC1sb2NhbCcgYXMgd2VsbCBzbyB0aGF0CisJc3luYyBvcGVyYXRpb25zIG11c3Qgc3BlY2lmeSBgLS1pbXBvcnQtbG9jYWxgIGFzIHdlbGwgc28gdGhhdAogCXRoZXkgY2FuIGZpbmQgdGhlIHA0IGJyYW5jaGVzIGluIHJlZnMvaGVhZHMuCiAKIC0tbWF4LWNoYW5nZXMgPG4+OjoKQEAgLTI0NSw3ICsyNDUsNyBAQAogCWRlZmF1bHQsIGludm9sdmVzIHJlbW92aW5nIHRoZSBlbnRpcmUgZGVwb3QgcGF0aC4gIFdpdGggdGhpcwogCW9wdGlvbiwgdGhlIGZ1bGwgcDQgZGVwb3QgcGF0aCBpcyByZXRhaW5lZCBpbiBHaXQuICBGb3IgZXhhbXBsZSwKIAlwYXRoICcvL2RlcG90L21haW4vZm9vL2Jhci5jJywgd2hlbiBpbXBvcnRlZCBmcm9tCi0JJy8vZGVwb3QvbWFpbi8nLCBiZWNvbWVzICdmb28vYmFyLmMnLiAgV2l0aCAnLS1rZWVwLXBhdGgnLCB0aGUKKwknLy9kZXBvdC9tYWluLycsIGJlY29tZXMgJ2Zvby9iYXIuYycuICBXaXRoIGAtLWtlZXAtcGF0aGAsIHRoZQogCUdpdCBwYXRoIGlzIGluc3RlYWQgJ2RlcG90L21haW4vZm9vL2Jhci5jJy4KIAogLS11c2UtY2xpZW50LXNwZWM6OgpAQCAtMjc1LDcgKzI3NSw3IEBACiAtLW9yaWdpbiA8Y29tbWl0Pjo6CiAJVXBzdHJlYW0gbG9jYXRpb24gZnJvbSB3aGljaCBjb21taXRzIGFyZSBpZGVudGlmaWVkIHRvIHN1Ym1pdCB0bwogCXA0LiAgQnkgZGVmYXVsdCwgdGhpcyBpcyB0aGUgbW9zdCByZWNlbnQgcDQgY29tbWl0IHJlYWNoYWJsZQotCWZyb20gJ0hFQUQnLgorCWZyb20gYEhFQURgLgogCiAtTTo6CiAJRGV0ZWN0IHJlbmFtZXMuICBTZWUgbGlua2dpdDpnaXQtZGlmZlsxXS4gIFJlbmFtZXMgd2lsbCBiZQpAQCAtMzQxLDcgKzM0MSw3IEBACiAgICAgSW1wb3J0IGFsbCBjaGFuZ2VzIGZyb20gYm90aCBuYW1lZCBkZXBvdCBwYXRocyBpbnRvIGEgc2luZ2xlCiAgICAgcmVwb3NpdG9yeS4gIE9ubHkgZmlsZXMgYmVsb3cgdGhlc2UgZGlyZWN0b3JpZXMgYXJlIGluY2x1ZGVkLgogICAgIFRoZXJlIGlzIG5vdCBhIHN1YmRpcmVjdG9yeSBpbiBHaXQgZm9yIGVhY2ggInByb2oxIiBhbmQgInByb2oyIi4KLSAgICBZb3UgbXVzdCB1c2UgdGhlICctLWRlc3RpbmF0aW9uJyBvcHRpb24gd2hlbiBzcGVjaWZ5aW5nIG1vcmUKKyAgICBZb3UgbXVzdCB1c2UgdGhlIGAtLWRlc3RpbmF0aW9uYCBvcHRpb24gd2hlbiBzcGVjaWZ5aW5nIG1vcmUKICAgICB0aGFuIG9uZSBkZXBvdCBwYXRoLiAgVGhlIHJldmlzaW9uIHNwZWNpZmllciBtdXN0IGJlIHNwZWNpZmllZAogICAgIGlkZW50aWNhbGx5IG9uIGVhY2ggZGVwb3QgcGF0aC4gIElmIHRoZXJlIGFyZSBmaWxlcyBpbiB0aGUKICAgICBkZXBvdCBwYXRocyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoZSBwYXRoIHdpdGggdGhlIG1vc3QgcmVjZW50bHkKQEAgLTM1NSw3ICszNTUsNyBAQAogVGhlIHA0IGNsaWVudCBzcGVjaWZpY2F0aW9uIGlzIG1haW50YWluZWQgd2l0aCB0aGUgJ3A0IGNsaWVudCcgY29tbWFuZAogYW5kIGNvbnRhaW5zIGFtb25nIG90aGVyIGZpZWxkcywgYSBWaWV3IHRoYXQgc3BlY2lmaWVzIGhvdyB0aGUgZGVwb3QKIGlzIG1hcHBlZCBpbnRvIHRoZSBjbGllbnQgcmVwb3NpdG9yeS4gIFRoZSAnY2xvbmUnIGFuZCAnc3luYycgY29tbWFuZHMKLWNhbiBjb25zdWx0IHRoZSBjbGllbnQgc3BlYyB3aGVuIGdpdmVuIHRoZSAnLS11c2UtY2xpZW50LXNwZWMnIG9wdGlvbiBvcgorY2FuIGNvbnN1bHQgdGhlIGNsaWVudCBzcGVjIHdoZW4gZ2l2ZW4gdGhlIGAtLXVzZS1jbGllbnQtc3BlY2Agb3B0aW9uIG9yCiB3aGVuIHRoZSB1c2VDbGllbnRTcGVjIHZhcmlhYmxlIGlzIHRydWUuICBBZnRlciAnZ2l0IHA0IGNsb25lJywgdGhlCiB1c2VDbGllbnRTcGVjIHZhcmlhYmxlIGlzIGF1dG9tYXRpY2FsbHkgc2V0IGluIHRoZSByZXBvc2l0b3J5CiBjb25maWd1cmF0aW9uIGZpbGUuICBUaGlzIGFsbG93cyBmdXR1cmUgJ2dpdCBwNCBzdWJtaXQnIGNvbW1hbmRzIHRvCkBAIC0zOTAsNyArMzkwLDcgQEAKIGNhbiB1c2UgdGhlc2UgbWFwcGluZ3MgdG8gZGV0ZXJtaW5lIGJyYW5jaCByZWxhdGlvbnNoaXBzLgogCiBJZiB5b3UgaGF2ZSBhIHJlcG9zaXRvcnkgd2hlcmUgYWxsIHRoZSBicmFuY2hlcyBvZiBpbnRlcmVzdCBleGlzdCBhcwotc3ViZGlyZWN0b3JpZXMgb2YgYSBzaW5nbGUgZGVwb3QgcGF0aCwgeW91IGNhbiB1c2UgJy0tZGV0ZWN0LWJyYW5jaGVzJworc3ViZGlyZWN0b3JpZXMgb2YgYSBzaW5nbGUgZGVwb3QgcGF0aCwgeW91IGNhbiB1c2UgYC0tZGV0ZWN0LWJyYW5jaGVzYAogd2hlbiBjbG9uaW5nIG9yIHN5bmNpbmcgdG8gaGF2ZSAnZ2l0IHA0JyBhdXRvbWF0aWNhbGx5IGZpbmQKIHN1YmRpcmVjdG9yaWVzIGluIHA0LCBhbmQgdG8gZ2VuZXJhdGUgdGhlc2UgYXMgYnJhbmNoZXMgaW4gR2l0LgogCkBAIC01MDcsNyArNTA3LDcgQEAKIGdpdC1wNC51c2VDbGllbnRTcGVjOjoKIAlTcGVjaWZ5IHRoYXQgdGhlIHA0IGNsaWVudCBzcGVjIHNob3VsZCBiZSB1c2VkIHRvIGlkZW50aWZ5IHA0CiAJZGVwb3QgcGF0aHMgb2YgaW50ZXJlc3QuICBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gc3BlY2lmeWluZyB0aGUKLQlvcHRpb24gJy0tdXNlLWNsaWVudC1zcGVjJy4gIFNlZSB0aGUgIkNMSUVOVCBTUEVDIiBzZWN0aW9uIGFib3ZlLgorCW9wdGlvbiBgLS11c2UtY2xpZW50LXNwZWNgLiAgU2VlIHRoZSAiQ0xJRU5UIFNQRUMiIHNlY3Rpb24gYWJvdmUuCiAJVGhpcyB2YXJpYWJsZSBpcyBhIGJvb2xlYW4sIG5vdCB0aGUgbmFtZSBvZiBhIHA0IGNsaWVudC4KIAogZ2l0LXA0LnBhdGhFbmNvZGluZzo6CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1wYWNrLW9iamVjdHMudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcGFjay1vYmplY3RzLnR4dAppbmRleCAxOWNkY2QwLi44OTczNTEwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1wYWNrLW9iamVjdHMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXBhY2stb2JqZWN0cy50eHQKQEAgLTEwNCw4ICsxMDQsOCBAQAogCW91dCBvZiBtZW1vcnkgd2l0aCBhIGxhcmdlIHdpbmRvdywgYnV0IHN0aWxsIGJlIGFibGUgdG8gdGFrZQogCWFkdmFudGFnZSBvZiB0aGUgbGFyZ2Ugd2luZG93IGZvciB0aGUgc21hbGxlciBvYmplY3RzLiAgVGhlCiAJc2l6ZSBjYW4gYmUgc3VmZml4ZWQgd2l0aCAiayIsICJtIiwgb3IgImciLgotCWAtLXdpbmRvdy1tZW1vcnk9MGAgbWFrZXMgbWVtb3J5IHVzYWdlIHVubGltaXRlZCwgd2hpY2ggaXMgdGhlCi0JZGVmYXVsdC4KKwlgLS13aW5kb3ctbWVtb3J5PTBgIG1ha2VzIG1lbW9yeSB1c2FnZSB1bmxpbWl0ZWQuICBUaGUgZGVmYXVsdAorCWlzIHRha2VuIGZyb20gdGhlIGBwYWNrLndpbmRvd01lbW9yeWAgY29uZmlndXJhdGlvbiB2YXJpYWJsZS4KIAogLS1tYXgtcGFjay1zaXplPTxuPjo6CiAJTWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZS4gVGhlIHNpemUgY2FuIGJlIHN1ZmZpeGVkIHdpdGgKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXB1c2gudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcHVzaC50eHQKaW5kZXggY2Y2ZWU0YS4uNDdiNzdlNiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcHVzaC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcHVzaC50eHQKQEAgLTExLDcgKzExLDcgQEAKIFt2ZXJzZV0KICdnaXQgcHVzaCcgWy0tYWxsIHwgLS1taXJyb3IgfCAtLXRhZ3NdIFstLWZvbGxvdy10YWdzXSBbLS1hdG9taWNdIFstbiB8IC0tZHJ5LXJ1bl0gWy0tcmVjZWl2ZS1wYWNrPTxnaXQtcmVjZWl2ZS1wYWNrPl0KIAkgICBbLS1yZXBvPTxyZXBvc2l0b3J5Pl0gWy1mIHwgLS1mb3JjZV0gWy1kIHwgLS1kZWxldGVdIFstLXBydW5lXSBbLXYgfCAtLXZlcmJvc2VdCi0JICAgWy11IHwgLS1zZXQtdXBzdHJlYW1dCisJICAgWy11IHwgLS1zZXQtdXBzdHJlYW1dIFstLXB1c2gtb3B0aW9uPTxzdHJpbmc+XQogCSAgIFstLVtuby1dc2lnbmVkfC0tc2lnbj0odHJ1ZXxmYWxzZXxpZi1hc2tlZCldCiAJICAgWy0tZm9yY2Utd2l0aC1sZWFzZVs9PHJlZm5hbWU+Wzo8ZXhwZWN0Pl1dXQogCSAgIFstLW5vLXZlcmlmeV0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0KQEAgLTEzNyw4ICsxMzcsOCBAQAogCWFuZCBhbHNvIHB1c2ggYW5ub3RhdGVkIHRhZ3MgaW4gYHJlZnMvdGFnc2AgdGhhdCBhcmUgbWlzc2luZwogCWZyb20gdGhlIHJlbW90ZSBidXQgYXJlIHBvaW50aW5nIGF0IGNvbW1pdC1pc2ggdGhhdCBhcmUKIAlyZWFjaGFibGUgZnJvbSB0aGUgcmVmcyBiZWluZyBwdXNoZWQuICBUaGlzIGNhbiBhbHNvIGJlIHNwZWNpZmllZAotCXdpdGggY29uZmlndXJhdGlvbiB2YXJpYWJsZSAncHVzaC5mb2xsb3dUYWdzJy4gIEZvciBtb3JlCi0JaW5mb3JtYXRpb24sIHNlZSAncHVzaC5mb2xsb3dUYWdzJyBpbiBsaW5rZ2l0OmdpdC1jb25maWdbMV0uCisJd2l0aCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBwdXNoLmZvbGxvd1RhZ3NgLiAgRm9yIG1vcmUKKwlpbmZvcm1hdGlvbiwgc2VlIGBwdXNoLmZvbGxvd1RhZ3NgIGluIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXS4KIAogLS1bbm8tXXNpZ25lZDo6CiAtLXNpZ249KHRydWV8ZmFsc2V8aWYtYXNrZWQpOjoKQEAgLTE1Niw2ICsxNTYsMTIgQEAKIAlFaXRoZXIgYWxsIHJlZnMgYXJlIHVwZGF0ZWQsIG9yIG9uIGVycm9yLCBubyByZWZzIGFyZSB1cGRhdGVkLgogCUlmIHRoZSBzZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBhdG9taWMgcHVzaGVzIHRoZSBwdXNoIHdpbGwgZmFpbC4KIAorLW86OgorLS1wdXNoLW9wdGlvbjo6CisJVHJhbnNtaXQgdGhlIGdpdmVuIHN0cmluZyB0byB0aGUgc2VydmVyLCB3aGljaCBwYXNzZXMgdGhlbSB0bworCXRoZSBwcmUtcmVjZWl2ZSBhcyB3ZWxsIGFzIHRoZSBwb3N0LXJlY2VpdmUgaG9vay4gVGhlIGdpdmVuIHN0cmluZworCW11c3Qgbm90IGNvbnRhaW4gYSBOVUwgb3IgTEYgY2hhcmFjdGVyLgorCiAtLXJlY2VpdmUtcGFjaz08Z2l0LXJlY2VpdmUtcGFjaz46OgogLS1leGVjPTxnaXQtcmVjZWl2ZS1wYWNrPjo6CiAJUGF0aCB0byB0aGUgJ2dpdC1yZWNlaXZlLXBhY2snIHByb2dyYW0gb24gdGhlIHJlbW90ZQpAQCAtMTk4LDEwICsyMDQsMTEgQEAKICsKIGAtLWZvcmNlLXdpdGgtbGVhc2U9PHJlZm5hbWU+OjxleHBlY3Q+YCB3aWxsIHByb3RlY3QgdGhlIG5hbWVkIHJlZiAoYWxvbmUpLAogaWYgaXQgaXMgZ29pbmcgdG8gYmUgdXBkYXRlZCwgYnkgcmVxdWlyaW5nIGl0cyBjdXJyZW50IHZhbHVlIHRvIGJlCi10aGUgc2FtZSBhcyB0aGUgc3BlY2lmaWVkIHZhbHVlIDxleHBlY3Q+ICh3aGljaCBpcyBhbGxvd2VkIHRvIGJlCit0aGUgc2FtZSBhcyB0aGUgc3BlY2lmaWVkIHZhbHVlIGA8ZXhwZWN0PmAgKHdoaWNoIGlzIGFsbG93ZWQgdG8gYmUKIGRpZmZlcmVudCBmcm9tIHRoZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIHdlIGhhdmUgZm9yIHRoZSByZWZuYW1lLAogb3Igd2UgZG8gbm90IGV2ZW4gaGF2ZSB0byBoYXZlIHN1Y2ggYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIHdoZW4KLXRoaXMgZm9ybSBpcyB1c2VkKS4KK3RoaXMgZm9ybSBpcyB1c2VkKS4gIElmIGA8ZXhwZWN0PmAgaXMgdGhlIGVtcHR5IHN0cmluZywgdGhlbiB0aGUgbmFtZWQgcmVmCittdXN0IG5vdCBhbHJlYWR5IGV4aXN0LgogKwogTm90ZSB0aGF0IGFsbCBmb3JtcyBvdGhlciB0aGFuIGAtLWZvcmNlLXdpdGgtbGVhc2U9PHJlZm5hbWU+OjxleHBlY3Q+YAogdGhhdCBzcGVjaWZpZXMgdGhlIGV4cGVjdGVkIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHJlZiBleHBsaWNpdGx5IGFyZQpAQCAtMjQwLDcgKzI0Nyw3IEBACiAJRm9yIGV2ZXJ5IGJyYW5jaCB0aGF0IGlzIHVwIHRvIGRhdGUgb3Igc3VjY2Vzc2Z1bGx5IHB1c2hlZCwgYWRkCiAJdXBzdHJlYW0gKHRyYWNraW5nKSByZWZlcmVuY2UsIHVzZWQgYnkgYXJndW1lbnQtbGVzcwogCWxpbmtnaXQ6Z2l0LXB1bGxbMV0gYW5kIG90aGVyIGNvbW1hbmRzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwKLQlzZWUgJ2JyYW5jaC48bmFtZT4ubWVyZ2UnIGluIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXS4KKwlzZWUgYGJyYW5jaC48bmFtZT4ubWVyZ2VgIGluIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXS4KIAogLS1bbm8tXXRoaW46OgogCVRoZXNlIG9wdGlvbnMgYXJlIHBhc3NlZCB0byBsaW5rZ2l0OmdpdC1zZW5kLXBhY2tbMV0uIEEgdGhpbiB0cmFuc2ZlcgpAQCAtMjc1LDcgKzI4Miw3IEBACiAJYWxsIHN1Ym1vZHVsZXMgdGhhdCBjaGFuZ2VkIGluIHRoZSByZXZpc2lvbnMgdG8gYmUgcHVzaGVkIHdpbGwgYmUKIAlwdXNoZWQuIElmIG9uLWRlbWFuZCB3YXMgbm90IGFibGUgdG8gcHVzaCBhbGwgbmVjZXNzYXJ5IHJldmlzaW9ucwogCWl0IHdpbGwgYWxzbyBiZSBhYm9ydGVkIGFuZCBleGl0IHdpdGggbm9uLXplcm8gc3RhdHVzLiBBIHZhbHVlIG9mCi0JJ25vJyBvciB1c2luZyAnLS1uby1yZWN1cnNlLXN1Ym1vZHVsZXMnIGNhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZQorCSdubycgb3IgdXNpbmcgYC0tbm8tcmVjdXJzZS1zdWJtb2R1bGVzYCBjYW4gYmUgdXNlZCB0byBvdmVycmlkZSB0aGUKIAlwdXNoLnJlY3Vyc2VTdWJtb2R1bGVzIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgd2hlbiBubyBzdWJtb2R1bGUKIAlyZWN1cnNpb24gaXMgcmVxdWlyZWQuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXF1aWx0aW1wb3J0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXF1aWx0aW1wb3J0LnR4dAppbmRleCBmZjYzM2IwLi44Y2Y5NTJiIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1xdWlsdGltcG9ydC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcXVpbHRpbXBvcnQudHh0CkBAIC00NiwxNCArNDYsMTQgQEAKIAlUaGUgZGlyZWN0b3J5IHRvIGZpbmQgdGhlIHF1aWx0IHBhdGNoZXMuCiArCiBUaGUgZGVmYXVsdCBmb3IgdGhlIHBhdGNoIGRpcmVjdG9yeSBpcyBwYXRjaGVzCi1vciB0aGUgdmFsdWUgb2YgdGhlICRRVUlMVF9QQVRDSEVTIGVudmlyb25tZW50CitvciB0aGUgdmFsdWUgb2YgdGhlIGAkUVVJTFRfUEFUQ0hFU2AgZW52aXJvbm1lbnQKIHZhcmlhYmxlLgogCiAtLXNlcmllcyA8ZmlsZT46OgogCVRoZSBxdWlsdCBzZXJpZXMgZmlsZS4KICsKIFRoZSBkZWZhdWx0IGZvciB0aGUgc2VyaWVzIGZpbGUgaXMgPHBhdGNoZXM+L3Nlcmllcwotb3IgdGhlIHZhbHVlIG9mIHRoZSAkUVVJTFRfU0VSSUVTIGVudmlyb25tZW50CitvciB0aGUgdmFsdWUgb2YgdGhlIGAkUVVJTFRfU0VSSUVTYCBlbnZpcm9ubWVudAogdmFyaWFibGUuCiAKIEdJVApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmViYXNlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlYmFzZS50eHQKaW5kZXggMDM4N2I0MC4uZGUyMjJjOCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmViYXNlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZWJhc2UudHh0CkBAIC0yMDgsMTAgKzIwOCwxMCBAQAogCXJlYmFzZS4gRmFsc2UgYnkgZGVmYXVsdC4KIAogcmViYXNlLmF1dG9TcXVhc2g6OgotCUlmIHNldCB0byB0cnVlIGVuYWJsZSAnLS1hdXRvc3F1YXNoJyBvcHRpb24gYnkgZGVmYXVsdC4KKwlJZiBzZXQgdG8gdHJ1ZSBlbmFibGUgYC0tYXV0b3NxdWFzaGAgb3B0aW9uIGJ5IGRlZmF1bHQuCiAKIHJlYmFzZS5hdXRvU3Rhc2g6OgotCUlmIHNldCB0byB0cnVlIGVuYWJsZSAnLS1hdXRvc3Rhc2gnIG9wdGlvbiBieSBkZWZhdWx0LgorCUlmIHNldCB0byB0cnVlIGVuYWJsZSBgLS1hdXRvc3Rhc2hgIG9wdGlvbiBieSBkZWZhdWx0LgogCiByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjazo6CiAJSWYgc2V0IHRvICJ3YXJuIiwgcHJpbnQgd2FybmluZ3MgYWJvdXQgcmVtb3ZlZCBjb21taXRzIGluCkBAIC0yMjAsNyArMjIwLDcgQEAKIAlkb25lLiAiaWdub3JlIiBieSBkZWZhdWx0LgogCiByZWJhc2UuaW5zdHJ1Y3Rpb25Gb3JtYXQ6OgotCUN1c3RvbSBjb21taXQgbGlzdCBmb3JtYXQgdG8gdXNlIGR1cmluZyBhbiAnLS1pbnRlcmFjdGl2ZScgcmViYXNlLgorCUN1c3RvbSBjb21taXQgbGlzdCBmb3JtYXQgdG8gdXNlIGR1cmluZyBhbiBgLS1pbnRlcmFjdGl2ZWAgcmViYXNlLgogCiBPUFRJT05TCiAtLS0tLS0tCkBAIC00MjgsOSArNDI4LDkgQEAKIAkiZml4dXAhICIgb3IgInNxdWFzaCEgIiBhZnRlciB0aGUgZmlyc3QsIGluIGNhc2UgeW91IHJlZmVycmVkIHRvIGFuCiAJZWFybGllciBmaXh1cC9zcXVhc2ggd2l0aCBgZ2l0IGNvbW1pdCAtLWZpeHVwLy0tc3F1YXNoYC4KICsKLVRoaXMgb3B0aW9uIGlzIG9ubHkgdmFsaWQgd2hlbiB0aGUgJy0taW50ZXJhY3RpdmUnIG9wdGlvbiBpcyB1c2VkLgorVGhpcyBvcHRpb24gaXMgb25seSB2YWxpZCB3aGVuIHRoZSBgLS1pbnRlcmFjdGl2ZWAgb3B0aW9uIGlzIHVzZWQuCiArCi1JZiB0aGUgJy0tYXV0b3NxdWFzaCcgb3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCB1c2luZyB0aGUKK0lmIHRoZSBgLS1hdXRvc3F1YXNoYCBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0IHVzaW5nIHRoZQogY29uZmlndXJhdGlvbiB2YXJpYWJsZSBgcmViYXNlLmF1dG9TcXVhc2hgLCB0aGlzIG9wdGlvbiBjYW4gYmUKIHVzZWQgdG8gb3ZlcnJpZGUgYW5kIGRpc2FibGUgdGhpcyBzZXR0aW5nLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZWNlaXZlLXBhY2sudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcmVjZWl2ZS1wYWNrLnR4dAppbmRleCAwMDBlZThkLi4wY2NkNWZiIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1yZWNlaXZlLXBhY2sudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJlY2VpdmUtcGFjay50eHQKQEAgLTMzLDYgKzMzLDkgQEAKIG9wdGlvbiwgd2hpY2ggdGVsbHMgaXQgaWYgdXBkYXRlcyB0byBhIHJlZiBzaG91bGQgYmUgZGVuaWVkIGlmIHRoZXkKIGFyZSBub3QgZmFzdC1mb3J3YXJkcy4KIAorQSBudW1iZXIgb2Ygb3RoZXIgcmVjZWl2ZS4qIGNvbmZpZyBvcHRpb25zIGFyZSBhdmFpbGFibGUgdG8gdHdlYWsKK2l0cyBiZWhhdmlvciwgc2VlIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXS4KKwogT1BUSU9OUwogLS0tLS0tLQogPGRpcmVjdG9yeT46OgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLWZkLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlbW90ZS1mZC50eHQKaW5kZXggZTcwMGJhZi4uODBhZmNhOCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLWZkLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZW1vdGUtZmQudHh0CkBAIC0xNyw3ICsxNyw3IEBACiAKIElmIG9ubHkgPGluZmQ+IGlzIGdpdmVuLCBpdCBpcyBhc3N1bWVkIHRvIGJlIGEgYmlkaXJlY3Rpb25hbCBzb2NrZXQgY29ubmVjdGVkCiB0byByZW1vdGUgR2l0IHNlcnZlciAoZ2l0LXVwbG9hZC1wYWNrLCBnaXQtcmVjZWl2ZS1wYWNrIG9yCi1naXQtdXBsb2FkLWFjaGl2ZSkuIElmIGJvdGggPGluZmQ+IGFuZCA8b3V0ZmQ+IGFyZSBnaXZlbiwgdGhleSBhcmUgYXNzdW1lZAorZ2l0LXVwbG9hZC1hcmNoaXZlKS4gSWYgYm90aCA8aW5mZD4gYW5kIDxvdXRmZD4gYXJlIGdpdmVuLCB0aGV5IGFyZSBhc3N1bWVkCiB0byBiZSBwaXBlcyBjb25uZWN0ZWQgdG8gYSByZW1vdGUgR2l0IHNlcnZlciAoPGluZmQ+IGJlaW5nIHRoZSBpbmJvdW5kIHBpcGUKIGFuZCA8b3V0ZmQ+IGJlaW5nIHRoZSBvdXRib3VuZCBwaXBlLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZW1vdGUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLnR4dAppbmRleCAxZDdlY2VhLi41NzdiOTY5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1yZW1vdGUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJlbW90ZS50eHQKQEAgLTEzNyw5ICsxMzcsOSBAQAogUmV0cmlldmVzIHRoZSBVUkxzIGZvciBhIHJlbW90ZS4gQ29uZmlndXJhdGlvbnMgZm9yIGBpbnN0ZWFkT2ZgIGFuZAogYHB1c2hJbnN0ZWFkT2ZgIGFyZSBleHBhbmRlZCBoZXJlLiBCeSBkZWZhdWx0LCBvbmx5IHRoZSBmaXJzdCBVUkwgaXMgbGlzdGVkLgogKwotV2l0aCAnLS1wdXNoJywgcHVzaCBVUkxzIGFyZSBxdWVyaWVkIHJhdGhlciB0aGFuIGZldGNoIFVSTHMuCitXaXRoIGAtLXB1c2hgLCBwdXNoIFVSTHMgYXJlIHF1ZXJpZWQgcmF0aGVyIHRoYW4gZmV0Y2ggVVJMcy4KICsKLVdpdGggJy0tYWxsJywgYWxsIFVSTHMgZm9yIHRoZSByZW1vdGUgd2lsbCBiZSBsaXN0ZWQuCitXaXRoIGAtLWFsbGAsIGFsbCBVUkxzIGZvciB0aGUgcmVtb3RlIHdpbGwgYmUgbGlzdGVkLgogCiAnc2V0LXVybCc6OgogCkBAIC0xNDcsMTEgKzE0NywxMSBAQAogcmVnZXggPG9sZHVybD4gKGZpcnN0IFVSTCBpZiBubyA8b2xkdXJsPiBpcyBnaXZlbikgdG8gPG5ld3VybD4uIElmCiA8b2xkdXJsPiBkb2Vzbid0IG1hdGNoIGFueSBVUkwsIGFuIGVycm9yIG9jY3VycyBhbmQgbm90aGluZyBpcyBjaGFuZ2VkLgogKwotV2l0aCAnLS1wdXNoJywgcHVzaCBVUkxzIGFyZSBtYW5pcHVsYXRlZCBpbnN0ZWFkIG9mIGZldGNoIFVSTHMuCitXaXRoIGAtLXB1c2hgLCBwdXNoIFVSTHMgYXJlIG1hbmlwdWxhdGVkIGluc3RlYWQgb2YgZmV0Y2ggVVJMcy4KICsKLVdpdGggJy0tYWRkJywgaW5zdGVhZCBvZiBjaGFuZ2luZyBleGlzdGluZyBVUkxzLCBuZXcgVVJMIGlzIGFkZGVkLgorV2l0aCBgLS1hZGRgLCBpbnN0ZWFkIG9mIGNoYW5naW5nIGV4aXN0aW5nIFVSTHMsIG5ldyBVUkwgaXMgYWRkZWQuCiArCi1XaXRoICctLWRlbGV0ZScsIGluc3RlYWQgb2YgY2hhbmdpbmcgZXhpc3RpbmcgVVJMcywgYWxsIFVSTHMgbWF0Y2hpbmcKK1dpdGggYC0tZGVsZXRlYCwgaW5zdGVhZCBvZiBjaGFuZ2luZyBleGlzdGluZyBVUkxzLCBhbGwgVVJMcyBtYXRjaGluZwogcmVnZXggPHVybD4gYXJlIGRlbGV0ZWQgZm9yIHJlbW90ZSA8bmFtZT4uICBUcnlpbmcgdG8gZGVsZXRlIGFsbAogbm9uLXB1c2ggVVJMcyBpcyBhbiBlcnJvci4KICsKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXJlcGFjay50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXBhY2sudHh0CmluZGV4IGI5YzAyY2UuLjI2YWZlNmUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJlcGFjay50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcmVwYWNrLnR4dApAQCAtMzMsNyArMzMsNyBAQAogCXBhY2sgZXZlcnl0aGluZyByZWZlcmVuY2VkIGludG8gYSBzaW5nbGUgcGFjay4KIAlFc3BlY2lhbGx5IHVzZWZ1bCB3aGVuIHBhY2tpbmcgYSByZXBvc2l0b3J5IHRoYXQgaXMgdXNlZAogCWZvciBwcml2YXRlIGRldmVsb3BtZW50LiBVc2UKLQl3aXRoICctZCcuICBUaGlzIHdpbGwgY2xlYW4gdXAgdGhlIG9iamVjdHMgdGhhdCBgZ2l0IHBydW5lYAorCXdpdGggYC1kYC4gIFRoaXMgd2lsbCBjbGVhbiB1cCB0aGUgb2JqZWN0cyB0aGF0IGBnaXQgcHJ1bmVgCiAJbGVhdmVzIGJlaGluZCwgYnV0IGBnaXQgZnNjayAtLWZ1bGwgLS1kYW5nbGluZ2Agc2hvd3MgYXMKIAlkYW5nbGluZy4KICsKQEAgLTQyLDcgKzQyLDcgQEAKIG90aGVyIG9iamVjdHMgaW4gdGhhdCBwYWNrIHRoZXkgYWxyZWFkeSBoYXZlIGxvY2FsbHkuCiAKIC1BOjoKLQlTYW1lIGFzIGAtYWAsIHVubGVzcyAnLWQnIGlzIHVzZWQuICBUaGVuIGFueSB1bnJlYWNoYWJsZQorCVNhbWUgYXMgYC1hYCwgdW5sZXNzIGAtZGAgaXMgdXNlZC4gIFRoZW4gYW55IHVucmVhY2hhYmxlCiAJb2JqZWN0cyBpbiBhIHByZXZpb3VzIHBhY2sgYmVjb21lIGxvb3NlLCB1bnBhY2tlZCBvYmplY3RzLAogCWluc3RlYWQgb2YgYmVpbmcgbGVmdCBpbiB0aGUgb2xkIHBhY2suICBVbnJlYWNoYWJsZSBvYmplY3RzCiAJYXJlIG5ldmVyIGludGVudGlvbmFsbHkgYWRkZWQgdG8gYSBwYWNrLCBldmVuIHdoZW4gcmVwYWNraW5nLgpAQCAtMTAwLDggKzEwMCwxMCBAQAogCW91dCBvZiBtZW1vcnkgd2l0aCBhIGxhcmdlIHdpbmRvdywgYnV0IHN0aWxsIGJlIGFibGUgdG8gdGFrZQogCWFkdmFudGFnZSBvZiB0aGUgbGFyZ2Ugd2luZG93IGZvciB0aGUgc21hbGxlciBvYmplY3RzLiAgVGhlCiAJc2l6ZSBjYW4gYmUgc3VmZml4ZWQgd2l0aCAiayIsICJtIiwgb3IgImciLgotCWAtLXdpbmRvdy1tZW1vcnk9MGAgbWFrZXMgbWVtb3J5IHVzYWdlIHVubGltaXRlZCwgd2hpY2ggaXMgdGhlCi0JZGVmYXVsdC4KKwlgLS13aW5kb3ctbWVtb3J5PTBgIG1ha2VzIG1lbW9yeSB1c2FnZSB1bmxpbWl0ZWQuICBUaGUgZGVmYXVsdAorCWlzIHRha2VuIGZyb20gdGhlIGBwYWNrLndpbmRvd01lbW9yeWAgY29uZmlndXJhdGlvbiB2YXJpYWJsZS4KKwlOb3RlIHRoYXQgdGhlIGFjdHVhbCBtZW1vcnkgdXNhZ2Ugd2lsbCBiZSB0aGUgbGltaXQgbXVsdGlwbGllZAorCWJ5IHRoZSBudW1iZXIgb2YgdGhyZWFkcyB1c2VkIGJ5IGxpbmtnaXQ6Z2l0LXBhY2stb2JqZWN0c1sxXS4KIAogLS1tYXgtcGFjay1zaXplPTxuPjo6CiAJTWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZS4gVGhlIHNpemUgY2FuIGJlIHN1ZmZpeGVkIHdpdGgKQEAgLTEyOCw2ICsxMzAsMTkgQEAKIAl3aXRoIGAtYmAgb3IgYHJlcGFjay53cml0ZUJpdG1hcHNgLCBhcyBpdCBlbnN1cmVzIHRoYXQgdGhlCiAJYml0bWFwcGVkIHBhY2tmaWxlIGhhcyB0aGUgbmVjZXNzYXJ5IG9iamVjdHMuCiAKKy0tdW5wYWNrLXVucmVhY2hhYmxlPTx3aGVuPjo6CisJV2hlbiBsb29zZW5pbmcgdW5yZWFjaGFibGUgb2JqZWN0cywgZG8gbm90IGJvdGhlciBsb29zZW5pbmcgYW55CisJb2JqZWN0cyBvbGRlciB0aGFuIGA8d2hlbj5gLiBUaGlzIGNhbiBiZSB1c2VkIHRvIG9wdGltaXplIG91dAorCXRoZSB3cml0ZSBvZiBhbnkgb2JqZWN0cyB0aGF0IHdvdWxkIGJlIGltbWVkaWF0ZWx5IHBydW5lZCBieQorCWEgZm9sbG93LXVwIGBnaXQgcHJ1bmVgLgorCistazo6CistLWtlZXAtdW5yZWFjaGFibGU6OgorCVdoZW4gdXNlZCB3aXRoIGAtYWRgLCBhbnkgdW5yZWFjaGFibGUgb2JqZWN0cyBmcm9tIGV4aXN0aW5nCisJcGFja3Mgd2lsbCBiZSBhcHBlbmRlZCB0byB0aGUgZW5kIG9mIHRoZSBwYWNrZmlsZSBpbnN0ZWFkIG9mCisJYmVpbmcgcmVtb3ZlZC4gSW4gYWRkaXRpb24sIGFueSB1bnJlYWNoYWJsZSBsb29zZSBvYmplY3RzIHdpbGwKKwliZSBwYWNrZWQgKGFuZCB0aGVpciBsb29zZSBjb3VudGVycGFydHMgcmVtb3ZlZCkuCisKIENvbmZpZ3VyYXRpb24KIC0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVwbGFjZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXBsYWNlLnR4dAppbmRleCA4ZmZmNTk4Li5lNWM1N2FlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXBsYWNlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXBsYWNlLnR4dApAQCAtNTEsNyArNTEsNyBAQAogCiBzaG93cyBpbmZvcm1hdGlvbiBhYm91dCBjb21taXQgJ2JhcicuCiAKLVRoZSAnR0lUX05PX1JFUExBQ0VfT0JKRUNUUycgZW52aXJvbm1lbnQgdmFyaWFibGUgY2FuIGJlIHNldCB0bworVGhlIGBHSVRfTk9fUkVQTEFDRV9PQkpFQ1RTYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBjYW4gYmUgc2V0IHRvCiBhY2hpZXZlIHRoZSBzYW1lIGVmZmVjdCBhcyB0aGUgYC0tbm8tcmVwbGFjZS1vYmplY3RzYCBvcHRpb24uCiAKIE9QVElPTlMKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXJldmVydC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXZlcnQudHh0CmluZGV4IDU3MzYxNmEuLjgzNzcwN2EgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJldmVydC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcmV2ZXJ0LnR4dApAQCAtMjQsNyArMjQsNyBAQAogTm90ZTogJ2dpdCByZXZlcnQnIGlzIHVzZWQgdG8gcmVjb3JkIHNvbWUgbmV3IGNvbW1pdHMgdG8gcmV2ZXJzZSB0aGUKIGVmZmVjdCBvZiBzb21lIGVhcmxpZXIgY29tbWl0cyAob2Z0ZW4gb25seSBhIGZhdWx0eSBvbmUpLiAgSWYgeW91IHdhbnQgdG8KIHRocm93IGF3YXkgYWxsIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIGRpcmVjdG9yeSwgeW91Ci1zaG91bGQgc2VlIGxpbmtnaXQ6Z2l0LXJlc2V0WzFdLCBwYXJ0aWN1bGFybHkgdGhlICctLWhhcmQnIG9wdGlvbi4gIElmCitzaG91bGQgc2VlIGxpbmtnaXQ6Z2l0LXJlc2V0WzFdLCBwYXJ0aWN1bGFybHkgdGhlIGAtLWhhcmRgIG9wdGlvbi4gIElmCiB5b3Ugd2FudCB0byBleHRyYWN0IHNwZWNpZmljIGZpbGVzIGFzIHRoZXkgd2VyZSBpbiBhbm90aGVyIGNvbW1pdCwgeW91CiBzaG91bGQgc2VlIGxpbmtnaXQ6Z2l0LWNoZWNrb3V0WzFdLCBzcGVjaWZpY2FsbHkgdGhlIGBnaXQgY2hlY2tvdXQKIDxjb21taXQ+IC0tIDxmaWxlbmFtZT5gIHN5bnRheC4gIFRha2UgY2FyZSB3aXRoIHRoZXNlIGFsdGVybmF0aXZlcyBhcwpAQCAtMzcsNyArMzcsNyBAQAogCUZvciBhIG1vcmUgY29tcGxldGUgbGlzdCBvZiB3YXlzIHRvIHNwZWxsIGNvbW1pdCBuYW1lcywgc2VlCiAJbGlua2dpdDpnaXRyZXZpc2lvbnNbN10uCiAJU2V0cyBvZiBjb21taXRzIGNhbiBhbHNvIGJlIGdpdmVuIGJ1dCBubyB0cmF2ZXJzYWwgaXMgZG9uZSBieQotCWRlZmF1bHQsIHNlZSBsaW5rZ2l0OmdpdC1yZXYtbGlzdFsxXSBhbmQgaXRzICctLW5vLXdhbGsnCisJZGVmYXVsdCwgc2VlIGxpbmtnaXQ6Z2l0LXJldi1saXN0WzFdIGFuZCBpdHMgYC0tbm8td2Fsa2AKIAlvcHRpb24uCiAKIC1lOjoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXNlbmQtZW1haWwudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtc2VuZC1lbWFpbC50eHQKaW5kZXggYTg4ZDE4Ni4uNjQyZDBlZiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtc2VuZC1lbWFpbC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtc2VuZC1lbWFpbC50eHQKQEAgLTQ3LDE4ICs0NywxOCBAQAogCiAtLWFubm90YXRlOjoKIAlSZXZpZXcgYW5kIGVkaXQgZWFjaCBwYXRjaCB5b3UncmUgYWJvdXQgdG8gc2VuZC4gRGVmYXVsdCBpcyB0aGUgdmFsdWUKLQlvZiAnc2VuZGVtYWlsLmFubm90YXRlJy4gU2VlIHRoZSBDT05GSUdVUkFUSU9OIHNlY3Rpb24gZm9yCi0JJ3NlbmRlbWFpbC5tdWx0aUVkaXQnLgorCW9mIGBzZW5kZW1haWwuYW5ub3RhdGVgLiBTZWUgdGhlIENPTkZJR1VSQVRJT04gc2VjdGlvbiBmb3IKKwlgc2VuZGVtYWlsLm11bHRpRWRpdGAuCiAKIC0tYmNjPTxhZGRyZXNzPiwuLi46OgogCVNwZWNpZnkgYSAiQmNjOiIgdmFsdWUgZm9yIGVhY2ggZW1haWwuIERlZmF1bHQgaXMgdGhlIHZhbHVlIG9mCi0JJ3NlbmRlbWFpbC5iY2MnLgorCWBzZW5kZW1haWwuYmNjYC4KICsKIFRoaXMgb3B0aW9uIG1heSBiZSBzcGVjaWZpZWQgbXVsdGlwbGUgdGltZXMuCiAKIC0tY2M9PGFkZHJlc3M+LC4uLjo6CiAJU3BlY2lmeSBhIHN0YXJ0aW5nICJDYzoiIHZhbHVlIGZvciBlYWNoIGVtYWlsLgotCURlZmF1bHQgaXMgdGhlIHZhbHVlIG9mICdzZW5kZW1haWwuY2MnLgorCURlZmF1bHQgaXMgdGhlIHZhbHVlIG9mIGBzZW5kZW1haWwuY2NgLgogKwogVGhpcyBvcHRpb24gbWF5IGJlIHNwZWNpZmllZCBtdWx0aXBsZSB0aW1lcy4KIApAQCAtNjYsNyArNjYsNyBAQAogCUludm9rZSBhIHRleHQgZWRpdG9yIChzZWUgR0lUX0VESVRPUiBpbiBsaW5rZ2l0OmdpdC12YXJbMV0pCiAJdG8gZWRpdCBhbiBpbnRyb2R1Y3RvcnkgbWVzc2FnZSBmb3IgdGhlIHBhdGNoIHNlcmllcy4KICsKLVdoZW4gJy0tY29tcG9zZScgaXMgdXNlZCwgZ2l0IHNlbmQtZW1haWwgd2lsbCB1c2UgdGhlIEZyb20sIFN1YmplY3QsIGFuZAorV2hlbiBgLS1jb21wb3NlYCBpcyB1c2VkLCBnaXQgc2VuZC1lbWFpbCB3aWxsIHVzZSB0aGUgRnJvbSwgU3ViamVjdCwgYW5kCiBJbi1SZXBseS1UbyBoZWFkZXJzIHNwZWNpZmllZCBpbiB0aGUgbWVzc2FnZS4gSWYgdGhlIGJvZHkgb2YgdGhlIG1lc3NhZ2UKICh3aGF0IHlvdSB0eXBlIGFmdGVyIHRoZSBoZWFkZXJzIGFuZCBhIGJsYW5rIGxpbmUpIG9ubHkgY29udGFpbnMgYmxhbmsKIChvciBHaXQ6IHByZWZpeGVkKSBsaW5lcywgdGhlIHN1bW1hcnkgd29uJ3QgYmUgc2VudCwgYnV0IEZyb20sIFN1YmplY3QsCkBAIC03NCwxMiArNzQsMTIgQEAKICsKIE1pc3NpbmcgRnJvbSBvciBJbi1SZXBseS1UbyBoZWFkZXJzIHdpbGwgYmUgcHJvbXB0ZWQgZm9yLgogKwotU2VlIHRoZSBDT05GSUdVUkFUSU9OIHNlY3Rpb24gZm9yICdzZW5kZW1haWwubXVsdGlFZGl0Jy4KK1NlZSB0aGUgQ09ORklHVVJBVElPTiBzZWN0aW9uIGZvciBgc2VuZGVtYWlsLm11bHRpRWRpdGAuCiAKIC0tZnJvbT08YWRkcmVzcz46OgogCVNwZWNpZnkgdGhlIHNlbmRlciBvZiB0aGUgZW1haWxzLiAgSWYgbm90IHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLAotCXRoZSB2YWx1ZSBvZiB0aGUgJ3NlbmRlbWFpbC5mcm9tJyBjb25maWd1cmF0aW9uIG9wdGlvbiBpcyB1c2VkLiAgSWYKLQluZWl0aGVyIHRoZSBjb21tYW5kLWxpbmUgb3B0aW9uIG5vciAnc2VuZGVtYWlsLmZyb20nIGFyZSBzZXQsIHRoZW4gdGhlCisJdGhlIHZhbHVlIG9mIHRoZSBgc2VuZGVtYWlsLmZyb21gIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGlzIHVzZWQuICBJZgorCW5laXRoZXIgdGhlIGNvbW1hbmQtbGluZSBvcHRpb24gbm9yIGBzZW5kZW1haWwuZnJvbWAgYXJlIHNldCwgdGhlbiB0aGUKIAl1c2VyIHdpbGwgYmUgcHJvbXB0ZWQgZm9yIHRoZSB2YWx1ZS4gIFRoZSBkZWZhdWx0IGZvciB0aGUgcHJvbXB0IHdpbGwgYmUKIAl0aGUgdmFsdWUgb2YgR0lUX0FVVEhPUl9JREVOVCwgb3IgR0lUX0NPTU1JVFRFUl9JREVOVCBpZiB0aGF0IGlzIG5vdAogCXNldCwgYXMgcmV0dXJuZWQgYnkgImdpdCB2YXIgLWwiLgpAQCAtMTE0LDcgKzExNCw3IEBACiAtLXRvPTxhZGRyZXNzPiwuLi46OgogCVNwZWNpZnkgdGhlIHByaW1hcnkgcmVjaXBpZW50IG9mIHRoZSBlbWFpbHMgZ2VuZXJhdGVkLiBHZW5lcmFsbHksIHRoaXMKIAl3aWxsIGJlIHRoZSB1cHN0cmVhbSBtYWludGFpbmVyIG9mIHRoZSBwcm9qZWN0IGludm9sdmVkLiBEZWZhdWx0IGlzIHRoZQotCXZhbHVlIG9mIHRoZSAnc2VuZGVtYWlsLnRvJyBjb25maWd1cmF0aW9uIHZhbHVlOyBpZiB0aGF0IGlzIHVuc3BlY2lmaWVkLAorCXZhbHVlIG9mIHRoZSBgc2VuZGVtYWlsLnRvYCBjb25maWd1cmF0aW9uIHZhbHVlOyBpZiB0aGF0IGlzIHVuc3BlY2lmaWVkLAogCWFuZCAtLXRvLWNtZCBpcyBub3Qgc3BlY2lmaWVkLCB0aGlzIHdpbGwgYmUgcHJvbXB0ZWQgZm9yLgogKwogVGhpcyBvcHRpb24gbWF5IGJlIHNwZWNpZmllZCBtdWx0aXBsZSB0aW1lcy4KQEAgLTEzOCw3ICsxMzgsNyBAQAogCWNhbiBiZSB1c2VmdWwgd2hlbiB0aGUgcmVwb3NpdG9yeSBjb250YWlucyBmaWxlcyB0aGF0IGNvbnRhaW4gY2FycmlhZ2UKIAlyZXR1cm5zLCBidXQgbWFrZXMgdGhlIHJhdyBwYXRjaCBlbWFpbCBmaWxlIChhcyBzYXZlZCBmcm9tIGEgTVVBKSBtdWNoCiAJaGFyZGVyIHRvIGluc3BlY3QgbWFudWFsbHkuICBiYXNlNjQgaXMgZXZlbiBtb3JlIGZvb2wgcHJvb2YsIGJ1dCBhbHNvCi0JZXZlbiBtb3JlIG9wYXF1ZS4gIERlZmF1bHQgaXMgdGhlIHZhbHVlIG9mIHRoZSAnc2VuZGVtYWlsLnRyYW5zZmVyRW5jb2RpbmcnCisJZXZlbiBtb3JlIG9wYXF1ZS4gIERlZmF1bHQgaXMgdGhlIHZhbHVlIG9mIHRoZSBgc2VuZGVtYWlsLnRyYW5zZmVyRW5jb2RpbmdgCiAJY29uZmlndXJhdGlvbiB2YWx1ZTsgaWYgdGhhdCBpcyB1bnNwZWNpZmllZCwgZ2l0IHdpbGwgdXNlIDhiaXQgYW5kIG5vdAogCWFkZCBhIENvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmcgaGVhZGVyLgogCkBAIC0xNTcsMjAgKzE1NywyMCBAQAogCXN1YnNjcmliZWQgdG8gYSBsaXN0LiBJbiBvcmRlciB0byB1c2UgdGhlICdGcm9tJyBhZGRyZXNzLCBzZXQgdGhlCiAJdmFsdWUgdG8gImF1dG8iLiBJZiB5b3UgdXNlIHRoZSBzZW5kbWFpbCBiaW5hcnksIHlvdSBtdXN0IGhhdmUKIAlzdWl0YWJsZSBwcml2aWxlZ2VzIGZvciB0aGUgLWYgcGFyYW1ldGVyLiAgRGVmYXVsdCBpcyB0aGUgdmFsdWUgb2YgdGhlCi0JJ3NlbmRlbWFpbC5lbnZlbG9wZVNlbmRlcicgY29uZmlndXJhdGlvbiB2YXJpYWJsZTsgaWYgdGhhdCBpcworCWBzZW5kZW1haWwuZW52ZWxvcGVTZW5kZXJgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGU7IGlmIHRoYXQgaXMKIAl1bnNwZWNpZmllZCwgY2hvb3NpbmcgdGhlIGVudmVsb3BlIHNlbmRlciBpcyBsZWZ0IHRvIHlvdXIgTVRBLgogCiAtLXNtdHAtZW5jcnlwdGlvbj08ZW5jcnlwdGlvbj46OgogCVNwZWNpZnkgdGhlIGVuY3J5cHRpb24gdG8gdXNlLCBlaXRoZXIgJ3NzbCcgb3IgJ3RscycuICBBbnkgb3RoZXIKIAl2YWx1ZSByZXZlcnRzIHRvIHBsYWluIFNNVFAuICBEZWZhdWx0IGlzIHRoZSB2YWx1ZSBvZgotCSdzZW5kZW1haWwuc210cEVuY3J5cHRpb24nLgorCWBzZW5kZW1haWwuc210cEVuY3J5cHRpb25gLgogCiAtLXNtdHAtZG9tYWluPTxGUUROPjo6CiAJU3BlY2lmaWVzIHRoZSBGdWxseSBRdWFsaWZpZWQgRG9tYWluIE5hbWUgKEZRRE4pIHVzZWQgaW4gdGhlCiAJSEVMTy9FSExPIGNvbW1hbmQgdG8gdGhlIFNNVFAgc2VydmVyLiAgU29tZSBzZXJ2ZXJzIHJlcXVpcmUgdGhlCiAJRlFETiB0byBtYXRjaCB5b3VyIElQIGFkZHJlc3MuICBJZiBub3Qgc2V0LCBnaXQgc2VuZC1lbWFpbCBhdHRlbXB0cwogCXRvIGRldGVybWluZSB5b3VyIEZRRE4gYXV0b21hdGljYWxseS4gIERlZmF1bHQgaXMgdGhlIHZhbHVlIG9mCi0JJ3NlbmRlbWFpbC5zbXRwRG9tYWluJy4KKwlgc2VuZGVtYWlsLnNtdHBEb21haW5gLgogCiAtLXNtdHAtYXV0aD08bWVjaGFuaXNtcz46OgogCVdoaXRlc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgYWxsb3dlZCBTTVRQLUFVVEggbWVjaGFuaXNtcy4gVGhpcyBzZXR0aW5nCkBAIC0xODIsMTkgKzE4MiwxOSBAQAogKwogSWYgYXQgbGVhc3Qgb25lIG9mIHRoZSBzcGVjaWZpZWQgbWVjaGFuaXNtcyBtYXRjaGVzIHRoZSBvbmVzIGFkdmVydGlzZWQgYnkgdGhlCiBTTVRQIHNlcnZlciBhbmQgaWYgaXQgaXMgc3VwcG9ydGVkIGJ5IHRoZSB1dGlsaXplZCBTQVNMIGxpYnJhcnksIHRoZSBtZWNoYW5pc20KLWlzIHVzZWQgZm9yIGF1dGhlbnRpY2F0aW9uLiBJZiBuZWl0aGVyICdzZW5kZW1haWwuc210cEF1dGgnIG5vciAnLS1zbXRwLWF1dGgnCitpcyB1c2VkIGZvciBhdXRoZW50aWNhdGlvbi4gSWYgbmVpdGhlciAnc2VuZGVtYWlsLnNtdHBBdXRoJyBub3IgYC0tc210cC1hdXRoYAogaXMgc3BlY2lmaWVkLCBhbGwgbWVjaGFuaXNtcyBzdXBwb3J0ZWQgYnkgdGhlIFNBU0wgbGlicmFyeSBjYW4gYmUgdXNlZC4KIAogLS1zbXRwLXBhc3NbPTxwYXNzd29yZD5dOjoKIAlQYXNzd29yZCBmb3IgU01UUC1BVVRILiBUaGUgYXJndW1lbnQgaXMgb3B0aW9uYWw6IElmIG5vCiAJYXJndW1lbnQgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBlbXB0eSBzdHJpbmcgaXMgdXNlZCBhcwotCXRoZSBwYXNzd29yZC4gRGVmYXVsdCBpcyB0aGUgdmFsdWUgb2YgJ3NlbmRlbWFpbC5zbXRwUGFzcycsCi0JaG93ZXZlciAnLS1zbXRwLXBhc3MnIGFsd2F5cyBvdmVycmlkZXMgdGhpcyB2YWx1ZS4KKwl0aGUgcGFzc3dvcmQuIERlZmF1bHQgaXMgdGhlIHZhbHVlIG9mIGBzZW5kZW1haWwuc210cFBhc3NgLAorCWhvd2V2ZXIgYC0tc210cC1wYXNzYCBhbHdheXMgb3ZlcnJpZGVzIHRoaXMgdmFsdWUuCiArCiBGdXJ0aGVybW9yZSwgcGFzc3dvcmRzIG5lZWQgbm90IGJlIHNwZWNpZmllZCBpbiBjb25maWd1cmF0aW9uIGZpbGVzCiBvciBvbiB0aGUgY29tbWFuZCBsaW5lLiBJZiBhIHVzZXJuYW1lIGhhcyBiZWVuIHNwZWNpZmllZCAod2l0aAotJy0tc210cC11c2VyJyBvciBhICdzZW5kZW1haWwuc210cFVzZXInKSwgYnV0IG5vIHBhc3N3b3JkIGhhcyBiZWVuCi1zcGVjaWZpZWQgKHdpdGggJy0tc210cC1wYXNzJyBvciAnc2VuZGVtYWlsLnNtdHBQYXNzJyksIHRoZW4KK2AtLXNtdHAtdXNlcmAgb3IgYSBgc2VuZGVtYWlsLnNtdHBVc2VyYCksIGJ1dCBubyBwYXNzd29yZCBoYXMgYmVlbgorc3BlY2lmaWVkICh3aXRoIGAtLXNtdHAtcGFzc2Agb3IgYHNlbmRlbWFpbC5zbXRwUGFzc2ApLCB0aGVuCiBhIHBhc3N3b3JkIGlzIG9idGFpbmVkIHVzaW5nICdnaXQtY3JlZGVudGlhbCcuCiAKIC0tc210cC1zZXJ2ZXI9PGhvc3Q+OjoKQEAgLTIwMiw3ICsyMDIsNyBAQAogCWBzbXRwLmV4YW1wbGUuY29tYCBvciBhIHJhdyBJUCBhZGRyZXNzKS4gIEFsdGVybmF0aXZlbHkgaXQgY2FuCiAJc3BlY2lmeSBhIGZ1bGwgcGF0aG5hbWUgb2YgYSBzZW5kbWFpbC1saWtlIHByb2dyYW0gaW5zdGVhZDsKIAl0aGUgcHJvZ3JhbSBtdXN0IHN1cHBvcnQgdGhlIGAtaWAgb3B0aW9uLiAgRGVmYXVsdCB2YWx1ZSBjYW4KLQliZSBzcGVjaWZpZWQgYnkgdGhlICdzZW5kZW1haWwuc210cFNlcnZlcicgY29uZmlndXJhdGlvbgorCWJlIHNwZWNpZmllZCBieSB0aGUgYHNlbmRlbWFpbC5zbXRwU2VydmVyYCBjb25maWd1cmF0aW9uCiAJb3B0aW9uOyB0aGUgYnVpbHQtaW4gZGVmYXVsdCBpcyBgL3Vzci9zYmluL3NlbmRtYWlsYCBvcgogCWAvdXNyL2xpYi9zZW5kbWFpbGAgaWYgc3VjaCBwcm9ncmFtIGlzIGF2YWlsYWJsZSwgb3IKIAlgbG9jYWxob3N0YCBvdGhlcndpc2UuCkBAIC0yMTMsMTEgKzIxMywxMSBAQAogCXN1Ym1pc3Npb24gcG9ydCA1ODcsIG9yIHRoZSBjb21tb24gU1NMIHNtdHAgcG9ydCA0NjUpOwogCXN5bWJvbGljIHBvcnQgbmFtZXMgKGUuZy4gInN1Ym1pc3Npb24iIGluc3RlYWQgb2YgNTg3KQogCWFyZSBhbHNvIGFjY2VwdGVkLiBUaGUgcG9ydCBjYW4gYWxzbyBiZSBzZXQgd2l0aCB0aGUKLQknc2VuZGVtYWlsLnNtdHBTZXJ2ZXJQb3J0JyBjb25maWd1cmF0aW9uIHZhcmlhYmxlLgorCWBzZW5kZW1haWwuc210cFNlcnZlclBvcnRgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUuCiAKIC0tc210cC1zZXJ2ZXItb3B0aW9uPTxvcHRpb24+OjoKIAlJZiBzZXQsIHNwZWNpZmllcyB0aGUgb3V0Z29pbmcgU01UUCBzZXJ2ZXIgb3B0aW9uIHRvIHVzZS4KLQlEZWZhdWx0IHZhbHVlIGNhbiBiZSBzcGVjaWZpZWQgYnkgdGhlICdzZW5kZW1haWwuc210cFNlcnZlck9wdGlvbicKKwlEZWZhdWx0IHZhbHVlIGNhbiBiZSBzcGVjaWZpZWQgYnkgdGhlIGBzZW5kZW1haWwuc210cFNlcnZlck9wdGlvbmAKIAljb25maWd1cmF0aW9uIG9wdGlvbi4KICsKIFRoZSAtLXNtdHAtc2VydmVyLW9wdGlvbiBvcHRpb24gbXVzdCBiZSByZXBlYXRlZCBmb3IgZWFjaCBvcHRpb24geW91IHdhbnQKQEAgLTIzNCwxMyArMjM0LDEzIEBACiAJY2VydGlmaWNhdGVzIGNvbmNhdGVuYXRlZCB0b2dldGhlcjogc2VlIHZlcmlmeSgxKSAtQ0FmaWxlIGFuZAogCS1DQXBhdGggZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlc2UpLiBTZXQgaXQgdG8gYW4gZW1wdHkgc3RyaW5nCiAJdG8gZGlzYWJsZSBjZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24uIERlZmF1bHRzIHRvIHRoZSB2YWx1ZSBvZiB0aGUKLQknc2VuZGVtYWlsLnNtdHBzc2xjZXJ0cGF0aCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSwgaWYgc2V0LCBvciB0aGUKKwlgc2VuZGVtYWlsLnNtdHBzc2xjZXJ0cGF0aGAgY29uZmlndXJhdGlvbiB2YXJpYWJsZSwgaWYgc2V0LCBvciB0aGUKIAliYWNraW5nIFNTTCBsaWJyYXJ5J3MgY29tcGlsZWQtaW4gZGVmYXVsdCBvdGhlcndpc2UgKHdoaWNoIHNob3VsZAogCWJlIHRoZSBiZXN0IGNob2ljZSBvbiBtb3N0IHBsYXRmb3JtcykuCiAKIC0tc210cC11c2VyPTx1c2VyPjo6Ci0JVXNlcm5hbWUgZm9yIFNNVFAtQVVUSC4gRGVmYXVsdCBpcyB0aGUgdmFsdWUgb2YgJ3NlbmRlbWFpbC5zbXRwVXNlcic7Ci0JaWYgYSB1c2VybmFtZSBpcyBub3Qgc3BlY2lmaWVkICh3aXRoICctLXNtdHAtdXNlcicgb3IgJ3NlbmRlbWFpbC5zbXRwVXNlcicpLAorCVVzZXJuYW1lIGZvciBTTVRQLUFVVEguIERlZmF1bHQgaXMgdGhlIHZhbHVlIG9mIGBzZW5kZW1haWwuc210cFVzZXJgOworCWlmIGEgdXNlcm5hbWUgaXMgbm90IHNwZWNpZmllZCAod2l0aCBgLS1zbXRwLXVzZXJgIG9yIGBzZW5kZW1haWwuc210cFVzZXJgKSwKIAl0aGVuIGF1dGhlbnRpY2F0aW9uIGlzIG5vdCBhdHRlbXB0ZWQuCiAKIC0tc210cC1kZWJ1Zz0wfDE6OgpAQCAtMjYxLDI1ICsyNjEsMjUgQEAKIAlTcGVjaWZ5IGEgY29tbWFuZCB0byBleGVjdXRlIG9uY2UgcGVyIHBhdGNoIGZpbGUgd2hpY2gKIAlzaG91bGQgZ2VuZXJhdGUgcGF0Y2ggZmlsZSBzcGVjaWZpYyAiQ2M6IiBlbnRyaWVzLgogCU91dHB1dCBvZiB0aGlzIGNvbW1hbmQgbXVzdCBiZSBzaW5nbGUgZW1haWwgYWRkcmVzcyBwZXIgbGluZS4KLQlEZWZhdWx0IGlzIHRoZSB2YWx1ZSBvZiAnc2VuZGVtYWlsLmNjQ21kJyBjb25maWd1cmF0aW9uIHZhbHVlLgorCURlZmF1bHQgaXMgdGhlIHZhbHVlIG9mIGBzZW5kZW1haWwuY2NDbWRgIGNvbmZpZ3VyYXRpb24gdmFsdWUuCiAKIC0tW25vLV1jaGFpbi1yZXBseS10bzo6CiAJSWYgdGhpcyBpcyBzZXQsIGVhY2ggZW1haWwgd2lsbCBiZSBzZW50IGFzIGEgcmVwbHkgdG8gdGhlIHByZXZpb3VzCiAJZW1haWwgc2VudC4gIElmIGRpc2FibGVkIHdpdGggIi0tbm8tY2hhaW4tcmVwbHktdG8iLCBhbGwgZW1haWxzIGFmdGVyCiAJdGhlIGZpcnN0IHdpbGwgYmUgc2VudCBhcyByZXBsaWVzIHRvIHRoZSBmaXJzdCBlbWFpbCBzZW50LiAgV2hlbiB1c2luZwogCXRoaXMsIGl0IGlzIHJlY29tbWVuZGVkIHRoYXQgdGhlIGZpcnN0IGZpbGUgZ2l2ZW4gYmUgYW4gb3ZlcnZpZXcgb2YgdGhlCi0JZW50aXJlIHBhdGNoIHNlcmllcy4gRGlzYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHRoZSAnc2VuZGVtYWlsLmNoYWluUmVwbHlUbycKKwllbnRpcmUgcGF0Y2ggc2VyaWVzLiBEaXNhYmxlZCBieSBkZWZhdWx0LCBidXQgdGhlIGBzZW5kZW1haWwuY2hhaW5SZXBseVRvYAogCWNvbmZpZ3VyYXRpb24gdmFyaWFibGUgY2FuIGJlIHVzZWQgdG8gZW5hYmxlIGl0LgogCiAtLWlkZW50aXR5PTxpZGVudGl0eT46OgogCUEgY29uZmlndXJhdGlvbiBpZGVudGl0eS4gV2hlbiBnaXZlbiwgY2F1c2VzIHZhbHVlcyBpbiB0aGUKIAknc2VuZGVtYWlsLjxpZGVudGl0eT4nIHN1YnNlY3Rpb24gdG8gdGFrZSBwcmVjZWRlbmNlIG92ZXIKIAl2YWx1ZXMgaW4gdGhlICdzZW5kZW1haWwnIHNlY3Rpb24uIFRoZSBkZWZhdWx0IGlkZW50aXR5IGlzCi0JdGhlIHZhbHVlIG9mICdzZW5kZW1haWwuaWRlbnRpdHknLgorCXRoZSB2YWx1ZSBvZiBgc2VuZGVtYWlsLmlkZW50aXR5YC4KIAogLS1bbm8tXXNpZ25lZC1vZmYtYnktY2M6OgogCUlmIHRoaXMgaXMgc2V0LCBhZGQgZW1haWxzIGZvdW5kIGluIFNpZ25lZC1vZmYtYnk6IG9yIENjOiBsaW5lcyB0byB0aGUKLQljYyBsaXN0LiBEZWZhdWx0IGlzIHRoZSB2YWx1ZSBvZiAnc2VuZGVtYWlsLnNpZ25lZG9mZmJ5Y2MnIGNvbmZpZ3VyYXRpb24KKwljYyBsaXN0LiBEZWZhdWx0IGlzIHRoZSB2YWx1ZSBvZiBgc2VuZGVtYWlsLnNpZ25lZG9mZmJ5Y2NgIGNvbmZpZ3VyYXRpb24KIAl2YWx1ZTsgaWYgdGhhdCBpcyB1bnNwZWNpZmllZCwgZGVmYXVsdCB0byAtLXNpZ25lZC1vZmYtYnktY2MuCiAKIC0tW25vLV1jYy1jb3Zlcjo6CkBAIC0zMTIsMTMgKzMxMiwxMyBAQAogLSAnYWxsJyB3aWxsIHN1cHByZXNzIGFsbCBhdXRvIGNjIHZhbHVlcy4KIC0tCiArCi1EZWZhdWx0IGlzIHRoZSB2YWx1ZSBvZiAnc2VuZGVtYWlsLnN1cHByZXNzY2MnIGNvbmZpZ3VyYXRpb24gdmFsdWU7IGlmCitEZWZhdWx0IGlzIHRoZSB2YWx1ZSBvZiBgc2VuZGVtYWlsLnN1cHByZXNzY2NgIGNvbmZpZ3VyYXRpb24gdmFsdWU7IGlmCiB0aGF0IGlzIHVuc3BlY2lmaWVkLCBkZWZhdWx0IHRvICdzZWxmJyBpZiAtLXN1cHByZXNzLWZyb20gaXMKIHNwZWNpZmllZCwgYXMgd2VsbCBhcyAnYm9keScgaWYgLS1uby1zaWduZWQtb2ZmLWNjIGlzIHNwZWNpZmllZC4KIAogLS1bbm8tXXN1cHByZXNzLWZyb206OgogCUlmIHRoaXMgaXMgc2V0LCBkbyBub3QgYWRkIHRoZSBGcm9tOiBhZGRyZXNzIHRvIHRoZSBjYzogbGlzdC4KLQlEZWZhdWx0IGlzIHRoZSB2YWx1ZSBvZiAnc2VuZGVtYWlsLnN1cHByZXNzRnJvbScgY29uZmlndXJhdGlvbgorCURlZmF1bHQgaXMgdGhlIHZhbHVlIG9mIGBzZW5kZW1haWwuc3VwcHJlc3NGcm9tYCBjb25maWd1cmF0aW9uCiAJdmFsdWU7IGlmIHRoYXQgaXMgdW5zcGVjaWZpZWQsIGRlZmF1bHQgdG8gLS1uby1zdXBwcmVzcy1mcm9tLgogCiAtLVtuby1ddGhyZWFkOjoKQEAgLTMzMCw3ICszMzAsNyBAQAogKwogSWYgZGlzYWJsZWQgd2l0aCAiLS1uby10aHJlYWQiLCB0aG9zZSBoZWFkZXJzIHdpbGwgbm90IGJlIGFkZGVkCiAodW5sZXNzIHNwZWNpZmllZCB3aXRoIC0taW4tcmVwbHktdG8pLiAgRGVmYXVsdCBpcyB0aGUgdmFsdWUgb2YgdGhlCi0nc2VuZGVtYWlsLnRocmVhZCcgY29uZmlndXJhdGlvbiB2YWx1ZTsgaWYgdGhhdCBpcyB1bnNwZWNpZmllZCwKK2BzZW5kZW1haWwudGhyZWFkYCBjb25maWd1cmF0aW9uIHZhbHVlOyBpZiB0aGF0IGlzIHVuc3BlY2lmaWVkLAogZGVmYXVsdCB0byAtLXRocmVhZC4KICsKIEl0IGlzIHVwIHRvIHRoZSB1c2VyIHRvIGVuc3VyZSB0aGF0IG5vIEluLVJlcGx5LVRvIGhlYWRlciBhbHJlYWR5CkBAIC0zNTUsNyArMzU1LDcgQEAKIC0gJ2F1dG8nIGlzIGVxdWl2YWxlbnQgdG8gJ2NjJyArICdjb21wb3NlJwogLS0KICsKLURlZmF1bHQgaXMgdGhlIHZhbHVlIG9mICdzZW5kZW1haWwuY29uZmlybScgY29uZmlndXJhdGlvbiB2YWx1ZTsgaWYgdGhhdAorRGVmYXVsdCBpcyB0aGUgdmFsdWUgb2YgYHNlbmRlbWFpbC5jb25maXJtYCBjb25maWd1cmF0aW9uIHZhbHVlOyBpZiB0aGF0CiBpcyB1bnNwZWNpZmllZCwgZGVmYXVsdCB0byAnYXV0bycgdW5sZXNzIGFueSBvZiB0aGUgc3VwcHJlc3Mgb3B0aW9ucwogaGF2ZSBiZWVuIHNwZWNpZmllZCwgaW4gd2hpY2ggY2FzZSBkZWZhdWx0IHRvICdjb21wb3NlJy4KIApAQCAtMzY0LDggKzM2NCw4IEBACiAKIC0tW25vLV1mb3JtYXQtcGF0Y2g6OgogCVdoZW4gYW4gYXJndW1lbnQgbWF5IGJlIHVuZGVyc3Rvb2QgZWl0aGVyIGFzIGEgcmVmZXJlbmNlIG9yIGFzIGEgZmlsZSBuYW1lLAotCWNob29zZSB0byB1bmRlcnN0YW5kIGl0IGFzIGEgZm9ybWF0LXBhdGNoIGFyZ3VtZW50ICgnLS1mb3JtYXQtcGF0Y2gnKQotCW9yIGFzIGEgZmlsZSBuYW1lICgnLS1uby1mb3JtYXQtcGF0Y2gnKS4gQnkgZGVmYXVsdCwgd2hlbiBzdWNoIGEgY29uZmxpY3QKKwljaG9vc2UgdG8gdW5kZXJzdGFuZCBpdCBhcyBhIGZvcm1hdC1wYXRjaCBhcmd1bWVudCAoYC0tZm9ybWF0LXBhdGNoYCkKKwlvciBhcyBhIGZpbGUgbmFtZSAoYC0tbm8tZm9ybWF0LXBhdGNoYCkuIEJ5IGRlZmF1bHQsIHdoZW4gc3VjaCBhIGNvbmZsaWN0CiAJb2NjdXJzLCBnaXQgc2VuZC1lbWFpbCB3aWxsIGZhaWwuCiAKIC0tcXVpZXQ6OgpAQCAtMzgxLDggKzM4MSw4IEBACiAJCQlpcyBkdWUgdG8gU01UUCBsaW1pdHMgYXMgZGVzY3JpYmVkIGJ5IGh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzI4MjEudHh0LgogLS0KICsKLURlZmF1bHQgaXMgdGhlIHZhbHVlIG9mICdzZW5kZW1haWwudmFsaWRhdGUnOyBpZiB0aGlzIGlzIG5vdCBzZXQsCi1kZWZhdWx0IHRvICctLXZhbGlkYXRlJy4KK0RlZmF1bHQgaXMgdGhlIHZhbHVlIG9mIGBzZW5kZW1haWwudmFsaWRhdGVgOyBpZiB0aGlzIGlzIG5vdCBzZXQsCitkZWZhdWx0IHRvIGAtLXZhbGlkYXRlYC4KIAogLS1mb3JjZTo6CiAJU2VuZCBlbWFpbHMgZXZlbiBpZiBzYWZldHkgY2hlY2tzIHdvdWxkIHByZXZlbnQgaXQuCkBAIC00MDMsNyArNDAzLDcgQEAKIAogc2VuZGVtYWlsLmFsaWFzZXNGaWxlOjoKIAlUbyBhdm9pZCB0eXBpbmcgbG9uZyBlbWFpbCBhZGRyZXNzZXMsIHBvaW50IHRoaXMgdG8gb25lIG9yIG1vcmUKLQllbWFpbCBhbGlhc2VzIGZpbGVzLiAgWW91IG11c3QgYWxzbyBzdXBwbHkgJ3NlbmRlbWFpbC5hbGlhc0ZpbGVUeXBlJy4KKwllbWFpbCBhbGlhc2VzIGZpbGVzLiAgWW91IG11c3QgYWxzbyBzdXBwbHkgYHNlbmRlbWFpbC5hbGlhc0ZpbGVUeXBlYC4KIAogc2VuZGVtYWlsLmFsaWFzRmlsZVR5cGU6OgogCUZvcm1hdCBvZiB0aGUgZmlsZShzKSBzcGVjaWZpZWQgaW4gc2VuZGVtYWlsLmFsaWFzZXNGaWxlLiBNdXN0IGJlCkBAIC00MjgsMTMgKzQyOCwxMyBAQAogCiBzZW5kZW1haWwubXVsdGlFZGl0OjoKIAlJZiB0cnVlIChkZWZhdWx0KSwgYSBzaW5nbGUgZWRpdG9yIGluc3RhbmNlIHdpbGwgYmUgc3Bhd25lZCB0byBlZGl0Ci0JZmlsZXMgeW91IGhhdmUgdG8gZWRpdCAocGF0Y2hlcyB3aGVuICctLWFubm90YXRlJyBpcyB1c2VkLCBhbmQgdGhlCi0Jc3VtbWFyeSB3aGVuICctLWNvbXBvc2UnIGlzIHVzZWQpLiBJZiBmYWxzZSwgZmlsZXMgd2lsbCBiZSBlZGl0ZWQgb25lCisJZmlsZXMgeW91IGhhdmUgdG8gZWRpdCAocGF0Y2hlcyB3aGVuIGAtLWFubm90YXRlYCBpcyB1c2VkLCBhbmQgdGhlCisJc3VtbWFyeSB3aGVuIGAtLWNvbXBvc2VgIGlzIHVzZWQpLiBJZiBmYWxzZSwgZmlsZXMgd2lsbCBiZSBlZGl0ZWQgb25lCiAJYWZ0ZXIgdGhlIG90aGVyLCBzcGF3bmluZyBhIG5ldyBlZGl0b3IgZWFjaCB0aW1lLgogCiBzZW5kZW1haWwuY29uZmlybTo6CiAJU2V0cyB0aGUgZGVmYXVsdCBmb3Igd2hldGhlciB0byBjb25maXJtIGJlZm9yZSBzZW5kaW5nLiBNdXN0IGJlCi0Jb25lIG9mICdhbHdheXMnLCAnbmV2ZXInLCAnY2MnLCAnY29tcG9zZScsIG9yICdhdXRvJy4gU2VlICctLWNvbmZpcm0nCisJb25lIG9mICdhbHdheXMnLCAnbmV2ZXInLCAnY2MnLCAnY29tcG9zZScsIG9yICdhdXRvJy4gU2VlIGAtLWNvbmZpcm1gCiAJaW4gdGhlIHByZXZpb3VzIHNlY3Rpb24gZm9yIHRoZSBtZWFuaW5nIG9mIHRoZXNlIHZhbHVlcy4KIAogRVhBTVBMRQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtc2VuZC1wYWNrLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXNlbmQtcGFjay50eHQKaW5kZXggNmFhOTFlOC4uYTgzMWRkMCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtc2VuZC1wYWNrLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1zZW5kLXBhY2sudHh0CkBAIC00NCw3ICs0NCw3IEBACiAJb3B0aW9uLCB0aGVuIHRoZSByZWZzIGZyb20gc3RkaW4gYXJlIHByb2Nlc3NlZCBhZnRlciB0aG9zZQogCW9uIHRoZSBjb21tYW5kIGxpbmUuCiArCi1JZiAnLS1zdGF0ZWxlc3MtcnBjJyBpcyBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCB0aGlzIG9wdGlvbiB0aGVuCitJZiBgLS1zdGF0ZWxlc3MtcnBjYCBpcyBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCB0aGlzIG9wdGlvbiB0aGVuCiB0aGUgbGlzdCBvZiByZWZzIG11c3QgYmUgaW4gcGFja2V0IGZvcm1hdCAocGt0LWxpbmUpLiBFYWNoIHJlZiBtdXN0CiBiZSBpbiBhIHNlcGFyYXRlIHBhY2tldCwgYW5kIHRoZSBsaXN0IG11c3QgZW5kIHdpdGggYSBmbHVzaCBwYWNrZXQuCiAKQEAgLTk5LDExICs5OSwxMSBAQAogVGhlcmUgYXJlIHRocmVlIHdheXMgdG8gc3BlY2lmeSB3aGljaCByZWZzIHRvIHVwZGF0ZSBvbiB0aGUKIHJlbW90ZSBlbmQuCiAKLVdpdGggJy0tYWxsJyBmbGFnLCBhbGwgcmVmcyB0aGF0IGV4aXN0IGxvY2FsbHkgYXJlIHRyYW5zZmVycmVkIHRvCitXaXRoIGAtLWFsbGAgZmxhZywgYWxsIHJlZnMgdGhhdCBleGlzdCBsb2NhbGx5IGFyZSB0cmFuc2ZlcnJlZCB0bwogdGhlIHJlbW90ZSBzaWRlLiAgWW91IGNhbm5vdCBzcGVjaWZ5IGFueSAnPHJlZj4nIGlmIHlvdSB1c2UKIHRoaXMgZmxhZy4KIAotV2l0aG91dCAnLS1hbGwnIGFuZCB3aXRob3V0IGFueSAnPHJlZj4nLCB0aGUgaGVhZHMgdGhhdCBleGlzdAorV2l0aG91dCBgLS1hbGxgIGFuZCB3aXRob3V0IGFueSAnPHJlZj4nLCB0aGUgaGVhZHMgdGhhdCBleGlzdAogYm90aCBvbiB0aGUgbG9jYWwgc2lkZSBhbmQgb24gdGhlIHJlbW90ZSBzaWRlIGFyZSB1cGRhdGVkLgogCiBXaGVuIG9uZSBvciBtb3JlICc8cmVmPicgYXJlIHNwZWNpZmllZCBleHBsaWNpdGx5ICh3aGV0aGVyIG9uIHRoZQpAQCAtMTM0LDEzICsxMzQsMTMgQEAKICAgICAgZXhpc3QgaW4gdGhlIHNldCBvZiByZW1vdGUgcmVmczsgdGhlIHJlZiBtYXRjaGVkIDxzcmM+CiAgICAgIGxvY2FsbHkgaXMgdXNlZCBhcyB0aGUgbmFtZSBvZiB0aGUgZGVzdGluYXRpb24uCiAKLVdpdGhvdXQgJy0tZm9yY2UnLCB0aGUgPHNyYz4gcmVmIGlzIHN0b3JlZCBhdCB0aGUgcmVtb3RlIG9ubHkgaWYKK1dpdGhvdXQgYC0tZm9yY2VgLCB0aGUgPHNyYz4gcmVmIGlzIHN0b3JlZCBhdCB0aGUgcmVtb3RlIG9ubHkgaWYKIDxkc3Q+IGRvZXMgbm90IGV4aXN0LCBvciA8ZHN0PiBpcyBhIHByb3BlciBzdWJzZXQgKGkuZS4gYW4KIGFuY2VzdG9yKSBvZiA8c3JjPi4gIFRoaXMgY2hlY2ssIGtub3duIGFzICJmYXN0LWZvcndhcmQgY2hlY2siLAogaXMgcGVyZm9ybWVkIGluIG9yZGVyIHRvIGF2b2lkIGFjY2lkZW50YWxseSBvdmVyd3JpdGluZyB0aGUKIHJlbW90ZSByZWYgYW5kIGxvc2Ugb3RoZXIgcGVvcGxlcycgY29tbWl0cyBmcm9tIHRoZXJlLgogCi1XaXRoICctLWZvcmNlJywgdGhlIGZhc3QtZm9yd2FyZCBjaGVjayBpcyBkaXNhYmxlZCBmb3IgYWxsIHJlZnMuCitXaXRoIGAtLWZvcmNlYCwgdGhlIGZhc3QtZm9yd2FyZCBjaGVjayBpcyBkaXNhYmxlZCBmb3IgYWxsIHJlZnMuCiAKIE9wdGlvbmFsbHksIGEgPHJlZj4gcGFyYW1ldGVyIGNhbiBiZSBwcmVmaXhlZCB3aXRoIGEgcGx1cyAnKycgc2lnbgogdG8gZGlzYWJsZSB0aGUgZmFzdC1mb3J3YXJkIGNoZWNrIG9ubHkgb24gdGhhdCByZWYuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1zaC1zZXR1cC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1zaC1zZXR1cC50eHQKaW5kZXggNGY2N2M0Yy4uODYzMjYxMiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtc2gtc2V0dXAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXNoLXNldHVwLnR4dApAQCAtNDEsNyArNDEsNyBAQAogCWRpZSB3aXRoIHRoZSB1c2FnZSBtZXNzYWdlLgogCiBzZXRfcmVmbG9nX2FjdGlvbjo6Ci0JU2V0IEdJVF9SRUZMT0dfQUNUSU9OIGVudmlyb25tZW50IHRvIGEgZ2l2ZW4gc3RyaW5nICh0eXBpY2FsbHkKKwlTZXQgYEdJVF9SRUZMT0dfQUNUSU9OYCBlbnZpcm9ubWVudCB0byBhIGdpdmVuIHN0cmluZyAodHlwaWNhbGx5CiAJdGhlIG5hbWUgb2YgdGhlIHByb2dyYW0pIHVubGVzcyBpdCBpcyBhbHJlYWR5IHNldC4gIFdoZW5ldmVyCiAJdGhlIHNjcmlwdCBydW5zIGEgYGdpdGAgY29tbWFuZCB0aGF0IHVwZGF0ZXMgcmVmcywgYSByZWZsb2cKIAllbnRyeSBpcyBjcmVhdGVkIHVzaW5nIHRoZSB2YWx1ZSBvZiB0aGlzIHN0cmluZyB0byBsZWF2ZSB0aGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXNoZWxsLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXNoZWxsLnR4dAppbmRleCBlNGJkZDIyLi4yZTMwYTNlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1zaGVsbC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtc2hlbGwudHh0CkBAIC0yNCw3ICsyNCw3IEBACiBDT01NQU5EUwogLS0tLS0tLS0KIAotJ2dpdCBzaGVsbCcgYWNjZXB0cyB0aGUgZm9sbG93aW5nIGNvbW1hbmRzIGFmdGVyIHRoZSAnLWMnIG9wdGlvbjoKKydnaXQgc2hlbGwnIGFjY2VwdHMgdGhlIGZvbGxvd2luZyBjb21tYW5kcyBhZnRlciB0aGUgYC1jYCBvcHRpb246CiAKICdnaXQgcmVjZWl2ZS1wYWNrIDxhcmd1bWVudD4nOjoKICdnaXQgdXBsb2FkLXBhY2sgPGFyZ3VtZW50Pic6OgpAQCAtNDMsNyArNDMsNyBAQAogSU5URVJBQ1RJVkUgVVNFCiAtLS0tLS0tLS0tLS0tLS0KIAotQnkgZGVmYXVsdCwgdGhlIGNvbW1hbmRzIGFib3ZlIGNhbiBiZSBleGVjdXRlZCBvbmx5IHdpdGggdGhlICctYycKK0J5IGRlZmF1bHQsIHRoZSBjb21tYW5kcyBhYm92ZSBjYW4gYmUgZXhlY3V0ZWQgb25seSB3aXRoIHRoZSBgLWNgCiBvcHRpb247IHRoZSBzaGVsbCBpcyBub3QgaW50ZXJhY3RpdmUuCiAKIElmIGEgYH4vZ2l0LXNoZWxsLWNvbW1hbmRzYCBkaXJlY3RvcnkgaXMgcHJlc2VudCwgJ2dpdCBzaGVsbCcKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXNob3ctYnJhbmNoLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXNob3ctYnJhbmNoLnR4dAppbmRleCBiOTFkNGU1Li43ODE4ZTBmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1zaG93LWJyYW5jaC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtc2hvdy1icmFuY2gudHh0CkBAIC02MCw3ICs2MCw3IEBACiAgICAgICAgIGFyZSBzaG93biBiZWZvcmUgdGhlaXIgcGFyZW50cykuCiAKIC0tZGF0ZS1vcmRlcjo6Ci0JVGhpcyBvcHRpb24gaXMgc2ltaWxhciB0byAnLS10b3BvLW9yZGVyJyBpbiB0aGUgc2Vuc2UgdGhhdCBubworCVRoaXMgb3B0aW9uIGlzIHNpbWlsYXIgdG8gYC0tdG9wby1vcmRlcmAgaW4gdGhlIHNlbnNlIHRoYXQgbm8KIAlwYXJlbnQgY29tZXMgYmVmb3JlIGFsbCBvZiBpdHMgY2hpbGRyZW4sIGJ1dCBvdGhlcndpc2UgY29tbWl0cwogCWFyZSBvcmRlcmVkIGFjY29yZGluZyB0byB0aGVpciBjb21taXQgZGF0ZS4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtc2hvdy1yZWYudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtc2hvdy1yZWYudHh0CmluZGV4IDNhMzI0NTEuLmMwYWE4NzEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXNob3ctcmVmLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1zaG93LXJlZi50eHQKQEAgLTYwLDcgKzYwLDcgQEAKIAogCUVuYWJsZSBzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcgYnkgcmVxdWlyaW5nIGFuIGV4YWN0IHJlZiBwYXRoLgogCUFzaWRlIGZyb20gcmV0dXJuaW5nIGFuIGVycm9yIGNvZGUgb2YgMSwgaXQgd2lsbCBhbHNvIHByaW50IGFuIGVycm9yCi0JbWVzc2FnZSBpZiAnLS1xdWlldCcgd2FzIG5vdCBzcGVjaWZpZWQuCisJbWVzc2FnZSBpZiBgLS1xdWlldGAgd2FzIG5vdCBzcGVjaWZpZWQuCiAKIC0tYWJicmV2Wz08bj5dOjoKIApAQCAtNzAsNyArNzAsNyBAQAogLXE6OgogLS1xdWlldDo6CiAKLQlEbyBub3QgcHJpbnQgYW55IHJlc3VsdHMgdG8gc3Rkb3V0LiBXaGVuIGNvbWJpbmVkIHdpdGggJy0tdmVyaWZ5JyB0aGlzCisJRG8gbm90IHByaW50IGFueSByZXN1bHRzIHRvIHN0ZG91dC4gV2hlbiBjb21iaW5lZCB3aXRoIGAtLXZlcmlmeWAgdGhpcwogCWNhbiBiZSB1c2VkIHRvIHNpbGVudGx5IGNoZWNrIGlmIGEgcmVmZXJlbmNlIGV4aXN0cy4KIAogLS1leGNsdWRlLWV4aXN0aW5nWz08cGF0dGVybj5dOjoKQEAgLTEzNCw3ICsxMzQsNyBAQAogVGhpcyB3aWxsIHNob3cgInJlZnMvaGVhZHMvbWFzdGVyIiBidXQgYWxzbyAicmVmcy9yZW1vdGUvb3RoZXItcmVwby9tYXN0ZXIiLAogaWYgc3VjaCByZWZlcmVuY2VzIGV4aXN0cy4KIAotV2hlbiB1c2luZyB0aGUgJy0tdmVyaWZ5JyBmbGFnLCB0aGUgY29tbWFuZCByZXF1aXJlcyBhbiBleGFjdCBwYXRoOgorV2hlbiB1c2luZyB0aGUgYC0tdmVyaWZ5YCBmbGFnLCB0aGUgY29tbWFuZCByZXF1aXJlcyBhbiBleGFjdCBwYXRoOgogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCWdpdCBzaG93LXJlZiAtLXZlcmlmeSByZWZzL2hlYWRzL21hc3RlcgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtc3Rhc2gudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtc3Rhc2gudHh0CmluZGV4IDkyZGY1OTYuLjJlOWNlZjAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXN0YXNoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1zdGFzaC50eHQKQEAgLTM5LDcgKzM5LDggQEAKIHN0YXNoZXMgYXJlIGZvdW5kIGluIHRoZSByZWZsb2cgb2YgdGhpcyByZWZlcmVuY2UgYW5kIGNhbiBiZSBuYW1lZCB1c2luZwogdGhlIHVzdWFsIHJlZmxvZyBzeW50YXggKGUuZy4gYHN0YXNoQHswfWAgaXMgdGhlIG1vc3QgcmVjZW50bHkKIGNyZWF0ZWQgc3Rhc2gsIGBzdGFzaEB7MX1gIGlzIHRoZSBvbmUgYmVmb3JlIGl0LCBgc3Rhc2hAezIuaG91cnMuYWdvfWAKLWlzIGFsc28gcG9zc2libGUpLgoraXMgYWxzbyBwb3NzaWJsZSkuIFN0YXNoZXMgbWF5IGFsc28gYmUgcmVmZXJlbmNlZCBieSBzcGVjaWZ5aW5nIGp1c3QgdGhlCitzdGFzaCBpbmRleCAoZS5nLiB0aGUgaW50ZWdlciBgbmAgaXMgZXF1aXZhbGVudCB0byBgc3Rhc2hAe259YCkuCiAKIE9QVElPTlMKIC0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXN0YXR1cy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1zdGF0dXMudHh0CmluZGV4IGUxZThmNTcuLjcyNTA2NWUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXN0YXR1cy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtc3RhdHVzLnR4dApAQCAtMzIsMTEgKzMyLDE0IEBACiAtLWJyYW5jaDo6CiAJU2hvdyB0aGUgYnJhbmNoIGFuZCB0cmFja2luZyBpbmZvIGV2ZW4gaW4gc2hvcnQtZm9ybWF0LgogCi0tLXBvcmNlbGFpbjo6CistLXBvcmNlbGFpbls9PHZlcnNpb24+XTo6CiAJR2l2ZSB0aGUgb3V0cHV0IGluIGFuIGVhc3ktdG8tcGFyc2UgZm9ybWF0IGZvciBzY3JpcHRzLgogCVRoaXMgaXMgc2ltaWxhciB0byB0aGUgc2hvcnQgb3V0cHV0LCBidXQgd2lsbCByZW1haW4gc3RhYmxlCiAJYWNyb3NzIEdpdCB2ZXJzaW9ucyBhbmQgcmVnYXJkbGVzcyBvZiB1c2VyIGNvbmZpZ3VyYXRpb24uIFNlZQogCWJlbG93IGZvciBkZXRhaWxzLgorKworVGhlIHZlcnNpb24gcGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgZm9ybWF0IHZlcnNpb24uCitUaGlzIGlzIG9wdGlvbmFsIGFuZCBkZWZhdWx0cyB0byB0aGUgb3JpZ2luYWwgdmVyc2lvbiAndjEnIGZvcm1hdC4KIAogLS1sb25nOjoKIAlHaXZlIHRoZSBvdXRwdXQgaW4gdGhlIGxvbmctZm9ybWF0LiBUaGlzIGlzIHRoZSBkZWZhdWx0LgpAQCAtOTYsNyArOTksNyBAQAogCiAtejo6CiAJVGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwsIGluc3RlYWQgb2YgTEYuICBUaGlzIGltcGxpZXMKLQl0aGUgYC0tcG9yY2VsYWluYCBvdXRwdXQgZm9ybWF0IGlmIG5vIG90aGVyIGZvcm1hdCBpcyBnaXZlbi4KKwl0aGUgYC0tcG9yY2VsYWluPXYxYCBvdXRwdXQgZm9ybWF0IGlmIG5vIG90aGVyIGZvcm1hdCBpcyBnaXZlbi4KIAogLS1jb2x1bW5bPTxvcHRpb25zPl06OgogLS1uby1jb2x1bW46OgpAQCAtMTgwLDEyICsxODMsMTIgQEAKIAogSWYgLWIgaXMgdXNlZCB0aGUgc2hvcnQtZm9ybWF0IHN0YXR1cyBpcyBwcmVjZWRlZCBieSBhIGxpbmUKIAotIyMgYnJhbmNobmFtZSB0cmFja2luZyBpbmZvCisgICAgIyMgYnJhbmNobmFtZSB0cmFja2luZyBpbmZvCiAKLVBvcmNlbGFpbiBGb3JtYXQKLX5+fn5+fn5+fn5+fn5+fn4KK1BvcmNlbGFpbiBGb3JtYXQgVmVyc2lvbiAxCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCi1UaGUgcG9yY2VsYWluIGZvcm1hdCBpcyBzaW1pbGFyIHRvIHRoZSBzaG9ydCBmb3JtYXQsIGJ1dCBpcyBndWFyYW50ZWVkCitWZXJzaW9uIDEgcG9yY2VsYWluIGZvcm1hdCBpcyBzaW1pbGFyIHRvIHRoZSBzaG9ydCBmb3JtYXQsIGJ1dCBpcyBndWFyYW50ZWVkCiBub3QgdG8gY2hhbmdlIGluIGEgYmFja3dhcmRzLWluY29tcGF0aWJsZSB3YXkgYmV0d2VlbiBHaXQgdmVyc2lvbnMgb3IKIGJhc2VkIG9uIHVzZXIgY29uZmlndXJhdGlvbi4gVGhpcyBtYWtlcyBpdCBpZGVhbCBmb3IgcGFyc2luZyBieSBzY3JpcHRzLgogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBzaG9ydCBmb3JtYXQgYWJvdmUgYWxzbyBkZXNjcmliZXMgdGhlIHBvcmNlbGFpbgpAQCAtMjA3LDYgKzIxMCwxMjQgQEAKIGNoYXJhY3RlcnMgYXJlIG5vdCBzcGVjaWFsbHkgZm9ybWF0dGVkOyBubyBxdW90aW5nIG9yCiBiYWNrc2xhc2gtZXNjYXBpbmcgaXMgcGVyZm9ybWVkLgogCitQb3JjZWxhaW4gRm9ybWF0IFZlcnNpb24gMgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworVmVyc2lvbiAyIGZvcm1hdCBhZGRzIG1vcmUgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN0YXRlIG9mCit0aGUgd29ya3RyZWUgYW5kIGNoYW5nZWQgaXRlbXMuICBWZXJzaW9uIDIgYWxzbyBkZWZpbmVzIGFuIGV4dGVuc2libGUKK3NldCBvZiBlYXN5IHRvIHBhcnNlIG9wdGlvbmFsIGhlYWRlcnMuCisKK0hlYWRlciBsaW5lcyBzdGFydCB3aXRoICIjIiBhbmQgYXJlIGFkZGVkIGluIHJlc3BvbnNlIHRvIHNwZWNpZmljCitjb21tYW5kIGxpbmUgYXJndW1lbnRzLiAgUGFyc2VycyBzaG91bGQgaWdub3JlIGhlYWRlcnMgdGhleQorZG9uJ3QgcmVjb2duaXplLgorCisjIyMgQnJhbmNoIEhlYWRlcnMKKworSWYgYC0tYnJhbmNoYCBpcyBnaXZlbiwgYSBzZXJpZXMgb2YgaGVhZGVyIGxpbmVzIGFyZSBwcmludGVkIHdpdGgKK2luZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IGJyYW5jaC4KKworICAgIExpbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90ZXMKKyAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAjIGJyYW5jaC5vaWQgPGNvbW1pdD4gfCAoaW5pdGlhbCkgICAgICAgIEN1cnJlbnQgY29tbWl0LgorICAgICMgYnJhbmNoLmhlYWQgPGJyYW5jaD4gfCAoZGV0YWNoZWQpICAgICAgQ3VycmVudCBicmFuY2guCisgICAgIyBicmFuY2gudXBzdHJlYW0gPHVwc3RyZWFtX2JyYW5jaD4gICAgICBJZiB1cHN0cmVhbSBpcyBzZXQuCisgICAgIyBicmFuY2guYWIgKzxhaGVhZD4gLTxiZWhpbmQ+ICAgICAgICAgICBJZiB1cHN0cmVhbSBpcyBzZXQgYW5kCisJCQkJCSAgICAgdGhlIGNvbW1pdCBpcyBwcmVzZW50LgorICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjIyMgQ2hhbmdlZCBUcmFja2VkIEVudHJpZXMKKworRm9sbG93aW5nIHRoZSBoZWFkZXJzLCBhIHNlcmllcyBvZiBsaW5lcyBhcmUgcHJpbnRlZCBmb3IgdHJhY2tlZAorZW50cmllcy4gIE9uZSBvZiB0aHJlZSBkaWZmZXJlbnQgbGluZSBmb3JtYXRzIG1heSBiZSB1c2VkIHRvIGRlc2NyaWJlCithbiBlbnRyeSBkZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgY2hhbmdlLiAgVHJhY2tlZCBlbnRyaWVzIGFyZSBwcmludGVkCitpbiBhbiB1bmRlZmluZWQgb3JkZXI7IHBhcnNlcnMgc2hvdWxkIGFsbG93IGZvciBhIG1peHR1cmUgb2YgdGhlIDMKK2xpbmUgdHlwZXMgaW4gYW55IG9yZGVyLgorCitPcmRpbmFyeSBjaGFuZ2VkIGVudHJpZXMgaGF2ZSB0aGUgZm9sbG93aW5nIGZvcm1hdDoKKworICAgIDEgPFhZPiA8c3ViPiA8bUg+IDxtST4gPG1XPiA8aEg+IDxoST4gPHBhdGg+CisKK1JlbmFtZWQgb3IgY29waWVkIGVudHJpZXMgaGF2ZSB0aGUgZm9sbG93aW5nIGZvcm1hdDoKKworICAgIDIgPFhZPiA8c3ViPiA8bUg+IDxtST4gPG1XPiA8aEg+IDxoST4gPFg+PHNjb3JlPiA8cGF0aD48c2VwPjxvcmlnUGF0aD4KKworICAgIEZpZWxkICAgICAgIE1lYW5pbmcKKyAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIDxYWT4gICAgICAgIEEgMiBjaGFyYWN0ZXIgZmllbGQgY29udGFpbmluZyB0aGUgc3RhZ2VkIGFuZAorCQl1bnN0YWdlZCBYWSB2YWx1ZXMgZGVzY3JpYmVkIGluIHRoZSBzaG9ydCBmb3JtYXQsCisJCXdpdGggdW5jaGFuZ2VkIGluZGljYXRlZCBieSBhICIuIiByYXRoZXIgdGhhbgorCQlhIHNwYWNlLgorICAgIDxzdWI+ICAgICAgIEEgNCBjaGFyYWN0ZXIgZmllbGQgZGVzY3JpYmluZyB0aGUgc3VibW9kdWxlIHN0YXRlLgorCQkiTi4uLiIgd2hlbiB0aGUgZW50cnkgaXMgbm90IGEgc3VibW9kdWxlLgorCQkiUzxjPjxtPjx1PiIgd2hlbiB0aGUgZW50cnkgaXMgYSBzdWJtb2R1bGUuCisJCTxjPiBpcyAiQyIgaWYgdGhlIGNvbW1pdCBjaGFuZ2VkOyBvdGhlcndpc2UgIi4iLgorCQk8bT4gaXMgIk0iIGlmIGl0IGhhcyB0cmFja2VkIGNoYW5nZXM7IG90aGVyd2lzZSAiLiIuCisJCTx1PiBpcyAiVSIgaWYgdGhlcmUgYXJlIHVudHJhY2tlZCBjaGFuZ2VzOyBvdGhlcndpc2UgIi4iLgorICAgIDxtSD4gICAgICAgIFRoZSBvY3RhbCBmaWxlIG1vZGUgaW4gSEVBRC4KKyAgICA8bUk+ICAgICAgICBUaGUgb2N0YWwgZmlsZSBtb2RlIGluIHRoZSBpbmRleC4KKyAgICA8bVc+ICAgICAgICBUaGUgb2N0YWwgZmlsZSBtb2RlIGluIHRoZSB3b3JrdHJlZS4KKyAgICA8aEg+ICAgICAgICBUaGUgb2JqZWN0IG5hbWUgaW4gSEVBRC4KKyAgICA8aEk+ICAgICAgICBUaGUgb2JqZWN0IG5hbWUgaW4gdGhlIGluZGV4LgorICAgIDxYPjxzY29yZT4gIFRoZSByZW5hbWUgb3IgY29weSBzY29yZSAoZGVub3RpbmcgdGhlIHBlcmNlbnRhZ2UKKwkJb2Ygc2ltaWxhcml0eSBiZXR3ZWVuIHRoZSBzb3VyY2UgYW5kIHRhcmdldCBvZiB0aGUKKwkJbW92ZSBvciBjb3B5KS4gRm9yIGV4YW1wbGUgIlIxMDAiIG9yICJDNzUiLgorICAgIDxwYXRoPiAgICAgIFRoZSBwYXRobmFtZS4gIEluIGEgcmVuYW1lZC9jb3BpZWQgZW50cnksIHRoaXMKKwkJaXMgdGhlIHBhdGggaW4gdGhlIGluZGV4IGFuZCBpbiB0aGUgd29ya2luZyB0cmVlLgorICAgIDxzZXA+ICAgICAgIFdoZW4gdGhlIGAtemAgb3B0aW9uIGlzIHVzZWQsIHRoZSAyIHBhdGhuYW1lcyBhcmUgc2VwYXJhdGVkCisJCXdpdGggYSBOVUwgKEFTQ0lJIDB4MDApIGJ5dGU7IG90aGVyd2lzZSwgYSB0YWIgKEFTQ0lJIDB4MDkpCisJCWJ5dGUgc2VwYXJhdGVzIHRoZW0uCisgICAgPG9yaWdQYXRoPiAgVGhlIHBhdGhuYW1lIGluIHRoZSBjb21taXQgYXQgSEVBRC4gIFRoaXMgaXMgb25seQorCQlwcmVzZW50IGluIGEgcmVuYW1lZC9jb3BpZWQgZW50cnksIGFuZCB0ZWxscworCQl3aGVyZSB0aGUgcmVuYW1lZC9jb3BpZWQgY29udGVudHMgY2FtZSBmcm9tLgorICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1VubWVyZ2VkIGVudHJpZXMgaGF2ZSB0aGUgZm9sbG93aW5nIGZvcm1hdDsgdGhlIGZpcnN0IGNoYXJhY3RlciBpcworYSAidSIgdG8gZGlzdGluZ3Vpc2ggZnJvbSBvcmRpbmFyeSBjaGFuZ2VkIGVudHJpZXMuCisKKyAgICB1IDx4eT4gPHN1Yj4gPG0xPiA8bTI+IDxtMz4gPG1XPiA8aDE+IDxoMj4gPGgzPiA8cGF0aD4KKworICAgIEZpZWxkICAgICAgIE1lYW5pbmcKKyAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIDxYWT4gICAgICAgIEEgMiBjaGFyYWN0ZXIgZmllbGQgZGVzY3JpYmluZyB0aGUgY29uZmxpY3QgdHlwZQorCQlhcyBkZXNjcmliZWQgaW4gdGhlIHNob3J0IGZvcm1hdC4KKyAgICA8c3ViPiAgICAgICBBIDQgY2hhcmFjdGVyIGZpZWxkIGRlc2NyaWJpbmcgdGhlIHN1Ym1vZHVsZSBzdGF0ZQorCQlhcyBkZXNjcmliZWQgYWJvdmUuCisgICAgPG0xPiAgICAgICAgVGhlIG9jdGFsIGZpbGUgbW9kZSBpbiBzdGFnZSAxLgorICAgIDxtMj4gICAgICAgIFRoZSBvY3RhbCBmaWxlIG1vZGUgaW4gc3RhZ2UgMi4KKyAgICA8bTM+ICAgICAgICBUaGUgb2N0YWwgZmlsZSBtb2RlIGluIHN0YWdlIDMuCisgICAgPG1XPiAgICAgICAgVGhlIG9jdGFsIGZpbGUgbW9kZSBpbiB0aGUgd29ya3RyZWUuCisgICAgPGgxPiAgICAgICAgVGhlIG9iamVjdCBuYW1lIGluIHN0YWdlIDEuCisgICAgPGgyPiAgICAgICAgVGhlIG9iamVjdCBuYW1lIGluIHN0YWdlIDIuCisgICAgPGgzPiAgICAgICAgVGhlIG9iamVjdCBuYW1lIGluIHN0YWdlIDMuCisgICAgPHBhdGg+ICAgICAgVGhlIHBhdGhuYW1lLgorICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyMjIyBPdGhlciBJdGVtcworCitGb2xsb3dpbmcgdGhlIHRyYWNrZWQgZW50cmllcyAoYW5kIGlmIHJlcXVlc3RlZCksIGEgc2VyaWVzIG9mCitsaW5lcyB3aWxsIGJlIHByaW50ZWQgZm9yIHVudHJhY2tlZCBhbmQgdGhlbiBpZ25vcmVkIGl0ZW1zCitmb3VuZCBpbiB0aGUgd29ya3RyZWUuCisKK1VudHJhY2tlZCBpdGVtcyBoYXZlIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgorCisgICAgPyA8cGF0aD4KKworSWdub3JlZCBpdGVtcyBoYXZlIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgorCisgICAgISA8cGF0aD4KKworIyMjIFBhdGhuYW1lIEZvcm1hdCBOb3RlcyBhbmQgLXoKKworV2hlbiB0aGUgYC16YCBvcHRpb24gaXMgZ2l2ZW4sIHBhdGhuYW1lcyBhcmUgcHJpbnRlZCBhcyBpcyBhbmQKK3dpdGhvdXQgYW55IHF1b3RpbmcgYW5kIGxpbmVzIGFyZSB0ZXJtaW5hdGVkIHdpdGggYSBOVUwgKEFTQ0lJIDB4MDApCitieXRlLgorCitPdGhlcndpc2UsIGFsbCBwYXRobmFtZXMgd2lsbCBiZSAiQy1xdW90ZWQiIGlmIHRoZXkgY29udGFpbiBhbnkgdGFiLAorbGluZWZlZWQsIGRvdWJsZSBxdW90ZSwgb3IgYmFja3NsYXNoIGNoYXJhY3RlcnMuIEluIEMtcXVvdGluZywgdGhlc2UKK2NoYXJhY3RlcnMgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIEMtc3R5bGUgZXNjYXBlCitzZXF1ZW5jZXMgYW5kIHRoZSByZXN1bHRpbmcgcGF0aG5hbWUgd2lsbCBiZSBkb3VibGUgcXVvdGVkLgorCisKIENPTkZJR1VSQVRJT04KIC0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtc3VibW9kdWxlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXN1Ym1vZHVsZS50eHQKaW5kZXggOTIyNmM0My4uZDg0MTU3MyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtc3VibW9kdWxlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1zdWJtb2R1bGUudHh0CkBAIC0xNSw4ICsxNSw5IEBACiAnZ2l0IHN1Ym1vZHVsZScgWy0tcXVpZXRdIGluaXQgWy0tXSBbPHBhdGg+Li4uXQogJ2dpdCBzdWJtb2R1bGUnIFstLXF1aWV0XSBkZWluaXQgWy1mfC0tZm9yY2VdICgtLWFsbHxbLS1dIDxwYXRoPi4uLikKICdnaXQgc3VibW9kdWxlJyBbLS1xdWlldF0gdXBkYXRlIFstLWluaXRdIFstLXJlbW90ZV0gWy1OfC0tbm8tZmV0Y2hdCi0JICAgICAgWy1mfC0tZm9yY2VdIFstLXJlYmFzZXwtLW1lcmdlXSBbLS1yZWZlcmVuY2UgPHJlcG9zaXRvcnk+XQotCSAgICAgIFstLWRlcHRoIDxkZXB0aD5dIFstLXJlY3Vyc2l2ZV0gWy0tam9icyA8bj5dIFstLV0gWzxwYXRoPi4uLl0KKwkgICAgICBbLS1bbm8tXXJlY29tbWVuZC1zaGFsbG93XSBbLWZ8LS1mb3JjZV0gWy0tcmViYXNlfC0tbWVyZ2VdCisJICAgICAgWy0tcmVmZXJlbmNlIDxyZXBvc2l0b3J5Pl0gWy0tZGVwdGggPGRlcHRoPl0gWy0tcmVjdXJzaXZlXQorCSAgICAgIFstLWpvYnMgPG4+XSBbLS1dIFs8cGF0aD4uLi5dCiAnZ2l0IHN1Ym1vZHVsZScgWy0tcXVpZXRdIHN1bW1hcnkgWy0tY2FjaGVkfC0tZmlsZXNdIFsoLW58LS1zdW1tYXJ5LWxpbWl0KSA8bj5dCiAJICAgICAgW2NvbW1pdF0gWy0tXSBbPHBhdGg+Li4uXQogJ2dpdCBzdWJtb2R1bGUnIFstLXF1aWV0XSBmb3JlYWNoIFstLXJlY3Vyc2l2ZV0gPGNvbW1hbmQ+CkBAIC0yNTgsNyArMjU5LDkgQEAKIC0tYnJhbmNoOjoKIAlCcmFuY2ggb2YgcmVwb3NpdG9yeSB0byBhZGQgYXMgc3VibW9kdWxlLgogCVRoZSBuYW1lIG9mIHRoZSBicmFuY2ggaXMgcmVjb3JkZWQgYXMgYHN1Ym1vZHVsZS48bmFtZT4uYnJhbmNoYCBpbgotCWAuZ2l0bW9kdWxlc2AgZm9yIGB1cGRhdGUgLS1yZW1vdGVgLgorCWAuZ2l0bW9kdWxlc2AgZm9yIGB1cGRhdGUgLS1yZW1vdGVgLiAgQSBzcGVjaWFsIHZhbHVlIG9mIGAuYCBpcyB1c2VkIHRvCisJaW5kaWNhdGUgdGhhdCB0aGUgbmFtZSBvZiB0aGUgYnJhbmNoIGluIHRoZSBzdWJtb2R1bGUgc2hvdWxkIGJlIHRoZQorCXNhbWUgbmFtZSBhcyB0aGUgY3VycmVudCBicmFuY2ggaW4gdGhlIGN1cnJlbnQgcmVwb3NpdG9yeS4KIAogLWY6OgogLS1mb3JjZTo6CkBAIC0zODQsNiArMzg3LDEyIEBACiAJY2xvbmUgd2l0aCBhIGhpc3RvcnkgdHJ1bmNhdGVkIHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHJldmlzaW9ucy4KIAlTZWUgbGlua2dpdDpnaXQtY2xvbmVbMV0KIAorLS1bbm8tXXJlY29tbWVuZC1zaGFsbG93OjoKKwlUaGlzIG9wdGlvbiBpcyBvbmx5IHZhbGlkIGZvciB0aGUgdXBkYXRlIGNvbW1hbmQuCisJVGhlIGluaXRpYWwgY2xvbmUgb2YgYSBzdWJtb2R1bGUgd2lsbCB1c2UgdGhlIHJlY29tbWVuZGVkCisJYHN1Ym1vZHVsZS48bmFtZT4uc2hhbGxvd2AgYXMgcHJvdmlkZWQgYnkgdGhlIC5naXRtb2R1bGVzIGZpbGUKKwlieSBkZWZhdWx0LiBUbyBpZ25vcmUgdGhlIHN1Z2dlc3Rpb25zIHVzZSBgLS1uby1yZWNvbW1lbmQtc2hhbGxvd2AuCisKIC1qIDxuPjo6CiAtLWpvYnMgPG4+OjoKIAlUaGlzIG9wdGlvbiBpcyBvbmx5IHZhbGlkIGZvciB0aGUgdXBkYXRlIGNvbW1hbmQuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1zdm4udHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtc3ZuLnR4dAppbmRleCBmYjIzYTk4Li41ZjllNjViIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1zdm4udHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXN2bi50eHQKQEAgLTk4LDExICs5OCwxMSBAQAogLS1pZ25vcmUtcGF0aHM9PHJlZ2V4Pjs7CiAJV2hlbiBwYXNzZWQgdG8gJ2luaXQnIG9yICdjbG9uZScgdGhpcyByZWd1bGFyIGV4cHJlc3Npb24gd2lsbAogCWJlIHByZXNlcnZlZCBhcyBhIGNvbmZpZyBrZXkuICBTZWUgJ2ZldGNoJyBmb3IgYSBkZXNjcmlwdGlvbgotCW9mICctLWlnbm9yZS1wYXRocycuCisJb2YgYC0taWdub3JlLXBhdGhzYC4KIC0taW5jbHVkZS1wYXRocz08cmVnZXg+OzsKIAlXaGVuIHBhc3NlZCB0byAnaW5pdCcgb3IgJ2Nsb25lJyB0aGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aWxsCiAJYmUgcHJlc2VydmVkIGFzIGEgY29uZmlnIGtleS4gIFNlZSAnZmV0Y2gnIGZvciBhIGRlc2NyaXB0aW9uCi0Jb2YgJy0taW5jbHVkZS1wYXRocycuCisJb2YgYC0taW5jbHVkZS1wYXRoc2AuCiAtLW5vLW1pbmltaXplLXVybDs7CiAJV2hlbiB0cmFja2luZyBtdWx0aXBsZSBkaXJlY3RvcmllcyAodXNpbmcgLS1zdGRsYXlvdXQsCiAJLS1icmFuY2hlcywgb3IgLS10YWdzIG9wdGlvbnMpLCBnaXQgc3ZuIHdpbGwgYXR0ZW1wdCB0byBjb25uZWN0CkBAIC0xMTAsNyArMTEwLDcgQEAKIAlyZXBvc2l0b3J5LiAgVGhpcyBkZWZhdWx0IGFsbG93cyBiZXR0ZXIgdHJhY2tpbmcgb2YgaGlzdG9yeSBpZgogCWVudGlyZSBwcm9qZWN0cyBhcmUgbW92ZWQgd2l0aGluIGEgcmVwb3NpdG9yeSwgYnV0IG1heSBjYXVzZQogCWlzc3VlcyBvbiByZXBvc2l0b3JpZXMgd2hlcmUgcmVhZCBhY2Nlc3MgcmVzdHJpY3Rpb25zIGFyZSBpbgotCXBsYWNlLiAgUGFzc2luZyAnLS1uby1taW5pbWl6ZS11cmwnIHdpbGwgYWxsb3cgZ2l0IHN2biB0bworCXBsYWNlLiAgUGFzc2luZyBgLS1uby1taW5pbWl6ZS11cmxgIHdpbGwgYWxsb3cgZ2l0IHN2biB0bwogCWFjY2VwdCBVUkxzIGFzLWlzIHdpdGhvdXQgYXR0ZW1wdGluZyB0byBjb25uZWN0IHRvIGEgaGlnaGVyCiAJbGV2ZWwgZGlyZWN0b3J5LiAgVGhpcyBvcHRpb24gaXMgb2ZmIGJ5IGRlZmF1bHQgd2hlbiBvbmx5CiAJb25lIFVSTC9icmFuY2ggaXMgdHJhY2tlZCAoaXQgd291bGQgZG8gbGl0dGxlIGdvb2QpLgpAQCAtMTQxLDcgKzE0MSw3IEBACiAtLWlnbm9yZS1wYXRocz08cmVnZXg+OzsKIAlUaGlzIGFsbG93cyBvbmUgdG8gc3BlY2lmeSBhIFBlcmwgcmVndWxhciBleHByZXNzaW9uIHRoYXQgd2lsbAogCWNhdXNlIHNraXBwaW5nIG9mIGFsbCBtYXRjaGluZyBwYXRocyBmcm9tIGNoZWNrb3V0IGZyb20gU1ZOLgotCVRoZSAnLS1pZ25vcmUtcGF0aHMnIG9wdGlvbiBzaG91bGQgbWF0Y2ggZm9yIGV2ZXJ5ICdmZXRjaCcKKwlUaGUgYC0taWdub3JlLXBhdGhzYCBvcHRpb24gc2hvdWxkIG1hdGNoIGZvciBldmVyeSAnZmV0Y2gnCiAJKGluY2x1ZGluZyBhdXRvbWF0aWMgZmV0Y2hlcyBkdWUgdG8gJ2Nsb25lJywgJ2Rjb21taXQnLAogCSdyZWJhc2UnLCBldGMpIG9uIGEgZ2l2ZW4gcmVwb3NpdG9yeS4KICsKQEAgLTE3MCwxMCArMTcwLDEwIEBACiAtLWluY2x1ZGUtcGF0aHM9PHJlZ2V4Pjs7CiAJVGhpcyBhbGxvd3Mgb25lIHRvIHNwZWNpZnkgYSBQZXJsIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGF0IHdpbGwKIAljYXVzZSB0aGUgaW5jbHVzaW9uIG9mIG9ubHkgbWF0Y2hpbmcgcGF0aHMgZnJvbSBjaGVja291dCBmcm9tIFNWTi4KLQlUaGUgJy0taW5jbHVkZS1wYXRocycgb3B0aW9uIHNob3VsZCBtYXRjaCBmb3IgZXZlcnkgJ2ZldGNoJworCVRoZSBgLS1pbmNsdWRlLXBhdGhzYCBvcHRpb24gc2hvdWxkIG1hdGNoIGZvciBldmVyeSAnZmV0Y2gnCiAJKGluY2x1ZGluZyBhdXRvbWF0aWMgZmV0Y2hlcyBkdWUgdG8gJ2Nsb25lJywgJ2Rjb21taXQnLAotCSdyZWJhc2UnLCBldGMpIG9uIGEgZ2l2ZW4gcmVwb3NpdG9yeS4gJy0taWdub3JlLXBhdGhzJyB0YWtlcwotCXByZWNlZGVuY2Ugb3ZlciAnLS1pbmNsdWRlLXBhdGhzJy4KKwkncmViYXNlJywgZXRjKSBvbiBhIGdpdmVuIHJlcG9zaXRvcnkuIGAtLWlnbm9yZS1wYXRoc2AgdGFrZXMKKwlwcmVjZWRlbmNlIG92ZXIgYC0taW5jbHVkZS1wYXRoc2AuCiArCiBbdmVyc2VdCiBjb25maWcga2V5OiBzdm4tcmVtb3RlLjxuYW1lPi5pbmNsdWRlLXBhdGhzCkBAIC0xOTEsNyArMTkxLDcgQEAKIAlvciBpZiBhIHNlY29uZCBhcmd1bWVudCBpcyBwYXNzZWQ7IGl0IHdpbGwgY3JlYXRlIGEgZGlyZWN0b3J5CiAJYW5kIHdvcmsgd2l0aGluIHRoYXQuICBJdCBhY2NlcHRzIGFsbCBhcmd1bWVudHMgdGhhdCB0aGUKIAknaW5pdCcgYW5kICdmZXRjaCcgY29tbWFuZHMgYWNjZXB0OyB3aXRoIHRoZSBleGNlcHRpb24gb2YKLQknLS1mZXRjaC1hbGwnIGFuZCAnLS1wYXJlbnQnLiAgQWZ0ZXIgYSByZXBvc2l0b3J5IGlzIGNsb25lZCwKKwlgLS1mZXRjaC1hbGxgIGFuZCBgLS1wYXJlbnRgLiAgQWZ0ZXIgYSByZXBvc2l0b3J5IGlzIGNsb25lZCwKIAl0aGUgJ2ZldGNoJyBjb21tYW5kIHdpbGwgYmUgYWJsZSB0byB1cGRhdGUgcmV2aXNpb25zIHdpdGhvdXQKIAlhZmZlY3RpbmcgdGhlIHdvcmtpbmcgdHJlZTsgYW5kIHRoZSAncmViYXNlJyBjb21tYW5kIHdpbGwgYmUKIAlhYmxlIHRvIHVwZGF0ZSB0aGUgd29ya2luZyB0cmVlIHdpdGggdGhlIGxhdGVzdCBjaGFuZ2VzLgpAQCAtMjE2LDcgKzIxNiw3IEBACiAnZ2l0IG1lcmdlJyBmb3IgZWFzZSBvZiBkY29tbWl0dGluZyB3aXRoICdnaXQgc3ZuJy4KICsKIFRoaXMgYWNjZXB0cyBhbGwgb3B0aW9ucyB0aGF0ICdnaXQgc3ZuIGZldGNoJyBhbmQgJ2dpdCByZWJhc2UnCi1hY2NlcHQuICBIb3dldmVyLCAnLS1mZXRjaC1hbGwnIG9ubHkgZmV0Y2hlcyBmcm9tIHRoZSBjdXJyZW50CithY2NlcHQuICBIb3dldmVyLCBgLS1mZXRjaC1hbGxgIG9ubHkgZmV0Y2hlcyBmcm9tIHRoZSBjdXJyZW50CiBbc3ZuLXJlbW90ZV0sIGFuZCBub3QgYWxsIFtzdm4tcmVtb3RlXSBkZWZpbml0aW9ucy4KICsKIExpa2UgJ2dpdCByZWJhc2UnOyB0aGlzIHJlcXVpcmVzIHRoYXQgdGhlIHdvcmtpbmcgdHJlZSBiZSBjbGVhbgpAQCAtNDU5LDYgKzQ1OSwyMCBAQAogCUdldHMgdGhlIFN1YnZlcnNpb24gcHJvcGVydHkgZ2l2ZW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50LCBmb3IgYQogCWZpbGUuICBBIHNwZWNpZmljIHJldmlzaW9uIGNhbiBiZSBzcGVjaWZpZWQgd2l0aCAtci8tLXJldmlzaW9uLgogCisncHJvcHNldCc6OgorCVNldHMgdGhlIFN1YnZlcnNpb24gcHJvcGVydHkgZ2l2ZW4gYXMgdGhlIGZpcnN0IGFyZ3VtZW50LCB0byB0aGUKKwl2YWx1ZSBnaXZlbiBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IGZvciB0aGUgZmlsZSBnaXZlbiBhcyB0aGUKKwl0aGlyZCBhcmd1bWVudC4KKysKK0V4YW1wbGU6CisrCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2dpdCBzdm4gcHJvcHNldCBzdm46a2V5d29yZHMgIkZyZWVCU0Q9JUgiIGRldmVsL3B5LXRpcHBlci9NYWtlZmlsZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCitUaGlzIHdpbGwgc2V0IHRoZSBwcm9wZXJ0eSAnc3ZuOmtleXdvcmRzJyB0byAnRnJlZUJTRD0lSCcgZm9yIHRoZSBmaWxlCisnZGV2ZWwvcHktdGlwcGVyL01ha2VmaWxlJy4KKwogJ3Nob3ctZXh0ZXJuYWxzJzo6CiAJU2hvd3MgdGhlIFN1YnZlcnNpb24gZXh0ZXJuYWxzLiAgVXNlIC1yLy0tcmV2aXNpb24gdG8gc3BlY2lmeSBhCiAJc3BlY2lmaWMgcmV2aXNpb24uCkBAIC02MTEsNiArNjI1LDkgQEAKIAl3aXRoIHRoZSBjb21taXR0ZXIgbmFtZSBhcyB0aGUgZmlyc3QgYXJndW1lbnQuICBUaGUgcHJvZ3JhbSBpcwogCWV4cGVjdGVkIHRvIHJldHVybiBhIHNpbmdsZSBsaW5lIG9mIHRoZSBmb3JtICJOYW1lIDxlbWFpbD4iLAogCXdoaWNoIHdpbGwgYmUgdHJlYXRlZCBhcyBpZiBpbmNsdWRlZCBpbiB0aGUgYXV0aG9ycyBmaWxlLgorKworW3ZlcnNlXQorY29uZmlnIGtleTogc3ZuLmF1dGhvcnNQcm9nCiAKIC1xOjoKIC0tcXVpZXQ6OgpAQCAtNzQ4LDcgKzc2NSw3IEBACiAKIHN2bi1yZW1vdGUuPG5hbWU+LnB1c2h1cmw6OgogCi0JU2ltaWxhciB0byBHaXQncyAncmVtb3RlLjxuYW1lPi5wdXNodXJsJywgdGhpcyBrZXkgaXMgZGVzaWduZWQKKwlTaW1pbGFyIHRvIEdpdCdzIGByZW1vdGUuPG5hbWU+LnB1c2h1cmxgLCB0aGlzIGtleSBpcyBkZXNpZ25lZAogCXRvIGJlIHVzZWQgaW4gY2FzZXMgd2hlcmUgJ3VybCcgcG9pbnRzIHRvIGFuIFNWTiByZXBvc2l0b3J5CiAJdmlhIGEgcmVhZC1vbmx5IHRyYW5zcG9ydCwgdG8gcHJvdmlkZSBhbiBhbHRlcm5hdGUgcmVhZC93cml0ZQogCXRyYW5zcG9ydC4gSXQgaXMgYXNzdW1lZCB0aGF0IGJvdGgga2V5cyBwb2ludCB0byB0aGUgc2FtZQpAQCAtOTA1LDcgKzkyMiw3IEBACiBHaXQgY29tbWl0IHRvIHNlcnZlIGFzIHBhcmVudC4gIFRoaXMgd2lsbCBoYXBwZW4sIGFtb25nIG90aGVyIHJlYXNvbnMsCiBpZiB0aGUgU1ZOIGJyYW5jaCBpcyBhIGNvcHkgb2YgYSByZXZpc2lvbiB0aGF0IHdhcyBub3QgZmV0Y2hlZCBieSAnZ2l0CiBzdm4nIChlLmcuIGJlY2F1c2UgaXQgaXMgYW4gb2xkIHJldmlzaW9uIHRoYXQgd2FzIHNraXBwZWQgd2l0aAotJy0tcmV2aXNpb24nKSwgb3IgaWYgaW4gU1ZOIGEgZGlyZWN0b3J5IHdhcyBjb3BpZWQgdGhhdCBpcyBub3QgdHJhY2tlZAorYC0tcmV2aXNpb25gKSwgb3IgaWYgaW4gU1ZOIGEgZGlyZWN0b3J5IHdhcyBjb3BpZWQgdGhhdCBpcyBub3QgdHJhY2tlZAogYnkgJ2dpdCBzdm4nIChzdWNoIGFzIGEgYnJhbmNoIHRoYXQgaXMgbm90IHRyYWNrZWQgYXQgYWxsLCBvciBhCiBzdWJkaXJlY3Rvcnkgb2YgYSB0cmFja2VkIGJyYW5jaCkuIEluIHRoZXNlIGNhc2VzLCAnZ2l0IHN2bicgd2lsbCBzdGlsbAogY3JlYXRlIGEgR2l0IGJyYW5jaCwgYnV0IGluc3RlYWQgb2YgdXNpbmcgYW4gZXhpc3RpbmcgR2l0IGNvbW1pdCBhcyB0aGUKQEAgLTk4MiwxMiArOTk5LDEyIEBACiBjb3B5IG9mIGEgY29tcGxldGUgcmVwb3NpdG9yeSwgZm9yIHByb2plY3RzIHdpdGggbWFueSBicmFuY2hlcyBpdCB3aWxsCiBsZWFkIHRvIGEgd29ya2luZyBjb3B5IG1hbnkgdGltZXMgbGFyZ2VyIHRoYW4ganVzdCB0aGUgdHJ1bmsuIFRodXMgZm9yCiBwcm9qZWN0cyB1c2luZyB0aGUgc3RhbmRhcmQgZGlyZWN0b3J5IHN0cnVjdHVyZSAodHJ1bmsvYnJhbmNoZXMvdGFncyksCi1pdCBpcyByZWNvbW1lbmRlZCB0byBjbG9uZSB3aXRoIG9wdGlvbiAnLS1zdGRsYXlvdXQnLiBJZiB0aGUgcHJvamVjdAoraXQgaXMgcmVjb21tZW5kZWQgdG8gY2xvbmUgd2l0aCBvcHRpb24gYC0tc3RkbGF5b3V0YC4gSWYgdGhlIHByb2plY3QKIHVzZXMgYSBub24tc3RhbmRhcmQgc3RydWN0dXJlLCBhbmQvb3IgaWYgYnJhbmNoZXMgYW5kIHRhZ3MgYXJlIG5vdAogcmVxdWlyZWQsIGl0IGlzIGVhc2llc3QgdG8gb25seSBjbG9uZSBvbmUgZGlyZWN0b3J5ICh0eXBpY2FsbHkgdHJ1bmspLAogd2l0aG91dCBnaXZpbmcgYW55IHJlcG9zaXRvcnkgbGF5b3V0IG9wdGlvbnMuICBJZiB0aGUgZnVsbCBoaXN0b3J5IHdpdGgKLWJyYW5jaGVzIGFuZCB0YWdzIGlzIHJlcXVpcmVkLCB0aGUgb3B0aW9ucyAnLS10cnVuaycgLyAnLS1icmFuY2hlcycgLwotJy0tdGFncycgbXVzdCBiZSB1c2VkLgorYnJhbmNoZXMgYW5kIHRhZ3MgaXMgcmVxdWlyZWQsIHRoZSBvcHRpb25zIGAtLXRydW5rYCAvIGAtLWJyYW5jaGVzYCAvCitgLS10YWdzYCBtdXN0IGJlIHVzZWQuCiAKIFdoZW4gdXNpbmcgbXVsdGlwbGUgLS1icmFuY2hlcyBvciAtLXRhZ3MsICdnaXQgc3ZuJyBkb2VzIG5vdCBhdXRvbWF0aWNhbGx5CiBoYW5kbGUgbmFtZSBjb2xsaXNpb25zIChmb3IgZXhhbXBsZSwgaWYgdHdvIGJyYW5jaGVzIGZyb20gZGlmZmVyZW50IHBhdGhzIGhhdmUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXRhZy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC10YWcudHh0CmluZGV4IGFiYWI0ODEuLjgwMDE5YzUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXRhZy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtdGFnLnR4dApAQCAtNzgsNyArNzgsNyBAQAogCiAtdjo6CiAtLXZlcmlmeTo6Ci0JVmVyaWZ5IHRoZSBncGcgc2lnbmF0dXJlIG9mIHRoZSBnaXZlbiB0YWcgbmFtZXMuCisJVmVyaWZ5IHRoZSBHUEcgc2lnbmF0dXJlIG9mIHRoZSBnaXZlbiB0YWcgbmFtZXMuCiAKIC1uPG51bT46OgogCTxudW0+IHNwZWNpZmllcyBob3cgbWFueSBsaW5lcyBmcm9tIHRoZSBhbm5vdGF0aW9uLCBpZiBhbnksCkBAIC0xMDQsNyArMTA0LDcgQEAKIAlvcmRlciBjYW4gYWxzbyBiZSBhZmZlY3RlZCBieSB0aGUKIAkidmVyc2lvbnNvcnQucHJlcmVsZWFzZVN1ZmZpeCIgY29uZmlndXJhdGlvbiB2YXJpYWJsZS4KIAlUaGUga2V5cyBzdXBwb3J0ZWQgYXJlIHRoZSBzYW1lIGFzIHRob3NlIGluIGBnaXQgZm9yLWVhY2gtcmVmYC4KLQlTb3J0IG9yZGVyIGRlZmF1bHRzIHRvIHRoZSB2YWx1ZSBjb25maWd1cmVkIGZvciB0aGUgJ3RhZy5zb3J0JworCVNvcnQgb3JkZXIgZGVmYXVsdHMgdG8gdGhlIHZhbHVlIGNvbmZpZ3VyZWQgZm9yIHRoZSBgdGFnLnNvcnRgCiAJdmFyaWFibGUgaWYgaXQgZXhpc3RzLCBvciBsZXhpY29ncmFwaGljIG9yZGVyIG90aGVyd2lzZS4gU2VlCiAJbGlua2dpdDpnaXQtY29uZmlnWzFdLgogCkBAIC0xNjcsNyArMTY3LDcgQEAKIAogLS1bbm8tXW1lcmdlZCBbPGNvbW1pdD5dOjoKIAlPbmx5IGxpc3QgdGFncyB3aG9zZSB0aXBzIGFyZSByZWFjaGFibGUsIG9yIG5vdCByZWFjaGFibGUKLQlpZiAnLS1uby1tZXJnZWQnIGlzIHVzZWQsIGZyb20gdGhlIHNwZWNpZmllZCBjb21taXQgKCdIRUFEJworCWlmIGAtLW5vLW1lcmdlZGAgaXMgdXNlZCwgZnJvbSB0aGUgc3BlY2lmaWVkIGNvbW1pdCAoYEhFQURgCiAJaWYgbm90IHNwZWNpZmllZCkuCiAKIENPTkZJR1VSQVRJT04KQEAgLTI1Myw5ICsyNTMsOCBAQAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCiBJZiB5b3UgYXJlIGZvbGxvd2luZyBzb21lYm9keSBlbHNlJ3MgdHJlZSwgeW91IGFyZSBtb3N0IGxpa2VseQotdXNpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIChgcmVmcy9oZWFkcy9vcmlnaW5gIGluIHRyYWRpdGlvbmFsCi1sYXlvdXQsIG9yIGByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlcmAgaW4gdGhlIHNlcGFyYXRlLXJlbW90ZQotbGF5b3V0KS4gIFlvdSB1c3VhbGx5IHdhbnQgdGhlIHRhZ3MgZnJvbSB0aGUgb3RoZXIgZW5kLgordXNpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIChlZy4gYHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyYCkuCitZb3UgdXN1YWxseSB3YW50IHRoZSB0YWdzIGZyb20gdGhlIG90aGVyIGVuZC4KIAogT24gdGhlIG90aGVyIGhhbmQsIGlmIHlvdSBhcmUgZmV0Y2hpbmcgYmVjYXVzZSB5b3Ugd291bGQgd2FudCBhCiBvbmUtc2hvdCBtZXJnZSBmcm9tIHNvbWVib2R5IGVsc2UsIHlvdSB0eXBpY2FsbHkgZG8gbm90IHdhbnQgdG8KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXVucGFjay1vYmplY3RzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXVucGFjay1vYmplY3RzLnR4dAppbmRleCAzZTg4N2QxLi5iM2RlNTBkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC11bnBhY2stb2JqZWN0cy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtdW5wYWNrLW9iamVjdHMudHh0CkBAIC00NCw2ICs0NCw5IEBACiAtLXN0cmljdDo6CiAJRG9uJ3Qgd3JpdGUgb2JqZWN0cyB3aXRoIGJyb2tlbiBjb250ZW50IG9yIGxpbmtzLgogCistLW1heC1pbnB1dC1zaXplPTxzaXplPjo6CisJRGllLCBpZiB0aGUgcGFjayBpcyBsYXJnZXIgdGhhbiA8c2l6ZT4uCisKIEdJVAogLS0tCiBQYXJ0IG9mIHRoZSBsaW5rZ2l0OmdpdFsxXSBzdWl0ZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtdXBkYXRlLWluZGV4LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXVwZGF0ZS1pbmRleC50eHQKaW5kZXggYzZjYmVkMS4uNzM4NmM5MyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtdXBkYXRlLWluZGV4LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC11cGRhdGUtaW5kZXgudHh0CkBAIC0xMDIsNyArMTAyLDcgQEAKIHlvdSB3aWxsIG5lZWQgdG8gaGFuZGxlIHRoZSBzaXR1YXRpb24gbWFudWFsbHkuCiAKIC0tcmVhbGx5LXJlZnJlc2g6OgotCUxpa2UgJy0tcmVmcmVzaCcsIGJ1dCBjaGVja3Mgc3RhdCBpbmZvcm1hdGlvbiB1bmNvbmRpdGlvbmFsbHksCisJTGlrZSBgLS1yZWZyZXNoYCwgYnV0IGNoZWNrcyBzdGF0IGluZm9ybWF0aW9uIHVuY29uZGl0aW9uYWxseSwKIAl3aXRob3V0IHJlZ2FyZCB0byB0aGUgImFzc3VtZSB1bmNoYW5nZWQiIHNldHRpbmcuCiAKIC0tW25vLV1za2lwLXdvcmt0cmVlOjoKQEAgLTIxMSw3ICsyMTEsNyBAQAogCiBVc2luZyAtLXJlZnJlc2gKIC0tLS0tLS0tLS0tLS0tLQotJy0tcmVmcmVzaCcgZG9lcyBub3QgY2FsY3VsYXRlIGEgbmV3IHNoYTEgZmlsZSBvciBicmluZyB0aGUgaW5kZXgKK2AtLXJlZnJlc2hgIGRvZXMgbm90IGNhbGN1bGF0ZSBhIG5ldyBzaGExIGZpbGUgb3IgYnJpbmcgdGhlIGluZGV4CiB1cC10by1kYXRlIGZvciBtb2RlL2NvbnRlbnQgY2hhbmdlcy4gQnV0IHdoYXQgaXQgKmRvZXMqIGRvIGlzIHRvCiAicmUtbWF0Y2giIHRoZSBzdGF0IGluZm9ybWF0aW9uIG9mIGEgZmlsZSB3aXRoIHRoZSBpbmRleCwgc28gdGhhdCB5b3UKIGNhbiByZWZyZXNoIHRoZSBpbmRleCBmb3IgYSBmaWxlIHRoYXQgaGFzbid0IGJlZW4gY2hhbmdlZCBidXQgd2hlcmUKQEAgLTIyMiw3ICsyMjIsNyBAQAogCiBVc2luZyAtLWNhY2hlaW5mbyBvciAtLWluZm8tb25seQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSctLWNhY2hlaW5mbycgaXMgdXNlZCB0byByZWdpc3RlciBhIGZpbGUgdGhhdCBpcyBub3QgaW4gdGhlCitgLS1jYWNoZWluZm9gIGlzIHVzZWQgdG8gcmVnaXN0ZXIgYSBmaWxlIHRoYXQgaXMgbm90IGluIHRoZQogY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4gIFRoaXMgaXMgdXNlZnVsIGZvciBtaW5pbXVtLWNoZWNrb3V0CiBtZXJnaW5nLgogCkBAIC0yMzIsMTIgKzIzMiwxMiBAQAogJCBnaXQgdXBkYXRlLWluZGV4IC0tY2FjaGVpbmZvIDxtb2RlPiw8c2hhMT4sPHBhdGg+CiAtLS0tLS0tLS0tLS0tLS0tCiAKLSctLWluZm8tb25seScgaXMgdXNlZCB0byByZWdpc3RlciBmaWxlcyB3aXRob3V0IHBsYWNpbmcgdGhlbSBpbiB0aGUgb2JqZWN0CitgLS1pbmZvLW9ubHlgIGlzIHVzZWQgdG8gcmVnaXN0ZXIgZmlsZXMgd2l0aG91dCBwbGFjaW5nIHRoZW0gaW4gdGhlIG9iamVjdAogZGF0YWJhc2UuICBUaGlzIGlzIHVzZWZ1bCBmb3Igc3RhdHVzLW9ubHkgcmVwb3NpdG9yaWVzLgogCi1Cb3RoICctLWNhY2hlaW5mbycgYW5kICctLWluZm8tb25seScgYmVoYXZlIHNpbWlsYXJseTogdGhlIGluZGV4IGlzIHVwZGF0ZWQKLWJ1dCB0aGUgb2JqZWN0IGRhdGFiYXNlIGlzbid0LiAgJy0tY2FjaGVpbmZvJyBpcyB1c2VmdWwgd2hlbiB0aGUgb2JqZWN0IGlzCi1pbiB0aGUgZGF0YWJhc2UgYnV0IHRoZSBmaWxlIGlzbid0IGF2YWlsYWJsZSBsb2NhbGx5LiAgJy0taW5mby1vbmx5JyBpcworQm90aCBgLS1jYWNoZWluZm9gIGFuZCBgLS1pbmZvLW9ubHlgIGJlaGF2ZSBzaW1pbGFybHk6IHRoZSBpbmRleCBpcyB1cGRhdGVkCitidXQgdGhlIG9iamVjdCBkYXRhYmFzZSBpc24ndC4gIGAtLWNhY2hlaW5mb2AgaXMgdXNlZnVsIHdoZW4gdGhlIG9iamVjdCBpcworaW4gdGhlIGRhdGFiYXNlIGJ1dCB0aGUgZmlsZSBpc24ndCBhdmFpbGFibGUgbG9jYWxseS4gIGAtLWluZm8tb25seWAgaXMKIHVzZWZ1bCB3aGVuIHRoZSBmaWxlIGlzIGF2YWlsYWJsZSwgYnV0IHlvdSBkbyBub3Qgd2lzaCB0byB1cGRhdGUgdGhlCiBvYmplY3QgZGF0YWJhc2UuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXVwbG9hZC1wYWNrLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXVwbG9hZC1wYWNrLnR4dAppbmRleCAwYWJjODA2Li44MjJhZDU5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC11cGxvYWQtcGFjay50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtdXBsb2FkLXBhY2sudHh0CkBAIC05LDggKzksOCBAQAogU1lOT1BTSVMKIC0tLS0tLS0tCiBbdmVyc2VdCi0nZ2l0LXVwbG9hZC1wYWNrJyBbLS1zdHJpY3RdIFstLXRpbWVvdXQ9PG4+XSA8ZGlyZWN0b3J5PgotCisnZ2l0LXVwbG9hZC1wYWNrJyBbLS1bbm8tXXN0cmljdF0gWy0tdGltZW91dD08bj5dIFstLXN0YXRlbGVzcy1ycGNdCisJCSAgWy0tYWR2ZXJ0aXNlLXJlZnNdIDxkaXJlY3Rvcnk+CiBERVNDUklQVElPTgogLS0tLS0tLS0tLS0KIEludm9rZWQgYnkgJ2dpdCBmZXRjaC1wYWNrJywgbGVhcm5zIHdoYXQKQEAgLTI1LDEyICsyNSwyMiBAQAogT1BUSU9OUwogLS0tLS0tLQogCi0tLXN0cmljdDo6CistLVtuby1dc3RyaWN0OjoKIAlEbyBub3QgdHJ5IDxkaXJlY3Rvcnk+Ly5naXQvIGlmIDxkaXJlY3Rvcnk+IGlzIG5vIEdpdCBkaXJlY3RvcnkuCiAKIC0tdGltZW91dD08bj46OgogCUludGVycnVwdCB0cmFuc2ZlciBhZnRlciA8bj4gc2Vjb25kcyBvZiBpbmFjdGl2aXR5LgogCistLXN0YXRlbGVzcy1ycGM6OgorCVBlcmZvcm0gb25seSBhIHNpbmdsZSByZWFkLXdyaXRlIGN5Y2xlIHdpdGggc3RkaW4gYW5kIHN0ZG91dC4KKwlUaGlzIGZpdHMgd2l0aCB0aGUgSFRUUCBQT1NUIHJlcXVlc3QgcHJvY2Vzc2luZyBtb2RlbCB3aGVyZQorCWEgcHJvZ3JhbSBtYXkgcmVhZCB0aGUgcmVxdWVzdCwgd3JpdGUgYSByZXNwb25zZSwgYW5kIG11c3QgZXhpdC4KKworLS1hZHZlcnRpc2UtcmVmczo6CisJT25seSB0aGUgaW5pdGlhbCByZWYgYWR2ZXJ0aXNlbWVudCBpcyBvdXRwdXQsIGFuZCB0aGUgcHJvZ3JhbSBleGl0cworCWltbWVkaWF0ZWx5LiBUaGlzIGZpdHMgd2l0aCB0aGUgSFRUUCBHRVQgcmVxdWVzdCBtb2RlbCwgd2hlcmUKKwlubyByZXF1ZXN0IGNvbnRlbnQgaXMgcmVjZWl2ZWQgYnV0IGEgcmVzcG9uc2UgbXVzdCBiZSBwcm9kdWNlZC4KKwogPGRpcmVjdG9yeT46OgogCVRoZSByZXBvc2l0b3J5IHRvIHN5bmMgZnJvbS4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtdmVyaWZ5LWNvbW1pdC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC12ZXJpZnktY29tbWl0LnR4dAppbmRleCBlY2Y0ZGExLi45MjA5N2Y2IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC12ZXJpZnktY29tbWl0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC12ZXJpZnktY29tbWl0LnR4dApAQCAtMTIsNyArMTIsNyBAQAogCiBERVNDUklQVElPTgogLS0tLS0tLS0tLS0KLVZhbGlkYXRlcyB0aGUgZ3BnIHNpZ25hdHVyZSBjcmVhdGVkIGJ5ICdnaXQgY29tbWl0IC1TJy4KK1ZhbGlkYXRlcyB0aGUgR1BHIHNpZ25hdHVyZSBjcmVhdGVkIGJ5ICdnaXQgY29tbWl0IC1TJy4KIAogT1BUSU9OUwogLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtd2ViLS1icm93c2UudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtd2ViLS1icm93c2UudHh0CmluZGV4IDE2ZWRlNWIuLjJkNmIwOWEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXdlYi0tYnJvd3NlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC13ZWItLWJyb3dzZS50eHQKQEAgLTYyLDE0ICs2MiwxNCBAQAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAogVGhlIHdlYiBicm93c2VyIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgYSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHBhc3NlZAotd2l0aCB0aGUgLWMgKG9yIC0tY29uZmlnKSBjb21tYW5kLWxpbmUgb3B0aW9uLCBvciB0aGUgJ3dlYi5icm93c2VyJword2l0aCB0aGUgLWMgKG9yIC0tY29uZmlnKSBjb21tYW5kLWxpbmUgb3B0aW9uLCBvciB0aGUgYHdlYi5icm93c2VyYAogY29uZmlndXJhdGlvbiB2YXJpYWJsZSBpZiB0aGUgZm9ybWVyIGlzIG5vdCB1c2VkLgogCiBicm93c2VyLjx0b29sPi5wYXRoCiB+fn5+fn5+fn5+fn5+fn5+fn5+CiAKIFlvdSBjYW4gZXhwbGljaXRseSBwcm92aWRlIGEgZnVsbCBwYXRoIHRvIHlvdXIgcHJlZmVycmVkIGJyb3dzZXIgYnkKLXNldHRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgJ2Jyb3dzZXIuPHRvb2w+LnBhdGgnLiBGb3IgZXhhbXBsZSwKK3NldHRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGJyb3dzZXIuPHRvb2w+LnBhdGhgLiBGb3IgZXhhbXBsZSwKIHlvdSBjYW4gY29uZmlndXJlIHRoZSBhYnNvbHV0ZSBwYXRoIHRvIGZpcmVmb3ggYnkgc2V0dGluZwogJ2Jyb3dzZXIuZmlyZWZveC5wYXRoJy4gT3RoZXJ3aXNlLCAnZ2l0IHdlYntsaXRkZH1icm93c2UnIGFzc3VtZXMgdGhlIHRvb2wKIGlzIGF2YWlsYWJsZSBpbiBQQVRILgpAQCAtNzksNyArNzksNyBAQAogCiBXaGVuIHRoZSBicm93c2VyLCBzcGVjaWZpZWQgYnkgb3B0aW9ucyBvciBjb25maWd1cmF0aW9uIHZhcmlhYmxlcywgaXMKIG5vdCBhbW9uZyB0aGUgc3VwcG9ydGVkIG9uZXMsIHRoZW4gdGhlIGNvcnJlc3BvbmRpbmcKLSdicm93c2VyLjx0b29sPi5jbWQnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgd2lsbCBiZSBsb29rZWQgdXAuIElmIHRoaXMKK2Bicm93c2VyLjx0b29sPi5jbWRgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgd2lsbCBiZSBsb29rZWQgdXAuIElmIHRoaXMKIHZhcmlhYmxlIGV4aXN0cyB0aGVuICdnaXQgd2Vie2xpdGRkfWJyb3dzZScgd2lsbCB0cmVhdCB0aGUgc3BlY2lmaWVkIHRvb2wKIGFzIGEgY3VzdG9tIGNvbW1hbmQgYW5kIHdpbGwgdXNlIGEgc2hlbGwgZXZhbCB0byBydW4gdGhlIGNvbW1hbmQgd2l0aAogdGhlIFVSTHMgcGFzc2VkIGFzIGFyZ3VtZW50cy4KQEAgLTExMCw3ICsxMTAsNyBAQAogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAKIE5vdGUgdGhhdCB0aGVzZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBzaG91bGQgcHJvYmFibHkgYmUgc2V0IHVzaW5nCi10aGUgJy0tZ2xvYmFsJyBmbGFnLCBmb3IgZXhhbXBsZSBsaWtlIHRoaXM6Cit0aGUgYC0tZ2xvYmFsYCBmbGFnLCBmb3IgZXhhbXBsZSBsaWtlIHRoaXM6CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogJCBnaXQgY29uZmlnIC0tZ2xvYmFsIHdlYi5icm93c2VyIGZpcmVmb3gKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXdvcmt0cmVlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXdvcmt0cmVlLnR4dAppbmRleCBjNjIyMzQ1Li5lMjU3YzE5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC13b3JrdHJlZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtd29ya3RyZWUudHh0CkBAIC0xMCw4ICsxMCwxMCBAQAogLS0tLS0tLS0KIFt2ZXJzZV0KICdnaXQgd29ya3RyZWUgYWRkJyBbLWZdIFstLWRldGFjaF0gWy0tY2hlY2tvdXRdIFstYiA8bmV3LWJyYW5jaD5dIDxwYXRoPiBbPGJyYW5jaD5dCi0nZ2l0IHdvcmt0cmVlIHBydW5lJyBbLW5dIFstdl0gWy0tZXhwaXJlIDxleHBpcmU+XQogJ2dpdCB3b3JrdHJlZSBsaXN0JyBbLS1wb3JjZWxhaW5dCisnZ2l0IHdvcmt0cmVlIGxvY2snIFstLXJlYXNvbiA8c3RyaW5nPl0gPHdvcmt0cmVlPgorJ2dpdCB3b3JrdHJlZSBwcnVuZScgWy1uXSBbLXZdIFstLWV4cGlyZSA8ZXhwaXJlPl0KKydnaXQgd29ya3RyZWUgdW5sb2NrJyA8d29ya3RyZWU+CiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQpAQCAtMzgsOSArNDAsOCBAQAogCiBJZiBhIGxpbmtlZCB3b3JraW5nIHRyZWUgaXMgc3RvcmVkIG9uIGEgcG9ydGFibGUgZGV2aWNlIG9yIG5ldHdvcmsgc2hhcmUKIHdoaWNoIGlzIG5vdCBhbHdheXMgbW91bnRlZCwgeW91IGNhbiBwcmV2ZW50IGl0cyBhZG1pbmlzdHJhdGl2ZSBmaWxlcyBmcm9tCi1iZWluZyBwcnVuZWQgYnkgY3JlYXRpbmcgYSBmaWxlIG5hbWVkICdsb2NrZWQnIGFsb25nc2lkZSB0aGUgb3RoZXIKLWFkbWluaXN0cmF0aXZlIGZpbGVzLCBvcHRpb25hbGx5IGNvbnRhaW5pbmcgYSBwbGFpbiB0ZXh0IHJlYXNvbiB0aGF0Ci1wcnVuaW5nIHNob3VsZCBiZSBzdXBwcmVzc2VkLiBTZWUgc2VjdGlvbiAiREVUQUlMUyIgZm9yIG1vcmUgaW5mb3JtYXRpb24uCitiZWluZyBwcnVuZWQgYnkgaXNzdWluZyB0aGUgYGdpdCB3b3JrdHJlZSBsb2NrYCBjb21tYW5kLCBvcHRpb25hbGx5CitzcGVjaWZ5aW5nIGAtLXJlYXNvbmAgdG8gZXhwbGFpbiB3aHkgdGhlIHdvcmtpbmcgdHJlZSBpcyBsb2NrZWQuCiAKIENPTU1BTkRTCiAtLS0tLS0tLQpAQCAtNDgsMTYgKzQ5LDEzIEBACiAKIENyZWF0ZSBgPHBhdGg+YCBhbmQgY2hlY2tvdXQgYDxicmFuY2g+YCBpbnRvIGl0LiBUaGUgbmV3IHdvcmtpbmcgZGlyZWN0b3J5CiBpcyBsaW5rZWQgdG8gdGhlIGN1cnJlbnQgcmVwb3NpdG9yeSwgc2hhcmluZyBldmVyeXRoaW5nIGV4Y2VwdCB3b3JraW5nCi1kaXJlY3Rvcnkgc3BlY2lmaWMgZmlsZXMgc3VjaCBhcyBIRUFELCBpbmRleCwgZXRjLgorZGlyZWN0b3J5IHNwZWNpZmljIGZpbGVzIHN1Y2ggYXMgSEVBRCwgaW5kZXgsIGV0Yy4gYC1gIG1heSBhbHNvIGJlCitzcGVjaWZpZWQgYXMgYDxicmFuY2g+YDsgaXQgaXMgc3lub255bW91cyB3aXRoIGBAey0xfWAuCiArCiBJZiBgPGJyYW5jaD5gIGlzIG9taXR0ZWQgYW5kIG5laXRoZXIgYC1iYCBub3IgYC1CYCBub3IgYC0tZGV0YWNoZWRgIHVzZWQsCiB0aGVuLCBhcyBhIGNvbnZlbmllbmNlLCBhIG5ldyBicmFuY2ggYmFzZWQgYXQgSEVBRCBpcyBjcmVhdGVkIGF1dG9tYXRpY2FsbHksCiBhcyBpZiBgLWIgJChiYXNlbmFtZSA8cGF0aD4pYCB3YXMgc3BlY2lmaWVkLgogCi1wcnVuZTo6Ci0KLVBydW5lIHdvcmtpbmcgdHJlZSBpbmZvcm1hdGlvbiBpbiAkR0lUX0RJUi93b3JrdHJlZXMuCi0KIGxpc3Q6OgogCiBMaXN0IGRldGFpbHMgb2YgZWFjaCB3b3JrdHJlZS4gIFRoZSBtYWluIHdvcmt0cmVlIGlzIGxpc3RlZCBmaXJzdCwgZm9sbG93ZWQgYnkKQEAgLTY1LDYgKzYzLDIyIEBACiBiYXJlLCB0aGUgcmV2aXNpb24gY3VycmVudGx5IGNoZWNrZWQgb3V0LCBhbmQgdGhlIGJyYW5jaCBjdXJyZW50bHkgY2hlY2tlZCBvdXQKIChvciAnZGV0YWNoZWQgSEVBRCcgaWYgbm9uZSkuCiAKK2xvY2s6OgorCitJZiBhIHdvcmtpbmcgdHJlZSBpcyBvbiBhIHBvcnRhYmxlIGRldmljZSBvciBuZXR3b3JrIHNoYXJlIHdoaWNoCitpcyBub3QgYWx3YXlzIG1vdW50ZWQsIGxvY2sgaXQgdG8gcHJldmVudCBpdHMgYWRtaW5pc3RyYXRpdmUKK2ZpbGVzIGZyb20gYmVpbmcgcHJ1bmVkIGF1dG9tYXRpY2FsbHkuIFRoaXMgYWxzbyBwcmV2ZW50cyBpdCBmcm9tCitiZWluZyBtb3ZlZCBvciBkZWxldGVkLiBPcHRpb25hbGx5LCBzcGVjaWZ5IGEgcmVhc29uIGZvciB0aGUgbG9jaword2l0aCBgLS1yZWFzb25gLgorCitwcnVuZTo6CisKK1BydW5lIHdvcmtpbmcgdHJlZSBpbmZvcm1hdGlvbiBpbiAkR0lUX0RJUi93b3JrdHJlZXMuCisKK3VubG9jazo6CisKK1VubG9jayBhIHdvcmtpbmcgdHJlZSwgYWxsb3dpbmcgaXQgdG8gYmUgcHJ1bmVkLCBtb3ZlZCBvciBkZWxldGVkLgorCiBPUFRJT05TCiAtLS0tLS0tCiAKQEAgLTExMCw2ICsxMjQsMTggQEAKIC0tZXhwaXJlIDx0aW1lPjo6CiAJV2l0aCBgcHJ1bmVgLCBvbmx5IGV4cGlyZSB1bnVzZWQgd29ya2luZyB0cmVlcyBvbGRlciB0aGFuIDx0aW1lPi4KIAorLS1yZWFzb24gPHN0cmluZz46OgorCVdpdGggYGxvY2tgLCBhbiBleHBsYW5hdGlvbiB3aHkgdGhlIHdvcmtpbmcgdHJlZSBpcyBsb2NrZWQuCisKKzx3b3JrdHJlZT46OgorCVdvcmtpbmcgdHJlZXMgY2FuIGJlIGlkZW50aWZpZWQgYnkgcGF0aCwgZWl0aGVyIHJlbGF0aXZlIG9yCisJYWJzb2x1dGUuCisrCitJZiB0aGUgbGFzdCBwYXRoIGNvbXBvbmVudHMgaW4gdGhlIHdvcmtpbmcgdHJlZSdzIHBhdGggaXMgdW5pcXVlIGFtb25nCit3b3JraW5nIHRyZWVzLCBpdCBjYW4gYmUgdXNlZCB0byBpZGVudGlmeSB3b3JrdHJlZXMuIEZvciBleGFtcGxlIGlmCit5b3Ugb25seSBoYXZlIHR3byB3b3JraW5nIHRyZWVzLCBhdCAiL2FiYy9kZWYvZ2hpIiBhbmQgIi9hYmMvZGVmL2dnZyIsCit0aGVuICJnaGkiIG9yICJkZWYvZ2hpIiBpcyBlbm91Z2ggdG8gcG9pbnQgdG8gdGhlIGZvcm1lciB3b3JraW5nIHRyZWUuCisKIERFVEFJTFMKIC0tLS0tLS0KIEVhY2ggbGlua2VkIHdvcmtpbmcgdHJlZSBoYXMgYSBwcml2YXRlIHN1Yi1kaXJlY3RvcnkgaW4gdGhlIHJlcG9zaXRvcnkncwpAQCAtMTUwLDcgKzE3Niw4IEBACiAKIFRvIHByZXZlbnQgYSAkR0lUX0RJUi93b3JrdHJlZXMgZW50cnkgZnJvbSBiZWluZyBwcnVuZWQgKHdoaWNoCiBjYW4gYmUgdXNlZnVsIGluIHNvbWUgc2l0dWF0aW9ucywgc3VjaCBhcyB3aGVuIHRoZQotZW50cnkncyB3b3JraW5nIHRyZWUgaXMgc3RvcmVkIG9uIGEgcG9ydGFibGUgZGV2aWNlKSwgYWRkIGEgZmlsZSBuYW1lZAorZW50cnkncyB3b3JraW5nIHRyZWUgaXMgc3RvcmVkIG9uIGEgcG9ydGFibGUgZGV2aWNlKSwgdXNlIHRoZQorYGdpdCB3b3JrdHJlZSBsb2NrYCBjb21tYW5kLCB3aGljaCBhZGRzIGEgZmlsZSBuYW1lZAogJ2xvY2tlZCcgdG8gdGhlIGVudHJ5J3MgZGlyZWN0b3J5LiBUaGUgZmlsZSBjb250YWlucyB0aGUgcmVhc29uIGluCiBwbGFpbiB0ZXh0LiBGb3IgZXhhbXBsZSwgaWYgYSBsaW5rZWQgd29ya2luZyB0cmVlJ3MgYC5naXRgIGZpbGUgcG9pbnRzCiB0byBgL3BhdGgvbWFpbi8uZ2l0L3dvcmt0cmVlcy90ZXN0LW5leHRgIHRoZW4gYSBmaWxlIG5hbWVkCkBAIC0yMjYsOCArMjUzLDYgQEAKIC0gYHJlbW92ZWAgdG8gcmVtb3ZlIGEgbGlua2VkIHdvcmtpbmcgdHJlZSBhbmQgaXRzIGFkbWluaXN0cmF0aXZlIGZpbGVzIChhbmQKICAgd2FybiBpZiB0aGUgd29ya2luZyB0cmVlIGlzIGRpcnR5KQogLSBgbXZgIHRvIG1vdmUgb3IgcmVuYW1lIGEgd29ya2luZyB0cmVlIGFuZCB1cGRhdGUgaXRzIGFkbWluaXN0cmF0aXZlIGZpbGVzCi0tIGBsb2NrYCB0byBwcmV2ZW50IGF1dG9tYXRpYyBwcnVuaW5nIG9mIGFkbWluaXN0cmF0aXZlIGZpbGVzIChmb3IgaW5zdGFuY2UsCi0gIGZvciBhIHdvcmtpbmcgdHJlZSBvbiBhIHBvcnRhYmxlIGRldmljZSkKIAogR0lUCiAtLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LnR4dAppbmRleCA1NDkwZDNjLi5hYjcyMTVlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQudHh0CkBAIC0xMyw2ICsxMyw3IEBACiAgICAgWy0tZXhlYy1wYXRoWz08cGF0aD5dXSBbLS1odG1sLXBhdGhdIFstLW1hbi1wYXRoXSBbLS1pbmZvLXBhdGhdCiAgICAgWy1wfC0tcGFnaW5hdGV8LS1uby1wYWdlcl0gWy0tbm8tcmVwbGFjZS1vYmplY3RzXSBbLS1iYXJlXQogICAgIFstLWdpdC1kaXI9PHBhdGg+XSBbLS13b3JrLXRyZWU9PHBhdGg+XSBbLS1uYW1lc3BhY2U9PG5hbWU+XQorICAgIFstLXN1cGVyLXByZWZpeD08cGF0aD5dCiAgICAgPGNvbW1hbmQ+IFs8YXJncz5dCiAKIERFU0NSSVBUSU9OCkBAIC0zMSw4ICszMiw4IEBACiBpbmRpdmlkdWFsIEdpdCBjb21tYW5kcyB3aXRoICJnaXQgaGVscCBjb21tYW5kIi4gIGxpbmtnaXQ6Z2l0Y2xpWzddCiBtYW51YWwgcGFnZSBnaXZlcyB5b3UgYW4gb3ZlcnZpZXcgb2YgdGhlIGNvbW1hbmQtbGluZSBjb21tYW5kIHN5bnRheC4KIAotRm9ybWF0dGVkIGFuZCBoeXBlcmxpbmtlZCB2ZXJzaW9uIG9mIHRoZSBsYXRlc3QgR2l0IGRvY3VtZW50YXRpb24KLWNhbiBiZSB2aWV3ZWQgYXQgYGh0dHA6Ly9naXQtaHRtbGRvY3MuZ29vZ2xlY29kZS5jb20vZ2l0L2dpdC5odG1sYC4KK0EgZm9ybWF0dGVkIGFuZCBoeXBlcmxpbmtlZCBjb3B5IG9mIHRoZSBsYXRlc3QgR2l0IGRvY3VtZW50YXRpb24KK2NhbiBiZSB2aWV3ZWQgYXQgYGh0dHBzOi8vZ2l0LmdpdGh1Yi5pby9odG1sZG9jcy9naXQuaHRtbGAuCiAKIGlmZGVmOjpzdGFsZW5vdGVzW10KIFtOT1RFXQpAQCAtNDMsOSArNDQsMTkgQEAKIGJyYW5jaCBvZiB0aGUgYGdpdC5naXRgIHJlcG9zaXRvcnkuCiBEb2N1bWVudGF0aW9uIGZvciBvbGRlciByZWxlYXNlcyBhcmUgYXZhaWxhYmxlIGhlcmU6CiAKLSogbGluazp2Mi45LjAvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAyLjldCisqIGxpbms6djIuMTAuMi9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDIuMTAuMl0KIAogKiByZWxlYXNlIG5vdGVzIGZvcgorICBsaW5rOlJlbE5vdGVzLzIuMTAuMi50eHRbMi4xMC4yXSwKKyAgbGluazpSZWxOb3Rlcy8yLjEwLjEudHh0WzIuMTAuMV0sCisgIGxpbms6UmVsTm90ZXMvMi4xMC4wLnR4dFsyLjEwXS4KKworKiBsaW5rOnYyLjkuMy9naXQuaHRtbFtkb2N1bWVudGF0aW9uIGZvciByZWxlYXNlIDIuOS4zXQorCisqIHJlbGVhc2Ugbm90ZXMgZm9yCisgIGxpbms6UmVsTm90ZXMvMi45LjMudHh0WzIuOS4zXSwKKyAgbGluazpSZWxOb3Rlcy8yLjkuMi50eHRbMi45LjJdLAorICBsaW5rOlJlbE5vdGVzLzIuOS4xLnR4dFsyLjkuMV0sCiAgIGxpbms6UmVsTm90ZXMvMi45LjAudHh0WzIuOV0uCiAKICogbGluazp2Mi44LjQvZ2l0Lmh0bWxbZG9jdW1lbnRhdGlvbiBmb3IgcmVsZWFzZSAyLjguNF0KQEAgLTUxMyw3ICs1MjQsNyBAQAogCiAtLWhlbHA6OgogCVByaW50cyB0aGUgc3lub3BzaXMgYW5kIGEgbGlzdCBvZiB0aGUgbW9zdCBjb21tb25seSB1c2VkCi0JY29tbWFuZHMuIElmIHRoZSBvcHRpb24gJy0tYWxsJyBvciAnLWEnIGlzIGdpdmVuIHRoZW4gYWxsCisJY29tbWFuZHMuIElmIHRoZSBvcHRpb24gYC0tYWxsYCBvciBgLWFgIGlzIGdpdmVuIHRoZW4gYWxsCiAJYXZhaWxhYmxlIGNvbW1hbmRzIGFyZSBwcmludGVkLiBJZiBhIEdpdCBjb21tYW5kIGlzIG5hbWVkIHRoaXMKIAlvcHRpb24gd2lsbCBicmluZyB1cCB0aGUgbWFudWFsIHBhZ2UgZm9yIHRoYXQgY29tbWFuZC4KICsKQEAgLTU3Nyw3ICs1ODgsNyBAQAogCiAtLWdpdC1kaXI9PHBhdGg+OjoKIAlTZXQgdGhlIHBhdGggdG8gdGhlIHJlcG9zaXRvcnkuIFRoaXMgY2FuIGFsc28gYmUgY29udHJvbGxlZCBieQotCXNldHRpbmcgdGhlIEdJVF9ESVIgZW52aXJvbm1lbnQgdmFyaWFibGUuIEl0IGNhbiBiZSBhbiBhYnNvbHV0ZQorCXNldHRpbmcgdGhlIGBHSVRfRElSYCBlbnZpcm9ubWVudCB2YXJpYWJsZS4gSXQgY2FuIGJlIGFuIGFic29sdXRlCiAJcGF0aCBvciByZWxhdGl2ZSBwYXRoIHRvIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuCiAKIC0td29yay10cmVlPTxwYXRoPjo6CkBAIC01OTMsNiArNjA0LDExIEBACiAJZGV0YWlscy4gIEVxdWl2YWxlbnQgdG8gc2V0dGluZyB0aGUgYEdJVF9OQU1FU1BBQ0VgIGVudmlyb25tZW50CiAJdmFyaWFibGUuCiAKKy0tc3VwZXItcHJlZml4PTxwYXRoPjo6CisJQ3VycmVudGx5IGZvciBpbnRlcm5hbCB1c2Ugb25seS4gIFNldCBhIHByZWZpeCB3aGljaCBnaXZlcyBhIHBhdGggZnJvbQorCWFib3ZlIGEgcmVwb3NpdG9yeSBkb3duIHRvIGl0cyByb290LiAgT25lIHVzZSBpcyB0byBnaXZlIHN1Ym1vZHVsZXMKKwljb250ZXh0IGFib3V0IHRoZSBzdXBlcnByb2plY3QgdGhhdCBpbnZva2VkIGl0LgorCiAtLWJhcmU6OgogCVRyZWF0IHRoZSByZXBvc2l0b3J5IGFzIGEgYmFyZSByZXBvc2l0b3J5LiAgSWYgR0lUX0RJUgogCWVudmlyb25tZW50IGlzIG5vdCBzZXQsIGl0IGlzIHNldCB0byB0aGUgY3VycmVudCB3b3JraW5nCkBAIC04MjcsNDYgKzg0Myw0NiBAQAogaXMgd29ydGggbm90aW5nIHRoYXQgdGhleSBtYXkgYmUgdXNlZC9vdmVycmlkZGVuIGJ5IFNDTVMgc2l0dGluZyBhYm92ZQogR2l0IHNvIHRha2UgY2FyZSBpZiB1c2luZyBhIGZvcmVpZ24gZnJvbnQtZW5kLgogCi0nR0lUX0lOREVYX0ZJTEUnOjoKK2BHSVRfSU5ERVhfRklMRWA6OgogCVRoaXMgZW52aXJvbm1lbnQgYWxsb3dzIHRoZSBzcGVjaWZpY2F0aW9uIG9mIGFuIGFsdGVybmF0ZQogCWluZGV4IGZpbGUuIElmIG5vdCBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IG9mIGAkR0lUX0RJUi9pbmRleGAKIAlpcyB1c2VkLgogCi0nR0lUX0lOREVYX1ZFUlNJT04nOjoKK2BHSVRfSU5ERVhfVkVSU0lPTmA6OgogCVRoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgYWxsb3dzIHRoZSBzcGVjaWZpY2F0aW9uIG9mIGFuIGluZGV4CiAJdmVyc2lvbiBmb3IgbmV3IHJlcG9zaXRvcmllcy4gIEl0IHdvbid0IGFmZmVjdCBleGlzdGluZyBpbmRleAogCWZpbGVzLiAgQnkgZGVmYXVsdCBpbmRleCBmaWxlIHZlcnNpb24gMiBvciAzIGlzIHVzZWQuIFNlZQogCWxpbmtnaXQ6Z2l0LXVwZGF0ZS1pbmRleFsxXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KIAotJ0dJVF9PQkpFQ1RfRElSRUNUT1JZJzo6CitgR0lUX09CSkVDVF9ESVJFQ1RPUllgOjoKIAlJZiB0aGUgb2JqZWN0IHN0b3JhZ2UgZGlyZWN0b3J5IGlzIHNwZWNpZmllZCB2aWEgdGhpcwogCWVudmlyb25tZW50IHZhcmlhYmxlIHRoZW4gdGhlIHNoYTEgZGlyZWN0b3JpZXMgYXJlIGNyZWF0ZWQKIAl1bmRlcm5lYXRoIC0gb3RoZXJ3aXNlIHRoZSBkZWZhdWx0IGAkR0lUX0RJUi9vYmplY3RzYAogCWRpcmVjdG9yeSBpcyB1c2VkLgogCi0nR0lUX0FMVEVSTkFURV9PQkpFQ1RfRElSRUNUT1JJRVMnOjoKK2BHSVRfQUxURVJOQVRFX09CSkVDVF9ESVJFQ1RPUklFU2A6OgogCUR1ZSB0byB0aGUgaW1tdXRhYmxlIG5hdHVyZSBvZiBHaXQgb2JqZWN0cywgb2xkIG9iamVjdHMgY2FuIGJlCiAJYXJjaGl2ZWQgaW50byBzaGFyZWQsIHJlYWQtb25seSBkaXJlY3Rvcmllcy4gVGhpcyB2YXJpYWJsZQogCXNwZWNpZmllcyBhICI6IiBzZXBhcmF0ZWQgKG9uIFdpbmRvd3MgIjsiIHNlcGFyYXRlZCkgbGlzdAogCW9mIEdpdCBvYmplY3QgZGlyZWN0b3JpZXMgd2hpY2ggY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBHaXQKIAlvYmplY3RzLiBOZXcgb2JqZWN0cyB3aWxsIG5vdCBiZSB3cml0dGVuIHRvIHRoZXNlIGRpcmVjdG9yaWVzLgogCi0nR0lUX0RJUic6OgotCUlmIHRoZSAnR0lUX0RJUicgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0IHRoZW4gaXQKK2BHSVRfRElSYDo6CisJSWYgdGhlIGBHSVRfRElSYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQgdGhlbiBpdAogCXNwZWNpZmllcyBhIHBhdGggdG8gdXNlIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgYC5naXRgCiAJZm9yIHRoZSBiYXNlIG9mIHRoZSByZXBvc2l0b3J5LgotCVRoZSAnLS1naXQtZGlyJyBjb21tYW5kLWxpbmUgb3B0aW9uIGFsc28gc2V0cyB0aGlzIHZhbHVlLgorCVRoZSBgLS1naXQtZGlyYCBjb21tYW5kLWxpbmUgb3B0aW9uIGFsc28gc2V0cyB0aGlzIHZhbHVlLgogCi0nR0lUX1dPUktfVFJFRSc6OgorYEdJVF9XT1JLX1RSRUVgOjoKIAlTZXQgdGhlIHBhdGggdG8gdGhlIHJvb3Qgb2YgdGhlIHdvcmtpbmcgdHJlZS4KLQlUaGlzIGNhbiBhbHNvIGJlIGNvbnRyb2xsZWQgYnkgdGhlICctLXdvcmstdHJlZScgY29tbWFuZC1saW5lCisJVGhpcyBjYW4gYWxzbyBiZSBjb250cm9sbGVkIGJ5IHRoZSBgLS13b3JrLXRyZWVgIGNvbW1hbmQtbGluZQogCW9wdGlvbiBhbmQgdGhlIGNvcmUud29ya3RyZWUgY29uZmlndXJhdGlvbiB2YXJpYWJsZS4KIAotJ0dJVF9OQU1FU1BBQ0UnOjoKK2BHSVRfTkFNRVNQQUNFYDo6CiAJU2V0IHRoZSBHaXQgbmFtZXNwYWNlOyBzZWUgbGlua2dpdDpnaXRuYW1lc3BhY2VzWzddIGZvciBkZXRhaWxzLgotCVRoZSAnLS1uYW1lc3BhY2UnIGNvbW1hbmQtbGluZSBvcHRpb24gYWxzbyBzZXRzIHRoaXMgdmFsdWUuCisJVGhlIGAtLW5hbWVzcGFjZWAgY29tbWFuZC1saW5lIG9wdGlvbiBhbHNvIHNldHMgdGhpcyB2YWx1ZS4KIAotJ0dJVF9DRUlMSU5HX0RJUkVDVE9SSUVTJzo6CitgR0lUX0NFSUxJTkdfRElSRUNUT1JJRVNgOjoKIAlUaGlzIHNob3VsZCBiZSBhIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGFic29sdXRlIHBhdGhzLiAgSWYKIAlzZXQsIGl0IGlzIGEgbGlzdCBvZiBkaXJlY3RvcmllcyB0aGF0IEdpdCBzaG91bGQgbm90IGNoZGlyIHVwCiAJaW50byB3aGlsZSBsb29raW5nIGZvciBhIHJlcG9zaXRvcnkgZGlyZWN0b3J5ICh1c2VmdWwgZm9yCkBAIC04NzksMTkgKzg5NSwxOSBAQAogCWNhbiBhZGQgYW4gZW1wdHkgZW50cnkgdG8gdGhlIGxpc3QgdG8gdGVsbCBHaXQgdGhhdCB0aGUKIAlzdWJzZXF1ZW50IGVudHJpZXMgYXJlIG5vdCBzeW1saW5rcyBhbmQgbmVlZG4ndCBiZSByZXNvbHZlZDsKIAllLmcuLAotCSdHSVRfQ0VJTElOR19ESVJFQ1RPUklFUz0vbWF5YmUvc3ltbGluazo6L3Zlcnkvc2xvdy9ub24vc3ltbGluaycuCisJYEdJVF9DRUlMSU5HX0RJUkVDVE9SSUVTPS9tYXliZS9zeW1saW5rOjovdmVyeS9zbG93L25vbi9zeW1saW5rYC4KIAotJ0dJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0nOjoKK2BHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNYDo6CiAJV2hlbiBydW4gaW4gYSBkaXJlY3RvcnkgdGhhdCBkb2VzIG5vdCBoYXZlICIuZ2l0IiByZXBvc2l0b3J5CiAJZGlyZWN0b3J5LCBHaXQgdHJpZXMgdG8gZmluZCBzdWNoIGEgZGlyZWN0b3J5IGluIHRoZSBwYXJlbnQKIAlkaXJlY3RvcmllcyB0byBmaW5kIHRoZSB0b3Agb2YgdGhlIHdvcmtpbmcgdHJlZSwgYnV0IGJ5IGRlZmF1bHQgaXQKIAlkb2VzIG5vdCBjcm9zcyBmaWxlc3lzdGVtIGJvdW5kYXJpZXMuICBUaGlzIGVudmlyb25tZW50IHZhcmlhYmxlCiAJY2FuIGJlIHNldCB0byB0cnVlIHRvIHRlbGwgR2l0IG5vdCB0byBzdG9wIGF0IGZpbGVzeXN0ZW0KLQlib3VuZGFyaWVzLiAgTGlrZSAnR0lUX0NFSUxJTkdfRElSRUNUT1JJRVMnLCB0aGlzIHdpbGwgbm90IGFmZmVjdAotCWFuIGV4cGxpY2l0IHJlcG9zaXRvcnkgZGlyZWN0b3J5IHNldCB2aWEgJ0dJVF9ESVInIG9yIG9uIHRoZQorCWJvdW5kYXJpZXMuICBMaWtlIGBHSVRfQ0VJTElOR19ESVJFQ1RPUklFU2AsIHRoaXMgd2lsbCBub3QgYWZmZWN0CisJYW4gZXhwbGljaXQgcmVwb3NpdG9yeSBkaXJlY3Rvcnkgc2V0IHZpYSBgR0lUX0RJUmAgb3Igb24gdGhlCiAJY29tbWFuZCBsaW5lLgogCi0nR0lUX0NPTU1PTl9ESVInOjoKK2BHSVRfQ09NTU9OX0RJUmA6OgogCUlmIHRoaXMgdmFyaWFibGUgaXMgc2V0IHRvIGEgcGF0aCwgbm9uLXdvcmt0cmVlIGZpbGVzIHRoYXQgYXJlCiAJbm9ybWFsbHkgaW4gJEdJVF9ESVIgd2lsbCBiZSB0YWtlbiBmcm9tIHRoaXMgcGF0aAogCWluc3RlYWQuIFdvcmt0cmVlLXNwZWNpZmljIGZpbGVzIHN1Y2ggYXMgSEVBRCBvciBpbmRleCBhcmUKQEAgLTkwMiwyOCArOTE4LDI4IEBACiAKIEdpdCBDb21taXRzCiB+fn5+fn5+fn5+fgotJ0dJVF9BVVRIT1JfTkFNRSc6OgotJ0dJVF9BVVRIT1JfRU1BSUwnOjoKLSdHSVRfQVVUSE9SX0RBVEUnOjoKLSdHSVRfQ09NTUlUVEVSX05BTUUnOjoKLSdHSVRfQ09NTUlUVEVSX0VNQUlMJzo6Ci0nR0lUX0NPTU1JVFRFUl9EQVRFJzo6CitgR0lUX0FVVEhPUl9OQU1FYDo6CitgR0lUX0FVVEhPUl9FTUFJTGA6OgorYEdJVF9BVVRIT1JfREFURWA6OgorYEdJVF9DT01NSVRURVJfTkFNRWA6OgorYEdJVF9DT01NSVRURVJfRU1BSUxgOjoKK2BHSVRfQ09NTUlUVEVSX0RBVEVgOjoKICdFTUFJTCc6OgogCXNlZSBsaW5rZ2l0OmdpdC1jb21taXQtdHJlZVsxXQogCiBHaXQgRGlmZnMKIH5+fn5+fn5+fgotJ0dJVF9ESUZGX09QVFMnOjoKK2BHSVRfRElGRl9PUFRTYDo6CiAJT25seSB2YWxpZCBzZXR0aW5nIGlzICItLXVuaWZpZWQ9Pz8iIG9yICItdT8/IiB0byBzZXQgdGhlCiAJbnVtYmVyIG9mIGNvbnRleHQgbGluZXMgc2hvd24gd2hlbiBhIHVuaWZpZWQgZGlmZiBpcyBjcmVhdGVkLgogCVRoaXMgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGFueSAiLVUiIG9yICItLXVuaWZpZWQiIG9wdGlvbgogCXZhbHVlIHBhc3NlZCBvbiB0aGUgR2l0IGRpZmYgY29tbWFuZCBsaW5lLgogCi0nR0lUX0VYVEVSTkFMX0RJRkYnOjoKLQlXaGVuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSAnR0lUX0VYVEVSTkFMX0RJRkYnIGlzIHNldCwgdGhlCitgR0lUX0VYVEVSTkFMX0RJRkZgOjoKKwlXaGVuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBgR0lUX0VYVEVSTkFMX0RJRkZgIGlzIHNldCwgdGhlCiAJcHJvZ3JhbSBuYW1lZCBieSBpdCBpcyBjYWxsZWQsIGluc3RlYWQgb2YgdGhlIGRpZmYgaW52b2NhdGlvbgogCWRlc2NyaWJlZCBhYm92ZS4gIEZvciBhIHBhdGggdGhhdCBpcyBhZGRlZCwgcmVtb3ZlZCwgb3IgbW9kaWZpZWQsCi0gICAgICAgICdHSVRfRVhURVJOQUxfRElGRicgaXMgY2FsbGVkIHdpdGggNyBwYXJhbWV0ZXJzOgorCWBHSVRfRVhURVJOQUxfRElGRmAgaXMgY2FsbGVkIHdpdGggNyBwYXJhbWV0ZXJzOgogCiAJcGF0aCBvbGQtZmlsZSBvbGQtaGV4IG9sZC1tb2RlIG5ldy1maWxlIG5ldy1oZXggbmV3LW1vZGUKICsKQEAgLTkzNyw0OSArOTUzLDQ5IEBACiBUaGUgZmlsZSBwYXJhbWV0ZXJzIGNhbiBwb2ludCBhdCB0aGUgdXNlcidzIHdvcmtpbmcgZmlsZQogKGUuZy4gYG5ldy1maWxlYCBpbiAiZ2l0LWRpZmYtZmlsZXMiKSwgYC9kZXYvbnVsbGAgKGUuZy4gYG9sZC1maWxlYAogd2hlbiBhIG5ldyBmaWxlIGlzIGFkZGVkKSwgb3IgYSB0ZW1wb3JhcnkgZmlsZSAoZS5nLiBgb2xkLWZpbGVgIGluIHRoZQotaW5kZXgpLiAgJ0dJVF9FWFRFUk5BTF9ESUZGJyBzaG91bGQgbm90IHdvcnJ5IGFib3V0IHVubGlua2luZyB0aGUKLXRlbXBvcmFyeSBmaWxlIC0tLSBpdCBpcyByZW1vdmVkIHdoZW4gJ0dJVF9FWFRFUk5BTF9ESUZGJyBleGl0cy4KK2luZGV4KS4gIGBHSVRfRVhURVJOQUxfRElGRmAgc2hvdWxkIG5vdCB3b3JyeSBhYm91dCB1bmxpbmtpbmcgdGhlCit0ZW1wb3JhcnkgZmlsZSAtLS0gaXQgaXMgcmVtb3ZlZCB3aGVuIGBHSVRfRVhURVJOQUxfRElGRmAgZXhpdHMuCiArCi1Gb3IgYSBwYXRoIHRoYXQgaXMgdW5tZXJnZWQsICdHSVRfRVhURVJOQUxfRElGRicgaXMgY2FsbGVkIHdpdGggMQorRm9yIGEgcGF0aCB0aGF0IGlzIHVubWVyZ2VkLCBgR0lUX0VYVEVSTkFMX0RJRkZgIGlzIGNhbGxlZCB3aXRoIDEKIHBhcmFtZXRlciwgPHBhdGg+LgogKwotRm9yIGVhY2ggcGF0aCAnR0lUX0VYVEVSTkFMX0RJRkYnIGlzIGNhbGxlZCwgdHdvIGVudmlyb25tZW50IHZhcmlhYmxlcywKLSdHSVRfRElGRl9QQVRIX0NPVU5URVInIGFuZCAnR0lUX0RJRkZfUEFUSF9UT1RBTCcgYXJlIHNldC4KK0ZvciBlYWNoIHBhdGggYEdJVF9FWFRFUk5BTF9ESUZGYCBpcyBjYWxsZWQsIHR3byBlbnZpcm9ubWVudCB2YXJpYWJsZXMsCitgR0lUX0RJRkZfUEFUSF9DT1VOVEVSYCBhbmQgYEdJVF9ESUZGX1BBVEhfVE9UQUxgIGFyZSBzZXQuCiAKLSdHSVRfRElGRl9QQVRIX0NPVU5URVInOjoKK2BHSVRfRElGRl9QQVRIX0NPVU5URVJgOjoKIAlBIDEtYmFzZWQgY291bnRlciBpbmNyZW1lbnRlZCBieSBvbmUgZm9yIGV2ZXJ5IHBhdGguCiAKLSdHSVRfRElGRl9QQVRIX1RPVEFMJzo6CitgR0lUX0RJRkZfUEFUSF9UT1RBTGA6OgogCVRoZSB0b3RhbCBudW1iZXIgb2YgcGF0aHMuCiAKIG90aGVyCiB+fn5+fgotJ0dJVF9NRVJHRV9WRVJCT1NJVFknOjoKK2BHSVRfTUVSR0VfVkVSQk9TSVRZYDo6CiAJQSBudW1iZXIgY29udHJvbGxpbmcgdGhlIGFtb3VudCBvZiBvdXRwdXQgc2hvd24gYnkKIAl0aGUgcmVjdXJzaXZlIG1lcmdlIHN0cmF0ZWd5LiAgT3ZlcnJpZGVzIG1lcmdlLnZlcmJvc2l0eS4KIAlTZWUgbGlua2dpdDpnaXQtbWVyZ2VbMV0KIAotJ0dJVF9QQUdFUic6OgorYEdJVF9QQUdFUmA6OgogCVRoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgb3ZlcnJpZGVzIGAkUEFHRVJgLiBJZiBpdCBpcyBzZXQKIAl0byBhbiBlbXB0eSBzdHJpbmcgb3IgdG8gdGhlIHZhbHVlICJjYXQiLCBHaXQgd2lsbCBub3QgbGF1bmNoCiAJYSBwYWdlci4gIFNlZSBhbHNvIHRoZSBgY29yZS5wYWdlcmAgb3B0aW9uIGluCiAJbGlua2dpdDpnaXQtY29uZmlnWzFdLgogCi0nR0lUX0VESVRPUic6OgorYEdJVF9FRElUT1JgOjoKIAlUaGlzIGVudmlyb25tZW50IHZhcmlhYmxlIG92ZXJyaWRlcyBgJEVESVRPUmAgYW5kIGAkVklTVUFMYC4KIAlJdCBpcyB1c2VkIGJ5IHNldmVyYWwgR2l0IGNvbW1hbmRzIHdoZW4sIG9uIGludGVyYWN0aXZlIG1vZGUsCiAJYW4gZWRpdG9yIGlzIHRvIGJlIGxhdW5jaGVkLiBTZWUgYWxzbyBsaW5rZ2l0OmdpdC12YXJbMV0KIAlhbmQgdGhlIGBjb3JlLmVkaXRvcmAgb3B0aW9uIGluIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXS4KIAotJ0dJVF9TU0gnOjoKLSdHSVRfU1NIX0NPTU1BTkQnOjoKK2BHSVRfU1NIYDo6CitgR0lUX1NTSF9DT01NQU5EYDo6CiAJSWYgZWl0aGVyIG9mIHRoZXNlIGVudmlyb25tZW50IHZhcmlhYmxlcyBpcyBzZXQgdGhlbiAnZ2l0IGZldGNoJwogCWFuZCAnZ2l0IHB1c2gnIHdpbGwgdXNlIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBpbnN0ZWFkIG9mICdzc2gnCiAJd2hlbiB0aGV5IG5lZWQgdG8gY29ubmVjdCB0byBhIHJlbW90ZSBzeXN0ZW0uCiAJVGhlIGNvbW1hbmQgd2lsbCBiZSBnaXZlbiBleGFjdGx5IHR3byBvciBmb3VyIGFyZ3VtZW50czogdGhlCiAJJ3VzZXJuYW1lQGhvc3QnIChvciBqdXN0ICdob3N0JykgZnJvbSB0aGUgVVJMIGFuZCB0aGUgc2hlbGwKIAljb21tYW5kIHRvIGV4ZWN1dGUgb24gdGhhdCByZW1vdGUgc3lzdGVtLCBvcHRpb25hbGx5IHByZWNlZGVkIGJ5Ci0JJy1wJyAobGl0ZXJhbGx5KSBhbmQgdGhlICdwb3J0JyBmcm9tIHRoZSBVUkwgd2hlbiBpdCBzcGVjaWZpZXMKKwlgLXBgIChsaXRlcmFsbHkpIGFuZCB0aGUgJ3BvcnQnIGZyb20gdGhlIFVSTCB3aGVuIGl0IHNwZWNpZmllcwogCXNvbWV0aGluZyBvdGhlciB0aGFuIHRoZSBkZWZhdWx0IFNTSCBwb3J0LgogKwogYCRHSVRfU1NIX0NPTU1BTkRgIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBgJEdJVF9TU0hgLCBhbmQgaXMgaW50ZXJwcmV0ZWQKQEAgLTk5MiwxOCArMTAwOCwxOCBAQAogcGVyc29uYWwgYC5zc2gvY29uZmlnYCBmaWxlLiAgUGxlYXNlIGNvbnN1bHQgeW91ciBzc2ggZG9jdW1lbnRhdGlvbgogZm9yIGZ1cnRoZXIgZGV0YWlscy4KIAotJ0dJVF9BU0tQQVNTJzo6CitgR0lUX0FTS1BBU1NgOjoKIAlJZiB0aGlzIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCwgdGhlbiBHaXQgY29tbWFuZHMgd2hpY2ggbmVlZCB0bwogCWFjcXVpcmUgcGFzc3dvcmRzIG9yIHBhc3NwaHJhc2VzIChlLmcuIGZvciBIVFRQIG9yIElNQVAgYXV0aGVudGljYXRpb24pCiAJd2lsbCBjYWxsIHRoaXMgcHJvZ3JhbSB3aXRoIGEgc3VpdGFibGUgcHJvbXB0IGFzIGNvbW1hbmQtbGluZSBhcmd1bWVudAotCWFuZCByZWFkIHRoZSBwYXNzd29yZCBmcm9tIGl0cyBTVERPVVQuIFNlZSBhbHNvIHRoZSAnY29yZS5hc2tQYXNzJworCWFuZCByZWFkIHRoZSBwYXNzd29yZCBmcm9tIGl0cyBTVERPVVQuIFNlZSBhbHNvIHRoZSBgY29yZS5hc2tQYXNzYAogCW9wdGlvbiBpbiBsaW5rZ2l0OmdpdC1jb25maWdbMV0uCiAKLSdHSVRfVEVSTUlOQUxfUFJPTVBUJzo6CitgR0lUX1RFUk1JTkFMX1BST01QVGA6OgogCUlmIHRoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0IHRvIGAwYCwgZ2l0IHdpbGwgbm90IHByb21wdAogCW9uIHRoZSB0ZXJtaW5hbCAoZS5nLiwgd2hlbiBhc2tpbmcgZm9yIEhUVFAgYXV0aGVudGljYXRpb24pLgogCi0nR0lUX0NPTkZJR19OT1NZU1RFTSc6OgorYEdJVF9DT05GSUdfTk9TWVNURU1gOjoKIAlXaGV0aGVyIHRvIHNraXAgcmVhZGluZyBzZXR0aW5ncyBmcm9tIHRoZSBzeXN0ZW0td2lkZQogCWAkKHByZWZpeCkvZXRjL2dpdGNvbmZpZ2AgZmlsZS4gIFRoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgY2FuCiAJYmUgdXNlZCBhbG9uZyB3aXRoIGAkSE9NRWAgYW5kIGAkWERHX0NPTkZJR19IT01FYCB0byBjcmVhdGUgYQpAQCAtMTAxMSw3ICsxMDI3LDcgQEAKIAl0ZW1wb3JhcmlseSB0byBhdm9pZCB1c2luZyBhIGJ1Z2d5IGAvZXRjL2dpdGNvbmZpZ2AgZmlsZSB3aGlsZQogCXdhaXRpbmcgZm9yIHNvbWVvbmUgd2l0aCBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIGZpeCBpdC4KIAotJ0dJVF9GTFVTSCc6OgorYEdJVF9GTFVTSGA6OgogCUlmIHRoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0IHRvICIxIiwgdGhlbiBjb21tYW5kcyBzdWNoCiAJYXMgJ2dpdCBibGFtZScgKGluIGluY3JlbWVudGFsIG1vZGUpLCAnZ2l0IHJldi1saXN0JywgJ2dpdCBsb2cnLAogCSdnaXQgY2hlY2stYXR0cicgYW5kICdnaXQgY2hlY2staWdub3JlJyB3aWxsCkBAIC0xMDIyLDcgKzEwMzgsNyBAQAogCW5vdCBzZXQsIEdpdCB3aWxsIGNob29zZSBidWZmZXJlZCBvciByZWNvcmQtb3JpZW50ZWQgZmx1c2hpbmcKIAliYXNlZCBvbiB3aGV0aGVyIHN0ZG91dCBhcHBlYXJzIHRvIGJlIHJlZGlyZWN0ZWQgdG8gYSBmaWxlIG9yIG5vdC4KIAotJ0dJVF9UUkFDRSc6OgorYEdJVF9UUkFDRWA6OgogCUVuYWJsZXMgZ2VuZXJhbCB0cmFjZSBtZXNzYWdlcywgZS5nLiBhbGlhcyBleHBhbnNpb24sIGJ1aWx0LWluCiAJY29tbWFuZCBleGVjdXRpb24gYW5kIGV4dGVybmFsIGNvbW1hbmQgZXhlY3V0aW9uLgogKwpAQCAtMTA0MywyMSArMTA1OSwyMSBAQAogVW5zZXR0aW5nIHRoZSB2YXJpYWJsZSwgb3Igc2V0dGluZyBpdCB0byBlbXB0eSwgIjAiIG9yCiAiZmFsc2UiIChjYXNlIGluc2Vuc2l0aXZlKSBkaXNhYmxlcyB0cmFjZSBtZXNzYWdlcy4KIAotJ0dJVF9UUkFDRV9QQUNLX0FDQ0VTUyc6OgorYEdJVF9UUkFDRV9QQUNLX0FDQ0VTU2A6OgogCUVuYWJsZXMgdHJhY2UgbWVzc2FnZXMgZm9yIGFsbCBhY2Nlc3NlcyB0byBhbnkgcGFja3MuIEZvciBlYWNoCiAJYWNjZXNzLCB0aGUgcGFjayBmaWxlIG5hbWUgYW5kIGFuIG9mZnNldCBpbiB0aGUgcGFjayBpcwogCXJlY29yZGVkLiBUaGlzIG1heSBiZSBoZWxwZnVsIGZvciB0cm91Ymxlc2hvb3Rpbmcgc29tZQogCXBhY2stcmVsYXRlZCBwZXJmb3JtYW5jZSBwcm9ibGVtcy4KLQlTZWUgJ0dJVF9UUkFDRScgZm9yIGF2YWlsYWJsZSB0cmFjZSBvdXRwdXQgb3B0aW9ucy4KKwlTZWUgYEdJVF9UUkFDRWAgZm9yIGF2YWlsYWJsZSB0cmFjZSBvdXRwdXQgb3B0aW9ucy4KIAotJ0dJVF9UUkFDRV9QQUNLRVQnOjoKK2BHSVRfVFJBQ0VfUEFDS0VUYDo6CiAJRW5hYmxlcyB0cmFjZSBtZXNzYWdlcyBmb3IgYWxsIHBhY2tldHMgY29taW5nIGluIG9yIG91dCBvZiBhCiAJZ2l2ZW4gcHJvZ3JhbS4gVGhpcyBjYW4gaGVscCB3aXRoIGRlYnVnZ2luZyBvYmplY3QgbmVnb3RpYXRpb24KIAlvciBvdGhlciBwcm90b2NvbCBpc3N1ZXMuIFRyYWNpbmcgaXMgdHVybmVkIG9mZiBhdCBhIHBhY2tldAotCXN0YXJ0aW5nIHdpdGggIlBBQ0siIChidXQgc2VlICdHSVRfVFJBQ0VfUEFDS0ZJTEUnIGJlbG93KS4KLQlTZWUgJ0dJVF9UUkFDRScgZm9yIGF2YWlsYWJsZSB0cmFjZSBvdXRwdXQgb3B0aW9ucy4KKwlzdGFydGluZyB3aXRoICJQQUNLIiAoYnV0IHNlZSBgR0lUX1RSQUNFX1BBQ0tGSUxFYCBiZWxvdykuCisJU2VlIGBHSVRfVFJBQ0VgIGZvciBhdmFpbGFibGUgdHJhY2Ugb3V0cHV0IG9wdGlvbnMuCiAKLSdHSVRfVFJBQ0VfUEFDS0ZJTEUnOjoKK2BHSVRfVFJBQ0VfUEFDS0ZJTEVgOjoKIAlFbmFibGVzIHRyYWNpbmcgb2YgcGFja2ZpbGVzIHNlbnQgb3IgcmVjZWl2ZWQgYnkgYQogCWdpdmVuIHByb2dyYW0uIFVubGlrZSBvdGhlciB0cmFjZSBvdXRwdXQsIHRoaXMgdHJhY2UgaXMKIAl2ZXJiYXRpbTogbm8gaGVhZGVycywgYW5kIG5vIHF1b3Rpbmcgb2YgYmluYXJ5IGRhdGEuIFlvdSBhbG1vc3QKQEAgLTEwNjgsMjIgKzEwODQsMzAgQEAKIE5vdGUgdGhhdCB0aGlzIGlzIGN1cnJlbnRseSBvbmx5IGltcGxlbWVudGVkIGZvciB0aGUgY2xpZW50IHNpZGUKIG9mIGNsb25lcyBhbmQgZmV0Y2hlcy4KIAotJ0dJVF9UUkFDRV9QRVJGT1JNQU5DRSc6OgorYEdJVF9UUkFDRV9QRVJGT1JNQU5DRWA6OgogCUVuYWJsZXMgcGVyZm9ybWFuY2UgcmVsYXRlZCB0cmFjZSBtZXNzYWdlcywgZS5nLiB0b3RhbCBleGVjdXRpb24KIAl0aW1lIG9mIGVhY2ggR2l0IGNvbW1hbmQuCi0JU2VlICdHSVRfVFJBQ0UnIGZvciBhdmFpbGFibGUgdHJhY2Ugb3V0cHV0IG9wdGlvbnMuCisJU2VlIGBHSVRfVFJBQ0VgIGZvciBhdmFpbGFibGUgdHJhY2Ugb3V0cHV0IG9wdGlvbnMuCiAKLSdHSVRfVFJBQ0VfU0VUVVAnOjoKK2BHSVRfVFJBQ0VfU0VUVVBgOjoKIAlFbmFibGVzIHRyYWNlIG1lc3NhZ2VzIHByaW50aW5nIHRoZSAuZ2l0LCB3b3JraW5nIHRyZWUgYW5kIGN1cnJlbnQKIAl3b3JraW5nIGRpcmVjdG9yeSBhZnRlciBHaXQgaGFzIGNvbXBsZXRlZCBpdHMgc2V0dXAgcGhhc2UuCi0JU2VlICdHSVRfVFJBQ0UnIGZvciBhdmFpbGFibGUgdHJhY2Ugb3V0cHV0IG9wdGlvbnMuCisJU2VlIGBHSVRfVFJBQ0VgIGZvciBhdmFpbGFibGUgdHJhY2Ugb3V0cHV0IG9wdGlvbnMuCiAKLSdHSVRfVFJBQ0VfU0hBTExPVyc6OgorYEdJVF9UUkFDRV9TSEFMTE9XYDo6CiAJRW5hYmxlcyB0cmFjZSBtZXNzYWdlcyB0aGF0IGNhbiBoZWxwIGRlYnVnZ2luZyBmZXRjaGluZyAvCiAJY2xvbmluZyBvZiBzaGFsbG93IHJlcG9zaXRvcmllcy4KLQlTZWUgJ0dJVF9UUkFDRScgZm9yIGF2YWlsYWJsZSB0cmFjZSBvdXRwdXQgb3B0aW9ucy4KKwlTZWUgYEdJVF9UUkFDRWAgZm9yIGF2YWlsYWJsZSB0cmFjZSBvdXRwdXQgb3B0aW9ucy4KIAotJ0dJVF9MSVRFUkFMX1BBVEhTUEVDUyc6OgorYEdJVF9UUkFDRV9DVVJMYDo6CisJRW5hYmxlcyBhIGN1cmwgZnVsbCB0cmFjZSBkdW1wIG9mIGFsbCBpbmNvbWluZyBhbmQgb3V0Z29pbmcgZGF0YSwKKwlpbmNsdWRpbmcgZGVzY3JpcHRpdmUgaW5mb3JtYXRpb24sIG9mIHRoZSBnaXQgdHJhbnNwb3J0IHByb3RvY29sLgorCVRoaXMgaXMgc2ltaWxhciB0byBkb2luZyBjdXJsIGAtLXRyYWNlLWFzY2lpYCBvbiB0aGUgY29tbWFuZCBsaW5lLgorCVRoaXMgb3B0aW9uIG92ZXJyaWRlcyBzZXR0aW5nIHRoZSBgR0lUX0NVUkxfVkVSQk9TRWAgZW52aXJvbm1lbnQKKwl2YXJpYWJsZS4KKwlTZWUgYEdJVF9UUkFDRWAgZm9yIGF2YWlsYWJsZSB0cmFjZSBvdXRwdXQgb3B0aW9ucy4KKworYEdJVF9MSVRFUkFMX1BBVEhTUEVDU2A6OgogCVNldHRpbmcgdGhpcyB2YXJpYWJsZSB0byBgMWAgd2lsbCBjYXVzZSBHaXQgdG8gdHJlYXQgYWxsCiAJcGF0aHNwZWNzIGxpdGVyYWxseSwgcmF0aGVyIHRoYW4gYXMgZ2xvYiBwYXR0ZXJucy4gRm9yIGV4YW1wbGUsCiAJcnVubmluZyBgR0lUX0xJVEVSQUxfUEFUSFNQRUNTPTEgZ2l0IGxvZyAtLSAnKi5jJ2Agd2lsbCBzZWFyY2gKQEAgLTEwOTIsMTkgKzExMTYsMTkgQEAKIAlsaXRlcmFsIHBhdGhzIHRvIEdpdCAoZS5nLiwgcGF0aHMgcHJldmlvdXNseSBnaXZlbiB0byB5b3UgYnkKIAlgZ2l0IGxzLXRyZWVgLCBgLS1yYXdgIGRpZmYgb3V0cHV0LCBldGMpLgogCi0nR0lUX0dMT0JfUEFUSFNQRUNTJzo6CitgR0lUX0dMT0JfUEFUSFNQRUNTYDo6CiAJU2V0dGluZyB0aGlzIHZhcmlhYmxlIHRvIGAxYCB3aWxsIGNhdXNlIEdpdCB0byB0cmVhdCBhbGwKIAlwYXRoc3BlY3MgYXMgZ2xvYiBwYXR0ZXJucyAoYWthICJnbG9iIiBtYWdpYykuCiAKLSdHSVRfTk9HTE9CX1BBVEhTUEVDUyc6OgorYEdJVF9OT0dMT0JfUEFUSFNQRUNTYDo6CiAJU2V0dGluZyB0aGlzIHZhcmlhYmxlIHRvIGAxYCB3aWxsIGNhdXNlIEdpdCB0byB0cmVhdCBhbGwKIAlwYXRoc3BlY3MgYXMgbGl0ZXJhbCAoYWthICJsaXRlcmFsIiBtYWdpYykuCiAKLSdHSVRfSUNBU0VfUEFUSFNQRUNTJzo6CitgR0lUX0lDQVNFX1BBVEhTUEVDU2A6OgogCVNldHRpbmcgdGhpcyB2YXJpYWJsZSB0byBgMWAgd2lsbCBjYXVzZSBHaXQgdG8gdHJlYXQgYWxsCiAJcGF0aHNwZWNzIGFzIGNhc2UtaW5zZW5zaXRpdmUuCiAKLSdHSVRfUkVGTE9HX0FDVElPTic6OgorYEdJVF9SRUZMT0dfQUNUSU9OYDo6CiAJV2hlbiBhIHJlZiBpcyB1cGRhdGVkLCByZWZsb2cgZW50cmllcyBhcmUgY3JlYXRlZCB0byBrZWVwCiAJdHJhY2sgb2YgdGhlIHJlYXNvbiB3aHkgdGhlIHJlZiB3YXMgdXBkYXRlZCAod2hpY2ggaXMKIAl0eXBpY2FsbHkgdGhlIG5hbWUgb2YgdGhlIGhpZ2gtbGV2ZWwgY29tbWFuZCB0aGF0IHVwZGF0ZWQKQEAgLTExMTQsNyArMTEzOCw3IEBACiAJdmFyaWFibGUgd2hlbiBpdCBpcyBpbnZva2VkIGFzIHRoZSB0b3AgbGV2ZWwgY29tbWFuZCBieSB0aGUKIAllbmQgdXNlciwgdG8gYmUgcmVjb3JkZWQgaW4gdGhlIGJvZHkgb2YgdGhlIHJlZmxvZy4KIAotJ0dJVF9SRUZfUEFSQU5PSUEnOjoKK2BHSVRfUkVGX1BBUkFOT0lBYDo6CiAJSWYgc2V0IHRvIGAxYCwgaW5jbHVkZSBicm9rZW4gb3IgYmFkbHkgbmFtZWQgcmVmcyB3aGVuIGl0ZXJhdGluZwogCW92ZXIgbGlzdHMgb2YgcmVmcy4gSW4gYSBub3JtYWwsIG5vbi1jb3JydXB0ZWQgcmVwb3NpdG9yeSwgdGhpcwogCWRvZXMgbm90aGluZy4gSG93ZXZlciwgZW5hYmxpbmcgaXQgbWF5IGhlbHAgZ2l0IHRvIGRldGVjdCBhbmQKQEAgLTExMjUsNyArMTE0OSw3IEBACiAJYW4gb3BlcmF0aW9uIGhhcyB0b3VjaGVkIGV2ZXJ5IHJlZiAoZS5nLiwgYmVjYXVzZSB5b3UgYXJlCiAJY2xvbmluZyBhIHJlcG9zaXRvcnkgdG8gbWFrZSBhIGJhY2t1cCkuCiAKLSdHSVRfQUxMT1dfUFJPVE9DT0wnOjoKK2BHSVRfQUxMT1dfUFJPVE9DT0xgOjoKIAlJZiBzZXQsIHByb3ZpZGUgYSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBwcm90b2NvbHMgd2hpY2ggYXJlCiAJYWxsb3dlZCB0byBiZSB1c2VkIHdpdGggZmV0Y2gvcHVzaC9jbG9uZS4gVGhpcyBpcyB1c2VmdWwgdG8KIAlyZXN0cmljdCByZWN1cnNpdmUgc3VibW9kdWxlIGluaXRpYWxpemF0aW9uIGZyb20gYW4gdW50cnVzdGVkCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdGF0dHJpYnV0ZXMudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRhdHRyaWJ1dGVzLnR4dAppbmRleCBlM2IxZGU4Li45NzYyNDNhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdGF0dHJpYnV0ZXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0YXR0cmlidXRlcy50eHQKQEAgLTExNSw2ICsxMTUsNyBAQAogcmVwb3NpdG9yeS4gIFRvIGNvbnRyb2wgd2hhdCBsaW5lIGVuZGluZyBzdHlsZSBpcyB1c2VkIGluIHRoZSB3b3JraW5nCiBkaXJlY3RvcnksIHVzZSB0aGUgYGVvbGAgYXR0cmlidXRlIGZvciBhIHNpbmdsZSBmaWxlIGFuZCB0aGUKIGBjb3JlLmVvbGAgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBmb3IgYWxsIHRleHQgZmlsZXMuCitOb3RlIHRoYXQgYGNvcmUuYXV0b2NybGZgIG92ZXJyaWRlcyBgY29yZS5lb2xgCiAKIFNldDo6CiAKQEAgLTEzMCw4ICsxMzEsOSBAQAogU2V0IHRvIHN0cmluZyB2YWx1ZSAiYXV0byI6OgogCiAJV2hlbiBgdGV4dGAgaXMgc2V0IHRvICJhdXRvIiwgdGhlIHBhdGggaXMgbWFya2VkIGZvciBhdXRvbWF0aWMKLQllbmQtb2YtbGluZSBub3JtYWxpemF0aW9uLiAgSWYgR2l0IGRlY2lkZXMgdGhhdCB0aGUgY29udGVudCBpcwotCXRleHQsIGl0cyBsaW5lIGVuZGluZ3MgYXJlIG5vcm1hbGl6ZWQgdG8gTEYgb24gY2hlY2tpbi4KKwllbmQtb2YtbGluZSBjb252ZXJzaW9uLiAgSWYgR2l0IGRlY2lkZXMgdGhhdCB0aGUgY29udGVudCBpcworCXRleHQsIGl0cyBsaW5lIGVuZGluZ3MgYXJlIGNvbnZlcnRlZCB0byBMRiBvbiBjaGVja2luLgorCVdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gY29tbWl0dGVkIHdpdGggQ1JMRiwgbm8gY29udmVyc2lvbiBpcyBkb25lLgogCiBVbnNwZWNpZmllZDo6CiAKQEAgLTE0Niw3ICsxNDgsNyBAQAogXl5eXl4KIAogVGhpcyBhdHRyaWJ1dGUgc2V0cyBhIHNwZWNpZmljIGxpbmUtZW5kaW5nIHN0eWxlIHRvIGJlIHVzZWQgaW4gdGhlCi13b3JraW5nIGRpcmVjdG9yeS4gIEl0IGVuYWJsZXMgZW5kLW9mLWxpbmUgbm9ybWFsaXphdGlvbiB3aXRob3V0IGFueQord29ya2luZyBkaXJlY3RvcnkuICBJdCBlbmFibGVzIGVuZC1vZi1saW5lIGNvbnZlcnNpb24gd2l0aG91dCBhbnkKIGNvbnRlbnQgY2hlY2tzLCBlZmZlY3RpdmVseSBzZXR0aW5nIHRoZSBgdGV4dGAgYXR0cmlidXRlLgogCiBTZXQgdG8gc3RyaW5nIHZhbHVlICJjcmxmIjo6CkBAIC0xODAsNjAgKzE4Miw1MSBAQAogbm9ybWFsaXplIGxpbmUgZW5kaW5ncyB0byBMRiBpbiB0aGUgcmVwb3NpdG9yeSBhbmQsIG9wdGlvbmFsbHksIHRvCiBjb252ZXJ0IHRoZW0gdG8gQ1JMRiB3aGVuIGZpbGVzIGFyZSBjaGVja2VkIG91dC4KIAotSGVyZSBpcyBhbiBleGFtcGxlIHRoYXQgd2lsbCBtYWtlIEdpdCBub3JtYWxpemUgLnR4dCwgLnZjcHJvaiBhbmQgLnNoCi1maWxlcywgZW5zdXJlIHRoYXQgLnZjcHJvaiBmaWxlcyBoYXZlIENSTEYgYW5kIC5zaCBmaWxlcyBoYXZlIExGIGluCi10aGUgd29ya2luZyBkaXJlY3RvcnksIGFuZCBwcmV2ZW50IC5qcGcgZmlsZXMgZnJvbSBiZWluZyBub3JtYWxpemVkCi1yZWdhcmRsZXNzIG9mIHRoZWlyIGNvbnRlbnQuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotKi50eHQJCXRleHQKLSoudmNwcm9qCWVvbD1jcmxmCi0qLnNoCQllb2w9bGYKLSouanBnCQktdGV4dAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLU90aGVyIHNvdXJjZSBjb2RlIG1hbmFnZW1lbnQgc3lzdGVtcyBub3JtYWxpemUgYWxsIHRleHQgZmlsZXMgaW4gdGhlaXIKLXJlcG9zaXRvcmllcywgYW5kIHRoZXJlIGFyZSB0d28gd2F5cyB0byBlbmFibGUgc2ltaWxhciBhdXRvbWF0aWMKLW5vcm1hbGl6YXRpb24gaW4gR2l0LgotCiBJZiB5b3Ugc2ltcGx5IHdhbnQgdG8gaGF2ZSBDUkxGIGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5CiByZWdhcmRsZXNzIG9mIHRoZSByZXBvc2l0b3J5IHlvdSBhcmUgd29ya2luZyB3aXRoLCB5b3UgY2FuIHNldCB0aGUKLWNvbmZpZyB2YXJpYWJsZSAiY29yZS5hdXRvY3JsZiIgd2l0aG91dCBjaGFuZ2luZyBhbnkgYXR0cmlidXRlcy4KK2NvbmZpZyB2YXJpYWJsZSAiY29yZS5hdXRvY3JsZiIgd2l0aG91dCB1c2luZyBhbnkgYXR0cmlidXRlcy4KIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBbY29yZV0KIAlhdXRvY3JsZiA9IHRydWUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1UaGlzIGRvZXMgbm90IGZvcmNlIG5vcm1hbGl6YXRpb24gb2YgYWxsIHRleHQgZmlsZXMsIGJ1dCBkb2VzIGVuc3VyZQorVGhpcyBkb2VzIG5vdCBmb3JjZSBub3JtYWxpemF0aW9uIG9mIHRleHQgZmlsZXMsIGJ1dCBkb2VzIGVuc3VyZQogdGhhdCB0ZXh0IGZpbGVzIHRoYXQgeW91IGludHJvZHVjZSB0byB0aGUgcmVwb3NpdG9yeSBoYXZlIHRoZWlyIGxpbmUKIGVuZGluZ3Mgbm9ybWFsaXplZCB0byBMRiB3aGVuIHRoZXkgYXJlIGFkZGVkLCBhbmQgdGhhdCBmaWxlcyB0aGF0IGFyZQogYWxyZWFkeSBub3JtYWxpemVkIGluIHRoZSByZXBvc2l0b3J5IHN0YXkgbm9ybWFsaXplZC4KIAotSWYgeW91IHdhbnQgdG8gaW50ZXJvcGVyYXRlIHdpdGggYSBzb3VyY2UgY29kZSBtYW5hZ2VtZW50IHN5c3RlbSB0aGF0Ci1lbmZvcmNlcyBlbmQtb2YtbGluZSBub3JtYWxpemF0aW9uLCBvciB5b3Ugc2ltcGx5IHdhbnQgYWxsIHRleHQgZmlsZXMKLWluIHlvdXIgcmVwb3NpdG9yeSB0byBiZSBub3JtYWxpemVkLCB5b3Ugc2hvdWxkIGluc3RlYWQgc2V0IHRoZSBgdGV4dGAKLWF0dHJpYnV0ZSB0byAiYXV0byIgZm9yIF9hbGxfIGZpbGVzLgorSWYgeW91IHdhbnQgdG8gZW5zdXJlIHRoYXQgdGV4dCBmaWxlcyB0aGF0IGFueSBjb250cmlidXRvciBpbnRyb2R1Y2VzIHRvCit0aGUgcmVwb3NpdG9yeSBoYXZlIHRoZWlyIGxpbmUgZW5kaW5ncyBub3JtYWxpemVkLCB5b3UgY2FuIHNldCB0aGUKK2B0ZXh0YCBhdHRyaWJ1dGUgdG8gImF1dG8iIGZvciBfYWxsXyBmaWxlcy4KIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqCXRleHQ9YXV0bwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVRoaXMgZW5zdXJlcyB0aGF0IGFsbCBmaWxlcyB0aGF0IEdpdCBjb25zaWRlcnMgdG8gYmUgdGV4dCB3aWxsIGhhdmUKLW5vcm1hbGl6ZWQgKExGKSBsaW5lIGVuZGluZ3MgaW4gdGhlIHJlcG9zaXRvcnkuICBUaGUgYGNvcmUuZW9sYAotY29uZmlndXJhdGlvbiB2YXJpYWJsZSBjb250cm9scyB3aGljaCBsaW5lIGVuZGluZ3MgR2l0IHdpbGwgdXNlIGZvcgotbm9ybWFsaXplZCBmaWxlcyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5OyB0aGUgZGVmYXVsdCBpcyB0byB1c2UgdGhlCi1uYXRpdmUgbGluZSBlbmRpbmcgZm9yIHlvdXIgcGxhdGZvcm0sIG9yIENSTEYgaWYgYGNvcmUuYXV0b2NybGZgIGlzCi1zZXQuCitUaGUgYXR0cmlidXRlcyBhbGxvdyBhIGZpbmUtZ3JhaW5lZCBjb250cm9sLCBob3cgdGhlIGxpbmUgZW5kaW5ncworYXJlIGNvbnZlcnRlZC4KK0hlcmUgaXMgYW4gZXhhbXBsZSB0aGF0IHdpbGwgbWFrZSBHaXQgbm9ybWFsaXplIC50eHQsIC52Y3Byb2ogYW5kIC5zaAorZmlsZXMsIGVuc3VyZSB0aGF0IC52Y3Byb2ogZmlsZXMgaGF2ZSBDUkxGIGFuZCAuc2ggZmlsZXMgaGF2ZSBMRiBpbgordGhlIHdvcmtpbmcgZGlyZWN0b3J5LCBhbmQgcHJldmVudCAuanBnIGZpbGVzIGZyb20gYmVpbmcgbm9ybWFsaXplZAorcmVnYXJkbGVzcyBvZiB0aGVpciBjb250ZW50LgogCi1OT1RFOiBXaGVuIGB0ZXh0PWF1dG9gIG5vcm1hbGl6YXRpb24gaXMgZW5hYmxlZCBpbiBhbiBleGlzdGluZwotcmVwb3NpdG9yeSwgYW55IHRleHQgZmlsZXMgY29udGFpbmluZyBDUkxGcyBzaG91bGQgYmUgbm9ybWFsaXplZC4gIElmCi10aGV5IGFyZSBub3QgdGhleSB3aWxsIGJlIG5vcm1hbGl6ZWQgdGhlIG5leHQgdGltZSBzb21lb25lIHRyaWVzIHRvCi1jaGFuZ2UgdGhlbSwgY2F1c2luZyB1bmZvcnR1bmF0ZSBtaXNhdHRyaWJ1dGlvbi4gIEZyb20gYSBjbGVhbiB3b3JraW5nCi1kaXJlY3Rvcnk6CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogICAgICAgICAgICAgICB0ZXh0PWF1dG8KKyoudHh0CQl0ZXh0CisqLnZjcHJvagl0ZXh0IGVvbD1jcmxmCisqLnNoCQl0ZXh0IGVvbD1sZgorKi5qcGcJCS10ZXh0CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworTk9URTogV2hlbiBgdGV4dD1hdXRvYCBjb252ZXJzaW9uIGlzIGVuYWJsZWQgaW4gYSBjcm9zcy1wbGF0Zm9ybQorcHJvamVjdCB1c2luZyBwdXNoIGFuZCBwdWxsIHRvIGEgY2VudHJhbCByZXBvc2l0b3J5IHRoZSB0ZXh0IGZpbGVzCitjb250YWluaW5nIENSTEZzIHNob3VsZCBiZSBub3JtYWxpemVkLgorCitGcm9tIGEgY2xlYW4gd29ya2luZyBkaXJlY3Rvcnk6CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSQgZWNobyAiKiB0ZXh0PWF1dG8iID4+LmdpdGF0dHJpYnV0ZXMKKyQgZWNobyAiKiB0ZXh0PWF1dG8iID4uZ2l0YXR0cmlidXRlcwogJCBybSAuZ2l0L2luZGV4ICAgICAjIFJlbW92ZSB0aGUgaW5kZXggdG8gZm9yY2UgR2l0IHRvCiAkIGdpdCByZXNldCAgICAgICAgICMgcmUtc2NhbiB0aGUgd29ya2luZyBkaXJlY3RvcnkKICQgZ2l0IHN0YXR1cyAgICAgICAgIyBTaG93IGZpbGVzIHRoYXQgd2lsbCBiZSBub3JtYWxpemVkCkBAIC0zMDAsNyArMjkzLDE1IEBACiBmZWQgdGhlIGJsb2Igb2JqZWN0IGZyb20gaXRzIHN0YW5kYXJkIGlucHV0LCBhbmQgaXRzIHN0YW5kYXJkCiBvdXRwdXQgaXMgdXNlZCB0byB1cGRhdGUgdGhlIHdvcmt0cmVlIGZpbGUuICBTaW1pbGFybHksIHRoZQogYGNsZWFuYCBjb21tYW5kIGlzIHVzZWQgdG8gY29udmVydCB0aGUgY29udGVudHMgb2Ygd29ya3RyZWUgZmlsZQotdXBvbiBjaGVja2luLgordXBvbiBjaGVja2luLiBCeSBkZWZhdWx0IHRoZXNlIGNvbW1hbmRzIHByb2Nlc3Mgb25seSBhIHNpbmdsZQorYmxvYiBhbmQgdGVybWluYXRlLiBJZiBhIGxvbmcgcnVubmluZyBgcHJvY2Vzc2AgZmlsdGVyIGlzIHVzZWQKK2luIHBsYWNlIG9mIGBjbGVhbmAgYW5kL29yIGBzbXVkZ2VgIGZpbHRlcnMsIHRoZW4gR2l0IGNhbiBwcm9jZXNzCithbGwgYmxvYnMgd2l0aCBhIHNpbmdsZSBmaWx0ZXIgY29tbWFuZCBpbnZvY2F0aW9uIGZvciB0aGUgZW50aXJlCitsaWZlIG9mIGEgc2luZ2xlIEdpdCBjb21tYW5kLCBmb3IgZXhhbXBsZSBgZ2l0IGFkZCAtLWFsbGAuIElmIGEKK2xvbmcgcnVubmluZyBgcHJvY2Vzc2AgZmlsdGVyIGlzIGNvbmZpZ3VyZWQgdGhlbiBpdCBhbHdheXMgdGFrZXMKK3ByZWNlZGVuY2Ugb3ZlciBhIGNvbmZpZ3VyZWQgc2luZ2xlIGJsb2IgZmlsdGVyLiBTZWUgc2VjdGlvbgorYmVsb3cgZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcHJvdG9jb2wgdXNlZCB0byBjb21tdW5pY2F0ZSB3aXRoCithIGBwcm9jZXNzYCBmaWx0ZXIuCiAKIE9uZSB1c2Ugb2YgdGhlIGNvbnRlbnQgZmlsdGVyaW5nIGlzIHRvIG1hc3NhZ2UgdGhlIGNvbnRlbnQgaW50byBhIHNoYXBlCiB0aGF0IGlzIG1vcmUgY29udmVuaWVudCBmb3IgdGhlIHBsYXRmb3JtLCBmaWxlc3lzdGVtLCBhbmQgdGhlIHVzZXIgdG8gdXNlLgpAQCAtMzc0LDYgKzM3NSwxNTggQEAKIAlzbXVkZ2UgPSBnaXQtcDQtZmlsdGVyIC0tc211ZGdlICVmCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAorTm90ZSB0aGF0ICIlZiIgaXMgdGhlIG5hbWUgb2YgdGhlIHBhdGggdGhhdCBpcyBiZWluZyB3b3JrZWQgb24uIERlcGVuZGluZworb24gdGhlIHZlcnNpb24gdGhhdCBpcyBiZWluZyBmaWx0ZXJlZCwgdGhlIGNvcnJlc3BvbmRpbmcgZmlsZSBvbiBkaXNrIG1heQorbm90IGV4aXN0LCBvciBtYXkgaGF2ZSBkaWZmZXJlbnQgY29udGVudHMuIFNvLCBzbXVkZ2UgYW5kIGNsZWFuIGNvbW1hbmRzCitzaG91bGQgbm90IHRyeSB0byBhY2Nlc3MgdGhlIGZpbGUgb24gZGlzaywgYnV0IG9ubHkgYWN0IGFzIGZpbHRlcnMgb24gdGhlCitjb250ZW50IHByb3ZpZGVkIHRvIHRoZW0gb24gc3RhbmRhcmQgaW5wdXQuCisKK0xvbmcgUnVubmluZyBGaWx0ZXIgUHJvY2VzcworXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCisKK0lmIHRoZSBmaWx0ZXIgY29tbWFuZCAoYSBzdHJpbmcgdmFsdWUpIGlzIGRlZmluZWQgdmlhCitgZmlsdGVyLjxkcml2ZXI+LnByb2Nlc3NgIHRoZW4gR2l0IGNhbiBwcm9jZXNzIGFsbCBibG9icyB3aXRoIGEKK3NpbmdsZSBmaWx0ZXIgaW52b2NhdGlvbiBmb3IgdGhlIGVudGlyZSBsaWZlIG9mIGEgc2luZ2xlIEdpdAorY29tbWFuZC4gVGhpcyBpcyBhY2hpZXZlZCBieSB1c2luZyBhIHBhY2tldCBmb3JtYXQgKHBrdC1saW5lLAorc2VlIHRlY2huaWNhbC9wcm90b2NvbC1jb21tb24udHh0KSBiYXNlZCBwcm90b2NvbCBvdmVyIHN0YW5kYXJkCitpbnB1dCBhbmQgc3RhbmRhcmQgb3V0cHV0IGFzIGZvbGxvd3MuIEFsbCBwYWNrZXRzLCBleGNlcHQgZm9yIHRoZQorIipDT05URU5UIiBwYWNrZXRzIGFuZCB0aGUgIjAwMDAiIGZsdXNoIHBhY2tldCwgYXJlIGNvbnNpZGVyZWQKK3RleHQgYW5kIHRoZXJlZm9yZSBhcmUgdGVybWluYXRlZCBieSBhIExGLgorCitHaXQgc3RhcnRzIHRoZSBmaWx0ZXIgd2hlbiBpdCBlbmNvdW50ZXJzIHRoZSBmaXJzdCBmaWxlCit0aGF0IG5lZWRzIHRvIGJlIGNsZWFuZWQgb3Igc211ZGdlZC4gQWZ0ZXIgdGhlIGZpbHRlciBzdGFydGVkCitHaXQgc2VuZHMgYSB3ZWxjb21lIG1lc3NhZ2UgKCJnaXQtZmlsdGVyLWNsaWVudCIpLCBhIGxpc3Qgb2Ygc3VwcG9ydGVkCitwcm90b2NvbCB2ZXJzaW9uIG51bWJlcnMsIGFuZCBhIGZsdXNoIHBhY2tldC4gR2l0IGV4cGVjdHMgdG8gcmVhZCBhIHdlbGNvbWUKK3Jlc3BvbnNlIG1lc3NhZ2UgKCJnaXQtZmlsdGVyLXNlcnZlciIpLCBleGFjdGx5IG9uZSBwcm90b2NvbCB2ZXJzaW9uIG51bWJlcgorZnJvbSB0aGUgcHJldmlvdXNseSBzZW50IGxpc3QsIGFuZCBhIGZsdXNoIHBhY2tldC4gQWxsIGZ1cnRoZXIKK2NvbW11bmljYXRpb24gd2lsbCBiZSBiYXNlZCBvbiB0aGUgc2VsZWN0ZWQgdmVyc2lvbi4gVGhlIHJlbWFpbmluZworcHJvdG9jb2wgZGVzY3JpcHRpb24gYmVsb3cgZG9jdW1lbnRzICJ2ZXJzaW9uPTIiLiBQbGVhc2Ugbm90ZSB0aGF0CisidmVyc2lvbj00MiIgaW4gdGhlIGV4YW1wbGUgYmVsb3cgZG9lcyBub3QgZXhpc3QgYW5kIGlzIG9ubHkgdGhlcmUKK3RvIGlsbHVzdHJhdGUgaG93IHRoZSBwcm90b2NvbCB3b3VsZCBsb29rIGxpa2Ugd2l0aCBtb3JlIHRoYW4gb25lCit2ZXJzaW9uLgorCitBZnRlciB0aGUgdmVyc2lvbiBuZWdvdGlhdGlvbiBHaXQgc2VuZHMgYSBsaXN0IG9mIGFsbCBjYXBhYmlsaXRpZXMgdGhhdAoraXQgc3VwcG9ydHMgYW5kIGEgZmx1c2ggcGFja2V0LiBHaXQgZXhwZWN0cyB0byByZWFkIGEgbGlzdCBvZiBkZXNpcmVkCitjYXBhYmlsaXRpZXMsIHdoaWNoIG11c3QgYmUgYSBzdWJzZXQgb2YgdGhlIHN1cHBvcnRlZCBjYXBhYmlsaXRpZXMgbGlzdCwKK2FuZCBhIGZsdXNoIHBhY2tldCBhcyByZXNwb25zZToKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorcGFja2V0OiAgICAgICAgICBnaXQ+IGdpdC1maWx0ZXItY2xpZW50CitwYWNrZXQ6ICAgICAgICAgIGdpdD4gdmVyc2lvbj0yCitwYWNrZXQ6ICAgICAgICAgIGdpdD4gdmVyc2lvbj00MgorcGFja2V0OiAgICAgICAgICBnaXQ+IDAwMDAKK3BhY2tldDogICAgICAgICAgZ2l0PCBnaXQtZmlsdGVyLXNlcnZlcgorcGFja2V0OiAgICAgICAgICBnaXQ8IHZlcnNpb249MgorcGFja2V0OiAgICAgICAgICBnaXQ8IDAwMDAKK3BhY2tldDogICAgICAgICAgZ2l0PiBjYXBhYmlsaXR5PWNsZWFuCitwYWNrZXQ6ICAgICAgICAgIGdpdD4gY2FwYWJpbGl0eT1zbXVkZ2UKK3BhY2tldDogICAgICAgICAgZ2l0PiBjYXBhYmlsaXR5PW5vdC15ZXQtaW52ZW50ZWQKK3BhY2tldDogICAgICAgICAgZ2l0PiAwMDAwCitwYWNrZXQ6ICAgICAgICAgIGdpdDwgY2FwYWJpbGl0eT1jbGVhbgorcGFja2V0OiAgICAgICAgICBnaXQ8IGNhcGFiaWxpdHk9c211ZGdlCitwYWNrZXQ6ICAgICAgICAgIGdpdDwgMDAwMAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitTdXBwb3J0ZWQgZmlsdGVyIGNhcGFiaWxpdGllcyBpbiB2ZXJzaW9uIDIgYXJlICJjbGVhbiIgYW5kCisic211ZGdlIi4KKworQWZ0ZXJ3YXJkcyBHaXQgc2VuZHMgYSBsaXN0IG9mICJrZXk9dmFsdWUiIHBhaXJzIHRlcm1pbmF0ZWQgd2l0aAorYSBmbHVzaCBwYWNrZXQuIFRoZSBsaXN0IHdpbGwgY29udGFpbiBhdCBsZWFzdCB0aGUgZmlsdGVyIGNvbW1hbmQKKyhiYXNlZCBvbiB0aGUgc3VwcG9ydGVkIGNhcGFiaWxpdGllcykgYW5kIHRoZSBwYXRobmFtZSBvZiB0aGUgZmlsZQordG8gZmlsdGVyIHJlbGF0aXZlIHRvIHRoZSByZXBvc2l0b3J5IHJvb3QuIFJpZ2h0IGFmdGVyIHRoZSBmbHVzaCBwYWNrZXQKK0dpdCBzZW5kcyB0aGUgY29udGVudCBzcGxpdCBpbiB6ZXJvIG9yIG1vcmUgcGt0LWxpbmUgcGFja2V0cyBhbmQgYQorZmx1c2ggcGFja2V0IHRvIHRlcm1pbmF0ZSBjb250ZW50LiBQbGVhc2Ugbm90ZSwgdGhhdCB0aGUgZmlsdGVyCittdXN0IG5vdCBzZW5kIGFueSByZXNwb25zZSBiZWZvcmUgaXQgcmVjZWl2ZWQgdGhlIGNvbnRlbnQgYW5kIHRoZQorZmluYWwgZmx1c2ggcGFja2V0LgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitwYWNrZXQ6ICAgICAgICAgIGdpdD4gY29tbWFuZD1zbXVkZ2UKK3BhY2tldDogICAgICAgICAgZ2l0PiBwYXRobmFtZT1wYXRoL3Rlc3RmaWxlLmRhdAorcGFja2V0OiAgICAgICAgICBnaXQ+IDAwMDAKK3BhY2tldDogICAgICAgICAgZ2l0PiBDT05URU5UCitwYWNrZXQ6ICAgICAgICAgIGdpdD4gMDAwMAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBmaWx0ZXIgaXMgZXhwZWN0ZWQgdG8gcmVzcG9uZCB3aXRoIGEgbGlzdCBvZiAia2V5PXZhbHVlIiBwYWlycwordGVybWluYXRlZCB3aXRoIGEgZmx1c2ggcGFja2V0LiBJZiB0aGUgZmlsdGVyIGRvZXMgbm90IGV4cGVyaWVuY2UKK3Byb2JsZW1zIHRoZW4gdGhlIGxpc3QgbXVzdCBjb250YWluIGEgInN1Y2Nlc3MiIHN0YXR1cy4gUmlnaHQgYWZ0ZXIKK3RoZXNlIHBhY2tldHMgdGhlIGZpbHRlciBpcyBleHBlY3RlZCB0byBzZW5kIHRoZSBjb250ZW50IGluIHplcm8KK29yIG1vcmUgcGt0LWxpbmUgcGFja2V0cyBhbmQgYSBmbHVzaCBwYWNrZXQgYXQgdGhlIGVuZC4gRmluYWxseSwgYQorc2Vjb25kIGxpc3Qgb2YgImtleT12YWx1ZSIgcGFpcnMgdGVybWluYXRlZCB3aXRoIGEgZmx1c2ggcGFja2V0CitpcyBleHBlY3RlZC4gVGhlIGZpbHRlciBjYW4gY2hhbmdlIHRoZSBzdGF0dXMgaW4gdGhlIHNlY29uZCBsaXN0CitvciBrZWVwIHRoZSBzdGF0dXMgYXMgaXMgd2l0aCBhbiBlbXB0eSBsaXN0LiBQbGVhc2Ugbm90ZSB0aGF0IHRoZQorZW1wdHkgbGlzdCBtdXN0IGJlIHRlcm1pbmF0ZWQgd2l0aCBhIGZsdXNoIHBhY2tldCByZWdhcmRsZXNzLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3BhY2tldDogICAgICAgICAgZ2l0PCBzdGF0dXM9c3VjY2VzcworcGFja2V0OiAgICAgICAgICBnaXQ8IDAwMDAKK3BhY2tldDogICAgICAgICAgZ2l0PCBTTVVER0VEX0NPTlRFTlQKK3BhY2tldDogICAgICAgICAgZ2l0PCAwMDAwCitwYWNrZXQ6ICAgICAgICAgIGdpdDwgMDAwMCAgIyBlbXB0eSBsaXN0LCBrZWVwICJzdGF0dXM9c3VjY2VzcyIgdW5jaGFuZ2VkIQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0lmIHRoZSByZXN1bHQgY29udGVudCBpcyBlbXB0eSB0aGVuIHRoZSBmaWx0ZXIgaXMgZXhwZWN0ZWQgdG8gcmVzcG9uZAord2l0aCBhICJzdWNjZXNzIiBzdGF0dXMgYW5kIGEgZmx1c2ggcGFja2V0IHRvIHNpZ25hbCB0aGUgZW1wdHkgY29udGVudC4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorcGFja2V0OiAgICAgICAgICBnaXQ8IHN0YXR1cz1zdWNjZXNzCitwYWNrZXQ6ICAgICAgICAgIGdpdDwgMDAwMAorcGFja2V0OiAgICAgICAgICBnaXQ8IDAwMDAgICMgZW1wdHkgY29udGVudCEKK3BhY2tldDogICAgICAgICAgZ2l0PCAwMDAwICAjIGVtcHR5IGxpc3QsIGtlZXAgInN0YXR1cz1zdWNjZXNzIiB1bmNoYW5nZWQhCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSW4gY2FzZSB0aGUgZmlsdGVyIGNhbm5vdCBvciBkb2VzIG5vdCB3YW50IHRvIHByb2Nlc3MgdGhlIGNvbnRlbnQsCitpdCBpcyBleHBlY3RlZCB0byByZXNwb25kIHdpdGggYW4gImVycm9yIiBzdGF0dXMuCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3BhY2tldDogICAgICAgICAgZ2l0PCBzdGF0dXM9ZXJyb3IKK3BhY2tldDogICAgICAgICAgZ2l0PCAwMDAwCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSWYgdGhlIGZpbHRlciBleHBlcmllbmNlcyBhbiBlcnJvciBkdXJpbmcgcHJvY2Vzc2luZywgdGhlbiBpdCBjYW4KK3NlbmQgdGhlIHN0YXR1cyAiZXJyb3IiIGFmdGVyIHRoZSBjb250ZW50IHdhcyAocGFydGlhbGx5IG9yCitjb21wbGV0ZWx5KSBzZW50LgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitwYWNrZXQ6ICAgICAgICAgIGdpdDwgc3RhdHVzPXN1Y2Nlc3MKK3BhY2tldDogICAgICAgICAgZ2l0PCAwMDAwCitwYWNrZXQ6ICAgICAgICAgIGdpdDwgSEFMRl9XUklUVEVOX0VSUk9ORU9VU19DT05URU5UCitwYWNrZXQ6ICAgICAgICAgIGdpdDwgMDAwMAorcGFja2V0OiAgICAgICAgICBnaXQ8IHN0YXR1cz1lcnJvcgorcGFja2V0OiAgICAgICAgICBnaXQ8IDAwMDAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitJbiBjYXNlIHRoZSBmaWx0ZXIgY2Fubm90IG9yIGRvZXMgbm90IHdhbnQgdG8gcHJvY2VzcyB0aGUgY29udGVudAorYXMgd2VsbCBhcyBhbnkgZnV0dXJlIGNvbnRlbnQgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUgR2l0IHByb2Nlc3MsCit0aGVuIGl0IGlzIGV4cGVjdGVkIHRvIHJlc3BvbmQgd2l0aCBhbiAiYWJvcnQiIHN0YXR1cyBhdCBhbnkgcG9pbnQKK2luIHRoZSBwcm90b2NvbC4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorcGFja2V0OiAgICAgICAgICBnaXQ8IHN0YXR1cz1hYm9ydAorcGFja2V0OiAgICAgICAgICBnaXQ8IDAwMDAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitHaXQgbmVpdGhlciBzdG9wcyBub3IgcmVzdGFydHMgdGhlIGZpbHRlciBwcm9jZXNzIGluIGNhc2UgdGhlCisiZXJyb3IiLyJhYm9ydCIgc3RhdHVzIGlzIHNldC4gSG93ZXZlciwgR2l0IHNldHMgaXRzIGV4aXQgY29kZQorYWNjb3JkaW5nIHRvIHRoZSBgZmlsdGVyLjxkcml2ZXI+LnJlcXVpcmVkYCBmbGFnLCBtaW1pY2tpbmcgdGhlCitiZWhhdmlvciBvZiB0aGUgYGZpbHRlci48ZHJpdmVyPi5jbGVhbmAgLyBgZmlsdGVyLjxkcml2ZXI+LnNtdWRnZWAKK21lY2hhbmlzbS4KKworSWYgdGhlIGZpbHRlciBkaWVzIGR1cmluZyB0aGUgY29tbXVuaWNhdGlvbiBvciBkb2VzIG5vdCBhZGhlcmUgdG8KK3RoZSBwcm90b2NvbCB0aGVuIEdpdCB3aWxsIHN0b3AgdGhlIGZpbHRlciBwcm9jZXNzIGFuZCByZXN0YXJ0IGl0Cit3aXRoIHRoZSBuZXh0IGZpbGUgdGhhdCBuZWVkcyB0byBiZSBwcm9jZXNzZWQuIERlcGVuZGluZyBvbiB0aGUKK2BmaWx0ZXIuPGRyaXZlcj4ucmVxdWlyZWRgIGZsYWcgR2l0IHdpbGwgaW50ZXJwcmV0IHRoYXQgYXMgZXJyb3IuCisKK0FmdGVyIHRoZSBmaWx0ZXIgaGFzIHByb2Nlc3NlZCBhIGJsb2IgaXQgaXMgZXhwZWN0ZWQgdG8gd2FpdCBmb3IKK3RoZSBuZXh0ICJrZXk9dmFsdWUiIGxpc3QgY29udGFpbmluZyBhIGNvbW1hbmQuIEdpdCB3aWxsIGNsb3NlCit0aGUgY29tbWFuZCBwaXBlIG9uIGV4aXQuIFRoZSBmaWx0ZXIgaXMgZXhwZWN0ZWQgdG8gZGV0ZWN0IEVPRgorYW5kIGV4aXQgZ3JhY2VmdWxseSBvbiBpdHMgb3duLiBHaXQgd2lsbCB3YWl0IHVudGlsIHRoZSBmaWx0ZXIKK3Byb2Nlc3MgaGFzIHN0b3BwZWQuCisKK0EgbG9uZyBydW5uaW5nIGZpbHRlciBkZW1vIGltcGxlbWVudGF0aW9uIGNhbiBiZSBmb3VuZCBpbgorYGNvbnRyaWIvbG9uZy1ydW5uaW5nLWZpbHRlci9leGFtcGxlLnBsYCBsb2NhdGVkIGluIHRoZSBHaXQKK2NvcmUgcmVwb3NpdG9yeS4gSWYgeW91IGRldmVsb3AgeW91ciBvd24gbG9uZyBydW5uaW5nIGZpbHRlcgorcHJvY2VzcyB0aGVuIHRoZSBgR0lUX1RSQUNFX1BBQ0tFVGAgZW52aXJvbm1lbnQgdmFyaWFibGVzIGNhbiBiZQordmVyeSBoZWxwZnVsIGZvciBkZWJ1Z2dpbmcgKHNlZSBsaW5rZ2l0OmdpdFsxXSkuCisKK1BsZWFzZSBub3RlIHRoYXQgeW91IGNhbm5vdCB1c2UgYW4gZXhpc3RpbmcgYGZpbHRlci48ZHJpdmVyPi5jbGVhbmAKK29yIGBmaWx0ZXIuPGRyaXZlcj4uc211ZGdlYCBjb21tYW5kIHdpdGggYGZpbHRlci48ZHJpdmVyPi5wcm9jZXNzYAorYmVjYXVzZSB0aGUgZm9ybWVyIHR3byB1c2UgYSBkaWZmZXJlbnQgaW50ZXIgcHJvY2VzcyBjb21tdW5pY2F0aW9uCitwcm90b2NvbCB0aGFuIHRoZSBsYXR0ZXIgb25lLgorCiAKIEludGVyYWN0aW9uIGJldHdlZW4gY2hlY2tpbi9jaGVja291dCBhdHRyaWJ1dGVzCiBeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgpAQCAtNTI1LDYgKzY3OCw4IEBACiAKIC0gYGNzaGFycGAgc3VpdGFibGUgZm9yIHNvdXJjZSBjb2RlIGluIHRoZSBDIyBsYW5ndWFnZS4KIAorLSBgY3NzYCBzdWl0YWJsZSBmb3IgY2FzY2FkaW5nIHN0eWxlIHNoZWV0cy4KKwogLSBgZm9ydHJhbmAgc3VpdGFibGUgZm9yIHNvdXJjZSBjb2RlIGluIHRoZSBGb3J0cmFuIGxhbmd1YWdlLgogCiAtIGBmb3VudGFpbmAgc3VpdGFibGUgZm9yIEZvdW50YWluIGRvY3VtZW50cy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0Y29yZS10dXRvcmlhbC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdGNvcmUtdHV0b3JpYWwudHh0CmluZGV4IDE1YjNiZmEuLjQ1NDZmYTAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0Y29yZS10dXRvcmlhbC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXRjb3JlLXR1dG9yaWFsLnR4dApAQCAtOTQ5LDcgKzk0OSw3IEBACiBbTk9URV0KIElmIHRoZXJlIHdlcmUgbW9yZSBjb21taXRzIG9uIHRoZSAnbWFzdGVyJyBicmFuY2ggYWZ0ZXIgdGhlIG1lcmdlLCB0aGUKIG1lcmdlIGNvbW1pdCBpdHNlbGYgd291bGQgbm90IGJlIHNob3duIGJ5ICdnaXQgc2hvdy1icmFuY2gnIGJ5Ci1kZWZhdWx0LiAgWW91IHdvdWxkIG5lZWQgdG8gcHJvdmlkZSAnLS1zcGFyc2UnIG9wdGlvbiB0byBtYWtlIHRoZQorZGVmYXVsdC4gIFlvdSB3b3VsZCBuZWVkIHRvIHByb3ZpZGUgYC0tc3BhcnNlYCBvcHRpb24gdG8gbWFrZSB0aGUKIG1lcmdlIGNvbW1pdCB2aXNpYmxlIGluIHRoaXMgY2FzZS4KIAogTm93LCBsZXQncyBwcmV0ZW5kIHlvdSBhcmUgdGhlIG9uZSB3aG8gZGlkIGFsbCB0aGUgd29yayBpbgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRjdnMtbWlncmF0aW9uLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0Y3ZzLW1pZ3JhdGlvbi50eHQKaW5kZXggYjA2ZTg1Mi4uNGM2MTQzYyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRjdnMtbWlncmF0aW9uLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdGN2cy1taWdyYXRpb24udHh0CkBAIC0xMTYsOCArMTE2LDEyIEBACiBJbXBvcnRpbmcgYSBDVlMgYXJjaGl2ZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAorTk9URTogVGhlc2UgaW5zdHJ1Y3Rpb25zIHVzZSB0aGUgYGdpdC1jdnNpbXBvcnRgIHNjcmlwdCB3aGljaCBzaGlwcyB3aXRoCitnaXQsIGJ1dCBvdGhlciBpbXBvcnRlcnMgbWF5IHByb3ZpZGUgYmV0dGVyIHJlc3VsdHMuIFNlZSB0aGUgbm90ZSBpbgorbGlua2dpdDpnaXQtY3ZzaW1wb3J0WzFdIGZvciBvdGhlciBvcHRpb25zLgorCiBGaXJzdCwgaW5zdGFsbCB2ZXJzaW9uIDIuMSBvciBoaWdoZXIgb2YgY3ZzcHMgZnJvbQotaHR0cDovL3d3dy5jb2JpdGUuY29tL2N2c3BzL1todHRwOi8vd3d3LmNvYml0ZS5jb20vY3ZzcHMvXSBhbmQgbWFrZQoraHR0cHM6Ly9naXRodWIuY29tL2FuZHJleXZpdC9jdnNwc1todHRwczovL2dpdGh1Yi5jb20vYW5kcmV5dml0L2N2c3BzXSBhbmQgbWFrZQogc3VyZSBpdCBpcyBpbiB5b3VyIHBhdGguICBUaGVuIGNkIHRvIGEgY2hlY2tlZCBvdXQgQ1ZTIHdvcmtpbmcgZGlyZWN0b3J5CiBvZiB0aGUgcHJvamVjdCB5b3UgYXJlIGludGVyZXN0ZWQgaW4gYW5kIHJ1biBsaW5rZ2l0OmdpdC1jdnNpbXBvcnRbMV06CiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0ZGlmZmNvcmUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRkaWZmY29yZS50eHQKaW5kZXggYzU3OTU5My4uMDhjZjYyMiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRkaWZmY29yZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXRkaWZmY29yZS50eHQKQEAgLTI4LDggKzI4LDggQEAKIGZpbGVzOgogCiAgLSAnZ2l0IGRpZmYtaW5kZXgnIGNvbXBhcmVzIGNvbnRlbnRzIG9mIGEgInRyZWUiIG9iamVjdCBhbmQgdGhlCi0gICB3b3JraW5nIGRpcmVjdG9yeSAod2hlbiAnLS1jYWNoZWQnIGZsYWcgaXMgbm90IHVzZWQpIG9yIGEKLSAgICJ0cmVlIiBvYmplY3QgYW5kIHRoZSBpbmRleCBmaWxlICh3aGVuICctLWNhY2hlZCcgZmxhZyBpcworICAgd29ya2luZyBkaXJlY3RvcnkgKHdoZW4gYC0tY2FjaGVkYCBmbGFnIGlzIG5vdCB1c2VkKSBvciBhCisgICAidHJlZSIgb2JqZWN0IGFuZCB0aGUgaW5kZXggZmlsZSAod2hlbiBgLS1jYWNoZWRgIGZsYWcgaXMKICAgIHVzZWQpOwogCiAgLSAnZ2l0IGRpZmYtZmlsZXMnIGNvbXBhcmVzIGNvbnRlbnRzIG9mIHRoZSBpbmRleCBmaWxlIGFuZCB0aGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0aG9va3MudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRob29rcy50eHQKaW5kZXggZDgyZTkxMi4uOTU2NWRjMyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRob29rcy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXRob29rcy50eHQKQEAgLTI0Nyw2ICsyNDcsMTUgQEAKICdnaXQgc2VuZC1wYWNrJyBvbiB0aGUgb3RoZXIgZW5kLCBzbyB5b3UgY2FuIHNpbXBseSBgZWNob2AgbWVzc2FnZXMKIGZvciB0aGUgdXNlci4KIAorVGhlIG51bWJlciBvZiBwdXNoIG9wdGlvbnMgZ2l2ZW4gb24gdGhlIGNvbW1hbmQgbGluZSBvZgorYGdpdCBwdXNoIC0tcHVzaC1vcHRpb249Li4uYCBjYW4gYmUgcmVhZCBmcm9tIHRoZSBlbnZpcm9ubWVudAordmFyaWFibGUgYEdJVF9QVVNIX09QVElPTl9DT1VOVGAsIGFuZCB0aGUgb3B0aW9ucyB0aGVtc2VsdmVzIGFyZQorZm91bmQgaW4gYEdJVF9QVVNIX09QVElPTl8wYCwgYEdJVF9QVVNIX09QVElPTl8xYCwuLi4KK0lmIGl0IGlzIG5lZ290aWF0ZWQgdG8gbm90IHVzZSB0aGUgcHVzaCBvcHRpb25zIHBoYXNlLCB0aGUKK2Vudmlyb25tZW50IHZhcmlhYmxlcyB3aWxsIG5vdCBiZSBzZXQuIElmIHRoZSBjbGllbnQgc2VsZWN0cwordG8gdXNlIHB1c2ggb3B0aW9ucywgYnV0IGRvZXNuJ3QgdHJhbnNtaXQgYW55LCB0aGUgY291bnQgdmFyaWFibGUKK3dpbGwgYmUgc2V0IHRvIHplcm8sIGBHSVRfUFVTSF9PUFRJT05fQ09VTlQ9MGAuCisKIFtbdXBkYXRlXV0KIHVwZGF0ZQogfn5+fn5+CkBAIC0zMjIsNiArMzMxLDE1IEBACiBkaXJlY3RvcnkgaW4gR2l0IGRpc3RyaWJ1dGlvbiwgd2hpY2ggaW1wbGVtZW50cyBzZW5kaW5nIGNvbW1pdAogZW1haWxzLgogCitUaGUgbnVtYmVyIG9mIHB1c2ggb3B0aW9ucyBnaXZlbiBvbiB0aGUgY29tbWFuZCBsaW5lIG9mCitgZ2l0IHB1c2ggLS1wdXNoLW9wdGlvbj0uLi5gIGNhbiBiZSByZWFkIGZyb20gdGhlIGVudmlyb25tZW50Cit2YXJpYWJsZSBgR0lUX1BVU0hfT1BUSU9OX0NPVU5UYCwgYW5kIHRoZSBvcHRpb25zIHRoZW1zZWx2ZXMgYXJlCitmb3VuZCBpbiBgR0lUX1BVU0hfT1BUSU9OXzBgLCBgR0lUX1BVU0hfT1BUSU9OXzFgLC4uLgorSWYgaXQgaXMgbmVnb3RpYXRlZCB0byBub3QgdXNlIHRoZSBwdXNoIG9wdGlvbnMgcGhhc2UsIHRoZQorZW52aXJvbm1lbnQgdmFyaWFibGVzIHdpbGwgbm90IGJlIHNldC4gSWYgdGhlIGNsaWVudCBzZWxlY3RzCit0byB1c2UgcHVzaCBvcHRpb25zLCBidXQgZG9lc24ndCB0cmFuc21pdCBhbnksIHRoZSBjb3VudCB2YXJpYWJsZQord2lsbCBiZSBzZXQgdG8gemVybywgYEdJVF9QVVNIX09QVElPTl9DT1VOVD0wYC4KKwogW1twb3N0LXVwZGF0ZV1dCiBwb3N0LXVwZGF0ZQogfn5+fn5+fn5+fn4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0aWdub3JlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0aWdub3JlLnR4dAppbmRleCA0NzM2MjNkLi42MzI2MGYwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdGlnbm9yZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXRpZ25vcmUudHh0CkBAIC0zOCw3ICszOCw3IEBACiAgKiBQYXR0ZXJucyByZWFkIGZyb20gYCRHSVRfRElSL2luZm8vZXhjbHVkZWAuCiAKICAqIFBhdHRlcm5zIHJlYWQgZnJvbSB0aGUgZmlsZSBzcGVjaWZpZWQgYnkgdGhlIGNvbmZpZ3VyYXRpb24KLSAgIHZhcmlhYmxlICdjb3JlLmV4Y2x1ZGVzRmlsZScuCisgICB2YXJpYWJsZSBgY29yZS5leGNsdWRlc0ZpbGVgLgogCiBXaGljaCBmaWxlIHRvIHBsYWNlIGEgcGF0dGVybiBpbiBkZXBlbmRzIG9uIGhvdyB0aGUgcGF0dGVybiBpcyBtZWFudCB0bwogYmUgdXNlZC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0ay50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdGsudHh0CmluZGV4IDZhZGUwMDIuLmUzODJkZDkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0ay50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXRrLnR4dApAQCAtNzAsNyArNzAsNyBAQAogCiAtLWxlZnQtcmlnaHQ6OgogCi0JTWFyayB3aGljaCBzaWRlIG9mIGEgc3ltbWV0cmljIGRpZmYgYSBjb21taXQgaXMgcmVhY2hhYmxlCisJTWFyayB3aGljaCBzaWRlIG9mIGEgc3ltbWV0cmljIGRpZmZlcmVuY2UgYSBjb21taXQgaXMgcmVhY2hhYmxlCiAJZnJvbS4gIENvbW1pdHMgZnJvbSB0aGUgbGVmdCBzaWRlIGFyZSBwcmVmaXhlZCB3aXRoIGEgYDxgCiAJc3ltYm9sIGFuZCB0aG9zZSBmcm9tIHRoZSByaWdodCB3aXRoIGEgYD5gIHN5bWJvbC4KIApAQCAtODIsNyArODIsNyBAQAogCiAtLXNpbXBsaWZ5LW1lcmdlczo6CiAKLQlBZGRpdGlvbmFsIG9wdGlvbiB0byAnLS1mdWxsLWhpc3RvcnknIHRvIHJlbW92ZSBzb21lIG5lZWRsZXNzCisJQWRkaXRpb25hbCBvcHRpb24gdG8gYC0tZnVsbC1oaXN0b3J5YCB0byByZW1vdmUgc29tZSBuZWVkbGVzcwogCW1lcmdlcyBmcm9tIHRoZSByZXN1bHRpbmcgaGlzdG9yeSwgYXMgdGhlcmUgYXJlIG5vIHNlbGVjdGVkCiAJY29tbWl0cyBjb250cmlidXRpbmcgdG8gdGhpcyBtZXJnZS4gIChTZWUgIkhpc3RvcnkKIAlzaW1wbGlmaWNhdGlvbiIgaW4gbGlua2dpdDpnaXQtbG9nWzFdIGZvciBhIG1vcmUgZGV0YWlsZWQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0bW9kdWxlcy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdG1vZHVsZXMudHh0CmluZGV4IGFjNzBlY2EuLjhmN2M1MGYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0bW9kdWxlcy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXRtb2R1bGVzLnR4dApAQCAtMTksNyArMTksNyBAQAogCiBUaGUgZmlsZSBjb250YWlucyBvbmUgc3Vic2VjdGlvbiBwZXIgc3VibW9kdWxlLCBhbmQgdGhlIHN1YnNlY3Rpb24gdmFsdWUKIGlzIHRoZSBuYW1lIG9mIHRoZSBzdWJtb2R1bGUuIFRoZSBuYW1lIGlzIHNldCB0byB0aGUgcGF0aCB3aGVyZSB0aGUKLXN1Ym1vZHVsZSBoYXMgYmVlbiBhZGRlZCB1bmxlc3MgaXQgd2FzIGN1c3RvbWl6ZWQgd2l0aCB0aGUgJy0tbmFtZScKK3N1Ym1vZHVsZSBoYXMgYmVlbiBhZGRlZCB1bmxlc3MgaXQgd2FzIGN1c3RvbWl6ZWQgd2l0aCB0aGUgYC0tbmFtZWAKIG9wdGlvbiBvZiAnZ2l0IHN1Ym1vZHVsZSBhZGQnLiBFYWNoIHN1Ym1vZHVsZSBzZWN0aW9uIGFsc28gY29udGFpbnMgdGhlCiBmb2xsb3dpbmcgcmVxdWlyZWQga2V5czoKIApAQCAtNTAsOCArNTAsMTEgQEAKIAogc3VibW9kdWxlLjxuYW1lPi5icmFuY2g6OgogCUEgcmVtb3RlIGJyYW5jaCBuYW1lIGZvciB0cmFja2luZyB1cGRhdGVzIGluIHRoZSB1cHN0cmVhbSBzdWJtb2R1bGUuCi0JSWYgdGhlIG9wdGlvbiBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkZWZhdWx0cyB0byAnbWFzdGVyJy4gIFNlZSB0aGUKLQlgLS1yZW1vdGVgIGRvY3VtZW50YXRpb24gaW4gbGlua2dpdDpnaXQtc3VibW9kdWxlWzFdIGZvciBkZXRhaWxzLgorCUlmIHRoZSBvcHRpb24gaXMgbm90IHNwZWNpZmllZCwgaXQgZGVmYXVsdHMgdG8gJ21hc3RlcicuICBBIHNwZWNpYWwKKwl2YWx1ZSBvZiBgLmAgaXMgdXNlZCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBuYW1lIG9mIHRoZSBicmFuY2ggaW4gdGhlCisJc3VibW9kdWxlIHNob3VsZCBiZSB0aGUgc2FtZSBuYW1lIGFzIHRoZSBjdXJyZW50IGJyYW5jaCBpbiB0aGUKKwljdXJyZW50IHJlcG9zaXRvcnkuICBTZWUgdGhlIGAtLXJlbW90ZWAgZG9jdW1lbnRhdGlvbiBpbgorCWxpbmtnaXQ6Z2l0LXN1Ym1vZHVsZVsxXSBmb3IgZGV0YWlscy4KIAogc3VibW9kdWxlLjxuYW1lPi5mZXRjaFJlY3Vyc2VTdWJtb2R1bGVzOjoKIAlUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiB0aGlzCkBAIC03OSw2ICs4MiwxMSBAQAogCSItLWlnbm9yZS1zdWJtb2R1bGUiIG9wdGlvbi4gVGhlICdnaXQgc3VibW9kdWxlJyBjb21tYW5kcyBhcmUgbm90CiAJYWZmZWN0ZWQgYnkgdGhpcyBzZXR0aW5nLgogCitzdWJtb2R1bGUuPG5hbWU+LnNoYWxsb3c6OgorCVdoZW4gc2V0IHRvIHRydWUsIGEgY2xvbmUgb2YgdGhpcyBzdWJtb2R1bGUgd2lsbCBiZSBwZXJmb3JtZWQgYXMgYQorCXNoYWxsb3cgY2xvbmUgdW5sZXNzIHRoZSB1c2VyIGV4cGxpY2l0bHkgYXNrcyBmb3IgYSBub24tc2hhbGxvdworCWNsb25lLgorCiAKIEVYQU1QTEVTCiAtLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRyZW1vdGUtaGVscGVycy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdHJlbW90ZS1oZWxwZXJzLnR4dAppbmRleCA3OGUwYjI3Li45ZTg2ODFmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdHJlbW90ZS1oZWxwZXJzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdHJlbW90ZS1oZWxwZXJzLnR4dApAQCAtNDMsNyArNDMsNyBAQAogaXQgaXMgZWl0aGVyIHRoZSBuYW1lIG9mIGEgY29uZmlndXJlZCByZW1vdGUgb3IgYSBVUkwuIFRoZSBzZWNvbmQKIGFyZ3VtZW50IHNwZWNpZmllcyBhIFVSTDsgaXQgaXMgdXN1YWxseSBvZiB0aGUgZm9ybQogJzx0cmFuc3BvcnQ+Oi8vPGFkZHJlc3M+JywgYnV0IGFueSBhcmJpdHJhcnkgc3RyaW5nIGlzIHBvc3NpYmxlLgotVGhlICdHSVRfRElSJyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQgdXAgZm9yIHRoZSByZW1vdGUgaGVscGVyCitUaGUgYEdJVF9ESVJgIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCB1cCBmb3IgdGhlIHJlbW90ZSBoZWxwZXIKIGFuZCBjYW4gYmUgdXNlZCB0byBkZXRlcm1pbmUgd2hlcmUgdG8gc3RvcmUgYWRkaXRpb25hbCBkYXRhIG9yIGZyb20KIHdoaWNoIGRpcmVjdG9yeSB0byBpbnZva2UgYXV4aWxpYXJ5IEdpdCBjb21tYW5kcy4KIApAQCAtNjEsMTAgKzYxLDEwIEBACiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgJzxhZGRyZXNzPicsIGFuZCBpZiBpdCBpcyBlbmNvdW50ZXJlZCBpbiBhCiBjb25maWd1cmVkIHJlbW90ZSwgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIHRoZSBuYW1lIG9mIHRoYXQgcmVtb3RlLgogCi1BZGRpdGlvbmFsbHksIHdoZW4gYSBjb25maWd1cmVkIHJlbW90ZSBoYXMgJ3JlbW90ZS48bmFtZT4udmNzJyBzZXQgdG8KK0FkZGl0aW9uYWxseSwgd2hlbiBhIGNvbmZpZ3VyZWQgcmVtb3RlIGhhcyBgcmVtb3RlLjxuYW1lPi52Y3NgIHNldCB0bwogJzx0cmFuc3BvcnQ+JywgR2l0IGV4cGxpY2l0bHkgaW52b2tlcyAnZ2l0IHJlbW90ZS08dHJhbnNwb3J0Picgd2l0aAogJzxuYW1lPicgYXMgdGhlIGZpcnN0IGFyZ3VtZW50LiBJZiBzZXQsIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMKLSdyZW1vdGUuPG5hbWU+LnVybCc7IG90aGVyd2lzZSwgdGhlIHNlY29uZCBhcmd1bWVudCBpcyBvbWl0dGVkLgorYHJlbW90ZS48bmFtZT4udXJsYDsgb3RoZXJ3aXNlLCB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIG9taXR0ZWQuCiAKIElOUFVUIEZPUk1BVAogLS0tLS0tLS0tLS0tCkBAIC0yMTAsMTcgKzIxMCwxNyBAQAogJ2V4cG9ydC1tYXJrcycgPGZpbGU+OjoKIAlUaGlzIG1vZGlmaWVzIHRoZSAnZXhwb3J0JyBjYXBhYmlsaXR5LCBpbnN0cnVjdGluZyBHaXQgdG8gZHVtcCB0aGUKIAlpbnRlcm5hbCBtYXJrcyB0YWJsZSB0byA8ZmlsZT4gd2hlbiBjb21wbGV0ZS4gRm9yIGRldGFpbHMsCi0JcmVhZCB1cCBvbiAnLS1leHBvcnQtbWFya3M9PGZpbGU+JyBpbiBsaW5rZ2l0OmdpdC1mYXN0LWV4cG9ydFsxXS4KKwlyZWFkIHVwIG9uIGAtLWV4cG9ydC1tYXJrcz08ZmlsZT5gIGluIGxpbmtnaXQ6Z2l0LWZhc3QtZXhwb3J0WzFdLgogCiAnaW1wb3J0LW1hcmtzJyA8ZmlsZT46OgogCVRoaXMgbW9kaWZpZXMgdGhlICdleHBvcnQnIGNhcGFiaWxpdHksIGluc3RydWN0aW5nIEdpdCB0byBsb2FkIHRoZQogCW1hcmtzIHNwZWNpZmllZCBpbiA8ZmlsZT4gYmVmb3JlIHByb2Nlc3NpbmcgYW55IGlucHV0LiBGb3IgZGV0YWlscywKLQlyZWFkIHVwIG9uICctLWltcG9ydC1tYXJrcz08ZmlsZT4nIGluIGxpbmtnaXQ6Z2l0LWZhc3QtZXhwb3J0WzFdLgorCXJlYWQgdXAgb24gYC0taW1wb3J0LW1hcmtzPTxmaWxlPmAgaW4gbGlua2dpdDpnaXQtZmFzdC1leHBvcnRbMV0uCiAKICdzaWduZWQtdGFncyc6OgogCVRoaXMgbW9kaWZpZXMgdGhlICdleHBvcnQnIGNhcGFiaWxpdHksIGluc3RydWN0aW5nIEdpdCB0byBwYXNzCi0JJy0tc2lnbmVkLXRhZ3M9dmVyYmF0aW0nIHRvIGxpbmtnaXQ6Z2l0LWZhc3QtZXhwb3J0WzFdLiAgSW4gdGhlCi0JYWJzZW5jZSBvZiB0aGlzIGNhcGFiaWxpdHksIEdpdCB3aWxsIHVzZSAnLS1zaWduZWQtdGFncz13YXJuLXN0cmlwJy4KKwlgLS1zaWduZWQtdGFncz12ZXJiYXRpbWAgdG8gbGlua2dpdDpnaXQtZmFzdC1leHBvcnRbMV0uICBJbiB0aGUKKwlhYnNlbmNlIG9mIHRoaXMgY2FwYWJpbGl0eSwgR2l0IHdpbGwgdXNlIGAtLXNpZ25lZC10YWdzPXdhcm4tc3RyaXBgLgogCiAKIApAQCAtMjk4LDcgKzI5OCw3IEBACiAJaXMgZm9sbG93ZWQgYnkgYSBibGFuayBsaW5lKS4gRm9yIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgd291bGQKIAliZSB0d28gYmF0Y2hlcyBvZiAncHVzaCcsIHRoZSBmaXJzdCBhc2tpbmcgdGhlIHJlbW90ZS1oZWxwZXIKIAl0byBwdXNoIHRoZSBsb2NhbCByZWYgJ21hc3RlcicgdG8gdGhlIHJlbW90ZSByZWYgJ21hc3RlcicgYW5kCi0JdGhlIGxvY2FsICdIRUFEJyB0byB0aGUgcmVtb3RlICdicmFuY2gnLCBhbmQgdGhlIHNlY29uZAorCXRoZSBsb2NhbCBgSEVBRGAgdG8gdGhlIHJlbW90ZSAnYnJhbmNoJywgYW5kIHRoZSBzZWNvbmQKIAlhc2tpbmcgdG8gcHVzaCByZWYgJ2ZvbycgdG8gcmVmICdiYXInIChmb3JjZWQgdXBkYXRlIHJlcXVlc3RlZAogCWJ5IHRoZSAnKycpLgogKwpAQCAtNDE1LDYgKzQxNSwxNyBAQAogJ29wdGlvbiBkZXB0aCcgPGRlcHRoPjo6CiAJRGVlcGVucyB0aGUgaGlzdG9yeSBvZiBhIHNoYWxsb3cgcmVwb3NpdG9yeS4KIAorJ29wdGlvbiBkZWVwZW4tc2luY2UgPHRpbWVzdGFtcD46OgorCURlZXBlbnMgdGhlIGhpc3Rvcnkgb2YgYSBzaGFsbG93IHJlcG9zaXRvcnkgYmFzZWQgb24gdGltZS4KKworJ29wdGlvbiBkZWVwZW4tbm90IDxyZWY+OjoKKwlEZWVwZW5zIHRoZSBoaXN0b3J5IG9mIGEgc2hhbGxvdyByZXBvc2l0b3J5IGV4Y2x1ZGluZyByZWYuCisJTXVsdGlwbGUgb3B0aW9ucyBhZGQgdXAuCisKKydvcHRpb24gZGVlcGVuLXJlbGF0aXZlIHsndHJ1ZSd8J2ZhbHNlJ306OgorCURlZXBlbnMgdGhlIGhpc3Rvcnkgb2YgYSBzaGFsbG93IHJlcG9zaXRvcnkgcmVsYXRpdmUgdG8KKwljdXJyZW50IGJvdW5kYXJ5LiBPbmx5IHZhbGlkIHdoZW4gdXNlZCB3aXRoICJvcHRpb24gZGVwdGgiLgorCiAnb3B0aW9uIGZvbGxvd3RhZ3MnIHsndHJ1ZSd8J2ZhbHNlJ306OgogCUlmIGVuYWJsZWQgdGhlIGhlbHBlciBzaG91bGQgYXV0b21hdGljYWxseSBmZXRjaCBhbm5vdGF0ZWQKIAl0YWcgb2JqZWN0cyBpZiB0aGUgb2JqZWN0IHRoZSB0YWcgcG9pbnRzIGF0IHdhcyB0cmFuc2ZlcnJlZApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRyZXBvc2l0b3J5LWxheW91dC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdHJlcG9zaXRvcnktbGF5b3V0LnR4dAppbmRleCA1NzdlZTg0Li5hNWY5OWNiIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdHJlcG9zaXRvcnktbGF5b3V0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdHJlcG9zaXRvcnktbGF5b3V0LnR4dApAQCAtMTc3LDcgKzE3Nyw3IEBACiBpbmZvOjoKIAlBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSByZXBvc2l0b3J5IGlzIHJlY29yZGVkCiAJaW4gdGhpcyBkaXJlY3RvcnkuIFRoaXMgZGlyZWN0b3J5IGlzIGlnbm9yZWQgaWYgJEdJVF9DT01NT05fRElSCi0JaXMgc2V0IGFuZCAiJEdJVF9DT01NT05fRElSL2luZGV4IiB3aWxsIGJlIHVzZWQgaW5zdGVhZC4KKwlpcyBzZXQgYW5kICIkR0lUX0NPTU1PTl9ESVIvaW5mbyIgd2lsbCBiZSB1c2VkIGluc3RlYWQuCiAKIGluZm8vcmVmczo6CiAJVGhpcyBmaWxlIGhlbHBzIGR1bWIgdHJhbnNwb3J0cyBkaXNjb3ZlciB3aGF0IHJlZnMgYXJlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdHJldmlzaW9ucy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdHJldmlzaW9ucy50eHQKaW5kZXggZTkwM2ViNy4uMjdkZWM1YiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRyZXZpc2lvbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0cmV2aXNpb25zLnR4dApAQCAtMTUsOSArMTUsOSBAQAogCiBNYW55IEdpdCBjb21tYW5kcyB0YWtlIHJldmlzaW9uIHBhcmFtZXRlcnMgYXMgYXJndW1lbnRzLiBEZXBlbmRpbmcgb24KIHRoZSBjb21tYW5kLCB0aGV5IGRlbm90ZSBhIHNwZWNpZmljIGNvbW1pdCBvciwgZm9yIGNvbW1hbmRzIHdoaWNoCi13YWxrIHRoZSByZXZpc2lvbiBncmFwaCAoc3VjaCBhcyBsaW5rZ2l0OmdpdC1sb2dbMV0pLCBhbGwgY29tbWl0cyB3aGljaCBjYW4KLWJlIHJlYWNoZWQgZnJvbSB0aGF0IGNvbW1pdC4gSW4gdGhlIGxhdHRlciBjYXNlIG9uZSBjYW4gYWxzbyBzcGVjaWZ5IGEKLXJhbmdlIG9mIHJldmlzaW9ucyBleHBsaWNpdGx5Lgord2FsayB0aGUgcmV2aXNpb24gZ3JhcGggKHN1Y2ggYXMgbGlua2dpdDpnaXQtbG9nWzFdKSwgYWxsIGNvbW1pdHMgd2hpY2ggYXJlCityZWFjaGFibGUgZnJvbSB0aGF0IGNvbW1pdC4gRm9yIGNvbW1hbmRzIHRoYXQgd2FsayB0aGUgcmV2aXNpb24gZ3JhcGggb25lIGNhbgorYWxzbyBzcGVjaWZ5IGEgcmFuZ2Ugb2YgcmV2aXNpb25zIGV4cGxpY2l0bHkuCiAKIEluIGFkZGl0aW9uLCBzb21lIEdpdCBjb21tYW5kcyAoc3VjaCBhcyBsaW5rZ2l0OmdpdC1zaG93WzFdKSBhbHNvIHRha2UKIHJldmlzaW9uIHBhcmFtZXRlcnMgd2hpY2ggZGVub3RlIG90aGVyIG9iamVjdHMgdGhhbiBjb21taXRzLCBlLmcuIGJsb2JzCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdHdlYi5jb25mLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0d2ViLmNvbmYudHh0CmluZGV4IDhhNDIyNzAuLmU2MzIwODkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0d2ViLmNvbmYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0d2ViLmNvbmYudHh0CkBAIC0yNDYsMTMgKzI0NiwyMCBAQAogCU5vdGUgdGhhdCAnaGlnaGxpZ2h0JyBmZWF0dXJlIG11c3QgYmUgc2V0IGZvciBnaXR3ZWIgdG8gYWN0dWFsbHkKIAl1c2Ugc3ludGF4IGhpZ2hsaWdodGluZy4KICsKLSpOT1RFKjogaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIG5ldyBmaWxlIHR5cGUgKHN1cHBvcnRlZCBieQotImhpZ2hsaWdodCIgYnV0IG5vdCB1c2VkIGJ5IGdpdHdlYiksIHlvdSBuZWVkIHRvIG1vZGlmeSBgJWhpZ2hsaWdodF9leHRgCi1vciBgJWhpZ2hsaWdodF9iYXNlbmFtZWAsIGRlcGVuZGluZyBvbiB3aGV0aGVyIHlvdSBkZXRlY3QgdHlwZSBvZiBmaWxlCi1iYXNlZCBvbiBleHRlbnNpb24gKGZvciBleGFtcGxlICJzaCIpIG9yIG9uIGl0cyBiYXNlbmFtZSAoZm9yIGV4YW1wbGUKLSJNYWtlZmlsZSIpLiAgVGhlIGtleXMgb2YgdGhlc2UgaGFzaGVzIGFyZSBleHRlbnNpb24gYW5kIGJhc2VuYW1lLAotcmVzcGVjdGl2ZWx5LCBhbmQgdmFsdWUgZm9yIGdpdmVuIGtleSBpcyBuYW1lIG9mIHN5bnRheCB0byBiZSBwYXNzZWQgdmlhCi1gLS1zeW50YXggPHN5bnRheD5gIHRvIGhpZ2hsaWdodGVyLgorKk5PVEUqOiBmb3IgYSBmaWxlIHRvIGJlIGhpZ2hsaWdodGVkLCBpdHMgc3ludGF4IHR5cGUgbXVzdCBiZSBkZXRlY3RlZAorYW5kIHRoYXQgc3ludGF4IG11c3QgYmUgc3VwcG9ydGVkIGJ5ICJoaWdobGlnaHQiLiAgVGhlIGRlZmF1bHQgc3ludGF4CitkZXRlY3Rpb24gaXMgbWluaW1hbCwgYW5kIHRoZXJlIGFyZSBtYW55IHN1cHBvcnRlZCBzeW50YXggdHlwZXMgd2l0aCBubworZGV0ZWN0aW9uIGJ5IGRlZmF1bHQuICBUaGVyZSBhcmUgdGhyZWUgb3B0aW9ucyBmb3IgYWRkaW5nIHN5bnRheAorZGV0ZWN0aW9uLiAgVGhlIGZpcnN0IGFuZCBzZWNvbmQgcHJpb3JpdHkgYXJlIGAlaGlnaGxpZ2h0X2Jhc2VuYW1lYCBhbmQKK2AlaGlnaGxpZ2h0X2V4dGAsIHdoaWNoIGRldGVjdCBiYXNlZCBvbiBiYXNlbmFtZSAodGhlIGZ1bGwgZmlsZW5hbWUsIGZvcgorZXhhbXBsZSAiTWFrZWZpbGUiKSBhbmQgZXh0ZW5zaW9uIChmb3IgZXhhbXBsZSAic2giKS4gIFRoZSBrZXlzIG9mIHRoZXNlCitoYXNoZXMgYXJlIHRoZSBiYXNlbmFtZSBhbmQgZXh0ZW5zaW9uLCByZXNwZWN0aXZlbHksIGFuZCB0aGUgdmFsdWUgZm9yIGEKK2dpdmVuIGtleSBpcyB0aGUgbmFtZSBvZiB0aGUgc3ludGF4IHRvIGJlIHBhc3NlZCB2aWEgYC0tc3ludGF4IDxzeW50YXg+YAordG8gImhpZ2hsaWdodCIuICBUaGUgbGFzdCBwcmlvcml0eSBpcyB0aGUgImhpZ2hsaWdodCIgY29uZmlndXJhdGlvbiBvZgorYFNoZWJhbmdgIHJlZ3VsYXIgZXhwcmVzc2lvbnMgdG8gZGV0ZWN0IHRoZSBsYW5ndWFnZSBiYXNlZCBvbiB0aGUgZmlyc3QKK2xpbmUgaW4gdGhlIGZpbGUsIChmb3IgZXhhbXBsZSwgbWF0Y2hpbmcgdGhlIGxpbmUgIiMhL2Jpbi9iYXNoIikuICBTZWUKK3RoZSBoaWdobGlnaHQgZG9jdW1lbnRhdGlvbiBhbmQgdGhlIGRlZmF1bHQgY29uZmlnIGF0CisvZXRjL2hpZ2hsaWdodC9maWxldHlwZXMuY29uZiBmb3IgbW9yZSBkZXRhaWxzLgogKwogRm9yIGV4YW1wbGUgaWYgcmVwb3NpdG9yaWVzIHlvdSBhcmUgaG9zdGluZyB1c2UgInBodG1sIiBleHRlbnNpb24gZm9yCiBQSFAgZmlsZXMsIGFuZCB5b3Ugd2FudCB0byBoYXZlIGNvcnJlY3Qgc3ludGF4LWhpZ2hsaWdodGluZyBmb3IgdGhvc2UKQEAgLTM3Niw3ICszODMsNyBAQAogCU5hbWUgb2YgeW91ciBzaXRlIG9yIG9yZ2FuaXphdGlvbiwgdG8gYXBwZWFyIGluIHBhZ2UgdGl0bGVzLiAgU2V0IGl0CiAJdG8gc29tZXRoaW5nIGRlc2NyaXB0aXZlIGZvciBjbGVhcmVyIGJvb2ttYXJrcyBldGMuICBJZiB0aGlzIHZhcmlhYmxlCiAJaXMgbm90IHNldCBvciBpcywgdGhlbiBnaXR3ZWIgdXNlcyB0aGUgdmFsdWUgb2YgdGhlIGBTRVJWRVJfTkFNRWAKLQlDR0kgZW52aXJvbm1lbnQgdmFyaWFibGUsIHNldHRpbmcgc2l0ZSBuYW1lIHRvICIkU0VSVkVSX05BTUUgR2l0IiwKKwlgQ0dJYCBlbnZpcm9ubWVudCB2YXJpYWJsZSwgc2V0dGluZyBzaXRlIG5hbWUgdG8gIiRTRVJWRVJfTkFNRSBHaXQiLAogCW9yICJVbnRpdGxlZCBHaXQiIGlmIHRoaXMgdmFyaWFibGUgaXMgbm90IHNldCAoZS5nLiBpZiBydW5uaW5nIGdpdHdlYgogCWFzIHN0YW5kYWxvbmUgc2NyaXB0KS4KICsKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0d2ViLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0d2ViLnR4dAppbmRleCBjZDljODk1Li45NjE1NmU1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdHdlYi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXR3ZWIudHh0CkBAIC0yMDYsOCArMjA2LDggQEAKIFBlci1yZXBvc2l0b3J5IGdpdHdlYiBjb25maWd1cmF0aW9uCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogWW91IGNhbiBjb25maWd1cmUgaW5kaXZpZHVhbCByZXBvc2l0b3JpZXMgc2hvd24gaW4gZ2l0d2ViIGJ5IGNyZWF0aW5nIGZpbGUKLWluIHRoZSAnR0lUX0RJUicgb2YgR2l0IHJlcG9zaXRvcnksIG9yIGJ5IHNldHRpbmcgc29tZSByZXBvIGNvbmZpZ3VyYXRpb24KLXZhcmlhYmxlIChpbiAnR0lUX0RJUi9jb25maWcnLCBzZWUgbGlua2dpdDpnaXQtY29uZmlnWzFdKS4KK2luIHRoZSBgR0lUX0RJUmAgb2YgR2l0IHJlcG9zaXRvcnksIG9yIGJ5IHNldHRpbmcgc29tZSByZXBvIGNvbmZpZ3VyYXRpb24KK3ZhcmlhYmxlIChpbiBgR0lUX0RJUi9jb25maWdgLCBzZWUgbGlua2dpdDpnaXQtY29uZmlnWzFdKS4KIAogWW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBmaWxlcyBpbiByZXBvc2l0b3J5OgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2hvd3RvL25ldy1jb21tYW5kLnR4dCBiL0RvY3VtZW50YXRpb24vaG93dG8vbmV3LWNvbW1hbmQudHh0CmluZGV4IDZkNzcyYmQuLjE1YTRjODAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vaG93dG8vbmV3LWNvbW1hbmQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vaG93dG8vbmV3LWNvbW1hbmQudHh0CkBAIC05NCw3ICs5NCw3IEBACiA2LiBUaGVyZSBpcyBhIGZpbGUgY29tbWFuZC1saXN0LnR4dCBpbiB0aGUgZGlzdHJpYnV0aW9uIG1haW4gZGlyZWN0b3J5CiB0aGF0IGNhdGVnb3JpemVzIGNvbW1hbmRzIGJ5IHR5cGUsIHNvIHRoZXkgY2FuIGJlIGxpc3RlZCBpbiBhcHByb3ByaWF0ZQogc3Vic2VjdGlvbnMgaW4gdGhlIGRvY3VtZW50YXRpb24ncyBzdW1tYXJ5IGNvbW1hbmQgbGlzdC4gIEFkZCBhbiBlbnRyeQotZm9yIHlvdXJzLiAgVG8gdW5kZXJzdGFuZCB0aGUgY2F0ZWdvcmllcywgbG9vayBhdCBnaXQtY29tbWFuZHMudHh0Citmb3IgeW91cnMuICBUbyB1bmRlcnN0YW5kIHRoZSBjYXRlZ29yaWVzLCBsb29rIGF0IGNvbW1hbmQtbGlzdC50eHQKIGluIHRoZSBtYWluIGRpcmVjdG9yeS4gIElmIHRoZSBuZXcgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB0eXBpY2FsIEdpdAogd29ya2Zsb3cgYW5kIHlvdSBiZWxpZXZlIGl0IGNvbW1vbiBlbm91Z2ggdG8gYmUgbWVudGlvbmVkIGluICdnaXQgaGVscCcsCiBtYXAgdGhpcyBjb21tYW5kIHRvIGEgY29tbW9uIGdyb3VwIGluIHRoZSBjb2x1bW4gW2NvbW1vbl0uCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2hvd3RvL3JldmVydC1hLWZhdWx0eS1tZXJnZS50eHQgYi9Eb2N1bWVudGF0aW9uL2hvd3RvL3JldmVydC1hLWZhdWx0eS1tZXJnZS50eHQKaW5kZXggNDYyMjU1ZS4uMTlmNTljYyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9ob3d0by9yZXZlcnQtYS1mYXVsdHktbWVyZ2UudHh0CisrKyBiL0RvY3VtZW50YXRpb24vaG93dG8vcmV2ZXJ0LWEtZmF1bHR5LW1lcmdlLnR4dApAQCAtMzAsNyArMzAsNyBAQAogdGhpczoKIAogIC0tLW8tLS1vLS0tby0tLU0tLS14LS0teC0tLVcKLQkgICAgICAgLworICAgICAgICAgICAgICAgLwogICAgICAgIC0tLUEtLS1CCiAKIHdoZXJlIEEgYW5kIEIgYXJlIG9uIHRoZSBzaWRlIGRldmVsb3BtZW50IHRoYXQgd2FzIG5vdCBzbyBnb29kLCBNIGlzIHRoZQpAQCAtNDcsNyArNDcsNyBAQAogbWF5IGxvb2sgbGlrZSB0aGlzOgogCiAgLS0tby0tLW8tLS1vLS0tTS0tLXgtLS14LS0tVy0tLXgKLQkgICAgICAgLworICAgICAgICAgICAgICAgLwogICAgICAgIC0tLUEtLS1CLS0tLS0tLS0tLS0tLS0tLS0tLUMtLS1ECiAKIHdoZXJlIEMgYW5kIEQgYXJlIHRvIGZpeCB3aGF0IHdhcyBicm9rZW4gaW4gQSBhbmQgQiwgYW5kIHlvdSBtYXkgYWxyZWFkeQpAQCAtODEsNyArODEsNyBAQAogd2hpY2ggd291bGQgbWFrZSB0aGUgaGlzdG9yeSBsb29rIGxpa2UgdGhpczoKIAogIC0tLW8tLS1vLS0tby0tLU0tLS14LS0teC0tLVctLS14LS0tWQotCSAgICAgICAvCisgICAgICAgICAgICAgICAvCiAgICAgICAgLS0tQS0tLUItLS0tLS0tLS0tLS0tLS0tLS0tQy0tLUQKIAogd2hlcmUgWSBpcyB0aGUgcmV2ZXJ0IG9mIFcuICBTdWNoIGEgInJldmVydCBvZiB0aGUgcmV2ZXJ0IiBjYW4gYmUgZG9uZQpAQCAtOTMsMTQgKzkzLDE0IEBACiBjaGFuZ2VkKSBiZSBlcXVpdmFsZW50IHRvIG5vdCBoYXZpbmcgVyBvciBZIGF0IGFsbCBpbiB0aGUgaGlzdG9yeToKIAogIC0tLW8tLS1vLS0tby0tLU0tLS14LS0teC0tLS0tLS14LS0tLQotCSAgICAgICAvCisgICAgICAgICAgICAgICAvCiAgICAgICAgLS0tQS0tLUItLS0tLS0tLS0tLS0tLS0tLS0tQy0tLUQKIAogYW5kIG1lcmdpbmcgdGhlIHNpZGUgYnJhbmNoIGFnYWluIHdpbGwgbm90IGhhdmUgY29uZmxpY3QgYXJpc2luZyBmcm9tIGFuCiBlYXJsaWVyIHJldmVydCBhbmQgcmV2ZXJ0IG9mIHRoZSByZXZlcnQuCiAKICAtLS1vLS0tby0tLW8tLS1NLS0teC0tLXgtLS0tLS0teC0tLS0tLS0qCi0JICAgICAgIC8gICAgICAgICAgICAgICAgICAgICAgIC8KKyAgICAgICAgICAgICAgIC8gICAgICAgICAgICAgICAgICAgICAgIC8KICAgICAgICAtLS1BLS0tQi0tLS0tLS0tLS0tLS0tLS0tLS1DLS0tRAogCiBPZiBjb3Vyc2UgdGhlIGNoYW5nZXMgbWFkZSBpbiBDIGFuZCBEIHN0aWxsIGNhbiBjb25mbGljdCB3aXRoIHdoYXQgd2FzCkBAIC0xMTEsMTMgKzExMSwxMyBAQAogYWZ0ZXIgdGhlIHJldmVydCwgdGhlIGhpc3Rvcnkgd291bGQgaGF2ZSBsb29rZWQgbGlrZSB0aGlzOgogCiAgLS0tby0tLW8tLS1vLS0tTS0tLXgtLS14LS0tVy0tLXgtLS14Ci0JICAgICAgIC8gICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgIC8gICAgICAgICAgICAgICAgIFwKICAgICAgICAtLS1BLS0tQiAgICAgICAgICAgICAgICAgICBBJy0tQictLUMnCiAKIElmIHlvdSByZXZlcnRlZCB0aGUgcmV2ZXJ0IGluIHN1Y2ggYSBjYXNlIGFzIGluIHRoZSBwcmV2aW91cyBleGFtcGxlOgogCiAgLS0tby0tLW8tLS1vLS0tTS0tLXgtLS14LS0tVy0tLXgtLS14LS0tWS0tLSoKLQkgICAgICAgLyAgICAgICAgICAgICAgICAgXCAgICAgICAgIC8KKyAgICAgICAgICAgICAgIC8gICAgICAgICAgICAgICAgIFwgICAgICAgICAvCiAgICAgICAgLS0tQS0tLUIgICAgICAgICAgICAgICAgICAgQSctLUInLS1DJwogCiB3aGVyZSBZIGlzIHRoZSByZXZlcnQgb2YgVywgQScgYW5kIEInIGFyZSByZXJvbGxlZCBBIGFuZCBCLCBhbmQgdGhlcmUgbWF5CkBAIC0xMjksNyArMTI5LDcgQEAKIG9mIHJldmVydCIgYmxpbmRseSB3aXRob3V0IHRoaW5raW5nLi4KIAogIC0tLW8tLS1vLS0tby0tLU0tLS14LS0teC0tLVctLS14LS0teAotCSAgICAgICAvICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAvICAgICAgICAgICAgICAgICBcCiAgICAgICAgLS0tQS0tLUIgICAgICAgICAgICAgICAgICAgQSctLUInLS1DJwogCiBJbiB0aGUgaGlzdG9yeSB3aXRoIHJlYmFzZWQgc2lkZSBicmFuY2gsIFcgKGFuZCBNKSBhcmUgYmVoaW5kIHRoZSBtZXJnZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9tZXJnZS1jb25maWcudHh0IGIvRG9jdW1lbnRhdGlvbi9tZXJnZS1jb25maWcudHh0CmluZGV4IDAwMmNhNTguLmRmM2VhMzcgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vbWVyZ2UtY29uZmlnLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL21lcmdlLWNvbmZpZy50eHQKQEAgLTYxLDcgKzYxLDcgQEAKIAltZXNzYWdlIGlmIGNvbmZsaWN0cyB3ZXJlIGRldGVjdGVkLiBMZXZlbCAxIG91dHB1dHMgb25seQogCWNvbmZsaWN0cywgMiBvdXRwdXRzIGNvbmZsaWN0cyBhbmQgZmlsZSBjaGFuZ2VzLiAgTGV2ZWwgNSBhbmQKIAlhYm92ZSBvdXRwdXRzIGRlYnVnZ2luZyBpbmZvcm1hdGlvbi4gIFRoZSBkZWZhdWx0IGlzIGxldmVsIDIuCi0JQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICdHSVRfTUVSR0VfVkVSQk9TSVRZJyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KKwlDYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgYEdJVF9NRVJHRV9WRVJCT1NJVFlgIGVudmlyb25tZW50IHZhcmlhYmxlLgogCiBtZXJnZS48ZHJpdmVyPi5uYW1lOjoKIAlEZWZpbmVzIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgYSBjdXN0b20gbG93LWxldmVsCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3ByZXR0eS1mb3JtYXRzLnR4dCBiL0RvY3VtZW50YXRpb24vcHJldHR5LWZvcm1hdHMudHh0CmluZGV4IDI5YjE5YjkuLjNiY2VlMmQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vcHJldHR5LWZvcm1hdHMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vcHJldHR5LWZvcm1hdHMudHh0CkBAIC0xNDMsMTIgKzE0MywyNCBAQAogLSAnJU4nOiBjb21taXQgbm90ZXMKIGVuZGlmOjpnaXQtcmV2LWxpc3RbXQogLSAnJUdHJzogcmF3IHZlcmlmaWNhdGlvbiBtZXNzYWdlIGZyb20gR1BHIGZvciBhIHNpZ25lZCBjb21taXQKLS0gJyVHPyc6IHNob3cgIkciIGZvciBhIGdvb2QgKHZhbGlkKSBzaWduYXR1cmUsICJCIiBmb3IgYSBiYWQgc2lnbmF0dXJlLAotICAiVSIgZm9yIGEgZ29vZCBzaWduYXR1cmUgd2l0aCB1bmtub3duIHZhbGlkaXR5IGFuZCAiTiIgZm9yIG5vIHNpZ25hdHVyZQorLSAnJUc/Jzogc2hvdyAiRyIgZm9yIGEgZ29vZCAodmFsaWQpIHNpZ25hdHVyZSwKKyAgIkIiIGZvciBhIGJhZCBzaWduYXR1cmUsCisgICJVIiBmb3IgYSBnb29kIHNpZ25hdHVyZSB3aXRoIHVua25vd24gdmFsaWRpdHksCisgICJYIiBmb3IgYSBnb29kIHNpZ25hdHVyZSB0aGF0IGhhcyBleHBpcmVkLAorICAiWSIgZm9yIGEgZ29vZCBzaWduYXR1cmUgbWFkZSBieSBhbiBleHBpcmVkIGtleSwKKyAgIlIiIGZvciBhIGdvb2Qgc2lnbmF0dXJlIG1hZGUgYnkgYSByZXZva2VkIGtleSwKKyAgIkUiIGlmIHRoZSBzaWduYXR1cmUgY2Fubm90IGJlIGNoZWNrZWQgKGUuZy4gbWlzc2luZyBrZXkpCisgIGFuZCAiTiIgZm9yIG5vIHNpZ25hdHVyZQogLSAnJUdTJzogc2hvdyB0aGUgbmFtZSBvZiB0aGUgc2lnbmVyIGZvciBhIHNpZ25lZCBjb21taXQKIC0gJyVHSyc6IHNob3cgdGhlIGtleSB1c2VkIHRvIHNpZ24gYSBzaWduZWQgY29tbWl0Ci0tICclZ0QnOiByZWZsb2cgc2VsZWN0b3IsIGUuZy4sIGByZWZzL3N0YXNoQHsxfWAKLS0gJyVnZCc6IHNob3J0ZW5lZCByZWZsb2cgc2VsZWN0b3IsIGUuZy4sIGBzdGFzaEB7MX1gCistICclZ0QnOiByZWZsb2cgc2VsZWN0b3IsIGUuZy4sIGByZWZzL3N0YXNoQHsxfWAgb3IKKyAgYHJlZnMvc3Rhc2hAezIgbWludXRlcyBhZ29gfTsgdGhlIGZvcm1hdCBmb2xsb3dzIHRoZSBydWxlcyBkZXNjcmliZWQKKyAgZm9yIHRoZSBgLWdgIG9wdGlvbi4gVGhlIHBvcnRpb24gYmVmb3JlIHRoZSBgQGAgaXMgdGhlIHJlZm5hbWUgYXMKKyAgZ2l2ZW4gb24gdGhlIGNvbW1hbmQgbGluZSAoc28gYGdpdCBsb2cgLWcgcmVmcy9oZWFkcy9tYXN0ZXJgIHdvdWxkCisgIHlpZWxkIGByZWZzL2hlYWRzL21hc3RlckB7MH1gKS4KKy0gJyVnZCc6IHNob3J0ZW5lZCByZWZsb2cgc2VsZWN0b3I7IHNhbWUgYXMgYCVnRGAsIGJ1dCB0aGUgcmVmbmFtZQorICBwb3J0aW9uIGlzIHNob3J0ZW5lZCBmb3IgaHVtYW4gcmVhZGFiaWxpdHkgKHNvIGByZWZzL2hlYWRzL21hc3RlcmAKKyAgYmVjb21lcyBqdXN0IGBtYXN0ZXJgKS4KIC0gJyVnbic6IHJlZmxvZyBpZGVudGl0eSBuYW1lCiAtICclZ04nOiByZWZsb2cgaWRlbnRpdHkgbmFtZSAocmVzcGVjdGluZyAubWFpbG1hcCwgc2VlCiAgIGxpbmtnaXQ6Z2l0LXNob3J0bG9nWzFdIG9yIGxpbmtnaXQ6Z2l0LWJsYW1lWzFdKQpAQCAtMTYwLDEzICsxNzIsMTQgQEAKIC0gJyVDZ3JlZW4nOiBzd2l0Y2ggY29sb3IgdG8gZ3JlZW4KIC0gJyVDYmx1ZSc6IHN3aXRjaCBjb2xvciB0byBibHVlCiAtICclQ3Jlc2V0JzogcmVzZXQgY29sb3IKLS0gJyVDKC4uLiknOiBjb2xvciBzcGVjaWZpY2F0aW9uLCBhcyBkZXNjcmliZWQgaW4gY29sb3IuYnJhbmNoLiogY29uZmlnIG9wdGlvbjsKKy0gJyVDKC4uLiknOiBjb2xvciBzcGVjaWZpY2F0aW9uLCBhcyBkZXNjcmliZWQgdW5kZXIgVmFsdWVzIGluIHRoZQorICAiQ09ORklHVVJBVElPTiBGSUxFIiBzZWN0aW9uIG9mIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXTsKICAgYWRkaW5nIGBhdXRvLGAgYXQgdGhlIGJlZ2lubmluZyB3aWxsIGVtaXQgY29sb3Igb25seSB3aGVuIGNvbG9ycyBhcmUKICAgZW5hYmxlZCBmb3IgbG9nIG91dHB1dCAoYnkgYGNvbG9yLmRpZmZgLCBgY29sb3IudWlgLCBvciBgLS1jb2xvcmAsIGFuZAogICByZXNwZWN0aW5nIHRoZSBgYXV0b2Agc2V0dGluZ3Mgb2YgdGhlIGZvcm1lciBpZiB3ZSBhcmUgZ29pbmcgdG8gYQogICB0ZXJtaW5hbCkuIGBhdXRvYCBhbG9uZSAoaS5lLiBgJUMoYXV0bylgKSB3aWxsIHR1cm4gb24gYXV0byBjb2xvcmluZwogICBvbiB0aGUgbmV4dCBwbGFjZWhvbGRlcnMgdW50aWwgdGhlIGNvbG9yIGlzIHN3aXRjaGVkIGFnYWluLgotLSAnJW0nOiBsZWZ0LCByaWdodCBvciBib3VuZGFyeSBtYXJrCistICclbSc6IGxlZnQgKGA8YCksIHJpZ2h0IChgPmApIG9yIGJvdW5kYXJ5IChgLWApIG1hcmsKIC0gJyVuJzogbmV3bGluZQogLSAnJSUnOiBhIHJhdyAnJScKIC0gJyV4MDAnOiBwcmludCBhIGJ5dGUgZnJvbSBhIGhleCBjb2RlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3ByZXR0eS1vcHRpb25zLnR4dCBiL0RvY3VtZW50YXRpb24vcHJldHR5LW9wdGlvbnMudHh0CmluZGV4IDZjNjcxODIuLmU0NGZjOGYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vcHJldHR5LW9wdGlvbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vcHJldHR5LW9wdGlvbnMudHh0CkBAIC0yNiw3ICsyNiw3IEBACiAtLW5vLWFiYnJldi1jb21taXQ6OgogCVNob3cgdGhlIGZ1bGwgNDAtYnl0ZSBoZXhhZGVjaW1hbCBjb21taXQgb2JqZWN0IG5hbWUuIFRoaXMgbmVnYXRlcwogCWAtLWFiYnJldi1jb21taXRgIGFuZCB0aG9zZSBvcHRpb25zIHdoaWNoIGltcGx5IGl0IHN1Y2ggYXMKLQkiLS1vbmVsaW5lIi4gSXQgYWxzbyBvdmVycmlkZXMgdGhlICdsb2cuYWJicmV2Q29tbWl0JyB2YXJpYWJsZS4KKwkiLS1vbmVsaW5lIi4gSXQgYWxzbyBvdmVycmlkZXMgdGhlIGBsb2cuYWJicmV2Q29tbWl0YCB2YXJpYWJsZS4KIAogLS1vbmVsaW5lOjoKIAlUaGlzIGlzIGEgc2hvcnRoYW5kIGZvciAiLS1wcmV0dHk9b25lbGluZSAtLWFiYnJldi1jb21taXQiCkBAIC02NSw3ICs2NSw3IEBACiAJb24gdGhlIGNvbW1hbmQgbGluZS4KICsKIEJ5IGRlZmF1bHQsIHRoZSBub3RlcyBzaG93biBhcmUgZnJvbSB0aGUgbm90ZXMgcmVmcyBsaXN0ZWQgaW4gdGhlCi0nY29yZS5ub3Rlc1JlZicgYW5kICdub3Rlcy5kaXNwbGF5UmVmJyB2YXJpYWJsZXMgKG9yIGNvcnJlc3BvbmRpbmcKK2Bjb3JlLm5vdGVzUmVmYCBhbmQgYG5vdGVzLmRpc3BsYXlSZWZgIHZhcmlhYmxlcyAob3IgY29ycmVzcG9uZGluZwogZW52aXJvbm1lbnQgb3ZlcnJpZGVzKS4gU2VlIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSBmb3IgbW9yZSBkZXRhaWxzLgogKwogV2l0aCBhbiBvcHRpb25hbCAnPHRyZWVpc2g+JyBhcmd1bWVudCwgdXNlIHRoZSB0cmVlaXNoIHRvIGZpbmQgdGhlIG5vdGVzCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3Jldi1saXN0LW9wdGlvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9yZXYtbGlzdC1vcHRpb25zLnR4dAppbmRleCA0ZjAwOWQ0Li41ZGE3Y2Y1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3Jldi1saXN0LW9wdGlvbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vcmV2LWxpc3Qtb3B0aW9ucy50eHQKQEAgLTE5Myw3ICsxOTMsNyBAQAogCiAtLXN0ZGluOjoKIAlJbiBhZGRpdGlvbiB0byB0aGUgJzxjb21taXQ+JyBsaXN0ZWQgb24gdGhlIGNvbW1hbmQKLQlsaW5lLCByZWFkIHRoZW0gZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQuIElmIGEgJy0tJyBzZXBhcmF0b3IgaXMKKwlsaW5lLCByZWFkIHRoZW0gZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQuIElmIGEgYC0tYCBzZXBhcmF0b3IgaXMKIAlzZWVuLCBzdG9wIHJlYWRpbmcgY29tbWl0cyBhbmQgc3RhcnQgcmVhZGluZyBwYXRocyB0byBsaW1pdCB0aGUKIAlyZXN1bHQuCiAKQEAgLTIyNSw3ICsyMjUsNyBAQAogCiAtLWxlZnQtb25seTo6CiAtLXJpZ2h0LW9ubHk6OgotCUxpc3Qgb25seSBjb21taXRzIG9uIHRoZSByZXNwZWN0aXZlIHNpZGUgb2YgYSBzeW1tZXRyaWMgcmFuZ2UsCisJTGlzdCBvbmx5IGNvbW1pdHMgb24gdGhlIHJlc3BlY3RpdmUgc2lkZSBvZiBhIHN5bW1ldHJpYyBkaWZmZXJlbmNlLAogCWkuZS4gb25seSB0aG9zZSB3aGljaCB3b3VsZCBiZSBtYXJrZWQgYDxgIHJlc3AuIGA+YCBieQogCWAtLWxlZnQtcmlnaHRgLgogKwpAQCAtMjUyLDEwICsyNTIsMjUgQEAKICsKIFdpdGggYC0tcHJldHR5YCBmb3JtYXQgb3RoZXIgdGhhbiBgb25lbGluZWAgKGZvciBvYnZpb3VzIHJlYXNvbnMpLAogdGhpcyBjYXVzZXMgdGhlIG91dHB1dCB0byBoYXZlIHR3byBleHRyYSBsaW5lcyBvZiBpbmZvcm1hdGlvbgotdGFrZW4gZnJvbSB0aGUgcmVmbG9nLiAgQnkgZGVmYXVsdCwgJ2NvbW1pdEBce050aH0nIG5vdGF0aW9uIGlzCi11c2VkIGluIHRoZSBvdXRwdXQuICBXaGVuIHRoZSBzdGFydGluZyBjb21taXQgaXMgc3BlY2lmaWVkIGFzCi0nY29tbWl0QFx7bm93fScsIG91dHB1dCBhbHNvIHVzZXMgJ2NvbW1pdEBce3RpbWVzdGFtcH0nIG5vdGF0aW9uCi1pbnN0ZWFkLiAgVW5kZXIgYC0tcHJldHR5PW9uZWxpbmVgLCB0aGUgY29tbWl0IG1lc3NhZ2UgaXMKK3Rha2VuIGZyb20gdGhlIHJlZmxvZy4gIFRoZSByZWZsb2cgZGVzaWduYXRvciBpbiB0aGUgb3V0cHV0IG1heSBiZSBzaG93bgorYXMgYHJlZkB7TnRofWAgKHdoZXJlIGBOdGhgIGlzIHRoZSByZXZlcnNlLWNocm9ub2xvZ2ljYWwgaW5kZXggaW4gdGhlCityZWZsb2cpIG9yIGFzIGByZWZAe3RpbWVzdGFtcH1gICh3aXRoIHRoZSB0aW1lc3RhbXAgZm9yIHRoYXQgZW50cnkpLAorZGVwZW5kaW5nIG9uIGEgZmV3IHJ1bGVzOgorKworLS0KKzEuIElmIHRoZSBzdGFydGluZyBwb2ludCBpcyBzcGVjaWZpZWQgYXMgYHJlZkB7TnRofWAsIHNob3cgdGhlIGluZGV4Citmb3JtYXQuCisrCisyLiBJZiB0aGUgc3RhcnRpbmcgcG9pbnQgd2FzIHNwZWNpZmllZCBhcyBgcmVmQHtub3d9YCwgc2hvdyB0aGUKK3RpbWVzdGFtcCBmb3JtYXQuCisrCiszLiBJZiBuZWl0aGVyIHdhcyB1c2VkLCBidXQgYC0tZGF0ZWAgd2FzIGdpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUsIHNob3cKK3RoZSB0aW1lc3RhbXAgaW4gdGhlIGZvcm1hdCByZXF1ZXN0ZWQgYnkgYC0tZGF0ZWAuCisrCis0LiBPdGhlcndpc2UsIHNob3cgdGhlIGluZGV4IGZvcm1hdC4KKy0tCisrCitVbmRlciBgLS1wcmV0dHk9b25lbGluZWAsIHRoZSBjb21taXQgbWVzc2FnZSBpcwogcHJlZml4ZWQgd2l0aCB0aGlzIGluZm9ybWF0aW9uIG9uIHRoZSBzYW1lIGxpbmUuCiBUaGlzIG9wdGlvbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBgLS1yZXZlcnNlYC4KIFNlZSBhbHNvIGxpbmtnaXQ6Z2l0LXJlZmxvZ1sxXS4KQEAgLTI3NCw2ICsyODksMTAgQEAKIAlUcnkgdG8gc3BlZWQgdXAgdGhlIHRyYXZlcnNhbCB1c2luZyB0aGUgcGFjayBiaXRtYXAgaW5kZXggKGlmCiAJb25lIGlzIGF2YWlsYWJsZSkuIE5vdGUgdGhhdCB3aGVuIHRyYXZlcnNpbmcgd2l0aCBgLS1vYmplY3RzYCwKIAl0cmVlcyBhbmQgYmxvYnMgd2lsbCBub3QgaGF2ZSB0aGVpciBhc3NvY2lhdGVkIHBhdGggcHJpbnRlZC4KKworLS1wcm9ncmVzcz08aGVhZGVyPjo6CisJU2hvdyBwcm9ncmVzcyByZXBvcnRzIG9uIHN0ZGVyciBhcyBvYmplY3RzIGFyZSBjb25zaWRlcmVkLiBUaGUKKwlgPGhlYWRlcj5gIHRleHQgd2lsbCBiZSBwcmludGVkIHdpdGggZWFjaCBwcm9ncmVzcyB1cGRhdGUuCiBlbmRpZjo6Z2l0LXJldi1saXN0W10KIAogLS0KQEAgLTYzOCw4ICs2NTcsOSBAQAogdG9nZXRoZXIuCiAKIC0tcmV2ZXJzZTo6Ci0JT3V0cHV0IHRoZSBjb21taXRzIGluIHJldmVyc2Ugb3JkZXIuCi0JQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYC0td2Fsay1yZWZsb2dzYC4KKwlPdXRwdXQgdGhlIGNvbW1pdHMgY2hvc2VuIHRvIGJlIHNob3duIChzZWUgQ29tbWl0IExpbWl0aW5nCisJc2VjdGlvbiBhYm92ZSkgaW4gcmV2ZXJzZSBvcmRlci4gQ2Fubm90IGJlIGNvbWJpbmVkIHdpdGgKKwlgLS13YWxrLXJlZmxvZ3NgLgogCiBPYmplY3QgVHJhdmVyc2FsCiB+fn5+fn5+fn5+fn5+fn5+CkBAIC03MTAsOCArNzMwLDggQEAKIAlgaXNvLWxvY2FsYCksIHRoZSB1c2VyJ3MgbG9jYWwgdGltZSB6b25lIGlzIHVzZWQgaW5zdGVhZC4KICsKIGAtLWRhdGU9cmVsYXRpdmVgIHNob3dzIGRhdGVzIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHRpbWUsCi1lLmcuIGBgMiBob3VycyBhZ28nJy4gVGhlIGAtbG9jYWxgIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoCi1gLS1yYXdgIG9yIGAtLXJlbGF0aXZlYC4KK2UuZy4gYGAyIGhvdXJzIGFnbycnLiBUaGUgYC1sb2NhbGAgb3B0aW9uIGhhcyBubyBlZmZlY3QgZm9yCitgLS1kYXRlPXJlbGF0aXZlYC4KICsKIGAtLWRhdGU9bG9jYWxgIGlzIGFuIGFsaWFzIGZvciBgLS1kYXRlPWRlZmF1bHQtbG9jYWxgLgogKwpAQCAtNzMxLDcgKzc1MSwxOCBAQAogKwogYC0tZGF0ZT1zaG9ydGAgc2hvd3Mgb25seSB0aGUgZGF0ZSwgYnV0IG5vdCB0aGUgdGltZSwgaW4gYFlZWVktTU0tRERgIGZvcm1hdC4KICsKLWAtLWRhdGU9cmF3YCBzaG93cyB0aGUgZGF0ZSBpbiB0aGUgaW50ZXJuYWwgcmF3IEdpdCBmb3JtYXQgYCVzICV6YCBmb3JtYXQuCitgLS1kYXRlPXJhd2Agc2hvd3MgdGhlIGRhdGUgYXMgc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2ggKDE5NzAtMDEtMDEKKzAwOjAwOjAwIFVUQyksIGZvbGxvd2VkIGJ5IGEgc3BhY2UsIGFuZCB0aGVuIHRoZSB0aW1lem9uZSBhcyBhbiBvZmZzZXQKK2Zyb20gVVRDIChhIGArYCBvciBgLWAgd2l0aCBmb3VyIGRpZ2l0czsgdGhlIGZpcnN0IHR3byBhcmUgaG91cnMsIGFuZAordGhlIHNlY29uZCB0d28gYXJlIG1pbnV0ZXMpLiBJLmUuLCBhcyBpZiB0aGUgdGltZXN0YW1wIHdlcmUgZm9ybWF0dGVkCit3aXRoIGBzdHJmdGltZSgiJXMgJXoiKWApLgorTm90ZSB0aGF0IHRoZSBgLWxvY2FsYCBvcHRpb24gZG9lcyBub3QgYWZmZWN0IHRoZSBzZWNvbmRzLXNpbmNlLWVwb2NoCit2YWx1ZSAod2hpY2ggaXMgYWx3YXlzIG1lYXN1cmVkIGluIFVUQyksIGJ1dCBkb2VzIHN3aXRjaCB0aGUgYWNjb21wYW55aW5nCit0aW1lem9uZSB2YWx1ZS4KKysKK2AtLWRhdGU9dW5peGAgc2hvd3MgdGhlIGRhdGUgYXMgYSBVbml4IGVwb2NoIHRpbWVzdGFtcCAoc2Vjb25kcyBzaW5jZQorMTk3MCkuICBBcyB3aXRoIGAtLXJhd2AsIHRoaXMgaXMgYWx3YXlzIGluIFVUQyBhbmQgdGhlcmVmb3JlIGAtbG9jYWxgCitoYXMgbm8gZWZmZWN0LgogKwogYC0tZGF0ZT1mb3JtYXQ6Li4uYCBmZWVkcyB0aGUgZm9ybWF0IGAuLi5gIHRvIHlvdXIgc3lzdGVtIGBzdHJmdGltZWAuCiBVc2UgYC0tZGF0ZT1mb3JtYXQ6JWNgIHRvIHNob3cgdGhlIGRhdGUgaW4geW91ciBzeXN0ZW0gbG9jYWxlJ3MKQEAgLTc2Niw3ICs3OTcsNyBAQAogZW5kaWY6OmdpdC1yZXYtbGlzdFtdCiAKIC0tbGVmdC1yaWdodDo6Ci0JTWFyayB3aGljaCBzaWRlIG9mIGEgc3ltbWV0cmljIGRpZmYgYSBjb21taXQgaXMgcmVhY2hhYmxlIGZyb20uCisJTWFyayB3aGljaCBzaWRlIG9mIGEgc3ltbWV0cmljIGRpZmZlcmVuY2UgYSBjb21taXQgaXMgcmVhY2hhYmxlIGZyb20uCiAJQ29tbWl0cyBmcm9tIHRoZSBsZWZ0IHNpZGUgYXJlIHByZWZpeGVkIHdpdGggYDxgIGFuZCB0aG9zZSBmcm9tCiAJdGhlIHJpZ2h0IHdpdGggYD5gLiAgSWYgY29tYmluZWQgd2l0aCBgLS1ib3VuZGFyeWAsIHRob3NlCiAJY29tbWl0cyBhcmUgcHJlZml4ZWQgd2l0aCBgLWAuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JldmlzaW9ucy50eHQgYi9Eb2N1bWVudGF0aW9uL3JldmlzaW9ucy50eHQKaW5kZXggMTkzMTRlMy4uYmExMWI5YyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9yZXZpc2lvbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vcmV2aXNpb25zLnR4dApAQCAtMjgsOCArMjgsOCBAQAogICBmaXJzdCBtYXRjaCBpbiB0aGUgZm9sbG93aW5nIHJ1bGVzOgogCiAgIC4gSWYgJyRHSVRfRElSLzxyZWZuYW1lPicgZXhpc3RzLCB0aGF0IGlzIHdoYXQgeW91IG1lYW4gKHRoaXMgaXMgdXN1YWxseQotICAgIHVzZWZ1bCBvbmx5IGZvciAnSEVBRCcsICdGRVRDSF9IRUFEJywgJ09SSUdfSEVBRCcsICdNRVJHRV9IRUFEJwotICAgIGFuZCAnQ0hFUlJZX1BJQ0tfSEVBRCcpOworICAgIHVzZWZ1bCBvbmx5IGZvciBgSEVBRGAsIGBGRVRDSF9IRUFEYCwgYE9SSUdfSEVBRGAsIGBNRVJHRV9IRUFEYAorICAgIGFuZCBgQ0hFUlJZX1BJQ0tfSEVBRGApOwogCiAgIC4gb3RoZXJ3aXNlLCAncmVmcy88cmVmbmFtZT4nIGlmIGl0IGV4aXN0czsKIApAQCAtNDEsMTYgKzQxLDE2IEBACiAKICAgLiBvdGhlcndpc2UsICdyZWZzL3JlbW90ZXMvPHJlZm5hbWU+L0hFQUQnIGlmIGl0IGV4aXN0cy4KICsKLSdIRUFEJyBuYW1lcyB0aGUgY29tbWl0IG9uIHdoaWNoIHlvdSBiYXNlZCB0aGUgY2hhbmdlcyBpbiB0aGUgd29ya2luZyB0cmVlLgotJ0ZFVENIX0hFQUQnIHJlY29yZHMgdGhlIGJyYW5jaCB3aGljaCB5b3UgZmV0Y2hlZCBmcm9tIGEgcmVtb3RlIHJlcG9zaXRvcnkKK2BIRUFEYCBuYW1lcyB0aGUgY29tbWl0IG9uIHdoaWNoIHlvdSBiYXNlZCB0aGUgY2hhbmdlcyBpbiB0aGUgd29ya2luZyB0cmVlLgorYEZFVENIX0hFQURgIHJlY29yZHMgdGhlIGJyYW5jaCB3aGljaCB5b3UgZmV0Y2hlZCBmcm9tIGEgcmVtb3RlIHJlcG9zaXRvcnkKIHdpdGggeW91ciBsYXN0IGBnaXQgZmV0Y2hgIGludm9jYXRpb24uCi0nT1JJR19IRUFEJyBpcyBjcmVhdGVkIGJ5IGNvbW1hbmRzIHRoYXQgbW92ZSB5b3VyICdIRUFEJyBpbiBhIGRyYXN0aWMKLXdheSwgdG8gcmVjb3JkIHRoZSBwb3NpdGlvbiBvZiB0aGUgJ0hFQUQnIGJlZm9yZSB0aGVpciBvcGVyYXRpb24sIHNvIHRoYXQKK2BPUklHX0hFQURgIGlzIGNyZWF0ZWQgYnkgY29tbWFuZHMgdGhhdCBtb3ZlIHlvdXIgYEhFQURgIGluIGEgZHJhc3RpYword2F5LCB0byByZWNvcmQgdGhlIHBvc2l0aW9uIG9mIHRoZSBgSEVBRGAgYmVmb3JlIHRoZWlyIG9wZXJhdGlvbiwgc28gdGhhdAogeW91IGNhbiBlYXNpbHkgY2hhbmdlIHRoZSB0aXAgb2YgdGhlIGJyYW5jaCBiYWNrIHRvIHRoZSBzdGF0ZSBiZWZvcmUgeW91IHJhbgogdGhlbS4KLSdNRVJHRV9IRUFEJyByZWNvcmRzIHRoZSBjb21taXQocykgd2hpY2ggeW91IGFyZSBtZXJnaW5nIGludG8geW91ciBicmFuY2gKK2BNRVJHRV9IRUFEYCByZWNvcmRzIHRoZSBjb21taXQocykgd2hpY2ggeW91IGFyZSBtZXJnaW5nIGludG8geW91ciBicmFuY2gKIHdoZW4geW91IHJ1biBgZ2l0IG1lcmdlYC4KLSdDSEVSUllfUElDS19IRUFEJyByZWNvcmRzIHRoZSBjb21taXQgd2hpY2ggeW91IGFyZSBjaGVycnktcGlja2luZworYENIRVJSWV9QSUNLX0hFQURgIHJlY29yZHMgdGhlIGNvbW1pdCB3aGljaCB5b3UgYXJlIGNoZXJyeS1waWNraW5nCiB3aGVuIHlvdSBydW4gYGdpdCBjaGVycnktcGlja2AuCiArCiBOb3RlIHRoYXQgYW55IG9mIHRoZSAncmVmcy8qJyBjYXNlcyBhYm92ZSBtYXkgY29tZSBlaXRoZXIgZnJvbQpAQCAtNTksNyArNTksNyBAQAogc29tZSBvdXRwdXQgcHJvY2Vzc2luZyBtYXkgYXNzdW1lIHJlZiBuYW1lcyBpbiBVVEYtOC4KIAogJ0AnOjoKLSAgJ0AnIGFsb25lIGlzIGEgc2hvcnRjdXQgZm9yICdIRUFEJy4KKyAgJ0AnIGFsb25lIGlzIGEgc2hvcnRjdXQgZm9yIGBIRUFEYC4KIAogJzxyZWZuYW1lPkB7PGRhdGU+fScsIGUuZy4gJ21hc3RlckBce3llc3RlcmRheVx9JywgJ0hFQURAezUgbWludXRlcyBhZ299Jzo6CiAgIEEgcmVmIGZvbGxvd2VkIGJ5IHRoZSBzdWZmaXggJ0AnIHdpdGggYSBkYXRlIHNwZWNpZmljYXRpb24KQEAgLTcxLDcgKzcxLDcgQEAKICAgZXhpc3RpbmcgbG9nICgnJEdJVF9ESVIvbG9ncy88cmVmPicpLiBOb3RlIHRoYXQgdGhpcyBsb29rcyB1cCB0aGUgc3RhdGUKICAgb2YgeW91ciAqbG9jYWwqIHJlZiBhdCBhIGdpdmVuIHRpbWU7IGUuZy4sIHdoYXQgd2FzIGluIHlvdXIgbG9jYWwKICAgJ21hc3RlcicgYnJhbmNoIGxhc3Qgd2Vlay4gSWYgeW91IHdhbnQgdG8gbG9vayBhdCBjb21taXRzIG1hZGUgZHVyaW5nCi0gIGNlcnRhaW4gdGltZXMsIHNlZSAnLS1zaW5jZScgYW5kICctLXVudGlsJy4KKyAgY2VydGFpbiB0aW1lcywgc2VlIGAtLXNpbmNlYCBhbmQgYC0tdW50aWxgLgogCiAnPHJlZm5hbWU+QHs8bj59JywgZS5nLiAnbWFzdGVyQFx7MVx9Jzo6CiAgIEEgcmVmIGZvbGxvd2VkIGJ5IHRoZSBzdWZmaXggJ0AnIHdpdGggYW4gb3JkaW5hbCBzcGVjaWZpY2F0aW9uCkBAIC0xMDEsNyArMTAxLDcgQEAKICc8YnJhbmNobmFtZT5AXHtwdXNoXH0nLCBlLmcuICdtYXN0ZXJAXHtwdXNoXH0nLCAnQFx7cHVzaFx9Jzo6CiAgIFRoZSBzdWZmaXggJ0Bce3B1c2h9JyByZXBvcnRzIHRoZSBicmFuY2ggIndoZXJlIHdlIHdvdWxkIHB1c2ggdG8iIGlmCiAgIGBnaXQgcHVzaGAgd2VyZSBydW4gd2hpbGUgYGJyYW5jaG5hbWVgIHdhcyBjaGVja2VkIG91dCAob3IgdGhlIGN1cnJlbnQKLSAgJ0hFQUQnIGlmIG5vIGJyYW5jaG5hbWUgaXMgc3BlY2lmaWVkKS4gU2luY2Ugb3VyIHB1c2ggZGVzdGluYXRpb24gaXMKKyAgYEhFQURgIGlmIG5vIGJyYW5jaG5hbWUgaXMgc3BlY2lmaWVkKS4gU2luY2Ugb3VyIHB1c2ggZGVzdGluYXRpb24gaXMKICAgaW4gYSByZW1vdGUgcmVwb3NpdG9yeSwgb2YgY291cnNlLCB3ZSByZXBvcnQgdGhlIGxvY2FsIHRyYWNraW5nIGJyYW5jaAogICB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoYXQgYnJhbmNoIChpLmUuLCBzb21ldGhpbmcgaW4gJ3JlZnMvcmVtb3Rlcy8nKS4KICsKQEAgLTIzNyw1OCArMjM3LDkxIEBACiAtLS0tLS0tLS0tLS0tLS0tLQogCiBIaXN0b3J5IHRyYXZlcnNpbmcgY29tbWFuZHMgc3VjaCBhcyBgZ2l0IGxvZ2Agb3BlcmF0ZSBvbiBhIHNldAotb2YgY29tbWl0cywgbm90IGp1c3QgYSBzaW5nbGUgY29tbWl0LiAgVG8gdGhlc2UgY29tbWFuZHMsCi1zcGVjaWZ5aW5nIGEgc2luZ2xlIHJldmlzaW9uIHdpdGggdGhlIG5vdGF0aW9uIGRlc2NyaWJlZCBpbiB0aGUKLXByZXZpb3VzIHNlY3Rpb24gbWVhbnMgdGhlIHNldCBvZiBjb21taXRzIHJlYWNoYWJsZSBmcm9tIHRoYXQKLWNvbW1pdCwgZm9sbG93aW5nIHRoZSBjb21taXQgYW5jZXN0cnkgY2hhaW4uCitvZiBjb21taXRzLCBub3QganVzdCBhIHNpbmdsZSBjb21taXQuCiAKLVRvIGV4Y2x1ZGUgY29tbWl0cyByZWFjaGFibGUgZnJvbSBhIGNvbW1pdCwgYSBwcmVmaXggJ3tjYXJldH0nCi1ub3RhdGlvbiBpcyB1c2VkLiAgRS5nLiAne2NhcmV0fXIxIHIyJyBtZWFucyBjb21taXRzIHJlYWNoYWJsZQotZnJvbSAncjInIGJ1dCBleGNsdWRlIHRoZSBvbmVzIHJlYWNoYWJsZSBmcm9tICdyMScuCitGb3IgdGhlc2UgY29tbWFuZHMsCitzcGVjaWZ5aW5nIGEgc2luZ2xlIHJldmlzaW9uLCB1c2luZyB0aGUgbm90YXRpb24gZGVzY3JpYmVkIGluIHRoZQorcHJldmlvdXMgc2VjdGlvbiwgbWVhbnMgdGhlIHNldCBvZiBjb21taXRzIGByZWFjaGFibGVgIGZyb20gdGhlIGdpdmVuCitjb21taXQuCiAKLVRoaXMgc2V0IG9wZXJhdGlvbiBhcHBlYXJzIHNvIG9mdGVuIHRoYXQgdGhlcmUgaXMgYSBzaG9ydGhhbmQKLWZvciBpdC4gIFdoZW4geW91IGhhdmUgdHdvIGNvbW1pdHMgJ3IxJyBhbmQgJ3IyJyAobmFtZWQgYWNjb3JkaW5nCi10byB0aGUgc3ludGF4IGV4cGxhaW5lZCBpbiBTUEVDSUZZSU5HIFJFVklTSU9OUyBhYm92ZSksIHlvdSBjYW4gYXNrCi1mb3IgY29tbWl0cyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSByMiBleGNsdWRpbmcgdGhvc2UgdGhhdCBhcmUgcmVhY2hhYmxlCi1mcm9tIHIxIGJ5ICd7Y2FyZXR9cjEgcjInIGFuZCBpdCBjYW4gYmUgd3JpdHRlbiBhcyAncjEuLnIyJy4KK0EgY29tbWl0J3MgcmVhY2hhYmxlIHNldCBpcyB0aGUgY29tbWl0IGl0c2VsZiBhbmQgdGhlIGNvbW1pdHMgaW4KK2l0cyBhbmNlc3RyeSBjaGFpbi4KIAotQSBzaW1pbGFyIG5vdGF0aW9uICdyMVwuLi5yMicgaXMgY2FsbGVkIHN5bW1ldHJpYyBkaWZmZXJlbmNlCi1vZiAncjEnIGFuZCAncjInIGFuZCBpcyBkZWZpbmVkIGFzCi0ncjEgcjIgLS1ub3QgJChnaXQgbWVyZ2UtYmFzZSAtLWFsbCByMSByMiknLgotSXQgaXMgdGhlIHNldCBvZiBjb21taXRzIHRoYXQgYXJlIHJlYWNoYWJsZSBmcm9tIGVpdGhlciBvbmUgb2YKLSdyMScgb3IgJ3IyJyBidXQgbm90IGZyb20gYm90aC4KIAotSW4gdGhlc2UgdHdvIHNob3J0aGFuZHMsIHlvdSBjYW4gb21pdCBvbmUgZW5kIGFuZCBsZXQgaXQgZGVmYXVsdCB0byBIRUFELgorQ29tbWl0IEV4Y2x1c2lvbnMKK35+fn5+fn5+fn5+fn5+fn5+CisKKyd7Y2FyZXR9PHJldj4nIChjYXJldCkgTm90YXRpb246OgorIFRvIGV4Y2x1ZGUgY29tbWl0cyByZWFjaGFibGUgZnJvbSBhIGNvbW1pdCwgYSBwcmVmaXggJ3tjYXJldH0nCisgbm90YXRpb24gaXMgdXNlZC4gIEUuZy4gJ3tjYXJldH1yMSByMicgbWVhbnMgY29tbWl0cyByZWFjaGFibGUKKyBmcm9tICdyMicgYnV0IGV4Y2x1ZGUgdGhlIG9uZXMgcmVhY2hhYmxlIGZyb20gJ3IxJyAoaS5lLiAncjEnIGFuZAorIGl0cyBhbmNlc3RvcnMpLgorCitEb3R0ZWQgUmFuZ2UgTm90YXRpb25zCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1RoZSAnLi4nICh0d28tZG90KSBSYW5nZSBOb3RhdGlvbjo6CisgVGhlICd7Y2FyZXR9cjEgcjInIHNldCBvcGVyYXRpb24gYXBwZWFycyBzbyBvZnRlbiB0aGF0IHRoZXJlIGlzIGEgc2hvcnRoYW5kCisgZm9yIGl0LiAgV2hlbiB5b3UgaGF2ZSB0d28gY29tbWl0cyAncjEnIGFuZCAncjInIChuYW1lZCBhY2NvcmRpbmcKKyB0byB0aGUgc3ludGF4IGV4cGxhaW5lZCBpbiBTUEVDSUZZSU5HIFJFVklTSU9OUyBhYm92ZSksIHlvdSBjYW4gYXNrCisgZm9yIGNvbW1pdHMgdGhhdCBhcmUgcmVhY2hhYmxlIGZyb20gcjIgZXhjbHVkaW5nIHRob3NlIHRoYXQgYXJlIHJlYWNoYWJsZQorIGZyb20gcjEgYnkgJ3tjYXJldH1yMSByMicgYW5kIGl0IGNhbiBiZSB3cml0dGVuIGFzICdyMS4ucjInLgorCitUaGUgJy4uLicgKHRocmVlIGRvdCkgU3ltbWV0cmljIERpZmZlcmVuY2UgTm90YXRpb246OgorIEEgc2ltaWxhciBub3RhdGlvbiAncjFcLi4ucjInIGlzIGNhbGxlZCBzeW1tZXRyaWMgZGlmZmVyZW5jZQorIG9mICdyMScgYW5kICdyMicgYW5kIGlzIGRlZmluZWQgYXMKKyAncjEgcjIgLS1ub3QgJChnaXQgbWVyZ2UtYmFzZSAtLWFsbCByMSByMiknLgorIEl0IGlzIHRoZSBzZXQgb2YgY29tbWl0cyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSBlaXRoZXIgb25lIG9mCisgJ3IxJyAobGVmdCBzaWRlKSBvciAncjInIChyaWdodCBzaWRlKSBidXQgbm90IGZyb20gYm90aC4KKworSW4gdGhlc2UgdHdvIHNob3J0aGFuZCBub3RhdGlvbnMsIHlvdSBjYW4gb21pdCBvbmUgZW5kIGFuZCBsZXQgaXQgZGVmYXVsdCB0byBIRUFELgogRm9yIGV4YW1wbGUsICdvcmlnaW4uLicgaXMgYSBzaG9ydGhhbmQgZm9yICdvcmlnaW4uLkhFQUQnIGFuZCBhc2tzICJXaGF0CiBkaWQgSSBkbyBzaW5jZSBJIGZvcmtlZCBmcm9tIHRoZSBvcmlnaW4gYnJhbmNoPyIgIFNpbWlsYXJseSwgJy4ub3JpZ2luJwogaXMgYSBzaG9ydGhhbmQgZm9yICdIRUFELi5vcmlnaW4nIGFuZCBhc2tzICJXaGF0IGRpZCB0aGUgb3JpZ2luIGRvIHNpbmNlCiBJIGZvcmtlZCBmcm9tIHRoZW0/IiAgTm90ZSB0aGF0ICcuLicgd291bGQgbWVhbiAnSEVBRC4uSEVBRCcgd2hpY2ggaXMgYW4KIGVtcHR5IHJhbmdlIHRoYXQgaXMgYm90aCByZWFjaGFibGUgYW5kIHVucmVhY2hhYmxlIGZyb20gSEVBRC4KIAotVHdvIG90aGVyIHNob3J0aGFuZHMgZm9yIG5hbWluZyBhIHNldCB0aGF0IGlzIGZvcm1lZCBieSBhIGNvbW1pdAotYW5kIGl0cyBwYXJlbnQgY29tbWl0cyBleGlzdC4gIFRoZSAncjF7Y2FyZXR9QCcgbm90YXRpb24gbWVhbnMgYWxsCi1wYXJlbnRzIG9mICdyMScuICAncjF7Y2FyZXR9IScgaW5jbHVkZXMgY29tbWl0ICdyMScgYnV0IGV4Y2x1ZGVzCi1hbGwgb2YgaXRzIHBhcmVudHMuCitPdGhlciA8cmV2PntjYXJldH0gUGFyZW50IFNob3J0aGFuZCBOb3RhdGlvbnMKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorVGhyZWUgb3RoZXIgc2hvcnRoYW5kcyBleGlzdCwgcGFydGljdWxhcmx5IHVzZWZ1bCBmb3IgbWVyZ2UgY29tbWl0cywKK2ZvciBuYW1pbmcgYSBzZXQgdGhhdCBpcyBmb3JtZWQgYnkgYSBjb21taXQgYW5kIGl0cyBwYXJlbnQgY29tbWl0cy4KIAotVG8gc3VtbWFyaXplOgorVGhlICdyMXtjYXJldH1AJyBub3RhdGlvbiBtZWFucyBhbGwgcGFyZW50cyBvZiAncjEnLgorCitUaGUgJ3Ixe2NhcmV0fSEnIG5vdGF0aW9uIGluY2x1ZGVzIGNvbW1pdCAncjEnIGJ1dCBleGNsdWRlcyBhbGwgb2YgaXRzIHBhcmVudHMuCitCeSBpdHNlbGYsIHRoaXMgbm90YXRpb24gZGVub3RlcyB0aGUgc2luZ2xlIGNvbW1pdCAncjEnLgorCitUaGUgJzxyZXY+e2NhcmV0fS17PG4+fScgbm90YXRpb24gaW5jbHVkZXMgJzxyZXY+JyBidXQgZXhjbHVkZXMgdGhlIDxuPnRoCitwYXJlbnQgKGkuZS4gYSBzaG9ydGhhbmQgZm9yICc8cmV2PntjYXJldH08bj4uLjxyZXY+JyksIHdpdGggJzxuPicgPSAxIGlmCitub3QgZ2l2ZW4uIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWZ1bCBmb3IgbWVyZ2UgY29tbWl0cyB3aGVyZSB5b3UKK2NhbiBqdXN0IHBhc3MgJzxjb21taXQ+e2NhcmV0fS0nIHRvIGdldCBhbGwgdGhlIGNvbW1pdHMgaW4gdGhlIGJyYW5jaAordGhhdCB3YXMgbWVyZ2VkIGluIG1lcmdlIGNvbW1pdCAnPGNvbW1pdD4nIChpbmNsdWRpbmcgJzxjb21taXQ+JworaXRzZWxmKS4KKworV2hpbGUgJzxyZXY+e2NhcmV0fTxuPicgd2FzIGFib3V0IHNwZWNpZnlpbmcgYSBzaW5nbGUgY29tbWl0IHBhcmVudCwgdGhlc2UKK3RocmVlIG5vdGF0aW9ucyBhbHNvIGNvbnNpZGVyIGl0cyBwYXJlbnRzLiBGb3IgZXhhbXBsZSB5b3UgY2FuIHNheQorJ0hFQUR7Y2FyZXR9MntjYXJldH1AJywgaG93ZXZlciB5b3UgY2Fubm90IHNheSAnSEVBRHtjYXJldH1Ae2NhcmV0fTInLgorCitSZXZpc2lvbiBSYW5nZSBTdW1tYXJ5CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKICc8cmV2Pic6OgotCUluY2x1ZGUgY29tbWl0cyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSAoaS5lLiBhbmNlc3RvcnMgb2YpCi0JPHJldj4uCisJSW5jbHVkZSBjb21taXRzIHRoYXQgYXJlIHJlYWNoYWJsZSBmcm9tIDxyZXY+IChpLmUuIDxyZXY+IGFuZCBpdHMKKwlhbmNlc3RvcnMpLgogCiAne2NhcmV0fTxyZXY+Jzo6Ci0JRXhjbHVkZSBjb21taXRzIHRoYXQgYXJlIHJlYWNoYWJsZSBmcm9tIChpLmUuIGFuY2VzdG9ycyBvZikKLQk8cmV2Pi4KKwlFeGNsdWRlIGNvbW1pdHMgdGhhdCBhcmUgcmVhY2hhYmxlIGZyb20gPHJldj4gKGkuZS4gPHJldj4gYW5kIGl0cworCWFuY2VzdG9ycykuCiAKICc8cmV2MT4uLjxyZXYyPic6OgogCUluY2x1ZGUgY29tbWl0cyB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSA8cmV2Mj4gYnV0IGV4Y2x1ZGUKIAl0aG9zZSB0aGF0IGFyZSByZWFjaGFibGUgZnJvbSA8cmV2MT4uICBXaGVuIGVpdGhlciA8cmV2MT4gb3IKLQk8cmV2Mj4gaXMgb21pdHRlZCwgaXQgZGVmYXVsdHMgdG8gJ0hFQUQnLgorCTxyZXYyPiBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byBgSEVBRGAuCiAKICc8cmV2MT5cLi4uPHJldjI+Jzo6CiAJSW5jbHVkZSBjb21taXRzIHRoYXQgYXJlIHJlYWNoYWJsZSBmcm9tIGVpdGhlciA8cmV2MT4gb3IKIAk8cmV2Mj4gYnV0IGV4Y2x1ZGUgdGhvc2UgdGhhdCBhcmUgcmVhY2hhYmxlIGZyb20gYm90aC4gIFdoZW4KLQllaXRoZXIgPHJldjE+IG9yIDxyZXYyPiBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byAnSEVBRCcuCisJZWl0aGVyIDxyZXYxPiBvciA8cmV2Mj4gaXMgb21pdHRlZCwgaXQgZGVmYXVsdHMgdG8gYEhFQURgLgogCiAnPHJldj57Y2FyZXR9QCcsIGUuZy4gJ0hFQUR7Y2FyZXR9QCc6OgogICBBIHN1ZmZpeCAne2NhcmV0fScgZm9sbG93ZWQgYnkgYW4gYXQgc2lnbiBpcyB0aGUgc2FtZSBhcyBsaXN0aW5nCkBAIC0zMDAsMTYgKzMzMywzMyBAQAogICBhcyBnaXZpbmcgY29tbWl0ICc8cmV2PicgYW5kIHRoZW4gYWxsIGl0cyBwYXJlbnRzIHByZWZpeGVkIHdpdGgKICAgJ3tjYXJldH0nIHRvIGV4Y2x1ZGUgdGhlbSAoYW5kIHRoZWlyIGFuY2VzdG9ycykuCiAKLUhlcmUgYXJlIGEgaGFuZGZ1bCBvZiBleGFtcGxlczoKKyc8cmV2PntjYXJldH0tezxuPn0nLCBlLmcuICdIRUFEe2NhcmV0fS0sIEhFQUR7Y2FyZXR9LTInOjoKKwlFcXVpdmFsZW50IHRvICc8cmV2PntjYXJldH08bj4uLjxyZXY+Jywgd2l0aCAnPG4+JyA9IDEgaWYgbm90CisJZ2l2ZW4uCiAKLSAgIEQgICAgICAgICAgICAgICAgRyBIIEQKLSAgIEQgRiAgICAgICAgICAgICAgRyBIIEkgSiBEIEYKLSAgIF5HIEQgICAgICAgICAgICAgSCBECi0gICBeRCBCICAgICAgICAgICAgIEUgSSBKIEYgQgotICAgQi4uQyAgICAgICAgICAgICBDCi0gICBCLi4uQyAgICAgICAgICAgIEcgSCBEIEUgQiBDCi0gICBeRCBCIEMgICAgICAgICAgIEUgSSBKIEYgQiBDCi0gICBDICAgICAgICAgICAgICAgIEkgSiBGIEMKLSAgIENeQCAgICAgICAgICAgICAgSSBKIEYKLSAgIENeISAgICAgICAgICAgICAgQwotICAgRl4hIEQgICAgICAgICAgICBHIEggRCBGCitIZXJlIGFyZSBhIGhhbmRmdWwgb2YgZXhhbXBsZXMgdXNpbmcgdGhlIExvZWxpZ2VyIGlsbHVzdHJhdGlvbiBhYm92ZSwKK3dpdGggZWFjaCBzdGVwIGluIHRoZSBub3RhdGlvbidzIGV4cGFuc2lvbiBhbmQgc2VsZWN0aW9uIGNhcmVmdWxseQorc3BlbHQgb3V0OgorCisgICBBcmdzICAgRXhwYW5kZWQgYXJndW1lbnRzICAgIFNlbGVjdGVkIGNvbW1pdHMKKyAgIEQgICAgICAgICAgICAgICAgICAgICAgICAgICAgRyBIIEQKKyAgIEQgRiAgICAgICAgICAgICAgICAgICAgICAgICAgRyBIIEkgSiBEIEYKKyAgIF5HIEQgICAgICAgICAgICAgICAgICAgICAgICAgSCBECisgICBeRCBCICAgICAgICAgICAgICAgICAgICAgICAgIEUgSSBKIEYgQgorICAgXkQgQiBDICAgICAgICAgICAgICAgICAgICAgICBFIEkgSiBGIEIgQworICAgQyAgICAgICAgICAgICAgICAgICAgICAgICAgICBJIEogRiBDCisgICBCLi5DICAgPSBeQiBDICAgICAgICAgICAgICAgIEMKKyAgIEIuLi5DICA9IEIgXkYgQyAgICAgICAgICAgICAgRyBIIEQgRSBCIEMKKyAgIEJeLSAgICA9IEJeLi5CCisJICA9IF5CXjEgQiAgICAgICAgICAgICAgRSBJIEogRiBCCisgICBDXkAgICAgPSBDXjEKKwkgID0gRiAgICAgICAgICAgICAgICAgICBJIEogRgorICAgQl5AICAgID0gQl4xIEJeMiBCXjMKKwkgID0gRCBFIEYgICAgICAgICAgICAgICBEIEcgSCBFIEYgSSBKCisgICBDXiEgICAgPSBDIF5DXkAKKwkgID0gQyBeQ14xCisJICA9IEMgXkYgICAgICAgICAgICAgICAgQworICAgQl4hICAgID0gQiBeQl5ACisJICA9IEIgXkJeMSBeQl4yIF5CXjMKKwkgID0gQiBeRCBeRSBeRiAgICAgICAgICBCCisgICBGXiEgRCAgPSBGIF5JIF5KIEQgICAgICAgICAgIEcgSCBEIEYKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1oYXNobWFwLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1oYXNobWFwLnR4dAppbmRleCBhZDdhNWJkLi4yOGY1YThiIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktaGFzaG1hcC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWhhc2htYXAudHh0CkBAIC0xMDQsNiArMTA0LDExIEBACiBgZW50cnlgIHBvaW50cyB0byB0aGUgZW50cnkgdG8gaW5pdGlhbGl6ZS4KICsKIGBoYXNoYCBpcyB0aGUgaGFzaCBjb2RlIG9mIHRoZSBlbnRyeS4KKysKK1RoZSBoYXNobWFwX2VudHJ5IHN0cnVjdHVyZSBkb2VzIG5vdCBob2xkIHJlZmVyZW5jZXMgdG8gZXh0ZXJuYWwgcmVzb3VyY2VzLAorYW5kIGl0IGlzIHNhZmUgdG8ganVzdCBkaXNjYXJkIGl0IG9uY2UgeW91IGFyZSBkb25lIHdpdGggaXQgKGkuZS4gaWYKK3lvdXIgc3RydWN0dXJlIHdhcyBhbGxvY2F0ZWQgd2l0aCB4bWFsbG9jKCksIHlvdSBjYW4ganVzdCBmcmVlKDMpIGl0LAorYW5kIGlmIGl0IGlzIG9uIHN0YWNrLCB5b3UgY2FuIGp1c3QgbGV0IGl0IGdvIG91dCBvZiBzY29wZSkuCiAKIGB2b2lkICpoYXNobWFwX2dldChjb25zdCBzdHJ1Y3QgaGFzaG1hcCAqbWFwLCBjb25zdCB2b2lkICprZXksIGNvbnN0IHZvaWQgKmtleWRhdGEpYDo6CiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1zaGExLWFycmF5LnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1zaGExLWFycmF5LnR4dAppbmRleCAzZTc1NDk3Li5kY2M1Mjk0IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktc2hhMS1hcnJheS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXNoYTEtYXJyYXkudHh0CkBAIC0zOCwxNiArMzgsMjAgQEAKIGBzaGExX2FycmF5X2Zvcl9lYWNoX3VuaXF1ZWA6OgogCUVmZmljaWVudGx5IGl0ZXJhdGUgb3ZlciBlYWNoIHVuaXF1ZSBlbGVtZW50IG9mIHRoZSBsaXN0LAogCWV4ZWN1dGluZyB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gZm9yIGVhY2ggb25lLiBJZiB0aGUgYXJyYXkgaXMKLQlub3Qgc29ydGVkLCB0aGlzIGZ1bmN0aW9uIGhhcyB0aGUgc2lkZSBlZmZlY3Qgb2Ygc29ydGluZyBpdC4KKwlub3Qgc29ydGVkLCB0aGlzIGZ1bmN0aW9uIGhhcyB0aGUgc2lkZSBlZmZlY3Qgb2Ygc29ydGluZyBpdC4gSWYKKwl0aGUgY2FsbGJhY2sgcmV0dXJucyBhIG5vbi16ZXJvIHZhbHVlLCB0aGUgaXRlcmF0aW9uIGVuZHMKKwlpbW1lZGlhdGVseSBhbmQgdGhlIGNhbGxiYWNrJ3MgcmV0dXJuIGlzIHByb3BhZ2F0ZWQ7IG90aGVyd2lzZSwKKwkwIGlzIHJldHVybmVkLgogCiBFeGFtcGxlcwogLS0tLS0tLS0KIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLXZvaWQgcHJpbnRfY2FsbGJhY2soY29uc3QgdW5zaWduZWQgY2hhciBzaGExWzIwXSwKK2ludCBwcmludF9jYWxsYmFjayhjb25zdCB1bnNpZ25lZCBjaGFyIHNoYTFbMjBdLAogCQkgICAgdm9pZCAqZGF0YSkKIHsKIAlwcmludGYoIiVzXG4iLCBzaGExX3RvX2hleChzaGExKSk7CisJcmV0dXJuIDA7IC8qIGFsd2F5cyBjb250aW51ZSAqLwogfQogCiB2b2lkIHNvbWVfZnVuYyh2b2lkKQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFjay1wcm90b2NvbC50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wYWNrLXByb3RvY29sLnR4dAppbmRleCA4YjM2MzQzLi5jNTlhYzk5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wYWNrLXByb3RvY29sLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wYWNrLXByb3RvY29sLnR4dApAQCAtMjE5LDcgKzIxOSw5IEBACiAKICAgc2hhbGxvdy1saW5lICAgICAgPSAgUEtULUxJTkUoInNoYWxsb3ciIFNQIG9iai1pZCkKIAotICBkZXB0aC1yZXF1ZXN0ICAgICA9ICBQS1QtTElORSgiZGVlcGVuIiBTUCBkZXB0aCkKKyAgZGVwdGgtcmVxdWVzdCAgICAgPSAgUEtULUxJTkUoImRlZXBlbiIgU1AgZGVwdGgpIC8KKwkJICAgICAgIFBLVC1MSU5FKCJkZWVwZW4tc2luY2UiIFNQIHRpbWVzdGFtcCkgLworCQkgICAgICAgUEtULUxJTkUoImRlZXBlbi1ub3QiIFNQIHJlZikKIAogICBmaXJzdC13YW50ICAgICAgICA9ICBQS1QtTElORSgid2FudCIgU1Agb2JqLWlkIFNQIGNhcGFiaWxpdHktbGlzdCkKICAgYWRkaXRpb25hbC13YW50ICAgPSAgUEtULUxJTkUoIndhbnQiIFNQIG9iai1pZCkKQEAgLTMwNyw3ICszMDksNyBAQAogICAgIHJlYWR5IHRvIG1ha2UgYSBwYWNrZmlsZSwgaXQgd2lsbCBibGluZGx5IEFDSyBhbGwgJ2hhdmUnIG9iai1pZHMKICAgICBiYWNrIHRvIHRoZSBjbGllbnQuCiAKLSAgKiB0aGUgc2VydmVyIHdpbGwgdGhlbiBzZW5kIGEgJ05BQ0snIGFuZCB0aGVuIHdhaXQgZm9yIGFub3RoZXIgcmVzcG9uc2UKKyAgKiB0aGUgc2VydmVyIHdpbGwgdGhlbiBzZW5kIGEgJ05BSycgYW5kIHRoZW4gd2FpdCBmb3IgYW5vdGhlciByZXNwb25zZQogICAgIGZyb20gdGhlIGNsaWVudCAtIGVpdGhlciBhICdkb25lJyBvciBhbm90aGVyIGxpc3Qgb2YgJ2hhdmUnIGxpbmVzLgogCiBJbiBtdWx0aV9hY2tfZGV0YWlsZWQgbW9kZToKQEAgLTQ1NCw3ICs0NTYsOCBAQAogZmV0Y2hpbmcgcHJvdG9jb2wuIEVhY2ggcmVmZXJlbmNlIG9iai1pZCBhbmQgbmFtZSBvbiB0aGUgc2VydmVyIGlzIHNlbnQKIGluIHBhY2tldC1saW5lIGZvcm1hdCB0byB0aGUgY2xpZW50LCBmb2xsb3dlZCBieSBhIGZsdXNoLXBrdC4gIFRoZSBvbmx5CiByZWFsIGRpZmZlcmVuY2UgaXMgdGhhdCB0aGUgY2FwYWJpbGl0eSBsaXN0aW5nIGlzIGRpZmZlcmVudCAtIHRoZSBvbmx5Ci1wb3NzaWJsZSB2YWx1ZXMgYXJlICdyZXBvcnQtc3RhdHVzJywgJ2RlbGV0ZS1yZWZzJyBhbmQgJ29mcy1kZWx0YScuCitwb3NzaWJsZSB2YWx1ZXMgYXJlICdyZXBvcnQtc3RhdHVzJywgJ2RlbGV0ZS1yZWZzJywgJ29mcy1kZWx0YScgYW5kCisncHVzaC1vcHRpb25zJy4KIAogUmVmZXJlbmNlIFVwZGF0ZSBSZXF1ZXN0IGFuZCBQYWNrZmlsZSBUcmFuc2ZlcgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtNDY1LDkgKzQ2OCwxMCBAQAogdGhlIHNlcnZlciwgdGhlIG9iai1pZCB0aGUgY2xpZW50IHdvdWxkIGxpa2UgdG8gdXBkYXRlIGl0IHRvIGFuZCB0aGUgbmFtZQogb2YgdGhlIHJlZmVyZW5jZS4KIAotVGhpcyBsaXN0IGlzIGZvbGxvd2VkIGJ5IGEgZmx1c2gtcGt0IGFuZCB0aGVuIHRoZSBwYWNrZmlsZSB0aGF0IHNob3VsZAotY29udGFpbiBhbGwgdGhlIG9iamVjdHMgdGhhdCB0aGUgc2VydmVyIHdpbGwgbmVlZCB0byBjb21wbGV0ZSB0aGUgbmV3Ci1yZWZlcmVuY2VzLgorVGhpcyBsaXN0IGlzIGZvbGxvd2VkIGJ5IGEgZmx1c2gtcGt0LiBUaGVuIHRoZSBwdXNoIG9wdGlvbnMgYXJlIHRyYW5zbWl0dGVkCitvbmUgcGVyIHBhY2tldCBmb2xsb3dlZCBieSBhbm90aGVyIGZsdXNoLXBrdC4gQWZ0ZXIgdGhhdCB0aGUgcGFja2ZpbGUgdGhhdAorc2hvdWxkIGNvbnRhaW4gYWxsIHRoZSBvYmplY3RzIHRoYXQgdGhlIHNlcnZlciB3aWxsIG5lZWQgdG8gY29tcGxldGUgdGhlIG5ldworcmVmZXJlbmNlcyB3aWxsIGJlIHNlbnQuCiAKIC0tLS0KICAgdXBkYXRlLXJlcXVlc3QgICAgPSAgKnNoYWxsb3cgKCBjb21tYW5kLWxpc3QgfCBwdXNoLWNlcnQgKSBbcGFja2ZpbGVdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wcm90b2NvbC1jYXBhYmlsaXRpZXMudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcHJvdG9jb2wtY2FwYWJpbGl0aWVzLnR4dAppbmRleCBlYWFiNmI0Li4yNmRjYzZmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wcm90b2NvbC1jYXBhYmlsaXRpZXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3Byb3RvY29sLWNhcGFiaWxpdGllcy50eHQKQEAgLTE3OSw2ICsxNzksMzEgQEAKIHRoZSAgZmV0Y2gtcGFjay91cGxvYWQtcGFjayBwcm90b2NvbCBzbyBjbGllbnRzIGNhbiByZXF1ZXN0IHNoYWxsb3cKIGNsb25lcy4KIAorZGVlcGVuLXNpbmNlCistLS0tLS0tLS0tLS0KKworVGhpcyBjYXBhYmlsaXR5IGFkZHMgImRlZXBlbi1zaW5jZSIgY29tbWFuZCB0byBmZXRjaC1wYWNrL3VwbG9hZC1wYWNrCitwcm90b2NvbCBzbyB0aGUgY2xpZW50IGNhbiByZXF1ZXN0IHNoYWxsb3cgY2xvbmVzIHRoYXQgYXJlIGN1dCBhdCBhCitzcGVjaWZpYyB0aW1lLCBpbnN0ZWFkIG9mIGRlcHRoLiBJbnRlcm5hbGx5IGl0J3MgZXF1aXZhbGVudCBvZiBkb2luZworInJldi1saXN0IC0tbWF4LWFnZT08dGltZXN0YW1wPiIgb24gdGhlIHNlcnZlciBzaWRlLiAiZGVlcGVuLXNpbmNlIgorY2Fubm90IGJlIHVzZWQgd2l0aCAiZGVlcGVuIi4KKworZGVlcGVuLW5vdAorLS0tLS0tLS0tLQorCitUaGlzIGNhcGFiaWxpdHkgYWRkcyAiZGVlcGVuLW5vdCIgY29tbWFuZCB0byBmZXRjaC1wYWNrL3VwbG9hZC1wYWNrCitwcm90b2NvbCBzbyB0aGUgY2xpZW50IGNhbiByZXF1ZXN0IHNoYWxsb3cgY2xvbmVzIHRoYXQgYXJlIGN1dCBhdCBhCitzcGVjaWZpYyByZXZpc2lvbiwgaW5zdGVhZCBvZiBkZXB0aC4gSW50ZXJuYWxseSBpdCdzIGVxdWl2YWxlbnQgb2YKK2RvaW5nICJyZXYtbGlzdCAtLW5vdCA8cmV2PiIgb24gdGhlIHNlcnZlciBzaWRlLiAiZGVlcGVuLW5vdCIKK2Nhbm5vdCBiZSB1c2VkIHdpdGggImRlZXBlbiIsIGJ1dCBjYW4gYmUgdXNlZCB3aXRoICJkZWVwZW4tc2luY2UiLgorCitkZWVwZW4tcmVsYXRpdmUKKy0tLS0tLS0tLS0tLS0tLQorCitJZiB0aGlzIGNhcGFiaWxpdHkgaXMgcmVxdWVzdGVkIGJ5IHRoZSBjbGllbnQsIHRoZSBzZW1hbnRpY3Mgb2YKKyJkZWVwZW4iIGNvbW1hbmQgaXMgY2hhbmdlZC4gVGhlICJkZXB0aCIgYXJndW1lbnQgaXMgdGhlIGRlcHRoIGZyb20KK3RoZSBjdXJyZW50IHNoYWxsb3cgYm91bmRhcnksIGluc3RlYWQgb2YgdGhlIGRlcHRoIGZyb20gcmVtb3RlIHJlZnMuCisKIG5vLXByb2dyZXNzCiAtLS0tLS0tLS0tLQogCkBAIC0yNTMsNiArMjc4LDE1IEBACiB3aWxsIHVwZGF0ZSB0aGUgcmVmcyBpbiBvbmUgYXRvbWljIHRyYW5zYWN0aW9uLiBFaXRoZXIgYWxsIHJlZnMgYXJlCiB1cGRhdGVkIG9yIG5vbmUuCiAKK3B1c2gtb3B0aW9ucworLS0tLS0tLS0tLS0tCisKK0lmIHRoZSBzZXJ2ZXIgc2VuZHMgdGhlICdwdXNoLW9wdGlvbnMnIGNhcGFiaWxpdHkgaXQgaXMgYWJsZSB0byBhY2NlcHQKK3B1c2ggb3B0aW9ucyBhZnRlciB0aGUgdXBkYXRlIGNvbW1hbmRzIGhhdmUgYmVlbiBzZW50LCBidXQgYmVmb3JlIHRoZQorcGFja2ZpbGUgaXMgc3RyZWFtZWQuIElmIHRoZSBwdXNoaW5nIGNsaWVudCByZXF1ZXN0cyB0aGlzIGNhcGFiaWxpdHksCit0aGUgc2VydmVyIHdpbGwgcGFzcyB0aGUgb3B0aW9ucyB0byB0aGUgcHJlLSBhbmQgcG9zdC0gcmVjZWl2ZSBob29rcwordGhhdCBwcm9jZXNzIHRoaXMgcHVzaCByZXF1ZXN0LgorCiBhbGxvdy10aXAtc2hhMS1pbi13YW50CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3Byb3RvY29sLWNvbW1vbi50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wcm90b2NvbC1jb21tb24udHh0CmluZGV4IGJmMzAxNjcuLmVjZWRiMzQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3Byb3RvY29sLWNvbW1vbi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcHJvdG9jb2wtY29tbW9uLnR4dApAQCAtNjcsOSArNjcsOSBAQAogTEYgKHN0cmlwcGluZyB0aGUgTEYgaWYgcHJlc2VudCwgYW5kIG5vdCBjb21wbGFpbmluZyB3aGVuIGl0IGlzCiBtaXNzaW5nKS4KIAotVGhlIG1heGltdW0gbGVuZ3RoIG9mIGEgcGt0LWxpbmUncyBkYXRhIGNvbXBvbmVudCBpcyA2NTUyMCBieXRlcy4KLUltcGxlbWVudGF0aW9ucyBNVVNUIE5PVCBzZW5kIHBrdC1saW5lIHdob3NlIGxlbmd0aCBleGNlZWRzIDY1NTI0Ci0oNjU1MjAgYnl0ZXMgb2YgcGF5bG9hZCArIDQgYnl0ZXMgb2YgbGVuZ3RoIGRhdGEpLgorVGhlIG1heGltdW0gbGVuZ3RoIG9mIGEgcGt0LWxpbmUncyBkYXRhIGNvbXBvbmVudCBpcyA2NTUxNiBieXRlcy4KK0ltcGxlbWVudGF0aW9ucyBNVVNUIE5PVCBzZW5kIHBrdC1saW5lIHdob3NlIGxlbmd0aCBleGNlZWRzIDY1NTIwCisoNjU1MTYgYnl0ZXMgb2YgcGF5bG9hZCArIDQgYnl0ZXMgb2YgbGVuZ3RoIGRhdGEpLgogCiBJbXBsZW1lbnRhdGlvbnMgU0hPVUxEIE5PVCBzZW5kIGFuIGVtcHR5IHBrdC1saW5lICgiMDAwNCIpLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9zaWduYXR1cmUtZm9ybWF0LnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3NpZ25hdHVyZS1mb3JtYXQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjOTQwNmEKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9zaWduYXR1cmUtZm9ybWF0LnR4dApAQCAtMCwwICsxLDE4NiBAQAorR2l0IHNpZ25hdHVyZSBmb3JtYXQKKz09PT09PT09PT09PT09PT09PT09CisKKz09IE92ZXJ2aWV3CisKK0dpdCB1c2VzIGNyeXB0b2dyYXBoaWMgc2lnbmF0dXJlcyBpbiB2YXJpb3VzIHBsYWNlcywgY3VycmVudGx5IG9iamVjdHMgKHRhZ3MsCitjb21taXRzLCBtZXJnZXRhZ3MpIGFuZCB0cmFuc2FjdGlvbnMgKHB1c2hlcykuIEluIGV2ZXJ5IGNhc2UsIHRoZSBjb21tYW5kIHdoaWNoCitpcyBhYm91dCB0byBjcmVhdGUgYW4gb2JqZWN0IG9yIHRyYW5zYWN0aW9uIGRldGVybWluZXMgYSBwYXlsb2FkIGZyb20gdGhhdCwKK2NhbGxzIGdwZyB0byBvYnRhaW4gYSBkZXRhY2hlZCBzaWduYXR1cmUgZm9yIHRoZSBwYXlsb2FkIChgZ3BnIC1ic2FgKSBhbmQKK2VtYmVkcyB0aGUgc2lnbmF0dXJlIGludG8gdGhlIG9iamVjdCBvciB0cmFuc2FjdGlvbi4KKworU2lnbmF0dXJlcyBhbHdheXMgYmVnaW4gd2l0aCBgLS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS1gCithbmQgZW5kIHdpdGggYC0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLWAsIHVubGVzcyBncGcgaXMgdG9sZCB0bworcHJvZHVjZSBSRkMxOTkxIHNpZ25hdHVyZXMgd2hpY2ggdXNlIGBNRVNTQUdFYCBpbnN0ZWFkIG9mIGBTSUdOQVRVUkVgLgorCitUaGUgc2lnbmVkIHBheWxvYWQgYW5kIHRoZSB3YXkgdGhlIHNpZ25hdHVyZSBpcyBlbWJlZGRlZCBkZXBlbmRzCitvbiB0aGUgdHlwZSBvZiB0aGUgb2JqZWN0IHJlc3AuIHRyYW5zYWN0aW9uLgorCis9PSBUYWcgc2lnbmF0dXJlcworCistIGNyZWF0ZWQgYnk6IGBnaXQgdGFnIC1zYAorLSBwYXlsb2FkOiBhbm5vdGF0ZWQgdGFnIG9iamVjdAorLSBlbWJlZGRpbmc6IGFwcGVuZCB0aGUgc2lnbmF0dXJlIHRvIHRoZSB1bnNpZ25lZCB0YWcgb2JqZWN0CistIGV4YW1wbGU6IHRhZyBgc2lnbmVkdGFnYCB3aXRoIHN1YmplY3QgYHNpZ25lZCB0YWdgCisKKy0tLS0KK29iamVjdCAwNGI4NzE3OTZkYzA0MjBmOGU3NTYxYTg5NWI1MjQ4NGI3MDFkNTFhCit0eXBlIGNvbW1pdAordGFnIHNpZ25lZHRhZwordGFnZ2VyIEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4gMTQ2NTk4MTAwNiArMDAwMAorCitzaWduZWQgdGFnCisKK3NpZ25lZCB0YWcgbWVzc2FnZSBib2R5CistLS0tLUJFR0lOIFBHUCBTSUdOQVRVUkUtLS0tLQorVmVyc2lvbjogR251UEcgdjEKKworaVFFY0JBQUJBZ0FHQlFKWFlSaE9BQW9KRUdFSkxvVzNJbkdKa2xrSUFJY25oTDdSd0ViLytRZVg5ZW5rWGh4bgorcnhmZHFydldkMUs4MHNsMlRPdDhCZy9OWXdyVUJ3L1JXSitzZy9oaEhwNFd0dkUxSERHSGxrRXozeTExTGt1aAorOHRTeFMzcUtUeFhVR296eVBHdUU5MHNKZkV4aFpsVzRrbklRMXd0L3lXcU0rMzNFOXBONGh6UHFMd3lyZG9kcworcThGV0VxUFBVYlNKWG9NYlJQdzA0UzVqckx0WlNzVVdiUllqbUpDSHpsaFNmRldXNGVGZDM3dXF1SWFMVUJTMAorcmtDM0pyeDc0MjBqa0lwZ0ZjVEkyczYwdWhTUUx6Z2NDd2RBMnVrU1lJUm5qZy96RGtqOCszaC9HYVJPSjcyeAorbFp5STZIV2l4S0prV3c4bEU5YUFPRDlUbVRXOXNGSndjVkF6bUF1Rlgya1VyZURVS01aZHVHY29SWUdwRDdFPQorPWpwWGEKKy0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLQorLS0tLQorCistIHZlcmlmeSB3aXRoOiBgZ2l0IHZlcmlmeS10YWcgWy12XWAgb3IgYGdpdCB0YWcgLXZgCisKKy0tLS0KK2dwZzogU2lnbmF0dXJlIG1hZGUgV2VkIEp1biAxNSAxMDo1Njo0NiAyMDE2IENFU1QgdXNpbmcgUlNBIGtleSBJRCBCNzIyNzE4OQorZ3BnOiBHb29kIHNpZ25hdHVyZSBmcm9tICJFcmlzIERpc2NvcmRpYSA8ZGlzY29yZEBleGFtcGxlLm5ldD4iCitncGc6IFdBUk5JTkc6IFRoaXMga2V5IGlzIG5vdCBjZXJ0aWZpZWQgd2l0aCBhIHRydXN0ZWQgc2lnbmF0dXJlIQorZ3BnOiAgICAgICAgICBUaGVyZSBpcyBubyBpbmRpY2F0aW9uIHRoYXQgdGhlIHNpZ25hdHVyZSBiZWxvbmdzIHRvIHRoZSBvd25lci4KK1ByaW1hcnkga2V5IGZpbmdlcnByaW50OiBENEJFIDIyMzEgMUFEMyAxMzFFIDVFREEgIDI5QTQgNjEwOSAyRTg1IEI3MjIgNzE4OQorb2JqZWN0IDA0Yjg3MTc5NmRjMDQyMGY4ZTc1NjFhODk1YjUyNDg0YjcwMWQ1MWEKK3R5cGUgY29tbWl0Cit0YWcgc2lnbmVkdGFnCit0YWdnZXIgQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPiAxNDY1OTgxMDA2ICswMDAwCisKK3NpZ25lZCB0YWcKKworc2lnbmVkIHRhZyBtZXNzYWdlIGJvZHkKKy0tLS0KKworPT0gQ29tbWl0IHNpZ25hdHVyZXMKKworLSBjcmVhdGVkIGJ5OiBgZ2l0IGNvbW1pdCAtU2AKKy0gcGF5bG9hZDogY29tbWl0IG9iamVjdAorLSBlbWJlZGRpbmc6IGhlYWRlciBlbnRyeSBgZ3Bnc2lnYAorICAoY29udGVudCBpcyBwcmVjZWRlZCBieSBhIHNwYWNlKQorLSBleGFtcGxlOiBjb21taXQgd2l0aCBzdWJqZWN0IGBzaWduZWQgY29tbWl0YAorCistLS0tCit0cmVlIGVlYmZlZDk0ZTc1ZTc3NjA1NDBkMTQ4NWM3NDA5MDI1OTBhMDAzMzIKK3BhcmVudCAwNGI4NzE3OTZkYzA0MjBmOGU3NTYxYTg5NWI1MjQ4NGI3MDFkNTFhCithdXRob3IgQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4gMTQ2NTk4MTEzNyArMDAwMAorY29tbWl0dGVyIEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4gMTQ2NTk4MTEzNyArMDAwMAorZ3Bnc2lnIC0tLS0tQkVHSU4gUEdQIFNJR05BVFVSRS0tLS0tCisgVmVyc2lvbjogR251UEcgdjEKKworIGlRRWNCQUFCQWdBR0JRSlhZUmpSQUFvSkVHRUpMb1czSW5HSjNJd0lBSVk0U0E2R3hZM0JqTDYwWXl2c0pQaC8KKyBIUkNKd0grdzd3dDNZYy85L2JXMkYrZ0Y3MmtkSE9PczJqZnYrT1pocTBxNE9BTjZmdlZTY3pJU1kvODJMcFM3CisgRFZkTVFqMi9ZY0hEVDR4ckROQm5YbnZpRE85RzdhbS85T0U3N2tFYlhycDdRUHh2aGpraWNITnd5MnJFZmxBQQorIHpuMDc1cnRFRVJESHI4blJZaURoOGVWcmVmU083RCtiZFE3Z3YrN0dzWU1zZDJhdUpXaTFkSE9TZlRyOUhJRjQKKyBISmhXWFQ5ZDJmOFcrZGlSWVhHaDRYMHdZaUdnNm5hL3NvWGMrdmR0RFlCekl4YW5ScWpnOGpDQWVvMWVPVGsxCisgRWRUd2hjVFpsSTB4NXB2SjNIMCs0aEEyanRsZFZ0bVBNNE9UQjBjVHJFV0JhZDdYVjZZZ2l5dUlJNzNWZTNJPQorID1qS0hNCisgLS0tLS1FTkQgUEdQIFNJR05BVFVSRS0tLS0tCisKK3NpZ25lZCBjb21taXQKKworc2lnbmVkIGNvbW1pdCBtZXNzYWdlIGJvZHkKKy0tLS0KKworLSB2ZXJpZnkgd2l0aDogYGdpdCB2ZXJpZnktY29tbWl0IFstdl1gIChvciBgZ2l0IHNob3cgLS1zaG93LXNpZ25hdHVyZWApCisKKy0tLS0KK2dwZzogU2lnbmF0dXJlIG1hZGUgV2VkIEp1biAxNSAxMDo1ODo1NyAyMDE2IENFU1QgdXNpbmcgUlNBIGtleSBJRCBCNzIyNzE4OQorZ3BnOiBHb29kIHNpZ25hdHVyZSBmcm9tICJFcmlzIERpc2NvcmRpYSA8ZGlzY29yZEBleGFtcGxlLm5ldD4iCitncGc6IFdBUk5JTkc6IFRoaXMga2V5IGlzIG5vdCBjZXJ0aWZpZWQgd2l0aCBhIHRydXN0ZWQgc2lnbmF0dXJlIQorZ3BnOiAgICAgICAgICBUaGVyZSBpcyBubyBpbmRpY2F0aW9uIHRoYXQgdGhlIHNpZ25hdHVyZSBiZWxvbmdzIHRvIHRoZSBvd25lci4KK1ByaW1hcnkga2V5IGZpbmdlcnByaW50OiBENEJFIDIyMzEgMUFEMyAxMzFFIDVFREEgIDI5QTQgNjEwOSAyRTg1IEI3MjIgNzE4OQordHJlZSBlZWJmZWQ5NGU3NWU3NzYwNTQwZDE0ODVjNzQwOTAyNTkwYTAwMzMyCitwYXJlbnQgMDRiODcxNzk2ZGMwNDIwZjhlNzU2MWE4OTViNTI0ODRiNzAxZDUxYQorYXV0aG9yIEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+IDE0NjU5ODExMzcgKzAwMDAKK2NvbW1pdHRlciBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+IDE0NjU5ODExMzcgKzAwMDAKKworc2lnbmVkIGNvbW1pdAorCitzaWduZWQgY29tbWl0IG1lc3NhZ2UgYm9keQorLS0tLQorCis9PSBNZXJnZXRhZyBzaWduYXR1cmVzCisKKy0gY3JlYXRlZCBieTogYGdpdCBtZXJnZWAgb24gc2lnbmVkIHRhZworLSBwYXlsb2FkL2VtYmVkZGluZzogdGhlIHdob2xlIHNpZ25lZCB0YWcgb2JqZWN0IGlzIGVtYmVkZGVkIGludG8KKyAgdGhlIChtZXJnZSkgY29tbWl0IG9iamVjdCBhcyBoZWFkZXIgZW50cnkgYG1lcmdldGFnYAorLSBleGFtcGxlOiBtZXJnZSBvZiB0aGUgc2lnbmVkIHRhZyBgc2lnbmVkdGFnYCBhcyBhYm92ZQorCistLS0tCit0cmVlIGM3YjFjZmYwMzlhOTNmMzYwMGExZDE4YjgyZDI2Njg4NjY4YzdkZWEKK3BhcmVudCBjMzM0MjliZTk0YjVmMmQzZWU5YjBhZGFkMjIzZjg3N2YxNzRiMDVkCitwYXJlbnQgMDRiODcxNzk2ZGMwNDIwZjhlNzU2MWE4OTViNTI0ODRiNzAxZDUxYQorYXV0aG9yIEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+IDE0NjU5ODIwMDkgKzAwMDAKK2NvbW1pdHRlciBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+IDE0NjU5ODIwMDkgKzAwMDAKK21lcmdldGFnIG9iamVjdCAwNGI4NzE3OTZkYzA0MjBmOGU3NTYxYTg5NWI1MjQ4NGI3MDFkNTFhCisgdHlwZSBjb21taXQKKyB0YWcgc2lnbmVkdGFnCisgdGFnZ2VyIEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4gMTQ2NTk4MTAwNiArMDAwMAorCisgc2lnbmVkIHRhZworCisgc2lnbmVkIHRhZyBtZXNzYWdlIGJvZHkKKyAtLS0tLUJFR0lOIFBHUCBTSUdOQVRVUkUtLS0tLQorIFZlcnNpb246IEdudVBHIHYxCisKKyBpUUVjQkFBQkFnQUdCUUpYWVJoT0FBb0pFR0VKTG9XM0luR0prbGtJQUljbmhMN1J3RWIvK1FlWDllbmtYaHhuCisgcnhmZHFydldkMUs4MHNsMlRPdDhCZy9OWXdyVUJ3L1JXSitzZy9oaEhwNFd0dkUxSERHSGxrRXozeTExTGt1aAorIDh0U3hTM3FLVHhYVUdvenlQR3VFOTBzSmZFeGhabFc0a25JUTF3dC95V3FNKzMzRTlwTjRoelBxTHd5cmRvZHMKKyBxOEZXRXFQUFViU0pYb01iUlB3MDRTNWpyTHRaU3NVV2JSWWptSkNIemxoU2ZGV1c0ZUZkMzd1cXVJYUxVQlMwCisgcmtDM0pyeDc0MjBqa0lwZ0ZjVEkyczYwdWhTUUx6Z2NDd2RBMnVrU1lJUm5qZy96RGtqOCszaC9HYVJPSjcyeAorIGxaeUk2SFdpeEtKa1d3OGxFOWFBT0Q5VG1UVzlzRkp3Y1ZBem1BdUZYMmtVcmVEVUtNWmR1R2NvUllHcEQ3RT0KKyA9anBYYQorIC0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLQorCitNZXJnZSB0YWcgJ3NpZ25lZHRhZycgaW50byBkb3duc3RyZWFtCisKK3NpZ25lZCB0YWcKKworc2lnbmVkIHRhZyBtZXNzYWdlIGJvZHkKKworIyBncGc6IFNpZ25hdHVyZSBtYWRlIFdlZCBKdW4gMTUgMDg6NTY6NDYgMjAxNiBVVEMgdXNpbmcgUlNBIGtleSBJRCBCNzIyNzE4OQorIyBncGc6IEdvb2Qgc2lnbmF0dXJlIGZyb20gIkVyaXMgRGlzY29yZGlhIDxkaXNjb3JkQGV4YW1wbGUubmV0PiIKKyMgZ3BnOiBXQVJOSU5HOiBUaGlzIGtleSBpcyBub3QgY2VydGlmaWVkIHdpdGggYSB0cnVzdGVkIHNpZ25hdHVyZSEKKyMgZ3BnOiAgICAgICAgICBUaGVyZSBpcyBubyBpbmRpY2F0aW9uIHRoYXQgdGhlIHNpZ25hdHVyZSBiZWxvbmdzIHRvIHRoZSBvd25lci4KKyMgUHJpbWFyeSBrZXkgZmluZ2VycHJpbnQ6IEQ0QkUgMjIzMSAxQUQzIDEzMUUgNUVEQSAgMjlBNCA2MTA5IDJFODUgQjcyMiA3MTg5CistLS0tCisKKy0gdmVyaWZ5IHdpdGg6IHZlcmlmaWNhdGlvbiBpcyBlbWJlZGRlZCBpbiBtZXJnZSBjb21taXQgbWVzc2FnZSBieSBkZWZhdWx0LAorICBhbHRlcm5hdGl2ZWx5IHdpdGggYGdpdCBzaG93IC0tc2hvdy1zaWduYXR1cmVgOgorCistLS0tCitjb21taXQgOTg2M2YwYzc2ZmY3ODcxMmI2ODAwZTE5OWE0NmFhNTZhZmJjYmQ0OQorbWVyZ2VkIHRhZyAnc2lnbmVkdGFnJworZ3BnOiBTaWduYXR1cmUgbWFkZSBXZWQgSnVuIDE1IDEwOjU2OjQ2IDIwMTYgQ0VTVCB1c2luZyBSU0Ega2V5IElEIEI3MjI3MTg5CitncGc6IEdvb2Qgc2lnbmF0dXJlIGZyb20gIkVyaXMgRGlzY29yZGlhIDxkaXNjb3JkQGV4YW1wbGUubmV0PiIKK2dwZzogV0FSTklORzogVGhpcyBrZXkgaXMgbm90IGNlcnRpZmllZCB3aXRoIGEgdHJ1c3RlZCBzaWduYXR1cmUhCitncGc6ICAgICAgICAgIFRoZXJlIGlzIG5vIGluZGljYXRpb24gdGhhdCB0aGUgc2lnbmF0dXJlIGJlbG9uZ3MgdG8gdGhlIG93bmVyLgorUHJpbWFyeSBrZXkgZmluZ2VycHJpbnQ6IEQ0QkUgMjIzMSAxQUQzIDEzMUUgNUVEQSAgMjlBNCA2MTA5IDJFODUgQjcyMiA3MTg5CitNZXJnZTogYzMzNDI5YiAwNGI4NzE3CitBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CitEYXRlOiAgIFdlZCBKdW4gMTUgMDk6MTM6MjkgMjAxNiArMDAwMAorCisgICAgTWVyZ2UgdGFnICdzaWduZWR0YWcnIGludG8gZG93bnN0cmVhbQorCisgICAgc2lnbmVkIHRhZworCisgICAgc2lnbmVkIHRhZyBtZXNzYWdlIGJvZHkKKworICAgICMgZ3BnOiBTaWduYXR1cmUgbWFkZSBXZWQgSnVuIDE1IDA4OjU2OjQ2IDIwMTYgVVRDIHVzaW5nIFJTQSBrZXkgSUQgQjcyMjcxODkKKyAgICAjIGdwZzogR29vZCBzaWduYXR1cmUgZnJvbSAiRXJpcyBEaXNjb3JkaWEgPGRpc2NvcmRAZXhhbXBsZS5uZXQ+IgorICAgICMgZ3BnOiBXQVJOSU5HOiBUaGlzIGtleSBpcyBub3QgY2VydGlmaWVkIHdpdGggYSB0cnVzdGVkIHNpZ25hdHVyZSEKKyAgICAjIGdwZzogICAgICAgICAgVGhlcmUgaXMgbm8gaW5kaWNhdGlvbiB0aGF0IHRoZSBzaWduYXR1cmUgYmVsb25ncyB0byB0aGUgb3duZXIuCisgICAgIyBQcmltYXJ5IGtleSBmaW5nZXJwcmludDogRDRCRSAyMjMxIDFBRDMgMTMxRSA1RURBICAyOUE0IDYxMDkgMkU4NSBCNzIyIDcxODkKKy0tLS0KZGlmZiAtLWdpdCBhL0dJVC1WRVJTSU9OLUdFTiBiL0dJVC1WRVJTSU9OLUdFTgppbmRleCBhZTRmNTYwLi4wOTJiZDgzIDEwMDc1NQotLS0gYS9HSVQtVkVSU0lPTi1HRU4KKysrIGIvR0lULVZFUlNJT04tR0VOCkBAIC0xLDcgKzEsNyBAQAogIyEvYmluL3NoCiAKIEdWRj1HSVQtVkVSU0lPTi1GSUxFCi1ERUZfVkVSPXYyLjkuMAorREVGX1ZFUj12Mi4xMS4wLXJjMwogCiBMRj0nCiAnCmRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCmluZGV4IDcxN2RjMzQuLmY1M2ZjYzkgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlCisrKyBiL01ha2VmaWxlCkBAIC0yOTYsNyArMjk2LDEzIEBACiAjIERlZmluZSBVU0VfTkVEX0FMTE9DQVRPUiBpZiB5b3Ugd2FudCB0byByZXBsYWNlIHRoZSBwbGF0Zm9ybXMgZGVmYXVsdAogIyBtZW1vcnkgYWxsb2NhdG9ycyB3aXRoIHRoZSBuZWRtYWxsb2MgYWxsb2NhdG9yIHdyaXR0ZW4gYnkgTmlhbGwgRG91Z2xhcy4KICMKLSMgRGVmaW5lIE5PX1JFR0VYIGlmIHlvdSBoYXZlIG5vIG9yIGluZmVyaW9yIHJlZ2V4IHN1cHBvcnQgaW4geW91ciBDIGxpYnJhcnkuCisjIERlZmluZSBPVkVSUklERV9TVFJEVVAgdG8gb3ZlcnJpZGUgdGhlIGxpYmMgdmVyc2lvbiBvZiBzdHJkdXAoMykuCisjIFRoaXMgaXMgbmVjZXNzYXJ5IHdoZW4gdXNpbmcgYSBjdXN0b20gYWxsb2NhdG9yIGluIG9yZGVyIHRvIGF2b2lkCisjIGNyYXNoZXMgZHVlIHRvIGFsbG9jYXRpb24gYW5kIGZyZWUgd29ya2luZyBvbiBkaWZmZXJlbnQgJ2hlYXBzJy4KKyMgSXQncyBkZWZpbmVkIGF1dG9tYXRpY2FsbHkgaWYgVVNFX05FRF9BTExPQ0FUT1IgaXMgc2V0LgorIworIyBEZWZpbmUgTk9fUkVHRVggaWYgeW91ciBDIGxpYnJhcnkgbGFja3MgcmVnZXggc3VwcG9ydCB3aXRoIFJFR19TVEFSVEVORAorIyBmZWF0dXJlLgogIwogIyBEZWZpbmUgSEFWRV9ERVZfVFRZIGlmIHlvdXIgc3lzdGVtIGNhbiBvcGVuIC9kZXYvdHR5IHRvIGludGVyYWN0IHdpdGggdGhlCiAjIHVzZXIuCkBAIC0zNTEsOSArMzU3LDEyIEBACiAjIERlZmluZSBHTVRJTUVfVU5SRUxJQUJMRV9FUlJPUlMgaWYgeW91ciBnbXRpbWUoKSBmdW5jdGlvbiBkb2VzIG5vdAogIyByZXR1cm4gTlVMTCB3aGVuIGl0IHJlY2VpdmVzIGEgYm9ndXMgdGltZV90LgogIwotIyBEZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIGlmIHlvdXIgcGxhdGZvcm0gaGFzIGNsb2NrX2dldHRpbWUgaW4gbGlicnQuCisjIERlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgaWYgeW91ciBwbGF0Zm9ybSBoYXMgY2xvY2tfZ2V0dGltZS4KICMKLSMgRGVmaW5lIEhBVkVfQ0xPQ0tfTU9OT1RPTklDIGlmIHlvdXIgcGxhdGZvcm0gaGFzIENMT0NLX01PTk9UT05JQyBpbiBsaWJydC4KKyMgRGVmaW5lIEhBVkVfQ0xPQ0tfTU9OT1RPTklDIGlmIHlvdXIgcGxhdGZvcm0gaGFzIENMT0NLX01PTk9UT05JQy4KKyMKKyMgRGVmaW5lIE5FRURTX0xJQlJUIGlmIHlvdXIgcGxhdGZvcm0gcmVxdWlyZXMgbGlua2luZyB3aXRoIGxpYnJ0IChnbGliYyB2ZXJzaW9uCisjIGJlZm9yZSAyLjE3KSBmb3IgY2xvY2tfZ2V0dGltZSBhbmQgQ0xPQ0tfTU9OT1RPTklDLgogIwogIyBEZWZpbmUgVVNFX1BBUkVOU19BUk9VTkRfR0VUVEVYVF9OIHRvICJ5ZXMiIGlmIHlvdXIgY29tcGlsZXIgaGFwcGlseQogIyBjb21waWxlcyB0aGUgZm9sbG93aW5nIGluaXRpYWxpemF0aW9uOgpAQCAtMzY3LDYgKzM3NiwxNCBAQAogIyBEZWZpbmUgSEFWRV9CU0RfU1lTQ1RMIGlmIHlvdXIgcGxhdGZvcm0gaGFzIGEgQlNELWNvbXBhdGlibGUgc3lzY3RsIGZ1bmN0aW9uLgogIwogIyBEZWZpbmUgSEFWRV9HRVRERUxJTSBpZiB5b3VyIHN5c3RlbSBoYXMgdGhlIGdldGRlbGltKCkgZnVuY3Rpb24uCisjCisjIERlZmluZSBQQUdFUl9FTlYgdG8gYSBTUCBzZXBhcmF0ZWQgVkFSPVZBTCBwYWlycyB0byBkZWZpbmUKKyMgZGVmYXVsdCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYmUgcGFzc2VkIHdoZW4gYSBwYWdlciBpcyBzcGF3bmVkLCBlLmcuCisjCisjICAgIFBBR0VSX0VOViA9IExFU1M9RlJYIExWPS1jCisjCisjIHRvIHNheSAiZXhwb3J0IExFU1M9RlJYIChhbmQgTFY9LWMpIGlmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZQorIyBMRVNTIChhbmQgTFYpIGlzIG5vdCBzZXQsIHJlc3BlY3RpdmVseSIuCiAKIEdJVC1WRVJTSU9OLUZJTEU6IEZPUkNFCiAJQCQoU0hFTExfUEFUSCkgLi9HSVQtVkVSU0lPTi1HRU4KQEAgLTQ0NSwxMCArNDYyLDEyIEBACiBQVEhSRUFEX0xJQlMgPSAtbHB0aHJlYWQKIFBUSFJFQURfQ0ZMQUdTID0KIEdDT1YgPSBnY292CitTUEFUQ0ggPSBzcGF0Y2gKIAogZXhwb3J0IFRDTF9QQVRIIFRDTFRLX1BBVEgKIAogU1BBUlNFX0ZMQUdTID0KK1NQQVRDSF9GTEFHUyA9IC0tYWxsLWluY2x1ZGVzCiAKIAogCkBAIC02ODAsNiArNjk5LDcgQEAKIExJQl9PQkpTICs9IGFkdmljZS5vCiBMSUJfT0JKUyArPSBhbGlhcy5vCiBMSUJfT0JKUyArPSBhbGxvYy5vCitMSUJfT0JKUyArPSBhcHBseS5vCiBMSUJfT0JKUyArPSBhcmNoaXZlLm8KIExJQl9PQkpTICs9IGFyY2hpdmUtdGFyLm8KIExJQl9PQkpTICs9IGFyY2hpdmUtemlwLm8KQEAgLTcxOCw2ICs3MzgsNyBAQAogTElCX09CSlMgKz0gZGlmZi1uby1pbmRleC5vCiBMSUJfT0JKUyArPSBkaWZmLm8KIExJQl9PQkpTICs9IGRpci5vCitMSUJfT0JKUyArPSBkaXItaXRlcmF0b3IubwogTElCX09CSlMgKz0gZWRpdG9yLm8KIExJQl9PQkpTICs9IGVudHJ5Lm8KIExJQl9PQkpTICs9IGVudmlyb25tZW50Lm8KQEAgLTc1MSw2ICs3NzIsNyBAQAogTElCX09CSlMgKz0gbWVyZ2UtYmxvYnMubwogTElCX09CSlMgKz0gbWVyZ2UtcmVjdXJzaXZlLm8KIExJQl9PQkpTICs9IG1lcmdlc29ydC5vCitMSUJfT0JKUyArPSBtcnUubwogTElCX09CSlMgKz0gbmFtZS1oYXNoLm8KIExJQl9PQkpTICs9IG5vdGVzLm8KIExJQl9PQkpTICs9IG5vdGVzLWNhY2hlLm8KQEAgLTc4Miw2ICs4MDQsNyBAQAogTElCX09CSlMgKz0gcmVmbG9nLXdhbGsubwogTElCX09CSlMgKz0gcmVmcy5vCiBMSUJfT0JKUyArPSByZWZzL2ZpbGVzLWJhY2tlbmQubworTElCX09CSlMgKz0gcmVmcy9pdGVyYXRvci5vCiBMSUJfT0JKUyArPSByZWYtZmlsdGVyLm8KIExJQl9PQkpTICs9IHJlbW90ZS5vCiBMSUJfT0JKUyArPSByZXBsYWNlX29iamVjdC5vCkBAIC04MDksNiArODMyLDcgQEAKIExJQl9PQkpTICs9IHN5bWxpbmtzLm8KIExJQl9PQkpTICs9IHRhZy5vCiBMSUJfT0JKUyArPSB0ZW1wZmlsZS5vCitMSUJfT0JKUyArPSB0bXAtb2JqZGlyLm8KIExJQl9PQkpTICs9IHRyYWNlLm8KIExJQl9PQkpTICs9IHRyYWlsZXIubwogTElCX09CSlMgKz0gdHJhbnNwb3J0Lm8KQEAgLTEwMjMsNiArMTA0Nyw3IEBACiAJCWVuZGlmCiAJZW5kaWYKIAlpZm5kZWYgTk9fQVBQTEVfQ09NTU9OX0NSWVBUTworCQlOT19PUEVOU1NMID0gWWVzUGxlYXNlCiAJCUFQUExFX0NPTU1PTl9DUllQVE8gPSBZZXNQbGVhc2UKIAkJQ09NUEFUX0NGTEFHUyArPSAtREFQUExFX0NPTU1PTl9DUllQVE8KIAllbmRpZgpAQCAtMTQ0Miw4ICsxNDY3LDE0IEBACiBlbmRpZgogCiBpZmRlZiBVU0VfTkVEX0FMTE9DQVRPUgotICAgICAgIENPTVBBVF9DRkxBR1MgKz0gLUljb21wYXQvbmVkbWFsbG9jCi0gICAgICAgQ09NUEFUX09CSlMgKz0gY29tcGF0L25lZG1hbGxvYy9uZWRtYWxsb2MubworCUNPTVBBVF9DRkxBR1MgKz0gLUljb21wYXQvbmVkbWFsbG9jCisJQ09NUEFUX09CSlMgKz0gY29tcGF0L25lZG1hbGxvYy9uZWRtYWxsb2MubworCU9WRVJSSURFX1NUUkRVUCA9IFllc1BsZWFzZQorZW5kaWYKKworaWZkZWYgT1ZFUlJJREVfU1RSRFVQCisJQ09NUEFUX0NGTEFHUyArPSAtRE9WRVJSSURFX1NUUkRVUAorCUNPTVBBVF9PQkpTICs9IGNvbXBhdC9zdHJkdXAubwogZW5kaWYKIAogaWZkZWYgR0lUX1RFU1RfQ01QX1VTRV9DT1BJRURfQ09OVEVYVApAQCAtMTQ2NSwxMyArMTQ5NiwxNiBAQAogCiBpZmRlZiBIQVZFX0NMT0NLX0dFVFRJTUUKIAlCQVNJQ19DRkxBR1MgKz0gLURIQVZFX0NMT0NLX0dFVFRJTUUKLQlFWFRMSUJTICs9IC1scnQKIGVuZGlmCiAKIGlmZGVmIEhBVkVfQ0xPQ0tfTU9OT1RPTklDCiAJQkFTSUNfQ0ZMQUdTICs9IC1ESEFWRV9DTE9DS19NT05PVE9OSUMKIGVuZGlmCiAKK2lmZGVmIE5FRURTX0xJQlJUCisJRVhUTElCUyArPSAtbHJ0CitlbmRpZgorCiBpZmRlZiBIQVZFX0JTRF9TWVNDVEwKIAlCQVNJQ19DRkxBR1MgKz0gLURIQVZFX0JTRF9TWVNDVEwKIGVuZGlmCkBAIC0xNDkyLDYgKzE1MjYsMTAgQEAKIE5PX1BZVEhPTiA9IE5vVGhhbmtzCiBlbmRpZgogCitpZm5kZWYgUEFHRVJfRU5WCitQQUdFUl9FTlYgPSBMRVNTPUZSWCBMVj0tYworZW5kaWYKKwogUVVJRVRfU1VCRElSMCAgPSArJChNQUtFKSAtQyAjIHNwYWNlIHRvIHNlcGFyYXRlIC1DIGFuZCBzdWJkaXIKIFFVSUVUX1NVQkRJUjEgID0KIApAQCAtMTYyMSw2ICsxNjU5LDExIEBACiBCQVNJQ19DRkxBR1MgKz0gLURERUZBVUxUX0hFTFBfRk9STUFUPSciJChERUZBVUxUX0hFTFBfRk9STUFUKSInCiBlbmRpZgogCitQQUdFUl9FTlZfU1EgPSAkKHN1YnN0ICcsJ1wnJywkKFBBR0VSX0VOVikpCitQQUdFUl9FTlZfQ1EgPSAiJChzdWJzdCAiLFwiLCQoc3Vic3QgXCxcXCwkKFBBR0VSX0VOVikpKSIKK1BBR0VSX0VOVl9DUV9TUSA9ICQoc3Vic3QgJywnXCcnLCQoUEFHRVJfRU5WX0NRKSkKK0JBU0lDX0NGTEFHUyArPSAtRFBBR0VSX0VOVj0nJChQQUdFUl9FTlZfQ1FfU1EpJworCiBBTExfQ0ZMQUdTICs9ICQoQkFTSUNfQ0ZMQUdTKQogQUxMX0xERkxBR1MgKz0gJChCQVNJQ19MREZMQUdTKQogCkBAIC0xNzQ1LDcgKzE3ODgsNyBAQAogCiBTQ1JJUFRfREVGSU5FUyA9ICQoU0hFTExfUEFUSF9TUSk6JChESUZGX1NRKTokKEdJVF9WRVJTSU9OKTpcCiAJJChsb2NhbGVkaXJfU1EpOiQoTk9fQ1VSTCk6JChVU0VfR0VUVEVYVF9TQ0hFTUUpOiQoU0FORV9UT09MX1BBVEhfU1EpOlwKLQkkKGdpdHdlYmRpcl9TUSk6JChQRVJMX1BBVEhfU1EpOiQoU0FORV9URVhUX0dSRVApCisJJChnaXR3ZWJkaXJfU1EpOiQoUEVSTF9QQVRIX1NRKTokKFNBTkVfVEVYVF9HUkVQKTokKFBBR0VSX0VOVikKIGRlZmluZSBjbWRfbXVuZ2Vfc2NyaXB0CiAkKFJNKSAkQCAkQCsgJiYgXAogc2VkIC1lICcxc3wjIS4qL3NofCMhJChTSEVMTF9QQVRIX1NRKXwnIFwKQEAgLTE3NTgsNiArMTgwMSw3IEBACiAgICAgLWUgJ3N8QEBHSVRXRUJESVJAQHwkKGdpdHdlYmRpcl9TUSl8ZycgXAogICAgIC1lICdzfEBAUEVSTEBAfCQoUEVSTF9QQVRIX1NRKXxnJyBcCiAgICAgLWUgJ3N8QEBTQU5FX1RFWFRfR1JFUEBAfCQoU0FORV9URVhUX0dSRVApfGcnIFwKKyAgICAtZSAnc3xAQFBBR0VSX0VOVkBAfCQoUEFHRVJfRU5WX1NRKXxnJyBcCiAgICAgJEAuc2ggPiRAKwogZW5kZWYKIApAQCAtMjAwMiw3ICsyMDQ2LDcgQEAKIAogaWZkZWYgVVNFX05FRF9BTExPQ0FUT1IKIGNvbXBhdC9uZWRtYWxsb2MvbmVkbWFsbG9jLnNwIGNvbXBhdC9uZWRtYWxsb2MvbmVkbWFsbG9jLm86IEVYVFJBX0NQUEZMQUdTID0gXAotCS1ETkRFQlVHIC1ET1ZFUlJJREVfU1RSRFVQIC1EUkVQTEFDRV9TWVNURU1fQUxMT0NBVE9SCisJLUROREVCVUcgLURSRVBMQUNFX1NZU1RFTV9BTExPQ0FUT1IKIGNvbXBhdC9uZWRtYWxsb2MvbmVkbWFsbG9jLnNwOiBTUEFSU0VfRkxBR1MgKz0gLVduby1ub24tcG9pbnRlci1udWxsCiBlbmRpZgogCkBAIC0yMDcyLDcgKzIxMTYsMTAgQEAKIAktLWtleXdvcmQ9Z2V0dGV4dGxuIC0ta2V5d29yZD1ldmFsX2dldHRleHRsbgogWEdFVFRFWFRfRkxBR1NfUEVSTCA9ICQoWEdFVFRFWFRfRkxBR1MpIC0ta2V5d29yZD1fXyAtLWxhbmd1YWdlPVBlcmwKIExPQ0FMSVpFRF9DID0gJChDX09CSjpvPWMpICQoTElCX0gpICQoR0VORVJBVEVEX0gpCi1MT0NBTElaRURfU0ggPSAkKFNDUklQVF9TSCkgZ2l0LXBhcnNlLXJlbW90ZS5zaAorTE9DQUxJWkVEX1NIID0gJChTQ1JJUFRfU0gpCitMT0NBTElaRURfU0ggKz0gZ2l0LXBhcnNlLXJlbW90ZS5zaAorTE9DQUxJWkVEX1NIICs9IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoCitMT0NBTElaRURfU0ggKz0gZ2l0LXNoLXNldHVwLnNoCiBMT0NBTElaRURfUEVSTCA9ICQoU0NSSVBUX1BFUkwpCiAKIGlmZGVmIFhHRVRURVhUX0lOQ0xVREVfVEVTVFMKQEAgLTIxNjIsNiArMjIwOSw3IEBACiAJQGVjaG8gTk9fUEVSTD1cJyckKHN1YnN0ICcsJ1wnJywkKHN1YnN0ICcsJ1wnJywkKE5PX1BFUkwpKSknXCcgPj4kQCsKIAlAZWNobyBOT19QWVRIT049XCcnJChzdWJzdCAnLCdcJycsJChzdWJzdCAnLCdcJycsJChOT19QWVRIT04pKSknXCcgPj4kQCsKIAlAZWNobyBOT19VTklYX1NPQ0tFVFM9XCcnJChzdWJzdCAnLCdcJycsJChzdWJzdCAnLCdcJycsJChOT19VTklYX1NPQ0tFVFMpKSknXCcgPj4kQCsKKwlAZWNobyBQQUdFUl9FTlY9XCcnJChzdWJzdCAnLCdcJycsJChzdWJzdCAnLCdcJycsJChQQUdFUl9FTlYpKSknXCcgPj4kQCsKIGlmZGVmIFRFU1RfT1VUUFVUX0RJUkVDVE9SWQogCUBlY2hvIFRFU1RfT1VUUFVUX0RJUkVDVE9SWT1cJyckKHN1YnN0ICcsJ1wnJywkKHN1YnN0ICcsJ1wnJywkKFRFU1RfT1VUUFVUX0RJUkVDVE9SWSkpKSdcJyA+PiRAKwogZW5kaWYKQEAgLTIyMzQsMTcgKzIyODIsOSBAQAogCiAuUEhPTlk6IHRlc3QgcGVyZgogCi10L2hlbHBlci90ZXN0LWN0eXBlJFg6IGN0eXBlLm8KK3QvaGVscGVyL3Rlc3QtbGluZS1idWZmZXIkWDogJChWQ1NTVk5fTElCKQogCi10L2hlbHBlci90ZXN0LWRhdGUkWDogZGF0ZS5vIGN0eXBlLm8KLQotdC9oZWxwZXIvdGVzdC1kZWx0YSRYOiBkaWZmLWRlbHRhLm8gcGF0Y2gtZGVsdGEubwotCi10L2hlbHBlci90ZXN0LWxpbmUtYnVmZmVyJFg6IHZjcy1zdm4vbGliLmEKLQotdC9oZWxwZXIvdGVzdC1wYXJzZS1vcHRpb25zJFg6IHBhcnNlLW9wdGlvbnMubyBwYXJzZS1vcHRpb25zLWNiLm8KLQotdC9oZWxwZXIvdGVzdC1zdm4tZmUkWDogdmNzLXN2bi9saWIuYQordC9oZWxwZXIvdGVzdC1zdm4tZmUkWDogJChWQ1NTVk5fTElCKQogCiAuUFJFQ0lPVVM6ICQoVEVTVF9PQkpTKQogCkBAIC0yMjczLDYgKzIzMTMsMTggQEAKIAkJZXhpdCAxOyBcCiAJZmkKIAorQ19TT1VSQ0VTID0gJChwYXRzdWJzdCAlLm8sJS5jLCQoQ19PQkopKQorJS5jb2NjaS5wYXRjaDogJS5jb2NjaSAkKENfU09VUkNFUykKKwlAZWNobyAnICAgICcgU1BBVENIICQ8OyBcCisJZm9yIGYgaW4gJChDX1NPVVJDRVMpOyBkbyBcCisJCSQoU1BBVENIKSAtLXNwLWZpbGUgJDwgJCRmICQoU1BBVENIX0ZMQUdTKTsgXAorCWRvbmUgPiRAIDI+JEAubG9nOyBcCisJaWYgdGVzdCAtcyAkQDsgXAorCXRoZW4gXAorCQllY2hvICcgICAgJyBTUEFUQ0ggcmVzdWx0OiAkQDsgXAorCWZpCitjb2NjaWNoZWNrOiAkKHBhdHN1YnN0ICUuY29jY2ksJS5jb2NjaS5wYXRjaCwkKHdpbGRjYXJkIGNvbnRyaWIvY29jY2luZWxsZS8qLmNvY2NpKSkKKwogIyMjIEluc3RhbGxhdGlvbiBydWxlcwogCiBpZm5lcSAoJChmaWx0ZXIgLyUsJChmaXJzdHdvcmQgJCh0ZW1wbGF0ZV9kaXIpKSksKQpAQCAtMjQ2NCw2ICsyNTE2LDcgQEAKIAkkKFJNKSAtciAkKEdJVF9UQVJOQU1FKSAuZG9jLXRtcC1kaXIKIAkkKFJNKSAkKEdJVF9UQVJOQU1FKS50YXIuZ3ogZ2l0LWNvcmVfJChHSVRfVkVSU0lPTiktKi50YXIuZ3oKIAkkKFJNKSAkKGh0bWxkb2NzKS50YXIuZ3ogJChtYW5wYWdlcykudGFyLmd6CisJJChSTSkgY29udHJpYi9jb2NjaW5lbGxlLyouY29jY2kucGF0Y2gqCiAJJChNQUtFKSAtQyBEb2N1bWVudGF0aW9uLyBjbGVhbgogaWZuZGVmIE5PX1BFUkwKIAkkKE1BS0UpIC1DIGdpdHdlYiBjbGVhbgpkaWZmIC0tZ2l0IGEvUmVsTm90ZXMgYi9SZWxOb3RlcwppbmRleCA2NjYwNjczLi5iNTQzMzBmIDEyMDAwMAotLS0gYS9SZWxOb3RlcworKysgYi9SZWxOb3RlcwpAQCAtMSArMSBAQAotRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjkuMC50eHQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitEb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTEuMC50eHQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hZHZpY2UuYyBiL2FkdmljZS5jCmluZGV4IDRkYzVjZjEuLmI4NGFlNDkgMTAwNjQ0Ci0tLSBhL2FkdmljZS5jCisrKyBiL2FkdmljZS5jCkBAIC03OSw3ICs3OSwyMCBAQAogCiBpbnQgZXJyb3JfcmVzb2x2ZV9jb25mbGljdChjb25zdCBjaGFyICptZSkKIHsKLQllcnJvcigiJXMgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIiwgbWUpOworCWlmICghc3RyY21wKG1lLCAiY2hlcnJ5LXBpY2siKSkKKwkJZXJyb3IoXygiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIikpOworCWVsc2UgaWYgKCFzdHJjbXAobWUsICJjb21taXQiKSkKKwkJZXJyb3IoXygiQ29tbWl0dGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iKSk7CisJZWxzZSBpZiAoIXN0cmNtcChtZSwgIm1lcmdlIikpCisJCWVycm9yKF8oIk1lcmdpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIikpOworCWVsc2UgaWYgKCFzdHJjbXAobWUsICJwdWxsIikpCisJCWVycm9yKF8oIlB1bGxpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIikpOworCWVsc2UgaWYgKCFzdHJjbXAobWUsICJyZXZlcnQiKSkKKwkJZXJyb3IoXygiUmV2ZXJ0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIpKTsKKwllbHNlCisJCWVycm9yKF8oIkl0IGlzIG5vdCBwb3NzaWJsZSB0byAlcyBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIpLAorCQkJbWUpOworCiAJaWYgKGFkdmljZV9yZXNvbHZlX2NvbmZsaWN0KQogCQkvKgogCQkgKiBNZXNzYWdlIHVzZWQgYm90aCB3aGVuICdnaXQgY29tbWl0JyBmYWlscyBhbmQgd2hlbgpAQCAtOTMsNyArMTA2LDcgQEAKIHZvaWQgTk9SRVRVUk4gZGllX3Jlc29sdmVfY29uZmxpY3QoY29uc3QgY2hhciAqbWUpCiB7CiAJZXJyb3JfcmVzb2x2ZV9jb25mbGljdChtZSk7Ci0JZGllKCJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iKTsKKwlkaWUoXygiRXhpdGluZyBiZWNhdXNlIG9mIGFuIHVucmVzb2x2ZWQgY29uZmxpY3QuIikpOwogfQogCiB2b2lkIE5PUkVUVVJOIGRpZV9jb25jbHVkZV9tZXJnZSh2b2lkKQpAQCAtMTA2LDE0ICsxMTksMTQgQEAKIAogdm9pZCBkZXRhY2hfYWR2aWNlKGNvbnN0IGNoYXIgKm5ld19uYW1lKQogewotCWNvbnN0IGNoYXIgZm10W10gPQotCSJOb3RlOiBjaGVja2luZyBvdXQgJyVzJy5cblxuIgorCWNvbnN0IGNoYXIgKmZtdCA9CisJXygiTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG5cbiIKIAkiWW91IGFyZSBpbiAnZGV0YWNoZWQgSEVBRCcgc3RhdGUuIFlvdSBjYW4gbG9vayBhcm91bmQsIG1ha2UgZXhwZXJpbWVudGFsXG4iCiAJImNoYW5nZXMgYW5kIGNvbW1pdCB0aGVtLCBhbmQgeW91IGNhbiBkaXNjYXJkIGFueSBjb21taXRzIHlvdSBtYWtlIGluIHRoaXNcbiIKIAkic3RhdGUgd2l0aG91dCBpbXBhY3RpbmcgYW55IGJyYW5jaGVzIGJ5IHBlcmZvcm1pbmcgYW5vdGhlciBjaGVja291dC5cblxuIgogCSJJZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBuZXcgYnJhbmNoIHRvIHJldGFpbiBjb21taXRzIHlvdSBjcmVhdGUsIHlvdSBtYXlcbiIKIAkiZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWIgd2l0aCB0aGUgY2hlY2tvdXQgY29tbWFuZCBhZ2Fpbi4gRXhhbXBsZTpcblxuIgotCSIgIGdpdCBjaGVja291dCAtYiA8bmV3LWJyYW5jaC1uYW1lPlxuXG4iOworCSIgIGdpdCBjaGVja291dCAtYiA8bmV3LWJyYW5jaC1uYW1lPlxuXG4iKTsKIAogCWZwcmludGYoc3RkZXJyLCBmbXQsIG5ld19uYW1lKTsKIH0KZGlmZiAtLWdpdCBhL2FwcGx5LmMgYi9hcHBseS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwNWNmNTYKLS0tIC9kZXYvbnVsbAorKysgYi9hcHBseS5jCkBAIC0wLDAgKzEsNDk4OCBAQAorLyoKKyAqIGFwcGx5LmMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIExpbnVzIFRvcnZhbGRzLCAyMDA1CisgKgorICogVGhpcyBhcHBsaWVzIHBhdGNoZXMgb24gdG9wIG9mIHNvbWUgKGFyYml0cmFyeSkgdmVyc2lvbiBvZiB0aGUgU0NNLgorICoKKyAqLworCisjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJibG9iLmgiCisjaW5jbHVkZSAiZGVsdGEuaCIKKyNpbmNsdWRlICJkaWZmLmgiCisjaW5jbHVkZSAiZGlyLmgiCisjaW5jbHVkZSAieGRpZmYtaW50ZXJmYWNlLmgiCisjaW5jbHVkZSAibGwtbWVyZ2UuaCIKKyNpbmNsdWRlICJsb2NrZmlsZS5oIgorI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKKyNpbmNsdWRlICJxdW90ZS5oIgorI2luY2x1ZGUgInJlcmVyZS5oIgorI2luY2x1ZGUgImFwcGx5LmgiCisKK3N0YXRpYyB2b2lkIGdpdF9hcHBseV9jb25maWcodm9pZCkKK3sKKwlnaXRfY29uZmlnX2dldF9zdHJpbmdfY29uc3QoImFwcGx5LndoaXRlc3BhY2UiLCAmYXBwbHlfZGVmYXVsdF93aGl0ZXNwYWNlKTsKKwlnaXRfY29uZmlnX2dldF9zdHJpbmdfY29uc3QoImFwcGx5Lmlnbm9yZXdoaXRlc3BhY2UiLCAmYXBwbHlfZGVmYXVsdF9pZ25vcmV3aGl0ZXNwYWNlKTsKKwlnaXRfY29uZmlnKGdpdF9kZWZhdWx0X2NvbmZpZywgTlVMTCk7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2Vfd2hpdGVzcGFjZV9vcHRpb24oc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwgY29uc3QgY2hhciAqb3B0aW9uKQoreworCWlmICghb3B0aW9uKSB7CisJCXN0YXRlLT53c19lcnJvcl9hY3Rpb24gPSB3YXJuX29uX3dzX2Vycm9yOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKCFzdHJjbXAob3B0aW9uLCAid2FybiIpKSB7CisJCXN0YXRlLT53c19lcnJvcl9hY3Rpb24gPSB3YXJuX29uX3dzX2Vycm9yOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKCFzdHJjbXAob3B0aW9uLCAibm93YXJuIikpIHsKKwkJc3RhdGUtPndzX2Vycm9yX2FjdGlvbiA9IG5vd2Fybl93c19lcnJvcjsKKwkJcmV0dXJuIDA7CisJfQorCWlmICghc3RyY21wKG9wdGlvbiwgImVycm9yIikpIHsKKwkJc3RhdGUtPndzX2Vycm9yX2FjdGlvbiA9IGRpZV9vbl93c19lcnJvcjsKKwkJcmV0dXJuIDA7CisJfQorCWlmICghc3RyY21wKG9wdGlvbiwgImVycm9yLWFsbCIpKSB7CisJCXN0YXRlLT53c19lcnJvcl9hY3Rpb24gPSBkaWVfb25fd3NfZXJyb3I7CisJCXN0YXRlLT5zcXVlbGNoX3doaXRlc3BhY2VfZXJyb3JzID0gMDsKKwkJcmV0dXJuIDA7CisJfQorCWlmICghc3RyY21wKG9wdGlvbiwgInN0cmlwIikgfHwgIXN0cmNtcChvcHRpb24sICJmaXgiKSkgeworCQlzdGF0ZS0+d3NfZXJyb3JfYWN0aW9uID0gY29ycmVjdF93c19lcnJvcjsKKwkJcmV0dXJuIDA7CisJfQorCXJldHVybiBlcnJvcihfKCJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBvcHRpb24gJyVzJyIpLCBvcHRpb24pOworfQorCitzdGF0aWMgaW50IHBhcnNlX2lnbm9yZXdoaXRlc3BhY2Vfb3B0aW9uKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkJCQkgY29uc3QgY2hhciAqb3B0aW9uKQoreworCWlmICghb3B0aW9uIHx8ICFzdHJjbXAob3B0aW9uLCAibm8iKSB8fAorCSAgICAhc3RyY21wKG9wdGlvbiwgImZhbHNlIikgfHwgIXN0cmNtcChvcHRpb24sICJuZXZlciIpIHx8CisJICAgICFzdHJjbXAob3B0aW9uLCAibm9uZSIpKSB7CisJCXN0YXRlLT53c19pZ25vcmVfYWN0aW9uID0gaWdub3JlX3dzX25vbmU7CisJCXJldHVybiAwOworCX0KKwlpZiAoIXN0cmNtcChvcHRpb24sICJjaGFuZ2UiKSkgeworCQlzdGF0ZS0+d3NfaWdub3JlX2FjdGlvbiA9IGlnbm9yZV93c19jaGFuZ2U7CisJCXJldHVybiAwOworCX0KKwlyZXR1cm4gZXJyb3IoXygidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIiksIG9wdGlvbik7Cit9CisKK2ludCBpbml0X2FwcGx5X3N0YXRlKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCSAgICAgY29uc3QgY2hhciAqcHJlZml4LAorCQkgICAgIHN0cnVjdCBsb2NrX2ZpbGUgKmxvY2tfZmlsZSkKK3sKKwltZW1zZXQoc3RhdGUsIDAsIHNpemVvZigqc3RhdGUpKTsKKwlzdGF0ZS0+cHJlZml4ID0gcHJlZml4OworCXN0YXRlLT5wcmVmaXhfbGVuZ3RoID0gc3RhdGUtPnByZWZpeCA/IHN0cmxlbihzdGF0ZS0+cHJlZml4KSA6IDA7CisJc3RhdGUtPmxvY2tfZmlsZSA9IGxvY2tfZmlsZTsKKwlzdGF0ZS0+bmV3ZmQgPSAtMTsKKwlzdGF0ZS0+YXBwbHkgPSAxOworCXN0YXRlLT5saW5lX3Rlcm1pbmF0aW9uID0gJ1xuJzsKKwlzdGF0ZS0+cF92YWx1ZSA9IDE7CisJc3RhdGUtPnBfY29udGV4dCA9IFVJTlRfTUFYOworCXN0YXRlLT5zcXVlbGNoX3doaXRlc3BhY2VfZXJyb3JzID0gNTsKKwlzdGF0ZS0+d3NfZXJyb3JfYWN0aW9uID0gd2Fybl9vbl93c19lcnJvcjsKKwlzdGF0ZS0+d3NfaWdub3JlX2FjdGlvbiA9IGlnbm9yZV93c19ub25lOworCXN0YXRlLT5saW5lbnIgPSAxOworCXN0cmluZ19saXN0X2luaXQoJnN0YXRlLT5mbl90YWJsZSwgMCk7CisJc3RyaW5nX2xpc3RfaW5pdCgmc3RhdGUtPmxpbWl0X2J5X25hbWUsIDApOworCXN0cmluZ19saXN0X2luaXQoJnN0YXRlLT5zeW1saW5rX2NoYW5nZXMsIDApOworCXN0cmJ1Zl9pbml0KCZzdGF0ZS0+cm9vdCwgMCk7CisKKwlnaXRfYXBwbHlfY29uZmlnKCk7CisJaWYgKGFwcGx5X2RlZmF1bHRfd2hpdGVzcGFjZSAmJiBwYXJzZV93aGl0ZXNwYWNlX29wdGlvbihzdGF0ZSwgYXBwbHlfZGVmYXVsdF93aGl0ZXNwYWNlKSkKKwkJcmV0dXJuIC0xOworCWlmIChhcHBseV9kZWZhdWx0X2lnbm9yZXdoaXRlc3BhY2UgJiYgcGFyc2VfaWdub3Jld2hpdGVzcGFjZV9vcHRpb24oc3RhdGUsIGFwcGx5X2RlZmF1bHRfaWdub3Jld2hpdGVzcGFjZSkpCisJCXJldHVybiAtMTsKKwlyZXR1cm4gMDsKK30KKwordm9pZCBjbGVhcl9hcHBseV9zdGF0ZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlKQoreworCXN0cmluZ19saXN0X2NsZWFyKCZzdGF0ZS0+bGltaXRfYnlfbmFtZSwgMCk7CisJc3RyaW5nX2xpc3RfY2xlYXIoJnN0YXRlLT5zeW1saW5rX2NoYW5nZXMsIDApOworCXN0cmJ1Zl9yZWxlYXNlKCZzdGF0ZS0+cm9vdCk7CisKKwkvKiAmc3RhdGUtPmZuX3RhYmxlIGlzIGNsZWFyZWQgYXQgdGhlIGVuZCBvZiBhcHBseV9wYXRjaCgpICovCit9CisKK3N0YXRpYyB2b2lkIG11dGVfcm91dGluZShjb25zdCBjaGFyICptc2csIHZhX2xpc3QgcGFyYW1zKQoreworCS8qIGRvIG5vdGhpbmcgKi8KK30KKworaW50IGNoZWNrX2FwcGx5X3N0YXRlKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsIGludCBmb3JjZV9hcHBseSkKK3sKKwlpbnQgaXNfbm90X2dpdGRpciA9ICFzdGFydHVwX2luZm8tPmhhdmVfcmVwb3NpdG9yeTsKKworCWlmIChzdGF0ZS0+YXBwbHlfd2l0aF9yZWplY3QgJiYgc3RhdGUtPnRocmVld2F5KQorCQlyZXR1cm4gZXJyb3IoXygiLS1yZWplY3QgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iKSk7CisJaWYgKHN0YXRlLT5jYWNoZWQgJiYgc3RhdGUtPnRocmVld2F5KQorCQlyZXR1cm4gZXJyb3IoXygiLS1jYWNoZWQgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iKSk7CisJaWYgKHN0YXRlLT50aHJlZXdheSkgeworCQlpZiAoaXNfbm90X2dpdGRpcikKKwkJCXJldHVybiBlcnJvcihfKCItLTN3YXkgb3V0c2lkZSBhIHJlcG9zaXRvcnkiKSk7CisJCXN0YXRlLT5jaGVja19pbmRleCA9IDE7CisJfQorCWlmIChzdGF0ZS0+YXBwbHlfd2l0aF9yZWplY3QpIHsKKwkJc3RhdGUtPmFwcGx5ID0gMTsKKwkJaWYgKHN0YXRlLT5hcHBseV92ZXJib3NpdHkgPT0gdmVyYm9zaXR5X25vcm1hbCkKKwkJCXN0YXRlLT5hcHBseV92ZXJib3NpdHkgPSB2ZXJib3NpdHlfdmVyYm9zZTsKKwl9CisJaWYgKCFmb3JjZV9hcHBseSAmJiAoc3RhdGUtPmRpZmZzdGF0IHx8IHN0YXRlLT5udW1zdGF0IHx8IHN0YXRlLT5zdW1tYXJ5IHx8IHN0YXRlLT5jaGVjayB8fCBzdGF0ZS0+ZmFrZV9hbmNlc3RvcikpCisJCXN0YXRlLT5hcHBseSA9IDA7CisJaWYgKHN0YXRlLT5jaGVja19pbmRleCAmJiBpc19ub3RfZ2l0ZGlyKQorCQlyZXR1cm4gZXJyb3IoXygiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIpKTsKKwlpZiAoc3RhdGUtPmNhY2hlZCkgeworCQlpZiAoaXNfbm90X2dpdGRpcikKKwkJCXJldHVybiBlcnJvcihfKCItLWNhY2hlZCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIpKTsKKwkJc3RhdGUtPmNoZWNrX2luZGV4ID0gMTsKKwl9CisJaWYgKHN0YXRlLT5jaGVja19pbmRleCkKKwkJc3RhdGUtPnVuc2FmZV9wYXRocyA9IDA7CisJaWYgKCFzdGF0ZS0+bG9ja19maWxlKQorCQlyZXR1cm4gZXJyb3IoIkJVRzogc3RhdGUtPmxvY2tfZmlsZSBzaG91bGQgbm90IGJlIE5VTEwiKTsKKworCWlmIChzdGF0ZS0+YXBwbHlfdmVyYm9zaXR5IDw9IHZlcmJvc2l0eV9zaWxlbnQpIHsKKwkJc3RhdGUtPnNhdmVkX2Vycm9yX3JvdXRpbmUgPSBnZXRfZXJyb3Jfcm91dGluZSgpOworCQlzdGF0ZS0+c2F2ZWRfd2Fybl9yb3V0aW5lID0gZ2V0X3dhcm5fcm91dGluZSgpOworCQlzZXRfZXJyb3Jfcm91dGluZShtdXRlX3JvdXRpbmUpOworCQlzZXRfd2Fybl9yb3V0aW5lKG11dGVfcm91dGluZSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9kZWZhdWx0X3doaXRlc3BhY2VfbW9kZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlKQoreworCWlmICghc3RhdGUtPndoaXRlc3BhY2Vfb3B0aW9uICYmICFhcHBseV9kZWZhdWx0X3doaXRlc3BhY2UpCisJCXN0YXRlLT53c19lcnJvcl9hY3Rpb24gPSAoc3RhdGUtPmFwcGx5ID8gd2Fybl9vbl93c19lcnJvciA6IG5vd2Fybl93c19lcnJvcik7Cit9CisKKy8qCisgKiBUaGlzIHJlcHJlc2VudHMgb25lICJodW5rIiBmcm9tIGEgcGF0Y2gsIHN0YXJ0aW5nIHdpdGgKKyAqICJAQCAtb2xkcG9zLG9sZGxpbmVzICtuZXdwb3MsbmV3bGluZXMgQEAiIG1hcmtlci4gIFRoZQorICogcGF0Y2ggdGV4dCBpcyBwb2ludGVkIGF0IGJ5IHBhdGNoLCBhbmQgaXRzIGJ5dGUgbGVuZ3RoCisgKiBpcyBzdG9yZWQgaW4gc2l6ZS4gIGxlYWRpbmcgYW5kIHRyYWlsaW5nIGFyZSB0aGUgbnVtYmVyCisgKiBvZiBjb250ZXh0IGxpbmVzLgorICovCitzdHJ1Y3QgZnJhZ21lbnQgeworCXVuc2lnbmVkIGxvbmcgbGVhZGluZywgdHJhaWxpbmc7CisJdW5zaWduZWQgbG9uZyBvbGRwb3MsIG9sZGxpbmVzOworCXVuc2lnbmVkIGxvbmcgbmV3cG9zLCBuZXdsaW5lczsKKwkvKgorCSAqICdwYXRjaCcgaXMgdXN1YWxseSBib3Jyb3dlZCBmcm9tIGJ1ZiBpbiBhcHBseV9wYXRjaCgpLAorCSAqIGJ1dCBzb21lIGNvZGVwYXRocyBzdG9yZSBhbiBhbGxvY2F0ZWQgYnVmZmVyLgorCSAqLworCWNvbnN0IGNoYXIgKnBhdGNoOworCXVuc2lnbmVkIGZyZWVfcGF0Y2g6MSwKKwkJcmVqZWN0ZWQ6MTsKKwlpbnQgc2l6ZTsKKwlpbnQgbGluZW5yOworCXN0cnVjdCBmcmFnbWVudCAqbmV4dDsKK307CisKKy8qCisgKiBXaGVuIGRlYWxpbmcgd2l0aCBhIGJpbmFyeSBwYXRjaCwgd2UgcmV1c2UgImxlYWRpbmciIGZpZWxkCisgKiB0byBzdG9yZSB0aGUgdHlwZSBvZiB0aGUgYmluYXJ5IGh1bmssIGVpdGhlciBkZWZsYXRlZCAiZGVsdGEiCisgKiBvciBkZWZsYXRlZCAibGl0ZXJhbCIuCisgKi8KKyNkZWZpbmUgYmluYXJ5X3BhdGNoX21ldGhvZCBsZWFkaW5nCisjZGVmaW5lIEJJTkFSWV9ERUxUQV9ERUZMQVRFRAkxCisjZGVmaW5lIEJJTkFSWV9MSVRFUkFMX0RFRkxBVEVEIDIKKworLyoKKyAqIFRoaXMgcmVwcmVzZW50cyBhICJwYXRjaCIgdG8gYSBmaWxlLCBib3RoIG1ldGFpbmZvIGNoYW5nZXMKKyAqIHN1Y2ggYXMgY3JlYXRpb24vZGVsZXRpb24sIGZpbGVtb2RlIGFuZCBjb250ZW50IGNoYW5nZXMgcmVwcmVzZW50ZWQKKyAqIGFzIGEgc2VyaWVzIG9mIGZyYWdtZW50cy4KKyAqLworc3RydWN0IHBhdGNoIHsKKwljaGFyICpuZXdfbmFtZSwgKm9sZF9uYW1lLCAqZGVmX25hbWU7CisJdW5zaWduZWQgaW50IG9sZF9tb2RlLCBuZXdfbW9kZTsKKwlpbnQgaXNfbmV3LCBpc19kZWxldGU7CS8qIC0xID0gdW5rbm93biwgMCA9IGZhbHNlLCAxID0gdHJ1ZSAqLworCWludCByZWplY3RlZDsKKwl1bnNpZ25lZCB3c19ydWxlOworCWludCBsaW5lc19hZGRlZCwgbGluZXNfZGVsZXRlZDsKKwlpbnQgc2NvcmU7CisJdW5zaWduZWQgaW50IGlzX3RvcGxldmVsX3JlbGF0aXZlOjE7CisJdW5zaWduZWQgaW50IGluYWNjdXJhdGVfZW9mOjE7CisJdW5zaWduZWQgaW50IGlzX2JpbmFyeToxOworCXVuc2lnbmVkIGludCBpc19jb3B5OjE7CisJdW5zaWduZWQgaW50IGlzX3JlbmFtZToxOworCXVuc2lnbmVkIGludCByZWNvdW50OjE7CisJdW5zaWduZWQgaW50IGNvbmZsaWN0ZWRfdGhyZWV3YXk6MTsKKwl1bnNpZ25lZCBpbnQgZGlyZWN0X3RvX3RocmVld2F5OjE7CisJc3RydWN0IGZyYWdtZW50ICpmcmFnbWVudHM7CisJY2hhciAqcmVzdWx0OworCXNpemVfdCByZXN1bHRzaXplOworCWNoYXIgb2xkX3NoYTFfcHJlZml4WzQxXTsKKwljaGFyIG5ld19zaGExX3ByZWZpeFs0MV07CisJc3RydWN0IHBhdGNoICpuZXh0OworCisJLyogdGhyZWUtd2F5IGZhbGxiYWNrIHJlc3VsdCAqLworCXN0cnVjdCBvYmplY3RfaWQgdGhyZWV3YXlfc3RhZ2VbM107Cit9OworCitzdGF0aWMgdm9pZCBmcmVlX2ZyYWdtZW50X2xpc3Qoc3RydWN0IGZyYWdtZW50ICpsaXN0KQoreworCXdoaWxlIChsaXN0KSB7CisJCXN0cnVjdCBmcmFnbWVudCAqbmV4dCA9IGxpc3QtPm5leHQ7CisJCWlmIChsaXN0LT5mcmVlX3BhdGNoKQorCQkJZnJlZSgoY2hhciAqKWxpc3QtPnBhdGNoKTsKKwkJZnJlZShsaXN0KTsKKwkJbGlzdCA9IG5leHQ7CisJfQorfQorCitzdGF0aWMgdm9pZCBmcmVlX3BhdGNoKHN0cnVjdCBwYXRjaCAqcGF0Y2gpCit7CisJZnJlZV9mcmFnbWVudF9saXN0KHBhdGNoLT5mcmFnbWVudHMpOworCWZyZWUocGF0Y2gtPmRlZl9uYW1lKTsKKwlmcmVlKHBhdGNoLT5vbGRfbmFtZSk7CisJZnJlZShwYXRjaC0+bmV3X25hbWUpOworCWZyZWUocGF0Y2gtPnJlc3VsdCk7CisJZnJlZShwYXRjaCk7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfcGF0Y2hfbGlzdChzdHJ1Y3QgcGF0Y2ggKmxpc3QpCit7CisJd2hpbGUgKGxpc3QpIHsKKwkJc3RydWN0IHBhdGNoICpuZXh0ID0gbGlzdC0+bmV4dDsKKwkJZnJlZV9wYXRjaChsaXN0KTsKKwkJbGlzdCA9IG5leHQ7CisJfQorfQorCisvKgorICogQSBsaW5lIGluIGEgZmlsZSwgbGVuLWJ5dGVzIGxvbmcgKGluY2x1ZGVzIHRoZSB0ZXJtaW5hdGluZyBMRiwKKyAqIGV4Y2VwdCBmb3IgYW4gaW5jb21wbGV0ZSBsaW5lIGF0IHRoZSBlbmQgaWYgdGhlIGZpbGUgZW5kcyB3aXRoCisgKiBvbmUpLCBhbmQgaXRzIGNvbnRlbnRzIGhhc2hlcyB0byAnaGFzaCcuCisgKi8KK3N0cnVjdCBsaW5lIHsKKwlzaXplX3QgbGVuOworCXVuc2lnbmVkIGhhc2ggOiAyNDsKKwl1bnNpZ25lZCBmbGFnIDogODsKKyNkZWZpbmUgTElORV9DT01NT04gICAgIDEKKyNkZWZpbmUgTElORV9QQVRDSEVECTIKK307CisKKy8qCisgKiBUaGlzIHJlcHJlc2VudHMgYSAiZmlsZSIsIHdoaWNoIGlzIGFuIGFycmF5IG9mICJsaW5lcyIuCisgKi8KK3N0cnVjdCBpbWFnZSB7CisJY2hhciAqYnVmOworCXNpemVfdCBsZW47CisJc2l6ZV90IG5yOworCXNpemVfdCBhbGxvYzsKKwlzdHJ1Y3QgbGluZSAqbGluZV9hbGxvY2F0ZWQ7CisJc3RydWN0IGxpbmUgKmxpbmU7Cit9OworCitzdGF0aWMgdWludDMyX3QgaGFzaF9saW5lKGNvbnN0IGNoYXIgKmNwLCBzaXplX3QgbGVuKQoreworCXNpemVfdCBpOworCXVpbnQzMl90IGg7CisJZm9yIChpID0gMCwgaCA9IDA7IGkgPCBsZW47IGkrKykgeworCQlpZiAoIWlzc3BhY2UoY3BbaV0pKSB7CisJCQloID0gaCAqIDMgKyAoY3BbaV0gJiAweGZmKTsKKwkJfQorCX0KKwlyZXR1cm4gaDsKK30KKworLyoKKyAqIENvbXBhcmUgbGluZXMgczEgb2YgbGVuZ3RoIG4xIGFuZCBzMiBvZiBsZW5ndGggbjIsIGlnbm9yaW5nCisgKiB3aGl0ZXNwYWNlIGRpZmZlcmVuY2UuIFJldHVybnMgMSBpZiB0aGV5IG1hdGNoLCAwIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50IGZ1enp5X21hdGNobGluZXMoY29uc3QgY2hhciAqczEsIHNpemVfdCBuMSwKKwkJCSAgICBjb25zdCBjaGFyICpzMiwgc2l6ZV90IG4yKQoreworCWNvbnN0IGNoYXIgKmxhc3QxID0gczEgKyBuMSAtIDE7CisJY29uc3QgY2hhciAqbGFzdDIgPSBzMiArIG4yIC0gMTsKKwlpbnQgcmVzdWx0ID0gMDsKKworCS8qIGlnbm9yZSBsaW5lIGVuZGluZ3MgKi8KKwl3aGlsZSAoKCpsYXN0MSA9PSAnXHInKSB8fCAoKmxhc3QxID09ICdcbicpKQorCQlsYXN0MS0tOworCXdoaWxlICgoKmxhc3QyID09ICdccicpIHx8ICgqbGFzdDIgPT0gJ1xuJykpCisJCWxhc3QyLS07CisKKwkvKiBza2lwIGxlYWRpbmcgd2hpdGVzcGFjZXMsIGlmIGJvdGggYmVnaW4gd2l0aCB3aGl0ZXNwYWNlICovCisJaWYgKHMxIDw9IGxhc3QxICYmIHMyIDw9IGxhc3QyICYmIGlzc3BhY2UoKnMxKSAmJiBpc3NwYWNlKCpzMikpIHsKKwkJd2hpbGUgKGlzc3BhY2UoKnMxKSAmJiAoczEgPD0gbGFzdDEpKQorCQkJczErKzsKKwkJd2hpbGUgKGlzc3BhY2UoKnMyKSAmJiAoczIgPD0gbGFzdDIpKQorCQkJczIrKzsKKwl9CisJLyogZWFybHkgcmV0dXJuIGlmIGJvdGggbGluZXMgYXJlIGVtcHR5ICovCisJaWYgKChzMSA+IGxhc3QxKSAmJiAoczIgPiBsYXN0MikpCisJCXJldHVybiAxOworCXdoaWxlICghcmVzdWx0KSB7CisJCXJlc3VsdCA9ICpzMSsrIC0gKnMyKys7CisJCS8qCisJCSAqIFNraXAgd2hpdGVzcGFjZSBpbnNpZGUuIFdlIGNoZWNrIGZvciB3aGl0ZXNwYWNlIG9uCisJCSAqIGJvdGggYnVmZmVycyBiZWNhdXNlIHdlIGRvbid0IHdhbnQgImEgYiIgdG8gbWF0Y2gKKwkJICogImFiIgorCQkgKi8KKwkJaWYgKGlzc3BhY2UoKnMxKSAmJiBpc3NwYWNlKCpzMikpIHsKKwkJCXdoaWxlIChpc3NwYWNlKCpzMSkgJiYgczEgPD0gbGFzdDEpCisJCQkJczErKzsKKwkJCXdoaWxlIChpc3NwYWNlKCpzMikgJiYgczIgPD0gbGFzdDIpCisJCQkJczIrKzsKKwkJfQorCQkvKgorCQkgKiBJZiB3ZSByZWFjaGVkIHRoZSBlbmQgb24gb25lIHNpZGUgb25seSwKKwkJICogbGluZXMgZG9uJ3QgbWF0Y2gKKwkJICovCisJCWlmICgKKwkJICAgICgoczIgPiBsYXN0MikgJiYgKHMxIDw9IGxhc3QxKSkgfHwKKwkJICAgICgoczEgPiBsYXN0MSkgJiYgKHMyIDw9IGxhc3QyKSkpCisJCQlyZXR1cm4gMDsKKwkJaWYgKChzMSA+IGxhc3QxKSAmJiAoczIgPiBsYXN0MikpCisJCQlicmVhazsKKwl9CisKKwlyZXR1cm4gIXJlc3VsdDsKK30KKworc3RhdGljIHZvaWQgYWRkX2xpbmVfaW5mbyhzdHJ1Y3QgaW1hZ2UgKmltZywgY29uc3QgY2hhciAqYm9sLCBzaXplX3QgbGVuLCB1bnNpZ25lZCBmbGFnKQoreworCUFMTE9DX0dST1coaW1nLT5saW5lX2FsbG9jYXRlZCwgaW1nLT5uciArIDEsIGltZy0+YWxsb2MpOworCWltZy0+bGluZV9hbGxvY2F0ZWRbaW1nLT5ucl0ubGVuID0gbGVuOworCWltZy0+bGluZV9hbGxvY2F0ZWRbaW1nLT5ucl0uaGFzaCA9IGhhc2hfbGluZShib2wsIGxlbik7CisJaW1nLT5saW5lX2FsbG9jYXRlZFtpbWctPm5yXS5mbGFnID0gZmxhZzsKKwlpbWctPm5yKys7Cit9CisKKy8qCisgKiAiYnVmIiBoYXMgdGhlIGZpbGUgY29udGVudHMgdG8gYmUgcGF0Y2hlZCAocmVhZCBmcm9tIHZhcmlvdXMgc291cmNlcykuCisgKiBhdHRhY2ggaXQgdG8gImltYWdlIiBhbmQgYWRkIGxpbmUtYmFzZWQgaW5kZXggdG8gaXQuCisgKiAiaW1hZ2UiIG5vdyBvd25zIHRoZSAiYnVmIi4KKyAqLworc3RhdGljIHZvaWQgcHJlcGFyZV9pbWFnZShzdHJ1Y3QgaW1hZ2UgKmltYWdlLCBjaGFyICpidWYsIHNpemVfdCBsZW4sCisJCQkgIGludCBwcmVwYXJlX2xpbmV0YWJsZSkKK3sKKwljb25zdCBjaGFyICpjcCwgKmVwOworCisJbWVtc2V0KGltYWdlLCAwLCBzaXplb2YoKmltYWdlKSk7CisJaW1hZ2UtPmJ1ZiA9IGJ1ZjsKKwlpbWFnZS0+bGVuID0gbGVuOworCisJaWYgKCFwcmVwYXJlX2xpbmV0YWJsZSkKKwkJcmV0dXJuOworCisJZXAgPSBpbWFnZS0+YnVmICsgaW1hZ2UtPmxlbjsKKwljcCA9IGltYWdlLT5idWY7CisJd2hpbGUgKGNwIDwgZXApIHsKKwkJY29uc3QgY2hhciAqbmV4dDsKKwkJZm9yIChuZXh0ID0gY3A7IG5leHQgPCBlcCAmJiAqbmV4dCAhPSAnXG4nOyBuZXh0KyspCisJCQk7CisJCWlmIChuZXh0IDwgZXApCisJCQluZXh0Kys7CisJCWFkZF9saW5lX2luZm8oaW1hZ2UsIGNwLCBuZXh0IC0gY3AsIDApOworCQljcCA9IG5leHQ7CisJfQorCWltYWdlLT5saW5lID0gaW1hZ2UtPmxpbmVfYWxsb2NhdGVkOworfQorCitzdGF0aWMgdm9pZCBjbGVhcl9pbWFnZShzdHJ1Y3QgaW1hZ2UgKmltYWdlKQoreworCWZyZWUoaW1hZ2UtPmJ1Zik7CisJZnJlZShpbWFnZS0+bGluZV9hbGxvY2F0ZWQpOworCW1lbXNldChpbWFnZSwgMCwgc2l6ZW9mKCppbWFnZSkpOworfQorCisvKiBmbXQgbXVzdCBjb250YWluIF9vbmVfICVzIGFuZCBubyBvdGhlciBzdWJzdGl0dXRpb24gKi8KK3N0YXRpYyB2b2lkIHNheV9wYXRjaF9uYW1lKEZJTEUgKm91dHB1dCwgY29uc3QgY2hhciAqZm10LCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKworCWlmIChwYXRjaC0+b2xkX25hbWUgJiYgcGF0Y2gtPm5ld19uYW1lICYmCisJICAgIHN0cmNtcChwYXRjaC0+b2xkX25hbWUsIHBhdGNoLT5uZXdfbmFtZSkpIHsKKwkJcXVvdGVfY19zdHlsZShwYXRjaC0+b2xkX25hbWUsICZzYiwgTlVMTCwgMCk7CisJCXN0cmJ1Zl9hZGRzdHIoJnNiLCAiID0+ICIpOworCQlxdW90ZV9jX3N0eWxlKHBhdGNoLT5uZXdfbmFtZSwgJnNiLCBOVUxMLCAwKTsKKwl9IGVsc2UgeworCQljb25zdCBjaGFyICpuID0gcGF0Y2gtPm5ld19uYW1lOworCQlpZiAoIW4pCisJCQluID0gcGF0Y2gtPm9sZF9uYW1lOworCQlxdW90ZV9jX3N0eWxlKG4sICZzYiwgTlVMTCwgMCk7CisJfQorCWZwcmludGYob3V0cHV0LCBmbXQsIHNiLmJ1Zik7CisJZnB1dGMoJ1xuJywgb3V0cHV0KTsKKwlzdHJidWZfcmVsZWFzZSgmc2IpOworfQorCisjZGVmaW5lIFNMT1AgKDE2KQorCitzdGF0aWMgaW50IHJlYWRfcGF0Y2hfZmlsZShzdHJ1Y3Qgc3RyYnVmICpzYiwgaW50IGZkKQoreworCWlmIChzdHJidWZfcmVhZChzYiwgZmQsIDApIDwgMCkKKwkJcmV0dXJuIGVycm9yX2Vycm5vKCJnaXQgYXBwbHk6IGZhaWxlZCB0byByZWFkIik7CisKKwkvKgorCSAqIE1ha2Ugc3VyZSB0aGF0IHdlIGhhdmUgc29tZSBzbG9wIGluIHRoZSBidWZmZXIKKwkgKiBzbyB0aGF0IHdlIGNhbiBkbyBzcGVjdWxhdGl2ZSAibWVtY21wIiBldGMsIGFuZAorCSAqIHNlZSB0byBpdCB0aGF0IGl0IGlzIE5VTC1maWxsZWQuCisJICovCisJc3RyYnVmX2dyb3coc2IsIFNMT1ApOworCW1lbXNldChzYi0+YnVmICsgc2ItPmxlbiwgMCwgU0xPUCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxpbmVsZW4oY29uc3QgY2hhciAqYnVmZmVyLCB1bnNpZ25lZCBsb25nIHNpemUpCit7CisJdW5zaWduZWQgbG9uZyBsZW4gPSAwOworCXdoaWxlIChzaXplLS0pIHsKKwkJbGVuKys7CisJCWlmICgqYnVmZmVyKysgPT0gJ1xuJykKKwkJCWJyZWFrOworCX0KKwlyZXR1cm4gbGVuOworfQorCitzdGF0aWMgaW50IGlzX2Rldl9udWxsKGNvbnN0IGNoYXIgKnN0cikKK3sKKwlyZXR1cm4gc2tpcF9wcmVmaXgoc3RyLCAiL2Rldi9udWxsIiwgJnN0cikgJiYgaXNzcGFjZSgqc3RyKTsKK30KKworI2RlZmluZSBURVJNX1NQQUNFCTEKKyNkZWZpbmUgVEVSTV9UQUIJMgorCitzdGF0aWMgaW50IG5hbWVfdGVybWluYXRlKGludCBjLCBpbnQgdGVybWluYXRlKQoreworCWlmIChjID09ICcgJyAmJiAhKHRlcm1pbmF0ZSAmIFRFUk1fU1BBQ0UpKQorCQlyZXR1cm4gMDsKKwlpZiAoYyA9PSAnXHQnICYmICEodGVybWluYXRlICYgVEVSTV9UQUIpKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAxOworfQorCisvKiByZW1vdmUgZG91YmxlIHNsYXNoZXMgdG8gbWFrZSAtLWluZGV4IHdvcmsgd2l0aCBzdWNoIGZpbGVuYW1lcyAqLworc3RhdGljIGNoYXIgKnNxdWFzaF9zbGFzaChjaGFyICpuYW1lKQoreworCWludCBpID0gMCwgaiA9IDA7CisKKwlpZiAoIW5hbWUpCisJCXJldHVybiBOVUxMOworCisJd2hpbGUgKG5hbWVbaV0pIHsKKwkJaWYgKChuYW1lW2orK10gPSBuYW1lW2krK10pID09ICcvJykKKwkJCXdoaWxlIChuYW1lW2ldID09ICcvJykKKwkJCQlpKys7CisJfQorCW5hbWVbal0gPSAnXDAnOworCXJldHVybiBuYW1lOworfQorCitzdGF0aWMgY2hhciAqZmluZF9uYW1lX2dudShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICAgY29uc3QgY2hhciAqbGluZSwKKwkJCSAgIGNvbnN0IGNoYXIgKmRlZiwKKwkJCSAgIGludCBwX3ZhbHVlKQoreworCXN0cnVjdCBzdHJidWYgbmFtZSA9IFNUUkJVRl9JTklUOworCWNoYXIgKmNwOworCisJLyoKKwkgKiBQcm9wb3NlZCAibmV3LXN0eWxlIiBHTlUgcGF0Y2gvZGlmZiBmb3JtYXQ7IHNlZQorCSAqIGh0dHA6Ly9tYXJjLmluZm8vP2w9Z2l0Jm09MTEyOTI3MzE2NDA4NjkwJnc9MgorCSAqLworCWlmICh1bnF1b3RlX2Nfc3R5bGUoJm5hbWUsIGxpbmUsIE5VTEwpKSB7CisJCXN0cmJ1Zl9yZWxlYXNlKCZuYW1lKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJZm9yIChjcCA9IG5hbWUuYnVmOyBwX3ZhbHVlOyBwX3ZhbHVlLS0pIHsKKwkJY3AgPSBzdHJjaHIoY3AsICcvJyk7CisJCWlmICghY3ApIHsKKwkJCXN0cmJ1Zl9yZWxlYXNlKCZuYW1lKTsKKwkJCXJldHVybiBOVUxMOworCQl9CisJCWNwKys7CisJfQorCisJc3RyYnVmX3JlbW92ZSgmbmFtZSwgMCwgY3AgLSBuYW1lLmJ1Zik7CisJaWYgKHN0YXRlLT5yb290LmxlbikKKwkJc3RyYnVmX2luc2VydCgmbmFtZSwgMCwgc3RhdGUtPnJvb3QuYnVmLCBzdGF0ZS0+cm9vdC5sZW4pOworCXJldHVybiBzcXVhc2hfc2xhc2goc3RyYnVmX2RldGFjaCgmbmFtZSwgTlVMTCkpOworfQorCitzdGF0aWMgc2l6ZV90IHNhbmVfdHpfbGVuKGNvbnN0IGNoYXIgKmxpbmUsIHNpemVfdCBsZW4pCit7CisJY29uc3QgY2hhciAqdHosICpwOworCisJaWYgKGxlbiA8IHN0cmxlbigiICswNTAwIikgfHwgbGluZVtsZW4tc3RybGVuKCIgKzA1MDAiKV0gIT0gJyAnKQorCQlyZXR1cm4gMDsKKwl0eiA9IGxpbmUgKyBsZW4gLSBzdHJsZW4oIiArMDUwMCIpOworCisJaWYgKHR6WzFdICE9ICcrJyAmJiB0elsxXSAhPSAnLScpCisJCXJldHVybiAwOworCisJZm9yIChwID0gdHogKyAyOyBwICE9IGxpbmUgKyBsZW47IHArKykKKwkJaWYgKCFpc2RpZ2l0KCpwKSkKKwkJCXJldHVybiAwOworCisJcmV0dXJuIGxpbmUgKyBsZW4gLSB0ejsKK30KKworc3RhdGljIHNpemVfdCB0el93aXRoX2NvbG9uX2xlbihjb25zdCBjaGFyICpsaW5lLCBzaXplX3QgbGVuKQoreworCWNvbnN0IGNoYXIgKnR6LCAqcDsKKworCWlmIChsZW4gPCBzdHJsZW4oIiArMDg6MDAiKSB8fCBsaW5lW2xlbiAtIHN0cmxlbigiOjAwIildICE9ICc6JykKKwkJcmV0dXJuIDA7CisJdHogPSBsaW5lICsgbGVuIC0gc3RybGVuKCIgKzA4OjAwIik7CisKKwlpZiAodHpbMF0gIT0gJyAnIHx8ICh0elsxXSAhPSAnKycgJiYgdHpbMV0gIT0gJy0nKSkKKwkJcmV0dXJuIDA7CisJcCA9IHR6ICsgMjsKKwlpZiAoIWlzZGlnaXQoKnArKykgfHwgIWlzZGlnaXQoKnArKykgfHwgKnArKyAhPSAnOicgfHwKKwkgICAgIWlzZGlnaXQoKnArKykgfHwgIWlzZGlnaXQoKnArKykpCisJCXJldHVybiAwOworCisJcmV0dXJuIGxpbmUgKyBsZW4gLSB0ejsKK30KKworc3RhdGljIHNpemVfdCBkYXRlX2xlbihjb25zdCBjaGFyICpsaW5lLCBzaXplX3QgbGVuKQoreworCWNvbnN0IGNoYXIgKmRhdGUsICpwOworCisJaWYgKGxlbiA8IHN0cmxlbigiNzItMDItMDUiKSB8fCBsaW5lW2xlbi1zdHJsZW4oIi0wNSIpXSAhPSAnLScpCisJCXJldHVybiAwOworCXAgPSBkYXRlID0gbGluZSArIGxlbiAtIHN0cmxlbigiNzItMDItMDUiKTsKKworCWlmICghaXNkaWdpdCgqcCsrKSB8fCAhaXNkaWdpdCgqcCsrKSB8fCAqcCsrICE9ICctJyB8fAorCSAgICAhaXNkaWdpdCgqcCsrKSB8fCAhaXNkaWdpdCgqcCsrKSB8fCAqcCsrICE9ICctJyB8fAorCSAgICAhaXNkaWdpdCgqcCsrKSB8fCAhaXNkaWdpdCgqcCsrKSkJLyogTm90IGEgZGF0ZS4gKi8KKwkJcmV0dXJuIDA7CisKKwlpZiAoZGF0ZSAtIGxpbmUgPj0gc3RybGVuKCIxOSIpICYmCisJICAgIGlzZGlnaXQoZGF0ZVstMV0pICYmIGlzZGlnaXQoZGF0ZVstMl0pKQkvKiA0LWRpZ2l0IHllYXIgKi8KKwkJZGF0ZSAtPSBzdHJsZW4oIjE5Iik7CisKKwlyZXR1cm4gbGluZSArIGxlbiAtIGRhdGU7Cit9CisKK3N0YXRpYyBzaXplX3Qgc2hvcnRfdGltZV9sZW4oY29uc3QgY2hhciAqbGluZSwgc2l6ZV90IGxlbikKK3sKKwljb25zdCBjaGFyICp0aW1lLCAqcDsKKworCWlmIChsZW4gPCBzdHJsZW4oIiAwNzowMTozMiIpIHx8IGxpbmVbbGVuLXN0cmxlbigiOjMyIildICE9ICc6JykKKwkJcmV0dXJuIDA7CisJcCA9IHRpbWUgPSBsaW5lICsgbGVuIC0gc3RybGVuKCIgMDc6MDE6MzIiKTsKKworCS8qIFBlcm1pdCAxLWRpZ2l0IGhvdXJzPyAqLworCWlmICgqcCsrICE9ICcgJyB8fAorCSAgICAhaXNkaWdpdCgqcCsrKSB8fCAhaXNkaWdpdCgqcCsrKSB8fCAqcCsrICE9ICc6JyB8fAorCSAgICAhaXNkaWdpdCgqcCsrKSB8fCAhaXNkaWdpdCgqcCsrKSB8fCAqcCsrICE9ICc6JyB8fAorCSAgICAhaXNkaWdpdCgqcCsrKSB8fCAhaXNkaWdpdCgqcCsrKSkJLyogTm90IGEgdGltZS4gKi8KKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gbGluZSArIGxlbiAtIHRpbWU7Cit9CisKK3N0YXRpYyBzaXplX3QgZnJhY3Rpb25hbF90aW1lX2xlbihjb25zdCBjaGFyICpsaW5lLCBzaXplX3QgbGVuKQoreworCWNvbnN0IGNoYXIgKnA7CisJc2l6ZV90IG47CisKKwkvKiBFeHBlY3RlZCBmb3JtYXQ6IDE5OjQxOjE3LjYyMDAwMDAyMyAqLworCWlmICghbGVuIHx8ICFpc2RpZ2l0KGxpbmVbbGVuIC0gMV0pKQorCQlyZXR1cm4gMDsKKwlwID0gbGluZSArIGxlbiAtIDE7CisKKwkvKiBGcmFjdGlvbmFsIHNlY29uZHMuICovCisJd2hpbGUgKHAgPiBsaW5lICYmIGlzZGlnaXQoKnApKQorCQlwLS07CisJaWYgKCpwICE9ICcuJykKKwkJcmV0dXJuIDA7CisKKwkvKiBIb3VycywgbWludXRlcywgYW5kIHdob2xlIHNlY29uZHMuICovCisJbiA9IHNob3J0X3RpbWVfbGVuKGxpbmUsIHAgLSBsaW5lKTsKKwlpZiAoIW4pCisJCXJldHVybiAwOworCisJcmV0dXJuIGxpbmUgKyBsZW4gLSBwICsgbjsKK30KKworc3RhdGljIHNpemVfdCB0cmFpbGluZ19zcGFjZXNfbGVuKGNvbnN0IGNoYXIgKmxpbmUsIHNpemVfdCBsZW4pCit7CisJY29uc3QgY2hhciAqcDsKKworCS8qIEV4cGVjdGVkIGZvcm1hdDogJyAnIHggKDEgb3IgbW9yZSkgICovCisJaWYgKCFsZW4gfHwgbGluZVtsZW4gLSAxXSAhPSAnICcpCisJCXJldHVybiAwOworCisJcCA9IGxpbmUgKyBsZW47CisJd2hpbGUgKHAgIT0gbGluZSkgeworCQlwLS07CisJCWlmICgqcCAhPSAnICcpCisJCQlyZXR1cm4gbGluZSArIGxlbiAtIChwICsgMSk7CisJfQorCisJLyogQWxsIHNwYWNlcyEgKi8KKwlyZXR1cm4gbGVuOworfQorCitzdGF0aWMgc2l6ZV90IGRpZmZfdGltZXN0YW1wX2xlbihjb25zdCBjaGFyICpsaW5lLCBzaXplX3QgbGVuKQoreworCWNvbnN0IGNoYXIgKmVuZCA9IGxpbmUgKyBsZW47CisJc2l6ZV90IG47CisKKwkvKgorCSAqIFBvc2l4OiAyMDEwLTA3LTA1IDE5OjQxOjE3CisJICogR05VOiAyMDEwLTA3LTA1IDE5OjQxOjE3LjYyMDAwMDAyMyAtMDUwMAorCSAqLworCisJaWYgKCFpc2RpZ2l0KGVuZFstMV0pKQorCQlyZXR1cm4gMDsKKworCW4gPSBzYW5lX3R6X2xlbihsaW5lLCBlbmQgLSBsaW5lKTsKKwlpZiAoIW4pCisJCW4gPSB0el93aXRoX2NvbG9uX2xlbihsaW5lLCBlbmQgLSBsaW5lKTsKKwllbmQgLT0gbjsKKworCW4gPSBzaG9ydF90aW1lX2xlbihsaW5lLCBlbmQgLSBsaW5lKTsKKwlpZiAoIW4pCisJCW4gPSBmcmFjdGlvbmFsX3RpbWVfbGVuKGxpbmUsIGVuZCAtIGxpbmUpOworCWVuZCAtPSBuOworCisJbiA9IGRhdGVfbGVuKGxpbmUsIGVuZCAtIGxpbmUpOworCWlmICghbikJLyogTm8gZGF0ZS4gIFRvbyBiYWQuICovCisJCXJldHVybiAwOworCWVuZCAtPSBuOworCisJaWYgKGVuZCA9PSBsaW5lKQkvKiBObyBzcGFjZSBiZWZvcmUgZGF0ZS4gKi8KKwkJcmV0dXJuIDA7CisJaWYgKGVuZFstMV0gPT0gJ1x0JykgewkvKiBTdWNjZXNzISAqLworCQllbmQtLTsKKwkJcmV0dXJuIGxpbmUgKyBsZW4gLSBlbmQ7CisJfQorCWlmIChlbmRbLTFdICE9ICcgJykJLyogTm8gc3BhY2UgYmVmb3JlIGRhdGUuICovCisJCXJldHVybiAwOworCisJLyogV2hpdGVzcGFjZSBkYW1hZ2UuICovCisJZW5kIC09IHRyYWlsaW5nX3NwYWNlc19sZW4obGluZSwgZW5kIC0gbGluZSk7CisJcmV0dXJuIGxpbmUgKyBsZW4gLSBlbmQ7Cit9CisKK3N0YXRpYyBjaGFyICpmaW5kX25hbWVfY29tbW9uKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkgICAgICBjb25zdCBjaGFyICpsaW5lLAorCQkJICAgICAgY29uc3QgY2hhciAqZGVmLAorCQkJICAgICAgaW50IHBfdmFsdWUsCisJCQkgICAgICBjb25zdCBjaGFyICplbmQsCisJCQkgICAgICBpbnQgdGVybWluYXRlKQoreworCWludCBsZW47CisJY29uc3QgY2hhciAqc3RhcnQgPSBOVUxMOworCisJaWYgKHBfdmFsdWUgPT0gMCkKKwkJc3RhcnQgPSBsaW5lOworCXdoaWxlIChsaW5lICE9IGVuZCkgeworCQljaGFyIGMgPSAqbGluZTsKKworCQlpZiAoIWVuZCAmJiBpc3NwYWNlKGMpKSB7CisJCQlpZiAoYyA9PSAnXG4nKQorCQkJCWJyZWFrOworCQkJaWYgKG5hbWVfdGVybWluYXRlKGMsIHRlcm1pbmF0ZSkpCisJCQkJYnJlYWs7CisJCX0KKwkJbGluZSsrOworCQlpZiAoYyA9PSAnLycgJiYgIS0tcF92YWx1ZSkKKwkJCXN0YXJ0ID0gbGluZTsKKwl9CisJaWYgKCFzdGFydCkKKwkJcmV0dXJuIHNxdWFzaF9zbGFzaCh4c3RyZHVwX29yX251bGwoZGVmKSk7CisJbGVuID0gbGluZSAtIHN0YXJ0OworCWlmICghbGVuKQorCQlyZXR1cm4gc3F1YXNoX3NsYXNoKHhzdHJkdXBfb3JfbnVsbChkZWYpKTsKKworCS8qCisJICogR2VuZXJhbGx5IHdlIHByZWZlciB0aGUgc2hvcnRlciBuYW1lLCBlc3BlY2lhbGx5CisJICogaWYgdGhlIG90aGVyIG9uZSBpcyBqdXN0IGEgdmFyaWF0aW9uIG9mIHRoYXQgd2l0aAorCSAqIHNvbWV0aGluZyBlbHNlIHRhY2tlZCBvbiB0byB0aGUgZW5kIChpZSAiZmlsZS5vcmlnIgorCSAqIG9yICJmaWxlfiIpLgorCSAqLworCWlmIChkZWYpIHsKKwkJaW50IGRlZmxlbiA9IHN0cmxlbihkZWYpOworCQlpZiAoZGVmbGVuIDwgbGVuICYmICFzdHJuY21wKHN0YXJ0LCBkZWYsIGRlZmxlbikpCisJCQlyZXR1cm4gc3F1YXNoX3NsYXNoKHhzdHJkdXAoZGVmKSk7CisJfQorCisJaWYgKHN0YXRlLT5yb290LmxlbikgeworCQljaGFyICpyZXQgPSB4c3RyZm10KCIlcyUuKnMiLCBzdGF0ZS0+cm9vdC5idWYsIGxlbiwgc3RhcnQpOworCQlyZXR1cm4gc3F1YXNoX3NsYXNoKHJldCk7CisJfQorCisJcmV0dXJuIHNxdWFzaF9zbGFzaCh4bWVtZHVweihzdGFydCwgbGVuKSk7Cit9CisKK3N0YXRpYyBjaGFyICpmaW5kX25hbWUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJICAgICAgIGNvbnN0IGNoYXIgKmxpbmUsCisJCSAgICAgICBjaGFyICpkZWYsCisJCSAgICAgICBpbnQgcF92YWx1ZSwKKwkJICAgICAgIGludCB0ZXJtaW5hdGUpCit7CisJaWYgKCpsaW5lID09ICciJykgeworCQljaGFyICpuYW1lID0gZmluZF9uYW1lX2dudShzdGF0ZSwgbGluZSwgZGVmLCBwX3ZhbHVlKTsKKwkJaWYgKG5hbWUpCisJCQlyZXR1cm4gbmFtZTsKKwl9CisKKwlyZXR1cm4gZmluZF9uYW1lX2NvbW1vbihzdGF0ZSwgbGluZSwgZGVmLCBwX3ZhbHVlLCBOVUxMLCB0ZXJtaW5hdGUpOworfQorCitzdGF0aWMgY2hhciAqZmluZF9uYW1lX3RyYWRpdGlvbmFsKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkJICAgY29uc3QgY2hhciAqbGluZSwKKwkJCQkgICBjaGFyICpkZWYsCisJCQkJICAgaW50IHBfdmFsdWUpCit7CisJc2l6ZV90IGxlbjsKKwlzaXplX3QgZGF0ZV9sZW47CisKKwlpZiAoKmxpbmUgPT0gJyInKSB7CisJCWNoYXIgKm5hbWUgPSBmaW5kX25hbWVfZ251KHN0YXRlLCBsaW5lLCBkZWYsIHBfdmFsdWUpOworCQlpZiAobmFtZSkKKwkJCXJldHVybiBuYW1lOworCX0KKworCWxlbiA9IHN0cmNocm51bChsaW5lLCAnXG4nKSAtIGxpbmU7CisJZGF0ZV9sZW4gPSBkaWZmX3RpbWVzdGFtcF9sZW4obGluZSwgbGVuKTsKKwlpZiAoIWRhdGVfbGVuKQorCQlyZXR1cm4gZmluZF9uYW1lX2NvbW1vbihzdGF0ZSwgbGluZSwgZGVmLCBwX3ZhbHVlLCBOVUxMLCBURVJNX1RBQik7CisJbGVuIC09IGRhdGVfbGVuOworCisJcmV0dXJuIGZpbmRfbmFtZV9jb21tb24oc3RhdGUsIGxpbmUsIGRlZiwgcF92YWx1ZSwgbGluZSArIGxlbiwgMCk7Cit9CisKK3N0YXRpYyBpbnQgY291bnRfc2xhc2hlcyhjb25zdCBjaGFyICpjcCkKK3sKKwlpbnQgY250ID0gMDsKKwljaGFyIGNoOworCisJd2hpbGUgKChjaCA9ICpjcCsrKSkKKwkJaWYgKGNoID09ICcvJykKKwkJCWNudCsrOworCXJldHVybiBjbnQ7Cit9CisKKy8qCisgKiBHaXZlbiB0aGUgc3RyaW5nIGFmdGVyICItLS0gIiBvciAiKysrICIsIGd1ZXNzIHRoZSBhcHByb3ByaWF0ZQorICogcF92YWx1ZSBmb3IgdGhlIGdpdmVuIHBhdGNoLgorICovCitzdGF0aWMgaW50IGd1ZXNzX3BfdmFsdWUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwgY29uc3QgY2hhciAqbmFtZWxpbmUpCit7CisJY2hhciAqbmFtZSwgKmNwOworCWludCB2YWwgPSAtMTsKKworCWlmIChpc19kZXZfbnVsbChuYW1lbGluZSkpCisJCXJldHVybiAtMTsKKwluYW1lID0gZmluZF9uYW1lX3RyYWRpdGlvbmFsKHN0YXRlLCBuYW1lbGluZSwgTlVMTCwgMCk7CisJaWYgKCFuYW1lKQorCQlyZXR1cm4gLTE7CisJY3AgPSBzdHJjaHIobmFtZSwgJy8nKTsKKwlpZiAoIWNwKQorCQl2YWwgPSAwOworCWVsc2UgaWYgKHN0YXRlLT5wcmVmaXgpIHsKKwkJLyoKKwkJICogRG9lcyBpdCBiZWdpbiB3aXRoICJhLyRvdXItcHJlZml4IiBhbmQgc3VjaD8gIFRoZW4gdGhpcyBpcworCQkgKiB2ZXJ5IGxpa2VseSB0byBhcHBseSB0byBvdXIgZGlyZWN0b3J5LgorCQkgKi8KKwkJaWYgKCFzdHJuY21wKG5hbWUsIHN0YXRlLT5wcmVmaXgsIHN0YXRlLT5wcmVmaXhfbGVuZ3RoKSkKKwkJCXZhbCA9IGNvdW50X3NsYXNoZXMoc3RhdGUtPnByZWZpeCk7CisJCWVsc2UgeworCQkJY3ArKzsKKwkJCWlmICghc3RybmNtcChjcCwgc3RhdGUtPnByZWZpeCwgc3RhdGUtPnByZWZpeF9sZW5ndGgpKQorCQkJCXZhbCA9IGNvdW50X3NsYXNoZXMoc3RhdGUtPnByZWZpeCkgKyAxOworCQl9CisJfQorCWZyZWUobmFtZSk7CisJcmV0dXJuIHZhbDsKK30KKworLyoKKyAqIERvZXMgdGhlIC0tLS8rKysgbGluZSBoYXZlIHRoZSBQT1NJWCB0aW1lc3RhbXAgYWZ0ZXIgdGhlIGxhc3QgSFQ/CisgKiBHTlUgZGlmZiBwdXRzIGVwb2NoIHRoZXJlIHRvIHNpZ25hbCBhIGNyZWF0aW9uL2RlbGV0aW9uIGV2ZW50LiAgSXMKKyAqIHRoaXMgc3VjaCBhIHRpbWVzdGFtcD8KKyAqLworc3RhdGljIGludCBoYXNfZXBvY2hfdGltZXN0YW1wKGNvbnN0IGNoYXIgKm5hbWVsaW5lKQoreworCS8qCisJICogV2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiBlcG9jaCB0aW1lc3RhbXA7IGFueSBub24temVybworCSAqIGZyYWN0aW9uIGNhbm5vdCBiZSBvbmUsIGhlbmNlICIoXC4wKyk/IiBpbiB0aGUgcmVnZXhwIGJlbG93LgorCSAqIEZvciB0aGUgc2FtZSByZWFzb24sIHRoZSBkYXRlIG11c3QgYmUgZWl0aGVyIDE5NjktMTItMzEgb3IKKwkgKiAxOTcwLTAxLTAxLCBhbmQgdGhlIHNlY29uZHMgcGFydCBtdXN0IGJlICIwMCIuCisJICovCisJY29uc3QgY2hhciBzdGFtcF9yZWdleHBbXSA9CisJCSJeKDE5NjktMTItMzF8MTk3MC0wMS0wMSkiCisJCSIgIgorCQkiWzAtMl1bMC05XTpbMC01XVswLTldOjAwKFxcLjArKT8iCisJCSIgIgorCQkiKFstK11bMC0yXVswLTldOj9bMC01XVswLTldKVxuIjsKKwljb25zdCBjaGFyICp0aW1lc3RhbXAgPSBOVUxMLCAqY3AsICpjb2xvbjsKKwlzdGF0aWMgcmVnZXhfdCAqc3RhbXA7CisJcmVnbWF0Y2hfdCBtWzEwXTsKKwlpbnQgem9uZW9mZnNldDsKKwlpbnQgaG91cm1pbnV0ZTsKKwlpbnQgc3RhdHVzOworCisJZm9yIChjcCA9IG5hbWVsaW5lOyAqY3AgIT0gJ1xuJzsgY3ArKykgeworCQlpZiAoKmNwID09ICdcdCcpCisJCQl0aW1lc3RhbXAgPSBjcCArIDE7CisJfQorCWlmICghdGltZXN0YW1wKQorCQlyZXR1cm4gMDsKKwlpZiAoIXN0YW1wKSB7CisJCXN0YW1wID0geG1hbGxvYyhzaXplb2YoKnN0YW1wKSk7CisJCWlmIChyZWdjb21wKHN0YW1wLCBzdGFtcF9yZWdleHAsIFJFR19FWFRFTkRFRCkpIHsKKwkJCXdhcm5pbmcoXygiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIpLAorCQkJCXN0YW1wX3JlZ2V4cCk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCXN0YXR1cyA9IHJlZ2V4ZWMoc3RhbXAsIHRpbWVzdGFtcCwgQVJSQVlfU0laRShtKSwgbSwgMCk7CisJaWYgKHN0YXR1cykgeworCQlpZiAoc3RhdHVzICE9IFJFR19OT01BVENIKQorCQkJd2FybmluZyhfKCJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiKSwKKwkJCQlzdGF0dXMsIHRpbWVzdGFtcCk7CisJCXJldHVybiAwOworCX0KKworCXpvbmVvZmZzZXQgPSBzdHJ0b2wodGltZXN0YW1wICsgbVszXS5ybV9zbyArIDEsIChjaGFyICoqKSAmY29sb24sIDEwKTsKKwlpZiAoKmNvbG9uID09ICc6JykKKwkJem9uZW9mZnNldCA9IHpvbmVvZmZzZXQgKiA2MCArIHN0cnRvbChjb2xvbiArIDEsIE5VTEwsIDEwKTsKKwllbHNlCisJCXpvbmVvZmZzZXQgPSAoem9uZW9mZnNldCAvIDEwMCkgKiA2MCArICh6b25lb2Zmc2V0ICUgMTAwKTsKKwlpZiAodGltZXN0YW1wW21bM10ucm1fc29dID09ICctJykKKwkJem9uZW9mZnNldCA9IC16b25lb2Zmc2V0OworCisJLyoKKwkgKiBZWVlZLU1NLUREIGhoOm1tOnNzIG11c3QgYmUgZnJvbSBlaXRoZXIgMTk2OS0xMi0zMQorCSAqICh3ZXN0IG9mIEdNVCkgb3IgMTk3MC0wMS0wMSAoZWFzdCBvZiBHTVQpCisJICovCisJaWYgKCh6b25lb2Zmc2V0IDwgMCAmJiBtZW1jbXAodGltZXN0YW1wLCAiMTk2OS0xMi0zMSIsIDEwKSkgfHwKKwkgICAgKDAgPD0gem9uZW9mZnNldCAmJiBtZW1jbXAodGltZXN0YW1wLCAiMTk3MC0wMS0wMSIsIDEwKSkpCisJCXJldHVybiAwOworCisJaG91cm1pbnV0ZSA9IChzdHJ0b2wodGltZXN0YW1wICsgMTEsIE5VTEwsIDEwKSAqIDYwICsKKwkJICAgICAgc3RydG9sKHRpbWVzdGFtcCArIDE0LCBOVUxMLCAxMCkgLQorCQkgICAgICB6b25lb2Zmc2V0KTsKKworCXJldHVybiAoKHpvbmVvZmZzZXQgPCAwICYmIGhvdXJtaW51dGUgPT0gMTQ0MCkgfHwKKwkJKDAgPD0gem9uZW9mZnNldCAmJiAhaG91cm1pbnV0ZSkpOworfQorCisvKgorICogR2V0IHRoZSBuYW1lIGV0YyBpbmZvIGZyb20gdGhlIC0tLS8rKysgbGluZXMgb2YgYSB0cmFkaXRpb25hbCBwYXRjaCBoZWFkZXIKKyAqCisgKiBGSVhNRSEgVGhlIGVuZC1vZi1maWxlbmFtZSBoZXVyaXN0aWNzIGFyZSBraW5kIG9mIHNjcmV3eS4gRm9yIGV4aXN0aW5nCisgKiBmaWxlcywgd2UgY2FuIGhhcHBpbHkgY2hlY2sgdGhlIGluZGV4IGZvciBhIG1hdGNoLCBidXQgZm9yIGNyZWF0aW5nIGEKKyAqIG5ldyBmaWxlIHdlIHNob3VsZCB0cnkgdG8gbWF0Y2ggd2hhdGV2ZXIgInBhdGNoIiBkb2VzLiBJIGhhdmUgbm8gaWRlYS4KKyAqLworc3RhdGljIGludCBwYXJzZV90cmFkaXRpb25hbF9wYXRjaChzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJCSAgIGNvbnN0IGNoYXIgKmZpcnN0LAorCQkJCSAgIGNvbnN0IGNoYXIgKnNlY29uZCwKKwkJCQkgICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCWNoYXIgKm5hbWU7CisKKwlmaXJzdCArPSA0OwkvKiBza2lwICItLS0gIiAqLworCXNlY29uZCArPSA0OwkvKiBza2lwICIrKysgIiAqLworCWlmICghc3RhdGUtPnBfdmFsdWVfa25vd24pIHsKKwkJaW50IHAsIHE7CisJCXAgPSBndWVzc19wX3ZhbHVlKHN0YXRlLCBmaXJzdCk7CisJCXEgPSBndWVzc19wX3ZhbHVlKHN0YXRlLCBzZWNvbmQpOworCQlpZiAocCA8IDApIHAgPSBxOworCQlpZiAoMCA8PSBwICYmIHAgPT0gcSkgeworCQkJc3RhdGUtPnBfdmFsdWUgPSBwOworCQkJc3RhdGUtPnBfdmFsdWVfa25vd24gPSAxOworCQl9CisJfQorCWlmIChpc19kZXZfbnVsbChmaXJzdCkpIHsKKwkJcGF0Y2gtPmlzX25ldyA9IDE7CisJCXBhdGNoLT5pc19kZWxldGUgPSAwOworCQluYW1lID0gZmluZF9uYW1lX3RyYWRpdGlvbmFsKHN0YXRlLCBzZWNvbmQsIE5VTEwsIHN0YXRlLT5wX3ZhbHVlKTsKKwkJcGF0Y2gtPm5ld19uYW1lID0gbmFtZTsKKwl9IGVsc2UgaWYgKGlzX2Rldl9udWxsKHNlY29uZCkpIHsKKwkJcGF0Y2gtPmlzX25ldyA9IDA7CisJCXBhdGNoLT5pc19kZWxldGUgPSAxOworCQluYW1lID0gZmluZF9uYW1lX3RyYWRpdGlvbmFsKHN0YXRlLCBmaXJzdCwgTlVMTCwgc3RhdGUtPnBfdmFsdWUpOworCQlwYXRjaC0+b2xkX25hbWUgPSBuYW1lOworCX0gZWxzZSB7CisJCWNoYXIgKmZpcnN0X25hbWU7CisJCWZpcnN0X25hbWUgPSBmaW5kX25hbWVfdHJhZGl0aW9uYWwoc3RhdGUsIGZpcnN0LCBOVUxMLCBzdGF0ZS0+cF92YWx1ZSk7CisJCW5hbWUgPSBmaW5kX25hbWVfdHJhZGl0aW9uYWwoc3RhdGUsIHNlY29uZCwgZmlyc3RfbmFtZSwgc3RhdGUtPnBfdmFsdWUpOworCQlmcmVlKGZpcnN0X25hbWUpOworCQlpZiAoaGFzX2Vwb2NoX3RpbWVzdGFtcChmaXJzdCkpIHsKKwkJCXBhdGNoLT5pc19uZXcgPSAxOworCQkJcGF0Y2gtPmlzX2RlbGV0ZSA9IDA7CisJCQlwYXRjaC0+bmV3X25hbWUgPSBuYW1lOworCQl9IGVsc2UgaWYgKGhhc19lcG9jaF90aW1lc3RhbXAoc2Vjb25kKSkgeworCQkJcGF0Y2gtPmlzX25ldyA9IDA7CisJCQlwYXRjaC0+aXNfZGVsZXRlID0gMTsKKwkJCXBhdGNoLT5vbGRfbmFtZSA9IG5hbWU7CisJCX0gZWxzZSB7CisJCQlwYXRjaC0+b2xkX25hbWUgPSBuYW1lOworCQkJcGF0Y2gtPm5ld19uYW1lID0geHN0cmR1cF9vcl9udWxsKG5hbWUpOworCQl9CisJfQorCWlmICghbmFtZSkKKwkJcmV0dXJuIGVycm9yKF8oInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiKSwgc3RhdGUtPmxpbmVucik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBnaXRkaWZmX2hkcmVuZChzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICBjb25zdCBjaGFyICpsaW5lLAorCQkJICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCXJldHVybiAxOworfQorCisvKgorICogV2UncmUgYW5hbCBhYm91dCBkaWZmIGhlYWRlciBjb25zaXN0ZW5jeSwgdG8gbWFrZQorICogc3VyZSB0aGF0IHdlIGRvbid0IGVuZCB1cCBoYXZpbmcgc3RyYW5nZSBhbWJpZ3VvdXMKKyAqIHBhdGNoZXMgZmxvYXRpbmcgYXJvdW5kLgorICoKKyAqIEFzIGEgcmVzdWx0LCBnaXRkaWZmX3tvbGR8bmV3fW5hbWUoKSB3aWxsIGNoZWNrCisgKiB0aGVpciBuYW1lcyBhZ2FpbnN0IGFueSBwcmV2aW91cyBpbmZvcm1hdGlvbiwganVzdAorICogdG8gbWFrZSBzdXJlLi4KKyAqLworI2RlZmluZSBESUZGX09MRF9OQU1FIDAKKyNkZWZpbmUgRElGRl9ORVdfTkFNRSAxCisKK3N0YXRpYyBpbnQgZ2l0ZGlmZl92ZXJpZnlfbmFtZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKmxpbmUsCisJCQkgICAgICAgaW50IGlzbnVsbCwKKwkJCSAgICAgICBjaGFyICoqbmFtZSwKKwkJCSAgICAgICBpbnQgc2lkZSkKK3sKKwlpZiAoISpuYW1lICYmICFpc251bGwpIHsKKwkJKm5hbWUgPSBmaW5kX25hbWUoc3RhdGUsIGxpbmUsIE5VTEwsIHN0YXRlLT5wX3ZhbHVlLCBURVJNX1RBQik7CisJCXJldHVybiAwOworCX0KKworCWlmICgqbmFtZSkgeworCQlpbnQgbGVuID0gc3RybGVuKCpuYW1lKTsKKwkJY2hhciAqYW5vdGhlcjsKKwkJaWYgKGlzbnVsbCkKKwkJCXJldHVybiBlcnJvcihfKCJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiKSwKKwkJCQkgICAgICpuYW1lLCBzdGF0ZS0+bGluZW5yKTsKKwkJYW5vdGhlciA9IGZpbmRfbmFtZShzdGF0ZSwgbGluZSwgTlVMTCwgc3RhdGUtPnBfdmFsdWUsIFRFUk1fVEFCKTsKKwkJaWYgKCFhbm90aGVyIHx8IG1lbWNtcChhbm90aGVyLCAqbmFtZSwgbGVuICsgMSkpIHsKKwkJCWZyZWUoYW5vdGhlcik7CisJCQlyZXR1cm4gZXJyb3IoKHNpZGUgPT0gRElGRl9ORVdfTkFNRSkgPworCQkJICAgIF8oImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIikgOgorCQkJICAgIF8oImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIiksIHN0YXRlLT5saW5lbnIpOworCQl9CisJCWZyZWUoYW5vdGhlcik7CisJfSBlbHNlIHsKKwkJLyogZXhwZWN0ICIvZGV2L251bGwiICovCisJCWlmIChtZW1jbXAoIi9kZXYvbnVsbCIsIGxpbmUsIDkpIHx8IGxpbmVbOV0gIT0gJ1xuJykKKwkJCXJldHVybiBlcnJvcihfKCJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCBvbiBsaW5lICVkIiksIHN0YXRlLT5saW5lbnIpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGdpdGRpZmZfb2xkbmFtZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICAgY29uc3QgY2hhciAqbGluZSwKKwkJCSAgIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCit7CisJcmV0dXJuIGdpdGRpZmZfdmVyaWZ5X25hbWUoc3RhdGUsIGxpbmUsCisJCQkJICAgcGF0Y2gtPmlzX25ldywgJnBhdGNoLT5vbGRfbmFtZSwKKwkJCQkgICBESUZGX09MRF9OQU1FKTsKK30KKworc3RhdGljIGludCBnaXRkaWZmX25ld25hbWUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCSAgIGNvbnN0IGNoYXIgKmxpbmUsCisJCQkgICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCXJldHVybiBnaXRkaWZmX3ZlcmlmeV9uYW1lKHN0YXRlLCBsaW5lLAorCQkJCSAgIHBhdGNoLT5pc19kZWxldGUsICZwYXRjaC0+bmV3X25hbWUsCisJCQkJICAgRElGRl9ORVdfTkFNRSk7Cit9CisKK3N0YXRpYyBpbnQgZ2l0ZGlmZl9vbGRtb2RlKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkgICBjb25zdCBjaGFyICpsaW5lLAorCQkJICAgc3RydWN0IHBhdGNoICpwYXRjaCkKK3sKKwlwYXRjaC0+b2xkX21vZGUgPSBzdHJ0b3VsKGxpbmUsIE5VTEwsIDgpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGdpdGRpZmZfbmV3bW9kZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICAgY29uc3QgY2hhciAqbGluZSwKKwkJCSAgIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCit7CisJcGF0Y2gtPm5ld19tb2RlID0gc3RydG91bChsaW5lLCBOVUxMLCA4KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBnaXRkaWZmX2RlbGV0ZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICBjb25zdCBjaGFyICpsaW5lLAorCQkJICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCXBhdGNoLT5pc19kZWxldGUgPSAxOworCWZyZWUocGF0Y2gtPm9sZF9uYW1lKTsKKwlwYXRjaC0+b2xkX25hbWUgPSB4c3RyZHVwX29yX251bGwocGF0Y2gtPmRlZl9uYW1lKTsKKwlyZXR1cm4gZ2l0ZGlmZl9vbGRtb2RlKHN0YXRlLCBsaW5lLCBwYXRjaCk7Cit9CisKK3N0YXRpYyBpbnQgZ2l0ZGlmZl9uZXdmaWxlKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkgICBjb25zdCBjaGFyICpsaW5lLAorCQkJICAgc3RydWN0IHBhdGNoICpwYXRjaCkKK3sKKwlwYXRjaC0+aXNfbmV3ID0gMTsKKwlmcmVlKHBhdGNoLT5uZXdfbmFtZSk7CisJcGF0Y2gtPm5ld19uYW1lID0geHN0cmR1cF9vcl9udWxsKHBhdGNoLT5kZWZfbmFtZSk7CisJcmV0dXJuIGdpdGRpZmZfbmV3bW9kZShzdGF0ZSwgbGluZSwgcGF0Y2gpOworfQorCitzdGF0aWMgaW50IGdpdGRpZmZfY29weXNyYyhzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICAgY29uc3QgY2hhciAqbGluZSwKKwkJCSAgIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCit7CisJcGF0Y2gtPmlzX2NvcHkgPSAxOworCWZyZWUocGF0Y2gtPm9sZF9uYW1lKTsKKwlwYXRjaC0+b2xkX25hbWUgPSBmaW5kX25hbWUoc3RhdGUsIGxpbmUsIE5VTEwsIHN0YXRlLT5wX3ZhbHVlID8gc3RhdGUtPnBfdmFsdWUgLSAxIDogMCwgMCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZ2l0ZGlmZl9jb3B5ZHN0KHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkgICBjb25zdCBjaGFyICpsaW5lLAorCQkJICAgc3RydWN0IHBhdGNoICpwYXRjaCkKK3sKKwlwYXRjaC0+aXNfY29weSA9IDE7CisJZnJlZShwYXRjaC0+bmV3X25hbWUpOworCXBhdGNoLT5uZXdfbmFtZSA9IGZpbmRfbmFtZShzdGF0ZSwgbGluZSwgTlVMTCwgc3RhdGUtPnBfdmFsdWUgPyBzdGF0ZS0+cF92YWx1ZSAtIDEgOiAwLCAwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBnaXRkaWZmX3JlbmFtZXNyYyhzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICAgICBjb25zdCBjaGFyICpsaW5lLAorCQkJICAgICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCXBhdGNoLT5pc19yZW5hbWUgPSAxOworCWZyZWUocGF0Y2gtPm9sZF9uYW1lKTsKKwlwYXRjaC0+b2xkX25hbWUgPSBmaW5kX25hbWUoc3RhdGUsIGxpbmUsIE5VTEwsIHN0YXRlLT5wX3ZhbHVlID8gc3RhdGUtPnBfdmFsdWUgLSAxIDogMCwgMCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZ2l0ZGlmZl9yZW5hbWVkc3Qoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCSAgICAgY29uc3QgY2hhciAqbGluZSwKKwkJCSAgICAgc3RydWN0IHBhdGNoICpwYXRjaCkKK3sKKwlwYXRjaC0+aXNfcmVuYW1lID0gMTsKKwlmcmVlKHBhdGNoLT5uZXdfbmFtZSk7CisJcGF0Y2gtPm5ld19uYW1lID0gZmluZF9uYW1lKHN0YXRlLCBsaW5lLCBOVUxMLCBzdGF0ZS0+cF92YWx1ZSA/IHN0YXRlLT5wX3ZhbHVlIC0gMSA6IDAsIDApOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGdpdGRpZmZfc2ltaWxhcml0eShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICAgICAgY29uc3QgY2hhciAqbGluZSwKKwkJCSAgICAgIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCit7CisJdW5zaWduZWQgbG9uZyB2YWwgPSBzdHJ0b3VsKGxpbmUsIE5VTEwsIDEwKTsKKwlpZiAodmFsIDw9IDEwMCkKKwkJcGF0Y2gtPnNjb3JlID0gdmFsOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGdpdGRpZmZfZGlzc2ltaWxhcml0eShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJCSBjb25zdCBjaGFyICpsaW5lLAorCQkJCSBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCXVuc2lnbmVkIGxvbmcgdmFsID0gc3RydG91bChsaW5lLCBOVUxMLCAxMCk7CisJaWYgKHZhbCA8PSAxMDApCisJCXBhdGNoLT5zY29yZSA9IHZhbDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBnaXRkaWZmX2luZGV4KHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkgY29uc3QgY2hhciAqbGluZSwKKwkJCSBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCS8qCisJICogaW5kZXggbGluZSBpcyBOIGhleGFkZWNpbWFsLCAiLi4iLCBOIGhleGFkZWNpbWFsLAorCSAqIGFuZCBvcHRpb25hbCBzcGFjZSB3aXRoIG9jdGFsIG1vZGUuCisJICovCisJY29uc3QgY2hhciAqcHRyLCAqZW9sOworCWludCBsZW47CisKKwlwdHIgPSBzdHJjaHIobGluZSwgJy4nKTsKKwlpZiAoIXB0ciB8fCBwdHJbMV0gIT0gJy4nIHx8IDQwIDwgcHRyIC0gbGluZSkKKwkJcmV0dXJuIDA7CisJbGVuID0gcHRyIC0gbGluZTsKKwltZW1jcHkocGF0Y2gtPm9sZF9zaGExX3ByZWZpeCwgbGluZSwgbGVuKTsKKwlwYXRjaC0+b2xkX3NoYTFfcHJlZml4W2xlbl0gPSAwOworCisJbGluZSA9IHB0ciArIDI7CisJcHRyID0gc3RyY2hyKGxpbmUsICcgJyk7CisJZW9sID0gc3RyY2hybnVsKGxpbmUsICdcbicpOworCisJaWYgKCFwdHIgfHwgZW9sIDwgcHRyKQorCQlwdHIgPSBlb2w7CisJbGVuID0gcHRyIC0gbGluZTsKKworCWlmICg0MCA8IGxlbikKKwkJcmV0dXJuIDA7CisJbWVtY3B5KHBhdGNoLT5uZXdfc2hhMV9wcmVmaXgsIGxpbmUsIGxlbik7CisJcGF0Y2gtPm5ld19zaGExX3ByZWZpeFtsZW5dID0gMDsKKwlpZiAoKnB0ciA9PSAnICcpCisJCXBhdGNoLT5vbGRfbW9kZSA9IHN0cnRvdWwocHRyKzEsIE5VTEwsIDgpOworCXJldHVybiAwOworfQorCisvKgorICogVGhpcyBpcyBub3JtYWwgZm9yIGEgZGlmZiB0aGF0IGRvZXNuJ3QgY2hhbmdlIGFueXRoaW5nOiB3ZSdsbCBmYWxsIHRocm91Z2gKKyAqIGludG8gdGhlIG5leHQgZGlmZi4gVGVsbCB0aGUgcGFyc2VyIHRvIGJyZWFrIG91dC4KKyAqLworc3RhdGljIGludCBnaXRkaWZmX3VucmVjb2duaXplZChzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJCWNvbnN0IGNoYXIgKmxpbmUsCisJCQkJc3RydWN0IHBhdGNoICpwYXRjaCkKK3sKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIFNraXAgcF92YWx1ZSBsZWFkaW5nIGNvbXBvbmVudHMgZnJvbSAibGluZSI7IGFzIHdlIGRvIG5vdCBhY2NlcHQKKyAqIGFic29sdXRlIHBhdGhzLCByZXR1cm4gTlVMTCBpbiB0aGF0IGNhc2UuCisgKi8KK3N0YXRpYyBjb25zdCBjaGFyICpza2lwX3RyZWVfcHJlZml4KHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkJICAgIGNvbnN0IGNoYXIgKmxpbmUsCisJCQkJICAgIGludCBsbGVuKQoreworCWludCBuc2xhc2g7CisJaW50IGk7CisKKwlpZiAoIXN0YXRlLT5wX3ZhbHVlKQorCQlyZXR1cm4gKGxsZW4gJiYgbGluZVswXSA9PSAnLycpID8gTlVMTCA6IGxpbmU7CisKKwluc2xhc2ggPSBzdGF0ZS0+cF92YWx1ZTsKKwlmb3IgKGkgPSAwOyBpIDwgbGxlbjsgaSsrKSB7CisJCWludCBjaCA9IGxpbmVbaV07CisJCWlmIChjaCA9PSAnLycgJiYgLS1uc2xhc2ggPD0gMCkKKwkJCXJldHVybiAoaSA9PSAwKSA/IE5VTEwgOiAmbGluZVtpICsgMV07CisJfQorCXJldHVybiBOVUxMOworfQorCisvKgorICogVGhpcyBpcyB0byBleHRyYWN0IHRoZSBzYW1lIG5hbWUgdGhhdCBhcHBlYXJzIG9uICJkaWZmIC0tZ2l0IgorICogbGluZS4gIFdlIGRvIG5vdCBmaW5kIGFuZCByZXR1cm4gYW55dGhpbmcgaWYgaXQgaXMgYSByZW5hbWUKKyAqIHBhdGNoLCBhbmQgaXQgaXMgT0sgYmVjYXVzZSB3ZSB3aWxsIGZpbmQgdGhlIG5hbWUgZWxzZXdoZXJlLgorICogV2UgbmVlZCB0byByZWxpYWJseSBmaW5kIG5hbWUgb25seSB3aGVuIGl0IGlzIG1vZGUtY2hhbmdlIG9ubHksCisgKiBjcmVhdGlvbiBvciBkZWxldGlvbiBvZiBhbiBlbXB0eSBmaWxlLiAgSW4gYW55IG9mIHRoZXNlIGNhc2VzLAorICogYm90aCBzaWRlcyBhcmUgdGhlIHNhbWUgbmFtZSB1bmRlciBhLyBhbmQgYi8gcmVzcGVjdGl2ZWx5LgorICovCitzdGF0aWMgY2hhciAqZ2l0X2hlYWRlcl9uYW1lKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkgICAgIGNvbnN0IGNoYXIgKmxpbmUsCisJCQkgICAgIGludCBsbGVuKQoreworCWNvbnN0IGNoYXIgKm5hbWU7CisJY29uc3QgY2hhciAqc2Vjb25kID0gTlVMTDsKKwlzaXplX3QgbGVuLCBsaW5lX2xlbjsKKworCWxpbmUgKz0gc3RybGVuKCJkaWZmIC0tZ2l0ICIpOworCWxsZW4gLT0gc3RybGVuKCJkaWZmIC0tZ2l0ICIpOworCisJaWYgKCpsaW5lID09ICciJykgeworCQljb25zdCBjaGFyICpjcDsKKwkJc3RydWN0IHN0cmJ1ZiBmaXJzdCA9IFNUUkJVRl9JTklUOworCQlzdHJ1Y3Qgc3RyYnVmIHNwID0gU1RSQlVGX0lOSVQ7CisKKwkJaWYgKHVucXVvdGVfY19zdHlsZSgmZmlyc3QsIGxpbmUsICZzZWNvbmQpKQorCQkJZ290byBmcmVlX2FuZF9mYWlsMTsKKworCQkvKiBzdHJpcCB0aGUgYS9iIHByZWZpeCBpbmNsdWRpbmcgdHJhaWxpbmcgc2xhc2ggKi8KKwkJY3AgPSBza2lwX3RyZWVfcHJlZml4KHN0YXRlLCBmaXJzdC5idWYsIGZpcnN0Lmxlbik7CisJCWlmICghY3ApCisJCQlnb3RvIGZyZWVfYW5kX2ZhaWwxOworCQlzdHJidWZfcmVtb3ZlKCZmaXJzdCwgMCwgY3AgLSBmaXJzdC5idWYpOworCisJCS8qCisJCSAqIHNlY29uZCBwb2ludHMgYXQgb25lIHBhc3QgY2xvc2luZyBkcSBvZiBuYW1lLgorCQkgKiBmaW5kIHRoZSBzZWNvbmQgbmFtZS4KKwkJICovCisJCXdoaWxlICgoc2Vjb25kIDwgbGluZSArIGxsZW4pICYmIGlzc3BhY2UoKnNlY29uZCkpCisJCQlzZWNvbmQrKzsKKworCQlpZiAobGluZSArIGxsZW4gPD0gc2Vjb25kKQorCQkJZ290byBmcmVlX2FuZF9mYWlsMTsKKwkJaWYgKCpzZWNvbmQgPT0gJyInKSB7CisJCQlpZiAodW5xdW90ZV9jX3N0eWxlKCZzcCwgc2Vjb25kLCBOVUxMKSkKKwkJCQlnb3RvIGZyZWVfYW5kX2ZhaWwxOworCQkJY3AgPSBza2lwX3RyZWVfcHJlZml4KHN0YXRlLCBzcC5idWYsIHNwLmxlbik7CisJCQlpZiAoIWNwKQorCQkJCWdvdG8gZnJlZV9hbmRfZmFpbDE7CisJCQkvKiBUaGV5IG11c3QgbWF0Y2gsIG90aGVyd2lzZSBpZ25vcmUgKi8KKwkJCWlmIChzdHJjbXAoY3AsIGZpcnN0LmJ1ZikpCisJCQkJZ290byBmcmVlX2FuZF9mYWlsMTsKKwkJCXN0cmJ1Zl9yZWxlYXNlKCZzcCk7CisJCQlyZXR1cm4gc3RyYnVmX2RldGFjaCgmZmlyc3QsIE5VTEwpOworCQl9CisKKwkJLyogdW5xdW90ZWQgc2Vjb25kICovCisJCWNwID0gc2tpcF90cmVlX3ByZWZpeChzdGF0ZSwgc2Vjb25kLCBsaW5lICsgbGxlbiAtIHNlY29uZCk7CisJCWlmICghY3ApCisJCQlnb3RvIGZyZWVfYW5kX2ZhaWwxOworCQlpZiAobGluZSArIGxsZW4gLSBjcCAhPSBmaXJzdC5sZW4gfHwKKwkJICAgIG1lbWNtcChmaXJzdC5idWYsIGNwLCBmaXJzdC5sZW4pKQorCQkJZ290byBmcmVlX2FuZF9mYWlsMTsKKwkJcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJmZpcnN0LCBOVUxMKTsKKworCWZyZWVfYW5kX2ZhaWwxOgorCQlzdHJidWZfcmVsZWFzZSgmZmlyc3QpOworCQlzdHJidWZfcmVsZWFzZSgmc3ApOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwkvKiB1bnF1b3RlZCBmaXJzdCBuYW1lICovCisJbmFtZSA9IHNraXBfdHJlZV9wcmVmaXgoc3RhdGUsIGxpbmUsIGxsZW4pOworCWlmICghbmFtZSkKKwkJcmV0dXJuIE5VTEw7CisKKwkvKgorCSAqIHNpbmNlIHRoZSBmaXJzdCBuYW1lIGlzIHVucXVvdGVkLCBhIGRxIGlmIGV4aXN0cyBtdXN0IGJlCisJICogdGhlIGJlZ2lubmluZyBvZiB0aGUgc2Vjb25kIG5hbWUuCisJICovCisJZm9yIChzZWNvbmQgPSBuYW1lOyBzZWNvbmQgPCBsaW5lICsgbGxlbjsgc2Vjb25kKyspIHsKKwkJaWYgKCpzZWNvbmQgPT0gJyInKSB7CisJCQlzdHJ1Y3Qgc3RyYnVmIHNwID0gU1RSQlVGX0lOSVQ7CisJCQljb25zdCBjaGFyICpucDsKKworCQkJaWYgKHVucXVvdGVfY19zdHlsZSgmc3AsIHNlY29uZCwgTlVMTCkpCisJCQkJZ290byBmcmVlX2FuZF9mYWlsMjsKKworCQkJbnAgPSBza2lwX3RyZWVfcHJlZml4KHN0YXRlLCBzcC5idWYsIHNwLmxlbik7CisJCQlpZiAoIW5wKQorCQkJCWdvdG8gZnJlZV9hbmRfZmFpbDI7CisKKwkJCWxlbiA9IHNwLmJ1ZiArIHNwLmxlbiAtIG5wOworCQkJaWYgKGxlbiA8IHNlY29uZCAtIG5hbWUgJiYKKwkJCSAgICAhc3RybmNtcChucCwgbmFtZSwgbGVuKSAmJgorCQkJICAgIGlzc3BhY2UobmFtZVtsZW5dKSkgeworCQkJCS8qIEdvb2QgKi8KKwkJCQlzdHJidWZfcmVtb3ZlKCZzcCwgMCwgbnAgLSBzcC5idWYpOworCQkJCXJldHVybiBzdHJidWZfZGV0YWNoKCZzcCwgTlVMTCk7CisJCQl9CisKKwkJZnJlZV9hbmRfZmFpbDI6CisJCQlzdHJidWZfcmVsZWFzZSgmc3ApOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKwl9CisKKwkvKgorCSAqIEFjY2VwdCBhIG5hbWUgb25seSBpZiBpdCBzaG93cyB1cCB0d2ljZSwgZXhhY3RseSB0aGUgc2FtZQorCSAqIGZvcm0uCisJICovCisJc2Vjb25kID0gc3RyY2hyKG5hbWUsICdcbicpOworCWlmICghc2Vjb25kKQorCQlyZXR1cm4gTlVMTDsKKwlsaW5lX2xlbiA9IHNlY29uZCAtIG5hbWU7CisJZm9yIChsZW4gPSAwIDsgOyBsZW4rKykgeworCQlzd2l0Y2ggKG5hbWVbbGVuXSkgeworCQlkZWZhdWx0OgorCQkJY29udGludWU7CisJCWNhc2UgJ1xuJzoKKwkJCXJldHVybiBOVUxMOworCQljYXNlICdcdCc6IGNhc2UgJyAnOgorCQkJLyoKKwkJCSAqIElzIHRoaXMgdGhlIHNlcGFyYXRvciBiZXR3ZWVuIHRoZSBwcmVpbWFnZQorCQkJICogYW5kIHRoZSBwb3N0aW1hZ2UgcGF0aG5hbWU/ICBBZ2Fpbiwgd2UgYXJlCisJCQkgKiBvbmx5IGludGVyZXN0ZWQgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlcmUgaXMKKwkJCSAqIG5vIHJlbmFtZSwgYXMgdGhpcyBpcyBvbmx5IHRvIHNldCBkZWZfbmFtZQorCQkJICogYW5kIGEgcmVuYW1lIHBhdGNoIGhhcyB0aGUgbmFtZXMgZWxzZXdoZXJlCisJCQkgKiBpbiBhbiB1bmFtYmlndW91cyBmb3JtLgorCQkJICovCisJCQlpZiAoIW5hbWVbbGVuICsgMV0pCisJCQkJcmV0dXJuIE5VTEw7IC8qIG5vIHBvc3RpbWFnZSBuYW1lICovCisJCQlzZWNvbmQgPSBza2lwX3RyZWVfcHJlZml4KHN0YXRlLCBuYW1lICsgbGVuICsgMSwKKwkJCQkJCSAgbGluZV9sZW4gLSAobGVuICsgMSkpOworCQkJaWYgKCFzZWNvbmQpCisJCQkJcmV0dXJuIE5VTEw7CisJCQkvKgorCQkJICogRG9lcyBsZW4gYnl0ZXMgc3RhcnRpbmcgYXQgIm5hbWUiIGFuZCAic2Vjb25kIgorCQkJICogKHRoYXQgYXJlIHNlcGFyYXRlZCBieSBvbmUgSFQgb3IgU1Agd2UganVzdAorCQkJICogZm91bmQpIGV4YWN0bHkgbWF0Y2g/CisJCQkgKi8KKwkJCWlmIChzZWNvbmRbbGVuXSA9PSAnXG4nICYmICFzdHJuY21wKG5hbWUsIHNlY29uZCwgbGVuKSkKKwkJCQlyZXR1cm4geG1lbWR1cHoobmFtZSwgbGVuKTsKKwkJfQorCX0KK30KKworLyogVmVyaWZ5IHRoYXQgd2UgcmVjb2duaXplIHRoZSBsaW5lcyBmb2xsb3dpbmcgYSBnaXQgaGVhZGVyICovCitzdGF0aWMgaW50IHBhcnNlX2dpdF9oZWFkZXIoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCSAgICBjb25zdCBjaGFyICpsaW5lLAorCQkJICAgIGludCBsZW4sCisJCQkgICAgdW5zaWduZWQgaW50IHNpemUsCisJCQkgICAgc3RydWN0IHBhdGNoICpwYXRjaCkKK3sKKwl1bnNpZ25lZCBsb25nIG9mZnNldDsKKworCS8qIEEgZ2l0IGRpZmYgaGFzIGV4cGxpY2l0IG5ldy9kZWxldGUgaW5mb3JtYXRpb24sIHNvIHdlIGRvbid0IGd1ZXNzICovCisJcGF0Y2gtPmlzX25ldyA9IDA7CisJcGF0Y2gtPmlzX2RlbGV0ZSA9IDA7CisKKwkvKgorCSAqIFNvbWUgdGhpbmdzIG1heSBub3QgaGF2ZSB0aGUgb2xkIG5hbWUgaW4gdGhlCisJICogcmVzdCBvZiB0aGUgaGVhZGVycyBhbnl3aGVyZSAocHVyZSBtb2RlIGNoYW5nZXMsCisJICogb3IgcmVtb3Zpbmcgb3IgYWRkaW5nIGVtcHR5IGZpbGVzKSwgc28gd2UgZ2V0CisJICogdGhlIGRlZmF1bHQgbmFtZSBmcm9tIHRoZSBoZWFkZXIuCisJICovCisJcGF0Y2gtPmRlZl9uYW1lID0gZ2l0X2hlYWRlcl9uYW1lKHN0YXRlLCBsaW5lLCBsZW4pOworCWlmIChwYXRjaC0+ZGVmX25hbWUgJiYgc3RhdGUtPnJvb3QubGVuKSB7CisJCWNoYXIgKnMgPSB4c3RyZm10KCIlcyVzIiwgc3RhdGUtPnJvb3QuYnVmLCBwYXRjaC0+ZGVmX25hbWUpOworCQlmcmVlKHBhdGNoLT5kZWZfbmFtZSk7CisJCXBhdGNoLT5kZWZfbmFtZSA9IHM7CisJfQorCisJbGluZSArPSBsZW47CisJc2l6ZSAtPSBsZW47CisJc3RhdGUtPmxpbmVucisrOworCWZvciAob2Zmc2V0ID0gbGVuIDsgc2l6ZSA+IDAgOyBvZmZzZXQgKz0gbGVuLCBzaXplIC09IGxlbiwgbGluZSArPSBsZW4sIHN0YXRlLT5saW5lbnIrKykgeworCQlzdGF0aWMgY29uc3Qgc3RydWN0IG9wZW50cnkgeworCQkJY29uc3QgY2hhciAqc3RyOworCQkJaW50ICgqZm4pKHN0cnVjdCBhcHBseV9zdGF0ZSAqLCBjb25zdCBjaGFyICosIHN0cnVjdCBwYXRjaCAqKTsKKwkJfSBvcHRhYmxlW10gPSB7CisJCQl7ICJAQCAtIiwgZ2l0ZGlmZl9oZHJlbmQgfSwKKwkJCXsgIi0tLSAiLCBnaXRkaWZmX29sZG5hbWUgfSwKKwkJCXsgIisrKyAiLCBnaXRkaWZmX25ld25hbWUgfSwKKwkJCXsgIm9sZCBtb2RlICIsIGdpdGRpZmZfb2xkbW9kZSB9LAorCQkJeyAibmV3IG1vZGUgIiwgZ2l0ZGlmZl9uZXdtb2RlIH0sCisJCQl7ICJkZWxldGVkIGZpbGUgbW9kZSAiLCBnaXRkaWZmX2RlbGV0ZSB9LAorCQkJeyAibmV3IGZpbGUgbW9kZSAiLCBnaXRkaWZmX25ld2ZpbGUgfSwKKwkJCXsgImNvcHkgZnJvbSAiLCBnaXRkaWZmX2NvcHlzcmMgfSwKKwkJCXsgImNvcHkgdG8gIiwgZ2l0ZGlmZl9jb3B5ZHN0IH0sCisJCQl7ICJyZW5hbWUgb2xkICIsIGdpdGRpZmZfcmVuYW1lc3JjIH0sCisJCQl7ICJyZW5hbWUgbmV3ICIsIGdpdGRpZmZfcmVuYW1lZHN0IH0sCisJCQl7ICJyZW5hbWUgZnJvbSAiLCBnaXRkaWZmX3JlbmFtZXNyYyB9LAorCQkJeyAicmVuYW1lIHRvICIsIGdpdGRpZmZfcmVuYW1lZHN0IH0sCisJCQl7ICJzaW1pbGFyaXR5IGluZGV4ICIsIGdpdGRpZmZfc2ltaWxhcml0eSB9LAorCQkJeyAiZGlzc2ltaWxhcml0eSBpbmRleCAiLCBnaXRkaWZmX2Rpc3NpbWlsYXJpdHkgfSwKKwkJCXsgImluZGV4ICIsIGdpdGRpZmZfaW5kZXggfSwKKwkJCXsgIiIsIGdpdGRpZmZfdW5yZWNvZ25pemVkIH0sCisJCX07CisJCWludCBpOworCisJCWxlbiA9IGxpbmVsZW4obGluZSwgc2l6ZSk7CisJCWlmICghbGVuIHx8IGxpbmVbbGVuLTFdICE9ICdcbicpCisJCQlicmVhazsKKwkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUob3B0YWJsZSk7IGkrKykgeworCQkJY29uc3Qgc3RydWN0IG9wZW50cnkgKnAgPSBvcHRhYmxlICsgaTsKKwkJCWludCBvcGxlbiA9IHN0cmxlbihwLT5zdHIpOworCQkJaW50IHJlczsKKwkJCWlmIChsZW4gPCBvcGxlbiB8fCBtZW1jbXAocC0+c3RyLCBsaW5lLCBvcGxlbikpCisJCQkJY29udGludWU7CisJCQlyZXMgPSBwLT5mbihzdGF0ZSwgbGluZSArIG9wbGVuLCBwYXRjaCk7CisJCQlpZiAocmVzIDwgMCkKKwkJCQlyZXR1cm4gLTE7CisJCQlpZiAocmVzID4gMCkKKwkJCQlyZXR1cm4gb2Zmc2V0OworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlyZXR1cm4gb2Zmc2V0OworfQorCitzdGF0aWMgaW50IHBhcnNlX251bShjb25zdCBjaGFyICpsaW5lLCB1bnNpZ25lZCBsb25nICpwKQoreworCWNoYXIgKnB0cjsKKworCWlmICghaXNkaWdpdCgqbGluZSkpCisJCXJldHVybiAwOworCSpwID0gc3RydG91bChsaW5lLCAmcHRyLCAxMCk7CisJcmV0dXJuIHB0ciAtIGxpbmU7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfcmFuZ2UoY29uc3QgY2hhciAqbGluZSwgaW50IGxlbiwgaW50IG9mZnNldCwgY29uc3QgY2hhciAqZXhwZWN0LAorCQkgICAgICAgdW5zaWduZWQgbG9uZyAqcDEsIHVuc2lnbmVkIGxvbmcgKnAyKQoreworCWludCBkaWdpdHMsIGV4OworCisJaWYgKG9mZnNldCA8IDAgfHwgb2Zmc2V0ID49IGxlbikKKwkJcmV0dXJuIC0xOworCWxpbmUgKz0gb2Zmc2V0OworCWxlbiAtPSBvZmZzZXQ7CisKKwlkaWdpdHMgPSBwYXJzZV9udW0obGluZSwgcDEpOworCWlmICghZGlnaXRzKQorCQlyZXR1cm4gLTE7CisKKwlvZmZzZXQgKz0gZGlnaXRzOworCWxpbmUgKz0gZGlnaXRzOworCWxlbiAtPSBkaWdpdHM7CisKKwkqcDIgPSAxOworCWlmICgqbGluZSA9PSAnLCcpIHsKKwkJZGlnaXRzID0gcGFyc2VfbnVtKGxpbmUrMSwgcDIpOworCQlpZiAoIWRpZ2l0cykKKwkJCXJldHVybiAtMTsKKworCQlvZmZzZXQgKz0gZGlnaXRzKzE7CisJCWxpbmUgKz0gZGlnaXRzKzE7CisJCWxlbiAtPSBkaWdpdHMrMTsKKwl9CisKKwlleCA9IHN0cmxlbihleHBlY3QpOworCWlmIChleCA+IGxlbikKKwkJcmV0dXJuIC0xOworCWlmIChtZW1jbXAobGluZSwgZXhwZWN0LCBleCkpCisJCXJldHVybiAtMTsKKworCXJldHVybiBvZmZzZXQgKyBleDsKK30KKworc3RhdGljIHZvaWQgcmVjb3VudF9kaWZmKGNvbnN0IGNoYXIgKmxpbmUsIGludCBzaXplLCBzdHJ1Y3QgZnJhZ21lbnQgKmZyYWdtZW50KQoreworCWludCBvbGRsaW5lcyA9IDAsIG5ld2xpbmVzID0gMCwgcmV0ID0gMDsKKworCWlmIChzaXplIDwgMSkgeworCQl3YXJuaW5nKCJyZWNvdW50OiBpZ25vcmUgZW1wdHkgaHVuayIpOworCQlyZXR1cm47CisJfQorCisJZm9yICg7OykgeworCQlpbnQgbGVuID0gbGluZWxlbihsaW5lLCBzaXplKTsKKwkJc2l6ZSAtPSBsZW47CisJCWxpbmUgKz0gbGVuOworCisJCWlmIChzaXplIDwgMSkKKwkJCWJyZWFrOworCisJCXN3aXRjaCAoKmxpbmUpIHsKKwkJY2FzZSAnICc6IGNhc2UgJ1xuJzoKKwkJCW5ld2xpbmVzKys7CisJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJY2FzZSAnLSc6CisJCQlvbGRsaW5lcysrOworCQkJY29udGludWU7CisJCWNhc2UgJysnOgorCQkJbmV3bGluZXMrKzsKKwkJCWNvbnRpbnVlOworCQljYXNlICdcXCc6CisJCQljb250aW51ZTsKKwkJY2FzZSAnQCc6CisJCQlyZXQgPSBzaXplIDwgMyB8fCAhc3RhcnRzX3dpdGgobGluZSwgIkBAICIpOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJcmV0ID0gc2l6ZSA8IDUgfHwgIXN0YXJ0c193aXRoKGxpbmUsICJkaWZmICIpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlyZXQgPSAtMTsKKwkJCWJyZWFrOworCQl9CisJCWlmIChyZXQpIHsKKwkJCXdhcm5pbmcoXygicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIiksCisJCQkJKGludClsaW5lbGVuKGxpbmUsIHNpemUpLCBsaW5lKTsKKwkJCXJldHVybjsKKwkJfQorCQlicmVhazsKKwl9CisJZnJhZ21lbnQtPm9sZGxpbmVzID0gb2xkbGluZXM7CisJZnJhZ21lbnQtPm5ld2xpbmVzID0gbmV3bGluZXM7Cit9CisKKy8qCisgKiBQYXJzZSBhIHVuaWZpZWQgZGlmZiBmcmFnbWVudCBoZWFkZXIgb2YgdGhlCisgKiBmb3JtICJAQCAtYSxiICtjLGQgQEAiCisgKi8KK3N0YXRpYyBpbnQgcGFyc2VfZnJhZ21lbnRfaGVhZGVyKGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4sIHN0cnVjdCBmcmFnbWVudCAqZnJhZ21lbnQpCit7CisJaW50IG9mZnNldDsKKworCWlmICghbGVuIHx8IGxpbmVbbGVuLTFdICE9ICdcbicpCisJCXJldHVybiAtMTsKKworCS8qIEZpZ3VyZSBvdXQgdGhlIG51bWJlciBvZiBsaW5lcyBpbiBhIGZyYWdtZW50ICovCisJb2Zmc2V0ID0gcGFyc2VfcmFuZ2UobGluZSwgbGVuLCA0LCAiICsiLCAmZnJhZ21lbnQtPm9sZHBvcywgJmZyYWdtZW50LT5vbGRsaW5lcyk7CisJb2Zmc2V0ID0gcGFyc2VfcmFuZ2UobGluZSwgbGVuLCBvZmZzZXQsICIgQEAiLCAmZnJhZ21lbnQtPm5ld3BvcywgJmZyYWdtZW50LT5uZXdsaW5lcyk7CisKKwlyZXR1cm4gb2Zmc2V0OworfQorCisvKgorICogRmluZCBmaWxlIGRpZmYgaGVhZGVyCisgKgorICogUmV0dXJuczoKKyAqICAtMSBpZiBubyBoZWFkZXIgd2FzIGZvdW5kCisgKiAgLTEyOCBpbiBjYXNlIG9mIGVycm9yCisgKiAgIHRoZSBzaXplIG9mIHRoZSBoZWFkZXIgaW4gYnl0ZXMgKGNhbGxlZCAib2Zmc2V0Iikgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQgZmluZF9oZWFkZXIoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJICAgICAgIGNvbnN0IGNoYXIgKmxpbmUsCisJCSAgICAgICB1bnNpZ25lZCBsb25nIHNpemUsCisJCSAgICAgICBpbnQgKmhkcnNpemUsCisJCSAgICAgICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCXVuc2lnbmVkIGxvbmcgb2Zmc2V0LCBsZW47CisKKwlwYXRjaC0+aXNfdG9wbGV2ZWxfcmVsYXRpdmUgPSAwOworCXBhdGNoLT5pc19yZW5hbWUgPSBwYXRjaC0+aXNfY29weSA9IDA7CisJcGF0Y2gtPmlzX25ldyA9IHBhdGNoLT5pc19kZWxldGUgPSAtMTsKKwlwYXRjaC0+b2xkX21vZGUgPSBwYXRjaC0+bmV3X21vZGUgPSAwOworCXBhdGNoLT5vbGRfbmFtZSA9IHBhdGNoLT5uZXdfbmFtZSA9IE5VTEw7CisJZm9yIChvZmZzZXQgPSAwOyBzaXplID4gMDsgb2Zmc2V0ICs9IGxlbiwgc2l6ZSAtPSBsZW4sIGxpbmUgKz0gbGVuLCBzdGF0ZS0+bGluZW5yKyspIHsKKwkJdW5zaWduZWQgbG9uZyBuZXh0bGVuOworCisJCWxlbiA9IGxpbmVsZW4obGluZSwgc2l6ZSk7CisJCWlmICghbGVuKQorCQkJYnJlYWs7CisKKwkJLyogVGVzdGluZyB0aGlzIGVhcmx5IGFsbG93cyB1cyB0byB0YWtlIGEgZmV3IHNob3J0Y3V0cy4uICovCisJCWlmIChsZW4gPCA2KQorCQkJY29udGludWU7CisKKwkJLyoKKwkJICogTWFrZSBzdXJlIHdlIGRvbid0IGZpbmQgYW55IHVuY29ubmVjdGVkIHBhdGNoIGZyYWdtZW50cy4KKwkJICogVGhhdCdzIGEgc2lnbiB0aGF0IHdlIGRpZG4ndCBmaW5kIGEgaGVhZGVyLCBhbmQgdGhhdCBhCisJCSAqIHBhdGNoIGhhcyBiZWNvbWUgY29ycnVwdGVkL2Jyb2tlbiB1cC4KKwkJICovCisJCWlmICghbWVtY21wKCJAQCAtIiwgbGluZSwgNCkpIHsKKwkJCXN0cnVjdCBmcmFnbWVudCBkdW1teTsKKwkJCWlmIChwYXJzZV9mcmFnbWVudF9oZWFkZXIobGluZSwgbGVuLCAmZHVtbXkpIDwgMCkKKwkJCQljb250aW51ZTsKKwkJCWVycm9yKF8oInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiKSwKKwkJCQkgICAgIHN0YXRlLT5saW5lbnIsIChpbnQpbGVuLTEsIGxpbmUpOworCQkJcmV0dXJuIC0xMjg7CisJCX0KKworCQlpZiAoc2l6ZSA8IGxlbiArIDYpCisJCQlicmVhazsKKworCQkvKgorCQkgKiBHaXQgcGF0Y2g/IEl0IG1pZ2h0IG5vdCBoYXZlIGEgcmVhbCBwYXRjaCwganVzdCBhIHJlbmFtZQorCQkgKiBvciBtb2RlIGNoYW5nZSwgc28gd2UgaGFuZGxlIHRoYXQgc3BlY2lhbGx5CisJCSAqLworCQlpZiAoIW1lbWNtcCgiZGlmZiAtLWdpdCAiLCBsaW5lLCAxMSkpIHsKKwkJCWludCBnaXRfaGRyX2xlbiA9IHBhcnNlX2dpdF9oZWFkZXIoc3RhdGUsIGxpbmUsIGxlbiwgc2l6ZSwgcGF0Y2gpOworCQkJaWYgKGdpdF9oZHJfbGVuIDwgMCkKKwkJCQlyZXR1cm4gLTEyODsKKwkJCWlmIChnaXRfaGRyX2xlbiA8PSBsZW4pCisJCQkJY29udGludWU7CisJCQlpZiAoIXBhdGNoLT5vbGRfbmFtZSAmJiAhcGF0Y2gtPm5ld19uYW1lKSB7CisJCQkJaWYgKCFwYXRjaC0+ZGVmX25hbWUpIHsKKwkJCQkJZXJyb3IoUV8oImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICIKKwkJCQkJCQkiJWQgbGVhZGluZyBwYXRobmFtZSBjb21wb25lbnQgKGxpbmUgJWQpIiwKKwkJCQkJCQkiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgIgorCQkJCQkJCSIlZCBsZWFkaW5nIHBhdGhuYW1lIGNvbXBvbmVudHMgKGxpbmUgJWQpIiwKKwkJCQkJCQlzdGF0ZS0+cF92YWx1ZSksCisJCQkJCQkgICAgIHN0YXRlLT5wX3ZhbHVlLCBzdGF0ZS0+bGluZW5yKTsKKwkJCQkJcmV0dXJuIC0xMjg7CisJCQkJfQorCQkJCXBhdGNoLT5vbGRfbmFtZSA9IHhzdHJkdXAocGF0Y2gtPmRlZl9uYW1lKTsKKwkJCQlwYXRjaC0+bmV3X25hbWUgPSB4c3RyZHVwKHBhdGNoLT5kZWZfbmFtZSk7CisJCQl9CisJCQlpZiAoIXBhdGNoLT5pc19kZWxldGUgJiYgIXBhdGNoLT5uZXdfbmFtZSkgeworCQkJCWVycm9yKF8oImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAiCisJCQkJCSAgICAgIihsaW5lICVkKSIpLCBzdGF0ZS0+bGluZW5yKTsKKwkJCQlyZXR1cm4gLTEyODsKKwkJCX0KKwkJCXBhdGNoLT5pc190b3BsZXZlbF9yZWxhdGl2ZSA9IDE7CisJCQkqaGRyc2l6ZSA9IGdpdF9oZHJfbGVuOworCQkJcmV0dXJuIG9mZnNldDsKKwkJfQorCisJCS8qIC0tLSBmb2xsb3dlZCBieSArKysgPyAqLworCQlpZiAobWVtY21wKCItLS0gIiwgbGluZSwgIDQpIHx8IG1lbWNtcCgiKysrICIsIGxpbmUgKyBsZW4sIDQpKQorCQkJY29udGludWU7CisKKwkJLyoKKwkJICogV2Ugb25seSBhY2NlcHQgdW5pZmllZCBwYXRjaGVzLCBzbyB3ZSB3YW50IGl0IHRvCisJCSAqIGF0IGxlYXN0IGhhdmUgIkBAIC1hLGIgK2MsZCBAQFxuIiwgd2hpY2ggaXMgMTQgY2hhcnMKKwkJICogbWluaW11bSAoIkBAIC0wLDAgKzEgQEBcbiIgaXMgdGhlIHNob3J0ZXN0KS4KKwkJICovCisJCW5leHRsZW4gPSBsaW5lbGVuKGxpbmUgKyBsZW4sIHNpemUgLSBsZW4pOworCQlpZiAoc2l6ZSA8IG5leHRsZW4gKyAxNCB8fCBtZW1jbXAoIkBAIC0iLCBsaW5lICsgbGVuICsgbmV4dGxlbiwgNCkpCisJCQljb250aW51ZTsKKworCQkvKiBPaywgd2UnbGwgY29uc2lkZXIgaXQgYSBwYXRjaCAqLworCQlpZiAocGFyc2VfdHJhZGl0aW9uYWxfcGF0Y2goc3RhdGUsIGxpbmUsIGxpbmUrbGVuLCBwYXRjaCkpCisJCQlyZXR1cm4gLTEyODsKKwkJKmhkcnNpemUgPSBsZW4gKyBuZXh0bGVuOworCQlzdGF0ZS0+bGluZW5yICs9IDI7CisJCXJldHVybiBvZmZzZXQ7CisJfQorCXJldHVybiAtMTsKK30KKworc3RhdGljIHZvaWQgcmVjb3JkX3dzX2Vycm9yKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkgICAgdW5zaWduZWQgcmVzdWx0LAorCQkJICAgIGNvbnN0IGNoYXIgKmxpbmUsCisJCQkgICAgaW50IGxlbiwKKwkJCSAgICBpbnQgbGluZW5yKQoreworCWNoYXIgKmVycjsKKworCWlmICghcmVzdWx0KQorCQlyZXR1cm47CisKKwlzdGF0ZS0+d2hpdGVzcGFjZV9lcnJvcisrOworCWlmIChzdGF0ZS0+c3F1ZWxjaF93aGl0ZXNwYWNlX2Vycm9ycyAmJgorCSAgICBzdGF0ZS0+c3F1ZWxjaF93aGl0ZXNwYWNlX2Vycm9ycyA8IHN0YXRlLT53aGl0ZXNwYWNlX2Vycm9yKQorCQlyZXR1cm47CisKKwllcnIgPSB3aGl0ZXNwYWNlX2Vycm9yX3N0cmluZyhyZXN1bHQpOworCWlmIChzdGF0ZS0+YXBwbHlfdmVyYm9zaXR5ID4gdmVyYm9zaXR5X3NpbGVudCkKKwkJZnByaW50ZihzdGRlcnIsICIlczolZDogJXMuXG4lLipzXG4iLAorCQkJc3RhdGUtPnBhdGNoX2lucHV0X2ZpbGUsIGxpbmVuciwgZXJyLCBsZW4sIGxpbmUpOworCWZyZWUoZXJyKTsKK30KKworc3RhdGljIHZvaWQgY2hlY2tfd2hpdGVzcGFjZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICAgICBjb25zdCBjaGFyICpsaW5lLAorCQkJICAgICBpbnQgbGVuLAorCQkJICAgICB1bnNpZ25lZCB3c19ydWxlKQoreworCXVuc2lnbmVkIHJlc3VsdCA9IHdzX2NoZWNrKGxpbmUgKyAxLCBsZW4gLSAxLCB3c19ydWxlKTsKKworCXJlY29yZF93c19lcnJvcihzdGF0ZSwgcmVzdWx0LCBsaW5lICsgMSwgbGVuIC0gMiwgc3RhdGUtPmxpbmVucik7Cit9CisKKy8qCisgKiBQYXJzZSBhIHVuaWZpZWQgZGlmZi4gTm90ZSB0aGF0IHRoaXMgcmVhbGx5IG5lZWRzIHRvIHBhcnNlIGVhY2gKKyAqIGZyYWdtZW50IHNlcGFyYXRlbHksIHNpbmNlIHRoZSBvbmx5IHdheSB0byBrbm93IHRoZSBkaWZmZXJlbmNlCisgKiBiZXR3ZWVuIGEgIi0tLSIgdGhhdCBpcyBwYXJ0IG9mIGEgcGF0Y2gsIGFuZCBhICItLS0iIHRoYXQgc3RhcnRzCisgKiB0aGUgbmV4dCBwYXRjaCBpcyB0byBsb29rIGF0IHRoZSBsaW5lIGNvdW50cy4uCisgKi8KK3N0YXRpYyBpbnQgcGFyc2VfZnJhZ21lbnQoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCSAgY29uc3QgY2hhciAqbGluZSwKKwkJCSAgdW5zaWduZWQgbG9uZyBzaXplLAorCQkJICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoLAorCQkJICBzdHJ1Y3QgZnJhZ21lbnQgKmZyYWdtZW50KQoreworCWludCBhZGRlZCwgZGVsZXRlZDsKKwlpbnQgbGVuID0gbGluZWxlbihsaW5lLCBzaXplKSwgb2Zmc2V0OworCXVuc2lnbmVkIGxvbmcgb2xkbGluZXMsIG5ld2xpbmVzOworCXVuc2lnbmVkIGxvbmcgbGVhZGluZywgdHJhaWxpbmc7CisKKwlvZmZzZXQgPSBwYXJzZV9mcmFnbWVudF9oZWFkZXIobGluZSwgbGVuLCBmcmFnbWVudCk7CisJaWYgKG9mZnNldCA8IDApCisJCXJldHVybiAtMTsKKwlpZiAob2Zmc2V0ID4gMCAmJiBwYXRjaC0+cmVjb3VudCkKKwkJcmVjb3VudF9kaWZmKGxpbmUgKyBvZmZzZXQsIHNpemUgLSBvZmZzZXQsIGZyYWdtZW50KTsKKwlvbGRsaW5lcyA9IGZyYWdtZW50LT5vbGRsaW5lczsKKwluZXdsaW5lcyA9IGZyYWdtZW50LT5uZXdsaW5lczsKKwlsZWFkaW5nID0gMDsKKwl0cmFpbGluZyA9IDA7CisKKwkvKiBQYXJzZSB0aGUgdGhpbmcuLiAqLworCWxpbmUgKz0gbGVuOworCXNpemUgLT0gbGVuOworCXN0YXRlLT5saW5lbnIrKzsKKwlhZGRlZCA9IGRlbGV0ZWQgPSAwOworCWZvciAob2Zmc2V0ID0gbGVuOworCSAgICAgMCA8IHNpemU7CisJICAgICBvZmZzZXQgKz0gbGVuLCBzaXplIC09IGxlbiwgbGluZSArPSBsZW4sIHN0YXRlLT5saW5lbnIrKykgeworCQlpZiAoIW9sZGxpbmVzICYmICFuZXdsaW5lcykKKwkJCWJyZWFrOworCQlsZW4gPSBsaW5lbGVuKGxpbmUsIHNpemUpOworCQlpZiAoIWxlbiB8fCBsaW5lW2xlbi0xXSAhPSAnXG4nKQorCQkJcmV0dXJuIC0xOworCQlzd2l0Y2ggKCpsaW5lKSB7CisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gLTE7CisJCWNhc2UgJ1xuJzogLyogbmV3ZXIgR05VIGRpZmYsIGFuIGVtcHR5IGNvbnRleHQgbGluZSAqLworCQljYXNlICcgJzoKKwkJCW9sZGxpbmVzLS07CisJCQluZXdsaW5lcy0tOworCQkJaWYgKCFkZWxldGVkICYmICFhZGRlZCkKKwkJCQlsZWFkaW5nKys7CisJCQl0cmFpbGluZysrOworCQkJaWYgKCFzdGF0ZS0+YXBwbHlfaW5fcmV2ZXJzZSAmJgorCQkJICAgIHN0YXRlLT53c19lcnJvcl9hY3Rpb24gPT0gY29ycmVjdF93c19lcnJvcikKKwkJCQljaGVja193aGl0ZXNwYWNlKHN0YXRlLCBsaW5lLCBsZW4sIHBhdGNoLT53c19ydWxlKTsKKwkJCWJyZWFrOworCQljYXNlICctJzoKKwkJCWlmIChzdGF0ZS0+YXBwbHlfaW5fcmV2ZXJzZSAmJgorCQkJICAgIHN0YXRlLT53c19lcnJvcl9hY3Rpb24gIT0gbm93YXJuX3dzX2Vycm9yKQorCQkJCWNoZWNrX3doaXRlc3BhY2Uoc3RhdGUsIGxpbmUsIGxlbiwgcGF0Y2gtPndzX3J1bGUpOworCQkJZGVsZXRlZCsrOworCQkJb2xkbGluZXMtLTsKKwkJCXRyYWlsaW5nID0gMDsKKwkJCWJyZWFrOworCQljYXNlICcrJzoKKwkJCWlmICghc3RhdGUtPmFwcGx5X2luX3JldmVyc2UgJiYKKwkJCSAgICBzdGF0ZS0+d3NfZXJyb3JfYWN0aW9uICE9IG5vd2Fybl93c19lcnJvcikKKwkJCQljaGVja193aGl0ZXNwYWNlKHN0YXRlLCBsaW5lLCBsZW4sIHBhdGNoLT53c19ydWxlKTsKKwkJCWFkZGVkKys7CisJCQluZXdsaW5lcy0tOworCQkJdHJhaWxpbmcgPSAwOworCQkJYnJlYWs7CisKKwkJLyoKKwkJICogV2UgYWxsb3cgIlwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZSIuIERlcGVuZGluZworCQkgKiBvbiBsb2NhbGUgc2V0dGluZ3Mgd2hlbiB0aGUgcGF0Y2ggd2FzIHByb2R1Y2VkIHdlCisJCSAqIGRvbid0IGtub3cgd2hhdCB0aGlzIGxpbmUgbG9va3MgbGlrZS4gVGhlIG9ubHkKKwkJICogdGhpbmcgd2UgZG8ga25vdyBpcyB0aGF0IGl0IGJlZ2lucyB3aXRoICJcICIuCisJCSAqIENoZWNraW5nIGZvciAxMiBpcyBqdXN0IGZvciBzYW5pdHkgY2hlY2sgLS0gYW55CisJCSAqIGwxMG4gb2YgIlwgTm8gbmV3bGluZS4uLiIgaXMgYXQgbGVhc3QgdGhhdCBsb25nLgorCQkgKi8KKwkJY2FzZSAnXFwnOgorCQkJaWYgKGxlbiA8IDEyIHx8IG1lbWNtcChsaW5lLCAiXFwgIiwgMikpCisJCQkJcmV0dXJuIC0xOworCQkJYnJlYWs7CisJCX0KKwl9CisJaWYgKG9sZGxpbmVzIHx8IG5ld2xpbmVzKQorCQlyZXR1cm4gLTE7CisJaWYgKCFkZWxldGVkICYmICFhZGRlZCkKKwkJcmV0dXJuIC0xOworCisJZnJhZ21lbnQtPmxlYWRpbmcgPSBsZWFkaW5nOworCWZyYWdtZW50LT50cmFpbGluZyA9IHRyYWlsaW5nOworCisJLyoKKwkgKiBJZiBhIGZyYWdtZW50IGVuZHMgd2l0aCBhbiBpbmNvbXBsZXRlIGxpbmUsIHdlIGZhaWxlZCB0byBpbmNsdWRlCisJICogaXQgaW4gdGhlIGFib3ZlIGxvb3AgYmVjYXVzZSB3ZSBoaXQgb2xkbGluZXMgPT0gbmV3bGluZXMgPT0gMAorCSAqIGJlZm9yZSBzZWVpbmcgaXQuCisJICovCisJaWYgKDEyIDwgc2l6ZSAmJiAhbWVtY21wKGxpbmUsICJcXCAiLCAyKSkKKwkJb2Zmc2V0ICs9IGxpbmVsZW4obGluZSwgc2l6ZSk7CisKKwlwYXRjaC0+bGluZXNfYWRkZWQgKz0gYWRkZWQ7CisJcGF0Y2gtPmxpbmVzX2RlbGV0ZWQgKz0gZGVsZXRlZDsKKworCWlmICgwIDwgcGF0Y2gtPmlzX25ldyAmJiBvbGRsaW5lcykKKwkJcmV0dXJuIGVycm9yKF8oIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIikpOworCWlmICgwIDwgcGF0Y2gtPmlzX2RlbGV0ZSAmJiBuZXdsaW5lcykKKwkJcmV0dXJuIGVycm9yKF8oImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiKSk7CisJcmV0dXJuIG9mZnNldDsKK30KKworLyoKKyAqIFdlIGhhdmUgc2VlbiAiZGlmZiAtLWdpdCBhLy4uLiBiLy4uLiIgaGVhZGVyIChvciBhIHRyYWRpdGlvbmFsIHBhdGNoCisgKiBoZWFkZXIpLiAgUmVhZCBodW5rcyB0aGF0IGJlbG9uZyB0byB0aGlzIHBhdGNoIGludG8gZnJhZ21lbnRzIGFuZCBoYW5nCisgKiB0aGVtIHRvIHRoZSBnaXZlbiBwYXRjaCBzdHJ1Y3R1cmUuCisgKgorICogVGhlIChmcmFnbWVudC0+cGF0Y2gsIGZyYWdtZW50LT5zaXplKSBwYWlyIHBvaW50cyBpbnRvIHRoZSBtZW1vcnkgZ2l2ZW4KKyAqIGJ5IHRoZSBjYWxsZXIsIG5vdCBhIGNvcHksIHdoZW4gd2UgcmV0dXJuLgorICoKKyAqIFJldHVybnM6CisgKiAgIC0xIGluIGNhc2Ugb2YgZXJyb3IsCisgKiAgIHRoZSBudW1iZXIgb2YgYnl0ZXMgaW4gdGhlIHBhdGNoIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludCBwYXJzZV9zaW5nbGVfcGF0Y2goc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKmxpbmUsCisJCQkgICAgICB1bnNpZ25lZCBsb25nIHNpemUsCisJCQkgICAgICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCXVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gMDsKKwl1bnNpZ25lZCBsb25nIG9sZGxpbmVzID0gMCwgbmV3bGluZXMgPSAwLCBjb250ZXh0ID0gMDsKKwlzdHJ1Y3QgZnJhZ21lbnQgKipmcmFncCA9ICZwYXRjaC0+ZnJhZ21lbnRzOworCisJd2hpbGUgKHNpemUgPiA0ICYmICFtZW1jbXAobGluZSwgIkBAIC0iLCA0KSkgeworCQlzdHJ1Y3QgZnJhZ21lbnQgKmZyYWdtZW50OworCQlpbnQgbGVuOworCisJCWZyYWdtZW50ID0geGNhbGxvYygxLCBzaXplb2YoKmZyYWdtZW50KSk7CisJCWZyYWdtZW50LT5saW5lbnIgPSBzdGF0ZS0+bGluZW5yOworCQlsZW4gPSBwYXJzZV9mcmFnbWVudChzdGF0ZSwgbGluZSwgc2l6ZSwgcGF0Y2gsIGZyYWdtZW50KTsKKwkJaWYgKGxlbiA8PSAwKSB7CisJCQlmcmVlKGZyYWdtZW50KTsKKwkJCXJldHVybiBlcnJvcihfKCJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiKSwgc3RhdGUtPmxpbmVucik7CisJCX0KKwkJZnJhZ21lbnQtPnBhdGNoID0gbGluZTsKKwkJZnJhZ21lbnQtPnNpemUgPSBsZW47CisJCW9sZGxpbmVzICs9IGZyYWdtZW50LT5vbGRsaW5lczsKKwkJbmV3bGluZXMgKz0gZnJhZ21lbnQtPm5ld2xpbmVzOworCQljb250ZXh0ICs9IGZyYWdtZW50LT5sZWFkaW5nICsgZnJhZ21lbnQtPnRyYWlsaW5nOworCisJCSpmcmFncCA9IGZyYWdtZW50OworCQlmcmFncCA9ICZmcmFnbWVudC0+bmV4dDsKKworCQlvZmZzZXQgKz0gbGVuOworCQlsaW5lICs9IGxlbjsKKwkJc2l6ZSAtPSBsZW47CisJfQorCisJLyoKKwkgKiBJZiBzb21ldGhpbmcgd2FzIHJlbW92ZWQgKGkuZS4gd2UgaGF2ZSBvbGQtbGluZXMpIGl0IGNhbm5vdAorCSAqIGJlIGNyZWF0aW9uLCBhbmQgaWYgc29tZXRoaW5nIHdhcyBhZGRlZCBpdCBjYW5ub3QgYmUKKwkgKiBkZWxldGlvbi4gIEhvd2V2ZXIsIHRoZSByZXZlcnNlIGlzIG5vdCB0cnVlOyAtLXVuaWZpZWQ9MAorCSAqIHBhdGNoZXMgdGhhdCBvbmx5IGFkZCBhcmUgbm90IG5lY2Vzc2FyaWx5IGNyZWF0aW9uIGV2ZW4KKwkgKiB0aG91Z2ggdGhleSBkbyBub3QgaGF2ZSBhbnkgb2xkIGxpbmVzLCBhbmQgb25lcyB0aGF0IG9ubHkKKwkgKiBkZWxldGUgYXJlIG5vdCBuZWNlc3NhcmlseSBkZWxldGlvbi4KKwkgKgorCSAqIFVuZm9ydHVuYXRlbHksIGEgcmVhbCBjcmVhdGlvbi9kZWxldGlvbiBwYXRjaCBkbyBfbm90XyBoYXZlCisJICogYW55IGNvbnRleHQgbGluZSBieSBkZWZpbml0aW9uLCBzbyB3ZSBjYW5ub3Qgc2FmZWx5IHRlbGwgaXQKKwkgKiBhcGFydCB3aXRoIC0tdW5pZmllZD0wIGluc2FuaXR5LiAgQXQgbGVhc3QgaWYgdGhlIHBhdGNoIGhhcworCSAqIG1vcmUgdGhhbiBvbmUgaHVuayBpdCBpcyBub3QgY3JlYXRpb24gb3IgZGVsZXRpb24uCisJICovCisJaWYgKHBhdGNoLT5pc19uZXcgPCAwICYmCisJICAgIChvbGRsaW5lcyB8fCAocGF0Y2gtPmZyYWdtZW50cyAmJiBwYXRjaC0+ZnJhZ21lbnRzLT5uZXh0KSkpCisJCXBhdGNoLT5pc19uZXcgPSAwOworCWlmIChwYXRjaC0+aXNfZGVsZXRlIDwgMCAmJgorCSAgICAobmV3bGluZXMgfHwgKHBhdGNoLT5mcmFnbWVudHMgJiYgcGF0Y2gtPmZyYWdtZW50cy0+bmV4dCkpKQorCQlwYXRjaC0+aXNfZGVsZXRlID0gMDsKKworCWlmICgwIDwgcGF0Y2gtPmlzX25ldyAmJiBvbGRsaW5lcykKKwkJcmV0dXJuIGVycm9yKF8oIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIiksIHBhdGNoLT5uZXdfbmFtZSk7CisJaWYgKDAgPCBwYXRjaC0+aXNfZGVsZXRlICYmIG5ld2xpbmVzKQorCQlyZXR1cm4gZXJyb3IoXygiZGVsZXRlZCBmaWxlICVzIHN0aWxsIGhhcyBjb250ZW50cyIpLCBwYXRjaC0+b2xkX25hbWUpOworCWlmICghcGF0Y2gtPmlzX2RlbGV0ZSAmJiAhbmV3bGluZXMgJiYgY29udGV4dCAmJiBzdGF0ZS0+YXBwbHlfdmVyYm9zaXR5ID4gdmVyYm9zaXR5X3NpbGVudCkKKwkJZnByaW50Zl9sbihzdGRlcnIsCisJCQkgICBfKCIqKiB3YXJuaW5nOiAiCisJCQkgICAgICJmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIiksCisJCQkgICBwYXRjaC0+bmV3X25hbWUpOworCisJcmV0dXJuIG9mZnNldDsKK30KKworc3RhdGljIGlubGluZSBpbnQgbWV0YWRhdGFfY2hhbmdlcyhzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCXJldHVybglwYXRjaC0+aXNfcmVuYW1lID4gMCB8fAorCQlwYXRjaC0+aXNfY29weSA+IDAgfHwKKwkJcGF0Y2gtPmlzX25ldyA+IDAgfHwKKwkJcGF0Y2gtPmlzX2RlbGV0ZSB8fAorCQkocGF0Y2gtPm9sZF9tb2RlICYmIHBhdGNoLT5uZXdfbW9kZSAmJgorCQkgcGF0Y2gtPm9sZF9tb2RlICE9IHBhdGNoLT5uZXdfbW9kZSk7Cit9CisKK3N0YXRpYyBjaGFyICppbmZsYXRlX2l0KGNvbnN0IHZvaWQgKmRhdGEsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKKwkJCXVuc2lnbmVkIGxvbmcgaW5mbGF0ZWRfc2l6ZSkKK3sKKwlnaXRfenN0cmVhbSBzdHJlYW07CisJdm9pZCAqb3V0OworCWludCBzdDsKKworCW1lbXNldCgmc3RyZWFtLCAwLCBzaXplb2Yoc3RyZWFtKSk7CisKKwlzdHJlYW0ubmV4dF9pbiA9ICh1bnNpZ25lZCBjaGFyICopZGF0YTsKKwlzdHJlYW0uYXZhaWxfaW4gPSBzaXplOworCXN0cmVhbS5uZXh0X291dCA9IG91dCA9IHhtYWxsb2MoaW5mbGF0ZWRfc2l6ZSk7CisJc3RyZWFtLmF2YWlsX291dCA9IGluZmxhdGVkX3NpemU7CisJZ2l0X2luZmxhdGVfaW5pdCgmc3RyZWFtKTsKKwlzdCA9IGdpdF9pbmZsYXRlKCZzdHJlYW0sIFpfRklOSVNIKTsKKwlnaXRfaW5mbGF0ZV9lbmQoJnN0cmVhbSk7CisJaWYgKChzdCAhPSBaX1NUUkVBTV9FTkQpIHx8IHN0cmVhbS50b3RhbF9vdXQgIT0gaW5mbGF0ZWRfc2l6ZSkgeworCQlmcmVlKG91dCk7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gb3V0OworfQorCisvKgorICogUmVhZCBhIGJpbmFyeSBodW5rIGFuZCByZXR1cm4gYSBuZXcgZnJhZ21lbnQ7IGZyYWdtZW50LT5wYXRjaAorICogcG9pbnRzIGF0IGFuIGFsbG9jYXRlZCBtZW1vcnkgdGhhdCB0aGUgY2FsbGVyIG11c3QgZnJlZSwgc28KKyAqIGl0IGlzIG1hcmtlZCBhcyAiLT5mcmVlX3BhdGNoID0gMSIuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgZnJhZ21lbnQgKnBhcnNlX2JpbmFyeV9odW5rKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkJCSAgY2hhciAqKmJ1Zl9wLAorCQkJCQkgIHVuc2lnbmVkIGxvbmcgKnN6X3AsCisJCQkJCSAgaW50ICpzdGF0dXNfcCwKKwkJCQkJICBpbnQgKnVzZWRfcCkKK3sKKwkvKgorCSAqIEV4cGVjdCBhIGxpbmUgdGhhdCBiZWdpbnMgd2l0aCBiaW5hcnkgcGF0Y2ggbWV0aG9kICgibGl0ZXJhbCIKKwkgKiBvciAiZGVsdGEiKSwgZm9sbG93ZWQgYnkgdGhlIGxlbmd0aCBvZiBkYXRhIGJlZm9yZSBkZWZsYXRpbmcuCisJICogYSBzZXF1ZW5jZSBvZiAnbGVuZ3RoLWJ5dGUnIGZvbGxvd2VkIGJ5IGJhc2UtODUgZW5jb2RlZCBkYXRhCisJICogc2hvdWxkIGZvbGxvdywgdGVybWluYXRlZCBieSBhIG5ld2xpbmUuCisJICoKKwkgKiBFYWNoIDUtYnl0ZSBzZXF1ZW5jZSBvZiBiYXNlLTg1IGVuY29kZXMgdXAgdG8gNCBieXRlcywKKwkgKiBhbmQgd2Ugd291bGQgbGltaXQgdGhlIHBhdGNoIGxpbmUgdG8gNjYgY2hhcmFjdGVycywKKwkgKiBzbyBvbmUgbGluZSBjYW4gZml0IHVwIHRvIDEzIGdyb3VwcyB0aGF0IHdvdWxkIGRlY29kZQorCSAqIHRvIDUyIGJ5dGVzIG1heC4gIFRoZSBsZW5ndGggYnl0ZSAnQSctJ1onIGNvcnJlc3BvbmRzCisJICogdG8gMS0yNiBieXRlcywgYW5kICdhJy0neicgY29ycmVzcG9uZHMgdG8gMjctNTIgYnl0ZXMuCisJICovCisJaW50IGxsZW4sIHVzZWQ7CisJdW5zaWduZWQgbG9uZyBzaXplID0gKnN6X3A7CisJY2hhciAqYnVmZmVyID0gKmJ1Zl9wOworCWludCBwYXRjaF9tZXRob2Q7CisJdW5zaWduZWQgbG9uZyBvcmlnbGVuOworCWNoYXIgKmRhdGEgPSBOVUxMOworCWludCBodW5rX3NpemUgPSAwOworCXN0cnVjdCBmcmFnbWVudCAqZnJhZzsKKworCWxsZW4gPSBsaW5lbGVuKGJ1ZmZlciwgc2l6ZSk7CisJdXNlZCA9IGxsZW47CisKKwkqc3RhdHVzX3AgPSAwOworCisJaWYgKHN0YXJ0c193aXRoKGJ1ZmZlciwgImRlbHRhICIpKSB7CisJCXBhdGNoX21ldGhvZCA9IEJJTkFSWV9ERUxUQV9ERUZMQVRFRDsKKwkJb3JpZ2xlbiA9IHN0cnRvdWwoYnVmZmVyICsgNiwgTlVMTCwgMTApOworCX0KKwllbHNlIGlmIChzdGFydHNfd2l0aChidWZmZXIsICJsaXRlcmFsICIpKSB7CisJCXBhdGNoX21ldGhvZCA9IEJJTkFSWV9MSVRFUkFMX0RFRkxBVEVEOworCQlvcmlnbGVuID0gc3RydG91bChidWZmZXIgKyA4LCBOVUxMLCAxMCk7CisJfQorCWVsc2UKKwkJcmV0dXJuIE5VTEw7CisKKwlzdGF0ZS0+bGluZW5yKys7CisJYnVmZmVyICs9IGxsZW47CisJd2hpbGUgKDEpIHsKKwkJaW50IGJ5dGVfbGVuZ3RoLCBtYXhfYnl0ZV9sZW5ndGgsIG5ld3NpemU7CisJCWxsZW4gPSBsaW5lbGVuKGJ1ZmZlciwgc2l6ZSk7CisJCXVzZWQgKz0gbGxlbjsKKwkJc3RhdGUtPmxpbmVucisrOworCQlpZiAobGxlbiA9PSAxKSB7CisJCQkvKiBjb25zdW1lIHRoZSBibGFuayBsaW5lICovCisJCQlidWZmZXIrKzsKKwkJCXNpemUtLTsKKwkJCWJyZWFrOworCQl9CisJCS8qCisJCSAqIE1pbmltdW0gbGluZSBpcyAiQTAwMDAwXG4iIHdoaWNoIGlzIDctYnl0ZSBsb25nLAorCQkgKiBhbmQgdGhlIGxpbmUgbGVuZ3RoIG11c3QgYmUgbXVsdGlwbGUgb2YgNSBwbHVzIDIuCisJCSAqLworCQlpZiAoKGxsZW4gPCA3KSB8fCAobGxlbi0yKSAlIDUpCisJCQlnb3RvIGNvcnJ1cHQ7CisJCW1heF9ieXRlX2xlbmd0aCA9IChsbGVuIC0gMikgLyA1ICogNDsKKwkJYnl0ZV9sZW5ndGggPSAqYnVmZmVyOworCQlpZiAoJ0EnIDw9IGJ5dGVfbGVuZ3RoICYmIGJ5dGVfbGVuZ3RoIDw9ICdaJykKKwkJCWJ5dGVfbGVuZ3RoID0gYnl0ZV9sZW5ndGggLSAnQScgKyAxOworCQllbHNlIGlmICgnYScgPD0gYnl0ZV9sZW5ndGggJiYgYnl0ZV9sZW5ndGggPD0gJ3onKQorCQkJYnl0ZV9sZW5ndGggPSBieXRlX2xlbmd0aCAtICdhJyArIDI3OworCQllbHNlCisJCQlnb3RvIGNvcnJ1cHQ7CisJCS8qIGlmIHRoZSBpbnB1dCBsZW5ndGggd2FzIG5vdCBtdWx0aXBsZSBvZiA0LCB3ZSB3b3VsZAorCQkgKiBoYXZlIGZpbGxlciBhdCB0aGUgZW5kIGJ1dCB0aGUgZmlsbGVyIHNob3VsZCBuZXZlcgorCQkgKiBleGNlZWQgMyBieXRlcworCQkgKi8KKwkJaWYgKG1heF9ieXRlX2xlbmd0aCA8IGJ5dGVfbGVuZ3RoIHx8CisJCSAgICBieXRlX2xlbmd0aCA8PSBtYXhfYnl0ZV9sZW5ndGggLSA0KQorCQkJZ290byBjb3JydXB0OworCQluZXdzaXplID0gaHVua19zaXplICsgYnl0ZV9sZW5ndGg7CisJCWRhdGEgPSB4cmVhbGxvYyhkYXRhLCBuZXdzaXplKTsKKwkJaWYgKGRlY29kZV84NShkYXRhICsgaHVua19zaXplLCBidWZmZXIgKyAxLCBieXRlX2xlbmd0aCkpCisJCQlnb3RvIGNvcnJ1cHQ7CisJCWh1bmtfc2l6ZSA9IG5ld3NpemU7CisJCWJ1ZmZlciArPSBsbGVuOworCQlzaXplIC09IGxsZW47CisJfQorCisJZnJhZyA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpmcmFnKSk7CisJZnJhZy0+cGF0Y2ggPSBpbmZsYXRlX2l0KGRhdGEsIGh1bmtfc2l6ZSwgb3JpZ2xlbik7CisJZnJhZy0+ZnJlZV9wYXRjaCA9IDE7CisJaWYgKCFmcmFnLT5wYXRjaCkKKwkJZ290byBjb3JydXB0OworCWZyZWUoZGF0YSk7CisJZnJhZy0+c2l6ZSA9IG9yaWdsZW47CisJKmJ1Zl9wID0gYnVmZmVyOworCSpzel9wID0gc2l6ZTsKKwkqdXNlZF9wID0gdXNlZDsKKwlmcmFnLT5iaW5hcnlfcGF0Y2hfbWV0aG9kID0gcGF0Y2hfbWV0aG9kOworCXJldHVybiBmcmFnOworCisgY29ycnVwdDoKKwlmcmVlKGRhdGEpOworCSpzdGF0dXNfcCA9IC0xOworCWVycm9yKF8oImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiKSwKKwkgICAgICBzdGF0ZS0+bGluZW5yLTEsIGxsZW4tMSwgYnVmZmVyKTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoKKyAqIFJldHVybnM6CisgKiAgIC0xIGluIGNhc2Ugb2YgZXJyb3IsCisgKiAgIHRoZSBsZW5ndGggb2YgdGhlIHBhcnNlZCBiaW5hcnkgcGF0Y2ggb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQgcGFyc2VfYmluYXJ5KHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQljaGFyICpidWZmZXIsCisJCQl1bnNpZ25lZCBsb25nIHNpemUsCisJCQlzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCS8qCisJICogV2UgaGF2ZSByZWFkICJHSVQgYmluYXJ5IHBhdGNoXG4iOyB3aGF0IGZvbGxvd3MgaXMgYSBsaW5lCisJICogdGhhdCBzYXlzIHRoZSBwYXRjaCBtZXRob2QgKGN1cnJlbnRseSwgZWl0aGVyICJsaXRlcmFsIiBvcgorCSAqICJkZWx0YSIpIGFuZCB0aGUgbGVuZ3RoIG9mIGRhdGEgYmVmb3JlIGRlZmxhdGluZzsgYQorCSAqIHNlcXVlbmNlIG9mICdsZW5ndGgtYnl0ZScgZm9sbG93ZWQgYnkgYmFzZS04NSBlbmNvZGVkIGRhdGEKKwkgKiBmb2xsb3dzLgorCSAqCisJICogV2hlbiBhIGJpbmFyeSBwYXRjaCBpcyByZXZlcnNpYmxlLCB0aGVyZSBpcyBhbm90aGVyIGJpbmFyeQorCSAqIGh1bmsgaW4gdGhlIHNhbWUgZm9ybWF0LCBzdGFydGluZyB3aXRoIHBhdGNoIG1ldGhvZCAoZWl0aGVyCisJICogImxpdGVyYWwiIG9yICJkZWx0YSIpIHdpdGggdGhlIGxlbmd0aCBvZiBkYXRhLCBhbmQgYSBzZXF1ZW5jZQorCSAqIG9mIGxlbmd0aC1ieXRlICsgYmFzZS04NSBlbmNvZGVkIGRhdGEsIHRlcm1pbmF0ZWQgd2l0aCBhbm90aGVyCisJICogZW1wdHkgbGluZS4gIFRoaXMgZGF0YSwgd2hlbiBhcHBsaWVkIHRvIHRoZSBwb3N0aW1hZ2UsIHByb2R1Y2VzCisJICogdGhlIHByZWltYWdlLgorCSAqLworCXN0cnVjdCBmcmFnbWVudCAqZm9yd2FyZDsKKwlzdHJ1Y3QgZnJhZ21lbnQgKnJldmVyc2U7CisJaW50IHN0YXR1czsKKwlpbnQgdXNlZCwgdXNlZF8xOworCisJZm9yd2FyZCA9IHBhcnNlX2JpbmFyeV9odW5rKHN0YXRlLCAmYnVmZmVyLCAmc2l6ZSwgJnN0YXR1cywgJnVzZWQpOworCWlmICghZm9yd2FyZCAmJiAhc3RhdHVzKQorCQkvKiB0aGVyZSBoYXMgdG8gYmUgb25lIGh1bmsgKGZvcndhcmQgaHVuaykgKi8KKwkJcmV0dXJuIGVycm9yKF8oInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIpLCBzdGF0ZS0+bGluZW5yLTEpOworCWlmIChzdGF0dXMpCisJCS8qIG90aGVyd2lzZSB3ZSBhbHJlYWR5IGdhdmUgYW4gZXJyb3IgbWVzc2FnZSAqLworCQlyZXR1cm4gc3RhdHVzOworCisJcmV2ZXJzZSA9IHBhcnNlX2JpbmFyeV9odW5rKHN0YXRlLCAmYnVmZmVyLCAmc2l6ZSwgJnN0YXR1cywgJnVzZWRfMSk7CisJaWYgKHJldmVyc2UpCisJCXVzZWQgKz0gdXNlZF8xOworCWVsc2UgaWYgKHN0YXR1cykgeworCQkvKgorCQkgKiBOb3QgaGF2aW5nIHJldmVyc2UgaHVuayBpcyBub3QgYW4gZXJyb3IsIGJ1dCBoYXZpbmcKKwkJICogYSBjb3JydXB0IHJldmVyc2UgaHVuayBpcy4KKwkJICovCisJCWZyZWUoKHZvaWQqKSBmb3J3YXJkLT5wYXRjaCk7CisJCWZyZWUoZm9yd2FyZCk7CisJCXJldHVybiBzdGF0dXM7CisJfQorCWZvcndhcmQtPm5leHQgPSByZXZlcnNlOworCXBhdGNoLT5mcmFnbWVudHMgPSBmb3J3YXJkOworCXBhdGNoLT5pc19iaW5hcnkgPSAxOworCXJldHVybiB1c2VkOworfQorCitzdGF0aWMgdm9pZCBwcmVmaXhfb25lKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsIGNoYXIgKipuYW1lKQoreworCWNoYXIgKm9sZF9uYW1lID0gKm5hbWU7CisJaWYgKCFvbGRfbmFtZSkKKwkJcmV0dXJuOworCSpuYW1lID0geHN0cmR1cChwcmVmaXhfZmlsZW5hbWUoc3RhdGUtPnByZWZpeCwgc3RhdGUtPnByZWZpeF9sZW5ndGgsICpuYW1lKSk7CisJZnJlZShvbGRfbmFtZSk7Cit9CisKK3N0YXRpYyB2b2lkIHByZWZpeF9wYXRjaChzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKnApCit7CisJaWYgKCFzdGF0ZS0+cHJlZml4IHx8IHAtPmlzX3RvcGxldmVsX3JlbGF0aXZlKQorCQlyZXR1cm47CisJcHJlZml4X29uZShzdGF0ZSwgJnAtPm5ld19uYW1lKTsKKwlwcmVmaXhfb25lKHN0YXRlLCAmcC0+b2xkX25hbWUpOworfQorCisvKgorICogaW5jbHVkZS9leGNsdWRlCisgKi8KKworc3RhdGljIHZvaWQgYWRkX25hbWVfbGltaXQoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCSAgIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkgICBpbnQgZXhjbHVkZSkKK3sKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXQ7CisKKwlpdCA9IHN0cmluZ19saXN0X2FwcGVuZCgmc3RhdGUtPmxpbWl0X2J5X25hbWUsIG5hbWUpOworCWl0LT51dGlsID0gZXhjbHVkZSA/IE5VTEwgOiAodm9pZCAqKSAxOworfQorCitzdGF0aWMgaW50IHVzZV9wYXRjaChzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKnApCit7CisJY29uc3QgY2hhciAqcGF0aG5hbWUgPSBwLT5uZXdfbmFtZSA/IHAtPm5ld19uYW1lIDogcC0+b2xkX25hbWU7CisJaW50IGk7CisKKwkvKiBQYXRocyBvdXRzaWRlIGFyZSBub3QgdG91Y2hlZCByZWdhcmRsZXNzIG9mICItLWluY2x1ZGUiICovCisJaWYgKDAgPCBzdGF0ZS0+cHJlZml4X2xlbmd0aCkgeworCQlpbnQgcGF0aGxlbiA9IHN0cmxlbihwYXRobmFtZSk7CisJCWlmIChwYXRobGVuIDw9IHN0YXRlLT5wcmVmaXhfbGVuZ3RoIHx8CisJCSAgICBtZW1jbXAoc3RhdGUtPnByZWZpeCwgcGF0aG5hbWUsIHN0YXRlLT5wcmVmaXhfbGVuZ3RoKSkKKwkJCXJldHVybiAwOworCX0KKworCS8qIFNlZSBpZiBpdCBtYXRjaGVzIGFueSBvZiBleGNsdWRlL2luY2x1ZGUgcnVsZSAqLworCWZvciAoaSA9IDA7IGkgPCBzdGF0ZS0+bGltaXRfYnlfbmFtZS5ucjsgaSsrKSB7CisJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdCA9ICZzdGF0ZS0+bGltaXRfYnlfbmFtZS5pdGVtc1tpXTsKKwkJaWYgKCF3aWxkbWF0Y2goaXQtPnN0cmluZywgcGF0aG5hbWUsIDAsIE5VTEwpKQorCQkJcmV0dXJuIChpdC0+dXRpbCAhPSBOVUxMKTsKKwl9CisKKwkvKgorCSAqIElmIHdlIGhhZCBhbnkgaW5jbHVkZSwgYSBwYXRoIHRoYXQgZG9lcyBub3QgbWF0Y2ggYW55IHJ1bGUgaXMKKwkgKiBub3QgdXNlZC4gIE90aGVyd2lzZSwgd2Ugc2F3IGJ1bmNoIG9mIGV4Y2x1ZGUgcnVsZXMgKG9yIG5vbmUpCisJICogYW5kIHN1Y2ggYSBwYXRoIGlzIHVzZWQuCisJICovCisJcmV0dXJuICFzdGF0ZS0+aGFzX2luY2x1ZGU7Cit9CisKKy8qCisgKiBSZWFkIHRoZSBwYXRjaCB0ZXh0IGluICJidWZmZXIiIHRoYXQgZXh0ZW5kcyBmb3IgInNpemUiIGJ5dGVzOyBzdG9wCisgKiByZWFkaW5nIGFmdGVyIHNlZWluZyBhIHNpbmdsZSBwYXRjaCAoaS5lLiBjaGFuZ2VzIHRvIGEgc2luZ2xlIGZpbGUpLgorICogQ3JlYXRlIGZyYWdtZW50cyAoaS5lLiBwYXRjaCBodW5rcykgYW5kIGhhbmcgdGhlbSB0byB0aGUgZ2l2ZW4gcGF0Y2guCisgKgorICogUmV0dXJuczoKKyAqICAgLTEgaWYgbm8gaGVhZGVyIHdhcyBmb3VuZCBvciBwYXJzZV9iaW5hcnkoKSBmYWlsZWQsCisgKiAgIC0xMjggb24gYW5vdGhlciBlcnJvciwKKyAqICAgdGhlIG51bWJlciBvZiBieXRlcyBjb25zdW1lZCBvdGhlcndpc2UsCisgKiAgICAgc28gdGhhdCB0aGUgY2FsbGVyIGNhbiBjYWxsIHVzIGFnYWluIGZvciB0aGUgbmV4dCBwYXRjaC4KKyAqLworc3RhdGljIGludCBwYXJzZV9jaHVuayhzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBjaGFyICpidWZmZXIsIHVuc2lnbmVkIGxvbmcgc2l6ZSwgc3RydWN0IHBhdGNoICpwYXRjaCkKK3sKKwlpbnQgaGRyc2l6ZSwgcGF0Y2hzaXplOworCWludCBvZmZzZXQgPSBmaW5kX2hlYWRlcihzdGF0ZSwgYnVmZmVyLCBzaXplLCAmaGRyc2l6ZSwgcGF0Y2gpOworCisJaWYgKG9mZnNldCA8IDApCisJCXJldHVybiBvZmZzZXQ7CisKKwlwcmVmaXhfcGF0Y2goc3RhdGUsIHBhdGNoKTsKKworCWlmICghdXNlX3BhdGNoKHN0YXRlLCBwYXRjaCkpCisJCXBhdGNoLT53c19ydWxlID0gMDsKKwllbHNlCisJCXBhdGNoLT53c19ydWxlID0gd2hpdGVzcGFjZV9ydWxlKHBhdGNoLT5uZXdfbmFtZQorCQkJCQkJID8gcGF0Y2gtPm5ld19uYW1lCisJCQkJCQkgOiBwYXRjaC0+b2xkX25hbWUpOworCisJcGF0Y2hzaXplID0gcGFyc2Vfc2luZ2xlX3BhdGNoKHN0YXRlLAorCQkJCSAgICAgICBidWZmZXIgKyBvZmZzZXQgKyBoZHJzaXplLAorCQkJCSAgICAgICBzaXplIC0gb2Zmc2V0IC0gaGRyc2l6ZSwKKwkJCQkgICAgICAgcGF0Y2gpOworCisJaWYgKHBhdGNoc2l6ZSA8IDApCisJCXJldHVybiAtMTI4OworCisJaWYgKCFwYXRjaHNpemUpIHsKKwkJc3RhdGljIGNvbnN0IGNoYXIgZ2l0X2JpbmFyeVtdID0gIkdJVCBiaW5hcnkgcGF0Y2hcbiI7CisJCWludCBoZCA9IGhkcnNpemUgKyBvZmZzZXQ7CisJCXVuc2lnbmVkIGxvbmcgbGxlbiA9IGxpbmVsZW4oYnVmZmVyICsgaGQsIHNpemUgLSBoZCk7CisKKwkJaWYgKGxsZW4gPT0gc2l6ZW9mKGdpdF9iaW5hcnkpIC0gMSAmJgorCQkgICAgIW1lbWNtcChnaXRfYmluYXJ5LCBidWZmZXIgKyBoZCwgbGxlbikpIHsKKwkJCWludCB1c2VkOworCQkJc3RhdGUtPmxpbmVucisrOworCQkJdXNlZCA9IHBhcnNlX2JpbmFyeShzdGF0ZSwgYnVmZmVyICsgaGQgKyBsbGVuLAorCQkJCQkgICAgc2l6ZSAtIGhkIC0gbGxlbiwgcGF0Y2gpOworCQkJaWYgKHVzZWQgPCAwKQorCQkJCXJldHVybiAtMTsKKwkJCWlmICh1c2VkKQorCQkJCXBhdGNoc2l6ZSA9IHVzZWQgKyBsbGVuOworCQkJZWxzZQorCQkJCXBhdGNoc2l6ZSA9IDA7CisJCX0KKwkJZWxzZSBpZiAoIW1lbWNtcCgiIGRpZmZlclxuIiwgYnVmZmVyICsgaGQgKyBsbGVuIC0gOCwgOCkpIHsKKwkJCXN0YXRpYyBjb25zdCBjaGFyICpiaW5oZHJbXSA9IHsKKwkJCQkiQmluYXJ5IGZpbGVzICIsCisJCQkJIkZpbGVzICIsCisJCQkJTlVMTCwKKwkJCX07CisJCQlpbnQgaTsKKwkJCWZvciAoaSA9IDA7IGJpbmhkcltpXTsgaSsrKSB7CisJCQkJaW50IGxlbiA9IHN0cmxlbihiaW5oZHJbaV0pOworCQkJCWlmIChsZW4gPCBzaXplIC0gaGQgJiYKKwkJCQkgICAgIW1lbWNtcChiaW5oZHJbaV0sIGJ1ZmZlciArIGhkLCBsZW4pKSB7CisJCQkJCXN0YXRlLT5saW5lbnIrKzsKKwkJCQkJcGF0Y2gtPmlzX2JpbmFyeSA9IDE7CisJCQkJCXBhdGNoc2l6ZSA9IGxsZW47CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKwkJfQorCisJCS8qIEVtcHR5IHBhdGNoIGNhbm5vdCBiZSBhcHBsaWVkIGlmIGl0IGlzIGEgdGV4dCBwYXRjaAorCQkgKiB3aXRob3V0IG1ldGFkYXRhIGNoYW5nZS4gIEEgYmluYXJ5IHBhdGNoIGFwcGVhcnMKKwkJICogZW1wdHkgdG8gdXMgaGVyZS4KKwkJICovCisJCWlmICgoc3RhdGUtPmFwcGx5IHx8IHN0YXRlLT5jaGVjaykgJiYKKwkJICAgICghcGF0Y2gtPmlzX2JpbmFyeSAmJiAhbWV0YWRhdGFfY2hhbmdlcyhwYXRjaCkpKSB7CisJCQllcnJvcihfKCJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIiksIHN0YXRlLT5saW5lbnIpOworCQkJcmV0dXJuIC0xMjg7CisJCX0KKwl9CisKKwlyZXR1cm4gb2Zmc2V0ICsgaGRyc2l6ZSArIHBhdGNoc2l6ZTsKK30KKworI2RlZmluZSBzd2FwKGEsYikgbXlzd2FwKChhKSwoYiksc2l6ZW9mKGEpKQorCisjZGVmaW5lIG15c3dhcChhLCBiLCBzaXplKSBkbyB7CQlcCisJdW5zaWduZWQgY2hhciBteXRtcFtzaXplXTsJXAorCW1lbWNweShteXRtcCwgJmEsIHNpemUpOwkJXAorCW1lbWNweSgmYSwgJmIsIHNpemUpOwkJXAorCW1lbWNweSgmYiwgbXl0bXAsIHNpemUpOwkJXAorfSB3aGlsZSAoMCkKKworc3RhdGljIHZvaWQgcmV2ZXJzZV9wYXRjaGVzKHN0cnVjdCBwYXRjaCAqcCkKK3sKKwlmb3IgKDsgcDsgcCA9IHAtPm5leHQpIHsKKwkJc3RydWN0IGZyYWdtZW50ICpmcmFnID0gcC0+ZnJhZ21lbnRzOworCisJCXN3YXAocC0+bmV3X25hbWUsIHAtPm9sZF9uYW1lKTsKKwkJc3dhcChwLT5uZXdfbW9kZSwgcC0+b2xkX21vZGUpOworCQlzd2FwKHAtPmlzX25ldywgcC0+aXNfZGVsZXRlKTsKKwkJc3dhcChwLT5saW5lc19hZGRlZCwgcC0+bGluZXNfZGVsZXRlZCk7CisJCXN3YXAocC0+b2xkX3NoYTFfcHJlZml4LCBwLT5uZXdfc2hhMV9wcmVmaXgpOworCisJCWZvciAoOyBmcmFnOyBmcmFnID0gZnJhZy0+bmV4dCkgeworCQkJc3dhcChmcmFnLT5uZXdwb3MsIGZyYWctPm9sZHBvcyk7CisJCQlzd2FwKGZyYWctPm5ld2xpbmVzLCBmcmFnLT5vbGRsaW5lcyk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyIHBsdXNlc1tdID0KKyIrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrIjsKK3N0YXRpYyBjb25zdCBjaGFyIG1pbnVzZXNbXT0KKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIjsKKworc3RhdGljIHZvaWQgc2hvd19zdGF0cyhzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCXN0cnVjdCBzdHJidWYgcW5hbWUgPSBTVFJCVUZfSU5JVDsKKwljaGFyICpjcCA9IHBhdGNoLT5uZXdfbmFtZSA/IHBhdGNoLT5uZXdfbmFtZSA6IHBhdGNoLT5vbGRfbmFtZTsKKwlpbnQgbWF4LCBhZGQsIGRlbDsKKworCXF1b3RlX2Nfc3R5bGUoY3AsICZxbmFtZSwgTlVMTCwgMCk7CisKKwkvKgorCSAqICJzY2FsZSIgdGhlIGZpbGVuYW1lCisJICovCisJbWF4ID0gc3RhdGUtPm1heF9sZW47CisJaWYgKG1heCA+IDUwKQorCQltYXggPSA1MDsKKworCWlmIChxbmFtZS5sZW4gPiBtYXgpIHsKKwkJY3AgPSBzdHJjaHIocW5hbWUuYnVmICsgcW5hbWUubGVuICsgMyAtIG1heCwgJy8nKTsKKwkJaWYgKCFjcCkKKwkJCWNwID0gcW5hbWUuYnVmICsgcW5hbWUubGVuICsgMyAtIG1heDsKKwkJc3RyYnVmX3NwbGljZSgmcW5hbWUsIDAsIGNwIC0gcW5hbWUuYnVmLCAiLi4uIiwgMyk7CisJfQorCisJaWYgKHBhdGNoLT5pc19iaW5hcnkpIHsKKwkJcHJpbnRmKCIgJS0qcyB8ICBCaW5cbiIsIG1heCwgcW5hbWUuYnVmKTsKKwkJc3RyYnVmX3JlbGVhc2UoJnFuYW1lKTsKKwkJcmV0dXJuOworCX0KKworCXByaW50ZigiICUtKnMgfCIsIG1heCwgcW5hbWUuYnVmKTsKKwlzdHJidWZfcmVsZWFzZSgmcW5hbWUpOworCisJLyoKKwkgKiBzY2FsZSB0aGUgYWRkL2RlbGV0ZQorCSAqLworCW1heCA9IG1heCArIHN0YXRlLT5tYXhfY2hhbmdlID4gNzAgPyA3MCAtIG1heCA6IHN0YXRlLT5tYXhfY2hhbmdlOworCWFkZCA9IHBhdGNoLT5saW5lc19hZGRlZDsKKwlkZWwgPSBwYXRjaC0+bGluZXNfZGVsZXRlZDsKKworCWlmIChzdGF0ZS0+bWF4X2NoYW5nZSA+IDApIHsKKwkJaW50IHRvdGFsID0gKChhZGQgKyBkZWwpICogbWF4ICsgc3RhdGUtPm1heF9jaGFuZ2UgLyAyKSAvIHN0YXRlLT5tYXhfY2hhbmdlOworCQlhZGQgPSAoYWRkICogbWF4ICsgc3RhdGUtPm1heF9jaGFuZ2UgLyAyKSAvIHN0YXRlLT5tYXhfY2hhbmdlOworCQlkZWwgPSB0b3RhbCAtIGFkZDsKKwl9CisJcHJpbnRmKCIlNWQgJS4qcyUuKnNcbiIsIHBhdGNoLT5saW5lc19hZGRlZCArIHBhdGNoLT5saW5lc19kZWxldGVkLAorCQlhZGQsIHBsdXNlcywgZGVsLCBtaW51c2VzKTsKK30KKworc3RhdGljIGludCByZWFkX29sZF9kYXRhKHN0cnVjdCBzdGF0ICpzdCwgY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0cmJ1ZiAqYnVmKQoreworCXN3aXRjaCAoc3QtPnN0X21vZGUgJiBTX0lGTVQpIHsKKwljYXNlIFNfSUZMTks6CisJCWlmIChzdHJidWZfcmVhZGxpbmsoYnVmLCBwYXRoLCBzdC0+c3Rfc2l6ZSkgPCAwKQorCQkJcmV0dXJuIGVycm9yKF8oInVuYWJsZSB0byByZWFkIHN5bWxpbmsgJXMiKSwgcGF0aCk7CisJCXJldHVybiAwOworCWNhc2UgU19JRlJFRzoKKwkJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoYnVmLCBwYXRoLCBzdC0+c3Rfc2l6ZSkgIT0gc3QtPnN0X3NpemUpCisJCQlyZXR1cm4gZXJyb3IoXygidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIpLCBwYXRoKTsKKwkJY29udmVydF90b19naXQocGF0aCwgYnVmLT5idWYsIGJ1Zi0+bGVuLCBidWYsIDApOworCQlyZXR1cm4gMDsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLTE7CisJfQorfQorCisvKgorICogVXBkYXRlIHRoZSBwcmVpbWFnZSwgYW5kIHRoZSBjb21tb24gbGluZXMgaW4gcG9zdGltYWdlLAorICogZnJvbSBidWZmZXIgYnVmIG9mIGxlbmd0aCBsZW4uIElmIHBvc3RsZW4gaXMgMCB0aGUgcG9zdGltYWdlCisgKiBpcyB1cGRhdGVkIGluIHBsYWNlLCBvdGhlcndpc2UgaXQncyB1cGRhdGVkIG9uIGEgbmV3IGJ1ZmZlcgorICogb2YgbGVuZ3RoIHBvc3RsZW4KKyAqLworCitzdGF0aWMgdm9pZCB1cGRhdGVfcHJlX3Bvc3RfaW1hZ2VzKHN0cnVjdCBpbWFnZSAqcHJlaW1hZ2UsCisJCQkJICAgc3RydWN0IGltYWdlICpwb3N0aW1hZ2UsCisJCQkJICAgY2hhciAqYnVmLAorCQkJCSAgIHNpemVfdCBsZW4sIHNpemVfdCBwb3N0bGVuKQoreworCWludCBpLCBjdHgsIHJlZHVjZWQ7CisJY2hhciAqbmV3LCAqb2xkLCAqZml4ZWQ7CisJc3RydWN0IGltYWdlIGZpeGVkX3ByZWltYWdlOworCisJLyoKKwkgKiBVcGRhdGUgdGhlIHByZWltYWdlIHdpdGggd2hpdGVzcGFjZSBmaXhlcy4gIE5vdGUgdGhhdCB3ZQorCSAqIGFyZSBub3QgbG9zaW5nIHByZWltYWdlLT5idWYgLS0gYXBwbHlfb25lX2ZyYWdtZW50KCkgd2lsbAorCSAqIGZyZWUgIm9sZGxpbmVzIi4KKwkgKi8KKwlwcmVwYXJlX2ltYWdlKCZmaXhlZF9wcmVpbWFnZSwgYnVmLCBsZW4sIDEpOworCWFzc2VydChwb3N0bGVuCisJICAgICAgID8gZml4ZWRfcHJlaW1hZ2UubnIgPT0gcHJlaW1hZ2UtPm5yCisJICAgICAgIDogZml4ZWRfcHJlaW1hZ2UubnIgPD0gcHJlaW1hZ2UtPm5yKTsKKwlmb3IgKGkgPSAwOyBpIDwgZml4ZWRfcHJlaW1hZ2UubnI7IGkrKykKKwkJZml4ZWRfcHJlaW1hZ2UubGluZVtpXS5mbGFnID0gcHJlaW1hZ2UtPmxpbmVbaV0uZmxhZzsKKwlmcmVlKHByZWltYWdlLT5saW5lX2FsbG9jYXRlZCk7CisJKnByZWltYWdlID0gZml4ZWRfcHJlaW1hZ2U7CisKKwkvKgorCSAqIEFkanVzdCB0aGUgY29tbW9uIGNvbnRleHQgbGluZXMgaW4gcG9zdGltYWdlLiBUaGlzIGNhbiBiZQorCSAqIGRvbmUgaW4tcGxhY2Ugd2hlbiB3ZSBhcmUgc2hyaW5raW5nIGl0IHdpdGggd2hpdGVzcGFjZQorCSAqIGZpeGluZywgYnV0IG5lZWRzIGEgbmV3IGJ1ZmZlciB3aGVuIGlnbm9yaW5nIHdoaXRlc3BhY2Ugb3IKKwkgKiBleHBhbmRpbmcgbGVhZGluZyB0YWJzIHRvIHNwYWNlcy4KKwkgKgorCSAqIFdlIHRydXN0IHRoZSBjYWxsZXIgdG8gdGVsbCB1cyBpZiB0aGUgdXBkYXRlIGNhbiBiZSBkb25lCisJICogaW4gcGxhY2UgKHBvc3RsZW49PTApIG9yIG5vdC4KKwkgKi8KKwlvbGQgPSBwb3N0aW1hZ2UtPmJ1ZjsKKwlpZiAocG9zdGxlbikKKwkJbmV3ID0gcG9zdGltYWdlLT5idWYgPSB4bWFsbG9jKHBvc3RsZW4pOworCWVsc2UKKwkJbmV3ID0gb2xkOworCWZpeGVkID0gcHJlaW1hZ2UtPmJ1ZjsKKworCWZvciAoaSA9IHJlZHVjZWQgPSBjdHggPSAwOyBpIDwgcG9zdGltYWdlLT5ucjsgaSsrKSB7CisJCXNpemVfdCBsX2xlbiA9IHBvc3RpbWFnZS0+bGluZVtpXS5sZW47CisJCWlmICghKHBvc3RpbWFnZS0+bGluZVtpXS5mbGFnICYgTElORV9DT01NT04pKSB7CisJCQkvKiBhbiBhZGRlZCBsaW5lIC0tIG5vIGNvdW50ZXJwYXJ0cyBpbiBwcmVpbWFnZSAqLworCQkJbWVtbW92ZShuZXcsIG9sZCwgbF9sZW4pOworCQkJb2xkICs9IGxfbGVuOworCQkJbmV3ICs9IGxfbGVuOworCQkJY29udGludWU7CisJCX0KKworCQkvKiBhIGNvbW1vbiBjb250ZXh0IC0tIHNraXAgaXQgaW4gdGhlIG9yaWdpbmFsIHBvc3RpbWFnZSAqLworCQlvbGQgKz0gbF9sZW47CisKKwkJLyogYW5kIGZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgb25lIGluIHRoZSBmaXhlZCBwcmVpbWFnZSAqLworCQl3aGlsZSAoY3R4IDwgcHJlaW1hZ2UtPm5yICYmCisJCSAgICAgICAhKHByZWltYWdlLT5saW5lW2N0eF0uZmxhZyAmIExJTkVfQ09NTU9OKSkgeworCQkJZml4ZWQgKz0gcHJlaW1hZ2UtPmxpbmVbY3R4XS5sZW47CisJCQljdHgrKzsKKwkJfQorCisJCS8qCisJCSAqIHByZWltYWdlIGlzIGV4cGVjdGVkIHRvIHJ1biBvdXQsIGlmIHRoZSBjYWxsZXIKKwkJICogZml4ZWQgYWRkaXRpb24gb2YgdHJhaWxpbmcgYmxhbmsgbGluZXMuCisJCSAqLworCQlpZiAocHJlaW1hZ2UtPm5yIDw9IGN0eCkgeworCQkJcmVkdWNlZCsrOworCQkJY29udGludWU7CisJCX0KKworCQkvKiBhbmQgY29weSBpdCBpbiwgd2hpbGUgZml4aW5nIHRoZSBsaW5lIGxlbmd0aCAqLworCQlsX2xlbiA9IHByZWltYWdlLT5saW5lW2N0eF0ubGVuOworCQltZW1jcHkobmV3LCBmaXhlZCwgbF9sZW4pOworCQluZXcgKz0gbF9sZW47CisJCWZpeGVkICs9IGxfbGVuOworCQlwb3N0aW1hZ2UtPmxpbmVbaV0ubGVuID0gbF9sZW47CisJCWN0eCsrOworCX0KKworCWlmIChwb3N0bGVuCisJICAgID8gcG9zdGxlbiA8IG5ldyAtIHBvc3RpbWFnZS0+YnVmCisJICAgIDogcG9zdGltYWdlLT5sZW4gPCBuZXcgLSBwb3N0aW1hZ2UtPmJ1ZikKKwkJZGllKCJCVUc6IGNhbGxlciBtaXNjb3VudGVkIHBvc3RsZW46IGFza2VkICVkLCBvcmlnID0gJWQsIHVzZWQgPSAlZCIsCisJCSAgICAoaW50KXBvc3RsZW4sIChpbnQpIHBvc3RpbWFnZS0+bGVuLCAoaW50KShuZXcgLSBwb3N0aW1hZ2UtPmJ1ZikpOworCisJLyogRml4IHRoZSBsZW5ndGggb2YgdGhlIHdob2xlIHRoaW5nICovCisJcG9zdGltYWdlLT5sZW4gPSBuZXcgLSBwb3N0aW1hZ2UtPmJ1ZjsKKwlwb3N0aW1hZ2UtPm5yIC09IHJlZHVjZWQ7Cit9CisKK3N0YXRpYyBpbnQgbGluZV9ieV9saW5lX2Z1enp5X21hdGNoKHN0cnVjdCBpbWFnZSAqaW1nLAorCQkJCSAgICBzdHJ1Y3QgaW1hZ2UgKnByZWltYWdlLAorCQkJCSAgICBzdHJ1Y3QgaW1hZ2UgKnBvc3RpbWFnZSwKKwkJCQkgICAgdW5zaWduZWQgbG9uZyB0cnksCisJCQkJICAgIGludCB0cnlfbG5vLAorCQkJCSAgICBpbnQgcHJlaW1hZ2VfbGltaXQpCit7CisJaW50IGk7CisJc2l6ZV90IGltZ29mZiA9IDA7CisJc2l6ZV90IHByZW9mZiA9IDA7CisJc2l6ZV90IHBvc3RsZW4gPSBwb3N0aW1hZ2UtPmxlbjsKKwlzaXplX3QgZXh0cmFfY2hhcnM7CisJY2hhciAqYnVmOworCWNoYXIgKnByZWltYWdlX2VvZjsKKwljaGFyICpwcmVpbWFnZV9lbmQ7CisJc3RydWN0IHN0cmJ1ZiBmaXhlZDsKKwljaGFyICpmaXhlZF9idWY7CisJc2l6ZV90IGZpeGVkX2xlbjsKKworCWZvciAoaSA9IDA7IGkgPCBwcmVpbWFnZV9saW1pdDsgaSsrKSB7CisJCXNpemVfdCBwcmVsZW4gPSBwcmVpbWFnZS0+bGluZVtpXS5sZW47CisJCXNpemVfdCBpbWdsZW4gPSBpbWctPmxpbmVbdHJ5X2xubytpXS5sZW47CisKKwkJaWYgKCFmdXp6eV9tYXRjaGxpbmVzKGltZy0+YnVmICsgdHJ5ICsgaW1nb2ZmLCBpbWdsZW4sCisJCQkJICAgICAgcHJlaW1hZ2UtPmJ1ZiArIHByZW9mZiwgcHJlbGVuKSkKKwkJCXJldHVybiAwOworCQlpZiAocHJlaW1hZ2UtPmxpbmVbaV0uZmxhZyAmIExJTkVfQ09NTU9OKQorCQkJcG9zdGxlbiArPSBpbWdsZW4gLSBwcmVsZW47CisJCWltZ29mZiArPSBpbWdsZW47CisJCXByZW9mZiArPSBwcmVsZW47CisJfQorCisJLyoKKwkgKiBPaywgdGhlIHByZWltYWdlIG1hdGNoZXMgd2l0aCB3aGl0ZXNwYWNlIGZ1enouCisJICoKKwkgKiBpbWdvZmYgbm93IGhvbGRzIHRoZSB0cnVlIGxlbmd0aCBvZiB0aGUgdGFyZ2V0IHRoYXQKKwkgKiBtYXRjaGVzIHRoZSBwcmVpbWFnZSBiZWZvcmUgdGhlIGVuZCBvZiB0aGUgZmlsZS4KKwkgKgorCSAqIENvdW50IHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiB0aGUgcHJlaW1hZ2UgdGhhdCBmYWxsCisJICogYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUgYW5kIG1ha2Ugc3VyZSB0aGF0IGFsbCBvZiB0aGVtCisJICogYXJlIHdoaXRlc3BhY2UgY2hhcmFjdGVycy4gKFRoaXMgY2FuIG9ubHkgaGFwcGVuIGlmCisJICogd2UgYXJlIHJlbW92aW5nIGJsYW5rIGxpbmVzIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUuKQorCSAqLworCWJ1ZiA9IHByZWltYWdlX2VvZiA9IHByZWltYWdlLT5idWYgKyBwcmVvZmY7CisJZm9yICggOyBpIDwgcHJlaW1hZ2UtPm5yOyBpKyspCisJCXByZW9mZiArPSBwcmVpbWFnZS0+bGluZVtpXS5sZW47CisJcHJlaW1hZ2VfZW5kID0gcHJlaW1hZ2UtPmJ1ZiArIHByZW9mZjsKKwlmb3IgKCA7IGJ1ZiA8IHByZWltYWdlX2VuZDsgYnVmKyspCisJCWlmICghaXNzcGFjZSgqYnVmKSkKKwkJCXJldHVybiAwOworCisJLyoKKwkgKiBVcGRhdGUgdGhlIHByZWltYWdlIGFuZCB0aGUgY29tbW9uIHBvc3RpbWFnZSBjb250ZXh0CisJICogbGluZXMgdG8gdXNlIHRoZSBzYW1lIHdoaXRlc3BhY2UgYXMgdGhlIHRhcmdldC4KKwkgKiBJZiB3aGl0ZXNwYWNlIGlzIG1pc3NpbmcgaW4gdGhlIHRhcmdldCAoaS5lLgorCSAqIGlmIHRoZSBwcmVpbWFnZSBleHRlbmRzIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlKSwKKwkgKiB1c2UgdGhlIHdoaXRlc3BhY2UgZnJvbSB0aGUgcHJlaW1hZ2UuCisJICovCisJZXh0cmFfY2hhcnMgPSBwcmVpbWFnZV9lbmQgLSBwcmVpbWFnZV9lb2Y7CisJc3RyYnVmX2luaXQoJmZpeGVkLCBpbWdvZmYgKyBleHRyYV9jaGFycyk7CisJc3RyYnVmX2FkZCgmZml4ZWQsIGltZy0+YnVmICsgdHJ5LCBpbWdvZmYpOworCXN0cmJ1Zl9hZGQoJmZpeGVkLCBwcmVpbWFnZV9lb2YsIGV4dHJhX2NoYXJzKTsKKwlmaXhlZF9idWYgPSBzdHJidWZfZGV0YWNoKCZmaXhlZCwgJmZpeGVkX2xlbik7CisJdXBkYXRlX3ByZV9wb3N0X2ltYWdlcyhwcmVpbWFnZSwgcG9zdGltYWdlLAorCQkJICAgICAgIGZpeGVkX2J1ZiwgZml4ZWRfbGVuLCBwb3N0bGVuKTsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBtYXRjaF9mcmFnbWVudChzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICBzdHJ1Y3QgaW1hZ2UgKmltZywKKwkJCSAgc3RydWN0IGltYWdlICpwcmVpbWFnZSwKKwkJCSAgc3RydWN0IGltYWdlICpwb3N0aW1hZ2UsCisJCQkgIHVuc2lnbmVkIGxvbmcgdHJ5LAorCQkJICBpbnQgdHJ5X2xubywKKwkJCSAgdW5zaWduZWQgd3NfcnVsZSwKKwkJCSAgaW50IG1hdGNoX2JlZ2lubmluZywgaW50IG1hdGNoX2VuZCkKK3sKKwlpbnQgaTsKKwljaGFyICpmaXhlZF9idWYsICpidWYsICpvcmlnLCAqdGFyZ2V0OworCXN0cnVjdCBzdHJidWYgZml4ZWQ7CisJc2l6ZV90IGZpeGVkX2xlbiwgcG9zdGxlbjsKKwlpbnQgcHJlaW1hZ2VfbGltaXQ7CisKKwlpZiAocHJlaW1hZ2UtPm5yICsgdHJ5X2xubyA8PSBpbWctPm5yKSB7CisJCS8qCisJCSAqIFRoZSBodW5rIGZhbGxzIHdpdGhpbiB0aGUgYm91bmRhcmllcyBvZiBpbWcuCisJCSAqLworCQlwcmVpbWFnZV9saW1pdCA9IHByZWltYWdlLT5ucjsKKwkJaWYgKG1hdGNoX2VuZCAmJiAocHJlaW1hZ2UtPm5yICsgdHJ5X2xubyAhPSBpbWctPm5yKSkKKwkJCXJldHVybiAwOworCX0gZWxzZSBpZiAoc3RhdGUtPndzX2Vycm9yX2FjdGlvbiA9PSBjb3JyZWN0X3dzX2Vycm9yICYmCisJCSAgICh3c19ydWxlICYgV1NfQkxBTktfQVRfRU9GKSkgeworCQkvKgorCQkgKiBUaGlzIGh1bmsgZXh0ZW5kcyBiZXlvbmQgdGhlIGVuZCBvZiBpbWcsIGFuZCB3ZSBhcmUKKwkJICogcmVtb3ZpbmcgYmxhbmsgbGluZXMgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZS4gIFRoaXMKKwkJICogbWFueSBsaW5lcyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHByZWltYWdlIG11c3QKKwkJICogbWF0Y2ggd2l0aCBpbWcsIGFuZCB0aGUgcmVtYWluZGVyIG9mIHRoZSBwcmVpbWFnZQorCQkgKiBtdXN0IGJlIGJsYW5rLgorCQkgKi8KKwkJcHJlaW1hZ2VfbGltaXQgPSBpbWctPm5yIC0gdHJ5X2xubzsKKwl9IGVsc2UgeworCQkvKgorCQkgKiBUaGUgaHVuayBleHRlbmRzIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBpbWcgYW5kCisJCSAqIHdlIGFyZSBub3QgcmVtb3ZpbmcgYmxhbmtzIGF0IHRoZSBlbmQsIHNvIHdlCisJCSAqIHNob3VsZCByZWplY3QgdGhlIGh1bmsgYXQgdGhpcyBwb3NpdGlvbi4KKwkJICovCisJCXJldHVybiAwOworCX0KKworCWlmIChtYXRjaF9iZWdpbm5pbmcgJiYgdHJ5X2xubykKKwkJcmV0dXJuIDA7CisKKwkvKiBRdWljayBoYXNoIGNoZWNrICovCisJZm9yIChpID0gMDsgaSA8IHByZWltYWdlX2xpbWl0OyBpKyspCisJCWlmICgoaW1nLT5saW5lW3RyeV9sbm8gKyBpXS5mbGFnICYgTElORV9QQVRDSEVEKSB8fAorCQkgICAgKHByZWltYWdlLT5saW5lW2ldLmhhc2ggIT0gaW1nLT5saW5lW3RyeV9sbm8gKyBpXS5oYXNoKSkKKwkJCXJldHVybiAwOworCisJaWYgKHByZWltYWdlX2xpbWl0ID09IHByZWltYWdlLT5ucikgeworCQkvKgorCQkgKiBEbyB3ZSBoYXZlIGFuIGV4YWN0IG1hdGNoPyAgSWYgd2Ugd2VyZSB0b2xkIHRvIG1hdGNoCisJCSAqIGF0IHRoZSBlbmQsIHNpemUgbXVzdCBiZSBleGFjdGx5IGF0IHRyeStmcmFnc2l6ZSwKKwkJICogb3RoZXJ3aXNlIHRyeStmcmFnc2l6ZSBtdXN0IGJlIHN0aWxsIHdpdGhpbiB0aGUgcHJlaW1hZ2UsCisJCSAqIGFuZCBlaXRoZXIgY2FzZSwgdGhlIG9sZCBwaWVjZSBzaG91bGQgbWF0Y2ggdGhlIHByZWltYWdlCisJCSAqIGV4YWN0bHkuCisJCSAqLworCQlpZiAoKG1hdGNoX2VuZAorCQkgICAgID8gKHRyeSArIHByZWltYWdlLT5sZW4gPT0gaW1nLT5sZW4pCisJCSAgICAgOiAodHJ5ICsgcHJlaW1hZ2UtPmxlbiA8PSBpbWctPmxlbikpICYmCisJCSAgICAhbWVtY21wKGltZy0+YnVmICsgdHJ5LCBwcmVpbWFnZS0+YnVmLCBwcmVpbWFnZS0+bGVuKSkKKwkJCXJldHVybiAxOworCX0gZWxzZSB7CisJCS8qCisJCSAqIFRoZSBwcmVpbWFnZSBleHRlbmRzIGJleW9uZCB0aGUgZW5kIG9mIGltZywgc28KKwkJICogdGhlcmUgY2Fubm90IGJlIGFuIGV4YWN0IG1hdGNoLgorCQkgKgorCQkgKiBUaGVyZSBtdXN0IGJlIG9uZSBub24tYmxhbmsgY29udGV4dCBsaW5lIHRoYXQgbWF0Y2gKKwkJICogYSBsaW5lIGJlZm9yZSB0aGUgZW5kIG9mIGltZy4KKwkJICovCisJCWNoYXIgKmJ1Zl9lbmQ7CisKKwkJYnVmID0gcHJlaW1hZ2UtPmJ1ZjsKKwkJYnVmX2VuZCA9IGJ1ZjsKKwkJZm9yIChpID0gMDsgaSA8IHByZWltYWdlX2xpbWl0OyBpKyspCisJCQlidWZfZW5kICs9IHByZWltYWdlLT5saW5lW2ldLmxlbjsKKworCQlmb3IgKCA7IGJ1ZiA8IGJ1Zl9lbmQ7IGJ1ZisrKQorCQkJaWYgKCFpc3NwYWNlKCpidWYpKQorCQkJCWJyZWFrOworCQlpZiAoYnVmID09IGJ1Zl9lbmQpCisJCQlyZXR1cm4gMDsKKwl9CisKKwkvKgorCSAqIE5vIGV4YWN0IG1hdGNoLiBJZiB3ZSBhcmUgaWdub3Jpbmcgd2hpdGVzcGFjZSwgcnVuIGEgbGluZS1ieS1saW5lCisJICogZnV6enkgbWF0Y2hpbmcuIFdlIGNvbGxlY3QgYWxsIHRoZSBsaW5lIGxlbmd0aCBpbmZvcm1hdGlvbiBiZWNhdXNlCisJICogd2UgbmVlZCBpdCB0byBhZGp1c3Qgd2hpdGVzcGFjZSBpZiB3ZSBtYXRjaC4KKwkgKi8KKwlpZiAoc3RhdGUtPndzX2lnbm9yZV9hY3Rpb24gPT0gaWdub3JlX3dzX2NoYW5nZSkKKwkJcmV0dXJuIGxpbmVfYnlfbGluZV9mdXp6eV9tYXRjaChpbWcsIHByZWltYWdlLCBwb3N0aW1hZ2UsCisJCQkJCQl0cnksIHRyeV9sbm8sIHByZWltYWdlX2xpbWl0KTsKKworCWlmIChzdGF0ZS0+d3NfZXJyb3JfYWN0aW9uICE9IGNvcnJlY3Rfd3NfZXJyb3IpCisJCXJldHVybiAwOworCisJLyoKKwkgKiBUaGUgaHVuayBkb2VzIG5vdCBhcHBseSBieXRlLWJ5LWJ5dGUsIGJ1dCB0aGUgaGFzaCBzYXlzCisJICogaXQgbWlnaHQgd2l0aCB3aGl0ZXNwYWNlIGZ1enouIFdlIHdlcmVuJ3QgYXNrZWQgdG8KKwkgKiBpZ25vcmUgd2hpdGVzcGFjZSwgd2Ugd2VyZSBhc2tlZCB0byBjb3JyZWN0IHdoaXRlc3BhY2UKKwkgKiBlcnJvcnMsIHNvIGxldCdzIHRyeSBtYXRjaGluZyBhZnRlciB3aGl0ZXNwYWNlIGNvcnJlY3Rpb24uCisJICoKKwkgKiBXaGlsZSBjaGVja2luZyB0aGUgcHJlaW1hZ2UgYWdhaW5zdCB0aGUgdGFyZ2V0LCB3aGl0ZXNwYWNlCisJICogZXJyb3JzIGluIGJvdGggZml4ZWQsIHdlIGNvdW50IGhvdyBsYXJnZSB0aGUgY29ycmVzcG9uZGluZworCSAqIHBvc3RpbWFnZSBuZWVkcyB0byBiZS4gIFRoZSBwb3N0aW1hZ2UgcHJlcGFyZWQgYnkKKwkgKiBhcHBseV9vbmVfZnJhZ21lbnQoKSBoYXMgd2hpdGVzcGFjZSBlcnJvcnMgZml4ZWQgb24gYWRkZWQKKwkgKiBsaW5lcyBhbHJlYWR5LCBidXQgdGhlIGNvbW1vbiBsaW5lcyB3ZXJlIHByb3BhZ2F0ZWQgYXMtaXMsCisJICogd2hpY2ggbWF5IGJlY29tZSBsb25nZXIgd2hlbiB0aGVpciB3aGl0ZXNwYWNlIGVycm9ycyBhcmUKKwkgKiBmaXhlZC4KKwkgKi8KKworCS8qIEZpcnN0IGNvdW50IGFkZGVkIGxpbmVzIGluIHBvc3RpbWFnZSAqLworCXBvc3RsZW4gPSAwOworCWZvciAoaSA9IDA7IGkgPCBwb3N0aW1hZ2UtPm5yOyBpKyspIHsKKwkJaWYgKCEocG9zdGltYWdlLT5saW5lW2ldLmZsYWcgJiBMSU5FX0NPTU1PTikpCisJCQlwb3N0bGVuICs9IHBvc3RpbWFnZS0+bGluZVtpXS5sZW47CisJfQorCisJLyoKKwkgKiBUaGUgcHJlaW1hZ2UgbWF5IGV4dGVuZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSwKKwkgKiBidXQgaW4gdGhpcyBsb29wIHdlIHdpbGwgb25seSBoYW5kbGUgdGhlIHBhcnQgb2YgdGhlCisJICogcHJlaW1hZ2UgdGhhdCBmYWxscyB3aXRoaW4gdGhlIGZpbGUuCisJICovCisJc3RyYnVmX2luaXQoJmZpeGVkLCBwcmVpbWFnZS0+bGVuICsgMSk7CisJb3JpZyA9IHByZWltYWdlLT5idWY7CisJdGFyZ2V0ID0gaW1nLT5idWYgKyB0cnk7CisJZm9yIChpID0gMDsgaSA8IHByZWltYWdlX2xpbWl0OyBpKyspIHsKKwkJc2l6ZV90IG9sZGxlbiA9IHByZWltYWdlLT5saW5lW2ldLmxlbjsKKwkJc2l6ZV90IHRndGxlbiA9IGltZy0+bGluZVt0cnlfbG5vICsgaV0ubGVuOworCQlzaXplX3QgZml4c3RhcnQgPSBmaXhlZC5sZW47CisJCXN0cnVjdCBzdHJidWYgdGd0Zml4OworCQlpbnQgbWF0Y2g7CisKKwkJLyogVHJ5IGZpeGluZyB0aGUgbGluZSBpbiB0aGUgcHJlaW1hZ2UgKi8KKwkJd3NfZml4X2NvcHkoJmZpeGVkLCBvcmlnLCBvbGRsZW4sIHdzX3J1bGUsIE5VTEwpOworCisJCS8qIFRyeSBmaXhpbmcgdGhlIGxpbmUgaW4gdGhlIHRhcmdldCAqLworCQlzdHJidWZfaW5pdCgmdGd0Zml4LCB0Z3RsZW4pOworCQl3c19maXhfY29weSgmdGd0Zml4LCB0YXJnZXQsIHRndGxlbiwgd3NfcnVsZSwgTlVMTCk7CisKKwkJLyoKKwkJICogSWYgdGhleSBtYXRjaCwgZWl0aGVyIHRoZSBwcmVpbWFnZSB3YXMgYmFzZWQgb24KKwkJICogYSB2ZXJzaW9uIGJlZm9yZSBvdXIgdHJlZSBmaXhlZCB3aGl0ZXNwYWNlIGJyZWFrYWdlLAorCQkgKiBvciB3ZSBhcmUgbGFja2luZyBhIHdoaXRlc3BhY2UtZml4IHBhdGNoIHRoZSB0cmVlCisJCSAqIHRoZSBwcmVpbWFnZSB3YXMgYmFzZWQgb24gYWxyZWFkeSBoYWQgKGkuZS4gdGFyZ2V0CisJCSAqIGhhcyB3aGl0ZXNwYWNlIGJyZWFrYWdlLCB0aGUgcHJlaW1hZ2UgZG9lc24ndCkuCisJCSAqIEluIGVpdGhlciBjYXNlLCB3ZSBhcmUgZml4aW5nIHRoZSB3aGl0ZXNwYWNlIGJyZWFrYWdlcworCQkgKiBzbyB3ZSBtaWdodCBhcyB3ZWxsIHRha2UgdGhlIGZpeCB0b2dldGhlciB3aXRoIHRoZWlyCisJCSAqIHJlYWwgY2hhbmdlLgorCQkgKi8KKwkJbWF0Y2ggPSAodGd0Zml4LmxlbiA9PSBmaXhlZC5sZW4gLSBmaXhzdGFydCAmJgorCQkJICFtZW1jbXAodGd0Zml4LmJ1ZiwgZml4ZWQuYnVmICsgZml4c3RhcnQsCisJCQkJCSAgICAgZml4ZWQubGVuIC0gZml4c3RhcnQpKTsKKworCQkvKiBBZGQgdGhlIGxlbmd0aCBpZiB0aGlzIGlzIGNvbW1vbiB3aXRoIHRoZSBwb3N0aW1hZ2UgKi8KKwkJaWYgKHByZWltYWdlLT5saW5lW2ldLmZsYWcgJiBMSU5FX0NPTU1PTikKKwkJCXBvc3RsZW4gKz0gdGd0Zml4LmxlbjsKKworCQlzdHJidWZfcmVsZWFzZSgmdGd0Zml4KTsKKwkJaWYgKCFtYXRjaCkKKwkJCWdvdG8gdW5tYXRjaF9leGl0OworCisJCW9yaWcgKz0gb2xkbGVuOworCQl0YXJnZXQgKz0gdGd0bGVuOworCX0KKworCisJLyoKKwkgKiBOb3cgaGFuZGxlIHRoZSBsaW5lcyBpbiB0aGUgcHJlaW1hZ2UgdGhhdCBmYWxscyBiZXlvbmQgdGhlCisJICogZW5kIG9mIHRoZSBmaWxlIChpZiBhbnkpLiBUaGV5IHdpbGwgb25seSBtYXRjaCBpZiB0aGV5IGFyZQorCSAqIGVtcHR5IG9yIG9ubHkgY29udGFpbiB3aGl0ZXNwYWNlIChpZiBXU19CTEFOS19BVF9FT0wgaXMKKwkgKiBmYWxzZSkuCisJICovCisJZm9yICggOyBpIDwgcHJlaW1hZ2UtPm5yOyBpKyspIHsKKwkJc2l6ZV90IGZpeHN0YXJ0ID0gZml4ZWQubGVuOyAvKiBzdGFydCBvZiB0aGUgZml4ZWQgcHJlaW1hZ2UgKi8KKwkJc2l6ZV90IG9sZGxlbiA9IHByZWltYWdlLT5saW5lW2ldLmxlbjsKKwkJaW50IGo7CisKKwkJLyogVHJ5IGZpeGluZyB0aGUgbGluZSBpbiB0aGUgcHJlaW1hZ2UgKi8KKwkJd3NfZml4X2NvcHkoJmZpeGVkLCBvcmlnLCBvbGRsZW4sIHdzX3J1bGUsIE5VTEwpOworCisJCWZvciAoaiA9IGZpeHN0YXJ0OyBqIDwgZml4ZWQubGVuOyBqKyspCisJCQlpZiAoIWlzc3BhY2UoZml4ZWQuYnVmW2pdKSkKKwkJCQlnb3RvIHVubWF0Y2hfZXhpdDsKKworCQlvcmlnICs9IG9sZGxlbjsKKwl9CisKKwkvKgorCSAqIFllcywgdGhlIHByZWltYWdlIGlzIGJhc2VkIG9uIGFuIG9sZGVyIHZlcnNpb24gdGhhdCBzdGlsbAorCSAqIGhhcyB3aGl0ZXNwYWNlIGJyZWFrYWdlcyB1bmZpeGVkLCBhbmQgZml4aW5nIHRoZW0gbWFrZXMgdGhlCisJICogaHVuayBtYXRjaC4gIFVwZGF0ZSB0aGUgY29udGV4dCBsaW5lcyBpbiB0aGUgcG9zdGltYWdlLgorCSAqLworCWZpeGVkX2J1ZiA9IHN0cmJ1Zl9kZXRhY2goJmZpeGVkLCAmZml4ZWRfbGVuKTsKKwlpZiAocG9zdGxlbiA8IHBvc3RpbWFnZS0+bGVuKQorCQlwb3N0bGVuID0gMDsKKwl1cGRhdGVfcHJlX3Bvc3RfaW1hZ2VzKHByZWltYWdlLCBwb3N0aW1hZ2UsCisJCQkgICAgICAgZml4ZWRfYnVmLCBmaXhlZF9sZW4sIHBvc3RsZW4pOworCXJldHVybiAxOworCisgdW5tYXRjaF9leGl0OgorCXN0cmJ1Zl9yZWxlYXNlKCZmaXhlZCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZmluZF9wb3Moc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJICAgIHN0cnVjdCBpbWFnZSAqaW1nLAorCQkgICAgc3RydWN0IGltYWdlICpwcmVpbWFnZSwKKwkJICAgIHN0cnVjdCBpbWFnZSAqcG9zdGltYWdlLAorCQkgICAgaW50IGxpbmUsCisJCSAgICB1bnNpZ25lZCB3c19ydWxlLAorCQkgICAgaW50IG1hdGNoX2JlZ2lubmluZywgaW50IG1hdGNoX2VuZCkKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBsb25nIGJhY2t3YXJkcywgZm9yd2FyZHMsIHRyeTsKKwlpbnQgYmFja3dhcmRzX2xubywgZm9yd2FyZHNfbG5vLCB0cnlfbG5vOworCisJLyoKKwkgKiBJZiBtYXRjaF9iZWdpbm5pbmcgb3IgbWF0Y2hfZW5kIGlzIHNwZWNpZmllZCwgdGhlcmUgaXMgbm8KKwkgKiBwb2ludCBzdGFydGluZyBmcm9tIGEgd3JvbmcgbGluZSB0aGF0IHdpbGwgbmV2ZXIgbWF0Y2ggYW5kCisJICogd2FuZGVyIGFyb3VuZCBhbmQgd2FpdCBmb3IgYSBtYXRjaCBhdCB0aGUgc3BlY2lmaWVkIGVuZC4KKwkgKi8KKwlpZiAobWF0Y2hfYmVnaW5uaW5nKQorCQlsaW5lID0gMDsKKwllbHNlIGlmIChtYXRjaF9lbmQpCisJCWxpbmUgPSBpbWctPm5yIC0gcHJlaW1hZ2UtPm5yOworCisJLyoKKwkgKiBCZWNhdXNlIHRoZSBjb21wYXJpc29uIGlzIHVuc2lnbmVkLCB0aGUgZm9sbG93aW5nIHRlc3QKKwkgKiB3aWxsIGFsc28gdGFrZSBjYXJlIG9mIGEgbmVnYXRpdmUgbGluZSBudW1iZXIgdGhhdCBjYW4KKwkgKiByZXN1bHQgd2hlbiBtYXRjaF9lbmQgYW5kIHByZWltYWdlIGlzIGxhcmdlciB0aGFuIHRoZSB0YXJnZXQuCisJICovCisJaWYgKChzaXplX3QpIGxpbmUgPiBpbWctPm5yKQorCQlsaW5lID0gaW1nLT5ucjsKKworCXRyeSA9IDA7CisJZm9yIChpID0gMDsgaSA8IGxpbmU7IGkrKykKKwkJdHJ5ICs9IGltZy0+bGluZVtpXS5sZW47CisKKwkvKgorCSAqIFRoZXJlJ3MgcHJvYmFibHkgc29tZSBzbWFydCB3YXkgdG8gZG8gdGhpcywgYnV0IEknbGwgbGVhdmUKKwkgKiB0aGF0IHRvIHRoZSBzbWFydCBhbmQgYmVhdXRpZnVsIHBlb3BsZS4gSSdtIHNpbXBsZSBhbmQgc3R1cGlkLgorCSAqLworCWJhY2t3YXJkcyA9IHRyeTsKKwliYWNrd2FyZHNfbG5vID0gbGluZTsKKwlmb3J3YXJkcyA9IHRyeTsKKwlmb3J3YXJkc19sbm8gPSBsaW5lOworCXRyeV9sbm8gPSBsaW5lOworCisJZm9yIChpID0gMDsgOyBpKyspIHsKKwkJaWYgKG1hdGNoX2ZyYWdtZW50KHN0YXRlLCBpbWcsIHByZWltYWdlLCBwb3N0aW1hZ2UsCisJCQkJICAgdHJ5LCB0cnlfbG5vLCB3c19ydWxlLAorCQkJCSAgIG1hdGNoX2JlZ2lubmluZywgbWF0Y2hfZW5kKSkKKwkJCXJldHVybiB0cnlfbG5vOworCisJYWdhaW46CisJCWlmIChiYWNrd2FyZHNfbG5vID09IDAgJiYgZm9yd2FyZHNfbG5vID09IGltZy0+bnIpCisJCQlicmVhazsKKworCQlpZiAoaSAmIDEpIHsKKwkJCWlmIChiYWNrd2FyZHNfbG5vID09IDApIHsKKwkJCQlpKys7CisJCQkJZ290byBhZ2FpbjsKKwkJCX0KKwkJCWJhY2t3YXJkc19sbm8tLTsKKwkJCWJhY2t3YXJkcyAtPSBpbWctPmxpbmVbYmFja3dhcmRzX2xub10ubGVuOworCQkJdHJ5ID0gYmFja3dhcmRzOworCQkJdHJ5X2xubyA9IGJhY2t3YXJkc19sbm87CisJCX0gZWxzZSB7CisJCQlpZiAoZm9yd2FyZHNfbG5vID09IGltZy0+bnIpIHsKKwkJCQlpKys7CisJCQkJZ290byBhZ2FpbjsKKwkJCX0KKwkJCWZvcndhcmRzICs9IGltZy0+bGluZVtmb3J3YXJkc19sbm9dLmxlbjsKKwkJCWZvcndhcmRzX2xubysrOworCQkJdHJ5ID0gZm9yd2FyZHM7CisJCQl0cnlfbG5vID0gZm9yd2FyZHNfbG5vOworCQl9CisKKwl9CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdm9pZCByZW1vdmVfZmlyc3RfbGluZShzdHJ1Y3QgaW1hZ2UgKmltZykKK3sKKwlpbWctPmJ1ZiArPSBpbWctPmxpbmVbMF0ubGVuOworCWltZy0+bGVuIC09IGltZy0+bGluZVswXS5sZW47CisJaW1nLT5saW5lKys7CisJaW1nLT5uci0tOworfQorCitzdGF0aWMgdm9pZCByZW1vdmVfbGFzdF9saW5lKHN0cnVjdCBpbWFnZSAqaW1nKQoreworCWltZy0+bGVuIC09IGltZy0+bGluZVstLWltZy0+bnJdLmxlbjsKK30KKworLyoKKyAqIFRoZSBjaGFuZ2UgZnJvbSAicHJlaW1hZ2UiIGFuZCAicG9zdGltYWdlIiBoYXMgYmVlbiBmb3VuZCB0bworICogYXBwbHkgYXQgYXBwbGllZF9wb3MgKGNvdW50cyBpbiBsaW5lIG51bWJlcnMpIGluICJpbWciLgorICogVXBkYXRlICJpbWciIHRvIHJlbW92ZSAicHJlaW1hZ2UiIGFuZCByZXBsYWNlIGl0IHdpdGggInBvc3RpbWFnZSIuCisgKi8KK3N0YXRpYyB2b2lkIHVwZGF0ZV9pbWFnZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJIHN0cnVjdCBpbWFnZSAqaW1nLAorCQkJIGludCBhcHBsaWVkX3BvcywKKwkJCSBzdHJ1Y3QgaW1hZ2UgKnByZWltYWdlLAorCQkJIHN0cnVjdCBpbWFnZSAqcG9zdGltYWdlKQoreworCS8qCisJICogcmVtb3ZlIHRoZSBjb3B5IG9mIHByZWltYWdlIGF0IG9mZnNldCBpbiBpbWcKKwkgKiBhbmQgcmVwbGFjZSBpdCB3aXRoIHBvc3RpbWFnZQorCSAqLworCWludCBpLCBucjsKKwlzaXplX3QgcmVtb3ZlX2NvdW50LCBpbnNlcnRfY291bnQsIGFwcGxpZWRfYXQgPSAwOworCWNoYXIgKnJlc3VsdDsKKwlpbnQgcHJlaW1hZ2VfbGltaXQ7CisKKwkvKgorCSAqIElmIHdlIGFyZSByZW1vdmluZyBibGFuayBsaW5lcyBhdCB0aGUgZW5kIG9mIGltZywKKwkgKiB0aGUgcHJlaW1hZ2UgbWF5IGV4dGVuZCBiZXlvbmQgdGhlIGVuZC4KKwkgKiBJZiB0aGF0IGlzIHRoZSBjYXNlLCB3ZSBtdXN0IGJlIGNhcmVmdWwgb25seSB0bworCSAqIHJlbW92ZSB0aGUgcGFydCBvZiB0aGUgcHJlaW1hZ2UgdGhhdCBmYWxscyB3aXRoaW4KKwkgKiB0aGUgYm91bmRhcmllcyBvZiBpbWcuIEluaXRpYWxpemUgcHJlaW1hZ2VfbGltaXQKKwkgKiB0byB0aGUgbnVtYmVyIG9mIGxpbmVzIGluIHRoZSBwcmVpbWFnZSB0aGF0IGZhbGxzCisJICogd2l0aGluIHRoZSBib3VuZGFyaWVzLgorCSAqLworCXByZWltYWdlX2xpbWl0ID0gcHJlaW1hZ2UtPm5yOworCWlmIChwcmVpbWFnZV9saW1pdCA+IGltZy0+bnIgLSBhcHBsaWVkX3BvcykKKwkJcHJlaW1hZ2VfbGltaXQgPSBpbWctPm5yIC0gYXBwbGllZF9wb3M7CisKKwlmb3IgKGkgPSAwOyBpIDwgYXBwbGllZF9wb3M7IGkrKykKKwkJYXBwbGllZF9hdCArPSBpbWctPmxpbmVbaV0ubGVuOworCisJcmVtb3ZlX2NvdW50ID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgcHJlaW1hZ2VfbGltaXQ7IGkrKykKKwkJcmVtb3ZlX2NvdW50ICs9IGltZy0+bGluZVthcHBsaWVkX3BvcyArIGldLmxlbjsKKwlpbnNlcnRfY291bnQgPSBwb3N0aW1hZ2UtPmxlbjsKKworCS8qIEFkanVzdCB0aGUgY29udGVudHMgKi8KKwlyZXN1bHQgPSB4bWFsbG9jKHN0X2FkZDMoc3Rfc3ViKGltZy0+bGVuLCByZW1vdmVfY291bnQpLCBpbnNlcnRfY291bnQsIDEpKTsKKwltZW1jcHkocmVzdWx0LCBpbWctPmJ1ZiwgYXBwbGllZF9hdCk7CisJbWVtY3B5KHJlc3VsdCArIGFwcGxpZWRfYXQsIHBvc3RpbWFnZS0+YnVmLCBwb3N0aW1hZ2UtPmxlbik7CisJbWVtY3B5KHJlc3VsdCArIGFwcGxpZWRfYXQgKyBwb3N0aW1hZ2UtPmxlbiwKKwkgICAgICAgaW1nLT5idWYgKyAoYXBwbGllZF9hdCArIHJlbW92ZV9jb3VudCksCisJICAgICAgIGltZy0+bGVuIC0gKGFwcGxpZWRfYXQgKyByZW1vdmVfY291bnQpKTsKKwlmcmVlKGltZy0+YnVmKTsKKwlpbWctPmJ1ZiA9IHJlc3VsdDsKKwlpbWctPmxlbiArPSBpbnNlcnRfY291bnQgLSByZW1vdmVfY291bnQ7CisJcmVzdWx0W2ltZy0+bGVuXSA9ICdcMCc7CisKKwkvKiBBZGp1c3QgdGhlIGxpbmUgdGFibGUgKi8KKwluciA9IGltZy0+bnIgKyBwb3N0aW1hZ2UtPm5yIC0gcHJlaW1hZ2VfbGltaXQ7CisJaWYgKHByZWltYWdlX2xpbWl0IDwgcG9zdGltYWdlLT5ucikgeworCQkvKgorCQkgKiBOT1RFOiB0aGlzIGtub3dzIHRoYXQgd2UgbmV2ZXIgY2FsbCByZW1vdmVfZmlyc3RfbGluZSgpCisJCSAqIG9uIGFueXRoaW5nIG90aGVyIHRoYW4gcHJlL3Bvc3QgaW1hZ2UuCisJCSAqLworCQlSRUFMTE9DX0FSUkFZKGltZy0+bGluZSwgbnIpOworCQlpbWctPmxpbmVfYWxsb2NhdGVkID0gaW1nLT5saW5lOworCX0KKwlpZiAocHJlaW1hZ2VfbGltaXQgIT0gcG9zdGltYWdlLT5ucikKKwkJbWVtbW92ZShpbWctPmxpbmUgKyBhcHBsaWVkX3BvcyArIHBvc3RpbWFnZS0+bnIsCisJCQlpbWctPmxpbmUgKyBhcHBsaWVkX3BvcyArIHByZWltYWdlX2xpbWl0LAorCQkJKGltZy0+bnIgLSAoYXBwbGllZF9wb3MgKyBwcmVpbWFnZV9saW1pdCkpICoKKwkJCXNpemVvZigqaW1nLT5saW5lKSk7CisJbWVtY3B5KGltZy0+bGluZSArIGFwcGxpZWRfcG9zLAorCSAgICAgICBwb3N0aW1hZ2UtPmxpbmUsCisJICAgICAgIHBvc3RpbWFnZS0+bnIgKiBzaXplb2YoKmltZy0+bGluZSkpOworCWlmICghc3RhdGUtPmFsbG93X292ZXJsYXApCisJCWZvciAoaSA9IDA7IGkgPCBwb3N0aW1hZ2UtPm5yOyBpKyspCisJCQlpbWctPmxpbmVbYXBwbGllZF9wb3MgKyBpXS5mbGFnIHw9IExJTkVfUEFUQ0hFRDsKKwlpbWctPm5yID0gbnI7Cit9CisKKy8qCisgKiBVc2UgdGhlIHBhdGNoLWh1bmsgdGV4dCBpbiAiZnJhZyIgdG8gcHJlcGFyZSB0d28gaW1hZ2VzIChwcmVpbWFnZSBhbmQKKyAqIHBvc3RpbWFnZSkgZm9yIHRoZSBodW5rLiAgRmluZCBsaW5lcyB0aGF0IG1hdGNoICJwcmVpbWFnZSIgaW4gImltZyIgYW5kCisgKiByZXBsYWNlIHRoZSBwYXJ0IG9mICJpbWciIHdpdGggInBvc3RpbWFnZSIgdGV4dC4KKyAqLworc3RhdGljIGludCBhcHBseV9vbmVfZnJhZ21lbnQoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCSAgICAgIHN0cnVjdCBpbWFnZSAqaW1nLCBzdHJ1Y3QgZnJhZ21lbnQgKmZyYWcsCisJCQkgICAgICBpbnQgaW5hY2N1cmF0ZV9lb2YsIHVuc2lnbmVkIHdzX3J1bGUsCisJCQkgICAgICBpbnQgbnRoX2ZyYWdtZW50KQoreworCWludCBtYXRjaF9iZWdpbm5pbmcsIG1hdGNoX2VuZDsKKwljb25zdCBjaGFyICpwYXRjaCA9IGZyYWctPnBhdGNoOworCWludCBzaXplID0gZnJhZy0+c2l6ZTsKKwljaGFyICpvbGQsICpvbGRsaW5lczsKKwlzdHJ1Y3Qgc3RyYnVmIG5ld2xpbmVzOworCWludCBuZXdfYmxhbmtfbGluZXNfYXRfZW5kID0gMDsKKwlpbnQgZm91bmRfbmV3X2JsYW5rX2xpbmVzX2F0X2VuZCA9IDA7CisJaW50IGh1bmtfbGluZW5yID0gZnJhZy0+bGluZW5yOworCXVuc2lnbmVkIGxvbmcgbGVhZGluZywgdHJhaWxpbmc7CisJaW50IHBvcywgYXBwbGllZF9wb3M7CisJc3RydWN0IGltYWdlIHByZWltYWdlOworCXN0cnVjdCBpbWFnZSBwb3N0aW1hZ2U7CisKKwltZW1zZXQoJnByZWltYWdlLCAwLCBzaXplb2YocHJlaW1hZ2UpKTsKKwltZW1zZXQoJnBvc3RpbWFnZSwgMCwgc2l6ZW9mKHBvc3RpbWFnZSkpOworCW9sZGxpbmVzID0geG1hbGxvYyhzaXplKTsKKwlzdHJidWZfaW5pdCgmbmV3bGluZXMsIHNpemUpOworCisJb2xkID0gb2xkbGluZXM7CisJd2hpbGUgKHNpemUgPiAwKSB7CisJCWNoYXIgZmlyc3Q7CisJCWludCBsZW4gPSBsaW5lbGVuKHBhdGNoLCBzaXplKTsKKwkJaW50IHBsZW47CisJCWludCBhZGRlZF9ibGFua19saW5lID0gMDsKKwkJaW50IGlzX2JsYW5rX2NvbnRleHQgPSAwOworCQlzaXplX3Qgc3RhcnQ7CisKKwkJaWYgKCFsZW4pCisJCQlicmVhazsKKworCQkvKgorCQkgKiAicGxlbiIgaXMgaG93IG11Y2ggb2YgdGhlIGxpbmUgd2Ugc2hvdWxkIHVzZSBmb3IKKwkJICogdGhlIGFjdHVhbCBwYXRjaCBkYXRhLiBOb3JtYWxseSB3ZSBqdXN0IHJlbW92ZSB0aGUKKwkJICogZmlyc3QgY2hhcmFjdGVyIG9uIHRoZSBsaW5lLCBidXQgaWYgdGhlIGxpbmUgaXMKKwkJICogZm9sbG93ZWQgYnkgIlwgTm8gbmV3bGluZSIsIHRoZW4gd2UgYWxzbyByZW1vdmUgdGhlCisJCSAqIGxhc3Qgb25lICh3aGljaCBpcyB0aGUgbmV3bGluZSwgb2YgY291cnNlKS4KKwkJICovCisJCXBsZW4gPSBsZW4gLSAxOworCQlpZiAobGVuIDwgc2l6ZSAmJiBwYXRjaFtsZW5dID09ICdcXCcpCisJCQlwbGVuLS07CisJCWZpcnN0ID0gKnBhdGNoOworCQlpZiAoc3RhdGUtPmFwcGx5X2luX3JldmVyc2UpIHsKKwkJCWlmIChmaXJzdCA9PSAnLScpCisJCQkJZmlyc3QgPSAnKyc7CisJCQllbHNlIGlmIChmaXJzdCA9PSAnKycpCisJCQkJZmlyc3QgPSAnLSc7CisJCX0KKworCQlzd2l0Y2ggKGZpcnN0KSB7CisJCWNhc2UgJ1xuJzoKKwkJCS8qIE5ld2VyIEdOVSBkaWZmLCBlbXB0eSBjb250ZXh0IGxpbmUgKi8KKwkJCWlmIChwbGVuIDwgMCkKKwkJCQkvKiAuLi4gZm9sbG93ZWQgYnkgJ1xObyBuZXdsaW5lJzsgbm90aGluZyAqLworCQkJCWJyZWFrOworCQkJKm9sZCsrID0gJ1xuJzsKKwkJCXN0cmJ1Zl9hZGRjaCgmbmV3bGluZXMsICdcbicpOworCQkJYWRkX2xpbmVfaW5mbygmcHJlaW1hZ2UsICJcbiIsIDEsIExJTkVfQ09NTU9OKTsKKwkJCWFkZF9saW5lX2luZm8oJnBvc3RpbWFnZSwgIlxuIiwgMSwgTElORV9DT01NT04pOworCQkJaXNfYmxhbmtfY29udGV4dCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnICc6CisJCQlpZiAocGxlbiAmJiAod3NfcnVsZSAmIFdTX0JMQU5LX0FUX0VPRikgJiYKKwkJCSAgICB3c19ibGFua19saW5lKHBhdGNoICsgMSwgcGxlbiwgd3NfcnVsZSkpCisJCQkJaXNfYmxhbmtfY29udGV4dCA9IDE7CisJCWNhc2UgJy0nOgorCQkJbWVtY3B5KG9sZCwgcGF0Y2ggKyAxLCBwbGVuKTsKKwkJCWFkZF9saW5lX2luZm8oJnByZWltYWdlLCBvbGQsIHBsZW4sCisJCQkJICAgICAgKGZpcnN0ID09ICcgJyA/IExJTkVfQ09NTU9OIDogMCkpOworCQkJb2xkICs9IHBsZW47CisJCQlpZiAoZmlyc3QgPT0gJy0nKQorCQkJCWJyZWFrOworCQkvKiBGYWxsLXRocm91Z2ggZm9yICcgJyAqLworCQljYXNlICcrJzoKKwkJCS8qIC0tbm8tYWRkIGRvZXMgbm90IGFkZCBuZXcgbGluZXMgKi8KKwkJCWlmIChmaXJzdCA9PSAnKycgJiYgc3RhdGUtPm5vX2FkZCkKKwkJCQlicmVhazsKKworCQkJc3RhcnQgPSBuZXdsaW5lcy5sZW47CisJCQlpZiAoZmlyc3QgIT0gJysnIHx8CisJCQkgICAgIXN0YXRlLT53aGl0ZXNwYWNlX2Vycm9yIHx8CisJCQkgICAgc3RhdGUtPndzX2Vycm9yX2FjdGlvbiAhPSBjb3JyZWN0X3dzX2Vycm9yKSB7CisJCQkJc3RyYnVmX2FkZCgmbmV3bGluZXMsIHBhdGNoICsgMSwgcGxlbik7CisJCQl9CisJCQllbHNlIHsKKwkJCQl3c19maXhfY29weSgmbmV3bGluZXMsIHBhdGNoICsgMSwgcGxlbiwgd3NfcnVsZSwgJnN0YXRlLT5hcHBsaWVkX2FmdGVyX2ZpeGluZ193cyk7CisJCQl9CisJCQlhZGRfbGluZV9pbmZvKCZwb3N0aW1hZ2UsIG5ld2xpbmVzLmJ1ZiArIHN0YXJ0LCBuZXdsaW5lcy5sZW4gLSBzdGFydCwKKwkJCQkgICAgICAoZmlyc3QgPT0gJysnID8gMCA6IExJTkVfQ09NTU9OKSk7CisJCQlpZiAoZmlyc3QgPT0gJysnICYmCisJCQkgICAgKHdzX3J1bGUgJiBXU19CTEFOS19BVF9FT0YpICYmCisJCQkgICAgd3NfYmxhbmtfbGluZShwYXRjaCArIDEsIHBsZW4sIHdzX3J1bGUpKQorCQkJCWFkZGVkX2JsYW5rX2xpbmUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ0AnOiBjYXNlICdcXCc6CisJCQkvKiBJZ25vcmUgaXQsIHdlIGFscmVhZHkgaGFuZGxlZCBpdCAqLworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlpZiAoc3RhdGUtPmFwcGx5X3ZlcmJvc2l0eSA+IHZlcmJvc2l0eV9ub3JtYWwpCisJCQkJZXJyb3IoXygiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIiksIGZpcnN0KTsKKwkJCWFwcGxpZWRfcG9zID0gLTE7CisJCQlnb3RvIG91dDsKKwkJfQorCQlpZiAoYWRkZWRfYmxhbmtfbGluZSkgeworCQkJaWYgKCFuZXdfYmxhbmtfbGluZXNfYXRfZW5kKQorCQkJCWZvdW5kX25ld19ibGFua19saW5lc19hdF9lbmQgPSBodW5rX2xpbmVucjsKKwkJCW5ld19ibGFua19saW5lc19hdF9lbmQrKzsKKwkJfQorCQllbHNlIGlmIChpc19ibGFua19jb250ZXh0KQorCQkJOworCQllbHNlCisJCQluZXdfYmxhbmtfbGluZXNfYXRfZW5kID0gMDsKKwkJcGF0Y2ggKz0gbGVuOworCQlzaXplIC09IGxlbjsKKwkJaHVua19saW5lbnIrKzsKKwl9CisJaWYgKGluYWNjdXJhdGVfZW9mICYmCisJICAgIG9sZCA+IG9sZGxpbmVzICYmIG9sZFstMV0gPT0gJ1xuJyAmJgorCSAgICBuZXdsaW5lcy5sZW4gPiAwICYmIG5ld2xpbmVzLmJ1ZltuZXdsaW5lcy5sZW4gLSAxXSA9PSAnXG4nKSB7CisJCW9sZC0tOworCQlzdHJidWZfc2V0bGVuKCZuZXdsaW5lcywgbmV3bGluZXMubGVuIC0gMSk7CisJfQorCisJbGVhZGluZyA9IGZyYWctPmxlYWRpbmc7CisJdHJhaWxpbmcgPSBmcmFnLT50cmFpbGluZzsKKworCS8qCisJICogQSBodW5rIHRvIGNoYW5nZSBsaW5lcyBhdCB0aGUgYmVnaW5uaW5nIHdvdWxkIGJlZ2luIHdpdGgKKwkgKiBAQCAtMSxMICtOLE0gQEAKKwkgKiBidXQgd2UgbmVlZCB0byBiZSBjYXJlZnVsLiAgLVUwIHRoYXQgaW5zZXJ0cyBiZWZvcmUgdGhlIHNlY29uZAorCSAqIGxpbmUgYWxzbyBoYXMgdGhpcyBwYXR0ZXJuLgorCSAqCisJICogQW5kIGEgaHVuayB0byBhZGQgdG8gYW4gZW1wdHkgZmlsZSB3b3VsZCBiZWdpbiB3aXRoCisJICogQEAgLTAsMCArTixNIEBACisJICoKKwkgKiBJbiBvdGhlciB3b3JkcywgYSBodW5rIHRoYXQgaXMgKGZyYWctPm9sZHBvcyA8PSAxKSB3aXRoIG9yCisJICogd2l0aG91dCBsZWFkaW5nIGNvbnRleHQgbXVzdCBtYXRjaCBhdCB0aGUgYmVnaW5uaW5nLgorCSAqLworCW1hdGNoX2JlZ2lubmluZyA9ICghZnJhZy0+b2xkcG9zIHx8CisJCQkgICAoZnJhZy0+b2xkcG9zID09IDEgJiYgIXN0YXRlLT51bmlkaWZmX3plcm8pKTsKKworCS8qCisJICogQSBodW5rIHdpdGhvdXQgdHJhaWxpbmcgbGluZXMgbXVzdCBtYXRjaCBhdCB0aGUgZW5kLgorCSAqIEhvd2V2ZXIsIHdlIHNpbXBseSBjYW5ub3QgdGVsbCBpZiBhIGh1bmsgbXVzdCBtYXRjaCBlbmQKKwkgKiBmcm9tIHRoZSBsYWNrIG9mIHRyYWlsaW5nIGxpbmVzIGlmIHRoZSBwYXRjaCB3YXMgZ2VuZXJhdGVkCisJICogd2l0aCB1bmlkaWZmIHdpdGhvdXQgYW55IGNvbnRleHQuCisJICovCisJbWF0Y2hfZW5kID0gIXN0YXRlLT51bmlkaWZmX3plcm8gJiYgIXRyYWlsaW5nOworCisJcG9zID0gZnJhZy0+bmV3cG9zID8gKGZyYWctPm5ld3BvcyAtIDEpIDogMDsKKwlwcmVpbWFnZS5idWYgPSBvbGRsaW5lczsKKwlwcmVpbWFnZS5sZW4gPSBvbGQgLSBvbGRsaW5lczsKKwlwb3N0aW1hZ2UuYnVmID0gbmV3bGluZXMuYnVmOworCXBvc3RpbWFnZS5sZW4gPSBuZXdsaW5lcy5sZW47CisJcHJlaW1hZ2UubGluZSA9IHByZWltYWdlLmxpbmVfYWxsb2NhdGVkOworCXBvc3RpbWFnZS5saW5lID0gcG9zdGltYWdlLmxpbmVfYWxsb2NhdGVkOworCisJZm9yICg7OykgeworCisJCWFwcGxpZWRfcG9zID0gZmluZF9wb3Moc3RhdGUsIGltZywgJnByZWltYWdlLCAmcG9zdGltYWdlLCBwb3MsCisJCQkJICAgICAgIHdzX3J1bGUsIG1hdGNoX2JlZ2lubmluZywgbWF0Y2hfZW5kKTsKKworCQlpZiAoYXBwbGllZF9wb3MgPj0gMCkKKwkJCWJyZWFrOworCisJCS8qIEFtIEkgYXQgbXkgY29udGV4dCBsaW1pdHM/ICovCisJCWlmICgobGVhZGluZyA8PSBzdGF0ZS0+cF9jb250ZXh0KSAmJiAodHJhaWxpbmcgPD0gc3RhdGUtPnBfY29udGV4dCkpCisJCQlicmVhazsKKwkJaWYgKG1hdGNoX2JlZ2lubmluZyB8fCBtYXRjaF9lbmQpIHsKKwkJCW1hdGNoX2JlZ2lubmluZyA9IG1hdGNoX2VuZCA9IDA7CisJCQljb250aW51ZTsKKwkJfQorCisJCS8qCisJCSAqIFJlZHVjZSB0aGUgbnVtYmVyIG9mIGNvbnRleHQgbGluZXM7IHJlZHVjZSBib3RoCisJCSAqIGxlYWRpbmcgYW5kIHRyYWlsaW5nIGlmIHRoZXkgYXJlIGVxdWFsIG90aGVyd2lzZQorCQkgKiBqdXN0IHJlZHVjZSB0aGUgbGFyZ2VyIGNvbnRleHQuCisJCSAqLworCQlpZiAobGVhZGluZyA+PSB0cmFpbGluZykgeworCQkJcmVtb3ZlX2ZpcnN0X2xpbmUoJnByZWltYWdlKTsKKwkJCXJlbW92ZV9maXJzdF9saW5lKCZwb3N0aW1hZ2UpOworCQkJcG9zLS07CisJCQlsZWFkaW5nLS07CisJCX0KKwkJaWYgKHRyYWlsaW5nID4gbGVhZGluZykgeworCQkJcmVtb3ZlX2xhc3RfbGluZSgmcHJlaW1hZ2UpOworCQkJcmVtb3ZlX2xhc3RfbGluZSgmcG9zdGltYWdlKTsKKwkJCXRyYWlsaW5nLS07CisJCX0KKwl9CisKKwlpZiAoYXBwbGllZF9wb3MgPj0gMCkgeworCQlpZiAobmV3X2JsYW5rX2xpbmVzX2F0X2VuZCAmJgorCQkgICAgcHJlaW1hZ2UubnIgKyBhcHBsaWVkX3BvcyA+PSBpbWctPm5yICYmCisJCSAgICAod3NfcnVsZSAmIFdTX0JMQU5LX0FUX0VPRikgJiYKKwkJICAgIHN0YXRlLT53c19lcnJvcl9hY3Rpb24gIT0gbm93YXJuX3dzX2Vycm9yKSB7CisJCQlyZWNvcmRfd3NfZXJyb3Ioc3RhdGUsIFdTX0JMQU5LX0FUX0VPRiwgIisiLCAxLAorCQkJCQlmb3VuZF9uZXdfYmxhbmtfbGluZXNfYXRfZW5kKTsKKwkJCWlmIChzdGF0ZS0+d3NfZXJyb3JfYWN0aW9uID09IGNvcnJlY3Rfd3NfZXJyb3IpIHsKKwkJCQl3aGlsZSAobmV3X2JsYW5rX2xpbmVzX2F0X2VuZC0tKQorCQkJCQlyZW1vdmVfbGFzdF9saW5lKCZwb3N0aW1hZ2UpOworCQkJfQorCQkJLyoKKwkJCSAqIFdlIHdvdWxkIHdhbnQgdG8gcHJldmVudCB3cml0ZV9vdXRfcmVzdWx0cygpCisJCQkgKiBmcm9tIHRha2luZyBwbGFjZSBpbiBhcHBseV9wYXRjaCgpIHRoYXQgZm9sbG93cworCQkJICogdGhlIGNhbGxjaGFpbiBsZWQgdXMgaGVyZSwgd2hpY2ggaXM6CisJCQkgKiBhcHBseV9wYXRjaC0+Y2hlY2tfcGF0Y2hfbGlzdC0+Y2hlY2tfcGF0Y2gtPgorCQkJICogYXBwbHlfZGF0YS0+YXBwbHlfZnJhZ21lbnRzLT5hcHBseV9vbmVfZnJhZ21lbnQKKwkJCSAqLworCQkJaWYgKHN0YXRlLT53c19lcnJvcl9hY3Rpb24gPT0gZGllX29uX3dzX2Vycm9yKQorCQkJCXN0YXRlLT5hcHBseSA9IDA7CisJCX0KKworCQlpZiAoc3RhdGUtPmFwcGx5X3ZlcmJvc2l0eSA+IHZlcmJvc2l0eV9ub3JtYWwgJiYgYXBwbGllZF9wb3MgIT0gcG9zKSB7CisJCQlpbnQgb2Zmc2V0ID0gYXBwbGllZF9wb3MgLSBwb3M7CisJCQlpZiAoc3RhdGUtPmFwcGx5X2luX3JldmVyc2UpCisJCQkJb2Zmc2V0ID0gMCAtIG9mZnNldDsKKwkJCWZwcmludGZfbG4oc3RkZXJyLAorCQkJCSAgIFFfKCJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iLAorCQkJCSAgICAgICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIiwKKwkJCQkgICAgICBvZmZzZXQpLAorCQkJCSAgIG50aF9mcmFnbWVudCwgYXBwbGllZF9wb3MgKyAxLCBvZmZzZXQpOworCQl9CisKKwkJLyoKKwkJICogV2FybiBpZiBpdCB3YXMgbmVjZXNzYXJ5IHRvIHJlZHVjZSB0aGUgbnVtYmVyCisJCSAqIG9mIGNvbnRleHQgbGluZXMuCisJCSAqLworCQlpZiAoKGxlYWRpbmcgIT0gZnJhZy0+bGVhZGluZyB8fAorCQkgICAgIHRyYWlsaW5nICE9IGZyYWctPnRyYWlsaW5nKSAmJiBzdGF0ZS0+YXBwbHlfdmVyYm9zaXR5ID4gdmVyYm9zaXR5X3NpbGVudCkKKwkJCWZwcmludGZfbG4oc3RkZXJyLCBfKCJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIgorCQkJCQkgICAgICIgdG8gYXBwbHkgZnJhZ21lbnQgYXQgJWQiKSwKKwkJCQkgICBsZWFkaW5nLCB0cmFpbGluZywgYXBwbGllZF9wb3MrMSk7CisJCXVwZGF0ZV9pbWFnZShzdGF0ZSwgaW1nLCBhcHBsaWVkX3BvcywgJnByZWltYWdlLCAmcG9zdGltYWdlKTsKKwl9IGVsc2UgeworCQlpZiAoc3RhdGUtPmFwcGx5X3ZlcmJvc2l0eSA+IHZlcmJvc2l0eV9ub3JtYWwpCisJCQllcnJvcihfKCJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuJS4qcyIpLAorCQkJICAgICAgKGludCkob2xkIC0gb2xkbGluZXMpLCBvbGRsaW5lcyk7CisJfQorCitvdXQ6CisJZnJlZShvbGRsaW5lcyk7CisJc3RyYnVmX3JlbGVhc2UoJm5ld2xpbmVzKTsKKwlmcmVlKHByZWltYWdlLmxpbmVfYWxsb2NhdGVkKTsKKwlmcmVlKHBvc3RpbWFnZS5saW5lX2FsbG9jYXRlZCk7CisKKwlyZXR1cm4gKGFwcGxpZWRfcG9zIDwgMCk7Cit9CisKK3N0YXRpYyBpbnQgYXBwbHlfYmluYXJ5X2ZyYWdtZW50KHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkJIHN0cnVjdCBpbWFnZSAqaW1nLAorCQkJCSBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCXN0cnVjdCBmcmFnbWVudCAqZnJhZ21lbnQgPSBwYXRjaC0+ZnJhZ21lbnRzOworCXVuc2lnbmVkIGxvbmcgbGVuOworCXZvaWQgKmRzdDsKKworCWlmICghZnJhZ21lbnQpCisJCXJldHVybiBlcnJvcihfKCJtaXNzaW5nIGJpbmFyeSBwYXRjaCBkYXRhIGZvciAnJXMnIiksCisJCQkgICAgIHBhdGNoLT5uZXdfbmFtZSA/CisJCQkgICAgIHBhdGNoLT5uZXdfbmFtZSA6CisJCQkgICAgIHBhdGNoLT5vbGRfbmFtZSk7CisKKwkvKiBCaW5hcnkgcGF0Y2ggaXMgaXJyZXZlcnNpYmxlIHdpdGhvdXQgdGhlIG9wdGlvbmFsIHNlY29uZCBodW5rICovCisJaWYgKHN0YXRlLT5hcHBseV9pbl9yZXZlcnNlKSB7CisJCWlmICghZnJhZ21lbnQtPm5leHQpCisJCQlyZXR1cm4gZXJyb3IoXygiY2Fubm90IHJldmVyc2UtYXBwbHkgYSBiaW5hcnkgcGF0Y2ggIgorCQkJCSAgICAgICAid2l0aG91dCB0aGUgcmV2ZXJzZSBodW5rIHRvICclcyciKSwKKwkJCQkgICAgIHBhdGNoLT5uZXdfbmFtZQorCQkJCSAgICAgPyBwYXRjaC0+bmV3X25hbWUgOiBwYXRjaC0+b2xkX25hbWUpOworCQlmcmFnbWVudCA9IGZyYWdtZW50LT5uZXh0OworCX0KKwlzd2l0Y2ggKGZyYWdtZW50LT5iaW5hcnlfcGF0Y2hfbWV0aG9kKSB7CisJY2FzZSBCSU5BUllfREVMVEFfREVGTEFURUQ6CisJCWRzdCA9IHBhdGNoX2RlbHRhKGltZy0+YnVmLCBpbWctPmxlbiwgZnJhZ21lbnQtPnBhdGNoLAorCQkJCSAgZnJhZ21lbnQtPnNpemUsICZsZW4pOworCQlpZiAoIWRzdCkKKwkJCXJldHVybiAtMTsKKwkJY2xlYXJfaW1hZ2UoaW1nKTsKKwkJaW1nLT5idWYgPSBkc3Q7CisJCWltZy0+bGVuID0gbGVuOworCQlyZXR1cm4gMDsKKwljYXNlIEJJTkFSWV9MSVRFUkFMX0RFRkxBVEVEOgorCQljbGVhcl9pbWFnZShpbWcpOworCQlpbWctPmxlbiA9IGZyYWdtZW50LT5zaXplOworCQlpbWctPmJ1ZiA9IHhtZW1kdXB6KGZyYWdtZW50LT5wYXRjaCwgaW1nLT5sZW4pOworCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIC0xOworfQorCisvKgorICogUmVwbGFjZSAiaW1nIiB3aXRoIHRoZSByZXN1bHQgb2YgYXBwbHlpbmcgdGhlIGJpbmFyeSBwYXRjaC4KKyAqIFRoZSBiaW5hcnkgcGF0Y2ggZGF0YSBpdHNlbGYgaW4gcGF0Y2gtPmZyYWdtZW50IGlzIHN0aWxsIGtlcHQKKyAqIGJ1dCB0aGUgcHJlaW1hZ2UgcHJlcGFyZWQgYnkgdGhlIGNhbGxlciBpbiAiaW1nIiBpcyBmcmVlZCBoZXJlCisgKiBvciBpbiB0aGUgaGVscGVyIGZ1bmN0aW9uIGFwcGx5X2JpbmFyeV9mcmFnbWVudCgpIHRoaXMgY2FsbHMuCisgKi8KK3N0YXRpYyBpbnQgYXBwbHlfYmluYXJ5KHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQlzdHJ1Y3QgaW1hZ2UgKmltZywKKwkJCXN0cnVjdCBwYXRjaCAqcGF0Y2gpCit7CisJY29uc3QgY2hhciAqbmFtZSA9IHBhdGNoLT5vbGRfbmFtZSA/IHBhdGNoLT5vbGRfbmFtZSA6IHBhdGNoLT5uZXdfbmFtZTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKworCS8qCisJICogRm9yIHNhZmV0eSwgd2UgcmVxdWlyZSBwYXRjaCBpbmRleCBsaW5lIHRvIGNvbnRhaW4KKwkgKiBmdWxsIDQwLWJ5dGUgdGV4dHVhbCBTSEExIGZvciBvbGQgYW5kIG5ldywgYXQgbGVhc3QgZm9yIG5vdy4KKwkgKi8KKwlpZiAoc3RybGVuKHBhdGNoLT5vbGRfc2hhMV9wcmVmaXgpICE9IDQwIHx8CisJICAgIHN0cmxlbihwYXRjaC0+bmV3X3NoYTFfcHJlZml4KSAhPSA0MCB8fAorCSAgICBnZXRfb2lkX2hleChwYXRjaC0+b2xkX3NoYTFfcHJlZml4LCAmb2lkKSB8fAorCSAgICBnZXRfb2lkX2hleChwYXRjaC0+bmV3X3NoYTFfcHJlZml4LCAmb2lkKSkKKwkJcmV0dXJuIGVycm9yKF8oImNhbm5vdCBhcHBseSBiaW5hcnkgcGF0Y2ggdG8gJyVzJyAiCisJCQkgICAgICAgIndpdGhvdXQgZnVsbCBpbmRleCBsaW5lIiksIG5hbWUpOworCisJaWYgKHBhdGNoLT5vbGRfbmFtZSkgeworCQkvKgorCQkgKiBTZWUgaWYgdGhlIG9sZCBvbmUgbWF0Y2hlcyB3aGF0IHRoZSBwYXRjaAorCQkgKiBhcHBsaWVzIHRvLgorCQkgKi8KKwkJaGFzaF9zaGExX2ZpbGUoaW1nLT5idWYsIGltZy0+bGVuLCBibG9iX3R5cGUsIG9pZC5oYXNoKTsKKwkJaWYgKHN0cmNtcChvaWRfdG9faGV4KCZvaWQpLCBwYXRjaC0+b2xkX3NoYTFfcHJlZml4KSkKKwkJCXJldHVybiBlcnJvcihfKCJ0aGUgcGF0Y2ggYXBwbGllcyB0byAnJXMnICglcyksICIKKwkJCQkgICAgICAgIndoaWNoIGRvZXMgbm90IG1hdGNoIHRoZSAiCisJCQkJICAgICAgICJjdXJyZW50IGNvbnRlbnRzLiIpLAorCQkJCSAgICAgbmFtZSwgb2lkX3RvX2hleCgmb2lkKSk7CisJfQorCWVsc2UgeworCQkvKiBPdGhlcndpc2UsIHRoZSBvbGQgb25lIG11c3QgYmUgZW1wdHkuICovCisJCWlmIChpbWctPmxlbikKKwkJCXJldHVybiBlcnJvcihfKCJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAiCisJCQkJICAgICAgICInJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiKSwgbmFtZSk7CisJfQorCisJZ2V0X29pZF9oZXgocGF0Y2gtPm5ld19zaGExX3ByZWZpeCwgJm9pZCk7CisJaWYgKGlzX251bGxfb2lkKCZvaWQpKSB7CisJCWNsZWFyX2ltYWdlKGltZyk7CisJCXJldHVybiAwOyAvKiBkZWxldGlvbiBwYXRjaCAqLworCX0KKworCWlmIChoYXNfc2hhMV9maWxlKG9pZC5oYXNoKSkgeworCQkvKiBXZSBhbHJlYWR5IGhhdmUgdGhlIHBvc3RpbWFnZSAqLworCQllbnVtIG9iamVjdF90eXBlIHR5cGU7CisJCXVuc2lnbmVkIGxvbmcgc2l6ZTsKKwkJY2hhciAqcmVzdWx0OworCisJCXJlc3VsdCA9IHJlYWRfc2hhMV9maWxlKG9pZC5oYXNoLCAmdHlwZSwgJnNpemUpOworCQlpZiAoIXJlc3VsdCkKKwkJCXJldHVybiBlcnJvcihfKCJ0aGUgbmVjZXNzYXJ5IHBvc3RpbWFnZSAlcyBmb3IgIgorCQkJCSAgICAgICAiJyVzJyBjYW5ub3QgYmUgcmVhZCIpLAorCQkJCSAgICAgcGF0Y2gtPm5ld19zaGExX3ByZWZpeCwgbmFtZSk7CisJCWNsZWFyX2ltYWdlKGltZyk7CisJCWltZy0+YnVmID0gcmVzdWx0OworCQlpbWctPmxlbiA9IHNpemU7CisJfSBlbHNlIHsKKwkJLyoKKwkJICogV2UgaGF2ZSB2ZXJpZmllZCBidWYgbWF0Y2hlcyB0aGUgcHJlaW1hZ2U7CisJCSAqIGFwcGx5IHRoZSBwYXRjaCBkYXRhIHRvIGl0LCB3aGljaCBpcyBzdG9yZWQKKwkJICogaW4gdGhlIHBhdGNoLT5mcmFnbWVudHMtPntwYXRjaCxzaXplfS4KKwkJICovCisJCWlmIChhcHBseV9iaW5hcnlfZnJhZ21lbnQoc3RhdGUsIGltZywgcGF0Y2gpKQorCQkJcmV0dXJuIGVycm9yKF8oImJpbmFyeSBwYXRjaCBkb2VzIG5vdCBhcHBseSB0byAnJXMnIiksCisJCQkJICAgICBuYW1lKTsKKworCQkvKiB2ZXJpZnkgdGhhdCB0aGUgcmVzdWx0IG1hdGNoZXMgKi8KKwkJaGFzaF9zaGExX2ZpbGUoaW1nLT5idWYsIGltZy0+bGVuLCBibG9iX3R5cGUsIG9pZC5oYXNoKTsKKwkJaWYgKHN0cmNtcChvaWRfdG9faGV4KCZvaWQpLCBwYXRjaC0+bmV3X3NoYTFfcHJlZml4KSkKKwkJCXJldHVybiBlcnJvcihfKCJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIpLAorCQkJCW5hbWUsIHBhdGNoLT5uZXdfc2hhMV9wcmVmaXgsIG9pZF90b19oZXgoJm9pZCkpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFwcGx5X2ZyYWdtZW50cyhzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgaW1hZ2UgKmltZywgc3RydWN0IHBhdGNoICpwYXRjaCkKK3sKKwlzdHJ1Y3QgZnJhZ21lbnQgKmZyYWcgPSBwYXRjaC0+ZnJhZ21lbnRzOworCWNvbnN0IGNoYXIgKm5hbWUgPSBwYXRjaC0+b2xkX25hbWUgPyBwYXRjaC0+b2xkX25hbWUgOiBwYXRjaC0+bmV3X25hbWU7CisJdW5zaWduZWQgd3NfcnVsZSA9IHBhdGNoLT53c19ydWxlOworCXVuc2lnbmVkIGluYWNjdXJhdGVfZW9mID0gcGF0Y2gtPmluYWNjdXJhdGVfZW9mOworCWludCBudGggPSAwOworCisJaWYgKHBhdGNoLT5pc19iaW5hcnkpCisJCXJldHVybiBhcHBseV9iaW5hcnkoc3RhdGUsIGltZywgcGF0Y2gpOworCisJd2hpbGUgKGZyYWcpIHsKKwkJbnRoKys7CisJCWlmIChhcHBseV9vbmVfZnJhZ21lbnQoc3RhdGUsIGltZywgZnJhZywgaW5hY2N1cmF0ZV9lb2YsIHdzX3J1bGUsIG50aCkpIHsKKwkJCWVycm9yKF8oInBhdGNoIGZhaWxlZDogJXM6JWxkIiksIG5hbWUsIGZyYWctPm9sZHBvcyk7CisJCQlpZiAoIXN0YXRlLT5hcHBseV93aXRoX3JlamVjdCkKKwkJCQlyZXR1cm4gLTE7CisJCQlmcmFnLT5yZWplY3RlZCA9IDE7CisJCX0KKwkJZnJhZyA9IGZyYWctPm5leHQ7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHJlYWRfYmxvYl9vYmplY3Qoc3RydWN0IHN0cmJ1ZiAqYnVmLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHVuc2lnbmVkIG1vZGUpCit7CisJaWYgKFNfSVNHSVRMSU5LKG1vZGUpKSB7CisJCXN0cmJ1Zl9ncm93KGJ1ZiwgMTAwKTsKKwkJc3RyYnVmX2FkZGYoYnVmLCAiU3VicHJvamVjdCBjb21taXQgJXNcbiIsIG9pZF90b19oZXgob2lkKSk7CisJfSBlbHNlIHsKKwkJZW51bSBvYmplY3RfdHlwZSB0eXBlOworCQl1bnNpZ25lZCBsb25nIHN6OworCQljaGFyICpyZXN1bHQ7CisKKwkJcmVzdWx0ID0gcmVhZF9zaGExX2ZpbGUob2lkLT5oYXNoLCAmdHlwZSwgJnN6KTsKKwkJaWYgKCFyZXN1bHQpCisJCQlyZXR1cm4gLTE7CisJCS8qIFhYWCByZWFkX3NoYTFfZmlsZSBOVUwtdGVybWluYXRlcyAqLworCQlzdHJidWZfYXR0YWNoKGJ1ZiwgcmVzdWx0LCBzeiwgc3ogKyAxKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcmVhZF9maWxlX29yX2dpdGxpbmsoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgc3RydWN0IHN0cmJ1ZiAqYnVmKQoreworCWlmICghY2UpCisJCXJldHVybiAwOworCXJldHVybiByZWFkX2Jsb2Jfb2JqZWN0KGJ1ZiwgJmNlLT5vaWQsIGNlLT5jZV9tb2RlKTsKK30KKworc3RhdGljIHN0cnVjdCBwYXRjaCAqaW5fZm5fdGFibGUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKKworCWlmIChuYW1lID09IE5VTEwpCisJCXJldHVybiBOVUxMOworCisJaXRlbSA9IHN0cmluZ19saXN0X2xvb2t1cCgmc3RhdGUtPmZuX3RhYmxlLCBuYW1lKTsKKwlpZiAoaXRlbSAhPSBOVUxMKQorCQlyZXR1cm4gKHN0cnVjdCBwYXRjaCAqKWl0ZW0tPnV0aWw7CisKKwlyZXR1cm4gTlVMTDsKK30KKworLyoKKyAqIGl0ZW0tPnV0aWwgaW4gdGhlIGZpbGVuYW1lIHRhYmxlIHJlY29yZHMgdGhlIHN0YXR1cyBvZiB0aGUgcGF0aC4KKyAqIFVzdWFsbHkgaXQgcG9pbnRzIGF0IGEgcGF0Y2ggKHdob3NlIHJlc3VsdCByZWNvcmRzIHRoZSBjb250ZW50cworICogb2YgaXQgYWZ0ZXIgYXBwbHlpbmcgaXQpLCBidXQgaXQgY291bGQgYmUgUEFUSF9XQVNfREVMRVRFRCBmb3IgYQorICogcGF0aCB0aGF0IGEgcHJldmlvdXNseSBhcHBsaWVkIHBhdGNoIGhhcyBhbHJlYWR5IHJlbW92ZWQsIG9yCisgKiBQQVRIX1RPX0JFX0RFTEVURUQgZm9yIGEgcGF0aCB0aGF0IGEgbGF0ZXIgcGF0Y2ggd291bGQgcmVtb3ZlLgorICoKKyAqIFRoZSBsYXR0ZXIgaXMgbmVlZGVkIHRvIGRlYWwgd2l0aCBhIGNhc2Ugd2hlcmUgdHdvIHBhdGhzIEEgYW5kIEIKKyAqIGFyZSBzd2FwcGVkIGJ5IGZpcnN0IHJlbmFtaW5nIEEgdG8gQiBhbmQgdGhlbiByZW5hbWluZyBCIHRvIEE7CisgKiBtb3ZpbmcgQSB0byBCIHNob3VsZCBub3QgYmUgcHJldmVudGVkIGR1ZSB0byBwcmVzZW5jZSBvZiBCIGFzIHdlCisgKiB3aWxsIHJlbW92ZSBpdCBpbiBhIGxhdGVyIHBhdGNoLgorICovCisjZGVmaW5lIFBBVEhfVE9fQkVfREVMRVRFRCAoKHN0cnVjdCBwYXRjaCAqKSAtMikKKyNkZWZpbmUgUEFUSF9XQVNfREVMRVRFRCAoKHN0cnVjdCBwYXRjaCAqKSAtMSkKKworc3RhdGljIGludCB0b19iZV9kZWxldGVkKHN0cnVjdCBwYXRjaCAqcGF0Y2gpCit7CisJcmV0dXJuIHBhdGNoID09IFBBVEhfVE9fQkVfREVMRVRFRDsKK30KKworc3RhdGljIGludCB3YXNfZGVsZXRlZChzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCXJldHVybiBwYXRjaCA9PSBQQVRIX1dBU19ERUxFVEVEOworfQorCitzdGF0aWMgdm9pZCBhZGRfdG9fZm5fdGFibGUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwgc3RydWN0IHBhdGNoICpwYXRjaCkKK3sKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKKworCS8qCisJICogQWx3YXlzIGFkZCBuZXdfbmFtZSB1bmxlc3MgcGF0Y2ggaXMgYSBkZWxldGlvbgorCSAqIFRoaXMgc2hvdWxkIGNvdmVyIHRoZSBjYXNlcyBmb3Igbm9ybWFsIGRpZmZzLAorCSAqIGZpbGUgY3JlYXRpb25zIGFuZCBjb3BpZXMKKwkgKi8KKwlpZiAocGF0Y2gtPm5ld19uYW1lICE9IE5VTEwpIHsKKwkJaXRlbSA9IHN0cmluZ19saXN0X2luc2VydCgmc3RhdGUtPmZuX3RhYmxlLCBwYXRjaC0+bmV3X25hbWUpOworCQlpdGVtLT51dGlsID0gcGF0Y2g7CisJfQorCisJLyoKKwkgKiBzdG9yZSBhIGZhaWx1cmUgb24gcmVuYW1lL2RlbGV0aW9uIGNhc2VzIGJlY2F1c2UKKwkgKiBsYXRlciBjaHVua3Mgc2hvdWxkbid0IHBhdGNoIG9sZCBuYW1lcworCSAqLworCWlmICgocGF0Y2gtPm5ld19uYW1lID09IE5VTEwpIHx8IChwYXRjaC0+aXNfcmVuYW1lKSkgeworCQlpdGVtID0gc3RyaW5nX2xpc3RfaW5zZXJ0KCZzdGF0ZS0+Zm5fdGFibGUsIHBhdGNoLT5vbGRfbmFtZSk7CisJCWl0ZW0tPnV0aWwgPSBQQVRIX1dBU19ERUxFVEVEOworCX0KK30KKworc3RhdGljIHZvaWQgcHJlcGFyZV9mbl90YWJsZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCS8qCisJICogc3RvcmUgaW5mb3JtYXRpb24gYWJvdXQgaW5jb21pbmcgZmlsZSBkZWxldGlvbgorCSAqLworCXdoaWxlIChwYXRjaCkgeworCQlpZiAoKHBhdGNoLT5uZXdfbmFtZSA9PSBOVUxMKSB8fCAocGF0Y2gtPmlzX3JlbmFtZSkpIHsKKwkJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOworCQkJaXRlbSA9IHN0cmluZ19saXN0X2luc2VydCgmc3RhdGUtPmZuX3RhYmxlLCBwYXRjaC0+b2xkX25hbWUpOworCQkJaXRlbS0+dXRpbCA9IFBBVEhfVE9fQkVfREVMRVRFRDsKKwkJfQorCQlwYXRjaCA9IHBhdGNoLT5uZXh0OworCX0KK30KKworc3RhdGljIGludCBjaGVja291dF90YXJnZXQoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCQkgICBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLCBzdHJ1Y3Qgc3RhdCAqc3QpCit7CisJc3RydWN0IGNoZWNrb3V0IGNvc3RhdGUgPSBDSEVDS09VVF9JTklUOworCisJY29zdGF0ZS5yZWZyZXNoX2NhY2hlID0gMTsKKwljb3N0YXRlLmlzdGF0ZSA9IGlzdGF0ZTsKKwlpZiAoY2hlY2tvdXRfZW50cnkoY2UsICZjb3N0YXRlLCBOVUxMKSB8fCBsc3RhdChjZS0+bmFtZSwgc3QpKQorCQlyZXR1cm4gZXJyb3IoXygiY2Fubm90IGNoZWNrb3V0ICVzIiksIGNlLT5uYW1lKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBwYXRjaCAqcHJldmlvdXNfcGF0Y2goc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCQkgICAgc3RydWN0IHBhdGNoICpwYXRjaCwKKwkJCQkgICAgaW50ICpnb25lKQoreworCXN0cnVjdCBwYXRjaCAqcHJldmlvdXM7CisKKwkqZ29uZSA9IDA7CisJaWYgKHBhdGNoLT5pc19jb3B5IHx8IHBhdGNoLT5pc19yZW5hbWUpCisJCXJldHVybiBOVUxMOyAvKiAiZ2l0IiBwYXRjaGVzIGRvIG5vdCBkZXBlbmQgb24gdGhlIG9yZGVyICovCisKKwlwcmV2aW91cyA9IGluX2ZuX3RhYmxlKHN0YXRlLCBwYXRjaC0+b2xkX25hbWUpOworCWlmICghcHJldmlvdXMpCisJCXJldHVybiBOVUxMOworCisJaWYgKHRvX2JlX2RlbGV0ZWQocHJldmlvdXMpKQorCQlyZXR1cm4gTlVMTDsgLyogdGhlIGRlbGV0aW9uIGhhc24ndCBoYXBwZW5lZCB5ZXQgKi8KKworCWlmICh3YXNfZGVsZXRlZChwcmV2aW91cykpCisJCSpnb25lID0gMTsKKworCXJldHVybiBwcmV2aW91czsKK30KKworc3RhdGljIGludCB2ZXJpZnlfaW5kZXhfbWF0Y2goY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgc3RydWN0IHN0YXQgKnN0KQoreworCWlmIChTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSkpIHsKKwkJaWYgKCFTX0lTRElSKHN0LT5zdF9tb2RlKSkKKwkJCXJldHVybiAtMTsKKwkJcmV0dXJuIDA7CisJfQorCXJldHVybiBjZV9tYXRjaF9zdGF0KGNlLCBzdCwgQ0VfTUFUQ0hfSUdOT1JFX1ZBTElEfENFX01BVENIX0lHTk9SRV9TS0lQX1dPUktUUkVFKTsKK30KKworI2RlZmluZSBTVUJNT0RVTEVfUEFUQ0hfV0lUSE9VVF9JTkRFWCAxCisKK3N0YXRpYyBpbnQgbG9hZF9wYXRjaF90YXJnZXQoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCSAgICAgc3RydWN0IHN0cmJ1ZiAqYnVmLAorCQkJICAgICBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLAorCQkJICAgICBzdHJ1Y3Qgc3RhdCAqc3QsCisJCQkgICAgIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkgICAgIHVuc2lnbmVkIGV4cGVjdGVkX21vZGUpCit7CisJaWYgKHN0YXRlLT5jYWNoZWQgfHwgc3RhdGUtPmNoZWNrX2luZGV4KSB7CisJCWlmIChyZWFkX2ZpbGVfb3JfZ2l0bGluayhjZSwgYnVmKSkKKwkJCXJldHVybiBlcnJvcihfKCJmYWlsZWQgdG8gcmVhZCAlcyIpLCBuYW1lKTsKKwl9IGVsc2UgaWYgKG5hbWUpIHsKKwkJaWYgKFNfSVNHSVRMSU5LKGV4cGVjdGVkX21vZGUpKSB7CisJCQlpZiAoY2UpCisJCQkJcmV0dXJuIHJlYWRfZmlsZV9vcl9naXRsaW5rKGNlLCBidWYpOworCQkJZWxzZQorCQkJCXJldHVybiBTVUJNT0RVTEVfUEFUQ0hfV0lUSE9VVF9JTkRFWDsKKwkJfSBlbHNlIGlmIChoYXNfc3ltbGlua19sZWFkaW5nX3BhdGgobmFtZSwgc3RybGVuKG5hbWUpKSkgeworCQkJcmV0dXJuIGVycm9yKF8oInJlYWRpbmcgZnJvbSAnJXMnIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiKSwgbmFtZSk7CisJCX0gZWxzZSB7CisJCQlpZiAocmVhZF9vbGRfZGF0YShzdCwgbmFtZSwgYnVmKSkKKwkJCQlyZXR1cm4gZXJyb3IoXygiZmFpbGVkIHRvIHJlYWQgJXMiKSwgbmFtZSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBXZSBhcmUgYWJvdXQgdG8gYXBwbHkgInBhdGNoIjsgcG9wdWxhdGUgdGhlICJpbWFnZSIgd2l0aCB0aGUKKyAqIGN1cnJlbnQgdmVyc2lvbiB3ZSBoYXZlLCBmcm9tIHRoZSB3b3JraW5nIHRyZWUgb3IgZnJvbSB0aGUgaW5kZXgsCisgKiBkZXBlbmRpbmcgb24gdGhlIHNpdHVhdGlvbiBlLmcuIC0tY2FjaGVkLy0taW5kZXguICBJZiB3ZSBhcmUKKyAqIGFwcGx5aW5nIGEgbm9uLWdpdCBwYXRjaCB0aGF0IGluY3JlbWVudGFsbHkgdXBkYXRlcyB0aGUgdHJlZSwKKyAqIHdlIHJlYWQgZnJvbSB0aGUgcmVzdWx0IG9mIGEgcHJldmlvdXMgZGlmZi4KKyAqLworc3RhdGljIGludCBsb2FkX3ByZWltYWdlKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkgc3RydWN0IGltYWdlICppbWFnZSwKKwkJCSBzdHJ1Y3QgcGF0Y2ggKnBhdGNoLCBzdHJ1Y3Qgc3RhdCAqc3QsCisJCQkgY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCXNpemVfdCBsZW47CisJY2hhciAqaW1nOworCXN0cnVjdCBwYXRjaCAqcHJldmlvdXM7CisJaW50IHN0YXR1czsKKworCXByZXZpb3VzID0gcHJldmlvdXNfcGF0Y2goc3RhdGUsIHBhdGNoLCAmc3RhdHVzKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gZXJyb3IoXygicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiKSwKKwkJCSAgICAgcGF0Y2gtPm9sZF9uYW1lKTsKKwlpZiAocHJldmlvdXMpIHsKKwkJLyogV2UgaGF2ZSBhIHBhdGNoZWQgY29weSBpbiBtZW1vcnk7IHVzZSB0aGF0LiAqLworCQlzdHJidWZfYWRkKCZidWYsIHByZXZpb3VzLT5yZXN1bHQsIHByZXZpb3VzLT5yZXN1bHRzaXplKTsKKwl9IGVsc2UgeworCQlzdGF0dXMgPSBsb2FkX3BhdGNoX3RhcmdldChzdGF0ZSwgJmJ1ZiwgY2UsIHN0LAorCQkJCQkgICBwYXRjaC0+b2xkX25hbWUsIHBhdGNoLT5vbGRfbW9kZSk7CisJCWlmIChzdGF0dXMgPCAwKQorCQkJcmV0dXJuIHN0YXR1czsKKwkJZWxzZSBpZiAoc3RhdHVzID09IFNVQk1PRFVMRV9QQVRDSF9XSVRIT1VUX0lOREVYKSB7CisJCQkvKgorCQkJICogVGhlcmUgaXMgbm8gd2F5IHRvIGFwcGx5IHN1YnByb2plY3QKKwkJCSAqIHBhdGNoIHdpdGhvdXQgbG9va2luZyBhdCB0aGUgaW5kZXguCisJCQkgKiBORUVEU1dPUks6IHNob3VsZG4ndCB0aGlzIGJlIGZsYWdnZWQKKwkJCSAqIGFzIGFuIGVycm9yPz8/CisJCQkgKi8KKwkJCWZyZWVfZnJhZ21lbnRfbGlzdChwYXRjaC0+ZnJhZ21lbnRzKTsKKwkJCXBhdGNoLT5mcmFnbWVudHMgPSBOVUxMOworCQl9IGVsc2UgaWYgKHN0YXR1cykgeworCQkJcmV0dXJuIGVycm9yKF8oImZhaWxlZCB0byByZWFkICVzIiksIHBhdGNoLT5vbGRfbmFtZSk7CisJCX0KKwl9CisKKwlpbWcgPSBzdHJidWZfZGV0YWNoKCZidWYsICZsZW4pOworCXByZXBhcmVfaW1hZ2UoaW1hZ2UsIGltZywgbGVuLCAhcGF0Y2gtPmlzX2JpbmFyeSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGhyZWVfd2F5X21lcmdlKHN0cnVjdCBpbWFnZSAqaW1hZ2UsCisJCQkgICBjaGFyICpwYXRoLAorCQkJICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYmFzZSwKKwkJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm91cnMsCisJCQkgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp0aGVpcnMpCit7CisJbW1maWxlX3QgYmFzZV9maWxlLCBvdXJfZmlsZSwgdGhlaXJfZmlsZTsKKwltbWJ1ZmZlcl90IHJlc3VsdCA9IHsgTlVMTCB9OworCWludCBzdGF0dXM7CisKKwlyZWFkX21tYmxvYigmYmFzZV9maWxlLCBiYXNlKTsKKwlyZWFkX21tYmxvYigmb3VyX2ZpbGUsIG91cnMpOworCXJlYWRfbW1ibG9iKCZ0aGVpcl9maWxlLCB0aGVpcnMpOworCXN0YXR1cyA9IGxsX21lcmdlKCZyZXN1bHQsIHBhdGgsCisJCQkgICZiYXNlX2ZpbGUsICJiYXNlIiwKKwkJCSAgJm91cl9maWxlLCAib3VycyIsCisJCQkgICZ0aGVpcl9maWxlLCAidGhlaXJzIiwgTlVMTCk7CisJZnJlZShiYXNlX2ZpbGUucHRyKTsKKwlmcmVlKG91cl9maWxlLnB0cik7CisJZnJlZSh0aGVpcl9maWxlLnB0cik7CisJaWYgKHN0YXR1cyA8IDAgfHwgIXJlc3VsdC5wdHIpIHsKKwkJZnJlZShyZXN1bHQucHRyKTsKKwkJcmV0dXJuIC0xOworCX0KKwljbGVhcl9pbWFnZShpbWFnZSk7CisJaW1hZ2UtPmJ1ZiA9IHJlc3VsdC5wdHI7CisJaW1hZ2UtPmxlbiA9IHJlc3VsdC5zaXplOworCisJcmV0dXJuIHN0YXR1czsKK30KKworLyoKKyAqIFdoZW4gZGlyZWN0bHkgZmFsbGluZyBiYWNrIHRvIGFkZC9hZGQgdGhyZWUtd2F5IG1lcmdlLCB3ZSByZWFkIGZyb20KKyAqIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIHRoZSBuZXdfbmFtZS4gIEluIG5vIGNhc2VzIG90aGVyIHRoYW4gdGhhdAorICogdGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZC4KKyAqLworc3RhdGljIGludCBsb2FkX2N1cnJlbnQoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCXN0cnVjdCBpbWFnZSAqaW1hZ2UsCisJCQlzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJaW50IHN0YXR1cywgcG9zOworCXNpemVfdCBsZW47CisJY2hhciAqaW1nOworCXN0cnVjdCBzdGF0IHN0OworCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7CisJY2hhciAqbmFtZSA9IHBhdGNoLT5uZXdfbmFtZTsKKwl1bnNpZ25lZCBtb2RlID0gcGF0Y2gtPm5ld19tb2RlOworCisJaWYgKCFwYXRjaC0+aXNfbmV3KQorCQlkaWUoIkJVRzogcGF0Y2ggdG8gJXMgaXMgbm90IGEgY3JlYXRpb24iLCBwYXRjaC0+b2xkX25hbWUpOworCisJcG9zID0gY2FjaGVfbmFtZV9wb3MobmFtZSwgc3RybGVuKG5hbWUpKTsKKwlpZiAocG9zIDwgMCkKKwkJcmV0dXJuIGVycm9yKF8oIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIpLCBuYW1lKTsKKwljZSA9IGFjdGl2ZV9jYWNoZVtwb3NdOworCWlmIChsc3RhdChuYW1lLCAmc3QpKSB7CisJCWlmIChlcnJubyAhPSBFTk9FTlQpCisJCQlyZXR1cm4gZXJyb3JfZXJybm8oIiVzIiwgbmFtZSk7CisJCWlmIChjaGVja291dF90YXJnZXQoJnRoZV9pbmRleCwgY2UsICZzdCkpCisJCQlyZXR1cm4gLTE7CisJfQorCWlmICh2ZXJpZnlfaW5kZXhfbWF0Y2goY2UsICZzdCkpCisJCXJldHVybiBlcnJvcihfKCIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiKSwgbmFtZSk7CisKKwlzdGF0dXMgPSBsb2FkX3BhdGNoX3RhcmdldChzdGF0ZSwgJmJ1ZiwgY2UsICZzdCwgbmFtZSwgbW9kZSk7CisJaWYgKHN0YXR1cyA8IDApCisJCXJldHVybiBzdGF0dXM7CisJZWxzZSBpZiAoc3RhdHVzKQorCQlyZXR1cm4gLTE7CisJaW1nID0gc3RyYnVmX2RldGFjaCgmYnVmLCAmbGVuKTsKKwlwcmVwYXJlX2ltYWdlKGltYWdlLCBpbWcsIGxlbiwgIXBhdGNoLT5pc19iaW5hcnkpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRyeV90aHJlZXdheShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJc3RydWN0IGltYWdlICppbWFnZSwKKwkJCXN0cnVjdCBwYXRjaCAqcGF0Y2gsCisJCQlzdHJ1Y3Qgc3RhdCAqc3QsCisJCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlKQoreworCXN0cnVjdCBvYmplY3RfaWQgcHJlX29pZCwgcG9zdF9vaWQsIG91cl9vaWQ7CisJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKKwlzaXplX3QgbGVuOworCWludCBzdGF0dXM7CisJY2hhciAqaW1nOworCXN0cnVjdCBpbWFnZSB0bXBfaW1hZ2U7CisKKwkvKiBObyBwb2ludCBmYWxsaW5nIGJhY2sgdG8gMy13YXkgbWVyZ2UgaW4gdGhlc2UgY2FzZXMgKi8KKwlpZiAocGF0Y2gtPmlzX2RlbGV0ZSB8fAorCSAgICBTX0lTR0lUTElOSyhwYXRjaC0+b2xkX21vZGUpIHx8IFNfSVNHSVRMSU5LKHBhdGNoLT5uZXdfbW9kZSkpCisJCXJldHVybiAtMTsKKworCS8qIFByZWltYWdlIHRoZSBwYXRjaCB3YXMgcHJlcGFyZWQgZm9yICovCisJaWYgKHBhdGNoLT5pc19uZXcpCisJCXdyaXRlX3NoYTFfZmlsZSgiIiwgMCwgYmxvYl90eXBlLCBwcmVfb2lkLmhhc2gpOworCWVsc2UgaWYgKGdldF9zaGExKHBhdGNoLT5vbGRfc2hhMV9wcmVmaXgsIHByZV9vaWQuaGFzaCkgfHwKKwkJIHJlYWRfYmxvYl9vYmplY3QoJmJ1ZiwgJnByZV9vaWQsIHBhdGNoLT5vbGRfbW9kZSkpCisJCXJldHVybiBlcnJvcihfKCJyZXBvc2l0b3J5IGxhY2tzIHRoZSBuZWNlc3NhcnkgYmxvYiB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIikpOworCisJaWYgKHN0YXRlLT5hcHBseV92ZXJib3NpdHkgPiB2ZXJib3NpdHlfc2lsZW50KQorCQlmcHJpbnRmKHN0ZGVyciwgXygiRmFsbGluZyBiYWNrIHRvIHRocmVlLXdheSBtZXJnZS4uLlxuIikpOworCisJaW1nID0gc3RyYnVmX2RldGFjaCgmYnVmLCAmbGVuKTsKKwlwcmVwYXJlX2ltYWdlKCZ0bXBfaW1hZ2UsIGltZywgbGVuLCAxKTsKKwkvKiBBcHBseSB0aGUgcGF0Y2ggdG8gZ2V0IHRoZSBwb3N0IGltYWdlICovCisJaWYgKGFwcGx5X2ZyYWdtZW50cyhzdGF0ZSwgJnRtcF9pbWFnZSwgcGF0Y2gpIDwgMCkgeworCQljbGVhcl9pbWFnZSgmdG1wX2ltYWdlKTsKKwkJcmV0dXJuIC0xOworCX0KKwkvKiBwb3N0X29pZCBpcyB0aGVpcnMgKi8KKwl3cml0ZV9zaGExX2ZpbGUodG1wX2ltYWdlLmJ1ZiwgdG1wX2ltYWdlLmxlbiwgYmxvYl90eXBlLCBwb3N0X29pZC5oYXNoKTsKKwljbGVhcl9pbWFnZSgmdG1wX2ltYWdlKTsKKworCS8qIG91cl9vaWQgaXMgb3VycyAqLworCWlmIChwYXRjaC0+aXNfbmV3KSB7CisJCWlmIChsb2FkX2N1cnJlbnQoc3RhdGUsICZ0bXBfaW1hZ2UsIHBhdGNoKSkKKwkJCXJldHVybiBlcnJvcihfKCJjYW5ub3QgcmVhZCB0aGUgY3VycmVudCBjb250ZW50cyBvZiAnJXMnIiksCisJCQkJICAgICBwYXRjaC0+bmV3X25hbWUpOworCX0gZWxzZSB7CisJCWlmIChsb2FkX3ByZWltYWdlKHN0YXRlLCAmdG1wX2ltYWdlLCBwYXRjaCwgc3QsIGNlKSkKKwkJCXJldHVybiBlcnJvcihfKCJjYW5ub3QgcmVhZCB0aGUgY3VycmVudCBjb250ZW50cyBvZiAnJXMnIiksCisJCQkJICAgICBwYXRjaC0+b2xkX25hbWUpOworCX0KKwl3cml0ZV9zaGExX2ZpbGUodG1wX2ltYWdlLmJ1ZiwgdG1wX2ltYWdlLmxlbiwgYmxvYl90eXBlLCBvdXJfb2lkLmhhc2gpOworCWNsZWFyX2ltYWdlKCZ0bXBfaW1hZ2UpOworCisJLyogaW4tY29yZSB0aHJlZS13YXkgbWVyZ2UgYmV0d2VlbiBwb3N0IGFuZCBvdXIgdXNpbmcgcHJlIGFzIGJhc2UgKi8KKwlzdGF0dXMgPSB0aHJlZV93YXlfbWVyZ2UoaW1hZ2UsIHBhdGNoLT5uZXdfbmFtZSwKKwkJCQkgJnByZV9vaWQsICZvdXJfb2lkLCAmcG9zdF9vaWQpOworCWlmIChzdGF0dXMgPCAwKSB7CisJCWlmIChzdGF0ZS0+YXBwbHlfdmVyYm9zaXR5ID4gdmVyYm9zaXR5X3NpbGVudCkKKwkJCWZwcmludGYoc3RkZXJyLAorCQkJCV8oIkZhaWxlZCB0byBmYWxsIGJhY2sgb24gdGhyZWUtd2F5IG1lcmdlLi4uXG4iKSk7CisJCXJldHVybiBzdGF0dXM7CisJfQorCisJaWYgKHN0YXR1cykgeworCQlwYXRjaC0+Y29uZmxpY3RlZF90aHJlZXdheSA9IDE7CisJCWlmIChwYXRjaC0+aXNfbmV3KQorCQkJb2lkY2xyKCZwYXRjaC0+dGhyZWV3YXlfc3RhZ2VbMF0pOworCQllbHNlCisJCQlvaWRjcHkoJnBhdGNoLT50aHJlZXdheV9zdGFnZVswXSwgJnByZV9vaWQpOworCQlvaWRjcHkoJnBhdGNoLT50aHJlZXdheV9zdGFnZVsxXSwgJm91cl9vaWQpOworCQlvaWRjcHkoJnBhdGNoLT50aHJlZXdheV9zdGFnZVsyXSwgJnBvc3Rfb2lkKTsKKwkJaWYgKHN0YXRlLT5hcHBseV92ZXJib3NpdHkgPiB2ZXJib3NpdHlfc2lsZW50KQorCQkJZnByaW50ZihzdGRlcnIsCisJCQkJXygiQXBwbGllZCBwYXRjaCB0byAnJXMnIHdpdGggY29uZmxpY3RzLlxuIiksCisJCQkJcGF0Y2gtPm5ld19uYW1lKTsKKwl9IGVsc2UgeworCQlpZiAoc3RhdGUtPmFwcGx5X3ZlcmJvc2l0eSA+IHZlcmJvc2l0eV9zaWxlbnQpCisJCQlmcHJpbnRmKHN0ZGVyciwKKwkJCQlfKCJBcHBsaWVkIHBhdGNoIHRvICclcycgY2xlYW5seS5cbiIpLAorCQkJCXBhdGNoLT5uZXdfbmFtZSk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFwcGx5X2RhdGEoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwgc3RydWN0IHBhdGNoICpwYXRjaCwKKwkJICAgICAgc3RydWN0IHN0YXQgKnN0LCBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlKQoreworCXN0cnVjdCBpbWFnZSBpbWFnZTsKKworCWlmIChsb2FkX3ByZWltYWdlKHN0YXRlLCAmaW1hZ2UsIHBhdGNoLCBzdCwgY2UpIDwgMCkKKwkJcmV0dXJuIC0xOworCisJaWYgKHBhdGNoLT5kaXJlY3RfdG9fdGhyZWV3YXkgfHwKKwkgICAgYXBwbHlfZnJhZ21lbnRzKHN0YXRlLCAmaW1hZ2UsIHBhdGNoKSA8IDApIHsKKwkJLyogTm90ZTogd2l0aCAtLXJlamVjdCwgYXBwbHlfZnJhZ21lbnRzKCkgcmV0dXJucyAwICovCisJCWlmICghc3RhdGUtPnRocmVld2F5IHx8IHRyeV90aHJlZXdheShzdGF0ZSwgJmltYWdlLCBwYXRjaCwgc3QsIGNlKSA8IDApCisJCQlyZXR1cm4gLTE7CisJfQorCXBhdGNoLT5yZXN1bHQgPSBpbWFnZS5idWY7CisJcGF0Y2gtPnJlc3VsdHNpemUgPSBpbWFnZS5sZW47CisJYWRkX3RvX2ZuX3RhYmxlKHN0YXRlLCBwYXRjaCk7CisJZnJlZShpbWFnZS5saW5lX2FsbG9jYXRlZCk7CisKKwlpZiAoMCA8IHBhdGNoLT5pc19kZWxldGUgJiYgcGF0Y2gtPnJlc3VsdHNpemUpCisJCXJldHVybiBlcnJvcihfKCJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIikpOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBJZiAicGF0Y2giIHRoYXQgd2UgYXJlIGxvb2tpbmcgYXQgbW9kaWZpZXMgb3IgZGVsZXRlcyB3aGF0IHdlIGhhdmUsCisgKiB3ZSB3b3VsZCB3YW50IGl0IG5vdCB0byBsb3NlIGFueSBsb2NhbCBtb2RpZmljYXRpb24gd2UgaGF2ZSwgZWl0aGVyCisgKiBpbiB0aGUgd29ya2luZyB0cmVlIG9yIGluIHRoZSBpbmRleC4KKyAqCisgKiBUaGlzIGFsc28gZGVjaWRlcyBpZiBhIG5vbi1naXQgcGF0Y2ggaXMgYSBjcmVhdGlvbiBwYXRjaCBvciBhCisgKiBtb2RpZmljYXRpb24gdG8gYW4gZXhpc3RpbmcgZW1wdHkgZmlsZS4gIFdlIGRvIG5vdCBjaGVjayB0aGUgc3RhdGUKKyAqIG9mIHRoZSBjdXJyZW50IHRyZWUgZm9yIGEgY3JlYXRpb24gcGF0Y2ggaW4gdGhpcyBmdW5jdGlvbjsgdGhlIGNhbGxlcgorICogY2hlY2tfcGF0Y2goKSBzZXBhcmF0ZWx5IG1ha2VzIHN1cmUgKGFuZCBlcnJvcnMgb3V0IG90aGVyd2lzZSkgdGhhdAorICogdGhlIHBhdGggdGhlIHBhdGNoIGNyZWF0ZXMgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGN1cnJlbnQgdHJlZS4KKyAqLworc3RhdGljIGludCBjaGVja19wcmVpbWFnZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoLAorCQkJICBzdHJ1Y3QgY2FjaGVfZW50cnkgKipjZSwKKwkJCSAgc3RydWN0IHN0YXQgKnN0KQoreworCWNvbnN0IGNoYXIgKm9sZF9uYW1lID0gcGF0Y2gtPm9sZF9uYW1lOworCXN0cnVjdCBwYXRjaCAqcHJldmlvdXMgPSBOVUxMOworCWludCBzdGF0X3JldCA9IDAsIHN0YXR1czsKKwl1bnNpZ25lZCBzdF9tb2RlID0gMDsKKworCWlmICghb2xkX25hbWUpCisJCXJldHVybiAwOworCisJYXNzZXJ0KHBhdGNoLT5pc19uZXcgPD0gMCk7CisJcHJldmlvdXMgPSBwcmV2aW91c19wYXRjaChzdGF0ZSwgcGF0Y2gsICZzdGF0dXMpOworCisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIGVycm9yKF8oInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIiksIG9sZF9uYW1lKTsKKwlpZiAocHJldmlvdXMpIHsKKwkJc3RfbW9kZSA9IHByZXZpb3VzLT5uZXdfbW9kZTsKKwl9IGVsc2UgaWYgKCFzdGF0ZS0+Y2FjaGVkKSB7CisJCXN0YXRfcmV0ID0gbHN0YXQob2xkX25hbWUsIHN0KTsKKwkJaWYgKHN0YXRfcmV0ICYmIGVycm5vICE9IEVOT0VOVCkKKwkJCXJldHVybiBlcnJvcl9lcnJubygiJXMiLCBvbGRfbmFtZSk7CisJfQorCisJaWYgKHN0YXRlLT5jaGVja19pbmRleCAmJiAhcHJldmlvdXMpIHsKKwkJaW50IHBvcyA9IGNhY2hlX25hbWVfcG9zKG9sZF9uYW1lLCBzdHJsZW4ob2xkX25hbWUpKTsKKwkJaWYgKHBvcyA8IDApIHsKKwkJCWlmIChwYXRjaC0+aXNfbmV3IDwgMCkKKwkJCQlnb3RvIGlzX25ldzsKKwkJCXJldHVybiBlcnJvcihfKCIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiKSwgb2xkX25hbWUpOworCQl9CisJCSpjZSA9IGFjdGl2ZV9jYWNoZVtwb3NdOworCQlpZiAoc3RhdF9yZXQgPCAwKSB7CisJCQlpZiAoY2hlY2tvdXRfdGFyZ2V0KCZ0aGVfaW5kZXgsICpjZSwgc3QpKQorCQkJCXJldHVybiAtMTsKKwkJfQorCQlpZiAoIXN0YXRlLT5jYWNoZWQgJiYgdmVyaWZ5X2luZGV4X21hdGNoKCpjZSwgc3QpKQorCQkJcmV0dXJuIGVycm9yKF8oIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIpLCBvbGRfbmFtZSk7CisJCWlmIChzdGF0ZS0+Y2FjaGVkKQorCQkJc3RfbW9kZSA9ICgqY2UpLT5jZV9tb2RlOworCX0gZWxzZSBpZiAoc3RhdF9yZXQgPCAwKSB7CisJCWlmIChwYXRjaC0+aXNfbmV3IDwgMCkKKwkJCWdvdG8gaXNfbmV3OworCQlyZXR1cm4gZXJyb3JfZXJybm8oIiVzIiwgb2xkX25hbWUpOworCX0KKworCWlmICghc3RhdGUtPmNhY2hlZCAmJiAhcHJldmlvdXMpCisJCXN0X21vZGUgPSBjZV9tb2RlX2Zyb21fc3RhdCgqY2UsIHN0LT5zdF9tb2RlKTsKKworCWlmIChwYXRjaC0+aXNfbmV3IDwgMCkKKwkJcGF0Y2gtPmlzX25ldyA9IDA7CisJaWYgKCFwYXRjaC0+b2xkX21vZGUpCisJCXBhdGNoLT5vbGRfbW9kZSA9IHN0X21vZGU7CisJaWYgKChzdF9tb2RlIF4gcGF0Y2gtPm9sZF9tb2RlKSAmIFNfSUZNVCkKKwkJcmV0dXJuIGVycm9yKF8oIiVzOiB3cm9uZyB0eXBlIiksIG9sZF9uYW1lKTsKKwlpZiAoc3RfbW9kZSAhPSBwYXRjaC0+b2xkX21vZGUpCisJCXdhcm5pbmcoXygiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIiksCisJCQlvbGRfbmFtZSwgc3RfbW9kZSwgcGF0Y2gtPm9sZF9tb2RlKTsKKwlpZiAoIXBhdGNoLT5uZXdfbW9kZSAmJiAhcGF0Y2gtPmlzX2RlbGV0ZSkKKwkJcGF0Y2gtPm5ld19tb2RlID0gc3RfbW9kZTsKKwlyZXR1cm4gMDsKKworIGlzX25ldzoKKwlwYXRjaC0+aXNfbmV3ID0gMTsKKwlwYXRjaC0+aXNfZGVsZXRlID0gMDsKKwlmcmVlKHBhdGNoLT5vbGRfbmFtZSk7CisJcGF0Y2gtPm9sZF9uYW1lID0gTlVMTDsKKwlyZXR1cm4gMDsKK30KKworCisjZGVmaW5lIEVYSVNUU19JTl9JTkRFWCAxCisjZGVmaW5lIEVYSVNUU19JTl9XT1JLVFJFRSAyCisKK3N0YXRpYyBpbnQgY2hlY2tfdG9fY3JlYXRlKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkgICBjb25zdCBjaGFyICpuZXdfbmFtZSwKKwkJCSAgIGludCBva19pZl9leGlzdHMpCit7CisJc3RydWN0IHN0YXQgbnN0OworCisJaWYgKHN0YXRlLT5jaGVja19pbmRleCAmJgorCSAgICBjYWNoZV9uYW1lX3BvcyhuZXdfbmFtZSwgc3RybGVuKG5ld19uYW1lKSkgPj0gMCAmJgorCSAgICAhb2tfaWZfZXhpc3RzKQorCQlyZXR1cm4gRVhJU1RTX0lOX0lOREVYOworCWlmIChzdGF0ZS0+Y2FjaGVkKQorCQlyZXR1cm4gMDsKKworCWlmICghbHN0YXQobmV3X25hbWUsICZuc3QpKSB7CisJCWlmIChTX0lTRElSKG5zdC5zdF9tb2RlKSB8fCBva19pZl9leGlzdHMpCisJCQlyZXR1cm4gMDsKKwkJLyoKKwkJICogQSBsZWFkaW5nIGNvbXBvbmVudCBvZiBuZXdfbmFtZSBtaWdodCBiZSBhIHN5bWxpbmsKKwkJICogdGhhdCBpcyBnb2luZyB0byBiZSByZW1vdmVkIHdpdGggdGhpcyBwYXRjaCwgYnV0CisJCSAqIHN0aWxsIHBvaW50aW5nIGF0IHNvbWV3aGVyZSB0aGF0IGhhcyB0aGUgcGF0aC4KKwkJICogSW4gc3VjaCBhIGNhc2UsIHBhdGggIm5ld19uYW1lIiBkb2VzIG5vdCBleGlzdCBhcworCQkgKiBmYXIgYXMgZ2l0IGlzIGNvbmNlcm5lZC4KKwkJICovCisJCWlmIChoYXNfc3ltbGlua19sZWFkaW5nX3BhdGgobmV3X25hbWUsIHN0cmxlbihuZXdfbmFtZSkpKQorCQkJcmV0dXJuIDA7CisKKwkJcmV0dXJuIEVYSVNUU19JTl9XT1JLVFJFRTsKKwl9IGVsc2UgaWYgKChlcnJubyAhPSBFTk9FTlQpICYmIChlcnJubyAhPSBFTk9URElSKSkgeworCQlyZXR1cm4gZXJyb3JfZXJybm8oIiVzIiwgbmV3X25hbWUpOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVpbnRwdHJfdCByZWdpc3Rlcl9zeW1saW5rX2NoYW5nZXMoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCQkJICBjb25zdCBjaGFyICpwYXRoLAorCQkJCQkgIHVpbnRwdHJfdCB3aGF0KQoreworCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICplbnQ7CisKKwllbnQgPSBzdHJpbmdfbGlzdF9sb29rdXAoJnN0YXRlLT5zeW1saW5rX2NoYW5nZXMsIHBhdGgpOworCWlmICghZW50KSB7CisJCWVudCA9IHN0cmluZ19saXN0X2luc2VydCgmc3RhdGUtPnN5bWxpbmtfY2hhbmdlcywgcGF0aCk7CisJCWVudC0+dXRpbCA9ICh2b2lkICopMDsKKwl9CisJZW50LT51dGlsID0gKHZvaWQgKikod2hhdCB8ICgodWludHB0cl90KWVudC0+dXRpbCkpOworCXJldHVybiAodWludHB0cl90KWVudC0+dXRpbDsKK30KKworc3RhdGljIHVpbnRwdHJfdCBjaGVja19zeW1saW5rX2NoYW5nZXMoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqZW50OworCisJZW50ID0gc3RyaW5nX2xpc3RfbG9va3VwKCZzdGF0ZS0+c3ltbGlua19jaGFuZ2VzLCBwYXRoKTsKKwlpZiAoIWVudCkKKwkJcmV0dXJuIDA7CisJcmV0dXJuICh1aW50cHRyX3QpZW50LT51dGlsOworfQorCitzdGF0aWMgdm9pZCBwcmVwYXJlX3N5bWxpbmtfY2hhbmdlcyhzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCWZvciAoIDsgcGF0Y2g7IHBhdGNoID0gcGF0Y2gtPm5leHQpIHsKKwkJaWYgKChwYXRjaC0+b2xkX25hbWUgJiYgU19JU0xOSyhwYXRjaC0+b2xkX21vZGUpKSAmJgorCQkgICAgKHBhdGNoLT5pc19yZW5hbWUgfHwgcGF0Y2gtPmlzX2RlbGV0ZSkpCisJCQkvKiB0aGUgc3ltbGluayBhdCBwYXRjaC0+b2xkX25hbWUgaXMgcmVtb3ZlZCAqLworCQkJcmVnaXN0ZXJfc3ltbGlua19jaGFuZ2VzKHN0YXRlLCBwYXRjaC0+b2xkX25hbWUsIEFQUExZX1NZTUxJTktfR09FU19BV0FZKTsKKworCQlpZiAocGF0Y2gtPm5ld19uYW1lICYmIFNfSVNMTksocGF0Y2gtPm5ld19tb2RlKSkKKwkJCS8qIHRoZSBzeW1saW5rIGF0IHBhdGNoLT5uZXdfbmFtZSBpcyBjcmVhdGVkIG9yIHJlbWFpbnMgKi8KKwkJCXJlZ2lzdGVyX3N5bWxpbmtfY2hhbmdlcyhzdGF0ZSwgcGF0Y2gtPm5ld19uYW1lLCBBUFBMWV9TWU1MSU5LX0lOX1JFU1VMVCk7CisJfQorfQorCitzdGF0aWMgaW50IHBhdGhfaXNfYmV5b25kX3N5bWxpbmtfMShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3Qgc3RyYnVmICpuYW1lKQoreworCWRvIHsKKwkJdW5zaWduZWQgaW50IGNoYW5nZTsKKworCQl3aGlsZSAoLS1uYW1lLT5sZW4gJiYgbmFtZS0+YnVmW25hbWUtPmxlbl0gIT0gJy8nKQorCQkJOyAvKiBzY2FuIGJhY2t3YXJkcyAqLworCQlpZiAoIW5hbWUtPmxlbikKKwkJCWJyZWFrOworCQluYW1lLT5idWZbbmFtZS0+bGVuXSA9ICdcMCc7CisJCWNoYW5nZSA9IGNoZWNrX3N5bWxpbmtfY2hhbmdlcyhzdGF0ZSwgbmFtZS0+YnVmKTsKKwkJaWYgKGNoYW5nZSAmIEFQUExZX1NZTUxJTktfSU5fUkVTVUxUKQorCQkJcmV0dXJuIDE7CisJCWlmIChjaGFuZ2UgJiBBUFBMWV9TWU1MSU5LX0dPRVNfQVdBWSkKKwkJCS8qCisJCQkgKiBUaGlzIGNhbm5vdCBiZSAicmV0dXJuIDAiLCBiZWNhdXNlIHdlIG1heQorCQkJICogc2VlIGEgbmV3IG9uZSBjcmVhdGVkIGF0IGEgaGlnaGVyIGxldmVsLgorCQkJICovCisJCQljb250aW51ZTsKKworCQkvKiBvdGhlcndpc2UsIGNoZWNrIHRoZSBwcmVpbWFnZSAqLworCQlpZiAoc3RhdGUtPmNoZWNrX2luZGV4KSB7CisJCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOworCisJCQljZSA9IGNhY2hlX2ZpbGVfZXhpc3RzKG5hbWUtPmJ1ZiwgbmFtZS0+bGVuLCBpZ25vcmVfY2FzZSk7CisJCQlpZiAoY2UgJiYgU19JU0xOSyhjZS0+Y2VfbW9kZSkpCisJCQkJcmV0dXJuIDE7CisJCX0gZWxzZSB7CisJCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJCWlmICghbHN0YXQobmFtZS0+YnVmLCAmc3QpICYmIFNfSVNMTksoc3Quc3RfbW9kZSkpCisJCQkJcmV0dXJuIDE7CisJCX0KKwl9IHdoaWxlICgxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwYXRoX2lzX2JleW9uZF9zeW1saW5rKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsIGNvbnN0IGNoYXIgKm5hbWVfKQoreworCWludCByZXQ7CisJc3RydWN0IHN0cmJ1ZiBuYW1lID0gU1RSQlVGX0lOSVQ7CisKKwlhc3NlcnQoKm5hbWVfICE9ICdcMCcpOworCXN0cmJ1Zl9hZGRzdHIoJm5hbWUsIG5hbWVfKTsKKwlyZXQgPSBwYXRoX2lzX2JleW9uZF9zeW1saW5rXzEoc3RhdGUsICZuYW1lKTsKKwlzdHJidWZfcmVsZWFzZSgmbmFtZSk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGNoZWNrX3Vuc2FmZV9wYXRoKHN0cnVjdCBwYXRjaCAqcGF0Y2gpCit7CisJY29uc3QgY2hhciAqb2xkX25hbWUgPSBOVUxMOworCWNvbnN0IGNoYXIgKm5ld19uYW1lID0gTlVMTDsKKwlpZiAocGF0Y2gtPmlzX2RlbGV0ZSkKKwkJb2xkX25hbWUgPSBwYXRjaC0+b2xkX25hbWU7CisJZWxzZSBpZiAoIXBhdGNoLT5pc19uZXcgJiYgIXBhdGNoLT5pc19jb3B5KQorCQlvbGRfbmFtZSA9IHBhdGNoLT5vbGRfbmFtZTsKKwlpZiAoIXBhdGNoLT5pc19kZWxldGUpCisJCW5ld19uYW1lID0gcGF0Y2gtPm5ld19uYW1lOworCisJaWYgKG9sZF9uYW1lICYmICF2ZXJpZnlfcGF0aChvbGRfbmFtZSkpCisJCXJldHVybiBlcnJvcihfKCJpbnZhbGlkIHBhdGggJyVzJyIpLCBvbGRfbmFtZSk7CisJaWYgKG5ld19uYW1lICYmICF2ZXJpZnlfcGF0aChuZXdfbmFtZSkpCisJCXJldHVybiBlcnJvcihfKCJpbnZhbGlkIHBhdGggJyVzJyIpLCBuZXdfbmFtZSk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBDaGVjayBhbmQgYXBwbHkgdGhlIHBhdGNoIGluLWNvcmU7IGxlYXZlIHRoZSByZXN1bHQgaW4gcGF0Y2gtPnJlc3VsdAorICogZm9yIHRoZSBjYWxsZXIgdG8gd3JpdGUgaXQgb3V0IHRvIHRoZSBmaW5hbCBkZXN0aW5hdGlvbi4KKyAqLworc3RhdGljIGludCBjaGVja19wYXRjaChzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCXN0cnVjdCBzdGF0IHN0OworCWNvbnN0IGNoYXIgKm9sZF9uYW1lID0gcGF0Y2gtPm9sZF9uYW1lOworCWNvbnN0IGNoYXIgKm5ld19uYW1lID0gcGF0Y2gtPm5ld19uYW1lOworCWNvbnN0IGNoYXIgKm5hbWUgPSBvbGRfbmFtZSA/IG9sZF9uYW1lIDogbmV3X25hbWU7CisJc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IE5VTEw7CisJc3RydWN0IHBhdGNoICp0cGF0Y2g7CisJaW50IG9rX2lmX2V4aXN0czsKKwlpbnQgc3RhdHVzOworCisJcGF0Y2gtPnJlamVjdGVkID0gMTsgLyogd2Ugd2lsbCBkcm9wIHRoaXMgYWZ0ZXIgd2Ugc3VjY2VlZCAqLworCisJc3RhdHVzID0gY2hlY2tfcHJlaW1hZ2Uoc3RhdGUsIHBhdGNoLCAmY2UsICZzdCk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKKwlvbGRfbmFtZSA9IHBhdGNoLT5vbGRfbmFtZTsKKworCS8qCisJICogQSB0eXBlLWNoYW5nZSBkaWZmIGlzIGFsd2F5cyBzcGxpdCBpbnRvIGEgcGF0Y2ggdG8gZGVsZXRlCisJICogb2xkLCBpbW1lZGlhdGVseSBmb2xsb3dlZCBieSBhIHBhdGNoIHRvIGNyZWF0ZSBuZXcgKHNlZQorCSAqIGRpZmYuYzo6cnVuX2RpZmYoKSk7IGluIHN1Y2ggYSBjYXNlIGl0IGlzIE9rIHRoYXQgdGhlIGVudHJ5CisJICogdG8gYmUgZGVsZXRlZCBieSB0aGUgcHJldmlvdXMgcGF0Y2ggaXMgc3RpbGwgaW4gdGhlIHdvcmtpbmcKKwkgKiB0cmVlIGFuZCBpbiB0aGUgaW5kZXguCisJICoKKwkgKiBBIHBhdGNoIHRvIHN3YXAtcmVuYW1lIGJldHdlZW4gQSBhbmQgQiB3b3VsZCBmaXJzdCByZW5hbWUgQQorCSAqIHRvIEIgYW5kIHRoZW4gcmVuYW1lIEIgdG8gQS4gIFdoaWxlIGFwcGx5aW5nIHRoZSBmaXJzdCBvbmUsCisJICogdGhlIHByZXNlbmNlIG9mIEIgc2hvdWxkIG5vdCBzdG9wIEEgZnJvbSBnZXR0aW5nIHJlbmFtZWQgdG8KKwkgKiBCOyBhc2sgdG9fYmVfZGVsZXRlZCgpIGFib3V0IHRoZSBsYXRlciByZW5hbWUuICBSZW1vdmFsIG9mCisJICogQiBhbmQgcmVuYW1lIGZyb20gQSB0byBCIGlzIGhhbmRsZWQgdGhlIHNhbWUgd2F5IGJ5IGFza2luZworCSAqIHdhc19kZWxldGVkKCkuCisJICovCisJaWYgKCh0cGF0Y2ggPSBpbl9mbl90YWJsZShzdGF0ZSwgbmV3X25hbWUpKSAmJgorCSAgICAod2FzX2RlbGV0ZWQodHBhdGNoKSB8fCB0b19iZV9kZWxldGVkKHRwYXRjaCkpKQorCQlva19pZl9leGlzdHMgPSAxOworCWVsc2UKKwkJb2tfaWZfZXhpc3RzID0gMDsKKworCWlmIChuZXdfbmFtZSAmJgorCSAgICAoKDAgPCBwYXRjaC0+aXNfbmV3KSB8fCBwYXRjaC0+aXNfcmVuYW1lIHx8IHBhdGNoLT5pc19jb3B5KSkgeworCQlpbnQgZXJyID0gY2hlY2tfdG9fY3JlYXRlKHN0YXRlLCBuZXdfbmFtZSwgb2tfaWZfZXhpc3RzKTsKKworCQlpZiAoZXJyICYmIHN0YXRlLT50aHJlZXdheSkgeworCQkJcGF0Y2gtPmRpcmVjdF90b190aHJlZXdheSA9IDE7CisJCX0gZWxzZSBzd2l0Y2ggKGVycikgeworCQljYXNlIDA6CisJCQlicmVhazsgLyogaGFwcHkgKi8KKwkJY2FzZSBFWElTVFNfSU5fSU5ERVg6CisJCQlyZXR1cm4gZXJyb3IoXygiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IiksIG5ld19uYW1lKTsKKwkJCWJyZWFrOworCQljYXNlIEVYSVNUU19JTl9XT1JLVFJFRToKKwkJCXJldHVybiBlcnJvcihfKCIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiKSwKKwkJCQkgICAgIG5ld19uYW1lKTsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiBlcnI7CisJCX0KKworCQlpZiAoIXBhdGNoLT5uZXdfbW9kZSkgeworCQkJaWYgKDAgPCBwYXRjaC0+aXNfbmV3KQorCQkJCXBhdGNoLT5uZXdfbW9kZSA9IFNfSUZSRUcgfCAwNjQ0OworCQkJZWxzZQorCQkJCXBhdGNoLT5uZXdfbW9kZSA9IHBhdGNoLT5vbGRfbW9kZTsKKwkJfQorCX0KKworCWlmIChuZXdfbmFtZSAmJiBvbGRfbmFtZSkgeworCQlpbnQgc2FtZSA9ICFzdHJjbXAob2xkX25hbWUsIG5ld19uYW1lKTsKKwkJaWYgKCFwYXRjaC0+bmV3X21vZGUpCisJCQlwYXRjaC0+bmV3X21vZGUgPSBwYXRjaC0+b2xkX21vZGU7CisJCWlmICgocGF0Y2gtPm9sZF9tb2RlIF4gcGF0Y2gtPm5ld19tb2RlKSAmIFNfSUZNVCkgeworCQkJaWYgKHNhbWUpCisJCQkJcmV0dXJuIGVycm9yKF8oIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgIgorCQkJCQkgICAgICAgIm1hdGNoIG9sZCBtb2RlICglbykiKSwKKwkJCQkJcGF0Y2gtPm5ld19tb2RlLCBuZXdfbmFtZSwKKwkJCQkJcGF0Y2gtPm9sZF9tb2RlKTsKKwkJCWVsc2UKKwkJCQlyZXR1cm4gZXJyb3IoXygibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCAiCisJCQkJCSAgICAgICAibWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIpLAorCQkJCQlwYXRjaC0+bmV3X21vZGUsIG5ld19uYW1lLAorCQkJCQlwYXRjaC0+b2xkX21vZGUsIG9sZF9uYW1lKTsKKwkJfQorCX0KKworCWlmICghc3RhdGUtPnVuc2FmZV9wYXRocyAmJiBjaGVja191bnNhZmVfcGF0aChwYXRjaCkpCisJCXJldHVybiAtMTI4OworCisJLyoKKwkgKiBBbiBhdHRlbXB0IHRvIHJlYWQgZnJvbSBvciBkZWxldGUgYSBwYXRoIHRoYXQgaXMgYmV5b25kIGEKKwkgKiBzeW1ib2xpYyBsaW5rIHdpbGwgYmUgcHJldmVudGVkIGJ5IGxvYWRfcGF0Y2hfdGFyZ2V0KCkgdGhhdAorCSAqIGlzIGNhbGxlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGFwcGx5X2RhdGEoKSBzbyB3ZSBkbyBub3QKKwkgKiBoYXZlIHRvIHdvcnJ5IGFib3V0IGEgcGF0Y2ggbWFya2VkIHdpdGggImlzX2RlbGV0ZSIgYml0CisJICogaGVyZS4gIFdlIGhvd2V2ZXIgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgcGF0Y2ggcmVzdWx0CisJICogaXMgbm90IGRlcG9zaXRlZCB0byBhIHBhdGggdGhhdCBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rCisJICogaGVyZS4KKwkgKi8KKwlpZiAoIXBhdGNoLT5pc19kZWxldGUgJiYgcGF0aF9pc19iZXlvbmRfc3ltbGluayhzdGF0ZSwgcGF0Y2gtPm5ld19uYW1lKSkKKwkJcmV0dXJuIGVycm9yKF8oImFmZmVjdGVkIGZpbGUgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIiksCisJCQkgICAgIHBhdGNoLT5uZXdfbmFtZSk7CisKKwlpZiAoYXBwbHlfZGF0YShzdGF0ZSwgcGF0Y2gsICZzdCwgY2UpIDwgMCkKKwkJcmV0dXJuIGVycm9yKF8oIiVzOiBwYXRjaCBkb2VzIG5vdCBhcHBseSIpLCBuYW1lKTsKKwlwYXRjaC0+cmVqZWN0ZWQgPSAwOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNoZWNrX3BhdGNoX2xpc3Qoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwgc3RydWN0IHBhdGNoICpwYXRjaCkKK3sKKwlpbnQgZXJyID0gMDsKKworCXByZXBhcmVfc3ltbGlua19jaGFuZ2VzKHN0YXRlLCBwYXRjaCk7CisJcHJlcGFyZV9mbl90YWJsZShzdGF0ZSwgcGF0Y2gpOworCXdoaWxlIChwYXRjaCkgeworCQlpbnQgcmVzOworCQlpZiAoc3RhdGUtPmFwcGx5X3ZlcmJvc2l0eSA+IHZlcmJvc2l0eV9ub3JtYWwpCisJCQlzYXlfcGF0Y2hfbmFtZShzdGRlcnIsCisJCQkJICAgICAgIF8oIkNoZWNraW5nIHBhdGNoICVzLi4uIiksIHBhdGNoKTsKKwkJcmVzID0gY2hlY2tfcGF0Y2goc3RhdGUsIHBhdGNoKTsKKwkJaWYgKHJlcyA9PSAtMTI4KQorCQkJcmV0dXJuIC0xMjg7CisJCWVyciB8PSByZXM7CisJCXBhdGNoID0gcGF0Y2gtPm5leHQ7CisJfQorCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgcmVhZF9hcHBseV9jYWNoZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlKQoreworCWlmIChzdGF0ZS0+aW5kZXhfZmlsZSkKKwkJcmV0dXJuIHJlYWRfY2FjaGVfZnJvbShzdGF0ZS0+aW5kZXhfZmlsZSk7CisJZWxzZQorCQlyZXR1cm4gcmVhZF9jYWNoZSgpOworfQorCisvKiBUaGlzIGZ1bmN0aW9uIHRyaWVzIHRvIHJlYWQgdGhlIG9iamVjdCBuYW1lIGZyb20gdGhlIGN1cnJlbnQgaW5kZXggKi8KK3N0YXRpYyBpbnQgZ2V0X2N1cnJlbnRfb2lkKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsIGNvbnN0IGNoYXIgKnBhdGgsCisJCQkgICBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCit7CisJaW50IHBvczsKKworCWlmIChyZWFkX2FwcGx5X2NhY2hlKHN0YXRlKSA8IDApCisJCXJldHVybiAtMTsKKwlwb3MgPSBjYWNoZV9uYW1lX3BvcyhwYXRoLCBzdHJsZW4ocGF0aCkpOworCWlmIChwb3MgPCAwKQorCQlyZXR1cm4gLTE7CisJb2lkY3B5KG9pZCwgJmFjdGl2ZV9jYWNoZVtwb3NdLT5vaWQpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByZWltYWdlX29pZF9pbl9naXRsaW5rX3BhdGNoKHN0cnVjdCBwYXRjaCAqcCwgc3RydWN0IG9iamVjdF9pZCAqb2lkKQoreworCS8qCisJICogQSB1c2FibGUgZ2l0bGluayBwYXRjaCBoYXMgb25seSBvbmUgZnJhZ21lbnQgKGh1bmspIHRoYXQgbG9va3MgbGlrZToKKwkgKiBAQCAtMSArMSBAQAorCSAqIC1TdWJwcm9qZWN0IGNvbW1pdCA8b2xkIHNoYTE+CisJICogK1N1YnByb2plY3QgY29tbWl0IDxuZXcgc2hhMT4KKwkgKiBvcgorCSAqIEBAIC0xICswLDAgQEAKKwkgKiAtU3VicHJvamVjdCBjb21taXQgPG9sZCBzaGExPgorCSAqIGZvciBhIHJlbW92YWwgcGF0Y2guCisJICovCisJc3RydWN0IGZyYWdtZW50ICpodW5rID0gcC0+ZnJhZ21lbnRzOworCXN0YXRpYyBjb25zdCBjaGFyIGhlYWRpbmdbXSA9ICItU3VicHJvamVjdCBjb21taXQgIjsKKwljaGFyICpwcmVpbWFnZTsKKworCWlmICgvKiBkb2VzIHRoZSBwYXRjaCBoYXZlIG9ubHkgb25lIGh1bms/ICovCisJICAgIGh1bmsgJiYgIWh1bmstPm5leHQgJiYKKwkgICAgLyogaXMgaXRzIHByZWltYWdlIG9uZSBsaW5lPyAqLworCSAgICBodW5rLT5vbGRwb3MgPT0gMSAmJiBodW5rLT5vbGRsaW5lcyA9PSAxICYmCisJICAgIC8qIGRvZXMgcHJlaW1hZ2UgYmVnaW4gd2l0aCB0aGUgaGVhZGluZz8gKi8KKwkgICAgKHByZWltYWdlID0gbWVtY2hyKGh1bmstPnBhdGNoLCAnXG4nLCBodW5rLT5zaXplKSkgIT0gTlVMTCAmJgorCSAgICBzdGFydHNfd2l0aCgrK3ByZWltYWdlLCBoZWFkaW5nKSAmJgorCSAgICAvKiBkb2VzIGl0IHJlY29yZCBmdWxsIFNIQS0xPyAqLworCSAgICAhZ2V0X29pZF9oZXgocHJlaW1hZ2UgKyBzaXplb2YoaGVhZGluZykgLSAxLCBvaWQpICYmCisJICAgIHByZWltYWdlW3NpemVvZihoZWFkaW5nKSArIEdJVF9TSEExX0hFWFNaIC0gMV0gPT0gJ1xuJyAmJgorCSAgICAvKiBkb2VzIHRoZSBhYmJyZXZpYXRlZCBuYW1lIG9uIHRoZSBpbmRleCBsaW5lIGFncmVlIHdpdGggaXQ/ICovCisJICAgIHN0YXJ0c193aXRoKHByZWltYWdlICsgc2l6ZW9mKGhlYWRpbmcpIC0gMSwgcC0+b2xkX3NoYTFfcHJlZml4KSkKKwkJcmV0dXJuIDA7IC8qIGl0IGFsbCBsb29rcyBmaW5lICovCisKKwkvKiB3ZSBtYXkgaGF2ZSBmdWxsIG9iamVjdCBuYW1lIG9uIHRoZSBpbmRleCBsaW5lICovCisJcmV0dXJuIGdldF9vaWRfaGV4KHAtPm9sZF9zaGExX3ByZWZpeCwgb2lkKTsKK30KKworLyogQnVpbGQgYW4gaW5kZXggdGhhdCBjb250YWlucyB0aGUganVzdCB0aGUgZmlsZXMgbmVlZGVkIGZvciBhIDN3YXkgbWVyZ2UgKi8KK3N0YXRpYyBpbnQgYnVpbGRfZmFrZV9hbmNlc3RvcihzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKmxpc3QpCit7CisJc3RydWN0IHBhdGNoICpwYXRjaDsKKwlzdHJ1Y3QgaW5kZXhfc3RhdGUgcmVzdWx0ID0geyBOVUxMIH07CisJc3RhdGljIHN0cnVjdCBsb2NrX2ZpbGUgbG9jazsKKwlpbnQgcmVzOworCisJLyogT25jZSB3ZSBzdGFydCBzdXBwb3J0aW5nIHRoZSByZXZlcnNlIHBhdGNoLCBpdCBtYXkgYmUKKwkgKiB3b3J0aCBzaG93aW5nIHRoZSBuZXcgc2hhMSBwcmVmaXgsIGJ1dCB1bnRpbCB0aGVuLi4uCisJICovCisJZm9yIChwYXRjaCA9IGxpc3Q7IHBhdGNoOyBwYXRjaCA9IHBhdGNoLT5uZXh0KSB7CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOworCQljb25zdCBjaGFyICpuYW1lOworCisJCW5hbWUgPSBwYXRjaC0+b2xkX25hbWUgPyBwYXRjaC0+b2xkX25hbWUgOiBwYXRjaC0+bmV3X25hbWU7CisJCWlmICgwIDwgcGF0Y2gtPmlzX25ldykKKwkJCWNvbnRpbnVlOworCisJCWlmIChTX0lTR0lUTElOSyhwYXRjaC0+b2xkX21vZGUpKSB7CisJCQlpZiAoIXByZWltYWdlX29pZF9pbl9naXRsaW5rX3BhdGNoKHBhdGNoLCAmb2lkKSkKKwkJCQk7IC8qIG9rLCB0aGUgdGV4dHVhbCBwYXJ0IGxvb2tzIHNhbmUgKi8KKwkJCWVsc2UKKwkJCQlyZXR1cm4gZXJyb3IoXygic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yICIKKwkJCQkJICAgICAgICJ1c2VsZXNzIGZvciBzdWJtb2R1bGUgJXMiKSwgbmFtZSk7CisJCX0gZWxzZSBpZiAoIWdldF9zaGExX2Jsb2IocGF0Y2gtPm9sZF9zaGExX3ByZWZpeCwgb2lkLmhhc2gpKSB7CisJCQk7IC8qIG9rICovCisJCX0gZWxzZSBpZiAoIXBhdGNoLT5saW5lc19hZGRlZCAmJiAhcGF0Y2gtPmxpbmVzX2RlbGV0ZWQpIHsKKwkJCS8qIG1vZGUtb25seSBjaGFuZ2U6IHVwZGF0ZSB0aGUgY3VycmVudCAqLworCQkJaWYgKGdldF9jdXJyZW50X29pZChzdGF0ZSwgcGF0Y2gtPm9sZF9uYW1lLCAmb2lkKSkKKwkJCQlyZXR1cm4gZXJyb3IoXygibW9kZSBjaGFuZ2UgZm9yICVzLCB3aGljaCBpcyBub3QgIgorCQkJCQkgICAgICAgImluIGN1cnJlbnQgSEVBRCIpLCBuYW1lKTsKKwkJfSBlbHNlCisJCQlyZXR1cm4gZXJyb3IoXygic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgIgorCQkJCSAgICAgICAiKCVzKS4iKSwgbmFtZSk7CisKKwkJY2UgPSBtYWtlX2NhY2hlX2VudHJ5KHBhdGNoLT5vbGRfbW9kZSwgb2lkLmhhc2gsIG5hbWUsIDAsIDApOworCQlpZiAoIWNlKQorCQkJcmV0dXJuIGVycm9yKF8oIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciKSwKKwkJCQkgICAgIG5hbWUpOworCQlpZiAoYWRkX2luZGV4X2VudHJ5KCZyZXN1bHQsIGNlLCBBRERfQ0FDSEVfT0tfVE9fQUREKSkgeworCQkJZnJlZShjZSk7CisJCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IGFkZCAlcyB0byB0ZW1wb3JhcnkgaW5kZXgiKSwKKwkJCQkgICAgIG5hbWUpOworCQl9CisJfQorCisJaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZSgmbG9jaywgc3RhdGUtPmZha2VfYW5jZXN0b3IsIExPQ0tfRElFX09OX0VSUk9SKTsKKwlyZXMgPSB3cml0ZV9sb2NrZWRfaW5kZXgoJnJlc3VsdCwgJmxvY2ssIENPTU1JVF9MT0NLKTsKKwlkaXNjYXJkX2luZGV4KCZyZXN1bHQpOworCisJIGlmIChyZXMpCisJCSByZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHdyaXRlIHRlbXBvcmFyeSBpbmRleCB0byAlcyIpLAorCQkJICAgICAgc3RhdGUtPmZha2VfYW5jZXN0b3IpOworCisJIHJldHVybiAwOworIH0KKworIHN0YXRpYyB2b2lkIHN0YXRfcGF0Y2hfbGlzdChzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQorIHsKKwkgaW50IGZpbGVzLCBhZGRzLCBkZWxzOworCisJIGZvciAoZmlsZXMgPSBhZGRzID0gZGVscyA9IDAgOyBwYXRjaCA7IHBhdGNoID0gcGF0Y2gtPm5leHQpIHsKKwkJIGZpbGVzKys7CisJCSBhZGRzICs9IHBhdGNoLT5saW5lc19hZGRlZDsKKwkJIGRlbHMgKz0gcGF0Y2gtPmxpbmVzX2RlbGV0ZWQ7CisJCSBzaG93X3N0YXRzKHN0YXRlLCBwYXRjaCk7CisJIH0KKworCSBwcmludF9zdGF0X3N1bW1hcnkoc3Rkb3V0LCBmaWxlcywgYWRkcywgZGVscyk7CisgfQorCisgc3RhdGljIHZvaWQgbnVtc3RhdF9wYXRjaF9saXN0KHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQkJc3RydWN0IHBhdGNoICpwYXRjaCkKKyB7CisJIGZvciAoIDsgcGF0Y2g7IHBhdGNoID0gcGF0Y2gtPm5leHQpIHsKKwkJIGNvbnN0IGNoYXIgKm5hbWU7CisJCSBuYW1lID0gcGF0Y2gtPm5ld19uYW1lID8gcGF0Y2gtPm5ld19uYW1lIDogcGF0Y2gtPm9sZF9uYW1lOworCQkgaWYgKHBhdGNoLT5pc19iaW5hcnkpCisJCQkgcHJpbnRmKCItXHQtXHQiKTsKKwkJIGVsc2UKKwkJCSBwcmludGYoIiVkXHQlZFx0IiwgcGF0Y2gtPmxpbmVzX2FkZGVkLCBwYXRjaC0+bGluZXNfZGVsZXRlZCk7CisJCSB3cml0ZV9uYW1lX3F1b3RlZChuYW1lLCBzdGRvdXQsIHN0YXRlLT5saW5lX3Rlcm1pbmF0aW9uKTsKKwkgfQorIH0KKworIHN0YXRpYyB2b2lkIHNob3dfZmlsZV9tb2RlX25hbWUoY29uc3QgY2hhciAqbmV3ZGVsZXRlLCB1bnNpZ25lZCBpbnQgbW9kZSwgY29uc3QgY2hhciAqbmFtZSkKKyB7CisJIGlmIChtb2RlKQorCQkgcHJpbnRmKCIgJXMgbW9kZSAlMDZvICVzXG4iLCBuZXdkZWxldGUsIG1vZGUsIG5hbWUpOworCSBlbHNlCisJCSBwcmludGYoIiAlcyAlc1xuIiwgbmV3ZGVsZXRlLCBuYW1lKTsKKyB9CisKKyBzdGF0aWMgdm9pZCBzaG93X21vZGVfY2hhbmdlKHN0cnVjdCBwYXRjaCAqcCwgaW50IHNob3dfbmFtZSkKKyB7CisJIGlmIChwLT5vbGRfbW9kZSAmJiBwLT5uZXdfbW9kZSAmJiBwLT5vbGRfbW9kZSAhPSBwLT5uZXdfbW9kZSkgeworCQkgaWYgKHNob3dfbmFtZSkKKwkJCSBwcmludGYoIiBtb2RlIGNoYW5nZSAlMDZvID0+ICUwNm8gJXNcbiIsCisJCQkJcC0+b2xkX21vZGUsIHAtPm5ld19tb2RlLCBwLT5uZXdfbmFtZSk7CisJCSBlbHNlCisJCQkgcHJpbnRmKCIgbW9kZSBjaGFuZ2UgJTA2byA9PiAlMDZvXG4iLAorCQkJCXAtPm9sZF9tb2RlLCBwLT5uZXdfbW9kZSk7CisJIH0KKyB9CisKKyBzdGF0aWMgdm9pZCBzaG93X3JlbmFtZV9jb3B5KHN0cnVjdCBwYXRjaCAqcCkKKyB7CisJIGNvbnN0IGNoYXIgKnJlbmFtZWNvcHkgPSBwLT5pc19yZW5hbWUgPyAicmVuYW1lIiA6ICJjb3B5IjsKKwkgY29uc3QgY2hhciAqb2xkLCAqbmV3OworCisJIC8qIEZpbmQgY29tbW9uIHByZWZpeCAqLworCSBvbGQgPSBwLT5vbGRfbmFtZTsKKwkgbmV3ID0gcC0+bmV3X25hbWU7CisJIHdoaWxlICgxKSB7CisJCSBjb25zdCBjaGFyICpzbGFzaF9vbGQsICpzbGFzaF9uZXc7CisJCSBzbGFzaF9vbGQgPSBzdHJjaHIob2xkLCAnLycpOworCQkgc2xhc2hfbmV3ID0gc3RyY2hyKG5ldywgJy8nKTsKKwkJIGlmICghc2xhc2hfb2xkIHx8CisJCSAgICAgIXNsYXNoX25ldyB8fAorCQkgICAgIHNsYXNoX29sZCAtIG9sZCAhPSBzbGFzaF9uZXcgLSBuZXcgfHwKKwkJICAgICBtZW1jbXAob2xkLCBuZXcsIHNsYXNoX25ldyAtIG5ldykpCisJCQkgYnJlYWs7CisJCSBvbGQgPSBzbGFzaF9vbGQgKyAxOworCQkgbmV3ID0gc2xhc2hfbmV3ICsgMTsKKwkgfQorCSAvKiBwLT5vbGRfbmFtZSB0aHJ1IG9sZCBpcyB0aGUgY29tbW9uIHByZWZpeCwgYW5kIG9sZCBhbmQgbmV3CisJICAqIHRocm91Z2ggdGhlIGVuZCBvZiBuYW1lcyBhcmUgcmVuYW1lcworCSAgKi8KKwkgaWYgKG9sZCAhPSBwLT5vbGRfbmFtZSkKKwkJIHByaW50ZigiICVzICUuKnN7JXMgPT4gJXN9ICglZCUlKVxuIiwgcmVuYW1lY29weSwKKwkJCShpbnQpKG9sZCAtIHAtPm9sZF9uYW1lKSwgcC0+b2xkX25hbWUsCisJCQlvbGQsIG5ldywgcC0+c2NvcmUpOworCSBlbHNlCisJCSBwcmludGYoIiAlcyAlcyA9PiAlcyAoJWQlJSlcbiIsIHJlbmFtZWNvcHksCisJCQlwLT5vbGRfbmFtZSwgcC0+bmV3X25hbWUsIHAtPnNjb3JlKTsKKwkgc2hvd19tb2RlX2NoYW5nZShwLCAwKTsKKyB9CisKKyBzdGF0aWMgdm9pZCBzdW1tYXJ5X3BhdGNoX2xpc3Qoc3RydWN0IHBhdGNoICpwYXRjaCkKKyB7CisJIHN0cnVjdCBwYXRjaCAqcDsKKworCSBmb3IgKHAgPSBwYXRjaDsgcDsgcCA9IHAtPm5leHQpIHsKKwkJIGlmIChwLT5pc19uZXcpCisJCQkgc2hvd19maWxlX21vZGVfbmFtZSgiY3JlYXRlIiwgcC0+bmV3X21vZGUsIHAtPm5ld19uYW1lKTsKKwkJIGVsc2UgaWYgKHAtPmlzX2RlbGV0ZSkKKwkJCSBzaG93X2ZpbGVfbW9kZV9uYW1lKCJkZWxldGUiLCBwLT5vbGRfbW9kZSwgcC0+b2xkX25hbWUpOworCQkgZWxzZSB7CisJCQkgaWYgKHAtPmlzX3JlbmFtZSB8fCBwLT5pc19jb3B5KQorCQkJCSBzaG93X3JlbmFtZV9jb3B5KHApOworCQkJIGVsc2UgeworCQkJCSBpZiAocC0+c2NvcmUpIHsKKwkJCQkJIHByaW50ZigiIHJld3JpdGUgJXMgKCVkJSUpXG4iLAorCQkJCQkJcC0+bmV3X25hbWUsIHAtPnNjb3JlKTsKKwkJCQkJIHNob3dfbW9kZV9jaGFuZ2UocCwgMCk7CisJCQkJIH0KKwkJCQkgZWxzZQorCQkJCQkgc2hvd19tb2RlX2NoYW5nZShwLCAxKTsKKwkJCSB9CisJCSB9CisJIH0KKyB9CisKKyBzdGF0aWMgdm9pZCBwYXRjaF9zdGF0cyhzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQorIHsKKwkgaW50IGxpbmVzID0gcGF0Y2gtPmxpbmVzX2FkZGVkICsgcGF0Y2gtPmxpbmVzX2RlbGV0ZWQ7CisKKwkgaWYgKGxpbmVzID4gc3RhdGUtPm1heF9jaGFuZ2UpCisJCSBzdGF0ZS0+bWF4X2NoYW5nZSA9IGxpbmVzOworCSBpZiAocGF0Y2gtPm9sZF9uYW1lKSB7CisJCSBpbnQgbGVuID0gcXVvdGVfY19zdHlsZShwYXRjaC0+b2xkX25hbWUsIE5VTEwsIE5VTEwsIDApOworCQkgaWYgKCFsZW4pCisJCQkgbGVuID0gc3RybGVuKHBhdGNoLT5vbGRfbmFtZSk7CisJCSBpZiAobGVuID4gc3RhdGUtPm1heF9sZW4pCisJCQkgc3RhdGUtPm1heF9sZW4gPSBsZW47CisJIH0KKwkgaWYgKHBhdGNoLT5uZXdfbmFtZSkgeworCQkgaW50IGxlbiA9IHF1b3RlX2Nfc3R5bGUocGF0Y2gtPm5ld19uYW1lLCBOVUxMLCBOVUxMLCAwKTsKKwkJIGlmICghbGVuKQorCQkJIGxlbiA9IHN0cmxlbihwYXRjaC0+bmV3X25hbWUpOworCQkgaWYgKGxlbiA+IHN0YXRlLT5tYXhfbGVuKQorCQkJIHN0YXRlLT5tYXhfbGVuID0gbGVuOworCSB9CisgfQorCisgc3RhdGljIGludCByZW1vdmVfZmlsZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoLCBpbnQgcm1kaXJfZW1wdHkpCisgeworCSBpZiAoc3RhdGUtPnVwZGF0ZV9pbmRleCkgeworCQkgaWYgKHJlbW92ZV9maWxlX2Zyb21fY2FjaGUocGF0Y2gtPm9sZF9uYW1lKSA8IDApCisJCQkgcmV0dXJuIGVycm9yKF8oInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIpLCBwYXRjaC0+b2xkX25hbWUpOworCSB9CisJIGlmICghc3RhdGUtPmNhY2hlZCkgeworCQkgaWYgKCFyZW1vdmVfb3Jfd2FybihwYXRjaC0+b2xkX21vZGUsIHBhdGNoLT5vbGRfbmFtZSkgJiYgcm1kaXJfZW1wdHkpIHsKKwkJCSByZW1vdmVfcGF0aChwYXRjaC0+b2xkX25hbWUpOworCQkgfQorCSB9CisJIHJldHVybiAwOworIH0KKworIHN0YXRpYyBpbnQgYWRkX2luZGV4X2ZpbGUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCSAgIGNvbnN0IGNoYXIgKnBhdGgsCisJCQkgICB1bnNpZ25lZCBtb2RlLAorCQkJICAgdm9pZCAqYnVmLAorCQkJICAgdW5zaWduZWQgbG9uZyBzaXplKQorIHsKKwkgc3RydWN0IHN0YXQgc3Q7CisJIHN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7CisJIGludCBuYW1lbGVuID0gc3RybGVuKHBhdGgpOworCSB1bnNpZ25lZCBjZV9zaXplID0gY2FjaGVfZW50cnlfc2l6ZShuYW1lbGVuKTsKKworCSBpZiAoIXN0YXRlLT51cGRhdGVfaW5kZXgpCisJCSByZXR1cm4gMDsKKworCSBjZSA9IHhjYWxsb2MoMSwgY2Vfc2l6ZSk7CisJIG1lbWNweShjZS0+bmFtZSwgcGF0aCwgbmFtZWxlbik7CisJIGNlLT5jZV9tb2RlID0gY3JlYXRlX2NlX21vZGUobW9kZSk7CisJIGNlLT5jZV9mbGFncyA9IGNyZWF0ZV9jZV9mbGFncygwKTsKKwkgY2UtPmNlX25hbWVsZW4gPSBuYW1lbGVuOworCSBpZiAoU19JU0dJVExJTksobW9kZSkpIHsKKwkJIGNvbnN0IGNoYXIgKnM7CisKKwkJIGlmICghc2tpcF9wcmVmaXgoYnVmLCAiU3VicHJvamVjdCBjb21taXQgIiwgJnMpIHx8CisJCSAgICAgZ2V0X29pZF9oZXgocywgJmNlLT5vaWQpKSB7CisJCQlmcmVlKGNlKTsKKwkJCXJldHVybiBlcnJvcihfKCJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiKSwgcGF0aCk7CisJCX0KKwl9IGVsc2UgeworCQlpZiAoIXN0YXRlLT5jYWNoZWQpIHsKKwkJCWlmIChsc3RhdChwYXRoLCAmc3QpIDwgMCkgeworCQkJCWZyZWUoY2UpOworCQkJCXJldHVybiBlcnJvcl9lcnJubyhfKCJ1bmFibGUgdG8gc3RhdCBuZXdseSAiCisJCQkJCQkgICAgICJjcmVhdGVkIGZpbGUgJyVzJyIpLAorCQkJCQkJICAgcGF0aCk7CisJCQl9CisJCQlmaWxsX3N0YXRfY2FjaGVfaW5mbyhjZSwgJnN0KTsKKwkJfQorCQlpZiAod3JpdGVfc2hhMV9maWxlKGJ1Ziwgc2l6ZSwgYmxvYl90eXBlLCBjZS0+b2lkLmhhc2gpIDwgMCkgeworCQkJZnJlZShjZSk7CisJCQlyZXR1cm4gZXJyb3IoXygidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlICIKKwkJCQkgICAgICAgImZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiKSwgcGF0aCk7CisJCX0KKwl9CisJaWYgKGFkZF9jYWNoZV9lbnRyeShjZSwgQUREX0NBQ0hFX09LX1RPX0FERCkgPCAwKSB7CisJCWZyZWUoY2UpOworCQlyZXR1cm4gZXJyb3IoXygidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiKSwgcGF0aCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBSZXR1cm5zOgorICogIC0xIGlmIGFuIHVucmVjb3ZlcmFibGUgZXJyb3IgaGFwcGVuZWQKKyAqICAgMCBpZiBldmVyeXRoaW5nIHdlbnQgd2VsbAorICogICAxIGlmIGEgcmVjb3ZlcmFibGUgZXJyb3IgaGFwcGVuZWQKKyAqLworc3RhdGljIGludCB0cnlfY3JlYXRlX2ZpbGUoY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgaW50IG1vZGUsIGNvbnN0IGNoYXIgKmJ1ZiwgdW5zaWduZWQgbG9uZyBzaXplKQoreworCWludCBmZCwgcmVzOworCXN0cnVjdCBzdHJidWYgbmJ1ZiA9IFNUUkJVRl9JTklUOworCisJaWYgKFNfSVNHSVRMSU5LKG1vZGUpKSB7CisJCXN0cnVjdCBzdGF0IHN0OworCQlpZiAoIWxzdGF0KHBhdGgsICZzdCkgJiYgU19JU0RJUihzdC5zdF9tb2RlKSkKKwkJCXJldHVybiAwOworCQlyZXR1cm4gISFta2RpcihwYXRoLCAwNzc3KTsKKwl9CisKKwlpZiAoaGFzX3N5bWxpbmtzICYmIFNfSVNMTksobW9kZSkpCisJCS8qIEFsdGhvdWdoIGJ1ZjpzaXplIGlzIGNvdW50ZWQgc3RyaW5nLCBpdCBhbHNvIGlzIE5VTAorCQkgKiB0ZXJtaW5hdGVkLgorCQkgKi8KKwkJcmV0dXJuICEhc3ltbGluayhidWYsIHBhdGgpOworCisJZmQgPSBvcGVuKHBhdGgsIE9fQ1JFQVQgfCBPX0VYQ0wgfCBPX1dST05MWSwgKG1vZGUgJiAwMTAwKSA/IDA3NzcgOiAwNjY2KTsKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gMTsKKworCWlmIChjb252ZXJ0X3RvX3dvcmtpbmdfdHJlZShwYXRoLCBidWYsIHNpemUsICZuYnVmKSkgeworCQlzaXplID0gbmJ1Zi5sZW47CisJCWJ1ZiAgPSBuYnVmLmJ1ZjsKKwl9CisKKwlyZXMgPSB3cml0ZV9pbl9mdWxsKGZkLCBidWYsIHNpemUpIDwgMDsKKwlpZiAocmVzKQorCQllcnJvcl9lcnJubyhfKCJmYWlsZWQgdG8gd3JpdGUgdG8gJyVzJyIpLCBwYXRoKTsKKwlzdHJidWZfcmVsZWFzZSgmbmJ1Zik7CisKKwlpZiAoY2xvc2UoZmQpIDwgMCAmJiAhcmVzKQorCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY2xvc2luZyBmaWxlICclcyciKSwgcGF0aCk7CisKKwlyZXR1cm4gcmVzID8gLTEgOiAwOworfQorCisvKgorICogV2Ugb3B0aW1pc3RpY2FsbHkgYXNzdW1lIHRoYXQgdGhlIGRpcmVjdG9yaWVzIGV4aXN0LAorICogd2hpY2ggaXMgdHJ1ZSA5OSUgb2YgdGhlIHRpbWUgYW55d2F5LiBJZiB0aGV5IGRvbid0LAorICogd2UgY3JlYXRlIHRoZW0gYW5kIHRyeSBhZ2Fpbi4KKyAqCisgKiBSZXR1cm5zOgorICogICAtMSBvbiBlcnJvcgorICogICAwIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50IGNyZWF0ZV9vbmVfZmlsZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICAgY2hhciAqcGF0aCwKKwkJCSAgIHVuc2lnbmVkIG1vZGUsCisJCQkgICBjb25zdCBjaGFyICpidWYsCisJCQkgICB1bnNpZ25lZCBsb25nIHNpemUpCit7CisJaW50IHJlczsKKworCWlmIChzdGF0ZS0+Y2FjaGVkKQorCQlyZXR1cm4gMDsKKworCXJlcyA9IHRyeV9jcmVhdGVfZmlsZShwYXRoLCBtb2RlLCBidWYsIHNpemUpOworCWlmIChyZXMgPCAwKQorCQlyZXR1cm4gLTE7CisJaWYgKCFyZXMpCisJCXJldHVybiAwOworCisJaWYgKGVycm5vID09IEVOT0VOVCkgeworCQlpZiAoc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3RvcmllcyhwYXRoKSkKKwkJCXJldHVybiAwOworCQlyZXMgPSB0cnlfY3JlYXRlX2ZpbGUocGF0aCwgbW9kZSwgYnVmLCBzaXplKTsKKwkJaWYgKHJlcyA8IDApCisJCQlyZXR1cm4gLTE7CisJCWlmICghcmVzKQorCQkJcmV0dXJuIDA7CisJfQorCisJaWYgKGVycm5vID09IEVFWElTVCB8fCBlcnJubyA9PSBFQUNDRVMpIHsKKwkJLyogV2UgbWF5IGJlIHRyeWluZyB0byBjcmVhdGUgYSBmaWxlIHdoZXJlIGEgZGlyZWN0b3J5CisJCSAqIHVzZWQgdG8gYmUuCisJCSAqLworCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJaWYgKCFsc3RhdChwYXRoLCAmc3QpICYmICghU19JU0RJUihzdC5zdF9tb2RlKSB8fCAhcm1kaXIocGF0aCkpKQorCQkJZXJybm8gPSBFRVhJU1Q7CisJfQorCisJaWYgKGVycm5vID09IEVFWElTVCkgeworCQl1bnNpZ25lZCBpbnQgbnIgPSBnZXRwaWQoKTsKKworCQlmb3IgKDs7KSB7CisJCQljaGFyIG5ld3BhdGhbUEFUSF9NQVhdOworCQkJbWtzbnBhdGgobmV3cGF0aCwgc2l6ZW9mKG5ld3BhdGgpLCAiJXN+JXUiLCBwYXRoLCBucik7CisJCQlyZXMgPSB0cnlfY3JlYXRlX2ZpbGUobmV3cGF0aCwgbW9kZSwgYnVmLCBzaXplKTsKKwkJCWlmIChyZXMgPCAwKQorCQkJCXJldHVybiAtMTsKKwkJCWlmICghcmVzKSB7CisJCQkJaWYgKCFyZW5hbWUobmV3cGF0aCwgcGF0aCkpCisJCQkJCXJldHVybiAwOworCQkJCXVubGlua19vcl93YXJuKG5ld3BhdGgpOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKGVycm5vICE9IEVFWElTVCkKKwkJCQlicmVhazsKKwkJCSsrbnI7CisJCX0KKwl9CisJcmV0dXJuIGVycm9yX2Vycm5vKF8oInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIpLAorCQkJICAgcGF0aCwgbW9kZSk7Cit9CisKK3N0YXRpYyBpbnQgYWRkX2NvbmZsaWN0ZWRfc3RhZ2VzX2ZpbGUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCQkgICAgICAgc3RydWN0IHBhdGNoICpwYXRjaCkKK3sKKwlpbnQgc3RhZ2UsIG5hbWVsZW47CisJdW5zaWduZWQgY2Vfc2l6ZSwgbW9kZTsKKwlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOworCisJaWYgKCFzdGF0ZS0+dXBkYXRlX2luZGV4KQorCQlyZXR1cm4gMDsKKwluYW1lbGVuID0gc3RybGVuKHBhdGNoLT5uZXdfbmFtZSk7CisJY2Vfc2l6ZSA9IGNhY2hlX2VudHJ5X3NpemUobmFtZWxlbik7CisJbW9kZSA9IHBhdGNoLT5uZXdfbW9kZSA/IHBhdGNoLT5uZXdfbW9kZSA6IChTX0lGUkVHIHwgMDY0NCk7CisKKwlyZW1vdmVfZmlsZV9mcm9tX2NhY2hlKHBhdGNoLT5uZXdfbmFtZSk7CisJZm9yIChzdGFnZSA9IDE7IHN0YWdlIDwgNDsgc3RhZ2UrKykgeworCQlpZiAoaXNfbnVsbF9vaWQoJnBhdGNoLT50aHJlZXdheV9zdGFnZVtzdGFnZSAtIDFdKSkKKwkJCWNvbnRpbnVlOworCQljZSA9IHhjYWxsb2MoMSwgY2Vfc2l6ZSk7CisJCW1lbWNweShjZS0+bmFtZSwgcGF0Y2gtPm5ld19uYW1lLCBuYW1lbGVuKTsKKwkJY2UtPmNlX21vZGUgPSBjcmVhdGVfY2VfbW9kZShtb2RlKTsKKwkJY2UtPmNlX2ZsYWdzID0gY3JlYXRlX2NlX2ZsYWdzKHN0YWdlKTsKKwkJY2UtPmNlX25hbWVsZW4gPSBuYW1lbGVuOworCQlvaWRjcHkoJmNlLT5vaWQsICZwYXRjaC0+dGhyZWV3YXlfc3RhZ2Vbc3RhZ2UgLSAxXSk7CisJCWlmIChhZGRfY2FjaGVfZW50cnkoY2UsIEFERF9DQUNIRV9PS19UT19BREQpIDwgMCkgeworCQkJZnJlZShjZSk7CisJCQlyZXR1cm4gZXJyb3IoXygidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiKSwKKwkJCQkgICAgIHBhdGNoLT5uZXdfbmFtZSk7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcmVhdGVfZmlsZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQoreworCWNoYXIgKnBhdGggPSBwYXRjaC0+bmV3X25hbWU7CisJdW5zaWduZWQgbW9kZSA9IHBhdGNoLT5uZXdfbW9kZTsKKwl1bnNpZ25lZCBsb25nIHNpemUgPSBwYXRjaC0+cmVzdWx0c2l6ZTsKKwljaGFyICpidWYgPSBwYXRjaC0+cmVzdWx0OworCisJaWYgKCFtb2RlKQorCQltb2RlID0gU19JRlJFRyB8IDA2NDQ7CisJaWYgKGNyZWF0ZV9vbmVfZmlsZShzdGF0ZSwgcGF0aCwgbW9kZSwgYnVmLCBzaXplKSkKKwkJcmV0dXJuIC0xOworCisJaWYgKHBhdGNoLT5jb25mbGljdGVkX3RocmVld2F5KQorCQlyZXR1cm4gYWRkX2NvbmZsaWN0ZWRfc3RhZ2VzX2ZpbGUoc3RhdGUsIHBhdGNoKTsKKwllbHNlCisJCXJldHVybiBhZGRfaW5kZXhfZmlsZShzdGF0ZSwgcGF0aCwgbW9kZSwgYnVmLCBzaXplKTsKK30KKworLyogcGhhc2UgemVybyBpcyB0byByZW1vdmUsIHBoYXNlIG9uZSBpcyB0byBjcmVhdGUgKi8KK3N0YXRpYyBpbnQgd3JpdGVfb3V0X29uZV9yZXN1bHQoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCQlzdHJ1Y3QgcGF0Y2ggKnBhdGNoLAorCQkJCWludCBwaGFzZSkKK3sKKwlpZiAocGF0Y2gtPmlzX2RlbGV0ZSA+IDApIHsKKwkJaWYgKHBoYXNlID09IDApCisJCQlyZXR1cm4gcmVtb3ZlX2ZpbGUoc3RhdGUsIHBhdGNoLCAxKTsKKwkJcmV0dXJuIDA7CisJfQorCWlmIChwYXRjaC0+aXNfbmV3ID4gMCB8fCBwYXRjaC0+aXNfY29weSkgeworCQlpZiAocGhhc2UgPT0gMSkKKwkJCXJldHVybiBjcmVhdGVfZmlsZShzdGF0ZSwgcGF0Y2gpOworCQlyZXR1cm4gMDsKKwl9CisJLyoKKwkgKiBSZW5hbWUgb3IgbW9kaWZpY2F0aW9uIGJvaWxzIGRvd24gdG8gdGhlIHNhbWUKKwkgKiB0aGluZzogcmVtb3ZlIHRoZSBvbGQsIHdyaXRlIHRoZSBuZXcKKwkgKi8KKwlpZiAocGhhc2UgPT0gMCkKKwkJcmV0dXJuIHJlbW92ZV9maWxlKHN0YXRlLCBwYXRjaCwgcGF0Y2gtPmlzX3JlbmFtZSk7CisJaWYgKHBoYXNlID09IDEpCisJCXJldHVybiBjcmVhdGVfZmlsZShzdGF0ZSwgcGF0Y2gpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdyaXRlX291dF9vbmVfcmVqZWN0KHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCit7CisJRklMRSAqcmVqOworCWNoYXIgbmFtZWJ1ZltQQVRIX01BWF07CisJc3RydWN0IGZyYWdtZW50ICpmcmFnOworCWludCBjbnQgPSAwOworCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKworCWZvciAoY250ID0gMCwgZnJhZyA9IHBhdGNoLT5mcmFnbWVudHM7IGZyYWc7IGZyYWcgPSBmcmFnLT5uZXh0KSB7CisJCWlmICghZnJhZy0+cmVqZWN0ZWQpCisJCQljb250aW51ZTsKKwkJY250Kys7CisJfQorCisJaWYgKCFjbnQpIHsKKwkJaWYgKHN0YXRlLT5hcHBseV92ZXJib3NpdHkgPiB2ZXJib3NpdHlfbm9ybWFsKQorCQkJc2F5X3BhdGNoX25hbWUoc3RkZXJyLAorCQkJCSAgICAgICBfKCJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIiksIHBhdGNoKTsKKwkJcmV0dXJuIDA7CisJfQorCisJLyogVGhpcyBzaG91bGQgbm90IGhhcHBlbiwgYmVjYXVzZSBhIHJlbW92YWwgcGF0Y2ggdGhhdCBsZWF2ZXMKKwkgKiBjb250ZW50cyBhcmUgbWFya2VkICJyZWplY3RlZCIgYXQgdGhlIHBhdGNoIGxldmVsLgorCSAqLworCWlmICghcGF0Y2gtPm5ld19uYW1lKQorCQlkaWUoXygiaW50ZXJuYWwgZXJyb3IiKSk7CisKKwkvKiBTYXkgdGhpcyBldmVuIHdpdGhvdXQgLS12ZXJib3NlICovCisJc3RyYnVmX2FkZGYoJnNiLCBRXygiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIiwKKwkJCSAgICAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIsCisJCQkgICAgY250KSwKKwkJICAgIGNudCk7CisJaWYgKHN0YXRlLT5hcHBseV92ZXJib3NpdHkgPiB2ZXJib3NpdHlfc2lsZW50KQorCQlzYXlfcGF0Y2hfbmFtZShzdGRlcnIsIHNiLmJ1ZiwgcGF0Y2gpOworCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CisKKwljbnQgPSBzdHJsZW4ocGF0Y2gtPm5ld19uYW1lKTsKKwlpZiAoQVJSQVlfU0laRShuYW1lYnVmKSA8PSBjbnQgKyA1KSB7CisJCWNudCA9IEFSUkFZX1NJWkUobmFtZWJ1ZikgLSA1OworCQl3YXJuaW5nKF8oInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIpLAorCQkJY250IC0gMSwgcGF0Y2gtPm5ld19uYW1lKTsKKwl9CisJbWVtY3B5KG5hbWVidWYsIHBhdGNoLT5uZXdfbmFtZSwgY250KTsKKwltZW1jcHkobmFtZWJ1ZiArIGNudCwgIi5yZWoiLCA1KTsKKworCXJlaiA9IGZvcGVuKG5hbWVidWYsICJ3Iik7CisJaWYgKCFyZWopCisJCXJldHVybiBlcnJvcl9lcnJubyhfKCJjYW5ub3Qgb3BlbiAlcyIpLCBuYW1lYnVmKTsKKworCS8qIE5vcm1hbCBnaXQgdG9vbHMgbmV2ZXIgZGVhbCB3aXRoIC5yZWosIHNvIGRvIG5vdCBwcmV0ZW5kCisJICogdGhpcyBpcyBhIGdpdCBwYXRjaCBieSBzYXlpbmcgLS1naXQgb3IgZ2l2aW5nIGV4dGVuZGVkCisJICogaGVhZGVycy4gIFdoaWxlIGF0IGl0LCBtYXliZSBwbGVhc2UgImtvbXBhcmUiIHRoYXQgd2FudHMKKwkgKiB0aGUgdHJhaWxpbmcgVEFCIGFuZCBzb21lIGdhcmJhZ2UgYXQgdGhlIGVuZCBvZiBsaW5lIDstKS4KKwkgKi8KKwlmcHJpbnRmKHJlaiwgImRpZmYgYS8lcyBiLyVzXHQocmVqZWN0ZWQgaHVua3MpXG4iLAorCQlwYXRjaC0+bmV3X25hbWUsIHBhdGNoLT5uZXdfbmFtZSk7CisJZm9yIChjbnQgPSAxLCBmcmFnID0gcGF0Y2gtPmZyYWdtZW50czsKKwkgICAgIGZyYWc7CisJICAgICBjbnQrKywgZnJhZyA9IGZyYWctPm5leHQpIHsKKwkJaWYgKCFmcmFnLT5yZWplY3RlZCkgeworCQkJaWYgKHN0YXRlLT5hcHBseV92ZXJib3NpdHkgPiB2ZXJib3NpdHlfc2lsZW50KQorCQkJCWZwcmludGZfbG4oc3RkZXJyLCBfKCJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIiksIGNudCk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoc3RhdGUtPmFwcGx5X3ZlcmJvc2l0eSA+IHZlcmJvc2l0eV9zaWxlbnQpCisJCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiUmVqZWN0ZWQgaHVuayAjJWQuIiksIGNudCk7CisJCWZwcmludGYocmVqLCAiJS4qcyIsIGZyYWctPnNpemUsIGZyYWctPnBhdGNoKTsKKwkJaWYgKGZyYWctPnBhdGNoW2ZyYWctPnNpemUtMV0gIT0gJ1xuJykKKwkJCWZwdXRjKCdcbicsIHJlaik7CisJfQorCWZjbG9zZShyZWopOworCXJldHVybiAtMTsKK30KKworLyoKKyAqIFJldHVybnM6CisgKiAgLTEgaWYgYW4gZXJyb3IgaGFwcGVuZWQKKyAqICAgMCBpZiB0aGUgcGF0Y2ggYXBwbGllZCBjbGVhbmx5CisgKiAgIDEgaWYgdGhlIHBhdGNoIGRpZCBub3QgYXBwbHkgY2xlYW5seQorICovCitzdGF0aWMgaW50IHdyaXRlX291dF9yZXN1bHRzKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsIHN0cnVjdCBwYXRjaCAqbGlzdCkKK3sKKwlpbnQgcGhhc2U7CisJaW50IGVycnMgPSAwOworCXN0cnVjdCBwYXRjaCAqbDsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgY3BhdGggPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKKworCWZvciAocGhhc2UgPSAwOyBwaGFzZSA8IDI7IHBoYXNlKyspIHsKKwkJbCA9IGxpc3Q7CisJCXdoaWxlIChsKSB7CisJCQlpZiAobC0+cmVqZWN0ZWQpCisJCQkJZXJycyA9IDE7CisJCQllbHNlIHsKKwkJCQlpZiAod3JpdGVfb3V0X29uZV9yZXN1bHQoc3RhdGUsIGwsIHBoYXNlKSkgeworCQkJCQlzdHJpbmdfbGlzdF9jbGVhcigmY3BhdGgsIDApOworCQkJCQlyZXR1cm4gLTE7CisJCQkJfQorCQkJCWlmIChwaGFzZSA9PSAxKSB7CisJCQkJCWlmICh3cml0ZV9vdXRfb25lX3JlamVjdChzdGF0ZSwgbCkpCisJCQkJCQllcnJzID0gMTsKKwkJCQkJaWYgKGwtPmNvbmZsaWN0ZWRfdGhyZWV3YXkpIHsKKwkJCQkJCXN0cmluZ19saXN0X2FwcGVuZCgmY3BhdGgsIGwtPm5ld19uYW1lKTsKKwkJCQkJCWVycnMgPSAxOworCQkJCQl9CisJCQkJfQorCQkJfQorCQkJbCA9IGwtPm5leHQ7CisJCX0KKwl9CisKKwlpZiAoY3BhdGgubnIpIHsKKwkJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CisKKwkJc3RyaW5nX2xpc3Rfc29ydCgmY3BhdGgpOworCQlpZiAoc3RhdGUtPmFwcGx5X3ZlcmJvc2l0eSA+IHZlcmJvc2l0eV9zaWxlbnQpIHsKKwkJCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgJmNwYXRoKQorCQkJCWZwcmludGYoc3RkZXJyLCAiVSAlc1xuIiwgaXRlbS0+c3RyaW5nKTsKKwkJfQorCQlzdHJpbmdfbGlzdF9jbGVhcigmY3BhdGgsIDApOworCisJCXJlcmVyZSgwKTsKKwl9CisKKwlyZXR1cm4gZXJyczsKK30KKworLyoKKyAqIFRyeSB0byBhcHBseSBhIHBhdGNoLgorICoKKyAqIFJldHVybnM6CisgKiAgLTEyOCBpZiBhIGJhZCBlcnJvciBoYXBwZW5lZCAobGlrZSBwYXRjaCB1bnJlYWRhYmxlKQorICogIC0xIGlmIHBhdGNoIGRpZCBub3QgYXBwbHkgYW5kIHVzZXIgY2Fubm90IGRlYWwgd2l0aCBpdAorICogICAwIGlmIHRoZSBwYXRjaCBhcHBsaWVkCisgKiAgIDEgaWYgdGhlIHBhdGNoIGRpZCBub3QgYXBwbHkgYnV0IHVzZXIgbWlnaHQgZml4IGl0CisgKi8KK3N0YXRpYyBpbnQgYXBwbHlfcGF0Y2goc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJICAgICAgIGludCBmZCwKKwkJICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkgICAgICAgaW50IG9wdGlvbnMpCit7CisJc2l6ZV90IG9mZnNldDsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOyAvKiBvd25zIHRoZSBwYXRjaCB0ZXh0ICovCisJc3RydWN0IHBhdGNoICpsaXN0ID0gTlVMTCwgKipsaXN0cCA9ICZsaXN0OworCWludCBza2lwcGVkX3BhdGNoID0gMDsKKwlpbnQgcmVzID0gMDsKKworCXN0YXRlLT5wYXRjaF9pbnB1dF9maWxlID0gZmlsZW5hbWU7CisJaWYgKHJlYWRfcGF0Y2hfZmlsZSgmYnVmLCBmZCkgPCAwKQorCQlyZXR1cm4gLTEyODsKKwlvZmZzZXQgPSAwOworCXdoaWxlIChvZmZzZXQgPCBidWYubGVuKSB7CisJCXN0cnVjdCBwYXRjaCAqcGF0Y2g7CisJCWludCBucjsKKworCQlwYXRjaCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpwYXRjaCkpOworCQlwYXRjaC0+aW5hY2N1cmF0ZV9lb2YgPSAhIShvcHRpb25zICYgQVBQTFlfT1BUX0lOQUNDVVJBVEVfRU9GKTsKKwkJcGF0Y2gtPnJlY291bnQgPSAgISEob3B0aW9ucyAmIEFQUExZX09QVF9SRUNPVU5UKTsKKwkJbnIgPSBwYXJzZV9jaHVuayhzdGF0ZSwgYnVmLmJ1ZiArIG9mZnNldCwgYnVmLmxlbiAtIG9mZnNldCwgcGF0Y2gpOworCQlpZiAobnIgPCAwKSB7CisJCQlmcmVlX3BhdGNoKHBhdGNoKTsKKwkJCWlmIChuciA9PSAtMTI4KSB7CisJCQkJcmVzID0gLTEyODsKKwkJCQlnb3RvIGVuZDsKKwkJCX0KKwkJCWJyZWFrOworCQl9CisJCWlmIChzdGF0ZS0+YXBwbHlfaW5fcmV2ZXJzZSkKKwkJCXJldmVyc2VfcGF0Y2hlcyhwYXRjaCk7CisJCWlmICh1c2VfcGF0Y2goc3RhdGUsIHBhdGNoKSkgeworCQkJcGF0Y2hfc3RhdHMoc3RhdGUsIHBhdGNoKTsKKwkJCSpsaXN0cCA9IHBhdGNoOworCQkJbGlzdHAgPSAmcGF0Y2gtPm5leHQ7CisJCX0KKwkJZWxzZSB7CisJCQlpZiAoc3RhdGUtPmFwcGx5X3ZlcmJvc2l0eSA+IHZlcmJvc2l0eV9ub3JtYWwpCisJCQkJc2F5X3BhdGNoX25hbWUoc3RkZXJyLCBfKCJTa2lwcGVkIHBhdGNoICclcycuIiksIHBhdGNoKTsKKwkJCWZyZWVfcGF0Y2gocGF0Y2gpOworCQkJc2tpcHBlZF9wYXRjaCsrOworCQl9CisJCW9mZnNldCArPSBucjsKKwl9CisKKwlpZiAoIWxpc3QgJiYgIXNraXBwZWRfcGF0Y2gpIHsKKwkJZXJyb3IoXygidW5yZWNvZ25pemVkIGlucHV0IikpOworCQlyZXMgPSAtMTI4OworCQlnb3RvIGVuZDsKKwl9CisKKwlpZiAoc3RhdGUtPndoaXRlc3BhY2VfZXJyb3IgJiYgKHN0YXRlLT53c19lcnJvcl9hY3Rpb24gPT0gZGllX29uX3dzX2Vycm9yKSkKKwkJc3RhdGUtPmFwcGx5ID0gMDsKKworCXN0YXRlLT51cGRhdGVfaW5kZXggPSBzdGF0ZS0+Y2hlY2tfaW5kZXggJiYgc3RhdGUtPmFwcGx5OworCWlmIChzdGF0ZS0+dXBkYXRlX2luZGV4ICYmIHN0YXRlLT5uZXdmZCA8IDApIHsKKwkJaWYgKHN0YXRlLT5pbmRleF9maWxlKQorCQkJc3RhdGUtPm5ld2ZkID0gaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZShzdGF0ZS0+bG9ja19maWxlLAorCQkJCQkJCQkgc3RhdGUtPmluZGV4X2ZpbGUsCisJCQkJCQkJCSBMT0NLX0RJRV9PTl9FUlJPUik7CisJCWVsc2UKKwkJCXN0YXRlLT5uZXdmZCA9IGhvbGRfbG9ja2VkX2luZGV4KHN0YXRlLT5sb2NrX2ZpbGUsIDEpOworCX0KKworCWlmIChzdGF0ZS0+Y2hlY2tfaW5kZXggJiYgcmVhZF9hcHBseV9jYWNoZShzdGF0ZSkgPCAwKSB7CisJCWVycm9yKF8oInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiKSk7CisJCXJlcyA9IC0xMjg7CisJCWdvdG8gZW5kOworCX0KKworCWlmIChzdGF0ZS0+Y2hlY2sgfHwgc3RhdGUtPmFwcGx5KSB7CisJCWludCByID0gY2hlY2tfcGF0Y2hfbGlzdChzdGF0ZSwgbGlzdCk7CisJCWlmIChyID09IC0xMjgpIHsKKwkJCXJlcyA9IC0xMjg7CisJCQlnb3RvIGVuZDsKKwkJfQorCQlpZiAociA8IDAgJiYgIXN0YXRlLT5hcHBseV93aXRoX3JlamVjdCkgeworCQkJcmVzID0gLTE7CisJCQlnb3RvIGVuZDsKKwkJfQorCX0KKworCWlmIChzdGF0ZS0+YXBwbHkpIHsKKwkJaW50IHdyaXRlX3JlcyA9IHdyaXRlX291dF9yZXN1bHRzKHN0YXRlLCBsaXN0KTsKKwkJaWYgKHdyaXRlX3JlcyA8IDApIHsKKwkJCXJlcyA9IC0xMjg7CisJCQlnb3RvIGVuZDsKKwkJfQorCQlpZiAod3JpdGVfcmVzID4gMCkgeworCQkJLyogd2l0aCAtLTN3YXksIHdlIHN0aWxsIG5lZWQgdG8gd3JpdGUgdGhlIGluZGV4IG91dCAqLworCQkJcmVzID0gc3RhdGUtPmFwcGx5X3dpdGhfcmVqZWN0ID8gLTEgOiAxOworCQkJZ290byBlbmQ7CisJCX0KKwl9CisKKwlpZiAoc3RhdGUtPmZha2VfYW5jZXN0b3IgJiYKKwkgICAgYnVpbGRfZmFrZV9hbmNlc3RvcihzdGF0ZSwgbGlzdCkpIHsKKwkJcmVzID0gLTEyODsKKwkJZ290byBlbmQ7CisJfQorCisJaWYgKHN0YXRlLT5kaWZmc3RhdCAmJiBzdGF0ZS0+YXBwbHlfdmVyYm9zaXR5ID4gdmVyYm9zaXR5X3NpbGVudCkKKwkJc3RhdF9wYXRjaF9saXN0KHN0YXRlLCBsaXN0KTsKKworCWlmIChzdGF0ZS0+bnVtc3RhdCAmJiBzdGF0ZS0+YXBwbHlfdmVyYm9zaXR5ID4gdmVyYm9zaXR5X3NpbGVudCkKKwkJbnVtc3RhdF9wYXRjaF9saXN0KHN0YXRlLCBsaXN0KTsKKworCWlmIChzdGF0ZS0+c3VtbWFyeSAmJiBzdGF0ZS0+YXBwbHlfdmVyYm9zaXR5ID4gdmVyYm9zaXR5X3NpbGVudCkKKwkJc3VtbWFyeV9wYXRjaF9saXN0KGxpc3QpOworCitlbmQ6CisJZnJlZV9wYXRjaF9saXN0KGxpc3QpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOworCXN0cmluZ19saXN0X2NsZWFyKCZzdGF0ZS0+Zm5fdGFibGUsIDApOworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyBpbnQgYXBwbHlfb3B0aW9uX3BhcnNlX2V4Y2x1ZGUoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQoreworCXN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUgPSBvcHQtPnZhbHVlOworCWFkZF9uYW1lX2xpbWl0KHN0YXRlLCBhcmcsIDEpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFwcGx5X29wdGlvbl9wYXJzZV9pbmNsdWRlKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQkgICAgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlID0gb3B0LT52YWx1ZTsKKwlhZGRfbmFtZV9saW1pdChzdGF0ZSwgYXJnLCAwKTsKKwlzdGF0ZS0+aGFzX2luY2x1ZGUgPSAxOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFwcGx5X29wdGlvbl9wYXJzZV9wKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQljb25zdCBjaGFyICphcmcsCisJCQkJaW50IHVuc2V0KQoreworCXN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUgPSBvcHQtPnZhbHVlOworCXN0YXRlLT5wX3ZhbHVlID0gYXRvaShhcmcpOworCXN0YXRlLT5wX3ZhbHVlX2tub3duID0gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhcHBseV9vcHRpb25fcGFyc2Vfc3BhY2VfY2hhbmdlKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQkJICAgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSA9IG9wdC0+dmFsdWU7CisJaWYgKHVuc2V0KQorCQlzdGF0ZS0+d3NfaWdub3JlX2FjdGlvbiA9IGlnbm9yZV93c19ub25lOworCWVsc2UKKwkJc3RhdGUtPndzX2lnbm9yZV9hY3Rpb24gPSBpZ25vcmVfd3NfY2hhbmdlOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFwcGx5X29wdGlvbl9wYXJzZV93aGl0ZXNwYWNlKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQkJIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQoreworCXN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUgPSBvcHQtPnZhbHVlOworCXN0YXRlLT53aGl0ZXNwYWNlX29wdGlvbiA9IGFyZzsKKwlpZiAocGFyc2Vfd2hpdGVzcGFjZV9vcHRpb24oc3RhdGUsIGFyZykpCisJCWV4aXQoMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXBwbHlfb3B0aW9uX3BhcnNlX2RpcmVjdG9yeShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkJCWNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQoreworCXN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUgPSBvcHQtPnZhbHVlOworCXN0cmJ1Zl9yZXNldCgmc3RhdGUtPnJvb3QpOworCXN0cmJ1Zl9hZGRzdHIoJnN0YXRlLT5yb290LCBhcmcpOworCXN0cmJ1Zl9jb21wbGV0ZSgmc3RhdGUtPnJvb3QsICcvJyk7CisJcmV0dXJuIDA7Cit9CisKK2ludCBhcHBseV9hbGxfcGF0Y2hlcyhzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkgICAgICBpbnQgYXJnYywKKwkJICAgICAgY29uc3QgY2hhciAqKmFyZ3YsCisJCSAgICAgIGludCBvcHRpb25zKQoreworCWludCBpOworCWludCByZXM7CisJaW50IGVycnMgPSAwOworCWludCByZWFkX3N0ZGluID0gMTsKKworCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKKwkJY29uc3QgY2hhciAqYXJnID0gYXJndltpXTsKKwkJaW50IGZkOworCisJCWlmICghc3RyY21wKGFyZywgIi0iKSkgeworCQkJcmVzID0gYXBwbHlfcGF0Y2goc3RhdGUsIDAsICI8c3RkaW4+Iiwgb3B0aW9ucyk7CisJCQlpZiAocmVzIDwgMCkKKwkJCQlnb3RvIGVuZDsKKwkJCWVycnMgfD0gcmVzOworCQkJcmVhZF9zdGRpbiA9IDA7CisJCQljb250aW51ZTsKKwkJfSBlbHNlIGlmICgwIDwgc3RhdGUtPnByZWZpeF9sZW5ndGgpCisJCQlhcmcgPSBwcmVmaXhfZmlsZW5hbWUoc3RhdGUtPnByZWZpeCwKKwkJCQkJICAgICAgc3RhdGUtPnByZWZpeF9sZW5ndGgsCisJCQkJCSAgICAgIGFyZyk7CisKKwkJZmQgPSBvcGVuKGFyZywgT19SRE9OTFkpOworCQlpZiAoZmQgPCAwKSB7CisJCQllcnJvcihfKCJjYW4ndCBvcGVuIHBhdGNoICclcyc6ICVzIiksIGFyZywgc3RyZXJyb3IoZXJybm8pKTsKKwkJCXJlcyA9IC0xMjg7CisJCQlnb3RvIGVuZDsKKwkJfQorCQlyZWFkX3N0ZGluID0gMDsKKwkJc2V0X2RlZmF1bHRfd2hpdGVzcGFjZV9tb2RlKHN0YXRlKTsKKwkJcmVzID0gYXBwbHlfcGF0Y2goc3RhdGUsIGZkLCBhcmcsIG9wdGlvbnMpOworCQljbG9zZShmZCk7CisJCWlmIChyZXMgPCAwKQorCQkJZ290byBlbmQ7CisJCWVycnMgfD0gcmVzOworCX0KKwlzZXRfZGVmYXVsdF93aGl0ZXNwYWNlX21vZGUoc3RhdGUpOworCWlmIChyZWFkX3N0ZGluKSB7CisJCXJlcyA9IGFwcGx5X3BhdGNoKHN0YXRlLCAwLCAiPHN0ZGluPiIsIG9wdGlvbnMpOworCQlpZiAocmVzIDwgMCkKKwkJCWdvdG8gZW5kOworCQllcnJzIHw9IHJlczsKKwl9CisKKwlpZiAoc3RhdGUtPndoaXRlc3BhY2VfZXJyb3IpIHsKKwkJaWYgKHN0YXRlLT5zcXVlbGNoX3doaXRlc3BhY2VfZXJyb3JzICYmCisJCSAgICBzdGF0ZS0+c3F1ZWxjaF93aGl0ZXNwYWNlX2Vycm9ycyA8IHN0YXRlLT53aGl0ZXNwYWNlX2Vycm9yKSB7CisJCQlpbnQgc3F1ZWxjaGVkID0KKwkJCQlzdGF0ZS0+d2hpdGVzcGFjZV9lcnJvciAtIHN0YXRlLT5zcXVlbGNoX3doaXRlc3BhY2VfZXJyb3JzOworCQkJd2FybmluZyhRXygic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiLAorCQkJCSAgICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiLAorCQkJCSAgIHNxdWVsY2hlZCksCisJCQkJc3F1ZWxjaGVkKTsKKwkJfQorCQlpZiAoc3RhdGUtPndzX2Vycm9yX2FjdGlvbiA9PSBkaWVfb25fd3NfZXJyb3IpIHsKKwkJCWVycm9yKFFfKCIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIiwKKwkJCQkgIiVkIGxpbmVzIGFkZCB3aGl0ZXNwYWNlIGVycm9ycy4iLAorCQkJCSBzdGF0ZS0+d2hpdGVzcGFjZV9lcnJvciksCisJCQkgICAgICBzdGF0ZS0+d2hpdGVzcGFjZV9lcnJvcik7CisJCQlyZXMgPSAtMTI4OworCQkJZ290byBlbmQ7CisJCX0KKwkJaWYgKHN0YXRlLT5hcHBsaWVkX2FmdGVyX2ZpeGluZ193cyAmJiBzdGF0ZS0+YXBwbHkpCisJCQl3YXJuaW5nKFFfKCIlZCBsaW5lIGFwcGxpZWQgYWZ0ZXIiCisJCQkJICAgIiBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIiwKKwkJCQkgICAiJWQgbGluZXMgYXBwbGllZCBhZnRlciIKKwkJCQkgICAiIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iLAorCQkJCSAgIHN0YXRlLT5hcHBsaWVkX2FmdGVyX2ZpeGluZ193cyksCisJCQkJc3RhdGUtPmFwcGxpZWRfYWZ0ZXJfZml4aW5nX3dzKTsKKwkJZWxzZSBpZiAoc3RhdGUtPndoaXRlc3BhY2VfZXJyb3IpCisJCQl3YXJuaW5nKFFfKCIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIiwKKwkJCQkgICAiJWQgbGluZXMgYWRkIHdoaXRlc3BhY2UgZXJyb3JzLiIsCisJCQkJICAgc3RhdGUtPndoaXRlc3BhY2VfZXJyb3IpLAorCQkJCXN0YXRlLT53aGl0ZXNwYWNlX2Vycm9yKTsKKwl9CisKKwlpZiAoc3RhdGUtPnVwZGF0ZV9pbmRleCkgeworCQlyZXMgPSB3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgc3RhdGUtPmxvY2tfZmlsZSwgQ09NTUlUX0xPQ0spOworCQlpZiAocmVzKSB7CisJCQllcnJvcihfKCJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiKSk7CisJCQlyZXMgPSAtMTI4OworCQkJZ290byBlbmQ7CisJCX0KKwkJc3RhdGUtPm5ld2ZkID0gLTE7CisJfQorCisJcmVzID0gISFlcnJzOworCitlbmQ6CisJaWYgKHN0YXRlLT5uZXdmZCA+PSAwKSB7CisJCXJvbGxiYWNrX2xvY2tfZmlsZShzdGF0ZS0+bG9ja19maWxlKTsKKwkJc3RhdGUtPm5ld2ZkID0gLTE7CisJfQorCisJaWYgKHN0YXRlLT5hcHBseV92ZXJib3NpdHkgPD0gdmVyYm9zaXR5X3NpbGVudCkgeworCQlzZXRfZXJyb3Jfcm91dGluZShzdGF0ZS0+c2F2ZWRfZXJyb3Jfcm91dGluZSk7CisJCXNldF93YXJuX3JvdXRpbmUoc3RhdGUtPnNhdmVkX3dhcm5fcm91dGluZSk7CisJfQorCisJaWYgKHJlcyA+IC0xKQorCQlyZXR1cm4gcmVzOworCXJldHVybiAocmVzID09IC0xID8gMSA6IDEyOCk7Cit9CisKK2ludCBhcHBseV9wYXJzZV9vcHRpb25zKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwKKwkJCXN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCisJCQlpbnQgKmZvcmNlX2FwcGx5LCBpbnQgKm9wdGlvbnMsCisJCQljb25zdCBjaGFyICogY29uc3QgKmFwcGx5X3VzYWdlKQoreworCXN0cnVjdCBvcHRpb24gYnVpbHRpbl9hcHBseV9vcHRpb25zW10gPSB7CisJCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAiZXhjbHVkZSIsIHN0YXRlLCBOXygicGF0aCIpLAorCQkJTl8oImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiKSwKKwkJCTAsIGFwcGx5X29wdGlvbl9wYXJzZV9leGNsdWRlIH0sCisJCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAiaW5jbHVkZSIsIHN0YXRlLCBOXygicGF0aCIpLAorCQkJTl8oImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiKSwKKwkJCTAsIGFwcGx5X29wdGlvbl9wYXJzZV9pbmNsdWRlIH0sCisJCXsgT1BUSU9OX0NBTExCQUNLLCAncCcsIE5VTEwsIHN0YXRlLCBOXygibnVtIiksCisJCQlOXygicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiKSwKKwkJCTAsIGFwcGx5X29wdGlvbl9wYXJzZV9wIH0sCisJCU9QVF9CT09MKDAsICJuby1hZGQiLCAmc3RhdGUtPm5vX2FkZCwKKwkJCU5fKCJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIikpLAorCQlPUFRfQk9PTCgwLCAic3RhdCIsICZzdGF0ZS0+ZGlmZnN0YXQsCisJCQlOXygiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBkaWZmc3RhdCBmb3IgdGhlIGlucHV0IikpLAorCQlPUFRfTk9PUF9OT0FSRygwLCAiYWxsb3ctYmluYXJ5LXJlcGxhY2VtZW50IiksCisJCU9QVF9OT09QX05PQVJHKDAsICJiaW5hcnkiKSwKKwkJT1BUX0JPT0woMCwgIm51bXN0YXQiLCAmc3RhdGUtPm51bXN0YXQsCisJCQlOXygic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIpKSwKKwkJT1BUX0JPT0woMCwgInN1bW1hcnkiLCAmc3RhdGUtPnN1bW1hcnksCisJCQlOXygiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIpKSwKKwkJT1BUX0JPT0woMCwgImNoZWNrIiwgJnN0YXRlLT5jaGVjaywKKwkJCU5fKCJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIikpLAorCQlPUFRfQk9PTCgwLCAiaW5kZXgiLCAmc3RhdGUtPmNoZWNrX2luZGV4LAorCQkJTl8oIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIpKSwKKwkJT1BUX0JPT0woMCwgImNhY2hlZCIsICZzdGF0ZS0+Y2FjaGVkLAorCQkJTl8oImFwcGx5IGEgcGF0Y2ggd2l0aG91dCB0b3VjaGluZyB0aGUgd29ya2luZyB0cmVlIikpLAorCQlPUFRfQk9PTCgwLCAidW5zYWZlLXBhdGhzIiwgJnN0YXRlLT51bnNhZmVfcGF0aHMsCisJCQlOXygiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIpKSwKKwkJT1BUX0JPT0woMCwgImFwcGx5IiwgZm9yY2VfYXBwbHksCisJCQlOXygiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiKSksCisJCU9QVF9CT09MKCczJywgIjN3YXkiLCAmc3RhdGUtPnRocmVld2F5LAorCQkJIE5fKCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIpKSwKKwkJT1BUX0ZJTEVOQU1FKDAsICJidWlsZC1mYWtlLWFuY2VzdG9yIiwgJnN0YXRlLT5mYWtlX2FuY2VzdG9yLAorCQkJTl8oImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIikpLAorCQkvKiBUaGluayB0d2ljZSBiZWZvcmUgYWRkaW5nICItLW51bCIgc3lub255bSB0byB0aGlzICovCisJCU9QVF9TRVRfSU5UKCd6JywgTlVMTCwgJnN0YXRlLT5saW5lX3Rlcm1pbmF0aW9uLAorCQkJTl8oInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIiksICdcMCcpLAorCQlPUFRfSU5URUdFUignQycsIE5VTEwsICZzdGF0ZS0+cF9jb250ZXh0LAorCQkJCU5fKCJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giKSksCisJCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAid2hpdGVzcGFjZSIsIHN0YXRlLCBOXygiYWN0aW9uIiksCisJCQlOXygiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiKSwKKwkJCTAsIGFwcGx5X29wdGlvbl9wYXJzZV93aGl0ZXNwYWNlIH0sCisJCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAiaWdub3JlLXNwYWNlLWNoYW5nZSIsIHN0YXRlLCBOVUxMLAorCQkJTl8oImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiKSwKKwkJCVBBUlNFX09QVF9OT0FSRywgYXBwbHlfb3B0aW9uX3BhcnNlX3NwYWNlX2NoYW5nZSB9LAorCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgImlnbm9yZS13aGl0ZXNwYWNlIiwgc3RhdGUsIE5VTEwsCisJCQlOXygiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIpLAorCQkJUEFSU0VfT1BUX05PQVJHLCBhcHBseV9vcHRpb25fcGFyc2Vfc3BhY2VfY2hhbmdlIH0sCisJCU9QVF9CT09MKCdSJywgInJldmVyc2UiLCAmc3RhdGUtPmFwcGx5X2luX3JldmVyc2UsCisJCQlOXygiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiKSksCisJCU9QVF9CT09MKDAsICJ1bmlkaWZmLXplcm8iLCAmc3RhdGUtPnVuaWRpZmZfemVybywKKwkJCU5fKCJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIpKSwKKwkJT1BUX0JPT0woMCwgInJlamVjdCIsICZzdGF0ZS0+YXBwbHlfd2l0aF9yZWplY3QsCisJCQlOXygibGVhdmUgdGhlIHJlamVjdGVkIGh1bmtzIGluIGNvcnJlc3BvbmRpbmcgKi5yZWogZmlsZXMiKSksCisJCU9QVF9CT09MKDAsICJhbGxvdy1vdmVybGFwIiwgJnN0YXRlLT5hbGxvd19vdmVybGFwLAorCQkJTl8oImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIikpLAorCQlPUFRfX1ZFUkJPU0UoJnN0YXRlLT5hcHBseV92ZXJib3NpdHksIE5fKCJiZSB2ZXJib3NlIikpLAorCQlPUFRfQklUKDAsICJpbmFjY3VyYXRlLWVvZiIsIG9wdGlvbnMsCisJCQlOXygidG9sZXJhdGUgaW5jb3JyZWN0bHkgZGV0ZWN0ZWQgbWlzc2luZyBuZXctbGluZSBhdCB0aGUgZW5kIG9mIGZpbGUiKSwKKwkJCUFQUExZX09QVF9JTkFDQ1VSQVRFX0VPRiksCisJCU9QVF9CSVQoMCwgInJlY291bnQiLCBvcHRpb25zLAorCQkJTl8oImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIpLAorCQkJQVBQTFlfT1BUX1JFQ09VTlQpLAorCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgImRpcmVjdG9yeSIsIHN0YXRlLCBOXygicm9vdCIpLAorCQkJTl8oInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiKSwKKwkJCTAsIGFwcGx5X29wdGlvbl9wYXJzZV9kaXJlY3RvcnkgfSwKKwkJT1BUX0VORCgpCisJfTsKKworCXJldHVybiBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHN0YXRlLT5wcmVmaXgsIGJ1aWx0aW5fYXBwbHlfb3B0aW9ucywgYXBwbHlfdXNhZ2UsIDApOworfQpkaWZmIC0tZ2l0IGEvYXBwbHkuaCBiL2FwcGx5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNkNjc4MwotLS0gL2Rldi9udWxsCisrKyBiL2FwcGx5LmgKQEAgLTAsMCArMSwxMzcgQEAKKyNpZm5kZWYgQVBQTFlfSAorI2RlZmluZSBBUFBMWV9ICisKK2VudW0gYXBwbHlfd3NfZXJyb3JfYWN0aW9uIHsKKwlub3dhcm5fd3NfZXJyb3IsCisJd2Fybl9vbl93c19lcnJvciwKKwlkaWVfb25fd3NfZXJyb3IsCisJY29ycmVjdF93c19lcnJvcgorfTsKKworZW51bSBhcHBseV93c19pZ25vcmUgeworCWlnbm9yZV93c19ub25lLAorCWlnbm9yZV93c19jaGFuZ2UKK307CisKK2VudW0gYXBwbHlfdmVyYm9zaXR5IHsKKwl2ZXJib3NpdHlfc2lsZW50ID0gLTEsCisJdmVyYm9zaXR5X25vcm1hbCA9IDAsCisJdmVyYm9zaXR5X3ZlcmJvc2UgPSAxCit9OworCisvKgorICogV2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGhvdyBzeW1saW5rcyBpbiB0aGUgcHJlaW1hZ2UgYXJlCisgKiBtYW5pcHVsYXRlZCBieSB0aGUgcGF0Y2hlcy4gIEEgcGF0Y2ggdG8gYWRkIGEvYi9jIHdoZXJlIGEvYgorICogaXMgYSBzeW1saW5rIHNob3VsZCBub3QgYmUgYWxsb3dlZCB0byBhZmZlY3QgdGhlIGRpcmVjdG9yeQorICogdGhlIHN5bWxpbmsgcG9pbnRzIGF0LCBidXQgaWYgdGhlIHNhbWUgcGF0Y2ggcmVtb3ZlcyBhL2IsCisgKiBpdCBpcyBwZXJmZWN0bHkgZmluZSwgYXMgdGhlIHBhdGNoIHJlbW92ZXMgYS9iIHRvIG1ha2Ugcm9vbQorICogdG8gY3JlYXRlIGEgZGlyZWN0b3J5IGEvYiBzbyB0aGF0IGEvYi9jIGNhbiBiZSBjcmVhdGVkLgorICoKKyAqIFNlZSBhbHNvICJzdHJ1Y3Qgc3RyaW5nX2xpc3Qgc3ltbGlua19jaGFuZ2VzIiBpbiAic3RydWN0CisgKiBhcHBseV9zdGF0ZSIuCisgKi8KKyNkZWZpbmUgQVBQTFlfU1lNTElOS19HT0VTX0FXQVkgMDEKKyNkZWZpbmUgQVBQTFlfU1lNTElOS19JTl9SRVNVTFQgMDIKKworc3RydWN0IGFwcGx5X3N0YXRlIHsKKwljb25zdCBjaGFyICpwcmVmaXg7CisJaW50IHByZWZpeF9sZW5ndGg7CisKKwkvKiBUaGVzZSBhcmUgbG9ja19maWxlIHJlbGF0ZWQgKi8KKwlzdHJ1Y3QgbG9ja19maWxlICpsb2NrX2ZpbGU7CisJaW50IG5ld2ZkOworCisJLyogVGhlc2UgY29udHJvbCB3aGF0IGdldHMgbG9va2VkIGF0IGFuZCBtb2RpZmllZCAqLworCWludCBhcHBseTsgLyogdGhpcyBpcyBub3QgYSBkcnktcnVuICovCisJaW50IGNhY2hlZDsgLyogYXBwbHkgdG8gdGhlIGluZGV4IG9ubHkgKi8KKwlpbnQgY2hlY2s7IC8qIHByZWltYWdlIG11c3QgbWF0Y2ggd29ya2luZyB0cmVlLCBkb24ndCBhY3R1YWxseSBhcHBseSAqLworCWludCBjaGVja19pbmRleDsgLyogcHJlaW1hZ2UgbXVzdCBtYXRjaCB0aGUgaW5kZXhlZCB2ZXJzaW9uICovCisJaW50IHVwZGF0ZV9pbmRleDsgLyogY2hlY2tfaW5kZXggJiYgYXBwbHkgKi8KKworCS8qIFRoZXNlIGNvbnRyb2wgY29zbWV0aWMgYXNwZWN0IG9mIHRoZSBvdXRwdXQgKi8KKwlpbnQgZGlmZnN0YXQ7IC8qIGp1c3Qgc2hvdyBhIGRpZmZzdGF0LCBhbmQgZG9uJ3QgYWN0dWFsbHkgYXBwbHkgKi8KKwlpbnQgbnVtc3RhdDsgLyoganVzdCBzaG93IGEgbnVtZXJpYyBkaWZmc3RhdCwgYW5kIGRvbid0IGFjdHVhbGx5IGFwcGx5ICovCisJaW50IHN1bW1hcnk7IC8qIGp1c3QgcmVwb3J0IGNyZWF0aW9uLCBkZWxldGlvbiwgZXRjLCBhbmQgZG9uJ3QgYWN0dWFsbHkgYXBwbHkgKi8KKworCS8qIFRoZXNlIGJvb2xlYW4gcGFyYW1ldGVycyBjb250cm9sIGhvdyB0aGUgYXBwbHkgaXMgZG9uZSAqLworCWludCBhbGxvd19vdmVybGFwOworCWludCBhcHBseV9pbl9yZXZlcnNlOworCWludCBhcHBseV93aXRoX3JlamVjdDsKKwlpbnQgbm9fYWRkOworCWludCB0aHJlZXdheTsKKwlpbnQgdW5pZGlmZl96ZXJvOworCWludCB1bnNhZmVfcGF0aHM7CisKKwkvKiBPdGhlciBub24gYm9vbGVhbiBwYXJhbWV0ZXJzICovCisJY29uc3QgY2hhciAqaW5kZXhfZmlsZTsKKwllbnVtIGFwcGx5X3ZlcmJvc2l0eSBhcHBseV92ZXJib3NpdHk7CisJY29uc3QgY2hhciAqZmFrZV9hbmNlc3RvcjsKKwljb25zdCBjaGFyICpwYXRjaF9pbnB1dF9maWxlOworCWludCBsaW5lX3Rlcm1pbmF0aW9uOworCXN0cnVjdCBzdHJidWYgcm9vdDsKKwlpbnQgcF92YWx1ZTsKKwlpbnQgcF92YWx1ZV9rbm93bjsKKwl1bnNpZ25lZCBpbnQgcF9jb250ZXh0OworCisJLyogRXhjbHVkZSBhbmQgaW5jbHVkZSBwYXRoIHBhcmFtZXRlcnMgKi8KKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgbGltaXRfYnlfbmFtZTsKKwlpbnQgaGFzX2luY2x1ZGU7CisKKwkvKiBWYXJpb3VzICJjdXJyZW50IHN0YXRlIiAqLworCWludCBsaW5lbnI7IC8qIGN1cnJlbnQgbGluZSBudW1iZXIgKi8KKwlzdHJ1Y3Qgc3RyaW5nX2xpc3Qgc3ltbGlua19jaGFuZ2VzOyAvKiB3ZSBoYXZlIHRvIHRyYWNrIHN5bWxpbmtzICovCisKKwkvKgorCSAqIEZvciAiZGlmZi1zdGF0IiBsaWtlIGJlaGF2aW91ciwgd2Uga2VlcCB0cmFjayBvZiB0aGUgYmlnZ2VzdCBjaGFuZ2UKKwkgKiB3ZSd2ZSBzZWVuLCBhbmQgdGhlIGxvbmdlc3QgZmlsZW5hbWUuIFRoYXQgYWxsb3dzIHVzIHRvIGRvIHNpbXBsZQorCSAqIHNjYWxpbmcuCisJICovCisJaW50IG1heF9jaGFuZ2U7CisJaW50IG1heF9sZW47CisKKwkvKgorCSAqIFJlY29yZHMgZmlsZW5hbWVzIHRoYXQgaGF2ZSBiZWVuIHRvdWNoZWQsIGluIG9yZGVyIHRvIGhhbmRsZQorCSAqIHRoZSBjYXNlIHdoZXJlIG1vcmUgdGhhbiBvbmUgcGF0Y2hlcyB0b3VjaCB0aGUgc2FtZSBmaWxlLgorCSAqLworCXN0cnVjdCBzdHJpbmdfbGlzdCBmbl90YWJsZTsKKworCS8qCisJICogVGhpcyBpcyB0byBzYXZlIHJlcG9ydGluZyByb3V0aW5lcyBiZWZvcmUgdXNpbmcKKwkgKiBzZXRfZXJyb3Jfcm91dGluZSgpIG9yIHNldF93YXJuX3JvdXRpbmUoKSB0byBpbnN0YWxsIG11dGluZworCSAqIHJvdXRpbmVzIHdoZW4gaW4gdmVyYm9zaXR5X3NpbGVudCBtb2RlLgorCSAqLworCXZvaWQgKCpzYXZlZF9lcnJvcl9yb3V0aW5lKShjb25zdCBjaGFyICplcnIsIHZhX2xpc3QgcGFyYW1zKTsKKwl2b2lkICgqc2F2ZWRfd2Fybl9yb3V0aW5lKShjb25zdCBjaGFyICp3YXJuLCB2YV9saXN0IHBhcmFtcyk7CisKKwkvKiBUaGVzZSBjb250cm9sIHdoaXRlc3BhY2UgZXJyb3JzICovCisJZW51bSBhcHBseV93c19lcnJvcl9hY3Rpb24gd3NfZXJyb3JfYWN0aW9uOworCWVudW0gYXBwbHlfd3NfaWdub3JlIHdzX2lnbm9yZV9hY3Rpb247CisJY29uc3QgY2hhciAqd2hpdGVzcGFjZV9vcHRpb247CisJaW50IHdoaXRlc3BhY2VfZXJyb3I7CisJaW50IHNxdWVsY2hfd2hpdGVzcGFjZV9lcnJvcnM7CisJaW50IGFwcGxpZWRfYWZ0ZXJfZml4aW5nX3dzOworfTsKKworZXh0ZXJuIGludCBhcHBseV9wYXJzZV9vcHRpb25zKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwKKwkJCSAgICAgICBzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICAgICAgIGludCAqZm9yY2VfYXBwbHksIGludCAqb3B0aW9ucywKKwkJCSAgICAgICBjb25zdCBjaGFyICogY29uc3QgKmFwcGx5X3VzYWdlKTsKK2V4dGVybiBpbnQgaW5pdF9hcHBseV9zdGF0ZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorCQkJICAgIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCSAgICBzdHJ1Y3QgbG9ja19maWxlICpsb2NrX2ZpbGUpOworZXh0ZXJuIHZvaWQgY2xlYXJfYXBwbHlfc3RhdGUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSk7CitleHRlcm4gaW50IGNoZWNrX2FwcGx5X3N0YXRlKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsIGludCBmb3JjZV9hcHBseSk7CisKKy8qCisgKiBTb21lIGFzcGVjdHMgb2YgdGhlIGFwcGx5IGJlaGF2aW9yIGFyZSBjb250cm9sbGVkIGJ5IHRoZSBmb2xsb3dpbmcKKyAqIGJpdHMgaW4gdGhlICJvcHRpb25zIiBwYXJhbWV0ZXIgcGFzc2VkIHRvIGFwcGx5X2FsbF9wYXRjaGVzKCkuCisgKi8KKyNkZWZpbmUgQVBQTFlfT1BUX0lOQUNDVVJBVEVfRU9GCSgxPDwwKSAvKiBhY2NlcHQgaW5hY2N1cmF0ZSBlb2YgKi8KKyNkZWZpbmUgQVBQTFlfT1BUX1JFQ09VTlQJCSgxPDwxKSAvKiBhY2NlcHQgaW5hY2N1cmF0ZSBsaW5lIGNvdW50ICovCisKK2V4dGVybiBpbnQgYXBwbHlfYWxsX3BhdGNoZXMoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKKwkJCSAgICAgaW50IGFyZ2MsCisJCQkgICAgIGNvbnN0IGNoYXIgKiphcmd2LAorCQkJICAgICBpbnQgb3B0aW9ucyk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS10YXIuYyBiL2FyY2hpdmUtdGFyLmMKaW5kZXggY2I5OWRmMi4uMzgwZTNhZSAxMDA2NDQKLS0tIGEvYXJjaGl2ZS10YXIuYworKysgYi9hcmNoaXZlLXRhci5jCkBAIC0xOCw2ICsxOCwyMSBAQAogc3RhdGljIGludCB3cml0ZV90YXJfZmlsdGVyX2FyY2hpdmUoY29uc3Qgc3RydWN0IGFyY2hpdmVyICphciwKIAkJCQkgICAgc3RydWN0IGFyY2hpdmVyX2FyZ3MgKmFyZ3MpOwogCisvKgorICogVGhpcyBpcyB0aGUgbWF4IHZhbHVlIHRoYXQgYSB1c3RhciBzaXplIGhlYWRlciBjYW4gc3BlY2lmeSwgYXMgaXQgaXMgZml4ZWQKKyAqIGF0IDExIG9jdGFsIGRpZ2l0cy4gUE9TSVggc3BlY2lmaWVzIHRoYXQgd2Ugc3dpdGNoIHRvIGV4dGVuZGVkIGhlYWRlcnMgYXQKKyAqIHRoaXMgc2l6ZS4KKyAqCisgKiBMaWtld2lzZSBmb3IgdGhlIG10aW1lICh3aGljaCBoYXBwZW5zIHRvIHVzZSBhIGJ1ZmZlciBvZiB0aGUgc2FtZSBzaXplKS4KKyAqLworI2lmIFVMT05HX01BWCA9PSAweEZGRkZGRkZGCisjZGVmaW5lIFVTVEFSX01BWF9TSVpFIFVMT05HX01BWAorI2RlZmluZSBVU1RBUl9NQVhfTVRJTUUgVUxPTkdfTUFYCisjZWxzZQorI2RlZmluZSBVU1RBUl9NQVhfU0laRSAwNzc3Nzc3Nzc3NzdVTAorI2RlZmluZSBVU1RBUl9NQVhfTVRJTUUgMDc3Nzc3Nzc3Nzc3VUwKKyNlbmRpZgorCiAvKiB3cml0ZXMgb3V0IHRoZSB3aG9sZSBibG9jaywgYnV0IG9ubHkgaWYgaXQgaXMgZnVsbCAqLwogc3RhdGljIHZvaWQgd3JpdGVfaWZfbmVlZGVkKHZvaWQpCiB7CkBAIC0xMzcsNiArMTUyLDIwIEBACiAJc3RyYnVmX2FkZGNoKHNiLCAnXG4nKTsKIH0KIAorLyoKKyAqIExpa2Ugc3RyYnVmX2FwcGVuZF9leHRfaGVhZGVyLCBidXQgZm9yIG51bWVyaWMgdmFsdWVzLgorICovCitzdGF0aWMgdm9pZCBzdHJidWZfYXBwZW5kX2V4dF9oZWFkZXJfdWludChzdHJ1Y3Qgc3RyYnVmICpzYiwKKwkJCQkJICBjb25zdCBjaGFyICprZXl3b3JkLAorCQkJCQkgIHVpbnRtYXhfdCB2YWx1ZSkKK3sKKwljaGFyIGJ1Zls0MF07IC8qIGJpZyBlbm91Z2ggZm9yIDJeMTI4IGluIGRlY2ltYWwsIHBsdXMgTlVMICovCisJaW50IGxlbjsKKworCWxlbiA9IHhzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJSJQUkl1TUFYLCB2YWx1ZSk7CisJc3RyYnVmX2FwcGVuZF9leHRfaGVhZGVyKHNiLCBrZXl3b3JkLCBidWYsIGxlbik7Cit9CisKIHN0YXRpYyB1bnNpZ25lZCBpbnQgdXN0YXJfaGVhZGVyX2Noa3N1bShjb25zdCBzdHJ1Y3QgdXN0YXJfaGVhZGVyICpoZWFkZXIpCiB7CiAJY29uc3QgdW5zaWduZWQgY2hhciAqcCA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopaGVhZGVyOwpAQCAtMTg0LDkgKzIxMyw5IEBACiAJeHNucHJpbnRmKGhlYWRlci0+Y2hrc3VtLCBzaXplb2YoaGVhZGVyLT5jaGtzdW0pLCAiJTA3byIsIHVzdGFyX2hlYWRlcl9jaGtzdW0oaGVhZGVyKSk7CiB9CiAKLXN0YXRpYyBpbnQgd3JpdGVfZXh0ZW5kZWRfaGVhZGVyKHN0cnVjdCBhcmNoaXZlcl9hcmdzICphcmdzLAotCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAotCQkJCSBjb25zdCB2b2lkICpidWZmZXIsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKK3N0YXRpYyB2b2lkIHdyaXRlX2V4dGVuZGVkX2hlYWRlcihzdHJ1Y3QgYXJjaGl2ZXJfYXJncyAqYXJncywKKwkJCQkgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCisJCQkJICBjb25zdCB2b2lkICpidWZmZXIsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKIHsKIAlzdHJ1Y3QgdXN0YXJfaGVhZGVyIGhlYWRlcjsKIAl1bnNpZ25lZCBpbnQgbW9kZTsKQEAgLTE5Nyw3ICsyMjYsNiBAQAogCXByZXBhcmVfaGVhZGVyKGFyZ3MsICZoZWFkZXIsIG1vZGUsIHNpemUpOwogCXdyaXRlX2Jsb2NrZWQoJmhlYWRlciwgc2l6ZW9mKGhlYWRlcikpOwogCXdyaXRlX2Jsb2NrZWQoYnVmZmVyLCBzaXplKTsKLQlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCB3cml0ZV90YXJfZW50cnkoc3RydWN0IGFyY2hpdmVyX2FyZ3MgKmFyZ3MsCkBAIC0yMDgsNyArMjM2LDcgQEAKIAlzdHJ1Y3QgdXN0YXJfaGVhZGVyIGhlYWRlcjsKIAlzdHJ1Y3Qgc3RyYnVmIGV4dF9oZWFkZXIgPSBTVFJCVUZfSU5JVDsKIAl1bnNpZ25lZCBpbnQgb2xkX21vZGUgPSBtb2RlOwotCXVuc2lnbmVkIGxvbmcgc2l6ZTsKKwl1bnNpZ25lZCBsb25nIHNpemUsIHNpemVfaW5faGVhZGVyOwogCXZvaWQgKmJ1ZmZlcjsKIAlpbnQgZXJyID0gMDsKIApAQCAtMjY3LDE1ICsyOTUsMTcgQEAKIAkJCW1lbWNweShoZWFkZXIubGlua25hbWUsIGJ1ZmZlciwgc2l6ZSk7CiAJfQogCi0JcHJlcGFyZV9oZWFkZXIoYXJncywgJmhlYWRlciwgbW9kZSwgc2l6ZSk7CisJc2l6ZV9pbl9oZWFkZXIgPSBzaXplOworCWlmIChTX0lTUkVHKG1vZGUpICYmIHNpemUgPiBVU1RBUl9NQVhfU0laRSkgeworCQlzaXplX2luX2hlYWRlciA9IDA7CisJCXN0cmJ1Zl9hcHBlbmRfZXh0X2hlYWRlcl91aW50KCZleHRfaGVhZGVyLCAic2l6ZSIsIHNpemUpOworCX0KKworCXByZXBhcmVfaGVhZGVyKGFyZ3MsICZoZWFkZXIsIG1vZGUsIHNpemVfaW5faGVhZGVyKTsKIAogCWlmIChleHRfaGVhZGVyLmxlbiA+IDApIHsKLQkJZXJyID0gd3JpdGVfZXh0ZW5kZWRfaGVhZGVyKGFyZ3MsIHNoYTEsIGV4dF9oZWFkZXIuYnVmLAotCQkJCQkgICAgZXh0X2hlYWRlci5sZW4pOwotCQlpZiAoZXJyKSB7Ci0JCQlmcmVlKGJ1ZmZlcik7Ci0JCQlyZXR1cm4gZXJyOwotCQl9CisJCXdyaXRlX2V4dGVuZGVkX2hlYWRlcihhcmdzLCBzaGExLCBleHRfaGVhZGVyLmJ1ZiwKKwkJCQkgICAgICBleHRfaGVhZGVyLmxlbik7CiAJfQogCXN0cmJ1Zl9yZWxlYXNlKCZleHRfaGVhZGVyKTsKIAl3cml0ZV9ibG9ja2VkKCZoZWFkZXIsIHNpemVvZihoZWFkZXIpKTsKQEAgLTI4OSwxNSArMzE5LDI1IEBACiAJcmV0dXJuIGVycjsKIH0KIAotc3RhdGljIGludCB3cml0ZV9nbG9iYWxfZXh0ZW5kZWRfaGVhZGVyKHN0cnVjdCBhcmNoaXZlcl9hcmdzICphcmdzKQorc3RhdGljIHZvaWQgd3JpdGVfZ2xvYmFsX2V4dGVuZGVkX2hlYWRlcihzdHJ1Y3QgYXJjaGl2ZXJfYXJncyAqYXJncykKIHsKIAljb25zdCB1bnNpZ25lZCBjaGFyICpzaGExID0gYXJncy0+Y29tbWl0X3NoYTE7CiAJc3RydWN0IHN0cmJ1ZiBleHRfaGVhZGVyID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHVzdGFyX2hlYWRlciBoZWFkZXI7CiAJdW5zaWduZWQgaW50IG1vZGU7Ci0JaW50IGVyciA9IDA7CiAKLQlzdHJidWZfYXBwZW5kX2V4dF9oZWFkZXIoJmV4dF9oZWFkZXIsICJjb21tZW50Iiwgc2hhMV90b19oZXgoc2hhMSksIDQwKTsKKwlpZiAoc2hhMSkKKwkJc3RyYnVmX2FwcGVuZF9leHRfaGVhZGVyKCZleHRfaGVhZGVyLCAiY29tbWVudCIsCisJCQkJCSBzaGExX3RvX2hleChzaGExKSwgNDApOworCWlmIChhcmdzLT50aW1lID4gVVNUQVJfTUFYX01USU1FKSB7CisJCXN0cmJ1Zl9hcHBlbmRfZXh0X2hlYWRlcl91aW50KCZleHRfaGVhZGVyLCAibXRpbWUiLAorCQkJCQkgICAgICBhcmdzLT50aW1lKTsKKwkJYXJncy0+dGltZSA9IFVTVEFSX01BWF9NVElNRTsKKwl9CisKKwlpZiAoIWV4dF9oZWFkZXIubGVuKQorCQlyZXR1cm47CisKIAltZW1zZXQoJmhlYWRlciwgMCwgc2l6ZW9mKGhlYWRlcikpOwogCSpoZWFkZXIudHlwZWZsYWcgPSBUWVBFRkxBR19HTE9CQUxfSEVBREVSOwogCW1vZGUgPSAwMTAwNjY2OwpAQCAtMzA2LDcgKzM0Niw2IEBACiAJd3JpdGVfYmxvY2tlZCgmaGVhZGVyLCBzaXplb2YoaGVhZGVyKSk7CiAJd3JpdGVfYmxvY2tlZChleHRfaGVhZGVyLmJ1ZiwgZXh0X2hlYWRlci5sZW4pOwogCXN0cmJ1Zl9yZWxlYXNlKCZleHRfaGVhZGVyKTsKLQlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgc3RydWN0IGFyY2hpdmVyICoqdGFyX2ZpbHRlcnM7CkBAIC0zODIsMTAgKzQyMSw4IEBACiB7CiAJaW50IGVyciA9IDA7CiAKLQlpZiAoYXJncy0+Y29tbWl0X3NoYTEpCi0JCWVyciA9IHdyaXRlX2dsb2JhbF9leHRlbmRlZF9oZWFkZXIoYXJncyk7Ci0JaWYgKCFlcnIpCi0JCWVyciA9IHdyaXRlX2FyY2hpdmVfZW50cmllcyhhcmdzLCB3cml0ZV90YXJfZW50cnkpOworCXdyaXRlX2dsb2JhbF9leHRlbmRlZF9oZWFkZXIoYXJncyk7CisJZXJyID0gd3JpdGVfYXJjaGl2ZV9lbnRyaWVzKGFyZ3MsIHdyaXRlX3Rhcl9lbnRyeSk7CiAJaWYgKCFlcnIpCiAJCXdyaXRlX3RyYWlsZXIoKTsKIAlyZXR1cm4gZXJyOwpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS5jIGIvYXJjaGl2ZS5jCmluZGV4IDVkNzM1YWUuLjAxNzUxZTUgMTAwNjQ0Ci0tLSBhL2FyY2hpdmUuYworKysgYi9hcmNoaXZlLmMKQEAgLTMyMiw3ICszMjIsNyBAQAogCXBhdGhzcGVjLnJlY3Vyc2l2ZSA9IDE7CiAJcmV0ID0gcmVhZF90cmVlX3JlY3Vyc2l2ZSh0cmVlLCAiIiwgMCwgMCwgJnBhdGhzcGVjLAogCQkJCSAgcmVqZWN0X2VudHJ5LCAmcGF0aHNwZWMpOwotCWZyZWVfcGF0aHNwZWMoJnBhdGhzcGVjKTsKKwljbGVhcl9wYXRoc3BlYygmcGF0aHNwZWMpOwogCXJldHVybiByZXQgIT0gMDsKIH0KIApAQCAtNDU4LDExICs0NTgsMTEgQEAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBOVUxMLCBvcHRzLCBhcmNoaXZlX3VzYWdlLCAwKTsKIAogCWlmIChyZW1vdGUpCi0JCWRpZSgiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiKTsKKwkJZGllKF8oIlVuZXhwZWN0ZWQgb3B0aW9uIC0tcmVtb3RlIikpOwogCWlmIChleGVjKQotCQlkaWUoIk9wdGlvbiAtLWV4ZWMgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tcmVtb3RlIik7CisJCWRpZShfKCJPcHRpb24gLS1leGVjIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLXJlbW90ZSIpKTsKIAlpZiAob3V0cHV0KQotCQlkaWUoIlVuZXhwZWN0ZWQgb3B0aW9uIC0tb3V0cHV0Iik7CisJCWRpZShfKCJVbmV4cGVjdGVkIG9wdGlvbiAtLW91dHB1dCIpKTsKIAogCWlmICghYmFzZSkKIAkJYmFzZSA9ICIiOwpAQCAtNDg0LDE0ICs0ODQsMTQgQEAKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKGFyY2hpdmVfdXNhZ2UsIG9wdHMpOwogCSphciA9IGxvb2t1cF9hcmNoaXZlcihmb3JtYXQpOwogCWlmICghKmFyIHx8IChpc19yZW1vdGUgJiYgISgoKmFyKS0+ZmxhZ3MgJiBBUkNISVZFUl9SRU1PVEUpKSkKLQkJZGllKCJVbmtub3duIGFyY2hpdmUgZm9ybWF0ICclcyciLCBmb3JtYXQpOworCQlkaWUoXygiVW5rbm93biBhcmNoaXZlIGZvcm1hdCAnJXMnIiksIGZvcm1hdCk7CiAKIAlhcmdzLT5jb21wcmVzc2lvbl9sZXZlbCA9IFpfREVGQVVMVF9DT01QUkVTU0lPTjsKIAlpZiAoY29tcHJlc3Npb25fbGV2ZWwgIT0gLTEpIHsKIAkJaWYgKCgqYXIpLT5mbGFncyAmIEFSQ0hJVkVSX1dBTlRfQ09NUFJFU1NJT05fTEVWRUxTKQogCQkJYXJncy0+Y29tcHJlc3Npb25fbGV2ZWwgPSBjb21wcmVzc2lvbl9sZXZlbDsKIAkJZWxzZSB7Ci0JCQlkaWUoIkFyZ3VtZW50IG5vdCBzdXBwb3J0ZWQgZm9yIGZvcm1hdCAnJXMnOiAtJWQiLAorCQkJZGllKF8oIkFyZ3VtZW50IG5vdCBzdXBwb3J0ZWQgZm9yIGZvcm1hdCAnJXMnOiAtJWQiKSwKIAkJCQkJZm9ybWF0LCBjb21wcmVzc2lvbl9sZXZlbCk7CiAJCX0KIAl9CkBAIC01MDQsMTUgKzUwNCwxMSBAQAogfQogCiBpbnQgd3JpdGVfYXJjaGl2ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCwKLQkJICBpbnQgc2V0dXBfcHJlZml4LCBjb25zdCBjaGFyICpuYW1lX2hpbnQsIGludCByZW1vdGUpCisJCSAgY29uc3QgY2hhciAqbmFtZV9oaW50LCBpbnQgcmVtb3RlKQogewotCWludCBub25naXQgPSAwOwogCWNvbnN0IHN0cnVjdCBhcmNoaXZlciAqYXIgPSBOVUxMOwogCXN0cnVjdCBhcmNoaXZlcl9hcmdzIGFyZ3M7CiAKLQlpZiAoc2V0dXBfcHJlZml4ICYmIHByZWZpeCA9PSBOVUxMKQotCQlwcmVmaXggPSBzZXR1cF9naXRfZGlyZWN0b3J5X2dlbnRseSgmbm9uZ2l0KTsKLQogCWdpdF9jb25maWdfZ2V0X2Jvb2woInVwbG9hZGFyY2hpdmUuYWxsb3d1bnJlYWNoYWJsZSIsICZyZW1vdGVfYWxsb3dfdW5yZWFjaGFibGUpOwogCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKIApAQCAtNTIwLDcgKzUxNiw3IEBACiAJaW5pdF96aXBfYXJjaGl2ZXIoKTsKIAogCWFyZ2MgPSBwYXJzZV9hcmNoaXZlX2FyZ3MoYXJnYywgYXJndiwgJmFyLCAmYXJncywgbmFtZV9oaW50LCByZW1vdGUpOwotCWlmIChub25naXQpIHsKKwlpZiAoIXN0YXJ0dXBfaW5mby0+aGF2ZV9yZXBvc2l0b3J5KSB7CiAJCS8qCiAJCSAqIFdlIGtub3cgdGhpcyB3aWxsIGRpZSgpIHdpdGggYW4gZXJyb3IsIHNvIHdlIGNvdWxkIGp1c3QKIAkJICogZGllIG91cnNlbHZlczsgYnV0IGl0cyBlcnJvciBtZXNzYWdlIHdpbGwgYmUgbW9yZSBzcGVjaWZpYwpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS5oIGIvYXJjaGl2ZS5oCmluZGV4IDRhNzkxZTEuLjQxNWUwMTUgMTAwNjQ0Ci0tLSBhL2FyY2hpdmUuaAorKysgYi9hcmNoaXZlLmgKQEAgLTM2LDcgKzM2LDcgQEAKIAkJCQkJdW5zaWduZWQgaW50IG1vZGUpOwogCiBleHRlcm4gaW50IHdyaXRlX2FyY2hpdmVfZW50cmllcyhzdHJ1Y3QgYXJjaGl2ZXJfYXJncyAqYXJncywgd3JpdGVfYXJjaGl2ZV9lbnRyeV9mbl90IHdyaXRlX2VudHJ5KTsKLWV4dGVybiBpbnQgd3JpdGVfYXJjaGl2ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCwgaW50IHNldHVwX3ByZWZpeCwgY29uc3QgY2hhciAqbmFtZV9oaW50LCBpbnQgcmVtb3RlKTsKK2V4dGVybiBpbnQgd3JpdGVfYXJjaGl2ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqbmFtZV9oaW50LCBpbnQgcmVtb3RlKTsKIAogY29uc3QgY2hhciAqYXJjaGl2ZV9mb3JtYXRfZnJvbV9maWxlbmFtZShjb25zdCBjaGFyICpmaWxlbmFtZSk7CiBleHRlcm4gdm9pZCAqc2hhMV9maWxlX3RvX2FyY2hpdmUoY29uc3Qgc3RydWN0IGFyY2hpdmVyX2FyZ3MgKmFyZ3MsCmRpZmYgLS1naXQgYS9hdHRyLmMgYi9hdHRyLmMKaW5kZXggZWVjNWQ3ZC4uMWZjZjA0MiAxMDA2NDQKLS0tIGEvYXR0ci5jCisrKyBiL2F0dHIuYwpAQCAtNTMxLDcgKzUzMSwxMSBAQAogCQlkZWJ1Z19wdXNoKGVsZW0pOwogCX0KIAotCWVsZW0gPSByZWFkX2F0dHJfZnJvbV9maWxlKGdpdF9wYXRoX2luZm9fYXR0cmlidXRlcygpLCAxKTsKKwlpZiAoc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnkpCisJCWVsZW0gPSByZWFkX2F0dHJfZnJvbV9maWxlKGdpdF9wYXRoX2luZm9fYXR0cmlidXRlcygpLCAxKTsKKwllbHNlCisJCWVsZW0gPSBOVUxMOworCiAJaWYgKCFlbGVtKQogCQllbGVtID0geGNhbGxvYygxLCBzaXplb2YoKmVsZW0pKTsKIAllbGVtLT5vcmlnaW4gPSBOVUxMOwpkaWZmIC0tZ2l0IGEvYmlzZWN0LmMgYi9iaXNlY3QuYwppbmRleCA2ZDkzZWRiLi4yMWJjNmRhIDEwMDY0NAotLS0gYS9iaXNlY3QuYworKysgYi9iaXNlY3QuYwpAQCAtMjE1LDcgKzIxNSw3IEBACiAJCWFycmF5W2NudF0uZGlzdGFuY2UgPSBkaXN0YW5jZTsKIAkJY250Kys7CiAJfQotCXFzb3J0KGFycmF5LCBjbnQsIHNpemVvZigqYXJyYXkpLCBjb21wYXJlX2NvbW1pdF9kaXN0KTsKKwlRU09SVChhcnJheSwgY250LCBjb21wYXJlX2NvbW1pdF9kaXN0KTsKIAlmb3IgKHAgPSBsaXN0LCBpID0gMDsgaSA8IGNudDsgaSsrKSB7CiAJCWNoYXIgYnVmWzEwMF07IC8qIGVub3VnaCBmb3IgZGlzdD0lZCAqLwogCQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSAmKGFycmF5W2ldLmNvbW1pdC0+b2JqZWN0KTsKQEAgLTQzOCwxMiArNDM4LDEyIEBACiAJRklMRSAqZnAgPSBmb3BlbihmaWxlbmFtZSwgInIiKTsKIAogCWlmICghZnApCi0JCWRpZV9lcnJubygiQ291bGQgbm90IG9wZW4gZmlsZSAnJXMnIiwgZmlsZW5hbWUpOworCQlkaWVfZXJybm8oXygiQ291bGQgbm90IG9wZW4gZmlsZSAnJXMnIiksIGZpbGVuYW1lKTsKIAogCXdoaWxlIChzdHJidWZfZ2V0bGluZV9sZigmc3RyLCBmcCkgIT0gRU9GKSB7CiAJCXN0cmJ1Zl90cmltKCZzdHIpOwogCQlpZiAoc3FfZGVxdW90ZV90b19hcmd2X2FycmF5KHN0ci5idWYsIGFycmF5KSkKLQkJCWRpZSgiQmFkbHkgcXVvdGVkIGNvbnRlbnQgaW4gZmlsZSAnJXMnOiAlcyIsCisJCQlkaWUoXygiQmFkbHkgcXVvdGVkIGNvbnRlbnQgaW4gZmlsZSAnJXMnOiAlcyIpLAogCQkJICAgIGZpbGVuYW1lLCBzdHIuYnVmKTsKIAl9CiAKQEAgLTY0NiwxMCArNjQ2LDEzIEBACiAKIAlwcmludGYoIlRoZXJlIGFyZSBvbmx5ICdza2lwJ3BlZCBjb21taXRzIGxlZnQgdG8gdGVzdC5cbiIKIAkgICAgICAgIlRoZSBmaXJzdCAlcyBjb21taXQgY291bGQgYmUgYW55IG9mOlxuIiwgdGVybV9iYWQpOwotCXByaW50X2NvbW1pdF9saXN0KHRyaWVkLCAiJXNcbiIsICIlc1xuIik7CisKKwlmb3IgKCA7IHRyaWVkOyB0cmllZCA9IHRyaWVkLT5uZXh0KQorCQlwcmludGYoIiVzXG4iLCBvaWRfdG9faGV4KCZ0cmllZC0+aXRlbS0+b2JqZWN0Lm9pZCkpOworCiAJaWYgKGJhZCkKIAkJcHJpbnRmKCIlc1xuIiwgb2lkX3RvX2hleChiYWQpKTsKLQlwcmludGYoIldlIGNhbm5vdCBiaXNlY3QgbW9yZSFcbiIpOworCXByaW50ZihfKCJXZSBjYW5ub3QgYmlzZWN0IG1vcmUhXG4iKSk7CiAJZXhpdCgyKTsKIH0KIApAQCAtNzAyLDcgKzcwNSw3IEBACiB7CiAJc3RydWN0IGNvbW1pdCAqciA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHNoYTEpOwogCWlmICghcikKLQkJZGllKCJOb3QgYSB2YWxpZCBjb21taXQgbmFtZSAlcyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJZGllKF8oIk5vdCBhIHZhbGlkIGNvbW1pdCBuYW1lICVzIiksIHNoYTFfdG9faGV4KHNoYTEpKTsKIAlyZXR1cm4gcjsKIH0KIApAQCAtNzI2LDI3ICs3MjksMjcgQEAKIAkJY2hhciAqYmFkX2hleCA9IG9pZF90b19oZXgoY3VycmVudF9iYWRfb2lkKTsKIAkJY2hhciAqZ29vZF9oZXggPSBqb2luX3NoYTFfYXJyYXlfaGV4KCZnb29kX3JldnMsICcgJyk7CiAJCWlmICghc3RyY21wKHRlcm1fYmFkLCAiYmFkIikgJiYgIXN0cmNtcCh0ZXJtX2dvb2QsICJnb29kIikpIHsKLQkJCWZwcmludGYoc3RkZXJyLCAiVGhlIG1lcmdlIGJhc2UgJXMgaXMgYmFkLlxuIgorCQkJZnByaW50ZihzdGRlcnIsIF8oIlRoZSBtZXJnZSBiYXNlICVzIGlzIGJhZC5cbiIKIAkJCQkiVGhpcyBtZWFucyB0aGUgYnVnIGhhcyBiZWVuIGZpeGVkICIKLQkJCQkiYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIsCisJCQkJImJldHdlZW4gJXMgYW5kIFslc10uXG4iKSwKIAkJCQliYWRfaGV4LCBiYWRfaGV4LCBnb29kX2hleCk7CiAJCX0gZWxzZSBpZiAoIXN0cmNtcCh0ZXJtX2JhZCwgIm5ldyIpICYmICFzdHJjbXAodGVybV9nb29kLCAib2xkIikpIHsKLQkJCWZwcmludGYoc3RkZXJyLCAiVGhlIG1lcmdlIGJhc2UgJXMgaXMgbmV3LlxuIgorCQkJZnByaW50ZihzdGRlcnIsIF8oIlRoZSBtZXJnZSBiYXNlICVzIGlzIG5ldy5cbiIKIAkJCQkiVGhlIHByb3BlcnR5IGhhcyBjaGFuZ2VkICIKLQkJCQkiYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIsCisJCQkJImJldHdlZW4gJXMgYW5kIFslc10uXG4iKSwKIAkJCQliYWRfaGV4LCBiYWRfaGV4LCBnb29kX2hleCk7CiAJCX0gZWxzZSB7Ci0JCQlmcHJpbnRmKHN0ZGVyciwgIlRoZSBtZXJnZSBiYXNlICVzIGlzICVzLlxuIgorCQkJZnByaW50ZihzdGRlcnIsIF8oIlRoZSBtZXJnZSBiYXNlICVzIGlzICVzLlxuIgogCQkJCSJUaGlzIG1lYW5zIHRoZSBmaXJzdCAnJXMnIGNvbW1pdCBpcyAiCi0JCQkJImJldHdlZW4gJXMgYW5kIFslc10uXG4iLAorCQkJCSJiZXR3ZWVuICVzIGFuZCBbJXNdLlxuIiksCiAJCQkJYmFkX2hleCwgdGVybV9iYWQsIHRlcm1fZ29vZCwgYmFkX2hleCwgZ29vZF9oZXgpOwogCQl9CiAJCWV4aXQoMyk7CiAJfQogCi0JZnByaW50ZihzdGRlcnIsICJTb21lICVzIHJldnMgYXJlIG5vdCBhbmNlc3RvciBvZiB0aGUgJXMgcmV2LlxuIgorCWZwcmludGYoc3RkZXJyLCBfKCJTb21lICVzIHJldnMgYXJlIG5vdCBhbmNlc3RvciBvZiB0aGUgJXMgcmV2LlxuIgogCQkiZ2l0IGJpc2VjdCBjYW5ub3Qgd29yayBwcm9wZXJseSBpbiB0aGlzIGNhc2UuXG4iCi0JCSJNYXliZSB5b3UgbWlzdG9vayAlcyBhbmQgJXMgcmV2cz9cbiIsCisJCSJNYXliZSB5b3UgbWlzdG9vayAlcyBhbmQgJXMgcmV2cz9cbiIpLAogCQl0ZXJtX2dvb2QsIHRlcm1fYmFkLCB0ZXJtX2dvb2QsIHRlcm1fYmFkKTsKIAlleGl0KDEpOwogfQpAQCAtNzU0LDE0ICs3NTcsMTQgQEAKIHN0YXRpYyB2b2lkIGhhbmRsZV9za2lwcGVkX21lcmdlX2Jhc2UoY29uc3QgdW5zaWduZWQgY2hhciAqbWIpCiB7CiAJY2hhciAqbWJfaGV4ID0gc2hhMV90b19oZXgobWIpOwotCWNoYXIgKmJhZF9oZXggPSBzaGExX3RvX2hleChjdXJyZW50X2JhZF9vaWQtPmhhc2gpOworCWNoYXIgKmJhZF9oZXggPSBvaWRfdG9faGV4KGN1cnJlbnRfYmFkX29pZCk7CiAJY2hhciAqZ29vZF9oZXggPSBqb2luX3NoYTFfYXJyYXlfaGV4KCZnb29kX3JldnMsICcgJyk7CiAKLQl3YXJuaW5nKCJ0aGUgbWVyZ2UgYmFzZSBiZXR3ZWVuICVzIGFuZCBbJXNdICIKKwl3YXJuaW5nKF8oInRoZSBtZXJnZSBiYXNlIGJldHdlZW4gJXMgYW5kIFslc10gIgogCQkibXVzdCBiZSBza2lwcGVkLlxuIgogCQkiU28gd2UgY2Fubm90IGJlIHN1cmUgdGhlIGZpcnN0ICVzIGNvbW1pdCBpcyAiCiAJCSJiZXR3ZWVuICVzIGFuZCAlcy5cbiIKLQkJIldlIGNvbnRpbnVlIGFueXdheS4iLAorCQkiV2UgY29udGludWUgYW55d2F5LiIpLAogCQliYWRfaGV4LCBnb29kX2hleCwgdGVybV9iYWQsIG1iX2hleCwgYmFkX2hleCk7CiAJZnJlZShnb29kX2hleCk7CiB9CkBAIC03OTIsNyArNzk1LDcgQEAKIAkJfSBlbHNlIGlmICgwIDw9IHNoYTFfYXJyYXlfbG9va3VwKCZza2lwcGVkX3JldnMsIG1iKSkgewogCQkJaGFuZGxlX3NraXBwZWRfbWVyZ2VfYmFzZShtYik7CiAJCX0gZWxzZSB7Ci0JCQlwcmludGYoIkJpc2VjdGluZzogYSBtZXJnZSBiYXNlIG11c3QgYmUgdGVzdGVkXG4iKTsKKwkJCXByaW50ZihfKCJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIikpOwogCQkJZXhpdChiaXNlY3RfY2hlY2tvdXQobWIsIG5vX2NoZWNrb3V0KSk7CiAJCX0KIAl9CkBAIC04NDMsNyArODQ2LDcgQEAKIAlpbnQgZmQ7CiAKIAlpZiAoIWN1cnJlbnRfYmFkX29pZCkKLQkJZGllKCJhICVzIHJldmlzaW9uIGlzIG5lZWRlZCIsIHRlcm1fYmFkKTsKKwkJZGllKF8oImEgJXMgcmV2aXNpb24gaXMgbmVlZGVkIiksIHRlcm1fYmFkKTsKIAogCS8qIENoZWNrIGlmIGZpbGUgQklTRUNUX0FOQ0VTVE9SU19PSyBleGlzdHMuICovCiAJaWYgKCFzdGF0KGZpbGVuYW1lLCAmc3QpICYmIFNfSVNSRUcoc3Quc3RfbW9kZSkpCkBAIC04NjAsNyArODYzLDcgQEAKIAkvKiBDcmVhdGUgZmlsZSBCSVNFQ1RfQU5DRVNUT1JTX09LLiAqLwogCWZkID0gb3BlbihmaWxlbmFtZSwgT19DUkVBVCB8IE9fVFJVTkMgfCBPX1dST05MWSwgMDYwMCk7CiAJaWYgKGZkIDwgMCkKLQkJd2FybmluZ19lcnJubygiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciLAorCQl3YXJuaW5nX2Vycm5vKF8oImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIiksCiAJCQkgICAgICBmaWxlbmFtZSk7CiAJZWxzZQogCQljbG9zZShmZCk7CkBAIC04OTAsNiArODkzLDcgQEAKIAlpZiAoIW9wdC5kaWZmb3B0Lm91dHB1dF9mb3JtYXQpCiAJCW9wdC5kaWZmb3B0Lm91dHB1dF9mb3JtYXQgPSBESUZGX0ZPUk1BVF9SQVc7CiAKKwlzZXR1cF9yZXZpc2lvbnMoMCwgTlVMTCwgJm9wdCwgTlVMTCk7CiAJbG9nX3RyZWVfY29tbWl0KCZvcHQsIGNvbW1pdCk7CiB9CiAKQEAgLTkxMCw3ICs5MTQsNyBAQAogCQkJKnJlYWRfZ29vZCA9ICJnb29kIjsKIAkJCXJldHVybjsKIAkJfSBlbHNlIHsKLQkJCWRpZV9lcnJubygiY291bGQgbm90IHJlYWQgZmlsZSAnJXMnIiwgZmlsZW5hbWUpOworCQkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCByZWFkIGZpbGUgJyVzJyIpLCBmaWxlbmFtZSk7CiAJCX0KIAl9IGVsc2UgewogCQlzdHJidWZfZ2V0bGluZV9sZigmc3RyLCBmcCk7CkBAIC05MzYsMTAgKzk0MCwxMSBAQAogCXN0cnVjdCBjb21taXRfbGlzdCAqdHJpZWQ7CiAJaW50IHJlYWNoZXMgPSAwLCBhbGwgPSAwLCBuciwgc3RlcHM7CiAJY29uc3QgdW5zaWduZWQgY2hhciAqYmlzZWN0X3JldjsKKwljaGFyIHN0ZXBzX21zZ1szMl07CiAKIAlyZWFkX2Jpc2VjdF90ZXJtcygmdGVybV9iYWQsICZ0ZXJtX2dvb2QpOwogCWlmIChyZWFkX2Jpc2VjdF9yZWZzKCkpCi0JCWRpZSgicmVhZGluZyBiaXNlY3QgcmVmcyBmYWlsZWQiKTsKKwkJZGllKF8oInJlYWRpbmcgYmlzZWN0IHJlZnMgZmFpbGVkIikpOwogCiAJY2hlY2tfZ29vZF9hcmVfYW5jZXN0b3JzX29mX2JhZChwcmVmaXgsIG5vX2NoZWNrb3V0KTsKIApAQCAtOTU5LDcgKzk2NCw3IEBACiAJCSAqLwogCQlleGl0X2lmX3NraXBwZWRfY29tbWl0cyh0cmllZCwgTlVMTCk7CiAKLQkJcHJpbnRmKCIlcyB3YXMgYm90aCAlcyBhbmQgJXNcbiIsCisJCXByaW50ZihfKCIlcyB3YXMgYm90aCAlcyBhbmQgJXNcbiIpLAogCQkgICAgICAgb2lkX3RvX2hleChjdXJyZW50X2JhZF9vaWQpLAogCQkgICAgICAgdGVybV9nb29kLAogCQkgICAgICAgdGVybV9iYWQpOwpAQCAtOTY3LDggKzk3Miw4IEBACiAJfQogCiAJaWYgKCFhbGwpIHsKLQkJZnByaW50ZihzdGRlcnIsICJObyB0ZXN0YWJsZSBjb21taXQgZm91bmQuXG4iCi0JCQkiTWF5YmUgeW91IHN0YXJ0ZWQgd2l0aCBiYWQgcGF0aCBwYXJhbWV0ZXJzP1xuIik7CisJCWZwcmludGYoc3RkZXJyLCBfKCJObyB0ZXN0YWJsZSBjb21taXQgZm91bmQuXG4iCisJCQkiTWF5YmUgeW91IHN0YXJ0ZWQgd2l0aCBiYWQgcGF0aCBwYXJhbWV0ZXJzP1xuIikpOwogCQlleGl0KDQpOwogCX0KIApAQCAtOTg1LDkgKzk5MCwxNCBAQAogCiAJbnIgPSBhbGwgLSByZWFjaGVzIC0gMTsKIAlzdGVwcyA9IGVzdGltYXRlX2Jpc2VjdF9zdGVwcyhhbGwpOwotCXByaW50ZigiQmlzZWN0aW5nOiAlZCByZXZpc2lvbiVzIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICIKLQkgICAgICAgIihyb3VnaGx5ICVkIHN0ZXAlcylcbiIsIG5yLCAobnIgPT0gMSA/ICIiIDogInMiKSwKLQkgICAgICAgc3RlcHMsIChzdGVwcyA9PSAxID8gIiIgOiAicyIpKTsKKwl4c25wcmludGYoc3RlcHNfbXNnLCBzaXplb2Yoc3RlcHNfbXNnKSwKKwkJICBRXygiKHJvdWdobHkgJWQgc3RlcCkiLCAiKHJvdWdobHkgJWQgc3RlcHMpIiwgc3RlcHMpLAorCQkgIHN0ZXBzKTsKKwkvKiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoCisJICAgIihyb3VnaGx5ICVkIHN0ZXBzKSIgdHJhbnNsYXRpb24gKi8KKwlwcmludGYoUV8oIkJpc2VjdGluZzogJWQgcmV2aXNpb24gbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIsCisJCSAgIkJpc2VjdGluZzogJWQgcmV2aXNpb25zIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iLAorCQkgIG5yKSwgbnIsIHN0ZXBzX21zZyk7CiAKIAlyZXR1cm4gYmlzZWN0X2NoZWNrb3V0KGJpc2VjdF9yZXYsIG5vX2NoZWNrb3V0KTsKIH0KZGlmZiAtLWdpdCBhL2JyYW5jaC5jIGIvYnJhbmNoLmMKaW5kZXggYTVhOGRjYi4uMGQ0NTliMyAxMDA2NDQKLS0tIGEvYnJhbmNoLmMKKysrIGIvYnJhbmNoLmMKQEAgLTIyOCw4ICsyMjgsNyBAQAogIndpbGwgdHJhY2sgaXRzIHJlbW90ZSBjb3VudGVycGFydCwgeW91IG1heSB3YW50IHRvIHVzZVxuIgogIlwiZ2l0IHB1c2ggLXVcIiB0byBzZXQgdGhlIHVwc3RyZWFtIGNvbmZpZyBhcyB5b3UgcHVzaC4iKTsKIAotdm9pZCBjcmVhdGVfYnJhbmNoKGNvbnN0IGNoYXIgKmhlYWQsCi0JCSAgIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnN0YXJ0X25hbWUsCit2b2lkIGNyZWF0ZV9icmFuY2goY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqc3RhcnRfbmFtZSwKIAkJICAgaW50IGZvcmNlLCBpbnQgcmVmbG9nLCBpbnQgY2xvYmJlcl9oZWFkLAogCQkgICBpbnQgcXVpZXQsIGVudW0gYnJhbmNoX3RyYWNrIHRyYWNrKQogewpkaWZmIC0tZ2l0IGEvYnJhbmNoLmggYi9icmFuY2guaAppbmRleCBiMmY5NjQ5Li4zMTAzZWI5IDEwMDY0NAotLS0gYS9icmFuY2guaAorKysgYi9icmFuY2guaApAQCAtNCwxNSArNCwyMSBAQAogLyogRnVuY3Rpb25zIGZvciBhY3Rpbmcgb24gdGhlIGluZm9ybWF0aW9uIGFib3V0IGJyYW5jaGVzLiAqLwogCiAvKgotICogQ3JlYXRlcyBhIG5ldyBicmFuY2gsIHdoZXJlIGhlYWQgaXMgdGhlIGJyYW5jaCBjdXJyZW50bHkgY2hlY2tlZAotICogb3V0LCBuYW1lIGlzIHRoZSBuZXcgYnJhbmNoIG5hbWUsIHN0YXJ0X25hbWUgaXMgdGhlIG5hbWUgb2YgdGhlCi0gKiBleGlzdGluZyBicmFuY2ggdGhhdCB0aGUgbmV3IGJyYW5jaCBzaG91bGQgc3RhcnQgZnJvbSwgZm9yY2UKLSAqIGVuYWJsZXMgb3ZlcndyaXRpbmcgYW4gZXhpc3RpbmcgKG5vbi1oZWFkKSBicmFuY2gsIHJlZmxvZyBjcmVhdGVzIGEKLSAqIHJlZmxvZyBmb3IgdGhlIGJyYW5jaCwgYW5kIHRyYWNrIGNhdXNlcyB0aGUgbmV3IGJyYW5jaCB0byBiZQotICogY29uZmlndXJlZCB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCB0aGF0IHN0YXJ0X25hbWUgaXMgYSB0cmFja2luZwotICogYnJhbmNoIGZvciAoaWYgYW55KS4KKyAqIENyZWF0ZXMgYSBuZXcgYnJhbmNoLCB3aGVyZToKKyAqCisgKiAgIC0gbmFtZSBpcyB0aGUgbmV3IGJyYW5jaCBuYW1lCisgKgorICogICAtIHN0YXJ0X25hbWUgaXMgdGhlIG5hbWUgb2YgdGhlIGV4aXN0aW5nIGJyYW5jaCB0aGF0IHRoZSBuZXcgYnJhbmNoIHNob3VsZAorICogICAgIHN0YXJ0IGZyb20KKyAqCisgKiAgIC0gZm9yY2UgZW5hYmxlcyBvdmVyd3JpdGluZyBhbiBleGlzdGluZyAobm9uLWhlYWQpIGJyYW5jaAorICoKKyAqICAgLSByZWZsb2cgY3JlYXRlcyBhIHJlZmxvZyBmb3IgdGhlIGJyYW5jaAorICoKKyAqICAgLSB0cmFjayBjYXVzZXMgdGhlIG5ldyBicmFuY2ggdG8gYmUgY29uZmlndXJlZCB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaAorICogICAgIHRoYXQgc3RhcnRfbmFtZSBpcyBhIHRyYWNraW5nIGJyYW5jaCBmb3IgKGlmIGFueSkuCiAgKi8KLXZvaWQgY3JlYXRlX2JyYW5jaChjb25zdCBjaGFyICpoZWFkLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpzdGFydF9uYW1lLAordm9pZCBjcmVhdGVfYnJhbmNoKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnN0YXJ0X25hbWUsCiAJCSAgIGludCBmb3JjZSwgaW50IHJlZmxvZywKIAkJICAgaW50IGNsb2JiZXJfaGVhZCwgaW50IHF1aWV0LCBlbnVtIGJyYW5jaF90cmFjayB0cmFjayk7CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4uaCBiL2J1aWx0aW4uaAppbmRleCA2Yjk1MDA2Li5iOTEyMmJjIDEwMDY0NAotLS0gYS9idWlsdGluLmgKKysrIGIvYnVpbHRpbi5oCkBAIC0yNSw3ICsyNSw3IEBACiBleHRlcm4gaW50IGZtdF9tZXJnZV9tc2coc3RydWN0IHN0cmJ1ZiAqaW4sIHN0cnVjdCBzdHJidWYgKm91dCwKIAkJCSBzdHJ1Y3QgZm10X21lcmdlX21zZ19vcHRzICopOwogCi1leHRlcm4gaW50IHRleHRjb252X29iamVjdChjb25zdCBjaGFyICpwYXRoLCB1bnNpZ25lZCBtb2RlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgc2hhMV92YWxpZCwgY2hhciAqKmJ1ZiwgdW5zaWduZWQgbG9uZyAqYnVmX3NpemUpOworZXh0ZXJuIGludCB0ZXh0Y29udl9vYmplY3QoY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgbW9kZSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgb2lkX3ZhbGlkLCBjaGFyICoqYnVmLCB1bnNpZ25lZCBsb25nICpidWZfc2l6ZSk7CiAKIGV4dGVybiBpbnQgaXNfYnVpbHRpbihjb25zdCBjaGFyICpzKTsKIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9hZGQuYyBiL2J1aWx0aW4vYWRkLmMKaW5kZXggMTQ1ZjA2ZS4uZThmYjgwYiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9hZGQuYworKysgYi9idWlsdGluL2FkZC5jCkBAIC0zMCw2ICszMCwyMSBAQAogCWludCBhZGRfZXJyb3JzOwogfTsKIAorc3RhdGljIHZvaWQgY2htb2RfcGF0aHNwZWMoc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywgaW50IGZvcmNlX21vZGUpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgYWN0aXZlX25yOyBpKyspIHsKKwkJc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGFjdGl2ZV9jYWNoZVtpXTsKKworCQlpZiAocGF0aHNwZWMgJiYgIWNlX3BhdGhfbWF0Y2goY2UsIHBhdGhzcGVjLCBOVUxMKSkKKwkJCWNvbnRpbnVlOworCisJCWlmIChjaG1vZF9jYWNoZV9lbnRyeShjZSwgZm9yY2VfbW9kZSkgPCAwKQorCQkJZnByaW50ZihzdGRlcnIsICJjYW5ub3QgY2htb2QgJyVzJyIsIGNlLT5uYW1lKTsKKwl9Cit9CisKIHN0YXRpYyBpbnQgZml4X3VubWVyZ2VkX3N0YXR1cyhzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcCwKIAkJCSAgICAgICBzdHJ1Y3QgdXBkYXRlX2NhbGxiYWNrX2RhdGEgKmRhdGEpCiB7CkBAIC02NSw3ICs4MCw3IEBACiAJCQlkaWUoXygidW5leHBlY3RlZCBkaWZmIHN0YXR1cyAlYyIpLCBwLT5zdGF0dXMpOwogCQljYXNlIERJRkZfU1RBVFVTX01PRElGSUVEOgogCQljYXNlIERJRkZfU1RBVFVTX1RZUEVfQ0hBTkdFRDoKLQkJCWlmIChhZGRfZmlsZV90b19pbmRleCgmdGhlX2luZGV4LCBwYXRoLCBkYXRhLT5mbGFncykpIHsKKwkJCWlmIChhZGRfZmlsZV90b19pbmRleCgmdGhlX2luZGV4LCBwYXRoLAlkYXRhLT5mbGFncykpIHsKIAkJCQlpZiAoIShkYXRhLT5mbGFncyAmIEFERF9DQUNIRV9JR05PUkVfRVJST1JTKSkKIAkJCQkJZGllKF8oInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIpKTsKIAkJCQlkYXRhLT5hZGRfZXJyb3JzKys7CkBAIC0yMzgsNiArMjUzLDggQEAKIHN0YXRpYyBpbnQgYWRkcmVtb3ZlID0gQUREUkVNT1ZFX0RFRkFVTFQ7CiBzdGF0aWMgaW50IGFkZHJlbW92ZV9leHBsaWNpdCA9IC0xOyAvKiB1bnNwZWNpZmllZCAqLwogCitzdGF0aWMgY2hhciAqY2htb2RfYXJnOworCiBzdGF0aWMgaW50IGlnbm9yZV9yZW1vdmFsX2NiKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCiB7CiAJLyogaWYgd2UgYXJlIHRvbGQgdG8gaWdub3JlLCB3ZSBhcmUgbm90IGFkZGluZyByZW1vdmFscyAqLwpAQCAtMjYzLDYgKzI4MCw3IEBACiAJT1BUX0JPT0woIDAgLCAicmVmcmVzaCIsICZyZWZyZXNoX29ubHksIE5fKCJkb24ndCBhZGQsIG9ubHkgcmVmcmVzaCB0aGUgaW5kZXgiKSksCiAJT1BUX0JPT0woIDAgLCAiaWdub3JlLWVycm9ycyIsICZpZ25vcmVfYWRkX2Vycm9ycywgTl8oImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiKSksCiAJT1BUX0JPT0woIDAgLCAiaWdub3JlLW1pc3NpbmciLCAmaWdub3JlX21pc3NpbmcsIE5fKCJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iKSksCisJT1BUX1NUUklORyggMCAsICJjaG1vZCIsICZjaG1vZF9hcmcsIE5fKCIoKy8tKXgiKSwgTl8oIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIikpLAogCU9QVF9FTkQoKSwKIH07CiAKQEAgLTI4OSw3ICszMDcsNyBAQAogCX0KIAogCWZvciAoaSA9IDA7IGkgPCBkaXItPm5yOyBpKyspCi0JCWlmIChhZGRfZmlsZV90b19jYWNoZShkaXItPmVudHJpZXNbaV0tPm5hbWUsIGZsYWdzKSkgeworCQlpZiAoYWRkX2ZpbGVfdG9faW5kZXgoJnRoZV9pbmRleCwgZGlyLT5lbnRyaWVzW2ldLT5uYW1lLCBmbGFncykpIHsKIAkJCWlmICghaWdub3JlX2FkZF9lcnJvcnMpCiAJCQkJZGllKF8oImFkZGluZyBmaWxlcyBmYWlsZWQiKSk7CiAJCQlleGl0X3N0YXR1cyA9IDE7CkBAIC0zMzYsNiArMzU0LDEwIEBACiAJaWYgKCFzaG93X29ubHkgJiYgaWdub3JlX21pc3NpbmcpCiAJCWRpZShfKCJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIikpOwogCisJaWYgKGNobW9kX2FyZyAmJiAoKGNobW9kX2FyZ1swXSAhPSAnLScgJiYgY2htb2RfYXJnWzBdICE9ICcrJykgfHwKKwkJCSAgY2htb2RfYXJnWzFdICE9ICd4JyB8fCBjaG1vZF9hcmdbMl0pKQorCQlkaWUoXygiLS1jaG1vZCBwYXJhbSAnJXMnIG11c3QgYmUgZWl0aGVyIC14IG9yICt4IiksIGNobW9kX2FyZyk7CisKIAlhZGRfbmV3X2ZpbGVzID0gIXRha2Vfd29ya3RyZWVfY2hhbmdlcyAmJiAhcmVmcmVzaF9vbmx5OwogCXJlcXVpcmVfcGF0aHNwZWMgPSAhKHRha2Vfd29ya3RyZWVfY2hhbmdlcyB8fCAoMCA8IGFkZHJlbW92ZV9leHBsaWNpdCkpOwogCkBAIC00MzEsNiArNDUzLDggQEAKIAlpZiAoYWRkX25ld19maWxlcykKIAkJZXhpdF9zdGF0dXMgfD0gYWRkX2ZpbGVzKCZkaXIsIGZsYWdzKTsKIAorCWlmIChjaG1vZF9hcmcgJiYgcGF0aHNwZWMubnIpCisJCWNobW9kX3BhdGhzcGVjKCZwYXRoc3BlYywgY2htb2RfYXJnWzBdKTsKIAl1bnBsdWdfYnVsa19jaGVja2luKCk7CiAKIGZpbmlzaDoKZGlmZiAtLWdpdCBhL2J1aWx0aW4vYW0uYyBiL2J1aWx0aW4vYW0uYwppbmRleCAzZGZlNzBiLi42OTgxZjQyIDEwMDY0NAotLS0gYS9idWlsdGluL2FtLmMKKysrIGIvYnVpbHRpbi9hbS5jCkBAIC0yOCw2ICsyOCw4IEBACiAjaW5jbHVkZSAicmVyZXJlLmgiCiAjaW5jbHVkZSAicHJvbXB0LmgiCiAjaW5jbHVkZSAibWFpbGluZm8uaCIKKyNpbmNsdWRlICJhcHBseS5oIgorI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCiAKIC8qKgogICogUmV0dXJucyAxIGlmIHRoZSBmaWxlIGlzIGVtcHR5IG9yIGRvZXMgbm90IGV4aXN0LCAwIG90aGVyd2lzZS4KQEAgLTcwLDcgKzcyLDggQEAKIAlQQVRDSF9GT1JNQVRfTUJPWCwKIAlQQVRDSF9GT1JNQVRfU1RHSVQsCiAJUEFUQ0hfRk9STUFUX1NUR0lUX1NFUklFUywKLQlQQVRDSF9GT1JNQVRfSEcKKwlQQVRDSF9GT1JNQVRfSEcsCisJUEFUQ0hfRk9STUFUX01CT1hSRAogfTsKIAogZW51bSBrZWVwX3R5cGUgewpAQCAtMTA3LDcgKzExMCw3IEBACiAJc2l6ZV90IG1zZ19sZW47CiAKIAkvKiB3aGVuIC0tcmViYXNpbmcsIHJlY29yZHMgdGhlIG9yaWdpbmFsIGNvbW1pdCB0aGUgcGF0Y2ggY2FtZSBmcm9tICovCi0JdW5zaWduZWQgY2hhciBvcmlnX2NvbW1pdFtHSVRfU0hBMV9SQVdTWl07CisJc3RydWN0IG9iamVjdF9pZCBvcmlnX2NvbW1pdDsKIAogCS8qIG51bWJlciBvZiBkaWdpdHMgaW4gcGF0Y2ggZmlsZW5hbWUgKi8KIAlpbnQgcHJlYzsKQEAgLTE4MywyMiArMTg2LDIyIEBACiAvKioKICAqIEZvciBjb252ZW5pZW5jZSB0byBjYWxsIHdyaXRlX2ZpbGUoKQogICovCi1zdGF0aWMgaW50IHdyaXRlX3N0YXRlX3RleHQoY29uc3Qgc3RydWN0IGFtX3N0YXRlICpzdGF0ZSwKLQkJCSAgICBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpzdHJpbmcpCitzdGF0aWMgdm9pZCB3cml0ZV9zdGF0ZV90ZXh0KGNvbnN0IHN0cnVjdCBhbV9zdGF0ZSAqc3RhdGUsCisJCQkgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnN0cmluZykKIHsKLQlyZXR1cm4gd3JpdGVfZmlsZShhbV9wYXRoKHN0YXRlLCBuYW1lKSwgIiVzIiwgc3RyaW5nKTsKKwl3cml0ZV9maWxlKGFtX3BhdGgoc3RhdGUsIG5hbWUpLCAiJXMiLCBzdHJpbmcpOwogfQogCi1zdGF0aWMgaW50IHdyaXRlX3N0YXRlX2NvdW50KGNvbnN0IHN0cnVjdCBhbV9zdGF0ZSAqc3RhdGUsCitzdGF0aWMgdm9pZCB3cml0ZV9zdGF0ZV9jb3VudChjb25zdCBzdHJ1Y3QgYW1fc3RhdGUgKnN0YXRlLAorCQkJICAgICAgY29uc3QgY2hhciAqbmFtZSwgaW50IHZhbHVlKQoreworCXdyaXRlX2ZpbGUoYW1fcGF0aChzdGF0ZSwgbmFtZSksICIlZCIsIHZhbHVlKTsKK30KKworc3RhdGljIHZvaWQgd3JpdGVfc3RhdGVfYm9vbChjb25zdCBzdHJ1Y3QgYW1fc3RhdGUgKnN0YXRlLAogCQkJICAgICBjb25zdCBjaGFyICpuYW1lLCBpbnQgdmFsdWUpCiB7Ci0JcmV0dXJuIHdyaXRlX2ZpbGUoYW1fcGF0aChzdGF0ZSwgbmFtZSksICIlZCIsIHZhbHVlKTsKLX0KLQotc3RhdGljIGludCB3cml0ZV9zdGF0ZV9ib29sKGNvbnN0IHN0cnVjdCBhbV9zdGF0ZSAqc3RhdGUsCi0JCQkgICAgY29uc3QgY2hhciAqbmFtZSwgaW50IHZhbHVlKQotewotCXJldHVybiB3cml0ZV9zdGF0ZV90ZXh0KHN0YXRlLCBuYW1lLCB2YWx1ZSA/ICJ0IiA6ICJmIik7CisJd3JpdGVfc3RhdGVfdGV4dChzdGF0ZSwgbmFtZSwgdmFsdWUgPyAidCIgOiAiZiIpOwogfQogCiAvKioKQEAgLTI1NywzOCArMjYwLDI5IEBACiB9CiAKIC8qKgotICogUmVhZHMgYSBLRVk9VkFMVUUgc2hlbGwgdmFyaWFibGUgYXNzaWdubWVudCBmcm9tIGBmcGAsIHJldHVybmluZyB0aGUgVkFMVUUKLSAqIGFzIGEgbmV3bHktYWxsb2NhdGVkIHN0cmluZy4gVkFMVUUgbXVzdCBiZSBhIHF1b3RlZCBzdHJpbmcsIGFuZCB0aGUgS0VZIG11c3QKLSAqIG1hdGNoIGBrZXlgLiBSZXR1cm5zIE5VTEwgb24gZmFpbHVyZS4KLSAqCi0gKiBUaGlzIGlzIHVzZWQgYnkgcmVhZF9hdXRob3Jfc2NyaXB0KCkgdG8gcmVhZCB0aGUgR0lUX0FVVEhPUl8qIHZhcmlhYmxlcyBmcm9tCi0gKiB0aGUgYXV0aG9yLXNjcmlwdC4KKyAqIFRha2UgYSBzZXJpZXMgb2YgS0VZPSdWQUxVRScgbGluZXMgd2hlcmUgVkFMVUUgcGFydCBpcworICogc3EtcXVvdGVkLCBhbmQgYXBwZW5kIDxLRVksIFZBTFVFPiBhdCB0aGUgZW5kIG9mIHRoZSBzdHJpbmcgbGlzdAogICovCi1zdGF0aWMgY2hhciAqcmVhZF9zaGVsbF92YXIoRklMRSAqZnAsIGNvbnN0IGNoYXIgKmtleSkKK3N0YXRpYyBpbnQgcGFyc2Vfa2V5X3ZhbHVlX3NxdW90ZWQoY2hhciAqYnVmLCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QpCiB7Ci0Jc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwotCWNvbnN0IGNoYXIgKnN0cjsKKwl3aGlsZSAoKmJ1ZikgeworCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKKwkJY2hhciAqbnA7CisJCWNoYXIgKmNwID0gc3RyY2hyKGJ1ZiwgJz0nKTsKKwkJaWYgKCFjcCkKKwkJCXJldHVybiAtMTsKKwkJbnAgPSBzdHJjaHJudWwoY3AsICdcbicpOworCQkqY3ArKyA9ICdcMCc7CisJCWl0ZW0gPSBzdHJpbmdfbGlzdF9hcHBlbmQobGlzdCwgYnVmKTsKIAotCWlmIChzdHJidWZfZ2V0bGluZV9sZigmc2IsIGZwKSkKLQkJZ290byBmYWlsOwotCi0JaWYgKCFza2lwX3ByZWZpeChzYi5idWYsIGtleSwgJnN0cikpCi0JCWdvdG8gZmFpbDsKLQotCWlmICghc2tpcF9wcmVmaXgoc3RyLCAiPSIsICZzdHIpKQotCQlnb3RvIGZhaWw7Ci0KLQlzdHJidWZfcmVtb3ZlKCZzYiwgMCwgc3RyIC0gc2IuYnVmKTsKLQotCXN0ciA9IHNxX2RlcXVvdGUoc2IuYnVmKTsKLQlpZiAoIXN0cikKLQkJZ290byBmYWlsOwotCi0JcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJnNiLCBOVUxMKTsKLQotZmFpbDoKLQlzdHJidWZfcmVsZWFzZSgmc2IpOwotCXJldHVybiBOVUxMOworCQlidWYgPSBucCArICgqbnAgPT0gJ1xuJyk7CisJCSpucCA9ICdcMCc7CisJCWNwID0gc3FfZGVxdW90ZShjcCk7CisJCWlmICghY3ApCisJCQlyZXR1cm4gLTE7CisJCWl0ZW0tPnV0aWwgPSB4c3RyZHVwKGNwKTsKKwl9CisJcmV0dXJuIDA7CiB9CiAKIC8qKgpAQCAtMzEwLDQ0ICszMDQsMzkgQEAKIHN0YXRpYyBpbnQgcmVhZF9hdXRob3Jfc2NyaXB0KHN0cnVjdCBhbV9zdGF0ZSAqc3RhdGUpCiB7CiAJY29uc3QgY2hhciAqZmlsZW5hbWUgPSBhbV9wYXRoKHN0YXRlLCAiYXV0aG9yLXNjcmlwdCIpOwotCUZJTEUgKmZwOworCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmluZ19saXN0IGt2ID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CisJaW50IHJldHZhbCA9IC0xOyAvKiBhc3N1bWUgZmFpbHVyZSAqLworCWludCBmZDsKIAogCWFzc2VydCghc3RhdGUtPmF1dGhvcl9uYW1lKTsKIAlhc3NlcnQoIXN0YXRlLT5hdXRob3JfZW1haWwpOwogCWFzc2VydCghc3RhdGUtPmF1dGhvcl9kYXRlKTsKIAotCWZwID0gZm9wZW4oZmlsZW5hbWUsICJyIik7Ci0JaWYgKCFmcCkgeworCWZkID0gb3BlbihmaWxlbmFtZSwgT19SRE9OTFkpOworCWlmIChmZCA8IDApIHsKIAkJaWYgKGVycm5vID09IEVOT0VOVCkKIAkJCXJldHVybiAwOwogCQlkaWVfZXJybm8oXygiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIpLCBmaWxlbmFtZSk7CiAJfQorCXN0cmJ1Zl9yZWFkKCZidWYsIGZkLCAwKTsKKwljbG9zZShmZCk7CisJaWYgKHBhcnNlX2tleV92YWx1ZV9zcXVvdGVkKGJ1Zi5idWYsICZrdikpCisJCWdvdG8gZmluaXNoOwogCi0Jc3RhdGUtPmF1dGhvcl9uYW1lID0gcmVhZF9zaGVsbF92YXIoZnAsICJHSVRfQVVUSE9SX05BTUUiKTsKLQlpZiAoIXN0YXRlLT5hdXRob3JfbmFtZSkgewotCQlmY2xvc2UoZnApOwotCQlyZXR1cm4gLTE7Ci0JfQotCi0Jc3RhdGUtPmF1dGhvcl9lbWFpbCA9IHJlYWRfc2hlbGxfdmFyKGZwLCAiR0lUX0FVVEhPUl9FTUFJTCIpOwotCWlmICghc3RhdGUtPmF1dGhvcl9lbWFpbCkgewotCQlmY2xvc2UoZnApOwotCQlyZXR1cm4gLTE7Ci0JfQotCi0Jc3RhdGUtPmF1dGhvcl9kYXRlID0gcmVhZF9zaGVsbF92YXIoZnAsICJHSVRfQVVUSE9SX0RBVEUiKTsKLQlpZiAoIXN0YXRlLT5hdXRob3JfZGF0ZSkgewotCQlmY2xvc2UoZnApOwotCQlyZXR1cm4gLTE7Ci0JfQotCi0JaWYgKGZnZXRjKGZwKSAhPSBFT0YpIHsKLQkJZmNsb3NlKGZwKTsKLQkJcmV0dXJuIC0xOwotCX0KLQotCWZjbG9zZShmcCk7Ci0JcmV0dXJuIDA7CisJaWYgKGt2Lm5yICE9IDMgfHwKKwkgICAgc3RyY21wKGt2Lml0ZW1zWzBdLnN0cmluZywgIkdJVF9BVVRIT1JfTkFNRSIpIHx8CisJICAgIHN0cmNtcChrdi5pdGVtc1sxXS5zdHJpbmcsICJHSVRfQVVUSE9SX0VNQUlMIikgfHwKKwkgICAgc3RyY21wKGt2Lml0ZW1zWzJdLnN0cmluZywgIkdJVF9BVVRIT1JfREFURSIpKQorCQlnb3RvIGZpbmlzaDsKKwlzdGF0ZS0+YXV0aG9yX25hbWUgPSBrdi5pdGVtc1swXS51dGlsOworCXN0YXRlLT5hdXRob3JfZW1haWwgPSBrdi5pdGVtc1sxXS51dGlsOworCXN0YXRlLT5hdXRob3JfZGF0ZSA9IGt2Lml0ZW1zWzJdLnV0aWw7CisJcmV0dmFsID0gMDsKK2ZpbmlzaDoKKwlzdHJpbmdfbGlzdF9jbGVhcigma3YsICEhcmV0dmFsKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKKwlyZXR1cm4gcmV0dmFsOwogfQogCiAvKioKQEAgLTQwMiwxMyArMzkxLDggQEAKICAqLwogc3RhdGljIHZvaWQgd3JpdGVfY29tbWl0X21zZyhjb25zdCBzdHJ1Y3QgYW1fc3RhdGUgKnN0YXRlKQogewotCWludCBmZDsKIAljb25zdCBjaGFyICpmaWxlbmFtZSA9IGFtX3BhdGgoc3RhdGUsICJmaW5hbC1jb21taXQiKTsKLQotCWZkID0geG9wZW4oZmlsZW5hbWUsIE9fV1JPTkxZIHwgT19DUkVBVCwgMDY2Nik7Ci0JaWYgKHdyaXRlX2luX2Z1bGwoZmQsIHN0YXRlLT5tc2csIHN0YXRlLT5tc2dfbGVuKSA8IDApCi0JCWRpZV9lcnJubyhfKCJjb3VsZCBub3Qgd3JpdGUgdG8gJXMiKSwgZmlsZW5hbWUpOwotCWNsb3NlKGZkKTsKKwl3cml0ZV9maWxlX2J1ZihmaWxlbmFtZSwgc3RhdGUtPm1zZywgc3RhdGUtPm1zZ19sZW4pOwogfQogCiAvKioKQEAgLTQzMiw4ICs0MTYsOCBAQAogCXJlYWRfY29tbWl0X21zZyhzdGF0ZSk7CiAKIAlpZiAocmVhZF9zdGF0ZV9maWxlKCZzYiwgc3RhdGUsICJvcmlnaW5hbC1jb21taXQiLCAxKSA8IDApCi0JCWhhc2hjbHIoc3RhdGUtPm9yaWdfY29tbWl0KTsKLQllbHNlIGlmIChnZXRfc2hhMV9oZXgoc2IuYnVmLCBzdGF0ZS0+b3JpZ19jb21taXQpIDwgMCkKKwkJb2lkY2xyKCZzdGF0ZS0+b3JpZ19jb21taXQpOworCWVsc2UgaWYgKGdldF9vaWRfaGV4KHNiLmJ1ZiwgJnN0YXRlLT5vcmlnX2NvbW1pdCkgPCAwKQogCQlkaWUoXygiY291bGQgbm90IHBhcnNlICVzIiksIGFtX3BhdGgoc3RhdGUsICJvcmlnaW5hbC1jb21taXQiKSk7CiAKIAlyZWFkX3N0YXRlX2ZpbGUoJnNiLCBzdGF0ZSwgInRocmVld2F5IiwgMSk7CkBAIC01NTksMTQgKzU0MywxNCBAQAogCWZwID0geGZvcGVuKGFtX3BhdGgoc3RhdGUsICJyZXdyaXR0ZW4iKSwgInIiKTsKIAogCXdoaWxlICghc3RyYnVmX2dldGxpbmVfbGYoJnNiLCBmcCkpIHsKLQkJdW5zaWduZWQgY2hhciBmcm9tX29ialtHSVRfU0hBMV9SQVdTWl0sIHRvX29ialtHSVRfU0hBMV9SQVdTWl07CisJCXN0cnVjdCBvYmplY3RfaWQgZnJvbV9vYmosIHRvX29iajsKIAogCQlpZiAoc2IubGVuICE9IEdJVF9TSEExX0hFWFNaICogMiArIDEpIHsKIAkJCXJldCA9IGVycm9yKGludmFsaWRfbGluZSwgc2IuYnVmKTsKIAkJCWdvdG8gZmluaXNoOwogCQl9CiAKLQkJaWYgKGdldF9zaGExX2hleChzYi5idWYsIGZyb21fb2JqKSkgeworCQlpZiAoZ2V0X29pZF9oZXgoc2IuYnVmLCAmZnJvbV9vYmopKSB7CiAJCQlyZXQgPSBlcnJvcihpbnZhbGlkX2xpbmUsIHNiLmJ1Zik7CiAJCQlnb3RvIGZpbmlzaDsKIAkJfQpAQCAtNTc2LDE0ICs1NjAsMTQgQEAKIAkJCWdvdG8gZmluaXNoOwogCQl9CiAKLQkJaWYgKGdldF9zaGExX2hleChzYi5idWYgKyBHSVRfU0hBMV9IRVhTWiArIDEsIHRvX29iaikpIHsKKwkJaWYgKGdldF9vaWRfaGV4KHNiLmJ1ZiArIEdJVF9TSEExX0hFWFNaICsgMSwgJnRvX29iaikpIHsKIAkJCXJldCA9IGVycm9yKGludmFsaWRfbGluZSwgc2IuYnVmKTsKIAkJCWdvdG8gZmluaXNoOwogCQl9CiAKLQkJaWYgKGNvcHlfbm90ZV9mb3JfcmV3cml0ZShjLCBmcm9tX29iaiwgdG9fb2JqKSkKKwkJaWYgKGNvcHlfbm90ZV9mb3JfcmV3cml0ZShjLCBmcm9tX29iai5oYXNoLCB0b19vYmouaGFzaCkpCiAJCQlyZXQgPSBlcnJvcihfKCJGYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIpLAotCQkJCQlzaGExX3RvX2hleChmcm9tX29iaiksIHNoYTFfdG9faGV4KHRvX29iaikpOworCQkJCQlvaWRfdG9faGV4KCZmcm9tX29iaiksIG9pZF90b19oZXgoJnRvX29iaikpOwogCX0KIAogZmluaXNoOgpAQCAtNzEyLDcgKzY5Niw4IEBACiAgKiBTcGxpdHMgb3V0IGluZGl2aWR1YWwgZW1haWwgcGF0Y2hlcyBmcm9tIGBwYXRoc2AsIHdoZXJlIGVhY2ggcGF0aCBpcyBlaXRoZXIKICAqIGEgbWJveCBmaWxlIG9yIGEgTWFpbGRpci4gUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGZhaWx1cmUuCiAgKi8KLXN0YXRpYyBpbnQgc3BsaXRfbWFpbF9tYm94KHN0cnVjdCBhbV9zdGF0ZSAqc3RhdGUsIGNvbnN0IGNoYXIgKipwYXRocywgaW50IGtlZXBfY3IpCitzdGF0aWMgaW50IHNwbGl0X21haWxfbWJveChzdHJ1Y3QgYW1fc3RhdGUgKnN0YXRlLCBjb25zdCBjaGFyICoqcGF0aHMsCisJCQkJaW50IGtlZXBfY3IsIGludCBtYm94cmQpCiB7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiBsYXN0ID0gU1RSQlVGX0lOSVQ7CkBAIC03MjQsNiArNzA5LDggQEAKIAlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsICItYiIpOwogCWlmIChrZWVwX2NyKQogCQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsICItLWtlZXAtY3IiKTsKKwlpZiAobWJveHJkKQorCQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsICItLW1ib3hyZCIpOwogCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgIi0tIik7CiAJYXJndl9hcnJheV9wdXNodigmY3AuYXJncywgcGF0aHMpOwogCkBAIC05NjUsMTMgKzk1MiwxNSBAQAogCiAJc3dpdGNoIChwYXRjaF9mb3JtYXQpIHsKIAljYXNlIFBBVENIX0ZPUk1BVF9NQk9YOgotCQlyZXR1cm4gc3BsaXRfbWFpbF9tYm94KHN0YXRlLCBwYXRocywga2VlcF9jcik7CisJCXJldHVybiBzcGxpdF9tYWlsX21ib3goc3RhdGUsIHBhdGhzLCBrZWVwX2NyLCAwKTsKIAljYXNlIFBBVENIX0ZPUk1BVF9TVEdJVDoKIAkJcmV0dXJuIHNwbGl0X21haWxfY29udihzdGdpdF9wYXRjaF90b19tYWlsLCBzdGF0ZSwgcGF0aHMsIGtlZXBfY3IpOwogCWNhc2UgUEFUQ0hfRk9STUFUX1NUR0lUX1NFUklFUzoKIAkJcmV0dXJuIHNwbGl0X21haWxfc3RnaXRfc2VyaWVzKHN0YXRlLCBwYXRocywga2VlcF9jcik7CiAJY2FzZSBQQVRDSF9GT1JNQVRfSEc6CiAJCXJldHVybiBzcGxpdF9tYWlsX2NvbnYoaGdfcGF0Y2hfdG9fbWFpbCwgc3RhdGUsIHBhdGhzLCBrZWVwX2NyKTsKKwljYXNlIFBBVENIX0ZPUk1BVF9NQk9YUkQ6CisJCXJldHVybiBzcGxpdF9tYWlsX21ib3goc3RhdGUsIHBhdGhzLCBrZWVwX2NyLCAxKTsKIAlkZWZhdWx0OgogCQlkaWUoIkJVRzogaW52YWxpZCBwYXRjaF9mb3JtYXQiKTsKIAl9CkBAIC05ODQsNyArOTczLDcgQEAKIHN0YXRpYyB2b2lkIGFtX3NldHVwKHN0cnVjdCBhbV9zdGF0ZSAqc3RhdGUsIGVudW0gcGF0Y2hfZm9ybWF0IHBhdGNoX2Zvcm1hdCwKIAkJCWNvbnN0IGNoYXIgKipwYXRocywgaW50IGtlZXBfY3IpCiB7Ci0JdW5zaWduZWQgY2hhciBjdXJyX2hlYWRbR0lUX1NIQTFfUkFXU1pdOworCXN0cnVjdCBvYmplY3RfaWQgY3Vycl9oZWFkOwogCWNvbnN0IGNoYXIgKnN0cjsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAKQEAgLTEwNTIsMTAgKzEwNDEsMTAgQEAKIAllbHNlCiAJCXdyaXRlX3N0YXRlX3RleHQoc3RhdGUsICJhcHBseWluZyIsICIiKTsKIAotCWlmICghZ2V0X3NoYTEoIkhFQUQiLCBjdXJyX2hlYWQpKSB7Ci0JCXdyaXRlX3N0YXRlX3RleHQoc3RhdGUsICJhYm9ydC1zYWZldHkiLCBzaGExX3RvX2hleChjdXJyX2hlYWQpKTsKKwlpZiAoIWdldF9vaWQoIkhFQUQiLCAmY3Vycl9oZWFkKSkgeworCQl3cml0ZV9zdGF0ZV90ZXh0KHN0YXRlLCAiYWJvcnQtc2FmZXR5Iiwgb2lkX3RvX2hleCgmY3Vycl9oZWFkKSk7CiAJCWlmICghc3RhdGUtPnJlYmFzaW5nKQotCQkJdXBkYXRlX3JlZigiYW0iLCAiT1JJR19IRUFEIiwgY3Vycl9oZWFkLCBOVUxMLCAwLAorCQkJdXBkYXRlX3JlZl9vaWQoImFtIiwgIk9SSUdfSEVBRCIsICZjdXJyX2hlYWQsIE5VTEwsIDAsCiAJCQkJCVVQREFURV9SRUZTX0RJRV9PTl9FUlIpOwogCX0gZWxzZSB7CiAJCXdyaXRlX3N0YXRlX3RleHQoc3RhdGUsICJhYm9ydC1zYWZldHkiLCAiIik7CkBAIC0xMDgwLDcgKzEwNjksNyBAQAogICovCiBzdGF0aWMgdm9pZCBhbV9uZXh0KHN0cnVjdCBhbV9zdGF0ZSAqc3RhdGUpCiB7Ci0JdW5zaWduZWQgY2hhciBoZWFkW0dJVF9TSEExX1JBV1NaXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIGhlYWQ7CiAKIAlmcmVlKHN0YXRlLT5hdXRob3JfbmFtZSk7CiAJc3RhdGUtPmF1dGhvcl9uYW1lID0gTlVMTDsKQEAgLTEwOTgsMTEgKzEwODcsMTEgQEAKIAl1bmxpbmsoYW1fcGF0aChzdGF0ZSwgImF1dGhvci1zY3JpcHQiKSk7CiAJdW5saW5rKGFtX3BhdGgoc3RhdGUsICJmaW5hbC1jb21taXQiKSk7CiAKLQloYXNoY2xyKHN0YXRlLT5vcmlnX2NvbW1pdCk7CisJb2lkY2xyKCZzdGF0ZS0+b3JpZ19jb21taXQpOwogCXVubGluayhhbV9wYXRoKHN0YXRlLCAib3JpZ2luYWwtY29tbWl0IikpOwogCi0JaWYgKCFnZXRfc2hhMSgiSEVBRCIsIGhlYWQpKQotCQl3cml0ZV9zdGF0ZV90ZXh0KHN0YXRlLCAiYWJvcnQtc2FmZXR5Iiwgc2hhMV90b19oZXgoaGVhZCkpOworCWlmICghZ2V0X29pZCgiSEVBRCIsICZoZWFkKSkKKwkJd3JpdGVfc3RhdGVfdGV4dChzdGF0ZSwgImFib3J0LXNhZmV0eSIsIG9pZF90b19oZXgoJmhlYWQpKTsKIAllbHNlCiAJCXdyaXRlX3N0YXRlX3RleHQoc3RhdGUsICJhYm9ydC1zYWZldHkiLCAiIik7CiAKQEAgLTExNDQsMTcgKzExMzMsMTcgQEAKICAqLwogc3RhdGljIGludCBpbmRleF9oYXNfY2hhbmdlcyhzdHJ1Y3Qgc3RyYnVmICpzYikKIHsKLQl1bnNpZ25lZCBjaGFyIGhlYWRbR0lUX1NIQTFfUkFXU1pdOworCXN0cnVjdCBvYmplY3RfaWQgaGVhZDsKIAlpbnQgaTsKIAotCWlmICghZ2V0X3NoYTFfdHJlZSgiSEVBRCIsIGhlYWQpKSB7CisJaWYgKCFnZXRfc2hhMV90cmVlKCJIRUFEIiwgaGVhZC5oYXNoKSkgewogCQlzdHJ1Y3QgZGlmZl9vcHRpb25zIG9wdDsKIAogCQlkaWZmX3NldHVwKCZvcHQpOwogCQlESUZGX09QVF9TRVQoJm9wdCwgRVhJVF9XSVRIX1NUQVRVUyk7CiAJCWlmICghc2IpCiAJCQlESUZGX09QVF9TRVQoJm9wdCwgUVVJQ0spOwotCQlkb19kaWZmX2NhY2hlKGhlYWQsICZvcHQpOworCQlkb19kaWZmX2NhY2hlKGhlYWQuaGFzaCwgJm9wdCk7CiAJCWRpZmZjb3JlX3N0ZCgmb3B0KTsKIAkJZm9yIChpID0gMDsgc2IgJiYgaSA8IGRpZmZfcXVldWVkX2RpZmYubnI7IGkrKykgewogCQkJaWYgKGkpCkBAIC0xMzYxLDcgKzEzNTAsNyBAQAogICogU2V0cyBjb21taXRfaWQgdG8gdGhlIGNvbW1pdCBoYXNoIHdoZXJlIHRoZSBtYWlsIHdhcyBnZW5lcmF0ZWQgZnJvbS4KICAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCAtMSBvbiBmYWlsdXJlLgogICovCi1zdGF0aWMgaW50IGdldF9tYWlsX2NvbW1pdF9zaGExKHVuc2lnbmVkIGNoYXIgKmNvbW1pdF9pZCwgY29uc3QgY2hhciAqbWFpbCkKK3N0YXRpYyBpbnQgZ2V0X21haWxfY29tbWl0X29pZChzdHJ1Y3Qgb2JqZWN0X2lkICpjb21taXRfaWQsIGNvbnN0IGNoYXIgKm1haWwpCiB7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCUZJTEUgKmZwID0geGZvcGVuKG1haWwsICJyIik7CkBAIC0xMzczLDcgKzEzNjIsNyBAQAogCWlmICghc2tpcF9wcmVmaXgoc2IuYnVmLCAiRnJvbSAiLCAmeCkpCiAJCXJldHVybiAtMTsKIAotCWlmIChnZXRfc2hhMV9oZXgoeCwgY29tbWl0X2lkKSA8IDApCisJaWYgKGdldF9vaWRfaGV4KHgsIGNvbW1pdF9pZCkgPCAwKQogCQlyZXR1cm4gLTE7CiAKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwpAQCAtMTQ2MywxMiArMTQ1MiwxMiBAQAogc3RhdGljIHZvaWQgd3JpdGVfaW5kZXhfcGF0Y2goY29uc3Qgc3RydWN0IGFtX3N0YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3QgdHJlZSAqdHJlZTsKLQl1bnNpZ25lZCBjaGFyIGhlYWRbR0lUX1NIQTFfUkFXU1pdOworCXN0cnVjdCBvYmplY3RfaWQgaGVhZDsKIAlzdHJ1Y3QgcmV2X2luZm8gcmV2X2luZm87CiAJRklMRSAqZnA7CiAKLQlpZiAoIWdldF9zaGExX3RyZWUoIkhFQUQiLCBoZWFkKSkKLQkJdHJlZSA9IGxvb2t1cF90cmVlKGhlYWQpOworCWlmICghZ2V0X3NoYTFfdHJlZSgiSEVBRCIsIGhlYWQuaGFzaCkpCisJCXRyZWUgPSBsb29rdXBfdHJlZShoZWFkLmhhc2gpOwogCWVsc2UKIAkJdHJlZSA9IGxvb2t1cF90cmVlKEVNUFRZX1RSRUVfU0hBMV9CSU4pOwogCkBAIC0xNDk4LDE5ICsxNDg3LDE5IEBACiBzdGF0aWMgaW50IHBhcnNlX21haWxfcmViYXNlKHN0cnVjdCBhbV9zdGF0ZSAqc3RhdGUsIGNvbnN0IGNoYXIgKm1haWwpCiB7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwotCXVuc2lnbmVkIGNoYXIgY29tbWl0X3NoYTFbR0lUX1NIQTFfUkFXU1pdOworCXN0cnVjdCBvYmplY3RfaWQgY29tbWl0X29pZDsKIAotCWlmIChnZXRfbWFpbF9jb21taXRfc2hhMShjb21taXRfc2hhMSwgbWFpbCkgPCAwKQorCWlmIChnZXRfbWFpbF9jb21taXRfb2lkKCZjb21taXRfb2lkLCBtYWlsKSA8IDApCiAJCWRpZShfKCJjb3VsZCBub3QgcGFyc2UgJXMiKSwgbWFpbCk7CiAKLQljb21taXQgPSBsb29rdXBfY29tbWl0X29yX2RpZShjb21taXRfc2hhMSwgbWFpbCk7CisJY29tbWl0ID0gbG9va3VwX2NvbW1pdF9vcl9kaWUoY29tbWl0X29pZC5oYXNoLCBtYWlsKTsKIAogCWdldF9jb21taXRfaW5mbyhzdGF0ZSwgY29tbWl0KTsKIAogCXdyaXRlX2NvbW1pdF9wYXRjaChzdGF0ZSwgY29tbWl0KTsKIAotCWhhc2hjcHkoc3RhdGUtPm9yaWdfY29tbWl0LCBjb21taXRfc2hhMSk7Ci0Jd3JpdGVfc3RhdGVfdGV4dChzdGF0ZSwgIm9yaWdpbmFsLWNvbW1pdCIsIHNoYTFfdG9faGV4KGNvbW1pdF9zaGExKSk7CisJb2lkY3B5KCZzdGF0ZS0+b3JpZ19jb21taXQsICZjb21taXRfb2lkKTsKKwl3cml0ZV9zdGF0ZV90ZXh0KHN0YXRlLCAib3JpZ2luYWwtY29tbWl0Iiwgb2lkX3RvX2hleCgmY29tbWl0X29pZCkpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xNTIxLDQwICsxNTEwLDYwIEBACiAgKi8KIHN0YXRpYyBpbnQgcnVuX2FwcGx5KGNvbnN0IHN0cnVjdCBhbV9zdGF0ZSAqc3RhdGUsIGNvbnN0IGNoYXIgKmluZGV4X2ZpbGUpCiB7Ci0Jc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJc3RydWN0IGFyZ3ZfYXJyYXkgYXBwbHlfcGF0aHMgPSBBUkdWX0FSUkFZX0lOSVQ7CisJc3RydWN0IGFyZ3ZfYXJyYXkgYXBwbHlfb3B0cyA9IEFSR1ZfQVJSQVlfSU5JVDsKKwlzdHJ1Y3QgYXBwbHlfc3RhdGUgYXBwbHlfc3RhdGU7CisJaW50IHJlcywgb3B0c19sZWZ0OworCXN0YXRpYyBzdHJ1Y3QgbG9ja19maWxlIGxvY2tfZmlsZTsKKwlpbnQgZm9yY2VfYXBwbHkgPSAwOworCWludCBvcHRpb25zID0gMDsKIAotCWNwLmdpdF9jbWQgPSAxOworCWlmIChpbml0X2FwcGx5X3N0YXRlKCZhcHBseV9zdGF0ZSwgTlVMTCwgJmxvY2tfZmlsZSkpCisJCWRpZSgiQlVHOiBpbml0X2FwcGx5X3N0YXRlKCkgZmFpbGVkIik7CiAKLQlpZiAoaW5kZXhfZmlsZSkKLQkJYXJndl9hcnJheV9wdXNoZigmY3AuZW52X2FycmF5LCAiR0lUX0lOREVYX0ZJTEU9JXMiLCBpbmRleF9maWxlKTsKKwlhcmd2X2FycmF5X3B1c2goJmFwcGx5X29wdHMsICJhcHBseSIpOworCWFyZ3ZfYXJyYXlfcHVzaHYoJmFwcGx5X29wdHMsIHN0YXRlLT5naXRfYXBwbHlfb3B0cy5hcmd2KTsKKworCW9wdHNfbGVmdCA9IGFwcGx5X3BhcnNlX29wdGlvbnMoYXBwbHlfb3B0cy5hcmdjLCBhcHBseV9vcHRzLmFyZ3YsCisJCQkJCSZhcHBseV9zdGF0ZSwgJmZvcmNlX2FwcGx5LCAmb3B0aW9ucywKKwkJCQkJTlVMTCk7CisKKwlpZiAob3B0c19sZWZ0ICE9IDApCisJCWRpZSgidW5rbm93biBvcHRpb24gcGFzc2VkIHRocm91Z2ggdG8gZ2l0IGFwcGx5Iik7CisKKwlpZiAoaW5kZXhfZmlsZSkgeworCQlhcHBseV9zdGF0ZS5pbmRleF9maWxlID0gaW5kZXhfZmlsZTsKKwkJYXBwbHlfc3RhdGUuY2FjaGVkID0gMTsKKwl9IGVsc2UKKwkJYXBwbHlfc3RhdGUuY2hlY2tfaW5kZXggPSAxOwogCiAJLyoKIAkgKiBJZiB3ZSBhcmUgYWxsb3dlZCB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UsIGRvbid0IGdpdmUgZmFsc2UKIAkgKiBlcnJvcnMgZHVyaW5nIHRoZSBpbml0aWFsIGF0dGVtcHQuCiAJICovCi0JaWYgKHN0YXRlLT50aHJlZXdheSAmJiAhaW5kZXhfZmlsZSkgewotCQljcC5ub19zdGRvdXQgPSAxOwotCQljcC5ub19zdGRlcnIgPSAxOworCWlmIChzdGF0ZS0+dGhyZWV3YXkgJiYgIWluZGV4X2ZpbGUpCisJCWFwcGx5X3N0YXRlLmFwcGx5X3ZlcmJvc2l0eSA9IHZlcmJvc2l0eV9zaWxlbnQ7CisKKwlpZiAoY2hlY2tfYXBwbHlfc3RhdGUoJmFwcGx5X3N0YXRlLCBmb3JjZV9hcHBseSkpCisJCWRpZSgiQlVHOiBjaGVja19hcHBseV9zdGF0ZSgpIGZhaWxlZCIpOworCisJYXJndl9hcnJheV9wdXNoKCZhcHBseV9wYXRocywgYW1fcGF0aChzdGF0ZSwgInBhdGNoIikpOworCisJcmVzID0gYXBwbHlfYWxsX3BhdGNoZXMoJmFwcGx5X3N0YXRlLCBhcHBseV9wYXRocy5hcmdjLCBhcHBseV9wYXRocy5hcmd2LCBvcHRpb25zKTsKKworCWFyZ3ZfYXJyYXlfY2xlYXIoJmFwcGx5X3BhdGhzKTsKKwlhcmd2X2FycmF5X2NsZWFyKCZhcHBseV9vcHRzKTsKKwljbGVhcl9hcHBseV9zdGF0ZSgmYXBwbHlfc3RhdGUpOworCisJaWYgKHJlcykKKwkJcmV0dXJuIHJlczsKKworCWlmIChpbmRleF9maWxlKSB7CisJCS8qIFJlbG9hZCBpbmRleCBhcyBhcHBseV9hbGxfcGF0Y2hlcygpIHdpbGwgaGF2ZSBtb2RpZmllZCBpdC4gKi8KKwkJZGlzY2FyZF9jYWNoZSgpOworCQlyZWFkX2NhY2hlX2Zyb20oaW5kZXhfZmlsZSk7CiAJfQogCi0JYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCAiYXBwbHkiKTsKLQotCWFyZ3ZfYXJyYXlfcHVzaHYoJmNwLmFyZ3MsIHN0YXRlLT5naXRfYXBwbHlfb3B0cy5hcmd2KTsKLQotCWlmIChpbmRleF9maWxlKQotCQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsICItLWNhY2hlZCIpOwotCWVsc2UKLQkJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCAiLS1pbmRleCIpOwotCi0JYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCBhbV9wYXRoKHN0YXRlLCAicGF0Y2giKSk7Ci0KLQlpZiAocnVuX2NvbW1hbmQoJmNwKSkKLQkJcmV0dXJuIC0xOwotCi0JLyogUmVsb2FkIGluZGV4IGFzIGdpdC1hcHBseSB3aWxsIGhhdmUgbW9kaWZpZWQgaXQuICovCi0JZGlzY2FyZF9jYWNoZSgpOwotCXJlYWRfY2FjaGVfZnJvbShpbmRleF9maWxlID8gaW5kZXhfZmlsZSA6IGdldF9pbmRleF9maWxlKCkpOwotCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE1NzgsNDcgKzE1ODcsMTggQEAKIH0KIAogLyoqCi0gKiBEbyB0aGUgdGhyZWUtd2F5IG1lcmdlIHVzaW5nIGZha2UgYW5jZXN0b3IsIGhpcyB0cmVlIGNvbnN0cnVjdGVkCi0gKiBmcm9tIHRoZSBmYWtlIGFuY2VzdG9yIGFuZCB0aGUgcG9zdGltYWdlIG9mIHRoZSBwYXRjaCwgYW5kIG91cgotICogc3RhdGUuCi0gKi8KLXN0YXRpYyBpbnQgcnVuX2ZhbGxiYWNrX21lcmdlX3JlY3Vyc2l2ZShjb25zdCBzdHJ1Y3QgYW1fc3RhdGUgKnN0YXRlLAotCQkJCQl1bnNpZ25lZCBjaGFyICpvcmlnX3RyZWUsCi0JCQkJCXVuc2lnbmVkIGNoYXIgKm91cl90cmVlLAotCQkJCQl1bnNpZ25lZCBjaGFyICpoaXNfdHJlZSkKLXsKLQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKLQlpbnQgc3RhdHVzOwotCi0JY3AuZ2l0X2NtZCA9IDE7Ci0KLQlhcmd2X2FycmF5X3B1c2hmKCZjcC5lbnZfYXJyYXksICJHSVRIRUFEXyVzPSUuKnMiLAotCQkJIHNoYTFfdG9faGV4KGhpc190cmVlKSwgbGluZWxlbihzdGF0ZS0+bXNnKSwgc3RhdGUtPm1zZyk7Ci0JaWYgKHN0YXRlLT5xdWlldCkKLQkJYXJndl9hcnJheV9wdXNoKCZjcC5lbnZfYXJyYXksICJHSVRfTUVSR0VfVkVSQk9TSVRZPTAiKTsKLQotCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgIm1lcmdlLXJlY3Vyc2l2ZSIpOwotCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgc2hhMV90b19oZXgob3JpZ190cmVlKSk7Ci0JYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCAiLS0iKTsKLQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsIHNoYTFfdG9faGV4KG91cl90cmVlKSk7Ci0JYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCBzaGExX3RvX2hleChoaXNfdHJlZSkpOwotCi0Jc3RhdHVzID0gcnVuX2NvbW1hbmQoJmNwKSA/ICgtMSkgOiAwOwotCWRpc2NhcmRfY2FjaGUoKTsKLQlyZWFkX2NhY2hlKCk7Ci0JcmV0dXJuIHN0YXR1czsKLX0KLQotLyoqCiAgKiBBdHRlbXB0IGEgdGhyZWV3YXkgbWVyZ2UsIHVzaW5nIGluZGV4X3BhdGggYXMgdGhlIHRlbXBvcmFyeSBpbmRleC4KICAqLwogc3RhdGljIGludCBmYWxsX2JhY2tfdGhyZWV3YXkoY29uc3Qgc3RydWN0IGFtX3N0YXRlICpzdGF0ZSwgY29uc3QgY2hhciAqaW5kZXhfcGF0aCkKIHsKLQl1bnNpZ25lZCBjaGFyIG9yaWdfdHJlZVtHSVRfU0hBMV9SQVdTWl0sIGhpc190cmVlW0dJVF9TSEExX1JBV1NaXSwKLQkJICAgICAgb3VyX3RyZWVbR0lUX1NIQTFfUkFXU1pdOworCXN0cnVjdCBvYmplY3RfaWQgb3JpZ190cmVlLCB0aGVpcl90cmVlLCBvdXJfdHJlZTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpiYXNlc1sxXSA9IHsgJm9yaWdfdHJlZSB9OworCXN0cnVjdCBtZXJnZV9vcHRpb25zIG87CisJc3RydWN0IGNvbW1pdCAqcmVzdWx0OworCWNoYXIgKnRoZWlyX3RyZWVfbmFtZTsKIAotCWlmIChnZXRfc2hhMSgiSEVBRCIsIG91cl90cmVlKSA8IDApCi0JCWhhc2hjcHkob3VyX3RyZWUsIEVNUFRZX1RSRUVfU0hBMV9CSU4pOworCWlmIChnZXRfb2lkKCJIRUFEIiwgJm91cl90cmVlKSA8IDApCisJCWhhc2hjcHkob3VyX3RyZWUuaGFzaCwgRU1QVFlfVFJFRV9TSEExX0JJTik7CiAKIAlpZiAoYnVpbGRfZmFrZV9hbmNlc3RvcihzdGF0ZSwgaW5kZXhfcGF0aCkpCiAJCXJldHVybiBlcnJvcigiY291bGQgbm90IGJ1aWxkIGZha2UgYW5jZXN0b3IiKTsKQEAgLTE2MjYsNyArMTYwNiw3IEBACiAJZGlzY2FyZF9jYWNoZSgpOwogCXJlYWRfY2FjaGVfZnJvbShpbmRleF9wYXRoKTsKIAotCWlmICh3cml0ZV9pbmRleF9hc190cmVlKG9yaWdfdHJlZSwgJnRoZV9pbmRleCwgaW5kZXhfcGF0aCwgMCwgTlVMTCkpCisJaWYgKHdyaXRlX2luZGV4X2FzX3RyZWUob3JpZ190cmVlLmhhc2gsICZ0aGVfaW5kZXgsIGluZGV4X3BhdGgsIDAsIE5VTEwpKQogCQlyZXR1cm4gZXJyb3IoXygiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIpKTsKIAogCXNheShzdGF0ZSwgc3Rkb3V0LCBfKCJVc2luZyBpbmRleCBpbmZvIHRvIHJlY29uc3RydWN0IGEgYmFzZSB0cmVlLi4uIikpOwpAQCAtMTY0Miw3ICsxNjIyLDcgQEAKIAkJaW5pdF9yZXZpc2lvbnMoJnJldl9pbmZvLCBOVUxMKTsKIAkJcmV2X2luZm8uZGlmZm9wdC5vdXRwdXRfZm9ybWF0ID0gRElGRl9GT1JNQVRfTkFNRV9TVEFUVVM7CiAJCWRpZmZfb3B0X3BhcnNlKCZyZXZfaW5mby5kaWZmb3B0LCAmZGlmZl9maWx0ZXJfc3RyLCAxLCByZXZfaW5mby5wcmVmaXgpOwotCQlhZGRfcGVuZGluZ19zaGExKCZyZXZfaW5mbywgIkhFQUQiLCBvdXJfdHJlZSwgMCk7CisJCWFkZF9wZW5kaW5nX3NoYTEoJnJldl9pbmZvLCAiSEVBRCIsIG91cl90cmVlLmhhc2gsIDApOwogCQlkaWZmX3NldHVwX2RvbmUoJnJldl9pbmZvLmRpZmZvcHQpOwogCQlydW5fZGlmZl9pbmRleCgmcmV2X2luZm8sIDEpOwogCX0KQEAgLTE2NTEsNyArMTYzMSw3IEBACiAJCXJldHVybiBlcnJvcihfKCJEaWQgeW91IGhhbmQgZWRpdCB5b3VyIHBhdGNoP1xuIgogCQkJCSJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIikpOwogCi0JaWYgKHdyaXRlX2luZGV4X2FzX3RyZWUoaGlzX3RyZWUsICZ0aGVfaW5kZXgsIGluZGV4X3BhdGgsIDAsIE5VTEwpKQorCWlmICh3cml0ZV9pbmRleF9hc190cmVlKHRoZWlyX3RyZWUuaGFzaCwgJnRoZV9pbmRleCwgaW5kZXhfcGF0aCwgMCwgTlVMTCkpCiAJCXJldHVybiBlcnJvcigiY291bGQgbm90IHdyaXRlIHRyZWUiKTsKIAogCXNheShzdGF0ZSwgc3Rkb3V0LCBfKCJGYWxsaW5nIGJhY2sgdG8gcGF0Y2hpbmcgYmFzZSBhbmQgMy13YXkgbWVyZ2UuLi4iKSk7CkBAIC0xNjYxLDE3ICsxNjQxLDI4IEBACiAKIAkvKgogCSAqIFRoaXMgaXMgbm90IHNvIHdyb25nLiBEZXBlbmRpbmcgb24gd2hpY2ggYmFzZSB3ZSBwaWNrZWQsIG9yaWdfdHJlZQotCSAqIG1heSBiZSB3aWxkbHkgZGlmZmVyZW50IGZyb20gb3VycywgYnV0IGhpc190cmVlIGhhcyB0aGUgc2FtZSBzZXQgb2YKKwkgKiBtYXkgYmUgd2lsZGx5IGRpZmZlcmVudCBmcm9tIG91cnMsIGJ1dCB0aGVpcl90cmVlIGhhcyB0aGUgc2FtZSBzZXQgb2YKIAkgKiB3aWxkbHkgZGlmZmVyZW50IGNoYW5nZXMgaW4gcGFydHMgdGhlIHBhdGNoIGRpZCBub3QgdG91Y2gsIHNvCiAJICogcmVjdXJzaXZlIGVuZHMgdXAgY2FuY2VsaW5nIHRoZW0sIHNheWluZyB0aGF0IHdlIHJldmVydGVkIGFsbCB0aG9zZQogCSAqIGNoYW5nZXMuCiAJICovCiAKLQlpZiAocnVuX2ZhbGxiYWNrX21lcmdlX3JlY3Vyc2l2ZShzdGF0ZSwgb3JpZ190cmVlLCBvdXJfdHJlZSwgaGlzX3RyZWUpKSB7CisJaW5pdF9tZXJnZV9vcHRpb25zKCZvKTsKKworCW8uYnJhbmNoMSA9ICJIRUFEIjsKKwl0aGVpcl90cmVlX25hbWUgPSB4c3RyZm10KCIlLipzIiwgbGluZWxlbihzdGF0ZS0+bXNnKSwgc3RhdGUtPm1zZyk7CisJby5icmFuY2gyID0gdGhlaXJfdHJlZV9uYW1lOworCisJaWYgKHN0YXRlLT5xdWlldCkKKwkJby52ZXJib3NpdHkgPSAwOworCisJaWYgKG1lcmdlX3JlY3Vyc2l2ZV9nZW5lcmljKCZvLCAmb3VyX3RyZWUsICZ0aGVpcl90cmVlLCAxLCBiYXNlcywgJnJlc3VsdCkpIHsKIAkJcmVyZXJlKHN0YXRlLT5hbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSk7CisJCWZyZWUodGhlaXJfdHJlZV9uYW1lKTsKIAkJcmV0dXJuIGVycm9yKF8oIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iKSk7CiAJfQogCisJZnJlZSh0aGVpcl90cmVlX25hbWUpOwogCXJldHVybiAwOwogfQogCkBAIC0xNjgyLDkgKzE2NzMsOCBAQAogICovCiBzdGF0aWMgdm9pZCBkb19jb21taXQoY29uc3Qgc3RydWN0IGFtX3N0YXRlICpzdGF0ZSkKIHsKLQl1bnNpZ25lZCBjaGFyIHRyZWVbR0lUX1NIQTFfUkFXU1pdLCBwYXJlbnRbR0lUX1NIQTFfUkFXU1pdLAotCQkgICAgICBjb21taXRbR0lUX1NIQTFfUkFXU1pdOwotCXVuc2lnbmVkIGNoYXIgKnB0cjsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIHRyZWUsIHBhcmVudCwgY29tbWl0OworCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9sZF9vaWQ7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzID0gTlVMTDsKIAljb25zdCBjaGFyICpyZWZsb2dfbXNnLCAqYXV0aG9yOwogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKQEAgLTE2OTIsMTQgKzE2ODIsMTQgQEAKIAlpZiAocnVuX2hvb2tfbGUoTlVMTCwgInByZS1hcHBseXBhdGNoIiwgTlVMTCkpCiAJCWV4aXQoMSk7CiAKLQlpZiAod3JpdGVfY2FjaGVfYXNfdHJlZSh0cmVlLCAwLCBOVUxMKSkKKwlpZiAod3JpdGVfY2FjaGVfYXNfdHJlZSh0cmVlLmhhc2gsIDAsIE5VTEwpKQogCQlkaWUoXygiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIpKTsKIAotCWlmICghZ2V0X3NoYTFfY29tbWl0KCJIRUFEIiwgcGFyZW50KSkgewotCQlwdHIgPSBwYXJlbnQ7Ci0JCWNvbW1pdF9saXN0X2luc2VydChsb29rdXBfY29tbWl0KHBhcmVudCksICZwYXJlbnRzKTsKKwlpZiAoIWdldF9zaGExX2NvbW1pdCgiSEVBRCIsIHBhcmVudC5oYXNoKSkgeworCQlvbGRfb2lkID0gJnBhcmVudDsKKwkJY29tbWl0X2xpc3RfaW5zZXJ0KGxvb2t1cF9jb21taXQocGFyZW50Lmhhc2gpLCAmcGFyZW50cyk7CiAJfSBlbHNlIHsKLQkJcHRyID0gTlVMTDsKKwkJb2xkX29pZCA9IE5VTEw7CiAJCXNheShzdGF0ZSwgc3RkZXJyLCBfKCJhcHBseWluZyB0byBhbiBlbXB0eSBoaXN0b3J5IikpOwogCX0KIApAQCAtMTcxMSw3ICsxNzAxLDcgQEAKIAkJc2V0ZW52KCJHSVRfQ09NTUlUVEVSX0RBVEUiLAogCQkJc3RhdGUtPmlnbm9yZV9kYXRlID8gIiIgOiBzdGF0ZS0+YXV0aG9yX2RhdGUsIDEpOwogCi0JaWYgKGNvbW1pdF90cmVlKHN0YXRlLT5tc2csIHN0YXRlLT5tc2dfbGVuLCB0cmVlLCBwYXJlbnRzLCBjb21taXQsCisJaWYgKGNvbW1pdF90cmVlKHN0YXRlLT5tc2csIHN0YXRlLT5tc2dfbGVuLCB0cmVlLmhhc2gsIHBhcmVudHMsIGNvbW1pdC5oYXNoLAogCQkJCWF1dGhvciwgc3RhdGUtPnNpZ25fY29tbWl0KSkKIAkJZGllKF8oImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IikpOwogCkBAIC0xNzIyLDE0ICsxNzEyLDE1IEBACiAJc3RyYnVmX2FkZGYoJnNiLCAiJXM6ICUuKnMiLCByZWZsb2dfbXNnLCBsaW5lbGVuKHN0YXRlLT5tc2cpLAogCQkJc3RhdGUtPm1zZyk7CiAKLQl1cGRhdGVfcmVmKHNiLmJ1ZiwgIkhFQUQiLCBjb21taXQsIHB0ciwgMCwgVVBEQVRFX1JFRlNfRElFX09OX0VSUik7CisJdXBkYXRlX3JlZl9vaWQoc2IuYnVmLCAiSEVBRCIsICZjb21taXQsIG9sZF9vaWQsIDAsCisJCQlVUERBVEVfUkVGU19ESUVfT05fRVJSKTsKIAogCWlmIChzdGF0ZS0+cmViYXNpbmcpIHsKIAkJRklMRSAqZnAgPSB4Zm9wZW4oYW1fcGF0aChzdGF0ZSwgInJld3JpdHRlbiIpLCAiYSIpOwogCi0JCWFzc2VydCghaXNfbnVsbF9zaGExKHN0YXRlLT5vcmlnX2NvbW1pdCkpOwotCQlmcHJpbnRmKGZwLCAiJXMgIiwgc2hhMV90b19oZXgoc3RhdGUtPm9yaWdfY29tbWl0KSk7Ci0JCWZwcmludGYoZnAsICIlc1xuIiwgc2hhMV90b19oZXgoY29tbWl0KSk7CisJCWFzc2VydCghaXNfbnVsbF9vaWQoJnN0YXRlLT5vcmlnX2NvbW1pdCkpOworCQlmcHJpbnRmKGZwLCAiJXMgIiwgb2lkX3RvX2hleCgmc3RhdGUtPm9yaWdfY29tbWl0KSk7CisJCWZwcmludGYoZnAsICIlc1xuIiwgb2lkX3RvX2hleCgmY29tbWl0KSk7CiAJCWZjbG9zZShmcCk7CiAJfQogCkBAIC0xODM5LDYgKzE4MzAsOCBAQAogCQljb25zdCBjaGFyICptYWlsID0gYW1fcGF0aChzdGF0ZSwgbXNnbnVtKHN0YXRlKSk7CiAJCWludCBhcHBseV9zdGF0dXM7CiAKKwkJcmVzZXRfaWRlbnRfZGF0ZSgpOworCiAJCWlmICghZmlsZV9leGlzdHMobWFpbCkpCiAJCQlnb3RvIG5leHQ7CiAKQEAgLTIwNDgsMzAgKzIwNDEsMzAgQEAKICAqIENsZWFuIHRoZSBpbmRleCB3aXRob3V0IHRvdWNoaW5nIGVudHJpZXMgdGhhdCBhcmUgbm90IG1vZGlmaWVkIGJldHdlZW4KICAqIGBoZWFkYCBhbmQgYHJlbW90ZWAuCiAgKi8KLXN0YXRpYyBpbnQgY2xlYW5faW5kZXgoY29uc3QgdW5zaWduZWQgY2hhciAqaGVhZCwgY29uc3QgdW5zaWduZWQgY2hhciAqcmVtb3RlKQorc3RhdGljIGludCBjbGVhbl9pbmRleChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpoZWFkLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpyZW1vdGUpCiB7CiAJc3RydWN0IHRyZWUgKmhlYWRfdHJlZSwgKnJlbW90ZV90cmVlLCAqaW5kZXhfdHJlZTsKLQl1bnNpZ25lZCBjaGFyIGluZGV4W0dJVF9TSEExX1JBV1NaXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIGluZGV4OwogCi0JaGVhZF90cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdChoZWFkKTsKKwloZWFkX3RyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KGhlYWQtPmhhc2gpOwogCWlmICghaGVhZF90cmVlKQotCQlyZXR1cm4gZXJyb3IoXygiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIpLCBzaGExX3RvX2hleChoZWFkKSk7CisJCXJldHVybiBlcnJvcihfKCJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIiksIG9pZF90b19oZXgoaGVhZCkpOwogCi0JcmVtb3RlX3RyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KHJlbW90ZSk7CisJcmVtb3RlX3RyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KHJlbW90ZS0+aGFzaCk7CiAJaWYgKCFyZW1vdGVfdHJlZSkKLQkJcmV0dXJuIGVycm9yKF8oIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iKSwgc2hhMV90b19oZXgocmVtb3RlKSk7CisJCXJldHVybiBlcnJvcihfKCJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIiksIG9pZF90b19oZXgocmVtb3RlKSk7CiAKIAlyZWFkX2NhY2hlX3VubWVyZ2VkKCk7CiAKIAlpZiAoZmFzdF9mb3J3YXJkX3RvKGhlYWRfdHJlZSwgaGVhZF90cmVlLCAxKSkKIAkJcmV0dXJuIC0xOwogCi0JaWYgKHdyaXRlX2NhY2hlX2FzX3RyZWUoaW5kZXgsIDAsIE5VTEwpKQorCWlmICh3cml0ZV9jYWNoZV9hc190cmVlKGluZGV4Lmhhc2gsIDAsIE5VTEwpKQogCQlyZXR1cm4gLTE7CiAKLQlpbmRleF90cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdChpbmRleCk7CisJaW5kZXhfdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3QoaW5kZXguaGFzaCk7CiAJaWYgKCFpbmRleF90cmVlKQotCQlyZXR1cm4gZXJyb3IoXygiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIpLCBzaGExX3RvX2hleChpbmRleCkpOworCQlyZXR1cm4gZXJyb3IoXygiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIpLCBvaWRfdG9faGV4KCZpbmRleCkpOwogCiAJaWYgKGZhc3RfZm9yd2FyZF90byhpbmRleF90cmVlLCByZW1vdGVfdHJlZSwgMCkpCiAJCXJldHVybiAtMTsKQEAgLTIwOTksMTQgKzIwOTIsMTQgQEAKICAqLwogc3RhdGljIHZvaWQgYW1fc2tpcChzdHJ1Y3QgYW1fc3RhdGUgKnN0YXRlKQogewotCXVuc2lnbmVkIGNoYXIgaGVhZFtHSVRfU0hBMV9SQVdTWl07CisJc3RydWN0IG9iamVjdF9pZCBoZWFkOwogCiAJYW1fcmVyZXJlX2NsZWFyKCk7CiAKLQlpZiAoZ2V0X3NoYTEoIkhFQUQiLCBoZWFkKSkKLQkJaGFzaGNweShoZWFkLCBFTVBUWV9UUkVFX1NIQTFfQklOKTsKKwlpZiAoZ2V0X29pZCgiSEVBRCIsICZoZWFkKSkKKwkJaGFzaGNweShoZWFkLmhhc2gsIEVNUFRZX1RSRUVfU0hBMV9CSU4pOwogCi0JaWYgKGNsZWFuX2luZGV4KGhlYWQsIGhlYWQpKQorCWlmIChjbGVhbl9pbmRleCgmaGVhZCwgJmhlYWQpKQogCQlkaWUoXygiZmFpbGVkIHRvIGNsZWFuIGluZGV4IikpOwogCiAJYW1fbmV4dChzdGF0ZSk7CkBAIC0yMTI0LDIxICsyMTE3LDIxIEBACiBzdGF0aWMgaW50IHNhZmVfdG9fYWJvcnQoY29uc3Qgc3RydWN0IGFtX3N0YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7Ci0JdW5zaWduZWQgY2hhciBhYm9ydF9zYWZldHlbR0lUX1NIQTFfUkFXU1pdLCBoZWFkW0dJVF9TSEExX1JBV1NaXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIGFib3J0X3NhZmV0eSwgaGVhZDsKIAogCWlmIChmaWxlX2V4aXN0cyhhbV9wYXRoKHN0YXRlLCAiZGlydHlpbmRleCIpKSkKIAkJcmV0dXJuIDA7CiAKIAlpZiAocmVhZF9zdGF0ZV9maWxlKCZzYiwgc3RhdGUsICJhYm9ydC1zYWZldHkiLCAxKSA+IDApIHsKLQkJaWYgKGdldF9zaGExX2hleChzYi5idWYsIGFib3J0X3NhZmV0eSkpCisJCWlmIChnZXRfb2lkX2hleChzYi5idWYsICZhYm9ydF9zYWZldHkpKQogCQkJZGllKF8oImNvdWxkIG5vdCBwYXJzZSAlcyIpLCBhbV9wYXRoKHN0YXRlLCAiYWJvcnRfc2FmZXR5IikpOwogCX0gZWxzZQotCQloYXNoY2xyKGFib3J0X3NhZmV0eSk7CisJCW9pZGNscigmYWJvcnRfc2FmZXR5KTsKIAotCWlmIChnZXRfc2hhMSgiSEVBRCIsIGhlYWQpKQotCQloYXNoY2xyKGhlYWQpOworCWlmIChnZXRfb2lkKCJIRUFEIiwgJmhlYWQpKQorCQlvaWRjbHIoJmhlYWQpOwogCi0JaWYgKCFoYXNoY21wKGhlYWQsIGFib3J0X3NhZmV0eSkpCisJaWYgKCFvaWRjbXAoJmhlYWQsICZhYm9ydF9zYWZldHkpKQogCQlyZXR1cm4gMTsKIAogCWVycm9yKF8oIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRCBzaW5jZSB0aGUgbGFzdCAnYW0nIGZhaWx1cmUuXG4iCkBAIC0yMTUyLDcgKzIxNDUsNyBAQAogICovCiBzdGF0aWMgdm9pZCBhbV9hYm9ydChzdHJ1Y3QgYW1fc3RhdGUgKnN0YXRlKQogewotCXVuc2lnbmVkIGNoYXIgY3Vycl9oZWFkW0dJVF9TSEExX1JBV1NaXSwgb3JpZ19oZWFkW0dJVF9TSEExX1JBV1NaXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIGN1cnJfaGVhZCwgb3JpZ19oZWFkOwogCWludCBoYXNfY3Vycl9oZWFkLCBoYXNfb3JpZ19oZWFkOwogCWNoYXIgKmN1cnJfYnJhbmNoOwogCkBAIC0yMTYzLDIwICsyMTU2LDIwIEBACiAKIAlhbV9yZXJlcmVfY2xlYXIoKTsKIAotCWN1cnJfYnJhbmNoID0gcmVzb2x2ZV9yZWZkdXAoIkhFQUQiLCAwLCBjdXJyX2hlYWQsIE5VTEwpOwotCWhhc19jdXJyX2hlYWQgPSAhaXNfbnVsbF9zaGExKGN1cnJfaGVhZCk7CisJY3Vycl9icmFuY2ggPSByZXNvbHZlX3JlZmR1cCgiSEVBRCIsIDAsIGN1cnJfaGVhZC5oYXNoLCBOVUxMKTsKKwloYXNfY3Vycl9oZWFkID0gIWlzX251bGxfb2lkKCZjdXJyX2hlYWQpOwogCWlmICghaGFzX2N1cnJfaGVhZCkKLQkJaGFzaGNweShjdXJyX2hlYWQsIEVNUFRZX1RSRUVfU0hBMV9CSU4pOworCQloYXNoY3B5KGN1cnJfaGVhZC5oYXNoLCBFTVBUWV9UUkVFX1NIQTFfQklOKTsKIAotCWhhc19vcmlnX2hlYWQgPSAhZ2V0X3NoYTEoIk9SSUdfSEVBRCIsIG9yaWdfaGVhZCk7CisJaGFzX29yaWdfaGVhZCA9ICFnZXRfb2lkKCJPUklHX0hFQUQiLCAmb3JpZ19oZWFkKTsKIAlpZiAoIWhhc19vcmlnX2hlYWQpCi0JCWhhc2hjcHkob3JpZ19oZWFkLCBFTVBUWV9UUkVFX1NIQTFfQklOKTsKKwkJaGFzaGNweShvcmlnX2hlYWQuaGFzaCwgRU1QVFlfVFJFRV9TSEExX0JJTik7CiAKLQljbGVhbl9pbmRleChjdXJyX2hlYWQsIG9yaWdfaGVhZCk7CisJY2xlYW5faW5kZXgoJmN1cnJfaGVhZCwgJm9yaWdfaGVhZCk7CiAKIAlpZiAoaGFzX29yaWdfaGVhZCkKLQkJdXBkYXRlX3JlZigiYW0gLS1hYm9ydCIsICJIRUFEIiwgb3JpZ19oZWFkLAotCQkJCWhhc19jdXJyX2hlYWQgPyBjdXJyX2hlYWQgOiBOVUxMLCAwLAorCQl1cGRhdGVfcmVmX29pZCgiYW0gLS1hYm9ydCIsICJIRUFEIiwgJm9yaWdfaGVhZCwKKwkJCQloYXNfY3Vycl9oZWFkID8gJmN1cnJfaGVhZCA6IE5VTEwsIDAsCiAJCQkJVVBEQVRFX1JFRlNfRElFX09OX0VSUik7CiAJZWxzZSBpZiAoY3Vycl9icmFuY2gpCiAJCWRlbGV0ZV9yZWYoY3Vycl9icmFuY2gsIE5VTEwsIFJFRl9OT0RFUkVGKTsKQEAgLTIyMDEsNiArMjE5NCw4IEBACiAJCSpvcHRfdmFsdWUgPSBQQVRDSF9GT1JNQVRfU1RHSVRfU0VSSUVTOwogCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiaGciKSkKIAkJKm9wdF92YWx1ZSA9IFBBVENIX0ZPUk1BVF9IRzsKKwllbHNlIGlmICghc3RyY21wKGFyZywgIm1ib3hyZCIpKQorCQkqb3B0X3ZhbHVlID0gUEFUQ0hfRk9STUFUX01CT1hSRDsKIAllbHNlCiAJCXJldHVybiBlcnJvcihfKCJJbnZhbGlkIHZhbHVlIGZvciAtLXBhdGNoLWZvcm1hdDogJXMiKSwgYXJnKTsKIAlyZXR1cm4gMDsKQEAgLTIyMzUsNyArMjIzMCw3IEBACiAJaW50IGluX3Byb2dyZXNzOwogCiAJY29uc3QgY2hhciAqIGNvbnN0IHVzYWdlW10gPSB7Ci0JCU5fKCJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD58PE1haWxkaXI+KS4uLl0iKSwKKwkJTl8oImdpdCBhbSBbPG9wdGlvbnM+XSBbKDxtYm94PiB8IDxNYWlsZGlyPikuLi5dIiksCiAJCU5fKCJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIpLAogCQlOVUxMCiAJfTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vYXBwbHkuYyBiL2J1aWx0aW4vYXBwbHkuYwppbmRleCBjNzcwZDdkLi44MWI5YTYxIDEwMDY0NAotLS0gYS9idWlsdGluL2FwcGx5LmMKKysrIGIvYnVpbHRpbi9hcHBseS5jCkBAIC0xLDQ2NjUgKzEsMzYgQEAKLS8qCi0gKiBhcHBseS5jCi0gKgotICogQ29weXJpZ2h0IChDKSBMaW51cyBUb3J2YWxkcywgMjAwNQotICoKLSAqIFRoaXMgYXBwbGllcyBwYXRjaGVzIG9uIHRvcCBvZiBzb21lIChhcmJpdHJhcnkpIHZlcnNpb24gb2YgdGhlIFNDTS4KLSAqCi0gKi8KICNpbmNsdWRlICJjYWNoZS5oIgotI2luY2x1ZGUgImxvY2tmaWxlLmgiCi0jaW5jbHVkZSAiY2FjaGUtdHJlZS5oIgotI2luY2x1ZGUgInF1b3RlLmgiCi0jaW5jbHVkZSAiYmxvYi5oIgotI2luY2x1ZGUgImRlbHRhLmgiCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgotI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCi0jaW5jbHVkZSAiZGlyLmgiCi0jaW5jbHVkZSAiZGlmZi5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKLSNpbmNsdWRlICJ4ZGlmZi1pbnRlcmZhY2UuaCIKLSNpbmNsdWRlICJsbC1tZXJnZS5oIgotI2luY2x1ZGUgInJlcmVyZS5oIgorI2luY2x1ZGUgImxvY2tmaWxlLmgiCisjaW5jbHVkZSAiYXBwbHkuaCIKIAotLyoKLSAqICAtLWNoZWNrIHR1cm5zIG9uIGNoZWNraW5nIHRoYXQgdGhlIHdvcmtpbmcgdHJlZSBtYXRjaGVzIHRoZQotICogICAgZmlsZXMgdGhhdCBhcmUgYmVpbmcgbW9kaWZpZWQsIGJ1dCBkb2Vzbid0IGFwcGx5IHRoZSBwYXRjaAotICogIC0tc3RhdCBkb2VzIGp1c3QgYSBkaWZmc3RhdCwgYW5kIGRvZXNuJ3QgYWN0dWFsbHkgYXBwbHkKLSAqICAtLW51bXN0YXQgZG9lcyBudW1lcmljIGRpZmZzdGF0LCBhbmQgZG9lc24ndCBhY3R1YWxseSBhcHBseQotICogIC0taW5kZXgtaW5mbyBzaG93cyB0aGUgb2xkIGFuZCBuZXcgaW5kZXggaW5mbyBmb3IgcGF0aHMgaWYgYXZhaWxhYmxlLgotICogIC0taW5kZXggdXBkYXRlcyB0aGUgY2FjaGUgYXMgd2VsbC4KLSAqICAtLWNhY2hlZCB1cGRhdGVzIG9ubHkgdGhlIGNhY2hlIHdpdGhvdXQgZXZlciB0b3VjaGluZyB0aGUgd29ya2luZyB0cmVlLgotICovCi1zdGF0aWMgY29uc3QgY2hhciAqcHJlZml4Owotc3RhdGljIGludCBwcmVmaXhfbGVuZ3RoID0gLTE7Ci1zdGF0aWMgaW50IG5ld2ZkID0gLTE7Ci0KLXN0YXRpYyBpbnQgdW5pZGlmZl96ZXJvOwotc3RhdGljIGludCBwX3ZhbHVlID0gMTsKLXN0YXRpYyBpbnQgcF92YWx1ZV9rbm93bjsKLXN0YXRpYyBpbnQgY2hlY2tfaW5kZXg7Ci1zdGF0aWMgaW50IHVwZGF0ZV9pbmRleDsKLXN0YXRpYyBpbnQgY2FjaGVkOwotc3RhdGljIGludCBkaWZmc3RhdDsKLXN0YXRpYyBpbnQgbnVtc3RhdDsKLXN0YXRpYyBpbnQgc3VtbWFyeTsKLXN0YXRpYyBpbnQgY2hlY2s7Ci1zdGF0aWMgaW50IGFwcGx5ID0gMTsKLXN0YXRpYyBpbnQgYXBwbHlfaW5fcmV2ZXJzZTsKLXN0YXRpYyBpbnQgYXBwbHlfd2l0aF9yZWplY3Q7Ci1zdGF0aWMgaW50IGFwcGx5X3ZlcmJvc2VseTsKLXN0YXRpYyBpbnQgYWxsb3dfb3ZlcmxhcDsKLXN0YXRpYyBpbnQgbm9fYWRkOwotc3RhdGljIGludCB0aHJlZXdheTsKLXN0YXRpYyBpbnQgdW5zYWZlX3BhdGhzOwotc3RhdGljIGNvbnN0IGNoYXIgKmZha2VfYW5jZXN0b3I7Ci1zdGF0aWMgaW50IGxpbmVfdGVybWluYXRpb24gPSAnXG4nOwotc3RhdGljIHVuc2lnbmVkIGludCBwX2NvbnRleHQgPSBVSU5UX01BWDsKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXBwbHlfdXNhZ2VbXSA9IHsKIAlOXygiZ2l0IGFwcGx5IFs8b3B0aW9ucz5dIFs8cGF0Y2g+Li4uXSIpLAogCU5VTEwKIH07CiAKLXN0YXRpYyBlbnVtIHdzX2Vycm9yX2FjdGlvbiB7Ci0Jbm93YXJuX3dzX2Vycm9yLAotCXdhcm5fb25fd3NfZXJyb3IsCi0JZGllX29uX3dzX2Vycm9yLAotCWNvcnJlY3Rfd3NfZXJyb3IKLX0gd3NfZXJyb3JfYWN0aW9uID0gd2Fybl9vbl93c19lcnJvcjsKLXN0YXRpYyBpbnQgd2hpdGVzcGFjZV9lcnJvcjsKLXN0YXRpYyBpbnQgc3F1ZWxjaF93aGl0ZXNwYWNlX2Vycm9ycyA9IDU7Ci1zdGF0aWMgaW50IGFwcGxpZWRfYWZ0ZXJfZml4aW5nX3dzOwotCi1zdGF0aWMgZW51bSB3c19pZ25vcmUgewotCWlnbm9yZV93c19ub25lLAotCWlnbm9yZV93c19jaGFuZ2UKLX0gd3NfaWdub3JlX2FjdGlvbiA9IGlnbm9yZV93c19ub25lOwotCi0KLXN0YXRpYyBjb25zdCBjaGFyICpwYXRjaF9pbnB1dF9maWxlOwotc3RhdGljIHN0cnVjdCBzdHJidWYgcm9vdCA9IFNUUkJVRl9JTklUOwotc3RhdGljIGludCByZWFkX3N0ZGluID0gMTsKLXN0YXRpYyBpbnQgb3B0aW9uczsKLQotc3RhdGljIHZvaWQgcGFyc2Vfd2hpdGVzcGFjZV9vcHRpb24oY29uc3QgY2hhciAqb3B0aW9uKQotewotCWlmICghb3B0aW9uKSB7Ci0JCXdzX2Vycm9yX2FjdGlvbiA9IHdhcm5fb25fd3NfZXJyb3I7Ci0JCXJldHVybjsKLQl9Ci0JaWYgKCFzdHJjbXAob3B0aW9uLCAid2FybiIpKSB7Ci0JCXdzX2Vycm9yX2FjdGlvbiA9IHdhcm5fb25fd3NfZXJyb3I7Ci0JCXJldHVybjsKLQl9Ci0JaWYgKCFzdHJjbXAob3B0aW9uLCAibm93YXJuIikpIHsKLQkJd3NfZXJyb3JfYWN0aW9uID0gbm93YXJuX3dzX2Vycm9yOwotCQlyZXR1cm47Ci0JfQotCWlmICghc3RyY21wKG9wdGlvbiwgImVycm9yIikpIHsKLQkJd3NfZXJyb3JfYWN0aW9uID0gZGllX29uX3dzX2Vycm9yOwotCQlyZXR1cm47Ci0JfQotCWlmICghc3RyY21wKG9wdGlvbiwgImVycm9yLWFsbCIpKSB7Ci0JCXdzX2Vycm9yX2FjdGlvbiA9IGRpZV9vbl93c19lcnJvcjsKLQkJc3F1ZWxjaF93aGl0ZXNwYWNlX2Vycm9ycyA9IDA7Ci0JCXJldHVybjsKLQl9Ci0JaWYgKCFzdHJjbXAob3B0aW9uLCAic3RyaXAiKSB8fCAhc3RyY21wKG9wdGlvbiwgImZpeCIpKSB7Ci0JCXdzX2Vycm9yX2FjdGlvbiA9IGNvcnJlY3Rfd3NfZXJyb3I7Ci0JCXJldHVybjsKLQl9Ci0JZGllKF8oInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIiksIG9wdGlvbik7Ci19Ci0KLXN0YXRpYyB2b2lkIHBhcnNlX2lnbm9yZXdoaXRlc3BhY2Vfb3B0aW9uKGNvbnN0IGNoYXIgKm9wdGlvbikKLXsKLQlpZiAoIW9wdGlvbiB8fCAhc3RyY21wKG9wdGlvbiwgIm5vIikgfHwKLQkgICAgIXN0cmNtcChvcHRpb24sICJmYWxzZSIpIHx8ICFzdHJjbXAob3B0aW9uLCAibmV2ZXIiKSB8fAotCSAgICAhc3RyY21wKG9wdGlvbiwgIm5vbmUiKSkgewotCQl3c19pZ25vcmVfYWN0aW9uID0gaWdub3JlX3dzX25vbmU7Ci0JCXJldHVybjsKLQl9Ci0JaWYgKCFzdHJjbXAob3B0aW9uLCAiY2hhbmdlIikpIHsKLQkJd3NfaWdub3JlX2FjdGlvbiA9IGlnbm9yZV93c19jaGFuZ2U7Ci0JCXJldHVybjsKLQl9Ci0JZGllKF8oInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIGlnbm9yZSBvcHRpb24gJyVzJyIpLCBvcHRpb24pOwotfQotCi1zdGF0aWMgdm9pZCBzZXRfZGVmYXVsdF93aGl0ZXNwYWNlX21vZGUoY29uc3QgY2hhciAqd2hpdGVzcGFjZV9vcHRpb24pCi17Ci0JaWYgKCF3aGl0ZXNwYWNlX29wdGlvbiAmJiAhYXBwbHlfZGVmYXVsdF93aGl0ZXNwYWNlKQotCQl3c19lcnJvcl9hY3Rpb24gPSAoYXBwbHkgPyB3YXJuX29uX3dzX2Vycm9yIDogbm93YXJuX3dzX2Vycm9yKTsKLX0KLQotLyoKLSAqIEZvciAiZGlmZi1zdGF0IiBsaWtlIGJlaGF2aW91ciwgd2Uga2VlcCB0cmFjayBvZiB0aGUgYmlnZ2VzdCBjaGFuZ2UKLSAqIHdlJ3ZlIHNlZW4sIGFuZCB0aGUgbG9uZ2VzdCBmaWxlbmFtZS4gVGhhdCBhbGxvd3MgdXMgdG8gZG8gc2ltcGxlCi0gKiBzY2FsaW5nLgotICovCi1zdGF0aWMgaW50IG1heF9jaGFuZ2UsIG1heF9sZW47Ci0KLS8qCi0gKiBWYXJpb3VzICJjdXJyZW50IHN0YXRlIiwgbm90YWJseSBsaW5lIG51bWJlcnMgYW5kIHdoYXQKLSAqIGZpbGUgKGFuZCBob3cpIHdlJ3JlIHBhdGNoaW5nIHJpZ2h0IG5vdy4uIFRoZSAiaXNfeHh4eCIKLSAqIHRoaW5ncyBhcmUgZmxhZ3MsIHdoZXJlIC0xIG1lYW5zICJkb24ndCBrbm93IHlldCIuCi0gKi8KLXN0YXRpYyBpbnQgbGluZW5yID0gMTsKLQotLyoKLSAqIFRoaXMgcmVwcmVzZW50cyBvbmUgImh1bmsiIGZyb20gYSBwYXRjaCwgc3RhcnRpbmcgd2l0aAotICogIkBAIC1vbGRwb3Msb2xkbGluZXMgK25ld3BvcyxuZXdsaW5lcyBAQCIgbWFya2VyLiAgVGhlCi0gKiBwYXRjaCB0ZXh0IGlzIHBvaW50ZWQgYXQgYnkgcGF0Y2gsIGFuZCBpdHMgYnl0ZSBsZW5ndGgKLSAqIGlzIHN0b3JlZCBpbiBzaXplLiAgbGVhZGluZyBhbmQgdHJhaWxpbmcgYXJlIHRoZSBudW1iZXIKLSAqIG9mIGNvbnRleHQgbGluZXMuCi0gKi8KLXN0cnVjdCBmcmFnbWVudCB7Ci0JdW5zaWduZWQgbG9uZyBsZWFkaW5nLCB0cmFpbGluZzsKLQl1bnNpZ25lZCBsb25nIG9sZHBvcywgb2xkbGluZXM7Ci0JdW5zaWduZWQgbG9uZyBuZXdwb3MsIG5ld2xpbmVzOwotCS8qCi0JICogJ3BhdGNoJyBpcyB1c3VhbGx5IGJvcnJvd2VkIGZyb20gYnVmIGluIGFwcGx5X3BhdGNoKCksCi0JICogYnV0IHNvbWUgY29kZXBhdGhzIHN0b3JlIGFuIGFsbG9jYXRlZCBidWZmZXIuCi0JICovCi0JY29uc3QgY2hhciAqcGF0Y2g7Ci0JdW5zaWduZWQgZnJlZV9wYXRjaDoxLAotCQlyZWplY3RlZDoxOwotCWludCBzaXplOwotCWludCBsaW5lbnI7Ci0Jc3RydWN0IGZyYWdtZW50ICpuZXh0OwotfTsKLQotLyoKLSAqIFdoZW4gZGVhbGluZyB3aXRoIGEgYmluYXJ5IHBhdGNoLCB3ZSByZXVzZSAibGVhZGluZyIgZmllbGQKLSAqIHRvIHN0b3JlIHRoZSB0eXBlIG9mIHRoZSBiaW5hcnkgaHVuaywgZWl0aGVyIGRlZmxhdGVkICJkZWx0YSIKLSAqIG9yIGRlZmxhdGVkICJsaXRlcmFsIi4KLSAqLwotI2RlZmluZSBiaW5hcnlfcGF0Y2hfbWV0aG9kIGxlYWRpbmcKLSNkZWZpbmUgQklOQVJZX0RFTFRBX0RFRkxBVEVECTEKLSNkZWZpbmUgQklOQVJZX0xJVEVSQUxfREVGTEFURUQgMgotCi0vKgotICogVGhpcyByZXByZXNlbnRzIGEgInBhdGNoIiB0byBhIGZpbGUsIGJvdGggbWV0YWluZm8gY2hhbmdlcwotICogc3VjaCBhcyBjcmVhdGlvbi9kZWxldGlvbiwgZmlsZW1vZGUgYW5kIGNvbnRlbnQgY2hhbmdlcyByZXByZXNlbnRlZAotICogYXMgYSBzZXJpZXMgb2YgZnJhZ21lbnRzLgotICovCi1zdHJ1Y3QgcGF0Y2ggewotCWNoYXIgKm5ld19uYW1lLCAqb2xkX25hbWUsICpkZWZfbmFtZTsKLQl1bnNpZ25lZCBpbnQgb2xkX21vZGUsIG5ld19tb2RlOwotCWludCBpc19uZXcsIGlzX2RlbGV0ZTsJLyogLTEgPSB1bmtub3duLCAwID0gZmFsc2UsIDEgPSB0cnVlICovCi0JaW50IHJlamVjdGVkOwotCXVuc2lnbmVkIHdzX3J1bGU7Ci0JaW50IGxpbmVzX2FkZGVkLCBsaW5lc19kZWxldGVkOwotCWludCBzY29yZTsKLQl1bnNpZ25lZCBpbnQgaXNfdG9wbGV2ZWxfcmVsYXRpdmU6MTsKLQl1bnNpZ25lZCBpbnQgaW5hY2N1cmF0ZV9lb2Y6MTsKLQl1bnNpZ25lZCBpbnQgaXNfYmluYXJ5OjE7Ci0JdW5zaWduZWQgaW50IGlzX2NvcHk6MTsKLQl1bnNpZ25lZCBpbnQgaXNfcmVuYW1lOjE7Ci0JdW5zaWduZWQgaW50IHJlY291bnQ6MTsKLQl1bnNpZ25lZCBpbnQgY29uZmxpY3RlZF90aHJlZXdheToxOwotCXVuc2lnbmVkIGludCBkaXJlY3RfdG9fdGhyZWV3YXk6MTsKLQlzdHJ1Y3QgZnJhZ21lbnQgKmZyYWdtZW50czsKLQljaGFyICpyZXN1bHQ7Ci0Jc2l6ZV90IHJlc3VsdHNpemU7Ci0JY2hhciBvbGRfc2hhMV9wcmVmaXhbNDFdOwotCWNoYXIgbmV3X3NoYTFfcHJlZml4WzQxXTsKLQlzdHJ1Y3QgcGF0Y2ggKm5leHQ7Ci0KLQkvKiB0aHJlZS13YXkgZmFsbGJhY2sgcmVzdWx0ICovCi0Jc3RydWN0IG9iamVjdF9pZCB0aHJlZXdheV9zdGFnZVszXTsKLX07Ci0KLXN0YXRpYyB2b2lkIGZyZWVfZnJhZ21lbnRfbGlzdChzdHJ1Y3QgZnJhZ21lbnQgKmxpc3QpCi17Ci0Jd2hpbGUgKGxpc3QpIHsKLQkJc3RydWN0IGZyYWdtZW50ICpuZXh0ID0gbGlzdC0+bmV4dDsKLQkJaWYgKGxpc3QtPmZyZWVfcGF0Y2gpCi0JCQlmcmVlKChjaGFyICopbGlzdC0+cGF0Y2gpOwotCQlmcmVlKGxpc3QpOwotCQlsaXN0ID0gbmV4dDsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIGZyZWVfcGF0Y2goc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQlmcmVlX2ZyYWdtZW50X2xpc3QocGF0Y2gtPmZyYWdtZW50cyk7Ci0JZnJlZShwYXRjaC0+ZGVmX25hbWUpOwotCWZyZWUocGF0Y2gtPm9sZF9uYW1lKTsKLQlmcmVlKHBhdGNoLT5uZXdfbmFtZSk7Ci0JZnJlZShwYXRjaC0+cmVzdWx0KTsKLQlmcmVlKHBhdGNoKTsKLX0KLQotc3RhdGljIHZvaWQgZnJlZV9wYXRjaF9saXN0KHN0cnVjdCBwYXRjaCAqbGlzdCkKLXsKLQl3aGlsZSAobGlzdCkgewotCQlzdHJ1Y3QgcGF0Y2ggKm5leHQgPSBsaXN0LT5uZXh0OwotCQlmcmVlX3BhdGNoKGxpc3QpOwotCQlsaXN0ID0gbmV4dDsKLQl9Ci19Ci0KLS8qCi0gKiBBIGxpbmUgaW4gYSBmaWxlLCBsZW4tYnl0ZXMgbG9uZyAoaW5jbHVkZXMgdGhlIHRlcm1pbmF0aW5nIExGLAotICogZXhjZXB0IGZvciBhbiBpbmNvbXBsZXRlIGxpbmUgYXQgdGhlIGVuZCBpZiB0aGUgZmlsZSBlbmRzIHdpdGgKLSAqIG9uZSksIGFuZCBpdHMgY29udGVudHMgaGFzaGVzIHRvICdoYXNoJy4KLSAqLwotc3RydWN0IGxpbmUgewotCXNpemVfdCBsZW47Ci0JdW5zaWduZWQgaGFzaCA6IDI0OwotCXVuc2lnbmVkIGZsYWcgOiA4OwotI2RlZmluZSBMSU5FX0NPTU1PTiAgICAgMQotI2RlZmluZSBMSU5FX1BBVENIRUQJMgotfTsKLQotLyoKLSAqIFRoaXMgcmVwcmVzZW50cyBhICJmaWxlIiwgd2hpY2ggaXMgYW4gYXJyYXkgb2YgImxpbmVzIi4KLSAqLwotc3RydWN0IGltYWdlIHsKLQljaGFyICpidWY7Ci0Jc2l6ZV90IGxlbjsKLQlzaXplX3QgbnI7Ci0Jc2l6ZV90IGFsbG9jOwotCXN0cnVjdCBsaW5lICpsaW5lX2FsbG9jYXRlZDsKLQlzdHJ1Y3QgbGluZSAqbGluZTsKLX07Ci0KLS8qCi0gKiBSZWNvcmRzIGZpbGVuYW1lcyB0aGF0IGhhdmUgYmVlbiB0b3VjaGVkLCBpbiBvcmRlciB0byBoYW5kbGUKLSAqIHRoZSBjYXNlIHdoZXJlIG1vcmUgdGhhbiBvbmUgcGF0Y2hlcyB0b3VjaCB0aGUgc2FtZSBmaWxlLgotICovCi0KLXN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgZm5fdGFibGU7Ci0KLXN0YXRpYyB1aW50MzJfdCBoYXNoX2xpbmUoY29uc3QgY2hhciAqY3AsIHNpemVfdCBsZW4pCi17Ci0Jc2l6ZV90IGk7Ci0JdWludDMyX3QgaDsKLQlmb3IgKGkgPSAwLCBoID0gMDsgaSA8IGxlbjsgaSsrKSB7Ci0JCWlmICghaXNzcGFjZShjcFtpXSkpIHsKLQkJCWggPSBoICogMyArIChjcFtpXSAmIDB4ZmYpOwotCQl9Ci0JfQotCXJldHVybiBoOwotfQotCi0vKgotICogQ29tcGFyZSBsaW5lcyBzMSBvZiBsZW5ndGggbjEgYW5kIHMyIG9mIGxlbmd0aCBuMiwgaWdub3JpbmcKLSAqIHdoaXRlc3BhY2UgZGlmZmVyZW5jZS4gUmV0dXJucyAxIGlmIHRoZXkgbWF0Y2gsIDAgb3RoZXJ3aXNlCi0gKi8KLXN0YXRpYyBpbnQgZnV6enlfbWF0Y2hsaW5lcyhjb25zdCBjaGFyICpzMSwgc2l6ZV90IG4xLAotCQkJICAgIGNvbnN0IGNoYXIgKnMyLCBzaXplX3QgbjIpCi17Ci0JY29uc3QgY2hhciAqbGFzdDEgPSBzMSArIG4xIC0gMTsKLQljb25zdCBjaGFyICpsYXN0MiA9IHMyICsgbjIgLSAxOwotCWludCByZXN1bHQgPSAwOwotCi0JLyogaWdub3JlIGxpbmUgZW5kaW5ncyAqLwotCXdoaWxlICgoKmxhc3QxID09ICdccicpIHx8ICgqbGFzdDEgPT0gJ1xuJykpCi0JCWxhc3QxLS07Ci0Jd2hpbGUgKCgqbGFzdDIgPT0gJ1xyJykgfHwgKCpsYXN0MiA9PSAnXG4nKSkKLQkJbGFzdDItLTsKLQotCS8qIHNraXAgbGVhZGluZyB3aGl0ZXNwYWNlcywgaWYgYm90aCBiZWdpbiB3aXRoIHdoaXRlc3BhY2UgKi8KLQlpZiAoczEgPD0gbGFzdDEgJiYgczIgPD0gbGFzdDIgJiYgaXNzcGFjZSgqczEpICYmIGlzc3BhY2UoKnMyKSkgewotCQl3aGlsZSAoaXNzcGFjZSgqczEpICYmIChzMSA8PSBsYXN0MSkpCi0JCQlzMSsrOwotCQl3aGlsZSAoaXNzcGFjZSgqczIpICYmIChzMiA8PSBsYXN0MikpCi0JCQlzMisrOwotCX0KLQkvKiBlYXJseSByZXR1cm4gaWYgYm90aCBsaW5lcyBhcmUgZW1wdHkgKi8KLQlpZiAoKHMxID4gbGFzdDEpICYmIChzMiA+IGxhc3QyKSkKLQkJcmV0dXJuIDE7Ci0Jd2hpbGUgKCFyZXN1bHQpIHsKLQkJcmVzdWx0ID0gKnMxKysgLSAqczIrKzsKLQkJLyoKLQkJICogU2tpcCB3aGl0ZXNwYWNlIGluc2lkZS4gV2UgY2hlY2sgZm9yIHdoaXRlc3BhY2Ugb24KLQkJICogYm90aCBidWZmZXJzIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCAiYSBiIiB0byBtYXRjaAotCQkgKiAiYWIiCi0JCSAqLwotCQlpZiAoaXNzcGFjZSgqczEpICYmIGlzc3BhY2UoKnMyKSkgewotCQkJd2hpbGUgKGlzc3BhY2UoKnMxKSAmJiBzMSA8PSBsYXN0MSkKLQkJCQlzMSsrOwotCQkJd2hpbGUgKGlzc3BhY2UoKnMyKSAmJiBzMiA8PSBsYXN0MikKLQkJCQlzMisrOwotCQl9Ci0JCS8qCi0JCSAqIElmIHdlIHJlYWNoZWQgdGhlIGVuZCBvbiBvbmUgc2lkZSBvbmx5LAotCQkgKiBsaW5lcyBkb24ndCBtYXRjaAotCQkgKi8KLQkJaWYgKAotCQkgICAgKChzMiA+IGxhc3QyKSAmJiAoczEgPD0gbGFzdDEpKSB8fAotCQkgICAgKChzMSA+IGxhc3QxKSAmJiAoczIgPD0gbGFzdDIpKSkKLQkJCXJldHVybiAwOwotCQlpZiAoKHMxID4gbGFzdDEpICYmIChzMiA+IGxhc3QyKSkKLQkJCWJyZWFrOwotCX0KLQotCXJldHVybiAhcmVzdWx0OwotfQotCi1zdGF0aWMgdm9pZCBhZGRfbGluZV9pbmZvKHN0cnVjdCBpbWFnZSAqaW1nLCBjb25zdCBjaGFyICpib2wsIHNpemVfdCBsZW4sIHVuc2lnbmVkIGZsYWcpCi17Ci0JQUxMT0NfR1JPVyhpbWctPmxpbmVfYWxsb2NhdGVkLCBpbWctPm5yICsgMSwgaW1nLT5hbGxvYyk7Ci0JaW1nLT5saW5lX2FsbG9jYXRlZFtpbWctPm5yXS5sZW4gPSBsZW47Ci0JaW1nLT5saW5lX2FsbG9jYXRlZFtpbWctPm5yXS5oYXNoID0gaGFzaF9saW5lKGJvbCwgbGVuKTsKLQlpbWctPmxpbmVfYWxsb2NhdGVkW2ltZy0+bnJdLmZsYWcgPSBmbGFnOwotCWltZy0+bnIrKzsKLX0KLQotLyoKLSAqICJidWYiIGhhcyB0aGUgZmlsZSBjb250ZW50cyB0byBiZSBwYXRjaGVkIChyZWFkIGZyb20gdmFyaW91cyBzb3VyY2VzKS4KLSAqIGF0dGFjaCBpdCB0byAiaW1hZ2UiIGFuZCBhZGQgbGluZS1iYXNlZCBpbmRleCB0byBpdC4KLSAqICJpbWFnZSIgbm93IG93bnMgdGhlICJidWYiLgotICovCi1zdGF0aWMgdm9pZCBwcmVwYXJlX2ltYWdlKHN0cnVjdCBpbWFnZSAqaW1hZ2UsIGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbiwKLQkJCSAgaW50IHByZXBhcmVfbGluZXRhYmxlKQotewotCWNvbnN0IGNoYXIgKmNwLCAqZXA7Ci0KLQltZW1zZXQoaW1hZ2UsIDAsIHNpemVvZigqaW1hZ2UpKTsKLQlpbWFnZS0+YnVmID0gYnVmOwotCWltYWdlLT5sZW4gPSBsZW47Ci0KLQlpZiAoIXByZXBhcmVfbGluZXRhYmxlKQotCQlyZXR1cm47Ci0KLQllcCA9IGltYWdlLT5idWYgKyBpbWFnZS0+bGVuOwotCWNwID0gaW1hZ2UtPmJ1ZjsKLQl3aGlsZSAoY3AgPCBlcCkgewotCQljb25zdCBjaGFyICpuZXh0OwotCQlmb3IgKG5leHQgPSBjcDsgbmV4dCA8IGVwICYmICpuZXh0ICE9ICdcbic7IG5leHQrKykKLQkJCTsKLQkJaWYgKG5leHQgPCBlcCkKLQkJCW5leHQrKzsKLQkJYWRkX2xpbmVfaW5mbyhpbWFnZSwgY3AsIG5leHQgLSBjcCwgMCk7Ci0JCWNwID0gbmV4dDsKLQl9Ci0JaW1hZ2UtPmxpbmUgPSBpbWFnZS0+bGluZV9hbGxvY2F0ZWQ7Ci19Ci0KLXN0YXRpYyB2b2lkIGNsZWFyX2ltYWdlKHN0cnVjdCBpbWFnZSAqaW1hZ2UpCi17Ci0JZnJlZShpbWFnZS0+YnVmKTsKLQlmcmVlKGltYWdlLT5saW5lX2FsbG9jYXRlZCk7Ci0JbWVtc2V0KGltYWdlLCAwLCBzaXplb2YoKmltYWdlKSk7Ci19Ci0KLS8qIGZtdCBtdXN0IGNvbnRhaW4gX29uZV8gJXMgYW5kIG5vIG90aGVyIHN1YnN0aXR1dGlvbiAqLwotc3RhdGljIHZvaWQgc2F5X3BhdGNoX25hbWUoRklMRSAqb3V0cHV0LCBjb25zdCBjaGFyICpmbXQsIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCi17Ci0Jc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwotCi0JaWYgKHBhdGNoLT5vbGRfbmFtZSAmJiBwYXRjaC0+bmV3X25hbWUgJiYKLQkgICAgc3RyY21wKHBhdGNoLT5vbGRfbmFtZSwgcGF0Y2gtPm5ld19uYW1lKSkgewotCQlxdW90ZV9jX3N0eWxlKHBhdGNoLT5vbGRfbmFtZSwgJnNiLCBOVUxMLCAwKTsKLQkJc3RyYnVmX2FkZHN0cigmc2IsICIgPT4gIik7Ci0JCXF1b3RlX2Nfc3R5bGUocGF0Y2gtPm5ld19uYW1lLCAmc2IsIE5VTEwsIDApOwotCX0gZWxzZSB7Ci0JCWNvbnN0IGNoYXIgKm4gPSBwYXRjaC0+bmV3X25hbWU7Ci0JCWlmICghbikKLQkJCW4gPSBwYXRjaC0+b2xkX25hbWU7Ci0JCXF1b3RlX2Nfc3R5bGUobiwgJnNiLCBOVUxMLCAwKTsKLQl9Ci0JZnByaW50ZihvdXRwdXQsIGZtdCwgc2IuYnVmKTsKLQlmcHV0YygnXG4nLCBvdXRwdXQpOwotCXN0cmJ1Zl9yZWxlYXNlKCZzYik7Ci19Ci0KLSNkZWZpbmUgU0xPUCAoMTYpCi0KLXN0YXRpYyB2b2lkIHJlYWRfcGF0Y2hfZmlsZShzdHJ1Y3Qgc3RyYnVmICpzYiwgaW50IGZkKQotewotCWlmIChzdHJidWZfcmVhZChzYiwgZmQsIDApIDwgMCkKLQkJZGllX2Vycm5vKCJnaXQgYXBwbHk6IGZhaWxlZCB0byByZWFkIik7Ci0KLQkvKgotCSAqIE1ha2Ugc3VyZSB0aGF0IHdlIGhhdmUgc29tZSBzbG9wIGluIHRoZSBidWZmZXIKLQkgKiBzbyB0aGF0IHdlIGNhbiBkbyBzcGVjdWxhdGl2ZSAibWVtY21wIiBldGMsIGFuZAotCSAqIHNlZSB0byBpdCB0aGF0IGl0IGlzIE5VTC1maWxsZWQuCi0JICovCi0Jc3RyYnVmX2dyb3coc2IsIFNMT1ApOwotCW1lbXNldChzYi0+YnVmICsgc2ItPmxlbiwgMCwgU0xPUCk7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxpbmVsZW4oY29uc3QgY2hhciAqYnVmZmVyLCB1bnNpZ25lZCBsb25nIHNpemUpCi17Ci0JdW5zaWduZWQgbG9uZyBsZW4gPSAwOwotCXdoaWxlIChzaXplLS0pIHsKLQkJbGVuKys7Ci0JCWlmICgqYnVmZmVyKysgPT0gJ1xuJykKLQkJCWJyZWFrOwotCX0KLQlyZXR1cm4gbGVuOwotfQotCi1zdGF0aWMgaW50IGlzX2Rldl9udWxsKGNvbnN0IGNoYXIgKnN0cikKLXsKLQlyZXR1cm4gc2tpcF9wcmVmaXgoc3RyLCAiL2Rldi9udWxsIiwgJnN0cikgJiYgaXNzcGFjZSgqc3RyKTsKLX0KLQotI2RlZmluZSBURVJNX1NQQUNFCTEKLSNkZWZpbmUgVEVSTV9UQUIJMgotCi1zdGF0aWMgaW50IG5hbWVfdGVybWluYXRlKGludCBjLCBpbnQgdGVybWluYXRlKQotewotCWlmIChjID09ICcgJyAmJiAhKHRlcm1pbmF0ZSAmIFRFUk1fU1BBQ0UpKQotCQlyZXR1cm4gMDsKLQlpZiAoYyA9PSAnXHQnICYmICEodGVybWluYXRlICYgVEVSTV9UQUIpKQotCQlyZXR1cm4gMDsKLQotCXJldHVybiAxOwotfQotCi0vKiByZW1vdmUgZG91YmxlIHNsYXNoZXMgdG8gbWFrZSAtLWluZGV4IHdvcmsgd2l0aCBzdWNoIGZpbGVuYW1lcyAqLwotc3RhdGljIGNoYXIgKnNxdWFzaF9zbGFzaChjaGFyICpuYW1lKQotewotCWludCBpID0gMCwgaiA9IDA7Ci0KLQlpZiAoIW5hbWUpCi0JCXJldHVybiBOVUxMOwotCi0Jd2hpbGUgKG5hbWVbaV0pIHsKLQkJaWYgKChuYW1lW2orK10gPSBuYW1lW2krK10pID09ICcvJykKLQkJCXdoaWxlIChuYW1lW2ldID09ICcvJykKLQkJCQlpKys7Ci0JfQotCW5hbWVbal0gPSAnXDAnOwotCXJldHVybiBuYW1lOwotfQotCi1zdGF0aWMgY2hhciAqZmluZF9uYW1lX2dudShjb25zdCBjaGFyICpsaW5lLCBjb25zdCBjaGFyICpkZWYsIGludCBwX3ZhbHVlKQotewotCXN0cnVjdCBzdHJidWYgbmFtZSA9IFNUUkJVRl9JTklUOwotCWNoYXIgKmNwOwotCi0JLyoKLQkgKiBQcm9wb3NlZCAibmV3LXN0eWxlIiBHTlUgcGF0Y2gvZGlmZiBmb3JtYXQ7IHNlZQotCSAqIGh0dHA6Ly9tYXJjLmluZm8vP2w9Z2l0Jm09MTEyOTI3MzE2NDA4NjkwJnc9MgotCSAqLwotCWlmICh1bnF1b3RlX2Nfc3R5bGUoJm5hbWUsIGxpbmUsIE5VTEwpKSB7Ci0JCXN0cmJ1Zl9yZWxlYXNlKCZuYW1lKTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCi0JZm9yIChjcCA9IG5hbWUuYnVmOyBwX3ZhbHVlOyBwX3ZhbHVlLS0pIHsKLQkJY3AgPSBzdHJjaHIoY3AsICcvJyk7Ci0JCWlmICghY3ApIHsKLQkJCXN0cmJ1Zl9yZWxlYXNlKCZuYW1lKTsKLQkJCXJldHVybiBOVUxMOwotCQl9Ci0JCWNwKys7Ci0JfQotCi0Jc3RyYnVmX3JlbW92ZSgmbmFtZSwgMCwgY3AgLSBuYW1lLmJ1Zik7Ci0JaWYgKHJvb3QubGVuKQotCQlzdHJidWZfaW5zZXJ0KCZuYW1lLCAwLCByb290LmJ1Ziwgcm9vdC5sZW4pOwotCXJldHVybiBzcXVhc2hfc2xhc2goc3RyYnVmX2RldGFjaCgmbmFtZSwgTlVMTCkpOwotfQotCi1zdGF0aWMgc2l6ZV90IHNhbmVfdHpfbGVuKGNvbnN0IGNoYXIgKmxpbmUsIHNpemVfdCBsZW4pCi17Ci0JY29uc3QgY2hhciAqdHosICpwOwotCi0JaWYgKGxlbiA8IHN0cmxlbigiICswNTAwIikgfHwgbGluZVtsZW4tc3RybGVuKCIgKzA1MDAiKV0gIT0gJyAnKQotCQlyZXR1cm4gMDsKLQl0eiA9IGxpbmUgKyBsZW4gLSBzdHJsZW4oIiArMDUwMCIpOwotCi0JaWYgKHR6WzFdICE9ICcrJyAmJiB0elsxXSAhPSAnLScpCi0JCXJldHVybiAwOwotCi0JZm9yIChwID0gdHogKyAyOyBwICE9IGxpbmUgKyBsZW47IHArKykKLQkJaWYgKCFpc2RpZ2l0KCpwKSkKLQkJCXJldHVybiAwOwotCi0JcmV0dXJuIGxpbmUgKyBsZW4gLSB0ejsKLX0KLQotc3RhdGljIHNpemVfdCB0el93aXRoX2NvbG9uX2xlbihjb25zdCBjaGFyICpsaW5lLCBzaXplX3QgbGVuKQotewotCWNvbnN0IGNoYXIgKnR6LCAqcDsKLQotCWlmIChsZW4gPCBzdHJsZW4oIiArMDg6MDAiKSB8fCBsaW5lW2xlbiAtIHN0cmxlbigiOjAwIildICE9ICc6JykKLQkJcmV0dXJuIDA7Ci0JdHogPSBsaW5lICsgbGVuIC0gc3RybGVuKCIgKzA4OjAwIik7Ci0KLQlpZiAodHpbMF0gIT0gJyAnIHx8ICh0elsxXSAhPSAnKycgJiYgdHpbMV0gIT0gJy0nKSkKLQkJcmV0dXJuIDA7Ci0JcCA9IHR6ICsgMjsKLQlpZiAoIWlzZGlnaXQoKnArKykgfHwgIWlzZGlnaXQoKnArKykgfHwgKnArKyAhPSAnOicgfHwKLQkgICAgIWlzZGlnaXQoKnArKykgfHwgIWlzZGlnaXQoKnArKykpCi0JCXJldHVybiAwOwotCi0JcmV0dXJuIGxpbmUgKyBsZW4gLSB0ejsKLX0KLQotc3RhdGljIHNpemVfdCBkYXRlX2xlbihjb25zdCBjaGFyICpsaW5lLCBzaXplX3QgbGVuKQotewotCWNvbnN0IGNoYXIgKmRhdGUsICpwOwotCi0JaWYgKGxlbiA8IHN0cmxlbigiNzItMDItMDUiKSB8fCBsaW5lW2xlbi1zdHJsZW4oIi0wNSIpXSAhPSAnLScpCi0JCXJldHVybiAwOwotCXAgPSBkYXRlID0gbGluZSArIGxlbiAtIHN0cmxlbigiNzItMDItMDUiKTsKLQotCWlmICghaXNkaWdpdCgqcCsrKSB8fCAhaXNkaWdpdCgqcCsrKSB8fCAqcCsrICE9ICctJyB8fAotCSAgICAhaXNkaWdpdCgqcCsrKSB8fCAhaXNkaWdpdCgqcCsrKSB8fCAqcCsrICE9ICctJyB8fAotCSAgICAhaXNkaWdpdCgqcCsrKSB8fCAhaXNkaWdpdCgqcCsrKSkJLyogTm90IGEgZGF0ZS4gKi8KLQkJcmV0dXJuIDA7Ci0KLQlpZiAoZGF0ZSAtIGxpbmUgPj0gc3RybGVuKCIxOSIpICYmCi0JICAgIGlzZGlnaXQoZGF0ZVstMV0pICYmIGlzZGlnaXQoZGF0ZVstMl0pKQkvKiA0LWRpZ2l0IHllYXIgKi8KLQkJZGF0ZSAtPSBzdHJsZW4oIjE5Iik7Ci0KLQlyZXR1cm4gbGluZSArIGxlbiAtIGRhdGU7Ci19Ci0KLXN0YXRpYyBzaXplX3Qgc2hvcnRfdGltZV9sZW4oY29uc3QgY2hhciAqbGluZSwgc2l6ZV90IGxlbikKLXsKLQljb25zdCBjaGFyICp0aW1lLCAqcDsKLQotCWlmIChsZW4gPCBzdHJsZW4oIiAwNzowMTozMiIpIHx8IGxpbmVbbGVuLXN0cmxlbigiOjMyIildICE9ICc6JykKLQkJcmV0dXJuIDA7Ci0JcCA9IHRpbWUgPSBsaW5lICsgbGVuIC0gc3RybGVuKCIgMDc6MDE6MzIiKTsKLQotCS8qIFBlcm1pdCAxLWRpZ2l0IGhvdXJzPyAqLwotCWlmICgqcCsrICE9ICcgJyB8fAotCSAgICAhaXNkaWdpdCgqcCsrKSB8fCAhaXNkaWdpdCgqcCsrKSB8fCAqcCsrICE9ICc6JyB8fAotCSAgICAhaXNkaWdpdCgqcCsrKSB8fCAhaXNkaWdpdCgqcCsrKSB8fCAqcCsrICE9ICc6JyB8fAotCSAgICAhaXNkaWdpdCgqcCsrKSB8fCAhaXNkaWdpdCgqcCsrKSkJLyogTm90IGEgdGltZS4gKi8KLQkJcmV0dXJuIDA7Ci0KLQlyZXR1cm4gbGluZSArIGxlbiAtIHRpbWU7Ci19Ci0KLXN0YXRpYyBzaXplX3QgZnJhY3Rpb25hbF90aW1lX2xlbihjb25zdCBjaGFyICpsaW5lLCBzaXplX3QgbGVuKQotewotCWNvbnN0IGNoYXIgKnA7Ci0Jc2l6ZV90IG47Ci0KLQkvKiBFeHBlY3RlZCBmb3JtYXQ6IDE5OjQxOjE3LjYyMDAwMDAyMyAqLwotCWlmICghbGVuIHx8ICFpc2RpZ2l0KGxpbmVbbGVuIC0gMV0pKQotCQlyZXR1cm4gMDsKLQlwID0gbGluZSArIGxlbiAtIDE7Ci0KLQkvKiBGcmFjdGlvbmFsIHNlY29uZHMuICovCi0Jd2hpbGUgKHAgPiBsaW5lICYmIGlzZGlnaXQoKnApKQotCQlwLS07Ci0JaWYgKCpwICE9ICcuJykKLQkJcmV0dXJuIDA7Ci0KLQkvKiBIb3VycywgbWludXRlcywgYW5kIHdob2xlIHNlY29uZHMuICovCi0JbiA9IHNob3J0X3RpbWVfbGVuKGxpbmUsIHAgLSBsaW5lKTsKLQlpZiAoIW4pCi0JCXJldHVybiAwOwotCi0JcmV0dXJuIGxpbmUgKyBsZW4gLSBwICsgbjsKLX0KLQotc3RhdGljIHNpemVfdCB0cmFpbGluZ19zcGFjZXNfbGVuKGNvbnN0IGNoYXIgKmxpbmUsIHNpemVfdCBsZW4pCi17Ci0JY29uc3QgY2hhciAqcDsKLQotCS8qIEV4cGVjdGVkIGZvcm1hdDogJyAnIHggKDEgb3IgbW9yZSkgICovCi0JaWYgKCFsZW4gfHwgbGluZVtsZW4gLSAxXSAhPSAnICcpCi0JCXJldHVybiAwOwotCi0JcCA9IGxpbmUgKyBsZW47Ci0Jd2hpbGUgKHAgIT0gbGluZSkgewotCQlwLS07Ci0JCWlmICgqcCAhPSAnICcpCi0JCQlyZXR1cm4gbGluZSArIGxlbiAtIChwICsgMSk7Ci0JfQotCi0JLyogQWxsIHNwYWNlcyEgKi8KLQlyZXR1cm4gbGVuOwotfQotCi1zdGF0aWMgc2l6ZV90IGRpZmZfdGltZXN0YW1wX2xlbihjb25zdCBjaGFyICpsaW5lLCBzaXplX3QgbGVuKQotewotCWNvbnN0IGNoYXIgKmVuZCA9IGxpbmUgKyBsZW47Ci0Jc2l6ZV90IG47Ci0KLQkvKgotCSAqIFBvc2l4OiAyMDEwLTA3LTA1IDE5OjQxOjE3Ci0JICogR05VOiAyMDEwLTA3LTA1IDE5OjQxOjE3LjYyMDAwMDAyMyAtMDUwMAotCSAqLwotCi0JaWYgKCFpc2RpZ2l0KGVuZFstMV0pKQotCQlyZXR1cm4gMDsKLQotCW4gPSBzYW5lX3R6X2xlbihsaW5lLCBlbmQgLSBsaW5lKTsKLQlpZiAoIW4pCi0JCW4gPSB0el93aXRoX2NvbG9uX2xlbihsaW5lLCBlbmQgLSBsaW5lKTsKLQllbmQgLT0gbjsKLQotCW4gPSBzaG9ydF90aW1lX2xlbihsaW5lLCBlbmQgLSBsaW5lKTsKLQlpZiAoIW4pCi0JCW4gPSBmcmFjdGlvbmFsX3RpbWVfbGVuKGxpbmUsIGVuZCAtIGxpbmUpOwotCWVuZCAtPSBuOwotCi0JbiA9IGRhdGVfbGVuKGxpbmUsIGVuZCAtIGxpbmUpOwotCWlmICghbikJLyogTm8gZGF0ZS4gIFRvbyBiYWQuICovCi0JCXJldHVybiAwOwotCWVuZCAtPSBuOwotCi0JaWYgKGVuZCA9PSBsaW5lKQkvKiBObyBzcGFjZSBiZWZvcmUgZGF0ZS4gKi8KLQkJcmV0dXJuIDA7Ci0JaWYgKGVuZFstMV0gPT0gJ1x0JykgewkvKiBTdWNjZXNzISAqLwotCQllbmQtLTsKLQkJcmV0dXJuIGxpbmUgKyBsZW4gLSBlbmQ7Ci0JfQotCWlmIChlbmRbLTFdICE9ICcgJykJLyogTm8gc3BhY2UgYmVmb3JlIGRhdGUuICovCi0JCXJldHVybiAwOwotCi0JLyogV2hpdGVzcGFjZSBkYW1hZ2UuICovCi0JZW5kIC09IHRyYWlsaW5nX3NwYWNlc19sZW4obGluZSwgZW5kIC0gbGluZSk7Ci0JcmV0dXJuIGxpbmUgKyBsZW4gLSBlbmQ7Ci19Ci0KLXN0YXRpYyBjaGFyICpmaW5kX25hbWVfY29tbW9uKGNvbnN0IGNoYXIgKmxpbmUsIGNvbnN0IGNoYXIgKmRlZiwKLQkJCSAgICAgIGludCBwX3ZhbHVlLCBjb25zdCBjaGFyICplbmQsIGludCB0ZXJtaW5hdGUpCi17Ci0JaW50IGxlbjsKLQljb25zdCBjaGFyICpzdGFydCA9IE5VTEw7Ci0KLQlpZiAocF92YWx1ZSA9PSAwKQotCQlzdGFydCA9IGxpbmU7Ci0Jd2hpbGUgKGxpbmUgIT0gZW5kKSB7Ci0JCWNoYXIgYyA9ICpsaW5lOwotCi0JCWlmICghZW5kICYmIGlzc3BhY2UoYykpIHsKLQkJCWlmIChjID09ICdcbicpCi0JCQkJYnJlYWs7Ci0JCQlpZiAobmFtZV90ZXJtaW5hdGUoYywgdGVybWluYXRlKSkKLQkJCQlicmVhazsKLQkJfQotCQlsaW5lKys7Ci0JCWlmIChjID09ICcvJyAmJiAhLS1wX3ZhbHVlKQotCQkJc3RhcnQgPSBsaW5lOwotCX0KLQlpZiAoIXN0YXJ0KQotCQlyZXR1cm4gc3F1YXNoX3NsYXNoKHhzdHJkdXBfb3JfbnVsbChkZWYpKTsKLQlsZW4gPSBsaW5lIC0gc3RhcnQ7Ci0JaWYgKCFsZW4pCi0JCXJldHVybiBzcXVhc2hfc2xhc2goeHN0cmR1cF9vcl9udWxsKGRlZikpOwotCi0JLyoKLQkgKiBHZW5lcmFsbHkgd2UgcHJlZmVyIHRoZSBzaG9ydGVyIG5hbWUsIGVzcGVjaWFsbHkKLQkgKiBpZiB0aGUgb3RoZXIgb25lIGlzIGp1c3QgYSB2YXJpYXRpb24gb2YgdGhhdCB3aXRoCi0JICogc29tZXRoaW5nIGVsc2UgdGFja2VkIG9uIHRvIHRoZSBlbmQgKGllICJmaWxlLm9yaWciCi0JICogb3IgImZpbGV+IikuCi0JICovCi0JaWYgKGRlZikgewotCQlpbnQgZGVmbGVuID0gc3RybGVuKGRlZik7Ci0JCWlmIChkZWZsZW4gPCBsZW4gJiYgIXN0cm5jbXAoc3RhcnQsIGRlZiwgZGVmbGVuKSkKLQkJCXJldHVybiBzcXVhc2hfc2xhc2goeHN0cmR1cChkZWYpKTsKLQl9Ci0KLQlpZiAocm9vdC5sZW4pIHsKLQkJY2hhciAqcmV0ID0geHN0cmZtdCgiJXMlLipzIiwgcm9vdC5idWYsIGxlbiwgc3RhcnQpOwotCQlyZXR1cm4gc3F1YXNoX3NsYXNoKHJldCk7Ci0JfQotCi0JcmV0dXJuIHNxdWFzaF9zbGFzaCh4bWVtZHVweihzdGFydCwgbGVuKSk7Ci19Ci0KLXN0YXRpYyBjaGFyICpmaW5kX25hbWUoY29uc3QgY2hhciAqbGluZSwgY2hhciAqZGVmLCBpbnQgcF92YWx1ZSwgaW50IHRlcm1pbmF0ZSkKLXsKLQlpZiAoKmxpbmUgPT0gJyInKSB7Ci0JCWNoYXIgKm5hbWUgPSBmaW5kX25hbWVfZ251KGxpbmUsIGRlZiwgcF92YWx1ZSk7Ci0JCWlmIChuYW1lKQotCQkJcmV0dXJuIG5hbWU7Ci0JfQotCi0JcmV0dXJuIGZpbmRfbmFtZV9jb21tb24obGluZSwgZGVmLCBwX3ZhbHVlLCBOVUxMLCB0ZXJtaW5hdGUpOwotfQotCi1zdGF0aWMgY2hhciAqZmluZF9uYW1lX3RyYWRpdGlvbmFsKGNvbnN0IGNoYXIgKmxpbmUsIGNoYXIgKmRlZiwgaW50IHBfdmFsdWUpCi17Ci0Jc2l6ZV90IGxlbjsKLQlzaXplX3QgZGF0ZV9sZW47Ci0KLQlpZiAoKmxpbmUgPT0gJyInKSB7Ci0JCWNoYXIgKm5hbWUgPSBmaW5kX25hbWVfZ251KGxpbmUsIGRlZiwgcF92YWx1ZSk7Ci0JCWlmIChuYW1lKQotCQkJcmV0dXJuIG5hbWU7Ci0JfQotCi0JbGVuID0gc3RyY2hybnVsKGxpbmUsICdcbicpIC0gbGluZTsKLQlkYXRlX2xlbiA9IGRpZmZfdGltZXN0YW1wX2xlbihsaW5lLCBsZW4pOwotCWlmICghZGF0ZV9sZW4pCi0JCXJldHVybiBmaW5kX25hbWVfY29tbW9uKGxpbmUsIGRlZiwgcF92YWx1ZSwgTlVMTCwgVEVSTV9UQUIpOwotCWxlbiAtPSBkYXRlX2xlbjsKLQotCXJldHVybiBmaW5kX25hbWVfY29tbW9uKGxpbmUsIGRlZiwgcF92YWx1ZSwgbGluZSArIGxlbiwgMCk7Ci19Ci0KLXN0YXRpYyBpbnQgY291bnRfc2xhc2hlcyhjb25zdCBjaGFyICpjcCkKLXsKLQlpbnQgY250ID0gMDsKLQljaGFyIGNoOwotCi0Jd2hpbGUgKChjaCA9ICpjcCsrKSkKLQkJaWYgKGNoID09ICcvJykKLQkJCWNudCsrOwotCXJldHVybiBjbnQ7Ci19Ci0KLS8qCi0gKiBHaXZlbiB0aGUgc3RyaW5nIGFmdGVyICItLS0gIiBvciAiKysrICIsIGd1ZXNzIHRoZSBhcHByb3ByaWF0ZQotICogcF92YWx1ZSBmb3IgdGhlIGdpdmVuIHBhdGNoLgotICovCi1zdGF0aWMgaW50IGd1ZXNzX3BfdmFsdWUoY29uc3QgY2hhciAqbmFtZWxpbmUpCi17Ci0JY2hhciAqbmFtZSwgKmNwOwotCWludCB2YWwgPSAtMTsKLQotCWlmIChpc19kZXZfbnVsbChuYW1lbGluZSkpCi0JCXJldHVybiAtMTsKLQluYW1lID0gZmluZF9uYW1lX3RyYWRpdGlvbmFsKG5hbWVsaW5lLCBOVUxMLCAwKTsKLQlpZiAoIW5hbWUpCi0JCXJldHVybiAtMTsKLQljcCA9IHN0cmNocihuYW1lLCAnLycpOwotCWlmICghY3ApCi0JCXZhbCA9IDA7Ci0JZWxzZSBpZiAocHJlZml4KSB7Ci0JCS8qCi0JCSAqIERvZXMgaXQgYmVnaW4gd2l0aCAiYS8kb3VyLXByZWZpeCIgYW5kIHN1Y2g/ICBUaGVuIHRoaXMgaXMKLQkJICogdmVyeSBsaWtlbHkgdG8gYXBwbHkgdG8gb3VyIGRpcmVjdG9yeS4KLQkJICovCi0JCWlmICghc3RybmNtcChuYW1lLCBwcmVmaXgsIHByZWZpeF9sZW5ndGgpKQotCQkJdmFsID0gY291bnRfc2xhc2hlcyhwcmVmaXgpOwotCQllbHNlIHsKLQkJCWNwKys7Ci0JCQlpZiAoIXN0cm5jbXAoY3AsIHByZWZpeCwgcHJlZml4X2xlbmd0aCkpCi0JCQkJdmFsID0gY291bnRfc2xhc2hlcyhwcmVmaXgpICsgMTsKLQkJfQotCX0KLQlmcmVlKG5hbWUpOwotCXJldHVybiB2YWw7Ci19Ci0KLS8qCi0gKiBEb2VzIHRoZSAtLS0vKysrIGxpbmUgaGF2ZSB0aGUgUE9TSVggdGltZXN0YW1wIGFmdGVyIHRoZSBsYXN0IEhUPwotICogR05VIGRpZmYgcHV0cyBlcG9jaCB0aGVyZSB0byBzaWduYWwgYSBjcmVhdGlvbi9kZWxldGlvbiBldmVudC4gIElzCi0gKiB0aGlzIHN1Y2ggYSB0aW1lc3RhbXA/Ci0gKi8KLXN0YXRpYyBpbnQgaGFzX2Vwb2NoX3RpbWVzdGFtcChjb25zdCBjaGFyICpuYW1lbGluZSkKLXsKLQkvKgotCSAqIFdlIGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gZXBvY2ggdGltZXN0YW1wOyBhbnkgbm9uLXplcm8KLQkgKiBmcmFjdGlvbiBjYW5ub3QgYmUgb25lLCBoZW5jZSAiKFwuMCspPyIgaW4gdGhlIHJlZ2V4cCBiZWxvdy4KLQkgKiBGb3IgdGhlIHNhbWUgcmVhc29uLCB0aGUgZGF0ZSBtdXN0IGJlIGVpdGhlciAxOTY5LTEyLTMxIG9yCi0JICogMTk3MC0wMS0wMSwgYW5kIHRoZSBzZWNvbmRzIHBhcnQgbXVzdCBiZSAiMDAiLgotCSAqLwotCWNvbnN0IGNoYXIgc3RhbXBfcmVnZXhwW10gPQotCQkiXigxOTY5LTEyLTMxfDE5NzAtMDEtMDEpIgotCQkiICIKLQkJIlswLTJdWzAtOV06WzAtNV1bMC05XTowMChcXC4wKyk/IgotCQkiICIKLQkJIihbLStdWzAtMl1bMC05XTo/WzAtNV1bMC05XSlcbiI7Ci0JY29uc3QgY2hhciAqdGltZXN0YW1wID0gTlVMTCwgKmNwLCAqY29sb247Ci0Jc3RhdGljIHJlZ2V4X3QgKnN0YW1wOwotCXJlZ21hdGNoX3QgbVsxMF07Ci0JaW50IHpvbmVvZmZzZXQ7Ci0JaW50IGhvdXJtaW51dGU7Ci0JaW50IHN0YXR1czsKLQotCWZvciAoY3AgPSBuYW1lbGluZTsgKmNwICE9ICdcbic7IGNwKyspIHsKLQkJaWYgKCpjcCA9PSAnXHQnKQotCQkJdGltZXN0YW1wID0gY3AgKyAxOwotCX0KLQlpZiAoIXRpbWVzdGFtcCkKLQkJcmV0dXJuIDA7Ci0JaWYgKCFzdGFtcCkgewotCQlzdGFtcCA9IHhtYWxsb2Moc2l6ZW9mKCpzdGFtcCkpOwotCQlpZiAocmVnY29tcChzdGFtcCwgc3RhbXBfcmVnZXhwLCBSRUdfRVhURU5ERUQpKSB7Ci0JCQl3YXJuaW5nKF8oIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiKSwKLQkJCQlzdGFtcF9yZWdleHApOwotCQkJcmV0dXJuIDA7Ci0JCX0KLQl9Ci0KLQlzdGF0dXMgPSByZWdleGVjKHN0YW1wLCB0aW1lc3RhbXAsIEFSUkFZX1NJWkUobSksIG0sIDApOwotCWlmIChzdGF0dXMpIHsKLQkJaWYgKHN0YXR1cyAhPSBSRUdfTk9NQVRDSCkKLQkJCXdhcm5pbmcoXygicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIiksCi0JCQkJc3RhdHVzLCB0aW1lc3RhbXApOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQl6b25lb2Zmc2V0ID0gc3RydG9sKHRpbWVzdGFtcCArIG1bM10ucm1fc28gKyAxLCAoY2hhciAqKikgJmNvbG9uLCAxMCk7Ci0JaWYgKCpjb2xvbiA9PSAnOicpCi0JCXpvbmVvZmZzZXQgPSB6b25lb2Zmc2V0ICogNjAgKyBzdHJ0b2woY29sb24gKyAxLCBOVUxMLCAxMCk7Ci0JZWxzZQotCQl6b25lb2Zmc2V0ID0gKHpvbmVvZmZzZXQgLyAxMDApICogNjAgKyAoem9uZW9mZnNldCAlIDEwMCk7Ci0JaWYgKHRpbWVzdGFtcFttWzNdLnJtX3NvXSA9PSAnLScpCi0JCXpvbmVvZmZzZXQgPSAtem9uZW9mZnNldDsKLQotCS8qCi0JICogWVlZWS1NTS1ERCBoaDptbTpzcyBtdXN0IGJlIGZyb20gZWl0aGVyIDE5NjktMTItMzEKLQkgKiAod2VzdCBvZiBHTVQpIG9yIDE5NzAtMDEtMDEgKGVhc3Qgb2YgR01UKQotCSAqLwotCWlmICgoem9uZW9mZnNldCA8IDAgJiYgbWVtY21wKHRpbWVzdGFtcCwgIjE5NjktMTItMzEiLCAxMCkpIHx8Ci0JICAgICgwIDw9IHpvbmVvZmZzZXQgJiYgbWVtY21wKHRpbWVzdGFtcCwgIjE5NzAtMDEtMDEiLCAxMCkpKQotCQlyZXR1cm4gMDsKLQotCWhvdXJtaW51dGUgPSAoc3RydG9sKHRpbWVzdGFtcCArIDExLCBOVUxMLCAxMCkgKiA2MCArCi0JCSAgICAgIHN0cnRvbCh0aW1lc3RhbXAgKyAxNCwgTlVMTCwgMTApIC0KLQkJICAgICAgem9uZW9mZnNldCk7Ci0KLQlyZXR1cm4gKCh6b25lb2Zmc2V0IDwgMCAmJiBob3VybWludXRlID09IDE0NDApIHx8Ci0JCSgwIDw9IHpvbmVvZmZzZXQgJiYgIWhvdXJtaW51dGUpKTsKLX0KLQotLyoKLSAqIEdldCB0aGUgbmFtZSBldGMgaW5mbyBmcm9tIHRoZSAtLS0vKysrIGxpbmVzIG9mIGEgdHJhZGl0aW9uYWwgcGF0Y2ggaGVhZGVyCi0gKgotICogRklYTUUhIFRoZSBlbmQtb2YtZmlsZW5hbWUgaGV1cmlzdGljcyBhcmUga2luZCBvZiBzY3Jld3kuIEZvciBleGlzdGluZwotICogZmlsZXMsIHdlIGNhbiBoYXBwaWx5IGNoZWNrIHRoZSBpbmRleCBmb3IgYSBtYXRjaCwgYnV0IGZvciBjcmVhdGluZyBhCi0gKiBuZXcgZmlsZSB3ZSBzaG91bGQgdHJ5IHRvIG1hdGNoIHdoYXRldmVyICJwYXRjaCIgZG9lcy4gSSBoYXZlIG5vIGlkZWEuCi0gKi8KLXN0YXRpYyB2b2lkIHBhcnNlX3RyYWRpdGlvbmFsX3BhdGNoKGNvbnN0IGNoYXIgKmZpcnN0LCBjb25zdCBjaGFyICpzZWNvbmQsIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCi17Ci0JY2hhciAqbmFtZTsKLQotCWZpcnN0ICs9IDQ7CS8qIHNraXAgIi0tLSAiICovCi0Jc2Vjb25kICs9IDQ7CS8qIHNraXAgIisrKyAiICovCi0JaWYgKCFwX3ZhbHVlX2tub3duKSB7Ci0JCWludCBwLCBxOwotCQlwID0gZ3Vlc3NfcF92YWx1ZShmaXJzdCk7Ci0JCXEgPSBndWVzc19wX3ZhbHVlKHNlY29uZCk7Ci0JCWlmIChwIDwgMCkgcCA9IHE7Ci0JCWlmICgwIDw9IHAgJiYgcCA9PSBxKSB7Ci0JCQlwX3ZhbHVlID0gcDsKLQkJCXBfdmFsdWVfa25vd24gPSAxOwotCQl9Ci0JfQotCWlmIChpc19kZXZfbnVsbChmaXJzdCkpIHsKLQkJcGF0Y2gtPmlzX25ldyA9IDE7Ci0JCXBhdGNoLT5pc19kZWxldGUgPSAwOwotCQluYW1lID0gZmluZF9uYW1lX3RyYWRpdGlvbmFsKHNlY29uZCwgTlVMTCwgcF92YWx1ZSk7Ci0JCXBhdGNoLT5uZXdfbmFtZSA9IG5hbWU7Ci0JfSBlbHNlIGlmIChpc19kZXZfbnVsbChzZWNvbmQpKSB7Ci0JCXBhdGNoLT5pc19uZXcgPSAwOwotCQlwYXRjaC0+aXNfZGVsZXRlID0gMTsKLQkJbmFtZSA9IGZpbmRfbmFtZV90cmFkaXRpb25hbChmaXJzdCwgTlVMTCwgcF92YWx1ZSk7Ci0JCXBhdGNoLT5vbGRfbmFtZSA9IG5hbWU7Ci0JfSBlbHNlIHsKLQkJY2hhciAqZmlyc3RfbmFtZTsKLQkJZmlyc3RfbmFtZSA9IGZpbmRfbmFtZV90cmFkaXRpb25hbChmaXJzdCwgTlVMTCwgcF92YWx1ZSk7Ci0JCW5hbWUgPSBmaW5kX25hbWVfdHJhZGl0aW9uYWwoc2Vjb25kLCBmaXJzdF9uYW1lLCBwX3ZhbHVlKTsKLQkJZnJlZShmaXJzdF9uYW1lKTsKLQkJaWYgKGhhc19lcG9jaF90aW1lc3RhbXAoZmlyc3QpKSB7Ci0JCQlwYXRjaC0+aXNfbmV3ID0gMTsKLQkJCXBhdGNoLT5pc19kZWxldGUgPSAwOwotCQkJcGF0Y2gtPm5ld19uYW1lID0gbmFtZTsKLQkJfSBlbHNlIGlmIChoYXNfZXBvY2hfdGltZXN0YW1wKHNlY29uZCkpIHsKLQkJCXBhdGNoLT5pc19uZXcgPSAwOwotCQkJcGF0Y2gtPmlzX2RlbGV0ZSA9IDE7Ci0JCQlwYXRjaC0+b2xkX25hbWUgPSBuYW1lOwotCQl9IGVsc2UgewotCQkJcGF0Y2gtPm9sZF9uYW1lID0gbmFtZTsKLQkJCXBhdGNoLT5uZXdfbmFtZSA9IHhzdHJkdXBfb3JfbnVsbChuYW1lKTsKLQkJfQotCX0KLQlpZiAoIW5hbWUpCi0JCWRpZShfKCJ1bmFibGUgdG8gZmluZCBmaWxlbmFtZSBpbiBwYXRjaCBhdCBsaW5lICVkIiksIGxpbmVucik7Ci19Ci0KLXN0YXRpYyBpbnQgZ2l0ZGlmZl9oZHJlbmQoY29uc3QgY2hhciAqbGluZSwgc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQlyZXR1cm4gLTE7Ci19Ci0KLS8qCi0gKiBXZSdyZSBhbmFsIGFib3V0IGRpZmYgaGVhZGVyIGNvbnNpc3RlbmN5LCB0byBtYWtlCi0gKiBzdXJlIHRoYXQgd2UgZG9uJ3QgZW5kIHVwIGhhdmluZyBzdHJhbmdlIGFtYmlndW91cwotICogcGF0Y2hlcyBmbG9hdGluZyBhcm91bmQuCi0gKgotICogQXMgYSByZXN1bHQsIGdpdGRpZmZfe29sZHxuZXd9bmFtZSgpIHdpbGwgY2hlY2sKLSAqIHRoZWlyIG5hbWVzIGFnYWluc3QgYW55IHByZXZpb3VzIGluZm9ybWF0aW9uLCBqdXN0Ci0gKiB0byBtYWtlIHN1cmUuLgotICovCi0jZGVmaW5lIERJRkZfT0xEX05BTUUgMAotI2RlZmluZSBESUZGX05FV19OQU1FIDEKLQotc3RhdGljIGNoYXIgKmdpdGRpZmZfdmVyaWZ5X25hbWUoY29uc3QgY2hhciAqbGluZSwgaW50IGlzbnVsbCwgY2hhciAqb3JpZ19uYW1lLCBpbnQgc2lkZSkKLXsKLQlpZiAoIW9yaWdfbmFtZSAmJiAhaXNudWxsKQotCQlyZXR1cm4gZmluZF9uYW1lKGxpbmUsIE5VTEwsIHBfdmFsdWUsIFRFUk1fVEFCKTsKLQotCWlmIChvcmlnX25hbWUpIHsKLQkJaW50IGxlbiA9IHN0cmxlbihvcmlnX25hbWUpOwotCQljaGFyICphbm90aGVyOwotCQlpZiAoaXNudWxsKQotCQkJZGllKF8oImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIpLAotCQkJICAgIG9yaWdfbmFtZSwgbGluZW5yKTsKLQkJYW5vdGhlciA9IGZpbmRfbmFtZShsaW5lLCBOVUxMLCBwX3ZhbHVlLCBURVJNX1RBQik7Ci0JCWlmICghYW5vdGhlciB8fCBtZW1jbXAoYW5vdGhlciwgb3JpZ19uYW1lLCBsZW4gKyAxKSkKLQkJCWRpZSgoc2lkZSA9PSBESUZGX05FV19OQU1FKSA/Ci0JCQkgICAgXygiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiKSA6Ci0JCQkgICAgXygiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiKSwgbGluZW5yKTsKLQkJZnJlZShhbm90aGVyKTsKLQkJcmV0dXJuIG9yaWdfbmFtZTsKLQl9IGVsc2UgewotCQkvKiBleHBlY3QgIi9kZXYvbnVsbCIgKi8KLQkJaWYgKG1lbWNtcCgiL2Rldi9udWxsIiwgbGluZSwgOSkgfHwgbGluZVs5XSAhPSAnXG4nKQotCQkJZGllKF8oImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiKSwgbGluZW5yKTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotfQotCi1zdGF0aWMgaW50IGdpdGRpZmZfb2xkbmFtZShjb25zdCBjaGFyICpsaW5lLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotewotCXBhdGNoLT5vbGRfbmFtZSA9IGdpdGRpZmZfdmVyaWZ5X25hbWUobGluZSwgcGF0Y2gtPmlzX25ldywgcGF0Y2gtPm9sZF9uYW1lLAotCQkJCQkgICAgICBESUZGX09MRF9OQU1FKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBnaXRkaWZmX25ld25hbWUoY29uc3QgY2hhciAqbGluZSwgc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQlwYXRjaC0+bmV3X25hbWUgPSBnaXRkaWZmX3ZlcmlmeV9uYW1lKGxpbmUsIHBhdGNoLT5pc19kZWxldGUsIHBhdGNoLT5uZXdfbmFtZSwKLQkJCQkJICAgICAgRElGRl9ORVdfTkFNRSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZ2l0ZGlmZl9vbGRtb2RlKGNvbnN0IGNoYXIgKmxpbmUsIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCi17Ci0JcGF0Y2gtPm9sZF9tb2RlID0gc3RydG91bChsaW5lLCBOVUxMLCA4KTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBnaXRkaWZmX25ld21vZGUoY29uc3QgY2hhciAqbGluZSwgc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQlwYXRjaC0+bmV3X21vZGUgPSBzdHJ0b3VsKGxpbmUsIE5VTEwsIDgpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGdpdGRpZmZfZGVsZXRlKGNvbnN0IGNoYXIgKmxpbmUsIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCi17Ci0JcGF0Y2gtPmlzX2RlbGV0ZSA9IDE7Ci0JZnJlZShwYXRjaC0+b2xkX25hbWUpOwotCXBhdGNoLT5vbGRfbmFtZSA9IHhzdHJkdXBfb3JfbnVsbChwYXRjaC0+ZGVmX25hbWUpOwotCXJldHVybiBnaXRkaWZmX29sZG1vZGUobGluZSwgcGF0Y2gpOwotfQotCi1zdGF0aWMgaW50IGdpdGRpZmZfbmV3ZmlsZShjb25zdCBjaGFyICpsaW5lLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotewotCXBhdGNoLT5pc19uZXcgPSAxOwotCWZyZWUocGF0Y2gtPm5ld19uYW1lKTsKLQlwYXRjaC0+bmV3X25hbWUgPSB4c3RyZHVwX29yX251bGwocGF0Y2gtPmRlZl9uYW1lKTsKLQlyZXR1cm4gZ2l0ZGlmZl9uZXdtb2RlKGxpbmUsIHBhdGNoKTsKLX0KLQotc3RhdGljIGludCBnaXRkaWZmX2NvcHlzcmMoY29uc3QgY2hhciAqbGluZSwgc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQlwYXRjaC0+aXNfY29weSA9IDE7Ci0JZnJlZShwYXRjaC0+b2xkX25hbWUpOwotCXBhdGNoLT5vbGRfbmFtZSA9IGZpbmRfbmFtZShsaW5lLCBOVUxMLCBwX3ZhbHVlID8gcF92YWx1ZSAtIDEgOiAwLCAwKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBnaXRkaWZmX2NvcHlkc3QoY29uc3QgY2hhciAqbGluZSwgc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQlwYXRjaC0+aXNfY29weSA9IDE7Ci0JZnJlZShwYXRjaC0+bmV3X25hbWUpOwotCXBhdGNoLT5uZXdfbmFtZSA9IGZpbmRfbmFtZShsaW5lLCBOVUxMLCBwX3ZhbHVlID8gcF92YWx1ZSAtIDEgOiAwLCAwKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBnaXRkaWZmX3JlbmFtZXNyYyhjb25zdCBjaGFyICpsaW5lLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotewotCXBhdGNoLT5pc19yZW5hbWUgPSAxOwotCWZyZWUocGF0Y2gtPm9sZF9uYW1lKTsKLQlwYXRjaC0+b2xkX25hbWUgPSBmaW5kX25hbWUobGluZSwgTlVMTCwgcF92YWx1ZSA/IHBfdmFsdWUgLSAxIDogMCwgMCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZ2l0ZGlmZl9yZW5hbWVkc3QoY29uc3QgY2hhciAqbGluZSwgc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQlwYXRjaC0+aXNfcmVuYW1lID0gMTsKLQlmcmVlKHBhdGNoLT5uZXdfbmFtZSk7Ci0JcGF0Y2gtPm5ld19uYW1lID0gZmluZF9uYW1lKGxpbmUsIE5VTEwsIHBfdmFsdWUgPyBwX3ZhbHVlIC0gMSA6IDAsIDApOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGdpdGRpZmZfc2ltaWxhcml0eShjb25zdCBjaGFyICpsaW5lLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotewotCXVuc2lnbmVkIGxvbmcgdmFsID0gc3RydG91bChsaW5lLCBOVUxMLCAxMCk7Ci0JaWYgKHZhbCA8PSAxMDApCi0JCXBhdGNoLT5zY29yZSA9IHZhbDsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBnaXRkaWZmX2Rpc3NpbWlsYXJpdHkoY29uc3QgY2hhciAqbGluZSwgc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQl1bnNpZ25lZCBsb25nIHZhbCA9IHN0cnRvdWwobGluZSwgTlVMTCwgMTApOwotCWlmICh2YWwgPD0gMTAwKQotCQlwYXRjaC0+c2NvcmUgPSB2YWw7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZ2l0ZGlmZl9pbmRleChjb25zdCBjaGFyICpsaW5lLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotewotCS8qCi0JICogaW5kZXggbGluZSBpcyBOIGhleGFkZWNpbWFsLCAiLi4iLCBOIGhleGFkZWNpbWFsLAotCSAqIGFuZCBvcHRpb25hbCBzcGFjZSB3aXRoIG9jdGFsIG1vZGUuCi0JICovCi0JY29uc3QgY2hhciAqcHRyLCAqZW9sOwotCWludCBsZW47Ci0KLQlwdHIgPSBzdHJjaHIobGluZSwgJy4nKTsKLQlpZiAoIXB0ciB8fCBwdHJbMV0gIT0gJy4nIHx8IDQwIDwgcHRyIC0gbGluZSkKLQkJcmV0dXJuIDA7Ci0JbGVuID0gcHRyIC0gbGluZTsKLQltZW1jcHkocGF0Y2gtPm9sZF9zaGExX3ByZWZpeCwgbGluZSwgbGVuKTsKLQlwYXRjaC0+b2xkX3NoYTFfcHJlZml4W2xlbl0gPSAwOwotCi0JbGluZSA9IHB0ciArIDI7Ci0JcHRyID0gc3RyY2hyKGxpbmUsICcgJyk7Ci0JZW9sID0gc3RyY2hybnVsKGxpbmUsICdcbicpOwotCi0JaWYgKCFwdHIgfHwgZW9sIDwgcHRyKQotCQlwdHIgPSBlb2w7Ci0JbGVuID0gcHRyIC0gbGluZTsKLQotCWlmICg0MCA8IGxlbikKLQkJcmV0dXJuIDA7Ci0JbWVtY3B5KHBhdGNoLT5uZXdfc2hhMV9wcmVmaXgsIGxpbmUsIGxlbik7Ci0JcGF0Y2gtPm5ld19zaGExX3ByZWZpeFtsZW5dID0gMDsKLQlpZiAoKnB0ciA9PSAnICcpCi0JCXBhdGNoLT5vbGRfbW9kZSA9IHN0cnRvdWwocHRyKzEsIE5VTEwsIDgpOwotCXJldHVybiAwOwotfQotCi0vKgotICogVGhpcyBpcyBub3JtYWwgZm9yIGEgZGlmZiB0aGF0IGRvZXNuJ3QgY2hhbmdlIGFueXRoaW5nOiB3ZSdsbCBmYWxsIHRocm91Z2gKLSAqIGludG8gdGhlIG5leHQgZGlmZi4gVGVsbCB0aGUgcGFyc2VyIHRvIGJyZWFrIG91dC4KLSAqLwotc3RhdGljIGludCBnaXRkaWZmX3VucmVjb2duaXplZChjb25zdCBjaGFyICpsaW5lLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotewotCXJldHVybiAtMTsKLX0KLQotLyoKLSAqIFNraXAgcF92YWx1ZSBsZWFkaW5nIGNvbXBvbmVudHMgZnJvbSAibGluZSI7IGFzIHdlIGRvIG5vdCBhY2NlcHQKLSAqIGFic29sdXRlIHBhdGhzLCByZXR1cm4gTlVMTCBpbiB0aGF0IGNhc2UuCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICpza2lwX3RyZWVfcHJlZml4KGNvbnN0IGNoYXIgKmxpbmUsIGludCBsbGVuKQotewotCWludCBuc2xhc2g7Ci0JaW50IGk7Ci0KLQlpZiAoIXBfdmFsdWUpCi0JCXJldHVybiAobGxlbiAmJiBsaW5lWzBdID09ICcvJykgPyBOVUxMIDogbGluZTsKLQotCW5zbGFzaCA9IHBfdmFsdWU7Ci0JZm9yIChpID0gMDsgaSA8IGxsZW47IGkrKykgewotCQlpbnQgY2ggPSBsaW5lW2ldOwotCQlpZiAoY2ggPT0gJy8nICYmIC0tbnNsYXNoIDw9IDApCi0JCQlyZXR1cm4gKGkgPT0gMCkgPyBOVUxMIDogJmxpbmVbaSArIDFdOwotCX0KLQlyZXR1cm4gTlVMTDsKLX0KLQotLyoKLSAqIFRoaXMgaXMgdG8gZXh0cmFjdCB0aGUgc2FtZSBuYW1lIHRoYXQgYXBwZWFycyBvbiAiZGlmZiAtLWdpdCIKLSAqIGxpbmUuICBXZSBkbyBub3QgZmluZCBhbmQgcmV0dXJuIGFueXRoaW5nIGlmIGl0IGlzIGEgcmVuYW1lCi0gKiBwYXRjaCwgYW5kIGl0IGlzIE9LIGJlY2F1c2Ugd2Ugd2lsbCBmaW5kIHRoZSBuYW1lIGVsc2V3aGVyZS4KLSAqIFdlIG5lZWQgdG8gcmVsaWFibHkgZmluZCBuYW1lIG9ubHkgd2hlbiBpdCBpcyBtb2RlLWNoYW5nZSBvbmx5LAotICogY3JlYXRpb24gb3IgZGVsZXRpb24gb2YgYW4gZW1wdHkgZmlsZS4gIEluIGFueSBvZiB0aGVzZSBjYXNlcywKLSAqIGJvdGggc2lkZXMgYXJlIHRoZSBzYW1lIG5hbWUgdW5kZXIgYS8gYW5kIGIvIHJlc3BlY3RpdmVseS4KLSAqLwotc3RhdGljIGNoYXIgKmdpdF9oZWFkZXJfbmFtZShjb25zdCBjaGFyICpsaW5lLCBpbnQgbGxlbikKLXsKLQljb25zdCBjaGFyICpuYW1lOwotCWNvbnN0IGNoYXIgKnNlY29uZCA9IE5VTEw7Ci0Jc2l6ZV90IGxlbiwgbGluZV9sZW47Ci0KLQlsaW5lICs9IHN0cmxlbigiZGlmZiAtLWdpdCAiKTsKLQlsbGVuIC09IHN0cmxlbigiZGlmZiAtLWdpdCAiKTsKLQotCWlmICgqbGluZSA9PSAnIicpIHsKLQkJY29uc3QgY2hhciAqY3A7Ci0JCXN0cnVjdCBzdHJidWYgZmlyc3QgPSBTVFJCVUZfSU5JVDsKLQkJc3RydWN0IHN0cmJ1ZiBzcCA9IFNUUkJVRl9JTklUOwotCi0JCWlmICh1bnF1b3RlX2Nfc3R5bGUoJmZpcnN0LCBsaW5lLCAmc2Vjb25kKSkKLQkJCWdvdG8gZnJlZV9hbmRfZmFpbDE7Ci0KLQkJLyogc3RyaXAgdGhlIGEvYiBwcmVmaXggaW5jbHVkaW5nIHRyYWlsaW5nIHNsYXNoICovCi0JCWNwID0gc2tpcF90cmVlX3ByZWZpeChmaXJzdC5idWYsIGZpcnN0Lmxlbik7Ci0JCWlmICghY3ApCi0JCQlnb3RvIGZyZWVfYW5kX2ZhaWwxOwotCQlzdHJidWZfcmVtb3ZlKCZmaXJzdCwgMCwgY3AgLSBmaXJzdC5idWYpOwotCi0JCS8qCi0JCSAqIHNlY29uZCBwb2ludHMgYXQgb25lIHBhc3QgY2xvc2luZyBkcSBvZiBuYW1lLgotCQkgKiBmaW5kIHRoZSBzZWNvbmQgbmFtZS4KLQkJICovCi0JCXdoaWxlICgoc2Vjb25kIDwgbGluZSArIGxsZW4pICYmIGlzc3BhY2UoKnNlY29uZCkpCi0JCQlzZWNvbmQrKzsKLQotCQlpZiAobGluZSArIGxsZW4gPD0gc2Vjb25kKQotCQkJZ290byBmcmVlX2FuZF9mYWlsMTsKLQkJaWYgKCpzZWNvbmQgPT0gJyInKSB7Ci0JCQlpZiAodW5xdW90ZV9jX3N0eWxlKCZzcCwgc2Vjb25kLCBOVUxMKSkKLQkJCQlnb3RvIGZyZWVfYW5kX2ZhaWwxOwotCQkJY3AgPSBza2lwX3RyZWVfcHJlZml4KHNwLmJ1Ziwgc3AubGVuKTsKLQkJCWlmICghY3ApCi0JCQkJZ290byBmcmVlX2FuZF9mYWlsMTsKLQkJCS8qIFRoZXkgbXVzdCBtYXRjaCwgb3RoZXJ3aXNlIGlnbm9yZSAqLwotCQkJaWYgKHN0cmNtcChjcCwgZmlyc3QuYnVmKSkKLQkJCQlnb3RvIGZyZWVfYW5kX2ZhaWwxOwotCQkJc3RyYnVmX3JlbGVhc2UoJnNwKTsKLQkJCXJldHVybiBzdHJidWZfZGV0YWNoKCZmaXJzdCwgTlVMTCk7Ci0JCX0KLQotCQkvKiB1bnF1b3RlZCBzZWNvbmQgKi8KLQkJY3AgPSBza2lwX3RyZWVfcHJlZml4KHNlY29uZCwgbGluZSArIGxsZW4gLSBzZWNvbmQpOwotCQlpZiAoIWNwKQotCQkJZ290byBmcmVlX2FuZF9mYWlsMTsKLQkJaWYgKGxpbmUgKyBsbGVuIC0gY3AgIT0gZmlyc3QubGVuIHx8Ci0JCSAgICBtZW1jbXAoZmlyc3QuYnVmLCBjcCwgZmlyc3QubGVuKSkKLQkJCWdvdG8gZnJlZV9hbmRfZmFpbDE7Ci0JCXJldHVybiBzdHJidWZfZGV0YWNoKCZmaXJzdCwgTlVMTCk7Ci0KLQlmcmVlX2FuZF9mYWlsMToKLQkJc3RyYnVmX3JlbGVhc2UoJmZpcnN0KTsKLQkJc3RyYnVmX3JlbGVhc2UoJnNwKTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCi0JLyogdW5xdW90ZWQgZmlyc3QgbmFtZSAqLwotCW5hbWUgPSBza2lwX3RyZWVfcHJlZml4KGxpbmUsIGxsZW4pOwotCWlmICghbmFtZSkKLQkJcmV0dXJuIE5VTEw7Ci0KLQkvKgotCSAqIHNpbmNlIHRoZSBmaXJzdCBuYW1lIGlzIHVucXVvdGVkLCBhIGRxIGlmIGV4aXN0cyBtdXN0IGJlCi0JICogdGhlIGJlZ2lubmluZyBvZiB0aGUgc2Vjb25kIG5hbWUuCi0JICovCi0JZm9yIChzZWNvbmQgPSBuYW1lOyBzZWNvbmQgPCBsaW5lICsgbGxlbjsgc2Vjb25kKyspIHsKLQkJaWYgKCpzZWNvbmQgPT0gJyInKSB7Ci0JCQlzdHJ1Y3Qgc3RyYnVmIHNwID0gU1RSQlVGX0lOSVQ7Ci0JCQljb25zdCBjaGFyICpucDsKLQotCQkJaWYgKHVucXVvdGVfY19zdHlsZSgmc3AsIHNlY29uZCwgTlVMTCkpCi0JCQkJZ290byBmcmVlX2FuZF9mYWlsMjsKLQotCQkJbnAgPSBza2lwX3RyZWVfcHJlZml4KHNwLmJ1Ziwgc3AubGVuKTsKLQkJCWlmICghbnApCi0JCQkJZ290byBmcmVlX2FuZF9mYWlsMjsKLQotCQkJbGVuID0gc3AuYnVmICsgc3AubGVuIC0gbnA7Ci0JCQlpZiAobGVuIDwgc2Vjb25kIC0gbmFtZSAmJgotCQkJICAgICFzdHJuY21wKG5wLCBuYW1lLCBsZW4pICYmCi0JCQkgICAgaXNzcGFjZShuYW1lW2xlbl0pKSB7Ci0JCQkJLyogR29vZCAqLwotCQkJCXN0cmJ1Zl9yZW1vdmUoJnNwLCAwLCBucCAtIHNwLmJ1Zik7Ci0JCQkJcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJnNwLCBOVUxMKTsKLQkJCX0KLQotCQlmcmVlX2FuZF9mYWlsMjoKLQkJCXN0cmJ1Zl9yZWxlYXNlKCZzcCk7Ci0JCQlyZXR1cm4gTlVMTDsKLQkJfQotCX0KLQotCS8qCi0JICogQWNjZXB0IGEgbmFtZSBvbmx5IGlmIGl0IHNob3dzIHVwIHR3aWNlLCBleGFjdGx5IHRoZSBzYW1lCi0JICogZm9ybS4KLQkgKi8KLQlzZWNvbmQgPSBzdHJjaHIobmFtZSwgJ1xuJyk7Ci0JaWYgKCFzZWNvbmQpCi0JCXJldHVybiBOVUxMOwotCWxpbmVfbGVuID0gc2Vjb25kIC0gbmFtZTsKLQlmb3IgKGxlbiA9IDAgOyA7IGxlbisrKSB7Ci0JCXN3aXRjaCAobmFtZVtsZW5dKSB7Ci0JCWRlZmF1bHQ6Ci0JCQljb250aW51ZTsKLQkJY2FzZSAnXG4nOgotCQkJcmV0dXJuIE5VTEw7Ci0JCWNhc2UgJ1x0JzogY2FzZSAnICc6Ci0JCQkvKgotCQkJICogSXMgdGhpcyB0aGUgc2VwYXJhdG9yIGJldHdlZW4gdGhlIHByZWltYWdlCi0JCQkgKiBhbmQgdGhlIHBvc3RpbWFnZSBwYXRobmFtZT8gIEFnYWluLCB3ZSBhcmUKLQkJCSAqIG9ubHkgaW50ZXJlc3RlZCBpbiB0aGUgY2FzZSB3aGVyZSB0aGVyZSBpcwotCQkJICogbm8gcmVuYW1lLCBhcyB0aGlzIGlzIG9ubHkgdG8gc2V0IGRlZl9uYW1lCi0JCQkgKiBhbmQgYSByZW5hbWUgcGF0Y2ggaGFzIHRoZSBuYW1lcyBlbHNld2hlcmUKLQkJCSAqIGluIGFuIHVuYW1iaWd1b3VzIGZvcm0uCi0JCQkgKi8KLQkJCWlmICghbmFtZVtsZW4gKyAxXSkKLQkJCQlyZXR1cm4gTlVMTDsgLyogbm8gcG9zdGltYWdlIG5hbWUgKi8KLQkJCXNlY29uZCA9IHNraXBfdHJlZV9wcmVmaXgobmFtZSArIGxlbiArIDEsCi0JCQkJCQkgIGxpbmVfbGVuIC0gKGxlbiArIDEpKTsKLQkJCWlmICghc2Vjb25kKQotCQkJCXJldHVybiBOVUxMOwotCQkJLyoKLQkJCSAqIERvZXMgbGVuIGJ5dGVzIHN0YXJ0aW5nIGF0ICJuYW1lIiBhbmQgInNlY29uZCIKLQkJCSAqICh0aGF0IGFyZSBzZXBhcmF0ZWQgYnkgb25lIEhUIG9yIFNQIHdlIGp1c3QKLQkJCSAqIGZvdW5kKSBleGFjdGx5IG1hdGNoPwotCQkJICovCi0JCQlpZiAoc2Vjb25kW2xlbl0gPT0gJ1xuJyAmJiAhc3RybmNtcChuYW1lLCBzZWNvbmQsIGxlbikpCi0JCQkJcmV0dXJuIHhtZW1kdXB6KG5hbWUsIGxlbik7Ci0JCX0KLQl9Ci19Ci0KLS8qIFZlcmlmeSB0aGF0IHdlIHJlY29nbml6ZSB0aGUgbGluZXMgZm9sbG93aW5nIGEgZ2l0IGhlYWRlciAqLwotc3RhdGljIGludCBwYXJzZV9naXRfaGVhZGVyKGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4sIHVuc2lnbmVkIGludCBzaXplLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotewotCXVuc2lnbmVkIGxvbmcgb2Zmc2V0OwotCi0JLyogQSBnaXQgZGlmZiBoYXMgZXhwbGljaXQgbmV3L2RlbGV0ZSBpbmZvcm1hdGlvbiwgc28gd2UgZG9uJ3QgZ3Vlc3MgKi8KLQlwYXRjaC0+aXNfbmV3ID0gMDsKLQlwYXRjaC0+aXNfZGVsZXRlID0gMDsKLQotCS8qCi0JICogU29tZSB0aGluZ3MgbWF5IG5vdCBoYXZlIHRoZSBvbGQgbmFtZSBpbiB0aGUKLQkgKiByZXN0IG9mIHRoZSBoZWFkZXJzIGFueXdoZXJlIChwdXJlIG1vZGUgY2hhbmdlcywKLQkgKiBvciByZW1vdmluZyBvciBhZGRpbmcgZW1wdHkgZmlsZXMpLCBzbyB3ZSBnZXQKLQkgKiB0aGUgZGVmYXVsdCBuYW1lIGZyb20gdGhlIGhlYWRlci4KLQkgKi8KLQlwYXRjaC0+ZGVmX25hbWUgPSBnaXRfaGVhZGVyX25hbWUobGluZSwgbGVuKTsKLQlpZiAocGF0Y2gtPmRlZl9uYW1lICYmIHJvb3QubGVuKSB7Ci0JCWNoYXIgKnMgPSB4c3RyZm10KCIlcyVzIiwgcm9vdC5idWYsIHBhdGNoLT5kZWZfbmFtZSk7Ci0JCWZyZWUocGF0Y2gtPmRlZl9uYW1lKTsKLQkJcGF0Y2gtPmRlZl9uYW1lID0gczsKLQl9Ci0KLQlsaW5lICs9IGxlbjsKLQlzaXplIC09IGxlbjsKLQlsaW5lbnIrKzsKLQlmb3IgKG9mZnNldCA9IGxlbiA7IHNpemUgPiAwIDsgb2Zmc2V0ICs9IGxlbiwgc2l6ZSAtPSBsZW4sIGxpbmUgKz0gbGVuLCBsaW5lbnIrKykgewotCQlzdGF0aWMgY29uc3Qgc3RydWN0IG9wZW50cnkgewotCQkJY29uc3QgY2hhciAqc3RyOwotCQkJaW50ICgqZm4pKGNvbnN0IGNoYXIgKiwgc3RydWN0IHBhdGNoICopOwotCQl9IG9wdGFibGVbXSA9IHsKLQkJCXsgIkBAIC0iLCBnaXRkaWZmX2hkcmVuZCB9LAotCQkJeyAiLS0tICIsIGdpdGRpZmZfb2xkbmFtZSB9LAotCQkJeyAiKysrICIsIGdpdGRpZmZfbmV3bmFtZSB9LAotCQkJeyAib2xkIG1vZGUgIiwgZ2l0ZGlmZl9vbGRtb2RlIH0sCi0JCQl7ICJuZXcgbW9kZSAiLCBnaXRkaWZmX25ld21vZGUgfSwKLQkJCXsgImRlbGV0ZWQgZmlsZSBtb2RlICIsIGdpdGRpZmZfZGVsZXRlIH0sCi0JCQl7ICJuZXcgZmlsZSBtb2RlICIsIGdpdGRpZmZfbmV3ZmlsZSB9LAotCQkJeyAiY29weSBmcm9tICIsIGdpdGRpZmZfY29weXNyYyB9LAotCQkJeyAiY29weSB0byAiLCBnaXRkaWZmX2NvcHlkc3QgfSwKLQkJCXsgInJlbmFtZSBvbGQgIiwgZ2l0ZGlmZl9yZW5hbWVzcmMgfSwKLQkJCXsgInJlbmFtZSBuZXcgIiwgZ2l0ZGlmZl9yZW5hbWVkc3QgfSwKLQkJCXsgInJlbmFtZSBmcm9tICIsIGdpdGRpZmZfcmVuYW1lc3JjIH0sCi0JCQl7ICJyZW5hbWUgdG8gIiwgZ2l0ZGlmZl9yZW5hbWVkc3QgfSwKLQkJCXsgInNpbWlsYXJpdHkgaW5kZXggIiwgZ2l0ZGlmZl9zaW1pbGFyaXR5IH0sCi0JCQl7ICJkaXNzaW1pbGFyaXR5IGluZGV4ICIsIGdpdGRpZmZfZGlzc2ltaWxhcml0eSB9LAotCQkJeyAiaW5kZXggIiwgZ2l0ZGlmZl9pbmRleCB9LAotCQkJeyAiIiwgZ2l0ZGlmZl91bnJlY29nbml6ZWQgfSwKLQkJfTsKLQkJaW50IGk7Ci0KLQkJbGVuID0gbGluZWxlbihsaW5lLCBzaXplKTsKLQkJaWYgKCFsZW4gfHwgbGluZVtsZW4tMV0gIT0gJ1xuJykKLQkJCWJyZWFrOwotCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShvcHRhYmxlKTsgaSsrKSB7Ci0JCQljb25zdCBzdHJ1Y3Qgb3BlbnRyeSAqcCA9IG9wdGFibGUgKyBpOwotCQkJaW50IG9wbGVuID0gc3RybGVuKHAtPnN0cik7Ci0JCQlpZiAobGVuIDwgb3BsZW4gfHwgbWVtY21wKHAtPnN0ciwgbGluZSwgb3BsZW4pKQotCQkJCWNvbnRpbnVlOwotCQkJaWYgKHAtPmZuKGxpbmUgKyBvcGxlbiwgcGF0Y2gpIDwgMCkKLQkJCQlyZXR1cm4gb2Zmc2V0OwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0KLQlyZXR1cm4gb2Zmc2V0OwotfQotCi1zdGF0aWMgaW50IHBhcnNlX251bShjb25zdCBjaGFyICpsaW5lLCB1bnNpZ25lZCBsb25nICpwKQotewotCWNoYXIgKnB0cjsKLQotCWlmICghaXNkaWdpdCgqbGluZSkpCi0JCXJldHVybiAwOwotCSpwID0gc3RydG91bChsaW5lLCAmcHRyLCAxMCk7Ci0JcmV0dXJuIHB0ciAtIGxpbmU7Ci19Ci0KLXN0YXRpYyBpbnQgcGFyc2VfcmFuZ2UoY29uc3QgY2hhciAqbGluZSwgaW50IGxlbiwgaW50IG9mZnNldCwgY29uc3QgY2hhciAqZXhwZWN0LAotCQkgICAgICAgdW5zaWduZWQgbG9uZyAqcDEsIHVuc2lnbmVkIGxvbmcgKnAyKQotewotCWludCBkaWdpdHMsIGV4OwotCi0JaWYgKG9mZnNldCA8IDAgfHwgb2Zmc2V0ID49IGxlbikKLQkJcmV0dXJuIC0xOwotCWxpbmUgKz0gb2Zmc2V0OwotCWxlbiAtPSBvZmZzZXQ7Ci0KLQlkaWdpdHMgPSBwYXJzZV9udW0obGluZSwgcDEpOwotCWlmICghZGlnaXRzKQotCQlyZXR1cm4gLTE7Ci0KLQlvZmZzZXQgKz0gZGlnaXRzOwotCWxpbmUgKz0gZGlnaXRzOwotCWxlbiAtPSBkaWdpdHM7Ci0KLQkqcDIgPSAxOwotCWlmICgqbGluZSA9PSAnLCcpIHsKLQkJZGlnaXRzID0gcGFyc2VfbnVtKGxpbmUrMSwgcDIpOwotCQlpZiAoIWRpZ2l0cykKLQkJCXJldHVybiAtMTsKLQotCQlvZmZzZXQgKz0gZGlnaXRzKzE7Ci0JCWxpbmUgKz0gZGlnaXRzKzE7Ci0JCWxlbiAtPSBkaWdpdHMrMTsKLQl9Ci0KLQlleCA9IHN0cmxlbihleHBlY3QpOwotCWlmIChleCA+IGxlbikKLQkJcmV0dXJuIC0xOwotCWlmIChtZW1jbXAobGluZSwgZXhwZWN0LCBleCkpCi0JCXJldHVybiAtMTsKLQotCXJldHVybiBvZmZzZXQgKyBleDsKLX0KLQotc3RhdGljIHZvaWQgcmVjb3VudF9kaWZmKGNvbnN0IGNoYXIgKmxpbmUsIGludCBzaXplLCBzdHJ1Y3QgZnJhZ21lbnQgKmZyYWdtZW50KQotewotCWludCBvbGRsaW5lcyA9IDAsIG5ld2xpbmVzID0gMCwgcmV0ID0gMDsKLQotCWlmIChzaXplIDwgMSkgewotCQl3YXJuaW5nKCJyZWNvdW50OiBpZ25vcmUgZW1wdHkgaHVuayIpOwotCQlyZXR1cm47Ci0JfQotCi0JZm9yICg7OykgewotCQlpbnQgbGVuID0gbGluZWxlbihsaW5lLCBzaXplKTsKLQkJc2l6ZSAtPSBsZW47Ci0JCWxpbmUgKz0gbGVuOwotCi0JCWlmIChzaXplIDwgMSkKLQkJCWJyZWFrOwotCi0JCXN3aXRjaCAoKmxpbmUpIHsKLQkJY2FzZSAnICc6IGNhc2UgJ1xuJzoKLQkJCW5ld2xpbmVzKys7Ci0JCQkvKiBmYWxsIHRocm91Z2ggKi8KLQkJY2FzZSAnLSc6Ci0JCQlvbGRsaW5lcysrOwotCQkJY29udGludWU7Ci0JCWNhc2UgJysnOgotCQkJbmV3bGluZXMrKzsKLQkJCWNvbnRpbnVlOwotCQljYXNlICdcXCc6Ci0JCQljb250aW51ZTsKLQkJY2FzZSAnQCc6Ci0JCQlyZXQgPSBzaXplIDwgMyB8fCAhc3RhcnRzX3dpdGgobGluZSwgIkBAICIpOwotCQkJYnJlYWs7Ci0JCWNhc2UgJ2QnOgotCQkJcmV0ID0gc2l6ZSA8IDUgfHwgIXN0YXJ0c193aXRoKGxpbmUsICJkaWZmICIpOwotCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6Ci0JCQlyZXQgPSAtMTsKLQkJCWJyZWFrOwotCQl9Ci0JCWlmIChyZXQpIHsKLQkJCXdhcm5pbmcoXygicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIiksCi0JCQkJKGludClsaW5lbGVuKGxpbmUsIHNpemUpLCBsaW5lKTsKLQkJCXJldHVybjsKLQkJfQotCQlicmVhazsKLQl9Ci0JZnJhZ21lbnQtPm9sZGxpbmVzID0gb2xkbGluZXM7Ci0JZnJhZ21lbnQtPm5ld2xpbmVzID0gbmV3bGluZXM7Ci19Ci0KLS8qCi0gKiBQYXJzZSBhIHVuaWZpZWQgZGlmZiBmcmFnbWVudCBoZWFkZXIgb2YgdGhlCi0gKiBmb3JtICJAQCAtYSxiICtjLGQgQEAiCi0gKi8KLXN0YXRpYyBpbnQgcGFyc2VfZnJhZ21lbnRfaGVhZGVyKGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4sIHN0cnVjdCBmcmFnbWVudCAqZnJhZ21lbnQpCi17Ci0JaW50IG9mZnNldDsKLQotCWlmICghbGVuIHx8IGxpbmVbbGVuLTFdICE9ICdcbicpCi0JCXJldHVybiAtMTsKLQotCS8qIEZpZ3VyZSBvdXQgdGhlIG51bWJlciBvZiBsaW5lcyBpbiBhIGZyYWdtZW50ICovCi0Jb2Zmc2V0ID0gcGFyc2VfcmFuZ2UobGluZSwgbGVuLCA0LCAiICsiLCAmZnJhZ21lbnQtPm9sZHBvcywgJmZyYWdtZW50LT5vbGRsaW5lcyk7Ci0Jb2Zmc2V0ID0gcGFyc2VfcmFuZ2UobGluZSwgbGVuLCBvZmZzZXQsICIgQEAiLCAmZnJhZ21lbnQtPm5ld3BvcywgJmZyYWdtZW50LT5uZXdsaW5lcyk7Ci0KLQlyZXR1cm4gb2Zmc2V0OwotfQotCi1zdGF0aWMgaW50IGZpbmRfaGVhZGVyKGNvbnN0IGNoYXIgKmxpbmUsIHVuc2lnbmVkIGxvbmcgc2l6ZSwgaW50ICpoZHJzaXplLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotewotCXVuc2lnbmVkIGxvbmcgb2Zmc2V0LCBsZW47Ci0KLQlwYXRjaC0+aXNfdG9wbGV2ZWxfcmVsYXRpdmUgPSAwOwotCXBhdGNoLT5pc19yZW5hbWUgPSBwYXRjaC0+aXNfY29weSA9IDA7Ci0JcGF0Y2gtPmlzX25ldyA9IHBhdGNoLT5pc19kZWxldGUgPSAtMTsKLQlwYXRjaC0+b2xkX21vZGUgPSBwYXRjaC0+bmV3X21vZGUgPSAwOwotCXBhdGNoLT5vbGRfbmFtZSA9IHBhdGNoLT5uZXdfbmFtZSA9IE5VTEw7Ci0JZm9yIChvZmZzZXQgPSAwOyBzaXplID4gMDsgb2Zmc2V0ICs9IGxlbiwgc2l6ZSAtPSBsZW4sIGxpbmUgKz0gbGVuLCBsaW5lbnIrKykgewotCQl1bnNpZ25lZCBsb25nIG5leHRsZW47Ci0KLQkJbGVuID0gbGluZWxlbihsaW5lLCBzaXplKTsKLQkJaWYgKCFsZW4pCi0JCQlicmVhazsKLQotCQkvKiBUZXN0aW5nIHRoaXMgZWFybHkgYWxsb3dzIHVzIHRvIHRha2UgYSBmZXcgc2hvcnRjdXRzLi4gKi8KLQkJaWYgKGxlbiA8IDYpCi0JCQljb250aW51ZTsKLQotCQkvKgotCQkgKiBNYWtlIHN1cmUgd2UgZG9uJ3QgZmluZCBhbnkgdW5jb25uZWN0ZWQgcGF0Y2ggZnJhZ21lbnRzLgotCQkgKiBUaGF0J3MgYSBzaWduIHRoYXQgd2UgZGlkbid0IGZpbmQgYSBoZWFkZXIsIGFuZCB0aGF0IGEKLQkJICogcGF0Y2ggaGFzIGJlY29tZSBjb3JydXB0ZWQvYnJva2VuIHVwLgotCQkgKi8KLQkJaWYgKCFtZW1jbXAoIkBAIC0iLCBsaW5lLCA0KSkgewotCQkJc3RydWN0IGZyYWdtZW50IGR1bW15OwotCQkJaWYgKHBhcnNlX2ZyYWdtZW50X2hlYWRlcihsaW5lLCBsZW4sICZkdW1teSkgPCAwKQotCQkJCWNvbnRpbnVlOwotCQkJZGllKF8oInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiKSwKLQkJCSAgICBsaW5lbnIsIChpbnQpbGVuLTEsIGxpbmUpOwotCQl9Ci0KLQkJaWYgKHNpemUgPCBsZW4gKyA2KQotCQkJYnJlYWs7Ci0KLQkJLyoKLQkJICogR2l0IHBhdGNoPyBJdCBtaWdodCBub3QgaGF2ZSBhIHJlYWwgcGF0Y2gsIGp1c3QgYSByZW5hbWUKLQkJICogb3IgbW9kZSBjaGFuZ2UsIHNvIHdlIGhhbmRsZSB0aGF0IHNwZWNpYWxseQotCQkgKi8KLQkJaWYgKCFtZW1jbXAoImRpZmYgLS1naXQgIiwgbGluZSwgMTEpKSB7Ci0JCQlpbnQgZ2l0X2hkcl9sZW4gPSBwYXJzZV9naXRfaGVhZGVyKGxpbmUsIGxlbiwgc2l6ZSwgcGF0Y2gpOwotCQkJaWYgKGdpdF9oZHJfbGVuIDw9IGxlbikKLQkJCQljb250aW51ZTsKLQkJCWlmICghcGF0Y2gtPm9sZF9uYW1lICYmICFwYXRjaC0+bmV3X25hbWUpIHsKLQkJCQlpZiAoIXBhdGNoLT5kZWZfbmFtZSkKLQkJCQkJZGllKFFfKCJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAiCi0JCQkJCSAgICAgICAiJWQgbGVhZGluZyBwYXRobmFtZSBjb21wb25lbnQgKGxpbmUgJWQpIiwKLQkJCQkJICAgICAgICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAiCi0JCQkJCSAgICAgICAiJWQgbGVhZGluZyBwYXRobmFtZSBjb21wb25lbnRzIChsaW5lICVkKSIsCi0JCQkJCSAgICAgICBwX3ZhbHVlKSwKLQkJCQkJICAgIHBfdmFsdWUsIGxpbmVucik7Ci0JCQkJcGF0Y2gtPm9sZF9uYW1lID0geHN0cmR1cChwYXRjaC0+ZGVmX25hbWUpOwotCQkJCXBhdGNoLT5uZXdfbmFtZSA9IHhzdHJkdXAocGF0Y2gtPmRlZl9uYW1lKTsKLQkJCX0KLQkJCWlmICghcGF0Y2gtPmlzX2RlbGV0ZSAmJiAhcGF0Y2gtPm5ld19uYW1lKQotCQkJCWRpZSgiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uICIKLQkJCQkgICAgIihsaW5lICVkKSIsIGxpbmVucik7Ci0JCQlwYXRjaC0+aXNfdG9wbGV2ZWxfcmVsYXRpdmUgPSAxOwotCQkJKmhkcnNpemUgPSBnaXRfaGRyX2xlbjsKLQkJCXJldHVybiBvZmZzZXQ7Ci0JCX0KLQotCQkvKiAtLS0gZm9sbG93ZWQgYnkgKysrID8gKi8KLQkJaWYgKG1lbWNtcCgiLS0tICIsIGxpbmUsICA0KSB8fCBtZW1jbXAoIisrKyAiLCBsaW5lICsgbGVuLCA0KSkKLQkJCWNvbnRpbnVlOwotCi0JCS8qCi0JCSAqIFdlIG9ubHkgYWNjZXB0IHVuaWZpZWQgcGF0Y2hlcywgc28gd2Ugd2FudCBpdCB0bwotCQkgKiBhdCBsZWFzdCBoYXZlICJAQCAtYSxiICtjLGQgQEBcbiIsIHdoaWNoIGlzIDE0IGNoYXJzCi0JCSAqIG1pbmltdW0gKCJAQCAtMCwwICsxIEBAXG4iIGlzIHRoZSBzaG9ydGVzdCkuCi0JCSAqLwotCQluZXh0bGVuID0gbGluZWxlbihsaW5lICsgbGVuLCBzaXplIC0gbGVuKTsKLQkJaWYgKHNpemUgPCBuZXh0bGVuICsgMTQgfHwgbWVtY21wKCJAQCAtIiwgbGluZSArIGxlbiArIG5leHRsZW4sIDQpKQotCQkJY29udGludWU7Ci0KLQkJLyogT2ssIHdlJ2xsIGNvbnNpZGVyIGl0IGEgcGF0Y2ggKi8KLQkJcGFyc2VfdHJhZGl0aW9uYWxfcGF0Y2gobGluZSwgbGluZStsZW4sIHBhdGNoKTsKLQkJKmhkcnNpemUgPSBsZW4gKyBuZXh0bGVuOwotCQlsaW5lbnIgKz0gMjsKLQkJcmV0dXJuIG9mZnNldDsKLQl9Ci0JcmV0dXJuIC0xOwotfQotCi1zdGF0aWMgdm9pZCByZWNvcmRfd3NfZXJyb3IodW5zaWduZWQgcmVzdWx0LCBjb25zdCBjaGFyICpsaW5lLCBpbnQgbGVuLCBpbnQgbGluZW5yKQotewotCWNoYXIgKmVycjsKLQotCWlmICghcmVzdWx0KQotCQlyZXR1cm47Ci0KLQl3aGl0ZXNwYWNlX2Vycm9yKys7Ci0JaWYgKHNxdWVsY2hfd2hpdGVzcGFjZV9lcnJvcnMgJiYKLQkgICAgc3F1ZWxjaF93aGl0ZXNwYWNlX2Vycm9ycyA8IHdoaXRlc3BhY2VfZXJyb3IpCi0JCXJldHVybjsKLQotCWVyciA9IHdoaXRlc3BhY2VfZXJyb3Jfc3RyaW5nKHJlc3VsdCk7Ci0JZnByaW50ZihzdGRlcnIsICIlczolZDogJXMuXG4lLipzXG4iLAotCQlwYXRjaF9pbnB1dF9maWxlLCBsaW5lbnIsIGVyciwgbGVuLCBsaW5lKTsKLQlmcmVlKGVycik7Ci19Ci0KLXN0YXRpYyB2b2lkIGNoZWNrX3doaXRlc3BhY2UoY29uc3QgY2hhciAqbGluZSwgaW50IGxlbiwgdW5zaWduZWQgd3NfcnVsZSkKLXsKLQl1bnNpZ25lZCByZXN1bHQgPSB3c19jaGVjayhsaW5lICsgMSwgbGVuIC0gMSwgd3NfcnVsZSk7Ci0KLQlyZWNvcmRfd3NfZXJyb3IocmVzdWx0LCBsaW5lICsgMSwgbGVuIC0gMiwgbGluZW5yKTsKLX0KLQotLyoKLSAqIFBhcnNlIGEgdW5pZmllZCBkaWZmLiBOb3RlIHRoYXQgdGhpcyByZWFsbHkgbmVlZHMgdG8gcGFyc2UgZWFjaAotICogZnJhZ21lbnQgc2VwYXJhdGVseSwgc2luY2UgdGhlIG9ubHkgd2F5IHRvIGtub3cgdGhlIGRpZmZlcmVuY2UKLSAqIGJldHdlZW4gYSAiLS0tIiB0aGF0IGlzIHBhcnQgb2YgYSBwYXRjaCwgYW5kIGEgIi0tLSIgdGhhdCBzdGFydHMKLSAqIHRoZSBuZXh0IHBhdGNoIGlzIHRvIGxvb2sgYXQgdGhlIGxpbmUgY291bnRzLi4KLSAqLwotc3RhdGljIGludCBwYXJzZV9mcmFnbWVudChjb25zdCBjaGFyICpsaW5lLCB1bnNpZ25lZCBsb25nIHNpemUsCi0JCQkgIHN0cnVjdCBwYXRjaCAqcGF0Y2gsIHN0cnVjdCBmcmFnbWVudCAqZnJhZ21lbnQpCi17Ci0JaW50IGFkZGVkLCBkZWxldGVkOwotCWludCBsZW4gPSBsaW5lbGVuKGxpbmUsIHNpemUpLCBvZmZzZXQ7Ci0JdW5zaWduZWQgbG9uZyBvbGRsaW5lcywgbmV3bGluZXM7Ci0JdW5zaWduZWQgbG9uZyBsZWFkaW5nLCB0cmFpbGluZzsKLQotCW9mZnNldCA9IHBhcnNlX2ZyYWdtZW50X2hlYWRlcihsaW5lLCBsZW4sIGZyYWdtZW50KTsKLQlpZiAob2Zmc2V0IDwgMCkKLQkJcmV0dXJuIC0xOwotCWlmIChvZmZzZXQgPiAwICYmIHBhdGNoLT5yZWNvdW50KQotCQlyZWNvdW50X2RpZmYobGluZSArIG9mZnNldCwgc2l6ZSAtIG9mZnNldCwgZnJhZ21lbnQpOwotCW9sZGxpbmVzID0gZnJhZ21lbnQtPm9sZGxpbmVzOwotCW5ld2xpbmVzID0gZnJhZ21lbnQtPm5ld2xpbmVzOwotCWxlYWRpbmcgPSAwOwotCXRyYWlsaW5nID0gMDsKLQotCS8qIFBhcnNlIHRoZSB0aGluZy4uICovCi0JbGluZSArPSBsZW47Ci0Jc2l6ZSAtPSBsZW47Ci0JbGluZW5yKys7Ci0JYWRkZWQgPSBkZWxldGVkID0gMDsKLQlmb3IgKG9mZnNldCA9IGxlbjsKLQkgICAgIDAgPCBzaXplOwotCSAgICAgb2Zmc2V0ICs9IGxlbiwgc2l6ZSAtPSBsZW4sIGxpbmUgKz0gbGVuLCBsaW5lbnIrKykgewotCQlpZiAoIW9sZGxpbmVzICYmICFuZXdsaW5lcykKLQkJCWJyZWFrOwotCQlsZW4gPSBsaW5lbGVuKGxpbmUsIHNpemUpOwotCQlpZiAoIWxlbiB8fCBsaW5lW2xlbi0xXSAhPSAnXG4nKQotCQkJcmV0dXJuIC0xOwotCQlzd2l0Y2ggKCpsaW5lKSB7Ci0JCWRlZmF1bHQ6Ci0JCQlyZXR1cm4gLTE7Ci0JCWNhc2UgJ1xuJzogLyogbmV3ZXIgR05VIGRpZmYsIGFuIGVtcHR5IGNvbnRleHQgbGluZSAqLwotCQljYXNlICcgJzoKLQkJCW9sZGxpbmVzLS07Ci0JCQluZXdsaW5lcy0tOwotCQkJaWYgKCFkZWxldGVkICYmICFhZGRlZCkKLQkJCQlsZWFkaW5nKys7Ci0JCQl0cmFpbGluZysrOwotCQkJaWYgKCFhcHBseV9pbl9yZXZlcnNlICYmCi0JCQkgICAgd3NfZXJyb3JfYWN0aW9uID09IGNvcnJlY3Rfd3NfZXJyb3IpCi0JCQkJY2hlY2tfd2hpdGVzcGFjZShsaW5lLCBsZW4sIHBhdGNoLT53c19ydWxlKTsKLQkJCWJyZWFrOwotCQljYXNlICctJzoKLQkJCWlmIChhcHBseV9pbl9yZXZlcnNlICYmCi0JCQkgICAgd3NfZXJyb3JfYWN0aW9uICE9IG5vd2Fybl93c19lcnJvcikKLQkJCQljaGVja193aGl0ZXNwYWNlKGxpbmUsIGxlbiwgcGF0Y2gtPndzX3J1bGUpOwotCQkJZGVsZXRlZCsrOwotCQkJb2xkbGluZXMtLTsKLQkJCXRyYWlsaW5nID0gMDsKLQkJCWJyZWFrOwotCQljYXNlICcrJzoKLQkJCWlmICghYXBwbHlfaW5fcmV2ZXJzZSAmJgotCQkJICAgIHdzX2Vycm9yX2FjdGlvbiAhPSBub3dhcm5fd3NfZXJyb3IpCi0JCQkJY2hlY2tfd2hpdGVzcGFjZShsaW5lLCBsZW4sIHBhdGNoLT53c19ydWxlKTsKLQkJCWFkZGVkKys7Ci0JCQluZXdsaW5lcy0tOwotCQkJdHJhaWxpbmcgPSAwOwotCQkJYnJlYWs7Ci0KLQkJLyoKLQkJICogV2UgYWxsb3cgIlwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZSIuIERlcGVuZGluZwotICAgICAgICAgICAgICAgICAqIG9uIGxvY2FsZSBzZXR0aW5ncyB3aGVuIHRoZSBwYXRjaCB3YXMgcHJvZHVjZWQgd2UKLSAgICAgICAgICAgICAgICAgKiBkb24ndCBrbm93IHdoYXQgdGhpcyBsaW5lIGxvb2tzIGxpa2UuIFRoZSBvbmx5Ci0gICAgICAgICAgICAgICAgICogdGhpbmcgd2UgZG8ga25vdyBpcyB0aGF0IGl0IGJlZ2lucyB3aXRoICJcICIuCi0JCSAqIENoZWNraW5nIGZvciAxMiBpcyBqdXN0IGZvciBzYW5pdHkgY2hlY2sgLS0gYW55Ci0JCSAqIGwxMG4gb2YgIlwgTm8gbmV3bGluZS4uLiIgaXMgYXQgbGVhc3QgdGhhdCBsb25nLgotCQkgKi8KLQkJY2FzZSAnXFwnOgotCQkJaWYgKGxlbiA8IDEyIHx8IG1lbWNtcChsaW5lLCAiXFwgIiwgMikpCi0JCQkJcmV0dXJuIC0xOwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0JaWYgKG9sZGxpbmVzIHx8IG5ld2xpbmVzKQotCQlyZXR1cm4gLTE7Ci0JaWYgKCFkZWxldGVkICYmICFhZGRlZCkKLQkJcmV0dXJuIC0xOwotCi0JZnJhZ21lbnQtPmxlYWRpbmcgPSBsZWFkaW5nOwotCWZyYWdtZW50LT50cmFpbGluZyA9IHRyYWlsaW5nOwotCi0JLyoKLQkgKiBJZiBhIGZyYWdtZW50IGVuZHMgd2l0aCBhbiBpbmNvbXBsZXRlIGxpbmUsIHdlIGZhaWxlZCB0byBpbmNsdWRlCi0JICogaXQgaW4gdGhlIGFib3ZlIGxvb3AgYmVjYXVzZSB3ZSBoaXQgb2xkbGluZXMgPT0gbmV3bGluZXMgPT0gMAotCSAqIGJlZm9yZSBzZWVpbmcgaXQuCi0JICovCi0JaWYgKDEyIDwgc2l6ZSAmJiAhbWVtY21wKGxpbmUsICJcXCAiLCAyKSkKLQkJb2Zmc2V0ICs9IGxpbmVsZW4obGluZSwgc2l6ZSk7Ci0KLQlwYXRjaC0+bGluZXNfYWRkZWQgKz0gYWRkZWQ7Ci0JcGF0Y2gtPmxpbmVzX2RlbGV0ZWQgKz0gZGVsZXRlZDsKLQotCWlmICgwIDwgcGF0Y2gtPmlzX25ldyAmJiBvbGRsaW5lcykKLQkJcmV0dXJuIGVycm9yKF8oIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIikpOwotCWlmICgwIDwgcGF0Y2gtPmlzX2RlbGV0ZSAmJiBuZXdsaW5lcykKLQkJcmV0dXJuIGVycm9yKF8oImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiKSk7Ci0JcmV0dXJuIG9mZnNldDsKLX0KLQotLyoKLSAqIFdlIGhhdmUgc2VlbiAiZGlmZiAtLWdpdCBhLy4uLiBiLy4uLiIgaGVhZGVyIChvciBhIHRyYWRpdGlvbmFsIHBhdGNoCi0gKiBoZWFkZXIpLiAgUmVhZCBodW5rcyB0aGF0IGJlbG9uZyB0byB0aGlzIHBhdGNoIGludG8gZnJhZ21lbnRzIGFuZCBoYW5nCi0gKiB0aGVtIHRvIHRoZSBnaXZlbiBwYXRjaCBzdHJ1Y3R1cmUuCi0gKgotICogVGhlIChmcmFnbWVudC0+cGF0Y2gsIGZyYWdtZW50LT5zaXplKSBwYWlyIHBvaW50cyBpbnRvIHRoZSBtZW1vcnkgZ2l2ZW4KLSAqIGJ5IHRoZSBjYWxsZXIsIG5vdCBhIGNvcHksIHdoZW4gd2UgcmV0dXJuLgotICovCi1zdGF0aWMgaW50IHBhcnNlX3NpbmdsZV9wYXRjaChjb25zdCBjaGFyICpsaW5lLCB1bnNpZ25lZCBsb25nIHNpemUsIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCi17Ci0JdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwOwotCXVuc2lnbmVkIGxvbmcgb2xkbGluZXMgPSAwLCBuZXdsaW5lcyA9IDAsIGNvbnRleHQgPSAwOwotCXN0cnVjdCBmcmFnbWVudCAqKmZyYWdwID0gJnBhdGNoLT5mcmFnbWVudHM7Ci0KLQl3aGlsZSAoc2l6ZSA+IDQgJiYgIW1lbWNtcChsaW5lLCAiQEAgLSIsIDQpKSB7Ci0JCXN0cnVjdCBmcmFnbWVudCAqZnJhZ21lbnQ7Ci0JCWludCBsZW47Ci0KLQkJZnJhZ21lbnQgPSB4Y2FsbG9jKDEsIHNpemVvZigqZnJhZ21lbnQpKTsKLQkJZnJhZ21lbnQtPmxpbmVuciA9IGxpbmVucjsKLQkJbGVuID0gcGFyc2VfZnJhZ21lbnQobGluZSwgc2l6ZSwgcGF0Y2gsIGZyYWdtZW50KTsKLQkJaWYgKGxlbiA8PSAwKQotCQkJZGllKF8oImNvcnJ1cHQgcGF0Y2ggYXQgbGluZSAlZCIpLCBsaW5lbnIpOwotCQlmcmFnbWVudC0+cGF0Y2ggPSBsaW5lOwotCQlmcmFnbWVudC0+c2l6ZSA9IGxlbjsKLQkJb2xkbGluZXMgKz0gZnJhZ21lbnQtPm9sZGxpbmVzOwotCQluZXdsaW5lcyArPSBmcmFnbWVudC0+bmV3bGluZXM7Ci0JCWNvbnRleHQgKz0gZnJhZ21lbnQtPmxlYWRpbmcgKyBmcmFnbWVudC0+dHJhaWxpbmc7Ci0KLQkJKmZyYWdwID0gZnJhZ21lbnQ7Ci0JCWZyYWdwID0gJmZyYWdtZW50LT5uZXh0OwotCi0JCW9mZnNldCArPSBsZW47Ci0JCWxpbmUgKz0gbGVuOwotCQlzaXplIC09IGxlbjsKLQl9Ci0KLQkvKgotCSAqIElmIHNvbWV0aGluZyB3YXMgcmVtb3ZlZCAoaS5lLiB3ZSBoYXZlIG9sZC1saW5lcykgaXQgY2Fubm90Ci0JICogYmUgY3JlYXRpb24sIGFuZCBpZiBzb21ldGhpbmcgd2FzIGFkZGVkIGl0IGNhbm5vdCBiZQotCSAqIGRlbGV0aW9uLiAgSG93ZXZlciwgdGhlIHJldmVyc2UgaXMgbm90IHRydWU7IC0tdW5pZmllZD0wCi0JICogcGF0Y2hlcyB0aGF0IG9ubHkgYWRkIGFyZSBub3QgbmVjZXNzYXJpbHkgY3JlYXRpb24gZXZlbgotCSAqIHRob3VnaCB0aGV5IGRvIG5vdCBoYXZlIGFueSBvbGQgbGluZXMsIGFuZCBvbmVzIHRoYXQgb25seQotCSAqIGRlbGV0ZSBhcmUgbm90IG5lY2Vzc2FyaWx5IGRlbGV0aW9uLgotCSAqCi0JICogVW5mb3J0dW5hdGVseSwgYSByZWFsIGNyZWF0aW9uL2RlbGV0aW9uIHBhdGNoIGRvIF9ub3RfIGhhdmUKLQkgKiBhbnkgY29udGV4dCBsaW5lIGJ5IGRlZmluaXRpb24sIHNvIHdlIGNhbm5vdCBzYWZlbHkgdGVsbCBpdAotCSAqIGFwYXJ0IHdpdGggLS11bmlmaWVkPTAgaW5zYW5pdHkuICBBdCBsZWFzdCBpZiB0aGUgcGF0Y2ggaGFzCi0JICogbW9yZSB0aGFuIG9uZSBodW5rIGl0IGlzIG5vdCBjcmVhdGlvbiBvciBkZWxldGlvbi4KLQkgKi8KLQlpZiAocGF0Y2gtPmlzX25ldyA8IDAgJiYKLQkgICAgKG9sZGxpbmVzIHx8IChwYXRjaC0+ZnJhZ21lbnRzICYmIHBhdGNoLT5mcmFnbWVudHMtPm5leHQpKSkKLQkJcGF0Y2gtPmlzX25ldyA9IDA7Ci0JaWYgKHBhdGNoLT5pc19kZWxldGUgPCAwICYmCi0JICAgIChuZXdsaW5lcyB8fCAocGF0Y2gtPmZyYWdtZW50cyAmJiBwYXRjaC0+ZnJhZ21lbnRzLT5uZXh0KSkpCi0JCXBhdGNoLT5pc19kZWxldGUgPSAwOwotCi0JaWYgKDAgPCBwYXRjaC0+aXNfbmV3ICYmIG9sZGxpbmVzKQotCQlkaWUoXygibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiKSwgcGF0Y2gtPm5ld19uYW1lKTsKLQlpZiAoMCA8IHBhdGNoLT5pc19kZWxldGUgJiYgbmV3bGluZXMpCi0JCWRpZShfKCJkZWxldGVkIGZpbGUgJXMgc3RpbGwgaGFzIGNvbnRlbnRzIiksIHBhdGNoLT5vbGRfbmFtZSk7Ci0JaWYgKCFwYXRjaC0+aXNfZGVsZXRlICYmICFuZXdsaW5lcyAmJiBjb250ZXh0KQotCQlmcHJpbnRmX2xuKHN0ZGVyciwKLQkJCSAgIF8oIioqIHdhcm5pbmc6ICIKLQkJCSAgICAgImZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiKSwKLQkJCSAgIHBhdGNoLT5uZXdfbmFtZSk7Ci0KLQlyZXR1cm4gb2Zmc2V0OwotfQotCi1zdGF0aWMgaW5saW5lIGludCBtZXRhZGF0YV9jaGFuZ2VzKHN0cnVjdCBwYXRjaCAqcGF0Y2gpCi17Ci0JcmV0dXJuCXBhdGNoLT5pc19yZW5hbWUgPiAwIHx8Ci0JCXBhdGNoLT5pc19jb3B5ID4gMCB8fAotCQlwYXRjaC0+aXNfbmV3ID4gMCB8fAotCQlwYXRjaC0+aXNfZGVsZXRlIHx8Ci0JCShwYXRjaC0+b2xkX21vZGUgJiYgcGF0Y2gtPm5ld19tb2RlICYmCi0JCSBwYXRjaC0+b2xkX21vZGUgIT0gcGF0Y2gtPm5ld19tb2RlKTsKLX0KLQotc3RhdGljIGNoYXIgKmluZmxhdGVfaXQoY29uc3Qgdm9pZCAqZGF0YSwgdW5zaWduZWQgbG9uZyBzaXplLAotCQkJdW5zaWduZWQgbG9uZyBpbmZsYXRlZF9zaXplKQotewotCWdpdF96c3RyZWFtIHN0cmVhbTsKLQl2b2lkICpvdXQ7Ci0JaW50IHN0OwotCi0JbWVtc2V0KCZzdHJlYW0sIDAsIHNpemVvZihzdHJlYW0pKTsKLQotCXN0cmVhbS5uZXh0X2luID0gKHVuc2lnbmVkIGNoYXIgKilkYXRhOwotCXN0cmVhbS5hdmFpbF9pbiA9IHNpemU7Ci0Jc3RyZWFtLm5leHRfb3V0ID0gb3V0ID0geG1hbGxvYyhpbmZsYXRlZF9zaXplKTsKLQlzdHJlYW0uYXZhaWxfb3V0ID0gaW5mbGF0ZWRfc2l6ZTsKLQlnaXRfaW5mbGF0ZV9pbml0KCZzdHJlYW0pOwotCXN0ID0gZ2l0X2luZmxhdGUoJnN0cmVhbSwgWl9GSU5JU0gpOwotCWdpdF9pbmZsYXRlX2VuZCgmc3RyZWFtKTsKLQlpZiAoKHN0ICE9IFpfU1RSRUFNX0VORCkgfHwgc3RyZWFtLnRvdGFsX291dCAhPSBpbmZsYXRlZF9zaXplKSB7Ci0JCWZyZWUob3V0KTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCXJldHVybiBvdXQ7Ci19Ci0KLS8qCi0gKiBSZWFkIGEgYmluYXJ5IGh1bmsgYW5kIHJldHVybiBhIG5ldyBmcmFnbWVudDsgZnJhZ21lbnQtPnBhdGNoCi0gKiBwb2ludHMgYXQgYW4gYWxsb2NhdGVkIG1lbW9yeSB0aGF0IHRoZSBjYWxsZXIgbXVzdCBmcmVlLCBzbwotICogaXQgaXMgbWFya2VkIGFzICItPmZyZWVfcGF0Y2ggPSAxIi4KLSAqLwotc3RhdGljIHN0cnVjdCBmcmFnbWVudCAqcGFyc2VfYmluYXJ5X2h1bmsoY2hhciAqKmJ1Zl9wLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcgKnN6X3AsCi0JCQkJCSAgaW50ICpzdGF0dXNfcCwKLQkJCQkJICBpbnQgKnVzZWRfcCkKLXsKLQkvKgotCSAqIEV4cGVjdCBhIGxpbmUgdGhhdCBiZWdpbnMgd2l0aCBiaW5hcnkgcGF0Y2ggbWV0aG9kICgibGl0ZXJhbCIKLQkgKiBvciAiZGVsdGEiKSwgZm9sbG93ZWQgYnkgdGhlIGxlbmd0aCBvZiBkYXRhIGJlZm9yZSBkZWZsYXRpbmcuCi0JICogYSBzZXF1ZW5jZSBvZiAnbGVuZ3RoLWJ5dGUnIGZvbGxvd2VkIGJ5IGJhc2UtODUgZW5jb2RlZCBkYXRhCi0JICogc2hvdWxkIGZvbGxvdywgdGVybWluYXRlZCBieSBhIG5ld2xpbmUuCi0JICoKLQkgKiBFYWNoIDUtYnl0ZSBzZXF1ZW5jZSBvZiBiYXNlLTg1IGVuY29kZXMgdXAgdG8gNCBieXRlcywKLQkgKiBhbmQgd2Ugd291bGQgbGltaXQgdGhlIHBhdGNoIGxpbmUgdG8gNjYgY2hhcmFjdGVycywKLQkgKiBzbyBvbmUgbGluZSBjYW4gZml0IHVwIHRvIDEzIGdyb3VwcyB0aGF0IHdvdWxkIGRlY29kZQotCSAqIHRvIDUyIGJ5dGVzIG1heC4gIFRoZSBsZW5ndGggYnl0ZSAnQSctJ1onIGNvcnJlc3BvbmRzCi0JICogdG8gMS0yNiBieXRlcywgYW5kICdhJy0neicgY29ycmVzcG9uZHMgdG8gMjctNTIgYnl0ZXMuCi0JICovCi0JaW50IGxsZW4sIHVzZWQ7Ci0JdW5zaWduZWQgbG9uZyBzaXplID0gKnN6X3A7Ci0JY2hhciAqYnVmZmVyID0gKmJ1Zl9wOwotCWludCBwYXRjaF9tZXRob2Q7Ci0JdW5zaWduZWQgbG9uZyBvcmlnbGVuOwotCWNoYXIgKmRhdGEgPSBOVUxMOwotCWludCBodW5rX3NpemUgPSAwOwotCXN0cnVjdCBmcmFnbWVudCAqZnJhZzsKLQotCWxsZW4gPSBsaW5lbGVuKGJ1ZmZlciwgc2l6ZSk7Ci0JdXNlZCA9IGxsZW47Ci0KLQkqc3RhdHVzX3AgPSAwOwotCi0JaWYgKHN0YXJ0c193aXRoKGJ1ZmZlciwgImRlbHRhICIpKSB7Ci0JCXBhdGNoX21ldGhvZCA9IEJJTkFSWV9ERUxUQV9ERUZMQVRFRDsKLQkJb3JpZ2xlbiA9IHN0cnRvdWwoYnVmZmVyICsgNiwgTlVMTCwgMTApOwotCX0KLQllbHNlIGlmIChzdGFydHNfd2l0aChidWZmZXIsICJsaXRlcmFsICIpKSB7Ci0JCXBhdGNoX21ldGhvZCA9IEJJTkFSWV9MSVRFUkFMX0RFRkxBVEVEOwotCQlvcmlnbGVuID0gc3RydG91bChidWZmZXIgKyA4LCBOVUxMLCAxMCk7Ci0JfQotCWVsc2UKLQkJcmV0dXJuIE5VTEw7Ci0KLQlsaW5lbnIrKzsKLQlidWZmZXIgKz0gbGxlbjsKLQl3aGlsZSAoMSkgewotCQlpbnQgYnl0ZV9sZW5ndGgsIG1heF9ieXRlX2xlbmd0aCwgbmV3c2l6ZTsKLQkJbGxlbiA9IGxpbmVsZW4oYnVmZmVyLCBzaXplKTsKLQkJdXNlZCArPSBsbGVuOwotCQlsaW5lbnIrKzsKLQkJaWYgKGxsZW4gPT0gMSkgewotCQkJLyogY29uc3VtZSB0aGUgYmxhbmsgbGluZSAqLwotCQkJYnVmZmVyKys7Ci0JCQlzaXplLS07Ci0JCQlicmVhazsKLQkJfQotCQkvKgotCQkgKiBNaW5pbXVtIGxpbmUgaXMgIkEwMDAwMFxuIiB3aGljaCBpcyA3LWJ5dGUgbG9uZywKLQkJICogYW5kIHRoZSBsaW5lIGxlbmd0aCBtdXN0IGJlIG11bHRpcGxlIG9mIDUgcGx1cyAyLgotCQkgKi8KLQkJaWYgKChsbGVuIDwgNykgfHwgKGxsZW4tMikgJSA1KQotCQkJZ290byBjb3JydXB0OwotCQltYXhfYnl0ZV9sZW5ndGggPSAobGxlbiAtIDIpIC8gNSAqIDQ7Ci0JCWJ5dGVfbGVuZ3RoID0gKmJ1ZmZlcjsKLQkJaWYgKCdBJyA8PSBieXRlX2xlbmd0aCAmJiBieXRlX2xlbmd0aCA8PSAnWicpCi0JCQlieXRlX2xlbmd0aCA9IGJ5dGVfbGVuZ3RoIC0gJ0EnICsgMTsKLQkJZWxzZSBpZiAoJ2EnIDw9IGJ5dGVfbGVuZ3RoICYmIGJ5dGVfbGVuZ3RoIDw9ICd6JykKLQkJCWJ5dGVfbGVuZ3RoID0gYnl0ZV9sZW5ndGggLSAnYScgKyAyNzsKLQkJZWxzZQotCQkJZ290byBjb3JydXB0OwotCQkvKiBpZiB0aGUgaW5wdXQgbGVuZ3RoIHdhcyBub3QgbXVsdGlwbGUgb2YgNCwgd2Ugd291bGQKLQkJICogaGF2ZSBmaWxsZXIgYXQgdGhlIGVuZCBidXQgdGhlIGZpbGxlciBzaG91bGQgbmV2ZXIKLQkJICogZXhjZWVkIDMgYnl0ZXMKLQkJICovCi0JCWlmIChtYXhfYnl0ZV9sZW5ndGggPCBieXRlX2xlbmd0aCB8fAotCQkgICAgYnl0ZV9sZW5ndGggPD0gbWF4X2J5dGVfbGVuZ3RoIC0gNCkKLQkJCWdvdG8gY29ycnVwdDsKLQkJbmV3c2l6ZSA9IGh1bmtfc2l6ZSArIGJ5dGVfbGVuZ3RoOwotCQlkYXRhID0geHJlYWxsb2MoZGF0YSwgbmV3c2l6ZSk7Ci0JCWlmIChkZWNvZGVfODUoZGF0YSArIGh1bmtfc2l6ZSwgYnVmZmVyICsgMSwgYnl0ZV9sZW5ndGgpKQotCQkJZ290byBjb3JydXB0OwotCQlodW5rX3NpemUgPSBuZXdzaXplOwotCQlidWZmZXIgKz0gbGxlbjsKLQkJc2l6ZSAtPSBsbGVuOwotCX0KLQotCWZyYWcgPSB4Y2FsbG9jKDEsIHNpemVvZigqZnJhZykpOwotCWZyYWctPnBhdGNoID0gaW5mbGF0ZV9pdChkYXRhLCBodW5rX3NpemUsIG9yaWdsZW4pOwotCWZyYWctPmZyZWVfcGF0Y2ggPSAxOwotCWlmICghZnJhZy0+cGF0Y2gpCi0JCWdvdG8gY29ycnVwdDsKLQlmcmVlKGRhdGEpOwotCWZyYWctPnNpemUgPSBvcmlnbGVuOwotCSpidWZfcCA9IGJ1ZmZlcjsKLQkqc3pfcCA9IHNpemU7Ci0JKnVzZWRfcCA9IHVzZWQ7Ci0JZnJhZy0+YmluYXJ5X3BhdGNoX21ldGhvZCA9IHBhdGNoX21ldGhvZDsKLQlyZXR1cm4gZnJhZzsKLQotIGNvcnJ1cHQ6Ci0JZnJlZShkYXRhKTsKLQkqc3RhdHVzX3AgPSAtMTsKLQllcnJvcihfKCJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIiksCi0JICAgICAgbGluZW5yLTEsIGxsZW4tMSwgYnVmZmVyKTsKLQlyZXR1cm4gTlVMTDsKLX0KLQotLyoKLSAqIFJldHVybnM6Ci0gKiAgIC0xIGluIGNhc2Ugb2YgZXJyb3IsCi0gKiAgIHRoZSBsZW5ndGggb2YgdGhlIHBhcnNlZCBiaW5hcnkgcGF0Y2ggb3RoZXJ3aXNlCi0gKi8KLXN0YXRpYyBpbnQgcGFyc2VfYmluYXJ5KGNoYXIgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBzaXplLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotewotCS8qCi0JICogV2UgaGF2ZSByZWFkICJHSVQgYmluYXJ5IHBhdGNoXG4iOyB3aGF0IGZvbGxvd3MgaXMgYSBsaW5lCi0JICogdGhhdCBzYXlzIHRoZSBwYXRjaCBtZXRob2QgKGN1cnJlbnRseSwgZWl0aGVyICJsaXRlcmFsIiBvcgotCSAqICJkZWx0YSIpIGFuZCB0aGUgbGVuZ3RoIG9mIGRhdGEgYmVmb3JlIGRlZmxhdGluZzsgYQotCSAqIHNlcXVlbmNlIG9mICdsZW5ndGgtYnl0ZScgZm9sbG93ZWQgYnkgYmFzZS04NSBlbmNvZGVkIGRhdGEKLQkgKiBmb2xsb3dzLgotCSAqCi0JICogV2hlbiBhIGJpbmFyeSBwYXRjaCBpcyByZXZlcnNpYmxlLCB0aGVyZSBpcyBhbm90aGVyIGJpbmFyeQotCSAqIGh1bmsgaW4gdGhlIHNhbWUgZm9ybWF0LCBzdGFydGluZyB3aXRoIHBhdGNoIG1ldGhvZCAoZWl0aGVyCi0JICogImxpdGVyYWwiIG9yICJkZWx0YSIpIHdpdGggdGhlIGxlbmd0aCBvZiBkYXRhLCBhbmQgYSBzZXF1ZW5jZQotCSAqIG9mIGxlbmd0aC1ieXRlICsgYmFzZS04NSBlbmNvZGVkIGRhdGEsIHRlcm1pbmF0ZWQgd2l0aCBhbm90aGVyCi0JICogZW1wdHkgbGluZS4gIFRoaXMgZGF0YSwgd2hlbiBhcHBsaWVkIHRvIHRoZSBwb3N0aW1hZ2UsIHByb2R1Y2VzCi0JICogdGhlIHByZWltYWdlLgotCSAqLwotCXN0cnVjdCBmcmFnbWVudCAqZm9yd2FyZDsKLQlzdHJ1Y3QgZnJhZ21lbnQgKnJldmVyc2U7Ci0JaW50IHN0YXR1czsKLQlpbnQgdXNlZCwgdXNlZF8xOwotCi0JZm9yd2FyZCA9IHBhcnNlX2JpbmFyeV9odW5rKCZidWZmZXIsICZzaXplLCAmc3RhdHVzLCAmdXNlZCk7Ci0JaWYgKCFmb3J3YXJkICYmICFzdGF0dXMpCi0JCS8qIHRoZXJlIGhhcyB0byBiZSBvbmUgaHVuayAoZm9yd2FyZCBodW5rKSAqLwotCQlyZXR1cm4gZXJyb3IoXygidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIiksIGxpbmVuci0xKTsKLQlpZiAoc3RhdHVzKQotCQkvKiBvdGhlcndpc2Ugd2UgYWxyZWFkeSBnYXZlIGFuIGVycm9yIG1lc3NhZ2UgKi8KLQkJcmV0dXJuIHN0YXR1czsKLQotCXJldmVyc2UgPSBwYXJzZV9iaW5hcnlfaHVuaygmYnVmZmVyLCAmc2l6ZSwgJnN0YXR1cywgJnVzZWRfMSk7Ci0JaWYgKHJldmVyc2UpCi0JCXVzZWQgKz0gdXNlZF8xOwotCWVsc2UgaWYgKHN0YXR1cykgewotCQkvKgotCQkgKiBOb3QgaGF2aW5nIHJldmVyc2UgaHVuayBpcyBub3QgYW4gZXJyb3IsIGJ1dCBoYXZpbmcKLQkJICogYSBjb3JydXB0IHJldmVyc2UgaHVuayBpcy4KLQkJICovCi0JCWZyZWUoKHZvaWQqKSBmb3J3YXJkLT5wYXRjaCk7Ci0JCWZyZWUoZm9yd2FyZCk7Ci0JCXJldHVybiBzdGF0dXM7Ci0JfQotCWZvcndhcmQtPm5leHQgPSByZXZlcnNlOwotCXBhdGNoLT5mcmFnbWVudHMgPSBmb3J3YXJkOwotCXBhdGNoLT5pc19iaW5hcnkgPSAxOwotCXJldHVybiB1c2VkOwotfQotCi1zdGF0aWMgdm9pZCBwcmVmaXhfb25lKGNoYXIgKipuYW1lKQotewotCWNoYXIgKm9sZF9uYW1lID0gKm5hbWU7Ci0JaWYgKCFvbGRfbmFtZSkKLQkJcmV0dXJuOwotCSpuYW1lID0geHN0cmR1cChwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBwcmVmaXhfbGVuZ3RoLCAqbmFtZSkpOwotCWZyZWUob2xkX25hbWUpOwotfQotCi1zdGF0aWMgdm9pZCBwcmVmaXhfcGF0Y2goc3RydWN0IHBhdGNoICpwKQotewotCWlmICghcHJlZml4IHx8IHAtPmlzX3RvcGxldmVsX3JlbGF0aXZlKQotCQlyZXR1cm47Ci0JcHJlZml4X29uZSgmcC0+bmV3X25hbWUpOwotCXByZWZpeF9vbmUoJnAtPm9sZF9uYW1lKTsKLX0KLQotLyoKLSAqIGluY2x1ZGUvZXhjbHVkZQotICovCi0KLXN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgbGltaXRfYnlfbmFtZTsKLXN0YXRpYyBpbnQgaGFzX2luY2x1ZGU7Ci1zdGF0aWMgdm9pZCBhZGRfbmFtZV9saW1pdChjb25zdCBjaGFyICpuYW1lLCBpbnQgZXhjbHVkZSkKLXsKLQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXQ7Ci0KLQlpdCA9IHN0cmluZ19saXN0X2FwcGVuZCgmbGltaXRfYnlfbmFtZSwgbmFtZSk7Ci0JaXQtPnV0aWwgPSBleGNsdWRlID8gTlVMTCA6ICh2b2lkICopIDE7Ci19Ci0KLXN0YXRpYyBpbnQgdXNlX3BhdGNoKHN0cnVjdCBwYXRjaCAqcCkKLXsKLQljb25zdCBjaGFyICpwYXRobmFtZSA9IHAtPm5ld19uYW1lID8gcC0+bmV3X25hbWUgOiBwLT5vbGRfbmFtZTsKLQlpbnQgaTsKLQotCS8qIFBhdGhzIG91dHNpZGUgYXJlIG5vdCB0b3VjaGVkIHJlZ2FyZGxlc3Mgb2YgIi0taW5jbHVkZSIgKi8KLQlpZiAoMCA8IHByZWZpeF9sZW5ndGgpIHsKLQkJaW50IHBhdGhsZW4gPSBzdHJsZW4ocGF0aG5hbWUpOwotCQlpZiAocGF0aGxlbiA8PSBwcmVmaXhfbGVuZ3RoIHx8Ci0JCSAgICBtZW1jbXAocHJlZml4LCBwYXRobmFtZSwgcHJlZml4X2xlbmd0aCkpCi0JCQlyZXR1cm4gMDsKLQl9Ci0KLQkvKiBTZWUgaWYgaXQgbWF0Y2hlcyBhbnkgb2YgZXhjbHVkZS9pbmNsdWRlIHJ1bGUgKi8KLQlmb3IgKGkgPSAwOyBpIDwgbGltaXRfYnlfbmFtZS5ucjsgaSsrKSB7Ci0JCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdCA9ICZsaW1pdF9ieV9uYW1lLml0ZW1zW2ldOwotCQlpZiAoIXdpbGRtYXRjaChpdC0+c3RyaW5nLCBwYXRobmFtZSwgMCwgTlVMTCkpCi0JCQlyZXR1cm4gKGl0LT51dGlsICE9IE5VTEwpOwotCX0KLQotCS8qCi0JICogSWYgd2UgaGFkIGFueSBpbmNsdWRlLCBhIHBhdGggdGhhdCBkb2VzIG5vdCBtYXRjaCBhbnkgcnVsZSBpcwotCSAqIG5vdCB1c2VkLiAgT3RoZXJ3aXNlLCB3ZSBzYXcgYnVuY2ggb2YgZXhjbHVkZSBydWxlcyAob3Igbm9uZSkKLQkgKiBhbmQgc3VjaCBhIHBhdGggaXMgdXNlZC4KLQkgKi8KLQlyZXR1cm4gIWhhc19pbmNsdWRlOwotfQotCi0KLS8qCi0gKiBSZWFkIHRoZSBwYXRjaCB0ZXh0IGluICJidWZmZXIiIHRoYXQgZXh0ZW5kcyBmb3IgInNpemUiIGJ5dGVzOyBzdG9wCi0gKiByZWFkaW5nIGFmdGVyIHNlZWluZyBhIHNpbmdsZSBwYXRjaCAoaS5lLiBjaGFuZ2VzIHRvIGEgc2luZ2xlIGZpbGUpLgotICogQ3JlYXRlIGZyYWdtZW50cyAoaS5lLiBwYXRjaCBodW5rcykgYW5kIGhhbmcgdGhlbSB0byB0aGUgZ2l2ZW4gcGF0Y2guCi0gKiBSZXR1cm4gdGhlIG51bWJlciBvZiBieXRlcyBjb25zdW1lZCwgc28gdGhhdCB0aGUgY2FsbGVyIGNhbiBjYWxsIHVzCi0gKiBhZ2FpbiBmb3IgdGhlIG5leHQgcGF0Y2guCi0gKi8KLXN0YXRpYyBpbnQgcGFyc2VfY2h1bmsoY2hhciAqYnVmZmVyLCB1bnNpZ25lZCBsb25nIHNpemUsIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCi17Ci0JaW50IGhkcnNpemUsIHBhdGNoc2l6ZTsKLQlpbnQgb2Zmc2V0ID0gZmluZF9oZWFkZXIoYnVmZmVyLCBzaXplLCAmaGRyc2l6ZSwgcGF0Y2gpOwotCi0JaWYgKG9mZnNldCA8IDApCi0JCXJldHVybiBvZmZzZXQ7Ci0KLQlwcmVmaXhfcGF0Y2gocGF0Y2gpOwotCi0JaWYgKCF1c2VfcGF0Y2gocGF0Y2gpKQotCQlwYXRjaC0+d3NfcnVsZSA9IDA7Ci0JZWxzZQotCQlwYXRjaC0+d3NfcnVsZSA9IHdoaXRlc3BhY2VfcnVsZShwYXRjaC0+bmV3X25hbWUKLQkJCQkJCSA/IHBhdGNoLT5uZXdfbmFtZQotCQkJCQkJIDogcGF0Y2gtPm9sZF9uYW1lKTsKLQotCXBhdGNoc2l6ZSA9IHBhcnNlX3NpbmdsZV9wYXRjaChidWZmZXIgKyBvZmZzZXQgKyBoZHJzaXplLAotCQkJCSAgICAgICBzaXplIC0gb2Zmc2V0IC0gaGRyc2l6ZSwgcGF0Y2gpOwotCi0JaWYgKCFwYXRjaHNpemUpIHsKLQkJc3RhdGljIGNvbnN0IGNoYXIgZ2l0X2JpbmFyeVtdID0gIkdJVCBiaW5hcnkgcGF0Y2hcbiI7Ci0JCWludCBoZCA9IGhkcnNpemUgKyBvZmZzZXQ7Ci0JCXVuc2lnbmVkIGxvbmcgbGxlbiA9IGxpbmVsZW4oYnVmZmVyICsgaGQsIHNpemUgLSBoZCk7Ci0KLQkJaWYgKGxsZW4gPT0gc2l6ZW9mKGdpdF9iaW5hcnkpIC0gMSAmJgotCQkgICAgIW1lbWNtcChnaXRfYmluYXJ5LCBidWZmZXIgKyBoZCwgbGxlbikpIHsKLQkJCWludCB1c2VkOwotCQkJbGluZW5yKys7Ci0JCQl1c2VkID0gcGFyc2VfYmluYXJ5KGJ1ZmZlciArIGhkICsgbGxlbiwKLQkJCQkJICAgIHNpemUgLSBoZCAtIGxsZW4sIHBhdGNoKTsKLQkJCWlmICh1c2VkIDwgMCkKLQkJCQlyZXR1cm4gLTE7Ci0JCQlpZiAodXNlZCkKLQkJCQlwYXRjaHNpemUgPSB1c2VkICsgbGxlbjsKLQkJCWVsc2UKLQkJCQlwYXRjaHNpemUgPSAwOwotCQl9Ci0JCWVsc2UgaWYgKCFtZW1jbXAoIiBkaWZmZXJcbiIsIGJ1ZmZlciArIGhkICsgbGxlbiAtIDgsIDgpKSB7Ci0JCQlzdGF0aWMgY29uc3QgY2hhciAqYmluaGRyW10gPSB7Ci0JCQkJIkJpbmFyeSBmaWxlcyAiLAotCQkJCSJGaWxlcyAiLAotCQkJCU5VTEwsCi0JCQl9OwotCQkJaW50IGk7Ci0JCQlmb3IgKGkgPSAwOyBiaW5oZHJbaV07IGkrKykgewotCQkJCWludCBsZW4gPSBzdHJsZW4oYmluaGRyW2ldKTsKLQkJCQlpZiAobGVuIDwgc2l6ZSAtIGhkICYmCi0JCQkJICAgICFtZW1jbXAoYmluaGRyW2ldLCBidWZmZXIgKyBoZCwgbGVuKSkgewotCQkJCQlsaW5lbnIrKzsKLQkJCQkJcGF0Y2gtPmlzX2JpbmFyeSA9IDE7Ci0JCQkJCXBhdGNoc2l6ZSA9IGxsZW47Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQkJCX0KLQkJfQotCi0JCS8qIEVtcHR5IHBhdGNoIGNhbm5vdCBiZSBhcHBsaWVkIGlmIGl0IGlzIGEgdGV4dCBwYXRjaAotCQkgKiB3aXRob3V0IG1ldGFkYXRhIGNoYW5nZS4gIEEgYmluYXJ5IHBhdGNoIGFwcGVhcnMKLQkJICogZW1wdHkgdG8gdXMgaGVyZS4KLQkJICovCi0JCWlmICgoYXBwbHkgfHwgY2hlY2spICYmCi0JCSAgICAoIXBhdGNoLT5pc19iaW5hcnkgJiYgIW1ldGFkYXRhX2NoYW5nZXMocGF0Y2gpKSkKLQkJCWRpZShfKCJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIiksIGxpbmVucik7Ci0JfQotCi0JcmV0dXJuIG9mZnNldCArIGhkcnNpemUgKyBwYXRjaHNpemU7Ci19Ci0KLSNkZWZpbmUgc3dhcChhLGIpIG15c3dhcCgoYSksKGIpLHNpemVvZihhKSkKLQotI2RlZmluZSBteXN3YXAoYSwgYiwgc2l6ZSkgZG8gewkJXAotCXVuc2lnbmVkIGNoYXIgbXl0bXBbc2l6ZV07CVwKLQltZW1jcHkobXl0bXAsICZhLCBzaXplKTsJCVwKLQltZW1jcHkoJmEsICZiLCBzaXplKTsJCVwKLQltZW1jcHkoJmIsIG15dG1wLCBzaXplKTsJCVwKLX0gd2hpbGUgKDApCi0KLXN0YXRpYyB2b2lkIHJldmVyc2VfcGF0Y2hlcyhzdHJ1Y3QgcGF0Y2ggKnApCi17Ci0JZm9yICg7IHA7IHAgPSBwLT5uZXh0KSB7Ci0JCXN0cnVjdCBmcmFnbWVudCAqZnJhZyA9IHAtPmZyYWdtZW50czsKLQotCQlzd2FwKHAtPm5ld19uYW1lLCBwLT5vbGRfbmFtZSk7Ci0JCXN3YXAocC0+bmV3X21vZGUsIHAtPm9sZF9tb2RlKTsKLQkJc3dhcChwLT5pc19uZXcsIHAtPmlzX2RlbGV0ZSk7Ci0JCXN3YXAocC0+bGluZXNfYWRkZWQsIHAtPmxpbmVzX2RlbGV0ZWQpOwotCQlzd2FwKHAtPm9sZF9zaGExX3ByZWZpeCwgcC0+bmV3X3NoYTFfcHJlZml4KTsKLQotCQlmb3IgKDsgZnJhZzsgZnJhZyA9IGZyYWctPm5leHQpIHsKLQkJCXN3YXAoZnJhZy0+bmV3cG9zLCBmcmFnLT5vbGRwb3MpOwotCQkJc3dhcChmcmFnLT5uZXdsaW5lcywgZnJhZy0+b2xkbGluZXMpOwotCQl9Ci0JfQotfQotCi1zdGF0aWMgY29uc3QgY2hhciBwbHVzZXNbXSA9Ci0iKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyI7Ci1zdGF0aWMgY29uc3QgY2hhciBtaW51c2VzW109Ci0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSI7Ci0KLXN0YXRpYyB2b2lkIHNob3dfc3RhdHMoc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQlzdHJ1Y3Qgc3RyYnVmIHFuYW1lID0gU1RSQlVGX0lOSVQ7Ci0JY2hhciAqY3AgPSBwYXRjaC0+bmV3X25hbWUgPyBwYXRjaC0+bmV3X25hbWUgOiBwYXRjaC0+b2xkX25hbWU7Ci0JaW50IG1heCwgYWRkLCBkZWw7Ci0KLQlxdW90ZV9jX3N0eWxlKGNwLCAmcW5hbWUsIE5VTEwsIDApOwotCi0JLyoKLQkgKiAic2NhbGUiIHRoZSBmaWxlbmFtZQotCSAqLwotCW1heCA9IG1heF9sZW47Ci0JaWYgKG1heCA+IDUwKQotCQltYXggPSA1MDsKLQotCWlmIChxbmFtZS5sZW4gPiBtYXgpIHsKLQkJY3AgPSBzdHJjaHIocW5hbWUuYnVmICsgcW5hbWUubGVuICsgMyAtIG1heCwgJy8nKTsKLQkJaWYgKCFjcCkKLQkJCWNwID0gcW5hbWUuYnVmICsgcW5hbWUubGVuICsgMyAtIG1heDsKLQkJc3RyYnVmX3NwbGljZSgmcW5hbWUsIDAsIGNwIC0gcW5hbWUuYnVmLCAiLi4uIiwgMyk7Ci0JfQotCi0JaWYgKHBhdGNoLT5pc19iaW5hcnkpIHsKLQkJcHJpbnRmKCIgJS0qcyB8ICBCaW5cbiIsIG1heCwgcW5hbWUuYnVmKTsKLQkJc3RyYnVmX3JlbGVhc2UoJnFuYW1lKTsKLQkJcmV0dXJuOwotCX0KLQotCXByaW50ZigiICUtKnMgfCIsIG1heCwgcW5hbWUuYnVmKTsKLQlzdHJidWZfcmVsZWFzZSgmcW5hbWUpOwotCi0JLyoKLQkgKiBzY2FsZSB0aGUgYWRkL2RlbGV0ZQotCSAqLwotCW1heCA9IG1heCArIG1heF9jaGFuZ2UgPiA3MCA/IDcwIC0gbWF4IDogbWF4X2NoYW5nZTsKLQlhZGQgPSBwYXRjaC0+bGluZXNfYWRkZWQ7Ci0JZGVsID0gcGF0Y2gtPmxpbmVzX2RlbGV0ZWQ7Ci0KLQlpZiAobWF4X2NoYW5nZSA+IDApIHsKLQkJaW50IHRvdGFsID0gKChhZGQgKyBkZWwpICogbWF4ICsgbWF4X2NoYW5nZSAvIDIpIC8gbWF4X2NoYW5nZTsKLQkJYWRkID0gKGFkZCAqIG1heCArIG1heF9jaGFuZ2UgLyAyKSAvIG1heF9jaGFuZ2U7Ci0JCWRlbCA9IHRvdGFsIC0gYWRkOwotCX0KLQlwcmludGYoIiU1ZCAlLipzJS4qc1xuIiwgcGF0Y2gtPmxpbmVzX2FkZGVkICsgcGF0Y2gtPmxpbmVzX2RlbGV0ZWQsCi0JCWFkZCwgcGx1c2VzLCBkZWwsIG1pbnVzZXMpOwotfQotCi1zdGF0aWMgaW50IHJlYWRfb2xkX2RhdGEoc3RydWN0IHN0YXQgKnN0LCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RyYnVmICpidWYpCi17Ci0Jc3dpdGNoIChzdC0+c3RfbW9kZSAmIFNfSUZNVCkgewotCWNhc2UgU19JRkxOSzoKLQkJaWYgKHN0cmJ1Zl9yZWFkbGluayhidWYsIHBhdGgsIHN0LT5zdF9zaXplKSA8IDApCi0JCQlyZXR1cm4gZXJyb3IoXygidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIpLCBwYXRoKTsKLQkJcmV0dXJuIDA7Ci0JY2FzZSBTX0lGUkVHOgotCQlpZiAoc3RyYnVmX3JlYWRfZmlsZShidWYsIHBhdGgsIHN0LT5zdF9zaXplKSAhPSBzdC0+c3Rfc2l6ZSkKLQkJCXJldHVybiBlcnJvcihfKCJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIiksIHBhdGgpOwotCQljb252ZXJ0X3RvX2dpdChwYXRoLCBidWYtPmJ1ZiwgYnVmLT5sZW4sIGJ1ZiwgMCk7Ci0JCXJldHVybiAwOwotCWRlZmF1bHQ6Ci0JCXJldHVybiAtMTsKLQl9Ci19Ci0KLS8qCi0gKiBVcGRhdGUgdGhlIHByZWltYWdlLCBhbmQgdGhlIGNvbW1vbiBsaW5lcyBpbiBwb3N0aW1hZ2UsCi0gKiBmcm9tIGJ1ZmZlciBidWYgb2YgbGVuZ3RoIGxlbi4gSWYgcG9zdGxlbiBpcyAwIHRoZSBwb3N0aW1hZ2UKLSAqIGlzIHVwZGF0ZWQgaW4gcGxhY2UsIG90aGVyd2lzZSBpdCdzIHVwZGF0ZWQgb24gYSBuZXcgYnVmZmVyCi0gKiBvZiBsZW5ndGggcG9zdGxlbgotICovCi0KLXN0YXRpYyB2b2lkIHVwZGF0ZV9wcmVfcG9zdF9pbWFnZXMoc3RydWN0IGltYWdlICpwcmVpbWFnZSwKLQkJCQkgICBzdHJ1Y3QgaW1hZ2UgKnBvc3RpbWFnZSwKLQkJCQkgICBjaGFyICpidWYsCi0JCQkJICAgc2l6ZV90IGxlbiwgc2l6ZV90IHBvc3RsZW4pCi17Ci0JaW50IGksIGN0eCwgcmVkdWNlZDsKLQljaGFyICpuZXcsICpvbGQsICpmaXhlZDsKLQlzdHJ1Y3QgaW1hZ2UgZml4ZWRfcHJlaW1hZ2U7Ci0KLQkvKgotCSAqIFVwZGF0ZSB0aGUgcHJlaW1hZ2Ugd2l0aCB3aGl0ZXNwYWNlIGZpeGVzLiAgTm90ZSB0aGF0IHdlCi0JICogYXJlIG5vdCBsb3NpbmcgcHJlaW1hZ2UtPmJ1ZiAtLSBhcHBseV9vbmVfZnJhZ21lbnQoKSB3aWxsCi0JICogZnJlZSAib2xkbGluZXMiLgotCSAqLwotCXByZXBhcmVfaW1hZ2UoJmZpeGVkX3ByZWltYWdlLCBidWYsIGxlbiwgMSk7Ci0JYXNzZXJ0KHBvc3RsZW4KLQkgICAgICAgPyBmaXhlZF9wcmVpbWFnZS5uciA9PSBwcmVpbWFnZS0+bnIKLQkgICAgICAgOiBmaXhlZF9wcmVpbWFnZS5uciA8PSBwcmVpbWFnZS0+bnIpOwotCWZvciAoaSA9IDA7IGkgPCBmaXhlZF9wcmVpbWFnZS5ucjsgaSsrKQotCQlmaXhlZF9wcmVpbWFnZS5saW5lW2ldLmZsYWcgPSBwcmVpbWFnZS0+bGluZVtpXS5mbGFnOwotCWZyZWUocHJlaW1hZ2UtPmxpbmVfYWxsb2NhdGVkKTsKLQkqcHJlaW1hZ2UgPSBmaXhlZF9wcmVpbWFnZTsKLQotCS8qCi0JICogQWRqdXN0IHRoZSBjb21tb24gY29udGV4dCBsaW5lcyBpbiBwb3N0aW1hZ2UuIFRoaXMgY2FuIGJlCi0JICogZG9uZSBpbi1wbGFjZSB3aGVuIHdlIGFyZSBzaHJpbmtpbmcgaXQgd2l0aCB3aGl0ZXNwYWNlCi0JICogZml4aW5nLCBidXQgbmVlZHMgYSBuZXcgYnVmZmVyIHdoZW4gaWdub3Jpbmcgd2hpdGVzcGFjZSBvcgotCSAqIGV4cGFuZGluZyBsZWFkaW5nIHRhYnMgdG8gc3BhY2VzLgotCSAqCi0JICogV2UgdHJ1c3QgdGhlIGNhbGxlciB0byB0ZWxsIHVzIGlmIHRoZSB1cGRhdGUgY2FuIGJlIGRvbmUKLQkgKiBpbiBwbGFjZSAocG9zdGxlbj09MCkgb3Igbm90LgotCSAqLwotCW9sZCA9IHBvc3RpbWFnZS0+YnVmOwotCWlmIChwb3N0bGVuKQotCQluZXcgPSBwb3N0aW1hZ2UtPmJ1ZiA9IHhtYWxsb2MocG9zdGxlbik7Ci0JZWxzZQotCQluZXcgPSBvbGQ7Ci0JZml4ZWQgPSBwcmVpbWFnZS0+YnVmOwotCi0JZm9yIChpID0gcmVkdWNlZCA9IGN0eCA9IDA7IGkgPCBwb3N0aW1hZ2UtPm5yOyBpKyspIHsKLQkJc2l6ZV90IGxlbiA9IHBvc3RpbWFnZS0+bGluZVtpXS5sZW47Ci0JCWlmICghKHBvc3RpbWFnZS0+bGluZVtpXS5mbGFnICYgTElORV9DT01NT04pKSB7Ci0JCQkvKiBhbiBhZGRlZCBsaW5lIC0tIG5vIGNvdW50ZXJwYXJ0cyBpbiBwcmVpbWFnZSAqLwotCQkJbWVtbW92ZShuZXcsIG9sZCwgbGVuKTsKLQkJCW9sZCArPSBsZW47Ci0JCQluZXcgKz0gbGVuOwotCQkJY29udGludWU7Ci0JCX0KLQotCQkvKiBhIGNvbW1vbiBjb250ZXh0IC0tIHNraXAgaXQgaW4gdGhlIG9yaWdpbmFsIHBvc3RpbWFnZSAqLwotCQlvbGQgKz0gbGVuOwotCi0JCS8qIGFuZCBmaW5kIHRoZSBjb3JyZXNwb25kaW5nIG9uZSBpbiB0aGUgZml4ZWQgcHJlaW1hZ2UgKi8KLQkJd2hpbGUgKGN0eCA8IHByZWltYWdlLT5uciAmJgotCQkgICAgICAgIShwcmVpbWFnZS0+bGluZVtjdHhdLmZsYWcgJiBMSU5FX0NPTU1PTikpIHsKLQkJCWZpeGVkICs9IHByZWltYWdlLT5saW5lW2N0eF0ubGVuOwotCQkJY3R4Kys7Ci0JCX0KLQotCQkvKgotCQkgKiBwcmVpbWFnZSBpcyBleHBlY3RlZCB0byBydW4gb3V0LCBpZiB0aGUgY2FsbGVyCi0JCSAqIGZpeGVkIGFkZGl0aW9uIG9mIHRyYWlsaW5nIGJsYW5rIGxpbmVzLgotCQkgKi8KLQkJaWYgKHByZWltYWdlLT5uciA8PSBjdHgpIHsKLQkJCXJlZHVjZWQrKzsKLQkJCWNvbnRpbnVlOwotCQl9Ci0KLQkJLyogYW5kIGNvcHkgaXQgaW4sIHdoaWxlIGZpeGluZyB0aGUgbGluZSBsZW5ndGggKi8KLQkJbGVuID0gcHJlaW1hZ2UtPmxpbmVbY3R4XS5sZW47Ci0JCW1lbWNweShuZXcsIGZpeGVkLCBsZW4pOwotCQluZXcgKz0gbGVuOwotCQlmaXhlZCArPSBsZW47Ci0JCXBvc3RpbWFnZS0+bGluZVtpXS5sZW4gPSBsZW47Ci0JCWN0eCsrOwotCX0KLQotCWlmIChwb3N0bGVuCi0JICAgID8gcG9zdGxlbiA8IG5ldyAtIHBvc3RpbWFnZS0+YnVmCi0JICAgIDogcG9zdGltYWdlLT5sZW4gPCBuZXcgLSBwb3N0aW1hZ2UtPmJ1ZikKLQkJZGllKCJCVUc6IGNhbGxlciBtaXNjb3VudGVkIHBvc3RsZW46IGFza2VkICVkLCBvcmlnID0gJWQsIHVzZWQgPSAlZCIsCi0JCSAgICAoaW50KXBvc3RsZW4sIChpbnQpIHBvc3RpbWFnZS0+bGVuLCAoaW50KShuZXcgLSBwb3N0aW1hZ2UtPmJ1ZikpOwotCi0JLyogRml4IHRoZSBsZW5ndGggb2YgdGhlIHdob2xlIHRoaW5nICovCi0JcG9zdGltYWdlLT5sZW4gPSBuZXcgLSBwb3N0aW1hZ2UtPmJ1ZjsKLQlwb3N0aW1hZ2UtPm5yIC09IHJlZHVjZWQ7Ci19Ci0KLXN0YXRpYyBpbnQgbWF0Y2hfZnJhZ21lbnQoc3RydWN0IGltYWdlICppbWcsCi0JCQkgIHN0cnVjdCBpbWFnZSAqcHJlaW1hZ2UsCi0JCQkgIHN0cnVjdCBpbWFnZSAqcG9zdGltYWdlLAotCQkJICB1bnNpZ25lZCBsb25nIHRyeSwKLQkJCSAgaW50IHRyeV9sbm8sCi0JCQkgIHVuc2lnbmVkIHdzX3J1bGUsCi0JCQkgIGludCBtYXRjaF9iZWdpbm5pbmcsIGludCBtYXRjaF9lbmQpCi17Ci0JaW50IGk7Ci0JY2hhciAqZml4ZWRfYnVmLCAqYnVmLCAqb3JpZywgKnRhcmdldDsKLQlzdHJ1Y3Qgc3RyYnVmIGZpeGVkOwotCXNpemVfdCBmaXhlZF9sZW4sIHBvc3RsZW47Ci0JaW50IHByZWltYWdlX2xpbWl0OwotCi0JaWYgKHByZWltYWdlLT5uciArIHRyeV9sbm8gPD0gaW1nLT5ucikgewotCQkvKgotCQkgKiBUaGUgaHVuayBmYWxscyB3aXRoaW4gdGhlIGJvdW5kYXJpZXMgb2YgaW1nLgotCQkgKi8KLQkJcHJlaW1hZ2VfbGltaXQgPSBwcmVpbWFnZS0+bnI7Ci0JCWlmIChtYXRjaF9lbmQgJiYgKHByZWltYWdlLT5uciArIHRyeV9sbm8gIT0gaW1nLT5ucikpCi0JCQlyZXR1cm4gMDsKLQl9IGVsc2UgaWYgKHdzX2Vycm9yX2FjdGlvbiA9PSBjb3JyZWN0X3dzX2Vycm9yICYmCi0JCSAgICh3c19ydWxlICYgV1NfQkxBTktfQVRfRU9GKSkgewotCQkvKgotCQkgKiBUaGlzIGh1bmsgZXh0ZW5kcyBiZXlvbmQgdGhlIGVuZCBvZiBpbWcsIGFuZCB3ZSBhcmUKLQkJICogcmVtb3ZpbmcgYmxhbmsgbGluZXMgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZS4gIFRoaXMKLQkJICogbWFueSBsaW5lcyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHByZWltYWdlIG11c3QKLQkJICogbWF0Y2ggd2l0aCBpbWcsIGFuZCB0aGUgcmVtYWluZGVyIG9mIHRoZSBwcmVpbWFnZQotCQkgKiBtdXN0IGJlIGJsYW5rLgotCQkgKi8KLQkJcHJlaW1hZ2VfbGltaXQgPSBpbWctPm5yIC0gdHJ5X2xubzsKLQl9IGVsc2UgewotCQkvKgotCQkgKiBUaGUgaHVuayBleHRlbmRzIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBpbWcgYW5kCi0JCSAqIHdlIGFyZSBub3QgcmVtb3ZpbmcgYmxhbmtzIGF0IHRoZSBlbmQsIHNvIHdlCi0JCSAqIHNob3VsZCByZWplY3QgdGhlIGh1bmsgYXQgdGhpcyBwb3NpdGlvbi4KLQkJICovCi0JCXJldHVybiAwOwotCX0KLQotCWlmIChtYXRjaF9iZWdpbm5pbmcgJiYgdHJ5X2xubykKLQkJcmV0dXJuIDA7Ci0KLQkvKiBRdWljayBoYXNoIGNoZWNrICovCi0JZm9yIChpID0gMDsgaSA8IHByZWltYWdlX2xpbWl0OyBpKyspCi0JCWlmICgoaW1nLT5saW5lW3RyeV9sbm8gKyBpXS5mbGFnICYgTElORV9QQVRDSEVEKSB8fAotCQkgICAgKHByZWltYWdlLT5saW5lW2ldLmhhc2ggIT0gaW1nLT5saW5lW3RyeV9sbm8gKyBpXS5oYXNoKSkKLQkJCXJldHVybiAwOwotCi0JaWYgKHByZWltYWdlX2xpbWl0ID09IHByZWltYWdlLT5ucikgewotCQkvKgotCQkgKiBEbyB3ZSBoYXZlIGFuIGV4YWN0IG1hdGNoPyAgSWYgd2Ugd2VyZSB0b2xkIHRvIG1hdGNoCi0JCSAqIGF0IHRoZSBlbmQsIHNpemUgbXVzdCBiZSBleGFjdGx5IGF0IHRyeStmcmFnc2l6ZSwKLQkJICogb3RoZXJ3aXNlIHRyeStmcmFnc2l6ZSBtdXN0IGJlIHN0aWxsIHdpdGhpbiB0aGUgcHJlaW1hZ2UsCi0JCSAqIGFuZCBlaXRoZXIgY2FzZSwgdGhlIG9sZCBwaWVjZSBzaG91bGQgbWF0Y2ggdGhlIHByZWltYWdlCi0JCSAqIGV4YWN0bHkuCi0JCSAqLwotCQlpZiAoKG1hdGNoX2VuZAotCQkgICAgID8gKHRyeSArIHByZWltYWdlLT5sZW4gPT0gaW1nLT5sZW4pCi0JCSAgICAgOiAodHJ5ICsgcHJlaW1hZ2UtPmxlbiA8PSBpbWctPmxlbikpICYmCi0JCSAgICAhbWVtY21wKGltZy0+YnVmICsgdHJ5LCBwcmVpbWFnZS0+YnVmLCBwcmVpbWFnZS0+bGVuKSkKLQkJCXJldHVybiAxOwotCX0gZWxzZSB7Ci0JCS8qCi0JCSAqIFRoZSBwcmVpbWFnZSBleHRlbmRzIGJleW9uZCB0aGUgZW5kIG9mIGltZywgc28KLQkJICogdGhlcmUgY2Fubm90IGJlIGFuIGV4YWN0IG1hdGNoLgotCQkgKgotCQkgKiBUaGVyZSBtdXN0IGJlIG9uZSBub24tYmxhbmsgY29udGV4dCBsaW5lIHRoYXQgbWF0Y2gKLQkJICogYSBsaW5lIGJlZm9yZSB0aGUgZW5kIG9mIGltZy4KLQkJICovCi0JCWNoYXIgKmJ1Zl9lbmQ7Ci0KLQkJYnVmID0gcHJlaW1hZ2UtPmJ1ZjsKLQkJYnVmX2VuZCA9IGJ1ZjsKLQkJZm9yIChpID0gMDsgaSA8IHByZWltYWdlX2xpbWl0OyBpKyspCi0JCQlidWZfZW5kICs9IHByZWltYWdlLT5saW5lW2ldLmxlbjsKLQotCQlmb3IgKCA7IGJ1ZiA8IGJ1Zl9lbmQ7IGJ1ZisrKQotCQkJaWYgKCFpc3NwYWNlKCpidWYpKQotCQkJCWJyZWFrOwotCQlpZiAoYnVmID09IGJ1Zl9lbmQpCi0JCQlyZXR1cm4gMDsKLQl9Ci0KLQkvKgotCSAqIE5vIGV4YWN0IG1hdGNoLiBJZiB3ZSBhcmUgaWdub3Jpbmcgd2hpdGVzcGFjZSwgcnVuIGEgbGluZS1ieS1saW5lCi0JICogZnV6enkgbWF0Y2hpbmcuIFdlIGNvbGxlY3QgYWxsIHRoZSBsaW5lIGxlbmd0aCBpbmZvcm1hdGlvbiBiZWNhdXNlCi0JICogd2UgbmVlZCBpdCB0byBhZGp1c3Qgd2hpdGVzcGFjZSBpZiB3ZSBtYXRjaC4KLQkgKi8KLQlpZiAod3NfaWdub3JlX2FjdGlvbiA9PSBpZ25vcmVfd3NfY2hhbmdlKSB7Ci0JCXNpemVfdCBpbWdvZmYgPSAwOwotCQlzaXplX3QgcHJlb2ZmID0gMDsKLQkJc2l6ZV90IHBvc3RsZW4gPSBwb3N0aW1hZ2UtPmxlbjsKLQkJc2l6ZV90IGV4dHJhX2NoYXJzOwotCQljaGFyICpwcmVpbWFnZV9lb2Y7Ci0JCWNoYXIgKnByZWltYWdlX2VuZDsKLQkJZm9yIChpID0gMDsgaSA8IHByZWltYWdlX2xpbWl0OyBpKyspIHsKLQkJCXNpemVfdCBwcmVsZW4gPSBwcmVpbWFnZS0+bGluZVtpXS5sZW47Ci0JCQlzaXplX3QgaW1nbGVuID0gaW1nLT5saW5lW3RyeV9sbm8raV0ubGVuOwotCi0JCQlpZiAoIWZ1enp5X21hdGNobGluZXMoaW1nLT5idWYgKyB0cnkgKyBpbWdvZmYsIGltZ2xlbiwKLQkJCQkJICAgICAgcHJlaW1hZ2UtPmJ1ZiArIHByZW9mZiwgcHJlbGVuKSkKLQkJCQlyZXR1cm4gMDsKLQkJCWlmIChwcmVpbWFnZS0+bGluZVtpXS5mbGFnICYgTElORV9DT01NT04pCi0JCQkJcG9zdGxlbiArPSBpbWdsZW4gLSBwcmVsZW47Ci0JCQlpbWdvZmYgKz0gaW1nbGVuOwotCQkJcHJlb2ZmICs9IHByZWxlbjsKLQkJfQotCi0JCS8qCi0JCSAqIE9rLCB0aGUgcHJlaW1hZ2UgbWF0Y2hlcyB3aXRoIHdoaXRlc3BhY2UgZnV6ei4KLQkJICoKLQkJICogaW1nb2ZmIG5vdyBob2xkcyB0aGUgdHJ1ZSBsZW5ndGggb2YgdGhlIHRhcmdldCB0aGF0Ci0JCSAqIG1hdGNoZXMgdGhlIHByZWltYWdlIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSBmaWxlLgotCQkgKgotCQkgKiBDb3VudCB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgaW4gdGhlIHByZWltYWdlIHRoYXQgZmFsbAotCQkgKiBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSBhbmQgbWFrZSBzdXJlIHRoYXQgYWxsIG9mIHRoZW0KLQkJICogYXJlIHdoaXRlc3BhY2UgY2hhcmFjdGVycy4gKFRoaXMgY2FuIG9ubHkgaGFwcGVuIGlmCi0JCSAqIHdlIGFyZSByZW1vdmluZyBibGFuayBsaW5lcyBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLikKLQkJICovCi0JCWJ1ZiA9IHByZWltYWdlX2VvZiA9IHByZWltYWdlLT5idWYgKyBwcmVvZmY7Ci0JCWZvciAoIDsgaSA8IHByZWltYWdlLT5ucjsgaSsrKQotCQkJcHJlb2ZmICs9IHByZWltYWdlLT5saW5lW2ldLmxlbjsKLQkJcHJlaW1hZ2VfZW5kID0gcHJlaW1hZ2UtPmJ1ZiArIHByZW9mZjsKLQkJZm9yICggOyBidWYgPCBwcmVpbWFnZV9lbmQ7IGJ1ZisrKQotCQkJaWYgKCFpc3NwYWNlKCpidWYpKQotCQkJCXJldHVybiAwOwotCi0JCS8qCi0JCSAqIFVwZGF0ZSB0aGUgcHJlaW1hZ2UgYW5kIHRoZSBjb21tb24gcG9zdGltYWdlIGNvbnRleHQKLQkJICogbGluZXMgdG8gdXNlIHRoZSBzYW1lIHdoaXRlc3BhY2UgYXMgdGhlIHRhcmdldC4KLQkJICogSWYgd2hpdGVzcGFjZSBpcyBtaXNzaW5nIGluIHRoZSB0YXJnZXQgKGkuZS4KLQkJICogaWYgdGhlIHByZWltYWdlIGV4dGVuZHMgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUpLAotCQkgKiB1c2UgdGhlIHdoaXRlc3BhY2UgZnJvbSB0aGUgcHJlaW1hZ2UuCi0JCSAqLwotCQlleHRyYV9jaGFycyA9IHByZWltYWdlX2VuZCAtIHByZWltYWdlX2VvZjsKLQkJc3RyYnVmX2luaXQoJmZpeGVkLCBpbWdvZmYgKyBleHRyYV9jaGFycyk7Ci0JCXN0cmJ1Zl9hZGQoJmZpeGVkLCBpbWctPmJ1ZiArIHRyeSwgaW1nb2ZmKTsKLQkJc3RyYnVmX2FkZCgmZml4ZWQsIHByZWltYWdlX2VvZiwgZXh0cmFfY2hhcnMpOwotCQlmaXhlZF9idWYgPSBzdHJidWZfZGV0YWNoKCZmaXhlZCwgJmZpeGVkX2xlbik7Ci0JCXVwZGF0ZV9wcmVfcG9zdF9pbWFnZXMocHJlaW1hZ2UsIHBvc3RpbWFnZSwKLQkJCQlmaXhlZF9idWYsIGZpeGVkX2xlbiwgcG9zdGxlbik7Ci0JCXJldHVybiAxOwotCX0KLQotCWlmICh3c19lcnJvcl9hY3Rpb24gIT0gY29ycmVjdF93c19lcnJvcikKLQkJcmV0dXJuIDA7Ci0KLQkvKgotCSAqIFRoZSBodW5rIGRvZXMgbm90IGFwcGx5IGJ5dGUtYnktYnl0ZSwgYnV0IHRoZSBoYXNoIHNheXMKLQkgKiBpdCBtaWdodCB3aXRoIHdoaXRlc3BhY2UgZnV6ei4gV2Ugd2VyZW4ndCBhc2tlZCB0bwotCSAqIGlnbm9yZSB3aGl0ZXNwYWNlLCB3ZSB3ZXJlIGFza2VkIHRvIGNvcnJlY3Qgd2hpdGVzcGFjZQotCSAqIGVycm9ycywgc28gbGV0J3MgdHJ5IG1hdGNoaW5nIGFmdGVyIHdoaXRlc3BhY2UgY29ycmVjdGlvbi4KLQkgKgotCSAqIFdoaWxlIGNoZWNraW5nIHRoZSBwcmVpbWFnZSBhZ2FpbnN0IHRoZSB0YXJnZXQsIHdoaXRlc3BhY2UKLQkgKiBlcnJvcnMgaW4gYm90aCBmaXhlZCwgd2UgY291bnQgaG93IGxhcmdlIHRoZSBjb3JyZXNwb25kaW5nCi0JICogcG9zdGltYWdlIG5lZWRzIHRvIGJlLiAgVGhlIHBvc3RpbWFnZSBwcmVwYXJlZCBieQotCSAqIGFwcGx5X29uZV9mcmFnbWVudCgpIGhhcyB3aGl0ZXNwYWNlIGVycm9ycyBmaXhlZCBvbiBhZGRlZAotCSAqIGxpbmVzIGFscmVhZHksIGJ1dCB0aGUgY29tbW9uIGxpbmVzIHdlcmUgcHJvcGFnYXRlZCBhcy1pcywKLQkgKiB3aGljaCBtYXkgYmVjb21lIGxvbmdlciB3aGVuIHRoZWlyIHdoaXRlc3BhY2UgZXJyb3JzIGFyZQotCSAqIGZpeGVkLgotCSAqLwotCi0JLyogRmlyc3QgY291bnQgYWRkZWQgbGluZXMgaW4gcG9zdGltYWdlICovCi0JcG9zdGxlbiA9IDA7Ci0JZm9yIChpID0gMDsgaSA8IHBvc3RpbWFnZS0+bnI7IGkrKykgewotCQlpZiAoIShwb3N0aW1hZ2UtPmxpbmVbaV0uZmxhZyAmIExJTkVfQ09NTU9OKSkKLQkJCXBvc3RsZW4gKz0gcG9zdGltYWdlLT5saW5lW2ldLmxlbjsKLQl9Ci0KLQkvKgotCSAqIFRoZSBwcmVpbWFnZSBtYXkgZXh0ZW5kIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlLAotCSAqIGJ1dCBpbiB0aGlzIGxvb3Agd2Ugd2lsbCBvbmx5IGhhbmRsZSB0aGUgcGFydCBvZiB0aGUKLQkgKiBwcmVpbWFnZSB0aGF0IGZhbGxzIHdpdGhpbiB0aGUgZmlsZS4KLQkgKi8KLQlzdHJidWZfaW5pdCgmZml4ZWQsIHByZWltYWdlLT5sZW4gKyAxKTsKLQlvcmlnID0gcHJlaW1hZ2UtPmJ1ZjsKLQl0YXJnZXQgPSBpbWctPmJ1ZiArIHRyeTsKLQlmb3IgKGkgPSAwOyBpIDwgcHJlaW1hZ2VfbGltaXQ7IGkrKykgewotCQlzaXplX3Qgb2xkbGVuID0gcHJlaW1hZ2UtPmxpbmVbaV0ubGVuOwotCQlzaXplX3QgdGd0bGVuID0gaW1nLT5saW5lW3RyeV9sbm8gKyBpXS5sZW47Ci0JCXNpemVfdCBmaXhzdGFydCA9IGZpeGVkLmxlbjsKLQkJc3RydWN0IHN0cmJ1ZiB0Z3RmaXg7Ci0JCWludCBtYXRjaDsKLQotCQkvKiBUcnkgZml4aW5nIHRoZSBsaW5lIGluIHRoZSBwcmVpbWFnZSAqLwotCQl3c19maXhfY29weSgmZml4ZWQsIG9yaWcsIG9sZGxlbiwgd3NfcnVsZSwgTlVMTCk7Ci0KLQkJLyogVHJ5IGZpeGluZyB0aGUgbGluZSBpbiB0aGUgdGFyZ2V0ICovCi0JCXN0cmJ1Zl9pbml0KCZ0Z3RmaXgsIHRndGxlbik7Ci0JCXdzX2ZpeF9jb3B5KCZ0Z3RmaXgsIHRhcmdldCwgdGd0bGVuLCB3c19ydWxlLCBOVUxMKTsKLQotCQkvKgotCQkgKiBJZiB0aGV5IG1hdGNoLCBlaXRoZXIgdGhlIHByZWltYWdlIHdhcyBiYXNlZCBvbgotCQkgKiBhIHZlcnNpb24gYmVmb3JlIG91ciB0cmVlIGZpeGVkIHdoaXRlc3BhY2UgYnJlYWthZ2UsCi0JCSAqIG9yIHdlIGFyZSBsYWNraW5nIGEgd2hpdGVzcGFjZS1maXggcGF0Y2ggdGhlIHRyZWUKLQkJICogdGhlIHByZWltYWdlIHdhcyBiYXNlZCBvbiBhbHJlYWR5IGhhZCAoaS5lLiB0YXJnZXQKLQkJICogaGFzIHdoaXRlc3BhY2UgYnJlYWthZ2UsIHRoZSBwcmVpbWFnZSBkb2Vzbid0KS4KLQkJICogSW4gZWl0aGVyIGNhc2UsIHdlIGFyZSBmaXhpbmcgdGhlIHdoaXRlc3BhY2UgYnJlYWthZ2VzCi0JCSAqIHNvIHdlIG1pZ2h0IGFzIHdlbGwgdGFrZSB0aGUgZml4IHRvZ2V0aGVyIHdpdGggdGhlaXIKLQkJICogcmVhbCBjaGFuZ2UuCi0JCSAqLwotCQltYXRjaCA9ICh0Z3RmaXgubGVuID09IGZpeGVkLmxlbiAtIGZpeHN0YXJ0ICYmCi0JCQkgIW1lbWNtcCh0Z3RmaXguYnVmLCBmaXhlZC5idWYgKyBmaXhzdGFydCwKLQkJCQkJICAgICBmaXhlZC5sZW4gLSBmaXhzdGFydCkpOwotCi0JCS8qIEFkZCB0aGUgbGVuZ3RoIGlmIHRoaXMgaXMgY29tbW9uIHdpdGggdGhlIHBvc3RpbWFnZSAqLwotCQlpZiAocHJlaW1hZ2UtPmxpbmVbaV0uZmxhZyAmIExJTkVfQ09NTU9OKQotCQkJcG9zdGxlbiArPSB0Z3RmaXgubGVuOwotCi0JCXN0cmJ1Zl9yZWxlYXNlKCZ0Z3RmaXgpOwotCQlpZiAoIW1hdGNoKQotCQkJZ290byB1bm1hdGNoX2V4aXQ7Ci0KLQkJb3JpZyArPSBvbGRsZW47Ci0JCXRhcmdldCArPSB0Z3RsZW47Ci0JfQotCi0KLQkvKgotCSAqIE5vdyBoYW5kbGUgdGhlIGxpbmVzIGluIHRoZSBwcmVpbWFnZSB0aGF0IGZhbGxzIGJleW9uZCB0aGUKLQkgKiBlbmQgb2YgdGhlIGZpbGUgKGlmIGFueSkuIFRoZXkgd2lsbCBvbmx5IG1hdGNoIGlmIHRoZXkgYXJlCi0JICogZW1wdHkgb3Igb25seSBjb250YWluIHdoaXRlc3BhY2UgKGlmIFdTX0JMQU5LX0FUX0VPTCBpcwotCSAqIGZhbHNlKS4KLQkgKi8KLQlmb3IgKCA7IGkgPCBwcmVpbWFnZS0+bnI7IGkrKykgewotCQlzaXplX3QgZml4c3RhcnQgPSBmaXhlZC5sZW47IC8qIHN0YXJ0IG9mIHRoZSBmaXhlZCBwcmVpbWFnZSAqLwotCQlzaXplX3Qgb2xkbGVuID0gcHJlaW1hZ2UtPmxpbmVbaV0ubGVuOwotCQlpbnQgajsKLQotCQkvKiBUcnkgZml4aW5nIHRoZSBsaW5lIGluIHRoZSBwcmVpbWFnZSAqLwotCQl3c19maXhfY29weSgmZml4ZWQsIG9yaWcsIG9sZGxlbiwgd3NfcnVsZSwgTlVMTCk7Ci0KLQkJZm9yIChqID0gZml4c3RhcnQ7IGogPCBmaXhlZC5sZW47IGorKykKLQkJCWlmICghaXNzcGFjZShmaXhlZC5idWZbal0pKQotCQkJCWdvdG8gdW5tYXRjaF9leGl0OwotCi0JCW9yaWcgKz0gb2xkbGVuOwotCX0KLQotCS8qCi0JICogWWVzLCB0aGUgcHJlaW1hZ2UgaXMgYmFzZWQgb24gYW4gb2xkZXIgdmVyc2lvbiB0aGF0IHN0aWxsCi0JICogaGFzIHdoaXRlc3BhY2UgYnJlYWthZ2VzIHVuZml4ZWQsIGFuZCBmaXhpbmcgdGhlbSBtYWtlcyB0aGUKLQkgKiBodW5rIG1hdGNoLiAgVXBkYXRlIHRoZSBjb250ZXh0IGxpbmVzIGluIHRoZSBwb3N0aW1hZ2UuCi0JICovCi0JZml4ZWRfYnVmID0gc3RyYnVmX2RldGFjaCgmZml4ZWQsICZmaXhlZF9sZW4pOwotCWlmIChwb3N0bGVuIDwgcG9zdGltYWdlLT5sZW4pCi0JCXBvc3RsZW4gPSAwOwotCXVwZGF0ZV9wcmVfcG9zdF9pbWFnZXMocHJlaW1hZ2UsIHBvc3RpbWFnZSwKLQkJCSAgICAgICBmaXhlZF9idWYsIGZpeGVkX2xlbiwgcG9zdGxlbik7Ci0JcmV0dXJuIDE7Ci0KLSB1bm1hdGNoX2V4aXQ6Ci0Jc3RyYnVmX3JlbGVhc2UoJmZpeGVkKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBmaW5kX3BvcyhzdHJ1Y3QgaW1hZ2UgKmltZywKLQkJICAgIHN0cnVjdCBpbWFnZSAqcHJlaW1hZ2UsCi0JCSAgICBzdHJ1Y3QgaW1hZ2UgKnBvc3RpbWFnZSwKLQkJICAgIGludCBsaW5lLAotCQkgICAgdW5zaWduZWQgd3NfcnVsZSwKLQkJICAgIGludCBtYXRjaF9iZWdpbm5pbmcsIGludCBtYXRjaF9lbmQpCi17Ci0JaW50IGk7Ci0JdW5zaWduZWQgbG9uZyBiYWNrd2FyZHMsIGZvcndhcmRzLCB0cnk7Ci0JaW50IGJhY2t3YXJkc19sbm8sIGZvcndhcmRzX2xubywgdHJ5X2xubzsKLQotCS8qCi0JICogSWYgbWF0Y2hfYmVnaW5uaW5nIG9yIG1hdGNoX2VuZCBpcyBzcGVjaWZpZWQsIHRoZXJlIGlzIG5vCi0JICogcG9pbnQgc3RhcnRpbmcgZnJvbSBhIHdyb25nIGxpbmUgdGhhdCB3aWxsIG5ldmVyIG1hdGNoIGFuZAotCSAqIHdhbmRlciBhcm91bmQgYW5kIHdhaXQgZm9yIGEgbWF0Y2ggYXQgdGhlIHNwZWNpZmllZCBlbmQuCi0JICovCi0JaWYgKG1hdGNoX2JlZ2lubmluZykKLQkJbGluZSA9IDA7Ci0JZWxzZSBpZiAobWF0Y2hfZW5kKQotCQlsaW5lID0gaW1nLT5uciAtIHByZWltYWdlLT5ucjsKLQotCS8qCi0JICogQmVjYXVzZSB0aGUgY29tcGFyaXNvbiBpcyB1bnNpZ25lZCwgdGhlIGZvbGxvd2luZyB0ZXN0Ci0JICogd2lsbCBhbHNvIHRha2UgY2FyZSBvZiBhIG5lZ2F0aXZlIGxpbmUgbnVtYmVyIHRoYXQgY2FuCi0JICogcmVzdWx0IHdoZW4gbWF0Y2hfZW5kIGFuZCBwcmVpbWFnZSBpcyBsYXJnZXIgdGhhbiB0aGUgdGFyZ2V0LgotCSAqLwotCWlmICgoc2l6ZV90KSBsaW5lID4gaW1nLT5ucikKLQkJbGluZSA9IGltZy0+bnI7Ci0KLQl0cnkgPSAwOwotCWZvciAoaSA9IDA7IGkgPCBsaW5lOyBpKyspCi0JCXRyeSArPSBpbWctPmxpbmVbaV0ubGVuOwotCi0JLyoKLQkgKiBUaGVyZSdzIHByb2JhYmx5IHNvbWUgc21hcnQgd2F5IHRvIGRvIHRoaXMsIGJ1dCBJJ2xsIGxlYXZlCi0JICogdGhhdCB0byB0aGUgc21hcnQgYW5kIGJlYXV0aWZ1bCBwZW9wbGUuIEknbSBzaW1wbGUgYW5kIHN0dXBpZC4KLQkgKi8KLQliYWNrd2FyZHMgPSB0cnk7Ci0JYmFja3dhcmRzX2xubyA9IGxpbmU7Ci0JZm9yd2FyZHMgPSB0cnk7Ci0JZm9yd2FyZHNfbG5vID0gbGluZTsKLQl0cnlfbG5vID0gbGluZTsKLQotCWZvciAoaSA9IDA7IDsgaSsrKSB7Ci0JCWlmIChtYXRjaF9mcmFnbWVudChpbWcsIHByZWltYWdlLCBwb3N0aW1hZ2UsCi0JCQkJICAgdHJ5LCB0cnlfbG5vLCB3c19ydWxlLAotCQkJCSAgIG1hdGNoX2JlZ2lubmluZywgbWF0Y2hfZW5kKSkKLQkJCXJldHVybiB0cnlfbG5vOwotCi0JYWdhaW46Ci0JCWlmIChiYWNrd2FyZHNfbG5vID09IDAgJiYgZm9yd2FyZHNfbG5vID09IGltZy0+bnIpCi0JCQlicmVhazsKLQotCQlpZiAoaSAmIDEpIHsKLQkJCWlmIChiYWNrd2FyZHNfbG5vID09IDApIHsKLQkJCQlpKys7Ci0JCQkJZ290byBhZ2FpbjsKLQkJCX0KLQkJCWJhY2t3YXJkc19sbm8tLTsKLQkJCWJhY2t3YXJkcyAtPSBpbWctPmxpbmVbYmFja3dhcmRzX2xub10ubGVuOwotCQkJdHJ5ID0gYmFja3dhcmRzOwotCQkJdHJ5X2xubyA9IGJhY2t3YXJkc19sbm87Ci0JCX0gZWxzZSB7Ci0JCQlpZiAoZm9yd2FyZHNfbG5vID09IGltZy0+bnIpIHsKLQkJCQlpKys7Ci0JCQkJZ290byBhZ2FpbjsKLQkJCX0KLQkJCWZvcndhcmRzICs9IGltZy0+bGluZVtmb3J3YXJkc19sbm9dLmxlbjsKLQkJCWZvcndhcmRzX2xubysrOwotCQkJdHJ5ID0gZm9yd2FyZHM7Ci0JCQl0cnlfbG5vID0gZm9yd2FyZHNfbG5vOwotCQl9Ci0KLQl9Ci0JcmV0dXJuIC0xOwotfQotCi1zdGF0aWMgdm9pZCByZW1vdmVfZmlyc3RfbGluZShzdHJ1Y3QgaW1hZ2UgKmltZykKLXsKLQlpbWctPmJ1ZiArPSBpbWctPmxpbmVbMF0ubGVuOwotCWltZy0+bGVuIC09IGltZy0+bGluZVswXS5sZW47Ci0JaW1nLT5saW5lKys7Ci0JaW1nLT5uci0tOwotfQotCi1zdGF0aWMgdm9pZCByZW1vdmVfbGFzdF9saW5lKHN0cnVjdCBpbWFnZSAqaW1nKQotewotCWltZy0+bGVuIC09IGltZy0+bGluZVstLWltZy0+bnJdLmxlbjsKLX0KLQotLyoKLSAqIFRoZSBjaGFuZ2UgZnJvbSAicHJlaW1hZ2UiIGFuZCAicG9zdGltYWdlIiBoYXMgYmVlbiBmb3VuZCB0bwotICogYXBwbHkgYXQgYXBwbGllZF9wb3MgKGNvdW50cyBpbiBsaW5lIG51bWJlcnMpIGluICJpbWciLgotICogVXBkYXRlICJpbWciIHRvIHJlbW92ZSAicHJlaW1hZ2UiIGFuZCByZXBsYWNlIGl0IHdpdGggInBvc3RpbWFnZSIuCi0gKi8KLXN0YXRpYyB2b2lkIHVwZGF0ZV9pbWFnZShzdHJ1Y3QgaW1hZ2UgKmltZywKLQkJCSBpbnQgYXBwbGllZF9wb3MsCi0JCQkgc3RydWN0IGltYWdlICpwcmVpbWFnZSwKLQkJCSBzdHJ1Y3QgaW1hZ2UgKnBvc3RpbWFnZSkKLXsKLQkvKgotCSAqIHJlbW92ZSB0aGUgY29weSBvZiBwcmVpbWFnZSBhdCBvZmZzZXQgaW4gaW1nCi0JICogYW5kIHJlcGxhY2UgaXQgd2l0aCBwb3N0aW1hZ2UKLQkgKi8KLQlpbnQgaSwgbnI7Ci0Jc2l6ZV90IHJlbW92ZV9jb3VudCwgaW5zZXJ0X2NvdW50LCBhcHBsaWVkX2F0ID0gMDsKLQljaGFyICpyZXN1bHQ7Ci0JaW50IHByZWltYWdlX2xpbWl0OwotCi0JLyoKLQkgKiBJZiB3ZSBhcmUgcmVtb3ZpbmcgYmxhbmsgbGluZXMgYXQgdGhlIGVuZCBvZiBpbWcsCi0JICogdGhlIHByZWltYWdlIG1heSBleHRlbmQgYmV5b25kIHRoZSBlbmQuCi0JICogSWYgdGhhdCBpcyB0aGUgY2FzZSwgd2UgbXVzdCBiZSBjYXJlZnVsIG9ubHkgdG8KLQkgKiByZW1vdmUgdGhlIHBhcnQgb2YgdGhlIHByZWltYWdlIHRoYXQgZmFsbHMgd2l0aGluCi0JICogdGhlIGJvdW5kYXJpZXMgb2YgaW1nLiBJbml0aWFsaXplIHByZWltYWdlX2xpbWl0Ci0JICogdG8gdGhlIG51bWJlciBvZiBsaW5lcyBpbiB0aGUgcHJlaW1hZ2UgdGhhdCBmYWxscwotCSAqIHdpdGhpbiB0aGUgYm91bmRhcmllcy4KLQkgKi8KLQlwcmVpbWFnZV9saW1pdCA9IHByZWltYWdlLT5ucjsKLQlpZiAocHJlaW1hZ2VfbGltaXQgPiBpbWctPm5yIC0gYXBwbGllZF9wb3MpCi0JCXByZWltYWdlX2xpbWl0ID0gaW1nLT5uciAtIGFwcGxpZWRfcG9zOwotCi0JZm9yIChpID0gMDsgaSA8IGFwcGxpZWRfcG9zOyBpKyspCi0JCWFwcGxpZWRfYXQgKz0gaW1nLT5saW5lW2ldLmxlbjsKLQotCXJlbW92ZV9jb3VudCA9IDA7Ci0JZm9yIChpID0gMDsgaSA8IHByZWltYWdlX2xpbWl0OyBpKyspCi0JCXJlbW92ZV9jb3VudCArPSBpbWctPmxpbmVbYXBwbGllZF9wb3MgKyBpXS5sZW47Ci0JaW5zZXJ0X2NvdW50ID0gcG9zdGltYWdlLT5sZW47Ci0KLQkvKiBBZGp1c3QgdGhlIGNvbnRlbnRzICovCi0JcmVzdWx0ID0geG1hbGxvYyhzdF9hZGQzKHN0X3N1YihpbWctPmxlbiwgcmVtb3ZlX2NvdW50KSwgaW5zZXJ0X2NvdW50LCAxKSk7Ci0JbWVtY3B5KHJlc3VsdCwgaW1nLT5idWYsIGFwcGxpZWRfYXQpOwotCW1lbWNweShyZXN1bHQgKyBhcHBsaWVkX2F0LCBwb3N0aW1hZ2UtPmJ1ZiwgcG9zdGltYWdlLT5sZW4pOwotCW1lbWNweShyZXN1bHQgKyBhcHBsaWVkX2F0ICsgcG9zdGltYWdlLT5sZW4sCi0JICAgICAgIGltZy0+YnVmICsgKGFwcGxpZWRfYXQgKyByZW1vdmVfY291bnQpLAotCSAgICAgICBpbWctPmxlbiAtIChhcHBsaWVkX2F0ICsgcmVtb3ZlX2NvdW50KSk7Ci0JZnJlZShpbWctPmJ1Zik7Ci0JaW1nLT5idWYgPSByZXN1bHQ7Ci0JaW1nLT5sZW4gKz0gaW5zZXJ0X2NvdW50IC0gcmVtb3ZlX2NvdW50OwotCXJlc3VsdFtpbWctPmxlbl0gPSAnXDAnOwotCi0JLyogQWRqdXN0IHRoZSBsaW5lIHRhYmxlICovCi0JbnIgPSBpbWctPm5yICsgcG9zdGltYWdlLT5uciAtIHByZWltYWdlX2xpbWl0OwotCWlmIChwcmVpbWFnZV9saW1pdCA8IHBvc3RpbWFnZS0+bnIpIHsKLQkJLyoKLQkJICogTk9URTogdGhpcyBrbm93cyB0aGF0IHdlIG5ldmVyIGNhbGwgcmVtb3ZlX2ZpcnN0X2xpbmUoKQotCQkgKiBvbiBhbnl0aGluZyBvdGhlciB0aGFuIHByZS9wb3N0IGltYWdlLgotCQkgKi8KLQkJUkVBTExPQ19BUlJBWShpbWctPmxpbmUsIG5yKTsKLQkJaW1nLT5saW5lX2FsbG9jYXRlZCA9IGltZy0+bGluZTsKLQl9Ci0JaWYgKHByZWltYWdlX2xpbWl0ICE9IHBvc3RpbWFnZS0+bnIpCi0JCW1lbW1vdmUoaW1nLT5saW5lICsgYXBwbGllZF9wb3MgKyBwb3N0aW1hZ2UtPm5yLAotCQkJaW1nLT5saW5lICsgYXBwbGllZF9wb3MgKyBwcmVpbWFnZV9saW1pdCwKLQkJCShpbWctPm5yIC0gKGFwcGxpZWRfcG9zICsgcHJlaW1hZ2VfbGltaXQpKSAqCi0JCQlzaXplb2YoKmltZy0+bGluZSkpOwotCW1lbWNweShpbWctPmxpbmUgKyBhcHBsaWVkX3BvcywKLQkgICAgICAgcG9zdGltYWdlLT5saW5lLAotCSAgICAgICBwb3N0aW1hZ2UtPm5yICogc2l6ZW9mKCppbWctPmxpbmUpKTsKLQlpZiAoIWFsbG93X292ZXJsYXApCi0JCWZvciAoaSA9IDA7IGkgPCBwb3N0aW1hZ2UtPm5yOyBpKyspCi0JCQlpbWctPmxpbmVbYXBwbGllZF9wb3MgKyBpXS5mbGFnIHw9IExJTkVfUEFUQ0hFRDsKLQlpbWctPm5yID0gbnI7Ci19Ci0KLS8qCi0gKiBVc2UgdGhlIHBhdGNoLWh1bmsgdGV4dCBpbiAiZnJhZyIgdG8gcHJlcGFyZSB0d28gaW1hZ2VzIChwcmVpbWFnZSBhbmQKLSAqIHBvc3RpbWFnZSkgZm9yIHRoZSBodW5rLiAgRmluZCBsaW5lcyB0aGF0IG1hdGNoICJwcmVpbWFnZSIgaW4gImltZyIgYW5kCi0gKiByZXBsYWNlIHRoZSBwYXJ0IG9mICJpbWciIHdpdGggInBvc3RpbWFnZSIgdGV4dC4KLSAqLwotc3RhdGljIGludCBhcHBseV9vbmVfZnJhZ21lbnQoc3RydWN0IGltYWdlICppbWcsIHN0cnVjdCBmcmFnbWVudCAqZnJhZywKLQkJCSAgICAgIGludCBpbmFjY3VyYXRlX2VvZiwgdW5zaWduZWQgd3NfcnVsZSwKLQkJCSAgICAgIGludCBudGhfZnJhZ21lbnQpCi17Ci0JaW50IG1hdGNoX2JlZ2lubmluZywgbWF0Y2hfZW5kOwotCWNvbnN0IGNoYXIgKnBhdGNoID0gZnJhZy0+cGF0Y2g7Ci0JaW50IHNpemUgPSBmcmFnLT5zaXplOwotCWNoYXIgKm9sZCwgKm9sZGxpbmVzOwotCXN0cnVjdCBzdHJidWYgbmV3bGluZXM7Ci0JaW50IG5ld19ibGFua19saW5lc19hdF9lbmQgPSAwOwotCWludCBmb3VuZF9uZXdfYmxhbmtfbGluZXNfYXRfZW5kID0gMDsKLQlpbnQgaHVua19saW5lbnIgPSBmcmFnLT5saW5lbnI7Ci0JdW5zaWduZWQgbG9uZyBsZWFkaW5nLCB0cmFpbGluZzsKLQlpbnQgcG9zLCBhcHBsaWVkX3BvczsKLQlzdHJ1Y3QgaW1hZ2UgcHJlaW1hZ2U7Ci0Jc3RydWN0IGltYWdlIHBvc3RpbWFnZTsKLQotCW1lbXNldCgmcHJlaW1hZ2UsIDAsIHNpemVvZihwcmVpbWFnZSkpOwotCW1lbXNldCgmcG9zdGltYWdlLCAwLCBzaXplb2YocG9zdGltYWdlKSk7Ci0Jb2xkbGluZXMgPSB4bWFsbG9jKHNpemUpOwotCXN0cmJ1Zl9pbml0KCZuZXdsaW5lcywgc2l6ZSk7Ci0KLQlvbGQgPSBvbGRsaW5lczsKLQl3aGlsZSAoc2l6ZSA+IDApIHsKLQkJY2hhciBmaXJzdDsKLQkJaW50IGxlbiA9IGxpbmVsZW4ocGF0Y2gsIHNpemUpOwotCQlpbnQgcGxlbjsKLQkJaW50IGFkZGVkX2JsYW5rX2xpbmUgPSAwOwotCQlpbnQgaXNfYmxhbmtfY29udGV4dCA9IDA7Ci0JCXNpemVfdCBzdGFydDsKLQotCQlpZiAoIWxlbikKLQkJCWJyZWFrOwotCi0JCS8qCi0JCSAqICJwbGVuIiBpcyBob3cgbXVjaCBvZiB0aGUgbGluZSB3ZSBzaG91bGQgdXNlIGZvcgotCQkgKiB0aGUgYWN0dWFsIHBhdGNoIGRhdGEuIE5vcm1hbGx5IHdlIGp1c3QgcmVtb3ZlIHRoZQotCQkgKiBmaXJzdCBjaGFyYWN0ZXIgb24gdGhlIGxpbmUsIGJ1dCBpZiB0aGUgbGluZSBpcwotCQkgKiBmb2xsb3dlZCBieSAiXCBObyBuZXdsaW5lIiwgdGhlbiB3ZSBhbHNvIHJlbW92ZSB0aGUKLQkJICogbGFzdCBvbmUgKHdoaWNoIGlzIHRoZSBuZXdsaW5lLCBvZiBjb3Vyc2UpLgotCQkgKi8KLQkJcGxlbiA9IGxlbiAtIDE7Ci0JCWlmIChsZW4gPCBzaXplICYmIHBhdGNoW2xlbl0gPT0gJ1xcJykKLQkJCXBsZW4tLTsKLQkJZmlyc3QgPSAqcGF0Y2g7Ci0JCWlmIChhcHBseV9pbl9yZXZlcnNlKSB7Ci0JCQlpZiAoZmlyc3QgPT0gJy0nKQotCQkJCWZpcnN0ID0gJysnOwotCQkJZWxzZSBpZiAoZmlyc3QgPT0gJysnKQotCQkJCWZpcnN0ID0gJy0nOwotCQl9Ci0KLQkJc3dpdGNoIChmaXJzdCkgewotCQljYXNlICdcbic6Ci0JCQkvKiBOZXdlciBHTlUgZGlmZiwgZW1wdHkgY29udGV4dCBsaW5lICovCi0JCQlpZiAocGxlbiA8IDApCi0JCQkJLyogLi4uIGZvbGxvd2VkIGJ5ICdcTm8gbmV3bGluZSc7IG5vdGhpbmcgKi8KLQkJCQlicmVhazsKLQkJCSpvbGQrKyA9ICdcbic7Ci0JCQlzdHJidWZfYWRkY2goJm5ld2xpbmVzLCAnXG4nKTsKLQkJCWFkZF9saW5lX2luZm8oJnByZWltYWdlLCAiXG4iLCAxLCBMSU5FX0NPTU1PTik7Ci0JCQlhZGRfbGluZV9pbmZvKCZwb3N0aW1hZ2UsICJcbiIsIDEsIExJTkVfQ09NTU9OKTsKLQkJCWlzX2JsYW5rX2NvbnRleHQgPSAxOwotCQkJYnJlYWs7Ci0JCWNhc2UgJyAnOgotCQkJaWYgKHBsZW4gJiYgKHdzX3J1bGUgJiBXU19CTEFOS19BVF9FT0YpICYmCi0JCQkgICAgd3NfYmxhbmtfbGluZShwYXRjaCArIDEsIHBsZW4sIHdzX3J1bGUpKQotCQkJCWlzX2JsYW5rX2NvbnRleHQgPSAxOwotCQljYXNlICctJzoKLQkJCW1lbWNweShvbGQsIHBhdGNoICsgMSwgcGxlbik7Ci0JCQlhZGRfbGluZV9pbmZvKCZwcmVpbWFnZSwgb2xkLCBwbGVuLAotCQkJCSAgICAgIChmaXJzdCA9PSAnICcgPyBMSU5FX0NPTU1PTiA6IDApKTsKLQkJCW9sZCArPSBwbGVuOwotCQkJaWYgKGZpcnN0ID09ICctJykKLQkJCQlicmVhazsKLQkJLyogRmFsbC10aHJvdWdoIGZvciAnICcgKi8KLQkJY2FzZSAnKyc6Ci0JCQkvKiAtLW5vLWFkZCBkb2VzIG5vdCBhZGQgbmV3IGxpbmVzICovCi0JCQlpZiAoZmlyc3QgPT0gJysnICYmIG5vX2FkZCkKLQkJCQlicmVhazsKLQotCQkJc3RhcnQgPSBuZXdsaW5lcy5sZW47Ci0JCQlpZiAoZmlyc3QgIT0gJysnIHx8Ci0JCQkgICAgIXdoaXRlc3BhY2VfZXJyb3IgfHwKLQkJCSAgICB3c19lcnJvcl9hY3Rpb24gIT0gY29ycmVjdF93c19lcnJvcikgewotCQkJCXN0cmJ1Zl9hZGQoJm5ld2xpbmVzLCBwYXRjaCArIDEsIHBsZW4pOwotCQkJfQotCQkJZWxzZSB7Ci0JCQkJd3NfZml4X2NvcHkoJm5ld2xpbmVzLCBwYXRjaCArIDEsIHBsZW4sIHdzX3J1bGUsICZhcHBsaWVkX2FmdGVyX2ZpeGluZ193cyk7Ci0JCQl9Ci0JCQlhZGRfbGluZV9pbmZvKCZwb3N0aW1hZ2UsIG5ld2xpbmVzLmJ1ZiArIHN0YXJ0LCBuZXdsaW5lcy5sZW4gLSBzdGFydCwKLQkJCQkgICAgICAoZmlyc3QgPT0gJysnID8gMCA6IExJTkVfQ09NTU9OKSk7Ci0JCQlpZiAoZmlyc3QgPT0gJysnICYmCi0JCQkgICAgKHdzX3J1bGUgJiBXU19CTEFOS19BVF9FT0YpICYmCi0JCQkgICAgd3NfYmxhbmtfbGluZShwYXRjaCArIDEsIHBsZW4sIHdzX3J1bGUpKQotCQkJCWFkZGVkX2JsYW5rX2xpbmUgPSAxOwotCQkJYnJlYWs7Ci0JCWNhc2UgJ0AnOiBjYXNlICdcXCc6Ci0JCQkvKiBJZ25vcmUgaXQsIHdlIGFscmVhZHkgaGFuZGxlZCBpdCAqLwotCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6Ci0JCQlpZiAoYXBwbHlfdmVyYm9zZWx5KQotCQkJCWVycm9yKF8oImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIpLCBmaXJzdCk7Ci0JCQlhcHBsaWVkX3BvcyA9IC0xOwotCQkJZ290byBvdXQ7Ci0JCX0KLQkJaWYgKGFkZGVkX2JsYW5rX2xpbmUpIHsKLQkJCWlmICghbmV3X2JsYW5rX2xpbmVzX2F0X2VuZCkKLQkJCQlmb3VuZF9uZXdfYmxhbmtfbGluZXNfYXRfZW5kID0gaHVua19saW5lbnI7Ci0JCQluZXdfYmxhbmtfbGluZXNfYXRfZW5kKys7Ci0JCX0KLQkJZWxzZSBpZiAoaXNfYmxhbmtfY29udGV4dCkKLQkJCTsKLQkJZWxzZQotCQkJbmV3X2JsYW5rX2xpbmVzX2F0X2VuZCA9IDA7Ci0JCXBhdGNoICs9IGxlbjsKLQkJc2l6ZSAtPSBsZW47Ci0JCWh1bmtfbGluZW5yKys7Ci0JfQotCWlmIChpbmFjY3VyYXRlX2VvZiAmJgotCSAgICBvbGQgPiBvbGRsaW5lcyAmJiBvbGRbLTFdID09ICdcbicgJiYKLQkgICAgbmV3bGluZXMubGVuID4gMCAmJiBuZXdsaW5lcy5idWZbbmV3bGluZXMubGVuIC0gMV0gPT0gJ1xuJykgewotCQlvbGQtLTsKLQkJc3RyYnVmX3NldGxlbigmbmV3bGluZXMsIG5ld2xpbmVzLmxlbiAtIDEpOwotCX0KLQotCWxlYWRpbmcgPSBmcmFnLT5sZWFkaW5nOwotCXRyYWlsaW5nID0gZnJhZy0+dHJhaWxpbmc7Ci0KLQkvKgotCSAqIEEgaHVuayB0byBjaGFuZ2UgbGluZXMgYXQgdGhlIGJlZ2lubmluZyB3b3VsZCBiZWdpbiB3aXRoCi0JICogQEAgLTEsTCArTixNIEBACi0JICogYnV0IHdlIG5lZWQgdG8gYmUgY2FyZWZ1bC4gIC1VMCB0aGF0IGluc2VydHMgYmVmb3JlIHRoZSBzZWNvbmQKLQkgKiBsaW5lIGFsc28gaGFzIHRoaXMgcGF0dGVybi4KLQkgKgotCSAqIEFuZCBhIGh1bmsgdG8gYWRkIHRvIGFuIGVtcHR5IGZpbGUgd291bGQgYmVnaW4gd2l0aAotCSAqIEBAIC0wLDAgK04sTSBAQAotCSAqCi0JICogSW4gb3RoZXIgd29yZHMsIGEgaHVuayB0aGF0IGlzIChmcmFnLT5vbGRwb3MgPD0gMSkgd2l0aCBvcgotCSAqIHdpdGhvdXQgbGVhZGluZyBjb250ZXh0IG11c3QgbWF0Y2ggYXQgdGhlIGJlZ2lubmluZy4KLQkgKi8KLQltYXRjaF9iZWdpbm5pbmcgPSAoIWZyYWctPm9sZHBvcyB8fAotCQkJICAgKGZyYWctPm9sZHBvcyA9PSAxICYmICF1bmlkaWZmX3plcm8pKTsKLQotCS8qCi0JICogQSBodW5rIHdpdGhvdXQgdHJhaWxpbmcgbGluZXMgbXVzdCBtYXRjaCBhdCB0aGUgZW5kLgotCSAqIEhvd2V2ZXIsIHdlIHNpbXBseSBjYW5ub3QgdGVsbCBpZiBhIGh1bmsgbXVzdCBtYXRjaCBlbmQKLQkgKiBmcm9tIHRoZSBsYWNrIG9mIHRyYWlsaW5nIGxpbmVzIGlmIHRoZSBwYXRjaCB3YXMgZ2VuZXJhdGVkCi0JICogd2l0aCB1bmlkaWZmIHdpdGhvdXQgYW55IGNvbnRleHQuCi0JICovCi0JbWF0Y2hfZW5kID0gIXVuaWRpZmZfemVybyAmJiAhdHJhaWxpbmc7Ci0KLQlwb3MgPSBmcmFnLT5uZXdwb3MgPyAoZnJhZy0+bmV3cG9zIC0gMSkgOiAwOwotCXByZWltYWdlLmJ1ZiA9IG9sZGxpbmVzOwotCXByZWltYWdlLmxlbiA9IG9sZCAtIG9sZGxpbmVzOwotCXBvc3RpbWFnZS5idWYgPSBuZXdsaW5lcy5idWY7Ci0JcG9zdGltYWdlLmxlbiA9IG5ld2xpbmVzLmxlbjsKLQlwcmVpbWFnZS5saW5lID0gcHJlaW1hZ2UubGluZV9hbGxvY2F0ZWQ7Ci0JcG9zdGltYWdlLmxpbmUgPSBwb3N0aW1hZ2UubGluZV9hbGxvY2F0ZWQ7Ci0KLQlmb3IgKDs7KSB7Ci0KLQkJYXBwbGllZF9wb3MgPSBmaW5kX3BvcyhpbWcsICZwcmVpbWFnZSwgJnBvc3RpbWFnZSwgcG9zLAotCQkJCSAgICAgICB3c19ydWxlLCBtYXRjaF9iZWdpbm5pbmcsIG1hdGNoX2VuZCk7Ci0KLQkJaWYgKGFwcGxpZWRfcG9zID49IDApCi0JCQlicmVhazsKLQotCQkvKiBBbSBJIGF0IG15IGNvbnRleHQgbGltaXRzPyAqLwotCQlpZiAoKGxlYWRpbmcgPD0gcF9jb250ZXh0KSAmJiAodHJhaWxpbmcgPD0gcF9jb250ZXh0KSkKLQkJCWJyZWFrOwotCQlpZiAobWF0Y2hfYmVnaW5uaW5nIHx8IG1hdGNoX2VuZCkgewotCQkJbWF0Y2hfYmVnaW5uaW5nID0gbWF0Y2hfZW5kID0gMDsKLQkJCWNvbnRpbnVlOwotCQl9Ci0KLQkJLyoKLQkJICogUmVkdWNlIHRoZSBudW1iZXIgb2YgY29udGV4dCBsaW5lczsgcmVkdWNlIGJvdGgKLQkJICogbGVhZGluZyBhbmQgdHJhaWxpbmcgaWYgdGhleSBhcmUgZXF1YWwgb3RoZXJ3aXNlCi0JCSAqIGp1c3QgcmVkdWNlIHRoZSBsYXJnZXIgY29udGV4dC4KLQkJICovCi0JCWlmIChsZWFkaW5nID49IHRyYWlsaW5nKSB7Ci0JCQlyZW1vdmVfZmlyc3RfbGluZSgmcHJlaW1hZ2UpOwotCQkJcmVtb3ZlX2ZpcnN0X2xpbmUoJnBvc3RpbWFnZSk7Ci0JCQlwb3MtLTsKLQkJCWxlYWRpbmctLTsKLQkJfQotCQlpZiAodHJhaWxpbmcgPiBsZWFkaW5nKSB7Ci0JCQlyZW1vdmVfbGFzdF9saW5lKCZwcmVpbWFnZSk7Ci0JCQlyZW1vdmVfbGFzdF9saW5lKCZwb3N0aW1hZ2UpOwotCQkJdHJhaWxpbmctLTsKLQkJfQotCX0KLQotCWlmIChhcHBsaWVkX3BvcyA+PSAwKSB7Ci0JCWlmIChuZXdfYmxhbmtfbGluZXNfYXRfZW5kICYmCi0JCSAgICBwcmVpbWFnZS5uciArIGFwcGxpZWRfcG9zID49IGltZy0+bnIgJiYKLQkJICAgICh3c19ydWxlICYgV1NfQkxBTktfQVRfRU9GKSAmJgotCQkgICAgd3NfZXJyb3JfYWN0aW9uICE9IG5vd2Fybl93c19lcnJvcikgewotCQkJcmVjb3JkX3dzX2Vycm9yKFdTX0JMQU5LX0FUX0VPRiwgIisiLCAxLAotCQkJCQlmb3VuZF9uZXdfYmxhbmtfbGluZXNfYXRfZW5kKTsKLQkJCWlmICh3c19lcnJvcl9hY3Rpb24gPT0gY29ycmVjdF93c19lcnJvcikgewotCQkJCXdoaWxlIChuZXdfYmxhbmtfbGluZXNfYXRfZW5kLS0pCi0JCQkJCXJlbW92ZV9sYXN0X2xpbmUoJnBvc3RpbWFnZSk7Ci0JCQl9Ci0JCQkvKgotCQkJICogV2Ugd291bGQgd2FudCB0byBwcmV2ZW50IHdyaXRlX291dF9yZXN1bHRzKCkKLQkJCSAqIGZyb20gdGFraW5nIHBsYWNlIGluIGFwcGx5X3BhdGNoKCkgdGhhdCBmb2xsb3dzCi0JCQkgKiB0aGUgY2FsbGNoYWluIGxlZCB1cyBoZXJlLCB3aGljaCBpczoKLQkJCSAqIGFwcGx5X3BhdGNoLT5jaGVja19wYXRjaF9saXN0LT5jaGVja19wYXRjaC0+Ci0JCQkgKiBhcHBseV9kYXRhLT5hcHBseV9mcmFnbWVudHMtPmFwcGx5X29uZV9mcmFnbWVudAotCQkJICovCi0JCQlpZiAod3NfZXJyb3JfYWN0aW9uID09IGRpZV9vbl93c19lcnJvcikKLQkJCQlhcHBseSA9IDA7Ci0JCX0KLQotCQlpZiAoYXBwbHlfdmVyYm9zZWx5ICYmIGFwcGxpZWRfcG9zICE9IHBvcykgewotCQkJaW50IG9mZnNldCA9IGFwcGxpZWRfcG9zIC0gcG9zOwotCQkJaWYgKGFwcGx5X2luX3JldmVyc2UpCi0JCQkJb2Zmc2V0ID0gMCAtIG9mZnNldDsKLQkJCWZwcmludGZfbG4oc3RkZXJyLAotCQkJCSAgIFFfKCJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iLAotCQkJCSAgICAgICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIiwKLQkJCQkgICAgICBvZmZzZXQpLAotCQkJCSAgIG50aF9mcmFnbWVudCwgYXBwbGllZF9wb3MgKyAxLCBvZmZzZXQpOwotCQl9Ci0KLQkJLyoKLQkJICogV2FybiBpZiBpdCB3YXMgbmVjZXNzYXJ5IHRvIHJlZHVjZSB0aGUgbnVtYmVyCi0JCSAqIG9mIGNvbnRleHQgbGluZXMuCi0JCSAqLwotCQlpZiAoKGxlYWRpbmcgIT0gZnJhZy0+bGVhZGluZykgfHwKLQkJICAgICh0cmFpbGluZyAhPSBmcmFnLT50cmFpbGluZykpCi0JCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSIKLQkJCQkJICAgICAiIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIiksCi0JCQkJICAgbGVhZGluZywgdHJhaWxpbmcsIGFwcGxpZWRfcG9zKzEpOwotCQl1cGRhdGVfaW1hZ2UoaW1nLCBhcHBsaWVkX3BvcywgJnByZWltYWdlLCAmcG9zdGltYWdlKTsKLQl9IGVsc2UgewotCQlpZiAoYXBwbHlfdmVyYm9zZWx5KQotCQkJZXJyb3IoXygid2hpbGUgc2VhcmNoaW5nIGZvcjpcbiUuKnMiKSwKLQkJCSAgICAgIChpbnQpKG9sZCAtIG9sZGxpbmVzKSwgb2xkbGluZXMpOwotCX0KLQotb3V0OgotCWZyZWUob2xkbGluZXMpOwotCXN0cmJ1Zl9yZWxlYXNlKCZuZXdsaW5lcyk7Ci0JZnJlZShwcmVpbWFnZS5saW5lX2FsbG9jYXRlZCk7Ci0JZnJlZShwb3N0aW1hZ2UubGluZV9hbGxvY2F0ZWQpOwotCi0JcmV0dXJuIChhcHBsaWVkX3BvcyA8IDApOwotfQotCi1zdGF0aWMgaW50IGFwcGx5X2JpbmFyeV9mcmFnbWVudChzdHJ1Y3QgaW1hZ2UgKmltZywgc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQlzdHJ1Y3QgZnJhZ21lbnQgKmZyYWdtZW50ID0gcGF0Y2gtPmZyYWdtZW50czsKLQl1bnNpZ25lZCBsb25nIGxlbjsKLQl2b2lkICpkc3Q7Ci0KLQlpZiAoIWZyYWdtZW50KQotCQlyZXR1cm4gZXJyb3IoXygibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIpLAotCQkJICAgICBwYXRjaC0+bmV3X25hbWUgPwotCQkJICAgICBwYXRjaC0+bmV3X25hbWUgOgotCQkJICAgICBwYXRjaC0+b2xkX25hbWUpOwotCi0JLyogQmluYXJ5IHBhdGNoIGlzIGlycmV2ZXJzaWJsZSB3aXRob3V0IHRoZSBvcHRpb25hbCBzZWNvbmQgaHVuayAqLwotCWlmIChhcHBseV9pbl9yZXZlcnNlKSB7Ci0JCWlmICghZnJhZ21lbnQtPm5leHQpCi0JCQlyZXR1cm4gZXJyb3IoImNhbm5vdCByZXZlcnNlLWFwcGx5IGEgYmluYXJ5IHBhdGNoICIKLQkJCQkgICAgICJ3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIsCi0JCQkJICAgICBwYXRjaC0+bmV3X25hbWUKLQkJCQkgICAgID8gcGF0Y2gtPm5ld19uYW1lIDogcGF0Y2gtPm9sZF9uYW1lKTsKLQkJZnJhZ21lbnQgPSBmcmFnbWVudC0+bmV4dDsKLQl9Ci0Jc3dpdGNoIChmcmFnbWVudC0+YmluYXJ5X3BhdGNoX21ldGhvZCkgewotCWNhc2UgQklOQVJZX0RFTFRBX0RFRkxBVEVEOgotCQlkc3QgPSBwYXRjaF9kZWx0YShpbWctPmJ1ZiwgaW1nLT5sZW4sIGZyYWdtZW50LT5wYXRjaCwKLQkJCQkgIGZyYWdtZW50LT5zaXplLCAmbGVuKTsKLQkJaWYgKCFkc3QpCi0JCQlyZXR1cm4gLTE7Ci0JCWNsZWFyX2ltYWdlKGltZyk7Ci0JCWltZy0+YnVmID0gZHN0OwotCQlpbWctPmxlbiA9IGxlbjsKLQkJcmV0dXJuIDA7Ci0JY2FzZSBCSU5BUllfTElURVJBTF9ERUZMQVRFRDoKLQkJY2xlYXJfaW1hZ2UoaW1nKTsKLQkJaW1nLT5sZW4gPSBmcmFnbWVudC0+c2l6ZTsKLQkJaW1nLT5idWYgPSB4bWVtZHVweihmcmFnbWVudC0+cGF0Y2gsIGltZy0+bGVuKTsKLQkJcmV0dXJuIDA7Ci0JfQotCXJldHVybiAtMTsKLX0KLQotLyoKLSAqIFJlcGxhY2UgImltZyIgd2l0aCB0aGUgcmVzdWx0IG9mIGFwcGx5aW5nIHRoZSBiaW5hcnkgcGF0Y2guCi0gKiBUaGUgYmluYXJ5IHBhdGNoIGRhdGEgaXRzZWxmIGluIHBhdGNoLT5mcmFnbWVudCBpcyBzdGlsbCBrZXB0Ci0gKiBidXQgdGhlIHByZWltYWdlIHByZXBhcmVkIGJ5IHRoZSBjYWxsZXIgaW4gImltZyIgaXMgZnJlZWQgaGVyZQotICogb3IgaW4gdGhlIGhlbHBlciBmdW5jdGlvbiBhcHBseV9iaW5hcnlfZnJhZ21lbnQoKSB0aGlzIGNhbGxzLgotICovCi1zdGF0aWMgaW50IGFwcGx5X2JpbmFyeShzdHJ1Y3QgaW1hZ2UgKmltZywgc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQljb25zdCBjaGFyICpuYW1lID0gcGF0Y2gtPm9sZF9uYW1lID8gcGF0Y2gtPm9sZF9uYW1lIDogcGF0Y2gtPm5ld19uYW1lOwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07Ci0KLQkvKgotCSAqIEZvciBzYWZldHksIHdlIHJlcXVpcmUgcGF0Y2ggaW5kZXggbGluZSB0byBjb250YWluCi0JICogZnVsbCA0MC1ieXRlIHRleHR1YWwgU0hBMSBmb3Igb2xkIGFuZCBuZXcsIGF0IGxlYXN0IGZvciBub3cuCi0JICovCi0JaWYgKHN0cmxlbihwYXRjaC0+b2xkX3NoYTFfcHJlZml4KSAhPSA0MCB8fAotCSAgICBzdHJsZW4ocGF0Y2gtPm5ld19zaGExX3ByZWZpeCkgIT0gNDAgfHwKLQkgICAgZ2V0X3NoYTFfaGV4KHBhdGNoLT5vbGRfc2hhMV9wcmVmaXgsIHNoYTEpIHx8Ci0JICAgIGdldF9zaGExX2hleChwYXRjaC0+bmV3X3NoYTFfcHJlZml4LCBzaGExKSkKLQkJcmV0dXJuIGVycm9yKCJjYW5ub3QgYXBwbHkgYmluYXJ5IHBhdGNoIHRvICclcycgIgotCQkJICAgICAid2l0aG91dCBmdWxsIGluZGV4IGxpbmUiLCBuYW1lKTsKLQotCWlmIChwYXRjaC0+b2xkX25hbWUpIHsKLQkJLyoKLQkJICogU2VlIGlmIHRoZSBvbGQgb25lIG1hdGNoZXMgd2hhdCB0aGUgcGF0Y2gKLQkJICogYXBwbGllcyB0by4KLQkJICovCi0JCWhhc2hfc2hhMV9maWxlKGltZy0+YnVmLCBpbWctPmxlbiwgYmxvYl90eXBlLCBzaGExKTsKLQkJaWYgKHN0cmNtcChzaGExX3RvX2hleChzaGExKSwgcGF0Y2gtPm9sZF9zaGExX3ByZWZpeCkpCi0JCQlyZXR1cm4gZXJyb3IoInRoZSBwYXRjaCBhcHBsaWVzIHRvICclcycgKCVzKSwgIgotCQkJCSAgICAgIndoaWNoIGRvZXMgbm90IG1hdGNoIHRoZSAiCi0JCQkJICAgICAiY3VycmVudCBjb250ZW50cy4iLAotCQkJCSAgICAgbmFtZSwgc2hhMV90b19oZXgoc2hhMSkpOwotCX0KLQllbHNlIHsKLQkJLyogT3RoZXJ3aXNlLCB0aGUgb2xkIG9uZSBtdXN0IGJlIGVtcHR5LiAqLwotCQlpZiAoaW1nLT5sZW4pCi0JCQlyZXR1cm4gZXJyb3IoInRoZSBwYXRjaCBhcHBsaWVzIHRvIGFuIGVtcHR5ICIKLQkJCQkgICAgICInJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiLCBuYW1lKTsKLQl9Ci0KLQlnZXRfc2hhMV9oZXgocGF0Y2gtPm5ld19zaGExX3ByZWZpeCwgc2hhMSk7Ci0JaWYgKGlzX251bGxfc2hhMShzaGExKSkgewotCQljbGVhcl9pbWFnZShpbWcpOwotCQlyZXR1cm4gMDsgLyogZGVsZXRpb24gcGF0Y2ggKi8KLQl9Ci0KLQlpZiAoaGFzX3NoYTFfZmlsZShzaGExKSkgewotCQkvKiBXZSBhbHJlYWR5IGhhdmUgdGhlIHBvc3RpbWFnZSAqLwotCQllbnVtIG9iamVjdF90eXBlIHR5cGU7Ci0JCXVuc2lnbmVkIGxvbmcgc2l6ZTsKLQkJY2hhciAqcmVzdWx0OwotCi0JCXJlc3VsdCA9IHJlYWRfc2hhMV9maWxlKHNoYTEsICZ0eXBlLCAmc2l6ZSk7Ci0JCWlmICghcmVzdWx0KQotCQkJcmV0dXJuIGVycm9yKCJ0aGUgbmVjZXNzYXJ5IHBvc3RpbWFnZSAlcyBmb3IgIgotCQkJCSAgICAgIiclcycgY2Fubm90IGJlIHJlYWQiLAotCQkJCSAgICAgcGF0Y2gtPm5ld19zaGExX3ByZWZpeCwgbmFtZSk7Ci0JCWNsZWFyX2ltYWdlKGltZyk7Ci0JCWltZy0+YnVmID0gcmVzdWx0OwotCQlpbWctPmxlbiA9IHNpemU7Ci0JfSBlbHNlIHsKLQkJLyoKLQkJICogV2UgaGF2ZSB2ZXJpZmllZCBidWYgbWF0Y2hlcyB0aGUgcHJlaW1hZ2U7Ci0JCSAqIGFwcGx5IHRoZSBwYXRjaCBkYXRhIHRvIGl0LCB3aGljaCBpcyBzdG9yZWQKLQkJICogaW4gdGhlIHBhdGNoLT5mcmFnbWVudHMtPntwYXRjaCxzaXplfS4KLQkJICovCi0JCWlmIChhcHBseV9iaW5hcnlfZnJhZ21lbnQoaW1nLCBwYXRjaCkpCi0JCQlyZXR1cm4gZXJyb3IoXygiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciKSwKLQkJCQkgICAgIG5hbWUpOwotCi0JCS8qIHZlcmlmeSB0aGF0IHRoZSByZXN1bHQgbWF0Y2hlcyAqLwotCQloYXNoX3NoYTFfZmlsZShpbWctPmJ1ZiwgaW1nLT5sZW4sIGJsb2JfdHlwZSwgc2hhMSk7Ci0JCWlmIChzdHJjbXAoc2hhMV90b19oZXgoc2hhMSksIHBhdGNoLT5uZXdfc2hhMV9wcmVmaXgpKQotCQkJcmV0dXJuIGVycm9yKF8oImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIiksCi0JCQkJbmFtZSwgcGF0Y2gtPm5ld19zaGExX3ByZWZpeCwgc2hhMV90b19oZXgoc2hhMSkpOwotCX0KLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGFwcGx5X2ZyYWdtZW50cyhzdHJ1Y3QgaW1hZ2UgKmltZywgc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQlzdHJ1Y3QgZnJhZ21lbnQgKmZyYWcgPSBwYXRjaC0+ZnJhZ21lbnRzOwotCWNvbnN0IGNoYXIgKm5hbWUgPSBwYXRjaC0+b2xkX25hbWUgPyBwYXRjaC0+b2xkX25hbWUgOiBwYXRjaC0+bmV3X25hbWU7Ci0JdW5zaWduZWQgd3NfcnVsZSA9IHBhdGNoLT53c19ydWxlOwotCXVuc2lnbmVkIGluYWNjdXJhdGVfZW9mID0gcGF0Y2gtPmluYWNjdXJhdGVfZW9mOwotCWludCBudGggPSAwOwotCi0JaWYgKHBhdGNoLT5pc19iaW5hcnkpCi0JCXJldHVybiBhcHBseV9iaW5hcnkoaW1nLCBwYXRjaCk7Ci0KLQl3aGlsZSAoZnJhZykgewotCQludGgrKzsKLQkJaWYgKGFwcGx5X29uZV9mcmFnbWVudChpbWcsIGZyYWcsIGluYWNjdXJhdGVfZW9mLCB3c19ydWxlLCBudGgpKSB7Ci0JCQllcnJvcihfKCJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIpLCBuYW1lLCBmcmFnLT5vbGRwb3MpOwotCQkJaWYgKCFhcHBseV93aXRoX3JlamVjdCkKLQkJCQlyZXR1cm4gLTE7Ci0JCQlmcmFnLT5yZWplY3RlZCA9IDE7Ci0JCX0KLQkJZnJhZyA9IGZyYWctPm5leHQ7Ci0JfQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHJlYWRfYmxvYl9vYmplY3Qoc3RydWN0IHN0cmJ1ZiAqYnVmLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCB1bnNpZ25lZCBtb2RlKQotewotCWlmIChTX0lTR0lUTElOSyhtb2RlKSkgewotCQlzdHJidWZfZ3JvdyhidWYsIDEwMCk7Ci0JCXN0cmJ1Zl9hZGRmKGJ1ZiwgIlN1YnByb2plY3QgY29tbWl0ICVzXG4iLCBzaGExX3RvX2hleChzaGExKSk7Ci0JfSBlbHNlIHsKLQkJZW51bSBvYmplY3RfdHlwZSB0eXBlOwotCQl1bnNpZ25lZCBsb25nIHN6OwotCQljaGFyICpyZXN1bHQ7Ci0KLQkJcmVzdWx0ID0gcmVhZF9zaGExX2ZpbGUoc2hhMSwgJnR5cGUsICZzeik7Ci0JCWlmICghcmVzdWx0KQotCQkJcmV0dXJuIC0xOwotCQkvKiBYWFggcmVhZF9zaGExX2ZpbGUgTlVMLXRlcm1pbmF0ZXMgKi8KLQkJc3RyYnVmX2F0dGFjaChidWYsIHJlc3VsdCwgc3osIHN6ICsgMSk7Ci0JfQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHJlYWRfZmlsZV9vcl9naXRsaW5rKGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsIHN0cnVjdCBzdHJidWYgKmJ1ZikKLXsKLQlpZiAoIWNlKQotCQlyZXR1cm4gMDsKLQlyZXR1cm4gcmVhZF9ibG9iX29iamVjdChidWYsIGNlLT5zaGExLCBjZS0+Y2VfbW9kZSk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcGF0Y2ggKmluX2ZuX3RhYmxlKGNvbnN0IGNoYXIgKm5hbWUpCi17Ci0Jc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07Ci0KLQlpZiAobmFtZSA9PSBOVUxMKQotCQlyZXR1cm4gTlVMTDsKLQotCWl0ZW0gPSBzdHJpbmdfbGlzdF9sb29rdXAoJmZuX3RhYmxlLCBuYW1lKTsKLQlpZiAoaXRlbSAhPSBOVUxMKQotCQlyZXR1cm4gKHN0cnVjdCBwYXRjaCAqKWl0ZW0tPnV0aWw7Ci0KLQlyZXR1cm4gTlVMTDsKLX0KLQotLyoKLSAqIGl0ZW0tPnV0aWwgaW4gdGhlIGZpbGVuYW1lIHRhYmxlIHJlY29yZHMgdGhlIHN0YXR1cyBvZiB0aGUgcGF0aC4KLSAqIFVzdWFsbHkgaXQgcG9pbnRzIGF0IGEgcGF0Y2ggKHdob3NlIHJlc3VsdCByZWNvcmRzIHRoZSBjb250ZW50cwotICogb2YgaXQgYWZ0ZXIgYXBwbHlpbmcgaXQpLCBidXQgaXQgY291bGQgYmUgUEFUSF9XQVNfREVMRVRFRCBmb3IgYQotICogcGF0aCB0aGF0IGEgcHJldmlvdXNseSBhcHBsaWVkIHBhdGNoIGhhcyBhbHJlYWR5IHJlbW92ZWQsIG9yCi0gKiBQQVRIX1RPX0JFX0RFTEVURUQgZm9yIGEgcGF0aCB0aGF0IGEgbGF0ZXIgcGF0Y2ggd291bGQgcmVtb3ZlLgotICoKLSAqIFRoZSBsYXR0ZXIgaXMgbmVlZGVkIHRvIGRlYWwgd2l0aCBhIGNhc2Ugd2hlcmUgdHdvIHBhdGhzIEEgYW5kIEIKLSAqIGFyZSBzd2FwcGVkIGJ5IGZpcnN0IHJlbmFtaW5nIEEgdG8gQiBhbmQgdGhlbiByZW5hbWluZyBCIHRvIEE7Ci0gKiBtb3ZpbmcgQSB0byBCIHNob3VsZCBub3QgYmUgcHJldmVudGVkIGR1ZSB0byBwcmVzZW5jZSBvZiBCIGFzIHdlCi0gKiB3aWxsIHJlbW92ZSBpdCBpbiBhIGxhdGVyIHBhdGNoLgotICovCi0jZGVmaW5lIFBBVEhfVE9fQkVfREVMRVRFRCAoKHN0cnVjdCBwYXRjaCAqKSAtMikKLSNkZWZpbmUgUEFUSF9XQVNfREVMRVRFRCAoKHN0cnVjdCBwYXRjaCAqKSAtMSkKLQotc3RhdGljIGludCB0b19iZV9kZWxldGVkKHN0cnVjdCBwYXRjaCAqcGF0Y2gpCi17Ci0JcmV0dXJuIHBhdGNoID09IFBBVEhfVE9fQkVfREVMRVRFRDsKLX0KLQotc3RhdGljIGludCB3YXNfZGVsZXRlZChzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotewotCXJldHVybiBwYXRjaCA9PSBQQVRIX1dBU19ERUxFVEVEOwotfQotCi1zdGF0aWMgdm9pZCBhZGRfdG9fZm5fdGFibGUoc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKLQotCS8qCi0JICogQWx3YXlzIGFkZCBuZXdfbmFtZSB1bmxlc3MgcGF0Y2ggaXMgYSBkZWxldGlvbgotCSAqIFRoaXMgc2hvdWxkIGNvdmVyIHRoZSBjYXNlcyBmb3Igbm9ybWFsIGRpZmZzLAotCSAqIGZpbGUgY3JlYXRpb25zIGFuZCBjb3BpZXMKLQkgKi8KLQlpZiAocGF0Y2gtPm5ld19uYW1lICE9IE5VTEwpIHsKLQkJaXRlbSA9IHN0cmluZ19saXN0X2luc2VydCgmZm5fdGFibGUsIHBhdGNoLT5uZXdfbmFtZSk7Ci0JCWl0ZW0tPnV0aWwgPSBwYXRjaDsKLQl9Ci0KLQkvKgotCSAqIHN0b3JlIGEgZmFpbHVyZSBvbiByZW5hbWUvZGVsZXRpb24gY2FzZXMgYmVjYXVzZQotCSAqIGxhdGVyIGNodW5rcyBzaG91bGRuJ3QgcGF0Y2ggb2xkIG5hbWVzCi0JICovCi0JaWYgKChwYXRjaC0+bmV3X25hbWUgPT0gTlVMTCkgfHwgKHBhdGNoLT5pc19yZW5hbWUpKSB7Ci0JCWl0ZW0gPSBzdHJpbmdfbGlzdF9pbnNlcnQoJmZuX3RhYmxlLCBwYXRjaC0+b2xkX25hbWUpOwotCQlpdGVtLT51dGlsID0gUEFUSF9XQVNfREVMRVRFRDsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIHByZXBhcmVfZm5fdGFibGUoc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQkvKgotCSAqIHN0b3JlIGluZm9ybWF0aW9uIGFib3V0IGluY29taW5nIGZpbGUgZGVsZXRpb24KLQkgKi8KLQl3aGlsZSAocGF0Y2gpIHsKLQkJaWYgKChwYXRjaC0+bmV3X25hbWUgPT0gTlVMTCkgfHwgKHBhdGNoLT5pc19yZW5hbWUpKSB7Ci0JCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKLQkJCWl0ZW0gPSBzdHJpbmdfbGlzdF9pbnNlcnQoJmZuX3RhYmxlLCBwYXRjaC0+b2xkX25hbWUpOwotCQkJaXRlbS0+dXRpbCA9IFBBVEhfVE9fQkVfREVMRVRFRDsKLQkJfQotCQlwYXRjaCA9IHBhdGNoLT5uZXh0OwotCX0KLX0KLQotc3RhdGljIGludCBjaGVja291dF90YXJnZXQoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCi0JCQkgICBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLCBzdHJ1Y3Qgc3RhdCAqc3QpCi17Ci0Jc3RydWN0IGNoZWNrb3V0IGNvc3RhdGU7Ci0KLQltZW1zZXQoJmNvc3RhdGUsIDAsIHNpemVvZihjb3N0YXRlKSk7Ci0JY29zdGF0ZS5iYXNlX2RpciA9ICIiOwotCWNvc3RhdGUucmVmcmVzaF9jYWNoZSA9IDE7Ci0JY29zdGF0ZS5pc3RhdGUgPSBpc3RhdGU7Ci0JaWYgKGNoZWNrb3V0X2VudHJ5KGNlLCAmY29zdGF0ZSwgTlVMTCkgfHwgbHN0YXQoY2UtPm5hbWUsIHN0KSkKLQkJcmV0dXJuIGVycm9yKF8oImNhbm5vdCBjaGVja291dCAlcyIpLCBjZS0+bmFtZSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcGF0Y2ggKnByZXZpb3VzX3BhdGNoKHN0cnVjdCBwYXRjaCAqcGF0Y2gsIGludCAqZ29uZSkKLXsKLQlzdHJ1Y3QgcGF0Y2ggKnByZXZpb3VzOwotCi0JKmdvbmUgPSAwOwotCWlmIChwYXRjaC0+aXNfY29weSB8fCBwYXRjaC0+aXNfcmVuYW1lKQotCQlyZXR1cm4gTlVMTDsgLyogImdpdCIgcGF0Y2hlcyBkbyBub3QgZGVwZW5kIG9uIHRoZSBvcmRlciAqLwotCi0JcHJldmlvdXMgPSBpbl9mbl90YWJsZShwYXRjaC0+b2xkX25hbWUpOwotCWlmICghcHJldmlvdXMpCi0JCXJldHVybiBOVUxMOwotCi0JaWYgKHRvX2JlX2RlbGV0ZWQocHJldmlvdXMpKQotCQlyZXR1cm4gTlVMTDsgLyogdGhlIGRlbGV0aW9uIGhhc24ndCBoYXBwZW5lZCB5ZXQgKi8KLQotCWlmICh3YXNfZGVsZXRlZChwcmV2aW91cykpCi0JCSpnb25lID0gMTsKLQotCXJldHVybiBwcmV2aW91czsKLX0KLQotc3RhdGljIGludCB2ZXJpZnlfaW5kZXhfbWF0Y2goY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgc3RydWN0IHN0YXQgKnN0KQotewotCWlmIChTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSkpIHsKLQkJaWYgKCFTX0lTRElSKHN0LT5zdF9tb2RlKSkKLQkJCXJldHVybiAtMTsKLQkJcmV0dXJuIDA7Ci0JfQotCXJldHVybiBjZV9tYXRjaF9zdGF0KGNlLCBzdCwgQ0VfTUFUQ0hfSUdOT1JFX1ZBTElEfENFX01BVENIX0lHTk9SRV9TS0lQX1dPUktUUkVFKTsKLX0KLQotI2RlZmluZSBTVUJNT0RVTEVfUEFUQ0hfV0lUSE9VVF9JTkRFWCAxCi0KLXN0YXRpYyBpbnQgbG9hZF9wYXRjaF90YXJnZXQoc3RydWN0IHN0cmJ1ZiAqYnVmLAotCQkJICAgICBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLAotCQkJICAgICBzdHJ1Y3Qgc3RhdCAqc3QsCi0JCQkgICAgIGNvbnN0IGNoYXIgKm5hbWUsCi0JCQkgICAgIHVuc2lnbmVkIGV4cGVjdGVkX21vZGUpCi17Ci0JaWYgKGNhY2hlZCB8fCBjaGVja19pbmRleCkgewotCQlpZiAocmVhZF9maWxlX29yX2dpdGxpbmsoY2UsIGJ1ZikpCi0JCQlyZXR1cm4gZXJyb3IoXygicmVhZCBvZiAlcyBmYWlsZWQiKSwgbmFtZSk7Ci0JfSBlbHNlIGlmIChuYW1lKSB7Ci0JCWlmIChTX0lTR0lUTElOSyhleHBlY3RlZF9tb2RlKSkgewotCQkJaWYgKGNlKQotCQkJCXJldHVybiByZWFkX2ZpbGVfb3JfZ2l0bGluayhjZSwgYnVmKTsKLQkJCWVsc2UKLQkJCQlyZXR1cm4gU1VCTU9EVUxFX1BBVENIX1dJVEhPVVRfSU5ERVg7Ci0JCX0gZWxzZSBpZiAoaGFzX3N5bWxpbmtfbGVhZGluZ19wYXRoKG5hbWUsIHN0cmxlbihuYW1lKSkpIHsKLQkJCXJldHVybiBlcnJvcihfKCJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIiksIG5hbWUpOwotCQl9IGVsc2UgewotCQkJaWYgKHJlYWRfb2xkX2RhdGEoc3QsIG5hbWUsIGJ1ZikpCi0JCQkJcmV0dXJuIGVycm9yKF8oInJlYWQgb2YgJXMgZmFpbGVkIiksIG5hbWUpOwotCQl9Ci0JfQotCXJldHVybiAwOwotfQotCi0vKgotICogV2UgYXJlIGFib3V0IHRvIGFwcGx5ICJwYXRjaCI7IHBvcHVsYXRlIHRoZSAiaW1hZ2UiIHdpdGggdGhlCi0gKiBjdXJyZW50IHZlcnNpb24gd2UgaGF2ZSwgZnJvbSB0aGUgd29ya2luZyB0cmVlIG9yIGZyb20gdGhlIGluZGV4LAotICogZGVwZW5kaW5nIG9uIHRoZSBzaXR1YXRpb24gZS5nLiAtLWNhY2hlZC8tLWluZGV4LiAgSWYgd2UgYXJlCi0gKiBhcHBseWluZyBhIG5vbi1naXQgcGF0Y2ggdGhhdCBpbmNyZW1lbnRhbGx5IHVwZGF0ZXMgdGhlIHRyZWUsCi0gKiB3ZSByZWFkIGZyb20gdGhlIHJlc3VsdCBvZiBhIHByZXZpb3VzIGRpZmYuCi0gKi8KLXN0YXRpYyBpbnQgbG9hZF9wcmVpbWFnZShzdHJ1Y3QgaW1hZ2UgKmltYWdlLAotCQkJIHN0cnVjdCBwYXRjaCAqcGF0Y2gsIHN0cnVjdCBzdGF0ICpzdCwKLQkJCSBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlKQotewotCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0Jc2l6ZV90IGxlbjsKLQljaGFyICppbWc7Ci0Jc3RydWN0IHBhdGNoICpwcmV2aW91czsKLQlpbnQgc3RhdHVzOwotCi0JcHJldmlvdXMgPSBwcmV2aW91c19wYXRjaChwYXRjaCwgJnN0YXR1cyk7Ci0JaWYgKHN0YXR1cykKLQkJcmV0dXJuIGVycm9yKF8oInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIiksCi0JCQkgICAgIHBhdGNoLT5vbGRfbmFtZSk7Ci0JaWYgKHByZXZpb3VzKSB7Ci0JCS8qIFdlIGhhdmUgYSBwYXRjaGVkIGNvcHkgaW4gbWVtb3J5OyB1c2UgdGhhdC4gKi8KLQkJc3RyYnVmX2FkZCgmYnVmLCBwcmV2aW91cy0+cmVzdWx0LCBwcmV2aW91cy0+cmVzdWx0c2l6ZSk7Ci0JfSBlbHNlIHsKLQkJc3RhdHVzID0gbG9hZF9wYXRjaF90YXJnZXQoJmJ1ZiwgY2UsIHN0LAotCQkJCQkgICBwYXRjaC0+b2xkX25hbWUsIHBhdGNoLT5vbGRfbW9kZSk7Ci0JCWlmIChzdGF0dXMgPCAwKQotCQkJcmV0dXJuIHN0YXR1czsKLQkJZWxzZSBpZiAoc3RhdHVzID09IFNVQk1PRFVMRV9QQVRDSF9XSVRIT1VUX0lOREVYKSB7Ci0JCQkvKgotCQkJICogVGhlcmUgaXMgbm8gd2F5IHRvIGFwcGx5IHN1YnByb2plY3QKLQkJCSAqIHBhdGNoIHdpdGhvdXQgbG9va2luZyBhdCB0aGUgaW5kZXguCi0JCQkgKiBORUVEU1dPUks6IHNob3VsZG4ndCB0aGlzIGJlIGZsYWdnZWQKLQkJCSAqIGFzIGFuIGVycm9yPz8/Ci0JCQkgKi8KLQkJCWZyZWVfZnJhZ21lbnRfbGlzdChwYXRjaC0+ZnJhZ21lbnRzKTsKLQkJCXBhdGNoLT5mcmFnbWVudHMgPSBOVUxMOwotCQl9IGVsc2UgaWYgKHN0YXR1cykgewotCQkJcmV0dXJuIGVycm9yKF8oInJlYWQgb2YgJXMgZmFpbGVkIiksIHBhdGNoLT5vbGRfbmFtZSk7Ci0JCX0KLQl9Ci0KLQlpbWcgPSBzdHJidWZfZGV0YWNoKCZidWYsICZsZW4pOwotCXByZXBhcmVfaW1hZ2UoaW1hZ2UsIGltZywgbGVuLCAhcGF0Y2gtPmlzX2JpbmFyeSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgdGhyZWVfd2F5X21lcmdlKHN0cnVjdCBpbWFnZSAqaW1hZ2UsCi0JCQkgICBjaGFyICpwYXRoLAotCQkJICAgY29uc3QgdW5zaWduZWQgY2hhciAqYmFzZSwKLQkJCSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm91cnMsCi0JCQkgICBjb25zdCB1bnNpZ25lZCBjaGFyICp0aGVpcnMpCi17Ci0JbW1maWxlX3QgYmFzZV9maWxlLCBvdXJfZmlsZSwgdGhlaXJfZmlsZTsKLQltbWJ1ZmZlcl90IHJlc3VsdCA9IHsgTlVMTCB9OwotCWludCBzdGF0dXM7Ci0KLQlyZWFkX21tYmxvYigmYmFzZV9maWxlLCBiYXNlKTsKLQlyZWFkX21tYmxvYigmb3VyX2ZpbGUsIG91cnMpOwotCXJlYWRfbW1ibG9iKCZ0aGVpcl9maWxlLCB0aGVpcnMpOwotCXN0YXR1cyA9IGxsX21lcmdlKCZyZXN1bHQsIHBhdGgsCi0JCQkgICZiYXNlX2ZpbGUsICJiYXNlIiwKLQkJCSAgJm91cl9maWxlLCAib3VycyIsCi0JCQkgICZ0aGVpcl9maWxlLCAidGhlaXJzIiwgTlVMTCk7Ci0JZnJlZShiYXNlX2ZpbGUucHRyKTsKLQlmcmVlKG91cl9maWxlLnB0cik7Ci0JZnJlZSh0aGVpcl9maWxlLnB0cik7Ci0JaWYgKHN0YXR1cyA8IDAgfHwgIXJlc3VsdC5wdHIpIHsKLQkJZnJlZShyZXN1bHQucHRyKTsKLQkJcmV0dXJuIC0xOwotCX0KLQljbGVhcl9pbWFnZShpbWFnZSk7Ci0JaW1hZ2UtPmJ1ZiA9IHJlc3VsdC5wdHI7Ci0JaW1hZ2UtPmxlbiA9IHJlc3VsdC5zaXplOwotCi0JcmV0dXJuIHN0YXR1czsKLX0KLQotLyoKLSAqIFdoZW4gZGlyZWN0bHkgZmFsbGluZyBiYWNrIHRvIGFkZC9hZGQgdGhyZWUtd2F5IG1lcmdlLCB3ZSByZWFkIGZyb20KLSAqIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIHRoZSBuZXdfbmFtZS4gIEluIG5vIGNhc2VzIG90aGVyIHRoYW4gdGhhdAotICogdGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZC4KLSAqLwotc3RhdGljIGludCBsb2FkX2N1cnJlbnQoc3RydWN0IGltYWdlICppbWFnZSwgc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCWludCBzdGF0dXMsIHBvczsKLQlzaXplX3QgbGVuOwotCWNoYXIgKmltZzsKLQlzdHJ1Y3Qgc3RhdCBzdDsKLQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOwotCWNoYXIgKm5hbWUgPSBwYXRjaC0+bmV3X25hbWU7Ci0JdW5zaWduZWQgbW9kZSA9IHBhdGNoLT5uZXdfbW9kZTsKLQotCWlmICghcGF0Y2gtPmlzX25ldykKLQkJZGllKCJCVUc6IHBhdGNoIHRvICVzIGlzIG5vdCBhIGNyZWF0aW9uIiwgcGF0Y2gtPm9sZF9uYW1lKTsKLQotCXBvcyA9IGNhY2hlX25hbWVfcG9zKG5hbWUsIHN0cmxlbihuYW1lKSk7Ci0JaWYgKHBvcyA8IDApCi0JCXJldHVybiBlcnJvcihfKCIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiKSwgbmFtZSk7Ci0JY2UgPSBhY3RpdmVfY2FjaGVbcG9zXTsKLQlpZiAobHN0YXQobmFtZSwgJnN0KSkgewotCQlpZiAoZXJybm8gIT0gRU5PRU5UKQotCQkJcmV0dXJuIGVycm9yKF8oIiVzOiAlcyIpLCBuYW1lLCBzdHJlcnJvcihlcnJubykpOwotCQlpZiAoY2hlY2tvdXRfdGFyZ2V0KCZ0aGVfaW5kZXgsIGNlLCAmc3QpKQotCQkJcmV0dXJuIC0xOwotCX0KLQlpZiAodmVyaWZ5X2luZGV4X21hdGNoKGNlLCAmc3QpKQotCQlyZXR1cm4gZXJyb3IoXygiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IiksIG5hbWUpOwotCi0Jc3RhdHVzID0gbG9hZF9wYXRjaF90YXJnZXQoJmJ1ZiwgY2UsICZzdCwgbmFtZSwgbW9kZSk7Ci0JaWYgKHN0YXR1cyA8IDApCi0JCXJldHVybiBzdGF0dXM7Ci0JZWxzZSBpZiAoc3RhdHVzKQotCQlyZXR1cm4gLTE7Ci0JaW1nID0gc3RyYnVmX2RldGFjaCgmYnVmLCAmbGVuKTsKLQlwcmVwYXJlX2ltYWdlKGltYWdlLCBpbWcsIGxlbiwgIXBhdGNoLT5pc19iaW5hcnkpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHRyeV90aHJlZXdheShzdHJ1Y3QgaW1hZ2UgKmltYWdlLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoLAotCQkJc3RydWN0IHN0YXQgKnN0LCBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlKQotewotCXVuc2lnbmVkIGNoYXIgcHJlX3NoYTFbMjBdLCBwb3N0X3NoYTFbMjBdLCBvdXJfc2hhMVsyMF07Ci0Jc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQlzaXplX3QgbGVuOwotCWludCBzdGF0dXM7Ci0JY2hhciAqaW1nOwotCXN0cnVjdCBpbWFnZSB0bXBfaW1hZ2U7Ci0KLQkvKiBObyBwb2ludCBmYWxsaW5nIGJhY2sgdG8gMy13YXkgbWVyZ2UgaW4gdGhlc2UgY2FzZXMgKi8KLQlpZiAocGF0Y2gtPmlzX2RlbGV0ZSB8fAotCSAgICBTX0lTR0lUTElOSyhwYXRjaC0+b2xkX21vZGUpIHx8IFNfSVNHSVRMSU5LKHBhdGNoLT5uZXdfbW9kZSkpCi0JCXJldHVybiAtMTsKLQotCS8qIFByZWltYWdlIHRoZSBwYXRjaCB3YXMgcHJlcGFyZWQgZm9yICovCi0JaWYgKHBhdGNoLT5pc19uZXcpCi0JCXdyaXRlX3NoYTFfZmlsZSgiIiwgMCwgYmxvYl90eXBlLCBwcmVfc2hhMSk7Ci0JZWxzZSBpZiAoZ2V0X3NoYTEocGF0Y2gtPm9sZF9zaGExX3ByZWZpeCwgcHJlX3NoYTEpIHx8Ci0JCSByZWFkX2Jsb2Jfb2JqZWN0KCZidWYsIHByZV9zaGExLCBwYXRjaC0+b2xkX21vZGUpKQotCQlyZXR1cm4gZXJyb3IoInJlcG9zaXRvcnkgbGFja3MgdGhlIG5lY2Vzc2FyeSBibG9iIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iKTsKLQotCWZwcmludGYoc3RkZXJyLCAiRmFsbGluZyBiYWNrIHRvIHRocmVlLXdheSBtZXJnZS4uLlxuIik7Ci0KLQlpbWcgPSBzdHJidWZfZGV0YWNoKCZidWYsICZsZW4pOwotCXByZXBhcmVfaW1hZ2UoJnRtcF9pbWFnZSwgaW1nLCBsZW4sIDEpOwotCS8qIEFwcGx5IHRoZSBwYXRjaCB0byBnZXQgdGhlIHBvc3QgaW1hZ2UgKi8KLQlpZiAoYXBwbHlfZnJhZ21lbnRzKCZ0bXBfaW1hZ2UsIHBhdGNoKSA8IDApIHsKLQkJY2xlYXJfaW1hZ2UoJnRtcF9pbWFnZSk7Ci0JCXJldHVybiAtMTsKLQl9Ci0JLyogcG9zdF9zaGExW10gaXMgdGhlaXJzICovCi0Jd3JpdGVfc2hhMV9maWxlKHRtcF9pbWFnZS5idWYsIHRtcF9pbWFnZS5sZW4sIGJsb2JfdHlwZSwgcG9zdF9zaGExKTsKLQljbGVhcl9pbWFnZSgmdG1wX2ltYWdlKTsKLQotCS8qIG91cl9zaGExW10gaXMgb3VycyAqLwotCWlmIChwYXRjaC0+aXNfbmV3KSB7Ci0JCWlmIChsb2FkX2N1cnJlbnQoJnRtcF9pbWFnZSwgcGF0Y2gpKQotCQkJcmV0dXJuIGVycm9yKCJjYW5ub3QgcmVhZCB0aGUgY3VycmVudCBjb250ZW50cyBvZiAnJXMnIiwKLQkJCQkgICAgIHBhdGNoLT5uZXdfbmFtZSk7Ci0JfSBlbHNlIHsKLQkJaWYgKGxvYWRfcHJlaW1hZ2UoJnRtcF9pbWFnZSwgcGF0Y2gsIHN0LCBjZSkpCi0JCQlyZXR1cm4gZXJyb3IoImNhbm5vdCByZWFkIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mICclcyciLAotCQkJCSAgICAgcGF0Y2gtPm9sZF9uYW1lKTsKLQl9Ci0Jd3JpdGVfc2hhMV9maWxlKHRtcF9pbWFnZS5idWYsIHRtcF9pbWFnZS5sZW4sIGJsb2JfdHlwZSwgb3VyX3NoYTEpOwotCWNsZWFyX2ltYWdlKCZ0bXBfaW1hZ2UpOwotCi0JLyogaW4tY29yZSB0aHJlZS13YXkgbWVyZ2UgYmV0d2VlbiBwb3N0IGFuZCBvdXIgdXNpbmcgcHJlIGFzIGJhc2UgKi8KLQlzdGF0dXMgPSB0aHJlZV93YXlfbWVyZ2UoaW1hZ2UsIHBhdGNoLT5uZXdfbmFtZSwKLQkJCQkgcHJlX3NoYTEsIG91cl9zaGExLCBwb3N0X3NoYTEpOwotCWlmIChzdGF0dXMgPCAwKSB7Ci0JCWZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGZhbGwgYmFjayBvbiB0aHJlZS13YXkgbWVyZ2UuLi5cbiIpOwotCQlyZXR1cm4gc3RhdHVzOwotCX0KLQotCWlmIChzdGF0dXMpIHsKLQkJcGF0Y2gtPmNvbmZsaWN0ZWRfdGhyZWV3YXkgPSAxOwotCQlpZiAocGF0Y2gtPmlzX25ldykKLQkJCW9pZGNscigmcGF0Y2gtPnRocmVld2F5X3N0YWdlWzBdKTsKLQkJZWxzZQotCQkJaGFzaGNweShwYXRjaC0+dGhyZWV3YXlfc3RhZ2VbMF0uaGFzaCwgcHJlX3NoYTEpOwotCQloYXNoY3B5KHBhdGNoLT50aHJlZXdheV9zdGFnZVsxXS5oYXNoLCBvdXJfc2hhMSk7Ci0JCWhhc2hjcHkocGF0Y2gtPnRocmVld2F5X3N0YWdlWzJdLmhhc2gsIHBvc3Rfc2hhMSk7Ci0JCWZwcmludGYoc3RkZXJyLCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIHdpdGggY29uZmxpY3RzLlxuIiwgcGF0Y2gtPm5ld19uYW1lKTsKLQl9IGVsc2UgewotCQlmcHJpbnRmKHN0ZGVyciwgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyBjbGVhbmx5LlxuIiwgcGF0Y2gtPm5ld19uYW1lKTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgYXBwbHlfZGF0YShzdHJ1Y3QgcGF0Y2ggKnBhdGNoLCBzdHJ1Y3Qgc3RhdCAqc3QsIGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpCi17Ci0Jc3RydWN0IGltYWdlIGltYWdlOwotCi0JaWYgKGxvYWRfcHJlaW1hZ2UoJmltYWdlLCBwYXRjaCwgc3QsIGNlKSA8IDApCi0JCXJldHVybiAtMTsKLQotCWlmIChwYXRjaC0+ZGlyZWN0X3RvX3RocmVld2F5IHx8Ci0JICAgIGFwcGx5X2ZyYWdtZW50cygmaW1hZ2UsIHBhdGNoKSA8IDApIHsKLQkJLyogTm90ZTogd2l0aCAtLXJlamVjdCwgYXBwbHlfZnJhZ21lbnRzKCkgcmV0dXJucyAwICovCi0JCWlmICghdGhyZWV3YXkgfHwgdHJ5X3RocmVld2F5KCZpbWFnZSwgcGF0Y2gsIHN0LCBjZSkgPCAwKQotCQkJcmV0dXJuIC0xOwotCX0KLQlwYXRjaC0+cmVzdWx0ID0gaW1hZ2UuYnVmOwotCXBhdGNoLT5yZXN1bHRzaXplID0gaW1hZ2UubGVuOwotCWFkZF90b19mbl90YWJsZShwYXRjaCk7Ci0JZnJlZShpbWFnZS5saW5lX2FsbG9jYXRlZCk7Ci0KLQlpZiAoMCA8IHBhdGNoLT5pc19kZWxldGUgJiYgcGF0Y2gtPnJlc3VsdHNpemUpCi0JCXJldHVybiBlcnJvcihfKCJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIikpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiBJZiAicGF0Y2giIHRoYXQgd2UgYXJlIGxvb2tpbmcgYXQgbW9kaWZpZXMgb3IgZGVsZXRlcyB3aGF0IHdlIGhhdmUsCi0gKiB3ZSB3b3VsZCB3YW50IGl0IG5vdCB0byBsb3NlIGFueSBsb2NhbCBtb2RpZmljYXRpb24gd2UgaGF2ZSwgZWl0aGVyCi0gKiBpbiB0aGUgd29ya2luZyB0cmVlIG9yIGluIHRoZSBpbmRleC4KLSAqCi0gKiBUaGlzIGFsc28gZGVjaWRlcyBpZiBhIG5vbi1naXQgcGF0Y2ggaXMgYSBjcmVhdGlvbiBwYXRjaCBvciBhCi0gKiBtb2RpZmljYXRpb24gdG8gYW4gZXhpc3RpbmcgZW1wdHkgZmlsZS4gIFdlIGRvIG5vdCBjaGVjayB0aGUgc3RhdGUKLSAqIG9mIHRoZSBjdXJyZW50IHRyZWUgZm9yIGEgY3JlYXRpb24gcGF0Y2ggaW4gdGhpcyBmdW5jdGlvbjsgdGhlIGNhbGxlcgotICogY2hlY2tfcGF0Y2goKSBzZXBhcmF0ZWx5IG1ha2VzIHN1cmUgKGFuZCBlcnJvcnMgb3V0IG90aGVyd2lzZSkgdGhhdAotICogdGhlIHBhdGggdGhlIHBhdGNoIGNyZWF0ZXMgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGN1cnJlbnQgdHJlZS4KLSAqLwotc3RhdGljIGludCBjaGVja19wcmVpbWFnZShzdHJ1Y3QgcGF0Y2ggKnBhdGNoLCBzdHJ1Y3QgY2FjaGVfZW50cnkgKipjZSwgc3RydWN0IHN0YXQgKnN0KQotewotCWNvbnN0IGNoYXIgKm9sZF9uYW1lID0gcGF0Y2gtPm9sZF9uYW1lOwotCXN0cnVjdCBwYXRjaCAqcHJldmlvdXMgPSBOVUxMOwotCWludCBzdGF0X3JldCA9IDAsIHN0YXR1czsKLQl1bnNpZ25lZCBzdF9tb2RlID0gMDsKLQotCWlmICghb2xkX25hbWUpCi0JCXJldHVybiAwOwotCi0JYXNzZXJ0KHBhdGNoLT5pc19uZXcgPD0gMCk7Ci0JcHJldmlvdXMgPSBwcmV2aW91c19wYXRjaChwYXRjaCwgJnN0YXR1cyk7Ci0KLQlpZiAoc3RhdHVzKQotCQlyZXR1cm4gZXJyb3IoXygicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiKSwgb2xkX25hbWUpOwotCWlmIChwcmV2aW91cykgewotCQlzdF9tb2RlID0gcHJldmlvdXMtPm5ld19tb2RlOwotCX0gZWxzZSBpZiAoIWNhY2hlZCkgewotCQlzdGF0X3JldCA9IGxzdGF0KG9sZF9uYW1lLCBzdCk7Ci0JCWlmIChzdGF0X3JldCAmJiBlcnJubyAhPSBFTk9FTlQpCi0JCQlyZXR1cm4gZXJyb3IoXygiJXM6ICVzIiksIG9sZF9uYW1lLCBzdHJlcnJvcihlcnJubykpOwotCX0KLQotCWlmIChjaGVja19pbmRleCAmJiAhcHJldmlvdXMpIHsKLQkJaW50IHBvcyA9IGNhY2hlX25hbWVfcG9zKG9sZF9uYW1lLCBzdHJsZW4ob2xkX25hbWUpKTsKLQkJaWYgKHBvcyA8IDApIHsKLQkJCWlmIChwYXRjaC0+aXNfbmV3IDwgMCkKLQkJCQlnb3RvIGlzX25ldzsKLQkJCXJldHVybiBlcnJvcihfKCIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiKSwgb2xkX25hbWUpOwotCQl9Ci0JCSpjZSA9IGFjdGl2ZV9jYWNoZVtwb3NdOwotCQlpZiAoc3RhdF9yZXQgPCAwKSB7Ci0JCQlpZiAoY2hlY2tvdXRfdGFyZ2V0KCZ0aGVfaW5kZXgsICpjZSwgc3QpKQotCQkJCXJldHVybiAtMTsKLQkJfQotCQlpZiAoIWNhY2hlZCAmJiB2ZXJpZnlfaW5kZXhfbWF0Y2goKmNlLCBzdCkpCi0JCQlyZXR1cm4gZXJyb3IoXygiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IiksIG9sZF9uYW1lKTsKLQkJaWYgKGNhY2hlZCkKLQkJCXN0X21vZGUgPSAoKmNlKS0+Y2VfbW9kZTsKLQl9IGVsc2UgaWYgKHN0YXRfcmV0IDwgMCkgewotCQlpZiAocGF0Y2gtPmlzX25ldyA8IDApCi0JCQlnb3RvIGlzX25ldzsKLQkJcmV0dXJuIGVycm9yKF8oIiVzOiAlcyIpLCBvbGRfbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKLQl9Ci0KLQlpZiAoIWNhY2hlZCAmJiAhcHJldmlvdXMpCi0JCXN0X21vZGUgPSBjZV9tb2RlX2Zyb21fc3RhdCgqY2UsIHN0LT5zdF9tb2RlKTsKLQotCWlmIChwYXRjaC0+aXNfbmV3IDwgMCkKLQkJcGF0Y2gtPmlzX25ldyA9IDA7Ci0JaWYgKCFwYXRjaC0+b2xkX21vZGUpCi0JCXBhdGNoLT5vbGRfbW9kZSA9IHN0X21vZGU7Ci0JaWYgKChzdF9tb2RlIF4gcGF0Y2gtPm9sZF9tb2RlKSAmIFNfSUZNVCkKLQkJcmV0dXJuIGVycm9yKF8oIiVzOiB3cm9uZyB0eXBlIiksIG9sZF9uYW1lKTsKLQlpZiAoc3RfbW9kZSAhPSBwYXRjaC0+b2xkX21vZGUpCi0JCXdhcm5pbmcoXygiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIiksCi0JCQlvbGRfbmFtZSwgc3RfbW9kZSwgcGF0Y2gtPm9sZF9tb2RlKTsKLQlpZiAoIXBhdGNoLT5uZXdfbW9kZSAmJiAhcGF0Y2gtPmlzX2RlbGV0ZSkKLQkJcGF0Y2gtPm5ld19tb2RlID0gc3RfbW9kZTsKLQlyZXR1cm4gMDsKLQotIGlzX25ldzoKLQlwYXRjaC0+aXNfbmV3ID0gMTsKLQlwYXRjaC0+aXNfZGVsZXRlID0gMDsKLQlmcmVlKHBhdGNoLT5vbGRfbmFtZSk7Ci0JcGF0Y2gtPm9sZF9uYW1lID0gTlVMTDsKLQlyZXR1cm4gMDsKLX0KLQotCi0jZGVmaW5lIEVYSVNUU19JTl9JTkRFWCAxCi0jZGVmaW5lIEVYSVNUU19JTl9XT1JLVFJFRSAyCi0KLXN0YXRpYyBpbnQgY2hlY2tfdG9fY3JlYXRlKGNvbnN0IGNoYXIgKm5ld19uYW1lLCBpbnQgb2tfaWZfZXhpc3RzKQotewotCXN0cnVjdCBzdGF0IG5zdDsKLQotCWlmIChjaGVja19pbmRleCAmJgotCSAgICBjYWNoZV9uYW1lX3BvcyhuZXdfbmFtZSwgc3RybGVuKG5ld19uYW1lKSkgPj0gMCAmJgotCSAgICAhb2tfaWZfZXhpc3RzKQotCQlyZXR1cm4gRVhJU1RTX0lOX0lOREVYOwotCWlmIChjYWNoZWQpCi0JCXJldHVybiAwOwotCi0JaWYgKCFsc3RhdChuZXdfbmFtZSwgJm5zdCkpIHsKLQkJaWYgKFNfSVNESVIobnN0LnN0X21vZGUpIHx8IG9rX2lmX2V4aXN0cykKLQkJCXJldHVybiAwOwotCQkvKgotCQkgKiBBIGxlYWRpbmcgY29tcG9uZW50IG9mIG5ld19uYW1lIG1pZ2h0IGJlIGEgc3ltbGluawotCQkgKiB0aGF0IGlzIGdvaW5nIHRvIGJlIHJlbW92ZWQgd2l0aCB0aGlzIHBhdGNoLCBidXQKLQkJICogc3RpbGwgcG9pbnRpbmcgYXQgc29tZXdoZXJlIHRoYXQgaGFzIHRoZSBwYXRoLgotCQkgKiBJbiBzdWNoIGEgY2FzZSwgcGF0aCAibmV3X25hbWUiIGRvZXMgbm90IGV4aXN0IGFzCi0JCSAqIGZhciBhcyBnaXQgaXMgY29uY2VybmVkLgotCQkgKi8KLQkJaWYgKGhhc19zeW1saW5rX2xlYWRpbmdfcGF0aChuZXdfbmFtZSwgc3RybGVuKG5ld19uYW1lKSkpCi0JCQlyZXR1cm4gMDsKLQotCQlyZXR1cm4gRVhJU1RTX0lOX1dPUktUUkVFOwotCX0gZWxzZSBpZiAoKGVycm5vICE9IEVOT0VOVCkgJiYgKGVycm5vICE9IEVOT1RESVIpKSB7Ci0JCXJldHVybiBlcnJvcigiJXM6ICVzIiwgbmV3X25hbWUsIHN0cmVycm9yKGVycm5vKSk7Ci0JfQotCXJldHVybiAwOwotfQotCi0vKgotICogV2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGhvdyBzeW1saW5rcyBpbiB0aGUgcHJlaW1hZ2UgYXJlCi0gKiBtYW5pcHVsYXRlZCBieSB0aGUgcGF0Y2hlcy4gIEEgcGF0Y2ggdG8gYWRkIGEvYi9jIHdoZXJlIGEvYgotICogaXMgYSBzeW1saW5rIHNob3VsZCBub3QgYmUgYWxsb3dlZCB0byBhZmZlY3QgdGhlIGRpcmVjdG9yeQotICogdGhlIHN5bWxpbmsgcG9pbnRzIGF0LCBidXQgaWYgdGhlIHNhbWUgcGF0Y2ggcmVtb3ZlcyBhL2IsCi0gKiBpdCBpcyBwZXJmZWN0bHkgZmluZSwgYXMgdGhlIHBhdGNoIHJlbW92ZXMgYS9iIHRvIG1ha2Ugcm9vbQotICogdG8gY3JlYXRlIGEgZGlyZWN0b3J5IGEvYiBzbyB0aGF0IGEvYi9jIGNhbiBiZSBjcmVhdGVkLgotICovCi1zdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IHN5bWxpbmtfY2hhbmdlczsKLSNkZWZpbmUgU1lNTElOS19HT0VTX0FXQVkgMDEKLSNkZWZpbmUgU1lNTElOS19JTl9SRVNVTFQgMDIKLQotc3RhdGljIHVpbnRwdHJfdCByZWdpc3Rlcl9zeW1saW5rX2NoYW5nZXMoY29uc3QgY2hhciAqcGF0aCwgdWludHB0cl90IHdoYXQpCi17Ci0Jc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKmVudDsKLQotCWVudCA9IHN0cmluZ19saXN0X2xvb2t1cCgmc3ltbGlua19jaGFuZ2VzLCBwYXRoKTsKLQlpZiAoIWVudCkgewotCQllbnQgPSBzdHJpbmdfbGlzdF9pbnNlcnQoJnN5bWxpbmtfY2hhbmdlcywgcGF0aCk7Ci0JCWVudC0+dXRpbCA9ICh2b2lkICopMDsKLQl9Ci0JZW50LT51dGlsID0gKHZvaWQgKikod2hhdCB8ICgodWludHB0cl90KWVudC0+dXRpbCkpOwotCXJldHVybiAodWludHB0cl90KWVudC0+dXRpbDsKLX0KLQotc3RhdGljIHVpbnRwdHJfdCBjaGVja19zeW1saW5rX2NoYW5nZXMoY29uc3QgY2hhciAqcGF0aCkKLXsKLQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqZW50OwotCi0JZW50ID0gc3RyaW5nX2xpc3RfbG9va3VwKCZzeW1saW5rX2NoYW5nZXMsIHBhdGgpOwotCWlmICghZW50KQotCQlyZXR1cm4gMDsKLQlyZXR1cm4gKHVpbnRwdHJfdCllbnQtPnV0aWw7Ci19Ci0KLXN0YXRpYyB2b2lkIHByZXBhcmVfc3ltbGlua19jaGFuZ2VzKHN0cnVjdCBwYXRjaCAqcGF0Y2gpCi17Ci0JZm9yICggOyBwYXRjaDsgcGF0Y2ggPSBwYXRjaC0+bmV4dCkgewotCQlpZiAoKHBhdGNoLT5vbGRfbmFtZSAmJiBTX0lTTE5LKHBhdGNoLT5vbGRfbW9kZSkpICYmCi0JCSAgICAocGF0Y2gtPmlzX3JlbmFtZSB8fCBwYXRjaC0+aXNfZGVsZXRlKSkKLQkJCS8qIHRoZSBzeW1saW5rIGF0IHBhdGNoLT5vbGRfbmFtZSBpcyByZW1vdmVkICovCi0JCQlyZWdpc3Rlcl9zeW1saW5rX2NoYW5nZXMocGF0Y2gtPm9sZF9uYW1lLCBTWU1MSU5LX0dPRVNfQVdBWSk7Ci0KLQkJaWYgKHBhdGNoLT5uZXdfbmFtZSAmJiBTX0lTTE5LKHBhdGNoLT5uZXdfbW9kZSkpCi0JCQkvKiB0aGUgc3ltbGluayBhdCBwYXRjaC0+bmV3X25hbWUgaXMgY3JlYXRlZCBvciByZW1haW5zICovCi0JCQlyZWdpc3Rlcl9zeW1saW5rX2NoYW5nZXMocGF0Y2gtPm5ld19uYW1lLCBTWU1MSU5LX0lOX1JFU1VMVCk7Ci0JfQotfQotCi1zdGF0aWMgaW50IHBhdGhfaXNfYmV5b25kX3N5bWxpbmtfMShzdHJ1Y3Qgc3RyYnVmICpuYW1lKQotewotCWRvIHsKLQkJdW5zaWduZWQgaW50IGNoYW5nZTsKLQotCQl3aGlsZSAoLS1uYW1lLT5sZW4gJiYgbmFtZS0+YnVmW25hbWUtPmxlbl0gIT0gJy8nKQotCQkJOyAvKiBzY2FuIGJhY2t3YXJkcyAqLwotCQlpZiAoIW5hbWUtPmxlbikKLQkJCWJyZWFrOwotCQluYW1lLT5idWZbbmFtZS0+bGVuXSA9ICdcMCc7Ci0JCWNoYW5nZSA9IGNoZWNrX3N5bWxpbmtfY2hhbmdlcyhuYW1lLT5idWYpOwotCQlpZiAoY2hhbmdlICYgU1lNTElOS19JTl9SRVNVTFQpCi0JCQlyZXR1cm4gMTsKLQkJaWYgKGNoYW5nZSAmIFNZTUxJTktfR09FU19BV0FZKQotCQkJLyoKLQkJCSAqIFRoaXMgY2Fubm90IGJlICJyZXR1cm4gMCIsIGJlY2F1c2Ugd2UgbWF5Ci0JCQkgKiBzZWUgYSBuZXcgb25lIGNyZWF0ZWQgYXQgYSBoaWdoZXIgbGV2ZWwuCi0JCQkgKi8KLQkJCWNvbnRpbnVlOwotCi0JCS8qIG90aGVyd2lzZSwgY2hlY2sgdGhlIHByZWltYWdlICovCi0JCWlmIChjaGVja19pbmRleCkgewotCQkJc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKLQotCQkJY2UgPSBjYWNoZV9maWxlX2V4aXN0cyhuYW1lLT5idWYsIG5hbWUtPmxlbiwgaWdub3JlX2Nhc2UpOwotCQkJaWYgKGNlICYmIFNfSVNMTksoY2UtPmNlX21vZGUpKQotCQkJCXJldHVybiAxOwotCQl9IGVsc2UgewotCQkJc3RydWN0IHN0YXQgc3Q7Ci0JCQlpZiAoIWxzdGF0KG5hbWUtPmJ1ZiwgJnN0KSAmJiBTX0lTTE5LKHN0LnN0X21vZGUpKQotCQkJCXJldHVybiAxOwotCQl9Ci0JfSB3aGlsZSAoMSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgcGF0aF9pc19iZXlvbmRfc3ltbGluayhjb25zdCBjaGFyICpuYW1lXykKLXsKLQlpbnQgcmV0OwotCXN0cnVjdCBzdHJidWYgbmFtZSA9IFNUUkJVRl9JTklUOwotCi0JYXNzZXJ0KCpuYW1lXyAhPSAnXDAnKTsKLQlzdHJidWZfYWRkc3RyKCZuYW1lLCBuYW1lXyk7Ci0JcmV0ID0gcGF0aF9pc19iZXlvbmRfc3ltbGlua18xKCZuYW1lKTsKLQlzdHJidWZfcmVsZWFzZSgmbmFtZSk7Ci0KLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgdm9pZCBkaWVfb25fdW5zYWZlX3BhdGgoc3RydWN0IHBhdGNoICpwYXRjaCkKLXsKLQljb25zdCBjaGFyICpvbGRfbmFtZSA9IE5VTEw7Ci0JY29uc3QgY2hhciAqbmV3X25hbWUgPSBOVUxMOwotCWlmIChwYXRjaC0+aXNfZGVsZXRlKQotCQlvbGRfbmFtZSA9IHBhdGNoLT5vbGRfbmFtZTsKLQllbHNlIGlmICghcGF0Y2gtPmlzX25ldyAmJiAhcGF0Y2gtPmlzX2NvcHkpCi0JCW9sZF9uYW1lID0gcGF0Y2gtPm9sZF9uYW1lOwotCWlmICghcGF0Y2gtPmlzX2RlbGV0ZSkKLQkJbmV3X25hbWUgPSBwYXRjaC0+bmV3X25hbWU7Ci0KLQlpZiAob2xkX25hbWUgJiYgIXZlcmlmeV9wYXRoKG9sZF9uYW1lKSkKLQkJZGllKF8oImludmFsaWQgcGF0aCAnJXMnIiksIG9sZF9uYW1lKTsKLQlpZiAobmV3X25hbWUgJiYgIXZlcmlmeV9wYXRoKG5ld19uYW1lKSkKLQkJZGllKF8oImludmFsaWQgcGF0aCAnJXMnIiksIG5ld19uYW1lKTsKLX0KLQotLyoKLSAqIENoZWNrIGFuZCBhcHBseSB0aGUgcGF0Y2ggaW4tY29yZTsgbGVhdmUgdGhlIHJlc3VsdCBpbiBwYXRjaC0+cmVzdWx0Ci0gKiBmb3IgdGhlIGNhbGxlciB0byB3cml0ZSBpdCBvdXQgdG8gdGhlIGZpbmFsIGRlc3RpbmF0aW9uLgotICovCi1zdGF0aWMgaW50IGNoZWNrX3BhdGNoKHN0cnVjdCBwYXRjaCAqcGF0Y2gpCi17Ci0Jc3RydWN0IHN0YXQgc3Q7Ci0JY29uc3QgY2hhciAqb2xkX25hbWUgPSBwYXRjaC0+b2xkX25hbWU7Ci0JY29uc3QgY2hhciAqbmV3X25hbWUgPSBwYXRjaC0+bmV3X25hbWU7Ci0JY29uc3QgY2hhciAqbmFtZSA9IG9sZF9uYW1lID8gb2xkX25hbWUgOiBuZXdfbmFtZTsKLQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gTlVMTDsKLQlzdHJ1Y3QgcGF0Y2ggKnRwYXRjaDsKLQlpbnQgb2tfaWZfZXhpc3RzOwotCWludCBzdGF0dXM7Ci0KLQlwYXRjaC0+cmVqZWN0ZWQgPSAxOyAvKiB3ZSB3aWxsIGRyb3AgdGhpcyBhZnRlciB3ZSBzdWNjZWVkICovCi0KLQlzdGF0dXMgPSBjaGVja19wcmVpbWFnZShwYXRjaCwgJmNlLCAmc3QpOwotCWlmIChzdGF0dXMpCi0JCXJldHVybiBzdGF0dXM7Ci0Jb2xkX25hbWUgPSBwYXRjaC0+b2xkX25hbWU7Ci0KLQkvKgotCSAqIEEgdHlwZS1jaGFuZ2UgZGlmZiBpcyBhbHdheXMgc3BsaXQgaW50byBhIHBhdGNoIHRvIGRlbGV0ZQotCSAqIG9sZCwgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgYSBwYXRjaCB0byBjcmVhdGUgbmV3IChzZWUKLQkgKiBkaWZmLmM6OnJ1bl9kaWZmKCkpOyBpbiBzdWNoIGEgY2FzZSBpdCBpcyBPayB0aGF0IHRoZSBlbnRyeQotCSAqIHRvIGJlIGRlbGV0ZWQgYnkgdGhlIHByZXZpb3VzIHBhdGNoIGlzIHN0aWxsIGluIHRoZSB3b3JraW5nCi0JICogdHJlZSBhbmQgaW4gdGhlIGluZGV4LgotCSAqCi0JICogQSBwYXRjaCB0byBzd2FwLXJlbmFtZSBiZXR3ZWVuIEEgYW5kIEIgd291bGQgZmlyc3QgcmVuYW1lIEEKLQkgKiB0byBCIGFuZCB0aGVuIHJlbmFtZSBCIHRvIEEuICBXaGlsZSBhcHBseWluZyB0aGUgZmlyc3Qgb25lLAotCSAqIHRoZSBwcmVzZW5jZSBvZiBCIHNob3VsZCBub3Qgc3RvcCBBIGZyb20gZ2V0dGluZyByZW5hbWVkIHRvCi0JICogQjsgYXNrIHRvX2JlX2RlbGV0ZWQoKSBhYm91dCB0aGUgbGF0ZXIgcmVuYW1lLiAgUmVtb3ZhbCBvZgotCSAqIEIgYW5kIHJlbmFtZSBmcm9tIEEgdG8gQiBpcyBoYW5kbGVkIHRoZSBzYW1lIHdheSBieSBhc2tpbmcKLQkgKiB3YXNfZGVsZXRlZCgpLgotCSAqLwotCWlmICgodHBhdGNoID0gaW5fZm5fdGFibGUobmV3X25hbWUpKSAmJgotCSAgICAod2FzX2RlbGV0ZWQodHBhdGNoKSB8fCB0b19iZV9kZWxldGVkKHRwYXRjaCkpKQotCQlva19pZl9leGlzdHMgPSAxOwotCWVsc2UKLQkJb2tfaWZfZXhpc3RzID0gMDsKLQotCWlmIChuZXdfbmFtZSAmJgotCSAgICAoKDAgPCBwYXRjaC0+aXNfbmV3KSB8fCBwYXRjaC0+aXNfcmVuYW1lIHx8IHBhdGNoLT5pc19jb3B5KSkgewotCQlpbnQgZXJyID0gY2hlY2tfdG9fY3JlYXRlKG5ld19uYW1lLCBva19pZl9leGlzdHMpOwotCi0JCWlmIChlcnIgJiYgdGhyZWV3YXkpIHsKLQkJCXBhdGNoLT5kaXJlY3RfdG9fdGhyZWV3YXkgPSAxOwotCQl9IGVsc2Ugc3dpdGNoIChlcnIpIHsKLQkJY2FzZSAwOgotCQkJYnJlYWs7IC8qIGhhcHB5ICovCi0JCWNhc2UgRVhJU1RTX0lOX0lOREVYOgotCQkJcmV0dXJuIGVycm9yKF8oIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIpLCBuZXdfbmFtZSk7Ci0JCQlicmVhazsKLQkJY2FzZSBFWElTVFNfSU5fV09SS1RSRUU6Ci0JCQlyZXR1cm4gZXJyb3IoXygiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IiksCi0JCQkJICAgICBuZXdfbmFtZSk7Ci0JCWRlZmF1bHQ6Ci0JCQlyZXR1cm4gZXJyOwotCQl9Ci0KLQkJaWYgKCFwYXRjaC0+bmV3X21vZGUpIHsKLQkJCWlmICgwIDwgcGF0Y2gtPmlzX25ldykKLQkJCQlwYXRjaC0+bmV3X21vZGUgPSBTX0lGUkVHIHwgMDY0NDsKLQkJCWVsc2UKLQkJCQlwYXRjaC0+bmV3X21vZGUgPSBwYXRjaC0+b2xkX21vZGU7Ci0JCX0KLQl9Ci0KLQlpZiAobmV3X25hbWUgJiYgb2xkX25hbWUpIHsKLQkJaW50IHNhbWUgPSAhc3RyY21wKG9sZF9uYW1lLCBuZXdfbmFtZSk7Ci0JCWlmICghcGF0Y2gtPm5ld19tb2RlKQotCQkJcGF0Y2gtPm5ld19tb2RlID0gcGF0Y2gtPm9sZF9tb2RlOwotCQlpZiAoKHBhdGNoLT5vbGRfbW9kZSBeIHBhdGNoLT5uZXdfbW9kZSkgJiBTX0lGTVQpIHsKLQkJCWlmIChzYW1lKQotCQkJCXJldHVybiBlcnJvcihfKCJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90ICIKLQkJCQkJICAgICAgICJtYXRjaCBvbGQgbW9kZSAoJW8pIiksCi0JCQkJCXBhdGNoLT5uZXdfbW9kZSwgbmV3X25hbWUsCi0JCQkJCXBhdGNoLT5vbGRfbW9kZSk7Ci0JCQllbHNlCi0JCQkJcmV0dXJuIGVycm9yKF8oIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgIgotCQkJCQkgICAgICAgIm1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiKSwKLQkJCQkJcGF0Y2gtPm5ld19tb2RlLCBuZXdfbmFtZSwKLQkJCQkJcGF0Y2gtPm9sZF9tb2RlLCBvbGRfbmFtZSk7Ci0JCX0KLQl9Ci0KLQlpZiAoIXVuc2FmZV9wYXRocykKLQkJZGllX29uX3Vuc2FmZV9wYXRoKHBhdGNoKTsKLQotCS8qCi0JICogQW4gYXR0ZW1wdCB0byByZWFkIGZyb20gb3IgZGVsZXRlIGEgcGF0aCB0aGF0IGlzIGJleW9uZCBhCi0JICogc3ltYm9saWMgbGluayB3aWxsIGJlIHByZXZlbnRlZCBieSBsb2FkX3BhdGNoX3RhcmdldCgpIHRoYXQKLQkgKiBpcyBjYWxsZWQgYXQgdGhlIGJlZ2lubmluZyBvZiBhcHBseV9kYXRhKCkgc28gd2UgZG8gbm90Ci0JICogaGF2ZSB0byB3b3JyeSBhYm91dCBhIHBhdGNoIG1hcmtlZCB3aXRoICJpc19kZWxldGUiIGJpdAotCSAqIGhlcmUuICBXZSBob3dldmVyIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHBhdGNoIHJlc3VsdAotCSAqIGlzIG5vdCBkZXBvc2l0ZWQgdG8gYSBwYXRoIHRoYXQgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluawotCSAqIGhlcmUuCi0JICovCi0JaWYgKCFwYXRjaC0+aXNfZGVsZXRlICYmIHBhdGhfaXNfYmV5b25kX3N5bWxpbmsocGF0Y2gtPm5ld19uYW1lKSkKLQkJcmV0dXJuIGVycm9yKF8oImFmZmVjdGVkIGZpbGUgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIiksCi0JCQkgICAgIHBhdGNoLT5uZXdfbmFtZSk7Ci0KLQlpZiAoYXBwbHlfZGF0YShwYXRjaCwgJnN0LCBjZSkgPCAwKQotCQlyZXR1cm4gZXJyb3IoXygiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IiksIG5hbWUpOwotCXBhdGNoLT5yZWplY3RlZCA9IDA7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgY2hlY2tfcGF0Y2hfbGlzdChzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotewotCWludCBlcnIgPSAwOwotCi0JcHJlcGFyZV9zeW1saW5rX2NoYW5nZXMocGF0Y2gpOwotCXByZXBhcmVfZm5fdGFibGUocGF0Y2gpOwotCXdoaWxlIChwYXRjaCkgewotCQlpZiAoYXBwbHlfdmVyYm9zZWx5KQotCQkJc2F5X3BhdGNoX25hbWUoc3RkZXJyLAotCQkJCSAgICAgICBfKCJDaGVja2luZyBwYXRjaCAlcy4uLiIpLCBwYXRjaCk7Ci0JCWVyciB8PSBjaGVja19wYXRjaChwYXRjaCk7Ci0JCXBhdGNoID0gcGF0Y2gtPm5leHQ7Ci0JfQotCXJldHVybiBlcnI7Ci19Ci0KLS8qIFRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gcmVhZCB0aGUgc2hhMSBmcm9tIHRoZSBjdXJyZW50IGluZGV4ICovCi1zdGF0aWMgaW50IGdldF9jdXJyZW50X3NoYTEoY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgY2hhciAqc2hhMSkKLXsKLQlpbnQgcG9zOwotCi0JaWYgKHJlYWRfY2FjaGUoKSA8IDApCi0JCXJldHVybiAtMTsKLQlwb3MgPSBjYWNoZV9uYW1lX3BvcyhwYXRoLCBzdHJsZW4ocGF0aCkpOwotCWlmIChwb3MgPCAwKQotCQlyZXR1cm4gLTE7Ci0JaGFzaGNweShzaGExLCBhY3RpdmVfY2FjaGVbcG9zXS0+c2hhMSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgcHJlaW1hZ2Vfc2hhMV9pbl9naXRsaW5rX3BhdGNoKHN0cnVjdCBwYXRjaCAqcCwgdW5zaWduZWQgY2hhciBzaGExWzIwXSkKLXsKLQkvKgotCSAqIEEgdXNhYmxlIGdpdGxpbmsgcGF0Y2ggaGFzIG9ubHkgb25lIGZyYWdtZW50IChodW5rKSB0aGF0IGxvb2tzIGxpa2U6Ci0JICogQEAgLTEgKzEgQEAKLQkgKiAtU3VicHJvamVjdCBjb21taXQgPG9sZCBzaGExPgotCSAqICtTdWJwcm9qZWN0IGNvbW1pdCA8bmV3IHNoYTE+Ci0JICogb3IKLQkgKiBAQCAtMSArMCwwIEBACi0JICogLVN1YnByb2plY3QgY29tbWl0IDxvbGQgc2hhMT4KLQkgKiBmb3IgYSByZW1vdmFsIHBhdGNoLgotCSAqLwotCXN0cnVjdCBmcmFnbWVudCAqaHVuayA9IHAtPmZyYWdtZW50czsKLQlzdGF0aWMgY29uc3QgY2hhciBoZWFkaW5nW10gPSAiLVN1YnByb2plY3QgY29tbWl0ICI7Ci0JY2hhciAqcHJlaW1hZ2U7Ci0KLQlpZiAoLyogZG9lcyB0aGUgcGF0Y2ggaGF2ZSBvbmx5IG9uZSBodW5rPyAqLwotCSAgICBodW5rICYmICFodW5rLT5uZXh0ICYmCi0JICAgIC8qIGlzIGl0cyBwcmVpbWFnZSBvbmUgbGluZT8gKi8KLQkgICAgaHVuay0+b2xkcG9zID09IDEgJiYgaHVuay0+b2xkbGluZXMgPT0gMSAmJgotCSAgICAvKiBkb2VzIHByZWltYWdlIGJlZ2luIHdpdGggdGhlIGhlYWRpbmc/ICovCi0JICAgIChwcmVpbWFnZSA9IG1lbWNocihodW5rLT5wYXRjaCwgJ1xuJywgaHVuay0+c2l6ZSkpICE9IE5VTEwgJiYKLQkgICAgc3RhcnRzX3dpdGgoKytwcmVpbWFnZSwgaGVhZGluZykgJiYKLQkgICAgLyogZG9lcyBpdCByZWNvcmQgZnVsbCBTSEEtMT8gKi8KLQkgICAgIWdldF9zaGExX2hleChwcmVpbWFnZSArIHNpemVvZihoZWFkaW5nKSAtIDEsIHNoYTEpICYmCi0JICAgIHByZWltYWdlW3NpemVvZihoZWFkaW5nKSArIDQwIC0gMV0gPT0gJ1xuJyAmJgotCSAgICAvKiBkb2VzIHRoZSBhYmJyZXZpYXRlZCBuYW1lIG9uIHRoZSBpbmRleCBsaW5lIGFncmVlIHdpdGggaXQ/ICovCi0JICAgIHN0YXJ0c193aXRoKHByZWltYWdlICsgc2l6ZW9mKGhlYWRpbmcpIC0gMSwgcC0+b2xkX3NoYTFfcHJlZml4KSkKLQkJcmV0dXJuIDA7IC8qIGl0IGFsbCBsb29rcyBmaW5lICovCi0KLQkvKiB3ZSBtYXkgaGF2ZSBmdWxsIG9iamVjdCBuYW1lIG9uIHRoZSBpbmRleCBsaW5lICovCi0JcmV0dXJuIGdldF9zaGExX2hleChwLT5vbGRfc2hhMV9wcmVmaXgsIHNoYTEpOwotfQotCi0vKiBCdWlsZCBhbiBpbmRleCB0aGF0IGNvbnRhaW5zIHRoZSBqdXN0IHRoZSBmaWxlcyBuZWVkZWQgZm9yIGEgM3dheSBtZXJnZSAqLwotc3RhdGljIHZvaWQgYnVpbGRfZmFrZV9hbmNlc3RvcihzdHJ1Y3QgcGF0Y2ggKmxpc3QsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQotewotCXN0cnVjdCBwYXRjaCAqcGF0Y2g7Ci0Jc3RydWN0IGluZGV4X3N0YXRlIHJlc3VsdCA9IHsgTlVMTCB9OwotCXN0YXRpYyBzdHJ1Y3QgbG9ja19maWxlIGxvY2s7Ci0KLQkvKiBPbmNlIHdlIHN0YXJ0IHN1cHBvcnRpbmcgdGhlIHJldmVyc2UgcGF0Y2gsIGl0IG1heSBiZQotCSAqIHdvcnRoIHNob3dpbmcgdGhlIG5ldyBzaGExIHByZWZpeCwgYnV0IHVudGlsIHRoZW4uLi4KLQkgKi8KLQlmb3IgKHBhdGNoID0gbGlzdDsgcGF0Y2g7IHBhdGNoID0gcGF0Y2gtPm5leHQpIHsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQkJc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKLQkJY29uc3QgY2hhciAqbmFtZTsKLQotCQluYW1lID0gcGF0Y2gtPm9sZF9uYW1lID8gcGF0Y2gtPm9sZF9uYW1lIDogcGF0Y2gtPm5ld19uYW1lOwotCQlpZiAoMCA8IHBhdGNoLT5pc19uZXcpCi0JCQljb250aW51ZTsKLQotCQlpZiAoU19JU0dJVExJTksocGF0Y2gtPm9sZF9tb2RlKSkgewotCQkJaWYgKCFwcmVpbWFnZV9zaGExX2luX2dpdGxpbmtfcGF0Y2gocGF0Y2gsIHNoYTEpKQotCQkJCTsgLyogb2ssIHRoZSB0ZXh0dWFsIHBhcnQgbG9va3Mgc2FuZSAqLwotCQkJZWxzZQotCQkJCWRpZSgic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgZm9yIHN1Ym1vZHVsZSAlcyIsCi0JCQkJICAgIG5hbWUpOwotCQl9IGVsc2UgaWYgKCFnZXRfc2hhMV9ibG9iKHBhdGNoLT5vbGRfc2hhMV9wcmVmaXgsIHNoYTEpKSB7Ci0JCQk7IC8qIG9rICovCi0JCX0gZWxzZSBpZiAoIXBhdGNoLT5saW5lc19hZGRlZCAmJiAhcGF0Y2gtPmxpbmVzX2RlbGV0ZWQpIHsKLQkJCS8qIG1vZGUtb25seSBjaGFuZ2U6IHVwZGF0ZSB0aGUgY3VycmVudCAqLwotCQkJaWYgKGdldF9jdXJyZW50X3NoYTEocGF0Y2gtPm9sZF9uYW1lLCBzaGExKSkKLQkJCQlkaWUoIm1vZGUgY2hhbmdlIGZvciAlcywgd2hpY2ggaXMgbm90ICIKLQkJCQkgICAgImluIGN1cnJlbnQgSEVBRCIsIG5hbWUpOwotCQl9IGVsc2UKLQkJCWRpZSgic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgIgotCQkJICAgICIoJXMpLiIsIG5hbWUpOwotCi0JCWNlID0gbWFrZV9jYWNoZV9lbnRyeShwYXRjaC0+b2xkX21vZGUsIHNoYTEsIG5hbWUsIDAsIDApOwotCQlpZiAoIWNlKQotCQkJZGllKF8oIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciKSwgbmFtZSk7Ci0JCWlmIChhZGRfaW5kZXhfZW50cnkoJnJlc3VsdCwgY2UsIEFERF9DQUNIRV9PS19UT19BREQpKQotCQkJZGllICgiQ291bGQgbm90IGFkZCAlcyB0byB0ZW1wb3JhcnkgaW5kZXgiLCBuYW1lKTsKLQl9Ci0KLQlob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKCZsb2NrLCBmaWxlbmFtZSwgTE9DS19ESUVfT05fRVJST1IpOwotCWlmICh3cml0ZV9sb2NrZWRfaW5kZXgoJnJlc3VsdCwgJmxvY2ssIENPTU1JVF9MT0NLKSkKLQkJZGllICgiQ291bGQgbm90IHdyaXRlIHRlbXBvcmFyeSBpbmRleCB0byAlcyIsIGZpbGVuYW1lKTsKLQotCWRpc2NhcmRfaW5kZXgoJnJlc3VsdCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHN0YXRfcGF0Y2hfbGlzdChzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotewotCWludCBmaWxlcywgYWRkcywgZGVsczsKLQotCWZvciAoZmlsZXMgPSBhZGRzID0gZGVscyA9IDAgOyBwYXRjaCA7IHBhdGNoID0gcGF0Y2gtPm5leHQpIHsKLQkJZmlsZXMrKzsKLQkJYWRkcyArPSBwYXRjaC0+bGluZXNfYWRkZWQ7Ci0JCWRlbHMgKz0gcGF0Y2gtPmxpbmVzX2RlbGV0ZWQ7Ci0JCXNob3dfc3RhdHMocGF0Y2gpOwotCX0KLQotCXByaW50X3N0YXRfc3VtbWFyeShzdGRvdXQsIGZpbGVzLCBhZGRzLCBkZWxzKTsKLX0KLQotc3RhdGljIHZvaWQgbnVtc3RhdF9wYXRjaF9saXN0KHN0cnVjdCBwYXRjaCAqcGF0Y2gpCi17Ci0JZm9yICggOyBwYXRjaDsgcGF0Y2ggPSBwYXRjaC0+bmV4dCkgewotCQljb25zdCBjaGFyICpuYW1lOwotCQluYW1lID0gcGF0Y2gtPm5ld19uYW1lID8gcGF0Y2gtPm5ld19uYW1lIDogcGF0Y2gtPm9sZF9uYW1lOwotCQlpZiAocGF0Y2gtPmlzX2JpbmFyeSkKLQkJCXByaW50ZigiLVx0LVx0Iik7Ci0JCWVsc2UKLQkJCXByaW50ZigiJWRcdCVkXHQiLCBwYXRjaC0+bGluZXNfYWRkZWQsIHBhdGNoLT5saW5lc19kZWxldGVkKTsKLQkJd3JpdGVfbmFtZV9xdW90ZWQobmFtZSwgc3Rkb3V0LCBsaW5lX3Rlcm1pbmF0aW9uKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIHNob3dfZmlsZV9tb2RlX25hbWUoY29uc3QgY2hhciAqbmV3ZGVsZXRlLCB1bnNpZ25lZCBpbnQgbW9kZSwgY29uc3QgY2hhciAqbmFtZSkKLXsKLQlpZiAobW9kZSkKLQkJcHJpbnRmKCIgJXMgbW9kZSAlMDZvICVzXG4iLCBuZXdkZWxldGUsIG1vZGUsIG5hbWUpOwotCWVsc2UKLQkJcHJpbnRmKCIgJXMgJXNcbiIsIG5ld2RlbGV0ZSwgbmFtZSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNob3dfbW9kZV9jaGFuZ2Uoc3RydWN0IHBhdGNoICpwLCBpbnQgc2hvd19uYW1lKQotewotCWlmIChwLT5vbGRfbW9kZSAmJiBwLT5uZXdfbW9kZSAmJiBwLT5vbGRfbW9kZSAhPSBwLT5uZXdfbW9kZSkgewotCQlpZiAoc2hvd19uYW1lKQotCQkJcHJpbnRmKCIgbW9kZSBjaGFuZ2UgJTA2byA9PiAlMDZvICVzXG4iLAotCQkJICAgICAgIHAtPm9sZF9tb2RlLCBwLT5uZXdfbW9kZSwgcC0+bmV3X25hbWUpOwotCQllbHNlCi0JCQlwcmludGYoIiBtb2RlIGNoYW5nZSAlMDZvID0+ICUwNm9cbiIsCi0JCQkgICAgICAgcC0+b2xkX21vZGUsIHAtPm5ld19tb2RlKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIHNob3dfcmVuYW1lX2NvcHkoc3RydWN0IHBhdGNoICpwKQotewotCWNvbnN0IGNoYXIgKnJlbmFtZWNvcHkgPSBwLT5pc19yZW5hbWUgPyAicmVuYW1lIiA6ICJjb3B5IjsKLQljb25zdCBjaGFyICpvbGQsICpuZXc7Ci0KLQkvKiBGaW5kIGNvbW1vbiBwcmVmaXggKi8KLQlvbGQgPSBwLT5vbGRfbmFtZTsKLQluZXcgPSBwLT5uZXdfbmFtZTsKLQl3aGlsZSAoMSkgewotCQljb25zdCBjaGFyICpzbGFzaF9vbGQsICpzbGFzaF9uZXc7Ci0JCXNsYXNoX29sZCA9IHN0cmNocihvbGQsICcvJyk7Ci0JCXNsYXNoX25ldyA9IHN0cmNocihuZXcsICcvJyk7Ci0JCWlmICghc2xhc2hfb2xkIHx8Ci0JCSAgICAhc2xhc2hfbmV3IHx8Ci0JCSAgICBzbGFzaF9vbGQgLSBvbGQgIT0gc2xhc2hfbmV3IC0gbmV3IHx8Ci0JCSAgICBtZW1jbXAob2xkLCBuZXcsIHNsYXNoX25ldyAtIG5ldykpCi0JCQlicmVhazsKLQkJb2xkID0gc2xhc2hfb2xkICsgMTsKLQkJbmV3ID0gc2xhc2hfbmV3ICsgMTsKLQl9Ci0JLyogcC0+b2xkX25hbWUgdGhydSBvbGQgaXMgdGhlIGNvbW1vbiBwcmVmaXgsIGFuZCBvbGQgYW5kIG5ldwotCSAqIHRocm91Z2ggdGhlIGVuZCBvZiBuYW1lcyBhcmUgcmVuYW1lcwotCSAqLwotCWlmIChvbGQgIT0gcC0+b2xkX25hbWUpCi0JCXByaW50ZigiICVzICUuKnN7JXMgPT4gJXN9ICglZCUlKVxuIiwgcmVuYW1lY29weSwKLQkJICAgICAgIChpbnQpKG9sZCAtIHAtPm9sZF9uYW1lKSwgcC0+b2xkX25hbWUsCi0JCSAgICAgICBvbGQsIG5ldywgcC0+c2NvcmUpOwotCWVsc2UKLQkJcHJpbnRmKCIgJXMgJXMgPT4gJXMgKCVkJSUpXG4iLCByZW5hbWVjb3B5LAotCQkgICAgICAgcC0+b2xkX25hbWUsIHAtPm5ld19uYW1lLCBwLT5zY29yZSk7Ci0Jc2hvd19tb2RlX2NoYW5nZShwLCAwKTsKLX0KLQotc3RhdGljIHZvaWQgc3VtbWFyeV9wYXRjaF9saXN0KHN0cnVjdCBwYXRjaCAqcGF0Y2gpCi17Ci0Jc3RydWN0IHBhdGNoICpwOwotCi0JZm9yIChwID0gcGF0Y2g7IHA7IHAgPSBwLT5uZXh0KSB7Ci0JCWlmIChwLT5pc19uZXcpCi0JCQlzaG93X2ZpbGVfbW9kZV9uYW1lKCJjcmVhdGUiLCBwLT5uZXdfbW9kZSwgcC0+bmV3X25hbWUpOwotCQllbHNlIGlmIChwLT5pc19kZWxldGUpCi0JCQlzaG93X2ZpbGVfbW9kZV9uYW1lKCJkZWxldGUiLCBwLT5vbGRfbW9kZSwgcC0+b2xkX25hbWUpOwotCQllbHNlIHsKLQkJCWlmIChwLT5pc19yZW5hbWUgfHwgcC0+aXNfY29weSkKLQkJCQlzaG93X3JlbmFtZV9jb3B5KHApOwotCQkJZWxzZSB7Ci0JCQkJaWYgKHAtPnNjb3JlKSB7Ci0JCQkJCXByaW50ZigiIHJld3JpdGUgJXMgKCVkJSUpXG4iLAotCQkJCQkgICAgICAgcC0+bmV3X25hbWUsIHAtPnNjb3JlKTsKLQkJCQkJc2hvd19tb2RlX2NoYW5nZShwLCAwKTsKLQkJCQl9Ci0JCQkJZWxzZQotCQkJCQlzaG93X21vZGVfY2hhbmdlKHAsIDEpOwotCQkJfQotCQl9Ci0JfQotfQotCi1zdGF0aWMgdm9pZCBwYXRjaF9zdGF0cyhzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotewotCWludCBsaW5lcyA9IHBhdGNoLT5saW5lc19hZGRlZCArIHBhdGNoLT5saW5lc19kZWxldGVkOwotCi0JaWYgKGxpbmVzID4gbWF4X2NoYW5nZSkKLQkJbWF4X2NoYW5nZSA9IGxpbmVzOwotCWlmIChwYXRjaC0+b2xkX25hbWUpIHsKLQkJaW50IGxlbiA9IHF1b3RlX2Nfc3R5bGUocGF0Y2gtPm9sZF9uYW1lLCBOVUxMLCBOVUxMLCAwKTsKLQkJaWYgKCFsZW4pCi0JCQlsZW4gPSBzdHJsZW4ocGF0Y2gtPm9sZF9uYW1lKTsKLQkJaWYgKGxlbiA+IG1heF9sZW4pCi0JCQltYXhfbGVuID0gbGVuOwotCX0KLQlpZiAocGF0Y2gtPm5ld19uYW1lKSB7Ci0JCWludCBsZW4gPSBxdW90ZV9jX3N0eWxlKHBhdGNoLT5uZXdfbmFtZSwgTlVMTCwgTlVMTCwgMCk7Ci0JCWlmICghbGVuKQotCQkJbGVuID0gc3RybGVuKHBhdGNoLT5uZXdfbmFtZSk7Ci0JCWlmIChsZW4gPiBtYXhfbGVuKQotCQkJbWF4X2xlbiA9IGxlbjsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIHJlbW92ZV9maWxlKHN0cnVjdCBwYXRjaCAqcGF0Y2gsIGludCBybWRpcl9lbXB0eSkKLXsKLQlpZiAodXBkYXRlX2luZGV4KSB7Ci0JCWlmIChyZW1vdmVfZmlsZV9mcm9tX2NhY2hlKHBhdGNoLT5vbGRfbmFtZSkgPCAwKQotCQkJZGllKF8oInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIpLCBwYXRjaC0+b2xkX25hbWUpOwotCX0KLQlpZiAoIWNhY2hlZCkgewotCQlpZiAoIXJlbW92ZV9vcl93YXJuKHBhdGNoLT5vbGRfbW9kZSwgcGF0Y2gtPm9sZF9uYW1lKSAmJiBybWRpcl9lbXB0eSkgewotCQkJcmVtb3ZlX3BhdGgocGF0Y2gtPm9sZF9uYW1lKTsKLQkJfQotCX0KLX0KLQotc3RhdGljIHZvaWQgYWRkX2luZGV4X2ZpbGUoY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgbW9kZSwgdm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIHNpemUpCi17Ci0Jc3RydWN0IHN0YXQgc3Q7Ci0Jc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKLQlpbnQgbmFtZWxlbiA9IHN0cmxlbihwYXRoKTsKLQl1bnNpZ25lZCBjZV9zaXplID0gY2FjaGVfZW50cnlfc2l6ZShuYW1lbGVuKTsKLQotCWlmICghdXBkYXRlX2luZGV4KQotCQlyZXR1cm47Ci0KLQljZSA9IHhjYWxsb2MoMSwgY2Vfc2l6ZSk7Ci0JbWVtY3B5KGNlLT5uYW1lLCBwYXRoLCBuYW1lbGVuKTsKLQljZS0+Y2VfbW9kZSA9IGNyZWF0ZV9jZV9tb2RlKG1vZGUpOwotCWNlLT5jZV9mbGFncyA9IGNyZWF0ZV9jZV9mbGFncygwKTsKLQljZS0+Y2VfbmFtZWxlbiA9IG5hbWVsZW47Ci0JaWYgKFNfSVNHSVRMSU5LKG1vZGUpKSB7Ci0JCWNvbnN0IGNoYXIgKnM7Ci0KLQkJaWYgKCFza2lwX3ByZWZpeChidWYsICJTdWJwcm9qZWN0IGNvbW1pdCAiLCAmcykgfHwKLQkJICAgIGdldF9zaGExX2hleChzLCBjZS0+c2hhMSkpCi0JCQlkaWUoXygiY29ycnVwdCBwYXRjaCBmb3Igc3VibW9kdWxlICVzIiksIHBhdGgpOwotCX0gZWxzZSB7Ci0JCWlmICghY2FjaGVkKSB7Ci0JCQlpZiAobHN0YXQocGF0aCwgJnN0KSA8IDApCi0JCQkJZGllX2Vycm5vKF8oInVuYWJsZSB0byBzdGF0IG5ld2x5IGNyZWF0ZWQgZmlsZSAnJXMnIiksCi0JCQkJCSAgcGF0aCk7Ci0JCQlmaWxsX3N0YXRfY2FjaGVfaW5mbyhjZSwgJnN0KTsKLQkJfQotCQlpZiAod3JpdGVfc2hhMV9maWxlKGJ1Ziwgc2l6ZSwgYmxvYl90eXBlLCBjZS0+c2hhMSkgPCAwKQotCQkJZGllKF8oInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIiksIHBhdGgpOwotCX0KLQlpZiAoYWRkX2NhY2hlX2VudHJ5KGNlLCBBRERfQ0FDSEVfT0tfVE9fQUREKSA8IDApCi0JCWRpZShfKCJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIpLCBwYXRoKTsKLX0KLQotc3RhdGljIGludCB0cnlfY3JlYXRlX2ZpbGUoY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgaW50IG1vZGUsIGNvbnN0IGNoYXIgKmJ1ZiwgdW5zaWduZWQgbG9uZyBzaXplKQotewotCWludCBmZDsKLQlzdHJ1Y3Qgc3RyYnVmIG5idWYgPSBTVFJCVUZfSU5JVDsKLQotCWlmIChTX0lTR0lUTElOSyhtb2RlKSkgewotCQlzdHJ1Y3Qgc3RhdCBzdDsKLQkJaWYgKCFsc3RhdChwYXRoLCAmc3QpICYmIFNfSVNESVIoc3Quc3RfbW9kZSkpCi0JCQlyZXR1cm4gMDsKLQkJcmV0dXJuIG1rZGlyKHBhdGgsIDA3NzcpOwotCX0KLQotCWlmIChoYXNfc3ltbGlua3MgJiYgU19JU0xOSyhtb2RlKSkKLQkJLyogQWx0aG91Z2ggYnVmOnNpemUgaXMgY291bnRlZCBzdHJpbmcsIGl0IGFsc28gaXMgTlVMCi0JCSAqIHRlcm1pbmF0ZWQuCi0JCSAqLwotCQlyZXR1cm4gc3ltbGluayhidWYsIHBhdGgpOwotCi0JZmQgPSBvcGVuKHBhdGgsIE9fQ1JFQVQgfCBPX0VYQ0wgfCBPX1dST05MWSwgKG1vZGUgJiAwMTAwKSA/IDA3NzcgOiAwNjY2KTsKLQlpZiAoZmQgPCAwKQotCQlyZXR1cm4gLTE7Ci0KLQlpZiAoY29udmVydF90b193b3JraW5nX3RyZWUocGF0aCwgYnVmLCBzaXplLCAmbmJ1ZikpIHsKLQkJc2l6ZSA9IG5idWYubGVuOwotCQlidWYgID0gbmJ1Zi5idWY7Ci0JfQotCXdyaXRlX29yX2RpZShmZCwgYnVmLCBzaXplKTsKLQlzdHJidWZfcmVsZWFzZSgmbmJ1Zik7Ci0KLQlpZiAoY2xvc2UoZmQpIDwgMCkKLQkJZGllX2Vycm5vKF8oImNsb3NpbmcgZmlsZSAnJXMnIiksIHBhdGgpOwotCXJldHVybiAwOwotfQotCi0vKgotICogV2Ugb3B0aW1pc3RpY2FsbHkgYXNzdW1lIHRoYXQgdGhlIGRpcmVjdG9yaWVzIGV4aXN0LAotICogd2hpY2ggaXMgdHJ1ZSA5OSUgb2YgdGhlIHRpbWUgYW55d2F5LiBJZiB0aGV5IGRvbid0LAotICogd2UgY3JlYXRlIHRoZW0gYW5kIHRyeSBhZ2Fpbi4KLSAqLwotc3RhdGljIHZvaWQgY3JlYXRlX29uZV9maWxlKGNoYXIgKnBhdGgsIHVuc2lnbmVkIG1vZGUsIGNvbnN0IGNoYXIgKmJ1ZiwgdW5zaWduZWQgbG9uZyBzaXplKQotewotCWlmIChjYWNoZWQpCi0JCXJldHVybjsKLQlpZiAoIXRyeV9jcmVhdGVfZmlsZShwYXRoLCBtb2RlLCBidWYsIHNpemUpKQotCQlyZXR1cm47Ci0KLQlpZiAoZXJybm8gPT0gRU5PRU5UKSB7Ci0JCWlmIChzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzKHBhdGgpKQotCQkJcmV0dXJuOwotCQlpZiAoIXRyeV9jcmVhdGVfZmlsZShwYXRoLCBtb2RlLCBidWYsIHNpemUpKQotCQkJcmV0dXJuOwotCX0KLQotCWlmIChlcnJubyA9PSBFRVhJU1QgfHwgZXJybm8gPT0gRUFDQ0VTKSB7Ci0JCS8qIFdlIG1heSBiZSB0cnlpbmcgdG8gY3JlYXRlIGEgZmlsZSB3aGVyZSBhIGRpcmVjdG9yeQotCQkgKiB1c2VkIHRvIGJlLgotCQkgKi8KLQkJc3RydWN0IHN0YXQgc3Q7Ci0JCWlmICghbHN0YXQocGF0aCwgJnN0KSAmJiAoIVNfSVNESVIoc3Quc3RfbW9kZSkgfHwgIXJtZGlyKHBhdGgpKSkKLQkJCWVycm5vID0gRUVYSVNUOwotCX0KLQotCWlmIChlcnJubyA9PSBFRVhJU1QpIHsKLQkJdW5zaWduZWQgaW50IG5yID0gZ2V0cGlkKCk7Ci0KLQkJZm9yICg7OykgewotCQkJY2hhciBuZXdwYXRoW1BBVEhfTUFYXTsKLQkJCW1rc25wYXRoKG5ld3BhdGgsIHNpemVvZihuZXdwYXRoKSwgIiVzfiV1IiwgcGF0aCwgbnIpOwotCQkJaWYgKCF0cnlfY3JlYXRlX2ZpbGUobmV3cGF0aCwgbW9kZSwgYnVmLCBzaXplKSkgewotCQkJCWlmICghcmVuYW1lKG5ld3BhdGgsIHBhdGgpKQotCQkJCQlyZXR1cm47Ci0JCQkJdW5saW5rX29yX3dhcm4obmV3cGF0aCk7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0JCQlpZiAoZXJybm8gIT0gRUVYSVNUKQotCQkJCWJyZWFrOwotCQkJKytucjsKLQkJfQotCX0KLQlkaWVfZXJybm8oXygidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIiksIHBhdGgsIG1vZGUpOwotfQotCi1zdGF0aWMgdm9pZCBhZGRfY29uZmxpY3RlZF9zdGFnZXNfZmlsZShzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQotewotCWludCBzdGFnZSwgbmFtZWxlbjsKLQl1bnNpZ25lZCBjZV9zaXplLCBtb2RlOwotCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7Ci0KLQlpZiAoIXVwZGF0ZV9pbmRleCkKLQkJcmV0dXJuOwotCW5hbWVsZW4gPSBzdHJsZW4ocGF0Y2gtPm5ld19uYW1lKTsKLQljZV9zaXplID0gY2FjaGVfZW50cnlfc2l6ZShuYW1lbGVuKTsKLQltb2RlID0gcGF0Y2gtPm5ld19tb2RlID8gcGF0Y2gtPm5ld19tb2RlIDogKFNfSUZSRUcgfCAwNjQ0KTsKLQotCXJlbW92ZV9maWxlX2Zyb21fY2FjaGUocGF0Y2gtPm5ld19uYW1lKTsKLQlmb3IgKHN0YWdlID0gMTsgc3RhZ2UgPCA0OyBzdGFnZSsrKSB7Ci0JCWlmIChpc19udWxsX29pZCgmcGF0Y2gtPnRocmVld2F5X3N0YWdlW3N0YWdlIC0gMV0pKQotCQkJY29udGludWU7Ci0JCWNlID0geGNhbGxvYygxLCBjZV9zaXplKTsKLQkJbWVtY3B5KGNlLT5uYW1lLCBwYXRjaC0+bmV3X25hbWUsIG5hbWVsZW4pOwotCQljZS0+Y2VfbW9kZSA9IGNyZWF0ZV9jZV9tb2RlKG1vZGUpOwotCQljZS0+Y2VfZmxhZ3MgPSBjcmVhdGVfY2VfZmxhZ3Moc3RhZ2UpOwotCQljZS0+Y2VfbmFtZWxlbiA9IG5hbWVsZW47Ci0JCWhhc2hjcHkoY2UtPnNoYTEsIHBhdGNoLT50aHJlZXdheV9zdGFnZVtzdGFnZSAtIDFdLmhhc2gpOwotCQlpZiAoYWRkX2NhY2hlX2VudHJ5KGNlLCBBRERfQ0FDSEVfT0tfVE9fQUREKSA8IDApCi0JCQlkaWUoXygidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiKSwgcGF0Y2gtPm5ld19uYW1lKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIGNyZWF0ZV9maWxlKHN0cnVjdCBwYXRjaCAqcGF0Y2gpCi17Ci0JY2hhciAqcGF0aCA9IHBhdGNoLT5uZXdfbmFtZTsKLQl1bnNpZ25lZCBtb2RlID0gcGF0Y2gtPm5ld19tb2RlOwotCXVuc2lnbmVkIGxvbmcgc2l6ZSA9IHBhdGNoLT5yZXN1bHRzaXplOwotCWNoYXIgKmJ1ZiA9IHBhdGNoLT5yZXN1bHQ7Ci0KLQlpZiAoIW1vZGUpCi0JCW1vZGUgPSBTX0lGUkVHIHwgMDY0NDsKLQljcmVhdGVfb25lX2ZpbGUocGF0aCwgbW9kZSwgYnVmLCBzaXplKTsKLQotCWlmIChwYXRjaC0+Y29uZmxpY3RlZF90aHJlZXdheSkKLQkJYWRkX2NvbmZsaWN0ZWRfc3RhZ2VzX2ZpbGUocGF0Y2gpOwotCWVsc2UKLQkJYWRkX2luZGV4X2ZpbGUocGF0aCwgbW9kZSwgYnVmLCBzaXplKTsKLX0KLQotLyogcGhhc2UgemVybyBpcyB0byByZW1vdmUsIHBoYXNlIG9uZSBpcyB0byBjcmVhdGUgKi8KLXN0YXRpYyB2b2lkIHdyaXRlX291dF9vbmVfcmVzdWx0KHN0cnVjdCBwYXRjaCAqcGF0Y2gsIGludCBwaGFzZSkKLXsKLQlpZiAocGF0Y2gtPmlzX2RlbGV0ZSA+IDApIHsKLQkJaWYgKHBoYXNlID09IDApCi0JCQlyZW1vdmVfZmlsZShwYXRjaCwgMSk7Ci0JCXJldHVybjsKLQl9Ci0JaWYgKHBhdGNoLT5pc19uZXcgPiAwIHx8IHBhdGNoLT5pc19jb3B5KSB7Ci0JCWlmIChwaGFzZSA9PSAxKQotCQkJY3JlYXRlX2ZpbGUocGF0Y2gpOwotCQlyZXR1cm47Ci0JfQotCS8qCi0JICogUmVuYW1lIG9yIG1vZGlmaWNhdGlvbiBib2lscyBkb3duIHRvIHRoZSBzYW1lCi0JICogdGhpbmc6IHJlbW92ZSB0aGUgb2xkLCB3cml0ZSB0aGUgbmV3Ci0JICovCi0JaWYgKHBoYXNlID09IDApCi0JCXJlbW92ZV9maWxlKHBhdGNoLCBwYXRjaC0+aXNfcmVuYW1lKTsKLQlpZiAocGhhc2UgPT0gMSkKLQkJY3JlYXRlX2ZpbGUocGF0Y2gpOwotfQotCi1zdGF0aWMgaW50IHdyaXRlX291dF9vbmVfcmVqZWN0KHN0cnVjdCBwYXRjaCAqcGF0Y2gpCi17Ci0JRklMRSAqcmVqOwotCWNoYXIgbmFtZWJ1ZltQQVRIX01BWF07Ci0Jc3RydWN0IGZyYWdtZW50ICpmcmFnOwotCWludCBjbnQgPSAwOwotCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKLQotCWZvciAoY250ID0gMCwgZnJhZyA9IHBhdGNoLT5mcmFnbWVudHM7IGZyYWc7IGZyYWcgPSBmcmFnLT5uZXh0KSB7Ci0JCWlmICghZnJhZy0+cmVqZWN0ZWQpCi0JCQljb250aW51ZTsKLQkJY250Kys7Ci0JfQotCi0JaWYgKCFjbnQpIHsKLQkJaWYgKGFwcGx5X3ZlcmJvc2VseSkKLQkJCXNheV9wYXRjaF9uYW1lKHN0ZGVyciwKLQkJCQkgICAgICAgXygiQXBwbGllZCBwYXRjaCAlcyBjbGVhbmx5LiIpLCBwYXRjaCk7Ci0JCXJldHVybiAwOwotCX0KLQotCS8qIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sIGJlY2F1c2UgYSByZW1vdmFsIHBhdGNoIHRoYXQgbGVhdmVzCi0JICogY29udGVudHMgYXJlIG1hcmtlZCAicmVqZWN0ZWQiIGF0IHRoZSBwYXRjaCBsZXZlbC4KLQkgKi8KLQlpZiAoIXBhdGNoLT5uZXdfbmFtZSkKLQkJZGllKF8oImludGVybmFsIGVycm9yIikpOwotCi0JLyogU2F5IHRoaXMgZXZlbiB3aXRob3V0IC0tdmVyYm9zZSAqLwotCXN0cmJ1Zl9hZGRmKCZzYiwgUV8oIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIsCi0JCQkgICAgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iLAotCQkJICAgIGNudCksCi0JCSAgICBjbnQpOwotCXNheV9wYXRjaF9uYW1lKHN0ZGVyciwgc2IuYnVmLCBwYXRjaCk7Ci0Jc3RyYnVmX3JlbGVhc2UoJnNiKTsKLQotCWNudCA9IHN0cmxlbihwYXRjaC0+bmV3X25hbWUpOwotCWlmIChBUlJBWV9TSVpFKG5hbWVidWYpIDw9IGNudCArIDUpIHsKLQkJY250ID0gQVJSQVlfU0laRShuYW1lYnVmKSAtIDU7Ci0JCXdhcm5pbmcoXygidHJ1bmNhdGluZyAucmVqIGZpbGVuYW1lIHRvICUuKnMucmVqIiksCi0JCQljbnQgLSAxLCBwYXRjaC0+bmV3X25hbWUpOwotCX0KLQltZW1jcHkobmFtZWJ1ZiwgcGF0Y2gtPm5ld19uYW1lLCBjbnQpOwotCW1lbWNweShuYW1lYnVmICsgY250LCAiLnJlaiIsIDUpOwotCi0JcmVqID0gZm9wZW4obmFtZWJ1ZiwgInciKTsKLQlpZiAoIXJlaikKLQkJcmV0dXJuIGVycm9yKF8oImNhbm5vdCBvcGVuICVzOiAlcyIpLCBuYW1lYnVmLCBzdHJlcnJvcihlcnJubykpOwotCi0JLyogTm9ybWFsIGdpdCB0b29scyBuZXZlciBkZWFsIHdpdGggLnJlaiwgc28gZG8gbm90IHByZXRlbmQKLQkgKiB0aGlzIGlzIGEgZ2l0IHBhdGNoIGJ5IHNheWluZyAtLWdpdCBvciBnaXZpbmcgZXh0ZW5kZWQKLQkgKiBoZWFkZXJzLiAgV2hpbGUgYXQgaXQsIG1heWJlIHBsZWFzZSAia29tcGFyZSIgdGhhdCB3YW50cwotCSAqIHRoZSB0cmFpbGluZyBUQUIgYW5kIHNvbWUgZ2FyYmFnZSBhdCB0aGUgZW5kIG9mIGxpbmUgOy0pLgotCSAqLwotCWZwcmludGYocmVqLCAiZGlmZiBhLyVzIGIvJXNcdChyZWplY3RlZCBodW5rcylcbiIsCi0JCXBhdGNoLT5uZXdfbmFtZSwgcGF0Y2gtPm5ld19uYW1lKTsKLQlmb3IgKGNudCA9IDEsIGZyYWcgPSBwYXRjaC0+ZnJhZ21lbnRzOwotCSAgICAgZnJhZzsKLQkgICAgIGNudCsrLCBmcmFnID0gZnJhZy0+bmV4dCkgewotCQlpZiAoIWZyYWctPnJlamVjdGVkKSB7Ci0JCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIpLCBjbnQpOwotCQkJY29udGludWU7Ci0JCX0KLQkJZnByaW50Zl9sbihzdGRlcnIsIF8oIlJlamVjdGVkIGh1bmsgIyVkLiIpLCBjbnQpOwotCQlmcHJpbnRmKHJlaiwgIiUuKnMiLCBmcmFnLT5zaXplLCBmcmFnLT5wYXRjaCk7Ci0JCWlmIChmcmFnLT5wYXRjaFtmcmFnLT5zaXplLTFdICE9ICdcbicpCi0JCQlmcHV0YygnXG4nLCByZWopOwotCX0KLQlmY2xvc2UocmVqKTsKLQlyZXR1cm4gLTE7Ci19Ci0KLXN0YXRpYyBpbnQgd3JpdGVfb3V0X3Jlc3VsdHMoc3RydWN0IHBhdGNoICpsaXN0KQotewotCWludCBwaGFzZTsKLQlpbnQgZXJycyA9IDA7Ci0Jc3RydWN0IHBhdGNoICpsOwotCXN0cnVjdCBzdHJpbmdfbGlzdCBjcGF0aCA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwotCi0JZm9yIChwaGFzZSA9IDA7IHBoYXNlIDwgMjsgcGhhc2UrKykgewotCQlsID0gbGlzdDsKLQkJd2hpbGUgKGwpIHsKLQkJCWlmIChsLT5yZWplY3RlZCkKLQkJCQllcnJzID0gMTsKLQkJCWVsc2UgewotCQkJCXdyaXRlX291dF9vbmVfcmVzdWx0KGwsIHBoYXNlKTsKLQkJCQlpZiAocGhhc2UgPT0gMSkgewotCQkJCQlpZiAod3JpdGVfb3V0X29uZV9yZWplY3QobCkpCi0JCQkJCQllcnJzID0gMTsKLQkJCQkJaWYgKGwtPmNvbmZsaWN0ZWRfdGhyZWV3YXkpIHsKLQkJCQkJCXN0cmluZ19saXN0X2FwcGVuZCgmY3BhdGgsIGwtPm5ld19uYW1lKTsKLQkJCQkJCWVycnMgPSAxOwotCQkJCQl9Ci0JCQkJfQotCQkJfQotCQkJbCA9IGwtPm5leHQ7Ci0JCX0KLQl9Ci0KLQlpZiAoY3BhdGgubnIpIHsKLQkJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07Ci0KLQkJc3RyaW5nX2xpc3Rfc29ydCgmY3BhdGgpOwotCQlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sICZjcGF0aCkKLQkJCWZwcmludGYoc3RkZXJyLCAiVSAlc1xuIiwgaXRlbS0+c3RyaW5nKTsKLQkJc3RyaW5nX2xpc3RfY2xlYXIoJmNwYXRoLCAwKTsKLQotCQlyZXJlcmUoMCk7Ci0JfQotCi0JcmV0dXJuIGVycnM7Ci19Ci0KIHN0YXRpYyBzdHJ1Y3QgbG9ja19maWxlIGxvY2tfZmlsZTsKIAotI2RlZmluZSBJTkFDQ1VSQVRFX0VPRgkoMTw8MCkKLSNkZWZpbmUgUkVDT1VOVAkJKDE8PDEpCi0KLXN0YXRpYyBpbnQgYXBwbHlfcGF0Y2goaW50IGZkLCBjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IG9wdGlvbnMpCitpbnQgY21kX2FwcGx5KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewotCXNpemVfdCBvZmZzZXQ7Ci0Jc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsgLyogb3ducyB0aGUgcGF0Y2ggdGV4dCAqLwotCXN0cnVjdCBwYXRjaCAqbGlzdCA9IE5VTEwsICoqbGlzdHAgPSAmbGlzdDsKLQlpbnQgc2tpcHBlZF9wYXRjaCA9IDA7Ci0KLQlwYXRjaF9pbnB1dF9maWxlID0gZmlsZW5hbWU7Ci0JcmVhZF9wYXRjaF9maWxlKCZidWYsIGZkKTsKLQlvZmZzZXQgPSAwOwotCXdoaWxlIChvZmZzZXQgPCBidWYubGVuKSB7Ci0JCXN0cnVjdCBwYXRjaCAqcGF0Y2g7Ci0JCWludCBucjsKLQotCQlwYXRjaCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpwYXRjaCkpOwotCQlwYXRjaC0+aW5hY2N1cmF0ZV9lb2YgPSAhIShvcHRpb25zICYgSU5BQ0NVUkFURV9FT0YpOwotCQlwYXRjaC0+cmVjb3VudCA9ICAhIShvcHRpb25zICYgUkVDT1VOVCk7Ci0JCW5yID0gcGFyc2VfY2h1bmsoYnVmLmJ1ZiArIG9mZnNldCwgYnVmLmxlbiAtIG9mZnNldCwgcGF0Y2gpOwotCQlpZiAobnIgPCAwKSB7Ci0JCQlmcmVlX3BhdGNoKHBhdGNoKTsKLQkJCWJyZWFrOwotCQl9Ci0JCWlmIChhcHBseV9pbl9yZXZlcnNlKQotCQkJcmV2ZXJzZV9wYXRjaGVzKHBhdGNoKTsKLQkJaWYgKHVzZV9wYXRjaChwYXRjaCkpIHsKLQkJCXBhdGNoX3N0YXRzKHBhdGNoKTsKLQkJCSpsaXN0cCA9IHBhdGNoOwotCQkJbGlzdHAgPSAmcGF0Y2gtPm5leHQ7Ci0JCX0KLQkJZWxzZSB7Ci0JCQlpZiAoYXBwbHlfdmVyYm9zZWx5KQotCQkJCXNheV9wYXRjaF9uYW1lKHN0ZGVyciwgXygiU2tpcHBlZCBwYXRjaCAnJXMnLiIpLCBwYXRjaCk7Ci0JCQlmcmVlX3BhdGNoKHBhdGNoKTsKLQkJCXNraXBwZWRfcGF0Y2grKzsKLQkJfQotCQlvZmZzZXQgKz0gbnI7Ci0JfQotCi0JaWYgKCFsaXN0ICYmICFza2lwcGVkX3BhdGNoKQotCQlkaWUoXygidW5yZWNvZ25pemVkIGlucHV0IikpOwotCi0JaWYgKHdoaXRlc3BhY2VfZXJyb3IgJiYgKHdzX2Vycm9yX2FjdGlvbiA9PSBkaWVfb25fd3NfZXJyb3IpKQotCQlhcHBseSA9IDA7Ci0KLQl1cGRhdGVfaW5kZXggPSBjaGVja19pbmRleCAmJiBhcHBseTsKLQlpZiAodXBkYXRlX2luZGV4ICYmIG5ld2ZkIDwgMCkKLQkJbmV3ZmQgPSBob2xkX2xvY2tlZF9pbmRleCgmbG9ja19maWxlLCAxKTsKLQotCWlmIChjaGVja19pbmRleCkgewotCQlpZiAocmVhZF9jYWNoZSgpIDwgMCkKLQkJCWRpZShfKCJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIikpOwotCX0KLQotCWlmICgoY2hlY2sgfHwgYXBwbHkpICYmCi0JICAgIGNoZWNrX3BhdGNoX2xpc3QobGlzdCkgPCAwICYmCi0JICAgICFhcHBseV93aXRoX3JlamVjdCkKLQkJZXhpdCgxKTsKLQotCWlmIChhcHBseSAmJiB3cml0ZV9vdXRfcmVzdWx0cyhsaXN0KSkgewotCQlpZiAoYXBwbHlfd2l0aF9yZWplY3QpCi0JCQlleGl0KDEpOwotCQkvKiB3aXRoIC0tM3dheSwgd2Ugc3RpbGwgbmVlZCB0byB3cml0ZSB0aGUgaW5kZXggb3V0ICovCi0JCXJldHVybiAxOwotCX0KLQotCWlmIChmYWtlX2FuY2VzdG9yKQotCQlidWlsZF9mYWtlX2FuY2VzdG9yKGxpc3QsIGZha2VfYW5jZXN0b3IpOwotCi0JaWYgKGRpZmZzdGF0KQotCQlzdGF0X3BhdGNoX2xpc3QobGlzdCk7Ci0KLQlpZiAobnVtc3RhdCkKLQkJbnVtc3RhdF9wYXRjaF9saXN0KGxpc3QpOwotCi0JaWYgKHN1bW1hcnkpCi0JCXN1bW1hcnlfcGF0Y2hfbGlzdChsaXN0KTsKLQotCWZyZWVfcGF0Y2hfbGlzdChsaXN0KTsKLQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKLQlzdHJpbmdfbGlzdF9jbGVhcigmZm5fdGFibGUsIDApOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBnaXRfYXBwbHlfY29uZmlnKHZvaWQpCi17Ci0JZ2l0X2NvbmZpZ19nZXRfc3RyaW5nX2NvbnN0KCJhcHBseS53aGl0ZXNwYWNlIiwgJmFwcGx5X2RlZmF1bHRfd2hpdGVzcGFjZSk7Ci0JZ2l0X2NvbmZpZ19nZXRfc3RyaW5nX2NvbnN0KCJhcHBseS5pZ25vcmV3aGl0ZXNwYWNlIiwgJmFwcGx5X2RlZmF1bHRfaWdub3Jld2hpdGVzcGFjZSk7Ci0JZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwotfQotCi1zdGF0aWMgaW50IG9wdGlvbl9wYXJzZV9leGNsdWRlKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKLQkJCQljb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKLXsKLQlhZGRfbmFtZV9saW1pdChhcmcsIDEpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IG9wdGlvbl9wYXJzZV9pbmNsdWRlKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKLQkJCQljb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKLXsKLQlhZGRfbmFtZV9saW1pdChhcmcsIDApOwotCWhhc19pbmNsdWRlID0gMTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBvcHRpb25fcGFyc2VfcChjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCi0JCQkgIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQotewotCXBfdmFsdWUgPSBhdG9pKGFyZyk7Ci0JcF92YWx1ZV9rbm93biA9IDE7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgb3B0aW9uX3BhcnNlX3NwYWNlX2NoYW5nZShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCi0JCQkgIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQotewotCWlmICh1bnNldCkKLQkJd3NfaWdub3JlX2FjdGlvbiA9IGlnbm9yZV93c19ub25lOwotCWVsc2UKLQkJd3NfaWdub3JlX2FjdGlvbiA9IGlnbm9yZV93c19jaGFuZ2U7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgb3B0aW9uX3BhcnNlX3doaXRlc3BhY2UoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAotCQkJCSAgIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQotewotCWNvbnN0IGNoYXIgKip3aGl0ZXNwYWNlX29wdGlvbiA9IG9wdC0+dmFsdWU7Ci0KLQkqd2hpdGVzcGFjZV9vcHRpb24gPSBhcmc7Ci0JcGFyc2Vfd2hpdGVzcGFjZV9vcHRpb24oYXJnKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBvcHRpb25fcGFyc2VfZGlyZWN0b3J5KGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKLQkJCQkgIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQotewotCXN0cmJ1Zl9yZXNldCgmcm9vdCk7Ci0Jc3RyYnVmX2FkZHN0cigmcm9vdCwgYXJnKTsKLQlzdHJidWZfY29tcGxldGUoJnJvb3QsICcvJyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLWludCBjbWRfYXBwbHkoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXhfKQotewotCWludCBpOwotCWludCBlcnJzID0gMDsKLQlpbnQgaXNfbm90X2dpdGRpciA9ICFzdGFydHVwX2luZm8tPmhhdmVfcmVwb3NpdG9yeTsKIAlpbnQgZm9yY2VfYXBwbHkgPSAwOworCWludCBvcHRpb25zID0gMDsKKwlpbnQgcmV0OworCXN0cnVjdCBhcHBseV9zdGF0ZSBzdGF0ZTsKIAotCWNvbnN0IGNoYXIgKndoaXRlc3BhY2Vfb3B0aW9uID0gTlVMTDsKKwlpZiAoaW5pdF9hcHBseV9zdGF0ZSgmc3RhdGUsIHByZWZpeCwgJmxvY2tfZmlsZSkpCisJCWV4aXQoMTI4KTsKIAotCXN0cnVjdCBvcHRpb24gYnVpbHRpbl9hcHBseV9vcHRpb25zW10gPSB7Ci0JCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAiZXhjbHVkZSIsIE5VTEwsIE5fKCJwYXRoIiksCi0JCQlOXygiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIpLAotCQkJMCwgb3B0aW9uX3BhcnNlX2V4Y2x1ZGUgfSwKLQkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJpbmNsdWRlIiwgTlVMTCwgTl8oInBhdGgiKSwKLQkJCU5fKCJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIiksCi0JCQkwLCBvcHRpb25fcGFyc2VfaW5jbHVkZSB9LAotCQl7IE9QVElPTl9DQUxMQkFDSywgJ3AnLCBOVUxMLCBOVUxMLCBOXygibnVtIiksCi0JCQlOXygicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiKSwKLQkJCTAsIG9wdGlvbl9wYXJzZV9wIH0sCi0JCU9QVF9CT09MKDAsICJuby1hZGQiLCAmbm9fYWRkLAotCQkJTl8oImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giKSksCi0JCU9QVF9CT09MKDAsICJzdGF0IiwgJmRpZmZzdGF0LAotCQkJTl8oImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIpKSwKLQkJT1BUX05PT1BfTk9BUkcoMCwgImFsbG93LWJpbmFyeS1yZXBsYWNlbWVudCIpLAotCQlPUFRfTk9PUF9OT0FSRygwLCAiYmluYXJ5IiksCi0JCU9QVF9CT09MKDAsICJudW1zdGF0IiwgJm51bXN0YXQsCi0JCQlOXygic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIpKSwKLQkJT1BUX0JPT0woMCwgInN1bW1hcnkiLCAmc3VtbWFyeSwKLQkJCU5fKCJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IikpLAotCQlPUFRfQk9PTCgwLCAiY2hlY2siLCAmY2hlY2ssCi0JCQlOXygiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIpKSwKLQkJT1BUX0JPT0woMCwgImluZGV4IiwgJmNoZWNrX2luZGV4LAotCQkJTl8oIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIpKSwKLQkJT1BUX0JPT0woMCwgImNhY2hlZCIsICZjYWNoZWQsCi0JCQlOXygiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiKSksCi0JCU9QVF9CT09MKDAsICJ1bnNhZmUtcGF0aHMiLCAmdW5zYWZlX3BhdGhzLAotCQkJTl8oImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiKSksCi0JCU9QVF9CT09MKDAsICJhcHBseSIsICZmb3JjZV9hcHBseSwKLQkJCU5fKCJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIpKSwKLQkJT1BUX0JPT0woJzMnLCAiM3dheSIsICZ0aHJlZXdheSwKLQkJCSBOXyggImF0dGVtcHQgdGhyZWUtd2F5IG1lcmdlIGlmIGEgcGF0Y2ggZG9lcyBub3QgYXBwbHkiKSksCi0JCU9QVF9GSUxFTkFNRSgwLCAiYnVpbGQtZmFrZS1hbmNlc3RvciIsICZmYWtlX2FuY2VzdG9yLAotCQkJTl8oImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIikpLAotCQkvKiBUaGluayB0d2ljZSBiZWZvcmUgYWRkaW5nICItLW51bCIgc3lub255bSB0byB0aGlzICovCi0JCU9QVF9TRVRfSU5UKCd6JywgTlVMTCwgJmxpbmVfdGVybWluYXRpb24sCi0JCQlOXygicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiKSwgJ1wwJyksCi0JCU9QVF9JTlRFR0VSKCdDJywgTlVMTCwgJnBfY29udGV4dCwKLQkJCQlOXygiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIikpLAotCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgIndoaXRlc3BhY2UiLCAmd2hpdGVzcGFjZV9vcHRpb24sIE5fKCJhY3Rpb24iKSwKLQkJCU5fKCJkZXRlY3QgbmV3IG9yIG1vZGlmaWVkIGxpbmVzIHRoYXQgaGF2ZSB3aGl0ZXNwYWNlIGVycm9ycyIpLAotCQkJMCwgb3B0aW9uX3BhcnNlX3doaXRlc3BhY2UgfSwKLQkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJpZ25vcmUtc3BhY2UtY2hhbmdlIiwgTlVMTCwgTlVMTCwKLQkJCU5fKCJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IiksCi0JCQlQQVJTRV9PUFRfTk9BUkcsIG9wdGlvbl9wYXJzZV9zcGFjZV9jaGFuZ2UgfSwKLQkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJpZ25vcmUtd2hpdGVzcGFjZSIsIE5VTEwsIE5VTEwsCi0JCQlOXygiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIpLAotCQkJUEFSU0VfT1BUX05PQVJHLCBvcHRpb25fcGFyc2Vfc3BhY2VfY2hhbmdlIH0sCi0JCU9QVF9CT09MKCdSJywgInJldmVyc2UiLCAmYXBwbHlfaW5fcmV2ZXJzZSwKLQkJCU5fKCJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIpKSwKLQkJT1BUX0JPT0woMCwgInVuaWRpZmYtemVybyIsICZ1bmlkaWZmX3plcm8sCi0JCQlOXygiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiKSksCi0JCU9QVF9CT09MKDAsICJyZWplY3QiLCAmYXBwbHlfd2l0aF9yZWplY3QsCi0JCQlOXygibGVhdmUgdGhlIHJlamVjdGVkIGh1bmtzIGluIGNvcnJlc3BvbmRpbmcgKi5yZWogZmlsZXMiKSksCi0JCU9QVF9CT09MKDAsICJhbGxvdy1vdmVybGFwIiwgJmFsbG93X292ZXJsYXAsCi0JCQlOXygiYWxsb3cgb3ZlcmxhcHBpbmcgaHVua3MiKSksCi0JCU9QVF9fVkVSQk9TRSgmYXBwbHlfdmVyYm9zZWx5LCBOXygiYmUgdmVyYm9zZSIpKSwKLQkJT1BUX0JJVCgwLCAiaW5hY2N1cmF0ZS1lb2YiLCAmb3B0aW9ucywKLQkJCU5fKCJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIpLAotCQkJSU5BQ0NVUkFURV9FT0YpLAotCQlPUFRfQklUKDAsICJyZWNvdW50IiwgJm9wdGlvbnMsCi0JCQlOXygiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIiksCi0JCQlSRUNPVU5UKSwKLQkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJkaXJlY3RvcnkiLCBOVUxMLCBOXygicm9vdCIpLAotCQkJTl8oInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiKSwKLQkJCTAsIG9wdGlvbl9wYXJzZV9kaXJlY3RvcnkgfSwKLQkJT1BUX0VORCgpCi0JfTsKKwlhcmdjID0gYXBwbHlfcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LAorCQkJCSAgICZzdGF0ZSwgJmZvcmNlX2FwcGx5LCAmb3B0aW9ucywKKwkJCQkgICBhcHBseV91c2FnZSk7CiAKLQlwcmVmaXggPSBwcmVmaXhfOwotCXByZWZpeF9sZW5ndGggPSBwcmVmaXggPyBzdHJsZW4ocHJlZml4KSA6IDA7Ci0JZ2l0X2FwcGx5X2NvbmZpZygpOwotCWlmIChhcHBseV9kZWZhdWx0X3doaXRlc3BhY2UpCi0JCXBhcnNlX3doaXRlc3BhY2Vfb3B0aW9uKGFwcGx5X2RlZmF1bHRfd2hpdGVzcGFjZSk7Ci0JaWYgKGFwcGx5X2RlZmF1bHRfaWdub3Jld2hpdGVzcGFjZSkKLQkJcGFyc2VfaWdub3Jld2hpdGVzcGFjZV9vcHRpb24oYXBwbHlfZGVmYXVsdF9pZ25vcmV3aGl0ZXNwYWNlKTsKKwlpZiAoY2hlY2tfYXBwbHlfc3RhdGUoJnN0YXRlLCBmb3JjZV9hcHBseSkpCisJCWV4aXQoMTI4KTsKIAotCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgYnVpbHRpbl9hcHBseV9vcHRpb25zLAotCQkJYXBwbHlfdXNhZ2UsIDApOworCXJldCA9IGFwcGx5X2FsbF9wYXRjaGVzKCZzdGF0ZSwgYXJnYywgYXJndiwgb3B0aW9ucyk7CiAKLQlpZiAoYXBwbHlfd2l0aF9yZWplY3QgJiYgdGhyZWV3YXkpCi0JCWRpZSgiLS1yZWplY3QgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iKTsKLQlpZiAoY2FjaGVkICYmIHRocmVld2F5KQotCQlkaWUoIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIik7Ci0JaWYgKHRocmVld2F5KSB7Ci0JCWlmIChpc19ub3RfZ2l0ZGlyKQotCQkJZGllKF8oIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIpKTsKLQkJY2hlY2tfaW5kZXggPSAxOwotCX0KLQlpZiAoYXBwbHlfd2l0aF9yZWplY3QpCi0JCWFwcGx5ID0gYXBwbHlfdmVyYm9zZWx5ID0gMTsKLQlpZiAoIWZvcmNlX2FwcGx5ICYmIChkaWZmc3RhdCB8fCBudW1zdGF0IHx8IHN1bW1hcnkgfHwgY2hlY2sgfHwgZmFrZV9hbmNlc3RvcikpCi0JCWFwcGx5ID0gMDsKLQlpZiAoY2hlY2tfaW5kZXggJiYgaXNfbm90X2dpdGRpcikKLQkJZGllKF8oIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiKSk7Ci0JaWYgKGNhY2hlZCkgewotCQlpZiAoaXNfbm90X2dpdGRpcikKLQkJCWRpZShfKCItLWNhY2hlZCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIpKTsKLQkJY2hlY2tfaW5kZXggPSAxOwotCX0KLQlpZiAoY2hlY2tfaW5kZXgpCi0JCXVuc2FmZV9wYXRocyA9IDA7CisJY2xlYXJfYXBwbHlfc3RhdGUoJnN0YXRlKTsKIAotCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKLQkJY29uc3QgY2hhciAqYXJnID0gYXJndltpXTsKLQkJaW50IGZkOwotCi0JCWlmICghc3RyY21wKGFyZywgIi0iKSkgewotCQkJZXJycyB8PSBhcHBseV9wYXRjaCgwLCAiPHN0ZGluPiIsIG9wdGlvbnMpOwotCQkJcmVhZF9zdGRpbiA9IDA7Ci0JCQljb250aW51ZTsKLQkJfSBlbHNlIGlmICgwIDwgcHJlZml4X2xlbmd0aCkKLQkJCWFyZyA9IHByZWZpeF9maWxlbmFtZShwcmVmaXgsIHByZWZpeF9sZW5ndGgsIGFyZyk7Ci0KLQkJZmQgPSBvcGVuKGFyZywgT19SRE9OTFkpOwotCQlpZiAoZmQgPCAwKQotCQkJZGllX2Vycm5vKF8oImNhbid0IG9wZW4gcGF0Y2ggJyVzJyIpLCBhcmcpOwotCQlyZWFkX3N0ZGluID0gMDsKLQkJc2V0X2RlZmF1bHRfd2hpdGVzcGFjZV9tb2RlKHdoaXRlc3BhY2Vfb3B0aW9uKTsKLQkJZXJycyB8PSBhcHBseV9wYXRjaChmZCwgYXJnLCBvcHRpb25zKTsKLQkJY2xvc2UoZmQpOwotCX0KLQlzZXRfZGVmYXVsdF93aGl0ZXNwYWNlX21vZGUod2hpdGVzcGFjZV9vcHRpb24pOwotCWlmIChyZWFkX3N0ZGluKQotCQllcnJzIHw9IGFwcGx5X3BhdGNoKDAsICI8c3RkaW4+Iiwgb3B0aW9ucyk7Ci0JaWYgKHdoaXRlc3BhY2VfZXJyb3IpIHsKLQkJaWYgKHNxdWVsY2hfd2hpdGVzcGFjZV9lcnJvcnMgJiYKLQkJICAgIHNxdWVsY2hfd2hpdGVzcGFjZV9lcnJvcnMgPCB3aGl0ZXNwYWNlX2Vycm9yKSB7Ci0JCQlpbnQgc3F1ZWxjaGVkID0KLQkJCQl3aGl0ZXNwYWNlX2Vycm9yIC0gc3F1ZWxjaF93aGl0ZXNwYWNlX2Vycm9yczsKLQkJCXdhcm5pbmcoUV8oInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIiwKLQkJCQkgICAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3JzIiwKLQkJCQkgICBzcXVlbGNoZWQpLAotCQkJCXNxdWVsY2hlZCk7Ci0JCX0KLQkJaWYgKHdzX2Vycm9yX2FjdGlvbiA9PSBkaWVfb25fd3NfZXJyb3IpCi0JCQlkaWUoUV8oIiVkIGxpbmUgYWRkcyB3aGl0ZXNwYWNlIGVycm9ycy4iLAotCQkJICAgICAgICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIiwKLQkJCSAgICAgICB3aGl0ZXNwYWNlX2Vycm9yKSwKLQkJCSAgICB3aGl0ZXNwYWNlX2Vycm9yKTsKLQkJaWYgKGFwcGxpZWRfYWZ0ZXJfZml4aW5nX3dzICYmIGFwcGx5KQotCQkJd2FybmluZygiJWQgbGluZSVzIGFwcGxpZWQgYWZ0ZXIiCi0JCQkJIiBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIiwKLQkJCQlhcHBsaWVkX2FmdGVyX2ZpeGluZ193cywKLQkJCQlhcHBsaWVkX2FmdGVyX2ZpeGluZ193cyA9PSAxID8gIiIgOiAicyIpOwotCQllbHNlIGlmICh3aGl0ZXNwYWNlX2Vycm9yKQotCQkJd2FybmluZyhRXygiJWQgbGluZSBhZGRzIHdoaXRlc3BhY2UgZXJyb3JzLiIsCi0JCQkJICAgIiVkIGxpbmVzIGFkZCB3aGl0ZXNwYWNlIGVycm9ycy4iLAotCQkJCSAgIHdoaXRlc3BhY2VfZXJyb3IpLAotCQkJCXdoaXRlc3BhY2VfZXJyb3IpOwotCX0KLQotCWlmICh1cGRhdGVfaW5kZXgpIHsKLQkJaWYgKHdyaXRlX2xvY2tlZF9pbmRleCgmdGhlX2luZGV4LCAmbG9ja19maWxlLCBDT01NSVRfTE9DSykpCi0JCQlkaWUoXygiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIikpOwotCX0KLQotCXJldHVybiAhIWVycnM7CisJcmV0dXJuIHJldDsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vYXJjaGl2ZS5jIGIvYnVpbHRpbi9hcmNoaXZlLmMKaW5kZXggYTFlM2I5NC4uZjg2MzQ2NSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9hcmNoaXZlLmMKKysrIGIvYnVpbHRpbi9hcmNoaXZlLmMKQEAgLTQ3LDEwICs0NywxMCBAQAogCWlmIChuYW1lX2hpbnQpIHsKIAkJY29uc3QgY2hhciAqZm9ybWF0ID0gYXJjaGl2ZV9mb3JtYXRfZnJvbV9maWxlbmFtZShuYW1lX2hpbnQpOwogCQlpZiAoZm9ybWF0KQotCQkJcGFja2V0X3dyaXRlKGZkWzFdLCAiYXJndW1lbnQgLS1mb3JtYXQ9JXNcbiIsIGZvcm1hdCk7CisJCQlwYWNrZXRfd3JpdGVfZm10KGZkWzFdLCAiYXJndW1lbnQgLS1mb3JtYXQ9JXNcbiIsIGZvcm1hdCk7CiAJfQogCWZvciAoaSA9IDE7IGkgPCBhcmdjOyBpKyspCi0JCXBhY2tldF93cml0ZShmZFsxXSwgImFyZ3VtZW50ICVzXG4iLCBhcmd2W2ldKTsKKwkJcGFja2V0X3dyaXRlX2ZtdChmZFsxXSwgImFyZ3VtZW50ICVzXG4iLCBhcmd2W2ldKTsKIAlwYWNrZXRfZmx1c2goZmRbMV0pOwogCiAJYnVmID0gcGFja2V0X3JlYWRfbGluZShmZFswXSwgTlVMTCk7CkBAIC04NSw4ICs4NSw4IEBACiAJY29uc3QgY2hhciAqb3V0cHV0ID0gTlVMTDsKIAljb25zdCBjaGFyICpyZW1vdGUgPSBOVUxMOwogCXN0cnVjdCBvcHRpb24gbG9jYWxfb3B0c1tdID0gewotCQlPUFRfU1RSSU5HKCdvJywgIm91dHB1dCIsICZvdXRwdXQsIE5fKCJmaWxlIiksCi0JCQlOXygid3JpdGUgdGhlIGFyY2hpdmUgdG8gdGhpcyBmaWxlIikpLAorCQlPUFRfRklMRU5BTUUoJ28nLCAib3V0cHV0IiwgJm91dHB1dCwKKwkJCSAgICAgTl8oIndyaXRlIHRoZSBhcmNoaXZlIHRvIHRoaXMgZmlsZSIpKSwKIAkJT1BUX1NUUklORygwLCAicmVtb3RlIiwgJnJlbW90ZSwgTl8oInJlcG8iKSwKIAkJCU5fKCJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIpKSwKIAkJT1BUX1NUUklORygwLCAiZXhlYyIsICZleGVjLCBOXygiY29tbWFuZCIpLApAQCAtMTA1LDUgKzEwNSw1IEBACiAKIAlzZXR2YnVmKHN0ZGVyciwgTlVMTCwgX0lPTEJGLCBCVUZTSVopOwogCi0JcmV0dXJuIHdyaXRlX2FyY2hpdmUoYXJnYywgYXJndiwgcHJlZml4LCAxLCBvdXRwdXQsIDApOworCXJldHVybiB3cml0ZV9hcmNoaXZlKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3V0cHV0LCAwKTsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vYmxhbWUuYyBiL2J1aWx0aW4vYmxhbWUuYwppbmRleCAyMWY0MmIwLi40ZGRmYWRiIDEwMDY0NAotLS0gYS9idWlsdGluL2JsYW1lLmMKKysrIGIvYnVpbHRpbi9ibGFtZS5jCkBAIC01Niw3ICs1Niw3IEBACiBzdGF0aWMgc3RydWN0IGRhdGVfbW9kZSBibGFtZV9kYXRlX21vZGUgPSB7IERBVEVfSVNPODYwMSB9Owogc3RhdGljIHNpemVfdCBibGFtZV9kYXRlX3dpZHRoOwogCi1zdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IG1haWxtYXA7CitzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IG1haWxtYXAgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCiAjaWZuZGVmIERFQlVHCiAjZGVmaW5lIERFQlVHIDAKQEAgLTEyMCw3ICsxMjAsNyBAQAogCSAqLwogCXN0cnVjdCBibGFtZV9lbnRyeSAqc3VzcGVjdHM7CiAJbW1maWxlX3QgZmlsZTsKLQl1bnNpZ25lZCBjaGFyIGJsb2Jfc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBibG9iX29pZDsKIAl1bnNpZ25lZCBtb2RlOwogCS8qIGd1aWx0eSBnZXRzIHNldCB3aGVuIHNoaXBwaW5nIGFueSBzdXNwZWN0cyB0byB0aGUgZmluYWwKIAkgKiBibGFtZSBsaXN0IGluc3RlYWQgb2Ygb3RoZXIgY29tbWl0cwpAQCAtMTM0LDcgKzEzNCw3IEBACiAJaW50IGJsYW1lZF9saW5lczsKIH07CiAKLXN0YXRpYyBpbnQgZGlmZl9odW5rcyhtbWZpbGVfdCAqZmlsZV9hLCBtbWZpbGVfdCAqZmlsZV9iLCBsb25nIGN0eGxlbiwKK3N0YXRpYyBpbnQgZGlmZl9odW5rcyhtbWZpbGVfdCAqZmlsZV9hLCBtbWZpbGVfdCAqZmlsZV9iLAogCQkgICAgICB4ZGxfZW1pdF9odW5rX2NvbnN1bWVfZnVuY190IGh1bmtfZnVuYywgdm9pZCAqY2JfZGF0YSkKIHsKIAl4cHBhcmFtX3QgeHBwID0gezB9OwpAQCAtMTQyLDcgKzE0Miw2IEBACiAJeGRlbWl0Y2JfdCBlY2IgPSB7TlVMTH07CiAKIAl4cHAuZmxhZ3MgPSB4ZGxfb3B0czsKLQl4ZWNmZy5jdHhsZW4gPSBjdHhsZW47CiAJeGVjZmcuaHVua19mdW5jID0gaHVua19mdW5jOwogCWVjYi5wcml2ID0gY2JfZGF0YTsKIAlyZXR1cm4geGRpX2RpZmYoZmlsZV9hLCBmaWxlX2IsICZ4cHAsICZ4ZWNmZywgJmVjYik7CkBAIC0xNTUsOCArMTU0LDggQEAKICAqLwogaW50IHRleHRjb252X29iamVjdChjb25zdCBjaGFyICpwYXRoLAogCQkgICAgdW5zaWduZWQgbW9kZSwKLQkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCSAgICBpbnQgc2hhMV92YWxpZCwKKwkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJICAgIGludCBvaWRfdmFsaWQsCiAJCSAgICBjaGFyICoqYnVmLAogCQkgICAgdW5zaWduZWQgbG9uZyAqYnVmX3NpemUpCiB7CkBAIC0xNjQsNyArMTYzLDcgQEAKIAlzdHJ1Y3QgdXNlcmRpZmZfZHJpdmVyICp0ZXh0Y29udjsKIAogCWRmID0gYWxsb2NfZmlsZXNwZWMocGF0aCk7Ci0JZmlsbF9maWxlc3BlYyhkZiwgc2hhMSwgc2hhMV92YWxpZCwgbW9kZSk7CisJZmlsbF9maWxlc3BlYyhkZiwgb2lkLT5oYXNoLCBvaWRfdmFsaWQsIG1vZGUpOwogCXRleHRjb252ID0gZ2V0X3RleHRjb252KGRmKTsKIAlpZiAoIXRleHRjb252KSB7CiAJCWZyZWVfZmlsZXNwZWMoZGYpOwpAQCAtMTg5LDE1ICsxODgsMTYgQEAKIAogCQludW1fcmVhZF9ibG9iKys7CiAJCWlmIChESUZGX09QVF9UU1Qob3B0LCBBTExPV19URVhUQ09OVikgJiYKLQkJICAgIHRleHRjb252X29iamVjdChvLT5wYXRoLCBvLT5tb2RlLCBvLT5ibG9iX3NoYTEsIDEsICZmaWxlLT5wdHIsICZmaWxlX3NpemUpKQorCQkgICAgdGV4dGNvbnZfb2JqZWN0KG8tPnBhdGgsIG8tPm1vZGUsICZvLT5ibG9iX29pZCwgMSwgJmZpbGUtPnB0ciwgJmZpbGVfc2l6ZSkpCiAJCQk7CiAJCWVsc2UKLQkJCWZpbGUtPnB0ciA9IHJlYWRfc2hhMV9maWxlKG8tPmJsb2Jfc2hhMSwgJnR5cGUsICZmaWxlX3NpemUpOworCQkJZmlsZS0+cHRyID0gcmVhZF9zaGExX2ZpbGUoby0+YmxvYl9vaWQuaGFzaCwgJnR5cGUsCisJCQkJCQkgICAmZmlsZV9zaXplKTsKIAkJZmlsZS0+c2l6ZSA9IGZpbGVfc2l6ZTsKIAogCQlpZiAoIWZpbGUtPnB0cikKIAkJCWRpZSgiQ2Fubm90IHJlYWQgYmxvYiAlcyBmb3IgcGF0aCAlcyIsCi0JCQkgICAgc2hhMV90b19oZXgoby0+YmxvYl9zaGExKSwKKwkJCSAgICBvaWRfdG9faGV4KCZvLT5ibG9iX29pZCksCiAJCQkgICAgby0+cGF0aCk7CiAJCW8tPmZpbGUgPSAqZmlsZTsKIAl9CkBAIC01MDksMTcgKzUwOSwxNyBAQAogICovCiBzdGF0aWMgaW50IGZpbGxfYmxvYl9zaGExX2FuZF9tb2RlKHN0cnVjdCBvcmlnaW4gKm9yaWdpbikKIHsKLQlpZiAoIWlzX251bGxfc2hhMShvcmlnaW4tPmJsb2Jfc2hhMSkpCisJaWYgKCFpc19udWxsX29pZCgmb3JpZ2luLT5ibG9iX29pZCkpCiAJCXJldHVybiAwOwogCWlmIChnZXRfdHJlZV9lbnRyeShvcmlnaW4tPmNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLAogCQkJICAgb3JpZ2luLT5wYXRoLAotCQkJICAgb3JpZ2luLT5ibG9iX3NoYTEsICZvcmlnaW4tPm1vZGUpKQorCQkJICAgb3JpZ2luLT5ibG9iX29pZC5oYXNoLCAmb3JpZ2luLT5tb2RlKSkKIAkJZ290byBlcnJvcl9vdXQ7Ci0JaWYgKHNoYTFfb2JqZWN0X2luZm8ob3JpZ2luLT5ibG9iX3NoYTEsIE5VTEwpICE9IE9CSl9CTE9CKQorCWlmIChzaGExX29iamVjdF9pbmZvKG9yaWdpbi0+YmxvYl9vaWQuaGFzaCwgTlVMTCkgIT0gT0JKX0JMT0IpCiAJCWdvdG8gZXJyb3Jfb3V0OwogCXJldHVybiAwOwogIGVycm9yX291dDoKLQloYXNoY2xyKG9yaWdpbi0+YmxvYl9zaGExKTsKKwlvaWRjbHIoJm9yaWdpbi0+YmxvYl9vaWQpOwogCW9yaWdpbi0+bW9kZSA9IFNfSUZJTlZBTElEOwogCXJldHVybiAtMTsKIH0KQEAgLTU3Myw3ICs1NzMsNyBAQAogCWlmICghZGlmZl9xdWV1ZWRfZGlmZi5ucikgewogCQkvKiBUaGUgcGF0aCBpcyB0aGUgc2FtZSBhcyBwYXJlbnQgKi8KIAkJcG9yaWdpbiA9IGdldF9vcmlnaW4oc2IsIHBhcmVudCwgb3JpZ2luLT5wYXRoKTsKLQkJaGFzaGNweShwb3JpZ2luLT5ibG9iX3NoYTEsIG9yaWdpbi0+YmxvYl9zaGExKTsKKwkJb2lkY3B5KCZwb3JpZ2luLT5ibG9iX29pZCwgJm9yaWdpbi0+YmxvYl9vaWQpOwogCQlwb3JpZ2luLT5tb2RlID0gb3JpZ2luLT5tb2RlOwogCX0gZWxzZSB7CiAJCS8qCkBAIC01OTksNyArNTk5LDcgQEAKIAkJCSAgICBwLT5zdGF0dXMpOwogCQljYXNlICdNJzoKIAkJCXBvcmlnaW4gPSBnZXRfb3JpZ2luKHNiLCBwYXJlbnQsIG9yaWdpbi0+cGF0aCk7Ci0JCQloYXNoY3B5KHBvcmlnaW4tPmJsb2Jfc2hhMSwgcC0+b25lLT5zaGExKTsKKwkJCW9pZGNweSgmcG9yaWdpbi0+YmxvYl9vaWQsICZwLT5vbmUtPm9pZCk7CiAJCQlwb3JpZ2luLT5tb2RlID0gcC0+b25lLT5tb2RlOwogCQkJYnJlYWs7CiAJCWNhc2UgJ0EnOgpAQCAtNjA5LDcgKzYwOSw3IEBACiAJCX0KIAl9CiAJZGlmZl9mbHVzaCgmZGlmZl9vcHRzKTsKLQlmcmVlX3BhdGhzcGVjKCZkaWZmX29wdHMucGF0aHNwZWMpOworCWNsZWFyX3BhdGhzcGVjKCZkaWZmX29wdHMucGF0aHNwZWMpOwogCXJldHVybiBwb3JpZ2luOwogfQogCkBAIC02NDUsMTMgKzY0NSwxMyBAQAogCQlpZiAoKHAtPnN0YXR1cyA9PSAnUicgfHwgcC0+c3RhdHVzID09ICdDJykgJiYKIAkJICAgICFzdHJjbXAocC0+dHdvLT5wYXRoLCBvcmlnaW4tPnBhdGgpKSB7CiAJCQlwb3JpZ2luID0gZ2V0X29yaWdpbihzYiwgcGFyZW50LCBwLT5vbmUtPnBhdGgpOwotCQkJaGFzaGNweShwb3JpZ2luLT5ibG9iX3NoYTEsIHAtPm9uZS0+c2hhMSk7CisJCQlvaWRjcHkoJnBvcmlnaW4tPmJsb2Jfb2lkLCAmcC0+b25lLT5vaWQpOwogCQkJcG9yaWdpbi0+bW9kZSA9IHAtPm9uZS0+bW9kZTsKIAkJCWJyZWFrOwogCQl9CiAJfQogCWRpZmZfZmx1c2goJmRpZmZfb3B0cyk7Ci0JZnJlZV9wYXRoc3BlYygmZGlmZl9vcHRzLnBhdGhzcGVjKTsKKwljbGVhcl9wYXRoc3BlYygmZGlmZl9vcHRzLnBhdGhzcGVjKTsKIAlyZXR1cm4gcG9yaWdpbjsKIH0KIApAQCAtOTgwLDcgKzk4MCw3IEBACiAJZmlsbF9vcmlnaW5fYmxvYigmc2ItPnJldnMtPmRpZmZvcHQsIHRhcmdldCwgJmZpbGVfbyk7CiAJbnVtX2dldF9wYXRjaCsrOwogCi0JaWYgKGRpZmZfaHVua3MoJmZpbGVfcCwgJmZpbGVfbywgMCwgYmxhbWVfY2h1bmtfY2IsICZkKSkKKwlpZiAoZGlmZl9odW5rcygmZmlsZV9wLCAmZmlsZV9vLCBibGFtZV9jaHVua19jYiwgJmQpKQogCQlkaWUoInVuYWJsZSB0byBnZW5lcmF0ZSBkaWZmICglcyAtPiAlcykiLAogCQkgICAgb2lkX3RvX2hleCgmcGFyZW50LT5jb21taXQtPm9iamVjdC5vaWQpLAogCQkgICAgb2lkX3RvX2hleCgmdGFyZ2V0LT5jb21taXQtPm9iamVjdC5vaWQpKTsKQEAgLTExMjksNyArMTEyOSw3IEBACiAJICogZmlsZV9wIHBhcnRpYWxseSBtYXkgbWF0Y2ggdGhhdCBpbWFnZS4KIAkgKi8KIAltZW1zZXQoc3BsaXQsIDAsIHNpemVvZihzdHJ1Y3QgYmxhbWVfZW50cnkgWzNdKSk7Ci0JaWYgKGRpZmZfaHVua3MoZmlsZV9wLCAmZmlsZV9vLCAxLCBoYW5kbGVfc3BsaXRfY2IsICZkKSkKKwlpZiAoZGlmZl9odW5rcyhmaWxlX3AsICZmaWxlX28sIGhhbmRsZV9zcGxpdF9jYiwgJmQpKQogCQlkaWUoInVuYWJsZSB0byBnZW5lcmF0ZSBkaWZmICglcykiLAogCQkgICAgb2lkX3RvX2hleCgmcGFyZW50LT5jb21taXQtPm9iamVjdC5vaWQpKTsKIAkvKiByZW1haW5kZXIsIGlmIGFueSwgYWxsIG1hdGNoIHRoZSBwcmVpbWFnZSAqLwpAQCAtMTMwOSw3ICsxMzA5LDcgQEAKIAkJCQljb250aW51ZTsKIAogCQkJbm9yaWdpbiA9IGdldF9vcmlnaW4oc2IsIHBhcmVudCwgcC0+b25lLT5wYXRoKTsKLQkJCWhhc2hjcHkobm9yaWdpbi0+YmxvYl9zaGExLCBwLT5vbmUtPnNoYTEpOworCQkJb2lkY3B5KCZub3JpZ2luLT5ibG9iX29pZCwgJnAtPm9uZS0+b2lkKTsKIAkJCW5vcmlnaW4tPm1vZGUgPSBwLT5vbmUtPm1vZGU7CiAJCQlmaWxsX29yaWdpbl9ibG9iKCZzYi0+cmV2cy0+ZGlmZm9wdCwgbm9yaWdpbiwgJmZpbGVfcCk7CiAJCQlpZiAoIWZpbGVfcC5wdHIpCkBAIC0xMzQzLDcgKzEzNDMsNyBAQAogCX0gd2hpbGUgKHVuYmxhbWVkKTsKIAl0YXJnZXQtPnN1c3BlY3RzID0gcmV2ZXJzZV9ibGFtZShsZWZ0b3ZlciwgTlVMTCk7CiAJZGlmZl9mbHVzaCgmZGlmZl9vcHRzKTsKLQlmcmVlX3BhdGhzcGVjKCZkaWZmX29wdHMucGF0aHNwZWMpOworCWNsZWFyX3BhdGhzcGVjKCZkaWZmX29wdHMucGF0aHNwZWMpOwogfQogCiAvKgpAQCAtMTQ1OSwxNSArMTQ1OSwxNCBAQAogCQkJcG9yaWdpbiA9IGZpbmQoc2IsIHAsIG9yaWdpbik7CiAJCQlpZiAoIXBvcmlnaW4pCiAJCQkJY29udGludWU7Ci0JCQlpZiAoIWhhc2hjbXAocG9yaWdpbi0+YmxvYl9zaGExLCBvcmlnaW4tPmJsb2Jfc2hhMSkpIHsKKwkJCWlmICghb2lkY21wKCZwb3JpZ2luLT5ibG9iX29pZCwgJm9yaWdpbi0+YmxvYl9vaWQpKSB7CiAJCQkJcGFzc193aG9sZV9ibGFtZShzYiwgb3JpZ2luLCBwb3JpZ2luKTsKIAkJCQlvcmlnaW5fZGVjcmVmKHBvcmlnaW4pOwogCQkJCWdvdG8gZmluaXNoOwogCQkJfQogCQkJZm9yIChqID0gc2FtZSA9IDA7IGogPCBpOyBqKyspCiAJCQkJaWYgKHNnX29yaWdpbltqXSAmJgotCQkJCSAgICAhaGFzaGNtcChzZ19vcmlnaW5bal0tPmJsb2Jfc2hhMSwKLQkJCQkJICAgICBwb3JpZ2luLT5ibG9iX3NoYTEpKSB7CisJCQkJICAgICFvaWRjbXAoJnNnX29yaWdpbltqXS0+YmxvYl9vaWQsICZwb3JpZ2luLT5ibG9iX29pZCkpIHsKIAkJCQkJc2FtZSA9IDE7CiAJCQkJCWJyZWFrOwogCQkJCX0KQEAgLTE5NDIsNyArMTk0MSw3IEBACiAJY3AgPSBudGhfbGluZShzYiwgZW50LT5sbm8pOwogCWZvciAoY250ID0gMDsgY250IDwgZW50LT5udW1fbGluZXM7IGNudCsrKSB7CiAJCWNoYXIgY2g7Ci0JCWludCBsZW5ndGggPSAob3B0ICYgT1VUUFVUX0xPTkdfT0JKRUNUX05BTUUpID8gNDAgOiBhYmJyZXY7CisJCWludCBsZW5ndGggPSAob3B0ICYgT1VUUFVUX0xPTkdfT0JKRUNUX05BTUUpID8gR0lUX1NIQTFfSEVYU1ogOiBhYmJyZXY7CiAKIAkJaWYgKHN1c3BlY3QtPmNvbW1pdC0+b2JqZWN0LmZsYWdzICYgVU5JTlRFUkVTVElORykgewogCQkJaWYgKGJsYW5rX2JvdW5kYXJ5KQpAQCAtMjExMiw3ICsyMTExLDcgQEAKIAl1bnNpZ25lZCBsYXJnZXN0X3Njb3JlID0gMDsKIAlzdHJ1Y3QgYmxhbWVfZW50cnkgKmU7CiAJaW50IGNvbXB1dGVfYXV0b19hYmJyZXYgPSAoYWJicmV2IDwgMCk7Ci0JaW50IGF1dG9fYWJicmV2ID0gZGVmYXVsdF9hYmJyZXY7CisJaW50IGF1dG9fYWJicmV2ID0gREVGQVVMVF9BQkJSRVY7CiAKIAlmb3IgKGUgPSBzYi0+ZW50OyBlOyBlID0gZS0+bmV4dCkgewogCQlzdHJ1Y3Qgb3JpZ2luICpzdXNwZWN0ID0gZS0+c3VzcGVjdDsKQEAgLTIyMjEsNiArMjIyMCw4IEBACiAJCXJldHVybiAwOwogCX0KIAorCWlmIChnaXRfZGlmZl9oZXVyaXN0aWNfY29uZmlnKHZhciwgdmFsdWUsIGNiKSA8IDApCisJCXJldHVybiAtMTsKIAlpZiAodXNlcmRpZmZfY29uZmlnKHZhciwgdmFsdWUpIDwgMCkKIAkJcmV0dXJuIC0xOwogCkBAIC0yMjMwLDI2ICsyMjMxLDM1IEBACiBzdGF0aWMgdm9pZCB2ZXJpZnlfd29ya2luZ190cmVlX3BhdGgoc3RydWN0IGNvbW1pdCAqd29ya190cmVlLCBjb25zdCBjaGFyICpwYXRoKQogewogCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50czsKKwlpbnQgcG9zOwogCiAJZm9yIChwYXJlbnRzID0gd29ya190cmVlLT5wYXJlbnRzOyBwYXJlbnRzOyBwYXJlbnRzID0gcGFyZW50cy0+bmV4dCkgewotCQljb25zdCB1bnNpZ25lZCBjaGFyICpjb21taXRfc2hhMSA9IHBhcmVudHMtPml0ZW0tPm9iamVjdC5vaWQuaGFzaDsKLQkJdW5zaWduZWQgY2hhciBibG9iX3NoYTFbMjBdOworCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpjb21taXRfb2lkID0gJnBhcmVudHMtPml0ZW0tPm9iamVjdC5vaWQ7CisJCXN0cnVjdCBvYmplY3RfaWQgYmxvYl9vaWQ7CiAJCXVuc2lnbmVkIG1vZGU7CiAKLQkJaWYgKCFnZXRfdHJlZV9lbnRyeShjb21taXRfc2hhMSwgcGF0aCwgYmxvYl9zaGExLCAmbW9kZSkgJiYKLQkJICAgIHNoYTFfb2JqZWN0X2luZm8oYmxvYl9zaGExLCBOVUxMKSA9PSBPQkpfQkxPQikKKwkJaWYgKCFnZXRfdHJlZV9lbnRyeShjb21taXRfb2lkLT5oYXNoLCBwYXRoLCBibG9iX29pZC5oYXNoLCAmbW9kZSkgJiYKKwkJICAgIHNoYTFfb2JqZWN0X2luZm8oYmxvYl9vaWQuaGFzaCwgTlVMTCkgPT0gT0JKX0JMT0IpCiAJCQlyZXR1cm47CiAJfQotCWRpZSgibm8gc3VjaCBwYXRoICclcycgaW4gSEVBRCIsIHBhdGgpOworCisJcG9zID0gY2FjaGVfbmFtZV9wb3MocGF0aCwgc3RybGVuKHBhdGgpKTsKKwlpZiAocG9zID49IDApCisJCTsgLyogcGF0aCBpcyBpbiB0aGUgaW5kZXggKi8KKwllbHNlIGlmICgtMSAtIHBvcyA8IGFjdGl2ZV9uciAmJgorCQkgIXN0cmNtcChhY3RpdmVfY2FjaGVbLTEgLSBwb3NdLT5uYW1lLCBwYXRoKSkKKwkJOyAvKiBwYXRoIGlzIGluIHRoZSBpbmRleCwgdW5tZXJnZWQgKi8KKwllbHNlCisJCWRpZSgibm8gc3VjaCBwYXRoICclcycgaW4gSEVBRCIsIHBhdGgpOwogfQogCi1zdGF0aWMgc3RydWN0IGNvbW1pdF9saXN0ICoqYXBwZW5kX3BhcmVudChzdHJ1Y3QgY29tbWl0X2xpc3QgKip0YWlsLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIHN0cnVjdCBjb21taXRfbGlzdCAqKmFwcGVuZF9wYXJlbnQoc3RydWN0IGNvbW1pdF9saXN0ICoqdGFpbCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXN0cnVjdCBjb21taXQgKnBhcmVudDsKIAotCXBhcmVudCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHNoYTEpOworCXBhcmVudCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG9pZC0+aGFzaCk7CiAJaWYgKCFwYXJlbnQpCi0JCWRpZSgibm8gc3VjaCBjb21taXQgJXMiLCBzaGExX3RvX2hleChzaGExKSk7CisJCWRpZSgibm8gc3VjaCBjb21taXQgJXMiLCBvaWRfdG9faGV4KG9pZCkpOwogCXJldHVybiAmY29tbWl0X2xpc3RfaW5zZXJ0KHBhcmVudCwgdGFpbCktPm5leHQ7CiB9CiAKQEAgLTIyNjYsMTAgKzIyNzYsMTAgQEAKIAl9CiAKIAl3aGlsZSAoIXN0cmJ1Zl9nZXR3aG9sZWxpbmVfZmQoJmxpbmUsIG1lcmdlX2hlYWQsICdcbicpKSB7Ci0JCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07Ci0JCWlmIChsaW5lLmxlbiA8IDQwIHx8IGdldF9zaGExX2hleChsaW5lLmJ1Ziwgc2hhMSkpCisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCQlpZiAobGluZS5sZW4gPCBHSVRfU0hBMV9IRVhTWiB8fCBnZXRfb2lkX2hleChsaW5lLmJ1ZiwgJm9pZCkpCiAJCQlkaWUoInVua25vd24gbGluZSBpbiAnJXMnOiAlcyIsIGdpdF9wYXRoX21lcmdlX2hlYWQoKSwgbGluZS5idWYpOwotCQl0YWlsID0gYXBwZW5kX3BhcmVudCh0YWlsLCBzaGExKTsKKwkJdGFpbCA9IGFwcGVuZF9wYXJlbnQodGFpbCwgJm9pZCk7CiAJfQogCWNsb3NlKG1lcmdlX2hlYWQpOwogCXN0cmJ1Zl9yZWxlYXNlKCZsaW5lKTsKQEAgLTIyOTgsNyArMjMwOCw3IEBACiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwogCXN0cnVjdCBvcmlnaW4gKm9yaWdpbjsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKipwYXJlbnRfdGFpbCwgKnBhcmVudDsKLQl1bnNpZ25lZCBjaGFyIGhlYWRfc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBoZWFkX29pZDsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCWNvbnN0IGNoYXIgKmlkZW50OwogCXRpbWVfdCBub3c7CkBAIC0yMzE0LDEwICsyMzI0LDEwIEBACiAJY29tbWl0LT5kYXRlID0gbm93OwogCXBhcmVudF90YWlsID0gJmNvbW1pdC0+cGFyZW50czsKIAotCWlmICghcmVzb2x2ZV9yZWZfdW5zYWZlKCJIRUFEIiwgUkVTT0xWRV9SRUZfUkVBRElORywgaGVhZF9zaGExLCBOVUxMKSkKKwlpZiAoIXJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIFJFU09MVkVfUkVGX1JFQURJTkcsIGhlYWRfb2lkLmhhc2gsIE5VTEwpKQogCQlkaWUoIm5vIHN1Y2ggcmVmOiBIRUFEIik7CiAKLQlwYXJlbnRfdGFpbCA9IGFwcGVuZF9wYXJlbnQocGFyZW50X3RhaWwsIGhlYWRfc2hhMSk7CisJcGFyZW50X3RhaWwgPSBhcHBlbmRfcGFyZW50KHBhcmVudF90YWlsLCAmaGVhZF9vaWQpOwogCWFwcGVuZF9tZXJnZV9wYXJlbnRzKHBhcmVudF90YWlsKTsKIAl2ZXJpZnlfd29ya2luZ190cmVlX3BhdGgoY29tbWl0LCBwYXRoKTsKIApAQCAtMjM1OCw3ICsyMzY4LDcgQEAKIAkJc3dpdGNoIChzdC5zdF9tb2RlICYgU19JRk1UKSB7CiAJCWNhc2UgU19JRlJFRzoKIAkJCWlmIChESUZGX09QVF9UU1Qob3B0LCBBTExPV19URVhUQ09OVikgJiYKLQkJCSAgICB0ZXh0Y29udl9vYmplY3QocmVhZF9mcm9tLCBtb2RlLCBudWxsX3NoYTEsIDAsICZidWZfcHRyLCAmYnVmX2xlbikpCisJCQkgICAgdGV4dGNvbnZfb2JqZWN0KHJlYWRfZnJvbSwgbW9kZSwgJm51bGxfb2lkLCAwLCAmYnVmX3B0ciwgJmJ1Zl9sZW4pKQogCQkJCXN0cmJ1Zl9hdHRhY2goJmJ1ZiwgYnVmX3B0ciwgYnVmX2xlbiwgYnVmX2xlbiArIDEpOwogCQkJZWxzZSBpZiAoc3RyYnVmX3JlYWRfZmlsZSgmYnVmLCByZWFkX2Zyb20sIHN0LnN0X3NpemUpICE9IHN0LnN0X3NpemUpCiAJCQkJZGllX2Vycm5vKCJjYW5ub3Qgb3BlbiBvciByZWFkICclcyciLCByZWFkX2Zyb20pOwpAQCAtMjM4MCw3ICsyMzkwLDcgQEAKIAljb252ZXJ0X3RvX2dpdChwYXRoLCBidWYuYnVmLCBidWYubGVuLCAmYnVmLCAwKTsKIAlvcmlnaW4tPmZpbGUucHRyID0gYnVmLmJ1ZjsKIAlvcmlnaW4tPmZpbGUuc2l6ZSA9IGJ1Zi5sZW47Ci0JcHJldGVuZF9zaGExX2ZpbGUoYnVmLmJ1ZiwgYnVmLmxlbiwgT0JKX0JMT0IsIG9yaWdpbi0+YmxvYl9zaGExKTsKKwlwcmV0ZW5kX3NoYTFfZmlsZShidWYuYnVmLCBidWYubGVuLCBPQkpfQkxPQiwgb3JpZ2luLT5ibG9iX29pZC5oYXNoKTsKIAogCS8qCiAJICogUmVhZCB0aGUgY3VycmVudCBpbmRleCwgcmVwbGFjZSB0aGUgcGF0aCBlbnRyeSB3aXRoCkBAIC0yNDAyLDcgKzI0MTIsNyBAQAogCX0KIAlzaXplID0gY2FjaGVfZW50cnlfc2l6ZShsZW4pOwogCWNlID0geGNhbGxvYygxLCBzaXplKTsKLQloYXNoY3B5KGNlLT5zaGExLCBvcmlnaW4tPmJsb2Jfc2hhMSk7CisJb2lkY3B5KCZjZS0+b2lkLCAmb3JpZ2luLT5ibG9iX29pZCk7CiAJbWVtY3B5KGNlLT5uYW1lLCBwYXRoLCBsZW4pOwogCWNlLT5jZV9mbGFncyA9IGNyZWF0ZV9jZV9mbGFncygwKTsKIAljZS0+Y2VfbmFtZWxlbiA9IGxlbjsKQEAgLTI0MjUsOCArMjQzNSw3IEBACiAJCXN0cnVjdCBvYmplY3QgKm9iaiA9IHJldnMtPnBlbmRpbmcub2JqZWN0c1tpXS5pdGVtOwogCQlpZiAob2JqLT5mbGFncyAmIFVOSU5URVJFU1RJTkcpCiAJCQljb250aW51ZTsKLQkJd2hpbGUgKG9iai0+dHlwZSA9PSBPQkpfVEFHKQotCQkJb2JqID0gZGVyZWZfdGFnKG9iaiwgTlVMTCwgMCk7CisJCW9iaiA9IGRlcmVmX3RhZyhvYmosIE5VTEwsIDApOwogCQlpZiAob2JqLT50eXBlICE9IE9CSl9DT01NSVQpCiAJCQlkaWUoIk5vbiBjb21taXQgJXM/IiwgcmV2cy0+cGVuZGluZy5vYmplY3RzW2ldLm5hbWUpOwogCQlpZiAoZm91bmQpCkBAIC0yNDQ3LDYgKzI0NTYsNDEgQEAKIAlyZXR1cm4geHN0cmR1cF9vcl9udWxsKG5hbWUpOwogfQogCitzdGF0aWMgY29uc3QgY2hhciAqZHdpbV9yZXZlcnNlX2luaXRpYWwoc3RydWN0IHNjb3JlYm9hcmQgKnNiKQoreworCS8qCisJICogRFdJTSAiZ2l0IGJsYW1lIC0tcmV2ZXJzZSBPTkUgLS0gUEFUSCIgYXMKKwkgKiAiZ2l0IGJsYW1lIC0tcmV2ZXJzZSBPTkUuLkhFQUQgLS0gUEFUSCIgYnV0IG9ubHkgZG8gc28KKwkgKiB3aGVuIGl0IG1ha2VzIHNlbnNlLgorCSAqLworCXN0cnVjdCBvYmplY3QgKm9iajsKKwlzdHJ1Y3QgY29tbWl0ICpoZWFkX2NvbW1pdDsKKwl1bnNpZ25lZCBjaGFyIGhlYWRfc2hhMVsyMF07CisKKwlpZiAoc2ItPnJldnMtPnBlbmRpbmcubnIgIT0gMSkKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiBJcyB0aGF0IHNvbGUgcmV2IGEgY29tbWl0dGlzaD8gKi8KKwlvYmogPSBzYi0+cmV2cy0+cGVuZGluZy5vYmplY3RzWzBdLml0ZW07CisJb2JqID0gZGVyZWZfdGFnKG9iaiwgTlVMTCwgMCk7CisJaWYgKG9iai0+dHlwZSAhPSBPQkpfQ09NTUlUKQorCQlyZXR1cm4gTlVMTDsKKworCS8qIERvIHdlIGhhdmUgSEVBRD8gKi8KKwlpZiAoIXJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIFJFU09MVkVfUkVGX1JFQURJTkcsIGhlYWRfc2hhMSwgTlVMTCkpCisJCXJldHVybiBOVUxMOworCWhlYWRfY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KGhlYWRfc2hhMSwgMSk7CisJaWYgKCFoZWFkX2NvbW1pdCkKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiBUdXJuICJPTkUiIGludG8gIk9ORS4uSEVBRCIgdGhlbiAqLworCW9iai0+ZmxhZ3MgfD0gVU5JTlRFUkVTVElORzsKKwlhZGRfcGVuZGluZ19vYmplY3Qoc2ItPnJldnMsICZoZWFkX2NvbW1pdC0+b2JqZWN0LCAiSEVBRCIpOworCisJc2ItPmZpbmFsID0gKHN0cnVjdCBjb21taXQgKilvYmo7CisJcmV0dXJuIHNiLT5yZXZzLT5wZW5kaW5nLm9iamVjdHNbMF0ubmFtZTsKK30KKwogc3RhdGljIGNoYXIgKnByZXBhcmVfaW5pdGlhbChzdHJ1Y3Qgc2NvcmVib2FyZCAqc2IpCiB7CiAJaW50IGk7CkBAIC0yNDYxLDE5ICsyNTA1LDIxIEBACiAJCXN0cnVjdCBvYmplY3QgKm9iaiA9IHJldnMtPnBlbmRpbmcub2JqZWN0c1tpXS5pdGVtOwogCQlpZiAoIShvYmotPmZsYWdzICYgVU5JTlRFUkVTVElORykpCiAJCQljb250aW51ZTsKLQkJd2hpbGUgKG9iai0+dHlwZSA9PSBPQkpfVEFHKQotCQkJb2JqID0gZGVyZWZfdGFnKG9iaiwgTlVMTCwgMCk7CisJCW9iaiA9IGRlcmVmX3RhZyhvYmosIE5VTEwsIDApOwogCQlpZiAob2JqLT50eXBlICE9IE9CSl9DT01NSVQpCiAJCQlkaWUoIk5vbiBjb21taXQgJXM/IiwgcmV2cy0+cGVuZGluZy5vYmplY3RzW2ldLm5hbWUpOwogCQlpZiAoc2ItPmZpbmFsKQotCQkJZGllKCJNb3JlIHRoYW4gb25lIGNvbW1pdCB0byBkaWcgZG93biB0byAlcyBhbmQgJXM/IiwKKwkJCWRpZSgiTW9yZSB0aGFuIG9uZSBjb21taXQgdG8gZGlnIHVwIGZyb20sICVzIGFuZCAlcz8iLAogCQkJICAgIHJldnMtPnBlbmRpbmcub2JqZWN0c1tpXS5uYW1lLAogCQkJICAgIGZpbmFsX2NvbW1pdF9uYW1lKTsKIAkJc2ItPmZpbmFsID0gKHN0cnVjdCBjb21taXQgKikgb2JqOwogCQlmaW5hbF9jb21taXRfbmFtZSA9IHJldnMtPnBlbmRpbmcub2JqZWN0c1tpXS5uYW1lOwogCX0KKwogCWlmICghZmluYWxfY29tbWl0X25hbWUpCi0JCWRpZSgiTm8gY29tbWl0IHRvIGRpZyBkb3duIHRvPyIpOworCQlmaW5hbF9jb21taXRfbmFtZSA9IGR3aW1fcmV2ZXJzZV9pbml0aWFsKHNiKTsKKwlpZiAoIWZpbmFsX2NvbW1pdF9uYW1lKQorCQlkaWUoIk5vIGNvbW1pdCB0byBkaWcgdXAgZnJvbT8iKTsKIAlyZXR1cm4geHN0cmR1cChmaW5hbF9jb21taXRfbmFtZSk7CiB9CiAKQEAgLTI1MjIsMTIgKzI1NjgsMTIgQEAKIAllbnVtIG9iamVjdF90eXBlIHR5cGU7CiAJc3RydWN0IGNvbW1pdCAqZmluYWxfY29tbWl0ID0gTlVMTDsKIAotCXN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgcmFuZ2VfbGlzdDsKLQlzdGF0aWMgaW50IG91dHB1dF9vcHRpb24gPSAwLCBvcHQgPSAwOwotCXN0YXRpYyBpbnQgc2hvd19zdGF0cyA9IDA7Ci0Jc3RhdGljIGNvbnN0IGNoYXIgKnJldnNfZmlsZSA9IE5VTEw7Ci0Jc3RhdGljIGNvbnN0IGNoYXIgKmNvbnRlbnRzX2Zyb20gPSBOVUxMOwotCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgcmFuZ2VfbGlzdCA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CisJaW50IG91dHB1dF9vcHRpb24gPSAwLCBvcHQgPSAwOworCWludCBzaG93X3N0YXRzID0gMDsKKwljb25zdCBjaGFyICpyZXZzX2ZpbGUgPSBOVUxMOworCWNvbnN0IGNoYXIgKmNvbnRlbnRzX2Zyb20gPSBOVUxMOworCWNvbnN0IHN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewogCQlPUFRfQk9PTCgwLCAiaW5jcmVtZW50YWwiLCAmaW5jcmVtZW50YWwsIE5fKCJTaG93IGJsYW1lIGVudHJpZXMgYXMgd2UgZmluZCB0aGVtLCBpbmNyZW1lbnRhbGx5IikpLAogCQlPUFRfQk9PTCgnYicsIE5VTEwsICZibGFua19ib3VuZGFyeSwgTl8oIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiKSksCiAJCU9QVF9CT09MKDAsICJyb290IiwgJnNob3dfcm9vdCwgTl8oIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIpKSwKQEAgLTI1NDQsNiArMjU5MCwxNSBAQAogCQlPUFRfQklUKCdzJywgTlVMTCwgJm91dHB1dF9vcHRpb24sIE5fKCJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIiksIE9VVFBVVF9OT19BVVRIT1IpLAogCQlPUFRfQklUKCdlJywgInNob3ctZW1haWwiLCAmb3V0cHV0X29wdGlvbiwgTl8oIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIpLCBPVVRQVVRfU0hPV19FTUFJTCksCiAJCU9QVF9CSVQoJ3cnLCBOVUxMLCAmeGRsX29wdHMsIE5fKCJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIpLCBYREZfSUdOT1JFX1dISVRFU1BBQ0UpLAorCisJCS8qCisJCSAqIFRoZSBmb2xsb3dpbmcgdHdvIG9wdGlvbnMgYXJlIHBhcnNlZCBieSBwYXJzZV9yZXZpc2lvbl9vcHQoKQorCQkgKiBhbmQgYXJlIG9ubHkgaW5jbHVkZWQgaGVyZSB0byBnZXQgaW5jbHVkZWQgaW4gdGhlICItaCIKKwkJICogb3V0cHV0OgorCQkgKi8KKwkJeyBPUFRJT05fTE9XTEVWRUxfQ0FMTEJBQ0ssIDAsICJpbmRlbnQtaGV1cmlzdGljIiwgTlVMTCwgTlVMTCwgTl8oIlVzZSBhbiBleHBlcmltZW50YWwgaW5kZW50LWJhc2VkIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIiksIFBBUlNFX09QVF9OT0FSRywgcGFyc2Vfb3B0X3Vua25vd25fY2IgfSwKKwkJeyBPUFRJT05fTE9XTEVWRUxfQ0FMTEJBQ0ssIDAsICJjb21wYWN0aW9uLWhldXJpc3RpYyIsIE5VTEwsIE5VTEwsIE5fKCJVc2UgYW4gZXhwZXJpbWVudGFsIGJsYW5rLWxpbmUtYmFzZWQgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiKSwgUEFSU0VfT1BUX05PQVJHLCBwYXJzZV9vcHRfdW5rbm93bl9jYiB9LAorCiAJCU9QVF9CSVQoMCwgIm1pbmltYWwiLCAmeGRsX29wdHMsIE5fKCJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giKSwgWERGX05FRURfTUlOSU1BTCksCiAJCU9QVF9TVFJJTkcoJ1MnLCBOVUxMLCAmcmV2c19maWxlLCBOXygiZmlsZSIpLCBOXygiVXNlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIGNhbGxpbmcgZ2l0LXJldi1saXN0IikpLAogCQlPUFRfU1RSSU5HKDAsICJjb250ZW50cyIsICZjb250ZW50c19mcm9tLCBOXygiZmlsZSIpLCBOXygiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIpKSwKQEAgLTI1OTAsMTIgKzI2NDUsMTMgQEAKIAl9CiBwYXJzZV9kb25lOgogCW5vX3dob2xlX2ZpbGVfcmVuYW1lID0gIURJRkZfT1BUX1RTVCgmcmV2cy5kaWZmb3B0LCBGT0xMT1dfUkVOQU1FUyk7CisJeGRsX29wdHMgfD0gcmV2cy5kaWZmb3B0LnhkbF9vcHRzICYgKFhERl9DT01QQUNUSU9OX0hFVVJJU1RJQyB8IFhERl9JTkRFTlRfSEVVUklTVElDKTsKIAlESUZGX09QVF9DTFIoJnJldnMuZGlmZm9wdCwgRk9MTE9XX1JFTkFNRVMpOwogCWFyZ2MgPSBwYXJzZV9vcHRpb25zX2VuZCgmY3R4KTsKIAogCWlmIChpbmNyZW1lbnRhbCB8fCAob3V0cHV0X29wdGlvbiAmIE9VVFBVVF9QT1JDRUxBSU4pKSB7CiAJCWlmIChzaG93X3Byb2dyZXNzID4gMCkKLQkJCWRpZSgiLS1wcm9ncmVzcyBjYW4ndCBiZSB1c2VkIHdpdGggLS1pbmNyZW1lbnRhbCBvciBwb3JjZWxhaW4gZm9ybWF0cyIpOworCQkJZGllKF8oIi0tcHJvZ3Jlc3MgY2FuJ3QgYmUgdXNlZCB3aXRoIC0taW5jcmVtZW50YWwgb3IgcG9yY2VsYWluIGZvcm1hdHMiKSk7CiAJCXNob3dfcHJvZ3Jlc3MgPSAwOwogCX0gZWxzZSBpZiAoc2hvd19wcm9ncmVzcyA8IDApCiAJCXNob3dfcHJvZ3Jlc3MgPSBpc2F0dHkoMik7CkBAIC0yNjI4LDYgKzI2ODQsOSBAQAogCWNhc2UgREFURV9SQVc6CiAJCWJsYW1lX2RhdGVfd2lkdGggPSBzaXplb2YoIjExNjEyOTg4MDQgLTA3MDAiKTsKIAkJYnJlYWs7CisJY2FzZSBEQVRFX1VOSVg6CisJCWJsYW1lX2RhdGVfd2lkdGggPSBzaXplb2YoIjExNjEyOTg4MDQiKTsKKwkJYnJlYWs7CiAJY2FzZSBEQVRFX1NIT1JUOgogCQlibGFtZV9kYXRlX3dpZHRoID0gc2l6ZW9mKCIyMDA2LTEwLTE5Iik7CiAJCWJyZWFrOwpAQCAtMjcxOCw3ICsyNzc3LDcgQEAKIAkJc2IuY29tbWl0cy5jb21wYXJlID0gY29tcGFyZV9jb21taXRzX2J5X2NvbW1pdF9kYXRlOwogCX0KIAllbHNlIGlmIChjb250ZW50c19mcm9tKQotCQlkaWUoIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iKTsKKwkJZGllKF8oIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iKSk7CiAJZWxzZSB7CiAJCWZpbmFsX2NvbW1pdF9uYW1lID0gcHJlcGFyZV9pbml0aWFsKCZzYik7CiAJCXNiLmNvbW1pdHMuY29tcGFyZSA9IGNvbXBhcmVfY29tbWl0c19ieV9yZXZlcnNlX2NvbW1pdF9kYXRlOwpAQCAtMjczOCwxMiArMjc5NywxMiBAQAogCQlhZGRfcGVuZGluZ19vYmplY3QoJnJldnMsICYoc2IuZmluYWwtPm9iamVjdCksICI6Iik7CiAJfQogCWVsc2UgaWYgKGNvbnRlbnRzX2Zyb20pCi0JCWRpZSgiQ2Fubm90IHVzZSAtLWNvbnRlbnRzIHdpdGggZmluYWwgY29tbWl0IG9iamVjdCBuYW1lIik7CisJCWRpZShfKCJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiKSk7CiAKIAlpZiAocmV2ZXJzZSAmJiByZXZzLmZpcnN0X3BhcmVudF9vbmx5KSB7CiAJCWZpbmFsX2NvbW1pdCA9IGZpbmRfc2luZ2xlX2ZpbmFsKHNiLnJldnMsIE5VTEwpOwogCQlpZiAoIWZpbmFsX2NvbW1pdCkKLQkJCWRpZSgiLS1yZXZlcnNlIGFuZCAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHNwZWNpZmllZCBsYXRlc3QgY29tbWl0Iik7CisJCQlkaWUoXygiLS1yZXZlcnNlIGFuZCAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHNwZWNpZmllZCBsYXRlc3QgY29tbWl0IikpOwogCX0KIAogCS8qCkBAIC0yNzcwLDcgKzI4MjksNyBAQAogCQl9CiAKIAkJaWYgKG9pZGNtcCgmYy0+b2JqZWN0Lm9pZCwgJnNiLmZpbmFsLT5vYmplY3Qub2lkKSkKLQkJCWRpZSgiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIik7CisJCQlkaWUoXygiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIikpOwogCX0KIAogCWlmIChpc19udWxsX29pZCgmc2IuZmluYWwtPm9iamVjdC5vaWQpKSB7CkBAIC0yNzgxLDI2ICsyODQwLDI2IEBACiAJZWxzZSB7CiAJCW8gPSBnZXRfb3JpZ2luKCZzYiwgc2IuZmluYWwsIHBhdGgpOwogCQlpZiAoZmlsbF9ibG9iX3NoYTFfYW5kX21vZGUobykpCi0JCQlkaWUoIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIsIHBhdGgsIGZpbmFsX2NvbW1pdF9uYW1lKTsKKwkJCWRpZShfKCJubyBzdWNoIHBhdGggJXMgaW4gJXMiKSwgcGF0aCwgZmluYWxfY29tbWl0X25hbWUpOwogCiAJCWlmIChESUZGX09QVF9UU1QoJnNiLnJldnMtPmRpZmZvcHQsIEFMTE9XX1RFWFRDT05WKSAmJgotCQkgICAgdGV4dGNvbnZfb2JqZWN0KHBhdGgsIG8tPm1vZGUsIG8tPmJsb2Jfc2hhMSwgMSwgKGNoYXIgKiopICZzYi5maW5hbF9idWYsCisJCSAgICB0ZXh0Y29udl9vYmplY3QocGF0aCwgby0+bW9kZSwgJm8tPmJsb2Jfb2lkLCAxLCAoY2hhciAqKikgJnNiLmZpbmFsX2J1ZiwKIAkJCQkgICAgJnNiLmZpbmFsX2J1Zl9zaXplKSkKIAkJCTsKIAkJZWxzZQotCQkJc2IuZmluYWxfYnVmID0gcmVhZF9zaGExX2ZpbGUoby0+YmxvYl9zaGExLCAmdHlwZSwKKwkJCXNiLmZpbmFsX2J1ZiA9IHJlYWRfc2hhMV9maWxlKG8tPmJsb2Jfb2lkLmhhc2gsICZ0eXBlLAogCQkJCQkJICAgICAgJnNiLmZpbmFsX2J1Zl9zaXplKTsKIAogCQlpZiAoIXNiLmZpbmFsX2J1ZikKLQkJCWRpZSgiQ2Fubm90IHJlYWQgYmxvYiAlcyBmb3IgcGF0aCAlcyIsCi0JCQkgICAgc2hhMV90b19oZXgoby0+YmxvYl9zaGExKSwKKwkJCWRpZShfKCJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIiksCisJCQkgICAgb2lkX3RvX2hleCgmby0+YmxvYl9vaWQpLAogCQkJICAgIHBhdGgpOwogCX0KIAludW1fcmVhZF9ibG9iKys7CiAJbG5vID0gcHJlcGFyZV9saW5lcygmc2IpOwogCiAJaWYgKGxubyAmJiAhcmFuZ2VfbGlzdC5ucikKLQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZyYW5nZV9saXN0LCB4c3RyZHVwKCIxIikpOworCQlzdHJpbmdfbGlzdF9hcHBlbmQoJnJhbmdlX2xpc3QsICIxIik7CiAKIAlhbmNob3IgPSAxOwogCXJhbmdlX3NldF9pbml0KCZyYW5nZXMsIHJhbmdlX2xpc3QubnIpOwpAQCAtMjgxMSw3ICsyODcwLDkgQEAKIAkJCQkgICAgJmJvdHRvbSwgJnRvcCwgc2IucGF0aCkpCiAJCQl1c2FnZShibGFtZV91c2FnZSk7CiAJCWlmIChsbm8gPCB0b3AgfHwgKChsbm8gfHwgYm90dG9tKSAmJiBsbm8gPCBib3R0b20pKQotCQkJZGllKCJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIsIHBhdGgsIGxubyk7CisJCQlkaWUoUV8oImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmUiLAorCQkJICAgICAgICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIsCisJCQkgICAgICAgbG5vKSwgcGF0aCwgbG5vKTsKIAkJaWYgKGJvdHRvbSA8IDEpCiAJCQlib3R0b20gPSAxOwogCQlpZiAodG9wIDwgMSkKZGlmZiAtLWdpdCBhL2J1aWx0aW4vYnJhbmNoLmMgYi9idWlsdGluL2JyYW5jaC5jCmluZGV4IDJlY2RlNTMuLjYwY2M1YzggMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vYnJhbmNoLmMKKysrIGIvYnVpbHRpbi9icmFuY2guYwpAQCAtMjEyLDcgKzIxMiw3IEBACiAJCQlkaWUoXygiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciBIRUFEIikpOwogCX0KIAlmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrLCBzdHJidWZfcmVsZWFzZSgmYm5hbWUpKSB7Ci0JCWNvbnN0IGNoYXIgKnRhcmdldDsKKwkJY2hhciAqdGFyZ2V0ID0gTlVMTDsKIAkJaW50IGZsYWdzID0gMDsKIAogCQlzdHJidWZfYnJhbmNobmFtZSgmYm5hbWUsIGFyZ3ZbaV0pOwpAQCAtMjMxLDExICsyMzEsMTEgQEAKIAkJCX0KIAkJfQogCi0JCXRhcmdldCA9IHJlc29sdmVfcmVmX3Vuc2FmZShuYW1lLAotCQkJCQkgICAgUkVTT0xWRV9SRUZfUkVBRElORwotCQkJCQkgICAgfCBSRVNPTFZFX1JFRl9OT19SRUNVUlNFCi0JCQkJCSAgICB8IFJFU09MVkVfUkVGX0FMTE9XX0JBRF9OQU1FLAotCQkJCQkgICAgc2hhMSwgJmZsYWdzKTsKKwkJdGFyZ2V0ID0gcmVzb2x2ZV9yZWZkdXAobmFtZSwKKwkJCQkJUkVTT0xWRV9SRUZfUkVBRElORworCQkJCQl8IFJFU09MVkVfUkVGX05PX1JFQ1VSU0UKKwkJCQkJfCBSRVNPTFZFX1JFRl9BTExPV19CQURfTkFNRSwKKwkJCQkJc2hhMSwgJmZsYWdzKTsKIAkJaWYgKCF0YXJnZXQpIHsKIAkJCWVycm9yKHJlbW90ZV9icmFuY2gKIAkJCSAgICAgID8gXygicmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIG5vdCBmb3VuZC4iKQpAQCAtMjQ4LDcgKzI0OCw3IEBACiAJCSAgICBjaGVja19icmFuY2hfY29tbWl0KGJuYW1lLmJ1ZiwgbmFtZSwgc2hhMSwgaGVhZF9yZXYsIGtpbmRzLAogCQkJCQlmb3JjZSkpIHsKIAkJCXJldCA9IDE7Ci0JCQljb250aW51ZTsKKwkJCWdvdG8gbmV4dDsKIAkJfQogCiAJCWlmIChkZWxldGVfcmVmKG5hbWUsIGlzX251bGxfc2hhMShzaGExKSA/IE5VTEwgOiBzaGExLApAQCAtMjU4LDcgKzI1OCw3IEBACiAJCQkgICAgICA6IF8oIkVycm9yIGRlbGV0aW5nIGJyYW5jaCAnJXMnIiksCiAJCQkgICAgICBibmFtZS5idWYpOwogCQkJcmV0ID0gMTsKLQkJCWNvbnRpbnVlOworCQkJZ290byBuZXh0OwogCQl9CiAJCWlmICghcXVpZXQpIHsKIAkJCXByaW50ZihyZW1vdGVfYnJhbmNoCkBAIC0yNzAsNiArMjcwLDkgQEAKIAkJCSAgICAgICA6IGZpbmRfdW5pcXVlX2FiYnJldihzaGExLCBERUZBVUxUX0FCQlJFVikpOwogCQl9CiAJCWRlbGV0ZV9icmFuY2hfY29uZmlnKGJuYW1lLmJ1Zik7CisKKwluZXh0OgorCQlmcmVlKHRhcmdldCk7CiAJfQogCiAJZnJlZShuYW1lKTsKQEAgLTYxNCwxNCArNjE3LDExIEBACiAJaWYgKCFidWYubGVuIHx8IGJ1Zi5idWZbYnVmLmxlbi0xXSAhPSAnXG4nKQogCQlzdHJidWZfYWRkY2goJmJ1ZiwgJ1xuJyk7CiAJc3RyYnVmX2NvbW1lbnRlZF9hZGRmKCZidWYsCi0JCSAgICAiUGxlYXNlIGVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoXG4iCi0JCSAgICAiICAlc1xuIgotCQkgICAgIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIHN0cmlwcGVkLlxuIiwKKwkJICAgIF8oIlBsZWFzZSBlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaFxuIgorCQkgICAgICAiICAlc1xuIgorCQkgICAgICAiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgc3RyaXBwZWQuXG4iKSwKIAkJICAgIGJyYW5jaF9uYW1lLCBjb21tZW50X2xpbmVfY2hhcik7Ci0JaWYgKHdyaXRlX2ZpbGVfZ2VudGx5KGdpdF9wYXRoKGVkaXRfZGVzY3JpcHRpb24pLCAiJXMiLCBidWYuYnVmKSkgewotCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKLQkJcmV0dXJuIGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCB3cml0ZSBicmFuY2ggZGVzY3JpcHRpb24gdGVtcGxhdGUiKSk7Ci0JfQorCXdyaXRlX2ZpbGVfYnVmKGdpdF9wYXRoKGVkaXRfZGVzY3JpcHRpb24pLCBidWYuYnVmLCBidWYubGVuKTsKIAlzdHJidWZfcmVzZXQoJmJ1Zik7CiAJaWYgKGxhdW5jaF9lZGl0b3IoZ2l0X3BhdGgoZWRpdF9kZXNjcmlwdGlvbiksICZidWYsIE5VTEwpKSB7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwpAQCAtNjU3LDcgKzY1Nyw3IEBACiAJCU9QVF9TRVRfSU5UKCAwLCAic2V0LXVwc3RyZWFtIiwgICZ0cmFjaywgTl8oImNoYW5nZSB1cHN0cmVhbSBpbmZvIiksCiAJCQlCUkFOQ0hfVFJBQ0tfT1ZFUlJJREUpLAogCQlPUFRfU1RSSU5HKCd1JywgInNldC11cHN0cmVhbS10byIsICZuZXdfdXBzdHJlYW0sIE5fKCJ1cHN0cmVhbSIpLCBOXygiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIikpLAotCQlPUFRfQk9PTCgwLCAidW5zZXQtdXBzdHJlYW0iLCAmdW5zZXRfdXBzdHJlYW0sICJVbnNldCB0aGUgdXBzdHJlYW0gaW5mbyIpLAorCQlPUFRfQk9PTCgwLCAidW5zZXQtdXBzdHJlYW0iLCAmdW5zZXRfdXBzdHJlYW0sIE5fKCJVbnNldCB0aGUgdXBzdHJlYW0gaW5mbyIpKSwKIAkJT1BUX19DT0xPUigmYnJhbmNoX3VzZV9jb2xvciwgTl8oInVzZSBjb2xvcmVkIG91dHB1dCIpKSwKIAkJT1BUX1NFVF9JTlQoJ3InLCAicmVtb3RlcyIsICAgICAmZmlsdGVyLmtpbmQsIE5fKCJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIiksCiAJCQlGSUxURVJfUkVGU19SRU1PVEVTKSwKQEAgLTgwNyw3ICs4MDcsNyBAQAogCQkgKiBjcmVhdGVfYnJhbmNoIHRha2VzIGNhcmUgb2Ygc2V0dGluZyB1cCB0aGUgdHJhY2tpbmcKIAkJICogaW5mbyBhbmQgbWFraW5nIHN1cmUgbmV3X3Vwc3RyZWFtIGlzIGNvcnJlY3QKIAkJICovCi0JCWNyZWF0ZV9icmFuY2goaGVhZCwgYnJhbmNoLT5uYW1lLCBuZXdfdXBzdHJlYW0sIDAsIDAsIDAsIHF1aWV0LCBCUkFOQ0hfVFJBQ0tfT1ZFUlJJREUpOworCQljcmVhdGVfYnJhbmNoKGJyYW5jaC0+bmFtZSwgbmV3X3Vwc3RyZWFtLCAwLCAwLCAwLCBxdWlldCwgQlJBTkNIX1RSQUNLX09WRVJSSURFKTsKIAl9IGVsc2UgaWYgKHVuc2V0X3Vwc3RyZWFtKSB7CiAJCXN0cnVjdCBicmFuY2ggKmJyYW5jaCA9IGJyYW5jaF9nZXQoYXJndlswXSk7CiAJCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CkBAIC04NTMsNyArODUzLDcgQEAKIAkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAKIAkJYnJhbmNoX2V4aXN0ZWQgPSByZWZfZXhpc3RzKGJyYW5jaC0+cmVmbmFtZSk7Ci0JCWNyZWF0ZV9icmFuY2goaGVhZCwgYXJndlswXSwgKGFyZ2MgPT0gMikgPyBhcmd2WzFdIDogaGVhZCwKKwkJY3JlYXRlX2JyYW5jaChhcmd2WzBdLCAoYXJnYyA9PSAyKSA/IGFyZ3ZbMV0gOiBoZWFkLAogCQkJICAgICAgZm9yY2UsIHJlZmxvZywgMCwgcXVpZXQsIHRyYWNrKTsKIAogCQkvKgpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jYXQtZmlsZS5jIGIvYnVpbHRpbi9jYXQtZmlsZS5jCmluZGV4IDYxODEwM2YuLjMwMzgzZTkgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY2F0LWZpbGUuYworKysgYi9idWlsdGluL2NhdC1maWxlLmMKQEAgLTE3LDMyICsxNyw2MyBAQAogCWludCBwcmludF9jb250ZW50czsKIAlpbnQgYnVmZmVyX291dHB1dDsKIAlpbnQgYWxsX29iamVjdHM7CisJaW50IGNtZG1vZGU7IC8qIG1heSBiZSAndycgb3IgJ2MnIGZvciAtLWZpbHRlcnMgb3IgLS10ZXh0Y29udiAqLwogCWNvbnN0IGNoYXIgKmZvcm1hdDsKIH07CiAKK3N0YXRpYyBjb25zdCBjaGFyICpmb3JjZV9wYXRoOworCitzdGF0aWMgaW50IGZpbHRlcl9vYmplY3QoY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgbW9kZSwKKwkJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkgY2hhciAqKmJ1ZiwgdW5zaWduZWQgbG9uZyAqc2l6ZSkKK3sKKwllbnVtIG9iamVjdF90eXBlIHR5cGU7CisKKwkqYnVmID0gcmVhZF9zaGExX2ZpbGUob2lkLT5oYXNoLCAmdHlwZSwgc2l6ZSk7CisJaWYgKCEqYnVmKQorCQlyZXR1cm4gZXJyb3IoXygiY2Fubm90IHJlYWQgb2JqZWN0ICVzICclcyciKSwKKwkJCSAgICAgb2lkX3RvX2hleChvaWQpLCBwYXRoKTsKKwlpZiAoKHR5cGUgPT0gT0JKX0JMT0IpICYmIFNfSVNSRUcobW9kZSkpIHsKKwkJc3RydWN0IHN0cmJ1ZiBzdHJidWYgPSBTVFJCVUZfSU5JVDsKKwkJaWYgKGNvbnZlcnRfdG9fd29ya2luZ190cmVlKHBhdGgsICpidWYsICpzaXplLCAmc3RyYnVmKSkgeworCQkJZnJlZSgqYnVmKTsKKwkJCSpzaXplID0gc3RyYnVmLmxlbjsKKwkJCSpidWYgPSBzdHJidWZfZGV0YWNoKCZzdHJidWYsIE5VTEwpOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgY2F0X29uZV9maWxlKGludCBvcHQsIGNvbnN0IGNoYXIgKmV4cF90eXBlLCBjb25zdCBjaGFyICpvYmpfbmFtZSwKIAkJCWludCB1bmtub3duX3R5cGUpCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAllbnVtIG9iamVjdF90eXBlIHR5cGU7CiAJY2hhciAqYnVmOwogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKIAlzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgb2JqX2NvbnRleHQ7Ci0Jc3RydWN0IG9iamVjdF9pbmZvIG9pID0ge05VTEx9OworCXN0cnVjdCBvYmplY3RfaW5mbyBvaSA9IE9CSkVDVF9JTkZPX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCXVuc2lnbmVkIGZsYWdzID0gTE9PS1VQX1JFUExBQ0VfT0JKRUNUOworCWNvbnN0IGNoYXIgKnBhdGggPSBmb3JjZV9wYXRoOwogCiAJaWYgKHVua25vd25fdHlwZSkKIAkJZmxhZ3MgfD0gTE9PS1VQX1VOS05PV05fT0JKRUNUOwogCi0JaWYgKGdldF9zaGExX3dpdGhfY29udGV4dChvYmpfbmFtZSwgMCwgc2hhMSwgJm9ial9jb250ZXh0KSkKKwlpZiAoZ2V0X3NoYTFfd2l0aF9jb250ZXh0KG9ial9uYW1lLCAwLCBvaWQuaGFzaCwgJm9ial9jb250ZXh0KSkKIAkJZGllKCJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIsIG9ial9uYW1lKTsKIAorCWlmICghcGF0aCkKKwkJcGF0aCA9IG9ial9jb250ZXh0LnBhdGg7CisJaWYgKG9ial9jb250ZXh0Lm1vZGUgPT0gU19JRklOVkFMSUQpCisJCW9ial9jb250ZXh0Lm1vZGUgPSAwMTAwNjQ0OworCiAJYnVmID0gTlVMTDsKIAlzd2l0Y2ggKG9wdCkgewogCWNhc2UgJ3QnOgogCQlvaS50eXBlbmFtZSA9ICZzYjsKLQkJaWYgKHNoYTFfb2JqZWN0X2luZm9fZXh0ZW5kZWQoc2hhMSwgJm9pLCBmbGFncykgPCAwKQorCQlpZiAoc2hhMV9vYmplY3RfaW5mb19leHRlbmRlZChvaWQuaGFzaCwgJm9pLCBmbGFncykgPCAwKQogCQkJZGllKCJnaXQgY2F0LWZpbGU6IGNvdWxkIG5vdCBnZXQgb2JqZWN0IGluZm8iKTsKIAkJaWYgKHNiLmxlbikgewogCQkJcHJpbnRmKCIlc1xuIiwgc2IuYnVmKTsKQEAgLTUzLDI0ICs4NCwzNCBAQAogCiAJY2FzZSAncyc6CiAJCW9pLnNpemVwID0gJnNpemU7Ci0JCWlmIChzaGExX29iamVjdF9pbmZvX2V4dGVuZGVkKHNoYTEsICZvaSwgZmxhZ3MpIDwgMCkKKwkJaWYgKHNoYTFfb2JqZWN0X2luZm9fZXh0ZW5kZWQob2lkLmhhc2gsICZvaSwgZmxhZ3MpIDwgMCkKIAkJCWRpZSgiZ2l0IGNhdC1maWxlOiBjb3VsZCBub3QgZ2V0IG9iamVjdCBpbmZvIik7CiAJCXByaW50ZigiJWx1XG4iLCBzaXplKTsKIAkJcmV0dXJuIDA7CiAKIAljYXNlICdlJzoKLQkJcmV0dXJuICFoYXNfc2hhMV9maWxlKHNoYTEpOworCQlyZXR1cm4gIWhhc19vYmplY3RfZmlsZSgmb2lkKTsKKworCWNhc2UgJ3cnOgorCQlpZiAoIXBhdGhbMF0pCisJCQlkaWUoImdpdCBjYXQtZmlsZSAtLWZpbHRlcnMgJXM6IDxvYmplY3Q+IG11c3QgYmUgIgorCQkJICAgICI8c2hhMTpwYXRoPiIsIG9ial9uYW1lKTsKKworCQlpZiAoZmlsdGVyX29iamVjdChwYXRoLCBvYmpfY29udGV4dC5tb2RlLAorCQkJCSAgJm9pZCwgJmJ1ZiwgJnNpemUpKQorCQkJcmV0dXJuIC0xOworCQlicmVhazsKIAogCWNhc2UgJ2MnOgotCQlpZiAoIW9ial9jb250ZXh0LnBhdGhbMF0pCisJCWlmICghcGF0aFswXSkKIAkJCWRpZSgiZ2l0IGNhdC1maWxlIC0tdGV4dGNvbnYgJXM6IDxvYmplY3Q+IG11c3QgYmUgPHNoYTE6cGF0aD4iLAogCQkJICAgIG9ial9uYW1lKTsKIAotCQlpZiAodGV4dGNvbnZfb2JqZWN0KG9ial9jb250ZXh0LnBhdGgsIG9ial9jb250ZXh0Lm1vZGUsIHNoYTEsIDEsICZidWYsICZzaXplKSkKKwkJaWYgKHRleHRjb252X29iamVjdChwYXRoLCBvYmpfY29udGV4dC5tb2RlLCAmb2lkLCAxLCAmYnVmLCAmc2l6ZSkpCiAJCQlicmVhazsKIAogCWNhc2UgJ3AnOgotCQl0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhzaGExLCBOVUxMKTsKKwkJdHlwZSA9IHNoYTFfb2JqZWN0X2luZm8ob2lkLmhhc2gsIE5VTEwpOwogCQlpZiAodHlwZSA8IDApCiAJCQlkaWUoIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIiwgb2JqX25hbWUpOwogCkBAIC04Myw4ICsxMjQsOCBAQAogCQl9CiAKIAkJaWYgKHR5cGUgPT0gT0JKX0JMT0IpCi0JCQlyZXR1cm4gc3RyZWFtX2Jsb2JfdG9fZmQoMSwgc2hhMSwgTlVMTCwgMCk7Ci0JCWJ1ZiA9IHJlYWRfc2hhMV9maWxlKHNoYTEsICZ0eXBlLCAmc2l6ZSk7CisJCQlyZXR1cm4gc3RyZWFtX2Jsb2JfdG9fZmQoMSwgJm9pZCwgTlVMTCwgMCk7CisJCWJ1ZiA9IHJlYWRfc2hhMV9maWxlKG9pZC5oYXNoLCAmdHlwZSwgJnNpemUpOwogCQlpZiAoIWJ1ZikKIAkJCWRpZSgiQ2Fubm90IHJlYWQgb2JqZWN0ICVzIiwgb2JqX25hbWUpOwogCkBAIC05MywxOSArMTM0LDE5IEBACiAKIAljYXNlIDA6CiAJCWlmICh0eXBlX2Zyb21fc3RyaW5nKGV4cF90eXBlKSA9PSBPQkpfQkxPQikgewotCQkJdW5zaWduZWQgY2hhciBibG9iX3NoYTFbMjBdOwotCQkJaWYgKHNoYTFfb2JqZWN0X2luZm8oc2hhMSwgTlVMTCkgPT0gT0JKX1RBRykgewotCQkJCWNoYXIgKmJ1ZmZlciA9IHJlYWRfc2hhMV9maWxlKHNoYTEsICZ0eXBlLCAmc2l6ZSk7CisJCQlzdHJ1Y3Qgb2JqZWN0X2lkIGJsb2Jfb2lkOworCQkJaWYgKHNoYTFfb2JqZWN0X2luZm8ob2lkLmhhc2gsIE5VTEwpID09IE9CSl9UQUcpIHsKKwkJCQljaGFyICpidWZmZXIgPSByZWFkX3NoYTFfZmlsZShvaWQuaGFzaCwgJnR5cGUsICZzaXplKTsKIAkJCQljb25zdCBjaGFyICp0YXJnZXQ7CiAJCQkJaWYgKCFza2lwX3ByZWZpeChidWZmZXIsICJvYmplY3QgIiwgJnRhcmdldCkgfHwKLQkJCQkgICAgZ2V0X3NoYTFfaGV4KHRhcmdldCwgYmxvYl9zaGExKSkKLQkJCQkJZGllKCIlcyBub3QgYSB2YWxpZCB0YWciLCBzaGExX3RvX2hleChzaGExKSk7CisJCQkJICAgIGdldF9vaWRfaGV4KHRhcmdldCwgJmJsb2Jfb2lkKSkKKwkJCQkJZGllKCIlcyBub3QgYSB2YWxpZCB0YWciLCBvaWRfdG9faGV4KCZvaWQpKTsKIAkJCQlmcmVlKGJ1ZmZlcik7CiAJCQl9IGVsc2UKLQkJCQloYXNoY3B5KGJsb2Jfc2hhMSwgc2hhMSk7CisJCQkJb2lkY3B5KCZibG9iX29pZCwgJm9pZCk7CiAKLQkJCWlmIChzaGExX29iamVjdF9pbmZvKGJsb2Jfc2hhMSwgTlVMTCkgPT0gT0JKX0JMT0IpCi0JCQkJcmV0dXJuIHN0cmVhbV9ibG9iX3RvX2ZkKDEsIGJsb2Jfc2hhMSwgTlVMTCwgMCk7CisJCQlpZiAoc2hhMV9vYmplY3RfaW5mbyhibG9iX29pZC5oYXNoLCBOVUxMKSA9PSBPQkpfQkxPQikKKwkJCQlyZXR1cm4gc3RyZWFtX2Jsb2JfdG9fZmQoMSwgJmJsb2Jfb2lkLCBOVUxMLCAwKTsKIAkJCS8qCiAJCQkgKiB3ZSBhdHRlbXB0ZWQgdG8gZGVyZWZlcmVuY2UgYSB0YWcgdG8gYSBibG9iCiAJCQkgKiBhbmQgZmFpbGVkOyB0aGVyZSBtYXkgYmUgbmV3IGRlcmVmZXJlbmNlCkBAIC0xMTMsNyArMTU0LDcgQEAKIAkJCSAqIGZhbGwtYmFjayB0byB0aGUgdXN1YWwgY2FzZS4KIAkJCSAqLwogCQl9Ci0JCWJ1ZiA9IHJlYWRfb2JqZWN0X3dpdGhfcmVmZXJlbmNlKHNoYTEsIGV4cF90eXBlLCAmc2l6ZSwgTlVMTCk7CisJCWJ1ZiA9IHJlYWRfb2JqZWN0X3dpdGhfcmVmZXJlbmNlKG9pZC5oYXNoLCBleHBfdHlwZSwgJnNpemUsIE5VTEwpOwogCQlicmVhazsKIAogCWRlZmF1bHQ6CkBAIC0xMjgsMTIgKzE2OSwxMiBAQAogfQogCiBzdHJ1Y3QgZXhwYW5kX2RhdGEgewotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKLQl1bnNpZ25lZCBsb25nIGRpc2tfc2l6ZTsKKwlvZmZfdCBkaXNrX3NpemU7CiAJY29uc3QgY2hhciAqcmVzdDsKLQl1bnNpZ25lZCBjaGFyIGRlbHRhX2Jhc2Vfc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBkZWx0YV9iYXNlX29pZDsKIAogCS8qCiAJICogSWYgbWFya19xdWVyeSBpcyB0cnVlLCB3ZSBkbyBub3QgZXhwYW5kIGFueXRoaW5nLCBidXQgcmF0aGVyCkBAIC0xNzYsNyArMjE3LDcgQEAKIAogCWlmIChpc19hdG9tKCJvYmplY3RuYW1lIiwgYXRvbSwgbGVuKSkgewogCQlpZiAoIWRhdGEtPm1hcmtfcXVlcnkpCi0JCQlzdHJidWZfYWRkc3RyKHNiLCBzaGExX3RvX2hleChkYXRhLT5zaGExKSk7CisJCQlzdHJidWZfYWRkc3RyKHNiLCBvaWRfdG9faGV4KCZkYXRhLT5vaWQpKTsKIAl9IGVsc2UgaWYgKGlzX2F0b20oIm9iamVjdHR5cGUiLCBhdG9tLCBsZW4pKSB7CiAJCWlmIChkYXRhLT5tYXJrX3F1ZXJ5KQogCQkJZGF0YS0+aW5mby50eXBlcCA9ICZkYXRhLT50eXBlOwpAQCAtMTkxLDcgKzIzMiw3IEBACiAJCWlmIChkYXRhLT5tYXJrX3F1ZXJ5KQogCQkJZGF0YS0+aW5mby5kaXNrX3NpemVwID0gJmRhdGEtPmRpc2tfc2l6ZTsKIAkJZWxzZQotCQkJc3RyYnVmX2FkZGYoc2IsICIlbHUiLCBkYXRhLT5kaXNrX3NpemUpOworCQkJc3RyYnVmX2FkZGYoc2IsICIlIlBSSXVNQVgsICh1aW50bWF4X3QpZGF0YS0+ZGlza19zaXplKTsKIAl9IGVsc2UgaWYgKGlzX2F0b20oInJlc3QiLCBhdG9tLCBsZW4pKSB7CiAJCWlmIChkYXRhLT5tYXJrX3F1ZXJ5KQogCQkJZGF0YS0+c3BsaXRfb25fd2hpdGVzcGFjZSA9IDE7CkBAIC0xOTksOSArMjQwLDEwIEBACiAJCQlzdHJidWZfYWRkc3RyKHNiLCBkYXRhLT5yZXN0KTsKIAl9IGVsc2UgaWYgKGlzX2F0b20oImRlbHRhYmFzZSIsIGF0b20sIGxlbikpIHsKIAkJaWYgKGRhdGEtPm1hcmtfcXVlcnkpCi0JCQlkYXRhLT5pbmZvLmRlbHRhX2Jhc2Vfc2hhMSA9IGRhdGEtPmRlbHRhX2Jhc2Vfc2hhMTsKKwkJCWRhdGEtPmluZm8uZGVsdGFfYmFzZV9zaGExID0gZGF0YS0+ZGVsdGFfYmFzZV9vaWQuaGFzaDsKIAkJZWxzZQotCQkJc3RyYnVmX2FkZHN0cihzYiwgc2hhMV90b19oZXgoZGF0YS0+ZGVsdGFfYmFzZV9zaGExKSk7CisJCQlzdHJidWZfYWRkc3RyKHNiLAorCQkJCSAgICAgIG9pZF90b19oZXgoJmRhdGEtPmRlbHRhX2Jhc2Vfb2lkKSk7CiAJfSBlbHNlCiAJCWRpZSgidW5rbm93biBmb3JtYXQgZWxlbWVudDogJS4qcyIsIGxlbiwgYXRvbSk7CiB9CkBAIC0yMzIsMjggKzI3NCw1MyBAQAogCiBzdGF0aWMgdm9pZCBwcmludF9vYmplY3Rfb3JfZGllKHN0cnVjdCBiYXRjaF9vcHRpb25zICpvcHQsIHN0cnVjdCBleHBhbmRfZGF0YSAqZGF0YSkKIHsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpzaGExID0gZGF0YS0+c2hhMTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQgPSAmZGF0YS0+b2lkOwogCiAJYXNzZXJ0KGRhdGEtPmluZm8udHlwZXApOwogCiAJaWYgKGRhdGEtPnR5cGUgPT0gT0JKX0JMT0IpIHsKIAkJaWYgKG9wdC0+YnVmZmVyX291dHB1dCkKIAkJCWZmbHVzaChzdGRvdXQpOwotCQlpZiAoc3RyZWFtX2Jsb2JfdG9fZmQoMSwgc2hhMSwgTlVMTCwgMCkgPCAwKQotCQkJZGllKCJ1bmFibGUgdG8gc3RyZWFtICVzIHRvIHN0ZG91dCIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJaWYgKG9wdC0+Y21kbW9kZSkgeworCQkJY2hhciAqY29udGVudHM7CisJCQl1bnNpZ25lZCBsb25nIHNpemU7CisKKwkJCWlmICghZGF0YS0+cmVzdCkKKwkJCQlkaWUoIm1pc3NpbmcgcGF0aCBmb3IgJyVzJyIsIG9pZF90b19oZXgob2lkKSk7CisKKwkJCWlmIChvcHQtPmNtZG1vZGUgPT0gJ3cnKSB7CisJCQkJaWYgKGZpbHRlcl9vYmplY3QoZGF0YS0+cmVzdCwgMDEwMDY0NCwgb2lkLAorCQkJCQkJICAmY29udGVudHMsICZzaXplKSkKKwkJCQkJZGllKCJjb3VsZCBub3QgY29udmVydCAnJXMnICVzIiwKKwkJCQkJICAgIG9pZF90b19oZXgob2lkKSwgZGF0YS0+cmVzdCk7CisJCQl9IGVsc2UgaWYgKG9wdC0+Y21kbW9kZSA9PSAnYycpIHsKKwkJCQllbnVtIG9iamVjdF90eXBlIHR5cGU7CisJCQkJaWYgKCF0ZXh0Y29udl9vYmplY3QoZGF0YS0+cmVzdCwgMDEwMDY0NCwgb2lkLAorCQkJCQkJICAgICAxLCAmY29udGVudHMsICZzaXplKSkKKwkJCQkJY29udGVudHMgPSByZWFkX3NoYTFfZmlsZShvaWQtPmhhc2gsICZ0eXBlLAorCQkJCQkJCQkgICZzaXplKTsKKwkJCQlpZiAoIWNvbnRlbnRzKQorCQkJCQlkaWUoImNvdWxkIG5vdCBjb252ZXJ0ICclcycgJXMiLAorCQkJCQkgICAgb2lkX3RvX2hleChvaWQpLCBkYXRhLT5yZXN0KTsKKwkJCX0gZWxzZQorCQkJCWRpZSgiQlVHOiBpbnZhbGlkIGNtZG1vZGU6ICVjIiwgb3B0LT5jbWRtb2RlKTsKKwkJCWJhdGNoX3dyaXRlKG9wdCwgY29udGVudHMsIHNpemUpOworCQkJZnJlZShjb250ZW50cyk7CisJCX0gZWxzZSBpZiAoc3RyZWFtX2Jsb2JfdG9fZmQoMSwgb2lkLCBOVUxMLCAwKSA8IDApCisJCQlkaWUoInVuYWJsZSB0byBzdHJlYW0gJXMgdG8gc3Rkb3V0Iiwgb2lkX3RvX2hleChvaWQpKTsKIAl9CiAJZWxzZSB7CiAJCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKIAkJdW5zaWduZWQgbG9uZyBzaXplOwogCQl2b2lkICpjb250ZW50czsKIAotCQljb250ZW50cyA9IHJlYWRfc2hhMV9maWxlKHNoYTEsICZ0eXBlLCAmc2l6ZSk7CisJCWNvbnRlbnRzID0gcmVhZF9zaGExX2ZpbGUob2lkLT5oYXNoLCAmdHlwZSwgJnNpemUpOwogCQlpZiAoIWNvbnRlbnRzKQotCQkJZGllKCJvYmplY3QgJXMgZGlzYXBwZWFyZWQiLCBzaGExX3RvX2hleChzaGExKSk7CisJCQlkaWUoIm9iamVjdCAlcyBkaXNhcHBlYXJlZCIsIG9pZF90b19oZXgob2lkKSk7CiAJCWlmICh0eXBlICE9IGRhdGEtPnR5cGUpCi0JCQlkaWUoIm9iamVjdCAlcyBjaGFuZ2VkIHR5cGUhPyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJCWRpZSgib2JqZWN0ICVzIGNoYW5nZWQgdHlwZSE/Iiwgb2lkX3RvX2hleChvaWQpKTsKIAkJaWYgKGRhdGEtPmluZm8uc2l6ZXAgJiYgc2l6ZSAhPSBkYXRhLT5zaXplKQotCQkJZGllKCJvYmplY3QgJXMgY2hhbmdlZCBzaXplIT8iLCBzaGExX3RvX2hleChzaGExKSk7CisJCQlkaWUoIm9iamVjdCAlcyBjaGFuZ2VkIHNpemUhPyIsIG9pZF90b19oZXgob2lkKSk7CiAKIAkJYmF0Y2hfd3JpdGUob3B0LCBjb250ZW50cywgc2l6ZSk7CiAJCWZyZWUoY29udGVudHMpOwpAQCAtMjY2LDggKzMzMyw5IEBACiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAogCWlmICghZGF0YS0+c2tpcF9vYmplY3RfaW5mbyAmJgotCSAgICBzaGExX29iamVjdF9pbmZvX2V4dGVuZGVkKGRhdGEtPnNoYTEsICZkYXRhLT5pbmZvLCBMT09LVVBfUkVQTEFDRV9PQkpFQ1QpIDwgMCkgewotCQlwcmludGYoIiVzIG1pc3NpbmdcbiIsIG9ial9uYW1lID8gb2JqX25hbWUgOiBzaGExX3RvX2hleChkYXRhLT5zaGExKSk7CisJICAgIHNoYTFfb2JqZWN0X2luZm9fZXh0ZW5kZWQoZGF0YS0+b2lkLmhhc2gsICZkYXRhLT5pbmZvLCBMT09LVVBfUkVQTEFDRV9PQkpFQ1QpIDwgMCkgeworCQlwcmludGYoIiVzIG1pc3NpbmdcbiIsCisJCSAgICAgICBvYmpfbmFtZSA/IG9ial9uYW1lIDogb2lkX3RvX2hleCgmZGF0YS0+b2lkKSk7CiAJCWZmbHVzaChzdGRvdXQpOwogCQlyZXR1cm47CiAJfQpAQCAtMjkwLDcgKzM1OCw3IEBACiAJaW50IGZsYWdzID0gb3B0LT5mb2xsb3dfc3ltbGlua3MgPyBHRVRfU0hBMV9GT0xMT1dfU1lNTElOS1MgOiAwOwogCWVudW0gZm9sbG93X3N5bWxpbmtzX3Jlc3VsdCByZXN1bHQ7CiAKLQlyZXN1bHQgPSBnZXRfc2hhMV93aXRoX2NvbnRleHQob2JqX25hbWUsIGZsYWdzLCBkYXRhLT5zaGExLCAmY3R4KTsKKwlyZXN1bHQgPSBnZXRfc2hhMV93aXRoX2NvbnRleHQob2JqX25hbWUsIGZsYWdzLCBkYXRhLT5vaWQuaGFzaCwgJmN0eCk7CiAJaWYgKHJlc3VsdCAhPSBGT1VORCkgewogCQlzd2l0Y2ggKHJlc3VsdCkgewogCQljYXNlIE1JU1NJTkdfT0JKRUNUOgpAQCAtMzMzLDExICs0MDEsMTIgQEAKIAlzdHJ1Y3QgZXhwYW5kX2RhdGEgKmV4cGFuZDsKIH07CiAKLXN0YXRpYyB2b2lkIGJhdGNoX29iamVjdF9jYihjb25zdCB1bnNpZ25lZCBjaGFyIHNoYTFbMjBdLCB2b2lkICp2ZGF0YSkKK3N0YXRpYyBpbnQgYmF0Y2hfb2JqZWN0X2NiKGNvbnN0IHVuc2lnbmVkIGNoYXIgc2hhMVsyMF0sIHZvaWQgKnZkYXRhKQogewogCXN0cnVjdCBvYmplY3RfY2JfZGF0YSAqZGF0YSA9IHZkYXRhOwotCWhhc2hjcHkoZGF0YS0+ZXhwYW5kLT5zaGExLCBzaGExKTsKKwloYXNoY3B5KGRhdGEtPmV4cGFuZC0+b2lkLmhhc2gsIHNoYTEpOwogCWJhdGNoX29iamVjdF93cml0ZShOVUxMLCBkYXRhLT5vcHQsIGRhdGEtPmV4cGFuZCk7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgYmF0Y2hfbG9vc2Vfb2JqZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCkBAIC0zNzYsMTAgKzQ0NSwxMSBAQAogCWRhdGEubWFya19xdWVyeSA9IDE7CiAJc3RyYnVmX2V4cGFuZCgmYnVmLCBvcHQtPmZvcm1hdCwgZXhwYW5kX2Zvcm1hdCwgJmRhdGEpOwogCWRhdGEubWFya19xdWVyeSA9IDA7CisJaWYgKG9wdC0+Y21kbW9kZSkKKwkJZGF0YS5zcGxpdF9vbl93aGl0ZXNwYWNlID0gMTsKIAogCWlmIChvcHQtPmFsbF9vYmplY3RzKSB7Ci0JCXN0cnVjdCBvYmplY3RfaW5mbyBlbXB0eTsKLQkJbWVtc2V0KCZlbXB0eSwgMCwgc2l6ZW9mKGVtcHR5KSk7CisJCXN0cnVjdCBvYmplY3RfaW5mbyBlbXB0eSA9IE9CSkVDVF9JTkZPX0lOSVQ7CiAJCWlmICghbWVtY21wKCZkYXRhLmluZm8sICZlbXB0eSwgc2l6ZW9mKGVtcHR5KSkpCiAJCQlkYXRhLnNraXBfb2JqZWN0X2luZm8gPSAxOwogCX0KQEAgLTQ0MCw4ICs1MTAsOCBAQAogfQogCiBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGNhdF9maWxlX3VzYWdlW10gPSB7Ci0JTl8oImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXXwtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdfC1lfC1wfDx0eXBlPnwtLXRleHRjb252KSA8b2JqZWN0PiIpLAotCU5fKCJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIiksCisJTl8oImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC1wIHwgPHR5cGU+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD08cGF0aD5dIDxvYmplY3Q+IiksCisJTl8oImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLWZpbHRlcnNdIiksCiAJTlVMTAogfTsKIApAQCAtNDg2LDYgKzU1NiwxMCBAQAogCQlPUFRfQ01ETU9ERSgncCcsIE5VTEwsICZvcHQsIE5fKCJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIpLCAncCcpLAogCQlPUFRfQ01ETU9ERSgwLCAidGV4dGNvbnYiLCAmb3B0LAogCQkJICAgIE5fKCJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIpLCAnYycpLAorCQlPUFRfQ01ETU9ERSgwLCAiZmlsdGVycyIsICZvcHQsCisJCQkgICAgTl8oImZvciBibG9iIG9iamVjdHMsIHJ1biBmaWx0ZXJzIG9uIG9iamVjdCdzIGNvbnRlbnQiKSwgJ3cnKSwKKwkJT1BUX1NUUklORygwLCAicGF0aCIsICZmb3JjZV9wYXRoLCBOXygiYmxvYiIpLAorCQkJICAgTl8oInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIikpLAogCQlPUFRfQk9PTCgwLCAiYWxsb3ctdW5rbm93bi10eXBlIiwgJnVua25vd25fdHlwZSwKIAkJCSAgTl8oImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIpKSwKIAkJT1BUX0JPT0woMCwgImJ1ZmZlciIsICZiYXRjaC5idWZmZXJfb3V0cHV0LCBOXygiYnVmZmVyIC0tYmF0Y2ggb3V0cHV0IikpLApAQCAtNTA4LDcgKzU4Miw5IEBACiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBvcHRpb25zLCBjYXRfZmlsZV91c2FnZSwgMCk7CiAKIAlpZiAob3B0KSB7Ci0JCWlmIChhcmdjID09IDEpCisJCWlmIChiYXRjaC5lbmFibGVkICYmIChvcHQgPT0gJ2MnIHx8IG9wdCA9PSAndycpKQorCQkJYmF0Y2guY21kbW9kZSA9IG9wdDsKKwkJZWxzZSBpZiAoYXJnYyA9PSAxKQogCQkJb2JqX25hbWUgPSBhcmd2WzBdOwogCQllbHNlCiAJCQl1c2FnZV93aXRoX29wdGlvbnMoY2F0X2ZpbGVfdXNhZ2UsIG9wdGlvbnMpOwpAQCAtNTIwLDE0ICs1OTYsMjggQEAKIAkJfSBlbHNlCiAJCQl1c2FnZV93aXRoX29wdGlvbnMoY2F0X2ZpbGVfdXNhZ2UsIG9wdGlvbnMpOwogCX0KLQlpZiAoYmF0Y2guZW5hYmxlZCAmJiAob3B0IHx8IGFyZ2MpKSB7Ci0JCXVzYWdlX3dpdGhfb3B0aW9ucyhjYXRfZmlsZV91c2FnZSwgb3B0aW9ucyk7CisJaWYgKGJhdGNoLmVuYWJsZWQpIHsKKwkJaWYgKGJhdGNoLmNtZG1vZGUgIT0gb3B0IHx8IGFyZ2MpCisJCQl1c2FnZV93aXRoX29wdGlvbnMoY2F0X2ZpbGVfdXNhZ2UsIG9wdGlvbnMpOworCQlpZiAoYmF0Y2guY21kbW9kZSAmJiBiYXRjaC5hbGxfb2JqZWN0cykKKwkJCWRpZSgiLS1iYXRjaC1hbGwtb2JqZWN0cyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAiCisJCQkgICAgIi0tdGV4dGNvbnYgbm9yIHdpdGggLS1maWx0ZXJzIik7CiAJfQogCiAJaWYgKChiYXRjaC5mb2xsb3dfc3ltbGlua3MgfHwgYmF0Y2guYWxsX29iamVjdHMpICYmICFiYXRjaC5lbmFibGVkKSB7CiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhjYXRfZmlsZV91c2FnZSwgb3B0aW9ucyk7CiAJfQogCisJaWYgKGZvcmNlX3BhdGggJiYgb3B0ICE9ICdjJyAmJiBvcHQgIT0gJ3cnKSB7CisJCWVycm9yKCItLXBhdGg9PHBhdGg+IG5lZWRzIC0tdGV4dGNvbnYgb3IgLS1maWx0ZXJzIik7CisJCXVzYWdlX3dpdGhfb3B0aW9ucyhjYXRfZmlsZV91c2FnZSwgb3B0aW9ucyk7CisJfQorCisJaWYgKGZvcmNlX3BhdGggJiYgYmF0Y2guZW5hYmxlZCkgeworCQllcnJvcigiLS1wYXRoPTxwYXRoPiBpbmNvbXBhdGlibGUgd2l0aCAtLWJhdGNoIik7CisJCXVzYWdlX3dpdGhfb3B0aW9ucyhjYXRfZmlsZV91c2FnZSwgb3B0aW9ucyk7CisJfQorCiAJaWYgKGJhdGNoLmJ1ZmZlcl9vdXRwdXQgPCAwKQogCQliYXRjaC5idWZmZXJfb3V0cHV0ID0gYmF0Y2guYWxsX29iamVjdHM7CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vY2hlY2tvdXQtaW5kZXguYyBiL2J1aWx0aW4vY2hlY2tvdXQtaW5kZXguYwppbmRleCA5MmM2OTY3Li4zMGE0OWQ5IDEwMDY0NAotLS0gYS9idWlsdGluL2NoZWNrb3V0LWluZGV4LmMKKysrIGIvYnVpbHRpbi9jaGVja291dC1pbmRleC5jCkBAIC0xNiw3ICsxNiw3IEBACiBzdGF0aWMgaW50IHRvX3RlbXBmaWxlOwogc3RhdGljIGNoYXIgdG9wYXRoWzRdW1RFTVBPUkFSWV9GSUxFTkFNRV9MRU5HVEggKyAxXTsKIAotc3RhdGljIHN0cnVjdCBjaGVja291dCBzdGF0ZTsKK3N0YXRpYyBzdHJ1Y3QgY2hlY2tvdXQgc3RhdGUgPSBDSEVDS09VVF9JTklUOwogCiBzdGF0aWMgdm9pZCB3cml0ZV90ZW1wZmlsZV9yZWNvcmQoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqcHJlZml4KQogewpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jaGVja291dC5jIGIvYnVpbHRpbi9jaGVja291dC5jCmluZGV4IDMzOThjNjEuLjUxMjQ5MmEgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY2hlY2tvdXQuYworKysgYi9idWlsdGluL2NoZWNrb3V0LmMKQEAgLTc2LDcgKzc2LDcgQEAKIAogCWxlbiA9IGJhc2UtPmxlbiArIHN0cmxlbihwYXRobmFtZSk7CiAJY2UgPSB4Y2FsbG9jKDEsIGNhY2hlX2VudHJ5X3NpemUobGVuKSk7Ci0JaGFzaGNweShjZS0+c2hhMSwgc2hhMSk7CisJaGFzaGNweShjZS0+b2lkLmhhc2gsIHNoYTEpOwogCW1lbWNweShjZS0+bmFtZSwgYmFzZS0+YnVmLCBiYXNlLT5sZW4pOwogCW1lbWNweShjZS0+bmFtZSArIGJhc2UtPmxlbiwgcGF0aG5hbWUsIGxlbiAtIGJhc2UtPmxlbik7CiAJY2UtPmNlX2ZsYWdzID0gY3JlYXRlX2NlX2ZsYWdzKDApIHwgQ0VfVVBEQVRFOwpAQCAtOTIsNyArOTIsNyBAQAogCWlmIChwb3MgPj0gMCkgewogCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKm9sZCA9IGFjdGl2ZV9jYWNoZVtwb3NdOwogCQlpZiAoY2UtPmNlX21vZGUgPT0gb2xkLT5jZV9tb2RlICYmCi0JCSAgICAhaGFzaGNtcChjZS0+c2hhMSwgb2xkLT5zaGExKSkgeworCQkgICAgIW9pZGNtcCgmY2UtPm9pZCwgJm9sZC0+b2lkKSkgewogCQkJb2xkLT5jZV9mbGFncyB8PSBDRV9VUERBVEU7CiAJCQlmcmVlKGNlKTsKIAkJCXJldHVybiAwOwpAQCAtMTU0LDggKzE1NCw4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgY2hlY2tvdXRfc3RhZ2UoaW50IHN0YWdlLCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLCBpbnQgcG9zLAotCQkJICBzdHJ1Y3QgY2hlY2tvdXQgKnN0YXRlKQorc3RhdGljIGludCBjaGVja291dF9zdGFnZShpbnQgc3RhZ2UsIGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsIGludCBwb3MsCisJCQkgIGNvbnN0IHN0cnVjdCBjaGVja291dCAqc3RhdGUpCiB7CiAJd2hpbGUgKHBvcyA8IGFjdGl2ZV9uciAmJgogCSAgICAgICAhc3RyY21wKGFjdGl2ZV9jYWNoZVtwb3NdLT5uYW1lLCBjZS0+bmFtZSkpIHsKQEAgLTE2OSwxNSArMTY5LDE1IEBACiAJCXJldHVybiBlcnJvcihfKCJwYXRoICclcycgZG9lcyBub3QgaGF2ZSB0aGVpciB2ZXJzaW9uIiksIGNlLT5uYW1lKTsKIH0KIAotc3RhdGljIGludCBjaGVja291dF9tZXJnZWQoaW50IHBvcywgc3RydWN0IGNoZWNrb3V0ICpzdGF0ZSkKK3N0YXRpYyBpbnQgY2hlY2tvdXRfbWVyZ2VkKGludCBwb3MsIGNvbnN0IHN0cnVjdCBjaGVja291dCAqc3RhdGUpCiB7CiAJc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGFjdGl2ZV9jYWNoZVtwb3NdOwogCWNvbnN0IGNoYXIgKnBhdGggPSBjZS0+bmFtZTsKIAltbWZpbGVfdCBhbmNlc3Rvciwgb3VycywgdGhlaXJzOwogCWludCBzdGF0dXM7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAltbWJ1ZmZlcl90IHJlc3VsdF9idWY7Ci0JdW5zaWduZWQgY2hhciB0aHJlZXdheVszXVsyMF07CisJc3RydWN0IG9iamVjdF9pZCB0aHJlZXdheVszXTsKIAl1bnNpZ25lZCBtb2RlID0gMDsKIAogCW1lbXNldCh0aHJlZXdheSwgMCwgc2l6ZW9mKHRocmVld2F5KSk7CkBAIC0xODYsMTggKzE4NiwxOCBAQAogCQlzdGFnZSA9IGNlX3N0YWdlKGNlKTsKIAkJaWYgKCFzdGFnZSB8fCBzdHJjbXAocGF0aCwgY2UtPm5hbWUpKQogCQkJYnJlYWs7Ci0JCWhhc2hjcHkodGhyZWV3YXlbc3RhZ2UgLSAxXSwgY2UtPnNoYTEpOworCQlvaWRjcHkoJnRocmVld2F5W3N0YWdlIC0gMV0sICZjZS0+b2lkKTsKIAkJaWYgKHN0YWdlID09IDIpCiAJCQltb2RlID0gY3JlYXRlX2NlX21vZGUoY2UtPmNlX21vZGUpOwogCQlwb3MrKzsKIAkJY2UgPSBhY3RpdmVfY2FjaGVbcG9zXTsKIAl9Ci0JaWYgKGlzX251bGxfc2hhMSh0aHJlZXdheVsxXSkgfHwgaXNfbnVsbF9zaGExKHRocmVld2F5WzJdKSkKKwlpZiAoaXNfbnVsbF9vaWQoJnRocmVld2F5WzFdKSB8fCBpc19udWxsX29pZCgmdGhyZWV3YXlbMl0pKQogCQlyZXR1cm4gZXJyb3IoXygicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIiksIHBhdGgpOwogCi0JcmVhZF9tbWJsb2IoJmFuY2VzdG9yLCB0aHJlZXdheVswXSk7Ci0JcmVhZF9tbWJsb2IoJm91cnMsIHRocmVld2F5WzFdKTsKLQlyZWFkX21tYmxvYigmdGhlaXJzLCB0aHJlZXdheVsyXSk7CisJcmVhZF9tbWJsb2IoJmFuY2VzdG9yLCAmdGhyZWV3YXlbMF0pOworCXJlYWRfbW1ibG9iKCZvdXJzLCAmdGhyZWV3YXlbMV0pOworCXJlYWRfbW1ibG9iKCZ0aGVpcnMsICZ0aHJlZXdheVsyXSk7CiAKIAkvKgogCSAqIE5FRURTV09SSzogcmUtY3JlYXRlIGNvbmZsaWN0cyBmcm9tIG1lcmdlcyB3aXRoCkBAIC0yMjYsOSArMjI2LDkgQEAKIAkgKiBvYmplY3QgZGF0YWJhc2UgZXZlbiB3aGVuIGl0IG1heSBjb250YWluIGNvbmZsaWN0cykuCiAJICovCiAJaWYgKHdyaXRlX3NoYTFfZmlsZShyZXN1bHRfYnVmLnB0ciwgcmVzdWx0X2J1Zi5zaXplLAotCQkJICAgIGJsb2JfdHlwZSwgc2hhMSkpCisJCQkgICAgYmxvYl90eXBlLCBvaWQuaGFzaCkpCiAJCWRpZShfKCJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIpLCBwYXRoKTsKLQljZSA9IG1ha2VfY2FjaGVfZW50cnkobW9kZSwgc2hhMSwgcGF0aCwgMiwgMCk7CisJY2UgPSBtYWtlX2NhY2hlX2VudHJ5KG1vZGUsIG9pZC5oYXNoLCBwYXRoLCAyLCAwKTsKIAlpZiAoIWNlKQogCQlkaWUoXygibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIpLCBwYXRoKTsKIAlzdGF0dXMgPSBjaGVja291dF9lbnRyeShjZSwgc3RhdGUsIE5VTEwpOwpAQCAtMjM5LDkgKzIzOSw5IEBACiAJCQkgIGNvbnN0IGNoYXIgKnJldmlzaW9uKQogewogCWludCBwb3M7Ci0Jc3RydWN0IGNoZWNrb3V0IHN0YXRlOworCXN0cnVjdCBjaGVja291dCBzdGF0ZSA9IENIRUNLT1VUX0lOSVQ7CiAJc3RhdGljIGNoYXIgKnBzX21hdGNoZWQ7Ci0JdW5zaWduZWQgY2hhciByZXZbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgcmV2OwogCXN0cnVjdCBjb21taXQgKmhlYWQ7CiAJaW50IGVycnMgPSAwOwogCXN0cnVjdCBsb2NrX2ZpbGUgKmxvY2tfZmlsZTsKQEAgLTI3Niw3ICsyNzYsNyBAQAogCiAJaG9sZF9sb2NrZWRfaW5kZXgobG9ja19maWxlLCAxKTsKIAlpZiAocmVhZF9jYWNoZV9wcmVsb2FkKCZvcHRzLT5wYXRoc3BlYykgPCAwKQotCQlyZXR1cm4gZXJyb3IoXygiY29ycnVwdCBpbmRleCBmaWxlIikpOworCQlyZXR1cm4gZXJyb3IoXygiaW5kZXggZmlsZSBjb3JydXB0IikpOwogCiAJaWYgKG9wdHMtPnNvdXJjZV90cmVlKQogCQlyZWFkX3RyZWVfc29tZShvcHRzLT5zb3VyY2VfdHJlZSwgJm9wdHMtPnBhdGhzcGVjKTsKQEAgLTM1Miw3ICszNTIsNiBAQAogCQlyZXR1cm4gMTsKIAogCS8qIE5vdyB3ZSBhcmUgY29tbWl0dGVkIHRvIGNoZWNrIHRoZW0gb3V0ICovCi0JbWVtc2V0KCZzdGF0ZSwgMCwgc2l6ZW9mKHN0YXRlKSk7CiAJc3RhdGUuZm9yY2UgPSAxOwogCXN0YXRlLnJlZnJlc2hfY2FjaGUgPSAxOwogCXN0YXRlLmlzdGF0ZSA9ICZ0aGVfaW5kZXg7CkBAIC0zNzQsOCArMzczLDggQEAKIAlpZiAod3JpdGVfbG9ja2VkX2luZGV4KCZ0aGVfaW5kZXgsIGxvY2tfZmlsZSwgQ09NTUlUX0xPQ0spKQogCQlkaWUoXygidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIikpOwogCi0JcmVhZF9yZWZfZnVsbCgiSEVBRCIsIDAsIHJldiwgTlVMTCk7Ci0JaGVhZCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShyZXYsIDEpOworCXJlYWRfcmVmX2Z1bGwoIkhFQUQiLCAwLCByZXYuaGFzaCwgTlVMTCk7CisJaGVhZCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShyZXYuaGFzaCwgMSk7CiAKIAllcnJzIHw9IHBvc3RfY2hlY2tvdXRfaG9vayhoZWFkLCBoZWFkLCAwKTsKIAlyZXR1cm4gZXJyczsKQEAgLTQ3MCw3ICs0NjksNyBAQAogCiAJaG9sZF9sb2NrZWRfaW5kZXgobG9ja19maWxlLCAxKTsKIAlpZiAocmVhZF9jYWNoZV9wcmVsb2FkKE5VTEwpIDwgMCkKLQkJcmV0dXJuIGVycm9yKF8oImNvcnJ1cHQgaW5kZXggZmlsZSIpKTsKKwkJcmV0dXJuIGVycm9yKF8oImluZGV4IGZpbGUgY29ycnVwdCIpKTsKIAogCXJlc29sdmVfdW5kb19jbGVhcigpOwogCWlmIChvcHRzLT5mb3JjZSkgewpAQCAtNTY3LDEwICs1NjYsMTMgQEAKIAkJCW8uYW5jZXN0b3IgPSBvbGQtPm5hbWU7CiAJCQlvLmJyYW5jaDEgPSBuZXctPm5hbWU7CiAJCQlvLmJyYW5jaDIgPSAibG9jYWwiOwotCQkJbWVyZ2VfdHJlZXMoJm8sIG5ldy0+Y29tbWl0LT50cmVlLCB3b3JrLAorCQkJcmV0ID0gbWVyZ2VfdHJlZXMoJm8sIG5ldy0+Y29tbWl0LT50cmVlLCB3b3JrLAogCQkJCW9sZC0+Y29tbWl0LT50cmVlLCAmcmVzdWx0KTsKKwkJCWlmIChyZXQgPCAwKQorCQkJCWV4aXQoMTI4KTsKIAkJCXJldCA9IHJlc2V0X3RyZWUobmV3LT5jb21taXQtPnRyZWUsIG9wdHMsIDAsCiAJCQkJCSB3cml0ZW91dF9lcnJvcik7CisJCQlzdHJidWZfcmVsZWFzZSgmby5vYnVmKTsKIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKIAkJfQpAQCAtNjI4LDcgKzYzMCw3IEBACiAJCQl9CiAJCX0KIAkJZWxzZQotCQkJY3JlYXRlX2JyYW5jaChvbGQtPm5hbWUsIG9wdHMtPm5ld19icmFuY2gsIG5ldy0+bmFtZSwKKwkJCWNyZWF0ZV9icmFuY2gob3B0cy0+bmV3X2JyYW5jaCwgbmV3LT5uYW1lLAogCQkJCSAgICAgIG9wdHMtPm5ld19icmFuY2hfZm9yY2UgPyAxIDogMCwKIAkJCQkgICAgICBvcHRzLT5uZXdfYnJhbmNoX2xvZywKIAkJCQkgICAgICBvcHRzLT5uZXdfYnJhbmNoX2ZvcmNlID8gMSA6IDAsCkBAIC02NTUsNyArNjU3LDggQEAKIAkJdXBkYXRlX3JlZihtc2cuYnVmLCAiSEVBRCIsIG5ldy0+Y29tbWl0LT5vYmplY3Qub2lkLmhhc2gsIE5VTEwsCiAJCQkgICBSRUZfTk9ERVJFRiwgVVBEQVRFX1JFRlNfRElFX09OX0VSUik7CiAJCWlmICghb3B0cy0+cXVpZXQpIHsKLQkJCWlmIChvbGQtPnBhdGggJiYgYWR2aWNlX2RldGFjaGVkX2hlYWQpCisJCQlpZiAob2xkLT5wYXRoICYmCisJCQkgICAgYWR2aWNlX2RldGFjaGVkX2hlYWQgJiYgIW9wdHMtPmZvcmNlX2RldGFjaCkKIAkJCQlkZXRhY2hfYWR2aWNlKG5ldy0+bmFtZSk7CiAJCQlkZXNjcmliZV9kZXRhY2hlZF9oZWFkKF8oIkhFQUQgaXMgbm93IGF0IiksIG5ldy0+Y29tbWl0KTsKIAkJfQpAQCAtNzAzLDggKzcwNiw3IEBACiBzdGF0aWMgdm9pZCBkZXNjcmliZV9vbmVfb3JwaGFuKHN0cnVjdCBzdHJidWYgKnNiLCBzdHJ1Y3QgY29tbWl0ICpjb21taXQpCiB7CiAJc3RyYnVmX2FkZHN0cihzYiwgIiAgIik7Ci0Jc3RyYnVmX2FkZHN0cihzYiwKLQkJZmluZF91bmlxdWVfYWJicmV2KGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCBERUZBVUxUX0FCQlJFVikpOworCXN0cmJ1Zl9hZGRfdW5pcXVlX2FiYnJldihzYiwgY29tbWl0LT5vYmplY3Qub2lkLmhhc2gsIERFRkFVTFRfQUJCUkVWKTsKIAlzdHJidWZfYWRkY2goc2IsICcgJyk7CiAJaWYgKCFwYXJzZV9jb21taXQoY29tbWl0KSkKIAkJcHBfY29tbWl0X2Vhc3koQ01JVF9GTVRfT05FTElORSwgY29tbWl0LCBzYik7CkBAIC04MDUsMTEgKzgwNywxMSBAQAogCWludCByZXQgPSAwOwogCXN0cnVjdCBicmFuY2hfaW5mbyBvbGQ7CiAJdm9pZCAqcGF0aF90b19mcmVlOwotCXVuc2lnbmVkIGNoYXIgcmV2WzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIHJldjsKIAlpbnQgZmxhZywgd3JpdGVvdXRfZXJyb3IgPSAwOwogCW1lbXNldCgmb2xkLCAwLCBzaXplb2Yob2xkKSk7Ci0Jb2xkLnBhdGggPSBwYXRoX3RvX2ZyZWUgPSByZXNvbHZlX3JlZmR1cCgiSEVBRCIsIDAsIHJldiwgJmZsYWcpOwotCW9sZC5jb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkocmV2LCAxKTsKKwlvbGQucGF0aCA9IHBhdGhfdG9fZnJlZSA9IHJlc29sdmVfcmVmZHVwKCJIRUFEIiwgMCwgcmV2Lmhhc2gsICZmbGFnKTsKKwlvbGQuY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHJldi5oYXNoLCAxKTsKIAlpZiAoIShmbGFnICYgUkVGX0lTU1lNUkVGKSkKIAkJb2xkLnBhdGggPSBOVUxMOwogCkBAIC04NTcsNyArODU5LDcgQEAKIHN0cnVjdCB0cmFja2luZ19uYW1lX2RhdGEgewogCS8qIGNvbnN0ICovIGNoYXIgKnNyY19yZWY7CiAJY2hhciAqZHN0X3JlZjsKLQl1bnNpZ25lZCBjaGFyICpkc3Rfc2hhMTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkICpkc3Rfb2lkOwogCWludCB1bmlxdWU7CiB9OwogCkBAIC04NjgsNyArODcwLDcgQEAKIAltZW1zZXQoJnF1ZXJ5LCAwLCBzaXplb2Yoc3RydWN0IHJlZnNwZWMpKTsKIAlxdWVyeS5zcmMgPSBjYi0+c3JjX3JlZjsKIAlpZiAocmVtb3RlX2ZpbmRfdHJhY2tpbmcocmVtb3RlLCAmcXVlcnkpIHx8Ci0JICAgIGdldF9zaGExKHF1ZXJ5LmRzdCwgY2ItPmRzdF9zaGExKSkgeworCSAgICBnZXRfb2lkKHF1ZXJ5LmRzdCwgY2ItPmRzdF9vaWQpKSB7CiAJCWZyZWUocXVlcnkuZHN0KTsKIAkJcmV0dXJuIDA7CiAJfQpAQCAtODgxLDEzICs4ODMsMTMgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGNvbnN0IGNoYXIgKnVuaXF1ZV90cmFja2luZ19uYW1lKGNvbnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdGF0aWMgY29uc3QgY2hhciAqdW5pcXVlX3RyYWNraW5nX25hbWUoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXN0cnVjdCB0cmFja2luZ19uYW1lX2RhdGEgY2JfZGF0YSA9IHsgTlVMTCwgTlVMTCwgTlVMTCwgMSB9OwogCWNoYXIgc3JjX3JlZltQQVRIX01BWF07CiAJc25wcmludGYoc3JjX3JlZiwgUEFUSF9NQVgsICJyZWZzL2hlYWRzLyVzIiwgbmFtZSk7CiAJY2JfZGF0YS5zcmNfcmVmID0gc3JjX3JlZjsKLQljYl9kYXRhLmRzdF9zaGExID0gc2hhMTsKKwljYl9kYXRhLmRzdF9vaWQgPSBvaWQ7CiAJZm9yX2VhY2hfcmVtb3RlKGNoZWNrX3RyYWNraW5nX25hbWUsICZjYl9kYXRhKTsKIAlpZiAoY2JfZGF0YS51bmlxdWUpCiAJCXJldHVybiBjYl9kYXRhLmRzdF9yZWY7CkBAIC04OTksMTIgKzkwMSwxMiBAQAogCQkJCWludCBkd2ltX25ld19sb2NhbF9icmFuY2hfb2ssCiAJCQkJc3RydWN0IGJyYW5jaF9pbmZvICpuZXcsCiAJCQkJc3RydWN0IGNoZWNrb3V0X29wdHMgKm9wdHMsCi0JCQkJdW5zaWduZWQgY2hhciByZXZbMjBdKQorCQkJCXN0cnVjdCBvYmplY3RfaWQgKnJldikKIHsKIAlzdHJ1Y3QgdHJlZSAqKnNvdXJjZV90cmVlID0gJm9wdHMtPnNvdXJjZV90cmVlOwogCWNvbnN0IGNoYXIgKipuZXdfYnJhbmNoID0gJm9wdHMtPm5ld19icmFuY2g7CiAJaW50IGFyZ2NvdW50ID0gMDsKLQl1bnNpZ25lZCBjaGFyIGJyYW5jaF9yZXZbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgYnJhbmNoX3JldjsKIAljb25zdCBjaGFyICphcmc7CiAJaW50IGRhc2hfZGFzaF9wb3M7CiAJaW50IGhhc19kYXNoX2Rhc2ggPSAwOwpAQCAtOTcwLDcgKzk3Miw3IEBACiAJaWYgKCFzdHJjbXAoYXJnLCAiLSIpKQogCQlhcmcgPSAiQHstMX0iOwogCi0JaWYgKGdldF9zaGExX21iKGFyZywgcmV2KSkgeworCWlmIChnZXRfb2lkX21iKGFyZywgcmV2KSkgewogCQkvKgogCQkgKiBFaXRoZXIgY2FzZSAoMykgb3IgKDQpLCB3aXRoIDxzb21ldGhpbmc+IG5vdCBiZWluZwogCQkgKiBhIGNvbW1pdCwgb3IgYW4gYXR0ZW1wdCB0byB1c2UgY2FzZSAoMSkgd2l0aCBhbgpAQCAtOTgyLDcgKzk4NCw3IEBACiAJCWludCByZWNvdmVyX3dpdGhfZHdpbSA9IGR3aW1fbmV3X2xvY2FsX2JyYW5jaF9vazsKIAogCQlpZiAoIWhhc19kYXNoX2Rhc2ggJiYKLQkJICAgIChjaGVja19maWxlbmFtZShOVUxMLCBhcmcpIHx8ICFub193aWxkY2FyZChhcmcpKSkKKwkJICAgIChjaGVja19maWxlbmFtZShvcHRzLT5wcmVmaXgsIGFyZykgfHwgIW5vX3dpbGRjYXJkKGFyZykpKQogCQkJcmVjb3Zlcl93aXRoX2R3aW0gPSAwOwogCQkvKgogCQkgKiBBY2NlcHQgImdpdCBjaGVja291dCBmb28iIGFuZCAiZ2l0IGNoZWNrb3V0IGZvbyAtLSIKQEAgLTEwMTksMTUgKzEwMjEsMTUgQEAKIAlzZXR1cF9icmFuY2hfcGF0aChuZXcpOwogCiAJaWYgKCFjaGVja19yZWZuYW1lX2Zvcm1hdChuZXctPnBhdGgsIDApICYmCi0JICAgICFyZWFkX3JlZihuZXctPnBhdGgsIGJyYW5jaF9yZXYpKQotCQloYXNoY3B5KHJldiwgYnJhbmNoX3Jldik7CisJICAgICFyZWFkX3JlZihuZXctPnBhdGgsIGJyYW5jaF9yZXYuaGFzaCkpCisJCW9pZGNweShyZXYsICZicmFuY2hfcmV2KTsKIAllbHNlCiAJCW5ldy0+cGF0aCA9IE5VTEw7IC8qIG5vdCBhbiBleGlzdGluZyBicmFuY2ggKi8KIAotCW5ldy0+Y29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHJldiwgMSk7CisJbmV3LT5jb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkocmV2LT5oYXNoLCAxKTsKIAlpZiAoIW5ldy0+Y29tbWl0KSB7CiAJCS8qIG5vdCBhIGNvbW1pdCAqLwotCQkqc291cmNlX3RyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KHJldik7CisJCSpzb3VyY2VfdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3QocmV2LT5oYXNoKTsKIAl9IGVsc2UgewogCQlwYXJzZV9jb21taXRfb3JfZGllKG5ldy0+Y29tbWl0KTsKIAkJKnNvdXJjZV90cmVlID0gbmV3LT5jb21taXQtPnRyZWU7CkBAIC0xMDM1LDcgKzEwMzcsNyBAQAogCiAJaWYgKCEqc291cmNlX3RyZWUpICAgICAgICAgICAgICAgICAgIC8qIGNhc2UgKDEpOiB3YW50IGEgdHJlZSAqLwogCQlkaWUoXygicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIiksIGFyZyk7Ci0JaWYgKCFoYXNfZGFzaF9kYXNoKSB7LyogY2FzZSAoMykuKGQpIC0+ICgxKSAqLworCWlmICghaGFzX2Rhc2hfZGFzaCkgewkvKiBjYXNlICgzKS4oZCkgLT4gKDEpICovCiAJCS8qCiAJCSAqIERvIG5vdCBjb21wbGFpbiB0aGUgbW9zdCBjb21tb24gY2FzZQogCQkgKglnaXQgY2hlY2tvdXQgYnJhbmNoCkBAIC0xMDQzLDcgKzEwNDUsNyBAQAogCQkgKiBpdCB3b3VsZCBiZSBleHRyZW1lbHkgYW5ub3lpbmcuCiAJCSAqLwogCQlpZiAoYXJnYykKLQkJCXZlcmlmeV9ub25fZmlsZW5hbWUoTlVMTCwgYXJnKTsKKwkJCXZlcmlmeV9ub25fZmlsZW5hbWUob3B0cy0+cHJlZml4LCBhcmcpOwogCX0gZWxzZSB7CiAJCWFyZ2NvdW50Kys7CiAJCWFyZ3YrKzsKQEAgLTExMDUsOSArMTEwNyw5IEBACiAKIAlpZiAobmV3LT5wYXRoICYmICFvcHRzLT5mb3JjZV9kZXRhY2ggJiYgIW9wdHMtPm5ld19icmFuY2ggJiYKIAkgICAgIW9wdHMtPmlnbm9yZV9vdGhlcl93b3JrdHJlZXMpIHsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCWludCBmbGFnOwotCQljaGFyICpoZWFkX3JlZiA9IHJlc29sdmVfcmVmZHVwKCJIRUFEIiwgMCwgc2hhMSwgJmZsYWcpOworCQljaGFyICpoZWFkX3JlZiA9IHJlc29sdmVfcmVmZHVwKCJIRUFEIiwgMCwgb2lkLmhhc2gsICZmbGFnKTsKIAkJaWYgKGhlYWRfcmVmICYmCiAJCSAgICAoIShmbGFnICYgUkVGX0lTU1lNUkVGKSB8fCBzdHJjbXAoaGVhZF9yZWYsIG5ldy0+cGF0aCkpKQogCQkJZGllX2lmX2NoZWNrZWRfb3V0KG5ldy0+cGF0aCwgMSk7CkBAIC0xMTE1LDExICsxMTE3LDExIEBACiAJfQogCiAJaWYgKCFuZXctPmNvbW1pdCAmJiBvcHRzLT5uZXdfYnJhbmNoKSB7Ci0JCXVuc2lnbmVkIGNoYXIgcmV2WzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCByZXY7CiAJCWludCBmbGFnOwogCi0JCWlmICghcmVhZF9yZWZfZnVsbCgiSEVBRCIsIDAsIHJldiwgJmZsYWcpICYmCi0JCSAgICAoZmxhZyAmIFJFRl9JU1NZTVJFRikgJiYgaXNfbnVsbF9zaGExKHJldikpCisJCWlmICghcmVhZF9yZWZfZnVsbCgiSEVBRCIsIDAsIHJldi5oYXNoLCAmZmxhZykgJiYKKwkJICAgIChmbGFnICYgUkVGX0lTU1lNUkVGKSAmJiBpc19udWxsX29pZCgmcmV2KSkKIAkJCXJldHVybiBzd2l0Y2hfdW5ib3JuX3RvX25ld19icmFuY2gob3B0cyk7CiAJfQogCXJldHVybiBzd2l0Y2hfYnJhbmNoZXMob3B0cywgbmV3KTsKQEAgLTExMzgsNyArMTE0MCw3IEBACiAJCU9QVF9TVFJJTkcoJ0InLCBOVUxMLCAmb3B0cy5uZXdfYnJhbmNoX2ZvcmNlLCBOXygiYnJhbmNoIiksCiAJCQkgICBOXygiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIpKSwKIAkJT1BUX0JPT0woJ2wnLCBOVUxMLCAmb3B0cy5uZXdfYnJhbmNoX2xvZywgTl8oImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giKSksCi0JCU9QVF9CT09MKDAsICJkZXRhY2giLCAmb3B0cy5mb3JjZV9kZXRhY2gsIE5fKCJkZXRhY2ggdGhlIEhFQUQgYXQgbmFtZWQgY29tbWl0IikpLAorCQlPUFRfQk9PTCgwLCAiZGV0YWNoIiwgJm9wdHMuZm9yY2VfZGV0YWNoLCBOXygiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IikpLAogCQlPUFRfU0VUX0lOVCgndCcsICJ0cmFjayIsICAmb3B0cy50cmFjaywgTl8oInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIiksCiAJCQlCUkFOQ0hfVFJBQ0tfRVhQTElDSVQpLAogCQlPUFRfU1RSSU5HKDAsICJvcnBoYW4iLCAmb3B0cy5uZXdfb3JwaGFuX2JyYW5jaCwgTl8oIm5ldy1icmFuY2giKSwgTl8oIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIpKSwKQEAgLTEyMjksMTQgKzEyMzEsMTQgQEAKIAkgKiByZW1vdGUgYnJhbmNoZXMsIGVycm9yaW5nIG91dCBmb3IgaW52YWxpZCBvciBhbWJpZ3VvdXMgY2FzZXMuCiAJICovCiAJaWYgKGFyZ2MpIHsKLQkJdW5zaWduZWQgY2hhciByZXZbMjBdOworCQlzdHJ1Y3Qgb2JqZWN0X2lkIHJldjsKIAkJaW50IGR3aW1fb2sgPQogCQkJIW9wdHMucGF0Y2hfbW9kZSAmJgogCQkJZHdpbV9uZXdfbG9jYWxfYnJhbmNoICYmCiAJCQlvcHRzLnRyYWNrID09IEJSQU5DSF9UUkFDS19VTlNQRUNJRklFRCAmJgogCQkJIW9wdHMubmV3X2JyYW5jaDsKIAkJaW50IG4gPSBwYXJzZV9icmFuY2huYW1lX2FyZyhhcmdjLCBhcmd2LCBkd2ltX29rLAotCQkJCQkgICAgICZuZXcsICZvcHRzLCByZXYpOworCQkJCQkgICAgICZuZXcsICZvcHRzLCAmcmV2KTsKIAkJYXJndiArPSBuOwogCQlhcmdjIC09IG47CiAJfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jbG9uZS5jIGIvYnVpbHRpbi9jbG9uZS5jCmluZGV4IDVmODY3ZTYuLjZjNzZhNmUgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY2xvbmUuYworKysgYi9idWlsdGluL2Nsb25lLmMKQEAgLTQwLDE3ICs0MCwyMCBAQAogCiBzdGF0aWMgaW50IG9wdGlvbl9ub19jaGVja291dCwgb3B0aW9uX2JhcmUsIG9wdGlvbl9taXJyb3IsIG9wdGlvbl9zaW5nbGVfYnJhbmNoID0gLTE7CiBzdGF0aWMgaW50IG9wdGlvbl9sb2NhbCA9IC0xLCBvcHRpb25fbm9faGFyZGxpbmtzLCBvcHRpb25fc2hhcmVkLCBvcHRpb25fcmVjdXJzaXZlOwotc3RhdGljIGludCBvcHRpb25fc2hhbGxvd19zdWJtb2R1bGVzID0gLTE7Ci1zdGF0aWMgY2hhciAqb3B0aW9uX3RlbXBsYXRlLCAqb3B0aW9uX2RlcHRoOworc3RhdGljIGludCBvcHRpb25fc2hhbGxvd19zdWJtb2R1bGVzOworc3RhdGljIGludCBkZWVwZW47CitzdGF0aWMgY2hhciAqb3B0aW9uX3RlbXBsYXRlLCAqb3B0aW9uX2RlcHRoLCAqb3B0aW9uX3NpbmNlOwogc3RhdGljIGNoYXIgKm9wdGlvbl9vcmlnaW4gPSBOVUxMOwogc3RhdGljIGNoYXIgKm9wdGlvbl9icmFuY2ggPSBOVUxMOworc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBvcHRpb25fbm90ID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKIHN0YXRpYyBjb25zdCBjaGFyICpyZWFsX2dpdF9kaXI7CiBzdGF0aWMgY2hhciAqb3B0aW9uX3VwbG9hZF9wYWNrID0gImdpdC11cGxvYWQtcGFjayI7CiBzdGF0aWMgaW50IG9wdGlvbl92ZXJib3NpdHk7CiBzdGF0aWMgaW50IG9wdGlvbl9wcm9ncmVzcyA9IC0xOwogc3RhdGljIGVudW0gdHJhbnNwb3J0X2ZhbWlseSBmYW1pbHk7Ci1zdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IG9wdGlvbl9jb25maWc7Ci1zdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IG9wdGlvbl9yZWZlcmVuY2U7CitzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IG9wdGlvbl9jb25maWcgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOworc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBvcHRpb25fcmVxdWlyZWRfcmVmZXJlbmNlID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKK3N0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3Qgb3B0aW9uX29wdGlvbmFsX3JlZmVyZW5jZSA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiBzdGF0aWMgaW50IG9wdGlvbl9kaXNzb2NpYXRlOwogc3RhdGljIGludCBtYXhfam9icyA9IC0xOwogCkBAIC03OSw4ICs4MiwxMCBAQAogCQkgICAgTl8oIm51bWJlciBvZiBzdWJtb2R1bGVzIGNsb25lZCBpbiBwYXJhbGxlbCIpKSwKIAlPUFRfU1RSSU5HKDAsICJ0ZW1wbGF0ZSIsICZvcHRpb25fdGVtcGxhdGUsIE5fKCJ0ZW1wbGF0ZS1kaXJlY3RvcnkiKSwKIAkJICAgTl8oImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiKSksCi0JT1BUX1NUUklOR19MSVNUKDAsICJyZWZlcmVuY2UiLCAmb3B0aW9uX3JlZmVyZW5jZSwgTl8oInJlcG8iKSwKKwlPUFRfU1RSSU5HX0xJU1QoMCwgInJlZmVyZW5jZSIsICZvcHRpb25fcmVxdWlyZWRfcmVmZXJlbmNlLCBOXygicmVwbyIpLAogCQkJTl8oInJlZmVyZW5jZSByZXBvc2l0b3J5IikpLAorCU9QVF9TVFJJTkdfTElTVCgwLCAicmVmZXJlbmNlLWlmLWFibGUiLCAmb3B0aW9uX29wdGlvbmFsX3JlZmVyZW5jZSwKKwkJCU5fKCJyZXBvIiksIE5fKCJyZWZlcmVuY2UgcmVwb3NpdG9yeSIpKSwKIAlPUFRfQk9PTCgwLCAiZGlzc29jaWF0ZSIsICZvcHRpb25fZGlzc29jaWF0ZSwKIAkJIE5fKCJ1c2UgLS1yZWZlcmVuY2Ugb25seSB3aGlsZSBjbG9uaW5nIikpLAogCU9QVF9TVFJJTkcoJ28nLCAib3JpZ2luIiwgJm9wdGlvbl9vcmlnaW4sIE5fKCJuYW1lIiksCkBAIC05MSw2ICs5NiwxMCBAQAogCQkgICBOXygicGF0aCB0byBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSIpKSwKIAlPUFRfU1RSSU5HKDAsICJkZXB0aCIsICZvcHRpb25fZGVwdGgsIE5fKCJkZXB0aCIpLAogCQkgICAgTl8oImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIpKSwKKwlPUFRfU1RSSU5HKDAsICJzaGFsbG93LXNpbmNlIiwgJm9wdGlvbl9zaW5jZSwgTl8oInRpbWUiKSwKKwkJICAgIE5fKCJjcmVhdGUgYSBzaGFsbG93IGNsb25lIHNpbmNlIGEgc3BlY2lmaWMgdGltZSIpKSwKKwlPUFRfU1RSSU5HX0xJU1QoMCwgInNoYWxsb3ctZXhjbHVkZSIsICZvcHRpb25fbm90LCBOXygicmV2aXNpb24iKSwKKwkJCU5fKCJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIGJ5IGV4Y2x1ZGluZyByZXYiKSksCiAJT1BUX0JPT0woMCwgInNpbmdsZS1icmFuY2giLCAmb3B0aW9uX3NpbmdsZV9icmFuY2gsCiAJCSAgICBOXygiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIikpLAogCU9QVF9CT09MKDAsICJzaGFsbG93LXN1Ym1vZHVsZXMiLCAmb3B0aW9uX3NoYWxsb3dfc3VibW9kdWxlcywKQEAgLTI4Miw1MCArMjkxLDM3IEBACiAKIHN0YXRpYyBpbnQgYWRkX29uZV9yZWZlcmVuY2Uoc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW0sIHZvaWQgKmNiX2RhdGEpCiB7Ci0JY2hhciAqcmVmX2dpdDsKLQljb25zdCBjaGFyICpyZXBvOwotCXN0cnVjdCBzdHJidWYgYWx0ZXJuYXRlID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKKwlpbnQgKnJlcXVpcmVkID0gY2JfZGF0YTsKKwljaGFyICpyZWZfZ2l0ID0gY29tcHV0ZV9hbHRlcm5hdGVfcGF0aChpdGVtLT5zdHJpbmcsICZlcnIpOwogCi0JLyogQmV3YXJlOiByZWFkX2dpdGZpbGUoKSwgcmVhbF9wYXRoKCkgYW5kIG1rcGF0aCgpIHJldHVybiBzdGF0aWMgYnVmZmVyICovCi0JcmVmX2dpdCA9IHhzdHJkdXAocmVhbF9wYXRoKGl0ZW0tPnN0cmluZykpOwotCi0JcmVwbyA9IHJlYWRfZ2l0ZmlsZShyZWZfZ2l0KTsKLQlpZiAoIXJlcG8pCi0JCXJlcG8gPSByZWFkX2dpdGZpbGUobWtwYXRoKCIlcy8uZ2l0IiwgcmVmX2dpdCkpOwotCWlmIChyZXBvKSB7Ci0JCWZyZWUocmVmX2dpdCk7Ci0JCXJlZl9naXQgPSB4c3RyZHVwKHJlcG8pOwotCX0KLQotCWlmICghcmVwbyAmJiBpc19kaXJlY3RvcnkobWtwYXRoKCIlcy8uZ2l0L29iamVjdHMiLCByZWZfZ2l0KSkpIHsKLQkJY2hhciAqcmVmX2dpdF9naXQgPSBta3BhdGhkdXAoIiVzLy5naXQiLCByZWZfZ2l0KTsKLQkJZnJlZShyZWZfZ2l0KTsKLQkJcmVmX2dpdCA9IHJlZl9naXRfZ2l0OwotCX0gZWxzZSBpZiAoIWlzX2RpcmVjdG9yeShta3BhdGgoIiVzL29iamVjdHMiLCByZWZfZ2l0KSkpIHsKKwlpZiAoIXJlZl9naXQpIHsKKwkJaWYgKCpyZXF1aXJlZCkKKwkJCWRpZSgiJXMiLCBlcnIuYnVmKTsKKwkJZWxzZQorCQkJZnByaW50ZihzdGRlcnIsCisJCQkJXygiaW5mbzogQ291bGQgbm90IGFkZCBhbHRlcm5hdGUgZm9yICclcyc6ICVzXG4iKSwKKwkJCQlpdGVtLT5zdHJpbmcsIGVyci5idWYpOworCX0gZWxzZSB7CiAJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKLQkJaWYgKGdldF9jb21tb25fZGlyKCZzYiwgcmVmX2dpdCkpCi0JCQlkaWUoXygicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iKSwKLQkJCSAgICBpdGVtLT5zdHJpbmcpOwotCQlkaWUoXygicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIpLAotCQkgICAgaXRlbS0+c3RyaW5nKTsKKwkJc3RyYnVmX2FkZGYoJnNiLCAiJXMvb2JqZWN0cyIsIHJlZl9naXQpOworCQlhZGRfdG9fYWx0ZXJuYXRlc19maWxlKHNiLmJ1Zik7CisJCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiAJfQogCi0JaWYgKCFhY2Nlc3MobWtwYXRoKCIlcy9zaGFsbG93IiwgcmVmX2dpdCksIEZfT0spKQotCQlkaWUoXygicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IiksIGl0ZW0tPnN0cmluZyk7Ci0KLQlpZiAoIWFjY2Vzcyhta3BhdGgoIiVzL2luZm8vZ3JhZnRzIiwgcmVmX2dpdCksIEZfT0spKQotCQlkaWUoXygicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIiksIGl0ZW0tPnN0cmluZyk7Ci0KLQlzdHJidWZfYWRkZigmYWx0ZXJuYXRlLCAiJXMvb2JqZWN0cyIsIHJlZl9naXQpOwotCWFkZF90b19hbHRlcm5hdGVzX2ZpbGUoYWx0ZXJuYXRlLmJ1Zik7Ci0Jc3RyYnVmX3JlbGVhc2UoJmFsdGVybmF0ZSk7CisJc3RyYnVmX3JlbGVhc2UoJmVycik7CiAJZnJlZShyZWZfZ2l0KTsKIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQgc2V0dXBfcmVmZXJlbmNlKHZvaWQpCiB7Ci0JZm9yX2VhY2hfc3RyaW5nX2xpc3QoJm9wdGlvbl9yZWZlcmVuY2UsIGFkZF9vbmVfcmVmZXJlbmNlLCBOVUxMKTsKKwlpbnQgcmVxdWlyZWQgPSAxOworCWZvcl9lYWNoX3N0cmluZ19saXN0KCZvcHRpb25fcmVxdWlyZWRfcmVmZXJlbmNlLAorCQkJICAgICBhZGRfb25lX3JlZmVyZW5jZSwgJnJlcXVpcmVkKTsKKwlyZXF1aXJlZCA9IDA7CisJZm9yX2VhY2hfc3RyaW5nX2xpc3QoJm9wdGlvbl9vcHRpb25hbF9yZWZlcmVuY2UsCisJCQkgICAgIGFkZF9vbmVfcmVmZXJlbmNlLCAmcmVxdWlyZWQpOwogfQogCiBzdGF0aWMgdm9pZCBjb3B5X2FsdGVybmF0ZXMoc3RydWN0IHN0cmJ1ZiAqc3JjLCBzdHJ1Y3Qgc3RyYnVmICpkc3QsCkBAIC0zNTUsOCArMzUxLDExIEBACiAJCQljb250aW51ZTsKIAkJfQogCQlhYnNfcGF0aCA9IG1rcGF0aGR1cCgiJXMvb2JqZWN0cy8lcyIsIHNyY19yZXBvLCBsaW5lLmJ1Zik7Ci0JCW5vcm1hbGl6ZV9wYXRoX2NvcHkoYWJzX3BhdGgsIGFic19wYXRoKTsKLQkJYWRkX3RvX2FsdGVybmF0ZXNfZmlsZShhYnNfcGF0aCk7CisJCWlmICghbm9ybWFsaXplX3BhdGhfY29weShhYnNfcGF0aCwgYWJzX3BhdGgpKQorCQkJYWRkX3RvX2FsdGVybmF0ZXNfZmlsZShhYnNfcGF0aCk7CisJCWVsc2UKKwkJCXdhcm5pbmcoInNraXBwaW5nIGludmFsaWQgcmVsYXRpdmUgYWx0ZXJuYXRlOiAlcy8lcyIsCisJCQkJc3JjX3JlcG8sIGxpbmUuYnVmKTsKIAkJZnJlZShhYnNfcGF0aCk7CiAJfQogCXN0cmJ1Zl9yZWxlYXNlKCZsaW5lKTsKQEAgLTYyNCwxMyArNjIzLDEzIEBACiAJY29uc3Qgc3RydWN0IHJlZiAqcm0gPSBtYXBwZWRfcmVmczsKIAogCWlmIChjaGVja19jb25uZWN0aXZpdHkpIHsKLQkJaWYgKHRyYW5zcG9ydC0+cHJvZ3Jlc3MpCi0JCQlmcHJpbnRmKHN0ZGVyciwgXygiQ2hlY2tpbmcgY29ubmVjdGl2aXR5Li4uICIpKTsKLQkJaWYgKGNoZWNrX2V2ZXJ5dGhpbmdfY29ubmVjdGVkX3dpdGhfdHJhbnNwb3J0KGl0ZXJhdGVfcmVmX21hcCwKLQkJCQkJCQkgICAgICAwLCAmcm0sIHRyYW5zcG9ydCkpCisJCXN0cnVjdCBjaGVja19jb25uZWN0ZWRfb3B0aW9ucyBvcHQgPSBDSEVDS19DT05ORUNURURfSU5JVDsKKworCQlvcHQudHJhbnNwb3J0ID0gdHJhbnNwb3J0OworCQlvcHQucHJvZ3Jlc3MgPSB0cmFuc3BvcnQtPnByb2dyZXNzOworCisJCWlmIChjaGVja19jb25uZWN0ZWQoaXRlcmF0ZV9yZWZfbWFwLCAmcm0sICZvcHQpKQogCQkJZGllKF8oInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIikpOwotCQlpZiAodHJhbnNwb3J0LT5wcm9ncmVzcykKLQkJCWZwcmludGYoc3RkZXJyLCBfKCJkb25lLlxuIikpOwogCX0KIAogCWlmIChyZWZzKSB7CkBAIC02ODAsNyArNjc5LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbnQgY2hlY2tvdXQodm9pZCkKK3N0YXRpYyBpbnQgY2hlY2tvdXQoaW50IHN1Ym1vZHVsZV9wcm9ncmVzcykKIHsKIAl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwogCWNoYXIgKmhlYWQ7CkBAIC03MzgsMTMgKzczNywxNSBAQAogCQlzdHJ1Y3QgYXJndl9hcnJheSBhcmdzID0gQVJHVl9BUlJBWV9JTklUOwogCQlhcmd2X2FycmF5X3B1c2hsKCZhcmdzLCAic3VibW9kdWxlIiwgInVwZGF0ZSIsICItLWluaXQiLCAiLS1yZWN1cnNpdmUiLCBOVUxMKTsKIAotCQlpZiAob3B0aW9uX3NoYWxsb3dfc3VibW9kdWxlcyA9PSAxCi0JCSAgICB8fCAob3B0aW9uX3NoYWxsb3dfc3VibW9kdWxlcyA9PSAtMSAmJiBvcHRpb25fZGVwdGgpKQorCQlpZiAob3B0aW9uX3NoYWxsb3dfc3VibW9kdWxlcyA9PSAxKQogCQkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCAiLS1kZXB0aD0xIik7CiAKIAkJaWYgKG1heF9qb2JzICE9IC0xKQogCQkJYXJndl9hcnJheV9wdXNoZigmYXJncywgIi0tam9icz0lZCIsIG1heF9qb2JzKTsKIAorCQlpZiAoc3VibW9kdWxlX3Byb2dyZXNzKQorCQkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCAiLS1wcm9ncmVzcyIpOworCiAJCWVyciA9IHJ1bl9jb21tYW5kX3Zfb3B0KGFyZ3MuYXJndiwgUlVOX0dJVF9DTUQpOwogCQlhcmd2X2FycmF5X2NsZWFyKCZhcmdzKTsKIAl9CkBAIC04NTIsNiArODUzLDcgQEAKIAljb25zdCBjaGFyICpzcmNfcmVmX3ByZWZpeCA9ICJyZWZzL2hlYWRzLyI7CiAJc3RydWN0IHJlbW90ZSAqcmVtb3RlOwogCWludCBlcnIgPSAwLCBjb21wbGV0ZV9yZWZzX2JlZm9yZV9mZXRjaCA9IDE7CisJaW50IHN1Ym1vZHVsZV9wcm9ncmVzczsKIAogCXN0cnVjdCByZWZzcGVjICpyZWZzcGVjOwogCWNvbnN0IGNoYXIgKmZldGNoX3BhdHRlcm47CkBAIC04NjgsOCArODcwLDEwIEBACiAJCXVzYWdlX21zZ19vcHQoXygiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIiksCiAJCQlidWlsdGluX2Nsb25lX3VzYWdlLCBidWlsdGluX2Nsb25lX29wdGlvbnMpOwogCisJaWYgKG9wdGlvbl9kZXB0aCB8fCBvcHRpb25fc2luY2UgfHwgb3B0aW9uX25vdC5ucikKKwkJZGVlcGVuID0gMTsKIAlpZiAob3B0aW9uX3NpbmdsZV9icmFuY2ggPT0gLTEpCi0JCW9wdGlvbl9zaW5nbGVfYnJhbmNoID0gb3B0aW9uX2RlcHRoID8gMSA6IDA7CisJCW9wdGlvbl9zaW5nbGVfYnJhbmNoID0gZGVlcGVuID8gMSA6IDA7CiAKIAlpZiAob3B0aW9uX21pcnJvcikKIAkJb3B0aW9uX2JhcmUgPSAxOwpAQCAtOTQyLDIzICs5NDYsNDAgQEAKIAkJc2V0X2dpdF93b3JrX3RyZWUod29ya190cmVlKTsKIAl9CiAKLQlqdW5rX2dpdF9kaXIgPSBnaXRfZGlyOworCWp1bmtfZ2l0X2RpciA9IHJlYWxfZ2l0X2RpciA/IHJlYWxfZ2l0X2RpciA6IGdpdF9kaXI7CiAJaWYgKHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXNfY29uc3QoZ2l0X2RpcikgPCAwKQogCQlkaWUoXygiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciKSwgZ2l0X2Rpcik7CiAKLQlzZXRfZ2l0X2Rpcl9pbml0KGdpdF9kaXIsIHJlYWxfZ2l0X2RpciwgMCk7Ci0JaWYgKHJlYWxfZ2l0X2RpcikgewotCQlnaXRfZGlyID0gcmVhbF9naXRfZGlyOwotCQlqdW5rX2dpdF9kaXIgPSByZWFsX2dpdF9kaXI7Ci0JfQotCiAJaWYgKDAgPD0gb3B0aW9uX3ZlcmJvc2l0eSkgewogCQlpZiAob3B0aW9uX2JhcmUpCiAJCQlmcHJpbnRmKHN0ZGVyciwgXygiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iKSwgZGlyKTsKIAkJZWxzZQogCQkJZnByaW50ZihzdGRlcnIsIF8oIkNsb25pbmcgaW50byAnJXMnLi4uXG4iKSwgZGlyKTsKIAl9Ci0JaW5pdF9kYihvcHRpb25fdGVtcGxhdGUsIElOSVRfREJfUVVJRVQpOworCisJaWYgKG9wdGlvbl9yZWN1cnNpdmUpIHsKKwkJaWYgKG9wdGlvbl9yZXF1aXJlZF9yZWZlcmVuY2UubnIgJiYKKwkJICAgIG9wdGlvbl9vcHRpb25hbF9yZWZlcmVuY2UubnIpCisJCQlkaWUoXygiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCAiCisJCQkgICAgICAiYm90aCAtLXJlZmVyZW5jZSBhbmQgLS1yZWZlcmVuY2UtaWYtYWJsZSIpKTsKKwkJZWxzZSBpZiAob3B0aW9uX3JlcXVpcmVkX3JlZmVyZW5jZS5ucikgeworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZvcHRpb25fY29uZmlnLAorCQkJCSJzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb249c3VwZXJwcm9qZWN0Iik7CisJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJm9wdGlvbl9jb25maWcsCisJCQkJInN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5PWRpZSIpOworCQl9IGVsc2UgaWYgKG9wdGlvbl9vcHRpb25hbF9yZWZlcmVuY2UubnIpIHsKKwkJCXN0cmluZ19saXN0X2FwcGVuZCgmb3B0aW9uX2NvbmZpZywKKwkJCQkic3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uPXN1cGVycHJvamVjdCIpOworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZvcHRpb25fY29uZmlnLAorCQkJCSJzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneT1pbmZvIik7CisJCX0KKwl9CisKKwlpbml0X2RiKGdpdF9kaXIsIHJlYWxfZ2l0X2Rpciwgb3B0aW9uX3RlbXBsYXRlLCBJTklUX0RCX1FVSUVUKTsKKworCWlmIChyZWFsX2dpdF9kaXIpCisJCWdpdF9kaXIgPSByZWFsX2dpdF9kaXI7CisKIAl3cml0ZV9jb25maWcoJm9wdGlvbl9jb25maWcpOwogCiAJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwpAQCAtOTc4LDcgKzk5OSw3IEBACiAJZ2l0X2NvbmZpZ19zZXQoa2V5LmJ1ZiwgcmVwbyk7CiAJc3RyYnVmX3Jlc2V0KCZrZXkpOwogCi0JaWYgKG9wdGlvbl9yZWZlcmVuY2UubnIpCisJaWYgKG9wdGlvbl9yZXF1aXJlZF9yZWZlcmVuY2UubnIgfHwgb3B0aW9uX29wdGlvbmFsX3JlZmVyZW5jZS5ucikKIAkJc2V0dXBfcmVmZXJlbmNlKCk7CiAKIAlmZXRjaF9wYXR0ZXJuID0gdmFsdWUuYnVmOwpAQCAtOTk2LDYgKzEwMTcsMTAgQEAKIAlpZiAoaXNfbG9jYWwpIHsKIAkJaWYgKG9wdGlvbl9kZXB0aCkKIAkJCXdhcm5pbmcoXygiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iKSk7CisJCWlmIChvcHRpb25fc2luY2UpCisJCQl3YXJuaW5nKF8oIi0tc2hhbGxvdy1zaW5jZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iKSk7CisJCWlmIChvcHRpb25fbm90Lm5yKQorCQkJd2FybmluZyhfKCItLXNoYWxsb3ctZXhjbHVkZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iKSk7CiAJCWlmICghYWNjZXNzKG1rcGF0aCgiJXMvc2hhbGxvdyIsIHBhdGgpLCBGX09LKSkgewogCQkJaWYgKG9wdGlvbl9sb2NhbCA+IDApCiAJCQkJd2FybmluZyhfKCJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIikpOwpAQCAtMTAxNCw2ICsxMDM5LDEyIEBACiAJaWYgKG9wdGlvbl9kZXB0aCkKIAkJdHJhbnNwb3J0X3NldF9vcHRpb24odHJhbnNwb3J0LCBUUkFOU19PUFRfREVQVEgsCiAJCQkJICAgICBvcHRpb25fZGVwdGgpOworCWlmIChvcHRpb25fc2luY2UpCisJCXRyYW5zcG9ydF9zZXRfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX0RFRVBFTl9TSU5DRSwKKwkJCQkgICAgIG9wdGlvbl9zaW5jZSk7CisJaWYgKG9wdGlvbl9ub3QubnIpCisJCXRyYW5zcG9ydF9zZXRfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX0RFRVBFTl9OT1QsCisJCQkJICAgICAoY29uc3QgY2hhciAqKSZvcHRpb25fbm90KTsKIAlpZiAob3B0aW9uX3NpbmdsZV9icmFuY2gpCiAJCXRyYW5zcG9ydF9zZXRfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX0ZPTExPV1RBR1MsICIxIik7CiAKQEAgLTEwMjEsNyArMTA1Miw3IEBACiAJCXRyYW5zcG9ydF9zZXRfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX1VQTE9BRFBBQ0ssCiAJCQkJICAgICBvcHRpb25fdXBsb2FkX3BhY2spOwogCi0JaWYgKHRyYW5zcG9ydC0+c21hcnRfb3B0aW9ucyAmJiAhb3B0aW9uX2RlcHRoKQorCWlmICh0cmFuc3BvcnQtPnNtYXJ0X29wdGlvbnMgJiYgIWRlZXBlbikKIAkJdHJhbnNwb3J0LT5zbWFydF9vcHRpb25zLT5jaGVja19zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkID0gMTsKIAogCXJlZnMgPSB0cmFuc3BvcnRfZ2V0X3JlbW90ZV9yZWZzKHRyYW5zcG9ydCk7CkBAIC0xMDkxLDYgKzExMjIsMTQgQEAKIAogCXVwZGF0ZV9oZWFkKG91cl9oZWFkX3BvaW50c19hdCwgcmVtb3RlX2hlYWQsIHJlZmxvZ19tc2cuYnVmKTsKIAorCS8qCisJICogV2Ugd2FudCB0byBzaG93IHByb2dyZXNzIGZvciByZWN1cnNpdmUgc3VibW9kdWxlIGNsb25lcyBpZmYKKwkgKiB3ZSBkaWQgc28gZm9yIHRoZSBtYWluIGNsb25lLiBCdXQgb25seSB0aGUgdHJhbnNwb3J0IGtub3dzCisJICogdGhlIGZpbmFsIGRlY2lzaW9uIGZvciB0aGlzIGZsYWcsIHNvIHdlIG5lZWQgdG8gcmVzY3VlIHRoZSB2YWx1ZQorCSAqIGJlZm9yZSB3ZSBmcmVlIHRoZSB0cmFuc3BvcnQuCisJICovCisJc3VibW9kdWxlX3Byb2dyZXNzID0gdHJhbnNwb3J0LT5wcm9ncmVzczsKKwogCXRyYW5zcG9ydF91bmxvY2tfcGFjayh0cmFuc3BvcnQpOwogCXRyYW5zcG9ydF9kaXNjb25uZWN0KHRyYW5zcG9ydCk7CiAKQEAgLTExMDAsNyArMTEzOSw3IEBACiAJfQogCiAJanVua19tb2RlID0gSlVOS19MRUFWRV9SRVBPOwotCWVyciA9IGNoZWNrb3V0KCk7CisJZXJyID0gY2hlY2tvdXQoc3VibW9kdWxlX3Byb2dyZXNzKTsKIAogCXN0cmJ1Zl9yZWxlYXNlKCZyZWZsb2dfbXNnKTsKIAlzdHJidWZfcmVsZWFzZSgmYnJhbmNoX3RvcCk7CmRpZmYgLS1naXQgYS9idWlsdGluL2NvbW1pdC10cmVlLmMgYi9idWlsdGluL2NvbW1pdC10cmVlLmMKaW5kZXggOGE2NzRiYy4uNjA1MDE3MiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jb21taXQtdHJlZS5jCisrKyBiL2J1aWx0aW4vY29tbWl0LXRyZWUuYwpAQCAtNDAsOCArNDAsOCBAQAogewogCWludCBpLCBnb3RfdHJlZSA9IDA7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzID0gTlVMTDsKLQl1bnNpZ25lZCBjaGFyIHRyZWVfc2hhMVsyMF07Ci0JdW5zaWduZWQgY2hhciBjb21taXRfc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCB0cmVlX29pZDsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIGNvbW1pdF9vaWQ7CiAJc3RydWN0IHN0cmJ1ZiBidWZmZXIgPSBTVFJCVUZfSU5JVDsKIAogCWdpdF9jb25maWcoY29tbWl0X3RyZWVfY29uZmlnLCBOVUxMKTsKQEAgLTUyLDEzICs1MiwxMyBAQAogCWZvciAoaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKIAkJY29uc3QgY2hhciAqYXJnID0gYXJndltpXTsKIAkJaWYgKCFzdHJjbXAoYXJnLCAiLXAiKSkgewotCQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwkJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQkJaWYgKGFyZ2MgPD0gKytpKQogCQkJCXVzYWdlKGNvbW1pdF90cmVlX3VzYWdlKTsKLQkJCWlmIChnZXRfc2hhMV9jb21taXQoYXJndltpXSwgc2hhMSkpCisJCQlpZiAoZ2V0X3NoYTFfY29tbWl0KGFyZ3ZbaV0sIG9pZC5oYXNoKSkKIAkJCQlkaWUoIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIiwgYXJndltpXSk7Ci0JCQlhc3NlcnRfc2hhMV90eXBlKHNoYTEsIE9CSl9DT01NSVQpOwotCQkJbmV3X3BhcmVudChsb29rdXBfY29tbWl0KHNoYTEpLCAmcGFyZW50cyk7CisJCQlhc3NlcnRfc2hhMV90eXBlKG9pZC5oYXNoLCBPQkpfQ09NTUlUKTsKKwkJCW5ld19wYXJlbnQobG9va3VwX2NvbW1pdChvaWQuaGFzaCksICZwYXJlbnRzKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKQEAgLTEwNSw3ICsxMDUsNyBAQAogCQkJY29udGludWU7CiAJCX0KIAotCQlpZiAoZ2V0X3NoYTFfdHJlZShhcmcsIHRyZWVfc2hhMSkpCisJCWlmIChnZXRfc2hhMV90cmVlKGFyZywgdHJlZV9vaWQuaGFzaCkpCiAJCQlkaWUoIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIiwgYXJnKTsKIAkJaWYgKGdvdF90cmVlKQogCQkJZGllKCJDYW5ub3QgZ2l2ZSBtb3JlIHRoYW4gb25lIHRyZWVzIik7CkBAIC0xMTcsMTMgKzExNywxMyBAQAogCQkJZGllX2Vycm5vKCJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byByZWFkIik7CiAJfQogCi0JaWYgKGNvbW1pdF90cmVlKGJ1ZmZlci5idWYsIGJ1ZmZlci5sZW4sIHRyZWVfc2hhMSwgcGFyZW50cywKLQkJCWNvbW1pdF9zaGExLCBOVUxMLCBzaWduX2NvbW1pdCkpIHsKKwlpZiAoY29tbWl0X3RyZWUoYnVmZmVyLmJ1ZiwgYnVmZmVyLmxlbiwgdHJlZV9vaWQuaGFzaCwgcGFyZW50cywKKwkJCWNvbW1pdF9vaWQuaGFzaCwgTlVMTCwgc2lnbl9jb21taXQpKSB7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZidWZmZXIpOwogCQlyZXR1cm4gMTsKIAl9CiAKLQlwcmludGYoIiVzXG4iLCBzaGExX3RvX2hleChjb21taXRfc2hhMSkpOworCXByaW50ZigiJXNcbiIsIG9pZF90b19oZXgoJmNvbW1pdF9vaWQpKTsKIAlzdHJidWZfcmVsZWFzZSgmYnVmZmVyKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vY29tbWl0LmMgYi9idWlsdGluL2NvbW1pdC5jCmluZGV4IDQ0M2ZmOTEuLjg5NzZjM2QgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY29tbWl0LmMKKysrIGIvYnVpbHRpbi9jb21taXQuYwpAQCAtOTIsOCArOTIsOSBAQAogIlRoZW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHdpbGwgcmVzdW1lIGNoZXJyeS1waWNraW5nXG4iCiAidGhlIHJlbWFpbmluZyBjb21taXRzLlxuIik7CiAKK3N0YXRpYyBHSVRfUEFUSF9GVU5DKGdpdF9wYXRoX2NvbW1pdF9lZGl0bXNnLCAiQ09NTUlUX0VESVRNU0ciKQorCiBzdGF0aWMgY29uc3QgY2hhciAqdXNlX21lc3NhZ2VfYnVmZmVyOwotc3RhdGljIGNvbnN0IGNoYXIgY29tbWl0X2VkaXRtc2dbXSA9ICJDT01NSVRfRURJVE1TRyI7CiBzdGF0aWMgc3RydWN0IGxvY2tfZmlsZSBpbmRleF9sb2NrOyAvKiByZWFsIGluZGV4ICovCiBzdGF0aWMgc3RydWN0IGxvY2tfZmlsZSBmYWxzZV9sb2NrOyAvKiB1c2VkIG9ubHkgZm9yIHBhcnRpYWwgY29tbWl0cyAqLwogc3RhdGljIGVudW0gewpAQCAtMTQxLDE0ICsxNDIsMjQgQEAKIHN0YXRpYyBjb25zdCBjaGFyICpvbmx5X2luY2x1ZGVfYXNzdW1lZDsKIHN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIG1lc3NhZ2UgPSBTVFJCVUZfSU5JVDsKIAotc3RhdGljIGVudW0gc3RhdHVzX2Zvcm1hdCB7Ci0JU1RBVFVTX0ZPUk1BVF9OT05FID0gMCwKLQlTVEFUVVNfRk9STUFUX0xPTkcsCi0JU1RBVFVTX0ZPUk1BVF9TSE9SVCwKLQlTVEFUVVNfRk9STUFUX1BPUkNFTEFJTiwKK3N0YXRpYyBlbnVtIHd0X3N0YXR1c19mb3JtYXQgc3RhdHVzX2Zvcm1hdCA9IFNUQVRVU19GT1JNQVRfVU5TUEVDSUZJRUQ7CiAKLQlTVEFUVVNfRk9STUFUX1VOU1BFQ0lGSUVECi19IHN0YXR1c19mb3JtYXQgPSBTVEFUVVNfRk9STUFUX1VOU1BFQ0lGSUVEOworc3RhdGljIGludCBvcHRfcGFyc2VfcG9yY2VsYWluKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJZW51bSB3dF9zdGF0dXNfZm9ybWF0ICp2YWx1ZSA9IChlbnVtIHd0X3N0YXR1c19mb3JtYXQgKilvcHQtPnZhbHVlOworCWlmICh1bnNldCkKKwkJKnZhbHVlID0gU1RBVFVTX0ZPUk1BVF9OT05FOworCWVsc2UgaWYgKCFhcmcpCisJCSp2YWx1ZSA9IFNUQVRVU19GT1JNQVRfUE9SQ0VMQUlOOworCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAidjEiKSB8fCAhc3RyY21wKGFyZywgIjEiKSkKKwkJKnZhbHVlID0gU1RBVFVTX0ZPUk1BVF9QT1JDRUxBSU47CisJZWxzZSBpZiAoIXN0cmNtcChhcmcsICJ2MiIpIHx8ICFzdHJjbXAoYXJnLCAiMiIpKQorCQkqdmFsdWUgPSBTVEFUVVNfRk9STUFUX1BPUkNFTEFJTl9WMjsKKwllbHNlCisJCWRpZSgidW5zdXBwb3J0ZWQgcG9yY2VsYWluIHZlcnNpb24gJyVzJyIsIGFyZyk7CisKKwlyZXR1cm4gMDsKK30KIAogc3RhdGljIGludCBvcHRfcGFyc2VfbShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQogewpAQCAtMTcyLDcgKzE4Myw3IEBACiAJCXdoZW5jZSA9IEZST01fTUVSR0U7CiAJZWxzZSBpZiAoZmlsZV9leGlzdHMoZ2l0X3BhdGhfY2hlcnJ5X3BpY2tfaGVhZCgpKSkgewogCQl3aGVuY2UgPSBGUk9NX0NIRVJSWV9QSUNLOwotCQlpZiAoZmlsZV9leGlzdHMoZ2l0X3BhdGgoU0VRX0RJUikpKQorCQlpZiAoZmlsZV9leGlzdHMoZ2l0X3BhdGhfc2VxX2RpcigpKSkKIAkJCXNlcXVlbmNlcl9pbl91c2UgPSAxOwogCX0KIAllbHNlCkBAIC00OTksMjQgKzUxMCwxMyBAQAogCXMtPmZwID0gZnA7CiAJcy0+bm93YXJuID0gbm93YXJuOwogCXMtPmlzX2luaXRpYWwgPSBnZXRfc2hhMShzLT5yZWZlcmVuY2UsIHNoYTEpID8gMSA6IDA7CisJaWYgKCFzLT5pc19pbml0aWFsKQorCQloYXNoY3B5KHMtPnNoYTFfY29tbWl0LCBzaGExKTsKKwlzLT5zdGF0dXNfZm9ybWF0ID0gc3RhdHVzX2Zvcm1hdDsKKwlzLT5pZ25vcmVfc3VibW9kdWxlX2FyZyA9IGlnbm9yZV9zdWJtb2R1bGVfYXJnOwogCiAJd3Rfc3RhdHVzX2NvbGxlY3Qocyk7Ci0KLQlzd2l0Y2ggKHN0YXR1c19mb3JtYXQpIHsKLQljYXNlIFNUQVRVU19GT1JNQVRfU0hPUlQ6Ci0JCXd0X3Nob3J0c3RhdHVzX3ByaW50KHMpOwotCQlicmVhazsKLQljYXNlIFNUQVRVU19GT1JNQVRfUE9SQ0VMQUlOOgotCQl3dF9wb3JjZWxhaW5fcHJpbnQocyk7Ci0JCWJyZWFrOwotCWNhc2UgU1RBVFVTX0ZPUk1BVF9VTlNQRUNJRklFRDoKLQkJZGllKCJCVUc6IGZpbmFsaXplX2RlZmVycmVkX2NvbmZpZygpIHNob3VsZCBoYXZlIGJlZW4gY2FsbGVkIik7Ci0JCWJyZWFrOwotCWNhc2UgU1RBVFVTX0ZPUk1BVF9OT05FOgotCWNhc2UgU1RBVFVTX0ZPUk1BVF9MT05HOgotCQl3dF9zdGF0dXNfcHJpbnQocyk7Ci0JCWJyZWFrOwotCX0KKwl3dF9zdGF0dXNfcHJpbnQocyk7CiAKIAlyZXR1cm4gcy0+Y29tbWl0YWJsZTsKIH0KQEAgLTcxNCw3ICs3MTQsNyBAQAogCQljaGFyICpidWZmZXI7CiAJCWJ1ZmZlciA9IHN0cnN0cih1c2VfbWVzc2FnZV9idWZmZXIsICJcblxuIik7CiAJCWlmIChidWZmZXIpCi0JCQlzdHJidWZfYWRkc3RyKCZzYiwgYnVmZmVyICsgMik7CisJCQlzdHJidWZfYWRkc3RyKCZzYiwgc2tpcF9ibGFua19saW5lcyhidWZmZXIgKyAyKSk7CiAJCWhvb2tfYXJnMSA9ICJjb21taXQiOwogCQlob29rX2FyZzIgPSB1c2VfbWVzc2FnZTsKIAl9IGVsc2UgaWYgKGZpeHVwX21lc3NhZ2UpIHsKQEAgLTc3Miw5ICs3NzIsOSBAQAogCQlob29rX2FyZzIgPSAiIjsKIAl9CiAKLQlzLT5mcCA9IGZvcGVuX2Zvcl93cml0aW5nKGdpdF9wYXRoKGNvbW1pdF9lZGl0bXNnKSk7CisJcy0+ZnAgPSBmb3Blbl9mb3Jfd3JpdGluZyhnaXRfcGF0aF9jb21taXRfZWRpdG1zZygpKTsKIAlpZiAocy0+ZnAgPT0gTlVMTCkKLQkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBvcGVuICclcyciKSwgZ2l0X3BhdGgoY29tbWl0X2VkaXRtc2cpKTsKKwkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBvcGVuICclcyciKSwgZ2l0X3BhdGhfY29tbWl0X2VkaXRtc2coKSk7CiAKIAkvKiBJZ25vcmUgc3RhdHVzLmRpc3BsYXlDb21tZW50UHJlZml4OiB3ZSBkbyBuZWVkIGNvbW1lbnRzIGluIENPTU1JVF9FRElUTVNHLiAqLwogCW9sZF9kaXNwbGF5X2NvbW1lbnRfcHJlZml4ID0gcy0+ZGlzcGxheV9jb21tZW50X3ByZWZpeDsKQEAgLTg5NCw5ICs4OTQsMTQgQEAKIAkJaWYgKGFtZW5kKQogCQkJcGFyZW50ID0gIkhFQUReMSI7CiAKLQkJaWYgKGdldF9zaGExKHBhcmVudCwgc2hhMSkpCi0JCQljb21taXRhYmxlID0gISFhY3RpdmVfbnI7Ci0JCWVsc2UgeworCQlpZiAoZ2V0X3NoYTEocGFyZW50LCBzaGExKSkgeworCQkJaW50IGksIGl0YV9uciA9IDA7CisKKwkJCWZvciAoaSA9IDA7IGkgPCBhY3RpdmVfbnI7IGkrKykKKwkJCQlpZiAoY2VfaW50ZW50X3RvX2FkZChhY3RpdmVfY2FjaGVbaV0pKQorCQkJCQlpdGFfbnIrKzsKKwkJCWNvbW1pdGFibGUgPSBhY3RpdmVfbnIgLSBpdGFfbnIgPiAwOworCQl9IGVsc2UgewogCQkJLyoKIAkJCSAqIFVubGVzcyB0aGUgdXNlciBkaWQgZXhwbGljaXRseSByZXF1ZXN0IGEgc3VibW9kdWxlCiAJCQkgKiBpZ25vcmUgbW9kZSBieSBwYXNzaW5nIGEgY29tbWFuZCBsaW5lIG9wdGlvbiB3ZSBkbwpAQCAtOTEwLDcgKzkxNSw3IEBACiAJCQlpZiAoaWdub3JlX3N1Ym1vZHVsZV9hcmcgJiYKIAkJCSAgICAhc3RyY21wKGlnbm9yZV9zdWJtb2R1bGVfYXJnLCAiYWxsIikpCiAJCQkJZGlmZl9mbGFncyB8PSBESUZGX09QVF9JR05PUkVfU1VCTU9EVUxFUzsKLQkJCWNvbW1pdGFibGUgPSBpbmRleF9kaWZmZXJzX2Zyb20ocGFyZW50LCBkaWZmX2ZsYWdzKTsKKwkJCWNvbW1pdGFibGUgPSBpbmRleF9kaWZmZXJzX2Zyb20ocGFyZW50LCBkaWZmX2ZsYWdzLCAxKTsKIAkJfQogCX0KIAlzdHJidWZfcmVsZWFzZSgmY29tbWl0dGVyX2lkZW50KTsKQEAgLTk1MSw3ICs5NTYsNyBAQAogCX0KIAogCWlmIChydW5fY29tbWl0X2hvb2sodXNlX2VkaXRvciwgaW5kZXhfZmlsZSwgInByZXBhcmUtY29tbWl0LW1zZyIsCi0JCQkgICAgZ2l0X3BhdGgoY29tbWl0X2VkaXRtc2cpLCBob29rX2FyZzEsIGhvb2tfYXJnMiwgTlVMTCkpCisJCQkgICAgZ2l0X3BhdGhfY29tbWl0X2VkaXRtc2coKSwgaG9va19hcmcxLCBob29rX2FyZzIsIE5VTEwpKQogCQlyZXR1cm4gMDsKIAogCWlmICh1c2VfZWRpdG9yKSB7CkBAIC05NTksNyArOTY0LDcgQEAKIAkJY29uc3QgY2hhciAqZW52WzJdID0geyBOVUxMIH07CiAJCWVudlswXSA9ICBpbmRleDsKIAkJc25wcmludGYoaW5kZXgsIHNpemVvZihpbmRleCksICJHSVRfSU5ERVhfRklMRT0lcyIsIGluZGV4X2ZpbGUpOwotCQlpZiAobGF1bmNoX2VkaXRvcihnaXRfcGF0aChjb21taXRfZWRpdG1zZyksIE5VTEwsIGVudikpIHsKKwkJaWYgKGxhdW5jaF9lZGl0b3IoZ2l0X3BhdGhfY29tbWl0X2VkaXRtc2coKSwgTlVMTCwgZW52KSkgewogCQkJZnByaW50ZihzdGRlcnIsCiAJCQlfKCJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iKSk7CiAJCQlleGl0KDEpOwpAQCAtOTY3LDcgKzk3Miw3IEBACiAJfQogCiAJaWYgKCFub192ZXJpZnkgJiYKLQkgICAgcnVuX2NvbW1pdF9ob29rKHVzZV9lZGl0b3IsIGluZGV4X2ZpbGUsICJjb21taXQtbXNnIiwgZ2l0X3BhdGgoY29tbWl0X2VkaXRtc2cpLCBOVUxMKSkgeworCSAgICBydW5fY29tbWl0X2hvb2sodXNlX2VkaXRvciwgaW5kZXhfZmlsZSwgImNvbW1pdC1tc2ciLCBnaXRfcGF0aF9jb21taXRfZWRpdG1zZygpLCBOVUxMKSkgewogCQlyZXR1cm4gMDsKIAl9CiAKQEAgLTEwOTgsNyArMTEwMyw3IEBACiAgKiBpcyBub3QgaW4gZWZmZWN0IGhlcmUuCiAgKi8KIHN0YXRpYyBzdHJ1Y3Qgc3RhdHVzX2RlZmVycmVkX2NvbmZpZyB7Ci0JZW51bSBzdGF0dXNfZm9ybWF0IHN0YXR1c19mb3JtYXQ7CisJZW51bSB3dF9zdGF0dXNfZm9ybWF0IHN0YXR1c19mb3JtYXQ7CiAJaW50IHNob3dfYnJhbmNoOwogfSBzdGF0dXNfZGVmZXJyZWRfY29uZmlnID0gewogCVNUQVRVU19GT1JNQVRfVU5TUEVDSUZJRUQsCkBAIC0xMTA4LDYgKzExMTMsNyBAQAogc3RhdGljIHZvaWQgZmluYWxpemVfZGVmZXJyZWRfY29uZmlnKHN0cnVjdCB3dF9zdGF0dXMgKnMpCiB7CiAJaW50IHVzZV9kZWZlcnJlZF9jb25maWcgPSAoc3RhdHVzX2Zvcm1hdCAhPSBTVEFUVVNfRk9STUFUX1BPUkNFTEFJTiAmJgorCQkJCSAgIHN0YXR1c19mb3JtYXQgIT0gU1RBVFVTX0ZPUk1BVF9QT1JDRUxBSU5fVjIgJiYKIAkJCQkgICAhcy0+bnVsbF90ZXJtaW5hdGlvbik7CiAKIAlpZiAocy0+bnVsbF90ZXJtaW5hdGlvbikgewpAQCAtMTMzNSw5ICsxMzQxLDkgQEAKIAkJCSAgICBOXygic2hvdyBzdGF0dXMgY29uY2lzZWx5IiksIFNUQVRVU19GT1JNQVRfU0hPUlQpLAogCQlPUFRfQk9PTCgnYicsICJicmFuY2giLCAmcy5zaG93X2JyYW5jaCwKIAkJCSBOXygic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iKSksCi0JCU9QVF9TRVRfSU5UKDAsICJwb3JjZWxhaW4iLCAmc3RhdHVzX2Zvcm1hdCwKLQkJCSAgICBOXygibWFjaGluZS1yZWFkYWJsZSBvdXRwdXQiKSwKLQkJCSAgICBTVEFUVVNfRk9STUFUX1BPUkNFTEFJTiksCisJCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAicG9yY2VsYWluIiwgJnN0YXR1c19mb3JtYXQsCisJCSAgTl8oInZlcnNpb24iKSwgTl8oIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IiksCisJCSAgUEFSU0VfT1BUX09QVEFSRywgb3B0X3BhcnNlX3BvcmNlbGFpbiB9LAogCQlPUFRfU0VUX0lOVCgwLCAibG9uZyIsICZzdGF0dXNfZm9ybWF0LAogCQkJICAgIE5fKCJzaG93IHN0YXR1cyBpbiBsb25nIGZvcm1hdCAoZGVmYXVsdCkiKSwKIAkJCSAgICBTVEFUVVNfRk9STUFUX0xPTkcpLApAQCAtMTM3OSw3ICsxMzg1LDEzIEBACiAJZmQgPSBob2xkX2xvY2tlZF9pbmRleCgmaW5kZXhfbG9jaywgMCk7CiAKIAlzLmlzX2luaXRpYWwgPSBnZXRfc2hhMShzLnJlZmVyZW5jZSwgc2hhMSkgPyAxIDogMDsKKwlpZiAoIXMuaXNfaW5pdGlhbCkKKwkJaGFzaGNweShzLnNoYTFfY29tbWl0LCBzaGExKTsKKwogCXMuaWdub3JlX3N1Ym1vZHVsZV9hcmcgPSBpZ25vcmVfc3VibW9kdWxlX2FyZzsKKwlzLnN0YXR1c19mb3JtYXQgPSBzdGF0dXNfZm9ybWF0OworCXMudmVyYm9zZSA9IHZlcmJvc2U7CisKIAl3dF9zdGF0dXNfY29sbGVjdCgmcyk7CiAKIAlpZiAoMCA8PSBmZCkKQEAgLTEzODgsMjMgKzE0MDAsNyBAQAogCWlmIChzLnJlbGF0aXZlX3BhdGhzKQogCQlzLnByZWZpeCA9IHByZWZpeDsKIAotCXN3aXRjaCAoc3RhdHVzX2Zvcm1hdCkgewotCWNhc2UgU1RBVFVTX0ZPUk1BVF9TSE9SVDoKLQkJd3Rfc2hvcnRzdGF0dXNfcHJpbnQoJnMpOwotCQlicmVhazsKLQljYXNlIFNUQVRVU19GT1JNQVRfUE9SQ0VMQUlOOgotCQl3dF9wb3JjZWxhaW5fcHJpbnQoJnMpOwotCQlicmVhazsKLQljYXNlIFNUQVRVU19GT1JNQVRfVU5TUEVDSUZJRUQ6Ci0JCWRpZSgiQlVHOiBmaW5hbGl6ZV9kZWZlcnJlZF9jb25maWcoKSBzaG91bGQgaGF2ZSBiZWVuIGNhbGxlZCIpOwotCQlicmVhazsKLQljYXNlIFNUQVRVU19GT1JNQVRfTk9ORToKLQljYXNlIFNUQVRVU19GT1JNQVRfTE9ORzoKLQkJcy52ZXJib3NlID0gdmVyYm9zZTsKLQkJcy5pZ25vcmVfc3VibW9kdWxlX2FyZyA9IGlnbm9yZV9zdWJtb2R1bGVfYXJnOwotCQl3dF9zdGF0dXNfcHJpbnQoJnMpOwotCQlicmVhazsKLQl9CisJd3Rfc3RhdHVzX3ByaW50KCZzKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTYxNiw3ICsxNjEyLDcgQEAKIAkJT1BUX0JPT0woMCwgImludGVyYWN0aXZlIiwgJmludGVyYWN0aXZlLCBOXygiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiKSksCiAJCU9QVF9CT09MKCdwJywgInBhdGNoIiwgJnBhdGNoX2ludGVyYWN0aXZlLCBOXygiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIpKSwKIAkJT1BUX0JPT0woJ28nLCAib25seSIsICZvbmx5LCBOXygiY29tbWl0IG9ubHkgc3BlY2lmaWVkIGZpbGVzIikpLAotCQlPUFRfQk9PTCgnbicsICJuby12ZXJpZnkiLCAmbm9fdmVyaWZ5LCBOXygiYnlwYXNzIHByZS1jb21taXQgaG9vayIpKSwKKwkJT1BUX0JPT0woJ24nLCAibm8tdmVyaWZ5IiwgJm5vX3ZlcmlmeSwgTl8oImJ5cGFzcyBwcmUtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIikpLAogCQlPUFRfQk9PTCgwLCAiZHJ5LXJ1biIsICZkcnlfcnVuLCBOXygic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIpKSwKIAkJT1BUX1NFVF9JTlQoMCwgInNob3J0IiwgJnN0YXR1c19mb3JtYXQsIE5fKCJzaG93IHN0YXR1cyBjb25jaXNlbHkiKSwKIAkJCSAgICBTVEFUVVNfRk9STUFUX1NIT1JUKSwKQEAgLTE2NDYsNyArMTY0Miw3IEBACiAJY29uc3QgY2hhciAqaW5kZXhfZmlsZSwgKnJlZmxvZ19tc2c7CiAJY2hhciAqbmw7CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHMgPSBOVUxMLCAqKnBwdHIgPSAmcGFyZW50czsKKwlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHMgPSBOVUxMOwogCXN0cnVjdCBzdGF0IHN0YXRidWY7CiAJc3RydWN0IGNvbW1pdCAqY3VycmVudF9oZWFkID0gTlVMTDsKIAlzdHJ1Y3QgY29tbWl0X2V4dHJhX2hlYWRlciAqZXh0cmEgPSBOVUxMOwpAQCAtMTY5MiwyMCArMTY4OCwxOCBAQAogCQlpZiAoIXJlZmxvZ19tc2cpCiAJCQlyZWZsb2dfbXNnID0gImNvbW1pdCAoaW5pdGlhbCkiOwogCX0gZWxzZSBpZiAoYW1lbmQpIHsKLQkJc3RydWN0IGNvbW1pdF9saXN0ICpjOwotCiAJCWlmICghcmVmbG9nX21zZykKIAkJCXJlZmxvZ19tc2cgPSAiY29tbWl0IChhbWVuZCkiOwotCQlmb3IgKGMgPSBjdXJyZW50X2hlYWQtPnBhcmVudHM7IGM7IGMgPSBjLT5uZXh0KQotCQkJcHB0ciA9ICZjb21taXRfbGlzdF9pbnNlcnQoYy0+aXRlbSwgcHB0ciktPm5leHQ7CisJCXBhcmVudHMgPSBjb3B5X2NvbW1pdF9saXN0KGN1cnJlbnRfaGVhZC0+cGFyZW50cyk7CiAJfSBlbHNlIGlmICh3aGVuY2UgPT0gRlJPTV9NRVJHRSkgewogCQlzdHJ1Y3Qgc3RyYnVmIG0gPSBTVFJCVUZfSU5JVDsKIAkJRklMRSAqZnA7CiAJCWludCBhbGxvd19mYXN0X2ZvcndhcmQgPSAxOworCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKipwcHRyID0gJnBhcmVudHM7CiAKIAkJaWYgKCFyZWZsb2dfbXNnKQogCQkJcmVmbG9nX21zZyA9ICJjb21taXQgKG1lcmdlKSI7Ci0JCXBwdHIgPSAmY29tbWl0X2xpc3RfaW5zZXJ0KGN1cnJlbnRfaGVhZCwgcHB0ciktPm5leHQ7CisJCXBwdHIgPSBjb21taXRfbGlzdF9hcHBlbmQoY3VycmVudF9oZWFkLCBwcHRyKTsKIAkJZnAgPSBmb3BlbihnaXRfcGF0aF9tZXJnZV9oZWFkKCksICJyIik7CiAJCWlmIChmcCA9PSBOVUxMKQogCQkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciKSwKQEAgLTE3MTYsNyArMTcxMCw3IEBACiAJCQlwYXJlbnQgPSBnZXRfbWVyZ2VfcGFyZW50KG0uYnVmKTsKIAkJCWlmICghcGFyZW50KQogCQkJCWRpZShfKCJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIiksIG0uYnVmKTsKLQkJCXBwdHIgPSAmY29tbWl0X2xpc3RfaW5zZXJ0KHBhcmVudCwgcHB0ciktPm5leHQ7CisJCQlwcHRyID0gY29tbWl0X2xpc3RfYXBwZW5kKHBhcmVudCwgcHB0cik7CiAJCX0KIAkJZmNsb3NlKGZwKTsKIAkJc3RyYnVmX3JlbGVhc2UoJm0pOwpAQCAtMTczMywxMiArMTcyNywxMiBAQAogCQkJcmVmbG9nX21zZyA9ICh3aGVuY2UgPT0gRlJPTV9DSEVSUllfUElDSykKIAkJCQkJPyAiY29tbWl0IChjaGVycnktcGljaykiCiAJCQkJCTogImNvbW1pdCI7Ci0JCXBwdHIgPSAmY29tbWl0X2xpc3RfaW5zZXJ0KGN1cnJlbnRfaGVhZCwgcHB0ciktPm5leHQ7CisJCWNvbW1pdF9saXN0X2luc2VydChjdXJyZW50X2hlYWQsICZwYXJlbnRzKTsKIAl9CiAKIAkvKiBGaW5hbGx5LCBnZXQgdGhlIGNvbW1pdCBtZXNzYWdlICovCiAJc3RyYnVmX3Jlc2V0KCZzYik7Ci0JaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJnNiLCBnaXRfcGF0aChjb21taXRfZWRpdG1zZyksIDApIDwgMCkgeworCWlmIChzdHJidWZfcmVhZF9maWxlKCZzYiwgZ2l0X3BhdGhfY29tbWl0X2VkaXRtc2coKSwgMCkgPCAwKSB7CiAJCWludCBzYXZlZF9lcnJubyA9IGVycm5vOwogCQlyb2xsYmFja19pbmRleF9maWxlcygpOwogCQlkaWUoXygiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIiksIHN0cmVycm9yKHNhdmVkX2Vycm5vKSk7CmRpZmYgLS1naXQgYS9idWlsdGluL2NvbmZpZy5jIGIvYnVpbHRpbi9jb25maWcuYwppbmRleCAxZDdjNmVmLi4wNTg0M2EwIDEwMDY0NAotLS0gYS9idWlsdGluL2NvbmZpZy5jCisrKyBiL2J1aWx0aW4vY29uZmlnLmMKQEAgLTI1LDcgKzI1LDYgQEAKIHN0YXRpYyBpbnQgdXNlX2dsb2JhbF9jb25maWcsIHVzZV9zeXN0ZW1fY29uZmlnLCB1c2VfbG9jYWxfY29uZmlnOwogc3RhdGljIHN0cnVjdCBnaXRfY29uZmlnX3NvdXJjZSBnaXZlbl9jb25maWdfc291cmNlOwogc3RhdGljIGludCBhY3Rpb25zLCB0eXBlczsKLXN0YXRpYyBjb25zdCBjaGFyICpnZXRfY29sb3Jfc2xvdCwgKmdldF9jb2xvcmJvb2xfc2xvdDsKIHN0YXRpYyBpbnQgZW5kX251bGw7CiBzdGF0aWMgaW50IHJlc3BlY3RfaW5jbHVkZXMgPSAtMTsKIHN0YXRpYyBpbnQgc2hvd19vcmlnaW47CkBAIC02MDQsNyArNjAzLDcgQEAKIAkJCQkgICAgICBnaXZlbl9jb25maWdfc291cmNlLmZpbGUgOiBnaXRfcGF0aCgiY29uZmlnIikpOwogCQlpZiAodXNlX2dsb2JhbF9jb25maWcpIHsKIAkJCWludCBmZCA9IG9wZW4oY29uZmlnX2ZpbGUsIE9fQ1JFQVQgfCBPX0VYQ0wgfCBPX1dST05MWSwgMDY2Nik7Ci0JCQlpZiAoZmQpIHsKKwkJCWlmIChmZCA+PSAwKSB7CiAJCQkJY2hhciAqY29udGVudCA9IGRlZmF1bHRfdXNlcl9jb25maWcoKTsKIAkJCQl3cml0ZV9zdHJfaW5fZnVsbChmZCwgY29udGVudCk7CiAJCQkJZnJlZShjb250ZW50KTsKQEAgLTYyMyw4ICs2MjIsOCBAQAogCQl2YWx1ZSA9IG5vcm1hbGl6ZV92YWx1ZShhcmd2WzBdLCBhcmd2WzFdKTsKIAkJcmV0ID0gZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZV9nZW50bHkoZ2l2ZW5fY29uZmlnX3NvdXJjZS5maWxlLCBhcmd2WzBdLCB2YWx1ZSk7CiAJCWlmIChyZXQgPT0gQ09ORklHX05PVEhJTkdfU0VUKQotCQkJZXJyb3IoImNhbm5vdCBvdmVyd3JpdGUgbXVsdGlwbGUgdmFsdWVzIHdpdGggYSBzaW5nbGUgdmFsdWVcbiIKLQkJCSIgICAgICAgVXNlIGEgcmVnZXhwLCAtLWFkZCBvciAtLXJlcGxhY2UtYWxsIHRvIGNoYW5nZSAlcy4iLCBhcmd2WzBdKTsKKwkJCWVycm9yKF8oImNhbm5vdCBvdmVyd3JpdGUgbXVsdGlwbGUgdmFsdWVzIHdpdGggYSBzaW5nbGUgdmFsdWVcbiIKKwkJCSIgICAgICAgVXNlIGEgcmVnZXhwLCAtLWFkZCBvciAtLXJlcGxhY2UtYWxsIHRvIGNoYW5nZSAlcy4iKSwgYXJndlswXSk7CiAJCXJldHVybiByZXQ7CiAJfQogCWVsc2UgaWYgKGFjdGlvbnMgPT0gQUNUSU9OX1NFVF9BTEwpIHsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vY291bnQtb2JqZWN0cy5jIGIvYnVpbHRpbi9jb3VudC1vYmplY3RzLmMKaW5kZXggYmE5MjkxOS4uYTA0YjRmMiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jb3VudC1vYmplY3RzLmMKKysrIGIvYnVpbHRpbi9jb3VudC1vYmplY3RzLmMKQEAgLTgsNiArOCw3IEBACiAjaW5jbHVkZSAiZGlyLmgiCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKKyNpbmNsdWRlICJxdW90ZS5oIgogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBnYXJiYWdlOwogc3RhdGljIG9mZl90IHNpemVfZ2FyYmFnZTsKQEAgLTczLDYgKzc0LDE0IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgcHJpbnRfYWx0ZXJuYXRlKHN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICphbHQsIHZvaWQgKmRhdGEpCit7CisJcHJpbnRmKCJhbHRlcm5hdGU6ICIpOworCXF1b3RlX2Nfc3R5bGUoYWx0LT5wYXRoLCBOVUxMLCBzdGRvdXQsIDApOworCXB1dGNoYXIoJ1xuJyk7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBjaGFyIGNvbnN0ICogY29uc3QgY291bnRfb2JqZWN0c191c2FnZVtdID0gewogCU5fKCJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIiksCiAJTlVMTApAQCAtODgsNiArOTcsOCBAQAogCQlPUFRfRU5EKCksCiAJfTsKIAorCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKKwogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0cywgY291bnRfb2JqZWN0c191c2FnZSwgMCk7CiAJLyogd2UgZG8gbm90IHRha2UgYXJndW1lbnRzIG90aGVyIHRoYW4gZmxhZ3MgZm9yIG5vdyAqLwogCWlmIChhcmdjKQpAQCAtMTQwLDYgKzE1MSw3IEBACiAJCXByaW50ZigicHJ1bmUtcGFja2FibGU6ICVsdVxuIiwgcGFja2VkX2xvb3NlKTsKIAkJcHJpbnRmKCJnYXJiYWdlOiAlbHVcbiIsIGdhcmJhZ2UpOwogCQlwcmludGYoInNpemUtZ2FyYmFnZTogJXNcbiIsIGdhcmJhZ2VfYnVmLmJ1Zik7CisJCWZvcmVhY2hfYWx0X29kYihwcmludF9hbHRlcm5hdGUsIE5VTEwpOwogCQlzdHJidWZfcmVsZWFzZSgmbG9vc2VfYnVmKTsKIAkJc3RyYnVmX3JlbGVhc2UoJnBhY2tfYnVmKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmdhcmJhZ2VfYnVmKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZGVzY3JpYmUuYyBiL2J1aWx0aW4vZGVzY3JpYmUuYwppbmRleCA4YTI1YWJlLi4wMTQ5MGExIDEwMDY0NAotLS0gYS9idWlsdGluL2Rlc2NyaWJlLmMKKysrIGIvYnVpbHRpbi9kZXNjcmliZS5jCkBAIC0zNTIsNyArMzUyLDcgQEAKIAkJCSAgICBvaWRfdG9faGV4KG9pZCkpOwogCX0KIAotCXFzb3J0KGFsbF9tYXRjaGVzLCBtYXRjaF9jbnQsIHNpemVvZihhbGxfbWF0Y2hlc1swXSksIGNvbXBhcmVfcHQpOworCVFTT1JUKGFsbF9tYXRjaGVzLCBtYXRjaF9jbnQsIGNvbXBhcmVfcHQpOwogCiAJaWYgKGdhdmVfdXBfb24pIHsKIAkJY29tbWl0X2xpc3RfaW5zZXJ0X2J5X2RhdGUoZ2F2ZV91cF9vbiwgJmxpc3QpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9kaWZmLmMgYi9idWlsdGluL2RpZmYuYwppbmRleCBiN2E5NDA1Li43ZjkxZjZkIDEwMDY0NAotLS0gYS9idWlsdGluL2RpZmYuYworKysgYi9idWlsdGluL2RpZmYuYwpAQCAtMzAxLDIwICszMDEsMjEgQEAKIAkJCWJyZWFrOwogCX0KIAotCWlmICghbm9faW5kZXgpCi0JCXByZWZpeCA9IHNldHVwX2dpdF9kaXJlY3RvcnlfZ2VudGx5KCZub25naXQpOworCXByZWZpeCA9IHNldHVwX2dpdF9kaXJlY3RvcnlfZ2VudGx5KCZub25naXQpOwogCi0JLyoKLQkgKiBUcmVhdCBnaXQgZGlmZiB3aXRoIGF0IGxlYXN0IG9uZSBwYXRoIG91dHNpZGUgb2YgdGhlCi0JICogcmVwbyB0aGUgc2FtZSBhcyBpZiB0aGUgY29tbWFuZCB3b3VsZCBoYXZlIGJlZW4gZXhlY3V0ZWQKLQkgKiBvdXRzaWRlIG9mIGEgZ2l0IHJlcG9zaXRvcnkuICBJbiB0aGlzIGNhc2UgaXQgYmVoYXZlcwotCSAqIHRoZSBzYW1lIHdheSBhcyAiZ2l0IGRpZmYgLS1uby1pbmRleCA8YT4gPGI+Iiwgd2hpY2ggYWN0cwotCSAqIGFzIGEgY29sb3VyZnVsICJkaWZmIiByZXBsYWNlbWVudC4KLQkgKi8KLQlpZiAobm9uZ2l0IHx8ICgoYXJnYyA9PSBpICsgMikgJiYKLQkJICAgICAgICghcGF0aF9pbnNpZGVfcmVwbyhwcmVmaXgsIGFyZ3ZbaV0pIHx8Ci0JCQkhcGF0aF9pbnNpZGVfcmVwbyhwcmVmaXgsIGFyZ3ZbaSArIDFdKSkpKQotCQlub19pbmRleCA9IERJRkZfTk9fSU5ERVhfSU1QTElDSVQ7CisJaWYgKCFub19pbmRleCkgeworCQkvKgorCQkgKiBUcmVhdCBnaXQgZGlmZiB3aXRoIGF0IGxlYXN0IG9uZSBwYXRoIG91dHNpZGUgb2YgdGhlCisJCSAqIHJlcG8gdGhlIHNhbWUgYXMgaWYgdGhlIGNvbW1hbmQgd291bGQgaGF2ZSBiZWVuIGV4ZWN1dGVkCisJCSAqIG91dHNpZGUgb2YgYSBnaXQgcmVwb3NpdG9yeS4gIEluIHRoaXMgY2FzZSBpdCBiZWhhdmVzCisJCSAqIHRoZSBzYW1lIHdheSBhcyAiZ2l0IGRpZmYgLS1uby1pbmRleCA8YT4gPGI+Iiwgd2hpY2ggYWN0cworCQkgKiBhcyBhIGNvbG91cmZ1bCAiZGlmZiIgcmVwbGFjZW1lbnQuCisJCSAqLworCQlpZiAobm9uZ2l0IHx8ICgoYXJnYyA9PSBpICsgMikgJiYKKwkJCSAgICAgICAoIXBhdGhfaW5zaWRlX3JlcG8ocHJlZml4LCBhcmd2W2ldKSB8fAorCQkJCSFwYXRoX2luc2lkZV9yZXBvKHByZWZpeCwgYXJndltpICsgMV0pKSkpCisJCQlub19pbmRleCA9IERJRkZfTk9fSU5ERVhfSU1QTElDSVQ7CisJfQogCiAJaWYgKCFub19pbmRleCkKIAkJZ2l0bW9kdWxlc19jb25maWcoKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZmFzdC1leHBvcnQuYyBiL2J1aWx0aW4vZmFzdC1leHBvcnQuYwppbmRleCA4MTY0YjU4Li4xZTgxNWI1IDEwMDY0NAotLS0gYS9idWlsdGluL2Zhc3QtZXhwb3J0LmMKKysrIGIvYnVpbHRpbi9mYXN0LWV4cG9ydC5jCkBAIC0zNDcsNyArMzQ3LDcgQEAKIAkgKiBIYW5kbGUgZmlsZXMgYmVsb3cgYSBkaXJlY3RvcnkgZmlyc3QsIGluIGNhc2UgdGhleSBhcmUgYWxsIGRlbGV0ZWQKIAkgKiBhbmQgdGhlIGRpcmVjdG9yeSBjaGFuZ2VzIHRvIGEgZmlsZSBvciBzeW1saW5rLgogCSAqLwotCXFzb3J0KHEtPnF1ZXVlLCBxLT5uciwgc2l6ZW9mKHEtPnF1ZXVlWzBdKSwgZGVwdGhfZmlyc3QpOworCVFTT1JUKHEtPnF1ZXVlLCBxLT5uciwgZGVwdGhfZmlyc3QpOwogCiAJZm9yIChpID0gMDsgaSA8IHEtPm5yOyBpKyspIHsKIAkJc3RydWN0IGRpZmZfZmlsZXNwZWMgKm9zcGVjID0gcS0+cXVldWVbaV0tPm9uZTsKQEAgLTM2OCw3ICszNjgsNyBAQAogCQkJcHJpbnRfcGF0aChzcGVjLT5wYXRoKTsKIAkJCXB1dGNoYXIoJ1xuJyk7CiAKLQkJCWlmICghaGFzaGNtcChvc3BlYy0+c2hhMSwgc3BlYy0+c2hhMSkgJiYKKwkJCWlmICghb2lkY21wKCZvc3BlYy0+b2lkLCAmc3BlYy0+b2lkKSAmJgogCQkJICAgIG9zcGVjLT5tb2RlID09IHNwZWMtPm1vZGUpCiAJCQkJYnJlYWs7CiAJCQkvKiBmYWxsdGhyb3VnaCAqLwpAQCAtMzgzLDEwICszODMsMTAgQEAKIAkJCWlmIChub19kYXRhIHx8IFNfSVNHSVRMSU5LKHNwZWMtPm1vZGUpKQogCQkJCXByaW50ZigiTSAlMDZvICVzICIsIHNwZWMtPm1vZGUsCiAJCQkJICAgICAgIHNoYTFfdG9faGV4KGFub255bWl6ZSA/Ci0JCQkJCQkgICBhbm9ueW1pemVfc2hhMShzcGVjLT5zaGExKSA6Ci0JCQkJCQkgICBzcGVjLT5zaGExKSk7CisJCQkJCQkgICBhbm9ueW1pemVfc2hhMShzcGVjLT5vaWQuaGFzaCkgOgorCQkJCQkJICAgc3BlYy0+b2lkLmhhc2gpKTsKIAkJCWVsc2UgewotCQkJCXN0cnVjdCBvYmplY3QgKm9iamVjdCA9IGxvb2t1cF9vYmplY3Qoc3BlYy0+c2hhMSk7CisJCQkJc3RydWN0IG9iamVjdCAqb2JqZWN0ID0gbG9va3VwX29iamVjdChzcGVjLT5vaWQuaGFzaCk7CiAJCQkJcHJpbnRmKCJNICUwNm8gOiVkICIsIHNwZWMtPm1vZGUsCiAJCQkJICAgICAgIGdldF9vYmplY3RfbWFyayhvYmplY3QpKTsKIAkJCX0KQEAgLTU3Miw3ICs1NzIsNyBAQAogCS8qIEV4cG9ydCB0aGUgcmVmZXJlbmNlZCBibG9icywgYW5kIHJlbWVtYmVyIHRoZSBtYXJrcy4gKi8KIAlmb3IgKGkgPSAwOyBpIDwgZGlmZl9xdWV1ZWRfZGlmZi5ucjsgaSsrKQogCQlpZiAoIVNfSVNHSVRMSU5LKGRpZmZfcXVldWVkX2RpZmYucXVldWVbaV0tPnR3by0+bW9kZSkpCi0JCQlleHBvcnRfYmxvYihkaWZmX3F1ZXVlZF9kaWZmLnF1ZXVlW2ldLT50d28tPnNoYTEpOworCQkJZXhwb3J0X2Jsb2IoZGlmZl9xdWV1ZWRfZGlmZi5xdWV1ZVtpXS0+dHdvLT5vaWQuaGFzaCk7CiAKIAlyZWZuYW1lID0gY29tbWl0LT51dGlsOwogCWlmIChhbm9ueW1pemUpIHsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZmV0Y2gtcGFjay5jIGIvYnVpbHRpbi9mZXRjaC1wYWNrLmMKaW5kZXggYmZkMGJlNC4uY2ZlOWU0NCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9mZXRjaC1wYWNrLmMKKysrIGIvYnVpbHRpbi9mZXRjaC1wYWNrLmMKQEAgLTUxLDYgKzUxLDcgQEAKIAlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY29ubjsKIAlzdHJ1Y3QgZmV0Y2hfcGFja19hcmdzIGFyZ3M7CiAJc3RydWN0IHNoYTFfYXJyYXkgc2hhbGxvdyA9IFNIQTFfQVJSQVlfSU5JVDsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgZGVlcGVuX25vdCA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogCiAJcGFja2V0X3RyYWNlX2lkZW50aXR5KCJmZXRjaC1wYWNrIik7CiAKQEAgLTYwLDEyICs2MSwxMiBAQAogCWZvciAoaSA9IDE7IGkgPCBhcmdjICYmICphcmd2W2ldID09ICctJzsgaSsrKSB7CiAJCWNvbnN0IGNoYXIgKmFyZyA9IGFyZ3ZbaV07CiAKLQkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tdXBsb2FkLXBhY2s9IikpIHsKLQkJCWFyZ3MudXBsb2FkcGFjayA9IGFyZyArIDE0OworCQlpZiAoc2tpcF9wcmVmaXgoYXJnLCAiLS11cGxvYWQtcGFjaz0iLCAmYXJnKSkgeworCQkJYXJncy51cGxvYWRwYWNrID0gYXJnOwogCQkJY29udGludWU7CiAJCX0KLQkJaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tZXhlYz0iKSkgewotCQkJYXJncy51cGxvYWRwYWNrID0gYXJnICsgNzsKKwkJaWYgKHNraXBfcHJlZml4KGFyZywgIi0tZXhlYz0iLCAmYXJnKSkgeworCQkJYXJncy51cGxvYWRwYWNrID0gYXJnOwogCQkJY29udGludWU7CiAJCX0KIAkJaWYgKCFzdHJjbXAoIi0tcXVpZXQiLCBhcmcpIHx8ICFzdHJjbXAoIi1xIiwgYXJnKSkgewpAQCAtMTAxLDggKzEwMiwyMCBAQAogCQkJYXJncy52ZXJib3NlID0gMTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWlmIChzdGFydHNfd2l0aChhcmcsICItLWRlcHRoPSIpKSB7Ci0JCQlhcmdzLmRlcHRoID0gc3RydG9sKGFyZyArIDgsIE5VTEwsIDApOworCQlpZiAoc2tpcF9wcmVmaXgoYXJnLCAiLS1kZXB0aD0iLCAmYXJnKSkgeworCQkJYXJncy5kZXB0aCA9IHN0cnRvbChhcmcsIE5VTEwsIDApOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKHNraXBfcHJlZml4KGFyZywgIi0tc2hhbGxvdy1zaW5jZT0iLCAmYXJnKSkgeworCQkJYXJncy5kZWVwZW5fc2luY2UgPSB4c3RyZHVwKGFyZyk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoc2tpcF9wcmVmaXgoYXJnLCAiLS1zaGFsbG93LWV4Y2x1ZGU9IiwgJmFyZykpIHsKKwkJCXN0cmluZ19saXN0X2FwcGVuZCgmZGVlcGVuX25vdCwgYXJnKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICghc3RyY21wKGFyZywgIi0tZGVlcGVuLXJlbGF0aXZlIikpIHsKKwkJCWFyZ3MuZGVlcGVuX3JlbGF0aXZlID0gMTsKIAkJCWNvbnRpbnVlOwogCQl9CiAJCWlmICghc3RyY21wKCItLW5vLXByb2dyZXNzIiwgYXJnKSkgewpAQCAtMTMyLDYgKzE0NSw4IEBACiAJCX0KIAkJdXNhZ2UoZmV0Y2hfcGFja191c2FnZSk7CiAJfQorCWlmIChkZWVwZW5fbm90Lm5yKQorCQlhcmdzLmRlZXBlbl9ub3QgPSAmZGVlcGVuX25vdDsKIAogCWlmIChpIDwgYXJnYykKIAkJZGVzdCA9IGFyZ3ZbaSsrXTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZmV0Y2guYyBiL2J1aWx0aW4vZmV0Y2guYwppbmRleCAxNTgyY2E3Li5iNmE1NTk3IDEwMDY0NAotLS0gYS9idWlsdGluL2ZldGNoLmMKKysrIGIvYnVpbHRpbi9mZXRjaC5jCkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSAic3VibW9kdWxlLmgiCiAjaW5jbHVkZSAiY29ubmVjdGVkLmgiCiAjaW5jbHVkZSAiYXJndi1hcnJheS5oIgorI2luY2x1ZGUgInV0ZjguaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBidWlsdGluX2ZldGNoX3VzYWdlW10gPSB7CiAJTl8oImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIpLApAQCAtMzQsMTMgKzM1LDE1IEBACiBzdGF0aWMgaW50IHBydW5lID0gLTE7IC8qIHVuc3BlY2lmaWVkICovCiAjZGVmaW5lIFBSVU5FX0JZX0RFRkFVTFQgMCAvKiBkbyB3ZSBwcnVuZSBieSBkZWZhdWx0PyAqLwogCi1zdGF0aWMgaW50IGFsbCwgYXBwZW5kLCBkcnlfcnVuLCBmb3JjZSwga2VlcCwgbXVsdGlwbGUsIHVwZGF0ZV9oZWFkX29rLCB2ZXJib3NpdHk7CitzdGF0aWMgaW50IGFsbCwgYXBwZW5kLCBkcnlfcnVuLCBmb3JjZSwga2VlcCwgbXVsdGlwbGUsIHVwZGF0ZV9oZWFkX29rLCB2ZXJib3NpdHksIGRlZXBlbl9yZWxhdGl2ZTsKIHN0YXRpYyBpbnQgcHJvZ3Jlc3MgPSAtMSwgcmVjdXJzZV9zdWJtb2R1bGVzID0gUkVDVVJTRV9TVUJNT0RVTEVTX0RFRkFVTFQ7Ci1zdGF0aWMgaW50IHRhZ3MgPSBUQUdTX0RFRkFVTFQsIHVuc2hhbGxvdywgdXBkYXRlX3NoYWxsb3c7CitzdGF0aWMgaW50IHRhZ3MgPSBUQUdTX0RFRkFVTFQsIHVuc2hhbGxvdywgdXBkYXRlX3NoYWxsb3csIGRlZXBlbjsKIHN0YXRpYyBpbnQgbWF4X2NoaWxkcmVuID0gLTE7CiBzdGF0aWMgZW51bSB0cmFuc3BvcnRfZmFtaWx5IGZhbWlseTsKIHN0YXRpYyBjb25zdCBjaGFyICpkZXB0aDsKK3N0YXRpYyBjb25zdCBjaGFyICpkZWVwZW5fc2luY2U7CiBzdGF0aWMgY29uc3QgY2hhciAqdXBsb2FkX3BhY2s7CitzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IGRlZXBlbl9ub3QgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogc3RhdGljIHN0cnVjdCBzdHJidWYgZGVmYXVsdF9ybGEgPSBTVFJCVUZfSU5JVDsKIHN0YXRpYyBzdHJ1Y3QgdHJhbnNwb3J0ICpndHJhbnNwb3J0Owogc3RhdGljIHN0cnVjdCB0cmFuc3BvcnQgKmdzZWNvbmRhcnk7CkBAIC0xMTYsNiArMTE5LDEyIEBACiAJT1BUX0JPT0woMCwgInByb2dyZXNzIiwgJnByb2dyZXNzLCBOXygiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIikpLAogCU9QVF9TVFJJTkcoMCwgImRlcHRoIiwgJmRlcHRoLCBOXygiZGVwdGgiKSwKIAkJICAgTl8oImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiKSksCisJT1BUX1NUUklORygwLCAic2hhbGxvdy1zaW5jZSIsICZkZWVwZW5fc2luY2UsIE5fKCJ0aW1lIiksCisJCSAgIE5fKCJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IHJlcG9zaXRvcnkgYmFzZWQgb24gdGltZSIpKSwKKwlPUFRfU1RSSU5HX0xJU1QoMCwgInNoYWxsb3ctZXhjbHVkZSIsICZkZWVwZW5fbm90LCBOXygicmV2aXNpb24iKSwKKwkJCU5fKCJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIGJ5IGV4Y2x1ZGluZyByZXYiKSksCisJT1BUX0lOVEVHRVIoMCwgImRlZXBlbiIsICZkZWVwZW5fcmVsYXRpdmUsCisJCSAgICBOXygiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSIpKSwKIAl7IE9QVElPTl9TRVRfSU5ULCAwLCAidW5zaGFsbG93IiwgJnVuc2hhbGxvdywgTlVMTCwKIAkJICAgTl8oImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IiksCiAJCSAgIFBBUlNFX09QVF9OT05FRyB8IFBBUlNFX09QVF9OT0FSRywgTlVMTCwgMSB9LApAQCAtMjMyLDkgKzI0MSwxMCBAQAogCQkgKiBhcyBvbmUgdG8gaWdub3JlIGJ5IHNldHRpbmcgdXRpbCB0byBOVUxMLgogCQkgKi8KIAkJaWYgKGVuZHNfd2l0aChyZWYtPm5hbWUsICJee30iKSkgewotCQkJaWYgKGl0ZW0gJiYgIWhhc19vYmplY3RfZmlsZSgmcmVmLT5vbGRfb2lkKSAmJgorCQkJaWYgKGl0ZW0gJiYKKwkJCSAgICAhaGFzX29iamVjdF9maWxlX3dpdGhfZmxhZ3MoJnJlZi0+b2xkX29pZCwgSEFTX1NIQTFfUVVJQ0spICYmCiAJCQkgICAgIXdpbGxfZmV0Y2goaGVhZCwgcmVmLT5vbGRfb2lkLmhhc2gpICYmCi0JCQkgICAgIWhhc19zaGExX2ZpbGUoaXRlbS0+dXRpbCkgJiYKKwkJCSAgICAhaGFzX3NoYTFfZmlsZV93aXRoX2ZsYWdzKGl0ZW0tPnV0aWwsIEhBU19TSEExX1FVSUNLKSAmJgogCQkJICAgICF3aWxsX2ZldGNoKGhlYWQsIGl0ZW0tPnV0aWwpKQogCQkJCWl0ZW0tPnV0aWwgPSBOVUxMOwogCQkJaXRlbSA9IE5VTEw7CkBAIC0yNDcsNyArMjU3LDggQEAKIAkJICogdG8gY2hlY2sgaWYgaXQgaXMgYSBsaWdodHdlaWdodCB0YWcgdGhhdCB3ZSB3YW50IHRvCiAJCSAqIGZldGNoLgogCQkgKi8KLQkJaWYgKGl0ZW0gJiYgIWhhc19zaGExX2ZpbGUoaXRlbS0+dXRpbCkgJiYKKwkJaWYgKGl0ZW0gJiYKKwkJICAgICFoYXNfc2hhMV9maWxlX3dpdGhfZmxhZ3MoaXRlbS0+dXRpbCwgSEFTX1NIQTFfUVVJQ0spICYmCiAJCSAgICAhd2lsbF9mZXRjaChoZWFkLCBpdGVtLT51dGlsKSkKIAkJCWl0ZW0tPnV0aWwgPSBOVUxMOwogCkBAIC0yNjcsNyArMjc4LDggQEAKIAkgKiBXZSBtYXkgaGF2ZSBhIGZpbmFsIGxpZ2h0d2VpZ2h0IHRhZyB0aGF0IG5lZWRzIHRvIGJlCiAJICogY2hlY2tlZCB0byBzZWUgaWYgaXQgbmVlZHMgZmV0Y2hpbmcuCiAJICovCi0JaWYgKGl0ZW0gJiYgIWhhc19zaGExX2ZpbGUoaXRlbS0+dXRpbCkgJiYKKwlpZiAoaXRlbSAmJgorCSAgICAhaGFzX3NoYTFfZmlsZV93aXRoX2ZsYWdzKGl0ZW0tPnV0aWwsIEhBU19TSEExX1FVSUNLKSAmJgogCSAgICAhd2lsbF9mZXRjaChoZWFkLCBpdGVtLT51dGlsKSkKIAkJaXRlbS0+dXRpbCA9IE5VTEw7CiAKQEAgLTQ0OSwxMiArNDYxLDE0MSBAQAogCQkJICAgOiBTVE9SRV9SRUZfRVJST1JfT1RIRVI7CiB9CiAKLSNkZWZpbmUgUkVGQ09MX1dJRFRIICAxMAorc3RhdGljIGludCByZWZjb2xfd2lkdGggPSAxMDsKK3N0YXRpYyBpbnQgY29tcGFjdF9mb3JtYXQ7CisKK3N0YXRpYyB2b2lkIGFkanVzdF9yZWZjb2xfd2lkdGgoY29uc3Qgc3RydWN0IHJlZiAqcmVmKQoreworCWludCBtYXgsIHJsZW4sIGxsZW4sIGxlbjsKKworCS8qIHVwdG9kYXRlIGxpbmVzIGFyZSBvbmx5IHNob3duIG9uIGhpZ2ggdmVyYm9zaXR5IGxldmVsICovCisJaWYgKCF2ZXJib3NpdHkgJiYgIW9pZGNtcCgmcmVmLT5wZWVyX3JlZi0+b2xkX29pZCwgJnJlZi0+b2xkX29pZCkpCisJCXJldHVybjsKKworCW1heCAgICA9IHRlcm1fY29sdW1ucygpOworCXJsZW4gICA9IHV0Zjhfc3Ryd2lkdGgocHJldHRpZnlfcmVmbmFtZShyZWYtPm5hbWUpKTsKKworCWxsZW4gICA9IHV0Zjhfc3Ryd2lkdGgocHJldHRpZnlfcmVmbmFtZShyZWYtPnBlZXJfcmVmLT5uYW1lKSk7CisKKwkvKgorCSAqIHJvdWdoIGVzdGltYXRpb24gdG8gc2VlIGlmIHRoZSBvdXRwdXQgbGluZSBpcyB0b28gbG9uZyBhbmQKKwkgKiBzaG91bGQgbm90IGJlIGNvdW50ZWQgKHdlIGNhbid0IGRvIHByZWNpc2UgY2FsY3VsYXRpb24KKwkgKiBhbnl3YXkgYmVjYXVzZSB3ZSBkb24ndCBrbm93IGlmIHRoZSBlcnJvciBleHBsYW5hdGlvbiBwYXJ0CisJICogd2lsbCBiZSBwcmludGVkIGluIHVwZGF0ZV9sb2NhbF9yZWYpCisJICovCisJaWYgKGNvbXBhY3RfZm9ybWF0KSB7CisJCWxsZW4gPSAwOworCQltYXggPSBtYXggKiAyIC8gMzsKKwl9CisJbGVuID0gMjEgLyogZmxhZyBhbmQgc3VtbWFyeSAqLyArIHJsZW4gKyA0IC8qIC0+ICovICsgbGxlbjsKKwlpZiAobGVuID49IG1heCkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBOb3QgcHJlY2lzZSBjYWxjdWxhdGlvbiBmb3IgY29tcGFjdCBtb2RlIGJlY2F1c2UgJyonIGNhbgorCSAqIGFwcGVhciBvbiB0aGUgbGVmdCBoYW5kIHNpZGUgb2YgJy0+JyBhbmQgc2hyaW5rIHRoZSBjb2x1bW4KKwkgKiBiYWNrLgorCSAqLworCWlmIChyZWZjb2xfd2lkdGggPCBybGVuKQorCQlyZWZjb2xfd2lkdGggPSBybGVuOworfQorCitzdGF0aWMgdm9pZCBwcmVwYXJlX2Zvcm1hdF9kaXNwbGF5KHN0cnVjdCByZWYgKnJlZl9tYXApCit7CisJc3RydWN0IHJlZiAqcm07CisJY29uc3QgY2hhciAqZm9ybWF0ID0gImZ1bGwiOworCisJZ2l0X2NvbmZpZ19nZXRfc3RyaW5nX2NvbnN0KCJmZXRjaC5vdXRwdXQiLCAmZm9ybWF0KTsKKwlpZiAoIXN0cmNhc2VjbXAoZm9ybWF0LCAiZnVsbCIpKQorCQljb21wYWN0X2Zvcm1hdCA9IDA7CisJZWxzZSBpZiAoIXN0cmNhc2VjbXAoZm9ybWF0LCAiY29tcGFjdCIpKQorCQljb21wYWN0X2Zvcm1hdCA9IDE7CisJZWxzZQorCQlkaWUoXygiY29uZmlndXJhdGlvbiBmZXRjaC5vdXRwdXQgY29udGFpbnMgaW52YWxpZCB2YWx1ZSAlcyIpLAorCQkgICAgZm9ybWF0KTsKKworCWZvciAocm0gPSByZWZfbWFwOyBybTsgcm0gPSBybS0+bmV4dCkgeworCQlpZiAocm0tPnN0YXR1cyA9PSBSRUZfU1RBVFVTX1JFSkVDVF9TSEFMTE9XIHx8CisJCSAgICAhcm0tPnBlZXJfcmVmIHx8CisJCSAgICAhc3RyY21wKHJtLT5uYW1lLCAiSEVBRCIpKQorCQkJY29udGludWU7CisKKwkJYWRqdXN0X3JlZmNvbF93aWR0aChybSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBwcmludF9yZW1vdGVfdG9fbG9jYWwoc3RydWN0IHN0cmJ1ZiAqZGlzcGxheSwKKwkJCQkgIGNvbnN0IGNoYXIgKnJlbW90ZSwgY29uc3QgY2hhciAqbG9jYWwpCit7CisJc3RyYnVmX2FkZGYoZGlzcGxheSwgIiUtKnMgLT4gJXMiLCByZWZjb2xfd2lkdGgsIHJlbW90ZSwgbG9jYWwpOworfQorCitzdGF0aWMgaW50IGZpbmRfYW5kX3JlcGxhY2Uoc3RydWN0IHN0cmJ1ZiAqaGF5c3RhY2ssCisJCQkgICAgY29uc3QgY2hhciAqbmVlZGxlLAorCQkJICAgIGNvbnN0IGNoYXIgKnBsYWNlaG9sZGVyKQoreworCWNvbnN0IGNoYXIgKnAgPSBzdHJzdHIoaGF5c3RhY2stPmJ1ZiwgbmVlZGxlKTsKKwlpbnQgcGxlbiwgbmxlbjsKKworCWlmICghcCkKKwkJcmV0dXJuIDA7CisKKwlpZiAocCA+IGhheXN0YWNrLT5idWYgJiYgcFstMV0gIT0gJy8nKQorCQlyZXR1cm4gMDsKKworCXBsZW4gPSBzdHJsZW4ocCk7CisJbmxlbiA9IHN0cmxlbihuZWVkbGUpOworCWlmIChwbGVuID4gbmxlbiAmJiBwW25sZW5dICE9ICcvJykKKwkJcmV0dXJuIDA7CisKKwlzdHJidWZfc3BsaWNlKGhheXN0YWNrLCBwIC0gaGF5c3RhY2stPmJ1ZiwgbmxlbiwKKwkJICAgICAgcGxhY2Vob2xkZXIsIHN0cmxlbihwbGFjZWhvbGRlcikpOworCXJldHVybiAxOworfQorCitzdGF0aWMgdm9pZCBwcmludF9jb21wYWN0KHN0cnVjdCBzdHJidWYgKmRpc3BsYXksCisJCQkgIGNvbnN0IGNoYXIgKnJlbW90ZSwgY29uc3QgY2hhciAqbG9jYWwpCit7CisJc3RydWN0IHN0cmJ1ZiByID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBsID0gU1RSQlVGX0lOSVQ7CisKKwlpZiAoIXN0cmNtcChyZW1vdGUsIGxvY2FsKSkgeworCQlzdHJidWZfYWRkZihkaXNwbGF5LCAiJS0qcyAtPiAqIiwgcmVmY29sX3dpZHRoLCByZW1vdGUpOworCQlyZXR1cm47CisJfQorCisJc3RyYnVmX2FkZHN0cigmciwgcmVtb3RlKTsKKwlzdHJidWZfYWRkc3RyKCZsLCBsb2NhbCk7CisKKwlpZiAoIWZpbmRfYW5kX3JlcGxhY2UoJnIsIGxvY2FsLCAiKiIpKQorCQlmaW5kX2FuZF9yZXBsYWNlKCZsLCByZW1vdGUsICIqIik7CisJcHJpbnRfcmVtb3RlX3RvX2xvY2FsKGRpc3BsYXksIHIuYnVmLCBsLmJ1Zik7CisKKwlzdHJidWZfcmVsZWFzZSgmcik7CisJc3RyYnVmX3JlbGVhc2UoJmwpOworfQorCitzdGF0aWMgdm9pZCBmb3JtYXRfZGlzcGxheShzdHJ1Y3Qgc3RyYnVmICpkaXNwbGF5LCBjaGFyIGNvZGUsCisJCQkgICBjb25zdCBjaGFyICpzdW1tYXJ5LCBjb25zdCBjaGFyICplcnJvciwKKwkJCSAgIGNvbnN0IGNoYXIgKnJlbW90ZSwgY29uc3QgY2hhciAqbG9jYWwsCisJCQkgICBpbnQgc3VtbWFyeV93aWR0aCkKK3sKKwlpbnQgd2lkdGggPSAoc3VtbWFyeV93aWR0aCArIHN0cmxlbihzdW1tYXJ5KSAtIGdldHRleHRfd2lkdGgoc3VtbWFyeSkpOworCisJc3RyYnVmX2FkZGYoZGlzcGxheSwgIiVjICUtKnMgIiwgY29kZSwgd2lkdGgsIHN1bW1hcnkpOworCWlmICghY29tcGFjdF9mb3JtYXQpCisJCXByaW50X3JlbW90ZV90b19sb2NhbChkaXNwbGF5LCByZW1vdGUsIGxvY2FsKTsKKwllbHNlCisJCXByaW50X2NvbXBhY3QoZGlzcGxheSwgcmVtb3RlLCBsb2NhbCk7CisJaWYgKGVycm9yKQorCQlzdHJidWZfYWRkZihkaXNwbGF5LCAiICAoJXMpIiwgZXJyb3IpOworfQogCiBzdGF0aWMgaW50IHVwZGF0ZV9sb2NhbF9yZWYoc3RydWN0IHJlZiAqcmVmLAogCQkJICAgIGNvbnN0IGNoYXIgKnJlbW90ZSwKIAkJCSAgICBjb25zdCBzdHJ1Y3QgcmVmICpyZW1vdGVfcmVmLAotCQkJICAgIHN0cnVjdCBzdHJidWYgKmRpc3BsYXkpCisJCQkgICAgc3RydWN0IHN0cmJ1ZiAqZGlzcGxheSwKKwkJCSAgICBpbnQgc3VtbWFyeV93aWR0aCkKIHsKIAlzdHJ1Y3QgY29tbWl0ICpjdXJyZW50ID0gTlVMTCwgKnVwZGF0ZWQ7CiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwpAQCAtNDY3LDkgKzYwOCw4IEBACiAKIAlpZiAoIW9pZGNtcCgmcmVmLT5vbGRfb2lkLCAmcmVmLT5uZXdfb2lkKSkgewogCQlpZiAodmVyYm9zaXR5ID4gMCkKLQkJCXN0cmJ1Zl9hZGRmKGRpc3BsYXksICI9ICUtKnMgJS0qcyAtPiAlcyIsCi0JCQkJICAgIFRSQU5TUE9SVF9TVU1NQVJZKF8oIlt1cCB0byBkYXRlXSIpKSwKLQkJCQkgICAgUkVGQ09MX1dJRFRILCByZW1vdGUsIHByZXR0eV9yZWYpOworCQkJZm9ybWF0X2Rpc3BsYXkoZGlzcGxheSwgJz0nLCBfKCJbdXAgdG8gZGF0ZV0iKSwgTlVMTCwKKwkJCQkgICAgICAgcmVtb3RlLCBwcmV0dHlfcmVmLCBzdW1tYXJ5X3dpZHRoKTsKIAkJcmV0dXJuIDA7CiAJfQogCkBAIC00ODEsMTAgKzYyMSw5IEBACiAJCSAqIElmIHRoaXMgaXMgdGhlIGhlYWQsIGFuZCBpdCdzIG5vdCBva2F5IHRvIHVwZGF0ZQogCQkgKiB0aGUgaGVhZCwgYW5kIHRoZSBvbGQgdmFsdWUgb2YgdGhlIGhlYWQgaXNuJ3QgZW1wdHkuLi4KIAkJICovCi0JCXN0cmJ1Zl9hZGRmKGRpc3BsYXksCi0JCQkgICAgXygiISAlLSpzICUtKnMgLT4gJXMgIChjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCkiKSwKLQkJCSAgICBUUkFOU1BPUlRfU1VNTUFSWShfKCJbcmVqZWN0ZWRdIikpLAotCQkJICAgIFJFRkNPTF9XSURUSCwgcmVtb3RlLCBwcmV0dHlfcmVmKTsKKwkJZm9ybWF0X2Rpc3BsYXkoZGlzcGxheSwgJyEnLCBfKCJbcmVqZWN0ZWRdIiksCisJCQkgICAgICAgXygiY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2giKSwKKwkJCSAgICAgICByZW1vdGUsIHByZXR0eV9yZWYsIHN1bW1hcnlfd2lkdGgpOwogCQlyZXR1cm4gMTsKIAl9CiAKQEAgLTQ5MiwxMSArNjMxLDkgQEAKIAkgICAgc3RhcnRzX3dpdGgocmVmLT5uYW1lLCAicmVmcy90YWdzLyIpKSB7CiAJCWludCByOwogCQlyID0gc191cGRhdGVfcmVmKCJ1cGRhdGluZyB0YWciLCByZWYsIDApOwotCQlzdHJidWZfYWRkZihkaXNwbGF5LCAiJWMgJS0qcyAlLSpzIC0+ICVzJXMiLAotCQkJICAgIHIgPyAnIScgOiAnLScsCi0JCQkgICAgVFJBTlNQT1JUX1NVTU1BUlkoXygiW3RhZyB1cGRhdGVdIikpLAotCQkJICAgIFJFRkNPTF9XSURUSCwgcmVtb3RlLCBwcmV0dHlfcmVmLAotCQkJICAgIHIgPyBfKCIgICh1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZikiKSA6ICIiKTsKKwkJZm9ybWF0X2Rpc3BsYXkoZGlzcGxheSwgciA/ICchJyA6ICd0JywgXygiW3RhZyB1cGRhdGVdIiksCisJCQkgICAgICAgciA/IF8oInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIikgOiBOVUxMLAorCQkJICAgICAgIHJlbW90ZSwgcHJldHR5X3JlZiwgc3VtbWFyeV93aWR0aCk7CiAJCXJldHVybiByOwogCX0KIApAQCAtNTI3LDExICs2NjQsOSBAQAogCQkgICAgKHJlY3Vyc2Vfc3VibW9kdWxlcyAhPSBSRUNVUlNFX1NVQk1PRFVMRVNfT04pKQogCQkJY2hlY2tfZm9yX25ld19zdWJtb2R1bGVfY29tbWl0cyhyZWYtPm5ld19vaWQuaGFzaCk7CiAJCXIgPSBzX3VwZGF0ZV9yZWYobXNnLCByZWYsIDApOwotCQlzdHJidWZfYWRkZihkaXNwbGF5LCAiJWMgJS0qcyAlLSpzIC0+ICVzJXMiLAotCQkJICAgIHIgPyAnIScgOiAnKicsCi0JCQkgICAgVFJBTlNQT1JUX1NVTU1BUlkod2hhdCksCi0JCQkgICAgUkVGQ09MX1dJRFRILCByZW1vdGUsIHByZXR0eV9yZWYsCi0JCQkgICAgciA/IF8oIiAgKHVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmKSIpIDogIiIpOworCQlmb3JtYXRfZGlzcGxheShkaXNwbGF5LCByID8gJyEnIDogJyonLCB3aGF0LAorCQkJICAgICAgIHIgPyBfKCJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIpIDogTlVMTCwKKwkJCSAgICAgICByZW1vdGUsIHByZXR0eV9yZWYsIHN1bW1hcnlfd2lkdGgpOwogCQlyZXR1cm4gcjsKIAl9CiAKQEAgLTU0NSwxMSArNjgwLDkgQEAKIAkJICAgIChyZWN1cnNlX3N1Ym1vZHVsZXMgIT0gUkVDVVJTRV9TVUJNT0RVTEVTX09OKSkKIAkJCWNoZWNrX2Zvcl9uZXdfc3VibW9kdWxlX2NvbW1pdHMocmVmLT5uZXdfb2lkLmhhc2gpOwogCQlyID0gc191cGRhdGVfcmVmKCJmYXN0LWZvcndhcmQiLCByZWYsIDEpOwotCQlzdHJidWZfYWRkZihkaXNwbGF5LCAiJWMgJS0qcyAlLSpzIC0+ICVzJXMiLAotCQkJICAgIHIgPyAnIScgOiAnICcsCi0JCQkgICAgVFJBTlNQT1JUX1NVTU1BUllfV0lEVEgsIHF1aWNrcmVmLmJ1ZiwKLQkJCSAgICBSRUZDT0xfV0lEVEgsIHJlbW90ZSwgcHJldHR5X3JlZiwKLQkJCSAgICByID8gXygiICAodW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYpIikgOiAiIik7CisJCWZvcm1hdF9kaXNwbGF5KGRpc3BsYXksIHIgPyAnIScgOiAnICcsIHF1aWNrcmVmLmJ1ZiwKKwkJCSAgICAgICByID8gXygidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiKSA6IE5VTEwsCisJCQkgICAgICAgcmVtb3RlLCBwcmV0dHlfcmVmLCBzdW1tYXJ5X3dpZHRoKTsKIAkJc3RyYnVmX3JlbGVhc2UoJnF1aWNrcmVmKTsKIAkJcmV0dXJuIHI7CiAJfSBlbHNlIGlmIChmb3JjZSB8fCByZWYtPmZvcmNlKSB7CkBAIC01NjIsMTggKzY5NSwxNCBAQAogCQkgICAgKHJlY3Vyc2Vfc3VibW9kdWxlcyAhPSBSRUNVUlNFX1NVQk1PRFVMRVNfT04pKQogCQkJY2hlY2tfZm9yX25ld19zdWJtb2R1bGVfY29tbWl0cyhyZWYtPm5ld19vaWQuaGFzaCk7CiAJCXIgPSBzX3VwZGF0ZV9yZWYoImZvcmNlZC11cGRhdGUiLCByZWYsIDEpOwotCQlzdHJidWZfYWRkZihkaXNwbGF5LCAiJWMgJS0qcyAlLSpzIC0+ICVzICAoJXMpIiwKLQkJCSAgICByID8gJyEnIDogJysnLAotCQkJICAgIFRSQU5TUE9SVF9TVU1NQVJZX1dJRFRILCBxdWlja3JlZi5idWYsCi0JCQkgICAgUkVGQ09MX1dJRFRILCByZW1vdGUsIHByZXR0eV9yZWYsCi0JCQkgICAgciA/IF8oInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIikgOiBfKCJmb3JjZWQgdXBkYXRlIikpOworCQlmb3JtYXRfZGlzcGxheShkaXNwbGF5LCByID8gJyEnIDogJysnLCBxdWlja3JlZi5idWYsCisJCQkgICAgICAgciA/IF8oInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIikgOiBfKCJmb3JjZWQgdXBkYXRlIiksCisJCQkgICAgICAgcmVtb3RlLCBwcmV0dHlfcmVmLCBzdW1tYXJ5X3dpZHRoKTsKIAkJc3RyYnVmX3JlbGVhc2UoJnF1aWNrcmVmKTsKIAkJcmV0dXJuIHI7CiAJfSBlbHNlIHsKLQkJc3RyYnVmX2FkZGYoZGlzcGxheSwgIiEgJS0qcyAlLSpzIC0+ICVzICAlcyIsCi0JCQkgICAgVFJBTlNQT1JUX1NVTU1BUlkoXygiW3JlamVjdGVkXSIpKSwKLQkJCSAgICBSRUZDT0xfV0lEVEgsIHJlbW90ZSwgcHJldHR5X3JlZiwKLQkJCSAgICBfKCIobm9uLWZhc3QtZm9yd2FyZCkiKSk7CisJCWZvcm1hdF9kaXNwbGF5KGRpc3BsYXksICchJywgXygiW3JlamVjdGVkXSIpLCBfKCJub24tZmFzdC1mb3J3YXJkIiksCisJCQkgICAgICAgcmVtb3RlLCBwcmV0dHlfcmVmLCBzdW1tYXJ5X3dpZHRoKTsKIAkJcmV0dXJuIDE7CiAJfQogfQpAQCAtNjA0LDYgKzczMyw3IEBACiAJY2hhciAqdXJsOwogCWNvbnN0IGNoYXIgKmZpbGVuYW1lID0gZHJ5X3J1biA/ICIvZGV2L251bGwiIDogZ2l0X3BhdGhfZmV0Y2hfaGVhZCgpOwogCWludCB3YW50X3N0YXR1czsKKwlpbnQgc3VtbWFyeV93aWR0aCA9IHRyYW5zcG9ydF9zdW1tYXJ5X3dpZHRoKHJlZl9tYXApOwogCiAJZnAgPSBmb3BlbihmaWxlbmFtZSwgImEiKTsKIAlpZiAoIWZwKQpAQCAtNjE1LDExICs3NDUsMTMgQEAKIAkJdXJsID0geHN0cmR1cCgiZm9yZWlnbiIpOwogCiAJcm0gPSByZWZfbWFwOwotCWlmIChjaGVja19ldmVyeXRoaW5nX2Nvbm5lY3RlZChpdGVyYXRlX3JlZl9tYXAsIDAsICZybSkpIHsKKwlpZiAoY2hlY2tfY29ubmVjdGVkKGl0ZXJhdGVfcmVmX21hcCwgJnJtLCBOVUxMKSkgewogCQlyYyA9IGVycm9yKF8oIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIpLCB1cmwpOwogCQlnb3RvIGFib3J0OwogCX0KIAorCXByZXBhcmVfZm9ybWF0X2Rpc3BsYXkocmVmX21hcCk7CisKIAkvKgogCSAqIFdlIGRvIGEgcGFzcyBmb3IgZWFjaCBmZXRjaF9oZWFkX3N0YXR1cyB0eXBlIGluIHRoZWlyIGVudW0gb3JkZXIsIHNvCiAJICogbWVyZ2VkIGVudHJpZXMgYXJlIHdyaXR0ZW4gYmVmb3JlIG5vdC1mb3ItbWVyZ2UuIFRoYXQgbGV0cyByZWFkZXJzCkBAIC03MTEsMTQgKzg0MywxNCBAQAogCiAJCQlzdHJidWZfcmVzZXQoJm5vdGUpOwogCQkJaWYgKHJlZikgewotCQkJCXJjIHw9IHVwZGF0ZV9sb2NhbF9yZWYocmVmLCB3aGF0LCBybSwgJm5vdGUpOworCQkJCXJjIHw9IHVwZGF0ZV9sb2NhbF9yZWYocmVmLCB3aGF0LCBybSwgJm5vdGUsCisJCQkJCQkgICAgICAgc3VtbWFyeV93aWR0aCk7CiAJCQkJZnJlZShyZWYpOwogCQkJfSBlbHNlCi0JCQkJc3RyYnVmX2FkZGYoJm5vdGUsICIqICUtKnMgJS0qcyAtPiBGRVRDSF9IRUFEIiwKLQkJCQkJICAgIFRSQU5TUE9SVF9TVU1NQVJZX1dJRFRILAotCQkJCQkgICAgKmtpbmQgPyBraW5kIDogImJyYW5jaCIsCi0JCQkJCSAgICBSRUZDT0xfV0lEVEgsCi0JCQkJCSAgICAqd2hhdCA/IHdoYXQgOiAiSEVBRCIpOworCQkJCWZvcm1hdF9kaXNwbGF5KCZub3RlLCAnKicsCisJCQkJCSAgICAgICAqa2luZCA/IGtpbmQgOiAiYnJhbmNoIiwgTlVMTCwKKwkJCQkJICAgICAgICp3aGF0ID8gd2hhdCA6ICJIRUFEIiwKKwkJCQkJICAgICAgICJGRVRDSF9IRUFEIiwgc3VtbWFyeV93aWR0aCk7CiAJCQlpZiAobm90ZS5sZW4pIHsKIAkJCQlpZiAodmVyYm9zaXR5ID49IDAgJiYgIXNob3duX3VybCkgewogCQkJCQlmcHJpbnRmKHN0ZGVyciwgXygiRnJvbSAlLipzXG4iKSwKQEAgLTc1MSw2ICs4ODMsNyBAQAogc3RhdGljIGludCBxdWlja2ZldGNoKHN0cnVjdCByZWYgKnJlZl9tYXApCiB7CiAJc3RydWN0IHJlZiAqcm0gPSByZWZfbWFwOworCXN0cnVjdCBjaGVja19jb25uZWN0ZWRfb3B0aW9ucyBvcHQgPSBDSEVDS19DT05ORUNURURfSU5JVDsKIAogCS8qCiAJICogSWYgd2UgYXJlIGRlZXBlbmluZyBhIHNoYWxsb3cgY2xvbmUgd2UgYWxyZWFkeSBoYXZlIHRoZXNlCkBAIC03NTksOSArODkyLDEwIEBACiAJICogcmVhbGx5IG5lZWQgdG8gcGVyZm9ybS4gIENsYWltaW5nIGZhaWx1cmUgbm93IHdpbGwgZW5zdXJlCiAJICogd2UgcGVyZm9ybSB0aGUgbmV0d29yayBleGNoYW5nZSB0byBkZWVwZW4gb3VyIGhpc3RvcnkuCiAJICovCi0JaWYgKGRlcHRoKQorCWlmIChkZWVwZW4pCiAJCXJldHVybiAtMTsKLQlyZXR1cm4gY2hlY2tfZXZlcnl0aGluZ19jb25uZWN0ZWQoaXRlcmF0ZV9yZWZfbWFwLCAxLCAmcm0pOworCW9wdC5xdWlldCA9IDE7CisJcmV0dXJuIGNoZWNrX2Nvbm5lY3RlZChpdGVyYXRlX3JlZl9tYXAsICZybSwgJm9wdCk7CiB9CiAKIHN0YXRpYyBpbnQgZmV0Y2hfcmVmcyhzdHJ1Y3QgdHJhbnNwb3J0ICp0cmFuc3BvcnQsIHN0cnVjdCByZWYgKnJlZl9tYXApCkBAIC03ODMsNiArOTE3LDcgQEAKIAlpbnQgdXJsX2xlbiwgaSwgcmVzdWx0ID0gMDsKIAlzdHJ1Y3QgcmVmICpyZWYsICpzdGFsZV9yZWZzID0gZ2V0X3N0YWxlX2hlYWRzKHJlZnMsIHJlZl9jb3VudCwgcmVmX21hcCk7CiAJY2hhciAqdXJsOworCWludCBzdW1tYXJ5X3dpZHRoID0gdHJhbnNwb3J0X3N1bW1hcnlfd2lkdGgoc3RhbGVfcmVmcyk7CiAJY29uc3QgY2hhciAqZGFuZ2xpbmdfbXNnID0gZHJ5X3J1bgogCQk/IF8oIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiKQogCQk6IF8oIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIpOwpAQCAtODA2LDE5ICs5NDEsMjIgQEAKIAkJZm9yIChyZWYgPSBzdGFsZV9yZWZzOyByZWY7IHJlZiA9IHJlZi0+bmV4dCkKIAkJCXN0cmluZ19saXN0X2FwcGVuZCgmcmVmbmFtZXMsIHJlZi0+bmFtZSk7CiAKLQkJcmVzdWx0ID0gZGVsZXRlX3JlZnMoJnJlZm5hbWVzKTsKKwkJcmVzdWx0ID0gZGVsZXRlX3JlZnMoJnJlZm5hbWVzLCAwKTsKIAkJc3RyaW5nX2xpc3RfY2xlYXIoJnJlZm5hbWVzLCAwKTsKIAl9CiAKIAlpZiAodmVyYm9zaXR5ID49IDApIHsKIAkJZm9yIChyZWYgPSBzdGFsZV9yZWZzOyByZWY7IHJlZiA9IHJlZi0+bmV4dCkgeworCQkJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCQkJaWYgKCFzaG93bl91cmwpIHsKIAkJCQlmcHJpbnRmKHN0ZGVyciwgXygiRnJvbSAlLipzXG4iKSwgdXJsX2xlbiwgdXJsKTsKIAkJCQlzaG93bl91cmwgPSAxOwogCQkJfQotCQkJZnByaW50ZihzdGRlcnIsICIgeCAlLSpzICUtKnMgLT4gJXNcbiIsCi0JCQkJVFJBTlNQT1JUX1NVTU1BUlkoXygiW2RlbGV0ZWRdIikpLAotCQkJCVJFRkNPTF9XSURUSCwgXygiKG5vbmUpIiksIHByZXR0aWZ5X3JlZm5hbWUocmVmLT5uYW1lKSk7CisJCQlmb3JtYXRfZGlzcGxheSgmc2IsICctJywgXygiW2RlbGV0ZWRdIiksIE5VTEwsCisJCQkJICAgICAgIF8oIihub25lKSIpLCBwcmV0dGlmeV9yZWZuYW1lKHJlZi0+bmFtZSksCisJCQkJICAgICAgIHN1bW1hcnlfd2lkdGgpOworCQkJZnByaW50ZihzdGRlcnIsICIgJXNcbiIsc2IuYnVmKTsKKwkJCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiAJCQl3YXJuX2RhbmdsaW5nX3N5bXJlZihzdGRlcnIsIGRhbmdsaW5nX21zZywgcmVmLT5uYW1lKTsKIAkJfQogCX0KQEAgLTg2NCw3ICsxMDAyLDcgQEAKIAkJCW5hbWUsIHRyYW5zcG9ydC0+dXJsKTsKIH0KIAotc3RhdGljIHN0cnVjdCB0cmFuc3BvcnQgKnByZXBhcmVfdHJhbnNwb3J0KHN0cnVjdCByZW1vdGUgKnJlbW90ZSkKK3N0YXRpYyBzdHJ1Y3QgdHJhbnNwb3J0ICpwcmVwYXJlX3RyYW5zcG9ydChzdHJ1Y3QgcmVtb3RlICpyZW1vdGUsIGludCBkZWVwZW4pCiB7CiAJc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0OwogCXRyYW5zcG9ydCA9IHRyYW5zcG9ydF9nZXQocmVtb3RlLCBOVUxMKTsKQEAgLTg3Niw2ICsxMDE0LDEzIEBACiAJCXNldF9vcHRpb24odHJhbnNwb3J0LCBUUkFOU19PUFRfS0VFUCwgInllcyIpOwogCWlmIChkZXB0aCkKIAkJc2V0X29wdGlvbih0cmFuc3BvcnQsIFRSQU5TX09QVF9ERVBUSCwgZGVwdGgpOworCWlmIChkZWVwZW4gJiYgZGVlcGVuX3NpbmNlKQorCQlzZXRfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX0RFRVBFTl9TSU5DRSwgZGVlcGVuX3NpbmNlKTsKKwlpZiAoZGVlcGVuICYmIGRlZXBlbl9ub3QubnIpCisJCXNldF9vcHRpb24odHJhbnNwb3J0LCBUUkFOU19PUFRfREVFUEVOX05PVCwKKwkJCSAgIChjb25zdCBjaGFyICopJmRlZXBlbl9ub3QpOworCWlmIChkZWVwZW5fcmVsYXRpdmUpCisJCXNldF9vcHRpb24odHJhbnNwb3J0LCBUUkFOU19PUFRfREVFUEVOX1JFTEFUSVZFLCAieWVzIik7CiAJaWYgKHVwZGF0ZV9zaGFsbG93KQogCQlzZXRfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX1VQREFURV9TSEFMTE9XLCAieWVzIik7CiAJcmV0dXJuIHRyYW5zcG9ydDsKQEAgLTg4MywxMyArMTAyOCwyNSBAQAogCiBzdGF0aWMgdm9pZCBiYWNrZmlsbF90YWdzKHN0cnVjdCB0cmFuc3BvcnQgKnRyYW5zcG9ydCwgc3RydWN0IHJlZiAqcmVmX21hcCkKIHsKLQlpZiAodHJhbnNwb3J0LT5jYW5ub3RfcmV1c2UpIHsKLQkJZ3NlY29uZGFyeSA9IHByZXBhcmVfdHJhbnNwb3J0KHRyYW5zcG9ydC0+cmVtb3RlKTsKKwlpbnQgY2Fubm90X3JldXNlOworCisJLyoKKwkgKiBPbmNlIHdlIGhhdmUgc2V0IFRSQU5TX09QVF9ERUVQRU5fU0lOQ0UsIHdlIGNhbid0IHVuc2V0IGl0CisJICogd2hlbiByZW1vdGUgaGVscGVyIGlzIHVzZWQgKHNldHRpbmcgaXQgdG8gYW4gZW1wdHkgc3RyaW5nCisJICogaXMgbm90IHVuc2V0dGluZykuIFdlIGNvdWxkIGV4dGVuZCB0aGUgcmVtb3RlIGhlbHBlcgorCSAqIHByb3RvY29sIGZvciB0aGF0LCBidXQgZm9yIG5vdywganVzdCBmb3JjZSBhIG5ldyBjb25uZWN0aW9uCisJICogd2l0aG91dCBkZWVwZW4tc2luY2UuIFNpbWlsYXIgc3RvcnkgZm9yIGRlZXBlbi1ub3QuCisJICovCisJY2Fubm90X3JldXNlID0gdHJhbnNwb3J0LT5jYW5ub3RfcmV1c2UgfHwKKwkJZGVlcGVuX3NpbmNlIHx8IGRlZXBlbl9ub3QubnI7CisJaWYgKGNhbm5vdF9yZXVzZSkgeworCQlnc2Vjb25kYXJ5ID0gcHJlcGFyZV90cmFuc3BvcnQodHJhbnNwb3J0LT5yZW1vdGUsIDApOwogCQl0cmFuc3BvcnQgPSBnc2Vjb25kYXJ5OwogCX0KIAogCXRyYW5zcG9ydF9zZXRfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX0ZPTExPV1RBR1MsIE5VTEwpOwogCXRyYW5zcG9ydF9zZXRfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX0RFUFRILCAiMCIpOworCXRyYW5zcG9ydF9zZXRfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX0RFRVBFTl9SRUxBVElWRSwgTlVMTCk7CiAJZmV0Y2hfcmVmcyh0cmFuc3BvcnQsIHJlZl9tYXApOwogCiAJaWYgKGdzZWNvbmRhcnkpIHsKQEAgLTEwMDUsNyArMTE2Miw3IEBACiAJCQlzaXplX3Qgd29yZGxlbiA9IHN0cmNzcG4odmFsdWUsICIgXHRcbiIpOwogCiAJCQlpZiAod29yZGxlbiA+PSAxKQotCQkJCXN0cmluZ19saXN0X2FwcGVuZChnLT5saXN0LAorCQkJCXN0cmluZ19saXN0X2FwcGVuZF9ub2R1cChnLT5saXN0LAogCQkJCQkJICAgeHN0cm5kdXAodmFsdWUsIHdvcmRsZW4pKTsKIAkJCXZhbHVlICs9IHdvcmRsZW4gKyAodmFsdWVbd29yZGxlbl0gIT0gJ1wwJyk7CiAJCX0KQEAgLTExMDAsNyArMTI1Nyw3IEBACiAJCWRpZShfKCJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKIAkJICAgICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIikpOwogCi0JZ3RyYW5zcG9ydCA9IHByZXBhcmVfdHJhbnNwb3J0KHJlbW90ZSk7CisJZ3RyYW5zcG9ydCA9IHByZXBhcmVfdHJhbnNwb3J0KHJlbW90ZSwgMSk7CiAKIAlpZiAocHJ1bmUgPCAwKSB7CiAJCS8qIG5vIGNvbW1hbmQgbGluZSByZXF1ZXN0ICovCkBAIC0xMTQzLDcgKzEzMDAsNyBAQAogaW50IGNtZF9mZXRjaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAlpbnQgaTsKLQlzdHJ1Y3Qgc3RyaW5nX2xpc3QgbGlzdCA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CisJc3RydWN0IHN0cmluZ19saXN0IGxpc3QgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKIAlzdHJ1Y3QgcmVtb3RlICpyZW1vdGU7CiAJaW50IHJlc3VsdCA9IDA7CiAJc3RydWN0IGFyZ3ZfYXJyYXkgYXJndl9nY19hdXRvID0gQVJHVl9BUlJBWV9JTklUOwpAQCAtMTE2MCw2ICsxMzE3LDEzIEBACiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LAogCQkJICAgICBidWlsdGluX2ZldGNoX29wdGlvbnMsIGJ1aWx0aW5fZmV0Y2hfdXNhZ2UsIDApOwogCisJaWYgKGRlZXBlbl9yZWxhdGl2ZSkgeworCQlpZiAoZGVlcGVuX3JlbGF0aXZlIDwgMCkKKwkJCWRpZShfKCJOZWdhdGl2ZSBkZXB0aCBpbiAtLWRlZXBlbiBpcyBub3Qgc3VwcG9ydGVkIikpOworCQlpZiAoZGVwdGgpCisJCQlkaWUoXygiLS1kZWVwZW4gYW5kIC0tZGVwdGggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIpKTsKKwkJZGVwdGggPSB4c3RyZm10KCIlZCIsIGRlZXBlbl9yZWxhdGl2ZSk7CisJfQogCWlmICh1bnNoYWxsb3cpIHsKIAkJaWYgKGRlcHRoKQogCQkJZGllKF8oIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIikpOwpAQCAtMTE3Miw2ICsxMzM2LDggQEAKIAkvKiBubyBuZWVkIHRvIGJlIHN0cmljdCwgdHJhbnNwb3J0X3NldF9vcHRpb24oKSB3aWxsIHZhbGlkYXRlIGl0IGFnYWluICovCiAJaWYgKGRlcHRoICYmIGF0b2koZGVwdGgpIDwgMSkKIAkJZGllKF8oImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIpLCBkZXB0aCk7CisJaWYgKGRlcHRoIHx8IGRlZXBlbl9zaW5jZSB8fCBkZWVwZW5fbm90Lm5yKQorCQlkZWVwZW4gPSAxOwogCiAJaWYgKHJlY3Vyc2Vfc3VibW9kdWxlcyAhPSBSRUNVUlNFX1NVQk1PRFVMRVNfT0ZGKSB7CiAJCWlmIChyZWN1cnNlX3N1Ym1vZHVsZXNfZGVmYXVsdCkgewpAQCAtMTIyNiw4ICsxMzkyLDYgQEAKIAkJYXJndl9hcnJheV9jbGVhcigmb3B0aW9ucyk7CiAJfQogCi0JLyogQWxsIG5hbWVzIHdlcmUgc3RyZHVwKCllZCBvciBzdHJuZHVwKCllZCAqLwotCWxpc3Quc3RyZHVwX3N0cmluZ3MgPSAxOwogCXN0cmluZ19saXN0X2NsZWFyKCZsaXN0LCAwKTsKIAogCWNsb3NlX2FsbF9wYWNrcygpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmMgYi9idWlsdGluL2ZtdC1tZXJnZS1tc2cuYwppbmRleCBlNTY1OGMzLi5lZmFiNjJmIDEwMDY0NAotLS0gYS9idWlsdGluL2ZtdC1tZXJnZS1tc2cuYworKysgYi9idWlsdGluL2ZtdC1tZXJnZS1tc2cuYwpAQCAtMjcyLDcgKzI3Miw3IEBACiBzdGF0aWMgdm9pZCBhZGRfcGVvcGxlX2NvdW50KHN0cnVjdCBzdHJidWYgKm91dCwgc3RydWN0IHN0cmluZ19saXN0ICpwZW9wbGUpCiB7CiAJaWYgKHBlb3BsZS0+bnIgPT0gMSkKLQkJc3RyYnVmX2FkZGYob3V0LCAiJXMiLCBwZW9wbGUtPml0ZW1zWzBdLnN0cmluZyk7CisJCXN0cmJ1Zl9hZGRzdHIob3V0LCBwZW9wbGUtPml0ZW1zWzBdLnN0cmluZyk7CiAJZWxzZSBpZiAocGVvcGxlLT5uciA9PSAyKQogCQlzdHJidWZfYWRkZihvdXQsICIlcyAoJWQpIGFuZCAlcyAoJWQpIiwKIAkJCSAgICBwZW9wbGUtPml0ZW1zWzBdLnN0cmluZywKQEAgLTMxNCwxNCArMzE0LDEwIEBACiAJCQkgICAgc3RydWN0IHN0cmluZ19saXN0ICphdXRob3JzLAogCQkJICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqY29tbWl0dGVycykKIHsKLQlpZiAoYXV0aG9ycy0+bnIpCi0JCXFzb3J0KGF1dGhvcnMtPml0ZW1zLAotCQkgICAgICBhdXRob3JzLT5uciwgc2l6ZW9mKGF1dGhvcnMtPml0ZW1zWzBdKSwKLQkJICAgICAgY21wX3N0cmluZ19saXN0X3V0aWxfYXNfaW50ZWdyYWwpOwotCWlmIChjb21taXR0ZXJzLT5ucikKLQkJcXNvcnQoY29tbWl0dGVycy0+aXRlbXMsCi0JCSAgICAgIGNvbW1pdHRlcnMtPm5yLCBzaXplb2YoY29tbWl0dGVycy0+aXRlbXNbMF0pLAotCQkgICAgICBjbXBfc3RyaW5nX2xpc3RfdXRpbF9hc19pbnRlZ3JhbCk7CisJUVNPUlQoYXV0aG9ycy0+aXRlbXMsIGF1dGhvcnMtPm5yLAorCSAgICAgIGNtcF9zdHJpbmdfbGlzdF91dGlsX2FzX2ludGVncmFsKTsKKwlRU09SVChjb21taXR0ZXJzLT5pdGVtcywgY29tbWl0dGVycy0+bnIsCisJICAgICAgY21wX3N0cmluZ19saXN0X3V0aWxfYXNfaW50ZWdyYWwpOwogCiAJY3JlZGl0X3Blb3BsZShvdXQsIGF1dGhvcnMsICdhJyk7CiAJY3JlZGl0X3Blb3BsZShvdXQsIGNvbW1pdHRlcnMsICdjJyk7CkBAIC0zOTUsNyArMzkxLDcgQEAKIAogCWZvciAoaSA9IDA7IGkgPCBzdWJqZWN0cy5ucjsgaSsrKQogCQlpZiAoaSA+PSBsaW1pdCkKLQkJCXN0cmJ1Zl9hZGRmKG91dCwgIiAgLi4uXG4iKTsKKwkJCXN0cmJ1Zl9hZGRzdHIob3V0LCAiICAuLi5cbiIpOwogCQllbHNlCiAJCQlzdHJidWZfYWRkZihvdXQsICIgICVzXG4iLCBzdWJqZWN0cy5pdGVtc1tpXS5zdHJpbmcpOwogCmRpZmYgLS1naXQgYS9idWlsdGluL2ZzY2suYyBiL2J1aWx0aW4vZnNjay5jCmluZGV4IDNmMjc0NTYuLmYwMWI4MWUgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vZnNjay5jCisrKyBiL2J1aWx0aW4vZnNjay5jCkBAIC0xMyw2ICsxMyw3IEBACiAjaW5jbHVkZSAiZGlyLmgiCiAjaW5jbHVkZSAicHJvZ3Jlc3MuaCIKICNpbmNsdWRlICJzdHJlYW1pbmcuaCIKKyNpbmNsdWRlICJkZWNvcmF0ZS5oIgogCiAjZGVmaW5lIFJFQUNIQUJMRSAweDAwMDEKICNkZWZpbmUgU0VFTiAgICAgIDB4MDAwMgpAQCAtMzUsMTEgKzM2LDI2IEBACiBzdGF0aWMgaW50IHZlcmJvc2U7CiBzdGF0aWMgaW50IHNob3dfcHJvZ3Jlc3MgPSAtMTsKIHN0YXRpYyBpbnQgc2hvd19kYW5nbGluZyA9IDE7CitzdGF0aWMgaW50IG5hbWVfb2JqZWN0czsKICNkZWZpbmUgRVJST1JfT0JKRUNUIDAxCiAjZGVmaW5lIEVSUk9SX1JFQUNIQUJMRSAwMgogI2RlZmluZSBFUlJPUl9QQUNLIDA0CiAjZGVmaW5lIEVSUk9SX1JFRlMgMDEwCiAKK3N0YXRpYyBjb25zdCBjaGFyICpkZXNjcmliZV9vYmplY3Qoc3RydWN0IG9iamVjdCAqb2JqKQoreworCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCWNoYXIgKm5hbWUgPSBuYW1lX29iamVjdHMgPworCQlsb29rdXBfZGVjb3JhdGlvbihmc2NrX3dhbGtfb3B0aW9ucy5vYmplY3RfbmFtZXMsIG9iaikgOiBOVUxMOworCisJc3RyYnVmX3Jlc2V0KCZidWYpOworCXN0cmJ1Zl9hZGRzdHIoJmJ1Ziwgb2lkX3RvX2hleCgmb2JqLT5vaWQpKTsKKwlpZiAobmFtZSkKKwkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiAoJXMpIiwgbmFtZSk7CisKKwlyZXR1cm4gYnVmLmJ1ZjsKK30KKwogc3RhdGljIGludCBmc2NrX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKIHsKIAlpZiAoc3RyY21wKHZhciwgImZzY2suc2tpcGxpc3QiKSA9PSAwKSB7CkBAIC02Nyw3ICs4Myw3IEBACiAJCQljb25zdCBjaGFyICplcnIpCiB7CiAJZnByaW50ZihzdGRlcnIsICIlcyBpbiAlcyAlczogJXNcbiIsCi0JCW1zZ190eXBlLCB0eXBlbmFtZShvYmotPnR5cGUpLCBvaWRfdG9faGV4KCZvYmotPm9pZCksIGVycik7CisJCW1zZ190eXBlLCB0eXBlbmFtZShvYmotPnR5cGUpLCBkZXNjcmliZV9vYmplY3Qob2JqKSwgZXJyKTsKIH0KIAogc3RhdGljIGludCBvYmplcnJvcihzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKmVycikKQEAgLTc3LDcgKzkzLDggQEAKIAlyZXR1cm4gLTE7CiB9CiAKLXN0YXRpYyBpbnQgZnNja19lcnJvcl9mdW5jKHN0cnVjdCBvYmplY3QgKm9iaiwgaW50IHR5cGUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpCitzdGF0aWMgaW50IGZzY2tfZXJyb3JfZnVuYyhzdHJ1Y3QgZnNja19vcHRpb25zICpvLAorCXN0cnVjdCBvYmplY3QgKm9iaiwgaW50IHR5cGUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpCiB7CiAJb2JqcmVwb3J0KG9iaiwgKHR5cGUgPT0gRlNDS19XQVJOKSA/ICJ3YXJuaW5nIiA6ICJlcnJvciIsIG1lc3NhZ2UpOwogCXJldHVybiAodHlwZSA9PSBGU0NLX1dBUk4pID8gMCA6IDE7CkBAIC05Nyw3ICsxMTQsNyBAQAogCWlmICghb2JqKSB7CiAJCS8qIC4uLiB0aGVzZSByZWZlcmVuY2VzIHRvIHBhcmVudC0+ZmxkIGFyZSBzYWZlIGhlcmUgKi8KIAkJcHJpbnRmKCJicm9rZW4gbGluayBmcm9tICU3cyAlc1xuIiwKLQkJCSAgIHR5cGVuYW1lKHBhcmVudC0+dHlwZSksIG9pZF90b19oZXgoJnBhcmVudC0+b2lkKSk7CisJCQkgICB0eXBlbmFtZShwYXJlbnQtPnR5cGUpLCBkZXNjcmliZV9vYmplY3QocGFyZW50KSk7CiAJCXByaW50ZigiYnJva2VuIGxpbmsgZnJvbSAlN3MgJXNcbiIsCiAJCQkgICAodHlwZSA9PSBPQkpfQU5ZID8gInVua25vd24iIDogdHlwZW5hbWUodHlwZSkpLCAidW5rbm93biIpOwogCQllcnJvcnNfZm91bmQgfD0gRVJST1JfUkVBQ0hBQkxFOwpAQCAtMTE0LDkgKzEzMSw5IEBACiAJaWYgKCEob2JqLT5mbGFncyAmIEhBU19PQkopKSB7CiAJCWlmIChwYXJlbnQgJiYgIWhhc19vYmplY3RfZmlsZSgmb2JqLT5vaWQpKSB7CiAJCQlwcmludGYoImJyb2tlbiBsaW5rIGZyb20gJTdzICVzXG4iLAotCQkJCSB0eXBlbmFtZShwYXJlbnQtPnR5cGUpLCBvaWRfdG9faGV4KCZwYXJlbnQtPm9pZCkpOworCQkJCSB0eXBlbmFtZShwYXJlbnQtPnR5cGUpLCBkZXNjcmliZV9vYmplY3QocGFyZW50KSk7CiAJCQlwcmludGYoIiAgICAgICAgICAgICAgdG8gJTdzICVzXG4iLAotCQkJCSB0eXBlbmFtZShvYmotPnR5cGUpLCBvaWRfdG9faGV4KCZvYmotPm9pZCkpOworCQkJCSB0eXBlbmFtZShvYmotPnR5cGUpLCBkZXNjcmliZV9vYmplY3Qob2JqKSk7CiAJCQllcnJvcnNfZm91bmQgfD0gRVJST1JfUkVBQ0hBQkxFOwogCQl9CiAJCXJldHVybiAxOwpAQCAtMTkwLDcgKzIwNyw4IEBACiAJCQlyZXR1cm47IC8qIGl0IGlzIGluIHBhY2sgLSBmb3JnZXQgYWJvdXQgaXQgKi8KIAkJaWYgKGNvbm5lY3Rpdml0eV9vbmx5ICYmIGhhc19vYmplY3RfZmlsZSgmb2JqLT5vaWQpKQogCQkJcmV0dXJuOwotCQlwcmludGYoIm1pc3NpbmcgJXMgJXNcbiIsIHR5cGVuYW1lKG9iai0+dHlwZSksIG9pZF90b19oZXgoJm9iai0+b2lkKSk7CisJCXByaW50ZigibWlzc2luZyAlcyAlc1xuIiwgdHlwZW5hbWUob2JqLT50eXBlKSwKKwkJCWRlc2NyaWJlX29iamVjdChvYmopKTsKIAkJZXJyb3JzX2ZvdW5kIHw9IEVSUk9SX1JFQUNIQUJMRTsKIAkJcmV0dXJuOwogCX0KQEAgLTIxNSw3ICsyMzMsOCBAQAogCSAqIHNpbmNlIHRoaXMgaXMgc29tZXRoaW5nIHRoYXQgaXMgcHJ1bmFibGUuCiAJICovCiAJaWYgKHNob3dfdW5yZWFjaGFibGUpIHsKLQkJcHJpbnRmKCJ1bnJlYWNoYWJsZSAlcyAlc1xuIiwgdHlwZW5hbWUob2JqLT50eXBlKSwgb2lkX3RvX2hleCgmb2JqLT5vaWQpKTsKKwkJcHJpbnRmKCJ1bnJlYWNoYWJsZSAlcyAlc1xuIiwgdHlwZW5hbWUob2JqLT50eXBlKSwKKwkJCWRlc2NyaWJlX29iamVjdChvYmopKTsKIAkJcmV0dXJuOwogCX0KIApAQCAtMjM0LDExICsyNTMsMTEgQEAKIAlpZiAoIW9iai0+dXNlZCkgewogCQlpZiAoc2hvd19kYW5nbGluZykKIAkJCXByaW50ZigiZGFuZ2xpbmcgJXMgJXNcbiIsIHR5cGVuYW1lKG9iai0+dHlwZSksCi0JCQkgICAgICAgb2lkX3RvX2hleCgmb2JqLT5vaWQpKTsKKwkJCSAgICAgICBkZXNjcmliZV9vYmplY3Qob2JqKSk7CiAJCWlmICh3cml0ZV9sb3N0X2FuZF9mb3VuZCkgewogCQkJY2hhciAqZmlsZW5hbWUgPSBnaXRfcGF0aGR1cCgibG9zdC1mb3VuZC8lcy8lcyIsCiAJCQkJb2JqLT50eXBlID09IE9CSl9DT01NSVQgPyAiY29tbWl0IiA6ICJvdGhlciIsCi0JCQkJb2lkX3RvX2hleCgmb2JqLT5vaWQpKTsKKwkJCQlkZXNjcmliZV9vYmplY3Qob2JqKSk7CiAJCQlGSUxFICpmOwogCiAJCQlpZiAoc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3Rvcmllc19jb25zdChmaWxlbmFtZSkpIHsKQEAgLTI0OSwxMCArMjY4LDEwIEBACiAJCQlpZiAoIShmID0gZm9wZW4oZmlsZW5hbWUsICJ3IikpKQogCQkJCWRpZV9lcnJubygiQ291bGQgbm90IG9wZW4gJyVzJyIsIGZpbGVuYW1lKTsKIAkJCWlmIChvYmotPnR5cGUgPT0gT0JKX0JMT0IpIHsKLQkJCQlpZiAoc3RyZWFtX2Jsb2JfdG9fZmQoZmlsZW5vKGYpLCBvYmotPm9pZC5oYXNoLCBOVUxMLCAxKSkKKwkJCQlpZiAoc3RyZWFtX2Jsb2JfdG9fZmQoZmlsZW5vKGYpLCAmb2JqLT5vaWQsIE5VTEwsIDEpKQogCQkJCQlkaWVfZXJybm8oIkNvdWxkIG5vdCB3cml0ZSAnJXMnIiwgZmlsZW5hbWUpOwogCQkJfSBlbHNlCi0JCQkJZnByaW50ZihmLCAiJXNcbiIsIG9pZF90b19oZXgoJm9iai0+b2lkKSk7CisJCQkJZnByaW50ZihmLCAiJXNcbiIsIGRlc2NyaWJlX29iamVjdChvYmopKTsKIAkJCWlmIChmY2xvc2UoZikpCiAJCQkJZGllX2Vycm5vKCJDb3VsZCBub3QgZmluaXNoICclcyciLAogCQkJCQkgIGZpbGVuYW1lKTsKQEAgLTI3MSw3ICsyOTAsNyBAQAogc3RhdGljIHZvaWQgY2hlY2tfb2JqZWN0KHN0cnVjdCBvYmplY3QgKm9iaikKIHsKIAlpZiAodmVyYm9zZSkKLQkJZnByaW50ZihzdGRlcnIsICJDaGVja2luZyAlc1xuIiwgb2lkX3RvX2hleCgmb2JqLT5vaWQpKTsKKwkJZnByaW50ZihzdGRlcnIsICJDaGVja2luZyAlc1xuIiwgZGVzY3JpYmVfb2JqZWN0KG9iaikpOwogCiAJaWYgKG9iai0+ZmxhZ3MgJiBSRUFDSEFCTEUpCiAJCWNoZWNrX3JlYWNoYWJsZV9vYmplY3Qob2JqKTsKQEAgLTMwNyw3ICszMjYsNyBAQAogCiAJaWYgKHZlcmJvc2UpCiAJCWZwcmludGYoc3RkZXJyLCAiQ2hlY2tpbmcgJXMgJXNcbiIsCi0JCQl0eXBlbmFtZShvYmotPnR5cGUpLCBvaWRfdG9faGV4KCZvYmotPm9pZCkpOworCQkJdHlwZW5hbWUob2JqLT50eXBlKSwgZGVzY3JpYmVfb2JqZWN0KG9iaikpOwogCiAJaWYgKGZzY2tfd2FsayhvYmosIE5VTEwsICZmc2NrX29ial9vcHRpb25zKSkKIAkJb2JqZXJyb3Iob2JqLCAiYnJva2VuIGxpbmtzIik7CkBAIC0zMjYsMTUgKzM0NSwxNyBAQAogCQlmcmVlX2NvbW1pdF9idWZmZXIoY29tbWl0KTsKIAogCQlpZiAoIWNvbW1pdC0+cGFyZW50cyAmJiBzaG93X3Jvb3QpCi0JCQlwcmludGYoInJvb3QgJXNcbiIsIG9pZF90b19oZXgoJmNvbW1pdC0+b2JqZWN0Lm9pZCkpOworCQkJcHJpbnRmKCJyb290ICVzXG4iLCBkZXNjcmliZV9vYmplY3QoJmNvbW1pdC0+b2JqZWN0KSk7CiAJfQogCiAJaWYgKG9iai0+dHlwZSA9PSBPQkpfVEFHKSB7CiAJCXN0cnVjdCB0YWcgKnRhZyA9IChzdHJ1Y3QgdGFnICopIG9iajsKIAogCQlpZiAoc2hvd190YWdzICYmIHRhZy0+dGFnZ2VkKSB7Ci0JCQlwcmludGYoInRhZ2dlZCAlcyAlcyIsIHR5cGVuYW1lKHRhZy0+dGFnZ2VkLT50eXBlKSwgb2lkX3RvX2hleCgmdGFnLT50YWdnZWQtPm9pZCkpOwotCQkJcHJpbnRmKCIgKCVzKSBpbiAlc1xuIiwgdGFnLT50YWcsIG9pZF90b19oZXgoJnRhZy0+b2JqZWN0Lm9pZCkpOworCQkJcHJpbnRmKCJ0YWdnZWQgJXMgJXMiLCB0eXBlbmFtZSh0YWctPnRhZ2dlZC0+dHlwZSksCisJCQkJZGVzY3JpYmVfb2JqZWN0KHRhZy0+dGFnZ2VkKSk7CisJCQlwcmludGYoIiAoJXMpIGluICVzXG4iLCB0YWctPnRhZywKKwkJCQlkZXNjcmliZV9vYmplY3QoJnRhZy0+b2JqZWN0KSk7CiAJCX0KIAl9CiAKQEAgLTM1Niw2ICszNzcsMTAgQEAKIHN0YXRpYyBpbnQgZnNja19vYmpfYnVmZmVyKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGVudW0gb2JqZWN0X3R5cGUgdHlwZSwKIAkJCSAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwgdm9pZCAqYnVmZmVyLCBpbnQgKmVhdGVuKQogeworCS8qCisJICogTm90ZSwgYnVmZmVyIG1heSBiZSBOVUxMIGlmIHR5cGUgaXMgT0JKX0JMT0IuIFNlZQorCSAqIHZlcmlmeV9wYWNrZmlsZSgpLCBkYXRhX3ZhbGlkIHZhcmlhYmxlIGZvciBkZXRhaWxzLgorCSAqLwogCXN0cnVjdCBvYmplY3QgKm9iajsKIAlvYmogPSBwYXJzZV9vYmplY3RfYnVmZmVyKHNoYTEsIHR5cGUsIHNpemUsIGJ1ZmZlciwgZWF0ZW4pOwogCWlmICghb2JqKSB7CkBAIC0zNjgsMTMgKzM5MywxOCBAQAogCiBzdGF0aWMgaW50IGRlZmF1bHRfcmVmczsKIAotc3RhdGljIHZvaWQgZnNja19oYW5kbGVfcmVmbG9nX3NoYTEoY29uc3QgY2hhciAqcmVmbmFtZSwgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyB2b2lkIGZzY2tfaGFuZGxlX3JlZmxvZ19zaGExKGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGNoYXIgKnNoYTEsCisJdW5zaWduZWQgbG9uZyB0aW1lc3RhbXApCiB7CiAJc3RydWN0IG9iamVjdCAqb2JqOwogCiAJaWYgKCFpc19udWxsX3NoYTEoc2hhMSkpIHsKIAkJb2JqID0gbG9va3VwX29iamVjdChzaGExKTsKIAkJaWYgKG9iaikgeworCQkJaWYgKHRpbWVzdGFtcCAmJiBuYW1lX29iamVjdHMpCisJCQkJYWRkX2RlY29yYXRpb24oZnNja193YWxrX29wdGlvbnMub2JqZWN0X25hbWVzLAorCQkJCQlvYmosCisJCQkJCXhzdHJmbXQoIiVzQHslbGR9IiwgcmVmbmFtZSwgdGltZXN0YW1wKSk7CiAJCQlvYmotPnVzZWQgPSAxOwogCQkJbWFya19vYmplY3RfcmVhY2hhYmxlKG9iaik7CiAJCX0gZWxzZSB7CkBAIC0zOTQsOCArNDI0LDggQEAKIAkJZnByaW50ZihzdGRlcnIsICJDaGVja2luZyByZWZsb2cgJXMtPiVzXG4iLAogCQkJc2hhMV90b19oZXgob3NoYTEpLCBzaGExX3RvX2hleChuc2hhMSkpOwogCi0JZnNja19oYW5kbGVfcmVmbG9nX3NoYTEocmVmbmFtZSwgb3NoYTEpOwotCWZzY2tfaGFuZGxlX3JlZmxvZ19zaGExKHJlZm5hbWUsIG5zaGExKTsKKwlmc2NrX2hhbmRsZV9yZWZsb2dfc2hhMShyZWZuYW1lLCBvc2hhMSwgMCk7CisJZnNja19oYW5kbGVfcmVmbG9nX3NoYTEocmVmbmFtZSwgbnNoYTEsIHRpbWVzdGFtcCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQyNCw2ICs0NTQsOSBAQAogCX0KIAlkZWZhdWx0X3JlZnMrKzsKIAlvYmotPnVzZWQgPSAxOworCWlmIChuYW1lX29iamVjdHMpCisJCWFkZF9kZWNvcmF0aW9uKGZzY2tfd2Fsa19vcHRpb25zLm9iamVjdF9uYW1lcywKKwkJCW9iaiwgeHN0cmR1cChyZWZuYW1lKSk7CiAJbWFya19vYmplY3RfcmVhY2hhYmxlKG9iaik7CiAKIAlyZXR1cm4gMDsKQEAgLTUzOSw2ICs1NzIsOSBAQAogCQkJcmV0dXJuIDE7CiAJCX0KIAkJb2JqLT51c2VkID0gMTsKKwkJaWYgKG5hbWVfb2JqZWN0cykKKwkJCWFkZF9kZWNvcmF0aW9uKGZzY2tfd2Fsa19vcHRpb25zLm9iamVjdF9uYW1lcywKKwkJCQlvYmosIHhzdHJkdXAoIjoiKSk7CiAJCW1hcmtfb2JqZWN0X3JlYWNoYWJsZShvYmopOwogCQlpZiAob2JqLT50eXBlICE9IE9CSl9UUkVFKQogCQkJZXJyIHw9IG9iamVycm9yKG9iaiwgIm5vbi10cmVlIGluIGNhY2hlLXRyZWUiKTsKQEAgLTU2Nyw2ICs2MDMsNyBAQAogCU9QVF9CT09MKDAsICJsb3N0LWZvdW5kIiwgJndyaXRlX2xvc3RfYW5kX2ZvdW5kLAogCQkJCU5fKCJ3cml0ZSBkYW5nbGluZyBvYmplY3RzIGluIC5naXQvbG9zdC1mb3VuZCIpKSwKIAlPUFRfQk9PTCgwLCAicHJvZ3Jlc3MiLCAmc2hvd19wcm9ncmVzcywgTl8oInNob3cgcHJvZ3Jlc3MiKSksCisJT1BUX0JPT0woMCwgIm5hbWUtb2JqZWN0cyIsICZuYW1lX29iamVjdHMsIE5fKCJzaG93IHZlcmJvc2UgbmFtZXMgZm9yIHJlYWNoYWJsZSBvYmplY3RzIikpLAogCU9QVF9FTkQoKSwKIH07CiAKQEAgLTU5Niw2ICs2MzMsMTAgQEAKIAkJaW5jbHVkZV9yZWZsb2dzID0gMDsKIAl9CiAKKwlpZiAobmFtZV9vYmplY3RzKQorCQlmc2NrX3dhbGtfb3B0aW9ucy5vYmplY3RfbmFtZXMgPQorCQkJeGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGRlY29yYXRpb24pKTsKKwogCWdpdF9jb25maWcoZnNja19jb25maWcsIE5VTEwpOwogCiAJZnNja19oZWFkX2xpbmsoKTsKQEAgLTYwMywxNCArNjQ0LDggQEAKIAkJZnNja19vYmplY3RfZGlyKGdldF9vYmplY3RfZGlyZWN0b3J5KCkpOwogCiAJCXByZXBhcmVfYWx0X29kYigpOwotCQlmb3IgKGFsdCA9IGFsdF9vZGJfbGlzdDsgYWx0OyBhbHQgPSBhbHQtPm5leHQpIHsKLQkJCS8qIGRpcmVjdG9yeSBuYW1lLCBtaW51cyB0cmFpbGluZyBzbGFzaCAqLwotCQkJc2l6ZV90IG5hbWVsZW4gPSBhbHQtPm5hbWUgLSBhbHQtPmJhc2UgLSAxOwotCQkJc3RydWN0IHN0cmJ1ZiBuYW1lID0gU1RSQlVGX0lOSVQ7Ci0JCQlzdHJidWZfYWRkKCZuYW1lLCBhbHQtPmJhc2UsIG5hbWVsZW4pOwotCQkJZnNja19vYmplY3RfZGlyKG5hbWUuYnVmKTsKLQkJCXN0cmJ1Zl9yZWxlYXNlKCZuYW1lKTsKLQkJfQorCQlmb3IgKGFsdCA9IGFsdF9vZGJfbGlzdDsgYWx0OyBhbHQgPSBhbHQtPm5leHQpCisJCQlmc2NrX29iamVjdF9kaXIoYWx0LT5wYXRoKTsKIAl9CiAKIAlpZiAoY2hlY2tfZnVsbCkgewpAQCAtNjUxLDYgKzY4Niw5IEBACiAJCQkJY29udGludWU7CiAKIAkJCW9iai0+dXNlZCA9IDE7CisJCQlpZiAobmFtZV9vYmplY3RzKQorCQkJCWFkZF9kZWNvcmF0aW9uKGZzY2tfd2Fsa19vcHRpb25zLm9iamVjdF9uYW1lcywKKwkJCQkJb2JqLCB4c3RyZHVwKGFyZykpOwogCQkJbWFya19vYmplY3RfcmVhY2hhYmxlKG9iaik7CiAJCQloZWFkcysrOwogCQkJY29udGludWU7CkBAIC02NzgsMTEgKzcxNiwxNSBAQAogCQkJbW9kZSA9IGFjdGl2ZV9jYWNoZVtpXS0+Y2VfbW9kZTsKIAkJCWlmIChTX0lTR0lUTElOSyhtb2RlKSkKIAkJCQljb250aW51ZTsKLQkJCWJsb2IgPSBsb29rdXBfYmxvYihhY3RpdmVfY2FjaGVbaV0tPnNoYTEpOworCQkJYmxvYiA9IGxvb2t1cF9ibG9iKGFjdGl2ZV9jYWNoZVtpXS0+b2lkLmhhc2gpOwogCQkJaWYgKCFibG9iKQogCQkJCWNvbnRpbnVlOwogCQkJb2JqID0gJmJsb2ItPm9iamVjdDsKIAkJCW9iai0+dXNlZCA9IDE7CisJCQlpZiAobmFtZV9vYmplY3RzKQorCQkJCWFkZF9kZWNvcmF0aW9uKGZzY2tfd2Fsa19vcHRpb25zLm9iamVjdF9uYW1lcywKKwkJCQkJb2JqLAorCQkJCQl4c3RyZm10KCI6JXMiLCBhY3RpdmVfY2FjaGVbaV0tPm5hbWUpKTsKIAkJCW1hcmtfb2JqZWN0X3JlYWNoYWJsZShvYmopOwogCQl9CiAJCWlmIChhY3RpdmVfY2FjaGVfdHJlZSkKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZ2MuYyBiL2J1aWx0aW4vZ2MuYwppbmRleCBjNTgzYWFkLi4wNjk5NTBkIDEwMDY0NAotLS0gYS9idWlsdGluL2djLmMKKysrIGIvYnVpbHRpbi9nYy5jCkBAIC0yOCw3ICsyOCw3IEBACiAKIHN0YXRpYyBpbnQgcGFja19yZWZzID0gMTsKIHN0YXRpYyBpbnQgcHJ1bmVfcmVmbG9ncyA9IDE7Ci1zdGF0aWMgaW50IGFnZ3Jlc3NpdmVfZGVwdGggPSAyNTA7CitzdGF0aWMgaW50IGFnZ3Jlc3NpdmVfZGVwdGggPSA1MDsKIHN0YXRpYyBpbnQgYWdncmVzc2l2ZV93aW5kb3cgPSAyNTA7CiBzdGF0aWMgaW50IGdjX2F1dG9fdGhyZXNob2xkID0gNjcwMDsKIHN0YXRpYyBpbnQgZ2NfYXV0b19wYWNrX2xpbWl0ID0gNTA7CkBAIC0xNzcsNyArMTc3LDcgQEAKIAkJICovCiAJCWNudCsrOwogCX0KLQlyZXR1cm4gZ2NfYXV0b19wYWNrX2xpbWl0IDw9IGNudDsKKwlyZXR1cm4gZ2NfYXV0b19wYWNrX2xpbWl0IDwgY250OwogfQogCiBzdGF0aWMgdm9pZCBhZGRfcmVwYWNrX2FsbF9vcHRpb24odm9pZCkKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZ3JlcC5jIGIvYnVpbHRpbi9ncmVwLmMKaW5kZXggNDYyZTYwNy4uODg4N2I2YSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9ncmVwLmMKKysrIGIvYnVpbHRpbi9ncmVwLmMKQEAgLTM4Niw3ICszODYsNyBAQAogCiAJZm9yIChuciA9IDA7IG5yIDwgYWN0aXZlX25yOyBucisrKSB7CiAJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbbnJdOwotCQlpZiAoIVNfSVNSRUcoY2UtPmNlX21vZGUpIHx8IGNlX2ludGVudF90b19hZGQoY2UpKQorCQlpZiAoIVNfSVNSRUcoY2UtPmNlX21vZGUpKQogCQkJY29udGludWU7CiAJCWlmICghY2VfcGF0aF9tYXRjaChjZSwgcGF0aHNwZWMsIE5VTEwpKQogCQkJY29udGludWU7CkBAIC0zOTYsOSArMzk2LDEwIEBACiAJCSAqIGNhY2hlIHZlcnNpb24gaW5zdGVhZAogCQkgKi8KIAkJaWYgKGNhY2hlZCB8fCAoY2UtPmNlX2ZsYWdzICYgQ0VfVkFMSUQpIHx8IGNlX3NraXBfd29ya3RyZWUoY2UpKSB7Ci0JCQlpZiAoY2Vfc3RhZ2UoY2UpKQorCQkJaWYgKGNlX3N0YWdlKGNlKSB8fCBjZV9pbnRlbnRfdG9fYWRkKGNlKSkKIAkJCQljb250aW51ZTsKLQkJCWhpdCB8PSBncmVwX3NoYTEob3B0LCBjZS0+c2hhMSwgY2UtPm5hbWUsIDAsIGNlLT5uYW1lKTsKKwkJCWhpdCB8PSBncmVwX3NoYTEob3B0LCBjZS0+b2lkLmhhc2gsIGNlLT5uYW1lLCAwLAorCQkJCQkgY2UtPm5hbWUpOwogCQl9CiAJCWVsc2UKIAkJCWhpdCB8PSBncmVwX2ZpbGUob3B0LCBjZS0+bmFtZSk7CmRpZmYgLS1naXQgYS9idWlsdGluL2hhc2gtb2JqZWN0LmMgYi9idWlsdGluL2hhc2gtb2JqZWN0LmMKaW5kZXggZjdkMzU2Ny4uOTAyOGUxZiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9oYXNoLW9iamVjdC5jCisrKyBiL2J1aWx0aW4vaGFzaC1vYmplY3QuYwpAQCAtODcsNiArODcsNyBAQAogCWludCBzdGRpbl9wYXRocyA9IDA7CiAJaW50IG5vX2ZpbHRlcnMgPSAwOwogCWludCBsaXRlcmFsbHkgPSAwOworCWludCBub25naXQgPSAwOwogCXVuc2lnbmVkIGZsYWdzID0gSEFTSF9GT1JNQVRfQ0hFQ0s7CiAJY29uc3QgY2hhciAqdnBhdGggPSBOVUxMOwogCWNvbnN0IHN0cnVjdCBvcHRpb24gaGFzaF9vYmplY3Rfb3B0aW9uc1tdID0gewpAQCAtMTA3LDEyICsxMDgsMTQgQEAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBOVUxMLCBoYXNoX29iamVjdF9vcHRpb25zLAogCQkJICAgICBoYXNoX29iamVjdF91c2FnZSwgMCk7CiAKLQlpZiAoZmxhZ3MgJiBIQVNIX1dSSVRFX09CSkVDVCkgeworCWlmIChmbGFncyAmIEhBU0hfV1JJVEVfT0JKRUNUKQogCQlwcmVmaXggPSBzZXR1cF9naXRfZGlyZWN0b3J5KCk7Ci0JCXByZWZpeF9sZW5ndGggPSBwcmVmaXggPyBzdHJsZW4ocHJlZml4KSA6IDA7Ci0JCWlmICh2cGF0aCAmJiBwcmVmaXgpCi0JCQl2cGF0aCA9IHByZWZpeF9maWxlbmFtZShwcmVmaXgsIHByZWZpeF9sZW5ndGgsIHZwYXRoKTsKLQl9CisJZWxzZQorCQlwcmVmaXggPSBzZXR1cF9naXRfZGlyZWN0b3J5X2dlbnRseSgmbm9uZ2l0KTsKKworCXByZWZpeF9sZW5ndGggPSBwcmVmaXggPyBzdHJsZW4ocHJlZml4KSA6IDA7CisJaWYgKHZwYXRoICYmIHByZWZpeCkKKwkJdnBhdGggPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBwcmVmaXhfbGVuZ3RoLCB2cGF0aCk7CiAKIAlnaXRfY29uZmlnKGdpdF9kZWZhdWx0X2NvbmZpZywgTlVMTCk7CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vaGVscC5jIGIvYnVpbHRpbi9oZWxwLmMKaW5kZXggODg0ODAxMy4uNDlmN2EwNyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9oZWxwLmMKKysrIGIvYnVpbHRpbi9oZWxwLmMKQEAgLTM3LDggKzM3LDEwIEBACiBzdGF0aWMgaW50IHNob3dfZ3VpZGVzID0gMDsKIHN0YXRpYyB1bnNpZ25lZCBpbnQgY29sb3B0czsKIHN0YXRpYyBlbnVtIGhlbHBfZm9ybWF0IGhlbHBfZm9ybWF0ID0gSEVMUF9GT1JNQVRfTk9ORTsKK3N0YXRpYyBpbnQgZXhjbHVkZV9ndWlkZXM7CiBzdGF0aWMgc3RydWN0IG9wdGlvbiBidWlsdGluX2hlbHBfb3B0aW9uc1tdID0gewogCU9QVF9CT09MKCdhJywgImFsbCIsICZzaG93X2FsbCwgTl8oInByaW50IGFsbCBhdmFpbGFibGUgY29tbWFuZHMiKSksCisJT1BUX0hJRERFTl9CT09MKDAsICJleGNsdWRlLWd1aWRlcyIsICZleGNsdWRlX2d1aWRlcywgTl8oImV4Y2x1ZGUgZ3VpZGVzIikpLAogCU9QVF9CT09MKCdnJywgImd1aWRlcyIsICZzaG93X2d1aWRlcywgTl8oInByaW50IGxpc3Qgb2YgdXNlZnVsIGd1aWRlcyIpKSwKIAlPUFRfU0VUX0lOVCgnbScsICJtYW4iLCAmaGVscF9mb3JtYXQsIE5fKCJzaG93IG1hbiBwYWdlIiksIEhFTFBfRk9STUFUX01BTiksCiAJT1BUX1NFVF9JTlQoJ3cnLCAid2ViIiwgJmhlbHBfZm9ybWF0LCBOXygic2hvdyBtYW51YWwgaW4gd2ViIGJyb3dzZXIiKSwKQEAgLTM3OSwxNyArMzgxLDEwIEBACiAJZnJlZSh0b19mcmVlKTsKIH0KIAotLyoKLSAqIElmIG9wZW5faHRtbCBpcyBub3QgZGVmaW5lZCBpbiBhIHBsYXRmb3JtLXNwZWNpZmljIHdheSAoc2VlIGZvcgotICogZXhhbXBsZSBjb21wYXQvbWluZ3cuaCksIHdlIHVzZSB0aGUgc2NyaXB0IHdlYi0tYnJvd3NlIHRvIGRpc3BsYXkKLSAqIEhUTUwuCi0gKi8KLSNpZm5kZWYgb3Blbl9odG1sCiBzdGF0aWMgdm9pZCBvcGVuX2h0bWwoY29uc3QgY2hhciAqcGF0aCkKIHsKIAlleGVjbF9naXRfY21kKCJ3ZWItLWJyb3dzZSIsICItYyIsICJoZWxwLmJyb3dzZXIiLCBwYXRoLCAoY2hhciAqKU5VTEwpOwogfQotI2VuZGlmCiAKIHN0YXRpYyB2b2lkIHNob3dfaHRtbF9wYWdlKGNvbnN0IGNoYXIgKmdpdF9jbWQpCiB7CkBAIC00MzMsMTAgKzQyOCwyOSBAQAogCXB1dGNoYXIoJ1xuJyk7CiB9CiAKK3N0YXRpYyBjb25zdCBjaGFyICpjaGVja19naXRfY21kKGNvbnN0IGNoYXIqIGNtZCkKK3sKKwljaGFyICphbGlhczsKKworCWlmIChpc19naXRfY29tbWFuZChjbWQpKQorCQlyZXR1cm4gY21kOworCisJYWxpYXMgPSBhbGlhc19sb29rdXAoY21kKTsKKwlpZiAoYWxpYXMpIHsKKwkJcHJpbnRmX2xuKF8oImBnaXQgJXMnIGlzIGFsaWFzZWQgdG8gYCVzJyIpLCBjbWQsIGFsaWFzKTsKKwkJZnJlZShhbGlhcyk7CisJCWV4aXQoMCk7CisJfQorCisJaWYgKGV4Y2x1ZGVfZ3VpZGVzKQorCQlyZXR1cm4gaGVscF91bmtub3duX2NtZChjbWQpOworCisJcmV0dXJuIGNtZDsKK30KKwogaW50IGNtZF9oZWxwKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWludCBub25naXQ7Ci0JY2hhciAqYWxpYXM7CiAJZW51bSBoZWxwX2Zvcm1hdCBwYXJzZWRfaGVscF9mb3JtYXQ7CiAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIGJ1aWx0aW5faGVscF9vcHRpb25zLApAQCAtNDc2LDEyICs0OTAsNyBAQAogCWlmIChoZWxwX2Zvcm1hdCA9PSBIRUxQX0ZPUk1BVF9OT05FKQogCQloZWxwX2Zvcm1hdCA9IHBhcnNlX2hlbHBfZm9ybWF0KERFRkFVTFRfSEVMUF9GT1JNQVQpOwogCi0JYWxpYXMgPSBhbGlhc19sb29rdXAoYXJndlswXSk7Ci0JaWYgKGFsaWFzICYmICFpc19naXRfY29tbWFuZChhcmd2WzBdKSkgewotCQlwcmludGZfbG4oXygiYGdpdCAlcycgaXMgYWxpYXNlZCB0byBgJXMnIiksIGFyZ3ZbMF0sIGFsaWFzKTsKLQkJZnJlZShhbGlhcyk7Ci0JCXJldHVybiAwOwotCX0KKwlhcmd2WzBdID0gY2hlY2tfZ2l0X2NtZChhcmd2WzBdKTsKIAogCXN3aXRjaCAoaGVscF9mb3JtYXQpIHsKIAljYXNlIEhFTFBfRk9STUFUX05PTkU6CmRpZmYgLS1naXQgYS9idWlsdGluL2luZGV4LXBhY2suYyBiL2J1aWx0aW4vaW5kZXgtcGFjay5jCmluZGV4IGU4YzcxZmMuLjBhMjdiYWIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vaW5kZXgtcGFjay5jCisrKyBiL2J1aWx0aW4vaW5kZXgtcGFjay5jCkBAIC03Nyw2ICs3Nyw3IEBACiBzdGF0aWMgaW50IGRvX2ZzY2tfb2JqZWN0Owogc3RhdGljIHN0cnVjdCBmc2NrX29wdGlvbnMgZnNja19vcHRpb25zID0gRlNDS19PUFRJT05TX1NUUklDVDsKIHN0YXRpYyBpbnQgdmVyYm9zZTsKK3N0YXRpYyBpbnQgc2hvd19yZXNvbHZpbmdfcHJvZ3Jlc3M7CiBzdGF0aWMgaW50IHNob3dfc3RhdDsKIHN0YXRpYyBpbnQgY2hlY2tfc2VsZl9jb250YWluZWRfYW5kX2Nvbm5lY3RlZDsKIApAQCAtODYsNiArODcsNyBAQAogc3RhdGljIHVuc2lnbmVkIGNoYXIgaW5wdXRfYnVmZmVyWzQwOTZdOwogc3RhdGljIHVuc2lnbmVkIGludCBpbnB1dF9vZmZzZXQsIGlucHV0X2xlbjsKIHN0YXRpYyBvZmZfdCBjb25zdW1lZF9ieXRlczsKK3N0YXRpYyBvZmZfdCBtYXhfaW5wdXRfc2l6ZTsKIHN0YXRpYyB1bnNpZ25lZCBkZWVwZXN0X2RlbHRhOwogc3RhdGljIGdpdF9TSEFfQ1RYIGlucHV0X2N0eDsKIHN0YXRpYyB1aW50MzJfdCBpbnB1dF9jcmMzMjsKQEAgLTI5Niw2ICsyOTgsOCBAQAogCWlmIChzaWduZWRfYWRkX292ZXJmbG93cyhjb25zdW1lZF9ieXRlcywgYnl0ZXMpKQogCQlkaWUoXygicGFjayB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiBvZmZfdCIpKTsKIAljb25zdW1lZF9ieXRlcyArPSBieXRlczsKKwlpZiAobWF4X2lucHV0X3NpemUgJiYgY29uc3VtZWRfYnl0ZXMgPiBtYXhfaW5wdXRfc2l6ZSkKKwkJZGllKF8oInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIpKTsKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIgKm9wZW5fcGFja19maWxlKGNvbnN0IGNoYXIgKnBhY2tfbmFtZSkKQEAgLTMzOCwxMCArMzQyLDEwIEBACiAJdXNlKHNpemVvZihzdHJ1Y3QgcGFja19oZWFkZXIpKTsKIH0KIAotc3RhdGljIE5PUkVUVVJOIHZvaWQgYmFkX29iamVjdCh1bnNpZ25lZCBsb25nIG9mZnNldCwgY29uc3QgY2hhciAqZm9ybWF0LAorc3RhdGljIE5PUkVUVVJOIHZvaWQgYmFkX29iamVjdChvZmZfdCBvZmZzZXQsIGNvbnN0IGNoYXIgKmZvcm1hdCwKIAkJICAgICAgIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSk7CiAKLXN0YXRpYyBOT1JFVFVSTiB2b2lkIGJhZF9vYmplY3QodW5zaWduZWQgbG9uZyBvZmZzZXQsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQorc3RhdGljIE5PUkVUVVJOIHZvaWQgYmFkX29iamVjdChvZmZfdCBvZmZzZXQsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQogewogCXZhX2xpc3QgcGFyYW1zOwogCWNoYXIgYnVmWzEwMjRdOwpAQCAtMzQ5LDcgKzM1Myw4IEBACiAJdmFfc3RhcnQocGFyYW1zLCBmb3JtYXQpOwogCXZzbnByaW50ZihidWYsIHNpemVvZihidWYpLCBmb3JtYXQsIHBhcmFtcyk7CiAJdmFfZW5kKHBhcmFtcyk7Ci0JZGllKF8oInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICVsdTogJXMiKSwgb2Zmc2V0LCBidWYpOworCWRpZShfKCJwYWNrIGhhcyBiYWQgb2JqZWN0IGF0IG9mZnNldCAlIlBSSXVNQVgiOiAlcyIpLAorCSAgICAodWludG1heF90KW9mZnNldCwgYnVmKTsKIH0KIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgdGhyZWFkX2xvY2FsICpnZXRfdGhyZWFkX2RhdGEodm9pZCkKQEAgLTQyOSw3ICs0MzQsNyBAQAogCXJldHVybiAodHlwZSA9PSBPQkpfUkVGX0RFTFRBIHx8IHR5cGUgPT0gT0JKX09GU19ERUxUQSk7CiB9CiAKLXN0YXRpYyB2b2lkICp1bnBhY2tfZW50cnlfZGF0YSh1bnNpZ25lZCBsb25nIG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplLAorc3RhdGljIHZvaWQgKnVucGFja19lbnRyeV9kYXRhKG9mZl90IG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplLAogCQkJICAgICAgIGVudW0gb2JqZWN0X3R5cGUgdHlwZSwgdW5zaWduZWQgY2hhciAqc2hhMSkKIHsKIAlzdGF0aWMgY2hhciBmaXhlZF9idWZbODE5Ml07CkBAIC01NDksMTMgKzU1NCwxMyBAQAogCQkJIHZvaWQgKmNiX2RhdGEpCiB7CiAJb2ZmX3QgZnJvbSA9IG9ialswXS5pZHgub2Zmc2V0ICsgb2JqWzBdLmhkcl9zaXplOwotCXVuc2lnbmVkIGxvbmcgbGVuID0gb2JqWzFdLmlkeC5vZmZzZXQgLSBmcm9tOworCW9mZl90IGxlbiA9IG9ialsxXS5pZHgub2Zmc2V0IC0gZnJvbTsKIAl1bnNpZ25lZCBjaGFyICpkYXRhLCAqaW5idWY7CiAJZ2l0X3pzdHJlYW0gc3RyZWFtOwogCWludCBzdGF0dXM7CiAKIAlkYXRhID0geG1hbGxvY3ooY29uc3VtZSA/IDY0KjEwMjQgOiBvYmotPnNpemUpOwotCWluYnVmID0geG1hbGxvYygobGVuIDwgNjQqMTAyNCkgPyBsZW4gOiA2NCoxMDI0KTsKKwlpbmJ1ZiA9IHhtYWxsb2MoKGxlbiA8IDY0KjEwMjQpID8gKGludClsZW4gOiA2NCoxMDI0KTsKIAogCW1lbXNldCgmc3RyZWFtLCAwLCBzaXplb2Yoc3RyZWFtKSk7CiAJZ2l0X2luZmxhdGVfaW5pdCgmc3RyZWFtKTsKQEAgLTU2MywxNSArNTY4LDE1IEBACiAJc3RyZWFtLmF2YWlsX291dCA9IGNvbnN1bWUgPyA2NCoxMDI0IDogb2JqLT5zaXplOwogCiAJZG8gewotCQlzc2l6ZV90IG4gPSAobGVuIDwgNjQqMTAyNCkgPyBsZW4gOiA2NCoxMDI0OworCQlzc2l6ZV90IG4gPSAobGVuIDwgNjQqMTAyNCkgPyAoc3NpemVfdClsZW4gOiA2NCoxMDI0OwogCQluID0geHByZWFkKGdldF90aHJlYWRfZGF0YSgpLT5wYWNrX2ZkLCBpbmJ1ZiwgbiwgZnJvbSk7CiAJCWlmIChuIDwgMCkKIAkJCWRpZV9lcnJubyhfKCJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIikpOwogCQlpZiAoIW4pCi0JCQlkaWUoUV8oInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlbHUgYnl0ZSBtaXNzaW5nIiwKLQkJCSAgICAgICAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICVsdSBieXRlcyBtaXNzaW5nIiwKLQkJCSAgICAgICBsZW4pLAotCQkJICAgIGxlbik7CisJCQlkaWUoUV8oInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlIlBSSXVNQVgiIGJ5dGUgbWlzc2luZyIsCisJCQkgICAgICAgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlIlBSSXVNQVgiIGJ5dGVzIG1pc3NpbmciLAorCQkJICAgICAgICh1bnNpZ25lZCBpbnQpbGVuKSwKKwkJCSAgICAodWludG1heF90KWxlbik7CiAJCWZyb20gKz0gbjsKIAkJbGVuIC09IG47CiAJCXN0cmVhbS5uZXh0X2luID0gaW5idWY7CkBAIC0xMTg1LDEyICsxMTkwLDEwIEBACiAJCXJldHVybjsKIAogCS8qIFNvcnQgZGVsdGFzIGJ5IGJhc2UgU0hBMS9vZmZzZXQgZm9yIGZhc3Qgc2VhcmNoaW5nICovCi0JcXNvcnQob2ZzX2RlbHRhcywgbnJfb2ZzX2RlbHRhcywgc2l6ZW9mKHN0cnVjdCBvZnNfZGVsdGFfZW50cnkpLAotCSAgICAgIGNvbXBhcmVfb2ZzX2RlbHRhX2VudHJ5KTsKLQlxc29ydChyZWZfZGVsdGFzLCBucl9yZWZfZGVsdGFzLCBzaXplb2Yoc3RydWN0IHJlZl9kZWx0YV9lbnRyeSksCi0JICAgICAgY29tcGFyZV9yZWZfZGVsdGFfZW50cnkpOworCVFTT1JUKG9mc19kZWx0YXMsIG5yX29mc19kZWx0YXMsIGNvbXBhcmVfb2ZzX2RlbHRhX2VudHJ5KTsKKwlRU09SVChyZWZfZGVsdGFzLCBucl9yZWZfZGVsdGFzLCBjb21wYXJlX3JlZl9kZWx0YV9lbnRyeSk7CiAKLQlpZiAodmVyYm9zZSkKKwlpZiAodmVyYm9zZSB8fCBzaG93X3Jlc29sdmluZ19wcm9ncmVzcykKIAkJcHJvZ3Jlc3MgPSBzdGFydF9wcm9ncmVzcyhfKCJSZXNvbHZpbmcgZGVsdGFzIiksCiAJCQkJCSAgbnJfcmVmX2RlbHRhcyArIG5yX29mc19kZWx0YXMpOwogCkBAIC0xMzUxLDcgKzEzNTQsNyBAQAogCUFMTE9DX0FSUkFZKHNvcnRlZF9ieV9wb3MsIG5yX3JlZl9kZWx0YXMpOwogCWZvciAoaSA9IDA7IGkgPCBucl9yZWZfZGVsdGFzOyBpKyspCiAJCXNvcnRlZF9ieV9wb3NbaV0gPSAmcmVmX2RlbHRhc1tpXTsKLQlxc29ydChzb3J0ZWRfYnlfcG9zLCBucl9yZWZfZGVsdGFzLCBzaXplb2YoKnNvcnRlZF9ieV9wb3MpLCBkZWx0YV9wb3NfY29tcGFyZSk7CisJUVNPUlQoc29ydGVkX2J5X3BvcywgbnJfcmVmX2RlbHRhcywgZGVsdGFfcG9zX2NvbXBhcmUpOwogCiAJZm9yIChpID0gMDsgaSA8IG5yX3JlZl9kZWx0YXM7IGkrKykgewogCQlzdHJ1Y3QgcmVmX2RlbHRhX2VudHJ5ICpkID0gc29ydGVkX2J5X3Bvc1tpXTsKQEAgLTE1MjgsOCArMTUzMSw3IEBACiAJCW9wdHMtPmFub21hbHlbb3B0cy0+YW5vbWFseV9ucisrXSA9IG50b2hsKGlkeDJbb2ZmICogMiArIDFdKTsKIAl9CiAKLQlpZiAoMSA8IG9wdHMtPmFub21hbHlfbnIpCi0JCXFzb3J0KG9wdHMtPmFub21hbHksIG9wdHMtPmFub21hbHlfbnIsIHNpemVvZih1aW50MzJfdCksIGNtcF91aW50MzIpOworCVFTT1JUKG9wdHMtPmFub21hbHksIG9wdHMtPmFub21hbHlfbnIsIGNtcF91aW50MzIpOwogfQogCiBzdGF0aWMgdm9pZCByZWFkX2lkeF9vcHRpb24oc3RydWN0IHBhY2tfaWR4X29wdGlvbiAqb3B0cywgY29uc3QgY2hhciAqcGFja19uYW1lKQpAQCAtMTYyNSw2ICsxNjI3LDcgQEAKIAlzdHJ1Y3QgcGFja19pZHhfb3B0aW9uIG9wdHM7CiAJdW5zaWduZWQgY2hhciBwYWNrX3NoYTFbMjBdOwogCXVuc2lnbmVkIGZvcmVpZ25fbnIgPSAxOwkvKiB6ZXJvIGlzIGEgImdvb2QiIHZhbHVlLCBhc3N1bWUgYmFkICovCisJaW50IHJlcG9ydF9lbmRfb2ZfaW5wdXQgPSAwOwogCiAJaWYgKGFyZ2MgPT0gMiAmJiAhc3RyY21wKGFyZ3ZbMV0sICItaCIpKQogCQl1c2FnZShpbmRleF9wYWNrX3VzYWdlKTsKQEAgLTE2OTQsNiArMTY5NywxMCBAQAogCQkJCWlucHV0X2xlbiA9IHNpemVvZigqaGRyKTsKIAkJCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItdiIpKSB7CiAJCQkJdmVyYm9zZSA9IDE7CisJCQl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1zaG93LXJlc29sdmluZy1wcm9ncmVzcyIpKSB7CisJCQkJc2hvd19yZXNvbHZpbmdfcHJvZ3Jlc3MgPSAxOworCQkJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tcmVwb3J0LWVuZC1vZi1pbnB1dCIpKSB7CisJCQkJcmVwb3J0X2VuZF9vZl9pbnB1dCA9IDE7CiAJCQl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLW8iKSkgewogCQkJCWlmIChpbmRleF9uYW1lIHx8IChpKzEpID49IGFyZ2MpCiAJCQkJCXVzYWdlKGluZGV4X3BhY2tfdXNhZ2UpOwpAQCAtMTcwNyw2ICsxNzE0LDggQEAKIAkJCQkJb3B0cy5vZmYzMl9saW1pdCA9IHN0cnRvdWwoYysxLCAmYywgMCk7CiAJCQkJaWYgKCpjIHx8IG9wdHMub2ZmMzJfbGltaXQgJiAweDgwMDAwMDAwKQogCQkJCQlkaWUoXygiYmFkICVzIiksIGFyZyk7CisJCQl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgIi0tbWF4LWlucHV0LXNpemU9IiwgJmFyZykpIHsKKwkJCQltYXhfaW5wdXRfc2l6ZSA9IHN0cnRvdW1heChhcmcsIE5VTEwsIDEwKTsKIAkJCX0gZWxzZQogCQkJCXVzYWdlKGluZGV4X3BhY2tfdXNhZ2UpOwogCQkJY29udGludWU7CkBAIC0xNzUxLDYgKzE3NjAsOCBAQAogCQlvYmpfc3RhdCA9IHhjYWxsb2Moc3RfYWRkKG5yX29iamVjdHMsIDEpLCBzaXplb2Yoc3RydWN0IG9iamVjdF9zdGF0KSk7CiAJb2ZzX2RlbHRhcyA9IHhjYWxsb2MobnJfb2JqZWN0cywgc2l6ZW9mKHN0cnVjdCBvZnNfZGVsdGFfZW50cnkpKTsKIAlwYXJzZV9wYWNrX29iamVjdHMocGFja19zaGExKTsKKwlpZiAocmVwb3J0X2VuZF9vZl9pbnB1dCkKKwkJd3JpdGVfaW5fZnVsbCgyLCAiXDAiLCAxKTsKIAlyZXNvbHZlX2RlbHRhcygpOwogCWNvbmNsdWRlX3BhY2soZml4X3RoaW5fcGFjaywgY3Vycl9wYWNrLCBwYWNrX3NoYTEpOwogCWZyZWUob2ZzX2RlbHRhcyk7CmRpZmYgLS1naXQgYS9idWlsdGluL2luaXQtZGIuYyBiL2J1aWx0aW4vaW5pdC1kYi5jCmluZGV4IGIyZDhkNDAuLjIzOTliOTcgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vaW5pdC1kYi5jCisrKyBiL2J1aWx0aW4vaW5pdC1kYi5jCkBAIC0yMiw3ICsyMiw2IEBACiBzdGF0aWMgaW50IGluaXRfaXNfYmFyZV9yZXBvc2l0b3J5ID0gMDsKIHN0YXRpYyBpbnQgaW5pdF9zaGFyZWRfcmVwb3NpdG9yeSA9IC0xOwogc3RhdGljIGNvbnN0IGNoYXIgKmluaXRfZGJfdGVtcGxhdGVfZGlyOwotc3RhdGljIGNvbnN0IGNoYXIgKmdpdF9saW5rOwogCiBzdGF0aWMgdm9pZCBjb3B5X3RlbXBsYXRlc18xKHN0cnVjdCBzdHJidWYgKnBhdGgsIHN0cnVjdCBzdHJidWYgKnRlbXBsYXRlLAogCQkJICAgICBESVIgKmRpcikKQEAgLTEzOCw3ICsxMzcsNyBAQAogCQlnb3RvIGNsb3NlX2ZyZWVfcmV0dXJuOwogCX0KIAotCXN0cmJ1Zl9hZGRzdHIoJnBhdGgsIGdldF9naXRfZGlyKCkpOworCXN0cmJ1Zl9hZGRzdHIoJnBhdGgsIGdldF9naXRfY29tbW9uX2RpcigpKTsKIAlzdHJidWZfY29tcGxldGUoJnBhdGgsICcvJyk7CiAJY29weV90ZW1wbGF0ZXNfMSgmcGF0aCwgJnRlbXBsYXRlX3BhdGgsIGRpcik7CiBjbG9zZV9mcmVlX3JldHVybjoKQEAgLTE3MSw3ICsxNzAsOCBAQAogCXJldHVybiAxOwogfQogCi1zdGF0aWMgaW50IGNyZWF0ZV9kZWZhdWx0X2ZpbGVzKGNvbnN0IGNoYXIgKnRlbXBsYXRlX3BhdGgpCitzdGF0aWMgaW50IGNyZWF0ZV9kZWZhdWx0X2ZpbGVzKGNvbnN0IGNoYXIgKnRlbXBsYXRlX3BhdGgsCisJCQkJY29uc3QgY2hhciAqb3JpZ2luYWxfZ2l0X2RpcikKIHsKIAlzdHJ1Y3Qgc3RhdCBzdDE7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKQEAgLTE4MCwyNyArMTgwLDMwIEBACiAJY2hhciBqdW5rWzJdOwogCWludCByZWluaXQ7CiAJaW50IGZpbGVtb2RlOwotCi0JLyoKLQkgKiBDcmVhdGUgLmdpdC9yZWZzL3toZWFkcyx0YWdzfQotCSAqLwotCXNhZmVfY3JlYXRlX2RpcihnaXRfcGF0aF9idWYoJmJ1ZiwgInJlZnMiKSwgMSk7Ci0Jc2FmZV9jcmVhdGVfZGlyKGdpdF9wYXRoX2J1ZigmYnVmLCAicmVmcy9oZWFkcyIpLCAxKTsKLQlzYWZlX2NyZWF0ZV9kaXIoZ2l0X3BhdGhfYnVmKCZidWYsICJyZWZzL3RhZ3MiKSwgMSk7CisJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKIAogCS8qIEp1c3QgbG9vayBmb3IgYGluaXQudGVtcGxhdGVkaXJgICovCiAJZ2l0X2NvbmZpZyhnaXRfaW5pdF9kYl9jb25maWcsIE5VTEwpOwogCi0JLyogRmlyc3QgY29weSB0aGUgdGVtcGxhdGVzIC0tIHdlIG1pZ2h0IGhhdmUgdGhlIGRlZmF1bHQKKwkvKgorCSAqIEZpcnN0IGNvcHkgdGhlIHRlbXBsYXRlcyAtLSB3ZSBtaWdodCBoYXZlIHRoZSBkZWZhdWx0CiAJICogY29uZmlnIGZpbGUgdGhlcmUsIGluIHdoaWNoIGNhc2Ugd2Ugd291bGQgd2FudCB0byByZWFkCiAJICogZnJvbSBpdCBhZnRlciBpbnN0YWxsaW5nLgorCSAqCisJICogQmVmb3JlIHJlYWRpbmcgdGhhdCBjb25maWcsIHdlIGFsc28gbmVlZCB0byBjbGVhciBvdXQgYW55IGNhY2hlZAorCSAqIHZhbHVlcyAoc2luY2Ugd2UndmUganVzdCBwb3RlbnRpYWxseSBjaGFuZ2VkIHdoYXQncyBhdmFpbGFibGUgb24KKwkgKiBkaXNrKS4KIAkgKi8KIAljb3B5X3RlbXBsYXRlcyh0ZW1wbGF0ZV9wYXRoKTsKLQorCWdpdF9jb25maWdfY2xlYXIoKTsKKwlyZXNldF9zaGFyZWRfcmVwb3NpdG9yeSgpOwogCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKLQlpc19iYXJlX3JlcG9zaXRvcnlfY2ZnID0gaW5pdF9pc19iYXJlX3JlcG9zaXRvcnk7CiAKLQkvKiByZWFkaW5nIGV4aXN0aW5nIGNvbmZpZyBtYXkgaGF2ZSBvdmVyd3JvdGUgaXQgKi8KKwkvKgorCSAqIFdlIG11c3QgbWFrZSBzdXJlIGNvbW1hbmQtbGluZSBvcHRpb25zIGNvbnRpbnVlIHRvIG92ZXJyaWRlIGFueQorCSAqIHZhbHVlcyB3ZSBtaWdodCBoYXZlIGp1c3QgcmUtcmVhZCBmcm9tIHRoZSBjb25maWcuCisJICovCisJaXNfYmFyZV9yZXBvc2l0b3J5X2NmZyA9IGluaXRfaXNfYmFyZV9yZXBvc2l0b3J5OwogCWlmIChpbml0X3NoYXJlZF9yZXBvc2l0b3J5ICE9IC0xKQogCQlzZXRfc2hhcmVkX3JlcG9zaXRvcnkoaW5pdF9zaGFyZWRfcmVwb3NpdG9yeSk7CiAKQEAgLTIxMCwxMiArMjEzLDE5IEBACiAJICovCiAJaWYgKGdldF9zaGFyZWRfcmVwb3NpdG9yeSgpKSB7CiAJCWFkanVzdF9zaGFyZWRfcGVybShnZXRfZ2l0X2RpcigpKTsKLQkJYWRqdXN0X3NoYXJlZF9wZXJtKGdpdF9wYXRoX2J1ZigmYnVmLCAicmVmcyIpKTsKLQkJYWRqdXN0X3NoYXJlZF9wZXJtKGdpdF9wYXRoX2J1ZigmYnVmLCAicmVmcy9oZWFkcyIpKTsKLQkJYWRqdXN0X3NoYXJlZF9wZXJtKGdpdF9wYXRoX2J1ZigmYnVmLCAicmVmcy90YWdzIikpOwogCX0KIAogCS8qCisJICogV2UgbmVlZCB0byBjcmVhdGUgYSAicmVmcyIgZGlyIGluIGFueSBjYXNlIHNvIHRoYXQgb2xkZXIKKwkgKiB2ZXJzaW9ucyBvZiBnaXQgY2FuIHRlbGwgdGhhdCB0aGlzIGlzIGEgcmVwb3NpdG9yeS4KKwkgKi8KKwlzYWZlX2NyZWF0ZV9kaXIoZ2l0X3BhdGgoInJlZnMiKSwgMSk7CisJYWRqdXN0X3NoYXJlZF9wZXJtKGdpdF9wYXRoKCJyZWZzIikpOworCisJaWYgKHJlZnNfaW5pdF9kYigmZXJyKSkKKwkJZGllKCJmYWlsZWQgdG8gc2V0IHVwIHJlZnMgZGI6ICVzIiwgZXJyLmJ1Zik7CisKKwkvKgogCSAqIENyZWF0ZSB0aGUgZGVmYXVsdCBzeW1saW5rIGZyb20gIi5naXQvSEVBRCIgdG8gdGhlICJtYXN0ZXIiCiAJICogYnJhbmNoLCBpZiBpdCBkb2VzIG5vdCBleGlzdCB5ZXQuCiAJICovCkBAIC0yNTQsNyArMjY0LDcgQEAKIAkJLyogYWxsb3cgdGVtcGxhdGUgY29uZmlnIGZpbGUgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgKi8KIAkJaWYgKGxvZ19hbGxfcmVmX3VwZGF0ZXMgPT0gLTEpCiAJCQlnaXRfY29uZmlnX3NldCgiY29yZS5sb2dhbGxyZWZ1cGRhdGVzIiwgInRydWUiKTsKLQkJaWYgKG5lZWRzX3dvcmtfdHJlZV9jb25maWcoZ2V0X2dpdF9kaXIoKSwgd29ya190cmVlKSkKKwkJaWYgKG5lZWRzX3dvcmtfdHJlZV9jb25maWcob3JpZ2luYWxfZ2l0X2Rpciwgd29ya190cmVlKSkKIAkJCWdpdF9jb25maWdfc2V0KCJjb3JlLndvcmt0cmVlIiwgd29ya190cmVlKTsKIAl9CiAKQEAgLTMwMiwzNCArMzEyLDcgQEAKIAlzdHJidWZfcmVsZWFzZSgmcGF0aCk7CiB9CiAKLWludCBzZXRfZ2l0X2Rpcl9pbml0KGNvbnN0IGNoYXIgKmdpdF9kaXIsIGNvbnN0IGNoYXIgKnJlYWxfZ2l0X2RpciwKLQkJICAgICBpbnQgZXhpc3Rfb2spCi17Ci0JaWYgKHJlYWxfZ2l0X2RpcikgewotCQlzdHJ1Y3Qgc3RhdCBzdDsKLQotCQlpZiAoIWV4aXN0X29rICYmICFzdGF0KGdpdF9kaXIsICZzdCkpCi0JCQlkaWUoXygiJXMgYWxyZWFkeSBleGlzdHMiKSwgZ2l0X2Rpcik7Ci0KLQkJaWYgKCFleGlzdF9vayAmJiAhc3RhdChyZWFsX2dpdF9kaXIsICZzdCkpCi0JCQlkaWUoXygiJXMgYWxyZWFkeSBleGlzdHMiKSwgcmVhbF9naXRfZGlyKTsKLQotCQkvKgotCQkgKiBtYWtlIHN1cmUgc3ltbGlua3MgYXJlIHJlc29sdmVkIGJlY2F1c2Ugd2UnbGwgYmUKLQkJICogbW92aW5nIHRoZSB0YXJnZXQgcmVwbyBsYXRlciBvbiBpbiBzZXBhcmF0ZV9naXRfZGlyKCkKLQkJICovCi0JCWdpdF9saW5rID0geHN0cmR1cChyZWFsX3BhdGgoZ2l0X2RpcikpOwotCQlzZXRfZ2l0X2RpcihyZWFsX3BhdGgocmVhbF9naXRfZGlyKSk7Ci0JfQotCWVsc2UgewotCQlzZXRfZ2l0X2RpcihyZWFsX3BhdGgoZ2l0X2RpcikpOwotCQlnaXRfbGluayA9IE5VTEw7Ci0JfQotCXN0YXJ0dXBfaW5mby0+aGF2ZV9yZXBvc2l0b3J5ID0gMTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgc2VwYXJhdGVfZ2l0X2Rpcihjb25zdCBjaGFyICpnaXRfZGlyKQorc3RhdGljIHZvaWQgc2VwYXJhdGVfZ2l0X2Rpcihjb25zdCBjaGFyICpnaXRfZGlyLCBjb25zdCBjaGFyICpnaXRfbGluaykKIHsKIAlzdHJ1Y3Qgc3RhdCBzdDsKIApAQCAtMzUwLDEzICszMzMsMzEgQEAKIAl3cml0ZV9maWxlKGdpdF9saW5rLCAiZ2l0ZGlyOiAlcyIsIGdpdF9kaXIpOwogfQogCi1pbnQgaW5pdF9kYihjb25zdCBjaGFyICp0ZW1wbGF0ZV9kaXIsIHVuc2lnbmVkIGludCBmbGFncykKK2ludCBpbml0X2RiKGNvbnN0IGNoYXIgKmdpdF9kaXIsIGNvbnN0IGNoYXIgKnJlYWxfZ2l0X2RpciwKKwkgICAgY29uc3QgY2hhciAqdGVtcGxhdGVfZGlyLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7CiAJaW50IHJlaW5pdDsKLQljb25zdCBjaGFyICpnaXRfZGlyID0gZ2V0X2dpdF9kaXIoKTsKKwlpbnQgZXhpc3Rfb2sgPSBmbGFncyAmIElOSVRfREJfRVhJU1RfT0s7CisJY2hhciAqb3JpZ2luYWxfZ2l0X2RpciA9IHhzdHJkdXAocmVhbF9wYXRoKGdpdF9kaXIpKTsKIAotCWlmIChnaXRfbGluaykKLQkJc2VwYXJhdGVfZ2l0X2RpcihnaXRfZGlyKTsKKwlpZiAocmVhbF9naXRfZGlyKSB7CisJCXN0cnVjdCBzdGF0IHN0OworCisJCWlmICghZXhpc3Rfb2sgJiYgIXN0YXQoZ2l0X2RpciwgJnN0KSkKKwkJCWRpZShfKCIlcyBhbHJlYWR5IGV4aXN0cyIpLCBnaXRfZGlyKTsKKworCQlpZiAoIWV4aXN0X29rICYmICFzdGF0KHJlYWxfZ2l0X2RpciwgJnN0KSkKKwkJCWRpZShfKCIlcyBhbHJlYWR5IGV4aXN0cyIpLCByZWFsX2dpdF9kaXIpOworCisJCXNldF9naXRfZGlyKHJlYWxfcGF0aChyZWFsX2dpdF9kaXIpKTsKKwkJZ2l0X2RpciA9IGdldF9naXRfZGlyKCk7CisJCXNlcGFyYXRlX2dpdF9kaXIoZ2l0X2Rpciwgb3JpZ2luYWxfZ2l0X2Rpcik7CisJfQorCWVsc2UgeworCQlzZXRfZ2l0X2RpcihyZWFsX3BhdGgoZ2l0X2RpcikpOworCQlnaXRfZGlyID0gZ2V0X2dpdF9kaXIoKTsKKwl9CisJc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnkgPSAxOwogCiAJc2FmZV9jcmVhdGVfZGlyKGdpdF9kaXIsIDApOwogCkBAIC0zNjksNyArMzcwLDcgQEAKIAkgKi8KIAljaGVja19yZXBvc2l0b3J5X2Zvcm1hdCgpOwogCi0JcmVpbml0ID0gY3JlYXRlX2RlZmF1bHRfZmlsZXModGVtcGxhdGVfZGlyKTsKKwlyZWluaXQgPSBjcmVhdGVfZGVmYXVsdF9maWxlcyh0ZW1wbGF0ZV9kaXIsIG9yaWdpbmFsX2dpdF9kaXIpOwogCiAJY3JlYXRlX29iamVjdF9kaXJlY3RvcnkoKTsKIApAQCAtMzk3LDE1ICszOTgsMTkgQEAKIAlpZiAoIShmbGFncyAmIElOSVRfREJfUVVJRVQpKSB7CiAJCWludCBsZW4gPSBzdHJsZW4oZ2l0X2Rpcik7CiAKLQkJLyogVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAnJXMnIGlzIGVpdGhlciAiUmVpbml0aWFsaXplZAotCQkgICBleGlzdGluZyIgb3IgIkluaXRpYWxpemVkIGVtcHR5IiwgdGhlIHNlY29uZCAiIHNoYXJlZCIgb3IKLQkJICAgIiIsIGFuZCB0aGUgbGFzdCAnJXMlcycgaXMgdGhlIHZlcmJhdGltIGRpcmVjdG9yeSBuYW1lLiAqLwotCQlwcmludGYoXygiJXMlcyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iKSwKLQkJICAgICAgIHJlaW5pdCA/IF8oIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmciKSA6IF8oIkluaXRpYWxpemVkIGVtcHR5IiksCi0JCSAgICAgICBnZXRfc2hhcmVkX3JlcG9zaXRvcnkoKSA/IF8oIiBzaGFyZWQiKSA6ICIiLAotCQkgICAgICAgZ2l0X2RpciwgbGVuICYmIGdpdF9kaXJbbGVuLTFdICE9ICcvJyA/ICIvIiA6ICIiKTsKKwkJaWYgKHJlaW5pdCkKKwkJCXByaW50ZihnZXRfc2hhcmVkX3JlcG9zaXRvcnkoKQorCQkJICAgICAgID8gXygiUmVpbml0aWFsaXplZCBleGlzdGluZyBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIikKKwkJCSAgICAgICA6IF8oIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmcgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIiksCisJCQkgICAgICAgZ2l0X2RpciwgbGVuICYmIGdpdF9kaXJbbGVuLTFdICE9ICcvJyA/ICIvIiA6ICIiKTsKKwkJZWxzZQorCQkJcHJpbnRmKGdldF9zaGFyZWRfcmVwb3NpdG9yeSgpCisJCQkgICAgICAgPyBfKCJJbml0aWFsaXplZCBlbXB0eSBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIikKKwkJCSAgICAgICA6IF8oIkluaXRpYWxpemVkIGVtcHR5IEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIpLAorCQkJICAgICAgIGdpdF9kaXIsIGxlbiAmJiBnaXRfZGlyW2xlbi0xXSAhPSAnLycgPyAiLyIgOiAiIik7CiAJfQogCisJZnJlZShvcmlnaW5hbF9naXRfZGlyKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNTczLDcgKzU3OCw2IEBACiAJCQlzZXRfZ2l0X3dvcmtfdHJlZSh3b3JrX3RyZWUpOwogCX0KIAotCXNldF9naXRfZGlyX2luaXQoZ2l0X2RpciwgcmVhbF9naXRfZGlyLCAxKTsKLQotCXJldHVybiBpbml0X2RiKHRlbXBsYXRlX2RpciwgZmxhZ3MpOworCWZsYWdzIHw9IElOSVRfREJfRVhJU1RfT0s7CisJcmV0dXJuIGluaXRfZGIoZ2l0X2RpciwgcmVhbF9naXRfZGlyLCB0ZW1wbGF0ZV9kaXIsIGZsYWdzKTsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmMgYi9idWlsdGluL2ludGVycHJldC10cmFpbGVycy5jCmluZGV4IGI5OWFlNGIuLjE3NWYxNDcgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmMKKysrIGIvYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYwpAQCAtMjAsNyArMjAsNyBAQAogewogCWludCBpbl9wbGFjZSA9IDA7CiAJaW50IHRyaW1fZW1wdHkgPSAwOwotCXN0cnVjdCBzdHJpbmdfbGlzdCB0cmFpbGVycyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOworCXN0cnVjdCBzdHJpbmdfbGlzdCB0cmFpbGVycyA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKIAkJT1BUX0JPT0woMCwgImluLXBsYWNlIiwgJmluX3BsYWNlLCBOXygiZWRpdCBmaWxlcyBpbiBwbGFjZSIpKSwKZGlmZiAtLWdpdCBhL2J1aWx0aW4vbG9nLmMgYi9idWlsdGluL2xvZy5jCmluZGV4IDA5OWY0ZjcuLjU1ZDIwY2MgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbG9nLmMKKysrIGIvYnVpbHRpbi9sb2cuYwpAQCAtMzMsNiArMzMsNyBAQAogc3RhdGljIGludCBkZWZhdWx0X2FiYnJldl9jb21taXQ7CiBzdGF0aWMgaW50IGRlZmF1bHRfc2hvd19yb290ID0gMTsKIHN0YXRpYyBpbnQgZGVmYXVsdF9mb2xsb3c7CitzdGF0aWMgaW50IGRlZmF1bHRfc2hvd19zaWduYXR1cmU7CiBzdGF0aWMgaW50IGRlY29yYXRpb25fc3R5bGU7CiBzdGF0aWMgaW50IGRlY29yYXRpb25fZ2l2ZW47CiBzdGF0aWMgaW50IHVzZV9tYWlsbWFwX2NvbmZpZzsKQEAgLTExOSw2ICsxMjAsNyBAQAogCXJldi0+YWJicmV2X2NvbW1pdCA9IGRlZmF1bHRfYWJicmV2X2NvbW1pdDsKIAlyZXYtPnNob3dfcm9vdF9kaWZmID0gZGVmYXVsdF9zaG93X3Jvb3Q7CiAJcmV2LT5zdWJqZWN0X3ByZWZpeCA9IGZtdF9wYXRjaF9zdWJqZWN0X3ByZWZpeDsKKwlyZXYtPnNob3dfc2lnbmF0dXJlID0gZGVmYXVsdF9zaG93X3NpZ25hdHVyZTsKIAlESUZGX09QVF9TRVQoJnJldi0+ZGlmZm9wdCwgQUxMT1dfVEVYVENPTlYpOwogCiAJaWYgKGRlZmF1bHRfZGF0ZV9tb2RlKQpAQCAtMjM2LDE2ICsyMzgsMTcgQEAKIAkJaWYgKHJldi0+Y29tbWl0X2Zvcm1hdCAhPSBDTUlUX0ZNVF9PTkVMSU5FKQogCQkJcHV0Y2hhcihyZXYtPmRpZmZvcHQubGluZV90ZXJtaW5hdGlvbik7CiAJfQotCXByaW50ZihfKCJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iKSwgbnIsIHN0YWdlKTsKKwlmcHJpbnRmKHJldi0+ZGlmZm9wdC5maWxlLCBfKCJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iKSwgbnIsIHN0YWdlKTsKIH0KIAogc3RhdGljIHN0cnVjdCBpdGltZXJ2YWwgZWFybHlfb3V0cHV0X3RpbWVyOwogCiBzdGF0aWMgdm9pZCBsb2dfc2hvd19lYXJseShzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIHN0cnVjdCBjb21taXRfbGlzdCAqbGlzdCkKIHsKLQlpbnQgaSA9IHJldnMtPmVhcmx5X291dHB1dDsKKwlpbnQgaSA9IHJldnMtPmVhcmx5X291dHB1dCwgY2xvc2VfZmlsZSA9IHJldnMtPmRpZmZvcHQuY2xvc2VfZmlsZTsKIAlpbnQgc2hvd19oZWFkZXIgPSAxOwogCisJcmV2cy0+ZGlmZm9wdC5jbG9zZV9maWxlID0gMDsKIAlzb3J0X2luX3RvcG9sb2dpY2FsX29yZGVyKCZsaXN0LCByZXZzLT5zb3J0X29yZGVyKTsKIAl3aGlsZSAobGlzdCAmJiBpKSB7CiAJCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IGxpc3QtPml0ZW07CkBAIC0yNjIsMTQgKzI2NSwxOSBAQAogCQljYXNlIGNvbW1pdF9pZ25vcmU6CiAJCQlicmVhazsKIAkJY2FzZSBjb21taXRfZXJyb3I6CisJCQlpZiAoY2xvc2VfZmlsZSkKKwkJCQlmY2xvc2UocmV2cy0+ZGlmZm9wdC5maWxlKTsKIAkJCXJldHVybjsKIAkJfQogCQlsaXN0ID0gbGlzdC0+bmV4dDsKIAl9CiAKIAkvKiBEaWQgd2UgYWxyZWFkeSBnZXQgZW5vdWdoIGNvbW1pdHMgZm9yIHRoZSBlYXJseSBvdXRwdXQ/ICovCi0JaWYgKCFpKQorCWlmICghaSkgeworCQlpZiAoY2xvc2VfZmlsZSkKKwkJCWZjbG9zZShyZXZzLT5kaWZmb3B0LmZpbGUpOwogCQlyZXR1cm47CisJfQogCiAJLyoKIAkgKiAuLmlmIG5vLCB0aGVuIHJlcGVhdCBpdCB0d2ljZSBhIHNlY29uZCB1bnRpbCB3ZQpAQCAtMzMxLDcgKzMzOSw3IEBACiB7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwogCWludCBzYXZlZF9ucmwgPSAwOwotCWludCBzYXZlZF9kY2N0YyA9IDA7CisJaW50IHNhdmVkX2RjY3RjID0gMCwgY2xvc2VfZmlsZSA9IHJldi0+ZGlmZm9wdC5jbG9zZV9maWxlOwogCiAJaWYgKHJldi0+ZWFybHlfb3V0cHV0KQogCQlzZXR1cF9lYXJseV9vdXRwdXQocmV2KTsKQEAgLTM0Nyw2ICszNTUsNyBAQAogCSAqIGFuZCBIQVNfQ0hBTkdFUyBiZWluZyBhY2N1bXVsYXRlZCBpbiByZXYtPmRpZmZvcHQsIHNvIGJlIGNhcmVmdWwgdG8KIAkgKiByZXRhaW4gdGhhdCBzdGF0ZSBpbmZvcm1hdGlvbiBpZiByZXBsYWNpbmcgcmV2LT5kaWZmb3B0IGluIHRoaXMgbG9vcAogCSAqLworCXJldi0+ZGlmZm9wdC5jbG9zZV9maWxlID0gMDsKIAl3aGlsZSAoKGNvbW1pdCA9IGdldF9yZXZpc2lvbihyZXYpKSAhPSBOVUxMKSB7CiAJCWlmICghbG9nX3RyZWVfY29tbWl0KHJldiwgY29tbWl0KSAmJiByZXYtPm1heF9jb3VudCA+PSAwKQogCQkJLyoKQEAgLTM2Nyw2ICszNzYsOCBAQAogCX0KIAlyZXYtPmRpZmZvcHQuZGVncmFkZWRfY2NfdG9fYyA9IHNhdmVkX2RjY3RjOwogCXJldi0+ZGlmZm9wdC5uZWVkZWRfcmVuYW1lX2xpbWl0ID0gc2F2ZWRfbnJsOworCWlmIChjbG9zZV9maWxlKQorCQlmY2xvc2UocmV2LT5kaWZmb3B0LmZpbGUpOwogCiAJaWYgKHJldi0+ZGlmZm9wdC5vdXRwdXRfZm9ybWF0ICYgRElGRl9GT1JNQVRfQ0hFQ0tESUZGICYmCiAJICAgIERJRkZfT1BUX1RTVCgmcmV2LT5kaWZmb3B0LCBDSEVDS19GQUlMRUQpKSB7CkBAIC00MDksNiArNDIwLDEwIEBACiAJCXVzZV9tYWlsbWFwX2NvbmZpZyA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKIAkJcmV0dXJuIDA7CiAJfQorCWlmICghc3RyY21wKHZhciwgImxvZy5zaG93c2lnbmF0dXJlIikpIHsKKwkJZGVmYXVsdF9zaG93X3NpZ25hdHVyZSA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKKwkJcmV0dXJuIDA7CisJfQogCiAJaWYgKGdyZXBfY29uZmlnKHZhciwgdmFsdWUsIGNiKSA8IDApCiAJCXJldHVybiAtMTsKQEAgLTQ0NSwyNyArNDYwLDI3IEBACiAJcHAuZm10ID0gcmV2LT5jb21taXRfZm9ybWF0OwogCXBwLmRhdGVfbW9kZSA9IHJldi0+ZGF0ZV9tb2RlOwogCXBwX3VzZXJfaW5mbygmcHAsICJUYWdnZXIiLCAmb3V0LCBidWYsIGdldF9sb2dfb3V0cHV0X2VuY29kaW5nKCkpOwotCXByaW50ZigiJXMiLCBvdXQuYnVmKTsKKwlmcHJpbnRmKHJldi0+ZGlmZm9wdC5maWxlLCAiJXMiLCBvdXQuYnVmKTsKIAlzdHJidWZfcmVsZWFzZSgmb3V0KTsKIH0KIAotc3RhdGljIGludCBzaG93X2Jsb2Jfb2JqZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHN0cnVjdCByZXZfaW5mbyAqcmV2LCBjb25zdCBjaGFyICpvYmpfbmFtZSkKK3N0YXRpYyBpbnQgc2hvd19ibG9iX29iamVjdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHN0cnVjdCByZXZfaW5mbyAqcmV2LCBjb25zdCBjaGFyICpvYmpfbmFtZSkKIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFjWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZGM7CiAJc3RydWN0IG9iamVjdF9jb250ZXh0IG9ial9jb250ZXh0OwogCWNoYXIgKmJ1ZjsKIAl1bnNpZ25lZCBsb25nIHNpemU7CiAKLQlmZmx1c2goc3Rkb3V0KTsKKwlmZmx1c2gocmV2LT5kaWZmb3B0LmZpbGUpOwogCWlmICghRElGRl9PUFRfVE9VQ0hFRCgmcmV2LT5kaWZmb3B0LCBBTExPV19URVhUQ09OVikgfHwKIAkgICAgIURJRkZfT1BUX1RTVCgmcmV2LT5kaWZmb3B0LCBBTExPV19URVhUQ09OVikpCi0JCXJldHVybiBzdHJlYW1fYmxvYl90b19mZCgxLCBzaGExLCBOVUxMLCAwKTsKKwkJcmV0dXJuIHN0cmVhbV9ibG9iX3RvX2ZkKDEsIG9pZCwgTlVMTCwgMCk7CiAKLQlpZiAoZ2V0X3NoYTFfd2l0aF9jb250ZXh0KG9ial9uYW1lLCAwLCBzaGExYywgJm9ial9jb250ZXh0KSkKKwlpZiAoZ2V0X3NoYTFfd2l0aF9jb250ZXh0KG9ial9uYW1lLCAwLCBvaWRjLmhhc2gsICZvYmpfY29udGV4dCkpCiAJCWRpZShfKCJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIpLCBvYmpfbmFtZSk7CiAJaWYgKCFvYmpfY29udGV4dC5wYXRoWzBdIHx8Ci0JICAgICF0ZXh0Y29udl9vYmplY3Qob2JqX2NvbnRleHQucGF0aCwgb2JqX2NvbnRleHQubW9kZSwgc2hhMWMsIDEsICZidWYsICZzaXplKSkKLQkJcmV0dXJuIHN0cmVhbV9ibG9iX3RvX2ZkKDEsIHNoYTEsIE5VTEwsIDApOworCSAgICAhdGV4dGNvbnZfb2JqZWN0KG9ial9jb250ZXh0LnBhdGgsIG9ial9jb250ZXh0Lm1vZGUsICZvaWRjLCAxLCAmYnVmLCAmc2l6ZSkpCisJCXJldHVybiBzdHJlYW1fYmxvYl90b19mZCgxLCBvaWQsIE5VTEwsIDApOwogCiAJaWYgKCFidWYpCiAJCWRpZShfKCJnaXQgc2hvdyAlczogYmFkIGZpbGUiKSwgb2JqX25hbWUpOwpAQCAtNDc0LDE1ICs0ODksMTUgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBzaG93X3RhZ19vYmplY3QoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgc3RydWN0IHJldl9pbmZvICpyZXYpCitzdGF0aWMgaW50IHNob3dfdGFnX29iamVjdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHN0cnVjdCByZXZfaW5mbyAqcmV2KQogewogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKIAllbnVtIG9iamVjdF90eXBlIHR5cGU7Ci0JY2hhciAqYnVmID0gcmVhZF9zaGExX2ZpbGUoc2hhMSwgJnR5cGUsICZzaXplKTsKKwljaGFyICpidWYgPSByZWFkX3NoYTFfZmlsZShvaWQtPmhhc2gsICZ0eXBlLCAmc2l6ZSk7CiAJaW50IG9mZnNldCA9IDA7CiAKIAlpZiAoIWJ1ZikKLQkJcmV0dXJuIGVycm9yKF8oIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIpLCBzaGExX3RvX2hleChzaGExKSk7CisJCXJldHVybiBlcnJvcihfKCJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiKSwgb2lkX3RvX2hleChvaWQpKTsKIAogCWFzc2VydCh0eXBlID09IE9CSl9UQUcpOwogCXdoaWxlIChvZmZzZXQgPCBzaXplICYmIGJ1ZltvZmZzZXRdICE9ICdcbicpIHsKQEAgLTQ5Niw3ICs1MTEsNyBAQAogCX0KIAogCWlmIChvZmZzZXQgPCBzaXplKQotCQlmd3JpdGUoYnVmICsgb2Zmc2V0LCBzaXplIC0gb2Zmc2V0LCAxLCBzdGRvdXQpOworCQlmd3JpdGUoYnVmICsgb2Zmc2V0LCBzaXplIC0gb2Zmc2V0LCAxLCByZXYtPmRpZmZvcHQuZmlsZSk7CiAJZnJlZShidWYpOwogCXJldHVybiAwOwogfQpAQCAtNTA1LDcgKzUyMCw4IEBACiAJCXN0cnVjdCBzdHJidWYgKmJhc2UsCiAJCWNvbnN0IGNoYXIgKnBhdGhuYW1lLCB1bnNpZ25lZCBtb2RlLCBpbnQgc3RhZ2UsIHZvaWQgKmNvbnRleHQpCiB7Ci0JcHJpbnRmKCIlcyVzXG4iLCBwYXRobmFtZSwgU19JU0RJUihtb2RlKSA/ICIvIiA6ICIiKTsKKwlGSUxFICpmaWxlID0gY29udGV4dDsKKwlmcHJpbnRmKGZpbGUsICIlcyVzXG4iLCBwYXRobmFtZSwgU19JU0RJUihtb2RlKSA/ICIvIiA6ICIiKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNTU4LDE4ICs1NzQsMTggQEAKIAkJY29uc3QgY2hhciAqbmFtZSA9IG9iamVjdHNbaV0ubmFtZTsKIAkJc3dpdGNoIChvLT50eXBlKSB7CiAJCWNhc2UgT0JKX0JMT0I6Ci0JCQlyZXQgPSBzaG93X2Jsb2Jfb2JqZWN0KG8tPm9pZC5oYXNoLCAmcmV2LCBuYW1lKTsKKwkJCXJldCA9IHNob3dfYmxvYl9vYmplY3QoJm8tPm9pZCwgJnJldiwgbmFtZSk7CiAJCQlicmVhazsKIAkJY2FzZSBPQkpfVEFHOiB7CiAJCQlzdHJ1Y3QgdGFnICp0ID0gKHN0cnVjdCB0YWcgKilvOwogCiAJCQlpZiAocmV2LnNob3duX29uZSkKIAkJCQlwdXRjaGFyKCdcbicpOwotCQkJcHJpbnRmKCIlc3RhZyAlcyVzXG4iLAorCQkJZnByaW50ZihyZXYuZGlmZm9wdC5maWxlLCAiJXN0YWcgJXMlc1xuIiwKIAkJCQkJZGlmZl9nZXRfY29sb3Jfb3B0KCZyZXYuZGlmZm9wdCwgRElGRl9DT01NSVQpLAogCQkJCQl0LT50YWcsCiAJCQkJCWRpZmZfZ2V0X2NvbG9yX29wdCgmcmV2LmRpZmZvcHQsIERJRkZfUkVTRVQpKTsKLQkJCXJldCA9IHNob3dfdGFnX29iamVjdChvLT5vaWQuaGFzaCwgJnJldik7CisJCQlyZXQgPSBzaG93X3RhZ19vYmplY3QoJm8tPm9pZCwgJnJldik7CiAJCQlyZXYuc2hvd25fb25lID0gMTsKIAkJCWlmIChyZXQpCiAJCQkJYnJlYWs7CkBAIC01ODQsMTIgKzYwMCwxMiBAQAogCQljYXNlIE9CSl9UUkVFOgogCQkJaWYgKHJldi5zaG93bl9vbmUpCiAJCQkJcHV0Y2hhcignXG4nKTsKLQkJCXByaW50ZigiJXN0cmVlICVzJXNcblxuIiwKKwkJCWZwcmludGYocmV2LmRpZmZvcHQuZmlsZSwgIiVzdHJlZSAlcyVzXG5cbiIsCiAJCQkJCWRpZmZfZ2V0X2NvbG9yX29wdCgmcmV2LmRpZmZvcHQsIERJRkZfQ09NTUlUKSwKIAkJCQkJbmFtZSwKIAkJCQkJZGlmZl9nZXRfY29sb3Jfb3B0KCZyZXYuZGlmZm9wdCwgRElGRl9SRVNFVCkpOwogCQkJcmVhZF90cmVlX3JlY3Vyc2l2ZSgoc3RydWN0IHRyZWUgKilvLCAiIiwgMCwgMCwgJm1hdGNoX2FsbCwKLQkJCQkJc2hvd190cmVlX29iamVjdCwgTlVMTCk7CisJCQkJCXNob3dfdHJlZV9vYmplY3QsIHJldi5kaWZmb3B0LmZpbGUpOwogCQkJcmV2LnNob3duX29uZSA9IDE7CiAJCQlicmVhazsKIAkJY2FzZSBPQkpfQ09NTUlUOgpAQCAtNjc0LDkgKzY5MCw5IEBACiAKIHN0YXRpYyBjaGFyICpkZWZhdWx0X2F0dGFjaCA9IE5VTEw7CiAKLXN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgZXh0cmFfaGRyOwotc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBleHRyYV90bzsKLXN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgZXh0cmFfY2M7CitzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IGV4dHJhX2hkciA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CitzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IGV4dHJhX3RvID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKK3N0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgZXh0cmFfY2MgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCiBzdGF0aWMgdm9pZCBhZGRfaGVhZGVyKGNvbnN0IGNoYXIgKnZhbHVlKQogewpAQCAtNzAzLDYgKzcxOSw3IEBACiBzdGF0aWMgaW50IHRocmVhZDsKIHN0YXRpYyBpbnQgZG9fc2lnbm9mZjsKIHN0YXRpYyBpbnQgYmFzZV9hdXRvOworc3RhdGljIGNoYXIgKmZyb207CiBzdGF0aWMgY29uc3QgY2hhciAqc2lnbmF0dXJlID0gZ2l0X3ZlcnNpb25fc3RyaW5nOwogc3RhdGljIGNvbnN0IGNoYXIgKnNpZ25hdHVyZV9maWxlOwogc3RhdGljIGludCBjb25maWdfY292ZXJfbGV0dGVyOwpAQCAtNzkxLDE1ICs4MDgsMjUgQEAKIAkJYmFzZV9hdXRvID0gZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpOwogCQlyZXR1cm4gMDsKIAl9CisJaWYgKCFzdHJjbXAodmFyLCAiZm9ybWF0LmZyb20iKSkgeworCQlpbnQgYiA9IGdpdF9jb25maWdfbWF5YmVfYm9vbCh2YXIsIHZhbHVlKTsKKwkJZnJlZShmcm9tKTsKKwkJaWYgKGIgPCAwKQorCQkJZnJvbSA9IHhzdHJkdXAodmFsdWUpOworCQllbHNlIGlmIChiKQorCQkJZnJvbSA9IHhzdHJkdXAoZ2l0X2NvbW1pdHRlcl9pbmZvKElERU5UX05PX0RBVEUpKTsKKwkJZWxzZQorCQkJZnJvbSA9IE5VTEw7CisJCXJldHVybiAwOworCX0KIAogCXJldHVybiBnaXRfbG9nX2NvbmZpZyh2YXIsIHZhbHVlLCBjYik7CiB9CiAKLXN0YXRpYyBGSUxFICpyZWFsc3Rkb3V0ID0gTlVMTDsKIHN0YXRpYyBjb25zdCBjaGFyICpvdXRwdXRfZGlyZWN0b3J5ID0gTlVMTDsKIHN0YXRpYyBpbnQgb3V0ZGlyX29mZnNldDsKIAotc3RhdGljIGludCByZW9wZW5fc3Rkb3V0KHN0cnVjdCBjb21taXQgKmNvbW1pdCwgY29uc3QgY2hhciAqc3ViamVjdCwKK3N0YXRpYyBpbnQgb3Blbl9uZXh0X2ZpbGUoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBjb25zdCBjaGFyICpzdWJqZWN0LAogCQkJIHN0cnVjdCByZXZfaW5mbyAqcmV2LCBpbnQgcXVpZXQpCiB7CiAJc3RydWN0IHN0cmJ1ZiBmaWxlbmFtZSA9IFNUUkJVRl9JTklUOwpAQCAtODIxLDkgKzg0OCw5IEBACiAJCWZtdF9vdXRwdXRfc3ViamVjdCgmZmlsZW5hbWUsIHN1YmplY3QsIHJldik7CiAKIAlpZiAoIXF1aWV0KQotCQlmcHJpbnRmKHJlYWxzdGRvdXQsICIlc1xuIiwgZmlsZW5hbWUuYnVmICsgb3V0ZGlyX29mZnNldCk7CisJCXByaW50ZigiJXNcbiIsIGZpbGVuYW1lLmJ1ZiArIG91dGRpcl9vZmZzZXQpOwogCi0JaWYgKGZyZW9wZW4oZmlsZW5hbWUuYnVmLCAidyIsIHN0ZG91dCkgPT0gTlVMTCkKKwlpZiAoKHJldi0+ZGlmZm9wdC5maWxlID0gZm9wZW4oZmlsZW5hbWUuYnVmLCAidyIpKSA9PSBOVUxMKQogCQlyZXR1cm4gZXJyb3IoXygiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIpLCBmaWxlbmFtZS5idWYpOwogCiAJc3RyYnVmX3JlbGVhc2UoJmZpbGVuYW1lKTsKQEAgLTg4MiwxNSArOTA5LDE1IEBACiAJaW5mby0+bWVzc2FnZV9pZCA9IHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgTlVMTCk7CiB9CiAKLXN0YXRpYyB2b2lkIHByaW50X3NpZ25hdHVyZSh2b2lkKQorc3RhdGljIHZvaWQgcHJpbnRfc2lnbmF0dXJlKEZJTEUgKmZpbGUpCiB7CiAJaWYgKCFzaWduYXR1cmUgfHwgISpzaWduYXR1cmUpCiAJCXJldHVybjsKIAotCXByaW50ZigiLS0gXG4lcyIsIHNpZ25hdHVyZSk7CisJZnByaW50ZihmaWxlLCAiLS0gXG4lcyIsIHNpZ25hdHVyZSk7CiAJaWYgKHNpZ25hdHVyZVtzdHJsZW4oc2lnbmF0dXJlKS0xXSAhPSAnXG4nKQotCQlwdXRjaGFyKCdcbicpOwotCXB1dGNoYXIoJ1xuJyk7CisJCXB1dGMoJ1xuJywgZmlsZSk7CisJcHV0YygnXG4nLCBmaWxlKTsKIH0KIAogc3RhdGljIHZvaWQgYWRkX2JyYW5jaF9kZXNjcmlwdGlvbihzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IGNoYXIgKmJyYW5jaF9uYW1lKQpAQCAtOTUzLDEzICs5ODAsMTMgQEAKIAlzdHJ1Y3QgcHJldHR5X3ByaW50X2NvbnRleHQgcHAgPSB7MH07CiAJc3RydWN0IGNvbW1pdCAqaGVhZCA9IGxpc3RbMF07CiAKLQlpZiAocmV2LT5jb21taXRfZm9ybWF0ICE9IENNSVRfRk1UX0VNQUlMKQorCWlmICghY21pdF9mbXRfaXNfbWFpbChyZXYtPmNvbW1pdF9mb3JtYXQpKQogCQlkaWUoXygiQ292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIpKTsKIAogCWNvbW1pdHRlciA9IGdpdF9jb21taXR0ZXJfaW5mbygwKTsKIAogCWlmICghdXNlX3N0ZG91dCAmJgotCSAgICByZW9wZW5fc3Rkb3V0KE5VTEwsIHJldi0+bnVtYmVyZWRfZmlsZXMgPyBOVUxMIDogImNvdmVyLWxldHRlciIsIHJldiwgcXVpZXQpKQorCSAgICBvcGVuX25leHRfZmlsZShOVUxMLCByZXYtPm51bWJlcmVkX2ZpbGVzID8gTlVMTCA6ICJjb3Zlci1sZXR0ZXIiLCByZXYsIHF1aWV0KSkKIAkJcmV0dXJuOwogCiAJbG9nX3dyaXRlX2VtYWlsX2hlYWRlcnMocmV2LCBoZWFkLCAmcHAuc3ViamVjdCwgJnBwLmFmdGVyX3N1YmplY3QsCkBAIC05ODIsNyArMTAwOSw3IEBACiAJcHBfdGl0bGVfbGluZSgmcHAsICZtc2csICZzYiwgZW5jb2RpbmcsIG5lZWRfOGJpdF9jdGUpOwogCXBwX3JlbWFpbmRlcigmcHAsICZtc2csICZzYiwgMCk7CiAJYWRkX2JyYW5jaF9kZXNjcmlwdGlvbigmc2IsIGJyYW5jaF9uYW1lKTsKLQlwcmludGYoIiVzXG4iLCBzYi5idWYpOworCWZwcmludGYocmV2LT5kaWZmb3B0LmZpbGUsICIlc1xuIiwgc2IuYnVmKTsKIAogCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiAKQEAgLTk5MSw2ICsxMDE4LDcgQEAKIAlsb2cud3JhcCA9IDcyOwogCWxvZy5pbjEgPSAyOwogCWxvZy5pbjIgPSA0OworCWxvZy5maWxlID0gcmV2LT5kaWZmb3B0LmZpbGU7CiAJZm9yIChpID0gMDsgaSA8IG5yOyBpKyspCiAJCXNob3J0bG9nX2FkZF9jb21taXQoJmxvZywgbGlzdFtpXSk7CiAKQEAgLTEwMTMsOCArMTA0MSw3IEBACiAJZGlmZmNvcmVfc3RkKCZvcHRzKTsKIAlkaWZmX2ZsdXNoKCZvcHRzKTsKIAotCXByaW50ZigiXG4iKTsKLQlwcmludF9zaWduYXR1cmUoKTsKKwlmcHJpbnRmKHJldi0+ZGlmZm9wdC5maWxlLCAiXG4iKTsKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIgKmNsZWFuX21lc3NhZ2VfaWQoY29uc3QgY2hhciAqbXNnX2lkKQpAQCAtMTA4NCw2ICsxMTExLDExIEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgcmZjX2NhbGxiYWNrKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJcmV0dXJuIHN1YmplY3RfcHJlZml4X2NhbGxiYWNrKG9wdCwgIlJGQyBQQVRDSCIsIHVuc2V0KTsKK30KKwogc3RhdGljIGludCBudW1iZXJlZF9jbWRsaW5lX29wdCA9IDA7CiAKIHN0YXRpYyBpbnQgbnVtYmVyZWRfY2FsbGJhY2soY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICphcmcsCkBAIC0xMjIwLDExICsxMjUyLDExIEBACiAJCWlmICh1cHN0cmVhbSkgewogCQkJc3RydWN0IGNvbW1pdF9saXN0ICpiYXNlX2xpc3Q7CiAJCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7Ci0JCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCQkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAKLQkJCWlmIChnZXRfc2hhMSh1cHN0cmVhbSwgc2hhMSkpCisJCQlpZiAoZ2V0X29pZCh1cHN0cmVhbSwgJm9pZCkpCiAJCQkJZGllKF8oIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIiksIHVwc3RyZWFtKTsKLQkJCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfb3JfZGllKHNoYTEsICJ1cHN0cmVhbSBiYXNlIik7CisJCQljb21taXQgPSBsb29rdXBfY29tbWl0X29yX2RpZShvaWQuaGFzaCwgInVwc3RyZWFtIGJhc2UiKTsKIAkJCWJhc2VfbGlzdCA9IGdldF9tZXJnZV9iYXNlc19tYW55KGNvbW1pdCwgdG90YWwsIGxpc3QpOwogCQkJLyogVGhlcmUgc2hvdWxkIGJlIG9uZSBhbmQgb25seSBvbmUgbWVyZ2UgYmFzZS4gKi8KIAkJCWlmICghYmFzZV9saXN0IHx8IGJhc2VfbGlzdC0+bmV4dCkKQEAgLTEzMTEsMjAgKzEzNDMsMjAgQEAKIAkgKiBhbmQgc3R1ZmYgdGhlbSBpbiBiYXNlcyBzdHJ1Y3R1cmUuCiAJICovCiAJd2hpbGUgKChjb21taXQgPSBnZXRfcmV2aXNpb24oJnJldnMpKSAhPSBOVUxMKSB7Ci0JCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQlzdHJ1Y3Qgb2JqZWN0X2lkICpwYXRjaF9pZDsKIAkJaWYgKGNvbW1pdC0+dXRpbCkKIAkJCWNvbnRpbnVlOwotCQlpZiAoY29tbWl0X3BhdGNoX2lkKGNvbW1pdCwgJmRpZmZvcHQsIHNoYTEpKQorCQlpZiAoY29tbWl0X3BhdGNoX2lkKGNvbW1pdCwgJmRpZmZvcHQsIG9pZC5oYXNoLCAwKSkKIAkJCWRpZShfKCJjYW5ub3QgZ2V0IHBhdGNoIGlkIikpOwogCQlBTExPQ19HUk9XKGJhc2VzLT5wYXRjaF9pZCwgYmFzZXMtPm5yX3BhdGNoX2lkICsgMSwgYmFzZXMtPmFsbG9jX3BhdGNoX2lkKTsKIAkJcGF0Y2hfaWQgPSBiYXNlcy0+cGF0Y2hfaWQgKyBiYXNlcy0+bnJfcGF0Y2hfaWQ7Ci0JCWhhc2hjcHkocGF0Y2hfaWQtPmhhc2gsIHNoYTEpOworCQlvaWRjcHkocGF0Y2hfaWQsICZvaWQpOwogCQliYXNlcy0+bnJfcGF0Y2hfaWQrKzsKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIHByaW50X2Jhc2VzKHN0cnVjdCBiYXNlX3RyZWVfaW5mbyAqYmFzZXMpCitzdGF0aWMgdm9pZCBwcmludF9iYXNlcyhzdHJ1Y3QgYmFzZV90cmVlX2luZm8gKmJhc2VzLCBGSUxFICpmaWxlKQogewogCWludCBpOwogCkBAIC0xMzMzLDExICsxMzY1LDExIEBACiAJCXJldHVybjsKIAogCS8qIFNob3cgdGhlIGJhc2UgY29tbWl0ICovCi0JcHJpbnRmKCJiYXNlLWNvbW1pdDogJXNcbiIsIG9pZF90b19oZXgoJmJhc2VzLT5iYXNlX2NvbW1pdCkpOworCWZwcmludGYoZmlsZSwgIlxuYmFzZS1jb21taXQ6ICVzXG4iLCBvaWRfdG9faGV4KCZiYXNlcy0+YmFzZV9jb21taXQpKTsKIAogCS8qIFNob3cgdGhlIHByZXJlcXVpc2l0ZSBwYXRjaGVzICovCiAJZm9yIChpID0gYmFzZXMtPm5yX3BhdGNoX2lkIC0gMTsgaSA+PSAwOyBpLS0pCi0JCXByaW50ZigicHJlcmVxdWlzaXRlLXBhdGNoLWlkOiAlc1xuIiwgb2lkX3RvX2hleCgmYmFzZXMtPnBhdGNoX2lkW2ldKSk7CisJCWZwcmludGYoZmlsZSwgInByZXJlcXVpc2l0ZS1wYXRjaC1pZDogJXNcbiIsIG9pZF90b19oZXgoJmJhc2VzLT5wYXRjaF9pZFtpXSkpOwogCiAJZnJlZShiYXNlcy0+cGF0Y2hfaWQpOwogCWJhc2VzLT5ucl9wYXRjaF9pZCA9IDA7CkBAIC0xMzY4LDcgKzE0MDAsNiBAQAogCWludCBxdWlldCA9IDA7CiAJaW50IHJlcm9sbF9jb3VudCA9IC0xOwogCWNoYXIgKmJyYW5jaF9uYW1lID0gTlVMTDsKLQljaGFyICpmcm9tID0gTlVMTDsKIAljaGFyICpiYXNlX2NvbW1pdCA9IE5VTEw7CiAJc3RydWN0IGJhc2VfdHJlZV9pbmZvIGJhc2VzOwogCkBAIC0xMzkyLDYgKzE0MjMsOSBAQAogCQkJICAgIE5fKCJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIikpLAogCQlPUFRfSU5URUdFUigndicsICJyZXJvbGwtY291bnQiLCAmcmVyb2xsX2NvdW50LAogCQkJICAgIE5fKCJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiKSksCisJCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAicmZjIiwgJnJldiwgTlVMTCwKKwkJCSAgICBOXygiVXNlIFtSRkMgUEFUQ0hdIGluc3RlYWQgb2YgW1BBVENIXSIpLAorCQkJICAgIFBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9OT05FRywgcmZjX2NhbGxiYWNrIH0sCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAic3ViamVjdC1wcmVmaXgiLCAmcmV2LCBOXygicHJlZml4IiksCiAJCQkgICAgTl8oIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIpLAogCQkJICAgIFBBUlNFX09QVF9OT05FRywgc3ViamVjdF9wcmVmaXhfY2FsbGJhY2sgfSwKQEAgLTE1MzAsNyArMTU2NCw3IEBACiAJaWYgKG51bWJlcmVkICYmIGtlZXBfc3ViamVjdCkKIAkJZGllIChfKCItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iKSk7CiAJaWYgKGtlZXBfc3ViamVjdCAmJiBzdWJqZWN0X3ByZWZpeCkKLQkJZGllIChfKCItLXN1YmplY3QtcHJlZml4IGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIpKTsKKwkJZGllIChfKCItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIpKTsKIAlyZXYucHJlc2VydmVfc3ViamVjdCA9IGtlZXBfc3ViamVjdDsKIAogCWFyZ2MgPSBzZXR1cF9yZXZpc2lvbnMoYXJnYywgYXJndiwgJnJldiwgJnNfcl9vcHQpOwpAQCAtMTU2OSw2ICsxNjAzLDggQEAKIAkJc2V0dXBfcGFnZXIoKTsKIAogCWlmIChvdXRwdXRfZGlyZWN0b3J5KSB7CisJCWlmIChyZXYuZGlmZm9wdC51c2VfY29sb3IgIT0gR0lUX0NPTE9SX0FMV0FZUykKKwkJCXJldi5kaWZmb3B0LnVzZV9jb2xvciA9IEdJVF9DT0xPUl9ORVZFUjsKIAkJaWYgKHVzZV9zdGRvdXQpCiAJCQlkaWUoXygic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iKSk7CiAJCWlmIChta2RpcihvdXRwdXRfZGlyZWN0b3J5LCAwNzc3KSA8IDAgJiYgZXJybm8gIT0gRUVYSVNUKQpAQCAtMTU5OSwxMCArMTYzNSwxMCBAQAogCQkJY2hlY2tfaGVhZCA9IDE7CiAKIAkJaWYgKGNoZWNrX2hlYWQpIHsKLQkJCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAkJCWNvbnN0IGNoYXIgKnJlZiwgKnY7CiAJCQlyZWYgPSByZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCBSRVNPTFZFX1JFRl9SRUFESU5HLAotCQkJCQkJIHNoYTEsIE5VTEwpOworCQkJCQkJIG9pZC5oYXNoLCBOVUxMKTsKIAkJCWlmIChyZWYgJiYgc2tpcF9wcmVmaXgocmVmLCAicmVmcy9oZWFkcy8iLCAmdikpCiAJCQkJYnJhbmNoX25hbWUgPSB4c3RyZHVwKHYpOwogCQkJZWxzZQpAQCAtMTYyNiw5ICsxNjYyLDYgQEAKIAkJZ2V0X3BhdGNoX2lkcygmcmV2LCAmaWRzKTsKIAl9CiAKLQlpZiAoIXVzZV9zdGRvdXQpCi0JCXJlYWxzdGRvdXQgPSB4ZmRvcGVuKHhkdXAoMSksICJ3Iik7Ci0KIAlpZiAocHJlcGFyZV9yZXZpc2lvbl93YWxrKCZyZXYpKQogCQlkaWUoXygicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiKSk7CiAJcmV2LmJvdW5kYXJ5ID0gMTsKQEAgLTE2NTAsMTYgKzE2ODMsMTYgQEAKIAkJLyogbm90aGluZyB0byBkbyAqLwogCQlyZXR1cm4gMDsKIAl0b3RhbCA9IG5yOwotCWlmICgha2VlcF9zdWJqZWN0ICYmIGF1dG9fbnVtYmVyICYmIHRvdGFsID4gMSkKLQkJbnVtYmVyZWQgPSAxOwotCWlmIChudW1iZXJlZCkKLQkJcmV2LnRvdGFsID0gdG90YWwgKyBzdGFydF9udW1iZXIgLSAxOwogCWlmIChjb3Zlcl9sZXR0ZXIgPT0gLTEpIHsKIAkJaWYgKGNvbmZpZ19jb3Zlcl9sZXR0ZXIgPT0gQ09WRVJfQVVUTykKIAkJCWNvdmVyX2xldHRlciA9ICh0b3RhbCA+IDEpOwogCQllbHNlCiAJCQljb3Zlcl9sZXR0ZXIgPSAoY29uZmlnX2NvdmVyX2xldHRlciA9PSBDT1ZFUl9PTik7CiAJfQorCWlmICgha2VlcF9zdWJqZWN0ICYmIGF1dG9fbnVtYmVyICYmICh0b3RhbCA+IDEgfHwgY292ZXJfbGV0dGVyKSkKKwkJbnVtYmVyZWQgPSAxOworCWlmIChudW1iZXJlZCkKKwkJcmV2LnRvdGFsID0gdG90YWwgKyBzdGFydF9udW1iZXIgLSAxOwogCiAJaWYgKCFzaWduYXR1cmUpIHsKIAkJOyAvKiAtLW5vLXNpZ25hdHVyZSBpbmhpYml0cyBhbGwgc2lnbmF0dXJlcyAqLwpAQCAtMTY5Myw3ICsxNzI2LDggQEAKIAkJCWdlbl9tZXNzYWdlX2lkKCZyZXYsICJjb3ZlciIpOwogCQltYWtlX2NvdmVyX2xldHRlcigmcmV2LCB1c2Vfc3Rkb3V0LAogCQkJCSAgb3JpZ2luLCBuciwgbGlzdCwgYnJhbmNoX25hbWUsIHF1aWV0KTsKLQkJcHJpbnRfYmFzZXMoJmJhc2VzKTsKKwkJcHJpbnRfYmFzZXMoJmJhc2VzLCByZXYuZGlmZm9wdC5maWxlKTsKKwkJcHJpbnRfc2lnbmF0dXJlKHJldi5kaWZmb3B0LmZpbGUpOwogCQl0b3RhbCsrOwogCQlzdGFydF9udW1iZXItLTsKIAl9CkBAIC0xNzM5LDcgKzE3NzMsNyBAQAogCQl9CiAKIAkJaWYgKCF1c2Vfc3Rkb3V0ICYmCi0JCSAgICByZW9wZW5fc3Rkb3V0KHJldi5udW1iZXJlZF9maWxlcyA/IE5VTEwgOiBjb21taXQsIE5VTEwsICZyZXYsIHF1aWV0KSkKKwkJICAgIG9wZW5fbmV4dF9maWxlKHJldi5udW1iZXJlZF9maWxlcyA/IE5VTEwgOiBjb21taXQsIE5VTEwsICZyZXYsIHF1aWV0KSkKIAkJCWRpZShfKCJGYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBmaWxlcyIpKTsKIAkJc2hvd24gPSBsb2dfdHJlZV9jb21taXQoJnJldiwgY29tbWl0KTsKIAkJZnJlZV9jb21taXRfYnVmZmVyKGNvbW1pdCk7CkBAIC0xNzUzLDE2ICsxNzg3LDE2IEBACiAJCWlmICghdXNlX3N0ZG91dCkKIAkJCXJldi5zaG93bl9vbmUgPSAwOwogCQlpZiAoc2hvd24pIHsKKwkJCXByaW50X2Jhc2VzKCZiYXNlcywgcmV2LmRpZmZvcHQuZmlsZSk7CiAJCQlpZiAocmV2Lm1pbWVfYm91bmRhcnkpCi0JCQkJcHJpbnRmKCJcbi0tJXMlcy0tXG5cblxuIiwKKwkJCQlmcHJpbnRmKHJldi5kaWZmb3B0LmZpbGUsICJcbi0tJXMlcy0tXG5cblxuIiwKIAkJCQkgICAgICAgbWltZV9ib3VuZGFyeV9sZWFkZXIsCiAJCQkJICAgICAgIHJldi5taW1lX2JvdW5kYXJ5KTsKIAkJCWVsc2UKLQkJCQlwcmludF9zaWduYXR1cmUoKTsKLQkJCXByaW50X2Jhc2VzKCZiYXNlcyk7CisJCQkJcHJpbnRfc2lnbmF0dXJlKHJldi5kaWZmb3B0LmZpbGUpOwogCQl9CiAJCWlmICghdXNlX3N0ZG91dCkKLQkJCWZjbG9zZShzdGRvdXQpOworCQkJZmNsb3NlKHJldi5kaWZmb3B0LmZpbGUpOwogCX0KIAlmcmVlKGxpc3QpOwogCWZyZWUoYnJhbmNoX25hbWUpOwpAQCAtMTc3Niw5ICsxODEwLDkgQEAKIAogc3RhdGljIGludCBhZGRfcGVuZGluZ19jb21taXQoY29uc3QgY2hhciAqYXJnLCBzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIGludCBmbGFncykKIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwotCWlmIChnZXRfc2hhMShhcmcsIHNoYTEpID09IDApIHsKLQkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uoc2hhMSk7CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisJaWYgKGdldF9vaWQoYXJnLCAmb2lkKSA9PSAwKSB7CisJCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG9pZC5oYXNoKTsKIAkJaWYgKGNvbW1pdCkgewogCQkJY29tbWl0LT5vYmplY3QuZmxhZ3MgfD0gZmxhZ3M7CiAJCQlhZGRfcGVuZGluZ19vYmplY3QocmV2cywgJmNvbW1pdC0+b2JqZWN0LCBhcmcpOwpAQCAtMTc5NCwxNSArMTgyOCwxNSBAQAogfTsKIAogc3RhdGljIHZvaWQgcHJpbnRfY29tbWl0KGNoYXIgc2lnbiwgc3RydWN0IGNvbW1pdCAqY29tbWl0LCBpbnQgdmVyYm9zZSwKLQkJCSBpbnQgYWJicmV2KQorCQkJIGludCBhYmJyZXYsIEZJTEUgKmZpbGUpCiB7CiAJaWYgKCF2ZXJib3NlKSB7Ci0JCXByaW50ZigiJWMgJXNcbiIsIHNpZ24sCisJCWZwcmludGYoZmlsZSwgIiVjICVzXG4iLCBzaWduLAogCQkgICAgICAgZmluZF91bmlxdWVfYWJicmV2KGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCBhYmJyZXYpKTsKIAl9IGVsc2UgewogCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCQlwcF9jb21taXRfZWFzeShDTUlUX0ZNVF9PTkVMSU5FLCBjb21taXQsICZidWYpOwotCQlwcmludGYoIiVjICVzICVzXG4iLCBzaWduLAorCQlmcHJpbnRmKGZpbGUsICIlYyAlcyAlc1xuIiwgc2lnbiwKIAkJICAgICAgIGZpbmRfdW5pcXVlX2FiYnJldihjb21taXQtPm9iamVjdC5vaWQuaGFzaCwgYWJicmV2KSwKIAkJICAgICAgIGJ1Zi5idWYpOwogCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKQEAgLTE4ODMsNyArMTkxNyw3IEBACiAJCWNvbW1pdCA9IGxpc3QtPml0ZW07CiAJCWlmIChoYXNfY29tbWl0X3BhdGNoX2lkKGNvbW1pdCwgJmlkcykpCiAJCQlzaWduID0gJy0nOwotCQlwcmludF9jb21taXQoc2lnbiwgY29tbWl0LCB2ZXJib3NlLCBhYmJyZXYpOworCQlwcmludF9jb21taXQoc2lnbiwgY29tbWl0LCB2ZXJib3NlLCBhYmJyZXYsIHJldnMuZGlmZm9wdC5maWxlKTsKIAkJbGlzdCA9IGxpc3QtPm5leHQ7CiAJfQogCmRpZmYgLS1naXQgYS9idWlsdGluL2xzLWZpbGVzLmMgYi9idWlsdGluL2xzLWZpbGVzLmMKaW5kZXggZjAyZTNkMi4uMTU5MjI5MCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9scy1maWxlcy5jCisrKyBiL2J1aWx0aW4vbHMtZmlsZXMuYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgInJlc29sdmUtdW5kby5oIgogI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCiAjaW5jbHVkZSAicGF0aHNwZWMuaCIKKyNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogCiBzdGF0aWMgaW50IGFiYnJldjsKIHN0YXRpYyBpbnQgc2hvd19kZWxldGVkOwpAQCAtMjgsOCArMjksMTEgQEAKIHN0YXRpYyBpbnQgbGluZV90ZXJtaW5hdG9yID0gJ1xuJzsKIHN0YXRpYyBpbnQgZGVidWdfbW9kZTsKIHN0YXRpYyBpbnQgc2hvd19lb2w7CitzdGF0aWMgaW50IHJlY3Vyc2Vfc3VibW9kdWxlczsKK3N0YXRpYyBzdHJ1Y3QgYXJndl9hcnJheSBzdWJtb2R1bGVzX29wdGlvbnMgPSBBUkdWX0FSUkFZX0lOSVQ7CiAKIHN0YXRpYyBjb25zdCBjaGFyICpwcmVmaXg7CitzdGF0aWMgY29uc3QgY2hhciAqc3VwZXJfcHJlZml4Owogc3RhdGljIGludCBtYXhfcHJlZml4X2xlbjsKIHN0YXRpYyBpbnQgcHJlZml4X2xlbjsKIHN0YXRpYyBzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CkBAIC02OCwxMSArNzIsMjQgQEAKIHN0YXRpYyB2b2lkIHdyaXRlX25hbWUoY29uc3QgY2hhciAqbmFtZSkKIHsKIAkvKgorCSAqIFByZXBlbmQgdGhlIHN1cGVyX3ByZWZpeCB0byBuYW1lIHRvIGNvbnN0cnVjdCB0aGUgZnVsbF9uYW1lIHRvIGJlCisJICogd3JpdHRlbi4KKwkgKi8KKwlzdHJ1Y3Qgc3RyYnVmIGZ1bGxfbmFtZSA9IFNUUkJVRl9JTklUOworCWlmIChzdXBlcl9wcmVmaXgpIHsKKwkJc3RyYnVmX2FkZHN0cigmZnVsbF9uYW1lLCBzdXBlcl9wcmVmaXgpOworCQlzdHJidWZfYWRkc3RyKCZmdWxsX25hbWUsIG5hbWUpOworCQluYW1lID0gZnVsbF9uYW1lLmJ1ZjsKKwl9CisKKwkvKgogCSAqIFdpdGggIi0tZnVsbC1uYW1lIiwgcHJlZml4X2xlbj0wOyB0aGlzIGNhbGxlciBuZWVkcyB0byBwYXNzCiAJICogYW4gZW1wdHkgc3RyaW5nIGluIHRoYXQgY2FzZSAoYSBOVUxMIGlzIGdvb2QgZm9yICIiKS4KIAkgKi8KIAl3cml0ZV9uYW1lX3F1b3RlZF9yZWxhdGl2ZShuYW1lLCBwcmVmaXhfbGVuID8gcHJlZml4IDogTlVMTCwKIAkJCQkgICBzdGRvdXQsIGxpbmVfdGVybWluYXRvcik7CisKKwlzdHJidWZfcmVsZWFzZSgmZnVsbF9uYW1lKTsKIH0KIAogc3RhdGljIHZvaWQgc2hvd19kaXJfZW50cnkoY29uc3QgY2hhciAqdGFnLCBzdHJ1Y3QgZGlyX2VudHJ5ICplbnQpCkBAIC0xMTgsNyArMTM1LDggQEAKIAkJCQkgKi8KIAkJCQlwb3MgPSBjYWNoZV9uYW1lX3BvcyhlbnQtPm5hbWUsIGVudC0+bGVuKTsKIAkJCQlpZiAoMCA8PSBwb3MpCi0JCQkJCWRpZSgiYnVnIGluIHNob3cta2lsbGVkLWZpbGVzIik7CisJCQkJCWRpZSgiQlVHOiBraWxsZWQtZmlsZSAlLipzIG5vdCBmb3VuZCIsCisJCQkJCQllbnQtPmxlbiwgZW50LT5uYW1lKTsKIAkJCQlwb3MgPSAtcG9zIC0gMTsKIAkJCQl3aGlsZSAocG9zIDwgYWN0aXZlX25yICYmCiAJCQkJICAgICAgIGNlX3N0YWdlKGFjdGl2ZV9jYWNoZVtwb3NdKSkKQEAgLTE1MSw1NSArMTY5LDExNyBAQAogCX0KIH0KIAorLyoKKyAqIENvbXBpbGUgYW4gYXJndl9hcnJheSB3aXRoIGFsbCBvZiB0aGUgb3B0aW9ucyBzdXBwb3J0ZWQgYnkgLS1yZWN1cnNlX3N1Ym1vZHVsZXMKKyAqLworc3RhdGljIHZvaWQgY29tcGlsZV9zdWJtb2R1bGVfb3B0aW9ucyhjb25zdCBzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBpbnQgc2hvd190YWcpCit7CisJaWYgKGxpbmVfdGVybWluYXRvciA9PSAnXDAnKQorCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZXNfb3B0aW9ucywgIi16Iik7CisJaWYgKHNob3dfdGFnKQorCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZXNfb3B0aW9ucywgIi10Iik7CisJaWYgKHNob3dfdmFsaWRfYml0KQorCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZXNfb3B0aW9ucywgIi12Iik7CisJaWYgKHNob3dfY2FjaGVkKQorCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZXNfb3B0aW9ucywgIi0tY2FjaGVkIik7CisJaWYgKHNob3dfZW9sKQorCQlhcmd2X2FycmF5X3B1c2goJnN1Ym1vZHVsZXNfb3B0aW9ucywgIi0tZW9sIik7CisJaWYgKGRlYnVnX21vZGUpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmc3VibW9kdWxlc19vcHRpb25zLCAiLS1kZWJ1ZyIpOworfQorCisvKioKKyAqIFJlY3Vyc2l2ZWx5IGNhbGwgbHMtZmlsZXMgb24gYSBzdWJtb2R1bGUKKyAqLworc3RhdGljIHZvaWQgc2hvd19naXRsaW5rKGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpCit7CisJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJaW50IHN0YXR1czsKKwlpbnQgaTsKKworCWFyZ3ZfYXJyYXlfcHVzaGYoJmNwLmFyZ3MsICItLXN1cGVyLXByZWZpeD0lcyVzLyIsCisJCQkgc3VwZXJfcHJlZml4ID8gc3VwZXJfcHJlZml4IDogIiIsCisJCQkgY2UtPm5hbWUpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgImxzLWZpbGVzIik7CisJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCAiLS1yZWN1cnNlLXN1Ym1vZHVsZXMiKTsKKworCS8qIGFkZCBzdXBwb3J0ZWQgb3B0aW9ucyAqLworCWFyZ3ZfYXJyYXlfcHVzaHYoJmNwLmFyZ3MsIHN1Ym1vZHVsZXNfb3B0aW9ucy5hcmd2KTsKKworCS8qCisJICogUGFzcyBpbiB0aGUgb3JpZ2luYWwgcGF0aHNwZWMgYXJncy4gIFRoZSBzdWJtb2R1bGUgd2lsbCBiZQorCSAqIHJlc3BvbnNpYmxlIGZvciBwcmVwZW5kaW5nIHRoZSAnc3VibW9kdWxlX3ByZWZpeCcgcHJpb3IgdG8gY29tcGFyaW5nCisJICogYWdhaW5zdCB0aGUgcGF0aHNwZWMgZm9yIG1hdGNoZXMuCisJICovCisJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCAiLS0iKTsKKwlmb3IgKGkgPSAwOyBpIDwgcGF0aHNwZWMubnI7IGkrKykKKwkJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCBwYXRoc3BlYy5pdGVtc1tpXS5vcmlnaW5hbCk7CisKKwljcC5naXRfY21kID0gMTsKKwljcC5kaXIgPSBjZS0+bmFtZTsKKwlzdGF0dXMgPSBydW5fY29tbWFuZCgmY3ApOworCWlmIChzdGF0dXMpCisJCWV4aXQoc3RhdHVzKTsKK30KKwogc3RhdGljIHZvaWQgc2hvd19jZV9lbnRyeShjb25zdCBjaGFyICp0YWcsIGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpCiB7CisJc3RydWN0IHN0cmJ1ZiBuYW1lID0gU1RSQlVGX0lOSVQ7CiAJaW50IGxlbiA9IG1heF9wcmVmaXhfbGVuOworCWlmIChzdXBlcl9wcmVmaXgpCisJCXN0cmJ1Zl9hZGRzdHIoJm5hbWUsIHN1cGVyX3ByZWZpeCk7CisJc3RyYnVmX2FkZHN0cigmbmFtZSwgY2UtPm5hbWUpOwogCiAJaWYgKGxlbiA+PSBjZV9uYW1lbGVuKGNlKSkKIAkJZGllKCJnaXQgbHMtZmlsZXM6IGludGVybmFsIGVycm9yIC0gY2FjaGUgZW50cnkgbm90IHN1cGVyc2V0IG9mIHByZWZpeCIpOwogCi0JaWYgKCFtYXRjaF9wYXRoc3BlYygmcGF0aHNwZWMsIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSwKLQkJCSAgICBsZW4sIHBzX21hdGNoZWQsCi0JCQkgICAgU19JU0RJUihjZS0+Y2VfbW9kZSkgfHwgU19JU0dJVExJTksoY2UtPmNlX21vZGUpKSkKLQkJcmV0dXJuOwotCi0JaWYgKHRhZyAmJiAqdGFnICYmIHNob3dfdmFsaWRfYml0ICYmCi0JICAgIChjZS0+Y2VfZmxhZ3MgJiBDRV9WQUxJRCkpIHsKLQkJc3RhdGljIGNoYXIgYWx0dGFnWzRdOwotCQltZW1jcHkoYWx0dGFnLCB0YWcsIDMpOwotCQlpZiAoaXNhbHBoYSh0YWdbMF0pKQotCQkJYWx0dGFnWzBdID0gdG9sb3dlcih0YWdbMF0pOwotCQllbHNlIGlmICh0YWdbMF0gPT0gJz8nKQotCQkJYWx0dGFnWzBdID0gJyEnOwotCQllbHNlIHsKLQkJCWFsdHRhZ1swXSA9ICd2JzsKLQkJCWFsdHRhZ1sxXSA9IHRhZ1swXTsKLQkJCWFsdHRhZ1syXSA9ICcgJzsKLQkJCWFsdHRhZ1szXSA9IDA7CisJaWYgKHJlY3Vyc2Vfc3VibW9kdWxlcyAmJiBTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSkgJiYKKwkgICAgc3VibW9kdWxlX3BhdGhfbWF0Y2goJnBhdGhzcGVjLCBuYW1lLmJ1ZiwgcHNfbWF0Y2hlZCkpIHsKKwkJc2hvd19naXRsaW5rKGNlKTsKKwl9IGVsc2UgaWYgKG1hdGNoX3BhdGhzcGVjKCZwYXRoc3BlYywgbmFtZS5idWYsIG5hbWUubGVuLAorCQkJCSAgbGVuLCBwc19tYXRjaGVkLAorCQkJCSAgU19JU0RJUihjZS0+Y2VfbW9kZSkgfHwKKwkJCQkgIFNfSVNHSVRMSU5LKGNlLT5jZV9tb2RlKSkpIHsKKwkJaWYgKHRhZyAmJiAqdGFnICYmIHNob3dfdmFsaWRfYml0ICYmCisJCSAgICAoY2UtPmNlX2ZsYWdzICYgQ0VfVkFMSUQpKSB7CisJCQlzdGF0aWMgY2hhciBhbHR0YWdbNF07CisJCQltZW1jcHkoYWx0dGFnLCB0YWcsIDMpOworCQkJaWYgKGlzYWxwaGEodGFnWzBdKSkKKwkJCQlhbHR0YWdbMF0gPSB0b2xvd2VyKHRhZ1swXSk7CisJCQllbHNlIGlmICh0YWdbMF0gPT0gJz8nKQorCQkJCWFsdHRhZ1swXSA9ICchJzsKKwkJCWVsc2UgeworCQkJCWFsdHRhZ1swXSA9ICd2JzsKKwkJCQlhbHR0YWdbMV0gPSB0YWdbMF07CisJCQkJYWx0dGFnWzJdID0gJyAnOworCQkJCWFsdHRhZ1szXSA9IDA7CisJCQl9CisJCQl0YWcgPSBhbHR0YWc7CiAJCX0KLQkJdGFnID0gYWx0dGFnOworCisJCWlmICghc2hvd19zdGFnZSkgeworCQkJZnB1dHModGFnLCBzdGRvdXQpOworCQl9IGVsc2UgeworCQkJcHJpbnRmKCIlcyUwNm8gJXMgJWRcdCIsCisJCQkgICAgICAgdGFnLAorCQkJICAgICAgIGNlLT5jZV9tb2RlLAorCQkJICAgICAgIGZpbmRfdW5pcXVlX2FiYnJldihjZS0+b2lkLmhhc2gsIGFiYnJldiksCisJCQkgICAgICAgY2Vfc3RhZ2UoY2UpKTsKKwkJfQorCQl3cml0ZV9lb2xpbmZvKGNlLCBjZS0+bmFtZSk7CisJCXdyaXRlX25hbWUoY2UtPm5hbWUpOworCQlpZiAoZGVidWdfbW9kZSkgeworCQkJY29uc3Qgc3RydWN0IHN0YXRfZGF0YSAqc2QgPSAmY2UtPmNlX3N0YXRfZGF0YTsKKworCQkJcHJpbnRmKCIgIGN0aW1lOiAlZDolZFxuIiwgc2QtPnNkX2N0aW1lLnNlYywgc2QtPnNkX2N0aW1lLm5zZWMpOworCQkJcHJpbnRmKCIgIG10aW1lOiAlZDolZFxuIiwgc2QtPnNkX210aW1lLnNlYywgc2QtPnNkX210aW1lLm5zZWMpOworCQkJcHJpbnRmKCIgIGRldjogJWRcdGlubzogJWRcbiIsIHNkLT5zZF9kZXYsIHNkLT5zZF9pbm8pOworCQkJcHJpbnRmKCIgIHVpZDogJWRcdGdpZDogJWRcbiIsIHNkLT5zZF91aWQsIHNkLT5zZF9naWQpOworCQkJcHJpbnRmKCIgIHNpemU6ICVkXHRmbGFnczogJXhcbiIsIHNkLT5zZF9zaXplLCBjZS0+Y2VfZmxhZ3MpOworCQl9CiAJfQogCi0JaWYgKCFzaG93X3N0YWdlKSB7Ci0JCWZwdXRzKHRhZywgc3Rkb3V0KTsKLQl9IGVsc2UgewotCQlwcmludGYoIiVzJTA2byAlcyAlZFx0IiwKLQkJICAgICAgIHRhZywKLQkJICAgICAgIGNlLT5jZV9tb2RlLAotCQkgICAgICAgZmluZF91bmlxdWVfYWJicmV2KGNlLT5zaGExLGFiYnJldiksCi0JCSAgICAgICBjZV9zdGFnZShjZSkpOwotCX0KLQl3cml0ZV9lb2xpbmZvKGNlLCBjZS0+bmFtZSk7Ci0Jd3JpdGVfbmFtZShjZS0+bmFtZSk7Ci0JaWYgKGRlYnVnX21vZGUpIHsKLQkJY29uc3Qgc3RydWN0IHN0YXRfZGF0YSAqc2QgPSAmY2UtPmNlX3N0YXRfZGF0YTsKLQotCQlwcmludGYoIiAgY3RpbWU6ICVkOiVkXG4iLCBzZC0+c2RfY3RpbWUuc2VjLCBzZC0+c2RfY3RpbWUubnNlYyk7Ci0JCXByaW50ZigiICBtdGltZTogJWQ6JWRcbiIsIHNkLT5zZF9tdGltZS5zZWMsIHNkLT5zZF9tdGltZS5uc2VjKTsKLQkJcHJpbnRmKCIgIGRldjogJWRcdGlubzogJWRcbiIsIHNkLT5zZF9kZXYsIHNkLT5zZF9pbm8pOwotCQlwcmludGYoIiAgdWlkOiAlZFx0Z2lkOiAlZFxuIiwgc2QtPnNkX3VpZCwgc2QtPnNkX2dpZCk7Ci0JCXByaW50ZigiICBzaXplOiAlZFx0ZmxhZ3M6ICV4XG4iLCBzZC0+c2Rfc2l6ZSwgY2UtPmNlX2ZsYWdzKTsKLQl9CisJc3RyYnVmX3JlbGVhc2UoJm5hbWUpOwogfQogCiBzdGF0aWMgdm9pZCBzaG93X3J1X2luZm8odm9pZCkKQEAgLTQ2Nyw2ICs1NDcsOCBAQAogCQl7IE9QVElPTl9TRVRfSU5ULCAwLCAiZnVsbC1uYW1lIiwgJnByZWZpeF9sZW4sIE5VTEwsCiAJCQlOXygibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiKSwKIAkJCVBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9OT05FRywgTlVMTCB9LAorCQlPUFRfQk9PTCgwLCAicmVjdXJzZS1zdWJtb2R1bGVzIiwgJnJlY3Vyc2Vfc3VibW9kdWxlcywKKwkJCU5fKCJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIpKSwKIAkJT1BUX0JPT0woMCwgImVycm9yLXVubWF0Y2giLCAmZXJyb3JfdW5tYXRjaCwKIAkJCU5fKCJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiKSksCiAJCU9QVF9TVFJJTkcoMCwgIndpdGgtdHJlZSIsICZ3aXRoX3RyZWUsIE5fKCJ0cmVlLWlzaCIpLApAQCAtNDgzLDYgKzU2NSw3IEBACiAJcHJlZml4ID0gY21kX3ByZWZpeDsKIAlpZiAocHJlZml4KQogCQlwcmVmaXhfbGVuID0gc3RybGVuKHByZWZpeCk7CisJc3VwZXJfcHJlZml4ID0gZ2V0X3N1cGVyX3ByZWZpeCgpOwogCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKIAogCWlmIChyZWFkX2NhY2hlKCkgPCAwKQpAQCAtNTE4LDEzICs2MDEsMzIgQEAKIAlpZiAocmVxdWlyZV93b3JrX3RyZWUgJiYgIWlzX2luc2lkZV93b3JrX3RyZWUoKSkKIAkJc2V0dXBfd29ya190cmVlKCk7CiAKKwlpZiAocmVjdXJzZV9zdWJtb2R1bGVzKQorCQljb21waWxlX3N1Ym1vZHVsZV9vcHRpb25zKCZkaXIsIHNob3dfdGFnKTsKKworCWlmIChyZWN1cnNlX3N1Ym1vZHVsZXMgJiYKKwkgICAgKHNob3dfc3RhZ2UgfHwgc2hvd19kZWxldGVkIHx8IHNob3dfb3RoZXJzIHx8IHNob3dfdW5tZXJnZWQgfHwKKwkgICAgIHNob3dfa2lsbGVkIHx8IHNob3dfbW9kaWZpZWQgfHwgc2hvd19yZXNvbHZlX3VuZG8gfHwgd2l0aF90cmVlKSkKKwkJZGllKCJscy1maWxlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcyB1bnN1cHBvcnRlZCBtb2RlIik7CisKKwlpZiAocmVjdXJzZV9zdWJtb2R1bGVzICYmIGVycm9yX3VubWF0Y2gpCisJCWRpZSgibHMtZmlsZXMgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgZG9lcyBub3Qgc3VwcG9ydCAiCisJCSAgICAiLS1lcnJvci11bm1hdGNoIik7CisKIAlwYXJzZV9wYXRoc3BlYygmcGF0aHNwZWMsIDAsCiAJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfQ1dEIHwKIAkJICAgICAgIFBBVEhTUEVDX1NUUklQX1NVQk1PRFVMRV9TTEFTSF9DSEVBUCwKIAkJICAgICAgIHByZWZpeCwgYXJndik7CiAKLQkvKiBGaW5kIGNvbW1vbiBwcmVmaXggZm9yIGFsbCBwYXRoc3BlYydzICovCi0JbWF4X3ByZWZpeCA9IGNvbW1vbl9wcmVmaXgoJnBhdGhzcGVjKTsKKwkvKgorCSAqIEZpbmQgY29tbW9uIHByZWZpeCBmb3IgYWxsIHBhdGhzcGVjJ3MKKwkgKiBUaGlzIGlzIHVzZWQgYXMgYSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24gd2hpY2ggdW5mb3J0dW5hdGVseSBjYW5ub3QKKwkgKiBiZSBkb25lIHdoZW4gcmVjdXJzaW5nIGludG8gc3VibW9kdWxlcworCSAqLworCWlmIChyZWN1cnNlX3N1Ym1vZHVsZXMpCisJCW1heF9wcmVmaXggPSBOVUxMOworCWVsc2UKKwkJbWF4X3ByZWZpeCA9IGNvbW1vbl9wcmVmaXgoJnBhdGhzcGVjKTsKIAltYXhfcHJlZml4X2xlbiA9IG1heF9wcmVmaXggPyBzdHJsZW4obWF4X3ByZWZpeCkgOiAwOwogCiAJLyogVHJlYXQgdW5tYXRjaGluZyBwYXRoc3BlYyBlbGVtZW50cyBhcyBlcnJvcnMgKi8KZGlmZiAtLWdpdCBhL2J1aWx0aW4vbWFpbGluZm8uYyBiL2J1aWx0aW4vbWFpbGluZm8uYwppbmRleCBmNmRmMjc0Li5lM2I2MmYyIDEwMDY0NAotLS0gYS9idWlsdGluL21haWxpbmZvLmMKKysrIGIvYnVpbHRpbi9tYWlsaW5mby5jCkBAIC0xMSwxNSArMTEsMjAgQEAKIHN0YXRpYyBjb25zdCBjaGFyIG1haWxpbmZvX3VzYWdlW10gPQogCSJnaXQgbWFpbGluZm8gWy1rIHwgLWJdIFstbSB8IC0tbWVzc2FnZS1pZF0gWy11IHwgLS1lbmNvZGluZz08ZW5jb2Rpbmc+IHwgLW5dIFstLXNjaXNzb3JzIHwgLS1uby1zY2lzc29yc10gPG1zZz4gPHBhdGNoPiA8IG1haWwgPmluZm8iOwogCitzdGF0aWMgY2hhciAqcHJlZml4X2NvcHkoY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlpZiAoIXByZWZpeCB8fCBpc19hYnNvbHV0ZV9wYXRoKGZpbGVuYW1lKSkKKwkJcmV0dXJuIHhzdHJkdXAoZmlsZW5hbWUpOworCXJldHVybiB4c3RyZHVwKHByZWZpeF9maWxlbmFtZShwcmVmaXgsIHN0cmxlbihwcmVmaXgpLCBmaWxlbmFtZSkpOworfQorCiBpbnQgY21kX21haWxpbmZvKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWNvbnN0IGNoYXIgKmRlZl9jaGFyc2V0OwogCXN0cnVjdCBtYWlsaW5mbyBtaTsKIAlpbnQgc3RhdHVzOworCWNoYXIgKm1zZ2ZpbGUsICpwYXRjaGZpbGU7CiAKLQkvKiBORUVEU1dPUks6IG1pZ2h0IHdhbnQgdG8gZG8gdGhlIG9wdGlvbmFsIC5naXQvIGRpcmVjdG9yeQotCSAqIGRpc2NvdmVyeQotCSAqLwogCXNldHVwX21haWxpbmZvKCZtaSk7CiAKIAlkZWZfY2hhcnNldCA9IGdldF9jb21taXRfb3V0cHV0X2VuY29kaW5nKCk7CkBAIC01NCw4ICs1OSwxNCBAQAogCiAJbWkuaW5wdXQgPSBzdGRpbjsKIAltaS5vdXRwdXQgPSBzdGRvdXQ7Ci0Jc3RhdHVzID0gISFtYWlsaW5mbygmbWksIGFyZ3ZbMV0sIGFyZ3ZbMl0pOworCisJbXNnZmlsZSA9IHByZWZpeF9jb3B5KHByZWZpeCwgYXJndlsxXSk7CisJcGF0Y2hmaWxlID0gcHJlZml4X2NvcHkocHJlZml4LCBhcmd2WzJdKTsKKworCXN0YXR1cyA9ICEhbWFpbGluZm8oJm1pLCBtc2dmaWxlLCBwYXRjaGZpbGUpOwogCWNsZWFyX21haWxpbmZvKCZtaSk7CiAKKwlmcmVlKG1zZ2ZpbGUpOworCWZyZWUocGF0Y2hmaWxlKTsKIAlyZXR1cm4gc3RhdHVzOwogfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9tYWlsc3BsaXQuYyBiL2J1aWx0aW4vbWFpbHNwbGl0LmMKaW5kZXggNDg1OWVkZS4uMzA2ODE2OCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9tYWlsc3BsaXQuYworKysgYi9idWlsdGluL21haWxzcGxpdC5jCkBAIC00NSw2ICs0NSwxOSBAQAogCiBzdGF0aWMgc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIHN0YXRpYyBpbnQga2VlcF9jcjsKK3N0YXRpYyBpbnQgbWJveHJkOworCitzdGF0aWMgaW50IGlzX2d0ZnJvbShjb25zdCBzdHJ1Y3Qgc3RyYnVmICpidWYpCit7CisJc2l6ZV90IG1pbiA9IHN0cmxlbigiPkZyb20gIik7CisJc2l6ZV90IG5ndDsKKworCWlmIChidWYtPmxlbiA8IG1pbikKKwkJcmV0dXJuIDA7CisKKwluZ3QgPSBzdHJzcG4oYnVmLT5idWYsICI+Iik7CisJcmV0dXJuIG5ndCAmJiBzdGFydHNfd2l0aChidWYtPmJ1ZiArIG5ndCwgIkZyb20gIik7Cit9CiAKIC8qIENhbGxlZCB3aXRoIHRoZSBmaXJzdCBsaW5lIChwb3RlbnRpYWxseSBwYXJ0aWFsKQogICogYWxyZWFkeSBpbiBidWZbXSAtLSBub3JtYWxseSB0aGF0IHNob3VsZCBiZWdpbiB3aXRoCkBAIC03Nyw2ICs5MCw5IEBACiAJCQlzdHJidWZfYWRkY2goJmJ1ZiwgJ1xuJyk7CiAJCX0KIAorCQlpZiAobWJveHJkICYmIGlzX2d0ZnJvbSgmYnVmKSkKKwkJCXN0cmJ1Zl9yZW1vdmUoJmJ1ZiwgMCwgMSk7CisKIAkJaWYgKGZ3cml0ZShidWYuYnVmLCAxLCBidWYubGVuLCBvdXRwdXQpICE9IGJ1Zi5sZW4pCiAJCQlkaWVfZXJybm8oImNhbm5vdCB3cml0ZSBvdXRwdXQiKTsKIApAQCAtMjcxLDYgKzI4Nyw4IEBACiAJCQlrZWVwX2NyID0gMTsKIAkJfSBlbHNlIGlmICggYXJnWzFdID09ICdvJyAmJiBhcmdbMl0gKSB7CiAJCQlkaXIgPSBhcmcrMjsKKwkJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tbWJveHJkIikpIHsKKwkJCW1ib3hyZCA9IDE7CiAJCX0gZWxzZSBpZiAoIGFyZ1sxXSA9PSAnLScgJiYgIWFyZ1syXSApIHsKIAkJCWFyZ3ArKzsJLyogLS0gbWFya3MgZW5kIG9mIG9wdGlvbnMgKi8KIAkJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9tZXJnZS1iYXNlLmMgYi9idWlsdGluL21lcmdlLWJhc2UuYwppbmRleCBjMGQxODIyLi5iNTcyYTM3IDEwMDY0NAotLS0gYS9idWlsdGluL21lcmdlLWJhc2UuYworKysgYi9idWlsdGluL21lcmdlLWJhc2UuYwpAQCAtMTczLDYgKzE3Myw5IEBACiAJcmV2cy5pbml0aWFsID0gMTsKIAlmb3JfZWFjaF9yZWZsb2dfZW50KHJlZm5hbWUsIGNvbGxlY3Rfb25lX3JlZmxvZ19lbnQsICZyZXZzKTsKIAorCWlmICghcmV2cy5uciAmJiAhZ2V0X3NoYTEocmVmbmFtZSwgc2hhMSkpCisJCWFkZF9vbmVfY29tbWl0KHNoYTEsICZyZXZzKTsKKwogCWZvciAoaSA9IDA7IGkgPCByZXZzLm5yOyBpKyspCiAJCXJldnMuY29tbWl0W2ldLT5vYmplY3QuZmxhZ3MgJj0gflRNUF9NQVJLOwogCmRpZmYgLS1naXQgYS9idWlsdGluL21lcmdlLWluZGV4LmMgYi9idWlsdGluL21lcmdlLWluZGV4LmMKaW5kZXggMWMzNDI3Yy4uY2UzNTZiMSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9tZXJnZS1pbmRleC5jCisrKyBiL2J1aWx0aW4vbWVyZ2UtaW5kZXguYwpAQCAtMjIsNyArMjIsNyBAQAogCQlpZiAoc3RyY21wKGNlLT5uYW1lLCBwYXRoKSkKIAkJCWJyZWFrOwogCQlmb3VuZCsrOwotCQlzaGExX3RvX2hleF9yKGhleGJ1ZltzdGFnZV0sIGNlLT5zaGExKTsKKwkJc2hhMV90b19oZXhfcihoZXhidWZbc3RhZ2VdLCBjZS0+b2lkLmhhc2gpOwogCQl4c25wcmludGYob3duYnVmW3N0YWdlXSwgc2l6ZW9mKG93bmJ1ZltzdGFnZV0pLCAiJW8iLCBjZS0+Y2VfbW9kZSk7CiAJCWFyZ3VtZW50c1tzdGFnZV0gPSBoZXhidWZbc3RhZ2VdOwogCQlhcmd1bWVudHNbc3RhZ2UgKyA0XSA9IG93bmJ1ZltzdGFnZV07CmRpZmYgLS1naXQgYS9idWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jIGIvYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYwppbmRleCA0OTFlZmQ1Li4wZGQ5MDIxIDEwMDY0NAotLS0gYS9idWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jCisrKyBiL2J1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmMKQEAgLTksMTAgKzksMTAgQEAKIAogc3RhdGljIGNvbnN0IGNoYXIgKmJldHRlcl9icmFuY2hfbmFtZShjb25zdCBjaGFyICpicmFuY2gpCiB7Ci0Jc3RhdGljIGNoYXIgZ2l0aGVhZF9lbnZbOCArIDQwICsgMV07CisJc3RhdGljIGNoYXIgZ2l0aGVhZF9lbnZbOCArIEdJVF9TSEExX0hFWFNaICsgMV07CiAJY2hhciAqbmFtZTsKIAotCWlmIChzdHJsZW4oYnJhbmNoKSAhPSA0MCkKKwlpZiAoc3RybGVuKGJyYW5jaCkgIT0gR0lUX1NIQTFfSEVYU1opCiAJCXJldHVybiBicmFuY2g7CiAJeHNucHJpbnRmKGdpdGhlYWRfZW52LCBzaXplb2YoZ2l0aGVhZF9lbnYpLCAiR0lUSEVBRF8lcyIsIGJyYW5jaCk7CiAJbmFtZSA9IGdldGVudihnaXRoZWFkX2Vudik7CkBAIC0yMSwxMCArMjEsMTAgQEAKIAogaW50IGNtZF9tZXJnZV9yZWN1cnNpdmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqYmFzZXNbMjFdOworCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmJhc2VzWzIxXTsKIAl1bnNpZ25lZCBiYXNlc19jb3VudCA9IDA7CiAJaW50IGksIGZhaWxlZDsKLQl1bnNpZ25lZCBjaGFyIGgxWzIwXSwgaDJbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgaDEsIGgyOwogCXN0cnVjdCBtZXJnZV9vcHRpb25zIG87CiAJc3RydWN0IGNvbW1pdCAqcmVzdWx0OwogCkBAIC00MiwzOCArNDIsNDEgQEAKIAkJCWlmICghYXJnWzJdKQogCQkJCWJyZWFrOwogCQkJaWYgKHBhcnNlX21lcmdlX29wdCgmbywgYXJnICsgMikpCi0JCQkJZGllKCJVbmtub3duIG9wdGlvbiAlcyIsIGFyZyk7CisJCQkJZGllKF8oInVua25vd24gb3B0aW9uICVzIiksIGFyZyk7CiAJCQljb250aW51ZTsKIAkJfQogCQlpZiAoYmFzZXNfY291bnQgPCBBUlJBWV9TSVpFKGJhc2VzKS0xKSB7Ci0JCQl1bnNpZ25lZCBjaGFyICpzaGEgPSB4bWFsbG9jKDIwKTsKLQkJCWlmIChnZXRfc2hhMShhcmd2W2ldLCBzaGEpKQotCQkJCWRpZSgiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIiwgYXJndltpXSk7Ci0JCQliYXNlc1tiYXNlc19jb3VudCsrXSA9IHNoYTsKKwkJCXN0cnVjdCBvYmplY3RfaWQgKm9pZCA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBvYmplY3RfaWQpKTsKKwkJCWlmIChnZXRfb2lkKGFyZ3ZbaV0sIG9pZCkpCisJCQkJZGllKF8oImNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIpLCBhcmd2W2ldKTsKKwkJCWJhc2VzW2Jhc2VzX2NvdW50KytdID0gb2lkOwogCQl9CiAJCWVsc2UKLQkJCXdhcm5pbmcoIkNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2VzLiAiCi0JCQkJIklnbm9yaW5nICVzLiIsCisJCQl3YXJuaW5nKFFfKCJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlLiAiCisJCQkJICAgIklnbm9yaW5nICVzLiIsCisJCQkJICAgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2VzLiAiCisJCQkJICAgIklnbm9yaW5nICVzLiIsCisJCQkJICAgIChpbnQpQVJSQVlfU0laRShiYXNlcyktMSksCiAJCQkJKGludClBUlJBWV9TSVpFKGJhc2VzKS0xLCBhcmd2W2ldKTsKIAl9CiAJaWYgKGFyZ2MgLSBpICE9IDMpIC8qICItLSIgIjxoZWFkPiIgIjxyZW1vdGU+IiAqLwotCQlkaWUoIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iKTsKKwkJZGllKF8oIm5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iKSk7CiAKIAlvLmJyYW5jaDEgPSBhcmd2WysraV07CiAJby5icmFuY2gyID0gYXJndlsrK2ldOwogCi0JaWYgKGdldF9zaGExKG8uYnJhbmNoMSwgaDEpKQotCQlkaWUoIkNvdWxkIG5vdCByZXNvbHZlIHJlZiAnJXMnIiwgby5icmFuY2gxKTsKLQlpZiAoZ2V0X3NoYTEoby5icmFuY2gyLCBoMikpCi0JCWRpZSgiQ291bGQgbm90IHJlc29sdmUgcmVmICclcyciLCBvLmJyYW5jaDIpOworCWlmIChnZXRfb2lkKG8uYnJhbmNoMSwgJmgxKSkKKwkJZGllKF8oImNvdWxkIG5vdCByZXNvbHZlIHJlZiAnJXMnIiksIG8uYnJhbmNoMSk7CisJaWYgKGdldF9vaWQoby5icmFuY2gyLCAmaDIpKQorCQlkaWUoXygiY291bGQgbm90IHJlc29sdmUgcmVmICclcyciKSwgby5icmFuY2gyKTsKIAogCW8uYnJhbmNoMSA9IGJldHRlcl9icmFuY2hfbmFtZShvLmJyYW5jaDEpOwogCW8uYnJhbmNoMiA9IGJldHRlcl9icmFuY2hfbmFtZShvLmJyYW5jaDIpOwogCiAJaWYgKG8udmVyYm9zaXR5ID49IDMpCi0JCXByaW50ZigiTWVyZ2luZyAlcyB3aXRoICVzXG4iLCBvLmJyYW5jaDEsIG8uYnJhbmNoMik7CisJCXByaW50ZihfKCJNZXJnaW5nICVzIHdpdGggJXNcbiIpLCBvLmJyYW5jaDEsIG8uYnJhbmNoMik7CiAKLQlmYWlsZWQgPSBtZXJnZV9yZWN1cnNpdmVfZ2VuZXJpYygmbywgaDEsIGgyLCBiYXNlc19jb3VudCwgYmFzZXMsICZyZXN1bHQpOworCWZhaWxlZCA9IG1lcmdlX3JlY3Vyc2l2ZV9nZW5lcmljKCZvLCAmaDEsICZoMiwgYmFzZXNfY291bnQsIGJhc2VzLCAmcmVzdWx0KTsKIAlpZiAoZmFpbGVkIDwgMCkKIAkJcmV0dXJuIDEyODsgLyogZGllKCkgZXJyb3IgY29kZSAqLwogCXJldHVybiBmYWlsZWQ7CmRpZmYgLS1naXQgYS9idWlsdGluL21lcmdlLmMgYi9idWlsdGluL21lcmdlLmMKaW5kZXggYjU1NWExYi4uYjY1ZWVhYSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9tZXJnZS5jCisrKyBiL2J1aWx0aW4vbWVyZ2UuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgImZtdC1tZXJnZS1tc2cuaCIKICNpbmNsdWRlICJncGctaW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAic2VxdWVuY2VyLmgiCisjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKIAogI2RlZmluZSBERUZBVUxUX1RXT0hFQUQgKDE8PDApCiAjZGVmaW5lIERFRkFVTFRfT0NUT1BVUyAoMTw8MSkKQEAgLTIxMSw3ICsyMTIsNyBAQAogCQlQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfTk9ORUcsIE5VTEwsIEZGX09OTFkgfSwKIAlPUFRfUkVSRVJFX0FVVE9VUERBVEUoJmFsbG93X3JlcmVyZV9hdXRvKSwKIAlPUFRfQk9PTCgwLCAidmVyaWZ5LXNpZ25hdHVyZXMiLCAmdmVyaWZ5X3NpZ25hdHVyZXMsCi0JCU5fKCJWZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiKSksCisJCU5fKCJ2ZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiKSksCiAJT1BUX0NBTExCQUNLKCdzJywgInN0cmF0ZWd5IiwgJnVzZV9zdHJhdGVnaWVzLCBOXygic3RyYXRlZ3kiKSwKIAkJTl8oIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIpLCBvcHRpb25fcGFyc2Vfc3RyYXRlZ3kpLAogCU9QVF9DQUxMQkFDSygnWCcsICJzdHJhdGVneS1vcHRpb24iLCAmeG9wdHMsIE5fKCJvcHRpb249dmFsdWUiKSwKQEAgLTMzNiwxNSArMzM3LDkgQEAKIAlzdHJ1Y3QgcmV2X2luZm8gcmV2OwogCXN0cnVjdCBzdHJidWYgb3V0ID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpqOwotCWNvbnN0IGNoYXIgKmZpbGVuYW1lOwotCWludCBmZDsKIAlzdHJ1Y3QgcHJldHR5X3ByaW50X2NvbnRleHQgY3R4ID0gezB9OwogCiAJcHJpbnRmKF8oIlNxdWFzaCBjb21taXQgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIpKTsKLQlmaWxlbmFtZSA9IGdpdF9wYXRoX3NxdWFzaF9tc2coKTsKLQlmZCA9IG9wZW4oZmlsZW5hbWUsIE9fV1JPTkxZIHwgT19DUkVBVCwgMDY2Nik7Ci0JaWYgKGZkIDwgMCkKLQkJZGllX2Vycm5vKF8oIkNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIiksIGZpbGVuYW1lKTsKIAogCWluaXRfcmV2aXNpb25zKCZyZXYsIE5VTEwpOwogCXJldi5pZ25vcmVfbWVyZ2VzID0gMTsKQEAgLTM3MSwxMCArMzY2LDcgQEAKIAkJCW9pZF90b19oZXgoJmNvbW1pdC0+b2JqZWN0Lm9pZCkpOwogCQlwcmV0dHlfcHJpbnRfY29tbWl0KCZjdHgsIGNvbW1pdCwgJm91dCk7CiAJfQotCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBvdXQuYnVmLCBvdXQubGVuKSAhPSBvdXQubGVuKQotCQlkaWVfZXJybm8oXygiV3JpdGluZyBTUVVBU0hfTVNHIikpOwotCWlmIChjbG9zZShmZCkpCi0JCWRpZV9lcnJubyhfKCJGaW5pc2hpbmcgU1FVQVNIX01TRyIpKTsKKwl3cml0ZV9maWxlX2J1ZihnaXRfcGF0aF9zcXVhc2hfbXNnKCksIG91dC5idWYsIG91dC5sZW4pOwogCXN0cmJ1Zl9yZWxlYXNlKCZvdXQpOwogfQogCkBAIC01MDEsNyArNDkzLDcgQEAKIAkJaWYgKHJlZl9leGlzdHModHJ1bmFtZS5idWYpKSB7CiAJCQlzdHJidWZfYWRkZihtc2csCiAJCQkJICAgICIlc1x0XHRicmFuY2ggJyVzJyVzIG9mIC5cbiIsCi0JCQkJICAgIHNoYTFfdG9faGV4KHJlbW90ZV9oZWFkLT5vYmplY3Qub2lkLmhhc2gpLAorCQkJCSAgICBvaWRfdG9faGV4KCZyZW1vdGVfaGVhZC0+b2JqZWN0Lm9pZCksCiAJCQkJICAgIHRydW5hbWUuYnVmICsgMTEsCiAJCQkJICAgIChlYXJseSA/ICIgKGVhcmx5IHBhcnQpIiA6ICIiKSk7CiAJCQlzdHJidWZfcmVsZWFzZSgmdHJ1bmFtZSk7CkBAIC01MTUsNyArNTA3LDcgQEAKIAkJZGVzYyA9IG1lcmdlX3JlbW90ZV91dGlsKHJlbW90ZV9oZWFkKTsKIAkJaWYgKGRlc2MgJiYgZGVzYy0+b2JqICYmIGRlc2MtPm9iai0+dHlwZSA9PSBPQkpfVEFHKSB7CiAJCQlzdHJidWZfYWRkZihtc2csICIlc1x0XHQlcyAnJXMnXG4iLAotCQkJCSAgICBzaGExX3RvX2hleChkZXNjLT5vYmotPm9pZC5oYXNoKSwKKwkJCQkgICAgb2lkX3RvX2hleCgmZGVzYy0+b2JqLT5vaWQpLAogCQkJCSAgICB0eXBlbmFtZShkZXNjLT5vYmotPnR5cGUpLAogCQkJCSAgICByZW1vdGUpOwogCQkJZ290byBjbGVhbnVwOwpAQCAtNTIzLDcgKzUxNSw3IEBACiAJfQogCiAJc3RyYnVmX2FkZGYobXNnLCAiJXNcdFx0Y29tbWl0ICclcydcbiIsCi0JCXNoYTFfdG9faGV4KHJlbW90ZV9oZWFkLT5vYmplY3Qub2lkLmhhc2gpLCByZW1vdGUpOworCQlvaWRfdG9faGV4KCZyZW1vdGVfaGVhZC0+b2JqZWN0Lm9pZCksIHJlbW90ZSk7CiBjbGVhbnVwOgogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCXN0cmJ1Zl9yZWxlYXNlKCZibmFtZSk7CkBAIC02ODIsNiArNjc0LDggQEAKIAkJaG9sZF9sb2NrZWRfaW5kZXgoJmxvY2ssIDEpOwogCQljbGVhbiA9IG1lcmdlX3JlY3Vyc2l2ZSgmbywgaGVhZCwKIAkJCQlyZW1vdGVoZWFkcy0+aXRlbSwgcmV2ZXJzZWQsICZyZXN1bHQpOworCQlpZiAoY2xlYW4gPCAwKQorCQkJZXhpdCgxMjgpOwogCQlpZiAoYWN0aXZlX2NhY2hlX2NoYW5nZWQgJiYKIAkJICAgIHdyaXRlX2xvY2tlZF9pbmRleCgmdGhlX2luZGV4LCAmbG9jaywgQ09NTUlUX0xPQ0spKQogCQkJZGllIChfKCJ1bmFibGUgdG8gd3JpdGUgJXMiKSwgZ2V0X2luZGV4X2ZpbGUoKSk7CkBAIC03MTIsNDIgKzcwNiwxNyBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIHNwbGl0X21lcmdlX3N0cmF0ZWdpZXMoY29uc3QgY2hhciAqc3RyaW5nLCBzdHJ1Y3Qgc3RyYXRlZ3kgKipsaXN0LAotCQkJCSAgIGludCAqbnIsIGludCAqYWxsb2MpCi17Ci0JY2hhciAqcCwgKnEsICpidWY7Ci0KLQlpZiAoIXN0cmluZykKLQkJcmV0dXJuOwotCi0JYnVmID0geHN0cmR1cChzdHJpbmcpOwotCXEgPSBidWY7Ci0JZm9yICg7OykgewotCQlwID0gc3RyY2hyKHEsICcgJyk7Ci0JCWlmICghcCkgewotCQkJQUxMT0NfR1JPVygqbGlzdCwgKm5yICsgMSwgKmFsbG9jKTsKLQkJCSgqbGlzdClbKCpucikrK10ubmFtZSA9IHhzdHJkdXAocSk7Ci0JCQlmcmVlKGJ1Zik7Ci0JCQlyZXR1cm47Ci0JCX0gZWxzZSB7Ci0JCQkqcCA9ICdcMCc7Ci0JCQlBTExPQ19HUk9XKCpsaXN0LCAqbnIgKyAxLCAqYWxsb2MpOwotCQkJKCpsaXN0KVsoKm5yKSsrXS5uYW1lID0geHN0cmR1cChxKTsKLQkJCXEgPSArK3A7Ci0JCX0KLQl9Ci19Ci0KIHN0YXRpYyB2b2lkIGFkZF9zdHJhdGVnaWVzKGNvbnN0IGNoYXIgKnN0cmluZywgdW5zaWduZWQgYXR0cikKIHsKLQlzdHJ1Y3Qgc3RyYXRlZ3kgKmxpc3QgPSBOVUxMOwotCWludCBsaXN0X2FsbG9jID0gMCwgbGlzdF9uciA9IDAsIGk7CisJaW50IGk7CiAKLQltZW1zZXQoJmxpc3QsIDAsIHNpemVvZihsaXN0KSk7Ci0Jc3BsaXRfbWVyZ2Vfc3RyYXRlZ2llcyhzdHJpbmcsICZsaXN0LCAmbGlzdF9uciwgJmxpc3RfYWxsb2MpOwotCWlmIChsaXN0KSB7Ci0JCWZvciAoaSA9IDA7IGkgPCBsaXN0X25yOyBpKyspCi0JCQlhcHBlbmRfc3RyYXRlZ3koZ2V0X3N0cmF0ZWd5KGxpc3RbaV0ubmFtZSkpOworCWlmIChzdHJpbmcpIHsKKwkJc3RydWN0IHN0cmluZ19saXN0IGxpc3QgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKKwkJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CisJCXN0cmluZ19saXN0X3NwbGl0KCZsaXN0LCBzdHJpbmcsICcgJywgLTEpOworCQlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sICZsaXN0KQorCQkJYXBwZW5kX3N0cmF0ZWd5KGdldF9zdHJhdGVneShpdGVtLT5zdHJpbmcpKTsKKwkJc3RyaW5nX2xpc3RfY2xlYXIoJmxpc3QsIDApOwogCQlyZXR1cm47CiAJfQogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGFsbF9zdHJhdGVneSk7IGkrKykKQEAgLTc1NiwxOCArNzI1LDYgQEAKIAogfQogCi1zdGF0aWMgdm9pZCB3cml0ZV9tZXJnZV9tc2coc3RydWN0IHN0cmJ1ZiAqbXNnKQotewotCWNvbnN0IGNoYXIgKmZpbGVuYW1lID0gZ2l0X3BhdGhfbWVyZ2VfbXNnKCk7Ci0JaW50IGZkID0gb3BlbihmaWxlbmFtZSwgT19XUk9OTFkgfCBPX0NSRUFULCAwNjY2KTsKLQlpZiAoZmQgPCAwKQotCQlkaWVfZXJybm8oXygiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIpLAotCQkJICBmaWxlbmFtZSk7Ci0JaWYgKHdyaXRlX2luX2Z1bGwoZmQsIG1zZy0+YnVmLCBtc2ctPmxlbikgIT0gbXNnLT5sZW4pCi0JCWRpZV9lcnJubyhfKCJDb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIpLCBmaWxlbmFtZSk7Ci0JY2xvc2UoZmQpOwotfQotCiBzdGF0aWMgdm9pZCByZWFkX21lcmdlX21zZyhzdHJ1Y3Qgc3RyYnVmICptc2cpCiB7CiAJY29uc3QgY2hhciAqZmlsZW5hbWUgPSBnaXRfcGF0aF9tZXJnZV9tc2coKTsKQEAgLTgwMSw3ICs3NTgsNyBAQAogCXN0cmJ1Zl9hZGRjaCgmbXNnLCAnXG4nKTsKIAlpZiAoMCA8IG9wdGlvbl9lZGl0KQogCQlzdHJidWZfY29tbWVudGVkX2FkZGYoJm1zZywgXyhtZXJnZV9lZGl0b3JfY29tbWVudCksIGNvbW1lbnRfbGluZV9jaGFyKTsKLQl3cml0ZV9tZXJnZV9tc2coJm1zZyk7CisJd3JpdGVfZmlsZV9idWYoZ2l0X3BhdGhfbWVyZ2VfbXNnKCksIG1zZy5idWYsIG1zZy5sZW4pOwogCWlmIChydW5fY29tbWl0X2hvb2soMCA8IG9wdGlvbl9lZGl0LCBnZXRfaW5kZXhfZmlsZSgpLCAicHJlcGFyZS1jb21taXQtbXNnIiwKIAkJCSAgICBnaXRfcGF0aF9tZXJnZV9tc2coKSwgIm1lcmdlIiwgTlVMTCkpCiAJCWFib3J0X2NvbW1pdChyZW1vdGVoZWFkcywgTlVMTCk7CkBAIC05NjQsOCArOTIxLDYgQEAKIAogc3RhdGljIHZvaWQgd3JpdGVfbWVyZ2Vfc3RhdGUoc3RydWN0IGNvbW1pdF9saXN0ICpyZW1vdGVoZWFkcykKIHsKLQljb25zdCBjaGFyICpmaWxlbmFtZTsKLQlpbnQgZmQ7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpqOwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAKQEAgLTk3OSwyNiArOTM0LDE0IEBACiAJCX0KIAkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzXG4iLCBvaWRfdG9faGV4KG9pZCkpOwogCX0KLQlmaWxlbmFtZSA9IGdpdF9wYXRoX21lcmdlX2hlYWQoKTsKLQlmZCA9IG9wZW4oZmlsZW5hbWUsIE9fV1JPTkxZIHwgT19DUkVBVCwgMDY2Nik7Ci0JaWYgKGZkIDwgMCkKLQkJZGllX2Vycm5vKF8oIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciKSwgZmlsZW5hbWUpOwotCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBidWYuYnVmLCBidWYubGVuKSAhPSBidWYubGVuKQotCQlkaWVfZXJybm8oXygiQ291bGQgbm90IHdyaXRlIHRvICclcyciKSwgZmlsZW5hbWUpOwotCWNsb3NlKGZkKTsKKwl3cml0ZV9maWxlX2J1ZihnaXRfcGF0aF9tZXJnZV9oZWFkKCksIGJ1Zi5idWYsIGJ1Zi5sZW4pOwogCXN0cmJ1Zl9hZGRjaCgmbWVyZ2VfbXNnLCAnXG4nKTsKLQl3cml0ZV9tZXJnZV9tc2coJm1lcmdlX21zZyk7CisJd3JpdGVfZmlsZV9idWYoZ2l0X3BhdGhfbWVyZ2VfbXNnKCksIG1lcmdlX21zZy5idWYsIG1lcmdlX21zZy5sZW4pOwogCi0JZmlsZW5hbWUgPSBnaXRfcGF0aF9tZXJnZV9tb2RlKCk7Ci0JZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1dST05MWSB8IE9fQ1JFQVQgfCBPX1RSVU5DLCAwNjY2KTsKLQlpZiAoZmQgPCAwKQotCQlkaWVfZXJybm8oXygiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIpLCBmaWxlbmFtZSk7CiAJc3RyYnVmX3Jlc2V0KCZidWYpOwogCWlmIChmYXN0X2ZvcndhcmQgPT0gRkZfTk8pCi0JCXN0cmJ1Zl9hZGRmKCZidWYsICJuby1mZiIpOwotCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBidWYuYnVmLCBidWYubGVuKSAhPSBidWYubGVuKQotCQlkaWVfZXJybm8oXygiQ291bGQgbm90IHdyaXRlIHRvICclcyciKSwgZmlsZW5hbWUpOwotCWNsb3NlKGZkKTsKKwkJc3RyYnVmX2FkZHN0cigmYnVmLCAibm8tZmYiKTsKKwl3cml0ZV9maWxlX2J1ZihnaXRfcGF0aF9tZXJnZV9tb2RlKCksIGJ1Zi5idWYsIGJ1Zi5sZW4pOwogfQogCiBzdGF0aWMgaW50IGRlZmF1bHRfZWRpdF9vcHRpb24odm9pZCkKQEAgLTEwMTQsNyArOTU3LDcgQEAKIAlpZiAoZSkgewogCQlpbnQgdiA9IGdpdF9jb25maWdfbWF5YmVfYm9vbChuYW1lLCBlKTsKIAkJaWYgKHYgPCAwKQotCQkJZGllKCJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIiwgZSwgbmFtZSk7CisJCQlkaWUoXygiQmFkIHZhbHVlICclcycgaW4gZW52aXJvbm1lbnQgJyVzJyIpLCBlLCBuYW1lKTsKIAkJcmV0dXJuIHY7CiAJfQogCkBAIC0xMTE1LDcgKzEwNTgsNyBAQAogCQlpZiAoIWNvbW1pdCkgewogCQkJaWYgKHB0cikKIAkJCQkqcHRyID0gJ1wwJzsKLQkJCWRpZSgibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UgaW4gJXM6ICVzIiwKKwkJCWRpZShfKCJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiKSwKIAkJCSAgICBmaWxlbmFtZSwgbWVyZ2VfbmFtZXMtPmJ1ZiArIHBvcyk7CiAJCX0KIAkJcmVtb3RlcyA9ICZjb21taXRfbGlzdF9pbnNlcnQoY29tbWl0LCByZW1vdGVzKS0+bmV4dDsKQEAgLTExNDksNyArMTA5Miw3IEBACiAJCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBnZXRfbWVyZ2VfcGFyZW50KGFyZ3ZbaV0pOwogCQkJaWYgKCFjb21taXQpCiAJCQkJaGVscF91bmtub3duX3JlZihhcmd2W2ldLCAibWVyZ2UiLAotCQkJCQkJICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIpOworCQkJCQkJIF8oIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIikpOwogCQkJcmVtb3RlcyA9ICZjb21taXRfbGlzdF9pbnNlcnQoY29tbWl0LCByZW1vdGVzKS0+bmV4dDsKIAkJfQogCQlyZW1vdGVoZWFkcyA9IHJlZHVjZV9wYXJlbnRzKGhlYWRfY29tbWl0LCBoZWFkX3N1YnN1bWVkLCByZW1vdGVoZWFkcyk7CkBAIC0xMzY2LDcgKzEzMDksNyBAQAogCWZvciAocCA9IHJlbW90ZWhlYWRzOyBwOyBwID0gcC0+bmV4dCkgewogCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBwLT5pdGVtOwogCQlzdHJidWZfYWRkZigmYnVmLCAiR0lUSEVBRF8lcyIsCi0JCQkgICAgc2hhMV90b19oZXgoY29tbWl0LT5vYmplY3Qub2lkLmhhc2gpKTsKKwkJCSAgICBvaWRfdG9faGV4KCZjb21taXQtPm9iamVjdC5vaWQpKTsKIAkJc2V0ZW52KGJ1Zi5idWYsIG1lcmdlX3JlbW90ZV91dGlsKGNvbW1pdCktPm5hbWUsIDEpOwogCQlzdHJidWZfcmVzZXQoJmJ1Zik7CiAJCWlmIChmYXN0X2ZvcndhcmQgIT0gRkZfT05MWSAmJgpAQCAtMTQyMSwyMiArMTM2NCwyMSBAQAogCQkgKiBJZiBoZWFkIGNhbiByZWFjaCBhbGwgdGhlIG1lcmdlIHRoZW4gd2UgYXJlIHVwIHRvIGRhdGUuCiAJCSAqIGJ1dCBmaXJzdCB0aGUgbW9zdCBjb21tb24gY2FzZSBvZiBtZXJnaW5nIG9uZSByZW1vdGUuCiAJCSAqLwotCQlmaW5pc2hfdXBfdG9fZGF0ZSgiQWxyZWFkeSB1cC10by1kYXRlLiIpOworCQlmaW5pc2hfdXBfdG9fZGF0ZShfKCJBbHJlYWR5IHVwLXRvLWRhdGUuIikpOwogCQlnb3RvIGRvbmU7CiAJfSBlbHNlIGlmIChmYXN0X2ZvcndhcmQgIT0gRkZfTk8gJiYgIXJlbW90ZWhlYWRzLT5uZXh0ICYmCiAJCQkhY29tbW9uLT5uZXh0ICYmCi0JCQkhaGFzaGNtcChjb21tb24tPml0ZW0tPm9iamVjdC5vaWQuaGFzaCwgaGVhZF9jb21taXQtPm9iamVjdC5vaWQuaGFzaCkpIHsKKwkJCSFvaWRjbXAoJmNvbW1vbi0+aXRlbS0+b2JqZWN0Lm9pZCwgJmhlYWRfY29tbWl0LT5vYmplY3Qub2lkKSkgewogCQkvKiBBZ2FpbiB0aGUgbW9zdCBjb21tb24gY2FzZSBvZiBtZXJnaW5nIG9uZSByZW1vdGUuICovCiAJCXN0cnVjdCBzdHJidWYgbXNnID0gU1RSQlVGX0lOSVQ7CiAJCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKIAogCQlpZiAodmVyYm9zaXR5ID49IDApIHsKLQkJCWNoYXIgZnJvbVtHSVRfU0hBMV9IRVhTWiArIDFdLCB0b1tHSVRfU0hBMV9IRVhTWiArIDFdOwotCQkJZmluZF91bmlxdWVfYWJicmV2X3IoZnJvbSwgaGVhZF9jb21taXQtPm9iamVjdC5vaWQuaGFzaCwKLQkJCQkJICAgICAgREVGQVVMVF9BQkJSRVYpOwotCQkJZmluZF91bmlxdWVfYWJicmV2X3IodG8sIHJlbW90ZWhlYWRzLT5pdGVtLT5vYmplY3Qub2lkLmhhc2gsCi0JCQkJCSAgICAgIERFRkFVTFRfQUJCUkVWKTsKLQkJCXByaW50ZihfKCJVcGRhdGluZyAlcy4uJXNcbiIpLCBmcm9tLCB0byk7CisJCQlwcmludGYoXygiVXBkYXRpbmcgJXMuLiVzXG4iKSwKKwkJCSAgICAgICBmaW5kX3VuaXF1ZV9hYmJyZXYoaGVhZF9jb21taXQtPm9iamVjdC5vaWQuaGFzaCwKKwkJCQkJCSAgREVGQVVMVF9BQkJSRVYpLAorCQkJICAgICAgIGZpbmRfdW5pcXVlX2FiYnJldihyZW1vdGVoZWFkcy0+aXRlbS0+b2JqZWN0Lm9pZC5oYXNoLAorCQkJCQkJICBERUZBVUxUX0FCQlJFVikpOwogCQl9CiAJCXN0cmJ1Zl9hZGRzdHIoJm1zZywgIkZhc3QtZm9yd2FyZCIpOwogCQlpZiAoaGF2ZV9tZXNzYWdlKQpAQCAtMTQ5OSwxNCArMTQ0MSwxMyBAQAogCQkJICogSEVBRF5eIiB3b3VsZCBiZSBtaXNzZWQuCiAJCQkgKi8KIAkJCWNvbW1vbl9vbmUgPSBnZXRfbWVyZ2VfYmFzZXMoaGVhZF9jb21taXQsIGotPml0ZW0pOwotCQkJaWYgKGhhc2hjbXAoY29tbW9uX29uZS0+aXRlbS0+b2JqZWN0Lm9pZC5oYXNoLAotCQkJCWotPml0ZW0tPm9iamVjdC5vaWQuaGFzaCkpIHsKKwkJCWlmIChvaWRjbXAoJmNvbW1vbl9vbmUtPml0ZW0tPm9iamVjdC5vaWQsICZqLT5pdGVtLT5vYmplY3Qub2lkKSkgewogCQkJCXVwX3RvX2RhdGUgPSAwOwogCQkJCWJyZWFrOwogCQkJfQogCQl9CiAJCWlmICh1cF90b19kYXRlKSB7Ci0JCQlmaW5pc2hfdXBfdG9fZGF0ZSgiQWxyZWFkeSB1cC10by1kYXRlLiBZZWVhaCEiKTsKKwkJCWZpbmlzaF91cF90b19kYXRlKF8oIkFscmVhZHkgdXAtdG8tZGF0ZS4gWWVlYWghIikpOwogCQkJZ290byBkb25lOwogCQl9CiAJfQpAQCAtMTUzMCw3ICsxNDcxLDcgQEAKIAkgICAgICogU3Rhc2ggYXdheSB0aGUgbG9jYWwgY2hhbmdlcyBzbyB0aGF0IHdlIGNhbiB0cnkgbW9yZSB0aGFuIG9uZS4KIAkgICAgICovCiAJICAgIHNhdmVfc3RhdGUoc3Rhc2gpKQotCQloYXNoY3B5KHN0YXNoLCBudWxsX3NoYTEpOworCQloYXNoY2xyKHN0YXNoKTsKIAogCWZvciAoaSA9IDA7IGkgPCB1c2Vfc3RyYXRlZ2llc19ucjsgaSsrKSB7CiAJCWludCByZXQ7CmRpZmYgLS1naXQgYS9idWlsdGluL21rdHJlZS5jIGIvYnVpbHRpbi9ta3RyZWUuYwppbmRleCA0MjgyYjYyLi5kZTliNDBmIDEwMDY0NAotLS0gYS9idWlsdGluL21rdHJlZS5jCisrKyBiL2J1aWx0aW4vbWt0cmVlLmMKQEAgLTQ2LDcgKzQ2LDcgQEAKIAlzaXplX3Qgc2l6ZTsKIAlpbnQgaTsKIAotCXFzb3J0KGVudHJpZXMsIHVzZWQsIHNpemVvZigqZW50cmllcyksIGVudF9jb21wYXJlKTsKKwlRU09SVChlbnRyaWVzLCB1c2VkLCBlbnRfY29tcGFyZSk7CiAJZm9yIChzaXplID0gaSA9IDA7IGkgPCB1c2VkOyBpKyspCiAJCXNpemUgKz0gMzIgKyBlbnRyaWVzW2ldLT5sZW47CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vbXYuYyBiL2J1aWx0aW4vbXYuYwppbmRleCBhMjAxNDI2Li4yZjQzODc3IDEwMDY0NAotLS0gYS9idWlsdGluL212LmMKKysrIGIvYnVpbHRpbi9tdi5jCkBAIC0yNiw3ICsyNiw3IEBACiAJaW50IGk7CiAJY29uc3QgY2hhciAqKnJlc3VsdDsKIAlBTExPQ19BUlJBWShyZXN1bHQsIGNvdW50ICsgMSk7Ci0JbWVtY3B5KHJlc3VsdCwgcGF0aHNwZWMsIGNvdW50ICogc2l6ZW9mKGNvbnN0IGNoYXIgKikpOworCUNPUFlfQVJSQVkocmVzdWx0LCBwYXRoc3BlYywgY291bnQpOwogCXJlc3VsdFtjb3VudF0gPSBOVUxMOwogCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAJCWludCBsZW5ndGggPSBzdHJsZW4ocmVzdWx0W2ldKTsKQEAgLTEwNCw3ICsxMDQsNyBAQAogCiBpbnQgY21kX212KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewotCWludCBpLCBnaXRtb2R1bGVzX21vZGlmaWVkID0gMDsKKwlpbnQgaSwgZmxhZ3MsIGdpdG1vZHVsZXNfbW9kaWZpZWQgPSAwOwogCWludCB2ZXJib3NlID0gMCwgc2hvd19vbmx5ID0gMCwgZm9yY2UgPSAwLCBpZ25vcmVfZXJyb3JzID0gMDsKIAlzdHJ1Y3Qgb3B0aW9uIGJ1aWx0aW5fbXZfb3B0aW9uc1tdID0gewogCQlPUFRfX1ZFUkJPU0UoJnZlcmJvc2UsIE5fKCJiZSB2ZXJib3NlIikpLApAQCAtMTM0LDEwICsxMzQsMTMgQEAKIAltb2RlcyA9IHhjYWxsb2MoYXJnYywgc2l6ZW9mKGVudW0gdXBkYXRlX21vZGUpKTsKIAkvKgogCSAqIEtlZXAgdHJhaWxpbmcgc2xhc2gsIG5lZWRlZCB0byBsZXQKLQkgKiAiZ2l0IG12IGZpbGUgbm8tc3VjaC1kaXIvIiBlcnJvciBvdXQuCisJICogImdpdCBtdiBmaWxlIG5vLXN1Y2gtZGlyLyIgZXJyb3Igb3V0LCBleGNlcHQgaW4gdGhlIGNhc2UKKwkgKiAiZ2l0IG12IGRpcmVjdG9yeSBuby1zdWNoLWRpci8iLgogCSAqLwotCWRlc3RfcGF0aCA9IGludGVybmFsX2NvcHlfcGF0aHNwZWMocHJlZml4LCBhcmd2ICsgYXJnYywgMSwKLQkJCQkJICAgS0VFUF9UUkFJTElOR19TTEFTSCk7CisJZmxhZ3MgPSBLRUVQX1RSQUlMSU5HX1NMQVNIOworCWlmIChhcmdjID09IDEgJiYgaXNfZGlyZWN0b3J5KGFyZ3ZbMF0pICYmICFpc19kaXJlY3RvcnkoYXJndlsxXSkpCisJCWZsYWdzID0gMDsKKwlkZXN0X3BhdGggPSBpbnRlcm5hbF9jb3B5X3BhdGhzcGVjKHByZWZpeCwgYXJndiArIGFyZ2MsIDEsIGZsYWdzKTsKIAlzdWJtb2R1bGVfZ2l0ZmlsZSA9IHhjYWxsb2MoYXJnYywgc2l6ZW9mKGNoYXIgKikpOwogCiAJaWYgKGRlc3RfcGF0aFswXVswXSA9PSAnXDAnKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9uYW1lLXJldi5jIGIvYnVpbHRpbi9uYW1lLXJldi5jCmluZGV4IDU3YmUzNWYuLmNkODlkNDggMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbmFtZS1yZXYuYworKysgYi9idWlsdGluL25hbWUtcmV2LmMKQEAgLTE5NSw4ICsxOTUsNyBAQAogCQlyZXR1cm4gTlVMTDsKIAogCWlmICghdGlwX3RhYmxlLnNvcnRlZCkgewotCQlxc29ydCh0aXBfdGFibGUudGFibGUsIHRpcF90YWJsZS5uciwgc2l6ZW9mKCp0aXBfdGFibGUudGFibGUpLAotCQkgICAgICB0aXBjbXApOworCQlRU09SVCh0aXBfdGFibGUudGFibGUsIHRpcF90YWJsZS5uciwgdGlwY21wKTsKIAkJdGlwX3RhYmxlLnNvcnRlZCA9IDE7CiAJfQogCmRpZmYgLS1naXQgYS9idWlsdGluL25vdGVzLmMgYi9idWlsdGluL25vdGVzLmMKaW5kZXggYzY1YjU5YS4uNTI0OGE5YiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9ub3Rlcy5jCisrKyBiL2J1aWx0aW4vbm90ZXMuYwpAQCAtOTEsNyArOTEsNyBAQAogfTsKIAogc3RhdGljIGNvbnN0IGNoYXIgbm90ZV90ZW1wbGF0ZVtdID0KLQkiXG5Xcml0ZS9lZGl0IHRoZSBub3RlcyBmb3IgdGhlIGZvbGxvd2luZyBvYmplY3Q6XG4iOworCU5fKCJXcml0ZS9lZGl0IHRoZSBub3RlcyBmb3IgdGhlIGZvbGxvd2luZyBvYmplY3Q6Iik7CiAKIHN0cnVjdCBub3RlX2RhdGEgewogCWludCBnaXZlbjsKQEAgLTE3OSw3ICsxNzksOCBAQAogCQkJY29weV9vYmpfdG9fZmQoZmQsIG9sZF9ub3RlKTsKIAogCQlzdHJidWZfYWRkY2goJmJ1ZiwgJ1xuJyk7Ci0JCXN0cmJ1Zl9hZGRfY29tbWVudGVkX2xpbmVzKCZidWYsIG5vdGVfdGVtcGxhdGUsIHN0cmxlbihub3RlX3RlbXBsYXRlKSk7CisJCXN0cmJ1Zl9hZGRfY29tbWVudGVkX2xpbmVzKCZidWYsICJcbiIsIHN0cmxlbigiXG4iKSk7CisJCXN0cmJ1Zl9hZGRfY29tbWVudGVkX2xpbmVzKCZidWYsIF8obm90ZV90ZW1wbGF0ZSksIHN0cmxlbihfKG5vdGVfdGVtcGxhdGUpKSk7CiAJCXN0cmJ1Zl9hZGRjaCgmYnVmLCAnXG4nKTsKIAkJd3JpdGVfb3JfZGllKGZkLCBidWYuYnVmLCBidWYubGVuKTsKIApAQCAtMTkwLDcgKzE5MSw3IEBACiAJCXN0cmJ1Zl9yZXNldCgmZC0+YnVmKTsKIAogCQlpZiAobGF1bmNoX2VkaXRvcihkLT5lZGl0X3BhdGgsICZkLT5idWYsIE5VTEwpKSB7Ci0JCQlkaWUoXygiUGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIikpOworCQkJZGllKF8oInBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIpKTsKIAkJfQogCQlzdHJidWZfc3RyaXBzcGFjZSgmZC0+YnVmLCAxKTsKIAl9CkBAIC0yMDEsNyArMjAyLDcgQEAKIAlpZiAod3JpdGVfc2hhMV9maWxlKGQtPmJ1Zi5idWYsIGQtPmJ1Zi5sZW4sIGJsb2JfdHlwZSwgc2hhMSkpIHsKIAkJZXJyb3IoXygidW5hYmxlIHRvIHdyaXRlIG5vdGUgb2JqZWN0IikpOwogCQlpZiAoZC0+ZWRpdF9wYXRoKQotCQkJZXJyb3IoXygiVGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiKSwKKwkJCWVycm9yKF8oInRoZSBub3RlIGNvbnRlbnRzIGhhdmUgYmVlbiBsZWZ0IGluICVzIiksCiAJCQkJZC0+ZWRpdF9wYXRoKTsKIAkJZXhpdCgxMjgpOwogCX0KQEAgLTI1MCwxNCArMjUxLDE0IEBACiAJCXN0cmJ1Zl9hZGRjaCgmZC0+YnVmLCAnXG4nKTsKIAogCWlmIChnZXRfc2hhMShhcmcsIG9iamVjdCkpCi0JCWRpZShfKCJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIpLCBhcmcpOworCQlkaWUoXygiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iKSwgYXJnKTsKIAlpZiAoIShidWYgPSByZWFkX3NoYTFfZmlsZShvYmplY3QsICZ0eXBlLCAmbGVuKSkpIHsKIAkJZnJlZShidWYpOwotCQlkaWUoXygiRmFpbGVkIHRvIHJlYWQgb2JqZWN0ICclcycuIiksIGFyZyk7CisJCWRpZShfKCJmYWlsZWQgdG8gcmVhZCBvYmplY3QgJyVzJy4iKSwgYXJnKTsKIAl9CiAJaWYgKHR5cGUgIT0gT0JKX0JMT0IpIHsKIAkJZnJlZShidWYpOwotCQlkaWUoXygiQ2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIiksIGFyZyk7CisJCWRpZShfKCJjYW5ub3QgcmVhZCBub3RlIGRhdGEgZnJvbSBub24tYmxvYiBvYmplY3QgJyVzJy4iKSwgYXJnKTsKIAl9CiAJc3RyYnVmX2FkZCgmZC0+YnVmLCBidWYsIGxlbik7CiAJZnJlZShidWYpOwpAQCAtMjk3LDEzICsyOTgsMTMgQEAKIAogCQlzcGxpdCA9IHN0cmJ1Zl9zcGxpdCgmYnVmLCAnICcpOwogCQlpZiAoIXNwbGl0WzBdIHx8ICFzcGxpdFsxXSkKLQkJCWRpZShfKCJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iKSwgYnVmLmJ1Zik7CisJCQlkaWUoXygibWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIiksIGJ1Zi5idWYpOwogCQlzdHJidWZfcnRyaW0oc3BsaXRbMF0pOwogCQlzdHJidWZfcnRyaW0oc3BsaXRbMV0pOwogCQlpZiAoZ2V0X3NoYTEoc3BsaXRbMF0tPmJ1ZiwgZnJvbV9vYmopKQotCQkJZGllKF8oIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIiksIHNwbGl0WzBdLT5idWYpOworCQkJZGllKF8oImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIiksIHNwbGl0WzBdLT5idWYpOwogCQlpZiAoZ2V0X3NoYTEoc3BsaXRbMV0tPmJ1ZiwgdG9fb2JqKSkKLQkJCWRpZShfKCJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIpLCBzcGxpdFsxXS0+YnVmKTsKKwkJCWRpZShfKCJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIpLCBzcGxpdFsxXS0+YnVmKTsKIAogCQlpZiAocmV3cml0ZV9jbWQpCiAJCQllcnIgPSBjb3B5X25vdGVfZm9yX3Jld3JpdGUoYywgZnJvbV9vYmosIHRvX29iaik7CkBAIC0zMTIsNyArMzEzLDcgQEAKIAkJCQkJY29tYmluZV9ub3Rlc19vdmVyd3JpdGUpOwogCiAJCWlmIChlcnIpIHsKLQkJCWVycm9yKF8oIkZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIiksCisJCQllcnJvcihfKCJmYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIpLAogCQkJICAgICAgc3BsaXRbMF0tPmJ1Ziwgc3BsaXRbMV0tPmJ1Zik7CiAJCQlyZXQgPSAxOwogCQl9CkBAIC0zMzksNyArMzQwLDkgQEAKIAogCXJlZiA9IChmbGFncyAmIE5PVEVTX0lOSVRfV1JJVEFCTEUpID8gdC0+dXBkYXRlX3JlZiA6IHQtPnJlZjsKIAlpZiAoIXN0YXJ0c193aXRoKHJlZiwgInJlZnMvbm90ZXMvIikpCi0JCWRpZSgiUmVmdXNpbmcgdG8gJXMgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIiwKKwkJLyogVFJBTlNMQVRPUlM6IHRoZSBmaXJzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEKKwkJICAgZ2l0IG5vdGVzIGNvbW1hbmQ6ICdhZGQnLCAnbWVyZ2UnLCAncmVtb3ZlJywgZXRjLiovCisJCWRpZShfKCJyZWZ1c2luZyB0byAlcyBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiKSwKIAkJICAgIHN1YmNvbW1hbmQsIHJlZik7CiAJcmV0dXJuIHQ7CiB9CkBAIC0zNjYsMTMgKzM2OSwxMyBAQAogCXQgPSBpbml0X25vdGVzX2NoZWNrKCJsaXN0IiwgMCk7CiAJaWYgKGFyZ2MpIHsKIAkJaWYgKGdldF9zaGExKGFyZ3ZbMF0sIG9iamVjdCkpCi0JCQlkaWUoXygiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iKSwgYXJndlswXSk7CisJCQlkaWUoXygiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iKSwgYXJndlswXSk7CiAJCW5vdGUgPSBnZXRfbm90ZSh0LCBvYmplY3QpOwogCQlpZiAobm90ZSkgewogCQkJcHV0cyhzaGExX3RvX2hleChub3RlKSk7CiAJCQlyZXR2YWwgPSAwOwogCQl9IGVsc2UKLQkJCXJldHZhbCA9IGVycm9yKF8oIk5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iKSwKKwkJCXJldHZhbCA9IGVycm9yKF8oIm5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iKSwKIAkJCQkgICAgICAgc2hhMV90b19oZXgob2JqZWN0KSk7CiAJfSBlbHNlCiAJCXJldHZhbCA9IGZvcl9lYWNoX25vdGUodCwgMCwgbGlzdF9lYWNoX25vdGUsIE5VTEwpOwpAQCAtNDIxLDcgKzQyNCw3IEBACiAJb2JqZWN0X3JlZiA9IGFyZ2MgPiAxID8gYXJndlsxXSA6ICJIRUFEIjsKIAogCWlmIChnZXRfc2hhMShvYmplY3RfcmVmLCBvYmplY3QpKQotCQlkaWUoXygiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iKSwgb2JqZWN0X3JlZik7CisJCWRpZShfKCJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIpLCBvYmplY3RfcmVmKTsKIAogCXQgPSBpbml0X25vdGVzX2NoZWNrKCJhZGQiLCBOT1RFU19JTklUX1dSSVRBQkxFKTsKIAlub3RlID0gZ2V0X25vdGUodCwgb2JqZWN0KTsKQEAgLTUwNywxMiArNTEwLDEyIEBACiAJfQogCiAJaWYgKGdldF9zaGExKGFyZ3ZbMF0sIGZyb21fb2JqKSkKLQkJZGllKF8oIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIiksIGFyZ3ZbMF0pOworCQlkaWUoXygiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iKSwgYXJndlswXSk7CiAKIAlvYmplY3RfcmVmID0gMSA8IGFyZ2MgPyBhcmd2WzFdIDogIkhFQUQiOwogCiAJaWYgKGdldF9zaGExKG9iamVjdF9yZWYsIG9iamVjdCkpCi0JCWRpZShfKCJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIpLCBvYmplY3RfcmVmKTsKKwkJZGllKF8oImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIiksIG9iamVjdF9yZWYpOwogCiAJdCA9IGluaXRfbm90ZXNfY2hlY2soImNvcHkiLCBOT1RFU19JTklUX1dSSVRBQkxFKTsKIAlub3RlID0gZ2V0X25vdGUodCwgb2JqZWN0KTsKQEAgLTUzMSw3ICs1MzQsNyBAQAogCiAJZnJvbV9ub3RlID0gZ2V0X25vdGUodCwgZnJvbV9vYmopOwogCWlmICghZnJvbV9ub3RlKSB7Ci0JCXJldHZhbCA9IGVycm9yKF8oIk1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90ICIKKwkJcmV0dmFsID0gZXJyb3IoXygibWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgIgogCQkJICAgICAgICJjb3B5LiIpLCBzaGExX3RvX2hleChmcm9tX29iaikpOwogCQlnb3RvIG91dDsKIAl9CkBAIC01OTAsNyArNTkzLDcgQEAKIAlvYmplY3RfcmVmID0gMSA8IGFyZ2MgPyBhcmd2WzFdIDogIkhFQUQiOwogCiAJaWYgKGdldF9zaGExKG9iamVjdF9yZWYsIG9iamVjdCkpCi0JCWRpZShfKCJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIpLCBvYmplY3RfcmVmKTsKKwkJZGllKF8oImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIiksIG9iamVjdF9yZWYpOwogCiAJdCA9IGluaXRfbm90ZXNfY2hlY2soYXJndlswXSwgTk9URVNfSU5JVF9XUklUQUJMRSk7CiAJbm90ZSA9IGdldF9ub3RlKHQsIG9iamVjdCk7CkBAIC02NTMsMTMgKzY1NiwxMyBAQAogCW9iamVjdF9yZWYgPSBhcmdjID8gYXJndlswXSA6ICJIRUFEIjsKIAogCWlmIChnZXRfc2hhMShvYmplY3RfcmVmLCBvYmplY3QpKQotCQlkaWUoXygiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iKSwgb2JqZWN0X3JlZik7CisJCWRpZShfKCJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIpLCBvYmplY3RfcmVmKTsKIAogCXQgPSBpbml0X25vdGVzX2NoZWNrKCJzaG93IiwgMCk7CiAJbm90ZSA9IGdldF9ub3RlKHQsIG9iamVjdCk7CiAKIAlpZiAoIW5vdGUpCi0JCXJldHZhbCA9IGVycm9yKF8oIk5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iKSwKKwkJcmV0dmFsID0gZXJyb3IoXygibm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIpLAogCQkJICAgICAgIHNoYTFfdG9faGV4KG9iamVjdCkpOwogCWVsc2UgewogCQljb25zdCBjaGFyICpzaG93X2FyZ3NbM10gPSB7InNob3ciLCBzaGExX3RvX2hleChub3RlKSwgTlVMTH07CkBAIC02NzksMTEgKzY4MiwxMSBAQAogCSAqLwogCiAJaWYgKGRlbGV0ZV9yZWYoIk5PVEVTX01FUkdFX1BBUlRJQUwiLCBOVUxMLCAwKSkKLQkJcmV0ICs9IGVycm9yKCJGYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIik7CisJCXJldCArPSBlcnJvcihfKCJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIikpOwogCWlmIChkZWxldGVfcmVmKCJOT1RFU19NRVJHRV9SRUYiLCBOVUxMLCBSRUZfTk9ERVJFRikpCi0JCXJldCArPSBlcnJvcigiRmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUkVGIik7CisJCXJldCArPSBlcnJvcihfKCJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9SRUYiKSk7CiAJaWYgKG5vdGVzX21lcmdlX2Fib3J0KG8pKQotCQlyZXQgKz0gZXJyb3IoIkZhaWxlZCB0byByZW1vdmUgJ2dpdCBub3RlcyBtZXJnZScgd29ya3RyZWUiKTsKKwkJcmV0ICs9IGVycm9yKF8oImZhaWxlZCB0byByZW1vdmUgJ2dpdCBub3RlcyBtZXJnZScgd29ya3RyZWUiKSk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtNzAzLDExICs3MDYsMTEgQEAKIAkgKi8KIAogCWlmIChnZXRfc2hhMSgiTk9URVNfTUVSR0VfUEFSVElBTCIsIHNoYTEpKQotCQlkaWUoIkZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIik7CisJCWRpZShfKCJmYWlsZWQgdG8gcmVhZCByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIpKTsKIAllbHNlIGlmICghKHBhcnRpYWwgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShzaGExKSkpCi0JCWRpZSgiQ291bGQgbm90IGZpbmQgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iKTsKKwkJZGllKF8oImNvdWxkIG5vdCBmaW5kIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIikpOwogCWVsc2UgaWYgKHBhcnNlX2NvbW1pdChwYXJ0aWFsKSkKLQkJZGllKCJDb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iKTsKKwkJZGllKF8oImNvdWxkIG5vdCBwYXJzZSBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIpKTsKIAogCWlmIChwYXJ0aWFsLT5wYXJlbnRzKQogCQloYXNoY3B5KHBhcmVudF9zaGExLCBwYXJ0aWFsLT5wYXJlbnRzLT5pdGVtLT5vYmplY3Qub2lkLmhhc2gpOwpAQCAtNzIwLDEwICs3MjMsMTAgQEAKIAlvLT5sb2NhbF9yZWYgPSBsb2NhbF9yZWZfdG9fZnJlZSA9CiAJCXJlc29sdmVfcmVmZHVwKCJOT1RFU19NRVJHRV9SRUYiLCAwLCBzaGExLCBOVUxMKTsKIAlpZiAoIW8tPmxvY2FsX3JlZikKLQkJZGllKCJGYWlsZWQgdG8gcmVzb2x2ZSBOT1RFU19NRVJHRV9SRUYiKTsKKwkJZGllKF8oImZhaWxlZCB0byByZXNvbHZlIE5PVEVTX01FUkdFX1JFRiIpKTsKIAogCWlmIChub3Rlc19tZXJnZV9jb21taXQobywgdCwgcGFydGlhbCwgc2hhMSkpCi0JCWRpZSgiRmFpbGVkIHRvIGZpbmFsaXplIG5vdGVzIG1lcmdlIik7CisJCWRpZShfKCJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiKSk7CiAKIAkvKiBSZXVzZSBleGlzdGluZyBjb21taXQgbWVzc2FnZSBpbiByZWZsb2cgbWVzc2FnZSAqLwogCW1lbXNldCgmcHJldHR5X2N0eCwgMCwgc2l6ZW9mKHByZXR0eV9jdHgpKTsKQEAgLTc0OSw3ICs3NTIsNyBAQAogCWlmIChnaXRfY29uZmlnX2dldF9zdHJpbmcoa2V5LCAmdmFsdWUpKQogCQlyZXR1cm4gMTsKIAlpZiAocGFyc2Vfbm90ZXNfbWVyZ2Vfc3RyYXRlZ3kodmFsdWUsIHN0cmF0ZWd5KSkKLQkJZ2l0X2RpZV9jb25maWcoa2V5LCAidW5rbm93biBub3RlcyBtZXJnZSBzdHJhdGVneSAlcyIsIHZhbHVlKTsKKwkJZ2l0X2RpZV9jb25maWcoa2V5LCBfKCJ1bmtub3duIG5vdGVzIG1lcmdlIHN0cmF0ZWd5ICVzIiksIHZhbHVlKTsKIAogCWZyZWUodmFsdWUpOwogCXJldHVybiAwOwpAQCAtNzg4LDE1ICs3OTEsMTUgQEAKIAlpZiAoc3RyYXRlZ3kgfHwgZG9fY29tbWl0ICsgZG9fYWJvcnQgPT0gMCkKIAkJZG9fbWVyZ2UgPSAxOwogCWlmIChkb19tZXJnZSArIGRvX2NvbW1pdCArIGRvX2Fib3J0ICE9IDEpIHsKLQkJZXJyb3IoImNhbm5vdCBtaXggLS1jb21taXQsIC0tYWJvcnQgb3IgLXMvLS1zdHJhdGVneSIpOworCQllcnJvcihfKCJjYW5ub3QgbWl4IC0tY29tbWl0LCAtLWFib3J0IG9yIC1zLy0tc3RyYXRlZ3kiKSk7CiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhnaXRfbm90ZXNfbWVyZ2VfdXNhZ2UsIG9wdGlvbnMpOwogCX0KIAogCWlmIChkb19tZXJnZSAmJiBhcmdjICE9IDEpIHsKLQkJZXJyb3IoIk11c3Qgc3BlY2lmeSBhIG5vdGVzIHJlZiB0byBtZXJnZSIpOworCQllcnJvcihfKCJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiKSk7CiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhnaXRfbm90ZXNfbWVyZ2VfdXNhZ2UsIG9wdGlvbnMpOwogCX0gZWxzZSBpZiAoIWRvX21lcmdlICYmIGFyZ2MpIHsKLQkJZXJyb3IoInRvbyBtYW55IHBhcmFtZXRlcnMiKTsKKwkJZXJyb3IoXygidG9vIG1hbnkgcGFyYW1ldGVycyIpKTsKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKGdpdF9ub3Rlc19tZXJnZV91c2FnZSwgb3B0aW9ucyk7CiAJfQogCkBAIC04MTcsNyArODIwLDcgQEAKIAogCWlmIChzdHJhdGVneSkgewogCQlpZiAocGFyc2Vfbm90ZXNfbWVyZ2Vfc3RyYXRlZ3koc3RyYXRlZ3ksICZvLnN0cmF0ZWd5KSkgewotCQkJZXJyb3IoIlVua25vd24gLXMvLS1zdHJhdGVneTogJXMiLCBzdHJhdGVneSk7CisJCQllcnJvcihfKCJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIiksIHN0cmF0ZWd5KTsKIAkJCXVzYWdlX3dpdGhfb3B0aW9ucyhnaXRfbm90ZXNfbWVyZ2VfdXNhZ2UsIG9wdGlvbnMpOwogCQl9CiAJfSBlbHNlIHsKQEAgLTg1NCwxNCArODU3LDE0IEBACiAJCS8qIFN0b3JlIHJlZi10by1iZS11cGRhdGVkIGludG8gLmdpdC9OT1RFU19NRVJHRV9SRUYgKi8KIAkJd3QgPSBmaW5kX3NoYXJlZF9zeW1yZWYoIk5PVEVTX01FUkdFX1JFRiIsIGRlZmF1bHRfbm90ZXNfcmVmKCkpOwogCQlpZiAod3QpCi0JCQlkaWUoXygiQSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiKSwKKwkJCWRpZShfKCJhIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIpLAogCQkJICAgIGRlZmF1bHRfbm90ZXNfcmVmKCksIHd0LT5wYXRoKTsKIAkJaWYgKGNyZWF0ZV9zeW1yZWYoIk5PVEVTX01FUkdFX1JFRiIsIGRlZmF1bHRfbm90ZXNfcmVmKCksIE5VTEwpKQotCQkJZGllKCJGYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIiwKKwkJCWRpZShfKCJmYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIiksCiAJCQkgICAgZGVmYXVsdF9ub3Rlc19yZWYoKSk7Ci0JCXByaW50ZigiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZC4gRml4IGNvbmZsaWN0cyBpbiAlcyBhbmQgIgotCQkgICAgICAgImNvbW1pdCB0aGUgcmVzdWx0IHdpdGggJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcsIG9yICIKLQkJICAgICAgICJhYm9ydCB0aGUgbWVyZ2Ugd2l0aCAnZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQnLlxuIiwKKwkJcHJpbnRmKF8oIkF1dG9tYXRpYyBub3RlcyBtZXJnZSBmYWlsZWQuIEZpeCBjb25mbGljdHMgaW4gJXMgYW5kICIKKwkJCSAiY29tbWl0IHRoZSByZXN1bHQgd2l0aCAnZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0Jywgb3IgIgorCQkJICJhYm9ydCB0aGUgbWVyZ2Ugd2l0aCAnZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQnLlxuIiksCiAJCSAgICAgICBnaXRfcGF0aChOT1RFU19NRVJHRV9XT1JLVFJFRSkpOwogCX0KIApAQCAtOTM0LDggKzkzNyw4IEBACiAJc3RydWN0IG5vdGVzX3RyZWUgKnQ7CiAJaW50IHNob3dfb25seSA9IDAsIHZlcmJvc2UgPSAwOwogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewotCQlPUFRfX0RSWV9SVU4oJnNob3dfb25seSwgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIpLAotCQlPUFRfX1ZFUkJPU0UoJnZlcmJvc2UsICJyZXBvcnQgcHJ1bmVkIG5vdGVzIiksCisJCU9QVF9fRFJZX1JVTigmc2hvd19vbmx5LCBOXygiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IikpLAorCQlPUFRfX1ZFUkJPU0UoJnZlcmJvc2UsIE5fKCJyZXBvcnQgcHJ1bmVkIG5vdGVzIikpLAogCQlPUFRfRU5EKCkKIAl9OwogCkBAIC05NjQsNyArOTY3LDcgQEAKIAkJCSAgICAgZ2l0X25vdGVzX2dldF9yZWZfdXNhZ2UsIDApOwogCiAJaWYgKGFyZ2MpIHsKLQkJZXJyb3IoInRvbyBtYW55IHBhcmFtZXRlcnMiKTsKKwkJZXJyb3IoXygidG9vIG1hbnkgcGFyYW1ldGVycyIpKTsKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKGdpdF9ub3Rlc19nZXRfcmVmX3VzYWdlLCBvcHRpb25zKTsKIAl9CiAKQEAgLTEwMTMsNyArMTAxNiw3IEBACiAJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzBdLCAiZ2V0LXJlZiIpKQogCQlyZXN1bHQgPSBnZXRfcmVmKGFyZ2MsIGFyZ3YsIHByZWZpeCk7CiAJZWxzZSB7Ci0JCXJlc3VsdCA9IGVycm9yKF8oIlVua25vd24gc3ViY29tbWFuZDogJXMiKSwgYXJndlswXSk7CisJCXJlc3VsdCA9IGVycm9yKF8oInVua25vd24gc3ViY29tbWFuZDogJXMiKSwgYXJndlswXSk7CiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhnaXRfbm90ZXNfdXNhZ2UsIG9wdGlvbnMpOwogCX0KIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9wYWNrLW9iamVjdHMuYyBiL2J1aWx0aW4vcGFjay1vYmplY3RzLmMKaW5kZXggOGY1ZTM1OC4uMGZkNTJiZCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9wYWNrLW9iamVjdHMuYworKysgYi9idWlsdGluL3BhY2stb2JqZWN0cy5jCkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVkZSAicmVhY2hhYmxlLmgiCiAjaW5jbHVkZSAic2hhMS1hcnJheS5oIgogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKKyNpbmNsdWRlICJtcnUuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgKnBhY2tfdXNhZ2VbXSA9IHsKIAlOXygiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPG9wdGlvbnM+Li4uXSBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIpLApAQCAtNDQsNyArNDUsOSBAQAogc3RhdGljIGludCByZXVzZV9kZWx0YSA9IDEsIHJldXNlX29iamVjdCA9IDE7CiBzdGF0aWMgaW50IGtlZXBfdW5yZWFjaGFibGUsIHVucGFja191bnJlYWNoYWJsZSwgaW5jbHVkZV90YWc7CiBzdGF0aWMgdW5zaWduZWQgbG9uZyB1bnBhY2tfdW5yZWFjaGFibGVfZXhwaXJhdGlvbjsKK3N0YXRpYyBpbnQgcGFja19sb29zZV91bnJlYWNoYWJsZTsKIHN0YXRpYyBpbnQgbG9jYWw7CitzdGF0aWMgaW50IGhhdmVfbm9uX2xvY2FsX3BhY2tzOwogc3RhdGljIGludCBpbmNyZW1lbnRhbDsKIHN0YXRpYyBpbnQgaWdub3JlX3BhY2tlZF9rZWVwOwogc3RhdGljIGludCBhbGxvd19vZnNfZGVsdGE7CkBAIC02NSw3ICs2OCw4IEBACiBzdGF0aWMgdWludDMyX3QgcmV1c2VfcGFja2ZpbGVfb2JqZWN0czsKIHN0YXRpYyBvZmZfdCByZXVzZV9wYWNrZmlsZV9vZmZzZXQ7CiAKLXN0YXRpYyBpbnQgdXNlX2JpdG1hcF9pbmRleCA9IDE7CitzdGF0aWMgaW50IHVzZV9iaXRtYXBfaW5kZXhfZGVmYXVsdCA9IDE7CitzdGF0aWMgaW50IHVzZV9iaXRtYXBfaW5kZXggPSAtMTsKIHN0YXRpYyBpbnQgd3JpdGVfYml0bWFwX2luZGV4Owogc3RhdGljIHVpbnQxNl90IHdyaXRlX2JpdG1hcF9vcHRpb25zOwogCkBAIC0zNDEsMTUgKzM0NSwxNSBAQAogfQogCiAvKiBSZXR1cm4gMCBpZiB3ZSB3aWxsIGJ1c3QgdGhlIHBhY2stc2l6ZSBsaW1pdCAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgd3JpdGVfcmV1c2Vfb2JqZWN0KHN0cnVjdCBzaGExZmlsZSAqZiwgc3RydWN0IG9iamVjdF9lbnRyeSAqZW50cnksCi0JCQkJCXVuc2lnbmVkIGxvbmcgbGltaXQsIGludCB1c2FibGVfZGVsdGEpCitzdGF0aWMgb2ZmX3Qgd3JpdGVfcmV1c2Vfb2JqZWN0KHN0cnVjdCBzaGExZmlsZSAqZiwgc3RydWN0IG9iamVjdF9lbnRyeSAqZW50cnksCisJCQkJdW5zaWduZWQgbG9uZyBsaW1pdCwgaW50IHVzYWJsZV9kZWx0YSkKIHsKIAlzdHJ1Y3QgcGFja2VkX2dpdCAqcCA9IGVudHJ5LT5pbl9wYWNrOwogCXN0cnVjdCBwYWNrX3dpbmRvdyAqd19jdXJzID0gTlVMTDsKIAlzdHJ1Y3QgcmV2aW5kZXhfZW50cnkgKnJldmlkeDsKIAlvZmZfdCBvZmZzZXQ7CiAJZW51bSBvYmplY3RfdHlwZSB0eXBlID0gZW50cnktPnR5cGU7Ci0JdW5zaWduZWQgbG9uZyBkYXRhbGVuOworCW9mZl90IGRhdGFsZW47CiAJdW5zaWduZWQgY2hhciBoZWFkZXJbMTBdLCBkaGVhZGVyWzEwXTsKIAl1bnNpZ25lZCBoZHJsZW47CiAKQEAgLTQxNSwxMSArNDE5LDEyIEBACiB9CiAKIC8qIFJldHVybiAwIGlmIHdlIHdpbGwgYnVzdCB0aGUgcGFjay1zaXplIGxpbWl0ICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyB3cml0ZV9vYmplY3Qoc3RydWN0IHNoYTFmaWxlICpmLAotCQkJCSAgc3RydWN0IG9iamVjdF9lbnRyeSAqZW50cnksCi0JCQkJICBvZmZfdCB3cml0ZV9vZmZzZXQpCitzdGF0aWMgb2ZmX3Qgd3JpdGVfb2JqZWN0KHN0cnVjdCBzaGExZmlsZSAqZiwKKwkJCSAgc3RydWN0IG9iamVjdF9lbnRyeSAqZW50cnksCisJCQkgIG9mZl90IHdyaXRlX29mZnNldCkKIHsKLQl1bnNpZ25lZCBsb25nIGxpbWl0LCBsZW47CisJdW5zaWduZWQgbG9uZyBsaW1pdDsKKwlvZmZfdCBsZW47CiAJaW50IHVzYWJsZV9kZWx0YSwgdG9fcmV1c2U7CiAKIAlpZiAoIXBhY2tfdG9fc3Rkb3V0KQpAQCAtNDkxLDcgKzQ5Niw3IEBACiAJCQkJICAgICAgIHN0cnVjdCBvYmplY3RfZW50cnkgKmUsCiAJCQkJICAgICAgIG9mZl90ICpvZmZzZXQpCiB7Ci0JdW5zaWduZWQgbG9uZyBzaXplOworCW9mZl90IHNpemU7CiAJaW50IHJlY3Vyc2luZzsKIAogCS8qCkBAIC03MTUsNyArNzIwLDcgQEAKIAlpZiAoIWlzX3BhY2tfdmFsaWQocmV1c2VfcGFja2ZpbGUpKQogCQlkaWUoInBhY2tmaWxlIGlzIGludmFsaWQ6ICVzIiwgcmV1c2VfcGFja2ZpbGUtPnBhY2tfbmFtZSk7CiAKLQlmZCA9IGdpdF9vcGVuX25vYXRpbWUocmV1c2VfcGFja2ZpbGUtPnBhY2tfbmFtZSk7CisJZmQgPSBnaXRfb3BlbihyZXVzZV9wYWNrZmlsZS0+cGFja19uYW1lKTsKIAlpZiAoZmQgPCAwKQogCQlkaWVfZXJybm8oInVuYWJsZSB0byBvcGVuIHBhY2tmaWxlIGZvciByZXVzZTogJXMiLAogCQkJICByZXVzZV9wYWNrZmlsZS0+cGFja19uYW1lKTsKQEAgLTk0MiwyOSArOTQ3LDgwIEBACiAJcmV0dXJuIDE7CiB9CiAKK3N0YXRpYyBpbnQgd2FudF9mb3VuZF9vYmplY3QoaW50IGV4Y2x1ZGUsIHN0cnVjdCBwYWNrZWRfZ2l0ICpwKQoreworCWlmIChleGNsdWRlKQorCQlyZXR1cm4gMTsKKwlpZiAoaW5jcmVtZW50YWwpCisJCXJldHVybiAwOworCisJLyoKKwkgKiBXaGVuIGFza2VkIHRvIGRvIC0tbG9jYWwgKGRvIG5vdCBpbmNsdWRlIGFuIG9iamVjdCB0aGF0IGFwcGVhcnMgaW4gYQorCSAqIHBhY2sgd2UgYm9ycm93IGZyb20gZWxzZXdoZXJlKSBvciAtLWhvbm9yLXBhY2sta2VlcCAoZG8gbm90IGluY2x1ZGUKKwkgKiBhbiBvYmplY3QgdGhhdCBhcHBlYXJzIGluIGEgcGFjayBtYXJrZWQgd2l0aCAua2VlcCksIGZpbmRpbmcgYSBwYWNrCisJICogdGhhdCBtYXRjaGVzIHRoZSBjcml0ZXJpYSBpcyBzdWZmaWNpZW50IGZvciB1cyB0byBkZWNpZGUgdG8gb21pdCBpdC4KKwkgKiBIb3dldmVyLCBldmVuIGlmIHRoaXMgcGFjayBkb2VzIG5vdCBzYXRpc2Z5IHRoZSBjcml0ZXJpYSwgd2UgbmVlZCB0bworCSAqIG1ha2Ugc3VyZSBubyBjb3B5IG9mIHRoaXMgb2JqZWN0IGFwcGVhcnMgaW4gX2FueV8gcGFjayB0aGF0IG1ha2VzIHVzCisJICogdG8gb21pdCB0aGUgb2JqZWN0LCBzbyB3ZSBuZWVkIHRvIGNoZWNrIGFsbCB0aGUgcGFja3MuCisJICoKKwkgKiBXZSBjYW4gaG93ZXZlciBmaXJzdCBjaGVjayB3aGV0aGVyIHRoZXNlIG9wdGlvbnMgY2FuIHBvc3NpYmxlIG1hdHRlcjsKKwkgKiBpZiB0aGV5IGRvIG5vdCBtYXR0ZXIgd2Uga25vdyB3ZSB3YW50IHRoZSBvYmplY3QgaW4gZ2VuZXJhdGVkIHBhY2suCisJICogT3RoZXJ3aXNlLCB3ZSBzaWduYWwgIi0xIiBhdCB0aGUgZW5kIHRvIHRlbGwgdGhlIGNhbGxlciB0aGF0IHdlIGRvCisJICogbm90IGtub3cgZWl0aGVyIHdheSwgYW5kIGl0IG5lZWRzIHRvIGNoZWNrIG1vcmUgcGFja3MuCisJICovCisJaWYgKCFpZ25vcmVfcGFja2VkX2tlZXAgJiYKKwkgICAgKCFsb2NhbCB8fCAhaGF2ZV9ub25fbG9jYWxfcGFja3MpKQorCQlyZXR1cm4gMTsKKworCWlmIChsb2NhbCAmJiAhcC0+cGFja19sb2NhbCkKKwkJcmV0dXJuIDA7CisJaWYgKGlnbm9yZV9wYWNrZWRfa2VlcCAmJiBwLT5wYWNrX2xvY2FsICYmIHAtPnBhY2tfa2VlcCkKKwkJcmV0dXJuIDA7CisKKwkvKiB3ZSBkb24ndCBrbm93IHlldDsga2VlcCBsb29raW5nIGZvciBtb3JlIHBhY2tzICovCisJcmV0dXJuIC0xOworfQorCiAvKgogICogQ2hlY2sgd2hldGhlciB3ZSB3YW50IHRoZSBvYmplY3QgaW4gdGhlIHBhY2sgKGUuZy4sIHdlIGRvIG5vdCB3YW50CiAgKiBvYmplY3RzIGZvdW5kIGluIG5vbi1sb2NhbCBzdG9yZXMgaWYgdGhlICItLWxvY2FsIiBvcHRpb24gd2FzIHVzZWQpLgogICoKLSAqIEFzIGEgc2lkZSBlZmZlY3Qgb2YgdGhpcyBjaGVjaywgd2Ugd2lsbCBmaW5kIHRoZSBwYWNrZWQgdmVyc2lvbiBvZiB0aGlzCi0gKiBvYmplY3QsIGlmIGFueS4gV2UgdGhlcmVmb3JlIHBhc3Mgb3V0IHRoZSBwYWNrIGluZm9ybWF0aW9uIHRvIGF2b2lkIGhhdmluZwotICogdG8gbG9vayBpdCB1cCBhZ2FpbiBsYXRlci4KKyAqIElmIHRoZSBjYWxsZXIgYWxyZWFkeSBrbm93cyBhbiBleGlzdGluZyBwYWNrIGl0IHdhbnRzIHRvIHRha2UgdGhlIG9iamVjdAorICogZnJvbSwgdGhhdCBpcyBwYXNzZWQgaW4gKmZvdW5kX3BhY2sgYW5kICpmb3VuZF9vZmZzZXQ7IG90aGVyd2lzZSB0aGlzCisgKiBmdW5jdGlvbiBmaW5kcyBpZiB0aGVyZSBpcyBhbnkgcGFjayB0aGF0IGhhcyB0aGUgb2JqZWN0IGFuZCByZXR1cm5zIHRoZSBwYWNrCisgKiBhbmQgaXRzIG9mZnNldCBpbiB0aGVzZSB2YXJpYWJsZXMuCiAgKi8KIHN0YXRpYyBpbnQgd2FudF9vYmplY3RfaW5fcGFjayhjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAogCQkJICAgICAgIGludCBleGNsdWRlLAogCQkJICAgICAgIHN0cnVjdCBwYWNrZWRfZ2l0ICoqZm91bmRfcGFjaywKIAkJCSAgICAgICBvZmZfdCAqZm91bmRfb2Zmc2V0KQogewotCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOworCXN0cnVjdCBtcnVfZW50cnkgKmVudHJ5OworCWludCB3YW50OwogCiAJaWYgKCFleGNsdWRlICYmIGxvY2FsICYmIGhhc19sb29zZV9vYmplY3Rfbm9ubG9jYWwoc2hhMSkpCiAJCXJldHVybiAwOwogCi0JKmZvdW5kX3BhY2sgPSBOVUxMOwotCSpmb3VuZF9vZmZzZXQgPSAwOworCS8qCisJICogSWYgd2UgYWxyZWFkeSBrbm93IHRoZSBwYWNrIG9iamVjdCBsaXZlcyBpbiwgc3RhcnQgY2hlY2tzIGZyb20gdGhhdAorCSAqIHBhY2sgLSBpbiB0aGUgdXN1YWwgY2FzZSB3aGVuIG5laXRoZXIgLS1sb2NhbCB3YXMgZ2l2ZW4gbm9yIC5rZWVwIGZpbGVzCisJICogYXJlIHByZXNlbnQgd2Ugd2lsbCBkZXRlcm1pbmUgdGhlIGFuc3dlciByaWdodCBub3cuCisJICovCisJaWYgKCpmb3VuZF9wYWNrKSB7CisJCXdhbnQgPSB3YW50X2ZvdW5kX29iamVjdChleGNsdWRlLCAqZm91bmRfcGFjayk7CisJCWlmICh3YW50ICE9IC0xKQorCQkJcmV0dXJuIHdhbnQ7CisJfQogCi0JZm9yIChwID0gcGFja2VkX2dpdDsgcDsgcCA9IHAtPm5leHQpIHsKLQkJb2ZmX3Qgb2Zmc2V0ID0gZmluZF9wYWNrX2VudHJ5X29uZShzaGExLCBwKTsKKwlmb3IgKGVudHJ5ID0gcGFja2VkX2dpdF9tcnUtPmhlYWQ7IGVudHJ5OyBlbnRyeSA9IGVudHJ5LT5uZXh0KSB7CisJCXN0cnVjdCBwYWNrZWRfZ2l0ICpwID0gZW50cnktPml0ZW07CisJCW9mZl90IG9mZnNldDsKKworCQlpZiAocCA9PSAqZm91bmRfcGFjaykKKwkJCW9mZnNldCA9ICpmb3VuZF9vZmZzZXQ7CisJCWVsc2UKKwkJCW9mZnNldCA9IGZpbmRfcGFja19lbnRyeV9vbmUoc2hhMSwgcCk7CisKIAkJaWYgKG9mZnNldCkgewogCQkJaWYgKCEqZm91bmRfcGFjaykgewogCQkJCWlmICghaXNfcGFja192YWxpZChwKSkKQEAgLTk3MiwxNCArMTAyOCwxMSBAQAogCQkJCSpmb3VuZF9vZmZzZXQgPSBvZmZzZXQ7CiAJCQkJKmZvdW5kX3BhY2sgPSBwOwogCQkJfQotCQkJaWYgKGV4Y2x1ZGUpCi0JCQkJcmV0dXJuIDE7Ci0JCQlpZiAoaW5jcmVtZW50YWwpCi0JCQkJcmV0dXJuIDA7Ci0JCQlpZiAobG9jYWwgJiYgIXAtPnBhY2tfbG9jYWwpCi0JCQkJcmV0dXJuIDA7Ci0JCQlpZiAoaWdub3JlX3BhY2tlZF9rZWVwICYmIHAtPnBhY2tfbG9jYWwgJiYgcC0+cGFja19rZWVwKQotCQkJCXJldHVybiAwOworCQkJd2FudCA9IHdhbnRfZm91bmRfb2JqZWN0KGV4Y2x1ZGUsIHApOworCQkJaWYgKCFleGNsdWRlICYmIHdhbnQgPiAwKQorCQkJCW1ydV9tYXJrKHBhY2tlZF9naXRfbXJ1LCBlbnRyeSk7CisJCQlpZiAod2FudCAhPSAtMSkKKwkJCQlyZXR1cm4gd2FudDsKIAkJfQogCX0KIApAQCAtMTAyMCw4ICsxMDczLDggQEAKIHN0YXRpYyBpbnQgYWRkX29iamVjdF9lbnRyeShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBlbnVtIG9iamVjdF90eXBlIHR5cGUsCiAJCQkgICAgY29uc3QgY2hhciAqbmFtZSwgaW50IGV4Y2x1ZGUpCiB7Ci0Jc3RydWN0IHBhY2tlZF9naXQgKmZvdW5kX3BhY2s7Ci0Jb2ZmX3QgZm91bmRfb2Zmc2V0OworCXN0cnVjdCBwYWNrZWRfZ2l0ICpmb3VuZF9wYWNrID0gTlVMTDsKKwlvZmZfdCBmb3VuZF9vZmZzZXQgPSAwOwogCXVpbnQzMl90IGluZGV4X3BvczsKIAogCWlmIChoYXZlX2R1cGxpY2F0ZV9lbnRyeShzaGExLCBleGNsdWRlLCAmaW5kZXhfcG9zKSkKQEAgLTEwNTQsNiArMTEwNyw5IEBACiAJaWYgKGhhdmVfZHVwbGljYXRlX2VudHJ5KHNoYTEsIDAsICZpbmRleF9wb3MpKQogCQlyZXR1cm4gMDsKIAorCWlmICghd2FudF9vYmplY3RfaW5fcGFjayhzaGExLCAwLCAmcGFjaywgJm9mZnNldCkpCisJCXJldHVybiAwOworCiAJY3JlYXRlX29iamVjdF9lbnRyeShzaGExLCB0eXBlLCBuYW1lX2hhc2gsIDAsIDAsIGluZGV4X3BvcywgcGFjaywgb2Zmc2V0KTsKIAogCWRpc3BsYXlfcHJvZ3Jlc3MocHJvZ3Jlc3Nfc3RhdGUsIG5yX3Jlc3VsdCk7CkBAIC0xNDc1LDYgKzE1MzEsODMgQEAKIAkJCShhLT5pbl9wYWNrX29mZnNldCA+IGItPmluX3BhY2tfb2Zmc2V0KTsKIH0KIAorLyoKKyAqIERyb3AgYW4gb24tZGlzayBkZWx0YSB3ZSB3ZXJlIHBsYW5uaW5nIHRvIHJldXNlLiBOYWl2ZWx5LCB0aGlzIHdvdWxkCisgKiBqdXN0IGludm9sdmUgYmxhbmtpbmcgb3V0IHRoZSAiZGVsdGEiIGZpZWxkLCBidXQgd2UgaGF2ZSB0byBkZWFsCisgKiB3aXRoIHNvbWUgZXh0cmEgYm9vay1rZWVwaW5nOgorICoKKyAqICAgMS4gUmVtb3Zpbmcgb3Vyc2VsdmVzIGZyb20gdGhlIGRlbHRhX3NpYmxpbmcgbGlua2VkIGxpc3QuCisgKgorICogICAyLiBVcGRhdGluZyBvdXIgc2l6ZS90eXBlIHRvIHRoZSBub24tZGVsdGEgcmVwcmVzZW50YXRpb24uIFRoZXNlIHdlcmUKKyAqICAgICAgZWl0aGVyIG5vdCByZWNvcmRlZCBpbml0aWFsbHkgKHNpemUpIG9yIG92ZXJ3cml0dGVuIHdpdGggdGhlIGRlbHRhIHR5cGUKKyAqICAgICAgKHR5cGUpIHdoZW4gY2hlY2tfb2JqZWN0KCkgZGVjaWRlZCB0byByZXVzZSB0aGUgZGVsdGEuCisgKi8KK3N0YXRpYyB2b2lkIGRyb3BfcmV1c2VkX2RlbHRhKHN0cnVjdCBvYmplY3RfZW50cnkgKmVudHJ5KQoreworCXN0cnVjdCBvYmplY3RfZW50cnkgKipwID0gJmVudHJ5LT5kZWx0YS0+ZGVsdGFfY2hpbGQ7CisJc3RydWN0IG9iamVjdF9pbmZvIG9pID0gT0JKRUNUX0lORk9fSU5JVDsKKworCXdoaWxlICgqcCkgeworCQlpZiAoKnAgPT0gZW50cnkpCisJCQkqcCA9ICgqcCktPmRlbHRhX3NpYmxpbmc7CisJCWVsc2UKKwkJCXAgPSAmKCpwKS0+ZGVsdGFfc2libGluZzsKKwl9CisJZW50cnktPmRlbHRhID0gTlVMTDsKKworCW9pLnNpemVwID0gJmVudHJ5LT5zaXplOworCW9pLnR5cGVwID0gJmVudHJ5LT50eXBlOworCWlmIChwYWNrZWRfb2JqZWN0X2luZm8oZW50cnktPmluX3BhY2ssIGVudHJ5LT5pbl9wYWNrX29mZnNldCwgJm9pKSA8IDApIHsKKwkJLyoKKwkJICogV2UgZmFpbGVkIHRvIGdldCB0aGUgaW5mbyBmcm9tIHRoaXMgcGFjayBmb3Igc29tZSByZWFzb247CisJCSAqIGZhbGwgYmFjayB0byBzaGExX29iamVjdF9pbmZvLCB3aGljaCBtYXkgZmluZCBhbm90aGVyIGNvcHkuCisJCSAqIEFuZCBpZiB0aGF0IGZhaWxzLCB0aGUgZXJyb3Igd2lsbCBiZSByZWNvcmRlZCBpbiBlbnRyeS0+dHlwZQorCQkgKiBhbmQgZGVhbHQgd2l0aCBpbiBwcmVwYXJlX3BhY2soKS4KKwkJICovCisJCWVudHJ5LT50eXBlID0gc2hhMV9vYmplY3RfaW5mbyhlbnRyeS0+aWR4LnNoYTEsICZlbnRyeS0+c2l6ZSk7CisJfQorfQorCisvKgorICogRm9sbG93IHRoZSBjaGFpbiBvZiBkZWx0YXMgZnJvbSB0aGlzIGVudHJ5IG9ud2FyZCwgdGhyb3dpbmcgYXdheSBhbnkgbGlua3MKKyAqIHRoYXQgY2F1c2UgdXMgdG8gaGl0IGEgY3ljbGUgKGFzIGRldGVybWluZWQgYnkgdGhlIERGUyBzdGF0ZSBmbGFncyBpbgorICogdGhlIGVudHJpZXMpLgorICovCitzdGF0aWMgdm9pZCBicmVha19kZWx0YV9jaGFpbnMoc3RydWN0IG9iamVjdF9lbnRyeSAqZW50cnkpCit7CisJLyogSWYgaXQncyBub3QgYSBkZWx0YSwgaXQgY2FuJ3QgYmUgcGFydCBvZiBhIGN5Y2xlLiAqLworCWlmICghZW50cnktPmRlbHRhKSB7CisJCWVudHJ5LT5kZnNfc3RhdGUgPSBERlNfRE9ORTsKKwkJcmV0dXJuOworCX0KKworCXN3aXRjaCAoZW50cnktPmRmc19zdGF0ZSkgeworCWNhc2UgREZTX05PTkU6CisJCS8qCisJCSAqIFRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgd2UndmUgc2VlbiB0aGUgb2JqZWN0LiBXZSBtYXJrIGl0IGFzCisJCSAqIHBhcnQgb2YgdGhlIGFjdGl2ZSBwb3RlbnRpYWwgY3ljbGUgYW5kIHJlY3Vyc2UuCisJCSAqLworCQllbnRyeS0+ZGZzX3N0YXRlID0gREZTX0FDVElWRTsKKwkJYnJlYWtfZGVsdGFfY2hhaW5zKGVudHJ5LT5kZWx0YSk7CisJCWVudHJ5LT5kZnNfc3RhdGUgPSBERlNfRE9ORTsKKwkJYnJlYWs7CisKKwljYXNlIERGU19ET05FOgorCQkvKiBvYmplY3QgYWxyZWFkeSBleGFtaW5lZCwgYW5kIG5vdCBwYXJ0IG9mIGEgY3ljbGUgKi8KKwkJYnJlYWs7CisKKwljYXNlIERGU19BQ1RJVkU6CisJCS8qCisJCSAqIFdlIGZvdW5kIGEgY3ljbGUgdGhhdCBuZWVkcyBicm9rZW4uIEl0IHdvdWxkIGJlIGNvcnJlY3QgdG8KKwkJICogYnJlYWsgYW55IGxpbmsgaW4gdGhlIGNoYWluLCBidXQgaXQncyBjb252ZW5pZW50IHRvCisJCSAqIGJyZWFrIHRoaXMgb25lLgorCQkgKi8KKwkJZHJvcF9yZXVzZWRfZGVsdGEoZW50cnkpOworCQllbnRyeS0+ZGZzX3N0YXRlID0gREZTX0RPTkU7CisJCWJyZWFrOworCX0KK30KKwogc3RhdGljIHZvaWQgZ2V0X29iamVjdF9kZXRhaWxzKHZvaWQpCiB7CiAJdWludDMyX3QgaTsKQEAgLTE0ODMsNyArMTYxNiw3IEBACiAJc29ydGVkX2J5X29mZnNldCA9IHhjYWxsb2ModG9fcGFjay5ucl9vYmplY3RzLCBzaXplb2Yoc3RydWN0IG9iamVjdF9lbnRyeSAqKSk7CiAJZm9yIChpID0gMDsgaSA8IHRvX3BhY2subnJfb2JqZWN0czsgaSsrKQogCQlzb3J0ZWRfYnlfb2Zmc2V0W2ldID0gdG9fcGFjay5vYmplY3RzICsgaTsKLQlxc29ydChzb3J0ZWRfYnlfb2Zmc2V0LCB0b19wYWNrLm5yX29iamVjdHMsIHNpemVvZigqc29ydGVkX2J5X29mZnNldCksIHBhY2tfb2Zmc2V0X3NvcnQpOworCVFTT1JUKHNvcnRlZF9ieV9vZmZzZXQsIHRvX3BhY2subnJfb2JqZWN0cywgcGFja19vZmZzZXRfc29ydCk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgdG9fcGFjay5ucl9vYmplY3RzOyBpKyspIHsKIAkJc3RydWN0IG9iamVjdF9lbnRyeSAqZW50cnkgPSBzb3J0ZWRfYnlfb2Zmc2V0W2ldOwpAQCAtMTQ5Miw2ICsxNjI1LDEzIEBACiAJCQllbnRyeS0+bm9fdHJ5X2RlbHRhID0gMTsKIAl9CiAKKwkvKgorCSAqIFRoaXMgbXVzdCBoYXBwZW4gaW4gYSBzZWNvbmQgcGFzcywgc2luY2Ugd2UgcmVseSBvbiB0aGUgZGVsdGEKKwkgKiBpbmZvcm1hdGlvbiBmb3IgdGhlIHdob2xlIGxpc3QgYmVpbmcgY29tcGxldGVkLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCB0b19wYWNrLm5yX29iamVjdHM7IGkrKykKKwkJYnJlYWtfZGVsdGFfY2hhaW5zKCZ0b19wYWNrLm9iamVjdHNbaV0pOworCiAJZnJlZShzb3J0ZWRfYnlfb2Zmc2V0KTsKIH0KIApAQCAtMjEwMyw2ICsyMjQzLDM1IEBACiAjZGVmaW5lIGxsX2ZpbmRfZGVsdGFzKGwsIHMsIHcsIGQsIHApCWZpbmRfZGVsdGFzKGwsICZzLCB3LCBkLCBwKQogI2VuZGlmCiAKK3N0YXRpYyB2b2lkIGFkZF90YWdfY2hhaW4oY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQoreworCXN0cnVjdCB0YWcgKnRhZzsKKworCS8qCisJICogV2UgY2F0Y2ggZHVwbGljYXRlcyBhbHJlYWR5IGluIGFkZF9vYmplY3RfZW50cnkoKSwgYnV0IHdlJ2QKKwkgKiBwcmVmZXIgdG8gZG8gdGhpcyBleHRyYSBjaGVjayB0byBhdm9pZCBoYXZpbmcgdG8gcGFyc2UgdGhlCisJICogdGFnIGF0IGFsbCBpZiB3ZSBhbHJlYWR5IGtub3cgdGhhdCBpdCdzIGJlaW5nIHBhY2tlZCAoZS5nLiwgaWYKKwkgKiBpdCB3YXMgaW5jbHVkZWQgdmlhIGJpdG1hcHMsIHdlIHdvdWxkIG5vdCBoYXZlIHBhcnNlZCBpdAorCSAqIHByZXZpb3VzbHkpLgorCSAqLworCWlmIChwYWNrbGlzdF9maW5kKCZ0b19wYWNrLCBvaWQtPmhhc2gsIE5VTEwpKQorCQlyZXR1cm47CisKKwl0YWcgPSBsb29rdXBfdGFnKG9pZC0+aGFzaCk7CisJd2hpbGUgKDEpIHsKKwkJaWYgKCF0YWcgfHwgcGFyc2VfdGFnKHRhZykgfHwgIXRhZy0+dGFnZ2VkKQorCQkJZGllKCJ1bmFibGUgdG8gcGFjayBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIHRhZyAlcyIsCisJCQkgICAgb2lkX3RvX2hleChvaWQpKTsKKworCQlhZGRfb2JqZWN0X2VudHJ5KHRhZy0+b2JqZWN0Lm9pZC5oYXNoLCBPQkpfVEFHLCBOVUxMLCAwKTsKKworCQlpZiAodGFnLT50YWdnZWQtPnR5cGUgIT0gT0JKX1RBRykKKwkJCXJldHVybjsKKworCQl0YWcgPSAoc3RydWN0IHRhZyAqKXRhZy0+dGFnZ2VkOworCX0KK30KKwogc3RhdGljIGludCBhZGRfcmVmX3RhZyhjb25zdCBjaGFyICpwYXRoLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBmbGFnLCB2b2lkICpjYl9kYXRhKQogewogCXN0cnVjdCBvYmplY3RfaWQgcGVlbGVkOwpAQCAtMjExMCw3ICsyMjc5LDcgQEAKIAlpZiAoc3RhcnRzX3dpdGgocGF0aCwgInJlZnMvdGFncy8iKSAmJiAvKiBpcyBhIHRhZz8gKi8KIAkgICAgIXBlZWxfcmVmKHBhdGgsIHBlZWxlZC5oYXNoKSAgICAmJiAvKiBwZWVsYWJsZT8gKi8KIAkgICAgcGFja2xpc3RfZmluZCgmdG9fcGFjaywgcGVlbGVkLmhhc2gsIE5VTEwpKSAgICAgIC8qIG9iamVjdCBwYWNrZWQ/ICovCi0JCWFkZF9vYmplY3RfZW50cnkob2lkLT5oYXNoLCBPQkpfVEFHLCBOVUxMLCAwKTsKKwkJYWRkX3RhZ19jaGFpbihvaWQpOwogCXJldHVybiAwOwogfQogCkBAIC0yMTc2LDcgKzIzNDUsNyBAQAogCQlpZiAocHJvZ3Jlc3MpCiAJCQlwcm9ncmVzc19zdGF0ZSA9IHN0YXJ0X3Byb2dyZXNzKF8oIkNvbXByZXNzaW5nIG9iamVjdHMiKSwKIAkJCQkJCQlucl9kZWx0YXMpOwotCQlxc29ydChkZWx0YV9saXN0LCBuLCBzaXplb2YoKmRlbHRhX2xpc3QpLCB0eXBlX3NpemVfc29ydCk7CisJCVFTT1JUKGRlbHRhX2xpc3QsIG4sIHR5cGVfc2l6ZV9zb3J0KTsKIAkJbGxfZmluZF9kZWx0YXMoZGVsdGFfbGlzdCwgbiwgd2luZG93KzEsIGRlcHRoLCAmbnJfZG9uZSk7CiAJCXN0b3BfcHJvZ3Jlc3MoJnByb2dyZXNzX3N0YXRlKTsKIAkJaWYgKG5yX2RvbmUgIT0gbnJfZGVsdGFzKQpAQCAtMjIyNCw3ICsyMzkzLDcgQEAKIAkJCXdyaXRlX2JpdG1hcF9vcHRpb25zICY9IH5CSVRNQVBfT1BUX0hBU0hfQ0FDSEU7CiAJfQogCWlmICghc3RyY21wKGssICJwYWNrLnVzZWJpdG1hcHMiKSkgewotCQl1c2VfYml0bWFwX2luZGV4ID0gZ2l0X2NvbmZpZ19ib29sKGssIHYpOworCQl1c2VfYml0bWFwX2luZGV4X2RlZmF1bHQgPSBnaXRfY29uZmlnX2Jvb2woaywgdik7CiAJCXJldHVybiAwOwogCX0KIAlpZiAoIXN0cmNtcChrLCAicGFjay50aHJlYWRzIikpIHsKQEAgLTIzNjgsOCArMjUzNyw3IEBACiAJfQogCiAJaWYgKGluX3BhY2subnIpIHsKLQkJcXNvcnQoaW5fcGFjay5hcnJheSwgaW5fcGFjay5uciwgc2l6ZW9mKGluX3BhY2suYXJyYXlbMF0pLAotCQkgICAgICBvZnNjbXApOworCQlRU09SVChpbl9wYWNrLmFycmF5LCBpbl9wYWNrLm5yLCBvZnNjbXApOwogCQlmb3IgKGkgPSAwOyBpIDwgaW5fcGFjay5ucjsgaSsrKSB7CiAJCQlzdHJ1Y3Qgb2JqZWN0ICpvID0gaW5fcGFjay5hcnJheVtpXS5vYmplY3Q7CiAJCQlhZGRfb2JqZWN0X2VudHJ5KG8tPm9pZC5oYXNoLCBvLT50eXBlLCAiIiwgMCk7CkBAIC0yMzc4LDYgKzI1NDYsMzIgQEAKIAlmcmVlKGluX3BhY2suYXJyYXkpOwogfQogCitzdGF0aWMgaW50IGFkZF9sb29zZV9vYmplY3QoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqcGF0aCwKKwkJCSAgICB2b2lkICpkYXRhKQoreworCWVudW0gb2JqZWN0X3R5cGUgdHlwZSA9IHNoYTFfb2JqZWN0X2luZm8oc2hhMSwgTlVMTCk7CisKKwlpZiAodHlwZSA8IDApIHsKKwkJd2FybmluZygibG9vc2Ugb2JqZWN0IGF0ICVzIGNvdWxkIG5vdCBiZSBleGFtaW5lZCIsIHBhdGgpOworCQlyZXR1cm4gMDsKKwl9CisKKwlhZGRfb2JqZWN0X2VudHJ5KHNoYTEsIHR5cGUsICIiLCAwKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFdlIGFjdHVhbGx5IGRvbid0IGV2ZW4gaGF2ZSB0byB3b3JyeSBhYm91dCByZWFjaGFiaWxpdHkgaGVyZS4KKyAqIGFkZF9vYmplY3RfZW50cnkgd2lsbCB3ZWVkIG91dCBkdXBsaWNhdGVzLCBzbyB3ZSBqdXN0IGFkZCBldmVyeQorICogbG9vc2Ugb2JqZWN0IHdlIGZpbmQuCisgKi8KK3N0YXRpYyB2b2lkIGFkZF91bnJlYWNoYWJsZV9sb29zZV9vYmplY3RzKHZvaWQpCit7CisJZm9yX2VhY2hfbG9vc2VfZmlsZV9pbl9vYmpkaXIoZ2V0X29iamVjdF9kaXJlY3RvcnkoKSwKKwkJCQkgICAgICBhZGRfbG9vc2Vfb2JqZWN0LAorCQkJCSAgICAgIE5VTEwsIE5VTEwsIE5VTEwpOworfQorCiBzdGF0aWMgaW50IGhhc19zaGExX3BhY2tfa2VwdF9vcl9ub25sb2NhbChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQogewogCXN0YXRpYyBzdHJ1Y3QgcGFja2VkX2dpdCAqbGFzdF9mb3VuZCA9ICh2b2lkICopMTsKQEAgLTI0NDcsMTMgKzI2NDEsMTMgQEAKIH0KIAogLyoKLSAqIFRoaXMgdHJhY2tzIGFueSBvcHRpb25zIHdoaWNoIGEgcmVhZGVyIG9mIHRoZSBwYWNrIG1pZ2h0Ci0gKiBub3QgdW5kZXJzdGFuZCwgYW5kIHdoaWNoIHdvdWxkIHRoZXJlZm9yZSBwcmV2ZW50IGJsaW5kIHJldXNlCi0gKiBvZiB3aGF0IHdlIGhhdmUgb24gZGlzay4KKyAqIFRoaXMgdHJhY2tzIGFueSBvcHRpb25zIHdoaWNoIHBhY2stcmV1c2UgY29kZSBleHBlY3RzIHRvIGJlIG9uLCBvciB3aGljaCBhCisgKiByZWFkZXIgb2YgdGhlIHBhY2sgbWlnaHQgbm90IHVuZGVyc3RhbmQsIGFuZCB3aGljaCB3b3VsZCB0aGVyZWZvcmUgcHJldmVudAorICogYmxpbmQgcmV1c2Ugb2Ygd2hhdCB3ZSBoYXZlIG9uIGRpc2suCiAgKi8KIHN0YXRpYyBpbnQgcGFja19vcHRpb25zX2FsbG93X3JldXNlKHZvaWQpCiB7Ci0JcmV0dXJuIGFsbG93X29mc19kZWx0YTsKKwlyZXR1cm4gcGFja190b19zdGRvdXQgJiYgYWxsb3dfb2ZzX2RlbHRhOwogfQogCiBzdGF0aWMgaW50IGdldF9vYmplY3RfbGlzdF9mcm9tX2JpdG1hcChzdHJ1Y3QgcmV2X2luZm8gKnJldnMpCkBAIC0yNTQ3LDYgKzI3NDEsOCBAQAogCiAJaWYgKGtlZXBfdW5yZWFjaGFibGUpCiAJCWFkZF9vYmplY3RzX2luX3VucGFja2VkX3BhY2tzKCZyZXZzKTsKKwlpZiAocGFja19sb29zZV91bnJlYWNoYWJsZSkKKwkJYWRkX3VucmVhY2hhYmxlX2xvb3NlX29iamVjdHMoKTsKIAlpZiAodW5wYWNrX3VucmVhY2hhYmxlKQogCQlsb29zZW5fdW51c2VkX3BhY2tlZF9vYmplY3RzKCZyZXZzKTsKIApAQCAtMjY0Nyw2ICsyODQzLDggQEAKIAkJCSBOXygiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIikpLAogCQlPUFRfQk9PTCgwLCAia2VlcC11bnJlYWNoYWJsZSIsICZrZWVwX3VucmVhY2hhYmxlLAogCQkJIE5fKCJrZWVwIHVucmVhY2hhYmxlIG9iamVjdHMiKSksCisJCU9QVF9CT09MKDAsICJwYWNrLWxvb3NlLXVucmVhY2hhYmxlIiwgJnBhY2tfbG9vc2VfdW5yZWFjaGFibGUsCisJCQkgTl8oInBhY2sgbG9vc2UgdW5yZWFjaGFibGUgb2JqZWN0cyIpKSwKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJ1bnBhY2stdW5yZWFjaGFibGUiLCBOVUxMLCBOXygidGltZSIpLAogCQkgIE5fKCJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIpLAogCQkgIFBBUlNFX09QVF9PUFRBUkcsIG9wdGlvbl9wYXJzZV91bnBhY2tfdW5yZWFjaGFibGUgfSwKQEAgLTI3NDIsNyArMjk0MCwyMyBAQAogCWlmICghcmV2X2xpc3RfYWxsIHx8ICFyZXZfbGlzdF9yZWZsb2cgfHwgIXJldl9saXN0X2luZGV4KQogCQl1bnBhY2tfdW5yZWFjaGFibGVfZXhwaXJhdGlvbiA9IDA7CiAKLQlpZiAoIXVzZV9pbnRlcm5hbF9yZXZfbGlzdCB8fCAhcGFja190b19zdGRvdXQgfHwgaXNfcmVwb3NpdG9yeV9zaGFsbG93KCkpCisJLyoKKwkgKiAic29mdCIgcmVhc29ucyBub3QgdG8gdXNlIGJpdG1hcHMgLSBmb3Igb24tZGlzayByZXBhY2sgYnkgZGVmYXVsdCB3ZSB3YW50CisJICoKKwkgKiAtIHRvIHByb2R1Y2UgZ29vZCBwYWNrICh3aXRoIGJpdG1hcCBpbmRleCBub3QteWV0LXBhY2tlZCBvYmplY3RzIGFyZQorCSAqICAgcGFja2VkIGluIHN1Ym9wdGltYWwgb3JkZXIpLgorCSAqCisJICogLSB0byB1c2UgbW9yZSByb2J1c3QgcGFjay1nZW5lcmF0aW9uIGNvZGVwYXRoIChhdm9pZGluZyBwb3NzaWJsZQorCSAqICAgYnVncyBpbiBiaXRtYXAgY29kZSBhbmQgcG9zc2libGUgYml0bWFwIGluZGV4IGNvcnJ1cHRpb24pLgorCSAqLworCWlmICghcGFja190b19zdGRvdXQpCisJCXVzZV9iaXRtYXBfaW5kZXhfZGVmYXVsdCA9IDA7CisKKwlpZiAodXNlX2JpdG1hcF9pbmRleCA8IDApCisJCXVzZV9iaXRtYXBfaW5kZXggPSB1c2VfYml0bWFwX2luZGV4X2RlZmF1bHQ7CisKKwkvKiAiaGFyZCIgcmVhc29ucyBub3QgdG8gdXNlIGJpdG1hcHM7IHRoZXNlIGp1c3Qgd29uJ3Qgd29yayBhdCBhbGwgKi8KKwlpZiAoIXVzZV9pbnRlcm5hbF9yZXZfbGlzdCB8fCAoIXBhY2tfdG9fc3Rkb3V0ICYmIHdyaXRlX2JpdG1hcF9pbmRleCkgfHwgaXNfcmVwb3NpdG9yeV9zaGFsbG93KCkpCiAJCXVzZV9iaXRtYXBfaW5kZXggPSAwOwogCiAJaWYgKHBhY2tfdG9fc3Rkb3V0IHx8ICFyZXZfbGlzdF9hbGwpCkBAIC0yNzUyLDYgKzI5NjYsMjggQEAKIAkJcHJvZ3Jlc3MgPSAyOwogCiAJcHJlcGFyZV9wYWNrZWRfZ2l0KCk7CisJaWYgKGlnbm9yZV9wYWNrZWRfa2VlcCkgeworCQlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKKwkJZm9yIChwID0gcGFja2VkX2dpdDsgcDsgcCA9IHAtPm5leHQpCisJCQlpZiAocC0+cGFja19sb2NhbCAmJiBwLT5wYWNrX2tlZXApCisJCQkJYnJlYWs7CisJCWlmICghcCkgLyogbm8ga2VlcC1hYmxlIHBhY2tzIGZvdW5kICovCisJCQlpZ25vcmVfcGFja2VkX2tlZXAgPSAwOworCX0KKwlpZiAobG9jYWwpIHsKKwkJLyoKKwkJICogdW5saWtlIGlnbm9yZV9wYWNrZWRfa2VlcCBhYm92ZSwgd2UgZG8gbm90IHdhbnQgdG8KKwkJICogdW5zZXQgImxvY2FsIiBiYXNlZCBvbiBsb29raW5nIGF0IHBhY2tzLCBhcyBpdAorCQkgKiBhbHNvIGNvdmVycyBub24tbG9jYWwgb2JqZWN0cworCQkgKi8KKwkJc3RydWN0IHBhY2tlZF9naXQgKnA7CisJCWZvciAocCA9IHBhY2tlZF9naXQ7IHA7IHAgPSBwLT5uZXh0KSB7CisJCQlpZiAoIXAtPnBhY2tfbG9jYWwpIHsKKwkJCQloYXZlX25vbl9sb2NhbF9wYWNrcyA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CiAKIAlpZiAocHJvZ3Jlc3MpCiAJCXByb2dyZXNzX3N0YXRlID0gc3RhcnRfcHJvZ3Jlc3MoXygiQ291bnRpbmcgb2JqZWN0cyIpLCAwKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcHVsbC5jIGIvYnVpbHRpbi9wdWxsLmMKaW5kZXggMWQ3MzMzYy4uZDZlNDZlZSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9wdWxsLmMKKysrIGIvYnVpbHRpbi9wdWxsLmMKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlICJyZXZpc2lvbi5oIgogI2luY2x1ZGUgInRlbXBmaWxlLmgiCiAjaW5jbHVkZSAibG9ja2ZpbGUuaCIKKyNpbmNsdWRlICJ3dC1zdGF0dXMuaCIKIAogZW51bSByZWJhc2VfdHlwZSB7CiAJUkVCQVNFX0lOVkFMSUQgPSAtMSwKQEAgLTMyNiw3MyArMzI3LDYgQEAKIH0KIAogLyoqCi0gKiBSZXR1cm5zIDEgaWYgdGhlcmUgYXJlIHVuc3RhZ2VkIGNoYW5nZXMsIDAgb3RoZXJ3aXNlLgotICovCi1zdGF0aWMgaW50IGhhc191bnN0YWdlZF9jaGFuZ2VzKGNvbnN0IGNoYXIgKnByZWZpeCkKLXsKLQlzdHJ1Y3QgcmV2X2luZm8gcmV2X2luZm87Ci0JaW50IHJlc3VsdDsKLQotCWluaXRfcmV2aXNpb25zKCZyZXZfaW5mbywgcHJlZml4KTsKLQlESUZGX09QVF9TRVQoJnJldl9pbmZvLmRpZmZvcHQsIElHTk9SRV9TVUJNT0RVTEVTKTsKLQlESUZGX09QVF9TRVQoJnJldl9pbmZvLmRpZmZvcHQsIFFVSUNLKTsKLQlkaWZmX3NldHVwX2RvbmUoJnJldl9pbmZvLmRpZmZvcHQpOwotCXJlc3VsdCA9IHJ1bl9kaWZmX2ZpbGVzKCZyZXZfaW5mbywgMCk7Ci0JcmV0dXJuIGRpZmZfcmVzdWx0X2NvZGUoJnJldl9pbmZvLmRpZmZvcHQsIHJlc3VsdCk7Ci19Ci0KLS8qKgotICogUmV0dXJucyAxIGlmIHRoZXJlIGFyZSB1bmNvbW1pdHRlZCBjaGFuZ2VzLCAwIG90aGVyd2lzZS4KLSAqLwotc3RhdGljIGludCBoYXNfdW5jb21taXR0ZWRfY2hhbmdlcyhjb25zdCBjaGFyICpwcmVmaXgpCi17Ci0Jc3RydWN0IHJldl9pbmZvIHJldl9pbmZvOwotCWludCByZXN1bHQ7Ci0KLQlpZiAoaXNfY2FjaGVfdW5ib3JuKCkpCi0JCXJldHVybiAwOwotCi0JaW5pdF9yZXZpc2lvbnMoJnJldl9pbmZvLCBwcmVmaXgpOwotCURJRkZfT1BUX1NFVCgmcmV2X2luZm8uZGlmZm9wdCwgSUdOT1JFX1NVQk1PRFVMRVMpOwotCURJRkZfT1BUX1NFVCgmcmV2X2luZm8uZGlmZm9wdCwgUVVJQ0spOwotCWFkZF9oZWFkX3RvX3BlbmRpbmcoJnJldl9pbmZvKTsKLQlkaWZmX3NldHVwX2RvbmUoJnJldl9pbmZvLmRpZmZvcHQpOwotCXJlc3VsdCA9IHJ1bl9kaWZmX2luZGV4KCZyZXZfaW5mbywgMSk7Ci0JcmV0dXJuIGRpZmZfcmVzdWx0X2NvZGUoJnJldl9pbmZvLmRpZmZvcHQsIHJlc3VsdCk7Ci19Ci0KLS8qKgotICogSWYgdGhlIHdvcmsgdHJlZSBoYXMgdW5zdGFnZWQgb3IgdW5jb21taXR0ZWQgY2hhbmdlcywgZGllcyB3aXRoIHRoZQotICogYXBwcm9wcmlhdGUgbWVzc2FnZS4KLSAqLwotc3RhdGljIHZvaWQgZGllX29uX3VuY2xlYW5fd29ya190cmVlKGNvbnN0IGNoYXIgKnByZWZpeCkKLXsKLQlzdHJ1Y3QgbG9ja19maWxlICpsb2NrX2ZpbGUgPSB4Y2FsbG9jKDEsIHNpemVvZigqbG9ja19maWxlKSk7Ci0JaW50IGRvX2RpZSA9IDA7Ci0KLQlob2xkX2xvY2tlZF9pbmRleChsb2NrX2ZpbGUsIDApOwotCXJlZnJlc2hfY2FjaGUoUkVGUkVTSF9RVUlFVCk7Ci0JdXBkYXRlX2luZGV4X2lmX2FibGUoJnRoZV9pbmRleCwgbG9ja19maWxlKTsKLQlyb2xsYmFja19sb2NrX2ZpbGUobG9ja19maWxlKTsKLQotCWlmIChoYXNfdW5zdGFnZWRfY2hhbmdlcyhwcmVmaXgpKSB7Ci0JCWVycm9yKF8oIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIpKTsKLQkJZG9fZGllID0gMTsKLQl9Ci0KLQlpZiAoaGFzX3VuY29tbWl0dGVkX2NoYW5nZXMocHJlZml4KSkgewotCQlpZiAoZG9fZGllKQotCQkJZXJyb3IoXygiQWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIikpOwotCQllbHNlCi0JCQllcnJvcihfKCJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIpKTsKLQkJZG9fZGllID0gMTsKLQl9Ci0KLQlpZiAoZG9fZGllKQotCQlleGl0KDEpOwotfQotCi0vKioKICAqIEFwcGVuZHMgbWVyZ2UgY2FuZGlkYXRlcyBmcm9tIEZFVENIX0hFQUQgdGhhdCBhcmUgbm90IG1hcmtlZCBub3QtZm9yLW1lcmdlCiAgKiBpbnRvIG1lcmdlX2hlYWRzLgogICovCkBAIC04MTUsNiArNzQ5LDkgQEAKIAkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCAiLS1uby1hdXRvc3Rhc2giKTsKIAllbHNlIGlmIChvcHRfYXV0b3N0YXNoID09IDEpCiAJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgIi0tYXV0b3N0YXNoIik7CisJaWYgKG9wdF92ZXJpZnlfc2lnbmF0dXJlcyAmJgorCSAgICAhc3RyY21wKG9wdF92ZXJpZnlfc2lnbmF0dXJlcywgIi0tdmVyaWZ5LXNpZ25hdHVyZXMiKSkKKwkJd2FybmluZyhfKCJpZ25vcmluZyAtLXZlcmlmeS1zaWduYXR1cmVzIGZvciByZWJhc2UiKSk7CiAKIAlhcmd2X2FycmF5X3B1c2goJmFyZ3MsICItLW9udG8iKTsKIAlhcmd2X2FycmF5X3B1c2goJmFyZ3MsIHNoYTFfdG9faGV4KG1lcmdlX2hlYWQpKTsKQEAgLTg1Miw3ICs3ODksNyBAQAogCWdpdF9jb25maWcoZ2l0X3B1bGxfY29uZmlnLCBOVUxMKTsKIAogCWlmIChyZWFkX2NhY2hlX3VubWVyZ2VkKCkpCi0JCWRpZV9yZXNvbHZlX2NvbmZsaWN0KCJQdWxsIik7CisJCWRpZV9yZXNvbHZlX2NvbmZsaWN0KCJwdWxsIik7CiAKIAlpZiAoZmlsZV9leGlzdHMoZ2l0X3BhdGgoIk1FUkdFX0hFQUQiKSkpCiAJCWRpZV9jb25jbHVkZV9tZXJnZSgpOwpAQCAtODcyLDcgKzgwOSw4IEBACiAJCQlkaWUoXygiVXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4LiIpKTsKIAogCQlpZiAoIWF1dG9zdGFzaCkKLQkJCWRpZV9vbl91bmNsZWFuX3dvcmtfdHJlZShwcmVmaXgpOworCQkJcmVxdWlyZV9jbGVhbl93b3JrX3RyZWUoTl8oInB1bGwgd2l0aCByZWJhc2UiKSwKKwkJCQlfKCJwbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIiksIDEsIDApOwogCiAJCWlmIChnZXRfcmViYXNlX2ZvcmtfcG9pbnQocmViYXNlX2ZvcmtfcG9pbnQsIHJlcG8sICpyZWZzcGVjcykpCiAJCQloYXNoY2xyKHJlYmFzZV9mb3JrX3BvaW50KTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcHVzaC5jIGIvYnVpbHRpbi9wdXNoLmMKaW5kZXggNGU5ZTRkYi4uM2JiOWQ2YiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9wdXNoLmMKKysrIGIvYnVpbHRpbi9wdXNoLmMKQEAgLTM1Myw3ICszNTMsOCBAQAogCXJldHVybiAxOwogfQogCi1zdGF0aWMgaW50IGRvX3B1c2goY29uc3QgY2hhciAqcmVwbywgaW50IGZsYWdzKQorc3RhdGljIGludCBkb19wdXNoKGNvbnN0IGNoYXIgKnJlcG8sIGludCBmbGFncywKKwkJICAgY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpwdXNoX29wdGlvbnMpCiB7CiAJaW50IGksIGVycnM7CiAJc3RydWN0IHJlbW90ZSAqcmVtb3RlID0gcHVzaHJlbW90ZV9nZXQocmVwbyk7CkBAIC0zNzYsNiArMzc3LDkgQEAKIAlpZiAocmVtb3RlLT5taXJyb3IpCiAJCWZsYWdzIHw9IChUUkFOU1BPUlRfUFVTSF9NSVJST1J8VFJBTlNQT1JUX1BVU0hfRk9SQ0UpOwogCisJaWYgKHB1c2hfb3B0aW9ucy0+bnIpCisJCWZsYWdzIHw9IFRSQU5TUE9SVF9QVVNIX09QVElPTlM7CisKIAlpZiAoKGZsYWdzICYgVFJBTlNQT1JUX1BVU0hfQUxMKSAmJiByZWZzcGVjKSB7CiAJCWlmICghc3RyY21wKCpyZWZzcGVjLCAicmVmcy90YWdzLyoiKSkKIAkJCXJldHVybiBlcnJvcihfKCItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiKSk7CkBAIC00MDYsMTMgKzQxMCwxNiBAQAogCQlmb3IgKGkgPSAwOyBpIDwgdXJsX25yOyBpKyspIHsKIAkJCXN0cnVjdCB0cmFuc3BvcnQgKnRyYW5zcG9ydCA9CiAJCQkJdHJhbnNwb3J0X2dldChyZW1vdGUsIHVybFtpXSk7CisJCQlpZiAoZmxhZ3MgJiBUUkFOU1BPUlRfUFVTSF9PUFRJT05TKQorCQkJCXRyYW5zcG9ydC0+cHVzaF9vcHRpb25zID0gcHVzaF9vcHRpb25zOwogCQkJaWYgKHB1c2hfd2l0aF9vcHRpb25zKHRyYW5zcG9ydCwgZmxhZ3MpKQogCQkJCWVycnMrKzsKIAkJfQogCX0gZWxzZSB7CiAJCXN0cnVjdCB0cmFuc3BvcnQgKnRyYW5zcG9ydCA9CiAJCQl0cmFuc3BvcnRfZ2V0KHJlbW90ZSwgTlVMTCk7Ci0KKwkJaWYgKGZsYWdzICYgVFJBTlNQT1JUX1BVU0hfT1BUSU9OUykKKwkJCXRyYW5zcG9ydC0+cHVzaF9vcHRpb25zID0gcHVzaF9vcHRpb25zOwogCQlpZiAocHVzaF93aXRoX29wdGlvbnModHJhbnNwb3J0LCBmbGFncykpCiAJCQllcnJzKys7CiAJfQpAQCAtNTAwLDYgKzUwNyw5IEBACiAJaW50IHB1c2hfY2VydCA9IC0xOwogCWludCByYzsKIAljb25zdCBjaGFyICpyZXBvID0gTlVMTDsJLyogZGVmYXVsdCByZXBvc2l0b3J5ICovCisJc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBwdXNoX29wdGlvbnMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKKwlzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CisKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKIAkJT1BUX19WRVJCT1NJVFkoJnZlcmJvc2l0eSksCiAJCU9QVF9TVFJJTkcoIDAgLCAicmVwbyIsICZyZXBvLCBOXygicmVwb3NpdG9yeSIpLCBOXygicmVwb3NpdG9yeSIpKSwKQEAgLTUzMyw2ICs1NDMsNyBAQAogCQkgIDAsICJzaWduZWQiLCAmcHVzaF9jZXJ0LCAieWVzfG5vfGlmLWFza2VkIiwgTl8oIkdQRyBzaWduIHRoZSBwdXNoIiksCiAJCSAgUEFSU0VfT1BUX09QVEFSRywgb3B0aW9uX3BhcnNlX3B1c2hfc2lnbmVkIH0sCiAJCU9QVF9CSVQoMCwgImF0b21pYyIsICZmbGFncywgTl8oInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIiksIFRSQU5TUE9SVF9QVVNIX0FUT01JQyksCisJCU9QVF9TVFJJTkdfTElTVCgnbycsICJwdXNoLW9wdGlvbiIsICZwdXNoX29wdGlvbnMsIE5fKCJzZXJ2ZXItc3BlY2lmaWMiKSwgTl8oIm9wdGlvbiB0byB0cmFuc21pdCIpKSwKIAkJT1BUX1NFVF9JTlQoJzQnLCAiaXB2NCIsICZmYW1pbHksIE5fKCJ1c2UgSVB2NCBhZGRyZXNzZXMgb25seSIpLAogCQkJCVRSQU5TUE9SVF9GQU1JTFlfSVBWNCksCiAJCU9QVF9TRVRfSU5UKCc2JywgImlwdjYiLCAmZmFtaWx5LCBOXygidXNlIElQdjYgYWRkcmVzc2VzIG9ubHkiKSwKQEAgLTU2Myw3ICs1NzQsMTEgQEAKIAkJc2V0X3JlZnNwZWNzKGFyZ3YgKyAxLCBhcmdjIC0gMSwgcmVwbyk7CiAJfQogCi0JcmMgPSBkb19wdXNoKHJlcG8sIGZsYWdzKTsKKwlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sICZwdXNoX29wdGlvbnMpCisJCWlmIChzdHJjaHIoaXRlbS0+c3RyaW5nLCAnXG4nKSkKKwkJCWRpZShfKCJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIikpOworCisJcmMgPSBkb19wdXNoKHJlcG8sIGZsYWdzLCAmcHVzaF9vcHRpb25zKTsKIAlpZiAocmMgPT0gLTEpCiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhwdXNoX3VzYWdlLCBvcHRpb25zKTsKIAllbHNlCmRpZmYgLS1naXQgYS9idWlsdGluL3JlYWQtdHJlZS5jIGIvYnVpbHRpbi9yZWFkLXRyZWUuYwppbmRleCA4YzY5M2U3Li45YmQxZmQ3IDEwMDY0NAotLS0gYS9idWlsdGluL3JlYWQtdHJlZS5jCisrKyBiL2J1aWx0aW4vcmVhZC10cmVlLmMKQEAgLTc4LDcgKzc4LDcgQEAKIAllbHNlCiAJCXByaW50ZigiJTA2byAjJWQgJXMgJS44c1xuIiwKIAkJICAgICAgIGNlLT5jZV9tb2RlLCBjZV9zdGFnZShjZSksIGNlLT5uYW1lLAotCQkgICAgICAgc2hhMV90b19oZXgoY2UtPnNoYTEpKTsKKwkJICAgICAgIG9pZF90b19oZXgoJmNlLT5vaWQpKTsKIH0KIAogc3RhdGljIGludCBkZWJ1Z19tZXJnZShjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKiBjb25zdCAqc3RhZ2VzLApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZWNlaXZlLXBhY2suYyBiL2J1aWx0aW4vcmVjZWl2ZS1wYWNrLmMKaW5kZXggYTc0NDQzNy4uZTZiMzg3OSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9yZWNlaXZlLXBhY2suYworKysgYi9idWlsdGluL3JlY2VpdmUtcGFjay5jCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSAiZ3BnLWludGVyZmFjZS5oIgogI2luY2x1ZGUgInNpZ2NoYWluLmgiCiAjaW5jbHVkZSAiZnNjay5oIgorI2luY2x1ZGUgInRtcC1vYmpkaXIuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCByZWNlaXZlX3BhY2tfdXNhZ2VbXSA9IHsKIAlOXygiZ2l0IHJlY2VpdmUtcGFjayA8Z2l0LWRpcj4iKSwKQEAgLTQ0LDEwICs0NSwxMyBAQAogc3RhdGljIGludCByZWNlaXZlX3VucGFja19saW1pdCA9IC0xOwogc3RhdGljIGludCB0cmFuc2Zlcl91bnBhY2tfbGltaXQgPSAtMTsKIHN0YXRpYyBpbnQgYWR2ZXJ0aXNlX2F0b21pY19wdXNoID0gMTsKK3N0YXRpYyBpbnQgYWR2ZXJ0aXNlX3B1c2hfb3B0aW9uczsKIHN0YXRpYyBpbnQgdW5wYWNrX2xpbWl0ID0gMTAwOworc3RhdGljIG9mZl90IG1heF9pbnB1dF9zaXplOwogc3RhdGljIGludCByZXBvcnRfc3RhdHVzOwogc3RhdGljIGludCB1c2Vfc2lkZWJhbmQ7CiBzdGF0aWMgaW50IHVzZV9hdG9taWM7CitzdGF0aWMgaW50IHVzZV9wdXNoX29wdGlvbnM7CiBzdGF0aWMgaW50IHF1aWV0Owogc3RhdGljIGludCBwcmVmZXJfb2ZzX2RlbHRhID0gMTsKIHN0YXRpYyBpbnQgYXV0b191cGRhdGVfc2VydmVyX2luZm87CkBAIC03Niw2ICs4MCwxNSBAQAogc3RhdGljIHVuc2lnbmVkIGxvbmcgbm9uY2Vfc3RhbXBfc2xvcF9saW1pdDsKIHN0YXRpYyBzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICp0cmFuc2FjdGlvbjsKIAorc3RhdGljIGVudW0geworCUtFRVBBTElWRV9ORVZFUiA9IDAsCisJS0VFUEFMSVZFX0FGVEVSX05VTCwKKwlLRUVQQUxJVkVfQUxXQVlTCit9IHVzZV9rZWVwYWxpdmU7CitzdGF0aWMgaW50IGtlZXBhbGl2ZV9pbl9zZWMgPSA1OworCitzdGF0aWMgc3RydWN0IHRtcF9vYmpkaXIgKnRtcF9vYmpkaXI7CisKIHN0YXRpYyBlbnVtIGRlbnlfYWN0aW9uIHBhcnNlX2RlbnlfYWN0aW9uKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUpCiB7CiAJaWYgKHZhbHVlKSB7CkBAIC0xOTMsMTMgKzIwNiwyOCBAQAogCQlyZXR1cm4gMDsKIAl9CiAKKwlpZiAoc3RyY21wKHZhciwgInJlY2VpdmUuYWR2ZXJ0aXNlcHVzaG9wdGlvbnMiKSA9PSAwKSB7CisJCWFkdmVydGlzZV9wdXNoX29wdGlvbnMgPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSk7CisJCXJldHVybiAwOworCX0KKworCWlmIChzdHJjbXAodmFyLCAicmVjZWl2ZS5rZWVwYWxpdmUiKSA9PSAwKSB7CisJCWtlZXBhbGl2ZV9pbl9zZWMgPSBnaXRfY29uZmlnX2ludCh2YXIsIHZhbHVlKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKHN0cmNtcCh2YXIsICJyZWNlaXZlLm1heGlucHV0c2l6ZSIpID09IDApIHsKKwkJbWF4X2lucHV0X3NpemUgPSBnaXRfY29uZmlnX2ludDY0KHZhciwgdmFsdWUpOworCQlyZXR1cm4gMDsKKwl9CisKIAlyZXR1cm4gZ2l0X2RlZmF1bHRfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKIH0KIAogc3RhdGljIHZvaWQgc2hvd19yZWYoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKIHsKIAlpZiAoc2VudF9jYXBhYmlsaXRpZXMpIHsKLQkJcGFja2V0X3dyaXRlKDEsICIlcyAlc1xuIiwgc2hhMV90b19oZXgoc2hhMSksIHBhdGgpOworCQlwYWNrZXRfd3JpdGVfZm10KDEsICIlcyAlc1xuIiwgc2hhMV90b19oZXgoc2hhMSksIHBhdGgpOwogCX0gZWxzZSB7CiAJCXN0cnVjdCBzdHJidWYgY2FwID0gU1RSQlVGX0lOSVQ7CiAKQEAgLTIxMSw4ICsyMzksMTAgQEAKIAkJCXN0cmJ1Zl9hZGRzdHIoJmNhcCwgIiBvZnMtZGVsdGEiKTsKIAkJaWYgKHB1c2hfY2VydF9ub25jZSkKIAkJCXN0cmJ1Zl9hZGRmKCZjYXAsICIgcHVzaC1jZXJ0PSVzIiwgcHVzaF9jZXJ0X25vbmNlKTsKKwkJaWYgKGFkdmVydGlzZV9wdXNoX29wdGlvbnMpCisJCQlzdHJidWZfYWRkc3RyKCZjYXAsICIgcHVzaC1vcHRpb25zIik7CiAJCXN0cmJ1Zl9hZGRmKCZjYXAsICIgYWdlbnQ9JXMiLCBnaXRfdXNlcl9hZ2VudF9zYW5pdGl6ZWQoKSk7Ci0JCXBhY2tldF93cml0ZSgxLCAiJXMgJXMlYyVzXG4iLAorCQlwYWNrZXRfd3JpdGVfZm10KDEsICIlcyAlcyVjJXNcbiIsCiAJCQkgICAgIHNoYTFfdG9faGV4KHNoYTEpLCBwYXRoLCAwLCBjYXAuYnVmKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmNhcCk7CiAJCXNlbnRfY2FwYWJpbGl0aWVzID0gMTsKQEAgLTI0MSw5ICsyNzEsMTAgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgc2hvd19vbmVfYWx0ZXJuYXRlX3NoYTEoY29uc3QgdW5zaWduZWQgY2hhciBzaGExWzIwXSwgdm9pZCAqdW51c2VkKQorc3RhdGljIGludCBzaG93X29uZV9hbHRlcm5hdGVfc2hhMShjb25zdCB1bnNpZ25lZCBjaGFyIHNoYTFbMjBdLCB2b2lkICp1bnVzZWQpCiB7CiAJc2hvd19yZWYoIi5oYXZlIiwgc2hhMSk7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkIGNvbGxlY3Rfb25lX2FsdGVybmF0ZV9yZWYoY29uc3Qgc3RydWN0IHJlZiAqcmVmLCB2b2lkICpkYXRhKQpAQCAtMzE5LDEwICszNTAsNjAgQEAKIHN0YXRpYyBpbnQgY29weV90b19zaWRlYmFuZChpbnQgaW4sIGludCBvdXQsIHZvaWQgKmFyZykKIHsKIAljaGFyIGRhdGFbMTI4XTsKKwlpbnQga2VlcGFsaXZlX2FjdGl2ZSA9IDA7CisKKwlpZiAoa2VlcGFsaXZlX2luX3NlYyA8PSAwKQorCQl1c2Vfa2VlcGFsaXZlID0gS0VFUEFMSVZFX05FVkVSOworCWlmICh1c2Vfa2VlcGFsaXZlID09IEtFRVBBTElWRV9BTFdBWVMpCisJCWtlZXBhbGl2ZV9hY3RpdmUgPSAxOworCiAJd2hpbGUgKDEpIHsKLQkJc3NpemVfdCBzeiA9IHhyZWFkKGluLCBkYXRhLCBzaXplb2YoZGF0YSkpOworCQlzc2l6ZV90IHN6OworCisJCWlmIChrZWVwYWxpdmVfYWN0aXZlKSB7CisJCQlzdHJ1Y3QgcG9sbGZkIHBmZDsKKwkJCWludCByZXQ7CisKKwkJCXBmZC5mZCA9IGluOworCQkJcGZkLmV2ZW50cyA9IFBPTExJTjsKKwkJCXJldCA9IHBvbGwoJnBmZCwgMSwgMTAwMCAqIGtlZXBhbGl2ZV9pbl9zZWMpOworCisJCQlpZiAocmV0IDwgMCkgeworCQkJCWlmIChlcnJubyA9PSBFSU5UUikKKwkJCQkJY29udGludWU7CisJCQkJZWxzZQorCQkJCQlicmVhazsKKwkJCX0gZWxzZSBpZiAocmV0ID09IDApIHsKKwkJCQkvKiBubyBkYXRhOyBzZW5kIGEga2VlcGFsaXZlIHBhY2tldCAqLworCQkJCXN0YXRpYyBjb25zdCBjaGFyIGJ1ZltdID0gIjAwMDVcMSI7CisJCQkJd3JpdGVfb3JfZGllKDEsIGJ1Ziwgc2l6ZW9mKGJ1ZikgLSAxKTsKKwkJCQljb250aW51ZTsKKwkJCX0gLyogZWxzZSB0aGVyZSBpcyBhY3R1YWwgZGF0YSB0byByZWFkICovCisJCX0KKworCQlzeiA9IHhyZWFkKGluLCBkYXRhLCBzaXplb2YoZGF0YSkpOwogCQlpZiAoc3ogPD0gMCkKIAkJCWJyZWFrOworCisJCWlmICh1c2Vfa2VlcGFsaXZlID09IEtFRVBBTElWRV9BRlRFUl9OVUwgJiYgIWtlZXBhbGl2ZV9hY3RpdmUpIHsKKwkJCWNvbnN0IGNoYXIgKnAgPSBtZW1jaHIoZGF0YSwgJ1wwJywgc3opOworCQkJaWYgKHApIHsKKwkJCQkvKgorCQkJCSAqIFRoZSBOVUwgdGVsbHMgdXMgdG8gc3RhcnQgc2VuZGluZyBrZWVwYWxpdmVzLiBNYWtlCisJCQkJICogc3VyZSB3ZSBzZW5kIGFueSBvdGhlciBkYXRhIHdlIHJlYWQgYWxvbmcKKwkJCQkgKiB3aXRoIGl0LgorCQkJCSAqLworCQkJCWtlZXBhbGl2ZV9hY3RpdmUgPSAxOworCQkJCXNlbmRfc2lkZWJhbmQoMSwgMiwgZGF0YSwgcCAtIGRhdGEsIHVzZV9zaWRlYmFuZCk7CisJCQkJc2VuZF9zaWRlYmFuZCgxLCAyLCBwICsgMSwgc3ogLSAocCAtIGRhdGEgKyAxKSwgdXNlX3NpZGViYW5kKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJfQorCisJCS8qCisJCSAqIEVpdGhlciB3ZSdyZSBub3QgbG9va2luZyBmb3IgYSBOVUwgc2lnbmFsLCBvciB3ZSBkaWRuJ3Qgc2VlCisJCSAqIGl0IHlldDsganVzdCBwYXNzIGFsb25nIHRoZSBkYXRhLgorCQkgKi8KIAkJc2VuZF9zaWRlYmFuZCgxLCAyLCBkYXRhLCBzeiwgdXNlX3NpZGViYW5kKTsKIAl9CiAJY2xvc2UoaW4pOwpAQCAtNTUwLDggKzYzMSwxNiBAQAogCX0KIH0KIAorc3RydWN0IHJlY2VpdmVfaG9va19mZWVkX3N0YXRlIHsKKwlzdHJ1Y3QgY29tbWFuZCAqY21kOworCWludCBza2lwX2Jyb2tlbjsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZjsKKwljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnB1c2hfb3B0aW9uczsKK307CisKIHR5cGVkZWYgaW50ICgqZmVlZF9mbikodm9pZCAqLCBjb25zdCBjaGFyICoqLCBzaXplX3QgKik7Ci1zdGF0aWMgaW50IHJ1bl9hbmRfZmVlZF9ob29rKGNvbnN0IGNoYXIgKmhvb2tfbmFtZSwgZmVlZF9mbiBmZWVkLCB2b2lkICpmZWVkX3N0YXRlKQorc3RhdGljIGludCBydW5fYW5kX2ZlZWRfaG9vayhjb25zdCBjaGFyICpob29rX25hbWUsIGZlZWRfZm4gZmVlZCwKKwkJCSAgICAgc3RydWN0IHJlY2VpdmVfaG9va19mZWVkX3N0YXRlICpmZWVkX3N0YXRlKQogewogCXN0cnVjdCBjaGlsZF9wcm9jZXNzIHByb2MgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CiAJc3RydWN0IGFzeW5jIG11eGVyOwpAQCAtNTY3LDYgKzY1NiwxOSBAQAogCXByb2MuYXJndiA9IGFyZ3Y7CiAJcHJvYy5pbiA9IC0xOwogCXByb2Muc3Rkb3V0X3RvX3N0ZGVyciA9IDE7CisJaWYgKGZlZWRfc3RhdGUtPnB1c2hfb3B0aW9ucykgeworCQlpbnQgaTsKKwkJZm9yIChpID0gMDsgaSA8IGZlZWRfc3RhdGUtPnB1c2hfb3B0aW9ucy0+bnI7IGkrKykKKwkJCWFyZ3ZfYXJyYXlfcHVzaGYoJnByb2MuZW52X2FycmF5LAorCQkJCSJHSVRfUFVTSF9PUFRJT05fJWQ9JXMiLCBpLAorCQkJCWZlZWRfc3RhdGUtPnB1c2hfb3B0aW9ucy0+aXRlbXNbaV0uc3RyaW5nKTsKKwkJYXJndl9hcnJheV9wdXNoZigmcHJvYy5lbnZfYXJyYXksICJHSVRfUFVTSF9PUFRJT05fQ09VTlQ9JWQiLAorCQkJCSBmZWVkX3N0YXRlLT5wdXNoX29wdGlvbnMtPm5yKTsKKwl9IGVsc2UKKwkJYXJndl9hcnJheV9wdXNoZigmcHJvYy5lbnZfYXJyYXksICJHSVRfUFVTSF9PUFRJT05fQ09VTlQiKTsKKworCWlmICh0bXBfb2JqZGlyKQorCQlhcmd2X2FycmF5X3B1c2h2KCZwcm9jLmVudl9hcnJheSwgdG1wX29iamRpcl9lbnYodG1wX29iamRpcikpOwogCiAJaWYgKHVzZV9zaWRlYmFuZCkgewogCQltZW1zZXQoJm11eGVyLCAwLCBzaXplb2YobXV4ZXIpKTsKQEAgLTYwNiwxMiArNzA4LDYgQEAKIAlyZXR1cm4gZmluaXNoX2NvbW1hbmQoJnByb2MpOwogfQogCi1zdHJ1Y3QgcmVjZWl2ZV9ob29rX2ZlZWRfc3RhdGUgewotCXN0cnVjdCBjb21tYW5kICpjbWQ7Ci0JaW50IHNraXBfYnJva2VuOwotCXN0cnVjdCBzdHJidWYgYnVmOwotfTsKLQogc3RhdGljIGludCBmZWVkX3JlY2VpdmVfaG9vayh2b2lkICpzdGF0ZV8sIGNvbnN0IGNoYXIgKipidWZwLCBzaXplX3QgKnNpemVwKQogewogCXN0cnVjdCByZWNlaXZlX2hvb2tfZmVlZF9zdGF0ZSAqc3RhdGUgPSBzdGF0ZV87CkBAIC02MzQsOCArNzMwLDEwIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcnVuX3JlY2VpdmVfaG9vayhzdHJ1Y3QgY29tbWFuZCAqY29tbWFuZHMsIGNvbnN0IGNoYXIgKmhvb2tfbmFtZSwKLQkJCSAgICBpbnQgc2tpcF9icm9rZW4pCitzdGF0aWMgaW50IHJ1bl9yZWNlaXZlX2hvb2soc3RydWN0IGNvbW1hbmQgKmNvbW1hbmRzLAorCQkJICAgIGNvbnN0IGNoYXIgKmhvb2tfbmFtZSwKKwkJCSAgICBpbnQgc2tpcF9icm9rZW4sCisJCQkgICAgY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpwdXNoX29wdGlvbnMpCiB7CiAJc3RydWN0IHJlY2VpdmVfaG9va19mZWVkX3N0YXRlIHN0YXRlOwogCWludCBzdGF0dXM7CkBAIC02NDYsNiArNzQ0LDcgQEAKIAlpZiAoZmVlZF9yZWNlaXZlX2hvb2soJnN0YXRlLCBOVUxMLCBOVUxMKSkKIAkJcmV0dXJuIDA7CiAJc3RhdGUuY21kID0gY29tbWFuZHM7CisJc3RhdGUucHVzaF9vcHRpb25zID0gcHVzaF9vcHRpb25zOwogCXN0YXR1cyA9IHJ1bl9hbmRfZmVlZF9ob29rKGhvb2tfbmFtZSwgZmVlZF9yZWNlaXZlX2hvb2ssICZzdGF0ZSk7CiAJc3RyYnVmX3JlbGVhc2UoJnN0YXRlLmJ1Zik7CiAJcmV0dXJuIHN0YXR1czsKQEAgLTY3MCw2ICs3NjksNyBAQAogCXByb2Muc3Rkb3V0X3RvX3N0ZGVyciA9IDE7CiAJcHJvYy5lcnIgPSB1c2Vfc2lkZWJhbmQgPyAtMSA6IDA7CiAJcHJvYy5hcmd2ID0gYXJndjsKKwlwcm9jLmVudiA9IHRtcF9vYmpkaXJfZW52KHRtcF9vYmpkaXIpOwogCiAJY29kZSA9IHN0YXJ0X2NvbW1hbmQoJnByb2MpOwogCWlmIChjb2RlKQpAQCAtNjg5LDQ3ICs3ODksMzkgQEAKIAlyZXR1cm4gIXN0cmNtcChoZWFkX25hbWUsIHJlZik7CiB9CiAKLXN0YXRpYyBjaGFyICpyZWZ1c2VfdW5jb25maWd1cmVkX2RlbnlfbXNnW10gPSB7Ci0JIkJ5IGRlZmF1bHQsIHVwZGF0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpbiBhIG5vbi1iYXJlIHJlcG9zaXRvcnkiLAotCSJpcyBkZW5pZWQsIGJlY2F1c2UgaXQgd2lsbCBtYWtlIHRoZSBpbmRleCBhbmQgd29yayB0cmVlIGluY29uc2lzdGVudCIsCi0JIndpdGggd2hhdCB5b3UgcHVzaGVkLCBhbmQgd2lsbCByZXF1aXJlICdnaXQgcmVzZXQgLS1oYXJkJyB0byBtYXRjaCIsCi0JInRoZSB3b3JrIHRyZWUgdG8gSEVBRC4iLAotCSIiLAotCSJZb3UgY2FuIHNldCAncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0byIsCi0JIidpZ25vcmUnIG9yICd3YXJuJyBpbiB0aGUgcmVtb3RlIHJlcG9zaXRvcnkgdG8gYWxsb3cgcHVzaGluZyBpbnRvIiwKLQkiaXRzIGN1cnJlbnQgYnJhbmNoOyBob3dldmVyLCB0aGlzIGlzIG5vdCByZWNvbW1lbmRlZCB1bmxlc3MgeW91IiwKLQkiYXJyYW5nZWQgdG8gdXBkYXRlIGl0cyB3b3JrIHRyZWUgdG8gbWF0Y2ggd2hhdCB5b3UgcHVzaGVkIGluIHNvbWUiLAotCSJvdGhlciB3YXkuIiwKLQkiIiwKLQkiVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UgYW5kIHN0aWxsIGtlZXAgdGhlIGRlZmF1bHQgYmVoYXZpb3VyLCBzZXQiLAotCSIncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0byAncmVmdXNlJy4iCi19Oworc3RhdGljIGNoYXIgKnJlZnVzZV91bmNvbmZpZ3VyZWRfZGVueV9tc2cgPQorCU5fKCJCeSBkZWZhdWx0LCB1cGRhdGluZyB0aGUgY3VycmVudCBicmFuY2ggaW4gYSBub24tYmFyZSByZXBvc2l0b3J5XG4iCisJICAgImlzIGRlbmllZCwgYmVjYXVzZSBpdCB3aWxsIG1ha2UgdGhlIGluZGV4IGFuZCB3b3JrIHRyZWUgaW5jb25zaXN0ZW50XG4iCisJICAgIndpdGggd2hhdCB5b3UgcHVzaGVkLCBhbmQgd2lsbCByZXF1aXJlICdnaXQgcmVzZXQgLS1oYXJkJyB0byBtYXRjaFxuIgorCSAgICJ0aGUgd29yayB0cmVlIHRvIEhFQUQuXG4iCisJICAgIlxuIgorCSAgICJZb3UgY2FuIHNldCAncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0b1xuIgorCSAgICInaWdub3JlJyBvciAnd2FybicgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IHB1c2hpbmcgaW50b1xuIgorCSAgICJpdHMgY3VycmVudCBicmFuY2g7IGhvd2V2ZXIsIHRoaXMgaXMgbm90IHJlY29tbWVuZGVkIHVubGVzcyB5b3VcbiIKKwkgICAiYXJyYW5nZWQgdG8gdXBkYXRlIGl0cyB3b3JrIHRyZWUgdG8gbWF0Y2ggd2hhdCB5b3UgcHVzaGVkIGluIHNvbWVcbiIKKwkgICAib3RoZXIgd2F5LlxuIgorCSAgICJcbiIKKwkgICAiVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UgYW5kIHN0aWxsIGtlZXAgdGhlIGRlZmF1bHQgYmVoYXZpb3VyLCBzZXRcbiIKKwkgICAiJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG8gJ3JlZnVzZScuIik7CiAKIHN0YXRpYyB2b2lkIHJlZnVzZV91bmNvbmZpZ3VyZWRfZGVueSh2b2lkKQogewotCWludCBpOwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHJlZnVzZV91bmNvbmZpZ3VyZWRfZGVueV9tc2cpOyBpKyspCi0JCXJwX2Vycm9yKCIlcyIsIHJlZnVzZV91bmNvbmZpZ3VyZWRfZGVueV9tc2dbaV0pOworCXJwX2Vycm9yKCIlcyIsIF8ocmVmdXNlX3VuY29uZmlndXJlZF9kZW55X21zZykpOwogfQogCi1zdGF0aWMgY2hhciAqcmVmdXNlX3VuY29uZmlndXJlZF9kZW55X2RlbGV0ZV9jdXJyZW50X21zZ1tdID0gewotCSJCeSBkZWZhdWx0LCBkZWxldGluZyB0aGUgY3VycmVudCBicmFuY2ggaXMgZGVuaWVkLCBiZWNhdXNlIHRoZSBuZXh0IiwKLQkiJ2dpdCBjbG9uZScgd29uJ3QgcmVzdWx0IGluIGFueSBmaWxlIGNoZWNrZWQgb3V0LCBjYXVzaW5nIGNvbmZ1c2lvbi4iLAotCSIiLAotCSJZb3UgY2FuIHNldCAncmVjZWl2ZS5kZW55RGVsZXRlQ3VycmVudCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0byIsCi0JIid3YXJuJyBvciAnaWdub3JlJyBpbiB0aGUgcmVtb3RlIHJlcG9zaXRvcnkgdG8gYWxsb3cgZGVsZXRpbmcgdGhlIiwKLQkiY3VycmVudCBicmFuY2gsIHdpdGggb3Igd2l0aG91dCBhIHdhcm5pbmcgbWVzc2FnZS4iLAotCSIiLAotCSJUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZSwgeW91IGNhbiBzZXQgaXQgdG8gJ3JlZnVzZScuIgotfTsKK3N0YXRpYyBjaGFyICpyZWZ1c2VfdW5jb25maWd1cmVkX2RlbnlfZGVsZXRlX2N1cnJlbnRfbXNnID0KKwlOXygiQnkgZGVmYXVsdCwgZGVsZXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGlzIGRlbmllZCwgYmVjYXVzZSB0aGUgbmV4dFxuIgorCSAgICInZ2l0IGNsb25lJyB3b24ndCByZXN1bHQgaW4gYW55IGZpbGUgY2hlY2tlZCBvdXQsIGNhdXNpbmcgY29uZnVzaW9uLlxuIgorCSAgICJcbiIKKwkgICAiWW91IGNhbiBzZXQgJ3JlY2VpdmUuZGVueURlbGV0ZUN1cnJlbnQnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG9cbiIKKwkgICAiJ3dhcm4nIG9yICdpZ25vcmUnIGluIHRoZSByZW1vdGUgcmVwb3NpdG9yeSB0byBhbGxvdyBkZWxldGluZyB0aGVcbiIKKwkgICAiY3VycmVudCBicmFuY2gsIHdpdGggb3Igd2l0aG91dCBhIHdhcm5pbmcgbWVzc2FnZS5cbiIKKwkgICAiXG4iCisJICAgIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlLCB5b3UgY2FuIHNldCBpdCB0byAncmVmdXNlJy4iKTsKIAogc3RhdGljIHZvaWQgcmVmdXNlX3VuY29uZmlndXJlZF9kZW55X2RlbGV0ZV9jdXJyZW50KHZvaWQpCiB7Ci0JaW50IGk7Ci0JZm9yIChpID0gMDsKLQkgICAgIGkgPCBBUlJBWV9TSVpFKHJlZnVzZV91bmNvbmZpZ3VyZWRfZGVueV9kZWxldGVfY3VycmVudF9tc2cpOwotCSAgICAgaSsrKQotCQlycF9lcnJvcigiJXMiLCByZWZ1c2VfdW5jb25maWd1cmVkX2RlbnlfZGVsZXRlX2N1cnJlbnRfbXNnW2ldKTsKKwlycF9lcnJvcigiJXMiLCBfKHJlZnVzZV91bmNvbmZpZ3VyZWRfZGVueV9kZWxldGVfY3VycmVudF9tc2cpKTsKIH0KIAogc3RhdGljIGludCBjb21tYW5kX3NpbmdsZXRvbl9pdGVyYXRvcih2b2lkICpjYl9kYXRhLCB1bnNpZ25lZCBjaGFyIHNoYTFbMjBdKTsKQEAgLTczNyw3ICs4MjksNyBAQAogewogCXN0YXRpYyBzdHJ1Y3QgbG9ja19maWxlIHNoYWxsb3dfbG9jazsKIAlzdHJ1Y3Qgc2hhMV9hcnJheSBleHRyYSA9IFNIQTFfQVJSQVlfSU5JVDsKLQljb25zdCBjaGFyICphbHRfZmlsZTsKKwlzdHJ1Y3QgY2hlY2tfY29ubmVjdGVkX29wdGlvbnMgb3B0ID0gQ0hFQ0tfQ09OTkVDVEVEX0lOSVQ7CiAJdWludDMyX3QgbWFzayA9IDEgPDwgKGNtZC0+aW5kZXggJSAzMik7CiAJaW50IGk7CiAKQEAgLTc0OSw5ICs4NDEsOSBAQAogCQkgICAgIWRlbGF5ZWRfcmVhY2hhYmlsaXR5X3Rlc3Qoc2ksIGkpKQogCQkJc2hhMV9hcnJheV9hcHBlbmQoJmV4dHJhLCBzaS0+c2hhbGxvdy0+c2hhMVtpXSk7CiAKLQlzZXR1cF9hbHRlcm5hdGVfc2hhbGxvdygmc2hhbGxvd19sb2NrLCAmYWx0X2ZpbGUsICZleHRyYSk7Ci0JaWYgKGNoZWNrX3NoYWxsb3dfY29ubmVjdGVkKGNvbW1hbmRfc2luZ2xldG9uX2l0ZXJhdG9yLAotCQkJCSAgICAwLCBjbWQsIGFsdF9maWxlKSkgeworCW9wdC5lbnYgPSB0bXBfb2JqZGlyX2Vudih0bXBfb2JqZGlyKTsKKwlzZXR1cF9hbHRlcm5hdGVfc2hhbGxvdygmc2hhbGxvd19sb2NrLCAmb3B0LnNoYWxsb3dfZmlsZSwgJmV4dHJhKTsKKwlpZiAoY2hlY2tfY29ubmVjdGVkKGNvbW1hbmRfc2luZ2xldG9uX2l0ZXJhdG9yLCBjbWQsICZvcHQpKSB7CiAJCXJvbGxiYWNrX2xvY2tfZmlsZSgmc2hhbGxvd19sb2NrKTsKIAkJc2hhMV9hcnJheV9jbGVhcigmZXh0cmEpOwogCQlyZXR1cm4gLTE7CkBAIC0xMDcxLDEwICsxMTYzLDYgQEAKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKIAlzdHJ1Y3QgY29tbWFuZCAqZHN0X2NtZDsKIAl1bnNpZ25lZCBjaGFyIHNoYTFbR0lUX1NIQTFfUkFXU1pdOwotCWNoYXIgY21kX29sZGhbR0lUX1NIQTFfSEVYU1ogKyAxXSwKLQkgICAgIGNtZF9uZXdoW0dJVF9TSEExX0hFWFNaICsgMV0sCi0JICAgICBkc3Rfb2xkaFtHSVRfU0hBMV9IRVhTWiArIDFdLAotCSAgICAgZHN0X25ld2hbR0lUX1NIQTFfSEVYU1ogKyAxXTsKIAlpbnQgZmxhZzsKIAogCXN0cmJ1Zl9hZGRmKCZidWYsICIlcyVzIiwgZ2V0X2dpdF9uYW1lc3BhY2UoKSwgY21kLT5yZWZfbmFtZSk7CkBAIC0xMTA1LDE0ICsxMTkzLDE0IEBACiAKIAlkc3RfY21kLT5za2lwX3VwZGF0ZSA9IDE7CiAKLQlmaW5kX3VuaXF1ZV9hYmJyZXZfcihjbWRfb2xkaCwgY21kLT5vbGRfc2hhMSwgREVGQVVMVF9BQkJSRVYpOwotCWZpbmRfdW5pcXVlX2FiYnJldl9yKGNtZF9uZXdoLCBjbWQtPm5ld19zaGExLCBERUZBVUxUX0FCQlJFVik7Ci0JZmluZF91bmlxdWVfYWJicmV2X3IoZHN0X29sZGgsIGRzdF9jbWQtPm9sZF9zaGExLCBERUZBVUxUX0FCQlJFVik7Ci0JZmluZF91bmlxdWVfYWJicmV2X3IoZHN0X25ld2gsIGRzdF9jbWQtPm5ld19zaGExLCBERUZBVUxUX0FCQlJFVik7CiAJcnBfZXJyb3IoInJlZnVzaW5nIGluY29uc2lzdGVudCB1cGRhdGUgYmV0d2VlbiBzeW1yZWYgJyVzJyAoJXMuLiVzKSBhbmQiCiAJCSAiIGl0cyB0YXJnZXQgJyVzJyAoJXMuLiVzKSIsCi0JCSBjbWQtPnJlZl9uYW1lLCBjbWRfb2xkaCwgY21kX25ld2gsCi0JCSBkc3RfY21kLT5yZWZfbmFtZSwgZHN0X29sZGgsIGRzdF9uZXdoKTsKKwkJIGNtZC0+cmVmX25hbWUsCisJCSBmaW5kX3VuaXF1ZV9hYmJyZXYoY21kLT5vbGRfc2hhMSwgREVGQVVMVF9BQkJSRVYpLAorCQkgZmluZF91bmlxdWVfYWJicmV2KGNtZC0+bmV3X3NoYTEsIERFRkFVTFRfQUJCUkVWKSwKKwkJIGRzdF9jbWQtPnJlZl9uYW1lLAorCQkgZmluZF91bmlxdWVfYWJicmV2KGRzdF9jbWQtPm9sZF9zaGExLCBERUZBVUxUX0FCQlJFViksCisJCSBmaW5kX3VuaXF1ZV9hYmJyZXYoZHN0X2NtZC0+bmV3X3NoYTEsIERFRkFVTFRfQUJCUkVWKSk7CiAKIAljbWQtPmVycm9yX3N0cmluZyA9IGRzdF9jbWQtPmVycm9yX3N0cmluZyA9CiAJCSJpbmNvbnNpc3RlbnQgYWxpYXNlZCB1cGRhdGUiOwpAQCAtMTE1NywxMiArMTI0NSwxNyBAQAogCiAJZm9yIChjbWQgPSBjb21tYW5kczsgY21kOyBjbWQgPSBjbWQtPm5leHQpIHsKIAkJc3RydWN0IGNvbW1hbmQgKnNpbmdsZXRvbiA9IGNtZDsKKwkJc3RydWN0IGNoZWNrX2Nvbm5lY3RlZF9vcHRpb25zIG9wdCA9IENIRUNLX0NPTk5FQ1RFRF9JTklUOworCiAJCWlmIChzaGFsbG93X3VwZGF0ZSAmJiBzaS0+c2hhbGxvd19yZWZbY21kLT5pbmRleF0pCiAJCQkvKiB0byBiZSBjaGVja2VkIGluIHVwZGF0ZV9zaGFsbG93X3JlZigpICovCiAJCQljb250aW51ZTsKLQkJaWYgKCFjaGVja19ldmVyeXRoaW5nX2Nvbm5lY3RlZChjb21tYW5kX3NpbmdsZXRvbl9pdGVyYXRvciwKLQkJCQkJCTAsICZzaW5nbGV0b24pKQorCisJCW9wdC5lbnYgPSB0bXBfb2JqZGlyX2Vudih0bXBfb2JqZGlyKTsKKwkJaWYgKCFjaGVja19jb25uZWN0ZWQoY29tbWFuZF9zaW5nbGV0b25faXRlcmF0b3IsICZzaW5nbGV0b24sCisJCQkJICAgICAmb3B0KSkKIAkJCWNvbnRpbnVlOworCiAJCWNtZC0+ZXJyb3Jfc3RyaW5nID0gIm1pc3NpbmcgbmVjZXNzYXJ5IG9iamVjdHMiOwogCX0KIH0KQEAgLTEzMTYsMTEgKzE0MDksMTUgQEAKIAogc3RhdGljIHZvaWQgZXhlY3V0ZV9jb21tYW5kcyhzdHJ1Y3QgY29tbWFuZCAqY29tbWFuZHMsCiAJCQkgICAgIGNvbnN0IGNoYXIgKnVucGFja2VyX2Vycm9yLAotCQkJICAgICBzdHJ1Y3Qgc2hhbGxvd19pbmZvICpzaSkKKwkJCSAgICAgc3RydWN0IHNoYWxsb3dfaW5mbyAqc2ksCisJCQkgICAgIGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqcHVzaF9vcHRpb25zKQogeworCXN0cnVjdCBjaGVja19jb25uZWN0ZWRfb3B0aW9ucyBvcHQgPSBDSEVDS19DT05ORUNURURfSU5JVDsKIAlzdHJ1Y3QgY29tbWFuZCAqY21kOwogCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CiAJc3RydWN0IGl0ZXJhdGVfZGF0YSBkYXRhOworCXN0cnVjdCBhc3luYyBtdXhlcjsKKwlpbnQgZXJyX2ZkID0gMDsKIAogCWlmICh1bnBhY2tlcl9lcnJvcikgewogCQlmb3IgKGNtZCA9IGNvbW1hbmRzOyBjbWQ7IGNtZCA9IGNtZC0+bmV4dCkKQEAgLTEzMjgsMTQgKzE0MjUsMjkgQEAKIAkJcmV0dXJuOwogCX0KIAorCWlmICh1c2Vfc2lkZWJhbmQpIHsKKwkJbWVtc2V0KCZtdXhlciwgMCwgc2l6ZW9mKG11eGVyKSk7CisJCW11eGVyLnByb2MgPSBjb3B5X3RvX3NpZGViYW5kOworCQltdXhlci5pbiA9IC0xOworCQlpZiAoIXN0YXJ0X2FzeW5jKCZtdXhlcikpCisJCQllcnJfZmQgPSBtdXhlci5pbjsKKwkJLyogLi4uZWxzZSwgY29udGludWUgd2l0aG91dCByZWxheWluZyBzaWRlYmFuZCAqLworCX0KKwogCWRhdGEuY21kcyA9IGNvbW1hbmRzOwogCWRhdGEuc2kgPSBzaTsKLQlpZiAoY2hlY2tfZXZlcnl0aGluZ19jb25uZWN0ZWQoaXRlcmF0ZV9yZWNlaXZlX2NvbW1hbmRfbGlzdCwgMCwgJmRhdGEpKQorCW9wdC5lcnJfZmQgPSBlcnJfZmQ7CisJb3B0LnByb2dyZXNzID0gZXJyX2ZkICYmICFxdWlldDsKKwlvcHQuZW52ID0gdG1wX29iamRpcl9lbnYodG1wX29iamRpcik7CisJaWYgKGNoZWNrX2Nvbm5lY3RlZChpdGVyYXRlX3JlY2VpdmVfY29tbWFuZF9saXN0LCAmZGF0YSwgJm9wdCkpCiAJCXNldF9jb25uZWN0aXZpdHlfZXJyb3JzKGNvbW1hbmRzLCBzaSk7CiAKKwlpZiAodXNlX3NpZGViYW5kKQorCQlmaW5pc2hfYXN5bmMoJm11eGVyKTsKKwogCXJlamVjdF91cGRhdGVzX3RvX2hpZGRlbihjb21tYW5kcyk7CiAKLQlpZiAocnVuX3JlY2VpdmVfaG9vayhjb21tYW5kcywgInByZS1yZWNlaXZlIiwgMCkpIHsKKwlpZiAocnVuX3JlY2VpdmVfaG9vayhjb21tYW5kcywgInByZS1yZWNlaXZlIiwgMCwgcHVzaF9vcHRpb25zKSkgewogCQlmb3IgKGNtZCA9IGNvbW1hbmRzOyBjbWQ7IGNtZCA9IGNtZC0+bmV4dCkgewogCQkJaWYgKCFjbWQtPmVycm9yX3N0cmluZykKIAkJCQljbWQtPmVycm9yX3N0cmluZyA9ICJwcmUtcmVjZWl2ZSBob29rIGRlY2xpbmVkIjsKQEAgLTEzNDMsNiArMTQ1NSwxOSBAQAogCQlyZXR1cm47CiAJfQogCisJLyoKKwkgKiBOb3cgd2UnbGwgc3RhcnQgd3JpdGluZyBvdXQgcmVmcywgd2hpY2ggbWVhbnMgdGhlIG9iamVjdHMgbmVlZAorCSAqIHRvIGJlIGluIHRoZWlyIGZpbmFsIHBvc2l0aW9ucyBzbyB0aGF0IG90aGVyIHByb2Nlc3NlcyBjYW4gc2VlIHRoZW0uCisJICovCisJaWYgKHRtcF9vYmpkaXJfbWlncmF0ZSh0bXBfb2JqZGlyKSA8IDApIHsKKwkJZm9yIChjbWQgPSBjb21tYW5kczsgY21kOyBjbWQgPSBjbWQtPm5leHQpIHsKKwkJCWlmICghY21kLT5lcnJvcl9zdHJpbmcpCisJCQkJY21kLT5lcnJvcl9zdHJpbmcgPSAidW5hYmxlIHRvIG1pZ3JhdGUgb2JqZWN0cyB0byBwZXJtYW5lbnQgc3RvcmFnZSI7CisJCX0KKwkJcmV0dXJuOworCX0KKwl0bXBfb2JqZGlyID0gTlVMTDsKKwogCWNoZWNrX2FsaWFzZWRfdXBkYXRlcyhjb21tYW5kcyk7CiAKIAlmcmVlKGhlYWRfbmFtZV90b19mcmVlKTsKQEAgLTEzNzUsMTEgKzE1MDAsOSBAQAogCiAJcmVmbmFtZSA9IGxpbmUgKyA4MjsKIAlyZWZsZW4gPSBsaW5lbGVuIC0gODI7Ci0JY21kID0geGNhbGxvYygxLCBzdF9hZGQzKHNpemVvZihzdHJ1Y3QgY29tbWFuZCksIHJlZmxlbiwgMSkpOworCUZMRVhfQUxMT0NfTUVNKGNtZCwgcmVmX25hbWUsIHJlZm5hbWUsIHJlZmxlbik7CiAJaGFzaGNweShjbWQtPm9sZF9zaGExLCBvbGRfc2hhMSk7CiAJaGFzaGNweShjbWQtPm5ld19zaGExLCBuZXdfc2hhMSk7Ci0JbWVtY3B5KGNtZC0+cmVmX25hbWUsIHJlZm5hbWUsIHJlZmxlbik7Ci0JY21kLT5yZWZfbmFtZVtyZWZsZW5dID0gJ1wwJzsKIAkqdGFpbCA9IGNtZDsKIAlyZXR1cm4gJmNtZC0+bmV4dDsKIH0KQEAgLTE0MzksNiArMTU2Miw5IEBACiAJCQlpZiAoYWR2ZXJ0aXNlX2F0b21pY19wdXNoCiAJCQkgICAgJiYgcGFyc2VfZmVhdHVyZV9yZXF1ZXN0KGZlYXR1cmVfbGlzdCwgImF0b21pYyIpKQogCQkJCXVzZV9hdG9taWMgPSAxOworCQkJaWYgKGFkdmVydGlzZV9wdXNoX29wdGlvbnMKKwkJCSAgICAmJiBwYXJzZV9mZWF0dXJlX3JlcXVlc3QoZmVhdHVyZV9saXN0LCAicHVzaC1vcHRpb25zIikpCisJCQkJdXNlX3B1c2hfb3B0aW9ucyA9IDE7CiAJCX0KIAogCQlpZiAoIXN0cmNtcChsaW5lLCAicHVzaC1jZXJ0IikpIHsKQEAgLTE0NzEsNiArMTU5NywyMSBAQAogCXJldHVybiBjb21tYW5kczsKIH0KIAorc3RhdGljIHZvaWQgcmVhZF9wdXNoX29wdGlvbnMoc3RydWN0IHN0cmluZ19saXN0ICpvcHRpb25zKQoreworCXdoaWxlICgxKSB7CisJCWNoYXIgKmxpbmU7CisJCWludCBsZW47CisKKwkJbGluZSA9IHBhY2tldF9yZWFkX2xpbmUoMCwgJmxlbik7CisKKwkJaWYgKCFsaW5lKQorCQkJYnJlYWs7CisKKwkJc3RyaW5nX2xpc3RfYXBwZW5kKG9wdGlvbnMsIGxpbmUpOworCX0KK30KKwogc3RhdGljIGNvbnN0IGNoYXIgKnBhcnNlX3BhY2tfaGVhZGVyKHN0cnVjdCBwYWNrX2hlYWRlciAqaGRyKQogewogCXN3aXRjaCAocmVhZF9wYWNrX2hlYWRlcigwLCBoZHIpKSB7CkBAIC0xNTIyLDYgKzE2NjMsMTggQEAKIAkJYXJndl9hcnJheV9wdXNoKCZjaGlsZC5hcmdzLCBhbHRfc2hhbGxvd19maWxlKTsKIAl9CiAKKwl0bXBfb2JqZGlyID0gdG1wX29iamRpcl9jcmVhdGUoKTsKKwlpZiAoIXRtcF9vYmpkaXIpCisJCXJldHVybiAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3Jhcnkgb2JqZWN0IGRpcmVjdG9yeSI7CisJY2hpbGQuZW52ID0gdG1wX29iamRpcl9lbnYodG1wX29iamRpcik7CisKKwkvKgorCSAqIE5vcm1hbGx5IHdlIGp1c3QgcGFzcyB0aGUgdG1wX29iamRpciBlbnZpcm9ubWVudCB0byB0aGUgY2hpbGQKKwkgKiBwcm9jZXNzZXMgdGhhdCBkbyB0aGUgaGVhdnkgbGlmdGluZywgYnV0IHdlIG1heSBuZWVkIHRvIHNlZSB0aGVzZQorCSAqIG9iamVjdHMgb3Vyc2VsdmVzIHRvIHNldCB1cCBzaGFsbG93IGluZm9ybWF0aW9uLgorCSAqLworCXRtcF9vYmpkaXJfYWRkX2FzX2FsdGVybmF0ZSh0bXBfb2JqZGlyKTsKKwogCWlmIChudG9obChoZHIuaGRyX2VudHJpZXMpIDwgdW5wYWNrX2xpbWl0KSB7CiAJCWFyZ3ZfYXJyYXlfcHVzaGwoJmNoaWxkLmFyZ3MsICJ1bnBhY2stb2JqZWN0cyIsIGhkcl9hcmcsIE5VTEwpOwogCQlpZiAocXVpZXQpCkBAIC0xNTI5LDYgKzE2ODIsOSBAQAogCQlpZiAoZnNja19vYmplY3RzKQogCQkJYXJndl9hcnJheV9wdXNoZigmY2hpbGQuYXJncywgIi0tc3RyaWN0JXMiLAogCQkJCWZzY2tfbXNnX3R5cGVzLmJ1Zik7CisJCWlmIChtYXhfaW5wdXRfc2l6ZSkKKwkJCWFyZ3ZfYXJyYXlfcHVzaGYoJmNoaWxkLmFyZ3MsICItLW1heC1pbnB1dC1zaXplPSUiUFJJdU1BWCwKKwkJCQkodWludG1heF90KW1heF9pbnB1dF9zaXplKTsKIAkJY2hpbGQubm9fc3Rkb3V0ID0gMTsKIAkJY2hpbGQuZXJyID0gZXJyX2ZkOwogCQljaGlsZC5naXRfY21kID0gMTsKQEAgLTE1NDgsMTEgKzE3MDQsMTggQEAKIAkJCQkgKHVpbnRtYXhfdClnZXRwaWQoKSwKIAkJCQkgaG9zdG5hbWUpOwogCisJCWlmICghcXVpZXQgJiYgZXJyX2ZkKQorCQkJYXJndl9hcnJheV9wdXNoKCZjaGlsZC5hcmdzLCAiLS1zaG93LXJlc29sdmluZy1wcm9ncmVzcyIpOworCQlpZiAodXNlX3NpZGViYW5kKQorCQkJYXJndl9hcnJheV9wdXNoKCZjaGlsZC5hcmdzLCAiLS1yZXBvcnQtZW5kLW9mLWlucHV0Iik7CiAJCWlmIChmc2NrX29iamVjdHMpCiAJCQlhcmd2X2FycmF5X3B1c2hmKCZjaGlsZC5hcmdzLCAiLS1zdHJpY3QlcyIsCiAJCQkJZnNja19tc2dfdHlwZXMuYnVmKTsKIAkJaWYgKCFyZWplY3RfdGhpbikKIAkJCWFyZ3ZfYXJyYXlfcHVzaCgmY2hpbGQuYXJncywgIi0tZml4LXRoaW4iKTsKKwkJaWYgKG1heF9pbnB1dF9zaXplKQorCQkJYXJndl9hcnJheV9wdXNoZigmY2hpbGQuYXJncywgIi0tbWF4LWlucHV0LXNpemU9JSJQUkl1TUFYLAorCQkJCSh1aW50bWF4X3QpbWF4X2lucHV0X3NpemUpOwogCQljaGlsZC5vdXQgPSAtMTsKIAkJY2hpbGQuZXJyID0gZXJyX2ZkOwogCQljaGlsZC5naXRfY21kID0gMTsKQEAgLTE1NzcsNiArMTc0MCw3IEBACiAJaWYgKCF1c2Vfc2lkZWJhbmQpCiAJCXJldHVybiB1bnBhY2soMCwgc2kpOwogCisJdXNlX2tlZXBhbGl2ZSA9IEtFRVBBTElWRV9BRlRFUl9OVUw7CiAJbWVtc2V0KCZtdXhlciwgMCwgc2l6ZW9mKG11eGVyKSk7CiAJbXV4ZXIucHJvYyA9IGNvcHlfdG9fc2lkZWJhbmQ7CiAJbXV4ZXIuaW4gPSAtMTsKQEAgLTE3NTYsNiArMTkyMCwxMCBAQAogCiAJaWYgKChjb21tYW5kcyA9IHJlYWRfaGVhZF9pbmZvKCZzaGFsbG93KSkgIT0gTlVMTCkgewogCQljb25zdCBjaGFyICp1bnBhY2tfc3RhdHVzID0gTlVMTDsKKwkJc3RydWN0IHN0cmluZ19saXN0IHB1c2hfb3B0aW9ucyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOworCisJCWlmICh1c2VfcHVzaF9vcHRpb25zKQorCQkJcmVhZF9wdXNoX29wdGlvbnMoJnB1c2hfb3B0aW9ucyk7CiAKIAkJcHJlcGFyZV9zaGFsbG93X2luZm8oJnNpLCAmc2hhbGxvdyk7CiAJCWlmICghc2kubnJfb3VycyAmJiAhc2kubnJfdGhlaXJzKQpAQCAtMTc2NCwyMCArMTkzMiwzNiBAQAogCQkJdW5wYWNrX3N0YXR1cyA9IHVucGFja193aXRoX3NpZGViYW5kKCZzaSk7CiAJCQl1cGRhdGVfc2hhbGxvd19pbmZvKGNvbW1hbmRzLCAmc2ksICZyZWYpOwogCQl9Ci0JCWV4ZWN1dGVfY29tbWFuZHMoY29tbWFuZHMsIHVucGFja19zdGF0dXMsICZzaSk7CisJCXVzZV9rZWVwYWxpdmUgPSBLRUVQQUxJVkVfQUxXQVlTOworCQlleGVjdXRlX2NvbW1hbmRzKGNvbW1hbmRzLCB1bnBhY2tfc3RhdHVzLCAmc2ksCisJCQkJICZwdXNoX29wdGlvbnMpOwogCQlpZiAocGFja19sb2NrZmlsZSkKIAkJCXVubGlua19vcl93YXJuKHBhY2tfbG9ja2ZpbGUpOwogCQlpZiAocmVwb3J0X3N0YXR1cykKIAkJCXJlcG9ydChjb21tYW5kcywgdW5wYWNrX3N0YXR1cyk7Ci0JCXJ1bl9yZWNlaXZlX2hvb2soY29tbWFuZHMsICJwb3N0LXJlY2VpdmUiLCAxKTsKKwkJcnVuX3JlY2VpdmVfaG9vayhjb21tYW5kcywgInBvc3QtcmVjZWl2ZSIsIDEsCisJCQkJICZwdXNoX29wdGlvbnMpOwogCQlydW5fdXBkYXRlX3Bvc3RfaG9vayhjb21tYW5kcyk7CisJCWlmIChwdXNoX29wdGlvbnMubnIpCisJCQlzdHJpbmdfbGlzdF9jbGVhcigmcHVzaF9vcHRpb25zLCAwKTsKIAkJaWYgKGF1dG9fZ2MpIHsKIAkJCWNvbnN0IGNoYXIgKmFyZ3ZfZ2NfYXV0b1tdID0gewogCQkJCSJnYyIsICItLWF1dG8iLCAiLS1xdWlldCIsIE5VTEwsCiAJCQl9OwotCQkJaW50IG9wdCA9IFJVTl9HSVRfQ01EIHwgUlVOX0NPTU1BTkRfU1RET1VUX1RPX1NUREVSUjsKKwkJCXN0cnVjdCBjaGlsZF9wcm9jZXNzIHByb2MgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisKKwkJCXByb2Mubm9fc3RkaW4gPSAxOworCQkJcHJvYy5zdGRvdXRfdG9fc3RkZXJyID0gMTsKKwkJCXByb2MuZXJyID0gdXNlX3NpZGViYW5kID8gLTEgOiAwOworCQkJcHJvYy5naXRfY21kID0gMTsKKwkJCXByb2MuYXJndiA9IGFyZ3ZfZ2NfYXV0bzsKKwogCQkJY2xvc2VfYWxsX3BhY2tzKCk7Ci0JCQlydW5fY29tbWFuZF92X29wdChhcmd2X2djX2F1dG8sIG9wdCk7CisJCQlpZiAoIXN0YXJ0X2NvbW1hbmQoJnByb2MpKSB7CisJCQkJaWYgKHVzZV9zaWRlYmFuZCkKKwkJCQkJY29weV90b19zaWRlYmFuZChwcm9jLmVyciwgLTEsIE5VTEwpOworCQkJCWZpbmlzaF9jb21tYW5kKCZwcm9jKTsKKwkJCX0KIAkJfQogCQlpZiAoYXV0b191cGRhdGVfc2VydmVyX2luZm8pCiAJCQl1cGRhdGVfc2VydmVyX2luZm8oMCk7CmRpZmYgLS1naXQgYS9idWlsdGluL3JlbW90ZS1leHQuYyBiL2J1aWx0aW4vcmVtb3RlLWV4dC5jCmluZGV4IDg4ZWI4ZjkuLjExYjQ4YmYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVtb3RlLWV4dC5jCisrKyBiL2J1aWx0aW4vcmVtb3RlLWV4dC5jCkBAIC0xMjgsOSArMTI4LDkgQEAKIAljb25zdCBjaGFyICp2aG9zdCkKIHsKIAlpZiAoIXZob3N0KQotCQlwYWNrZXRfd3JpdGUoc3RkaW5fZmQsICIlcyAlcyVjIiwgc2VydiwgcmVwbywgMCk7CisJCXBhY2tldF93cml0ZV9mbXQoc3RkaW5fZmQsICIlcyAlcyVjIiwgc2VydiwgcmVwbywgMCk7CiAJZWxzZQotCQlwYWNrZXRfd3JpdGUoc3RkaW5fZmQsICIlcyAlcyVjaG9zdD0lcyVjIiwgc2VydiwgcmVwbywgMCwKKwkJcGFja2V0X3dyaXRlX2ZtdChzdGRpbl9mZCwgIiVzICVzJWNob3N0PSVzJWMiLCBzZXJ2LCByZXBvLCAwLAogCQkJICAgICB2aG9zdCwgMCk7CiB9CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVtb3RlLmMgYi9idWlsdGluL3JlbW90ZS5jCmluZGV4IGQzMzc2NmIuLmU1MmNmMzkgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVtb3RlLmMKKysrIGIvYnVpbHRpbi9yZW1vdGUuYwpAQCAtMjQ3LDcgKzI0Nyw3IEBACiAJZW51bSB7IE5PX1JFQkFTRSwgTk9STUFMX1JFQkFTRSwgSU5URVJBQ1RJVkVfUkVCQVNFIH0gcmViYXNlOwogfTsKIAotc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBicmFuY2hfbGlzdDsKK3N0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgYnJhbmNoX2xpc3QgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCiBzdGF0aWMgY29uc3QgY2hhciAqYWJicmV2X3JlZihjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CkBAIC01MzksMTAgKzUzOSw2IEBACiAJCXJldHVybiAwOwogCX0KIAotCS8qIG1ha2Ugc3VyZSB0aGF0IHN5bXJlZnMgYXJlIGRlbGV0ZWQgKi8KLQlpZiAoZmxhZ3MgJiBSRUZfSVNTWU1SRUYpCi0JCXJldHVybiB1bmxpbmsoZ2l0X3BhdGgoIiVzIiwgcmVmbmFtZSkpOwotCiAJc3RyaW5nX2xpc3RfYXBwZW5kKGJyYW5jaGVzLT5icmFuY2hlcywgcmVmbmFtZSk7CiAKIAlyZXR1cm4gMDsKQEAgLTc4OCw3ICs3ODQsNyBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCiAJaWYgKCFyZXN1bHQpCi0JCXJlc3VsdCA9IGRlbGV0ZV9yZWZzKCZicmFuY2hlcyk7CisJCXJlc3VsdCA9IGRlbGV0ZV9yZWZzKCZicmFuY2hlcywgUkVGX05PREVSRUYpOwogCXN0cmluZ19saXN0X2NsZWFyKCZicmFuY2hlcywgMCk7CiAKIAlpZiAoc2tpcHBlZC5ucikgewpAQCAtOTUyLDcgKzk0OCw3IEBACiAJc3RydWN0IHNob3dfaW5mbyAqc2hvd19pbmZvID0gY2JfZGF0YTsKIAlzdHJ1Y3QgYnJhbmNoX2luZm8gKmJyYW5jaF9pbmZvID0gaXRlbS0+dXRpbDsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKm1lcmdlID0gJmJyYW5jaF9pbmZvLT5tZXJnZTsKLQljb25zdCBjaGFyICphbHNvOworCWludCB3aWR0aCA9IHNob3dfaW5mby0+d2lkdGggKyA0OwogCWludCBpOwogCiAJaWYgKGJyYW5jaF9pbmZvLT5yZWJhc2UgJiYgYnJhbmNoX2luZm8tPm1lcmdlLm5yID4gMSkgewpAQCAtOTYzLDE5ICs5NTksMTggQEAKIAogCXByaW50ZigiICAgICUtKnMgIiwgc2hvd19pbmZvLT53aWR0aCwgaXRlbS0+c3RyaW5nKTsKIAlpZiAoYnJhbmNoX2luZm8tPnJlYmFzZSkgewotCQlwcmludGZfbG4oXyhicmFuY2hfaW5mby0+cmViYXNlID09IElOVEVSQUNUSVZFX1JFQkFTRSA/Ci0JCQkicmViYXNlcyBpbnRlcmFjdGl2ZWx5IG9udG8gcmVtb3RlICVzIiA6Ci0JCQkicmViYXNlcyBvbnRvIHJlbW90ZSAlcyIpLCBtZXJnZS0+aXRlbXNbMF0uc3RyaW5nKTsKKwkJcHJpbnRmX2xuKGJyYW5jaF9pbmZvLT5yZWJhc2UgPT0gSU5URVJBQ1RJVkVfUkVCQVNFCisJCQkgID8gXygicmViYXNlcyBpbnRlcmFjdGl2ZWx5IG9udG8gcmVtb3RlICVzIikKKwkJCSAgOiBfKCJyZWJhc2VzIG9udG8gcmVtb3RlICVzIiksIG1lcmdlLT5pdGVtc1swXS5zdHJpbmcpOwogCQlyZXR1cm4gMDsKIAl9IGVsc2UgaWYgKHNob3dfaW5mby0+YW55X3JlYmFzZSkgewogCQlwcmludGZfbG4oXygiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIpLCBtZXJnZS0+aXRlbXNbMF0uc3RyaW5nKTsKLQkJYWxzbyA9IF8oIiAgICBhbmQgd2l0aCByZW1vdGUiKTsKKwkJd2lkdGgrKzsKIAl9IGVsc2UgewogCQlwcmludGZfbG4oXygibWVyZ2VzIHdpdGggcmVtb3RlICVzIiksIG1lcmdlLT5pdGVtc1swXS5zdHJpbmcpOwotCQlhbHNvID0gXygiICAgYW5kIHdpdGggcmVtb3RlIik7CiAJfQogCWZvciAoaSA9IDE7IGkgPCBtZXJnZS0+bnI7IGkrKykKLQkJcHJpbnRmKCIgICAgJS0qcyAlcyAlc1xuIiwgc2hvd19pbmZvLT53aWR0aCwgIiIsIGFsc28sCisJCXByaW50ZihfKCIlLSpzICAgIGFuZCB3aXRoIHJlbW90ZSAlc1xuIiksIHdpZHRoLCAiIiwKIAkJICAgICAgIG1lcmdlLT5pdGVtc1tpXS5zdHJpbmcpOwogCiAJcmV0dXJuIDA7CkBAIC0xMTU4LDExICsxMTUzLDExIEBACiAJCQkgICB0aGUgb25lIGluICIgIEZldGNoIFVSTDogJXMiIHRyYW5zbGF0aW9uICovCiAJCQlwcmludGZfbG4oXygiICBQdXNoICBVUkw6ICVzIiksIHVybFtpXSk7CiAJCWlmICghaSkKLQkJCXByaW50Zl9sbihfKCIgIFB1c2ggIFVSTDogJXMiKSwgIihubyBVUkwpIik7CisJCQlwcmludGZfbG4oXygiICBQdXNoICBVUkw6ICVzIiksIF8oIihubyBVUkwpIikpOwogCQlpZiAobm9fcXVlcnkpCi0JCQlwcmludGZfbG4oXygiICBIRUFEIGJyYW5jaDogJXMiKSwgIihub3QgcXVlcmllZCkiKTsKKwkJCXByaW50Zl9sbihfKCIgIEhFQUQgYnJhbmNoOiAlcyIpLCBfKCIobm90IHF1ZXJpZWQpIikpOwogCQllbHNlIGlmICghc3RhdGVzLmhlYWRzLm5yKQotCQkJcHJpbnRmX2xuKF8oIiAgSEVBRCBicmFuY2g6ICVzIiksICIodW5rbm93bikiKTsKKwkJCXByaW50Zl9sbihfKCIgIEhFQUQgYnJhbmNoOiAlcyIpLCBfKCIodW5rbm93bikiKSk7CiAJCWVsc2UgaWYgKHN0YXRlcy5oZWFkcy5uciA9PSAxKQogCQkJcHJpbnRmX2xuKF8oIiAgSEVBRCBicmFuY2g6ICVzIiksIHN0YXRlcy5oZWFkcy5pdGVtc1swXS5zdHJpbmcpOwogCQllbHNlIHsKQEAgLTEyMDIsOCArMTE5Nyw3IEBACiAKIAkJaW5mby53aWR0aCA9IGluZm8ud2lkdGgyID0gMDsKIAkJZm9yX2VhY2hfc3RyaW5nX2xpc3QoJnN0YXRlcy5wdXNoLCBhZGRfcHVzaF90b19zaG93X2luZm8sICZpbmZvKTsKLQkJcXNvcnQoaW5mby5saXN0LT5pdGVtcywgaW5mby5saXN0LT5uciwKLQkJCXNpemVvZigqaW5mby5saXN0LT5pdGVtcyksIGNtcF9zdHJpbmdfd2l0aF9wdXNoKTsKKwkJUVNPUlQoaW5mby5saXN0LT5pdGVtcywgaW5mby5saXN0LT5uciwgY21wX3N0cmluZ193aXRoX3B1c2gpOwogCQlpZiAoaW5mby5saXN0LT5ucikKIAkJCXByaW50Zl9sbihRXygiICBMb2NhbCByZWYgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIsCiAJCQkJICAgICAiICBMb2NhbCByZWZzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiLApAQCAtMTMwNSw3ICsxMjk5LDcgQEAKIAlzdHJpbmdfbGlzdF9zb3J0KCZyZWZzX3RvX3BydW5lKTsKIAogCWlmICghZHJ5X3J1bikKLQkJcmVzdWx0IHw9IGRlbGV0ZV9yZWZzKCZyZWZzX3RvX3BydW5lKTsKKwkJcmVzdWx0IHw9IGRlbGV0ZV9yZWZzKCZyZWZzX3RvX3BydW5lLCAwKTsKIAogCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgJnN0YXRlcy5zdGFsZSkgewogCQljb25zdCBjaGFyICpyZWZuYW1lID0gaXRlbS0+dXRpbDsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVwYWNrLmMgYi9idWlsdGluL3JlcGFjay5jCmluZGV4IDg1OGRiMzguLjgwZGQwNmIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVwYWNrLmMKKysrIGIvYnVpbHRpbi9yZXBhY2suYwpAQCAtMTQ2LDYgKzE0Niw3IEBACiAJaW50IHBhY2tfZXZlcnl0aGluZyA9IDA7CiAJaW50IGRlbGV0ZV9yZWR1bmRhbnQgPSAwOwogCWNvbnN0IGNoYXIgKnVucGFja191bnJlYWNoYWJsZSA9IE5VTEw7CisJaW50IGtlZXBfdW5yZWFjaGFibGUgPSAwOwogCWNvbnN0IGNoYXIgKndpbmRvdyA9IE5VTEwsICp3aW5kb3dfbWVtb3J5ID0gTlVMTDsKIAljb25zdCBjaGFyICpkZXB0aCA9IE5VTEw7CiAJY29uc3QgY2hhciAqbWF4X3BhY2tfc2l6ZSA9IE5VTEw7CkBAIC0xNzUsNiArMTc2LDggQEAKIAkJCQlOXygid3JpdGUgYml0bWFwIGluZGV4IikpLAogCQlPUFRfU1RSSU5HKDAsICJ1bnBhY2stdW5yZWFjaGFibGUiLCAmdW5wYWNrX3VucmVhY2hhYmxlLCBOXygiYXBwcm94aWRhdGUiKSwKIAkJCQlOXygid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIpKSwKKwkJT1BUX0JPT0woJ2snLCAia2VlcC11bnJlYWNoYWJsZSIsICZrZWVwX3VucmVhY2hhYmxlLAorCQkJCU5fKCJ3aXRoIC1hLCByZXBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyIpKSwKIAkJT1BUX1NUUklORygwLCAid2luZG93IiwgJndpbmRvdywgTl8oIm4iKSwKIAkJCQlOXygic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIikpLAogCQlPUFRfU1RSSU5HKDAsICJ3aW5kb3ctbWVtb3J5IiwgJndpbmRvd19tZW1vcnksIE5fKCJieXRlcyIpLApAQCAtMTk2LDYgKzE5OSwxMCBAQAogCWlmIChkZWxldGVfcmVkdW5kYW50ICYmIHJlcG9zaXRvcnlfZm9ybWF0X3ByZWNpb3VzX29iamVjdHMpCiAJCWRpZShfKCJjYW5ub3QgZGVsZXRlIHBhY2tzIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIikpOwogCisJaWYgKGtlZXBfdW5yZWFjaGFibGUgJiYKKwkgICAgKHVucGFja191bnJlYWNoYWJsZSB8fCAocGFja19ldmVyeXRoaW5nICYgTE9PU0VOX1VOUkVBQ0hBQkxFKSkpCisJCWRpZShfKCItLWtlZXAtdW5yZWFjaGFibGUgYW5kIC1BIGFyZSBpbmNvbXBhdGlibGUiKSk7CisKIAlpZiAocGFja19rZXB0X29iamVjdHMgPCAwKQogCQlwYWNrX2tlcHRfb2JqZWN0cyA9IHdyaXRlX2JpdG1hcHM7CiAKQEAgLTIzOSw2ICsyNDYsOSBAQAogCQkJfSBlbHNlIGlmIChwYWNrX2V2ZXJ5dGhpbmcgJiBMT09TRU5fVU5SRUFDSEFCTEUpIHsKIAkJCQlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLAogCQkJCQkJIi0tdW5wYWNrLXVucmVhY2hhYmxlIik7CisJCQl9IGVsc2UgaWYgKGtlZXBfdW5yZWFjaGFibGUpIHsKKwkJCQlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCAiLS1rZWVwLXVucmVhY2hhYmxlIik7CisJCQkJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgIi0tcGFjay1sb29zZS11bnJlYWNoYWJsZSIpOwogCQkJfSBlbHNlIHsKIAkJCQlhcmd2X2FycmF5X3B1c2goJmNtZC5lbnZfYXJyYXksICJHSVRfUkVGX1BBUkFOT0lBPTEiKTsKIAkJCX0KQEAgLTM3OCw3ICszODgsNyBAQAogCQkJCQkgIGl0ZW0tPnN0cmluZywKIAkJCQkJICBleHRzW2V4dF0ubmFtZSk7CiAJCQlpZiAocmVtb3ZlX3BhdGgoZm5hbWUpKQotCQkJCXdhcm5pbmcoXygicmVtb3ZpbmcgJyVzJyBmYWlsZWQiKSwgZm5hbWUpOworCQkJCXdhcm5pbmcoXygiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIiksIGZuYW1lKTsKIAkJCWZyZWUoZm5hbWUpOwogCQl9CiAJfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZXNldC5jIGIvYnVpbHRpbi9yZXNldC5jCmluZGV4IDA5MmMzYTUuLmMwNGFjMDcgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVzZXQuYworKysgYi9idWlsdGluL3Jlc2V0LmMKQEAgLTI0LDcgKzI0LDcgQEAKIAogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBnaXRfcmVzZXRfdXNhZ2VbXSA9IHsKIAlOXygiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbW1pdD5dIiksCi0JTl8oImdpdCByZXNldCBbLXFdIDx0cmVlLWlzaD4gWy0tXSA8cGF0aHM+Li4uIiksCisJTl8oImdpdCByZXNldCBbLXFdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRocz4uLi4iKSwKIAlOXygiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIiksCiAJTlVMTAogfTsKQEAgLTM5LDcgKzM5LDcgQEAKIAlyZXR1cm4gIWFjY2VzcyhnaXRfcGF0aF9tZXJnZV9oZWFkKCksIEZfT0spOwogfQogCi1zdGF0aWMgaW50IHJlc2V0X2luZGV4KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCByZXNldF90eXBlLCBpbnQgcXVpZXQpCitzdGF0aWMgaW50IHJlc2V0X2luZGV4KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgaW50IHJlc2V0X3R5cGUsIGludCBxdWlldCkKIHsKIAlpbnQgbnIgPSAxOwogCXN0cnVjdCB0cmVlX2Rlc2MgZGVzY1syXTsKQEAgLTY5LDIyICs2OSwyMiBAQAogCXJlYWRfY2FjaGVfdW5tZXJnZWQoKTsKIAogCWlmIChyZXNldF90eXBlID09IEtFRVApIHsKLQkJdW5zaWduZWQgY2hhciBoZWFkX3NoYTFbMjBdOwotCQlpZiAoZ2V0X3NoYTEoIkhFQUQiLCBoZWFkX3NoYTEpKQorCQlzdHJ1Y3Qgb2JqZWN0X2lkIGhlYWRfb2lkOworCQlpZiAoZ2V0X29pZCgiSEVBRCIsICZoZWFkX29pZCkpCiAJCQlyZXR1cm4gZXJyb3IoXygiWW91IGRvIG5vdCBoYXZlIGEgdmFsaWQgSEVBRC4iKSk7Ci0JCWlmICghZmlsbF90cmVlX2Rlc2NyaXB0b3IoZGVzYywgaGVhZF9zaGExKSkKKwkJaWYgKCFmaWxsX3RyZWVfZGVzY3JpcHRvcihkZXNjLCBoZWFkX29pZC5oYXNoKSkKIAkJCXJldHVybiBlcnJvcihfKCJGYWlsZWQgdG8gZmluZCB0cmVlIG9mIEhFQUQuIikpOwogCQlucisrOwogCQlvcHRzLmZuID0gdHdvd2F5X21lcmdlOwogCX0KIAotCWlmICghZmlsbF90cmVlX2Rlc2NyaXB0b3IoZGVzYyArIG5yIC0gMSwgc2hhMSkpCi0JCXJldHVybiBlcnJvcihfKCJGYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzLiIpLCBzaGExX3RvX2hleChzaGExKSk7CisJaWYgKCFmaWxsX3RyZWVfZGVzY3JpcHRvcihkZXNjICsgbnIgLSAxLCBvaWQtPmhhc2gpKQorCQlyZXR1cm4gZXJyb3IoXygiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcy4iKSwgb2lkX3RvX2hleChvaWQpKTsKIAlpZiAodW5wYWNrX3RyZWVzKG5yLCBkZXNjLCAmb3B0cykpCiAJCXJldHVybiAtMTsKIAogCWlmIChyZXNldF90eXBlID09IE1JWEVEIHx8IHJlc2V0X3R5cGUgPT0gSEFSRCkgewotCQl0cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdChzaGExKTsKKwkJdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3Qob2lkLT5oYXNoKTsKIAkJcHJpbWVfY2FjaGVfdHJlZSgmdGhlX2luZGV4LCB0cmVlKTsKIAl9CiAKQEAgLTEwMyw3ICsxMDMsNyBAQAogCWlmIChib2R5KSB7CiAJCWNvbnN0IGNoYXIgKmVvbDsKIAkJc2l6ZV90IGxlbjsKLQkJYm9keSArPSAyOworCQlib2R5ID0gc2tpcF9ibGFua19saW5lcyhib2R5ICsgMik7CiAJCWVvbCA9IHN0cmNocihib2R5LCAnXG4nKTsKIAkJbGVuID0gZW9sID8gZW9sIC0gYm9keSA6IHN0cmxlbihib2R5KTsKIAkJcHJpbnRmKCIgJS4qc1xuIiwgKGludCkgbGVuLCBib2R5KTsKQEAgLTEyMSw3ICsxMjEsNyBAQAogCiAJZm9yIChpID0gMDsgaSA8IHEtPm5yOyBpKyspIHsKIAkJc3RydWN0IGRpZmZfZmlsZXNwZWMgKm9uZSA9IHEtPnF1ZXVlW2ldLT5vbmU7Ci0JCWludCBpc19taXNzaW5nID0gIShvbmUtPm1vZGUgJiYgIWlzX251bGxfc2hhMShvbmUtPnNoYTEpKTsKKwkJaW50IGlzX21pc3NpbmcgPSAhKG9uZS0+bW9kZSAmJiAhaXNfbnVsbF9vaWQoJm9uZS0+b2lkKSk7CiAJCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7CiAKIAkJaWYgKGlzX21pc3NpbmcgJiYgIWludGVudF90b19hZGQpIHsKQEAgLTEyOSw3ICsxMjksNyBAQAogCQkJY29udGludWU7CiAJCX0KIAotCQljZSA9IG1ha2VfY2FjaGVfZW50cnkob25lLT5tb2RlLCBvbmUtPnNoYTEsIG9uZS0+cGF0aCwKKwkJY2UgPSBtYWtlX2NhY2hlX2VudHJ5KG9uZS0+bW9kZSwgb25lLT5vaWQuaGFzaCwgb25lLT5wYXRoLAogCQkJCSAgICAgIDAsIDApOwogCQlpZiAoIWNlKQogCQkJZGllKF8oIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciKSwKQEAgLTE0Myw3ICsxNDMsNyBAQAogfQogCiBzdGF0aWMgaW50IHJlYWRfZnJvbV90cmVlKGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCi0JCQkgIHVuc2lnbmVkIGNoYXIgKnRyZWVfc2hhMSwKKwkJCSAgc3RydWN0IG9iamVjdF9pZCAqdHJlZV9vaWQsCiAJCQkgIGludCBpbnRlbnRfdG9fYWRkKQogewogCXN0cnVjdCBkaWZmX29wdGlvbnMgb3B0OwpAQCAtMTU0LDExICsxNTQsMTEgQEAKIAlvcHQuZm9ybWF0X2NhbGxiYWNrID0gdXBkYXRlX2luZGV4X2Zyb21fZGlmZjsKIAlvcHQuZm9ybWF0X2NhbGxiYWNrX2RhdGEgPSAmaW50ZW50X3RvX2FkZDsKIAotCWlmIChkb19kaWZmX2NhY2hlKHRyZWVfc2hhMSwgJm9wdCkpCisJaWYgKGRvX2RpZmZfY2FjaGUodHJlZV9vaWQtPmhhc2gsICZvcHQpKQogCQlyZXR1cm4gMTsKIAlkaWZmY29yZV9zdGQoJm9wdCk7CiAJZGlmZl9mbHVzaCgmb3B0KTsKLQlmcmVlX3BhdGhzcGVjKCZvcHQucGF0aHNwZWMpOworCWNsZWFyX3BhdGhzcGVjKCZvcHQucGF0aHNwZWMpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xOTEsNyArMTkxLDcgQEAKIAkJICAgICAgIGNvbnN0IGNoYXIgKipyZXZfcmV0KQogewogCWNvbnN0IGNoYXIgKnJldiA9ICJIRUFEIjsKLQl1bnNpZ25lZCBjaGFyIHVudXNlZFsyMF07CisJc3RydWN0IG9iamVjdF9pZCB1bnVzZWQ7CiAJLyoKIAkgKiBQb3NzaWJsZSBhcmd1bWVudHMgYXJlOgogCSAqCkBAIC0yMTYsOCArMjE2LDggQEAKIAkJICogaGFzIHRvIGJlIHVuYW1iaWd1b3VzLiBJZiB0aGVyZSBpcyBhIHNpbmdsZSBhcmd1bWVudCwgaXQKIAkJICogY2FuIG5vdCBiZSBhIHRyZWUKIAkJICovCi0JCWVsc2UgaWYgKCghYXJndlsxXSAmJiAhZ2V0X3NoYTFfY29tbWl0dGlzaChhcmd2WzBdLCB1bnVzZWQpKSB8fAotCQkJIChhcmd2WzFdICYmICFnZXRfc2hhMV90cmVlaXNoKGFyZ3ZbMF0sIHVudXNlZCkpKSB7CisJCWVsc2UgaWYgKCghYXJndlsxXSAmJiAhZ2V0X3NoYTFfY29tbWl0dGlzaChhcmd2WzBdLCB1bnVzZWQuaGFzaCkpIHx8CisJCQkgKGFyZ3ZbMV0gJiYgIWdldF9zaGExX3RyZWVpc2goYXJndlswXSwgdW51c2VkLmhhc2gpKSkgewogCQkJLyoKIAkJCSAqIE9rLCBhcmd2WzBdIGxvb2tzIGxpa2UgYSBjb21taXQvdHJlZTsgaXQgc2hvdWxkIG5vdAogCQkJICogYmUgYSBmaWxlbmFtZS4KQEAgLTI0MSwyNCArMjQxLDI0IEBACiAJCSAgICAgICBwcmVmaXgsIGFyZ3YpOwogfQogCi1zdGF0aWMgaW50IHJlc2V0X3JlZnMoY29uc3QgY2hhciAqcmV2LCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIGludCByZXNldF9yZWZzKGNvbnN0IGNoYXIgKnJldiwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCWludCB1cGRhdGVfcmVmX3N0YXR1czsKIAlzdHJ1Y3Qgc3RyYnVmIG1zZyA9IFNUUkJVRl9JTklUOwotCXVuc2lnbmVkIGNoYXIgKm9yaWcgPSBOVUxMLCBzaGExX29yaWdbMjBdLAotCQkqb2xkX29yaWcgPSBOVUxMLCBzaGExX29sZF9vcmlnWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkICpvcmlnID0gTlVMTCwgb2lkX29yaWcsCisJCSpvbGRfb3JpZyA9IE5VTEwsIG9pZF9vbGRfb3JpZzsKIAotCWlmICghZ2V0X3NoYTEoIk9SSUdfSEVBRCIsIHNoYTFfb2xkX29yaWcpKQotCQlvbGRfb3JpZyA9IHNoYTFfb2xkX29yaWc7Ci0JaWYgKCFnZXRfc2hhMSgiSEVBRCIsIHNoYTFfb3JpZykpIHsKLQkJb3JpZyA9IHNoYTFfb3JpZzsKKwlpZiAoIWdldF9vaWQoIk9SSUdfSEVBRCIsICZvaWRfb2xkX29yaWcpKQorCQlvbGRfb3JpZyA9ICZvaWRfb2xkX29yaWc7CisJaWYgKCFnZXRfb2lkKCJIRUFEIiwgJm9pZF9vcmlnKSkgeworCQlvcmlnID0gJm9pZF9vcmlnOwogCQlzZXRfcmVmbG9nX21lc3NhZ2UoJm1zZywgInVwZGF0aW5nIE9SSUdfSEVBRCIsIE5VTEwpOwotCQl1cGRhdGVfcmVmKG1zZy5idWYsICJPUklHX0hFQUQiLCBvcmlnLCBvbGRfb3JpZywgMCwKKwkJdXBkYXRlX3JlZl9vaWQobXNnLmJ1ZiwgIk9SSUdfSEVBRCIsIG9yaWcsIG9sZF9vcmlnLCAwLAogCQkJICAgVVBEQVRFX1JFRlNfTVNHX09OX0VSUik7CiAJfSBlbHNlIGlmIChvbGRfb3JpZykKLQkJZGVsZXRlX3JlZigiT1JJR19IRUFEIiwgb2xkX29yaWcsIDApOworCQlkZWxldGVfcmVmKCJPUklHX0hFQUQiLCBvbGRfb3JpZy0+aGFzaCwgMCk7CiAJc2V0X3JlZmxvZ19tZXNzYWdlKCZtc2csICJ1cGRhdGluZyBIRUFEIiwgcmV2KTsKLQl1cGRhdGVfcmVmX3N0YXR1cyA9IHVwZGF0ZV9yZWYobXNnLmJ1ZiwgIkhFQUQiLCBzaGExLCBvcmlnLCAwLAorCXVwZGF0ZV9yZWZfc3RhdHVzID0gdXBkYXRlX3JlZl9vaWQobXNnLmJ1ZiwgIkhFQUQiLCBvaWQsIG9yaWcsIDAsCiAJCQkJICAgICAgIFVQREFURV9SRUZTX01TR19PTl9FUlIpOwogCXN0cmJ1Zl9yZWxlYXNlKCZtc2cpOwogCXJldHVybiB1cGRhdGVfcmVmX3N0YXR1czsKQEAgLTM1NywxNSArMzU3LDE1IEBACiAJCWhvbGRfbG9ja2VkX2luZGV4KGxvY2ssIDEpOwogCQlpZiAocmVzZXRfdHlwZSA9PSBNSVhFRCkgewogCQkJaW50IGZsYWdzID0gcXVpZXQgPyBSRUZSRVNIX1FVSUVUIDogUkVGUkVTSF9JTl9QT1JDRUxBSU47Ci0JCQlpZiAocmVhZF9mcm9tX3RyZWUoJnBhdGhzcGVjLCBvaWQuaGFzaCwgaW50ZW50X3RvX2FkZCkpCisJCQlpZiAocmVhZF9mcm9tX3RyZWUoJnBhdGhzcGVjLCAmb2lkLCBpbnRlbnRfdG9fYWRkKSkKIAkJCQlyZXR1cm4gMTsKIAkJCWlmIChnZXRfZ2l0X3dvcmtfdHJlZSgpKQogCQkJCXJlZnJlc2hfaW5kZXgoJnRoZV9pbmRleCwgZmxhZ3MsIE5VTEwsIE5VTEwsCiAJCQkJCSAgICAgIF8oIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IikpOwogCQl9IGVsc2UgewotCQkJaW50IGVyciA9IHJlc2V0X2luZGV4KG9pZC5oYXNoLCByZXNldF90eXBlLCBxdWlldCk7CisJCQlpbnQgZXJyID0gcmVzZXRfaW5kZXgoJm9pZCwgcmVzZXRfdHlwZSwgcXVpZXQpOwogCQkJaWYgKHJlc2V0X3R5cGUgPT0gS0VFUCAmJiAhZXJyKQotCQkJCWVyciA9IHJlc2V0X2luZGV4KG9pZC5oYXNoLCBNSVhFRCwgcXVpZXQpOworCQkJCWVyciA9IHJlc2V0X2luZGV4KCZvaWQsIE1JWEVELCBxdWlldCk7CiAJCQlpZiAoZXJyKQogCQkJCWRpZShfKCJDb3VsZCBub3QgcmVzZXQgaW5kZXggZmlsZSB0byByZXZpc2lvbiAnJXMnLiIpLCByZXYpOwogCQl9CkBAIC0zNzcsNyArMzc3LDcgQEAKIAlpZiAoIXBhdGhzcGVjLm5yICYmICF1bmJvcm4pIHsKIAkJLyogQW55IHJlc2V0cyB3aXRob3V0IHBhdGhzIHVwZGF0ZSBIRUFEIHRvIHRoZSBoZWFkIGJlaW5nCiAJCSAqIHN3aXRjaGVkIHRvLCBzYXZpbmcgdGhlIHByZXZpb3VzIGhlYWQgaW4gT1JJR19IRUFEIGJlZm9yZS4gKi8KLQkJdXBkYXRlX3JlZl9zdGF0dXMgPSByZXNldF9yZWZzKHJldiwgb2lkLmhhc2gpOworCQl1cGRhdGVfcmVmX3N0YXR1cyA9IHJlc2V0X3JlZnMocmV2LCAmb2lkKTsKIAogCQlpZiAocmVzZXRfdHlwZSA9PSBIQVJEICYmICF1cGRhdGVfcmVmX3N0YXR1cyAmJiAhcXVpZXQpCiAJCQlwcmludF9uZXdfaGVhZF9saW5lKGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG9pZC5oYXNoKSk7CmRpZmYgLS1naXQgYS9idWlsdGluL3Jldi1saXN0LmMgYi9idWlsdGluL3Jldi1saXN0LmMKaW5kZXggMjc1ZGEwZC4uYzQzZGVjZCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9yZXYtbGlzdC5jCisrKyBiL2J1aWx0aW4vcmV2LWxpc3QuYwpAQCAtOSw2ICs5LDcgQEAKICNpbmNsdWRlICJsb2ctdHJlZS5oIgogI2luY2x1ZGUgImdyYXBoLmgiCiAjaW5jbHVkZSAiYmlzZWN0LmgiCisjaW5jbHVkZSAicHJvZ3Jlc3MuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgcmV2X2xpc3RfdXNhZ2VbXSA9CiAiZ2l0IHJldi1saXN0IFtPUFRJT05dIDxjb21taXQtaWQ+Li4uIFsgLS0gcGF0aHMuLi4gXVxuIgpAQCAtNDksMTIgKzUwLDE3IEBACiAiICAgIC0tYmlzZWN0LWFsbCIKIDsKIAorc3RhdGljIHN0cnVjdCBwcm9ncmVzcyAqcHJvZ3Jlc3M7CitzdGF0aWMgdW5zaWduZWQgcHJvZ3Jlc3NfY291bnRlcjsKKwogc3RhdGljIHZvaWQgZmluaXNoX2NvbW1pdChzdHJ1Y3QgY29tbWl0ICpjb21taXQsIHZvaWQgKmRhdGEpOwogc3RhdGljIHZvaWQgc2hvd19jb21taXQoc3RydWN0IGNvbW1pdCAqY29tbWl0LCB2b2lkICpkYXRhKQogewogCXN0cnVjdCByZXZfbGlzdF9pbmZvICppbmZvID0gZGF0YTsKIAlzdHJ1Y3QgcmV2X2luZm8gKnJldnMgPSBpbmZvLT5yZXZzOwogCisJZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzcywgKytwcm9ncmVzc19jb3VudGVyKTsKKwogCWlmIChpbmZvLT5mbGFncyAmIFJFVl9MSVNUX1FVSUVUKSB7CiAJCWZpbmlzaF9jb21taXQoY29tbWl0LCBkYXRhKTsKIAkJcmV0dXJuOwpAQCAtMTE2LDQ4ICsxMjIsNDAgQEAKIAkJY3R4LmZtdCA9IHJldnMtPmNvbW1pdF9mb3JtYXQ7CiAJCWN0eC5vdXRwdXRfZW5jb2RpbmcgPSBnZXRfbG9nX291dHB1dF9lbmNvZGluZygpOwogCQlwcmV0dHlfcHJpbnRfY29tbWl0KCZjdHgsIGNvbW1pdCwgJmJ1Zik7Ci0JCWlmIChyZXZzLT5ncmFwaCkgewotCQkJaWYgKGJ1Zi5sZW4pIHsKLQkJCQlpZiAocmV2cy0+Y29tbWl0X2Zvcm1hdCAhPSBDTUlUX0ZNVF9PTkVMSU5FKQotCQkJCQlncmFwaF9zaG93X29uZWxpbmUocmV2cy0+Z3JhcGgpOworCQlpZiAoYnVmLmxlbikgeworCQkJaWYgKHJldnMtPmNvbW1pdF9mb3JtYXQgIT0gQ01JVF9GTVRfT05FTElORSkKKwkJCQlncmFwaF9zaG93X29uZWxpbmUocmV2cy0+Z3JhcGgpOwogCi0JCQkJZ3JhcGhfc2hvd19jb21taXRfbXNnKHJldnMtPmdyYXBoLCAmYnVmKTsKKwkJCWdyYXBoX3Nob3dfY29tbWl0X21zZyhyZXZzLT5ncmFwaCwgc3Rkb3V0LCAmYnVmKTsKIAotCQkJCS8qCi0JCQkJICogQWRkIGEgbmV3bGluZSBhZnRlciB0aGUgY29tbWl0IG1lc3NhZ2UuCi0JCQkJICoKLQkJCQkgKiBVc3VhbGx5LCB0aGlzIG5ld2xpbmUgcHJvZHVjZXMgYSBibGFuawotCQkJCSAqIHBhZGRpbmcgbGluZSBiZXR3ZWVuIGVudHJpZXMsIGluIHdoaWNoIGNhc2UKLQkJCQkgKiB3ZSBuZWVkIHRvIGFkZCBncmFwaCBwYWRkaW5nIG9uIHRoaXMgbGluZS4KLQkJCQkgKgotCQkJCSAqIEhvd2V2ZXIsIHRoZSBjb21taXQgbWVzc2FnZSBtYXkgbm90IGVuZCBpbiBhCi0JCQkJICogbmV3bGluZS4gIEluIHRoaXMgY2FzZSB0aGUgbmV3bGluZSBzaW1wbHkKLQkJCQkgKiBlbmRzIHRoZSBsYXN0IGxpbmUgb2YgdGhlIGNvbW1pdCBtZXNzYWdlLAotCQkJCSAqIGFuZCB3ZSBkb24ndCBuZWVkIGFueSBncmFwaCBvdXRwdXQuICAoVGhpcwotCQkJCSAqIGFsd2F5cyBoYXBwZW5zIHdpdGggQ01JVF9GTVRfT05FTElORSwgYW5kIGl0Ci0JCQkJICogaGFwcGVucyB3aXRoIENNSVRfRk1UX1VTRVJGT1JNQVQgd2hlbiB0aGUKLQkJCQkgKiBmb3JtYXQgZG9lc24ndCBleHBsaWNpdGx5IGVuZCBpbiBhIG5ld2xpbmUuKQotCQkJCSAqLwotCQkJCWlmIChidWYubGVuICYmIGJ1Zi5idWZbYnVmLmxlbiAtIDFdID09ICdcbicpCi0JCQkJCWdyYXBoX3Nob3dfcGFkZGluZyhyZXZzLT5ncmFwaCk7Ci0JCQkJcHV0Y2hhcignXG4nKTsKLQkJCX0gZWxzZSB7Ci0JCQkJLyoKLQkJCQkgKiBJZiB0aGUgbWVzc2FnZSBidWZmZXIgaXMgZW1wdHksIGp1c3Qgc2hvdwotCQkJCSAqIHRoZSByZXN0IG9mIHRoZSBncmFwaCBvdXRwdXQgZm9yIHRoaXMKLQkJCQkgKiBjb21taXQuCi0JCQkJICovCi0JCQkJaWYgKGdyYXBoX3Nob3dfcmVtYWluZGVyKHJldnMtPmdyYXBoKSkKLQkJCQkJcHV0Y2hhcignXG4nKTsKLQkJCQlpZiAocmV2cy0+Y29tbWl0X2Zvcm1hdCA9PSBDTUlUX0ZNVF9PTkVMSU5FKQotCQkJCQlwdXRjaGFyKCdcbicpOwotCQkJfQorCQkJLyoKKwkJCSAqIEFkZCBhIG5ld2xpbmUgYWZ0ZXIgdGhlIGNvbW1pdCBtZXNzYWdlLgorCQkJICoKKwkJCSAqIFVzdWFsbHksIHRoaXMgbmV3bGluZSBwcm9kdWNlcyBhIGJsYW5rCisJCQkgKiBwYWRkaW5nIGxpbmUgYmV0d2VlbiBlbnRyaWVzLCBpbiB3aGljaCBjYXNlCisJCQkgKiB3ZSBuZWVkIHRvIGFkZCBncmFwaCBwYWRkaW5nIG9uIHRoaXMgbGluZS4KKwkJCSAqCisJCQkgKiBIb3dldmVyLCB0aGUgY29tbWl0IG1lc3NhZ2UgbWF5IG5vdCBlbmQgaW4gYQorCQkJICogbmV3bGluZS4gIEluIHRoaXMgY2FzZSB0aGUgbmV3bGluZSBzaW1wbHkKKwkJCSAqIGVuZHMgdGhlIGxhc3QgbGluZSBvZiB0aGUgY29tbWl0IG1lc3NhZ2UsCisJCQkgKiBhbmQgd2UgZG9uJ3QgbmVlZCBhbnkgZ3JhcGggb3V0cHV0LiAgKFRoaXMKKwkJCSAqIGFsd2F5cyBoYXBwZW5zIHdpdGggQ01JVF9GTVRfT05FTElORSwgYW5kIGl0CisJCQkgKiBoYXBwZW5zIHdpdGggQ01JVF9GTVRfVVNFUkZPUk1BVCB3aGVuIHRoZQorCQkJICogZm9ybWF0IGRvZXNuJ3QgZXhwbGljaXRseSBlbmQgaW4gYSBuZXdsaW5lLikKKwkJCSAqLworCQkJaWYgKGJ1Zi5sZW4gJiYgYnVmLmJ1ZltidWYubGVuIC0gMV0gPT0gJ1xuJykKKwkJCQlncmFwaF9zaG93X3BhZGRpbmcocmV2cy0+Z3JhcGgpOworCQkJcHV0Y2hhcihpbmZvLT5oZHJfdGVybWluYXRpb24pOwogCQl9IGVsc2UgewotCQkJaWYgKHJldnMtPmNvbW1pdF9mb3JtYXQgIT0gQ01JVF9GTVRfVVNFUkZPUk1BVCB8fAotCQkJICAgIGJ1Zi5sZW4pIHsKLQkJCQlmd3JpdGUoYnVmLmJ1ZiwgMSwgYnVmLmxlbiwgc3Rkb3V0KTsKLQkJCQlwdXRjaGFyKGluZm8tPmhkcl90ZXJtaW5hdGlvbik7Ci0JCQl9CisJCQkvKgorCQkJICogSWYgdGhlIG1lc3NhZ2UgYnVmZmVyIGlzIGVtcHR5LCBqdXN0IHNob3cKKwkJCSAqIHRoZSByZXN0IG9mIHRoZSBncmFwaCBvdXRwdXQgZm9yIHRoaXMKKwkJCSAqIGNvbW1pdC4KKwkJCSAqLworCQkJaWYgKGdyYXBoX3Nob3dfcmVtYWluZGVyKHJldnMtPmdyYXBoKSkKKwkJCQlwdXRjaGFyKCdcbicpOworCQkJaWYgKHJldnMtPmNvbW1pdF9mb3JtYXQgPT0gQ01JVF9GTVRfT05FTElORSkKKwkJCQlwdXRjaGFyKCdcbicpOwogCQl9CiAJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCX0gZWxzZSB7CkBAIC0xOTAsNiArMTg4LDcgQEAKIHsKIAlzdHJ1Y3QgcmV2X2xpc3RfaW5mbyAqaW5mbyA9IGNiX2RhdGE7CiAJZmluaXNoX29iamVjdChvYmosIG5hbWUsIGNiX2RhdGEpOworCWRpc3BsYXlfcHJvZ3Jlc3MocHJvZ3Jlc3MsICsrcHJvZ3Jlc3NfY291bnRlcik7CiAJaWYgKGluZm8tPmZsYWdzICYgUkVWX0xJU1RfUVVJRVQpCiAJCXJldHVybjsKIAlzaG93X29iamVjdF93aXRoX25hbWUoc3Rkb3V0LCBvYmosIG5hbWUpOwpAQCAtMjc2LDYgKzI3NSw3IEBACiAJaW50IGJpc2VjdF9zaG93X3ZhcnMgPSAwOwogCWludCBiaXNlY3RfZmluZF9hbGwgPSAwOwogCWludCB1c2VfYml0bWFwX2luZGV4ID0gMDsKKwljb25zdCBjaGFyICpzaG93X3Byb2dyZXNzID0gTlVMTDsKIAogCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKIAlpbml0X3JldmlzaW9ucygmcmV2cywgcHJlZml4KTsKQEAgLTMyNSw2ICszMjUsMTAgQEAKIAkJCXRlc3RfYml0bWFwX3dhbGsoJnJldnMpOwogCQkJcmV0dXJuIDA7CiAJCX0KKwkJaWYgKHNraXBfcHJlZml4KGFyZywgIi0tcHJvZ3Jlc3M9IiwgJmFyZykpIHsKKwkJCXNob3dfcHJvZ3Jlc3MgPSBhcmc7CisJCQljb250aW51ZTsKKwkJfQogCQl1c2FnZShyZXZfbGlzdF91c2FnZSk7CiAKIAl9CkBAIC0zNTUsMTUgKzM1OSwyMiBAQAogCWlmIChiaXNlY3RfbGlzdCkKIAkJcmV2cy5saW1pdGVkID0gMTsKIAorCWlmIChzaG93X3Byb2dyZXNzKQorCQlwcm9ncmVzcyA9IHN0YXJ0X3Byb2dyZXNzX2RlbGF5KHNob3dfcHJvZ3Jlc3MsIDAsIDAsIDIpOworCiAJaWYgKHVzZV9iaXRtYXBfaW5kZXggJiYgIXJldnMucHJ1bmUpIHsKIAkJaWYgKHJldnMuY291bnQgJiYgIXJldnMubGVmdF9yaWdodCAmJiAhcmV2cy5jaGVycnlfbWFyaykgewogCQkJdWludDMyX3QgY29tbWl0X2NvdW50OworCQkJaW50IG1heF9jb3VudCA9IHJldnMubWF4X2NvdW50OwogCQkJaWYgKCFwcmVwYXJlX2JpdG1hcF93YWxrKCZyZXZzKSkgewogCQkJCWNvdW50X2JpdG1hcF9jb21taXRfbGlzdCgmY29tbWl0X2NvdW50LCBOVUxMLCBOVUxMLCBOVUxMKTsKKwkJCQlpZiAobWF4X2NvdW50ID49IDAgJiYgbWF4X2NvdW50IDwgY29tbWl0X2NvdW50KQorCQkJCQljb21taXRfY291bnQgPSBtYXhfY291bnQ7CiAJCQkJcHJpbnRmKCIlZFxuIiwgY29tbWl0X2NvdW50KTsKIAkJCQlyZXR1cm4gMDsKIAkJCX0KLQkJfSBlbHNlIGlmIChyZXZzLnRhZ19vYmplY3RzICYmIHJldnMudHJlZV9vYmplY3RzICYmIHJldnMuYmxvYl9vYmplY3RzKSB7CisJCX0gZWxzZSBpZiAocmV2cy5tYXhfY291bnQgPCAwICYmCisJCQkgICByZXZzLnRhZ19vYmplY3RzICYmIHJldnMudHJlZV9vYmplY3RzICYmIHJldnMuYmxvYl9vYmplY3RzKSB7CiAJCQlpZiAoIXByZXBhcmVfYml0bWFwX3dhbGsoJnJldnMpKSB7CiAJCQkJdHJhdmVyc2VfYml0bWFwX2NvbW1pdF9saXN0KCZzaG93X29iamVjdF9mYXN0KTsKIAkJCQlyZXR1cm4gMDsKQEAgLTM4OCw2ICszOTksOCBAQAogCiAJdHJhdmVyc2VfY29tbWl0X2xpc3QoJnJldnMsIHNob3dfY29tbWl0LCBzaG93X29iamVjdCwgJmluZm8pOwogCisJc3RvcF9wcm9ncmVzcygmcHJvZ3Jlc3MpOworCiAJaWYgKHJldnMuY291bnQpIHsKIAkJaWYgKHJldnMubGVmdF9yaWdodCAmJiByZXZzLmNoZXJyeV9tYXJrKQogCQkJcHJpbnRmKCIlZFx0JWRcdCVkXG4iLCByZXZzLmNvdW50X2xlZnQsIHJldnMuY291bnRfcmlnaHQsIHJldnMuY291bnRfc2FtZSk7CmRpZmYgLS1naXQgYS9idWlsdGluL3Jldi1wYXJzZS5jIGIvYnVpbHRpbi9yZXYtcGFyc2UuYwppbmRleCBjOTYxYjc0Li5jZmIwZjE1IDEwMDY0NAotLS0gYS9idWlsdGluL3Jldi1wYXJzZS5jCisrKyBiL2J1aWx0aW4vcmV2LXBhcnNlLmMKQEAgLTI5OCwxNCArMjk4LDMwIEBACiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzOwotCWludCBwYXJlbnRzX29ubHk7CisJaW50IHBhcmVudF9udW1iZXI7CisJaW50IGluY2x1ZGVfcmV2ID0gMDsKKwlpbnQgaW5jbHVkZV9wYXJlbnRzID0gMDsKKwlpbnQgZXhjbHVkZV9wYXJlbnQgPSAwOwogCi0JaWYgKChkb3Rkb3QgPSBzdHJzdHIoYXJnLCAiXiEiKSkpCi0JCXBhcmVudHNfb25seSA9IDA7Ci0JZWxzZSBpZiAoKGRvdGRvdCA9IHN0cnN0cihhcmcsICJeQCIpKSkKLQkJcGFyZW50c19vbmx5ID0gMTsKKwlpZiAoKGRvdGRvdCA9IHN0cnN0cihhcmcsICJeISIpKSkgeworCQlpbmNsdWRlX3JldiA9IDE7CisJCWlmIChkb3Rkb3RbMl0pCisJCQlyZXR1cm4gMDsKKwl9IGVsc2UgaWYgKChkb3Rkb3QgPSBzdHJzdHIoYXJnLCAiXkAiKSkpIHsKKwkJaW5jbHVkZV9wYXJlbnRzID0gMTsKKwkJaWYgKGRvdGRvdFsyXSkKKwkJCXJldHVybiAwOworCX0gZWxzZSBpZiAoKGRvdGRvdCA9IHN0cnN0cihhcmcsICJeLSIpKSkgeworCQlpbmNsdWRlX3JldiA9IDE7CisJCWV4Y2x1ZGVfcGFyZW50ID0gMTsKIAotCWlmICghZG90ZG90IHx8IGRvdGRvdFsyXSkKKwkJaWYgKGRvdGRvdFsyXSkgeworCQkJY2hhciAqZW5kOworCQkJZXhjbHVkZV9wYXJlbnQgPSBzdHJ0b3VsKGRvdGRvdCArIDIsICZlbmQsIDEwKTsKKwkJCWlmICgqZW5kICE9ICdcMCcgfHwgIWV4Y2x1ZGVfcGFyZW50KQorCQkJCXJldHVybiAwOworCQl9CisJfSBlbHNlCiAJCXJldHVybiAwOwogCiAJKmRvdGRvdCA9IDA7CkBAIC0zMTQsMTIgKzMzMCwyNCBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQlpZiAoIXBhcmVudHNfb25seSkKLQkJc2hvd19yZXYoTk9STUFMLCBzaGExLCBhcmcpOwogCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHNoYTEpOwotCWZvciAocGFyZW50cyA9IGNvbW1pdC0+cGFyZW50czsgcGFyZW50czsgcGFyZW50cyA9IHBhcmVudHMtPm5leHQpCi0JCXNob3dfcmV2KHBhcmVudHNfb25seSA/IE5PUk1BTCA6IFJFVkVSU0VELAotCQkJCXBhcmVudHMtPml0ZW0tPm9iamVjdC5vaWQuaGFzaCwgYXJnKTsKKwlpZiAoZXhjbHVkZV9wYXJlbnQgJiYKKwkgICAgZXhjbHVkZV9wYXJlbnQgPiBjb21taXRfbGlzdF9jb3VudChjb21taXQtPnBhcmVudHMpKSB7CisJCSpkb3Rkb3QgPSAnXic7CisJCXJldHVybiAwOworCX0KKworCWlmIChpbmNsdWRlX3JldikKKwkJc2hvd19yZXYoTk9STUFMLCBzaGExLCBhcmcpOworCWZvciAocGFyZW50cyA9IGNvbW1pdC0+cGFyZW50cywgcGFyZW50X251bWJlciA9IDE7CisJICAgICBwYXJlbnRzOworCSAgICAgcGFyZW50cyA9IHBhcmVudHMtPm5leHQsIHBhcmVudF9udW1iZXIrKykgeworCQlpZiAoZXhjbHVkZV9wYXJlbnQgJiYgcGFyZW50X251bWJlciAhPSBleGNsdWRlX3BhcmVudCkKKwkJCWNvbnRpbnVlOworCisJCXNob3dfcmV2KGluY2x1ZGVfcGFyZW50cyA/IE5PUk1BTCA6IFJFVkVSU0VELAorCQkJIHBhcmVudHMtPml0ZW0tPm9iamVjdC5vaWQuaGFzaCwgYXJnKTsKKwl9CiAKIAkqZG90ZG90ID0gJ14nOwogCXJldHVybiAxOwpAQCAtNDY5LDcgKzQ5Nyw3IEBACiAJCQkoc3RvcF9hdF9ub25fb3B0aW9uID8gUEFSU0VfT1BUX1NUT1BfQVRfTk9OX09QVElPTiA6IDApIHwKIAkJCVBBUlNFX09QVF9TSEVMTF9FVkFMKTsKIAotCXN0cmJ1Zl9hZGRmKCZwYXJzZWQsICIgLS0iKTsKKwlzdHJidWZfYWRkc3RyKCZwYXJzZWQsICIgLS0iKTsKIAlzcV9xdW90ZV9hcmd2KCZwYXJzZWQsIGFyZ3YsIDApOwogCXB1dHMocGFyc2VkLmJ1Zik7CiAJcmV0dXJuIDA7CkBAIC02NDMsOCArNjcxLDkgQEAKIAkJCQlmaWx0ZXIgJj0gfihET19GTEFHU3xET19OT1JFVik7CiAJCQkJdmVyaWZ5ID0gMTsKIAkJCQlhYmJyZXYgPSBERUZBVUxUX0FCQlJFVjsKLQkJCQlpZiAoYXJnWzddID09ICc9JykKLQkJCQkJYWJicmV2ID0gc3RydG91bChhcmcgKyA4LCBOVUxMLCAxMCk7CisJCQkJaWYgKCFhcmdbN10pCisJCQkJCWNvbnRpbnVlOworCQkJCWFiYnJldiA9IHN0cnRvdWwoYXJnICsgOCwgTlVMTCwgMTApOwogCQkJCWlmIChhYmJyZXYgPCBNSU5JTVVNX0FCQlJFVikKIAkJCQkJYWJicmV2ID0gTUlOSU1VTV9BQkJSRVY7CiAJCQkJZWxzZSBpZiAoNDAgPD0gYWJicmV2KQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZXZlcnQuYyBiL2J1aWx0aW4vcmV2ZXJ0LmMKaW5kZXggNTZhMmMzNi4uNGNhNWI1MSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9yZXZlcnQuYworKysgYi9idWlsdGluL3JldmVydC5jCkBAIC03MSwxMiArNzEsMTIgQEAKIAkJZGllKF8oIiVzOiAlcyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIiksIG1lLCB0aGlzX29wdCwgYmFzZV9vcHQpOwogfQogCi1zdGF0aWMgdm9pZCBwYXJzZV9hcmdzKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQorc3RhdGljIGludCBydW5fc2VxdWVuY2VyKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCWNvbnN0IGNoYXIgKiBjb25zdCAqIHVzYWdlX3N0ciA9IHJldmVydF9vcl9jaGVycnlfcGlja191c2FnZShvcHRzKTsKIAljb25zdCBjaGFyICptZSA9IGFjdGlvbl9uYW1lKG9wdHMpOwogCWludCBjbWQgPSAwOwotCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0geworCXN0cnVjdCBvcHRpb24gYmFzZV9vcHRpb25zW10gPSB7CiAJCU9QVF9DTURNT0RFKDAsICJxdWl0IiwgJmNtZCwgTl8oImVuZCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiKSwgJ3EnKSwKIAkJT1BUX0NNRE1PREUoMCwgImNvbnRpbnVlIiwgJmNtZCwgTl8oInJlc3VtZSByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiKSwgJ2MnKSwKIAkJT1BUX0NNRE1PREUoMCwgImFib3J0IiwgJmNtZCwgTl8oImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiKSwgJ2EnKSwKQEAgLTkxLDEzICs5MSw5IEBACiAJCQlOXygib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIpLCBvcHRpb25fcGFyc2VfeCksCiAJCXsgT1BUSU9OX1NUUklORywgJ1MnLCAiZ3BnLXNpZ24iLCAmb3B0cy0+Z3BnX3NpZ24sIE5fKCJrZXktaWQiKSwKIAkJICBOXygiR1BHIHNpZ24gY29tbWl0IiksIFBBUlNFX09QVF9PUFRBUkcsIE5VTEwsIChpbnRwdHJfdCkgIiIgfSwKLQkJT1BUX0VORCgpLAotCQlPUFRfRU5EKCksCi0JCU9QVF9FTkQoKSwKLQkJT1BUX0VORCgpLAotCQlPUFRfRU5EKCksCi0JCU9QVF9FTkQoKSwKKwkJT1BUX0VORCgpCiAJfTsKKwlzdHJ1Y3Qgb3B0aW9uICpvcHRpb25zID0gYmFzZV9vcHRpb25zOwogCiAJaWYgKG9wdHMtPmFjdGlvbiA9PSBSRVBMQVlfUElDSykgewogCQlzdHJ1Y3Qgb3B0aW9uIGNwX2V4dHJhW10gPSB7CkBAIC0xMDgsOCArMTA0LDcgQEAKIAkJCU9QVF9CT09MKDAsICJrZWVwLXJlZHVuZGFudC1jb21taXRzIiwgJm9wdHMtPmtlZXBfcmVkdW5kYW50X2NvbW1pdHMsIE5fKCJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIpKSwKIAkJCU9QVF9FTkQoKSwKIAkJfTsKLQkJaWYgKHBhcnNlX29wdGlvbnNfY29uY2F0KG9wdGlvbnMsIEFSUkFZX1NJWkUob3B0aW9ucyksIGNwX2V4dHJhKSkKLQkJCWRpZShfKCJwcm9ncmFtIGVycm9yIikpOworCQlvcHRpb25zID0gcGFyc2Vfb3B0aW9uc19jb25jYXQob3B0aW9ucywgY3BfZXh0cmEpOwogCX0KIAogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIE5VTEwsIG9wdGlvbnMsIHVzYWdlX3N0ciwKQEAgLTEyMCwyNSArMTE1LDE1IEBACiAJaWYgKG9wdHMtPmtlZXBfcmVkdW5kYW50X2NvbW1pdHMpCiAJCW9wdHMtPmFsbG93X2VtcHR5ID0gMTsKIAotCS8qIFNldCB0aGUgc3ViY29tbWFuZCAqLwotCWlmIChjbWQgPT0gJ3EnKQotCQlvcHRzLT5zdWJjb21tYW5kID0gUkVQTEFZX1JFTU9WRV9TVEFURTsKLQllbHNlIGlmIChjbWQgPT0gJ2MnKQotCQlvcHRzLT5zdWJjb21tYW5kID0gUkVQTEFZX0NPTlRJTlVFOwotCWVsc2UgaWYgKGNtZCA9PSAnYScpCi0JCW9wdHMtPnN1YmNvbW1hbmQgPSBSRVBMQVlfUk9MTEJBQ0s7Ci0JZWxzZQotCQlvcHRzLT5zdWJjb21tYW5kID0gUkVQTEFZX05PTkU7Ci0KIAkvKiBDaGVjayBmb3IgaW5jb21wYXRpYmxlIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgKi8KLQlpZiAob3B0cy0+c3ViY29tbWFuZCAhPSBSRVBMQVlfTk9ORSkgeworCWlmIChjbWQpIHsKIAkJY2hhciAqdGhpc19vcGVyYXRpb247Ci0JCWlmIChvcHRzLT5zdWJjb21tYW5kID09IFJFUExBWV9SRU1PVkVfU1RBVEUpCisJCWlmIChjbWQgPT0gJ3EnKQogCQkJdGhpc19vcGVyYXRpb24gPSAiLS1xdWl0IjsKLQkJZWxzZSBpZiAob3B0cy0+c3ViY29tbWFuZCA9PSBSRVBMQVlfQ09OVElOVUUpCisJCWVsc2UgaWYgKGNtZCA9PSAnYycpCiAJCQl0aGlzX29wZXJhdGlvbiA9ICItLWNvbnRpbnVlIjsKIAkJZWxzZSB7Ci0JCQlhc3NlcnQob3B0cy0+c3ViY29tbWFuZCA9PSBSRVBMQVlfUk9MTEJBQ0spOworCQkJYXNzZXJ0KGNtZCA9PSAnYScpOwogCQkJdGhpc19vcGVyYXRpb24gPSAiLS1hYm9ydCI7CiAJCX0KIApAQCAtMTYxLDcgKzE0Niw3IEBACiAJCQkJIi0tZWRpdCIsIG9wdHMtPmVkaXQsCiAJCQkJTlVMTCk7CiAKLQlpZiAob3B0cy0+c3ViY29tbWFuZCAhPSBSRVBMQVlfTk9ORSkgeworCWlmIChjbWQpIHsKIAkJb3B0cy0+cmV2cyA9IE5VTEw7CiAJfSBlbHNlIHsKIAkJc3RydWN0IHNldHVwX3JldmlzaW9uX29wdCBzX3Jfb3B0OwpAQCAtMTc5LDIwICsxNjQsMzAgQEAKIAogCWlmIChhcmdjID4gMSkKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKHVzYWdlX3N0ciwgb3B0aW9ucyk7CisKKwkvKiBUaGVzZSBvcHRpb24gdmFsdWVzIHdpbGwgYmUgZnJlZSgpZCAqLworCW9wdHMtPmdwZ19zaWduID0geHN0cmR1cF9vcl9udWxsKG9wdHMtPmdwZ19zaWduKTsKKwlvcHRzLT5zdHJhdGVneSA9IHhzdHJkdXBfb3JfbnVsbChvcHRzLT5zdHJhdGVneSk7CisKKwlpZiAoY21kID09ICdxJykKKwkJcmV0dXJuIHNlcXVlbmNlcl9yZW1vdmVfc3RhdGUob3B0cyk7CisJaWYgKGNtZCA9PSAnYycpCisJCXJldHVybiBzZXF1ZW5jZXJfY29udGludWUob3B0cyk7CisJaWYgKGNtZCA9PSAnYScpCisJCXJldHVybiBzZXF1ZW5jZXJfcm9sbGJhY2sob3B0cyk7CisJcmV0dXJuIHNlcXVlbmNlcl9waWNrX3JldmlzaW9ucyhvcHRzKTsKIH0KIAogaW50IGNtZF9yZXZlcnQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7Ci0Jc3RydWN0IHJlcGxheV9vcHRzIG9wdHM7CisJc3RydWN0IHJlcGxheV9vcHRzIG9wdHMgPSBSRVBMQVlfT1BUU19JTklUOwogCWludCByZXM7CiAKLQltZW1zZXQoJm9wdHMsIDAsIHNpemVvZihvcHRzKSk7CiAJaWYgKGlzYXR0eSgwKSkKIAkJb3B0cy5lZGl0ID0gMTsKIAlvcHRzLmFjdGlvbiA9IFJFUExBWV9SRVZFUlQ7CiAJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwotCXBhcnNlX2FyZ3MoYXJnYywgYXJndiwgJm9wdHMpOwotCXJlcyA9IHNlcXVlbmNlcl9waWNrX3JldmlzaW9ucygmb3B0cyk7CisJcmVzID0gcnVuX3NlcXVlbmNlcihhcmdjLCBhcmd2LCAmb3B0cyk7CiAJaWYgKHJlcyA8IDApCiAJCWRpZShfKCJyZXZlcnQgZmFpbGVkIikpOwogCXJldHVybiByZXM7CkBAIC0yMDAsMTQgKzE5NSwxMiBAQAogCiBpbnQgY21kX2NoZXJyeV9waWNrKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewotCXN0cnVjdCByZXBsYXlfb3B0cyBvcHRzOworCXN0cnVjdCByZXBsYXlfb3B0cyBvcHRzID0gUkVQTEFZX09QVFNfSU5JVDsKIAlpbnQgcmVzOwogCi0JbWVtc2V0KCZvcHRzLCAwLCBzaXplb2Yob3B0cykpOwogCW9wdHMuYWN0aW9uID0gUkVQTEFZX1BJQ0s7CiAJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwotCXBhcnNlX2FyZ3MoYXJnYywgYXJndiwgJm9wdHMpOwotCXJlcyA9IHNlcXVlbmNlcl9waWNrX3JldmlzaW9ucygmb3B0cyk7CisJcmVzID0gcnVuX3NlcXVlbmNlcihhcmdjLCBhcmd2LCAmb3B0cyk7CiAJaWYgKHJlcyA8IDApCiAJCWRpZShfKCJjaGVycnktcGljayBmYWlsZWQiKSk7CiAJcmV0dXJuIHJlczsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcm0uYyBiL2J1aWx0aW4vcm0uYwppbmRleCA4YWJiMDIwLi4zZjNlMjRlIDEwMDY0NAotLS0gYS9idWlsdGluL3JtLmMKKysrIGIvYnVpbHRpbi9ybS5jCkBAIC0xMDcsNyArMTA3LDcgQEAKIAlyZXR1cm4gZXJyczsKIH0KIAotc3RhdGljIGludCBjaGVja19sb2NhbF9tb2QodW5zaWduZWQgY2hhciAqaGVhZCwgaW50IGluZGV4X29ubHkpCitzdGF0aWMgaW50IGNoZWNrX2xvY2FsX21vZChzdHJ1Y3Qgb2JqZWN0X2lkICpoZWFkLCBpbnQgaW5kZXhfb25seSkKIHsKIAkvKgogCSAqIEl0ZW1zIGluIGxpc3QgYXJlIGFscmVhZHkgc29ydGVkIGluIHRoZSBjYWNoZSBvcmRlciwKQEAgLTEyMywxMyArMTIzLDEzIEBACiAJc3RydWN0IHN0cmluZ19saXN0IGZpbGVzX3N1Ym1vZHVsZSA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAJc3RydWN0IHN0cmluZ19saXN0IGZpbGVzX2xvY2FsID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKIAotCW5vX2hlYWQgPSBpc19udWxsX3NoYTEoaGVhZCk7CisJbm9faGVhZCA9IGlzX251bGxfb2lkKGhlYWQpOwogCWZvciAoaSA9IDA7IGkgPCBsaXN0Lm5yOyBpKyspIHsKIAkJc3RydWN0IHN0YXQgc3Q7CiAJCWludCBwb3M7CiAJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7CiAJCWNvbnN0IGNoYXIgKm5hbWUgPSBsaXN0LmVudHJ5W2ldLm5hbWU7Ci0JCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQl1bnNpZ25lZCBtb2RlOwogCQlpbnQgbG9jYWxfY2hhbmdlcyA9IDA7CiAJCWludCBzdGFnZWRfY2hhbmdlcyA9IDA7CkBAIC0xOTcsOSArMTk3LDkgQEAKIAkJICogd2F5IGFzIGNoYW5nZWQgZnJvbSB0aGUgSEVBRC4KIAkJICovCiAJCWlmIChub19oZWFkCi0JCSAgICAgfHwgZ2V0X3RyZWVfZW50cnkoaGVhZCwgbmFtZSwgc2hhMSwgJm1vZGUpCisJCSAgICAgfHwgZ2V0X3RyZWVfZW50cnkoaGVhZC0+aGFzaCwgbmFtZSwgb2lkLmhhc2gsICZtb2RlKQogCQkgICAgIHx8IGNlLT5jZV9tb2RlICE9IGNyZWF0ZV9jZV9tb2RlKG1vZGUpCi0JCSAgICAgfHwgaGFzaGNtcChjZS0+c2hhMSwgc2hhMSkpCisJCSAgICAgfHwgb2lkY21wKCZjZS0+b2lkLCAmb2lkKSkKIAkJCXN0YWdlZF9jaGFuZ2VzID0gMTsKIAogCQkvKgpAQCAtMzUxLDEwICszNTEsMTAgQEAKIAkgKiByZXBvcnQgbm8gY2hhbmdlcyB1bmxlc3MgZm9yY2VkLgogCSAqLwogCWlmICghZm9yY2UpIHsKLQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQkJaWYgKGdldF9zaGExKCJIRUFEIiwgc2hhMSkpCi0JCQloYXNoY2xyKHNoYTEpOwotCQlpZiAoY2hlY2tfbG9jYWxfbW9kKHNoYTEsIGluZGV4X29ubHkpKQorCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwkJaWYgKGdldF9vaWQoIkhFQUQiLCAmb2lkKSkKKwkJCW9pZGNscigmb2lkKTsKKwkJaWYgKGNoZWNrX2xvY2FsX21vZCgmb2lkLCBpbmRleF9vbmx5KSkKIAkJCWV4aXQoMSk7CiAJfSBlbHNlIGlmICghaW5kZXhfb25seSkgewogCQlpZiAoY2hlY2tfc3VibW9kdWxlc191c2VfZ2l0ZmlsZXMoKSkKQEAgLTM4Nyw2ICszODcsNyBAQAogCSAqLwogCWlmICghaW5kZXhfb25seSkgewogCQlpbnQgcmVtb3ZlZCA9IDAsIGdpdG1vZHVsZXNfbW9kaWZpZWQgPSAwOworCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCQlmb3IgKGkgPSAwOyBpIDwgbGlzdC5ucjsgaSsrKSB7CiAJCQljb25zdCBjaGFyICpwYXRoID0gbGlzdC5lbnRyeVtpXS5uYW1lOwogCQkJaWYgKGxpc3QuZW50cnlbaV0uaXNfc3VibW9kdWxlKSB7CkBAIC0zOTgsNyArMzk5LDcgQEAKIAkJCQkJCWNvbnRpbnVlOwogCQkJCQl9CiAJCQkJfSBlbHNlIHsKLQkJCQkJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKKwkJCQkJc3RyYnVmX3Jlc2V0KCZidWYpOwogCQkJCQlzdHJidWZfYWRkc3RyKCZidWYsIHBhdGgpOwogCQkJCQlpZiAoIXJlbW92ZV9kaXJfcmVjdXJzaXZlbHkoJmJ1ZiwgMCkpIHsKIAkJCQkJCXJlbW92ZWQgPSAxOwpAQCAtNDEwLDcgKzQxMSw2IEBACiAJCQkJCQkvKiBTdWJtb2R1bGUgd2FzIHJlbW92ZWQgYnkgdXNlciAqLwogCQkJCQkJaWYgKCFyZW1vdmVfcGF0aF9mcm9tX2dpdG1vZHVsZXMocGF0aCkpCiAJCQkJCQkJZ2l0bW9kdWxlc19tb2RpZmllZCA9IDE7Ci0JCQkJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCQkJCQkvKiBGYWxsdGhyb3VnaCBhbmQgbGV0IHJlbW92ZV9wYXRoKCkgZmFpbC4gKi8KIAkJCQl9CiAJCQl9CkBAIC00MjEsNiArNDIxLDcgQEAKIAkJCWlmICghcmVtb3ZlZCkKIAkJCQlkaWVfZXJybm8oImdpdCBybTogJyVzJyIsIHBhdGgpOwogCQl9CisJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCQlpZiAoZ2l0bW9kdWxlc19tb2RpZmllZCkKIAkJCXN0YWdlX3VwZGF0ZWRfZ2l0bW9kdWxlcygpOwogCX0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vc2hvcnRsb2cuYyBiL2J1aWx0aW4vc2hvcnRsb2cuYwppbmRleCBiZmMwODJlLi5iYTBlMTE1IDEwMDY0NAotLS0gYS9idWlsdGluL3Nob3J0bG9nLmMKKysrIGIvYnVpbHRpbi9zaG9ydGxvZy5jCkBAIC0yMzMsMTEgKzIzMywxMSBAQAogCiBpbnQgY21kX3Nob3J0bG9nKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewotCXN0YXRpYyBzdHJ1Y3Qgc2hvcnRsb2cgbG9nOwotCXN0YXRpYyBzdHJ1Y3QgcmV2X2luZm8gcmV2OworCXN0cnVjdCBzaG9ydGxvZyBsb2cgPSB7IFNUUklOR19MSVNUX0lOSVRfTk9EVVAgfTsKKwlzdHJ1Y3QgcmV2X2luZm8gcmV2OwogCWludCBub25naXQgPSAhc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnk7CiAKLQlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJY29uc3Qgc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CiAJCU9QVF9CT09MKCduJywgIm51bWJlcmVkIiwgJmxvZy5zb3J0X2J5X251bWJlciwKIAkJCSBOXygic29ydCBvdXRwdXQgYWNjb3JkaW5nIHRvIHRoZSBudW1iZXIgb2YgY29tbWl0cyBwZXIgYXV0aG9yIikpLAogCQlPUFRfQk9PTCgncycsICJzdW1tYXJ5IiwgJmxvZy5zdW1tYXJ5LApAQCAtMjc2LDYgKzI3Niw3IEBACiAKIAlsb2cudXNlcl9mb3JtYXQgPSByZXYuY29tbWl0X2Zvcm1hdCA9PSBDTUlUX0ZNVF9VU0VSRk9STUFUOwogCWxvZy5hYmJyZXYgPSByZXYuYWJicmV2OworCWxvZy5maWxlID0gcmV2LmRpZmZvcHQuZmlsZTsKIAogCS8qIGFzc3VtZSBIRUFEIGlmIGZyb20gYSB0dHkgKi8KIAlpZiAoIW5vbmdpdCAmJiAhcmV2LnBlbmRpbmcubnIgJiYgaXNhdHR5KDApKQpAQCAtMjg5LDYgKzI5MCw4IEBACiAJCWdldF9mcm9tX3JldigmcmV2LCAmbG9nKTsKIAogCXNob3J0bG9nX291dHB1dCgmbG9nKTsKKwlpZiAobG9nLmZpbGUgIT0gc3Rkb3V0KQorCQlmY2xvc2UobG9nLmZpbGUpOwogCXJldHVybiAwOwogfQogCkBAIC0zMDUsMjcgKzMwOCwyOSBAQAogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIAogCWlmIChsb2ctPnNvcnRfYnlfbnVtYmVyKQotCQlxc29ydChsb2ctPmxpc3QuaXRlbXMsIGxvZy0+bGlzdC5uciwgc2l6ZW9mKHN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtKSwKKwkJUVNPUlQobG9nLT5saXN0Lml0ZW1zLCBsb2ctPmxpc3QubnIsCiAJCSAgICAgIGxvZy0+c3VtbWFyeSA/IGNvbXBhcmVfYnlfY291bnRlciA6IGNvbXBhcmVfYnlfbGlzdCk7CiAJZm9yIChpID0gMDsgaSA8IGxvZy0+bGlzdC5ucjsgaSsrKSB7CiAJCWNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtID0gJmxvZy0+bGlzdC5pdGVtc1tpXTsKIAkJaWYgKGxvZy0+c3VtbWFyeSkgewotCQkJcHJpbnRmKCIlNmRcdCVzXG4iLCAoaW50KVVUSUxfVE9fSU5UKGl0ZW0pLCBpdGVtLT5zdHJpbmcpOworCQkJZnByaW50Zihsb2ctPmZpbGUsICIlNmRcdCVzXG4iLAorCQkJCShpbnQpVVRJTF9UT19JTlQoaXRlbSksIGl0ZW0tPnN0cmluZyk7CiAJCX0gZWxzZSB7CiAJCQlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKm9uZWxpbmVzID0gaXRlbS0+dXRpbDsKLQkJCXByaW50ZigiJXMgKCVkKTpcbiIsIGl0ZW0tPnN0cmluZywgb25lbGluZXMtPm5yKTsKKwkJCWZwcmludGYobG9nLT5maWxlLCAiJXMgKCVkKTpcbiIsCisJCQkJaXRlbS0+c3RyaW5nLCBvbmVsaW5lcy0+bnIpOwogCQkJZm9yIChqID0gb25lbGluZXMtPm5yIC0gMTsgaiA+PSAwOyBqLS0pIHsKIAkJCQljb25zdCBjaGFyICptc2cgPSBvbmVsaW5lcy0+aXRlbXNbal0uc3RyaW5nOwogCiAJCQkJaWYgKGxvZy0+d3JhcF9saW5lcykgewogCQkJCQlzdHJidWZfcmVzZXQoJnNiKTsKIAkJCQkJYWRkX3dyYXBwZWRfc2hvcnRsb2dfbXNnKCZzYiwgbXNnLCBsb2cpOwotCQkJCQlmd3JpdGUoc2IuYnVmLCBzYi5sZW4sIDEsIHN0ZG91dCk7CisJCQkJCWZ3cml0ZShzYi5idWYsIHNiLmxlbiwgMSwgbG9nLT5maWxlKTsKIAkJCQl9CiAJCQkJZWxzZQotCQkJCQlwcmludGYoIiAgICAgICVzXG4iLCBtc2cpOworCQkJCQlmcHJpbnRmKGxvZy0+ZmlsZSwgIiAgICAgICVzXG4iLCBtc2cpOwogCQkJfQotCQkJcHV0Y2hhcignXG4nKTsKKwkJCXB1dGMoJ1xuJywgbG9nLT5maWxlKTsKIAkJCW9uZWxpbmVzLT5zdHJkdXBfc3RyaW5ncyA9IDE7CiAJCQlzdHJpbmdfbGlzdF9jbGVhcihvbmVsaW5lcywgMCk7CiAJCQlmcmVlKG9uZWxpbmVzKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vc2hvdy1icmFuY2guYyBiL2J1aWx0aW4vc2hvdy1icmFuY2guYwppbmRleCAyNTY2OTM1Li45NzRmMzQwIDEwMDY0NAotLS0gYS9idWlsdGluL3Nob3ctYnJhbmNoLmMKKysrIGIvYnVpbHRpbi9zaG93LWJyYW5jaC5jCkBAIC0zNTMsOCArMzUzLDcgQEAKIAogc3RhdGljIHZvaWQgc29ydF9yZWZfcmFuZ2UoaW50IGJvdHRvbSwgaW50IHRvcCkKIHsKLQlxc29ydChyZWZfbmFtZSArIGJvdHRvbSwgdG9wIC0gYm90dG9tLCBzaXplb2YocmVmX25hbWVbMF0pLAotCSAgICAgIGNvbXBhcmVfcmVmX25hbWUpOworCVFTT1JUKHJlZl9uYW1lICsgYm90dG9tLCB0b3AgLSBib3R0b20sIGNvbXBhcmVfcmVmX25hbWUpOwogfQogCiBzdGF0aWMgaW50IGFwcGVuZF9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLApAQCAtMzczLDggKzM3Miw5IEBACiAJCQkJcmV0dXJuIDA7CiAJfQogCWlmIChNQVhfUkVWUyA8PSByZWZfbmFtZV9jbnQpIHsKLQkJd2FybmluZygiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZnMiLAotCQkJcmVmbmFtZSwgTUFYX1JFVlMpOworCQl3YXJuaW5nKFFfKCJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmIiwKKwkJCSAgICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmcyIsCisJCQkgICBNQVhfUkVWUyksIHJlZm5hbWUsIE1BWF9SRVZTKTsKIAkJcmV0dXJuIDA7CiAJfQogCXJlZl9uYW1lW3JlZl9uYW1lX2NudCsrXSA9IHhzdHJkdXAocmVmbmFtZSk7CkBAIC01MzgsOSArNTM4LDggQEAKIAkJZm9yX2VhY2hfcmVmKGFwcGVuZF9tYXRjaGluZ19yZWYsIE5VTEwpOwogCQlpZiAoc2F2ZWRfbWF0Y2hlcyA9PSByZWZfbmFtZV9jbnQgJiYKIAkJICAgIHJlZl9uYW1lX2NudCA8IE1BWF9SRVZTKQotCQkJZXJyb3IoIm5vIG1hdGNoaW5nIHJlZnMgd2l0aCAlcyIsIGF2KTsKLQkJaWYgKHNhdmVkX21hdGNoZXMgKyAxIDwgcmVmX25hbWVfY250KQotCQkJc29ydF9yZWZfcmFuZ2Uoc2F2ZWRfbWF0Y2hlcywgcmVmX25hbWVfY250KTsKKwkJCWVycm9yKF8oIm5vIG1hdGNoaW5nIHJlZnMgd2l0aCAlcyIpLCBhdik7CisJCXNvcnRfcmVmX3JhbmdlKHNhdmVkX21hdGNoZXMsIHJlZl9uYW1lX2NudCk7CiAJCXJldHVybjsKIAl9CiAJZGllKCJiYWQgc2hhMSByZWZlcmVuY2UgJXMiLCBhdik7CkBAIC03MDEsOCArNzAwLDggQEAKIAkJCSAqCiAJCQkgKiBBbHNvIC0tYWxsIGFuZCAtLXJlbW90ZXMgZG8gbm90IG1ha2Ugc2Vuc2UgZWl0aGVyLgogCQkJICovCi0JCQlkaWUoIi0tcmVmbG9nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLXJlbW90ZXMsICIKLQkJCSAgICAiLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiKTsKKwkJCWRpZShfKCItLXJlZmxvZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1yZW1vdGVzLCAiCisJCQkgICAgICAiLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiKSk7CiAJfQogCiAJLyogSWYgbm90aGluZyBpcyBzcGVjaWZpZWQsIHNob3cgYWxsIGJyYW5jaGVzIGJ5IGRlZmF1bHQgKi8KQEAgLTcyNSwxNiArNzI0LDE3IEBACiAJCQlhdiA9IGZha2VfYXY7CiAJCQlhYyA9IDE7CiAJCQlpZiAoISphdikKLQkJCQlkaWUoIm5vIGJyYW5jaGVzIGdpdmVuLCBhbmQgSEVBRCBpcyBub3QgdmFsaWQiKTsKKwkJCQlkaWUoXygibm8gYnJhbmNoZXMgZ2l2ZW4sIGFuZCBIRUFEIGlzIG5vdCB2YWxpZCIpKTsKIAkJfQogCQlpZiAoYWMgIT0gMSkKLQkJCWRpZSgiLS1yZWZsb2cgb3B0aW9uIG5lZWRzIG9uZSBicmFuY2ggbmFtZSIpOworCQkJZGllKF8oIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiKSk7CiAKIAkJaWYgKE1BWF9SRVZTIDwgcmVmbG9nKQotCQkJZGllKCJPbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIsCi0JCQkgICAgTUFYX1JFVlMpOworCQkJZGllKFFfKCJvbmx5ICVkIGVudHJ5IGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iLAorCQkJICAgICAgICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIsCisJCQkgICAgICAgTUFYX1JFVlMpLCBNQVhfUkVWUyk7CiAJCWlmICghZHdpbV9yZWYoKmF2LCBzdHJsZW4oKmF2KSwgb2lkLmhhc2gsICZyZWYpKQotCQkJZGllKCJObyBzdWNoIHJlZiAlcyIsICphdik7CisJCQlkaWUoXygibm8gc3VjaCByZWYgJXMiKSwgKmF2KTsKIAogCQkvKiBIYXMgdGhlIGJhc2UgYmVlbiBzcGVjaWZpZWQ/ICovCiAJCWlmIChyZWZsb2dfYmFzZSkgewpAQCAtODI2LDEyICs4MjYsMTQgQEAKIAkJdW5zaWduZWQgaW50IGZsYWcgPSAxdSA8PCAobnVtX3JldiArIFJFVl9TSElGVCk7CiAKIAkJaWYgKE1BWF9SRVZTIDw9IG51bV9yZXYpCi0JCQlkaWUoImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldnMuIiwgTUFYX1JFVlMpOworCQkJZGllKFFfKCJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXYuIiwKKwkJCSAgICAgICAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iLAorCQkJICAgICAgIE1BWF9SRVZTKSwgTUFYX1JFVlMpOwogCQlpZiAoZ2V0X3NoYTEocmVmX25hbWVbbnVtX3Jldl0sIHJldmtleS5oYXNoKSkKLQkJCWRpZSgiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYuIiwgcmVmX25hbWVbbnVtX3Jldl0pOworCQkJZGllKF8oIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIpLCByZWZfbmFtZVtudW1fcmV2XSk7CiAJCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHJldmtleS5oYXNoKTsKIAkJaWYgKCFjb21taXQpCi0JCQlkaWUoImNhbm5vdCBmaW5kIGNvbW1pdCAlcyAoJXMpIiwKKwkJCWRpZShfKCJjYW5ub3QgZmluZCBjb21taXQgJXMgKCVzKSIpLAogCQkJICAgIHJlZl9uYW1lW251bV9yZXZdLCBvaWRfdG9faGV4KCZyZXZrZXkpKTsKIAkJcGFyc2VfY29tbWl0KGNvbW1pdCk7CiAJCW1hcmtfc2Vlbihjb21taXQsICZzZWVuKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vc3RyaXBzcGFjZS5jIGIvYnVpbHRpbi9zdHJpcHNwYWNlLmMKaW5kZXggMTVlNzE2ZS4uMWU2MmEwMCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9zdHJpcHNwYWNlLmMKKysrIGIvYnVpbHRpbi9zdHJpcHNwYWNlLmMKQEAgLTQ0LDggKzQ0LDEwIEBACiAJaWYgKGFyZ2MpCiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhzdHJpcHNwYWNlX3VzYWdlLCBvcHRpb25zKTsKIAotCWlmIChtb2RlID09IFNUUklQX0NPTU1FTlRTIHx8IG1vZGUgPT0gQ09NTUVOVF9MSU5FUykKKwlpZiAobW9kZSA9PSBTVFJJUF9DT01NRU5UUyB8fCBtb2RlID09IENPTU1FTlRfTElORVMpIHsKKwkJc2V0dXBfZ2l0X2RpcmVjdG9yeV9nZW50bHkoTlVMTCk7CiAJCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKKwl9CiAKIAlpZiAoc3RyYnVmX3JlYWQoJmJ1ZiwgMCwgMTAyNCkgPCAwKQogCQlkaWVfZXJybm8oImNvdWxkIG5vdCByZWFkIHRoZSBpbnB1dCIpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jIGIvYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jCmluZGV4IDkyNmQyMDUuLjRiZWVkYTUgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYworKysgYi9idWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmMKQEAgLTk1LDYgKzk1LDggQEAKICAqIE5FRURTV09SSzogVGhpcyB3b3JrcyBpbmNvcnJlY3RseSBvbiB0aGUgZG9tYWluIGFuZCBwcm90b2NvbCBwYXJ0LgogICogcmVtb3RlX3VybCAgICAgIHVybCAgICAgICAgICAgICAgb3V0Y29tZSAgICAgICAgICBleHBlY3RhdGlvbgogICogaHR0cDovL2EuY29tL2IgIC4uL2MgICAgICAgICAgICAgaHR0cDovL2EuY29tL2MgICBhcyBpcworICogaHR0cDovL2EuY29tL2IvIC4uL2MgICAgICAgICAgICAgaHR0cDovL2EuY29tL2MgICBzYW1lIGFzIHByZXZpb3VzIGxpbmUsIGJ1dAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmUgdHJhaWxpbmcgc2xhc2ggaW4gdXJsCiAgKiBodHRwOi8vYS5jb20vYiAgLi4vLi4vYyAgICAgICAgICBodHRwOi8vYyAgICAgICAgIGVycm9yIG91dAogICogaHR0cDovL2EuY29tL2IgIC4uLy4uLy4uL2MgICAgICAgaHR0cDovYyAgICAgICAgICBlcnJvciBvdXQKICAqIGh0dHA6Ly9hLmNvbS9iICAuLi8uLi8uLi8uLi9jICAgIGh0dHA6YyAgICAgICAgICAgZXJyb3Igb3V0CkBAIC0xMTMsOCArMTE1LDggQEAKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJc2l6ZV90IGxlbiA9IHN0cmxlbihyZW1vdGV1cmwpOwogCi0JaWYgKGlzX2Rpcl9zZXAocmVtb3RldXJsW2xlbl0pKQotCQlyZW1vdGV1cmxbbGVuXSA9ICdcMCc7CisJaWYgKGlzX2Rpcl9zZXAocmVtb3RldXJsW2xlbi0xXSkpCisJCXJlbW90ZXVybFtsZW4tMV0gPSAnXDAnOwogCiAJaWYgKCF1cmxfaXNfbG9jYWxfbm90X3NzaChyZW1vdGV1cmwpIHx8IGlzX2Fic29sdXRlX3BhdGgocmVtb3RldXJsKSkKIAkJaXNfcmVsYXRpdmUgPSAwOwpAQCAtMTQ3LDYgKzE0OSw4IEBACiAJfQogCXN0cmJ1Zl9yZXNldCgmc2IpOwogCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzJXMlcyIsIHJlbW90ZXVybCwgY29sb25zZXAgPyAiOiIgOiAiLyIsIHVybCk7CisJaWYgKGVuZHNfd2l0aCh1cmwsICIvIikpCisJCXN0cmJ1Zl9zZXRsZW4oJnNiLCBzYi5sZW4gLSAxKTsKIAlmcmVlKHJlbW90ZXVybCk7CiAKIAlpZiAoc3RhcnRzX3dpdGhfZG90X3NsYXNoKHNiLmJ1ZikpCkBAIC0yOTYsNyArMzAwLDggQEAKIAkJaWYgKGNlX3N0YWdlKGNlKSkKIAkJCXByaW50ZigiJTA2byAlcyBVXHQiLCBjZS0+Y2VfbW9kZSwgc2hhMV90b19oZXgobnVsbF9zaGExKSk7CiAJCWVsc2UKLQkJCXByaW50ZigiJTA2byAlcyAlZFx0IiwgY2UtPmNlX21vZGUsIHNoYTFfdG9faGV4KGNlLT5zaGExKSwgY2Vfc3RhZ2UoY2UpKTsKKwkJCXByaW50ZigiJTA2byAlcyAlZFx0IiwgY2UtPmNlX21vZGUsCisJCQkgICAgICAgb2lkX3RvX2hleCgmY2UtPm9pZCksIGNlX3N0YWdlKGNlKSk7CiAKIAkJdXRmOF9mcHJpbnRmKHN0ZG91dCwgIiVzXG4iLCBjZS0+bmFtZSk7CiAJfQpAQCAtNDQyLDE5ICs0NDcsMjUgQEAKIH0KIAogc3RhdGljIGludCBjbG9uZV9zdWJtb2R1bGUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqZ2l0ZGlyLCBjb25zdCBjaGFyICp1cmwsCi0JCQkgICBjb25zdCBjaGFyICpkZXB0aCwgY29uc3QgY2hhciAqcmVmZXJlbmNlLCBpbnQgcXVpZXQpCisJCQkgICBjb25zdCBjaGFyICpkZXB0aCwgc3RydWN0IHN0cmluZ19saXN0ICpyZWZlcmVuY2UsCisJCQkgICBpbnQgcXVpZXQsIGludCBwcm9ncmVzcykKIHsKLQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcDsKLQljaGlsZF9wcm9jZXNzX2luaXQoJmNwKTsKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKIAogCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgImNsb25lIik7CiAJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCAiLS1uby1jaGVja291dCIpOwogCWlmIChxdWlldCkKIAkJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCAiLS1xdWlldCIpOworCWlmIChwcm9ncmVzcykKKwkJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCAiLS1wcm9ncmVzcyIpOwogCWlmIChkZXB0aCAmJiAqZGVwdGgpCiAJCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwLmFyZ3MsICItLWRlcHRoIiwgZGVwdGgsIE5VTEwpOwotCWlmIChyZWZlcmVuY2UgJiYgKnJlZmVyZW5jZSkKLQkJYXJndl9hcnJheV9wdXNobCgmY3AuYXJncywgIi0tcmVmZXJlbmNlIiwgcmVmZXJlbmNlLCBOVUxMKTsKKwlpZiAocmVmZXJlbmNlLT5ucikgeworCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKKwkJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpdGVtLCByZWZlcmVuY2UpCisJCQlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLCAiLS1yZWZlcmVuY2UiLAorCQkJCQkgaXRlbS0+c3RyaW5nLCBOVUxMKTsKKwl9CiAJaWYgKGdpdGRpciAmJiAqZ2l0ZGlyKQogCQlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLCAiLS1zZXBhcmF0ZS1naXQtZGlyIiwgZ2l0ZGlyLCBOVUxMKTsKIApAQCAtNDY4LDE1ICs0NzksMTEwIEBACiAJcmV0dXJuIHJ1bl9jb21tYW5kKCZjcCk7CiB9CiAKK3N0cnVjdCBzdWJtb2R1bGVfYWx0ZXJuYXRlX3NldHVwIHsKKwljb25zdCBjaGFyICpzdWJtb2R1bGVfbmFtZTsKKwllbnVtIFNVQk1PRFVMRV9BTFRFUk5BVEVfRVJST1JfTU9ERSB7CisJCVNVQk1PRFVMRV9BTFRFUk5BVEVfRVJST1JfRElFLAorCQlTVUJNT0RVTEVfQUxURVJOQVRFX0VSUk9SX0lORk8sCisJCVNVQk1PRFVMRV9BTFRFUk5BVEVfRVJST1JfSUdOT1JFCisJfSBlcnJvcl9tb2RlOworCXN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmZXJlbmNlOworfTsKKyNkZWZpbmUgU1VCTU9EVUxFX0FMVEVSTkFURV9TRVRVUF9JTklUIHsgTlVMTCwgXAorCVNVQk1PRFVMRV9BTFRFUk5BVEVfRVJST1JfSUdOT1JFLCBOVUxMIH0KKworc3RhdGljIGludCBhZGRfcG9zc2libGVfcmVmZXJlbmNlX2Zyb21fc3VwZXJwcm9qZWN0KAorCQlzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqYWx0LCB2b2lkICpzYXNfY2IpCit7CisJc3RydWN0IHN1Ym1vZHVsZV9hbHRlcm5hdGVfc2V0dXAgKnNhcyA9IHNhc19jYjsKKworCS8qCisJICogSWYgdGhlIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUgaXMgYW5vdGhlciByZXBvc2l0b3J5LCB0cnkgdGhlCisJICogc3RhbmRhcmQgbGF5b3V0IHdpdGggLmdpdC9tb2R1bGVzLzxuYW1lPi9vYmplY3RzCisJICovCisJaWYgKGVuZHNfd2l0aChhbHQtPnBhdGgsICIuZ2l0L29iamVjdHMiKSkgeworCQljaGFyICpzbV9hbHRlcm5hdGU7CisJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwkJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKKwkJc3RyYnVmX2FkZCgmc2IsIGFsdC0+cGF0aCwgc3RybGVuKGFsdC0+cGF0aCkgLSBzdHJsZW4oIm9iamVjdHMiKSk7CisKKwkJLyoKKwkJICogV2UgbmVlZCB0byBlbmQgdGhlIG5ldyBwYXRoIHdpdGggJy8nIHRvIG1hcmsgaXQgYXMgYSBkaXIsCisJCSAqIG90aGVyd2lzZSBhIHN1Ym1vZHVsZSBuYW1lIGNvbnRhaW5pbmcgJy8nIHdpbGwgYmUgYnJva2VuCisJCSAqIGFzIHRoZSBsYXN0IHBhcnQgb2YgYSBtaXNzaW5nIHN1Ym1vZHVsZSByZWZlcmVuY2Ugd291bGQKKwkJICogYmUgdGFrZW4gYXMgYSBmaWxlIG5hbWUuCisJCSAqLworCQlzdHJidWZfYWRkZigmc2IsICJtb2R1bGVzLyVzLyIsIHNhcy0+c3VibW9kdWxlX25hbWUpOworCisJCXNtX2FsdGVybmF0ZSA9IGNvbXB1dGVfYWx0ZXJuYXRlX3BhdGgoc2IuYnVmLCAmZXJyKTsKKwkJaWYgKHNtX2FsdGVybmF0ZSkgeworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKHNhcy0+cmVmZXJlbmNlLCB4c3RyZHVwKHNiLmJ1ZikpOworCQkJZnJlZShzbV9hbHRlcm5hdGUpOworCQl9IGVsc2UgeworCQkJc3dpdGNoIChzYXMtPmVycm9yX21vZGUpIHsKKwkJCWNhc2UgU1VCTU9EVUxFX0FMVEVSTkFURV9FUlJPUl9ESUU6CisJCQkJZGllKF8oInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIpLAorCQkJCSAgICBzYXMtPnN1Ym1vZHVsZV9uYW1lLCBlcnIuYnVmKTsKKwkJCWNhc2UgU1VCTU9EVUxFX0FMVEVSTkFURV9FUlJPUl9JTkZPOgorCQkJCWZwcmludGYoc3RkZXJyLCBfKCJzdWJtb2R1bGUgJyVzJyBjYW5ub3QgYWRkIGFsdGVybmF0ZTogJXMiKSwKKwkJCQkJc2FzLT5zdWJtb2R1bGVfbmFtZSwgZXJyLmJ1Zik7CisJCQljYXNlIFNVQk1PRFVMRV9BTFRFUk5BVEVfRVJST1JfSUdOT1JFOgorCQkJCTsgLyogbm90aGluZyAqLworCQkJfQorCQl9CisJCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHByZXBhcmVfcG9zc2libGVfYWx0ZXJuYXRlcyhjb25zdCBjaGFyICpzbV9uYW1lLAorCQlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJlZmVyZW5jZSkKK3sKKwljaGFyICpzbV9hbHRlcm5hdGUgPSBOVUxMLCAqZXJyb3Jfc3RyYXRlZ3kgPSBOVUxMOworCXN0cnVjdCBzdWJtb2R1bGVfYWx0ZXJuYXRlX3NldHVwIHNhcyA9IFNVQk1PRFVMRV9BTFRFUk5BVEVfU0VUVVBfSU5JVDsKKworCWdpdF9jb25maWdfZ2V0X3N0cmluZygic3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIiwgJnNtX2FsdGVybmF0ZSk7CisJaWYgKCFzbV9hbHRlcm5hdGUpCisJCXJldHVybjsKKworCWdpdF9jb25maWdfZ2V0X3N0cmluZygic3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kiLCAmZXJyb3Jfc3RyYXRlZ3kpOworCisJaWYgKCFlcnJvcl9zdHJhdGVneSkKKwkJZXJyb3Jfc3RyYXRlZ3kgPSB4c3RyZHVwKCJkaWUiKTsKKworCXNhcy5zdWJtb2R1bGVfbmFtZSA9IHNtX25hbWU7CisJc2FzLnJlZmVyZW5jZSA9IHJlZmVyZW5jZTsKKwlpZiAoIXN0cmNtcChlcnJvcl9zdHJhdGVneSwgImRpZSIpKQorCQlzYXMuZXJyb3JfbW9kZSA9IFNVQk1PRFVMRV9BTFRFUk5BVEVfRVJST1JfRElFOworCWVsc2UgaWYgKCFzdHJjbXAoZXJyb3Jfc3RyYXRlZ3ksICJpbmZvIikpCisJCXNhcy5lcnJvcl9tb2RlID0gU1VCTU9EVUxFX0FMVEVSTkFURV9FUlJPUl9JTkZPOworCWVsc2UgaWYgKCFzdHJjbXAoZXJyb3Jfc3RyYXRlZ3ksICJpZ25vcmUiKSkKKwkJc2FzLmVycm9yX21vZGUgPSBTVUJNT0RVTEVfQUxURVJOQVRFX0VSUk9SX0lHTk9SRTsKKwllbHNlCisJCWRpZShfKCJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBpcyBub3QgcmVjb2duaXplZCIpLCBlcnJvcl9zdHJhdGVneSk7CisKKwlpZiAoIXN0cmNtcChzbV9hbHRlcm5hdGUsICJzdXBlcnByb2plY3QiKSkKKwkJZm9yZWFjaF9hbHRfb2RiKGFkZF9wb3NzaWJsZV9yZWZlcmVuY2VfZnJvbV9zdXBlcnByb2plY3QsICZzYXMpOworCWVsc2UgaWYgKCFzdHJjbXAoc21fYWx0ZXJuYXRlLCAibm8iKSkKKwkJOyAvKiBkbyBub3RoaW5nICovCisJZWxzZQorCQlkaWUoXygiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGlzIG5vdCByZWNvZ25pemVkIiksIHNtX2FsdGVybmF0ZSk7CisKKwlmcmVlKHNtX2FsdGVybmF0ZSk7CisJZnJlZShlcnJvcl9zdHJhdGVneSk7Cit9CisKIHN0YXRpYyBpbnQgbW9kdWxlX2Nsb25lKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewotCWNvbnN0IGNoYXIgKm5hbWUgPSBOVUxMLCAqdXJsID0gTlVMTDsKLQljb25zdCBjaGFyICpyZWZlcmVuY2UgPSBOVUxMLCAqZGVwdGggPSBOVUxMOworCWNvbnN0IGNoYXIgKm5hbWUgPSBOVUxMLCAqdXJsID0gTlVMTCwgKmRlcHRoID0gTlVMTDsKIAlpbnQgcXVpZXQgPSAwOworCWludCBwcm9ncmVzcyA9IDA7CiAJRklMRSAqc3VibW9kdWxlX2RvdF9naXQ7CiAJY2hhciAqcCwgKnBhdGggPSBOVUxMLCAqc21fZ2l0ZGlyOwogCXN0cnVjdCBzdHJidWYgcmVsX3BhdGggPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmluZ19saXN0IHJlZmVyZW5jZSA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAKIAlzdHJ1Y3Qgb3B0aW9uIG1vZHVsZV9jbG9uZV9vcHRpb25zW10gPSB7CiAJCU9QVF9TVFJJTkcoMCwgInByZWZpeCIsICZwcmVmaXgsCkBAIC00OTEsMTMgKzU5NywxNSBAQAogCQlPUFRfU1RSSU5HKDAsICJ1cmwiLCAmdXJsLAogCQkJICAgTl8oInN0cmluZyIpLAogCQkJICAgTl8oInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iKSksCi0JCU9QVF9TVFJJTkcoMCwgInJlZmVyZW5jZSIsICZyZWZlcmVuY2UsCi0JCQkgICBOXygic3RyaW5nIiksCisJCU9QVF9TVFJJTkdfTElTVCgwLCAicmVmZXJlbmNlIiwgJnJlZmVyZW5jZSwKKwkJCSAgIE5fKCJyZXBvIiksCiAJCQkgICBOXygicmVmZXJlbmNlIHJlcG9zaXRvcnkiKSksCiAJCU9QVF9TVFJJTkcoMCwgImRlcHRoIiwgJmRlcHRoLAogCQkJICAgTl8oInN0cmluZyIpLAogCQkJICAgTl8oImRlcHRoIGZvciBzaGFsbG93IGNsb25lcyIpKSwKIAkJT1BUX19RVUlFVCgmcXVpZXQsICJTdXBwcmVzcyBvdXRwdXQgZm9yIGNsb25pbmcgYSBzdWJtb2R1bGUiKSwKKwkJT1BUX0JPT0woMCwgInByb2dyZXNzIiwgJnByb2dyZXNzLAorCQkJICAgTl8oImZvcmNlIGNsb25pbmcgcHJvZ3Jlc3MiKSksCiAJCU9QVF9FTkQoKQogCX07CiAKQEAgLTUyOCw3ICs2MzYsMTEgQEAKIAlpZiAoIWZpbGVfZXhpc3RzKHNtX2dpdGRpcikpIHsKIAkJaWYgKHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXNfY29uc3Qoc21fZ2l0ZGlyKSA8IDApCiAJCQlkaWUoXygiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIpLCBzbV9naXRkaXIpOwotCQlpZiAoY2xvbmVfc3VibW9kdWxlKHBhdGgsIHNtX2dpdGRpciwgdXJsLCBkZXB0aCwgcmVmZXJlbmNlLCBxdWlldCkpCisKKwkJcHJlcGFyZV9wb3NzaWJsZV9hbHRlcm5hdGVzKG5hbWUsICZyZWZlcmVuY2UpOworCisJCWlmIChjbG9uZV9zdWJtb2R1bGUocGF0aCwgc21fZ2l0ZGlyLCB1cmwsIGRlcHRoLCAmcmVmZXJlbmNlLAorCQkJCSAgICBxdWlldCwgcHJvZ3Jlc3MpKQogCQkJZGllKF8oImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIpLAogCQkJICAgIHVybCwgcGF0aCk7CiAJfSBlbHNlIHsKQEAgLTU3OCw4ICs2OTAsMTAgQEAKIAlzdHJ1Y3Qgc3VibW9kdWxlX3VwZGF0ZV9zdHJhdGVneSB1cGRhdGU7CiAKIAkvKiBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgd2hpY2ggYXJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4gKi8KKwlpbnQgcHJvZ3Jlc3M7CiAJaW50IHF1aWV0OwotCWNvbnN0IGNoYXIgKnJlZmVyZW5jZTsKKwlpbnQgcmVjb21tZW5kX3NoYWxsb3c7CisJc3RydWN0IHN0cmluZ19saXN0IHJlZmVyZW5jZXM7CiAJY29uc3QgY2hhciAqZGVwdGg7CiAJY29uc3QgY2hhciAqcmVjdXJzaXZlX3ByZWZpeDsKIAljb25zdCBjaGFyICpwcmVmaXg7CkBAIC01ODksMTAgKzcwMywxNSBAQAogCiAJLyogSWYgd2Ugd2FudCB0byBzdG9wIGFzIGZhc3QgYXMgcG9zc2libGUgYW5kIHJldHVybiBhbiBlcnJvciAqLwogCXVuc2lnbmVkIHF1aWNrc3RvcCA6IDE7CisKKwkvKiBmYWlsZWQgY2xvbmVzIHRvIGJlIHJldHJpZWQgYWdhaW4gKi8KKwljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKipmYWlsZWRfY2xvbmVzOworCWludCBmYWlsZWRfY2xvbmVzX25yLCBmYWlsZWRfY2xvbmVzX2FsbG9jOwogfTsKICNkZWZpbmUgU1VCTU9EVUxFX1VQREFURV9DTE9ORV9JTklUIHswLCBNT0RVTEVfTElTVF9JTklULCAwLCBcCi0JU1VCTU9EVUxFX1VQREFURV9TVFJBVEVHWV9JTklULCAwLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBcCi0JU1RSSU5HX0xJU1RfSU5JVF9EVVAsIDB9CisJU1VCTU9EVUxFX1VQREFURV9TVFJBVEVHWV9JTklULCAwLCAwLCAtMSwgU1RSSU5HX0xJU1RfSU5JVF9EVVAsIFwKKwlOVUxMLCBOVUxMLCBOVUxMLCBcCisJU1RSSU5HX0xJU1RfSU5JVF9EVVAsIDAsIE5VTEwsIDAsIDB9CiAKIAogc3RhdGljIHZvaWQgbmV4dF9zdWJtb2R1bGVfd2Fybl9taXNzaW5nKHN0cnVjdCBzdWJtb2R1bGVfdXBkYXRlX2Nsb25lICpzdWMsCkBAIC02MzMsNyArNzUyLDcgQEAKIAkJaWYgKHN1Yy0+cmVjdXJzaXZlX3ByZWZpeCkKIAkJCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzLyVzIiwgc3VjLT5yZWN1cnNpdmVfcHJlZml4LCBjZS0+bmFtZSk7CiAJCWVsc2UKLQkJCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzIiwgY2UtPm5hbWUpOworCQkJc3RyYnVmX2FkZHN0cigmc2IsIGNlLT5uYW1lKTsKIAkJc3RyYnVmX2FkZGYob3V0LCBfKCJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiKSwgc2IuYnVmKTsKIAkJc3RyYnVmX2FkZGNoKG91dCwgJ1xuJyk7CiAJCWdvdG8gY2xlYW51cDsKQEAgLTY3OSw3ICs3OTgsNyBAQAogCiAJc3RyYnVmX3Jlc2V0KCZzYik7CiAJc3RyYnVmX2FkZGYoJnNiLCAiJTA2byAlcyAlZCAlZFx0JXNcbiIsIGNlLT5jZV9tb2RlLAotCQkJc2hhMV90b19oZXgoY2UtPnNoYTEpLCBjZV9zdGFnZShjZSksCisJCQlvaWRfdG9faGV4KCZjZS0+b2lkKSwgY2Vfc3RhZ2UoY2UpLAogCQkJbmVlZHNfY2xvbmluZywgY2UtPm5hbWUpOwogCXN0cmluZ19saXN0X2FwcGVuZCgmc3VjLT5wcm9qZWN0bGluZXMsIHNiLmJ1Zik7CiAKQEAgLTY5MiwxNSArODExLDIyIEBACiAJY2hpbGQtPmVyciA9IC0xOwogCWFyZ3ZfYXJyYXlfcHVzaCgmY2hpbGQtPmFyZ3MsICJzdWJtb2R1bGUtLWhlbHBlciIpOwogCWFyZ3ZfYXJyYXlfcHVzaCgmY2hpbGQtPmFyZ3MsICJjbG9uZSIpOworCWlmIChzdWMtPnByb2dyZXNzKQorCQlhcmd2X2FycmF5X3B1c2goJmNoaWxkLT5hcmdzLCAiLS1wcm9ncmVzcyIpOwogCWlmIChzdWMtPnF1aWV0KQogCQlhcmd2X2FycmF5X3B1c2goJmNoaWxkLT5hcmdzLCAiLS1xdWlldCIpOwogCWlmIChzdWMtPnByZWZpeCkKIAkJYXJndl9hcnJheV9wdXNobCgmY2hpbGQtPmFyZ3MsICItLXByZWZpeCIsIHN1Yy0+cHJlZml4LCBOVUxMKTsKKwlpZiAoc3VjLT5yZWNvbW1lbmRfc2hhbGxvdyAmJiBzdWItPnJlY29tbWVuZF9zaGFsbG93ID09IDEpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmY2hpbGQtPmFyZ3MsICItLWRlcHRoPTEiKTsKIAlhcmd2X2FycmF5X3B1c2hsKCZjaGlsZC0+YXJncywgIi0tcGF0aCIsIHN1Yi0+cGF0aCwgTlVMTCk7CiAJYXJndl9hcnJheV9wdXNobCgmY2hpbGQtPmFyZ3MsICItLW5hbWUiLCBzdWItPm5hbWUsIE5VTEwpOwogCWFyZ3ZfYXJyYXlfcHVzaGwoJmNoaWxkLT5hcmdzLCAiLS11cmwiLCB1cmwsIE5VTEwpOwotCWlmIChzdWMtPnJlZmVyZW5jZSkKLQkJYXJndl9hcnJheV9wdXNoKCZjaGlsZC0+YXJncywgc3VjLT5yZWZlcmVuY2UpOworCWlmIChzdWMtPnJlZmVyZW5jZXMubnIpIHsKKwkJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CisJCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgJnN1Yy0+cmVmZXJlbmNlcykKKwkJCWFyZ3ZfYXJyYXlfcHVzaGwoJmNoaWxkLT5hcmdzLCAiLS1yZWZlcmVuY2UiLCBpdGVtLT5zdHJpbmcsIE5VTEwpOworCX0KIAlpZiAoc3VjLT5kZXB0aCkKIAkJYXJndl9hcnJheV9wdXNoKCZjaGlsZC0+YXJncywgc3VjLT5kZXB0aCk7CiAKQEAgLTcxNSwyMyArODQxLDUyIEBACiBzdGF0aWMgaW50IHVwZGF0ZV9jbG9uZV9nZXRfbmV4dF90YXNrKHN0cnVjdCBjaGlsZF9wcm9jZXNzICpjaGlsZCwKIAkJCQkgICAgICBzdHJ1Y3Qgc3RyYnVmICplcnIsCiAJCQkJICAgICAgdm9pZCAqc3VjX2NiLAotCQkJCSAgICAgIHZvaWQgKip2b2lkX3Rhc2tfY2IpCisJCQkJICAgICAgdm9pZCAqKmlkeF90YXNrX2NiKQogewogCXN0cnVjdCBzdWJtb2R1bGVfdXBkYXRlX2Nsb25lICpzdWMgPSBzdWNfY2I7CisJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKKwlpbnQgaW5kZXg7CiAKIAlmb3IgKDsgc3VjLT5jdXJyZW50IDwgc3VjLT5saXN0Lm5yOyBzdWMtPmN1cnJlbnQrKykgewotCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gc3VjLT5saXN0LmVudHJpZXNbc3VjLT5jdXJyZW50XTsKKwkJY2UgPSBzdWMtPmxpc3QuZW50cmllc1tzdWMtPmN1cnJlbnRdOwogCQlpZiAocHJlcGFyZV90b19jbG9uZV9uZXh0X3N1Ym1vZHVsZShjZSwgY2hpbGQsIHN1YywgZXJyKSkgeworCQkJaW50ICpwID0geG1hbGxvYyhzaXplb2YoKnApKTsKKwkJCSpwID0gc3VjLT5jdXJyZW50OworCQkJKmlkeF90YXNrX2NiID0gcDsKIAkJCXN1Yy0+Y3VycmVudCsrOwogCQkJcmV0dXJuIDE7CiAJCX0KIAl9CisKKwkvKgorCSAqIFRoZSBsb29wIGFib3ZlIHRyaWVkIGNsb25pbmcgZWFjaCBzdWJtb2R1bGUgb25jZSwgbm93IHRyeSB0aGUKKwkgKiBzdHJhZ2dsZXJzIGFnYWluLCB3aGljaCB3ZSBjYW4gaW1hZ2luZSBhcyBhbiBleHRlbnNpb24gb2YgdGhlCisJICogZW50cnkgbGlzdC4KKwkgKi8KKwlpbmRleCA9IHN1Yy0+Y3VycmVudCAtIHN1Yy0+bGlzdC5ucjsKKwlpZiAoaW5kZXggPCBzdWMtPmZhaWxlZF9jbG9uZXNfbnIpIHsKKwkJaW50ICpwOworCQljZSA9IHN1Yy0+ZmFpbGVkX2Nsb25lc1tpbmRleF07CisJCWlmICghcHJlcGFyZV90b19jbG9uZV9uZXh0X3N1Ym1vZHVsZShjZSwgY2hpbGQsIHN1YywgZXJyKSkgeworCQkJc3VjLT5jdXJyZW50ICsrOworCQkJc3RyYnVmX2FkZHN0cihlcnIsICJCVUc6IHN1Ym1vZHVsZSBjb25zaWRlcmVkIGZvciAiCisJCQkJCSAgICJjbG9uaW5nLCBkb2Vzbid0IG5lZWQgY2xvbmluZyAiCisJCQkJCSAgICJhbnkgbW9yZT9cbiIpOworCQkJcmV0dXJuIDA7CisJCX0KKwkJcCA9IHhtYWxsb2Moc2l6ZW9mKCpwKSk7CisJCSpwID0gc3VjLT5jdXJyZW50OworCQkqaWR4X3Rhc2tfY2IgPSBwOworCQlzdWMtPmN1cnJlbnQgKys7CisJCXJldHVybiAxOworCX0KKwogCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IHVwZGF0ZV9jbG9uZV9zdGFydF9mYWlsdXJlKHN0cnVjdCBzdHJidWYgKmVyciwKIAkJCQkgICAgICB2b2lkICpzdWNfY2IsCi0JCQkJICAgICAgdm9pZCAqdm9pZF90YXNrX2NiKQorCQkJCSAgICAgIHZvaWQgKmlkeF90YXNrX2NiKQogewogCXN0cnVjdCBzdWJtb2R1bGVfdXBkYXRlX2Nsb25lICpzdWMgPSBzdWNfY2I7CiAJc3VjLT5xdWlja3N0b3AgPSAxOwpAQCAtNzQxLDE1ICs4OTYsMzkgQEAKIHN0YXRpYyBpbnQgdXBkYXRlX2Nsb25lX3Rhc2tfZmluaXNoZWQoaW50IHJlc3VsdCwKIAkJCQkgICAgICBzdHJ1Y3Qgc3RyYnVmICplcnIsCiAJCQkJICAgICAgdm9pZCAqc3VjX2NiLAotCQkJCSAgICAgIHZvaWQgKnZvaWRfdGFza19jYikKKwkJCQkgICAgICB2b2lkICppZHhfdGFza19jYikKIHsKKwljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOwogCXN0cnVjdCBzdWJtb2R1bGVfdXBkYXRlX2Nsb25lICpzdWMgPSBzdWNfY2I7CiAKKwlpbnQgKmlkeFAgPSAqKGludCoqKWlkeF90YXNrX2NiOworCWludCBpZHggPSAqaWR4UDsKKwlmcmVlKGlkeFApOworCiAJaWYgKCFyZXN1bHQpCiAJCXJldHVybiAwOwogCi0Jc3VjLT5xdWlja3N0b3AgPSAxOwotCXJldHVybiAxOworCWlmIChpZHggPCBzdWMtPmxpc3QubnIpIHsKKwkJY2UgID0gc3VjLT5saXN0LmVudHJpZXNbaWR4XTsKKwkJc3RyYnVmX2FkZGYoZXJyLCBfKCJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIiksCisJCQkgICAgY2UtPm5hbWUpOworCQlzdHJidWZfYWRkY2goZXJyLCAnXG4nKTsKKwkJQUxMT0NfR1JPVyhzdWMtPmZhaWxlZF9jbG9uZXMsCisJCQkgICBzdWMtPmZhaWxlZF9jbG9uZXNfbnIgKyAxLAorCQkJICAgc3VjLT5mYWlsZWRfY2xvbmVzX2FsbG9jKTsKKwkJc3VjLT5mYWlsZWRfY2xvbmVzW3N1Yy0+ZmFpbGVkX2Nsb25lc19ucisrXSA9IGNlOworCQlyZXR1cm4gMDsKKwl9IGVsc2UgeworCQlpZHggLT0gc3VjLT5saXN0Lm5yOworCQljZSAgPSBzdWMtPmZhaWxlZF9jbG9uZXNbaWR4XTsKKwkJc3RyYnVmX2FkZGYoZXJyLCBfKCJGYWlsZWQgdG8gY2xvbmUgJyVzJyBhIHNlY29uZCB0aW1lLCBhYm9ydGluZyIpLAorCQkJICAgIGNlLT5uYW1lKTsKKwkJc3RyYnVmX2FkZGNoKGVyciwgJ1xuJyk7CisJCXN1Yy0+cXVpY2tzdG9wID0gMTsKKwkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgdXBkYXRlX2Nsb25lKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQpAQCAtNzcxLDE0ICs5NTAsMTggQEAKIAkJT1BUX1NUUklORygwLCAidXBkYXRlIiwgJnVwZGF0ZSwKIAkJCSAgIE5fKCJzdHJpbmciKSwKIAkJCSAgIE5fKCJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBvciBub25lIikpLAotCQlPUFRfU1RSSU5HKDAsICJyZWZlcmVuY2UiLCAmc3VjLnJlZmVyZW5jZSwgTl8oInJlcG8iKSwKKwkJT1BUX1NUUklOR19MSVNUKDAsICJyZWZlcmVuY2UiLCAmc3VjLnJlZmVyZW5jZXMsIE5fKCJyZXBvIiksCiAJCQkgICBOXygicmVmZXJlbmNlIHJlcG9zaXRvcnkiKSksCiAJCU9QVF9TVFJJTkcoMCwgImRlcHRoIiwgJnN1Yy5kZXB0aCwgIjxkZXB0aD4iLAogCQkJICAgTl8oIkNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgdHJ1bmNhdGVkIHRvIHRoZSAiCiAJCQkgICAgICAic3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiKSksCiAJCU9QVF9JTlRFR0VSKCdqJywgImpvYnMiLCAmbWF4X2pvYnMsCiAJCQkgICAgTl8oInBhcmFsbGVsIGpvYnMiKSksCisJCU9QVF9CT09MKDAsICJyZWNvbW1lbmQtc2hhbGxvdyIsICZzdWMucmVjb21tZW5kX3NoYWxsb3csCisJCQkgICAgTl8oIndoZXRoZXIgdGhlIGluaXRpYWwgY2xvbmUgc2hvdWxkIGZvbGxvdyB0aGUgc2hhbGxvdyByZWNvbW1lbmRhdGlvbiIpKSwKIAkJT1BUX19RVUlFVCgmc3VjLnF1aWV0LCBOXygiZG9uJ3QgcHJpbnQgY2xvbmluZyBwcm9ncmVzcyIpKSwKKwkJT1BUX0JPT0woMCwgInByb2dyZXNzIiwgJnN1Yy5wcm9ncmVzcywKKwkJCSAgICBOXygiZm9yY2UgY2xvbmluZyBwcm9ncmVzcyIpKSwKIAkJT1BUX0VORCgpCiAJfTsKIApAQCAtODM1LDEzICsxMDE4LDY0IEBACiB7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCWlmIChhcmdjICE9IDMpCi0JCWRpZSgic3VibW9kdWxlLS1oZWxwZXIgcmVsYXRpdmVfcGF0aCB0YWtlcyBleGFjdGx5IDIgYXJndW1lbnRzLCBnb3QgJWQiLCBhcmdjKTsKKwkJZGllKCJzdWJtb2R1bGUtLWhlbHBlciByZWxhdGl2ZS1wYXRoIHRha2VzIGV4YWN0bHkgMiBhcmd1bWVudHMsIGdvdCAlZCIsIGFyZ2MpOwogCiAJcHJpbnRmKCIlcyIsIHJlbGF0aXZlX3BhdGgoYXJndlsxXSwgYXJndlsyXSwgJnNiKSk7CiAJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgKnJlbW90ZV9zdWJtb2R1bGVfYnJhbmNoKGNvbnN0IGNoYXIgKnBhdGgpCit7CisJY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3ViOworCWdpdG1vZHVsZXNfY29uZmlnKCk7CisJZ2l0X2NvbmZpZyhzdWJtb2R1bGVfY29uZmlnLCBOVUxMKTsKKworCXN1YiA9IHN1Ym1vZHVsZV9mcm9tX3BhdGgobnVsbF9zaGExLCBwYXRoKTsKKwlpZiAoIXN1YikKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoIXN1Yi0+YnJhbmNoKQorCQlyZXR1cm4gIm1hc3RlciI7CisKKwlpZiAoIXN0cmNtcChzdWItPmJyYW5jaCwgIi4iKSkgeworCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCQljb25zdCBjaGFyICpyZWZuYW1lID0gcmVzb2x2ZV9yZWZfdW5zYWZlKCJIRUFEIiwgMCwgc2hhMSwgTlVMTCk7CisKKwkJaWYgKCFyZWZuYW1lKQorCQkJZGllKF8oIk5vIHN1Y2ggcmVmOiAlcyIpLCAiSEVBRCIpOworCisJCS8qIGRldGFjaGVkIEhFQUQgKi8KKwkJaWYgKCFzdHJjbXAocmVmbmFtZSwgIkhFQUQiKSkKKwkJCWRpZShfKCJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0ICIKKwkJCSAgICAgICJicmFuY2ggZnJvbSBzdXBlcnByb2plY3QsIGJ1dCB0aGUgc3VwZXJwcm9qZWN0ICIKKwkJCSAgICAgICJpcyBub3Qgb24gYW55IGJyYW5jaCIpLCBzdWItPm5hbWUpOworCisJCWlmICghc2tpcF9wcmVmaXgocmVmbmFtZSwgInJlZnMvaGVhZHMvIiwgJnJlZm5hbWUpKQorCQkJZGllKF8oIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIpLCByZWZuYW1lKTsKKwkJcmV0dXJuIHJlZm5hbWU7CisJfQorCisJcmV0dXJuIHN1Yi0+YnJhbmNoOworfQorCitzdGF0aWMgaW50IHJlc29sdmVfcmVtb3RlX3N1Ym1vZHVsZV9icmFuY2goaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LAorCQljb25zdCBjaGFyICpwcmVmaXgpCit7CisJY29uc3QgY2hhciAqcmV0OworCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwlpZiAoYXJnYyAhPSAyKQorCQlkaWUoInN1Ym1vZHVsZS0taGVscGVyIHJlbW90ZS1icmFuY2ggdGFrZXMgZXhhY3RseSBvbmUgYXJndW1lbnRzLCBnb3QgJWQiLCBhcmdjKTsKKworCXJldCA9IHJlbW90ZV9zdWJtb2R1bGVfYnJhbmNoKGFyZ3ZbMV0pOworCWlmICghcmV0KQorCQlkaWUoInN1Ym1vZHVsZSAlcyBkb2Vzbid0IGV4aXN0IiwgYXJndlsxXSk7CisKKwlwcmludGYoIiVzIiwgcmV0KTsKKwlzdHJidWZfcmVsZWFzZSgmc2IpOworCXJldHVybiAwOworfQorCiBzdHJ1Y3QgY21kX3N0cnVjdCB7CiAJY29uc3QgY2hhciAqY21kOwogCWludCAoKmZuKShpbnQsIGNvbnN0IGNoYXIgKiosIGNvbnN0IGNoYXIgKik7CkBAIC04NTUsNyArMTA4OSw4IEBACiAJeyJyZWxhdGl2ZS1wYXRoIiwgcmVzb2x2ZV9yZWxhdGl2ZV9wYXRofSwKIAl7InJlc29sdmUtcmVsYXRpdmUtdXJsIiwgcmVzb2x2ZV9yZWxhdGl2ZV91cmx9LAogCXsicmVzb2x2ZS1yZWxhdGl2ZS11cmwtdGVzdCIsIHJlc29sdmVfcmVsYXRpdmVfdXJsX3Rlc3R9LAotCXsiaW5pdCIsIG1vZHVsZV9pbml0fQorCXsiaW5pdCIsIG1vZHVsZV9pbml0fSwKKwl7InJlbW90ZS1icmFuY2giLCByZXNvbHZlX3JlbW90ZV9zdWJtb2R1bGVfYnJhbmNofQogfTsKIAogaW50IGNtZF9zdWJtb2R1bGVfX2hlbHBlcihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKZGlmZiAtLWdpdCBhL2J1aWx0aW4vc3ltYm9saWMtcmVmLmMgYi9idWlsdGluL3N5bWJvbGljLXJlZi5jCmluZGV4IDljMjlhNjQuLjk2ZWVkOTQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vc3ltYm9saWMtcmVmLmMKKysrIGIvYnVpbHRpbi9zeW1ib2xpYy1yZWYuYwpAQCAtNTYsNiArNTYsOCBAQAogCQlyZXQgPSBjaGVja19zeW1yZWYoYXJndlswXSwgMSwgMCwgMCk7CiAJCWlmIChyZXQpCiAJCQlkaWUoIkNhbm5vdCBkZWxldGUgJXMsIG5vdCBhIHN5bWJvbGljIHJlZiIsIGFyZ3ZbMF0pOworCQlpZiAoIXN0cmNtcChhcmd2WzBdLCAiSEVBRCIpKQorCQkJZGllKCJkZWxldGluZyAnJXMnIGlzIG5vdCBhbGxvd2VkIiwgYXJndlswXSk7CiAJCXJldHVybiBkZWxldGVfcmVmKGFyZ3ZbMF0sIE5VTEwsIFJFRl9OT0RFUkVGKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vdW5wYWNrLW9iamVjdHMuYyBiL2J1aWx0aW4vdW5wYWNrLW9iamVjdHMuYwppbmRleCA4NzVlN2VkLi40NTMyYWEwIDEwMDY0NAotLS0gYS9idWlsdGluL3VucGFjay1vYmplY3RzLmMKKysrIGIvYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jCkBAIC0xOSw2ICsxOSw3IEBACiBzdGF0aWMgdW5zaWduZWQgY2hhciBidWZmZXJbNDA5Nl07CiBzdGF0aWMgdW5zaWduZWQgaW50IG9mZnNldCwgbGVuOwogc3RhdGljIG9mZl90IGNvbnN1bWVkX2J5dGVzOworc3RhdGljIG9mZl90IG1heF9pbnB1dF9zaXplOwogc3RhdGljIGdpdF9TSEFfQ1RYIGN0eDsKIHN0YXRpYyBzdHJ1Y3QgZnNja19vcHRpb25zIGZzY2tfb3B0aW9ucyA9IEZTQ0tfT1BUSU9OU19TVFJJQ1Q7CiAKQEAgLTg3LDYgKzg4LDggQEAKIAlpZiAoc2lnbmVkX2FkZF9vdmVyZmxvd3MoY29uc3VtZWRfYnl0ZXMsIGJ5dGVzKSkKIAkJZGllKCJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90Iik7CiAJY29uc3VtZWRfYnl0ZXMgKz0gYnl0ZXM7CisJaWYgKG1heF9pbnB1dF9zaXplICYmIGNvbnN1bWVkX2J5dGVzID4gbWF4X2lucHV0X3NpemUpCisJCWRpZShfKCJwYWNrIGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIHNpemUiKSk7CiB9CiAKIHN0YXRpYyB2b2lkICpnZXRfZGF0YSh1bnNpZ25lZCBsb25nIHNpemUpCkBAIC0zNTUsNyArMzU4LDcgQEAKIAkJCXJldHVybjsgLyogd2UgYXJlIGRvbmUgKi8KIAkJZWxzZSB7CiAJCQkvKiBjYW5ub3QgcmVzb2x2ZSB5ZXQgLS0tIHF1ZXVlIGl0ICovCi0JCQloYXNoY3B5KG9ial9saXN0W25yXS5zaGExLCBudWxsX3NoYTEpOworCQkJaGFzaGNscihvYmpfbGlzdFtucl0uc2hhMSk7CiAJCQlhZGRfZGVsdGFfdG9fbGlzdChuciwgYmFzZV9zaGExLCAwLCBkZWx0YV9kYXRhLCBkZWx0YV9zaXplKTsKIAkJCXJldHVybjsKIAkJfQpAQCAtNDA2LDcgKzQwOSw3IEBACiAJCQkgKiBUaGUgZGVsdGEgYmFzZSBvYmplY3QgaXMgaXRzZWxmIGEgZGVsdGEgdGhhdAogCQkJICogaGFzIG5vdCBiZWVuIHJlc29sdmVkIHlldC4KIAkJCSAqLwotCQkJaGFzaGNweShvYmpfbGlzdFtucl0uc2hhMSwgbnVsbF9zaGExKTsKKwkJCWhhc2hjbHIob2JqX2xpc3RbbnJdLnNoYTEpOwogCQkJYWRkX2RlbHRhX3RvX2xpc3QobnIsIG51bGxfc2hhMSwgYmFzZV9vZmZzZXQsIGRlbHRhX2RhdGEsIGRlbHRhX3NpemUpOwogCQkJcmV0dXJuOwogCQl9CkBAIC01NTAsNiArNTUzLDEwIEBACiAJCQkJbGVuID0gc2l6ZW9mKCpoZHIpOwogCQkJCWNvbnRpbnVlOwogCQkJfQorCQkJaWYgKHNraXBfcHJlZml4KGFyZywgIi0tbWF4LWlucHV0LXNpemU9IiwgJmFyZykpIHsKKwkJCQltYXhfaW5wdXRfc2l6ZSA9IHN0cnRvdW1heChhcmcsIE5VTEwsIDEwKTsKKwkJCQljb250aW51ZTsKKwkJCX0KIAkJCXVzYWdlKHVucGFja191c2FnZSk7CiAJCX0KIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi91cGRhdGUtaW5kZXguYyBiL2J1aWx0aW4vdXBkYXRlLWluZGV4LmMKaW5kZXggYjhiODUyMi4uZjNmMDdlNyAxMDA2NDQKLS0tIGEvYnVpbHRpbi91cGRhdGUtaW5kZXguYworKysgYi9idWlsdGluL3VwZGF0ZS1pbmRleC5jCkBAIC0yNzUsNyArMjc1LDcgQEAKIAlmaWxsX3N0YXRfY2FjaGVfaW5mbyhjZSwgc3QpOwogCWNlLT5jZV9tb2RlID0gY2VfbW9kZV9mcm9tX3N0YXQob2xkLCBzdC0+c3RfbW9kZSk7CiAKLQlpZiAoaW5kZXhfcGF0aChjZS0+c2hhMSwgcGF0aCwgc3QsCisJaWYgKGluZGV4X3BhdGgoY2UtPm9pZC5oYXNoLCBwYXRoLCBzdCwKIAkJICAgICAgIGluZm9fb25seSA/IDAgOiBIQVNIX1dSSVRFX09CSkVDVCkpIHsKIAkJZnJlZShjZSk7CiAJCXJldHVybiAtMTsKQEAgLTMxMiw3ICszMTIsNyBAQAogICovCiBzdGF0aWMgaW50IHByb2Nlc3NfZGlyZWN0b3J5KGNvbnN0IGNoYXIgKnBhdGgsIGludCBsZW4sIHN0cnVjdCBzdGF0ICpzdCkKIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCWludCBwb3MgPSBjYWNoZV9uYW1lX3BvcyhwYXRoLCBsZW4pOwogCiAJLyogRXhhY3QgbWF0Y2g6IGZpbGUgb3IgZXhpc3RpbmcgZ2l0bGluayAqLwpAQCAtMzIxLDcgKzMyMSw3IEBACiAJCWlmIChTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSkpIHsKIAogCQkJLyogRG8gbm90aGluZyB0byB0aGUgaW5kZXggaWYgdGhlcmUgaXMgbm8gSEVBRCEgKi8KLQkJCWlmIChyZXNvbHZlX2dpdGxpbmtfcmVmKHBhdGgsICJIRUFEIiwgc2hhMSkgPCAwKQorCQkJaWYgKHJlc29sdmVfZ2l0bGlua19yZWYocGF0aCwgIkhFQUQiLCBvaWQuaGFzaCkgPCAwKQogCQkJCXJldHVybiAwOwogCiAJCQlyZXR1cm4gYWRkX29uZV9wYXRoKGNlLCBwYXRoLCBsZW4sIHN0KTsKQEAgLTM0Nyw3ICszNDcsNyBAQAogCX0KIAogCS8qIE5vIG1hdGNoIC0gc2hvdWxkIHdlIGFkZCBpdCBhcyBhIGdpdGxpbms/ICovCi0JaWYgKCFyZXNvbHZlX2dpdGxpbmtfcmVmKHBhdGgsICJIRUFEIiwgc2hhMSkpCisJaWYgKCFyZXNvbHZlX2dpdGxpbmtfcmVmKHBhdGgsICJIRUFEIiwgb2lkLmhhc2gpKQogCQlyZXR1cm4gYWRkX29uZV9wYXRoKE5VTEwsIHBhdGgsIGxlbiwgc3QpOwogCiAJLyogRXJyb3Igb3V0LiAqLwpAQCAtMzkwLDcgKzM5MCw3IEBACiAJcmV0dXJuIGFkZF9vbmVfcGF0aChjZSwgcGF0aCwgbGVuLCAmc3QpOwogfQogCi1zdGF0aWMgaW50IGFkZF9jYWNoZWluZm8odW5zaWduZWQgaW50IG1vZGUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCitzdGF0aWMgaW50IGFkZF9jYWNoZWluZm8odW5zaWduZWQgaW50IG1vZGUsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCSBjb25zdCBjaGFyICpwYXRoLCBpbnQgc3RhZ2UpCiB7CiAJaW50IHNpemUsIGxlbiwgb3B0aW9uOwpAQCAtNDAzLDcgKzQwMyw3IEBACiAJc2l6ZSA9IGNhY2hlX2VudHJ5X3NpemUobGVuKTsKIAljZSA9IHhjYWxsb2MoMSwgc2l6ZSk7CiAKLQloYXNoY3B5KGNlLT5zaGExLCBzaGExKTsKKwlvaWRjcHkoJmNlLT5vaWQsIG9pZCk7CiAJbWVtY3B5KGNlLT5uYW1lLCBwYXRoLCBsZW4pOwogCWNlLT5jZV9mbGFncyA9IGNyZWF0ZV9jZV9mbGFncyhzdGFnZSk7CiAJY2UtPmNlX25hbWVsZW4gPSBsZW47CkBAIC00MTksMzAgKzQxOSwxOCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBjaG1vZF9wYXRoKGludCBmbGlwLCBjb25zdCBjaGFyICpwYXRoKQorc3RhdGljIHZvaWQgY2htb2RfcGF0aChjaGFyIGZsaXAsIGNvbnN0IGNoYXIgKnBhdGgpCiB7CiAJaW50IHBvczsKIAlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOwotCXVuc2lnbmVkIGludCBtb2RlOwogCiAJcG9zID0gY2FjaGVfbmFtZV9wb3MocGF0aCwgc3RybGVuKHBhdGgpKTsKIAlpZiAocG9zIDwgMCkKIAkJZ290byBmYWlsOwogCWNlID0gYWN0aXZlX2NhY2hlW3Bvc107Ci0JbW9kZSA9IGNlLT5jZV9tb2RlOwotCWlmICghU19JU1JFRyhtb2RlKSkKKwlpZiAoY2htb2RfY2FjaGVfZW50cnkoY2UsIGZsaXApIDwgMCkKIAkJZ290byBmYWlsOwotCXN3aXRjaCAoZmxpcCkgewotCWNhc2UgJysnOgotCQljZS0+Y2VfbW9kZSB8PSAwMTExOyBicmVhazsKLQljYXNlICctJzoKLQkJY2UtPmNlX21vZGUgJj0gfjAxMTE7IGJyZWFrOwotCWRlZmF1bHQ6Ci0JCWdvdG8gZmFpbDsKLQl9Ci0JY2FjaGVfdHJlZV9pbnZhbGlkYXRlX3BhdGgoJnRoZV9pbmRleCwgcGF0aCk7Ci0JY2UtPmNlX2ZsYWdzIHw9IENFX1VQREFURV9JTl9CQVNFOwotCWFjdGl2ZV9jYWNoZV9jaGFuZ2VkIHw9IENFX0VOVFJZX0NIQU5HRUQ7CisKIAlyZXBvcnQoImNobW9kICVjeCAnJXMnIiwgZmxpcCwgcGF0aCk7CiAJcmV0dXJuOwogIGZhaWw6CkBAIC00ODcsNyArNDc1LDcgQEAKIAl3aGlsZSAoZ2V0bGluZV9mbigmYnVmLCBzdGRpbikgIT0gRU9GKSB7CiAJCWNoYXIgKnB0ciwgKnRhYjsKIAkJY2hhciAqcGF0aF9uYW1lOwotCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAkJdW5zaWduZWQgaW50IG1vZGU7CiAJCXVuc2lnbmVkIGxvbmcgdWw7CiAJCWludCBzdGFnZTsKQEAgLTUxNiw3ICs1MDQsNyBAQAogCQltb2RlID0gdWw7CiAKIAkJdGFiID0gc3RyY2hyKHB0ciwgJ1x0Jyk7Ci0JCWlmICghdGFiIHx8IHRhYiAtIHB0ciA8IDQxKQorCQlpZiAoIXRhYiB8fCB0YWIgLSBwdHIgPCBHSVRfU0hBMV9IRVhTWiArIDEpCiAJCQlnb3RvIGJhZF9saW5lOwogCiAJCWlmICh0YWJbLTJdID09ICcgJyAmJiAnMCcgPD0gdGFiWy0xXSAmJiB0YWJbLTFdIDw9ICczJykgewpAQCAtNTI5LDcgKzUxNyw4IEBACiAJCQlwdHIgPSB0YWIgKyAxOyAvKiBwb2ludCBhdCB0aGUgaGVhZCBvZiBwYXRoICovCiAJCX0KIAotCQlpZiAoZ2V0X3NoYTFfaGV4KHRhYiAtIDQwLCBzaGExKSB8fCB0YWJbLTQxXSAhPSAnICcpCisJCWlmIChnZXRfb2lkX2hleCh0YWIgLSBHSVRfU0hBMV9IRVhTWiwgJm9pZCkgfHwKKwkJCXRhYlstKEdJVF9TSEExX0hFWFNaICsgMSldICE9ICcgJykKIAkJCWdvdG8gYmFkX2xpbmU7CiAKIAkJcGF0aF9uYW1lID0gcHRyOwpAQCAtNTU3LDggKzU0Niw4IEBACiAJCQkgKiBwdHJbLTFdIHBvaW50cyBhdCB0YWIsCiAJCQkgKiBwdHJbLTQxXSBpcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHNoYTEKIAkJCSAqLwotCQkJcHRyWy00Ml0gPSBwdHJbLTFdID0gMDsKLQkJCWlmIChhZGRfY2FjaGVpbmZvKG1vZGUsIHNoYTEsIHBhdGhfbmFtZSwgc3RhZ2UpKQorCQkJcHRyWy0oR0lUX1NIQTFfSEVYU1ogKyAyKV0gPSBwdHJbLTFdID0gMDsKKwkJCWlmIChhZGRfY2FjaGVpbmZvKG1vZGUsICZvaWQsIHBhdGhfbmFtZSwgc3RhZ2UpKQogCQkJCWRpZSgiZ2l0IHVwZGF0ZS1pbmRleDogdW5hYmxlIHRvIHVwZGF0ZSAlcyIsCiAJCQkJICAgIHBhdGhfbmFtZSk7CiAJCX0KQEAgLTU3NiwxOSArNTY1LDE5IEBACiAJTlVMTAogfTsKIAotc3RhdGljIHVuc2lnbmVkIGNoYXIgaGVhZF9zaGExWzIwXTsKLXN0YXRpYyB1bnNpZ25lZCBjaGFyIG1lcmdlX2hlYWRfc2hhMVsyMF07CitzdGF0aWMgc3RydWN0IG9iamVjdF9pZCBoZWFkX29pZDsKK3N0YXRpYyBzdHJ1Y3Qgb2JqZWN0X2lkIG1lcmdlX2hlYWRfb2lkOwogCiBzdGF0aWMgc3RydWN0IGNhY2hlX2VudHJ5ICpyZWFkX29uZV9lbnQoY29uc3QgY2hhciAqd2hpY2gsCi0JCQkJCXVuc2lnbmVkIGNoYXIgKmVudCwgY29uc3QgY2hhciAqcGF0aCwKKwkJCQkJc3RydWN0IG9iamVjdF9pZCAqZW50LCBjb25zdCBjaGFyICpwYXRoLAogCQkJCQlpbnQgbmFtZWxlbiwgaW50IHN0YWdlKQogewogCXVuc2lnbmVkIG1vZGU7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlpbnQgc2l6ZTsKIAlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOwogCi0JaWYgKGdldF90cmVlX2VudHJ5KGVudCwgcGF0aCwgc2hhMSwgJm1vZGUpKSB7CisJaWYgKGdldF90cmVlX2VudHJ5KGVudC0+aGFzaCwgcGF0aCwgb2lkLmhhc2gsICZtb2RlKSkgewogCQlpZiAod2hpY2gpCiAJCQllcnJvcigiJXM6IG5vdCBpbiAlcyBicmFuY2guIiwgcGF0aCwgd2hpY2gpOwogCQlyZXR1cm4gTlVMTDsKQEAgLTYwMSw3ICs1OTAsNyBAQAogCXNpemUgPSBjYWNoZV9lbnRyeV9zaXplKG5hbWVsZW4pOwogCWNlID0geGNhbGxvYygxLCBzaXplKTsKIAotCWhhc2hjcHkoY2UtPnNoYTEsIHNoYTEpOworCW9pZGNweSgmY2UtPm9pZCwgJm9pZCk7CiAJbWVtY3B5KGNlLT5uYW1lLCBwYXRoLCBuYW1lbGVuKTsKIAljZS0+Y2VfZmxhZ3MgPSBjcmVhdGVfY2VfZmxhZ3Moc3RhZ2UpOwogCWNlLT5jZV9uYW1lbGVuID0gbmFtZWxlbjsKQEAgLTY1MSwxNCArNjQwLDE0IEBACiAJICogc3R1ZmYgSEVBRCB2ZXJzaW9uIGluIHN0YWdlICMyLAogCSAqIHN0dWZmIE1FUkdFX0hFQUQgdmVyc2lvbiBpbiBzdGFnZSAjMy4KIAkgKi8KLQljZV8yID0gcmVhZF9vbmVfZW50KCJvdXIiLCBoZWFkX3NoYTEsIHBhdGgsIG5hbWVsZW4sIDIpOwotCWNlXzMgPSByZWFkX29uZV9lbnQoInRoZWlyIiwgbWVyZ2VfaGVhZF9zaGExLCBwYXRoLCBuYW1lbGVuLCAzKTsKKwljZV8yID0gcmVhZF9vbmVfZW50KCJvdXIiLCAmaGVhZF9vaWQsIHBhdGgsIG5hbWVsZW4sIDIpOworCWNlXzMgPSByZWFkX29uZV9lbnQoInRoZWlyIiwgJm1lcmdlX2hlYWRfb2lkLCBwYXRoLCBuYW1lbGVuLCAzKTsKIAogCWlmICghY2VfMiB8fCAhY2VfMykgewogCQlyZXQgPSAtMTsKIAkJZ290byBmcmVlX3JldHVybjsKIAl9Ci0JaWYgKCFoYXNoY21wKGNlXzItPnNoYTEsIGNlXzMtPnNoYTEpICYmCisJaWYgKCFvaWRjbXAoJmNlXzItPm9pZCwgJmNlXzMtPm9pZCkgJiYKIAkgICAgY2VfMi0+Y2VfbW9kZSA9PSBjZV8zLT5jZV9tb2RlKSB7CiAJCWZwcmludGYoc3RkZXJyLCAiJXM6IGlkZW50aWNhbCBpbiBib3RoLCBza2lwcGluZy5cbiIsCiAJCQlwYXRoKTsKQEAgLTY4Myw5ICs2NzIsOSBAQAogCiBzdGF0aWMgdm9pZCByZWFkX2hlYWRfcG9pbnRlcnModm9pZCkKIHsKLQlpZiAocmVhZF9yZWYoIkhFQUQiLCBoZWFkX3NoYTEpKQorCWlmIChyZWFkX3JlZigiSEVBRCIsIGhlYWRfb2lkLmhhc2gpKQogCQlkaWUoIk5vIEhFQUQgLS0gbm8gaW5pdGlhbCBjb21taXQgeWV0PyIpOwotCWlmIChyZWFkX3JlZigiTUVSR0VfSEVBRCIsIG1lcmdlX2hlYWRfc2hhMSkpIHsKKwlpZiAocmVhZF9yZWYoIk1FUkdFX0hFQUQiLCBtZXJnZV9oZWFkX29pZC5oYXNoKSkgewogCQlmcHJpbnRmKHN0ZGVyciwgIk5vdCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuXG4iKTsKIAkJZXhpdCgwKTsKIAl9CkBAIC03MjUsNyArNzE0LDcgQEAKIAkJICAgICAgIFBBVEhTUEVDX1BSRUZFUl9DV0QsCiAJCSAgICAgICBwcmVmaXgsIGF2ICsgMSk7CiAKLQlpZiAocmVhZF9yZWYoIkhFQUQiLCBoZWFkX3NoYTEpKQorCWlmIChyZWFkX3JlZigiSEVBRCIsIGhlYWRfb2lkLmhhc2gpKQogCQkvKiBJZiB0aGVyZSBpcyBubyBIRUFELCB0aGF0IG1lYW5zIGl0IGlzIGFuIGluaXRpYWwKIAkJICogY29tbWl0LiAgVXBkYXRlIGV2ZXJ5dGhpbmcgaW4gdGhlIGluZGV4LgogCQkgKi8KQEAgLTc0MCwxMCArNzI5LDEwIEBACiAJCWlmIChjZV9zdGFnZShjZSkgfHwgIWNlX3BhdGhfbWF0Y2goY2UsICZwYXRoc3BlYywgTlVMTCkpCiAJCQljb250aW51ZTsKIAkJaWYgKGhhc19oZWFkKQotCQkJb2xkID0gcmVhZF9vbmVfZW50KE5VTEwsIGhlYWRfc2hhMSwKKwkJCW9sZCA9IHJlYWRfb25lX2VudChOVUxMLCAmaGVhZF9vaWQsCiAJCQkJCSAgIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSwgMCk7CiAJCWlmIChvbGQgJiYgY2UtPmNlX21vZGUgPT0gb2xkLT5jZV9tb2RlICYmCi0JCSAgICAhaGFzaGNtcChjZS0+c2hhMSwgb2xkLT5zaGExKSkgeworCQkgICAgIW9pZGNtcCgmY2UtPm9pZCwgJm9sZC0+b2lkKSkgewogCQkJZnJlZShvbGQpOwogCQkJY29udGludWU7IC8qIHVuY2hhbmdlZCAqLwogCQl9CkBAIC03NTksNyArNzQ4LDcgQEAKIAkJaWYgKHNhdmVfbnIgIT0gYWN0aXZlX25yKQogCQkJZ290byByZWRvOwogCX0KLQlmcmVlX3BhdGhzcGVjKCZwYXRoc3BlYyk7CisJY2xlYXJfcGF0aHNwZWMoJnBhdGhzcGVjKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtODA3LDcgKzc5Niw3IEBACiAKIHN0YXRpYyBpbnQgcGFyc2VfbmV3X3N0eWxlX2NhY2hlaW5mbyhjb25zdCBjaGFyICphcmcsCiAJCQkJICAgICB1bnNpZ25lZCBpbnQgKm1vZGUsCi0JCQkJICAgICB1bnNpZ25lZCBjaGFyIHNoYTFbXSwKKwkJCQkgICAgIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCQkgICAgIGNvbnN0IGNoYXIgKipwYXRoKQogewogCXVuc2lnbmVkIGxvbmcgdWw7CkBAIC04MjIsMjEgKzgxMSwyMSBAQAogCQlyZXR1cm4gLTE7IC8qIG5vdCBhIG5ldy1zdHlsZSBjYWNoZWluZm8gKi8KIAkqbW9kZSA9IHVsOwogCWVuZHArKzsKLQlpZiAoZ2V0X3NoYTFfaGV4KGVuZHAsIHNoYTEpIHx8IGVuZHBbNDBdICE9ICcsJykKKwlpZiAoZ2V0X29pZF9oZXgoZW5kcCwgb2lkKSB8fCBlbmRwW0dJVF9TSEExX0hFWFNaXSAhPSAnLCcpCiAJCXJldHVybiAtMTsKLQkqcGF0aCA9IGVuZHAgKyA0MTsKKwkqcGF0aCA9IGVuZHAgKyBHSVRfU0hBMV9IRVhTWiArIDE7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgY2FjaGVpbmZvX2NhbGxiYWNrKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKmN0eCwKIAkJCQljb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGludCB1bnNldCkKIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXVuc2lnbmVkIGludCBtb2RlOwogCWNvbnN0IGNoYXIgKnBhdGg7CiAKLQlpZiAoIXBhcnNlX25ld19zdHlsZV9jYWNoZWluZm8oY3R4LT5hcmd2WzFdLCAmbW9kZSwgc2hhMSwgJnBhdGgpKSB7Ci0JCWlmIChhZGRfY2FjaGVpbmZvKG1vZGUsIHNoYTEsIHBhdGgsIDApKQorCWlmICghcGFyc2VfbmV3X3N0eWxlX2NhY2hlaW5mbyhjdHgtPmFyZ3ZbMV0sICZtb2RlLCAmb2lkLCAmcGF0aCkpIHsKKwkJaWYgKGFkZF9jYWNoZWluZm8obW9kZSwgJm9pZCwgcGF0aCwgMCkpCiAJCQlkaWUoImdpdCB1cGRhdGUtaW5kZXg6IC0tY2FjaGVpbmZvIGNhbm5vdCBhZGQgJXMiLCBwYXRoKTsKIAkJY3R4LT5hcmd2Kys7CiAJCWN0eC0+YXJnYy0tOwpAQCAtODQ1LDggKzgzNCw4IEBACiAJaWYgKGN0eC0+YXJnYyA8PSAzKQogCQlyZXR1cm4gZXJyb3IoIm9wdGlvbiAnY2FjaGVpbmZvJyBleHBlY3RzIDxtb2RlPiw8c2hhMT4sPHBhdGg+Iik7CiAJaWYgKHN0cnRvdWxfdWkoKisrY3R4LT5hcmd2LCA4LCAmbW9kZSkgfHwKLQkgICAgZ2V0X3NoYTFfaGV4KCorK2N0eC0+YXJndiwgc2hhMSkgfHwKLQkgICAgYWRkX2NhY2hlaW5mbyhtb2RlLCBzaGExLCAqKytjdHgtPmFyZ3YsIDApKQorCSAgICBnZXRfb2lkX2hleCgqKytjdHgtPmFyZ3YsICZvaWQpIHx8CisJICAgIGFkZF9jYWNoZWluZm8obW9kZSwgJm9pZCwgKisrY3R4LT5hcmd2LCAwKSkKIAkJZGllKCJnaXQgdXBkYXRlLWluZGV4OiAtLWNhY2hlaW5mbyBjYW5ub3QgYWRkICVzIiwgKmN0eC0+YXJndik7CiAJY3R4LT5hcmdjIC09IDM7CiAJcmV0dXJuIDA7CkBAIC0xMTI3LDkgKzExMTYsOSBAQAogCQlicmVhazsKIAljYXNlIFVDX0RJU0FCTEU6CiAJCWlmIChnaXRfY29uZmlnX2dldF91bnRyYWNrZWRfY2FjaGUoKSA9PSAxKQotCQkJd2FybmluZygiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgIgotCQkJCSJyZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgotCQkJCSJkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiKTsKKwkJCXdhcm5pbmcoXygiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgIgorCQkJCSAgInJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCisJCQkJICAiZGlzYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIikpOwogCQlyZW1vdmVfdW50cmFja2VkX2NhY2hlKCZ0aGVfaW5kZXgpOwogCQlyZXBvcnQoXygiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIikpOwogCQlicmVhazsKQEAgLTExMzksMTQgKzExMjgsMTQgQEAKIAljYXNlIFVDX0VOQUJMRToKIAljYXNlIFVDX0ZPUkNFOgogCQlpZiAoZ2l0X2NvbmZpZ19nZXRfdW50cmFja2VkX2NhY2hlKCkgPT0gMCkKLQkJCXdhcm5pbmcoImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyAiCi0JCQkJInJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCi0JCQkJImVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIik7CisJCQl3YXJuaW5nKF8oImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyAiCisJCQkJICAicmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKKwkJCQkgICJlbmFibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIpKTsKIAkJYWRkX3VudHJhY2tlZF9jYWNoZSgmdGhlX2luZGV4KTsKIAkJcmVwb3J0KF8oIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIiksIGdldF9naXRfd29ya190cmVlKCkpOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlkaWUoIkJ1ZzogYmFkIHVudHJhY2tlZF9jYWNoZSB2YWx1ZTogJWQiLCB1bnRyYWNrZWRfY2FjaGUpOworCQlkaWUoIkJVRzogYmFkIHVudHJhY2tlZF9jYWNoZSB2YWx1ZTogJWQiLCB1bnRyYWNrZWRfY2FjaGUpOwogCX0KIAogCWlmIChhY3RpdmVfY2FjaGVfY2hhbmdlZCkgewpkaWZmIC0tZ2l0IGEvYnVpbHRpbi91cGxvYWQtYXJjaGl2ZS5jIGIvYnVpbHRpbi91cGxvYWQtYXJjaGl2ZS5jCmluZGV4IDJjYWVkZjEuLmNkZTA2OTcgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vdXBsb2FkLWFyY2hpdmUuYworKysgYi9idWlsdGluL3VwbG9hZC1hcmNoaXZlLmMKQEAgLTQzLDcgKzQzLDcgQEAKIAl9CiAKIAkvKiBwYXJzZSBhbGwgb3B0aW9ucyBzZW50IGJ5IHRoZSBjbGllbnQgKi8KLQlyZXR1cm4gd3JpdGVfYXJjaGl2ZShzZW50X2FyZ3YuYXJnYywgc2VudF9hcmd2LmFyZ3YsIHByZWZpeCwgMCwgTlVMTCwgMSk7CisJcmV0dXJuIHdyaXRlX2FyY2hpdmUoc2VudF9hcmd2LmFyZ2MsIHNlbnRfYXJndi5hcmd2LCBwcmVmaXgsIE5VTEwsIDEpOwogfQogCiBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKQpAQCAtODgsMTEgKzg4LDExIEBACiAJd3JpdGVyLmdpdF9jbWQgPSAxOwogCWlmIChzdGFydF9jb21tYW5kKCZ3cml0ZXIpKSB7CiAJCWludCBlcnIgPSBlcnJubzsKLQkJcGFja2V0X3dyaXRlKDEsICJOQUNLIHVuYWJsZSB0byBzcGF3biBzdWJwcm9jZXNzXG4iKTsKKwkJcGFja2V0X3dyaXRlX2ZtdCgxLCAiTkFDSyB1bmFibGUgdG8gc3Bhd24gc3VicHJvY2Vzc1xuIik7CiAJCWRpZSgidXBsb2FkLWFyY2hpdmU6ICVzIiwgc3RyZXJyb3IoZXJyKSk7CiAJfQogCi0JcGFja2V0X3dyaXRlKDEsICJBQ0tcbiIpOworCXBhY2tldF93cml0ZV9mbXQoMSwgIkFDS1xuIik7CiAJcGFja2V0X2ZsdXNoKDEpOwogCiAJd2hpbGUgKDEpIHsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vd29ya3RyZWUuYyBiL2J1aWx0aW4vd29ya3RyZWUuYwppbmRleCA5NmEyODM0Li41YzQ4NTRkIDEwMDY0NAotLS0gYS9idWlsdGluL3dvcmt0cmVlLmMKKysrIGIvYnVpbHRpbi93b3JrdHJlZS5jCkBAIC0xMyw4ICsxMywxMCBAQAogCiBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHdvcmt0cmVlX3VzYWdlW10gPSB7CiAJTl8oImdpdCB3b3JrdHJlZSBhZGQgWzxvcHRpb25zPl0gPHBhdGg+IFs8YnJhbmNoPl0iKSwKLQlOXygiZ2l0IHdvcmt0cmVlIHBydW5lIFs8b3B0aW9ucz5dIiksCiAJTl8oImdpdCB3b3JrdHJlZSBsaXN0IFs8b3B0aW9ucz5dIiksCisJTl8oImdpdCB3b3JrdHJlZSBsb2NrIFs8b3B0aW9ucz5dIDxwYXRoPiIpLAorCU5fKCJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iKSwKKwlOXygiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGF0aD4iKSwKIAlOVUxMCiB9OwogCkBAIC05NSw3ICs5Nyw3IEBACiAJaWYgKCFkaXIpCiAJCXJldHVybjsKIAl3aGlsZSAoKGQgPSByZWFkZGlyKGRpcikpICE9IE5VTEwpIHsKLQkJaWYgKCFzdHJjbXAoZC0+ZF9uYW1lLCAiLiIpIHx8ICFzdHJjbXAoZC0+ZF9uYW1lLCAiLi4iKSkKKwkJaWYgKGlzX2RvdF9vcl9kb3Rkb3QoZC0+ZF9uYW1lKSkKIAkJCWNvbnRpbnVlOwogCQlzdHJidWZfcmVzZXQoJnJlYXNvbik7CiAJCWlmICghcHJ1bmVfd29ya3RyZWUoZC0+ZF9uYW1lLCAmcmVhc29uKSkKQEAgLTE5Miw3ICsxOTQsNyBAQAogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIAljb25zdCBjaGFyICpuYW1lOwogCXN0cnVjdCBzdGF0IHN0OwotCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwOworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOwogCXN0cnVjdCBhcmd2X2FycmF5IGNoaWxkX2VudiA9IEFSR1ZfQVJSQVlfSU5JVDsKIAlpbnQgY291bnRlciA9IDAsIGxlbiwgcmV0OwogCXN0cnVjdCBzdHJidWYgc3ltcmVmID0gU1RSQlVGX0lOSVQ7CkBAIC0yNjIsNyArMjY0LDcgQEAKIAkgKi8KIAlzdHJidWZfcmVzZXQoJnNiKTsKIAlzdHJidWZfYWRkZigmc2IsICIlcy9IRUFEIiwgc2JfcmVwby5idWYpOwotCXdyaXRlX2ZpbGUoc2IuYnVmLCAiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIpOworCXdyaXRlX2ZpbGUoc2IuYnVmLCAiJXMiLCBzaGExX3RvX2hleChudWxsX3NoYTEpKTsKIAlzdHJidWZfcmVzZXQoJnNiKTsKIAlzdHJidWZfYWRkZigmc2IsICIlcy9jb21tb25kaXIiLCBzYl9yZXBvLmJ1Zik7CiAJd3JpdGVfZmlsZShzYi5idWYsICIuLi8uLiIpOwpAQCAtMjcxLDcgKzI3Myw2IEBACiAKIAlhcmd2X2FycmF5X3B1c2hmKCZjaGlsZF9lbnYsICIlcz0lcyIsIEdJVF9ESVJfRU5WSVJPTk1FTlQsIHNiX2dpdC5idWYpOwogCWFyZ3ZfYXJyYXlfcHVzaGYoJmNoaWxkX2VudiwgIiVzPSVzIiwgR0lUX1dPUktfVFJFRV9FTlZJUk9OTUVOVCwgcGF0aCk7Ci0JbWVtc2V0KCZjcCwgMCwgc2l6ZW9mKGNwKSk7CiAJY3AuZ2l0X2NtZCA9IDE7CiAKIAlpZiAoY29tbWl0KQpAQCAtMzM3LDkgKzMzOCwxMiBAQAogCWlmIChhYyA8IDEgfHwgYWMgPiAyKQogCQl1c2FnZV93aXRoX29wdGlvbnMod29ya3RyZWVfdXNhZ2UsIG9wdGlvbnMpOwogCi0JcGF0aCA9IHByZWZpeCA/IHByZWZpeF9maWxlbmFtZShwcmVmaXgsIHN0cmxlbihwcmVmaXgpLCBhdlswXSkgOiBhdlswXTsKKwlwYXRoID0gcHJlZml4X2ZpbGVuYW1lKHByZWZpeCwgc3RybGVuKHByZWZpeCksIGF2WzBdKTsKIAlicmFuY2ggPSBhYyA8IDIgPyAiSEVBRCIgOiBhdlsxXTsKIAorCWlmICghc3RyY21wKGJyYW5jaCwgIi0iKSkKKwkJYnJhbmNoID0gIkB7LTF9IjsKKwogCW9wdHMuZm9yY2VfbmV3X2JyYW5jaCA9ICEhbmV3X2JyYW5jaF9mb3JjZTsKIAlpZiAob3B0cy5mb3JjZV9uZXdfYnJhbmNoKSB7CiAJCXN0cnVjdCBzdHJidWYgc3ltcmVmID0gU1RSQlVGX0lOSVQ7CkBAIC0zNjAsOCArMzY0LDcgQEAKIAl9CiAKIAlpZiAob3B0cy5uZXdfYnJhbmNoKSB7Ci0JCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwOwotCQltZW1zZXQoJmNwLCAwLCBzaXplb2YoY3ApKTsKKwkJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CiAJCWNwLmdpdF9jbWQgPSAxOwogCQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsICJicmFuY2giKTsKIAkJaWYgKG9wdHMuZm9yY2VfbmV3X2JyYW5jaCkKQEAgLTQ1OSwxOSArNDYyLDg3IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgbG9ja193b3JrdHJlZShpbnQgYWMsIGNvbnN0IGNoYXIgKiphdiwgY29uc3QgY2hhciAqcHJlZml4KQoreworCWNvbnN0IGNoYXIgKnJlYXNvbiA9ICIiLCAqb2xkX3JlYXNvbjsKKwlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKKwkJT1BUX1NUUklORygwLCAicmVhc29uIiwgJnJlYXNvbiwgTl8oInN0cmluZyIpLAorCQkJICAgTl8oInJlYXNvbiBmb3IgbG9ja2luZyIpKSwKKwkJT1BUX0VORCgpCisJfTsKKwlzdHJ1Y3Qgd29ya3RyZWUgKip3b3JrdHJlZXMsICp3dDsKKworCWFjID0gcGFyc2Vfb3B0aW9ucyhhYywgYXYsIHByZWZpeCwgb3B0aW9ucywgd29ya3RyZWVfdXNhZ2UsIDApOworCWlmIChhYyAhPSAxKQorCQl1c2FnZV93aXRoX29wdGlvbnMod29ya3RyZWVfdXNhZ2UsIG9wdGlvbnMpOworCisJd29ya3RyZWVzID0gZ2V0X3dvcmt0cmVlcygpOworCXd0ID0gZmluZF93b3JrdHJlZSh3b3JrdHJlZXMsIHByZWZpeCwgYXZbMF0pOworCWlmICghd3QpCisJCWRpZShfKCInJXMnIGlzIG5vdCBhIHdvcmtpbmcgdHJlZSIpLCBhdlswXSk7CisJaWYgKGlzX21haW5fd29ya3RyZWUod3QpKQorCQlkaWUoXygiVGhlIG1haW4gd29ya2luZyB0cmVlIGNhbm5vdCBiZSBsb2NrZWQgb3IgdW5sb2NrZWQiKSk7CisKKwlvbGRfcmVhc29uID0gaXNfd29ya3RyZWVfbG9ja2VkKHd0KTsKKwlpZiAob2xkX3JlYXNvbikgeworCQlpZiAoKm9sZF9yZWFzb24pCisJCQlkaWUoXygiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIpLAorCQkJICAgIGF2WzBdLCBvbGRfcmVhc29uKTsKKwkJZGllKF8oIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiKSwgYXZbMF0pOworCX0KKworCXdyaXRlX2ZpbGUoZ2l0X2NvbW1vbl9wYXRoKCJ3b3JrdHJlZXMvJXMvbG9ja2VkIiwgd3QtPmlkKSwKKwkJICAgIiVzIiwgcmVhc29uKTsKKwlmcmVlX3dvcmt0cmVlcyh3b3JrdHJlZXMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHVubG9ja193b3JrdHJlZShpbnQgYWMsIGNvbnN0IGNoYXIgKiphdiwgY29uc3QgY2hhciAqcHJlZml4KQoreworCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0geworCQlPUFRfRU5EKCkKKwl9OworCXN0cnVjdCB3b3JrdHJlZSAqKndvcmt0cmVlcywgKnd0OworCWludCByZXQ7CisKKwlhYyA9IHBhcnNlX29wdGlvbnMoYWMsIGF2LCBwcmVmaXgsIG9wdGlvbnMsIHdvcmt0cmVlX3VzYWdlLCAwKTsKKwlpZiAoYWMgIT0gMSkKKwkJdXNhZ2Vfd2l0aF9vcHRpb25zKHdvcmt0cmVlX3VzYWdlLCBvcHRpb25zKTsKKworCXdvcmt0cmVlcyA9IGdldF93b3JrdHJlZXMoKTsKKwl3dCA9IGZpbmRfd29ya3RyZWUod29ya3RyZWVzLCBwcmVmaXgsIGF2WzBdKTsKKwlpZiAoIXd0KQorCQlkaWUoXygiJyVzJyBpcyBub3QgYSB3b3JraW5nIHRyZWUiKSwgYXZbMF0pOworCWlmIChpc19tYWluX3dvcmt0cmVlKHd0KSkKKwkJZGllKF8oIlRoZSBtYWluIHdvcmtpbmcgdHJlZSBjYW5ub3QgYmUgbG9ja2VkIG9yIHVubG9ja2VkIikpOworCWlmICghaXNfd29ya3RyZWVfbG9ja2VkKHd0KSkKKwkJZGllKF8oIiclcycgaXMgbm90IGxvY2tlZCIpLCBhdlswXSk7CisJcmV0ID0gdW5saW5rX29yX3dhcm4oZ2l0X2NvbW1vbl9wYXRoKCJ3b3JrdHJlZXMvJXMvbG9ja2VkIiwgd3QtPmlkKSk7CisJZnJlZV93b3JrdHJlZXMod29ya3RyZWVzKTsKKwlyZXR1cm4gcmV0OworfQorCiBpbnQgY21kX3dvcmt0cmVlKGludCBhYywgY29uc3QgY2hhciAqKmF2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CiAJCU9QVF9FTkQoKQogCX07CiAKKwlnaXRfY29uZmlnKGdpdF9kZWZhdWx0X2NvbmZpZywgTlVMTCk7CisKIAlpZiAoYWMgPCAyKQogCQl1c2FnZV93aXRoX29wdGlvbnMod29ya3RyZWVfdXNhZ2UsIG9wdGlvbnMpOworCWlmICghcHJlZml4KQorCQlwcmVmaXggPSAiIjsKIAlpZiAoIXN0cmNtcChhdlsxXSwgImFkZCIpKQogCQlyZXR1cm4gYWRkKGFjIC0gMSwgYXYgKyAxLCBwcmVmaXgpOwogCWlmICghc3RyY21wKGF2WzFdLCAicHJ1bmUiKSkKIAkJcmV0dXJuIHBydW5lKGFjIC0gMSwgYXYgKyAxLCBwcmVmaXgpOwogCWlmICghc3RyY21wKGF2WzFdLCAibGlzdCIpKQogCQlyZXR1cm4gbGlzdChhYyAtIDEsIGF2ICsgMSwgcHJlZml4KTsKKwlpZiAoIXN0cmNtcChhdlsxXSwgImxvY2siKSkKKwkJcmV0dXJuIGxvY2tfd29ya3RyZWUoYWMgLSAxLCBhdiArIDEsIHByZWZpeCk7CisJaWYgKCFzdHJjbXAoYXZbMV0sICJ1bmxvY2siKSkKKwkJcmV0dXJuIHVubG9ja193b3JrdHJlZShhYyAtIDEsIGF2ICsgMSwgcHJlZml4KTsKIAl1c2FnZV93aXRoX29wdGlvbnMod29ya3RyZWVfdXNhZ2UsIG9wdGlvbnMpOwogfQpkaWZmIC0tZ2l0IGEvY2FjaGUtdHJlZS5jIGIvY2FjaGUtdHJlZS5jCmluZGV4IGRkZjBjYzkuLjM0NWVhMzUgMTAwNjQ0Ci0tLSBhL2NhY2hlLXRyZWUuYworKysgYi9jYWNoZS10cmVlLmMKQEAgLTE2OCw3ICsxNjgsNyBAQAogCQkJCWJyZWFrOwogCQkJfQogCQkJZnByaW50ZihzdGRlcnIsICIlczogdW5tZXJnZWQgKCVzKVxuIiwKLQkJCQljZS0+bmFtZSwgc2hhMV90b19oZXgoY2UtPnNoYTEpKTsKKwkJCQljZS0+bmFtZSwgb2lkX3RvX2hleCgmY2UtPm9pZCkpOwogCQl9CiAJfQogCWlmIChmdW5ueSkKQEAgLTMxOSwxMiArMzE5LDEzIEBACiAJaSA9IDA7CiAJd2hpbGUgKGkgPCBlbnRyaWVzKSB7CiAJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBjYWNoZVtpXTsKLQkJc3RydWN0IGNhY2hlX3RyZWVfc3ViICpzdWI7CisJCXN0cnVjdCBjYWNoZV90cmVlX3N1YiAqc3ViID0gTlVMTDsKIAkJY29uc3QgY2hhciAqcGF0aCwgKnNsYXNoOwogCQlpbnQgcGF0aGxlbiwgZW50bGVuOwogCQljb25zdCB1bnNpZ25lZCBjaGFyICpzaGExOwogCQl1bnNpZ25lZCBtb2RlOwogCQlpbnQgZXhwZWN0ZWRfbWlzc2luZyA9IDA7CisJCWludCBjb250YWluc19pdGEgPSAwOwogCiAJCXBhdGggPSBjZS0+bmFtZTsKIAkJcGF0aGxlbiA9IGNlX25hbWVsZW4oY2UpOwpAQCAtMzQxLDEzICszNDIsMTQgQEAKIAkJCWkgKz0gc3ViLT5jb3VudDsKIAkJCXNoYTEgPSBzdWItPmNhY2hlX3RyZWUtPnNoYTE7CiAJCQltb2RlID0gU19JRkRJUjsKLQkJCWlmIChzdWItPmNhY2hlX3RyZWUtPmVudHJ5X2NvdW50IDwgMCkgeworCQkJY29udGFpbnNfaXRhID0gc3ViLT5jYWNoZV90cmVlLT5lbnRyeV9jb3VudCA8IDA7CisJCQlpZiAoY29udGFpbnNfaXRhKSB7CiAJCQkJdG9faW52YWxpZGF0ZSA9IDE7CiAJCQkJZXhwZWN0ZWRfbWlzc2luZyA9IDE7CiAJCQl9CiAJCX0KIAkJZWxzZSB7Ci0JCQlzaGExID0gY2UtPnNoYTE7CisJCQlzaGExID0gY2UtPm9pZC5oYXNoOwogCQkJbW9kZSA9IGNlLT5jZV9tb2RlOwogCQkJZW50bGVuID0gcGF0aGxlbiAtIGJhc2VsZW47CiAJCQlpKys7CkBAIC0zNzUsMTEgKzM3NywxNyBAQAogCQkgKiB0aGV5IGFyZSBub3QgcGFydCBvZiBnZW5lcmF0ZWQgdHJlZXMuIEludmFsaWRhdGUgdXAKIAkJICogdG8gcm9vdCB0byBmb3JjZSBjYWNoZS10cmVlIHVzZXJzIHRvIHJlYWQgZWxzZXdoZXJlLgogCQkgKi8KLQkJaWYgKGNlX2ludGVudF90b19hZGQoY2UpKSB7CisJCWlmICghc3ViICYmIGNlX2ludGVudF90b19hZGQoY2UpKSB7CiAJCQl0b19pbnZhbGlkYXRlID0gMTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKKwkJLyoKKwkJICogInN1YiIgY2FuIGJlIGFuIGVtcHR5IHRyZWUgaWYgYWxsIHN1YmVudHJpZXMgYXJlIGktdC1hLgorCQkgKi8KKwkJaWYgKGNvbnRhaW5zX2l0YSAmJiAhaGFzaGNtcChzaGExLCBFTVBUWV9UUkVFX1NIQTFfQklOKSkKKwkJCWNvbnRpbnVlOworCiAJCXN0cmJ1Zl9ncm93KCZidWZmZXIsIGVudGxlbiArIDEwMCk7CiAJCXN0cmJ1Zl9hZGRmKCZidWZmZXIsICIlbyAlLipzJWMiLCBtb2RlLCBlbnRsZW4sIHBhdGggKyBiYXNlbGVuLCAnXDAnKTsKIAkJc3RyYnVmX2FkZCgmYnVmZmVyLCBzaGExLCAyMCk7CmRpZmYgLS1naXQgYS9jYWNoZS5oIGIvY2FjaGUuaAppbmRleCA2MDQ5Zjg2Li5hNTBhNjFhIDEwMDY0NAotLS0gYS9jYWNoZS5oCisrKyBiL2NhY2hlLmgKQEAgLTE3Myw3ICsxNzMsNyBAQAogCXVuc2lnbmVkIGludCBjZV9mbGFnczsKIAl1bnNpZ25lZCBpbnQgY2VfbmFtZWxlbjsKIAl1bnNpZ25lZCBpbnQgaW5kZXg7CS8qIGZvciBsaW5rIGV4dGVuc2lvbiAqLwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJY2hhciBuYW1lW0ZMRVhfQVJSQVldOyAvKiBtb3JlICovCiB9OwogCkBAIC0zNjksNiArMzY5LDcgQEAKICNkZWZpbmUgcmVtb3ZlX2ZpbGVfZnJvbV9jYWNoZShwYXRoKSByZW1vdmVfZmlsZV9mcm9tX2luZGV4KCZ0aGVfaW5kZXgsIChwYXRoKSkKICNkZWZpbmUgYWRkX3RvX2NhY2hlKHBhdGgsIHN0LCBmbGFncykgYWRkX3RvX2luZGV4KCZ0aGVfaW5kZXgsIChwYXRoKSwgKHN0KSwgKGZsYWdzKSkKICNkZWZpbmUgYWRkX2ZpbGVfdG9fY2FjaGUocGF0aCwgZmxhZ3MpIGFkZF9maWxlX3RvX2luZGV4KCZ0aGVfaW5kZXgsIChwYXRoKSwgKGZsYWdzKSkKKyNkZWZpbmUgY2htb2RfY2FjaGVfZW50cnkoY2UsIGZsaXApIGNobW9kX2luZGV4X2VudHJ5KCZ0aGVfaW5kZXgsIChjZSksIChmbGlwKSkKICNkZWZpbmUgcmVmcmVzaF9jYWNoZShmbGFncykgcmVmcmVzaF9pbmRleCgmdGhlX2luZGV4LCAoZmxhZ3MpLCBOVUxMLCBOVUxMLCBOVUxMKQogI2RlZmluZSBjZV9tYXRjaF9zdGF0KGNlLCBzdCwgb3B0aW9ucykgaWVfbWF0Y2hfc3RhdCgmdGhlX2luZGV4LCAoY2UpLCAoc3QpLCAob3B0aW9ucykpCiAjZGVmaW5lIGNlX21vZGlmaWVkKGNlLCBzdCwgb3B0aW9ucykgaWVfbW9kaWZpZWQoJnRoZV9pbmRleCwgKGNlKSwgKHN0KSwgKG9wdGlvbnMpKQpAQCAtNDA4LDYgKzQwOSw3IEBACiAjZGVmaW5lIEdJVF9OQU1FU1BBQ0VfRU5WSVJPTk1FTlQgIkdJVF9OQU1FU1BBQ0UiCiAjZGVmaW5lIEdJVF9XT1JLX1RSRUVfRU5WSVJPTk1FTlQgIkdJVF9XT1JLX1RSRUUiCiAjZGVmaW5lIEdJVF9QUkVGSVhfRU5WSVJPTk1FTlQgIkdJVF9QUkVGSVgiCisjZGVmaW5lIEdJVF9TVVBFUl9QUkVGSVhfRU5WSVJPTk1FTlQgIkdJVF9JTlRFUk5BTF9TVVBFUl9QUkVGSVgiCiAjZGVmaW5lIERFRkFVTFRfR0lUX0RJUl9FTlZJUk9OTUVOVCAiLmdpdCIKICNkZWZpbmUgREJfRU5WSVJPTk1FTlQgIkdJVF9PQkpFQ1RfRElSRUNUT1JZIgogI2RlZmluZSBJTkRFWF9FTlZJUk9OTUVOVCAiR0lUX0lOREVYX0ZJTEUiCkBAIC00MzIsNiArNDM0LDcgQEAKICNkZWZpbmUgR0lUX0dMT0JfUEFUSFNQRUNTX0VOVklST05NRU5UICJHSVRfR0xPQl9QQVRIU1BFQ1MiCiAjZGVmaW5lIEdJVF9OT0dMT0JfUEFUSFNQRUNTX0VOVklST05NRU5UICJHSVRfTk9HTE9CX1BBVEhTUEVDUyIKICNkZWZpbmUgR0lUX0lDQVNFX1BBVEhTUEVDU19FTlZJUk9OTUVOVCAiR0lUX0lDQVNFX1BBVEhTUEVDUyIKKyNkZWZpbmUgR0lUX1FVQVJBTlRJTkVfRU5WSVJPTk1FTlQgIkdJVF9RVUFSQU5USU5FX1BBVEgiCiAKIC8qCiAgKiBUaGlzIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIGV4cGVjdGVkIHRvIGNvbnRhaW4gYSBib29sZWFuIGluZGljYXRpbmcKQEAgLTQ1Myw2ICs0NTYsMTIgQEAKICAqLwogZXh0ZXJuIGNvbnN0IGNoYXIgKiBjb25zdCBsb2NhbF9yZXBvX2VudltdOwogCisvKgorICogUmV0dXJucyB0cnVlIGlmZiB3ZSBoYXZlIGEgY29uZmlndXJlZCBnaXQgcmVwb3NpdG9yeSAoZWl0aGVyIHZpYQorICogc2V0dXBfZ2l0X2RpcmVjdG9yeSwgb3IgaW4gdGhlIGVudmlyb25tZW50IHZpYSAkR0lUX0RJUikuCisgKi8KK2ludCBoYXZlX2dpdF9kaXIodm9pZCk7CisKIGV4dGVybiBpbnQgaXNfYmFyZV9yZXBvc2l0b3J5X2NmZzsKIGV4dGVybiBpbnQgaXNfYmFyZV9yZXBvc2l0b3J5KHZvaWQpOwogZXh0ZXJuIGludCBpc19pbnNpZGVfZ2l0X2Rpcih2b2lkKTsKQEAgLTQ2OCw2ICs0NzcsNyBAQAogZXh0ZXJuIGludCBnZXRfY29tbW9uX2RpcihzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqZ2l0ZGlyKTsKIGV4dGVybiBjb25zdCBjaGFyICpnZXRfZ2l0X25hbWVzcGFjZSh2b2lkKTsKIGV4dGVybiBjb25zdCBjaGFyICpzdHJpcF9uYW1lc3BhY2UoY29uc3QgY2hhciAqbmFtZXNwYWNlZF9yZWYpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmdldF9zdXBlcl9wcmVmaXgodm9pZCk7CiBleHRlcm4gY29uc3QgY2hhciAqZ2V0X2dpdF93b3JrX3RyZWUodm9pZCk7CiAKIC8qCkBAIC01MTksOSArNTI5LDEwIEBACiBleHRlcm4gaW50IHBhdGhfaW5zaWRlX3JlcG8oY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICpwYXRoKTsKIAogI2RlZmluZSBJTklUX0RCX1FVSUVUIDB4MDAwMQorI2RlZmluZSBJTklUX0RCX0VYSVNUX09LIDB4MDAwMgogCi1leHRlcm4gaW50IHNldF9naXRfZGlyX2luaXQoY29uc3QgY2hhciAqZ2l0X2RpciwgY29uc3QgY2hhciAqcmVhbF9naXRfZGlyLCBpbnQpOwotZXh0ZXJuIGludCBpbml0X2RiKGNvbnN0IGNoYXIgKnRlbXBsYXRlX2RpciwgdW5zaWduZWQgaW50IGZsYWdzKTsKK2V4dGVybiBpbnQgaW5pdF9kYihjb25zdCBjaGFyICpnaXRfZGlyLCBjb25zdCBjaGFyICpyZWFsX2dpdF9kaXIsCisJCSAgIGNvbnN0IGNoYXIgKnRlbXBsYXRlX2RpciwgdW5zaWduZWQgaW50IGZsYWdzKTsKIAogZXh0ZXJuIHZvaWQgc2FuaXRpemVfc3RkZmRzKHZvaWQpOwogZXh0ZXJuIGludCBkYWVtb25pemUodm9pZCk7CkBAIC01ODQsNiArNTk1LDcgQEAKIGV4dGVybiBpbnQgYWRkX3RvX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqLCBpbnQgZmxhZ3MpOwogZXh0ZXJuIGludCBhZGRfZmlsZV90b19pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3QgY2hhciAqcGF0aCwgaW50IGZsYWdzKTsKIGV4dGVybiBzdHJ1Y3QgY2FjaGVfZW50cnkgKm1ha2VfY2FjaGVfZW50cnkodW5zaWduZWQgaW50IG1vZGUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKnBhdGgsIGludCBzdGFnZSwgdW5zaWduZWQgaW50IHJlZnJlc2hfb3B0aW9ucyk7CitleHRlcm4gaW50IGNobW9kX2luZGV4X2VudHJ5KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLCBjaGFyIGZsaXApOwogZXh0ZXJuIGludCBjZV9zYW1lX25hbWUoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICphLCBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmIpOwogZXh0ZXJuIHZvaWQgc2V0X29iamVjdF9uYW1lX2Zvcl9pbnRlbnRfdG9fYWRkX2VudHJ5KHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpOwogZXh0ZXJuIGludCBpbmRleF9uYW1lX2lzX290aGVyKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBjaGFyICosIGludCk7CkBAIC02MzIsNiArNjQ0LDcgQEAKICNkZWZpbmUgUkVGUkVTSF9JR05PUkVfU1VCTU9EVUxFUwkweDAwMTAJLyogaWdub3JlIHN1Ym1vZHVsZXMgKi8KICNkZWZpbmUgUkVGUkVTSF9JTl9QT1JDRUxBSU4JMHgwMDIwCS8qIHVzZXIgZnJpZW5kbHkgb3V0cHV0LCBub3QgIm5lZWRzIHVwZGF0ZSIgKi8KIGV4dGVybiBpbnQgcmVmcmVzaF9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgdW5zaWduZWQgaW50IGZsYWdzLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLCBjaGFyICpzZWVuLCBjb25zdCBjaGFyICpoZWFkZXJfbXNnKTsKK2V4dGVybiBzdHJ1Y3QgY2FjaGVfZW50cnkgKnJlZnJlc2hfY2FjaGVfZW50cnkoc3RydWN0IGNhY2hlX2VudHJ5ICosIHVuc2lnbmVkIGludCk7CiAKIGV4dGVybiB2b2lkIHVwZGF0ZV9pbmRleF9pZl9hYmxlKHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBzdHJ1Y3QgbG9ja19maWxlICopOwogCkBAIC02NjQsOCArNjc3LDE1IEBACiBleHRlcm4gdW5zaWduZWQgbG9uZyBiaWdfZmlsZV90aHJlc2hvbGQ7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBwYWNrX3NpemVfbGltaXRfY2ZnOwogCisvKgorICogQWNjZXNzb3JzIGZvciB0aGUgY29yZS5zaGFyZWRyZXBvc2l0b3J5IGNvbmZpZyB3aGljaCBsYXp5LWxvYWQgdGhlIHZhbHVlCisgKiBmcm9tIHRoZSBjb25maWcgKGlmIG5vdCBhbHJlYWR5IHNldCkuIFRoZSAicmVzZXQiIGZ1bmN0aW9uIGNhbiBiZQorICogdXNlZCB0byB1bnNldCAic2V0IiBvciBjYWNoZWQgdmFsdWUsIG1lYW5pbmcgdGhhdCB0aGUgdmFsdWUgd2lsbCBiZSBsb2FkZWQKKyAqIGZyZXNoIGZyb20gdGhlIGNvbmZpZyBmaWxlIG9uIHRoZSBuZXh0IGNhbGwgdG8gZ2V0X3NoYXJlZF9yZXBvc2l0b3J5KCkuCisgKi8KIHZvaWQgc2V0X3NoYXJlZF9yZXBvc2l0b3J5KGludCB2YWx1ZSk7CiBpbnQgZ2V0X3NoYXJlZF9yZXBvc2l0b3J5KHZvaWQpOwordm9pZCByZXNldF9zaGFyZWRfcmVwb3NpdG9yeSh2b2lkKTsKIAogLyoKICAqIERvIHJlcGxhY2UgcmVmcyBuZWVkIHRvIGJlIGNoZWNrZWQgdGhpcyBydW4/ICBUaGlzIHZhcmlhYmxlIGlzCkBAIC04MTgsOCArODM4LDggQEAKIAlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKTsKIGV4dGVybiBjaGFyICpnaXRfcGF0aF9idWYoc3RydWN0IHN0cmJ1ZiAqYnVmLCBjb25zdCBjaGFyICpmbXQsIC4uLikKIAlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKTsKLWV4dGVybiB2b2lkIHN0cmJ1Zl9naXRfcGF0aF9zdWJtb2R1bGUoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKnBhdGgsCi0JCQkJICAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pCitleHRlcm4gaW50IHN0cmJ1Zl9naXRfcGF0aF9zdWJtb2R1bGUoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKnBhdGgsCisJCQkJICAgICBjb25zdCBjaGFyICpmbXQsIC4uLikKIAlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMywgNCkpKTsKIGV4dGVybiBjaGFyICpnaXRfcGF0aGR1cChjb25zdCBjaGFyICpmbXQsIC4uLikKIAlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKQEAgLTg4Myw4ICs5MDMsOCBAQAogICogVGhlIHJlc3VsdCB3aWxsIGJlIGF0IGxlYXN0IGBsZW5gIGNoYXJhY3RlcnMgbG9uZywgYW5kIHdpbGwgYmUgTlVMCiAgKiB0ZXJtaW5hdGVkLgogICoKLSAqIFRoZSBub24tYF9yYCB2ZXJzaW9uIHJldHVybnMgYSBzdGF0aWMgYnVmZmVyIHdoaWNoIHdpbGwgYmUgb3ZlcndyaXR0ZW4gYnkKLSAqIHN1YnNlcXVlbnQgY2FsbHMuCisgKiBUaGUgbm9uLWBfcmAgdmVyc2lvbiByZXR1cm5zIGEgc3RhdGljIGJ1ZmZlciB3aGljaCByZW1haW5zIHZhbGlkIHVudGlsIDQKKyAqIG1vcmUgY2FsbHMgdG8gZmluZF91bmlxdWVfYWJicmV2IGFyZSBtYWRlLgogICoKICAqIFRoZSBgX3JgIHZhcmlhbnQgd3JpdGVzIHRvIGEgYnVmZmVyIHN1cHBsaWVkIGJ5IHRoZSBjYWxsZXIsIHdoaWNoIG11c3QgYmUgYXQKICAqIGxlYXN0IGBHSVRfU0hBMV9IRVhTWiArIDFgIGJ5dGVzLiBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMKQEAgLTk1MiwyMiArOTcyLDM5IEBACiAjZGVmaW5lIEVNUFRZX1RSRUVfU0hBMV9CSU5fTElURVJBTCBcCiAJICJceDRiXHg4Mlx4NWRceGM2XHg0Mlx4Y2JceDZlXHhiOVx4YTBceDYwIiBcCiAJICJceGU1XHg0Ylx4ZjhceGQ2XHg5Mlx4ODhceGZiXHhlZVx4NDlceDA0IgotI2RlZmluZSBFTVBUWV9UUkVFX1NIQTFfQklOIFwKLQkgKChjb25zdCB1bnNpZ25lZCBjaGFyICopIEVNUFRZX1RSRUVfU0hBMV9CSU5fTElURVJBTCkKK2V4dGVybiBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkIGVtcHR5X3RyZWVfb2lkOworI2RlZmluZSBFTVBUWV9UUkVFX1NIQTFfQklOIChlbXB0eV90cmVlX29pZC5oYXNoKQogCiAjZGVmaW5lIEVNUFRZX0JMT0JfU0hBMV9IRVggXAogCSJlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxIgogI2RlZmluZSBFTVBUWV9CTE9CX1NIQTFfQklOX0xJVEVSQUwgXAogCSJceGU2XHg5ZFx4ZTJceDliXHhiMlx4ZDFceGQ2XHg0M1x4NGJceDhiIiBcCiAJIlx4MjlceGFlXHg3N1x4NWFceGQ4XHhjMlx4ZTRceDhjXHg1M1x4OTEiCi0jZGVmaW5lIEVNUFRZX0JMT0JfU0hBMV9CSU4gXAotCSgoY29uc3QgdW5zaWduZWQgY2hhciAqKSBFTVBUWV9CTE9CX1NIQTFfQklOX0xJVEVSQUwpCitleHRlcm4gY29uc3Qgc3RydWN0IG9iamVjdF9pZCBlbXB0eV9ibG9iX29pZDsKKyNkZWZpbmUgRU1QVFlfQkxPQl9TSEExX0JJTiAoZW1wdHlfYmxvYl9vaWQuaGFzaCkKKwogCiBzdGF0aWMgaW5saW5lIGludCBpc19lbXB0eV9ibG9iX3NoYTEoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKIHsKIAlyZXR1cm4gIWhhc2hjbXAoc2hhMSwgRU1QVFlfQkxPQl9TSEExX0JJTik7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IGlzX2VtcHR5X2Jsb2Jfb2lkKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKK3sKKwlyZXR1cm4gIWhhc2hjbXAob2lkLT5oYXNoLCBFTVBUWV9CTE9CX1NIQTFfQklOKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgaXNfZW1wdHlfdHJlZV9zaGExKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCit7CisJcmV0dXJuICFoYXNoY21wKHNoYTEsIEVNUFRZX1RSRUVfU0hBMV9CSU4pOworfQorCitzdGF0aWMgaW5saW5lIGludCBpc19lbXB0eV90cmVlX29pZChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCit7CisJcmV0dXJuICFoYXNoY21wKG9pZC0+aGFzaCwgRU1QVFlfVFJFRV9TSEExX0JJTik7Cit9CisKKwogaW50IGdpdF9ta3N0ZW1wKGNoYXIgKnBhdGgsIHNpemVfdCBuLCBjb25zdCBjaGFyICp0ZW1wbGF0ZSk7CiAKIC8qIHNldCBkZWZhdWx0IHBlcm1pc3Npb25zIGJ5IHBhc3NpbmcgbW9kZSBhcmd1bWVudHMgdG8gb3BlbigyKSAqLwpAQCAtMTAwMyw2ICsxMDQwLDExIEBACiAgKiBkaXJlY3Rvcnkgd2hpbGUgd2Ugd2VyZSB3b3JraW5nLiAgVG8gYmUgcm9idXN0IGFnYWluc3QgdGhpcyBraW5kIG9mCiAgKiByYWNlLCBjYWxsZXJzIG1pZ2h0IHdhbnQgdG8gdHJ5IGludm9raW5nIHRoZSBmdW5jdGlvbiBhZ2FpbiB3aGVuIGl0CiAgKiByZXR1cm5zIFNDTERfVkFOSVNIRUQuCisgKgorICogc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3RvcmllcygpIHRlbXBvcmFyaWx5IGNoYW5nZXMgcGF0aCB3aGlsZSBpdAorICogaXMgd29ya2luZyBidXQgcmVzdG9yZXMgaXQgYmVmb3JlIHJldHVybmluZy4KKyAqIHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXNfY29uc3QoKSBkb2Vzbid0IG1vZGlmeSBwYXRoLCBldmVuCisgKiB0ZW1wb3JhcmlseS4KICAqLwogZW51bSBzY2xkX2Vycm9yIHsKIAlTQ0xEX09LID0gMCwKQEAgLTEwODMsNyArMTEyNSw3IEBACiBleHRlcm4gaW50IGhhc2hfc2hhMV9maWxlX2xpdGVyYWxseShjb25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgbGVuLCBjb25zdCBjaGFyICp0eXBlLCB1bnNpZ25lZCBjaGFyICpzaGExLCB1bnNpZ25lZCBmbGFncyk7CiBleHRlcm4gaW50IHByZXRlbmRfc2hhMV9maWxlKHZvaWQgKiwgdW5zaWduZWQgbG9uZywgZW51bSBvYmplY3RfdHlwZSwgdW5zaWduZWQgY2hhciAqKTsKIGV4dGVybiBpbnQgZm9yY2Vfb2JqZWN0X2xvb3NlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHRpbWVfdCBtdGltZSk7Ci1leHRlcm4gaW50IGdpdF9vcGVuX25vYXRpbWUoY29uc3QgY2hhciAqbmFtZSk7CitleHRlcm4gaW50IGdpdF9vcGVuKGNvbnN0IGNoYXIgKm5hbWUpOwogZXh0ZXJuIHZvaWQgKm1hcF9zaGExX2ZpbGUoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgdW5zaWduZWQgbG9uZyAqc2l6ZSk7CiBleHRlcm4gaW50IHVucGFja19zaGExX2hlYWRlcihnaXRfenN0cmVhbSAqc3RyZWFtLCB1bnNpZ25lZCBjaGFyICptYXAsIHVuc2lnbmVkIGxvbmcgbWFwc2l6ZSwgdm9pZCAqYnVmZmVyLCB1bnNpZ25lZCBsb25nIGJ1ZnNpeik7CiBleHRlcm4gaW50IHBhcnNlX3NoYTFfaGVhZGVyKGNvbnN0IGNoYXIgKmhkciwgdW5zaWduZWQgbG9uZyAqc2l6ZXApOwpAQCAtMTExNSw2ICsxMTU3LDcgQEAKIAogLyogU2FtZSBhcyB0aGUgYWJvdmUsIGV4Y2VwdCBmb3Igc3RydWN0IG9iamVjdF9pZC4gKi8KIGV4dGVybiBpbnQgaGFzX29iamVjdF9maWxlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CitleHRlcm4gaW50IGhhc19vYmplY3RfZmlsZV93aXRoX2ZsYWdzKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgaW50IGZsYWdzKTsKIAogLyoKICAqIFJldHVybiB0cnVlIGlmZiBhbiBhbHRlcm5hdGUgb2JqZWN0IGRhdGFiYXNlIGhhcyBhIGxvb3NlIG9iamVjdApAQCAtMTEzMywxMCArMTE3NiwyMyBAQAogCXJldHVybiBoZXh2YWxfdGFibGVbY107CiB9CiAKKy8qCisgKiBDb252ZXJ0IHR3byBjb25zZWN1dGl2ZSBoZXhhZGVjaW1hbCBkaWdpdHMgaW50byBhIGNoYXIuICBSZXR1cm4gYQorICogbmVnYXRpdmUgdmFsdWUgb24gZXJyb3IuICBEb24ndCBydW4gb3ZlciB0aGUgZW5kIG9mIHNob3J0IHN0cmluZ3MuCisgKi8KK3N0YXRpYyBpbmxpbmUgaW50IGhleDJjaHIoY29uc3QgY2hhciAqcykKK3sKKwlpbnQgdmFsID0gaGV4dmFsKHNbMF0pOworCXJldHVybiAodmFsIDwgMCkgPyB2YWwgOiAodmFsIDw8IDQpIHwgaGV4dmFsKHNbMV0pOworfQorCiAvKiBDb252ZXJ0IHRvL2Zyb20gaGV4L3NoYTEgcmVwcmVzZW50YXRpb24gKi8KICNkZWZpbmUgTUlOSU1VTV9BQkJSRVYgbWluaW11bV9hYmJyZXYKICNkZWZpbmUgREVGQVVMVF9BQkJSRVYgZGVmYXVsdF9hYmJyZXYKIAorLyogdXNlZCB3aGVuIHRoZSBjb2RlIGRvZXMgbm90IGtub3cgb3IgY2FyZSB3aGF0IHRoZSBkZWZhdWx0IGFiYnJldiBpcyAqLworI2RlZmluZSBGQUxMQkFDS19ERUZBVUxUX0FCQlJFViA3CisKIHN0cnVjdCBvYmplY3RfY29udGV4dCB7CiAJdW5zaWduZWQgY2hhciB0cmVlWzIwXTsKIAljaGFyIHBhdGhbUEFUSF9NQVhdOwpAQCAtMTE1Nyw2ICsxMjEzLDExIEBACiAjZGVmaW5lIEdFVF9TSEExX0ZPTExPV19TWU1MSU5LUyAwMTAwCiAjZGVmaW5lIEdFVF9TSEExX09OTFlfVE9fRElFICAgIDA0MDAwCiAKKyNkZWZpbmUgR0VUX1NIQTFfRElTQU1CSUdVQVRPUlMgXAorCShHRVRfU0hBMV9DT01NSVQgfCBHRVRfU0hBMV9DT01NSVRUSVNIIHwgXAorCUdFVF9TSEExX1RSRUUgfCBHRVRfU0hBMV9UUkVFSVNIIHwgXAorCUdFVF9TSEExX0JMT0IpCisKIGV4dGVybiBpbnQgZ2V0X3NoYTEoY29uc3QgY2hhciAqc3RyLCB1bnNpZ25lZCBjaGFyICpzaGExKTsKIGV4dGVybiBpbnQgZ2V0X3NoYTFfY29tbWl0KGNvbnN0IGNoYXIgKnN0ciwgdW5zaWduZWQgY2hhciAqc2hhMSk7CiBleHRlcm4gaW50IGdldF9zaGExX2NvbW1pdHRpc2goY29uc3QgY2hhciAqc3RyLCB1bnNpZ25lZCBjaGFyICpzaGExKTsKQEAgLTExNzEsNiArMTIzMiw4IEBACiB0eXBlZGVmIGludCBlYWNoX2FiYnJldl9mbihjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCB2b2lkICopOwogZXh0ZXJuIGludCBmb3JfZWFjaF9hYmJyZXYoY29uc3QgY2hhciAqcHJlZml4LCBlYWNoX2FiYnJldl9mbiwgdm9pZCAqKTsKIAorZXh0ZXJuIGludCBzZXRfZGlzYW1iaWd1YXRlX2hpbnRfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUpOworCiAvKgogICogVHJ5IHRvIHJlYWQgYSBTSEExIGluIGhleGFkZWNpbWFsIGZvcm1hdCBmcm9tIHRoZSA0MCBjaGFyYWN0ZXJzCiAgKiBzdGFydGluZyBhdCBoZXguICBXcml0ZSB0aGUgMjAtYnl0ZSByZXN1bHQgdG8gc2hhMSBpbiBiaW5hcnkgZm9ybS4KQEAgLTExOTMsMTEgKzEyNTYsMTIgQEAKICAqICAgcHJpbnRmKCIlcyAtPiAlcyIsIHNoYTFfdG9faGV4KG9uZSksIHNoYTFfdG9faGV4KHR3bykpOwogICovCiBleHRlcm4gY2hhciAqc2hhMV90b19oZXhfcihjaGFyICpvdXQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOworZXh0ZXJuIGNoYXIgKm9pZF90b19oZXhfcihjaGFyICpvdXQsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CiBleHRlcm4gY2hhciAqc2hhMV90b19oZXgoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7CS8qIHN0YXRpYyBidWZmZXIgcmVzdWx0ISAqLwogZXh0ZXJuIGNoYXIgKm9pZF90b19oZXgoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsJLyogc2FtZSBzdGF0aWMgYnVmZmVyIGFzIHNoYTFfdG9faGV4ICovCiAKIGV4dGVybiBpbnQgaW50ZXJwcmV0X2JyYW5jaF9uYW1lKGNvbnN0IGNoYXIgKnN0ciwgaW50IGxlbiwgc3RydWN0IHN0cmJ1ZiAqKTsKLWV4dGVybiBpbnQgZ2V0X3NoYTFfbWIoY29uc3QgY2hhciAqc3RyLCB1bnNpZ25lZCBjaGFyICpzaGExKTsKK2V4dGVybiBpbnQgZ2V0X29pZF9tYihjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CiAKIGV4dGVybiBpbnQgdmFsaWRhdGVfaGVhZHJlZihjb25zdCBjaGFyICpyZWYpOwogCkBAIC0xMjIzLDcgKzEyODcsOCBAQAogCQlEQVRFX0lTTzg2MDFfU1RSSUNULAogCQlEQVRFX1JGQzI4MjIsCiAJCURBVEVfU1RSRlRJTUUsCi0JCURBVEVfUkFXCisJCURBVEVfUkFXLAorCQlEQVRFX1VOSVgKIAl9IHR5cGU7CiAJY29uc3QgY2hhciAqc3RyZnRpbWVfZm10OwogCWludCBsb2NhbDsKQEAgLTEyNjIsNiArMTMyNyw3IEBACiBleHRlcm4gY29uc3QgY2hhciAqZ2l0X2VkaXRvcih2b2lkKTsKIGV4dGVybiBjb25zdCBjaGFyICpnaXRfcGFnZXIoaW50IHN0ZG91dF9pc190dHkpOwogZXh0ZXJuIGludCBnaXRfaWRlbnRfY29uZmlnKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCB2b2lkICopOworZXh0ZXJuIHZvaWQgcmVzZXRfaWRlbnRfZGF0ZSh2b2lkKTsKIAogc3RydWN0IGlkZW50X3NwbGl0IHsKIAljb25zdCBjaGFyICpuYW1lX2JlZ2luOwpAQCAtMTMwNSw2ICsxMzcxLDcgQEAKIAkJIG5vdF9uZXc6MSwKIAkJIHJlZnJlc2hfY2FjaGU6MTsKIH07CisjZGVmaW5lIENIRUNLT1VUX0lOSVQgeyBOVUxMLCAiIiB9CiAKICNkZWZpbmUgVEVNUE9SQVJZX0ZJTEVOQU1FX0xFTkdUSCAyNQogZXh0ZXJuIGludCBjaGVja291dF9lbnRyeShzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLCBjb25zdCBzdHJ1Y3QgY2hlY2tvdXQgKnN0YXRlLCBjaGFyICp0b3BhdGgpOwpAQCAtMTMzMCwxNSArMTM5Nyw0NiBAQAogCiBleHRlcm4gc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgewogCXN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICpuZXh0OwotCWNoYXIgKm5hbWU7Ci0JY2hhciBiYXNlW0ZMRVhfQVJSQVldOyAvKiBtb3JlICovCisKKwkvKiBzZWUgYWx0X3NjcmF0Y2hfYnVmKCkgKi8KKwlzdHJ1Y3Qgc3RyYnVmIHNjcmF0Y2g7CisJc2l6ZV90IGJhc2VfbGVuOworCisJY2hhciBwYXRoW0ZMRVhfQVJSQVldOwogfSAqYWx0X29kYl9saXN0OwogZXh0ZXJuIHZvaWQgcHJlcGFyZV9hbHRfb2RiKHZvaWQpOwogZXh0ZXJuIHZvaWQgcmVhZF9pbmZvX2FsdGVybmF0ZXMoY29uc3QgY2hhciAqIHJlbGF0aXZlX2Jhc2UsIGludCBkZXB0aCk7Ci1leHRlcm4gdm9pZCBhZGRfdG9fYWx0ZXJuYXRlc19maWxlKGNvbnN0IGNoYXIgKnJlZmVyZW5jZSk7CitleHRlcm4gY2hhciAqY29tcHV0ZV9hbHRlcm5hdGVfcGF0aChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RyYnVmICplcnIpOwogdHlwZWRlZiBpbnQgYWx0X29kYl9mbihzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqLCB2b2lkICopOwogZXh0ZXJuIGludCBmb3JlYWNoX2FsdF9vZGIoYWx0X29kYl9mbiwgdm9pZCopOwogCisvKgorICogQWxsb2NhdGUgYSAic3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UiIGJ1dCBkbyBfbm90XyBhY3R1YWxseQorICogYWRkIGl0IHRvIHRoZSBsaXN0IG9mIGFsdGVybmF0ZXMuCisgKi8KK3N0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICphbGxvY19hbHRfb2RiKGNvbnN0IGNoYXIgKmRpcik7CisKKy8qCisgKiBBZGQgdGhlIGRpcmVjdG9yeSB0byB0aGUgb24tZGlzayBhbHRlcm5hdGVzIGZpbGU7IHRoZSBuZXcgZW50cnkgd2lsbCBhbHNvCisgKiB0YWtlIGVmZmVjdCBpbiB0aGUgY3VycmVudCBwcm9jZXNzLgorICovCitleHRlcm4gdm9pZCBhZGRfdG9fYWx0ZXJuYXRlc19maWxlKGNvbnN0IGNoYXIgKmRpcik7CisKKy8qCisgKiBBZGQgdGhlIGRpcmVjdG9yeSB0byB0aGUgaW4tbWVtb3J5IGxpc3Qgb2YgYWx0ZXJuYXRlcyAoYWxvbmcgd2l0aCBhbnkKKyAqIHJlY3Vyc2l2ZSBhbHRlcm5hdGVzIGl0IHBvaW50cyB0byksIGJ1dCBkbyBub3QgbW9kaWZ5IHRoZSBvbi1kaXNrIGFsdGVybmF0ZXMKKyAqIGZpbGUuCisgKi8KK2V4dGVybiB2b2lkIGFkZF90b19hbHRlcm5hdGVzX21lbW9yeShjb25zdCBjaGFyICpkaXIpOworCisvKgorICogUmV0dXJucyBhIHNjcmF0Y2ggc3RyYnVmIHByZS1maWxsZWQgd2l0aCB0aGUgYWx0ZXJuYXRlIG9iamVjdCBkaXJlY3RvcnksCisgKiBpbmNsdWRpbmcgYSB0cmFpbGluZyBzbGFzaCwgd2hpY2ggY2FuIGJlIHVzZWQgdG8gYWNjZXNzIHBhdGhzIGluIHRoZQorICogYWx0ZXJuYXRlLiBBbHdheXMgdXNlIHRoaXMgb3ZlciBkaXJlY3QgYWNjZXNzIHRvIGFsdC0+c2NyYXRjaCwgYXMgaXQKKyAqIGNsZWFucyB1cCBhbnkgcHJldmlvdXMgdXNlIG9mIHRoZSBzY3JhdGNoIGJ1ZmZlci4KKyAqLworZXh0ZXJuIHN0cnVjdCBzdHJidWYgKmFsdF9zY3JhdGNoX2J1ZihzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqYWx0KTsKKwogc3RydWN0IHBhY2tfd2luZG93IHsKIAlzdHJ1Y3QgcGFja193aW5kb3cgKm5leHQ7CiAJdW5zaWduZWQgY2hhciAqYmFzZTsKQEAgLTEzNzAsNiArMTQ2OCwxMyBAQAogCWNoYXIgcGFja19uYW1lW0ZMRVhfQVJSQVldOyAvKiBtb3JlICovCiB9ICpwYWNrZWRfZ2l0OwogCisvKgorICogQSBtb3N0LXJlY2VudGx5LXVzZWQgb3JkZXJlZCB2ZXJzaW9uIG9mIHRoZSBwYWNrZWRfZ2l0IGxpc3QsIHdoaWNoIGNhbgorICogYmUgaXRlcmF0ZWQgaW5zdGVhZCBvZiBwYWNrZWRfZ2l0IChhbmQgbWFya2VkIHZpYSBtcnVfbWFyaykuCisgKi8KK3N0cnVjdCBtcnU7CitleHRlcm4gc3RydWN0IG1ydSAqcGFja2VkX2dpdF9tcnU7CisKIHN0cnVjdCBwYWNrX2VudHJ5IHsKIAlvZmZfdCBvZmZzZXQ7CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKQEAgLTEzODgsNiArMTQ5MywxMiBAQAogZXh0ZXJuIHZvaWQgcmVwcmVwYXJlX3BhY2tlZF9naXQodm9pZCk7CiBleHRlcm4gdm9pZCBpbnN0YWxsX3BhY2tlZF9naXQoc3RydWN0IHBhY2tlZF9naXQgKnBhY2spOwogCisvKgorICogR2l2ZSBhIHJvdWdoIGNvdW50IG9mIG9iamVjdHMgaW4gdGhlIHJlcG9zaXRvcnkuIFRoaXMgc2FjcmlmaWNlcyBhY2N1cmFjeQorICogZm9yIHNwZWVkLgorICovCit1bnNpZ25lZCBsb25nIGFwcHJveGltYXRlX29iamVjdF9jb3VudCh2b2lkKTsKKwogZXh0ZXJuIHN0cnVjdCBwYWNrZWRfZ2l0ICpmaW5kX3NoYTFfcGFjayhjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAogCQkJCQkgc3RydWN0IHBhY2tlZF9naXQgKnBhY2tzKTsKIApAQCAtMTQwOSw3ICsxNTIwLDYgQEAKIGV4dGVybiB2b2lkIGNsb3NlX3BhY2tfd2luZG93cyhzdHJ1Y3QgcGFja2VkX2dpdCAqKTsKIGV4dGVybiB2b2lkIGNsb3NlX2FsbF9wYWNrcyh2b2lkKTsKIGV4dGVybiB2b2lkIHVudXNlX3BhY2soc3RydWN0IHBhY2tfd2luZG93ICoqKTsKLWV4dGVybiB2b2lkIGZyZWVfcGFja19ieV9uYW1lKGNvbnN0IGNoYXIgKik7CiBleHRlcm4gdm9pZCBjbGVhcl9kZWx0YV9iYXNlX2NhY2hlKHZvaWQpOwogZXh0ZXJuIHN0cnVjdCBwYWNrZWRfZ2l0ICphZGRfcGFja2VkX2dpdChjb25zdCBjaGFyICpwYXRoLCBzaXplX3QgcGF0aF9sZW4sIGludCBsb2NhbCk7CiAKQEAgLTE1MDgsNyArMTYxOCw3IEBACiAJLyogUmVxdWVzdCAqLwogCWVudW0gb2JqZWN0X3R5cGUgKnR5cGVwOwogCXVuc2lnbmVkIGxvbmcgKnNpemVwOwotCXVuc2lnbmVkIGxvbmcgKmRpc2tfc2l6ZXA7CisJb2ZmX3QgKmRpc2tfc2l6ZXA7CiAJdW5zaWduZWQgY2hhciAqZGVsdGFfYmFzZV9zaGExOwogCXN0cnVjdCBzdHJidWYgKnR5cGVuYW1lOwogCkBAIC0xNTM1LDcgKzE2NDUsMTUgQEAKIAkJfSBwYWNrZWQ7CiAJfSB1OwogfTsKKworLyoKKyAqIEluaXRpYWxpemVyIGZvciBhICJzdHJ1Y3Qgb2JqZWN0X2luZm8iIHRoYXQgd2FudHMgbm8gaXRlbXMuIFlvdSBtYXkKKyAqIGFsc28gbWVtc2V0KCkgdGhlIG1lbW9yeSB0byBhbGwtemVyb2VzLgorICovCisjZGVmaW5lIE9CSkVDVF9JTkZPX0lOSVQge05VTEx9CisKIGV4dGVybiBpbnQgc2hhMV9vYmplY3RfaW5mb19leHRlbmRlZChjb25zdCB1bnNpZ25lZCBjaGFyICosIHN0cnVjdCBvYmplY3RfaW5mbyAqLCB1bnNpZ25lZCBmbGFncyk7CitleHRlcm4gaW50IHBhY2tlZF9vYmplY3RfaW5mbyhzdHJ1Y3QgcGFja2VkX2dpdCAqcGFjaywgb2ZmX3Qgb2Zmc2V0LCBzdHJ1Y3Qgb2JqZWN0X2luZm8gKik7CiAKIC8qIER1bWIgc2VydmVycyBzdXBwb3J0ICovCiBleHRlcm4gaW50IHVwZGF0ZV9zZXJ2ZXJfaW5mbyhpbnQpOwpAQCAtMTU1OSwxMCArMTY3NywxOCBAQAogCWNvbnN0IGNoYXIgKmJsb2I7CiB9OwogCitlbnVtIGNvbmZpZ19vcmlnaW5fdHlwZSB7CisJQ09ORklHX09SSUdJTl9CTE9CLAorCUNPTkZJR19PUklHSU5fRklMRSwKKwlDT05GSUdfT1JJR0lOX1NURElOLAorCUNPTkZJR19PUklHSU5fU1VCTU9EVUxFX0JMT0IsCisJQ09ORklHX09SSUdJTl9DTURMSU5FCit9OworCiB0eXBlZGVmIGludCAoKmNvbmZpZ19mbl90KShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgdm9pZCAqKTsKIGV4dGVybiBpbnQgZ2l0X2RlZmF1bHRfY29uZmlnKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCB2b2lkICopOwogZXh0ZXJuIGludCBnaXRfY29uZmlnX2Zyb21fZmlsZShjb25maWdfZm5fdCBmbiwgY29uc3QgY2hhciAqLCB2b2lkICopOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2Zyb21fbWVtKGNvbmZpZ19mbl90IGZuLCBjb25zdCBjaGFyICpvcmlnaW5fdHlwZSwKK2V4dGVybiBpbnQgZ2l0X2NvbmZpZ19mcm9tX21lbShjb25maWdfZm5fdCBmbiwgY29uc3QgZW51bSBjb25maWdfb3JpZ2luX3R5cGUsCiAJCQkJCWNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbiwgdm9pZCAqZGF0YSk7CiBleHRlcm4gdm9pZCBnaXRfY29uZmlnX3B1c2hfcGFyYW1ldGVyKGNvbnN0IGNoYXIgKnRleHQpOwogZXh0ZXJuIGludCBnaXRfY29uZmlnX2Zyb21fcGFyYW1ldGVycyhjb25maWdfZm5fdCBmbiwgdm9pZCAqZGF0YSk7CkBAIC0xNjA0LDYgKzE3MzAsMTYgQEAKIGV4dGVybiBjb25zdCBjaGFyICpnZXRfY29tbWl0X291dHB1dF9lbmNvZGluZyh2b2lkKTsKIAogZXh0ZXJuIGludCBnaXRfY29uZmlnX3BhcnNlX3BhcmFtZXRlcihjb25zdCBjaGFyICosIGNvbmZpZ19mbl90IGZuLCB2b2lkICpkYXRhKTsKKworZW51bSBjb25maWdfc2NvcGUgeworCUNPTkZJR19TQ09QRV9VTktOT1dOID0gMCwKKwlDT05GSUdfU0NPUEVfU1lTVEVNLAorCUNPTkZJR19TQ09QRV9HTE9CQUwsCisJQ09ORklHX1NDT1BFX1JFUE8sCisJQ09ORklHX1NDT1BFX0NNRExJTkUsCit9OworCitleHRlcm4gZW51bSBjb25maWdfc2NvcGUgY3VycmVudF9jb25maWdfc2NvcGUodm9pZCk7CiBleHRlcm4gY29uc3QgY2hhciAqY3VycmVudF9jb25maWdfb3JpZ2luX3R5cGUodm9pZCk7CiBleHRlcm4gY29uc3QgY2hhciAqY3VycmVudF9jb25maWdfbmFtZSh2b2lkKTsKIApAQCAtMTY5Niw2ICsxODMyLDggQEAKIHN0cnVjdCBrZXlfdmFsdWVfaW5mbyB7CiAJY29uc3QgY2hhciAqZmlsZW5hbWU7CiAJaW50IGxpbmVucjsKKwllbnVtIGNvbmZpZ19vcmlnaW5fdHlwZSBvcmlnaW5fdHlwZTsKKwllbnVtIGNvbmZpZ19zY29wZSBzY29wZTsKIH07CiAKIGV4dGVybiBOT1JFVFVSTiB2b2lkIGdpdF9kaWVfY29uZmlnKGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqZXJyLCAuLi4pIF9fYXR0cmlidXRlX18oKGZvcm1hdChwcmludGYsIDIsIDMpKSk7CkBAIC0xNzIxLDggKzE4NTksNiBAQAogZXh0ZXJuIGludCBjb3B5X2ZpbGVfd2l0aF90aW1lKGNvbnN0IGNoYXIgKmRzdCwgY29uc3QgY2hhciAqc3JjLCBpbnQgbW9kZSk7CiAKIGV4dGVybiB2b2lkIHdyaXRlX29yX2RpZShpbnQgZmQsIGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGNvdW50KTsKLWV4dGVybiBpbnQgd3JpdGVfb3Jfd2hpbmUoaW50IGZkLCBjb25zdCB2b2lkICpidWYsIHNpemVfdCBjb3VudCwgY29uc3QgY2hhciAqbXNnKTsKLWV4dGVybiBpbnQgd3JpdGVfb3Jfd2hpbmVfcGlwZShpbnQgZmQsIGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGNvdW50LCBjb25zdCBjaGFyICptc2cpOwogZXh0ZXJuIHZvaWQgZnN5bmNfb3JfZGllKGludCBmZCwgY29uc3QgY2hhciAqKTsKIAogZXh0ZXJuIHNzaXplX3QgcmVhZF9pbl9mdWxsKGludCBmZCwgdm9pZCAqYnVmLCBzaXplX3QgY291bnQpOwpAQCAtMTczNCwxMiArMTg3MCwyNCBAQAogCXJldHVybiB3cml0ZV9pbl9mdWxsKGZkLCBzdHIsIHN0cmxlbihzdHIpKTsKIH0KIAotZXh0ZXJuIGludCB3cml0ZV9maWxlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKLWV4dGVybiBpbnQgd3JpdGVfZmlsZV9nZW50bHkoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqZm10LCAuLi4pOworLyoqCisgKiBPcGVuIChhbmQgdHJ1bmNhdGUpIHRoZSBmaWxlIGF0IHBhdGgsIHdyaXRlIHRoZSBjb250ZW50cyBvZiBidWYgdG8gaXQsCisgKiBhbmQgY2xvc2UgaXQuIERpZXMgaWYgYW55IGVycm9ycyBhcmUgZW5jb3VudGVyZWQuCisgKi8KK2V4dGVybiB2b2lkIHdyaXRlX2ZpbGVfYnVmKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbik7CisKKy8qKgorICogTGlrZSB3cml0ZV9maWxlX2J1ZigpLCBidXQgZm9ybWF0IHRoZSBjb250ZW50cyBpbnRvIGEgYnVmZmVyIGZpcnN0LgorICogQWRkaXRpb25hbGx5LCB3cml0ZV9maWxlKCkgd2lsbCBhcHBlbmQgYSBuZXdsaW5lIGlmIG9uZSBpcyBub3QgYWxyZWFkeQorICogcHJlc2VudCwgbWFraW5nIGl0IGNvbnZlbmllbnQgdG8gd3JpdGUgdGV4dCBmaWxlczoKKyAqCisgKiAgIHdyaXRlX2ZpbGUocGF0aCwgImNvdW50ZXI6ICVkIiwgY3RyKTsKKyAqLworX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSkKK2V4dGVybiB2b2lkIHdyaXRlX2ZpbGUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqZm10LCAuLi4pOwogCiAvKiBwYWdlci5jICovCiBleHRlcm4gdm9pZCBzZXR1cF9wYWdlcih2b2lkKTsKLWV4dGVybiBjb25zdCBjaGFyICpwYWdlcl9wcm9ncmFtOwogZXh0ZXJuIGludCBwYWdlcl9pbl91c2Uodm9pZCk7CiBleHRlcm4gaW50IHBhZ2VyX3VzZV9jb2xvcjsKIGV4dGVybiBpbnQgdGVybV9jb2x1bW5zKHZvaWQpOwpkaWZmIC0tZ2l0IGEvY29sb3IuYyBiL2NvbG9yLmMKaW5kZXggOGY4NTE1My4uMWI5NWU2YiAxMDA2NDQKLS0tIGEvY29sb3IuYworKysgYi9jb2xvci5jCkBAIC0xMjMsMTkgKzEyMywzNCBAQAogCXJldHVybiAtMTsKIH0KIAotc3RhdGljIGludCBwYXJzZV9hdHRyKGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pCitzdGF0aWMgaW50IHBhcnNlX2F0dHIoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IGxlbikKIHsKLQlzdGF0aWMgY29uc3QgaW50IGF0dHJfdmFsdWVzW10gPSB7IDEsIDIsIDQsIDUsIDcsCi0JCQkJCSAgIDIyLCAyMiwgMjQsIDI1LCAyNyB9OwotCXN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXR0cl9uYW1lc1tdID0gewotCQkiYm9sZCIsICJkaW0iLCAidWwiLCAiYmxpbmsiLCAicmV2ZXJzZSIsCi0JCSJub2JvbGQiLCAibm9kaW0iLCAibm91bCIsICJub2JsaW5rIiwgIm5vcmV2ZXJzZSIKKwlzdGF0aWMgY29uc3Qgc3RydWN0IHsKKwkJY29uc3QgY2hhciAqbmFtZTsKKwkJc2l6ZV90IGxlbjsKKwkJaW50IHZhbCwgbmVnOworCX0gYXR0cnNbXSA9IHsKKyNkZWZpbmUgQVRUUih4LCB2YWwsIG5lZykgeyAoeCksIHNpemVvZih4KS0xLCAodmFsKSwgKG5lZykgfQorCQlBVFRSKCJib2xkIiwgICAgICAxLCAyMiksCisJCUFUVFIoImRpbSIsICAgICAgIDIsIDIyKSwKKwkJQVRUUigiaXRhbGljIiwgICAgMywgMjMpLAorCQlBVFRSKCJ1bCIsICAgICAgICA0LCAyNCksCisJCUFUVFIoImJsaW5rIiwgICAgIDUsIDI1KSwKKwkJQVRUUigicmV2ZXJzZSIsICAgNywgMjcpLAorCQlBVFRSKCJzdHJpa2UiLCAgICA5LCAyOSkKKyN1bmRlZiBBVFRSCiAJfTsKKwlpbnQgbmVnYXRlID0gMDsKIAlpbnQgaTsKLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhdHRyX25hbWVzKTsgaSsrKSB7Ci0JCWNvbnN0IGNoYXIgKnN0ciA9IGF0dHJfbmFtZXNbaV07Ci0JCWlmICghc3RybmNhc2VjbXAobmFtZSwgc3RyLCBsZW4pICYmICFzdHJbbGVuXSkKLQkJCXJldHVybiBhdHRyX3ZhbHVlc1tpXTsKKworCWlmIChza2lwX3ByZWZpeF9tZW0obmFtZSwgbGVuLCAibm8iLCAmbmFtZSwgJmxlbikpIHsKKwkJc2tpcF9wcmVmaXhfbWVtKG5hbWUsIGxlbiwgIi0iLCAmbmFtZSwgJmxlbik7CisJCW5lZ2F0ZSA9IDE7CisJfQorCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYXR0cnMpOyBpKyspIHsKKwkJaWYgKGF0dHJzW2ldLmxlbiA9PSBsZW4gJiYgIW1lbWNtcChhdHRyc1tpXS5uYW1lLCBuYW1lLCBsZW4pKQorCQkJcmV0dXJuIG5lZ2F0ZSA/IGF0dHJzW2ldLm5lZyA6IGF0dHJzW2ldLnZhbDsKIAl9CiAJcmV0dXJuIC0xOwogfQpAQCAtMjAwLDcgKzIxNSw3IEBACiAJLyogW2ZnIFtiZ11dIFthdHRyXS4uLiAqLwogCXdoaWxlIChsZW4gPiAwKSB7CiAJCWNvbnN0IGNoYXIgKndvcmQgPSBwdHI7Ci0JCXN0cnVjdCBjb2xvciBjOworCQlzdHJ1Y3QgY29sb3IgYyA9IHsgQ09MT1JfVU5TUEVDSUZJRUQgfTsKIAkJaW50IHZhbCwgd29yZGxlbiA9IDA7CiAKIAkJd2hpbGUgKGxlbiA+IDAgJiYgIWlzc3BhY2Uod29yZFt3b3JkbGVuXSkpIHsKZGlmZiAtLWdpdCBhL2NvbG9yLmggYi9jb2xvci5oCmluZGV4IGUxNTVkMTMuLjkwNjI3NjUgMTAwNjQ0Ci0tLSBhL2NvbG9yLmgKKysrIGIvY29sb3IuaApAQCAtMywyNiArMywyNCBAQAogCiBzdHJ1Y3Qgc3RyYnVmOwogCi0vKiAgMiArICgyICogbnVtX2F0dHJzKSArIDggKyAxICsgOCArICdtJyArIE5VTCAqLwotLyogIlwwMzNbMTsyOzQ7NTs3OzM4OzU7Mnh4OzQ4OzU7Mnh4bVwwIiAqLwogLyoKICAqIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBBTlNJIGNvbG9yIHNlcXVlbmNlIHdlIHdvdWxkIGdlbmVyYXRlOgogICogLSBsZWFkaW5nIEVTQyAnWycgICAgICAgICAgICAyCi0gKiAtIGF0dHIgKyAnOycgICAgICAgICAgICAgICAgIDMgKiAxMCAoZS5nLiAiMTsiKQorICogLSBhdHRyICsgJzsnICAgICAgICAgICAgICAgICAyICogbnVtX2F0dHIgKGUuZy4gIjE7IikKKyAqIC0gbm8tYXR0ciArICc7JyAgICAgICAgICAgICAgMyAqIG51bV9hdHRyIChlLmcuICIyMjsiKQogICogLSBmZyBjb2xvciArICc7JyAgICAgICAgICAgICAxNyAoZS5nLiAiMzg7MjsyNTU7MjU1OzI1NTsiKQogICogLSBiZyBjb2xvciArICc7JyAgICAgICAgICAgICAxNyAoZS5nLiAiNDg7MjsyNTU7MjU1OzI1NTsiKQogICogLSB0ZXJtaW5hdGluZyAnbScgTlVMICAgICAgICAyCiAgKgotICogVGhlIGFib3ZlIG92ZXJjb3VudHMgYXR0ciAod2Ugb25seSB1c2UgNSBub3QgOCkgYW5kIG9uZSBzZW1pY29sb24KLSAqIGJ1dCBpdCBpcyBjbG9zZSBlbm91Z2guCisgKiBUaGUgYWJvdmUgb3ZlcmNvdW50cyBieSBvbmUgc2VtaWNvbG9uIGJ1dCBpdCBpcyBjbG9zZSBlbm91Z2guCisgKgorICogVGhlIHNwYWNlIGZvciBhdHRyaWJ1dGVzIGlzIGFsc28gc2xpZ2h0bHkgb3ZlcmFsbG9jYXRlZCwgYXMKKyAqIHRoZSBuZWdhdGlvbiBmb3Igc29tZSBhdHRyaWJ1dGVzIGlzIHRoZSBzYW1lIChlLmcuLCBub2JvbGQgYW5kIG5vZGltKS4KKyAqCisgKiBXZSBhbGxvY2F0ZSBzcGFjZSBmb3IgNyBhdHRyaWJ1dGVzLgogICovCi0jZGVmaW5lIENPTE9SX01BWExFTiA3MAorI2RlZmluZSBDT0xPUl9NQVhMRU4gNzUKIAotLyoKLSAqIElNUE9SVEFOVDogRHVlIHRvIHRoZSB3YXkgdGhlc2UgY29sb3IgY29kZXMgYXJlIGVtdWxhdGVkIG9uIFdpbmRvd3MsCi0gKiB3cml0ZSB0aGVtIG9ubHkgdXNpbmcgcHJpbnRmKCksIGZwcmludGYoKSwgYW5kIGZwdXRzKCkuIEluIHBhcnRpY3VsYXIsCi0gKiBkbyBub3QgdXNlIHB1dHMoKSBvciB3cml0ZSgpLgotICovCiAjZGVmaW5lIEdJVF9DT0xPUl9OT1JNQUwJIiIKICNkZWZpbmUgR0lUX0NPTE9SX1JFU0VUCQkiXDAzM1ttIgogI2RlZmluZSBHSVRfQ09MT1JfQk9MRAkJIlwwMzNbMW0iCmRpZmYgLS1naXQgYS9jb21iaW5lLWRpZmYuYyBiL2NvbWJpbmUtZGlmZi5jCmluZGV4IDhmMjMxM2QuLjU5NTAxZGIgMTAwNjQ0Ci0tLSBhL2NvbWJpbmUtZGlmZi5jCisrKyBiL2NvbWJpbmUtZGlmZi5jCkBAIC00NCw5ICs0NCw5IEBACiAJCQltZW1zZXQocC0+cGFyZW50LCAwLAogCQkJICAgICAgIHNpemVvZihwLT5wYXJlbnRbMF0pICogbnVtX3BhcmVudCk7CiAKLQkJCWhhc2hjcHkocC0+b2lkLmhhc2gsIHEtPnF1ZXVlW2ldLT50d28tPnNoYTEpOworCQkJb2lkY3B5KCZwLT5vaWQsICZxLT5xdWV1ZVtpXS0+dHdvLT5vaWQpOwogCQkJcC0+bW9kZSA9IHEtPnF1ZXVlW2ldLT50d28tPm1vZGU7Ci0JCQloYXNoY3B5KHAtPnBhcmVudFtuXS5vaWQuaGFzaCwgcS0+cXVldWVbaV0tPm9uZS0+c2hhMSk7CisJCQlvaWRjcHkoJnAtPnBhcmVudFtuXS5vaWQsICZxLT5xdWV1ZVtpXS0+b25lLT5vaWQpOwogCQkJcC0+cGFyZW50W25dLm1vZGUgPSBxLT5xdWV1ZVtpXS0+b25lLT5tb2RlOwogCQkJcC0+cGFyZW50W25dLnN0YXR1cyA9IHEtPnF1ZXVlW2ldLT5zdGF0dXM7CiAJCQkqdGFpbCA9IHA7CkBAIC03Nyw3ICs3Nyw3IEBACiAJCQljb250aW51ZTsKIAkJfQogCi0JCWhhc2hjcHkocC0+cGFyZW50W25dLm9pZC5oYXNoLCBxLT5xdWV1ZVtpXS0+b25lLT5zaGExKTsKKwkJb2lkY3B5KCZwLT5wYXJlbnRbbl0ub2lkLCAmcS0+cXVldWVbaV0tPm9uZS0+b2lkKTsKIAkJcC0+cGFyZW50W25dLm1vZGUgPSBxLT5xdWV1ZVtpXS0+b25lLT5tb2RlOwogCQlwLT5wYXJlbnRbbl0uc3RhdHVzID0gcS0+cXVldWVbaV0tPnN0YXR1czsKIApAQCAtMTIwMyw5ICsxMjAzLDkgQEAKIAogCQkvKiBTaG93IHNoYTEncyAqLwogCQlmb3IgKGkgPSAwOyBpIDwgbnVtX3BhcmVudDsgaSsrKQotCQkJcHJpbnRmKCIgJXMiLCBkaWZmX3VuaXF1ZV9hYmJyZXYocC0+cGFyZW50W2ldLm9pZC5oYXNoLAotCQkJCQkJCSBvcHQtPmFiYnJldikpOwotCQlwcmludGYoIiAlcyAiLCBkaWZmX3VuaXF1ZV9hYmJyZXYocC0+b2lkLmhhc2gsIG9wdC0+YWJicmV2KSk7CisJCQlwcmludGYoIiAlcyIsIGRpZmZfYWxpZ25lZF9hYmJyZXYoJnAtPnBhcmVudFtpXS5vaWQsCisJCQkJCQkJICBvcHQtPmFiYnJldikpOworCQlwcmludGYoIiAlcyAiLCBkaWZmX2FsaWduZWRfYWJicmV2KCZwLT5vaWQsIG9wdC0+YWJicmV2KSk7CiAJfQogCiAJaWYgKG9wdC0+b3V0cHV0X2Zvcm1hdCAmIChESUZGX0ZPUk1BVF9SQVcgfCBESUZGX0ZPUk1BVF9OQU1FX1NUQVRVUykpIHsKQEAgLTEyNjgsMTYgKzEyNjgsMTYgQEAKIAlmb3IgKGkgPSAwOyBpIDwgbnVtX3BhcmVudDsgaSsrKSB7CiAJCXBhaXItPm9uZVtpXS5wYXRoID0gcC0+cGF0aDsKIAkJcGFpci0+b25lW2ldLm1vZGUgPSBwLT5wYXJlbnRbaV0ubW9kZTsKLQkJaGFzaGNweShwYWlyLT5vbmVbaV0uc2hhMSwgcC0+cGFyZW50W2ldLm9pZC5oYXNoKTsKLQkJcGFpci0+b25lW2ldLnNoYTFfdmFsaWQgPSAhaXNfbnVsbF9vaWQoJnAtPnBhcmVudFtpXS5vaWQpOworCQlvaWRjcHkoJnBhaXItPm9uZVtpXS5vaWQsICZwLT5wYXJlbnRbaV0ub2lkKTsKKwkJcGFpci0+b25lW2ldLm9pZF92YWxpZCA9ICFpc19udWxsX29pZCgmcC0+cGFyZW50W2ldLm9pZCk7CiAJCXBhaXItPm9uZVtpXS5oYXNfbW9yZV9lbnRyaWVzID0gMTsKIAl9CiAJcGFpci0+b25lW251bV9wYXJlbnQgLSAxXS5oYXNfbW9yZV9lbnRyaWVzID0gMDsKIAogCXBhaXItPnR3by0+cGF0aCA9IHAtPnBhdGg7CiAJcGFpci0+dHdvLT5tb2RlID0gcC0+bW9kZTsKLQloYXNoY3B5KHBhaXItPnR3by0+c2hhMSwgcC0+b2lkLmhhc2gpOwotCXBhaXItPnR3by0+c2hhMV92YWxpZCA9ICFpc19udWxsX29pZCgmcC0+b2lkKTsKKwlvaWRjcHkoJnBhaXItPnR3by0+b2lkLCAmcC0+b2lkKTsKKwlwYWlyLT50d28tPm9pZF92YWxpZCA9ICFpc19udWxsX29pZCgmcC0+b2lkKTsKIAlyZXR1cm4gcGFpcjsKIH0KIApAQCAtMTUyNSw3ICsxNTI1LDcgQEAKIAkJZnJlZSh0bXApOwogCX0KIAotCWZyZWVfcGF0aHNwZWMoJmRpZmZvcHRzLnBhdGhzcGVjKTsKKwljbGVhcl9wYXRoc3BlYygmZGlmZm9wdHMucGF0aHNwZWMpOwogfQogCiB2b2lkIGRpZmZfdHJlZV9jb21iaW5lZF9tZXJnZShjb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsIGludCBkZW5zZSwKZGlmZiAtLWdpdCBhL2NvbW1pdC1zbGFiLmggYi9jb21taXQtc2xhYi5oCmluZGV4IGY4NGI0NDkuLjQyZDE2ZGMgMTAwNjQ0Ci0tLSBhL2NvbW1pdC1zbGFiLmgKKysrIGIvY29tbWl0LXNsYWIuaApAQCAtOCw3ICs4LDcgQEAKICAqCiAgKiBBZnRlciBpbmNsdWRpbmcgdGhpcyBoZWFkZXIgZmlsZSwgdXNpbmc6CiAgKgotICogZGVmaW5lX2NvbW1pdF9zbGFiKGluZGVnZWUsIGludCk7CisgKiBkZWZpbmVfY29tbWl0X3NsYWIoaW5kZWdyZWUsIGludCk7CiAgKgogICogd2lsbCBsZXQgeW91IGNhbGwgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnM6CiAgKgpAQCAtMTI2LDE2ICsxMjYsMTYgQEAKIAlyZXR1cm4gc2xhYm5hbWUjI19hdF9wZWVrKHMsIGMsIDApOwkJCQlcCiB9CQkJCQkJCQkJXAogCQkJCQkJCQkJXAotc3RhdGljIGludCBzdGF0XyAjI3NsYWJuYW1lIyMgcmVhbGxvYworc3RydWN0IHNsYWJuYW1lCiAKIC8qCi0gKiBOb3RlIHRoYXQgdGhpcyBzZWVtaW5nbHkgcmVkdW5kYW50IHNlY29uZCBkZWNsYXJhdGlvbiBpcyByZXF1aXJlZAorICogTm90ZSB0aGF0IHRoaXMgcmVkdW5kYW50IGZvcndhcmQgZGVjbGFyYXRpb24gaXMgcmVxdWlyZWQKICAqIHRvIGFsbG93IGEgdGVybWluYXRpbmcgc2VtaWNvbG9uLCB3aGljaCBtYWtlcyBpbnN0YW50aWF0aW9ucyBsb29rCiAgKiBsaWtlIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucy4gIEkuZS4sIHRoZSBleHBhbnNpb24gb2YKICAqCiAgKiAgICBkZWZpbmVfY29tbWl0X3NsYWIoaW5kZWdyZWUsIGludCk7CiAgKgotICogZW5kcyBpbiAnc3RhdGljIGludCBzdGF0X2luZGVncmVlcmVhbGxvYzsnLiAgVGhpcyB3b3VsZCBvdGhlcndpc2UKKyAqIGVuZHMgaW4gJ3N0cnVjdCBpbmRlZ3JlZTsnLiAgVGhpcyB3b3VsZCBvdGhlcndpc2UKICAqIGJlIGEgc3ludGF4IGVycm9yIGFjY29yZGluZyAoYXQgbGVhc3QpIHRvIElTTyBDLiAgSXQncyBoYXJkIHRvCiAgKiBjYXRjaCBiZWNhdXNlIEdDQyBzaWxlbnRseSBwYXJzZXMgaXQgYnkgZGVmYXVsdC4KICAqLwpkaWZmIC0tZ2l0IGEvY29tbWl0LmMgYi9jb21taXQuYwppbmRleCAzZjRmMzcxLi44NTZmZDRhIDEwMDY0NAotLS0gYS9jb21taXQuYworKysgYi9jb21taXQuYwpAQCAtNDE0LDcgKzQxNCw3IEBACiAJd2hpbGUgKCpwICYmICgqcCAhPSAnXG4nIHx8IHBbMV0gIT0gJ1xuJykpCiAJCXArKzsKIAlpZiAoKnApIHsKLQkJcCArPSAyOworCQlwID0gc2tpcF9ibGFua19saW5lcyhwICsgMik7CiAJCWZvciAoZW9sID0gcDsgKmVvbCAmJiAqZW9sICE9ICdcbic7IGVvbCsrKQogCQkJOyAvKiBkbyBub3RoaW5nICovCiAJfSBlbHNlCkBAIC05MzEsNyArOTMxLDcgQEAKIAl9CiAKIAkvKiBOb3cgY29sbGVjdCB0aGUgcmVzdWx0ICovCi0JbWVtY3B5KHdvcmssIGFycmF5LCBzaXplb2YoKmFycmF5KSAqIGNudCk7CisJQ09QWV9BUlJBWSh3b3JrLCBhcnJheSwgY250KTsKIAlmb3IgKGkgPSBmaWxsZWQgPSAwOyBpIDwgY250OyBpKyspCiAJCWlmICghcmVkdW5kYW50W2ldKQogCQkJYXJyYXlbZmlsbGVkKytdID0gd29ya1tpXTsKQEAgLTEwOTIsOSArMTA5MiwxNCBAQAogewogCXN0cnVjdCBzdHJidWYgc2lnID0gU1RSQlVGX0lOSVQ7CiAJaW50IGluc3BvcywgY29weXBvczsKKwljb25zdCBjaGFyICplb2g7CiAKIAkvKiBmaW5kIHRoZSBlbmQgb2YgdGhlIGhlYWRlciAqLwotCWluc3BvcyA9IHN0cnN0cihidWYtPmJ1ZiwgIlxuXG4iKSAtIGJ1Zi0+YnVmICsgMTsKKwllb2ggPSBzdHJzdHIoYnVmLT5idWYsICJcblxuIik7CisJaWYgKCFlb2gpCisJCWluc3BvcyA9IGJ1Zi0+bGVuOworCWVsc2UKKwkJaW5zcG9zID0gZW9oIC0gYnVmLT5idWYgKyAxOwogCiAJaWYgKCFrZXlpZCB8fCAhKmtleWlkKQogCQlrZXlpZCA9IGdldF9zaWduaW5nX2tleSgpOwpAQCAtMTUwNiw5ICsxNTExLDkgQEAKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIgY29tbWl0X3V0Zjhfd2FybltdID0KLSJXYXJuaW5nOiBjb21taXQgbWVzc2FnZSBkaWQgbm90IGNvbmZvcm0gdG8gVVRGLTguXG4iCi0iWW91IG1heSB3YW50IHRvIGFtZW5kIGl0IGFmdGVyIGZpeGluZyB0aGUgbWVzc2FnZSwgb3Igc2V0IHRoZSBjb25maWdcbiIKLSJ2YXJpYWJsZSBpMThuLmNvbW1pdGVuY29kaW5nIHRvIHRoZSBlbmNvZGluZyB5b3VyIHByb2plY3QgdXNlcy5cbiI7CitOXygiV2FybmluZzogY29tbWl0IG1lc3NhZ2UgZGlkIG5vdCBjb25mb3JtIHRvIFVURi04LlxuIgorICAgIllvdSBtYXkgd2FudCB0byBhbWVuZCBpdCBhZnRlciBmaXhpbmcgdGhlIG1lc3NhZ2UsIG9yIHNldCB0aGUgY29uZmlnXG4iCisgICAidmFyaWFibGUgaTE4bi5jb21taXRlbmNvZGluZyB0byB0aGUgZW5jb2RpbmcgeW91ciBwcm9qZWN0IHVzZXMuXG4iKTsKIAogaW50IGNvbW1pdF90cmVlX2V4dGVuZGVkKGNvbnN0IGNoYXIgKm1zZywgc2l6ZV90IG1zZ19sZW4sCiAJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqdHJlZSwKQEAgLTE1NjEsNyArMTU2Niw3IEBACiAKIAkvKiBBbmQgY2hlY2sgdGhlIGVuY29kaW5nICovCiAJaWYgKGVuY29kaW5nX2lzX3V0ZjggJiYgIXZlcmlmeV91dGY4KCZidWZmZXIpKQotCQlmcHJpbnRmKHN0ZGVyciwgY29tbWl0X3V0Zjhfd2Fybik7CisJCWZwcmludGYoc3RkZXJyLCBfKGNvbW1pdF91dGY4X3dhcm4pKTsKIAogCWlmIChzaWduX2NvbW1pdCAmJiBkb19zaWduX2NvbW1pdCgmYnVmZmVyLCBzaWduX2NvbW1pdCkpCiAJCXJldHVybiAtMTsKQEAgLTE1NzEsNiArMTU3NiwxNSBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKK3ZvaWQgc2V0X21lcmdlX3JlbW90ZV9kZXNjKHN0cnVjdCBjb21taXQgKmNvbW1pdCwKKwkJCSAgIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3QgKm9iaikKK3sKKwlzdHJ1Y3QgbWVyZ2VfcmVtb3RlX2Rlc2MgKmRlc2M7CisJRkxFWF9BTExPQ19TVFIoZGVzYywgbmFtZSwgbmFtZSk7CisJZGVzYy0+b2JqID0gb2JqOworCWNvbW1pdC0+dXRpbCA9IGRlc2M7Cit9CisKIHN0cnVjdCBjb21taXQgKmdldF9tZXJnZV9wYXJlbnQoY29uc3QgY2hhciAqbmFtZSkKIHsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmo7CkBAIC0xNTgwLDEzICsxNTk0LDggQEAKIAkJcmV0dXJuIE5VTEw7CiAJb2JqID0gcGFyc2Vfb2JqZWN0KG9pZC5oYXNoKTsKIAljb21taXQgPSAoc3RydWN0IGNvbW1pdCAqKXBlZWxfdG9fdHlwZShuYW1lLCAwLCBvYmosIE9CSl9DT01NSVQpOwotCWlmIChjb21taXQgJiYgIWNvbW1pdC0+dXRpbCkgewotCQlzdHJ1Y3QgbWVyZ2VfcmVtb3RlX2Rlc2MgKmRlc2M7Ci0JCWRlc2MgPSB4bWFsbG9jKHNpemVvZigqZGVzYykpOwotCQlkZXNjLT5vYmogPSBvYmo7Ci0JCWRlc2MtPm5hbWUgPSBzdHJkdXAobmFtZSk7Ci0JCWNvbW1pdC0+dXRpbCA9IGRlc2M7Ci0JfQorCWlmIChjb21taXQgJiYgIWNvbW1pdC0+dXRpbCkKKwkJc2V0X21lcmdlX3JlbW90ZV9kZXNjKGNvbW1pdCwgbmFtZSwgb2JqKTsKIAlyZXR1cm4gY29tbWl0OwogfQogCkBAIC0xNjE3LDE2ICsxNjI2LDYgQEAKIAlyZXR1cm4gJm5ldy0+bmV4dDsKIH0KIAotdm9pZCBwcmludF9jb21taXRfbGlzdChzdHJ1Y3QgY29tbWl0X2xpc3QgKmxpc3QsCi0JCSAgICAgICBjb25zdCBjaGFyICpmb3JtYXRfY3VyLAotCQkgICAgICAgY29uc3QgY2hhciAqZm9ybWF0X2xhc3QpCi17Ci0JZm9yICggOyBsaXN0OyBsaXN0ID0gbGlzdC0+bmV4dCkgewotCQljb25zdCBjaGFyICpmb3JtYXQgPSBsaXN0LT5uZXh0ID8gZm9ybWF0X2N1ciA6IGZvcm1hdF9sYXN0OwotCQlwcmludGYoZm9ybWF0LCBvaWRfdG9faGV4KCZsaXN0LT5pdGVtLT5vYmplY3Qub2lkKSk7Ci0JfQotfQotCiBjb25zdCBjaGFyICpmaW5kX2NvbW1pdF9oZWFkZXIoY29uc3QgY2hhciAqbXNnLCBjb25zdCBjaGFyICprZXksIHNpemVfdCAqb3V0X2xlbikKIHsKIAlpbnQga2V5X2xlbiA9IHN0cmxlbihrZXkpOwpkaWZmIC0tZ2l0IGEvY29tbWl0LmggYi9jb21taXQuaAppbmRleCBiMDZkYjRkLi5hZmQxNGYzIDEwMDY0NAotLS0gYS9jb21taXQuaAorKysgYi9jb21taXQuaApAQCAtMTMxLDExICsxMzEsMTcgQEAKIAlDTUlUX0ZNVF9GVUxMRVIsCiAJQ01JVF9GTVRfT05FTElORSwKIAlDTUlUX0ZNVF9FTUFJTCwKKwlDTUlUX0ZNVF9NQk9YUkQsCiAJQ01JVF9GTVRfVVNFUkZPUk1BVCwKIAogCUNNSVRfRk1UX1VOU1BFQ0lGSUVECiB9OwogCitzdGF0aWMgaW5saW5lIGludCBjbWl0X2ZtdF9pc19tYWlsKGVudW0gY21pdF9mbXQgZm10KQoreworCXJldHVybiAoZm10ID09IENNSVRfRk1UX0VNQUlMIHx8IGZtdCA9PSBDTUlUX0ZNVF9NQk9YUkQpOworfQorCiBzdHJ1Y3QgcHJldHR5X3ByaW50X2NvbnRleHQgewogCS8qCiAJICogQ2FsbGVycyBzaG91bGQgdHdlYWsgdGhlc2UgdG8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiBwcF8qIGZ1bmN0aW9ucy4KQEAgLTE2MSw2ICsxNjcsNyBAQAogCSAqIHNob3VsZCBub3QgYmUgY291bnRlZCBvbiBieSBjYWxsZXJzLgogCSAqLwogCXN0cnVjdCBzdHJpbmdfbGlzdCBpbl9ib2R5X2hlYWRlcnM7CisJaW50IGdyYXBoX3dpZHRoOwogfTsKIAogc3RydWN0IHVzZXJmb3JtYXRfd2FudCB7CkBAIC0xNzcsNiArMTg0LDcgQEAKIAkJCQkgIGNvbnN0IGNoYXIgKmxpbmVfc2VwYXJhdG9yKTsKIGV4dGVybiB2b2lkIHVzZXJmb3JtYXRfZmluZF9yZXF1aXJlbWVudHMoY29uc3QgY2hhciAqZm10LCBzdHJ1Y3QgdXNlcmZvcm1hdF93YW50ICp3KTsKIGV4dGVybiBpbnQgY29tbWl0X2Zvcm1hdF9pc19lbXB0eShlbnVtIGNtaXRfZm10KTsKK2V4dGVybiBjb25zdCBjaGFyICpza2lwX2JsYW5rX2xpbmVzKGNvbnN0IGNoYXIgKm1zZyk7CiBleHRlcm4gdm9pZCBmb3JtYXRfY29tbWl0X21lc3NhZ2UoY29uc3Qgc3RydWN0IGNvbW1pdCAqY29tbWl0LAogCQkJCSAgY29uc3QgY2hhciAqZm9ybWF0LCBzdHJ1Y3Qgc3RyYnVmICpzYiwKIAkJCQkgIGNvbnN0IHN0cnVjdCBwcmV0dHlfcHJpbnRfY29udGV4dCAqY29udGV4dCk7CkBAIC0yNTksNiArMjY3LDggQEAKIGV4dGVybiBpbnQgaXNfcmVwb3NpdG9yeV9zaGFsbG93KHZvaWQpOwogZXh0ZXJuIHN0cnVjdCBjb21taXRfbGlzdCAqZ2V0X3NoYWxsb3dfY29tbWl0cyhzdHJ1Y3Qgb2JqZWN0X2FycmF5ICpoZWFkcywKIAkJaW50IGRlcHRoLCBpbnQgc2hhbGxvd19mbGFnLCBpbnQgbm90X3NoYWxsb3dfZmxhZyk7CitleHRlcm4gc3RydWN0IGNvbW1pdF9saXN0ICpnZXRfc2hhbGxvd19jb21taXRzX2J5X3Jldl9saXN0KAorCQlpbnQgYWMsIGNvbnN0IGNoYXIgKiphdiwgaW50IHNoYWxsb3dfZmxhZywgaW50IG5vdF9zaGFsbG93X2ZsYWcpOwogZXh0ZXJuIHZvaWQgc2V0X2FsdGVybmF0ZV9zaGFsbG93X2ZpbGUoY29uc3QgY2hhciAqcGF0aCwgaW50IG92ZXJyaWRlKTsKIGV4dGVybiBpbnQgd3JpdGVfc2hhbGxvd19jb21taXRzKHN0cnVjdCBzdHJidWYgKm91dCwgaW50IHVzZV9wYWNrX3Byb3RvY29sLAogCQkJCSBjb25zdCBzdHJ1Y3Qgc2hhMV9hcnJheSAqZXh0cmEpOwpAQCAtMzU0LDkgKzM2NCwxMSBAQAogCiBzdHJ1Y3QgbWVyZ2VfcmVtb3RlX2Rlc2MgewogCXN0cnVjdCBvYmplY3QgKm9iajsgLyogdGhlIG5hbWVkIG9iamVjdCwgY291bGQgYmUgYSB0YWcgKi8KLQljb25zdCBjaGFyICpuYW1lOworCWNoYXIgbmFtZVtGTEVYX0FSUkFZXTsKIH07CiAjZGVmaW5lIG1lcmdlX3JlbW90ZV91dGlsKGNvbW1pdCkgKChzdHJ1Y3QgbWVyZ2VfcmVtb3RlX2Rlc2MgKikoKGNvbW1pdCktPnV0aWwpKQorZXh0ZXJuIHZvaWQgc2V0X21lcmdlX3JlbW90ZV9kZXNjKHN0cnVjdCBjb21taXQgKmNvbW1pdCwKKwkJCQkgIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3QgKm9iaik7CiAKIC8qCiAgKiBHaXZlbiAibmFtZSIgZnJvbSB0aGUgY29tbWFuZCBsaW5lIHRvIG1lcmdlLCBmaW5kIHRoZSBjb21taXQgb2JqZWN0CkBAIC0zNjksMTAgKzM4MSw2IEBACiAJCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqbWVzc2FnZSwgc3RydWN0IHN0cmJ1ZiAqc2lnbmF0dXJlKTsKIGV4dGVybiBpbnQgcmVtb3ZlX3NpZ25hdHVyZShzdHJ1Y3Qgc3RyYnVmICpidWYpOwogCi1leHRlcm4gdm9pZCBwcmludF9jb21taXRfbGlzdChzdHJ1Y3QgY29tbWl0X2xpc3QgKmxpc3QsCi0JCQkgICAgICBjb25zdCBjaGFyICpmb3JtYXRfY3VyLAotCQkJICAgICAgY29uc3QgY2hhciAqZm9ybWF0X2xhc3QpOwotCiAvKgogICogQ2hlY2sgdGhlIHNpZ25hdHVyZSBvZiB0aGUgZ2l2ZW4gY29tbWl0LiBUaGUgcmVzdWx0IG9mIHRoZSBjaGVjayBpcyBzdG9yZWQKICAqIGluIHNpZy0+Y2hlY2tfcmVzdWx0LCAnRycgZm9yIGEgZ29vZCBzaWduYXR1cmUsICdVJyBmb3IgYSBnb29kIHNpZ25hdHVyZQpkaWZmIC0tZ2l0IGEvY29tcGF0L21pbmd3LmMgYi9jb21wYXQvbWluZ3cuYwppbmRleCBhODIxOGU2Li4zZmJmZGE1IDEwMDY0NAotLS0gYS9jb21wYXQvbWluZ3cuYworKysgYi9jb21wYXQvbWluZ3cuYwpAQCAtMTkzMCw0OCArMTkzMCw2IEBACiAJfQogfQogCi0KLXN0YXRpYyBjb25zdCBjaGFyICptYWtlX2JhY2tzbGFzaF9wYXRoKGNvbnN0IGNoYXIgKnBhdGgpCi17Ci0Jc3RhdGljIGNoYXIgYnVmW1BBVEhfTUFYICsgMV07Ci0JY2hhciAqYzsKLQotCWlmIChzdHJsY3B5KGJ1ZiwgcGF0aCwgUEFUSF9NQVgpID49IFBBVEhfTUFYKQotCQlkaWUoIlRvbyBsb25nIHBhdGg6ICUuKnMiLCA2MCwgcGF0aCk7Ci0KLQlmb3IgKGMgPSBidWY7ICpjOyBjKyspIHsKLQkJaWYgKCpjID09ICcvJykKLQkJCSpjID0gJ1xcJzsKLQl9Ci0JcmV0dXJuIGJ1ZjsKLX0KLQotdm9pZCBtaW5nd19vcGVuX2h0bWwoY29uc3QgY2hhciAqdW5peHBhdGgpCi17Ci0JY29uc3QgY2hhciAqaHRtbHBhdGggPSBtYWtlX2JhY2tzbGFzaF9wYXRoKHVuaXhwYXRoKTsKLQl0eXBlZGVmIEhJTlNUQU5DRSAoV0lOQVBJICpUKShIV05ELCBjb25zdCBjaGFyICosCi0JCQljb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBJTlQpOwotCVQgU2hlbGxFeGVjdXRlOwotCUhNT0RVTEUgc2hlbGwzMjsKLQlpbnQgcjsKLQotCXNoZWxsMzIgPSBMb2FkTGlicmFyeSgic2hlbGwzMi5kbGwiKTsKLQlpZiAoIXNoZWxsMzIpCi0JCWRpZSgiY2Fubm90IGxvYWQgc2hlbGwzMi5kbGwiKTsKLQlTaGVsbEV4ZWN1dGUgPSAoVClHZXRQcm9jQWRkcmVzcyhzaGVsbDMyLCAiU2hlbGxFeGVjdXRlQSIpOwotCWlmICghU2hlbGxFeGVjdXRlKQotCQlkaWUoImNhbm5vdCBydW4gYnJvd3NlciIpOwotCi0JcHJpbnRmKCJMYXVuY2hpbmcgZGVmYXVsdCBicm93c2VyIHRvIGRpc3BsYXkgSFRNTCAuLi5cbiIpOwotCXIgPSBIQ0FTVChpbnQsIFNoZWxsRXhlY3V0ZShOVUxMLCAib3BlbiIsIGh0bWxwYXRoLAotCQkJCU5VTEwsICJcXCIsIFNXX1NIT1dOT1JNQUwpKTsKLQlGcmVlTGlicmFyeShzaGVsbDMyKTsKLQkvKiBzZWUgdGhlIE1TRE4gZG9jdW1lbnRhdGlvbiByZWZlcnJpbmcgdG8gdGhlIHJlc3VsdCBjb2RlcyBoZXJlICovCi0JaWYgKHIgPD0gMzIpIHsKLQkJZGllKCJmYWlsZWQgdG8gbGF1bmNoIGJyb3dzZXIgZm9yICUuKnMiLCBNQVhfUEFUSCwgdW5peHBhdGgpOwotCX0KLX0KLQogaW50IGxpbmsoY29uc3QgY2hhciAqb2xkcGF0aCwgY29uc3QgY2hhciAqbmV3cGF0aCkKIHsKIAl0eXBlZGVmIEJPT0wgKFdJTkFQSSAqVCkoTFBDV1NUUiwgTFBDV1NUUiwgTFBTRUNVUklUWV9BVFRSSUJVVEVTKTsKQEAgLTIxNjIsNyArMjEyMCw3IEBACiAJcmV0dXJuIC0xOwogfQogCi1zdGF0aWMgdm9pZCBzZXR1cF93aW5kb3dzX2Vudmlyb25tZW50KCkKK3N0YXRpYyB2b2lkIHNldHVwX3dpbmRvd3NfZW52aXJvbm1lbnQodm9pZCkKIHsKIAljaGFyICp0bXAgPSBnZXRlbnYoIlRNUERJUiIpOwogCkBAIC0yMjA0LDcgKzIxNjIsNyBAQAogZXh0ZXJuIGludCBfX3dnZXRtYWluYXJncyhpbnQgKmFyZ2MsIHdjaGFyX3QgKioqYXJndiwgd2NoYXJfdCAqKiplbnYsIGludCBnbG9iLAogCQlfc3RhcnR1cGluZm8gKnNpKTsKIAotc3RhdGljIE5PUkVUVVJOIHZvaWQgZGllX3N0YXJ0dXAoKQorc3RhdGljIE5PUkVUVVJOIHZvaWQgZGllX3N0YXJ0dXAodm9pZCkKIHsKIAlmcHV0cygiZmF0YWw6IG5vdCBlbm91Z2ggbWVtb3J5IGZvciBpbml0aWFsaXphdGlvbiIsIHN0ZGVycik7CiAJZXhpdCgxMjgpOwpAQCAtMjIyNCw3ICsyMTgyLDcgQEAKIAlyZXR1cm4gbWVtY3B5KG1hbGxvY19zdGFydHVwKGxlbiksIGJ1ZmZlciwgbGVuKTsKIH0KIAotdm9pZCBtaW5nd19zdGFydHVwKCkKK3ZvaWQgbWluZ3dfc3RhcnR1cCh2b2lkKQogewogCWludCBpLCBtYXhsZW4sIGFyZ2M7CiAJY2hhciAqYnVmZmVyOwpkaWZmIC0tZ2l0IGEvY29tcGF0L21pbmd3LmggYi9jb21wYXQvbWluZ3cuaAppbmRleCAxYWM5MDg2Li4wMzRmZmY5IDEwMDY0NAotLS0gYS9jb21wYXQvbWluZ3cuaAorKysgYi9jb21wYXQvbWluZ3cuaApAQCAtNjcsMTIgKzY3LDE5IEBACiAjZGVmaW5lIEZfU0VURkQgMgogI2RlZmluZSBGRF9DTE9FWEVDIDB4MQogCisjaWYgIWRlZmluZWQgT19DTE9FWEVDICYmIGRlZmluZWQgT19OT0lOSEVSSVQKKyNkZWZpbmUgT19DTE9FWEVDCU9fTk9JTkhFUklUCisjZW5kaWYKKwogI2lmbmRlZiBFQUZOT1NVUFBPUlQKICNkZWZpbmUgRUFGTk9TVVBQT1JUIFdTQUVBRk5PU1VQUE9SVAogI2VuZGlmCiAjaWZuZGVmIEVDT05OQUJPUlRFRAogI2RlZmluZSBFQ09OTkFCT1JURUQgV1NBRUNPTk5BQk9SVEVECiAjZW5kaWYKKyNpZm5kZWYgRU5PVFNPQ0sKKyNkZWZpbmUgRU5PVFNPQ0sgV1NBRU5PVFNPQ0sKKyNlbmRpZgogCiBzdHJ1Y3QgcGFzc3dkIHsKIAljaGFyICpwd19uYW1lOwpAQCAtNDE0LDkgKzQyMSw2IEBACiAjaW5jbHVkZSA8aW50dHlwZXMuaD4KICNlbmRpZgogCi12b2lkIG1pbmd3X29wZW5faHRtbChjb25zdCBjaGFyICpwYXRoKTsKLSNkZWZpbmUgb3Blbl9odG1sIG1pbmd3X29wZW5faHRtbAotCiAvKioKICAqIENvbnZlcnRzIFVURi04IGVuY29kZWQgc3RyaW5nIHRvIFVURi0xNkxFLgogICoKQEAgLTUzMiw4ICs1MzYsOCBAQAogICogQSByZXBsYWNlbWVudCBvZiBtYWluKCkgdGhhdCBhZGRzIHdpbjMyIHNwZWNpZmljIGluaXRpYWxpemF0aW9uLgogICovCiAKLXZvaWQgbWluZ3dfc3RhcnR1cCgpOwotI2RlZmluZSBtYWluKGMsdikgZHVtbXlfZGVjbF9taW5nd19tYWluKCk7IFwKK3ZvaWQgbWluZ3dfc3RhcnR1cCh2b2lkKTsKKyNkZWZpbmUgbWFpbihjLHYpIGR1bW15X2RlY2xfbWluZ3dfbWFpbih2b2lkKTsgXAogc3RhdGljIGludCBtaW5nd19tYWluKGMsdik7IFwKIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikgXAogeyBcCmRpZmYgLS1naXQgYS9jb21wYXQvbmVkbWFsbG9jL25lZG1hbGxvYy5jIGIvY29tcGF0L25lZG1hbGxvYy9uZWRtYWxsb2MuYwppbmRleCBhMGExNmViLi4xY2MzMWMzIDEwMDY0NAotLS0gYS9jb21wYXQvbmVkbWFsbG9jL25lZG1hbGxvYy5jCisrKyBiL2NvbXBhdC9uZWRtYWxsb2MvbmVkbWFsbG9jLmMKQEAgLTkzOCwzMyArOTM4LDE2IEBACiAJdm9pZCAqKnJldDsKIAl0aHJlYWRjYWNoZSAqdGM7CiAJaW50IG15bXNwYWNlOwotICAgIHNpemVfdCBpLCAqYWRqdXN0ZWRzaXplcz0oc2l6ZV90ICopIGFsbG9jYShlbGVtcypzaXplb2Yoc2l6ZV90KSk7Ci0gICAgaWYoIWFkanVzdGVkc2l6ZXMpIHJldHVybiAwOwotICAgIGZvcihpPTA7IGk8ZWxlbXM7IGkrKykKLQlhZGp1c3RlZHNpemVzW2ldPXNpemVzW2ldPHNpemVvZih0aHJlYWRjYWNoZWJsaykgPyBzaXplb2YodGhyZWFkY2FjaGVibGspIDogc2l6ZXNbaV07CisJc2l6ZV90IGksICphZGp1c3RlZHNpemVzPShzaXplX3QgKikgYWxsb2NhKGVsZW1zKnNpemVvZihzaXplX3QpKTsKKwlpZighYWRqdXN0ZWRzaXplcykgcmV0dXJuIDA7CisJZm9yKGk9MDsgaTxlbGVtczsgaSsrKQorCQlhZGp1c3RlZHNpemVzW2ldPXNpemVzW2ldPHNpemVvZih0aHJlYWRjYWNoZWJsaykgPyBzaXplb2YodGhyZWFkY2FjaGVibGspIDogc2l6ZXNbaV07CiAJR2V0VGhyZWFkQ2FjaGUoJnAsICZ0YywgJm15bXNwYWNlLCAwKTsKIAlHRVRNU1BBQ0UobSwgcCwgdGMsIG15bXNwYWNlLCAwLAogCSAgICAgIHJldD1tc3BhY2VfaW5kZXBlbmRlbnRfY29tYWxsb2MobSwgZWxlbXMsIGFkanVzdGVkc2l6ZXMsIGNodW5rcykpOwogCXJldHVybiByZXQ7CiB9CiAKLSNpZmRlZiBPVkVSUklERV9TVFJEVVAKLS8qCi0gKiBUaGlzIGltcGxlbWVudGF0aW9uIGlzIHB1cmVseSB0aGVyZSB0byBvdmVycmlkZSB0aGUgbGliYyB2ZXJzaW9uLCB0bwotICogYXZvaWQgYSBjcmFzaCBkdWUgdG8gYWxsb2NhdGlvbiBhbmQgZnJlZSBvbiBkaWZmZXJlbnQgJ2hlYXBzJy4KLSAqLwotY2hhciAqc3RyZHVwKGNvbnN0IGNoYXIgKnMxKQotewotCWNoYXIgKnMyID0gMDsKLQlpZiAoczEpIHsKLQkJc2l6ZV90IGxlbiA9IHN0cmxlbihzMSkgKyAxOwotCQlzMiA9IG1hbGxvYyhsZW4pOwotCQltZW1jcHkoczIsIHMxLCBsZW4pOwotCX0KLQlyZXR1cm4gczI7Ci19Ci0jZW5kaWYKLQogI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2NvbXBhdC9yZWdleC9yZWdjb21wLmMgYi9jb21wYXQvcmVnZXgvcmVnY29tcC5jCmluZGV4IGZiYTU5ODYuLmQ4YmRlMDYgMTAwNjQ0Ci0tLSBhL2NvbXBhdC9yZWdleC9yZWdjb21wLmMKKysrIGIvY29tcGF0L3JlZ2V4L3JlZ2NvbXAuYwpAQCAtMTgsOCArMTgsNiBAQAogICAgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQQogICAgMDIxMTAtMTMwMSBVU0EuICAqLwogCi0jaW5jbHVkZSA8c3RkaW50Lmg+Ci0KIHN0YXRpYyByZWdfZXJyY29kZV90IHJlX2NvbXBpbGVfaW50ZXJuYWwgKHJlZ2V4X3QgKnByZWcsIGNvbnN0IGNoYXIgKiBwYXR0ZXJuLAogCQkJCQkgIHNpemVfdCBsZW5ndGgsIHJlZ19zeW50YXhfdCBzeW50YXgpOwogc3RhdGljIHZvaWQgcmVfY29tcGlsZV9mYXN0bWFwX2l0ZXIgKHJlZ2V4X3QgKmJ1ZnAsCmRpZmYgLS1naXQgYS9jb21wYXQvcmVnZXgvcmVnZXguYyBiL2NvbXBhdC9yZWdleC9yZWdleC5jCmluZGV4IDZhYWFlMDAuLjVjYjIzZTUgMTAwNjQ0Ci0tLSBhL2NvbXBhdC9yZWdleC9yZWdleC5jCisrKyBiL2NvbXBhdC9yZWdleC9yZWdleC5jCkBAIC02MCw2ICs2MCw3IEBACiAgICBHTlUgcmVnZXggYWxsb3dzLiAgSW5jbHVkZSBpdCBiZWZvcmUgPHJlZ2V4Lmg+LCB3aGljaCBjb3JyZWN0bHkKICAgICN1bmRlZnMgUkVfRFVQX01BWCBhbmQgc2V0cyBpdCB0byB0aGUgcmlnaHQgdmFsdWUuICAqLwogI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgogCiAjaWZkZWYgR0FXSwogI3VuZGVmIGFsbG9jYQpkaWZmIC0tZ2l0IGEvY29tcGF0L3N0cmR1cC5jIGIvY29tcGF0L3N0cmR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzZmI5NzgKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wYXQvc3RyZHVwLmMKQEAgLTAsMCArMSwxMSBAQAorI2luY2x1ZGUgIi4uL2dpdC1jb21wYXQtdXRpbC5oIgorCitjaGFyICpnaXRzdHJkdXAoY29uc3QgY2hhciAqczEpCit7CisJc2l6ZV90IGxlbiA9IHN0cmxlbihzMSkgKyAxOworCWNoYXIgKnMyID0gbWFsbG9jKGxlbik7CisKKwlpZiAoczIpCisJCW1lbWNweShzMiwgczEsIGxlbik7CisJcmV0dXJuIHMyOworfQpkaWZmIC0tZ2l0IGEvY29tcGF0L3dpbmFuc2kuYyBiL2NvbXBhdC93aW5hbnNpLmMKaW5kZXggM2JlNjBjZS4uZGI0YTViMCAxMDA2NDQKLS0tIGEvY29tcGF0L3dpbmFuc2kuYworKysgYi9jb21wYXQvd2luYW5zaS5jCkBAIC00OTIsNyArNDkyLDcgQEAKIAkJCShmZCAmIChJT0lORk9fQVJSQVlfRUxUUyAtIDEpKSAqIHNpemVvZl9pb2luZm8pOwogfQogCi1zdGF0aWMgaW50IGluaXRfc2l6ZW9mX2lvaW5mbygpCitzdGF0aWMgaW50IGluaXRfc2l6ZW9mX2lvaW5mbyh2b2lkKQogewogCWludCBpc3R0eSwgd2FzdHR5OwogCS8qIGRvbid0IGluaXQgdHdpY2UgKi8KZGlmZiAtLWdpdCBhL2NvbmZpZy5jIGIvY29uZmlnLmMKaW5kZXggZjUxYzU2Yi4uODNmZGVjYiAxMDA2NDQKLS0tIGEvY29uZmlnLmMKKysrIGIvY29uZmlnLmMKQEAgLTI0LDcgKzI0LDcgQEAKIAkJCXNpemVfdCBwb3M7CiAJCX0gYnVmOwogCX0gdTsKLQljb25zdCBjaGFyICpvcmlnaW5fdHlwZTsKKwllbnVtIGNvbmZpZ19vcmlnaW5fdHlwZSBvcmlnaW5fdHlwZTsKIAljb25zdCBjaGFyICpuYW1lOwogCWNvbnN0IGNoYXIgKnBhdGg7CiAJaW50IGRpZV9vbl9lcnJvcjsKQEAgLTM4LDcgKzM4LDMzIEBACiAJbG9uZyAoKmRvX2Z0ZWxsKShzdHJ1Y3QgY29uZmlnX3NvdXJjZSAqYyk7CiB9OwogCisvKgorICogVGhlc2UgdmFyaWFibGVzIHJlY29yZCB0aGUgImN1cnJlbnQiIGNvbmZpZyBzb3VyY2UsIHdoaWNoCisgKiBjYW4gYmUgYWNjZXNzZWQgYnkgcGFyc2luZyBjYWxsYmFja3MuCisgKgorICogVGhlICJjZiIgdmFyaWFibGUgd2lsbCBiZSBub24tTlVMTCBvbmx5IHdoZW4gd2UgYXJlIGFjdHVhbGx5IHBhcnNpbmcgYSByZWFsCisgKiBjb25maWcgc291cmNlIChmaWxlLCBibG9iLCBjbWRsaW5lLCBldGMpLgorICoKKyAqIFRoZSAiY3VycmVudF9jb25maWdfa3ZpIiB2YXJpYWJsZSB3aWxsIGJlIG5vbi1OVUxMIG9ubHkgd2hlbiB3ZSBhcmUgZmVlZGluZworICogY2FjaGVkIGNvbmZpZyBmcm9tIGEgY29uZmlnc2V0IGludG8gYSBjYWxsYmFjay4KKyAqCisgKiBUaGV5IHNob3VsZCBnZW5lcmFsbHkgbmV2ZXIgYmUgbm9uLU5VTEwgYXQgdGhlIHNhbWUgdGltZS4gSWYgdGhleSBhcmUgYm90aAorICogTlVMTCwgdGhlbiB3ZSBhcmVuJ3QgcGFyc2luZyBhbnl0aGluZyAoYW5kIGRlcGVuZGluZyBvbiB0aGUgZnVuY3Rpb24gbG9va2luZworICogYXQgdGhlIHZhcmlhYmxlcywgaXQncyBlaXRoZXIgYSBidWcgZm9yIGl0IHRvIGJlIGNhbGxlZCBpbiB0aGUgZmlyc3QgcGxhY2UsCisgKiBvciBpdCdzIGEgZnVuY3Rpb24gd2hpY2ggY2FuIGJlIHJldXNlZCBmb3Igbm9uLWNvbmZpZyBwdXJwb3NlcywgYW5kIHNob3VsZAorICogZmFsbCBiYWNrIHRvIHNvbWUgc2FuZSBiZWhhdmlvcikuCisgKi8KIHN0YXRpYyBzdHJ1Y3QgY29uZmlnX3NvdXJjZSAqY2Y7CitzdGF0aWMgc3RydWN0IGtleV92YWx1ZV9pbmZvICpjdXJyZW50X2NvbmZpZ19rdmk7CisKKy8qCisgKiBTaW1pbGFyIHRvIHRoZSB2YXJpYWJsZXMgYWJvdmUsIHRoaXMgZ2l2ZXMgYWNjZXNzIHRvIHRoZSAic2NvcGUiIG9mIHRoZQorICogY3VycmVudCB2YWx1ZSAocmVwbywgZ2xvYmFsLCBldGMpLiBGb3IgY2FjaGVkIHZhbHVlcywgaXQgY2FuIGJlIGZvdW5kIHZpYQorICogdGhlIGN1cnJlbnRfY29uZmlnX2t2aSBhcyBhYm92ZS4gRHVyaW5nIHBhcnNpbmcsIHRoZSBjdXJyZW50IHZhbHVlIGNhbiBiZQorICogZm91bmQgaW4gdGhpcyB2YXJpYWJsZS4gSXQncyBub3QgcGFydCBvZiAiY2YiIGJlY2F1c2UgaXQgdHJhbnNjZW5kcyBhIHNpbmdsZQorICogZmlsZSAoaS5lLiwgYSBmaWxlIGluY2x1ZGVkIGZyb20gLmdpdC9jb25maWcgaXMgc3RpbGwgaW4gInJlcG8iIHNjb3BlKS4KKyAqLworc3RhdGljIGVudW0gY29uZmlnX3Njb3BlIGN1cnJlbnRfcGFyc2luZ19zY29wZTsKIAogc3RhdGljIGludCB6bGliX2NvbXByZXNzaW9uX3NlZW47CiAKQEAgLTEzMSw3ICsxNTcsOSBAQAogCWlmICghYWNjZXNzX29yX2RpZShwYXRoLCBSX09LLCAwKSkgewogCQlpZiAoKytpbmMtPmRlcHRoID4gTUFYX0lOQ0xVREVfREVQVEgpCiAJCQlkaWUoaW5jbHVkZV9kZXB0aF9hZHZpY2UsIE1BWF9JTkNMVURFX0RFUFRILCBwYXRoLAotCQkJICAgIGNmICYmIGNmLT5uYW1lID8gY2YtPm5hbWUgOiAidGhlIGNvbW1hbmQgbGluZSIpOworCQkJICAgICFjZiA/ICI8dW5rbm93bj4iIDoKKwkJCSAgICBjZi0+bmFtZSA/IGNmLT5uYW1lIDoKKwkJCSAgICAidGhlIGNvbW1hbmQgbGluZSIpOwogCQlyZXQgPSBnaXRfY29uZmlnX2Zyb21fZmlsZShnaXRfY29uZmlnX2luY2x1ZGUsIHBhdGgsIGluYyk7CiAJCWluYy0+ZGVwdGgtLTsKIAl9CkBAIC0yMDUsMzIgKzIzMyw0MSBAQAogaW50IGdpdF9jb25maWdfZnJvbV9wYXJhbWV0ZXJzKGNvbmZpZ19mbl90IGZuLCB2b2lkICpkYXRhKQogewogCWNvbnN0IGNoYXIgKmVudiA9IGdldGVudihDT05GSUdfREFUQV9FTlZJUk9OTUVOVCk7CisJaW50IHJldCA9IDA7CiAJY2hhciAqZW52dzsKIAljb25zdCBjaGFyICoqYXJndiA9IE5VTEw7CiAJaW50IG5yID0gMCwgYWxsb2MgPSAwOwogCWludCBpOworCXN0cnVjdCBjb25maWdfc291cmNlIHNvdXJjZTsKIAogCWlmICghZW52KQogCQlyZXR1cm4gMDsKKworCW1lbXNldCgmc291cmNlLCAwLCBzaXplb2Yoc291cmNlKSk7CisJc291cmNlLnByZXYgPSBjZjsKKwlzb3VyY2Uub3JpZ2luX3R5cGUgPSBDT05GSUdfT1JJR0lOX0NNRExJTkU7CisJY2YgPSAmc291cmNlOworCiAJLyogc3FfZGVxdW90ZSB3aWxsIHdyaXRlIG92ZXIgaXQgKi8KIAllbnZ3ID0geHN0cmR1cChlbnYpOwogCiAJaWYgKHNxX2RlcXVvdGVfdG9fYXJndihlbnZ3LCAmYXJndiwgJm5yLCAmYWxsb2MpIDwgMCkgewotCQlmcmVlKGVudncpOwotCQlyZXR1cm4gZXJyb3IoImJvZ3VzIGZvcm1hdCBpbiAiIENPTkZJR19EQVRBX0VOVklST05NRU5UKTsKKwkJcmV0ID0gZXJyb3IoImJvZ3VzIGZvcm1hdCBpbiAiIENPTkZJR19EQVRBX0VOVklST05NRU5UKTsKKwkJZ290byBvdXQ7CiAJfQogCiAJZm9yIChpID0gMDsgaSA8IG5yOyBpKyspIHsKIAkJaWYgKGdpdF9jb25maWdfcGFyc2VfcGFyYW1ldGVyKGFyZ3ZbaV0sIGZuLCBkYXRhKSA8IDApIHsKLQkJCWZyZWUoYXJndik7Ci0JCQlmcmVlKGVudncpOwotCQkJcmV0dXJuIC0xOworCQkJcmV0ID0gLTE7CisJCQlnb3RvIG91dDsKIAkJfQogCX0KIAorb3V0OgogCWZyZWUoYXJndik7CiAJZnJlZShlbnZ3KTsKLQlyZXR1cm4gbnIgPiAwOworCWNmID0gc291cmNlLnByZXY7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBnZXRfbmV4dF9jaGFyKHZvaWQpCkBAIC00MTcsNiArNDU0LDggQEAKIAlpbnQgY29tbWVudCA9IDA7CiAJaW50IGJhc2VsZW4gPSAwOwogCXN0cnVjdCBzdHJidWYgKnZhciA9ICZjZi0+dmFyOworCWludCBlcnJvcl9yZXR1cm4gPSAwOworCWNoYXIgKmVycm9yX21zZyA9IE5VTEw7CiAKIAkvKiBVK0ZFRkYgQnl0ZSBPcmRlciBNYXJrIGluIFVURjggKi8KIAljb25zdCBjaGFyICpib21wdHIgPSB1dGY4X2JvbTsKQEAgLTQ3MSwxMCArNTEwLDQwIEBACiAJCWlmIChnZXRfdmFsdWUoZm4sIGRhdGEsIHZhcikgPCAwKQogCQkJYnJlYWs7CiAJfQorCisJc3dpdGNoIChjZi0+b3JpZ2luX3R5cGUpIHsKKwljYXNlIENPTkZJR19PUklHSU5fQkxPQjoKKwkJZXJyb3JfbXNnID0geHN0cmZtdChfKCJiYWQgY29uZmlnIGxpbmUgJWQgaW4gYmxvYiAlcyIpLAorCQkJCSAgICAgIGNmLT5saW5lbnIsIGNmLT5uYW1lKTsKKwkJYnJlYWs7CisJY2FzZSBDT05GSUdfT1JJR0lOX0ZJTEU6CisJCWVycm9yX21zZyA9IHhzdHJmbXQoXygiYmFkIGNvbmZpZyBsaW5lICVkIGluIGZpbGUgJXMiKSwKKwkJCQkgICAgICBjZi0+bGluZW5yLCBjZi0+bmFtZSk7CisJCWJyZWFrOworCWNhc2UgQ09ORklHX09SSUdJTl9TVERJTjoKKwkJZXJyb3JfbXNnID0geHN0cmZtdChfKCJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3RhbmRhcmQgaW5wdXQiKSwKKwkJCQkgICAgICBjZi0+bGluZW5yKTsKKwkJYnJlYWs7CisJY2FzZSBDT05GSUdfT1JJR0lOX1NVQk1PRFVMRV9CTE9COgorCQllcnJvcl9tc2cgPSB4c3RyZm10KF8oImJhZCBjb25maWcgbGluZSAlZCBpbiBzdWJtb2R1bGUtYmxvYiAlcyIpLAorCQkJCSAgICAgICBjZi0+bGluZW5yLCBjZi0+bmFtZSk7CisJCWJyZWFrOworCWNhc2UgQ09ORklHX09SSUdJTl9DTURMSU5FOgorCQllcnJvcl9tc2cgPSB4c3RyZm10KF8oImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiKSwKKwkJCQkgICAgICAgY2YtPmxpbmVuciwgY2YtPm5hbWUpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQllcnJvcl9tc2cgPSB4c3RyZm10KF8oImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyIpLAorCQkJCSAgICAgIGNmLT5saW5lbnIsIGNmLT5uYW1lKTsKKwl9CisKIAlpZiAoY2YtPmRpZV9vbl9lcnJvcikKLQkJZGllKF8oImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyAlcyIpLCBjZi0+bGluZW5yLCBjZi0+b3JpZ2luX3R5cGUsIGNmLT5uYW1lKTsKKwkJZGllKCIlcyIsIGVycm9yX21zZyk7CiAJZWxzZQotCQlyZXR1cm4gZXJyb3IoXygiYmFkIGNvbmZpZyBsaW5lICVkIGluICVzICVzIiksIGNmLT5saW5lbnIsIGNmLT5vcmlnaW5fdHlwZSwgY2YtPm5hbWUpOworCQllcnJvcl9yZXR1cm4gPSBlcnJvcigiJXMiLCBlcnJvcl9tc2cpOworCisJZnJlZShlcnJvcl9tc2cpOworCXJldHVybiBlcnJvcl9yZXR1cm47CiB9CiAKIHN0YXRpYyBpbnQgcGFyc2VfdW5pdF9mYWN0b3IoY29uc3QgY2hhciAqZW5kLCB1aW50bWF4X3QgKnZhbCkKQEAgLTU4MywxNiArNjUyLDM1IEBACiBOT1JFVFVSTgogc3RhdGljIHZvaWQgZGllX2JhZF9udW1iZXIoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUpCiB7Ci0JY29uc3QgY2hhciAqcmVhc29uID0gZXJybm8gPT0gRVJBTkdFID8KLQkJCSAgICAgIm91dCBvZiByYW5nZSIgOgotCQkJICAgICAiaW52YWxpZCB1bml0IjsKKwljb25zdCBjaGFyICogZXJyb3JfdHlwZSA9IChlcnJubyA9PSBFUkFOR0UpPyBfKCJvdXQgb2YgcmFuZ2UiKTpfKCJpbnZhbGlkIHVuaXQiKTsKKwogCWlmICghdmFsdWUpCiAJCXZhbHVlID0gIiI7CiAKLQlpZiAoY2YgJiYgY2YtPm9yaWdpbl90eXBlICYmIGNmLT5uYW1lKQotCQlkaWUoXygiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gJXMgJXM6ICVzIiksCi0JCSAgICB2YWx1ZSwgbmFtZSwgY2YtPm9yaWdpbl90eXBlLCBjZi0+bmFtZSwgcmVhc29uKTsKLQlkaWUoXygiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcyc6ICVzIiksIHZhbHVlLCBuYW1lLCByZWFzb24pOworCWlmICghKGNmICYmIGNmLT5uYW1lKSkKKwkJZGllKF8oImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIpLAorCQkgICAgdmFsdWUsIG5hbWUsIGVycm9yX3R5cGUpOworCisJc3dpdGNoIChjZi0+b3JpZ2luX3R5cGUpIHsKKwljYXNlIENPTkZJR19PUklHSU5fQkxPQjoKKwkJZGllKF8oImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGJsb2IgJXM6ICVzIiksCisJCSAgICB2YWx1ZSwgbmFtZSwgY2YtPm5hbWUsIGVycm9yX3R5cGUpOworCWNhc2UgQ09ORklHX09SSUdJTl9GSUxFOgorCQlkaWUoXygiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gZmlsZSAlczogJXMiKSwKKwkJICAgIHZhbHVlLCBuYW1lLCBjZi0+bmFtZSwgZXJyb3JfdHlwZSk7CisJY2FzZSBDT05GSUdfT1JJR0lOX1NURElOOgorCQlkaWUoXygiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3RhbmRhcmQgaW5wdXQ6ICVzIiksCisJCSAgICB2YWx1ZSwgbmFtZSwgZXJyb3JfdHlwZSk7CisJY2FzZSBDT05GSUdfT1JJR0lOX1NVQk1PRFVMRV9CTE9COgorCQlkaWUoXygiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6ICVzIiksCisJCSAgICB2YWx1ZSwgbmFtZSwgY2YtPm5hbWUsIGVycm9yX3R5cGUpOworCWNhc2UgQ09ORklHX09SSUdJTl9DTURMSU5FOgorCQlkaWUoXygiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gY29tbWFuZCBsaW5lICVzOiAlcyIpLAorCQkgICAgdmFsdWUsIG5hbWUsIGNmLT5uYW1lLCBlcnJvcl90eXBlKTsKKwlkZWZhdWx0OgorCQlkaWUoXygiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gJXM6ICVzIiksCisJCSAgICB2YWx1ZSwgbmFtZSwgY2YtPm5hbWUsIGVycm9yX3R5cGUpOworCX0KIH0KIAogaW50IGdpdF9jb25maWdfaW50KGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQpAQCAtNzUzLDYgKzg0MSw5IEBACiAJCXJldHVybiAwOwogCX0KIAorCWlmICghc3RyY21wKHZhciwgImNvcmUuZGlzYW1iaWd1YXRlIikpCisJCXJldHVybiBzZXRfZGlzYW1iaWd1YXRlX2hpbnRfY29uZmlnKHZhciwgdmFsdWUpOworCiAJaWYgKCFzdHJjbXAodmFyLCAiY29yZS5sb29zZWNvbXByZXNzaW9uIikpIHsKIAkJaW50IGxldmVsID0gZ2l0X2NvbmZpZ19pbnQodmFyLCB2YWx1ZSk7CiAJCWlmIChsZXZlbCA9PSAtMSkKQEAgLTgzOSw5ICs5MzAsNiBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQlpZiAoIXN0cmNtcCh2YXIsICJjb3JlLnBhZ2VyIikpCi0JCXJldHVybiBnaXRfY29uZmlnX3N0cmluZygmcGFnZXJfcHJvZ3JhbSwgdmFyLCB2YWx1ZSk7Ci0KIAlpZiAoIXN0cmNtcCh2YXIsICJjb3JlLmVkaXRvciIpKQogCQlyZXR1cm4gZ2l0X2NvbmZpZ19zdHJpbmcoJmVkaXRvcl9wcm9ncmFtLCB2YXIsIHZhbHVlKTsKIApAQCAtMTA2OSw3ICsxMTU3LDggQEAKIH0KIAogc3RhdGljIGludCBkb19jb25maWdfZnJvbV9maWxlKGNvbmZpZ19mbl90IGZuLAotCQljb25zdCBjaGFyICpvcmlnaW5fdHlwZSwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqcGF0aCwgRklMRSAqZiwKKwkJY29uc3QgZW51bSBjb25maWdfb3JpZ2luX3R5cGUgb3JpZ2luX3R5cGUsCisJCWNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnBhdGgsIEZJTEUgKmYsCiAJCXZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IGNvbmZpZ19zb3VyY2UgdG9wOwpAQCAtMTA4OCw3ICsxMTc3LDcgQEAKIAogc3RhdGljIGludCBnaXRfY29uZmlnX2Zyb21fc3RkaW4oY29uZmlnX2ZuX3QgZm4sIHZvaWQgKmRhdGEpCiB7Ci0JcmV0dXJuIGRvX2NvbmZpZ19mcm9tX2ZpbGUoZm4sICJzdGFuZGFyZCBpbnB1dCIsICIiLCBOVUxMLCBzdGRpbiwgZGF0YSk7CisJcmV0dXJuIGRvX2NvbmZpZ19mcm9tX2ZpbGUoZm4sIENPTkZJR19PUklHSU5fU1RESU4sICIiLCBOVUxMLCBzdGRpbiwgZGF0YSk7CiB9CiAKIGludCBnaXRfY29uZmlnX2Zyb21fZmlsZShjb25maWdfZm5fdCBmbiwgY29uc3QgY2hhciAqZmlsZW5hbWUsIHZvaWQgKmRhdGEpCkBAIC0xMDk5LDE0ICsxMTg4LDE0IEBACiAJZiA9IGZvcGVuKGZpbGVuYW1lLCAiciIpOwogCWlmIChmKSB7CiAJCWZsb2NrZmlsZShmKTsKLQkJcmV0ID0gZG9fY29uZmlnX2Zyb21fZmlsZShmbiwgImZpbGUiLCBmaWxlbmFtZSwgZmlsZW5hbWUsIGYsIGRhdGEpOworCQlyZXQgPSBkb19jb25maWdfZnJvbV9maWxlKGZuLCBDT05GSUdfT1JJR0lOX0ZJTEUsIGZpbGVuYW1lLCBmaWxlbmFtZSwgZiwgZGF0YSk7CiAJCWZ1bmxvY2tmaWxlKGYpOwogCQlmY2xvc2UoZik7CiAJfQogCXJldHVybiByZXQ7CiB9CiAKLWludCBnaXRfY29uZmlnX2Zyb21fbWVtKGNvbmZpZ19mbl90IGZuLCBjb25zdCBjaGFyICpvcmlnaW5fdHlwZSwKK2ludCBnaXRfY29uZmlnX2Zyb21fbWVtKGNvbmZpZ19mbl90IGZuLCBjb25zdCBlbnVtIGNvbmZpZ19vcmlnaW5fdHlwZSBvcmlnaW5fdHlwZSwKIAkJCWNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbiwgdm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgY29uZmlnX3NvdXJjZSB0b3A7CkBAIC0xMTQzLDcgKzEyMzIsNyBAQAogCQlyZXR1cm4gZXJyb3IoInJlZmVyZW5jZSAnJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgYmxvYiIsIG5hbWUpOwogCX0KIAotCXJldCA9IGdpdF9jb25maWdfZnJvbV9tZW0oZm4sICJibG9iIiwgbmFtZSwgYnVmLCBzaXplLCBkYXRhKTsKKwlyZXQgPSBnaXRfY29uZmlnX2Zyb21fbWVtKGZuLCBDT05GSUdfT1JJR0lOX0JMT0IsIG5hbWUsIGJ1Ziwgc2l6ZSwgZGF0YSk7CiAJZnJlZShidWYpOwogCiAJcmV0dXJuIHJldDsKQEAgLTExOTcsNDcgKzEyODYsMzYgQEAKIAogc3RhdGljIGludCBkb19naXRfY29uZmlnX3NlcXVlbmNlKGNvbmZpZ19mbl90IGZuLCB2b2lkICpkYXRhKQogewotCWludCByZXQgPSAwLCBmb3VuZCA9IDA7CisJaW50IHJldCA9IDA7CiAJY2hhciAqeGRnX2NvbmZpZyA9IHhkZ19jb25maWdfaG9tZSgiY29uZmlnIik7CiAJY2hhciAqdXNlcl9jb25maWcgPSBleHBhbmRfdXNlcl9wYXRoKCJ+Ly5naXRjb25maWciKTsKLQljaGFyICpyZXBvX2NvbmZpZyA9IGdpdF9wYXRoZHVwKCJjb25maWciKTsKKwljaGFyICpyZXBvX2NvbmZpZyA9IGhhdmVfZ2l0X2RpcigpID8gZ2l0X3BhdGhkdXAoImNvbmZpZyIpIDogTlVMTDsKIAotCWlmIChnaXRfY29uZmlnX3N5c3RlbSgpICYmICFhY2Nlc3Nfb3JfZGllKGdpdF9ldGNfZ2l0Y29uZmlnKCksIFJfT0ssIDApKSB7CisJY3VycmVudF9wYXJzaW5nX3Njb3BlID0gQ09ORklHX1NDT1BFX1NZU1RFTTsKKwlpZiAoZ2l0X2NvbmZpZ19zeXN0ZW0oKSAmJiAhYWNjZXNzX29yX2RpZShnaXRfZXRjX2dpdGNvbmZpZygpLCBSX09LLCAwKSkKIAkJcmV0ICs9IGdpdF9jb25maWdfZnJvbV9maWxlKGZuLCBnaXRfZXRjX2dpdGNvbmZpZygpLAogCQkJCQkgICAgZGF0YSk7Ci0JCWZvdW5kICs9IDE7Ci0JfQogCi0JaWYgKHhkZ19jb25maWcgJiYgIWFjY2Vzc19vcl9kaWUoeGRnX2NvbmZpZywgUl9PSywgQUNDRVNTX0VBQ0NFU19PSykpIHsKKwljdXJyZW50X3BhcnNpbmdfc2NvcGUgPSBDT05GSUdfU0NPUEVfR0xPQkFMOworCWlmICh4ZGdfY29uZmlnICYmICFhY2Nlc3Nfb3JfZGllKHhkZ19jb25maWcsIFJfT0ssIEFDQ0VTU19FQUNDRVNfT0spKQogCQlyZXQgKz0gZ2l0X2NvbmZpZ19mcm9tX2ZpbGUoZm4sIHhkZ19jb25maWcsIGRhdGEpOwotCQlmb3VuZCArPSAxOwotCX0KIAotCWlmICh1c2VyX2NvbmZpZyAmJiAhYWNjZXNzX29yX2RpZSh1c2VyX2NvbmZpZywgUl9PSywgQUNDRVNTX0VBQ0NFU19PSykpIHsKKwlpZiAodXNlcl9jb25maWcgJiYgIWFjY2Vzc19vcl9kaWUodXNlcl9jb25maWcsIFJfT0ssIEFDQ0VTU19FQUNDRVNfT0spKQogCQlyZXQgKz0gZ2l0X2NvbmZpZ19mcm9tX2ZpbGUoZm4sIHVzZXJfY29uZmlnLCBkYXRhKTsKLQkJZm91bmQgKz0gMTsKLQl9CiAKLQlpZiAocmVwb19jb25maWcgJiYgIWFjY2Vzc19vcl9kaWUocmVwb19jb25maWcsIFJfT0ssIDApKSB7CisJY3VycmVudF9wYXJzaW5nX3Njb3BlID0gQ09ORklHX1NDT1BFX1JFUE87CisJaWYgKHJlcG9fY29uZmlnICYmICFhY2Nlc3Nfb3JfZGllKHJlcG9fY29uZmlnLCBSX09LLCAwKSkKIAkJcmV0ICs9IGdpdF9jb25maWdfZnJvbV9maWxlKGZuLCByZXBvX2NvbmZpZywgZGF0YSk7Ci0JCWZvdW5kICs9IDE7Ci0JfQogCi0Jc3dpdGNoIChnaXRfY29uZmlnX2Zyb21fcGFyYW1ldGVycyhmbiwgZGF0YSkpIHsKLQljYXNlIC0xOiAvKiBlcnJvciAqLworCWN1cnJlbnRfcGFyc2luZ19zY29wZSA9IENPTkZJR19TQ09QRV9DTURMSU5FOworCWlmIChnaXRfY29uZmlnX2Zyb21fcGFyYW1ldGVycyhmbiwgZGF0YSkgPCAwKQogCQlkaWUoXygidW5hYmxlIHRvIHBhcnNlIGNvbW1hbmQtbGluZSBjb25maWciKSk7Ci0JCWJyZWFrOwotCWNhc2UgMDogLyogZm91bmQgbm90aGluZyAqLwotCQlicmVhazsKLQlkZWZhdWx0OiAvKiBmb3VuZCBhdCBsZWFzdCBvbmUgaXRlbSAqLwotCQlmb3VuZCsrOwotCQlicmVhazsKLQl9CiAKKwljdXJyZW50X3BhcnNpbmdfc2NvcGUgPSBDT05GSUdfU0NPUEVfVU5LTk9XTjsKIAlmcmVlKHhkZ19jb25maWcpOwogCWZyZWUodXNlcl9jb25maWcpOwogCWZyZWUocmVwb19jb25maWcpOwotCXJldHVybiByZXQgPT0gMCA/IGZvdW5kIDogcmV0OworCXJldHVybiByZXQ7CiB9CiAKIGludCBnaXRfY29uZmlnX3dpdGhfb3B0aW9ucyhjb25maWdfZm5fdCBmbiwgdm9pZCAqZGF0YSwKQEAgLTEyNzIsNyArMTM1MCw3IEBACiAJaWYgKGdpdF9jb25maWdfd2l0aF9vcHRpb25zKGZuLCBkYXRhLCBOVUxMLCAxKSA8IDApCiAJCS8qCiAJCSAqIGdpdF9jb25maWdfd2l0aF9vcHRpb25zKCkgbm9ybWFsbHkgcmV0dXJucyBvbmx5Ci0JCSAqIHBvc2l0aXZlIHZhbHVlcywgYXMgbW9zdCBlcnJvcnMgYXJlIGZhdGFsLCBhbmQKKwkJICogemVybywgYXMgbW9zdCBlcnJvcnMgYXJlIGZhdGFsLCBhbmQKIAkJICogbm9uLWZhdGFsIHBvdGVudGlhbCBlcnJvcnMgYXJlIGd1YXJkZWQgYnkgImlmIgogCQkgKiBzdGF0ZW1lbnRzIHRoYXQgYXJlIGVudGVyZWQgb25seSB3aGVuIG5vIGVycm9yIGlzCiAJCSAqIHBvc3NpYmxlLgpAQCAtMTI4MSw3ICsxMzU5LDcgQEAKIAkJICogc29tZXRoaW5nIHdlbnQgcmVhbGx5IHdyb25nIGFuZCB3ZSBzaG91bGQgc3RvcAogCQkgKiBpbW1lZGlhdGVseS4KIAkJICovCi0JCWRpZShfKCJ1bmtub3duIGVycm9yIG9jY3VyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIpKTsKKwkJZGllKF8oInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIpKTsKIH0KIAogc3RhdGljIHZvaWQgY29uZmlnc2V0X2l0ZXIoc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25maWdfZm5fdCBmbiwgdm9pZCAqZGF0YSkKQEAgLTEyOTAsMTYgKzEzNjgsMjAgQEAKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnZhbHVlczsKIAlzdHJ1Y3QgY29uZmlnX3NldF9lbGVtZW50ICplbnRyeTsKIAlzdHJ1Y3QgY29uZmlnc2V0X2xpc3QgKmxpc3QgPSAmY3MtPmxpc3Q7Ci0Jc3RydWN0IGtleV92YWx1ZV9pbmZvICprdl9pbmZvOwogCiAJZm9yIChpID0gMDsgaSA8IGxpc3QtPm5yOyBpKyspIHsKIAkJZW50cnkgPSBsaXN0LT5pdGVtc1tpXS5lOwogCQl2YWx1ZV9pbmRleCA9IGxpc3QtPml0ZW1zW2ldLnZhbHVlX2luZGV4OwogCQl2YWx1ZXMgPSAmZW50cnktPnZhbHVlX2xpc3Q7Ci0JCWlmIChmbihlbnRyeS0+a2V5LCB2YWx1ZXMtPml0ZW1zW3ZhbHVlX2luZGV4XS5zdHJpbmcsIGRhdGEpIDwgMCkgewotCQkJa3ZfaW5mbyA9IHZhbHVlcy0+aXRlbXNbdmFsdWVfaW5kZXhdLnV0aWw7Ci0JCQlnaXRfZGllX2NvbmZpZ19saW5lbnIoZW50cnktPmtleSwga3ZfaW5mby0+ZmlsZW5hbWUsIGt2X2luZm8tPmxpbmVucik7Ci0JCX0KKworCQljdXJyZW50X2NvbmZpZ19rdmkgPSB2YWx1ZXMtPml0ZW1zW3ZhbHVlX2luZGV4XS51dGlsOworCisJCWlmIChmbihlbnRyeS0+a2V5LCB2YWx1ZXMtPml0ZW1zW3ZhbHVlX2luZGV4XS5zdHJpbmcsIGRhdGEpIDwgMCkKKwkJCWdpdF9kaWVfY29uZmlnX2xpbmVucihlbnRyeS0+a2V5LAorCQkJCQkgICAgICBjdXJyZW50X2NvbmZpZ19rdmktPmZpbGVuYW1lLAorCQkJCQkgICAgICBjdXJyZW50X2NvbmZpZ19rdmktPmxpbmVucik7CisKKwkJY3VycmVudF9jb25maWdfa3ZpID0gTlVMTDsKIAl9CiB9CiAKQEAgLTEzNTYsMTQgKzE0MzgsMTkgQEAKIAlsX2l0ZW0tPmUgPSBlOwogCWxfaXRlbS0+dmFsdWVfaW5kZXggPSBlLT52YWx1ZV9saXN0Lm5yIC0gMTsKIAotCWlmIChjZikgeworCWlmICghY2YpCisJCWRpZSgiQlVHOiBjb25maWdzZXRfYWRkX3ZhbHVlIGhhcyBubyBzb3VyY2UiKTsKKwlpZiAoY2YtPm5hbWUpIHsKIAkJa3ZfaW5mby0+ZmlsZW5hbWUgPSBzdHJpbnRlcm4oY2YtPm5hbWUpOwogCQlrdl9pbmZvLT5saW5lbnIgPSBjZi0+bGluZW5yOworCQlrdl9pbmZvLT5vcmlnaW5fdHlwZSA9IGNmLT5vcmlnaW5fdHlwZTsKIAl9IGVsc2UgewogCQkvKiBmb3IgdmFsdWVzIHJlYWQgZnJvbSBgZ2l0X2NvbmZpZ19mcm9tX3BhcmFtZXRlcnMoKWAgKi8KIAkJa3ZfaW5mby0+ZmlsZW5hbWUgPSBOVUxMOwogCQlrdl9pbmZvLT5saW5lbnIgPSAtMTsKKwkJa3ZfaW5mby0+b3JpZ2luX3R5cGUgPSBDT05GSUdfT1JJR0lOX0NNRExJTkU7CiAJfQorCWt2X2luZm8tPnNjb3BlID0gY3VycmVudF9wYXJzaW5nX3Njb3BlOwogCXNpLT51dGlsID0ga3ZfaW5mbzsKIAogCXJldHVybiAwOwpAQCAtMjQ0MiwxMCArMjUyOSw0NiBAQAogCiBjb25zdCBjaGFyICpjdXJyZW50X2NvbmZpZ19vcmlnaW5fdHlwZSh2b2lkKQogewotCXJldHVybiBjZiAmJiBjZi0+b3JpZ2luX3R5cGUgPyBjZi0+b3JpZ2luX3R5cGUgOiAiY29tbWFuZCBsaW5lIjsKKwlpbnQgdHlwZTsKKwlpZiAoY3VycmVudF9jb25maWdfa3ZpKQorCQl0eXBlID0gY3VycmVudF9jb25maWdfa3ZpLT5vcmlnaW5fdHlwZTsKKwllbHNlIGlmKGNmKQorCQl0eXBlID0gY2YtPm9yaWdpbl90eXBlOworCWVsc2UKKwkJZGllKCJCVUc6IGN1cnJlbnRfY29uZmlnX29yaWdpbl90eXBlIGNhbGxlZCBvdXRzaWRlIGNvbmZpZyBjYWxsYmFjayIpOworCisJc3dpdGNoICh0eXBlKSB7CisJY2FzZSBDT05GSUdfT1JJR0lOX0JMT0I6CisJCXJldHVybiAiYmxvYiI7CisJY2FzZSBDT05GSUdfT1JJR0lOX0ZJTEU6CisJCXJldHVybiAiZmlsZSI7CisJY2FzZSBDT05GSUdfT1JJR0lOX1NURElOOgorCQlyZXR1cm4gInN0YW5kYXJkIGlucHV0IjsKKwljYXNlIENPTkZJR19PUklHSU5fU1VCTU9EVUxFX0JMT0I6CisJCXJldHVybiAic3VibW9kdWxlLWJsb2IiOworCWNhc2UgQ09ORklHX09SSUdJTl9DTURMSU5FOgorCQlyZXR1cm4gImNvbW1hbmQgbGluZSI7CisJZGVmYXVsdDoKKwkJZGllKCJCVUc6IHVua25vd24gY29uZmlnIG9yaWdpbiB0eXBlIik7CisJfQogfQogCiBjb25zdCBjaGFyICpjdXJyZW50X2NvbmZpZ19uYW1lKHZvaWQpCiB7Ci0JcmV0dXJuIGNmICYmIGNmLT5uYW1lID8gY2YtPm5hbWUgOiAiIjsKKwljb25zdCBjaGFyICpuYW1lOworCWlmIChjdXJyZW50X2NvbmZpZ19rdmkpCisJCW5hbWUgPSBjdXJyZW50X2NvbmZpZ19rdmktPmZpbGVuYW1lOworCWVsc2UgaWYgKGNmKQorCQluYW1lID0gY2YtPm5hbWU7CisJZWxzZQorCQlkaWUoIkJVRzogY3VycmVudF9jb25maWdfbmFtZSBjYWxsZWQgb3V0c2lkZSBjb25maWcgY2FsbGJhY2siKTsKKwlyZXR1cm4gbmFtZSA/IG5hbWUgOiAiIjsKK30KKworZW51bSBjb25maWdfc2NvcGUgY3VycmVudF9jb25maWdfc2NvcGUodm9pZCkKK3sKKwlpZiAoY3VycmVudF9jb25maWdfa3ZpKQorCQlyZXR1cm4gY3VycmVudF9jb25maWdfa3ZpLT5zY29wZTsKKwllbHNlCisJCXJldHVybiBjdXJyZW50X3BhcnNpbmdfc2NvcGU7CiB9CmRpZmYgLS1naXQgYS9jb25maWcubWFrLnVuYW1lIGIvY29uZmlnLm1hay51bmFtZQppbmRleCBhODhmMTM5Li5iMjMyOTA4IDEwMDY0NAotLS0gYS9jb25maWcubWFrLnVuYW1lCisrKyBiL2NvbmZpZy5tYWsudW5hbWUKQEAgLTM2LDYgKzM2LDggQEAKIAlIQVZFX0RFVl9UVFkgPSBZZXNQbGVhc2UKIAlIQVZFX0NMT0NLX0dFVFRJTUUgPSBZZXNQbGVhc2UKIAlIQVZFX0NMT0NLX01PTk9UT05JQyA9IFllc1BsZWFzZQorCSMgLWxydCBpcyBuZWVkZWQgZm9yIGNsb2NrX2dldHRpbWUgb24gZ2xpYmMgPD0gMi4xNgorCU5FRURTX0xJQlJUID0gWWVzUGxlYXNlCiAJSEFWRV9HRVRERUxJTSA9IFllc1BsZWFzZQogCVNBTkVfVEVYVF9HUkVQPS1hCiBlbmRpZgpAQCAtMjAzLDkgKzIwNSwxMSBAQAogCQlOT19TVFJUT1VNQVggPSBZZXNQbGVhc2UKIAllbmRpZgogCVBZVEhPTl9QQVRIID0gL3Vzci9sb2NhbC9iaW4vcHl0aG9uCisJUEVSTF9QQVRIID0gL3Vzci9sb2NhbC9iaW4vcGVybAogCUhBVkVfUEFUSFNfSCA9IFllc1BsZWFzZQogCUdNVElNRV9VTlJFTElBQkxFX0VSUk9SUyA9IFVuZm9ydHVuYXRlbHlZZXMKIAlIQVZFX0JTRF9TWVNDVEwgPSBZZXNQbGVhc2UKKwlQQUdFUl9FTlYgPSBMRVNTPUZSWCBMVj0tYyBNT1JFPUZSWAogZW5kaWYKIGlmZXEgKCQodW5hbWVfUyksT3BlbkJTRCkKIAlOT19TVFJDQVNFU1RSID0gWWVzUGxlYXNlCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggYzI3OTAyNS4uMGIxNWYwNCAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtNTI4LDE2ICs1MjgsNiBAQAogW05PX0NVUkw9XSwKIFtOT19DVVJMPVllc1BsZWFzZV0pCiAKLWlmIHRlc3QgLXogIiR7Tk9fQ1VSTH0iICYmIHRlc3QgLXogIiR7Tk9fT1BFTlNTTH0iOyB0aGVuCi0KLUFDX0NIRUNLX0xJQihbY3VybF0sIFtDdXJsX3NzbF9pbml0XSwKLVtORUVEU19TU0xfV0lUSF9DVVJMPVllc1BsZWFzZV0sCi1bTkVFRFNfU1NMX1dJVEhfQ1VSTD1dKQotCi1HSVRfQ09ORl9TVUJTVChbTkVFRFNfU1NMX1dJVEhfQ1VSTF0pCi0KLWZpCi0KIEdJVF9VTlNUQVNIX0ZMQUdTKCRDVVJMRElSKQogCiBHSVRfQ09ORl9TVUJTVChbTk9fQ1VSTF0pCkBAIC01NTAsNiArNTQwLDE3IEBACiAKIGlmIHRlc3QgJENVUkxfQ09ORklHICE9IG5vOyB0aGVuCiAgICAgR0lUX0NPTkZfU1VCU1QoW0NVUkxfQ09ORklHXSkKKyAgICBpZiB0ZXN0IC16ICIke05PX09QRU5TU0x9IjsgdGhlbgorICAgICAgQUNfTVNHX0NIRUNLSU5HKFtpZiBDdXJsIHN1cHBvcnRzIFNTTF0pCisgICAgICBpZiB0ZXN0ICQoY3VybC1jb25maWcgLS1mZWF0dXJlc3xncmVwIFNTTCkgPSBTU0w7IHRoZW4KKyAgICAgICAgIE5FRURTX1NTTF9XSVRIX0NVUkw9WWVzUGxlYXNlCisgICAgICAgICBBQ19NU0dfUkVTVUxUKFt5ZXNdKQorICAgICAgZWxzZQorICAgICAgICAgTkVFRFNfU1NMX1dJVEhfQ1VSTD0KKyAgICAgICAgIEFDX01TR19SRVNVTFQoW25vXSkKKyAgICAgIGZpCisgICAgICBHSVRfQ09ORl9TVUJTVChbTkVFRFNfU1NMX1dJVEhfQ1VSTF0pCisgICAgZmkKIGZpCiAKIGZpCkBAIC04MzUsOSArODM2LDEwIEBACiBdKQogR0lUX0NPTkZfU1VCU1QoW05PX0lQVjZdKQogIwotIyBEZWZpbmUgTk9fUkVHRVggaWYgeW91IGhhdmUgbm8gb3IgaW5mZXJpb3IgcmVnZXggc3VwcG9ydCBpbiB5b3VyIEMgbGlicmFyeS4KLUFDX0NBQ0hFX0NIRUNLKFt3aGV0aGVyIHRoZSBwbGF0Zm9ybSByZWdleCBjYW4gaGFuZGxlIG51bGwgYnl0ZXNdLAotIFthY19jdl9jX2V4Y2VsbGVudF9yZWdleF0sIFsKKyMgRGVmaW5lIE5PX1JFR0VYIGlmIHlvdXIgQyBsaWJyYXJ5IGxhY2tzIHJlZ2V4IHN1cHBvcnQgd2l0aCBSRUdfU1RBUlRFTkQKKyMgZmVhdHVyZS4KK0FDX0NBQ0hFX0NIRUNLKFt3aGV0aGVyIHRoZSBwbGF0Zm9ybSByZWdleCBzdXBwb3J0cyBSRUdfU1RBUlRFTkRdLAorIFthY19jdl9jX3JlZ2V4X3dpdGhfcmVnX3N0YXJ0ZW5kXSwgWwogQUNfRUdSRVBfQ1BQKHlpcHBlZXllc3dlaGF2ZWl0LAogCUFDX0xBTkdfUFJPR1JBTShbQUNfSU5DTFVERVNfREVGQVVMVAogI2luY2x1ZGUgPHJlZ2V4Lmg+CkBAIC04NDYsMTAgKzg0OCwxMCBAQAogeWlwcGVleWVzd2VoYXZlaXQKICNlbmRpZgogXSksCi0JW2FjX2N2X2NfZXhjZWxsZW50X3JlZ2V4PXllc10sCi0JW2FjX2N2X2NfZXhjZWxsZW50X3JlZ2V4PW5vXSkKKwlbYWNfY3ZfY19yZWdleF93aXRoX3JlZ19zdGFydGVuZD15ZXNdLAorCVthY19jdl9jX3JlZ2V4X3dpdGhfcmVnX3N0YXJ0ZW5kPW5vXSkKIF0pCi1pZiB0ZXN0ICRhY19jdl9jX2V4Y2VsbGVudF9yZWdleCA9IHllczsgdGhlbgoraWYgdGVzdCAkYWNfY3ZfY19yZWdleF93aXRoX3JlZ19zdGFydGVuZCA9IHllczsgdGhlbgogCU5PX1JFR0VYPQogZWxzZQogCU5PX1JFR0VYPVllc1BsZWFzZQpAQCAtMTEwOCwxNCArMTExMCwxOSBAQAogQUNfREVGVU4oW1BUSFJFQURURVNUX1NSQ10sIFsKIEFDX0xBTkdfUFJPR1JBTShbWwogI2luY2x1ZGUgPHB0aHJlYWQuaD4KK3N0YXRpYyB2b2lkICpub29wKHZvaWQgKmlnbm9yZSkgeyByZXR1cm4gaWdub3JlOyB9CiBdXSwgW1sKIAlwdGhyZWFkX211dGV4X3QgdGVzdF9tdXRleDsKIAlwdGhyZWFkX2tleV90IHRlc3Rfa2V5OworCXB0aHJlYWRfdCB0aDsKIAlpbnQgcmV0Y29kZSA9IDA7CisJdm9pZCAqcmV0ID0gKHZvaWQgKikwOwogCXJldGNvZGUgfD0gcHRocmVhZF9rZXlfY3JlYXRlKCZ0ZXN0X2tleSwgKHZvaWQgKikwKTsKIAlyZXRjb2RlIHw9IHB0aHJlYWRfbXV0ZXhfaW5pdCgmdGVzdF9tdXRleCwodm9pZCAqKTApOwogCXJldGNvZGUgfD0gcHRocmVhZF9tdXRleF9sb2NrKCZ0ZXN0X211dGV4KTsKIAlyZXRjb2RlIHw9IHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZ0ZXN0X211dGV4KTsKKwlyZXRjb2RlIHw9IHB0aHJlYWRfY3JlYXRlKCZ0aCwgcmV0LCBub29wLCByZXQpOworCXJldGNvZGUgfD0gcHRocmVhZF9qb2luKHRoLCAmcmV0KTsKIAlyZXR1cm4gcmV0Y29kZTsKIF1dKV0pCiAKZGlmZiAtLWdpdCBhL2Nvbm5lY3QuYyBiL2Nvbm5lY3QuYwppbmRleCBjNTNmM2YxLi44Y2I5M2IwIDEwMDY0NAotLS0gYS9jb25uZWN0LmMKKysrIGIvY29ubmVjdC5jCkBAIC00MywxNCArNDMsMTQgQEAKIAlyZXR1cm4gY2hlY2tfcmVmKHJlZi0+bmFtZSwgZmxhZ3MpOwogfQogCi1zdGF0aWMgdm9pZCBkaWVfaW5pdGlhbF9jb250YWN0KGludCBnb3RfYXRfbGVhc3Rfb25lX2hlYWQpCitzdGF0aWMgdm9pZCBkaWVfaW5pdGlhbF9jb250YWN0KGludCB1bmV4cGVjdGVkKQogewotCWlmIChnb3RfYXRfbGVhc3Rfb25lX2hlYWQpCi0JCWRpZSgiVGhlIHJlbW90ZSBlbmQgaHVuZyB1cCB1cG9uIGluaXRpYWwgY29udGFjdCIpOworCWlmICh1bmV4cGVjdGVkKQorCQlkaWUoXygiVGhlIHJlbW90ZSBlbmQgaHVuZyB1cCB1cG9uIGluaXRpYWwgY29udGFjdCIpKTsKIAllbHNlCi0JCWRpZSgiQ291bGQgbm90IHJlYWQgZnJvbSByZW1vdGUgcmVwb3NpdG9yeS5cblxuIgotCQkgICAgIlBsZWFzZSBtYWtlIHN1cmUgeW91IGhhdmUgdGhlIGNvcnJlY3QgYWNjZXNzIHJpZ2h0c1xuIgotCQkgICAgImFuZCB0aGUgcmVwb3NpdG9yeSBleGlzdHMuIik7CisJCWRpZShfKCJDb3VsZCBub3QgcmVhZCBmcm9tIHJlbW90ZSByZXBvc2l0b3J5LlxuXG4iCisJCSAgICAgICJQbGVhc2UgbWFrZSBzdXJlIHlvdSBoYXZlIHRoZSBjb3JyZWN0IGFjY2VzcyByaWdodHNcbiIKKwkJICAgICAgImFuZCB0aGUgcmVwb3NpdG9yeSBleGlzdHMuIikpOwogfQogCiBzdGF0aWMgdm9pZCBwYXJzZV9vbmVfc3ltcmVmX2luZm8oc3RydWN0IHN0cmluZ19saXN0ICpzeW1yZWYsIGNvbnN0IGNoYXIgKnZhbCwgaW50IGxlbikKQEAgLTExNSwxMCArMTE1LDE4IEBACiAJCQkgICAgICBzdHJ1Y3Qgc2hhMV9hcnJheSAqc2hhbGxvd19wb2ludHMpCiB7CiAJc3RydWN0IHJlZiAqKm9yaWdfbGlzdCA9IGxpc3Q7Ci0JaW50IGdvdF9hdF9sZWFzdF9vbmVfaGVhZCA9IDA7CisKKwkvKgorCSAqIEEgaGFuZy11cCBhZnRlciBzZWVpbmcgc29tZSByZXNwb25zZSBmcm9tIHRoZSBvdGhlciBlbmQKKwkgKiBtZWFucyB0aGF0IGl0IGlzIHVuZXhwZWN0ZWQsIGFzIHdlIGtub3cgdGhlIG90aGVyIGVuZCBpcworCSAqIHdpbGxpbmcgdG8gdGFsayB0byB1cy4gIEEgaGFuZy11cCBiZWZvcmUgc2VlaW5nIGFueQorCSAqIHJlc3BvbnNlIGRvZXMgbm90IG5lY2Vzc2FyaWx5IG1lYW4gYW4gQUNMIHByb2JsZW0sIHRob3VnaC4KKwkgKi8KKwlpbnQgc2F3X3Jlc3BvbnNlOworCWludCBnb3RfZHVtbXlfcmVmX3dpdGhfY2FwYWJpbGl0aWVzX2RlY2xhcmF0aW9uID0gMDsKIAogCSpsaXN0ID0gTlVMTDsKLQlmb3IgKDs7KSB7CisJZm9yIChzYXdfcmVzcG9uc2UgPSAwOyA7IHNhd19yZXNwb25zZSA9IDEpIHsKIAkJc3RydWN0IHJlZiAqcmVmOwogCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9sZF9vaWQ7CiAJCWNoYXIgKm5hbWU7CkBAIC0xMzEsNyArMTM5LDcgQEAKIAkJCQkgIFBBQ0tFVF9SRUFEX0dFTlRMRV9PTl9FT0YgfAogCQkJCSAgUEFDS0VUX1JFQURfQ0hPTVBfTkVXTElORSk7CiAJCWlmIChsZW4gPCAwKQotCQkJZGllX2luaXRpYWxfY29udGFjdChnb3RfYXRfbGVhc3Rfb25lX2hlYWQpOworCQkJZGllX2luaXRpYWxfY29udGFjdChzYXdfcmVzcG9uc2UpOwogCiAJCWlmICghbGVuKQogCQkJYnJlYWs7CkBAIC0xNjUsMTMgKzE3MywyNSBAQAogCQkJY29udGludWU7CiAJCX0KIAorCQlpZiAoIXN0cmNtcChuYW1lLCAiY2FwYWJpbGl0aWVzXnt9IikpIHsKKwkJCWlmIChzYXdfcmVzcG9uc2UpCisJCQkJZGllKCJwcm90b2NvbCBlcnJvcjogdW5leHBlY3RlZCBjYXBhYmlsaXRpZXNee30iKTsKKwkJCWlmIChnb3RfZHVtbXlfcmVmX3dpdGhfY2FwYWJpbGl0aWVzX2RlY2xhcmF0aW9uKQorCQkJCWRpZSgicHJvdG9jb2wgZXJyb3I6IG11bHRpcGxlIGNhcGFiaWxpdGllc157fSIpOworCQkJZ290X2R1bW15X3JlZl93aXRoX2NhcGFiaWxpdGllc19kZWNsYXJhdGlvbiA9IDE7CisJCQljb250aW51ZTsKKwkJfQorCiAJCWlmICghY2hlY2tfcmVmKG5hbWUsIGZsYWdzKSkKIAkJCWNvbnRpbnVlOworCisJCWlmIChnb3RfZHVtbXlfcmVmX3dpdGhfY2FwYWJpbGl0aWVzX2RlY2xhcmF0aW9uKQorCQkJZGllKCJwcm90b2NvbCBlcnJvcjogdW5leHBlY3RlZCByZWYgYWZ0ZXIgY2FwYWJpbGl0aWVzXnt9Iik7CisKIAkJcmVmID0gYWxsb2NfcmVmKGJ1ZmZlciArIEdJVF9TSEExX0hFWFNaICsgMSk7CiAJCW9pZGNweSgmcmVmLT5vbGRfb2lkLCAmb2xkX29pZCk7CiAJCSpsaXN0ID0gcmVmOwogCQlsaXN0ID0gJnJlZi0+bmV4dDsKLQkJZ290X2F0X2xlYXN0X29uZV9oZWFkID0gMTsKIAl9CiAKIAlhbm5vdGF0ZV9yZWZzX3dpdGhfc3ltcmVmX2luZm8oKm9yaWdfbGlzdCk7CkBAIC02NTgsNiArNjc4LDE5IEBACiAKIHN0YXRpYyBzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBub19mb3JrID0gQ0hJTERfUFJPQ0VTU19JTklUOwogCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3NzaF9jb21tYW5kKHZvaWQpCit7CisJY29uc3QgY2hhciAqc3NoOworCisJaWYgKChzc2ggPSBnZXRlbnYoIkdJVF9TU0hfQ09NTUFORCIpKSkKKwkJcmV0dXJuIHNzaDsKKworCWlmICghZ2l0X2NvbmZpZ19nZXRfc3RyaW5nX2NvbnN0KCJjb3JlLnNzaGNvbW1hbmQiLCAmc3NoKSkKKwkJcmV0dXJuIHNzaDsKKworCXJldHVybiBOVUxMOworfQorCiAvKgogICogVGhpcyByZXR1cm5zIGEgZHVtbXkgY2hpbGRfcHJvY2VzcyBpZiB0aGUgdHJhbnNwb3J0IHByb3RvY29sIGRvZXMgbm90CiAgKiBuZWVkIGZvcmsoMiksIG9yIGEgc3RydWN0IGNoaWxkX3Byb2Nlc3Mgb2JqZWN0IGlmIGl0IGRvZXMuICBPbmNlIGRvbmUsCkBAIC03MTcsNyArNzUwLDcgQEAKIAkJICogTm90ZTogRG8gbm90IGFkZCBhbnkgb3RoZXIgaGVhZGVycyBoZXJlISAgRG9pbmcgc28KIAkJICogd2lsbCBjYXVzZSBvbGRlciBnaXQtZGFlbW9uIHNlcnZlcnMgdG8gY3Jhc2guCiAJCSAqLwotCQlwYWNrZXRfd3JpdGUoZmRbMV0sCisJCXBhY2tldF93cml0ZV9mbXQoZmRbMV0sCiAJCQkgICAgICIlcyAlcyVjaG9zdD0lcyVjIiwKIAkJCSAgICAgcHJvZywgcGF0aCwgMCwKIAkJCSAgICAgdGFyZ2V0X2hvc3QsIDApOwpAQCAtNzU4LDcgKzc5MSw3IEBACiAJCQkJcmV0dXJuIE5VTEw7CiAJCQl9CiAKLQkJCXNzaCA9IGdldGVudigiR0lUX1NTSF9DT01NQU5EIik7CisJCQlzc2ggPSBnZXRfc3NoX2NvbW1hbmQoKTsKIAkJCWlmICghc3NoKSB7CiAJCQkJY29uc3QgY2hhciAqYmFzZTsKIAkJCQljaGFyICpzc2hfZHVwOwpkaWZmIC0tZ2l0IGEvY29ubmVjdGVkLmMgYi9jb25uZWN0ZWQuYwppbmRleCBiZjFiMTJlLi4xMzZjMmFjIDEwMDY0NAotLS0gYS9jb25uZWN0ZWQuYworKysgYi9jb25uZWN0ZWQuYwpAQCAtNCwxMCArNCw2IEBACiAjaW5jbHVkZSAiY29ubmVjdGVkLmgiCiAjaW5jbHVkZSAidHJhbnNwb3J0LmgiCiAKLWludCBjaGVja19ldmVyeXRoaW5nX2Nvbm5lY3RlZChzaGExX2l0ZXJhdGVfZm4gZm4sIGludCBxdWlldCwgdm9pZCAqY2JfZGF0YSkKLXsKLQlyZXR1cm4gY2hlY2tfZXZlcnl0aGluZ19jb25uZWN0ZWRfd2l0aF90cmFuc3BvcnQoZm4sIHF1aWV0LCBjYl9kYXRhLCBOVUxMKTsKLX0KIC8qCiAgKiBJZiB3ZSBmZWVkIGFsbCB0aGUgY29tbWl0cyB3ZSB3YW50IHRvIHZlcmlmeSB0byB0aGlzIGNvbW1hbmQKICAqCkBAIC0xOSwyMiArMTUsMjcgQEAKICAqCiAgKiBSZXR1cm5zIDAgaWYgZXZlcnl0aGluZyBpcyBjb25uZWN0ZWQsIG5vbi16ZXJvIG90aGVyd2lzZS4KICAqLwotc3RhdGljIGludCBjaGVja19ldmVyeXRoaW5nX2Nvbm5lY3RlZF9yZWFsKHNoYTFfaXRlcmF0ZV9mbiBmbiwKLQkJCQkJICAgaW50IHF1aWV0LAotCQkJCQkgICB2b2lkICpjYl9kYXRhLAotCQkJCQkgICBzdHJ1Y3QgdHJhbnNwb3J0ICp0cmFuc3BvcnQsCi0JCQkJCSAgIGNvbnN0IGNoYXIgKnNoYWxsb3dfZmlsZSkKK2ludCBjaGVja19jb25uZWN0ZWQoc2hhMV9pdGVyYXRlX2ZuIGZuLCB2b2lkICpjYl9kYXRhLAorCQkgICAgc3RydWN0IGNoZWNrX2Nvbm5lY3RlZF9vcHRpb25zICpvcHQpCiB7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgcmV2X2xpc3QgPSBDSElMRF9QUk9DRVNTX0lOSVQ7Ci0JY29uc3QgY2hhciAqYXJndls5XTsKKwlzdHJ1Y3QgY2hlY2tfY29ubmVjdGVkX29wdGlvbnMgZGVmYXVsdHMgPSBDSEVDS19DT05ORUNURURfSU5JVDsKIAljaGFyIGNvbW1pdFs0MV07CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQlpbnQgZXJyID0gMCwgYWMgPSAwOworCWludCBlcnIgPSAwOwogCXN0cnVjdCBwYWNrZWRfZ2l0ICpuZXdfcGFjayA9IE5VTEw7CisJc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0OwogCXNpemVfdCBiYXNlX2xlbjsKIAotCWlmIChmbihjYl9kYXRhLCBzaGExKSkKKwlpZiAoIW9wdCkKKwkJb3B0ID0gJmRlZmF1bHRzOworCXRyYW5zcG9ydCA9IG9wdC0+dHJhbnNwb3J0OworCisJaWYgKGZuKGNiX2RhdGEsIHNoYTEpKSB7CisJCWlmIChvcHQtPmVycl9mZCkKKwkJCWNsb3NlKG9wdC0+ZXJyX2ZkKTsKIAkJcmV0dXJuIGVycjsKKwl9CiAKIAlpZiAodHJhbnNwb3J0ICYmIHRyYW5zcG9ydC0+c21hcnRfb3B0aW9ucyAmJgogCSAgICB0cmFuc3BvcnQtPnNtYXJ0X29wdGlvbnMtPnNlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQgJiYKQEAgLTQ3LDI0ICs0OCwyOSBAQAogCQlzdHJidWZfcmVsZWFzZSgmaWR4X2ZpbGUpOwogCX0KIAotCWlmIChzaGFsbG93X2ZpbGUpIHsKLQkJYXJndlthYysrXSA9ICItLXNoYWxsb3ctZmlsZSI7Ci0JCWFyZ3ZbYWMrK10gPSBzaGFsbG93X2ZpbGU7CisJaWYgKG9wdC0+c2hhbGxvd19maWxlKSB7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmcmV2X2xpc3QuYXJncywgIi0tc2hhbGxvdy1maWxlIik7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmcmV2X2xpc3QuYXJncywgb3B0LT5zaGFsbG93X2ZpbGUpOwogCX0KLQlhcmd2W2FjKytdID0gInJldi1saXN0IjsKLQlhcmd2W2FjKytdID0gIi0tb2JqZWN0cyI7Ci0JYXJndlthYysrXSA9ICItLXN0ZGluIjsKLQlhcmd2W2FjKytdID0gIi0tbm90IjsKLQlhcmd2W2FjKytdID0gIi0tYWxsIjsKLQlpZiAocXVpZXQpCi0JCWFyZ3ZbYWMrK10gPSAiLS1xdWlldCI7Ci0JYXJndlthY10gPSBOVUxMOworCWFyZ3ZfYXJyYXlfcHVzaCgmcmV2X2xpc3QuYXJncywicmV2LWxpc3QiKTsKKwlhcmd2X2FycmF5X3B1c2goJnJldl9saXN0LmFyZ3MsICItLW9iamVjdHMiKTsKKwlhcmd2X2FycmF5X3B1c2goJnJldl9saXN0LmFyZ3MsICItLXN0ZGluIik7CisJYXJndl9hcnJheV9wdXNoKCZyZXZfbGlzdC5hcmdzLCAiLS1ub3QiKTsKKwlhcmd2X2FycmF5X3B1c2goJnJldl9saXN0LmFyZ3MsICItLWFsbCIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmcmV2X2xpc3QuYXJncywgIi0tcXVpZXQiKTsKKwlpZiAob3B0LT5wcm9ncmVzcykKKwkJYXJndl9hcnJheV9wdXNoZigmcmV2X2xpc3QuYXJncywgIi0tcHJvZ3Jlc3M9JXMiLAorCQkJCSBfKCJDaGVja2luZyBjb25uZWN0aXZpdHkiKSk7CiAKLQlyZXZfbGlzdC5hcmd2ID0gYXJndjsKIAlyZXZfbGlzdC5naXRfY21kID0gMTsKKwlyZXZfbGlzdC5lbnYgPSBvcHQtPmVudjsKIAlyZXZfbGlzdC5pbiA9IC0xOwogCXJldl9saXN0Lm5vX3N0ZG91dCA9IDE7Ci0JcmV2X2xpc3Qubm9fc3RkZXJyID0gcXVpZXQ7CisJaWYgKG9wdC0+ZXJyX2ZkKQorCQlyZXZfbGlzdC5lcnIgPSBvcHQtPmVycl9mZDsKKwllbHNlCisJCXJldl9saXN0Lm5vX3N0ZGVyciA9IG9wdC0+cXVpZXQ7CisKIAlpZiAoc3RhcnRfY29tbWFuZCgmcmV2X2xpc3QpKQogCQlyZXR1cm4gZXJyb3IoXygiQ291bGQgbm90IHJ1biAnZ2l0IHJldi1saXN0JyIpKTsKIApAQCAtOTgsMTkgKzEwNCwzIEBACiAJc2lnY2hhaW5fcG9wKFNJR1BJUEUpOwogCXJldHVybiBmaW5pc2hfY29tbWFuZCgmcmV2X2xpc3QpIHx8IGVycjsKIH0KLQotaW50IGNoZWNrX2V2ZXJ5dGhpbmdfY29ubmVjdGVkX3dpdGhfdHJhbnNwb3J0KHNoYTFfaXRlcmF0ZV9mbiBmbiwKLQkJCQkJICAgICAgaW50IHF1aWV0LAotCQkJCQkgICAgICB2b2lkICpjYl9kYXRhLAotCQkJCQkgICAgICBzdHJ1Y3QgdHJhbnNwb3J0ICp0cmFuc3BvcnQpCi17Ci0JcmV0dXJuIGNoZWNrX2V2ZXJ5dGhpbmdfY29ubmVjdGVkX3JlYWwoZm4sIHF1aWV0LCBjYl9kYXRhLAotCQkJCQkgICAgICAgdHJhbnNwb3J0LCBOVUxMKTsKLX0KLQotaW50IGNoZWNrX3NoYWxsb3dfY29ubmVjdGVkKHNoYTFfaXRlcmF0ZV9mbiBmbiwgaW50IHF1aWV0LCB2b2lkICpjYl9kYXRhLAotCQkJICAgIGNvbnN0IGNoYXIgKnNoYWxsb3dfZmlsZSkKLXsKLQlyZXR1cm4gY2hlY2tfZXZlcnl0aGluZ19jb25uZWN0ZWRfcmVhbChmbiwgcXVpZXQsIGNiX2RhdGEsCi0JCQkJCSAgICAgICBOVUxMLCBzaGFsbG93X2ZpbGUpOwotfQpkaWZmIC0tZ2l0IGEvY29ubmVjdGVkLmggYi9jb25uZWN0ZWQuaAppbmRleCAwNzFkNDA4Li40Y2EzMjVmIDEwMDY0NAotLS0gYS9jb25uZWN0ZWQuaAorKysgYi9jb25uZWN0ZWQuaApAQCAtMTEsMTcgKzExLDQ3IEBACiB0eXBlZGVmIGludCAoKnNoYTFfaXRlcmF0ZV9mbikodm9pZCAqLCB1bnNpZ25lZCBjaGFyIFsyMF0pOwogCiAvKgorICogTmFtZWQtYXJndW1lbnRzIHN0cnVjdCBmb3IgY2hlY2tfY29ubmVjdGVkLiBBbGwgYXJndW1lbnRzIGFyZQorICogb3B0aW9uYWwsIGFuZCBjYW4gYmUgbGVmdCB0byBkZWZhdWx0cyBhcyBzZXQgYnkgQ0hFQ0tfQ09OTkVDVEVEX0lOSVQuCisgKi8KK3N0cnVjdCBjaGVja19jb25uZWN0ZWRfb3B0aW9ucyB7CisJLyogQXZvaWQgcHJpbnRpbmcgYW55IGVycm9ycyB0byBzdGRlcnIuICovCisJaW50IHF1aWV0OworCisJLyogLS1zaGFsbG93LWZpbGUgdG8gcGFzcyB0byByZXYtbGlzdCBzdWItcHJvY2VzcyAqLworCWNvbnN0IGNoYXIgKnNoYWxsb3dfZmlsZTsKKworCS8qIFRyYW5zcG9ydCB3aG9zZSBvYmplY3RzIHdlIGFyZSBjaGVja2luZywgaWYgYXZhaWxhYmxlLiAqLworCXN0cnVjdCB0cmFuc3BvcnQgKnRyYW5zcG9ydDsKKworCS8qCisJICogSWYgbm9uLXplcm8sIHNlbmQgZXJyb3IgbWVzc2FnZXMgdG8gdGhpcyBkZXNjcmlwdG9yIHJhdGhlcgorCSAqIHRoYW4gc3RkZXJyLiBUaGUgZGVzY3JpcHRvciBpcyBjbG9zZWQgYmVmb3JlIGNoZWNrX2Nvbm5lY3RlZAorCSAqIHJldHVybnMuCisJICovCisJaW50IGVycl9mZDsKKworCS8qIElmIG5vbi16ZXJvLCBzaG93IHByb2dyZXNzIGFzIHdlIHRyYXZlcnNlIHRoZSBvYmplY3RzLiAqLworCWludCBwcm9ncmVzczsKKworCS8qCisJICogSW5zZXJ0IHRoZXNlIHZhcmlhYmxlcyBpbnRvIHRoZSBlbnZpcm9ubWVudCBvZiB0aGUgY2hpbGQgcHJvY2Vzcy4KKwkgKi8KKwljb25zdCBjaGFyICoqZW52OworfTsKKworI2RlZmluZSBDSEVDS19DT05ORUNURURfSU5JVCB7IDAgfQorCisvKgogICogTWFrZSBzdXJlIHRoYXQgb3VyIG9iamVjdCBzdG9yZSBoYXMgYWxsIHRoZSBjb21taXRzIG5lY2Vzc2FyeSB0bwogICogY29ubmVjdCB0aGUgYW5jZXN0cnkgY2hhaW4gdG8gc29tZSBvZiBvdXIgZXhpc3RpbmcgcmVmcywgYW5kIGFsbAogICogdGhlIHRyZWVzIGFuZCBibG9icyB0aGF0IHRoZXNlIGNvbW1pdHMgdXNlLgogICoKICAqIFJldHVybiAwIGlmIE9rLCBub24gemVybyBvdGhlcndpc2UgKGkuZS4gc29tZSBtaXNzaW5nIG9iamVjdHMpCisgKgorICogSWYgIm9wdCIgaXMgTlVMTCwgYmVoYXZlcyBhcyBpZiBDSEVDS19DT05ORUNURURfSU5JVCB3YXMgcGFzc2VkLgogICovCi1leHRlcm4gaW50IGNoZWNrX2V2ZXJ5dGhpbmdfY29ubmVjdGVkKHNoYTFfaXRlcmF0ZV9mbiwgaW50IHF1aWV0LCB2b2lkICpjYl9kYXRhKTsKLWV4dGVybiBpbnQgY2hlY2tfc2hhbGxvd19jb25uZWN0ZWQoc2hhMV9pdGVyYXRlX2ZuLCBpbnQgcXVpZXQsIHZvaWQgKmNiX2RhdGEsCi0JCQkJICAgY29uc3QgY2hhciAqc2hhbGxvd19maWxlKTsKLWV4dGVybiBpbnQgY2hlY2tfZXZlcnl0aGluZ19jb25uZWN0ZWRfd2l0aF90cmFuc3BvcnQoc2hhMV9pdGVyYXRlX2ZuLCBpbnQgcXVpZXQsCi0JCQkJCQkgICAgIHZvaWQgKmNiX2RhdGEsCi0JCQkJCQkgICAgIHN0cnVjdCB0cmFuc3BvcnQgKnRyYW5zcG9ydCk7CitpbnQgY2hlY2tfY29ubmVjdGVkKHNoYTFfaXRlcmF0ZV9mbiBmbiwgdm9pZCAqY2JfZGF0YSwKKwkJICAgIHN0cnVjdCBjaGVja19jb25uZWN0ZWRfb3B0aW9ucyAqb3B0KTsKIAogI2VuZGlmIC8qIENPTk5FQ1RFRF9IICovCmRpZmYgLS1naXQgYS9jb250cmliL2NvY2NpbmVsbGUvLmdpdGlnbm9yZSBiL2NvbnRyaWIvY29jY2luZWxsZS8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzZjI5NjQKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2NvY2NpbmVsbGUvLmdpdGlnbm9yZQpAQCAtMCwwICsxIEBACisqLnBhdGNoKgpkaWZmIC0tZ2l0IGEvY29udHJpYi9jb2NjaW5lbGxlL1JFQURNRSBiL2NvbnRyaWIvY29jY2luZWxsZS9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWMyZjg4NwotLS0gL2Rldi9udWxsCisrKyBiL2NvbnRyaWIvY29jY2luZWxsZS9SRUFETUUKQEAgLTAsMCArMSwyIEBACitUaGlzIGRpcmVjdG9yeSBwcm92aWRlcyBleGFtcGxlcyBvZiBDb2NjaW5lbGxlIChodHRwOi8vY29jY2luZWxsZS5saXA2LmZyLykKK3NlbWFudGljIHBhdGNoZXMgdGhhdCBtaWdodCBiZSB1c2VmdWwgdG8gZGV2ZWxvcGVycy4KZGlmZiAtLWdpdCBhL2NvbnRyaWIvY29jY2luZWxsZS9hcnJheS5jb2NjaSBiL2NvbnRyaWIvY29jY2luZWxsZS9hcnJheS5jb2NjaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDdmMjVkCi0tLSAvZGV2L251bGwKKysrIGIvY29udHJpYi9jb2NjaW5lbGxlL2FycmF5LmNvY2NpCkBAIC0wLDAgKzEsMjYgQEAKK0BACit0eXBlIFQ7CitUICpkc3Q7CitUICpzcmM7CitleHByZXNzaW9uIG47CitAQAorLSBtZW1jcHkoZHN0LCBzcmMsIG4gKiBzaXplb2YoKmRzdCkpOworKyBDT1BZX0FSUkFZKGRzdCwgc3JjLCBuKTsKKworQEAKK3R5cGUgVDsKK1QgKmRzdDsKK1QgKnNyYzsKK2V4cHJlc3Npb24gbjsKK0BACistIG1lbWNweShkc3QsIHNyYywgbiAqIHNpemVvZigqc3JjKSk7CisrIENPUFlfQVJSQVkoZHN0LCBzcmMsIG4pOworCitAQAordHlwZSBUOworVCAqZHN0OworVCAqc3JjOworZXhwcmVzc2lvbiBuOworQEAKKy0gbWVtY3B5KGRzdCwgc3JjLCBuICogc2l6ZW9mKFQpKTsKKysgQ09QWV9BUlJBWShkc3QsIHNyYywgbik7CmRpZmYgLS1naXQgYS9jb250cmliL2NvY2NpbmVsbGUvZnJlZS5jb2NjaSBiL2NvbnRyaWIvY29jY2luZWxsZS9mcmVlLmNvY2NpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyODIxMzEKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2NvY2NpbmVsbGUvZnJlZS5jb2NjaQpAQCAtMCwwICsxLDUgQEAKK0BACitleHByZXNzaW9uIEU7CitAQAorLSBpZiAoRSkKKyAgZnJlZShFKTsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY29jY2luZWxsZS9vYmplY3RfaWQuY29jY2kgYi9jb250cmliL2NvY2NpbmVsbGUvb2JqZWN0X2lkLmNvY2NpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5YWZkYmYKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2NvY2NpbmVsbGUvb2JqZWN0X2lkLmNvY2NpCkBAIC0wLDAgKzEsMTEwIEBACitAQAorZXhwcmVzc2lvbiBFMTsKK0BACistIGlzX251bGxfc2hhMShFMS5oYXNoKQorKyBpc19udWxsX29pZCgmRTEpCisKK0BACitleHByZXNzaW9uIEUxOworQEAKKy0gaXNfbnVsbF9zaGExKEUxLT5oYXNoKQorKyBpc19udWxsX29pZChFMSkKKworQEAKK2V4cHJlc3Npb24gRTE7CitAQAorLSBzaGExX3RvX2hleChFMS5oYXNoKQorKyBvaWRfdG9faGV4KCZFMSkKKworQEAKK2lkZW50aWZpZXIgZiAhPSBvaWRfdG9faGV4OworZXhwcmVzc2lvbiBFMTsKK0BACisgIGYoLi4uKSB7Li4uCistIHNoYTFfdG9faGV4KEUxLT5oYXNoKQorKyBvaWRfdG9faGV4KEUxKQorICAuLi59CisKK0BACitleHByZXNzaW9uIEUxLCBFMjsKK0BACistIHNoYTFfdG9faGV4X3IoRTEsIEUyLmhhc2gpCisrIG9pZF90b19oZXhfcihFMSwgJkUyKQorCitAQAoraWRlbnRpZmllciBmICE9IG9pZF90b19oZXhfcjsKK2V4cHJlc3Npb24gRTEsIEUyOworQEAKKyAgIGYoLi4uKSB7Li4uCistIHNoYTFfdG9faGV4X3IoRTEsIEUyLT5oYXNoKQorKyBvaWRfdG9faGV4X3IoRTEsIEUyKQorICAuLi59CisKK0BACitleHByZXNzaW9uIEUxOworQEAKKy0gaGFzaGNscihFMS5oYXNoKQorKyBvaWRjbHIoJkUxKQorCitAQAoraWRlbnRpZmllciBmICE9IG9pZGNscjsKK2V4cHJlc3Npb24gRTE7CitAQAorICBmKC4uLikgey4uLgorLSBoYXNoY2xyKEUxLT5oYXNoKQorKyBvaWRjbHIoRTEpCisgIC4uLn0KKworQEAKK2V4cHJlc3Npb24gRTEsIEUyOworQEAKKy0gaGFzaGNtcChFMS5oYXNoLCBFMi5oYXNoKQorKyBvaWRjbXAoJkUxLCAmRTIpCisKK0BACitpZGVudGlmaWVyIGYgIT0gb2lkY21wOworZXhwcmVzc2lvbiBFMSwgRTI7CitAQAorICBmKC4uLikgey4uLgorLSBoYXNoY21wKEUxLT5oYXNoLCBFMi0+aGFzaCkKKysgb2lkY21wKEUxLCBFMikKKyAgLi4ufQorCitAQAorZXhwcmVzc2lvbiBFMSwgRTI7CitAQAorLSBoYXNoY21wKEUxLT5oYXNoLCBFMi5oYXNoKQorKyBvaWRjbXAoRTEsICZFMikKKworQEAKK2V4cHJlc3Npb24gRTEsIEUyOworQEAKKy0gaGFzaGNtcChFMS5oYXNoLCBFMi0+aGFzaCkKKysgb2lkY21wKCZFMSwgRTIpCisKK0BACitleHByZXNzaW9uIEUxLCBFMjsKK0BACistIGhhc2hjcHkoRTEuaGFzaCwgRTIuaGFzaCkKKysgb2lkY3B5KCZFMSwgJkUyKQorCitAQAoraWRlbnRpZmllciBmICE9IG9pZGNweTsKK2V4cHJlc3Npb24gRTEsIEUyOworQEAKKyAgZiguLi4pIHsuLi4KKy0gaGFzaGNweShFMS0+aGFzaCwgRTItPmhhc2gpCisrIG9pZGNweShFMSwgRTIpCisgIC4uLn0KKworQEAKK2V4cHJlc3Npb24gRTEsIEUyOworQEAKKy0gaGFzaGNweShFMS0+aGFzaCwgRTIuaGFzaCkKKysgb2lkY3B5KEUxLCAmRTIpCisKK0BACitleHByZXNzaW9uIEUxLCBFMjsKK0BACistIGhhc2hjcHkoRTEuaGFzaCwgRTItPmhhc2gpCisrIG9pZGNweSgmRTEsIEUyKQpkaWZmIC0tZ2l0IGEvY29udHJpYi9jb2NjaW5lbGxlL3Fzb3J0LmNvY2NpIGIvY29udHJpYi9jb2NjaW5lbGxlL3Fzb3J0LmNvY2NpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyYjkzYTkKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2NvY2NpbmVsbGUvcXNvcnQuY29jY2kKQEAgLTAsMCArMSwzNyBAQAorQEAKK2V4cHJlc3Npb24gYmFzZSwgbm1lbWIsIGNvbXBhcjsKK0BACistIHFzb3J0KGJhc2UsIG5tZW1iLCBzaXplb2YoKmJhc2UpLCBjb21wYXIpOworKyBRU09SVChiYXNlLCBubWVtYiwgY29tcGFyKTsKKworQEAKK2V4cHJlc3Npb24gYmFzZSwgbm1lbWIsIGNvbXBhcjsKK0BACistIHFzb3J0KGJhc2UsIG5tZW1iLCBzaXplb2YoYmFzZVswXSksIGNvbXBhcik7CisrIFFTT1JUKGJhc2UsIG5tZW1iLCBjb21wYXIpOworCitAQAordHlwZSBUOworVCAqYmFzZTsKK2V4cHJlc3Npb24gbm1lbWIsIGNvbXBhcjsKK0BACistIHFzb3J0KGJhc2UsIG5tZW1iLCBzaXplb2YoVCksIGNvbXBhcik7CisrIFFTT1JUKGJhc2UsIG5tZW1iLCBjb21wYXIpOworCitAQAorZXhwcmVzc2lvbiBiYXNlLCBubWVtYiwgY29tcGFyOworQEAKKy0gaWYgKG5tZW1iKQorICAgIFFTT1JUKGJhc2UsIG5tZW1iLCBjb21wYXIpOworCitAQAorZXhwcmVzc2lvbiBiYXNlLCBubWVtYiwgY29tcGFyOworQEAKKy0gaWYgKG5tZW1iID4gMCkKKyAgICBRU09SVChiYXNlLCBubWVtYiwgY29tcGFyKTsKKworQEAKK2V4cHJlc3Npb24gYmFzZSwgbm1lbWIsIGNvbXBhcjsKK0BACistIGlmIChubWVtYiA+IDEpCisgICAgUVNPUlQoYmFzZSwgbm1lbWIsIGNvbXBhcik7CmRpZmYgLS1naXQgYS9jb250cmliL2NvY2NpbmVsbGUvc3RyYnVmLmNvY2NpIGIvY29udHJpYi9jb2NjaW5lbGxlL3N0cmJ1Zi5jb2NjaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Mzk5NWYyCi0tLSAvZGV2L251bGwKKysrIGIvY29udHJpYi9jb2NjaW5lbGxlL3N0cmJ1Zi5jb2NjaQpAQCAtMCwwICsxLDQwIEBACitAIHN0cmJ1Zl9hZGRmX3dpdGhfZm9ybWF0X29ubHkgQAorZXhwcmVzc2lvbiBFOworY29uc3RhbnQgZm10OworQEAKKyAgc3RyYnVmX2FkZGYoRSwKKygKKyAgZm10Cit8CisgIF8oZm10KQorKQorICApOworCitAIHNjcmlwdDpweXRob24gQAorZm10IDw8IHN0cmJ1Zl9hZGRmX3dpdGhfZm9ybWF0X29ubHkuZm10OworQEAKK2NvY2NpLmluY2x1ZGVfbWF0Y2goIiUiIG5vdCBpbiBmbXQpCisKK0AgZXh0ZW5kcyBzdHJidWZfYWRkZl93aXRoX2Zvcm1hdF9vbmx5IEAKK0BACistIHN0cmJ1Zl9hZGRmCisrIHN0cmJ1Zl9hZGRzdHIKKyAgKEUsCisoCisgIGZtdAorfAorICBfKGZtdCkKKykKKyAgKTsKKworQEAKK2V4cHJlc3Npb24gRTEsIEUyOworQEAKKy0gc3RyYnVmX2FkZGYoRTEsICIlcyIsIEUyKTsKKysgc3RyYnVmX2FkZHN0cihFMSwgRTIpOworCitAQAorZXhwcmVzc2lvbiBFMSwgRTIsIEUzOworQEAKKy0gc3RyYnVmX2FkZHN0cihFMSwgZmluZF91bmlxdWVfYWJicmV2KEUyLCBFMykpOworKyBzdHJidWZfYWRkX3VuaXF1ZV9hYmJyZXYoRTEsIEUyLCBFMyk7CmRpZmYgLS1naXQgYS9jb250cmliL2NvY2NpbmVsbGUveHN0cmR1cF9vcl9udWxsLmNvY2NpIGIvY29udHJpYi9jb2NjaW5lbGxlL3hzdHJkdXBfb3JfbnVsbC5jb2NjaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZmNlZWYxCi0tLSAvZGV2L251bGwKKysrIGIvY29udHJpYi9jb2NjaW5lbGxlL3hzdHJkdXBfb3JfbnVsbC5jb2NjaQpAQCAtMCwwICsxLDcgQEAKK0BACitleHByZXNzaW9uIEU7CitleHByZXNzaW9uIFY7CitAQAorLSBpZiAoRSkKKy0gICAgViA9IHhzdHJkdXAoRSk7CisrIFYgPSB4c3RyZHVwX29yX251bGwoRSk7CmRpZmYgLS1naXQgYS9jb250cmliL2NvbXBsZXRpb24vZ2l0LWNvbXBsZXRpb24uYmFzaCBiL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi5iYXNoCmluZGV4IDM0MDI0NzUuLjIxMDE2YmYgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi5iYXNoCisrKyBiL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi5iYXNoCkBAIC0zMzgsNyArMzM4LDcgQEAKIF9fZ2l0X3JlZnMgKCkKIHsKIAlsb2NhbCBpIGhhc2ggZGlyPSIkKF9fZ2l0ZGlyICIkezEtfSIpIiB0cmFjaz0iJHsyLX0iCi0JbG9jYWwgZm9ybWF0IHJlZnMKKwlsb2NhbCBmb3JtYXQgcmVmcyBwZngKIAlpZiBbIC1kICIkZGlyIiBdOyB0aGVuCiAJCWNhc2UgIiRjdXIiIGluCiAJCXJlZnN8cmVmcy8qKQpAQCAtMzQ3LDE0ICszNDcsMTUgQEAKIAkJCXRyYWNrPSIiCiAJCQk7OwogCQkqKQorCQkJW1sgIiRjdXIiID09IF4qIF1dICYmIHBmeD0iXiIKIAkJCWZvciBpIGluIEhFQUQgRkVUQ0hfSEVBRCBPUklHX0hFQUQgTUVSR0VfSEVBRDsgZG8KLQkJCQlpZiBbIC1lICIkZGlyLyRpIiBdOyB0aGVuIGVjaG8gJGk7IGZpCisJCQkJaWYgWyAtZSAiJGRpci8kaSIgXTsgdGhlbiBlY2hvICRwZngkaTsgZmkKIAkJCWRvbmUKIAkJCWZvcm1hdD0icmVmbmFtZTpzaG9ydCIKIAkJCXJlZnM9InJlZnMvdGFncyByZWZzL2hlYWRzIHJlZnMvcmVtb3RlcyIKIAkJCTs7CiAJCWVzYWMKLQkJZ2l0IC0tZ2l0LWRpcj0iJGRpciIgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKCRmb3JtYXQpIiBcCisJCWdpdCAtLWdpdC1kaXI9IiRkaXIiIGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJHBmeCUoJGZvcm1hdCkiIFwKIAkJCSRyZWZzCiAJCWlmIFsgLW4gIiR0cmFjayIgXTsgdGhlbgogCQkJIyBlbXBsb3kgdGhlIGhldXJpc3RpYyB1c2VkIGJ5IGdpdCBjaGVja291dApAQCAtODAzLDYgKzgwNCw1MCBAQAogCWRvbmUKIH0KIAorIyBFY2hvIHRoZSB2YWx1ZSBvZiBhbiBvcHRpb24gc2V0IG9uIHRoZSBjb21tYW5kIGxpbmUgb3IgY29uZmlnCisjCisjICQxOiBzaG9ydCBvcHRpb24gbmFtZQorIyAkMjogbG9uZyBvcHRpb24gbmFtZSBpbmNsdWRpbmcgPQorIyAkMzogbGlzdCBvZiBwb3NzaWJsZSB2YWx1ZXMKKyMgJDQ6IGNvbmZpZyBzdHJpbmcgKG9wdGlvbmFsKQorIworIyBleGFtcGxlOgorIyByZXN1bHQ9IiQoX19naXRfZ2V0X29wdGlvbl92YWx1ZSAiLWQiICItLWRvLXNvbWV0aGluZz0iIFwKKyMgICAgICJ5ZXMgbm8iICJjb3JlLmRvU29tZXRoaW5nIikiCisjCisjIHJlc3VsdCBpcyB0aGVuIGVpdGhlciBlbXB0eSAobm8gb3B0aW9uIHNldCkgb3IgInllcyIgb3IgIm5vIgorIworIyBfX2dpdF9nZXRfb3B0aW9uX3ZhbHVlIHJlcXVpcmVzIDMgYXJndW1lbnRzCitfX2dpdF9nZXRfb3B0aW9uX3ZhbHVlICgpCit7CisJbG9jYWwgYyBzaG9ydF9vcHQgbG9uZ19vcHQgdmFsCisJbG9jYWwgcmVzdWx0PSB2YWx1ZXMgY29uZmlnX2tleSB3b3JkCisKKwlzaG9ydF9vcHQ9IiQxIgorCWxvbmdfb3B0PSIkMiIKKwl2YWx1ZXM9IiQzIgorCWNvbmZpZ19rZXk9IiQ0IgorCisJKChjID0gJGN3b3JkIC0gMSkpCisJd2hpbGUgWyAkYyAtZ2UgMCBdOyBkbworCQl3b3JkPSIke3dvcmRzW2NdfSIKKwkJZm9yIHZhbCBpbiAkdmFsdWVzOyBkbworCQkJaWYgWyAiJHNob3J0X29wdCR2YWwiID0gIiR3b3JkIiBdIHx8CisJCQkgICBbICIkbG9uZ19vcHQkdmFsIiAgPSAiJHdvcmQiIF07IHRoZW4KKwkJCQlyZXN1bHQ9IiR2YWwiCisJCQkJYnJlYWsgMgorCQkJZmkKKwkJZG9uZQorCQkoKGMtLSkpCisJZG9uZQorCisJaWYgWyAtbiAiJGNvbmZpZ19rZXkiIF0gJiYgWyAteiAiJHJlc3VsdCIgXTsgdGhlbgorCQlyZXN1bHQ9IiQoZ2l0IC0tZ2l0LWRpcj0iJChfX2dpdGRpcikiIGNvbmZpZyAiJGNvbmZpZ19rZXkiKSIKKwlmaQorCisJZWNobyAiJHJlc3VsdCIKK30KKwogX19naXRfaGFzX2RvdWJsZWRhc2ggKCkKIHsKIAlsb2NhbCBjPTEKQEAgLTk2NCw4ICsxMDA5LDggQEAKIAl3aGlsZSBbICRjIC1sdCAkY3dvcmQgXTsgZG8KIAkJaT0iJHt3b3Jkc1tjXX0iCiAJCWNhc2UgIiRpIiBpbgotCQktZHwtbSkJb25seV9sb2NhbF9yZWY9InkiIDs7Ci0JCS1yKQloYXNfcj0ieSIgOzsKKwkJLWR8LS1kZWxldGV8LW18LS1tb3ZlKQlvbmx5X2xvY2FsX3JlZj0ieSIgOzsKKwkJLXJ8LS1yZW1vdGVzKQkJaGFzX3I9InkiIDs7CiAJCWVzYWMKIAkJKChjKyspKQogCWRvbmUKQEAgLTk3OSw3ICsxMDI0LDcgQEAKIAkJCS0tY29sb3IgLS1uby1jb2xvciAtLXZlcmJvc2UgLS1hYmJyZXY9IC0tbm8tYWJicmV2CiAJCQktLXRyYWNrIC0tbm8tdHJhY2sgLS1jb250YWlucyAtLW1lcmdlZCAtLW5vLW1lcmdlZAogCQkJLS1zZXQtdXBzdHJlYW0tdG89IC0tZWRpdC1kZXNjcmlwdGlvbiAtLWxpc3QKLQkJCS0tdW5zZXQtdXBzdHJlYW0KKwkJCS0tdW5zZXQtdXBzdHJlYW0gLS1kZWxldGUgLS1tb3ZlIC0tcmVtb3RlcwogCQkJIgogCQk7OwogCSopCkBAIC0xMDkyLDEyICsxMTM3LDE1IEBACiAJCQktLWRlcHRoCiAJCQktLXNpbmdsZS1icmFuY2gKIAkJCS0tYnJhbmNoCisJCQktLXJlY3Vyc2Utc3VibW9kdWxlcwogCQkJIgogCQlyZXR1cm4KIAkJOzsKIAllc2FjCiB9CiAKK19fZ2l0X3VudHJhY2tlZF9maWxlX21vZGVzPSJhbGwgbm8gbm9ybWFsIgorCiBfZ2l0X2NvbW1pdCAoKQogewogCWNhc2UgIiRwcmV2IiBpbgpAQCAtMTExOSw3ICsxMTY3LDcgQEAKIAkJcmV0dXJuCiAJCTs7CiAJLS11bnRyYWNrZWQtZmlsZXM9KikKLQkJX19naXRjb21wICJhbGwgbm8gbm9ybWFsIiAiIiAiJHtjdXIjIy0tdW50cmFja2VkLWZpbGVzPX0iCisJCV9fZ2l0Y29tcCAiJF9fZ2l0X3VudHJhY2tlZF9maWxlX21vZGVzIiAiIiAiJHtjdXIjIy0tdW50cmFja2VkLWZpbGVzPX0iCiAJCXJldHVybgogCQk7OwogCS0tKikKQEAgLTExNTgsNiArMTIwNiw4IEBACiAKIF9fZ2l0X2RpZmZfYWxnb3JpdGhtcz0ibXllcnMgbWluaW1hbCBwYXRpZW5jZSBoaXN0b2dyYW0iCiAKK19fZ2l0X2RpZmZfc3VibW9kdWxlX2Zvcm1hdHM9ImxvZyBzaG9ydCIKKwogX19naXRfZGlmZl9jb21tb25fb3B0aW9ucz0iLS1zdGF0IC0tbnVtc3RhdCAtLXNob3J0c3RhdCAtLXN1bW1hcnkKIAkJCS0tcGF0Y2gtd2l0aC1zdGF0IC0tbmFtZS1vbmx5IC0tbmFtZS1zdGF0dXMgLS1jb2xvcgogCQkJLS1uby1jb2xvciAtLWNvbG9yLXdvcmRzIC0tbm8tcmVuYW1lcyAtLWNoZWNrCkBAIC0xMTczLDYgKzEyMjMsNyBAQAogCQkJLS1kaXJzdGF0IC0tZGlyc3RhdD0gLS1kaXJzdGF0LWJ5LWZpbGUKIAkJCS0tZGlyc3RhdC1ieS1maWxlPSAtLWN1bXVsYXRpdmUKIAkJCS0tZGlmZi1hbGdvcml0aG09CisJCQktLXN1Ym1vZHVsZSAtLXN1Ym1vZHVsZT0KICIKIAogX2dpdF9kaWZmICgpCkBAIC0xMTg0LDYgKzEyMzUsMTAgQEAKIAkJX19naXRjb21wICIkX19naXRfZGlmZl9hbGdvcml0aG1zIiAiIiAiJHtjdXIjIy0tZGlmZi1hbGdvcml0aG09fSIKIAkJcmV0dXJuCiAJCTs7CisJLS1zdWJtb2R1bGU9KikKKwkJX19naXRjb21wICIkX19naXRfZGlmZl9zdWJtb2R1bGVfZm9ybWF0cyIgIiIgIiR7Y3VyIyMtLXN1Ym1vZHVsZT19IgorCQlyZXR1cm4KKwkJOzsKIAktLSopCiAJCV9fZ2l0Y29tcCAiLS1jYWNoZWQgLS1zdGFnZWQgLS1waWNrYXhlLWFsbCAtLXBpY2theGUtcmVnZXgKIAkJCS0tYmFzZSAtLW91cnMgLS10aGVpcnMgLS1uby1pbmRleApAQCAtMTQ0Nyw2ICsxNTAyLDE0IEBACiAJCV9fZ2l0Y29tcCAiZnVsbCBzaG9ydCBubyIgIiIgIiR7Y3VyIyMtLWRlY29yYXRlPX0iCiAJCXJldHVybgogCQk7OworCS0tZGlmZi1hbGdvcml0aG09KikKKwkJX19naXRjb21wICIkX19naXRfZGlmZl9hbGdvcml0aG1zIiAiIiAiJHtjdXIjIy0tZGlmZi1hbGdvcml0aG09fSIKKwkJcmV0dXJuCisJCTs7CisJLS1zdWJtb2R1bGU9KikKKwkJX19naXRjb21wICIkX19naXRfZGlmZl9zdWJtb2R1bGVfZm9ybWF0cyIgIiIgIiR7Y3VyIyMtLXN1Ym1vZHVsZT19IgorCQlyZXR1cm4KKwkJOzsKIAktLSopCiAJCV9fZ2l0Y29tcCAiCiAJCQkkX19naXRfbG9nX2NvbW1vbl9vcHRpb25zCkBAIC0xNzgwLDYgKzE4NDMsNTYgQEAKIAlfZ2l0X2FkZAogfQogCitfZ2l0X3N0YXR1cyAoKQoreworCWxvY2FsIGNvbXBsZXRlX29wdAorCWxvY2FsIHVudHJhY2tlZF9zdGF0ZQorCisJY2FzZSAiJGN1ciIgaW4KKwktLWlnbm9yZS1zdWJtb2R1bGVzPSopCisJCV9fZ2l0Y29tcCAibm9uZSB1bnRyYWNrZWQgZGlydHkgYWxsIiAiIiAiJHtjdXIjIy0taWdub3JlLXN1Ym1vZHVsZXM9fSIKKwkJcmV0dXJuCisJCTs7CisJLS11bnRyYWNrZWQtZmlsZXM9KikKKwkJX19naXRjb21wICIkX19naXRfdW50cmFja2VkX2ZpbGVfbW9kZXMiICIiICIke2N1ciMjLS11bnRyYWNrZWQtZmlsZXM9fSIKKwkJcmV0dXJuCisJCTs7CisJLS1jb2x1bW49KikKKwkJX19naXRjb21wICIKKwkJCWFsd2F5cyBuZXZlciBhdXRvIGNvbHVtbiByb3cgcGxhaW4gZGVuc2Ugbm9kZW5zZQorCQkJIiAiIiAiJHtjdXIjIy0tY29sdW1uPX0iCisJCXJldHVybgorCQk7OworCS0tKikKKwkJX19naXRjb21wICIKKwkJCS0tc2hvcnQgLS1icmFuY2ggLS1wb3JjZWxhaW4gLS1sb25nIC0tdmVyYm9zZQorCQkJLS11bnRyYWNrZWQtZmlsZXM9IC0taWdub3JlLXN1Ym1vZHVsZXM9IC0taWdub3JlZAorCQkJLS1jb2x1bW49IC0tbm8tY29sdW1uCisJCQkiCisJCXJldHVybgorCQk7OworCWVzYWMKKworCXVudHJhY2tlZF9zdGF0ZT0iJChfX2dpdF9nZXRfb3B0aW9uX3ZhbHVlICItdSIgIi0tdW50cmFja2VkLWZpbGVzPSIgXAorCQkiJF9fZ2l0X3VudHJhY2tlZF9maWxlX21vZGVzIiAic3RhdHVzLnNob3dVbnRyYWNrZWRGaWxlcyIpIgorCisJY2FzZSAiJHVudHJhY2tlZF9zdGF0ZSIgaW4KKwlubykKKwkJIyAtLWlnbm9yZWQgb3B0aW9uIGRvZXMgbm90IG1hdHRlcgorCQljb21wbGV0ZV9vcHQ9CisJCTs7CisJYWxsfG5vcm1hbHwqKQorCQljb21wbGV0ZV9vcHQ9Ii0tY2FjaGVkIC0tZGlyZWN0b3J5IC0tbm8tZW1wdHktZGlyZWN0b3J5IC0tb3RoZXJzIgorCisJCWlmIFsgLW4gIiQoX19naXRfZmluZF9vbl9jbWRsaW5lICItLWlnbm9yZWQiKSIgXTsgdGhlbgorCQkJY29tcGxldGVfb3B0PSIkY29tcGxldGVfb3B0IC0taWdub3JlZCAtLWV4Y2x1ZGU9KiIKKwkJZmkKKwkJOzsKKwllc2FjCisKKwlfX2dpdF9jb21wbGV0ZV9pbmRleF9maWxlICIkY29tcGxldGVfb3B0IgorfQorCiBfX2dpdF9jb25maWdfZ2V0X3NldF92YXJpYWJsZXMgKCkKIHsKIAlsb2NhbCBwcmV2d29yZCB3b3JkIGNvbmZpZ19maWxlPSBjPSRjd29yZApAQCAtMjA4NSw2ICsyMTk4LDcgQEAKIAkJZm9ybWF0LmF0dGFjaAogCQlmb3JtYXQuY2MKIAkJZm9ybWF0LmNvdmVyTGV0dGVyCisJCWZvcm1hdC5mcm9tCiAJCWZvcm1hdC5oZWFkZXJzCiAJCWZvcm1hdC5udW1iZXJlZAogCQlmb3JtYXQucHJldHR5CkBAIC0yMzU5LDYgKzI0NzMsMTAgQEAKIAkJX19naXRjb21wICIkX19naXRfZGlmZl9hbGdvcml0aG1zIiAiIiAiJHtjdXIjIy0tZGlmZi1hbGdvcml0aG09fSIKIAkJcmV0dXJuCiAJCTs7CisJLS1zdWJtb2R1bGU9KikKKwkJX19naXRjb21wICIkX19naXRfZGlmZl9zdWJtb2R1bGVfZm9ybWF0cyIgIiIgIiR7Y3VyIyMtLXN1Ym1vZHVsZT19IgorCQlyZXR1cm4KKwkJOzsKIAktLSopCiAJCV9fZ2l0Y29tcCAiLS1wcmV0dHk9IC0tZm9ybWF0PSAtLWFiYnJldi1jb21taXQgLS1vbmVsaW5lCiAJCQktLXNob3ctc2lnbmF0dXJlCkBAIC0yNTk1LDYgKzI3MTMsMzIgQEAKIAlfZ2l0X2xvZwogfQogCitfZ2l0X3dvcmt0cmVlICgpCit7CisJbG9jYWwgc3ViY29tbWFuZHM9ImFkZCBsaXN0IGxvY2sgcHJ1bmUgdW5sb2NrIgorCWxvY2FsIHN1YmNvbW1hbmQ9IiQoX19naXRfZmluZF9vbl9jbWRsaW5lICIkc3ViY29tbWFuZHMiKSIKKwlpZiBbIC16ICIkc3ViY29tbWFuZCIgXTsgdGhlbgorCQlfX2dpdGNvbXAgIiRzdWJjb21tYW5kcyIKKwllbHNlCisJCWNhc2UgIiRzdWJjb21tYW5kLCRjdXIiIGluCisJCWFkZCwtLSopCisJCQlfX2dpdGNvbXAgIi0tZGV0YWNoIgorCQkJOzsKKwkJbGlzdCwtLSopCisJCQlfX2dpdGNvbXAgIi0tcG9yY2VsYWluIgorCQkJOzsKKwkJbG9jaywtLSopCisJCQlfX2dpdGNvbXAgIi0tcmVhc29uIgorCQkJOzsKKwkJcHJ1bmUsLS0qKQorCQkJX19naXRjb21wICItLWRyeS1ydW4gLS1leHBpcmUgLS12ZXJib3NlIgorCQkJOzsKKwkJKikKKwkJCTs7CisJCWVzYWMKKwlmaQorfQorCiBfX2dpdF9tYWluICgpCiB7CiAJbG9jYWwgaSBjPTEgY29tbWFuZCBfX2dpdF9kaXIKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY29tcGxldGlvbi9naXQtcHJvbXB0LnNoIGIvY29udHJpYi9jb21wbGV0aW9uL2dpdC1wcm9tcHQuc2gKaW5kZXggNjQyMTllNi4uOTdlYWNkNyAxMDA2NDQKLS0tIGEvY29udHJpYi9jb21wbGV0aW9uL2dpdC1wcm9tcHQuc2gKKysrIGIvY29udHJpYi9jb21wbGV0aW9uL2dpdC1wcm9tcHQuc2gKQEAgLTM1NSw4ICszNTUsOCBAQAogCSMgaW5jb3JyZWN0LikKIAkjCiAJbG9jYWwgcHMxX2V4cGFuZGVkPXllcwotCVsgLXogIiRaU0hfVkVSU0lPTiIgXSB8fCBbWyAtbyBQUk9NUFRfU1VCU1QgXV0gfHwgcHMxX2V4cGFuZGVkPW5vCi0JWyAteiAiJEJBU0hfVkVSU0lPTiIgXSB8fCBzaG9wdCAtcSBwcm9tcHR2YXJzIHx8IHBzMV9leHBhbmRlZD1ubworCVsgLXogIiR7WlNIX1ZFUlNJT04tfSIgXSB8fCBbWyAtbyBQUk9NUFRfU1VCU1QgXV0gfHwgcHMxX2V4cGFuZGVkPW5vCisJWyAteiAiJHtCQVNIX1ZFUlNJT04tfSIgXSB8fCBzaG9wdCAtcSBwcm9tcHR2YXJzIHx8IHBzMV9leHBhbmRlZD1ubwogCiAJbG9jYWwgcmVwb19pbmZvIHJldl9wYXJzZV9leGl0X2NvZGUKIAlyZXBvX2luZm89IiQoZ2l0IHJldi1wYXJzZSAtLWdpdC1kaXIgLS1pcy1pbnNpZGUtZ2l0LWRpciBcCkBAIC0zNjgsNyArMzY4LDcgQEAKIAkJcmV0dXJuICRleGl0CiAJZmkKIAotCWxvY2FsIHNob3J0X3NoYQorCWxvY2FsIHNob3J0X3NoYT0iIgogCWlmIFsgIiRyZXZfcGFyc2VfZXhpdF9jb2RlIiA9ICIwIiBdOyB0aGVuCiAJCXNob3J0X3NoYT0iJHtyZXBvX2luZm8jIyokJ1xuJ30iCiAJCXJlcG9faW5mbz0iJHtyZXBvX2luZm8lJCdcbicqfSIKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY3JlZGVudGlhbC9nbm9tZS1rZXlyaW5nL01ha2VmaWxlIGIvY29udHJpYi9jcmVkZW50aWFsL2dub21lLWtleXJpbmcvTWFrZWZpbGUKaW5kZXggYzNjN2M5OC4uMjJjMTlkZiAxMDA2NDQKLS0tIGEvY29udHJpYi9jcmVkZW50aWFsL2dub21lLWtleXJpbmcvTWFrZWZpbGUKKysrIGIvY29udHJpYi9jcmVkZW50aWFsL2dub21lLWtleXJpbmcvTWFrZWZpbGUKQEAgLTQsMTIgKzQsMTMgQEAKIENDID0gZ2NjCiBSTSA9IHJtIC1mCiBDRkxBR1MgPSAtZyAtTzIgLVdhbGwKK1BLR19DT05GSUcgPSBwa2ctY29uZmlnCiAKIC1pbmNsdWRlIC4uLy4uLy4uL2NvbmZpZy5tYWsuYXV0b2dlbgogLWluY2x1ZGUgLi4vLi4vLi4vY29uZmlnLm1hawogCi1JTkNTOj0kKHNoZWxsIHBrZy1jb25maWcgLS1jZmxhZ3MgZ25vbWUta2V5cmluZy0xIGdsaWItMi4wKQotTElCUzo9JChzaGVsbCBwa2ctY29uZmlnIC0tbGlicyBnbm9tZS1rZXlyaW5nLTEgZ2xpYi0yLjApCitJTkNTOj0kKHNoZWxsICQoUEtHX0NPTkZJRykgLS1jZmxhZ3MgZ25vbWUta2V5cmluZy0xIGdsaWItMi4wKQorTElCUzo9JChzaGVsbCAkKFBLR19DT05GSUcpIC0tbGlicyBnbm9tZS1rZXlyaW5nLTEgZ2xpYi0yLjApCiAKIFNSQ1M6PSQoTUFJTikuYwogT0JKUzo9JChTUkNTOi5jPS5vKQpkaWZmIC0tZ2l0IGEvY29udHJpYi9jcmVkZW50aWFsL2xpYnNlY3JldC9NYWtlZmlsZSBiL2NvbnRyaWIvY3JlZGVudGlhbC9saWJzZWNyZXQvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U2NzU1MgotLS0gL2Rldi9udWxsCisrKyBiL2NvbnRyaWIvY3JlZGVudGlhbC9saWJzZWNyZXQvTWFrZWZpbGUKQEAgLTAsMCArMSwyNSBAQAorTUFJTjo9Z2l0LWNyZWRlbnRpYWwtbGlic2VjcmV0CithbGw6OiAkKE1BSU4pCisKK0NDID0gZ2NjCitSTSA9IHJtIC1mCitDRkxBR1MgPSAtZyAtTzIgLVdhbGwKK1BLR19DT05GSUcgPSBwa2ctY29uZmlnCisKKy1pbmNsdWRlIC4uLy4uLy4uL2NvbmZpZy5tYWsuYXV0b2dlbgorLWluY2x1ZGUgLi4vLi4vLi4vY29uZmlnLm1haworCitJTkNTOj0kKHNoZWxsICQoUEtHX0NPTkZJRykgLS1jZmxhZ3MgbGlic2VjcmV0LTEgZ2xpYi0yLjApCitMSUJTOj0kKHNoZWxsICQoUEtHX0NPTkZJRykgLS1saWJzIGxpYnNlY3JldC0xIGdsaWItMi4wKQorCitTUkNTOj0kKE1BSU4pLmMKK09CSlM6PSQoU1JDUzouYz0ubykKKworJS5vOiAlLmMKKwkkKENDKSAkKENGTEFHUykgJChDUFBGTEFHUykgJChJTkNTKSAtbyAkQCAtYyAkPAorCiskKE1BSU4pOiAkKE9CSlMpCisJJChDQykgLW8gJEAgJChMREZMQUdTKSAkXiAkKExJQlMpCisKK2NsZWFuOgorCUAkKFJNKSAkKE1BSU4pICQoT0JKUykKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY3JlZGVudGlhbC9saWJzZWNyZXQvZ2l0LWNyZWRlbnRpYWwtbGlic2VjcmV0LmMgYi9jb250cmliL2NyZWRlbnRpYWwvbGlic2VjcmV0L2dpdC1jcmVkZW50aWFsLWxpYnNlY3JldC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjNTY5NzkKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2NyZWRlbnRpYWwvbGlic2VjcmV0L2dpdC1jcmVkZW50aWFsLWxpYnNlY3JldC5jCkBAIC0wLDAgKzEsMzcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEpvaG4gU3pha21laXN0ZXIgPGpvaG5Ac3pha21laXN0ZXIubmV0PgorICogICAgICAgICAgICAgICAyMDEyIFBoaWxpcHAgQS4gSGFydG1hbm4gPHBhaEBxby5jeD4KKyAqICAgICAgICAgICAgICAgMjAxNiBNYW50YXMgTWlrdWzEl25hcyA8Z3Jhd2l0eUBnbWFpbC5jb20+CisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworLyoKKyAqIENyZWRpdHM6CisgKiAtIEdOT01FIEtleXJpbmcgQVBJIGhhbmRsaW5nIG9yaWdpbmFsbHkgd3JpdHRlbiBieSBKb2huIFN6YWttZWlzdGVyCisgKiAtIHBvcnRlZCB0byBjcmVkZW50aWFsIGhlbHBlciBBUEkgYnkgUGhpbGlwcCBBLiBIYXJ0bWFubgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGdsaWIuaD4KKyNpbmNsdWRlIDxsaWJzZWNyZXQvc2VjcmV0Lmg+CisKKy8qCisgKiBUaGlzIGNyZWRlbnRpYWwgc3RydWN0IGFuZCBBUEkgaXMgc2ltcGxpZmllZCBmcm9tIGdpdCdzIGNyZWRlbnRpYWwue2gsY30KKyAqLworc3RydWN0IGNyZWRlbnRpYWwgeworCWNoYXIgKnByb3RvY29sOworCWNoYXIgKmhvc3Q7CisJdW5zaWduZWQgc2hvcnQgcG9ydDsKKwljaGFyICpwYXRoOworCWNoYXIgKnVzZXJuYW1lOworCWNoYXIgKnBhc3N3b3JkOworfTsKKworI2RlZmluZSBDUkVERU5USUFMX0lOSVQgeyBOVUxMLCBOVUxMLCAwLCBOVUxMLCBOVUxMLCBOVUxMIH0KKwordHlwZWRlZiBpbnQgKCpjcmVkZW50aWFsX29wX2NiKShzdHJ1Y3QgY3JlZGVudGlhbCAqKTsKKworc3RydWN0IGNyZWRlbnRpYWxfb3BlcmF0aW9uIHsKKwljaGFyICpuYW1lOworCWNyZWRlbnRpYWxfb3BfY2Igb3A7Cit9OworCisjZGVmaW5lIENSRURFTlRJQUxfT1BfRU5EIHsgTlVMTCwgTlVMTCB9CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tIFNlY3JldCBTZXJ2aWNlIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLSAqLworCitzdGF0aWMgY2hhciAqbWFrZV9sYWJlbChzdHJ1Y3QgY3JlZGVudGlhbCAqYykKK3sKKwlpZiAoYy0+cG9ydCkKKwkJcmV0dXJuIGdfc3RyZHVwX3ByaW50ZigiR2l0OiAlczovLyVzOiVodS8lcyIsCisJCQkJCWMtPnByb3RvY29sLCBjLT5ob3N0LCBjLT5wb3J0LCBjLT5wYXRoID8gYy0+cGF0aCA6ICIiKTsKKwllbHNlCisJCXJldHVybiBnX3N0cmR1cF9wcmludGYoIkdpdDogJXM6Ly8lcy8lcyIsCisJCQkJCWMtPnByb3RvY29sLCBjLT5ob3N0LCBjLT5wYXRoID8gYy0+cGF0aCA6ICIiKTsKK30KKworc3RhdGljIEdIYXNoVGFibGUgKm1ha2VfYXR0cl9saXN0KHN0cnVjdCBjcmVkZW50aWFsICpjKQoreworCUdIYXNoVGFibGUgKmFsID0gZ19oYXNoX3RhYmxlX25ld19mdWxsKGdfc3RyX2hhc2gsIGdfc3RyX2VxdWFsLCBOVUxMLCBnX2ZyZWUpOworCisJaWYgKGMtPnVzZXJuYW1lKQorCQlnX2hhc2hfdGFibGVfaW5zZXJ0KGFsLCAidXNlciIsIGdfc3RyZHVwKGMtPnVzZXJuYW1lKSk7CisJaWYgKGMtPnByb3RvY29sKQorCQlnX2hhc2hfdGFibGVfaW5zZXJ0KGFsLCAicHJvdG9jb2wiLCBnX3N0cmR1cChjLT5wcm90b2NvbCkpOworCWlmIChjLT5ob3N0KQorCQlnX2hhc2hfdGFibGVfaW5zZXJ0KGFsLCAic2VydmVyIiwgZ19zdHJkdXAoYy0+aG9zdCkpOworCWlmIChjLT5wb3J0KQorCQlnX2hhc2hfdGFibGVfaW5zZXJ0KGFsLCAicG9ydCIsIGdfc3RyZHVwX3ByaW50ZigiJWh1IiwgYy0+cG9ydCkpOworCWlmIChjLT5wYXRoKQorCQlnX2hhc2hfdGFibGVfaW5zZXJ0KGFsLCAib2JqZWN0IiwgZ19zdHJkdXAoYy0+cGF0aCkpOworCisJcmV0dXJuIGFsOworfQorCitzdGF0aWMgaW50IGtleXJpbmdfZ2V0KHN0cnVjdCBjcmVkZW50aWFsICpjKQoreworCVNlY3JldFNlcnZpY2UgKnNlcnZpY2UgPSBOVUxMOworCUdIYXNoVGFibGUgKmF0dHJpYnV0ZXMgPSBOVUxMOworCUdFcnJvciAqZXJyb3IgPSBOVUxMOworCUdMaXN0ICppdGVtcyA9IE5VTEw7CisKKwlpZiAoIWMtPnByb3RvY29sIHx8ICEoYy0+aG9zdCB8fCBjLT5wYXRoKSkKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCXNlcnZpY2UgPSBzZWNyZXRfc2VydmljZV9nZXRfc3luYygwLCBOVUxMLCAmZXJyb3IpOworCWlmIChlcnJvciAhPSBOVUxMKSB7CisJCWdfY3JpdGljYWwoImNvdWxkIG5vdCBjb25uZWN0IHRvIFNlY3JldCBTZXJ2aWNlOiAlcyIsIGVycm9yLT5tZXNzYWdlKTsKKwkJZ19lcnJvcl9mcmVlKGVycm9yKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisKKwlhdHRyaWJ1dGVzID0gbWFrZV9hdHRyX2xpc3QoYyk7CisJaXRlbXMgPSBzZWNyZXRfc2VydmljZV9zZWFyY2hfc3luYyhzZXJ2aWNlLAorCQkJCQkgICBTRUNSRVRfU0NIRU1BX0NPTVBBVF9ORVRXT1JLLAorCQkJCQkgICBhdHRyaWJ1dGVzLAorCQkJCQkgICBTRUNSRVRfU0VBUkNIX0xPQURfU0VDUkVUUywKKwkJCQkJICAgTlVMTCwKKwkJCQkJICAgJmVycm9yKTsKKwlnX2hhc2hfdGFibGVfdW5yZWYoYXR0cmlidXRlcyk7CisJaWYgKGVycm9yICE9IE5VTEwpIHsKKwkJZ19jcml0aWNhbCgibG9va3VwIGZhaWxlZDogJXMiLCBlcnJvci0+bWVzc2FnZSk7CisJCWdfZXJyb3JfZnJlZShlcnJvcik7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJaWYgKGl0ZW1zICE9IE5VTEwpIHsKKwkJU2VjcmV0SXRlbSAqaXRlbTsKKwkJU2VjcmV0VmFsdWUgKnNlY3JldDsKKwkJY29uc3QgY2hhciAqczsKKworCQlpdGVtID0gaXRlbXMtPmRhdGE7CisJCXNlY3JldCA9IHNlY3JldF9pdGVtX2dldF9zZWNyZXQoaXRlbSk7CisJCWF0dHJpYnV0ZXMgPSBzZWNyZXRfaXRlbV9nZXRfYXR0cmlidXRlcyhpdGVtKTsKKworCQlzID0gZ19oYXNoX3RhYmxlX2xvb2t1cChhdHRyaWJ1dGVzLCAidXNlciIpOworCQlpZiAocykgeworCQkJZ19mcmVlKGMtPnVzZXJuYW1lKTsKKwkJCWMtPnVzZXJuYW1lID0gZ19zdHJkdXAocyk7CisJCX0KKworCQlzID0gc2VjcmV0X3ZhbHVlX2dldF90ZXh0KHNlY3JldCk7CisJCWlmIChzKSB7CisJCQlnX2ZyZWUoYy0+cGFzc3dvcmQpOworCQkJYy0+cGFzc3dvcmQgPSBnX3N0cmR1cChzKTsKKwkJfQorCisJCWdfaGFzaF90YWJsZV91bnJlZihhdHRyaWJ1dGVzKTsKKwkJc2VjcmV0X3ZhbHVlX3VucmVmKHNlY3JldCk7CisJCWdfbGlzdF9mcmVlX2Z1bGwoaXRlbXMsIGdfb2JqZWN0X3VucmVmKTsKKwl9CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorCisKK3N0YXRpYyBpbnQga2V5cmluZ19zdG9yZShzdHJ1Y3QgY3JlZGVudGlhbCAqYykKK3sKKwljaGFyICpsYWJlbCA9IE5VTEw7CisJR0hhc2hUYWJsZSAqYXR0cmlidXRlcyA9IE5VTEw7CisJR0Vycm9yICplcnJvciA9IE5VTEw7CisKKwkvKgorCSAqIFNhbml0eSBjaGVjayB0aGF0IHdoYXQgd2UgYXJlIHN0b3JpbmcgaXMgYWN0dWFsbHkgc2Vuc2libGUuCisJICogSW4gcGFydGljdWxhciwgd2UgY2FuJ3QgbWFrZSBhIFVSTCB3aXRob3V0IGEgcHJvdG9jb2wgZmllbGQuCisJICogV2l0aG91dCBlaXRoZXIgYSBob3N0IG9yIHBhdGhuYW1lIChkZXBlbmRpbmcgb24gdGhlIHNjaGVtZSksCisJICogd2UgaGF2ZSBubyBwcmltYXJ5IGtleS4gQW5kIHdpdGhvdXQgYSB1c2VybmFtZSBhbmQgcGFzc3dvcmQsCisJICogd2UgYXJlIG5vdCBhY3R1YWxseSBzdG9yaW5nIGEgY3JlZGVudGlhbC4KKwkgKi8KKwlpZiAoIWMtPnByb3RvY29sIHx8ICEoYy0+aG9zdCB8fCBjLT5wYXRoKSB8fAorCSAgICAhYy0+dXNlcm5hbWUgfHwgIWMtPnBhc3N3b3JkKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJbGFiZWwgPSBtYWtlX2xhYmVsKGMpOworCWF0dHJpYnV0ZXMgPSBtYWtlX2F0dHJfbGlzdChjKTsKKwlzZWNyZXRfcGFzc3dvcmRfc3RvcmV2X3N5bmMoU0VDUkVUX1NDSEVNQV9DT01QQVRfTkVUV09SSywKKwkJCQkgICAgYXR0cmlidXRlcywKKwkJCQkgICAgTlVMTCwKKwkJCQkgICAgbGFiZWwsCisJCQkJICAgIGMtPnBhc3N3b3JkLAorCQkJCSAgICBOVUxMLAorCQkJCSAgICAmZXJyb3IpOworCWdfZnJlZShsYWJlbCk7CisJZ19oYXNoX3RhYmxlX3VucmVmKGF0dHJpYnV0ZXMpOworCisJaWYgKGVycm9yICE9IE5VTEwpIHsKKwkJZ19jcml0aWNhbCgic3RvcmUgZmFpbGVkOiAlcyIsIGVycm9yLT5tZXNzYWdlKTsKKwkJZ19lcnJvcl9mcmVlKGVycm9yKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorCitzdGF0aWMgaW50IGtleXJpbmdfZXJhc2Uoc3RydWN0IGNyZWRlbnRpYWwgKmMpCit7CisJR0hhc2hUYWJsZSAqYXR0cmlidXRlcyA9IE5VTEw7CisJR0Vycm9yICplcnJvciA9IE5VTEw7CisKKwkvKgorCSAqIFNhbml0eSBjaGVjayB0aGF0IHdlIGFjdHVhbGx5IGhhdmUgc29tZXRoaW5nIHRvIG1hdGNoCisJICogYWdhaW5zdC4gVGhlIGlucHV0IHdlIGdldCBpcyBhIHJlc3RyaWN0aXZlIHBhdHRlcm4sCisJICogc28gdGVjaG5pY2FsbHkgYSBibGFuayBjcmVkZW50aWFsIG1lYW5zICJlcmFzZSBldmVyeXRoaW5nIi4KKwkgKiBCdXQgaXQgaXMgdG9vIGVhc3kgdG8gYWNjaWRlbnRhbGx5IHNlbmQgdGhpcywgc2luY2UgaXQgaXMgZXF1aXZhbGVudAorCSAqIHRvIGVtcHR5IGlucHV0LiBTbyBleHBsaWNpdGx5IGRpc2FsbG93IGl0LCBhbmQgcmVxdWlyZSB0aGF0IHRoZQorCSAqIHBhdHRlcm4gaGF2ZSBzb21lIGFjdHVhbCBjb250ZW50IHRvIG1hdGNoLgorCSAqLworCWlmICghYy0+cHJvdG9jb2wgJiYgIWMtPmhvc3QgJiYgIWMtPnBhdGggJiYgIWMtPnVzZXJuYW1lKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJYXR0cmlidXRlcyA9IG1ha2VfYXR0cl9saXN0KGMpOworCXNlY3JldF9wYXNzd29yZF9jbGVhcnZfc3luYyhTRUNSRVRfU0NIRU1BX0NPTVBBVF9ORVRXT1JLLAorCQkJCSAgICBhdHRyaWJ1dGVzLAorCQkJCSAgICBOVUxMLAorCQkJCSAgICAmZXJyb3IpOworCWdfaGFzaF90YWJsZV91bnJlZihhdHRyaWJ1dGVzKTsKKworCWlmIChlcnJvciAhPSBOVUxMKSB7CisJCWdfY3JpdGljYWwoImVyYXNlIGZhaWxlZDogJXMiLCBlcnJvci0+bWVzc2FnZSk7CisJCWdfZXJyb3JfZnJlZShlcnJvcik7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKworLyoKKyAqIFRhYmxlIHdpdGggaGVscGVyIG9wZXJhdGlvbiBjYWxsYmFja3MsIHVzZWQgYnkgZ2VuZXJpYworICogY3JlZGVudGlhbCBoZWxwZXIgbWFpbiBmdW5jdGlvbi4KKyAqLworc3RhdGljIHN0cnVjdCBjcmVkZW50aWFsX29wZXJhdGlvbiBjb25zdCBjcmVkZW50aWFsX2hlbHBlcl9vcHNbXSA9IHsKKwl7ICJnZXQiLCAgIGtleXJpbmdfZ2V0IH0sCisJeyAic3RvcmUiLCBrZXlyaW5nX3N0b3JlIH0sCisJeyAiZXJhc2UiLCBrZXlyaW5nX2VyYXNlIH0sCisJQ1JFREVOVElBTF9PUF9FTkQKK307CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLSBjcmVkZW50aWFsIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworc3RhdGljIHZvaWQgY3JlZGVudGlhbF9pbml0KHN0cnVjdCBjcmVkZW50aWFsICpjKQoreworCW1lbXNldChjLCAwLCBzaXplb2YoKmMpKTsKK30KKworc3RhdGljIHZvaWQgY3JlZGVudGlhbF9jbGVhcihzdHJ1Y3QgY3JlZGVudGlhbCAqYykKK3sKKwlnX2ZyZWUoYy0+cHJvdG9jb2wpOworCWdfZnJlZShjLT5ob3N0KTsKKwlnX2ZyZWUoYy0+cGF0aCk7CisJZ19mcmVlKGMtPnVzZXJuYW1lKTsKKwlnX2ZyZWUoYy0+cGFzc3dvcmQpOworCisJY3JlZGVudGlhbF9pbml0KGMpOworfQorCitzdGF0aWMgaW50IGNyZWRlbnRpYWxfcmVhZChzdHJ1Y3QgY3JlZGVudGlhbCAqYykKK3sKKwljaGFyICpidWY7CisJc2l6ZV90IGxpbmVfbGVuOworCWNoYXIgKmtleTsKKwljaGFyICp2YWx1ZTsKKworCWtleSA9IGJ1ZiA9IGdfbWFsbG9jKDEwMjQpOworCisJd2hpbGUgKGZnZXRzKGJ1ZiwgMTAyNCwgc3RkaW4pKSB7CisJCWxpbmVfbGVuID0gc3RybGVuKGJ1Zik7CisKKwkJaWYgKGxpbmVfbGVuICYmIGJ1ZltsaW5lX2xlbi0xXSA9PSAnXG4nKQorCQkJYnVmWy0tbGluZV9sZW5dID0gJ1wwJzsKKworCQlpZiAoIWxpbmVfbGVuKQorCQkJYnJlYWs7CisKKwkJdmFsdWUgPSBzdHJjaHIoYnVmLCAnPScpOworCQlpZiAoIXZhbHVlKSB7CisJCQlnX3dhcm5pbmcoImludmFsaWQgY3JlZGVudGlhbCBsaW5lOiAlcyIsIGtleSk7CisJCQlnX2ZyZWUoYnVmKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCQkqdmFsdWUrKyA9ICdcMCc7CisKKwkJaWYgKCFzdHJjbXAoa2V5LCAicHJvdG9jb2wiKSkgeworCQkJZ19mcmVlKGMtPnByb3RvY29sKTsKKwkJCWMtPnByb3RvY29sID0gZ19zdHJkdXAodmFsdWUpOworCQl9IGVsc2UgaWYgKCFzdHJjbXAoa2V5LCAiaG9zdCIpKSB7CisJCQlnX2ZyZWUoYy0+aG9zdCk7CisJCQljLT5ob3N0ID0gZ19zdHJkdXAodmFsdWUpOworCQkJdmFsdWUgPSBzdHJyY2hyKGMtPmhvc3QsICc6Jyk7CisJCQlpZiAodmFsdWUpIHsKKwkJCQkqdmFsdWUrKyA9ICdcMCc7CisJCQkJYy0+cG9ydCA9IGF0b2kodmFsdWUpOworCQkJfQorCQl9IGVsc2UgaWYgKCFzdHJjbXAoa2V5LCAicGF0aCIpKSB7CisJCQlnX2ZyZWUoYy0+cGF0aCk7CisJCQljLT5wYXRoID0gZ19zdHJkdXAodmFsdWUpOworCQl9IGVsc2UgaWYgKCFzdHJjbXAoa2V5LCAidXNlcm5hbWUiKSkgeworCQkJZ19mcmVlKGMtPnVzZXJuYW1lKTsKKwkJCWMtPnVzZXJuYW1lID0gZ19zdHJkdXAodmFsdWUpOworCQl9IGVsc2UgaWYgKCFzdHJjbXAoa2V5LCAicGFzc3dvcmQiKSkgeworCQkJZ19mcmVlKGMtPnBhc3N3b3JkKTsKKwkJCWMtPnBhc3N3b3JkID0gZ19zdHJkdXAodmFsdWUpOworCQkJd2hpbGUgKCp2YWx1ZSkKKwkJCQkqdmFsdWUrKyA9ICdcMCc7CisJCX0KKwkJLyoKKwkJICogSWdub3JlIG90aGVyIGxpbmVzOyB3ZSBkb24ndCBrbm93IHdoYXQgdGhleSBtZWFuLCBidXQKKwkJICogdGhpcyBmdXR1cmUtcHJvb2ZzIHVzIHdoZW4gbGF0ZXIgdmVyc2lvbnMgb2YgZ2l0IGRvCisJCSAqIGxlYXJuIG5ldyBsaW5lcywgYW5kIHRoZSBoZWxwZXJzIGFyZSB1cGRhdGVkIHRvIG1hdGNoLgorCQkgKi8KKwl9CisKKwlnX2ZyZWUoYnVmKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjcmVkZW50aWFsX3dyaXRlX2l0ZW0oRklMRSAqZnAsIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqdmFsdWUpCit7CisJaWYgKCF2YWx1ZSkKKwkJcmV0dXJuOworCWZwcmludGYoZnAsICIlcz0lc1xuIiwga2V5LCB2YWx1ZSk7Cit9CisKK3N0YXRpYyB2b2lkIGNyZWRlbnRpYWxfd3JpdGUoY29uc3Qgc3RydWN0IGNyZWRlbnRpYWwgKmMpCit7CisJLyogb25seSB3cml0ZSB1c2VybmFtZS9wYXNzd29yZCwgaWYgc2V0ICovCisJY3JlZGVudGlhbF93cml0ZV9pdGVtKHN0ZG91dCwgInVzZXJuYW1lIiwgYy0+dXNlcm5hbWUpOworCWNyZWRlbnRpYWxfd3JpdGVfaXRlbShzdGRvdXQsICJwYXNzd29yZCIsIGMtPnBhc3N3b3JkKTsKK30KKworc3RhdGljIHZvaWQgdXNhZ2UoY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3QgY3JlZGVudGlhbF9vcGVyYXRpb24gY29uc3QgKnRyeV9vcCA9IGNyZWRlbnRpYWxfaGVscGVyX29wczsKKwljb25zdCBjaGFyICpiYXNlbmFtZSA9IHN0cnJjaHIobmFtZSwgJy8nKTsKKworCWJhc2VuYW1lID0gKGJhc2VuYW1lKSA/IGJhc2VuYW1lICsgMSA6IG5hbWU7CisJZnByaW50ZihzdGRlcnIsICJ1c2FnZTogJXMgPCIsIGJhc2VuYW1lKTsKKwl3aGlsZSAodHJ5X29wLT5uYW1lKSB7CisJCWZwcmludGYoc3RkZXJyLCAiJXMiLCAodHJ5X29wKyspLT5uYW1lKTsKKwkJaWYgKHRyeV9vcC0+bmFtZSkKKwkJCWZwcmludGYoc3RkZXJyLCAiJXMiLCAifCIpOworCX0KKwlmcHJpbnRmKHN0ZGVyciwgIiVzIiwgIj5cbiIpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCByZXQgPSBFWElUX1NVQ0NFU1M7CisKKwlzdHJ1Y3QgY3JlZGVudGlhbF9vcGVyYXRpb24gY29uc3QgKnRyeV9vcCA9IGNyZWRlbnRpYWxfaGVscGVyX29wczsKKwlzdHJ1Y3QgY3JlZGVudGlhbCBjcmVkID0gQ1JFREVOVElBTF9JTklUOworCisJaWYgKCFhcmd2WzFdKSB7CisJCXVzYWdlKGFyZ3ZbMF0pOworCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCisJZ19zZXRfYXBwbGljYXRpb25fbmFtZSgiR2l0IENyZWRlbnRpYWwgSGVscGVyIik7CisKKwkvKiBsb29rdXAgb3BlcmF0aW9uIGNhbGxiYWNrICovCisJd2hpbGUgKHRyeV9vcC0+bmFtZSAmJiBzdHJjbXAoYXJndlsxXSwgdHJ5X29wLT5uYW1lKSkKKwkJdHJ5X29wKys7CisKKwkvKiB1bnN1cHBvcnRlZCBvcGVyYXRpb24gZ2l2ZW4gLS0gaWdub3JlIHNpbGVudGx5ICovCisJaWYgKCF0cnlfb3AtPm5hbWUgfHwgIXRyeV9vcC0+b3ApCisJCWdvdG8gb3V0OworCisJcmV0ID0gY3JlZGVudGlhbF9yZWFkKCZjcmVkKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKworCS8qIHBlcmZvcm0gY3JlZGVudGlhbCBvcGVyYXRpb24gKi8KKwlyZXQgPSAoKnRyeV9vcC0+b3ApKCZjcmVkKTsKKworCWNyZWRlbnRpYWxfd3JpdGUoJmNyZWQpOworCitvdXQ6CisJY3JlZGVudGlhbF9jbGVhcigmY3JlZCk7CisJcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2NvbnRyaWIvZGlmZi1oaWdobGlnaHQvTWFrZWZpbGUgYi9jb250cmliL2RpZmYtaGlnaGxpZ2h0L01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMTg3MjQKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2RpZmYtaGlnaGxpZ2h0L01ha2VmaWxlCkBAIC0wLDAgKzEsNSBAQAorIyBub3RoaW5nIHRvIGJ1aWxkCithbGw6CisKK3Rlc3Q6CisJJChNQUtFKSAtQyB0CmRpZmYgLS1naXQgYS9jb250cmliL2RpZmYtaGlnaGxpZ2h0L2RpZmYtaGlnaGxpZ2h0IGIvY29udHJpYi9kaWZmLWhpZ2hsaWdodC9kaWZmLWhpZ2hsaWdodAppbmRleCBmZmVmYzMxLi44MWJkODA0IDEwMDc1NQotLS0gYS9jb250cmliL2RpZmYtaGlnaGxpZ2h0L2RpZmYtaGlnaGxpZ2h0CisrKyBiL2NvbnRyaWIvZGlmZi1oaWdobGlnaHQvZGlmZi1oaWdobGlnaHQKQEAgLTIxLDYgKzIxLDEwIEBACiBteSAkQ09MT1IgPSBxci9ceDFiXFtbMC05O10qbS87CiBteSAkQk9SSU5HID0gcXIvJENPTE9SfFxzLzsKIAorIyBUaGUgcGF0Y2ggcG9ydGlvbiBvZiBnaXQgbG9nIC1wIC0tZ3JhcGggc2hvdWxkIG9ubHkgZXZlciBoYXZlIHByZWNlZGluZyB8IGFuZAorIyBub3QgLyBvciBcIGFzIG1lcmdlIGhpc3Rvcnkgb25seSBzaG93cyB1cCBvbiB0aGUgY29tbWl0IGxpbmUuCitteSAkR1JBUEggPSBxci8kQ09MT1I/XHwkQ09MT1I/XHMrLzsKKwogbXkgQHJlbW92ZWQ7CiBteSBAYWRkZWQ7CiBteSAkaW5faHVuazsKQEAgLTMyLDEyICszNiwxMiBAQAogd2hpbGUgKDw+KSB7CiAJaWYgKCEkaW5faHVuaykgewogCQlwcmludDsKLQkJJGluX2h1bmsgPSAvXiRDT0xPUipcQC87CisJCSRpbl9odW5rID0gL14kR1JBUEgqJENPTE9SKlxAXEAgLzsKIAl9Ci0JZWxzaWYgKC9eJENPTE9SKi0vKSB7CisJZWxzaWYgKC9eJEdSQVBIKiRDT0xPUiotLykgewogCQlwdXNoIEByZW1vdmVkLCAkXzsKIAl9Ci0JZWxzaWYgKC9eJENPTE9SKlwrLykgeworCWVsc2lmICgvXiRHUkFQSCokQ09MT1IqXCsvKSB7CiAJCXB1c2ggQGFkZGVkLCAkXzsKIAl9CiAJZWxzZSB7CkBAIC00Niw3ICs1MCw3IEBACiAJCUBhZGRlZCA9ICgpOwogCiAJCXByaW50OwotCQkkaW5faHVuayA9IC9eJENPTE9SKltcQCBdLzsKKwkJJGluX2h1bmsgPSAvXiRHUkFQSCokQ09MT1IqW1xAIF0vOwogCX0KIAogCSMgTW9zdCBvZiB0aGUgdGltZSB0aGVyZSBpcyBlbm91Z2ggb3V0cHV0IHRvIGtlZXAgdGhpbmdzIHN0cmVhbWluZywKQEAgLTE2Myw2ICsxNjcsOSBAQAogCX0KIH0KIAorIyB3ZSBzcGxpdCBlaXRoZXIgYnkgJENPTE9SIG9yIGJ5IGNoYXJhY3Rlci4gVGhpcyBoYXMgdGhlIHNpZGUgZWZmZWN0IG9mCisjIGxlYXZpbmcgaW4gZ3JhcGggY3J1ZnQuIEl0IHdvcmtzIGJlY2F1c2UgdGhlIGdyYXBoIGNydWZ0IGRvZXMgbm90IGNvbnRhaW4gIi0iCisjIG9yICIrIgogc3ViIHNwbGl0X2xpbmUgewogCWxvY2FsICRfID0gc2hpZnQ7CiAJcmV0dXJuIHV0Zjg6OmRlY29kZSgkXykgPwpAQCAtMjExLDggKzIxOCw4IEBACiAJbXkgJHN1ZmZpeF9hID0gam9pbignJywgQCRhWygkc2ErMSkuLiQjJGFdKTsKIAlteSAkc3VmZml4X2IgPSBqb2luKCcnLCBAJGJbKCRzYisxKS4uJCMkYl0pOwogCi0JcmV0dXJuICRwcmVmaXhfYSAhfiAvXiRDT0xPUiotJEJPUklORyokLyB8fAotCSAgICAgICAkcHJlZml4X2IgIX4gL14kQ09MT1IqXCskQk9SSU5HKiQvIHx8CisJcmV0dXJuICRwcmVmaXhfYSAhfiAvXiRHUkFQSCokQ09MT1IqLSRCT1JJTkcqJC8gfHwKKwkgICAgICAgJHByZWZpeF9iICF+IC9eJEdSQVBIKiRDT0xPUipcKyRCT1JJTkcqJC8gfHwKIAkgICAgICAgJHN1ZmZpeF9hICF+IC9eJEJPUklORyokLyB8fAogCSAgICAgICAkc3VmZml4X2IgIX4gL14kQk9SSU5HKiQvOwogfQpkaWZmIC0tZ2l0IGEvY29udHJpYi9kaWZmLWhpZ2hsaWdodC90Ly5naXRpZ25vcmUgYi9jb250cmliL2RpZmYtaGlnaGxpZ2h0L3QvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGNiYjIzCi0tLSAvZGV2L251bGwKKysrIGIvY29udHJpYi9kaWZmLWhpZ2hsaWdodC90Ly5naXRpZ25vcmUKQEAgLTAsMCArMSwyIEBACisvdHJhc2ggZGlyZWN0b3J5KgorL3Rlc3QtcmVzdWx0cwpkaWZmIC0tZ2l0IGEvY29udHJpYi9kaWZmLWhpZ2hsaWdodC90L01ha2VmaWxlIGIvY29udHJpYi9kaWZmLWhpZ2hsaWdodC90L01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmZjUyNzUKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2RpZmYtaGlnaGxpZ2h0L3QvTWFrZWZpbGUKQEAgLTAsMCArMSwyMiBAQAorLWluY2x1ZGUgLi4vLi4vLi4vY29uZmlnLm1hay5hdXRvZ2VuCistaW5jbHVkZSAuLi8uLi8uLi9jb25maWcubWFrCisKKyMgY29waWVkIGZyb20gLi4vLi4vdC9NYWtlZmlsZQorU0hFTExfUEFUSCA/PSAkKFNIRUxMKQorU0hFTExfUEFUSF9TUSA9ICQoc3Vic3QgJywnXCcnLCQoU0hFTExfUEFUSCkpCitUID0gJCh3aWxkY2FyZCB0WzAtOV1bMC05XVswLTldWzAtOV0tKi5zaCkKKworYWxsOiB0ZXN0Cit0ZXN0OiAkKFQpCisKKy5QSE9OWTogaGVscCBjbGVhbiBhbGwgdGVzdCAkKFQpCisKK2hlbHA6CisJQGVjaG8gJ1J1biAiJChNQUtFKSB0ZXN0IiB0byBsYXVuY2ggdGVzdCBzY3JpcHRzJworCUBlY2hvICdSdW4gIiQoTUFLRSkgY2xlYW4iIHRvIHJlbW92ZSB0cmFzaCBmb2xkZXJzJworCiskKFQpOgorCUBlY2hvICIqKiogJEAgKioqIjsgJyQoU0hFTExfUEFUSF9TUSknICRAICQoR0lUX1RFU1RfT1BUUykKKworY2xlYW46CisJJChSTSkgLXIgJ3RyYXNoIGRpcmVjdG9yeScuKgpkaWZmIC0tZ2l0IGEvY29udHJpYi9kaWZmLWhpZ2hsaWdodC90L3Q5NDAwLWRpZmYtaGlnaGxpZ2h0LnNoIGIvY29udHJpYi9kaWZmLWhpZ2hsaWdodC90L3Q5NDAwLWRpZmYtaGlnaGxpZ2h0LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNiNDNkYmUKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2RpZmYtaGlnaGxpZ2h0L3QvdDk0MDAtZGlmZi1oaWdobGlnaHQuc2gKQEAgLTAsMCArMSwyOTYgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdUZXN0IGRpZmYtaGlnaGxpZ2h0JworCitDVVJSX0RJUj0kKHB3ZCkKK1RFU1RfT1VUUFVUX0RJUkVDVE9SWT0kKHB3ZCkKK1RFU1RfRElSRUNUT1JZPSIkQ1VSUl9ESVIiLy4uLy4uLy4uL3QKK0RJRkZfSElHSExJR0hUPSIkQ1VSUl9ESVIiLy4uL2RpZmYtaGlnaGxpZ2h0CisKK0NXPSIkKHByaW50ZiAiXDAzM1s3bSIpIgkjIHdoaXRlCitDUj0iJChwcmludGYgIlwwMzNbMjdtIikiCSMgcmVzZXQKKworLiAiJFRFU1RfRElSRUNUT1JZIi90ZXN0LWxpYi5zaAorCitpZiAhIHRlc3RfaGF2ZV9wcmVyZXEgUEVSTAordGhlbgorCXNraXBfYWxsPSdza2lwcGluZyBkaWZmLWhpZ2hsaWdodCB0ZXN0czsgcGVybCBub3QgYXZhaWxhYmxlJworCXRlc3RfZG9uZQorZmkKKworIyBkaF90ZXN0IGlzIGEgdGVzdCBoZWxwZXIgZnVuY3Rpb24gd2hpY2ggdGFrZXMgMyBmaWxlIG5hbWVzIGFzIHBhcmFtZXRlcnMuIFRoZQorIyBmaXJzdCAyIGZpbGVzIGFyZSB1c2VkIHRvIGdlbmVyYXRlIGRpZmYgYW5kIGNvbW1pdCBvdXRwdXQsIHdoaWNoIGlzIHRoZW4KKyMgcGlwZWQgdGhyb3VnaCBkaWZmLWhpZ2hsaWdodC4gVGhlIDNyZCBmaWxlIHNob3VsZCBjb250YWluIHRoZSBleHBlY3RlZCBvdXRwdXQKKyMgb2YgZGlmZi1oaWdobGlnaHQgKG1pbnVzIHRoZSBkaWZmL2NvbW1pdCBoZWFkZXIsIGllLiBldmVyeXRoaW5nIGFmdGVyIGFuZAorIyBpbmNsdWRpbmcgdGhlIGZpcnN0IEBAIGxpbmUpLgorZGhfdGVzdCAoKSB7CisJYT0iJDEiIGI9IiQyIiAmJgorCisJY2F0ID5wYXRjaC5leHAgJiYKKworCXsKKwkJY2F0ICIkYSIgPmZpbGUgJiYKKwkJZ2l0IGFkZCBmaWxlICYmCisJCWdpdCBjb21taXQgLW0gIkFkZCBhIGZpbGUiICYmCisKKwkJY2F0ICIkYiIgPmZpbGUgJiYKKwkJZ2l0IGRpZmYgZmlsZSA+ZGlmZi5yYXcgJiYKKwkJZ2l0IGNvbW1pdCAtYSAtbSAiVXBkYXRlIGEgZmlsZSIgJiYKKwkJZ2l0IHNob3cgPmNvbW1pdC5yYXcKKwl9ID4vZGV2L251bGwgJiYKKworCSIkRElGRl9ISUdITElHSFQiIDxkaWZmLnJhdyB8IHRlc3Rfc3RyaXBfcGF0Y2hfaGVhZGVyID5kaWZmLmFjdCAmJgorCSIkRElGRl9ISUdITElHSFQiIDxjb21taXQucmF3IHwgdGVzdF9zdHJpcF9wYXRjaF9oZWFkZXIgPmNvbW1pdC5hY3QgJiYKKwl0ZXN0X2NtcCBwYXRjaC5leHAgZGlmZi5hY3QgJiYKKwl0ZXN0X2NtcCBwYXRjaC5leHAgY29tbWl0LmFjdAorfQorCit0ZXN0X3N0cmlwX3BhdGNoX2hlYWRlciAoKSB7CisJc2VkIC1uICcvXkBALywkcCcgJCoKK30KKworIyBkaF90ZXN0X3NldHVwX2hpc3RvcnkgZ2VuZXJhdGVzIGEgY29udHJpdmVkIGdyYXBoIHN1Y2ggdGhhdCB3ZSBoYXZlIGF0IGxlYXN0CisjIDEgbmVzdGluZyAoRSkgYW5kIDIgbmVzdGluZ3MgKEYpLgorIworIwkgICAgICBBIGJyYW5jaAorIwkgICAgIC8KKyMJRC0tLUUtLS1GIG1hc3RlcgorIworIwlnaXQgbG9nIC0tYWxsIC0tZ3JhcGgKKyMJKiBjb21taXQKKyMJfCAgICBBCisjCXwgKiBjb21taXQKKyMJfCB8ICAgIEYKKyMJfCAqIGNvbW1pdAorIwl8LworIwl8ICAgIEUKKyMJKiBjb21taXQKKyMJICAgICBECisjCitkaF90ZXN0X3NldHVwX2hpc3RvcnkgKCkgeworCWVjaG8gImZpbGUxIiA+ZmlsZTEgJiYKKwllY2hvICJmaWxlMiIgPmZpbGUyICYmCisJZWNobyAiZmlsZTMiID5maWxlMyAmJgorCisJY2F0IGZpbGUxID5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJZ2l0IGNvbW1pdCAtbSAiRCIgJiYKKworCWdpdCBjaGVja291dCAtYiBicmFuY2ggJiYKKwljYXQgZmlsZTIgPmZpbGUgJiYKKwlnaXQgY29tbWl0IC1hIC1tICJBIiAmJgorCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCWNhdCBmaWxlMiA+ZmlsZSAmJgorCWdpdCBjb21taXQgLWEgLW0gIkUiICYmCisKKwljYXQgZmlsZTMgPmZpbGUgJiYKKwlnaXQgY29tbWl0IC1hIC1tICJGIgorfQorCitsZWZ0X3RyaW0gKCkgeworCSIkUEVSTF9QQVRIIiAtcGUgJ3MvXlxzKy8vJworfQorCit0cmltX2dyYXBoICgpIHsKKwkjIGdyYXBocyBzdGFydCB3aXRoICogb3IgfAorCSMgZm9sbG93ZWQgYnkgYSBzcGFjZSBvciAvIG9yIFwKKwkiJFBFUkxfUEFUSCIgLXBlICdzQF4oKFwqfFx8KSggfC98XFwpKStAQCcKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZi1oaWdobGlnaHQgaGlnaGxpZ2h0cyB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZScgJworCWNhdCA+YSA8PC1cRU9GICYmCisJCWFhYQorCQliYmIKKwkJY2NjCisJRU9GCisKKwljYXQgPmIgPDwtXEVPRiAmJgorCQlhYWEKKwkJMGJiCisJCWNjYworCUVPRgorCisJZGhfdGVzdCBhIGIgPDwtRU9GCisJCUBAIC0xLDMgKzEsMyBAQAorCQkgYWFhCisJCS0ke0NXfWIke0NSfWJiCisJCSske0NXfTAke0NSfWJiCisJCSBjY2MKKwlFT0YKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZi1oaWdobGlnaHQgaGlnaGxpZ2h0cyB0aGUgZW5kIG9mIGEgbGluZScgJworCWNhdCA+YSA8PC1cRU9GICYmCisJCWFhYQorCQliYmIKKwkJY2NjCisJRU9GCisKKwljYXQgPmIgPDwtXEVPRiAmJgorCQlhYWEKKwkJYmIwCisJCWNjYworCUVPRgorCisJZGhfdGVzdCBhIGIgPDwtRU9GCisJCUBAIC0xLDMgKzEsMyBAQAorCQkgYWFhCisJCS1iYiR7Q1d9YiR7Q1J9CisJCStiYiR7Q1d9MCR7Q1J9CisJCSBjY2MKKwlFT0YKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZi1oaWdobGlnaHQgaGlnaGxpZ2h0cyB0aGUgbWlkZGxlIG9mIGEgbGluZScgJworCWNhdCA+YSA8PC1cRU9GICYmCisJCWFhYQorCQliYmIKKwkJY2NjCisJRU9GCisKKwljYXQgPmIgPDwtXEVPRiAmJgorCQlhYWEKKwkJYjBiCisJCWNjYworCUVPRgorCisJZGhfdGVzdCBhIGIgPDwtRU9GCisJCUBAIC0xLDMgKzEsMyBAQAorCQkgYWFhCisJCS1iJHtDV31iJHtDUn1iCisJCStiJHtDV30wJHtDUn1iCisJCSBjY2MKKwlFT0YKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZi1oaWdobGlnaHQgZG9lcyBub3QgaGlnaGxpZ2h0IHdob2xlIGxpbmUnICcKKwljYXQgPmEgPDwtXEVPRiAmJgorCQlhYWEKKwkJYmJiCisJCWNjYworCUVPRgorCisJY2F0ID5iIDw8LVxFT0YgJiYKKwkJYWFhCisJCTAwMAorCQljY2MKKwlFT0YKKworCWRoX3Rlc3QgYSBiIDw8LUVPRgorCQlAQCAtMSwzICsxLDMgQEAKKwkJIGFhYQorCQktYmJiCisJCSswMDAKKwkJIGNjYworCUVPRgorJworCit0ZXN0X2V4cGVjdF9mYWlsdXJlICdkaWZmLWhpZ2hsaWdodCBoaWdobGlnaHRzIG1pc21hdGNoZWQgaHVuayBzaXplJyAnCisJY2F0ID5hIDw8LVxFT0YgJiYKKwkJYWFhCisJCWJiYgorCUVPRgorCisJY2F0ID5iIDw8LVxFT0YgJiYKKwkJYWFhCisJCWIwYgorCQljY2MKKwlFT0YKKworCWRoX3Rlc3QgYSBiIDw8LUVPRgorCQlAQCAtMSwzICsxLDMgQEAKKwkJIGFhYQorCQktYiR7Q1d9YiR7Q1J9YgorCQkrYiR7Q1d9MCR7Q1J9YgorCQkrY2NjCisJRU9GCisnCisKKyMgVGhlc2UgdHdvIGNvZGUgcG9pbnRzIHNoYXJlIHRoZSBzYW1lIGxlYWRpbmcgYnl0ZSBpbiBVVEYtOCByZXByZXNlbnRhdGlvbjsKKyMgYSBuYWl2ZSBieXRlLXdpc2UgZGlmZiB3b3VsZCBoaWdobGlnaHQgb25seSB0aGUgc2Vjb25kIGJ5dGUuCisjCisjICAgLSBVKzAwZjMgKCJvIiB3aXRoIGFjdXRlKQorb19hY2NlbnQ9JChwcmludGYgJ1wzMDNcMjYzJykKKyMgICAtIFUrMDBmOCAoIm8iIHdpdGggc3Ryb2tlKQorb19zdHJva2U9JChwcmludGYgJ1wzMDNcMjcwJykKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZi1oaWdobGlnaHQgdHJlYXRzIG11bHRpYnl0ZSB1dGYtOCBhcyBhIHVuaXQnICcKKwllY2hvICJ1bmljJHtvX2FjY2VudH1kZSIgPmEgJiYKKwllY2hvICJ1bmljJHtvX3N0cm9rZX1kZSIgPmIgJiYKKwlkaF90ZXN0IGEgYiA8PC1FT0YKKwkJQEAgLTEgKzEgQEAKKwkJLXVuaWMke0NXfSR7b19hY2NlbnR9JHtDUn1kZQorCQkrdW5pYyR7Q1d9JHtvX3N0cm9rZX0ke0NSfWRlCisJRU9GCisnCisKKyMgVW5saWtlIHRoZSBVVEYtOCBhYm92ZSwgdGhlc2UgYXJlIGNvbWJpbmluZyBjb2RlIHBvaW50cyB3aGljaCBhcmUgbWVhbnQKKyMgdG8gbW9kaWZ5IHRoZSBjaGFyYWN0ZXIgcHJlY2VkaW5nIHRoZW06CisjCisjICAgLSBVKzAzMDEgKGNvbWJpbmluZyBhY3V0ZSBhY2NlbnQpCitjb21iaW5lX2FjY2VudD0kKHByaW50ZiAnXDMxNFwyMDEnKQorIyAgIC0gVSswMzAyIChjb21iaW5pbmcgY2lyY3VtZmxleCkKK2NvbWJpbmVfY2lyY3VtPSQocHJpbnRmICdcMzE0XDIwMicpCisKK3Rlc3RfZXhwZWN0X2ZhaWx1cmUgJ2RpZmYtaGlnaGxpZ2h0IHRyZWF0cyBjb21iaW5pbmcgY29kZSBwb2ludHMgYXMgYSB1bml0JyAnCisJZWNobyAidW5pY28ke2NvbWJpbmVfYWNjZW50fWRlIiA+YSAmJgorCWVjaG8gInVuaWNvJHtjb21iaW5lX2NpcmN1bX1kZSIgPmIgJiYKKwlkaF90ZXN0IGEgYiA8PC1FT0YKKwkJQEAgLTEgKzEgQEAKKwkJLXVuaWMke0NXfW8ke2NvbWJpbmVfYWNjZW50fSR7Q1J9ZGUKKwkJK3VuaWMke0NXfW8ke2NvbWJpbmVfY2lyY3VtfSR7Q1J9ZGUKKwlFT0YKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZi1oaWdobGlnaHQgd29ya3Mgd2l0aCB0aGUgLS1ncmFwaCBvcHRpb24nICcKKwlkaF90ZXN0X3NldHVwX2hpc3RvcnkgJiYKKworCSMgdG9wby1vcmRlciBzbyB0aGF0IHRoZSBvcmRlciBvZiB0aGUgY29tbWl0cyBpcyB0aGUgc2FtZSBhcyB3aXRoIC0tZ3JhcGgKKwkjIHRyaW0gZ3JhcGggZWxlbWVudHMgc28gd2UgY2FuIGRvIGEgZGlmZgorCSMgdHJpbSBsZWFkaW5nIHNwYWNlIGJlY2F1c2Ugb3VyIHRyaW1fZ3JhcGggaXMgbm90IHBlcmZlY3QKKwlnaXQgbG9nIC0tYnJhbmNoZXMgLXAgLS10b3BvLW9yZGVyIHwKKwkJIiRESUZGX0hJR0hMSUdIVCIgfCBsZWZ0X3RyaW0gPmdyYXBoLmV4cCAmJgorCWdpdCBsb2cgLS1icmFuY2hlcyAtcCAtLWdyYXBoIHwKKwkJIiRESUZGX0hJR0hMSUdIVCIgfCB0cmltX2dyYXBoIHwgbGVmdF90cmltID5ncmFwaC5hY3QgJiYKKwl0ZXN0X2NtcCBncmFwaC5leHAgZ3JhcGguYWN0CisnCisKKyMgTW9zdCBjb21iaW5lZCBkaWZmcyB3b24ndCBtZWV0IGRpZmYtaGlnaGxpZ2h0J3MgbGluZS1udW1iZXIgZmlsdGVyLiBTbyB3ZQorIyBjcmVhdGUgb25lIGhlcmUgd2hlcmUgb25lIHNpZGUgZHJvcHMgYSBsaW5lIGFuZCB0aGUgb3RoZXIgbW9kaWZpZXMgaXQuIFRoYXQKKyMgc2hvdWxkIHJlc3VsdCBpbiBhIGRpZmYgbGlrZToKKyMKKyMgICAgLSBtb2RpZmllZCBjb250ZW50CisjICAgICsrcmVzb2x2ZWQgY29udGVudAorIworIyB3aGljaCBuYWl2ZWx5IGxvb2tzIGxpa2Ugb25lIHNpZGUgYWRkZWQgIityZXNvbHZlZCIuCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmLWhpZ2hsaWdodCBpZ25vcmVzIGNvbWJpbmVkIGRpZmZzJyAnCisJZWNobyAiY29udGVudCIgPmZpbGUgJiYKKwlnaXQgYWRkIGZpbGUgJiYKKwlnaXQgY29tbWl0IC1tIGJhc2UgJiYKKworCT5maWxlICYmCisJZ2l0IGNvbW1pdCAtYW0gbWFzdGVyICYmCisKKwlnaXQgY2hlY2tvdXQgLWIgb3RoZXIgSEVBRF4gJiYKKwllY2hvICJtb2RpZmllZCBjb250ZW50IiA+ZmlsZSAmJgorCWdpdCBjb21taXQgLWFtIG90aGVyICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgbWFzdGVyICYmCisJZWNobyAicmVzb2x2ZWQgY29udGVudCIgPmZpbGUgJiYKKwlnaXQgY29tbWl0IC1hbSByZXNvbHZlZCAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS0tLSBhL2ZpbGUKKwkrKysgYi9maWxlCisJQEBAIC0xLDEgLTEsMCArMSwxIEBAQAorCS0gbW9kaWZpZWQgY29udGVudAorCSsrcmVzb2x2ZWQgY29udGVudAorCUVPRgorCisJZ2l0IHNob3cgLWMgfCAiJERJRkZfSElHSExJR0hUIiA+YWN0dWFsLnJhdyAmJgorCXNlZCAtbiAiL14tLS0vLFwkcCIgPGFjdHVhbC5yYXcgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS9jb250cmliL2Zhc3QtaW1wb3J0L2ltcG9ydC10YXJzLnBlcmwgYi9jb250cmliL2Zhc3QtaW1wb3J0L2ltcG9ydC10YXJzLnBlcmwKaW5kZXggOTU0MzhlMS4uZDYwYjQzMSAxMDA3NTUKLS0tIGEvY29udHJpYi9mYXN0LWltcG9ydC9pbXBvcnQtdGFycy5wZXJsCisrKyBiL2NvbnRyaWIvZmFzdC1pbXBvcnQvaW1wb3J0LXRhcnMucGVybApAQCAtOTYsMTggKzk2LDIxIEBACiAJCSRtdGltZSA9IG9jdCAkbXRpbWU7CiAJCW5leHQgaWYgJHR5cGVmbGFnID09IDU7ICMgZGlyZWN0b3J5CiAKLQkJcHJpbnQgRkkgImJsb2JcbiIsICJtYXJrIDokbmV4dF9tYXJrXG4iOwotCQlpZiAoJHR5cGVmbGFnID09IDIpIHsgIyBzeW1ib2xpYyBsaW5rCi0JCQlwcmludCBGSSAiZGF0YSAiLCBsZW5ndGgoJGxpbmtuYW1lKSwgIlxuIiwgJGxpbmtuYW1lOwotCQkJJG1vZGUgPSAwMTIwMDAwOwotCQl9IGVsc2UgewotCQkJcHJpbnQgRkkgImRhdGEgJHNpemVcbiI7Ci0JCQl3aGlsZSAoJHNpemUgPiAwICYmIHJlYWQoSSwgJF8sIDUxMikgPT0gNTEyKSB7Ci0JCQkJcHJpbnQgRkkgc3Vic3RyKCRfLCAwLCAkc2l6ZSk7Ci0JCQkJJHNpemUgLT0gNTEyOworCQlpZiAoJHR5cGVmbGFnICE9IDEpIHsgIyBoYW5kbGUgaGFyZCBsaW5rcyBsYXRlcgorCQkJcHJpbnQgRkkgImJsb2JcbiIsICJtYXJrIDokbmV4dF9tYXJrXG4iOworCQkJaWYgKCR0eXBlZmxhZyA9PSAyKSB7ICMgc3ltYm9saWMgbGluaworCQkJCXByaW50IEZJICJkYXRhICIsIGxlbmd0aCgkbGlua25hbWUpLCAiXG4iLAorCQkJCQkkbGlua25hbWU7CisJCQkJJG1vZGUgPSAwMTIwMDAwOworCQkJfSBlbHNlIHsKKwkJCQlwcmludCBGSSAiZGF0YSAkc2l6ZVxuIjsKKwkJCQl3aGlsZSAoJHNpemUgPiAwICYmIHJlYWQoSSwgJF8sIDUxMikgPT0gNTEyKSB7CisJCQkJCXByaW50IEZJIHN1YnN0cigkXywgMCwgJHNpemUpOworCQkJCQkkc2l6ZSAtPSA1MTI7CisJCQkJfQogCQkJfQorCQkJcHJpbnQgRkkgIlxuIjsKIAkJfQotCQlwcmludCBGSSAiXG4iOwogCiAJCW15ICRwYXRoOwogCQlpZiAoJHByZWZpeCkgewpAQCAtMTE1LDcgKzExOCwxMyBAQAogCQl9IGVsc2UgewogCQkJJHBhdGggPSAiJG5hbWUiOwogCQl9Ci0JCSRmaWxlc3skcGF0aH0gPSBbJG5leHRfbWFyaysrLCAkbW9kZV07CisKKwkJaWYgKCR0eXBlZmxhZyA9PSAxKSB7ICMgaGFyZCBsaW5rCisJCQkkbGlua25hbWUgPSAiJHByZWZpeC8kbGlua25hbWUiIGlmICRwcmVmaXg7CisJCQkkZmlsZXN7JHBhdGh9ID0gWyAkZmlsZXN7JGxpbmtuYW1lfS0+WzBdLCAkbW9kZSBdOworCQl9IGVsc2UgeworCQkJJGZpbGVzeyRwYXRofSA9IFskbmV4dF9tYXJrKyssICRtb2RlXTsKKwkJfQogCiAJCSRhdXRob3JfdGltZSA9ICRtdGltZSBpZiAkbXRpbWUgPiAkYXV0aG9yX3RpbWU7CiAJCSRwYXRoID1+IG0sXihbXi9dKykvLDsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvZ2l0LWp1bXAvUkVBRE1FIGIvY29udHJpYi9naXQtanVtcC9SRUFETUUKaW5kZXggMWNlYmMzMi4uMjI1ZTNmMCAxMDA2NDQKLS0tIGEvY29udHJpYi9naXQtanVtcC9SRUFETUUKKysrIGIvY29udHJpYi9naXQtanVtcC9SRUFETUUKQEAgLTI5LDcgKzI5LDcgQEAKIGBmb28uY2AgeW91cnNlbGYuIEJ1dCB3aGVuIHlvdSBoYXZlIG1hbnkgY2hhbmdlcyBzY2F0dGVyZWQgYWNyb3NzIGEKIHByb2plY3QsIHlvdSBjYW4gdXNlIHRoZSBlZGl0b3IncyBzdXBwb3J0IHRvICJqdW1wIiBmcm9tIHBvaW50IHRvIHBvaW50LgogCi1HaXQtanVtcCBjYW4gZ2VuZXJhdGUgdGhyZWUgdHlwZXMgb2YgaW50ZXJlc3RpbmcgbGlzdHM6CitHaXQtanVtcCBjYW4gZ2VuZXJhdGUgZm91ciB0eXBlcyBvZiBpbnRlcmVzdGluZyBsaXN0czoKIAogICAxLiBUaGUgYmVnaW5uaW5nIG9mIGFueSBkaWZmIGh1bmtzLgogCkBAIC0zNyw2ICszNyw4IEBACiAKICAgMy4gQW55IGdyZXAgbWF0Y2hlcy4KIAorICA0LiBBbnkgd2hpdGVzcGFjZSBlcnJvcnMgZGV0ZWN0ZWQgYnkgYGdpdCBkaWZmIC0tY2hlY2tgLgorCiAKIFVzaW5nIGdpdC1qdW1wCiAtLS0tLS0tLS0tLS0tLQpAQCAtODMsNyArODUsNyBAQAogTGltaXRhdGlvbnMKIC0tLS0tLS0tLS0tCiAKLVRoaXMgc2NyaXB0cyB3YXMgd3JpdHRlbiBhbmQgdGVzdGVkIHdpdGggdmltLiBHaXZlbiB0aGF0IHRoZSBxdWlja2ZpeAorVGhpcyBzY3JpcHQgd2FzIHdyaXR0ZW4gYW5kIHRlc3RlZCB3aXRoIHZpbS4gR2l2ZW4gdGhhdCB0aGUgcXVpY2tmaXgKIGZvcm1hdCBpcyB0aGUgc2FtZSBhcyB3aGF0IGdjYyBwcm9kdWNlcywgSSBleHBlY3QgZW1hY3MgdXNlcnMgaGF2ZSBhCiBzaW1pbGFyIGZlYXR1cmUgZm9yIGl0ZXJhdGluZyB0aHJvdWdoIHRoZSBsaXN0LCBidXQgSSBrbm93IG5vdGhpbmcgYWJvdXQKIGhvdyB0byBhY3RpdmF0ZSBpdC4KZGlmZiAtLWdpdCBhL2NvbnRyaWIvZ2l0LWp1bXAvZ2l0LWp1bXAgYi9jb250cmliL2dpdC1qdW1wL2dpdC1qdW1wCmluZGV4IGRjOTBjZDYuLjQyN2YyMDYgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvZ2l0LWp1bXAvZ2l0LWp1bXAKKysrIGIvY29udHJpYi9naXQtanVtcC9naXQtanVtcApAQCAtMTIsNiArMTIsOCBAQAogbWVyZ2U6IGVsZW1lbnRzIGFyZSBtZXJnZSBjb25mbGljdHMuIEFyZ3VtZW50cyBhcmUgaWdub3JlZC4KIAogZ3JlcDogZWxlbWVudHMgYXJlIGdyZXAgaGl0cy4gQXJndW1lbnRzIGFyZSBnaXZlbiB0byBncmVwLgorCit3czogZWxlbWVudHMgYXJlIHdoaXRlc3BhY2UgZXJyb3JzLiBBcmd1bWVudHMgYXJlIGdpdmVuIHRvIGRpZmYgLS1jaGVjay4KIEVPRgogfQogCkBAIC0yNSw3ICsyNyw3IEBACiAJcGVybCAtbmUgJwogCWlmIChte15cK1wrXCsgKC4qKX0pIHsgJGZpbGUgPSAkMTsgbmV4dCB9CiAJZGVmaW5lZCgkZmlsZSkgb3IgbmV4dDsKLQlpZiAobS9eQEAgLipcKyhcZCspLykgeyAkbGluZSA9ICQxOyBuZXh0IH0KKwlpZiAobS9eQEAgLio/XCsoXGQrKS8pIHsgJGxpbmUgPSAkMTsgbmV4dCB9CiAJZGVmaW5lZCgkbGluZSkgb3IgbmV4dDsKIAlpZiAoL14gLykgeyAkbGluZSsrOyBuZXh0IH0KIAlpZiAoL15bLStdXHMqKC4qKS8pIHsKQEAgLTU1LDYgKzU3LDEwIEBACiAJJwogfQogCittb2RlX3dzKCkgeworCWdpdCBkaWZmIC0tY2hlY2sgIiRAIgorfQorCiBpZiB0ZXN0ICQjIC1sdCAxOyB0aGVuCiAJdXNhZ2UgPiYyCiAJZXhpdCAxCmRpZmYgLS1naXQgYS9jb250cmliL2hvb2tzL211bHRpbWFpbC9DSEFOR0VTIGIvY29udHJpYi9ob29rcy9tdWx0aW1haWwvQ0hBTkdFUwppbmRleCAxMDBjYzdhLi4yMDc2Y2Y5IDEwMDY0NAotLS0gYS9jb250cmliL2hvb2tzL211bHRpbWFpbC9DSEFOR0VTCisrKyBiL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL0NIQU5HRVMKQEAgLTEsMyArMSw2MiBAQAorUmVsZWFzZSAxLjQuMAorPT09PT09PT09PT09PQorCitOZXcgZmVhdHVyZXMgdG8gdHJvdWJsZXNob290IGEgZ2l0LW11bHRpbWFpbCBpbnN0YWxsYXRpb24KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisqIE9uZSBjYW4gbm93IHBlcmZvcm0gYSBiYXNpYyBjaGVjayBvZiBnaXQtbXVsdGltYWlsJ3Mgc2V0dXAgYnkKKyAgcnVubmluZyB0aGUgaG9vayB3aXRoIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZQorICBHSVRfTVVMVElNQUlMX0NIRUNLX1NFVFVQIHNldCB0byBhIG5vbi1lbXB0eSBzdHJpbmcuIFNlZQorICBkb2MvdHJvdWJsZXNob290aW5nLnJzdCBmb3IgZGV0YWlscy4KKworKiBBIG5ldyBsb2cgZmlsZXMgc3lzdGVtIHdhcyBhZGRlZC4gU2VlIHRoZSBtdWx0aW1haWxob29rLmxvZ0ZpbGUsCisgIG11bHRpbWFpbGhvb2suZXJyb3JMb2dGaWxlIGFuZCBtdWx0aW1haWxob29rLmRlYnVnTG9nRmlsZSB2YXJpYWJsZXMuCisKKyogZ2l0X211bHRpbWFpbC5weSBjYW4gbm93IGJlIG1hZGUgbW9yZSB2ZXJib3NlIHVzaW5nCisgIG11bHRpbWFpbGhvb2sudmVyYm9zZS4KKworKiBBIG5ldyBvcHRpb24gLS1jaGVjay1yZWYtZmlsdGVyIGlzIG5vdyBhdmFpbGFibGUgdG8gaGVscCBkZWJ1Z2dpbmcKKyAgdGhlIHJlZkZpbHRlciogb3B0aW9ucy4KKworRm9ybWF0dGluZyBlbWFpbHMKKy0tLS0tLS0tLS0tLS0tLS0tCisKKyogRm9ybWF0dGluZyBvZiBlbWFpbHMgd2FzIG1hZGUgc2xpZ2h0bHkgbW9yZSBjb21wYWN0LCB0byByZWR1Y2UgdGhlCisgIG9kZHMgb2YgaGF2aW5nIGxvbmcgc3ViamVjdCBsaW5lcyB0cnVuY2F0ZWQgb3Igd3JhcHBlZCBpbiBzaG9ydCBsaXN0CisgIG9mIGNvbW1pdHMuCisKKyogbXVsdGltYWlsaG9vay5lbWFpbFByZWZpeCBtYXkgbm93IHVzZSB0aGUgJyUocmVwb19zaG9ydG5hbWUpcycKKyAgcGxhY2Vob2xkZXIgZm9yIHRoZSByZXBvc2l0b3J5J3Mgc2hvcnQgbmFtZS4KKworKiBBIG5ldyBvcHRpb24gbXVsdGltYWlsaG9vay5zdWJqZWN0TWF4TGVuZ3RoIGlzIGF2YWlsYWJsZSB0byB0cnVuY2F0ZQorICBvdmVybHkgbG9uZyBzdWJqZWN0IGxpbmVzLgorCitCdWcgZml4ZXMgYW5kIG1pbm9yIGNoYW5nZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisqIE9wdGlvbnMgcmVmRmlsdGVyRG9TZW5kUmVnZXggYW5kIHJlZkZpbHRlckRvbnRTZW5kUmVnZXggd2VyZQorICBlc3NlbnRpYWxseSBicm9rZW4uIFRoZXkgc2hvdWxkIHdvcmsgbm93LgorCisqIFRoZSBiZWhhdmlvciB3aGVuIGJvdGggcmVmRmlsdGVye0RvLERvbnR9U2VuZFJlZ2V4IGFuZAorICByZWZGaWx0ZXJ7RXhjbHVzaW9uLEluY2x1c2lvbn1SZWdleCBhcmUgc2V0IGhhdmUgYmVlbiBzbGlnaHRseQorICBjaGFuZ2VkLiBFeGNsdXNpb24vSW5jbHVzaW9uIGlzIG5vdyBzdHJpY3RseSBzdHJvbmdlciB0aGFuCisgIERvU2VuZC9Eb250U2VuZC4KKworKiBUaGUgbWFuYWdlbWVudCBvZiBwcmVjZWRlbmNlIHdoZW4gYSBzZXR0aW5nIGNhbiBiZSBjb21wdXRlZCBpbgorICBtdWx0aXBsZSB3YXlzIGhhcyBiZWVuIGNvbnNpZGVyYWJseSByZWZhY3RvcmVkIGFuZCBtb2RpZmllZC4KKyAgbXVsdGltYWlsaG9vay5mcm9tIGFuZCBtdWx0aW1haWxob29rLnJlcG9uYW1lIG5vdyBoYXZlIHByZWNlZGVuY2UKKyAgb3ZlciB0aGUgZW52aXJvbm1lbnQtc3BlY2lmaWMgc2V0dGluZ3MgKCRHTF9SRVBPLyRHTF9VU0VSIGZvcgorICBnaXRvbGl0ZSwgLS1zdGFzaC11c2VyL3JlcG8gZm9yIFN0YXNoLCAtLXN1Ym1pdHRlci8tLXByb2plY3QgZm9yCisgIEdlcnJpdCkuCisKKyogVGhlIGNvdmVyYWdlIG9mIHRoZSB0ZXN0c3VpdGUgaGFzIGJlZW4gY29uc2lkZXJhYmx5IGltcHJvdmVkLiBBbGwKKyAgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMgbm93IGFwcGVhciBhdCBsZWFzdCBvbmNlIGluIHRoZSB0ZXN0c3VpdGUuCisKK1RoaXMgdmVyc2lvbiB3YXMgdGVzdGVkIHdpdGggUHl0aG9uIDIuNiB0byAzLjUuIEl0IGFsc28gbW9zdGx5IHdvcmtzCit3aXRoIFB5dGhvbiAyLjQsIGJ1dCB0aGVyZSBpcyBvbmUga25vd24gYnJlYWthZ2UgaW4gdGhlIHRlc3RzdWl0ZQorcmVsYXRlZCB0byBub24tYXNjaWkgY2hhcmFjdGVycy4gSXQgd2FzIHRlc3RlZCB3aXRoIEdpdAorMS43LjEwLjQwNi5nZGM4MDEsIDEuOC41LjYsIDIuMS40LCBhbmQgMi4xMC4wLnJjMC4xLmcwN2M5MjkyLgorCiBSZWxlYXNlIDEuMy4xIChidWdmaXgtb25seSByZWxlYXNlKQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIApkaWZmIC0tZ2l0IGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvQ09OVFJJQlVUSU5HLnJzdCBiL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL0NPTlRSSUJVVElORy5yc3QKaW5kZXggNTMwZWNiZi4uZGE2NTU3MCAxMDA2NDQKLS0tIGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvQ09OVFJJQlVUSU5HLnJzdAorKysgYi9jb250cmliL2hvb2tzL211bHRpbWFpbC9DT05UUklCVVRJTkcucnN0CkBAIC00LDggKzQsOSBAQAogZ2l0LW11bHRpbWFpbCBpcyBhbiBvcGVuLXNvdXJjZSBwcm9qZWN0LCBidWlsdCBieSB2b2x1bnRlZXJzLiBXZSB3b3VsZAogd2VsY29tZSB5b3VyIGhlbHAhCiAKLVRoZSBjdXJyZW50IG1haW50YWluZXJzIGFyZSBNaWNoYWVsIEhhZ2dlcnR5IDxtaGFnZ2VyQGFsdW0ubWl0LmVkdT4KLWFuZCBNYXR0aGlldSBNb3kgPG1hdHRoaWV1Lm1veUBncmVub2JsZS1pbnAuZnI+LgorVGhlIGN1cnJlbnQgbWFpbnRhaW5lcnMgYXJlIE1hdHRoaWV1IE1veQorPG1hdHRoaWV1Lm1veUBncmVub2JsZS1pbnAuZnI+IGFuZCBNaWNoYWVsIEhhZ2dlcnR5Cis8bWhhZ2dlckBhbHVtLm1pdC5lZHU+LgogCiBQbGVhc2Ugbm90ZSB0aGF0IGFsdGhvdWdoIGEgY29weSBvZiBnaXQtbXVsdGltYWlsIGlzIGRpc3RyaWJ1dGVkIGluCiB0aGUgImNvbnRyaWIiIHNlY3Rpb24gb2YgdGhlIG1haW4gR2l0IHByb2plY3QsIGRldmVsb3BtZW50IHRha2VzIHBsYWNlCkBAIC0yMiw2ICsyMywxMCBAQAogcHJvamVjdCBwcmFjdGljZQogPGh0dHBzOi8vZ2l0aHViLmNvbS9naXQvZ2l0L2Jsb2IvbWFzdGVyL0RvY3VtZW50YXRpb24vU3VibWl0dGluZ1BhdGNoZXMjTDIzND5gX18uCiAKK1BsZWFzZSB2b3RlIGZvciBpc3N1ZXMgeW91IHdvdWxkIGxpa2UgdG8gYmUgYWRkcmVzc2VkIGluIHByaW9yaXR5CisoY2xpY2sgImFkZCB5b3VyIHJlYWN0aW9uIiBhbmQgdGhlbiB0aGUgIisxIiB0aHVtYnMtdXAgYnV0dG9uIG9uIHRoZQorR2l0SHViIGlzc3VlKS4KKwogR2VuZXJhbCBkaXNjdXNzaW9uIG9mIGdpdC1tdWx0aW1haWwgY2FuIHRha2UgcGxhY2Ugb24gdGhlIG1haW4gYEdpdAogbWFpbGluZyBsaXN0YF8uCiAKZGlmZiAtLWdpdCBhL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL1JFQURNRSBiL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL1JFQURNRQppbmRleCAwYzkxZDE5Li41MTA1MzczIDEwMDY0NAotLS0gYS9jb250cmliL2hvb2tzL211bHRpbWFpbC9SRUFETUUKKysrIGIvY29udHJpYi9ob29rcy9tdWx0aW1haWwvUkVBRE1FCkBAIC0xLDExICsxLDExIEBACi1naXQtbXVsdGltYWlsIDEuMy4xCi09PT09PT09PT09PT09PT09PT09CitnaXQtbXVsdGltYWlsIHZlcnNpb24gMS40LjAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PQogCiAuLiBpbWFnZTo6IGh0dHBzOi8vdHJhdmlzLWNpLm9yZy9naXQtbXVsdGltYWlsL2dpdC1tdWx0aW1haWwuc3ZnP2JyYW5jaD1tYXN0ZXIKICAgICA6dGFyZ2V0OiBodHRwczovL3RyYXZpcy1jaS5vcmcvZ2l0LW11bHRpbWFpbC9naXQtbXVsdGltYWlsCiAKIGdpdC1tdWx0aW1haWwgaXMgYSB0b29sIGZvciBzZW5kaW5nIG5vdGlmaWNhdGlvbiBlbWFpbHMgb24gcHVzaGVzIHRvIGEKLUdpdCByZXBvc2l0b3J5LiAgSXQgaW5jbHVkZXMgYSBQeXRob24gbW9kdWxlIGNhbGxlZCBnaXRfbXVsdGltYWlsLnB5LAorR2l0IHJlcG9zaXRvcnkuICBJdCBpbmNsdWRlcyBhIFB5dGhvbiBtb2R1bGUgY2FsbGVkIGBgZ2l0X211bHRpbWFpbC5weWBgLAogd2hpY2ggY2FuIGVpdGhlciBiZSB1c2VkIGFzIGEgaG9vayBzY3JpcHQgZGlyZWN0bHkgb3IgY2FuIGJlIGltcG9ydGVkCiBhcyBhIFB5dGhvbiBtb2R1bGUgaW50byBhbm90aGVyIHNjcmlwdC4KIApAQCAtOTMsMjAgKzkzLDIwIEBACiBJbnZvY2F0aW9uCiAtLS0tLS0tLS0tCiAKLWdpdF9tdWx0aW1haWwucHkgaXMgZGVzaWduZWQgdG8gYmUgdXNlZCBhcyBhIGBgcG9zdC1yZWNlaXZlYGAgaG9vayBpbiBhCitgYGdpdF9tdWx0aW1haWwucHlgYCBpcyBkZXNpZ25lZCB0byBiZSB1c2VkIGFzIGEgYGBwb3N0LXJlY2VpdmVgYCBob29rIGluIGEKIEdpdCByZXBvc2l0b3J5IChzZWUgZ2l0aG9va3MoNSkpLiAgTGluayBvciBjb3B5IGl0IHRvCiAkR0lUX0RJUi9ob29rcy9wb3N0LXJlY2VpdmUgd2l0aGluIHRoZSByZXBvc2l0b3J5IGZvciB3aGljaCBlbWFpbAogbm90aWZpY2F0aW9ucyBhcmUgZGVzaXJlZC4gIFVzdWFsbHkgaXQgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiB0aGUKIGNlbnRyYWwgcmVwb3NpdG9yeSBmb3IgYSBwcm9qZWN0LCB0byB3aGljaCBhbGwgY29tbWl0cyBhcmUgZXZlbnR1YWxseQogcHVzaGVkLgogCi1Gb3IgdXNlIG9uIHByZS12MS41LjEgR2l0IHNlcnZlcnMsIGdpdF9tdWx0aW1haWwucHkgY2FuIGFsc28gd29yayBhcworRm9yIHVzZSBvbiBwcmUtdjEuNS4xIEdpdCBzZXJ2ZXJzLCBgYGdpdF9tdWx0aW1haWwucHlgYCBjYW4gYWxzbyB3b3JrIGFzCiBhbiBgYHVwZGF0ZWBgIGhvb2ssIHRha2luZyBpdHMgYXJndW1lbnRzIG9uIHRoZSBjb21tYW5kIGxpbmUuICBUbyB1c2UKIHRoaXMgc2NyaXB0IGluIHRoaXMgbWFubmVyLCBsaW5rIG9yIGNvcHkgaXQgdG8gJEdJVF9ESVIvaG9va3MvdXBkYXRlLgogUGxlYXNlIG5vdGUgdGhhdCB0aGUgc2NyaXB0IGlzIG5vdCBjb21wbGV0ZWx5IHJlbGlhYmxlIGluIHRoaXMgbW9kZQotWzJdXy4KK1sxXV8uCiAKLUFsdGVybmF0aXZlbHksIGdpdF9tdWx0aW1haWwucHkgY2FuIGJlIGltcG9ydGVkIGFzIGEgUHl0aG9uIG1vZHVsZQorQWx0ZXJuYXRpdmVseSwgYGBnaXRfbXVsdGltYWlsLnB5YGAgY2FuIGJlIGltcG9ydGVkIGFzIGEgUHl0aG9uIG1vZHVsZQogaW50byB5b3VyIG93biBQeXRob24gcG9zdC1yZWNlaXZlIHNjcmlwdC4gIFRoaXMgbWV0aG9kIGlzIGEgYml0IG1vcmUKIHdvcmssIGJ1dCBhbGxvd3MgdGhlIGJlaGF2aW9yIG9mIHRoZSBob29rIHRvIGJlIGN1c3RvbWl6ZWQgdXNpbmcKIGFyYml0cmFyeSBQeXRob24gY29kZS4gIEZvciBleGFtcGxlLCB5b3UgY2FuIHVzZSBhIGN1c3RvbSBlbnZpcm9ubWVudApAQCAtMTIyLDcgKzEyMiw3IEBACiAKIE9yIHlvdSBjYW4gY2hhbmdlIGhvdyBlbWFpbHMgYXJlIHNlbnQgYnkgd3JpdGluZyB5b3VyIG93biBNYWlsZXIKIGNsYXNzLiAgVGhlIGBgcG9zdC1yZWNlaXZlYGAgc2NyaXB0IGluIHRoaXMgZGlyZWN0b3J5IGRlbW9uc3RyYXRlcyBob3cKLXRvIHVzZSBnaXRfbXVsdGltYWlsLnB5IGFzIGEgUHl0aG9uIG1vZHVsZS4gIChJZiB5b3UgbWFrZSBpbnRlcmVzdGluZwordG8gdXNlIGBgZ2l0X211bHRpbWFpbC5weWBgIGFzIGEgUHl0aG9uIG1vZHVsZS4gIChJZiB5b3UgbWFrZSBpbnRlcmVzdGluZwogY2hhbmdlcyBvZiB0aGlzIHR5cGUsIHBsZWFzZSBjb25zaWRlciBzaGFyaW5nIHRoZW0gd2l0aCB0aGUKIGNvbW11bml0eS4pCiAKQEAgLTE1MSw3ICsxNTEsMTAgQEAKICAgICAgIHRoZSByZXBvc2l0b3J5IG5hbWUgaXMgZGVyaXZlZCBmcm9tIHRoZSByZXBvc2l0b3J5J3MgcGF0aC4KIAogICAgIGdpdG9saXRlCi0gICAgICB0aGUgdXNlcm5hbWUgb2YgdGhlIHB1c2hlciBpcyByZWFkIGZyb20gJEdMX1VTRVIsIHRoZSByZXBvc2l0b3J5CisgICAgICBFbnZpcm9ubWVudCB0byB1c2Ugd2hlbiBgYGdpdC1tdWx0aW1haWxgYCBpcyByYW4gYXMgYSBnaXRvbGl0ZV8KKyAgICAgIGhvb2suCisKKyAgICAgIFRoZSB1c2VybmFtZSBvZiB0aGUgcHVzaGVyIGlzIHJlYWQgZnJvbSAkR0xfVVNFUiwgdGhlIHJlcG9zaXRvcnkKICAgICAgIG5hbWUgaXMgcmVhZCBmcm9tICRHTF9SRVBPLCBhbmQgdGhlIEZyb206IGhlYWRlciB2YWx1ZSBpcwogICAgICAgb3B0aW9uYWxseSByZWFkIGZyb20gZ2l0b2xpdGUuY29uZiAoc2VlIG11bHRpbWFpbGhvb2suZnJvbSkuCiAKQEAgLTI5NCw3ICsyOTcsNyBAQAogICAgIGxpa2UgYGA8YSBocmVmPSJmb28iPmxpbms8L2E+YGAsIHRoZSByZWFkZXIgd2lsbCBzZWUgdGhlIEhUTUwKICAgICBzb3VyY2UgY29kZSBhbmQgbm90IGEgcHJvcGVyIGxpbmsuCiAKLSAgICBTZXQgYGBtdWx0aW1haWxob29rLmh0bWxJbkludHJvYGAgdG8gdHJ1ZSB0byBhbGxvdyB3cml0dGluZyBIVE1MCisgICAgU2V0IGBgbXVsdGltYWlsaG9vay5odG1sSW5JbnRyb2BgIHRvIHRydWUgdG8gYWxsb3cgd3JpdGluZyBIVE1MCiAgICAgZm9ybWF0dGluZyBpbiBpbnRyb2R1Y3Rpb24gdGVtcGxhdGVzLiBTaW1pbGFybHksIHNldAogICAgIGBgbXVsdGltYWlsaG9vay5odG1sSW5Gb290ZXJgYCBmb3IgSFRNTCBpbiB0aGUgZm9vdGVyLgogCkBAIC00NDQsNyArNDQ3LDkgQEAKICAgICBlbWFpbCBmaWx0ZXJpbmcgKHRob3VnaCBmaWx0ZXJpbmcgYmFzZWQgb24gdGhlIFgtR2l0LSogZW1haWwKICAgICBoZWFkZXJzIGlzIHByb2JhYmx5IG1vcmUgcm9idXN0KS4gIERlZmF1bHQgaXMgdGhlIHNob3J0IG5hbWUgb2YKICAgICB0aGUgcmVwb3NpdG9yeSBpbiBzcXVhcmUgYnJhY2tldHM7IGUuZy4sIGBgW215cmVwb11gYC4gIFNldCB0aGlzCi0gICAgdmFsdWUgdG8gdGhlIGVtcHR5IHN0cmluZyB0byBzdXBwcmVzcyB0aGUgZW1haWwgcHJlZml4LgorICAgIHZhbHVlIHRvIHRoZSBlbXB0eSBzdHJpbmcgdG8gc3VwcHJlc3MgdGhlIGVtYWlsIHByZWZpeC4gWW91IG1heQorICAgIHVzZSB0aGUgcGxhY2Vob2xkZXIgYGAlKHJlcG9fc2hvcnRuYW1lKXNgYCBmb3IgdGhlIHNob3J0IG5hbWUgb2YKKyAgICB0aGUgcmVwb3NpdG9yeS4KIAogbXVsdGltYWlsaG9vay5lbWFpbE1heExpbmVzCiAgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIGxpbmVzIHRoYXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBib2R5IG9mCkBAIC00NjEsNiArNDY2LDE3IEBACiAgICAgbGluZXMsIHRoZSBkaWZmcyBhcmUgcHJvYmFibHkgdW5yZWFkYWJsZSBhbnl3YXkuICBUbyBkaXNhYmxlIGxpbmUKICAgICB0cnVuY2F0aW9uLCBzZXQgdGhpcyBvcHRpb24gdG8gMC4KIAorbXVsdGltYWlsaG9vay5zdWJqZWN0TWF4TGVuZ3RoCisgICAgVGhlIG1heGltdW0gbGVuZ3RoIG9mIHRoZSBzdWJqZWN0IGxpbmUgKGkuZS4gdGhlIGBgb25lbGluZWBgIGZpZWxkCisgICAgaW4gdGVtcGxhdGVzLCBub3QgaW5jbHVkaW5nIHRoZSBwcmVmaXgpLiBMaW5lcyBsb25nZXIgdGhhbiB0aGlzCisgICAgbGltaXQgYXJlIHRydW5jYXRlZCB0byB0aGlzIGxlbmd0aCB3aXRoIGEgdHJhaWxpbmcgYGBbLi4uXWBgIGFkZGVkCisgICAgdG8gaW5kaWNhdGUgdGhlIG1pc3NpbmcgdGV4dC4gVGhpcyBvcHRpb24gVGhlIGRlZmF1bHQgaXMgdG8gdXNlCisgICAgYGBtdWx0aW1haWxob29rLmVtYWlsTWF4TGluZUxlbmd0aGBgLiBUaGlzIG9wdGlvbiBhdm9pZHMgc2VuZGluZworICAgIGVtYWlscyB3aXRoIG92ZXJseSBsb25nIHN1YmplY3QgbGluZXMsIGJ1dCBzaG91bGQgbm90IGJlIG5lZWRlZCBpZgorICAgIHRoZSBjb21taXQgbWVzc2FnZXMgZm9sbG93IHRoZSBHaXQgY29udmVudGlvbiAob25lIHNob3J0IHN1YmplY3QKKyAgICBsaW5lLCB0aGVuIGEgYmxhbmsgbGluZSwgdGhlbiB0aGUgbWVzc2FnZSBib2R5KS4gVG8gZGlzYWJsZSBsaW5lCisgICAgdHJ1bmNhdGlvbiwgc2V0IHRoaXMgb3B0aW9uIHRvIDAuCisKIG11bHRpbWFpbGhvb2subWF4Q29tbWl0RW1haWxzCiAgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbW1pdCBlbWFpbHMgdG8gc2VuZCBmb3IgYSBnaXZlbiBjaGFuZ2UuCiAgICAgV2hlbiB0aGUgbnVtYmVyIG9mIHBhdGNoZXMgaXMgbGFyZ2VyIHRoYXQgdGhpcyB2YWx1ZSwgb25seSB0aGUKQEAgLTQ3NCwxMiArNDkwLDE1IEBACiAgICAgbm90IHZhbGlkIFVURi04IGFyZSBjb252ZXJ0ZWQgdG8gdGhlIFVuaWNvZGUgcmVwbGFjZW1lbnQKICAgICBjaGFyYWN0ZXIsIFUrRkZGRC4gIFRoZSBkZWZhdWx0IGlzIGB0cnVlYC4KIAorICAgIFRoaXMgb3B0aW9uIGlzIGluZWZmZWN0aXZlIHdpdGggUHl0aG9uIDMsIHdoZXJlIG5vbi1VVEYtOAorICAgIGNoYXJhY3RlcnMgYXJlIHVuY29uZGl0aW9uYWxseSByZXBsYWNlZC4KKwogbXVsdGltYWlsaG9vay5kaWZmT3B0cwogICAgIE9wdGlvbnMgcGFzc2VkIHRvIGBgZ2l0IGRpZmYtdHJlZWBgIHdoZW4gZ2VuZXJhdGluZyB0aGUgc3VtbWFyeQogICAgIGluZm9ybWF0aW9uIGZvciBSZWZlcmVuY2VDaGFuZ2UgZW1haWxzLiAgRGVmYXVsdCBpcyBgYC0tc3RhdAogICAgIC0tc3VtbWFyeSAtLWZpbmQtY29waWVzLWhhcmRlcmBgLiAgQWRkIC1wIHRvIHRob3NlIG9wdGlvbnMgdG8KICAgICBpbmNsdWRlIGEgdW5pZmllZCBkaWZmIG9mIGNoYW5nZXMgaW4gYWRkaXRpb24gdG8gdGhlIHVzdWFsIHN1bW1hcnkKLSAgICBvdXRwdXQuICBTaGVsbCBxdW90aW5nIGlzIGFsbG93ZWQ7IHNlZSBtdWx0aW1haWxob29rLmxvZ09wdHMgZm9yCisgICAgb3V0cHV0LiAgU2hlbGwgcXVvdGluZyBpcyBhbGxvd2VkOyBzZWUgYGBtdWx0aW1haWxob29rLmxvZ09wdHNgYCBmb3IKICAgICBkZXRhaWxzLgogCiBtdWx0aW1haWxob29rLmdyYXBoT3B0cwpAQCAtNTE2LDcgKzUzNSw3IEBACiAKIG11bHRpbWFpbGhvb2suZGF0ZVN1YnN0aXR1dGUKICAgICBTdHJpbmcgdG8gdXNlIGFzIGEgc3Vic3RpdHV0ZSBmb3IgYGBEYXRlOmBgIGluIHRoZSBvdXRwdXQgb2YgYGBnaXQKLSAgICBsb2dgYCB3aGlsZSBmb3JtYXR0aW5nIGNvbW1pdCBtZXNzYWdlcy4gVGhpcyBpcyB1c2VmdWxsIHRvIGF2b2lkCisgICAgbG9nYGAgd2hpbGUgZm9ybWF0dGluZyBjb21taXQgbWVzc2FnZXMuIFRoaXMgaXMgdXNlZnVsIHRvIGF2b2lkCiAgICAgZW1pdHRpbmcgYSBsaW5lIHRoYXQgY2FuIGJlIGludGVycHJldGVkIGJ5IG1haWxlcnMgYXMgdGhlIHN0YXJ0IG9mCiAgICAgYSBjaXRlZCBtZXNzYWdlIChaaW1icmEgd2VibWFpbCBpbiBwYXJ0aWN1bGFyKS4gRGVmYXVsdHMgdG8KICAgICBgYENvbW1pdERhdGU6YGAuIFNldCB0byBhbiBlbXB0eSBzdHJpbmcgb3IgYGBub25lYGAgdG8gZGVhY3RpdmF0ZQpAQCAtNTY0LDYgKzU4Myw4IEBACiAgICAgdGhlIHVzZXItaW50ZXJmYWNlIGlzIG5vdCBzdGFibGUgeWV0IChpbiBwYXJ0aWN1bGFyLCB0aGUgb3B0aW9uCiAgICAgbmFtZXMgbWF5IGNoYW5nZSkuIElmIHlvdSB3YW50IHRvIHBhcnRpY2lwYXRlIGluIHN0YWJpbGl6aW5nIHRoZQogICAgIGZlYXR1cmUsIHBsZWFzZSBjb250YWN0IHRoZSBtYWludGFpbmVycyBhbmQvb3Igc2VuZCBwdWxsLXJlcXVlc3RzLgorICAgIElmIHlvdSBhcmUgaGFwcHkgd2l0aCB0aGUgY3VycmVudCBzaGFwZSBvZiB0aGUgZmVhdHVyZSwgcGxlYXNlCisgICAgcmVwb3J0IGl0IHRvby4KIAogICAgIFJlZ3VsYXIgZXhwcmVzc2lvbnMgdGhhdCBjYW4gYmUgdXNlZCB0byBsaW1pdCByZWZzIGZvciB3aGljaCBlbWFpbAogICAgIHVwZGF0ZXMgd2lsbCBiZSBzZW50LiAgSXQgaXMgYW4gZXJyb3IgdG8gc3BlY2lmeSBib3RoIGFuIGluY2x1c2lvbgpAQCAtNjEzLDYgKzYzNCwzMiBAQAogICAgICAgW211bHRpbWFpbGhvb2tdCiAgICAgICAgICAgICAgIHJlZkZpbHRlckV4Y2x1c2lvblJlZ2V4ID0gXnJlZnMvdGFncy98XnJlZnMvaGVhZHMvbWFzdGVyJAogCisgICAgYGByZWZGaWx0ZXJJbmNsdXNpb25SZWdleGBgIGFuZCBgYHJlZkZpbHRlckV4Y2x1c2lvblJlZ2V4YGAgYXJlCisgICAgc3RyaWN0bHkgc3Ryb25nZXIgdGhhbiBgYHJlZkZpbHRlckRvU2VuZFJlZ2V4YGAgYW5kCisgICAgYGByZWZGaWx0ZXJEb250U2VuZFJlZ2V4YGAuIEluIG90aGVyIHdvcmRzLCBhZGRpbmcgYSByZWYgdG8gYQorICAgIERvU2VuZC9Eb250U2VuZCByZWdleCBoYXMgbm8gZWZmZWN0IGlmIGl0IGlzIGFscmVhZHkgZXhjbHVkZWQgYnkgYQorICAgIEV4Y2x1c2lvbi9JbmNsdXNpb24gcmVnZXguCisKK211bHRpbWFpbGhvb2subG9nRmlsZSwgbXVsdGltYWlsaG9vay5lcnJvckxvZ0ZpbGUsIG11bHRpbWFpbGhvb2suZGVidWdMb2dGaWxlCisKKyAgICBXaGVuIHNldCwgdGhlc2UgdmFyaWFibGUgZGVzaWduYXRlIHBhdGggdG8gZmlsZXMgd2hlcmUKKyAgICBnaXQtbXVsdGltYWlsIHdpbGwgbG9nIHNvbWUgbWVzc2FnZXMuIE5vcm1hbCBtZXNzYWdlcyBhbmQgZXJyb3IKKyAgICBtZXNzYWdlcyBhcmUgc2VudCB0byBgYGxvZ0ZpbGVgYCwgYW5kIGVycm9yIG1lc3NhZ2VzIGFyZSBhbHNvIHNlbnQKKyAgICB0byBgYGVycm9yTG9nRmlsZWBgLiBEZWJ1ZyBtZXNzYWdlcyBhbmQgYWxsIG90aGVyIG1lc3NhZ2VzIGFyZQorICAgIHNlbnQgdG8gYGBkZWJ1Z0xvZ0ZpbGVgYC4gVGhlIHJlY29tbWVuZGVkIHdheSBpcyB0byBzZXQgb25seSBvbmUKKyAgICBvZiB0aGVzZSB2YXJpYWJsZXMsIGJ1dCBpdCBpcyBhbHNvIHBvc3NpYmxlIHRvIHNldCBzZXZlcmFsIG9mIHRoZW0KKyAgICAocGFydCBvZiB0aGUgaW5mb3JtYXRpb24gaXMgdGhlbiBkdXBsaWNhdGVkIGluIHNldmVyYWwgbG9nIGZpbGVzLAorICAgIGZvciBleGFtcGxlIGVycm9ycyBhcmUgZHVwbGljYXRlZCB0byBhbGwgbG9nIGZpbGVzKS4KKworICAgIFJlbGF0aXZlIHBhdGggYXJlIHJlbGF0aXZlIHRvIHRoZSBHaXQgcmVwb3NpdG9yeSB3aGVyZSB0aGUgcHVzaCBpcworICAgIGRvbmUuCisKK211bHRpbWFpbGhvb2sudmVyYm9zZQorCisgICAgVmVyYm9zaXR5IGxldmVsIG9mIGdpdC1tdWx0aW1haWwgb24gaXRzIHN0YW5kYXJkIG91dHB1dC4gQnkKKyAgICBkZWZhdWx0LCBzaG93IG9ubHkgZXJyb3IgYW5kIGluZm8gbWVzc2FnZXMuIElmIHNldCB0byB0cnVlLCBzaG93CisgICAgYWxzbyBkZWJ1ZyBtZXNzYWdlcy4KKwogRW1haWwgZmlsdGVyaW5nIGFpZHMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKQEAgLTYyOCw4ICs2NzUsOCBAQAogCiBnaXQtbXVsdGltYWlsIG1vc3RseSBnZW5lcmF0ZXMgZW1haWxzIGJ5IGV4cGFuZGluZyB0ZW1wbGF0ZXMuICBUaGUKIHRlbXBsYXRlcyBjYW4gYmUgY3VzdG9taXplZC4gIFRvIGF2b2lkIHRoZSBuZWVkIHRvIGVkaXQKLWdpdF9tdWx0aW1haWwucHkgZGlyZWN0bHksIHRoZSBwcmVmZXJyZWQgd2F5IHRvIGNoYW5nZSB0aGUgdGVtcGxhdGVzCi1pcyB0byB3cml0ZSBhIHNlcGFyYXRlIFB5dGhvbiBzY3JpcHQgdGhhdCBpbXBvcnRzIGdpdF9tdWx0aW1haWwucHkgYXMKK2BgZ2l0X211bHRpbWFpbC5weWBgIGRpcmVjdGx5LCB0aGUgcHJlZmVycmVkIHdheSB0byBjaGFuZ2UgdGhlIHRlbXBsYXRlcworaXMgdG8gd3JpdGUgYSBzZXBhcmF0ZSBQeXRob24gc2NyaXB0IHRoYXQgaW1wb3J0cyBgYGdpdF9tdWx0aW1haWwucHlgYCBhcwogYSBtb2R1bGUsIHRoZW4gcmVwbGFjZXMgdGhlIHRlbXBsYXRlcyBpbiBwbGFjZS4gIFNlZSB0aGUgcHJvdmlkZWQKIHBvc3QtcmVjZWl2ZSBzY3JpcHQgZm9yIGFuIGV4YW1wbGUgb2YgaG93IHRoaXMgaXMgZG9uZS4KIApAQCAtNjQ1LDggKzY5Miw4IEBACiAgICAgYSBzdGFuZC1hbG9uZSBHaXQgcmVwb3NpdG9yeS4KIAogR2l0b2xpdGVFbnZpcm9ubWVudAotICAgIGEgR2l0IHJlcG9zaXRvcnkgdGhhdCBpcyBtYW5hZ2VkIGJ5IGdpdG9saXRlCi0gICAgWzNdXy4gIEZvciBzdWNoIHJlcG9zaXRvcmllcywgdGhlIGlkZW50aXR5IG9mIHRoZSBwdXNoZXIgaXMgcmVhZCBmcm9tCisgICAgYSBHaXQgcmVwb3NpdG9yeSB0aGF0IGlzIG1hbmFnZWQgYnkgZ2l0b2xpdGVfLiAgRm9yIHN1Y2gKKyAgICByZXBvc2l0b3JpZXMsIHRoZSBpZGVudGl0eSBvZiB0aGUgcHVzaGVyIGlzIHJlYWQgZnJvbQogICAgIGVudmlyb25tZW50IHZhcmlhYmxlICRHTF9VU0VSLCB0aGUgbmFtZSBvZiB0aGUgcmVwb3NpdG9yeSBpcyByZWFkCiAgICAgZnJvbSAkR0xfUkVQTyAoaWYgaXQgaXMgbm90IG92ZXJyaWRkZW4gYnkgbXVsdGltYWlsaG9vay5yZXBvbmFtZSksCiAgICAgYW5kIHRoZSBGcm9tOiBoZWFkZXIgdmFsdWUgaXMgb3B0aW9uYWxseSByZWFkIGZyb20gZ2l0b2xpdGUuY29uZgpAQCAtNjYyLDcgKzcwOSw3IEBACiBJZiB5b3UgbmVlZCB0byBjdXN0b21pemUgdGhlIHNjcmlwdCBpbiB3YXlzIHRoYXQgYXJlIG5vdCBzdXBwb3J0ZWQgYnkKIHRoZSBleGlzdGluZyBlbnZpcm9ubWVudHMsIHlvdSBjYW4gZGVmaW5lIHlvdXIgb3duIGVudmlyb25tZW50IGNsYXNzCiBjbGFzcyB1c2luZyBhcmJpdHJhcnkgUHl0aG9uIGNvZGUuICBUbyBkbyBzbywgeW91IG5lZWQgdG8gaW1wb3J0Ci1naXRfbXVsdGltYWlsLnB5IGFzIGEgUHl0aG9uIG1vZHVsZSwgYXMgZGVtb25zdHJhdGVkIGJ5IHRoZSBleGFtcGxlCitgYGdpdF9tdWx0aW1haWwucHlgYCBhcyBhIFB5dGhvbiBtb2R1bGUsIGFzIGRlbW9uc3RyYXRlZCBieSB0aGUgZXhhbXBsZQogcG9zdC1yZWNlaXZlIHNjcmlwdC4gIFRoZW4gaW1wbGVtZW50IHlvdXIgZW52aXJvbm1lbnQgY2xhc3M7IGl0IHNob3VsZAogdXN1YWxseSBpbmhlcml0IGZyb20gb25lIG9mIHRoZSBleGlzdGluZyBFbnZpcm9ubWVudCBjbGFzc2VzIGFuZAogcG9zc2libHkgb25lIG9yIG1vcmUgb2YgdGhlIEVudmlyb25tZW50TWl4aW4gY2xhc3Nlcy4gIFRoZW4gc2V0IHRoZQpAQCAtNjkwLDkgKzczNyw3IEBACiBGb290bm90ZXMKIC0tLS0tLS0tLQogCi0uLiBbMV0gaHR0cDovL3d3dy5weXRob24ub3JnL2Rldi9wZXBzL3BlcC0wMzk0LwotCi0uLiBbMl0gQmVjYXVzZSBvZiB0aGUgd2F5IGluZm9ybWF0aW9uIGlzIHBhc3NlZCB0byB1cGRhdGUgaG9va3MsIHRoZQorLi4gWzFdIEJlY2F1c2Ugb2YgdGhlIHdheSBpbmZvcm1hdGlvbiBpcyBwYXNzZWQgdG8gdXBkYXRlIGhvb2tzLCB0aGUKICAgICAgICBzY3JpcHQncyBtZXRob2Qgb2YgZGV0ZXJtaW5pbmcgd2hldGhlciBhIGNvbW1pdCBoYXMgYWxyZWFkeQogICAgICAgIGJlZW4gc2VlbiBkb2VzIG5vdCB3b3JrIHdoZW4gaXQgaXMgdXNlZCBhcyBhbiBgYHVwZGF0ZWBgIHNjcmlwdC4KICAgICAgICBJbiBwYXJ0aWN1bGFyLCBubyBub3RpZmljYXRpb24gZW1haWwgd2lsbCBiZSBnZW5lcmF0ZWQgZm9yIGEKQEAgLTcwMCw0ICs3NDUsNCBAQAogICAgICAgIHB1c2guIEEgd29ya2Fyb3VuZCBpcyB0byB1c2UgLS1mb3JjZS1zZW5kIHRvIGZvcmNlIHNlbmRpbmcgdGhlCiAgICAgICAgZW1haWxzLgogCi0uLiBbM10gaHR0cHM6Ly9naXRodWIuY29tL3NpdGFyYW1jL2dpdG9saXRlCisuLiBfZ2l0b2xpdGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9zaXRhcmFtYy9naXRvbGl0ZQpkaWZmIC0tZ2l0IGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvUkVBRE1FLkdpdCBiL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL1JFQURNRS5HaXQKaW5kZXggMTIxMGJkZS4uMTYxYjAyMyAxMDA2NDQKLS0tIGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvUkVBRE1FLkdpdAorKysgYi9jb250cmliL2hvb2tzL211bHRpbWFpbC9SRUFETUUuR2l0CkBAIC02LDEwICs2LDEwIEBACiAgICAgaHR0cHM6Ly9naXRodWIuY29tL2dpdC1tdWx0aW1haWwvZ2l0LW11bHRpbWFpbAogCiBUaGUgdmVyc2lvbiBpbiB0aGlzIGRpcmVjdG9yeSB3YXMgb2J0YWluZWQgZnJvbSB0aGUgdXBzdHJlYW0gcHJvamVjdAotb24gTWF5IDEzIDIwMTYgYW5kIGNvbnNpc3RzIG9mIHRoZSAiZ2l0LW11bHRpbWFpbCIgc3ViZGlyZWN0b3J5IGZyb20KK29uIEF1Z3VzdCAxNyAyMDE2IGFuZCBjb25zaXN0cyBvZiB0aGUgImdpdC1tdWx0aW1haWwiIHN1YmRpcmVjdG9yeSBmcm9tCiByZXZpc2lvbgogCi0gICAgM2NlNTQ3MGQ0YWJmNzI1MTYwNGNiZjY0ZTczYTk2MmUxYjYxN2Y1ZSByZWZzL3RhZ3MvMS4zLjEKKyAgICAwN2IxY2I2YmZkN2JlMTU2YzYyZTFhZmExN2NhZTEzYjg1MGE4NjlmIHJlZnMvdGFncy8xLjQuMAogCiBQbGVhc2Ugc2VlIHRoZSBSRUFETUUgZmlsZSBpbiB0aGlzIGRpcmVjdG9yeSBmb3IgaW5mb3JtYXRpb24gYWJvdXQgaG93CiB0byByZXBvcnQgYnVncyBvciBjb250cmlidXRlIHRvIGdpdC1tdWx0aW1haWwuCmRpZmYgLS1naXQgYS9jb250cmliL2hvb2tzL211bHRpbWFpbC9kb2MvdHJvdWJsZXNob290aW5nLnJzdCBiL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL2RvYy90cm91Ymxlc2hvb3RpbmcucnN0CmluZGV4IGQzZjM0NmYuLjY1MWI1MDkgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL2RvYy90cm91Ymxlc2hvb3RpbmcucnN0CisrKyBiL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL2RvYy90cm91Ymxlc2hvb3RpbmcucnN0CkBAIC0xLDYgKzEsNDAgQEAKIFRyb3VibGVzaG9vdGluZyBpc3N1ZXMgd2l0aCBnaXQtbXVsdGltYWlsOiBhIEZBUQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKK0hvdyB0byBjaGVjayB0aGF0IGdpdC1tdWx0aW1haWwgaXMgcHJvcGVybHkgc2V0IHVwPworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1NpbmNlIHZlcnNpb24gMS40LjAsIGdpdC1tdWx0aW1haWwgYWxsb3dzIGEgc2ltcGxlIHNlbGYtY2hlY2tpbmcgb2YKK2l0cyBjb25maWd1cmF0aW9uOiBydW4gaXQgd2l0aCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKK2BgR0lUX01VTFRJTUFJTF9DSEVDS19TRVRVUGBgIHNldCB0byBhIG5vbi1lbXB0eSBzdHJpbmcuIFlvdSBzaG91bGQKK2dldCBzb21ldGhpbmcgbGlrZSB0aGlzOjoKKworICAkIEdJVF9NVUxUSU1BSUxfQ0hFQ0tfU0VUVVA9dHJ1ZSAvaG9tZS9tb3kvZGV2L2dpdC1tdWx0aW1haWwvZ2l0LW11bHRpbWFpbC9naXRfbXVsdGltYWlsLnB5CisgIEVudmlyb25tZW50IHZhbHVlczoKKyAgICAgIGFkbWluaXN0cmF0b3IgOiAndGhlIGFkbWluaXN0cmF0b3Igb2YgdGhpcyByZXBvc2l0b3J5JworICAgICAgY2hhcnNldCA6ICd1dGYtOCcKKyAgICAgIGVtYWlscHJlZml4IDogJ1tnaXQtbXVsdGltYWlsXSAnCisgICAgICBmcWRuIDogJ2FuaWUnCisgICAgICBwcm9qZWN0ZGVzYyA6ICdVTk5BTUVEIFBST0pFQ1QnCisgICAgICBwdXNoZXIgOiAnbW95JworICAgICAgcmVwb19wYXRoIDogJy9ob21lL21veS9kZXYvZ2l0LW11bHRpbWFpbCcKKyAgICAgIHJlcG9fc2hvcnRuYW1lIDogJ2dpdC1tdWx0aW1haWwnCisKKyAgTm93LCBjaGVja2luZyB0aGF0IGdpdC1tdWx0aW1haWwncyBzdGFuZGFyZCBpbnB1dCBpcyBwcm9wZXJseSBzZXQgLi4uCisgIFBsZWFzZSB0eXBlIHNvbWUgdGV4dCBhbmQgdGhlbiBwcmVzcyBSZXR1cm4KKyAgZm9vCisgIFlvdSBoYXZlIGp1c3QgZW50ZXJlZDoKKyAgZm9vCisgIGdpdC1tdWx0aW1haWwgc2VlbXMgcHJvcGVybHkgc2V0IHVwLgorCitJZiB5b3UgZm9yZ290IHRvIHNldCBhbiBpbXBvcnRhbnQgdmFyaWFibGUsIHlvdSBtYXkgZ2V0IGluc3RlYWQ6OgorCisgICQgR0lUX01VTFRJTUFJTF9DSEVDS19TRVRVUD10cnVlIC9ob21lL21veS9kZXYvZ2l0LW11bHRpbWFpbC9naXQtbXVsdGltYWlsL2dpdF9tdWx0aW1haWwucHkKKyAgTm8gZW1haWwgcmVjaXBpZW50cyBjb25maWd1cmVkIQorCitEbyBub3Qgc2V0IGBgJEdJVF9NVUxUSU1BSUxfQ0hFQ0tfU0VUVVBgYCBvdGhlciB0aGFuIGZvciB0ZXN0aW5nIHlvdXIKK2NvbmZpZ3VyYXRpb246IGl0IHdvdWxkIGRpc2FibGUgdGhlIGhvb2sgY29tcGxldGVseS4KKwogR2l0IGlzIG5vdCB1c2luZyB0aGUgcmlnaHQgYWRkcmVzcyBpbiB0aGUgRnJvbS9Uby9SZXBseS1UbyBmaWVsZAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9jb250cmliL2hvb2tzL211bHRpbWFpbC9naXRfbXVsdGltYWlsLnB5IGIvY29udHJpYi9ob29rcy9tdWx0aW1haWwvZ2l0X211bHRpbWFpbC5weQppbmRleCA1NGFiNGE0Li5jN2Y4NjQwIDEwMDc1NQotLS0gYS9jb250cmliL2hvb2tzL211bHRpbWFpbC9naXRfbXVsdGltYWlsLnB5CisrKyBiL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL2dpdF9tdWx0aW1haWwucHkKQEAgLTEsOCArMSw4IEBACiAjISAvdXNyL2Jpbi9lbnYgcHl0aG9uCiAKLV9fdmVyc2lvbl9fID0gJzEuMy4xJworX192ZXJzaW9uX18gPSAnMS40LjAnCiAKLSMgQ29weXJpZ2h0IChjKSAyMDE1IE1hdHRoaWV1IE1veSBhbmQgb3RoZXJzCisjIENvcHlyaWdodCAoYykgMjAxNS0yMDE2IE1hdHRoaWV1IE1veSBhbmQgb3RoZXJzCiAjIENvcHlyaWdodCAoYykgMjAxMi0yMDE0IE1pY2hhZWwgSGFnZ2VydHkgYW5kIG90aGVycwogIyBEZXJpdmVkIGZyb20gY29udHJpYi9ob29rcy9wb3N0LXJlY2VpdmUtZW1haWwsIHdoaWNoIGlzCiAjIENvcHlyaWdodCAoYykgMjAwNyBBbmR5IFBhcmtpbnMKQEAgLTU2LDYgKzU2LDcgQEAKIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc2hsZXgKIGltcG9ydCBvcHRwYXJzZQoraW1wb3J0IGxvZ2dpbmcKIGltcG9ydCBzbXRwbGliCiB0cnk6CiAgICAgaW1wb3J0IHNzbApAQCAtODYsOCArODcsOCBAQAogICAgIGRlZiBzdHJfdG9fYnl0ZXMocyk6CiAgICAgICAgIHJldHVybiBzLmVuY29kZShFTkNPRElORykKIAotICAgIGRlZiBieXRlc190b19zdHIocyk6Ci0gICAgICAgIHJldHVybiBzLmRlY29kZShFTkNPRElORykKKyAgICBkZWYgYnl0ZXNfdG9fc3RyKHMsIGVycm9ycz0nc3RyaWN0Jyk6CisgICAgICAgIHJldHVybiBzLmRlY29kZShFTkNPRElORywgZXJyb3JzKQogCiAgICAgdW5pY29kZSA9IHN0cgogCkBAIC05OCw2ICs5OSwxNSBAQAogICAgICAgICAgICAgZi5idWZmZXIud3JpdGUobXNnLmVuY29kZShzeXMuZ2V0ZGVmYXVsdGVuY29kaW5nKCkpKQogICAgICAgICBleGNlcHQgVW5pY29kZUVuY29kZUVycm9yOgogICAgICAgICAgICAgZi5idWZmZXIud3JpdGUobXNnLmVuY29kZShFTkNPRElORykpCisKKyAgICBkZWYgcmVhZF9saW5lKGYpOgorICAgICAgICAjIFRyeSByZWFkaW5nIHdpdGggdGhlIGRlZmF1bHQgZW5jb2RpbmcuIElmIGl0IGZhaWxzLAorICAgICAgICAjIHRyeSBVVEYtOC4KKyAgICAgICAgb3V0ID0gZi5idWZmZXIucmVhZGxpbmUoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gb3V0LmRlY29kZShzeXMuZ2V0ZGVmYXVsdGVuY29kaW5nKCkpCisgICAgICAgIGV4Y2VwdCBVbmljb2RlRW5jb2RlRXJyb3I6CisgICAgICAgICAgICByZXR1cm4gb3V0LmRlY29kZShFTkNPRElORykKIGVsc2U6CiAgICAgZGVmIGlzX3N0cmluZyhzKToKICAgICAgICAgdHJ5OgpAQCAtMTA4LDEyICsxMTgsMTUgQEAKICAgICBkZWYgc3RyX3RvX2J5dGVzKHMpOgogICAgICAgICByZXR1cm4gcwogCi0gICAgZGVmIGJ5dGVzX3RvX3N0cihzKToKKyAgICBkZWYgYnl0ZXNfdG9fc3RyKHMsIGVycm9ycz0nc3RyaWN0Jyk6CiAgICAgICAgIHJldHVybiBzCiAKICAgICBkZWYgd3JpdGVfc3RyKGYsIG1zZyk6CiAgICAgICAgIGYud3JpdGUobXNnKQogCisgICAgZGVmIHJlYWRfbGluZShmKToKKyAgICAgICAgcmV0dXJuIGYucmVhZGxpbmUoKQorCiAgICAgZGVmIG5leHQoaXQpOgogICAgICAgICByZXR1cm4gaXQubmV4dCgpCiAKQEAgLTIxMyw4ICsyMjYsOCBAQAogICAgICAgICAgICAgXFwKICAgICAgICAgICAgICBPIC0tIE8gLS0gTyAgICglKG9sZHJldl9zaG9ydClzKQogCi1BbnkgcmV2aXNpb25zIG1hcmtlZCAib21pdHMiIGFyZSBub3QgZ29uZTsgb3RoZXIgcmVmZXJlbmNlcyBzdGlsbAotcmVmZXIgdG8gdGhlbS4gIEFueSByZXZpc2lvbnMgbWFya2VkICJkaXNjYXJkcyIgYXJlIGdvbmUgZm9yZXZlci4KK0FueSByZXZpc2lvbnMgbWFya2VkICJvbWl0IiBhcmUgbm90IGdvbmU7IG90aGVyIHJlZmVyZW5jZXMgc3RpbGwKK3JlZmVyIHRvIHRoZW0uICBBbnkgcmV2aXNpb25zIG1hcmtlZCAiZGlzY2FyZCIgYXJlIGdvbmUgZm9yZXZlci4KICIiIgogCiAKQEAgLTIzMyw4ICsyNDYsOCBAQAogcmV2aXNpb25zLCBhbmQgc28gdGhlIGZvbGxvd2luZyBlbWFpbHMgZGVzY3JpYmUgb25seSB0aGUgTiByZXZpc2lvbnMKIGZyb20gdGhlIGNvbW1vbiBiYXNlLCBCLgogCi1BbnkgcmV2aXNpb25zIG1hcmtlZCAib21pdHMiIGFyZSBub3QgZ29uZTsgb3RoZXIgcmVmZXJlbmNlcyBzdGlsbAotcmVmZXIgdG8gdGhlbS4gIEFueSByZXZpc2lvbnMgbWFya2VkICJkaXNjYXJkcyIgYXJlIGdvbmUgZm9yZXZlci4KK0FueSByZXZpc2lvbnMgbWFya2VkICJvbWl0IiBhcmUgbm90IGdvbmU7IG90aGVyIHJlZmVyZW5jZXMgc3RpbGwKK3JlZmVyIHRvIHRoZW0uICBBbnkgcmV2aXNpb25zIG1hcmtlZCAiZGlzY2FyZCIgYXJlIGdvbmUgZm9yZXZlci4KICIiIgogCiAKQEAgLTI1OCwyMiArMjcxLDIyIEBACiBORVdfUkVWSVNJT05TX1RFTVBMQVRFID0gIiIiXAogVGhlICUodG90KXMgcmV2aXNpb25zIGxpc3RlZCBhYm92ZSBhcyAibmV3IiBhcmUgZW50aXJlbHkgbmV3IHRvIHRoaXMKIHJlcG9zaXRvcnkgYW5kIHdpbGwgYmUgZGVzY3JpYmVkIGluIHNlcGFyYXRlIGVtYWlscy4gIFRoZSByZXZpc2lvbnMKLWxpc3RlZCBhcyAiYWRkcyIgd2VyZSBhbHJlYWR5IHByZXNlbnQgaW4gdGhlIHJlcG9zaXRvcnkgYW5kIGhhdmUgb25seQorbGlzdGVkIGFzICJhZGQiIHdlcmUgYWxyZWFkeSBwcmVzZW50IGluIHRoZSByZXBvc2l0b3J5IGFuZCBoYXZlIG9ubHkKIGJlZW4gYWRkZWQgdG8gdGhpcyByZWZlcmVuY2UuCiAKICIiIgogCiAKIFRBR19DUkVBVEVEX1RFTVBMQVRFID0gIiIiXAotICAgICAgICBhdCAgJShuZXdyZXZfc2hvcnQpLTlzICglKG5ld3Jldl90eXBlKXMpCisgICAgICBhdCAlKG5ld3Jldl9zaG9ydCktOHMgKCUobmV3cmV2X3R5cGUpcykKICIiIgogCiAKIFRBR19VUERBVEVEX1RFTVBMQVRFID0gIiIiXAogKioqIFdBUk5JTkc6IHRhZyAlKHNob3J0X3JlZm5hbWUpcyB3YXMgbW9kaWZpZWQhICoqKgogCi0gICAgICBmcm9tICAlKG9sZHJldl9zaG9ydCktOXMgKCUob2xkcmV2X3R5cGUpcykKLSAgICAgICAgdG8gICUobmV3cmV2X3Nob3J0KS05cyAoJShuZXdyZXZfdHlwZSlzKQorICAgIGZyb20gJShvbGRyZXZfc2hvcnQpLThzICglKG9sZHJldl90eXBlKXMpCisgICAgICB0byAlKG5ld3Jldl9zaG9ydCktOHMgKCUobmV3cmV2X3R5cGUpcykKICIiIgogCiAKQEAgLTI4Niw3ICsyOTksNyBAQAogIyBUaGUgdGVtcGxhdGUgdXNlZCBpbiBzdW1tYXJ5IHRhYmxlcy4gIEl0IGxvb2tzIGJlc3QgaWYgdGhpcyB1c2VzIHRoZQogIyBzYW1lIGFsaWdubWVudCBhcyBUQUdfQ1JFQVRFRF9URU1QTEFURSBhbmQgVEFHX1VQREFURURfVEVNUExBVEUuCiBCUklFRl9TVU1NQVJZX1RFTVBMQVRFID0gIiIiXAotJShhY3Rpb24pMTBzICAlKHJldl9zaG9ydCktOXMgJSh0ZXh0KXMKKyUoYWN0aW9uKThzICUocmV2X3Nob3J0KS04cyAlKHRleHQpcwogIiIiCiAKIApAQCAtNDM0LDExICs0NDcsMTYgQEAKICAgICAgICAgaW5wdXQgPSBzdHJfdG9fYnl0ZXMoaW5wdXQpCiAgICAgZWxzZToKICAgICAgICAgc3RkaW4gPSBOb25lCisgICAgZXJyb3JzID0gJ3N0cmljdCcKKyAgICBpZiAnZXJyb3JzJyBpbiBrdzoKKyAgICAgICAgZXJyb3JzID0ga3dbJ2Vycm9ycyddCisgICAgICAgIGRlbCBrd1snZXJyb3JzJ10KICAgICBwID0gc3VicHJvY2Vzcy5Qb3BlbigKLSAgICAgICAgY21kLCBzdGRpbj1zdGRpbiwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSwgKiprdworICAgICAgICB0dXBsZShzdHJfdG9fYnl0ZXModykgZm9yIHcgaW4gY21kKSwKKyAgICAgICAgc3RkaW49c3RkaW4sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsICoqa3cKICAgICAgICAgKQogICAgIChvdXQsIGVycikgPSBwLmNvbW11bmljYXRlKGlucHV0KQotICAgIG91dCA9IGJ5dGVzX3RvX3N0cihvdXQpCisgICAgb3V0ID0gYnl0ZXNfdG9fc3RyKG91dCwgZXJyb3JzPWVycm9ycykKICAgICByZXRjb2RlID0gcC53YWl0KCkKICAgICBpZiByZXRjb2RlOgogICAgICAgICByYWlzZSBDb21tYW5kRXJyb3IoY21kLCByZXRjb2RlKQpAQCAtMTAyMCw3ICsxMDM4LDkgQEAKICAgICAgICAgZm9yIGxpbmUgaW4gZm9vdGVyOgogICAgICAgICAgICAgeWllbGQgbGluZQogCi0gICAgZGVmIGdldF9hbHRfZnJvbWFkZHIoc2VsZik6CisgICAgZGVmIGdldF9zcGVjaWZpY19mcm9tYWRkcihzZWxmKToKKyAgICAgICAgIiIiRm9yIGtpbmRzIG9mIENoYW5nZXMgd2hpY2ggc3BlY2lmeSBpdCwgcmV0dXJuIHRoZSBraW5kLXNwZWNpZmljCisgICAgICAgIEZyb20gYWRkcmVzcyB0byB1c2UuIiIiCiAgICAgICAgIHJldHVybiBOb25lCiAKIApAQCAtMTA0NSw3ICsxMDY1LDcgQEAKICAgICAgICAgICAgIHNlbGYuY2NfcmVjaXBpZW50cyA9ICcsICcuam9pbih0by5zdHJpcCgpIGZvciB0byBpbiBzZWxmLl9jY19yZWNpcGllbnRzKCkpCiAgICAgICAgICAgICBpZiBzZWxmLmNjX3JlY2lwaWVudHM6CiAgICAgICAgICAgICAgICAgc2VsZi5lbnZpcm9ubWVudC5sb2dfbXNnKAotICAgICAgICAgICAgICAgICAgICAnQWRkICVzIHRvIENDIGZvciAlc1xuJyAlIChzZWxmLmNjX3JlY2lwaWVudHMsIHNlbGYucmV2LnNoYTEpKQorICAgICAgICAgICAgICAgICAgICAnQWRkICVzIHRvIENDIGZvciAlcycgJSAoc2VsZi5jY19yZWNpcGllbnRzLCBzZWxmLnJldi5zaGExKSkKIAogICAgIGRlZiBfY2NfcmVjaXBpZW50cyhzZWxmKToKICAgICAgICAgY2NfcmVjaXBpZW50cyA9IFtdCkBAIC0xMDY1LDYgKzEwODUsMTAgQEAKICAgICAgICAgICAgIFsnbG9nJywgJy0tZm9ybWF0PSVzJywgJy0tbm8td2FsaycsIHNlbGYucmV2LnNoYTFdCiAgICAgICAgICAgICApCiAKKyAgICAgICAgbWF4X3N1YmplY3RfbGVuZ3RoID0gc2VsZi5lbnZpcm9ubWVudC5nZXRfbWF4X3N1YmplY3RfbGVuZ3RoKCkKKyAgICAgICAgaWYgbWF4X3N1YmplY3RfbGVuZ3RoID4gMCBhbmQgbGVuKG9uZWxpbmUpID4gbWF4X3N1YmplY3RfbGVuZ3RoOgorICAgICAgICAgICAgb25lbGluZSA9IG9uZWxpbmVbOm1heF9zdWJqZWN0X2xlbmd0aCAtIDZdICsgJyBbLi4uXScKKwogICAgICAgICB2YWx1ZXNbJ3JldiddID0gc2VsZi5yZXYuc2hhMQogICAgICAgICB2YWx1ZXNbJ3Jldl9zaG9ydCddID0gc2VsZi5yZXYuc2hvcnQKICAgICAgICAgdmFsdWVzWydjaGFuZ2VfdHlwZSddID0gc2VsZi5jaGFuZ2VfdHlwZQpAQCAtMTEyMSw3ICsxMTQ1LDcgQEAKICAgICAgICAgZm9yIGxpbmUgaW4gcmVhZF9naXRfbGluZXMoCiAgICAgICAgICAgICAgICAgWydsb2cnXSArIHNlbGYuZW52aXJvbm1lbnQuY29tbWl0bG9nb3B0cyArIFsnLTEnLCBzZWxmLnJldi5zaGExXSwKICAgICAgICAgICAgICAgICBrZWVwZW5kcz1UcnVlLAotICAgICAgICAgICAgICAgICk6CisgICAgICAgICAgICAgICAgZXJyb3JzPSdyZXBsYWNlJyk6CiAgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJ0RhdGU6ICAgJykgYW5kIHNlbGYuZW52aXJvbm1lbnQuZGF0ZV9zdWJzdGl0dXRlOgogICAgICAgICAgICAgICAgIHlpZWxkIHNlbGYuZW52aXJvbm1lbnQuZGF0ZV9zdWJzdGl0dXRlICsgbGluZVtsZW4oJ0RhdGU6ICAgJyk6XQogICAgICAgICAgICAgZWxzZToKQEAgLTExMzUsNyArMTE1OSw3IEBACiAgICAgICAgIHNlbGYuX2NvbnRhaW5zX2RpZmYoKQogICAgICAgICByZXR1cm4gQ2hhbmdlLmdlbmVyYXRlX2VtYWlsKHNlbGYsIHB1c2gsIGJvZHlfZmlsdGVyLCBleHRyYV9oZWFkZXJfdmFsdWVzKQogCi0gICAgZGVmIGdldF9hbHRfZnJvbWFkZHIoc2VsZik6CisgICAgZGVmIGdldF9zcGVjaWZpY19mcm9tYWRkcihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuZW52aXJvbm1lbnQuZnJvbV9jb21taXQKIAogCkBAIC0xMTkzLDcgKzEyMTcsNyBAQAogICAgICAgICAgICAgICAgICMgVHJhY2tpbmcgYnJhbmNoOgogICAgICAgICAgICAgICAgIGVudmlyb25tZW50LmxvZ193YXJuaW5nKAogICAgICAgICAgICAgICAgICAgICAnKioqIFB1c2gtdXBkYXRlIG9mIHRyYWNraW5nIGJyYW5jaCAlclxuJwotICAgICAgICAgICAgICAgICAgICAnKioqICAtIGluY29tcGxldGUgZW1haWwgZ2VuZXJhdGVkLlxuJworICAgICAgICAgICAgICAgICAgICAnKioqICAtIGluY29tcGxldGUgZW1haWwgZ2VuZXJhdGVkLicKICAgICAgICAgICAgICAgICAgICAgJSAocmVmbmFtZSwpCiAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICBrbGFzcyA9IE90aGVyUmVmZXJlbmNlQ2hhbmdlCkBAIC0xMjAxLDcgKzEyMjUsNyBAQAogICAgICAgICAgICAgICAgICMgU29tZSBvdGhlciByZWZlcmVuY2UgbmFtZXNwYWNlOgogICAgICAgICAgICAgICAgIGVudmlyb25tZW50LmxvZ193YXJuaW5nKAogICAgICAgICAgICAgICAgICAgICAnKioqIFB1c2gtdXBkYXRlIG9mIHN0cmFuZ2UgcmVmZXJlbmNlICVyXG4nCi0gICAgICAgICAgICAgICAgICAgICcqKiogIC0gaW5jb21wbGV0ZSBlbWFpbCBnZW5lcmF0ZWQuXG4nCisgICAgICAgICAgICAgICAgICAgICcqKiogIC0gaW5jb21wbGV0ZSBlbWFpbCBnZW5lcmF0ZWQuJwogICAgICAgICAgICAgICAgICAgICAlIChyZWZuYW1lLCkKICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgIGtsYXNzID0gT3RoZXJSZWZlcmVuY2VDaGFuZ2UKQEAgLTEyMDksNyArMTIzMyw3IEBACiAgICAgICAgICAgICAjIEFueXRoaW5nIGVsc2UgKGlzIHRoZXJlIGFueXRoaW5nIGVsc2U/KQogICAgICAgICAgICAgZW52aXJvbm1lbnQubG9nX3dhcm5pbmcoCiAgICAgICAgICAgICAgICAgJyoqKiBVbmtub3duIHR5cGUgb2YgdXBkYXRlIHRvICVyICglcylcbicKLSAgICAgICAgICAgICAgICAnKioqICAtIGluY29tcGxldGUgZW1haWwgZ2VuZXJhdGVkLlxuJworICAgICAgICAgICAgICAgICcqKiogIC0gaW5jb21wbGV0ZSBlbWFpbCBnZW5lcmF0ZWQuJwogICAgICAgICAgICAgICAgICUgKHJlZm5hbWUsIHJldi50eXBlLCkKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICBrbGFzcyA9IE90aGVyUmVmZXJlbmNlQ2hhbmdlCkBAIC0xNDQ2LDkgKzE0NzAsOSBAQAogICAgICAgICAgICAgaWYgZGlzY2FyZHMgYW5kIGFkZHM6CiAgICAgICAgICAgICAgICAgZm9yIChzaGExLCBzdWJqZWN0KSBpbiBkaXNjYXJkczoKICAgICAgICAgICAgICAgICAgICAgaWYgc2hhMSBpbiBkaXNjYXJkZWRfY29tbWl0czoKLSAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbiA9ICdkaXNjYXJkcycKKyAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbiA9ICdkaXNjYXJkJwogICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uID0gJ29taXRzJworICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uID0gJ29taXQnCiAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHNlbGYuZXhwYW5kKAogICAgICAgICAgICAgICAgICAgICAgICAgQlJJRUZfU1VNTUFSWV9URU1QTEFURSwgYWN0aW9uPWFjdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgIHJldl9zaG9ydD1zaGExLCB0ZXh0PXN1YmplY3QsCkBAIC0xNDU3LDcgKzE0ODEsNyBAQAogICAgICAgICAgICAgICAgICAgICBpZiBzaGExIGluIG5ld19jb21taXRzOgogICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uID0gJ25ldycKICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbiA9ICdhZGRzJworICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uID0gJ2FkZCcKICAgICAgICAgICAgICAgICAgICAgeWllbGQgc2VsZi5leHBhbmQoCiAgICAgICAgICAgICAgICAgICAgICAgICBCUklFRl9TVU1NQVJZX1RFTVBMQVRFLCBhY3Rpb249YWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgcmV2X3Nob3J0PXNoYTEsIHRleHQ9c3ViamVjdCwKQEAgLTE0NjksOSArMTQ5Myw5IEBACiAgICAgICAgICAgICBlbGlmIGRpc2NhcmRzOgogICAgICAgICAgICAgICAgIGZvciAoc2hhMSwgc3ViamVjdCkgaW4gZGlzY2FyZHM6CiAgICAgICAgICAgICAgICAgICAgIGlmIHNoYTEgaW4gZGlzY2FyZGVkX2NvbW1pdHM6Ci0gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb24gPSAnZGlzY2FyZHMnCisgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb24gPSAnZGlzY2FyZCcKICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbiA9ICdvbWl0cycKKyAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbiA9ICdvbWl0JwogICAgICAgICAgICAgICAgICAgICB5aWVsZCBzZWxmLmV4cGFuZCgKICAgICAgICAgICAgICAgICAgICAgICAgIEJSSUVGX1NVTU1BUllfVEVNUExBVEUsIGFjdGlvbj1hY3Rpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICByZXZfc2hvcnQ9c2hhMSwgdGV4dD1zdWJqZWN0LApAQCAtMTQ5MCw3ICsxNTE0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgaWYgc2hhMSBpbiBuZXdfY29tbWl0czoKICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbiA9ICduZXcnCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb24gPSAnYWRkcycKKyAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbiA9ICdhZGQnCiAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHNlbGYuZXhwYW5kKAogICAgICAgICAgICAgICAgICAgICAgICAgQlJJRUZfU1VNTUFSWV9URU1QTEFURSwgYWN0aW9uPWFjdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgIHJldl9zaG9ydD1zaGExLCB0ZXh0PXN1YmplY3QsCkBAIC0xNTQzLDcgKzE1NjcsNyBAQAogICAgICAgICAgICAgICAgIGZvciByIGluIGRpc2NhcmRlZF9yZXZpc2lvbnM6CiAgICAgICAgICAgICAgICAgICAgIChzaGExLCBzdWJqZWN0KSA9IHIucmV2LmdldF9zdW1tYXJ5KCkKICAgICAgICAgICAgICAgICAgICAgeWllbGQgci5leHBhbmQoCi0gICAgICAgICAgICAgICAgICAgICAgICBCUklFRl9TVU1NQVJZX1RFTVBMQVRFLCBhY3Rpb249J2Rpc2NhcmRzJywgdGV4dD1zdWJqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgQlJJRUZfU1VNTUFSWV9URU1QTEFURSwgYWN0aW9uPSdkaXNjYXJkJywgdGV4dD1zdWJqZWN0LAogICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgIGZvciBsaW5lIGluIHNlbGYuZ2VuZXJhdGVfcmV2aXNpb25fY2hhbmdlX2dyYXBoKHB1c2gpOgogICAgICAgICAgICAgICAgICAgICB5aWVsZCBsaW5lCkBAIC0xNTgxLDcgKzE2MDUsNyBAQAogICAgICAgICAgICAgKQogICAgICAgICB5aWVsZCAnXG4nCiAKLSAgICBkZWYgZ2V0X2FsdF9mcm9tYWRkcihzZWxmKToKKyAgICBkZWYgZ2V0X3NwZWNpZmljX2Zyb21hZGRyKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5lbnZpcm9ubWVudC5mcm9tX3JlZmNoYW5nZQogCiAKQEAgLTE3OTEsMTMgKzE4MTUsMTMgQEAKICAgICAgICAgICAgIGV4Y2VwdCBDb21tYW5kRXJyb3I6CiAgICAgICAgICAgICAgICAgcHJldnRhZyA9IE5vbmUKICAgICAgICAgICAgIGlmIHByZXZ0YWc6Ci0gICAgICAgICAgICAgICAgeWllbGQgJyAgcmVwbGFjZXMgICVzXG4nICUgKHByZXZ0YWcsKQorICAgICAgICAgICAgICAgIHlpZWxkICcgcmVwbGFjZXMgJXNcbicgJSAocHJldnRhZywpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBwcmV2dGFnID0gTm9uZQotICAgICAgICAgICAgeWllbGQgJyAgICBsZW5ndGggICVzIGJ5dGVzXG4nICUgKHJlYWRfZ2l0X291dHB1dChbJ2NhdC1maWxlJywgJy1zJywgdGFnb2JqZWN0XSksKQorICAgICAgICAgICAgeWllbGQgJyAgbGVuZ3RoICVzIGJ5dGVzXG4nICUgKHJlYWRfZ2l0X291dHB1dChbJ2NhdC1maWxlJywgJy1zJywgdGFnb2JqZWN0XSksKQogCi0gICAgICAgIHlpZWxkICcgdGFnZ2VkIGJ5ICAlc1xuJyAlICh0YWdnZXIsKQotICAgICAgICB5aWVsZCAnICAgICAgICBvbiAgJXNcbicgJSAodGFnZ2VkLCkKKyAgICAgICAgeWllbGQgJyAgICAgIGJ5ICVzXG4nICUgKHRhZ2dlciwpCisgICAgICAgIHlpZWxkICcgICAgICBvbiAlc1xuJyAlICh0YWdnZWQsKQogICAgICAgICB5aWVsZCAnXG4nCiAKICAgICAgICAgIyBTaG93IHRoZSBjb250ZW50IG9mIHRoZSB0YWcgbWVzc2FnZTsgdGhpcyBtaWdodCBjb250YWluIGEKQEAgLTE5MTQsNiArMTkzOCw5IEBACiBjbGFzcyBNYWlsZXIob2JqZWN0KToKICAgICAiIiJBbiBvYmplY3QgdGhhdCBjYW4gc2VuZCBlbWFpbHMuIiIiCiAKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZW52aXJvbm1lbnQpOgorICAgICAgICBzZWxmLmVudmlyb25tZW50ID0gZW52aXJvbm1lbnQKKwogICAgIGRlZiBzZW5kKHNlbGYsIGxpbmVzLCB0b19hZGRycyk6CiAgICAgICAgICIiIlNlbmQgYW4gZW1haWwgY29uc2lzdGluZyBvZiBsaW5lcy4KIApAQCAtMTk0OCwxNCArMTk3NSwxNCBAQAogICAgICAgICAgICAgICAgICdUcnkgc2V0dGluZyBtdWx0aW1haWxob29rLnNlbmRtYWlsQ29tbWFuZC4nCiAgICAgICAgICAgICAgICAgKQogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvbW1hbmQ9Tm9uZSwgZW52ZWxvcGVzZW5kZXI9Tm9uZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGVudmlyb25tZW50LCBjb21tYW5kPU5vbmUsIGVudmVsb3Blc2VuZGVyPU5vbmUpOgogICAgICAgICAiIiJDb25zdHJ1Y3QgYSBTZW5kTWFpbGVyIGluc3RhbmNlLgogCiAgICAgICAgIGNvbW1hbmQgc2hvdWxkIGJlIHRoZSBjb21tYW5kIGFuZCBhcmd1bWVudHMgdXNlZCB0byBpbnZva2UKICAgICAgICAgc2VuZG1haWwsIGFzIGEgbGlzdCBvZiBzdHJpbmdzLiAgSWYgYW4gZW52ZWxvcGVzZW5kZXIgaXMKICAgICAgICAgcHJvdmlkZWQsIGl0IHdpbGwgYWxzbyBiZSBwYXNzZWQgdG8gdGhlIGNvbW1hbmQsIHZpYSAnLWYKICAgICAgICAgZW52ZWxvcGVzZW5kZXInLiIiIgotCisgICAgICAgIHN1cGVyKFNlbmRNYWlsZXIsIHNlbGYpLl9faW5pdF9fKGVudmlyb25tZW50KQogICAgICAgICBpZiBjb21tYW5kOgogICAgICAgICAgICAgc2VsZi5jb21tYW5kID0gY29tbWFuZFs6XQogICAgICAgICBlbHNlOgpAQCAtMTk2OCw3ICsxOTk1LDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oc2VsZi5jb21tYW5kLCBzdGRpbj1zdWJwcm9jZXNzLlBJUEUpCiAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgotICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgKKyAgICAgICAgICAgIHNlbGYuZW52aXJvbm1lbnQuZ2V0X2xvZ2dlcigpLmVycm9yKAogICAgICAgICAgICAgICAgICcqKiogQ2Fubm90IGV4ZWN1dGUgY29tbWFuZDogJXNcbicgJSAnICcuam9pbihzZWxmLmNvbW1hbmQpICsKICAgICAgICAgICAgICAgICAnKioqICVzXG4nICUgc3lzLmV4Y19pbmZvKClbMV0gKwogICAgICAgICAgICAgICAgICcqKiogVHJ5IHNldHRpbmcgbXVsdGltYWlsaG9vay5tYWlsZXIgdG8gInNtdHAiXG4nICsKQEAgLTE5NzksMTUgKzIwMDYsMTYgQEAKICAgICAgICAgICAgIGxpbmVzID0gKHN0cl90b19ieXRlcyhsaW5lKSBmb3IgbGluZSBpbiBsaW5lcykKICAgICAgICAgICAgIHAuc3RkaW4ud3JpdGVsaW5lcyhsaW5lcykKICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKLSAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoCisgICAgICAgICAgICBzZWxmLmVudmlyb25tZW50LmdldF9sb2dnZXIoKS5lcnJvcigKICAgICAgICAgICAgICAgICAnKioqIEVycm9yIHdoaWxlIGdlbmVyYXRpbmcgY29tbWl0IGVtYWlsXG4nCiAgICAgICAgICAgICAgICAgJyoqKiAgLSBtYWlsIHNlbmRpbmcgYWJvcnRlZC5cbicKICAgICAgICAgICAgICAgICApCi0gICAgICAgICAgICB0cnk6CisgICAgICAgICAgICBpZiBoYXNhdHRyKHAsICd0ZXJtaW5hdGUnKToKICAgICAgICAgICAgICAgICAjIHN1YnByb2Nlc3MudGVybWluYXRlKCkgaXMgbm90IGF2YWlsYWJsZSBpbiBQeXRob24gMi40CiAgICAgICAgICAgICAgICAgcC50ZXJtaW5hdGUoKQotICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaW1wb3J0IHNpZ25hbAorICAgICAgICAgICAgICAgIG9zLmtpbGwocC5waWQsIHNpZ25hbC5TSUdURVJNKQogICAgICAgICAgICAgcmFpc2UKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHAuc3RkaW4uY2xvc2UoKQpAQCAtMTk5OSwxNCArMjAyNywxNiBAQAogY2xhc3MgU01UUE1haWxlcihNYWlsZXIpOgogICAgICIiIlNlbmQgZW1haWxzIHVzaW5nIFB5dGhvbidzIHNtdHBsaWIuIiIiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgZW52ZWxvcGVzZW5kZXIsIHNtdHBzZXJ2ZXIsCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGVudmlyb25tZW50LAorICAgICAgICAgICAgICAgICBlbnZlbG9wZXNlbmRlciwgc210cHNlcnZlciwKICAgICAgICAgICAgICAgICAgc210cHNlcnZlcnRpbWVvdXQ9MTAuMCwgc210cHNlcnZlcmRlYnVnbGV2ZWw9MCwKICAgICAgICAgICAgICAgICAgc210cGVuY3J5cHRpb249J25vbmUnLAogICAgICAgICAgICAgICAgICBzbXRwdXNlcj0nJywgc210cHBhc3M9JycsCiAgICAgICAgICAgICAgICAgIHNtdHBjYWNlcnRzPScnCiAgICAgICAgICAgICAgICAgICk6CisgICAgICAgIHN1cGVyKFNNVFBNYWlsZXIsIHNlbGYpLl9faW5pdF9fKGVudmlyb25tZW50KQogICAgICAgICBpZiBub3QgZW52ZWxvcGVzZW5kZXI6Ci0gICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKAorICAgICAgICAgICAgc2VsZi5lbnZpcm9ubWVudC5nZXRfbG9nZ2VyKCkuZXJyb3IoCiAgICAgICAgICAgICAgICAgJ2ZhdGFsOiBnaXRfbXVsdGltYWlsOiBjYW5ub3QgdXNlIFNNVFBNYWlsZXIgd2l0aG91dCBhIHNlbmRlciBhZGRyZXNzLlxuJwogICAgICAgICAgICAgICAgICdwbGVhc2Ugc2V0IGVpdGhlciBtdWx0aW1haWxob29rLmVudmVsb3BlU2VuZGVyIG9yIHVzZXIuZW1haWxcbicKICAgICAgICAgICAgICAgICApCkBAIC0yMDQxLDcgKzIwNzEsNyBAQAogICAgICAgICAgICAgICAgIHNlbGYuc210cCA9IGNhbGwoc210cGxpYi5TTVRQX1NTTCwgc2VsZi5zbXRwc2VydmVyLCB0aW1lb3V0PXNlbGYuc210cHNlcnZlcnRpbWVvdXQpCiAgICAgICAgICAgICBlbGlmIHNlbGYuc2VjdXJpdHkgPT0gJ3Rscyc6CiAgICAgICAgICAgICAgICAgaWYgJ3NzbCcgbm90IGluIHN5cy5tb2R1bGVzOgotICAgICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKAorICAgICAgICAgICAgICAgICAgICBzZWxmLmVudmlyb25tZW50LmdldF9sb2dnZXIoKS5lcnJvcigKICAgICAgICAgICAgICAgICAgICAgICAgICcqKiogWW91ciBQeXRob24gdmVyc2lvbiBkb2VzIG5vdCBoYXZlIHRoZSBzc2wgbGlicmFyeSBpbnN0YWxsZWRcbicKICAgICAgICAgICAgICAgICAgICAgICAgICcqKiogc210cEVuY3J5cHRpb249dGxzIGlzIG5vdCBhdmFpbGFibGUuXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAnKioqIEVpdGhlciB1cGdyYWRlIFB5dGhvbiB0byAyLjYgb3IgbGF0ZXJcbicKQEAgLTIwNzEsNyArMjEwMSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNtdHAuc29jaywKICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRfcmVxcz1zc2wuQ0VSVF9OT05FCiAgICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoCisgICAgICAgICAgICAgICAgICAgIHNlbGYuZW52aXJvbm1lbnQuZ2V0X2xvZ2dlcigpLmVycm9yKAogICAgICAgICAgICAgICAgICAgICAgICAgJyoqKiBXYXJuaW5nLCB0aGUgc2VydmVyIGNlcnRpZmljYXQgaXMgbm90IHZlcmlmaWVkIChzbXRwKSAqKipcbicKICAgICAgICAgICAgICAgICAgICAgICAgICcqKiogICAgICAgICAgc2V0IHRoZSBvcHRpb24gc210cENBQ2VydHMgICAgICAgICAgICAgICAgICAgKioqXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICApCkBAIC0yMDk0LDEwICsyMTI0LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICUgc2VsZi5zbXRwc2VydmVyZGVidWdsZXZlbCkKICAgICAgICAgICAgICAgICBzZWxmLnNtdHAuc2V0X2RlYnVnbGV2ZWwoc2VsZi5zbXRwc2VydmVyZGVidWdsZXZlbCkKICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKLSAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoCisgICAgICAgICAgICBzZWxmLmVudmlyb25tZW50LmdldF9sb2dnZXIoKS5lcnJvcigKICAgICAgICAgICAgICAgICAnKioqIEVycm9yIGVzdGFibGlzaGluZyBTTVRQIGNvbm5lY3Rpb24gdG8gJXMgKioqXG4nCi0gICAgICAgICAgICAgICAgJSBzZWxmLnNtdHBzZXJ2ZXIpCi0gICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCcqKiogJXNcbicgJSBzeXMuZXhjX2luZm8oKVsxXSkKKyAgICAgICAgICAgICAgICAnKioqICVzXG4nCisgICAgICAgICAgICAgICAgJSAoc2VsZi5zbXRwc2VydmVyLCBzeXMuZXhjX2luZm8oKVsxXSkpCiAgICAgICAgICAgICBzeXMuZXhpdCgxKQogCiAgICAgZGVmIF9fZGVsX18oc2VsZik6CkBAIC0yMTE1LDEwICsyMTQ1LDExIEBACiAgICAgICAgICAgICAgICAgdG9fYWRkcnMgPSBbZW1haWwgZm9yIChuYW1lLCBlbWFpbCkgaW4gZ2V0YWRkcmVzc2VzKFt0b19hZGRyc10pXQogICAgICAgICAgICAgc2VsZi5zbXRwLnNlbmRtYWlsKHNlbGYuZW52ZWxvcGVzZW5kZXIsIHRvX2FkZHJzLCBtc2cpCiAgICAgICAgIGV4Y2VwdCBzbXRwbGliLlNNVFBSZXNwb25zZUV4Y2VwdGlvbjoKLSAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJyoqKiBFcnJvciBzZW5kaW5nIGVtYWlsICoqKlxuJykKICAgICAgICAgICAgIGVyciA9IHN5cy5leGNfaW5mbygpWzFdCi0gICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCcqKiogRXJyb3IgJWQ6ICVzXG4nICUgKGVyci5zbXRwX2NvZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzX3RvX3N0cihlcnIuc210cF9lcnJvcikpKQorICAgICAgICAgICAgc2VsZi5lbnZpcm9ubWVudC5nZXRfbG9nZ2VyKCkuZXJyb3IoCisgICAgICAgICAgICAgICAgJyoqKiBFcnJvciBzZW5kaW5nIGVtYWlsICoqKlxuJworICAgICAgICAgICAgICAgICcqKiogRXJyb3IgJWQ6ICVzXG4nCisgICAgICAgICAgICAgICAgJSAoZXJyLnNtdHBfY29kZSwgYnl0ZXNfdG9fc3RyKGVyci5zbXRwX2Vycm9yKSkpCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc210cCA9IHNlbGYuc210cAogICAgICAgICAgICAgICAgICMgZGVsZXRlIHRoZSBmaWVsZCBiZWZvcmUgcXVpdCgpIHNvIHRoYXQgaW4gY2FzZSBvZgpAQCAtMjEyNiw5ICsyMTU3LDEwIEBACiAgICAgICAgICAgICAgICAgZGVsIHNlbGYuc210cAogICAgICAgICAgICAgICAgIHNtdHAucXVpdCgpCiAgICAgICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnKioqIEVycm9yIGNsb3NpbmcgdGhlIFNNVFAgY29ubmVjdGlvbiAqKipcbicpCi0gICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnKioqIEV4aXRpbmcgYW55d2F5IC4uLiAqKipcbicpCi0gICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnKioqICVzXG4nICUgc3lzLmV4Y19pbmZvKClbMV0pCisgICAgICAgICAgICAgICAgc2VsZi5lbnZpcm9ubWVudC5nZXRfbG9nZ2VyKCkuZXJyb3IoCisgICAgICAgICAgICAgICAgICAgICcqKiogRXJyb3IgY2xvc2luZyB0aGUgU01UUCBjb25uZWN0aW9uICoqKlxuJworICAgICAgICAgICAgICAgICAgICAnKioqIEV4aXRpbmcgYW55d2F5IC4uLiAqKipcbicKKyAgICAgICAgICAgICAgICAgICAgJyoqKiAlc1xuJyAlIHN5cy5leGNfaW5mbygpWzFdKQogICAgICAgICAgICAgc3lzLmV4aXQoMSkKIAogCkBAIC0yMjUwLDYgKzIyODIsMTEgQEAKICAgICAgICAgICAgIHRvIHNlbmQgYW5kIHdoZW4gY29tcHV0aW5nIHdoYXQgY29tbWl0cyBhcmUgY29uc2lkZXJlZCBuZXcKICAgICAgICAgICAgIHRvIHRoZSByZXBvc2l0b3J5LiAgRGVmYXVsdCBpcyAiXnJlZnMvbm90ZXMvIi4KIAorICAgICAgICBnZXRfbWF4X3N1YmplY3RfbGVuZ3RoKCkKKworICAgICAgICAgICAgUmV0dXJuIGFuIGludCBnaXZpbmcgdGhlIG1heGltYWwgbGVuZ3RoIGZvciB0aGUgc3ViamVjdAorICAgICAgICAgICAgKGdpdCBsb2cgLS1vbmVsaW5lKS4KKwogICAgIFRoZXkgc2hvdWxkIGFsc28gZGVmaW5lIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlczoKIAogICAgICAgICBhbm5vdW5jZV9zaG93X3Nob3J0bG9nIChib29sKQpAQCAtMjMyNCw2ICsyMzYxLDE1IEBACiAgICAgICAgICAgICBtdWx0aW1haWxob29rLmZyb21SZWZjaGFuZ2UgYW5kIG11bHRpbWFpbGhvb2suZnJvbUNvbW1pdAogICAgICAgICAgICAgYnkgQ29uZmlnRW52aXJvbm1lbnRNaXhpbi4KIAorICAgICAgICBsb2dfZmlsZSwgZXJyb3JfbG9nX2ZpbGUsIGRlYnVnX2xvZ19maWxlIChzdHJpbmcpCisKKyAgICAgICAgICAgIE5hbWUgb2YgYSBmaWxlIHRvIHdoaWNoIGxvZ3Mgc2hvdWxkIGJlIHNlbnQuCisKKyAgICAgICAgdmVyYm9zZSAoaW50KQorCisgICAgICAgICAgICBIb3cgdmVyYm9zZSB0aGUgc3lzdGVtIHNob3VsZCBiZS4KKyAgICAgICAgICAgIC0gMCAoZGVmYXVsdCk6IHNob3cgaW5mbywgZXJyb3JzLCAuLi4KKyAgICAgICAgICAgIC0gMSA6IHNob3cgYmFzaWMgZGVidWcgaW5mbwogICAgICIiIgogCiAgICAgUkVQT19OQU1FX1JFID0gcmUuY29tcGlsZShyJ14oP1A8bmFtZT4uKz8pKD86XC5naXQpJCcpCkBAIC0yMzQ2LDYgKzIzOTIsNyBAQAogICAgICAgICBzZWxmLnF1aWV0ID0gRmFsc2UKICAgICAgICAgc2VsZi5zdGRvdXQgPSBGYWxzZQogICAgICAgICBzZWxmLmNvbWJpbmVfd2hlbl9zaW5nbGVfY29tbWl0ID0gVHJ1ZQorICAgICAgICBzZWxmLmxvZ2dlciA9IE5vbmUKIAogICAgICAgICBzZWxmLkNPTVBVVEVEX0tFWVMgPSBbCiAgICAgICAgICAgICAnYWRtaW5pc3RyYXRvcicsCkBAIC0yMzYwLDYgKzI0MDcsMTIgQEAKIAogICAgICAgICBzZWxmLl92YWx1ZXMgPSBOb25lCiAKKyAgICBkZWYgZ2V0X2xvZ2dlcihzZWxmKToKKyAgICAgICAgIiIiR2V0IChwb3NzaWJseSBjcmVhdGVzKSB0aGUgbG9nZ2VyIGFzc29jaWF0ZWQgdG8gdGhpcyBlbnZpcm9ubWVudC4iIiIKKyAgICAgICAgaWYgc2VsZi5sb2dnZXIgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyID0gTG9nZ2VyKHNlbGYpCisgICAgICAgIHJldHVybiBzZWxmLmxvZ2dlcgorCiAgICAgZGVmIGdldF9yZXBvX3Nob3J0bmFtZShzZWxmKToKICAgICAgICAgIiIiVXNlIHRoZSBsYXN0IHBhcnQgb2YgdGhlIHJlcG8gcGF0aCwgd2l0aCAiLmdpdCIgc3RyaXBwZWQgb2ZmIGlmIHByZXNlbnQuIiIiCiAKQEAgLTI0NjcsNiArMjUyMCwxMSBAQAogICAgICAgICAjIHdoaWNoIHdlIHNpbXBseSBkbyBub3QgaGF2ZSByaWdodCBub3cuCiAgICAgICAgIHJldHVybiAiXnJlZnMvbm90ZXMvIgogCisgICAgZGVmIGdldF9tYXhfc3ViamVjdF9sZW5ndGgoc2VsZik6CisgICAgICAgICIiIlJldHVybiB0aGUgbWF4aW1hbCBzdWJqZWN0IGxpbmUgKGdpdCBsb2cgLS1vbmVsaW5lKSBsZW5ndGguCisgICAgICAgIExvbmdlciBzdWJqZWN0IGxpbmVzIHdpbGwgYmUgdHJ1bmNhdGVkLiIiIgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCkKKwogICAgIGRlZiBmaWx0ZXJfYm9keShzZWxmLCBsaW5lcyk6CiAgICAgICAgICIiIkZpbHRlciB0aGUgbGluZXMgaW50ZW5kZWQgZm9yIGFuIGVtYWlsIGJvZHkuCiAKQEAgLTI0ODIsMTkgKzI1NDAsMjIgQEAKICAgICAgICAgIiIiV3JpdGUgdGhlIHN0cmluZyBtc2cgb24gYSBsb2cgZmlsZSBvciBvbiBzdGRlcnIuCiAKICAgICAgICAgU2VuZHMgdGhlIHRleHQgdG8gc3RkZXJyIGJ5IGRlZmF1bHQsIG92ZXJyaWRlIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3IuIiIiCi0gICAgICAgIHdyaXRlX3N0cihzeXMuc3RkZXJyLCBtc2cpCisgICAgICAgIHNlbGYuZ2V0X2xvZ2dlcigpLmluZm8obXNnKQogCiAgICAgZGVmIGxvZ193YXJuaW5nKHNlbGYsIG1zZyk6CiAgICAgICAgICIiIldyaXRlIHRoZSBzdHJpbmcgbXNnIG9uIGEgbG9nIGZpbGUgb3Igb24gc3RkZXJyLgogCiAgICAgICAgIFNlbmRzIHRoZSB0ZXh0IHRvIHN0ZGVyciBieSBkZWZhdWx0LCBvdmVycmlkZSB0byBjaGFuZ2UgdGhlIGJlaGF2aW9yLiIiIgotICAgICAgICB3cml0ZV9zdHIoc3lzLnN0ZGVyciwgbXNnKQorICAgICAgICBzZWxmLmdldF9sb2dnZXIoKS53YXJuaW5nKG1zZykKIAogICAgIGRlZiBsb2dfZXJyb3Ioc2VsZiwgbXNnKToKICAgICAgICAgIiIiV3JpdGUgdGhlIHN0cmluZyBtc2cgb24gYSBsb2cgZmlsZSBvciBvbiBzdGRlcnIuCiAKICAgICAgICAgU2VuZHMgdGhlIHRleHQgdG8gc3RkZXJyIGJ5IGRlZmF1bHQsIG92ZXJyaWRlIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3IuIiIiCi0gICAgICAgIHdyaXRlX3N0cihzeXMuc3RkZXJyLCBtc2cpCisgICAgICAgIHNlbGYuZ2V0X2xvZ2dlcigpLmVycm9yKG1zZykKKworICAgIGRlZiBjaGVjayhzZWxmKToKKyAgICAgICAgcGFzcwogCiAKIGNsYXNzIENvbmZpZ0Vudmlyb25tZW50TWl4aW4oRW52aXJvbm1lbnQpOgpAQCAtMjYxMyw2ICsyNjc0LDE0IEBACiAgICAgICAgIGlmIGNvbWJpbmUgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBzZWxmLmNvbWJpbmVfd2hlbl9zaW5nbGVfY29tbWl0ID0gY29tYmluZQogCisgICAgICAgIHNlbGYubG9nX2ZpbGUgPSBjb25maWcuZ2V0KCdsb2dGaWxlJywgZGVmYXVsdD1Ob25lKQorICAgICAgICBzZWxmLmVycm9yX2xvZ19maWxlID0gY29uZmlnLmdldCgnZXJyb3JMb2dGaWxlJywgZGVmYXVsdD1Ob25lKQorICAgICAgICBzZWxmLmRlYnVnX2xvZ19maWxlID0gY29uZmlnLmdldCgnZGVidWdMb2dGaWxlJywgZGVmYXVsdD1Ob25lKQorICAgICAgICBpZiBjb25maWcuZ2V0X2Jvb2woJ1ZlcmJvc2UnLCBkZWZhdWx0PUZhbHNlKToKKyAgICAgICAgICAgIHNlbGYudmVyYm9zZSA9IDEKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYudmVyYm9zZSA9IDAKKwogICAgIGRlZiBnZXRfYWRtaW5pc3RyYXRvcihzZWxmKToKICAgICAgICAgcmV0dXJuICgKICAgICAgICAgICAgIHNlbGYuY29uZmlnLmdldCgnYWRtaW5pc3RyYXRvcicpIG9yCkBAIC0yNjMxLDExICsyNzAwLDIxIEBACiAgICAgICAgIGlmIGVtYWlscHJlZml4IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgZW1haWxwcmVmaXggPSBlbWFpbHByZWZpeC5zdHJpcCgpCiAgICAgICAgICAgICBpZiBlbWFpbHByZWZpeDoKLSAgICAgICAgICAgICAgICByZXR1cm4gZW1haWxwcmVmaXggKyAnICcKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICcnCisgICAgICAgICAgICAgICAgZW1haWxwcmVmaXggKz0gJyAnCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gJ1slc10gJyAlIChzZWxmLmdldF9yZXBvX3Nob3J0bmFtZSgpLCkKKyAgICAgICAgICAgIGVtYWlscHJlZml4ID0gJ1slKHJlcG9fc2hvcnRuYW1lKXNdICcKKyAgICAgICAgc2hvcnRfbmFtZSA9IHNlbGYuZ2V0X3JlcG9fc2hvcnRuYW1lKCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmV0dXJuIGVtYWlscHJlZml4ICUgeydyZXBvX3Nob3J0bmFtZSc6IHNob3J0X25hbWV9CisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIHNlbGYuZ2V0X2xvZ2dlcigpLmVycm9yKAorICAgICAgICAgICAgICAgICcqKiogSW52YWxpZCBtdWx0aW1haWxob29rLmVtYWlsUHJlZml4OiAlc1xuJyAlIGVtYWlscHJlZml4ICsKKyAgICAgICAgICAgICAgICAnKioqICVzXG4nICUgc3lzLmV4Y19pbmZvKClbMV0gKworICAgICAgICAgICAgICAgICIqKiogT25seSB0aGUgJyUocmVwb19zaG9ydG5hbWUpcycgcGxhY2Vob2xkZXIgaXMgYWxsb3dlZFxuIgorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIHJhaXNlIENvbmZpZ3VyYXRpb25FeGNlcHRpb24oCisgICAgICAgICAgICAgICAgJyIlcyIgaXMgbm90IGFuIGFsbG93ZWQgc2V0dGluZyBmb3IgZW1haWxQcmVmaXgnICUgZW1haWxwcmVmaXgKKyAgICAgICAgICAgICAgICApCiAKICAgICBkZWYgZ2V0X3NlbmRlcihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuY29uZmlnLmdldCgnZW52ZWxvcGVzZW5kZXInKQpAQCAtMjY1Niw5ICsyNzM1LDkgQEAKICAgICBkZWYgZ2V0X2Zyb21hZGRyKHNlbGYsIGNoYW5nZT1Ob25lKToKICAgICAgICAgZnJvbWFkZHIgPSBzZWxmLmNvbmZpZy5nZXQoJ2Zyb20nKQogICAgICAgICBpZiBjaGFuZ2U6Ci0gICAgICAgICAgICBhbHRfZnJvbWFkZHIgPSBjaGFuZ2UuZ2V0X2FsdF9mcm9tYWRkcigpCi0gICAgICAgICAgICBpZiBhbHRfZnJvbWFkZHI6Ci0gICAgICAgICAgICAgICAgZnJvbWFkZHIgPSBhbHRfZnJvbWFkZHIKKyAgICAgICAgICAgIHNwZWNpZmljX2Zyb21hZGRyID0gY2hhbmdlLmdldF9zcGVjaWZpY19mcm9tYWRkcigpCisgICAgICAgICAgICBpZiBzcGVjaWZpY19mcm9tYWRkcjoKKyAgICAgICAgICAgICAgICBmcm9tYWRkciA9IHNwZWNpZmljX2Zyb21hZGRyCiAgICAgICAgIGlmIGZyb21hZGRyOgogICAgICAgICAgICAgZnJvbWFkZHIgPSBzZWxmLnByb2Nlc3NfYWRkcihmcm9tYWRkciwgY2hhbmdlKQogICAgICAgICBpZiBmcm9tYWRkcjoKQEAgLTI2ODQsNyArMjc2Myw3IEBACiBjbGFzcyBGaWx0ZXJMaW5lc0Vudmlyb25tZW50TWl4aW4oRW52aXJvbm1lbnQpOgogICAgICIiIkhhbmRsZSBlbmNvZGluZyBhbmQgbWF4aW11bSBsaW5lIGxlbmd0aCBvZiBib2R5IGxpbmVzLgogCi0gICAgICAgIGVtYWlsbWF4bGluZWxlbmd0aCAoaW50IG9yIE5vbmUpCisgICAgICAgIGVtYWlsX21heF9saW5lX2xlbmd0aCAoaW50IG9yIE5vbmUpCiAKICAgICAgICAgICAgIFRoZSBtYXhpbXVtIGxlbmd0aCBvZiBhbnkgc2luZ2xlIGxpbmUgaW4gdGhlIGVtYWlsIGJvZHkuCiAgICAgICAgICAgICBMb25nZXIgbGluZXMgYXJlIHRydW5jYXRlZCBhdCB0aGF0IGxlbmd0aCB3aXRoICcgWy4uLl0nCkBAIC0yNjk5LDEwICsyNzc4LDEzIEBACiAKICAgICAiIiIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzdHJpY3RfdXRmOD1UcnVlLCBlbWFpbG1heGxpbmVsZW5ndGg9NTAwLCAqKmt3KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgc3RyaWN0X3V0Zjg9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgZW1haWxfbWF4X2xpbmVfbGVuZ3RoPTUwMCwgbWF4X3N1YmplY3RfbGVuZ3RoPTUwMCwKKyAgICAgICAgICAgICAgICAgKiprdyk6CiAgICAgICAgIHN1cGVyKEZpbHRlckxpbmVzRW52aXJvbm1lbnRNaXhpbiwgc2VsZikuX19pbml0X18oKiprdykKICAgICAgICAgc2VsZi5fX3N0cmljdF91dGY4ID0gc3RyaWN0X3V0ZjgKLSAgICAgICAgc2VsZi5fX2VtYWlsbWF4bGluZWxlbmd0aCA9IGVtYWlsbWF4bGluZWxlbmd0aAorICAgICAgICBzZWxmLl9fZW1haWxfbWF4X2xpbmVfbGVuZ3RoID0gZW1haWxfbWF4X2xpbmVfbGVuZ3RoCisgICAgICAgIHNlbGYuX19tYXhfc3ViamVjdF9sZW5ndGggPSBtYXhfc3ViamVjdF9sZW5ndGgKIAogICAgIGRlZiBmaWx0ZXJfYm9keShzZWxmLCBsaW5lcyk6CiAgICAgICAgIGxpbmVzID0gc3VwZXIoRmlsdGVyTGluZXNFbnZpcm9ubWVudE1peGluLCBzZWxmKS5maWx0ZXJfYm9keShsaW5lcykKQEAgLTI3MTEsMTUgKzI3OTMsMTggQEAKICAgICAgICAgICAgICAgICBsaW5lcyA9IChsaW5lLmRlY29kZShFTkNPRElORywgJ3JlcGxhY2UnKSBmb3IgbGluZSBpbiBsaW5lcykKICAgICAgICAgICAgICMgTGltaXQgdGhlIGxpbmUgbGVuZ3RoIGluIFVuaWNvZGUtc3BhY2UgdG8gYXZvaWQKICAgICAgICAgICAgICMgc3BsaXR0aW5nIGNoYXJhY3RlcnM6Ci0gICAgICAgICAgICBpZiBzZWxmLl9fZW1haWxtYXhsaW5lbGVuZ3RoOgotICAgICAgICAgICAgICAgIGxpbmVzID0gbGltaXRfbGluZWxlbmd0aChsaW5lcywgc2VsZi5fX2VtYWlsbWF4bGluZWxlbmd0aCkKKyAgICAgICAgICAgIGlmIHNlbGYuX19lbWFpbF9tYXhfbGluZV9sZW5ndGggPiAwOgorICAgICAgICAgICAgICAgIGxpbmVzID0gbGltaXRfbGluZWxlbmd0aChsaW5lcywgc2VsZi5fX2VtYWlsX21heF9saW5lX2xlbmd0aCkKICAgICAgICAgICAgIGlmIG5vdCBQWVRIT04zOgogICAgICAgICAgICAgICAgIGxpbmVzID0gKGxpbmUuZW5jb2RlKEVOQ09ESU5HLCAncmVwbGFjZScpIGZvciBsaW5lIGluIGxpbmVzKQotICAgICAgICBlbGlmIHNlbGYuX19lbWFpbG1heGxpbmVsZW5ndGg6Ci0gICAgICAgICAgICBsaW5lcyA9IGxpbWl0X2xpbmVsZW5ndGgobGluZXMsIHNlbGYuX19lbWFpbG1heGxpbmVsZW5ndGgpCisgICAgICAgIGVsaWYgc2VsZi5fX2VtYWlsX21heF9saW5lX2xlbmd0aDoKKyAgICAgICAgICAgIGxpbmVzID0gbGltaXRfbGluZWxlbmd0aChsaW5lcywgc2VsZi5fX2VtYWlsX21heF9saW5lX2xlbmd0aCkKIAogICAgICAgICByZXR1cm4gbGluZXMKIAorICAgIGRlZiBnZXRfbWF4X3N1YmplY3RfbGVuZ3RoKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fX21heF9zdWJqZWN0X2xlbmd0aAorCiAKIGNsYXNzIENvbmZpZ0ZpbHRlckxpbmVzRW52aXJvbm1lbnRNaXhpbigKICAgICAgICAgQ29uZmlnRW52aXJvbm1lbnRNaXhpbiwKQEAgLTI3MzIsOSArMjgxNywxMyBAQAogICAgICAgICBpZiBzdHJpY3RfdXRmOCBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGt3WydzdHJpY3RfdXRmOCddID0gc3RyaWN0X3V0ZjgKIAotICAgICAgICBlbWFpbG1heGxpbmVsZW5ndGggPSBjb25maWcuZ2V0KCdlbWFpbG1heGxpbmVsZW5ndGgnKQotICAgICAgICBpZiBlbWFpbG1heGxpbmVsZW5ndGggaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBrd1snZW1haWxtYXhsaW5lbGVuZ3RoJ10gPSBpbnQoZW1haWxtYXhsaW5lbGVuZ3RoKQorICAgICAgICBlbWFpbF9tYXhfbGluZV9sZW5ndGggPSBjb25maWcuZ2V0KCdlbWFpbG1heGxpbmVsZW5ndGgnKQorICAgICAgICBpZiBlbWFpbF9tYXhfbGluZV9sZW5ndGggaXMgbm90IE5vbmU6CisgICAgICAgICAgICBrd1snZW1haWxfbWF4X2xpbmVfbGVuZ3RoJ10gPSBpbnQoZW1haWxfbWF4X2xpbmVfbGVuZ3RoKQorCisgICAgICAgIG1heF9zdWJqZWN0X2xlbmd0aCA9IGNvbmZpZy5nZXQoJ3N1YmplY3RNYXhMZW5ndGgnLCBkZWZhdWx0PWVtYWlsX21heF9saW5lX2xlbmd0aCkKKyAgICAgICAgaWYgbWF4X3N1YmplY3RfbGVuZ3RoIGlzIG5vdCBOb25lOgorICAgICAgICAgICAga3dbJ21heF9zdWJqZWN0X2xlbmd0aCddID0gaW50KG1heF9zdWJqZWN0X2xlbmd0aCkKIAogICAgICAgICBzdXBlcihDb25maWdGaWx0ZXJMaW5lc0Vudmlyb25tZW50TWl4aW4sIHNlbGYpLl9faW5pdF9fKAogICAgICAgICAgICAgY29uZmlnPWNvbmZpZywgKiprdwpAQCAtMjc1MCw3ICsyODM5LDcgQEAKIAogICAgIGRlZiBmaWx0ZXJfYm9keShzZWxmLCBsaW5lcyk6CiAgICAgICAgIGxpbmVzID0gc3VwZXIoTWF4bGluZXNFbnZpcm9ubWVudE1peGluLCBzZWxmKS5maWx0ZXJfYm9keShsaW5lcykKLSAgICAgICAgaWYgc2VsZi5fX2VtYWlsbWF4bGluZXM6CisgICAgICAgIGlmIHNlbGYuX19lbWFpbG1heGxpbmVzID4gMDoKICAgICAgICAgICAgIGxpbmVzID0gbGltaXRfbGluZXMobGluZXMsIHNlbGYuX19lbWFpbG1heGxpbmVzKQogICAgICAgICByZXR1cm4gbGluZXMKIApAQCAtMjg0MywyNSArMjkzMiw2NCBAQAogICAgICAgICAjIGFjdHVhbCAqY29udGVudHMqIG9mIHRoZSBjaGFuZ2UgYmVpbmcgcmVwb3J0ZWQsIHdlIG9ubHkKICAgICAgICAgIyBjaG9vc2UgYmFzZWQgb24gdGhlICp0eXBlKiBvZiB0aGUgY2hhbmdlLiAgVGhlcmVmb3JlIHdlIGNhbgogICAgICAgICAjIGNvbXB1dGUgdGhlbSBvbmNlIGFuZCBmb3IgYWxsOgotICAgICAgICBpZiBub3QgKHJlZmNoYW5nZV9yZWNpcGllbnRzIG9yCi0gICAgICAgICAgICAgICAgYW5ub3VuY2VfcmVjaXBpZW50cyBvcgotICAgICAgICAgICAgICAgIHJldmlzaW9uX3JlY2lwaWVudHMgb3IKLSAgICAgICAgICAgICAgICBzY2FuY29tbWl0Zm9yY2MpOgotICAgICAgICAgICAgcmFpc2UgQ29uZmlndXJhdGlvbkV4Y2VwdGlvbignTm8gZW1haWwgcmVjaXBpZW50cyBjb25maWd1cmVkIScpCiAgICAgICAgIHNlbGYuX19yZWZjaGFuZ2VfcmVjaXBpZW50cyA9IHJlZmNoYW5nZV9yZWNpcGllbnRzCiAgICAgICAgIHNlbGYuX19hbm5vdW5jZV9yZWNpcGllbnRzID0gYW5ub3VuY2VfcmVjaXBpZW50cwogICAgICAgICBzZWxmLl9fcmV2aXNpb25fcmVjaXBpZW50cyA9IHJldmlzaW9uX3JlY2lwaWVudHMKIAorICAgIGRlZiBjaGVjayhzZWxmKToKKyAgICAgICAgaWYgbm90IChzZWxmLmdldF9yZWZjaGFuZ2VfcmVjaXBpZW50cyhOb25lKSBvcgorICAgICAgICAgICAgICAgIHNlbGYuZ2V0X2Fubm91bmNlX3JlY2lwaWVudHMoTm9uZSkgb3IKKyAgICAgICAgICAgICAgICBzZWxmLmdldF9yZXZpc2lvbl9yZWNpcGllbnRzKE5vbmUpIG9yCisgICAgICAgICAgICAgICAgc2VsZi5nZXRfc2NhbmNvbW1pdGZvcmNjKCkpOgorICAgICAgICAgICAgcmFpc2UgQ29uZmlndXJhdGlvbkV4Y2VwdGlvbignTm8gZW1haWwgcmVjaXBpZW50cyBjb25maWd1cmVkIScpCisgICAgICAgIHN1cGVyKFN0YXRpY1JlY2lwaWVudHNFbnZpcm9ubWVudE1peGluLCBzZWxmKS5jaGVjaygpCisKICAgICBkZWYgZ2V0X3JlZmNoYW5nZV9yZWNpcGllbnRzKHNlbGYsIHJlZmNoYW5nZSk6CisgICAgICAgIGlmIHNlbGYuX19yZWZjaGFuZ2VfcmVjaXBpZW50cyBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIHN1cGVyKFN0YXRpY1JlY2lwaWVudHNFbnZpcm9ubWVudE1peGluLAorICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYpLmdldF9yZWZjaGFuZ2VfcmVjaXBpZW50cyhyZWZjaGFuZ2UpCiAgICAgICAgIHJldHVybiBzZWxmLl9fcmVmY2hhbmdlX3JlY2lwaWVudHMKIAogICAgIGRlZiBnZXRfYW5ub3VuY2VfcmVjaXBpZW50cyhzZWxmLCBhbm5vdGF0ZWRfdGFnX2NoYW5nZSk6CisgICAgICAgIGlmIHNlbGYuX19hbm5vdW5jZV9yZWNpcGllbnRzIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4gc3VwZXIoU3RhdGljUmVjaXBpZW50c0Vudmlyb25tZW50TWl4aW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZikuZ2V0X3JlZmNoYW5nZV9yZWNpcGllbnRzKGFubm90YXRlZF90YWdfY2hhbmdlKQogICAgICAgICByZXR1cm4gc2VsZi5fX2Fubm91bmNlX3JlY2lwaWVudHMKIAogICAgIGRlZiBnZXRfcmV2aXNpb25fcmVjaXBpZW50cyhzZWxmLCByZXZpc2lvbik6CisgICAgICAgIGlmIHNlbGYuX19yZXZpc2lvbl9yZWNpcGllbnRzIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4gc3VwZXIoU3RhdGljUmVjaXBpZW50c0Vudmlyb25tZW50TWl4aW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZikuZ2V0X3JlZmNoYW5nZV9yZWNpcGllbnRzKHJldmlzaW9uKQogICAgICAgICByZXR1cm4gc2VsZi5fX3JldmlzaW9uX3JlY2lwaWVudHMKIAogCitjbGFzcyBDTElSZWNpcGllbnRzRW52aXJvbm1lbnRNaXhpbihFbnZpcm9ubWVudCk6CisgICAgIiIiTWl4aW4gc3RvcmluZyByZWNpcGllbnRzIGluZm9ybWF0aW9uIGNvbW1pbmcgZnJvbSB0aGUKKyAgICBjb21tYW5kLWxpbmUuIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgY2xpX3JlY2lwaWVudHM9Tm9uZSwgKiprdyk6CisgICAgICAgIHN1cGVyKENMSVJlY2lwaWVudHNFbnZpcm9ubWVudE1peGluLCBzZWxmKS5fX2luaXRfXygqKmt3KQorICAgICAgICBzZWxmLl9fY2xpX3JlY2lwaWVudHMgPSBjbGlfcmVjaXBpZW50cworCisgICAgZGVmIGdldF9yZWZjaGFuZ2VfcmVjaXBpZW50cyhzZWxmLCByZWZjaGFuZ2UpOgorICAgICAgICBpZiBzZWxmLl9fY2xpX3JlY2lwaWVudHMgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBzdXBlcihDTElSZWNpcGllbnRzRW52aXJvbm1lbnRNaXhpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmKS5nZXRfcmVmY2hhbmdlX3JlY2lwaWVudHMocmVmY2hhbmdlKQorICAgICAgICByZXR1cm4gc2VsZi5fX2NsaV9yZWNpcGllbnRzCisKKyAgICBkZWYgZ2V0X2Fubm91bmNlX3JlY2lwaWVudHMoc2VsZiwgYW5ub3RhdGVkX3RhZ19jaGFuZ2UpOgorICAgICAgICBpZiBzZWxmLl9fY2xpX3JlY2lwaWVudHMgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBzdXBlcihDTElSZWNpcGllbnRzRW52aXJvbm1lbnRNaXhpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmKS5nZXRfYW5ub3VuY2VfcmVjaXBpZW50cyhhbm5vdGF0ZWRfdGFnX2NoYW5nZSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX19jbGlfcmVjaXBpZW50cworCisgICAgZGVmIGdldF9yZXZpc2lvbl9yZWNpcGllbnRzKHNlbGYsIHJldmlzaW9uKToKKyAgICAgICAgaWYgc2VsZi5fX2NsaV9yZWNpcGllbnRzIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4gc3VwZXIoQ0xJUmVjaXBpZW50c0Vudmlyb25tZW50TWl4aW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZikuZ2V0X3JldmlzaW9uX3JlY2lwaWVudHMocmV2aXNpb24pCisgICAgICAgIHJldHVybiBzZWxmLl9fY2xpX3JlY2lwaWVudHMKKworCiBjbGFzcyBDb25maWdSZWNpcGllbnRzRW52aXJvbm1lbnRNaXhpbigKICAgICAgICAgQ29uZmlnRW52aXJvbm1lbnRNaXhpbiwKICAgICAgICAgU3RhdGljUmVjaXBpZW50c0Vudmlyb25tZW50TWl4aW4KQEAgLTI5MzUsMjQgKzMwNjMsMjAgQEAKICAgICAgICAgaWYgcmVmX2ZpbHRlcl9kb19zZW5kX3JlZ2V4IGFuZCByZWZfZmlsdGVyX2RvbnRfc2VuZF9yZWdleDoKICAgICAgICAgICAgIHJhaXNlIENvbmZpZ3VyYXRpb25FeGNlcHRpb24oCiAgICAgICAgICAgICAgICAgIkNhbm5vdCBzcGVjaWZ5IGJvdGggYSByZWYgZG9TZW5kIGFuZCBkb250U2VuZCByZWdleC4iKQotICAgICAgICBpZiByZWZfZmlsdGVyX2RvX3NlbmRfcmVnZXggb3IgcmVmX2ZpbHRlcl9kb250X3NlbmRfcmVnZXg6Ci0gICAgICAgICAgICBzZWxmLl9faXNfZG9fc2VuZF9maWx0ZXIgPSBib29sKHJlZl9maWx0ZXJfZG9fc2VuZF9yZWdleCkKLSAgICAgICAgICAgIGlmIHJlZl9maWx0ZXJfaW5jbF9yZWdleDoKLSAgICAgICAgICAgICAgICByZWZfZmlsdGVyX3NlbmRfcmVnZXggPSByZWZfZmlsdGVyX2luY2xfcmVnZXgKLSAgICAgICAgICAgIGVsaWYgcmVmX2ZpbHRlcl9leGNsX3JlZ2V4OgotICAgICAgICAgICAgICAgIHJlZl9maWx0ZXJfc2VuZF9yZWdleCA9IHJlZl9maWx0ZXJfZXhjbF9yZWdleAotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZWZfZmlsdGVyX3NlbmRfcmVnZXggPSAnLionCi0gICAgICAgICAgICAgICAgc2VsZi5fX2lzX2RvX3NlbmRfZmlsdGVyID0gVHJ1ZQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHNlbGYuX19zZW5kX2NvbXBpbGVkX3JlZ2V4ID0gcmUuY29tcGlsZShyZWZfZmlsdGVyX3NlbmRfcmVnZXgpCi0gICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgotICAgICAgICAgICAgICAgIHJhaXNlIENvbmZpZ3VyYXRpb25FeGNlcHRpb24oCi0gICAgICAgICAgICAgICAgICAgICdJbnZhbGlkIFJlZiBGaWx0ZXIgUmVnZXggIiVzIjogJXMnICUKLSAgICAgICAgICAgICAgICAgICAgKHJlZl9maWx0ZXJfc2VuZF9yZWdleCwgc3lzLmV4Y19pbmZvKClbMV0pKQorICAgICAgICBzZWxmLl9faXNfZG9fc2VuZF9maWx0ZXIgPSBib29sKHJlZl9maWx0ZXJfZG9fc2VuZF9yZWdleCkKKyAgICAgICAgaWYgcmVmX2ZpbHRlcl9kb19zZW5kX3JlZ2V4OgorICAgICAgICAgICAgcmVmX2ZpbHRlcl9zZW5kX3JlZ2V4ID0gcmVmX2ZpbHRlcl9kb19zZW5kX3JlZ2V4CisgICAgICAgIGVsaWYgcmVmX2ZpbHRlcl9kb250X3NlbmRfcmVnZXg6CisgICAgICAgICAgICByZWZfZmlsdGVyX3NlbmRfcmVnZXggPSByZWZfZmlsdGVyX2RvbnRfc2VuZF9yZWdleAogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5fX3NlbmRfY29tcGlsZWRfcmVnZXggPSBzZWxmLl9fY29tcGlsZWRfcmVnZXgKLSAgICAgICAgICAgIHNlbGYuX19pc19kb19zZW5kX2ZpbHRlciA9IHNlbGYuX19pc19pbmNsdXNpb25fZmlsdGVyCisgICAgICAgICAgICByZWZfZmlsdGVyX3NlbmRfcmVnZXggPSAnLionCisgICAgICAgICAgICBzZWxmLl9faXNfZG9fc2VuZF9maWx0ZXIgPSBUcnVlCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuX19zZW5kX2NvbXBpbGVkX3JlZ2V4ID0gcmUuY29tcGlsZShyZWZfZmlsdGVyX3NlbmRfcmVnZXgpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAgICByYWlzZSBDb25maWd1cmF0aW9uRXhjZXB0aW9uKAorICAgICAgICAgICAgICAgICdJbnZhbGlkIFJlZiBGaWx0ZXIgUmVnZXggIiVzIjogJXMnICUKKyAgICAgICAgICAgICAgICAocmVmX2ZpbHRlcl9zZW5kX3JlZ2V4LCBzeXMuZXhjX2luZm8oKVsxXSkpCiAKICAgICBkZWYgZ2V0X3JlZl9maWx0ZXJfcmVnZXgoc2VsZiwgc2VuZF9maWx0ZXI9RmFsc2UpOgogICAgICAgICBpZiBzZW5kX2ZpbHRlcjoKQEAgLTMwMjMsMzQgKzMxNDcsMjEgQEAKICAgICAgICAgcmV0dXJuIHNlbGYub3NlbnYuZ2V0KCdVU0VSJywgc2VsZi5vc2Vudi5nZXQoJ1VTRVJOQU1FJywgJ3Vua25vd24gdXNlcicpKQogCiAKLWNsYXNzIEdlbmVyaWNFbnZpcm9ubWVudCgKLSAgICAgICAgUHJvamVjdGRlc2NFbnZpcm9ubWVudE1peGluLAotICAgICAgICBDb25maWdNYXhsaW5lc0Vudmlyb25tZW50TWl4aW4sCi0gICAgICAgIENvbXB1dGVGUURORW52aXJvbm1lbnRNaXhpbiwKLSAgICAgICAgQ29uZmlnRmlsdGVyTGluZXNFbnZpcm9ubWVudE1peGluLAotICAgICAgICBDb25maWdSZWNpcGllbnRzRW52aXJvbm1lbnRNaXhpbiwKLSAgICAgICAgQ29uZmlnUmVmRmlsdGVyRW52aXJvbm1lbnRNaXhpbiwKLSAgICAgICAgUHVzaGVyRG9tYWluRW52aXJvbm1lbnRNaXhpbiwKLSAgICAgICAgQ29uZmlnT3B0aW9uc0Vudmlyb25tZW50TWl4aW4sCi0gICAgICAgIEdlbmVyaWNFbnZpcm9ubWVudE1peGluLAotICAgICAgICBFbnZpcm9ubWVudCwKLSAgICAgICAgKToKLSAgICBwYXNzCitjbGFzcyBHaXRvbGl0ZUVudmlyb25tZW50SGlnaFByZWNNaXhpbihFbnZpcm9ubWVudCk6CisgICAgZGVmIGdldF9wdXNoZXIoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLm9zZW52LmdldCgnR0xfVVNFUicsICd1bmtub3duIHVzZXInKQogCiAKLWNsYXNzIEdpdG9saXRlRW52aXJvbm1lbnRNaXhpbihFbnZpcm9ubWVudCk6CitjbGFzcyBHaXRvbGl0ZUVudmlyb25tZW50TG93UHJlY01peGluKEVudmlyb25tZW50KToKICAgICBkZWYgZ2V0X3JlcG9fc2hvcnRuYW1lKHNlbGYpOgogICAgICAgICAjIFRoZSBnaXRvbGl0ZSBlbnZpcm9ubWVudCB2YXJpYWJsZSAkR0xfUkVQTyBpcyBhIHByZXR0eSBnb29kCiAgICAgICAgICMgcmVwb19zaG9ydG5hbWUgKHRob3VnaCBpdCdzIHByb2JhYmx5IG5vdCBhcyBnb29kIGFzIGEgdmFsdWUKICAgICAgICAgIyB0aGUgdXNlciBtaWdodCBoYXZlIGV4cGxpY2l0bHkgcHV0IGluIGhpcyBjb25maWcpLgogICAgICAgICByZXR1cm4gKAogICAgICAgICAgICAgc2VsZi5vc2Vudi5nZXQoJ0dMX1JFUE8nLCBOb25lKSBvcgotICAgICAgICAgICAgc3VwZXIoR2l0b2xpdGVFbnZpcm9ubWVudE1peGluLCBzZWxmKS5nZXRfcmVwb19zaG9ydG5hbWUoKQorICAgICAgICAgICAgc3VwZXIoR2l0b2xpdGVFbnZpcm9ubWVudExvd1ByZWNNaXhpbiwgc2VsZikuZ2V0X3JlcG9fc2hvcnRuYW1lKCkKICAgICAgICAgICAgICkKIAotICAgIGRlZiBnZXRfcHVzaGVyKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5vc2Vudi5nZXQoJ0dMX1VTRVInLCAndW5rbm93biB1c2VyJykKLQogICAgIGRlZiBnZXRfZnJvbWFkZHIoc2VsZiwgY2hhbmdlPU5vbmUpOgogICAgICAgICBHTF9VU0VSID0gc2VsZi5vc2Vudi5nZXQoJ0dMX1VTRVInKQogICAgICAgICBpZiBHTF9VU0VSIGlzIG5vdCBOb25lOgpAQCAtMzA4OCw3ICszMTk5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbS5ncm91cCgxKQogICAgICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICByZXR1cm4gc3VwZXIoR2l0b2xpdGVFbnZpcm9ubWVudE1peGluLCBzZWxmKS5nZXRfZnJvbWFkZHIoY2hhbmdlKQorICAgICAgICByZXR1cm4gc3VwZXIoR2l0b2xpdGVFbnZpcm9ubWVudExvd1ByZWNNaXhpbiwgc2VsZikuZ2V0X2Zyb21hZGRyKGNoYW5nZSkKIAogCiBjbGFzcyBJbmNyZW1lbnRhbERhdGVUaW1lKG9iamVjdCk6CkBAIC0zMTA5LDY3ICszMjIwLDQzIEBACiAgICAgICAgIHJldHVybiBmb3JtYXR0ZWQKIAogCi1jbGFzcyBHaXRvbGl0ZUVudmlyb25tZW50KAotICAgICAgICBQcm9qZWN0ZGVzY0Vudmlyb25tZW50TWl4aW4sCi0gICAgICAgIENvbmZpZ01heGxpbmVzRW52aXJvbm1lbnRNaXhpbiwKLSAgICAgICAgQ29tcHV0ZUZRRE5FbnZpcm9ubWVudE1peGluLAotICAgICAgICBDb25maWdGaWx0ZXJMaW5lc0Vudmlyb25tZW50TWl4aW4sCi0gICAgICAgIENvbmZpZ1JlY2lwaWVudHNFbnZpcm9ubWVudE1peGluLAotICAgICAgICBDb25maWdSZWZGaWx0ZXJFbnZpcm9ubWVudE1peGluLAotICAgICAgICBQdXNoZXJEb21haW5FbnZpcm9ubWVudE1peGluLAotICAgICAgICBDb25maWdPcHRpb25zRW52aXJvbm1lbnRNaXhpbiwKLSAgICAgICAgR2l0b2xpdGVFbnZpcm9ubWVudE1peGluLAotICAgICAgICBFbnZpcm9ubWVudCwKLSAgICAgICAgKToKLSAgICBwYXNzCi0KLQotY2xhc3MgU3Rhc2hFbnZpcm9ubWVudE1peGluKEVudmlyb25tZW50KToKK2NsYXNzIFN0YXNoRW52aXJvbm1lbnRIaWdoUHJlY01peGluKEVudmlyb25tZW50KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgdXNlcj1Ob25lLCByZXBvPU5vbmUsICoqa3cpOgotICAgICAgICBzdXBlcihTdGFzaEVudmlyb25tZW50TWl4aW4sIHNlbGYpLl9faW5pdF9fKCoqa3cpCisgICAgICAgIHN1cGVyKFN0YXNoRW52aXJvbm1lbnRIaWdoUHJlY01peGluLAorICAgICAgICAgICAgICBzZWxmKS5fX2luaXRfXyh1c2VyPXVzZXIsIHJlcG89cmVwbywgKiprdykKICAgICAgICAgc2VsZi5fX3VzZXIgPSB1c2VyCiAgICAgICAgIHNlbGYuX19yZXBvID0gcmVwbwogCi0gICAgZGVmIGdldF9yZXBvX3Nob3J0bmFtZShzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX19yZXBvCi0KICAgICBkZWYgZ2V0X3B1c2hlcihzZWxmKToKICAgICAgICAgcmV0dXJuIHJlLm1hdGNoKCcoLio/KVxzKjwnLCBzZWxmLl9fdXNlcikuZ3JvdXAoMSkKIAogICAgIGRlZiBnZXRfcHVzaGVyX2VtYWlsKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fX3VzZXIKIAorCitjbGFzcyBTdGFzaEVudmlyb25tZW50TG93UHJlY01peGluKEVudmlyb25tZW50KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdXNlcj1Ob25lLCByZXBvPU5vbmUsICoqa3cpOgorICAgICAgICBzdXBlcihTdGFzaEVudmlyb25tZW50TG93UHJlY01peGluLCBzZWxmKS5fX2luaXRfXygqKmt3KQorICAgICAgICBzZWxmLl9fcmVwbyA9IHJlcG8KKyAgICAgICAgc2VsZi5fX3VzZXIgPSB1c2VyCisKKyAgICBkZWYgZ2V0X3JlcG9fc2hvcnRuYW1lKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fX3JlcG8KKwogICAgIGRlZiBnZXRfZnJvbWFkZHIoc2VsZiwgY2hhbmdlPU5vbmUpOgogICAgICAgICByZXR1cm4gc2VsZi5fX3VzZXIKIAogCi1jbGFzcyBTdGFzaEVudmlyb25tZW50KAotICAgICAgICBTdGFzaEVudmlyb25tZW50TWl4aW4sCi0gICAgICAgIFByb2plY3RkZXNjRW52aXJvbm1lbnRNaXhpbiwKLSAgICAgICAgQ29uZmlnTWF4bGluZXNFbnZpcm9ubWVudE1peGluLAotICAgICAgICBDb21wdXRlRlFETkVudmlyb25tZW50TWl4aW4sCi0gICAgICAgIENvbmZpZ0ZpbHRlckxpbmVzRW52aXJvbm1lbnRNaXhpbiwKLSAgICAgICAgQ29uZmlnUmVjaXBpZW50c0Vudmlyb25tZW50TWl4aW4sCi0gICAgICAgIENvbmZpZ1JlZkZpbHRlckVudmlyb25tZW50TWl4aW4sCi0gICAgICAgIFB1c2hlckRvbWFpbkVudmlyb25tZW50TWl4aW4sCi0gICAgICAgIENvbmZpZ09wdGlvbnNFbnZpcm9ubWVudE1peGluLAotICAgICAgICBFbnZpcm9ubWVudCwKLSAgICAgICAgKToKLSAgICBwYXNzCi0KLQotY2xhc3MgR2Vycml0RW52aXJvbm1lbnRNaXhpbihFbnZpcm9ubWVudCk6CitjbGFzcyBHZXJyaXRFbnZpcm9ubWVudEhpZ2hQcmVjTWl4aW4oRW52aXJvbm1lbnQpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwcm9qZWN0PU5vbmUsIHN1Ym1pdHRlcj1Ob25lLCB1cGRhdGVfbWV0aG9kPU5vbmUsICoqa3cpOgotICAgICAgICBzdXBlcihHZXJyaXRFbnZpcm9ubWVudE1peGluLCBzZWxmKS5fX2luaXRfXygqKmt3KQorICAgICAgICBzdXBlcihHZXJyaXRFbnZpcm9ubWVudEhpZ2hQcmVjTWl4aW4sCisgICAgICAgICAgICAgIHNlbGYpLl9faW5pdF9fKHN1Ym1pdHRlcj1zdWJtaXR0ZXIsIHByb2plY3Q9cHJvamVjdCwgKiprdykKICAgICAgICAgc2VsZi5fX3Byb2plY3QgPSBwcm9qZWN0CiAgICAgICAgIHNlbGYuX19zdWJtaXR0ZXIgPSBzdWJtaXR0ZXIKICAgICAgICAgc2VsZi5fX3VwZGF0ZV9tZXRob2QgPSB1cGRhdGVfbWV0aG9kCiAgICAgICAgICJNYWtlIGFuICd1cGRhdGVfbWV0aG9kJyB2YWx1ZSBhdmFpbGFibGUgZm9yIHRlbXBsYXRlcy4iCiAgICAgICAgIHNlbGYuQ09NUFVURURfS0VZUyArPSBbJ3VwZGF0ZV9tZXRob2QnXQogCi0gICAgZGVmIGdldF9yZXBvX3Nob3J0bmFtZShzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX19wcm9qZWN0Ci0KICAgICBkZWYgZ2V0X3B1c2hlcihzZWxmKToKICAgICAgICAgaWYgc2VsZi5fX3N1Ym1pdHRlcjoKICAgICAgICAgICAgIGlmIHNlbGYuX19zdWJtaXR0ZXIuZmluZCgnPCcpICE9IC0xOgpAQCAtMzE5MiwxNiArMzI3OSwxMCBAQAogICAgICAgICBpZiBzZWxmLl9fc3VibWl0dGVyOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX19zdWJtaXR0ZXIKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBzdXBlcihHZXJyaXRFbnZpcm9ubWVudE1peGluLCBzZWxmKS5nZXRfcHVzaGVyX2VtYWlsKCkKLQotICAgIGRlZiBnZXRfZnJvbWFkZHIoc2VsZiwgY2hhbmdlPU5vbmUpOgotICAgICAgICBpZiBzZWxmLl9fc3VibWl0dGVyIGFuZCBzZWxmLl9fc3VibWl0dGVyLmZpbmQoJzwnKSAhPSAtMToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9fc3VibWl0dGVyCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gc3VwZXIoR2Vycml0RW52aXJvbm1lbnRNaXhpbiwgc2VsZikuZ2V0X2Zyb21hZGRyKGNoYW5nZSkKKyAgICAgICAgICAgIHJldHVybiBzdXBlcihHZXJyaXRFbnZpcm9ubWVudEhpZ2hQcmVjTWl4aW4sIHNlbGYpLmdldF9wdXNoZXJfZW1haWwoKQogCiAgICAgZGVmIGdldF9kZWZhdWx0X3JlZl9pZ25vcmVfcmVnZXgoc2VsZik6Ci0gICAgICAgIGRlZmF1bHQgPSBzdXBlcihHZXJyaXRFbnZpcm9ubWVudE1peGluLCBzZWxmKS5nZXRfZGVmYXVsdF9yZWZfaWdub3JlX3JlZ2V4KCkKKyAgICAgICAgZGVmYXVsdCA9IHN1cGVyKEdlcnJpdEVudmlyb25tZW50SGlnaFByZWNNaXhpbiwgc2VsZikuZ2V0X2RlZmF1bHRfcmVmX2lnbm9yZV9yZWdleCgpCiAgICAgICAgIHJldHVybiBkZWZhdWx0ICsgJ3xecmVmcy9jaGFuZ2VzL3xecmVmcy9jYWNoZS1hdXRvbWVyZ2UvfF5yZWZzL21ldGEvJwogCiAgICAgZGVmIGdldF9yZXZpc2lvbl9yZWNpcGllbnRzKHNlbGYsIHJldmlzaW9uKToKQEAgLTMyMTQsMjUgKzMyOTUsMjYgQEAKICAgICAgICAgaWYgY29tbWl0dGVyID09ICdHZXJyaXQgQ29kZSBSZXZpZXcnOgogICAgICAgICAgICAgcmV0dXJuIFtdCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gc3VwZXIoR2Vycml0RW52aXJvbm1lbnRNaXhpbiwgc2VsZikuZ2V0X3JldmlzaW9uX3JlY2lwaWVudHMocmV2aXNpb24pCisgICAgICAgICAgICByZXR1cm4gc3VwZXIoR2Vycml0RW52aXJvbm1lbnRIaWdoUHJlY01peGluLCBzZWxmKS5nZXRfcmV2aXNpb25fcmVjaXBpZW50cyhyZXZpc2lvbikKIAogICAgIGRlZiBnZXRfdXBkYXRlX21ldGhvZChzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX191cGRhdGVfbWV0aG9kCiAKIAotY2xhc3MgR2Vycml0RW52aXJvbm1lbnQoCi0gICAgICAgIEdlcnJpdEVudmlyb25tZW50TWl4aW4sCi0gICAgICAgIFByb2plY3RkZXNjRW52aXJvbm1lbnRNaXhpbiwKLSAgICAgICAgQ29uZmlnTWF4bGluZXNFbnZpcm9ubWVudE1peGluLAotICAgICAgICBDb21wdXRlRlFETkVudmlyb25tZW50TWl4aW4sCi0gICAgICAgIENvbmZpZ0ZpbHRlckxpbmVzRW52aXJvbm1lbnRNaXhpbiwKLSAgICAgICAgQ29uZmlnUmVjaXBpZW50c0Vudmlyb25tZW50TWl4aW4sCi0gICAgICAgIENvbmZpZ1JlZkZpbHRlckVudmlyb25tZW50TWl4aW4sCi0gICAgICAgIFB1c2hlckRvbWFpbkVudmlyb25tZW50TWl4aW4sCi0gICAgICAgIENvbmZpZ09wdGlvbnNFbnZpcm9ubWVudE1peGluLAotICAgICAgICBFbnZpcm9ubWVudCwKLSAgICAgICAgKToKLSAgICBwYXNzCitjbGFzcyBHZXJyaXRFbnZpcm9ubWVudExvd1ByZWNNaXhpbihFbnZpcm9ubWVudCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHByb2plY3Q9Tm9uZSwgc3VibWl0dGVyPU5vbmUsICoqa3cpOgorICAgICAgICBzdXBlcihHZXJyaXRFbnZpcm9ubWVudExvd1ByZWNNaXhpbiwgc2VsZikuX19pbml0X18oKiprdykKKyAgICAgICAgc2VsZi5fX3Byb2plY3QgPSBwcm9qZWN0CisgICAgICAgIHNlbGYuX19zdWJtaXR0ZXIgPSBzdWJtaXR0ZXIKKworICAgIGRlZiBnZXRfcmVwb19zaG9ydG5hbWUoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9fcHJvamVjdAorCisgICAgZGVmIGdldF9mcm9tYWRkcihzZWxmLCBjaGFuZ2U9Tm9uZSk6CisgICAgICAgIGlmIHNlbGYuX19zdWJtaXR0ZXIgYW5kIHNlbGYuX19zdWJtaXR0ZXIuZmluZCgnPCcpICE9IC0xOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX19zdWJtaXR0ZXIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBzdXBlcihHZXJyaXRFbnZpcm9ubWVudExvd1ByZWNNaXhpbiwgc2VsZikuZ2V0X2Zyb21hZGRyKGNoYW5nZSkKIAogCiBjbGFzcyBQdXNoKG9iamVjdCk6CkBAIC0zNDk4LDEzICszNTgwLDEzIEBACiAgICAgICAgICAgICBpZiBub3QgY2hhbmdlLnJlY2lwaWVudHM6CiAgICAgICAgICAgICAgICAgY2hhbmdlLmVudmlyb25tZW50LmxvZ193YXJuaW5nKAogICAgICAgICAgICAgICAgICAgICAnKioqIG5vIHJlY2lwaWVudHMgY29uZmlndXJlZCBzbyBubyBlbWFpbCB3aWxsIGJlIHNlbnRcbicKLSAgICAgICAgICAgICAgICAgICAgJyoqKiBmb3IgJXIgdXBkYXRlICVzLT4lc1xuJworICAgICAgICAgICAgICAgICAgICAnKioqIGZvciAlciB1cGRhdGUgJXMtPiVzJwogICAgICAgICAgICAgICAgICAgICAlIChjaGFuZ2UucmVmbmFtZSwgY2hhbmdlLm9sZC5zaGExLCBjaGFuZ2UubmV3LnNoYTEsKQogICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGlmIG5vdCBjaGFuZ2UuZW52aXJvbm1lbnQucXVpZXQ6CiAgICAgICAgICAgICAgICAgICAgIGNoYW5nZS5lbnZpcm9ubWVudC5sb2dfbXNnKAotICAgICAgICAgICAgICAgICAgICAgICAgJ1NlbmRpbmcgbm90aWZpY2F0aW9uIGVtYWlscyB0bzogJXNcbicgJSAoY2hhbmdlLnJlY2lwaWVudHMsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICdTZW5kaW5nIG5vdGlmaWNhdGlvbiBlbWFpbHMgdG86ICVzJyAlIChjaGFuZ2UucmVjaXBpZW50cywpKQogICAgICAgICAgICAgICAgIGV4dHJhX3ZhbHVlcyA9IHsnc2VuZF9kYXRlJzogbmV4dChzZW5kX2RhdGUpfQogCiAgICAgICAgICAgICAgICAgcmV2ID0gY2hhbmdlLnNlbmRfc2luZ2xlX2NvbWJpbmVkX2VtYWlsKHNoYTFzKQpAQCAtMzUyNywxNCArMzYwOSwxNCBAQAogICAgICAgICAgICAgICAgIGNoYW5nZS5lbnZpcm9ubWVudC5sb2dfd2FybmluZygKICAgICAgICAgICAgICAgICAgICAgJyoqKiBUb28gbWFueSBuZXcgY29tbWl0cyAoJWQpLCBub3Qgc2VuZGluZyBjb21taXQgZW1haWxzLlxuJyAlIGxlbihzaGExcykgKwogICAgICAgICAgICAgICAgICAgICAnKioqIFRyeSBzZXR0aW5nIG11bHRpbWFpbGhvb2subWF4Q29tbWl0RW1haWxzIHRvIGEgZ3JlYXRlciB2YWx1ZVxuJyArCi0gICAgICAgICAgICAgICAgICAgICcqKiogQ3VycmVudGx5LCBtdWx0aW1haWxob29rLm1heENvbW1pdEVtYWlscz0lZFxuJyAlIG1heF9lbWFpbHMKKyAgICAgICAgICAgICAgICAgICAgJyoqKiBDdXJyZW50bHksIG11bHRpbWFpbGhvb2subWF4Q29tbWl0RW1haWxzPSVkJyAlIG1heF9lbWFpbHMKICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgICAgICBmb3IgKG51bSwgc2hhMSkgaW4gZW51bWVyYXRlKHNoYTFzKToKICAgICAgICAgICAgICAgICByZXYgPSBSZXZpc2lvbihjaGFuZ2UsIEdpdE9iamVjdChzaGExKSwgbnVtPW51bSArIDEsIHRvdD1sZW4oc2hhMXMpKQogICAgICAgICAgICAgICAgIGlmIG5vdCByZXYucmVjaXBpZW50cyBhbmQgcmV2LmNjX3JlY2lwaWVudHM6Ci0gICAgICAgICAgICAgICAgICAgIGNoYW5nZS5lbnZpcm9ubWVudC5sb2dfbXNnKCcqKiogUmVwbGFjaW5nIENjOiB3aXRoIFRvOlxuJykKKyAgICAgICAgICAgICAgICAgICAgY2hhbmdlLmVudmlyb25tZW50LmxvZ19tc2coJyoqKiBSZXBsYWNpbmcgQ2M6IHdpdGggVG86JykKICAgICAgICAgICAgICAgICAgICAgcmV2LnJlY2lwaWVudHMgPSByZXYuY2NfcmVjaXBpZW50cwogICAgICAgICAgICAgICAgICAgICByZXYuY2NfcmVjaXBpZW50cyA9IE5vbmUKICAgICAgICAgICAgICAgICBpZiByZXYucmVjaXBpZW50czoKQEAgLTM1NDgsNyArMzYzMCw3IEBACiAgICAgICAgIGlmIHVuaGFuZGxlZF9zaGExczoKICAgICAgICAgICAgIGNoYW5nZS5lbnZpcm9ubWVudC5sb2dfZXJyb3IoCiAgICAgICAgICAgICAgICAgJ0VSUk9SOiBObyBlbWFpbHMgd2VyZSBzZW50IGZvciB0aGUgZm9sbG93aW5nIG5ldyBjb21taXRzOlxuJwotICAgICAgICAgICAgICAgICcgICAgJXNcbicKKyAgICAgICAgICAgICAgICAnICAgICVzJwogICAgICAgICAgICAgICAgICUgKCdcbiAgICAnLmpvaW4oc29ydGVkKHVuaGFuZGxlZF9zaGExcykpLCkKICAgICAgICAgICAgICAgICApCiAKQEAgLTM1NjIsMTIgKzM2NDQsMjMgQEAKIAogCiBkZWYgcnVuX2FzX3Bvc3RfcmVjZWl2ZV9ob29rKGVudmlyb25tZW50LCBtYWlsZXIpOgotICAgIHJlZl9maWx0ZXJfcmVnZXgsIGlzX2luY2x1c2lvbl9maWx0ZXIgPSBlbnZpcm9ubWVudC5nZXRfcmVmX2ZpbHRlcl9yZWdleChUcnVlKQorICAgIGVudmlyb25tZW50LmNoZWNrKCkKKyAgICBzZW5kX2ZpbHRlcl9yZWdleCwgc2VuZF9pc19pbmNsdXNpb25fZmlsdGVyID0gZW52aXJvbm1lbnQuZ2V0X3JlZl9maWx0ZXJfcmVnZXgoVHJ1ZSkKKyAgICByZWZfZmlsdGVyX3JlZ2V4LCBpc19pbmNsdXNpb25fZmlsdGVyID0gZW52aXJvbm1lbnQuZ2V0X3JlZl9maWx0ZXJfcmVnZXgoRmFsc2UpCiAgICAgY2hhbmdlcyA9IFtdCi0gICAgZm9yIGxpbmUgaW4gc3lzLnN0ZGluOgorICAgIHdoaWxlIFRydWU6CisgICAgICAgIGxpbmUgPSByZWFkX2xpbmUoc3lzLnN0ZGluKQorICAgICAgICBpZiBsaW5lID09ICcnOgorICAgICAgICAgICAgYnJlYWsKICAgICAgICAgKG9sZHJldiwgbmV3cmV2LCByZWZuYW1lKSA9IGxpbmUuc3RyaXAoKS5zcGxpdCgnICcsIDIpCisgICAgICAgIGVudmlyb25tZW50LmdldF9sb2dnZXIoKS5kZWJ1ZygKKyAgICAgICAgICAgICJydW5fYXNfcG9zdF9yZWNlaXZlX2hvb2s6IG9sZHJldj0lcywgbmV3cmV2PSVzLCByZWZuYW1lPSVzIiAlCisgICAgICAgICAgICAob2xkcmV2LCBuZXdyZXYsIHJlZm5hbWUpKQorCiAgICAgICAgIGlmIG5vdCBpbmNsdWRlX3JlZihyZWZuYW1lLCByZWZfZmlsdGVyX3JlZ2V4LCBpc19pbmNsdXNpb25fZmlsdGVyKToKICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGlmIG5vdCBpbmNsdWRlX3JlZihyZWZuYW1lLCBzZW5kX2ZpbHRlcl9yZWdleCwgc2VuZF9pc19pbmNsdXNpb25fZmlsdGVyKToKKyAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIGNoYW5nZXMuYXBwZW5kKAogICAgICAgICAgICAgUmVmZXJlbmNlQ2hhbmdlLmNyZWF0ZShlbnZpcm9ubWVudCwgb2xkcmV2LCBuZXdyZXYsIHJlZm5hbWUpCiAgICAgICAgICAgICApCkBAIC0zNTc5LDkgKzM2NzIsMTMgQEAKIAogCiBkZWYgcnVuX2FzX3VwZGF0ZV9ob29rKGVudmlyb25tZW50LCBtYWlsZXIsIHJlZm5hbWUsIG9sZHJldiwgbmV3cmV2LCBmb3JjZV9zZW5kPUZhbHNlKToKLSAgICByZWZfZmlsdGVyX3JlZ2V4LCBpc19pbmNsdXNpb25fZmlsdGVyID0gZW52aXJvbm1lbnQuZ2V0X3JlZl9maWx0ZXJfcmVnZXgoVHJ1ZSkKKyAgICBlbnZpcm9ubWVudC5jaGVjaygpCisgICAgc2VuZF9maWx0ZXJfcmVnZXgsIHNlbmRfaXNfaW5jbHVzaW9uX2ZpbHRlciA9IGVudmlyb25tZW50LmdldF9yZWZfZmlsdGVyX3JlZ2V4KFRydWUpCisgICAgcmVmX2ZpbHRlcl9yZWdleCwgaXNfaW5jbHVzaW9uX2ZpbHRlciA9IGVudmlyb25tZW50LmdldF9yZWZfZmlsdGVyX3JlZ2V4KEZhbHNlKQogICAgIGlmIG5vdCBpbmNsdWRlX3JlZihyZWZuYW1lLCByZWZfZmlsdGVyX3JlZ2V4LCBpc19pbmNsdXNpb25fZmlsdGVyKToKICAgICAgICAgcmV0dXJuCisgICAgaWYgbm90IGluY2x1ZGVfcmVmKHJlZm5hbWUsIHNlbmRfZmlsdGVyX3JlZ2V4LCBzZW5kX2lzX2luY2x1c2lvbl9maWx0ZXIpOgorICAgICAgICByZXR1cm4KICAgICBjaGFuZ2VzID0gWwogICAgICAgICBSZWZlcmVuY2VDaGFuZ2UuY3JlYXRlKAogICAgICAgICAgICAgZW52aXJvbm1lbnQsCkBAIC0zNTk2LDYgKzM2OTMsNzUgQEAKICAgICAgICAgbWFpbGVyLl9fZGVsX18oKQogCiAKK2RlZiBjaGVja19yZWZfZmlsdGVyKGVudmlyb25tZW50KToKKyAgICBzZW5kX2ZpbHRlcl9yZWdleCwgc2VuZF9pc19pbmNsdXNpb24gPSBlbnZpcm9ubWVudC5nZXRfcmVmX2ZpbHRlcl9yZWdleChUcnVlKQorICAgIHJlZl9maWx0ZXJfcmVnZXgsIHJlZl9pc19pbmNsdXNpb24gPSBlbnZpcm9ubWVudC5nZXRfcmVmX2ZpbHRlcl9yZWdleChGYWxzZSkKKworICAgIGRlZiBpbmNfZXhjX2x1c2lvbihiKToKKyAgICAgICAgaWYgYjoKKyAgICAgICAgICAgIHJldHVybiAnaW5jbHVzaW9uJworICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuICdleGNsdXNpb24nCisKKyAgICBpZiBzZW5kX2ZpbHRlcl9yZWdleDoKKyAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiRG9TZW5kL0RvbnRTZW5kIGZpbHRlciByZWdleCAoIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgKGluY19leGNfbHVzaW9uKHNlbmRfaXNfaW5jbHVzaW9uKSkgKworICAgICAgICAgICAgICAgICAgICAgICAgICcpOiAnICsgc2VuZF9maWx0ZXJfcmVnZXgucGF0dGVybiArCisgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJykKKyAgICBpZiBzZW5kX2ZpbHRlcl9yZWdleDoKKyAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiSW5jbHVkZS9FeGNsdWRlIGZpbHRlciByZWdleCAoIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgKGluY19leGNfbHVzaW9uKHJlZl9pc19pbmNsdXNpb24pKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgJyk6ICcgKyByZWZfZmlsdGVyX3JlZ2V4LnBhdHRlcm4gKworICAgICAgICAgICAgICAgICAgICAgICAgICdcbicpCisgICAgc3lzLnN0ZG91dC53cml0ZShvcy5saW5lc2VwKQorCisgICAgc3lzLnN0ZG91dC53cml0ZSgKKyAgICAgICAgIlJlZnMgbWFya2VkIGFzIEVYQ0xVREUgYXJlIGV4Y2x1ZGVkIGJ5IGVpdGhlciByZWZGaWx0ZXJJbmNsdXNpb25SZWdleFxuIgorICAgICAgICAib3IgcmVmRmlsdGVyRXhjbHVzaW9uUmVnZXguIE5vIGVtYWlscyB3aWxsIGJlIHNlbnQgZm9yIGNvbW1pdHMgaW5jbHVkZWRcbiIKKyAgICAgICAgImluIHRoZXNlIHJlZnMuXG4iCisgICAgICAgICJSZWZzIG1hcmtlZCBhcyBET05ULVNFTkQgYXJlIGV4Y2x1ZGVkIGJ5IGVpdGhlciByZWZGaWx0ZXJEb1NlbmRSZWdleCBvclxuIgorICAgICAgICAicmVmRmlsdGVyRG9udFNlbmRSZWdleCwgYnV0IG5vdCBieSBlaXRoZXIgcmVmRmlsdGVySW5jbHVzaW9uUmVnZXggb3JcbiIKKyAgICAgICAgInJlZkZpbHRlckV4Y2x1c2lvblJlZ2V4LiBFbWFpbHMgd2lsbCBiZSBzZW50IGZvciBjb21taXRzIGluY2x1ZGVkIGluIHRoZXNlXG4iCisgICAgICAgICJyZWZzIG9ubHkgd2hlbiB0aGUgY29tbWl0IHJlYWNoZXMgYSByZWYgd2hpY2ggaXNuJ3QgZXhjbHVkZWQuXG4iCisgICAgICAgICJSZWZzIG1hcmtlZCBhcyBETy1TRU5EIGFyZSBub3QgZXhjbHVkZWQgYnkgYW55IGZpbHRlci4gRW1haWxzIHdpbGxcbiIKKyAgICAgICAgImJlIHNlbnQgbm9ybWFsbHkgZm9yIGNvbW1pdHMgaW5jbHVkZWQgaW4gdGhlc2UgcmVmcy5cbiIpCisKKyAgICBzeXMuc3Rkb3V0LndyaXRlKG9zLmxpbmVzZXApCisKKyAgICBmb3IgcmVmbmFtZSBpbiByZWFkX2dpdF9saW5lcyhbJ2Zvci1lYWNoLXJlZicsICctLWZvcm1hdCcsICclKHJlZm5hbWUpJ10pOgorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKHJlZm5hbWUpCisgICAgICAgIGlmIG5vdCBpbmNsdWRlX3JlZihyZWZuYW1lLCByZWZfZmlsdGVyX3JlZ2V4LCByZWZfaXNfaW5jbHVzaW9uKToKKyAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoJyBFWENMVURFJykKKyAgICAgICAgZWxpZiBub3QgaW5jbHVkZV9yZWYocmVmbmFtZSwgc2VuZF9maWx0ZXJfcmVnZXgsIHNlbmRfaXNfaW5jbHVzaW9uKToKKyAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoJyBET05ULVNFTkQnKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgnIERPLVNFTkQnKQorCisgICAgICAgIHN5cy5zdGRvdXQud3JpdGUob3MubGluZXNlcCkKKworCitkZWYgc2hvd19lbnYoZW52aXJvbm1lbnQsIG91dCk6CisgICAgb3V0LndyaXRlKCdFbnZpcm9ubWVudCB2YWx1ZXM6XG4nKQorICAgIGZvciAoaywgdikgaW4gc29ydGVkKGVudmlyb25tZW50LmdldF92YWx1ZXMoKS5pdGVtcygpKToKKyAgICAgICAgaWYgazogICMgRG9uJ3Qgc2hvdyB0aGUgeycnIDogJyd9IHBhaXIuCisgICAgICAgICAgICBvdXQud3JpdGUoJyAgICAlcyA6ICVyXG4nICUgKGssIHYpKQorICAgIG91dC53cml0ZSgnXG4nKQorICAgICMgRmx1c2ggdG8gYXZvaWQgaW50ZXJsZWF2aW5nIHdpdGggZnVydGhlciBsb2cgb3V0cHV0CisgICAgb3V0LmZsdXNoKCkKKworCitkZWYgY2hlY2tfc2V0dXAoZW52aXJvbm1lbnQpOgorICAgIGVudmlyb25tZW50LmNoZWNrKCkKKyAgICBzaG93X2VudihlbnZpcm9ubWVudCwgc3lzLnN0ZG91dCkKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCJOb3csIGNoZWNraW5nIHRoYXQgZ2l0LW11bHRpbWFpbCdzIHN0YW5kYXJkIGlucHV0ICIKKyAgICAgICAgICAgICAgICAgICAgICJpcyBwcm9wZXJseSBzZXQgLi4uIiArIG9zLmxpbmVzZXApCisgICAgc3lzLnN0ZG91dC53cml0ZSgiUGxlYXNlIHR5cGUgc29tZSB0ZXh0IGFuZCB0aGVuIHByZXNzIFJldHVybiIgKyBvcy5saW5lc2VwKQorICAgIHN0ZGluID0gc3lzLnN0ZGluLnJlYWRsaW5lKCkKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCJZb3UgaGF2ZSBqdXN0IGVudGVyZWQ6IiArIG9zLmxpbmVzZXApCisgICAgc3lzLnN0ZG91dC53cml0ZShzdGRpbikKKyAgICBzeXMuc3Rkb3V0LndyaXRlKCJnaXQtbXVsdGltYWlsIHNlZW1zIHByb3Blcmx5IHNldCB1cC4iICsgb3MubGluZXNlcCkKKworCiBkZWYgY2hvb3NlX21haWxlcihjb25maWcsIGVudmlyb25tZW50KToKICAgICBtYWlsZXIgPSBjb25maWcuZ2V0KCdtYWlsZXInLCBkZWZhdWx0PSdzZW5kbWFpbCcpCiAKQEAgLTM2MDgsNiArMzc3NCw3IEBACiAgICAgICAgIHNtdHBwYXNzID0gY29uZmlnLmdldCgnc210cHBhc3MnLCBkZWZhdWx0PScnKQogICAgICAgICBzbXRwY2FjZXJ0cyA9IGNvbmZpZy5nZXQoJ3NtdHBjYWNlcnRzJywgZGVmYXVsdD0nJykKICAgICAgICAgbWFpbGVyID0gU01UUE1haWxlcigKKyAgICAgICAgICAgIGVudmlyb25tZW50LAogICAgICAgICAgICAgZW52ZWxvcGVzZW5kZXI9KGVudmlyb25tZW50LmdldF9zZW5kZXIoKSBvciBlbnZpcm9ubWVudC5nZXRfZnJvbWFkZHIoKSksCiAgICAgICAgICAgICBzbXRwc2VydmVyPXNtdHBzZXJ2ZXIsIHNtdHBzZXJ2ZXJ0aW1lb3V0PXNtdHBzZXJ2ZXJ0aW1lb3V0LAogICAgICAgICAgICAgc210cHNlcnZlcmRlYnVnbGV2ZWw9c210cHNlcnZlcmRlYnVnbGV2ZWwsCkBAIC0zNjIwLDQzICszNzg3LDQxIEBACiAgICAgICAgIGNvbW1hbmQgPSBjb25maWcuZ2V0KCdzZW5kbWFpbGNvbW1hbmQnKQogICAgICAgICBpZiBjb21tYW5kOgogICAgICAgICAgICAgY29tbWFuZCA9IHNobGV4LnNwbGl0KGNvbW1hbmQpCi0gICAgICAgIG1haWxlciA9IFNlbmRNYWlsZXIoY29tbWFuZD1jb21tYW5kLCBlbnZlbG9wZXNlbmRlcj1lbnZpcm9ubWVudC5nZXRfc2VuZGVyKCkpCisgICAgICAgIG1haWxlciA9IFNlbmRNYWlsZXIoZW52aXJvbm1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD1jb21tYW5kLCBlbnZlbG9wZXNlbmRlcj1lbnZpcm9ubWVudC5nZXRfc2VuZGVyKCkpCiAgICAgZWxzZToKICAgICAgICAgZW52aXJvbm1lbnQubG9nX2Vycm9yKAogICAgICAgICAgICAgJ2ZhdGFsOiBtdWx0aW1haWxob29rLm1haWxlciBpcyBzZXQgdG8gYW4gaW5jb3JyZWN0IHZhbHVlOiAiJXMiXG4nICUgbWFpbGVyICsKLSAgICAgICAgICAgICdwbGVhc2UgdXNlIG9uZSBvZiAic210cCIgb3IgInNlbmRtYWlsIi5cbicKKyAgICAgICAgICAgICdwbGVhc2UgdXNlIG9uZSBvZiAic210cCIgb3IgInNlbmRtYWlsIi4nCiAgICAgICAgICAgICApCiAgICAgICAgIHN5cy5leGl0KDEpCiAgICAgcmV0dXJuIG1haWxlcgogCiAKIEtOT1dOX0VOVklST05NRU5UUyA9IHsKLSAgICAnZ2VuZXJpYyc6IEdlbmVyaWNFbnZpcm9ubWVudE1peGluLAotICAgICdnaXRvbGl0ZSc6IEdpdG9saXRlRW52aXJvbm1lbnRNaXhpbiwKLSAgICAnc3Rhc2gnOiBTdGFzaEVudmlyb25tZW50TWl4aW4sCi0gICAgJ2dlcnJpdCc6IEdlcnJpdEVudmlyb25tZW50TWl4aW4sCisgICAgJ2dlbmVyaWMnOiB7J2hpZ2hwcmVjJzogR2VuZXJpY0Vudmlyb25tZW50TWl4aW59LAorICAgICdnaXRvbGl0ZSc6IHsnaGlnaHByZWMnOiBHaXRvbGl0ZUVudmlyb25tZW50SGlnaFByZWNNaXhpbiwKKyAgICAgICAgICAgICAgICAgJ2xvd3ByZWMnOiBHaXRvbGl0ZUVudmlyb25tZW50TG93UHJlY01peGlufSwKKyAgICAnc3Rhc2gnOiB7J2hpZ2hwcmVjJzogU3Rhc2hFbnZpcm9ubWVudEhpZ2hQcmVjTWl4aW4sCisgICAgICAgICAgICAgICdsb3dwcmVjJzogU3Rhc2hFbnZpcm9ubWVudExvd1ByZWNNaXhpbn0sCisgICAgJ2dlcnJpdCc6IHsnaGlnaHByZWMnOiBHZXJyaXRFbnZpcm9ubWVudEhpZ2hQcmVjTWl4aW4sCisgICAgICAgICAgICAgICAnbG93cHJlYyc6IEdlcnJpdEVudmlyb25tZW50TG93UHJlY01peGlufSwKICAgICB9CiAKIAogZGVmIGNob29zZV9lbnZpcm9ubWVudChjb25maWcsIG9zZW52PU5vbmUsIGVudj1Ob25lLCByZWNpcGllbnRzPU5vbmUsCiAgICAgICAgICAgICAgICAgICAgICAgIGhvb2tfaW5mbz1Ob25lKToKKyAgICBlbnZfbmFtZSA9IGNob29zZV9lbnZpcm9ubWVudF9uYW1lKGNvbmZpZywgZW52LCBvc2VudikKKyAgICBlbnZpcm9ubWVudF9rbGFzcyA9IGJ1aWxkX2Vudmlyb25tZW50X2tsYXNzKGVudl9uYW1lKQorICAgIGVudiA9IGJ1aWxkX2Vudmlyb25tZW50KGVudmlyb25tZW50X2tsYXNzLCBlbnZfbmFtZSwgY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zZW52LCByZWNpcGllbnRzLCBob29rX2luZm8pCisgICAgcmV0dXJuIGVudgorCisKK2RlZiBjaG9vc2VfZW52aXJvbm1lbnRfbmFtZShjb25maWcsIGVudiwgb3NlbnYpOgogICAgIGlmIG5vdCBvc2VudjoKICAgICAgICAgb3NlbnYgPSBvcy5lbnZpcm9uCiAKLSAgICBlbnZpcm9ubWVudF9taXhpbnMgPSBbCi0gICAgICAgIENvbmZpZ1JlZkZpbHRlckVudmlyb25tZW50TWl4aW4sCi0gICAgICAgIFByb2plY3RkZXNjRW52aXJvbm1lbnRNaXhpbiwKLSAgICAgICAgQ29uZmlnTWF4bGluZXNFbnZpcm9ubWVudE1peGluLAotICAgICAgICBDb21wdXRlRlFETkVudmlyb25tZW50TWl4aW4sCi0gICAgICAgIENvbmZpZ0ZpbHRlckxpbmVzRW52aXJvbm1lbnRNaXhpbiwKLSAgICAgICAgUHVzaGVyRG9tYWluRW52aXJvbm1lbnRNaXhpbiwKLSAgICAgICAgQ29uZmlnT3B0aW9uc0Vudmlyb25tZW50TWl4aW4sCi0gICAgICAgIF0KLSAgICBlbnZpcm9ubWVudF9rdyA9IHsKLSAgICAgICAgJ29zZW52Jzogb3NlbnYsCi0gICAgICAgICdjb25maWcnOiBjb25maWcsCi0gICAgICAgIH0KLQogICAgIGlmIG5vdCBlbnY6CiAgICAgICAgIGVudiA9IGNvbmZpZy5nZXQoJ2Vudmlyb25tZW50JykKIApAQCAtMzY2NSw4ICszODMwLDU4IEBACiAgICAgICAgICAgICBlbnYgPSAnZ2l0b2xpdGUnCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBlbnYgPSAnZ2VuZXJpYycKKyAgICByZXR1cm4gZW52CiAKLSAgICBlbnZpcm9ubWVudF9taXhpbnMuaW5zZXJ0KDAsIEtOT1dOX0VOVklST05NRU5UU1tlbnZdKQorCitDT01NT05fRU5WSVJPTk1FTlRfTUlYSU5TID0gWworICAgIENvbmZpZ1JlY2lwaWVudHNFbnZpcm9ubWVudE1peGluLAorICAgIENMSVJlY2lwaWVudHNFbnZpcm9ubWVudE1peGluLAorICAgIENvbmZpZ1JlZkZpbHRlckVudmlyb25tZW50TWl4aW4sCisgICAgUHJvamVjdGRlc2NFbnZpcm9ubWVudE1peGluLAorICAgIENvbmZpZ01heGxpbmVzRW52aXJvbm1lbnRNaXhpbiwKKyAgICBDb21wdXRlRlFETkVudmlyb25tZW50TWl4aW4sCisgICAgQ29uZmlnRmlsdGVyTGluZXNFbnZpcm9ubWVudE1peGluLAorICAgIFB1c2hlckRvbWFpbkVudmlyb25tZW50TWl4aW4sCisgICAgQ29uZmlnT3B0aW9uc0Vudmlyb25tZW50TWl4aW4sCisgICAgXQorCisKK2RlZiBidWlsZF9lbnZpcm9ubWVudF9rbGFzcyhlbnZfbmFtZSk6CisgICAgaWYgJ2NsYXNzJyBpbiBLTk9XTl9FTlZJUk9OTUVOVFNbZW52X25hbWVdOgorICAgICAgICByZXR1cm4gS05PV05fRU5WSVJPTk1FTlRTW2Vudl9uYW1lXVsnY2xhc3MnXQorCisgICAgZW52aXJvbm1lbnRfbWl4aW5zID0gW10KKyAgICBrbm93bl9lbnYgPSBLTk9XTl9FTlZJUk9OTUVOVFNbZW52X25hbWVdCisgICAgaWYgJ2hpZ2hwcmVjJyBpbiBrbm93bl9lbnY6CisgICAgICAgIGhpZ2hfcHJlY19taXhpbiA9IGtub3duX2VudlsnaGlnaHByZWMnXQorICAgICAgICBlbnZpcm9ubWVudF9taXhpbnMuYXBwZW5kKGhpZ2hfcHJlY19taXhpbikKKyAgICBlbnZpcm9ubWVudF9taXhpbnMgPSBlbnZpcm9ubWVudF9taXhpbnMgKyBDT01NT05fRU5WSVJPTk1FTlRfTUlYSU5TCisgICAgaWYgJ2xvd3ByZWMnIGluIGtub3duX2VudjoKKyAgICAgICAgbG93X3ByZWNfbWl4aW4gPSBrbm93bl9lbnZbJ2xvd3ByZWMnXQorICAgICAgICBlbnZpcm9ubWVudF9taXhpbnMuYXBwZW5kKGxvd19wcmVjX21peGluKQorICAgIGVudmlyb25tZW50X21peGlucy5hcHBlbmQoRW52aXJvbm1lbnQpCisgICAga2xhc3NfbmFtZSA9IGVudl9uYW1lLmNhcGl0YWxpemUoKSArICdFbnZpcm9uZW1lbnQnCisgICAgZW52aXJvbm1lbnRfa2xhc3MgPSB0eXBlKAorICAgICAgICBrbGFzc19uYW1lLAorICAgICAgICB0dXBsZShlbnZpcm9ubWVudF9taXhpbnMpLAorICAgICAgICB7fSwKKyAgICAgICAgKQorICAgIEtOT1dOX0VOVklST05NRU5UU1tlbnZfbmFtZV1bJ2NsYXNzJ10gPSBlbnZpcm9ubWVudF9rbGFzcworICAgIHJldHVybiBlbnZpcm9ubWVudF9rbGFzcworCisKK0dlcnJpdEVudmlyb25tZW50ID0gYnVpbGRfZW52aXJvbm1lbnRfa2xhc3MoJ2dlcnJpdCcpCitTdGFzaEVudmlyb25tZW50ID0gYnVpbGRfZW52aXJvbm1lbnRfa2xhc3MoJ3N0YXNoJykKK0dpdG9saXRlRW52aXJvbm1lbnQgPSBidWlsZF9lbnZpcm9ubWVudF9rbGFzcygnZ2l0b2xpdGUnKQorR2VuZXJpY0Vudmlyb25tZW50ID0gYnVpbGRfZW52aXJvbm1lbnRfa2xhc3MoJ2dlbmVyaWMnKQorCisKK2RlZiBidWlsZF9lbnZpcm9ubWVudChlbnZpcm9ubWVudF9rbGFzcywgZW52LCBjb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgb3NlbnYsIHJlY2lwaWVudHMsIGhvb2tfaW5mbyk6CisgICAgZW52aXJvbm1lbnRfa3cgPSB7CisgICAgICAgICdvc2Vudic6IG9zZW52LAorICAgICAgICAnY29uZmlnJzogY29uZmlnLAorICAgICAgICB9CiAKICAgICBpZiBlbnYgPT0gJ3N0YXNoJzoKICAgICAgICAgZW52aXJvbm1lbnRfa3dbJ3VzZXInXSA9IGhvb2tfaW5mb1snc3Rhc2hfdXNlciddCkBAIC0zNjc2LDIwICszODkxLDggQEAKICAgICAgICAgZW52aXJvbm1lbnRfa3dbJ3N1Ym1pdHRlciddID0gaG9va19pbmZvWydzdWJtaXR0ZXInXQogICAgICAgICBlbnZpcm9ubWVudF9rd1sndXBkYXRlX21ldGhvZCddID0gaG9va19pbmZvWyd1cGRhdGVfbWV0aG9kJ10KIAotICAgIGlmIHJlY2lwaWVudHM6Ci0gICAgICAgIGVudmlyb25tZW50X21peGlucy5pbnNlcnQoMCwgU3RhdGljUmVjaXBpZW50c0Vudmlyb25tZW50TWl4aW4pCi0gICAgICAgIGVudmlyb25tZW50X2t3WydyZWZjaGFuZ2VfcmVjaXBpZW50cyddID0gcmVjaXBpZW50cwotICAgICAgICBlbnZpcm9ubWVudF9rd1snYW5ub3VuY2VfcmVjaXBpZW50cyddID0gcmVjaXBpZW50cwotICAgICAgICBlbnZpcm9ubWVudF9rd1sncmV2aXNpb25fcmVjaXBpZW50cyddID0gcmVjaXBpZW50cwotICAgICAgICBlbnZpcm9ubWVudF9rd1snc2NhbmNvbW1pdGZvcmNjJ10gPSBjb25maWcuZ2V0KCdzY2FuY29tbWl0Zm9yY2MnKQotICAgIGVsc2U6Ci0gICAgICAgIGVudmlyb25tZW50X21peGlucy5pbnNlcnQoMCwgQ29uZmlnUmVjaXBpZW50c0Vudmlyb25tZW50TWl4aW4pCisgICAgZW52aXJvbm1lbnRfa3dbJ2NsaV9yZWNpcGllbnRzJ10gPSByZWNpcGllbnRzCiAKLSAgICBlbnZpcm9ubWVudF9rbGFzcyA9IHR5cGUoCi0gICAgICAgICdFZmZlY3RpdmVFbnZpcm9ubWVudCcsCi0gICAgICAgIHR1cGxlKGVudmlyb25tZW50X21peGlucykgKyAoRW52aXJvbm1lbnQsKSwKLSAgICAgICAge30sCi0gICAgICAgICkKICAgICByZXR1cm4gZW52aXJvbm1lbnRfa2xhc3MoKiplbnZpcm9ubWVudF9rdykKIAogCkBAIC0zNzEwLDcgKzM5MTMsOCBAQAogICAgIHJldHVybiBfX3ZlcnNpb25fXwogCiAKLWRlZiBjb21wdXRlX2dlcnJpdF9vcHRpb25zKG9wdGlvbnMsIGFyZ3MsIHJlcXVpcmVkX2dlcnJpdF9vcHRpb25zKToKK2RlZiBjb21wdXRlX2dlcnJpdF9vcHRpb25zKG9wdGlvbnMsIGFyZ3MsIHJlcXVpcmVkX2dlcnJpdF9vcHRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3X3JlZm5hbWUpOgogICAgIGlmIE5vbmUgaW4gcmVxdWlyZWRfZ2Vycml0X29wdGlvbnM6CiAgICAgICAgIHJhaXNlIFN5c3RlbUV4aXQoIkVycm9yOiBTcGVjaWZ5IGFsbCBvZiAtLW9sZHJldiwgLS1uZXdyZXYsIC0tcmVmbmFtZSwgIgogICAgICAgICAgICAgICAgICAgICAgICAgICJhbmQgLS1wcm9qZWN0OyBvciBub25lIG9mIHRoZW0uIikKQEAgLTM3MjcsMjQgKzM5MzEsMTEgQEAKICAgICAjIEdlcnJpdCBvZGRseSBvbWl0cyAncmVmcy9oZWFkcy8nIGluIHRoZSByZWZuYW1lIHdoZW4gY2FsbGluZwogICAgICMgcmVmLXVwZGF0ZWQgaG9vazsgcHV0IGl0IGJhY2suCiAgICAgZ2l0X2RpciA9IGdldF9naXRfZGlyKCkKLSAgICBpZiAobm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihnaXRfZGlyLCBvcHRpb25zLnJlZm5hbWUpKSBhbmQKKyAgICBpZiAobm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihnaXRfZGlyLCByYXdfcmVmbmFtZSkpIGFuZAogICAgICAgICBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZ2l0X2RpciwgJ3JlZnMnLCAnaGVhZHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5yZWZuYW1lKSkpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3X3JlZm5hbWUpKSk6CiAgICAgICAgIG9wdGlvbnMucmVmbmFtZSA9ICdyZWZzL2hlYWRzLycgKyBvcHRpb25zLnJlZm5hbWUKIAotICAgICMgQ29udmVydCBlYWNoIHN0cmluZyBvcHRpb24gdW5pY29kZSBmb3IgUHl0aG9uMy4KLSAgICBpZiBQWVRIT04zOgotICAgICAgICBvcHRzID0gWydlbnZpcm9ubWVudCcsICdyZWNpcGllbnRzJywgJ29sZHJldicsICduZXdyZXYnLCAncmVmbmFtZScsCi0gICAgICAgICAgICAgICAgJ3Byb2plY3QnLCAnc3VibWl0dGVyJywgJ3N0YXNoLXVzZXInLCAnc3Rhc2gtcmVwbyddCi0gICAgICAgIGZvciBvcHQgaW4gb3B0czoKLSAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKG9wdGlvbnMsIG9wdCk6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIG9iaiA9IGdldGF0dHIob3B0aW9ucywgb3B0KQotICAgICAgICAgICAgaWYgb2JqOgotICAgICAgICAgICAgICAgIGVuYyA9IG9iai5lbmNvZGUoJ3V0Zi04JywgJ3N1cnJvZ2F0ZWVzY2FwZScpCi0gICAgICAgICAgICAgICAgZGVjID0gZW5jLmRlY29kZSgndXRmLTgnLCAncmVwbGFjZScpCi0gICAgICAgICAgICAgICAgc2V0YXR0cihvcHRpb25zLCBvcHQsIGRlYykKLQogICAgICMgTmV3IHJldmlzaW9ucyBjYW4gYXBwZWFyIGluIGEgZ2Vycml0IHJlcG9zaXRvcnkgZWl0aGVyIGR1ZSB0byBzb21lb25lCiAgICAgIyBwdXNoaW5nIGRpcmVjdGx5IChpbiB3aGljaCBjYXNlIG9wdGlvbnMuc3VibWl0dGVyIHdpbGwgYmUgc2V0KSwgb3IgdGhleQogICAgICMgY2FuIHByZXNzICJTdWJtaXQgdGhpcyBwYXRjaHNldCIgaW4gdGhlIHdlYiBVSSBmb3Igc29tZSBDUiAoaW4gd2hpY2gKQEAgLTM3ODQsNiArMzk3NSwyMCBAQAogCiAKIGRlZiBjaGVja19ob29rX3NwZWNpZmljX2FyZ3Mob3B0aW9ucywgYXJncyk6CisgICAgcmF3X3JlZm5hbWUgPSBvcHRpb25zLnJlZm5hbWUKKyAgICAjIENvbnZlcnQgZWFjaCBzdHJpbmcgb3B0aW9uIHVuaWNvZGUgZm9yIFB5dGhvbjMuCisgICAgaWYgUFlUSE9OMzoKKyAgICAgICAgb3B0cyA9IFsnZW52aXJvbm1lbnQnLCAncmVjaXBpZW50cycsICdvbGRyZXYnLCAnbmV3cmV2JywgJ3JlZm5hbWUnLAorICAgICAgICAgICAgICAgICdwcm9qZWN0JywgJ3N1Ym1pdHRlcicsICdzdGFzaF91c2VyJywgJ3N0YXNoX3JlcG8nXQorICAgICAgICBmb3Igb3B0IGluIG9wdHM6CisgICAgICAgICAgICBpZiBub3QgaGFzYXR0cihvcHRpb25zLCBvcHQpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBvYmogPSBnZXRhdHRyKG9wdGlvbnMsIG9wdCkKKyAgICAgICAgICAgIGlmIG9iajoKKyAgICAgICAgICAgICAgICBlbmMgPSBvYmouZW5jb2RlKCd1dGYtOCcsICdzdXJyb2dhdGVlc2NhcGUnKQorICAgICAgICAgICAgICAgIGRlYyA9IGVuYy5kZWNvZGUoJ3V0Zi04JywgJ3JlcGxhY2UnKQorICAgICAgICAgICAgICAgIHNldGF0dHIob3B0aW9ucywgb3B0LCBkZWMpCisKICAgICAjIEZpcnN0IGNoZWNrIGZvciBzdGFzaCBhcmd1bWVudHMKICAgICBpZiAob3B0aW9ucy5zdGFzaF91c2VyIGlzIE5vbmUpICE9IChvcHRpb25zLnN0YXNoX3JlcG8gaXMgTm9uZSk6CiAgICAgICAgIHJhaXNlIFN5c3RlbUV4aXQoIkVycm9yOiBTcGVjaWZ5IGJvdGggb2YgLS1zdGFzaC11c2VyIGFuZCAiCkBAIC0zNzk3LDEyICs0MDAyLDc4IEBACiAgICAgcmVxdWlyZWRfZ2Vycml0X29wdGlvbnMgPSAob3B0aW9ucy5vbGRyZXYsIG9wdGlvbnMubmV3cmV2LCBvcHRpb25zLnJlZm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5wcm9qZWN0KQogICAgIGlmIHJlcXVpcmVkX2dlcnJpdF9vcHRpb25zICE9IChOb25lLCkgKiA0OgotICAgICAgICByZXR1cm4gY29tcHV0ZV9nZXJyaXRfb3B0aW9ucyhvcHRpb25zLCBhcmdzLCByZXF1aXJlZF9nZXJyaXRfb3B0aW9ucykKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVfZ2Vycml0X29wdGlvbnMob3B0aW9ucywgYXJncywgcmVxdWlyZWRfZ2Vycml0X29wdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd19yZWZuYW1lKQogCiAgICAgIyBObyBzcGVjaWFsIG9wdGlvbnMgaW4gdXNlLCBqdXN0IHJldHVybiB3aGF0IHdlIHN0YXJ0ZWQgd2l0aAogICAgIHJldHVybiBvcHRpb25zLCBhcmdzLCB7fQogCiAKK2NsYXNzIExvZ2dlcihvYmplY3QpOgorICAgIGRlZiBwYXJzZV92ZXJib3NlKHNlbGYsIHZlcmJvc2UpOgorICAgICAgICBpZiB2ZXJib3NlID4gMDoKKyAgICAgICAgICAgIHJldHVybiBsb2dnaW5nLkRFQlVHCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gbG9nZ2luZy5JTkZPCisKKyAgICBkZWYgY3JlYXRlX2xvZ19maWxlKHNlbGYsIGVudmlyb25tZW50LCBuYW1lLCBwYXRoLCB2ZXJib3NpdHkpOgorICAgICAgICBsb2dfZmlsZSA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKG5hbWUpCisgICAgICAgIGZpbGVfaGFuZGxlciA9IGxvZ2dpbmcuRmlsZUhhbmRsZXIocGF0aCkKKyAgICAgICAgbG9nX2ZtdCA9IGxvZ2dpbmcuRm9ybWF0dGVyKCIlKGFzY3RpbWUpcyBbJShsZXZlbG5hbWUpLTUuNXNdICAlKG1lc3NhZ2UpcyIpCisgICAgICAgIGZpbGVfaGFuZGxlci5zZXRGb3JtYXR0ZXIobG9nX2ZtdCkKKyAgICAgICAgbG9nX2ZpbGUuYWRkSGFuZGxlcihmaWxlX2hhbmRsZXIpCisgICAgICAgIGxvZ19maWxlLnNldExldmVsKHZlcmJvc2l0eSkKKyAgICAgICAgcmV0dXJuIGxvZ19maWxlCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZW52aXJvbm1lbnQpOgorICAgICAgICBzZWxmLmVudmlyb25tZW50ID0gZW52aXJvbm1lbnQKKyAgICAgICAgc2VsZi5sb2dnZXJzID0gW10KKyAgICAgICAgc3RkZXJyX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdnaXRfbXVsdGltYWlsLnN0ZGVycicpCisKKyAgICAgICAgY2xhc3MgRW5jb2RlZFN0ZGVycihvYmplY3QpOgorICAgICAgICAgICAgZGVmIHdyaXRlKHNlbGYsIHgpOgorICAgICAgICAgICAgICAgIHdyaXRlX3N0cihzeXMuc3RkZXJyLCB4KQorCisgICAgICAgICAgICBkZWYgZmx1c2goc2VsZik6CisgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci5mbHVzaCgpCisKKyAgICAgICAgc3RkZXJyX2hhbmRsZXIgPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoRW5jb2RlZFN0ZGVycigpKQorICAgICAgICBzdGRlcnJfbG9nLmFkZEhhbmRsZXIoc3RkZXJyX2hhbmRsZXIpCisgICAgICAgIHN0ZGVycl9sb2cuc2V0TGV2ZWwoc2VsZi5wYXJzZV92ZXJib3NlKGVudmlyb25tZW50LnZlcmJvc2UpKQorICAgICAgICBzZWxmLmxvZ2dlcnMuYXBwZW5kKHN0ZGVycl9sb2cpCisKKyAgICAgICAgaWYgZW52aXJvbm1lbnQuZGVidWdfbG9nX2ZpbGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBkZWJ1Z19sb2dfZmlsZSA9IHNlbGYuY3JlYXRlX2xvZ19maWxlKAorICAgICAgICAgICAgICAgIGVudmlyb25tZW50LCAnZ2l0X211bHRpbWFpbC5kZWJ1ZycsIGVudmlyb25tZW50LmRlYnVnX2xvZ19maWxlLCBsb2dnaW5nLkRFQlVHKQorICAgICAgICAgICAgc2VsZi5sb2dnZXJzLmFwcGVuZChkZWJ1Z19sb2dfZmlsZSkKKworICAgICAgICBpZiBlbnZpcm9ubWVudC5sb2dfZmlsZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGxvZ19maWxlID0gc2VsZi5jcmVhdGVfbG9nX2ZpbGUoCisgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQsICdnaXRfbXVsdGltYWlsLmZpbGUnLCBlbnZpcm9ubWVudC5sb2dfZmlsZSwgbG9nZ2luZy5JTkZPKQorICAgICAgICAgICAgc2VsZi5sb2dnZXJzLmFwcGVuZChsb2dfZmlsZSkKKworICAgICAgICBpZiBlbnZpcm9ubWVudC5lcnJvcl9sb2dfZmlsZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGVycm9yX2xvZ19maWxlID0gc2VsZi5jcmVhdGVfbG9nX2ZpbGUoCisgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQsICdnaXRfbXVsdGltYWlsLmVycm9yJywgZW52aXJvbm1lbnQuZXJyb3JfbG9nX2ZpbGUsIGxvZ2dpbmcuRVJST1IpCisgICAgICAgICAgICBzZWxmLmxvZ2dlcnMuYXBwZW5kKGVycm9yX2xvZ19maWxlKQorCisgICAgZGVmIGluZm8oc2VsZiwgbXNnKToKKyAgICAgICAgZm9yIGwgaW4gc2VsZi5sb2dnZXJzOgorICAgICAgICAgICAgbC5pbmZvKG1zZykKKworICAgIGRlZiBkZWJ1ZyhzZWxmLCBtc2cpOgorICAgICAgICBmb3IgbCBpbiBzZWxmLmxvZ2dlcnM6CisgICAgICAgICAgICBsLmRlYnVnKG1zZykKKworICAgIGRlZiB3YXJuaW5nKHNlbGYsIG1zZyk6CisgICAgICAgIGZvciBsIGluIHNlbGYubG9nZ2VyczoKKyAgICAgICAgICAgIGwud2FybmluZyhtc2cpCisKKyAgICBkZWYgZXJyb3Ioc2VsZiwgbXNnKToKKyAgICAgICAgZm9yIGwgaW4gc2VsZi5sb2dnZXJzOgorICAgICAgICAgICAgbC5lcnJvcihtc2cpCisKKwogZGVmIG1haW4oYXJncyk6CiAgICAgcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKAogICAgICAgICBkZXNjcmlwdGlvbj1fX2RvY19fLApAQCAtMzgyOSw3ICs0MTAwLDcgQEAKICAgICAgICAgJy0tc2hvdy1lbnYnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLAogICAgICAgICBoZWxwPSgKICAgICAgICAgICAgICdXcml0ZSB0byBzdGRlcnIgdGhlIHZhbHVlcyBkZXRlcm1pbmVkIGZvciB0aGUgZW52aXJvbm1lbnQgJwotICAgICAgICAgICAgJyhpbnRlbmRlZCBmb3IgZGVidWdnaW5nIHB1cnBvc2VzKS4nCisgICAgICAgICAgICAnKGludGVuZGVkIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMpLCB0aGVuIHByb2NlZWQgbm9ybWFsbHkuJwogICAgICAgICAgICAgKSwKICAgICAgICAgKQogICAgIHBhcnNlci5hZGRfb3B0aW9uKApAQCAtMzg1NCw2ICs0MTI1LDIyIEBACiAgICAgICAgICAgICAiRGlzcGxheSBnaXQtbXVsdGltYWlsJ3MgdmVyc2lvbiIKICAgICAgICAgICAgICksCiAgICAgICAgICkKKworICAgIHBhcnNlci5hZGRfb3B0aW9uKAorICAgICAgICAnLS1weXRob24tdmVyc2lvbicsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgIGhlbHA9KAorICAgICAgICAgICAgIkRpc3BsYXkgdGhlIHZlcnNpb24gb2YgUHl0aG9uIHVzZWQgYnkgZ2l0LW11bHRpbWFpbCIKKyAgICAgICAgICAgICksCisgICAgICAgICkKKworICAgIHBhcnNlci5hZGRfb3B0aW9uKAorICAgICAgICAnLS1jaGVjay1yZWYtZmlsdGVyJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgaGVscD0oCisgICAgICAgICAgICAnTGlzdCByZWZzIGFuZCBzaG93IGluZm9ybWF0aW9uIG9uIGhvdyBnaXQtbXVsdGltYWlsICcKKyAgICAgICAgICAgICd3aWxsIHByb2Nlc3MgdGhlbS4nCisgICAgICAgICAgICApCisgICAgICAgICkKKwogICAgICMgVGhlIGZvbGxvd2luZyBvcHRpb25zIHBlcm1pdCB0aGlzIHNjcmlwdCB0byBiZSBydW4gYXMgYSBnZXJyaXQKICAgICAjIHJlZi11cGRhdGVkIGhvb2suICBTZWUgZS5nLgogICAgICMgY29kZS5nb29nbGUuY29tL3AvZ2Vycml0L3NvdXJjZS9icm93c2UvRG9jdW1lbnRhdGlvbi9jb25maWctaG9va3MudHh0CkBAIC0zODgwLDExICs0MTY3LDE2IEBACiAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoJ2dpdC1tdWx0aW1haWwgdmVyc2lvbiAnICsgZ2V0X3ZlcnNpb24oKSArICdcbicpCiAgICAgICAgIHJldHVybgogCisgICAgaWYgb3B0aW9ucy5weXRob25fdmVyc2lvbjoKKyAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgnUHl0aG9uIHZlcnNpb24gJyArIHN5cy52ZXJzaW9uICsgJ1xuJykKKyAgICAgICAgcmV0dXJuCisKICAgICBpZiBvcHRpb25zLmM6CiAgICAgICAgIENvbmZpZy5hZGRfY29uZmlnX3BhcmFtZXRlcnMob3B0aW9ucy5jKQogCiAgICAgY29uZmlnID0gQ29uZmlnKCdtdWx0aW1haWxob29rJykKIAorICAgIGVudmlyb25tZW50ID0gTm9uZQogICAgIHRyeToKICAgICAgICAgZW52aXJvbm1lbnQgPSBjaG9vc2VfZW52aXJvbm1lbnQoCiAgICAgICAgICAgICBjb25maWcsIG9zZW52PW9zLmVudmlyb24sCkBAIC0zODk0LDM4ICs0MTg2LDUyIEBACiAgICAgICAgICAgICApCiAKICAgICAgICAgaWYgb3B0aW9ucy5zaG93X2VudjoKLSAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ0Vudmlyb25tZW50IHZhbHVlczpcbicpCi0gICAgICAgICAgICBmb3IgKGssIHYpIGluIHNvcnRlZChlbnZpcm9ubWVudC5nZXRfdmFsdWVzKCkuaXRlbXMoKSk6Ci0gICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnICAgICVzIDogJXJcbicgJSAoaywgdikpCi0gICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdcbicpCisgICAgICAgICAgICBzaG93X2VudihlbnZpcm9ubWVudCwgc3lzLnN0ZGVycikKIAogICAgICAgICBpZiBvcHRpb25zLnN0ZG91dCBvciBlbnZpcm9ubWVudC5zdGRvdXQ6CiAgICAgICAgICAgICBtYWlsZXIgPSBPdXRwdXRNYWlsZXIoc3lzLnN0ZG91dCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIG1haWxlciA9IGNob29zZV9tYWlsZXIoY29uZmlnLCBlbnZpcm9ubWVudCkKIAorICAgICAgICBtdXN0X2NoZWNrX3NldHVwID0gb3MuZW52aXJvbi5nZXQoJ0dJVF9NVUxUSU1BSUxfQ0hFQ0tfU0VUVVAnKQorICAgICAgICBpZiBtdXN0X2NoZWNrX3NldHVwID09ICcnOgorICAgICAgICAgICAgbXVzdF9jaGVja19zZXR1cCA9IEZhbHNlCisgICAgICAgIGlmIG9wdGlvbnMuY2hlY2tfcmVmX2ZpbHRlcjoKKyAgICAgICAgICAgIGNoZWNrX3JlZl9maWx0ZXIoZW52aXJvbm1lbnQpCisgICAgICAgIGVsaWYgbXVzdF9jaGVja19zZXR1cDoKKyAgICAgICAgICAgIGNoZWNrX3NldHVwKGVudmlyb25tZW50KQogICAgICAgICAjIER1YWwgbW9kZTogaWYgYXJndW1lbnRzIHdlcmUgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUsIHJ1bgogICAgICAgICAjIGxpa2UgYW4gdXBkYXRlIGhvb2s7IG90aGVyd2lzZSwgcnVuIGFzIGEgcG9zdC1yZWNlaXZlIGhvb2suCi0gICAgICAgIGlmIGFyZ3M6CisgICAgICAgIGVsaWYgYXJnczoKICAgICAgICAgICAgIGlmIGxlbihhcmdzKSAhPSAzOgogICAgICAgICAgICAgICAgIHBhcnNlci5lcnJvcignTmVlZCB6ZXJvIG9yIHRocmVlIG5vbi1vcHRpb24gYXJndW1lbnRzJykKICAgICAgICAgICAgIChyZWZuYW1lLCBvbGRyZXYsIG5ld3JldikgPSBhcmdzCisgICAgICAgICAgICBlbnZpcm9ubWVudC5nZXRfbG9nZ2VyKCkuZGVidWcoCisgICAgICAgICAgICAgICAgInJ1bl9hc191cGRhdGVfaG9vazogcmVmbmFtZT0lcywgb2xkcmV2PSVzLCBuZXdyZXY9JXMsIGZvcmNlX3NlbmQ9JXMiICUKKyAgICAgICAgICAgICAgICAocmVmbmFtZSwgb2xkcmV2LCBuZXdyZXYsIG9wdGlvbnMuZm9yY2Vfc2VuZCkpCiAgICAgICAgICAgICBydW5fYXNfdXBkYXRlX2hvb2soZW52aXJvbm1lbnQsIG1haWxlciwgcmVmbmFtZSwgb2xkcmV2LCBuZXdyZXYsIG9wdGlvbnMuZm9yY2Vfc2VuZCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJ1bl9hc19wb3N0X3JlY2VpdmVfaG9vayhlbnZpcm9ubWVudCwgbWFpbGVyKQogICAgIGV4Y2VwdCBDb25maWd1cmF0aW9uRXhjZXB0aW9uOgogICAgICAgICBzeXMuZXhpdChzeXMuZXhjX2luZm8oKVsxXSkKKyAgICBleGNlcHQgU3lzdGVtRXhpdDoKKyAgICAgICAgcmFpc2UKICAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICB0LCBlLCB0YiA9IHN5cy5leGNfaW5mbygpCiAgICAgICAgIGltcG9ydCB0cmFjZWJhY2sKLSAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgnXG4nKQotICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCdFeGNlcHRpb24gXCcnICsgdC5fX25hbWVfXyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgJ1wnIHJhaXNlZC4gUGxlYXNlIHJlcG9ydCB0aGlzIGFzIGEgYnVnIHRvXG4nKQotICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCdodHRwczovL2dpdGh1Yi5jb20vZ2l0LW11bHRpbWFpbC9naXQtbXVsdGltYWlsL2lzc3Vlc1xuJykKLSAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgnd2l0aCB0aGUgaW5mb3JtYXRpb24gYmVsb3c6XG5cbicpCi0gICAgICAgIHN5cy5zdGRvdXQud3JpdGUoJ2dpdC1tdWx0aW1haWwgdmVyc2lvbiAnICsgZ2V0X3ZlcnNpb24oKSArICdcbicpCi0gICAgICAgIHN5cy5zdGRvdXQud3JpdGUoJ1B5dGhvbiB2ZXJzaW9uICcgKyBzeXMudmVyc2lvbiArICdcbicpCi0gICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoZmlsZT1zeXMuc3Rkb3V0KQorICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdcbicpICAjIEF2b2lkIG1peGluZyBtZXNzYWdlIHdpdGggcHJldmlvdXMgb3V0cHV0CisgICAgICAgIG1zZyA9ICgKKyAgICAgICAgICAgICdFeGNlcHRpb24gXCcnICsgdC5fX25hbWVfXyArCisgICAgICAgICAgICAnXCcgcmFpc2VkLiBQbGVhc2UgcmVwb3J0IHRoaXMgYXMgYSBidWcgdG9cbicKKyAgICAgICAgICAgICdodHRwczovL2dpdGh1Yi5jb20vZ2l0LW11bHRpbWFpbC9naXQtbXVsdGltYWlsL2lzc3Vlc1xuJworICAgICAgICAgICAgJ3dpdGggdGhlIGluZm9ybWF0aW9uIGJlbG93OlxuXG4nCisgICAgICAgICAgICAnZ2l0LW11bHRpbWFpbCB2ZXJzaW9uICcgKyBnZXRfdmVyc2lvbigpICsgJ1xuJworICAgICAgICAgICAgJ1B5dGhvbiB2ZXJzaW9uICcgKyBzeXMudmVyc2lvbiArICdcbicgKworICAgICAgICAgICAgdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZW52aXJvbm1lbnQuZ2V0X2xvZ2dlcigpLmVycm9yKG1zZykKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZShtc2cpCiAgICAgICAgIHN5cy5leGl0KDEpCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9jb250cmliL2xvbmctcnVubmluZy1maWx0ZXIvZXhhbXBsZS5wbCBiL2NvbnRyaWIvbG9uZy1ydW5uaW5nLWZpbHRlci9leGFtcGxlLnBsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM5NDU3MDUKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2xvbmctcnVubmluZy1maWx0ZXIvZXhhbXBsZS5wbApAQCAtMCwwICsxLDEyOCBAQAorIyEvdXNyL2Jpbi9wZXJsCisjCisjIEV4YW1wbGUgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBHaXQgZmlsdGVyIHByb3RvY29sIHZlcnNpb24gMgorIyBTZWUgRG9jdW1lbnRhdGlvbi9naXRhdHRyaWJ1dGVzLnR4dCwgc2VjdGlvbiAiRmlsdGVyIFByb3RvY29sIgorIworIyBQbGVhc2Ugbm90ZSwgdGhpcyBwYXNzLXRocnUgZmlsdGVyIGlzIGEgbWluaW1hbCBza2VsZXRvbi4gTm8gcHJvcGVyCisjIGVycm9yIGhhbmRsaW5nIHdhcyBpbXBsZW1lbnRlZC4KKyMKKwordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5nczsKKworbXkgJE1BWF9QQUNLRVRfQ09OVEVOVF9TSVpFID0gNjU1MTY7CisKK3N1YiBwYWNrZXRfYmluX3JlYWQgeworCW15ICRidWZmZXI7CisJbXkgJGJ5dGVzX3JlYWQgPSByZWFkIFNURElOLCAkYnVmZmVyLCA0OworCWlmICggJGJ5dGVzX3JlYWQgPT0gMCApIHsKKworCQkjIEVPRiAtIEdpdCBzdG9wcGVkIHRhbGtpbmcgdG8gdXMhCisJCWV4aXQoKTsKKwl9CisJZWxzaWYgKCAkYnl0ZXNfcmVhZCAhPSA0ICkgeworCQlkaWUgImludmFsaWQgcGFja2V0OiAnJGJ1ZmZlciciOworCX0KKwlteSAkcGt0X3NpemUgPSBoZXgoJGJ1ZmZlcik7CisJaWYgKCAkcGt0X3NpemUgPT0gMCApIHsKKwkJcmV0dXJuICggMSwgIiIgKTsKKwl9CisJZWxzaWYgKCAkcGt0X3NpemUgPiA0ICkgeworCQlteSAkY29udGVudF9zaXplID0gJHBrdF9zaXplIC0gNDsKKwkJJGJ5dGVzX3JlYWQgPSByZWFkIFNURElOLCAkYnVmZmVyLCAkY29udGVudF9zaXplOworCQlpZiAoICRieXRlc19yZWFkICE9ICRjb250ZW50X3NpemUgKSB7CisJCQlkaWUgImludmFsaWQgcGFja2V0ICgkY29udGVudF9zaXplIGJ5dGVzIGV4cGVjdGVkOyAkYnl0ZXNfcmVhZCBieXRlcyByZWFkKSI7CisJCX0KKwkJcmV0dXJuICggMCwgJGJ1ZmZlciApOworCX0KKwllbHNlIHsKKwkJZGllICJpbnZhbGlkIHBhY2tldCBzaXplOiAkcGt0X3NpemUiOworCX0KK30KKworc3ViIHBhY2tldF90eHRfcmVhZCB7CisJbXkgKCAkcmVzLCAkYnVmICkgPSBwYWNrZXRfYmluX3JlYWQoKTsKKwl1bmxlc3MgKCAkYnVmID1+IHMvXG4kLy8gKSB7CisJCWRpZSAiQSBub24tYmluYXJ5IGxpbmUgTVVTVCBiZSB0ZXJtaW5hdGVkIGJ5IGFuIExGLiI7CisJfQorCXJldHVybiAoICRyZXMsICRidWYgKTsKK30KKworc3ViIHBhY2tldF9iaW5fd3JpdGUgeworCW15ICRidWYgPSBzaGlmdDsKKwlwcmludCBTVERPVVQgc3ByaW50ZiggIiUwNHgiLCBsZW5ndGgoJGJ1ZikgKyA0ICk7CisJcHJpbnQgU1RET1VUICRidWY7CisJU1RET1VULT5mbHVzaCgpOworfQorCitzdWIgcGFja2V0X3R4dF93cml0ZSB7CisJcGFja2V0X2Jpbl93cml0ZSggJF9bMF0gLiAiXG4iICk7Cit9CisKK3N1YiBwYWNrZXRfZmx1c2ggeworCXByaW50IFNURE9VVCBzcHJpbnRmKCAiJTA0eCIsIDAgKTsKKwlTVERPVVQtPmZsdXNoKCk7Cit9CisKKyggcGFja2V0X3R4dF9yZWFkKCkgZXEgKCAwLCAiZ2l0LWZpbHRlci1jbGllbnQiICkgKSB8fCBkaWUgImJhZCBpbml0aWFsaXplIjsKKyggcGFja2V0X3R4dF9yZWFkKCkgZXEgKCAwLCAidmVyc2lvbj0yIiApICkgICAgICAgICB8fCBkaWUgImJhZCB2ZXJzaW9uIjsKKyggcGFja2V0X2Jpbl9yZWFkKCkgZXEgKCAxLCAiIiApICkgICAgICAgICAgICAgICAgICB8fCBkaWUgImJhZCB2ZXJzaW9uIGVuZCI7CisKK3BhY2tldF90eHRfd3JpdGUoImdpdC1maWx0ZXItc2VydmVyIik7CitwYWNrZXRfdHh0X3dyaXRlKCJ2ZXJzaW9uPTIiKTsKK3BhY2tldF9mbHVzaCgpOworCisoIHBhY2tldF90eHRfcmVhZCgpIGVxICggMCwgImNhcGFiaWxpdHk9Y2xlYW4iICkgKSAgfHwgZGllICJiYWQgY2FwYWJpbGl0eSI7CisoIHBhY2tldF90eHRfcmVhZCgpIGVxICggMCwgImNhcGFiaWxpdHk9c211ZGdlIiApICkgfHwgZGllICJiYWQgY2FwYWJpbGl0eSI7CisoIHBhY2tldF9iaW5fcmVhZCgpIGVxICggMSwgIiIgKSApICAgICAgICAgICAgICAgICAgfHwgZGllICJiYWQgY2FwYWJpbGl0eSBlbmQiOworCitwYWNrZXRfdHh0X3dyaXRlKCJjYXBhYmlsaXR5PWNsZWFuIik7CitwYWNrZXRfdHh0X3dyaXRlKCJjYXBhYmlsaXR5PXNtdWRnZSIpOworcGFja2V0X2ZsdXNoKCk7CisKK3doaWxlICgxKSB7CisJbXkgKCRjb21tYW5kKSAgPSBwYWNrZXRfdHh0X3JlYWQoKSA9fiAvXmNvbW1hbmQ9KFtePV0rKSQvOworCW15ICgkcGF0aG5hbWUpID0gcGFja2V0X3R4dF9yZWFkKCkgPX4gL15wYXRobmFtZT0oW149XSspJC87CisKKwlwYWNrZXRfYmluX3JlYWQoKTsKKworCW15ICRpbnB1dCA9ICIiOworCXsKKwkJYmlubW9kZShTVERJTik7CisJCW15ICRidWZmZXI7CisJCW15ICRkb25lID0gMDsKKwkJd2hpbGUgKCAhJGRvbmUgKSB7CisJCQkoICRkb25lLCAkYnVmZmVyICkgPSBwYWNrZXRfYmluX3JlYWQoKTsKKwkJCSRpbnB1dCAuPSAkYnVmZmVyOworCQl9CisJfQorCisJbXkgJG91dHB1dDsKKwlpZiAoICRjb21tYW5kIGVxICJjbGVhbiIgKSB7CisJCSMjIyBQZXJmb3JtIGNsZWFuIGhlcmUgIyMjCisJCSRvdXRwdXQgPSAkaW5wdXQ7CisJfQorCWVsc2lmICggJGNvbW1hbmQgZXEgInNtdWRnZSIgKSB7CisJCSMjIyBQZXJmb3JtIHNtdWRnZSBoZXJlICMjIworCQkkb3V0cHV0ID0gJGlucHV0OworCX0KKwllbHNlIHsKKwkJZGllICJiYWQgY29tbWFuZCAnJGNvbW1hbmQnIjsKKwl9CisKKwlwYWNrZXRfdHh0X3dyaXRlKCJzdGF0dXM9c3VjY2VzcyIpOworCXBhY2tldF9mbHVzaCgpOworCXdoaWxlICggbGVuZ3RoKCRvdXRwdXQpID4gMCApIHsKKwkJbXkgJHBhY2tldCA9IHN1YnN0ciggJG91dHB1dCwgMCwgJE1BWF9QQUNLRVRfQ09OVEVOVF9TSVpFICk7CisJCXBhY2tldF9iaW5fd3JpdGUoJHBhY2tldCk7CisJCWlmICggbGVuZ3RoKCRvdXRwdXQpID4gJE1BWF9QQUNLRVRfQ09OVEVOVF9TSVpFICkgeworCQkJJG91dHB1dCA9IHN1YnN0ciggJG91dHB1dCwgJE1BWF9QQUNLRVRfQ09OVEVOVF9TSVpFICk7CisJCX0KKwkJZWxzZSB7CisJCQkkb3V0cHV0ID0gIiI7CisJCX0KKwl9CisJcGFja2V0X2ZsdXNoKCk7ICAgICMgZmx1c2ggY29udGVudCEKKwlwYWNrZXRfZmx1c2goKTsgICAgIyBlbXB0eSBsaXN0LCBrZWVwICJzdGF0dXM9c3VjY2VzcyIgdW5jaGFuZ2VkIQorCit9CmRpZmYgLS1naXQgYS9jb250cmliL213LXRvLWdpdC8ucGVybGNyaXRpY3JjIGIvY29udHJpYi9tdy10by1naXQvLnBlcmxjcml0aWNyYwppbmRleCA1YTk5NTVkLi4xNTg5NThkIDEwMDY0NAotLS0gYS9jb250cmliL213LXRvLWdpdC8ucGVybGNyaXRpY3JjCisrKyBiL2NvbnRyaWIvbXctdG8tZ2l0Ly5wZXJsY3JpdGljcmMKQEAgLTE5LDcgKzE5LDcgQEAKIFtJbnB1dE91dHB1dDo6UmVxdWlyZUNoZWNrZWRTeXNjYWxsc10KIGZ1bmN0aW9ucyA9IG9wZW4gc2F5IGNsb3NlCiAKLSMgVGhpcyBydWxlcyBkZW1hbmRzIHRvIGFkZCBhIGRlcGVuZGFuY3kgZm9yIHRoZSBSZWFkb25seSBtb2R1bGUuIFRoaXMgaXMgbm90CisjIFRoaXMgcnVsZSBkZW1hbmRzIHRvIGFkZCBhIGRlcGVuZGVuY3kgZm9yIHRoZSBSZWFkb25seSBtb2R1bGUuIFRoaXMgaXMgbm90CiAjIHdpc2hlZC4KIFstVmFsdWVzQW5kRXhwcmVzc2lvbnM6OlByb2hpYml0Q29uc3RhbnRQcmFnbWFdCiAKZGlmZiAtLWdpdCBhL2NvbnRyaWIvbXctdG8tZ2l0L2dpdC1yZW1vdGUtbWVkaWF3aWtpLnBlcmwgYi9jb250cmliL213LXRvLWdpdC9naXQtcmVtb3RlLW1lZGlhd2lraS5wZXJsCmluZGV4IDhkZDc0YTkuLjQxZTc0ZmIgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvbXctdG8tZ2l0L2dpdC1yZW1vdGUtbWVkaWF3aWtpLnBlcmwKKysrIGIvY29udHJpYi9tdy10by1naXQvZ2l0LXJlbW90ZS1tZWRpYXdpa2kucGVybApAQCAtOTYzLDcgKzk2Myw3IEBACiAJCXByaW50IHsqU1RERVJSfSAiQ2hlY2sgdGhlIGNvbmZpZ3VyYXRpb24gb2YgZmlsZSB1cGxvYWRzIGluIHlvdXIgbWVkaWF3aWtpLlxuIjsKIAkJcmV0dXJuICRuZXdyZXZpZDsKIAl9Ci0JIyBEZWxldGluZyBhbmQgdXBsb2FkaW5nIGEgZmlsZSByZXF1aXJlcyBhIHByaXZpbGVkZ2VkIHVzZXIKKwkjIERlbGV0aW5nIGFuZCB1cGxvYWRpbmcgYSBmaWxlIHJlcXVpcmVzIGEgcHJpdmlsZWdlZCB1c2VyCiAJaWYgKCRmaWxlX2RlbGV0ZWQpIHsKIAkJJG1lZGlhd2lraSA9IGNvbm5lY3RfbWF5YmUoJG1lZGlhd2lraSwgJHJlbW90ZW5hbWUsICR1cmwpOwogCQlteSAkcXVlcnkgPSB7CmRpZmYgLS1naXQgYS9jb250cmliL3BlcnNpc3RlbnQtaHR0cHMvTWFrZWZpbGUgYi9jb250cmliL3BlcnNpc3RlbnQtaHR0cHMvTWFrZWZpbGUKaW5kZXggOTJiYWEzYi4uNTJiODRiYSAxMDA2NDQKLS0tIGEvY29udHJpYi9wZXJzaXN0ZW50LWh0dHBzL01ha2VmaWxlCisrKyBiL2NvbnRyaWIvcGVyc2lzdGVudC1odHRwcy9NYWtlZmlsZQpAQCAtMTIsNyArMTIsNyBAQAogIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogCi1CVUlMRF9MQUJFTD0kKHNoZWxsIGRhdGUgKyIlcyIpCitCVUlMRF9MQUJFTD0kKHNoZWxsIGN1dCAtZCIgIiAtZjMgLi4vLi4vR0lULVZFUlNJT04tRklMRSkKIFRBUl9PVVQ9JChzaGVsbCBnbyBlbnYgR09PUylfJChzaGVsbCBnbyBlbnYgR09BUkNIKS50YXIuZ3oKIAogYWxsOiBnaXQtcmVtb3RlLXBlcnNpc3RlbnQtaHR0cHMgZ2l0LXJlbW90ZS1wZXJzaXN0ZW50LWh0dHBzLS1wcm94eSBcCkBAIC0yNSw4ICsyNSwxMCBAQAogCWxuIC1mIC1zIGdpdC1yZW1vdGUtcGVyc2lzdGVudC1odHRwcyBnaXQtcmVtb3RlLXBlcnNpc3RlbnQtaHR0cAogCiBnaXQtcmVtb3RlLXBlcnNpc3RlbnQtaHR0cHM6CisJY2FzZSAkJChnbyB2ZXJzaW9uKSBpbiBcCisJImdvIHZlcnNpb24gZ28iMS5bMC01XS4qKSBFUT0iICIgOzsgKikgRVE9Ij0iIDs7IGVzYWMgJiYgXAogCWdvIGJ1aWxkIC1vIGdpdC1yZW1vdGUtcGVyc2lzdGVudC1odHRwcyBcCi0JCS1sZGZsYWdzICItWCBtYWluLl9CVUlMRF9FTUJFRF9MQUJFTCAkKEJVSUxEX0xBQkVMKSIKKwkJLWxkZmxhZ3MgIi1YIG1haW4uX0JVSUxEX0VNQkVEX0xBQkVMJCR7RVF9JChCVUlMRF9MQUJFTCkiCiAKIGNsZWFuOgogCXJtIC1mIGdpdC1yZW1vdGUtcGVyc2lzdGVudC1odHRwKiAqLnRhci5negpkaWZmIC0tZ2l0IGEvY29udHJpYi9zdWJ0cmVlL2dpdC1zdWJ0cmVlLnNoIGIvY29udHJpYi9zdWJ0cmVlL2dpdC1zdWJ0cmVlLnNoCmluZGV4IDdhMzliMzAuLmRlYzA4NWEgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvc3VidHJlZS9naXQtc3VidHJlZS5zaAorKysgYi9jb250cmliL3N1YnRyZWUvZ2l0LXN1YnRyZWUuc2gKQEAgLTQsOCArNCw5IEBACiAjCiAjIENvcHlyaWdodCAoQykgMjAwOSBBdmVyeSBQZW5uYXJ1biA8YXBlbndhcnJAZ21haWwuY29tPgogIwotaWYgWyAkIyAtZXEgMCBdOyB0aGVuCi0gICAgc2V0IC0tIC1oCitpZiB0ZXN0ICQjIC1lcSAwCit0aGVuCisJc2V0IC0tIC1oCiBmaQogT1BUU19TUEVDPSJcCiBnaXQgc3VidHJlZSBhZGQgICAtLXByZWZpeD08cHJlZml4PiA8Y29tbWl0PgpAQCAtNDgsODkgKzQ5LDE0NCBAQAogbWVzc2FnZT0KIHByZWZpeD0KIAotZGVidWcoKQotewotCWlmIFsgLW4gIiRkZWJ1ZyIgXTsgdGhlbgorZGVidWcgKCkgeworCWlmIHRlc3QgLW4gIiRkZWJ1ZyIKKwl0aGVuCiAJCXByaW50ZiAiJXNcbiIgIiQqIiA+JjIKIAlmaQogfQogCi1zYXkoKQotewotCWlmIFsgLXogIiRxdWlldCIgXTsgdGhlbgorc2F5ICgpIHsKKwlpZiB0ZXN0IC16ICIkcXVpZXQiCisJdGhlbgogCQlwcmludGYgIiVzXG4iICIkKiIgPiYyCiAJZmkKIH0KIAotcHJvZ3Jlc3MoKQotewotCWlmIFsgLXogIiRxdWlldCIgXTsgdGhlbgorcHJvZ3Jlc3MgKCkgeworCWlmIHRlc3QgLXogIiRxdWlldCIKKwl0aGVuCiAJCXByaW50ZiAiJXNcciIgIiQqIiA+JjIKIAlmaQogfQogCi1hc3NlcnQoKQotewotCWlmICIkQCI7IHRoZW4KLQkJOgotCWVsc2UKK2Fzc2VydCAoKSB7CisJaWYgISAiJEAiCisJdGhlbgogCQlkaWUgImFzc2VydGlvbiBmYWlsZWQ6ICIgIiRAIgogCWZpCiB9CiAKIAotI2VjaG8gIk9wdGlvbnM6ICQqIgotCi13aGlsZSBbICQjIC1ndCAwIF07IGRvCit3aGlsZSB0ZXN0ICQjIC1ndCAwCitkbwogCW9wdD0iJDEiCiAJc2hpZnQKKwogCWNhc2UgIiRvcHQiIGluCi0JCS1xKSBxdWlldD0xIDs7Ci0JCS1kKSBkZWJ1Zz0xIDs7Ci0JCS0tYW5ub3RhdGUpIGFubm90YXRlPSIkMSI7IHNoaWZ0IDs7Ci0JCS0tbm8tYW5ub3RhdGUpIGFubm90YXRlPSA7OwotCQktYikgYnJhbmNoPSIkMSI7IHNoaWZ0IDs7Ci0JCS1QKSBwcmVmaXg9IiR7MSUvfSI7IHNoaWZ0IDs7Ci0JCS1tKSBtZXNzYWdlPSIkMSI7IHNoaWZ0IDs7Ci0JCS0tbm8tcHJlZml4KSBwcmVmaXg9IDs7Ci0JCS0tb250bykgb250bz0iJDEiOyBzaGlmdCA7OwotCQktLW5vLW9udG8pIG9udG89IDs7Ci0JCS0tcmVqb2luKSByZWpvaW49MSA7OwotCQktLW5vLXJlam9pbikgcmVqb2luPSA7OwotCQktLWlnbm9yZS1qb2lucykgaWdub3JlX2pvaW5zPTEgOzsKLQkJLS1uby1pZ25vcmUtam9pbnMpIGlnbm9yZV9qb2lucz0gOzsKLQkJLS1zcXVhc2gpIHNxdWFzaD0xIDs7Ci0JCS0tbm8tc3F1YXNoKSBzcXVhc2g9IDs7Ci0JCS0tKSBicmVhayA7OwotCQkqKSBkaWUgIlVuZXhwZWN0ZWQgb3B0aW9uOiAkb3B0IiA7OworCS1xKQorCQlxdWlldD0xCisJCTs7CisJLWQpCisJCWRlYnVnPTEKKwkJOzsKKwktLWFubm90YXRlKQorCQlhbm5vdGF0ZT0iJDEiCisJCXNoaWZ0CisJCTs7CisJLS1uby1hbm5vdGF0ZSkKKwkJYW5ub3RhdGU9CisJCTs7CisJLWIpCisJCWJyYW5jaD0iJDEiCisJCXNoaWZ0CisJCTs7CisJLVApCisJCXByZWZpeD0iJHsxJS99IgorCQlzaGlmdAorCQk7OworCS1tKQorCQltZXNzYWdlPSIkMSIKKwkJc2hpZnQKKwkJOzsKKwktLW5vLXByZWZpeCkKKwkJcHJlZml4PQorCQk7OworCS0tb250bykKKwkJb250bz0iJDEiCisJCXNoaWZ0CisJCTs7CisJLS1uby1vbnRvKQorCQlvbnRvPQorCQk7OworCS0tcmVqb2luKQorCQlyZWpvaW49MQorCQk7OworCS0tbm8tcmVqb2luKQorCQlyZWpvaW49CisJCTs7CisJLS1pZ25vcmUtam9pbnMpCisJCWlnbm9yZV9qb2lucz0xCisJCTs7CisJLS1uby1pZ25vcmUtam9pbnMpCisJCWlnbm9yZV9qb2lucz0KKwkJOzsKKwktLXNxdWFzaCkKKwkJc3F1YXNoPTEKKwkJOzsKKwktLW5vLXNxdWFzaCkKKwkJc3F1YXNoPQorCQk7OworCS0tKQorCQlicmVhaworCQk7OworCSopCisJCWRpZSAiVW5leHBlY3RlZCBvcHRpb246ICRvcHQiCisJCTs7CiAJZXNhYwogZG9uZQogCiBjb21tYW5kPSIkMSIKIHNoaWZ0CisKIGNhc2UgIiRjb21tYW5kIiBpbgotCWFkZHxtZXJnZXxwdWxsKSBkZWZhdWx0PSA7OwotCXNwbGl0fHB1c2gpIGRlZmF1bHQ9Ii0tZGVmYXVsdCBIRUFEIiA7OwotCSopIGRpZSAiVW5rbm93biBjb21tYW5kICckY29tbWFuZCciIDs7CithZGR8bWVyZ2V8cHVsbCkKKwlkZWZhdWx0PQorCTs7CitzcGxpdHxwdXNoKQorCWRlZmF1bHQ9Ii0tZGVmYXVsdCBIRUFEIgorCTs7CisqKQorCWRpZSAiVW5rbm93biBjb21tYW5kICckY29tbWFuZCciCisJOzsKIGVzYWMKIAotaWYgWyAteiAiJHByZWZpeCIgXTsgdGhlbgoraWYgdGVzdCAteiAiJHByZWZpeCIKK3RoZW4KIAlkaWUgIllvdSBtdXN0IHByb3ZpZGUgdGhlIC0tcHJlZml4IG9wdGlvbi4iCiBmaQogCiBjYXNlICIkY29tbWFuZCIgaW4KLQlhZGQpIFsgLWUgIiRwcmVmaXgiIF0gJiYgCi0JCWRpZSAicHJlZml4ICckcHJlZml4JyBhbHJlYWR5IGV4aXN0cy4iIDs7Ci0JKikgICBbIC1lICIkcHJlZml4IiBdIHx8IAotCQlkaWUgIickcHJlZml4JyBkb2VzIG5vdCBleGlzdDsgdXNlICdnaXQgc3VidHJlZSBhZGQnIiA7OworYWRkKQorCXRlc3QgLWUgIiRwcmVmaXgiICYmCisJCWRpZSAicHJlZml4ICckcHJlZml4JyBhbHJlYWR5IGV4aXN0cy4iCisJOzsKKyopCisJdGVzdCAtZSAiJHByZWZpeCIgfHwKKwkJZGllICInJHByZWZpeCcgZG9lcyBub3QgZXhpc3Q7IHVzZSAnZ2l0IHN1YnRyZWUgYWRkJyIKKwk7OwogZXNhYwogCiBkaXI9IiQoZGlybmFtZSAiJHByZWZpeC8uIikiCiAKLWlmIFsgIiRjb21tYW5kIiAhPSAicHVsbCIgLWEgIiRjb21tYW5kIiAhPSAiYWRkIiAtYSAiJGNvbW1hbmQiICE9ICJwdXNoIiBdOyB0aGVuCitpZiB0ZXN0ICIkY29tbWFuZCIgIT0gInB1bGwiICYmCisJCXRlc3QgIiRjb21tYW5kIiAhPSAiYWRkIiAmJgorCQl0ZXN0ICIkY29tbWFuZCIgIT0gInB1c2giCit0aGVuCiAJcmV2cz0kKGdpdCByZXYtcGFyc2UgJGRlZmF1bHQgLS1yZXZzLW9ubHkgIiRAIikgfHwgZXhpdCAkPwotCWRpcnM9IiQoZ2l0IHJldi1wYXJzZSAtLW5vLXJldnMgLS1uby1mbGFncyAiJEAiKSIgfHwgZXhpdCAkPwotCWlmIFsgLW4gIiRkaXJzIiBdOyB0aGVuCisJZGlycz0kKGdpdCByZXYtcGFyc2UgLS1uby1yZXZzIC0tbm8tZmxhZ3MgIiRAIikgfHwgZXhpdCAkPworCWlmIHRlc3QgLW4gIiRkaXJzIgorCXRoZW4KIAkJZGllICJFcnJvcjogVXNlIC0tcHJlZml4IGluc3RlYWQgb2YgYmFyZSBmaWxlbmFtZXMuIgogCWZpCiBmaQpAQCAtMTQyLDc4ICsxOTgsODIgQEAKIGRlYnVnICJvcHRzOiB7JCp9IgogZGVidWcKIAotY2FjaGVfc2V0dXAoKQoteworY2FjaGVfc2V0dXAgKCkgewogCWNhY2hlZGlyPSIkR0lUX0RJUi9zdWJ0cmVlLWNhY2hlLyQkIgotCXJtIC1yZiAiJGNhY2hlZGlyIiB8fCBkaWUgIkNhbid0IGRlbGV0ZSBvbGQgY2FjaGVkaXI6ICRjYWNoZWRpciIKLQlta2RpciAtcCAiJGNhY2hlZGlyIiB8fCBkaWUgIkNhbid0IGNyZWF0ZSBuZXcgY2FjaGVkaXI6ICRjYWNoZWRpciIKLQlta2RpciAtcCAiJGNhY2hlZGlyL25vdHJlZSIgfHwgZGllICJDYW4ndCBjcmVhdGUgbmV3IGNhY2hlZGlyOiAkY2FjaGVkaXIvbm90cmVlIgorCXJtIC1yZiAiJGNhY2hlZGlyIiB8fAorCQlkaWUgIkNhbid0IGRlbGV0ZSBvbGQgY2FjaGVkaXI6ICRjYWNoZWRpciIKKwlta2RpciAtcCAiJGNhY2hlZGlyIiB8fAorCQlkaWUgIkNhbid0IGNyZWF0ZSBuZXcgY2FjaGVkaXI6ICRjYWNoZWRpciIKKwlta2RpciAtcCAiJGNhY2hlZGlyL25vdHJlZSIgfHwKKwkJZGllICJDYW4ndCBjcmVhdGUgbmV3IGNhY2hlZGlyOiAkY2FjaGVkaXIvbm90cmVlIgogCWRlYnVnICJVc2luZyBjYWNoZWRpcjogJGNhY2hlZGlyIiA+JjIKIH0KIAotY2FjaGVfZ2V0KCkKLXsKLQlmb3Igb2xkcmV2IGluICQqOyBkbwotCQlpZiBbIC1yICIkY2FjaGVkaXIvJG9sZHJldiIgXTsgdGhlbgorY2FjaGVfZ2V0ICgpIHsKKwlmb3Igb2xkcmV2IGluICIkQCIKKwlkbworCQlpZiB0ZXN0IC1yICIkY2FjaGVkaXIvJG9sZHJldiIKKwkJdGhlbgogCQkJcmVhZCBuZXdyZXYgPCIkY2FjaGVkaXIvJG9sZHJldiIKIAkJCWVjaG8gJG5ld3JldgogCQlmaQogCWRvbmUKIH0KIAotY2FjaGVfbWlzcygpCi17Ci0JZm9yIG9sZHJldiBpbiAkKjsgZG8KLQkJaWYgWyAhIC1yICIkY2FjaGVkaXIvJG9sZHJldiIgXTsgdGhlbgorY2FjaGVfbWlzcyAoKSB7CisJZm9yIG9sZHJldiBpbiAiJEAiCisJZG8KKwkJaWYgISB0ZXN0IC1yICIkY2FjaGVkaXIvJG9sZHJldiIKKwkJdGhlbgogCQkJZWNobyAkb2xkcmV2CiAJCWZpCiAJZG9uZQogfQogCi1jaGVja19wYXJlbnRzKCkKLXsKLQltaXNzZWQ9JChjYWNoZV9taXNzICQqKQotCWZvciBtaXNzIGluICRtaXNzZWQ7IGRvCi0JCWlmIFsgISAtciAiJGNhY2hlZGlyL25vdHJlZS8kbWlzcyIgXTsgdGhlbgorY2hlY2tfcGFyZW50cyAoKSB7CisJbWlzc2VkPSQoY2FjaGVfbWlzcyAiJEAiKQorCWZvciBtaXNzIGluICRtaXNzZWQKKwlkbworCQlpZiAhIHRlc3QgLXIgIiRjYWNoZWRpci9ub3RyZWUvJG1pc3MiCisJCXRoZW4KIAkJCWRlYnVnICIgIGluY29ycmVjdCBvcmRlcjogJG1pc3MiCiAJCWZpCiAJZG9uZQogfQogCi1zZXRfbm90cmVlKCkKLXsKK3NldF9ub3RyZWUgKCkgewogCWVjaG8gIjEiID4gIiRjYWNoZWRpci9ub3RyZWUvJDEiCiB9CiAKLWNhY2hlX3NldCgpCi17CitjYWNoZV9zZXQgKCkgewogCW9sZHJldj0iJDEiCiAJbmV3cmV2PSIkMiIKLQlpZiBbICIkb2xkcmV2IiAhPSAibGF0ZXN0X29sZCIgXAotCSAgICAgLWEgIiRvbGRyZXYiICE9ICJsYXRlc3RfbmV3IiBcCi0JICAgICAtYSAtZSAiJGNhY2hlZGlyLyRvbGRyZXYiIF07IHRoZW4KKwlpZiB0ZXN0ICIkb2xkcmV2IiAhPSAibGF0ZXN0X29sZCIgJiYKKwkJdGVzdCAiJG9sZHJldiIgIT0gImxhdGVzdF9uZXciICYmCisJCXRlc3QgLWUgIiRjYWNoZWRpci8kb2xkcmV2IgorCXRoZW4KIAkJZGllICJjYWNoZSBmb3IgJG9sZHJldiBhbHJlYWR5IGV4aXN0cyEiCiAJZmkKIAllY2hvICIkbmV3cmV2IiA+IiRjYWNoZWRpci8kb2xkcmV2IgogfQogCi1yZXZfZXhpc3RzKCkKLXsKLQlpZiBnaXQgcmV2LXBhcnNlICIkMSIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCityZXZfZXhpc3RzICgpIHsKKwlpZiBnaXQgcmV2LXBhcnNlICIkMSIgPi9kZXYvbnVsbCAyPiYxCisJdGhlbgogCQlyZXR1cm4gMAogCWVsc2UKIAkJcmV0dXJuIDEKIAlmaQogfQogCi1yZXZfaXNfZGVzY2VuZGFudF9vZl9icmFuY2goKQoteworcmV2X2lzX2Rlc2NlbmRhbnRfb2ZfYnJhbmNoICgpIHsKIAluZXdyZXY9IiQxIgogCWJyYW5jaD0iJDIiCi0JYnJhbmNoX2hhc2g9JChnaXQgcmV2LXBhcnNlICRicmFuY2gpCi0JbWF0Y2g9JChnaXQgcmV2LWxpc3QgLTEgJGJyYW5jaF9oYXNoIF4kbmV3cmV2KQorCWJyYW5jaF9oYXNoPSQoZ2l0IHJldi1wYXJzZSAiJGJyYW5jaCIpCisJbWF0Y2g9JChnaXQgcmV2LWxpc3QgLTEgIiRicmFuY2hfaGFzaCIgIl4kbmV3cmV2IikKIAotCWlmIFsgLXogIiRtYXRjaCIgXTsgdGhlbgorCWlmIHRlc3QgLXogIiRtYXRjaCIKKwl0aGVuCiAJCXJldHVybiAwCiAJZWxzZQogCQlyZXR1cm4gMQpAQCAtMjIzLDE1ICsyODMsMTQgQEAKICMgaWYgYSBjb21taXQgZG9lc24ndCBoYXZlIGEgcGFyZW50LCB0aGlzIG1pZ2h0IG5vdCB3b3JrLiAgQnV0IHdlIG9ubHkgd2FudAogIyB0byByZW1vdmUgdGhlIHBhcmVudCBmcm9tIHRoZSByZXYtbGlzdCwgYW5kIHNpbmNlIGl0IGRvZXNuJ3QgZXhpc3QsIGl0IHdvbid0CiAjIGJlIHRoZXJlIGFueXdheSwgc28gZG8gbm90aGluZyBpbiB0aGF0IGNhc2UuCi10cnlfcmVtb3ZlX3ByZXZpb3VzKCkKLXsKLQlpZiByZXZfZXhpc3RzICIkMV4iOyB0aGVuCit0cnlfcmVtb3ZlX3ByZXZpb3VzICgpIHsKKwlpZiByZXZfZXhpc3RzICIkMV4iCisJdGhlbgogCQllY2hvICJeJDFeIgogCWZpCiB9CiAKLWZpbmRfbGF0ZXN0X3NxdWFzaCgpCi17CitmaW5kX2xhdGVzdF9zcXVhc2ggKCkgewogCWRlYnVnICJMb29raW5nIGZvciBsYXRlc3Qgc3F1YXNoICgkZGlyKS4uLiIKIAlkaXI9IiQxIgogCXNxPQpAQCAtMjM5LDM3ICsyOTgsNDMgQEAKIAlzdWI9CiAJZ2l0IGxvZyAtLWdyZXA9Il5naXQtc3VidHJlZS1kaXI6ICRkaXIvKlwkIiBcCiAJCS0tcHJldHR5PWZvcm1hdDonU1RBUlQgJUglbiVzJW4lbiViJW5FTkQlbicgSEVBRCB8Ci0Jd2hpbGUgcmVhZCBhIGIganVuazsgZG8KKwl3aGlsZSByZWFkIGEgYiBqdW5rCisJZG8KIAkJZGVidWcgIiRhICRiICRqdW5rIgogCQlkZWJ1ZyAie3skc3EvJG1haW4vJHN1Yn19IgogCQljYXNlICIkYSIgaW4KLQkJCVNUQVJUKSBzcT0iJGIiIDs7Ci0JCQlnaXQtc3VidHJlZS1tYWlubGluZTopIG1haW49IiRiIiA7OwotCQkJZ2l0LXN1YnRyZWUtc3BsaXQ6KQotCQkJCXN1Yj0iJChnaXQgcmV2LXBhcnNlICIkYl4wIikiIHx8Ci0JCQkJICAgIGRpZSAiY291bGQgbm90IHJldi1wYXJzZSBzcGxpdCBoYXNoICRiIGZyb20gY29tbWl0ICRzcSIKLQkJCQk7OwotCQkJRU5EKQotCQkJCWlmIFsgLW4gIiRzdWIiIF07IHRoZW4KLQkJCQkJaWYgWyAtbiAiJG1haW4iIF07IHRoZW4KLQkJCQkJCSMgYSByZWpvaW4gY29tbWl0PwotCQkJCQkJIyBQcmV0ZW5kIGl0cyBzdWIgd2FzIGEgc3F1YXNoLgotCQkJCQkJc3E9IiRzdWIiCi0JCQkJCWZpCi0JCQkJCWRlYnVnICJTcXVhc2ggZm91bmQ6ICRzcSAkc3ViIgotCQkJCQllY2hvICIkc3EiICIkc3ViIgotCQkJCQlicmVhaworCQlTVEFSVCkKKwkJCXNxPSIkYiIKKwkJCTs7CisJCWdpdC1zdWJ0cmVlLW1haW5saW5lOikKKwkJCW1haW49IiRiIgorCQkJOzsKKwkJZ2l0LXN1YnRyZWUtc3BsaXQ6KQorCQkJc3ViPSIkKGdpdCByZXYtcGFyc2UgIiRiXjAiKSIgfHwKKwkJCWRpZSAiY291bGQgbm90IHJldi1wYXJzZSBzcGxpdCBoYXNoICRiIGZyb20gY29tbWl0ICRzcSIKKwkJCTs7CisJCUVORCkKKwkJCWlmIHRlc3QgLW4gIiRzdWIiCisJCQl0aGVuCisJCQkJaWYgdGVzdCAtbiAiJG1haW4iCisJCQkJdGhlbgorCQkJCQkjIGEgcmVqb2luIGNvbW1pdD8KKwkJCQkJIyBQcmV0ZW5kIGl0cyBzdWIgd2FzIGEgc3F1YXNoLgorCQkJCQlzcT0iJHN1YiIKIAkJCQlmaQotCQkJCXNxPQotCQkJCW1haW49Ci0JCQkJc3ViPQotCQkJCTs7CisJCQkJZGVidWcgIlNxdWFzaCBmb3VuZDogJHNxICRzdWIiCisJCQkJZWNobyAiJHNxIiAiJHN1YiIKKwkJCQlicmVhaworCQkJZmkKKwkJCXNxPQorCQkJbWFpbj0KKwkJCXN1Yj0KKwkJCTs7CiAJCWVzYWMKIAlkb25lCiB9CiAKLWZpbmRfZXhpc3Rpbmdfc3BsaXRzKCkKLXsKK2ZpbmRfZXhpc3Rpbmdfc3BsaXRzICgpIHsKIAlkZWJ1ZyAiTG9va2luZyBmb3IgcHJpb3Igc3BsaXRzLi4uIgogCWRpcj0iJDEiCiAJcmV2cz0iJDIiCkBAIC0yNzcsMzcgKzM0Miw0MyBAQAogCXN1Yj0KIAlnaXQgbG9nIC0tZ3JlcD0iXmdpdC1zdWJ0cmVlLWRpcjogJGRpci8qXCQiIFwKIAkJLS1wcmV0dHk9Zm9ybWF0OidTVEFSVCAlSCVuJXMlbiVuJWIlbkVORCVuJyAkcmV2cyB8Ci0Jd2hpbGUgcmVhZCBhIGIganVuazsgZG8KKwl3aGlsZSByZWFkIGEgYiBqdW5rCisJZG8KIAkJY2FzZSAiJGEiIGluCi0JCQlTVEFSVCkgc3E9IiRiIiA7OwotCQkJZ2l0LXN1YnRyZWUtbWFpbmxpbmU6KSBtYWluPSIkYiIgOzsKLQkJCWdpdC1zdWJ0cmVlLXNwbGl0OikKLQkJCQlzdWI9IiQoZ2l0IHJldi1wYXJzZSAiJGJeMCIpIiB8fAotCQkJCSAgICBkaWUgImNvdWxkIG5vdCByZXYtcGFyc2Ugc3BsaXQgaGFzaCAkYiBmcm9tIGNvbW1pdCAkc3EiCi0JCQkJOzsKLQkJCUVORCkKLQkJCQlkZWJ1ZyAiICBNYWluIGlzOiAnJG1haW4nIgotCQkJCWlmIFsgLXogIiRtYWluIiAtYSAtbiAiJHN1YiIgXTsgdGhlbgotCQkJCQkjIHNxdWFzaCBjb21taXRzIHJlZmVyIHRvIGEgc3VidHJlZQotCQkJCQlkZWJ1ZyAiICBTcXVhc2g6ICRzcSBmcm9tICRzdWIiCi0JCQkJCWNhY2hlX3NldCAiJHNxIiAiJHN1YiIKLQkJCQlmaQotCQkJCWlmIFsgLW4gIiRtYWluIiAtYSAtbiAiJHN1YiIgXTsgdGhlbgotCQkJCQlkZWJ1ZyAiICBQcmlvcjogJG1haW4gLT4gJHN1YiIKLQkJCQkJY2FjaGVfc2V0ICRtYWluICRzdWIKLQkJCQkJY2FjaGVfc2V0ICRzdWIgJHN1YgotCQkJCQl0cnlfcmVtb3ZlX3ByZXZpb3VzICIkbWFpbiIKLQkJCQkJdHJ5X3JlbW92ZV9wcmV2aW91cyAiJHN1YiIKLQkJCQlmaQotCQkJCW1haW49Ci0JCQkJc3ViPQotCQkJCTs7CisJCVNUQVJUKQorCQkJc3E9IiRiIgorCQkJOzsKKwkJZ2l0LXN1YnRyZWUtbWFpbmxpbmU6KQorCQkJbWFpbj0iJGIiCisJCQk7OworCQlnaXQtc3VidHJlZS1zcGxpdDopCisJCQlzdWI9IiQoZ2l0IHJldi1wYXJzZSAiJGJeMCIpIiB8fAorCQkJZGllICJjb3VsZCBub3QgcmV2LXBhcnNlIHNwbGl0IGhhc2ggJGIgZnJvbSBjb21taXQgJHNxIgorCQkJOzsKKwkJRU5EKQorCQkJZGVidWcgIiAgTWFpbiBpczogJyRtYWluJyIKKwkJCWlmIHRlc3QgLXogIiRtYWluIiAtYSAtbiAiJHN1YiIKKwkJCXRoZW4KKwkJCQkjIHNxdWFzaCBjb21taXRzIHJlZmVyIHRvIGEgc3VidHJlZQorCQkJCWRlYnVnICIgIFNxdWFzaDogJHNxIGZyb20gJHN1YiIKKwkJCQljYWNoZV9zZXQgIiRzcSIgIiRzdWIiCisJCQlmaQorCQkJaWYgdGVzdCAtbiAiJG1haW4iIC1hIC1uICIkc3ViIgorCQkJdGhlbgorCQkJCWRlYnVnICIgIFByaW9yOiAkbWFpbiAtPiAkc3ViIgorCQkJCWNhY2hlX3NldCAkbWFpbiAkc3ViCisJCQkJY2FjaGVfc2V0ICRzdWIgJHN1YgorCQkJCXRyeV9yZW1vdmVfcHJldmlvdXMgIiRtYWluIgorCQkJCXRyeV9yZW1vdmVfcHJldmlvdXMgIiRzdWIiCisJCQlmaQorCQkJbWFpbj0KKwkJCXN1Yj0KKwkJCTs7CiAJCWVzYWMKIAlkb25lCiB9CiAKLWNvcHlfY29tbWl0KCkKLXsKK2NvcHlfY29tbWl0ICgpIHsKIAkjIFdlJ3JlIGdvaW5nIHRvIHNldCBzb21lIGVudmlyb25tZW50IHZhcnMgaGVyZSwgc28KIAkjIGRvIGl0IGluIGEgc3Vic2hlbGwgdG8gZ2V0IHJpZCBvZiB0aGVtIHNhZmVseSBsYXRlcgogCWRlYnVnIGNvcHlfY29tbWl0ICJ7JDF9IiAieyQyfSIgInskM30iCkBAIC0zMjUsNjYgKzM5Niw2OSBAQAogCQkJR0lUX0NPTU1JVFRFUl9OQU1FIFwKIAkJCUdJVF9DT01NSVRURVJfRU1BSUwgXAogCQkJR0lUX0NPTU1JVFRFUl9EQVRFCi0JCShwcmludGYgIiVzIiAiJGFubm90YXRlIjsgY2F0ICkgfAorCQkoCisJCQlwcmludGYgIiVzIiAiJGFubm90YXRlIgorCQkJY2F0CisJCSkgfAogCQlnaXQgY29tbWl0LXRyZWUgIiQyIiAkMyAgIyByZWFkcyB0aGUgcmVzdCBvZiBzdGRpbgogCSkgfHwgZGllICJDYW4ndCBjb3B5IGNvbW1pdCAkMSIKIH0KIAotYWRkX21zZygpCi17CithZGRfbXNnICgpIHsKIAlkaXI9IiQxIgogCWxhdGVzdF9vbGQ9IiQyIgogCWxhdGVzdF9uZXc9IiQzIgotCWlmIFsgLW4gIiRtZXNzYWdlIiBdOyB0aGVuCisJaWYgdGVzdCAtbiAiJG1lc3NhZ2UiCisJdGhlbgogCQljb21taXRfbWVzc2FnZT0iJG1lc3NhZ2UiCiAJZWxzZQogCQljb21taXRfbWVzc2FnZT0iQWRkICckZGlyLycgZnJvbSBjb21taXQgJyRsYXRlc3RfbmV3JyIKIAlmaQogCWNhdCA8PC1FT0YKIAkJJGNvbW1pdF9tZXNzYWdlCi0JCQorCiAJCWdpdC1zdWJ0cmVlLWRpcjogJGRpcgogCQlnaXQtc3VidHJlZS1tYWlubGluZTogJGxhdGVzdF9vbGQKIAkJZ2l0LXN1YnRyZWUtc3BsaXQ6ICRsYXRlc3RfbmV3CiAJRU9GCiB9CiAKLWFkZF9zcXVhc2hlZF9tc2coKQotewotCWlmIFsgLW4gIiRtZXNzYWdlIiBdOyB0aGVuCithZGRfc3F1YXNoZWRfbXNnICgpIHsKKwlpZiB0ZXN0IC1uICIkbWVzc2FnZSIKKwl0aGVuCiAJCWVjaG8gIiRtZXNzYWdlIgogCWVsc2UKIAkJZWNobyAiTWVyZ2UgY29tbWl0ICckMScgYXMgJyQyJyIKIAlmaQogfQogCi1yZWpvaW5fbXNnKCkKLXsKK3Jlam9pbl9tc2cgKCkgewogCWRpcj0iJDEiCiAJbGF0ZXN0X29sZD0iJDIiCiAJbGF0ZXN0X25ldz0iJDMiCi0JaWYgWyAtbiAiJG1lc3NhZ2UiIF07IHRoZW4KKwlpZiB0ZXN0IC1uICIkbWVzc2FnZSIKKwl0aGVuCiAJCWNvbW1pdF9tZXNzYWdlPSIkbWVzc2FnZSIKIAllbHNlCiAJCWNvbW1pdF9tZXNzYWdlPSJTcGxpdCAnJGRpci8nIGludG8gY29tbWl0ICckbGF0ZXN0X25ldyciCiAJZmkKIAljYXQgPDwtRU9GCiAJCSRjb21taXRfbWVzc2FnZQotCQkKKwogCQlnaXQtc3VidHJlZS1kaXI6ICRkaXIKIAkJZ2l0LXN1YnRyZWUtbWFpbmxpbmU6ICRsYXRlc3Rfb2xkCiAJCWdpdC1zdWJ0cmVlLXNwbGl0OiAkbGF0ZXN0X25ldwogCUVPRgogfQogCi1zcXVhc2hfbXNnKCkKLXsKK3NxdWFzaF9tc2cgKCkgewogCWRpcj0iJDEiCiAJb2xkc3ViPSIkMiIKIAluZXdzdWI9IiQzIgogCW5ld3N1Yl9zaG9ydD0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAiJG5ld3N1YiIpCi0JCi0JaWYgWyAtbiAiJG9sZHN1YiIgXTsgdGhlbgorCisJaWYgdGVzdCAtbiAiJG9sZHN1YiIKKwl0aGVuCiAJCW9sZHN1Yl9zaG9ydD0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAiJG9sZHN1YiIpCiAJCWVjaG8gIlNxdWFzaGVkICckZGlyLycgY2hhbmdlcyBmcm9tICRvbGRzdWJfc2hvcnQuLiRuZXdzdWJfc2hvcnQiCiAJCWVjaG8KQEAgLTM5Myw0MSArNDY3LDQxIEBACiAJZWxzZQogCQllY2hvICJTcXVhc2hlZCAnJGRpci8nIGNvbnRlbnQgZnJvbSBjb21taXQgJG5ld3N1Yl9zaG9ydCIKIAlmaQotCQorCiAJZWNobwogCWVjaG8gImdpdC1zdWJ0cmVlLWRpcjogJGRpciIKIAllY2hvICJnaXQtc3VidHJlZS1zcGxpdDogJG5ld3N1YiIKIH0KIAotdG9wdHJlZV9mb3JfY29tbWl0KCkKLXsKK3RvcHRyZWVfZm9yX2NvbW1pdCAoKSB7CiAJY29tbWl0PSIkMSIKIAlnaXQgbG9nIC0xIC0tcHJldHR5PWZvcm1hdDonJVQnICIkY29tbWl0IiAtLSB8fCBleGl0ICQ/CiB9CiAKLXN1YnRyZWVfZm9yX2NvbW1pdCgpCi17CitzdWJ0cmVlX2Zvcl9jb21taXQgKCkgewogCWNvbW1pdD0iJDEiCiAJZGlyPSIkMiIKIAlnaXQgbHMtdHJlZSAiJGNvbW1pdCIgLS0gIiRkaXIiIHwKLQl3aGlsZSByZWFkIG1vZGUgdHlwZSB0cmVlIG5hbWU7IGRvCi0JCWFzc2VydCBbICIkbmFtZSIgPSAiJGRpciIgXQotCQlhc3NlcnQgWyAiJHR5cGUiID0gInRyZWUiIC1vICIkdHlwZSIgPSAiY29tbWl0IiBdCi0JCVsgIiR0eXBlIiA9ICJjb21taXQiIF0gJiYgY29udGludWUgICMgaWdub3JlIHN1Ym1vZHVsZXMKKwl3aGlsZSByZWFkIG1vZGUgdHlwZSB0cmVlIG5hbWUKKwlkbworCQlhc3NlcnQgdGVzdCAiJG5hbWUiID0gIiRkaXIiCisJCWFzc2VydCB0ZXN0ICIkdHlwZSIgPSAidHJlZSIgLW8gIiR0eXBlIiA9ICJjb21taXQiCisJCXRlc3QgIiR0eXBlIiA9ICJjb21taXQiICYmIGNvbnRpbnVlICAjIGlnbm9yZSBzdWJtb2R1bGVzCiAJCWVjaG8gJHRyZWUKIAkJYnJlYWsKIAlkb25lCiB9CiAKLXRyZWVfY2hhbmdlZCgpCi17Cit0cmVlX2NoYW5nZWQgKCkgewogCXRyZWU9JDEKIAlzaGlmdAotCWlmIFsgJCMgLW5lIDEgXTsgdGhlbgorCWlmIHRlc3QgJCMgLW5lIDEKKwl0aGVuCiAJCXJldHVybiAwICAgIyB3ZWlyZCBwYXJlbnRzLCBjb25zaWRlciBpdCBjaGFuZ2VkCiAJZWxzZQogCQlwdHJlZT0kKHRvcHRyZWVfZm9yX2NvbW1pdCAkMSkKLQkJaWYgWyAiJHB0cmVlIiAhPSAiJHRyZWUiIF07IHRoZW4KKwkJaWYgdGVzdCAiJHB0cmVlIiAhPSAiJHRyZWUiCisJCXRoZW4KIAkJCXJldHVybiAwICAgIyBjaGFuZ2VkCiAJCWVsc2UKIAkJCXJldHVybiAxICAgIyBub3QgY2hhbmdlZApAQCAtNDM1LDExOCArNTA5LDEyNyBAQAogCWZpCiB9CiAKLW5ld19zcXVhc2hfY29tbWl0KCkKLXsKK25ld19zcXVhc2hfY29tbWl0ICgpIHsKIAlvbGQ9IiQxIgogCW9sZHN1Yj0iJDIiCiAJbmV3c3ViPSIkMyIKIAl0cmVlPSQodG9wdHJlZV9mb3JfY29tbWl0ICRuZXdzdWIpIHx8IGV4aXQgJD8KLQlpZiBbIC1uICIkb2xkIiBdOyB0aGVuCi0JCXNxdWFzaF9tc2cgIiRkaXIiICIkb2xkc3ViIiAiJG5ld3N1YiIgfCAKLQkJCWdpdCBjb21taXQtdHJlZSAiJHRyZWUiIC1wICIkb2xkIiB8fCBleGl0ICQ/CisJaWYgdGVzdCAtbiAiJG9sZCIKKwl0aGVuCisJCXNxdWFzaF9tc2cgIiRkaXIiICIkb2xkc3ViIiAiJG5ld3N1YiIgfAorCQlnaXQgY29tbWl0LXRyZWUgIiR0cmVlIiAtcCAiJG9sZCIgfHwgZXhpdCAkPwogCWVsc2UKIAkJc3F1YXNoX21zZyAiJGRpciIgIiIgIiRuZXdzdWIiIHwKLQkJCWdpdCBjb21taXQtdHJlZSAiJHRyZWUiIHx8IGV4aXQgJD8KKwkJZ2l0IGNvbW1pdC10cmVlICIkdHJlZSIgfHwgZXhpdCAkPwogCWZpCiB9CiAKLWNvcHlfb3Jfc2tpcCgpCi17Citjb3B5X29yX3NraXAgKCkgewogCXJldj0iJDEiCiAJdHJlZT0iJDIiCiAJbmV3cGFyZW50cz0iJDMiCi0JYXNzZXJ0IFsgLW4gIiR0cmVlIiBdCisJYXNzZXJ0IHRlc3QgLW4gIiR0cmVlIgogCiAJaWRlbnRpY2FsPQogCW5vbmlkZW50aWNhbD0KIAlwPQogCWdvdHBhcmVudHM9Ci0JZm9yIHBhcmVudCBpbiAkbmV3cGFyZW50czsgZG8KKwlmb3IgcGFyZW50IGluICRuZXdwYXJlbnRzCisJZG8KIAkJcHRyZWU9JCh0b3B0cmVlX2Zvcl9jb21taXQgJHBhcmVudCkgfHwgZXhpdCAkPwotCQlbIC16ICIkcHRyZWUiIF0gJiYgY29udGludWUKLQkJaWYgWyAiJHB0cmVlIiA9ICIkdHJlZSIgXTsgdGhlbgorCQl0ZXN0IC16ICIkcHRyZWUiICYmIGNvbnRpbnVlCisJCWlmIHRlc3QgIiRwdHJlZSIgPSAiJHRyZWUiCisJCXRoZW4KIAkJCSMgYW4gaWRlbnRpY2FsIHBhcmVudCBjb3VsZCBiZSB1c2VkIGluIHBsYWNlIG9mIHRoaXMgcmV2LgogCQkJaWRlbnRpY2FsPSIkcGFyZW50IgogCQllbHNlCiAJCQlub25pZGVudGljYWw9IiRwYXJlbnQiCiAJCWZpCi0JCQorCiAJCSMgc29tZXRpbWVzIGJvdGggb2xkIHBhcmVudHMgbWFwIHRvIHRoZSBzYW1lIG5ld3BhcmVudDsKIAkJIyBlbGltaW5hdGUgZHVwbGljYXRlcwogCQlpc19uZXc9MQotCQlmb3IgZ3AgaW4gJGdvdHBhcmVudHM7IGRvCi0JCQlpZiBbICIkZ3AiID0gIiRwYXJlbnQiIF07IHRoZW4KKwkJZm9yIGdwIGluICRnb3RwYXJlbnRzCisJCWRvCisJCQlpZiB0ZXN0ICIkZ3AiID0gIiRwYXJlbnQiCisJCQl0aGVuCiAJCQkJaXNfbmV3PQogCQkJCWJyZWFrCiAJCQlmaQogCQlkb25lCi0JCWlmIFsgLW4gIiRpc19uZXciIF07IHRoZW4KKwkJaWYgdGVzdCAtbiAiJGlzX25ldyIKKwkJdGhlbgogCQkJZ290cGFyZW50cz0iJGdvdHBhcmVudHMgJHBhcmVudCIKIAkJCXA9IiRwIC1wICRwYXJlbnQiCiAJCWZpCiAJZG9uZQogCiAJY29weWNvbW1pdD0KLQlpZiBbIC1uICIkaWRlbnRpY2FsIiBdICYmIFsgLW4gIiRub25pZGVudGljYWwiIF07IHRoZW4KKwlpZiB0ZXN0IC1uICIkaWRlbnRpY2FsIiAmJiB0ZXN0IC1uICIkbm9uaWRlbnRpY2FsIgorCXRoZW4KIAkJZXh0cmFzPSQoZ2l0IHJldi1saXN0IC0tY291bnQgJGlkZW50aWNhbC4uJG5vbmlkZW50aWNhbCkKLQkJaWYgWyAiJGV4dHJhcyIgLW5lIDAgXTsgdGhlbgorCQlpZiB0ZXN0ICIkZXh0cmFzIiAtbmUgMAorCQl0aGVuCiAJCQkjIHdlIG5lZWQgdG8gcHJlc2VydmUgaGlzdG9yeSBhbG9uZyB0aGUgb3RoZXIgYnJhbmNoCiAJCQljb3B5Y29tbWl0PTEKIAkJZmkKIAlmaQotCWlmIFsgLW4gIiRpZGVudGljYWwiIF0gJiYgWyAteiAiJGNvcHljb21taXQiIF07IHRoZW4KKwlpZiB0ZXN0IC1uICIkaWRlbnRpY2FsIiAmJiB0ZXN0IC16ICIkY29weWNvbW1pdCIKKwl0aGVuCiAJCWVjaG8gJGlkZW50aWNhbAogCWVsc2UKLQkJY29weV9jb21taXQgJHJldiAkdHJlZSAiJHAiIHx8IGV4aXQgJD8KKwkJY29weV9jb21taXQgIiRyZXYiICIkdHJlZSIgIiRwIiB8fCBleGl0ICQ/CiAJZmkKIH0KIAotZW5zdXJlX2NsZWFuKCkKLXsKLQlpZiAhIGdpdCBkaWZmLWluZGV4IEhFQUQgLS1leGl0LWNvZGUgLS1xdWlldCAyPiYxOyB0aGVuCitlbnN1cmVfY2xlYW4gKCkgeworCWlmICEgZ2l0IGRpZmYtaW5kZXggSEVBRCAtLWV4aXQtY29kZSAtLXF1aWV0IDI+JjEKKwl0aGVuCiAJCWRpZSAiV29ya2luZyB0cmVlIGhhcyBtb2RpZmljYXRpb25zLiAgQ2Fubm90IGFkZC4iCiAJZmkKLQlpZiAhIGdpdCBkaWZmLWluZGV4IC0tY2FjaGVkIEhFQUQgLS1leGl0LWNvZGUgLS1xdWlldCAyPiYxOyB0aGVuCisJaWYgISBnaXQgZGlmZi1pbmRleCAtLWNhY2hlZCBIRUFEIC0tZXhpdC1jb2RlIC0tcXVpZXQgMj4mMQorCXRoZW4KIAkJZGllICJJbmRleCBoYXMgbW9kaWZpY2F0aW9ucy4gIENhbm5vdCBhZGQuIgogCWZpCiB9CiAKLWVuc3VyZV92YWxpZF9yZWZfZm9ybWF0KCkKLXsKK2Vuc3VyZV92YWxpZF9yZWZfZm9ybWF0ICgpIHsKIAlnaXQgY2hlY2stcmVmLWZvcm1hdCAicmVmcy9oZWFkcy8kMSIgfHwKLQkgICAgZGllICInJDEnIGRvZXMgbm90IGxvb2sgbGlrZSBhIHJlZiIKKwkJZGllICInJDEnIGRvZXMgbm90IGxvb2sgbGlrZSBhIHJlZiIKIH0KIAotY21kX2FkZCgpCi17Ci0JaWYgWyAtZSAiJGRpciIgXTsgdGhlbgorY21kX2FkZCAoKSB7CisJaWYgdGVzdCAtZSAiJGRpciIKKwl0aGVuCiAJCWRpZSAiJyRkaXInIGFscmVhZHkgZXhpc3RzLiAgQ2Fubm90IGFkZC4iCiAJZmkKIAogCWVuc3VyZV9jbGVhbgotCQotCWlmIFsgJCMgLWVxIDEgXTsgdGhlbgotCSAgICBnaXQgcmV2LXBhcnNlIC1xIC0tdmVyaWZ5ICIkMV57Y29tbWl0fSIgPi9kZXYvbnVsbCB8fAotCSAgICBkaWUgIickMScgZG9lcyBub3QgcmVmZXIgdG8gYSBjb21taXQiCiAKLQkgICAgImNtZF9hZGRfY29tbWl0IiAiJEAiCi0JZWxpZiBbICQjIC1lcSAyIF07IHRoZW4KLQkgICAgIyBUZWNobmljYWxseSB3ZSBjb3VsZCBhY2NlcHQgYSByZWZzcGVjIGhlcmUgYnV0IHdlJ3JlCi0JICAgICMganVzdCBnb2luZyB0byB0dXJuIGFyb3VuZCBhbmQgYWRkIEZFVENIX0hFQUQgdW5kZXIgdGhlCi0JICAgICMgc3BlY2lmaWVkIGRpcmVjdG9yeS4gIEFsbG93aW5nIGEgcmVmc3BlYyBtaWdodCBiZQotCSAgICAjIG1pc2xlYWRpbmcgYmVjYXVzZSB3ZSB3b24ndCBkbyBhbnl0aGluZyB3aXRoIGFueSBvdGhlcgotCSAgICAjIGJyYW5jaGVzIGZldGNoZWQgdmlhIHRoZSByZWZzcGVjLgotCSAgICBlbnN1cmVfdmFsaWRfcmVmX2Zvcm1hdCAiJDIiCisJaWYgdGVzdCAkIyAtZXEgMQorCXRoZW4KKwkJZ2l0IHJldi1wYXJzZSAtcSAtLXZlcmlmeSAiJDFee2NvbW1pdH0iID4vZGV2L251bGwgfHwKKwkJCWRpZSAiJyQxJyBkb2VzIG5vdCByZWZlciB0byBhIGNvbW1pdCIKIAotCSAgICAiY21kX2FkZF9yZXBvc2l0b3J5IiAiJEAiCisJCWNtZF9hZGRfY29tbWl0ICIkQCIKKworCWVsaWYgdGVzdCAkIyAtZXEgMgorCXRoZW4KKwkJIyBUZWNobmljYWxseSB3ZSBjb3VsZCBhY2NlcHQgYSByZWZzcGVjIGhlcmUgYnV0IHdlJ3JlCisJCSMganVzdCBnb2luZyB0byB0dXJuIGFyb3VuZCBhbmQgYWRkIEZFVENIX0hFQUQgdW5kZXIgdGhlCisJCSMgc3BlY2lmaWVkIGRpcmVjdG9yeS4gIEFsbG93aW5nIGEgcmVmc3BlYyBtaWdodCBiZQorCQkjIG1pc2xlYWRpbmcgYmVjYXVzZSB3ZSB3b24ndCBkbyBhbnl0aGluZyB3aXRoIGFueSBvdGhlcgorCQkjIGJyYW5jaGVzIGZldGNoZWQgdmlhIHRoZSByZWZzcGVjLgorCQllbnN1cmVfdmFsaWRfcmVmX2Zvcm1hdCAiJDIiCisKKwkJY21kX2FkZF9yZXBvc2l0b3J5ICIkQCIKIAllbHNlCi0JICAgIHNheSAiZXJyb3I6IHBhcmFtZXRlcnMgd2VyZSAnJEAnIgotCSAgICBkaWUgIlByb3ZpZGUgZWl0aGVyIGEgY29tbWl0IG9yIGEgcmVwb3NpdG9yeSBhbmQgY29tbWl0LiIKKwkJc2F5ICJlcnJvcjogcGFyYW1ldGVycyB3ZXJlICckQCciCisJCWRpZSAiUHJvdmlkZSBlaXRoZXIgYSBjb21taXQgb3IgYSByZXBvc2l0b3J5IGFuZCBjb21taXQuIgogCWZpCiB9CiAKLWNtZF9hZGRfcmVwb3NpdG9yeSgpCi17CitjbWRfYWRkX3JlcG9zaXRvcnkgKCkgewogCWVjaG8gImdpdCBmZXRjaCIgIiRAIgogCXJlcG9zaXRvcnk9JDEKIAlyZWZzcGVjPSQyCkBAIC01NTYsNjAgKzYzOSw2MyBAQAogCWNtZF9hZGRfY29tbWl0ICIkQCIKIH0KIAotY21kX2FkZF9jb21taXQoKQoteworY21kX2FkZF9jb21taXQgKCkgewogCXJldnM9JChnaXQgcmV2LXBhcnNlICRkZWZhdWx0IC0tcmV2cy1vbmx5ICIkQCIpIHx8IGV4aXQgJD8KIAlzZXQgLS0gJHJldnMKIAlyZXY9IiQxIgotCQorCiAJZGVidWcgIkFkZGluZyAkZGlyIGFzICckcmV2Jy4uLiIKIAlnaXQgcmVhZC10cmVlIC0tcHJlZml4PSIkZGlyIiAkcmV2IHx8IGV4aXQgJD8KIAlnaXQgY2hlY2tvdXQgLS0gIiRkaXIiIHx8IGV4aXQgJD8KIAl0cmVlPSQoZ2l0IHdyaXRlLXRyZWUpIHx8IGV4aXQgJD8KLQkKKwogCWhlYWRyZXY9JChnaXQgcmV2LXBhcnNlIEhFQUQpIHx8IGV4aXQgJD8KLQlpZiBbIC1uICIkaGVhZHJldiIgLWEgIiRoZWFkcmV2IiAhPSAiJHJldiIgXTsgdGhlbgorCWlmIHRlc3QgLW4gIiRoZWFkcmV2IiAmJiB0ZXN0ICIkaGVhZHJldiIgIT0gIiRyZXYiCisJdGhlbgogCQloZWFkcD0iLXAgJGhlYWRyZXYiCiAJZWxzZQogCQloZWFkcD0KIAlmaQotCQotCWlmIFsgLW4gIiRzcXVhc2giIF07IHRoZW4KKworCWlmIHRlc3QgLW4gIiRzcXVhc2giCisJdGhlbgogCQlyZXY9JChuZXdfc3F1YXNoX2NvbW1pdCAiIiAiIiAiJHJldiIpIHx8IGV4aXQgJD8KIAkJY29tbWl0PSQoYWRkX3NxdWFzaGVkX21zZyAiJHJldiIgIiRkaXIiIHwKLQkJCSBnaXQgY29tbWl0LXRyZWUgJHRyZWUgJGhlYWRwIC1wICIkcmV2IikgfHwgZXhpdCAkPworCQkJZ2l0IGNvbW1pdC10cmVlICIkdHJlZSIgJGhlYWRwIC1wICIkcmV2IikgfHwgZXhpdCAkPwogCWVsc2UKIAkJcmV2cD0kKHBlZWxfY29tbWl0dGlzaCAiJHJldiIpICYmCi0JCWNvbW1pdD0kKGFkZF9tc2cgIiRkaXIiICIkaGVhZHJldiIgIiRyZXYiIHwKLQkJCSBnaXQgY29tbWl0LXRyZWUgJHRyZWUgJGhlYWRwIC1wICIkcmV2cCIpIHx8IGV4aXQgJD8KKwkJY29tbWl0PSQoYWRkX21zZyAiJGRpciIgJGhlYWRyZXYgIiRyZXYiIHwKKwkJCWdpdCBjb21taXQtdHJlZSAiJHRyZWUiICRoZWFkcCAtcCAiJHJldnAiKSB8fCBleGl0ICQ/CiAJZmkKIAlnaXQgcmVzZXQgIiRjb21taXQiIHx8IGV4aXQgJD8KLQkKKwogCXNheSAiQWRkZWQgZGlyICckZGlyJyIKIH0KIAotY21kX3NwbGl0KCkKLXsKK2NtZF9zcGxpdCAoKSB7CiAJZGVidWcgIlNwbGl0dGluZyAkZGlyLi4uIgogCWNhY2hlX3NldHVwIHx8IGV4aXQgJD8KLQkKLQlpZiBbIC1uICIkb250byIgXTsgdGhlbgorCisJaWYgdGVzdCAtbiAiJG9udG8iCisJdGhlbgogCQlkZWJ1ZyAiUmVhZGluZyBoaXN0b3J5IGZvciAtLW9udG89JG9udG8uLi4iCiAJCWdpdCByZXYtbGlzdCAkb250byB8Ci0JCXdoaWxlIHJlYWQgcmV2OyBkbworCQl3aGlsZSByZWFkIHJldgorCQlkbwogCQkJIyB0aGUgJ29udG8nIGhpc3RvcnkgaXMgYWxyZWFkeSBqdXN0IHRoZSBzdWJkaXIsIHNvCiAJCQkjIGFueSBwYXJlbnQgd2UgZmluZCB0aGVyZSBjYW4gYmUgdXNlZCB2ZXJiYXRpbQogCQkJZGVidWcgIiAgY2FjaGU6ICRyZXYiCi0JCQljYWNoZV9zZXQgJHJldiAkcmV2CisJCQljYWNoZV9zZXQgIiRyZXYiICIkcmV2IgogCQlkb25lCiAJZmkKLQkKLQlpZiBbIC1uICIkaWdub3JlX2pvaW5zIiBdOyB0aGVuCisKKwlpZiB0ZXN0IC1uICIkaWdub3JlX2pvaW5zIgorCXRoZW4KIAkJdW5yZXZzPQogCWVsc2UKIAkJdW5yZXZzPSIkKGZpbmRfZXhpc3Rpbmdfc3BsaXRzICIkZGlyIiAiJHJldnMiKSIKIAlmaQotCQorCiAJIyBXZSBjYW4ndCByZXN0cmljdCByZXYtbGlzdCB0byBvbmx5ICRkaXIgaGVyZSwgYmVjYXVzZSBzb21lIG9mIG91cgogCSMgcGFyZW50cyBoYXZlIHRoZSAkZGlyIGNvbnRlbnRzIHRoZSByb290LCBhbmQgdGhvc2Ugd29uJ3QgbWF0Y2guCiAJIyAoYW5kIHJldi1saXN0IC0tZm9sbG93IGRvZXNuJ3Qgc2VlbSB0byBzb2x2ZSB0aGlzKQpAQCAtNjE4LDEyICs3MDQsMTQgQEAKIAlyZXZjb3VudD0wCiAJY3JlYXRlY291bnQ9MAogCWV2YWwgIiRncmwiIHwKLQl3aGlsZSByZWFkIHJldiBwYXJlbnRzOyBkbworCXdoaWxlIHJlYWQgcmV2IHBhcmVudHMKKwlkbwogCQlyZXZjb3VudD0kKCgkcmV2Y291bnQgKyAxKSkKIAkJcHJvZ3Jlc3MgIiRyZXZjb3VudC8kcmV2bWF4ICgkY3JlYXRlY291bnQpIgogCQlkZWJ1ZyAiUHJvY2Vzc2luZyBjb21taXQ6ICRyZXYiCi0JCWV4aXN0cz0kKGNhY2hlX2dldCAkcmV2KQotCQlpZiBbIC1uICIkZXhpc3RzIiBdOyB0aGVuCisJCWV4aXN0cz0kKGNhY2hlX2dldCAiJHJldiIpCisJCWlmIHRlc3QgLW4gIiRleGlzdHMiCisJCXRoZW4KIAkJCWRlYnVnICIgIHByaW9yOiAkZXhpc3RzIgogCQkJY29udGludWUKIAkJZmkKQEAgLTYzMSw3NiArNzE5LDg5IEBACiAJCWRlYnVnICIgIHBhcmVudHM6ICRwYXJlbnRzIgogCQluZXdwYXJlbnRzPSQoY2FjaGVfZ2V0ICRwYXJlbnRzKQogCQlkZWJ1ZyAiICBuZXdwYXJlbnRzOiAkbmV3cGFyZW50cyIKLQkJCi0JCXRyZWU9JChzdWJ0cmVlX2Zvcl9jb21taXQgJHJldiAiJGRpciIpCisKKwkJdHJlZT0kKHN1YnRyZWVfZm9yX2NvbW1pdCAiJHJldiIgIiRkaXIiKQogCQlkZWJ1ZyAiICB0cmVlIGlzOiAkdHJlZSIKIAogCQljaGVja19wYXJlbnRzICRwYXJlbnRzCi0JCQorCiAJCSMgdWdseS4gIGlzIHRoZXJlIG5vIGJldHRlciB3YXkgdG8gdGVsbCBpZiB0aGlzIGlzIGEgc3VidHJlZQogCQkjIHZzLiBhIG1haW5saW5lIGNvbW1pdD8gIERvZXMgaXQgbWF0dGVyPwotCQlpZiBbIC16ICR0cmVlIF07IHRoZW4KLQkJCXNldF9ub3RyZWUgJHJldgotCQkJaWYgWyAtbiAiJG5ld3BhcmVudHMiIF07IHRoZW4KLQkJCQljYWNoZV9zZXQgJHJldiAkcmV2CisJCWlmIHRlc3QgLXogIiR0cmVlIgorCQl0aGVuCisJCQlzZXRfbm90cmVlICIkcmV2IgorCQkJaWYgdGVzdCAtbiAiJG5ld3BhcmVudHMiCisJCQl0aGVuCisJCQkJY2FjaGVfc2V0ICIkcmV2IiAiJHJldiIKIAkJCWZpCiAJCQljb250aW51ZQogCQlmaQogCiAJCW5ld3Jldj0kKGNvcHlfb3Jfc2tpcCAiJHJldiIgIiR0cmVlIiAiJG5ld3BhcmVudHMiKSB8fCBleGl0ICQ/CiAJCWRlYnVnICIgIG5ld3JldiBpczogJG5ld3JldiIKLQkJY2FjaGVfc2V0ICRyZXYgJG5ld3JldgotCQljYWNoZV9zZXQgbGF0ZXN0X25ldyAkbmV3cmV2Ci0JCWNhY2hlX3NldCBsYXRlc3Rfb2xkICRyZXYKKwkJY2FjaGVfc2V0ICIkcmV2IiAiJG5ld3JldiIKKwkJY2FjaGVfc2V0IGxhdGVzdF9uZXcgIiRuZXdyZXYiCisJCWNhY2hlX3NldCBsYXRlc3Rfb2xkICIkcmV2IgogCWRvbmUgfHwgZXhpdCAkPworCiAJbGF0ZXN0X25ldz0kKGNhY2hlX2dldCBsYXRlc3RfbmV3KQotCWlmIFsgLXogIiRsYXRlc3RfbmV3IiBdOyB0aGVuCisJaWYgdGVzdCAteiAiJGxhdGVzdF9uZXciCisJdGhlbgogCQlkaWUgIk5vIG5ldyByZXZpc2lvbnMgd2VyZSBmb3VuZCIKIAlmaQotCQotCWlmIFsgLW4gIiRyZWpvaW4iIF07IHRoZW4KKworCWlmIHRlc3QgLW4gIiRyZWpvaW4iCisJdGhlbgogCQlkZWJ1ZyAiTWVyZ2luZyBzcGxpdCBicmFuY2ggaW50byBIRUFELi4uIgogCQlsYXRlc3Rfb2xkPSQoY2FjaGVfZ2V0IGxhdGVzdF9vbGQpCiAJCWdpdCBtZXJnZSAtcyBvdXJzIFwKLQkJCS1tICIkKHJlam9pbl9tc2cgIiRkaXIiICRsYXRlc3Rfb2xkICRsYXRlc3RfbmV3KSIgXAotCQkJJGxhdGVzdF9uZXcgPiYyIHx8IGV4aXQgJD8KKwkJCS0tYWxsb3ctdW5yZWxhdGVkLWhpc3RvcmllcyBcCisJCQktbSAiJChyZWpvaW5fbXNnICIkZGlyIiAiJGxhdGVzdF9vbGQiICIkbGF0ZXN0X25ldyIpIiBcCisJCQkiJGxhdGVzdF9uZXciID4mMiB8fCBleGl0ICQ/CiAJZmkKLQlpZiBbIC1uICIkYnJhbmNoIiBdOyB0aGVuCi0JCWlmIHJldl9leGlzdHMgInJlZnMvaGVhZHMvJGJyYW5jaCI7IHRoZW4KLQkJCWlmICEgcmV2X2lzX2Rlc2NlbmRhbnRfb2ZfYnJhbmNoICRsYXRlc3RfbmV3ICRicmFuY2g7IHRoZW4KKwlpZiB0ZXN0IC1uICIkYnJhbmNoIgorCXRoZW4KKwkJaWYgcmV2X2V4aXN0cyAicmVmcy9oZWFkcy8kYnJhbmNoIgorCQl0aGVuCisJCQlpZiAhIHJldl9pc19kZXNjZW5kYW50X29mX2JyYW5jaCAiJGxhdGVzdF9uZXciICIkYnJhbmNoIgorCQkJdGhlbgogCQkJCWRpZSAiQnJhbmNoICckYnJhbmNoJyBpcyBub3QgYW4gYW5jZXN0b3Igb2YgY29tbWl0ICckbGF0ZXN0X25ldycuIgogCQkJZmkKIAkJCWFjdGlvbj0nVXBkYXRlZCcKIAkJZWxzZQogCQkJYWN0aW9uPSdDcmVhdGVkJwogCQlmaQotCQlnaXQgdXBkYXRlLXJlZiAtbSAnc3VidHJlZSBzcGxpdCcgInJlZnMvaGVhZHMvJGJyYW5jaCIgJGxhdGVzdF9uZXcgfHwgZXhpdCAkPworCQlnaXQgdXBkYXRlLXJlZiAtbSAnc3VidHJlZSBzcGxpdCcgXAorCQkJInJlZnMvaGVhZHMvJGJyYW5jaCIgIiRsYXRlc3RfbmV3IiB8fCBleGl0ICQ/CiAJCXNheSAiJGFjdGlvbiBicmFuY2ggJyRicmFuY2gnIgogCWZpCi0JZWNobyAkbGF0ZXN0X25ldworCWVjaG8gIiRsYXRlc3RfbmV3IgogCWV4aXQgMAogfQogCi1jbWRfbWVyZ2UoKQoteworY21kX21lcmdlICgpIHsKIAlyZXZzPSQoZ2l0IHJldi1wYXJzZSAkZGVmYXVsdCAtLXJldnMtb25seSAiJEAiKSB8fCBleGl0ICQ/CiAJZW5zdXJlX2NsZWFuCi0JCisKIAlzZXQgLS0gJHJldnMKLQlpZiBbICQjIC1uZSAxIF07IHRoZW4KKwlpZiB0ZXN0ICQjIC1uZSAxCisJdGhlbgogCQlkaWUgIllvdSBtdXN0IHByb3ZpZGUgZXhhY3RseSBvbmUgcmV2aXNpb24uICBHb3Q6ICckcmV2cyciCiAJZmkKIAlyZXY9IiQxIgotCQotCWlmIFsgLW4gIiRzcXVhc2giIF07IHRoZW4KKworCWlmIHRlc3QgLW4gIiRzcXVhc2giCisJdGhlbgogCQlmaXJzdF9zcGxpdD0iJChmaW5kX2xhdGVzdF9zcXVhc2ggIiRkaXIiKSIKLQkJaWYgWyAteiAiJGZpcnN0X3NwbGl0IiBdOyB0aGVuCisJCWlmIHRlc3QgLXogIiRmaXJzdF9zcGxpdCIKKwkJdGhlbgogCQkJZGllICJDYW4ndCBzcXVhc2gtbWVyZ2U6ICckZGlyJyB3YXMgbmV2ZXIgYWRkZWQuIgogCQlmaQogCQlzZXQgJGZpcnN0X3NwbGl0CiAJCW9sZD0kMQogCQlzdWI9JDIKLQkJaWYgWyAiJHN1YiIgPSAiJHJldiIgXTsgdGhlbgorCQlpZiB0ZXN0ICIkc3ViIiA9ICIkcmV2IgorCQl0aGVuCiAJCQlzYXkgIlN1YnRyZWUgaXMgYWxyZWFkeSBhdCBjb21taXQgJHJldi4iCiAJCQlleGl0IDAKIAkJZmkKQEAgLTcxMCwyNSArODExLDI5IEBACiAJZmkKIAogCXZlcnNpb249JChnaXQgdmVyc2lvbikKLQlpZiBbICIkdmVyc2lvbiIgXDwgImdpdCB2ZXJzaW9uIDEuNyIgXTsgdGhlbgotCQlpZiBbIC1uICIkbWVzc2FnZSIgXTsgdGhlbgotCQkJZ2l0IG1lcmdlIC1zIHN1YnRyZWUgLS1tZXNzYWdlPSIkbWVzc2FnZSIgJHJldgorCWlmIHRlc3QgIiR2ZXJzaW9uIiBcPCAiZ2l0IHZlcnNpb24gMS43IgorCXRoZW4KKwkJaWYgdGVzdCAtbiAiJG1lc3NhZ2UiCisJCXRoZW4KKwkJCWdpdCBtZXJnZSAtcyBzdWJ0cmVlIC0tbWVzc2FnZT0iJG1lc3NhZ2UiICIkcmV2IgogCQllbHNlCi0JCQlnaXQgbWVyZ2UgLXMgc3VidHJlZSAkcmV2CisJCQlnaXQgbWVyZ2UgLXMgc3VidHJlZSAiJHJldiIKIAkJZmkKIAllbHNlCi0JCWlmIFsgLW4gIiRtZXNzYWdlIiBdOyB0aGVuCi0JCQlnaXQgbWVyZ2UgLVhzdWJ0cmVlPSIkcHJlZml4IiAtLW1lc3NhZ2U9IiRtZXNzYWdlIiAkcmV2CisJCWlmIHRlc3QgLW4gIiRtZXNzYWdlIgorCQl0aGVuCisJCQlnaXQgbWVyZ2UgLVhzdWJ0cmVlPSIkcHJlZml4IiBcCisJCQkJLS1tZXNzYWdlPSIkbWVzc2FnZSIgIiRyZXYiCiAJCWVsc2UKIAkJCWdpdCBtZXJnZSAtWHN1YnRyZWU9IiRwcmVmaXgiICRyZXYKIAkJZmkKIAlmaQogfQogCi1jbWRfcHVsbCgpCi17Ci0JaWYgWyAkIyAtbmUgMiBdOyB0aGVuCi0JICAgIGRpZSAiWW91IG11c3QgcHJvdmlkZSA8cmVwb3NpdG9yeT4gPHJlZj4iCitjbWRfcHVsbCAoKSB7CisJaWYgdGVzdCAkIyAtbmUgMgorCXRoZW4KKwkJZGllICJZb3UgbXVzdCBwcm92aWRlIDxyZXBvc2l0b3J5PiA8cmVmPiIKIAlmaQogCWVuc3VyZV9jbGVhbgogCWVuc3VyZV92YWxpZF9yZWZfZm9ybWF0ICIkMiIKQEAgLTczOCwyMCArODQzLDIxIEBACiAJY21kX21lcmdlICIkQCIKIH0KIAotY21kX3B1c2goKQotewotCWlmIFsgJCMgLW5lIDIgXTsgdGhlbgotCSAgICBkaWUgIllvdSBtdXN0IHByb3ZpZGUgPHJlcG9zaXRvcnk+IDxyZWY+IgorY21kX3B1c2ggKCkgeworCWlmIHRlc3QgJCMgLW5lIDIKKwl0aGVuCisJCWRpZSAiWW91IG11c3QgcHJvdmlkZSA8cmVwb3NpdG9yeT4gPHJlZj4iCiAJZmkKIAllbnN1cmVfdmFsaWRfcmVmX2Zvcm1hdCAiJDIiCi0JaWYgWyAtZSAiJGRpciIgXTsgdGhlbgotCSAgICByZXBvc2l0b3J5PSQxCi0JICAgIHJlZnNwZWM9JDIKLQkgICAgZWNobyAiZ2l0IHB1c2ggdXNpbmc6ICIgJHJlcG9zaXRvcnkgJHJlZnNwZWMKLQkgICAgbG9jYWxyZXY9JChnaXQgc3VidHJlZSBzcGxpdCAtLXByZWZpeD0iJHByZWZpeCIpIHx8IGRpZQotCSAgICBnaXQgcHVzaCAiJHJlcG9zaXRvcnkiICRsb2NhbHJldjpyZWZzL2hlYWRzLyRyZWZzcGVjCisJaWYgdGVzdCAtZSAiJGRpciIKKwl0aGVuCisJCXJlcG9zaXRvcnk9JDEKKwkJcmVmc3BlYz0kMgorCQllY2hvICJnaXQgcHVzaCB1c2luZzogIiAiJHJlcG9zaXRvcnkiICIkcmVmc3BlYyIKKwkJbG9jYWxyZXY9JChnaXQgc3VidHJlZSBzcGxpdCAtLXByZWZpeD0iJHByZWZpeCIpIHx8IGRpZQorCQlnaXQgcHVzaCAiJHJlcG9zaXRvcnkiICIkbG9jYWxyZXYiOiJyZWZzL2hlYWRzLyRyZWZzcGVjIgogCWVsc2UKLQkgICAgZGllICInJGRpcicgbXVzdCBhbHJlYWR5IGV4aXN0LiBUcnkgJ2dpdCBzdWJ0cmVlIGFkZCcuIgorCQlkaWUgIickZGlyJyBtdXN0IGFscmVhZHkgZXhpc3QuIFRyeSAnZ2l0IHN1YnRyZWUgYWRkJy4iCiAJZmkKIH0KIApkaWZmIC0tZ2l0IGEvY29udHJpYi9zdWJ0cmVlL3QvdDc5MDAtc3VidHJlZS5zaCBiL2NvbnRyaWIvc3VidHJlZS90L3Q3OTAwLXN1YnRyZWUuc2gKaW5kZXggM2JmOTZhOS4uM2M4N2ViYSAxMDA3NTUKLS0tIGEvY29udHJpYi9zdWJ0cmVlL3QvdDc5MDAtc3VidHJlZS5zaAorKysgYi9jb250cmliL3N1YnRyZWUvdC90NzkwMC1zdWJ0cmVlLnNoCkBAIC0xNiwxNiArMTYsMTYgQEAKIAogc3VidHJlZV90ZXN0X2NyZWF0ZV9yZXBvKCkKIHsKLQl0ZXN0X2NyZWF0ZV9yZXBvICIkMSIKKwl0ZXN0X2NyZWF0ZV9yZXBvICIkMSIgJiYKIAkoCi0JCWNkICQxCisJCWNkICIkMSIgJiYKIAkJZ2l0IGNvbmZpZyBsb2cuZGF0ZSByZWxhdGl2ZQogCSkKIH0KIAogY3JlYXRlKCkKIHsKLQllY2hvICIkMSIgPiIkMSIKKwllY2hvICIkMSIgPiIkMSIgJiYKIAlnaXQgYWRkICIkMSIKIH0KIApAQCAtNzEsMTIgKzcxLDEyIEBACiB9CiAKIHRlc3RfY3JlYXRlX2NvbW1pdCgpICgKLQlyZXBvPSQxCi0JY29tbWl0PSQyCi0JY2QgIiRyZXBvIgotCW1rZGlyIC1wICQoZGlybmFtZSAiJGNvbW1pdCIpIFwKKwlyZXBvPSQxICYmCisJY29tbWl0PSQyICYmCisJY2QgIiRyZXBvIiAmJgorCW1rZGlyIC1wICIkKGRpcm5hbWUgIiRjb21taXQiKSIgXAogCXx8IGVycm9yICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBmb3IgY29tbWl0IgotCWVjaG8gIiRjb21taXQiID4iJGNvbW1pdCIKKwllY2hvICIkY29tbWl0IiA+IiRjb21taXQiICYmCiAJZ2l0IGFkZCAiJGNvbW1pdCIgfHwgZXJyb3IgIkNvdWxkIG5vdCBhZGQgY29tbWl0IgogCWdpdCBjb21taXQgLW0gIiRjb21taXQiIHx8IGVycm9yICJDb3VsZCBub3QgY29tbWl0IgogKQpAQCAtMzQ3LDYgKzM0NywyMiBAQAogICcKIAogbmV4dF90ZXN0Cit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzcGxpdCBzdWIgZGlyLyB3aXRoIC0tcmVqb2luIGZyb20gc2NyYXRjaCcgJworCXN1YnRyZWVfdGVzdF9jcmVhdGVfcmVwbyAiJHN1YnRyZWVfdGVzdF9jb3VudCIgJiYKKwl0ZXN0X2NyZWF0ZV9jb21taXQgIiRzdWJ0cmVlX3Rlc3RfY291bnQiIG1haW4xICYmCisJKAorCQljZCAiJHN1YnRyZWVfdGVzdF9jb3VudCIgJiYKKwkJbWtkaXIgInN1YiBkaXIiICYmCisJCWVjaG8gZmlsZSA+InN1YiBkaXIiL2ZpbGUgJiYKKwkJZ2l0IGFkZCAic3ViIGRpci9maWxlIiAmJgorCQlnaXQgY29tbWl0IC1tInN1YiBkaXIgZmlsZSIgJiYKKwkJc3BsaXRfaGFzaD0kKGdpdCBzdWJ0cmVlIHNwbGl0IC0tcHJlZml4PSJzdWIgZGlyIiAtLXJlam9pbikgJiYKKwkJZ2l0IHN1YnRyZWUgc3BsaXQgLS1wcmVmaXg9InN1YiBkaXIiIC0tcmVqb2luICYmCisJCWNoZWNrX2VxdWFsICIkKGxhc3RfY29tbWl0X21lc3NhZ2UpIiAiU3BsaXQgJ1wnJ3N1YiBkaXIvJ1wnJyBpbnRvIGNvbW1pdCAnXCcnJHNwbGl0X2hhc2gnXCcnIgorCSkKKyAnCisKK25leHRfdGVzdAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3BsaXQgc3ViIGRpci8gd2l0aCAtLXJlam9pbiBhbmQgLS1tZXNzYWdlJyAnCiAJc3VidHJlZV90ZXN0X2NyZWF0ZV9yZXBvICIkc3VidHJlZV90ZXN0X2NvdW50IiAmJgogCXN1YnRyZWVfdGVzdF9jcmVhdGVfcmVwbyAiJHN1YnRyZWVfdGVzdF9jb3VudC9zdWIgcHJvaiIgJiYKQEAgLTkzMiw3ICs5NDgsNyBAQAogCiAJCSMgYWxzbyB0ZXN0IHRoYXQgd2Ugc3RpbGwgY2FuIHNwbGl0IG91dCBhbiBlbnRpcmVseSBuZXcgc3VidHJlZQogCQkjIGlmIHRoZSBwYXJlbnQgb2YgdGhlIGZpcnN0IGNvbW1pdCBpbiB0aGUgdHJlZSBpcyBub3QgZW1wdHksCi0JCSMgdGhlbiB0aGUgbmV3IHN1YnRyZWUgaGFzIGFjY2lkZW50bHkgYmVlbiBhdHRhY2hlZCB0byBzb21ldGhpbmcKKwkJIyB0aGVuIHRoZSBuZXcgc3VidHJlZSBoYXMgYWNjaWRlbnRhbGx5IGJlZW4gYXR0YWNoZWQgdG8gc29tZXRoaW5nCiAJCWdpdCBzdWJ0cmVlIHNwbGl0IC0tcHJlZml4PSJzdWIgZGlyMiIgLS1icmFuY2ggc3VicHJvajItYnIgJiYKIAkJY2hlY2tfZXF1YWwgIiQoZ2l0IGxvZyAtLXByZXR0eT1mb3JtYXQ6JVAgLTEgc3VicHJvajItYnIpIiAiIgogCSkKZGlmZiAtLWdpdCBhL2NvbnZlcnQuYyBiL2NvbnZlcnQuYwppbmRleCBiMTYxNGJmLi5iZTkxMzU4IDEwMDY0NAotLS0gYS9jb252ZXJ0LmMKKysrIGIvY29udmVydC5jCkBAIC0zLDYgKzMsNyBAQAogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAicXVvdGUuaCIKICNpbmNsdWRlICJzaWdjaGFpbi5oIgorI2luY2x1ZGUgInBrdC1saW5lLmgiCiAKIC8qCiAgKiBjb252ZXJ0LmMgLSBjb252ZXJ0IGEgZmlsZSB3aGVuIGNoZWNraW5nIGl0IG91dCBhbmQgY2hlY2tpbmcgaXQgaW4uCkBAIC0xNzYsNyArMTc3LDkgQEAKIAkJcmV0dXJuIEVPTF9MRjsKIAljYXNlIENSTEZfVU5ERUZJTkVEOgogCWNhc2UgQ1JMRl9BVVRPX0NSTEY6CisJCXJldHVybiBFT0xfQ1JMRjsKIAljYXNlIENSTEZfQVVUT19JTlBVVDoKKwkJcmV0dXJuIEVPTF9MRjsKIAljYXNlIENSTEZfVEVYVDoKIAljYXNlIENSTEZfQVVUTzoKIAkJLyogZmFsbCB0aHJvdWdoICovCkBAIC0xODcsMzMgKzE5MCwyOSBAQAogfQogCiBzdGF0aWMgdm9pZCBjaGVja19zYWZlX2NybGYoY29uc3QgY2hhciAqcGF0aCwgZW51bSBjcmxmX2FjdGlvbiBjcmxmX2FjdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdGV4dF9zdGF0ICpzdGF0cywgZW51bSBzYWZlX2NybGYgY2hlY2tzYWZlKQorCQkJICAgIHN0cnVjdCB0ZXh0X3N0YXQgKm9sZF9zdGF0cywgc3RydWN0IHRleHRfc3RhdCAqbmV3X3N0YXRzLAorCQkJICAgIGVudW0gc2FmZV9jcmxmIGNoZWNrc2FmZSkKIHsKLQlpZiAoIWNoZWNrc2FmZSkKLQkJcmV0dXJuOwotCi0JaWYgKG91dHB1dF9lb2woY3JsZl9hY3Rpb24pID09IEVPTF9MRikgeworCWlmIChvbGRfc3RhdHMtPmNybGYgJiYgIW5ld19zdGF0cy0+Y3JsZiApIHsKIAkJLyoKLQkJICogQ1JMRnMgd291bGQgbm90IGJlIHJlc3RvcmVkIGJ5IGNoZWNrb3V0OgotCQkgKiBjaGVjayBpZiB3ZSdkIHJlbW92ZSBDUkxGcworCQkgKiBDUkxGcyB3b3VsZCBub3QgYmUgcmVzdG9yZWQgYnkgY2hlY2tvdXQKIAkJICovCi0JCWlmIChzdGF0cy0+Y3JsZikgewotCQkJaWYgKGNoZWNrc2FmZSA9PSBTQUZFX0NSTEZfV0FSTikKLQkJCQl3YXJuaW5nKCJDUkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuXG5UaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdpbmFsIGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5LiIsIHBhdGgpOwotCQkJZWxzZSAvKiBpLmUuIFNBRkVfQ1JMRl9GQUlMICovCi0JCQkJZGllKCJDUkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLiIsIHBhdGgpOwotCQl9Ci0JfSBlbHNlIGlmIChvdXRwdXRfZW9sKGNybGZfYWN0aW9uKSA9PSBFT0xfQ1JMRikgeworCQlpZiAoY2hlY2tzYWZlID09IFNBRkVfQ1JMRl9XQVJOKQorCQkJd2FybmluZyhfKCJDUkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuXG4iCisJCQkJICAiVGhlIGZpbGUgd2lsbCBoYXZlIGl0cyBvcmlnaW5hbCBsaW5lIgorCQkJCSAgIiBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkuIiksIHBhdGgpOworCQllbHNlIC8qIGkuZS4gU0FGRV9DUkxGX0ZBSUwgKi8KKwkJCWRpZShfKCJDUkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLiIpLCBwYXRoKTsKKwl9IGVsc2UgaWYgKG9sZF9zdGF0cy0+bG9uZWxmICYmICFuZXdfc3RhdHMtPmxvbmVsZiApIHsKIAkJLyoKLQkJICogQ1JMRnMgd291bGQgYmUgYWRkZWQgYnkgY2hlY2tvdXQ6Ci0JCSAqIGNoZWNrIGlmIHdlIGhhdmUgIm5ha2VkIiBMRnMKKwkJICogQ1JMRnMgd291bGQgYmUgYWRkZWQgYnkgY2hlY2tvdXQKIAkJICovCi0JCWlmIChzdGF0cy0+bG9uZWxmKSB7Ci0JCQlpZiAoY2hlY2tzYWZlID09IFNBRkVfQ1JMRl9XQVJOKQotCQkJCXdhcm5pbmcoIkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcy5cblRoZSBmaWxlIHdpbGwgaGF2ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkuIiwgcGF0aCk7Ci0JCQllbHNlIC8qIGkuZS4gU0FGRV9DUkxGX0ZBSUwgKi8KLQkJCQlkaWUoIkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMiLCBwYXRoKTsKLQkJfQorCQlpZiAoY2hlY2tzYWZlID09IFNBRkVfQ1JMRl9XQVJOKQorCQkJd2FybmluZyhfKCJMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMuXG4iCisJCQkJICAiVGhlIGZpbGUgd2lsbCBoYXZlIGl0cyBvcmlnaW5hbCBsaW5lIgorCQkJCSAgIiBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkuIiksIHBhdGgpOworCQllbHNlIC8qIGkuZS4gU0FGRV9DUkxGX0ZBSUwgKi8KKwkJCWRpZShfKCJMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzIiksIHBhdGgpOwogCX0KIH0KIApAQCAtMjMxLDEyICsyMzAsMzUgQEAKIAlyZXR1cm4gaGFzX2NyOwogfQogCitzdGF0aWMgaW50IHdpbGxfY29udmVydF9sZl90b19jcmxmKHNpemVfdCBsZW4sIHN0cnVjdCB0ZXh0X3N0YXQgKnN0YXRzLAorCQkJCSAgIGVudW0gY3JsZl9hY3Rpb24gY3JsZl9hY3Rpb24pCit7CisJaWYgKG91dHB1dF9lb2woY3JsZl9hY3Rpb24pICE9IEVPTF9DUkxGKQorCQlyZXR1cm4gMDsKKwkvKiBObyAibmFrZWQiIExGPyBOb3RoaW5nIHRvIGNvbnZlcnQsIHJlZ2FyZGxlc3MuICovCisJaWYgKCFzdGF0cy0+bG9uZWxmKQorCQlyZXR1cm4gMDsKKworCWlmIChjcmxmX2FjdGlvbiA9PSBDUkxGX0FVVE8gfHwgY3JsZl9hY3Rpb24gPT0gQ1JMRl9BVVRPX0lOUFVUIHx8IGNybGZfYWN0aW9uID09IENSTEZfQVVUT19DUkxGKSB7CisJCS8qIElmIHdlIGhhdmUgYW55IENSIG9yIENSTEYgbGluZSBlbmRpbmdzLCB3ZSBkbyBub3QgdG91Y2ggaXQgKi8KKwkJLyogVGhpcyBpcyB0aGUgbmV3IHNhZmVyIGF1dG9jcmxmLWhhbmRsaW5nICovCisJCWlmIChzdGF0cy0+bG9uZWNyIHx8IHN0YXRzLT5jcmxmKQorCQkJcmV0dXJuIDA7CisKKwkJaWYgKGNvbnZlcnRfaXNfYmluYXJ5KGxlbiwgc3RhdHMpKQorCQkJcmV0dXJuIDA7CisJfQorCXJldHVybiAxOworCit9CisKIHN0YXRpYyBpbnQgY3JsZl90b19naXQoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqc3JjLCBzaXplX3QgbGVuLAogCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqYnVmLAogCQkgICAgICAgZW51bSBjcmxmX2FjdGlvbiBjcmxmX2FjdGlvbiwgZW51bSBzYWZlX2NybGYgY2hlY2tzYWZlKQogewogCXN0cnVjdCB0ZXh0X3N0YXQgc3RhdHM7CiAJY2hhciAqZHN0OworCWludCBjb252ZXJ0X2NybGZfaW50b19sZjsKIAogCWlmIChjcmxmX2FjdGlvbiA9PSBDUkxGX0JJTkFSWSB8fAogCSAgICAoc3JjICYmICFsZW4pKQpAQCAtMjUwLDI1ICsyNzIsMzcgQEAKIAkJcmV0dXJuIDE7CiAKIAlnYXRoZXJfc3RhdHMoc3JjLCBsZW4sICZzdGF0cyk7CisJLyogT3B0aW1pemF0aW9uOiBObyBDUkxGPyBOb3RoaW5nIHRvIGNvbnZlcnQsIHJlZ2FyZGxlc3MuICovCisJY29udmVydF9jcmxmX2ludG9fbGYgPSAhIXN0YXRzLmNybGY7CiAKIAlpZiAoY3JsZl9hY3Rpb24gPT0gQ1JMRl9BVVRPIHx8IGNybGZfYWN0aW9uID09IENSTEZfQVVUT19JTlBVVCB8fCBjcmxmX2FjdGlvbiA9PSBDUkxGX0FVVE9fQ1JMRikgewogCQlpZiAoY29udmVydF9pc19iaW5hcnkobGVuLCAmc3RhdHMpKQogCQkJcmV0dXJuIDA7Ci0KLQkJaWYgKGNybGZfYWN0aW9uID09IENSTEZfQVVUT19JTlBVVCB8fCBjcmxmX2FjdGlvbiA9PSBDUkxGX0FVVE9fQ1JMRikgewotCQkJLyoKLQkJCSAqIElmIHRoZSBmaWxlIGluIHRoZSBpbmRleCBoYXMgYW55IENSIGluIGl0LCBkbyBub3QgY29udmVydC4KLQkJCSAqIFRoaXMgaXMgdGhlIG5ldyBzYWZlciBhdXRvY3JsZiBoYW5kbGluZy4KLQkJCSAqLwotCQkJaWYgKGhhc19jcl9pbl9pbmRleChwYXRoKSkKLQkJCQlyZXR1cm4gMDsKLQkJfQorCQkvKgorCQkgKiBJZiB0aGUgZmlsZSBpbiB0aGUgaW5kZXggaGFzIGFueSBDUiBpbiBpdCwgZG8gbm90IGNvbnZlcnQuCisJCSAqIFRoaXMgaXMgdGhlIG5ldyBzYWZlciBhdXRvY3JsZiBoYW5kbGluZy4KKwkJICovCisJCWlmIChjaGVja3NhZmUgPT0gU0FGRV9DUkxGX1JFTk9STUFMSVpFKQorCQkJY2hlY2tzYWZlID0gU0FGRV9DUkxGX0ZBTFNFOworCQllbHNlIGlmIChoYXNfY3JfaW5faW5kZXgocGF0aCkpCisJCQljb252ZXJ0X2NybGZfaW50b19sZiA9IDA7CiAJfQotCi0JY2hlY2tfc2FmZV9jcmxmKHBhdGgsIGNybGZfYWN0aW9uLCAmc3RhdHMsIGNoZWNrc2FmZSk7Ci0KLQkvKiBPcHRpbWl6YXRpb246IE5vIENSTEY/IE5vdGhpbmcgdG8gY29udmVydCwgcmVnYXJkbGVzcy4gKi8KLQlpZiAoIXN0YXRzLmNybGYpCisJaWYgKGNoZWNrc2FmZSAmJiBsZW4pIHsKKwkJc3RydWN0IHRleHRfc3RhdCBuZXdfc3RhdHM7CisJCW1lbWNweSgmbmV3X3N0YXRzLCAmc3RhdHMsIHNpemVvZihuZXdfc3RhdHMpKTsKKwkJLyogc2ltdWxhdGUgImdpdCBhZGQiICovCisJCWlmIChjb252ZXJ0X2NybGZfaW50b19sZikgeworCQkJbmV3X3N0YXRzLmxvbmVsZiArPSBuZXdfc3RhdHMuY3JsZjsKKwkJCW5ld19zdGF0cy5jcmxmID0gMDsKKwkJfQorCQkvKiBzaW11bGF0ZSAiZ2l0IGNoZWNrb3V0IiAqLworCQlpZiAod2lsbF9jb252ZXJ0X2xmX3RvX2NybGYobGVuLCAmbmV3X3N0YXRzLCBjcmxmX2FjdGlvbikpIHsKKwkJCW5ld19zdGF0cy5jcmxmICs9IG5ld19zdGF0cy5sb25lbGY7CisJCQluZXdfc3RhdHMubG9uZWxmID0gMDsKKwkJfQorCQljaGVja19zYWZlX2NybGYocGF0aCwgY3JsZl9hY3Rpb24sICZzdGF0cywgJm5ld19zdGF0cywgY2hlY2tzYWZlKTsKKwl9CisJaWYgKCFjb252ZXJ0X2NybGZfaW50b19sZikKIAkJcmV0dXJuIDA7CiAKIAkvKgpAQCAtMzE0LDIzICszNDgsOSBAQAogCQlyZXR1cm4gMDsKIAogCWdhdGhlcl9zdGF0cyhzcmMsIGxlbiwgJnN0YXRzKTsKLQotCS8qIE5vICJuYWtlZCIgTEY/IE5vdGhpbmcgdG8gY29udmVydCwgcmVnYXJkbGVzcy4gKi8KLQlpZiAoIXN0YXRzLmxvbmVsZikKKwlpZiAoIXdpbGxfY29udmVydF9sZl90b19jcmxmKGxlbiwgJnN0YXRzLCBjcmxmX2FjdGlvbikpCiAJCXJldHVybiAwOwogCi0JaWYgKGNybGZfYWN0aW9uID09IENSTEZfQVVUTyB8fCBjcmxmX2FjdGlvbiA9PSBDUkxGX0FVVE9fSU5QVVQgfHwgY3JsZl9hY3Rpb24gPT0gQ1JMRl9BVVRPX0NSTEYpIHsKLQkJaWYgKGNybGZfYWN0aW9uID09IENSTEZfQVVUT19JTlBVVCB8fCBjcmxmX2FjdGlvbiA9PSBDUkxGX0FVVE9fQ1JMRikgewotCQkJLyogSWYgd2UgaGF2ZSBhbnkgQ1Igb3IgQ1JMRiBsaW5lIGVuZGluZ3MsIHdlIGRvIG5vdCB0b3VjaCBpdCAqLwotCQkJLyogVGhpcyBpcyB0aGUgbmV3IHNhZmVyIGF1dG9jcmxmLWhhbmRsaW5nICovCi0JCQlpZiAoc3RhdHMubG9uZWNyIHx8IHN0YXRzLmNybGYgKQotCQkJCXJldHVybiAwOwotCQl9Ci0KLQkJaWYgKGNvbnZlcnRfaXNfYmluYXJ5KGxlbiwgJnN0YXRzKSkKLQkJCXJldHVybiAwOwotCX0KLQogCS8qIGFyZSB3ZSAiZmFraW5nIiBpbiBwbGFjZSBlZGl0aW5nID8gKi8KIAlpZiAoc3JjID09IGJ1Zi0+YnVmKQogCQl0b19mcmVlID0gc3RyYnVmX2RldGFjaChidWYsIE5VTEwpOwpAQCAtMzk3LDcgKzQxNyw3IEBACiAJY2hpbGRfcHJvY2Vzcy5vdXQgPSBvdXQ7CiAKIAlpZiAoc3RhcnRfY29tbWFuZCgmY2hpbGRfcHJvY2VzcykpCi0JCXJldHVybiBlcnJvcigiY2Fubm90IGZvcmsgdG8gcnVuIGV4dGVybmFsIGZpbHRlciAlcyIsIHBhcmFtcy0+Y21kKTsKKwkJcmV0dXJuIGVycm9yKCJjYW5ub3QgZm9yayB0byBydW4gZXh0ZXJuYWwgZmlsdGVyICclcyciLCBwYXJhbXMtPmNtZCk7CiAKIAlzaWdjaGFpbl9wdXNoKFNJR1BJUEUsIFNJR19JR04pOwogCkBAIC00MTUsMTkgKzQzNSwxOSBAQAogCWlmIChjbG9zZShjaGlsZF9wcm9jZXNzLmluKSkKIAkJd3JpdGVfZXJyID0gMTsKIAlpZiAod3JpdGVfZXJyKQotCQllcnJvcigiY2Fubm90IGZlZWQgdGhlIGlucHV0IHRvIGV4dGVybmFsIGZpbHRlciAlcyIsIHBhcmFtcy0+Y21kKTsKKwkJZXJyb3IoImNhbm5vdCBmZWVkIHRoZSBpbnB1dCB0byBleHRlcm5hbCBmaWx0ZXIgJyVzJyIsIHBhcmFtcy0+Y21kKTsKIAogCXNpZ2NoYWluX3BvcChTSUdQSVBFKTsKIAogCXN0YXR1cyA9IGZpbmlzaF9jb21tYW5kKCZjaGlsZF9wcm9jZXNzKTsKIAlpZiAoc3RhdHVzKQotCQllcnJvcigiZXh0ZXJuYWwgZmlsdGVyICVzIGZhaWxlZCAlZCIsIHBhcmFtcy0+Y21kLCBzdGF0dXMpOworCQllcnJvcigiZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkICVkIiwgcGFyYW1zLT5jbWQsIHN0YXR1cyk7CiAKIAlzdHJidWZfcmVsZWFzZSgmY21kKTsKIAlyZXR1cm4gKHdyaXRlX2VyciB8fCBzdGF0dXMpOwogfQogCi1zdGF0aWMgaW50IGFwcGx5X2ZpbHRlcihjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBsZW4sIGludCBmZCwKK3N0YXRpYyBpbnQgYXBwbHlfc2luZ2xlX2ZpbGVfZmlsdGVyKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IGxlbiwgaW50IGZkLAogICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHN0cmJ1ZiAqZHN0LCBjb25zdCBjaGFyICpjbWQpCiB7CiAJLyoKQEAgLTQzNiwxNyArNDU2LDExIEBACiAJICoKIAkgKiAoY2hpbGQgLS0+IGNtZCkgLS0+IHVzCiAJICovCi0JaW50IHJldCA9IDE7CisJaW50IGVyciA9IDA7CiAJc3RydWN0IHN0cmJ1ZiBuYnVmID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IGFzeW5jIGFzeW5jOwogCXN0cnVjdCBmaWx0ZXJfcGFyYW1zIHBhcmFtczsKIAotCWlmICghY21kIHx8ICEqY21kKQotCQlyZXR1cm4gMDsKLQotCWlmICghZHN0KQotCQlyZXR1cm4gMTsKLQogCW1lbXNldCgmYXN5bmMsIDAsIHNpemVvZihhc3luYykpOwogCWFzeW5jLnByb2MgPSBmaWx0ZXJfYnVmZmVyX29yX2ZkOwogCWFzeW5jLmRhdGEgPSAmcGFyYW1zOwpAQCAtNDYyLDIzICs0NzYsMzA0IEBACiAJCXJldHVybiAwOwkvKiBlcnJvciB3YXMgYWxyZWFkeSByZXBvcnRlZCAqLwogCiAJaWYgKHN0cmJ1Zl9yZWFkKCZuYnVmLCBhc3luYy5vdXQsIGxlbikgPCAwKSB7Ci0JCWVycm9yKCJyZWFkIGZyb20gZXh0ZXJuYWwgZmlsdGVyICVzIGZhaWxlZCIsIGNtZCk7Ci0JCXJldCA9IDA7CisJCWVyciA9IGVycm9yKCJyZWFkIGZyb20gZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkIiwgY21kKTsKIAl9CiAJaWYgKGNsb3NlKGFzeW5jLm91dCkpIHsKLQkJZXJyb3IoInJlYWQgZnJvbSBleHRlcm5hbCBmaWx0ZXIgJXMgZmFpbGVkIiwgY21kKTsKLQkJcmV0ID0gMDsKKwkJZXJyID0gZXJyb3IoInJlYWQgZnJvbSBleHRlcm5hbCBmaWx0ZXIgJyVzJyBmYWlsZWQiLCBjbWQpOwogCX0KIAlpZiAoZmluaXNoX2FzeW5jKCZhc3luYykpIHsKLQkJZXJyb3IoImV4dGVybmFsIGZpbHRlciAlcyBmYWlsZWQiLCBjbWQpOwotCQlyZXQgPSAwOworCQllcnIgPSBlcnJvcigiZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkIiwgY21kKTsKIAl9CiAKLQlpZiAocmV0KSB7CisJaWYgKCFlcnIpIHsKIAkJc3RyYnVmX3N3YXAoZHN0LCAmbmJ1Zik7CiAJfQogCXN0cmJ1Zl9yZWxlYXNlKCZuYnVmKTsKLQlyZXR1cm4gcmV0OworCXJldHVybiAhZXJyOworfQorCisjZGVmaW5lIENBUF9DTEVBTiAgICAoMXU8PDApCisjZGVmaW5lIENBUF9TTVVER0UgICAoMXU8PDEpCisKK3N0cnVjdCBjbWQycHJvY2VzcyB7CisJc3RydWN0IGhhc2htYXBfZW50cnkgZW50OyAvKiBtdXN0IGJlIHRoZSBmaXJzdCBtZW1iZXIhICovCisJdW5zaWduZWQgaW50IHN1cHBvcnRlZF9jYXBhYmlsaXRpZXM7CisJY29uc3QgY2hhciAqY21kOworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIHByb2Nlc3M7Cit9OworCitzdGF0aWMgaW50IGNtZF9wcm9jZXNzX21hcF9pbml0aWFsaXplZDsKK3N0YXRpYyBzdHJ1Y3QgaGFzaG1hcCBjbWRfcHJvY2Vzc19tYXA7CisKK3N0YXRpYyBpbnQgY21kMnByb2Nlc3NfY21wKGNvbnN0IHN0cnVjdCBjbWQycHJvY2VzcyAqZTEsCisJCQkgICBjb25zdCBzdHJ1Y3QgY21kMnByb2Nlc3MgKmUyLAorCQkJICAgY29uc3Qgdm9pZCAqdW51c2VkKQoreworCXJldHVybiBzdHJjbXAoZTEtPmNtZCwgZTItPmNtZCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY21kMnByb2Nlc3MgKmZpbmRfbXVsdGlfZmlsZV9maWx0ZXJfZW50cnkoc3RydWN0IGhhc2htYXAgKmhhc2htYXAsIGNvbnN0IGNoYXIgKmNtZCkKK3sKKwlzdHJ1Y3QgY21kMnByb2Nlc3Mga2V5OworCWhhc2htYXBfZW50cnlfaW5pdCgma2V5LCBzdHJoYXNoKGNtZCkpOworCWtleS5jbWQgPSBjbWQ7CisJcmV0dXJuIGhhc2htYXBfZ2V0KGhhc2htYXAsICZrZXksIE5VTEwpOworfQorCitzdGF0aWMgaW50IHBhY2tldF93cml0ZV9saXN0KGludCBmZCwgY29uc3QgY2hhciAqbGluZSwgLi4uKQoreworCXZhX2xpc3QgYXJnczsKKwlpbnQgZXJyOworCXZhX3N0YXJ0KGFyZ3MsIGxpbmUpOworCWZvciAoOzspIHsKKwkJaWYgKCFsaW5lKQorCQkJYnJlYWs7CisJCWlmIChzdHJsZW4obGluZSkgPiBMQVJHRV9QQUNLRVRfREFUQV9NQVgpCisJCQlyZXR1cm4gLTE7CisJCWVyciA9IHBhY2tldF93cml0ZV9mbXRfZ2VudGx5KGZkLCAiJXNcbiIsIGxpbmUpOworCQlpZiAoZXJyKQorCQkJcmV0dXJuIGVycjsKKwkJbGluZSA9IHZhX2FyZyhhcmdzLCBjb25zdCBjaGFyKik7CisJfQorCXZhX2VuZChhcmdzKTsKKwlyZXR1cm4gcGFja2V0X2ZsdXNoX2dlbnRseShmZCk7Cit9CisKK3N0YXRpYyB2b2lkIHJlYWRfbXVsdGlfZmlsZV9maWx0ZXJfc3RhdHVzKGludCBmZCwgc3RydWN0IHN0cmJ1ZiAqc3RhdHVzKQoreworCXN0cnVjdCBzdHJidWYgKipwYWlyOworCWNoYXIgKmxpbmU7CisJZm9yICg7OykgeworCQlsaW5lID0gcGFja2V0X3JlYWRfbGluZShmZCwgTlVMTCk7CisJCWlmICghbGluZSkKKwkJCWJyZWFrOworCQlwYWlyID0gc3RyYnVmX3NwbGl0X3N0cihsaW5lLCAnPScsIDIpOworCQlpZiAocGFpclswXSAmJiBwYWlyWzBdLT5sZW4gJiYgcGFpclsxXSkgeworCQkJLyogdGhlIGxhc3QgInN0YXR1cz08Zm9vPiIgbGluZSB3aW5zICovCisJCQlpZiAoIXN0cmNtcChwYWlyWzBdLT5idWYsICJzdGF0dXM9IikpIHsKKwkJCQlzdHJidWZfcmVzZXQoc3RhdHVzKTsKKwkJCQlzdHJidWZfYWRkYnVmKHN0YXR1cywgcGFpclsxXSk7CisJCQl9CisJCX0KKwkJc3RyYnVmX2xpc3RfZnJlZShwYWlyKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGtpbGxfbXVsdGlfZmlsZV9maWx0ZXIoc3RydWN0IGhhc2htYXAgKmhhc2htYXAsIHN0cnVjdCBjbWQycHJvY2VzcyAqZW50cnkpCit7CisJaWYgKCFlbnRyeSkKKwkJcmV0dXJuOworCisJZW50cnktPnByb2Nlc3MuY2xlYW5fb25fZXhpdCA9IDA7CisJa2lsbChlbnRyeS0+cHJvY2Vzcy5waWQsIFNJR1RFUk0pOworCWZpbmlzaF9jb21tYW5kKCZlbnRyeS0+cHJvY2Vzcyk7CisKKwloYXNobWFwX3JlbW92ZShoYXNobWFwLCBlbnRyeSwgTlVMTCk7CisJZnJlZShlbnRyeSk7Cit9CisKK3N0YXRpYyB2b2lkIHN0b3BfbXVsdGlfZmlsZV9maWx0ZXIoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKnByb2Nlc3MpCit7CisJc2lnY2hhaW5fcHVzaChTSUdQSVBFLCBTSUdfSUdOKTsKKwkvKiBDbG9zaW5nIHRoZSBwaXBlIHNpZ25hbHMgdGhlIGZpbHRlciB0byBpbml0aWF0ZSBhIHNodXRkb3duLiAqLworCWNsb3NlKHByb2Nlc3MtPmluKTsKKwljbG9zZShwcm9jZXNzLT5vdXQpOworCXNpZ2NoYWluX3BvcChTSUdQSVBFKTsKKwkvKiBGaW5pc2ggY29tbWFuZCB3aWxsIHdhaXQgdW50aWwgdGhlIHNodXRkb3duIGlzIGNvbXBsZXRlLiAqLworCWZpbmlzaF9jb21tYW5kKHByb2Nlc3MpOworfQorCitzdGF0aWMgc3RydWN0IGNtZDJwcm9jZXNzICpzdGFydF9tdWx0aV9maWxlX2ZpbHRlcihzdHJ1Y3QgaGFzaG1hcCAqaGFzaG1hcCwgY29uc3QgY2hhciAqY21kKQoreworCWludCBlcnI7CisJc3RydWN0IGNtZDJwcm9jZXNzICplbnRyeTsKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqcHJvY2VzczsKKwljb25zdCBjaGFyICphcmd2W10gPSB7IGNtZCwgTlVMTCB9OworCXN0cnVjdCBzdHJpbmdfbGlzdCBjYXBfbGlzdCA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CisJY2hhciAqY2FwX2J1ZjsKKwljb25zdCBjaGFyICpjYXBfbmFtZTsKKworCWVudHJ5ID0geG1hbGxvYyhzaXplb2YoKmVudHJ5KSk7CisJZW50cnktPmNtZCA9IGNtZDsKKwllbnRyeS0+c3VwcG9ydGVkX2NhcGFiaWxpdGllcyA9IDA7CisJcHJvY2VzcyA9ICZlbnRyeS0+cHJvY2VzczsKKworCWNoaWxkX3Byb2Nlc3NfaW5pdChwcm9jZXNzKTsKKwlwcm9jZXNzLT5hcmd2ID0gYXJndjsKKwlwcm9jZXNzLT51c2Vfc2hlbGwgPSAxOworCXByb2Nlc3MtPmluID0gLTE7CisJcHJvY2Vzcy0+b3V0ID0gLTE7CisJcHJvY2Vzcy0+Y2xlYW5fb25fZXhpdCA9IDE7CisJcHJvY2Vzcy0+Y2xlYW5fb25fZXhpdF9oYW5kbGVyID0gc3RvcF9tdWx0aV9maWxlX2ZpbHRlcjsKKworCWlmIChzdGFydF9jb21tYW5kKHByb2Nlc3MpKSB7CisJCWVycm9yKCJjYW5ub3QgZm9yayB0byBydW4gZXh0ZXJuYWwgZmlsdGVyICclcyciLCBjbWQpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwloYXNobWFwX2VudHJ5X2luaXQoZW50cnksIHN0cmhhc2goY21kKSk7CisKKwlzaWdjaGFpbl9wdXNoKFNJR1BJUEUsIFNJR19JR04pOworCisJZXJyID0gcGFja2V0X3dyaXRlX2xpc3QocHJvY2Vzcy0+aW4sICJnaXQtZmlsdGVyLWNsaWVudCIsICJ2ZXJzaW9uPTIiLCBOVUxMKTsKKwlpZiAoZXJyKQorCQlnb3RvIGRvbmU7CisKKwllcnIgPSBzdHJjbXAocGFja2V0X3JlYWRfbGluZShwcm9jZXNzLT5vdXQsIE5VTEwpLCAiZ2l0LWZpbHRlci1zZXJ2ZXIiKTsKKwlpZiAoZXJyKSB7CisJCWVycm9yKCJleHRlcm5hbCBmaWx0ZXIgJyVzJyBkb2VzIG5vdCBzdXBwb3J0IGZpbHRlciBwcm90b2NvbCB2ZXJzaW9uIDIiLCBjbWQpOworCQlnb3RvIGRvbmU7CisJfQorCWVyciA9IHN0cmNtcChwYWNrZXRfcmVhZF9saW5lKHByb2Nlc3MtPm91dCwgTlVMTCksICJ2ZXJzaW9uPTIiKTsKKwlpZiAoZXJyKQorCQlnb3RvIGRvbmU7CisJZXJyID0gcGFja2V0X3JlYWRfbGluZShwcm9jZXNzLT5vdXQsIE5VTEwpICE9IE5VTEw7CisJaWYgKGVycikKKwkJZ290byBkb25lOworCisJZXJyID0gcGFja2V0X3dyaXRlX2xpc3QocHJvY2Vzcy0+aW4sICJjYXBhYmlsaXR5PWNsZWFuIiwgImNhcGFiaWxpdHk9c211ZGdlIiwgTlVMTCk7CisKKwlmb3IgKDs7KSB7CisJCWNhcF9idWYgPSBwYWNrZXRfcmVhZF9saW5lKHByb2Nlc3MtPm91dCwgTlVMTCk7CisJCWlmICghY2FwX2J1ZikKKwkJCWJyZWFrOworCQlzdHJpbmdfbGlzdF9zcGxpdF9pbl9wbGFjZSgmY2FwX2xpc3QsIGNhcF9idWYsICc9JywgMSk7CisKKwkJaWYgKGNhcF9saXN0Lm5yICE9IDIgfHwgc3RyY21wKGNhcF9saXN0Lml0ZW1zWzBdLnN0cmluZywgImNhcGFiaWxpdHkiKSkKKwkJCWNvbnRpbnVlOworCisJCWNhcF9uYW1lID0gY2FwX2xpc3QuaXRlbXNbMV0uc3RyaW5nOworCQlpZiAoIXN0cmNtcChjYXBfbmFtZSwgImNsZWFuIikpIHsKKwkJCWVudHJ5LT5zdXBwb3J0ZWRfY2FwYWJpbGl0aWVzIHw9IENBUF9DTEVBTjsKKwkJfSBlbHNlIGlmICghc3RyY21wKGNhcF9uYW1lLCAic211ZGdlIikpIHsKKwkJCWVudHJ5LT5zdXBwb3J0ZWRfY2FwYWJpbGl0aWVzIHw9IENBUF9TTVVER0U7CisJCX0gZWxzZSB7CisJCQl3YXJuaW5nKAorCQkJCSJleHRlcm5hbCBmaWx0ZXIgJyVzJyByZXF1ZXN0ZWQgdW5zdXBwb3J0ZWQgZmlsdGVyIGNhcGFiaWxpdHkgJyVzJyIsCisJCQkJY21kLCBjYXBfbmFtZQorCQkJKTsKKwkJfQorCisJCXN0cmluZ19saXN0X2NsZWFyKCZjYXBfbGlzdCwgMCk7CisJfQorCitkb25lOgorCXNpZ2NoYWluX3BvcChTSUdQSVBFKTsKKworCWlmIChlcnIgfHwgZXJybm8gPT0gRVBJUEUpIHsKKwkJZXJyb3IoImluaXRpYWxpemF0aW9uIGZvciBleHRlcm5hbCBmaWx0ZXIgJyVzJyBmYWlsZWQiLCBjbWQpOworCQlraWxsX211bHRpX2ZpbGVfZmlsdGVyKGhhc2htYXAsIGVudHJ5KTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJaGFzaG1hcF9hZGQoaGFzaG1hcCwgZW50cnkpOworCXJldHVybiBlbnRyeTsKK30KKworc3RhdGljIGludCBhcHBseV9tdWx0aV9maWxlX2ZpbHRlcihjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBsZW4sCisJCQkJICAgaW50IGZkLCBzdHJ1Y3Qgc3RyYnVmICpkc3QsIGNvbnN0IGNoYXIgKmNtZCwKKwkJCQkgICBjb25zdCB1bnNpZ25lZCBpbnQgd2FudGVkX2NhcGFiaWxpdHkpCit7CisJaW50IGVycjsKKwlzdHJ1Y3QgY21kMnByb2Nlc3MgKmVudHJ5OworCXN0cnVjdCBjaGlsZF9wcm9jZXNzICpwcm9jZXNzOworCXN0cnVjdCBzdHJidWYgbmJ1ZiA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgZmlsdGVyX3N0YXR1cyA9IFNUUkJVRl9JTklUOworCWNvbnN0IGNoYXIgKmZpbHRlcl90eXBlOworCisJaWYgKCFjbWRfcHJvY2Vzc19tYXBfaW5pdGlhbGl6ZWQpIHsKKwkJY21kX3Byb2Nlc3NfbWFwX2luaXRpYWxpemVkID0gMTsKKwkJaGFzaG1hcF9pbml0KCZjbWRfcHJvY2Vzc19tYXAsIChoYXNobWFwX2NtcF9mbikgY21kMnByb2Nlc3NfY21wLCAwKTsKKwkJZW50cnkgPSBOVUxMOworCX0gZWxzZSB7CisJCWVudHJ5ID0gZmluZF9tdWx0aV9maWxlX2ZpbHRlcl9lbnRyeSgmY21kX3Byb2Nlc3NfbWFwLCBjbWQpOworCX0KKworCWZmbHVzaChOVUxMKTsKKworCWlmICghZW50cnkpIHsKKwkJZW50cnkgPSBzdGFydF9tdWx0aV9maWxlX2ZpbHRlcigmY21kX3Byb2Nlc3NfbWFwLCBjbWQpOworCQlpZiAoIWVudHJ5KQorCQkJcmV0dXJuIDA7CisJfQorCXByb2Nlc3MgPSAmZW50cnktPnByb2Nlc3M7CisKKwlpZiAoISh3YW50ZWRfY2FwYWJpbGl0eSAmIGVudHJ5LT5zdXBwb3J0ZWRfY2FwYWJpbGl0aWVzKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoQ0FQX0NMRUFOICYgd2FudGVkX2NhcGFiaWxpdHkpCisJCWZpbHRlcl90eXBlID0gImNsZWFuIjsKKwllbHNlIGlmIChDQVBfU01VREdFICYgd2FudGVkX2NhcGFiaWxpdHkpCisJCWZpbHRlcl90eXBlID0gInNtdWRnZSI7CisJZWxzZQorCQlkaWUoInVuZXhwZWN0ZWQgZmlsdGVyIHR5cGUiKTsKKworCXNpZ2NoYWluX3B1c2goU0lHUElQRSwgU0lHX0lHTik7CisKKwlhc3NlcnQoc3RybGVuKGZpbHRlcl90eXBlKSA8IExBUkdFX1BBQ0tFVF9EQVRBX01BWCAtIHN0cmxlbigiY29tbWFuZD1cbiIpKTsKKwllcnIgPSBwYWNrZXRfd3JpdGVfZm10X2dlbnRseShwcm9jZXNzLT5pbiwgImNvbW1hbmQ9JXNcbiIsIGZpbHRlcl90eXBlKTsKKwlpZiAoZXJyKQorCQlnb3RvIGRvbmU7CisKKwllcnIgPSBzdHJsZW4ocGF0aCkgPiBMQVJHRV9QQUNLRVRfREFUQV9NQVggLSBzdHJsZW4oInBhdGhuYW1lPVxuIik7CisJaWYgKGVycikgeworCQllcnJvcigicGF0aCBuYW1lIHRvbyBsb25nIGZvciBleHRlcm5hbCBmaWx0ZXIiKTsKKwkJZ290byBkb25lOworCX0KKworCWVyciA9IHBhY2tldF93cml0ZV9mbXRfZ2VudGx5KHByb2Nlc3MtPmluLCAicGF0aG5hbWU9JXNcbiIsIHBhdGgpOworCWlmIChlcnIpCisJCWdvdG8gZG9uZTsKKworCWVyciA9IHBhY2tldF9mbHVzaF9nZW50bHkocHJvY2Vzcy0+aW4pOworCWlmIChlcnIpCisJCWdvdG8gZG9uZTsKKworCWlmIChmZCA+PSAwKQorCQllcnIgPSB3cml0ZV9wYWNrZXRpemVkX2Zyb21fZmQoZmQsIHByb2Nlc3MtPmluKTsKKwllbHNlCisJCWVyciA9IHdyaXRlX3BhY2tldGl6ZWRfZnJvbV9idWYoc3JjLCBsZW4sIHByb2Nlc3MtPmluKTsKKwlpZiAoZXJyKQorCQlnb3RvIGRvbmU7CisKKwlyZWFkX211bHRpX2ZpbGVfZmlsdGVyX3N0YXR1cyhwcm9jZXNzLT5vdXQsICZmaWx0ZXJfc3RhdHVzKTsKKwllcnIgPSBzdHJjbXAoZmlsdGVyX3N0YXR1cy5idWYsICJzdWNjZXNzIik7CisJaWYgKGVycikKKwkJZ290byBkb25lOworCisJZXJyID0gcmVhZF9wYWNrZXRpemVkX3RvX3N0cmJ1Zihwcm9jZXNzLT5vdXQsICZuYnVmKSA8IDA7CisJaWYgKGVycikKKwkJZ290byBkb25lOworCisJcmVhZF9tdWx0aV9maWxlX2ZpbHRlcl9zdGF0dXMocHJvY2Vzcy0+b3V0LCAmZmlsdGVyX3N0YXR1cyk7CisJZXJyID0gc3RyY21wKGZpbHRlcl9zdGF0dXMuYnVmLCAic3VjY2VzcyIpOworCitkb25lOgorCXNpZ2NoYWluX3BvcChTSUdQSVBFKTsKKworCWlmIChlcnIgfHwgZXJybm8gPT0gRVBJUEUpIHsKKwkJaWYgKCFzdHJjbXAoZmlsdGVyX3N0YXR1cy5idWYsICJlcnJvciIpKSB7CisJCQkvKiBUaGUgZmlsdGVyIHNpZ25hbGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBmaWxlLiAqLworCQl9IGVsc2UgaWYgKCFzdHJjbXAoZmlsdGVyX3N0YXR1cy5idWYsICJhYm9ydCIpKSB7CisJCQkvKgorCQkJICogVGhlIGZpbHRlciBzaWduYWxlZCBhIHBlcm1hbmVudCBwcm9ibGVtLiBEb24ndCB0cnkgdG8gZmlsdGVyCisJCQkgKiBmaWxlcyB3aXRoIHRoZSBzYW1lIGNvbW1hbmQgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUgY3VycmVudAorCQkJICogR2l0IHByb2Nlc3MuCisJCQkgKi8KKwkJCSBlbnRyeS0+c3VwcG9ydGVkX2NhcGFiaWxpdGllcyAmPSB+d2FudGVkX2NhcGFiaWxpdHk7CisJCX0gZWxzZSB7CisJCQkvKgorCQkJICogU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2l0aCB0aGUgcHJvdG9jb2wgZmlsdGVyLgorCQkJICogRm9yY2Ugc2h1dGRvd24gYW5kIHJlc3RhcnQgaWYgYW5vdGhlciBibG9iIHJlcXVpcmVzIGZpbHRlcmluZy4KKwkJCSAqLworCQkJZXJyb3IoImV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCIsIGNtZCk7CisJCQlraWxsX211bHRpX2ZpbGVfZmlsdGVyKCZjbWRfcHJvY2Vzc19tYXAsIGVudHJ5KTsKKwkJfQorCX0gZWxzZSB7CisJCXN0cmJ1Zl9zd2FwKGRzdCwgJm5idWYpOworCX0KKwlzdHJidWZfcmVsZWFzZSgmbmJ1Zik7CisJcmV0dXJuICFlcnI7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgY29udmVydF9kcml2ZXIgewpAQCAtNDg2LDkgKzc4MSwzNSBAQAogCXN0cnVjdCBjb252ZXJ0X2RyaXZlciAqbmV4dDsKIAljb25zdCBjaGFyICpzbXVkZ2U7CiAJY29uc3QgY2hhciAqY2xlYW47CisJY29uc3QgY2hhciAqcHJvY2VzczsKIAlpbnQgcmVxdWlyZWQ7CiB9ICp1c2VyX2NvbnZlcnQsICoqdXNlcl9jb252ZXJ0X3RhaWw7CiAKK3N0YXRpYyBpbnQgYXBwbHlfZmlsdGVyKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IGxlbiwKKwkJCWludCBmZCwgc3RydWN0IHN0cmJ1ZiAqZHN0LCBzdHJ1Y3QgY29udmVydF9kcml2ZXIgKmRydiwKKwkJCWNvbnN0IHVuc2lnbmVkIGludCB3YW50ZWRfY2FwYWJpbGl0eSkKK3sKKwljb25zdCBjaGFyICpjbWQgPSBOVUxMOworCisJaWYgKCFkcnYpCisJCXJldHVybiAwOworCisJaWYgKCFkc3QpCisJCXJldHVybiAxOworCisJaWYgKChDQVBfQ0xFQU4gJiB3YW50ZWRfY2FwYWJpbGl0eSkgJiYgIWRydi0+cHJvY2VzcyAmJiBkcnYtPmNsZWFuKQorCQljbWQgPSBkcnYtPmNsZWFuOworCWVsc2UgaWYgKChDQVBfU01VREdFICYgd2FudGVkX2NhcGFiaWxpdHkpICYmICFkcnYtPnByb2Nlc3MgJiYgZHJ2LT5zbXVkZ2UpCisJCWNtZCA9IGRydi0+c211ZGdlOworCisJaWYgKGNtZCAmJiAqY21kKQorCQlyZXR1cm4gYXBwbHlfc2luZ2xlX2ZpbGVfZmlsdGVyKHBhdGgsIHNyYywgbGVuLCBmZCwgZHN0LCBjbWQpOworCWVsc2UgaWYgKGRydi0+cHJvY2VzcyAmJiAqZHJ2LT5wcm9jZXNzKQorCQlyZXR1cm4gYXBwbHlfbXVsdGlfZmlsZV9maWx0ZXIocGF0aCwgc3JjLCBsZW4sIGZkLCBkc3QsIGRydi0+cHJvY2Vzcywgd2FudGVkX2NhcGFiaWxpdHkpOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgcmVhZF9jb252ZXJ0X2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKIHsKIAljb25zdCBjaGFyICprZXksICpuYW1lOwpAQCAtNTI2LDYgKzg0Nyw5IEBACiAJaWYgKCFzdHJjbXAoImNsZWFuIiwga2V5KSkKIAkJcmV0dXJuIGdpdF9jb25maWdfc3RyaW5nKCZkcnYtPmNsZWFuLCB2YXIsIHZhbHVlKTsKIAorCWlmICghc3RyY21wKCJwcm9jZXNzIiwga2V5KSkKKwkJcmV0dXJuIGdpdF9jb25maWdfc3RyaW5nKCZkcnYtPnByb2Nlc3MsIHZhciwgdmFsdWUpOworCiAJaWYgKCFzdHJjbXAoInJlcXVpcmVkIiwga2V5KSkgewogCQlkcnYtPnJlcXVpcmVkID0gZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpOwogCQlyZXR1cm4gMDsKQEAgLTc4Niw3ICsxMTEwLDExIEBACiAJCWNhLT5kcnYgPSBnaXRfcGF0aF9jaGVja19jb252ZXJ0KGNjaGVjayArIDIpOwogCQlpZiAoY2EtPmNybGZfYWN0aW9uICE9IENSTEZfQklOQVJZKSB7CiAJCQllbnVtIGVvbCBlb2xfYXR0ciA9IGdpdF9wYXRoX2NoZWNrX2VvbChjY2hlY2sgKyAzKTsKLQkJCWlmIChlb2xfYXR0ciA9PSBFT0xfTEYpCisJCQlpZiAoY2EtPmNybGZfYWN0aW9uID09IENSTEZfQVVUTyAmJiBlb2xfYXR0ciA9PSBFT0xfTEYpCisJCQkJY2EtPmNybGZfYWN0aW9uID0gQ1JMRl9BVVRPX0lOUFVUOworCQkJZWxzZSBpZiAoY2EtPmNybGZfYWN0aW9uID09IENSTEZfQVVUTyAmJiBlb2xfYXR0ciA9PSBFT0xfQ1JMRikKKwkJCQljYS0+Y3JsZl9hY3Rpb24gPSBDUkxGX0FVVE9fQ1JMRjsKKwkJCWVsc2UgaWYgKGVvbF9hdHRyID09IEVPTF9MRikKIAkJCQljYS0+Y3JsZl9hY3Rpb24gPSBDUkxGX1RFWFRfSU5QVVQ7CiAJCQllbHNlIGlmIChlb2xfYXR0ciA9PSBFT0xfQ1JMRikKIAkJCQljYS0+Y3JsZl9hY3Rpb24gPSBDUkxGX1RFWFRfQ1JMRjsKQEAgLTgyMyw3ICsxMTUxLDcgQEAKIAlpZiAoIWNhLmRydi0+cmVxdWlyZWQpCiAJCXJldHVybiAwOwogCi0JcmV0dXJuIGFwcGx5X2ZpbHRlcihwYXRoLCBOVUxMLCAwLCAtMSwgTlVMTCwgY2EuZHJ2LT5jbGVhbik7CisJcmV0dXJuIGFwcGx5X2ZpbHRlcihwYXRoLCBOVUxMLCAwLCAtMSwgTlVMTCwgY2EuZHJ2LCBDQVBfQ0xFQU4pOwogfQogCiBjb25zdCBjaGFyICpnZXRfY29udmVydF9hdHRyX2FzY2lpKGNvbnN0IGNoYXIgKnBhdGgpCkBAIC04NDUsOSArMTE3Myw5IEBACiAJY2FzZSBDUkxGX0FVVE86CiAJCXJldHVybiAidGV4dD1hdXRvIjsKIAljYXNlIENSTEZfQVVUT19DUkxGOgotCQlyZXR1cm4gInRleHQ9YXV0byBlb2w9Y3JsZiI7IC8qIFRoaXMgaXMgbm90IHN1cHBvcnRlZCB5ZXQgKi8KKwkJcmV0dXJuICJ0ZXh0PWF1dG8gZW9sPWNybGYiOwogCWNhc2UgQ1JMRl9BVVRPX0lOUFVUOgotCQlyZXR1cm4gInRleHQ9YXV0byBlb2w9bGYiOyAvKiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQgeWV0ICovCisJCXJldHVybiAidGV4dD1hdXRvIGVvbD1sZiI7CiAJfQogCXJldHVybiAiIjsKIH0KQEAgLTg1NiwxOCArMTE4NCwxMiBAQAogICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzdHJidWYgKmRzdCwgZW51bSBzYWZlX2NybGYgY2hlY2tzYWZlKQogewogCWludCByZXQgPSAwOwotCWNvbnN0IGNoYXIgKmZpbHRlciA9IE5VTEw7Ci0JaW50IHJlcXVpcmVkID0gMDsKIAlzdHJ1Y3QgY29udl9hdHRycyBjYTsKIAogCWNvbnZlcnRfYXR0cnMoJmNhLCBwYXRoKTsKLQlpZiAoY2EuZHJ2KSB7Ci0JCWZpbHRlciA9IGNhLmRydi0+Y2xlYW47Ci0JCXJlcXVpcmVkID0gY2EuZHJ2LT5yZXF1aXJlZDsKLQl9CiAKLQlyZXQgfD0gYXBwbHlfZmlsdGVyKHBhdGgsIHNyYywgbGVuLCAtMSwgZHN0LCBmaWx0ZXIpOwotCWlmICghcmV0ICYmIHJlcXVpcmVkKQorCXJldCB8PSBhcHBseV9maWx0ZXIocGF0aCwgc3JjLCBsZW4sIC0xLCBkc3QsIGNhLmRydiwgQ0FQX0NMRUFOKTsKKwlpZiAoIXJldCAmJiBjYS5kcnYgJiYgY2EuZHJ2LT5yZXF1aXJlZCkKIAkJZGllKCIlczogY2xlYW4gZmlsdGVyICclcycgZmFpbGVkIiwgcGF0aCwgY2EuZHJ2LT5uYW1lKTsKIAogCWlmIChyZXQgJiYgZHN0KSB7CkBAIC04ODksOSArMTIxMSw5IEBACiAJY29udmVydF9hdHRycygmY2EsIHBhdGgpOwogCiAJYXNzZXJ0KGNhLmRydik7Ci0JYXNzZXJ0KGNhLmRydi0+Y2xlYW4pOworCWFzc2VydChjYS5kcnYtPmNsZWFuIHx8IGNhLmRydi0+cHJvY2Vzcyk7CiAKLQlpZiAoIWFwcGx5X2ZpbHRlcihwYXRoLCBOVUxMLCAwLCBmZCwgZHN0LCBjYS5kcnYtPmNsZWFuKSkKKwlpZiAoIWFwcGx5X2ZpbHRlcihwYXRoLCBOVUxMLCAwLCBmZCwgZHN0LCBjYS5kcnYsIENBUF9DTEVBTikpCiAJCWRpZSgiJXM6IGNsZWFuIGZpbHRlciAnJXMnIGZhaWxlZCIsIHBhdGgsIGNhLmRydi0+bmFtZSk7CiAKIAljcmxmX3RvX2dpdChwYXRoLCBkc3QtPmJ1ZiwgZHN0LT5sZW4sIGRzdCwgY2EuY3JsZl9hY3Rpb24sIGNoZWNrc2FmZSk7CkBAIC05MDMsMTUgKzEyMjUsOSBAQAogCQkJCQkgICAgaW50IG5vcm1hbGl6aW5nKQogewogCWludCByZXQgPSAwLCByZXRfZmlsdGVyID0gMDsKLQljb25zdCBjaGFyICpmaWx0ZXIgPSBOVUxMOwotCWludCByZXF1aXJlZCA9IDA7CiAJc3RydWN0IGNvbnZfYXR0cnMgY2E7CiAKIAljb252ZXJ0X2F0dHJzKCZjYSwgcGF0aCk7Ci0JaWYgKGNhLmRydikgewotCQlmaWx0ZXIgPSBjYS5kcnYtPnNtdWRnZTsKLQkJcmVxdWlyZWQgPSBjYS5kcnYtPnJlcXVpcmVkOwotCX0KIAogCXJldCB8PSBpZGVudF90b193b3JrdHJlZShwYXRoLCBzcmMsIGxlbiwgZHN0LCBjYS5pZGVudCk7CiAJaWYgKHJldCkgewpAQCAtOTIwLDkgKzEyMzYsMTAgQEAKIAl9CiAJLyoKIAkgKiBDUkxGIGNvbnZlcnNpb24gY2FuIGJlIHNraXBwZWQgaWYgbm9ybWFsaXppbmcsIHVubGVzcyB0aGVyZQotCSAqIGlzIGEgc211ZGdlIGZpbHRlci4gIFRoZSBmaWx0ZXIgbWlnaHQgZXhwZWN0IENSTEZzLgorCSAqIGlzIGEgc211ZGdlIG9yIHByb2Nlc3MgZmlsdGVyIChldmVuIGlmIHRoZSBwcm9jZXNzIGZpbHRlciBkb2Vzbid0CisJICogc3VwcG9ydCBzbXVkZ2UpLiAgVGhlIGZpbHRlcnMgbWlnaHQgZXhwZWN0IENSTEZzLgogCSAqLwotCWlmIChmaWx0ZXIgfHwgIW5vcm1hbGl6aW5nKSB7CisJaWYgKChjYS5kcnYgJiYgKGNhLmRydi0+c211ZGdlIHx8IGNhLmRydi0+cHJvY2VzcykpIHx8ICFub3JtYWxpemluZykgewogCQlyZXQgfD0gY3JsZl90b193b3JrdHJlZShwYXRoLCBzcmMsIGxlbiwgZHN0LCBjYS5jcmxmX2FjdGlvbik7CiAJCWlmIChyZXQpIHsKIAkJCXNyYyA9IGRzdC0+YnVmOwpAQCAtOTMwLDggKzEyNDcsOCBAQAogCQl9CiAJfQogCi0JcmV0X2ZpbHRlciA9IGFwcGx5X2ZpbHRlcihwYXRoLCBzcmMsIGxlbiwgLTEsIGRzdCwgZmlsdGVyKTsKLQlpZiAoIXJldF9maWx0ZXIgJiYgcmVxdWlyZWQpCisJcmV0X2ZpbHRlciA9IGFwcGx5X2ZpbHRlcihwYXRoLCBzcmMsIGxlbiwgLTEsIGRzdCwgY2EuZHJ2LCBDQVBfU01VREdFKTsKKwlpZiAoIXJldF9maWx0ZXIgJiYgY2EuZHJ2ICYmIGNhLmRydi0+cmVxdWlyZWQpCiAJCWRpZSgiJXM6IHNtdWRnZSBmaWx0ZXIgJXMgZmFpbGVkIiwgcGF0aCwgY2EuZHJ2LT5uYW1lKTsKIAogCXJldHVybiByZXQgfCByZXRfZmlsdGVyOwpAQCAtOTQ5LDcgKzEyNjYsNyBAQAogCQlzcmMgPSBkc3QtPmJ1ZjsKIAkJbGVuID0gZHN0LT5sZW47CiAJfQotCXJldHVybiByZXQgfCBjb252ZXJ0X3RvX2dpdChwYXRoLCBzcmMsIGxlbiwgZHN0LCBTQUZFX0NSTEZfRkFMU0UpOworCXJldHVybiByZXQgfCBjb252ZXJ0X3RvX2dpdChwYXRoLCBzcmMsIGxlbiwgZHN0LCBTQUZFX0NSTEZfUkVOT1JNQUxJWkUpOwogfQogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTEzODMsNyArMTcwMCw3IEBACiAJc3RydWN0IHN0cmVhbV9maWx0ZXIgKmZpbHRlciA9IE5VTEw7CiAKIAljb252ZXJ0X2F0dHJzKCZjYSwgcGF0aCk7Ci0JaWYgKGNhLmRydiAmJiAoY2EuZHJ2LT5zbXVkZ2UgfHwgY2EuZHJ2LT5jbGVhbikpCisJaWYgKGNhLmRydiAmJiAoY2EuZHJ2LT5wcm9jZXNzIHx8IGNhLmRydi0+c211ZGdlIHx8IGNhLmRydi0+Y2xlYW4pKQogCQlyZXR1cm4gTlVMTDsKIAogCWlmIChjYS5jcmxmX2FjdGlvbiA9PSBDUkxGX0FVVE8gfHwgY2EuY3JsZl9hY3Rpb24gPT0gQ1JMRl9BVVRPX0NSTEYpCmRpZmYgLS1naXQgYS9jb252ZXJ0LmggYi9jb252ZXJ0LmgKaW5kZXggY2NmNDM2Yi4uODI4NzFhMSAxMDA2NDQKLS0tIGEvY29udmVydC5oCisrKyBiL2NvbnZlcnQuaApAQCAtNyw3ICs3LDggQEAKIGVudW0gc2FmZV9jcmxmIHsKIAlTQUZFX0NSTEZfRkFMU0UgPSAwLAogCVNBRkVfQ1JMRl9GQUlMID0gMSwKLQlTQUZFX0NSTEZfV0FSTiA9IDIKKwlTQUZFX0NSTEZfV0FSTiA9IDIsCisJU0FGRV9DUkxGX1JFTk9STUFMSVpFID0gMwogfTsKIAogZXh0ZXJuIGVudW0gc2FmZV9jcmxmIHNhZmVfY3JsZjsKZGlmZiAtLWdpdCBhL2NyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jIGIvY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmMKaW5kZXggMWU1ZjE2YS4uNDZjNTkzNyAxMDA2NDQKLS0tIGEvY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmMKKysrIGIvY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmMKQEAgLTIxOSwxMSArMjE5LDExIEBACiAJY2xvc2UoZmQpOwogfQogCi1zdGF0aWMgY29uc3QgY2hhciBwZXJtaXNzaW9uc19hZHZpY2VbXSA9CitzdGF0aWMgY29uc3QgY2hhciBwZXJtaXNzaW9uc19hZHZpY2VbXSA9IE5fKAogIlRoZSBwZXJtaXNzaW9ucyBvbiB5b3VyIHNvY2tldCBkaXJlY3RvcnkgYXJlIHRvbyBsb29zZTsgb3RoZXJcbiIKICJ1c2VycyBtYXkgYmUgYWJsZSB0byByZWFkIHlvdXIgY2FjaGVkIGNyZWRlbnRpYWxzLiBDb25zaWRlciBydW5uaW5nOlxuIgogIlxuIgotIgljaG1vZCAwNzAwICVzIjsKKyIJY2htb2QgMDcwMCAlcyIpOwogc3RhdGljIHZvaWQgaW5pdF9zb2NrZXRfZGlyZWN0b3J5KGNvbnN0IGNoYXIgKnBhdGgpCiB7CiAJc3RydWN0IHN0YXQgc3Q7CkBAIC0yMzIsNyArMjMyLDcgQEAKIAogCWlmICghc3RhdChkaXIsICZzdCkpIHsKIAkJaWYgKHN0LnN0X21vZGUgJiAwNzcpCi0JCQlkaWUocGVybWlzc2lvbnNfYWR2aWNlLCBkaXIpOworCQkJZGllKF8ocGVybWlzc2lvbnNfYWR2aWNlKSwgZGlyKTsKIAl9IGVsc2UgewogCQkvKgogCQkgKiBXZSBtdXN0IGJlIHN1cmUgdG8gY3JlYXRlIHRoZSBkaXJlY3Rvcnkgd2l0aCB0aGUgY29ycmVjdCBtb2RlLApkaWZmIC0tZ2l0IGEvZGFlbW9uLmMgYi9kYWVtb24uYwppbmRleCA1Njk5OTdjLi40NzNlNmI2IDEwMDY0NAotLS0gYS9kYWVtb24uYworKysgYi9kYWVtb24uYwpAQCAtMTYwLDYgKzE2MCw3IEBACiB7CiAJc3RhdGljIGNoYXIgcnBhdGhbUEFUSF9NQVhdOwogCXN0YXRpYyBjaGFyIGludGVycF9wYXRoW1BBVEhfTUFYXTsKKwlzaXplX3QgcmxlbjsKIAljb25zdCBjaGFyICpwYXRoOwogCWNvbnN0IGNoYXIgKmRpcjsKIApAQCAtMTg3LDggKzE4OCwxMiBAQAogCQkJbmFtbGVuID0gc2xhc2ggLSBkaXI7CiAJCQlyZXN0bGVuIC09IG5hbWxlbjsKIAkJCWxvZ2luZm8oInVzZXJwYXRoIDwlcz4sIHJlcXVlc3QgPCVzPiwgbmFtbGVuICVkLCByZXN0bGVuICVkLCBzbGFzaCA8JXM+IiwgdXNlcl9wYXRoLCBkaXIsIG5hbWxlbiwgcmVzdGxlbiwgc2xhc2gpOwotCQkJc25wcmludGYocnBhdGgsIFBBVEhfTUFYLCAiJS4qcy8lcyUuKnMiLAotCQkJCSBuYW1sZW4sIGRpciwgdXNlcl9wYXRoLCByZXN0bGVuLCBzbGFzaCk7CisJCQlybGVuID0gc25wcmludGYocnBhdGgsIHNpemVvZihycGF0aCksICIlLipzLyVzJS4qcyIsCisJCQkJCW5hbWxlbiwgZGlyLCB1c2VyX3BhdGgsIHJlc3RsZW4sIHNsYXNoKTsKKwkJCWlmIChybGVuID49IHNpemVvZihycGF0aCkpIHsKKwkJCQlsb2dlcnJvcigidXNlci1wYXRoIHRvbyBsYXJnZTogJXMiLCBycGF0aCk7CisJCQkJcmV0dXJuIE5VTEw7CisJCQl9CiAJCQlkaXIgPSBycGF0aDsKIAkJfQogCX0KQEAgLTIwNyw3ICsyMTIsMTUgQEAKIAogCQlzdHJidWZfZXhwYW5kKCZleHBhbmRlZF9wYXRoLCBpbnRlcnBvbGF0ZWRfcGF0aCwKIAkJCSAgICAgIGV4cGFuZF9wYXRoLCAmY29udGV4dCk7Ci0JCXN0cmxjcHkoaW50ZXJwX3BhdGgsIGV4cGFuZGVkX3BhdGguYnVmLCBQQVRIX01BWCk7CisKKwkJcmxlbiA9IHN0cmxjcHkoaW50ZXJwX3BhdGgsIGV4cGFuZGVkX3BhdGguYnVmLAorCQkJICAgICAgIHNpemVvZihpbnRlcnBfcGF0aCkpOworCQlpZiAocmxlbiA+PSBzaXplb2YoaW50ZXJwX3BhdGgpKSB7CisJCQlsb2dlcnJvcigiaW50ZXJwb2xhdGVkIHBhdGggdG9vIGxhcmdlOiAlcyIsCisJCQkJIGludGVycF9wYXRoKTsKKwkJCXJldHVybiBOVUxMOworCQl9CisKIAkJc3RyYnVmX3JlbGVhc2UoJmV4cGFuZGVkX3BhdGgpOwogCQlsb2dpbmZvKCJJbnRlcnBvbGF0ZWQgZGlyICclcyciLCBpbnRlcnBfcGF0aCk7CiAKQEAgLTIxOSw3ICsyMzIsMTEgQEAKIAkJCWxvZ2Vycm9yKCInJXMnOiBOb24tYWJzb2x1dGUgcGF0aCBkZW5pZWQgKGJhc2UtcGF0aCBhY3RpdmUpIiwgZGlyKTsKIAkJCXJldHVybiBOVUxMOwogCQl9Ci0JCXNucHJpbnRmKHJwYXRoLCBQQVRIX01BWCwgIiVzJXMiLCBiYXNlX3BhdGgsIGRpcik7CisJCXJsZW4gPSBzbnByaW50ZihycGF0aCwgc2l6ZW9mKHJwYXRoKSwgIiVzJXMiLCBiYXNlX3BhdGgsIGRpcik7CisJCWlmIChybGVuID49IHNpemVvZihycGF0aCkpIHsKKwkJCWxvZ2Vycm9yKCJiYXNlLXBhdGggdG9vIGxhcmdlOiAlcyIsIHJwYXRoKTsKKwkJCXJldHVybiBOVUxMOworCQl9CiAJCWRpciA9IHJwYXRoOwogCX0KIApAQCAtMjgxLDcgKzI5OCw3IEBACiB7CiAJaWYgKCFpbmZvcm1hdGl2ZV9lcnJvcnMpCiAJCW1zZyA9ICJhY2Nlc3MgZGVuaWVkIG9yIHJlcG9zaXRvcnkgbm90IGV4cG9ydGVkIjsKLQlwYWNrZXRfd3JpdGUoMSwgIkVSUiAlczogJXMiLCBtc2csIGRpcik7CisJcGFja2V0X3dyaXRlX2ZtdCgxLCAiRVJSICVzOiAlcyIsIG1zZywgZGlyKTsKIAlyZXR1cm4gLTE7CiB9CiAKQEAgLTY2OCw2ICs2ODUsMTcgQEAKIAlzdHJidWZfcmVsZWFzZSgmaGktPnRjcF9wb3J0KTsKIH0KIAorc3RhdGljIHZvaWQgc2V0X2tlZXBfYWxpdmUoaW50IHNvY2tmZCkKK3sKKwlpbnQga2EgPSAxOworCisJaWYgKHNldHNvY2tvcHQoc29ja2ZkLCBTT0xfU09DS0VULCBTT19LRUVQQUxJVkUsICZrYSwgc2l6ZW9mKGthKSkgPCAwKSB7CisJCWlmIChlcnJubyAhPSBFTk9UU09DSykKKwkJCWxvZ2Vycm9yKCJ1bmFibGUgdG8gc2V0IFNPX0tFRVBBTElWRSBvbiBzb2NrZXQ6ICVzIiwKKwkJCQlzdHJlcnJvcihlcnJubykpOworCX0KK30KKwogc3RhdGljIGludCBleGVjdXRlKHZvaWQpCiB7CiAJY2hhciAqbGluZSA9IHBhY2tldF9idWZmZXI7CkBAIC02ODAsNiArNzA4LDcgQEAKIAlpZiAoYWRkcikKIAkJbG9naW5mbygiQ29ubmVjdGlvbiBmcm9tICVzOiVzIiwgYWRkciwgcG9ydCk7CiAKKwlzZXRfa2VlcF9hbGl2ZSgwKTsKIAlhbGFybShpbml0X3RpbWVvdXQgPyBpbml0X3RpbWVvdXQgOiB0aW1lb3V0KTsKIAlwa3RsZW4gPSBwYWNrZXRfcmVhZCgwLCBOVUxMLCBOVUxMLCBwYWNrZXRfYnVmZmVyLCBzaXplb2YocGFja2V0X2J1ZmZlciksIDApOwogCWFsYXJtKDApOwpAQCAtOTUwLDYgKzk3OSw4IEBACiAJCQljb250aW51ZTsKIAkJfQogCisJCXNldF9rZWVwX2FsaXZlKHNvY2tmZCk7CisKIAkJaWYgKGJpbmQoc29ja2ZkLCBhaS0+YWlfYWRkciwgYWktPmFpX2FkZHJsZW4pIDwgMCkgewogCQkJbG9nZXJyb3IoIkNvdWxkIG5vdCBiaW5kIHRvICVzOiAlcyIsCiAJCQkJIGlwMnN0cihhaS0+YWlfZmFtaWx5LCBhaS0+YWlfYWRkciwgYWktPmFpX2FkZHJsZW4pLApAQCAtMTAwOSw2ICsxMDQwLDggQEAKIAkJcmV0dXJuIDA7CiAJfQogCisJc2V0X2tlZXBfYWxpdmUoc29ja2ZkKTsKKwogCWlmICggYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikmc2luLCBzaXplb2Ygc2luKSA8IDAgKSB7CiAJCWxvZ2Vycm9yKCJDb3VsZCBub3QgYmluZCB0byAlczogJXMiLAogCQkJIGlwMnN0cihBRl9JTkVULCAoc3RydWN0IHNvY2thZGRyICopJnNpbiwgc2l6ZW9mKHNpbikpLApkaWZmIC0tZ2l0IGEvZGF0ZS5jIGIvZGF0ZS5jCmluZGV4IDdjOWY3NjkuLmE5OTYzMzEgMTAwNjQ0Ci0tLSBhL2RhdGUuYworKysgYi9kYXRlLmMKQEAgLTc0LDYgKzc0LDggQEAKIAlsb2NhbHRpbWVfcigmdCwgJnRtKTsKIAl0X2xvY2FsID0gdG1fdG9fdGltZV90KCZ0bSk7CiAKKwlpZiAodF9sb2NhbCA9PSAtMSkKKwkJcmV0dXJuIDA7IC8qIGVycm9yOyBqdXN0IHVzZSArMDAwMCAqLwogCWlmICh0X2xvY2FsIDwgdCkgewogCQllYXN0d2VzdCA9IC0xOwogCQlvZmZzZXQgPSB0IC0gdF9sb2NhbDsKQEAgLTE3NSw2ICsxNzcsMTIgQEAKIAlzdHJ1Y3QgdG0gKnRtOwogCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIHRpbWVidWYgPSBTVFJCVUZfSU5JVDsKIAorCWlmIChtb2RlLT50eXBlID09IERBVEVfVU5JWCkgeworCQlzdHJidWZfcmVzZXQoJnRpbWVidWYpOworCQlzdHJidWZfYWRkZigmdGltZWJ1ZiwgIiVsdSIsIHRpbWUpOworCQlyZXR1cm4gdGltZWJ1Zi5idWY7CisJfQorCiAJaWYgKG1vZGUtPmxvY2FsKQogCQl0eiA9IGxvY2FsX3R6b2Zmc2V0KHRpbWUpOwogCkBAIC03OTAsNiArNzk4LDggQEAKIAkJcmV0dXJuIERBVEVfTk9STUFMOwogCWlmIChza2lwX3ByZWZpeChmb3JtYXQsICJyYXciLCBlbmQpKQogCQlyZXR1cm4gREFURV9SQVc7CisJaWYgKHNraXBfcHJlZml4KGZvcm1hdCwgInVuaXgiLCBlbmQpKQorCQlyZXR1cm4gREFURV9VTklYOwogCWlmIChza2lwX3ByZWZpeChmb3JtYXQsICJmb3JtYXQiLCBlbmQpKQogCQlyZXR1cm4gREFURV9TVFJGVElNRTsKIApkaWZmIC0tZ2l0IGEvZGlmZi1saWIuYyBiL2RpZmYtbGliLmMKaW5kZXggYmM0OWM3MC4uNTI0NDc0NiAxMDA2NDQKLS0tIGEvZGlmZi1saWIuYworKysgYi9kaWZmLWxpYi5jCkBAIC0xNTUsNyArMTU1LDggQEAKIAkJCQlpZiAoMiA8PSBzdGFnZSkgewogCQkJCQlpbnQgbW9kZSA9IG5jZS0+Y2VfbW9kZTsKIAkJCQkJbnVtX2NvbXBhcmVfc3RhZ2VzKys7Ci0JCQkJCWhhc2hjcHkoZHBhdGgtPnBhcmVudFtzdGFnZS0yXS5vaWQuaGFzaCwgbmNlLT5zaGExKTsKKwkJCQkJb2lkY3B5KCZkcGF0aC0+cGFyZW50W3N0YWdlIC0gMl0ub2lkLAorCQkJCQkgICAgICAgJm5jZS0+b2lkKTsKIAkJCQkJZHBhdGgtPnBhcmVudFtzdGFnZS0yXS5tb2RlID0gY2VfbW9kZV9mcm9tX3N0YXQobmNlLCBtb2RlKTsKIAkJCQkJZHBhdGgtPnBhcmVudFtzdGFnZS0yXS5zdGF0dXMgPQogCQkJCQkJRElGRl9TVEFUVVNfTU9ESUZJRUQ7CkBAIC0yMDksNyArMjEwLDE0IEBACiAJCQkJCWNvbnRpbnVlOwogCQkJCX0KIAkJCQlkaWZmX2FkZHJlbW92ZSgmcmV2cy0+ZGlmZm9wdCwgJy0nLCBjZS0+Y2VfbW9kZSwKLQkJCQkJICAgICAgIGNlLT5zaGExLCAhaXNfbnVsbF9zaGExKGNlLT5zaGExKSwKKwkJCQkJICAgICAgIGNlLT5vaWQuaGFzaCwKKwkJCQkJICAgICAgICFpc19udWxsX29pZCgmY2UtPm9pZCksCisJCQkJCSAgICAgICBjZS0+bmFtZSwgMCk7CisJCQkJY29udGludWU7CisJCQl9IGVsc2UgaWYgKHJldnMtPmRpZmZvcHQuaXRhX2ludmlzaWJsZV9pbl9pbmRleCAmJgorCQkJCSAgIGNlX2ludGVudF90b19hZGQoY2UpKSB7CisJCQkJZGlmZl9hZGRyZW1vdmUoJnJldnMtPmRpZmZvcHQsICcrJywgY2UtPmNlX21vZGUsCisJCQkJCSAgICAgICBFTVBUWV9CTE9CX1NIQTFfQklOLCAwLAogCQkJCQkgICAgICAgY2UtPm5hbWUsIDApOwogCQkJCWNvbnRpbnVlOwogCQkJfQpAQCAtMjI1LDggKzIzMyw4IEBACiAJCQkJY29udGludWU7CiAJCX0KIAkJb2xkbW9kZSA9IGNlLT5jZV9tb2RlOwotCQlvbGRfc2hhMSA9IGNlLT5zaGExOwotCQluZXdfc2hhMSA9IGNoYW5nZWQgPyBudWxsX3NoYTEgOiBjZS0+c2hhMTsKKwkJb2xkX3NoYTEgPSBjZS0+b2lkLmhhc2g7CisJCW5ld19zaGExID0gY2hhbmdlZCA/IG51bGxfc2hhMSA6IGNlLT5vaWQuaGFzaDsKIAkJZGlmZl9jaGFuZ2UoJnJldnMtPmRpZmZvcHQsIG9sZG1vZGUsIG5ld21vZGUsCiAJCQkgICAgb2xkX3NoYTEsIG5ld19zaGExLAogCQkJICAgICFpc19udWxsX3NoYTEob2xkX3NoYTEpLApAQCAtMjYxLDcgKzI2OSw3IEBACiAJCQkgaW50IGNhY2hlZCwgaW50IG1hdGNoX21pc3NpbmcsCiAJCQkgdW5zaWduZWQgKmRpcnR5X3N1Ym1vZHVsZSwgc3RydWN0IGRpZmZfb3B0aW9ucyAqZGlmZm9wdCkKIHsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpzaGExID0gY2UtPnNoYTE7CisJY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSA9IGNlLT5vaWQuaGFzaDsKIAl1bnNpZ25lZCBpbnQgbW9kZSA9IGNlLT5jZV9tb2RlOwogCiAJaWYgKCFjYWNoZWQgJiYgIWNlX3VwdG9kYXRlKGNlKSkgewpAQCAtMzI0LDEyICszMzIsMTMgQEAKIAkJCSAgJmRpcnR5X3N1Ym1vZHVsZSwgJnJldnMtPmRpZmZvcHQpIDwgMCkgewogCQlpZiAocmVwb3J0X21pc3NpbmcpCiAJCQlkaWZmX2luZGV4X3Nob3dfZmlsZShyZXZzLCAiLSIsIG9sZCwKLQkJCQkJICAgICBvbGQtPnNoYTEsIDEsIG9sZC0+Y2VfbW9kZSwgMCk7CisJCQkJCSAgICAgb2xkLT5vaWQuaGFzaCwgMSwgb2xkLT5jZV9tb2RlLAorCQkJCQkgICAgIDApOwogCQlyZXR1cm4gLTE7CiAJfQogCiAJaWYgKHJldnMtPmNvbWJpbmVfbWVyZ2VzICYmICFjYWNoZWQgJiYKLQkgICAgKGhhc2hjbXAoc2hhMSwgb2xkLT5zaGExKSB8fCBoYXNoY21wKG9sZC0+c2hhMSwgbmV3LT5zaGExKSkpIHsKKwkgICAgKGhhc2hjbXAoc2hhMSwgb2xkLT5vaWQuaGFzaCkgfHwgb2lkY21wKCZvbGQtPm9pZCwgJm5ldy0+b2lkKSkpIHsKIAkJc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoICpwOwogCQlpbnQgcGF0aGxlbiA9IGNlX25hbWVsZW4obmV3KTsKIApAQCAtMzQzLDIyICszNTIsMjIgQEAKIAkJbWVtc2V0KHAtPnBhcmVudCwgMCwgMiAqIHNpemVvZihzdHJ1Y3QgY29tYmluZV9kaWZmX3BhcmVudCkpOwogCQlwLT5wYXJlbnRbMF0uc3RhdHVzID0gRElGRl9TVEFUVVNfTU9ESUZJRUQ7CiAJCXAtPnBhcmVudFswXS5tb2RlID0gbmV3LT5jZV9tb2RlOwotCQloYXNoY3B5KHAtPnBhcmVudFswXS5vaWQuaGFzaCwgbmV3LT5zaGExKTsKKwkJb2lkY3B5KCZwLT5wYXJlbnRbMF0ub2lkLCAmbmV3LT5vaWQpOwogCQlwLT5wYXJlbnRbMV0uc3RhdHVzID0gRElGRl9TVEFUVVNfTU9ESUZJRUQ7CiAJCXAtPnBhcmVudFsxXS5tb2RlID0gb2xkLT5jZV9tb2RlOwotCQloYXNoY3B5KHAtPnBhcmVudFsxXS5vaWQuaGFzaCwgb2xkLT5zaGExKTsKKwkJb2lkY3B5KCZwLT5wYXJlbnRbMV0ub2lkLCAmb2xkLT5vaWQpOwogCQlzaG93X2NvbWJpbmVkX2RpZmYocCwgMiwgcmV2cy0+ZGVuc2VfY29tYmluZWRfbWVyZ2VzLCByZXZzKTsKIAkJZnJlZShwKTsKIAkJcmV0dXJuIDA7CiAJfQogCiAJb2xkbW9kZSA9IG9sZC0+Y2VfbW9kZTsKLQlpZiAobW9kZSA9PSBvbGRtb2RlICYmICFoYXNoY21wKHNoYTEsIG9sZC0+c2hhMSkgJiYgIWRpcnR5X3N1Ym1vZHVsZSAmJgorCWlmIChtb2RlID09IG9sZG1vZGUgJiYgIWhhc2hjbXAoc2hhMSwgb2xkLT5vaWQuaGFzaCkgJiYgIWRpcnR5X3N1Ym1vZHVsZSAmJgogCSAgICAhRElGRl9PUFRfVFNUKCZyZXZzLT5kaWZmb3B0LCBGSU5EX0NPUElFU19IQVJERVIpKQogCQlyZXR1cm4gMDsKIAogCWRpZmZfY2hhbmdlKCZyZXZzLT5kaWZmb3B0LCBvbGRtb2RlLCBtb2RlLAotCQkgICAgb2xkLT5zaGExLCBzaGExLCAxLCAhaXNfbnVsbF9zaGExKHNoYTEpLAorCQkgICAgb2xkLT5vaWQuaGFzaCwgc2hhMSwgMSwgIWlzX251bGxfc2hhMShzaGExKSwKIAkJICAgIG9sZC0+bmFtZSwgMCwgZGlydHlfc3VibW9kdWxlKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTM3Niw2ICszODUsMTQgQEAKIAlzdHJ1Y3QgcmV2X2luZm8gKnJldnMgPSBvLT51bnBhY2tfZGF0YTsKIAlpbnQgbWF0Y2hfbWlzc2luZywgY2FjaGVkOwogCisJLyogaS10LWEgZW50cmllcyBkbyBub3QgYWN0dWFsbHkgZXhpc3QgaW4gdGhlIGluZGV4ICovCisJaWYgKHJldnMtPmRpZmZvcHQuaXRhX2ludmlzaWJsZV9pbl9pbmRleCAmJgorCSAgICBpZHggJiYgY2VfaW50ZW50X3RvX2FkZChpZHgpKSB7CisJCWlkeCA9IE5VTEw7CisJCWlmICghdHJlZSkKKwkJCXJldHVybjsJLyogbm90aGluZyB0byBkaWZmLi4gKi8KKwl9CisKIAkvKiBpZiB0aGUgZW50cnkgaXMgbm90IGNoZWNrZWQgb3V0LCBkb24ndCBleGFtaW5lIHdvcmsgdHJlZSAqLwogCWNhY2hlZCA9IG8tPmluZGV4X29ubHkgfHwKIAkJKGlkeCAmJiAoKGlkeC0+Y2VfZmxhZ3MgJiBDRV9WQUxJRCkgfHwgY2Vfc2tpcF93b3JrdHJlZShpZHgpKSk7CkBAIC0zOTIsNyArNDA5LDggQEAKIAkJc3RydWN0IGRpZmZfZmlsZXBhaXIgKnBhaXI7CiAJCXBhaXIgPSBkaWZmX3VubWVyZ2UoJnJldnMtPmRpZmZvcHQsIGlkeC0+bmFtZSk7CiAJCWlmICh0cmVlKQotCQkJZmlsbF9maWxlc3BlYyhwYWlyLT5vbmUsIHRyZWUtPnNoYTEsIDEsIHRyZWUtPmNlX21vZGUpOworCQkJZmlsbF9maWxlc3BlYyhwYWlyLT5vbmUsIHRyZWUtPm9pZC5oYXNoLCAxLAorCQkJCSAgICAgIHRyZWUtPmNlX21vZGUpOwogCQlyZXR1cm47CiAJfQogCkBAIC00MDgsNyArNDI2LDggQEAKIAkgKiBTb21ldGhpbmcgcmVtb3ZlZCBmcm9tIHRoZSB0cmVlPwogCSAqLwogCWlmICghaWR4KSB7Ci0JCWRpZmZfaW5kZXhfc2hvd19maWxlKHJldnMsICItIiwgdHJlZSwgdHJlZS0+c2hhMSwgMSwgdHJlZS0+Y2VfbW9kZSwgMCk7CisJCWRpZmZfaW5kZXhfc2hvd19maWxlKHJldnMsICItIiwgdHJlZSwgdHJlZS0+b2lkLmhhc2gsIDEsCisJCQkJICAgICB0cmVlLT5jZV9tb2RlLCAwKTsKIAkJcmV0dXJuOwogCX0KIApAQCAtNTE2LDcgKzUzNSw4IEBACiAJcmV0dXJuIDA7CiB9CiAKLWludCBpbmRleF9kaWZmZXJzX2Zyb20oY29uc3QgY2hhciAqZGVmLCBpbnQgZGlmZl9mbGFncykKK2ludCBpbmRleF9kaWZmZXJzX2Zyb20oY29uc3QgY2hhciAqZGVmLCBpbnQgZGlmZl9mbGFncywKKwkJICAgICAgIGludCBpdGFfaW52aXNpYmxlX2luX2luZGV4KQogewogCXN0cnVjdCByZXZfaW5mbyByZXY7CiAJc3RydWN0IHNldHVwX3JldmlzaW9uX29wdCBvcHQ7CkBAIC01MjgsNiArNTQ4LDcgQEAKIAlESUZGX09QVF9TRVQoJnJldi5kaWZmb3B0LCBRVUlDSyk7CiAJRElGRl9PUFRfU0VUKCZyZXYuZGlmZm9wdCwgRVhJVF9XSVRIX1NUQVRVUyk7CiAJcmV2LmRpZmZvcHQuZmxhZ3MgfD0gZGlmZl9mbGFnczsKKwlyZXYuZGlmZm9wdC5pdGFfaW52aXNpYmxlX2luX2luZGV4ID0gaXRhX2ludmlzaWJsZV9pbl9pbmRleDsKIAlydW5fZGlmZl9pbmRleCgmcmV2LCAxKTsKIAlpZiAocmV2LnBlbmRpbmcuYWxsb2MpCiAJCWZyZWUocmV2LnBlbmRpbmcub2JqZWN0cyk7CmRpZmYgLS1naXQgYS9kaWZmLW5vLWluZGV4LmMgYi9kaWZmLW5vLWluZGV4LmMKaW5kZXggMWY4OTk5Yi4uZjQyMDc4NiAxMDA2NDQKLS0tIGEvZGlmZi1uby1pbmRleC5jCisrKyBiL2RpZmYtbm8taW5kZXguYwpAQCAtMjgxLDYgKzI4MSw5IEBACiAKIAlESUZGX09QVF9TRVQoJnJldnMtPmRpZmZvcHQsIE5PX0lOREVYKTsKIAorCURJRkZfT1BUX1NFVCgmcmV2cy0+ZGlmZm9wdCwgUkVMQVRJVkVfTkFNRSk7CisJcmV2cy0+ZGlmZm9wdC5wcmVmaXggPSBwcmVmaXg7CisKIAlyZXZzLT5tYXhfY291bnQgPSAtMjsKIAlkaWZmX3NldHVwX2RvbmUoJnJldnMtPmRpZmZvcHQpOwogCmRpZmYgLS1naXQgYS9kaWZmLmMgYi9kaWZmLmMKaW5kZXggZmE3OGZjMS4uZWM4NzI4MyAxMDA2NDQKLS0tIGEvZGlmZi5jCisrKyBiL2RpZmYuYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgImxsLW1lcmdlLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJhcmd2LWFycmF5LmgiCisjaW5jbHVkZSAiZ3JhcGguaCIKIAogI2lmZGVmIE5PX0ZBU1RfV09SS0lOR19ESVJFQ1RPUlkKICNkZWZpbmUgRkFTVF9XT1JLSU5HX0RJUkVDVE9SWSAwCkBAIC0yNiw2ICsyNyw3IEBACiAjZW5kaWYKIAogc3RhdGljIGludCBkaWZmX2RldGVjdF9yZW5hbWVfZGVmYXVsdDsKK3N0YXRpYyBpbnQgZGlmZl9pbmRlbnRfaGV1cmlzdGljOyAvKiBleHBlcmltZW50YWwgKi8KIHN0YXRpYyBpbnQgZGlmZl9jb21wYWN0aW9uX2hldXJpc3RpYzsgLyogZXhwZXJpbWVudGFsICovCiBzdGF0aWMgaW50IGRpZmZfcmVuYW1lX2xpbWl0X2RlZmF1bHQgPSA0MDA7CiBzdGF0aWMgaW50IGRpZmZfc3VwcHJlc3NfYmxhbmtfZW1wdHk7CkBAIC00MSw2ICs0Myw3IEBACiBzdGF0aWMgaW50IGRpZmZfZGlyc3RhdF9wZXJtaWxsZV9kZWZhdWx0ID0gMzA7CiBzdGF0aWMgc3RydWN0IGRpZmZfb3B0aW9ucyBkZWZhdWx0X2RpZmZfb3B0aW9uczsKIHN0YXRpYyBsb25nIGRpZmZfYWxnb3JpdGhtOworc3RhdGljIHVuc2lnbmVkIHdzX2Vycm9yX2hpZ2hsaWdodF9kZWZhdWx0ID0gV1NFSF9ORVc7CiAKIHN0YXRpYyBjaGFyIGRpZmZfY29sb3JzW11bQ09MT1JfTUFYTEVOXSA9IHsKIAlHSVRfQ09MT1JfUkVTRVQsCkBAIC01NCw2ICs1NywxMSBAQAogCUdJVF9DT0xPUl9OT1JNQUwsCS8qIEZVTkNJTkZPICovCiB9OwogCitzdGF0aWMgTk9SRVRVUk4gdm9pZCBkaWVfd2FudF9vcHRpb24oY29uc3QgY2hhciAqb3B0aW9uX25hbWUpCit7CisJZGllKF8oIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGEgdmFsdWUiKSwgb3B0aW9uX25hbWUpOworfQorCiBzdGF0aWMgaW50IHBhcnNlX2RpZmZfY29sb3Jfc2xvdChjb25zdCBjaGFyICp2YXIpCiB7CiAJaWYgKCFzdHJjYXNlY21wKHZhciwgImNvbnRleHQiKSB8fCAhc3RyY2FzZWNtcCh2YXIsICJwbGFpbiIpKQpAQCAtMTMxLDkgKzEzOSwxMSBAQAogc3RhdGljIGludCBwYXJzZV9zdWJtb2R1bGVfcGFyYW1zKHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMsIGNvbnN0IGNoYXIgKnZhbHVlKQogewogCWlmICghc3RyY21wKHZhbHVlLCAibG9nIikpCi0JCURJRkZfT1BUX1NFVChvcHRpb25zLCBTVUJNT0RVTEVfTE9HKTsKKwkJb3B0aW9ucy0+c3VibW9kdWxlX2Zvcm1hdCA9IERJRkZfU1VCTU9EVUxFX0xPRzsKIAllbHNlIGlmICghc3RyY21wKHZhbHVlLCAic2hvcnQiKSkKLQkJRElGRl9PUFRfQ0xSKG9wdGlvbnMsIFNVQk1PRFVMRV9MT0cpOworCQlvcHRpb25zLT5zdWJtb2R1bGVfZm9ybWF0ID0gRElGRl9TVUJNT0RVTEVfU0hPUlQ7CisJZWxzZSBpZiAoIXN0cmNtcCh2YWx1ZSwgImRpZmYiKSkKKwkJb3B0aW9ucy0+c3VibW9kdWxlX2Zvcm1hdCA9IERJRkZfU1VCTU9EVUxFX0lOTElORV9ESUZGOwogCWVsc2UKIAkJcmV0dXJuIC0xOwogCXJldHVybiAwOwpAQCAtMTYzLDYgKzE3Myw0MyBAQAogCXJldHVybiAtMTsKIH0KIAorc3RhdGljIGludCBwYXJzZV9vbmVfdG9rZW4oY29uc3QgY2hhciAqKmFyZywgY29uc3QgY2hhciAqdG9rZW4pCit7CisJY29uc3QgY2hhciAqcmVzdDsKKwlpZiAoc2tpcF9wcmVmaXgoKmFyZywgdG9rZW4sICZyZXN0KSAmJiAoISpyZXN0IHx8ICpyZXN0ID09ICcsJykpIHsKKwkJKmFyZyA9IHJlc3Q7CisJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwYXJzZV93c19lcnJvcl9oaWdobGlnaHQoY29uc3QgY2hhciAqYXJnKQoreworCWNvbnN0IGNoYXIgKm9yaWdfYXJnID0gYXJnOworCXVuc2lnbmVkIHZhbCA9IDA7CisKKwl3aGlsZSAoKmFyZykgeworCQlpZiAocGFyc2Vfb25lX3Rva2VuKCZhcmcsICJub25lIikpCisJCQl2YWwgPSAwOworCQllbHNlIGlmIChwYXJzZV9vbmVfdG9rZW4oJmFyZywgImRlZmF1bHQiKSkKKwkJCXZhbCA9IFdTRUhfTkVXOworCQllbHNlIGlmIChwYXJzZV9vbmVfdG9rZW4oJmFyZywgImFsbCIpKQorCQkJdmFsID0gV1NFSF9ORVcgfCBXU0VIX09MRCB8IFdTRUhfQ09OVEVYVDsKKwkJZWxzZSBpZiAocGFyc2Vfb25lX3Rva2VuKCZhcmcsICJuZXciKSkKKwkJCXZhbCB8PSBXU0VIX05FVzsKKwkJZWxzZSBpZiAocGFyc2Vfb25lX3Rva2VuKCZhcmcsICJvbGQiKSkKKwkJCXZhbCB8PSBXU0VIX09MRDsKKwkJZWxzZSBpZiAocGFyc2Vfb25lX3Rva2VuKCZhcmcsICJjb250ZXh0IikpCisJCQl2YWwgfD0gV1NFSF9DT05URVhUOworCQllbHNlIHsKKwkJCXJldHVybiAtMSAtIChpbnQpKGFyZyAtIG9yaWdfYXJnKTsKKwkJfQorCQlpZiAoKmFyZykKKwkJCWFyZysrOworCX0KKwlyZXR1cm4gdmFsOworfQorCiAvKgogICogVGhlc2UgYXJlIHRvIGdpdmUgVUkgbGF5ZXIgZGVmYXVsdHMuCiAgKiBUaGUgY29yZS1sZXZlbCBjb21tYW5kcyBzdWNoIGFzIGdpdC1kaWZmLWZpbGVzIHNob3VsZApAQCAtMTc0LDYgKzIyMSwyMSBAQAogCWRpZmZfZGV0ZWN0X3JlbmFtZV9kZWZhdWx0ID0gMTsKIH0KIAoraW50IGdpdF9kaWZmX2hldXJpc3RpY19jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpCit7CisJaWYgKCFzdHJjbXAodmFyLCAiZGlmZi5pbmRlbnRoZXVyaXN0aWMiKSkgeworCQlkaWZmX2luZGVudF9oZXVyaXN0aWMgPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSk7CisJCWlmIChkaWZmX2luZGVudF9oZXVyaXN0aWMpCisJCQlkaWZmX2NvbXBhY3Rpb25faGV1cmlzdGljID0gMDsKKwl9CisJaWYgKCFzdHJjbXAodmFyLCAiZGlmZi5jb21wYWN0aW9uaGV1cmlzdGljIikpIHsKKwkJZGlmZl9jb21wYWN0aW9uX2hldXJpc3RpYyA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKKwkJaWYgKGRpZmZfY29tcGFjdGlvbl9oZXVyaXN0aWMpCisJCQlkaWZmX2luZGVudF9oZXVyaXN0aWMgPSAwOworCX0KKwlyZXR1cm4gMDsKK30KKwogaW50IGdpdF9kaWZmX3VpX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKIHsKIAlpZiAoIXN0cmNtcCh2YXIsICJkaWZmLmNvbG9yIikgfHwgIXN0cmNtcCh2YXIsICJjb2xvci5kaWZmIikpIHsKQEAgLTE5MCwxMCArMjUyLDYgQEAKIAkJZGlmZl9kZXRlY3RfcmVuYW1lX2RlZmF1bHQgPSBnaXRfY29uZmlnX3JlbmFtZSh2YXIsIHZhbHVlKTsKIAkJcmV0dXJuIDA7CiAJfQotCWlmICghc3RyY21wKHZhciwgImRpZmYuY29tcGFjdGlvbmhldXJpc3RpYyIpKSB7Ci0JCWRpZmZfY29tcGFjdGlvbl9oZXVyaXN0aWMgPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSk7Ci0JCXJldHVybiAwOwotCX0KIAlpZiAoIXN0cmNtcCh2YXIsICJkaWZmLmF1dG9yZWZyZXNoaW5kZXgiKSkgewogCQlkaWZmX2F1dG9fcmVmcmVzaF9pbmRleCA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKIAkJcmV0dXJuIDA7CkBAIC0yMzQsNiArMjkyLDE3IEBACiAJCXJldHVybiAwOwogCX0KIAorCWlmIChnaXRfZGlmZl9oZXVyaXN0aWNfY29uZmlnKHZhciwgdmFsdWUsIGNiKSA8IDApCisJCXJldHVybiAtMTsKKworCWlmICghc3RyY21wKHZhciwgImRpZmYud3NlcnJvcmhpZ2hsaWdodCIpKSB7CisJCWludCB2YWwgPSBwYXJzZV93c19lcnJvcl9oaWdobGlnaHQodmFsdWUpOworCQlpZiAodmFsIDwgMCkKKwkJCXJldHVybiAtMTsKKwkJd3NfZXJyb3JfaGlnaGxpZ2h0X2RlZmF1bHQgPSB2YWw7CisJCXJldHVybiAwOworCX0KKwogCWlmIChnaXRfY29sb3JfY29uZmlnKHZhciwgdmFsdWUsIGNiKSA8IDApCiAJCXJldHVybiAtMTsKIApAQCAtMzU0LDcgKzQyMyw2IEBACiAJY29uc3QgY2hhciAqKmxhYmVsX3BhdGg7CiAJc3RydWN0IGRpZmZfd29yZHNfZGF0YSAqZGlmZl93b3JkczsKIAlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQ7Ci0JaW50ICpmb3VuZF9jaGFuZ2VzcDsKIAlzdHJ1Y3Qgc3RyYnVmICpoZWFkZXI7CiB9OwogCkBAIC03MjIsNyArNzkwLDYgQEAKIAogCW1lbXNldCgmZWNiZGF0YSwgMCwgc2l6ZW9mKGVjYmRhdGEpKTsKIAllY2JkYXRhLmNvbG9yX2RpZmYgPSB3YW50X2NvbG9yKG8tPnVzZV9jb2xvcik7Ci0JZWNiZGF0YS5mb3VuZF9jaGFuZ2VzcCA9ICZvLT5mb3VuZF9jaGFuZ2VzOwogCWVjYmRhdGEud3NfcnVsZSA9IHdoaXRlc3BhY2VfcnVsZShuYW1lX2IpOwogCWVjYmRhdGEub3B0ID0gbzsKIAlpZiAoZWNiZGF0YS53c19ydWxlICYgV1NfQkxBTktfQVRfRU9GKSB7CkBAIC05NTEsNyArMTAxOCw4IEBACiB7CiAJaWYgKHdvcmRfcmVnZXggJiYgKmJlZ2luIDwgYnVmZmVyLT5zaXplKSB7CiAJCXJlZ21hdGNoX3QgbWF0Y2hbMV07Ci0JCWlmICghcmVnZXhlYyh3b3JkX3JlZ2V4LCBidWZmZXItPnB0ciArICpiZWdpbiwgMSwgbWF0Y2gsIDApKSB7CisJCWlmICghcmVnZXhlY19idWYod29yZF9yZWdleCwgYnVmZmVyLT5wdHIgKyAqYmVnaW4sCisJCQkJIGJ1ZmZlci0+c2l6ZSAtICpiZWdpbiwgMSwgbWF0Y2gsIDApKSB7CiAJCQljaGFyICpwID0gbWVtY2hyKGJ1ZmZlci0+cHRyICsgKmJlZ2luICsgbWF0Y2hbMF0ucm1fc28sCiAJCQkJCSdcbicsIG1hdGNoWzBdLnJtX2VvIC0gbWF0Y2hbMF0ucm1fc28pOwogCQkJKmVuZCA9IHAgPyBwIC0gYnVmZmVyLT5wdHIgOiBtYXRjaFswXS5ybV9lbyArICpiZWdpbjsKQEAgLTEyMTYsMTIgKzEyODQsMTMgQEAKIAlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvID0gZWNiZGF0YS0+b3B0OwogCWNvbnN0IGNoYXIgKmxpbmVfcHJlZml4ID0gZGlmZl9saW5lX3ByZWZpeChvKTsKIAorCW8tPmZvdW5kX2NoYW5nZXMgPSAxOworCiAJaWYgKGVjYmRhdGEtPmhlYWRlcikgewotCQlmcHJpbnRmKGVjYmRhdGEtPm9wdC0+ZmlsZSwgIiVzIiwgZWNiZGF0YS0+aGVhZGVyLT5idWYpOworCQlmcHJpbnRmKG8tPmZpbGUsICIlcyIsIGVjYmRhdGEtPmhlYWRlci0+YnVmKTsKIAkJc3RyYnVmX3Jlc2V0KGVjYmRhdGEtPmhlYWRlcik7CiAJCWVjYmRhdGEtPmhlYWRlciA9IE5VTEw7CiAJfQotCSooZWNiZGF0YS0+Zm91bmRfY2hhbmdlc3ApID0gMTsKIAogCWlmIChlY2JkYXRhLT5sYWJlbF9wYXRoWzBdKSB7CiAJCWNvbnN0IGNoYXIgKm5hbWVfYV90YWIsICpuYW1lX2JfdGFiOwpAQCAtMTIyOSw5ICsxMjk4LDkgQEAKIAkJbmFtZV9hX3RhYiA9IHN0cmNocihlY2JkYXRhLT5sYWJlbF9wYXRoWzBdLCAnICcpID8gIlx0IiA6ICIiOwogCQluYW1lX2JfdGFiID0gc3RyY2hyKGVjYmRhdGEtPmxhYmVsX3BhdGhbMV0sICcgJykgPyAiXHQiIDogIiI7CiAKLQkJZnByaW50ZihlY2JkYXRhLT5vcHQtPmZpbGUsICIlcyVzLS0tICVzJXMlc1xuIiwKKwkJZnByaW50ZihvLT5maWxlLCAiJXMlcy0tLSAlcyVzJXNcbiIsCiAJCQlsaW5lX3ByZWZpeCwgbWV0YSwgZWNiZGF0YS0+bGFiZWxfcGF0aFswXSwgcmVzZXQsIG5hbWVfYV90YWIpOwotCQlmcHJpbnRmKGVjYmRhdGEtPm9wdC0+ZmlsZSwgIiVzJXMrKysgJXMlcyVzXG4iLAorCQlmcHJpbnRmKG8tPmZpbGUsICIlcyVzKysrICVzJXMlc1xuIiwKIAkJCWxpbmVfcHJlZml4LCBtZXRhLCBlY2JkYXRhLT5sYWJlbF9wYXRoWzFdLCByZXNldCwgbmFtZV9iX3RhYik7CiAJCWVjYmRhdGEtPmxhYmVsX3BhdGhbMF0gPSBlY2JkYXRhLT5sYWJlbF9wYXRoWzFdID0gTlVMTDsKIAl9CkBAIC0xMjQ5LDE1ICsxMzE4LDcgQEAKIAkJZmluZF9sbm8obGluZSwgZWNiZGF0YSk7CiAJCWVtaXRfaHVua19oZWFkZXIoZWNiZGF0YSwgbGluZSwgbGVuKTsKIAkJaWYgKGxpbmVbbGVuLTFdICE9ICdcbicpCi0JCQlwdXRjKCdcbicsIGVjYmRhdGEtPm9wdC0+ZmlsZSk7Ci0JCXJldHVybjsKLQl9Ci0KLQlpZiAobGVuIDwgMSkgewotCQllbWl0X2xpbmUoZWNiZGF0YS0+b3B0LCByZXNldCwgcmVzZXQsIGxpbmUsIGxlbik7Ci0JCWlmIChlY2JkYXRhLT5kaWZmX3dvcmRzCi0JCSAgICAmJiBlY2JkYXRhLT5kaWZmX3dvcmRzLT50eXBlID09IERJRkZfV09SRFNfUE9SQ0VMQUlOKQotCQkJZnB1dHMoIn5cbiIsIGVjYmRhdGEtPm9wdC0+ZmlsZSk7CisJCQlwdXRjKCdcbicsIG8tPmZpbGUpOwogCQlyZXR1cm47CiAJfQogCkBAIC0xMjgyLDggKzEzNDMsOCBAQAogCQl9CiAJCWRpZmZfd29yZHNfZmx1c2goZWNiZGF0YSk7CiAJCWlmIChlY2JkYXRhLT5kaWZmX3dvcmRzLT50eXBlID09IERJRkZfV09SRFNfUE9SQ0VMQUlOKSB7Ci0JCQllbWl0X2xpbmUoZWNiZGF0YS0+b3B0LCBjb250ZXh0LCByZXNldCwgbGluZSwgbGVuKTsKLQkJCWZwdXRzKCJ+XG4iLCBlY2JkYXRhLT5vcHQtPmZpbGUpOworCQkJZW1pdF9saW5lKG8sIGNvbnRleHQsIHJlc2V0LCBsaW5lLCBsZW4pOworCQkJZnB1dHMoIn5cbiIsIG8tPmZpbGUpOwogCQl9IGVsc2UgewogCQkJLyoKIAkJCSAqIFNraXAgdGhlIHByZWZpeCBjaGFyYWN0ZXIsIGlmIGFueS4gIFdpdGgKQEAgLTEyOTQsNyArMTM1NSw3IEBACiAJCQkgICAgICBsaW5lKys7CiAJCQkgICAgICBsZW4tLTsKIAkJCX0KLQkJCWVtaXRfbGluZShlY2JkYXRhLT5vcHQsIGNvbnRleHQsIHJlc2V0LCBsaW5lLCBsZW4pOworCQkJZW1pdF9saW5lKG8sIGNvbnRleHQsIHJlc2V0LCBsaW5lLCBsZW4pOwogCQl9CiAJCXJldHVybjsKIAl9CkBAIC0xMzE2LDggKzEzNzcsNyBAQAogCWRlZmF1bHQ6CiAJCS8qIGluY29tcGxldGUgbGluZSBhdCB0aGUgZW5kICovCiAJCWVjYmRhdGEtPmxub19pbl9wcmVpbWFnZSsrOwotCQllbWl0X2xpbmUoZWNiZGF0YS0+b3B0LAotCQkJICBkaWZmX2dldF9jb2xvcihlY2JkYXRhLT5jb2xvcl9kaWZmLCBESUZGX0NPTlRFWFQpLAorCQllbWl0X2xpbmUobywgZGlmZl9nZXRfY29sb3IoZWNiZGF0YS0+Y29sb3JfZGlmZiwgRElGRl9DT05URVhUKSwKIAkJCSAgcmVzZXQsIGxpbmUsIGxlbik7CiAJCWJyZWFrOwogCX0KQEAgLTE2MjUsNyArMTY4NSw3IEBACiAJICovCiAKIAlpZiAob3B0aW9ucy0+c3RhdF93aWR0aCA9PSAtMSkKLQkJd2lkdGggPSB0ZXJtX2NvbHVtbnMoKSAtIG9wdGlvbnMtPm91dHB1dF9wcmVmaXhfbGVuZ3RoOworCQl3aWR0aCA9IHRlcm1fY29sdW1ucygpIC0gc3RybGVuKGxpbmVfcHJlZml4KTsKIAllbHNlCiAJCXdpZHRoID0gb3B0aW9ucy0+c3RhdF93aWR0aCA/IG9wdGlvbnMtPnN0YXRfd2lkdGggOiA4MDsKIAludW1iZXJfd2lkdGggPSBkZWNpbWFsX3dpZHRoKG1heF9jaGFuZ2UpID4gbnVtYmVyX3dpZHRoID8KQEAgLTE5MzMsOCArMTk5Myw4IEBACiAKIAkJbmFtZSA9IHAtPnR3by0+cGF0aCA/IHAtPnR3by0+cGF0aCA6IHAtPm9uZS0+cGF0aDsKIAotCQlpZiAocC0+b25lLT5zaGExX3ZhbGlkICYmIHAtPnR3by0+c2hhMV92YWxpZCkKLQkJCWNvbnRlbnRfY2hhbmdlZCA9IGhhc2hjbXAocC0+b25lLT5zaGExLCBwLT50d28tPnNoYTEpOworCQlpZiAocC0+b25lLT5vaWRfdmFsaWQgJiYgcC0+dHdvLT5vaWRfdmFsaWQpCisJCQljb250ZW50X2NoYW5nZWQgPSBvaWRjbXAoJnAtPm9uZS0+b2lkLCAmcC0+dHdvLT5vaWQpOwogCQllbHNlCiAJCQljb250ZW50X2NoYW5nZWQgPSAxOwogCkBAIC0xOTYzLDcgKzIwMjMsNyBAQAogCQlpZiAoRElGRl9GSUxFX1ZBTElEKHAtPm9uZSkgJiYgRElGRl9GSUxFX1ZBTElEKHAtPnR3bykpIHsKIAkJCWRpZmZfcG9wdWxhdGVfZmlsZXNwZWMocC0+b25lLCAwKTsKIAkJCWRpZmZfcG9wdWxhdGVfZmlsZXNwZWMocC0+dHdvLCAwKTsKLQkJCWRpZmZjb3JlX2NvdW50X2NoYW5nZXMocC0+b25lLCBwLT50d28sIE5VTEwsIE5VTEwsIDAsCisJCQlkaWZmY29yZV9jb3VudF9jaGFuZ2VzKHAtPm9uZSwgcC0+dHdvLCBOVUxMLCBOVUxMLAogCQkJCQkgICAgICAgJmNvcGllZCwgJmFkZGVkKTsKIAkJCWRpZmZfZnJlZV9maWxlc3BlY19kYXRhKHAtPm9uZSk7CiAJCQlkaWZmX2ZyZWVfZmlsZXNwZWNfZGF0YShwLT50d28pOwpAQCAtMjAwNiw3ICsyMDY2LDcgQEAKIAkJcmV0dXJuOwogCiAJLyogU2hvdyBhbGwgZGlyZWN0b3JpZXMgd2l0aCBtb3JlIHRoYW4geCUgb2YgdGhlIGNoYW5nZXMgKi8KLQlxc29ydChkaXIuZmlsZXMsIGRpci5uciwgc2l6ZW9mKGRpci5maWxlc1swXSksIGRpcnN0YXRfY29tcGFyZSk7CisJUVNPUlQoZGlyLmZpbGVzLCBkaXIubnIsIGRpcnN0YXRfY29tcGFyZSk7CiAJZ2F0aGVyX2RpcnN0YXQob3B0aW9ucywgJmRpciwgY2hhbmdlZCwgIiIsIDApOwogfQogCkBAIC0yMDUwLDcgKzIxMTAsNyBAQAogCQlyZXR1cm47CiAKIAkvKiBTaG93IGFsbCBkaXJlY3RvcmllcyB3aXRoIG1vcmUgdGhhbiB4JSBvZiB0aGUgY2hhbmdlcyAqLwotCXFzb3J0KGRpci5maWxlcywgZGlyLm5yLCBzaXplb2YoZGlyLmZpbGVzWzBdKSwgZGlyc3RhdF9jb21wYXJlKTsKKwlRU09SVChkaXIuZmlsZXMsIGRpci5uciwgZGlyc3RhdF9jb21wYXJlKTsKIAlnYXRoZXJfZGlyc3RhdChvcHRpb25zLCAmZGlyLCBjaGFuZ2VkLCAiIiwgMCk7CiB9CiAKQEAgLTIyOTksMjMgKzIzNTksNiBAQAogCXN0cnVjdCBzdHJidWYgaGVhZGVyID0gU1RSQlVGX0lOSVQ7CiAJY29uc3QgY2hhciAqbGluZV9wcmVmaXggPSBkaWZmX2xpbmVfcHJlZml4KG8pOwogCi0JaWYgKERJRkZfT1BUX1RTVChvLCBTVUJNT0RVTEVfTE9HKSAmJgotCQkJKCFvbmUtPm1vZGUgfHwgU19JU0dJVExJTksob25lLT5tb2RlKSkgJiYKLQkJCSghdHdvLT5tb2RlIHx8IFNfSVNHSVRMSU5LKHR3by0+bW9kZSkpKSB7Ci0JCWNvbnN0IGNoYXIgKmRlbCA9IGRpZmZfZ2V0X2NvbG9yX29wdChvLCBESUZGX0ZJTEVfT0xEKTsKLQkJY29uc3QgY2hhciAqYWRkID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfRklMRV9ORVcpOwotCQlzaG93X3N1Ym1vZHVsZV9zdW1tYXJ5KG8tPmZpbGUsIG9uZS0+cGF0aCA/IG9uZS0+cGF0aCA6IHR3by0+cGF0aCwKLQkJCQlsaW5lX3ByZWZpeCwKLQkJCQlvbmUtPnNoYTEsIHR3by0+c2hhMSwgdHdvLT5kaXJ0eV9zdWJtb2R1bGUsCi0JCQkJbWV0YSwgZGVsLCBhZGQsIHJlc2V0KTsKLQkJcmV0dXJuOwotCX0KLQotCWlmIChESUZGX09QVF9UU1QobywgQUxMT1dfVEVYVENPTlYpKSB7Ci0JCXRleHRjb252X29uZSA9IGdldF90ZXh0Y29udihvbmUpOwotCQl0ZXh0Y29udl90d28gPSBnZXRfdGV4dGNvbnYodHdvKTsKLQl9Ci0KIAlkaWZmX3NldF9tbmVtb25pY19wcmVmaXgobywgImEvIiwgImIvIik7CiAJaWYgKERJRkZfT1BUX1RTVChvLCBSRVZFUlNFX0RJRkYpKSB7CiAJCWFfcHJlZml4ID0gby0+Yl9wcmVmaXg7CkBAIC0yMzI1LDYgKzIzNjgsMzUgQEAKIAkJYl9wcmVmaXggPSBvLT5iX3ByZWZpeDsKIAl9CiAKKwlpZiAoby0+c3VibW9kdWxlX2Zvcm1hdCA9PSBESUZGX1NVQk1PRFVMRV9MT0cgJiYKKwkgICAgKCFvbmUtPm1vZGUgfHwgU19JU0dJVExJTksob25lLT5tb2RlKSkgJiYKKwkgICAgKCF0d28tPm1vZGUgfHwgU19JU0dJVExJTksodHdvLT5tb2RlKSkpIHsKKwkJY29uc3QgY2hhciAqZGVsID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfRklMRV9PTEQpOworCQljb25zdCBjaGFyICphZGQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9GSUxFX05FVyk7CisJCXNob3dfc3VibW9kdWxlX3N1bW1hcnkoby0+ZmlsZSwgb25lLT5wYXRoID8gb25lLT5wYXRoIDogdHdvLT5wYXRoLAorCQkJCWxpbmVfcHJlZml4LAorCQkJCSZvbmUtPm9pZCwgJnR3by0+b2lkLAorCQkJCXR3by0+ZGlydHlfc3VibW9kdWxlLAorCQkJCW1ldGEsIGRlbCwgYWRkLCByZXNldCk7CisJCXJldHVybjsKKwl9IGVsc2UgaWYgKG8tPnN1Ym1vZHVsZV9mb3JtYXQgPT0gRElGRl9TVUJNT0RVTEVfSU5MSU5FX0RJRkYgJiYKKwkJICAgKCFvbmUtPm1vZGUgfHwgU19JU0dJVExJTksob25lLT5tb2RlKSkgJiYKKwkJICAgKCF0d28tPm1vZGUgfHwgU19JU0dJVExJTksodHdvLT5tb2RlKSkpIHsKKwkJY29uc3QgY2hhciAqZGVsID0gZGlmZl9nZXRfY29sb3Jfb3B0KG8sIERJRkZfRklMRV9PTEQpOworCQljb25zdCBjaGFyICphZGQgPSBkaWZmX2dldF9jb2xvcl9vcHQobywgRElGRl9GSUxFX05FVyk7CisJCXNob3dfc3VibW9kdWxlX2lubGluZV9kaWZmKG8tPmZpbGUsIG9uZS0+cGF0aCA/IG9uZS0+cGF0aCA6IHR3by0+cGF0aCwKKwkJCQlsaW5lX3ByZWZpeCwKKwkJCQkmb25lLT5vaWQsICZ0d28tPm9pZCwKKwkJCQl0d28tPmRpcnR5X3N1Ym1vZHVsZSwKKwkJCQltZXRhLCBkZWwsIGFkZCwgcmVzZXQsIG8pOworCQlyZXR1cm47CisJfQorCisJaWYgKERJRkZfT1BUX1RTVChvLCBBTExPV19URVhUQ09OVikpIHsKKwkJdGV4dGNvbnZfb25lID0gZ2V0X3RleHRjb252KG9uZSk7CisJCXRleHRjb252X3R3byA9IGdldF90ZXh0Y29udih0d28pOworCX0KKwogCS8qIE5ldmVyIHVzZSBhIG5vbi12YWxpZCBmaWxlbmFtZSBhbnl3aGVyZSBpZiBhdCBhbGwgcG9zc2libGUgKi8KIAluYW1lX2EgPSBESUZGX0ZJTEVfVkFMSUQob25lKSA/IG5hbWVfYSA6IG5hbWVfYjsKIAluYW1lX2IgPSBESUZGX0ZJTEVfVkFMSUQodHdvKSA/IG5hbWVfYiA6IG5hbWVfYTsKQEAgLTIzODQsNyArMjQ1Niw3IEBACiAJCWlmICghb25lLT5kYXRhICYmICF0d28tPmRhdGEgJiYKIAkJICAgIFNfSVNSRUcob25lLT5tb2RlKSAmJiBTX0lTUkVHKHR3by0+bW9kZSkgJiYKIAkJICAgICFESUZGX09QVF9UU1QobywgQklOQVJZKSkgewotCQkJaWYgKCFoYXNoY21wKG9uZS0+c2hhMSwgdHdvLT5zaGExKSkgeworCQkJaWYgKCFvaWRjbXAoJm9uZS0+b2lkLCAmdHdvLT5vaWQpKSB7CiAJCQkJaWYgKG11c3Rfc2hvd19oZWFkZXIpCiAJCQkJCWZwcmludGYoby0+ZmlsZSwgIiVzIiwgaGVhZGVyLmJ1Zik7CiAJCQkJZ290byBmcmVlX2FiX2FuZF9yZXR1cm47CkBAIC0yNDM3LDcgKzI1MDksNiBAQAogCQltZW1zZXQoJmVjYmRhdGEsIDAsIHNpemVvZihlY2JkYXRhKSk7CiAJCWVjYmRhdGEubGFiZWxfcGF0aCA9IGxibDsKIAkJZWNiZGF0YS5jb2xvcl9kaWZmID0gd2FudF9jb2xvcihvLT51c2VfY29sb3IpOwotCQllY2JkYXRhLmZvdW5kX2NoYW5nZXNwID0gJm8tPmZvdW5kX2NoYW5nZXM7CiAJCWVjYmRhdGEud3NfcnVsZSA9IHdoaXRlc3BhY2VfcnVsZShuYW1lX2IpOwogCQlpZiAoZWNiZGF0YS53c19ydWxlICYgV1NfQkxBTktfQVRfRU9GKQogCQkJY2hlY2tfYmxhbmtfYXRfZW9mKCZtZjEsICZtZjIsICZlY2JkYXRhKTsKQEAgLTI1MDUsNyArMjU3Niw3IEBACiAJCXJldHVybjsKIAl9CiAKLQlzYW1lX2NvbnRlbnRzID0gIWhhc2hjbXAob25lLT5zaGExLCB0d28tPnNoYTEpOworCXNhbWVfY29udGVudHMgPSAhb2lkY21wKCZvbmUtPm9pZCwgJnR3by0+b2lkKTsKIAogCWlmIChkaWZmX2ZpbGVzcGVjX2lzX2JpbmFyeShvbmUpIHx8IGRpZmZfZmlsZXNwZWNfaXNfYmluYXJ5KHR3bykpIHsKIAkJZGF0YS0+aXNfYmluYXJ5ID0gMTsKQEAgLTI2MzgsOCArMjcwOSw4IEBACiB7CiAJaWYgKG1vZGUpIHsKIAkJc3BlYy0+bW9kZSA9IGNhbm9uX21vZGUobW9kZSk7Ci0JCWhhc2hjcHkoc3BlYy0+c2hhMSwgc2hhMSk7Ci0JCXNwZWMtPnNoYTFfdmFsaWQgPSBzaGExX3ZhbGlkOworCQloYXNoY3B5KHNwZWMtPm9pZC5oYXNoLCBzaGExKTsKKwkJc3BlYy0+b2lkX3ZhbGlkID0gc2hhMV92YWxpZDsKIAl9CiB9CiAKQEAgLTI2ODIsNiArMjc1MywxMyBAQAogCWlmICghRkFTVF9XT1JLSU5HX0RJUkVDVE9SWSAmJiAhd2FudF9maWxlICYmIGhhc19zaGExX3BhY2soc2hhMSkpCiAJCXJldHVybiAwOwogCisJLyoKKwkgKiBTaW1pbGFybHksIGlmIHdlJ2QgaGF2ZSB0byBjb252ZXJ0IHRoZSBmaWxlIGNvbnRlbnRzIGFueXdheSwgdGhhdAorCSAqIG1ha2VzIHRoZSBvcHRpbWl6YXRpb24gbm90IHdvcnRod2hpbGUuCisJICovCisJaWYgKCF3YW50X2ZpbGUgJiYgd291bGRfY29udmVydF90b19naXQobmFtZSkpCisJCXJldHVybiAwOworCiAJbGVuID0gc3RybGVuKG5hbWUpOwogCXBvcyA9IGNhY2hlX25hbWVfcG9zKG5hbWUsIGxlbik7CiAJaWYgKHBvcyA8IDApCkBAIC0yNjkyLDcgKzI3NzAsNyBAQAogCSAqIFRoaXMgaXMgbm90IHRoZSBzaGExIHdlIGFyZSBsb29raW5nIGZvciwgb3IKIAkgKiB1bnJldXNhYmxlIGJlY2F1c2UgaXQgaXMgbm90IGEgcmVndWxhciBmaWxlLgogCSAqLwotCWlmIChoYXNoY21wKHNoYTEsIGNlLT5zaGExKSB8fCAhU19JU1JFRyhjZS0+Y2VfbW9kZSkpCisJaWYgKGhhc2hjbXAoc2hhMSwgY2UtPm9pZC5oYXNoKSB8fCAhU19JU1JFRyhjZS0+Y2VfbW9kZSkpCiAJCXJldHVybiAwOwogCiAJLyoKQEAgLTI3MjEsNyArMjc5OSw4IEBACiAJaWYgKHMtPmRpcnR5X3N1Ym1vZHVsZSkKIAkJZGlydHkgPSAiLWRpcnR5IjsKIAotCXN0cmJ1Zl9hZGRmKCZidWYsICJTdWJwcm9qZWN0IGNvbW1pdCAlcyVzXG4iLCBzaGExX3RvX2hleChzLT5zaGExKSwgZGlydHkpOworCXN0cmJ1Zl9hZGRmKCZidWYsICJTdWJwcm9qZWN0IGNvbW1pdCAlcyVzXG4iLAorCQkgICAgb2lkX3RvX2hleCgmcy0+b2lkKSwgZGlydHkpOwogCXMtPnNpemUgPSBidWYubGVuOwogCWlmIChzaXplX29ubHkpIHsKIAkJcy0+ZGF0YSA9IE5VTEw7CkBAIC0yNzY0LDggKzI4NDMsOCBAQAogCWlmIChTX0lTR0lUTElOSyhzLT5tb2RlKSkKIAkJcmV0dXJuIGRpZmZfcG9wdWxhdGVfZ2l0bGluayhzLCBzaXplX29ubHkpOwogCi0JaWYgKCFzLT5zaGExX3ZhbGlkIHx8Ci0JICAgIHJldXNlX3dvcmt0cmVlX2ZpbGUocy0+cGF0aCwgcy0+c2hhMSwgMCkpIHsKKwlpZiAoIXMtPm9pZF92YWxpZCB8fAorCSAgICByZXVzZV93b3JrdHJlZV9maWxlKHMtPnBhdGgsIHMtPm9pZC5oYXNoLCAwKSkgewogCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCQlzdHJ1Y3Qgc3RhdCBzdDsKIAkJaW50IGZkOwpAQCAtMjgyMiw5ICsyOTAxLDEwIEBACiAJZWxzZSB7CiAJCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKIAkJaWYgKHNpemVfb25seSB8fCAoZmxhZ3MgJiBDSEVDS19CSU5BUlkpKSB7Ci0JCQl0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhzLT5zaGExLCAmcy0+c2l6ZSk7CisJCQl0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhzLT5vaWQuaGFzaCwgJnMtPnNpemUpOwogCQkJaWYgKHR5cGUgPCAwKQotCQkJCWRpZSgidW5hYmxlIHRvIHJlYWQgJXMiLCBzaGExX3RvX2hleChzLT5zaGExKSk7CisJCQkJZGllKCJ1bmFibGUgdG8gcmVhZCAlcyIsCisJCQkJICAgIG9pZF90b19oZXgoJnMtPm9pZCkpOwogCQkJaWYgKHNpemVfb25seSkKIAkJCQlyZXR1cm4gMDsKIAkJCWlmIChzLT5zaXplID4gYmlnX2ZpbGVfdGhyZXNob2xkICYmIHMtPmlzX2JpbmFyeSA9PSAtMSkgewpAQCAtMjgzMiw5ICsyOTEyLDkgQEAKIAkJCQlyZXR1cm4gMDsKIAkJCX0KIAkJfQotCQlzLT5kYXRhID0gcmVhZF9zaGExX2ZpbGUocy0+c2hhMSwgJnR5cGUsICZzLT5zaXplKTsKKwkJcy0+ZGF0YSA9IHJlYWRfc2hhMV9maWxlKHMtPm9pZC5oYXNoLCAmdHlwZSwgJnMtPnNpemUpOwogCQlpZiAoIXMtPmRhdGEpCi0JCQlkaWUoInVuYWJsZSB0byByZWFkICVzIiwgc2hhMV90b19oZXgocy0+c2hhMSkpOworCQkJZGllKCJ1bmFibGUgdG8gcmVhZCAlcyIsIG9pZF90b19oZXgoJnMtPm9pZCkpOwogCQlzLT5zaG91bGRfZnJlZSA9IDE7CiAJfQogCXJldHVybiAwOwpAQCAtMjg2Myw3ICsyOTQzLDcgQEAKIHN0YXRpYyB2b2lkIHByZXBfdGVtcF9ibG9iKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBkaWZmX3RlbXBmaWxlICp0ZW1wLAogCQkJICAgdm9pZCAqYmxvYiwKIAkJCSAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwKLQkJCSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCisJCQkgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkgICBpbnQgbW9kZSkKIHsKIAlpbnQgZmQ7CkBAIC0yODg4LDcgKzI5NjgsNyBAQAogCQlkaWVfZXJybm8oInVuYWJsZSB0byB3cml0ZSB0ZW1wLWZpbGUiKTsKIAljbG9zZV90ZW1wZmlsZSgmdGVtcC0+dGVtcGZpbGUpOwogCXRlbXAtPm5hbWUgPSBnZXRfdGVtcGZpbGVfcGF0aCgmdGVtcC0+dGVtcGZpbGUpOwotCXNoYTFfdG9faGV4X3IodGVtcC0+aGV4LCBzaGExKTsKKwlvaWRfdG9faGV4X3IodGVtcC0+aGV4LCBvaWQpOwogCXhzbnByaW50Zih0ZW1wLT5tb2RlLCBzaXplb2YodGVtcC0+bW9kZSksICIlMDZvIiwgbW9kZSk7CiAJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAJc3RyYnVmX3JlbGVhc2UoJnRlbXBsYXRlKTsKQEAgLTI5MTIsOCArMjk5Miw4IEBACiAJfQogCiAJaWYgKCFTX0lTR0lUTElOSyhvbmUtPm1vZGUpICYmCi0JICAgICghb25lLT5zaGExX3ZhbGlkIHx8Ci0JICAgICByZXVzZV93b3JrdHJlZV9maWxlKG5hbWUsIG9uZS0+c2hhMSwgMSkpKSB7CisJICAgICghb25lLT5vaWRfdmFsaWQgfHwKKwkgICAgIHJldXNlX3dvcmt0cmVlX2ZpbGUobmFtZSwgb25lLT5vaWQuaGFzaCwgMSkpKSB7CiAJCXN0cnVjdCBzdGF0IHN0OwogCQlpZiAobHN0YXQobmFtZSwgJnN0KSA8IDApIHsKIAkJCWlmIChlcnJubyA9PSBFTk9FTlQpCkBAIC0yOTI1LDE5ICszMDA1LDE5IEBACiAJCQlpZiAoc3RyYnVmX3JlYWRsaW5rKCZzYiwgbmFtZSwgc3Quc3Rfc2l6ZSkgPCAwKQogCQkJCWRpZV9lcnJubygicmVhZGxpbmsoJXMpIiwgbmFtZSk7CiAJCQlwcmVwX3RlbXBfYmxvYihuYW1lLCB0ZW1wLCBzYi5idWYsIHNiLmxlbiwKLQkJCQkgICAgICAgKG9uZS0+c2hhMV92YWxpZCA/Ci0JCQkJCW9uZS0+c2hhMSA6IG51bGxfc2hhMSksCi0JCQkJICAgICAgIChvbmUtPnNoYTFfdmFsaWQgPworCQkJCSAgICAgICAob25lLT5vaWRfdmFsaWQgPworCQkJCQkmb25lLT5vaWQgOiAmbnVsbF9vaWQpLAorCQkJCSAgICAgICAob25lLT5vaWRfdmFsaWQgPwogCQkJCQlvbmUtPm1vZGUgOiBTX0lGTE5LKSk7CiAJCQlzdHJidWZfcmVsZWFzZSgmc2IpOwogCQl9CiAJCWVsc2UgewogCQkJLyogd2UgY2FuIGJvcnJvdyBmcm9tIHRoZSBmaWxlIGluIHRoZSB3b3JrIHRyZWUgKi8KIAkJCXRlbXAtPm5hbWUgPSBuYW1lOwotCQkJaWYgKCFvbmUtPnNoYTFfdmFsaWQpCisJCQlpZiAoIW9uZS0+b2lkX3ZhbGlkKQogCQkJCXNoYTFfdG9faGV4X3IodGVtcC0+aGV4LCBudWxsX3NoYTEpOwogCQkJZWxzZQotCQkJCXNoYTFfdG9faGV4X3IodGVtcC0+aGV4LCBvbmUtPnNoYTEpOworCQkJCXNoYTFfdG9faGV4X3IodGVtcC0+aGV4LCBvbmUtPm9pZC5oYXNoKTsKIAkJCS8qIEV2ZW4gdGhvdWdoIHdlIG1heSBzb21ldGltZXMgYm9ycm93IHRoZQogCQkJICogY29udGVudHMgZnJvbSB0aGUgd29yayB0cmVlLCB3ZSBhbHdheXMgd2FudAogCQkJICogb25lLT5tb2RlLiAgbW9kZSBpcyB0cnVzdHdvcnRoeSBldmVuIHdoZW4KQEAgLTI5NTIsNyArMzAzMiw3IEBACiAJCWlmIChkaWZmX3BvcHVsYXRlX2ZpbGVzcGVjKG9uZSwgMCkpCiAJCQlkaWUoImNhbm5vdCByZWFkIGRhdGEgYmxvYiBmb3IgJXMiLCBvbmUtPnBhdGgpOwogCQlwcmVwX3RlbXBfYmxvYihuYW1lLCB0ZW1wLCBvbmUtPmRhdGEsIG9uZS0+c2l6ZSwKLQkJCSAgICAgICBvbmUtPnNoYTEsIG9uZS0+bW9kZSk7CisJCQkgICAgICAgJm9uZS0+b2lkLCBvbmUtPm1vZGUpOwogCX0KIAlyZXR1cm4gdGVtcDsKIH0KQEAgLTMwMTYsNiArMzA5NiwyMSBAQAogCXJldHVybiBwLT5zY29yZSAqIDEwMCAvIE1BWF9TQ09SRTsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgKmRpZmZfYWJicmV2X29pZChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBhYmJyZXYpCit7CisJaWYgKHN0YXJ0dXBfaW5mby0+aGF2ZV9yZXBvc2l0b3J5KQorCQlyZXR1cm4gZmluZF91bmlxdWVfYWJicmV2KG9pZC0+aGFzaCwgYWJicmV2KTsKKwllbHNlIHsKKwkJY2hhciAqaGV4ID0gb2lkX3RvX2hleChvaWQpOworCQlpZiAoYWJicmV2IDwgMCkKKwkJCWFiYnJldiA9IEZBTExCQUNLX0RFRkFVTFRfQUJCUkVWOworCQlpZiAoYWJicmV2ID4gR0lUX1NIQTFfSEVYU1opCisJCQlkaWUoIkJVRzogb2lkIGFiYnJldmlhdGlvbiBvdXQgb2YgcmFuZ2U6ICVkIiwgYWJicmV2KTsKKwkJaGV4W2FiYnJldl0gPSAnXDAnOworCQlyZXR1cm4gaGV4OworCX0KK30KKwogc3RhdGljIHZvaWQgZmlsbF9tZXRhaW5mbyhzdHJ1Y3Qgc3RyYnVmICptc2csCiAJCQkgIGNvbnN0IGNoYXIgKm5hbWUsCiAJCQkgIGNvbnN0IGNoYXIgKm90aGVyLApAQCAtMzA2NSw3ICszMTYwLDcgQEAKIAlkZWZhdWx0OgogCQkqbXVzdF9zaG93X2hlYWRlciA9IDA7CiAJfQotCWlmIChvbmUgJiYgdHdvICYmIGhhc2hjbXAob25lLT5zaGExLCB0d28tPnNoYTEpKSB7CisJaWYgKG9uZSAmJiB0d28gJiYgb2lkY21wKCZvbmUtPm9pZCwgJnR3by0+b2lkKSkgewogCQlpbnQgYWJicmV2ID0gRElGRl9PUFRfVFNUKG8sIEZVTExfSU5ERVgpID8gNDAgOiBERUZBVUxUX0FCQlJFVjsKIAogCQlpZiAoRElGRl9PUFRfVFNUKG8sIEJJTkFSWSkpIHsKQEAgLTMwNzQsOSArMzE2OSw5IEBACiAJCQkgICAgKCFmaWxsX21tZmlsZSgmbWYsIHR3bykgJiYgZGlmZl9maWxlc3BlY19pc19iaW5hcnkodHdvKSkpCiAJCQkJYWJicmV2ID0gNDA7CiAJCX0KLQkJc3RyYnVmX2FkZGYobXNnLCAiJXMlc2luZGV4ICVzLi4iLCBsaW5lX3ByZWZpeCwgc2V0LAotCQkJICAgIGZpbmRfdW5pcXVlX2FiYnJldihvbmUtPnNoYTEsIGFiYnJldikpOwotCQlzdHJidWZfYWRkc3RyKG1zZywgZmluZF91bmlxdWVfYWJicmV2KHR3by0+c2hhMSwgYWJicmV2KSk7CisJCXN0cmJ1Zl9hZGRmKG1zZywgIiVzJXNpbmRleCAlcy4uJXMiLCBsaW5lX3ByZWZpeCwgc2V0LAorCQkJICAgIGRpZmZfYWJicmV2X29pZCgmb25lLT5vaWQsIGFiYnJldiksCisJCQkgICAgZGlmZl9hYmJyZXZfb2lkKCZ0d28tPm9pZCwgYWJicmV2KSk7CiAJCWlmIChvbmUtPm1vZGUgPT0gdHdvLT5tb2RlKQogCQkJc3RyYnVmX2FkZGYobXNnLCAiICUwNm8iLCBvbmUtPm1vZGUpOwogCQlzdHJidWZfYWRkZihtc2csICIlc1xuIiwgcmVzZXQpOwpAQCAtMzEzMSwyMCArMzIyNiwyMCBAQAogc3RhdGljIHZvaWQgZGlmZl9maWxsX3NoYTFfaW5mbyhzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqb25lKQogewogCWlmIChESUZGX0ZJTEVfVkFMSUQob25lKSkgewotCQlpZiAoIW9uZS0+c2hhMV92YWxpZCkgeworCQlpZiAoIW9uZS0+b2lkX3ZhbGlkKSB7CiAJCQlzdHJ1Y3Qgc3RhdCBzdDsKIAkJCWlmIChvbmUtPmlzX3N0ZGluKSB7Ci0JCQkJaGFzaGNweShvbmUtPnNoYTEsIG51bGxfc2hhMSk7CisJCQkJb2lkY2xyKCZvbmUtPm9pZCk7CiAJCQkJcmV0dXJuOwogCQkJfQogCQkJaWYgKGxzdGF0KG9uZS0+cGF0aCwgJnN0KSA8IDApCiAJCQkJZGllX2Vycm5vKCJzdGF0ICclcyciLCBvbmUtPnBhdGgpOwotCQkJaWYgKGluZGV4X3BhdGgob25lLT5zaGExLCBvbmUtPnBhdGgsICZzdCwgMCkpCisJCQlpZiAoaW5kZXhfcGF0aChvbmUtPm9pZC5oYXNoLCBvbmUtPnBhdGgsICZzdCwgMCkpCiAJCQkJZGllKCJjYW5ub3QgaGFzaCAlcyIsIG9uZS0+cGF0aCk7CiAJCX0KIAl9CiAJZWxzZQotCQloYXNoY2xyKG9uZS0+c2hhMSk7CisJCW9pZGNscigmb25lLT5vaWQpOwogfQogCiBzdGF0aWMgdm9pZCBzdHJpcF9wcmVmaXgoaW50IHByZWZpeF9sZW5ndGgsIGNvbnN0IGNoYXIgKipuYW1lcCwgY29uc3QgY2hhciAqKm90aGVycCkKQEAgLTMyNzQsNyArMzM2OSw3IEBACiAJb3B0aW9ucy0+cmVuYW1lX2xpbWl0ID0gLTE7CiAJb3B0aW9ucy0+ZGlyc3RhdF9wZXJtaWxsZSA9IGRpZmZfZGlyc3RhdF9wZXJtaWxsZV9kZWZhdWx0OwogCW9wdGlvbnMtPmNvbnRleHQgPSBkaWZmX2NvbnRleHRfZGVmYXVsdDsKLQlvcHRpb25zLT53c19lcnJvcl9oaWdobGlnaHQgPSBXU0VIX05FVzsKKwlvcHRpb25zLT53c19lcnJvcl9oaWdobGlnaHQgPSB3c19lcnJvcl9oaWdobGlnaHRfZGVmYXVsdDsKIAlESUZGX09QVF9TRVQob3B0aW9ucywgUkVOQU1FX0VNUFRZKTsKIAogCS8qIHBhdGhjaGFuZ2UgbGVmdCA9TlVMTCBieSBkZWZhdWx0ICovCkBAIC0zMjgzLDcgKzMzNzgsOSBAQAogCW9wdGlvbnMtPnVzZV9jb2xvciA9IGRpZmZfdXNlX2NvbG9yX2RlZmF1bHQ7CiAJb3B0aW9ucy0+ZGV0ZWN0X3JlbmFtZSA9IGRpZmZfZGV0ZWN0X3JlbmFtZV9kZWZhdWx0OwogCW9wdGlvbnMtPnhkbF9vcHRzIHw9IGRpZmZfYWxnb3JpdGhtOwotCWlmIChkaWZmX2NvbXBhY3Rpb25faGV1cmlzdGljKQorCWlmIChkaWZmX2luZGVudF9oZXVyaXN0aWMpCisJCURJRkZfWERMX1NFVChvcHRpb25zLCBJTkRFTlRfSEVVUklTVElDKTsKKwllbHNlIGlmIChkaWZmX2NvbXBhY3Rpb25faGV1cmlzdGljKQogCQlESUZGX1hETF9TRVQob3B0aW9ucywgQ09NUEFDVElPTl9IRVVSSVNUSUMpOwogCiAJb3B0aW9ucy0+b3JkZXJmaWxlID0gZGlmZl9vcmRlcl9maWxlX2NmZzsKQEAgLTMzMTIsNyArMzQwOSw3IEBACiAJaWYgKG9wdGlvbnMtPm91dHB1dF9mb3JtYXQgJiBESUZGX0ZPUk1BVF9OT19PVVRQVVQpCiAJCWNvdW50Kys7CiAJaWYgKGNvdW50ID4gMSkKLQkJZGllKCItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIpOworCQlkaWUoXygiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiKSk7CiAKIAkvKgogCSAqIE1vc3Qgb2YgdGhlIHRpbWUgd2UgY2FuIHNheSAidGhlcmUgYXJlIGNoYW5nZXMiCkBAIC0zMzg2LDcgKzM0ODMsNyBAQAogCQkJICovCiAJCQlyZWFkX2NhY2hlKCk7CiAJfQotCWlmIChvcHRpb25zLT5hYmJyZXYgPD0gMCB8fCA0MCA8IG9wdGlvbnMtPmFiYnJldikKKwlpZiAoNDAgPCBvcHRpb25zLT5hYmJyZXYpCiAJCW9wdGlvbnMtPmFiYnJldiA9IDQwOyAvKiBmdWxsICovCiAKIAkvKgpAQCAtMzUwOCw3ICszNjA1LDcgQEAKIAkJCWlmICgqYXJnID09ICc9JykKIAkJCQl3aWR0aCA9IHN0cnRvdWwoYXJnICsgMSwgJmVuZCwgMTApOwogCQkJZWxzZSBpZiAoISphcmcgJiYgIWF2WzFdKQotCQkJCWRpZSgiT3B0aW9uICctLXN0YXQtd2lkdGgnIHJlcXVpcmVzIGEgdmFsdWUiKTsKKwkJCQlkaWVfd2FudF9vcHRpb24oIi0tc3RhdC13aWR0aCIpOwogCQkJZWxzZSBpZiAoISphcmcpIHsKIAkJCQl3aWR0aCA9IHN0cnRvdWwoYXZbMV0sICZlbmQsIDEwKTsKIAkJCQlhcmdjb3VudCA9IDI7CkBAIC0zNTE3LDcgKzM2MTQsNyBAQAogCQkJaWYgKCphcmcgPT0gJz0nKQogCQkJCW5hbWVfd2lkdGggPSBzdHJ0b3VsKGFyZyArIDEsICZlbmQsIDEwKTsKIAkJCWVsc2UgaWYgKCEqYXJnICYmICFhdlsxXSkKLQkJCQlkaWUoIk9wdGlvbiAnLS1zdGF0LW5hbWUtd2lkdGgnIHJlcXVpcmVzIGEgdmFsdWUiKTsKKwkJCQlkaWVfd2FudF9vcHRpb24oIi0tc3RhdC1uYW1lLXdpZHRoIik7CiAJCQllbHNlIGlmICghKmFyZykgewogCQkJCW5hbWVfd2lkdGggPSBzdHJ0b3VsKGF2WzFdLCAmZW5kLCAxMCk7CiAJCQkJYXJnY291bnQgPSAyOwpAQCAtMzUyNiw3ICszNjIzLDcgQEAKIAkJCWlmICgqYXJnID09ICc9JykKIAkJCQlncmFwaF93aWR0aCA9IHN0cnRvdWwoYXJnICsgMSwgJmVuZCwgMTApOwogCQkJZWxzZSBpZiAoISphcmcgJiYgIWF2WzFdKQotCQkJCWRpZSgiT3B0aW9uICctLXN0YXQtZ3JhcGgtd2lkdGgnIHJlcXVpcmVzIGEgdmFsdWUiKTsKKwkJCQlkaWVfd2FudF9vcHRpb24oIi0tc3RhdC1ncmFwaC13aWR0aCIpOwogCQkJZWxzZSBpZiAoISphcmcpIHsKIAkJCQlncmFwaF93aWR0aCA9IHN0cnRvdWwoYXZbMV0sICZlbmQsIDEwKTsKIAkJCQlhcmdjb3VudCA9IDI7CkBAIC0zNTM1LDcgKzM2MzIsNyBAQAogCQkJaWYgKCphcmcgPT0gJz0nKQogCQkJCWNvdW50ID0gc3RydG91bChhcmcgKyAxLCAmZW5kLCAxMCk7CiAJCQllbHNlIGlmICghKmFyZyAmJiAhYXZbMV0pCi0JCQkJZGllKCJPcHRpb24gJy0tc3RhdC1jb3VudCcgcmVxdWlyZXMgYSB2YWx1ZSIpOworCQkJCWRpZV93YW50X29wdGlvbigiLS1zdGF0LWNvdW50Iik7CiAJCQllbHNlIGlmICghKmFyZykgewogCQkJCWNvdW50ID0gc3RydG91bChhdlsxXSwgJmVuZCwgMTApOwogCQkJCWFyZ2NvdW50ID0gMjsKQEAgLTM2NjMsNDAgKzM3NjAsMTQgQEAKIAkqZm10IHw9IERJRkZfRk9STUFUX1BBVENIOwogfQogCi1zdGF0aWMgaW50IHBhcnNlX29uZV90b2tlbihjb25zdCBjaGFyICoqYXJnLCBjb25zdCBjaGFyICp0b2tlbikKK3N0YXRpYyBpbnQgcGFyc2Vfd3NfZXJyb3JfaGlnaGxpZ2h0X29wdChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQsIGNvbnN0IGNoYXIgKmFyZykKIHsKLQljb25zdCBjaGFyICpyZXN0OwotCWlmIChza2lwX3ByZWZpeCgqYXJnLCB0b2tlbiwgJnJlc3QpICYmICghKnJlc3QgfHwgKnJlc3QgPT0gJywnKSkgewotCQkqYXJnID0gcmVzdDsKLQkJcmV0dXJuIDE7Ci0JfQotCXJldHVybiAwOwotfQorCWludCB2YWwgPSBwYXJzZV93c19lcnJvcl9oaWdobGlnaHQoYXJnKTsKIAotc3RhdGljIGludCBwYXJzZV93c19lcnJvcl9oaWdobGlnaHQoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0LCBjb25zdCBjaGFyICphcmcpCi17Ci0JY29uc3QgY2hhciAqb3JpZ19hcmcgPSBhcmc7Ci0JdW5zaWduZWQgdmFsID0gMDsKLQl3aGlsZSAoKmFyZykgewotCQlpZiAocGFyc2Vfb25lX3Rva2VuKCZhcmcsICJub25lIikpCi0JCQl2YWwgPSAwOwotCQllbHNlIGlmIChwYXJzZV9vbmVfdG9rZW4oJmFyZywgImRlZmF1bHQiKSkKLQkJCXZhbCA9IFdTRUhfTkVXOwotCQllbHNlIGlmIChwYXJzZV9vbmVfdG9rZW4oJmFyZywgImFsbCIpKQotCQkJdmFsID0gV1NFSF9ORVcgfCBXU0VIX09MRCB8IFdTRUhfQ09OVEVYVDsKLQkJZWxzZSBpZiAocGFyc2Vfb25lX3Rva2VuKCZhcmcsICJuZXciKSkKLQkJCXZhbCB8PSBXU0VIX05FVzsKLQkJZWxzZSBpZiAocGFyc2Vfb25lX3Rva2VuKCZhcmcsICJvbGQiKSkKLQkJCXZhbCB8PSBXU0VIX09MRDsKLQkJZWxzZSBpZiAocGFyc2Vfb25lX3Rva2VuKCZhcmcsICJjb250ZXh0IikpCi0JCQl2YWwgfD0gV1NFSF9DT05URVhUOwotCQllbHNlIHsKLQkJCWVycm9yKCJ1bmtub3duIHZhbHVlIGFmdGVyIHdzLWVycm9yLWhpZ2hsaWdodD0lLipzIiwKLQkJCSAgICAgIChpbnQpKGFyZyAtIG9yaWdfYXJnKSwgb3JpZ19hcmcpOwotCQkJcmV0dXJuIDA7Ci0JCX0KLQkJaWYgKCphcmcpCi0JCQlhcmcrKzsKKwlpZiAodmFsIDwgMCkgeworCQllcnJvcigidW5rbm93biB2YWx1ZSBhZnRlciB3cy1lcnJvci1oaWdobGlnaHQ9JS4qcyIsCisJCSAgICAgIC0xIC0gdmFsLCBhcmcpOworCQlyZXR1cm4gMDsKIAl9CiAJb3B0LT53c19lcnJvcl9oaWdobGlnaHQgPSB2YWw7CiAJcmV0dXJuIDE7CkBAIC0zODA1LDkgKzM4NzYsMTUgQEAKIAkJRElGRl9YRExfU0VUKG9wdGlvbnMsIElHTk9SRV9XSElURVNQQUNFX0FUX0VPTCk7CiAJZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWlnbm9yZS1ibGFuay1saW5lcyIpKQogCQlESUZGX1hETF9TRVQob3B0aW9ucywgSUdOT1JFX0JMQU5LX0xJTkVTKTsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0tY29tcGFjdGlvbi1oZXVyaXN0aWMiKSkKKwllbHNlIGlmICghc3RyY21wKGFyZywgIi0taW5kZW50LWhldXJpc3RpYyIpKSB7CisJCURJRkZfWERMX1NFVChvcHRpb25zLCBJTkRFTlRfSEVVUklTVElDKTsKKwkJRElGRl9YRExfQ0xSKG9wdGlvbnMsIENPTVBBQ1RJT05fSEVVUklTVElDKTsKKwl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1uby1pbmRlbnQtaGV1cmlzdGljIikpCisJCURJRkZfWERMX0NMUihvcHRpb25zLCBJTkRFTlRfSEVVUklTVElDKTsKKwllbHNlIGlmICghc3RyY21wKGFyZywgIi0tY29tcGFjdGlvbi1oZXVyaXN0aWMiKSkgewogCQlESUZGX1hETF9TRVQob3B0aW9ucywgQ09NUEFDVElPTl9IRVVSSVNUSUMpOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1uby1jb21wYWN0aW9uLWhldXJpc3RpYyIpKQorCQlESUZGX1hETF9DTFIob3B0aW9ucywgSU5ERU5UX0hFVVJJU1RJQyk7CisJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tbm8tY29tcGFjdGlvbi1oZXVyaXN0aWMiKSkKIAkJRElGRl9YRExfQ0xSKG9wdGlvbnMsIENPTVBBQ1RJT05fSEVVUklTVElDKTsKIAllbHNlIGlmICghc3RyY21wKGFyZywgIi0tcGF0aWVuY2UiKSkKIAkJb3B0aW9ucy0+eGRsX29wdHMgPSBESUZGX1dJVEhfQUxHKG9wdGlvbnMsIFBBVElFTkNFX0RJRkYpOwpAQCAtMzkwNSwxMSArMzk4MiwxNSBAQAogCQlESUZGX09QVF9TRVQob3B0aW9ucywgT1ZFUlJJREVfU1VCTU9EVUxFX0NPTkZJRyk7CiAJCWhhbmRsZV9pZ25vcmVfc3VibW9kdWxlc19hcmcob3B0aW9ucywgYXJnKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1zdWJtb2R1bGUiKSkKLQkJRElGRl9PUFRfU0VUKG9wdGlvbnMsIFNVQk1PRFVMRV9MT0cpOworCQlvcHRpb25zLT5zdWJtb2R1bGVfZm9ybWF0ID0gRElGRl9TVUJNT0RVTEVfTE9HOwogCWVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgIi0tc3VibW9kdWxlPSIsICZhcmcpKQogCQlyZXR1cm4gcGFyc2Vfc3VibW9kdWxlX29wdChvcHRpb25zLCBhcmcpOwogCWVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgIi0td3MtZXJyb3ItaGlnaGxpZ2h0PSIsICZhcmcpKQotCQlyZXR1cm4gcGFyc2Vfd3NfZXJyb3JfaGlnaGxpZ2h0KG9wdGlvbnMsIGFyZyk7CisJCXJldHVybiBwYXJzZV93c19lcnJvcl9oaWdobGlnaHRfb3B0KG9wdGlvbnMsIGFyZyk7CisJZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWl0YS1pbnZpc2libGUtaW4taW5kZXgiKSkKKwkJb3B0aW9ucy0+aXRhX2ludmlzaWJsZV9pbl9pbmRleCA9IDE7CisJZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWl0YS12aXNpYmxlLWluLWluZGV4IikpCisJCW9wdGlvbnMtPml0YV9pbnZpc2libGVfaW5faW5kZXggPSAwOwogCiAJLyogbWlzYyBvcHRpb25zICovCiAJZWxzZSBpZiAoIXN0cmNtcChhcmcsICIteiIpKQpAQCAtMzk1Niw2ICs0MDM3LDEyIEBACiAJCW9wdGlvbnMtPmFfcHJlZml4ID0gb3B0YXJnOwogCQlyZXR1cm4gYXJnY291bnQ7CiAJfQorCWVsc2UgaWYgKChhcmdjb3VudCA9IHBhcnNlX2xvbmdfb3B0KCJsaW5lLXByZWZpeCIsIGF2LCAmb3B0YXJnKSkpIHsKKwkJb3B0aW9ucy0+bGluZV9wcmVmaXggPSBvcHRhcmc7CisJCW9wdGlvbnMtPmxpbmVfcHJlZml4X2xlbmd0aCA9IHN0cmxlbihvcHRpb25zLT5saW5lX3ByZWZpeCk7CisJCWdyYXBoX3NldHVwX2xpbmVfcHJlZml4KG9wdGlvbnMpOworCQlyZXR1cm4gYXJnY291bnQ7CisJfQogCWVsc2UgaWYgKChhcmdjb3VudCA9IHBhcnNlX2xvbmdfb3B0KCJkc3QtcHJlZml4IiwgYXYsICZvcHRhcmcpKSkgewogCQlvcHRpb25zLT5iX3ByZWZpeCA9IG9wdGFyZzsKIAkJcmV0dXJuIGFyZ2NvdW50OwpAQCAtMzk3Nyw2ICs0MDY0LDggQEAKIAkJaWYgKCFvcHRpb25zLT5maWxlKQogCQkJZGllX2Vycm5vKCJDb3VsZCBub3Qgb3BlbiAnJXMnIiwgcGF0aCk7CiAJCW9wdGlvbnMtPmNsb3NlX2ZpbGUgPSAxOworCQlpZiAob3B0aW9ucy0+dXNlX2NvbG9yICE9IEdJVF9DT0xPUl9BTFdBWVMpCisJCQlvcHRpb25zLT51c2VfY29sb3IgPSBHSVRfQ09MT1JfTkVWRVI7CiAJCXJldHVybiBhcmdjb3VudDsKIAl9IGVsc2UKIAkJcmV0dXJuIDA7CkBAIC00MDg3LDI3ICs0MTc2LDQ2IEBACiAJZnJlZShwKTsKIH0KIAotLyogVGhpcyBpcyBkaWZmZXJlbnQgZnJvbSBmaW5kX3VuaXF1ZV9hYmJyZXYoKSBpbiB0aGF0Ci0gKiBpdCBzdHVmZnMgdGhlIHJlc3VsdCB3aXRoIGRvdHMgZm9yIGFsaWdubWVudC4KLSAqLwotY29uc3QgY2hhciAqZGlmZl91bmlxdWVfYWJicmV2KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCBsZW4pCitjb25zdCBjaGFyICpkaWZmX2FsaWduZWRfYWJicmV2KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgaW50IGxlbikKIHsKIAlpbnQgYWJibGVuOwogCWNvbnN0IGNoYXIgKmFiYnJldjsKLQlpZiAobGVuID09IDQwKQotCQlyZXR1cm4gc2hhMV90b19oZXgoc2hhMSk7CiAKLQlhYmJyZXYgPSBmaW5kX3VuaXF1ZV9hYmJyZXYoc2hhMSwgbGVuKTsKKwlpZiAobGVuID09IEdJVF9TSEExX0hFWFNaKQorCQlyZXR1cm4gb2lkX3RvX2hleChvaWQpOworCisJYWJicmV2ID0gZGlmZl9hYmJyZXZfb2lkKG9pZCwgbGVuKTsKIAlhYmJsZW4gPSBzdHJsZW4oYWJicmV2KTsKLQlpZiAoYWJibGVuIDwgMzcpIHsKLQkJc3RhdGljIGNoYXIgaGV4WzQxXTsKKworCS8qCisJICogSW4gd2VsbC1iZWhhdmVkIGNhc2VzLCB3aGVyZSB0aGUgYWJiYnJldmlhdGVkIHJlc3VsdCBpcyB0aGUKKwkgKiBzYW1lIGFzIHRoZSByZXF1ZXN0ZWQgbGVuZ3RoLCBhcHBlbmQgdGhyZWUgZG90cyBhZnRlciB0aGUKKwkgKiBhYmJyZXZpYXRpb24gKGhlbmNlIHRoZSB3aG9sZSBsb2dpYyBpcyBsaW1pdGVkIHRvIHRoZSBjYXNlCisJICogd2hlcmUgYWJibGVuIDwgMzcpOyB3aGVuIHRoZSBhY3R1YWwgYWJicmV2aWF0ZWQgcmVzdWx0IGlzIGEKKwkgKiBiaXQgbG9uZ2VyIHRoYW4gdGhlIHJlcXVlc3RlZCBsZW5ndGgsIHdlIHJlZHVjZSB0aGUgbnVtYmVyCisJICogb2YgZG90cyBzbyB0aGF0IHRoZXkgbWF0Y2ggdGhlIHdlbGwtYmVoYXZlZCBvbmVzLiAgSG93ZXZlciwKKwkgKiBpZiB0aGUgYWN0dWFsIGFiYnJldmlhdGlvbiBpcyBsb25nZXIgdGhhbiB0aGUgcmVxdWVzdGVkCisJICogbGVuZ3RoIGJ5IG1vcmUgdGhhbiB0aHJlZSwgd2UgZ2l2ZSB1cCBvbiBhbGlnbmluZywgYW5kIGFkZAorCSAqIHRocmVlIGRvdHMgYW55d2F5LCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBvdXRwdXQgaXMgbm90IHRoZQorCSAqIGZ1bGwgb2JqZWN0IG5hbWUuICBZZXMsIHRoaXMgbWF5IGJlIHN1Ym9wdGltYWwsIGJ1dCB0aGlzCisJICogYXBwZWFycyBvbmx5IGluICJkaWZmIC0tcmF3IC0tYWJicmV2IiBvdXRwdXQgYW5kIGl0IGlzIG5vdAorCSAqIHdvcnRoIHRoZSBlZmZvcnQgdG8gY2hhbmdlIGl0IG5vdy4gIE5vdGUgdGhhdCB0aGlzIHdvdWxkCisJICogbGlrZWx5IHRvIHdvcmsgZmluZSB3aGVuIHRoZSBhdXRvbWF0aWMgc2l6aW5nIG9mIGRlZmF1bHQKKwkgKiBhYmJyZXZpYXRpb24gbGVuZ3RoIGlzIHVzZWQtLXdlIHdvdWxkIGJlIGZlZCAtMSBpbiAibGVuIiBpbgorCSAqIHRoYXQgY2FzZSwgYW5kIHdpbGwgZW5kIHVwIGFsd2F5cyBhcHBlbmRpbmcgdGhyZWUtZG90cywgYnV0CisJICogdGhlIGF1dG9tYXRpYyBzaXppbmcgaXMgc3VwcG9zZWQgdG8gZ2l2ZSBhYmJsZW4gdGhhdCBlbnN1cmVzCisJICogdW5pcXVlbmVzcyBhY3Jvc3MgYWxsIG9iamVjdHMgKHN0YXRpc3RpY2FsbHkgc3BlYWtpbmcpLgorCSAqLworCWlmIChhYmJsZW4gPCBHSVRfU0hBMV9IRVhTWiAtIDMpIHsKKwkJc3RhdGljIGNoYXIgaGV4W0dJVF9TSEExX0hFWFNaICsgMV07CiAJCWlmIChsZW4gPCBhYmJsZW4gJiYgYWJibGVuIDw9IGxlbiArIDIpCiAJCQl4c25wcmludGYoaGV4LCBzaXplb2YoaGV4KSwgIiVzJS4qcyIsIGFiYnJldiwgbGVuKzMtYWJibGVuLCAiLi4iKTsKIAkJZWxzZQogCQkJeHNucHJpbnRmKGhleCwgc2l6ZW9mKGhleCksICIlcy4uLiIsIGFiYnJldik7CiAJCXJldHVybiBoZXg7CiAJfQotCXJldHVybiBzaGExX3RvX2hleChzaGExKTsKKworCXJldHVybiBvaWRfdG9faGV4KG9pZCk7CiB9CiAKIHN0YXRpYyB2b2lkIGRpZmZfZmx1c2hfcmF3KHN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwLCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQpCkBAIC00MTE4LDggKzQyMjYsOSBAQAogCWZwcmludGYob3B0LT5maWxlLCAiJXMiLCBkaWZmX2xpbmVfcHJlZml4KG9wdCkpOwogCWlmICghKG9wdC0+b3V0cHV0X2Zvcm1hdCAmIERJRkZfRk9STUFUX05BTUVfU1RBVFVTKSkgewogCQlmcHJpbnRmKG9wdC0+ZmlsZSwgIjolMDZvICUwNm8gJXMgIiwgcC0+b25lLT5tb2RlLCBwLT50d28tPm1vZGUsCi0JCQlkaWZmX3VuaXF1ZV9hYmJyZXYocC0+b25lLT5zaGExLCBvcHQtPmFiYnJldikpOwotCQlmcHJpbnRmKG9wdC0+ZmlsZSwgIiVzICIsIGRpZmZfdW5pcXVlX2FiYnJldihwLT50d28tPnNoYTEsIG9wdC0+YWJicmV2KSk7CisJCQlkaWZmX2FsaWduZWRfYWJicmV2KCZwLT5vbmUtPm9pZCwgb3B0LT5hYmJyZXYpKTsKKwkJZnByaW50ZihvcHQtPmZpbGUsICIlcyAiLAorCQkJZGlmZl9hbGlnbmVkX2FiYnJldigmcC0+dHdvLT5vaWQsIG9wdC0+YWJicmV2KSk7CiAJfQogCWlmIChwLT5zY29yZSkgewogCQlmcHJpbnRmKG9wdC0+ZmlsZSwgIiVjJTAzZCVjIiwgcC0+c3RhdHVzLCBzaW1pbGFyaXR5X2luZGV4KHApLApAQCAtNDE2OCwxMSArNDI3NywxMSBAQAogCS8qIGJvdGggYXJlIHZhbGlkIGFuZCBwb2ludCBhdCB0aGUgc2FtZSBwYXRoLiAgdGhhdCBpcywgd2UgYXJlCiAJICogZGVhbGluZyB3aXRoIGEgY2hhbmdlLgogCSAqLwotCWlmIChvbmUtPnNoYTFfdmFsaWQgJiYgdHdvLT5zaGExX3ZhbGlkICYmCi0JICAgICFoYXNoY21wKG9uZS0+c2hhMSwgdHdvLT5zaGExKSAmJgorCWlmIChvbmUtPm9pZF92YWxpZCAmJiB0d28tPm9pZF92YWxpZCAmJgorCSAgICAhb2lkY21wKCZvbmUtPm9pZCwgJnR3by0+b2lkKSAmJgogCSAgICAhb25lLT5kaXJ0eV9zdWJtb2R1bGUgJiYgIXR3by0+ZGlydHlfc3VibW9kdWxlKQogCQlyZXR1cm4gMTsgLyogbm8gY2hhbmdlICovCi0JaWYgKCFvbmUtPnNoYTFfdmFsaWQgJiYgIXR3by0+c2hhMV92YWxpZCkKKwlpZiAoIW9uZS0+b2lkX3ZhbGlkICYmICF0d28tPm9pZF92YWxpZCkKIAkJcmV0dXJuIDE7IC8qIGJvdGggbG9vayBhdCB0aGUgc2FtZSBmaWxlIG9uIHRoZSBmaWxlc3lzdGVtLiAqLwogCXJldHVybiAwOwogfQpAQCAtNDIzMyw3ICs0MzQyLDcgQEAKIAkJcy0+cGF0aCwKIAkJRElGRl9GSUxFX1ZBTElEKHMpID8gInZhbGlkIiA6ICJpbnZhbGlkIiwKIAkJcy0+bW9kZSwKLQkJcy0+c2hhMV92YWxpZCA/IHNoYTFfdG9faGV4KHMtPnNoYTEpIDogIiIpOworCQlzLT5vaWRfdmFsaWQgPyBvaWRfdG9faGV4KCZzLT5vaWQpIDogIiIpOwogCWZwcmludGYoc3RkZXJyLCAicXVldWVbJWRdICVzIHNpemUgJWx1XG4iLAogCQl4LCBvbmUgPyBvbmUgOiAiIiwKIAkJcy0+c2l6ZSk7CkBAIC00MzAzLDExICs0NDEyLDExIEBACiAJCQllbHNlCiAJCQkJcC0+c3RhdHVzID0gRElGRl9TVEFUVVNfUkVOQU1FRDsKIAkJfQotCQllbHNlIGlmIChoYXNoY21wKHAtPm9uZS0+c2hhMSwgcC0+dHdvLT5zaGExKSB8fAorCQllbHNlIGlmIChvaWRjbXAoJnAtPm9uZS0+b2lkLCAmcC0+dHdvLT5vaWQpIHx8CiAJCQkgcC0+b25lLT5tb2RlICE9IHAtPnR3by0+bW9kZSB8fAogCQkJIHAtPm9uZS0+ZGlydHlfc3VibW9kdWxlIHx8CiAJCQkgcC0+dHdvLT5kaXJ0eV9zdWJtb2R1bGUgfHwKLQkJCSBpc19udWxsX3NoYTEocC0+b25lLT5zaGExKSkKKwkJCSBpc19udWxsX29pZCgmcC0+b25lLT5vaWQpKQogCQkJcC0+c3RhdHVzID0gRElGRl9TVEFUVVNfTU9ESUZJRUQ7CiAJCWVsc2UgewogCQkJLyogVGhpcyBpcyBhICJuby1jaGFuZ2UiIGVudHJ5IGFuZCBzaG91bGQgbm90CkBAIC00NDQ5LDcgKzQ1NTgsNyBAQAogfQogCiAvKiByZXR1cm5zIDAgdXBvbiBzdWNjZXNzLCBhbmQgd3JpdGVzIHJlc3VsdCBpbnRvIHNoYTEgKi8KLXN0YXRpYyBpbnQgZGlmZl9nZXRfcGF0Y2hfaWQoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBpbnQgZGlmZl9nZXRfcGF0Y2hfaWQoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50IGRpZmZfaGVhZGVyX29ubHkpCiB7CiAJc3RydWN0IGRpZmZfcXVldWVfc3RydWN0ICpxID0gJmRpZmZfcXVldWVkX2RpZmY7CiAJaW50IGk7CkBAIC00NDg0LDkgKzQ1OTMsNiBAQAogCiAJCWRpZmZfZmlsbF9zaGExX2luZm8ocC0+b25lKTsKIAkJZGlmZl9maWxsX3NoYTFfaW5mbyhwLT50d28pOwotCQlpZiAoZmlsbF9tbWZpbGUoJm1mMSwgcC0+b25lKSA8IDAgfHwKLQkJCQlmaWxsX21tZmlsZSgmbWYyLCBwLT50d28pIDwgMCkKLQkJCXJldHVybiBlcnJvcigidW5hYmxlIHRvIHJlYWQgZmlsZXMgdG8gZGlmZiIpOwogCiAJCWxlbjEgPSByZW1vdmVfc3BhY2UocC0+b25lLT5wYXRoLCBzdHJsZW4ocC0+b25lLT5wYXRoKSk7CiAJCWxlbjIgPSByZW1vdmVfc3BhY2UocC0+dHdvLT5wYXRoLCBzdHJsZW4ocC0+dHdvLT5wYXRoKSk7CkBAIC00NTIxLDEwICs0NjI3LDE5IEBACiAJCQkJCWxlbjIsIHAtPnR3by0+cGF0aCk7CiAJCWdpdF9TSEExX1VwZGF0ZSgmY3R4LCBidWZmZXIsIGxlbjEpOwogCisJCWlmIChkaWZmX2hlYWRlcl9vbmx5KQorCQkJY29udGludWU7CisKKwkJaWYgKGZpbGxfbW1maWxlKCZtZjEsIHAtPm9uZSkgPCAwIHx8CisJCSAgICBmaWxsX21tZmlsZSgmbWYyLCBwLT50d28pIDwgMCkKKwkJCXJldHVybiBlcnJvcigidW5hYmxlIHRvIHJlYWQgZmlsZXMgdG8gZGlmZiIpOworCiAJCWlmIChkaWZmX2ZpbGVzcGVjX2lzX2JpbmFyeShwLT5vbmUpIHx8CiAJCSAgICBkaWZmX2ZpbGVzcGVjX2lzX2JpbmFyeShwLT50d28pKSB7Ci0JCQlnaXRfU0hBMV9VcGRhdGUoJmN0eCwgc2hhMV90b19oZXgocC0+b25lLT5zaGExKSwgNDApOwotCQkJZ2l0X1NIQTFfVXBkYXRlKCZjdHgsIHNoYTFfdG9faGV4KHAtPnR3by0+c2hhMSksIDQwKTsKKwkJCWdpdF9TSEExX1VwZGF0ZSgmY3R4LCBvaWRfdG9faGV4KCZwLT5vbmUtPm9pZCksCisJCQkJCTQwKTsKKwkJCWdpdF9TSEExX1VwZGF0ZSgmY3R4LCBvaWRfdG9faGV4KCZwLT50d28tPm9pZCksCisJCQkJCTQwKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKQEAgLTQ1NDEsMTEgKzQ2NTYsMTEgQEAKIAlyZXR1cm4gMDsKIH0KIAotaW50IGRpZmZfZmx1c2hfcGF0Y2hfaWQoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywgdW5zaWduZWQgY2hhciAqc2hhMSkKK2ludCBkaWZmX2ZsdXNoX3BhdGNoX2lkKHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMsIHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCBkaWZmX2hlYWRlcl9vbmx5KQogewogCXN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcSA9ICZkaWZmX3F1ZXVlZF9kaWZmOwogCWludCBpOwotCWludCByZXN1bHQgPSBkaWZmX2dldF9wYXRjaF9pZChvcHRpb25zLCBzaGExKTsKKwlpbnQgcmVzdWx0ID0gZGlmZl9nZXRfcGF0Y2hfaWQob3B0aW9ucywgc2hhMSwgZGlmZl9oZWFkZXJfb25seSk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgcS0+bnI7IGkrKykKIAkJZGlmZl9mcmVlX2ZpbGVwYWlyKHEtPnF1ZXVlW2ldKTsKQEAgLTQ1ODIsMjUgKzQ2OTcsMjUgQEAKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIgcmVuYW1lX2xpbWl0X3dhcm5pbmdbXSA9Ci0iaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uIHdhcyBza2lwcGVkIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iOworTl8oImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIik7CiAKIHN0YXRpYyBjb25zdCBjaGFyIGRlZ3JhZGVfY2NfdG9fY193YXJuaW5nW10gPQotIm9ubHkgZm91bmQgY29waWVzIGZyb20gbW9kaWZpZWQgcGF0aHMgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiI7CitOXygib25seSBmb3VuZCBjb3BpZXMgZnJvbSBtb2RpZmllZCBwYXRocyBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIik7CiAKIHN0YXRpYyBjb25zdCBjaGFyIHJlbmFtZV9saW1pdF9hZHZpY2VbXSA9Ci0ieW91IG1heSB3YW50IHRvIHNldCB5b3VyICVzIHZhcmlhYmxlIHRvIGF0IGxlYXN0ICIKLSIlZCBhbmQgcmV0cnkgdGhlIGNvbW1hbmQuIjsKK05fKCJ5b3UgbWF5IHdhbnQgdG8gc2V0IHlvdXIgJXMgdmFyaWFibGUgdG8gYXQgbGVhc3QgIgorICAgIiVkIGFuZCByZXRyeSB0aGUgY29tbWFuZC4iKTsKIAogdm9pZCBkaWZmX3dhcm5fcmVuYW1lX2xpbWl0KGNvbnN0IGNoYXIgKnZhcm5hbWUsIGludCBuZWVkZWQsIGludCBkZWdyYWRlZF9jYykKIHsKIAlpZiAoZGVncmFkZWRfY2MpCi0JCXdhcm5pbmcoZGVncmFkZV9jY190b19jX3dhcm5pbmcpOworCQl3YXJuaW5nKF8oZGVncmFkZV9jY190b19jX3dhcm5pbmcpKTsKIAllbHNlIGlmIChuZWVkZWQpCi0JCXdhcm5pbmcocmVuYW1lX2xpbWl0X3dhcm5pbmcpOworCQl3YXJuaW5nKF8ocmVuYW1lX2xpbWl0X3dhcm5pbmcpKTsKIAllbHNlCiAJCXJldHVybjsKIAlpZiAoMCA8IG5lZWRlZCAmJiBuZWVkZWQgPCAzMjc2NykKLQkJd2FybmluZyhyZW5hbWVfbGltaXRfYWR2aWNlLCB2YXJuYW1lLCBuZWVkZWQpOworCQl3YXJuaW5nKF8ocmVuYW1lX2xpbWl0X2FkdmljZSksIHZhcm5hbWUsIG5lZWRlZCk7CiB9CiAKIHZvaWQgZGlmZl9mbHVzaChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zKQpAQCAtNDgxNiw3ICs0OTMxLDcgQEAKIAkgKi8KIAlpZiAoIURJRkZfRklMRV9WQUxJRChwLT5vbmUpIHx8IC8qICgxKSAqLwogCSAgICAhRElGRl9GSUxFX1ZBTElEKHAtPnR3bykgfHwKLQkgICAgKHAtPm9uZS0+c2hhMV92YWxpZCAmJiBwLT50d28tPnNoYTFfdmFsaWQpIHx8CisJICAgIChwLT5vbmUtPm9pZF92YWxpZCAmJiBwLT50d28tPm9pZF92YWxpZCkgfHwKIAkgICAgKHAtPm9uZS0+bW9kZSAhPSBwLT50d28tPm1vZGUpIHx8CiAJICAgIGRpZmZfcG9wdWxhdGVfZmlsZXNwZWMocC0+b25lLCBDSEVDS19TSVpFX09OTFkpIHx8CiAJICAgIGRpZmZfcG9wdWxhdGVfZmlsZXNwZWMocC0+dHdvLCBDSEVDS19TSVpFX09OTFkpIHx8CkBAIC00ODY3LDcgKzQ5ODIsNyBAQAogdm9pZCBkaWZmY29yZV9maXhfZGlmZl9pbmRleChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zKQogewogCXN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcSA9ICZkaWZmX3F1ZXVlZF9kaWZmOwotCXFzb3J0KHEtPnF1ZXVlLCBxLT5uciwgc2l6ZW9mKHEtPnF1ZXVlWzBdKSwgZGlmZm5hbWVjbXApOworCVFTT1JUKHEtPnF1ZXVlLCBxLT5uciwgZGlmZm5hbWVjbXApOwogfQogCiB2b2lkIGRpZmZjb3JlX3N0ZChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zKQpAQCAtNTExMiw4ICs1MjI3LDkgQEAKIAlpZiAoIWRyaXZlci0+dGV4dGNvbnYpCiAJCWRpZSgiQlVHOiBmaWxsX3RleHRjb252IGNhbGxlZCB3aXRoIG5vbi10ZXh0Y29udiBkcml2ZXIiKTsKIAotCWlmIChkcml2ZXItPnRleHRjb252X2NhY2hlICYmIGRmLT5zaGExX3ZhbGlkKSB7Ci0JCSpvdXRidWYgPSBub3Rlc19jYWNoZV9nZXQoZHJpdmVyLT50ZXh0Y29udl9jYWNoZSwgZGYtPnNoYTEsCisJaWYgKGRyaXZlci0+dGV4dGNvbnZfY2FjaGUgJiYgZGYtPm9pZF92YWxpZCkgeworCQkqb3V0YnVmID0gbm90ZXNfY2FjaGVfZ2V0KGRyaXZlci0+dGV4dGNvbnZfY2FjaGUsCisJCQkJCSAgZGYtPm9pZC5oYXNoLAogCQkJCQkgICZzaXplKTsKIAkJaWYgKCpvdXRidWYpCiAJCQlyZXR1cm4gc2l6ZTsKQEAgLTUxMjMsOSArNTIzOSw5IEBACiAJaWYgKCEqb3V0YnVmKQogCQlkaWUoInVuYWJsZSB0byByZWFkIGZpbGVzIHRvIGRpZmYiKTsKIAotCWlmIChkcml2ZXItPnRleHRjb252X2NhY2hlICYmIGRmLT5zaGExX3ZhbGlkKSB7CisJaWYgKGRyaXZlci0+dGV4dGNvbnZfY2FjaGUgJiYgZGYtPm9pZF92YWxpZCkgewogCQkvKiBpZ25vcmUgZXJyb3JzLCBhcyB3ZSBtaWdodCBiZSBpbiBhIHJlYWRvbmx5IHJlcG9zaXRvcnkgKi8KLQkJbm90ZXNfY2FjaGVfcHV0KGRyaXZlci0+dGV4dGNvbnZfY2FjaGUsIGRmLT5zaGExLCAqb3V0YnVmLAorCQlub3Rlc19jYWNoZV9wdXQoZHJpdmVyLT50ZXh0Y29udl9jYWNoZSwgZGYtPm9pZC5oYXNoLCAqb3V0YnVmLAogCQkJCXNpemUpOwogCQkvKgogCQkgKiB3ZSBjb3VsZCBzYXZlIHVwIGNoYW5nZXMgYW5kIGZsdXNoIHRoZW0gYWxsIGF0IHRoZSBlbmQsCmRpZmYgLS1naXQgYS9kaWZmLmggYi9kaWZmLmgKaW5kZXggMTI1NDQ3Yi4uZTljY2IzOCAxMDA2NDQKLS0tIGEvZGlmZi5oCisrKyBiL2RpZmYuaApAQCAtODMsNyArODMsNiBAQAogI2RlZmluZSBESUZGX09QVF9ESVJTVEFUX0JZX0ZJTEUgICAgICgxIDw8IDIwKQogI2RlZmluZSBESUZGX09QVF9BTExPV19URVhUQ09OViAgICAgICgxIDw8IDIxKQogI2RlZmluZSBESUZGX09QVF9ESUZGX0ZST01fQ09OVEVOVFMgICgxIDw8IDIyKQotI2RlZmluZSBESUZGX09QVF9TVUJNT0RVTEVfTE9HICAgICAgICgxIDw8IDIzKQogI2RlZmluZSBESUZGX09QVF9ESVJUWV9TVUJNT0RVTEVTICAgICgxIDw8IDI0KQogI2RlZmluZSBESUZGX09QVF9JR05PUkVfVU5UUkFDS0VEX0lOX1NVQk1PRFVMRVMgKDEgPDwgMjUpCiAjZGVmaW5lIERJRkZfT1BUX0lHTk9SRV9ESVJUWV9TVUJNT0RVTEVTICgxIDw8IDI2KQpAQCAtMTEwLDExICsxMDksMTkgQEAKIAlESUZGX1dPUkRTX0NPTE9SCiB9OwogCitlbnVtIGRpZmZfc3VibW9kdWxlX2Zvcm1hdCB7CisJRElGRl9TVUJNT0RVTEVfU0hPUlQgPSAwLAorCURJRkZfU1VCTU9EVUxFX0xPRywKKwlESUZGX1NVQk1PRFVMRV9JTkxJTkVfRElGRgorfTsKKwogc3RydWN0IGRpZmZfb3B0aW9ucyB7CiAJY29uc3QgY2hhciAqb3JkZXJmaWxlOwogCWNvbnN0IGNoYXIgKnBpY2theGU7CiAJY29uc3QgY2hhciAqc2luZ2xlX2ZvbGxvdzsKIAljb25zdCBjaGFyICphX3ByZWZpeCwgKmJfcHJlZml4OworCWNvbnN0IGNoYXIgKmxpbmVfcHJlZml4OworCXNpemVfdCBsaW5lX3ByZWZpeF9sZW5ndGg7CiAJdW5zaWduZWQgZmxhZ3M7CiAJdW5zaWduZWQgdG91Y2hlZF9mbGFnczsKIApAQCAtMTM5LDYgKzE0Niw3IEBACiAJaW50IGRpcnN0YXRfcGVybWlsbGU7CiAJaW50IHNldHVwOwogCWludCBhYmJyZXY7CisJaW50IGl0YV9pbnZpc2libGVfaW5faW5kZXg7CiAvKiB3aGl0ZS1zcGFjZSBlcnJvciBoaWdobGlnaHRpbmcgKi8KICNkZWZpbmUgV1NFSF9ORVcgMQogI2RlZmluZSBXU0VIX0NPTlRFWFQgMgpAQCAtMTU1LDYgKzE2Myw3IEBACiAJaW50IHN0YXRfY291bnQ7CiAJY29uc3QgY2hhciAqd29yZF9yZWdleDsKIAllbnVtIGRpZmZfd29yZHNfdHlwZSB3b3JkX2RpZmY7CisJZW51bSBkaWZmX3N1Ym1vZHVsZV9mb3JtYXQgc3VibW9kdWxlX2Zvcm1hdDsKIAogCS8qIHRoaXMgaXMgc2V0IGJ5IGRpZmZjb3JlIGZvciBESUZGX0ZPUk1BVF9QQVRDSCAqLwogCWludCBmb3VuZF9jaGFuZ2VzOwpAQCAtMTc0LDcgKzE4Myw2IEBACiAJZGlmZl9mb3JtYXRfZm5fdCBmb3JtYXRfY2FsbGJhY2s7CiAJdm9pZCAqZm9ybWF0X2NhbGxiYWNrX2RhdGE7CiAJZGlmZl9wcmVmaXhfZm5fdCBvdXRwdXRfcHJlZml4OwotCWludCBvdXRwdXRfcHJlZml4X2xlbmd0aDsKIAl2b2lkICpvdXRwdXRfcHJlZml4X2RhdGE7CiAKIAlpbnQgZGlmZl9wYXRoX2NvdW50ZXI7CkBAIC0yNjYsNiArMjc0LDcgQEAKIAkJCSBjb25zdCBjaGFyICoqb3B0YXJnKTsKIAogZXh0ZXJuIGludCBnaXRfZGlmZl9iYXNpY19jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpOworZXh0ZXJuIGludCBnaXRfZGlmZl9oZXVyaXN0aWNfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKTsKIGV4dGVybiB2b2lkIGluaXRfZGlmZl91aV9kZWZhdWx0cyh2b2lkKTsKIGV4dGVybiBpbnQgZ2l0X2RpZmZfdWlfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKTsKIGV4dGVybiB2b2lkIGRpZmZfc2V0dXAoc3RydWN0IGRpZmZfb3B0aW9ucyAqKTsKQEAgLTMzMiw3ICszNDEsMTEgQEAKICNkZWZpbmUgRElGRl9TVEFUVVNfRklMVEVSX0FPTgkJJyonCiAjZGVmaW5lIERJRkZfU1RBVFVTX0ZJTFRFUl9CUk9LRU4JJ0InCiAKLWV4dGVybiBjb25zdCBjaGFyICpkaWZmX3VuaXF1ZV9hYmJyZXYoY29uc3QgdW5zaWduZWQgY2hhciAqLCBpbnQpOworLyoKKyAqIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gZmluZF91bmlxdWVfYWJicmV2KCkgaW4gdGhhdAorICogaXQgc3R1ZmZzIHRoZSByZXN1bHQgd2l0aCBkb3RzIGZvciBhbGlnbm1lbnQuCisgKi8KK2V4dGVybiBjb25zdCBjaGFyICpkaWZmX2FsaWduZWRfYWJicmV2KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnNoYTEsIGludCk7CiAKIC8qIGRvIG5vdCByZXBvcnQgYW55dGhpbmcgb24gcmVtb3ZlZCBwYXRocyAqLwogI2RlZmluZSBESUZGX1NJTEVOVF9PTl9SRU1PVkVEIDAxCkBAIC0zNDIsMTMgKzM1NSwxMyBAQAogZXh0ZXJuIGludCBydW5fZGlmZl9pbmRleChzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIGludCBjYWNoZWQpOwogCiBleHRlcm4gaW50IGRvX2RpZmZfY2FjaGUoY29uc3QgdW5zaWduZWQgY2hhciAqLCBzdHJ1Y3QgZGlmZl9vcHRpb25zICopOwotZXh0ZXJuIGludCBkaWZmX2ZsdXNoX3BhdGNoX2lkKHN0cnVjdCBkaWZmX29wdGlvbnMgKiwgdW5zaWduZWQgY2hhciAqKTsKK2V4dGVybiBpbnQgZGlmZl9mbHVzaF9wYXRjaF9pZChzdHJ1Y3QgZGlmZl9vcHRpb25zICosIHVuc2lnbmVkIGNoYXIgKiwgaW50KTsKIAogZXh0ZXJuIGludCBkaWZmX3Jlc3VsdF9jb2RlKHN0cnVjdCBkaWZmX29wdGlvbnMgKiwgaW50KTsKIAogZXh0ZXJuIHZvaWQgZGlmZl9ub19pbmRleChzdHJ1Y3QgcmV2X2luZm8gKiwgaW50LCBjb25zdCBjaGFyICoqKTsKIAotZXh0ZXJuIGludCBpbmRleF9kaWZmZXJzX2Zyb20oY29uc3QgY2hhciAqZGVmLCBpbnQgZGlmZl9mbGFncyk7CitleHRlcm4gaW50IGluZGV4X2RpZmZlcnNfZnJvbShjb25zdCBjaGFyICpkZWYsIGludCBkaWZmX2ZsYWdzLCBpbnQgaXRhX2ludmlzaWJsZV9pbl9pbmRleCk7CiAKIC8qCiAgKiBGaWxsIHRoZSBjb250ZW50cyBvZiB0aGUgZmlsZXNwZWMgImRmIiwgcmVzcGVjdGluZyBhbnkgdGV4dGNvbnYgZGVmaW5lZCBieQpkaWZmIC0tZ2l0IGEvZGlmZmNvcmUtYnJlYWsuYyBiL2RpZmZjb3JlLWJyZWFrLmMKaW5kZXggNTQ3MzQ5My4uYzY0MzU5ZiAxMDA2NDQKLS0tIGEvZGlmZmNvcmUtYnJlYWsuYworKysgYi9kaWZmY29yZS1icmVhay5jCkBAIC01Nyw4ICs1Nyw4IEBACiAJCXJldHVybiAxOyAvKiBldmVuIHRoZWlyIHR5cGVzIGFyZSBkaWZmZXJlbnQgKi8KIAl9CiAKLQlpZiAoc3JjLT5zaGExX3ZhbGlkICYmIGRzdC0+c2hhMV92YWxpZCAmJgotCSAgICAhaGFzaGNtcChzcmMtPnNoYTEsIGRzdC0+c2hhMSkpCisJaWYgKHNyYy0+b2lkX3ZhbGlkICYmIGRzdC0+b2lkX3ZhbGlkICYmCisJICAgICFvaWRjbXAoJnNyYy0+b2lkLCAmZHN0LT5vaWQpKQogCQlyZXR1cm4gMDsgLyogdGhleSBhcmUgdGhlIHNhbWUgKi8KIAogCWlmIChkaWZmX3BvcHVsYXRlX2ZpbGVzcGVjKHNyYywgMCkgfHwgZGlmZl9wb3B1bGF0ZV9maWxlc3BlYyhkc3QsIDApKQpAQCAtNzMsNyArNzMsNiBAQAogCiAJaWYgKGRpZmZjb3JlX2NvdW50X2NoYW5nZXMoc3JjLCBkc3QsCiAJCQkJICAgJnNyYy0+Y250X2RhdGEsICZkc3QtPmNudF9kYXRhLAotCQkJCSAgIDAsCiAJCQkJICAgJnNyY19jb3BpZWQsICZsaXRlcmFsX2FkZGVkKSkKIAkJcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL2RpZmZjb3JlLWRlbHRhLmMgYi9kaWZmY29yZS1kZWx0YS5jCmluZGV4IDQxNTk3NDguLmViZTcwZmIgMTAwNjQ0Ci0tLSBhL2RpZmZjb3JlLWRlbHRhLmMKKysrIGIvZGlmZmNvcmUtZGVsdGEuYwpAQCAtMTU4LDEwICsxNTgsNyBAQAogCQluID0gMDsKIAkJYWNjdW0xID0gYWNjdW0yID0gMDsKIAl9Ci0JcXNvcnQoaGFzaC0+ZGF0YSwKLQkJMXVsIDw8IGhhc2gtPmFsbG9jX2xvZzIsCi0JCXNpemVvZihoYXNoLT5kYXRhWzBdKSwKLQkJc3Bhbmhhc2hfY21wKTsKKwlRU09SVChoYXNoLT5kYXRhLCAxdWwgPDwgaGFzaC0+YWxsb2NfbG9nMiwgc3Bhbmhhc2hfY21wKTsKIAlyZXR1cm4gaGFzaDsKIH0KIApAQCAtMTY5LDcgKzE2Niw2IEBACiAJCQkgICBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqZHN0LAogCQkJICAgdm9pZCAqKnNyY19jb3VudF9wLAogCQkJICAgdm9pZCAqKmRzdF9jb3VudF9wLAotCQkJICAgdW5zaWduZWQgbG9uZyBkZWx0YV9saW1pdCwKIAkJCSAgIHVuc2lnbmVkIGxvbmcgKnNyY19jb3BpZWQsCiAJCQkgICB1bnNpZ25lZCBsb25nICpsaXRlcmFsX2FkZGVkKQogewpkaWZmIC0tZ2l0IGEvZGlmZmNvcmUtb3JkZXIuYyBiL2RpZmZjb3JlLW9yZGVyLmMKaW5kZXggNjlkNDFmNy4uMTk1N2Y4MiAxMDA2NDQKLS0tIGEvZGlmZmNvcmUtb3JkZXIuYworKysgYi9kaWZmY29yZS1vcmRlci5jCkBAIC0xMDEsNyArMTAxLDcgQEAKIAkJb2Jqc1tpXS5vcmlnX29yZGVyID0gaTsKIAkJb2Jqc1tpXS5vcmRlciA9IG1hdGNoX29yZGVyKG9ial9wYXRoKG9ianNbaV0ub2JqKSk7CiAJfQotCXFzb3J0KG9ianMsIG5yLCBzaXplb2YoKm9ianMpLCBjb21wYXJlX29ianNfb3JkZXIpOworCVFTT1JUKG9ianMsIG5yLCBjb21wYXJlX29ianNfb3JkZXIpOwogfQogCiBzdGF0aWMgY29uc3QgY2hhciAqcGFpcl9wYXRodHdvKHZvaWQgKm9iaikKZGlmZiAtLWdpdCBhL2RpZmZjb3JlLXBpY2theGUuYyBiL2RpZmZjb3JlLXBpY2theGUuYwppbmRleCA3NzE1YzEzLi45Nzk1Y2ExIDEwMDY0NAotLS0gYS9kaWZmY29yZS1waWNrYXhlLmMKKysrIGIvZGlmZmNvcmUtcGlja2F4ZS5jCkBAIC03LDYgKzcsOCBAQAogI2luY2x1ZGUgImRpZmZjb3JlLmgiCiAjaW5jbHVkZSAieGRpZmYtaW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAia3dzZXQuaCIKKyNpbmNsdWRlICJjb21taXQuaCIKKyNpbmNsdWRlICJxdW90ZS5oIgogCiB0eXBlZGVmIGludCAoKnBpY2theGVfZm4pKG1tZmlsZV90ICpvbmUsIG1tZmlsZV90ICp0d28sCiAJCQkgIHN0cnVjdCBkaWZmX29wdGlvbnMgKm8sCkBAIC0yMSw3ICsyMyw2IEBACiB7CiAJc3RydWN0IGRpZmZncmVwX2NiICpkYXRhID0gcHJpdjsKIAlyZWdtYXRjaF90IHJlZ21hdGNoOwotCWludCBob2xkOwogCiAJaWYgKGxpbmVbMF0gIT0gJysnICYmIGxpbmVbMF0gIT0gJy0nKQogCQlyZXR1cm47CkBAIC0zMSwxMSArMzIsOCBAQAogCQkgKiBjYWxsZXIgZWFybHkuCiAJCSAqLwogCQlyZXR1cm47Ci0JLyogWXVjayAtLSBsaW5lIG91Z2h0IHRvIGJlICJjb25zdCBjaGFyICoiISAqLwotCWhvbGQgPSBsaW5lW2xlbl07Ci0JbGluZVtsZW5dID0gJ1wwJzsKLQlkYXRhLT5oaXQgPSAhcmVnZXhlYyhkYXRhLT5yZWdleHAsIGxpbmUgKyAxLCAxLCAmcmVnbWF0Y2gsIDApOwotCWxpbmVbbGVuXSA9IGhvbGQ7CisJZGF0YS0+aGl0ID0gIXJlZ2V4ZWNfYnVmKGRhdGEtPnJlZ2V4cCwgbGluZSArIDEsIGxlbiAtIDEsIDEsCisJCQkJICZyZWdtYXRjaCwgMCk7CiB9CiAKIHN0YXRpYyBpbnQgZGlmZl9ncmVwKG1tZmlsZV90ICpvbmUsIG1tZmlsZV90ICp0d28sCkBAIC00OCw5ICs0NiwxMSBAQAogCXhkZW1pdGNvbmZfdCB4ZWNmZzsKIAogCWlmICghb25lKQotCQlyZXR1cm4gIXJlZ2V4ZWMocmVnZXhwLCB0d28tPnB0ciwgMSwgJnJlZ21hdGNoLCAwKTsKKwkJcmV0dXJuICFyZWdleGVjX2J1ZihyZWdleHAsIHR3by0+cHRyLCB0d28tPnNpemUsCisJCQkJICAgIDEsICZyZWdtYXRjaCwgMCk7CiAJaWYgKCF0d28pCi0JCXJldHVybiAhcmVnZXhlYyhyZWdleHAsIG9uZS0+cHRyLCAxLCAmcmVnbWF0Y2gsIDApOworCQlyZXR1cm4gIXJlZ2V4ZWNfYnVmKHJlZ2V4cCwgb25lLT5wdHIsIG9uZS0+c2l6ZSwKKwkJCQkgICAgMSwgJnJlZ21hdGNoLCAwKTsKIAogCS8qCiAJICogV2UgaGF2ZSBib3RoIHNpZGVzOyBuZWVkIHRvIHJ1biB0ZXh0dWFsIGRpZmYgYW5kIHNlZSBpZgpAQCAtODEsOCArODEsOCBAQAogCQlyZWdtYXRjaF90IHJlZ21hdGNoOwogCQlpbnQgZmxhZ3MgPSAwOwogCi0JCWFzc2VydChkYXRhW3N6XSA9PSAnXDAnKTsKLQkJd2hpbGUgKCpkYXRhICYmICFyZWdleGVjKHJlZ2V4cCwgZGF0YSwgMSwgJnJlZ21hdGNoLCBmbGFncykpIHsKKwkJd2hpbGUgKCpkYXRhICYmCisJCSAgICAgICAhcmVnZXhlY19idWYocmVnZXhwLCBkYXRhLCBzeiwgMSwgJnJlZ21hdGNoLCBmbGFncykpIHsKIAkJCWZsYWdzIHw9IFJFR19OT1RCT0w7CiAJCQlkYXRhICs9IHJlZ21hdGNoLnJtX2VvOwogCQkJaWYgKCpkYXRhICYmIHJlZ21hdGNoLnJtX3NvID09IHJlZ21hdGNoLnJtX2VvKQpAQCAtMTk4LDYgKzE5OCwxOCBAQAogCSpxID0gb3V0cTsKIH0KIAorc3RhdGljIHZvaWQgcmVnY29tcF9vcl9kaWUocmVnZXhfdCAqcmVnZXgsIGNvbnN0IGNoYXIgKm5lZWRsZSwgaW50IGNmbGFncykKK3sKKwlpbnQgZXJyID0gcmVnY29tcChyZWdleCwgbmVlZGxlLCBjZmxhZ3MpOworCWlmIChlcnIpIHsKKwkJLyogVGhlIFBPU0lYLjIgcGVvcGxlIGFyZSBzdXJlbHkgc2ljayAqLworCQljaGFyIGVycmJ1ZlsxMDI0XTsKKwkJcmVnZXJyb3IoZXJyLCByZWdleCwgZXJyYnVmLCAxMDI0KTsKKwkJcmVnZnJlZShyZWdleCk7CisJCWRpZSgiaW52YWxpZCByZWdleDogJXMiLCBlcnJidWYpOworCX0KK30KKwogdm9pZCBkaWZmY29yZV9waWNrYXhlKHN0cnVjdCBkaWZmX29wdGlvbnMgKm8pCiB7CiAJY29uc3QgY2hhciAqbmVlZGxlID0gby0+cGlja2F4ZTsKQEAgLTIwNiwxOCArMjE4LDE5IEBACiAJa3dzZXRfdCBrd3MgPSBOVUxMOwogCiAJaWYgKG9wdHMgJiAoRElGRl9QSUNLQVhFX1JFR0VYIHwgRElGRl9QSUNLQVhFX0tJTkRfRykpIHsKLQkJaW50IGVycjsKIAkJaW50IGNmbGFncyA9IFJFR19FWFRFTkRFRCB8IFJFR19ORVdMSU5FOwogCQlpZiAoRElGRl9PUFRfVFNUKG8sIFBJQ0tBWEVfSUdOT1JFX0NBU0UpKQogCQkJY2ZsYWdzIHw9IFJFR19JQ0FTRTsKLQkJZXJyID0gcmVnY29tcCgmcmVnZXgsIG5lZWRsZSwgY2ZsYWdzKTsKLQkJaWYgKGVycikgewotCQkJLyogVGhlIFBPU0lYLjIgcGVvcGxlIGFyZSBzdXJlbHkgc2ljayAqLwotCQkJY2hhciBlcnJidWZbMTAyNF07Ci0JCQlyZWdlcnJvcihlcnIsICZyZWdleCwgZXJyYnVmLCAxMDI0KTsKLQkJCXJlZ2ZyZWUoJnJlZ2V4KTsKLQkJCWRpZSgiaW52YWxpZCByZWdleDogJXMiLCBlcnJidWYpOwotCQl9CisJCXJlZ2NvbXBfb3JfZGllKCZyZWdleCwgbmVlZGxlLCBjZmxhZ3MpOworCQlyZWdleHAgPSAmcmVnZXg7CisJfSBlbHNlIGlmIChESUZGX09QVF9UU1QobywgUElDS0FYRV9JR05PUkVfQ0FTRSkgJiYKKwkJICAgaGFzX25vbl9hc2NpaShuZWVkbGUpKSB7CisJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwkJaW50IGNmbGFncyA9IFJFR19ORVdMSU5FIHwgUkVHX0lDQVNFOworCisJCWJhc2ljX3JlZ2V4X3F1b3RlX2J1Zigmc2IsIG5lZWRsZSk7CisJCXJlZ2NvbXBfb3JfZGllKCZyZWdleCwgc2IuYnVmLCBjZmxhZ3MpOworCQlzdHJidWZfcmVsZWFzZSgmc2IpOwogCQlyZWdleHAgPSAmcmVnZXg7CiAJfSBlbHNlIHsKIAkJa3dzID0ga3dzYWxsb2MoRElGRl9PUFRfVFNUKG8sIFBJQ0tBWEVfSUdOT1JFX0NBU0UpCmRpZmYgLS1naXQgYS9kaWZmY29yZS1yZW5hbWUuYyBiL2RpZmZjb3JlLXJlbmFtZS5jCmluZGV4IDdmMDNlYjUuLmY3NDQ0YzggMTAwNjQ0Ci0tLSBhL2RpZmZjb3JlLXJlbmFtZS5jCisrKyBiL2RpZmZjb3JlLXJlbmFtZS5jCkBAIC02MCw3ICs2MCw4IEBACiAJCW1lbW1vdmUocmVuYW1lX2RzdCArIGZpcnN0ICsgMSwgcmVuYW1lX2RzdCArIGZpcnN0LAogCQkJKHJlbmFtZV9kc3RfbnIgLSBmaXJzdCAtIDEpICogc2l6ZW9mKCpyZW5hbWVfZHN0KSk7CiAJcmVuYW1lX2RzdFtmaXJzdF0udHdvID0gYWxsb2NfZmlsZXNwZWModHdvLT5wYXRoKTsKLQlmaWxsX2ZpbGVzcGVjKHJlbmFtZV9kc3RbZmlyc3RdLnR3bywgdHdvLT5zaGExLCB0d28tPnNoYTFfdmFsaWQsIHR3by0+bW9kZSk7CisJZmlsbF9maWxlc3BlYyhyZW5hbWVfZHN0W2ZpcnN0XS50d28sIHR3by0+b2lkLmhhc2gsIHR3by0+b2lkX3ZhbGlkLAorCQkgICAgICB0d28tPm1vZGUpOwogCXJlbmFtZV9kc3RbZmlyc3RdLnBhaXIgPSBOVUxMOwogCXJldHVybiAwOwogfQpAQCAtMTQ0LDcgKzE0NSw2IEBACiAJICogY2FsbCBpbnRvIHRoaXMgZnVuY3Rpb24gaW4gdGhhdCBjYXNlLgogCSAqLwogCXVuc2lnbmVkIGxvbmcgbWF4X3NpemUsIGRlbHRhX3NpemUsIGJhc2Vfc2l6ZSwgc3JjX2NvcGllZCwgbGl0ZXJhbF9hZGRlZDsKLQl1bnNpZ25lZCBsb25nIGRlbHRhX2xpbWl0OwogCWludCBzY29yZTsKIAogCS8qIFdlIGRlYWwgb25seSB3aXRoIHJlZ3VsYXIgZmlsZXMuICBTeW1saW5rIHJlbmFtZXMgYXJlIGhhbmRsZWQKQEAgLTE5MCwxMSArMTkwLDggQEAKIAlpZiAoIWRzdC0+Y250X2RhdGEgJiYgZGlmZl9wb3B1bGF0ZV9maWxlc3BlYyhkc3QsIDApKQogCQlyZXR1cm4gMDsKIAotCWRlbHRhX2xpbWl0ID0gKHVuc2lnbmVkIGxvbmcpCi0JCShiYXNlX3NpemUgKiAoTUFYX1NDT1JFLW1pbmltdW1fc2NvcmUpIC8gTUFYX1NDT1JFKTsKIAlpZiAoZGlmZmNvcmVfY291bnRfY2hhbmdlcyhzcmMsIGRzdCwKIAkJCQkgICAmc3JjLT5jbnRfZGF0YSwgJmRzdC0+Y250X2RhdGEsCi0JCQkJICAgZGVsdGFfbGltaXQsCiAJCQkJICAgJnNyY19jb3BpZWQsICZsaXRlcmFsX2FkZGVkKSkKIAkJcmV0dXJuIDA7CiAKQEAgLTI2MCwxMiArMjU3LDEzIEBACiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgaGFzaF9maWxlc3BlYyhzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqZmlsZXNwZWMpCiB7Ci0JaWYgKCFmaWxlc3BlYy0+c2hhMV92YWxpZCkgeworCWlmICghZmlsZXNwZWMtPm9pZF92YWxpZCkgewogCQlpZiAoZGlmZl9wb3B1bGF0ZV9maWxlc3BlYyhmaWxlc3BlYywgMCkpCiAJCQlyZXR1cm4gMDsKLQkJaGFzaF9zaGExX2ZpbGUoZmlsZXNwZWMtPmRhdGEsIGZpbGVzcGVjLT5zaXplLCAiYmxvYiIsIGZpbGVzcGVjLT5zaGExKTsKKwkJaGFzaF9zaGExX2ZpbGUoZmlsZXNwZWMtPmRhdGEsIGZpbGVzcGVjLT5zaXplLCAiYmxvYiIsCisJCQkgICAgICAgZmlsZXNwZWMtPm9pZC5oYXNoKTsKIAl9Ci0JcmV0dXJuIHNoYTFoYXNoKGZpbGVzcGVjLT5zaGExKTsKKwlyZXR1cm4gc2hhMWhhc2goZmlsZXNwZWMtPm9pZC5oYXNoKTsKIH0KIAogc3RhdGljIGludCBmaW5kX2lkZW50aWNhbF9maWxlcyhzdHJ1Y3QgaGFzaG1hcCAqc3JjcywKQEAgLTI4Nyw3ICsyODUsNyBAQAogCQlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqc291cmNlID0gcC0+ZmlsZXNwZWM7CiAKIAkJLyogRmFsc2UgaGFzaCBjb2xsaXNpb24/ICovCi0JCWlmIChoYXNoY21wKHNvdXJjZS0+c2hhMSwgdGFyZ2V0LT5zaGExKSkKKwkJaWYgKG9pZGNtcCgmc291cmNlLT5vaWQsICZ0YXJnZXQtPm9pZCkpCiAJCQljb250aW51ZTsKIAkJLyogTm9uLXJlZ3VsYXIgZmlsZXM/IElmIHNvLCB0aGUgbW9kZXMgbXVzdCBtYXRjaCEgKi8KIAkJaWYgKCFTX0lTUkVHKHNvdXJjZS0+bW9kZSkgfHwgIVNfSVNSRUcodGFyZ2V0LT5tb2RlKSkgewpAQCAtNDY2LDcgKzQ2NCw3IEBACiAJCQkJIHN0cmNtcChvcHRpb25zLT5zaW5nbGVfZm9sbG93LCBwLT50d28tPnBhdGgpKQogCQkJCWNvbnRpbnVlOyAvKiBub3QgaW50ZXJlc3RlZCAqLwogCQkJZWxzZSBpZiAoIURJRkZfT1BUX1RTVChvcHRpb25zLCBSRU5BTUVfRU1QVFkpICYmCi0JCQkJIGlzX2VtcHR5X2Jsb2Jfc2hhMShwLT50d28tPnNoYTEpKQorCQkJCSBpc19lbXB0eV9ibG9iX3NoYTEocC0+dHdvLT5vaWQuaGFzaCkpCiAJCQkJY29udGludWU7CiAJCQllbHNlIGlmIChhZGRfcmVuYW1lX2RzdChwLT50d28pIDwgMCkgewogCQkJCXdhcm5pbmcoInNraXBwaW5nIHJlbmFtZSBkZXRlY3Rpb24sIGRldGVjdGVkIgpAQCAtNDc2LDcgKzQ3NCw3IEBACiAJCQl9CiAJCX0KIAkJZWxzZSBpZiAoIURJRkZfT1BUX1RTVChvcHRpb25zLCBSRU5BTUVfRU1QVFkpICYmCi0JCQkgaXNfZW1wdHlfYmxvYl9zaGExKHAtPm9uZS0+c2hhMSkpCisJCQkgaXNfZW1wdHlfYmxvYl9zaGExKHAtPm9uZS0+b2lkLmhhc2gpKQogCQkJY29udGludWU7CiAJCWVsc2UgaWYgKCFESUZGX1BBSVJfVU5NRVJHRUQocCkgJiYgIURJRkZfRklMRV9WQUxJRChwLT50d28pKSB7CiAJCQkvKgpAQCAtNTM5LDcgKzUzNyw3IEBACiAJCQkJcmVuYW1lX2RzdF9uciAqIHJlbmFtZV9zcmNfbnIsIDUwLCAxKTsKIAl9CiAKLQlteCA9IHhjYWxsb2Moc3RfbXVsdChudW1fY3JlYXRlLCBOVU1fQ0FORElEQVRFX1BFUl9EU1QpLCBzaXplb2YoKm14KSk7CisJbXggPSB4Y2FsbG9jKHN0X211bHQoTlVNX0NBTkRJREFURV9QRVJfRFNULCBudW1fY3JlYXRlKSwgc2l6ZW9mKCpteCkpOwogCWZvciAoZHN0X2NudCA9IGkgPSAwOyBpIDwgcmVuYW1lX2RzdF9ucjsgaSsrKSB7CiAJCXN0cnVjdCBkaWZmX2ZpbGVzcGVjICp0d28gPSByZW5hbWVfZHN0W2ldLnR3bzsKIAkJc3RydWN0IGRpZmZfc2NvcmUgKm07CkBAIC01NzgsNyArNTc2LDcgQEAKIAlzdG9wX3Byb2dyZXNzKCZwcm9ncmVzcyk7CiAKIAkvKiBjb3N0IG1hdHJpeCBzb3J0ZWQgYnkgbW9zdCB0byBsZWFzdCBzaW1pbGFyIHBhaXIgKi8KLQlxc29ydChteCwgZHN0X2NudCAqIE5VTV9DQU5ESURBVEVfUEVSX0RTVCwgc2l6ZW9mKCpteCksIHNjb3JlX2NvbXBhcmUpOworCVFTT1JUKG14LCBkc3RfY250ICogTlVNX0NBTkRJREFURV9QRVJfRFNULCBzY29yZV9jb21wYXJlKTsKIAogCXJlbmFtZV9jb3VudCArPSBmaW5kX3JlbmFtZXMobXgsIGRzdF9jbnQsIG1pbmltdW1fc2NvcmUsIDApOwogCWlmIChkZXRlY3RfcmVuYW1lID09IERJRkZfREVURUNUX0NPUFkpCmRpZmYgLS1naXQgYS9kaWZmY29yZS5oIGIvZGlmZmNvcmUuaAppbmRleCAzM2VhMmRlLi42MjMwMjQxIDEwMDY0NAotLS0gYS9kaWZmY29yZS5oCisrKyBiL2RpZmZjb3JlLmgKQEAgLTI1LDcgKzI1LDcgQEAKIHN0cnVjdCB1c2VyZGlmZl9kcml2ZXI7CiAKIHN0cnVjdCBkaWZmX2ZpbGVzcGVjIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCWNoYXIgKnBhdGg7CiAJdm9pZCAqZGF0YTsKIAl2b2lkICpjbnRfZGF0YTsKQEAgLTMzLDcgKzMzLDcgQEAKIAlpbnQgY291bnQ7ICAgICAgICAgICAgICAgLyogUmVmZXJlbmNlIGNvdW50ICovCiAJaW50IHJlbmFtZV91c2VkOyAgICAgICAgIC8qIENvdW50IG9mIHJlbmFtZSB1c2VycyAqLwogCXVuc2lnbmVkIHNob3J0IG1vZGU7CSAvKiBmaWxlIG1vZGUgKi8KLQl1bnNpZ25lZCBzaGExX3ZhbGlkIDogMTsgLyogaWYgdHJ1ZSwgdXNlIHNoYTEgYW5kIHRydXN0IG1vZGU7CisJdW5zaWduZWQgb2lkX3ZhbGlkIDogMTsgIC8qIGlmIHRydWUsIHVzZSBvaWQgYW5kIHRydXN0IG1vZGU7CiAJCQkJICAqIGlmIGZhbHNlLCB1c2UgdGhlIG5hbWUgYW5kIHJlYWQgZnJvbQogCQkJCSAgKiB0aGUgZmlsZXN5c3RlbS4KIAkJCQkgICovCkBAIC0xNDIsNyArMTQyLDYgQEAKIAkJCQkgIHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpkc3QsCiAJCQkJICB2b2lkICoqc3JjX2NvdW50X3AsCiAJCQkJICB2b2lkICoqZHN0X2NvdW50X3AsCi0JCQkJICB1bnNpZ25lZCBsb25nIGRlbHRhX2xpbWl0LAogCQkJCSAgdW5zaWduZWQgbG9uZyAqc3JjX2NvcGllZCwKIAkJCQkgIHVuc2lnbmVkIGxvbmcgKmxpdGVyYWxfYWRkZWQpOwogCmRpZmYgLS1naXQgYS9kaXItaXRlcmF0b3IuYyBiL2Rpci1pdGVyYXRvci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MTgyYTkKLS0tIC9kZXYvbnVsbAorKysgYi9kaXItaXRlcmF0b3IuYwpAQCAtMCwwICsxLDIwMiBAQAorI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiZGlyLmgiCisjaW5jbHVkZSAiaXRlcmF0b3IuaCIKKyNpbmNsdWRlICJkaXItaXRlcmF0b3IuaCIKKworc3RydWN0IGRpcl9pdGVyYXRvcl9sZXZlbCB7CisJaW50IGluaXRpYWxpemVkOworCisJRElSICpkaXI7CisKKwkvKgorCSAqIFRoZSBsZW5ndGggb2YgdGhlIGRpcmVjdG9yeSBwYXJ0IG9mIHBhdGggYXQgdGhpcyBsZXZlbAorCSAqIChpbmNsdWRpbmcgYSB0cmFpbGluZyAnLycpOgorCSAqLworCXNpemVfdCBwcmVmaXhfbGVuOworCisJLyoKKwkgKiBUaGUgbGFzdCBhY3Rpb24gdGhhdCBoYXMgYmVlbiB0YWtlbiB3aXRoIHRoZSBjdXJyZW50IGVudHJ5CisJICogKG5lZWRlZCBmb3IgZGlyZWN0b3JpZXMsIHdoaWNoIGhhdmUgdG8gYmUgaW5jbHVkZWQgaW4gdGhlCisJICogaXRlcmF0aW9uIGFuZCBhbHNvIGl0ZXJhdGVkIGludG8pOgorCSAqLworCWVudW0geworCQlESVJfU1RBVEVfSVRFUiwKKwkJRElSX1NUQVRFX1JFQ1VSU0UKKwl9IGRpcl9zdGF0ZTsKK307CisKKy8qCisgKiBUaGUgZnVsbCBkYXRhIHN0cnVjdHVyZSB1c2VkIHRvIG1hbmFnZSB0aGUgaW50ZXJuYWwgZGlyZWN0b3J5CisgKiBpdGVyYXRpb24gc3RhdGUuIEl0IGluY2x1ZGVzIG1lbWJlcnMgdGhhdCBhcmUgbm90IHBhcnQgb2YgdGhlCisgKiBwdWJsaWMgaW50ZXJmYWNlLgorICovCitzdHJ1Y3QgZGlyX2l0ZXJhdG9yX2ludCB7CisJc3RydWN0IGRpcl9pdGVyYXRvciBiYXNlOworCisJLyoKKwkgKiBUaGUgbnVtYmVyIG9mIGxldmVscyBjdXJyZW50bHkgb24gdGhlIHN0YWNrLiBUaGlzIGlzIGFsd2F5cworCSAqIGF0IGxlYXN0IDEsIGJlY2F1c2Ugd2hlbiBpdCBiZWNvbWVzIHplcm8gdGhlIGl0ZXJhdGlvbiBpcworCSAqIGVuZGVkIGFuZCB0aGlzIHN0cnVjdCBpcyBmcmVlZC4KKwkgKi8KKwlzaXplX3QgbGV2ZWxzX25yOworCisJLyogVGhlIG51bWJlciBvZiBsZXZlbHMgdGhhdCBoYXZlIGJlZW4gYWxsb2NhdGVkIG9uIHRoZSBzdGFjayAqLworCXNpemVfdCBsZXZlbHNfYWxsb2M7CisKKwkvKgorCSAqIEEgc3RhY2sgb2YgbGV2ZWxzLiBsZXZlbHNbMF0gaXMgdGhlIHVwcGVybW9zdCBkaXJlY3RvcnkKKwkgKiB0aGF0IHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhpcyBpdGVyYXRpb24uCisJICovCisJc3RydWN0IGRpcl9pdGVyYXRvcl9sZXZlbCAqbGV2ZWxzOworfTsKKworaW50IGRpcl9pdGVyYXRvcl9hZHZhbmNlKHN0cnVjdCBkaXJfaXRlcmF0b3IgKmRpcl9pdGVyYXRvcikKK3sKKwlzdHJ1Y3QgZGlyX2l0ZXJhdG9yX2ludCAqaXRlciA9CisJCShzdHJ1Y3QgZGlyX2l0ZXJhdG9yX2ludCAqKWRpcl9pdGVyYXRvcjsKKworCXdoaWxlICgxKSB7CisJCXN0cnVjdCBkaXJfaXRlcmF0b3JfbGV2ZWwgKmxldmVsID0KKwkJCSZpdGVyLT5sZXZlbHNbaXRlci0+bGV2ZWxzX25yIC0gMV07CisJCXN0cnVjdCBkaXJlbnQgKmRlOworCisJCWlmICghbGV2ZWwtPmluaXRpYWxpemVkKSB7CisJCQkvKgorCQkJICogTm90ZTogZGlyX2l0ZXJhdG9yX2JlZ2luKCkgZW5zdXJlcyB0aGF0CisJCQkgKiBwYXRoIGlzIG5vdCB0aGUgZW1wdHkgc3RyaW5nLgorCQkJICovCisJCQlpZiAoIWlzX2Rpcl9zZXAoaXRlci0+YmFzZS5wYXRoLmJ1ZltpdGVyLT5iYXNlLnBhdGgubGVuIC0gMV0pKQorCQkJCXN0cmJ1Zl9hZGRjaCgmaXRlci0+YmFzZS5wYXRoLCAnLycpOworCQkJbGV2ZWwtPnByZWZpeF9sZW4gPSBpdGVyLT5iYXNlLnBhdGgubGVuOworCisJCQlsZXZlbC0+ZGlyID0gb3BlbmRpcihpdGVyLT5iYXNlLnBhdGguYnVmKTsKKwkJCWlmICghbGV2ZWwtPmRpciAmJiBlcnJubyAhPSBFTk9FTlQpIHsKKwkJCQl3YXJuaW5nKCJlcnJvciBvcGVuaW5nIGRpcmVjdG9yeSAlczogJXMiLAorCQkJCQlpdGVyLT5iYXNlLnBhdGguYnVmLCBzdHJlcnJvcihlcnJubykpOworCQkJCS8qIFBvcHBpbmcgdGhlIGxldmVsIGlzIGhhbmRsZWQgYmVsb3cgKi8KKwkJCX0KKworCQkJbGV2ZWwtPmluaXRpYWxpemVkID0gMTsKKwkJfSBlbHNlIGlmIChTX0lTRElSKGl0ZXItPmJhc2Uuc3Quc3RfbW9kZSkpIHsKKwkJCWlmIChsZXZlbC0+ZGlyX3N0YXRlID09IERJUl9TVEFURV9JVEVSKSB7CisJCQkJLyoKKwkJCQkgKiBUaGUgZGlyZWN0b3J5IHdhcyBqdXN0IGl0ZXJhdGVkCisJCQkJICogb3Zlcjsgbm93IHByZXBhcmUgdG8gaXRlcmF0ZSBpbnRvCisJCQkJICogaXQuCisJCQkJICovCisJCQkJbGV2ZWwtPmRpcl9zdGF0ZSA9IERJUl9TVEFURV9SRUNVUlNFOworCQkJCUFMTE9DX0dST1coaXRlci0+bGV2ZWxzLCBpdGVyLT5sZXZlbHNfbnIgKyAxLAorCQkJCQkgICBpdGVyLT5sZXZlbHNfYWxsb2MpOworCQkJCWxldmVsID0gJml0ZXItPmxldmVsc1tpdGVyLT5sZXZlbHNfbnIrK107CisJCQkJbGV2ZWwtPmluaXRpYWxpemVkID0gMDsKKwkJCQljb250aW51ZTsKKwkJCX0gZWxzZSB7CisJCQkJLyoKKwkJCQkgKiBUaGUgZGlyZWN0b3J5IGhhcyBhbHJlYWR5IGJlZW4KKwkJCQkgKiBpdGVyYXRlZCBvdmVyIGFuZCBpdGVyYXRlZCBpbnRvOworCQkJCSAqIHdlJ3JlIGRvbmUgd2l0aCBpdC4KKwkJCQkgKi8KKwkJCX0KKwkJfQorCisJCWlmICghbGV2ZWwtPmRpcikgeworCQkJLyoKKwkJCSAqIFRoaXMgbGV2ZWwgaXMgZXhoYXVzdGVkIChvciB3YXNuJ3Qgb3BlbmVkCisJCQkgKiBzdWNjZXNzZnVsbHkpOyBwb3AgdXAgYSBsZXZlbC4KKwkJCSAqLworCQkJaWYgKC0taXRlci0+bGV2ZWxzX25yID09IDApCisJCQkJcmV0dXJuIGRpcl9pdGVyYXRvcl9hYm9ydChkaXJfaXRlcmF0b3IpOworCisJCQljb250aW51ZTsKKwkJfQorCisJCS8qCisJCSAqIExvb3AgdW50aWwgd2UgZmluZCBhbiBlbnRyeSB0aGF0IHdlIGNhbiBnaXZlIGJhY2sKKwkJICogdG8gdGhlIGNhbGxlcjoKKwkJICovCisJCXdoaWxlICgxKSB7CisJCQlzdHJidWZfc2V0bGVuKCZpdGVyLT5iYXNlLnBhdGgsIGxldmVsLT5wcmVmaXhfbGVuKTsKKwkJCWVycm5vID0gMDsKKwkJCWRlID0gcmVhZGRpcihsZXZlbC0+ZGlyKTsKKworCQkJaWYgKCFkZSkgeworCQkJCS8qIFRoaXMgbGV2ZWwgaXMgZXhoYXVzdGVkOyBwb3AgdXAgYSBsZXZlbC4gKi8KKwkJCQlpZiAoZXJybm8pIHsKKwkJCQkJd2FybmluZygiZXJyb3IgcmVhZGluZyBkaXJlY3RvcnkgJXM6ICVzIiwKKwkJCQkJCWl0ZXItPmJhc2UucGF0aC5idWYsIHN0cmVycm9yKGVycm5vKSk7CisJCQkJfSBlbHNlIGlmIChjbG9zZWRpcihsZXZlbC0+ZGlyKSkKKwkJCQkJd2FybmluZygiZXJyb3IgY2xvc2luZyBkaXJlY3RvcnkgJXM6ICVzIiwKKwkJCQkJCWl0ZXItPmJhc2UucGF0aC5idWYsIHN0cmVycm9yKGVycm5vKSk7CisKKwkJCQlsZXZlbC0+ZGlyID0gTlVMTDsKKwkJCQlpZiAoLS1pdGVyLT5sZXZlbHNfbnIgPT0gMCkKKwkJCQkJcmV0dXJuIGRpcl9pdGVyYXRvcl9hYm9ydChkaXJfaXRlcmF0b3IpOworCQkJCWJyZWFrOworCQkJfQorCisJCQlpZiAoaXNfZG90X29yX2RvdGRvdChkZS0+ZF9uYW1lKSkKKwkJCQljb250aW51ZTsKKworCQkJc3RyYnVmX2FkZHN0cigmaXRlci0+YmFzZS5wYXRoLCBkZS0+ZF9uYW1lKTsKKwkJCWlmIChsc3RhdChpdGVyLT5iYXNlLnBhdGguYnVmLCAmaXRlci0+YmFzZS5zdCkgPCAwKSB7CisJCQkJaWYgKGVycm5vICE9IEVOT0VOVCkKKwkJCQkJd2FybmluZygiZXJyb3IgcmVhZGluZyBwYXRoICclcyc6ICVzIiwKKwkJCQkJCWl0ZXItPmJhc2UucGF0aC5idWYsCisJCQkJCQlzdHJlcnJvcihlcnJubykpOworCQkJCWNvbnRpbnVlOworCQkJfQorCisJCQkvKgorCQkJICogV2UgaGF2ZSB0byBzZXQgdGhlc2UgZWFjaCB0aW1lIGJlY2F1c2UKKwkJCSAqIHRoZSBwYXRoIHN0cmJ1ZiBtaWdodCBoYXZlIGJlZW4gcmVhbGxvYygpZWQuCisJCQkgKi8KKwkJCWl0ZXItPmJhc2UucmVsYXRpdmVfcGF0aCA9CisJCQkJaXRlci0+YmFzZS5wYXRoLmJ1ZiArIGl0ZXItPmxldmVsc1swXS5wcmVmaXhfbGVuOworCQkJaXRlci0+YmFzZS5iYXNlbmFtZSA9CisJCQkJaXRlci0+YmFzZS5wYXRoLmJ1ZiArIGxldmVsLT5wcmVmaXhfbGVuOworCQkJbGV2ZWwtPmRpcl9zdGF0ZSA9IERJUl9TVEFURV9JVEVSOworCisJCQlyZXR1cm4gSVRFUl9PSzsKKwkJfQorCX0KK30KKworaW50IGRpcl9pdGVyYXRvcl9hYm9ydChzdHJ1Y3QgZGlyX2l0ZXJhdG9yICpkaXJfaXRlcmF0b3IpCit7CisJc3RydWN0IGRpcl9pdGVyYXRvcl9pbnQgKml0ZXIgPSAoc3RydWN0IGRpcl9pdGVyYXRvcl9pbnQgKilkaXJfaXRlcmF0b3I7CisKKwlmb3IgKDsgaXRlci0+bGV2ZWxzX25yOyBpdGVyLT5sZXZlbHNfbnItLSkgeworCQlzdHJ1Y3QgZGlyX2l0ZXJhdG9yX2xldmVsICpsZXZlbCA9CisJCQkmaXRlci0+bGV2ZWxzW2l0ZXItPmxldmVsc19uciAtIDFdOworCisJCWlmIChsZXZlbC0+ZGlyICYmIGNsb3NlZGlyKGxldmVsLT5kaXIpKSB7CisJCQlzdHJidWZfc2V0bGVuKCZpdGVyLT5iYXNlLnBhdGgsIGxldmVsLT5wcmVmaXhfbGVuKTsKKwkJCXdhcm5pbmcoImVycm9yIGNsb3NpbmcgZGlyZWN0b3J5ICVzOiAlcyIsCisJCQkJaXRlci0+YmFzZS5wYXRoLmJ1Ziwgc3RyZXJyb3IoZXJybm8pKTsKKwkJfQorCX0KKworCWZyZWUoaXRlci0+bGV2ZWxzKTsKKwlzdHJidWZfcmVsZWFzZSgmaXRlci0+YmFzZS5wYXRoKTsKKwlmcmVlKGl0ZXIpOworCXJldHVybiBJVEVSX0RPTkU7Cit9CisKK3N0cnVjdCBkaXJfaXRlcmF0b3IgKmRpcl9pdGVyYXRvcl9iZWdpbihjb25zdCBjaGFyICpwYXRoKQoreworCXN0cnVjdCBkaXJfaXRlcmF0b3JfaW50ICppdGVyID0geGNhbGxvYygxLCBzaXplb2YoKml0ZXIpKTsKKwlzdHJ1Y3QgZGlyX2l0ZXJhdG9yICpkaXJfaXRlcmF0b3IgPSAmaXRlci0+YmFzZTsKKworCWlmICghcGF0aCB8fCAhKnBhdGgpCisJCWRpZSgiQlVHOiBlbXB0eSBwYXRoIHBhc3NlZCB0byBkaXJfaXRlcmF0b3JfYmVnaW4oKSIpOworCisJc3RyYnVmX2luaXQoJml0ZXItPmJhc2UucGF0aCwgUEFUSF9NQVgpOworCXN0cmJ1Zl9hZGRzdHIoJml0ZXItPmJhc2UucGF0aCwgcGF0aCk7CisKKwlBTExPQ19HUk9XKGl0ZXItPmxldmVscywgMTAsIGl0ZXItPmxldmVsc19hbGxvYyk7CisKKwlpdGVyLT5sZXZlbHNfbnIgPSAxOworCWl0ZXItPmxldmVsc1swXS5pbml0aWFsaXplZCA9IDA7CisKKwlyZXR1cm4gZGlyX2l0ZXJhdG9yOworfQpkaWZmIC0tZ2l0IGEvZGlyLWl0ZXJhdG9yLmggYi9kaXItaXRlcmF0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzczOWU2Ci0tLSAvZGV2L251bGwKKysrIGIvZGlyLWl0ZXJhdG9yLmgKQEAgLTAsMCArMSw4NyBAQAorI2lmbmRlZiBESVJfSVRFUkFUT1JfSAorI2RlZmluZSBESVJfSVRFUkFUT1JfSAorCisvKgorICogSXRlcmF0ZSBvdmVyIGEgZGlyZWN0b3J5IHRyZWUuCisgKgorICogSXRlcmF0ZSBvdmVyIGEgZGlyZWN0b3J5IHRyZWUsIHJlY3Vyc2l2ZWx5LCBpbmNsdWRpbmcgcGF0aHMgb2YgYWxsCisgKiB0eXBlcyBhbmQgaGlkZGVuIHBhdGhzLiBTa2lwICIuIiBhbmQgIi4uIiBlbnRyaWVzIGFuZCBkb24ndCBmb2xsb3cKKyAqIHN5bWxpbmtzIGV4Y2VwdCBmb3IgdGhlIG9yaWdpbmFsIHBhdGguCisgKgorICogRXZlcnkgdGltZSBkaXJfaXRlcmF0b3JfYWR2YW5jZSgpIGlzIGNhbGxlZCwgdXBkYXRlIHRoZSBtZW1iZXJzIG9mCisgKiB0aGUgZGlyX2l0ZXJhdG9yIHN0cnVjdHVyZSB0byByZWZsZWN0IHRoZSBuZXh0IHBhdGggaW4gdGhlCisgKiBpdGVyYXRpb24uIFRoZSBvcmRlciB0aGF0IHBhdGhzIGFyZSBpdGVyYXRlZCBvdmVyIHdpdGhpbiBhCisgKiBkaXJlY3RvcnkgaXMgdW5kZWZpbmVkLCBidXQgZGlyZWN0b3J5IHBhdGhzIGFyZSBhbHdheXMgaXRlcmF0ZWQKKyAqIG92ZXIgYmVmb3JlIHRoZSBzdWJkaXJlY3RvcnkgY29udGVudHMuCisgKgorICogQSB0eXBpY2FsIGl0ZXJhdGlvbiBsb29rcyBsaWtlIHRoaXM6CisgKgorICogICAgIGludCBvazsKKyAqICAgICBzdHJ1Y3QgaXRlcmF0b3IgKml0ZXIgPSBkaXJfaXRlcmF0b3JfYmVnaW4ocGF0aCk7CisgKgorICogICAgIHdoaWxlICgob2sgPSBkaXJfaXRlcmF0b3JfYWR2YW5jZShpdGVyKSkgPT0gSVRFUl9PSykgeworICogICAgICAgICAgICAgaWYgKHdhbnRfdG9fc3RvcF9pdGVyYXRpb24oKSkgeworICogICAgICAgICAgICAgICAgICAgICBvayA9IGRpcl9pdGVyYXRvcl9hYm9ydChpdGVyKTsKKyAqICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgKiAgICAgICAgICAgICB9CisgKgorICogICAgICAgICAgICAgLy8gQWNjZXNzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IHBhdGg6CisgKiAgICAgICAgICAgICBpZiAoU19JU0RJUihpdGVyLT5zdC5zdF9tb2RlKSkKKyAqICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlcyBpcyBhIGRpcmVjdG9yeVxuIiwgaXRlci0+cmVsYXRpdmVfcGF0aCk7CisgKiAgICAgfQorICoKKyAqICAgICBpZiAob2sgIT0gSVRFUl9ET05FKQorICogICAgICAgICAgICAgaGFuZGxlX2Vycm9yKCk7CisgKgorICogQ2FsbGVycyBhcmUgYWxsb3dlZCB0byBtb2RpZnkgaXRlci0+cGF0aCB3aGlsZSB0aGV5IGFyZSB3b3JraW5nLAorICogYnV0IHRoZXkgbXVzdCByZXN0b3JlIGl0IHRvIGl0cyBvcmlnaW5hbCBjb250ZW50cyBiZWZvcmUgY2FsbGluZworICogZGlyX2l0ZXJhdG9yX2FkdmFuY2UoKSBhZ2Fpbi4KKyAqLworCitzdHJ1Y3QgZGlyX2l0ZXJhdG9yIHsKKwkvKiBUaGUgY3VycmVudCBwYXRoOiAqLworCXN0cnVjdCBzdHJidWYgcGF0aDsKKworCS8qCisJICogVGhlIGN1cnJlbnQgcGF0aCByZWxhdGl2ZSB0byB0aGUgc3RhcnRpbmcgcGF0aC4gVGhpcyBwYXJ0CisJICogb2YgdGhlIHBhdGggYWx3YXlzIHVzZXMgIi8iIGNoYXJhY3RlcnMgdG8gc2VwYXJhdGUgcGF0aAorCSAqIGNvbXBvbmVudHM6CisJICovCisJY29uc3QgY2hhciAqcmVsYXRpdmVfcGF0aDsKKworCS8qIFRoZSBjdXJyZW50IGJhc2VuYW1lOiAqLworCWNvbnN0IGNoYXIgKmJhc2VuYW1lOworCisJLyogVGhlIHJlc3VsdCBvZiBjYWxsaW5nIGxzdGF0KCkgb24gcGF0aDogKi8KKwlzdHJ1Y3Qgc3RhdCBzdDsKK307CisKKy8qCisgKiBTdGFydCBhIGRpcmVjdG9yeSBpdGVyYXRpb24gb3ZlciBwYXRoLiBSZXR1cm4gYSBkaXJfaXRlcmF0b3IgdGhhdAorICogaG9sZHMgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSBpdGVyYXRpb24uCisgKgorICogVGhlIGl0ZXJhdGlvbiBpbmNsdWRlcyBhbGwgcGF0aHMgdW5kZXIgcGF0aCwgbm90IGluY2x1ZGluZyBwYXRoCisgKiBpdHNlbGYgYW5kIG5vdCBpbmNsdWRpbmcgIi4iIG9yICIuLiIgZW50cmllcy4KKyAqCisgKiBwYXRoIGlzIHRoZSBzdGFydGluZyBkaXJlY3RvcnkuIEFuIGludGVybmFsIGNvcHkgd2lsbCBiZSBtYWRlLgorICovCitzdHJ1Y3QgZGlyX2l0ZXJhdG9yICpkaXJfaXRlcmF0b3JfYmVnaW4oY29uc3QgY2hhciAqcGF0aCk7CisKKy8qCisgKiBBZHZhbmNlIHRoZSBpdGVyYXRvciB0byB0aGUgZmlyc3Qgb3IgbmV4dCBpdGVtIGFuZCByZXR1cm4gSVRFUl9PSy4KKyAqIElmIHRoZSBpdGVyYXRpb24gaXMgZXhoYXVzdGVkLCBmcmVlIHRoZSBkaXJfaXRlcmF0b3IgYW5kIGFueQorICogcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBpdCBhbmQgcmV0dXJuIElURVJfRE9ORS4gT24gZXJyb3IsIGZyZWUKKyAqIGRpcl9pdGVyYXRvciBhbmQgYXNzb2NpYXRlZCByZXNvdXJjZXMgYW5kIHJldHVybiBJVEVSX0VSUk9SLiBJdCBpcworICogYSBidWcgdG8gdXNlIGl0ZXJhdG9yIG9yIGNhbGwgdGhpcyBmdW5jdGlvbiBhZ2FpbiBhZnRlciBpdCBoYXMKKyAqIHJldHVybmVkIElURVJfRE9ORSBvciBJVEVSX0VSUk9SLgorICovCitpbnQgZGlyX2l0ZXJhdG9yX2FkdmFuY2Uoc3RydWN0IGRpcl9pdGVyYXRvciAqaXRlcmF0b3IpOworCisvKgorICogRW5kIHRoZSBpdGVyYXRpb24gYmVmb3JlIGl0IGhhcyBiZWVuIGV4aGF1c3RlZC4gRnJlZSB0aGUKKyAqIGRpcl9pdGVyYXRvciBhbmQgYW55IGFzc29jaWF0ZWQgcmVzb3VyY2VzIGFuZCByZXR1cm4gSVRFUl9ET05FLiBPbgorICogZXJyb3IsIGZyZWUgdGhlIGRpcl9pdGVyYXRvciBhbmQgcmV0dXJuIElURVJfRVJST1IuCisgKi8KK2ludCBkaXJfaXRlcmF0b3JfYWJvcnQoc3RydWN0IGRpcl9pdGVyYXRvciAqaXRlcmF0b3IpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2Rpci5jIGIvZGlyLmMKaW5kZXggNjE3MmIzNC4uYmZhOGM4YSAxMDA2NDQKLS0tIGEvZGlyLmMKKysrIGIvZGlyLmMKQEAgLTIwNyw4ICsyMDcsOSBAQAogCXJldHVybiAxOwogfQogCi0jZGVmaW5lIERPX01BVENIX0VYQ0xVREUgICAxCi0jZGVmaW5lIERPX01BVENIX0RJUkVDVE9SWSAyCisjZGVmaW5lIERPX01BVENIX0VYQ0xVREUgICAoMTw8MCkKKyNkZWZpbmUgRE9fTUFUQ0hfRElSRUNUT1JZICgxPDwxKQorI2RlZmluZSBET19NQVRDSF9TVUJNT0RVTEUgKDE8PDIpCiAKIC8qCiAgKiBEb2VzICdtYXRjaCcgbWF0Y2ggdGhlIGdpdmVuIG5hbWU/CkBAIC0yODMsNiArMjg0LDMyIEBACiAJCQkgaXRlbS0+bm93aWxkY2FyZF9sZW4gLSBwcmVmaXgpKQogCQlyZXR1cm4gTUFUQ0hFRF9GTk1BVENIOwogCisJLyogUGVyZm9ybSBjaGVja3MgdG8gc2VlIGlmICJuYW1lIiBpcyBhIHN1cGVyIHNldCBvZiB0aGUgcGF0aHNwZWMgKi8KKwlpZiAoZmxhZ3MgJiBET19NQVRDSF9TVUJNT0RVTEUpIHsKKwkJLyogbmFtZSBpcyBhIGxpdGVyYWwgcHJlZml4IG9mIHRoZSBwYXRoc3BlYyAqLworCQlpZiAoKG5hbWVsZW4gPCBtYXRjaGxlbikgJiYKKwkJICAgIChtYXRjaFtuYW1lbGVuXSA9PSAnLycpICYmCisJCSAgICAhcHNfc3RybmNtcChpdGVtLCBtYXRjaCwgbmFtZSwgbmFtZWxlbikpCisJCQlyZXR1cm4gTUFUQ0hFRF9SRUNVUlNJVkVMWTsKKworCQkvKiBuYW1lIiBkb2Vzbid0IG1hdGNoIHVwIHRvIHRoZSBmaXJzdCB3aWxkIGNoYXJhY3RlciAqLworCQlpZiAoaXRlbS0+bm93aWxkY2FyZF9sZW4gPCBpdGVtLT5sZW4gJiYKKwkJICAgIHBzX3N0cm5jbXAoaXRlbSwgbWF0Y2gsIG5hbWUsCisJCQkgICAgICAgaXRlbS0+bm93aWxkY2FyZF9sZW4gLSBwcmVmaXgpKQorCQkJcmV0dXJuIDA7CisKKwkJLyoKKwkJICogSGVyZSBpcyB3aGVyZSB3ZSB3b3VsZCBwZXJmb3JtIGEgd2lsZG1hdGNoIHRvIGNoZWNrIGlmCisJCSAqICJuYW1lIiBjYW4gYmUgbWF0Y2hlZCBhcyBhIGRpcmVjdG9yeSAob3IgYSBwcmVmaXgpIGFnYWluc3QKKwkJICogdGhlIHBhdGhzcGVjLiAgU2luY2Ugd2lsZG1hdGNoIGRvZXNuJ3QgaGF2ZSB0aGlzIGNhcGFiaWxpdHkKKwkJICogYXQgdGhlIHByZXNlbnQgd2UgaGF2ZSB0byBwdW50IGFuZCBzYXkgdGhhdCBpdCBpcyBhIG1hdGNoLAorCQkgKiBwb3RlbnRpYWxseSByZXR1cm5pbmcgYSBmYWxzZSBwb3NpdGl2ZQorCQkgKiBUaGUgc3VibW9kdWxlcyB0aGVtc2VsdmVzIHdpbGwgYmUgYWJsZSB0byBwZXJmb3JtIG1vcmUKKwkJICogYWNjdXJhdGUgbWF0Y2hpbmcgdG8gZGV0ZXJtaW5lIGlmIHRoZSBwYXRoc3BlYyBtYXRjaGVzLgorCQkgKi8KKwkJcmV0dXJuIE1BVENIRURfUkVDVVJTSVZFTFk7CisJfQorCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTM4Niw2ICs0MTMsMjEgQEAKIAlyZXR1cm4gbmVnYXRpdmUgPyAwIDogcG9zaXRpdmU7CiB9CiAKKy8qKgorICogQ2hlY2sgaWYgYSBzdWJtb2R1bGUgaXMgYSBzdXBlcnNldCBvZiB0aGUgcGF0aHNwZWMKKyAqLworaW50IHN1Ym1vZHVsZV9wYXRoX21hdGNoKGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcHMsCisJCQkgY29uc3QgY2hhciAqc3VibW9kdWxlX25hbWUsCisJCQkgY2hhciAqc2VlbikKK3sKKwlpbnQgbWF0Y2hlZCA9IGRvX21hdGNoX3BhdGhzcGVjKHBzLCBzdWJtb2R1bGVfbmFtZSwKKwkJCQkJc3RybGVuKHN1Ym1vZHVsZV9uYW1lKSwKKwkJCQkJMCwgc2VlbiwKKwkJCQkJRE9fTUFUQ0hfRElSRUNUT1JZIHwKKwkJCQkJRE9fTUFUQ0hfU1VCTU9EVUxFKTsKKwlyZXR1cm4gbWF0Y2hlZDsKK30KKwogaW50IHJlcG9ydF9wYXRoX2Vycm9yKGNvbnN0IGNoYXIgKnBzX21hdGNoZWQsCiAJCSAgICAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCiAJCSAgICAgIGNvbnN0IGNoYXIgKnByZWZpeCkKQEAgLTUyNSw3ICs1NjcsNyBAQAogCQlyZXR1cm4gTlVMTDsKIAlpZiAoIWNlX3NraXBfd29ya3RyZWUoYWN0aXZlX2NhY2hlW3Bvc10pKQogCQlyZXR1cm4gTlVMTDsKLQlkYXRhID0gcmVhZF9zaGExX2ZpbGUoYWN0aXZlX2NhY2hlW3Bvc10tPnNoYTEsICZ0eXBlLCAmc3opOworCWRhdGEgPSByZWFkX3NoYTFfZmlsZShhY3RpdmVfY2FjaGVbcG9zXS0+b2lkLmhhc2gsICZ0eXBlLCAmc3opOwogCWlmICghZGF0YSB8fCB0eXBlICE9IE9CSl9CTE9CKSB7CiAJCWZyZWUoZGF0YSk7CiAJCXJldHVybiBOVUxMOwpAQCAtNTMzLDcgKzU3NSw3IEBACiAJKnNpemUgPSB4c2l6ZV90KHN6KTsKIAlpZiAoc2hhMV9zdGF0KSB7CiAJCW1lbXNldCgmc2hhMV9zdGF0LT5zdGF0LCAwLCBzaXplb2Yoc2hhMV9zdGF0LT5zdGF0KSk7Ci0JCWhhc2hjcHkoc2hhMV9zdGF0LT5zaGExLCBhY3RpdmVfY2FjaGVbcG9zXS0+c2hhMSk7CisJCWhhc2hjcHkoc2hhMV9zdGF0LT5zaGExLCBhY3RpdmVfY2FjaGVbcG9zXS0+b2lkLmhhc2gpOwogCX0KIAlyZXR1cm4gZGF0YTsKIH0KQEAgLTcxMyw3ICs3NTUsOCBAQAogCQkJCSAhY2Vfc3RhZ2UoYWN0aXZlX2NhY2hlW3Bvc10pICYmCiAJCQkJIGNlX3VwdG9kYXRlKGFjdGl2ZV9jYWNoZVtwb3NdKSAmJgogCQkJCSAhd291bGRfY29udmVydF90b19naXQoZm5hbWUpKQotCQkJCWhhc2hjcHkoc2hhMV9zdGF0LT5zaGExLCBhY3RpdmVfY2FjaGVbcG9zXS0+c2hhMSk7CisJCQkJaGFzaGNweShzaGExX3N0YXQtPnNoYTEsCisJCQkJCWFjdGl2ZV9jYWNoZVtwb3NdLT5vaWQuaGFzaCk7CiAJCQllbHNlCiAJCQkJaGFzaF9zaGExX2ZpbGUoYnVmLCBzaXplLCAiYmxvYiIsIHNoYTFfc3RhdC0+c2hhMSk7CiAJCQlmaWxsX3N0YXRfZGF0YSgmc2hhMV9zdGF0LT5zdGF0LCAmc3QpOwpAQCAtMjAwNCw4ICsyMDQ3LDggQEAKIAlpZiAoIWxlbiB8fCB0cmVhdF9sZWFkaW5nX3BhdGgoZGlyLCBwYXRoLCBsZW4sIHNpbXBsaWZ5KSkKIAkJcmVhZF9kaXJlY3RvcnlfcmVjdXJzaXZlKGRpciwgcGF0aCwgbGVuLCB1bnRyYWNrZWQsIDAsIHNpbXBsaWZ5KTsKIAlmcmVlX3NpbXBsaWZ5KHNpbXBsaWZ5KTsKLQlxc29ydChkaXItPmVudHJpZXMsIGRpci0+bnIsIHNpemVvZihzdHJ1Y3QgZGlyX2VudHJ5ICopLCBjbXBfbmFtZSk7Ci0JcXNvcnQoZGlyLT5pZ25vcmVkLCBkaXItPmlnbm9yZWRfbnIsIHNpemVvZihzdHJ1Y3QgZGlyX2VudHJ5ICopLCBjbXBfbmFtZSk7CisJUVNPUlQoZGlyLT5lbnRyaWVzLCBkaXItPm5yLCBjbXBfbmFtZSk7CisJUVNPUlQoZGlyLT5pZ25vcmVkLCBkaXItPmlnbm9yZWRfbnIsIGNtcF9uYW1lKTsKIAlpZiAoZGlyLT51bnRyYWNrZWQpIHsKIAkJc3RhdGljIHN0cnVjdCB0cmFjZV9rZXkgdHJhY2VfdW50cmFja2VkX3N0YXRzID0gVFJBQ0VfS0VZX0lOSVQoVU5UUkFDS0VEX1NUQVRTKTsKIAkJdHJhY2VfcHJpbnRmX2tleSgmdHJhY2VfdW50cmFja2VkX3N0YXRzLApAQCAtMjE5NCw4ICsyMjM3LDYgQEAKIAogdm9pZCBzZXR1cF9zdGFuZGFyZF9leGNsdWRlcyhzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyKQogewotCWNvbnN0IGNoYXIgKnBhdGg7Ci0KIAlkaXItPmV4Y2x1ZGVfcGVyX2RpciA9ICIuZ2l0aWdub3JlIjsKIAogCS8qIGNvcmUuZXhjbHVkZWZpbGUgZGVmYXVsdGluZyB0byAkWERHX0hPTUUvZ2l0L2lnbm9yZSAqLwpAQCAtMjIwNiwxMCArMjI0NywxMiBAQAogCQkJCQkgZGlyLT51bnRyYWNrZWQgPyAmZGlyLT5zc19leGNsdWRlc19maWxlIDogTlVMTCk7CiAKIAkvKiBwZXIgcmVwb3NpdG9yeSB1c2VyIHByZWZlcmVuY2UgKi8KLQlwYXRoID0gZ2l0X3BhdGhfaW5mb19leGNsdWRlKCk7Ci0JaWYgKCFhY2Nlc3Nfb3Jfd2FybihwYXRoLCBSX09LLCAwKSkKLQkJYWRkX2V4Y2x1ZGVzX2Zyb21fZmlsZV8xKGRpciwgcGF0aCwKLQkJCQkJIGRpci0+dW50cmFja2VkID8gJmRpci0+c3NfaW5mb19leGNsdWRlIDogTlVMTCk7CisJaWYgKHN0YXJ0dXBfaW5mby0+aGF2ZV9yZXBvc2l0b3J5KSB7CisJCWNvbnN0IGNoYXIgKnBhdGggPSBnaXRfcGF0aF9pbmZvX2V4Y2x1ZGUoKTsKKwkJaWYgKCFhY2Nlc3Nfb3Jfd2FybihwYXRoLCBSX09LLCAwKSkKKwkJCWFkZF9leGNsdWRlc19mcm9tX2ZpbGVfMShkaXIsIHBhdGgsCisJCQkJCQkgZGlyLT51bnRyYWNrZWQgPyAmZGlyLT5zc19pbmZvX2V4Y2x1ZGUgOiBOVUxMKTsKKwl9CiB9CiAKIGludCByZW1vdmVfcGF0aChjb25zdCBjaGFyICpuYW1lKQpAQCAtMjM2NCw3ICsyNDA3LDcgQEAKIAogCXZhcmludF9sZW4gPSBlbmNvZGVfdmFyaW50KHVudHJhY2tlZC0+aWRlbnQubGVuLCB2YXJidWYpOwogCXN0cmJ1Zl9hZGQob3V0LCB2YXJidWYsIHZhcmludF9sZW4pOwotCXN0cmJ1Zl9hZGQob3V0LCB1bnRyYWNrZWQtPmlkZW50LmJ1ZiwgdW50cmFja2VkLT5pZGVudC5sZW4pOworCXN0cmJ1Zl9hZGRidWYob3V0LCAmdW50cmFja2VkLT5pZGVudCk7CiAKIAlzdHJidWZfYWRkKG91dCwgb3VjLCBvdWNfc2l6ZShsZW4pKTsKIAlmcmVlKG91Yyk7CmRpZmYgLS1naXQgYS9kaXIuaCBiL2Rpci5oCmluZGV4IGJmZGU2OTguLjk3YzgzYmIgMTAwNjQ0Ci0tLSBhL2Rpci5oCisrKyBiL2Rpci5oCkBAIC0yNjIsOSArMjYyLDMyIEBACiAKIGV4dGVybiB2b2lkIHNldHVwX3N0YW5kYXJkX2V4Y2x1ZGVzKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIpOwogCisKKy8qIENvbnN0YW50cyBmb3IgcmVtb3ZlX2Rpcl9yZWN1cnNpdmVseTogKi8KKworLyoKKyAqIElmIGEgbm9uLWRpcmVjdG9yeSBpcyBmb3VuZCB3aXRoaW4gcGF0aCwgc3RvcCBhbmQgcmV0dXJuIGFuIGVycm9yLgorICogKEluIHRoaXMgY2FzZSBzb21lIGVtcHR5IGRpcmVjdG9yaWVzIG1pZ2h0IGFscmVhZHkgaGF2ZSBiZWVuCisgKiByZW1vdmVkLikKKyAqLwogI2RlZmluZSBSRU1PVkVfRElSX0VNUFRZX09OTFkgMDEKKworLyoKKyAqIElmIGFueSBHaXQgd29yayB0cmVlcyBhcmUgZm91bmQgd2l0aGluIHBhdGgsIHNraXAgdGhlbSB3aXRob3V0CisgKiBjb25zaWRlcmluZyBpdCBhbiBlcnJvci4KKyAqLwogI2RlZmluZSBSRU1PVkVfRElSX0tFRVBfTkVTVEVEX0dJVCAwMgorCisvKiBSZW1vdmUgdGhlIGNvbnRlbnRzIG9mIHBhdGgsIGJ1dCBsZWF2ZSBwYXRoIGl0c2VsZi4gKi8KICNkZWZpbmUgUkVNT1ZFX0RJUl9LRUVQX1RPUExFVkVMIDA0CisKKy8qCisgKiBSZW1vdmUgcGF0aCBhbmQgaXRzIGNvbnRlbnRzLCByZWN1cnNpdmVseS4gZmxhZ3MgaXMgYSBjb21iaW5hdGlvbgorICogb2YgdGhlIGFib3ZlIFJFTU9WRV9ESVJfKiBjb25zdGFudHMuIFJldHVybiAwIG9uIHN1Y2Nlc3MuCisgKgorICogVGhpcyBmdW5jdGlvbiB1c2VzIHBhdGggYXMgdGVtcG9yYXJ5IHNjcmF0Y2ggc3BhY2UsIGJ1dCByZXN0b3JlcyBpdAorICogYmVmb3JlIHJldHVybmluZy4KKyAqLwogZXh0ZXJuIGludCByZW1vdmVfZGlyX3JlY3Vyc2l2ZWx5KHN0cnVjdCBzdHJidWYgKnBhdGgsIGludCBmbGFnKTsKIAogLyogdHJpZXMgdG8gcmVtb3ZlIHRoZSBwYXRoIHdpdGggZW1wdHkgZGlyZWN0b3JpZXMgYWxvbmcgaXQsIGlnbm9yZXMgRU5PRU5UICovCkBAIC0yODEsNiArMzA0LDEwIEBACiAJCSAgICAgICBjb25zdCBjaGFyICpwYXR0ZXJuLCBjb25zdCBjaGFyICpzdHJpbmcsCiAJCSAgICAgICBpbnQgcHJlZml4KTsKIAorZXh0ZXJuIGludCBzdWJtb2R1bGVfcGF0aF9tYXRjaChjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBzLAorCQkJCWNvbnN0IGNoYXIgKnN1Ym1vZHVsZV9uYW1lLAorCQkJCWNoYXIgKnNlZW4pOworCiBzdGF0aWMgaW5saW5lIGludCBjZV9wYXRoX21hdGNoKGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsCiAJCQkJY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKIAkJCQljaGFyICpzZWVuKQpkaWZmIC0tZ2l0IGEvZW50cnkuYyBiL2VudHJ5LmMKaW5kZXggNTE5ZTA0Mi4uYzZlZWEyNCAxMDA2NDQKLS0tIGEvZW50cnkuYworKysgYi9lbnRyeS5jCkBAIC04Miw3ICs4Miw3IEBACiBzdGF0aWMgdm9pZCAqcmVhZF9ibG9iX2VudHJ5KGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsIHVuc2lnbmVkIGxvbmcgKnNpemUpCiB7CiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwotCXZvaWQgKm5ldyA9IHJlYWRfc2hhMV9maWxlKGNlLT5zaGExLCAmdHlwZSwgc2l6ZSk7CisJdm9pZCAqbmV3ID0gcmVhZF9zaGExX2ZpbGUoY2UtPm9pZC5oYXNoLCAmdHlwZSwgc2l6ZSk7CiAKIAlpZiAobmV3KSB7CiAJCWlmICh0eXBlID09IE9CSl9CTE9CKQpAQCAtMTI3LDcgKzEyNyw3IEBACiAJaWYgKGZkIDwgMCkKIAkJcmV0dXJuIC0xOwogCi0JcmVzdWx0IHw9IHN0cmVhbV9ibG9iX3RvX2ZkKGZkLCBjZS0+c2hhMSwgZmlsdGVyLCAxKTsKKwlyZXN1bHQgfD0gc3RyZWFtX2Jsb2JfdG9fZmQoZmQsICZjZS0+b2lkLCBmaWx0ZXIsIDEpOwogCSpmc3RhdF9kb25lID0gZnN0YXRfb3V0cHV0KGZkLCBzdGF0ZSwgc3RhdGJ1Zik7CiAJcmVzdWx0IHw9IGNsb3NlKGZkKTsKIApAQCAtMTQ4LDcgKzE0OCw4IEBACiAJc3RydWN0IHN0YXQgc3Q7CiAKIAlpZiAoY2VfbW9kZV9zX2lmbXQgPT0gU19JRlJFRykgewotCQlzdHJ1Y3Qgc3RyZWFtX2ZpbHRlciAqZmlsdGVyID0gZ2V0X3N0cmVhbV9maWx0ZXIoY2UtPm5hbWUsIGNlLT5zaGExKTsKKwkJc3RydWN0IHN0cmVhbV9maWx0ZXIgKmZpbHRlciA9IGdldF9zdHJlYW1fZmlsdGVyKGNlLT5uYW1lLAorCQkJCQkJCQkgY2UtPm9pZC5oYXNoKTsKIAkJaWYgKGZpbHRlciAmJgogCQkgICAgIXN0cmVhbWluZ193cml0ZV9lbnRyeShjZSwgcGF0aCwgZmlsdGVyLAogCQkJCQkgICBzdGF0ZSwgdG9fdGVtcGZpbGUsCkBAIC0xNjIsNyArMTYzLDcgQEAKIAkJbmV3ID0gcmVhZF9ibG9iX2VudHJ5KGNlLCAmc2l6ZSk7CiAJCWlmICghbmV3KQogCQkJcmV0dXJuIGVycm9yKCJ1bmFibGUgdG8gcmVhZCBzaGExIGZpbGUgb2YgJXMgKCVzKSIsCi0JCQkJcGF0aCwgc2hhMV90b19oZXgoY2UtPnNoYTEpKTsKKwkJCQlwYXRoLCBvaWRfdG9faGV4KCZjZS0+b2lkKSk7CiAKIAkJaWYgKGNlX21vZGVfc19pZm10ID09IFNfSUZMTksgJiYgaGFzX3N5bWxpbmtzICYmICF0b190ZW1wZmlsZSkgewogCQkJcmV0ID0gc3ltbGluayhuZXcsIHBhdGgpOwpkaWZmIC0tZ2l0IGEvZW52aXJvbm1lbnQuYyBiL2Vudmlyb25tZW50LmMKaW5kZXggY2E3MjQ2NC4uMDkzNWVjNiAxMDA2NDQKLS0tIGEvZW52aXJvbm1lbnQuYworKysgYi9lbnZpcm9ubWVudC5jCkBAIC0xNiw3ICsxNiw3IEBACiBpbnQgdHJ1c3RfY3RpbWUgPSAxOwogaW50IGNoZWNrX3N0YXQgPSAxOwogaW50IGhhc19zeW1saW5rcyA9IDE7Ci1pbnQgbWluaW11bV9hYmJyZXYgPSA0LCBkZWZhdWx0X2FiYnJldiA9IDc7CitpbnQgbWluaW11bV9hYmJyZXYgPSA0LCBkZWZhdWx0X2FiYnJldiA9IC0xOwogaW50IGlnbm9yZV9jYXNlOwogaW50IGFzc3VtZV91bmNoYW5nZWQ7CiBpbnQgcHJlZmVyX3N5bWxpbmtfcmVmczsKQEAgLTQwLDcgKzQwLDYgQEAKIHNpemVfdCBwYWNrZWRfZ2l0X2xpbWl0ID0gREVGQVVMVF9QQUNLRURfR0lUX0xJTUlUOwogc2l6ZV90IGRlbHRhX2Jhc2VfY2FjaGVfbGltaXQgPSA5NiAqIDEwMjQgKiAxMDI0OwogdW5zaWduZWQgbG9uZyBiaWdfZmlsZV90aHJlc2hvbGQgPSA1MTIgKiAxMDI0ICogMTAyNDsKLWNvbnN0IGNoYXIgKnBhZ2VyX3Byb2dyYW07CiBpbnQgcGFnZXJfdXNlX2NvbG9yID0gMTsKIGNvbnN0IGNoYXIgKmVkaXRvcl9wcm9ncmFtOwogY29uc3QgY2hhciAqYXNrcGFzc19wcm9ncmFtOwpAQCAtMTAwLDYgKzk5LDggQEAKIHN0YXRpYyBjb25zdCBjaGFyICpuYW1lc3BhY2U7CiBzdGF0aWMgc2l6ZV90IG5hbWVzcGFjZV9sZW47CiAKK3N0YXRpYyBjb25zdCBjaGFyICpzdXBlcl9wcmVmaXg7CisKIHN0YXRpYyBjb25zdCBjaGFyICpnaXRfZGlyLCAqZ2l0X2NvbW1vbl9kaXI7CiBzdGF0aWMgY2hhciAqZ2l0X29iamVjdF9kaXIsICpnaXRfaW5kZXhfZmlsZSwgKmdpdF9ncmFmdF9maWxlOwogaW50IGdpdF9kYl9lbnYsIGdpdF9pbmRleF9lbnYsIGdpdF9ncmFmdF9lbnYsIGdpdF9jb21tb25fZGlyX2VudjsKQEAgLTEyMCw2ICsxMjEsNyBAQAogCU5PX1JFUExBQ0VfT0JKRUNUU19FTlZJUk9OTUVOVCwKIAlHSVRfUkVQTEFDRV9SRUZfQkFTRV9FTlZJUk9OTUVOVCwKIAlHSVRfUFJFRklYX0VOVklST05NRU5ULAorCUdJVF9TVVBFUl9QUkVGSVhfRU5WSVJPTk1FTlQsCiAJR0lUX1NIQUxMT1dfRklMRV9FTlZJUk9OTUVOVCwKIAlHSVRfQ09NTU9OX0RJUl9FTlZJUk9OTUVOVCwKIAlOVUxMCkBAIC0xOTYsNiArMTk4LDEzIEBACiAJcmV0dXJuIGlzX2JhcmVfcmVwb3NpdG9yeV9jZmcgJiYgIWdldF9naXRfd29ya190cmVlKCk7CiB9CiAKK2ludCBoYXZlX2dpdF9kaXIodm9pZCkKK3sKKwlyZXR1cm4gc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnkKKwkJfHwgZ2l0X2RpcgorCQl8fCBnZXRlbnYoR0lUX0RJUl9FTlZJUk9OTUVOVCk7Cit9CisKIGNvbnN0IGNoYXIgKmdldF9naXRfZGlyKHZvaWQpCiB7CiAJaWYgKCFnaXRfZGlyKQpAQCAtMjIyLDYgKzIzMSwxNiBAQAogCXJldHVybiBuYW1lc3BhY2VkX3JlZiArIG5hbWVzcGFjZV9sZW47CiB9CiAKK2NvbnN0IGNoYXIgKmdldF9zdXBlcl9wcmVmaXgodm9pZCkKK3sKKwlzdGF0aWMgaW50IGluaXRpYWxpemVkOworCWlmICghaW5pdGlhbGl6ZWQpIHsKKwkJc3VwZXJfcHJlZml4ID0gZ2V0ZW52KEdJVF9TVVBFUl9QUkVGSVhfRU5WSVJPTk1FTlQpOworCQlpbml0aWFsaXplZCA9IDE7CisJfQorCXJldHVybiBzdXBlcl9wcmVmaXg7Cit9CisKIHN0YXRpYyBpbnQgZ2l0X3dvcmtfdHJlZV9pbml0aWFsaXplZDsKIAogLyoKQEAgLTM0NSwzICszNjQsOCBAQAogCX0KIAlyZXR1cm4gdGhlX3NoYXJlZF9yZXBvc2l0b3J5OwogfQorCit2b2lkIHJlc2V0X3NoYXJlZF9yZXBvc2l0b3J5KHZvaWQpCit7CisJbmVlZF9zaGFyZWRfcmVwb3NpdG9yeV9mcm9tX2NvbmZpZyA9IDE7Cit9CmRpZmYgLS1naXQgYS9mYXN0LWltcG9ydC5jIGIvZmFzdC1pbXBvcnQuYwppbmRleCA4NGExMzc1Li5jYjU0NWQ3IDEwMDY0NAotLS0gYS9mYXN0LWltcG9ydC5jCisrKyBiL2Zhc3QtaW1wb3J0LmMKQEAgLTE2NSw2ICsxNjUsNyBAQAogI2luY2x1ZGUgImNzdW0tZmlsZS5oIgogI2luY2x1ZGUgInF1b3RlLmgiCiAjaW5jbHVkZSAiZGlyLmgiCisjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKIAogI2RlZmluZSBQQUNLX0lEX0JJVFMgMTYKICNkZWZpbmUgTUFYX1BBQ0tfSUQgKCgxPDxQQUNLX0lEX0JJVFMpLTEpCkBAIC0yODEsNiArMjgyLDcgQEAKIC8qIENvbmZpZ3VyZWQgbGltaXRzIG9uIG91dHB1dCAqLwogc3RhdGljIHVuc2lnbmVkIGxvbmcgbWF4X2RlcHRoID0gMTA7CiBzdGF0aWMgb2ZmX3QgbWF4X3BhY2tzaXplOworc3RhdGljIGludCB1bnBhY2tfbGltaXQgPSAxMDA7CiBzdGF0aWMgaW50IGZvcmNlX3VwZGF0ZTsKIHN0YXRpYyBpbnQgcGFja19jb21wcmVzc2lvbl9sZXZlbCA9IFpfREVGQVVMVF9DT01QUkVTU0lPTjsKIHN0YXRpYyBpbnQgcGFja19jb21wcmVzc2lvbl9zZWVuOwpAQCAtNTk1LDYgKzU5NywzMyBAQAogCXJldHVybiBlOwogfQogCitzdGF0aWMgdm9pZCBpbnZhbGlkYXRlX3BhY2tfaWQodW5zaWduZWQgaW50IGlkKQoreworCXVuc2lnbmVkIGludCBoOworCXVuc2lnbmVkIGxvbmcgbHU7CisJc3RydWN0IHRhZyAqdDsKKworCWZvciAoaCA9IDA7IGggPCBBUlJBWV9TSVpFKG9iamVjdF90YWJsZSk7IGgrKykgeworCQlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICplOworCisJCWZvciAoZSA9IG9iamVjdF90YWJsZVtoXTsgZTsgZSA9IGUtPm5leHQpCisJCQlpZiAoZS0+cGFja19pZCA9PSBpZCkKKwkJCQllLT5wYWNrX2lkID0gTUFYX1BBQ0tfSUQ7CisJfQorCisJZm9yIChsdSA9IDA7IGx1IDwgYnJhbmNoX3RhYmxlX3N6OyBsdSsrKSB7CisJCXN0cnVjdCBicmFuY2ggKmI7CisKKwkJZm9yIChiID0gYnJhbmNoX3RhYmxlW2x1XTsgYjsgYiA9IGItPnRhYmxlX25leHRfYnJhbmNoKQorCQkJaWYgKGItPnBhY2tfaWQgPT0gaWQpCisJCQkJYi0+cGFja19pZCA9IE1BWF9QQUNLX0lEOworCX0KKworCWZvciAodCA9IGZpcnN0X3RhZzsgdDsgdCA9IHQtPm5leHRfdGFnKQorCQlpZiAodC0+cGFja19pZCA9PSBpZCkKKwkJCXQtPnBhY2tfaWQgPSBNQVhfUEFDS19JRDsKK30KKwogc3RhdGljIHVuc2lnbmVkIGludCBoY19zdHIoY29uc3QgY2hhciAqcywgc2l6ZV90IGxlbikKIHsKIAl1bnNpZ25lZCBpbnQgciA9IDA7CkBAIC05NTAsNiArOTc5LDIzIEBACiAJfQogfQogCitzdGF0aWMgaW50IGxvb3Nlbl9zbWFsbF9wYWNrKGNvbnN0IHN0cnVjdCBwYWNrZWRfZ2l0ICpwKQoreworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIHVucGFjayA9IENISUxEX1BST0NFU1NfSU5JVDsKKworCWlmIChsc2VlayhwLT5wYWNrX2ZkLCAwLCBTRUVLX1NFVCkgPCAwKQorCQlkaWVfZXJybm8oIkZhaWxlZCBzZWVraW5nIHRvIHN0YXJ0IG9mICclcyciLCBwLT5wYWNrX25hbWUpOworCisJdW5wYWNrLmluID0gcC0+cGFja19mZDsKKwl1bnBhY2suZ2l0X2NtZCA9IDE7CisJdW5wYWNrLnN0ZG91dF90b19zdGRlcnIgPSAxOworCWFyZ3ZfYXJyYXlfcHVzaCgmdW5wYWNrLmFyZ3MsICJ1bnBhY2stb2JqZWN0cyIpOworCWlmICghc2hvd19zdGF0cykKKwkJYXJndl9hcnJheV9wdXNoKCZ1bnBhY2suYXJncywgIi1xIik7CisKKwlyZXR1cm4gcnVuX2NvbW1hbmQoJnVucGFjayk7Cit9CisKIHN0YXRpYyB2b2lkIGVuZF9wYWNrZmlsZSh2b2lkKQogewogCXN0YXRpYyBpbnQgcnVubmluZzsKQEAgLTk3Miw2ICsxMDE4LDE0IEBACiAJCWZpeHVwX3BhY2tfaGVhZGVyX2Zvb3RlcihwYWNrX2RhdGEtPnBhY2tfZmQsIHBhY2tfZGF0YS0+c2hhMSwKIAkJCQkgICAgcGFja19kYXRhLT5wYWNrX25hbWUsIG9iamVjdF9jb3VudCwKIAkJCQkgICAgY3VyX3BhY2tfc2hhMSwgcGFja19zaXplKTsKKworCQlpZiAob2JqZWN0X2NvdW50IDw9IHVucGFja19saW1pdCkgeworCQkJaWYgKCFsb29zZW5fc21hbGxfcGFjayhwYWNrX2RhdGEpKSB7CisJCQkJaW52YWxpZGF0ZV9wYWNrX2lkKHBhY2tfaWQpOworCQkJCWdvdG8gZGlzY2FyZF9wYWNrOworCQkJfQorCQl9CisKIAkJY2xvc2UocGFja19kYXRhLT5wYWNrX2ZkKTsKIAkJaWR4X25hbWUgPSBrZWVwX3BhY2soY3JlYXRlX2luZGV4KCkpOwogCkBAIC0xMDAyLDYgKzEwNTYsNyBAQAogCQlwYWNrX2lkKys7CiAJfQogCWVsc2UgeworZGlzY2FyZF9wYWNrOgogCQljbG9zZShwYWNrX2RhdGEtPnBhY2tfZmQpOwogCQl1bmxpbmtfb3Jfd2FybihwYWNrX2RhdGEtPnBhY2tfbmFtZSk7CiAJfQpAQCAtMTQwNSw5ICsxNDYwLDkgQEAKIAl1bnNpZ25lZCBpbnQgaTsKIAogCWlmICghdikKLQkJcXNvcnQodC0+ZW50cmllcyx0LT5lbnRyeV9jb3VudCxzaXplb2YodC0+ZW50cmllc1swXSksdGVjbXAwKTsKKwkJUVNPUlQodC0+ZW50cmllcywgdC0+ZW50cnlfY291bnQsIHRlY21wMCk7CiAJZWxzZQotCQlxc29ydCh0LT5lbnRyaWVzLHQtPmVudHJ5X2NvdW50LHNpemVvZih0LT5lbnRyaWVzWzBdKSx0ZWNtcDEpOworCQlRU09SVCh0LT5lbnRyaWVzLCB0LT5lbnRyeV9jb3VudCwgdGVjbXAxKTsKIAogCWZvciAoaSA9IDA7IGkgPCB0LT5lbnRyeV9jb3VudDsgaSsrKSB7CiAJCWlmICh0LT5lbnRyaWVzW2ldLT52ZXJzaW9uc1t2XS5tb2RlKQpAQCAtMzMxOSw2ICszMzc0LDcgQEAKIHN0YXRpYyB2b2lkIGdpdF9wYWNrX2NvbmZpZyh2b2lkKQogewogCWludCBpbmRleHZlcnNpb25fdmFsdWU7CisJaW50IGxpbWl0OwogCXVuc2lnbmVkIGxvbmcgcGFja3NpemVsaW1pdF92YWx1ZTsKIAogCWlmICghZ2l0X2NvbmZpZ19nZXRfdWxvbmcoInBhY2suZGVwdGgiLCAmbWF4X2RlcHRoKSkgewpAQCAtMzM0Myw2ICszMzk5LDExIEBACiAJaWYgKCFnaXRfY29uZmlnX2dldF91bG9uZygicGFjay5wYWNrc2l6ZWxpbWl0IiwgJnBhY2tzaXplbGltaXRfdmFsdWUpKQogCQltYXhfcGFja3NpemUgPSBwYWNrc2l6ZWxpbWl0X3ZhbHVlOwogCisJaWYgKCFnaXRfY29uZmlnX2dldF9pbnQoImZhc3RpbXBvcnQudW5wYWNrbGltaXQiLCAmbGltaXQpKQorCQl1bnBhY2tfbGltaXQgPSBsaW1pdDsKKwllbHNlIGlmICghZ2l0X2NvbmZpZ19nZXRfaW50KCJ0cmFuc2Zlci51bnBhY2tsaW1pdCIsICZsaW1pdCkpCisJCXVucGFja19saW1pdCA9IGxpbWl0OworCiAJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwogfQogCmRpZmYgLS1naXQgYS9mZXRjaC1wYWNrLmMgYi9mZXRjaC1wYWNrLmMKaW5kZXggYjUwMWQ1Yy4uNjAxZjA3NyAxMDA2NDQKLS0tIGEvZmV0Y2gtcGFjay5jCisrKyBiL2ZldGNoLXBhY2suYwpAQCAtMjEsNiArMjEsOCBAQAogc3RhdGljIGludCB1bnBhY2tfbGltaXQgPSAxMDA7CiBzdGF0aWMgaW50IHByZWZlcl9vZnNfZGVsdGEgPSAxOwogc3RhdGljIGludCBub19kb25lOworc3RhdGljIGludCBkZWVwZW5fc2luY2Vfb2s7CitzdGF0aWMgaW50IGRlZXBlbl9ub3Rfb2s7CiBzdGF0aWMgaW50IGZldGNoX2ZzY2tfb2JqZWN0cyA9IC0xOwogc3RhdGljIGludCB0cmFuc2Zlcl9mc2NrX29iamVjdHMgPSAtMTsKIHN0YXRpYyBpbnQgYWdlbnRfc3VwcG9ydGVkOwpAQCAtNTAsNiArNTIsMjEgQEAKICNkZWZpbmUgQUxMT1dfUkVBQ0hBQkxFX1NIQTEJMDIKIHN0YXRpYyB1bnNpZ25lZCBpbnQgYWxsb3dfdW5hZHZlcnRpc2VkX29iamVjdF9yZXF1ZXN0OwogCitfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKQorc3RhdGljIGlubGluZSB2b2lkIHByaW50X3ZlcmJvc2UoY29uc3Qgc3RydWN0IGZldGNoX3BhY2tfYXJncyAqYXJncywKKwkJCQkgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBwYXJhbXM7CisKKwlpZiAoIWFyZ3MtPnZlcmJvc2UpCisJCXJldHVybjsKKworCXZhX3N0YXJ0KHBhcmFtcywgZm10KTsKKwl2ZnByaW50ZihzdGRlcnIsIGZtdCwgcGFyYW1zKTsKKwl2YV9lbmQocGFyYW1zKTsKKwlmcHV0YygnXG4nLCBzdGRlcnIpOworfQorCiBzdGF0aWMgdm9pZCByZXZfbGlzdF9wdXNoKHN0cnVjdCBjb21taXQgKmNvbW1pdCwgaW50IG1hcmspCiB7CiAJaWYgKCEoY29tbWl0LT5vYmplY3QuZmxhZ3MgJiBtYXJrKSkgewpAQCAtMTgyLDcgKzE5OSw3IEBACiAKIHN0YXRpYyB2b2lkIGNvbnN1bWVfc2hhbGxvd19saXN0KHN0cnVjdCBmZXRjaF9wYWNrX2FyZ3MgKmFyZ3MsIGludCBmZCkKIHsKLQlpZiAoYXJncy0+c3RhdGVsZXNzX3JwYyAmJiBhcmdzLT5kZXB0aCA+IDApIHsKKwlpZiAoYXJncy0+c3RhdGVsZXNzX3JwYyAmJiBhcmdzLT5kZWVwZW4pIHsKIAkJLyogSWYgd2Ugc2VudCBhIGRlcHRoIHdlIHdpbGwgZ2V0IGJhY2sgImR1cGxpY2F0ZSIKIAkJICogc2hhbGxvdyBhbmQgdW5zaGFsbG93IGNvbW1hbmRzIGV2ZXJ5IHRpbWUgdGhlcmUKIAkJICogaXMgYSBibG9jayBvZiBoYXZlIGxpbmVzIGV4Y2hhbmdlZC4KQEAgLTE5Myw3ICsyMTAsNyBAQAogCQkJCWNvbnRpbnVlOwogCQkJaWYgKHN0YXJ0c193aXRoKGxpbmUsICJ1bnNoYWxsb3cgIikpCiAJCQkJY29udGludWU7Ci0JCQlkaWUoImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBzaGFsbG93IGxpc3QiKTsKKwkJCWRpZShfKCJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgc2hhbGxvdyBsaXN0IikpOwogCQl9CiAJfQogfQpAQCAtMjA1LDcgKzIyMiw3IEBACiAJY29uc3QgY2hhciAqYXJnOwogCiAJaWYgKCFsZW4pCi0JCWRpZSgiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiKTsKKwkJZGllKF8oImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgRU9GIikpOwogCWlmICghc3RyY21wKGxpbmUsICJOQUsiKSkKIAkJcmV0dXJuIE5BSzsKIAlpZiAoc2tpcF9wcmVmaXgobGluZSwgIkFDSyAiLCAmYXJnKSkgewpAQCAtMjIzLDcgKzI0MCw3IEBACiAJCQlyZXR1cm4gQUNLOwogCQl9CiAJfQotCWRpZSgiZ2l0IGZldGNoX3BhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIiwgbGluZSk7CisJZGllKF8oImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgJyVzJyIpLCBsaW5lKTsKIH0KIAogc3RhdGljIHZvaWQgc2VuZF9yZXF1ZXN0KHN0cnVjdCBmZXRjaF9wYWNrX2FyZ3MgKmFyZ3MsCkBAIC0yNDMsMTYgKzI2MCwyMSBAQAogCiAjZGVmaW5lIElOSVRJQUxfRkxVU0ggMTYKICNkZWZpbmUgUElQRVNBRkVfRkxVU0ggMzIKLSNkZWZpbmUgTEFSR0VfRkxVU0ggMTAyNAorI2RlZmluZSBMQVJHRV9GTFVTSCAxNjM4NAogCiBzdGF0aWMgaW50IG5leHRfZmx1c2goc3RydWN0IGZldGNoX3BhY2tfYXJncyAqYXJncywgaW50IGNvdW50KQogewotCWludCBmbHVzaF9saW1pdCA9IGFyZ3MtPnN0YXRlbGVzc19ycGMgPyBMQVJHRV9GTFVTSCA6IFBJUEVTQUZFX0ZMVVNIOwotCi0JaWYgKGNvdW50IDwgZmx1c2hfbGltaXQpCi0JCWNvdW50IDw8PSAxOwotCWVsc2UKLQkJY291bnQgKz0gZmx1c2hfbGltaXQ7CisJaWYgKGFyZ3MtPnN0YXRlbGVzc19ycGMpIHsKKwkJaWYgKGNvdW50IDwgTEFSR0VfRkxVU0gpCisJCQljb3VudCA8PD0gMTsKKwkJZWxzZQorCQkJY291bnQgPSBjb3VudCAqIDExIC8gMTA7CisJfSBlbHNlIHsKKwkJaWYgKGNvdW50IDwgUElQRVNBRkVfRkxVU0gpCisJCQljb3VudCA8PD0gMTsKKwkJZWxzZQorCQkJY291bnQgKz0gUElQRVNBRkVfRkxVU0g7CisJfQogCXJldHVybiBjb3VudDsKIH0KIApAQCAtMjcwLDcgKzI5Miw3IEBACiAJc2l6ZV90IHN0YXRlX2xlbiA9IDA7CiAKIAlpZiAoYXJncy0+c3RhdGVsZXNzX3JwYyAmJiBtdWx0aV9hY2sgPT0gMSkKLQkJZGllKCItLXN0YXRlbGVzcy1ycGMgcmVxdWlyZXMgbXVsdGlfYWNrX2RldGFpbGVkIik7CisJCWRpZShfKCItLXN0YXRlbGVzcy1ycGMgcmVxdWlyZXMgbXVsdGlfYWNrX2RldGFpbGVkIikpOwogCWlmIChtYXJrZWQpCiAJCWZvcl9lYWNoX3JlZihjbGVhcl9tYXJrcywgTlVMTCk7CiAJbWFya2VkID0gMTsKQEAgLTMwNywxMCArMzI5LDEzIEBACiAJCQlpZiAobm9fZG9uZSkgICAgICAgICAgICBzdHJidWZfYWRkc3RyKCZjLCAiIG5vLWRvbmUiKTsKIAkJCWlmICh1c2Vfc2lkZWJhbmQgPT0gMikgIHN0cmJ1Zl9hZGRzdHIoJmMsICIgc2lkZS1iYW5kLTY0ayIpOwogCQkJaWYgKHVzZV9zaWRlYmFuZCA9PSAxKSAgc3RyYnVmX2FkZHN0cigmYywgIiBzaWRlLWJhbmQiKTsKKwkJCWlmIChhcmdzLT5kZWVwZW5fcmVsYXRpdmUpIHN0cmJ1Zl9hZGRzdHIoJmMsICIgZGVlcGVuLXJlbGF0aXZlIik7CiAJCQlpZiAoYXJncy0+dXNlX3RoaW5fcGFjaykgc3RyYnVmX2FkZHN0cigmYywgIiB0aGluLXBhY2siKTsKIAkJCWlmIChhcmdzLT5ub19wcm9ncmVzcykgICBzdHJidWZfYWRkc3RyKCZjLCAiIG5vLXByb2dyZXNzIik7CiAJCQlpZiAoYXJncy0+aW5jbHVkZV90YWcpICAgc3RyYnVmX2FkZHN0cigmYywgIiBpbmNsdWRlLXRhZyIpOwogCQkJaWYgKHByZWZlcl9vZnNfZGVsdGEpICAgc3RyYnVmX2FkZHN0cigmYywgIiBvZnMtZGVsdGEiKTsKKwkJCWlmIChkZWVwZW5fc2luY2Vfb2spICAgIHN0cmJ1Zl9hZGRzdHIoJmMsICIgZGVlcGVuLXNpbmNlIik7CisJCQlpZiAoZGVlcGVuX25vdF9vaykgICAgICBzdHJidWZfYWRkc3RyKCZjLCAiIGRlZXBlbi1ub3QiKTsKIAkJCWlmIChhZ2VudF9zdXBwb3J0ZWQpICAgIHN0cmJ1Zl9hZGRmKCZjLCAiIGFnZW50PSVzIiwKIAkJCQkJCQkgICAgZ2l0X3VzZXJfYWdlbnRfc2FuaXRpemVkKCkpOwogCQkJcGFja2V0X2J1Zl93cml0ZSgmcmVxX2J1ZiwgIndhbnQgJXMlc1xuIiwgcmVtb3RlX2hleCwgYy5idWYpOwpAQCAtMzMwLDEwICszNTUsMjEgQEAKIAkJd3JpdGVfc2hhbGxvd19jb21taXRzKCZyZXFfYnVmLCAxLCBOVUxMKTsKIAlpZiAoYXJncy0+ZGVwdGggPiAwKQogCQlwYWNrZXRfYnVmX3dyaXRlKCZyZXFfYnVmLCAiZGVlcGVuICVkIiwgYXJncy0+ZGVwdGgpOworCWlmIChhcmdzLT5kZWVwZW5fc2luY2UpIHsKKwkJdW5zaWduZWQgbG9uZyBtYXhfYWdlID0gYXBwcm94aWRhdGUoYXJncy0+ZGVlcGVuX3NpbmNlKTsKKwkJcGFja2V0X2J1Zl93cml0ZSgmcmVxX2J1ZiwgImRlZXBlbi1zaW5jZSAlbHUiLCBtYXhfYWdlKTsKKwl9CisJaWYgKGFyZ3MtPmRlZXBlbl9ub3QpIHsKKwkJaW50IGk7CisJCWZvciAoaSA9IDA7IGkgPCBhcmdzLT5kZWVwZW5fbm90LT5ucjsgaSsrKSB7CisJCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqcyA9IGFyZ3MtPmRlZXBlbl9ub3QtPml0ZW1zICsgaTsKKwkJCXBhY2tldF9idWZfd3JpdGUoJnJlcV9idWYsICJkZWVwZW4tbm90ICVzIiwgcy0+c3RyaW5nKTsKKwkJfQorCX0KIAlwYWNrZXRfYnVmX2ZsdXNoKCZyZXFfYnVmKTsKIAlzdGF0ZV9sZW4gPSByZXFfYnVmLmxlbjsKIAotCWlmIChhcmdzLT5kZXB0aCA+IDApIHsKKwlpZiAoYXJncy0+ZGVlcGVuKSB7CiAJCWNoYXIgKmxpbmU7CiAJCWNvbnN0IGNoYXIgKmFyZzsKIAkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKQEAgLTM0MiwyMyArMzc4LDIzIEBACiAJCXdoaWxlICgobGluZSA9IHBhY2tldF9yZWFkX2xpbmUoZmRbMF0sIE5VTEwpKSkgewogCQkJaWYgKHNraXBfcHJlZml4KGxpbmUsICJzaGFsbG93ICIsICZhcmcpKSB7CiAJCQkJaWYgKGdldF9zaGExX2hleChhcmcsIHNoYTEpKQotCQkJCQlkaWUoImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIsIGxpbmUpOworCQkJCQlkaWUoXygiaW52YWxpZCBzaGFsbG93IGxpbmU6ICVzIiksIGxpbmUpOwogCQkJCXJlZ2lzdGVyX3NoYWxsb3coc2hhMSk7CiAJCQkJY29udGludWU7CiAJCQl9CiAJCQlpZiAoc2tpcF9wcmVmaXgobGluZSwgInVuc2hhbGxvdyAiLCAmYXJnKSkgewogCQkJCWlmIChnZXRfc2hhMV9oZXgoYXJnLCBzaGExKSkKLQkJCQkJZGllKCJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIsIGxpbmUpOworCQkJCQlkaWUoXygiaW52YWxpZCB1bnNoYWxsb3cgbGluZTogJXMiKSwgbGluZSk7CiAJCQkJaWYgKCFsb29rdXBfb2JqZWN0KHNoYTEpKQotCQkJCQlkaWUoIm9iamVjdCBub3QgZm91bmQ6ICVzIiwgbGluZSk7CisJCQkJCWRpZShfKCJvYmplY3Qgbm90IGZvdW5kOiAlcyIpLCBsaW5lKTsKIAkJCQkvKiBtYWtlIHN1cmUgdGhhdCBpdCBpcyBwYXJzZWQgYXMgc2hhbGxvdyAqLwogCQkJCWlmICghcGFyc2Vfb2JqZWN0KHNoYTEpKQotCQkJCQlkaWUoImVycm9yIGluIG9iamVjdDogJXMiLCBsaW5lKTsKKwkJCQkJZGllKF8oImVycm9yIGluIG9iamVjdDogJXMiKSwgbGluZSk7CiAJCQkJaWYgKHVucmVnaXN0ZXJfc2hhbGxvdyhzaGExKSkKLQkJCQkJZGllKCJubyBzaGFsbG93IGZvdW5kOiAlcyIsIGxpbmUpOworCQkJCQlkaWUoXygibm8gc2hhbGxvdyBmb3VuZDogJXMiKSwgbGluZSk7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlkaWUoImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiLCBsaW5lKTsKKwkJCWRpZShfKCJleHBlY3RlZCBzaGFsbG93L3Vuc2hhbGxvdywgZ290ICVzIiksIGxpbmUpOwogCQl9CiAJfSBlbHNlIGlmICghYXJncy0+c3RhdGVsZXNzX3JwYykKIAkJc2VuZF9yZXF1ZXN0KGFyZ3MsIGZkWzFdLCAmcmVxX2J1Zik7CkBAIC0zNzUsOCArNDExLDcgQEAKIAlyZXR2YWwgPSAtMTsKIAl3aGlsZSAoKHNoYTEgPSBnZXRfcmV2KCkpKSB7CiAJCXBhY2tldF9idWZfd3JpdGUoJnJlcV9idWYsICJoYXZlICVzXG4iLCBzaGExX3RvX2hleChzaGExKSk7Ci0JCWlmIChhcmdzLT52ZXJib3NlKQotCQkJZnByaW50ZihzdGRlcnIsICJoYXZlICVzXG4iLCBzaGExX3RvX2hleChzaGExKSk7CisJCXByaW50X3ZlcmJvc2UoYXJncywgImhhdmUgJXMiLCBzaGExX3RvX2hleChzaGExKSk7CiAJCWluX3ZhaW4rKzsKIAkJaWYgKGZsdXNoX2F0IDw9ICsrY291bnQpIHsKIAkJCWludCBhY2s7CkBAIC0zOTcsOSArNDMyLDkgQEAKIAkJCWNvbnN1bWVfc2hhbGxvd19saXN0KGFyZ3MsIGZkWzBdKTsKIAkJCWRvIHsKIAkJCQlhY2sgPSBnZXRfYWNrKGZkWzBdLCByZXN1bHRfc2hhMSk7Ci0JCQkJaWYgKGFyZ3MtPnZlcmJvc2UgJiYgYWNrKQotCQkJCQlmcHJpbnRmKHN0ZGVyciwgImdvdCBhY2sgJWQgJXNcbiIsIGFjaywKLQkJCQkJCQlzaGExX3RvX2hleChyZXN1bHRfc2hhMSkpOworCQkJCWlmIChhY2spCisJCQkJCXByaW50X3ZlcmJvc2UoYXJncywgXygiZ290ICVzICVkICVzIiksICJhY2siLAorCQkJCQkJICAgICAgYWNrLCBzaGExX3RvX2hleChyZXN1bHRfc2hhMSkpOwogCQkJCXN3aXRjaCAoYWNrKSB7CiAJCQkJY2FzZSBBQ0s6CiAJCQkJCWZsdXNoZXMgPSAwOwpAQCAtNDEyLDcgKzQ0Nyw3IEBACiAJCQkJCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9CiAJCQkJCQlsb29rdXBfY29tbWl0KHJlc3VsdF9zaGExKTsKIAkJCQkJaWYgKCFjb21taXQpCi0JCQkJCQlkaWUoImludmFsaWQgY29tbWl0ICVzIiwgc2hhMV90b19oZXgocmVzdWx0X3NoYTEpKTsKKwkJCQkJCWRpZShfKCJpbnZhbGlkIGNvbW1pdCAlcyIpLCBzaGExX3RvX2hleChyZXN1bHRfc2hhMSkpOwogCQkJCQlpZiAoYXJncy0+c3RhdGVsZXNzX3JwYwogCQkJCQkgJiYgYWNrID09IEFDS19jb21tb24KIAkJCQkJICYmICEoY29tbWl0LT5vYmplY3QuZmxhZ3MgJiBDT01NT04pKSB7CkBAIC00MjMsMTAgKzQ1OCwxNyBAQAogCQkJCQkJY29uc3QgY2hhciAqaGV4ID0gc2hhMV90b19oZXgocmVzdWx0X3NoYTEpOwogCQkJCQkJcGFja2V0X2J1Zl93cml0ZSgmcmVxX2J1ZiwgImhhdmUgJXNcbiIsIGhleCk7CiAJCQkJCQlzdGF0ZV9sZW4gPSByZXFfYnVmLmxlbjsKLQkJCQkJfQorCQkJCQkJLyoKKwkJCQkJCSAqIFJlc2V0IGluX3ZhaW4gYmVjYXVzZSBhbiBhY2sKKwkJCQkJCSAqIGZvciB0aGlzIGNvbW1pdCBoYXMgbm90IGJlZW4KKwkJCQkJCSAqIHNlZW4uCisJCQkJCQkgKi8KKwkJCQkJCWluX3ZhaW4gPSAwOworCQkJCQl9IGVsc2UgaWYgKCFhcmdzLT5zdGF0ZWxlc3NfcnBjCisJCQkJCQkgICB8fCBhY2sgIT0gQUNLX2NvbW1vbikKKwkJCQkJCWluX3ZhaW4gPSAwOwogCQkJCQltYXJrX2NvbW1vbihjb21taXQsIDAsIDEpOwogCQkJCQlyZXR2YWwgPSAwOwotCQkJCQlpbl92YWluID0gMDsKIAkJCQkJZ290X2NvbnRpbnVlID0gMTsKIAkJCQkJaWYgKGFjayA9PSBBQ0tfcmVhZHkpIHsKIAkJCQkJCWNsZWFyX3ByaW9fcXVldWUoJnJldl9saXN0KTsKQEAgLTQzOCw4ICs0ODAsNyBAQAogCQkJfSB3aGlsZSAoYWNrKTsKIAkJCWZsdXNoZXMtLTsKIAkJCWlmIChnb3RfY29udGludWUgJiYgTUFYX0lOX1ZBSU4gPCBpbl92YWluKSB7Ci0JCQkJaWYgKGFyZ3MtPnZlcmJvc2UpCi0JCQkJCWZwcmludGYoc3RkZXJyLCAiZ2l2aW5nIHVwXG4iKTsKKwkJCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oImdpdmluZyB1cCIpKTsKIAkJCQlicmVhazsgLyogZ2l2ZSB1cCAqLwogCQkJfQogCQl9CkBAIC00NDksOCArNDkwLDcgQEAKIAkJcGFja2V0X2J1Zl93cml0ZSgmcmVxX2J1ZiwgImRvbmVcbiIpOwogCQlzZW5kX3JlcXVlc3QoYXJncywgZmRbMV0sICZyZXFfYnVmKTsKIAl9Ci0JaWYgKGFyZ3MtPnZlcmJvc2UpCi0JCWZwcmludGYoc3RkZXJyLCAiZG9uZVxuIik7CisJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJkb25lIikpOwogCWlmIChyZXR2YWwgIT0gMCkgewogCQltdWx0aV9hY2sgPSAwOwogCQlmbHVzaGVzKys7CkBAIC00NjIsOSArNTAyLDggQEAKIAl3aGlsZSAoZmx1c2hlcyB8fCBtdWx0aV9hY2spIHsKIAkJaW50IGFjayA9IGdldF9hY2soZmRbMF0sIHJlc3VsdF9zaGExKTsKIAkJaWYgKGFjaykgewotCQkJaWYgKGFyZ3MtPnZlcmJvc2UpCi0JCQkJZnByaW50ZihzdGRlcnIsICJnb3QgYWNrICglZCkgJXNcbiIsIGFjaywKLQkJCQkJc2hhMV90b19oZXgocmVzdWx0X3NoYTEpKTsKKwkJCXByaW50X3ZlcmJvc2UoYXJncywgXygiZ290ICVzICglZCkgJXMiKSwgImFjayIsCisJCQkJICAgICAgYWNrLCBzaGExX3RvX2hleChyZXN1bHRfc2hhMSkpOwogCQkJaWYgKGFjayA9PSBBQ0spCiAJCQkJcmV0dXJuIDA7CiAJCQltdWx0aV9hY2sgPSAxOwpAQCAtNTA5LDkgKzU0OCw4IEBACiAJCQkJCSB1bnNpZ25lZCBsb25nIGN1dG9mZikKIHsKIAl3aGlsZSAoY29tcGxldGUgJiYgY3V0b2ZmIDw9IGNvbXBsZXRlLT5pdGVtLT5kYXRlKSB7Ci0JCWlmIChhcmdzLT52ZXJib3NlKQotCQkJZnByaW50ZihzdGRlcnIsICJNYXJraW5nICVzIGFzIGNvbXBsZXRlXG4iLAotCQkJCW9pZF90b19oZXgoJmNvbXBsZXRlLT5pdGVtLT5vYmplY3Qub2lkKSk7CisJCXByaW50X3ZlcmJvc2UoYXJncywgXygiTWFya2luZyAlcyBhcyBjb21wbGV0ZSIpLAorCQkJICAgICAgb2lkX3RvX2hleCgmY29tcGxldGUtPml0ZW0tPm9iamVjdC5vaWQpKTsKIAkJcG9wX21vc3RfcmVjZW50X2NvbW1pdCgmY29tcGxldGUsIENPTVBMRVRFKTsKIAl9CiB9CkBAIC01NDcsNyArNTg1LDcgQEAKIAkJfQogCiAJCWlmICgha2VlcCAmJiBhcmdzLT5mZXRjaF9hbGwgJiYKLQkJICAgICghYXJncy0+ZGVwdGggfHwgIXN0YXJ0c193aXRoKHJlZi0+bmFtZSwgInJlZnMvdGFncy8iKSkpCisJCSAgICAoIWFyZ3MtPmRlZXBlbiB8fCAhc3RhcnRzX3dpdGgocmVmLT5uYW1lLCAicmVmcy90YWdzLyIpKSkKIAkJCWtlZXAgPSAxOwogCiAJCWlmIChrZWVwKSB7CkBAIC02MTcsNyArNjU1LDcgQEAKIAkJfQogCX0KIAotCWlmICghYXJncy0+ZGVwdGgpIHsKKwlpZiAoIWFyZ3MtPmRlZXBlbikgewogCQlmb3JfZWFjaF9yZWYobWFya19jb21wbGV0ZV9vaWQsIE5VTEwpOwogCQlmb3JfZWFjaF9hbHRlcm5hdGVfcmVmKG1hcmtfYWx0ZXJuYXRlX2NvbXBsZXRlLCBOVUxMKTsKIAkJY29tbWl0X2xpc3Rfc29ydF9ieV9kYXRlKCZjb21wbGV0ZSk7CkBAIC02NTIsMTggKzY5MCwxMiBAQAogCQlvID0gbG9va3VwX29iamVjdChyZW1vdGUpOwogCQlpZiAoIW8gfHwgIShvLT5mbGFncyAmIENPTVBMRVRFKSkgewogCQkJcmV0dmFsID0gMDsKLQkJCWlmICghYXJncy0+dmVyYm9zZSkKLQkJCQljb250aW51ZTsKLQkJCWZwcmludGYoc3RkZXJyLAotCQkJCSJ3YW50ICVzICglcylcbiIsIHNoYTFfdG9faGV4KHJlbW90ZSksCi0JCQkJcmVmLT5uYW1lKTsKKwkJCXByaW50X3ZlcmJvc2UoYXJncywgIndhbnQgJXMgKCVzKSIsIHNoYTFfdG9faGV4KHJlbW90ZSksCisJCQkJICAgICAgcmVmLT5uYW1lKTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWlmICghYXJncy0+dmVyYm9zZSkKLQkJCWNvbnRpbnVlOwotCQlmcHJpbnRmKHN0ZGVyciwKLQkJCSJhbHJlYWR5IGhhdmUgJXMgKCVzKVxuIiwgc2hhMV90b19oZXgocmVtb3RlKSwKLQkJCXJlZi0+bmFtZSk7CisJCXByaW50X3ZlcmJvc2UoYXJncywgXygiYWxyZWFkeSBoYXZlICVzICglcykiKSwgc2hhMV90b19oZXgocmVtb3RlKSwKKwkJCSAgICAgIHJlZi0+bmFtZSk7CiAJfQogCXJldHVybiByZXR2YWw7CiB9CkBAIC03MDAsOCArNzMyLDcgQEAKIAkJZGVtdXgub3V0ID0gLTE7CiAJCWRlbXV4Lmlzb2xhdGVfc2lncGlwZSA9IDE7CiAJCWlmIChzdGFydF9hc3luYygmZGVtdXgpKQotCQkJZGllKCJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgc2lkZWJhbmQiCi0JCQkgICAgIiBkZW11bHRpcGxleGVyIik7CisJCQlkaWUoXygiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiKSk7CiAJfQogCWVsc2UKIAkJZGVtdXgub3V0ID0geGRbMF07CkBAIC03MDksNyArNzQwLDcgQEAKIAlpZiAoIWFyZ3MtPmtlZXBfcGFjayAmJiB1bnBhY2tfbGltaXQpIHsKIAogCQlpZiAocmVhZF9wYWNrX2hlYWRlcihkZW11eC5vdXQsICZoZWFkZXIpKQotCQkJZGllKCJwcm90b2NvbCBlcnJvcjogYmFkIHBhY2sgaGVhZGVyIik7CisJCQlkaWUoXygicHJvdG9jb2wgZXJyb3I6IGJhZCBwYWNrIGhlYWRlciIpKTsKIAkJcGFzc19oZWFkZXIgPSAxOwogCQlpZiAobnRvaGwoaGVhZGVyLmhkcl9lbnRyaWVzKSA8IHVucGFja19saW1pdCkKIAkJCWRvX2tlZXAgPSAwOwpAQCAtNzY1LDcgKzc5Niw3IEBACiAJY21kLmluID0gZGVtdXgub3V0OwogCWNtZC5naXRfY21kID0gMTsKIAlpZiAoc3RhcnRfY29tbWFuZCgmY21kKSkKLQkJZGllKCJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgJXMiLCBjbWRfbmFtZSk7CisJCWRpZShfKCJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgJXMiKSwgY21kX25hbWUpOwogCWlmIChkb19rZWVwICYmIHBhY2tfbG9ja2ZpbGUpIHsKIAkJKnBhY2tfbG9ja2ZpbGUgPSBpbmRleF9wYWNrX2xvY2tmaWxlKGNtZC5vdXQpOwogCQljbG9zZShjbWQub3V0KTsKQEAgLTc4MSw5ICs4MTIsOSBAQAogCQkJYXJncy0+Y2hlY2tfc2VsZl9jb250YWluZWRfYW5kX2Nvbm5lY3RlZCAmJgogCQkJcmV0ID09IDA7CiAJZWxzZQotCQlkaWUoIiVzIGZhaWxlZCIsIGNtZF9uYW1lKTsKKwkJZGllKF8oIiVzIGZhaWxlZCIpLCBjbWRfbmFtZSk7CiAJaWYgKHVzZV9zaWRlYmFuZCAmJiBmaW5pc2hfYXN5bmMoJmRlbXV4KSkKLQkJZGllKCJlcnJvciBpbiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIik7CisJCWRpZShfKCJlcnJvciBpbiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIikpOwogCXJldHVybiAwOwogfQogCkBAIC04MDcsNDQgKzgzOCwzOSBAQAogCWludCBhZ2VudF9sZW47CiAKIAlzb3J0X3JlZl9saXN0KCZyZWYsIHJlZl9jb21wYXJlX25hbWUpOwotCXFzb3J0KHNvdWdodCwgbnJfc291Z2h0LCBzaXplb2YoKnNvdWdodCksIGNtcF9yZWZfYnlfbmFtZSk7CisJUVNPUlQoc291Z2h0LCBucl9zb3VnaHQsIGNtcF9yZWZfYnlfbmFtZSk7CiAKIAlpZiAoKGFyZ3MtPmRlcHRoID4gMCB8fCBpc19yZXBvc2l0b3J5X3NoYWxsb3coKSkgJiYgIXNlcnZlcl9zdXBwb3J0cygic2hhbGxvdyIpKQotCQlkaWUoIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2xpZW50cyIpOworCQlkaWUoXygiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIikpOworCWlmIChhcmdzLT5kZXB0aCA+IDAgfHwgYXJncy0+ZGVlcGVuX3NpbmNlIHx8IGFyZ3MtPmRlZXBlbl9ub3QpCisJCWFyZ3MtPmRlZXBlbiA9IDE7CiAJaWYgKHNlcnZlcl9zdXBwb3J0cygibXVsdGlfYWNrX2RldGFpbGVkIikpIHsKLQkJaWYgKGFyZ3MtPnZlcmJvc2UpCi0JCQlmcHJpbnRmKHN0ZGVyciwgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2tfZGV0YWlsZWRcbiIpOworCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2tfZGV0YWlsZWQiKSk7CiAJCW11bHRpX2FjayA9IDI7CiAJCWlmIChzZXJ2ZXJfc3VwcG9ydHMoIm5vLWRvbmUiKSkgewotCQkJaWYgKGFyZ3MtPnZlcmJvc2UpCi0JCQkJZnByaW50ZihzdGRlcnIsICJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZVxuIik7CisJCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIikpOwogCQkJaWYgKGFyZ3MtPnN0YXRlbGVzc19ycGMpCiAJCQkJbm9fZG9uZSA9IDE7CiAJCX0KIAl9CiAJZWxzZSBpZiAoc2VydmVyX3N1cHBvcnRzKCJtdWx0aV9hY2siKSkgewotCQlpZiAoYXJncy0+dmVyYm9zZSkKLQkJCWZwcmludGYoc3RkZXJyLCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2Fja1xuIik7CisJCXByaW50X3ZlcmJvc2UoYXJncywgXygiU2VydmVyIHN1cHBvcnRzIG11bHRpX2FjayIpKTsKIAkJbXVsdGlfYWNrID0gMTsKIAl9CiAJaWYgKHNlcnZlcl9zdXBwb3J0cygic2lkZS1iYW5kLTY0ayIpKSB7Ci0JCWlmIChhcmdzLT52ZXJib3NlKQotCQkJZnByaW50ZihzdGRlcnIsICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0a1xuIik7CisJCXByaW50X3ZlcmJvc2UoYXJncywgXygiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZC02NGsiKSk7CiAJCXVzZV9zaWRlYmFuZCA9IDI7CiAJfQogCWVsc2UgaWYgKHNlcnZlcl9zdXBwb3J0cygic2lkZS1iYW5kIikpIHsKLQkJaWYgKGFyZ3MtPnZlcmJvc2UpCi0JCQlmcHJpbnRmKHN0ZGVyciwgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmRcbiIpOworCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQiKSk7CiAJCXVzZV9zaWRlYmFuZCA9IDE7CiAJfQogCWlmIChzZXJ2ZXJfc3VwcG9ydHMoImFsbG93LXRpcC1zaGExLWluLXdhbnQiKSkgewotCQlpZiAoYXJncy0+dmVyYm9zZSkKLQkJCWZwcmludGYoc3RkZXJyLCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXRpcC1zaGExLWluLXdhbnRcbiIpOworCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IikpOwogCQlhbGxvd191bmFkdmVydGlzZWRfb2JqZWN0X3JlcXVlc3QgfD0gQUxMT1dfVElQX1NIQTE7CiAJfQogCWlmIChzZXJ2ZXJfc3VwcG9ydHMoImFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiKSkgewotCQlpZiAoYXJncy0+dmVyYm9zZSkKLQkJCWZwcmludGYoc3RkZXJyLCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnRcbiIpOworCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IikpOwogCQlhbGxvd191bmFkdmVydGlzZWRfb2JqZWN0X3JlcXVlc3QgfD0gQUxMT1dfUkVBQ0hBQkxFX1NIQTE7CiAJfQogCWlmICghc2VydmVyX3N1cHBvcnRzKCJ0aGluLXBhY2siKSkKQEAgLTg1MywxOCArODc5LDI3IEBACiAJCWFyZ3MtPm5vX3Byb2dyZXNzID0gMDsKIAlpZiAoIXNlcnZlcl9zdXBwb3J0cygiaW5jbHVkZS10YWciKSkKIAkJYXJncy0+aW5jbHVkZV90YWcgPSAwOwotCWlmIChzZXJ2ZXJfc3VwcG9ydHMoIm9mcy1kZWx0YSIpKSB7Ci0JCWlmIChhcmdzLT52ZXJib3NlKQotCQkJZnByaW50ZihzdGRlcnIsICJTZXJ2ZXIgc3VwcG9ydHMgb2ZzLWRlbHRhXG4iKTsKLQl9IGVsc2UKKwlpZiAoc2VydmVyX3N1cHBvcnRzKCJvZnMtZGVsdGEiKSkKKwkJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJTZXJ2ZXIgc3VwcG9ydHMgb2ZzLWRlbHRhIikpOworCWVsc2UKIAkJcHJlZmVyX29mc19kZWx0YSA9IDA7CiAKIAlpZiAoKGFnZW50X2ZlYXR1cmUgPSBzZXJ2ZXJfZmVhdHVyZV92YWx1ZSgiYWdlbnQiLCAmYWdlbnRfbGVuKSkpIHsKIAkJYWdlbnRfc3VwcG9ydGVkID0gMTsKLQkJaWYgKGFyZ3MtPnZlcmJvc2UgJiYgYWdlbnRfbGVuKQotCQkJZnByaW50ZihzdGRlcnIsICJTZXJ2ZXIgdmVyc2lvbiBpcyAlLipzXG4iLAotCQkJCWFnZW50X2xlbiwgYWdlbnRfZmVhdHVyZSk7CisJCWlmIChhZ2VudF9sZW4pCisJCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciB2ZXJzaW9uIGlzICUuKnMiKSwKKwkJCQkgICAgICBhZ2VudF9sZW4sIGFnZW50X2ZlYXR1cmUpOwogCX0KKwlpZiAoc2VydmVyX3N1cHBvcnRzKCJkZWVwZW4tc2luY2UiKSkKKwkJZGVlcGVuX3NpbmNlX29rID0gMTsKKwllbHNlIGlmIChhcmdzLT5kZWVwZW5fc2luY2UpCisJCWRpZShfKCJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctc2luY2UiKSk7CisJaWYgKHNlcnZlcl9zdXBwb3J0cygiZGVlcGVuLW5vdCIpKQorCQlkZWVwZW5fbm90X29rID0gMTsKKwllbHNlIGlmIChhcmdzLT5kZWVwZW5fbm90KQorCQlkaWUoXygiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiKSk7CisJaWYgKCFzZXJ2ZXJfc3VwcG9ydHMoImRlZXBlbi1yZWxhdGl2ZSIpICYmIGFyZ3MtPmRlZXBlbl9yZWxhdGl2ZSkKKwkJZGllKF8oIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tZGVlcGVuIikpOwogCiAJaWYgKGV2ZXJ5dGhpbmdfbG9jYWwoYXJncywgJnJlZiwgc291Z2h0LCBucl9zb3VnaHQpKSB7CiAJCXBhY2tldF9mbHVzaChmZFsxXSk7CkBAIC04NzUsMTEgKzkxMCwxMSBAQAogCQkJLyogV2hlbiBjbG9uaW5nLCBpdCBpcyBub3QgdW51c3VhbCB0byBoYXZlCiAJCQkgKiBubyBjb21tb24gY29tbWl0LgogCQkJICovCi0JCQl3YXJuaW5nKCJubyBjb21tb24gY29tbWl0cyIpOworCQkJd2FybmluZyhfKCJubyBjb21tb24gY29tbWl0cyIpKTsKIAogCWlmIChhcmdzLT5zdGF0ZWxlc3NfcnBjKQogCQlwYWNrZXRfZmx1c2goZmRbMV0pOwotCWlmIChhcmdzLT5kZXB0aCA+IDApCisJaWYgKGFyZ3MtPmRlZXBlbikKIAkJc2V0dXBfYWx0ZXJuYXRlX3NoYWxsb3coJnNoYWxsb3dfbG9jaywgJmFsdGVybmF0ZV9zaGFsbG93X2ZpbGUsCiAJCQkJCU5VTEwpOwogCWVsc2UgaWYgKHNpLT5ucl9vdXJzIHx8IHNpLT5ucl90aGVpcnMpCkBAIC04ODcsNyArOTIyLDcgQEAKIAllbHNlCiAJCWFsdGVybmF0ZV9zaGFsbG93X2ZpbGUgPSBOVUxMOwogCWlmIChnZXRfcGFjayhhcmdzLCBmZCwgcGFja19sb2NrZmlsZSkpCi0JCWRpZSgiZ2l0IGZldGNoLXBhY2s6IGZldGNoIGZhaWxlZC4iKTsKKwkJZGllKF8oImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBmYWlsZWQuIikpOwogCiAgYWxsX2RvbmU6CiAJcmV0dXJuIHJlZjsKQEAgLTk0Niw3ICs5ODEsNyBAQAogCWludCAqc3RhdHVzOwogCWludCBpOwogCi0JaWYgKGFyZ3MtPmRlcHRoID4gMCAmJiBhbHRlcm5hdGVfc2hhbGxvd19maWxlKSB7CisJaWYgKGFyZ3MtPmRlZXBlbiAmJiBhbHRlcm5hdGVfc2hhbGxvd19maWxlKSB7CiAJCWlmICgqYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZSA9PSAnXDAnKSB7IC8qIC0tdW5zaGFsbG93ICovCiAJCQl1bmxpbmtfb3Jfd2FybihnaXRfcGF0aF9zaGFsbG93KCkpOwogCQkJcm9sbGJhY2tfbG9ja19maWxlKCZzaGFsbG93X2xvY2spOwpAQCAtMTA0OSw3ICsxMDg0LDcgQEAKIAogCWlmICghcmVmKSB7CiAJCXBhY2tldF9mbHVzaChmZFsxXSk7Ci0JCWRpZSgibm8gbWF0Y2hpbmcgcmVtb3RlIGhlYWQiKTsKKwkJZGllKF8oIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIikpOwogCX0KIAlwcmVwYXJlX3NoYWxsb3dfaW5mbygmc2ksIHNoYWxsb3cpOwogCXJlZl9jcHkgPSBkb19mZXRjaF9wYWNrKGFyZ3MsIGZkLCByZWYsIHNvdWdodCwgbnJfc291Z2h0LApkaWZmIC0tZ2l0IGEvZmV0Y2gtcGFjay5oIGIvZmV0Y2gtcGFjay5oCmluZGV4IGJiN2ZkNzYuLmM5MTJlM2QgMTAwNjQ0Ci0tLSBhL2ZldGNoLXBhY2suaAorKysgYi9mZXRjaC1wYWNrLmgKQEAgLTEwLDYgKzEwLDkgQEAKIAljb25zdCBjaGFyICp1cGxvYWRwYWNrOwogCWludCB1bnBhY2tsaW1pdDsKIAlpbnQgZGVwdGg7CisJY29uc3QgY2hhciAqZGVlcGVuX3NpbmNlOworCWNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqZGVlcGVuX25vdDsKKwl1bnNpZ25lZCBkZWVwZW5fcmVsYXRpdmU6MTsKIAl1bnNpZ25lZCBxdWlldDoxOwogCXVuc2lnbmVkIGtlZXBfcGFjazoxOwogCXVuc2lnbmVkIGxvY2tfcGFjazoxOwpAQCAtMjUsNiArMjgsNyBAQAogCXVuc2lnbmVkIHNlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQ6MTsKIAl1bnNpZ25lZCBjbG9uaW5nOjE7CiAJdW5zaWduZWQgdXBkYXRlX3NoYWxsb3c6MTsKKwl1bnNpZ25lZCBkZWVwZW46MTsKIH07CiAKIC8qCmRpZmYgLS1naXQgYS9mc2NrLmMgYi9mc2NrLmMKaW5kZXggMDUzMTU0NS4uNGEzMDY5ZSAxMDA2NDQKLS0tIGEvZnNjay5jCisrKyBiL2ZzY2suYwpAQCAtOSw2ICs5LDcgQEAKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAidXRmOC5oIgogI2luY2x1ZGUgInNoYTEtYXJyYXkuaCIKKyNpbmNsdWRlICJkZWNvcmF0ZS5oIgogCiAjZGVmaW5lIEZTQ0tfRkFUQUwgLTEKICNkZWZpbmUgRlNDS19JTkZPIC0yCkBAIC0yOTAsMzUgKzI5MSw4OCBAQAogCiAJdmFfc3RhcnQoYXAsIGZtdCk7CiAJc3RyYnVmX3ZhZGRmKCZzYiwgZm10LCBhcCk7Ci0JcmVzdWx0ID0gb3B0aW9ucy0+ZXJyb3JfZnVuYyhvYmplY3QsIG1zZ190eXBlLCBzYi5idWYpOworCXJlc3VsdCA9IG9wdGlvbnMtPmVycm9yX2Z1bmMob3B0aW9ucywgb2JqZWN0LCBtc2dfdHlwZSwgc2IuYnVmKTsKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwogCXZhX2VuZChhcCk7CiAKIAlyZXR1cm4gcmVzdWx0OwogfQogCitzdGF0aWMgY2hhciAqZ2V0X29iamVjdF9uYW1lKHN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnMsIHN0cnVjdCBvYmplY3QgKm9iaikKK3sKKwlpZiAoIW9wdGlvbnMtPm9iamVjdF9uYW1lcykKKwkJcmV0dXJuIE5VTEw7CisJcmV0dXJuIGxvb2t1cF9kZWNvcmF0aW9uKG9wdGlvbnMtPm9iamVjdF9uYW1lcywgb2JqKTsKK30KKworc3RhdGljIHZvaWQgcHV0X29iamVjdF9uYW1lKHN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnMsIHN0cnVjdCBvYmplY3QgKm9iaiwKKwljb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IGFwOworCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJY2hhciAqZXhpc3Rpbmc7CisKKwlpZiAoIW9wdGlvbnMtPm9iamVjdF9uYW1lcykKKwkJcmV0dXJuOworCWV4aXN0aW5nID0gbG9va3VwX2RlY29yYXRpb24ob3B0aW9ucy0+b2JqZWN0X25hbWVzLCBvYmopOworCWlmIChleGlzdGluZykKKwkJcmV0dXJuOworCXZhX3N0YXJ0KGFwLCBmbXQpOworCXN0cmJ1Zl92YWRkZigmYnVmLCBmbXQsIGFwKTsKKwlhZGRfZGVjb3JhdGlvbihvcHRpb25zLT5vYmplY3RfbmFtZXMsIG9iaiwgc3RyYnVmX2RldGFjaCgmYnVmLCBOVUxMKSk7CisJdmFfZW5kKGFwKTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKmRlc2NyaWJlX29iamVjdChzdHJ1Y3QgZnNja19vcHRpb25zICpvLCBzdHJ1Y3Qgb2JqZWN0ICpvYmopCit7CisJc3RhdGljIHN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJY2hhciAqbmFtZTsKKworCXN0cmJ1Zl9yZXNldCgmYnVmKTsKKwlzdHJidWZfYWRkc3RyKCZidWYsIG9pZF90b19oZXgoJm9iai0+b2lkKSk7CisJaWYgKG8tPm9iamVjdF9uYW1lcyAmJiAobmFtZSA9IGxvb2t1cF9kZWNvcmF0aW9uKG8tPm9iamVjdF9uYW1lcywgb2JqKSkpCisJCXN0cmJ1Zl9hZGRmKCZidWYsICIgKCVzKSIsIG5hbWUpOworCisJcmV0dXJuIGJ1Zi5idWY7Cit9CisKIHN0YXRpYyBpbnQgZnNja193YWxrX3RyZWUoc3RydWN0IHRyZWUgKnRyZWUsIHZvaWQgKmRhdGEsIHN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnMpCiB7CiAJc3RydWN0IHRyZWVfZGVzYyBkZXNjOwogCXN0cnVjdCBuYW1lX2VudHJ5IGVudHJ5OwogCWludCByZXMgPSAwOworCWNvbnN0IGNoYXIgKm5hbWU7CiAKIAlpZiAocGFyc2VfdHJlZSh0cmVlKSkKIAkJcmV0dXJuIC0xOwogCi0JaW5pdF90cmVlX2Rlc2MoJmRlc2MsIHRyZWUtPmJ1ZmZlciwgdHJlZS0+c2l6ZSk7Ci0Jd2hpbGUgKHRyZWVfZW50cnkoJmRlc2MsICZlbnRyeSkpIHsKKwluYW1lID0gZ2V0X29iamVjdF9uYW1lKG9wdGlvbnMsICZ0cmVlLT5vYmplY3QpOworCWlmIChpbml0X3RyZWVfZGVzY19nZW50bHkoJmRlc2MsIHRyZWUtPmJ1ZmZlciwgdHJlZS0+c2l6ZSkpCisJCXJldHVybiAtMTsKKwl3aGlsZSAodHJlZV9lbnRyeV9nZW50bHkoJmRlc2MsICZlbnRyeSkpIHsKKwkJc3RydWN0IG9iamVjdCAqb2JqOwogCQlpbnQgcmVzdWx0OwogCiAJCWlmIChTX0lTR0lUTElOSyhlbnRyeS5tb2RlKSkKIAkJCWNvbnRpbnVlOwotCQlpZiAoU19JU0RJUihlbnRyeS5tb2RlKSkKLQkJCXJlc3VsdCA9IG9wdGlvbnMtPndhbGsoJmxvb2t1cF90cmVlKGVudHJ5Lm9pZC0+aGFzaCktPm9iamVjdCwgT0JKX1RSRUUsIGRhdGEsIG9wdGlvbnMpOwotCQllbHNlIGlmIChTX0lTUkVHKGVudHJ5Lm1vZGUpIHx8IFNfSVNMTksoZW50cnkubW9kZSkpCi0JCQlyZXN1bHQgPSBvcHRpb25zLT53YWxrKCZsb29rdXBfYmxvYihlbnRyeS5vaWQtPmhhc2gpLT5vYmplY3QsIE9CSl9CTE9CLCBkYXRhLCBvcHRpb25zKTsKKworCQlpZiAoU19JU0RJUihlbnRyeS5tb2RlKSkgeworCQkJb2JqID0gJmxvb2t1cF90cmVlKGVudHJ5Lm9pZC0+aGFzaCktPm9iamVjdDsKKwkJCWlmIChuYW1lKQorCQkJCXB1dF9vYmplY3RfbmFtZShvcHRpb25zLCBvYmosICIlcyVzLyIsIG5hbWUsCisJCQkJCWVudHJ5LnBhdGgpOworCQkJcmVzdWx0ID0gb3B0aW9ucy0+d2FsayhvYmosIE9CSl9UUkVFLCBkYXRhLCBvcHRpb25zKTsKKwkJfQorCQllbHNlIGlmIChTX0lTUkVHKGVudHJ5Lm1vZGUpIHx8IFNfSVNMTksoZW50cnkubW9kZSkpIHsKKwkJCW9iaiA9ICZsb29rdXBfYmxvYihlbnRyeS5vaWQtPmhhc2gpLT5vYmplY3Q7CisJCQlpZiAobmFtZSkKKwkJCQlwdXRfb2JqZWN0X25hbWUob3B0aW9ucywgb2JqLCAiJXMlcyIsIG5hbWUsCisJCQkJCWVudHJ5LnBhdGgpOworCQkJcmVzdWx0ID0gb3B0aW9ucy0+d2FsayhvYmosIE9CSl9CTE9CLCBkYXRhLCBvcHRpb25zKTsKKwkJfQogCQllbHNlIHsKIAkJCXJlc3VsdCA9IGVycm9yKCJpbiB0cmVlICVzOiBlbnRyeSAlcyBoYXMgYmFkIG1vZGUgJS42byIsCi0JCQkJCW9pZF90b19oZXgoJnRyZWUtPm9iamVjdC5vaWQpLCBlbnRyeS5wYXRoLCBlbnRyeS5tb2RlKTsKKwkJCQkJZGVzY3JpYmVfb2JqZWN0KG9wdGlvbnMsICZ0cmVlLT5vYmplY3QpLCBlbnRyeS5wYXRoLCBlbnRyeS5tb2RlKTsKIAkJfQogCQlpZiAocmVzdWx0IDwgMCkKIAkJCXJldHVybiByZXN1bHQ7CkBAIC0zMzAsMjAgKzM4NCw1NSBAQAogCiBzdGF0aWMgaW50IGZzY2tfd2Fsa19jb21taXQoc3RydWN0IGNvbW1pdCAqY29tbWl0LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRpb25zKQogeworCWludCBjb3VudGVyID0gMCwgZ2VuZXJhdGlvbiA9IDAsIG5hbWVfcHJlZml4X2xlbiA9IDA7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzOwogCWludCByZXM7CiAJaW50IHJlc3VsdDsKKwljb25zdCBjaGFyICpuYW1lOwogCiAJaWYgKHBhcnNlX2NvbW1pdChjb21taXQpKQogCQlyZXR1cm4gLTE7CiAKKwluYW1lID0gZ2V0X29iamVjdF9uYW1lKG9wdGlvbnMsICZjb21taXQtPm9iamVjdCk7CisJaWYgKG5hbWUpCisJCXB1dF9vYmplY3RfbmFtZShvcHRpb25zLCAmY29tbWl0LT50cmVlLT5vYmplY3QsICIlczoiLCBuYW1lKTsKKwogCXJlc3VsdCA9IG9wdGlvbnMtPndhbGsoKHN0cnVjdCBvYmplY3QgKiljb21taXQtPnRyZWUsIE9CSl9UUkVFLCBkYXRhLCBvcHRpb25zKTsKIAlpZiAocmVzdWx0IDwgMCkKIAkJcmV0dXJuIHJlc3VsdDsKIAlyZXMgPSByZXN1bHQ7CiAKIAlwYXJlbnRzID0gY29tbWl0LT5wYXJlbnRzOworCWlmIChuYW1lICYmIHBhcmVudHMpIHsKKwkJaW50IGxlbiA9IHN0cmxlbihuYW1lKSwgcG93ZXI7CisKKwkJaWYgKGxlbiAmJiBuYW1lW2xlbiAtIDFdID09ICdeJykgeworCQkJZ2VuZXJhdGlvbiA9IDE7CisJCQluYW1lX3ByZWZpeF9sZW4gPSBsZW4gLSAxOworCQl9CisJCWVsc2UgeyAvKiBwYXJzZSB+PGdlbmVyYXRpb24+IHN1ZmZpeCAqLworCQkJZm9yIChnZW5lcmF0aW9uID0gMCwgcG93ZXIgPSAxOworCQkJICAgICBsZW4gJiYgaXNkaWdpdChuYW1lW2xlbiAtIDFdKTsKKwkJCSAgICAgcG93ZXIgKj0gMTApCisJCQkJZ2VuZXJhdGlvbiArPSBwb3dlciAqIChuYW1lWy0tbGVuXSAtICcwJyk7CisJCQlpZiAocG93ZXIgPiAxICYmIGxlbiAmJiBuYW1lW2xlbiAtIDFdID09ICd+JykKKwkJCQluYW1lX3ByZWZpeF9sZW4gPSBsZW4gLSAxOworCQl9CisJfQorCiAJd2hpbGUgKHBhcmVudHMpIHsKKwkJaWYgKG5hbWUpIHsKKwkJCXN0cnVjdCBvYmplY3QgKm9iaiA9ICZwYXJlbnRzLT5pdGVtLT5vYmplY3Q7CisKKwkJCWlmICgrK2NvdW50ZXIgPiAxKQorCQkJCXB1dF9vYmplY3RfbmFtZShvcHRpb25zLCBvYmosICIlc14lZCIsCisJCQkJCW5hbWUsIGNvdW50ZXIpOworCQkJZWxzZSBpZiAoZ2VuZXJhdGlvbiA+IDApCisJCQkJcHV0X29iamVjdF9uYW1lKG9wdGlvbnMsIG9iaiwgIiUuKnN+JWQiLAorCQkJCQluYW1lX3ByZWZpeF9sZW4sIG5hbWUsIGdlbmVyYXRpb24gKyAxKTsKKwkJCWVsc2UKKwkJCQlwdXRfb2JqZWN0X25hbWUob3B0aW9ucywgb2JqLCAiJXNeIiwgbmFtZSk7CisJCX0KIAkJcmVzdWx0ID0gb3B0aW9ucy0+d2Fsaygoc3RydWN0IG9iamVjdCAqKXBhcmVudHMtPml0ZW0sIE9CSl9DT01NSVQsIGRhdGEsIG9wdGlvbnMpOwogCQlpZiAocmVzdWx0IDwgMCkKIAkJCXJldHVybiByZXN1bHQ7CkBAIC0zNTYsOCArNDQ1LDEyIEBACiAKIHN0YXRpYyBpbnQgZnNja193YWxrX3RhZyhzdHJ1Y3QgdGFnICp0YWcsIHZvaWQgKmRhdGEsIHN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnMpCiB7CisJY2hhciAqbmFtZSA9IGdldF9vYmplY3RfbmFtZShvcHRpb25zLCAmdGFnLT5vYmplY3QpOworCiAJaWYgKHBhcnNlX3RhZyh0YWcpKQogCQlyZXR1cm4gLTE7CisJaWYgKG5hbWUpCisJCXB1dF9vYmplY3RfbmFtZShvcHRpb25zLCB0YWctPnRhZ2dlZCwgIiVzIiwgbmFtZSk7CiAJcmV0dXJuIG9wdGlvbnMtPndhbGsodGFnLT50YWdnZWQsIE9CSl9BTlksIGRhdGEsIG9wdGlvbnMpOwogfQogCkBAIC0zNzUsNyArNDY4LDcgQEAKIAljYXNlIE9CSl9UQUc6CiAJCXJldHVybiBmc2NrX3dhbGtfdGFnKChzdHJ1Y3QgdGFnICopb2JqLCBkYXRhLCBvcHRpb25zKTsKIAlkZWZhdWx0OgotCQllcnJvcigiVW5rbm93biBvYmplY3QgdHlwZSBmb3IgJXMiLCBvaWRfdG9faGV4KCZvYmotPm9pZCkpOworCQllcnJvcigiVW5rbm93biBvYmplY3QgdHlwZSBmb3IgJXMiLCBkZXNjcmliZV9vYmplY3Qob3B0aW9ucywgb2JqKSk7CiAJCXJldHVybiAtMTsKIAl9CiB9CkBAIC00MjgsNyArNTIxLDcgQEAKIAogc3RhdGljIGludCBmc2NrX3RyZWUoc3RydWN0IHRyZWUgKml0ZW0sIHN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnMpCiB7Ci0JaW50IHJldHZhbDsKKwlpbnQgcmV0dmFsID0gMDsKIAlpbnQgaGFzX251bGxfc2hhMSA9IDA7CiAJaW50IGhhc19mdWxsX3BhdGggPSAwOwogCWludCBoYXNfZW1wdHlfbmFtZSA9IDA7CkBAIC00NDMsNyArNTM2LDEwIEBACiAJdW5zaWduZWQgb19tb2RlOwogCWNvbnN0IGNoYXIgKm9fbmFtZTsKIAotCWluaXRfdHJlZV9kZXNjKCZkZXNjLCBpdGVtLT5idWZmZXIsIGl0ZW0tPnNpemUpOworCWlmIChpbml0X3RyZWVfZGVzY19nZW50bHkoJmRlc2MsIGl0ZW0tPmJ1ZmZlciwgaXRlbS0+c2l6ZSkpIHsKKwkJcmV0dmFsICs9IHJlcG9ydChvcHRpb25zLCAmaXRlbS0+b2JqZWN0LCBGU0NLX01TR19CQURfVFJFRSwgImNhbm5vdCBiZSBwYXJzZWQgYXMgYSB0cmVlIik7CisJCXJldHVybiByZXR2YWw7CisJfQogCiAJb19tb2RlID0gMDsKIAlvX25hbWUgPSBOVUxMOwpAQCAtNDY0LDcgKzU2MCwxMCBAQAogCQkJICAgICAgIGlzX2hmc19kb3RnaXQobmFtZSkgfHwKIAkJCSAgICAgICBpc19udGZzX2RvdGdpdChuYW1lKSk7CiAJCWhhc196ZXJvX3BhZCB8PSAqKGNoYXIgKilkZXNjLmJ1ZmZlciA9PSAnMCc7Ci0JCXVwZGF0ZV90cmVlX2VudHJ5KCZkZXNjKTsKKwkJaWYgKHVwZGF0ZV90cmVlX2VudHJ5X2dlbnRseSgmZGVzYykpIHsKKwkJCXJldHZhbCArPSByZXBvcnQob3B0aW9ucywgJml0ZW0tPm9iamVjdCwgRlNDS19NU0dfQkFEX1RSRUUsICJjYW5ub3QgYmUgcGFyc2VkIGFzIGEgdHJlZSIpOworCQkJYnJlYWs7CisJCX0KIAogCQlzd2l0Y2ggKG1vZGUpIHsKIAkJLyoKQEAgLTUwNSw3ICs2MDQsNiBAQAogCQlvX25hbWUgPSBuYW1lOwogCX0KIAotCXJldHZhbCA9IDA7CiAJaWYgKGhhc19udWxsX3NoYTEpCiAJCXJldHZhbCArPSByZXBvcnQob3B0aW9ucywgJml0ZW0tPm9iamVjdCwgRlNDS19NU0dfTlVMTF9TSEExLCAiY29udGFpbnMgZW50cmllcyBwb2ludGluZyB0byBudWxsIHNoYTEiKTsKIAlpZiAoaGFzX2Z1bGxfcGF0aCkKQEAgLTgxOCwxMiArOTE2LDEzIEBACiAJCQkgIG9iai0+dHlwZSk7CiB9CiAKLWludCBmc2NrX2Vycm9yX2Z1bmN0aW9uKHN0cnVjdCBvYmplY3QgKm9iaiwgaW50IG1zZ190eXBlLCBjb25zdCBjaGFyICptZXNzYWdlKQoraW50IGZzY2tfZXJyb3JfZnVuY3Rpb24oc3RydWN0IGZzY2tfb3B0aW9ucyAqbywKKwlzdHJ1Y3Qgb2JqZWN0ICpvYmosIGludCBtc2dfdHlwZSwgY29uc3QgY2hhciAqbWVzc2FnZSkKIHsKIAlpZiAobXNnX3R5cGUgPT0gRlNDS19XQVJOKSB7Ci0JCXdhcm5pbmcoIm9iamVjdCAlczogJXMiLCBvaWRfdG9faGV4KCZvYmotPm9pZCksIG1lc3NhZ2UpOworCQl3YXJuaW5nKCJvYmplY3QgJXM6ICVzIiwgZGVzY3JpYmVfb2JqZWN0KG8sIG9iaiksIG1lc3NhZ2UpOwogCQlyZXR1cm4gMDsKIAl9Ci0JZXJyb3IoIm9iamVjdCAlczogJXMiLCBvaWRfdG9faGV4KCZvYmotPm9pZCksIG1lc3NhZ2UpOworCWVycm9yKCJvYmplY3QgJXM6ICVzIiwgZGVzY3JpYmVfb2JqZWN0KG8sIG9iaiksIG1lc3NhZ2UpOwogCXJldHVybiAxOwogfQpkaWZmIC0tZ2l0IGEvZnNjay5oIGIvZnNjay5oCmluZGV4IGRkZWQ4NGIuLjE4OTFjMTggMTAwNjQ0Ci0tLSBhL2ZzY2suaAorKysgYi9mc2NrLmgKQEAgLTIzLDkgKzIzLDExIEBACiB0eXBlZGVmIGludCAoKmZzY2tfd2Fsa19mdW5jKShzdHJ1Y3Qgb2JqZWN0ICpvYmosIGludCB0eXBlLCB2b2lkICpkYXRhLCBzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRpb25zKTsKIAogLyogY2FsbGJhY2sgZm9yIGZzY2tfb2JqZWN0LCB0eXBlIGlzIEZTQ0tfRVJST1Igb3IgRlNDS19XQVJOICovCi10eXBlZGVmIGludCAoKmZzY2tfZXJyb3IpKHN0cnVjdCBvYmplY3QgKm9iaiwgaW50IHR5cGUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOwordHlwZWRlZiBpbnQgKCpmc2NrX2Vycm9yKShzdHJ1Y3QgZnNja19vcHRpb25zICpvLAorCXN0cnVjdCBvYmplY3QgKm9iaiwgaW50IHR5cGUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOwogCi1pbnQgZnNja19lcnJvcl9mdW5jdGlvbihzdHJ1Y3Qgb2JqZWN0ICpvYmosIGludCB0eXBlLCBjb25zdCBjaGFyICptZXNzYWdlKTsKK2ludCBmc2NrX2Vycm9yX2Z1bmN0aW9uKHN0cnVjdCBmc2NrX29wdGlvbnMgKm8sCisJc3RydWN0IG9iamVjdCAqb2JqLCBpbnQgdHlwZSwgY29uc3QgY2hhciAqbWVzc2FnZSk7CiAKIHN0cnVjdCBmc2NrX29wdGlvbnMgewogCWZzY2tfd2Fsa19mdW5jIHdhbGs7CkBAIC0zMyw2ICszNSw3IEBACiAJdW5zaWduZWQgc3RyaWN0OjE7CiAJaW50ICptc2dfdHlwZTsKIAlzdHJ1Y3Qgc2hhMV9hcnJheSAqc2tpcGxpc3Q7CisJc3RydWN0IGRlY29yYXRpb24gKm9iamVjdF9uYW1lczsKIH07CiAKICNkZWZpbmUgRlNDS19PUFRJT05TX0RFRkFVTFQgeyBOVUxMLCBmc2NrX2Vycm9yX2Z1bmN0aW9uLCAwLCBOVUxMIH0KZGlmZiAtLWdpdCBhL2dldHRleHQuYyBiL2dldHRleHQuYwppbmRleCBhMjY4YTJjLi5kYjcyN2VhIDEwMDY0NAotLS0gYS9nZXR0ZXh0LmMKKysrIGIvZ2V0dGV4dC5jCkBAIC0xOCw2ICsxOCw4IEBACiAjCWVuZGlmCiAjZW5kaWYKIAorc3RhdGljIGNvbnN0IGNoYXIgKmNoYXJzZXQ7CisKIC8qCiAgKiBHdWVzcyB0aGUgdXNlcidzIHByZWZlcnJlZCBsYW5ndWFnZXMgZnJvbSB0aGUgdmFsdWUgaW4gTEFOR1VBR0UgZW52aXJvbm1lbnQKICAqIHZhcmlhYmxlIGFuZCBMQ19NRVNTQUdFUyBsb2NhbGUgY2F0ZWdvcnkgaWYgTk9fR0VUVEVYVCBpcyBub3QgZGVmaW5lZC4KQEAgLTY1LDcgKzY3LDYgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgY29uc3QgY2hhciAqY2hhcnNldDsKIHN0YXRpYyB2b2lkIGluaXRfZ2V0dGV4dF9jaGFyc2V0KGNvbnN0IGNoYXIgKmRvbWFpbikKIHsKIAkvKgpAQCAtMTcyLDggKzE3MywyNyBAQAogewogCXN0YXRpYyBpbnQgaXNfdXRmOCA9IC0xOwogCWlmIChpc191dGY4ID09IC0xKQotCQlpc191dGY4ID0gIXN0cmNtcChjaGFyc2V0LCAiVVRGLTgiKTsKKwkJaXNfdXRmOCA9IGlzX3V0ZjhfbG9jYWxlKCk7CiAKIAlyZXR1cm4gaXNfdXRmOCA/IHV0Zjhfc3Ryd2lkdGgocykgOiBzdHJsZW4ocyk7CiB9CiAjZW5kaWYKKworaW50IGlzX3V0ZjhfbG9jYWxlKHZvaWQpCit7CisjaWZkZWYgTk9fR0VUVEVYVAorCWlmICghY2hhcnNldCkgeworCQljb25zdCBjaGFyICplbnYgPSBnZXRlbnYoIkxDX0FMTCIpOworCQlpZiAoIWVudiB8fCAhKmVudikKKwkJCWVudiA9IGdldGVudigiTENfQ1RZUEUiKTsKKwkJaWYgKCFlbnYgfHwgISplbnYpCisJCQllbnYgPSBnZXRlbnYoIkxBTkciKTsKKwkJaWYgKCFlbnYpCisJCQllbnYgPSAiIjsKKwkJaWYgKHN0cmNocihlbnYsICcuJykpCisJCQllbnYgPSBzdHJjaHIoZW52LCAnLicpICsgMTsKKwkJY2hhcnNldCA9IHhzdHJkdXAoZW52KTsKKwl9CisjZW5kaWYKKwlyZXR1cm4gaXNfZW5jb2RpbmdfdXRmOChjaGFyc2V0KTsKK30KZGlmZiAtLWdpdCBhL2dldHRleHQuaCBiL2dldHRleHQuaAppbmRleCAzMzY5NmE0Li43ZWVlNjRhIDEwMDY0NAotLS0gYS9nZXR0ZXh0LmgKKysrIGIvZ2V0dGV4dC5oCkBAIC05MCw1ICs5MCw2IEBACiAjZW5kaWYKIAogY29uc3QgY2hhciAqZ2V0X3ByZWZlcnJlZF9sYW5ndWFnZXModm9pZCk7CitleHRlcm4gaW50IGlzX3V0ZjhfbG9jYWxlKHZvaWQpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2dpdC1hZGQtLWludGVyYWN0aXZlLnBlcmwgYi9naXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsCmluZGV4IDgyMmY4NTcuLmVlM2Q4MTIgMTAwNzU1Ci0tLSBhL2dpdC1hZGQtLWludGVyYWN0aXZlLnBlcmwKKysrIGIvZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybApAQCAtNDUsNiArNDUsOCBAQAogbXkgJG5vcm1hbF9jb2xvciA9ICRyZXBvLT5nZXRfY29sb3IoIiIsICJyZXNldCIpOwogCiBteSAkZGlmZl9hbGdvcml0aG0gPSAkcmVwby0+Y29uZmlnKCdkaWZmLmFsZ29yaXRobScpOworbXkgJGRpZmZfaW5kZW50X2hldXJpc3RpYyA9ICRyZXBvLT5jb25maWdfYm9vbCgnZGlmZi5pbmRlbnRoZXVyaXN0aWMnKTsKK215ICRkaWZmX2NvbXBhY3Rpb25faGV1cmlzdGljID0gJHJlcG8tPmNvbmZpZ19ib29sKCdkaWZmLmNvbXBhY3Rpb25oZXVyaXN0aWMnKTsKIG15ICRkaWZmX2ZpbHRlciA9ICRyZXBvLT5jb25maWcoJ2ludGVyYWN0aXZlLmRpZmZmaWx0ZXInKTsKIAogbXkgJHVzZV9yZWFka2V5ID0gMDsKQEAgLTc0OSw2ICs3NTEsMTEgQEAKIAlpZiAoZGVmaW5lZCAkZGlmZl9hbGdvcml0aG0pIHsKIAkJc3BsaWNlIEBkaWZmX2NtZCwgMSwgMCwgIi0tZGlmZi1hbGdvcml0aG09JHtkaWZmX2FsZ29yaXRobX0iOwogCX0KKwlpZiAoJGRpZmZfaW5kZW50X2hldXJpc3RpYykgeworCQlzcGxpY2UgQGRpZmZfY21kLCAxLCAwLCAiLS1pbmRlbnQtaGV1cmlzdGljIjsKKwl9IGVsc2lmICgkZGlmZl9jb21wYWN0aW9uX2hldXJpc3RpYykgeworCQlzcGxpY2UgQGRpZmZfY21kLCAxLCAwLCAiLS1jb21wYWN0aW9uLWhldXJpc3RpYyI7CisJfQogCWlmIChkZWZpbmVkICRwYXRjaF9tb2RlX3JldmlzaW9uKSB7CiAJCXB1c2ggQGRpZmZfY21kLCBnZXRfZGlmZl9yZWZlcmVuY2UoJHBhdGNoX21vZGVfcmV2aXNpb24pOwogCX0KZGlmZiAtLWdpdCBhL2dpdC1iaXNlY3Quc2ggYi9naXQtYmlzZWN0LnNoCmluZGV4IDVkMWNiMDAuLmFlM2NiMDEgMTAwNzU1Ci0tLSBhL2dpdC1iaXNlY3Quc2gKKysrIGIvZ2l0LWJpc2VjdC5zaApAQCAtMzMsNyArMzMsNiBAQAogCiBPUFRJT05TX1NQRUM9CiAuIGdpdC1zaC1zZXR1cAotLiBnaXQtc2gtaTE4bgogCiBfeDQwPSdbMC05YS1mXVswLTlhLWZdWzAtOWEtZl1bMC05YS1mXVswLTlhLWZdJwogX3g0MD0iJF94NDAkX3g0MCRfeDQwJF94NDAkX3g0MCRfeDQwJF94NDAkX3g0MCIKQEAgLTI3NSwxMCArMjc0LDExIEBACiAJY2hlY2tfYW5kX3NldF90ZXJtcyAkc3RhdGUKIAljYXNlICIkIywkc3RhdGUiIGluCiAJMCwqKQotCQlkaWUgIiQoZ2V0dGV4dCAiUGxlYXNlIGNhbGwgJ2Jpc2VjdF9zdGF0ZScgd2l0aCBhdCBsZWFzdCBvbmUgYXJndW1lbnQuIikiIDs7CisJCWRpZSAiUGxlYXNlIGNhbGwgJ2Jpc2VjdF9zdGF0ZScgd2l0aCBhdCBsZWFzdCBvbmUgYXJndW1lbnQuIiA7OwogCTEsIiRURVJNX0JBRCJ8MSwiJFRFUk1fR09PRCJ8MSxza2lwKQotCQlyZXY9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5ICQoYmlzZWN0X2hlYWQpKSB8fAotCQkJZGllICIkKGdldHRleHQgIkJhZCByZXYgaW5wdXQ6ICQoYmlzZWN0X2hlYWQpIikiCisJCWJpc2VjdGVkX2hlYWQ9JChiaXNlY3RfaGVhZCkKKwkJcmV2PSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAiJGJpc2VjdGVkX2hlYWQiKSB8fAorCQkJZGllICIkKGV2YWxfZ2V0dGV4dCAiQmFkIHJldiBpbnB1dDogXCRiaXNlY3RlZF9oZWFkIikiCiAJCWJpc2VjdF93cml0ZSAiJHN0YXRlIiAiJHJldiIKIAkJY2hlY2tfZXhwZWN0ZWRfcmV2cyAiJHJldiIgOzsKIAkyLCIkVEVSTV9CQUQifCosIiRURVJNX0dPT0QifCosc2tpcCkKZGlmZiAtLWdpdCBhL2dpdC1jb21wYXQtdXRpbC5oIGIvZ2l0LWNvbXBhdC11dGlsLmgKaW5kZXggZjViNWQyZS4uODcyMzdiMCAxMDA2NDQKLS0tIGEvZ2l0LWNvbXBhdC11dGlsLmgKKysrIGIvZ2l0LWNvbXBhdC11dGlsLmgKQEAgLTQzNiwxMCArNDM2LDE0IEBACiAJcmV0dXJuIC0xOwogfQogI2RlZmluZSBlcnJvciguLi4pIChlcnJvcihfX1ZBX0FSR1NfXyksIGNvbnN0X2Vycm9yKCkpCisjZGVmaW5lIGVycm9yX2Vycm5vKC4uLikgKGVycm9yX2Vycm5vKF9fVkFfQVJHU19fKSwgY29uc3RfZXJyb3IoKSkKICNlbmRpZgogCiBleHRlcm4gdm9pZCBzZXRfZGllX3JvdXRpbmUoTk9SRVRVUk5fUFRSIHZvaWQgKCpyb3V0aW5lKShjb25zdCBjaGFyICplcnIsIHZhX2xpc3QgcGFyYW1zKSk7CiBleHRlcm4gdm9pZCBzZXRfZXJyb3Jfcm91dGluZSh2b2lkICgqcm91dGluZSkoY29uc3QgY2hhciAqZXJyLCB2YV9saXN0IHBhcmFtcykpOworZXh0ZXJuIHZvaWQgKCpnZXRfZXJyb3Jfcm91dGluZSh2b2lkKSkoY29uc3QgY2hhciAqZXJyLCB2YV9saXN0IHBhcmFtcyk7CitleHRlcm4gdm9pZCBzZXRfd2Fybl9yb3V0aW5lKHZvaWQgKCpyb3V0aW5lKShjb25zdCBjaGFyICp3YXJuLCB2YV9saXN0IHBhcmFtcykpOworZXh0ZXJuIHZvaWQgKCpnZXRfd2Fybl9yb3V0aW5lKHZvaWQpKShjb25zdCBjaGFyICp3YXJuLCB2YV9saXN0IHBhcmFtcyk7CiBleHRlcm4gdm9pZCBzZXRfZGllX2lzX3JlY3Vyc2luZ19yb3V0aW5lKGludCAoKnJvdXRpbmUpKHZvaWQpKTsKIGV4dGVybiB2b2lkIHNldF9lcnJvcl9oYW5kbGUoRklMRSAqKTsKIApAQCAtNDc0LDYgKzQ3OCwyMyBAQAogfQogCiAvKgorICogTGlrZSBza2lwX3ByZWZpeCwgYnV0IHByb21pc2VzIG5ldmVyIHRvIHJlYWQgcGFzdCAibGVuIiBieXRlcyBvZiB0aGUgaW5wdXQKKyAqIGJ1ZmZlciwgYW5kIHJldHVybnMgdGhlIHJlbWFpbmluZyBudW1iZXIgb2YgYnl0ZXMgaW4gIm91dCIgdmlhICJvdXRsZW4iLgorICovCitzdGF0aWMgaW5saW5lIGludCBza2lwX3ByZWZpeF9tZW0oY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuLAorCQkJCSAgY29uc3QgY2hhciAqcHJlZml4LAorCQkJCSAgY29uc3QgY2hhciAqKm91dCwgc2l6ZV90ICpvdXRsZW4pCit7CisJc2l6ZV90IHByZWZpeF9sZW4gPSBzdHJsZW4ocHJlZml4KTsKKwlpZiAocHJlZml4X2xlbiA8PSBsZW4gJiYgIW1lbWNtcChidWYsIHByZWZpeCwgcHJlZml4X2xlbikpIHsKKwkJKm91dCA9IGJ1ZiArIHByZWZpeF9sZW47CisJCSpvdXRsZW4gPSBsZW4gLSBwcmVmaXhfbGVuOworCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCiAgKiBJZiBidWYgZW5kcyB3aXRoIHN1ZmZpeCwgcmV0dXJuIDEgYW5kIHN1YnRyYWN0IHRoZSBsZW5ndGggb2YgdGhlIHN1ZmZpeAogICogZnJvbSAqbGVuLiBPdGhlcndpc2UsIHJldHVybiAwIGFuZCBsZWF2ZSAqbGVuIHVudG91Y2hlZC4KICAqLwpAQCAtNjQ2LDEwICs2NjcsMjIgQEAKICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICpuZWVkbGUsIHNpemVfdCBuZWVkbGVsZW4pOwogI2VuZGlmCiAKKyNpZmRlZiBPVkVSUklERV9TVFJEVVAKKyNpZmRlZiBzdHJkdXAKKyN1bmRlZiBzdHJkdXAKKyNlbmRpZgorI2RlZmluZSBzdHJkdXAgZ2l0c3RyZHVwCitjaGFyICpnaXRzdHJkdXAoY29uc3QgY2hhciAqcyk7CisjZW5kaWYKKwogI2lmZGVmIE5PX0dFVFBBR0VTSVpFCiAjZGVmaW5lIGdldHBhZ2VzaXplKCkgc3lzY29uZihfU0NfUEFHRVNJWkUpCiAjZW5kaWYKIAorI2lmbmRlZiBPX0NMT0VYRUMKKyNkZWZpbmUgT19DTE9FWEVDIDAKKyNlbmRpZgorCiAjaWZkZWYgRlJFQURfUkVBRFNfRElSRUNUT1JJRVMKICNpZmRlZiBmb3BlbgogI3VuZGVmIGZvcGVuCkBAIC03NjgsNiArODAxLDE0IEBACiAjZGVmaW5lIEFMTE9DX0FSUkFZKHgsIGFsbG9jKSAoeCkgPSB4bWFsbG9jKHN0X211bHQoc2l6ZW9mKCooeCkpLCAoYWxsb2MpKSkKICNkZWZpbmUgUkVBTExPQ19BUlJBWSh4LCBhbGxvYykgKHgpID0geHJlYWxsb2MoKHgpLCBzdF9tdWx0KHNpemVvZigqKHgpKSwgKGFsbG9jKSkpCiAKKyNkZWZpbmUgQ09QWV9BUlJBWShkc3QsIHNyYywgbikgY29weV9hcnJheSgoZHN0KSwgKHNyYyksIChuKSwgc2l6ZW9mKCooZHN0KSkgKyBcCisJQlVJTERfQVNTRVJUX09SX1pFUk8oc2l6ZW9mKCooZHN0KSkgPT0gc2l6ZW9mKCooc3JjKSkpKQorc3RhdGljIGlubGluZSB2b2lkIGNvcHlfYXJyYXkodm9pZCAqZHN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBuLCBzaXplX3Qgc2l6ZSkKK3sKKwlpZiAobikKKwkJbWVtY3B5KGRzdCwgc3JjLCBzdF9tdWx0KHNpemUsIG4pKTsKK30KKwogLyoKICAqIFRoZXNlIGZ1bmN0aW9ucyBoZWxwIHlvdSBhbGxvY2F0ZSBzdHJ1Y3RzIHdpdGggZmxleCBhcnJheXMsIGFuZCBjb3B5CiAgKiB0aGUgZGF0YSBkaXJlY3RseSBpbnRvIHRoZSBhcnJheS4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYWQ6CkBAIC03OTgsNyArODM5LDcgQEAKICAqIHlvdSBjYW4gZG86CiAgKgogICogICBzdHJ1Y3QgZm9vICpmOwotICogICBGTEVYX0FMTE9DX1NUUihmLCBuYW1lLCBzcmMpOworICogICBGTEVYUFRSX0FMTE9DX1NUUihmLCBuYW1lLCBzcmMpOwogICoKICAqIGFuZCAibmFtZSIgd2lsbCBwb2ludCB0byBhIGJsb2NrIG9mIG1lbW9yeSBhZnRlciB0aGUgc3RydWN0LCB3aGljaCB3aWxsIGJlCiAgKiBmcmVlZCBhbG9uZyB3aXRoIHRoZSBzdHJ1Y3QgKGJ1dCB0aGUgcG9pbnRlciBjYW4gYmUgcmVwb2ludGVkIGFueXdoZXJlKS4KQEAgLTgxMCwxMSArODUxLDE0IEBACiAgKiB0aW1lcywgYW5kIGl0IG11c3QgYmUgYXNzaWduYWJsZSBhcyBhbiBsdmFsdWUuCiAgKi8KICNkZWZpbmUgRkxFWF9BTExPQ19NRU0oeCwgZmxleG5hbWUsIGJ1ZiwgbGVuKSBkbyB7IFwKLQkoeCkgPSBOVUxMOyAvKiBzaWxlbmNlIC1XdW5pbml0aWFsaXplZCBmb3Igb2Zmc2V0IGNhbGN1bGF0aW9uICovIFwKLQkoeCkgPSB4YWxsb2NfZmxleChzaXplb2YoKih4KSksIChjaGFyICopKCYoKHgpLT5mbGV4bmFtZSkpIC0gKGNoYXIgKikoeCksIChidWYpLCAobGVuKSk7IFwKKwlzaXplX3QgZmxleF9hcnJheV9sZW5fID0gKGxlbik7IFwKKwkoeCkgPSB4Y2FsbG9jKDEsIHN0X2FkZDMoc2l6ZW9mKCooeCkpLCBmbGV4X2FycmF5X2xlbl8sIDEpKTsgXAorCW1lbWNweSgodm9pZCAqKSh4KS0+ZmxleG5hbWUsIChidWYpLCBmbGV4X2FycmF5X2xlbl8pOyBcCiB9IHdoaWxlICgwKQogI2RlZmluZSBGTEVYUFRSX0FMTE9DX01FTSh4LCBwdHJuYW1lLCBidWYsIGxlbikgZG8geyBcCi0JKHgpID0geGFsbG9jX2ZsZXgoc2l6ZW9mKCooeCkpLCBzaXplb2YoKih4KSksIChidWYpLCAobGVuKSk7IFwKKwlzaXplX3QgZmxleF9hcnJheV9sZW5fID0gKGxlbik7IFwKKwkoeCkgPSB4Y2FsbG9jKDEsIHN0X2FkZDMoc2l6ZW9mKCooeCkpLCBmbGV4X2FycmF5X2xlbl8sIDEpKTsgXAorCW1lbWNweSgoeCkgKyAxLCAoYnVmKSwgZmxleF9hcnJheV9sZW5fKTsgXAogCSh4KS0+cHRybmFtZSA9ICh2b2lkICopKCh4KSsxKTsgXAogfSB3aGlsZSgwKQogI2RlZmluZSBGTEVYX0FMTE9DX1NUUih4LCBmbGV4bmFtZSwgc3RyKSBcCkBAIC04MjIsMTQgKzg2Niw2IEBACiAjZGVmaW5lIEZMRVhQVFJfQUxMT0NfU1RSKHgsIHB0cm5hbWUsIHN0cikgXAogCUZMRVhQVFJfQUxMT0NfTUVNKCh4KSwgcHRybmFtZSwgKHN0ciksIHN0cmxlbihzdHIpKQogCi1zdGF0aWMgaW5saW5lIHZvaWQgKnhhbGxvY19mbGV4KHNpemVfdCBiYXNlX2xlbiwgc2l6ZV90IG9mZnNldCwKLQkJCQljb25zdCB2b2lkICpzcmMsIHNpemVfdCBzcmNfbGVuKQotewotCXVuc2lnbmVkIGNoYXIgKnJldCA9IHhjYWxsb2MoMSwgc3RfYWRkMyhiYXNlX2xlbiwgc3JjX2xlbiwgMSkpOwotCW1lbWNweShyZXQgKyBvZmZzZXQsIHNyYywgc3JjX2xlbik7Ci0JcmV0dXJuIHJldDsKLX0KLQogc3RhdGljIGlubGluZSBjaGFyICp4c3RyZHVwX29yX251bGwoY29uc3QgY2hhciAqc3RyKQogewogCXJldHVybiBzdHIgPyB4c3RyZHVwKHN0cikgOiBOVUxMOwpAQCAtOTQ0LDYgKzk4MCwyNyBAQAogI2RlZmluZSBxc29ydCBnaXRfcXNvcnQKICNlbmRpZgogCisjZGVmaW5lIFFTT1JUKGJhc2UsIG4sIGNvbXBhcikgc2FuZV9xc29ydCgoYmFzZSksIChuKSwgc2l6ZW9mKCooYmFzZSkpLCBjb21wYXIpCitzdGF0aWMgaW5saW5lIHZvaWQgc2FuZV9xc29ydCh2b2lkICpiYXNlLCBzaXplX3Qgbm1lbWIsIHNpemVfdCBzaXplLAorCQkJICAgICAgaW50KCpjb21wYXIpKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKSkKK3sKKwlpZiAobm1lbWIgPiAxKQorCQlxc29ydChiYXNlLCBubWVtYiwgc2l6ZSwgY29tcGFyKTsKK30KKworI2lmbmRlZiBSRUdfU1RBUlRFTkQKKyNlcnJvciAiR2l0IHJlcXVpcmVzIFJFR19TVEFSVEVORCBzdXBwb3J0LiBDb21waWxlIHdpdGggTk9fUkVHRVg9TmVlZHNTdGFydEVuZCIKKyNlbmRpZgorCitzdGF0aWMgaW5saW5lIGludCByZWdleGVjX2J1Zihjb25zdCByZWdleF90ICpwcmVnLCBjb25zdCBjaGFyICpidWYsIHNpemVfdCBzaXplLAorCQkJICAgICAgc2l6ZV90IG5tYXRjaCwgcmVnbWF0Y2hfdCBwbWF0Y2hbXSwgaW50IGVmbGFncykKK3sKKwlhc3NlcnQobm1hdGNoID4gMCAmJiBwbWF0Y2gpOworCXBtYXRjaFswXS5ybV9zbyA9IDA7CisJcG1hdGNoWzBdLnJtX2VvID0gc2l6ZTsKKwlyZXR1cm4gcmVnZXhlYyhwcmVnLCBidWYsIG5tYXRjaCwgcG1hdGNoLCBlZmxhZ3MgfCBSRUdfU1RBUlRFTkQpOworfQorCiAjaWZuZGVmIERJUl9IQVNfQlNEX0dST1VQX1NFTUFOVElDUwogIyBkZWZpbmUgRk9SQ0VfRElSX1NFVF9HSUQgU19JU0dJRAogI2Vsc2UKZGlmZiAtLWdpdCBhL2dpdC1kaWZmdG9vbC0taGVscGVyLnNoIGIvZ2l0LWRpZmZ0b29sLS1oZWxwZXIuc2gKaW5kZXggODRkNmNjMC4uN2JmYjY3MyAxMDA3NTUKLS0tIGEvZ2l0LWRpZmZ0b29sLS1oZWxwZXIuc2gKKysrIGIvZ2l0LWRpZmZ0b29sLS1oZWxwZXIuc2gKQEAgLTg2LDYgKzg2LDEzIEBACiAJZG8KIAkJbGF1bmNoX21lcmdlX3Rvb2wgIiQxIiAiJDIiICIkNSIKIAkJc3RhdHVzPSQ/CisJCWlmIHRlc3QgJHN0YXR1cyAtZ2UgMTI2CisJCXRoZW4KKwkJCSMgQ29tbWFuZCBub3QgZm91bmQgKDEyNyksIG5vdCBleGVjdXRhYmxlICgxMjYpIG9yCisJCQkjIGV4aXRlZCB2aWEgYSBzaWduYWwgKD49IDEyOCkuCisJCQlleGl0ICRzdGF0dXMKKwkJZmkKKwogCQlpZiB0ZXN0ICIkc3RhdHVzIiAhPSAwICYmCiAJCQl0ZXN0ICIkR0lUX0RJRkZUT09MX1RSVVNUX0VYSVRfQ09ERSIgPSB0cnVlCiAJCXRoZW4KZGlmZiAtLWdpdCBhL2dpdC1kaWZmdG9vbC5wZXJsIGIvZ2l0LWRpZmZ0b29sLnBlcmwKaW5kZXggZWJkMTNiYS4uYTU3OTBkMCAxMDA3NTUKLS0tIGEvZ2l0LWRpZmZ0b29sLnBlcmwKKysrIGIvZ2l0LWRpZmZ0b29sLnBlcmwKQEAgLTM3LDE0ICszNyw2IEBACiAJZXhpdCgkZXhpdGNvZGUpOwogfQogCi1zdWIgZmluZF93b3JrdHJlZQotewotCSMgR2l0LT5yZXBvc2l0b3J5LT53Y19wYXRoKCkgZG9lcyBub3QgaG9ub3IgY2hhbmdlcyB0byB0aGUgd29ya2luZwotCSMgdHJlZSBsb2NhdGlvbiBtYWRlIGJ5ICRFTlZ7R0lUX1dPUktfVFJFRX0gb3IgdGhlICdjb3JlLndvcmt0cmVlJwotCSMgY29uZmlnIHZhcmlhYmxlLgotCXJldHVybiBHaXQ6OmNvbW1hbmRfb25lbGluZSgncmV2LXBhcnNlJywgJy0tc2hvdy10b3BsZXZlbCcpOwotfQotCiBzdWIgcHJpbnRfdG9vbF9oZWxwCiB7CiAJIyBTZWUgdGhlIGNvbW1lbnQgYXQgdGhlIGJvdHRvbSBvZiBmaWxlX2RpZmYoKSBmb3IgdGhlIHJlYXNvbiBiZWhpbmQKQEAgLTY3LDE0ICs1OSwxNCBAQAogCiBzdWIgdXNlX3d0X2ZpbGUKIHsKLQlteSAoJHJlcG8sICR3b3JrZGlyLCAkZmlsZSwgJHNoYTEpID0gQF87CisJbXkgKCR3b3JrZGlyLCAkZmlsZSwgJHNoYTEpID0gQF87CiAJbXkgJG51bGxfc2hhMSA9ICcwJyB4IDQwOwogCiAJaWYgKC1sICIkd29ya2Rpci8kZmlsZSIgfHwgISAtZSBfKSB7CiAJCXJldHVybiAoMCwgJG51bGxfc2hhMSk7CiAJfQogCi0JbXkgJHd0X3NoYTEgPSAkcmVwby0+Y29tbWFuZF9vbmVsaW5lKCdoYXNoLW9iamVjdCcsICIkd29ya2Rpci8kZmlsZSIpOworCW15ICR3dF9zaGExID0gR2l0Ojpjb21tYW5kX29uZWxpbmUoJ2hhc2gtb2JqZWN0JywgIiR3b3JrZGlyLyRmaWxlIik7CiAJbXkgJHVzZSA9ICgkc2hhMSBlcSAkbnVsbF9zaGExKSB8fCAoJHNoYTEgZXEgJHd0X3NoYTEpOwogCXJldHVybiAoJHVzZSwgJHd0X3NoYTEpOwogfQpAQCAtODMsMjAgKzc1LDE3IEBACiB7CiAJbXkgKCRyZXBvX3BhdGgsICRpbmRleCwgJHdvcmt0cmVlKSA9IEBfOwogCSRFTlZ7R0lUX0lOREVYX0ZJTEV9ID0gJGluZGV4OwotCSRFTlZ7R0lUX1dPUktfVFJFRX0gPSAkd29ya3RyZWU7Ci0JbXkgJG11c3RfdW5zZXRfZ2l0X2RpciA9IDA7Ci0JaWYgKG5vdCBkZWZpbmVkKCRFTlZ7R0lUX0RJUn0pKSB7Ci0JCSRtdXN0X3Vuc2V0X2dpdF9kaXIgPSAxOwotCQkkRU5We0dJVF9ESVJ9ID0gJHJlcG9fcGF0aDsKLQl9CiAKLQlteSBAcmVmcmVzaGFyZ3MgPSBxdy91cGRhdGUtaW5kZXggLS1yZWFsbHktcmVmcmVzaCAtcSAtLXVubWVyZ2VkLzsKLQlteSBAZ2l0YXJncyA9IHF3L2RpZmYtZmlsZXMgLS1uYW1lLW9ubHkgLXovOworCW15IEBnaXRhcmdzID0gKCctLWdpdC1kaXInLCAkcmVwb19wYXRoLCAnLS13b3JrLXRyZWUnLCAkd29ya3RyZWUpOworCW15IEByZWZyZXNoYXJncyA9ICgKKwkJQGdpdGFyZ3MsICd1cGRhdGUtaW5kZXgnLAorCQknLS1yZWFsbHktcmVmcmVzaCcsICctcScsICctLXVubWVyZ2VkJyk7CiAJdHJ5IHsKIAkJR2l0Ojpjb21tYW5kX29uZWxpbmUoQHJlZnJlc2hhcmdzKTsKIAl9IGNhdGNoIEdpdDo6RXJyb3I6OkNvbW1hbmQgd2l0aCB7fTsKIAotCW15ICRsaW5lID0gR2l0Ojpjb21tYW5kX29uZWxpbmUoQGdpdGFyZ3MpOworCW15IEBkaWZmYXJncyA9IChAZ2l0YXJncywgJ2RpZmYtZmlsZXMnLCAnLS1uYW1lLW9ubHknLCAnLXonKTsKKwlteSAkbGluZSA9IEdpdDo6Y29tbWFuZF9vbmVsaW5lKEBkaWZmYXJncyk7CiAJbXkgQGZpbGVzOwogCWlmIChkZWZpbmVkICRsaW5lKSB7CiAJCUBmaWxlcyA9IHNwbGl0KCdcMCcsICRsaW5lKTsKQEAgLTEwNSwyNiArOTQsMTUgQEAKIAl9CiAKIAlkZWxldGUoJEVOVntHSVRfSU5ERVhfRklMRX0pOwotCWRlbGV0ZSgkRU5We0dJVF9XT1JLX1RSRUV9KTsKLQlkZWxldGUoJEVOVntHSVRfRElSfSkgaWYgKCRtdXN0X3Vuc2V0X2dpdF9kaXIpOwogCiAJcmV0dXJuIG1hcCB7ICRfID0+IDEgfSBAZmlsZXM7CiB9CiAKIHN1YiBzZXR1cF9kaXJfZGlmZgogewotCW15ICgkcmVwbywgJHdvcmtkaXIsICRzeW1saW5rcykgPSBAXzsKLQotCSMgUnVuIHRoZSBkaWZmOyBleGl0IGltbWVkaWF0ZWx5IGlmIG5vIGRpZmYgZm91bmQKLQkjICdSZXBvc2l0b3J5JyBhbmQgJ1dvcmtpbmdDb3B5JyBtdXN0IGJlIGV4cGxpY2l0bHkgc2V0IHRvIGluc3VyZSB0aGF0Ci0JIyBpZiAkR0lUX0RJUiBhbmQgJEdJVF9XT1JLX1RSRUUgYXJlIHNldCBpbiBFTlYsIHRoZXkgYXJlIGFjdHVhbGx5IHVzZWQKLQkjIGJ5IEdpdC0+cmVwb3NpdG9yeS0+Y29tbWFuZCouCi0JbXkgJHJlcG9fcGF0aCA9ICRyZXBvLT5yZXBvX3BhdGgoKTsKLQlteSAlcmVwb19hcmdzID0gKFJlcG9zaXRvcnkgPT4gJHJlcG9fcGF0aCwgV29ya2luZ0NvcHkgPT4gJHdvcmtkaXIpOwotCW15ICRkaWZmcmVwbyA9IEdpdC0+cmVwb3NpdG9yeSglcmVwb19hcmdzKTsKLQorCW15ICgkd29ya2RpciwgJHN5bWxpbmtzKSA9IEBfOwogCW15IEBnaXRhcmdzID0gKCdkaWZmJywgJy0tcmF3JywgJy0tbm8tYWJicmV2JywgJy16JywgQEFSR1YpOwotCW15ICRkaWZmcnRuID0gJGRpZmZyZXBvLT5jb21tYW5kX29uZWxpbmUoQGdpdGFyZ3MpOworCW15ICRkaWZmcnRuID0gR2l0Ojpjb21tYW5kX29uZWxpbmUoQGdpdGFyZ3MpOwogCWV4aXQoMCkgdW5sZXNzIGRlZmluZWQoJGRpZmZydG4pOwogCiAJIyBCdWlsZCBpbmRleCBpbmZvIGZvciBsZWZ0IGFuZCByaWdodCBzaWRlcyBvZiB0aGUgZGlmZgpAQCAtMTc2LDEyICsxNTQsMTIgQEAKIAogCQlpZiAoJGxtb2RlIGVxICRzeW1saW5rX21vZGUpIHsKIAkJCSRzeW1saW5reyRzcmNfcGF0aH17bGVmdH0gPQotCQkJCSRkaWZmcmVwby0+Y29tbWFuZF9vbmVsaW5lKCdzaG93JywgIiRsc2hhMSIpOworCQkJCUdpdDo6Y29tbWFuZF9vbmVsaW5lKCdzaG93JywgJGxzaGExKTsKIAkJfQogCiAJCWlmICgkcm1vZGUgZXEgJHN5bWxpbmtfbW9kZSkgewogCQkJJHN5bWxpbmt7JGRzdF9wYXRofXtyaWdodH0gPQotCQkJCSRkaWZmcmVwby0+Y29tbWFuZF9vbmVsaW5lKCdzaG93JywgIiRyc2hhMSIpOworCQkJCUdpdDo6Y29tbWFuZF9vbmVsaW5lKCdzaG93JywgJHJzaGExKTsKIAkJfQogCiAJCWlmICgkbG1vZGUgbmUgJG51bGxfbW9kZSBhbmQgJHN0YXR1cyAhfiAvXkMvKSB7CkBAIC0xOTMsOCArMTcxLDggQEAKIAkJCWlmICgkd29ya2luZ190cmVlX2R1cHN7JGRzdF9wYXRofSsrKSB7CiAJCQkJbmV4dDsKIAkJCX0KLQkJCW15ICgkdXNlLCAkd3Rfc2hhMSkgPSB1c2Vfd3RfZmlsZSgkcmVwbywgJHdvcmtkaXIsCi0JCQkJCQkJICAkZHN0X3BhdGgsICRyc2hhMSk7CisJCQlteSAoJHVzZSwgJHd0X3NoYTEpID0KKwkJCQl1c2Vfd3RfZmlsZSgkd29ya2RpciwgJGRzdF9wYXRoLCAkcnNoYTEpOwogCQkJaWYgKCR1c2UpIHsKIAkJCQlwdXNoIEB3b3JraW5nX3RyZWUsICRkc3RfcGF0aDsKIAkJCQkkd3RpbmRleCAuPSAiJHJtb2RlICR3dF9zaGExXHQkZHN0X3BhdGhcMCI7CkBAIC0yMTEsNDQgKzE4OSwzNCBAQAogCW1rcGF0aCgkbGRpcikgb3IgZXhpdF9jbGVhbnVwKCR0bXBkaXIsIDEpOwogCW1rcGF0aCgkcmRpcikgb3IgZXhpdF9jbGVhbnVwKCR0bXBkaXIsIDEpOwogCi0JIyBJZiAkR0lUX0RJUiBpcyBub3Qgc2V0IHByaW9yIHRvIGNhbGxpbmcgJ2dpdCB1cGRhdGUtaW5kZXgnIGFuZAotCSMgJ2dpdCBjaGVja291dC1pbmRleCcsIHRoZW4gdGhvc2UgY29tbWFuZHMgd2lsbCBmYWlsIGlmIGRpZmZ0b29sCi0JIyBpcyBjYWxsZWQgZnJvbSBhIGRpcmVjdG9yeSBvdGhlciB0aGFuIHRoZSByZXBvIHJvb3QuCi0JbXkgJG11c3RfdW5zZXRfZ2l0X2RpciA9IDA7Ci0JaWYgKG5vdCBkZWZpbmVkKCRFTlZ7R0lUX0RJUn0pKSB7Ci0JCSRtdXN0X3Vuc2V0X2dpdF9kaXIgPSAxOwotCQkkRU5We0dJVF9ESVJ9ID0gJHJlcG9fcGF0aDsKLQl9Ci0KIAkjIFBvcHVsYXRlIHRoZSBsZWZ0IGFuZCByaWdodCBkaXJlY3RvcmllcyBiYXNlZCBvbiBlYWNoIGluZGV4IGZpbGUKIAlteSAoJGlucGlwZSwgJGN0eCk7CiAJJEVOVntHSVRfSU5ERVhfRklMRX0gPSAiJHRtcGRpci9saW5kZXgiOwogCSgkaW5waXBlLCAkY3R4KSA9Ci0JCSRyZXBvLT5jb21tYW5kX2lucHV0X3BpcGUocXcodXBkYXRlLWluZGV4IC16IC0taW5kZXgtaW5mbykpOworCQlHaXQ6OmNvbW1hbmRfaW5wdXRfcGlwZSgndXBkYXRlLWluZGV4JywgJy16JywgJy0taW5kZXgtaW5mbycpOwogCXByaW50KCRpbnBpcGUgJGxpbmRleCk7Ci0JJHJlcG8tPmNvbW1hbmRfY2xvc2VfcGlwZSgkaW5waXBlLCAkY3R4KTsKKwlHaXQ6OmNvbW1hbmRfY2xvc2VfcGlwZSgkaW5waXBlLCAkY3R4KTsKIAogCW15ICRyYyA9IHN5c3RlbSgnZ2l0JywgJ2NoZWNrb3V0LWluZGV4JywgJy0tYWxsJywgIi0tcHJlZml4PSRsZGlyLyIpOwogCWV4aXRfY2xlYW51cCgkdG1wZGlyLCAkcmMpIGlmICRyYyAhPSAwOwogCiAJJEVOVntHSVRfSU5ERVhfRklMRX0gPSAiJHRtcGRpci9yaW5kZXgiOwogCSgkaW5waXBlLCAkY3R4KSA9Ci0JCSRyZXBvLT5jb21tYW5kX2lucHV0X3BpcGUocXcodXBkYXRlLWluZGV4IC16IC0taW5kZXgtaW5mbykpOworCQlHaXQ6OmNvbW1hbmRfaW5wdXRfcGlwZSgndXBkYXRlLWluZGV4JywgJy16JywgJy0taW5kZXgtaW5mbycpOwogCXByaW50KCRpbnBpcGUgJHJpbmRleCk7Ci0JJHJlcG8tPmNvbW1hbmRfY2xvc2VfcGlwZSgkaW5waXBlLCAkY3R4KTsKKwlHaXQ6OmNvbW1hbmRfY2xvc2VfcGlwZSgkaW5waXBlLCAkY3R4KTsKIAogCSRyYyA9IHN5c3RlbSgnZ2l0JywgJ2NoZWNrb3V0LWluZGV4JywgJy0tYWxsJywgIi0tcHJlZml4PSRyZGlyLyIpOwogCWV4aXRfY2xlYW51cCgkdG1wZGlyLCAkcmMpIGlmICRyYyAhPSAwOwogCiAJJEVOVntHSVRfSU5ERVhfRklMRX0gPSAiJHRtcGRpci93dGluZGV4IjsKIAkoJGlucGlwZSwgJGN0eCkgPQotCQkkcmVwby0+Y29tbWFuZF9pbnB1dF9waXBlKHF3KHVwZGF0ZS1pbmRleCAtLWluZm8tb25seSAteiAtLWluZGV4LWluZm8pKTsKKwkJR2l0Ojpjb21tYW5kX2lucHV0X3BpcGUoJ3VwZGF0ZS1pbmRleCcsICctLWluZm8tb25seScsICcteicsICctLWluZGV4LWluZm8nKTsKIAlwcmludCgkaW5waXBlICR3dGluZGV4KTsKLQkkcmVwby0+Y29tbWFuZF9jbG9zZV9waXBlKCRpbnBpcGUsICRjdHgpOworCUdpdDo6Y29tbWFuZF9jbG9zZV9waXBlKCRpbnBpcGUsICRjdHgpOwogCiAJIyBJZiAkR0lUX0RJUiB3YXMgZXhwbGljaXRseSBzZXQganVzdCBmb3IgdGhlIHVwZGF0ZS9jaGVja291dAogCSMgY29tbWFuZHMsIHRoZW4gaXQgc2hvdWxkIGJlIHVuc2V0IGJlZm9yZSBjb250aW51aW5nLgotCWRlbGV0ZSgkRU5We0dJVF9ESVJ9KSBpZiAoJG11c3RfdW5zZXRfZ2l0X2Rpcik7CiAJZGVsZXRlKCRFTlZ7R0lUX0lOREVYX0ZJTEV9KTsKIAogCSMgQ2hhbmdlcyBpbiB0aGUgd29ya2luZyB0cmVlIG5lZWQgc3BlY2lhbCB0cmVhdG1lbnQgc2luY2UgdGhleSBhcmUKQEAgLTQxNSw5ICszODMsOSBAQAogCW15ICRyYzsKIAlteSAkZXJyb3IgPSAwOwogCW15ICRyZXBvID0gR2l0LT5yZXBvc2l0b3J5KCk7Ci0JbXkgJHdvcmtkaXIgPSBmaW5kX3dvcmt0cmVlKCk7Ci0JbXkgKCRhLCAkYiwgJHRtcGRpciwgQHdvcmt0cmVlKSA9Ci0JCXNldHVwX2Rpcl9kaWZmKCRyZXBvLCAkd29ya2RpciwgJHN5bWxpbmtzKTsKKwlteSAkcmVwb19wYXRoID0gJHJlcG8tPnJlcG9fcGF0aCgpOworCW15ICR3b3JrZGlyID0gJHJlcG8tPndjX3BhdGgoKTsKKwlteSAoJGEsICRiLCAkdG1wZGlyLCBAd29ya3RyZWUpID0gc2V0dXBfZGlyX2RpZmYoJHdvcmtkaXIsICRzeW1saW5rcyk7CiAKIAlpZiAoZGVmaW5lZCgkZXh0Y21kKSkgewogCQkkcmMgPSBzeXN0ZW0oJGV4dGNtZCwgJGEsICRiKTsKQEAgLTQ0MywxMCArNDExLDEwIEBACiAJCW5leHQgaWYgISAtZiAiJGIvJGZpbGUiOwogCiAJCWlmICghJGluZGljZXNfbG9hZGVkKSB7Ci0JCQkld3RfbW9kaWZpZWQgPSBjaGFuZ2VkX2ZpbGVzKCRyZXBvLT5yZXBvX3BhdGgoKSwKLQkJCQkiJHRtcGRpci93dGluZGV4IiwgIiR3b3JrZGlyIik7Ci0JCQkldG1wX21vZGlmaWVkID0gY2hhbmdlZF9maWxlcygkcmVwby0+cmVwb19wYXRoKCksCi0JCQkJIiR0bXBkaXIvd3RpbmRleCIsICIkYiIpOworCQkJJXd0X21vZGlmaWVkID0gY2hhbmdlZF9maWxlcygKKwkJCQkkcmVwb19wYXRoLCAiJHRtcGRpci93dGluZGV4IiwgJHdvcmtkaXIpOworCQkJJXRtcF9tb2RpZmllZCA9IGNoYW5nZWRfZmlsZXMoCisJCQkJJHJlcG9fcGF0aCwgIiR0bXBkaXIvd3RpbmRleCIsICRiKTsKIAkJCSRpbmRpY2VzX2xvYWRlZCA9IDE7CiAJCX0KIApkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9HSVQtVkVSU0lPTi1HRU4gYi9naXQtZ3VpL0dJVC1WRVJTSU9OLUdFTgppbmRleCBhODhiNjgyLi45MjM3M2QyIDEwMDc1NQotLS0gYS9naXQtZ3VpL0dJVC1WRVJTSU9OLUdFTgorKysgYi9naXQtZ3VpL0dJVC1WRVJTSU9OLUdFTgpAQCAtMSw3ICsxLDcgQEAKICMhL2Jpbi9zaAogCiBHVkY9R0lULVZFUlNJT04tRklMRQotREVGX1ZFUj0wLjIwLkdJVEdVSQorREVGX1ZFUj0wLjIxLkdJVEdVSQogCiBMRj0nCiAnCmRpZmYgLS1naXQgYS9naXQtZ3VpL01ha2VmaWxlIGIvZ2l0LWd1aS9NYWtlZmlsZQppbmRleCA0ZjAwYmRkLi5mZTMwYmUzIDEwMDY0NAotLS0gYS9naXQtZ3VpL01ha2VmaWxlCisrKyBiL2dpdC1ndWkvTWFrZWZpbGUKQEAgLTI1OSw3ICsyNTksNyBAQAogCSBybSAtZiAkQCA7IFwKIAkgZWNobyAnIyBBdXRvZ2VuZXJhdGVkIGJ5IGdpdC1ndWkgTWFrZWZpbGUnID4kQCAmJiBcCiAJIGVjaG8gPj4kQCAmJiBcCi0JICQoZm9yZWFjaCBwLCQoUFJFTE9BRF9GSUxFUykgJChBTExfTElCRklMRVMpLGVjaG8gJyQoc3Vic3QgbGliLywsJHApJyA+PiRAICYmKSBcCisJICQoZm9yZWFjaCBwLCQoUFJFTE9BRF9GSUxFUykgJChzb3J0ICQoQUxMX0xJQkZJTEVTKSksZWNobyAnJChzdWJzdCBsaWIvLCwkcCknID4+JEAgJiYpIFwKIAkgZWNobyA+PiRAIDsgXAogCWZpCiAKZGlmZiAtLWdpdCBhL2dpdC1ndWkvZ2l0LWd1aS5zaCBiL2dpdC1ndWkvZ2l0LWd1aS5zaAppbmRleCAxMTA0OGM3Li41YmMyMWI4IDEwMDc1NQotLS0gYS9naXQtZ3VpL2dpdC1ndWkuc2gKKysrIGIvZ2l0LWd1aS9naXQtZ3VpLnNoCkBAIC0yNzUsNiArMjc1LDEwIEBACiAJCQkJc2V0IF9pc2N5Z3dpbiAwCiAJCQl9IGVsc2UgewogCQkJCXNldCBfaXNjeWd3aW4gMQorCQkJCSMgSGFuZGxlIE1TeXMyIHdoaWNoIGlzIG9ubHkgY3lnd2luIHdoZW4gTVNZU1RFTSBpcyBNU1lTLgorCQkJCWlmIHtbaW5mbyBleGlzdHMgOjplbnYoTVNZU1RFTSldICYmICQ6OmVudihNU1lTVEVNKSBuZSAiTVNZUyJ9IHsKKwkJCQkJc2V0IF9pc2N5Z3dpbiAwCisJCQkJfQogCQkJfQogCQl9IGVsc2UgewogCQkJc2V0IF9pc2N5Z3dpbiAwCkBAIC01MzAsMjggKzUzNCwxMCBAQAogfQogCiBwcm9jIGdpdCB7YXJnc30gewotCXNldCBvcHQgW2xpc3RdCi0KLQl3aGlsZSB7MX0gewotCQlzd2l0Y2ggLS0gW2xpbmRleCAkYXJncyAwXSB7Ci0JCS0tbmljZSB7Ci0JCQlfbGFwcGVuZF9uaWNlIG9wdAotCQl9Ci0KLQkJZGVmYXVsdCB7Ci0JCQlicmVhawotCQl9Ci0KLQkJfQotCi0JCXNldCBhcmdzIFtscmFuZ2UgJGFyZ3MgMSBlbmRdCi0JfQotCi0Jc2V0IGNtZHAgW19naXRfY21kIFtsaW5kZXggJGFyZ3MgMF1dCi0Jc2V0IGFyZ3MgW2xyYW5nZSAkYXJncyAxIGVuZF0KLQotCV90cmFjZV9leGVjIFtjb25jYXQgJG9wdCAkY21kcCAkYXJnc10KLQlzZXQgcmVzdWx0IFtldmFsIGV4ZWMgJG9wdCAkY21kcCAkYXJnc10KKwlzZXQgZmQgW2V2YWwgW2xpc3QgZ2l0X3JlYWRdICRhcmdzXQorCWZjb25maWd1cmUgJGZkIC10cmFuc2xhdGlvbiBiaW5hcnkgLWVuY29kaW5nIHV0Zi04CisJc2V0IHJlc3VsdCBbc3RyaW5nIHRyaW1yaWdodCBbcmVhZCAkZmRdICJcbiJdCisJY2xvc2UgJGZkCiAJaWYgeyQ6Ol90cmFjZX0gewogCQlwdXRzIHN0ZGVyciAiPCAkcmVzdWx0IgogCX0KQEAgLTExMDcsNyArMTA5Myw3IEBACiAJCQkJW2xpc3QgZ2l0X3JlYWQgY29uZmlnXSBcCiAJCQkJJGFyZ3MgXAogCQkJCVtsaXN0IC0tbnVsbCAtLWxpc3RdXQotCQkJZmNvbmZpZ3VyZSAkZmRfcmMgLXRyYW5zbGF0aW9uIGJpbmFyeQorCQkJZmNvbmZpZ3VyZSAkZmRfcmMgLXRyYW5zbGF0aW9uIGJpbmFyeSAtZW5jb2RpbmcgdXRmLTgKIAkJCXNldCBidWYgW3JlYWQgJGZkX3JjXQogCQkJY2xvc2UgJGZkX3JjCiAJCX0KQEAgLTE2MTYsMTEgKzE2MDIsMTMgQEAKIAlpZiB7W2ZpbGUgaXNmaWxlIFtnaXRkaXIgTUVSR0VfTVNHXV19IHsKIAkJc2V0IHBjbV9zb3VyY2UgIm1lcmdlIgogCQlzZXQgZmRfbW0gW29wZW4gW2dpdGRpciBNRVJHRV9NU0ddIHJdCisJCWZjb25maWd1cmUgJGZkX21tIC1lbmNvZGluZyB1dGYtOAogCQlwdXRzIC1ub25ld2xpbmUgJGZkX3BjbSBbcmVhZCAkZmRfbW1dCiAJCWNsb3NlICRmZF9tbQogCX0gZWxzZWlmIHtbZmlsZSBpc2ZpbGUgW2dpdGRpciBTUVVBU0hfTVNHXV19IHsKIAkJc2V0IHBjbV9zb3VyY2UgInNxdWFzaCIKIAkJc2V0IGZkX3NtIFtvcGVuIFtnaXRkaXIgU1FVQVNIX01TR10gcl0KKwkJZmNvbmZpZ3VyZSAkZmRfc20gLWVuY29kaW5nIHV0Zi04CiAJCXB1dHMgLW5vbmV3bGluZSAkZmRfcGNtIFtyZWFkICRmZF9zbV0KIAkJY2xvc2UgJGZkX3NtCiAJfSBlbHNlIHsKQEAgLTE2ODUsNyArMTY3Myw3IEBACiAJCXNldCBpIFtzcGxpdCBbc3RyaW5nIHJhbmdlICRidWZfcmRpICRjIFtleHByIHskejEgLSAyfV1dIHsgfV0KIAkJc2V0IHAgW3N0cmluZyByYW5nZSAkYnVmX3JkaSAkejEgW2V4cHIgeyR6MiAtIDF9XV0KIAkJbWVyZ2Vfc3RhdGUgXAotCQkJW2VuY29kaW5nIGNvbnZlcnRmcm9tICRwXSBcCisJCQlbZW5jb2RpbmcgY29udmVydGZyb20gdXRmLTggJHBdIFwKIAkJCVtsaW5kZXggJGkgNF0/IFwKIAkJCVtsaXN0IFtsaW5kZXggJGkgMF0gW2xpbmRleCAkaSAyXV0gXAogCQkJW2xpc3RdCkBAIC0xNzE4LDcgKzE3MDYsNyBAQAogCQlzZXQgaSBbc3BsaXQgW3N0cmluZyByYW5nZSAkYnVmX3JkZiAkYyBbZXhwciB7JHoxIC0gMn1dXSB7IH1dCiAJCXNldCBwIFtzdHJpbmcgcmFuZ2UgJGJ1Zl9yZGYgJHoxIFtleHByIHskejIgLSAxfV1dCiAJCW1lcmdlX3N0YXRlIFwKLQkJCVtlbmNvZGluZyBjb252ZXJ0ZnJvbSAkcF0gXAorCQkJW2VuY29kaW5nIGNvbnZlcnRmcm9tIHV0Zi04ICRwXSBcCiAJCQk/W2xpbmRleCAkaSA0XSBcCiAJCQlbbGlzdF0gXAogCQkJW2xpc3QgW2xpbmRleCAkaSAwXSBbbGluZGV4ICRpIDJdXQpAQCAtMTc0MSw3ICsxNzI5LDcgQEAKIAlzZXQgcGNrIFtzcGxpdCAkYnVmX3JsbyAiXDAiXQogCXNldCBidWZfcmxvIFtsaW5kZXggJHBjayBlbmRdCiAJZm9yZWFjaCBwIFtscmFuZ2UgJHBjayAwIGVuZC0xXSB7Ci0JCXNldCBwIFtlbmNvZGluZyBjb252ZXJ0ZnJvbSAkcF0KKwkJc2V0IHAgW2VuY29kaW5nIGNvbnZlcnRmcm9tIHV0Zi04ICRwXQogCQlpZiB7W3N0cmluZyBpbmRleCAkcCBlbmRdIGVxIHsvfX0gewogCQkJc2V0IHAgW3N0cmluZyByYW5nZSAkcCAwIGVuZC0xXQogCQl9CkBAIC0yNTA1LDEzICsyNDkzLDI4IEBACiAJfQogfQogCi1wcm9jIHRvZ2dsZV9vcl9kaWZmIHt3IHggeX0geworcHJvYyB0b2dnbGVfb3JfZGlmZiB7bW9kZSB3IGFyZ3N9IHsKIAlnbG9iYWwgZmlsZV9zdGF0ZXMgZmlsZV9saXN0cyBjdXJyZW50X2RpZmZfcGF0aCB1aV9pbmRleCB1aV93b3JrZGlyCiAJZ2xvYmFsIGxhc3RfY2xpY2tlZCBzZWxlY3RlZF9wYXRocwogCi0Jc2V0IHBvcyBbc3BsaXQgWyR3IGluZGV4IEAkeCwkeV0gLl0KLQlzZXQgbG5vIFtsaW5kZXggJHBvcyAwXQotCXNldCBjb2wgW2xpbmRleCAkcG9zIDFdCisJaWYgeyRtb2RlIGVxICJjbGljayJ9IHsKKwkJZm9yZWFjaCB7eCB5fSAkYXJncyBicmVhaworCQlzZXQgcG9zIFtzcGxpdCBbJHcgaW5kZXggQCR4LCR5XSAuXQorCQlmb3JlYWNoIHtsbm8gY29sfSAkcG9zIGJyZWFrCisJfSBlbHNlIHsKKwkJaWYgeyRsYXN0X2NsaWNrZWQgbmUge319IHsKKwkJCXNldCBsbm8gW2xpbmRleCAkbGFzdF9jbGlja2VkIDFdCisJCX0gZWxzZSB7CisJCQlzZXQgbG5vIFtleHByIHtpbnQoW2xpbmRleCBbJHcgdGFnIHJhbmdlcyBpbl9kaWZmXSAwXSl9XQorCQl9CisJCWlmIHskbW9kZSBlcSAidG9nZ2xlIn0geworCQkJc2V0IGNvbCAwOyBzZXQgeSAyCisJCX0gZWxzZSB7CisJCQlpbmNyIGxubyBbZXhwciB7JG1vZGUgZXEgInVwIiA/IC0xIDogMX1dCisJCQlzZXQgY29sIDEKKwkJfQorCX0KKwogCXNldCBwYXRoIFtsaW5kZXggJGZpbGVfbGlzdHMoJHcpIFtleHByIHskbG5vIC0gMX1dXQogCWlmIHskcGF0aCBlcSB7fX0gewogCQlzZXQgbGFzdF9jbGlja2VkIHt9CkBAIC0yNTE5LDYgKzI1MjIsNyBAQAogCX0KIAogCXNldCBsYXN0X2NsaWNrZWQgW2xpc3QgJHcgJGxub10KKwlmb2N1cyAkdwogCWFycmF5IHVuc2V0IHNlbGVjdGVkX3BhdGhzCiAJJHVpX2luZGV4IHRhZyByZW1vdmUgaW5fc2VsIDAuMCBlbmQKIAkkdWlfd29ya2RpciB0YWcgcmVtb3ZlIGluX3NlbCAwLjAgZW5kCkBAIC0yNTk4LDcgKzI2MDIsNyBAQAogCWdsb2JhbCBmaWxlX2xpc3RzIGxhc3RfY2xpY2tlZCBzZWxlY3RlZF9wYXRocwogCiAJaWYge1tsaW5kZXggJGxhc3RfY2xpY2tlZCAwXSBuZSAkd30gewotCQl0b2dnbGVfb3JfZGlmZiAkdyAkeCAkeQorCQl0b2dnbGVfb3JfZGlmZiBjbGljayAkdyAkeCAkeQogCQlyZXR1cm4KIAl9CiAKQEAgLTMwMDcsNyArMzAxMSw3IEBACiAKIHNldCBzdWJjb21tYW5kX2FyZ3Mge30KIHByb2MgdXNhZ2Uge30gewotCXNldCBzICJ1c2FnZTogJDo6YXJndjAgJDo6c3ViY29tbWFuZCAkOjpzdWJjb21tYW5kX2FyZ3MiCisJc2V0IHMgIlttYyB1c2FnZTpdICQ6OmFyZ3YwICQ6OnN1YmNvbW1hbmQgJDo6c3ViY29tbWFuZF9hcmdzIgogCWlmIHtbdGsgd2luZG93aW5nc3lzdGVtXSBlcSAid2luMzIifSB7CiAJCXdtIHdpdGhkcmF3IC4KIAkJdGtfbWVzc2FnZUJveCAtaWNvbiBpbmZvIC1tZXNzYWdlICRzIFwKQEAgLTMxMzksNyArMzE0Myw3IEBACiAJIyBmYWxsIHRocm91Z2ggdG8gc2V0dXAgVUkgZm9yIGNvbW1pdHMKIH0KIGRlZmF1bHQgewotCXNldCBlcnIgInVzYWdlOiAkYXJndjAgXFt7YmxhbWV8YnJvd3NlcnxjaXRvb2x9XF0iCisJc2V0IGVyciAiW21jIHVzYWdlOl0gJGFyZ3YwIFxbe2JsYW1lfGJyb3dzZXJ8Y2l0b29sfVxdIgogCWlmIHtbdGsgd2luZG93aW5nc3lzdGVtXSBlcSAid2luMzIifSB7CiAJCXdtIHdpdGhkcmF3IC4KIAkJdGtfbWVzc2FnZUJveCAtaWNvbiBlcnJvciAtbWVzc2FnZSAkZXJyIFwKQEAgLTMxNzgsMzYgKzMxODIsMTYgQEAKIH0KIHBhY2sgLnZwYW5lIC1hbmNob3IgbiAtc2lkZSB0b3AgLWZpbGwgYm90aCAtZXhwYW5kIDEKIAotIyAtLSBJbmRleCBGaWxlIExpc3QKLSMKLSR7TlN9OjpmcmFtZSAudnBhbmUuZmlsZXMuaW5kZXggLWhlaWdodCAxMDAgLXdpZHRoIDIwMAotdGxhYmVsIC52cGFuZS5maWxlcy5pbmRleC50aXRsZSBcCi0JLXRleHQgW21jICJTdGFnZWQgQ2hhbmdlcyAoV2lsbCBDb21taXQpIl0gXAotCS1iYWNrZ3JvdW5kIGxpZ2h0Z3JlZW4gLWZvcmVncm91bmQgYmxhY2sKLXRleHQgJHVpX2luZGV4IC1iYWNrZ3JvdW5kIHdoaXRlIC1mb3JlZ3JvdW5kIGJsYWNrIFwKLQktYm9yZGVyd2lkdGggMCBcCi0JLXdpZHRoIDIwIC1oZWlnaHQgMTAgXAotCS13cmFwIG5vbmUgXAotCS1jdXJzb3IgJGN1cnNvcl9wdHIgXAotCS14c2Nyb2xsY29tbWFuZCB7LnZwYW5lLmZpbGVzLmluZGV4LnN4IHNldH0gXAotCS15c2Nyb2xsY29tbWFuZCB7LnZwYW5lLmZpbGVzLmluZGV4LnN5IHNldH0gXAotCS1zdGF0ZSBkaXNhYmxlZAotJHtOU306OnNjcm9sbGJhciAudnBhbmUuZmlsZXMuaW5kZXguc3ggLW9yaWVudCBoIC1jb21tYW5kIFtsaXN0ICR1aV9pbmRleCB4dmlld10KLSR7TlN9OjpzY3JvbGxiYXIgLnZwYW5lLmZpbGVzLmluZGV4LnN5IC1vcmllbnQgdiAtY29tbWFuZCBbbGlzdCAkdWlfaW5kZXggeXZpZXddCi1wYWNrIC52cGFuZS5maWxlcy5pbmRleC50aXRsZSAtc2lkZSB0b3AgLWZpbGwgeAotcGFjayAudnBhbmUuZmlsZXMuaW5kZXguc3ggLXNpZGUgYm90dG9tIC1maWxsIHgKLXBhY2sgLnZwYW5lLmZpbGVzLmluZGV4LnN5IC1zaWRlIHJpZ2h0IC1maWxsIHkKLXBhY2sgJHVpX2luZGV4IC1zaWRlIGxlZnQgLWZpbGwgYm90aCAtZXhwYW5kIDEKLQogIyAtLSBXb3JraW5nIERpcmVjdG9yeSBGaWxlIExpc3QKLSMKLSR7TlN9OjpmcmFtZSAudnBhbmUuZmlsZXMud29ya2RpciAtaGVpZ2h0IDEwMCAtd2lkdGggMjAwCisKK3RleHRmcmFtZSAudnBhbmUuZmlsZXMud29ya2RpciAtaGVpZ2h0IDEwMCAtd2lkdGggMjAwCiB0bGFiZWwgLnZwYW5lLmZpbGVzLndvcmtkaXIudGl0bGUgLXRleHQgW21jICJVbnN0YWdlZCBDaGFuZ2VzIl0gXAogCS1iYWNrZ3JvdW5kIGxpZ2h0c2FsbW9uIC1mb3JlZ3JvdW5kIGJsYWNrCi10ZXh0ICR1aV93b3JrZGlyIC1iYWNrZ3JvdW5kIHdoaXRlIC1mb3JlZ3JvdW5kIGJsYWNrIFwKK3R0ZXh0ICR1aV93b3JrZGlyIC1iYWNrZ3JvdW5kIHdoaXRlIC1mb3JlZ3JvdW5kIGJsYWNrIFwKIAktYm9yZGVyd2lkdGggMCBcCiAJLXdpZHRoIDIwIC1oZWlnaHQgMTAgXAogCS13cmFwIG5vbmUgXAorCS10YWtlZm9jdXMgMSAtaGlnaGxpZ2h0dGhpY2tuZXNzIDFcCiAJLWN1cnNvciAkY3Vyc29yX3B0ciBcCiAJLXhzY3JvbGxjb21tYW5kIHsudnBhbmUuZmlsZXMud29ya2Rpci5zeCBzZXR9IFwKIAkteXNjcm9sbGNvbW1hbmQgey52cGFuZS5maWxlcy53b3JrZGlyLnN5IHNldH0gXApAQCAtMzIxOSw2ICszMjAzLDMwIEBACiBwYWNrIC52cGFuZS5maWxlcy53b3JrZGlyLnN5IC1zaWRlIHJpZ2h0IC1maWxsIHkKIHBhY2sgJHVpX3dvcmtkaXIgLXNpZGUgbGVmdCAtZmlsbCBib3RoIC1leHBhbmQgMQogCisjIC0tIEluZGV4IEZpbGUgTGlzdAorIwordGV4dGZyYW1lIC52cGFuZS5maWxlcy5pbmRleCAtaGVpZ2h0IDEwMCAtd2lkdGggMjAwCit0bGFiZWwgLnZwYW5lLmZpbGVzLmluZGV4LnRpdGxlIFwKKwktdGV4dCBbbWMgIlN0YWdlZCBDaGFuZ2VzIChXaWxsIENvbW1pdCkiXSBcCisJLWJhY2tncm91bmQgbGlnaHRncmVlbiAtZm9yZWdyb3VuZCBibGFjawordHRleHQgJHVpX2luZGV4IC1iYWNrZ3JvdW5kIHdoaXRlIC1mb3JlZ3JvdW5kIGJsYWNrIFwKKwktYm9yZGVyd2lkdGggMCBcCisJLXdpZHRoIDIwIC1oZWlnaHQgMTAgXAorCS13cmFwIG5vbmUgXAorCS10YWtlZm9jdXMgMSAtaGlnaGxpZ2h0dGhpY2tuZXNzIDFcCisJLWN1cnNvciAkY3Vyc29yX3B0ciBcCisJLXhzY3JvbGxjb21tYW5kIHsudnBhbmUuZmlsZXMuaW5kZXguc3ggc2V0fSBcCisJLXlzY3JvbGxjb21tYW5kIHsudnBhbmUuZmlsZXMuaW5kZXguc3kgc2V0fSBcCisJLXN0YXRlIGRpc2FibGVkCiske05TfTo6c2Nyb2xsYmFyIC52cGFuZS5maWxlcy5pbmRleC5zeCAtb3JpZW50IGggLWNvbW1hbmQgW2xpc3QgJHVpX2luZGV4IHh2aWV3XQorJHtOU306OnNjcm9sbGJhciAudnBhbmUuZmlsZXMuaW5kZXguc3kgLW9yaWVudCB2IC1jb21tYW5kIFtsaXN0ICR1aV9pbmRleCB5dmlld10KK3BhY2sgLnZwYW5lLmZpbGVzLmluZGV4LnRpdGxlIC1zaWRlIHRvcCAtZmlsbCB4CitwYWNrIC52cGFuZS5maWxlcy5pbmRleC5zeCAtc2lkZSBib3R0b20gLWZpbGwgeAorcGFjayAudnBhbmUuZmlsZXMuaW5kZXguc3kgLXNpZGUgcmlnaHQgLWZpbGwgeQorcGFjayAkdWlfaW5kZXggLXNpZGUgbGVmdCAtZmlsbCBib3RoIC1leHBhbmQgMQorCisjIC0tIEluc2VydCB0aGUgd29ya2RpciBhbmQgaW5kZXggaW50byB0aGUgcGFuZXMKKyMKIC52cGFuZS5maWxlcyBhZGQgLnZwYW5lLmZpbGVzLndvcmtkaXIKIC52cGFuZS5maWxlcyBhZGQgLnZwYW5lLmZpbGVzLmluZGV4CiBpZiB7ISR1c2VfdHRrfSB7CkBAIC0zMzAxLDcgKzMzMDksNyBAQAogIwogJHtOU306OmZyYW1lIC52cGFuZS5sb3dlci5jb21tYXJlYS5idWZmZXIKICR7TlN9OjpmcmFtZSAudnBhbmUubG93ZXIuY29tbWFyZWEuYnVmZmVyLmhlYWRlcgotc2V0IHVpX2NvbW0gLnZwYW5lLmxvd2VyLmNvbW1hcmVhLmJ1ZmZlci50CitzZXQgdWlfY29tbSAudnBhbmUubG93ZXIuY29tbWFyZWEuYnVmZmVyLmZyYW1lLnQKIHNldCB1aV9jb21sIC52cGFuZS5sb3dlci5jb21tYXJlYS5idWZmZXIuaGVhZGVyLmwKIAogaWYgeyFbaXNfZW5hYmxlZCBub2NvbW1pdF19IHsKQEAgLTMzNDQsMjAgKzMzNTIsMjUgQEAKIAlwYWNrIC52cGFuZS5sb3dlci5jb21tYXJlYS5idWZmZXIuaGVhZGVyLm5ldyAtc2lkZSByaWdodAogfQogCi10ZXh0ICR1aV9jb21tIC1iYWNrZ3JvdW5kIHdoaXRlIC1mb3JlZ3JvdW5kIGJsYWNrIFwKK3RleHRmcmFtZSAudnBhbmUubG93ZXIuY29tbWFyZWEuYnVmZmVyLmZyYW1lCit0dGV4dCAkdWlfY29tbSAtYmFja2dyb3VuZCB3aGl0ZSAtZm9yZWdyb3VuZCBibGFjayBcCiAJLWJvcmRlcndpZHRoIDEgXAogCS11bmRvIHRydWUgXAogCS1tYXh1bmRvIDIwIFwKIAktYXV0b3NlcGFyYXRvcnMgdHJ1ZSBcCisJLXRha2Vmb2N1cyAxIFwKKwktaGlnaGxpZ2h0dGhpY2tuZXNzIDEgXAogCS1yZWxpZWYgc3Vua2VuIFwKIAktd2lkdGggJHJlcG9fY29uZmlnKGd1aS5jb21taXRtc2d3aWR0aCkgLWhlaWdodCA5IC13cmFwIG5vbmUgXAogCS1mb250IGZvbnRfZGlmZiBcCi0JLXlzY3JvbGxjb21tYW5kIHsudnBhbmUubG93ZXIuY29tbWFyZWEuYnVmZmVyLnNieSBzZXR9Ci0ke05TfTo6c2Nyb2xsYmFyIC52cGFuZS5sb3dlci5jb21tYXJlYS5idWZmZXIuc2J5IFwKKwkteXNjcm9sbGNvbW1hbmQgey52cGFuZS5sb3dlci5jb21tYXJlYS5idWZmZXIuZnJhbWUuc2J5IHNldH0KKyR7TlN9OjpzY3JvbGxiYXIgLnZwYW5lLmxvd2VyLmNvbW1hcmVhLmJ1ZmZlci5mcmFtZS5zYnkgXAogCS1jb21tYW5kIFtsaXN0ICR1aV9jb21tIHl2aWV3XQotcGFjayAudnBhbmUubG93ZXIuY29tbWFyZWEuYnVmZmVyLmhlYWRlciAtc2lkZSB0b3AgLWZpbGwgeAotcGFjayAudnBhbmUubG93ZXIuY29tbWFyZWEuYnVmZmVyLnNieSAtc2lkZSByaWdodCAtZmlsbCB5CisKK3BhY2sgLnZwYW5lLmxvd2VyLmNvbW1hcmVhLmJ1ZmZlci5mcmFtZS5zYnkgLXNpZGUgcmlnaHQgLWZpbGwgeQogcGFjayAkdWlfY29tbSAtc2lkZSBsZWZ0IC1maWxsIHkKK3BhY2sgLnZwYW5lLmxvd2VyLmNvbW1hcmVhLmJ1ZmZlci5oZWFkZXIgLXNpZGUgdG9wIC1maWxsIHgKK3BhY2sgLnZwYW5lLmxvd2VyLmNvbW1hcmVhLmJ1ZmZlci5mcmFtZSAtc2lkZSBsZWZ0IC1maWxsIHkKIHBhY2sgLnZwYW5lLmxvd2VyLmNvbW1hcmVhLmJ1ZmZlciAtc2lkZSBsZWZ0IC1maWxsIHkKIAogIyAtLSBDb21taXQgTWVzc2FnZSBCdWZmZXIgQ29udGV4dCBNZW51CkBAIC0zNDU1LDEyICszNDY4LDEzIEBACiAKICMgLS0gRGlmZiBCb2R5CiAjCi0ke05TfTo6ZnJhbWUgLnZwYW5lLmxvd2VyLmRpZmYuYm9keQordGV4dGZyYW1lIC52cGFuZS5sb3dlci5kaWZmLmJvZHkKIHNldCB1aV9kaWZmIC52cGFuZS5sb3dlci5kaWZmLmJvZHkudAotdGV4dCAkdWlfZGlmZiAtYmFja2dyb3VuZCB3aGl0ZSAtZm9yZWdyb3VuZCBibGFjayBcCit0dGV4dCAkdWlfZGlmZiAtYmFja2dyb3VuZCB3aGl0ZSAtZm9yZWdyb3VuZCBibGFjayBcCiAJLWJvcmRlcndpZHRoIDAgXAogCS13aWR0aCA4MCAtaGVpZ2h0IDUgLXdyYXAgbm9uZSBcCiAJLWZvbnQgZm9udF9kaWZmIFwKKwktdGFrZWZvY3VzIDEgLWhpZ2hsaWdodHRoaWNrbmVzcyAxIFwKIAkteHNjcm9sbGNvbW1hbmQgey52cGFuZS5sb3dlci5kaWZmLmJvZHkuc2J4IHNldH0gXAogCS15c2Nyb2xsY29tbWFuZCB7LnZwYW5lLmxvd2VyLmRpZmYuYm9keS5zYnkgc2V0fSBcCiAJLXN0YXRlIGRpc2FibGVkCkBAIC0zODE1LDEwICszODI5LDEwIEBACiBiaW5kIC4gICA8JE0xQi1LZXktUj4gdWlfZG9fcmVzY2FuCiBiaW5kIC4gICA8JE0xQi1LZXktcz4gZG9fc2lnbm9mZgogYmluZCAuICAgPCRNMUItS2V5LVM+IGRvX3NpZ25vZmYKLWJpbmQgLiAgIDwkTTFCLUtleS10PiBkb19hZGRfc2VsZWN0aW9uCi1iaW5kIC4gICA8JE0xQi1LZXktVD4gZG9fYWRkX3NlbGVjdGlvbgotYmluZCAuICAgPCRNMUItS2V5LXU+IGRvX3Vuc3RhZ2Vfc2VsZWN0aW9uCi1iaW5kIC4gICA8JE0xQi1LZXktVT4gZG9fdW5zdGFnZV9zZWxlY3Rpb24KK2JpbmQgLiAgIDwkTTFCLUtleS10PiB7IHRvZ2dsZV9vcl9kaWZmIHRvZ2dsZSAlVyB9CitiaW5kIC4gICA8JE0xQi1LZXktVD4geyB0b2dnbGVfb3JfZGlmZiB0b2dnbGUgJVcgfQorYmluZCAuICAgPCRNMUItS2V5LXU+IHsgdG9nZ2xlX29yX2RpZmYgdG9nZ2xlICVXIH0KK2JpbmQgLiAgIDwkTTFCLUtleS1VPiB7IHRvZ2dsZV9vcl9kaWZmIHRvZ2dsZSAlVyB9CiBiaW5kIC4gICA8JE0xQi1LZXktaj4gZG9fcmV2ZXJ0X3NlbGVjdGlvbgogYmluZCAuICAgPCRNMUItS2V5LUo+IGRvX3JldmVydF9zZWxlY3Rpb24KIGJpbmQgLiAgIDwkTTFCLUtleS1pPiBkb19hZGRfYWxsCkBAIC0zODMwLDkgKzM4NDQsMTEgQEAKIGJpbmQgLiAgIDwkTTFCLUtleS1LUF9BZGQ+IHtzaG93X21vcmVfY29udGV4dDticmVha30KIGJpbmQgLiAgIDwkTTFCLUtleS1SZXR1cm4+IGRvX2NvbW1pdAogZm9yZWFjaCBpIFtsaXN0ICR1aV9pbmRleCAkdWlfd29ya2Rpcl0gewotCWJpbmQgJGkgPEJ1dHRvbi0xPiAgICAgICAidG9nZ2xlX29yX2RpZmYgICAgICAgICAkaSAleCAleTsgYnJlYWsiCi0JYmluZCAkaSA8JE0xQi1CdXR0b24tMT4gICJhZGRfb25lX3RvX3NlbGVjdGlvbiAgICRpICV4ICV5OyBicmVhayIKLQliaW5kICRpIDxTaGlmdC1CdXR0b24tMT4gImFkZF9yYW5nZV90b19zZWxlY3Rpb24gJGkgJXggJXk7IGJyZWFrIgorCWJpbmQgJGkgPEJ1dHRvbi0xPiAgICAgICB7IHRvZ2dsZV9vcl9kaWZmIGNsaWNrICVXICV4ICV5OyBicmVhayB9CisJYmluZCAkaSA8JE0xQi1CdXR0b24tMT4gIHsgYWRkX29uZV90b19zZWxlY3Rpb24gJVcgJXggJXk7IGJyZWFrIH0KKwliaW5kICRpIDxTaGlmdC1CdXR0b24tMT4geyBhZGRfcmFuZ2VfdG9fc2VsZWN0aW9uICVXICV4ICV5OyBicmVhayB9CisJYmluZCAkaSA8S2V5LVVwPiAgICAgICAgIHsgdG9nZ2xlX29yX2RpZmYgdXAgJVc7IGJyZWFrIH0KKwliaW5kICRpIDxLZXktRG93bj4gICAgICAgeyB0b2dnbGVfb3JfZGlmZiBkb3duICVXOyBicmVhayB9CiB9CiB1bnNldCBpCiAKZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL2JsYW1lLnRjbCBiL2dpdC1ndWkvbGliL2JsYW1lLnRjbAppbmRleCBiMWQxNWY0Li5hMWFlYjhiIDEwMDY0NAotLS0gYS9naXQtZ3VpL2xpYi9ibGFtZS50Y2wKKysrIGIvZ2l0LWd1aS9saWIvYmxhbWUudGNsCkBAIC03MCw3ICs3MCw3IEBACiAJc2V0IHBhdGggICAkaV9wYXRoCiAKIAltYWtlX3RvcGxldmVsIHRvcCB3Ci0Jd20gdGl0bGUgJHRvcCBbYXBwZW5kICJbYXBwbmFtZV0gKFtyZXBvbmFtZV0pOiAiIFttYyAiRmlsZSBWaWV3ZXIiXV0KKwl3bSB0aXRsZSAkdG9wIFttYyAiJXMgKCVzKTogRmlsZSBWaWV3ZXIiIFthcHBuYW1lXSBbcmVwb25hbWVdXQogCiAJc2V0IGZvbnRfdyBbZm9udCBtZWFzdXJlIGZvbnRfZGlmZiAiMCJdCiAKZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL2JyYW5jaF9jaGVja291dC50Y2wgYi9naXQtZ3VpL2xpYi9icmFuY2hfY2hlY2tvdXQudGNsCmluZGV4IDJlNDU5YTguLmQwNjAzN2QgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvbGliL2JyYW5jaF9jaGVja291dC50Y2wKKysrIGIvZ2l0LWd1aS9saWIvYnJhbmNoX2NoZWNrb3V0LnRjbApAQCAtMTMsNyArMTMsNyBAQAogCWdsb2JhbCB1c2VfdHRrIE5TCiAJbWFrZV9kaWFsb2cgdG9wIHcKIAl3bSB3aXRoZHJhdyAkdwotCXdtIHRpdGxlICR0b3AgW2FwcGVuZCAiW2FwcG5hbWVdIChbcmVwb25hbWVdKTogIiBbbWMgIkNoZWNrb3V0IEJyYW5jaCJdXQorCXdtIHRpdGxlICR0b3AgW21jICIlcyAoJXMpOiBDaGVja291dCBCcmFuY2giIFthcHBuYW1lXSBbcmVwb25hbWVdXQogCWlmIHskdG9wIG5lIHsufX0gewogCQl3bSBnZW9tZXRyeSAkdG9wICIrW3dpbmZvIHJvb3R4IC5dK1t3aW5mbyByb290eSAuXSIKIAl9CmRpZmYgLS1naXQgYS9naXQtZ3VpL2xpYi9icmFuY2hfY3JlYXRlLnRjbCBiL2dpdC1ndWkvbGliL2JyYW5jaF9jcmVhdGUudGNsCmluZGV4IDRiYjkwNzcuLmJhMzY3ZDUgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvbGliL2JyYW5jaF9jcmVhdGUudGNsCisrKyBiL2dpdC1ndWkvbGliL2JyYW5jaF9jcmVhdGUudGNsCkBAIC0yMCw3ICsyMCw3IEBACiAKIAltYWtlX2RpYWxvZyB0b3AgdwogCXdtIHdpdGhkcmF3ICR3Ci0Jd20gdGl0bGUgJHRvcCBbYXBwZW5kICJbYXBwbmFtZV0gKFtyZXBvbmFtZV0pOiAiIFttYyAiQ3JlYXRlIEJyYW5jaCJdXQorCXdtIHRpdGxlICR0b3AgW21jICIlcyAoJXMpOiBDcmVhdGUgQnJhbmNoIiBbYXBwbmFtZV0gW3JlcG9uYW1lXV0KIAlpZiB7JHRvcCBuZSB7Ln19IHsKIAkJd20gZ2VvbWV0cnkgJHRvcCAiK1t3aW5mbyByb290eCAuXStbd2luZm8gcm9vdHkgLl0iCiAJfQpkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9saWIvYnJhbmNoX2RlbGV0ZS50Y2wgYi9naXQtZ3VpL2xpYi9icmFuY2hfZGVsZXRlLnRjbAppbmRleCA4Njc5MzhlLi5hNTA1MTYzIDEwMDY0NAotLS0gYS9naXQtZ3VpL2xpYi9icmFuY2hfZGVsZXRlLnRjbAorKysgYi9naXQtZ3VpL2xpYi9icmFuY2hfZGVsZXRlLnRjbApAQCAtMTMsNyArMTMsNyBAQAogCiAJbWFrZV9kaWFsb2cgdG9wIHcKIAl3bSB3aXRoZHJhdyAkdwotCXdtIHRpdGxlICR0b3AgW2FwcGVuZCAiW2FwcG5hbWVdIChbcmVwb25hbWVdKTogIiBbbWMgIkRlbGV0ZSBCcmFuY2giXV0KKwl3bSB0aXRsZSAkdG9wIFttYyAiJXMgKCVzKTogRGVsZXRlIEJyYW5jaCIgW2FwcG5hbWVdIFtyZXBvbmFtZV1dCiAJaWYgeyR0b3AgbmUgey59fSB7CiAJCXdtIGdlb21ldHJ5ICR0b3AgIitbd2luZm8gcm9vdHggLl0rW3dpbmZvIHJvb3R5IC5dIgogCX0KQEAgLTEyOCw3ICsxMjgsNyBAQAogCQlzZXQgYiBbbGluZGV4ICRpIDBdCiAJCXNldCBvIFtsaW5kZXggJGkgMV0KIAkJaWYge1tjYXRjaCB7Z2l0IGJyYW5jaCAtRCAkYn0gZXJyXX0gewotCQkJYXBwZW5kIGZhaWxlZCAiIC0gJGI6ICRlcnJcbiIKKwkJCWFwcGVuZCBmYWlsZWQgW21jICIgLSAlczoiICRiXSAiICRlcnJcbiIKIAkJfQogCX0KIApkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9saWIvYnJhbmNoX3JlbmFtZS50Y2wgYi9naXQtZ3VpL2xpYi9icmFuY2hfcmVuYW1lLnRjbAppbmRleCA2ZTUxMGVjLi4zYTJkNzlhIDEwMDY0NAotLS0gYS9naXQtZ3VpL2xpYi9icmFuY2hfcmVuYW1lLnRjbAorKysgYi9naXQtZ3VpL2xpYi9icmFuY2hfcmVuYW1lLnRjbApAQCAtMTIsNyArMTIsNyBAQAogCiAJbWFrZV9kaWFsb2cgdG9wIHcKIAl3bSB3aXRoZHJhdyAkdwotCXdtIHRpdGxlICR0b3AgW2FwcGVuZCAiW2FwcG5hbWVdIChbcmVwb25hbWVdKTogIiBbbWMgIlJlbmFtZSBCcmFuY2giXV0KKwl3bSB0aXRsZSAkdG9wIFttYyAiJXMgKCVzKTogUmVuYW1lIEJyYW5jaCIgW2FwcG5hbWVdIFtyZXBvbmFtZV1dCiAJaWYgeyR0b3AgbmUgey59fSB7CiAJCXdtIGdlb21ldHJ5ICR0b3AgIitbd2luZm8gcm9vdHggLl0rW3dpbmZvIHJvb3R5IC5dIgogCX0KZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL2Jyb3dzZXIudGNsIGIvZ2l0LWd1aS9saWIvYnJvd3Nlci50Y2wKaW5kZXggMDMyODMzOC4uYTk4Mjk4MyAxMDA2NDQKLS0tIGEvZ2l0LWd1aS9saWIvYnJvd3Nlci50Y2wKKysrIGIvZ2l0LWd1aS9saWIvYnJvd3Nlci50Y2wKQEAgLTI0LDcgKzI0LDcgQEAKIAlnbG9iYWwgY3Vyc29yX3B0ciBNMUIgdXNlX3R0ayBOUwogCW1ha2VfZGlhbG9nIHRvcCB3CiAJd20gd2l0aGRyYXcgJHRvcAotCXdtIHRpdGxlICR0b3AgW2FwcGVuZCAiW2FwcG5hbWVdIChbcmVwb25hbWVdKTogIiBbbWMgIkZpbGUgQnJvd3NlciJdXQorCXdtIHRpdGxlICR0b3AgW21jICIlcyAoJXMpOiBGaWxlIEJyb3dzZXIiIFthcHBuYW1lXSBbcmVwb25hbWVdXQogCiAJaWYgeyRwYXRoIG5lIHt9fSB7CiAJCWlmIHtbc3RyaW5nIGluZGV4ICRwYXRoIGVuZF0gbmUgey99fSB7CkBAIC0xOTcsNyArMTk3LDcgQEAKIAkkdyBjb25mIC1zdGF0ZSBkaXNhYmxlZAogCiAJc2V0IGZkIFtnaXRfcmVhZCBscy10cmVlIC16ICR0cmVlX2lkXQotCWZjb25maWd1cmUgJGZkIC1ibG9ja2luZyAwIC10cmFuc2xhdGlvbiBiaW5hcnkgLWVuY29kaW5nIGJpbmFyeQorCWZjb25maWd1cmUgJGZkIC1ibG9ja2luZyAwIC10cmFuc2xhdGlvbiBiaW5hcnkgLWVuY29kaW5nIHV0Zi04CiAJZmlsZWV2ZW50ICRmZCByZWFkYWJsZSBbY2IgX3JlYWQgJGZkXQogfQogCkBAIC0yNzIsNyArMjcyLDcgQEAKIAlnbG9iYWwgdXNlX3R0ayBOUwogCW1ha2VfZGlhbG9nIHRvcCB3CiAJd20gd2l0aGRyYXcgJHRvcAotCXdtIHRpdGxlICR0b3AgW2FwcGVuZCAiW2FwcG5hbWVdIChbcmVwb25hbWVdKTogIiBbbWMgIkJyb3dzZSBCcmFuY2ggRmlsZXMiXV0KKwl3bSB0aXRsZSAkdG9wIFttYyAiJXMgKCVzKTogQnJvd3NlIEJyYW5jaCBGaWxlcyIgW2FwcG5hbWVdIFtyZXBvbmFtZV1dCiAJaWYgeyR0b3AgbmUgey59fSB7CiAJCXdtIGdlb21ldHJ5ICR0b3AgIitbd2luZm8gcm9vdHggLl0rW3dpbmZvIHJvb3R5IC5dIgogCQl3bSB0cmFuc2llbnQgJHRvcCAuCmRpZmYgLS1naXQgYS9naXQtZ3VpL2xpYi9jb21taXQudGNsIGIvZ2l0LWd1aS9saWIvY29tbWl0LnRjbAppbmRleCA4NjRiNjg3Li44MzYyMGI3IDEwMDY0NAotLS0gYS9naXQtZ3VpL2xpYi9jb21taXQudGNsCisrKyBiL2dpdC1ndWkvbGliL2NvbW1pdC50Y2wKQEAgLTIsNyArMiw3IEBACiAjIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBTaGF3biBQZWFyY2UKIAogcHJvYyBsb2FkX2xhc3RfY29tbWl0IHt9IHsKLQlnbG9iYWwgSEVBRCBQQVJFTlQgTUVSR0VfSEVBRCBjb21taXRfdHlwZSB1aV9jb21tCisJZ2xvYmFsIEhFQUQgUEFSRU5UIE1FUkdFX0hFQUQgY29tbWl0X3R5cGUgdWlfY29tbSBjb21taXRfYXV0aG9yCiAJZ2xvYmFsIHJlcG9fY29uZmlnCiAKIAlpZiB7W2xsZW5ndGggJFBBUkVOVF0gPT0gMH0gewpAQCAtMzQsNiArMzQsOCBAQAogCQkJCQlsYXBwZW5kIHBhcmVudHMgW3N0cmluZyByYW5nZSAkbGluZSA3IGVuZF0KIAkJCQl9IGVsc2VpZiB7W3N0cmluZyBtYXRjaCB7ZW5jb2RpbmcgKn0gJGxpbmVdfSB7CiAJCQkJCXNldCBlbmMgW3N0cmluZyB0b2xvd2VyIFtzdHJpbmcgcmFuZ2UgJGxpbmUgOSBlbmRdXQorCQkJCX0gZWxzZWlmIHtbcmVnZXhwICJhdXRob3IgKC4qKVxcczwoLiopPlxccyhcXGQuKiQpIiAkbGluZSBhbGwgbmFtZSBlbWFpbCB0aW1lXX0geworCQkJCQlzZXQgY29tbWl0X2F1dGhvciBbbGlzdCBuYW1lICRuYW1lIGVtYWlsICRlbWFpbCBkYXRlICR0aW1lXQogCQkJCX0KIAkJCX0KIAkJCXNldCBtc2cgW3JlYWQgJGZkXQpAQCAtMTA2LDkgKzEwOCwxMCBAQAogfQogCiBwcm9jIGNyZWF0ZV9uZXdfY29tbWl0IHt9IHsKLQlnbG9iYWwgY29tbWl0X3R5cGUgdWlfY29tbQorCWdsb2JhbCBjb21taXRfdHlwZSB1aV9jb21tIGNvbW1pdF9hdXRob3IKIAogCXNldCBjb21taXRfdHlwZSBub3JtYWwKKwl1bnNldCAtbm9jb21wbGFpbiBjb21taXRfYXV0aG9yCiAJJHVpX2NvbW0gZGVsZXRlIDAuMCBlbmQKIAkkdWlfY29tbSBlZGl0IHJlc2V0CiAJJHVpX2NvbW0gZWRpdCBtb2RpZmllZCBmYWxzZQpAQCAtMzIyLDExICszMjUsMTIgQEAKIH0KIAogcHJvYyBjb21taXRfY29tbWl0dHJlZSB7ZmRfd3QgY3VySEVBRCBtc2dfcH0gewotCWdsb2JhbCBIRUFEIFBBUkVOVCBNRVJHRV9IRUFEIGNvbW1pdF90eXBlCisJZ2xvYmFsIEhFQUQgUEFSRU5UIE1FUkdFX0hFQUQgY29tbWl0X3R5cGUgY29tbWl0X2F1dGhvcgogCWdsb2JhbCBjdXJyZW50X2JyYW5jaAogCWdsb2JhbCB1aV9jb21tIHNlbGVjdGVkX2NvbW1pdF90eXBlCiAJZ2xvYmFsIGZpbGVfc3RhdGVzIHNlbGVjdGVkX3BhdGhzIHJlc2Nhbl9hY3RpdmUKIAlnbG9iYWwgcmVwb19jb25maWcKKwlnbG9iYWwgZW52CiAKIAlnZXRzICRmZF93dCB0cmVlX2lkCiAJaWYge1tjYXRjaCB7Y2xvc2UgJGZkX3d0fSBlcnJdfSB7CkBAIC0zNjYsOSArMzcwLDE1IEBACiAJCX0KIAl9CiAKKwlpZiB7W2luZm8gZXhpc3RzIGNvbW1pdF9hdXRob3JdfSB7CisJCXNldCBvbGRfYXV0aG9yIFtjb21taXRfYXV0aG9yX2lkZW50ICRjb21taXRfYXV0aG9yXQorCX0KIAkjIC0tIENyZWF0ZSB0aGUgY29tbWl0LgogCSMKIAlzZXQgY21kIFtsaXN0IGNvbW1pdC10cmVlICR0cmVlX2lkXQorCWlmIHtbaXNfY29uZmlnX3RydWUgY29tbWl0LmdwZ3NpZ25dfSB7CisJCWxhcHBlbmQgY21kIC1TCisJfQogCWZvcmVhY2ggcCBbY29uY2F0ICRQQVJFTlQgJE1FUkdFX0hFQURdIHsKIAkJbGFwcGVuZCBjbWQgLXAgJHAKIAl9CkBAIC0zNzgsOCArMzg4LDE0IEBACiAJCWVycm9yX3BvcHVwIFtzdHJjYXQgW21jICJjb21taXQtdHJlZSBmYWlsZWQ6Il0gIlxuXG4kZXJyIl0KIAkJdWlfc3RhdHVzIFttYyAiQ29tbWl0IGZhaWxlZC4iXQogCQl1bmxvY2tfaW5kZXgKKwkJdW5zZXQgLW5vY29tcGxhaW4gY29tbWl0X2F1dGhvcgorCQljb21taXRfYXV0aG9yX3Jlc2V0ICRvbGRfYXV0aG9yCiAJCXJldHVybgogCX0KKwlpZiB7W2luZm8gZXhpc3RzIGNvbW1pdF9hdXRob3JdfSB7CisJCXVuc2V0IC1ub2NvbXBsYWluIGNvbW1pdF9hdXRob3IKKwkJY29tbWl0X2F1dGhvcl9yZXNldCAkb2xkX2F1dGhvcgorCX0KIAogCSMgLS0gVXBkYXRlIHRoZSBIRUFEIHJlZi4KIAkjCkBAIC01MDYsMyArNTIyLDIwIEBACiAJfQogCWZjb25maWd1cmUgJGZkX3BoIC1ibG9ja2luZyAwCiB9CisKK3Byb2MgY29tbWl0X2F1dGhvcl9pZGVudCB7ZGV0YWlsc30geworCWdsb2JhbCBlbnYKKwlhcnJheSBzZXQgYXV0aG9yICRkZXRhaWxzCisJc2V0IG9sZCBbYXJyYXkgZ2V0IGVudiBHSVRfQVVUSE9SXypdCisJc2V0IGVudihHSVRfQVVUSE9SX05BTUUpICRhdXRob3IobmFtZSkKKwlzZXQgZW52KEdJVF9BVVRIT1JfRU1BSUwpICRhdXRob3IoZW1haWwpCisJc2V0IGVudihHSVRfQVVUSE9SX0RBVEUpICRhdXRob3IoZGF0ZSkKKwlyZXR1cm4gJG9sZAorfQorcHJvYyBjb21taXRfYXV0aG9yX3Jlc2V0IHtkZXRhaWxzfSB7CisJZ2xvYmFsIGVudgorCXVuc2V0IGVudihHSVRfQVVUSE9SX05BTUUpIGVudihHSVRfQVVUSE9SX0VNQUlMKSBlbnYoR0lUX0FVVEhPUl9EQVRFKQorCWlmIHskZGV0YWlscyBuZSB7fX0geworCQlhcnJheSBzZXQgZW52ICRkZXRhaWxzCisJfQorfQpkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9saWIvZGF0YWJhc2UudGNsIGIvZ2l0LWd1aS9saWIvZGF0YWJhc2UudGNsCmluZGV4IDFmMTg3ZWQuLjg1NzgzMDggMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvbGliL2RhdGFiYXNlLnRjbAorKysgYi9naXQtZ3VpL2xpYi9kYXRhYmFzZS50Y2wKQEAgLTU0LDcgKzU0LDcgQEAKIAkJCXNldCB2YWx1ZSAiJHZhbHVlW2xpbmRleCAkcyAyXSIKIAkJfQogCi0JCSR7TlN9OjpsYWJlbCAkdy5zdGF0LmxfJG5hbWUgLXRleHQgIiRsYWJlbDoiIC1hbmNob3IgdworCQkke05TfTo6bGFiZWwgJHcuc3RhdC5sXyRuYW1lIC10ZXh0IFttYyAiJXM6IiAkbGFiZWxdIC1hbmNob3IgdwogCQkke05TfTo6bGFiZWwgJHcuc3RhdC52XyRuYW1lIC10ZXh0ICR2YWx1ZSAtYW5jaG9yIHcKIAkJZ3JpZCAkdy5zdGF0LmxfJG5hbWUgJHcuc3RhdC52XyRuYW1lIC1zdGlja3kgd2UgLXBhZHggezAgNX0KIAl9CkBAIC02Myw3ICs2Myw3IEBACiAJYmluZCAkdyA8VmlzaWJpbGl0eT4gImdyYWIgJHc7IGZvY3VzICR3LmJ1dHRvbnMuY2xvc2UiCiAJYmluZCAkdyA8S2V5LUVzY2FwZT4gW2xpc3QgZGVzdHJveSAkd10KIAliaW5kICR3IDxLZXktUmV0dXJuPiBbbGlzdCBkZXN0cm95ICR3XQotCXdtIHRpdGxlICR3IFthcHBlbmQgIlthcHBuYW1lXSAoW3JlcG9uYW1lXSk6ICIgW21jICJEYXRhYmFzZSBTdGF0aXN0aWNzIl1dCisJd20gdGl0bGUgJHcgW21jICIlcyAoJXMpOiBEYXRhYmFzZSBTdGF0aXN0aWNzIiBbYXBwbmFtZV0gW3JlcG9uYW1lXV0KIAl3bSBkZWljb25pZnkgJHcKIAl0a3dhaXQgd2luZG93ICR3CiB9CmRpZmYgLS1naXQgYS9naXQtZ3VpL2xpYi9kaWZmLnRjbCBiL2dpdC1ndWkvbGliL2RpZmYudGNsCmluZGV4IDBkNTY5ODYuLjRjYWUxMGEgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvbGliL2RpZmYudGNsCisrKyBiL2dpdC1ndWkvbGliL2RpZmYudGNsCkBAIC0xMjcsNiArMTI3LDkgQEAKIAl9IGVsc2UgewogCQlzdGFydF9zaG93X2RpZmYgJGNvbnRfaW5mbwogCX0KKworCWdsb2JhbCBjdXJyZW50X2RpZmZfcGF0aCBzZWxlY3RlZF9wYXRocworCXNldCBzZWxlY3RlZF9wYXRocygkY3VycmVudF9kaWZmX3BhdGgpIDEKIH0KIAogcHJvYyBzaG93X3VubWVyZ2VkX2RpZmYge2NvbnRfaW5mb30gewpAQCAtMjIwLDEwICsyMjMsOSBAQAogCQl9CiAJCSR1aV9kaWZmIGNvbmYgLXN0YXRlIG5vcm1hbAogCQlpZiB7JHR5cGUgZXEge3N1Ym1vZHVsZX19IHsKLQkJCSR1aV9kaWZmIGluc2VydCBlbmQgW2FwcGVuZCBcCi0JCQkJIiogIiBcCi0JCQkJW21jICJHaXQgUmVwb3NpdG9yeSAoc3VicHJvamVjdCkiXSBcCi0JCQkJIlxuIl0gZF9pbmZvCisJCQkkdWlfZGlmZiBpbnNlcnQgZW5kIFwKKwkJCQkiKiBbbWMgIkdpdCBSZXBvc2l0b3J5IChzdWJwcm9qZWN0KSJdXG4iIFwKKwkJCQlkX2luZm8KIAkJfSBlbHNlaWYgeyFbY2F0Y2gge3NldCB0eXBlIFtleGVjIGZpbGUgJHBhdGhdfV19IHsKIAkJCXNldCBuIFtzdHJpbmcgbGVuZ3RoICRwYXRoXQogCQkJaWYge1tzdHJpbmcgZXF1YWwgLWxlbmd0aCAkbiAkcGF0aCAkdHlwZV19IHsKQEAgLTYwOCw3ICs2MTAsNyBAQAogCQlwdXRzIC1ub25ld2xpbmUgJHAgJGN1cnJlbnRfZGlmZl9oZWFkZXIKIAkJcHV0cyAtbm9uZXdsaW5lICRwIFskdWlfZGlmZiBnZXQgJHNfbG5vICRlX2xub10KIAkJY2xvc2UgJHB9IGVycl19IHsKLQkJZXJyb3JfcG9wdXAgW2FwcGVuZCAkZmFpbGVkX21zZyAiXG5cbiRlcnIiXQorCQllcnJvcl9wb3B1cCAiJGZhaWxlZF9tc2dcblxuJGVyciIKIAkJdW5sb2NrX2luZGV4CiAJCXJldHVybgogCX0KQEAgLTgyNiw3ICs4MjgsNyBAQAogCQlwdXRzIC1ub25ld2xpbmUgJHAgJGN1cnJlbnRfZGlmZl9oZWFkZXIKIAkJcHV0cyAtbm9uZXdsaW5lICRwICR3aG9sZXBhdGNoCiAJCWNsb3NlICRwfSBlcnJdfSB7Ci0JCWVycm9yX3BvcHVwIFthcHBlbmQgJGZhaWxlZF9tc2cgIlxuXG4kZXJyIl0KKwkJZXJyb3JfcG9wdXAgIiRmYWlsZWRfbXNnXG5cbiRlcnIiCiAJfQogCiAJdW5sb2NrX2luZGV4CmRpZmYgLS1naXQgYS9naXQtZ3VpL2xpYi9lcnJvci50Y2wgYi9naXQtZ3VpL2xpYi9lcnJvci50Y2wKaW5kZXggYzBmYTY5YS4uODk2OGE1NyAxMDA2NDQKLS0tIGEvZ2l0LWd1aS9saWIvZXJyb3IudGNsCisrKyBiL2dpdC1ndWkvbGliL2Vycm9yLnRjbApAQCAtMTcsNyArMTcsNyBAQAogCXNldCBjbWQgW2xpc3QgdGtfbWVzc2FnZUJveCBcCiAJCS1pY29uIGVycm9yIFwKIAkJLXR5cGUgb2sgXAotCQktdGl0bGUgW2FwcGVuZCAiJHRpdGxlOiAiIFttYyAiZXJyb3IiXV0gXAorCQktdGl0bGUgW21jICIlczogZXJyb3IiICR0aXRsZV0gXAogCQktbWVzc2FnZSAkbXNnXQogCWlmIHtbd2luZm8gaXNtYXBwZWQgW19lcnJvcl9wYXJlbnRdXX0gewogCQlsYXBwZW5kIGNtZCAtcGFyZW50IFtfZXJyb3JfcGFyZW50XQpAQCAtMzMsNyArMzMsNyBAQAogCXNldCBjbWQgW2xpc3QgdGtfbWVzc2FnZUJveCBcCiAJCS1pY29uIHdhcm5pbmcgXAogCQktdHlwZSBvayBcCi0JCS10aXRsZSBbYXBwZW5kICIkdGl0bGU6ICIgW21jICJ3YXJuaW5nIl1dIFwKKwkJLXRpdGxlIFttYyAiJXM6IHdhcm5pbmciICR0aXRsZV0gXAogCQktbWVzc2FnZSAkbXNnXQogCWlmIHtbd2luZm8gaXNtYXBwZWQgW19lcnJvcl9wYXJlbnRdXX0gewogCQlsYXBwZW5kIGNtZCAtcGFyZW50IFtfZXJyb3JfcGFyZW50XQpAQCAtNzcsNyArNzcsNyBAQAogCXdtIHdpdGhkcmF3ICR3CiAKIAkke05TfTo6ZnJhbWUgJHcubQotCSR7TlN9OjpsYWJlbCAkdy5tLmwxIC10ZXh0ICIkaG9vayBob29rIGZhaWxlZDoiIFwKKwkke05TfTo6bGFiZWwgJHcubS5sMSAtdGV4dCBbbWMgIiVzIGhvb2sgZmFpbGVkOiIgJGhvb2tdIFwKIAkJLWFuY2hvciB3IFwKIAkJLWp1c3RpZnkgbGVmdCBcCiAJCS1mb250IGZvbnRfdWlib2xkCkBAIC0xMTMsNyArMTEzLDcgQEAKIAogCWJpbmQgJHcgPFZpc2liaWxpdHk+ICJncmFiICR3OyBmb2N1cyAkdyIKIAliaW5kICR3IDxLZXktUmV0dXJuPiAiZGVzdHJveSAkdyIKLQl3bSB0aXRsZSAkdyBbc3RyY2F0ICJbYXBwbmFtZV0gKFtyZXBvbmFtZV0pOiAiIFttYyAiZXJyb3IiXV0KKwl3bSB0aXRsZSAkdyBbbWMgIiVzICglcyk6IGVycm9yIiBbYXBwbmFtZV0gW3JlcG9uYW1lXV0KIAl3bSBkZWljb25pZnkgJHcKIAl0a3dhaXQgd2luZG93ICR3CiB9CmRpZmYgLS1naXQgYS9naXQtZ3VpL2xpYi9pbmRleC50Y2wgYi9naXQtZ3VpL2xpYi9pbmRleC50Y2wKaW5kZXggNzRhODFhNy4uYjU4OGRiMSAxMDA2NDQKLS0tIGEvZ2l0LWd1aS9saWIvaW5kZXgudGNsCisrKyBiL2dpdC1ndWkvbGliL2luZGV4LnRjbApAQCAtMTE1LDcgKzExNSw3IEBACiAJCXNldCBpbmZvIFtsaW5kZXggJHMgMl0KIAkJaWYgeyRpbmZvIGVxIHt9fSBjb250aW51ZQogCi0JCXB1dHMgLW5vbmV3bGluZSAkZmQgIiRpbmZvXHRbZW5jb2RpbmcgY29udmVydHRvICRwYXRoXVwwIgorCQlwdXRzIC1ub25ld2xpbmUgJGZkICIkaW5mb1x0W2VuY29kaW5nIGNvbnZlcnR0byB1dGYtOCAkcGF0aF1cMCIKIAkJZGlzcGxheV9maWxlICRwYXRoICRuZXcKIAl9CiAKQEAgLTE4Niw3ICsxODYsNyBAQAogCQk/TSB7c2V0IG5ldyBNX30KIAkJPz8ge2NvbnRpbnVlfQogCQl9Ci0JCXB1dHMgLW5vbmV3bGluZSAkZmQgIltlbmNvZGluZyBjb252ZXJ0dG8gJHBhdGhdXDAiCisJCXB1dHMgLW5vbmV3bGluZSAkZmQgIltlbmNvZGluZyBjb252ZXJ0dG8gdXRmLTggJHBhdGhdXDAiCiAJCWRpc3BsYXlfZmlsZSAkcGF0aCAkbmV3CiAJfQogCkBAIC0yNDcsNyArMjQ3LDcgQEAKIAkJP00gLQogCQk/VCAtCiAJCT9EIHsKLQkJCXB1dHMgLW5vbmV3bGluZSAkZmQgIltlbmNvZGluZyBjb252ZXJ0dG8gJHBhdGhdXDAiCisJCQlwdXRzIC1ub25ld2xpbmUgJGZkICJbZW5jb2RpbmcgY29udmVydHRvIHV0Zi04ICRwYXRoXVwwIgogCQkJZGlzcGxheV9maWxlICRwYXRoID9fCiAJCX0KIAkJfQpAQCAtMjkxLDcgKzI5MSw3IEBACiAKIAlpZiB7W2FycmF5IHNpemUgc2VsZWN0ZWRfcGF0aHNdID4gMH0gewogCQl1bnN0YWdlX2hlbHBlciBcCi0JCQl7VW5zdGFnaW5nIHNlbGVjdGVkIGZpbGVzIGZyb20gY29tbWl0fSBcCisJCQlbbWMgIlVuc3RhZ2luZyBzZWxlY3RlZCBmaWxlcyBmcm9tIGNvbW1pdCJdIFwKIAkJCVthcnJheSBuYW1lcyBzZWxlY3RlZF9wYXRoc10KIAl9IGVsc2VpZiB7JGN1cnJlbnRfZGlmZl9wYXRoIG5lIHt9fSB7CiAJCXVuc3RhZ2VfaGVscGVyIFwKQEAgLTM0Myw3ICszNDMsNyBAQAogCiAJaWYge1thcnJheSBzaXplIHNlbGVjdGVkX3BhdGhzXSA+IDB9IHsKIAkJYWRkX2hlbHBlciBcCi0JCQl7QWRkaW5nIHNlbGVjdGVkIGZpbGVzfSBcCisJCQlbbWMgIkFkZGluZyBzZWxlY3RlZCBmaWxlcyJdIFwKIAkJCVthcnJheSBuYW1lcyBzZWxlY3RlZF9wYXRoc10KIAl9IGVsc2VpZiB7JGN1cnJlbnRfZGlmZl9wYXRoIG5lIHt9fSB7CiAJCWFkZF9oZWxwZXIgXApAQCAtMzg1LDcgKzM4NSw3IEBACiAJCQlzZXQgcGF0aHMgW2NvbmNhdCAkcGF0aHMgJHVudHJhY2tlZF9wYXRoc10KIAkJfQogCX0KLQlhZGRfaGVscGVyIHtBZGRpbmcgYWxsIGNoYW5nZWQgZmlsZXN9ICRwYXRocworCWFkZF9oZWxwZXIgW21jICJBZGRpbmcgYWxsIGNoYW5nZWQgZmlsZXMiXSAkcGF0aHMKIH0KIAogcHJvYyByZXZlcnRfaGVscGVyIHt0eHQgcGF0aHN9IHsKZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL21lcmdlLnRjbCBiL2dpdC1ndWkvbGliL21lcmdlLnRjbAppbmRleCA0NjBkMzJmLi45ZjI1M2RiIDEwMDY0NAotLS0gYS9naXQtZ3VpL2xpYi9tZXJnZS50Y2wKKysrIGIvZ2l0LWd1aS9saWIvbWVyZ2UudGNsCkBAIC0xMTIsMTIgKzExMiwxNiBAQAogCWNsb3NlICRmaAogCXNldCBfbGFzdF9tZXJnZWRfYnJhbmNoICRicmFuY2gKIAotCXNldCBjbWQgW2xpc3QgZ2l0XQotCWxhcHBlbmQgY21kIG1lcmdlCi0JbGFwcGVuZCBjbWQgLS1zdHJhdGVneT1yZWN1cnNpdmUKLQlsYXBwZW5kIGNtZCBbZ2l0IGZtdC1tZXJnZS1tc2cgPFtnaXRkaXIgRkVUQ0hfSEVBRF1dCi0JbGFwcGVuZCBjbWQgSEVBRAotCWxhcHBlbmQgY21kICRuYW1lCisJaWYge1tnaXQtdmVyc2lvbiA+PSAiMi41LjAiXX0geworCQlzZXQgY21kIFtsaXN0IGdpdCBtZXJnZSAtLXN0cmF0ZWd5PXJlY3Vyc2l2ZSBGRVRDSF9IRUFEXQorCX0gZWxzZSB7CisJCXNldCBjbWQgW2xpc3QgZ2l0XQorCQlsYXBwZW5kIGNtZCBtZXJnZQorCQlsYXBwZW5kIGNtZCAtLXN0cmF0ZWd5PXJlY3Vyc2l2ZQorCQlsYXBwZW5kIGNtZCBbZ2l0IGZtdC1tZXJnZS1tc2cgPFtnaXRkaXIgRkVUQ0hfSEVBRF1dCisJCWxhcHBlbmQgY21kIEhFQUQKKwkJbGFwcGVuZCBjbWQgJG5hbWUKKwl9CiAKIAl1aV9zdGF0dXMgW21jICJNZXJnaW5nICVzIGFuZCAlcy4uLiIgJGN1cnJlbnRfYnJhbmNoICRzdGl0bGVdCiAJc2V0IGNvbnMgW2NvbnNvbGU6Om5ldyBbbWMgIk1lcmdlIl0gIm1lcmdlICRzdGl0bGUiXQpAQCAtMTQ5LDcgKzE1Myw3IEBACiAJfQogCiAJbWFrZV9kaWFsb2cgdG9wIHcKLQl3bSB0aXRsZSAkdG9wIFthcHBlbmQgIlthcHBuYW1lXSAoW3JlcG9uYW1lXSk6ICIgW21jICJNZXJnZSJdXQorCXdtIHRpdGxlICR0b3AgW21jICIlcyAoJXMpOiBNZXJnZSIgW2FwcG5hbWVdIFtyZXBvbmFtZV1dCiAJaWYgeyR0b3AgbmUgey59fSB7CiAJCXdtIGdlb21ldHJ5ICR0b3AgIitbd2luZm8gcm9vdHggLl0rW3dpbmZvIHJvb3R5IC5dIgogCX0KZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL29wdGlvbi50Y2wgYi9naXQtZ3VpL2xpYi9vcHRpb24udGNsCmluZGV4IGI1YjZiMmYuLmU0Mzk3MWIgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvbGliL29wdGlvbi50Y2wKKysrIGIvZ2l0LWd1aS9saWIvb3B0aW9uLnRjbApAQCAtMTc5LDcgKzE3OSw3IEBACiAJCQlpLSogewogCQkJCXJlZ2V4cCAtLSB7LShcZCspXC5cLihcZCspJH0gJHR5cGUgX2p1bmsgbWluIG1heAogCQkJCSR7TlN9OjpmcmFtZSAkdy4kZi4kb3B0aWQKLQkJCQkke05TfTo6bGFiZWwgJHcuJGYuJG9wdGlkLmwgLXRleHQgIiR0ZXh0OiIKKwkJCQkke05TfTo6bGFiZWwgJHcuJGYuJG9wdGlkLmwgLXRleHQgW21jICIlczoiICR0ZXh0XQogCQkJCXBhY2sgJHcuJGYuJG9wdGlkLmwgLXNpZGUgbGVmdCAtYW5jaG9yIHcgLWZpbGwgeAogCQkJCXRzcGluYm94ICR3LiRmLiRvcHRpZC52IFwKIAkJCQkJLXRleHR2YXJpYWJsZSAke2Z9X2NvbmZpZ19uZXcoJG5hbWUpIFwKQEAgLTE5NCw3ICsxOTQsNyBAQAogCQkJYyAtCiAJCQl0IHsKIAkJCQkke05TfTo6ZnJhbWUgJHcuJGYuJG9wdGlkCi0JCQkJJHtOU306OmxhYmVsICR3LiRmLiRvcHRpZC5sIC10ZXh0ICIkdGV4dDoiCisJCQkJJHtOU306OmxhYmVsICR3LiRmLiRvcHRpZC5sIC10ZXh0IFttYyAiJXM6IiAkdGV4dF0KIAkJCQkke05TfTo6ZW50cnkgJHcuJGYuJG9wdGlkLnYgXAogCQkJCQktd2lkdGggMjAgXAogCQkJCQktdGV4dHZhcmlhYmxlICR7Zn1fY29uZmlnX25ldygkbmFtZSkKQEAgLTIxNyw3ICsyMTcsNyBAQAogCQkJcyB7CiAJCQkJc2V0IG9wdHMgW2V2YWwgW2xpbmRleCAkb3B0aW9uIDNdXQogCQkJCSR7TlN9OjpmcmFtZSAkdy4kZi4kb3B0aWQKLQkJCQkke05TfTo6bGFiZWwgJHcuJGYuJG9wdGlkLmwgLXRleHQgIiR0ZXh0OiIKKwkJCQkke05TfTo6bGFiZWwgJHcuJGYuJG9wdGlkLmwgLXRleHQgW21jICIlczoiICR0ZXh0XQogCQkJCWlmIHskdXNlX3R0a30gewogCQkJCQl0dGs6OmNvbWJvYm94ICR3LiRmLiRvcHRpZC52IFwKIAkJCQkJCS10ZXh0dmFyaWFibGUgJHtmfV9jb25maWdfbmV3KCRuYW1lKSBcCkBAIC0yNzksNyArMjc5LDcgQEAKIAkJCVtmb250IGNvbmZpZ3VyZSAkZm9udCAtc2l6ZV0KIAogCQkke05TfTo6ZnJhbWUgJHcuZ2xvYmFsLiRuYW1lCi0JCSR7TlN9OjpsYWJlbCAkdy5nbG9iYWwuJG5hbWUubCAtdGV4dCAiJHRleHQ6IgorCQkke05TfTo6bGFiZWwgJHcuZ2xvYmFsLiRuYW1lLmwgLXRleHQgW21jICIlczoiICR0ZXh0XQogCQkke05TfTo6YnV0dG9uICR3Lmdsb2JhbC4kbmFtZS5iIFwKIAkJCS10ZXh0IFttYyAiQ2hhbmdlIEZvbnQiXSBcCiAJCQktY29tbWFuZCBbbGlzdCBcCmRpZmYgLS1naXQgYS9naXQtZ3VpL2xpYi9yZW1vdGUudGNsIGIvZ2l0LWd1aS9saWIvcmVtb3RlLnRjbAppbmRleCA0ZTVjNzg0Li5lZjc3ZWQ3IDEwMDY0NAotLS0gYS9naXQtZ3VpL2xpYi9yZW1vdGUudGNsCisrKyBiL2dpdC1ndWkvbGliL3JlbW90ZS50Y2wKQEAgLTI0NiwyMiArMjQ2LDIyIEBACiAJaWYgeyRoYXZlX3JlbW90ZSA+IDF9IHsKIAkJbWFrZV9zdXJlX3JlbW90ZV9zdWJtZW51ZXNfZXhpc3QgJHJlbW90ZV9tCiAJCWlmIHtbJGZldGNoX20gdHlwZSBlbmRdIGVxICJjb21tYW5kIiBcCi0JCQkmJiBbJGZldGNoX20gZW50cnljZ2V0IGVuZCAtbGFiZWxdIG5lICJBbGwifSB7CisJCQkJJiYgWyRmZXRjaF9tIGVudHJ5Y2dldCBlbmQgLWxhYmVsXSBuZSBbbWMgIkFsbCJdfSB7CiAKIAkJCSRmZXRjaF9tIGluc2VydCBlbmQgc2VwYXJhdG9yCiAJCQkkZmV0Y2hfbSBpbnNlcnQgZW5kIGNvbW1hbmQgXAotCQkJCS1sYWJlbCAiQWxsIiBcCisJCQkJLWxhYmVsIFttYyAiQWxsIl0gXAogCQkJCS1jb21tYW5kIGZldGNoX2Zyb21fYWxsCiAKIAkJCSRwcnVuZV9tIGluc2VydCBlbmQgc2VwYXJhdG9yCiAJCQkkcHJ1bmVfbSBpbnNlcnQgZW5kIGNvbW1hbmQgXAotCQkJCS1sYWJlbCAiQWxsIiBcCisJCQkJLWxhYmVsIFttYyAiQWxsIl0gXAogCQkJCS1jb21tYW5kIHBydW5lX2Zyb21fYWxsCiAJCX0KIAl9IGVsc2UgewogCQlpZiB7W3dpbmZvIGV4aXN0cyAkZmV0Y2hfbV19IHsKIAkJCWlmIHtbJGZldGNoX20gdHlwZSBlbmRdIGVxICJjb21tYW5kIiBcCi0JCQkJJiYgWyRmZXRjaF9tIGVudHJ5Y2dldCBlbmQgLWxhYmVsXSBlcSAiQWxsIn0geworCQkJCQkmJiBbJGZldGNoX20gZW50cnljZ2V0IGVuZCAtbGFiZWxdIGVxIFttYyAiQWxsIl19IHsKIAogCQkJCWRlbGV0ZV9mcm9tX21lbnUgJGZldGNoX20gZW5kCiAJCQkJZGVsZXRlX2Zyb21fbWVudSAkZmV0Y2hfbSBlbmQKZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL3JlbW90ZV9hZGQudGNsIGIvZ2l0LWd1aS9saWIvcmVtb3RlX2FkZC50Y2wKaW5kZXggNTAwMjlkMC4uNDgwYTZiMyAxMDA2NDQKLS0tIGEvZ2l0LWd1aS9saWIvcmVtb3RlX2FkZC50Y2wKKysrIGIvZ2l0LWd1aS9saWIvcmVtb3RlX2FkZC50Y2wKQEAgLTE3LDcgKzE3LDcgQEAKIAogCW1ha2VfZGlhbG9nIHRvcCB3CiAJd20gd2l0aGRyYXcgJHRvcAotCXdtIHRpdGxlICR0b3AgW2FwcGVuZCAiW2FwcG5hbWVdIChbcmVwb25hbWVdKTogIiBbbWMgIkFkZCBSZW1vdGUiXV0KKwl3bSB0aXRsZSAkdG9wIFttYyAiJXMgKCVzKTogQWRkIFJlbW90ZSIgW2FwcG5hbWVdIFtyZXBvbmFtZV1dCiAJaWYgeyR0b3AgbmUgey59fSB7CiAJCXdtIGdlb21ldHJ5ICR0b3AgIitbd2luZm8gcm9vdHggLl0rW3dpbmZvIHJvb3R5IC5dIgogCX0KZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbCBiL2dpdC1ndWkvbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbAppbmRleCBmY2MwNmQwLi41YmE5ZmNhIDEwMDY0NAotLS0gYS9naXQtZ3VpL2xpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2wKKysrIGIvZ2l0LWd1aS9saWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsCkBAIC0yNiw3ICsyNiw3IEBACiAJZ2xvYmFsIGFsbF9yZW1vdGVzIE0xQiB1c2VfdHRrIE5TCiAKIAltYWtlX2RpYWxvZyB0b3AgdwotCXdtIHRpdGxlICR0b3AgW2FwcGVuZCAiW2FwcG5hbWVdIChbcmVwb25hbWVdKTogIiBbbWMgIkRlbGV0ZSBCcmFuY2ggUmVtb3RlbHkiXV0KKwl3bSB0aXRsZSAkdG9wIFttYyAiJXMgKCVzKTogRGVsZXRlIEJyYW5jaCBSZW1vdGVseSIgW2FwcG5hbWVdIFtyZXBvbmFtZV1dCiAJaWYgeyR0b3AgbmUgey59fSB7CiAJCXdtIGdlb21ldHJ5ICR0b3AgIitbd2luZm8gcm9vdHggLl0rW3dpbmZvIHJvb3R5IC5dIgogCX0KZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL3Nob3J0Y3V0LnRjbCBiL2dpdC1ndWkvbGliL3Nob3J0Y3V0LnRjbAppbmRleCA3ODg3OGVmLi45N2QxZDdhIDEwMDY0NAotLS0gYS9naXQtZ3VpL2xpYi9zaG9ydGN1dC50Y2wKKysrIGIvZ2l0LWd1aS9saWIvc2hvcnRjdXQudGNsCkBAIC01LDE3ICs1LDIwIEBACiAJZ2xvYmFsIF9naXR3b3JrdHJlZQogCXNldCBmbiBbdGtfZ2V0U2F2ZUZpbGUgXAogCQktcGFyZW50IC4gXAotCQktdGl0bGUgW2FwcGVuZCAiW2FwcG5hbWVdIChbcmVwb25hbWVdKTogIiBbbWMgIkNyZWF0ZSBEZXNrdG9wIEljb24iXV0gXAorCQktdGl0bGUgW21jICIlcyAoJXMpOiBDcmVhdGUgRGVza3RvcCBJY29uIiBbYXBwbmFtZV0gW3JlcG9uYW1lXV0gXAogCQktaW5pdGlhbGZpbGUgIkdpdCBbcmVwb25hbWVdLmxuayJdCiAJaWYgeyRmbiAhPSB7fX0gewogCQlpZiB7W2ZpbGUgZXh0ZW5zaW9uICRmbl0gbmUgey5sbmt9fSB7CiAJCQlzZXQgZm4gJHtmbn0ubG5rCiAJCX0KKwkJIyBVc2UgZ2l0LWd1aS5leGUgaWYgYXZhaWxhYmxlIChpZTogZ2l0LWZvci13aW5kb3dzKQorCQlzZXQgY21kTGluZSBbYXV0b19leGVjb2sgZ2l0LWd1aS5leGVdCisJCWlmIHskY21kTGluZSBlcSB7fX0geworCQkJc2V0IGNtZExpbmUgW2xpc3QgW2luZm8gbmFtZW9mZXhlY3V0YWJsZV0gXAorCQkJCQkJCSBbZmlsZSBub3JtYWxpemUgJDo6YXJndjBdXQorCQl9CiAJCWlmIHtbY2F0Y2ggewotCQkJCXdpbjMyX2NyZWF0ZV9sbmsgJGZuIFtsaXN0IFwKLQkJCQkJW2luZm8gbmFtZW9mZXhlY3V0YWJsZV0gXAotCQkJCQlbZmlsZSBub3JtYWxpemUgJDo6YXJndjBdIFwKLQkJCQkJXSBcCisJCQkJd2luMzJfY3JlYXRlX2xuayAkZm4gJGNtZExpbmUgXAogCQkJCQlbZmlsZSBub3JtYWxpemUgJF9naXR3b3JrdHJlZV0KIAkJCX0gZXJyXX0gewogCQkJZXJyb3JfcG9wdXAgW3N0cmNhdCBbbWMgIkNhbm5vdCB3cml0ZSBzaG9ydGN1dDoiXSAiXG5cbiRlcnIiXQpAQCAtMzcsNyArNDAsNyBAQAogCX0KIAlzZXQgZm4gW3RrX2dldFNhdmVGaWxlIFwKIAkJLXBhcmVudCAuIFwKLQkJLXRpdGxlIFthcHBlbmQgIlthcHBuYW1lXSAoW3JlcG9uYW1lXSk6ICIgW21jICJDcmVhdGUgRGVza3RvcCBJY29uIl1dIFwKKwkJLXRpdGxlIFttYyAiJXMgKCVzKTogQ3JlYXRlIERlc2t0b3AgSWNvbiIgW2FwcG5hbWVdIFtyZXBvbmFtZV1dIFwKIAkJLWluaXRpYWxkaXIgJGRlc2t0b3AgXAogCQktaW5pdGlhbGZpbGUgIkdpdCBbcmVwb25hbWVdLmxuayJdCiAJaWYgeyRmbiAhPSB7fX0gewpAQCAtNjksNyArNzIsNyBAQAogCiAJc2V0IGZuIFt0a19nZXRTYXZlRmlsZSBcCiAJCS1wYXJlbnQgLiBcCi0JCS10aXRsZSBbYXBwZW5kICJbYXBwbmFtZV0gKFtyZXBvbmFtZV0pOiAiIFttYyAiQ3JlYXRlIERlc2t0b3AgSWNvbiJdXSBcCisJCS10aXRsZSBbbWMgIiVzICglcyk6IENyZWF0ZSBEZXNrdG9wIEljb24iIFthcHBuYW1lXSBbcmVwb25hbWVdXSBcCiAJCS1pbml0aWFsZGlyIFtmaWxlIGpvaW4gJGVudihIT01FKSBEZXNrdG9wXSBcCiAJCS1pbml0aWFsZmlsZSAiR2l0IFtyZXBvbmFtZV0uYXBwIl0KIAlpZiB7JGZuICE9IHt9fSB7CmRpZmYgLS1naXQgYS9naXQtZ3VpL2xpYi90aGVtZWQudGNsIGIvZ2l0LWd1aS9saWIvdGhlbWVkLnRjbAppbmRleCA4Yjg4ZDM2Li4zNTFhNzEyIDEwMDY0NAotLS0gYS9naXQtZ3VpL2xpYi90aGVtZWQudGNsCisrKyBiL2dpdC1ndWkvbGliL3RoZW1lZC50Y2wKQEAgLTc4LDYgKzc4LDU3IEBACiAJfQogfQogCisjIERlZmluZSBhIHN0eWxlIHVzZWQgZm9yIHRoZSBzdXJyb3VuZCBvZiB0ZXh0IHdpZGdldHMuCitwcm9jIEluaXRFbnRyeUZyYW1lIHt9IHsKKwl0dGs6OnN0eWxlIHRoZW1lIHNldHRpbmdzIGRlZmF1bHQgeworCQl0dGs6OnN0eWxlIGxheW91dCBFbnRyeUZyYW1lIHsKKwkJCUVudHJ5RnJhbWUuZmllbGQgLXN0aWNreSBuc3dlIC1ib3JkZXIgMCAtY2hpbGRyZW4geworCQkJCUVudHJ5RnJhbWUuZmlsbCAtc3RpY2t5IG5zd2UgLWNoaWxkcmVuIHsKKwkJCQkJRW50cnlGcmFtZS5wYWRkaW5nIC1zdGlja3kgbnN3ZQorCQkJCX0KKwkJCX0KKwkJfQorCQl0dGs6OnN0eWxlIGNvbmZpZ3VyZSBFbnRyeUZyYW1lIC1wYWRkaW5nIDEgLXJlbGllZiBzdW5rZW4KKwkJdHRrOjpzdHlsZSBtYXAgRW50cnlGcmFtZSAtYmFja2dyb3VuZCB7fQorCX0KKwl0dGs6OnN0eWxlIHRoZW1lIHNldHRpbmdzIGNsYXNzaWMgeworCQl0dGs6OnN0eWxlIGNvbmZpZ3VyZSBFbnRyeUZyYW1lIC1wYWRkaW5nIDIgLXJlbGllZiBzdW5rZW4KKwkJdHRrOjpzdHlsZSBtYXAgRW50cnlGcmFtZSAtYmFja2dyb3VuZCB7fQorCX0KKwl0dGs6OnN0eWxlIHRoZW1lIHNldHRpbmdzIGFsdCB7CisJCXR0azo6c3R5bGUgY29uZmlndXJlIEVudHJ5RnJhbWUgLXBhZGRpbmcgMgorCQl0dGs6OnN0eWxlIG1hcCBFbnRyeUZyYW1lIC1iYWNrZ3JvdW5kIHt9CisJfQorCXR0azo6c3R5bGUgdGhlbWUgc2V0dGluZ3MgY2xhbSB7CisJCXR0azo6c3R5bGUgY29uZmlndXJlIEVudHJ5RnJhbWUgLXBhZGRpbmcgMgorCQl0dGs6OnN0eWxlIG1hcCBFbnRyeUZyYW1lIC1iYWNrZ3JvdW5kIHt9CisJfQorCisJIyBJZ25vcmUgZXJyb3JzIGZvciBtaXNzaW5nIG5hdGl2ZSB0aGVtZXMKKwljYXRjaCB7CisJCXR0azo6c3R5bGUgdGhlbWUgc2V0dGluZ3Mgd2lubmF0aXZlIHsKKwkJCXR0azo6c3R5bGUgY29uZmlndXJlIEVudHJ5RnJhbWUgLXBhZGRpbmcgMgorCQl9CisJCXR0azo6c3R5bGUgdGhlbWUgc2V0dGluZ3MgeHBuYXRpdmUgeworCQkJdHRrOjpzdHlsZSBjb25maWd1cmUgRW50cnlGcmFtZSAtcGFkZGluZyAxCisJCQl0dGs6OnN0eWxlIGVsZW1lbnQgY3JlYXRlIEVudHJ5RnJhbWUuZmllbGQgdnNhcGkgXAorCQkJCUVESVQgMSB7ZGlzYWJsZWQgNCBmb2N1cyAzIGFjdGl2ZSAyIHt9IDF9IC1wYWRkaW5nIDEKKwkJfQorCQl0dGs6OnN0eWxlIHRoZW1lIHNldHRpbmdzIHZpc3RhIHsKKwkJCXR0azo6c3R5bGUgY29uZmlndXJlIEVudHJ5RnJhbWUgLXBhZGRpbmcgMgorCQkJdHRrOjpzdHlsZSBlbGVtZW50IGNyZWF0ZSBFbnRyeUZyYW1lLmZpZWxkIHZzYXBpIFwKKwkJCQlFRElUIDYge2Rpc2FibGVkIDQgZm9jdXMgMyBhY3RpdmUgMiB7fSAxfSAtcGFkZGluZyAyCisJCX0KKwl9CisKKwliaW5kIEVudHJ5RnJhbWUgPEVudGVyPiB7JVcgaW5zdGF0ZSAhZGlzYWJsZWQgeyVXIHN0YXRlIGFjdGl2ZX19CisJYmluZCBFbnRyeUZyYW1lIDxMZWF2ZT4geyVXIHN0YXRlICFhY3RpdmV9CisJYmluZCBFbnRyeUZyYW1lIDw8VGhlbWVDaGFuZ2VkPj4geworCQlzZXQgcGFkIFt0dGs6OnN0eWxlIGxvb2t1cCBFbnRyeUZyYW1lIC1wYWRkaW5nXQorCQklVyBjb25maWd1cmUgLXBhZGRpbmcgW2V4cHIgeyRwYWQgZXEge30gPyAxIDogJHBhZH1dCisJfQorfQorCiBwcm9jIGdvbGRfZnJhbWUge3cgYXJnc30gewogCWdsb2JhbCB1c2VfdHRrCiAJaWYgeyR1c2VfdHRrfSB7CkBAIC0xMjMsNyArMTc0LDcgQEAKICMgcGxhY2UgYSB0aGVtZWQgZnJhbWUgb3ZlciB0aGUgc3VyZmFjZS4KIHByb2MgRGlhbG9nIHt3IGFyZ3N9IHsKIAlldmFsIFtsaW5zZXJ0ICRhcmdzIDAgdG9wbGV2ZWwgJHcgLWNsYXNzIERpYWxvZ10KLQljYXRjaCB7d20gYXR0cmlidXRlcyAkdyAtdHlwZSBkaWFsb2d9CQorCWNhdGNoIHt3bSBhdHRyaWJ1dGVzICR3IC10eXBlIGRpYWxvZ30KIAlwYXZlX3RvcGxldmVsICR3CiAJcmV0dXJuICR3CiB9CkBAIC0xOTMsNiArMjQ0LDQwIEBACiAJfQogfQogCisjIENyZWF0ZSBhIHRleHQgd2lkZ2V0IHdpdGggYW55IHRoZW1lIHNwZWNpZmljIHByb3BlcnRpZXMuCitwcm9jIHR0ZXh0IHt3IGFyZ3N9IHsKKwlnbG9iYWwgdXNlX3R0aworCWlmIHskdXNlX3R0a30geworCQlzd2l0Y2ggLS0gW3R0azo6c3R5bGUgdGhlbWUgdXNlXSB7CisJCQkidmlzdGEiIC0gInhwbmF0aXZlIiB7CisJCQkJbGFwcGVuZCBhcmdzIC1oaWdobGlnaHR0aGlja25lc3MgMCAtYm9yZGVyd2lkdGggMAorCQkJfQorCQl9CisJfQorCXNldCB3IFtldmFsIFtsaW5zZXJ0ICRhcmdzIDAgdGV4dCAkd11dCisJaWYgeyR1c2VfdHRrfSB7CisJCWlmIHtbd2luZm8gY2xhc3MgW3dpbmZvIHBhcmVudCAkd11dIGVxICJFbnRyeUZyYW1lIn0geworCQkJYmluZCAkdyA8Rm9jdXNJbj4ge1t3aW5mbyBwYXJlbnQgJVddIHN0YXRlIGZvY3VzfQorCQkJYmluZCAkdyA8Rm9jdXNPdXQ+IHtbd2luZm8gcGFyZW50ICVXXSBzdGF0ZSAhZm9jdXN9CisJCX0KKwl9CisJcmV0dXJuICR3Cit9CisKKyMgdGhlbWVkIGZyYW1lIHN1aXRhYmxlIGZvciBzdXJyb3VuZGluZyBhIHRleHQgZmllbGQuCitwcm9jIHRleHRmcmFtZSB7dyBhcmdzfSB7CisJZ2xvYmFsIHVzZV90dGsKKwlpZiB7JHVzZV90dGt9IHsKKwkJaWYge1tjYXRjaCB7dHRrOjpzdHlsZSBsYXlvdXQgRW50cnlGcmFtZX1dfSB7CisJCQlJbml0RW50cnlGcmFtZQorCQl9CisJCWV2YWwgW2xpbnNlcnQgJGFyZ3MgMCB0dGs6OmZyYW1lICR3IC1jbGFzcyBFbnRyeUZyYW1lIC1zdHlsZSBFbnRyeUZyYW1lXQorCX0gZWxzZSB7CisJCWV2YWwgW2xpbnNlcnQgJGFyZ3MgMCBmcmFtZSAkd10KKwl9CisJcmV0dXJuICR3Cit9CisKIHByb2MgdGVudHJ5IHt3IGFyZ3N9IHsKIAlnbG9iYWwgdXNlX3R0awogCWlmIHskdXNlX3R0a30gewpkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9saWIvdG9vbHMudGNsIGIvZ2l0LWd1aS9saWIvdG9vbHMudGNsCmluZGV4IDZlYzk0MTEuLjQxM2YxYTEgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvbGliL3Rvb2xzLnRjbAorKysgYi9naXQtZ3VpL2xpYi90b29scy50Y2wKQEAgLTY5LDYgKzY5LDcgQEAKIHByb2MgdG9vbHNfZXhlYyB7ZnVsbG5hbWV9IHsKIAlnbG9iYWwgcmVwb19jb25maWcgZW52IGN1cnJlbnRfZGlmZl9wYXRoCiAJZ2xvYmFsIGN1cnJlbnRfYnJhbmNoIGlzX2RldGFjaGVkCisJZ2xvYmFsIHNlbGVjdGVkX3BhdGhzCiAKIAlpZiB7W2lzX2NvbmZpZ190cnVlICJndWl0b29sLiRmdWxsbmFtZS5uZWVkc2ZpbGUiXX0gewogCQlpZiB7JGN1cnJlbnRfZGlmZl9wYXRoIGVxIHt9fSB7CkBAIC0xMDAsNiArMTAxLDcgQEAKIAogCXNldCBlbnYoR0lUX0dVSVRPT0wpICRmdWxsbmFtZQogCXNldCBlbnYoRklMRU5BTUUpICRjdXJyZW50X2RpZmZfcGF0aAorCXNldCBlbnYoRklMRU5BTUVTKSBbam9pbiBbYXJyYXkgbmFtZXMgc2VsZWN0ZWRfcGF0aHNdIFxuXQogCWlmIHskaXNfZGV0YWNoZWR9IHsKIAkJc2V0IGVudihDVVJfQlJBTkNIKSAiIgogCX0gZWxzZSB7CkBAIC0xMjEsNiArMTIzLDcgQEAKIAogCXVuc2V0IGVudihHSVRfR1VJVE9PTCkKIAl1bnNldCBlbnYoRklMRU5BTUUpCisJdW5zZXQgZW52KEZJTEVOQU1FUykKIAl1bnNldCBlbnYoQ1VSX0JSQU5DSCkKIAljYXRjaCB7IHVuc2V0IGVudihBUkdTKSB9CiAJY2F0Y2ggeyB1bnNldCBlbnYoUkVWSVNJT04pIH0KZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL3Rvb2xzX2RsZy50Y2wgYi9naXQtZ3VpL2xpYi90b29sc19kbGcudGNsCmluZGV4IDdlZWRhOWQuLmMwNTQxM2MgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvbGliL3Rvb2xzX2RsZy50Y2wKKysrIGIvZ2l0LWd1aS9saWIvdG9vbHNfZGxnLnRjbApAQCAtMTksNyArMTksNyBAQAogCWdsb2JhbCByZXBvX2NvbmZpZyB1c2VfdHRrIE5TCiAKIAltYWtlX2RpYWxvZyB0b3AgdwotCXdtIHRpdGxlICR0b3AgW2FwcGVuZCAiW2FwcG5hbWVdIChbcmVwb25hbWVdKTogIiBbbWMgIkFkZCBUb29sIl1dCisJd20gdGl0bGUgJHRvcCBbbWMgIiVzICglcyk6IEFkZCBUb29sIiBbYXBwbmFtZV0gW3JlcG9uYW1lXV0KIAlpZiB7JHRvcCBuZSB7Ln19IHsKIAkJd20gZ2VvbWV0cnkgJHRvcCAiK1t3aW5mbyByb290eCAuXStbd2luZm8gcm9vdHkgLl0iCiAJCXdtIHRyYW5zaWVudCAkdG9wIC4KQEAgLTE4NCw3ICsxODQsNyBAQAogCWxvYWRfY29uZmlnIDEKIAogCW1ha2VfZGlhbG9nIHRvcCB3Ci0Jd20gdGl0bGUgJHRvcCBbYXBwZW5kICJbYXBwbmFtZV0gKFtyZXBvbmFtZV0pOiAiIFttYyAiUmVtb3ZlIFRvb2wiXV0KKwl3bSB0aXRsZSAkdG9wIFttYyAiJXMgKCVzKTogUmVtb3ZlIFRvb2wiIFthcHBuYW1lXSBbcmVwb25hbWVdXQogCWlmIHskdG9wIG5lIHsufX0gewogCQl3bSBnZW9tZXRyeSAkdG9wICIrW3dpbmZvIHJvb3R4IC5dK1t3aW5mbyByb290eSAuXSIKIAkJd20gdHJhbnNpZW50ICR0b3AgLgpAQCAtMjgwLDcgKzI4MCw3IEBACiAJfQogCiAJbWFrZV9kaWFsb2cgdG9wIHcgLWF1dG9kZWxldGUgMAotCXdtIHRpdGxlICR0b3AgW2FwcGVuZCAiW2FwcG5hbWVdIChbcmVwb25hbWVdKTogIiAkdGl0bGVdCisJd20gdGl0bGUgJHRvcCAiW21jICIlcyAoJXMpOiIgW2FwcG5hbWVdIFtyZXBvbmFtZV1dICR0aXRsZSIKIAlpZiB7JHRvcCBuZSB7Ln19IHsKIAkJd20gZ2VvbWV0cnkgJHRvcCAiK1t3aW5mbyByb290eCAuXStbd2luZm8gcm9vdHkgLl0iCiAJCXdtIHRyYW5zaWVudCAkdG9wIC4KZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL3RyYW5zcG9ydC50Y2wgYi9naXQtZ3VpL2xpYi90cmFuc3BvcnQudGNsCmluZGV4IGU1ZDIxMWUuLmExYTQyNGEgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvbGliL3RyYW5zcG9ydC50Y2wKKysrIGIvZ2l0LWd1aS9saWIvdHJhbnNwb3J0LnRjbApAQCAtMjI2LDcgKzIyNiw3IEBACiAJYmluZCAkdyA8VmlzaWJpbGl0eT4gImdyYWIgJHc7IGZvY3VzICR3LmJ1dHRvbnMuY3JlYXRlIgogCWJpbmQgJHcgPEtleS1Fc2NhcGU+ICJkZXN0cm95ICR3IgogCWJpbmQgJHcgPEtleS1SZXR1cm4+IFtsaXN0IHN0YXJ0X3B1c2hfYW55d2hlcmVfYWN0aW9uICR3XQotCXdtIHRpdGxlICR3IFthcHBlbmQgIlthcHBuYW1lXSAoW3JlcG9uYW1lXSk6ICIgW21jICJQdXNoIl1dCisJd20gdGl0bGUgJHcgW21jICIlcyAoJXMpOiBQdXNoIiBbYXBwbmFtZV0gW3JlcG9uYW1lXV0KIAl3bSBkZWljb25pZnkgJHcKIAl0a3dhaXQgd2luZG93ICR3CiB9CmRpZmYgLS1naXQgYS9naXQtZ3VpL3BvL2JnLnBvIGIvZ2l0LWd1aS9wby9iZy5wbwppbmRleCA0ZDliMDM5Li41YWY3OGYxIDEwMDY0NAotLS0gYS9naXQtZ3VpL3BvL2JnLnBvCisrKyBiL2dpdC1ndWkvcG8vYmcucG8KQEAgLTEsMTUgKzEsMTUgQEAKICMgQnVsZ2FyaWFuIHRyYW5zbGF0aW9uIG9mIGdpdC1ndWkgcG8tZmlsZS4KLSMgQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzLCAyMDE0LCAyMDE1IEFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz4uCisjIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMywgMjAxNCwgMjAxNSwgMjAxNiBBbGV4YW5kZXIgU2hvcG92IDxhc2hAa2FtYmFuYXJpYS5vcmc+LgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgZ2l0IHBhY2thZ2UuCi0jIEFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz4sIDIwMTIsIDIwMTMsIDIwMTQsIDIwMTUuCisjIEFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz4sIDIwMTIsIDIwMTMsIDIwMTQsIDIwMTUsIDIwMTYuCiAjCiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBnaXQtZ3VpIG1hc3RlclxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNS0wNC0wNyAwNzozNyswMzAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxNS0wNC0wNyAwNzo0NiswMzAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTYtMTAtMTMgMTU6MTYrMDMwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMTAtMTMgMTU6MTYrMDMwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogQWxleGFuZGVyIFNob3BvdiA8YXNoQGthbWJhbmFyaWEub3JnPlxuIgogIkxhbmd1YWdlLVRlYW06IEJ1bGdhcmlhbiA8ZGljdEBmc2EtYmcub3JnPlxuIgogIkxhbmd1YWdlOiBiZ1xuIgpAQCAtMTgsMzMgKzE4LDMzIEBACiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgogIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgogCi0jOiBnaXQtZ3VpLnNoOjg2MQorIzogZ2l0LWd1aS5zaDo4NjUKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGZvbnQgc3BlY2lmaWVkIGluICVzOiIKIG1zZ3N0ciAi0KPQutCw0LfQsNC9INC1INC90LXQv9GA0LDQstC40LvQtdC9INGI0YDQuNGE0YIg0LIg4oCeJXPigJw6IgogCi0jOiBnaXQtZ3VpLnNoOjkxNQorIzogZ2l0LWd1aS5zaDo5MTkKIG1zZ2lkICJNYWluIEZvbnQiCiBtc2dzdHIgItCe0YHQvdC+0LLQtdC9INGI0YDQuNGE0YIiCiAKLSM6IGdpdC1ndWkuc2g6OTE2CisjOiBnaXQtZ3VpLnNoOjkyMAogbXNnaWQgIkRpZmYvQ29uc29sZSBGb250IgogbXNnc3RyICLQqNGA0LjRhNGCINC30LAg0YDQsNC30LvQuNC60LjRgtC1L9C60L7QvdC30L7Qu9Cw0YLQsCIKIAotIzogZ2l0LWd1aS5zaDo5MzEgZ2l0LWd1aS5zaDo5NDUgZ2l0LWd1aS5zaDo5NTggZ2l0LWd1aS5zaDoxMDQ4Ci0jOiBnaXQtZ3VpLnNoOjEwNjcgZ2l0LWd1aS5zaDozMTI1CisjOiBnaXQtZ3VpLnNoOjkzNSBnaXQtZ3VpLnNoOjk0OSBnaXQtZ3VpLnNoOjk2MiBnaXQtZ3VpLnNoOjEwNTIgZ2l0LWd1aS5zaDoxMDcxCisjOiBnaXQtZ3VpLnNoOjMxNDcKIG1zZ2lkICJnaXQtZ3VpOiBmYXRhbCBlcnJvciIKIG1zZ3N0ciAiZ2l0LWd1aTog0YTQsNGC0LDQu9C90LAg0LPRgNC10YjQutCwIgogCi0jOiBnaXQtZ3VpLnNoOjkzMgorIzogZ2l0LWd1aS5zaDo5MzYKIG1zZ2lkICJDYW5ub3QgZmluZCBnaXQgaW4gUEFUSC4iCiBtc2dzdHIgItCa0L7QvNCw0L3QtNCw0YLQsCBnaXQg0LvQuNC/0YHQstCwINCyINC/0YrRgtGPIChQQVRIKS4iCiAKLSM6IGdpdC1ndWkuc2g6OTU5CisjOiBnaXQtZ3VpLnNoOjk2MwogbXNnaWQgIkNhbm5vdCBwYXJzZSBHaXQgdmVyc2lvbiBzdHJpbmc6IgogbXNnc3RyICLQndC40LfRitGCINGBINCy0LXRgNGB0LjRj9GC0LAg0L3QsCBHaXQg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40L3RgtC10YDQv9GA0LXRgtC40YDQsNC9OiIKIAotIzogZ2l0LWd1aS5zaDo5ODQKKyM6IGdpdC1ndWkuc2g6OTg4CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiIgogIkdpdCB2ZXJzaW9uIGNhbm5vdCBiZSBkZXRlcm1pbmVkLlxuIgpAQCAtNjMsNTAzICs2Myw1MDYgQEAKICJcbiIKICLQlNCwINGB0LUg0L/RgNC40LXQvNC1INC70LgsINGH0LUg4oCeJXPigJwg0LUg0LLQtdGA0YHQuNGPIOKAnjEuNS4w4oCcP1xuIgogCi0jOiBnaXQtZ3VpLnNoOjEyODEKKyM6IGdpdC1ndWkuc2g6MTI4NQogbXNnaWQgIkdpdCBkaXJlY3Rvcnkgbm90IGZvdW5kOiIKIG1zZ3N0ciAi0JTQuNGA0LXQutGC0L7RgNC40Y/RgtCwINC90LAgR2l0INC90LUg0LUg0L7RgtC60YDQuNGC0LA6IgogCi0jOiBnaXQtZ3VpLnNoOjEzMTUKKyM6IGdpdC1ndWkuc2g6MTMxOQogbXNnaWQgIkNhbm5vdCBtb3ZlIHRvIHRvcCBvZiB3b3JraW5nIGRpcmVjdG9yeToiCiBtc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQtdC80LjQvdC1INC60YrQvCDRgNC+0LTQuNGC0LXQu9GB0LrQsNGC0LAgINC00LjRgNC10LrRgtC+0YDQuNGPLiIKIAotIzogZ2l0LWd1aS5zaDoxMzIzCisjOiBnaXQtZ3VpLnNoOjEzMjcKIG1zZ2lkICJDYW5ub3QgdXNlIGJhcmUgcmVwb3NpdG9yeToiCiBtc2dzdHIgItCT0L7Qu9C+INGF0YDQsNC90LjQu9C40YnQtSDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/QvtC70LfQstCwOiIKIAotIzogZ2l0LWd1aS5zaDoxMzMxCisjOiBnaXQtZ3VpLnNoOjEzMzUKIG1zZ2lkICJObyB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAi0KDQsNCx0L7RgtC90LDRgtCwINC00LjRgNC10LrRgtC+0YDQuNGPINC70LjQv9GB0LLQsCIKIAotIzogZ2l0LWd1aS5zaDoxNTAzIGxpYi9jaGVja291dF9vcC50Y2w6MzA2CisjOiBnaXQtZ3VpLnNoOjE1MDcgbGliL2NoZWNrb3V0X29wLnRjbDozMDYKIG1zZ2lkICJSZWZyZXNoaW5nIGZpbGUgc3RhdHVzLi4uIgogbXNnc3RyICLQntCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINGB0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDRhNCw0LnQu9Cw4oCmIgogCi0jOiBnaXQtZ3VpLnNoOjE1NjMKKyM6IGdpdC1ndWkuc2g6MTU2NwogbXNnaWQgIlNjYW5uaW5nIGZvciBtb2RpZmllZCBmaWxlcyAuLi4iCiBtc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0LfQsCDQv9GA0L7QvNC10L3QtdC90Lgg0YTQsNC50LvQvtCy0LXigKYiCiAKLSM6IGdpdC1ndWkuc2g6MTYzOQorIzogZ2l0LWd1aS5zaDoxNjQ1CiBtc2dpZCAiQ2FsbGluZyBwcmVwYXJlLWNvbW1pdC1tc2cgaG9vay4uLiIKIG1zZ3N0ciAi0JrRg9C60LDRgtCwIOKAnnByZXBhcmUtY29tbWl0LW1zZ+KAnCDRgdC1INC40LfQv9GK0LvQvdGP0LLQsCDQsiDQvNC+0LzQtdC90YLQsOKApiIKIAotIzogZ2l0LWd1aS5zaDoxNjU2CisjOiBnaXQtZ3VpLnNoOjE2NjIKIG1zZ2lkICJDb21taXQgZGVjbGluZWQgYnkgcHJlcGFyZS1jb21taXQtbXNnIGhvb2suIgogbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC10YLQviDQtSDQvtGC0YXQstGK0YDQu9C10L3QviDQvtGCINC60YPQutCw0YLQsCDigJ5wcmVwYXJlLWNvbW1pdC1tc2figJwuIgogCi0jOiBnaXQtZ3VpLnNoOjE4MTQgbGliL2Jyb3dzZXIudGNsOjI1MgorIzogZ2l0LWd1aS5zaDoxODIwIGxpYi9icm93c2VyLnRjbDoyNTIKIG1zZ2lkICJSZWFkeS4iCiBtc2dzdHIgItCT0L7RgtC+0LLQvi4iCiAKLSM6IGdpdC1ndWkuc2g6MTk3OAorIzogZ2l0LWd1aS5zaDoxOTg0CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiIgogIkRpc3BsYXkgbGltaXQgKGd1aS5tYXhmaWxlc2Rpc3BsYXllZCA9ICVzKSByZWFjaGVkLCBub3Qgc2hvd2luZyBhbGwgJXMgZmlsZXMuIgogbXNnc3RyICIiCi0i0JTQvtGB0YLQuNCz0L3QsNGCINC1INC80LDQutGB0LjQvNCw0LvQvdC40Y/RgiDQsdGA0L7QuSDRhNCw0LnQu9C+0LLQtSDQt9CwINC/0L7QutCw0LfQstCw0L3QtSAoZ3VpLm1heGZpbGVzZGlzcGxheWVkID0gIgotIiVzKS4g0KTQsNC50LvQvtCy0LXRgtC1INGB0LAg0L7QsdGJ0L4gJXMuIgorItCU0L7RgdGC0LjQs9C90LDRgiDQtSDQvNCw0LrRgdC40LzQsNC70L3QuNGP0YIg0YDQsNC30LzQtdGAINC90LAg0YHQv9C40YHRitC60LAg0LfQsCDQuNC30LLQtdC20LTQsNC90LUoZ3VpLiIKKyJtYXhmaWxlc2Rpc3BsYXllZCA9ICVzKSwg0YHRitC+0YLQstC10YLQvdC+INC90LUg0YHQsCDQv9C+0LrQsNC30LDQvdC4INCy0YHQuNGH0LrQuCAlcyDRhNCw0LnQu9CwLiIKIAotIzogZ2l0LWd1aS5zaDoyMTAxCisjOiBnaXQtZ3VpLnNoOjIxMDcKIG1zZ2lkICJVbm1vZGlmaWVkIgogbXNnc3RyICLQndC10L/RgNC+0LzQtdC90LXQvSIKIAotIzogZ2l0LWd1aS5zaDoyMTAzCisjOiBnaXQtZ3VpLnNoOjIxMDkKIG1zZ2lkICJNb2RpZmllZCwgbm90IHN0YWdlZCIKIG1zZ3N0ciAi0J/RgNC+0LzQtdC90LXQvSwg0L3QviDQvdC1INC1INCyINC40L3QtNC10LrRgdCwIgogCi0jOiBnaXQtZ3VpLnNoOjIxMDQgZ2l0LWd1aS5zaDoyMTE2CisjOiBnaXQtZ3VpLnNoOjIxMTAgZ2l0LWd1aS5zaDoyMTIyCiBtc2dpZCAiU3RhZ2VkIGZvciBjb21taXQiCiBtc2dzdHIgItCSINC40L3QtNC10LrRgdCwINC30LAg0L/QvtC00LDQstCw0L3QtSIKIAotIzogZ2l0LWd1aS5zaDoyMTA1IGdpdC1ndWkuc2g6MjExNworIzogZ2l0LWd1aS5zaDoyMTExIGdpdC1ndWkuc2g6MjEyMwogbXNnaWQgIlBvcnRpb25zIHN0YWdlZCBmb3IgY29tbWl0IgogbXNnc3RyICLQp9Cw0YHRgtC4INGB0LAg0LIg0LjQvdC00LXQutGB0LAg0LfQsCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBnaXQtZ3VpLnNoOjIxMDYgZ2l0LWd1aS5zaDoyMTE4CisjOiBnaXQtZ3VpLnNoOjIxMTIgZ2l0LWd1aS5zaDoyMTI0CiBtc2dpZCAiU3RhZ2VkIGZvciBjb21taXQsIG1pc3NpbmciCiBtc2dzdHIgItCSINC40L3QtNC10LrRgdCwINC30LAg0L/QvtC00LDQstCw0L3QtSwg0L3QviDQu9C40L/RgdCy0LAiCiAKLSM6IGdpdC1ndWkuc2g6MjEwOAorIzogZ2l0LWd1aS5zaDoyMTE0CiBtc2dpZCAiRmlsZSB0eXBlIGNoYW5nZWQsIG5vdCBzdGFnZWQiCiBtc2dzdHIgItCS0LjQtNGK0YIg0L3QsCDRhNCw0LnQu9CwINC1INGB0LzQtdC90LXQvSwg0L3QviDQvdC1INC1INCyINC40L3QtNC10LrRgdCwIgogCi0jOiBnaXQtZ3VpLnNoOjIxMDkgZ2l0LWd1aS5zaDoyMTEwCisjOiBnaXQtZ3VpLnNoOjIxMTUgZ2l0LWd1aS5zaDoyMTE2CiBtc2dpZCAiRmlsZSB0eXBlIGNoYW5nZWQsIG9sZCB0eXBlIHN0YWdlZCBmb3IgY29tbWl0IgotbXNnc3RyICLQktC40LTRitGCINC90LAg0YTQsNC50LvQsCDQtSDRgdC80LXQvdC10L0sINC90L4g0LIg0LjQvdC00LXQutGB0LAg0LUg0LLRgdC1INC+0YnQtSDRgdGC0LDRgNC40Y/RgiIKK21zZ3N0ciAi0JLQuNC00YrRgiDQvdCwINGE0LDQudC70LAg0LUg0YHQvNC10L3QtdC9LCDQvdC+INC90L7QstC40Y/RgiDQstC40LQg0L3QtSDQtSDQsiDQuNC90LTQtdC60YHQsCIKIAotIzogZ2l0LWd1aS5zaDoyMTExCisjOiBnaXQtZ3VpLnNoOjIxMTcKIG1zZ2lkICJGaWxlIHR5cGUgY2hhbmdlZCwgc3RhZ2VkIgogbXNnc3RyICLQktC40LTRitGCINC90LAg0YTQsNC50LvQsCDQtSDRgdC80LXQvdC10L0g0Lgg0LUg0LIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGdpdC1ndWkuc2g6MjExMgorIzogZ2l0LWd1aS5zaDoyMTE4CiBtc2dpZCAiRmlsZSB0eXBlIGNoYW5nZSBzdGFnZWQsIG1vZGlmaWNhdGlvbiBub3Qgc3RhZ2VkIgotbXNnc3RyICLQktC40LTRitGCINC90LAg0YTQsNC50LvQsCDQtSDRgdC80LXQvdC10L0sINC90L4g0L/RgNC+0LzRj9C90LDRgtCwINC90LUg0LUg0LIg0LjQvdC00LXQutGB0LAiCittc2dzdHIgItCS0LjQtNGK0YIg0L3QsCDRhNCw0LnQu9CwINC1INGB0LzQtdC90LXQvSDQsiDQuNC90LTQtdC60YHQsCwg0L3QviDQvdC1INC4INGB0YrQtNGK0YDQttCw0L3QuNC10YLQviIKIAotIzogZ2l0LWd1aS5zaDoyMTEzCisjOiBnaXQtZ3VpLnNoOjIxMTkKIG1zZ2lkICJGaWxlIHR5cGUgY2hhbmdlIHN0YWdlZCwgZmlsZSBtaXNzaW5nIgotbXNnc3RyICLQktC40LTRitGCINC90LAg0YTQsNC50LvQsCDQtSDRgdC80LXQvdC10L0sINGE0LDQudC70YrRgiDQu9C40L/RgdCy0LAiCittc2dzdHIgItCS0LjQtNGK0YIg0L3QsCDRhNCw0LnQu9CwINC1INGB0LzQtdC90LXQvSDQsiDQuNC90LTQtdC60YHQsCwg0L3QviDRhNCw0LnQu9GK0YIg0LvQuNC/0YHQstCwIgogCi0jOiBnaXQtZ3VpLnNoOjIxMTUKKyM6IGdpdC1ndWkuc2g6MjEyMQogbXNnaWQgIlVudHJhY2tlZCwgbm90IHN0YWdlZCIKIG1zZ3N0ciAi0J3QtdGB0LvQtdC00LXQvSIKIAotIzogZ2l0LWd1aS5zaDoyMTIwCisjOiBnaXQtZ3VpLnNoOjIxMjYKIG1zZ2lkICJNaXNzaW5nIgogbXNnc3RyICLQm9C40L/RgdCy0LDRiSIKIAotIzogZ2l0LWd1aS5zaDoyMTIxCisjOiBnaXQtZ3VpLnNoOjIxMjcKIG1zZ2lkICJTdGFnZWQgZm9yIHJlbW92YWwiCiBtc2dzdHIgItCSINC40L3QtNC10LrRgdCwINC30LAg0LjQt9GC0YDQuNCy0LDQvdC1IgogCi0jOiBnaXQtZ3VpLnNoOjIxMjIKKyM6IGdpdC1ndWkuc2g6MjEyOAogbXNnaWQgIlN0YWdlZCBmb3IgcmVtb3ZhbCwgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAi0JIg0LjQvdC00LXQutGB0LAg0LfQsCDQuNC30YLRgNC40LLQsNC90LUsINC90L4g0L7RidC1INCz0L4g0LjQvNCwIgogCi0jOiBnaXQtZ3VpLnNoOjIxMjQgZ2l0LWd1aS5zaDoyMTI1IGdpdC1ndWkuc2g6MjEyNiBnaXQtZ3VpLnNoOjIxMjcKLSM6IGdpdC1ndWkuc2g6MjEyOCBnaXQtZ3VpLnNoOjIxMjkKKyM6IGdpdC1ndWkuc2g6MjEzMCBnaXQtZ3VpLnNoOjIxMzEgZ2l0LWd1aS5zaDoyMTMyIGdpdC1ndWkuc2g6MjEzMworIzogZ2l0LWd1aS5zaDoyMTM0IGdpdC1ndWkuc2g6MjEzNQogbXNnaWQgIlJlcXVpcmVzIG1lcmdlIHJlc29sdXRpb24iCiBtc2dzdHIgItCY0LfQuNGB0LrQstCwINC60L7RgNC40LPQuNGA0LDQvdC1INC/0YDQuCDRgdC70LjQstCw0L3QtSIKIAotIzogZ2l0LWd1aS5zaDoyMTY0CisjOiBnaXQtZ3VpLnNoOjIxNzAKIG1zZ2lkICJTdGFydGluZyBnaXRrLi4uIHBsZWFzZSB3YWl0Li4uIgogbXNnc3RyICLQodGC0LDRgNGC0LjRgNCw0L3QtSDQvdCwIOKAnmdpdGvigJzigKYsINC40LfRh9Cw0LrQsNC50YLQteKApiIKIAotIzogZ2l0LWd1aS5zaDoyMTc2CisjOiBnaXQtZ3VpLnNoOjIxODIKIG1zZ2lkICJDb3VsZG4ndCBmaW5kIGdpdGsgaW4gUEFUSCIKIG1zZ3N0ciAi0JrQvtC80LDQvdC00LDRgtCwIOKAnmdpdGvigJwg0LvQuNC/0YHQstCwINCyINC/0YrRgtC40YnQsNGC0LAsINC+0L/RgNC10LTQtdC70LXQvdC4INC+0YIg0L/RgNC+0LzQtdC90LvQuNCy0LDRgtCwIFBBVEguIgogCi0jOiBnaXQtZ3VpLnNoOjIyMzUKKyM6IGdpdC1ndWkuc2g6MjI0MQogbXNnaWQgIkNvdWxkbid0IGZpbmQgZ2l0IGd1aSBpbiBQQVRIIgogbXNnc3RyICIiCiAi0JrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBndWnigJwg0LvQuNC/0YHQstCwINCyINC/0YrRgtC40YnQsNGC0LAsINC+0L/RgNC10LTQtdC70LXQvdC4INC+0YIg0L/RgNC+0LzQtdC90LvQuNCy0LDRgtCwIFBBVEguIgogCi0jOiBnaXQtZ3VpLnNoOjI2NTQgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo0MQorIzogZ2l0LWd1aS5zaDoyNjc2IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDEKIG1zZ2lkICJSZXBvc2l0b3J5IgogbXNnc3RyICLQpdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGdpdC1ndWkuc2g6MjY1NQorIzogZ2l0LWd1aS5zaDoyNjc3CiBtc2dpZCAiRWRpdCIKIG1zZ3N0ciAi0KDQtdC00LDQutGC0LjRgNCw0L3QtSIKIAotIzogZ2l0LWd1aS5zaDoyNjU3IGxpYi9jaG9vc2VfcmV2LnRjbDo1NjcKKyM6IGdpdC1ndWkuc2g6MjY3OSBsaWIvY2hvb3NlX3Jldi50Y2w6NTY3CiBtc2dpZCAiQnJhbmNoIgogbXNnc3RyICLQmtC70L7QvSIKIAotIzogZ2l0LWd1aS5zaDoyNjYwIGxpYi9jaG9vc2VfcmV2LnRjbDo1NTQKKyM6IGdpdC1ndWkuc2g6MjY4MiBsaWIvY2hvb3NlX3Jldi50Y2w6NTU0CiBtc2dpZCAiQ29tbWl0QEBub3VuIgogbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC1IgogCi0jOiBnaXQtZ3VpLnNoOjI2NjMgbGliL21lcmdlLnRjbDoxMjMgbGliL21lcmdlLnRjbDoxNTIgbGliL21lcmdlLnRjbDoxNzAKKyM6IGdpdC1ndWkuc2g6MjY4NSBsaWIvbWVyZ2UudGNsOjEyNyBsaWIvbWVyZ2UudGNsOjE3NAogbXNnaWQgIk1lcmdlIgogbXNnc3RyICLQodC70LjQstCw0L3QtSIKIAotIzogZ2l0LWd1aS5zaDoyNjY0IGxpYi9jaG9vc2VfcmV2LnRjbDo1NjMKKyM6IGdpdC1ndWkuc2g6MjY4NiBsaWIvY2hvb3NlX3Jldi50Y2w6NTYzCiBtc2dpZCAiUmVtb3RlIgogbXNnc3RyICLQntGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGdpdC1ndWkuc2g6MjY2NworIzogZ2l0LWd1aS5zaDoyNjg5CiBtc2dpZCAiVG9vbHMiCiBtc2dzdHIgItCa0L7QvNCw0L3QtNC4IgogCi0jOiBnaXQtZ3VpLnNoOjI2NzYKKyM6IGdpdC1ndWkuc2g6MjY5OAogbXNnaWQgIkV4cGxvcmUgV29ya2luZyBDb3B5IgogbXNnc3RyICLQoNCw0LfQs9C70LXQttC00LDQvdC1INC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC60L7Qv9C40LUiCiAKLSM6IGdpdC1ndWkuc2g6MjY4MgorIzogZ2l0LWd1aS5zaDoyNzA0CiBtc2dpZCAiR2l0IEJhc2giCiBtc2dzdHIgIkJhc2gg0LfQsCBHaXQiCiAKLSM6IGdpdC1ndWkuc2g6MjY5MgorIzogZ2l0LWd1aS5zaDoyNzE0CiBtc2dpZCAiQnJvd3NlIEN1cnJlbnQgQnJhbmNoJ3MgRmlsZXMiCiBtc2dzdHIgItCg0LDQt9Cz0LvQtdC20LTQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUg0LIg0YLQtdC60YPRidC40Y8g0LrQu9C+0L0iCiAKLSM6IGdpdC1ndWkuc2g6MjY5NgorIzogZ2l0LWd1aS5zaDoyNzE4CiBtc2dpZCAiQnJvd3NlIEJyYW5jaCBGaWxlcy4uLiIKIG1zZ3N0ciAi0KDQsNC30LPQu9C10LbQtNCw0L3QtSDQvdCwINGC0LXQutGD0YnQuNGPINC60LvQvtC94oCmIgogCi0jOiBnaXQtZ3VpLnNoOjI3MDEKKyM6IGdpdC1ndWkuc2g6MjcyMwogbXNnaWQgIlZpc3VhbGl6ZSBDdXJyZW50IEJyYW5jaCdzIEhpc3RvcnkiCiBtc2dzdHIgItCS0LjQt9GD0LDQu9C40LfQsNGG0LjRjyDQvdCwINC40YHRgtC+0YDQuNGP0YLQsCDQvdCwINGC0LXQutGD0YnQuNGPINC60LvQvtC9IgogCi0jOiBnaXQtZ3VpLnNoOjI3MDUKKyM6IGdpdC1ndWkuc2g6MjcyNwogbXNnaWQgIlZpc3VhbGl6ZSBBbGwgQnJhbmNoIEhpc3RvcnkiCiBtc2dzdHIgItCS0LjQt9GD0LDQu9C40LfQsNGG0LjRjyDQvdCwINC40YHRgtC+0YDQuNGP0YLQsCDQvdCwINCy0YHQuNGH0LrQuCDQutC70L7QvdC+0LLQtSIKIAotIzogZ2l0LWd1aS5zaDoyNzEyCisjOiBnaXQtZ3VpLnNoOjI3MzQKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJCcm93c2UgJXMncyBGaWxlcyIKLW1zZ3N0ciAi0KDQsNC30LPQu9C10LbQtNCw0L3QtSDQvdCwINGE0LDQudC70L7QstC10YLQtSDQsiAlcyIKK21zZ3N0ciAi0KDQsNC30LPQu9C10LbQtNCw0L3QtSDQvdCwINGE0LDQudC70L7QstC10YLQtSDQsiDigJ4lc+KAnCIKIAotIzogZ2l0LWd1aS5zaDoyNzE0CisjOiBnaXQtZ3VpLnNoOjI3MzYKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJWaXN1YWxpemUgJXMncyBIaXN0b3J5IgotbXNnc3RyICLQktC40LfRg9Cw0LvQuNC30LDRhtC40Y8g0L3QsCDQuNGB0YLQvtGA0LjRj9GC0LAg0L3QsCAlcyIKK21zZ3N0ciAi0JLQuNC30YPQsNC70LjQt9Cw0YbQuNGPINC90LAg0LjRgdGC0L7RgNC40Y/RgtCwINC90LAg4oCeJXPigJwiCiAKLSM6IGdpdC1ndWkuc2g6MjcxOSBsaWIvZGF0YWJhc2UudGNsOjQwIGxpYi9kYXRhYmFzZS50Y2w6NjYKKyM6IGdpdC1ndWkuc2g6Mjc0MSBsaWIvZGF0YWJhc2UudGNsOjQwCiBtc2dpZCAiRGF0YWJhc2UgU3RhdGlzdGljcyIKIG1zZ3N0ciAi0KHRgtCw0YLQuNGB0YLQuNC60LAg0L3QsCDQsdCw0LfQsNGC0LAg0L7RgiDQtNCw0L3QvdC4IgogCi0jOiBnaXQtZ3VpLnNoOjI3MjIgbGliL2RhdGFiYXNlLnRjbDozMworIzogZ2l0LWd1aS5zaDoyNzQ0IGxpYi9kYXRhYmFzZS50Y2w6MzMKIG1zZ2lkICJDb21wcmVzcyBEYXRhYmFzZSIKIG1zZ3N0ciAi0JrQvtC80L/RgNC10YHQuNGA0LDQvdC1INC90LAg0LHQsNC30LDRgtCwINC+0YIg0LTQsNC90L3QuCIKIAotIzogZ2l0LWd1aS5zaDoyNzI1CisjOiBnaXQtZ3VpLnNoOjI3NDcKIG1zZ2lkICJWZXJpZnkgRGF0YWJhc2UiCiBtc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0L3QsCDQsdCw0LfQsNGC0LAg0L7RgiDQtNCw0L3QvdC4IgogCi0jOiBnaXQtZ3VpLnNoOjI3MzIgZ2l0LWd1aS5zaDoyNzM2IGdpdC1ndWkuc2g6Mjc0MCBsaWIvc2hvcnRjdXQudGNsOjgKLSM6IGxpYi9zaG9ydGN1dC50Y2w6NDAgbGliL3Nob3J0Y3V0LnRjbDo3MgorIzogZ2l0LWd1aS5zaDoyNzU0IGdpdC1ndWkuc2g6Mjc1OCBnaXQtZ3VpLnNoOjI3NjIKIG1zZ2lkICJDcmVhdGUgRGVza3RvcCBJY29uIgogbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0LjQutC+0L3QsCDQvdCwINGA0LDQsdC+0YLQvdC40Y8g0L/Qu9C+0YIiCiAKLSM6IGdpdC1ndWkuc2g6Mjc0OCBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjE5MyBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjIwMQorIzogZ2l0LWd1aS5zaDoyNzcwIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTkzIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MjAxCiBtc2dpZCAiUXVpdCIKIG1zZ3N0ciAi0KHQv9C40YDQsNC90LUg0L3QsCDQv9GA0L7Qs9GA0LDQvNCw0YLQsCIKIAotIzogZ2l0LWd1aS5zaDoyNzU2CisjOiBnaXQtZ3VpLnNoOjI3NzgKIG1zZ2lkICJVbmRvIgogbXNnc3RyICLQntGC0LzRj9C90LAiCiAKLSM6IGdpdC1ndWkuc2g6Mjc1OQorIzogZ2l0LWd1aS5zaDoyNzgxCiBtc2dpZCAiUmVkbyIKIG1zZ3N0ciAi0J/QvtCy0YLQvtGA0LXQvdC40LUiCiAKLSM6IGdpdC1ndWkuc2g6Mjc2MyBnaXQtZ3VpLnNoOjMzNjgKKyM6IGdpdC1ndWkuc2g6Mjc4NSBnaXQtZ3VpLnNoOjMzOTkKIG1zZ2lkICJDdXQiCiBtc2dzdHIgItCe0YLRgNGP0LfQstCw0L3QtSIKIAotIzogZ2l0LWd1aS5zaDoyNzY2IGdpdC1ndWkuc2g6MzM3MSBnaXQtZ3VpLnNoOjM0NDUgZ2l0LWd1aS5zaDozNTMwCisjOiBnaXQtZ3VpLnNoOjI3ODggZ2l0LWd1aS5zaDozNDAyIGdpdC1ndWkuc2g6MzQ3NiBnaXQtZ3VpLnNoOjM1NjIKICM6IGxpYi9jb25zb2xlLnRjbDo2OQogbXNnaWQgIkNvcHkiCiBtc2dzdHIgItCa0L7Qv9C40YDQsNC90LUiCiAKLSM6IGdpdC1ndWkuc2g6Mjc2OSBnaXQtZ3VpLnNoOjMzNzQKKyM6IGdpdC1ndWkuc2g6Mjc5MSBnaXQtZ3VpLnNoOjM0MDUKIG1zZ2lkICJQYXN0ZSIKIG1zZ3N0ciAi0J/QvtGB0YLQsNCy0Y/QvdC1IgogCi0jOiBnaXQtZ3VpLnNoOjI3NzIgZ2l0LWd1aS5zaDozMzc3IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MzkKLSM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoyOAorIzogZ2l0LWd1aS5zaDoyNzk0IGdpdC1ndWkuc2g6MzQwOCBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MjgKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MzkKIG1zZ2lkICJEZWxldGUiCiBtc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSIKIAotIzogZ2l0LWd1aS5zaDoyNzc2IGdpdC1ndWkuc2g6MzM4MSBnaXQtZ3VpLnNoOjM1MzQgbGliL2NvbnNvbGUudGNsOjcxCisjOiBnaXQtZ3VpLnNoOjI3OTggZ2l0LWd1aS5zaDozNDEyIGdpdC1ndWkuc2g6MzU2NiBsaWIvY29uc29sZS50Y2w6NzEKIG1zZ2lkICJTZWxlY3QgQWxsIgogbXNnc3RyICLQmNC30LHQuNGA0LDQvdC1INC90LAg0LLRgdC40YfQutC+IgogCi0jOiBnaXQtZ3VpLnNoOjI3ODUKKyM6IGdpdC1ndWkuc2g6MjgwNwogbXNnaWQgIkNyZWF0ZS4uLiIKIG1zZ3N0ciAi0KHRitC30LTQsNCy0LDQvdC14oCmIgogCi0jOiBnaXQtZ3VpLnNoOjI3OTEKKyM6IGdpdC1ndWkuc2g6MjgxMwogbXNnaWQgIkNoZWNrb3V0Li4uIgogbXNnc3RyICLQmNC30YLQtdCz0LvRj9C90LXigKYiCiAKLSM6IGdpdC1ndWkuc2g6Mjc5NworIzogZ2l0LWd1aS5zaDoyODE5CiBtc2dpZCAiUmVuYW1lLi4uIgogbXNnc3RyICLQn9GA0LXQuNC80LXQvdGD0LLQsNC90LXigKYiCiAKLSM6IGdpdC1ndWkuc2g6MjgwMgorIzogZ2l0LWd1aS5zaDoyODI0CiBtc2dpZCAiRGVsZXRlLi4uIgogbXNnc3RyICLQmNC30YLRgNC40LLQsNC90LXigKYiCiAKLSM6IGdpdC1ndWkuc2g6MjgwNworIzogZ2l0LWd1aS5zaDoyODI5CiBtc2dpZCAiUmVzZXQuLi4iCiBtc2dzdHIgItCe0YLQvNGP0L3QsCDQvdCwINC/0YDQvtC80LXQvdC40YLQteKApiIKIAotIzogZ2l0LWd1aS5zaDoyODE3CisjOiBnaXQtZ3VpLnNoOjI4MzkKIG1zZ2lkICJEb25lIgogbXNnc3RyICLQk9C+0YLQvtCy0L4iCiAKLSM6IGdpdC1ndWkuc2g6MjgxOQorIzogZ2l0LWd1aS5zaDoyODQxCiBtc2dpZCAiQ29tbWl0QEB2ZXJiIgogbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC1IgogCi0jOiBnaXQtZ3VpLnNoOjI4MjggZ2l0LWd1aS5zaDozMzA5CisjOiBnaXQtZ3VpLnNoOjI4NTAgZ2l0LWd1aS5zaDozMzM1CiBtc2dpZCAiTmV3IENvbW1pdCIKIG1zZ3N0ciAi0J3QvtCy0L4g0L/QvtC00LDQstCw0L3QtSIKIAotIzogZ2l0LWd1aS5zaDoyODM2IGdpdC1ndWkuc2g6MzMxNgorIzogZ2l0LWd1aS5zaDoyODU4IGdpdC1ndWkuc2g6MzM0MgogbXNnaWQgIkFtZW5kIExhc3QgQ29tbWl0IgogbXNnc3RyICLQn9C+0L/RgNCw0LLRj9C90LUg0L3QsCDQv9C+0YHQu9C10LTQvdC+0YLQviDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBnaXQtZ3VpLnNoOjI4NDYgZ2l0LWd1aS5zaDozMjcwIGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTAxCisjOiBnaXQtZ3VpLnNoOjI4NjggZ2l0LWd1aS5zaDozMjk2IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTAxCiBtc2dpZCAiUmVzY2FuIgogbXNnc3RyICLQntCx0L3QvtCy0Y/QstCw0L3QtSIKIAotIzogZ2l0LWd1aS5zaDoyODUyCisjOiBnaXQtZ3VpLnNoOjI4NzQKIG1zZ2lkICJTdGFnZSBUbyBDb21taXQiCiBtc2dzdHIgItCa0YrQvCDQuNC90LTQtdC60YHQsCDQt9CwINC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGdpdC1ndWkuc2g6Mjg1OAorIzogZ2l0LWd1aS5zaDoyODgwCiBtc2dpZCAiU3RhZ2UgQ2hhbmdlZCBGaWxlcyBUbyBDb21taXQiCiBtc2dzdHIgItCS0YHQuNGH0LrQuCDQv9GA0L7QvNC10L3QtdC90Lgg0YTQsNC50LvQvtCy0LUg0LrRitC8INC40L3QtNC10LrRgdCwINC30LAg0L/QvtC00LDQstCw0L3QtSIKIAotIzogZ2l0LWd1aS5zaDoyODY0CisjOiBnaXQtZ3VpLnNoOjI4ODYKIG1zZ2lkICJVbnN0YWdlIEZyb20gQ29tbWl0IgogbXNnc3RyICLQmNC30LLQsNC20LTQsNC90LUg0L7RgiDQuNC90LTQtdC60YHQsCDQt9CwINC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGdpdC1ndWkuc2g6Mjg3MCBsaWIvaW5kZXgudGNsOjQ0MgorIzogZ2l0LWd1aS5zaDoyODkyIGxpYi9pbmRleC50Y2w6NDQyCiBtc2dpZCAiUmV2ZXJ0IENoYW5nZXMiCiBtc2dzdHIgItCS0YDRitGJ0LDQvdC1INC90LAg0L7RgNC40LPQuNC90LDQu9CwIgogCi0jOiBnaXQtZ3VpLnNoOjI4NzggZ2l0LWd1aS5zaDozNTgxIGdpdC1ndWkuc2g6MzYxMgorIzogZ2l0LWd1aS5zaDoyOTAwIGdpdC1ndWkuc2g6MzYxMyBnaXQtZ3VpLnNoOjM2NDQKIG1zZ2lkICJTaG93IExlc3MgQ29udGV4dCIKIG1zZ3N0ciAi0J/Qvi3QvNCw0LvQutC+INC60L7QvdGC0LXQutGB0YIiCiAKLSM6IGdpdC1ndWkuc2g6Mjg4MiBnaXQtZ3VpLnNoOjM1ODUgZ2l0LWd1aS5zaDozNjE2CisjOiBnaXQtZ3VpLnNoOjI5MDQgZ2l0LWd1aS5zaDozNjE3IGdpdC1ndWkuc2g6MzY0OAogbXNnaWQgIlNob3cgTW9yZSBDb250ZXh0IgogbXNnc3RyICLQn9C+0LLQtdGH0LUg0LrQvtC90YLQtdC60YHRgiIKIAotIzogZ2l0LWd1aS5zaDoyODg5IGdpdC1ndWkuc2g6MzI4MyBnaXQtZ3VpLnNoOjMzOTIKKyM6IGdpdC1ndWkuc2g6MjkxMSBnaXQtZ3VpLnNoOjMzMDkgZ2l0LWd1aS5zaDozNDIzCiBtc2dpZCAiU2lnbiBPZmYiCiBtc2dzdHIgItCf0L7QtNC/0LjRgdCy0LDQvdC1IgogCi0jOiBnaXQtZ3VpLnNoOjI5MDUKKyM6IGdpdC1ndWkuc2g6MjkyNwogbXNnaWQgIkxvY2FsIE1lcmdlLi4uIgogbXNnc3RyICLQm9C+0LrQsNC70L3QviDRgdC70LjQstCw0L3QteKApiIKIAotIzogZ2l0LWd1aS5zaDoyOTEwCisjOiBnaXQtZ3VpLnNoOjI5MzIKIG1zZ2lkICJBYm9ydCBNZXJnZS4uLiIKIG1zZ3N0ciAi0J/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0YHQu9C40LLQsNC90LXigKYiCiAKLSM6IGdpdC1ndWkuc2g6MjkyMiBnaXQtZ3VpLnNoOjI5NTAKKyM6IGdpdC1ndWkuc2g6Mjk0NCBnaXQtZ3VpLnNoOjI5NzIKIG1zZ2lkICJBZGQuLi4iCiBtc2dzdHIgItCU0L7QsdCw0LLRj9C90LXigKYiCiAKLSM6IGdpdC1ndWkuc2g6MjkyNgorIzogZ2l0LWd1aS5zaDoyOTQ4CiBtc2dpZCAiUHVzaC4uLiIKLW1zZ3N0ciAi0JjQt9Cx0YPRgtCy0LDQvdC14oCmIgorbXNnc3RyICLQmNC30YLQu9Cw0YHQutCy0LDQvdC14oCmIgogCi0jOiBnaXQtZ3VpLnNoOjI5MzAKKyM6IGdpdC1ndWkuc2g6Mjk1MgogbXNnaWQgIkRlbGV0ZSBCcmFuY2guLi4iCiBtc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSDQvdCwINC60LvQvtC94oCmIgogCi0jOiBnaXQtZ3VpLnNoOjI5NDAgZ2l0LWd1aS5zaDozNTYzCisjOiBnaXQtZ3VpLnNoOjI5NjIgZ2l0LWd1aS5zaDozNTk1CiBtc2dpZCAiT3B0aW9ucy4uLiIKIG1zZ3N0ciAi0J7Qv9GG0LjQuOKApiIKIAotIzogZ2l0LWd1aS5zaDoyOTUxCisjOiBnaXQtZ3VpLnNoOjI5NzMKIG1zZ2lkICJSZW1vdmUuLi4iCiBtc2dzdHIgItCf0YDQtdC80LDRhdCy0LDQvdC14oCmIgogCi0jOiBnaXQtZ3VpLnNoOjI5NjAgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1NQorIzogZ2l0LWd1aS5zaDoyOTgyIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTUKIG1zZ2lkICJIZWxwIgogbXNnc3RyICLQn9C+0LzQvtGJIgogCi0jOiBnaXQtZ3VpLnNoOjI5NjQgZ2l0LWd1aS5zaDoyOTY4IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDkKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTggbGliL2Fib3V0LnRjbDoxNAorIzogZ2l0LWd1aS5zaDoyOTg2IGdpdC1ndWkuc2g6Mjk5MCBsaWIvYWJvdXQudGNsOjE0CisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQ5IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTgKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJBYm91dCAlcyIKIG1zZ3N0ciAi0J7RgtC90L7RgdC90L4gJXMiCiAKLSM6IGdpdC1ndWkuc2g6Mjk5MgorIzogZ2l0LWd1aS5zaDozMDE0CiBtc2dpZCAiT25saW5lIERvY3VtZW50YXRpb24iCiBtc2dzdHIgItCU0L7QutGD0LzQtdC90YLQsNGG0LjRjyDQsiDQmNC90YLQtdGA0L3QtdGCIgogCi0jOiBnaXQtZ3VpLnNoOjI5OTUgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1MiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjYxCisjOiBnaXQtZ3VpLnNoOjMwMTcgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1MiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjYxCiBtc2dpZCAiU2hvdyBTU0ggS2V5IgogbXNnc3RyICLQn9C+0LrQsNC30LLQsNC90LUg0L3QsCDQutC70Y7Rh9CwINC30LAgU1NIIgogCi0jOiBnaXQtZ3VpLnNoOjMwMTQgZ2l0LWd1aS5zaDozMTQ2CisjOiBnaXQtZ3VpLnNoOjMwMzIgZ2l0LWd1aS5zaDozMTY0Cittc2dpZCAidXNhZ2U6IgorbXNnc3RyICLRg9C/0L7RgtGA0LXQsdCwOiIKKworIzogZ2l0LWd1aS5zaDozMDM2IGdpdC1ndWkuc2g6MzE2OAogbXNnaWQgIlVzYWdlIgogbXNnc3RyICLQo9C/0L7RgtGA0LXQsdCwIgogCi0jOiBnaXQtZ3VpLnNoOjMwOTUgbGliL2JsYW1lLnRjbDo1NzMKKyM6IGdpdC1ndWkuc2g6MzExNyBsaWIvYmxhbWUudGNsOjU3MwogbXNnaWQgIkVycm9yIgogbXNnc3RyICLQk9GA0LXRiNC60LAiCiAKLSM6IGdpdC1ndWkuc2g6MzEyNgorIzogZ2l0LWd1aS5zaDozMTQ4CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IGNhbm5vdCBzdGF0IHBhdGggJXM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKICLQpNCQ0KLQkNCb0J3QkCDQk9Cg0JXQqNCa0JA6INC/0YrRgtGP0YIgJXMg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgjog0YLQsNC60YrQsiDRhNCw0LnQuyDQuNC70Lgg0LTQuNGA0LXQutGC0L7RgNC40Y8gIgogItC90Y/QvNCwIgogCi0jOiBnaXQtZ3VpLnNoOjMxNTkKKyM6IGdpdC1ndWkuc2g6MzE4MQogbXNnaWQgIkN1cnJlbnQgQnJhbmNoOiIKIG1zZ3N0ciAi0KLQtdC60YPRiSDQutC70L7QvToiCiAKLSM6IGdpdC1ndWkuc2g6MzE4NQotbXNnaWQgIlN0YWdlZCBDaGFuZ2VzIChXaWxsIENvbW1pdCkiCi1tc2dzdHIgItCf0YDQvtC80LXQvdC4INCyINC40L3QtNC10LrRgdCwICjQt9CwINC/0L7QtNCw0LLQsNC90LUpIgotCi0jOiBnaXQtZ3VpLnNoOjMyMDUKKyM6IGdpdC1ndWkuc2g6MzIwNgogbXNnaWQgIlVuc3RhZ2VkIENoYW5nZXMiCiBtc2dzdHIgItCf0YDQvtC80LXQvdC4INC40LfQstGK0L0g0LjQvdC00LXQutGB0LAiCiAKLSM6IGdpdC1ndWkuc2g6MzI3NgorIzogZ2l0LWd1aS5zaDozMjI4Cittc2dpZCAiU3RhZ2VkIENoYW5nZXMgKFdpbGwgQ29tbWl0KSIKK21zZ3N0ciAi0J/RgNC+0LzQtdC90Lgg0LIg0LjQvdC00LXQutGB0LAgKNC30LAg0L/QvtC00LDQstCw0L3QtSkiCisKKyM6IGdpdC1ndWkuc2g6MzMwMgogbXNnaWQgIlN0YWdlIENoYW5nZWQiCiBtc2dzdHIgItCY0L3QtNC10LrRgdGK0YIg0LUg0L/RgNC+0LzQtdC90LXQvSIKIAotIzogZ2l0LWd1aS5zaDozMjk1IGxpYi90cmFuc3BvcnQudGNsOjEzNyBsaWIvdHJhbnNwb3J0LnRjbDoyMjkKKyM6IGdpdC1ndWkuc2g6MzMyMSBsaWIvdHJhbnNwb3J0LnRjbDoxMzcKIG1zZ2lkICJQdXNoIgogbXNnc3RyICLQmNC30YLQu9Cw0YHQutCy0LDQvdC1IgogCi0jOiBnaXQtZ3VpLnNoOjMzMzAKKyM6IGdpdC1ndWkuc2g6MzM1NgogbXNnaWQgIkluaXRpYWwgQ29tbWl0IE1lc3NhZ2U6IgogbXNnc3RyICLQn9GK0YDQstC+0L3QsNGH0LDQu9C90L4g0YHRitC+0LHRidC10L3QuNC1INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1OiIKIAotIzogZ2l0LWd1aS5zaDozMzMxCisjOiBnaXQtZ3VpLnNoOjMzNTcKIG1zZ2lkICJBbWVuZGVkIENvbW1pdCBNZXNzYWdlOiIKIG1zZ3N0ciAi0J/QvtC/0YDQsNCy0LXQvdC+INGB0YrQvtCx0YnQtdC90LjQtSDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtToiCiAKLSM6IGdpdC1ndWkuc2g6MzMzMgorIzogZ2l0LWd1aS5zaDozMzU4CiBtc2dpZCAiQW1lbmRlZCBJbml0aWFsIENvbW1pdCBNZXNzYWdlOiIKIG1zZ3N0ciAi0J/QvtC/0YDQsNCy0LXQvdC+INC/0YrRgNCy0L7QvdCw0YfQsNC70L3QviDRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LU6IgogCi0jOiBnaXQtZ3VpLnNoOjMzMzMKKyM6IGdpdC1ndWkuc2g6MzM1OQogbXNnaWQgIkFtZW5kZWQgTWVyZ2UgQ29tbWl0IE1lc3NhZ2U6IgogbXNnc3RyICLQn9C+0L/RgNCw0LLQtdC90L4g0YHRitC+0LHRidC10L3QuNC1INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1INGB0YrRgSDRgdC70LjQstCw0L3QtToiCiAKLSM6IGdpdC1ndWkuc2g6MzMzNAorIzogZ2l0LWd1aS5zaDozMzYwCiBtc2dpZCAiTWVyZ2UgQ29tbWl0IE1lc3NhZ2U6IgogbXNnc3RyICLQodGK0L7QsdGJ0LXQvdC40LUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LUg0YHRitGBINGB0LvQuNCy0LDQvdC1OiIKIAotIzogZ2l0LWd1aS5zaDozMzM1CisjOiBnaXQtZ3VpLnNoOjMzNjEKIG1zZ2lkICJDb21taXQgTWVzc2FnZToiCiBtc2dzdHIgItCh0YrQvtCx0YnQtdC90LjQtSDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtToiCiAKLSM6IGdpdC1ndWkuc2g6MzM4NCBnaXQtZ3VpLnNoOjM1MzggbGliL2NvbnNvbGUudGNsOjczCisjOiBnaXQtZ3VpLnNoOjM0MTUgZ2l0LWd1aS5zaDozNTcwIGxpYi9jb25zb2xlLnRjbDo3MwogbXNnaWQgIkNvcHkgQWxsIgogbXNnc3RyICLQmtC+0L/QuNGA0LDQvdC1INC90LAg0LLRgdC40YfQutC+IgogCi0jOiBnaXQtZ3VpLnNoOjM0MDggbGliL2JsYW1lLnRjbDoxMDUKKyM6IGdpdC1ndWkuc2g6MzQzOSBsaWIvYmxhbWUudGNsOjEwNQogbXNnaWQgIkZpbGU6IgogbXNnc3RyICLQpNCw0LnQuzoiCiAKLSM6IGdpdC1ndWkuc2g6MzUyNgorIzogZ2l0LWd1aS5zaDozNTU4CiBtc2dpZCAiUmVmcmVzaCIKIG1zZ3N0ciAi0J7QsdC90L7QstGP0LLQsNC90LUiCiAKLSM6IGdpdC1ndWkuc2g6MzU0NworIzogZ2l0LWd1aS5zaDozNTc5CiBtc2dpZCAiRGVjcmVhc2UgRm9udCBTaXplIgogbXNnc3RyICLQn9C+LdC10LTRitGAINGI0YDQuNGE0YIiCiAKLSM6IGdpdC1ndWkuc2g6MzU1MQorIzogZ2l0LWd1aS5zaDozNTgzCiBtc2dpZCAiSW5jcmVhc2UgRm9udCBTaXplIgogbXNnc3RyICLQn9C+LdC00YDQtdCx0LXQvSDRiNGA0LjRhNGCIgogCi0jOiBnaXQtZ3VpLnNoOjM1NTkgbGliL2JsYW1lLnRjbDoyOTQKKyM6IGdpdC1ndWkuc2g6MzU5MSBsaWIvYmxhbWUudGNsOjI5NAogbXNnaWQgIkVuY29kaW5nIgogbXNnc3RyICLQmtC+0LTQuNGA0LDQvdC1IgogCi0jOiBnaXQtZ3VpLnNoOjM1NzAKKyM6IGdpdC1ndWkuc2g6MzYwMgogbXNnaWQgIkFwcGx5L1JldmVyc2UgSHVuayIKIG1zZ3N0ciAi0J/RgNC40LvQsNCz0LDQvdC1L9Cy0YDRitGJ0LDQvdC1INC90LAg0L/QsNGA0YfQtSIKIAotIzogZ2l0LWd1aS5zaDozNTc1CisjOiBnaXQtZ3VpLnNoOjM2MDcKIG1zZ2lkICJBcHBseS9SZXZlcnNlIExpbmUiCiBtc2dzdHIgItCf0YDQuNC70LDQs9Cw0L3QtS/QstGA0YrRidCw0L3QtSDQvdCwINGA0LXQtCIKIAotIzogZ2l0LWd1aS5zaDozNTk0CisjOiBnaXQtZ3VpLnNoOjM2MjYKIG1zZ2lkICJSdW4gTWVyZ2UgVG9vbCIKIG1zZ3N0ciAi0JjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDQv9GA0L7Qs9GA0LDQvNCw0YLQsCDQt9CwINGB0LvQuNCy0LDQvdC1IgogCi0jOiBnaXQtZ3VpLnNoOjM1OTkKKyM6IGdpdC1ndWkuc2g6MzYzMQogbXNnaWQgIlVzZSBSZW1vdGUgVmVyc2lvbiIKIG1zZ3N0ciAi0JLQtdGA0YHQuNGPINC+0YIg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogZ2l0LWd1aS5zaDozNjAzCisjOiBnaXQtZ3VpLnNoOjM2MzUKIG1zZ2lkICJVc2UgTG9jYWwgVmVyc2lvbiIKIG1zZ3N0ciAi0JvQvtC60LDQu9C90LAg0LLQtdGA0YHQuNGPIgogCi0jOiBnaXQtZ3VpLnNoOjM2MDcKKyM6IGdpdC1ndWkuc2g6MzYzOQogbXNnaWQgIlJldmVydCBUbyBCYXNlIgogbXNnc3RyICLQktGA0YrRidCw0L3QtSDQutGK0Lwg0YDQvtC00LjRgtC10LvRgdC60LDRgtCwINCy0LXRgNGB0LjRjyIKIAotIzogZ2l0LWd1aS5zaDozNjI1CisjOiBnaXQtZ3VpLnNoOjM2NTcKIG1zZ2lkICJWaXN1YWxpemUgVGhlc2UgQ2hhbmdlcyBJbiBUaGUgU3VibW9kdWxlIgogbXNnc3RyICLQktC40LfRg9Cw0LvQuNC30LjRgNCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtSDQsiDQv9C+0LTQvNC+0LTRg9C70LAiCiAKLSM6IGdpdC1ndWkuc2g6MzYyOQorIzogZ2l0LWd1aS5zaDozNjYxCiBtc2dpZCAiVmlzdWFsaXplIEN1cnJlbnQgQnJhbmNoIEhpc3RvcnkgSW4gVGhlIFN1Ym1vZHVsZSIKIG1zZ3N0ciAi0JLQuNC30YPQsNC70LjQt9Cw0YbQuNGPINC90LAg0LjRgdGC0L7RgNC40Y/RgtCwINC90LAg0YLQtdC60YPRidC40Y8g0LrQu9C+0L0g0LIg0LjRgdGC0L7RgNC40Y/RgtCwINC30LAg0L/QvtC00LzQvtC00YPQu9CwIgogCi0jOiBnaXQtZ3VpLnNoOjM2MzMKKyM6IGdpdC1ndWkuc2g6MzY2NQogbXNnaWQgIlZpc3VhbGl6ZSBBbGwgQnJhbmNoIEhpc3RvcnkgSW4gVGhlIFN1Ym1vZHVsZSIKIG1zZ3N0ciAi0JLQuNC30YPQsNC70LjQt9Cw0YbQuNGPINC90LAg0LjRgdGC0L7RgNC40Y/RgtCwINC90LAg0LLRgdC40YfQutC4INC60LvQvtC90Lgg0LIg0LjRgdGC0L7RgNC40Y/RgtCwINC30LAg0L/QvtC00LzQvtC00YPQu9CwIgogCi0jOiBnaXQtZ3VpLnNoOjM2MzgKKyM6IGdpdC1ndWkuc2g6MzY3MAogbXNnaWQgIlN0YXJ0IGdpdCBndWkgSW4gVGhlIFN1Ym1vZHVsZSIKIG1zZ3N0ciAi0KHRgtCw0YDRgtC40YDQsNC90LUg0L3QsCDigJ5naXQgZ3Vp4oCcINC30LAg0L/QvtC00LzQvtC00YPQu9CwIgogCi0jOiBnaXQtZ3VpLnNoOjM2NzMKKyM6IGdpdC1ndWkuc2g6MzcwNQogbXNnaWQgIlVuc3RhZ2UgSHVuayBGcm9tIENvbW1pdCIKIG1zZ3N0ciAi0JjQt9Cy0LDQttC00LDQvdC1INC90LAg0L/QsNGA0YfQtdGC0L4g0L7RgiDQv9C+0LTQsNCy0LDQvdC10YLQviIKIAotIzogZ2l0LWd1aS5zaDozNjc1CisjOiBnaXQtZ3VpLnNoOjM3MDcKIG1zZ2lkICJVbnN0YWdlIExpbmVzIEZyb20gQ29tbWl0IgogbXNnc3RyICLQmNC30LLQsNC20LTQsNC90LUg0L3QsCDRgNC10LTQvtCy0LXRgtC1INC+0YIg0L/QvtC00LDQstCw0L3QtdGC0L4iCiAKLSM6IGdpdC1ndWkuc2g6MzY3NworIzogZ2l0LWd1aS5zaDozNzA5CiBtc2dpZCAiVW5zdGFnZSBMaW5lIEZyb20gQ29tbWl0IgogbXNnc3RyICLQmNC30LLQsNC20LTQsNC90LUg0L3QsCDRgNC10LTQsCDQvtGCINC/0L7QtNCw0LLQsNC90LXRgtC+IgogCi0jOiBnaXQtZ3VpLnNoOjM2ODAKKyM6IGdpdC1ndWkuc2g6MzcxMgogbXNnaWQgIlN0YWdlIEh1bmsgRm9yIENvbW1pdCIKIG1zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwINC/0LDRgNGH0LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSIKIAotIzogZ2l0LWd1aS5zaDozNjgyCisjOiBnaXQtZ3VpLnNoOjM3MTQKIG1zZ2lkICJTdGFnZSBMaW5lcyBGb3IgQ29tbWl0IgogbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0YDQtdC00L7QstC10YLQtSDQt9CwINC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGdpdC1ndWkuc2g6MzY4NAorIzogZ2l0LWd1aS5zaDozNzE2CiBtc2dpZCAiU3RhZ2UgTGluZSBGb3IgQ29tbWl0IgogbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0YDQtdC00LAg0LfQsCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBnaXQtZ3VpLnNoOjM3MDkKKyM6IGdpdC1ndWkuc2g6Mzc0MQogbXNnaWQgIkluaXRpYWxpemluZy4uLiIKIG1zZ3N0ciAi0JjQvdC40YbQuNCw0LvQuNC30LjRgNCw0L3QteKApiIKIAotIzogZ2l0LWd1aS5zaDozODUyCisjOiBnaXQtZ3VpLnNoOjM4ODYKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICIiCiAiUG9zc2libGUgZW52aXJvbm1lbnQgaXNzdWVzIGV4aXN0LlxuIgpAQCAtNTc2LDcgKzU3OSw3IEBACiAi0L7RgiAlczpcbiIKICJcbiIKIAotIzogZ2l0LWd1aS5zaDozODgxCisjOiBnaXQtZ3VpLnNoOjM5MTUKIG1zZ2lkICIiCiAiXG4iCiAiVGhpcyBpcyBkdWUgdG8gYSBrbm93biBpc3N1ZSB3aXRoIHRoZVxuIgpAQCAtNTg2LDcgKzU4OSw3IEBACiAi0KLQvtCy0LAg0LUg0L/QvtC30L3QsNGCINC/0YDQvtCx0LvQtdC8INC4INGB0LUg0LTRitC70LbQuCDQvdCwXG4iCiAi0LLQtdGA0YHQuNGP0YLQsCDQvdCwIFRjbCDQstC60LvRjtGH0LXQvdCwINCyIEN5Z3dpbi4iCiAKLSM6IGdpdC1ndWkuc2g6Mzg4NgorIzogZ2l0LWd1aS5zaDozOTIwCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNjAyLDE5OSArNjA1LDEyNiBAQAogItC1INC00LAg0L/QvtGB0YLQsNCy0LjRgtC1INC90LDRgdGC0YDQvtC50LrQuNGC0LUg4oCedXNlci5uYW1l4oCcINC4XG4iCiAi4oCedXNlci5lbWFpbOKAnCDQsiDQu9C40YfQvdC40Y8g0YHQuCDRhNCw0LnQuyDigJ5+Ly5naXRjb25maWfigJwuXG4iCiAKLSM6IGxpYi9zcGVsbGNoZWNrLnRjbDo1NwotbXNnaWQgIlVuc3VwcG9ydGVkIHNwZWxsIGNoZWNrZXIiCi1tc2dzdHIgItCi0LDQt9C4INC/0YDQvtCz0YDQsNC80LAg0LfQsCDQv9GA0L7QstC10YDQutCwINC90LAg0L/RgNCw0LLQvtC/0LjRgdCwINC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwIgorIzogbGliL2Fib3V0LnRjbDoyNgorbXNnaWQgImdpdC1ndWkgLSBhIGdyYXBoaWNhbCB1c2VyIGludGVyZmFjZSBmb3IgR2l0LiIKK21zZ3N0ciAiZ2l0LWd1aSDigJQg0LPRgNCw0YTQuNGH0LXQvSDQuNC90YLQtdGA0YTQtdC50YEg0LfQsCBHaXQuIgogCi0jOiBsaWIvc3BlbGxjaGVjay50Y2w6NjUKLW1zZ2lkICJTcGVsbCBjaGVja2luZyBpcyB1bmF2YWlsYWJsZSIKLW1zZ3N0ciAi0JvQuNC/0YHQstCwINC/0YDQvtCz0YDQsNC80LAg0LfQsCDQv9GA0L7QstC10YDQutCwINC90LAg0L/RgNCw0LLQvtC/0LjRgdCwIgotCi0jOiBsaWIvc3BlbGxjaGVjay50Y2w6NjgKLW1zZ2lkICJJbnZhbGlkIHNwZWxsIGNoZWNraW5nIGNvbmZpZ3VyYXRpb24iCi1tc2dzdHIgItCd0LXQv9GA0LDQstC40LvQvdC4INC90LDRgdGC0YDQvtC50LrQuCDQvdCwINC/0YDQvtCy0LXRgNC60LDRgtCwINC90LAg0L/RgNCw0LLQvtC/0LjRgdCwIgotCi0jOiBsaWIvc3BlbGxjaGVjay50Y2w6NzAKKyM6IGxpYi9ibGFtZS50Y2w6NzMKICMsIHRjbC1mb3JtYXQKLW1zZ2lkICJSZXZlcnRpbmcgZGljdGlvbmFyeSB0byAlcy4iCi1tc2dzdHIgItCf0L7Qu9C30LLQsNC90LUg0L3QsCDRgNC10YfQvdC40Log0LfQsCDQtdC30LjQuiDigJ4lc+KAnC4iCittc2dpZCAiJXMgKCVzKTogRmlsZSBWaWV3ZXIiCittc2dzdHIgIiVzICglcyk6INCf0YDQtdCz0LvQtdC0INC90LAg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGxpYi9zcGVsbGNoZWNrLnRjbDo3MwotbXNnaWQgIlNwZWxsIGNoZWNrZXIgc2lsZW50bHkgZmFpbGVkIG9uIHN0YXJ0dXAiCi1tc2dzdHIgItCf0YDQvtCz0YDQsNC80LDRgtCwINC30LAg0L/RgNCw0LLQvtC/0LjRgSDQtNCw0LbQtSDQvdC1INGB0YLQsNGA0YLQuNGA0LAg0YPRgdC/0LXRiNC90L4uIgorIzogbGliL2JsYW1lLnRjbDo3OQorbXNnaWQgIkNvbW1pdDoiCittc2dzdHIgItCf0L7QtNCw0LLQsNC90LU6IgogCi0jOiBsaWIvc3BlbGxjaGVjay50Y2w6ODAKLW1zZ2lkICJVbnJlY29nbml6ZWQgc3BlbGwgY2hlY2tlciIKLW1zZ3N0ciAi0J3QtdC/0L7Qt9C90LDRgtCwINC/0YDQvtCz0YDQsNC80LAg0LfQsCDQv9GA0L7QstC10YDQutCwINC90LAg0L/RgNCw0LLQvtC/0LjRgdCwIgorIzogbGliL2JsYW1lLnRjbDoyODAKK21zZ2lkICJDb3B5IENvbW1pdCIKK21zZ3N0ciAi0JrQvtC/0LjRgNCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGxpYi9zcGVsbGNoZWNrLnRjbDoxODYKLW1zZ2lkICJObyBTdWdnZXN0aW9ucyIKLW1zZ3N0ciAi0J3Rj9C80LAg0L/RgNC10LTQu9C+0LbQtdC90LjRjyIKKyM6IGxpYi9ibGFtZS50Y2w6Mjg0Cittc2dpZCAiRmluZCBUZXh0Li4uIgorbXNnc3RyICLQotGK0YDRgdC10L3QtSDQvdCwINGC0LXQutGB0YLigKYiCiAKLSM6IGxpYi9zcGVsbGNoZWNrLnRjbDozODgKLW1zZ2lkICJVbmV4cGVjdGVkIEVPRiBmcm9tIHNwZWxsIGNoZWNrZXIiCi1tc2dzdHIgItCd0LXQvtGH0LDQutCy0LDQvSDQutGA0LDQuSDQvdCwINGE0LDQudC7INC+0YIg0L/RgNC+0LPRgNCw0LzQsNGC0LAg0LfQsCDQv9GA0L7QstC10YDQutCwINC90LAg0L/RgNCw0LLQvtC/0LjRgdCwIgorIzogbGliL2JsYW1lLnRjbDoyODgKK21zZ2lkICJHb3RvIExpbmUuLi4iCittc2dzdHIgItCa0YrQvCDRgNC10LTigKYiCiAKLSM6IGxpYi9zcGVsbGNoZWNrLnRjbDozOTIKLW1zZ2lkICJTcGVsbCBDaGVja2VyIEZhaWxlZCIKLW1zZ3N0ciAi0JPRgNC10YjQutCwINCyINC/0YDQvtCz0YDQsNC80LDRgtCwINC30LAg0L/RgNC+0LLQtdGA0LrQsCDQvdCwINC/0YDQsNCy0L7Qv9C40YHQsCIKKyM6IGxpYi9ibGFtZS50Y2w6Mjk3Cittc2dpZCAiRG8gRnVsbCBDb3B5IERldGVjdGlvbiIKK21zZ3N0ciAi0J/RitC70L3QviDRgtGK0YDRgdC10L3QtSDQvdCwINC60L7Qv9C40YDQsNC90LUiCiAKLSM6IGxpYi9yZW1vdGVfYWRkLnRjbDoyMAotbXNnaWQgIkFkZCBSZW1vdGUiCi1tc2dzdHIgItCU0L7QsdCw0LLRj9C90LUg0L3QsCDQvtGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUiCisjOiBsaWIvYmxhbWUudGNsOjMwMQorbXNnaWQgIlNob3cgSGlzdG9yeSBDb250ZXh0IgorbXNnc3RyICLQn9C+0LrQsNC30LLQsNC90LUg0L3QsCDQutC+0L3RgtC10LrRgdGC0LAg0L7RgiDQuNGB0YLQvtGA0LjRj9GC0LAiCiAKLSM6IGxpYi9yZW1vdGVfYWRkLnRjbDoyNQotbXNnaWQgIkFkZCBOZXcgUmVtb3RlIgotbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0L7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1IgorIzogbGliL2JsYW1lLnRjbDozMDQKK21zZ2lkICJCbGFtZSBQYXJlbnQgQ29tbWl0IgorbXNnc3RyICLQkNC90L7RgtC40YDQsNC90LUg0L3QsCDRgNC+0LTQuNGC0LXQu9GB0LrQvtGC0L4g0L/QvtC00LDQstCw0L3QtSIKIAotIzogbGliL3JlbW90ZV9hZGQudGNsOjMwIGxpYi90b29sc19kbGcudGNsOjM3Ci1tc2dpZCAiQWRkIgotbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1IgotCi0jOiBsaWIvcmVtb3RlX2FkZC50Y2w6MzQgbGliL2Jyb3dzZXIudGNsOjI5MiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDozMAotIzogbGliL3RyYW5zcG9ydC50Y2w6MTQxIGxpYi9icmFuY2hfcmVuYW1lLnRjbDozMiBsaWIvY2hvb3NlX2ZvbnQudGNsOjQ1Ci0jOiBsaWIvb3B0aW9uLnRjbDoxMjcgbGliL3Rvb2xzX2RsZy50Y2w6NDEgbGliL3Rvb2xzX2RsZy50Y2w6MjAyCi0jOiBsaWIvdG9vbHNfZGxnLnRjbDozNDUgbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDo0MwotIzogbGliL2NoZWNrb3V0X29wLnRjbDo1NzkgbGliL2JyYW5jaF9jcmVhdGUudGNsOjM3IGxpYi9icmFuY2hfZGVsZXRlLnRjbDozNAotIzogbGliL21lcmdlLnRjbDoxNzQKLW1zZ2lkICJDYW5jZWwiCi1tc2dzdHIgItCe0YLQutCw0LfQstCw0L3QtSIKLQotIzogbGliL3JlbW90ZV9hZGQudGNsOjM5Ci1tc2dpZCAiUmVtb3RlIERldGFpbHMiCi1tc2dzdHIgItCU0LDQvdC90Lgg0LfQsCDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1IgotCi0jOiBsaWIvcmVtb3RlX2FkZC50Y2w6NDEgbGliL3Rvb2xzX2RsZy50Y2w6NTEgbGliL2JyYW5jaF9jcmVhdGUudGNsOjQ0Ci1tc2dpZCAiTmFtZToiCi1tc2dzdHIgItCY0LzQtToiCi0KLSM6IGxpYi9yZW1vdGVfYWRkLnRjbDo1MAotbXNnaWQgIkxvY2F0aW9uOiIKLW1zZ3N0ciAi0JzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjQtToiCi0KLSM6IGxpYi9yZW1vdGVfYWRkLnRjbDo2MAotbXNnaWQgIkZ1cnRoZXIgQWN0aW9uIgotbXNnc3RyICLQodC70LXQtNCy0LDRidC+INC00LXQudGB0YLQstC40LUiCi0KLSM6IGxpYi9yZW1vdGVfYWRkLnRjbDo2MwotbXNnaWQgIkZldGNoIEltbWVkaWF0ZWx5IgotbXNnc3RyICLQndC10LfQsNCx0LDQstC90L4g0LTQvtGB0YLQsNCy0Y/QvdC1IgotCi0jOiBsaWIvcmVtb3RlX2FkZC50Y2w6NjkKLW1zZ2lkICJJbml0aWFsaXplIFJlbW90ZSBSZXBvc2l0b3J5IGFuZCBQdXNoIgotbXNnc3RyICLQmNC90LjRhtC40LDQu9C40LfQuNGA0LDQvdC1INC90LAg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSDQuCDQuNC30YLQu9Cw0YHQutCy0LDQvdC1INC90LAg0L/RgNC+0LzQtdC90LjRgtC1IgotCi0jOiBsaWIvcmVtb3RlX2FkZC50Y2w6NzUKLW1zZ2lkICJEbyBOb3RoaW5nIEVsc2UgTm93IgotbXNnc3RyICLQlNCwINC90LUg0YHQtSDQv9GA0LDQstC4INC90LjRidC+IgotCi0jOiBsaWIvcmVtb3RlX2FkZC50Y2w6MTAwCi1tc2dpZCAiUGxlYXNlIHN1cHBseSBhIHJlbW90ZSBuYW1lLiIKLW1zZ3N0ciAi0JfQsNC00LDQudGC0LUg0LjQvNC1INC30LAg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtS4iCi0KLSM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMTMKKyM6IGxpYi9ibGFtZS50Y2w6NDY2CiAjLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBub3QgYW4gYWNjZXB0YWJsZSByZW1vdGUgbmFtZS4iCi1tc2dzdHIgItCe0YLQtNCw0LvQtdGH0LXQvdC+INGF0YDQsNC90LjQu9C40YnQtSDQvdC1INC80L7QttC1INC00LAg0YHQtSDQutCw0LfQstCwIOKAniVz4oCcLiIKK21zZ2lkICJSZWFkaW5nICVzLi4uIgorbXNnc3RyICLQp9C10YLQtSDRgdC1IOKAniVz4oCc4oCmIgogCi0jOiBsaWIvcmVtb3RlX2FkZC50Y2w6MTI0CisjOiBsaWIvYmxhbWUudGNsOjU5NAorbXNnaWQgIkxvYWRpbmcgY29weS9tb3ZlIHRyYWNraW5nIGFubm90YXRpb25zLi4uIgorbXNnc3RyICLQl9Cw0YDQtdC20LTQsNC90LUg0L3QsCDQsNC90L7RgtCw0YbQuNC40YLQtSDQt9CwINC/0YDQvtGB0LvQtdC00Y/QstCw0L3QtSDQvdCwINC60L7Qv9C40YDQsNC90LXRgtC+L9C/0YDQtdC80LXRgdGC0LLQsNC90LXRgtC+4oCmIgorCisjOiBsaWIvYmxhbWUudGNsOjYxNAorbXNnaWQgImxpbmVzIGFubm90YXRlZCIKK21zZ3N0ciAi0YDQtdC00LAg0LDQvdC+0YLQuNGA0LDQvdC4IgorCisjOiBsaWIvYmxhbWUudGNsOjgwNgorbXNnaWQgIkxvYWRpbmcgb3JpZ2luYWwgbG9jYXRpb24gYW5ub3RhdGlvbnMuLi4iCittc2dzdHIgItCX0LDRgNC10LbQtNCw0L3QtSDQvdCwINCw0L3QvtGC0LDRhtC40LjRgtC1INC30LAg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC+0YLQviDQvNC10YHRgtC+0L/QvtC70L7QttC10L3QuNC14oCmIgorCisjOiBsaWIvYmxhbWUudGNsOjgwOQorbXNnaWQgIkFubm90YXRpb24gY29tcGxldGUuIgorbXNnc3RyICLQkNC90L7RgtC40YDQsNC90LXRgtC+INC30LDQstGK0YDRiNC4LiIKKworIzogbGliL2JsYW1lLnRjbDo4MzkKK21zZ2lkICJCdXN5IgorbXNnc3RyICLQntC/0LXRgNCw0YbQuNGP0YLQsCDQvdC1INC1INC30LDQstGK0YDRiNC40LvQsCIKKworIzogbGliL2JsYW1lLnRjbDo4NDAKK21zZ2lkICJBbm5vdGF0aW9uIHByb2Nlc3MgaXMgYWxyZWFkeSBydW5uaW5nLiIKK21zZ3N0ciAi0JIg0LzQvtC80LXQvdGC0LAg0YLQtdGH0LUg0L/RgNC+0YbQtdGBINC90LAg0LDQvdC+0YLQuNGA0LDQvdC1LiIKKworIzogbGliL2JsYW1lLnRjbDo4NzkKK21zZ2lkICJSdW5uaW5nIHRob3JvdWdoIGNvcHkgZGV0ZWN0aW9uLi4uIgorbXNnc3RyICLQmNC30L/RitC70L3Rj9Cy0LAg0YHQtSDRhtGP0LvQvtGB0YLQtdC9INC/0YDQvtGG0LXRgSDQvdCwINC+0YLQutGA0LjQstCw0L3QtSDQvdCwINC60L7Qv9C40YDQsNC90LXigKYiCisKKyM6IGxpYi9ibGFtZS50Y2w6OTQ3Cittc2dpZCAiTG9hZGluZyBhbm5vdGF0aW9uLi4uIgorbXNnc3RyICLQl9Cw0YDQtdC20LTQsNC90LUg0L3QsCDQsNC90L7RgtCw0YbQuNC44oCmIgorCisjOiBsaWIvYmxhbWUudGNsOjEwMDAKK21zZ2lkICJBdXRob3I6IgorbXNnc3RyICLQkNCy0YLQvtGAOiIKKworIzogbGliL2JsYW1lLnRjbDoxMDA0Cittc2dpZCAiQ29tbWl0dGVyOiIKK21zZ3N0ciAi0J/QvtC00LDQuzoiCisKKyM6IGxpYi9ibGFtZS50Y2w6MTAwOQorbXNnaWQgIk9yaWdpbmFsIEZpbGU6IgorbXNnc3RyICLQn9GK0YDQstC+0L3QsNGH0LDQu9C10L0g0YTQsNC50Ls6IgorCisjOiBsaWIvYmxhbWUudGNsOjEwNTcKK21zZ2lkICJDYW5ub3QgZmluZCBIRUFEIGNvbW1pdDoiCittc2dzdHIgItCf0L7QtNCw0LLQsNC90LXRgtC+INC30LAg0LLRgNGK0YUg4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LrRgNC40LU6IgorCisjOiBsaWIvYmxhbWUudGNsOjExMTIKK21zZ2lkICJDYW5ub3QgZmluZCBwYXJlbnQgY29tbWl0OiIKK21zZ3N0ciAi0KDQvtC00LjRgtC10LvRgdC60L7RgtC+INC/0L7QtNCw0LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgtC+IgorCisjOiBsaWIvYmxhbWUudGNsOjExMjcKK21zZ2lkICJVbmFibGUgdG8gZGlzcGxheSBwYXJlbnQiCittc2dzdHIgItCg0L7QtNC40YLQtdC70Y/RgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/QvtC60LDQt9Cw0L0iCisKKyM6IGxpYi9ibGFtZS50Y2w6MTEyOCBsaWIvZGlmZi50Y2w6MzU4Cittc2dpZCAiRXJyb3IgbG9hZGluZyBkaWZmOiIKK21zZ3N0ciAi0JPRgNC10YjQutCwINC/0YDQuCDQt9Cw0YDQtdC20LTQsNC90LUg0L3QsCDRgNCw0LfQu9C40LrQsDoiCisKKyM6IGxpYi9ibGFtZS50Y2w6MTI2OQorbXNnaWQgIk9yaWdpbmFsbHkgQnk6IgorbXNnc3RyICLQn9GK0YDQstC+0L3QsNGH0LDQu9C90L4g0L7RgjoiCisKKyM6IGxpYi9ibGFtZS50Y2w6MTI3NQorbXNnaWQgIkluIEZpbGU6IgorbXNnc3RyICLQktGK0LIg0YTQsNC50Ls6IgorCisjOiBsaWIvYmxhbWUudGNsOjEyODAKK21zZ2lkICJDb3BpZWQgT3IgTW92ZWQgSGVyZSBCeToiCittc2dzdHIgItCa0L7Qv9C40YDQsNC90L4g0LjQu9C4INC/0YDQtdC80LXRgdGC0LXQvdC+INGC0YPQuiDQvtGCOiIKKworIzogbGliL2JyYW5jaF9jaGVja291dC50Y2w6MTYKICMsIHRjbC1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gYWRkIHJlbW90ZSAnJXMnIG9mIGxvY2F0aW9uICclcycuIgotbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0LTQvtCx0LDQstGP0L3QtSDQvdCwINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg4oCeJXPigJwg0L7RgiDQsNC00YDQtdGBIOKAniVz4oCcLiIKK21zZ2lkICIlcyAoJXMpOiBDaGVja291dCBCcmFuY2giCittc2dzdHIgIiVzICglcyk6INCa0LvQvtC9INC30LAg0LjQt9GC0LXQs9C70Y/QvdC1IgogCi0jOiBsaWIvcmVtb3RlX2FkZC50Y2w6MTMyIGxpYi90cmFuc3BvcnQudGNsOjYKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJmZXRjaCAlcyIKLW1zZ3N0ciAi0LTQvtGB0YLQsNCy0Y/QvdC1INC90LAg4oCeJXPigJwiCi0KLSM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMzMKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJGZXRjaGluZyB0aGUgJXMiCi1tc2dzdHIgItCU0L7RgdGC0LDQstGP0L3QtSDQvdCwIOKAniVz4oCcIgotCi0jOiBsaWIvcmVtb3RlX2FkZC50Y2w6MTU2Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiRG8gbm90IGtub3cgaG93IHRvIGluaXRpYWxpemUgcmVwb3NpdG9yeSBhdCBsb2NhdGlvbiAnJXMnLiIKLW1zZ3N0ciAi0KXRgNCw0L3QuNC70LjRidC10YLQviDRgSDQvNC10YHRgtC+0L/QvtC70L7QttC10L3QuNC1IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC90LjRhtC40LDQu9C40LfQuNGA0LDQvdC+LiIKLQotIzogbGliL3JlbW90ZV9hZGQudGNsOjE2MiBsaWIvdHJhbnNwb3J0LnRjbDo1NCBsaWIvdHJhbnNwb3J0LnRjbDo5MgotIzogbGliL3RyYW5zcG9ydC50Y2w6MTEwCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAicHVzaCAlcyIKLW1zZ3N0ciAi0LjQt9GC0LvQsNGB0LrQstCw0L3QtSDQvdCwIOKAniVz4oCcIgotCi0jOiBsaWIvcmVtb3RlX2FkZC50Y2w6MTYzCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiU2V0dGluZyB1cCB0aGUgJXMgKGF0ICVzKSIKLW1zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwINGF0YDQsNC90LjQu9C40YnQtSDigJ4lc+KAnCAo0YEg0LDQtNGA0LXRgSDigJ4lc+KAnCkiCi0KLSM6IGxpYi9icm93c2VyLnRjbDoxNwotbXNnaWQgIlN0YXJ0aW5nLi4uIgotbXNnc3RyICLQodGC0LDRgNGC0LjRgNCw0L3QteKApiIKLQotIzogbGliL2Jyb3dzZXIudGNsOjI3Ci1tc2dpZCAiRmlsZSBCcm93c2VyIgotbXNnc3RyICLQpNCw0LnQu9C+0LIg0LHRgNCw0YPQt9GK0YAiCi0KLSM6IGxpYi9icm93c2VyLnRjbDoxMzIgbGliL2Jyb3dzZXIudGNsOjE0OQotIywgdGNsLWZvcm1hdAotbXNnaWQgIkxvYWRpbmcgJXMuLi4iCi1tc2dzdHIgItCX0LDRgNC10LbQtNCw0L3QtSDQvdCwIOKAniVz4oCc4oCmIgotCi0jOiBsaWIvYnJvd3Nlci50Y2w6MTkzCi1tc2dpZCAiW1VwIFRvIFBhcmVudF0iCi1tc2dzdHIgIlvQmtGK0Lwg0YDQvtC00LjRgtC10LvRj10iCi0KLSM6IGxpYi9icm93c2VyLnRjbDoyNzUgbGliL2Jyb3dzZXIudGNsOjI4MgotbXNnaWQgIkJyb3dzZSBCcmFuY2ggRmlsZXMiCi1tc2dzdHIgItCg0LDQt9Cz0LvQtdC20LTQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUg0LIg0LrQu9C+0L3QsCIKLQotIzogbGliL2Jyb3dzZXIudGNsOjI4OCBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQyMgotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1MDkgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1MTgKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTA3NAotbXNnaWQgIkJyb3dzZSIKLW1zZ3N0ciAi0KDQsNC30LPQu9C10LbQtNCw0L3QtSIKLQotIzogbGliL2Jyb3dzZXIudGNsOjI5NyBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDozNSBsaWIvdG9vbHNfZGxnLnRjbDozMjEKLW1zZ2lkICJSZXZpc2lvbiIKLW1zZ3N0ciAi0JLQtdGA0YHQuNGPIgotCi0jOiBsaWIvdG9vbHMudGNsOjc1Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiUnVubmluZyAlcyByZXF1aXJlcyBhIHNlbGVjdGVkIGZpbGUuIgotbXNnc3RyICLQl9CwINC40LfQv9GK0LvQvdC10L3QuNC10YLQviDQvdCwIOKAniVz4oCcINGC0YDRj9Cx0LLQsCDQtNCwINC40LfQsdC10YDQtdGC0LUg0YTQsNC50LsuIgotCi0jOiBsaWIvdG9vbHMudGNsOjkxCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJ1biAlMSRzIG9uIGZpbGUgXCIlMiRzXCI/IgotbXNnc3RyICLQodC40LPRg9GA0L3QuCDQu9C4INGB0YLQtSwg0YfQtSDQuNGB0LrQsNGC0LUg0LTQsCDQuNC30L/RitC70L3QuNGC0LUg4oCeJTEkc+KAnCDQstGK0YDRhdGDINGE0LDQudC70LAg4oCeJTIkc+KAnD8iCi0KLSM6IGxpYi90b29scy50Y2w6OTUKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcnVuICVzPyIKLW1zZ3N0ciAi0KHQuNCz0YPRgNC90Lgg0LvQuCDRgdGC0LUsINGH0LUg0LjRgdC60LDRgtC1INC00LAg0LjQt9C/0YrQu9C90LjRgtC1IOKAniVz4oCcPyIKLQotIzogbGliL3Rvb2xzLnRjbDoxMTYKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJUb29sOiAlcyIKLW1zZ3N0ciAi0JrQvtC80LDQvdC00LA6ICVzIgotCi0jOiBsaWIvdG9vbHMudGNsOjExNwotIywgdGNsLWZvcm1hdAotbXNnaWQgIlJ1bm5pbmc6ICVzIgotbXNnc3RyICLQmNC30L/RitC70L3QtdC90LjQtTogJXMiCi0KLSM6IGxpYi90b29scy50Y2w6MTU1Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiVG9vbCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5OiAlcyIKLW1zZ3N0ciAi0JrQvtC80LDQvdC00LDRgtCwINC30LDQstGK0YDRiNC4INGD0YHQv9C10YjQvdC+OiAlcyIKLQotIzogbGliL3Rvb2xzLnRjbDoxNTcKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJUb29sIGZhaWxlZDogJXMiCi1tc2dzdHIgItCa0L7QvNCw0L3QtNCw0YLQsCDQstGK0YDQvdCwINCz0YDQtdGI0LrQsDogJXMiCi0KLSM6IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjE2IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjIxCisjOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDoyMQogbXNnaWQgIkNoZWNrb3V0IEJyYW5jaCIKIG1zZ3N0ciAi0JrQu9C+0L0g0LfQsCDQuNC30YLQtdCz0LvRj9C90LUiCiAKQEAgLTgwMiw3ICs3MzIsMTkgQEAKIG1zZ2lkICJDaGVja291dCIKIG1zZ3N0ciAi0JjQt9GC0LXQs9C70Y/QvdC1IgogCi0jOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDozOSBsaWIvb3B0aW9uLnRjbDozMTAgbGliL2JyYW5jaF9jcmVhdGUudGNsOjY5CisjOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDozMCBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MzcgbGliL2JyYW5jaF9kZWxldGUudGNsOjM0CisjOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6MzIgbGliL2Jyb3dzZXIudGNsOjI5MiBsaWIvY2hlY2tvdXRfb3AudGNsOjU3OQorIzogbGliL2Nob29zZV9mb250LnRjbDo0NSBsaWIvbWVyZ2UudGNsOjE3OCBsaWIvb3B0aW9uLnRjbDoxMjcKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDozNCBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjQzIGxpYi90b29sc19kbGcudGNsOjQxCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoyMDIgbGliL3Rvb2xzX2RsZy50Y2w6MzQ1IGxpYi90cmFuc3BvcnQudGNsOjE0MQorbXNnaWQgIkNhbmNlbCIKK21zZ3N0ciAi0J7RgtC60LDQt9Cy0LDQvdC1IgorCisjOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDozNSBsaWIvYnJvd3Nlci50Y2w6Mjk3IGxpYi90b29sc19kbGcudGNsOjMyMQorbXNnaWQgIlJldmlzaW9uIgorbXNnc3RyICLQktC10YDRgdC40Y8iCisKKyM6IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjM5IGxpYi9icmFuY2hfY3JlYXRlLnRjbDo2OSBsaWIvb3B0aW9uLnRjbDozMTAKIG1zZ2lkICJPcHRpb25zIgogbXNnc3RyICLQntC/0YbQuNC4IgogCkBAIC04MTQsMTY3ICs3NTYsMTI5IEBACiBtc2dpZCAiRGV0YWNoIEZyb20gTG9jYWwgQnJhbmNoIgogbXNnc3RyICLQmNC30YLRgNC40LLQsNC90LUg0L7RgiDQu9C+0LrQsNC70L3QuNGPINC60LvQvtC9IgogCi0jOiBsaWIvdHJhbnNwb3J0LnRjbDo3CisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MjMKICMsIHRjbC1mb3JtYXQKLW1zZ2lkICJGZXRjaGluZyBuZXcgY2hhbmdlcyBmcm9tICVzIgotbXNnc3RyICLQlNC+0YHRgtCw0LLRj9C90LUg0L3QsCDQv9GA0L7QvNC10L3QuNGC0LUg0L7RgiDigJ4lc+KAnCIKK21zZ2lkICIlcyAoJXMpOiBDcmVhdGUgQnJhbmNoIgorbXNnc3RyICIlcyAoJXMpOiDQodGK0LfQtNCw0LLQsNC90LUg0L3QsCDQutC70L7QvSIKIAotIzogbGliL3RyYW5zcG9ydC50Y2w6MTgKKyM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDoyOAorbXNnaWQgIkNyZWF0ZSBOZXcgQnJhbmNoIgorbXNnc3RyICLQodGK0LfQtNCw0LLQsNC90LUg0L3QsCDQvdC+0LIg0LrQu9C+0L0iCisKKyM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDozMyBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQwNworbXNnaWQgIkNyZWF0ZSIKK21zZ3N0ciAi0KHRitC30LTQsNCy0LDQvdC1IgorCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6NDIKK21zZ2lkICJCcmFuY2ggTmFtZSIKK21zZ3N0ciAi0JjQvNC1INC90LAg0LrQu9C+0L3QsCIKKworIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjQ0IGxpYi9yZW1vdGVfYWRkLnRjbDo0MSBsaWIvdG9vbHNfZGxnLnRjbDo1MQorbXNnaWQgIk5hbWU6IgorbXNnc3RyICLQmNC80LU6IgorCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6NTcKK21zZ2lkICJNYXRjaCBUcmFja2luZyBCcmFuY2ggTmFtZSIKK21zZ3N0ciAi0KHRitCy0L/QsNC00LDQvdC1INC/0L4g0LjQvNC10YLQviDQvdCwINGB0LvQtdC00LXQvdC40Y8g0LrQu9C+0L0iCisKKyM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDo2NgorbXNnaWQgIlN0YXJ0aW5nIFJldmlzaW9uIgorbXNnc3RyICLQndCw0YfQsNC70L3QsCDQstC10YDRgdC40Y8iCisKKyM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDo3MgorbXNnaWQgIlVwZGF0ZSBFeGlzdGluZyBCcmFuY2g6IgorbXNnc3RyICLQntCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINGB0YrRidC10YHRgtCy0YPQstCw0Ykg0LrQu9C+0L06IgorCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6NzUKK21zZ2lkICJObyIKK21zZ3N0ciAi0J3QtSIKKworIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjgwCittc2dpZCAiRmFzdCBGb3J3YXJkIE9ubHkiCittc2dzdHIgItCh0LDQvNC+INGC0YDQuNCy0LjQsNC70L3QviDQv9GA0LXQstGK0YDRgtCw0YnQviDRgdC70LjQstCw0L3QtSIKKworIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjg1IGxpYi9jaGVja291dF9vcC50Y2w6NTcxCittc2dpZCAiUmVzZXQiCittc2dzdHIgItCe0YLQvdCw0YfQsNC70L4iCisKKyM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDo5NworbXNnaWQgIkNoZWNrb3V0IEFmdGVyIENyZWF0aW9uIgorbXNnc3RyICLQn9GA0LXQvNC40L3QsNCy0LDQvdC1INC60YrQvCDQutC70L7QvdCwINGB0LvQtdC0INGB0YrQt9C00LDQstCw0L3QtdGC0L4g0LzRgyIKKworIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjEzMgorbXNnaWQgIlBsZWFzZSBzZWxlY3QgYSB0cmFja2luZyBicmFuY2guIgorbXNnc3RyICLQmNC30LHQtdGA0LXRgtC1INC60LvQvtC9INC30LAg0YHQu9C10LTQtdC90LguIgorCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MTQxCiAjLCB0Y2wtZm9ybWF0Ci1tc2dpZCAicmVtb3RlIHBydW5lICVzIgotbXNnc3RyICLQvtC60LDRgdGC0YDRj9C90LUg0L3QsCDRgdC70LXQtNGP0YnQuNGC0LUg0LrQu9C+0L3QuCDQutGK0Lwg4oCeJXPigJwiCittc2dpZCAiVHJhY2tpbmcgYnJhbmNoICVzIGlzIG5vdCBhIGJyYW5jaCBpbiB0aGUgcmVtb3RlIHJlcG9zaXRvcnkuIgorbXNnc3RyICLQodC70LXQtNGP0YnQuNGP0YIg0LrQu9C+0L0g4oCUIOKAniVz4oCcLCDQvdC1INGB0YrRidC10YHRgtCy0YPQstCwINCyINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUuIgogCi0jOiBsaWIvdHJhbnNwb3J0LnRjbDoxOQorIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjE1NCBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6OTIKK21zZ2lkICJQbGVhc2Ugc3VwcGx5IGEgYnJhbmNoIG5hbWUuIgorbXNnc3RyICLQlNCw0LnRgtC1INC40LzQtSDQvdCwINC60LvQvtC90LAuIgorCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MTY1IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxMTIKICMsIHRjbC1mb3JtYXQKLW1zZ2lkICJQcnVuaW5nIHRyYWNraW5nIGJyYW5jaGVzIGRlbGV0ZWQgZnJvbSAlcyIKLW1zZ3N0ciAi0J7QutCw0YHRgtGA0Y/QvdC1INC90LAg0YHQu9C10LTRj9GJ0LjRgtC1INC60LvQvtC90Lgg0L3QsCDQuNC30YLRgNC40YLQuNGC0LUg0LrQu9C+0L3QuCDQvtGCIOKAniVz4oCcIgorbXNnaWQgIiclcycgaXMgbm90IGFuIGFjY2VwdGFibGUgYnJhbmNoIG5hbWUuIgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/QvtC70LfQstCwINC30LAg0LjQvNC1INC90LAg0LrQu9C+0L0uIgogCi0jOiBsaWIvdHJhbnNwb3J0LnRjbDoyNQotbXNnaWQgImZldGNoIGFsbCByZW1vdGVzIgotbXNnc3RyICLQtNC+0YHRgtCw0LLRj9C90LUg0L3QsCDQstGB0LjRh9C60Lgg0L7RgtC00LDQu9C10YfQtdC90Lgg0YXRgNCw0L3QuNC70LjRidCwIgorIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjE2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiJXMgKCVzKTogRGVsZXRlIEJyYW5jaCIKK21zZ3N0ciAiJXMgKCVzKTog0JjQt9GC0YDQuNCy0LDQvdC1INC90LAg0LrQu9C+0L0iCiAKLSM6IGxpYi90cmFuc3BvcnQudGNsOjI2Ci1tc2dpZCAiRmV0Y2hpbmcgbmV3IGNoYW5nZXMgZnJvbSBhbGwgcmVtb3RlcyIKLW1zZ3N0ciAi0JTQvtGB0YLQsNCy0Y/QvdC1INC90LAg0L3QvtCy0LjRgtC1INC/0YDQvtC80LXQvdC4INC+0YIg0LLRgdC40YfQutC4INC+0YLQtNCw0LvQtdGH0LXQvdC4INGF0YDQsNC90LjQu9C40YnQsCIKKyM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoyMQorbXNnaWQgIkRlbGV0ZSBMb2NhbCBCcmFuY2giCittc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSDQvdCwINC70L7QutCw0LvQtdC9INC60LvQvtC9IgogCi0jOiBsaWIvdHJhbnNwb3J0LnRjbDo0MAotbXNnaWQgInJlbW90ZSBwcnVuZSBhbGwgcmVtb3RlcyIKLW1zZ3N0ciAi0L7QutCw0YHRgtGA0Y/QvdC1INC90LAg0LLRgdC40YfQutC4INGB0LvQtdC00Y/RidC4INC60LvQvtC90LgiCisjOiBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MzkKK21zZ2lkICJMb2NhbCBCcmFuY2hlcyIKK21zZ3N0ciAi0JvQvtC60LDQu9C90Lgg0LrQu9C+0L3QuCIKIAotIzogbGliL3RyYW5zcG9ydC50Y2w6NDEKLW1zZ2lkICJQcnVuaW5nIHRyYWNraW5nIGJyYW5jaGVzIGRlbGV0ZWQgZnJvbSBhbGwgcmVtb3RlcyIKKyM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDo1MQorbXNnaWQgIkRlbGV0ZSBPbmx5IElmIE1lcmdlZCBJbnRvIgorbXNnc3RyICLQmNC30YLRgNC40LLQsNC90LUsINGB0LDQvNC+INCw0LrQviDQv9GA0L7QvNC10L3QuNGC0LUg0YHQsCDRgdC70LXRgtC4INC4INC00YDRg9Cz0LDQtNC1IgorCisjOiBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6NTMgbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxMjAKK21zZ2lkICJBbHdheXMgKERvIG5vdCBwZXJmb3JtIG1lcmdlIGNoZWNrcykiCittc2dzdHIgItCS0LjQvdCw0LPQuCAo0LHQtdC3INC/0YDQvtCy0LXRgNC60LAg0LfQsCDRgdC70LjQstCw0L3QtSkiCisKKyM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoxMDMKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJUaGUgZm9sbG93aW5nIGJyYW5jaGVzIGFyZSBub3QgY29tcGxldGVseSBtZXJnZWQgaW50byAlczoiCittc2dzdHIgItCd0LUg0LLRgdC40YfQutC4INC/0YDQvtC80LXQvdC4INCyINC60LvQvtC90LjRgtC1INGB0LAg0YHQu9C10YLQuCDQsiDigJ4lc+KAnDoiCisKKyM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoxMTUgbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoyMTgKK21zZ2lkICIiCisiUmVjb3ZlcmluZyBkZWxldGVkIGJyYW5jaGVzIGlzIGRpZmZpY3VsdC5cbiIKKyJcbiIKKyJEZWxldGUgdGhlIHNlbGVjdGVkIGJyYW5jaGVzPyIKIG1zZ3N0ciAiIgotItCe0LrQsNGB0YLRgNGP0L3QtSDQvdCwINCy0YHQuNGH0LrQuCDQutC70L7QvdC4LCDQutC+0LjRgtC+INGB0LvQtdC00Y/RgiDQuNC30YLRgNC40YLQuCDQutC70L7QvdC4INC+0YIg0L7RgtC00LDQu9C10YfQtdC90Lgg0YXRgNCw0L3QuNC70LjRidCwIgorItCS0YrQt9GB0YLQsNC90L7QstGP0LLQsNC90LXRgtC+INC90LAg0LjQt9GC0YDQuNGC0Lgg0LrQu9C+0L3QuCDQvNC+0LbQtSDQtNCwINC1INGC0YDRg9C00L3Qvi5cbiIKKyJcbiIKKyLQodC40LPRg9GA0L3QuCDQu9C4INGB0YLQtSwg0YfQtSDQuNGB0LrQsNGC0LUg0LTQsCDRgtGA0LjQtdGC0LU/IgogCi0jOiBsaWIvdHJhbnNwb3J0LnRjbDo1NQorIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjEzMQogIywgdGNsLWZvcm1hdAotbXNnaWQgIlB1c2hpbmcgY2hhbmdlcyB0byAlcyIKLW1zZ3N0ciAi0JjQt9GC0LvQsNGB0LrQstCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtSDQutGK0Lwg4oCeJXPigJwiCittc2dpZCAiIC0gJXM6IgorbXNnc3RyICIg4oCUIOKAniVzOuKAnCIKIAotIzogbGliL3RyYW5zcG9ydC50Y2w6OTMKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJNaXJyb3JpbmcgdG8gJXMiCi1tc2dzdHIgItCY0LfRgtC70LDRgdC60LLQsNC90LUg0L3QsCDQstGB0LjRh9C60L4g0LrRitC8IOKAniVz4oCcIgotCi0jOiBsaWIvdHJhbnNwb3J0LnRjbDoxMTEKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJQdXNoaW5nICVzICVzIHRvICVzIgotbXNnc3RyICLQmNC30YLQu9Cw0YHQutCy0LDQvdC1INC90LAgJXMg4oCeJXPigJwg0LrRitC8IOKAniVz4oCcIgotCi0jOiBsaWIvdHJhbnNwb3J0LnRjbDoxMzIKLW1zZ2lkICJQdXNoIEJyYW5jaGVzIgotbXNnc3RyICLQmtC70L7QvdC4INC30LAg0LjQt9GC0LvQsNGB0LrQstCw0L3QtSIKLQotIzogbGliL3RyYW5zcG9ydC50Y2w6MTQ3Ci1tc2dpZCAiU291cmNlIEJyYW5jaGVzIgotbXNnc3RyICLQmtC70L7QvdC4LdC40LfRgtC+0YfQvdC40YbQuCIKLQotIzogbGliL3RyYW5zcG9ydC50Y2w6MTYyCi1tc2dpZCAiRGVzdGluYXRpb24gUmVwb3NpdG9yeSIKLW1zZ3N0ciAi0KbQtdC70LXQstC+INGF0YDQsNC90LjQu9C40YnQtSIKLQotIzogbGliL3RyYW5zcG9ydC50Y2w6MTY1IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6NTEKLW1zZ2lkICJSZW1vdGU6IgotbXNnc3RyICLQntGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LU6IgotCi0jOiBsaWIvdHJhbnNwb3J0LnRjbDoxODcgbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDo3MgotbXNnaWQgIkFyYml0cmFyeSBMb2NhdGlvbjoiCi1tc2dzdHIgItCf0YDQvtC40LfQstC+0LvQvdC+INC80LXRgdGC0L7Qv9C+0LvQvtC20LXQvdC40LU6IgotCi0jOiBsaWIvdHJhbnNwb3J0LnRjbDoyMDUKLW1zZ2lkICJUcmFuc2ZlciBPcHRpb25zIgotbXNnc3RyICLQndCw0YHRgtGA0L7QudC60Lgg0L/RgNC4INC/0YDQtdC90LDRgdGP0L3QtdGC0L4iCi0KLSM6IGxpYi90cmFuc3BvcnQudGNsOjIwNwotbXNnaWQgIkZvcmNlIG92ZXJ3cml0ZSBleGlzdGluZyBicmFuY2ggKG1heSBkaXNjYXJkIGNoYW5nZXMpIgotbXNnc3RyICIiCi0i0JjQt9GA0LjRh9C90L4g0L/RgNC10LfQsNC/0LjRgdCy0LDQvdC1INC90LAg0YHRitGJ0LXRgdGC0LLRg9Cy0LDRiSDQutC70L7QvSAo0L3Rj9C60L7QuCDQv9GA0L7QvNC10L3QuCDQvNC+0LbQtSDQtNCwINCx0YrQtNCw0YIgIgotItC30LDQs9GD0LHQtdC90LgpIgotCi0jOiBsaWIvdHJhbnNwb3J0LnRjbDoyMTEKLW1zZ2lkICJVc2UgdGhpbiBwYWNrIChmb3Igc2xvdyBuZXR3b3JrIGNvbm5lY3Rpb25zKSIKLW1zZ3N0ciAi0JzQsNC60YHQuNC80LDQu9C90LAg0LrQvtC80L/RgNC10YHQuNGPICjQt9CwINCx0LDQstC90Lgg0LzRgNC10LbQvtCy0Lgg0LLRgNGK0LfQutC4KSIKLQotIzogbGliL3RyYW5zcG9ydC50Y2w6MjE1Ci1tc2dpZCAiSW5jbHVkZSB0YWdzIgotbXNnc3RyICLQktC60LvRjtGH0LLQsNC90LUg0L3QsCDQtdGC0LjQutC10YLQuNGC0LUiCi0KLSM6IGxpYi9zdGF0dXNfYmFyLnRjbDo4NwotIywgdGNsLWZvcm1hdAotbXNnaWQgIiVzIC4uLiAlKmkgb2YgJSppICVzICglM2klJSkiCi1tc2dzdHIgIiVz4oCmICUqaSDQvtGCINC+0LHRidC+ICUqaSAlcyAoJTNpJSUpIgotCi0jOiBsaWIvcmVtb3RlLnRjbDoyMDAKLW1zZ2lkICJQdXNoIHRvIgotbXNnc3RyICLQmNC30YLQu9Cw0YHQutCy0LDQvdC1INC60YrQvCIKLQotIzogbGliL3JlbW90ZS50Y2w6MjE4Ci1tc2dpZCAiUmVtb3ZlIFJlbW90ZSIKLW1zZ3N0ciAi0J/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDQvtGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUiCi0KLSM6IGxpYi9yZW1vdGUudGNsOjIyMwotbXNnaWQgIlBydW5lIGZyb20iCi1tc2dzdHIgItCe0LrQsNGB0YLRgNGP0L3QtSDQvtGCIgotCi0jOiBsaWIvcmVtb3RlLnRjbDoyMjgKLW1zZ2lkICJGZXRjaCBmcm9tIgotbXNnc3RyICLQlNC+0YHRgtCw0LLRj9C90LUg0L7RgiIKLQotIzogbGliL3NzaGtleS50Y2w6MzEKLW1zZ2lkICJObyBrZXlzIGZvdW5kLiIKLW1zZ3N0ciAi0J3QtSDRgdCwINC+0YLQutGA0LjRgtC4INC60LvRjtGH0L7QstC1LiIKLQotIzogbGliL3NzaGtleS50Y2w6MzQKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJGb3VuZCBhIHB1YmxpYyBrZXkgaW46ICVzIgotbXNnc3RyICLQntGC0LrRgNC40YIg0LUg0L/Rg9Cx0LvQuNGH0LXQvSDQutC70Y7RhyDQsiDigJ4lc+KAnCIKLQotIzogbGliL3NzaGtleS50Y2w6NDAKLW1zZ2lkICJHZW5lcmF0ZSBLZXkiCi1tc2dzdHIgItCT0LXQvdC10YDQuNGA0LDQvdC1INC90LAg0LrQu9GO0YciCi0KLSM6IGxpYi9zc2hrZXkudGNsOjU1IGxpYi9jaGVja291dF9vcC50Y2w6MTQ2IGxpYi9jb25zb2xlLnRjbDo4MQotIzogbGliL2RhdGFiYXNlLnRjbDozMAotbXNnaWQgIkNsb3NlIgotbXNnc3RyICLQl9Cw0YLQstCw0YDRj9C90LUiCi0KLSM6IGxpYi9zc2hrZXkudGNsOjU4Ci1tc2dpZCAiQ29weSBUbyBDbGlwYm9hcmQiCi1tc2dzdHIgItCa0L7Qv9C40YDQsNC90LUg0LrRitC8INGB0LjRgdGC0LXQvNC90LjRjyDQsdGD0YTQtdGAIgotCi0jOiBsaWIvc3Noa2V5LnRjbDo3MgotbXNnaWQgIllvdXIgT3BlblNTSCBQdWJsaWMgS2V5IgotbXNnc3RyICLQn9GD0LHQu9C40YfQvdC40Y/RgiDQstC4INC60LvRjtGHINC30LAgT3BlblNTSCIKLQotIzogbGliL3NzaGtleS50Y2w6ODAKLW1zZ2lkICJHZW5lcmF0aW5nLi4uIgotbXNnc3RyICLQk9C10L3QtdGA0LjRgNCw0L3QteKApiIKLQotIzogbGliL3NzaGtleS50Y2w6ODYKKyM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoxNDEKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICIiCi0iQ291bGQgbm90IHN0YXJ0IHNzaC1rZXlnZW46XG4iCi0iXG4iCisiRmFpbGVkIHRvIGRlbGV0ZSBicmFuY2hlczpcbiIKICIlcyIKIG1zZ3N0ciAiIgotItCf0YDQvtCz0YDQsNC80LDRgtCwIOKAnnNzaC1rZXlnZW7igJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YLQsNGA0YLQuNGA0LDQvdCwOlxuIgotIlxuIgorItCd0LXRg9GB0L/QtdGI0L3QviDRgtGA0LjQtdC90LUg0L3QsCDQutC70L7QvdC4OlxuIgogIiVzIgogCi0jOiBsaWIvc3Noa2V5LnRjbDoxMTMKLW1zZ2lkICJHZW5lcmF0aW9uIGZhaWxlZC4iCi1tc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQs9C10L3QtdGA0LjRgNCw0L3QtS4iCi0KLSM6IGxpYi9zc2hrZXkudGNsOjEyMAotbXNnaWQgIkdlbmVyYXRpb24gc3VjY2VlZGVkLCBidXQgbm8ga2V5cyBmb3VuZC4iCi1tc2dzdHIgItCT0LXQvdC10YDQuNGA0LDQvdC10YLQviDQt9Cw0LLRitGA0YjQuCDRg9GB0L/QtdGI0L3Qviwg0LAg0L3QtSDRgdCwINC90LDQvNC10YDQtdC90Lgg0LrQu9GO0YfQvtCy0LUuIgotCi0jOiBsaWIvc3Noa2V5LnRjbDoxMjMKKyM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxNQogIywgdGNsLWZvcm1hdAotbXNnaWQgIllvdXIga2V5IGlzIGluOiAlcyIKLW1zZ3N0ciAi0JrQu9GO0YfRitGCINCy0Lgg0LUg0LIg4oCeJXPigJwiCittc2dpZCAiJXMgKCVzKTogUmVuYW1lIEJyYW5jaCIKK21zZ3N0ciAiJXMgKCVzKTog0J/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1INC90LAg0LrQu9C+0L0iCiAKLSM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxNSBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6MjMKKyM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoyMwogbXNnaWQgIlJlbmFtZSBCcmFuY2giCiBtc2dzdHIgItCf0YDQtdC40LzQtdC90YPQstCw0L3QtSDQvdCwINC60LvQvtC9IgogCkBAIC05OTQsMjUgKzg5OCwxOTUgQEAKIG1zZ2lkICJQbGVhc2Ugc2VsZWN0IGEgYnJhbmNoIHRvIHJlbmFtZS4iCiBtc2dzdHIgItCY0LfQsdC10YDQtdGC0LUg0LrQu9C+0L0g0LfQsCDQv9GA0LXQuNC80LXQvdGD0LLQsNC90LUuIgogCi0jOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6OTIgbGliL2JyYW5jaF9jcmVhdGUudGNsOjE1NAotbXNnaWQgIlBsZWFzZSBzdXBwbHkgYSBicmFuY2ggbmFtZS4iCi1tc2dzdHIgItCU0LDQudGC0LUg0LjQvNC1INC90LAg0LrQu9C+0L3QsC4iCi0KICM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxMDIgbGliL2NoZWNrb3V0X29wLnRjbDoyMDIKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgItCa0LvQvtC90YrRgiDigJ4lc+KAnCDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsC4iCiAKLSM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxMTIgbGliL2JyYW5jaF9jcmVhdGUudGNsOjE2NQotIywgdGNsLWZvcm1hdAotbXNnaWQgIiclcycgaXMgbm90IGFuIGFjY2VwdGFibGUgYnJhbmNoIG5hbWUuIgotbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/QvtC70LfQstCwINC30LAg0LjQvNC1INC90LAg0LrQu9C+0L0uIgotCiAjOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6MTIzCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlbmFtZSAnJXMnLiIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC/0YDQtdC40LzQtdC90YPQstCw0L3QtSDQvdCwIOKAniVz4oCcLiIKIAorIzogbGliL2Jyb3dzZXIudGNsOjE3Cittc2dpZCAiU3RhcnRpbmcuLi4iCittc2dzdHIgItCh0YLQsNGA0YLQuNGA0LDQvdC14oCmIgorCisjOiBsaWIvYnJvd3Nlci50Y2w6MjcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIlcyAoJXMpOiBGaWxlIEJyb3dzZXIiCittc2dzdHIgIiVzICglcyk6INCk0LDQudC70L7QsiDQsdGA0LDRg9C30YrRgCIKKworIzogbGliL2Jyb3dzZXIudGNsOjEzMiBsaWIvYnJvd3Nlci50Y2w6MTQ5CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiTG9hZGluZyAlcy4uLiIKK21zZ3N0ciAi0JfQsNGA0LXQttC00LDQvdC1INC90LAg4oCeJXPigJzigKYiCisKKyM6IGxpYi9icm93c2VyLnRjbDoxOTMKK21zZ2lkICJbVXAgVG8gUGFyZW50XSIKK21zZ3N0ciAiW9Ca0YrQvCDRgNC+0LTQuNGC0LXQu9GPXSIKKworIzogbGliL2Jyb3dzZXIudGNsOjI3NQorIywgdGNsLWZvcm1hdAorbXNnaWQgIiVzICglcyk6IEJyb3dzZSBCcmFuY2ggRmlsZXMiCittc2dzdHIgIiVzICglcyk6INCg0LDQt9Cz0LvQtdC20LTQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUg0LIg0LrQu9C+0L3QsCIKKworIzogbGliL2Jyb3dzZXIudGNsOjI4MgorbXNnaWQgIkJyb3dzZSBCcmFuY2ggRmlsZXMiCittc2dzdHIgItCg0LDQt9Cz0LvQtdC20LTQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUg0LIg0LrQu9C+0L3QsCIKKworIzogbGliL2Jyb3dzZXIudGNsOjI4OCBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQyMgorIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1MDkgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1MTgKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTA3NAorbXNnaWQgIkJyb3dzZSIKK21zZ3N0ciAi0KDQsNC30LPQu9C10LbQtNCw0L3QtSIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDo4NQorIywgdGNsLWZvcm1hdAorbXNnaWQgIkZldGNoaW5nICVzIGZyb20gJXMiCittc2dzdHIgItCU0L7RgdGC0LDQstGP0L3QtSDQvdCwIOKAniVz4oCcINC+0YIg4oCeJXPigJwiCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6MTMzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiZmF0YWw6IENhbm5vdCByZXNvbHZlICVzIgorbXNnc3RyICLRhNCw0YLQsNC70L3QsCDQs9GA0LXRiNC60LA6IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQutGA0LjQtSIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDoxNDYgbGliL2NvbnNvbGUudGNsOjgxIGxpYi9kYXRhYmFzZS50Y2w6MzAKKyM6IGxpYi9zc2hrZXkudGNsOjU1Cittc2dpZCAiQ2xvc2UiCittc2dzdHIgItCX0LDRgtCy0LDRgNGP0L3QtSIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDoxNzUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJCcmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgItCa0LvQvtC90YrRgiDigJ4lc+KAnCDQvdC1INGB0YrRidC10YHRgtCy0YPQstCwLiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDoxOTQKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gY29uZmlndXJlIHNpbXBsaWZpZWQgZ2l0LXB1bGwgZm9yICclcycuIgorbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0L3QsNGB0YLRgNC+0LnQstCw0L3QtSDQvdCwINC+0L/RgNC+0YHRgtC10L0gZ2l0LXB1bGwg0LfQsCDigJ4lc+KAnC4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6MjI5CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIkJyYW5jaCAnJXMnIGFscmVhZHkgZXhpc3RzLlxuIgorIlxuIgorIkl0IGNhbm5vdCBmYXN0LWZvcndhcmQgdG8gJXMuXG4iCisiQSBtZXJnZSBpcyByZXF1aXJlZC4iCittc2dzdHIgIiIKKyLQmtC70L7QvdGK0YIg4oCeJXPigJwg0YHRitGJ0LXRgdGC0LLRg9Cy0LAuXG4iCisiXG4iCisi0KLQvtC5INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgtGA0LjQstC40LDQu9C90L4g0YHQu9GP0YIg0LTQviDigJ4lc+KAnC5cbiIKKyLQndC10L7QsdGF0L7QtNC40LzQviDQtSDRgdC70LjQstCw0L3QtS4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6MjQzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiTWVyZ2Ugc3RyYXRlZ3kgJyVzJyBub3Qgc3VwcG9ydGVkLiIKK21zZ3N0ciAi0KHRgtGA0LDRgtC10LPQuNGPINC30LAg0YHQu9C40LLQsNC90LUgIOKAniVz4oCcINC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwLiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDoyNjIKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gdXBkYXRlICclcycuIgorbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0L7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDigJ4lc+KAnC4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6Mjc0Cittc2dpZCAiU3RhZ2luZyBhcmVhIChpbmRleCkgaXMgYWxyZWFkeSBsb2NrZWQuIgorbXNnc3RyICLQmNC90LTQtdC60YHRitGCINCy0LXRh9C1INC1INC30LDQutC70Y7Rh9C10L0uIgorCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjI4OQorbXNnaWQgIiIKKyJMYXN0IHNjYW5uZWQgc3RhdGUgZG9lcyBub3QgbWF0Y2ggcmVwb3NpdG9yeSBzdGF0ZS5cbiIKKyJcbiIKKyJBbm90aGVyIEdpdCBwcm9ncmFtIGhhcyBtb2RpZmllZCB0aGlzIHJlcG9zaXRvcnkgc2luY2UgdGhlIGxhc3Qgc2Nhbi4gIEEgIgorInJlc2NhbiBtdXN0IGJlIHBlcmZvcm1lZCBiZWZvcmUgdGhlIGN1cnJlbnQgYnJhbmNoIGNhbiBiZSBjaGFuZ2VkLlxuIgorIlxuIgorIlRoZSByZXNjYW4gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHN0YXJ0ZWQgbm93LlxuIgorbXNnc3RyICIiCisi0KHRitGB0YLQvtGP0L3QuNC10YLQviDQv9GA0Lgg0L/QvtGB0LvQtdC00L3QsNGC0LAg0L/RgNC+0LLQtdGA0LrQsCDQvdC1INC+0YLQs9C+0LLQsNGA0Y8g0L3QsCDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+INC90LAgIgorItGF0YDQsNC90LjQu9C40YnQtdGC0L4uXG4iCisiXG4iCisi0J3Rj9C60L7QuSDQtNGA0YPQsyDQv9GA0L7RhtC10YEg0LfQsCBHaXQg0LUg0L/RgNC+0LzQtdC90LjQuyDRhdGA0LDQvdC40LvQuNGJ0LXRgtC+INC80LXQttC00YPQstGA0LXQvNC10L3QvdC+LiDQodGK0YHRgtC+0Y/QvdC40LXRgtC+ICIKKyLRgtGA0Y/QsdCy0LAg0LTQsCDQsdGK0LTQtSDQv9GA0L7QstC10YDQtdC90L4sINC/0YDQtdC00Lgg0LTQsCDRgdC1INC/0YDQtdC80LjQvdC1INC60YrQvCDQvdC+0LIg0LrQu9C+0L0uXG4iCisiXG4iCisi0JDQstGC0L7QvNCw0YLQuNGH0L3QviDRidC1INC30LDQv9C+0YfQvdC1INC90L7QstCwINC/0YDQvtCy0LXRgNC60LAuXG4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6MzQ1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVXBkYXRpbmcgd29ya2luZyBkaXJlY3RvcnkgdG8gJyVzJy4uLiIKK21zZ3N0ciAi0KDQsNCx0L7RgtC90LDRgtCwINC00LjRgNC10LrRgtC+0YDQuNGPINGB0LUg0L/RgNC40LLQtdC20LTQsCDQutGK0Lwg4oCeJXPigJzigKYiCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6MzQ2Cittc2dpZCAiZmlsZXMgY2hlY2tlZCBvdXQiCittc2dzdHIgItGE0LDQudC70LAg0YHQsCDQuNC30YLQtdCz0LvQtdC90LgiCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6Mzc2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiQWJvcnRlZCBjaGVja291dCBvZiAnJXMnIChmaWxlIGxldmVsIG1lcmdpbmcgaXMgcmVxdWlyZWQpLiIKK21zZ3N0ciAiIgorItCf0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC40LfRgtC10LPQu9GP0L3QtdGC0L4g0L3QsCDigJ4lc+KAnCAo0L3QtdC+0LHRhdC+0LTQuNC80L4g0LUg0L/QvtGE0LDQudC70L7QstC+INGB0LvQuNCy0LDQvdC1KS4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6Mzc3Cittc2dpZCAiRmlsZSBsZXZlbCBtZXJnZSByZXF1aXJlZC4iCittc2dzdHIgItCd0LXQvtCx0YXQvtC00LjQvNC+INC1INC/0L7RhNCw0LnQu9C+0LLQviDRgdC70LjQstCw0L3QtS4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6MzgxCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiU3RheWluZyBvbiBicmFuY2ggJyVzJy4iCittc2dzdHIgItCe0YHRgtCw0LLQsNC90LUg0LLRitGA0YXRgyDQutC70L7QvdCwIOKAniVz4oCcLiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDo0NTIKK21zZ2lkICIiCisiWW91IGFyZSBubyBsb25nZXIgb24gYSBsb2NhbCBicmFuY2guXG4iCisiXG4iCisiSWYgeW91IHdhbnRlZCB0byBiZSBvbiBhIGJyYW5jaCwgY3JlYXRlIG9uZSBub3cgc3RhcnRpbmcgZnJvbSAnVGhpcyBEZXRhY2hlZCAiCisiQ2hlY2tvdXQnLiIKK21zZ3N0ciAiIgorItCS0LXRh9C1INC90LUg0YHRgtC1INC90LAg0LvQvtC60LDQu9C10L0g0LrQu9C+0L0uXG4iCisiXG4iCisi0JDQutC+INC40YHQutCw0YLQtSDQtNCwINGB0YLQtSDQvdCwINC60LvQvtC9LCDRgdGK0LfQtNCw0LnRgtC1INCx0LDQt9C40YDQsNC9INC90LAg4oCe0KLQvtCy0LAg0L3QtdGB0LLRitGA0LfQsNC90L4g0LjQt9GC0LXQs9C70Y/QvdC14oCcLiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDo1MDMgbGliL2NoZWNrb3V0X29wLnRjbDo1MDcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJDaGVja2VkIG91dCAnJXMnLiIKK21zZ3N0ciAi4oCeJXPigJwg0LUg0LjQt9GC0LXQs9C70LXQvS4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6NTM1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUmVzZXR0aW5nICclcycgdG8gJyVzJyB3aWxsIGxvc2UgdGhlIGZvbGxvd2luZyBjb21taXRzOiIKK21zZ3N0ciAiIgorItCX0LDQvdGD0LvRj9Cy0LDQvdC10YLQviDQvdCwIOKAniVz4oCcINC60YrQvCDigJ4lc+KAnCDRidC1INC00L7QstC10LTQtSDQtNC+INC30LDQs9GD0LHQstCw0L3QtdGC0L4g0L3QsCDRgdC70LXQtNC90LjRgtC1INC/0L7QtNCw0LLQsNC90LjRjzoiCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6NTU3Cittc2dpZCAiUmVjb3ZlcmluZyBsb3N0IGNvbW1pdHMgbWF5IG5vdCBiZSBlYXN5LiIKK21zZ3N0ciAi0JLRitC30YHRgtCw0L3QvtCy0Y/QstCw0L3QtdGC0L4g0L3QsCDQt9Cw0LPRg9Cx0LXQvdC40YLQtSDQv9C+0LTQsNCy0LDQvdC40Y8g0LzQvtC20LUg0LTQsCDQtSDRgtGA0YPQtNC90L4uIgorCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjU2MgorIywgdGNsLWZvcm1hdAorbXNnaWQgIlJlc2V0ICclcyc/IgorbXNnc3RyICLQl9Cw0L3Rg9C70Y/QstCw0L3QtSDQvdCwIOKAniVz4oCcPyIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDo1NjcgbGliL21lcmdlLnRjbDoxNzAgbGliL3Rvb2xzX2RsZy50Y2w6MzM2Cittc2dpZCAiVmlzdWFsaXplIgorbXNnc3RyICLQktC40LfRg9Cw0LvQuNC30LDRhtC40Y8iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6NjM1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIkZhaWxlZCB0byBzZXQgY3VycmVudCBicmFuY2guXG4iCisiXG4iCisiVGhpcyB3b3JraW5nIGRpcmVjdG9yeSBpcyBvbmx5IHBhcnRpYWxseSBzd2l0Y2hlZC4gIFdlIHN1Y2Nlc3NmdWxseSB1cGRhdGVkICIKKyJ5b3VyIGZpbGVzLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSBhbiBpbnRlcm5hbCBHaXQgZmlsZS5cbiIKKyJcbiIKKyJUaGlzIHNob3VsZCBub3QgaGF2ZSBvY2N1cnJlZC4gICVzIHdpbGwgbm93IGNsb3NlIGFuZCBnaXZlIHVwLiIKK21zZ3N0ciAiIgorItCd0LXRg9GB0L/QtdGI0L3QviDQt9Cw0LTQsNCy0LDQvdC1INC90LAg0YLQtdC60YPRidC40Y8g0LrQu9C+0L0uXG4iCisiXG4iCisi0KDQsNCx0L7RgtC90LDRgtCwINC00LjRgNC10LrRgtC+0YDQuNGPINC1INGB0LDQvNC+INGH0LDRgdGC0LjRh9C90L4g0L7QsdC90L7QstC10L3QsDog0YTQsNC50LvQvtCy0LXRgtC1INGB0LAg0L7QsdC90L7QstC10L3QuCAiCisi0YPRgdC/0LXRiNC90L4sINC90L4g0L3Rj9C60L7QuSDQvtGCINCy0YrRgtGA0LXRiNC90LjRgtC1LCDRgdC70YPQttC10LHQvdC4INGE0LDQudC70L7QstC1INC90LAgR2l0INC90LUg0LUg0LHQuNC7LlxuIgorIlxuIgorItCi0L7QstCwINGB0YrRgdGC0L7Rj9C90LjQtSDQtSDQsNCy0LDRgNC40LnQvdC+INC4INC90LUg0YLRgNGP0LHQstCwINC00LAg0YHQtSDRgdC70YPRh9Cy0LAuINCf0YDQvtCz0YDQsNC80LDRgtCwIOKAniVz4oCcINGJ0LUgIgorItC/0YDQtdGD0YHRgtCw0L3QvtCy0Lgg0YDQsNCx0L7RgtCwLiIKKwogIzogbGliL2Nob29zZV9mb250LnRjbDo0MQogbXNnaWQgIlNlbGVjdCIKIG1zZ3N0ciAi0JjQt9Cx0L7RgCIKQEAgLTEwMzcsNTY5ICsxMTExLDYgQEAKICLQotC+0LLQsCDQtSDQv9GA0LjQvNC10YDQtdC9INGC0LXQutGB0YIuXG4iCiAi0JDQutC+INCy0Lgg0YXQsNGA0LXRgdCy0LAg0LrQsNC6INC40LfQs9C70LXQttC00LAsINC40LfQsdC10YDQtdGC0LUg0YjRgNC40YTRgtCwLiIKIAotIzogbGliL29wdGlvbi50Y2w6MTEKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGdsb2JhbCBlbmNvZGluZyAnJXMnIgotbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QviDQs9C70L7QsdCw0LvQvdC+INC60L7QtNC40YDQsNC90LUg4oCeJXPigJwiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE5Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCByZXBvIGVuY29kaW5nICclcyciCi1tc2dzdHIgItCd0LXQv9GA0LDQstC40LvQvdC+INC60L7QtNC40YDQsNC90LUg4oCeJXPigJwg0L3QsCDRhdGA0LDQvdC40LvQuNGJ0LXRgtC+IgotCi0jOiBsaWIvb3B0aW9uLnRjbDoxMTkKLW1zZ2lkICJSZXN0b3JlIERlZmF1bHRzIgotbXNnc3RyICLQodGC0LDQvdC00LDRgNGC0L3QuCDQvdCw0YHRgtGA0L7QudC60LgiCi0KLSM6IGxpYi9vcHRpb24udGNsOjEyMwotbXNnaWQgIlNhdmUiCi1tc2dzdHIgItCX0LDQv9Cw0LfQstCw0L3QtSIKLQotIzogbGliL29wdGlvbi50Y2w6MTMzCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiJXMgUmVwb3NpdG9yeSIKLW1zZ3N0ciAi0KXRgNCw0L3QuNC70LjRidC1IOKAniVz4oCcIgotCi0jOiBsaWIvb3B0aW9uLnRjbDoxMzQKLW1zZ2lkICJHbG9iYWwgKEFsbCBSZXBvc2l0b3JpZXMpIgotbXNnc3RyICLQk9C70L7QsdCw0LvQvdC+ICjQt9CwINCy0YHQuNGH0LrQuCDRhdGA0LDQvdC40LvQuNGJ0LApIgotCi0jOiBsaWIvb3B0aW9uLnRjbDoxNDAKLW1zZ2lkICJVc2VyIE5hbWUiCi1tc2dzdHIgItCf0L7RgtGA0LXQsdC40YLQtdC70YHQutC+INC40LzQtSIKLQotIzogbGliL29wdGlvbi50Y2w6MTQxCi1tc2dpZCAiRW1haWwgQWRkcmVzcyIKLW1zZ3N0ciAi0JDQtNGA0LXRgSDQvdCwINC1LdC/0L7RidCwIgotCi0jOiBsaWIvb3B0aW9uLnRjbDoxNDMKLW1zZ2lkICJTdW1tYXJpemUgTWVyZ2UgQ29tbWl0cyIKLW1zZ3N0ciAi0J7QsdC+0LHRidCw0LLQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINC/0YDQuCDRgdC70LjQstCw0L3QtSIKLQotIzogbGliL29wdGlvbi50Y2w6MTQ0Ci1tc2dpZCAiTWVyZ2UgVmVyYm9zaXR5IgotbXNnc3RyICLQn9C+0LTRgNC+0LHQvdC+0YHRgtC4INC/0YDQuCDRgdC70LjQstCw0L3QuNGP0YLQsCIKLQotIzogbGliL29wdGlvbi50Y2w6MTQ1Ci1tc2dpZCAiU2hvdyBEaWZmc3RhdCBBZnRlciBNZXJnZSIKLW1zZ3N0ciAi0JjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHRgtCw0YLQuNGB0YLQuNC60LAg0YHQu9C10LQg0YHQu9C40LLQsNC90LjRj9GC0LAiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE0NgotbXNnaWQgIlVzZSBNZXJnZSBUb29sIgotbXNnc3RyICLQmNC30L/QvtC70LfQstCw0L3QtSDQvdCwINC/0YDQvtCz0YDQsNC80LAg0LfQsCDRgdC70LjQstCw0L3QtSIKLQotIzogbGliL29wdGlvbi50Y2w6MTQ4Ci1tc2dpZCAiVHJ1c3QgRmlsZSBNb2RpZmljYXRpb24gVGltZXN0YW1wcyIKLW1zZ3N0ciAi0JTQvtCy0LXRgNC40LUg0LLRitCyINCy0YDQtdC80LXRgtC+INC90LAg0L/RgNC+0LzRj9C90LAg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE0OQotbXNnaWQgIlBydW5lIFRyYWNraW5nIEJyYW5jaGVzIER1cmluZyBGZXRjaCIKLW1zZ3N0ciAi0J7QutCw0YHRgtGA0Y/QvdC1INC90LAg0YHQu9C10LTRj9GJ0LjRgtC1INC60LvQvtC90L7QstC1INC/0YDQuCDQtNC+0YHRgtCw0LLRj9C90LUiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE1MAotbXNnaWQgIk1hdGNoIFRyYWNraW5nIEJyYW5jaGVzIgotbXNnc3RyICLQndCw0L/QsNGB0LLQsNC90LUg0L3QsCDRgdC70LXQtNGP0YnQuNGC0LUg0LrQu9C+0L3QvtCy0LUiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE1MQotbXNnaWQgIlVzZSBUZXh0Y29udiBGb3IgRGlmZnMgYW5kIEJsYW1lcyIKLW1zZ3N0ciAiIgotItCf0YDQtdC+0LHRgNCw0LfRg9Cy0LDQvdC1INC90LAg0YLQtdC60YHRgtCwINGBIOKAnnRleHRjb2524oCcINC/0YDQuCDQsNC90L7RgtC40YDQsNC90LUg0Lgg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YDQsNC30LvQuNC60LgiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE1MgotbXNnaWQgIkJsYW1lIENvcHkgT25seSBPbiBDaGFuZ2VkIEZpbGVzIgotbXNnc3RyICLQkNC90L7RgtC40YDQsNC90LUg0L3QsCDQutC+0L/QuNC10YLQviDRgdCw0LzQviDQv9C+INC/0YDQvtC80LXQvdC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE1MwotbXNnaWQgIk1heGltdW0gTGVuZ3RoIG9mIFJlY2VudCBSZXBvc2l0b3JpZXMgTGlzdCIKLW1zZ3N0ciAi0JzQsNC60YHQuNC80LDQu9C90LAg0LTRitC70LbQuNC90LAg0L3QsCDRgdC/0LjRgdGK0LrQsCDRgdGK0YEg0YHQutC+0YDQviDQv9C+0LvQt9Cy0LDQvdC4INGF0YDQsNC90LjQu9C40YnQsCIKLQotIzogbGliL29wdGlvbi50Y2w6MTU0Ci1tc2dpZCAiTWluaW11bSBMZXR0ZXJzIFRvIEJsYW1lIENvcHkgT24iCi1tc2dzdHIgItCc0LjQvdC40LzQsNC70LXQvSDQsdGA0L7QuSDQt9C90LDRhtC4INC30LAg0LDQvdC+0YLQuNGA0LDQvdC1INC90LAg0LrQvtC/0LjQtdGC0L4iCi0KLSM6IGxpYi9vcHRpb24udGNsOjE1NQotbXNnaWQgIkJsYW1lIEhpc3RvcnkgQ29udGV4dCBSYWRpdXMgKGRheXMpIgotbXNnc3RyICLQmNGB0YLQvtGA0LjRh9C10YHQutC4INC+0LHRhdCy0LDRgiDQt9CwINCw0L3QvtGC0LjRgNCw0L3QtSDQsiDQtNC90LgiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE1NgotbXNnaWQgIk51bWJlciBvZiBEaWZmIENvbnRleHQgTGluZXMiCi1tc2dzdHIgItCR0YDQvtC5INGA0LXQtNC+0LLQtSDQt9CwINC60L7QvdGC0LXQutGB0YLQsCDQv9GA0Lgg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YDQsNC30LvQuNC60LjRgtC1IgotCi0jOiBsaWIvb3B0aW9uLnRjbDoxNTcKLW1zZ2lkICJBZGRpdGlvbmFsIERpZmYgUGFyYW1ldGVycyIKLW1zZ3N0ciAi0JTQvtC/0YrQu9C90LjRgtC10LvQvdC4INCw0YDQs9GD0LzQtdC90YLQuCDQutGK0Lwg4oCeZ2l0IGRpZmbigJwiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE1OAotbXNnaWQgIkNvbW1pdCBNZXNzYWdlIFRleHQgV2lkdGgiCi1tc2dzdHIgItCo0LjRgNC+0YfQuNC90LAg0L3QsCDRgtC10LrRgdGC0LAg0L3QsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1IgotCi0jOiBsaWIvb3B0aW9uLnRjbDoxNTkKLW1zZ2lkICJOZXcgQnJhbmNoIE5hbWUgVGVtcGxhdGUiCi1tc2dzdHIgItCo0LDQsdC70L7QvSDQt9CwINC40LzQtdGC0L4g0L3QsCDQvdC+0LLQuNGC0LUg0LrQu9C+0L3QuCIKLQotIzogbGliL29wdGlvbi50Y2w6MTYwCi1tc2dpZCAiRGVmYXVsdCBGaWxlIENvbnRlbnRzIEVuY29kaW5nIgotbXNnc3RyICLQodGC0LDQvdC00LDRgNGC0L3QviDQutC+0LTQuNGA0LDQvdC1INC90LAg0YTQsNC50LvQvtCy0LXRgtC1IgotCi0jOiBsaWIvb3B0aW9uLnRjbDoxNjEKLW1zZ2lkICJXYXJuIGJlZm9yZSBjb21taXR0aW5nIHRvIGEgZGV0YWNoZWQgaGVhZCIKLW1zZ3N0ciAi0J/RgNC10LTRg9C/0YDQtdC20LTQsNCy0LDQvdC1INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC10YLQviDQv9GA0Lgg0L3QtdGB0LLRitGA0LfQsNC9INCy0YDRitGFIgotCi0jOiBsaWIvb3B0aW9uLnRjbDoxNjIKLW1zZ2lkICJTdGFnaW5nIG9mIHVudHJhY2tlZCBmaWxlcyIKLW1zZ3N0ciAi0JLQutCw0YDQstCw0L3QtSDQvdCwINC90LXRgdC70LXQtNC10L3QuCDRhNCw0LnQu9C+0LLQtSDQsiDQuNC90LTQtdC60YHQsCIKLQotIzogbGliL29wdGlvbi50Y2w6MTYzCi1tc2dpZCAiU2hvdyB1bnRyYWNrZWQgZmlsZXMiCi1tc2dzdHIgItCf0L7QutCw0LfQstCw0L3QtSDQvdCwINC90LXRgdC70LXQtNC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE2NAotbXNnaWQgIlRhYiBzcGFjaW5nIgotbXNnc3RyICLQoNCw0LfQvNC10YAg0L3QsCDRgtCw0LHRg9C70LDRhtC40Y/RgtCwINCyINC40L3RgtC10YDQstCw0LvQuCIKLQotIzogbGliL29wdGlvbi50Y2w6MjEwCi1tc2dpZCAiQ2hhbmdlIgotbXNnc3RyICLQodC80Y/QvdCwIgotCi0jOiBsaWIvb3B0aW9uLnRjbDoyNTQKLW1zZ2lkICJTcGVsbGluZyBEaWN0aW9uYXJ5OiIKLW1zZ3N0ciAi0J/RgNCw0LLQvtC/0LjRgdC10L0g0YDQtdGH0L3QuNC6OiIKLQotIzogbGliL29wdGlvbi50Y2w6Mjg0Ci1tc2dpZCAiQ2hhbmdlIEZvbnQiCi1tc2dzdHIgItCh0LzRj9C90LAg0L3QsCDRiNGA0LjRhNGC0LAiCi0KLSM6IGxpYi9vcHRpb24udGNsOjI4OAotIywgdGNsLWZvcm1hdAotbXNnaWQgIkNob29zZSAlcyIKLW1zZ3N0ciAi0JjQt9Cx0L7RgCDQvdCwIOKAniVz4oCcIgotCi0jOiBsaWIvb3B0aW9uLnRjbDoyOTQKLW1zZ2lkICJwdC4iCi1tc2dzdHIgItGC0YfQui4iCi0KLSM6IGxpYi9vcHRpb24udGNsOjMwOAotbXNnaWQgIlByZWZlcmVuY2VzIgotbXNnc3RyICLQndCw0YHRgtGA0L7QudC60LgiCi0KLSM6IGxpYi9vcHRpb24udGNsOjM0NQotbXNnaWQgIkZhaWxlZCB0byBjb21wbGV0ZWx5IHNhdmUgb3B0aW9uczoiCi1tc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQt9Cw0L/QsNC30LLQsNC90LUg0L3QsCDQvdCw0YHRgtGA0L7QudC60LjRgtC1OiIKLQotIzogbGliL2VuY29kaW5nLnRjbDo0NDMKLW1zZ2lkICJEZWZhdWx0IgotbXNnc3RyICLQodGC0LDQvdC00LDRgNGC0L3QvtGC0L4iCi0KLSM6IGxpYi9lbmNvZGluZy50Y2w6NDQ4Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiU3lzdGVtICglcykiCi1tc2dzdHIgItCh0LjRgdGC0LXQvNC90L7RgtC+ICglcykiCi0KLSM6IGxpYi9lbmNvZGluZy50Y2w6NDU5IGxpYi9lbmNvZGluZy50Y2w6NDY1Ci1tc2dpZCAiT3RoZXIiCi1tc2dzdHIgItCU0YDRg9Cz0L4iCi0KLSM6IGxpYi9tZXJnZXRvb2wudGNsOjgKLW1zZ2lkICJGb3JjZSByZXNvbHV0aW9uIHRvIHRoZSBiYXNlIHZlcnNpb24/IgotbXNnc3RyICLQlNCwINGB0LUg0LjQt9C/0L7Qu9C30LLQsCDQsdCw0LfQvtCy0LDRgtCwINCy0LXRgNGB0LjRjyIKLQotIzogbGliL21lcmdldG9vbC50Y2w6OQotbXNnaWQgIkZvcmNlIHJlc29sdXRpb24gdG8gdGhpcyBicmFuY2g/IgotbXNnc3RyICLQlNCwINGB0LUg0LjQt9C/0L7Qu9C30LLQsCDQstC10YDRgdC40Y/RgtCwINC+0YIg0YLQvtC30Lgg0LrQu9C+0L0iCi0KLSM6IGxpYi9tZXJnZXRvb2wudGNsOjEwCi1tc2dpZCAiRm9yY2UgcmVzb2x1dGlvbiB0byB0aGUgb3RoZXIgYnJhbmNoPyIKLW1zZ3N0ciAi0JTQsCDRgdC1INC40LfQv9C+0LvQt9Cy0LAg0LLQtdGA0YHQuNGP0YLQsCDQvtGCINC00YDRg9Cz0LjRjyDQutC70L7QvSIKLQotIzogbGliL21lcmdldG9vbC50Y2w6MTQKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICIiCi0iTm90ZSB0aGF0IHRoZSBkaWZmIHNob3dzIG9ubHkgY29uZmxpY3RpbmcgY2hhbmdlcy5cbiIKLSJcbiIKLSIlcyB3aWxsIGJlIG92ZXJ3cml0dGVuLlxuIgotIlxuIgotIlRoaXMgb3BlcmF0aW9uIGNhbiBiZSB1bmRvbmUgb25seSBieSByZXN0YXJ0aW5nIHRoZSBtZXJnZS4iCi1tc2dzdHIgIiIKLSLQoNCw0LfQu9C40LrQsNGC0LAg0L/QvtC60LDQt9Cy0LAg0YHQsNC80L4g0YDQsNC30LvQuNC60LjRgtC1INGBINC60L7QvdGE0LvQuNC60YIuXG4iCi0iXG4iCi0i0KTQsNC50LvRitGCIOKAniVz4oCcINGJ0LUg0LHRitC00LUg0L/RgNC10LfQsNC/0LjRgdCw0L0uXG4iCi0iXG4iCi0i0KLQsNC30Lgg0L7Qv9C10YDQsNGG0LjRjyDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQvNC10L3QtdC90LAg0YHQsNC80L4g0YfRgNC10Lcg0LfQsNC/0L7Rh9Cy0LDQvdC1INC90LAg0YHQu9C40LLQsNC90LXRgtC+INC90LDQvdC+0LLQvi4iCi0KLSM6IGxpYi9tZXJnZXRvb2wudGNsOjQ1Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiRmlsZSAlcyBzZWVtcyB0byBoYXZlIHVucmVzb2x2ZWQgY29uZmxpY3RzLCBzdGlsbCBzdGFnZT8iCi1tc2dzdHIgIiIKLSLQmNC30LPQu9C10LbQtNCwLCDRh9C1INCy0YHQtSDQvtGJ0LUg0LjQvNCwINC90LXQutC+0YDQuNCz0LjRgNCw0L3QuCDQutC+0L3RhNC70LjQutGC0Lgg0LLRitCyINGE0LDQudC70LAg4oCeJXPigJwuINCU0LAg0YHQtSDQtNC+0LHQsNCy0LggIgotItC70Lgg0YTQsNC50LvRitGCINC60YrQvCDQuNC90LTQtdC60YHQsD8iCi0KLSM6IGxpYi9tZXJnZXRvb2wudGNsOjYwCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiQWRkaW5nIHJlc29sdXRpb24gZm9yICVzIgotbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0LrQvtGA0LXQutGG0LjRjyDQvdCwINC60L7QvdGE0LvQuNC60YLQuNGC0LUg0LIg4oCeJXPigJwiCi0KLSM6IGxpYi9tZXJnZXRvb2wudGNsOjE0MQotbXNnaWQgIkNhbm5vdCByZXNvbHZlIGRlbGV0aW9uIG9yIGxpbmsgY29uZmxpY3RzIHVzaW5nIGEgdG9vbCIKLW1zZ3N0ciAiIgotItCa0L7QvdGE0LvQuNC60YLQuNGC0LUg0L/RgNC4INGB0LjQvNCy0L7Qu9C90Lgg0LLRgNGK0LfQutC4INC40LvQuCDQuNC30YLRgNC40LLQsNC90LUg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDQutC+0YDQuNCz0LjRgNCw0L3QuCDRgSAiCi0i0LLRitC90YjQvdCwINC/0YDQvtCz0YDQsNC80LAuIgotCi0jOiBsaWIvbWVyZ2V0b29sLnRjbDoxNDYKLW1zZ2lkICJDb25mbGljdCBmaWxlIGRvZXMgbm90IGV4aXN0IgotbXNnc3RyICLQpNCw0LnQu9GK0YIsINCyINC60L7QudGC0L4g0LUg0LrQvtC90YTQu9C40LrRgtGK0YIsINC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAiCi0KLSM6IGxpYi9tZXJnZXRvb2wudGNsOjI0NgotIywgdGNsLWZvcm1hdAotbXNnaWQgIk5vdCBhIEdVSSBtZXJnZSB0b29sOiAnJXMnIgotbXNnc3RyICLQotC+0LLQsCDQvdC1INC1INCz0YDQsNGE0LjRh9C90LAg0L/RgNC+0LPRgNCw0LzQsCDQt9CwINGB0LvQuNCy0LDQvdC1OiDigJ4lc+KAnCIKLQotIzogbGliL21lcmdldG9vbC50Y2w6Mjc1Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiVW5zdXBwb3J0ZWQgbWVyZ2UgdG9vbCAnJXMnIgotbXNnc3RyICLQndC10L/QvtC00LTRitGA0LbQsNC90LAg0L/RgNC+0LPRgNCw0LzQsCDQt9CwINGB0LvQuNCy0LDQvdC1OiDigJ4lc+KAnCIKLQotIzogbGliL21lcmdldG9vbC50Y2w6MzEwCi1tc2dpZCAiTWVyZ2UgdG9vbCBpcyBhbHJlYWR5IHJ1bm5pbmcsIHRlcm1pbmF0ZSBpdD8iCi1tc2dzdHIgItCf0YDQvtCz0YDQsNC80LDRgtCwINC30LAg0YHQu9C40LLQsNC90LUg0LLQtdGH0LUg0LUg0YHRgtCw0YDRgtC40YDQsNC90LAuINCU0LAg0LHRitC00LUg0LvQuCDQuNC30LrQu9GO0YfQtdC90LA/IgotCi0jOiBsaWIvbWVyZ2V0b29sLnRjbDozMzAKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICIiCi0iRXJyb3IgcmV0cmlldmluZyB2ZXJzaW9uczpcbiIKLSIlcyIKLW1zZ3N0ciAiIgotItCT0YDQtdGI0LrQsCDQv9GA0Lgg0LjQt9GC0LXQs9C70Y/QvdC10YLQviDQvdCwINCy0LXRgNGB0LjQuDpcbiIKLSIlcyIKLQotIzogbGliL21lcmdldG9vbC50Y2w6MzUwCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiIgotIkNvdWxkIG5vdCBzdGFydCB0aGUgbWVyZ2UgdG9vbDpcbiIKLSJcbiIKLSIlcyIKLW1zZ3N0ciAiIgotItCf0YDQvtCz0YDQsNC80LDRgtCwINC30LAg0YHQu9C40LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YLQsNGA0YLQuNGA0LDQvdCwOlxuIgotIlxuIgotIiVzIgotCi0jOiBsaWIvbWVyZ2V0b29sLnRjbDozNTQKLW1zZ2lkICJSdW5uaW5nIG1lcmdlIHRvb2wuLi4iCi1tc2dzdHIgItCh0YLQsNGA0YLQuNGA0LDQvdC1INC90LAg0L/RgNC+0LPRgNCw0LzQsNGC0LAg0LfQsCDRgdC70LjQstCw0L3QteKApiIKLQotIzogbGliL21lcmdldG9vbC50Y2w6MzgyIGxpYi9tZXJnZXRvb2wudGNsOjM5MAotbXNnaWQgIk1lcmdlIHRvb2wgZmFpbGVkLiIKLW1zZ3N0ciAi0JPRgNC10YjQutCwINCyINC/0YDQvtCz0YDQsNC80LDRgtCwINC30LAg0YHQu9C40LLQsNC90LUuIgotCi0jOiBsaWIvdG9vbHNfZGxnLnRjbDoyMgotbXNnaWQgIkFkZCBUb29sIgotbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0LrQvtC80LDQvdC00LAiCi0KLSM6IGxpYi90b29sc19kbGcudGNsOjI4Ci1tc2dpZCAiQWRkIE5ldyBUb29sIENvbW1hbmQiCi1tc2dzdHIgItCU0L7QsdCw0LLRj9C90LUg0L3QsCDQutC+0LzQsNC90LTQsCIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6MzQKLW1zZ2lkICJBZGQgZ2xvYmFsbHkiCi1tc2dzdHIgItCT0LvQvtCx0LDQu9C90L4g0LTQvtCx0LDQstGP0L3QtSIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6NDYKLW1zZ2lkICJUb29sIERldGFpbHMiCi1tc2dzdHIgItCf0L7QtNGA0L7QsdC90L7RgdGC0Lgg0LfQsCDQutC+0LzQsNC90LTQsNGC0LAiCi0KLSM6IGxpYi90b29sc19kbGcudGNsOjQ5Ci1tc2dpZCAiVXNlICcvJyBzZXBhcmF0b3JzIHRvIGNyZWF0ZSBhIHN1Ym1lbnUgdHJlZToiCi1tc2dzdHIgItCX0LAg0YHRitC30LTQsNCy0LDQvdC1INC90LAg0L/QvtC00LzQtdC90Y7RgtCwINC40LfQv9C+0LvQt9Cy0LDQudGC0LUg0LfQvdCw0LrQsCDigJ4v4oCcINC30LAg0YDQsNC30LTQtdC70LjRgtC10Ls6IgotCi0jOiBsaWIvdG9vbHNfZGxnLnRjbDo2MAotbXNnaWQgIkNvbW1hbmQ6IgotbXNnc3RyICLQmtC+0LzQsNC90LTQsDoiCi0KLSM6IGxpYi90b29sc19kbGcudGNsOjcxCi1tc2dpZCAiU2hvdyBhIGRpYWxvZyBiZWZvcmUgcnVubmluZyIKLW1zZ3N0ciAi0J/RgNC10LTQuCDQuNC30L/RitC70L3QtdC90LjQtSDQtNCwINGB0LUg0LjQt9Cy0LXQttC00LAg0LTQuNCw0LvQvtCz0L7QsiDQv9GA0L7Qt9C+0YDQtdGGIgotCi0jOiBsaWIvdG9vbHNfZGxnLnRjbDo3NwotbXNnaWQgIkFzayB0aGUgdXNlciB0byBzZWxlY3QgYSByZXZpc2lvbiAoc2V0cyAkUkVWSVNJT04pIgotbXNnc3RyICLQn9C+0YLRgNC10LHQuNGC0LXQu9GP0YIg0LTQsCDRg9C60LDQttC1INCy0LXRgNGB0LjRjyAo0LfQsNC00LDQstCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC70LjQstCw0YLQsCAkUkVWSVNJT04pIgotCi0jOiBsaWIvdG9vbHNfZGxnLnRjbDo4MgotbXNnaWQgIkFzayB0aGUgdXNlciBmb3IgYWRkaXRpb25hbCBhcmd1bWVudHMgKHNldHMgJEFSR1MpIgotbXNnc3RyICIiCi0i0J/QvtGC0YDQtdCx0LjRgtC10LvRj9GCINC00LAg0YPQutCw0LbQtSDQtNC+0L/RitC70L3QuNGC0LXQu9C90Lgg0LDRgNCz0YPQvNC10L3RgtC4ICjQt9Cw0LTQsNCy0LDQvdC1INC90LAg0L/RgNC+0LzQtdC90LvQuNCy0LDRgtCwICRBUkdTKSIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6ODkKLW1zZ2lkICJEb24ndCBzaG93IHRoZSBjb21tYW5kIG91dHB1dCB3aW5kb3ciCi1tc2dzdHIgItCR0LXQtyDQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQv9GA0L7Qt9C+0YDQtdGGINGBINC40LfRhdC+0LTQsCDQvtGCINC60L7QvNCw0L3QtNCw0YLQsCIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6OTQKLW1zZ2lkICJSdW4gb25seSBpZiBhIGRpZmYgaXMgc2VsZWN0ZWQgKCRGSUxFTkFNRSBub3QgZW1wdHkpIgotbXNnc3RyICIiCi0i0KHRgtCw0YDRgtC40YDQsNC90LUg0YHQsNC80L4g0YHQu9C10LQg0LjQt9Cx0L7RgCDQvdCwINGA0LDQt9C70LjQutCwICjQv9GA0L7QvNC10L3Qu9C40LLQsNGC0LAgJEZJTEVOQU1FINC90LUg0LUg0L/RgNCw0LfQvdCwKSIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6MTE4Ci1tc2dpZCAiUGxlYXNlIHN1cHBseSBhIG5hbWUgZm9yIHRoZSB0b29sLiIKLW1zZ3N0ciAi0JfQsNC00LDQudGC0LUg0LjQvNC1INC30LAg0LrQvtC80LDQvdC00LDRgtCwLiIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6MTI2Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiVG9vbCAnJXMnIGFscmVhZHkgZXhpc3RzLiIKLW1zZ3N0ciAi0JrQvtC80LDQvdC00LDRgtCwIOKAniVz4oCcINCy0LXRh9C1INGB0YrRidC10YHRgtCy0YPQstCwLiIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6MTQ4Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiIgotIkNvdWxkIG5vdCBhZGQgdG9vbDpcbiIKLSIlcyIKLW1zZ3N0ciAiIgotItCa0L7QvNCw0L3QtNCw0YLQsCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LTQvtCx0LDQstC10L3QsDpcbiIKLSIlcyIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6MTg3Ci1tc2dpZCAiUmVtb3ZlIFRvb2wiCi1tc2dzdHIgItCf0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0LrQvtC80LDQvdC00LAiCi0KLSM6IGxpYi90b29sc19kbGcudGNsOjE5MwotbXNnaWQgIlJlbW92ZSBUb29sIENvbW1hbmRzIgotbXNnc3RyICLQn9GA0LXQvNCw0YXQstCw0L3QtSDQvdCwINC60L7QvNCw0L3QtNC4IgotCi0jOiBsaWIvdG9vbHNfZGxnLnRjbDoxOTgKLW1zZ2lkICJSZW1vdmUiCi1tc2dzdHIgItCf0YDQtdC80LDRhdCy0LDQvdC1IgotCi0jOiBsaWIvdG9vbHNfZGxnLnRjbDoyMzEKLW1zZ2lkICIoQmx1ZSBkZW5vdGVzIHJlcG9zaXRvcnktbG9jYWwgdG9vbHMpIgotbXNnc3RyICIo0LrQvtC80LDQvdC00LjRgtC1INC60YrQvCDQu9C+0LrQsNC70L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1INGB0LAg0L7QsdC+0LfQvdCw0YfQtdC90Lgg0LIg0YHQuNC90YzQvikiCi0KLSM6IGxpYi90b29sc19kbGcudGNsOjI5MgotIywgdGNsLWZvcm1hdAotbXNnaWQgIlJ1biBDb21tYW5kOiAlcyIKLW1zZ3N0ciAi0JjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDQutC+0LzQsNC90LTQsNGC0LAg4oCeJXPigJwiCi0KLSM6IGxpYi90b29sc19kbGcudGNsOjMwNgotbXNnaWQgIkFyZ3VtZW50cyIKLW1zZ3N0ciAi0JDRgNCz0YPQvNC10L3RgtC4IgotCi0jOiBsaWIvdG9vbHNfZGxnLnRjbDozMzYgbGliL2NoZWNrb3V0X29wLnRjbDo1NjcgbGliL21lcmdlLnRjbDoxNjYKLW1zZ2lkICJWaXN1YWxpemUiCi1tc2dzdHIgItCS0LjQt9GD0LDQu9C40LfQsNGG0LjRjyIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6MzQxCi1tc2dpZCAiT0siCi1tc2dzdHIgItCU0L7QsdGA0LUiCi0KLSM6IGxpYi9zZWFyY2gudGNsOjQ4Ci1tc2dpZCAiRmluZDoiCi1tc2dzdHIgItCi0YrRgNGB0LXQvdC1OiIKLQotIzogbGliL3NlYXJjaC50Y2w6NTAKLW1zZ2lkICJOZXh0IgotbXNnc3RyICLQodC70LXQtNCy0LDRidCwINC/0L7Rj9Cy0LAiCi0KLSM6IGxpYi9zZWFyY2gudGNsOjUxCi1tc2dpZCAiUHJldiIKLW1zZ3N0ciAi0J/RgNC10LTQuNGI0L3QsCDQv9C+0Y/QstCwIgotCi0jOiBsaWIvc2VhcmNoLnRjbDo1MgotbXNnaWQgIlJlZ0V4cCIKLW1zZ3N0ciAi0KDQtdCzLiDQuNC30YDQsNC3IgotCi0jOiBsaWIvc2VhcmNoLnRjbDo1NAotbXNnaWQgIkNhc2UiCi1tc2dzdHIgItCg0LXQs9C40YHRgtGK0YAiCi0KLSM6IGxpYi9zaG9ydGN1dC50Y2w6MjEgbGliL3Nob3J0Y3V0LnRjbDo2MgotbXNnaWQgIkNhbm5vdCB3cml0ZSBzaG9ydGN1dDoiCi1tc2dzdHIgItCa0LvQsNCy0LjRiNC90LDRgtCwINC60L7QvNCx0LjQvdCw0YbQuNGPINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QsNC30LXQvdCwOiIKLQotIzogbGliL3Nob3J0Y3V0LnRjbDoxMzcKLW1zZ2lkICJDYW5ub3Qgd3JpdGUgaWNvbjoiCi1tc2dzdHIgItCY0LrQvtC90LDRgtCwINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QsNC30LXQvdCwOiIKLQotIzogbGliL2RpZmYudGNsOjc3Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiIgotIk5vIGRpZmZlcmVuY2VzIGRldGVjdGVkLlxuIgotIlxuIgotIiVzIGhhcyBubyBjaGFuZ2VzLlxuIgotIlxuIgotIlRoZSBtb2RpZmljYXRpb24gZGF0ZSBvZiB0aGlzIGZpbGUgd2FzIHVwZGF0ZWQgYnkgYW5vdGhlciBhcHBsaWNhdGlvbiwgYnV0ICIKLSJ0aGUgY29udGVudCB3aXRoaW4gdGhlIGZpbGUgd2FzIG5vdCBjaGFuZ2VkLlxuIgotIlxuIgotIkEgcmVzY2FuIHdpbGwgYmUgYXV0b21hdGljYWxseSBzdGFydGVkIHRvIGZpbmQgb3RoZXIgZmlsZXMgd2hpY2ggbWF5IGhhdmUgIgotInRoZSBzYW1lIHN0YXRlLiIKLW1zZ3N0ciAiIgotItCd0LUg0YHQsCDQvtGC0LrRgNC40YLQuCDRgNCw0LfQu9C40LrQuC5cbiIKLSJcbiIKLSLQndGP0LzQsCDQv9GA0L7QvNC10L3QuCDQsiDigJ4lc+KAnC5cbiIKLSJcbiIKLSLQktGA0LXQvNC10YLQviDQvdCwINC/0YDQvtC80Y/QvdCwINC90LAg0YTQsNC50LvQsCDQtSDQsdC40Lsg0LfQsNC00LDQtNC10L0g0L7RgiDQtNGA0YPQs9CwINC/0YDQvtCz0YDQsNC80LAsINC90L4g0YHRitC00YrRgNC20LDQvdC40LXRgtC+ICIKLSLQvNGDINC90LUg0LUg0L/RgNC+0LzQtdC90LXQvdC+LlxuIgotIlxuIgotItCQ0LLRgtC+0LzQsNGC0LjRh9C90L4g0YnQtSDQt9Cw0L/QvtGH0L3QtSDQvdC+0LLQsCDQv9GA0L7QstC10YDQutCwINC00LDQu9C4INC90Y/QvNCwINC00YDRg9Cz0Lgg0YTQsNC50LvQvtCy0LUg0LIg0YLQvtCy0LAgIgotItGB0YrRgdGC0L7Rj9C90LjQtS4iCi0KLSM6IGxpYi9kaWZmLnRjbDoxMTcKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJMb2FkaW5nIGRpZmYgb2YgJXMuLi4iCi1tc2dzdHIgItCX0LDRgNC10LbQtNCw0L3QtSDQvdCwINGA0LDQt9C70LjQutC40YLQtSDQsiDigJ4lc+KAnOKApiIKLQotIzogbGliL2RpZmYudGNsOjE0MAotbXNnaWQgIiIKLSJMT0NBTDogZGVsZXRlZFxuIgotIlJFTU9URTpcbiIKLW1zZ3N0ciAiIgotItCb0J7QmtCQ0JvQndCeOiDQuNC30YLRgNC40YJcbiIKLSLQntCi0JTQkNCb0JXQp9CV0J3QnjpcbiIKLQotIzogbGliL2RpZmYudGNsOjE0NQotbXNnaWQgIiIKLSJSRU1PVEU6IGRlbGV0ZWRcbiIKLSJMT0NBTDpcbiIKLW1zZ3N0ciAiIgotItCe0KLQlNCQ0JvQldCn0JXQndCeOiDQuNC30YLRgNC40YJcbiIKLSLQm9Ce0JrQkNCb0J3QnjpcbiIKLQotIzogbGliL2RpZmYudGNsOjE1MgotbXNnaWQgIkxPQ0FMOlxuIgotbXNnc3RyICLQm9Ce0JrQkNCb0J3QnjpcbiIKLQotIzogbGliL2RpZmYudGNsOjE1NQotbXNnaWQgIlJFTU9URTpcbiIKLW1zZ3N0ciAi0J7QotCU0JDQm9CV0KfQldCd0J46XG4iCi0KLSM6IGxpYi9kaWZmLnRjbDoyMTcgbGliL2RpZmYudGNsOjM1NQotIywgdGNsLWZvcm1hdAotbXNnaWQgIlVuYWJsZSB0byBkaXNwbGF5ICVzIgotbXNnc3RyICLQpNCw0LnQu9GK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0L7QutCw0LfQsNC9IgotCi0jOiBsaWIvZGlmZi50Y2w6MjE4Ci1tc2dpZCAiRXJyb3IgbG9hZGluZyBmaWxlOiIKLW1zZ3N0ciAi0JPRgNC10YjQutCwINC/0YDQuCDQt9Cw0YDQtdC20LTQsNC90LUg0L3QsCDRhNCw0LnQuzoiCi0KLSM6IGxpYi9kaWZmLnRjbDoyMjUKLW1zZ2lkICJHaXQgUmVwb3NpdG9yeSAoc3VicHJvamVjdCkiCi1tc2dzdHIgItCl0YDQsNC90LjQu9C40YnQtSDQvdCwIEdpdCAo0L/QvtC00LzQvtC00YPQuykiCi0KLSM6IGxpYi9kaWZmLnRjbDoyMzcKLW1zZ2lkICIqIEJpbmFyeSBmaWxlIChub3Qgc2hvd2luZyBjb250ZW50KS4iCi1tc2dzdHIgIuKXjyDQlNCy0L7QuNGH0LXQvSDRhNCw0LnQuyAo0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LUg0YHQtSDQv9C+0LrQsNC30LLQsCkuIgotCi0jOiBsaWIvZGlmZi50Y2w6MjQyCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiIgotIiogVW50cmFja2VkIGZpbGUgaXMgJWQgYnl0ZXMuXG4iCi0iKiBTaG93aW5nIG9ubHkgZmlyc3QgJWQgYnl0ZXMuXG4iCi1tc2dzdHIgIiIKLSLil48g0J3QtdGB0LvQtdC00LXQvdC40Y/RgiDRhNCw0LnQuyDQtSAlZCDQsdCw0LnRgtCwLlxuIgotIuKXjyDQn9C+0LrQsNC30LLQsNGCINGB0LUg0YHQsNC80L4g0L/RitGA0LLQuNGC0LUgJWQg0LHQsNC50YLQsC5cbiIKLQotIzogbGliL2RpZmYudGNsOjI0OAotIywgdGNsLWZvcm1hdAotbXNnaWQgIiIKLSJcbiIKLSIqIFVudHJhY2tlZCBmaWxlIGNsaXBwZWQgaGVyZSBieSAlcy5cbiIKLSIqIFRvIHNlZSB0aGUgZW50aXJlIGZpbGUsIHVzZSBhbiBleHRlcm5hbCBlZGl0b3IuXG4iCi1tc2dzdHIgIiIKLSJcbiIKLSLil48g0J3QtdGB0LvQtdC00LXQvdC40Y/RgiDRhNCw0LnQuyDQtSDQvtGC0YDRj9C30LDQvSDQtNC+0YLRg9C6INC+0YIg0L/RgNC+0LPRgNCw0LzQsNGC0LAg4oCeJXPigJwuXG4iCi0i4pePINCY0LfQv9C+0LvQt9Cy0LDQudGC0LUg0LLRitC90YjQtdC9INGA0LXQtNCw0LrRgtC+0YAsINC30LAg0LTQsCDQstC40LTQuNGC0LUg0YbQtdC70LjRjyDRhNCw0LnQuy5cbiIKLQotIzogbGliL2RpZmYudGNsOjM1NiBsaWIvYmxhbWUudGNsOjExMjgKLW1zZ2lkICJFcnJvciBsb2FkaW5nIGRpZmY6IgotbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INC30LDRgNC10LbQtNCw0L3QtSDQvdCwINGA0LDQt9C70LjQutCwOiIKLQotIzogbGliL2RpZmYudGNsOjU3OAotbXNnaWQgIkZhaWxlZCB0byB1bnN0YWdlIHNlbGVjdGVkIGh1bmsuIgotbXNnc3RyICLQmNC30LHRgNCw0L3QvtGC0L4g0L/QsNGA0YfQtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9Cy0LDQtNC10L3QviDQvtGCINC40L3QtNC10LrRgdCwLiIKLQotIzogbGliL2RpZmYudGNsOjU4NQotbXNnaWQgIkZhaWxlZCB0byBzdGFnZSBzZWxlY3RlZCBodW5rLiIKLW1zZ3N0ciAi0JjQt9Cx0YDQsNC90L7RgtC+INC/0LDRgNGH0LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC00L7QsdCw0LLQtdC90L4g0LrRitC8INC40L3QtNC10LrRgdCwLiIKLQotIzogbGliL2RpZmYudGNsOjY2NAotbXNnaWQgIkZhaWxlZCB0byB1bnN0YWdlIHNlbGVjdGVkIGxpbmUuIgotbXNnc3RyICLQmNC30LHRgNCw0L3QuNGP0YIg0YDQtdC0INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30LLQsNC00LXQvSDQvtGCINC40L3QtNC10LrRgdCwLiIKLQotIzogbGliL2RpZmYudGNsOjY3MgotbXNnaWQgIkZhaWxlZCB0byBzdGFnZSBzZWxlY3RlZCBsaW5lLiIKLW1zZ3N0ciAi0JjQt9Cx0YDQsNC90LjRj9GCINGA0LXQtCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LTQvtCx0LDQstC10L0g0LrRitC8INC40L3QtNC10LrRgdCwLiIKLQotIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoyOSBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjM0Ci1tc2dpZCAiRGVsZXRlIEJyYW5jaCBSZW1vdGVseSIKLW1zZ3N0ciAi0JjQt9GC0YDQuNCy0LDQvdC1INC90LAg0L7RgtC00LDQu9C10YfQtdC90LjRjyDQutC70L7QvSIKLQotIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDo0OAotbXNnaWQgIkZyb20gUmVwb3NpdG9yeSIKLW1zZ3N0ciAi0J7RgiDRhdGA0LDQvdC40LvQuNGJ0LUiCi0KLSM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6ODgKLW1zZ2lkICJCcmFuY2hlcyIKLW1zZ3N0ciAi0JrQu9C+0L3QuCIKLQotIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxMTAKLW1zZ2lkICJEZWxldGUgT25seSBJZiIKLW1zZ3N0ciAi0JjQt9GC0YDQuNCy0LDQvdC1LCDRgdCw0LzQviDQsNC60L4iCi0KLSM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTEyCi1tc2dpZCAiTWVyZ2VkIEludG86IgotbXNnc3RyICLQodC70Y/RgiDQsjoiCi0KLSM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTIwIGxpYi9icmFuY2hfZGVsZXRlLnRjbDo1MwotbXNnaWQgIkFsd2F5cyAoRG8gbm90IHBlcmZvcm0gbWVyZ2UgY2hlY2tzKSIKLW1zZ3N0ciAi0JLQuNC90LDQs9C4ICjQsdC10Lcg0L/RgNC+0LLQtdGA0LrQsCDQt9CwINGB0LvQuNCy0LDQvdC1KSIKLQotIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxNTMKLW1zZ2lkICJBIGJyYW5jaCBpcyByZXF1aXJlZCBmb3IgJ01lcmdlZCBJbnRvJy4iCi1tc2dzdHIgItCX0LAg0LTQsNC90L3QuNGC0LUg4oCe0KHQu9GP0YIg0LLigJwg0LUg0L3QtdC+0LHRhdC+0LTQuNC80L4g0LTQsCDQt9Cw0LTQsNC00LXRgtC1INC60LvQvtC9LiIKLQotIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxODUKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICIiCi0iVGhlIGZvbGxvd2luZyBicmFuY2hlcyBhcmUgbm90IGNvbXBsZXRlbHkgbWVyZ2VkIGludG8gJXM6XG4iCi0iXG4iCi0iIC0gJXMiCi1tc2dzdHIgIiIKLSLQodC70LXQtNC90LjRgtC1INC60LvQvtC90Lgg0L3QtSDRgdCwINGB0LvQtdGC0Lgg0L3QsNC/0YrQu9C90L4g0LIg4oCeJXPigJw6XG4iCi0iXG4iCi0iIOKXjyAlcyIKLQotIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxOTAKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICIiCi0iT25lIG9yIG1vcmUgb2YgdGhlIG1lcmdlIHRlc3RzIGZhaWxlZCBiZWNhdXNlIHlvdSBoYXZlIG5vdCBmZXRjaGVkIHRoZSAiCi0ibmVjZXNzYXJ5IGNvbW1pdHMuICBUcnkgZmV0Y2hpbmcgZnJvbSAlcyBmaXJzdC4iCi1tc2dzdHIgIiIKLSLQn9C+0L3QtSDQtdC00L3QsCDQvtGCINC/0YDQvtCx0LjRgtC1INC30LAg0YHQu9C40LLQsNC90LUg0LUg0L3QtdGD0YHQv9C10YjQvdCwLCDQt9Cw0YnQvtGC0L4g0L3QtSDRgdGC0LUg0LTQvtGB0YLQsNCy0LjQu9C4INCy0YHQuNGH0LrQuCAiCi0i0L3QtdC+0LHRhdC+0LTQuNC80Lgg0L/QvtC00LDQstCw0L3QuNGPLiDQn9GA0L7QsdCy0LDQudGC0LUg0L/RitGA0LLQviDQtNCwINC00L7RgdGC0LDQstC40YLQtSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINC+0YIg4oCeJXPigJwuIgotCi0jOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjIwOAotbXNnaWQgIlBsZWFzZSBzZWxlY3Qgb25lIG9yIG1vcmUgYnJhbmNoZXMgdG8gZGVsZXRlLiIKLW1zZ3N0ciAi0JjQt9Cx0LXRgNC10YLQtSDQv9C+0L3QtSDQtdC00LjQvSDQutC70L7QvSDQt9CwINC40LfRgtGA0LjQstCw0L3QtS4iCi0KLSM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MjE4IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoxMTUKLW1zZ2lkICIiCi0iUmVjb3ZlcmluZyBkZWxldGVkIGJyYW5jaGVzIGlzIGRpZmZpY3VsdC5cbiIKLSJcbiIKLSJEZWxldGUgdGhlIHNlbGVjdGVkIGJyYW5jaGVzPyIKLW1zZ3N0ciAiIgotItCS0YrQt9GB0YLQsNC90L7QstGP0LLQsNC90LXRgtC+INC90LAg0LjQt9GC0YDQuNGC0Lgg0LrQu9C+0L3QuCDQvNC+0LbQtSDQtNCwINC1INGC0YDRg9C00L3Qvi5cbiIKLSJcbiIKLSLQodC40LPRg9GA0L3QuCDQu9C4INGB0YLQtSwg0YfQtSDQuNGB0LrQsNGC0LUg0LTQsCDRgtGA0LjQtdGC0LU/IgotCi0jOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjIyNwotIywgdGNsLWZvcm1hdAotbXNnaWQgIkRlbGV0aW5nIGJyYW5jaGVzIGZyb20gJXMiCi1tc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSDQvdCwINC60LvQvtC90Lgg0L7RgiDigJ4lc+KAnCIKLQotIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDozMDAKLW1zZ2lkICJObyByZXBvc2l0b3J5IHNlbGVjdGVkLiIKLW1zZ3N0ciAi0J3QtSDQtSDQuNC30LHRgNCw0L3QviDRhdGA0LDQvdC40LvQuNGJ0LUuIgotCi0jOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjMwNQotIywgdGNsLWZvcm1hdAotbXNnaWQgIlNjYW5uaW5nICVzLi4uIgotbXNnc3RyICLQn9GA0LXRgtGK0YDRgdCy0LDQvdC1INC90LAg4oCeJXPigJzigKYiCi0KICM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MzMKIG1zZ2lkICJHaXQgR3VpIgogbXNnc3RyICLQk9Cf0Jgg0L3QsCBHaXQiCkBAIC0xNjQyLDEwICsxMTUzLDYgQEAKIG1zZ2lkICJGYWlsZWQgdG8gY3JlYXRlIHJlcG9zaXRvcnkgJXM6IgogbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0YHRitC30LTQsNCy0LDQvdC1INC90LAg0YXRgNCw0L3QuNC70LjRidC10YLQviDigJ4lc+KAnDoiCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDA3IGxpYi9icmFuY2hfY3JlYXRlLnRjbDozMwotbXNnaWQgIkNyZWF0ZSIKLW1zZ3N0ciAi0KHRitC30LTQsNCy0LDQvdC1IgotCiAjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQxNwogbXNnaWQgIkRpcmVjdG9yeToiCiBtc2dzdHIgItCU0LjRgNC10LrRgtC+0YDQuNGPOiIKQEAgLTE4MzAsNyArMTMzNyw3IEBACiAKICM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTkwCiBtc2dpZCAiQ2xvbmluZyBzdWJtb2R1bGVzIgotbXNnc3RyICLQmtC70L7QvdC40YDQsNC90LUg0L3QsCDQv9C+0LTQvNC+0LTRg9C70LjRgtC1IgorbXNnc3RyICLQmtC70L7QvdC40YDQsNC90LUg0L3QsCDQv9C+0LTQvNC+0LTRg9C70LgiCiAKICM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTAxNQogbXNnaWQgIkluaXRpYWwgZmlsZSBjaGVja291dCBmYWlsZWQuIgpAQCAtMTg0OSwyMDggKzEzNTYsNiBAQAogbXNnaWQgIkZhaWxlZCB0byBvcGVuIHJlcG9zaXRvcnkgJXM6IgogbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0L7RgtCy0LDRgNGP0L3QtSDQvdCwINGF0YDQsNC90LjQu9C40YnQtdGC0L4g4oCeJXPigJw6IgogCi0jOiBsaWIvYWJvdXQudGNsOjI2Ci1tc2dpZCAiZ2l0LWd1aSAtIGEgZ3JhcGhpY2FsIHVzZXIgaW50ZXJmYWNlIGZvciBHaXQuIgotbXNnc3RyICJnaXQtZ3VpIOKAlCDQs9GA0LDRhNC40YfQtdC9INC40L3RgtC10YDRhNC10LnRgSDQt9CwIEdpdC4iCi0KLSM6IGxpYi9jaGVja291dF9vcC50Y2w6ODUKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJGZXRjaGluZyAlcyBmcm9tICVzIgotbXNnc3RyICLQlNC+0YHRgtCw0LLRj9C90LUg0L3QsCDigJ4lc+KAnCDQvtGCIOKAniVz4oCcIgotCi0jOiBsaWIvY2hlY2tvdXRfb3AudGNsOjEzMwotIywgdGNsLWZvcm1hdAotbXNnaWQgImZhdGFsOiBDYW5ub3QgcmVzb2x2ZSAlcyIKLW1zZ3N0ciAi0YTQsNGC0LDQu9C90LAg0LPRgNC10YjQutCwOiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LrRgNC40LUiCi0KLSM6IGxpYi9jaGVja291dF9vcC50Y2w6MTc1Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiQnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QuIgotbXNnc3RyICLQmtC70L7QvdGK0YIg4oCeJXPigJwg0L3QtSDRgdGK0YnQtdGB0YLQstGD0LLQsC4iCi0KLSM6IGxpYi9jaGVja291dF9vcC50Y2w6MTk0Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIGNvbmZpZ3VyZSBzaW1wbGlmaWVkIGdpdC1wdWxsIGZvciAnJXMnLiIKLW1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC90LDRgdGC0YDQvtC50LLQsNC90LUg0L3QsCDQvtC/0YDQvtGB0YLQtdC9IGdpdC1wdWxsINC30LAg4oCeJXPigJwuIgotCi0jOiBsaWIvY2hlY2tvdXRfb3AudGNsOjIyOQotIywgdGNsLWZvcm1hdAotbXNnaWQgIiIKLSJCcmFuY2ggJyVzJyBhbHJlYWR5IGV4aXN0cy5cbiIKLSJcbiIKLSJJdCBjYW5ub3QgZmFzdC1mb3J3YXJkIHRvICVzLlxuIgotIkEgbWVyZ2UgaXMgcmVxdWlyZWQuIgotbXNnc3RyICIiCi0i0JrQu9C+0L3RitGCIOKAniVz4oCcINGB0YrRidC10YHRgtCy0YPQstCwLlxuIgotIlxuIgotItCi0L7QuSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YLRgNC40LLQuNCw0LvQvdC+INGB0LvRj9GCINC00L4g4oCeJXPigJwuXG4iCi0i0J3QtdC+0LHRhdC+0LTQuNC80L4g0LUg0YHQu9C40LLQsNC90LUuIgotCi0jOiBsaWIvY2hlY2tvdXRfb3AudGNsOjI0MwotIywgdGNsLWZvcm1hdAotbXNnaWQgIk1lcmdlIHN0cmF0ZWd5ICclcycgbm90IHN1cHBvcnRlZC4iCi1tc2dzdHIgItCh0YLRgNCw0YLQtdCz0LjRjyDQt9CwINGB0LvQuNCy0LDQvdC1ICDigJ4lc+KAnCDQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsC4iCi0KLSM6IGxpYi9jaGVja291dF9vcC50Y2w6MjYyCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSAnJXMnLiIKLW1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC+0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg4oCeJXPigJwuIgotCi0jOiBsaWIvY2hlY2tvdXRfb3AudGNsOjI3NAotbXNnaWQgIlN0YWdpbmcgYXJlYSAoaW5kZXgpIGlzIGFscmVhZHkgbG9ja2VkLiIKLW1zZ3N0ciAi0JjQvdC00LXQutGB0YrRgiDQstC10YfQtSDQtSDQt9Cw0LrQu9GO0YfQtdC9LiIKLQotIzogbGliL2NoZWNrb3V0X29wLnRjbDoyODkKLW1zZ2lkICIiCi0iTGFzdCBzY2FubmVkIHN0YXRlIGRvZXMgbm90IG1hdGNoIHJlcG9zaXRvcnkgc3RhdGUuXG4iCi0iXG4iCi0iQW5vdGhlciBHaXQgcHJvZ3JhbSBoYXMgbW9kaWZpZWQgdGhpcyByZXBvc2l0b3J5IHNpbmNlIHRoZSBsYXN0IHNjYW4uICBBICIKLSJyZXNjYW4gbXVzdCBiZSBwZXJmb3JtZWQgYmVmb3JlIHRoZSBjdXJyZW50IGJyYW5jaCBjYW4gYmUgY2hhbmdlZC5cbiIKLSJcbiIKLSJUaGUgcmVzY2FuIHdpbGwgYmUgYXV0b21hdGljYWxseSBzdGFydGVkIG5vdy5cbiIKLW1zZ3N0ciAiIgotItCh0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L/RgNC4INC/0L7RgdC70LXQtNC90LDRgtCwINC/0YDQvtCy0LXRgNC60LAg0L3QtSDQvtGC0LPQvtCy0LDRgNGPINC90LAg0YHRitGB0YLQvtGP0L3QuNC10YLQviDQvdCwICIKLSLRhdGA0LDQvdC40LvQuNGJ0LXRgtC+LlxuIgotIlxuIgotItCd0Y/QutC+0Lkg0LTRgNGD0LMg0L/RgNC+0YbQtdGBINC30LAgR2l0INC1INC/0YDQvtC80LXQvdC40Lsg0YXRgNCw0L3QuNC70LjRidC10YLQviDQvNC10LbQtNGD0LLRgNC10LzQtdC90L3Qvi4g0KHRitGB0YLQvtGP0L3QuNC10YLQviAiCi0i0YLRgNGP0LHQstCwINC00LAg0LHRitC00LUg0L/RgNC+0LLQtdGA0LXQvdC+LCDQv9GA0LXQtNC4INC00LAg0YHQtSDQv9GA0LXQvNC40L3QtSDQutGK0Lwg0L3QvtCyINC60LvQvtC9LlxuIgotIlxuIgotItCQ0LLRgtC+0LzQsNGC0LjRh9C90L4g0YnQtSDQt9Cw0L/QvtGH0L3QtSDQvdC+0LLQsCDQv9GA0L7QstC10YDQutCwLlxuIgotCi0jOiBsaWIvY2hlY2tvdXRfb3AudGNsOjM0NQotIywgdGNsLWZvcm1hdAotbXNnaWQgIlVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5IHRvICclcycuLi4iCi1tc2dzdHIgItCg0LDQsdC+0YLQvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDRgdC1INC/0YDQuNCy0LXQttC00LAg0LrRitC8IOKAniVz4oCc4oCmIgotCi0jOiBsaWIvY2hlY2tvdXRfb3AudGNsOjM0NgotbXNnaWQgImZpbGVzIGNoZWNrZWQgb3V0IgotbXNnc3RyICLRhNCw0LnQu9CwINGB0LAg0LjQt9GC0LXQs9C70LXQvdC4IgotCi0jOiBsaWIvY2hlY2tvdXRfb3AudGNsOjM3NgotIywgdGNsLWZvcm1hdAotbXNnaWQgIkFib3J0ZWQgY2hlY2tvdXQgb2YgJyVzJyAoZmlsZSBsZXZlbCBtZXJnaW5nIGlzIHJlcXVpcmVkKS4iCi1tc2dzdHIgIiIKLSLQn9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsNC90LUg0L3QsCDQuNC30YLQtdCz0LvRj9C90LXRgtC+INC90LAg4oCeJXPigJwgKNC90LXQvtCx0YXQvtC00LjQvNC+INC1INC/0L7RhNCw0LnQu9C+0LLQviDRgdC70LjQstCw0L3QtSkuIgotCi0jOiBsaWIvY2hlY2tvdXRfb3AudGNsOjM3NwotbXNnaWQgIkZpbGUgbGV2ZWwgbWVyZ2UgcmVxdWlyZWQuIgotbXNnc3RyICLQndC10L7QsdGF0L7QtNC40LzQviDQtSDQv9C+0YTQsNC50LvQvtCy0L4g0YHQu9C40LLQsNC90LUuIgotCi0jOiBsaWIvY2hlY2tvdXRfb3AudGNsOjM4MQotIywgdGNsLWZvcm1hdAotbXNnaWQgIlN0YXlpbmcgb24gYnJhbmNoICclcycuIgotbXNnc3RyICLQntGB0YLQsNCy0LDQvdC1INCy0YrRgNGF0YMg0LrQu9C+0L3QsCDigJ4lc+KAnC4iCi0KLSM6IGxpYi9jaGVja291dF9vcC50Y2w6NDUyCi1tc2dpZCAiIgotIllvdSBhcmUgbm8gbG9uZ2VyIG9uIGEgbG9jYWwgYnJhbmNoLlxuIgotIlxuIgotIklmIHlvdSB3YW50ZWQgdG8gYmUgb24gYSBicmFuY2gsIGNyZWF0ZSBvbmUgbm93IHN0YXJ0aW5nIGZyb20gJ1RoaXMgRGV0YWNoZWQgIgotIkNoZWNrb3V0Jy4iCi1tc2dzdHIgIiIKLSLQktC10YfQtSDQvdC1INGB0YLQtSDQvdCwINC70L7QutCw0LvQtdC9INC60LvQvtC9LlxuIgotIlxuIgotItCQ0LrQviDQuNGB0LrQsNGC0LUg0LTQsCDRgdGC0LUg0L3QsCDQutC70L7QvSwg0YHRitC30LTQsNC50YLQtSDQsdCw0LfQuNGA0LDQvSDQvdCwIOKAntCi0L7QstCwINC90LXRgdCy0YrRgNC30LDQvdC+INC40LfRgtC10LPQu9GP0L3QteKAnC4iCi0KLSM6IGxpYi9jaGVja291dF9vcC50Y2w6NTAzIGxpYi9jaGVja291dF9vcC50Y2w6NTA3Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiQ2hlY2tlZCBvdXQgJyVzJy4iCi1tc2dzdHIgIuKAniVz4oCcINC1INC40LfRgtC10LPQu9C10L0uIgotCi0jOiBsaWIvY2hlY2tvdXRfb3AudGNsOjUzNQotIywgdGNsLWZvcm1hdAotbXNnaWQgIlJlc2V0dGluZyAnJXMnIHRvICclcycgd2lsbCBsb3NlIHRoZSBmb2xsb3dpbmcgY29tbWl0czoiCi1tc2dzdHIgIiIKLSLQl9Cw0L3Rg9C70Y/QstCw0L3QtdGC0L4g0L3QsCDigJ4lc+KAnCDQutGK0Lwg4oCeJXPigJwg0YnQtSDQtNC+0LLQtdC00LUg0LTQviDQt9Cw0LPRg9Cx0LLQsNC90LXRgtC+INC90LAg0YHQu9C10LTQvdC40YLQtSDQv9C+0LTQsNCy0LDQvdC40Y86IgotCi0jOiBsaWIvY2hlY2tvdXRfb3AudGNsOjU1NwotbXNnaWQgIlJlY292ZXJpbmcgbG9zdCBjb21taXRzIG1heSBub3QgYmUgZWFzeS4iCi1tc2dzdHIgItCS0YrQt9GB0YLQsNC90L7QstGP0LLQsNC90LXRgtC+INC90LAg0LfQsNCz0YPQsdC10L3QuNGC0LUg0L/QvtC00LDQstCw0L3QuNGPINC80L7QttC1INC00LAg0LUg0YLRgNGD0LTQvdC+LiIKLQotIzogbGliL2NoZWNrb3V0X29wLnRjbDo1NjIKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJSZXNldCAnJXMnPyIKLW1zZ3N0ciAi0JfQsNC90YPQu9GP0LLQsNC90LUg0L3QsCDigJ4lc+KAnD8iCi0KLSM6IGxpYi9jaGVja291dF9vcC50Y2w6NTcxIGxpYi9icmFuY2hfY3JlYXRlLnRjbDo4NQotbXNnaWQgIlJlc2V0IgotbXNnc3RyICLQntGC0L3QsNGH0LDQu9C+IgotCi0jOiBsaWIvY2hlY2tvdXRfb3AudGNsOjYzNQotIywgdGNsLWZvcm1hdAotbXNnaWQgIiIKLSJGYWlsZWQgdG8gc2V0IGN1cnJlbnQgYnJhbmNoLlxuIgotIlxuIgotIlRoaXMgd29ya2luZyBkaXJlY3RvcnkgaXMgb25seSBwYXJ0aWFsbHkgc3dpdGNoZWQuICBXZSBzdWNjZXNzZnVsbHkgdXBkYXRlZCAiCi0ieW91ciBmaWxlcywgYnV0IGZhaWxlZCB0byB1cGRhdGUgYW4gaW50ZXJuYWwgR2l0IGZpbGUuXG4iCi0iXG4iCi0iVGhpcyBzaG91bGQgbm90IGhhdmUgb2NjdXJyZWQuICAlcyB3aWxsIG5vdyBjbG9zZSBhbmQgZ2l2ZSB1cC4iCi1tc2dzdHIgIiIKLSLQndC10YPRgdC/0LXRiNC90L4g0LfQsNC00LDQstCw0L3QtSDQvdCwINGC0LXQutGD0YnQuNGPINC60LvQvtC9LlxuIgotIlxuIgotItCg0LDQsdC+0YLQvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQtSDRgdCw0LzQviDRh9Cw0YHRgtC40YfQvdC+INC+0LHQvdC+0LLQtdC90LA6INGE0LDQudC70L7QstC10YLQtSDRgdCwINC+0LHQvdC+0LLQtdC90LggIgotItGD0YHQv9C10YjQvdC+LCDQvdC+INC90Y/QutC+0Lkg0L7RgiDQstGK0YLRgNC10YjQvdC40YLQtSwg0YHQu9GD0LbQtdCx0L3QuCDRhNCw0LnQu9C+0LLQtSDQvdCwIEdpdCDQvdC1INC1INCx0LjQuy5cbiIKLSJcbiIKLSLQotC+0LLQsCDRgdGK0YHRgtC+0Y/QvdC40LUg0LUg0LDQstCw0YDQuNC50L3QviDQuCDQvdC1INGC0YDRj9Cx0LLQsCDQtNCwINGB0LUg0YHQu9GD0YfQstCwLiDQn9GA0L7Qs9GA0LDQvNCw0YLQsCDigJ4lc+KAnCDRidC1ICIKLSLQv9GA0LXRg9GB0YLQsNC90L7QstC4INGA0LDQsdC+0YLQsC4iCi0KLSM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDoyMwotbXNnaWQgIkNyZWF0ZSBCcmFuY2giCi1tc2dzdHIgItCh0YrQt9C00LDQstCw0L3QtSDQvdCwINC60LvQvtC9IgotCi0jOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MjgKLW1zZ2lkICJDcmVhdGUgTmV3IEJyYW5jaCIKLW1zZ3N0ciAi0KHRitC30LTQsNCy0LDQvdC1INC90LAg0L3QvtCyINC60LvQvtC9IgotCi0jOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6NDIKLW1zZ2lkICJCcmFuY2ggTmFtZSIKLW1zZ3N0ciAi0JjQvNC1INC90LAg0LrQu9C+0L3QsCIKLQotIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjU3Ci1tc2dpZCAiTWF0Y2ggVHJhY2tpbmcgQnJhbmNoIE5hbWUiCi1tc2dzdHIgItCh0YrQstC/0LDQtNCw0L3QtSDQv9C+INC40LzQtdGC0L4g0L3QsCDRgdC70LXQtNC10L3QuNGPINC60LvQvtC9IgotCi0jOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6NjYKLW1zZ2lkICJTdGFydGluZyBSZXZpc2lvbiIKLW1zZ3N0ciAi0J3QsNGH0LDQu9C90LAg0LLQtdGA0YHQuNGPIgotCi0jOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6NzIKLW1zZ2lkICJVcGRhdGUgRXhpc3RpbmcgQnJhbmNoOiIKLW1zZ3N0ciAi0J7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDRgdGK0YnQtdGB0YLQstGD0LLQsNGJINC60LvQvtC9OiIKLQotIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjc1Ci1tc2dpZCAiTm8iCi1tc2dzdHIgItCd0LUiCi0KLSM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDo4MAotbXNnaWQgIkZhc3QgRm9yd2FyZCBPbmx5IgotbXNnc3RyICLQodCw0LzQviDRgtGA0LjQstC40LDQu9C90L4g0L/RgNC10LLRitGA0YLQsNGJ0L4g0YHQu9C40LLQsNC90LUiCi0KLSM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDo5NwotbXNnaWQgIkNoZWNrb3V0IEFmdGVyIENyZWF0aW9uIgotbXNnc3RyICLQn9GA0LXQvNC40L3QsNCy0LDQvdC1INC60YrQvCDQutC70L7QvdCwINGB0LvQtdC0INGB0YrQt9C00LDQstCw0L3QtdGC0L4g0LzRgyIKLQotIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjEzMgotbXNnaWQgIlBsZWFzZSBzZWxlY3QgYSB0cmFja2luZyBicmFuY2guIgotbXNnc3RyICLQmNC30LHQtdGA0LXRgtC1INC60LvQvtC9INC30LAg0YHQu9C10LTQtdC90LguIgotCi0jOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MTQxCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiVHJhY2tpbmcgYnJhbmNoICVzIGlzIG5vdCBhIGJyYW5jaCBpbiB0aGUgcmVtb3RlIHJlcG9zaXRvcnkuIgotbXNnc3RyICLQodC70LXQtNGP0YnQuNGP0YIg0LrQu9C+0L0g4oCUIOKAniVz4oCcLCDQvdC1INGB0YrRidC10YHRgtCy0YPQstCwINCyINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUuIgotCi0jOiBsaWIvY29uc29sZS50Y2w6NTkKLW1zZ2lkICJXb3JraW5nLi4uIHBsZWFzZSB3YWl0Li4uIgotbXNnc3RyICLQkiDQvNC+0LzQtdC90YLQsCDRgdC1INC40LfQstGK0YDRiNCy0LAg0LTQtdC50YHRgtCy0LjQtSwg0LjQt9GH0LDQutCw0LnRgtC14oCmIgotCi0jOiBsaWIvY29uc29sZS50Y2w6MTg2Ci1tc2dpZCAiU3VjY2VzcyIKLW1zZ3N0ciAi0KPRgdC/0LXRhSIKLQotIzogbGliL2NvbnNvbGUudGNsOjIwMAotbXNnaWQgIkVycm9yOiBDb21tYW5kIEZhaWxlZCIKLW1zZ3N0ciAi0JPRgNC10YjQutCwOiDQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDQutC+0LzQsNC90LTQsCIKLQogIzogbGliL2Nob29zZV9yZXYudGNsOjUyCiBtc2dpZCAiVGhpcyBEZXRhY2hlZCBDaGVja291dCIKIG1zZ3N0ciAi0KLQvtCy0LAg0L3QtdGB0LLRitGA0LfQsNC90L4g0LjQt9GC0LXQs9C70Y/QvdC1IgpAQCAtMjA5MiwxNCArMTM5Nyw2IEBACiBtc2dpZCAiVVJMIgogbXNnc3RyICLQkNC00YDQtdGBIgogCi0jOiBsaWIvbGluZS50Y2w6MTcKLW1zZ2lkICJHb3RvIExpbmU6IgotbXNnc3RyICLQmtGK0Lwg0YDQtdC0OiIKLQotIzogbGliL2xpbmUudGNsOjIzCi1tc2dpZCAiR28iCi1tc2dzdHIgItCf0YDQuNC00LLQuNC20LLQsNC90LUiCi0KICM6IGxpYi9jb21taXQudGNsOjkKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm90aGluZyB0byBhbWVuZC5cbiIKQEAgLTIyMjgsMTIgKzE1MjUsMTIgQEAKICIgXG4iCiAiIERvIHlvdSByZWFsbHkgd2FudCB0byBwcm9jZWVkIHdpdGggeW91ciBDb21taXQ/IgogbXNnc3RyICIiCi0i0KnQtSDQv9C+0LTQsNCy0LDRgtC1INC60YrQvCDQvdC10YHQstGK0YDQt9Cw0L0g0LLRgNGK0YUuINCi0L7QstCwINC1INC+0L/QsNGB0L3QviDigJQg0L/RgNC4INC40LfRgtC10LPQu9GP0L3QtdGC0L4g0L3QsCDQtNGA0YPQsyDQutC70L7QvSAiCi0i0YnQtSDQuNC30LPRg9Cx0LjRgtC1INC/0YDQvtC80LXQvdC40YLQtSDRgdC4LiDQodC70LXQtCDRgtC+0LLQsCDQvNC+0LbQtSDQtNCwINC1INC90LXQstGK0LfQvNC+0LbQvdC+INC00LAg0LPQuCDQstGK0LfRgdGC0LDQvdC+0LLQuNGC0LUgIgotItC+0YIg0LbRg9GA0L3QsNC70LAg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1IOKAnnJlZmxvZ+KAnC4g0J3QsNC5LdCy0LXRgNC+0Y/RgtC90L4g0YLRgNGP0LHQstCwINC00LAg0L7RgtC80LXQvdC40YLQtSDRgtC+0LLQsCAiCi0i0L/QvtC00LDQstCw0L3QtSDQuCDQtNCwINGB0YrQt9C00LDQtNC10YLQtSDQutC70L7QvSwg0LIg0LrQvtC50YLQviDQtNCwINC/0L7QtNCw0LTQtdGC0LUuXG4iCisi0KnQtSDQv9C+0LTQsNC00LXRgtC1INC60YrQvCDQvdC10YHQstGK0YDQt9Cw0L0sINC+0YLQtNC10LvRkNC9INGD0LrQsNC30LDRgtC10Lsg4oCeSEVBROKAnC4g0KLQvtCy0LAg0LUg0L7Qv9Cw0YHQvdC+LCDQt9Cw0YnQvtGC0L4gIgorItC/0YDQuCDQv9GA0LXQvNC40L3QsNCy0LDQvdC10YLQviDQutGK0Lwg0LrQu9C+0L0g0YnQtSDQt9Cw0LPRg9Cx0LjRgtC1INC/0YDQvtC80LXQvdC40YLQtSDRgdC4LCDQutCw0YLQviDQtdC00LjQvdGB0YLQstC10L3QuNGP0YIg0L3QsNGH0LjQvSAiCisi0LTQsCDQs9C4INCy0YrRgNC90LXRgtC1INGJ0LUg0LUg0YfRgNC10Lcg0LbRg9GA0L3QsNC70LAg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1IChyZWZsb2cpLiDQndCw0Lkt0LLQtdGA0L7Rj9GC0L3QviDRgtGA0Y/QsdCy0LAgIgorItC00LAg0L3QtSDQv9GA0LDQstC40YLQtSDRgtC+0LLQsCDQv9C+0LTQsNCy0LDQvdC1LCDQsCDQtNCwINGB0YrQt9C00LDQtNC10YLQtSDQvdC+0LIg0LrQu9C+0L0sINC/0YDQtdC00Lgg0LTQsCDQv9GA0L7QtNGK0LvQttC40YLQtS5cbiIKICIgXG4iCi0i0KHQuNCz0YPRgNC90Lgg0LvQuCDRgdGC0LUsINGH0LUg0LjRgdC60LDRgtC1INC00LAg0L/QvtC00LDQtNC10YLQtSDQutGK0Lwg0L3QtdGB0LLRitGA0LfQsNC9INCy0YDRitGFPyIKKyLQodC40LPRg9GA0L3QuCDQu9C4INGB0YLQtSwg0YfQtSDQuNGB0LrQsNGC0LUg0LTQsCDQuNC30LLRitGA0YjQuNGC0LUg0YLQtdC60YPRidC+0YLQviDQv9C+0LTQsNCy0LDQvdC1PyIKIAogIzogbGliL2NvbW1pdC50Y2w6MjkwCiBtc2dpZCAiQ2FsbGluZyBjb21taXQtbXNnIGhvb2suLi4iCkBAIC0yMjUxLDcgKzE1NDgsNyBAQAogbXNnaWQgIndyaXRlLXRyZWUgZmFpbGVkOiIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINC00YrRgNCy0L7RgtC+ICh3cml0ZS10cmVlKToiCiAKLSM6IGxpYi9jb21taXQudGNsOjMzNSBsaWIvY29tbWl0LnRjbDozNzkgbGliL2NvbW1pdC50Y2w6NDAwCisjOiBsaWIvY29tbWl0LnRjbDozMzUgbGliL2NvbW1pdC50Y2w6MzgyIGxpYi9jb21taXQudGNsOjQwMwogbXNnaWQgIkNvbW1pdCBmYWlsZWQuIgogbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0L/QvtC00LDQstCw0L3QtS4iCiAKQEAgLTIyNzksMTUzICsxNTc2LDI0MSBAQAogbXNnaWQgIk5vIGNoYW5nZXMgdG8gY29tbWl0LiIKIG1zZ3N0ciAi0J3Rj9C80LAg0L/RgNC+0LzQtdC90Lgg0LfQsCDQv9C+0LTQsNCy0LDQvdC1LiIKIAotIzogbGliL2NvbW1pdC50Y2w6Mzc4CisjOiBsaWIvY29tbWl0LnRjbDozODEKIG1zZ2lkICJjb21taXQtdHJlZSBmYWlsZWQ6IgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0L/QvtC00LDQstCw0L3QtSDQvdCwINC00YrRgNCy0L7RgtC+IChjb21taXQtdHJlZSk6IgogCi0jOiBsaWIvY29tbWl0LnRjbDozOTkKKyM6IGxpYi9jb21taXQudGNsOjQwMgogbXNnaWQgInVwZGF0ZS1yZWYgZmFpbGVkOiIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC+0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtSAodXBkYXRlLXJlZik6IgogCi0jOiBsaWIvY29tbWl0LnRjbDo0OTIKKyM6IGxpYi9jb21taXQudGNsOjQ5NQogIywgdGNsLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgY29tbWl0ICVzOiAlcyIKIG1zZ3N0ciAi0KPRgdC/0LXRiNC90L4g0L/QvtC00LDQstCw0L3QtSAlczogJXMiCiAKLSM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoxNgotbXNnaWQgIkRlbGV0ZSBCcmFuY2giCi1tc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSDQvdCwINC60LvQvtC9IgorIzogbGliL2NvbnNvbGUudGNsOjU5Cittc2dpZCAiV29ya2luZy4uLiBwbGVhc2Ugd2FpdC4uLiIKK21zZ3N0ciAi0JIg0LzQvtC80LXQvdGC0LAg0YHQtSDQuNC30LLRitGA0YjQstCwINC00LXQudGB0YLQstC40LUsINC40LfRh9Cw0LrQsNC50YLQteKApiIKIAotIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjIxCi1tc2dpZCAiRGVsZXRlIExvY2FsIEJyYW5jaCIKLW1zZ3N0ciAi0JjQt9GC0YDQuNCy0LDQvdC1INC90LAg0LvQvtC60LDQu9C10L0g0LrQu9C+0L0iCisjOiBsaWIvY29uc29sZS50Y2w6MTg2Cittc2dpZCAiU3VjY2VzcyIKK21zZ3N0ciAi0KPRgdC/0LXRhSIKIAotIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjM5Ci1tc2dpZCAiTG9jYWwgQnJhbmNoZXMiCi1tc2dzdHIgItCb0L7QutCw0LvQvdC4INC60LvQvtC90LgiCisjOiBsaWIvY29uc29sZS50Y2w6MjAwCittc2dpZCAiRXJyb3I6IENvbW1hbmQgRmFpbGVkIgorbXNnc3RyICLQk9GA0LXRiNC60LA6INC90LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwINC60L7QvNCw0L3QtNCwIgogCi0jOiBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6NTEKLW1zZ2lkICJEZWxldGUgT25seSBJZiBNZXJnZWQgSW50byIKLW1zZ3N0ciAi0JjQt9GC0YDQuNCy0LDQvdC1LCDRgdCw0LzQviDQsNC60L4g0L/RgNC+0LzQtdC90LjRgtC1INGB0LAg0YHQu9C10YLQuCDQuCDQtNGA0YPQs9Cw0LTQtSIKKyM6IGxpYi9kYXRhYmFzZS50Y2w6NDIKK21zZ2lkICJOdW1iZXIgb2YgbG9vc2Ugb2JqZWN0cyIKK21zZ3N0ciAi0JHRgNC+0Lkg0L3QtdC/0LDQutC10YLQuNGA0LDQvdC4INC+0LHQtdC60YLQuCIKIAotIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjEwMworIzogbGliL2RhdGFiYXNlLnRjbDo0MworbXNnaWQgIkRpc2sgc3BhY2UgdXNlZCBieSBsb29zZSBvYmplY3RzIgorbXNnc3RyICLQlNC40YHQutC+0LLQviDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0L4g0LfQsNC10YLQviDQvtGCINC90LXQv9Cw0LrQtdGC0LjRgNCw0L3QuCDQvtCx0LXQutGC0LgiCisKKyM6IGxpYi9kYXRhYmFzZS50Y2w6NDQKK21zZ2lkICJOdW1iZXIgb2YgcGFja2VkIG9iamVjdHMiCittc2dzdHIgItCR0YDQvtC5INC/0LDQutC10YLQuNGA0LDQvdC4INC+0LHQtdC60YLQuCIKKworIzogbGliL2RhdGFiYXNlLnRjbDo0NQorbXNnaWQgIk51bWJlciBvZiBwYWNrcyIKK21zZ3N0ciAi0JHRgNC+0Lkg0L/QsNC60LXRgtC4IgorCisjOiBsaWIvZGF0YWJhc2UudGNsOjQ2Cittc2dpZCAiRGlzayBzcGFjZSB1c2VkIGJ5IHBhY2tlZCBvYmplY3RzIgorbXNnc3RyICLQlNC40YHQutC+0LLQviDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0L4g0LfQsNC10YLQviDQvtGCINC/0LDQutC10YLQuNGA0LDQvdC4INC+0LHQtdC60YLQuCIKKworIzogbGliL2RhdGFiYXNlLnRjbDo0NworbXNnaWQgIlBhY2tlZCBvYmplY3RzIHdhaXRpbmcgZm9yIHBydW5pbmciCittc2dzdHIgItCf0LDQutC10YLQuNGA0LDQvdC4INC+0LHQtdC60YLQuCDQt9CwINC+0LrQsNGB0YLRgNGP0L3QtSIKKworIzogbGliL2RhdGFiYXNlLnRjbDo0OAorbXNnaWQgIkdhcmJhZ2UgZmlsZXMiCittc2dzdHIgItCk0LDQudC70L7QstC1INC30LAg0LHQvtC60LvRg9C60LAiCisKKyM6IGxpYi9kYXRhYmFzZS50Y2w6NTcgbGliL29wdGlvbi50Y2w6MTgyIGxpYi9vcHRpb24udGNsOjE5NyBsaWIvb3B0aW9uLnRjbDoyMjAKKyM6IGxpYi9vcHRpb24udGNsOjI4MgogIywgdGNsLWZvcm1hdAotbXNnaWQgIlRoZSBmb2xsb3dpbmcgYnJhbmNoZXMgYXJlIG5vdCBjb21wbGV0ZWx5IG1lcmdlZCBpbnRvICVzOiIKLW1zZ3N0ciAi0J3QtSDQstGB0LjRh9C60Lgg0L/RgNC+0LzQtdC90Lgg0LIg0LrQu9C+0L3QuNGC0LUg0YHQsCDRgdC70LXRgtC4INCyIOKAniVz4oCcOiIKK21zZ2lkICIlczoiCittc2dzdHIgIiVzOiIKIAotIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjE0MQorIzogbGliL2RhdGFiYXNlLnRjbDo2NgorIywgdGNsLWZvcm1hdAorbXNnaWQgIiVzICglcyk6IERhdGFiYXNlIFN0YXRpc3RpY3MiCittc2dzdHIgIiVzICglcyk6INCh0YLQsNGC0LjRgdGC0LjQutCwINC90LAg0LHQsNC30LDRgtCwINC+0YIg0LTQsNC90L3QuCIKKworIzogbGliL2RhdGFiYXNlLnRjbDo3MgorbXNnaWQgIkNvbXByZXNzaW5nIHRoZSBvYmplY3QgZGF0YWJhc2UiCittc2dzdHIgItCa0L7QvNC/0YDQtdGB0LjRgNCw0L3QtSDQvdCwINCx0LDQt9Cw0YLQsCDRgSDQtNCw0L3QvdC4INC30LAg0L7QsdC10LrRgtC40YLQtSIKKworIzogbGliL2RhdGFiYXNlLnRjbDo4MworbXNnaWQgIlZlcmlmeWluZyB0aGUgb2JqZWN0IGRhdGFiYXNlIHdpdGggZnNjay1vYmplY3RzIgorbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC90LAg0LHQsNC30LDRgtCwINGBINC00LDQvdC90Lgg0LfQsCDQvtCx0LXQutGC0LjRgtC1INGBINC/0YDQvtCz0YDQsNC80LDRgtCwIOKAnmZzY2stb2JqZWN0c+KAnCIKKworIzogbGliL2RhdGFiYXNlLnRjbDoxMDcKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICIiCi0iRmFpbGVkIHRvIGRlbGV0ZSBicmFuY2hlczpcbiIKLSIlcyIKKyJUaGlzIHJlcG9zaXRvcnkgY3VycmVudGx5IGhhcyBhcHByb3hpbWF0ZWx5ICVpIGxvb3NlIG9iamVjdHMuXG4iCisiXG4iCisiVG8gbWFpbnRhaW4gb3B0aW1hbCBwZXJmb3JtYW5jZSBpdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0aGF0IHlvdSBjb21wcmVzcyAiCisidGhlIGRhdGFiYXNlLlxuIgorIlxuIgorIkNvbXByZXNzIHRoZSBkYXRhYmFzZSBub3c/IgogbXNnc3RyICIiCi0i0J3QtdGD0YHQv9C10YjQvdC+INGC0YDQuNC10L3QtSDQvdCwINC60LvQvtC90Lg6XG4iCi0iJXMiCisi0JIg0YLQvtCy0LAg0YXRgNCw0L3QuNC70LjRidC1INCyINC80L7QvNC10L3RgtCwINC40LzQsCDQutGK0LwgJWkg0L3QtdC/0LDQutC10YLQuNGA0LDQvdC4INC+0LHQtdC60YLQuC5cbiIKKyJcbiIKKyLQl9CwINC00L7QsdGA0LAg0L/RgNC+0LjQt9Cy0L7QtNC40YLQtdC70L3QvtGB0YIg0YHQtSDQv9GA0LXQv9C+0YDRitGH0LLQsCDQtNCwINC60L7QvNC/0YDQtdGB0LjRgNCw0YLQtSDQsdCw0LfQsNGC0LAg0YEg0LTQsNC90L3QuCDQt9CwICIKKyLQvtCx0LXQutGC0LjRgtC1LlxuIgorIlxuIgorItCU0LAg0YHQtSDQt9Cw0L/QvtGH0L3QtSDQu9C4INC60L7QvNC/0YDQtdGB0LjRgNCw0L3QtdGC0L4/IgogCi0jOiBsaWIvYmxhbWUudGNsOjczCi1tc2dpZCAiRmlsZSBWaWV3ZXIiCi1tc2dzdHIgItCf0YDQtdCz0LvQtdC0INC90LAg0YTQsNC50LvQvtCy0LUiCi0KLSM6IGxpYi9ibGFtZS50Y2w6NzkKLW1zZ2lkICJDb21taXQ6IgotbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC1OiIKLQotIzogbGliL2JsYW1lLnRjbDoyODAKLW1zZ2lkICJDb3B5IENvbW1pdCIKLW1zZ3N0ciAi0JrQvtC/0LjRgNCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LUiCi0KLSM6IGxpYi9ibGFtZS50Y2w6Mjg0Ci1tc2dpZCAiRmluZCBUZXh0Li4uIgotbXNnc3RyICLQotGK0YDRgdC10L3QtSDQvdCwINGC0LXQutGB0YLigKYiCi0KLSM6IGxpYi9ibGFtZS50Y2w6Mjg4Ci1tc2dpZCAiR290byBMaW5lLi4uIgotbXNnc3RyICLQmtGK0Lwg0YDQtdC04oCmIgotCi0jOiBsaWIvYmxhbWUudGNsOjI5NwotbXNnaWQgIkRvIEZ1bGwgQ29weSBEZXRlY3Rpb24iCi1tc2dzdHIgItCf0YrQu9C90L4g0YLRitGA0YHQtdC90LUg0L3QsCDQutC+0L/QuNGA0LDQvdC1IgotCi0jOiBsaWIvYmxhbWUudGNsOjMwMQotbXNnaWQgIlNob3cgSGlzdG9yeSBDb250ZXh0IgotbXNnc3RyICLQn9C+0LrQsNC30LLQsNC90LUg0L3QsCDQutC+0L3RgtC10LrRgdGC0LAg0L7RgiDQuNGB0YLQvtGA0LjRj9GC0LAiCi0KLSM6IGxpYi9ibGFtZS50Y2w6MzA0Ci1tc2dpZCAiQmxhbWUgUGFyZW50IENvbW1pdCIKLW1zZ3N0ciAi0JDQvdC+0YLQuNGA0LDQvdC1INC90LAg0YDQvtC00LjRgtC10LvRgdC60L7RgtC+INC/0L7QtNCw0LLQsNC90LUiCi0KLSM6IGxpYi9ibGFtZS50Y2w6NDY2CisjOiBsaWIvZGF0ZS50Y2w6MjUKICMsIHRjbC1mb3JtYXQKLW1zZ2lkICJSZWFkaW5nICVzLi4uIgotbXNnc3RyICLQp9C10YLQtSDRgdC1IOKAniVz4oCc4oCmIgorbXNnaWQgIkludmFsaWQgZGF0ZSBmcm9tIEdpdDogJXMiCittc2dzdHIgItCd0LXQv9GA0LDQstC40LvQvdC4INC00LDQvdC90Lgg0L7RgiBHaXQ6ICVzIgogCi0jOiBsaWIvYmxhbWUudGNsOjU5NAotbXNnaWQgIkxvYWRpbmcgY29weS9tb3ZlIHRyYWNraW5nIGFubm90YXRpb25zLi4uIgotbXNnc3RyICLQl9Cw0YDQtdC20LTQsNC90LUg0L3QsCDQsNC90L7RgtCw0YbQuNC40YLQtSDQt9CwINC/0YDQvtGB0LvQtdC00Y/QstCw0L3QtSDQvdCwINC60L7Qv9C40YDQsNC90LXRgtC+L9C/0YDQtdC80LXRgdGC0LLQsNC90LXRgtC+4oCmIgorIzogbGliL2RpZmYudGNsOjc3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIk5vIGRpZmZlcmVuY2VzIGRldGVjdGVkLlxuIgorIlxuIgorIiVzIGhhcyBubyBjaGFuZ2VzLlxuIgorIlxuIgorIlRoZSBtb2RpZmljYXRpb24gZGF0ZSBvZiB0aGlzIGZpbGUgd2FzIHVwZGF0ZWQgYnkgYW5vdGhlciBhcHBsaWNhdGlvbiwgYnV0ICIKKyJ0aGUgY29udGVudCB3aXRoaW4gdGhlIGZpbGUgd2FzIG5vdCBjaGFuZ2VkLlxuIgorIlxuIgorIkEgcmVzY2FuIHdpbGwgYmUgYXV0b21hdGljYWxseSBzdGFydGVkIHRvIGZpbmQgb3RoZXIgZmlsZXMgd2hpY2ggbWF5IGhhdmUgIgorInRoZSBzYW1lIHN0YXRlLiIKK21zZ3N0ciAiIgorItCd0LUg0YHQsCDQvtGC0LrRgNC40YLQuCDRgNCw0LfQu9C40LrQuC5cbiIKKyJcbiIKKyLQndGP0LzQsCDQv9GA0L7QvNC10L3QuCDQsiDigJ4lc+KAnC5cbiIKKyJcbiIKKyLQktGA0LXQvNC10YLQviDQvdCwINC/0YDQvtC80Y/QvdCwINC90LAg0YTQsNC50LvQsCDQtSDQsdC40Lsg0LfQsNC00LDQtNC10L0g0L7RgiDQtNGA0YPQs9CwINC/0YDQvtCz0YDQsNC80LAsINC90L4g0YHRitC00YrRgNC20LDQvdC40LXRgtC+ICIKKyLQvNGDINC90LUg0LUg0L/RgNC+0LzQtdC90LXQvdC+LlxuIgorIlxuIgorItCQ0LLRgtC+0LzQsNGC0LjRh9C90L4g0YnQtSDQt9Cw0L/QvtGH0L3QtSDQvdC+0LLQsCDQv9GA0L7QstC10YDQutCwINC00LDQu9C4INC90Y/QvNCwINC00YDRg9Cz0Lgg0YTQsNC50LvQvtCy0LUg0LIg0YLQvtCy0LAgIgorItGB0YrRgdGC0L7Rj9C90LjQtS4iCiAKLSM6IGxpYi9ibGFtZS50Y2w6NjE0Ci1tc2dpZCAibGluZXMgYW5ub3RhdGVkIgotbXNnc3RyICLRgNC10LTQsCDQsNC90L7RgtC40YDQsNC90LgiCisjOiBsaWIvZGlmZi50Y2w6MTE3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiTG9hZGluZyBkaWZmIG9mICVzLi4uIgorbXNnc3RyICLQl9Cw0YDQtdC20LTQsNC90LUg0L3QsCDRgNCw0LfQu9C40LrQuNGC0LUg0LIg4oCeJXPigJzigKYiCiAKLSM6IGxpYi9ibGFtZS50Y2w6ODA2Ci1tc2dpZCAiTG9hZGluZyBvcmlnaW5hbCBsb2NhdGlvbiBhbm5vdGF0aW9ucy4uLiIKLW1zZ3N0ciAi0JfQsNGA0LXQttC00LDQvdC1INC90LAg0LDQvdC+0YLQsNGG0LjQuNGC0LUg0LfQsCDQv9GK0YDQstC+0L3QsNGH0LDQu9C90L7RgtC+INC80LXRgdGC0L7Qv9C+0LvQvtC20LXQvdC40LXigKYiCisjOiBsaWIvZGlmZi50Y2w6MTQzCittc2dpZCAiIgorIkxPQ0FMOiBkZWxldGVkXG4iCisiUkVNT1RFOlxuIgorbXNnc3RyICIiCisi0JvQntCa0JDQm9Cd0J46INC40LfRgtGA0LjRglxuIgorItCe0KLQlNCQ0JvQldCn0JXQndCeOlxuIgogCi0jOiBsaWIvYmxhbWUudGNsOjgwOQotbXNnaWQgIkFubm90YXRpb24gY29tcGxldGUuIgotbXNnc3RyICLQkNC90L7RgtC40YDQsNC90LXRgtC+INC30LDQstGK0YDRiNC4LiIKKyM6IGxpYi9kaWZmLnRjbDoxNDgKK21zZ2lkICIiCisiUkVNT1RFOiBkZWxldGVkXG4iCisiTE9DQUw6XG4iCittc2dzdHIgIiIKKyLQntCi0JTQkNCb0JXQp9CV0J3Qnjog0LjQt9GC0YDQuNGCXG4iCisi0JvQntCa0JDQm9Cd0J46XG4iCiAKLSM6IGxpYi9ibGFtZS50Y2w6ODM5Ci1tc2dpZCAiQnVzeSIKLW1zZ3N0ciAi0J7Qv9C10YDQsNGG0LjRj9GC0LAg0L3QtSDQtSDQt9Cw0LLRitGA0YjQuNC70LAiCisjOiBsaWIvZGlmZi50Y2w6MTU1Cittc2dpZCAiTE9DQUw6XG4iCittc2dzdHIgItCb0J7QmtCQ0JvQndCeOlxuIgogCi0jOiBsaWIvYmxhbWUudGNsOjg0MAotbXNnaWQgIkFubm90YXRpb24gcHJvY2VzcyBpcyBhbHJlYWR5IHJ1bm5pbmcuIgotbXNnc3RyICLQkiDQvNC+0LzQtdC90YLQsCDRgtC10YfQtSDQv9GA0L7RhtC10YEg0L3QsCDQsNC90L7RgtC40YDQsNC90LUuIgorIzogbGliL2RpZmYudGNsOjE1OAorbXNnaWQgIlJFTU9URTpcbiIKK21zZ3N0ciAi0J7QotCU0JDQm9CV0KfQldCd0J46XG4iCiAKLSM6IGxpYi9ibGFtZS50Y2w6ODc5Ci1tc2dpZCAiUnVubmluZyB0aG9yb3VnaCBjb3B5IGRldGVjdGlvbi4uLiIKLW1zZ3N0ciAi0JjQt9C/0YrQu9C90Y/QstCwINGB0LUg0YbRj9C70L7RgdGC0LXQvSDQv9GA0L7RhtC10YEg0L3QsCDQvtGC0LrRgNC40LLQsNC90LUg0L3QsCDQutC+0L/QuNGA0LDQvdC14oCmIgorIzogbGliL2RpZmYudGNsOjIyMCBsaWIvZGlmZi50Y2w6MzU3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGRpc3BsYXkgJXMiCittc2dzdHIgItCk0LDQudC70YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/QvtC60LDQt9Cw0L0iCiAKLSM6IGxpYi9ibGFtZS50Y2w6OTQ3Ci1tc2dpZCAiTG9hZGluZyBhbm5vdGF0aW9uLi4uIgotbXNnc3RyICLQl9Cw0YDQtdC20LTQsNC90LUg0L3QsCDQsNC90L7RgtCw0YbQuNC44oCmIgorIzogbGliL2RpZmYudGNsOjIyMQorbXNnaWQgIkVycm9yIGxvYWRpbmcgZmlsZToiCittc2dzdHIgItCT0YDQtdGI0LrQsCDQv9GA0Lgg0LfQsNGA0LXQttC00LDQvdC1INC90LAg0YTQsNC50Ls6IgogCi0jOiBsaWIvYmxhbWUudGNsOjEwMDAKLW1zZ2lkICJBdXRob3I6IgotbXNnc3RyICLQkNCy0YLQvtGAOiIKKyM6IGxpYi9kaWZmLnRjbDoyMjcKK21zZ2lkICJHaXQgUmVwb3NpdG9yeSAoc3VicHJvamVjdCkiCittc2dzdHIgItCl0YDQsNC90LjQu9C40YnQtSDQvdCwIEdpdCAo0L/QvtC00LzQvtC00YPQuykiCiAKLSM6IGxpYi9ibGFtZS50Y2w6MTAwNAotbXNnaWQgIkNvbW1pdHRlcjoiCi1tc2dzdHIgItCf0L7QtNCw0Ls6IgorIzogbGliL2RpZmYudGNsOjIzOQorbXNnaWQgIiogQmluYXJ5IGZpbGUgKG5vdCBzaG93aW5nIGNvbnRlbnQpLiIKK21zZ3N0ciAi4pePINCU0LLQvtC40YfQtdC9INGE0LDQudC7ICjRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4g0L3QtSDRgdC1INC/0L7QutCw0LfQstCwKS4iCiAKLSM6IGxpYi9ibGFtZS50Y2w6MTAwOQotbXNnaWQgIk9yaWdpbmFsIEZpbGU6IgotbXNnc3RyICLQn9GK0YDQstC+0L3QsNGH0LDQu9C10L0g0YTQsNC50Ls6IgorIzogbGliL2RpZmYudGNsOjI0NAorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyIqIFVudHJhY2tlZCBmaWxlIGlzICVkIGJ5dGVzLlxuIgorIiogU2hvd2luZyBvbmx5IGZpcnN0ICVkIGJ5dGVzLlxuIgorbXNnc3RyICIiCisi4pePINCd0LXRgdC70LXQtNC10L3QuNGP0YIg0YTQsNC50Lsg0LUgJWQg0LHQsNC50YLQsC5cbiIKKyLil48g0J/QvtC60LDQt9Cy0LDRgiDRgdC1INGB0LDQvNC+INC/0YrRgNCy0LjRgtC1ICVkINCx0LDQudGC0LAuXG4iCiAKLSM6IGxpYi9ibGFtZS50Y2w6MTA1NwotbXNnaWQgIkNhbm5vdCBmaW5kIEhFQUQgY29tbWl0OiIKLW1zZ3N0ciAi0J/QvtC00LDQstCw0L3QtdGC0L4g0LfQsCDQstGA0YrRhSDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQutGA0LjQtToiCisjOiBsaWIvZGlmZi50Y2w6MjUwCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiogVW50cmFja2VkIGZpbGUgY2xpcHBlZCBoZXJlIGJ5ICVzLlxuIgorIiogVG8gc2VlIHRoZSBlbnRpcmUgZmlsZSwgdXNlIGFuIGV4dGVybmFsIGVkaXRvci5cbiIKK21zZ3N0ciAiIgorIlxuIgorIuKXjyDQndC10YHQu9C10LTQtdC90LjRj9GCINGE0LDQudC7INC1INC+0YLRgNGP0LfQsNC9INC00L7RgtGD0Log0L7RgiDQv9GA0L7Qs9GA0LDQvNCw0YLQsCDigJ4lc+KAnC5cbiIKKyLil48g0JjQt9C/0L7Qu9C30LLQsNC50YLQtSDQstGK0L3RiNC10L0g0YDQtdC00LDQutGC0L7RgCwg0LfQsCDQtNCwINCy0LjQtNC40YLQtSDRhtC10LvQuNGPINGE0LDQudC7LlxuIgogCi0jOiBsaWIvYmxhbWUudGNsOjExMTIKLW1zZ2lkICJDYW5ub3QgZmluZCBwYXJlbnQgY29tbWl0OiIKLW1zZ3N0ciAi0KDQvtC00LjRgtC10LvRgdC60L7RgtC+INC/0L7QtNCw0LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgtC+IgorIzogbGliL2RpZmYudGNsOjU4MAorbXNnaWQgIkZhaWxlZCB0byB1bnN0YWdlIHNlbGVjdGVkIGh1bmsuIgorbXNnc3RyICLQmNC30LHRgNCw0L3QvtGC0L4g0L/QsNGA0YfQtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9Cy0LDQtNC10L3QviDQvtGCINC40L3QtNC10LrRgdCwLiIKIAotIzogbGliL2JsYW1lLnRjbDoxMTI3Ci1tc2dpZCAiVW5hYmxlIHRvIGRpc3BsYXkgcGFyZW50IgotbXNnc3RyICLQoNC+0LTQuNGC0LXQu9GP0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0L7QutCw0LfQsNC9IgorIzogbGliL2RpZmYudGNsOjU4NworbXNnaWQgIkZhaWxlZCB0byBzdGFnZSBzZWxlY3RlZCBodW5rLiIKK21zZ3N0ciAi0JjQt9Cx0YDQsNC90L7RgtC+INC/0LDRgNGH0LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC00L7QsdCw0LLQtdC90L4g0LrRitC8INC40L3QtNC10LrRgdCwLiIKIAotIzogbGliL2JsYW1lLnRjbDoxMjY5Ci1tc2dpZCAiT3JpZ2luYWxseSBCeToiCi1tc2dzdHIgItCf0YrRgNCy0L7QvdCw0YfQsNC70L3QviDQvtGCOiIKKyM6IGxpYi9kaWZmLnRjbDo2NjYKK21zZ2lkICJGYWlsZWQgdG8gdW5zdGFnZSBzZWxlY3RlZCBsaW5lLiIKK21zZ3N0ciAi0JjQt9Cx0YDQsNC90LjRj9GCINGA0LXQtCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9Cy0LDQtNC10L0g0L7RgiDQuNC90LTQtdC60YHQsC4iCiAKLSM6IGxpYi9ibGFtZS50Y2w6MTI3NQotbXNnaWQgIkluIEZpbGU6IgotbXNnc3RyICLQktGK0LIg0YTQsNC50Ls6IgorIzogbGliL2RpZmYudGNsOjY3NAorbXNnaWQgIkZhaWxlZCB0byBzdGFnZSBzZWxlY3RlZCBsaW5lLiIKK21zZ3N0ciAi0JjQt9Cx0YDQsNC90LjRj9GCINGA0LXQtCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LTQvtCx0LDQstC10L0g0LrRitC8INC40L3QtNC10LrRgdCwLiIKIAotIzogbGliL2JsYW1lLnRjbDoxMjgwCi1tc2dpZCAiQ29waWVkIE9yIE1vdmVkIEhlcmUgQnk6IgotbXNnc3RyICLQmtC+0L/QuNGA0LDQvdC+INC40LvQuCDQv9GA0LXQvNC10YHRgtC10L3QviDRgtGD0Log0L7RgjoiCisjOiBsaWIvZW5jb2RpbmcudGNsOjQ0MworbXNnaWQgIkRlZmF1bHQiCittc2dzdHIgItCh0YLQsNC90LTQsNGA0YLQvdC+0YLQviIKKworIzogbGliL2VuY29kaW5nLnRjbDo0NDgKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJTeXN0ZW0gKCVzKSIKK21zZ3N0ciAi0KHQuNGB0YLQtdC80L3QvtGC0L4gKCVzKSIKKworIzogbGliL2VuY29kaW5nLnRjbDo0NTkgbGliL2VuY29kaW5nLnRjbDo0NjUKK21zZ2lkICJPdGhlciIKK21zZ3N0ciAi0JTRgNGD0LPQviIKKworIzogbGliL2Vycm9yLnRjbDoyMAorIywgdGNsLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciIKK21zZ3N0ciAiJXM6INCz0YDQtdGI0LrQsCIKKworIzogbGliL2Vycm9yLnRjbDozNgorIywgdGNsLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nIgorbXNnc3RyICIlczog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtSIKKworIzogbGliL2Vycm9yLnRjbDo4MAorIywgdGNsLWZvcm1hdAorbXNnaWQgIiVzIGhvb2sgZmFpbGVkOiIKK21zZ3N0ciAiJXM6INCz0YDQtdGI0LrQsCDQvtGCINC60YPQutCw0YLQsCIKKworIzogbGliL2Vycm9yLnRjbDo5NgorbXNnaWQgIllvdSBtdXN0IGNvcnJlY3QgdGhlIGFib3ZlIGVycm9ycyBiZWZvcmUgY29tbWl0dGluZy4iCittc2dzdHIgItCf0YDQtdC00Lgg0LTQsCDQvNC+0LbQtdGC0LUg0LTQsCDQv9C+0LTQsNC00LXRgtC1LCDQutC+0YDQuNCz0LjRgNCw0LnRgtC1INCz0L7RgNC90LjRgtC1INCz0YDQtdGI0LrQuC4iCisKKyM6IGxpYi9lcnJvci50Y2w6MTE2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiJXMgKCVzKTogZXJyb3IiCittc2dzdHIgIiVzICglcyk6INCz0YDQtdGI0LrQsCIKIAogIzogbGliL2luZGV4LnRjbDo2CiBtc2dpZCAiVW5hYmxlIHRvIHVubG9jayB0aGUgaW5kZXguIgpAQCAtMjQ1MSw2ICsxODM2LDEwIEBACiBtc2dpZCAiVW5sb2NrIEluZGV4IgogbXNnc3RyICLQntGC0LrQu9GO0YfQstCw0L3QtSDQvdCwINC40L3QtNC10LrRgdCwIgogCisjOiBsaWIvaW5kZXgudGNsOjI5NAorbXNnaWQgIlVuc3RhZ2luZyBzZWxlY3RlZCBmaWxlcyBmcm9tIGNvbW1pdCIKK21zZ3N0ciAi0JjQt9Cy0LDQttC00LDQvdC1INC90LAg0LjQt9Cx0YDQsNC90LjRgtC1INGE0LDQudC70L7QstC1INC+0YIg0L/QvtC00LDQstCw0L3QtdGC0L4iCisKICM6IGxpYi9pbmRleC50Y2w6Mjk4CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiVW5zdGFnaW5nICVzIGZyb20gY29tbWl0IgpAQCAtMjQ2MCw2ICsxODQ5LDEwIEBACiBtc2dpZCAiUmVhZHkgdG8gY29tbWl0LiIKIG1zZ3N0ciAi0JPQvtGC0L7QstC90L7RgdGCINC30LAg0L/QvtC00LDQstCw0L3QtS4iCiAKKyM6IGxpYi9pbmRleC50Y2w6MzQ2Cittc2dpZCAiQWRkaW5nIHNlbGVjdGVkIGZpbGVzIgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0LjQt9Cx0YDQsNC90LjRgtC1INGE0LDQudC70L7QstC1IgorCiAjOiBsaWIvaW5kZXgudGNsOjM1MAogIywgdGNsLWZvcm1hdAogbXNnaWQgIkFkZGluZyAlcyIKQEAgLTI0NjgsNyArMTg2MSwxMSBAQAogIzogbGliL2luZGV4LnRjbDozODAKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJTdGFnZSAlZCB1bnRyYWNrZWQgZmlsZXM/IgotbXNnc3RyICLQlNCwINGB0LUg0LLQutCw0YDQsNGCINC70LggJWQg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70LAg0LIg0LjQvdC00LXQutGB0LA/IgorbXNnc3RyICLQlNCwINGB0LUg0LTQvtCx0LDQstGP0YIg0LvQuCAlZCDQvdC10YHQu9C10LTQtdC90Lgg0YTQsNC50LvQsCDQutGK0Lwg0LjQvdC00LXQutGB0LA/IgorCisjOiBsaWIvaW5kZXgudGNsOjM4OAorbXNnaWQgIkFkZGluZyBhbGwgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwINCy0YHQuNGH0LrQuCDQv9GA0L7QvNC10L3QtdC90Lgg0YTQsNC50LvQvtCy0LUiCiAKICM6IGxpYi9pbmRleC50Y2w6NDI4CiAjLCB0Y2wtZm9ybWF0CkBAIC0yNDk5LDc1ICsxODk2LDEzIEBACiBtc2dpZCAiUmV2ZXJ0aW5nICVzIgogbXNnc3RyICLQnNCw0YXQsNC90LUg0L3QsCDQv9GA0L7QvNC10L3QuNGC0LUg0LIg4oCeJXPigJwiCiAKLSM6IGxpYi9kYXRlLnRjbDoyNQotIywgdGNsLWZvcm1hdAotbXNnaWQgIkludmFsaWQgZGF0ZSBmcm9tIEdpdDogJXMiCi1tc2dzdHIgItCd0LXQv9GA0LDQstC40LvQvdC4INC00LDQvdC90Lgg0L7RgiBHaXQ6ICVzIgorIzogbGliL2xpbmUudGNsOjE3Cittc2dpZCAiR290byBMaW5lOiIKK21zZ3N0ciAi0JrRitC8INGA0LXQtDoiCiAKLSM6IGxpYi9kYXRhYmFzZS50Y2w6NDIKLW1zZ2lkICJOdW1iZXIgb2YgbG9vc2Ugb2JqZWN0cyIKLW1zZ3N0ciAi0JHRgNC+0Lkg0L3QtdC/0LDQutC10YLQuNGA0LDQvdC4INC+0LHQtdC60YLQuCIKLQotIzogbGliL2RhdGFiYXNlLnRjbDo0MwotbXNnaWQgIkRpc2sgc3BhY2UgdXNlZCBieSBsb29zZSBvYmplY3RzIgotbXNnc3RyICLQlNC40YHQutC+0LLQviDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0L4g0LfQsNC10YLQviDQvtGCINC90LXQv9Cw0LrQtdGC0LjRgNCw0L3QuCDQvtCx0LXQutGC0LgiCi0KLSM6IGxpYi9kYXRhYmFzZS50Y2w6NDQKLW1zZ2lkICJOdW1iZXIgb2YgcGFja2VkIG9iamVjdHMiCi1tc2dzdHIgItCR0YDQvtC5INC/0LDQutC10YLQuNGA0LDQvdC4INC+0LHQtdC60YLQuCIKLQotIzogbGliL2RhdGFiYXNlLnRjbDo0NQotbXNnaWQgIk51bWJlciBvZiBwYWNrcyIKLW1zZ3N0ciAi0JHRgNC+0Lkg0L/QsNC60LXRgtC4IgotCi0jOiBsaWIvZGF0YWJhc2UudGNsOjQ2Ci1tc2dpZCAiRGlzayBzcGFjZSB1c2VkIGJ5IHBhY2tlZCBvYmplY3RzIgotbXNnc3RyICLQlNC40YHQutC+0LLQviDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0L4g0LfQsNC10YLQviDQvtGCINC/0LDQutC10YLQuNGA0LDQvdC4INC+0LHQtdC60YLQuCIKLQotIzogbGliL2RhdGFiYXNlLnRjbDo0NwotbXNnaWQgIlBhY2tlZCBvYmplY3RzIHdhaXRpbmcgZm9yIHBydW5pbmciCi1tc2dzdHIgItCf0LDQutC10YLQuNGA0LDQvdC4INC+0LHQtdC60YLQuCDQt9CwINC+0LrQsNGB0YLRgNGP0L3QtSIKLQotIzogbGliL2RhdGFiYXNlLnRjbDo0OAotbXNnaWQgIkdhcmJhZ2UgZmlsZXMiCi1tc2dzdHIgItCk0LDQudC70L7QstC1INC30LAg0LHQvtC60LvRg9C60LAiCi0KLSM6IGxpYi9kYXRhYmFzZS50Y2w6NzIKLW1zZ2lkICJDb21wcmVzc2luZyB0aGUgb2JqZWN0IGRhdGFiYXNlIgotbXNnc3RyICLQmtC+0LzQv9GA0LXRgdC40YDQsNC90LUg0L3QsCDQsdCw0LfQsNGC0LAg0YEg0LTQsNC90L3QuCDQt9CwINC+0LHQtdC60YLQuNGC0LUiCi0KLSM6IGxpYi9kYXRhYmFzZS50Y2w6ODMKLW1zZ2lkICJWZXJpZnlpbmcgdGhlIG9iamVjdCBkYXRhYmFzZSB3aXRoIGZzY2stb2JqZWN0cyIKLW1zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQvdCwINCx0LDQt9Cw0YLQsCDRgSDQtNCw0L3QvdC4INC30LAg0L7QsdC10LrRgtC40YLQtSDRgSDQv9GA0L7Qs9GA0LDQvNCw0YLQsCDigJ5mc2NrLW9iamVjdHPigJwiCi0KLSM6IGxpYi9kYXRhYmFzZS50Y2w6MTA3Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiIgotIlRoaXMgcmVwb3NpdG9yeSBjdXJyZW50bHkgaGFzIGFwcHJveGltYXRlbHkgJWkgbG9vc2Ugb2JqZWN0cy5cbiIKLSJcbiIKLSJUbyBtYWludGFpbiBvcHRpbWFsIHBlcmZvcm1hbmNlIGl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRoYXQgeW91IGNvbXByZXNzICIKLSJ0aGUgZGF0YWJhc2UuXG4iCi0iXG4iCi0iQ29tcHJlc3MgdGhlIGRhdGFiYXNlIG5vdz8iCi1tc2dzdHIgIiIKLSLQkiDRgtC+0LLQsCDRhdGA0LDQvdC40LvQuNGJ0LUg0LIg0LzQvtC80LXQvdGC0LAg0LjQvNCwINC60YrQvCAlaSDQvdC10L/QsNC60LXRgtC40YDQsNC90Lgg0L7QsdC10LrRgtC4LlxuIgotIlxuIgotItCX0LAg0LTQvtCx0YDQsCDQv9GA0L7QuNC30LLQvtC00LjRgtC10LvQvdC+0YHRgiDRgdC1INC/0YDQtdC/0L7RgNGK0YfQstCwINC00LAg0LrQvtC80L/RgNC10YHQuNGA0LDRgtC1INCx0LDQt9Cw0YLQsCDRgSDQtNCw0L3QvdC4INC30LAgIgotItC+0LHQtdC60YLQuNGC0LUuXG4iCi0iXG4iCi0i0JTQsCDRgdC1INC30LDQv9C+0YfQvdC1INC70Lgg0LrQvtC80L/RgNC10YHQuNGA0LDQvdC10YLQvj8iCi0KLSM6IGxpYi9lcnJvci50Y2w6MjAgbGliL2Vycm9yLnRjbDoxMTYKLW1zZ2lkICJlcnJvciIKLW1zZ3N0ciAi0LPRgNC10YjQutCwIgotCi0jOiBsaWIvZXJyb3IudGNsOjM2Ci1tc2dpZCAid2FybmluZyIKLW1zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtSIKLQotIzogbGliL2Vycm9yLnRjbDo5NgotbXNnaWQgIllvdSBtdXN0IGNvcnJlY3QgdGhlIGFib3ZlIGVycm9ycyBiZWZvcmUgY29tbWl0dGluZy4iCi1tc2dzdHIgItCf0YDQtdC00Lgg0LTQsCDQvNC+0LbQtdGC0LUg0LTQsCDQv9C+0LTQsNC00LXRgtC1LCDQutC+0YDQuNCz0LjRgNCw0LnRgtC1INCz0L7RgNC90LjRgtC1INCz0YDQtdGI0LrQuC4iCisjOiBsaWIvbGluZS50Y2w6MjMKK21zZ2lkICJHbyIKK21zZ3N0ciAi0J/RgNC40LTQstC40LbQstCw0L3QtSIKIAogIzogbGliL21lcmdlLnRjbDoxMwogbXNnaWQgIiIKQEAgLTI2MzcsMjkgKzE5NzIsMzQgQEAKIG1zZ2lkICIlcyBvZiAlcyIKIG1zZ3N0ciAiJXMg0L7RgiDQvtCx0YnQviAlcyIKIAotIzogbGliL21lcmdlLnRjbDoxMjIKKyM6IGxpYi9tZXJnZS50Y2w6MTI2CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiTWVyZ2luZyAlcyBhbmQgJXMuLi4iCiBtc2dzdHIgItCh0LvQuNCy0LDQvdC1INC90LAg4oCeJXPigJwg0Lgg4oCeJXPigJzigKYiCiAKLSM6IGxpYi9tZXJnZS50Y2w6MTMzCisjOiBsaWIvbWVyZ2UudGNsOjEzNwogbXNnaWQgIk1lcmdlIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuIgogbXNnc3RyICLQodC70LjQstCw0L3QtdGC0L4g0LfQsNCy0YrRgNGI0Lgg0YPRgdC/0LXRiNC90L4uIgogCi0jOiBsaWIvbWVyZ2UudGNsOjEzNQorIzogbGliL21lcmdlLnRjbDoxMzkKIG1zZ2lkICJNZXJnZSBmYWlsZWQuICBDb25mbGljdCByZXNvbHV0aW9uIGlzIHJlcXVpcmVkLiIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INGB0LvQuNCy0LDQvdC1IOKAlCDQuNC80LAg0LrQvtC90YTQu9C40LrRgtC4INC30LAg0LrQvtGA0LjQs9C40YDQsNC90LUuIgogCi0jOiBsaWIvbWVyZ2UudGNsOjE2MAorIzogbGliL21lcmdlLnRjbDoxNTYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIlcyAoJXMpOiBNZXJnZSIKK21zZ3N0ciAiJXMgKCVzKTog0KHQu9C40LLQsNC90LUiCisKKyM6IGxpYi9tZXJnZS50Y2w6MTY0CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiTWVyZ2UgSW50byAlcyIKIG1zZ3N0ciAi0KHQu9C40LLQsNC90LUg0LIg4oCeJXPigJwiCiAKLSM6IGxpYi9tZXJnZS50Y2w6MTc5CisjOiBsaWIvbWVyZ2UudGNsOjE4MwogbXNnaWQgIlJldmlzaW9uIFRvIE1lcmdlIgogbXNnc3RyICLQktC10YDRgdC40Y8g0LfQsCDRgdC70LjQstCw0L3QtSIKIAotIzogbGliL21lcmdlLnRjbDoyMTQKKyM6IGxpYi9tZXJnZS50Y2w6MjE4CiBtc2dpZCAiIgogIkNhbm5vdCBhYm9ydCB3aGlsZSBhbWVuZGluZy5cbiIKICJcbiIKQEAgLTI2NjksNyArMjAwOSw3IEBACiAiXG4iCiAi0KLRgNGP0LHQstCwINC00LAg0LfQsNCy0YrRgNGI0LjRgtC1INC/0L7Qv9GA0LDQstC60LDRgtCwINC90LAg0YLQvtCy0LAg0L/QvtC00LDQstCw0L3QtS5cbiIKIAotIzogbGliL21lcmdlLnRjbDoyMjQKKyM6IGxpYi9tZXJnZS50Y2w6MjI4CiBtc2dpZCAiIgogIkFib3J0IG1lcmdlP1xuIgogIlxuIgpAQCAtMjY4Myw3ICsyMDIzLDcgQEAKICJcbiIKICLQndCw0LjRgdGC0LjQvdCwINC70Lgg0LTQsCDRgdC1INC/0YDQtdGD0YHRgtCw0L3QvtCy0Lgg0YHQu9C40LLQsNC90LXRgtC+PyIKIAotIzogbGliL21lcmdlLnRjbDoyMzAKKyM6IGxpYi9tZXJnZS50Y2w6MjM0CiBtc2dpZCAiIgogIlJlc2V0IGNoYW5nZXM/XG4iCiAiXG4iCkBAIC0yNjk3LDE4ICsyMDM3LDc3MSBAQAogIlxuIgogItCd0LDQuNGB0YLQuNC90LAg0LvQuCDQtNCwINGB0LUg0LfQsNC90YPQu9GP0YIg0L/RgNC+0LzQtdC90LjRgtC1PyIKIAotIzogbGliL21lcmdlLnRjbDoyNDEKKyM6IGxpYi9tZXJnZS50Y2w6MjQ1CiBtc2dpZCAiQWJvcnRpbmciCiBtc2dzdHIgItCf0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSIKIAotIzogbGliL21lcmdlLnRjbDoyNDEKKyM6IGxpYi9tZXJnZS50Y2w6MjQ1CiBtc2dpZCAiZmlsZXMgcmVzZXQiCiBtc2dzdHIgItGE0LDQudC70LAg0YHRitGBINC30LDQvdGD0LvQtdC90Lgg0L/RgNC+0LzQtdC90LgiCiAKLSM6IGxpYi9tZXJnZS50Y2w6MjY5CisjOiBsaWIvbWVyZ2UudGNsOjI3MwogbXNnaWQgIkFib3J0IGZhaWxlZC4iCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQv9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsNC90LUuIgogCi0jOiBsaWIvbWVyZ2UudGNsOjI3MQorIzogbGliL21lcmdlLnRjbDoyNzUKIG1zZ2lkICJBYm9ydCBjb21wbGV0ZWQuICBSZWFkeS4iCiBtc2dzdHIgItCj0YHQv9C10YjQvdC+INC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtS4g0JPQvtGC0L7QstC90L7RgdGCINC30LAg0YHQu9C10LTQstCw0YnQviDQtNC10LnRgdGC0LLQuNC1LiIKKworIzogbGliL21lcmdldG9vbC50Y2w6OAorbXNnaWQgIkZvcmNlIHJlc29sdXRpb24gdG8gdGhlIGJhc2UgdmVyc2lvbj8iCittc2dzdHIgItCU0LAg0YHQtSDQuNC30L/QvtC70LfQstCwINCx0LDQt9C+0LLQsNGC0LAg0LLQtdGA0YHQuNGPIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDo5Cittc2dpZCAiRm9yY2UgcmVzb2x1dGlvbiB0byB0aGlzIGJyYW5jaD8iCittc2dzdHIgItCU0LAg0YHQtSDQuNC30L/QvtC70LfQstCwINCy0LXRgNGB0LjRj9GC0LAg0L7RgiDRgtC+0LfQuCDQutC70L7QvSIKKworIzogbGliL21lcmdldG9vbC50Y2w6MTAKK21zZ2lkICJGb3JjZSByZXNvbHV0aW9uIHRvIHRoZSBvdGhlciBicmFuY2g/IgorbXNnc3RyICLQlNCwINGB0LUg0LjQt9C/0L7Qu9C30LLQsCDQstC10YDRgdC40Y/RgtCwINC+0YIg0LTRgNGD0LPQuNGPINC60LvQvtC9IgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDoxNAorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJOb3RlIHRoYXQgdGhlIGRpZmYgc2hvd3Mgb25seSBjb25mbGljdGluZyBjaGFuZ2VzLlxuIgorIlxuIgorIiVzIHdpbGwgYmUgb3ZlcndyaXR0ZW4uXG4iCisiXG4iCisiVGhpcyBvcGVyYXRpb24gY2FuIGJlIHVuZG9uZSBvbmx5IGJ5IHJlc3RhcnRpbmcgdGhlIG1lcmdlLiIKK21zZ3N0ciAiIgorItCg0LDQt9C70LjQutCw0YLQsCDQv9C+0LrQsNC30LLQsCDRgdCw0LzQviDRgNCw0LfQu9C40LrQuNGC0LUg0YEg0LrQvtC90YTQu9C40LrRgi5cbiIKKyJcbiIKKyLQpNCw0LnQu9GK0YIg4oCeJXPigJwg0YnQtSDQsdGK0LTQtSDQv9GA0LXQt9Cw0L/QuNGB0LDQvS5cbiIKKyJcbiIKKyLQotCw0LfQuCDQvtC/0LXRgNCw0YbQuNGPINC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC80LXQvdC10L3QsCDRgdCw0LzQviDRh9GA0LXQtyDQt9Cw0L/QvtGH0LLQsNC90LUg0L3QsCDRgdC70LjQstCw0L3QtdGC0L4g0L3QsNC90L7QstC+LiIKKworIzogbGliL21lcmdldG9vbC50Y2w6NDUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJGaWxlICVzIHNlZW1zIHRvIGhhdmUgdW5yZXNvbHZlZCBjb25mbGljdHMsIHN0aWxsIHN0YWdlPyIKK21zZ3N0ciAiIgorItCY0LfQs9C70LXQttC00LAsINGH0LUg0LLRgdC1INC+0YnQtSDQuNC80LAg0L3QtdC60L7RgNC40LPQuNGA0LDQvdC4INC60L7QvdGE0LvQuNC60YLQuCDQstGK0LIg0YTQsNC50LvQsCDigJ4lc+KAnC4g0JTQsCDRgdC1INC00L7QsdCw0LLQuCAiCisi0LvQuCDRhNCw0LnQu9GK0YIg0LrRitC8INC40L3QtNC10LrRgdCwPyIKKworIzogbGliL21lcmdldG9vbC50Y2w6NjAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJBZGRpbmcgcmVzb2x1dGlvbiBmb3IgJXMiCittc2dzdHIgItCU0L7QsdCw0LLRj9C90LUg0L3QsCDQutC+0YDQtdC60YbQuNGPINC90LAg0LrQvtC90YTQu9C40LrRgtC40YLQtSDQsiDigJ4lc+KAnCIKKworIzogbGliL21lcmdldG9vbC50Y2w6MTQxCittc2dpZCAiQ2Fubm90IHJlc29sdmUgZGVsZXRpb24gb3IgbGluayBjb25mbGljdHMgdXNpbmcgYSB0b29sIgorbXNnc3RyICIiCisi0JrQvtC90YTQu9C40LrRgtC40YLQtSDQv9GA0Lgg0YHQuNC80LLQvtC70L3QuCDQstGA0YrQt9C60Lgg0LjQu9C4INC40LfRgtGA0LjQstCw0L3QtSDQvdC1INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC60L7RgNC40LPQuNGA0LDQvdC4INGBICIKKyLQstGK0L3RiNC90LAg0L/RgNC+0LPRgNCw0LzQsC4iCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjE0NgorbXNnaWQgIkNvbmZsaWN0IGZpbGUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgItCk0LDQudC70YrRgiwg0LIg0LrQvtC50YLQviDQtSDQutC+0L3RhNC70LjQutGC0YrRgiwg0L3QtSDRgdGK0YnQtdGB0YLQstGD0LLQsCIKKworIzogbGliL21lcmdldG9vbC50Y2w6MjQ2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiTm90IGEgR1VJIG1lcmdlIHRvb2w6ICclcyciCittc2dzdHIgItCi0L7QstCwINC90LUg0LUg0LPRgNCw0YTQuNGH0L3QsCDQv9GA0L7Qs9GA0LDQvNCwINC30LAg0YHQu9C40LLQsNC90LU6IOKAniVz4oCcIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDoyNzUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJVbnN1cHBvcnRlZCBtZXJnZSB0b29sICclcyciCittc2dzdHIgItCd0LXQv9C+0LTQtNGK0YDQttCw0L3QsCDQv9GA0L7Qs9GA0LDQvNCwINC30LAg0YHQu9C40LLQsNC90LU6IOKAniVz4oCcIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDozMTAKK21zZ2lkICJNZXJnZSB0b29sIGlzIGFscmVhZHkgcnVubmluZywgdGVybWluYXRlIGl0PyIKK21zZ3N0ciAi0J/RgNC+0LPRgNCw0LzQsNGC0LAg0LfQsCDRgdC70LjQstCw0L3QtSDQstC10YfQtSDQtSDRgdGC0LDRgNGC0LjRgNCw0L3QsC4g0JTQsCDQsdGK0LTQtSDQu9C4INC40LfQutC70Y7Rh9C10L3QsD8iCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjMzMAorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJFcnJvciByZXRyaWV2aW5nIHZlcnNpb25zOlxuIgorIiVzIgorbXNnc3RyICIiCisi0JPRgNC10YjQutCwINC/0YDQuCDQuNC30YLQtdCz0LvRj9C90LXRgtC+INC90LAg0LLQtdGA0YHQuNC4OlxuIgorIiVzIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDozNTAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiQ291bGQgbm90IHN0YXJ0IHRoZSBtZXJnZSB0b29sOlxuIgorIlxuIgorIiVzIgorbXNnc3RyICIiCisi0J/RgNC+0LPRgNCw0LzQsNGC0LAg0LfQsCDRgdC70LjQstCw0L3QtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRgtCw0YDRgtC40YDQsNC90LA6XG4iCisiXG4iCisiJXMiCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjM1NAorbXNnaWQgIlJ1bm5pbmcgbWVyZ2UgdG9vbC4uLiIKK21zZ3N0ciAi0KHRgtCw0YDRgtC40YDQsNC90LUg0L3QsCDQv9GA0L7Qs9GA0LDQvNCw0YLQsCDQt9CwINGB0LvQuNCy0LDQvdC14oCmIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDozODIgbGliL21lcmdldG9vbC50Y2w6MzkwCittc2dpZCAiTWVyZ2UgdG9vbCBmYWlsZWQuIgorbXNnc3RyICLQk9GA0LXRiNC60LAg0LIg0L/RgNC+0LPRgNCw0LzQsNGC0LAg0LfQsCDRgdC70LjQstCw0L3QtS4iCisKKyM6IGxpYi9vcHRpb24udGNsOjExCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBnbG9iYWwgZW5jb2RpbmcgJyVzJyIKK21zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90L4g0LPQu9C+0LHQsNC70L3QviDQutC+0LTQuNGA0LDQvdC1IOKAniVz4oCcIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxOQorIywgdGNsLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmVwbyBlbmNvZGluZyAnJXMnIgorbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QviDQutC+0LTQuNGA0LDQvdC1IOKAniVz4oCcINC90LAg0YXRgNCw0L3QuNC70LjRidC10YLQviIKKworIzogbGliL29wdGlvbi50Y2w6MTE5Cittc2dpZCAiUmVzdG9yZSBEZWZhdWx0cyIKK21zZ3N0ciAi0KHRgtCw0L3QtNCw0YDRgtC90Lgg0L3QsNGB0YLRgNC+0LnQutC4IgorCisjOiBsaWIvb3B0aW9uLnRjbDoxMjMKK21zZ2lkICJTYXZlIgorbXNnc3RyICLQl9Cw0L/QsNC30LLQsNC90LUiCisKKyM6IGxpYi9vcHRpb24udGNsOjEzMworIywgdGNsLWZvcm1hdAorbXNnaWQgIiVzIFJlcG9zaXRvcnkiCittc2dzdHIgItCl0YDQsNC90LjQu9C40YnQtSDigJ4lc+KAnCIKKworIzogbGliL29wdGlvbi50Y2w6MTM0Cittc2dpZCAiR2xvYmFsIChBbGwgUmVwb3NpdG9yaWVzKSIKK21zZ3N0ciAi0JPQu9C+0LHQsNC70L3QviAo0LfQsCDQstGB0LjRh9C60Lgg0YXRgNCw0L3QuNC70LjRidCwKSIKKworIzogbGliL29wdGlvbi50Y2w6MTQwCittc2dpZCAiVXNlciBOYW1lIgorbXNnc3RyICLQn9C+0YLRgNC10LHQuNGC0LXQu9GB0LrQviDQuNC80LUiCisKKyM6IGxpYi9vcHRpb24udGNsOjE0MQorbXNnaWQgIkVtYWlsIEFkZHJlc3MiCittc2dzdHIgItCQ0LTRgNC10YEg0L3QsCDQtS3Qv9C+0YnQsCIKKworIzogbGliL29wdGlvbi50Y2w6MTQzCittc2dpZCAiU3VtbWFyaXplIE1lcmdlIENvbW1pdHMiCittc2dzdHIgItCe0LHQvtCx0YnQsNCy0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQv9GA0Lgg0YHQu9C40LLQsNC90LUiCisKKyM6IGxpYi9vcHRpb24udGNsOjE0NAorbXNnaWQgIk1lcmdlIFZlcmJvc2l0eSIKK21zZ3N0ciAi0J/QvtC00YDQvtCx0L3QvtGB0YLQuCDQv9GA0Lgg0YHQu9C40LLQsNC90LjRj9GC0LAiCisKKyM6IGxpYi9vcHRpb24udGNsOjE0NQorbXNnaWQgIlNob3cgRGlmZnN0YXQgQWZ0ZXIgTWVyZ2UiCittc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSDQvdCwINGB0YLQsNGC0LjRgdGC0LjQutCwINGB0LvQtdC0INGB0LvQuNCy0LDQvdC40Y/RgtCwIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNDYKK21zZ2lkICJVc2UgTWVyZ2UgVG9vbCIKK21zZ3N0ciAi0JjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDQv9GA0L7Qs9GA0LDQvNCwINC30LAg0YHQu9C40LLQsNC90LUiCisKKyM6IGxpYi9vcHRpb24udGNsOjE0OAorbXNnaWQgIlRydXN0IEZpbGUgTW9kaWZpY2F0aW9uIFRpbWVzdGFtcHMiCittc2dzdHIgItCU0L7QstC10YDQuNC1INCy0YrQsiDQstGA0LXQvNC10YLQviDQvdCwINC/0YDQvtC80Y/QvdCwINC90LAg0YTQsNC50LvQvtCy0LXRgtC1IgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNDkKK21zZ2lkICJQcnVuZSBUcmFja2luZyBCcmFuY2hlcyBEdXJpbmcgRmV0Y2giCittc2dzdHIgItCe0LrQsNGB0YLRgNGP0L3QtSDQvdCwINGB0LvQtdC00Y/RidC40YLQtSDQutC70L7QvdC+0LLQtSDQv9GA0Lgg0LTQvtGB0YLQsNCy0Y/QvdC1IgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNTAKK21zZ2lkICJNYXRjaCBUcmFja2luZyBCcmFuY2hlcyIKK21zZ3N0ciAi0J3QsNC/0LDRgdCy0LDQvdC1INC90LAg0YHQu9C10LTRj9GJ0LjRgtC1INC60LvQvtC90L7QstC1IgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNTEKK21zZ2lkICJVc2UgVGV4dGNvbnYgRm9yIERpZmZzIGFuZCBCbGFtZXMiCittc2dzdHIgItCY0LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg4oCedGV4dGNvbnbigJwg0LfQsCDRgNCw0LfQu9C40LrQuNGC0LUg0Lgg0LDQvdC+0YLQuNGA0LDQvdC10YLQviIKKworIzogbGliL29wdGlvbi50Y2w6MTUyCittc2dpZCAiQmxhbWUgQ29weSBPbmx5IE9uIENoYW5nZWQgRmlsZXMiCittc2dzdHIgItCQ0L3QvtGC0LjRgNCw0L3QtSDQvdCwINC60L7Qv9C40LXRgtC+INGB0LDQvNC+INC/0L4g0L/RgNC+0LzQtdC90LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKKworIzogbGliL29wdGlvbi50Y2w6MTUzCittc2dpZCAiTWF4aW11bSBMZW5ndGggb2YgUmVjZW50IFJlcG9zaXRvcmllcyBMaXN0IgorbXNnc3RyICLQnNCw0LrRgdC40LzQsNC70LXQvSDQsdGA0L7QuSDQvdCwINGB0L/QuNGB0YrQutCwIOKAntCh0LrQvtGA0L4g0L/QvtC70LfQstCw0L3QuOKAnCDRhdGA0LDQvdC40LvQuNGJ0LAiCisKKyM6IGxpYi9vcHRpb24udGNsOjE1NAorbXNnaWQgIk1pbmltdW0gTGV0dGVycyBUbyBCbGFtZSBDb3B5IE9uIgorbXNnc3RyICLQnNC40L3QuNC80LDQu9C10L0g0LHRgNC+0Lkg0LfQvdCw0YbQuCDQt9CwINCw0L3QvtGC0LjRgNCw0L3QtSDQvdCwINC60L7Qv9C40LXRgtC+IgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNTUKK21zZ2lkICJCbGFtZSBIaXN0b3J5IENvbnRleHQgUmFkaXVzIChkYXlzKSIKK21zZ3N0ciAi0JjRgdGC0L7RgNC40YfQtdGB0LrQuCDQvtCx0YXQstCw0YIg0LfQsCDQsNC90L7RgtC40YDQsNC90LUg0LIg0LTQvdC4IgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNTYKK21zZ2lkICJOdW1iZXIgb2YgRGlmZiBDb250ZXh0IExpbmVzIgorbXNnc3RyICLQkdGA0L7QuSDRgNC10LTQvtCy0LUg0LfQsCDQutC+0L3RgtC10LrRgdGC0LAg0L3QsCDRgNCw0LfQu9C40LrQuNGC0LUiCisKKyM6IGxpYi9vcHRpb24udGNsOjE1NworbXNnaWQgIkFkZGl0aW9uYWwgRGlmZiBQYXJhbWV0ZXJzIgorbXNnc3RyICLQkNGA0LPRg9C80LXQvdGC0Lgg0LrRitC8INC60L7QvNCw0L3QtNCw0YLQsCDQt9CwINGA0LDQt9C70LjQutC40YLQtSIKKworIzogbGliL29wdGlvbi50Y2w6MTU4Cittc2dpZCAiQ29tbWl0IE1lc3NhZ2UgVGV4dCBXaWR0aCIKK21zZ3N0ciAi0KjQuNGA0L7Rh9C40L3QsCDQvdCwINGC0LXQutGB0YLQsCDQvdCwINGB0YrQvtCx0YnQtdC90LjQtdGC0L4g0L/RgNC4INC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGxpYi9vcHRpb24udGNsOjE1OQorbXNnaWQgIk5ldyBCcmFuY2ggTmFtZSBUZW1wbGF0ZSIKK21zZ3N0ciAi0KjQsNCx0LvQvtC9INC30LAg0LjQvNC10YLQviDQvdCwINC90L7QstC40YLQtSDQutC70L7QvdC4IgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNjAKK21zZ2lkICJEZWZhdWx0IEZpbGUgQ29udGVudHMgRW5jb2RpbmciCittc2dzdHIgItCa0L7QtNC40YDQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUiCisKKyM6IGxpYi9vcHRpb24udGNsOjE2MQorbXNnaWQgIldhcm4gYmVmb3JlIGNvbW1pdHRpbmcgdG8gYSBkZXRhY2hlZCBoZWFkIgorbXNnc3RyICLQn9GA0LXQtNGD0L/RgNC10LbQtNCw0LLQsNC90LUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LUg0LrRitC8INC90LXRgdCy0YrRgNC30LDQvSDRg9C60LDQt9Cw0YLQtdC7IgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNjIKK21zZ2lkICJTdGFnaW5nIG9mIHVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwINC90LXRgdC70LXQtNC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUg0LrRitC8INC40L3QtNC10LrRgdCwIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNjMKK21zZ2lkICJTaG93IHVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAi0J/QvtC60LDQt9Cy0LDQvdC1INC90LAg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKKworIzogbGliL29wdGlvbi50Y2w6MTY0Cittc2dpZCAiVGFiIHNwYWNpbmciCittc2dzdHIgItCo0LjRgNC40L3QsCDQvdCwINGC0LDQsdGD0LvQsNGG0LjRj9GC0LAiCisKKyM6IGxpYi9vcHRpb24udGNsOjIxMAorbXNnaWQgIkNoYW5nZSIKK21zZ3N0ciAi0KHQvNGP0L3QsCIKKworIzogbGliL29wdGlvbi50Y2w6MjU0Cittc2dpZCAiU3BlbGxpbmcgRGljdGlvbmFyeToiCittc2dzdHIgItCf0YDQsNCy0L7Qv9C40YHQtdC9INGA0LXRh9C90LjQujoiCisKKyM6IGxpYi9vcHRpb24udGNsOjI4NAorbXNnaWQgIkNoYW5nZSBGb250IgorbXNnc3RyICLQodC80Y/QvdCwINC90LAg0YjRgNC40YTRgtCwIgorCisjOiBsaWIvb3B0aW9uLnRjbDoyODgKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJDaG9vc2UgJXMiCittc2dzdHIgItCY0LfQsdC+0YAg0L3QsCDigJ4lc+KAnCIKKworIzogbGliL29wdGlvbi50Y2w6Mjk0Cittc2dpZCAicHQuIgorbXNnc3RyICLRgtGH0LouIgorCisjOiBsaWIvb3B0aW9uLnRjbDozMDgKK21zZ2lkICJQcmVmZXJlbmNlcyIKK21zZ3N0ciAi0J3QsNGB0YLRgNC+0LnQutC4IgorCisjOiBsaWIvb3B0aW9uLnRjbDozNDUKK21zZ2lkICJGYWlsZWQgdG8gY29tcGxldGVseSBzYXZlIG9wdGlvbnM6IgorbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0L3QsNGB0YLRgNC+0LnQutC40YLQtToiCisKKyM6IGxpYi9yZW1vdGUudGNsOjIwMAorbXNnaWQgIlB1c2ggdG8iCittc2dzdHIgItCY0LfRgtC70LDRgdC60LLQsNC90LUg0LrRitC8IgorCisjOiBsaWIvcmVtb3RlLnRjbDoyMTgKK21zZ2lkICJSZW1vdmUgUmVtb3RlIgorbXNnc3RyICLQn9GA0LXQvNCw0YXQstCw0L3QtSDQvdCwINC+0YLQtNCw0LvQtdGH0LXQvdC+INGF0YDQsNC90LjQu9C40YnQtSIKKworIzogbGliL3JlbW90ZS50Y2w6MjIzCittc2dpZCAiUHJ1bmUgZnJvbSIKK21zZ3N0ciAi0J7QutCw0YHRgtGA0Y/QvdC1INC+0YIiCisKKyM6IGxpYi9yZW1vdGUudGNsOjIyOAorbXNnaWQgIkZldGNoIGZyb20iCittc2dzdHIgItCU0L7RgdGC0LDQstGP0L3QtSDQvtGCIgorCisjOiBsaWIvcmVtb3RlLnRjbDoyNTMgbGliL3JlbW90ZS50Y2w6MjU4Cittc2dpZCAiQWxsIgorbXNnc3RyICLQktGB0LjRh9C60LgiCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoyMAorIywgdGNsLWZvcm1hdAorbXNnaWQgIiVzICglcyk6IEFkZCBSZW1vdGUiCittc2dzdHIgIiVzICglcyk6INCU0L7QsdCw0LLRj9C90LUg0L3QsCDQvtGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUiCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoyNQorbXNnaWQgIkFkZCBOZXcgUmVtb3RlIgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0L7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1IgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MzAgbGliL3Rvb2xzX2RsZy50Y2w6MzcKK21zZ2lkICJBZGQiCittc2dzdHIgItCU0L7QsdCw0LLRj9C90LUiCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDozOQorbXNnaWQgIlJlbW90ZSBEZXRhaWxzIgorbXNnc3RyICLQlNCw0L3QvdC4INC30LAg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSIKKworIzogbGliL3JlbW90ZV9hZGQudGNsOjUwCittc2dpZCAiTG9jYXRpb246IgorbXNnc3RyICLQnNC10YHRgtC+0L/QvtC70L7QttC10L3QuNC1OiIKKworIzogbGliL3JlbW90ZV9hZGQudGNsOjYwCittc2dpZCAiRnVydGhlciBBY3Rpb24iCittc2dzdHIgItCh0LvQtdC00LLQsNGJ0L4g0LTQtdC50YHRgtCy0LjQtSIKKworIzogbGliL3JlbW90ZV9hZGQudGNsOjYzCittc2dpZCAiRmV0Y2ggSW1tZWRpYXRlbHkiCittc2dzdHIgItCd0LXQt9Cw0LHQsNCy0L3QviDQtNC+0YHRgtCw0LLRj9C90LUiCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDo2OQorbXNnaWQgIkluaXRpYWxpemUgUmVtb3RlIFJlcG9zaXRvcnkgYW5kIFB1c2giCittc2dzdHIgItCY0L3QuNGG0LjQsNC70LjQt9C40YDQsNC90LUg0L3QsCDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1INC4INC40LfRgtC70LDRgdC60LLQsNC90LUg0L3QsCDQv9GA0L7QvNC10L3QuNGC0LUiCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDo3NQorbXNnaWQgIkRvIE5vdGhpbmcgRWxzZSBOb3ciCittc2dzdHIgItCU0LAg0L3QtSDRgdC1INC/0YDQsNCy0Lgg0L3QuNGJ0L4iCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMDAKK21zZ2lkICJQbGVhc2Ugc3VwcGx5IGEgcmVtb3RlIG5hbWUuIgorbXNnc3RyICLQl9Cw0LTQsNC50YLQtSDQuNC80LUg0LfQsCDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1LiIKKworIzogbGliL3JlbW90ZV9hZGQudGNsOjExMworIywgdGNsLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGFuIGFjY2VwdGFibGUgcmVtb3RlIG5hbWUuIgorbXNnc3RyICLQntGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LrQsNC30LLQsCDigJ4lc+KAnC4iCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMjQKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkIHJlbW90ZSAnJXMnIG9mIGxvY2F0aW9uICclcycuIgorbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0LTQvtCx0LDQstGP0L3QtSDQvdCwINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg4oCeJXPigJwg0L7RgiDQsNC00YDQtdGBIOKAniVz4oCcLiIKKworIzogbGliL3JlbW90ZV9hZGQudGNsOjEzMiBsaWIvdHJhbnNwb3J0LnRjbDo2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiZmV0Y2ggJXMiCittc2dzdHIgItC00L7RgdGC0LDQstGP0L3QtSDQvdCwIOKAniVz4oCcIgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MTMzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmV0Y2hpbmcgdGhlICVzIgorbXNnc3RyICLQlNC+0YHRgtCw0LLRj9C90LUg0L3QsCDigJ4lc+KAnCIKKworIzogbGliL3JlbW90ZV9hZGQudGNsOjE1NgorIywgdGNsLWZvcm1hdAorbXNnaWQgIkRvIG5vdCBrbm93IGhvdyB0byBpbml0aWFsaXplIHJlcG9zaXRvcnkgYXQgbG9jYXRpb24gJyVzJy4iCittc2dzdHIgItCl0YDQsNC90LjQu9C40YnQtdGC0L4g0YEg0LzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjQtSDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQvdC40YbQuNCw0LvQuNC30LjRgNCw0L3Qvi4iCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxNjIgbGliL3RyYW5zcG9ydC50Y2w6NTQgbGliL3RyYW5zcG9ydC50Y2w6OTIKKyM6IGxpYi90cmFuc3BvcnQudGNsOjExMAorIywgdGNsLWZvcm1hdAorbXNnaWQgInB1c2ggJXMiCittc2dzdHIgItC40LfRgtC70LDRgdC60LLQsNC90LUg0L3QsCDigJ4lc+KAnCIKKworIzogbGliL3JlbW90ZV9hZGQudGNsOjE2MworIywgdGNsLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgdGhlICVzIChhdCAlcykiCittc2dzdHIgItCU0L7QsdCw0LLRj9C90LUg0L3QsCDRhdGA0LDQvdC40LvQuNGJ0LUg4oCeJXPigJwgKNGBINCw0LTRgNC10YEg4oCeJXPigJwpIgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjI5CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiJXMgKCVzKTogRGVsZXRlIEJyYW5jaCBSZW1vdGVseSIKK21zZ3N0ciAiJXMgKCVzKTog0JjQt9GC0YDQuNCy0LDQvdC1INC90LAg0L7RgtC00LDQu9C10YfQtdC90LjRjyDQutC70L7QvSIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDozNAorbXNnaWQgIkRlbGV0ZSBCcmFuY2ggUmVtb3RlbHkiCittc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSDQvdCwINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g0LrQu9C+0L0iCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6NDgKK21zZ2lkICJGcm9tIFJlcG9zaXRvcnkiCittc2dzdHIgItCe0YIg0YXRgNCw0L3QuNC70LjRidC1IgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjUxIGxpYi90cmFuc3BvcnQudGNsOjE2NQorbXNnaWQgIlJlbW90ZToiCittc2dzdHIgItCe0YLQtNCw0LvQtdGH0LXQvdC+INGF0YDQsNC90LjQu9C40YnQtToiCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6NzIgbGliL3RyYW5zcG9ydC50Y2w6MTg3Cittc2dpZCAiQXJiaXRyYXJ5IExvY2F0aW9uOiIKK21zZ3N0ciAi0J/RgNC+0LjQt9Cy0L7Qu9C90L4g0LzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjQtToiCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6ODgKK21zZ2lkICJCcmFuY2hlcyIKK21zZ3N0ciAi0JrQu9C+0L3QuCIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxMTAKK21zZ2lkICJEZWxldGUgT25seSBJZiIKK21zZ3N0ciAi0JjQt9GC0YDQuNCy0LDQvdC1LCDRgdCw0LzQviDQsNC60L4iCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTEyCittc2dpZCAiTWVyZ2VkIEludG86IgorbXNnc3RyICLQodC70Y/RgiDQsjoiCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTUzCittc2dpZCAiQSBicmFuY2ggaXMgcmVxdWlyZWQgZm9yICdNZXJnZWQgSW50bycuIgorbXNnc3RyICLQl9CwINC00LDQvdC90LjRgtC1IOKAntCh0LvRj9GCINCy4oCcINC1INC90LXQvtCx0YXQvtC00LjQvNC+INC00LAg0LfQsNC00LDQtNC10YLQtSDQutC70L7QvS4iCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTg1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgYnJhbmNoZXMgYXJlIG5vdCBjb21wbGV0ZWx5IG1lcmdlZCBpbnRvICVzOlxuIgorIlxuIgorIiAtICVzIgorbXNnc3RyICIiCisi0KHQu9C10LTQvdC40YLQtSDQutC70L7QvdC4INC90LUg0YHQsCDRgdC70LXRgtC4INC90LDQv9GK0LvQvdC+INCyIOKAniVz4oCcOlxuIgorIlxuIgorIiDil48gJXMiCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTkwCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIk9uZSBvciBtb3JlIG9mIHRoZSBtZXJnZSB0ZXN0cyBmYWlsZWQgYmVjYXVzZSB5b3UgaGF2ZSBub3QgZmV0Y2hlZCB0aGUgIgorIm5lY2Vzc2FyeSBjb21taXRzLiAgVHJ5IGZldGNoaW5nIGZyb20gJXMgZmlyc3QuIgorbXNnc3RyICIiCisi0J/QvtC90LUg0LXQtNC90LAg0L7RgiDQv9GA0L7QsdC40YLQtSDQt9CwINGB0LvQuNCy0LDQvdC1INC1INC90LXRg9GB0L/QtdGI0L3QsCwg0LfQsNGJ0L7RgtC+INC90LUg0YHRgtC1INC00L7RgdGC0LDQstC40LvQuCDQstGB0LjRh9C60LggIgorItC90LXQvtCx0YXQvtC00LjQvNC4INC/0L7QtNCw0LLQsNC90LjRjy4g0J/RgNC+0LHQstCw0LnRgtC1INC/0YrRgNCy0L4g0LTQsCDQtNC+0YHRgtCw0LLQuNGC0LUg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQvtGCIOKAniVz4oCcLiIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoyMDgKK21zZ2lkICJQbGVhc2Ugc2VsZWN0IG9uZSBvciBtb3JlIGJyYW5jaGVzIHRvIGRlbGV0ZS4iCittc2dzdHIgItCY0LfQsdC10YDQtdGC0LUg0L/QvtC90LUg0LXQtNC40L0g0LrQu9C+0L0g0LfQsCDQuNC30YLRgNC40LLQsNC90LUuIgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjIyNworIywgdGNsLWZvcm1hdAorbXNnaWQgIkRlbGV0aW5nIGJyYW5jaGVzIGZyb20gJXMiCittc2dzdHIgItCY0LfRgtGA0LjQstCw0L3QtSDQvdCwINC60LvQvtC90Lgg0L7RgiDigJ4lc+KAnCIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDozMDAKK21zZ2lkICJObyByZXBvc2l0b3J5IHNlbGVjdGVkLiIKK21zZ3N0ciAi0J3QtSDQtSDQuNC30LHRgNCw0L3QviDRhdGA0LDQvdC40LvQuNGJ0LUuIgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjMwNQorIywgdGNsLWZvcm1hdAorbXNnaWQgIlNjYW5uaW5nICVzLi4uIgorbXNnc3RyICLQn9GA0LXRgtGK0YDRgdCy0LDQvdC1INC90LAg4oCeJXPigJzigKYiCisKKyM6IGxpYi9zZWFyY2gudGNsOjQ4Cittc2dpZCAiRmluZDoiCittc2dzdHIgItCi0YrRgNGB0LXQvdC1OiIKKworIzogbGliL3NlYXJjaC50Y2w6NTAKK21zZ2lkICJOZXh0IgorbXNnc3RyICLQodC70LXQtNCy0LDRidCwINC/0L7Rj9Cy0LAiCisKKyM6IGxpYi9zZWFyY2gudGNsOjUxCittc2dpZCAiUHJldiIKK21zZ3N0ciAi0J/RgNC10LTQuNGI0L3QsCDQv9C+0Y/QstCwIgorCisjOiBsaWIvc2VhcmNoLnRjbDo1MgorbXNnaWQgIlJlZ0V4cCIKK21zZ3N0ciAi0KDQtdCz0JjQt9GAIgorCisjOiBsaWIvc2VhcmNoLnRjbDo1NAorbXNnaWQgIkNhc2UiCittc2dzdHIgItCT0LvQsNCy0L3QuC/QvNCw0LvQutC4IgorCisjOiBsaWIvc2hvcnRjdXQudGNsOjggbGliL3Nob3J0Y3V0LnRjbDo0MyBsaWIvc2hvcnRjdXQudGNsOjc1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiJXMgKCVzKTogQ3JlYXRlIERlc2t0b3AgSWNvbiIKK21zZ3N0ciAiJXMgKCVzKTog0JTQvtCx0LDQstGP0L3QtSDQvdCwINC40LrQvtC90LAg0L3QsCDRgNCw0LHQvtGC0L3QuNGPINC/0LvQvtGCIgorCisjOiBsaWIvc2hvcnRjdXQudGNsOjI0IGxpYi9zaG9ydGN1dC50Y2w6NjUKK21zZ2lkICJDYW5ub3Qgd3JpdGUgc2hvcnRjdXQ6IgorbXNnc3RyICLQmtC70LDQstC40YjQvdCw0YLQsCDQutC+0LzQsdC40L3QsNGG0LjRjyDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LDQt9C10L3QsDoiCisKKyM6IGxpYi9zaG9ydGN1dC50Y2w6MTQwCittc2dpZCAiQ2Fubm90IHdyaXRlIGljb246IgorbXNnc3RyICLQmNC60L7QvdCw0YLQsCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LDQt9C10L3QsDoiCisKKyM6IGxpYi9zcGVsbGNoZWNrLnRjbDo1NworbXNnaWQgIlVuc3VwcG9ydGVkIHNwZWxsIGNoZWNrZXIiCittc2dzdHIgItCi0LDQt9C4INC/0YDQvtCz0YDQsNC80LAg0LfQsCDQv9GA0L7QstC10YDQutCwINC90LAg0L/RgNCw0LLQvtC/0LjRgdCwINC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwIgorCisjOiBsaWIvc3BlbGxjaGVjay50Y2w6NjUKK21zZ2lkICJTcGVsbCBjaGVja2luZyBpcyB1bmF2YWlsYWJsZSIKK21zZ3N0ciAi0JvQuNC/0YHQstCwINC/0YDQvtCz0YDQsNC80LAg0LfQsCDQv9GA0L7QstC10YDQutCwINC90LAg0L/RgNCw0LLQvtC/0LjRgdCwIgorCisjOiBsaWIvc3BlbGxjaGVjay50Y2w6NjgKK21zZ2lkICJJbnZhbGlkIHNwZWxsIGNoZWNraW5nIGNvbmZpZ3VyYXRpb24iCittc2dzdHIgItCd0LXQv9GA0LDQstC40LvQvdC4INC90LDRgdGC0YDQvtC50LrQuCDQvdCwINC/0YDQvtCy0LXRgNC60LDRgtCwINC90LAg0L/RgNCw0LLQvtC/0LjRgdCwIgorCisjOiBsaWIvc3BlbGxjaGVjay50Y2w6NzAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJSZXZlcnRpbmcgZGljdGlvbmFyeSB0byAlcy4iCittc2dzdHIgItCf0L7Qu9C30LLQsNC90LUg0L3QsCDRgNC10YfQvdC40Log0LfQsCDQtdC30LjQuiDigJ4lc+KAnC4iCisKKyM6IGxpYi9zcGVsbGNoZWNrLnRjbDo3MworbXNnaWQgIlNwZWxsIGNoZWNrZXIgc2lsZW50bHkgZmFpbGVkIG9uIHN0YXJ0dXAiCittc2dzdHIgItCf0YDQvtCz0YDQsNC80LDRgtCwINC30LAg0L/RgNCw0LLQvtC/0LjRgSDQtNCw0LbQtSDQvdC1INGB0YLQsNGA0YLQuNGA0LAg0YPRgdC/0LXRiNC90L4uIgorCisjOiBsaWIvc3BlbGxjaGVjay50Y2w6ODAKK21zZ2lkICJVbnJlY29nbml6ZWQgc3BlbGwgY2hlY2tlciIKK21zZ3N0ciAi0J3QtdC/0L7Qt9C90LDRgtCwINC/0YDQvtCz0YDQsNC80LAg0LfQsCDQv9GA0L7QstC10YDQutCwINC90LAg0L/RgNCw0LLQvtC/0LjRgdCwIgorCisjOiBsaWIvc3BlbGxjaGVjay50Y2w6MTg2Cittc2dpZCAiTm8gU3VnZ2VzdGlvbnMiCittc2dzdHIgItCd0Y/QvNCwINC/0YDQtdC00LvQvtC20LXQvdC40Y8iCisKKyM6IGxpYi9zcGVsbGNoZWNrLnRjbDozODgKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBmcm9tIHNwZWxsIGNoZWNrZXIiCittc2dzdHIgItCd0LXQvtGH0LDQutCy0LDQvSDQutGA0LDQuSDQvdCwINGE0LDQudC7INC+0YIg0L/RgNC+0LPRgNCw0LzQsNGC0LAg0LfQsCDQv9GA0L7QstC10YDQutCwINC90LAg0L/RgNCw0LLQvtC/0LjRgdCwIgorCisjOiBsaWIvc3BlbGxjaGVjay50Y2w6MzkyCittc2dpZCAiU3BlbGwgQ2hlY2tlciBGYWlsZWQiCittc2dzdHIgItCT0YDQtdGI0LrQsCDQsiDQv9GA0L7Qs9GA0LDQvNCw0YLQsCDQt9CwINC/0YDQvtCy0LXRgNC60LAg0L3QsCDQv9GA0LDQstC+0L/QuNGB0LAiCisKKyM6IGxpYi9zc2hrZXkudGNsOjMxCittc2dpZCAiTm8ga2V5cyBmb3VuZC4iCittc2dzdHIgItCd0LUg0YHQsCDQvtGC0LrRgNC40YLQuCDQutC70Y7Rh9C+0LLQtS4iCisKKyM6IGxpYi9zc2hrZXkudGNsOjM0CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRm91bmQgYSBwdWJsaWMga2V5IGluOiAlcyIKK21zZ3N0ciAi0J7RgtC60YDQuNGCINC1INC/0YPQsdC70LjRh9C10L0g0LrQu9GO0Ycg0LIg4oCeJXPigJwiCisKKyM6IGxpYi9zc2hrZXkudGNsOjQwCittc2dpZCAiR2VuZXJhdGUgS2V5IgorbXNnc3RyICLQk9C10L3QtdGA0LjRgNCw0L3QtSDQvdCwINC60LvRjtGHIgorCisjOiBsaWIvc3Noa2V5LnRjbDo1OAorbXNnaWQgIkNvcHkgVG8gQ2xpcGJvYXJkIgorbXNnc3RyICLQmtC+0L/QuNGA0LDQvdC1INC60YrQvCDRgdC40YHRgtC10LzQvdC40Y8g0LHRg9GE0LXRgCIKKworIzogbGliL3NzaGtleS50Y2w6NzIKK21zZ2lkICJZb3VyIE9wZW5TU0ggUHVibGljIEtleSIKK21zZ3N0ciAi0J/Rg9Cx0LvQuNGH0L3QuNGP0YIg0LLQuCDQutC70Y7RhyDQt9CwIE9wZW5TU0giCisKKyM6IGxpYi9zc2hrZXkudGNsOjgwCittc2dpZCAiR2VuZXJhdGluZy4uLiIKK21zZ3N0ciAi0JPQtdC90LXRgNC40YDQsNC90LXigKYiCisKKyM6IGxpYi9zc2hrZXkudGNsOjg2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIkNvdWxkIG5vdCBzdGFydCBzc2gta2V5Z2VuOlxuIgorIlxuIgorIiVzIgorbXNnc3RyICIiCisi0J/RgNC+0LPRgNCw0LzQsNGC0LAg4oCec3NoLWtleWdlbuKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRgtCw0YDRgtC40YDQsNC90LA6XG4iCisiXG4iCisiJXMiCisKKyM6IGxpYi9zc2hrZXkudGNsOjExMworbXNnaWQgIkdlbmVyYXRpb24gZmFpbGVkLiIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INCz0LXQvdC10YDQuNGA0LDQvdC1LiIKKworIzogbGliL3NzaGtleS50Y2w6MTIwCittc2dpZCAiR2VuZXJhdGlvbiBzdWNjZWVkZWQsIGJ1dCBubyBrZXlzIGZvdW5kLiIKK21zZ3N0ciAi0JPQtdC90LXRgNC40YDQsNC90LXRgtC+INC30LDQstGK0YDRiNC4INGD0YHQv9C10YjQvdC+LCDQsCDQvdC1INGB0LAg0L3QsNC80LXRgNC10L3QuCDQutC70Y7Rh9C+0LLQtS4iCisKKyM6IGxpYi9zc2hrZXkudGNsOjEyMworIywgdGNsLWZvcm1hdAorbXNnaWQgIllvdXIga2V5IGlzIGluOiAlcyIKK21zZ3N0ciAi0JrQu9GO0YfRitGCINCy0Lgg0LUg0LIg4oCeJXPigJwiCisKKyM6IGxpYi9zdGF0dXNfYmFyLnRjbDo4NworIywgdGNsLWZvcm1hdAorbXNnaWQgIiVzIC4uLiAlKmkgb2YgJSppICVzICglM2klJSkiCittc2dzdHIgIiVz4oCmICUqaSDQvtGCINC+0LHRidC+ICUqaSAlcyAoJTNpJSUpIgorCisjOiBsaWIvdG9vbHMudGNsOjc2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUnVubmluZyAlcyByZXF1aXJlcyBhIHNlbGVjdGVkIGZpbGUuIgorbXNnc3RyICLQl9CwINC40LfQv9GK0LvQvdC10L3QuNC10YLQviDQvdCwIOKAniVz4oCcINGC0YDRj9Cx0LLQsCDQtNCwINC40LfQsdC10YDQtdGC0LUg0YTQsNC50LsuIgorCisjOiBsaWIvdG9vbHMudGNsOjkyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJ1biAlMSRzIG9uIGZpbGUgXCIlMiRzXCI/IgorbXNnc3RyICLQodC40LPRg9GA0L3QuCDQu9C4INGB0YLQtSwg0YfQtSDQuNGB0LrQsNGC0LUg0LTQsCDQuNC30L/RitC70L3QuNGC0LUg4oCeJTEkc+KAnCDQstGK0YDRhdGDINGE0LDQudC70LAg4oCeJTIkc+KAnD8iCisKKyM6IGxpYi90b29scy50Y2w6OTYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcnVuICVzPyIKK21zZ3N0ciAi0KHQuNCz0YPRgNC90Lgg0LvQuCDRgdGC0LUsINGH0LUg0LjRgdC60LDRgtC1INC00LAg0LjQt9C/0YrQu9C90LjRgtC1IOKAniVz4oCcPyIKKworIzogbGliL3Rvb2xzLnRjbDoxMTgKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJUb29sOiAlcyIKK21zZ3N0ciAi0JrQvtC80LDQvdC00LA6ICVzIgorCisjOiBsaWIvdG9vbHMudGNsOjExOQorIywgdGNsLWZvcm1hdAorbXNnaWQgIlJ1bm5pbmc6ICVzIgorbXNnc3RyICLQmNC30L/RitC70L3QtdC90LjQtTogJXMiCisKKyM6IGxpYi90b29scy50Y2w6MTU4CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVG9vbCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5OiAlcyIKK21zZ3N0ciAi0JrQvtC80LDQvdC00LDRgtCwINC30LDQstGK0YDRiNC4INGD0YHQv9C10YjQvdC+OiAlcyIKKworIzogbGliL3Rvb2xzLnRjbDoxNjAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJUb29sIGZhaWxlZDogJXMiCittc2dzdHIgItCa0L7QvNCw0L3QtNCw0YLQsCDQstGK0YDQvdCwINCz0YDQtdGI0LrQsDogJXMiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjIyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiJXMgKCVzKTogQWRkIFRvb2wiCittc2dzdHIgIiVzICglcyk6INCU0L7QsdCw0LLRj9C90LUg0L3QsCDQutC+0LzQsNC90LTQsCIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MjgKK21zZ2lkICJBZGQgTmV3IFRvb2wgQ29tbWFuZCIKK21zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwINC60L7QvNCw0L3QtNCwIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDozNAorbXNnaWQgIkFkZCBnbG9iYWxseSIKK21zZ3N0ciAi0JPQu9C+0LHQsNC70L3QviDQtNC+0LHQsNCy0Y/QvdC1IgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo0NgorbXNnaWQgIlRvb2wgRGV0YWlscyIKK21zZ3N0ciAi0J/QvtC00YDQvtCx0L3QvtGB0YLQuCDQt9CwINC60L7QvNCw0L3QtNCw0YLQsCIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6NDkKK21zZ2lkICJVc2UgJy8nIHNlcGFyYXRvcnMgdG8gY3JlYXRlIGEgc3VibWVudSB0cmVlOiIKK21zZ3N0ciAi0JfQsCDRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQv9C+0LTQvNC10L3RjtGC0LAg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDQt9C90LDQutCwIOKAni/igJwg0LfQsCDRgNCw0LfQtNC10LvQuNGC0LXQuzoiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjYwCittc2dpZCAiQ29tbWFuZDoiCittc2dzdHIgItCa0L7QvNCw0L3QtNCwOiIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6NzEKK21zZ2lkICJTaG93IGEgZGlhbG9nIGJlZm9yZSBydW5uaW5nIgorbXNnc3RyICLQn9GA0LXQtNC4INC40LfQv9GK0LvQvdC10L3QuNC1INC00LAg0YHQtSDQuNC30LLQtdC20LTQsCDQtNC40LDQu9C+0LPQvtCyINC/0YDQvtC30L7RgNC10YYiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjc3Cittc2dpZCAiQXNrIHRoZSB1c2VyIHRvIHNlbGVjdCBhIHJldmlzaW9uIChzZXRzICRSRVZJU0lPTikiCittc2dzdHIgItCf0L7RgtGA0LXQsdC40YLQtdC70Y/RgiDQtNCwINGD0LrQsNC20LUg0LLQtdGA0YHQuNGPICjQt9Cw0LTQsNCy0LDQvdC1INC90LAg0L/RgNC+0LzQtdC90LvQuNCy0LDRgtCwICRSRVZJU0lPTikiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjgyCittc2dpZCAiQXNrIHRoZSB1c2VyIGZvciBhZGRpdGlvbmFsIGFyZ3VtZW50cyAoc2V0cyAkQVJHUykiCittc2dzdHIgIiIKKyLQn9C+0YLRgNC10LHQuNGC0LXQu9GP0YIg0LTQsCDRg9C60LDQttC1INC00L7Qv9GK0LvQvdC40YLQtdC70L3QuCDQsNGA0LPRg9C80LXQvdGC0LggKNC30LDQtNCw0LLQsNC90LUg0L3QsCDQv9GA0L7QvNC10L3Qu9C40LLQsNGC0LAgJEFSR1MpIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo4OQorbXNnaWQgIkRvbid0IHNob3cgdGhlIGNvbW1hbmQgb3V0cHV0IHdpbmRvdyIKK21zZ3N0ciAi0JHQtdC3INC/0L7QutCw0LfQstCw0L3QtSDQvdCwINC/0YDQvtC30L7RgNC10YYg0YEg0LjQt9GF0L7QtNCwINC+0YIg0LrQvtC80LDQvdC00LDRgtCwIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo5NAorbXNnaWQgIlJ1biBvbmx5IGlmIGEgZGlmZiBpcyBzZWxlY3RlZCAoJEZJTEVOQU1FIG5vdCBlbXB0eSkiCittc2dzdHIgIiIKKyLQodGC0LDRgNGC0LjRgNCw0L3QtSDRgdCw0LzQviDRgdC70LXQtCDQuNC30LHQvtGAINC90LAg0YDQsNC30LvQuNC60LAgKNC/0YDQvtC80LXQvdC70LjQstCw0YLQsCAkRklMRU5BTUUg0L3QtSDQtSDQv9GA0LDQt9C90LApIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoxMTgKK21zZ2lkICJQbGVhc2Ugc3VwcGx5IGEgbmFtZSBmb3IgdGhlIHRvb2wuIgorbXNnc3RyICLQl9Cw0LTQsNC50YLQtSDQuNC80LUg0LfQsCDQutC+0LzQsNC90LTQsNGC0LAuIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoxMjYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJUb29sICclcycgYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICLQmtC+0LzQsNC90LTQsNGC0LAg4oCeJXPigJwg0LLQtdGH0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAuIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoxNDgKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiQ291bGQgbm90IGFkZCB0b29sOlxuIgorIiVzIgorbXNnc3RyICIiCisi0JrQvtC80LDQvdC00LDRgtCwINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQtNC+0LHQsNCy0LXQvdCwOlxuIgorIiVzIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoxODcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIlcyAoJXMpOiBSZW1vdmUgVG9vbCIKK21zZ3N0ciAiJXMgKCVzKTog0J/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDQutC+0LzQsNC90LTQsCIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MTkzCittc2dpZCAiUmVtb3ZlIFRvb2wgQ29tbWFuZHMiCittc2dzdHIgItCf0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0LrQvtC80LDQvdC00LgiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjE5OAorbXNnaWQgIlJlbW92ZSIKK21zZ3N0ciAi0J/RgNC10LzQsNGF0LLQsNC90LUiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjIzMQorbXNnaWQgIihCbHVlIGRlbm90ZXMgcmVwb3NpdG9yeS1sb2NhbCB0b29scykiCittc2dzdHIgIijQutC+0LzQsNC90LTQuNGC0LUg0LrRitC8INC70L7QutCw0LvQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg0YHQsCDQvtCx0L7Qt9C90LDRh9C10L3QuCDQsiDRgdC40L3RjNC+KSIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MjgzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiJXMgKCVzKToiCittc2dzdHIgIiVzICglcyk6IgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoyOTIKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJSdW4gQ29tbWFuZDogJXMiCittc2dzdHIgItCY0LfQv9GK0LvQvdC10L3QuNC1INC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAniVz4oCcIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDozMDYKK21zZ2lkICJBcmd1bWVudHMiCittc2dzdHIgItCQ0YDQs9GD0LzQtdC90YLQuCIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MzQxCittc2dpZCAiT0siCittc2dzdHIgItCU0L7QsdGA0LUiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJGZXRjaGluZyBuZXcgY2hhbmdlcyBmcm9tICVzIgorbXNnc3RyICLQlNC+0YHRgtCw0LLRj9C90LUg0L3QsCDQv9GA0L7QvNC10L3QuNGC0LUg0L7RgiDigJ4lc+KAnCIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MTgKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJyZW1vdGUgcHJ1bmUgJXMiCittc2dzdHIgItC+0LrQsNGB0YLRgNGP0L3QtSDQvdCwINGB0LvQtdC00Y/RidC40YLQtSDQutC70L7QvdC4INC60YrQvCDigJ4lc+KAnCIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MTkKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJQcnVuaW5nIHRyYWNraW5nIGJyYW5jaGVzIGRlbGV0ZWQgZnJvbSAlcyIKK21zZ3N0ciAi0J7QutCw0YHRgtGA0Y/QvdC1INC90LAg0YHQu9C10LTRj9GJ0LjRgtC1INC60LvQvtC90Lgg0L3QsCDQuNC30YLRgNC40YLQuNGC0LUg0LrQu9C+0L3QuCDQvtGCIOKAniVz4oCcIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoyNQorbXNnaWQgImZldGNoIGFsbCByZW1vdGVzIgorbXNnc3RyICLQtNC+0YHRgtCw0LLRj9C90LUg0L7RgiDQstGB0LjRh9C60Lgg0L7RgtC00LDQu9C10YfQtdC90LgiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjI2Cittc2dpZCAiRmV0Y2hpbmcgbmV3IGNoYW5nZXMgZnJvbSBhbGwgcmVtb3RlcyIKK21zZ3N0ciAi0JTQvtGB0YLQsNCy0Y/QvdC1INC90LAg0L/RgNC+0LzQtdC90LjRgtC1INC+0YIg0LLRgdC40YfQutC4INC+0YLQtNCw0LvQtdGH0LXQvdC4INGF0YDQsNC90LjQu9C40YnQsCIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6NDAKK21zZ2lkICJyZW1vdGUgcHJ1bmUgYWxsIHJlbW90ZXMiCittc2dzdHIgItC+0LrQsNGB0YLRgNGP0L3QtSDQvdCwINGB0LvQtdC00Y/RidC40YLQtSDQuNC30YLRgNC40YLQuCIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6NDEKK21zZ2lkICJQcnVuaW5nIHRyYWNraW5nIGJyYW5jaGVzIGRlbGV0ZWQgZnJvbSBhbGwgcmVtb3RlcyIKK21zZ3N0ciAiIgorItCe0LrQsNGB0YLRgNGP0L3QtSDQvdCwINGB0LvQtdC00Y/RidC40YLQtSDQutC70L7QvdC4INC90LAg0LjQt9GC0YDQuNGC0LjRgtC1INC60LvQvtC90Lgg0L7RgiDQstGB0LjRh9C60Lgg0L7RgtC00LDQu9C10YfQtdC90LggIgorItGF0YDQsNC90LjQu9C40YnQsCIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6NTUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJQdXNoaW5nIGNoYW5nZXMgdG8gJXMiCittc2dzdHIgItCY0LfRgtC70LDRgdC60LLQsNC90LUg0L3QsCDQv9GA0L7QvNC10L3QuNGC0LUg0LrRitC8IOKAniVz4oCcIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDo5MworIywgdGNsLWZvcm1hdAorbXNnaWQgIk1pcnJvcmluZyB0byAlcyIKK21zZ3N0ciAi0JjQt9GC0LvQsNGB0LrQstCw0L3QtSDQvdCwINCy0YHQuNGH0LrQviDQutGK0Lwg4oCeJXPigJwiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjExMQorIywgdGNsLWZvcm1hdAorbXNnaWQgIlB1c2hpbmcgJXMgJXMgdG8gJXMiCittc2dzdHIgItCY0LfRgtC70LDRgdC60LLQsNC90LUg0L3QsCAlcyDigJ4lc+KAnCDQutGK0Lwg4oCeJXPigJwiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjEzMgorbXNnaWQgIlB1c2ggQnJhbmNoZXMiCittc2dzdHIgItCa0LvQvtC90Lgg0LfQsCDQuNC30YLQu9Cw0YHQutCy0LDQvdC1IgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoxNDcKK21zZ2lkICJTb3VyY2UgQnJhbmNoZXMiCittc2dzdHIgItCa0LvQvtC90Lgt0LjQt9GC0L7Rh9C90LjRhtC4IgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoxNjIKK21zZ2lkICJEZXN0aW5hdGlvbiBSZXBvc2l0b3J5IgorbXNnc3RyICLQptC10LvQtdCy0L4g0YXRgNCw0L3QuNC70LjRidC1IgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoyMDUKK21zZ2lkICJUcmFuc2ZlciBPcHRpb25zIgorbXNnc3RyICLQndCw0YHRgtGA0L7QudC60Lgg0L/RgNC4INC/0YDQtdC90LDRgdGP0L3QtdGC0L4iCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjIwNworbXNnaWQgIkZvcmNlIG92ZXJ3cml0ZSBleGlzdGluZyBicmFuY2ggKG1heSBkaXNjYXJkIGNoYW5nZXMpIgorbXNnc3RyICIiCisi0JjQt9GA0LjRh9C90L4g0L/RgNC10LfQsNC/0LjRgdCy0LDQvdC1INC90LAg0YHRitGJ0LXRgdGC0LLRg9Cy0LDRiSDQutC70L7QvSAo0L3Rj9C60L7QuCDQv9GA0L7QvNC10L3QuCDQvNC+0LbQtSDQtNCwINCx0YrQtNCw0YIgIgorItC30LDQs9GD0LHQtdC90LgpIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoyMTEKK21zZ2lkICJVc2UgdGhpbiBwYWNrIChmb3Igc2xvdyBuZXR3b3JrIGNvbm5lY3Rpb25zKSIKK21zZ3N0ciAi0JzQsNC60YHQuNC80LDQu9C90LAg0LrQvtC80L/RgNC10YHQuNGPICjQt9CwINCx0LDQstC90Lgg0LzRgNC10LbQvtCy0Lgg0LLRgNGK0LfQutC4KSIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MjE1Cittc2dpZCAiSW5jbHVkZSB0YWdzIgorbXNnc3RyICLQktC60LvRjtGH0LLQsNC90LUg0L3QsCDQtdGC0LjQutC10YLQuNGC0LUiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjIyOQorIywgdGNsLWZvcm1hdAorbXNnaWQgIiVzICglcyk6IFB1c2giCittc2dzdHIgIiVzICglcyk6INCY0LfRgtC70LDRgdC60LLQsNC90LUiCmRpZmYgLS1naXQgYS9naXQtZ3VpL3BvL2dsb3NzYXJ5L3B0X3B0LnBvIGIvZ2l0LWd1aS9wby9nbG9zc2FyeS9wdF9wdC5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZGMzYjU0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2l0LWd1aS9wby9nbG9zc2FyeS9wdF9wdC5wbwpAQCAtMCwwICsxLDI5MyBAQAorIyBQb3J0dWd1ZXNlIHRyYW5zbGF0aW9ucyBmb3IgZ2l0LWd1aSBnbG9zc2FyeS4KKyMgQ29weXJpZ2h0IChDKSAyMDE2IFNoYXduIFBlYXJjZSwgZXQgYWwuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBnaXQgcGFja2FnZS4KKyMgVmFzY28gQWxtZWlkYSA8dmFzY29tYWxtZWlkYUBzYXBvLnB0PiwgMjAxNi4KK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGdpdC1ndWkgZ2xvc3NhcnlcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNi0wNS0wNiAxMDoyMiswMDAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNi0wNS0wNiAxMjozMiswMDAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBWYXNjbyBBbG1laWRhIDx2YXNjb21hbG1laWRhQHNhcG8ucHQ+XG4iCisiTGFuZ3VhZ2UtVGVhbTogUG9ydHVndWVzZVxuIgorIkxhbmd1YWdlOiBwdFxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgorIlgtR2VuZXJhdG9yOiBWaXJ0YWFsIDAuNy4xXG4iCisKKyMuICJFbmdsaXNoIERlZmluaXRpb24gKERlYXIgdHJhbnNsYXRvcjogVGhpcyBmaWxlIHdpbGwgbmV2ZXIgYmUgdmlzaWJsZSB0byB0aGUgdXNlciEgSXQgc2hvdWxkIG9ubHkgc2VydmUgYXMgYSB0b29sIGZvciB5b3UsIHRoZSB0cmFuc2xhdG9yLiBOb3RoaW5nIG1vcmUuKSIKK21zZ2lkICIiCisiRW5nbGlzaCBUZXJtIChEZWFyIHRyYW5zbGF0b3I6IFRoaXMgZmlsZSB3aWxsIG5ldmVyIGJlIHZpc2libGUgdG8gdGhlIHVzZXIhKSIKK21zZ3N0ciAiIgorIk91dHJvIFNDTSBlbSBwb3J0dWd1w6pzOlxuIgorImh0dHA6Ly9zdm4uY29kZS5zZi5uZXQvcC90b3J0b2lzZXN2bi9jb2RlL3RydW5rL0xhbmd1YWdlcy9wdC9Ub3J0b2lzZVVJLnBvIGUgIgorIlxuIgorImh0dHA6Ly9zdm4uY29kZS5zZi5uZXQvcC90b3J0b2lzZXN2bi9jb2RlL3RydW5rL0xhbmd1YWdlcy9wdC9Ub3J0b2lzZURvYy5wb1xuIgorIiBlbSBodG1sOiBodHRwczovL3RvcnRvaXNlc3ZuLm5ldC9kb2NzL3JlbGVhc2UvVG9ydG9pc2VTVk5fcHQvaW5kZXguaHRtbFxuIgorIlxuIgorImh0dHBzOi8vdHJhbnNsYXRpb25zLmxhdW5jaHBhZC5uZXQvdG9ydG9pc2VoZyAobWVkw61vY3JlKSIKKworIy4gIiIKK21zZ2lkICJhbWVuZCIKK21zZ3N0ciAiZW1lbmRhciIKKworIy4gIiIKK21zZ2lkICJhbm5vdGF0ZSIKK21zZ3N0ciAiYW5vdGFyIgorCisjLiAiQSAnYnJhbmNoJyBpcyBhbiBhY3RpdmUgbGluZSBvZiBkZXZlbG9wbWVudC4iCittc2dpZCAiYnJhbmNoIFtub3VuXSIKK21zZ3N0ciAicmFtbyIKKworIy4gIiIKK21zZ2lkICJicmFuY2ggW3ZlcmJdIgorbXNnc3RyICJjcmlhciByYW1vIgorCisjLiAiIgorbXNnaWQgImNoZWNrb3V0IFtub3VuXSIKK21zZ3N0ciAiZXh0cmHDp8OjbyIKKworIy4gIlRoZSBhY3Rpb24gb2YgdXBkYXRpbmcgdGhlIHdvcmtpbmcgdHJlZSB0byBhIHJldmlzaW9uIHdoaWNoIHdhcyBzdG9yZWQgaW4gdGhlIG9iamVjdCBkYXRhYmFzZS4iCittc2dpZCAiY2hlY2tvdXQgW3ZlcmJdIgorbXNnc3RyICJleHRyYWlyIgorCisjLiAiIgorbXNnaWQgImNsb25lIFt2ZXJiXSIKK21zZ3N0ciAiY2xvbmFyIgorCisjLiAiQSBzaW5nbGUgcG9pbnQgaW4gdGhlIGdpdCBoaXN0b3J5LiIKK21zZ2lkICJjb21taXQgW25vdW5dIgorbXNnc3RyICJjb21taXQiCisKKyMuICJUaGUgYWN0aW9uIG9mIHN0b3JpbmcgYSBuZXcgc25hcHNob3Qgb2YgdGhlIHByb2plY3QncyBzdGF0ZSBpbiB0aGUgZ2l0IGhpc3RvcnkuIgorbXNnaWQgImNvbW1pdCBbdmVyYl0iCittc2dzdHIgInN1Ym1ldGVyIgorCisjLiAiIgorbXNnaWQgImRpZmYgW25vdW5dIgorbXNnc3RyICJkaWZlcmVuw6dhcyIKKworIy4gIiIKK21zZ2lkICJkaWZmIFt2ZXJiXSIKK21zZ3N0ciAibW9zdHJhciBkaWZlcmVuw6dhcyIKKworIy4gIkEgZmFzdC1mb3J3YXJkIGlzIGEgc3BlY2lhbCB0eXBlIG9mIG1lcmdlIHdoZXJlIHlvdSBoYXZlIGEgcmV2aXNpb24gYW5kIHlvdSBhcmUgbWVyZ2luZyBhbm90aGVyIGJyYW5jaCdzIGNoYW5nZXMgdGhhdCBoYXBwZW4gdG8gYmUgYSBkZXNjZW5kYW50IG9mIHdoYXQgeW91IGhhdmUuIgorbXNnaWQgImZhc3QgZm9yd2FyZCBtZXJnZSIKK21zZ3N0ciAiaW50ZWdyYcOnw6NvIHBvciBhdmFuw6dvIHLDoXBpZG8iCisKKyMuICJGZXRjaGluZyBhIGJyYW5jaCBtZWFucyB0byBnZXQgdGhlIGJyYW5jaCdzIGhlYWQgZnJvbSBhIHJlbW90ZSByZXBvc2l0b3J5LCB0byBmaW5kIG91dCB3aGljaCBvYmplY3RzIGFyZSBtaXNzaW5nIGZyb20gdGhlIGxvY2FsIG9iamVjdCBkYXRhYmFzZSwgYW5kIHRvIGdldCB0aGVtLCB0b28uIgorbXNnaWQgImZldGNoIgorbXNnc3RyICJvYnRlciIKKworIy4gIk9uZSBjb250ZXh0IG9mIGNvbnNlY3V0aXZlIGxpbmVzIGluIGEgd2hvbGUgcGF0Y2gsIHdoaWNoIGNvbnNpc3RzIG9mIG1hbnkgc3VjaCBodW5rcyIKK21zZ2lkICJodW5rIgorbXNnc3RyICJleGNlcnRvIgorCisjLiAiQSBjb2xsZWN0aW9uIG9mIGZpbGVzLiBUaGUgaW5kZXggaXMgYSBzdG9yZWQgdmVyc2lvbiBvZiB5b3VyIHdvcmtpbmcgdHJlZS4iCittc2dpZCAiaW5kZXggKGluIGdpdC1ndWk6IHN0YWdpbmcgYXJlYSkiCittc2dzdHIgIsOtbmRpY2UiCisKKyMuICJBIHN1Y2Nlc3NmdWwgbWVyZ2UgcmVzdWx0cyBpbiB0aGUgY3JlYXRpb24gb2YgYSBuZXcgY29tbWl0IHJlcHJlc2VudGluZyB0aGUgcmVzdWx0IG9mIHRoZSBtZXJnZS4iCittc2dpZCAibWVyZ2UgW25vdW5dIgorbXNnc3RyICJpbnRlZ3Jhw6fDo28iCisKKyMuICJUbyBicmluZyB0aGUgY29udGVudHMgb2YgYW5vdGhlciBicmFuY2ggaW50byB0aGUgY3VycmVudCBicmFuY2guIgorbXNnaWQgIm1lcmdlIFt2ZXJiXSIKK21zZ3N0ciAiaW50ZWdyYXIiCisKKyMuICIiCittc2dpZCAibWVzc2FnZSIKK21zZ3N0ciAibWVuc2FnZW0iCisKKyMuICJEZWxldGVzIGFsbCBzdGFsZSB0cmFja2luZyBicmFuY2hlcyB1bmRlciA8bmFtZT4uIFRoZXNlIHN0YWxlIGJyYW5jaGVzIGhhdmUgYWxyZWFkeSBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgcmVtb3RlIHJlcG9zaXRvcnkgcmVmZXJlbmNlZCBieSA8bmFtZT4sIGJ1dCBhcmUgc3RpbGwgbG9jYWxseSBhdmFpbGFibGUgaW4gJ3JlbW90ZXMvPG5hbWU+Jy4iCittc2dpZCAicHJ1bmUiCittc2dzdHIgInBvZGFyIgorCisjLiAiUHVsbGluZyBhIGJyYW5jaCBtZWFucyB0byBmZXRjaCBpdCBhbmQgbWVyZ2UgaXQuIgorbXNnaWQgInB1bGwiCittc2dzdHIgInB1eGFyIgorCisjLiAiUHVzaGluZyBhIGJyYW5jaCBtZWFucyB0byBnZXQgdGhlIGJyYW5jaCdzIGhlYWQgcmVmIGZyb20gYSByZW1vdGUgcmVwb3NpdG9yeSwgYW5kIC4uLiAod2VsbCwgY2FuIHNvbWVvbmUgcGxlYXNlIGV4cGxhaW4gaXQgZm9yIG1lcmUgbW9ydGFscz8pIgorbXNnaWQgInB1c2giCittc2dzdHIgInB1YmxpY2FyIgorCisjLiAiIgorbXNnaWQgInJlZG8iCittc2dzdHIgInJlZmF6ZXIiCisKKyMuICJBbiBvdGhlciByZXBvc2l0b3J5ICgncmVtb3RlJykuIE9uZSBtaWdodCBoYXZlIGEgc2V0IG9mIHJlbW90ZXMgd2hvc2UgYnJhbmNoZXMgb25lIHRyYWNrcy4iCittc2dpZCAicmVtb3RlIgorbXNnc3RyICJyZW1vdG8iCisKKyMuICJBIGNvbGxlY3Rpb24gb2YgcmVmcyAoPykgdG9nZXRoZXIgd2l0aCBhbiBvYmplY3QgZGF0YWJhc2UgY29udGFpbmluZyBhbGwgb2JqZWN0cyB3aGljaCBhcmUgcmVhY2hhYmxlIGZyb20gdGhlIHJlZnMuLi4gKG9vcHMsIHlvdSd2ZSBsb3N0IG1lIGhlcmUuIEFnYWluLCBwbGVhc2UgYW4gZXhwbGFuYXRpb24gZm9yIG1lcmUgbW9ydGFscz8pIgorbXNnaWQgInJlcG9zaXRvcnkiCittc2dzdHIgInJlcG9zaXTDs3JpbyIKKworIy4gIiIKK21zZ2lkICJyZXNldCIKK21zZ3N0ciAicmVwb3IiCisKKyMuICIiCittc2dpZCAicmV2ZXJ0IgorbXNnc3RyICJyZXZlcnRlciIKKworIy4gIkEgcGFydGljdWxhciBzdGF0ZSBvZiBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgd2hpY2ggd2FzIHN0b3JlZCBpbiB0aGUgb2JqZWN0IGRhdGFiYXNlLiIKK21zZ2lkICJyZXZpc2lvbiIKK21zZ3N0ciAicmV2aXPDo28iCisKKyMuICIiCittc2dpZCAic2lnbiBvZmYiCittc2dzdHIgImFzc2luYXIgcG9yIGJhaXhvIgorCisjLiAiIgorbXNnaWQgInN0YWdpbmcgYXJlYSIKK21zZ3N0ciAiw6FyZWEgZGUgZXN0w6FnaW8iCisKKyMuICIiCittc2dpZCAic3RhdHVzIgorbXNnc3RyICJlc3RhZG8iCisKKyMuICJBIHJlZiBwb2ludGluZyB0byBhIHRhZyBvciBjb21taXQgb2JqZWN0IgorbXNnaWQgInRhZyBbbm91bl0iCittc2dzdHIgInRhZyIKKworIy4gIiIKK21zZ2lkICJ0YWcgW3ZlcmJdIgorbXNnc3RyICJjcmlhciB0YWciCisKKyMuICJBIHJlZ3VsYXIgZ2l0IGJyYW5jaCB0aGF0IGlzIHVzZWQgdG8gZm9sbG93IGNoYW5nZXMgZnJvbSBhbm90aGVyIHJlcG9zaXRvcnkuIgorbXNnaWQgInRyYWNraW5nIGJyYW5jaCIKK21zZ3N0ciAicmFtbyBkZSBtb25pdG9yaXphw6fDo28iCisKKyMuICIiCittc2dpZCAidW5kbyIKK21zZ3N0ciAiZGVzZmF6ZXIiCisKKyMuICIiCittc2dpZCAidXBkYXRlIgorbXNnc3RyICJhdHVhbGl6YXIiCisKKyMuICIiCittc2dpZCAidmVyaWZ5IgorbXNnc3RyICJ2ZXJpZmljYXIiCisKKyMuICJUaGUgdHJlZSBvZiBhY3R1YWwgY2hlY2tlZCBvdXQgZmlsZXMuIgorbXNnaWQgIndvcmtpbmcgY29weSwgd29ya2luZyB0cmVlIgorbXNnc3RyICJjw7NwaWEgZGUgdHJhYmFsaG8sIMOhcnZvcmUgZGUgdHJhYmFsaG8iCisKKyMuICJhIGNvbW1pdCB0aGF0IHN1Y2NlZWRzIHRoZSBjdXJyZW50IG9uZSBpbiBnaXQncyBncmFwaCBvZiBjb21taXRzIChub3QgbmVjZXNzYXJpbHkgZGlyZWN0bHkpIgorbXNnaWQgImFuY2VzdG9yIgorbXNnc3RyICJhbnRlY2Vzc29yIgorCisjLiAicHJlbWF0dXJlbHkgc3RvcCBhbmQgYWJhbmRvbiBhbiBvcGVyYXRpb24iCittc2dpZCAiYWJvcnQiCittc2dzdHIgImFib3J0YXIiCisKKyMuICJhIHJlcG9zaXRvcnkgd2l0aCBvbmx5IC5naXQgZGlyZWN0b3J5LCB3aXRob3V0IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnaWQgImJhcmUgcmVwb3NpdG9yeSIKK21zZ3N0ciAicmVwb3NpdMOzcmlvIG51IgorCisjLiAiYSBwYXJlbnQgdmVyc2lvbiBvZiB0aGUgY3VycmVudCBmaWxlIgorbXNnaWQgImJhc2UiCittc2dzdHIgImJhc2UiCisKKyMuICJnZXQgdGhlIGF1dGhvcnMgcmVzcG9uc2libGUgZm9yIGVhY2ggbGluZSBpbiBhIGZpbGUiCittc2dpZCAiYmxhbWUiCittc2dzdHIgImN1bHBhciIKKworIy4gInRvIHNlbGVjdCBhbmQgYXBwbHkgYSBzaW5nbGUgY29tbWl0IHdpdGhvdXQgbWVyZ2luZyIKK21zZ2lkICJjaGVycnktcGljayIKK21zZ3N0ciAiZWZldHVhciBjaGVycnktcGljayAoZXNjb2xoZXItYS1kZWRvPywgc2VsZWNpb25hcj8pIgorCisjLiAiYSBjb21taXQgdGhhdCBkaXJlY3RseSBzdWNjZWVkcyB0aGUgY3VycmVudCBvbmUgaW4gZ2l0J3MgZ3JhcGggb2YgY29tbWl0cyIKK21zZ2lkICJjaGlsZCIKK21zZ3N0ciAiZmlsaG8iCisKKyMuICJjbGVhbiB0aGUgc3RhdGUgb2YgdGhlIGdpdCByZXBvc2l0b3J5LCBvZnRlbiBhZnRlciBtYW51YWxseSBzdG9wcGVkIG9wZXJhdGlvbiIKK21zZ2lkICJjbGVhbnVwIgorbXNnc3RyICJsaW1wYXIiCisKKyMuICJhIG1lc3NhZ2UgdGhhdCBnZXRzIGF0dGFjaGVkIHdpdGggYW55IGNvbW1pdCIKK21zZ2lkICJjb21taXQgbWVzc2FnZSIKK21zZ3N0ciAibWVuc2FnZW0gZGUgY29tbWl0IgorCisjLiAiYSBjb21taXQgdGhhdCBwcmVjZWRlcyB0aGUgY3VycmVudCBvbmUgaW4gZ2l0J3MgZ3JhcGggb2YgY29tbWl0cyAobm90IG5lY2Vzc2FyaWx5IGRpcmVjdGx5KSIKK21zZ2lkICJkZXNjZW5kYW50IgorbXNnc3RyICJkZXNjZW5kZW50ZSIKKworIy4gImNoZWNrb3V0IG9mIGEgcmV2aXNpb24gcmF0aGVyIHRoYW4gYSBzb21lIGhlYWQiCittc2dpZCAiZGV0YWNoZWQgY2hlY2tvdXQiCittc2dzdHIgImV4dHJhw6fDo28gZGVzdGFjYWRhIgorCisjLiAiYW55IG1lcmdlIHN0cmF0ZWd5IHRoYXQgd29ya3Mgb24gYSBmaWxlIGJ5IGZpbGUgYmFzaXMiCittc2dpZCAiZmlsZSBsZXZlbCBtZXJnaW5nIgorbXNnc3RyICJpbnRlZ3Jhw6fDo28gYW8gbsOtdmVsIGRlIGZpY2hlaXJvcyIKKworIy4gInRoZSBsYXN0IHJldmlzaW9uIGluIGEgYnJhbmNoIgorbXNnaWQgImhlYWQiCittc2dzdHIgImNhYmXDp2EiCisKKyMuICJzY3JpcHQgdGhhdCBnZXRzIGV4ZWN1dGVkIGF1dG9tYXRpY2FsbHkgb24gc29tZSBldmVudCIKK21zZ2lkICJob29rIgorbXNnc3RyICJnYW5jaG8iCisKKyMuICJ0aGUgZmlyc3QgY2hlY2tvdXQgZHVyaW5nIGEgY2xvbmUgb3BlcmF0aW9uIgorbXNnaWQgImluaXRpYWwgY2hlY2tvdXQiCittc2dzdHIgImV4dHJhw6fDo28gaW5pY2lhbCIKKworIy4gImEgYnJhbmNoIHRoYXQgcmVzaWRlcyBpbiB0aGUgbG9jYWwgZ2l0IHJlcG9zaXRvcnkiCittc2dpZCAibG9jYWwgYnJhbmNoIgorbXNnc3RyICJyYW1vIGxvY2FsIgorCisjLiAiYSBHaXQgb2JqZWN0IHRoYXQgaXMgbm90IHBhcnQgb2YgYW55IHBhY2siCittc2dpZCAibG9vc2Ugb2JqZWN0IgorbXNnc3RyICJvYmpldG8gc29sdG8iCisKKyMuICJhIGJyYW5jaCBjYWxsZWQgYnkgY29udmVudGlvbiAnbWFzdGVyJyB0aGF0IGV4aXN0cyBpbiBhIG5ld2x5IGNyZWF0ZWQgZ2l0IHJlcG9zaXRvcnkiCittc2dpZCAibWFzdGVyIGJyYW5jaCIKK21zZ3N0ciAicmFtbyBtZXN0cmUiCisKKyMuICJhIHJlbW90ZSBjYWxsZWQgYnkgY29udmVudGlvbiAnb3JpZ2luJyB0aGF0IHRoZSBjdXJyZW50IGdpdCByZXBvc2l0b3J5IGhhcyBiZWVuIGNsb25lZCBmcm9tIgorbXNnaWQgIm9yaWdpbiIKK21zZ3N0ciAib3JpZ2VtIgorCisjLiAiYSBmaWxlIGNvbnRhaW5pbmcgbWFueSBnaXQgb2JqZWN0cyBwYWNrZWQgdG9nZXRoZXIiCittc2dpZCAicGFjayBbbm91bl0iCittc2dzdHIgInBhY290ZSIKKworIy4gImEgR2l0IG9iamVjdCBwYXJ0IG9mIHNvbWUgcGFjayIKK21zZ2lkICJwYWNrZWQgb2JqZWN0IgorbXNnc3RyICJvYmpldG8gY29tcGFjdGFkbyIKKworIy4gImEgY29tbWl0IHRoYXQgZGlyZWN0bHkgcHJlY2VkZXMgdGhlIGN1cnJlbnQgb25lIGluIGdpdCdzIGdyYXBoIG9mIGNvbW1pdHMiCittc2dpZCAicGFyZW50IgorbXNnc3RyICJwYWkiCisKKyMuICJ0aGUgbG9nIGZpbGUgY29udGFpbmluZyBhbGwgc3RhdGVzIG9mIHRoZSBIRUFEIHJlZmVyZW5jZSAoaW4gb3RoZXIgd29yZHMgcGFzdCBwcmlzdGluZSBzdGF0ZXMgb2YgdGhlIHdvcmtpbmcgY29weSkiCittc2dpZCAicmVmbG9nIgorbXNnc3RyICJyZWZsb2ciCisKKyMuICJkZWNpZGUgd2hpY2ggY2hhbmdlcyBmcm9tIGFsdGVybmF0aXZlIHZlcnNpb25zIG9mIGEgZmlsZSBzaG91bGQgcGVyc2lzdCBpbiBHaXQiCittc2dpZCAicmVzb2x2ZSAoYSBjb25mbGljdCkiCittc2dzdHIgInJlc29sdmVyICh1bSBjb25mbGl0bykiCisKKyMuICJhYmFuZG9uIGNoYW5nZXMgYW5kIGdvIHRvIHByaXN0aW5lIHZlcnNpb24iCittc2dpZCAicmV2ZXJ0IGNoYW5nZXMiCittc2dzdHIgInJldmVydGVyIGFsdGVyYcOnw7VlcyIKKworIy4gImV4cHJlc3Npb24gdGhhdCBzaWduaWZpZXMgYSByZXZpc2lvbiBpbiBnaXQiCittc2dpZCAicmV2aXNpb24gZXhwcmVzc2lvbiIKK21zZ3N0ciAiZXhwcmVzc8OjbyBkZSByZXZpc8OjbyIKKworIy4gImFkZCBzb21lIGNvbnRlbnQgb2YgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHRvIHRoZSBzdGFnaW5nIGFyZWEgaW4gcHJlcGFyYXRpb24gZm9yIGEgY29tbWl0IgorbXNnaWQgInN0YWdlL3Vuc3RhZ2UiCittc2dzdHIgInByZXBhcmFyL3JldGlyYXIiCisKKyMuICJ0ZW1wb3JhcmlseSBzYXZlIGNoYW5nZXMgaW4gYSBzdGFjayB3aXRob3V0IGNvbW1pdHRpbmciCittc2dpZCAic3Rhc2giCittc2dzdHIgImVtcGlsaGFyIgorCisjLiAiZmlsZSB3aG9zZSBjb250ZW50IGlzIHRyYWNrZWQvbm90IHRyYWNrZWQgYnkgZ2l0IgorbXNnaWQgInRyYWNrZWQvdW50cmFja2VkIgorbXNnc3RyICJjb250cm9sYWRvL27Do28gY29udHJvbGFkbyIKZGlmZiAtLWdpdCBhL2dpdC1ndWkvcG8vamEucG8gYi9naXQtZ3VpL3BvL2phLnBvCmluZGV4IDlhZmYyNDkuLjIwODY1MWMgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvcG8vamEucG8KKysrIGIvZ2l0LWd1aS9wby9qYS5wbwpAQCAtMSw0NyArMSw1MCBAQAogIyBUcmFuc2xhdGlvbiBvZiBnaXQtZ3VpIHRvIEphcGFuZXNlCiAjIENvcHlyaWdodCAoQykgMjAwNyBTaGF3biBQZWFyY2UKICMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGdpdC1ndWkgcGFja2FnZS4KKyMKICMg44GX44KJ44GE44GXIOOBquOBquOBkyA8bmFuYWtvM0BibHVlYm90dGxlLmNvbT4sIDIwMDcuCisjIFNhdG9zaGkgWWFzdXNoaW1hIDxzLnlhc3VzaGltYUBnbWFpbC5jb20+LCAyMDE2LgogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0LWd1aVxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMC0wMS0yNiAxNTo0Ny0wODAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxMC0wMi0wMiAxOTowMyswOTAwXG4iCi0iTGFzdC1UcmFuc2xhdG9yOiDjgZfjgonjgYTjgZcg44Gq44Gq44GTIDxuYW5ha28zQGxhdmFiaXQuY29tPlxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE2LTA1LTI3IDE3OjUyKzA5MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE2LTA2LTIyIDEyOjUwKzA5MDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFNhdG9zaGkgWWFzdXNoaW1hIDxzLnlhc3VzaGltYUBnbWFpbC5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogSmFwYW5lc2VcbiIKKyJMYW5ndWFnZTogamFcbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKIAotIzogZ2l0LWd1aS5zaDo0MSBnaXQtZ3VpLnNoOjc5MyBnaXQtZ3VpLnNoOjgwNyBnaXQtZ3VpLnNoOjgyMCBnaXQtZ3VpLnNoOjkwMwotIzogZ2l0LWd1aS5zaDo5MjIKLW1zZ2lkICJnaXQtZ3VpOiBmYXRhbCBlcnJvciIKLW1zZ3N0ciAiZ2l0LWd1aTog6Ie05ZG955qE44Gq44Ko44Op44O8IgotCi0jOiBnaXQtZ3VpLnNoOjc0MworIzogZ2l0LWd1aS5zaDo4NjEKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGZvbnQgc3BlY2lmaWVkIGluICVzOiIKIG1zZ3N0ciAiJXMg44Gr54Sh5Yq544Gq44OV44Kp44Oz44OI44GM5oyH5a6a44GV44KM44Gm44GE44G+44GZOiIKIAotIzogZ2l0LWd1aS5zaDo3NzkKKyM6IGdpdC1ndWkuc2g6OTE1CiBtc2dpZCAiTWFpbiBGb250IgogbXNnc3RyICLkuLvjg5Xjgqnjg7Pjg4giCiAKLSM6IGdpdC1ndWkuc2g6NzgwCisjOiBnaXQtZ3VpLnNoOjkxNgogbXNnaWQgIkRpZmYvQ29uc29sZSBGb250IgogbXNnc3RyICJkaWZmL+OCs+ODs+OCveODvOODq+ODu+ODleOCqeODs+ODiCIKIAotIzogZ2l0LWd1aS5zaDo3OTQKKyM6IGdpdC1ndWkuc2g6OTMxIGdpdC1ndWkuc2g6OTQ1IGdpdC1ndWkuc2g6OTU4IGdpdC1ndWkuc2g6MTA0OCBnaXQtZ3VpLnNoOjEwNjcKKyM6IGdpdC1ndWkuc2g6MzEyNQorbXNnaWQgImdpdC1ndWk6IGZhdGFsIGVycm9yIgorbXNnc3RyICJnaXQtZ3VpOiDoh7Tlkb3nmoTjgarjgqjjg6njg7wiCisKKyM6IGdpdC1ndWkuc2g6OTMyCiBtc2dpZCAiQ2Fubm90IGZpbmQgZ2l0IGluIFBBVEguIgogbXNnc3RyICJQQVRIIOS4reOBqyBnaXQg44GM6KaL44Gk44GL44KK44G+44Gb44KTIgogCi0jOiBnaXQtZ3VpLnNoOjgyMQorIzogZ2l0LWd1aS5zaDo5NTkKIG1zZ2lkICJDYW5ub3QgcGFyc2UgR2l0IHZlcnNpb24gc3RyaW5nOiIKIG1zZ3N0ciAiR2l0IOODkOODvOOCuOODp+ODs+WQjeOBjOeQhuino+OBp+OBjeOBvuOBm+OCkzoiCiAKLSM6IGdpdC1ndWkuc2g6ODM5CisjOiBnaXQtZ3VpLnNoOjk4NAogIywgdGNsLWZvcm1hdAogbXNnaWQgIiIKICJHaXQgdmVyc2lvbiBjYW5ub3QgYmUgZGV0ZXJtaW5lZC5cbiIKQEAgLTYwLDQ3NSArNjMsNTAyIEBACiAiXG4iCiAiJyVzJyDjga/jg5Djg7zjgrjjg6fjg7MgMS41LjAg44Go5oCd44Gj44Gm6Imv44GE44Gn44GZ44GL77yfXG4iCiAKLSM6IGdpdC1ndWkuc2g6MTEyOAorIzogZ2l0LWd1aS5zaDoxMjgxCiBtc2dpZCAiR2l0IGRpcmVjdG9yeSBub3QgZm91bmQ6IgogbXNnc3RyICJHaXQg44OH44Kj44Os44Kv44OI44Oq44GM6KaL44Gk44GL44KK44G+44Gb44KTOiIKIAotIzogZ2l0LWd1aS5zaDoxMTQ2CisjOiBnaXQtZ3VpLnNoOjEzMTUKIG1zZ2lkICJDYW5ub3QgbW92ZSB0byB0b3Agb2Ygd29ya2luZyBkaXJlY3Rvcnk6IgogbXNnc3RyICLkvZzmpa3jg4fjgqPjg6zjgq/jg4jjg6rjga7mnIDkuIrkvY3jgavnp7vli5XjgafjgY3jgb7jgZvjgpMiCiAKLSM6IGdpdC1ndWkuc2g6MTE1NAorIzogZ2l0LWd1aS5zaDoxMzIzCiBtc2dpZCAiQ2Fubm90IHVzZSBiYXJlIHJlcG9zaXRvcnk6IgogbXNnc3RyICLoo7jjga7jg6rjg53jgrjjg4jjg6rjga/kvb/jgYjjgb7jgZvjgpM6IgogCi0jOiBnaXQtZ3VpLnNoOjExNjIKKyM6IGdpdC1ndWkuc2g6MTMzMQogbXNnaWQgIk5vIHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICLkvZzmpa3jg4fjgqPjg6zjgq/jg4jjg6rjgYzjgYLjgorjgb7jgZvjgpMiCiAKLSM6IGdpdC1ndWkuc2g6MTMzNCBsaWIvY2hlY2tvdXRfb3AudGNsOjMwNgorIzogZ2l0LWd1aS5zaDoxNTAzIGxpYi9jaGVja291dF9vcC50Y2w6MzA2CiBtc2dpZCAiUmVmcmVzaGluZyBmaWxlIHN0YXR1cy4uLiIKIG1zZ3N0ciAi44OV44Kh44Kk44Or54q25oWL44KS5pu05paw44GX44Gm44GE44G+44GZ4oCmIgogCi0jOiBnaXQtZ3VpLnNoOjEzOTAKKyM6IGdpdC1ndWkuc2g6MTU2MwogbXNnaWQgIlNjYW5uaW5nIGZvciBtb2RpZmllZCBmaWxlcyAuLi4iCiBtc2dzdHIgIuWkieabtOOBleOCjOOBn+ODleOCoeOCpOODq+OCkuOCueOCreODo+ODs+OBl+OBpuOBhOOBvuOBmeKApiIKIAotIzogZ2l0LWd1aS5zaDoxNDU0CisjOiBnaXQtZ3VpLnNoOjE2MzkKIG1zZ2lkICJDYWxsaW5nIHByZXBhcmUtY29tbWl0LW1zZyBob29rLi4uIgogbXNnc3RyICJwcmVwYXJlLWNvbW1pdC1tc2cg44OV44OD44Kv44KS5a6f6KGM5Lit44O744O744O7IgogCi0jOiBnaXQtZ3VpLnNoOjE0NzEKKyM6IGdpdC1ndWkuc2g6MTY1NgogbXNnaWQgIkNvbW1pdCBkZWNsaW5lZCBieSBwcmVwYXJlLWNvbW1pdC1tc2cgaG9vay4iCiBtc2dzdHIgInByZXBhcmUtY29tbWl0LW1zZyDjg5Xjg4Pjgq/jgYzjgrPjg5/jg4Pjg4jjgpLmi5LlkKbjgZfjgb7jgZfjgZ8iCiAKLSM6IGdpdC1ndWkuc2g6MTYyOSBsaWIvYnJvd3Nlci50Y2w6MjQ2CisjOiBnaXQtZ3VpLnNoOjE4MTQgbGliL2Jyb3dzZXIudGNsOjI1MgogbXNnaWQgIlJlYWR5LiIKIG1zZ3N0ciAi5rqW5YKZ5a6M5LqGIgogCi0jOiBnaXQtZ3VpLnNoOjE3ODcKKyM6IGdpdC1ndWkuc2g6MTk3OAogIywgdGNsLWZvcm1hdAotbXNnaWQgIkRpc3BsYXlpbmcgb25seSAlcyBvZiAlcyBmaWxlcy4iCi1tc2dzdHIgIuWFqOS9k+OBpyVz5YCL44Gu5YaF44GuJXPjg5XjgqHjgqTjg6vjgaDjgZHooajnpLrjgZfjgabjgYTjgb7jgZkiCittc2dpZCAiIgorIkRpc3BsYXkgbGltaXQgKGd1aS5tYXhmaWxlc2Rpc3BsYXllZCA9ICVzKSByZWFjaGVkLCBub3Qgc2hvd2luZyBhbGwgJXMgZmlsZXMuIgorbXNnc3RyICIiCisi6KGo56S65Y+v6IO944Gq6ZmQ55WMIChndWkubWF4ZmlsZXNkaXNwbGF5ZWQgPSAlcykg44Gr6YGU44GX44Gf44KB44CB5YWo5L2T44GnJXPlgIvjga7jg5XjgqHjgqTjg6siCisi44KS6KGo56S644Gn44GN44G+44Gb44KTIgogCi0jOiBnaXQtZ3VpLnNoOjE5MTMKKyM6IGdpdC1ndWkuc2g6MjEwMQogbXNnaWQgIlVubW9kaWZpZWQiCiBtc2dzdHIgIuWkieabtOeEoeOBlyIKIAotIzogZ2l0LWd1aS5zaDoxOTE1CisjOiBnaXQtZ3VpLnNoOjIxMDMKIG1zZ2lkICJNb2RpZmllZCwgbm90IHN0YWdlZCIKIG1zZ3N0ciAi5aSJ5pu044GC44KK44CB44Kz44Of44OD44OI5pyq5LqI5a6aIgogCi0jOiBnaXQtZ3VpLnNoOjE5MTYgZ2l0LWd1aS5zaDoxOTI0CisjOiBnaXQtZ3VpLnNoOjIxMDQgZ2l0LWd1aS5zaDoyMTE2CiBtc2dpZCAiU3RhZ2VkIGZvciBjb21taXQiCiBtc2dzdHIgIuOCs+ODn+ODg+ODiOS6iOWumua4iCIKIAotIzogZ2l0LWd1aS5zaDoxOTE3IGdpdC1ndWkuc2g6MTkyNQorIzogZ2l0LWd1aS5zaDoyMTA1IGdpdC1ndWkuc2g6MjExNwogbXNnaWQgIlBvcnRpb25zIHN0YWdlZCBmb3IgY29tbWl0IgogbXNnc3RyICLpg6jliIbnmoTjgavjgrPjg5/jg4Pjg4jkuojlrprmuIgiCiAKLSM6IGdpdC1ndWkuc2g6MTkxOCBnaXQtZ3VpLnNoOjE5MjYKKyM6IGdpdC1ndWkuc2g6MjEwNiBnaXQtZ3VpLnNoOjIxMTgKIG1zZ2lkICJTdGFnZWQgZm9yIGNvbW1pdCwgbWlzc2luZyIKIG1zZ3N0ciAi44Kz44Of44OD44OI5LqI5a6a5riI44CB44OV44Kh44Kk44Or54Sh44GXIgogCi0jOiBnaXQtZ3VpLnNoOjE5MjAKKyM6IGdpdC1ndWkuc2g6MjEwOAogbXNnaWQgIkZpbGUgdHlwZSBjaGFuZ2VkLCBub3Qgc3RhZ2VkIgogbXNnc3RyICLjg5XjgqHjgqTjg6vlnovlpInmm7TjgIHjgrPjg5/jg4Pjg4jmnKrkuojlrpoiCiAKLSM6IGdpdC1ndWkuc2g6MTkyMQorIzogZ2l0LWd1aS5zaDoyMTA5IGdpdC1ndWkuc2g6MjExMAorbXNnaWQgIkZpbGUgdHlwZSBjaGFuZ2VkLCBvbGQgdHlwZSBzdGFnZWQgZm9yIGNvbW1pdCIKK21zZ3N0ciAi44OV44Kh44Kk44Or5Z6L5aSJ5pu044CB5pen5Z6L44Kz44Of44OD44OI5LqI5a6a5riIIgorCisjOiBnaXQtZ3VpLnNoOjIxMTEKIG1zZ2lkICJGaWxlIHR5cGUgY2hhbmdlZCwgc3RhZ2VkIgogbXNnc3RyICLjg5XjgqHjgqTjg6vlnovlpInmm7TjgIHjgrPjg5/jg4Pjg4jkuojlrprmuIgiCiAKLSM6IGdpdC1ndWkuc2g6MTkyMworIzogZ2l0LWd1aS5zaDoyMTEyCittc2dpZCAiRmlsZSB0eXBlIGNoYW5nZSBzdGFnZWQsIG1vZGlmaWNhdGlvbiBub3Qgc3RhZ2VkIgorbXNnc3RyICLjg5XjgqHjgqTjg6vlnovlpInmm7TjgrPjg5/jg4Pjg4jkuojlrprmuIjjgIHlpInmm7TjgrPjg5/jg4Pjg4jmnKrkuojlrpoiCisKKyM6IGdpdC1ndWkuc2g6MjExMworbXNnaWQgIkZpbGUgdHlwZSBjaGFuZ2Ugc3RhZ2VkLCBmaWxlIG1pc3NpbmciCittc2dzdHIgIuODleOCoeOCpOODq+Wei+WkieabtOOCs+ODn+ODg+ODiOS6iOWumua4iOOAgeODleOCoeOCpOODq+eEoeOBlyIKKworIzogZ2l0LWd1aS5zaDoyMTE1CiBtc2dpZCAiVW50cmFja2VkLCBub3Qgc3RhZ2VkIgogbXNnc3RyICLnrqHnkIblpJbjgIHjgrPjg5/jg4Pjg4jmnKrkuojlrpoiCiAKLSM6IGdpdC1ndWkuc2g6MTkyOAorIzogZ2l0LWd1aS5zaDoyMTIwCiBtc2dpZCAiTWlzc2luZyIKIG1zZ3N0ciAi44OV44Kh44Kk44Or54Sh44GXIgogCi0jOiBnaXQtZ3VpLnNoOjE5MjkKKyM6IGdpdC1ndWkuc2g6MjEyMQogbXNnaWQgIlN0YWdlZCBmb3IgcmVtb3ZhbCIKIG1zZ3N0ciAi5YmK6Zmk5LqI5a6a5riIIgogCi0jOiBnaXQtZ3VpLnNoOjE5MzAKKyM6IGdpdC1ndWkuc2g6MjEyMgogbXNnaWQgIlN0YWdlZCBmb3IgcmVtb3ZhbCwgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAi5YmK6Zmk5LqI5a6a5riI44CB44OV44Kh44Kk44Or5pyq5YmK6ZmkIgogCi0jOiBnaXQtZ3VpLnNoOjE5MzIgZ2l0LWd1aS5zaDoxOTMzIGdpdC1ndWkuc2g6MTkzNCBnaXQtZ3VpLnNoOjE5MzUKLSM6IGdpdC1ndWkuc2g6MTkzNiBnaXQtZ3VpLnNoOjE5MzcKKyM6IGdpdC1ndWkuc2g6MjEyNCBnaXQtZ3VpLnNoOjIxMjUgZ2l0LWd1aS5zaDoyMTI2IGdpdC1ndWkuc2g6MjEyNworIzogZ2l0LWd1aS5zaDoyMTI4IGdpdC1ndWkuc2g6MjEyOQogbXNnaWQgIlJlcXVpcmVzIG1lcmdlIHJlc29sdXRpb24iCiBtc2dzdHIgIuimgeODnuODvOOCuOino+axuiIKIAotIzogZ2l0LWd1aS5zaDoxOTcyCisjOiBnaXQtZ3VpLnNoOjIxNjQKIG1zZ2lkICJTdGFydGluZyBnaXRrLi4uIHBsZWFzZSB3YWl0Li4uIgogbXNnc3RyICJnaXRrIOOCkui1t+WLleS4reKApuOBiuW+heOBoeS4i+OBleOBhOKApiIKIAotIzogZ2l0LWd1aS5zaDoxOTg0CisjOiBnaXQtZ3VpLnNoOjIxNzYKIG1zZ2lkICJDb3VsZG4ndCBmaW5kIGdpdGsgaW4gUEFUSCIKIG1zZ3N0ciAiUEFUSCDkuK3jgasgZ2l0ayDjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCiAKLSM6IGdpdC1ndWkuc2g6MjA0MworIzogZ2l0LWd1aS5zaDoyMjM1CiBtc2dpZCAiQ291bGRuJ3QgZmluZCBnaXQgZ3VpIGluIFBBVEgiCiBtc2dzdHIgIlBBVEgg5Lit44GrIGdpdCBndWkg44GM6KaL44Gk44GL44KK44G+44Gb44KTIgogCi0jOiBnaXQtZ3VpLnNoOjI0NTUgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDozNgorIzogZ2l0LWd1aS5zaDoyNjU0IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDEKIG1zZ2lkICJSZXBvc2l0b3J5IgogbXNnc3RyICLjg6rjg53jgrjjg4jjg6oiCiAKLSM6IGdpdC1ndWkuc2g6MjQ1NgorIzogZ2l0LWd1aS5zaDoyNjU1CiBtc2dpZCAiRWRpdCIKIG1zZ3N0ciAi57eo6ZuGIgogCi0jOiBnaXQtZ3VpLnNoOjI0NTggbGliL2Nob29zZV9yZXYudGNsOjU2MQorIzogZ2l0LWd1aS5zaDoyNjU3IGxpYi9jaG9vc2VfcmV2LnRjbDo1NjcKIG1zZ2lkICJCcmFuY2giCiBtc2dzdHIgIuODluODqeODs+ODgSIKIAotIzogZ2l0LWd1aS5zaDoyNDYxIGxpYi9jaG9vc2VfcmV2LnRjbDo1NDgKKyM6IGdpdC1ndWkuc2g6MjY2MCBsaWIvY2hvb3NlX3Jldi50Y2w6NTU0CiBtc2dpZCAiQ29tbWl0QEBub3VuIgogbXNnc3RyICLjgrPjg5/jg4Pjg4giCiAKLSM6IGdpdC1ndWkuc2g6MjQ2NCBsaWIvbWVyZ2UudGNsOjEyMSBsaWIvbWVyZ2UudGNsOjE1MCBsaWIvbWVyZ2UudGNsOjE2OAorIzogZ2l0LWd1aS5zaDoyNjYzIGxpYi9tZXJnZS50Y2w6MTIzIGxpYi9tZXJnZS50Y2w6MTUyIGxpYi9tZXJnZS50Y2w6MTcwCiBtc2dpZCAiTWVyZ2UiCiBtc2dzdHIgIuODnuODvOOCuCIKIAotIzogZ2l0LWd1aS5zaDoyNDY1IGxpYi9jaG9vc2VfcmV2LnRjbDo1NTcKKyM6IGdpdC1ndWkuc2g6MjY2NCBsaWIvY2hvb3NlX3Jldi50Y2w6NTYzCiBtc2dpZCAiUmVtb3RlIgogbXNnc3RyICLjg6rjg6Ljg7zjg4giCiAKLSM6IGdpdC1ndWkuc2g6MjQ2OAorIzogZ2l0LWd1aS5zaDoyNjY3CiBtc2dpZCAiVG9vbHMiCiBtc2dzdHIgIuODhOODvOODqyIKIAotIzogZ2l0LWd1aS5zaDoyNDc3CisjOiBnaXQtZ3VpLnNoOjI2NzYKIG1zZ2lkICJFeHBsb3JlIFdvcmtpbmcgQ29weSIKIG1zZ3N0ciAi44Ov44O844Kt44Oz44Kw44Kz44OU44O844KS44OW44Op44Km44K6IgogCi0jOiBnaXQtZ3VpLnNoOjI0ODMKKyM6IGdpdC1ndWkuc2g6MjY4MgorbXNnaWQgIkdpdCBCYXNoIgorbXNnc3RyICIiCisKKyM6IGdpdC1ndWkuc2g6MjY5MgogbXNnaWQgIkJyb3dzZSBDdXJyZW50IEJyYW5jaCdzIEZpbGVzIgogbXNnc3RyICLnj77lnKjjga7jg5bjg6njg7Pjg4Hjga7jg5XjgqHjgqTjg6vjgpLopovjgosiCiAKLSM6IGdpdC1ndWkuc2g6MjQ4NworIzogZ2l0LWd1aS5zaDoyNjk2CiBtc2dpZCAiQnJvd3NlIEJyYW5jaCBGaWxlcy4uLiIKIG1zZ3N0ciAi44OW44Op44Oz44OB44Gu44OV44Kh44Kk44Or44KS6KaL44KL4oCmIgogCi0jOiBnaXQtZ3VpLnNoOjI0OTIKKyM6IGdpdC1ndWkuc2g6MjcwMQogbXNnaWQgIlZpc3VhbGl6ZSBDdXJyZW50IEJyYW5jaCdzIEhpc3RvcnkiCiBtc2dzdHIgIuePvuWcqOOBruODluODqeODs+ODgeOBruWxpeattOOCkuimi+OCiyIKIAotIzogZ2l0LWd1aS5zaDoyNDk2CisjOiBnaXQtZ3VpLnNoOjI3MDUKIG1zZ2lkICJWaXN1YWxpemUgQWxsIEJyYW5jaCBIaXN0b3J5IgogbXNnc3RyICLlhajjgabjga7jg5bjg6njg7Pjg4Hjga7lsaXmrbTjgpLopovjgosiCiAKLSM6IGdpdC1ndWkuc2g6MjUwMworIzogZ2l0LWd1aS5zaDoyNzEyCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiQnJvd3NlICVzJ3MgRmlsZXMiCiBtc2dzdHIgIuODluODqeODs+ODgSAlcyDjga7jg5XjgqHjgqTjg6vjgpLopovjgosiCiAKLSM6IGdpdC1ndWkuc2g6MjUwNQorIzogZ2l0LWd1aS5zaDoyNzE0CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiVmlzdWFsaXplICVzJ3MgSGlzdG9yeSIKIG1zZ3N0ciAi44OW44Op44Oz44OBICVzIOOBruWxpeattOOCkuimi+OCiyIKIAotIzogZ2l0LWd1aS5zaDoyNTEwIGxpYi9kYXRhYmFzZS50Y2w6MjcgbGliL2RhdGFiYXNlLnRjbDo2NworIzogZ2l0LWd1aS5zaDoyNzE5IGxpYi9kYXRhYmFzZS50Y2w6NDAgbGliL2RhdGFiYXNlLnRjbDo2NgogbXNnaWQgIkRhdGFiYXNlIFN0YXRpc3RpY3MiCiBtc2dzdHIgIuODh+ODvOOCv+ODmeODvOOCuee1seioiCIKIAotIzogZ2l0LWd1aS5zaDoyNTEzIGxpYi9kYXRhYmFzZS50Y2w6MzQKKyM6IGdpdC1ndWkuc2g6MjcyMiBsaWIvZGF0YWJhc2UudGNsOjMzCiBtc2dpZCAiQ29tcHJlc3MgRGF0YWJhc2UiCiBtc2dzdHIgIuODh+ODvOOCv+ODmeODvOOCueWcp+e4riIKIAotIzogZ2l0LWd1aS5zaDoyNTE2CisjOiBnaXQtZ3VpLnNoOjI3MjUKIG1zZ2lkICJWZXJpZnkgRGF0YWJhc2UiCiBtc2dzdHIgIuODh+ODvOOCv+ODmeODvOOCueaknOiovCIKIAotIzogZ2l0LWd1aS5zaDoyNTIzIGdpdC1ndWkuc2g6MjUyNyBnaXQtZ3VpLnNoOjI1MzEgbGliL3Nob3J0Y3V0LnRjbDo4CisjOiBnaXQtZ3VpLnNoOjI3MzIgZ2l0LWd1aS5zaDoyNzM2IGdpdC1ndWkuc2g6Mjc0MCBsaWIvc2hvcnRjdXQudGNsOjgKICM6IGxpYi9zaG9ydGN1dC50Y2w6NDAgbGliL3Nob3J0Y3V0LnRjbDo3MgogbXNnaWQgIkNyZWF0ZSBEZXNrdG9wIEljb24iCiBtc2dzdHIgIuODh+OCueOCr+ODiOODg+ODl+ODu+OCouOCpOOCs+ODs+OCkuS9nOOCiyIKIAotIzogZ2l0LWd1aS5zaDoyNTM5IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTgzIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTkxCisjOiBnaXQtZ3VpLnNoOjI3NDggbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxOTMgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoyMDEKIG1zZ2lkICJRdWl0IgogbXNnc3RyICLntYLkuoYiCiAKLSM6IGdpdC1ndWkuc2g6MjU0NworIzogZ2l0LWd1aS5zaDoyNzU2CiBtc2dpZCAiVW5kbyIKIG1zZ3N0ciAi5YWD44Gr5oi744GZIgogCi0jOiBnaXQtZ3VpLnNoOjI1NTAKKyM6IGdpdC1ndWkuc2g6Mjc1OQogbXNnaWQgIlJlZG8iCiBtc2dzdHIgIuOChOOCiuebtOOBlyIKIAotIzogZ2l0LWd1aS5zaDoyNTU0IGdpdC1ndWkuc2g6MzEwOQorIzogZ2l0LWd1aS5zaDoyNzYzIGdpdC1ndWkuc2g6MzM2OAogbXNnaWQgIkN1dCIKIG1zZ3N0ciAi5YiH44KK5Y+W44KKIgogCi0jOiBnaXQtZ3VpLnNoOjI1NTcgZ2l0LWd1aS5zaDozMTEyIGdpdC1ndWkuc2g6MzE4NiBnaXQtZ3VpLnNoOjMyNTkKKyM6IGdpdC1ndWkuc2g6Mjc2NiBnaXQtZ3VpLnNoOjMzNzEgZ2l0LWd1aS5zaDozNDQ1IGdpdC1ndWkuc2g6MzUzMAogIzogbGliL2NvbnNvbGUudGNsOjY5CiBtc2dpZCAiQ29weSIKIG1zZ3N0ciAi44Kz44OU44O8IgogCi0jOiBnaXQtZ3VpLnNoOjI1NjAgZ2l0LWd1aS5zaDozMTE1CisjOiBnaXQtZ3VpLnNoOjI3NjkgZ2l0LWd1aS5zaDozMzc0CiBtc2dpZCAiUGFzdGUiCiBtc2dzdHIgIuiyvOOCiuS7mOOBkSIKIAotIzogZ2l0LWd1aS5zaDoyNTYzIGdpdC1ndWkuc2g6MzExOCBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MjYKLSM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MzgKKyM6IGdpdC1ndWkuc2g6Mjc3MiBnaXQtZ3VpLnNoOjMzNzcgbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDozOQorIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjI4CiBtc2dpZCAiRGVsZXRlIgogbXNnc3RyICLliYrpmaQiCiAKLSM6IGdpdC1ndWkuc2g6MjU2NyBnaXQtZ3VpLnNoOjMxMjIgZ2l0LWd1aS5zaDozMjYzIGxpYi9jb25zb2xlLnRjbDo3MQorIzogZ2l0LWd1aS5zaDoyNzc2IGdpdC1ndWkuc2g6MzM4MSBnaXQtZ3VpLnNoOjM1MzQgbGliL2NvbnNvbGUudGNsOjcxCiBtc2dpZCAiU2VsZWN0IEFsbCIKIG1zZ3N0ciAi5YWo44Gm6YG45oqeIgogCi0jOiBnaXQtZ3VpLnNoOjI1NzYKKyM6IGdpdC1ndWkuc2g6Mjc4NQogbXNnaWQgIkNyZWF0ZS4uLiIKIG1zZ3N0ciAi5L2c5oiQ4oCmIgogCi0jOiBnaXQtZ3VpLnNoOjI1ODIKKyM6IGdpdC1ndWkuc2g6Mjc5MQogbXNnaWQgIkNoZWNrb3V0Li4uIgogbXNnc3RyICLjg4Hjgqfjg4Pjgq/jgqLjgqbjg4giCiAKLSM6IGdpdC1ndWkuc2g6MjU4OAorIzogZ2l0LWd1aS5zaDoyNzk3CiBtc2dpZCAiUmVuYW1lLi4uIgogbXNnc3RyICLlkI3liY3lpInmm7TigKYiCiAKLSM6IGdpdC1ndWkuc2g6MjU5MworIzogZ2l0LWd1aS5zaDoyODAyCiBtc2dpZCAiRGVsZXRlLi4uIgogbXNnc3RyICLliYrpmaTigKYiCiAKLSM6IGdpdC1ndWkuc2g6MjU5OAorIzogZ2l0LWd1aS5zaDoyODA3CiBtc2dpZCAiUmVzZXQuLi4iCiBtc2dzdHIgIuODquOCu+ODg+ODiOKApiIKIAotIzogZ2l0LWd1aS5zaDoyNjA4CisjOiBnaXQtZ3VpLnNoOjI4MTcKIG1zZ2lkICJEb25lIgogbXNnc3RyICLlrozkuoYiCiAKLSM6IGdpdC1ndWkuc2g6MjYxMAorIzogZ2l0LWd1aS5zaDoyODE5CiBtc2dpZCAiQ29tbWl0QEB2ZXJiIgogbXNnc3RyICLjgrPjg5/jg4Pjg4giCiAKLSM6IGdpdC1ndWkuc2g6MjYxOSBnaXQtZ3VpLnNoOjMwNTAKKyM6IGdpdC1ndWkuc2g6MjgyOCBnaXQtZ3VpLnNoOjMzMDkKIG1zZ2lkICJOZXcgQ29tbWl0IgogbXNnc3RyICLmlrDopo/jgrPjg5/jg4Pjg4giCiAKLSM6IGdpdC1ndWkuc2g6MjYyNyBnaXQtZ3VpLnNoOjMwNTcKKyM6IGdpdC1ndWkuc2g6MjgzNiBnaXQtZ3VpLnNoOjMzMTYKIG1zZ2lkICJBbWVuZCBMYXN0IENvbW1pdCIKIG1zZ3N0ciAi5pyA5paw44Kz44Of44OD44OI44KS6KiC5q2jIgogCi0jOiBnaXQtZ3VpLnNoOjI2MzcgZ2l0LWd1aS5zaDozMDExIGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6OTkKKyM6IGdpdC1ndWkuc2g6Mjg0NiBnaXQtZ3VpLnNoOjMyNzAgbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxMDEKIG1zZ2lkICJSZXNjYW4iCiBtc2dzdHIgIuWGjeOCueOCreODo+ODsyIKIAotIzogZ2l0LWd1aS5zaDoyNjQzCisjOiBnaXQtZ3VpLnNoOjI4NTIKIG1zZ2lkICJTdGFnZSBUbyBDb21taXQiCiBtc2dzdHIgIuOCs+ODn+ODg+ODiOS6iOWumuOBmeOCiyIKIAotIzogZ2l0LWd1aS5zaDoyNjQ5CisjOiBnaXQtZ3VpLnNoOjI4NTgKIG1zZ2lkICJTdGFnZSBDaGFuZ2VkIEZpbGVzIFRvIENvbW1pdCIKIG1zZ3N0ciAi5aSJ5pu044GV44KM44Gf44OV44Kh44Kk44Or44KS44Kz44Of44OD44OI5LqI5a6aIgogCi0jOiBnaXQtZ3VpLnNoOjI2NTUKKyM6IGdpdC1ndWkuc2g6Mjg2NAogbXNnaWQgIlVuc3RhZ2UgRnJvbSBDb21taXQiCiBtc2dzdHIgIuOCs+ODn+ODg+ODiOOBi+OCiemZjeOCjeOBmSIKIAotIzogZ2l0LWd1aS5zaDoyNjYxIGxpYi9pbmRleC50Y2w6NDEyCisjOiBnaXQtZ3VpLnNoOjI4NzAgbGliL2luZGV4LnRjbDo0NDIKIG1zZ2lkICJSZXZlcnQgQ2hhbmdlcyIKIG1zZ3N0ciAi5aSJ5pu044KS5YWD44Gr5oi744GZIgogCi0jOiBnaXQtZ3VpLnNoOjI2NjkgZ2l0LWd1aS5zaDozMzEwIGdpdC1ndWkuc2g6MzM0MQorIzogZ2l0LWd1aS5zaDoyODc4IGdpdC1ndWkuc2g6MzU4MSBnaXQtZ3VpLnNoOjM2MTIKIG1zZ2lkICJTaG93IExlc3MgQ29udGV4dCIKIG1zZ3N0ciAi5paH6ISI44KS5bCR44Gq44GPIgogCi0jOiBnaXQtZ3VpLnNoOjI2NzMgZ2l0LWd1aS5zaDozMzE0IGdpdC1ndWkuc2g6MzM0NQorIzogZ2l0LWd1aS5zaDoyODgyIGdpdC1ndWkuc2g6MzU4NSBnaXQtZ3VpLnNoOjM2MTYKIG1zZ2lkICJTaG93IE1vcmUgQ29udGV4dCIKIG1zZ3N0ciAi5paH6ISI44KS5aSa44GPIgogCi0jOiBnaXQtZ3VpLnNoOjI2ODAgZ2l0LWd1aS5zaDozMDI0IGdpdC1ndWkuc2g6MzEzMworIzogZ2l0LWd1aS5zaDoyODg5IGdpdC1ndWkuc2g6MzI4MyBnaXQtZ3VpLnNoOjMzOTIKIG1zZ2lkICJTaWduIE9mZiIKIG1zZ3N0ciAi572y5ZCNIgogCi0jOiBnaXQtZ3VpLnNoOjI2OTYKKyM6IGdpdC1ndWkuc2g6MjkwNQogbXNnaWQgIkxvY2FsIE1lcmdlLi4uIgogbXNnc3RyICLjg63jg7zjgqvjg6vjg7vjg57jg7zjgrjigKYiCiAKLSM6IGdpdC1ndWkuc2g6MjcwMQorIzogZ2l0LWd1aS5zaDoyOTEwCiBtc2dpZCAiQWJvcnQgTWVyZ2UuLi4iCiBtc2dzdHIgIuODnuODvOOCuOS4reatouKApiIKIAotIzogZ2l0LWd1aS5zaDoyNzEzIGdpdC1ndWkuc2g6Mjc0MQorIzogZ2l0LWd1aS5zaDoyOTIyIGdpdC1ndWkuc2g6Mjk1MAogbXNnaWQgIkFkZC4uLiIKIG1zZ3N0ciAi6L+95YqgIgogCi0jOiBnaXQtZ3VpLnNoOjI3MTcKKyM6IGdpdC1ndWkuc2g6MjkyNgogbXNnaWQgIlB1c2guLi4iCiBtc2dzdHIgIuODl+ODg+OCt+ODpeKApiIKIAotIzogZ2l0LWd1aS5zaDoyNzIxCisjOiBnaXQtZ3VpLnNoOjI5MzAKIG1zZ2lkICJEZWxldGUgQnJhbmNoLi4uIgogbXNnc3RyICLjg5bjg6njg7Pjg4HliYrpmaQuLi4iCiAKLSM6IGdpdC1ndWkuc2g6MjczMSBnaXQtZ3VpLnNoOjMyOTIKKyM6IGdpdC1ndWkuc2g6Mjk0MCBnaXQtZ3VpLnNoOjM1NjMKIG1zZ2lkICJPcHRpb25zLi4uIgogbXNnc3RyICLjgqrjg5fjgrfjg6fjg7PigKYiCiAKLSM6IGdpdC1ndWkuc2g6Mjc0MgorIzogZ2l0LWd1aS5zaDoyOTUxCiBtc2dpZCAiUmVtb3ZlLi4uIgogbXNnc3RyICLliYrpmaQuLi4iCiAKLSM6IGdpdC1ndWkuc2g6Mjc1MSBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjUwCisjOiBnaXQtZ3VpLnNoOjI5NjAgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1NQogbXNnaWQgIkhlbHAiCiBtc2dzdHIgIuODmOODq+ODlyIKIAotIzogZ2l0LWd1aS5zaDoyNzU1IGdpdC1ndWkuc2g6Mjc1OSBsaWIvYWJvdXQudGNsOjE0Ci0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQ0IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTMKKyM6IGdpdC1ndWkuc2g6Mjk2NCBnaXQtZ3VpLnNoOjI5NjggbGliL2Fib3V0LnRjbDoxNAorIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo0OSBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjU4CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiQWJvdXQgJXMiCiBtc2dzdHIgIiVzIOOBq+OBpOOBhOOBpiIKIAotIzogZ2l0LWd1aS5zaDoyNzgzCisjOiBnaXQtZ3VpLnNoOjI5OTIKIG1zZ2lkICJPbmxpbmUgRG9jdW1lbnRhdGlvbiIKIG1zZ3N0ciAi44Kq44Oz44Op44Kk44Oz44O744OJ44Kt44Ol44Oh44Oz44OIIgogCi0jOiBnaXQtZ3VpLnNoOjI3ODYgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo0NyBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjU2CisjOiBnaXQtZ3VpLnNoOjI5OTUgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1MiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjYxCiBtc2dpZCAiU2hvdyBTU0ggS2V5IgogbXNnc3RyICJTU0gg44Kt44O844KS6KGo56S6IgogCi0jOiBnaXQtZ3VpLnNoOjI4OTMKKyM6IGdpdC1ndWkuc2g6MzAxNCBnaXQtZ3VpLnNoOjMxNDYKK21zZ2lkICJVc2FnZSIKK21zZ3N0ciAi5L2/44GE5pa5IgorCisjOiBnaXQtZ3VpLnNoOjMwOTUgbGliL2JsYW1lLnRjbDo1NzMKK21zZ2lkICJFcnJvciIKK21zZ3N0ciAi44Ko44Op44O8IgorCisjOiBnaXQtZ3VpLnNoOjMxMjYKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogY2Fubm90IHN0YXQgcGF0aCAlczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogIuiHtOWRveeahDog44OR44K5ICVzIOOBjCBzdGF0IOOBp+OBjeOBvuOBm+OCk+OAguOBneOBruOCiOOBhuOBquODleOCoeOCpOODq+OChOODh+OCo+ODrOOCr+ODiOODquOBr+OBguOCiuOBviIKICLjgZvjgpMiCiAKLSM6IGdpdC1ndWkuc2g6MjkyNgorIzogZ2l0LWd1aS5zaDozMTU5CiBtc2dpZCAiQ3VycmVudCBCcmFuY2g6IgogbXNnc3RyICLnj77lnKjjga7jg5bjg6njg7Pjg4EiCiAKLSM6IGdpdC1ndWkuc2g6Mjk0NworIzogZ2l0LWd1aS5zaDozMTg1CiBtc2dpZCAiU3RhZ2VkIENoYW5nZXMgKFdpbGwgQ29tbWl0KSIKIG1zZ3N0ciAi44K544OG44O844K444Oz44Kw44GV44KM44Gf77yI44Kz44Of44OD44OI5LqI5a6a5riI44Gu77yJ5aSJ5pu0IgogCi0jOiBnaXQtZ3VpLnNoOjI5NjcKKyM6IGdpdC1ndWkuc2g6MzIwNQogbXNnaWQgIlVuc3RhZ2VkIENoYW5nZXMiCiBtc2dzdHIgIuOCs+ODn+ODg+ODiOS6iOWumuOBq+WFpeOBo+OBpuOBhOOBquOBhOWkieabtCIKIAotIzogZ2l0LWd1aS5zaDozMDE3CisjOiBnaXQtZ3VpLnNoOjMyNzYKIG1zZ2lkICJTdGFnZSBDaGFuZ2VkIgogbXNnc3RyICLlpInmm7TjgpLjgrPjg5/jg4Pjg4jkuojlrprjgavlhaXjgozjgosiCiAKLSM6IGdpdC1ndWkuc2g6MzAzNiBsaWIvdHJhbnNwb3J0LnRjbDoxMDQgbGliL3RyYW5zcG9ydC50Y2w6MTkzCisjOiBnaXQtZ3VpLnNoOjMyOTUgbGliL3RyYW5zcG9ydC50Y2w6MTM3IGxpYi90cmFuc3BvcnQudGNsOjIyOQogbXNnaWQgIlB1c2giCiBtc2dzdHIgIuODl+ODg+OCt+ODpSIKIAotIzogZ2l0LWd1aS5zaDozMDcxCisjOiBnaXQtZ3VpLnNoOjMzMzAKIG1zZ2lkICJJbml0aWFsIENvbW1pdCBNZXNzYWdlOiIKIG1zZ3N0ciAi5pyA5Yid44Gu44Kz44Of44OD44OI44Oh44OD44K744O844K4OiIKIAotIzogZ2l0LWd1aS5zaDozMDcyCisjOiBnaXQtZ3VpLnNoOjMzMzEKIG1zZ2lkICJBbWVuZGVkIENvbW1pdCBNZXNzYWdlOiIKIG1zZ3N0ciAi6KiC5q2j44GX44Gf44Kz44Of44OD44OI44Oh44OD44K744O844K4OiIKIAotIzogZ2l0LWd1aS5zaDozMDczCisjOiBnaXQtZ3VpLnNoOjMzMzIKIG1zZ2lkICJBbWVuZGVkIEluaXRpYWwgQ29tbWl0IE1lc3NhZ2U6IgogbXNnc3RyICLoqILmraPjgZfjgZ/mnIDliJ3jga7jgrPjg5/jg4Pjg4jjg6Hjg4Pjgrvjg7zjgrg6IgogCi0jOiBnaXQtZ3VpLnNoOjMwNzQKKyM6IGdpdC1ndWkuc2g6MzMzMwogbXNnaWQgIkFtZW5kZWQgTWVyZ2UgQ29tbWl0IE1lc3NhZ2U6IgogbXNnc3RyICLoqILmraPjgZfjgZ/jg57jg7zjgrjjgrPjg5/jg4Pjg4jjg6Hjg4Pjgrvjg7zjgrg6IgogCi0jOiBnaXQtZ3VpLnNoOjMwNzUKKyM6IGdpdC1ndWkuc2g6MzMzNAogbXNnaWQgIk1lcmdlIENvbW1pdCBNZXNzYWdlOiIKIG1zZ3N0ciAi44Oe44O844K444Kz44Of44OD44OI44Oh44OD44K744O844K4OiIKIAotIzogZ2l0LWd1aS5zaDozMDc2CisjOiBnaXQtZ3VpLnNoOjMzMzUKIG1zZ2lkICJDb21taXQgTWVzc2FnZToiCiBtc2dzdHIgIuOCs+ODn+ODg+ODiOODoeODg+OCu+ODvOOCuDoiCiAKLSM6IGdpdC1ndWkuc2g6MzEyNSBnaXQtZ3VpLnNoOjMyNjcgbGliL2NvbnNvbGUudGNsOjczCisjOiBnaXQtZ3VpLnNoOjMzODQgZ2l0LWd1aS5zaDozNTM4IGxpYi9jb25zb2xlLnRjbDo3MwogbXNnaWQgIkNvcHkgQWxsIgogbXNnc3RyICLlhajjgabjgrPjg5Tjg7wiCiAKLSM6IGdpdC1ndWkuc2g6MzE0OSBsaWIvYmxhbWUudGNsOjEwNAorIzogZ2l0LWd1aS5zaDozNDA4IGxpYi9ibGFtZS50Y2w6MTA1CiBtc2dpZCAiRmlsZToiCiBtc2dzdHIgIuODleOCoeOCpOODqzoiCiAKLSM6IGdpdC1ndWkuc2g6MzI1NQorIzogZ2l0LWd1aS5zaDozNTI2CiBtc2dpZCAiUmVmcmVzaCIKIG1zZ3N0ciAi5YaN6Kqt44G/6L6844G/IgogCi0jOiBnaXQtZ3VpLnNoOjMyNzYKKyM6IGdpdC1ndWkuc2g6MzU0NwogbXNnaWQgIkRlY3JlYXNlIEZvbnQgU2l6ZSIKIG1zZ3N0ciAi44OV44Kp44Oz44OI44KS5bCP44GV44GPIgogCi0jOiBnaXQtZ3VpLnNoOjMyODAKKyM6IGdpdC1ndWkuc2g6MzU1MQogbXNnaWQgIkluY3JlYXNlIEZvbnQgU2l6ZSIKIG1zZ3N0ciAi44OV44Kp44Oz44OI44KS5aSn44GN44GPIgogCi0jOiBnaXQtZ3VpLnNoOjMyODggbGliL2JsYW1lLnRjbDoyODEKKyM6IGdpdC1ndWkuc2g6MzU1OSBsaWIvYmxhbWUudGNsOjI5NAogbXNnaWQgIkVuY29kaW5nIgogbXNnc3RyICLjgqjjg7PjgrPjg7zjg4fjgqPjg7PjgrAiCiAKLSM6IGdpdC1ndWkuc2g6MzI5OQorIzogZ2l0LWd1aS5zaDozNTcwCiBtc2dpZCAiQXBwbHkvUmV2ZXJzZSBIdW5rIgogbXNnc3RyICLjg5Hjg4Pjg4HjgpLpgannlKgv5Y+W44KK5raI44GZIgogCi0jOiBnaXQtZ3VpLnNoOjMzMDQKKyM6IGdpdC1ndWkuc2g6MzU3NQogbXNnaWQgIkFwcGx5L1JldmVyc2UgTGluZSIKIG1zZ3N0ciAi44OR44OD44OB6KGM44KS6YGp55SoL+WPluOCiua2iOOBmSIKIAotIzogZ2l0LWd1aS5zaDozMzIzCisjOiBnaXQtZ3VpLnNoOjM1OTQKIG1zZ2lkICJSdW4gTWVyZ2UgVG9vbCIKIG1zZ3N0ciAi44Oe44O844K444OE44O844Or44KS6LW35YuVIgogCi0jOiBnaXQtZ3VpLnNoOjMzMjgKKyM6IGdpdC1ndWkuc2g6MzU5OQogbXNnaWQgIlVzZSBSZW1vdGUgVmVyc2lvbiIKIG1zZ3N0ciAi44Oq44Oi44O844OI44Gu5pa544KS5o6h55SoIgogCi0jOiBnaXQtZ3VpLnNoOjMzMzIKKyM6IGdpdC1ndWkuc2g6MzYwMwogbXNnaWQgIlVzZSBMb2NhbCBWZXJzaW9uIgogbXNnc3RyICLjg63jg7zjgqvjg6vjga7mlrnjgpLmjqHnlKgiCiAKLSM6IGdpdC1ndWkuc2g6MzMzNgorIzogZ2l0LWd1aS5zaDozNjA3CiBtc2dpZCAiUmV2ZXJ0IFRvIEJhc2UiCiBtc2dzdHIgIuODmeODvOOCueeJiOOCkuaOoeeUqCIKIAotIzogZ2l0LWd1aS5zaDozMzU0CisjOiBnaXQtZ3VpLnNoOjM2MjUKIG1zZ2lkICJWaXN1YWxpemUgVGhlc2UgQ2hhbmdlcyBJbiBUaGUgU3VibW9kdWxlIgogbXNnc3RyICLjgrXjg5bjg6Ljgrjjg6Xjg7zjg6vlhoXjga7jgZPjgozjgonjga7lpInmm7TjgpLopovjgosiCiAKLSM6IGdpdC1ndWkuc2g6MzM1OAorIzogZ2l0LWd1aS5zaDozNjI5CiBtc2dpZCAiVmlzdWFsaXplIEN1cnJlbnQgQnJhbmNoIEhpc3RvcnkgSW4gVGhlIFN1Ym1vZHVsZSIKIG1zZ3N0ciAi44K144OW44Oi44K444Ol44O844Or5YaF44Gn54++5Zyo44Gu44OW44Op44Oz44OB44Gu5bGl5q2044KS6KaL44KLIgogCi0jOiBnaXQtZ3VpLnNoOjMzNjIKKyM6IGdpdC1ndWkuc2g6MzYzMwogbXNnaWQgIlZpc3VhbGl6ZSBBbGwgQnJhbmNoIEhpc3RvcnkgSW4gVGhlIFN1Ym1vZHVsZSIKIG1zZ3N0ciAi44K144OW44Oi44K444Ol44O844Or5YaF44Gn5YWo44Gm44Gu44OW44Op44Oz44OB44Gu5bGl5q2044KS6KaL44KLIgogCi0jOiBnaXQtZ3VpLnNoOjMzNjcKKyM6IGdpdC1ndWkuc2g6MzYzOAogbXNnaWQgIlN0YXJ0IGdpdCBndWkgSW4gVGhlIFN1Ym1vZHVsZSIKIG1zZ3N0ciAi44K144OW44Oi44K444Ol44O844Or5YaF44GnZ2l0IGd1aeOCkui1t+WLleOBmeOCiyIKIAotIzogZ2l0LWd1aS5zaDozMzg5CisjOiBnaXQtZ3VpLnNoOjM2NzMKIG1zZ2lkICJVbnN0YWdlIEh1bmsgRnJvbSBDb21taXQiCiBtc2dzdHIgIuODkeODg+ODgeOCkuOCs+ODn+ODg+ODiOS6iOWumuOBi+OCieWkluOBmSIKIAotIzogZ2l0LWd1aS5zaDozMzkxCisjOiBnaXQtZ3VpLnNoOjM2NzUKIG1zZ2lkICJVbnN0YWdlIExpbmVzIEZyb20gQ29tbWl0IgogbXNnc3RyICLjgrPjg5/jg4Pjg4jkuojlrprjgYvjgonooYzjgpLlpJbjgZkiCiAKLSM6IGdpdC1ndWkuc2g6MzM5MworIzogZ2l0LWd1aS5zaDozNjc3CiBtc2dpZCAiVW5zdGFnZSBMaW5lIEZyb20gQ29tbWl0IgogbXNnc3RyICLjgrPjg5/jg4Pjg4jkuojlrprjgYvjgonooYzjgpLlpJbjgZkiCiAKLSM6IGdpdC1ndWkuc2g6MzM5NgorIzogZ2l0LWd1aS5zaDozNjgwCiBtc2dpZCAiU3RhZ2UgSHVuayBGb3IgQ29tbWl0IgogbXNnc3RyICLjg5Hjg4Pjg4HjgpLjgrPjg5/jg4Pjg4jkuojlrprjgavliqDjgYjjgosiCiAKLSM6IGdpdC1ndWkuc2g6MzM5OAorIzogZ2l0LWd1aS5zaDozNjgyCiBtc2dpZCAiU3RhZ2UgTGluZXMgRm9yIENvbW1pdCIKIG1zZ3N0ciAi44OR44OD44OB6KGM44KS44Kz44Of44OD44OI5LqI5a6a44Gr5Yqg44GI44KLIgogCi0jOiBnaXQtZ3VpLnNoOjM0MDAKKyM6IGdpdC1ndWkuc2g6MzY4NAogbXNnaWQgIlN0YWdlIExpbmUgRm9yIENvbW1pdCIKIG1zZ3N0ciAi44OR44OD44OB6KGM44KS44Kz44Of44OD44OI5LqI5a6a44Gr5Yqg44GI44KLIgogCi0jOiBnaXQtZ3VpLnNoOjM0MjQKKyM6IGdpdC1ndWkuc2g6MzcwOQogbXNnaWQgIkluaXRpYWxpemluZy4uLiIKIG1zZ3N0ciAi5Yid5pyf5YyW44GX44Gm44GE44G+44GZ4oCmIgogCi0jOiBnaXQtZ3VpLnNoOjM1NDEKKyM6IGdpdC1ndWkuc2g6Mzg1MgogIywgdGNsLWZvcm1hdAogbXNnaWQgIiIKICJQb3NzaWJsZSBlbnZpcm9ubWVudCBpc3N1ZXMgZXhpc3QuXG4iCkBAIC01NDMsNyArNTczLDcgQEAKICLku6XkuIvjga7nkrDlooPlpInmlbDjga8gJXMg44GM6LW35YuV44GZ44KLIEdpdCDjgrXjg5bjg5fjg63jgrvjgrnjgavjgojjgaPjgabnhKHoppbjgZXjgozjgovjgafjgZfjgofjgYY6XG4iCiAiXG4iCiAKLSM6IGdpdC1ndWkuc2g6MzU3MAorIzogZ2l0LWd1aS5zaDozODgxCiBtc2dpZCAiIgogIlxuIgogIlRoaXMgaXMgZHVlIHRvIGEga25vd24gaXNzdWUgd2l0aCB0aGVcbiIKQEAgLTU1Myw3ICs1ODMsNyBAQAogIuOBk+OCjOOBryBDeWd3aW4g44Gn6YWN5biD44GV44KM44Gm44GE44KLIFRjbCDjg5DjgqTjg4rjg6rjgatcbiIKICLplqLjgZfjgabjga7ml6Lnn6Xjga7llY/poYzjgavjgojjgorjgb7jgZkiCiAKLSM6IGdpdC1ndWkuc2g6MzU3NQorIzogZ2l0LWd1aS5zaDozODg2CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNTY4LDI0MCArNTk4LDI1MCBAQAogIuWAi+S6uueahOOBqiB+Ly5naXRjb25maWcg44OV44Kh44Kk44Or5YaF44GnIHVzZXIubmFtZSDjgaggdXNlci5lbWFpbCDjga7lgKTjgpLoqK3lrppcbiIKICLjgZnjgovjga7jgYzjgIElcyDjga7oia/jgYTku6PnlKjjgajjgarjgorjgb7jgZlcbiIKIAotIzogbGliL2Fib3V0LnRjbDoyNgotbXNnaWQgImdpdC1ndWkgLSBhIGdyYXBoaWNhbCB1c2VyIGludGVyZmFjZSBmb3IgR2l0LiIKLW1zZ3N0ciAiR2l0IOOBruOCsOODqeODleOCo+OCq+ODq1VJIGdpdC1ndWkiCisjOiBsaWIvbWVyZ2UudGNsOjEzCittc2dpZCAiIgorIkNhbm5vdCBtZXJnZSB3aGlsZSBhbWVuZGluZy5cbiIKKyJcbiIKKyJZb3UgbXVzdCBmaW5pc2ggYW1lbmRpbmcgdGhpcyBjb21taXQgYmVmb3JlIHN0YXJ0aW5nIGFueSB0eXBlIG9mIG1lcmdlLlxuIgorbXNnc3RyICIiCisi6KiC5q2j5Lit44Gr44Gv44Oe44O844K444Gn44GN44G+44Gb44KT44CCXG4iCisiXG4iCisi6KiC5q2j5Yem55CG44KS5a6M5LqG44GZ44KL44G+44Gn44Gv5paw44Gf44Gr44Oe44O844K444KS6ZaL5aeL44Gn44GN44G+44Gb44KT44CCXG4iCiAKLSM6IGxpYi9ibGFtZS50Y2w6NzIKLW1zZ2lkICJGaWxlIFZpZXdlciIKLW1zZ3N0ciAi44OV44Kh44Kk44Or44OU44Ol44O844OvIgorIzogbGliL21lcmdlLnRjbDoyNworbXNnaWQgIiIKKyJMYXN0IHNjYW5uZWQgc3RhdGUgZG9lcyBub3QgbWF0Y2ggcmVwb3NpdG9yeSBzdGF0ZS5cbiIKKyJcbiIKKyJBbm90aGVyIEdpdCBwcm9ncmFtIGhhcyBtb2RpZmllZCB0aGlzIHJlcG9zaXRvcnkgc2luY2UgdGhlIGxhc3Qgc2Nhbi4gIEEgIgorInJlc2NhbiBtdXN0IGJlIHBlcmZvcm1lZCBiZWZvcmUgYSBtZXJnZSBjYW4gYmUgcGVyZm9ybWVkLlxuIgorIlxuIgorIlRoZSByZXNjYW4gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHN0YXJ0ZWQgbm93LlxuIgorbXNnc3RyICIiCisi5pyA5b6M44Gr44K544Kt44Oj44Oz44GX44Gf54q25oWL44Gv44Oq44Od44K444OI44Oq44Gu54q25oWL44Go5ZCI6Ie044GX44G+44Gb44KT44CCXG4iCisiXG4iCisi5pyA5b6M44Gr44K544Kt44Oj44Oz44GX44Gm5Lul5b6M44CB5Yil44GuIEdpdCDjg5fjg63jgrDjg6njg6DjgYzjg6rjg53jgrjjg4jjg6rjgpLlpInmm7TjgZfjgabjgYTjgb7jgZnjgILjg57jg7wiCisi44K444KS6ZaL5aeL44GZ44KL5YmN44Gr44CB5YaN44K544Kt44Oj44Oz44GM5b+F6KaB44Gn44GZ44CCXG4iCisiXG4iCisi6Ieq5YuV55qE44Gr5YaN44K544Kt44Oj44Oz44KS6ZaL5aeL44GX44G+44GZ44CCXG4iCiAKLSM6IGxpYi9ibGFtZS50Y2w6NzgKLW1zZ2lkICJDb21taXQ6IgotbXNnc3RyICLjgrPjg5/jg4Pjg4g6IgotCi0jOiBsaWIvYmxhbWUudGNsOjI3MQotbXNnaWQgIkNvcHkgQ29tbWl0IgotbXNnc3RyICLjgrPjg5/jg4Pjg4jjgpLjgrPjg5Tjg7wiCi0KLSM6IGxpYi9ibGFtZS50Y2w6Mjc1Ci1tc2dpZCAiRmluZCBUZXh0Li4uIgotbXNnc3RyICLjg4bjgq3jgrnjg4jjgpLmpJzntKIiCi0KLSM6IGxpYi9ibGFtZS50Y2w6Mjg0Ci1tc2dpZCAiRG8gRnVsbCBDb3B5IERldGVjdGlvbiIKLW1zZ3N0ciAi44Kz44OU44O85qSc55+lIgotCi0jOiBsaWIvYmxhbWUudGNsOjI4OAotbXNnaWQgIlNob3cgSGlzdG9yeSBDb250ZXh0IgotbXNnc3RyICLmlofohIjjgpLopovjgZvjgosiCi0KLSM6IGxpYi9ibGFtZS50Y2w6MjkxCi1tc2dpZCAiQmxhbWUgUGFyZW50IENvbW1pdCIKLW1zZ3N0ciAi6Kaq44Kz44Of44OD44OI44KS6Ki76YeIIgotCi0jOiBsaWIvYmxhbWUudGNsOjQ1MAorIzogbGliL21lcmdlLnRjbDo0NQogIywgdGNsLWZvcm1hdAotbXNnaWQgIlJlYWRpbmcgJXMuLi4iCi1tc2dzdHIgIiVzIOOCkuiqreOCk+OBp+OBhOOBvuOBmeKApiIKK21zZ2lkICIiCisiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY29uZmxpY3RlZCBtZXJnZS5cbiIKKyJcbiIKKyJGaWxlICVzIGhhcyBtZXJnZSBjb25mbGljdHMuXG4iCisiXG4iCisiWW91IG11c3QgcmVzb2x2ZSB0aGVtLCBzdGFnZSB0aGUgZmlsZSwgYW5kIGNvbW1pdCB0byBjb21wbGV0ZSB0aGUgY3VycmVudCAiCisibWVyZ2UuICBPbmx5IHRoZW4gY2FuIHlvdSBiZWdpbiBhbm90aGVyIG1lcmdlLlxuIgorbXNnc3RyICIiCisi6KGd56qB44Gu44GC44Gj44Gf44Oe44O844K444Gu6YCU5Lit44Gn44GZ44CCXG4iCisiXG4iCisi44OV44Kh44Kk44OrICVzIOOBq+OBr+ODnuODvOOCuOS4reOBruihneeqgeOBjOaui+OBo+OBpuOBhOOBvuOBmeOAglxuIgorIlxuIgorIuOBk+OBruODleOCoeOCpOODq+OBruihneeqgeOCkuino+axuuOBl+OAgeOCs+ODn+ODg+ODiOS6iOWumuOBq+WKoOOBiOOBpuOAgeOCs+ODn+ODg+ODiOOBmeOCi+OBk+OBqOOBp+ODnuODvOOCuOOCkiIKKyLlrozkuobjgZfjgb7jgZnjgILjgZ3jgYbjgoTjgaPjgablp4vjgoHjgabjgIHmlrDjgZ/jgarjg57jg7zjgrjjgpLplovlp4vjgafjgY3jgovjgojjgYbjgavjgarjgorjgb7jgZnjgIJcbiIKIAotIzogbGliL2JsYW1lLnRjbDo1NTcKLW1zZ2lkICJMb2FkaW5nIGNvcHkvbW92ZSB0cmFja2luZyBhbm5vdGF0aW9ucy4uLiIKLW1zZ3N0ciAi44Kz44OU44O844O756e75YuV6L+96Leh44OH44O844K/44KS6Kqt44KT44Gn44GE44G+44GZ4oCmIgorIzogbGliL21lcmdlLnRjbDo1NQorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGFuZ2UuXG4iCisiXG4iCisiRmlsZSAlcyBpcyBtb2RpZmllZC5cbiIKKyJcbiIKKyJZb3Ugc2hvdWxkIGNvbXBsZXRlIHRoZSBjdXJyZW50IGNvbW1pdCBiZWZvcmUgc3RhcnRpbmcgYSBtZXJnZS4gIERvaW5nIHNvICIKKyJ3aWxsIGhlbHAgeW91IGFib3J0IGEgZmFpbGVkIG1lcmdlLCBzaG91bGQgdGhlIG5lZWQgYXJpc2UuXG4iCittc2dzdHIgIiIKKyLlpInmm7Tjga7pgJTkuK3jgafjgZnjgIJcbiIKKyJcbiIKKyLjg5XjgqHjgqTjg6sgJXMg44Gv5aSJ5pu05Lit44Gn44GZ44CCXG4iCisiXG4iCisi54++5Zyo44Gu44Kz44Of44OD44OI44KS5a6M5LqG44GX44Gm44GL44KJ44Oe44O844K444KS6ZaL5aeL44GX44Gm5LiL44GV44GE44CC44Gd44GG44GZ44KL5pa544GM44Oe44O844K444Gr5aSx5pWXIgorIuOBl+OBn+OBqOOBjeOBruWbnuW+qeOBjOalveOBp+OBmeOAglxuIgogCi0jOiBsaWIvYmxhbWUudGNsOjU3NwotbXNnaWQgImxpbmVzIGFubm90YXRlZCIKLW1zZ3N0ciAi6KGM44KS5rOo6YeI44GX44G+44GX44GfIgorIzogbGliL21lcmdlLnRjbDoxMDgKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIlcyBvZiAlcyIKK21zZ3N0ciAiJXMg44GuICVzIOODluODqeODs+ODgSIKIAotIzogbGliL2JsYW1lLnRjbDo3NjkKLW1zZ2lkICJMb2FkaW5nIG9yaWdpbmFsIGxvY2F0aW9uIGFubm90YXRpb25zLi4uIgotbXNnc3RyICLlhYPkvY3nva7ooYzjga7ms6jph4jjg4fjg7zjgr/jgpLoqq3jgpPjgafjgYTjgb7jgZnigKYiCisjOiBsaWIvbWVyZ2UudGNsOjEyMgorIywgdGNsLWZvcm1hdAorbXNnaWQgIk1lcmdpbmcgJXMgYW5kICVzLi4uIgorbXNnc3RyICIlcyDjgaggJXMg44KS44Oe44O844K45Lit44O744O744O7IgogCi0jOiBsaWIvYmxhbWUudGNsOjc3MgotbXNnaWQgIkFubm90YXRpb24gY29tcGxldGUuIgotbXNnc3RyICLms6jph4jlrozkuobjgZfjgb7jgZfjgZ8iCisjOiBsaWIvbWVyZ2UudGNsOjEzMworbXNnaWQgIk1lcmdlIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuIgorbXNnc3RyICLjg57jg7zjgrjjgYzlrozkuobjgZfjgb7jgZfjgZ8iCiAKLSM6IGxpYi9ibGFtZS50Y2w6ODAyCi1tc2dpZCAiQnVzeSIKLW1zZ3N0ciAi5a6f6KGM5LitIgorIzogbGliL21lcmdlLnRjbDoxMzUKK21zZ2lkICJNZXJnZSBmYWlsZWQuICBDb25mbGljdCByZXNvbHV0aW9uIGlzIHJlcXVpcmVkLiIKK21zZ3N0ciAi44Oe44O844K444GM5aSx5pWX44GX44G+44GX44Gf44CC6KGd56qB44Gu6Kej5rG644GM5b+F6KaB44Gn44GZ44CCIgogCi0jOiBsaWIvYmxhbWUudGNsOjgwMwotbXNnaWQgIkFubm90YXRpb24gcHJvY2VzcyBpcyBhbHJlYWR5IHJ1bm5pbmcuIgotbXNnc3RyICLjgZnjgafjgasgYmxhbWUg44OX44Ot44K744K544KS5a6f6KGM5Lit44Gn44GZ44CCIgorIzogbGliL21lcmdlLnRjbDoxNjAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJNZXJnZSBJbnRvICVzIgorbXNnc3RyICIlcyDjgavjg57jg7zjgrgiCiAKLSM6IGxpYi9ibGFtZS50Y2w6ODQyCi1tc2dpZCAiUnVubmluZyB0aG9yb3VnaCBjb3B5IGRldGVjdGlvbi4uLiIKLW1zZ3N0ciAi44Kz44OU44O85qSc55+l44KS5a6f6KGM5Lit4oCmIgorIzogbGliL21lcmdlLnRjbDoxNjYgbGliL2NoZWNrb3V0X29wLnRjbDo1NjcgbGliL3Rvb2xzX2RsZy50Y2w6MzM2Cittc2dpZCAiVmlzdWFsaXplIgorbXNnc3RyICLlj6/oppbljJYiCiAKLSM6IGxpYi9ibGFtZS50Y2w6OTEwCi1tc2dpZCAiTG9hZGluZyBhbm5vdGF0aW9uLi4uIgotbXNnc3RyICLms6jph4jjgpLoqq3jgb/ovrzjgpPjgafjgYTjgb7jgZnigKYiCi0KLSM6IGxpYi9ibGFtZS50Y2w6OTYzCi1tc2dpZCAiQXV0aG9yOiIKLW1zZ3N0ciAi5L2c6ICFOiIKLQotIzogbGliL2JsYW1lLnRjbDo5NjcKLW1zZ2lkICJDb21taXR0ZXI6IgotbXNnc3RyICLjgrPjg5/jg4Pjg4jogIU6IgotCi0jOiBsaWIvYmxhbWUudGNsOjk3MgotbXNnaWQgIk9yaWdpbmFsIEZpbGU6IgotbXNnc3RyICLlhYPjg5XjgqHjgqTjg6siCi0KLSM6IGxpYi9ibGFtZS50Y2w6MTAyMAotbXNnaWQgIkNhbm5vdCBmaW5kIEhFQUQgY29tbWl0OiIKLW1zZ3N0ciAiSEVBRCDjgrPjg5/jg4Pjg4jjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCi0KLSM6IGxpYi9ibGFtZS50Y2w6MTA3NQotbXNnaWQgIkNhbm5vdCBmaW5kIHBhcmVudCBjb21taXQ6IgotbXNnc3RyICLopqrjgrPjg5/jg4Pjg4jjgYzopovjgaTjgYvjgorjgb7jgZvjgpM6IgotCi0jOiBsaWIvYmxhbWUudGNsOjEwOTAKLW1zZ2lkICJVbmFibGUgdG8gZGlzcGxheSBwYXJlbnQiCi1tc2dzdHIgIuimquOCkuihqOekuuOBp+OBjeOBvuOBm+OCkyIKLQotIzogbGliL2JsYW1lLnRjbDoxMDkxIGxpYi9kaWZmLnRjbDozMjAKLW1zZ2lkICJFcnJvciBsb2FkaW5nIGRpZmY6IgotbXNnc3RyICJkaWZmIOOCkuiqreOCgOmam+OBruOCqOODqeODvOOBp+OBmToiCi0KLSM6IGxpYi9ibGFtZS50Y2w6MTIzMQotbXNnaWQgIk9yaWdpbmFsbHkgQnk6IgotbXNnc3RyICLljp/kvZzogIU6IgotCi0jOiBsaWIvYmxhbWUudGNsOjEyMzcKLW1zZ2lkICJJbiBGaWxlOiIKLW1zZ3N0ciAi44OV44Kh44Kk44OrOiIKLQotIzogbGliL2JsYW1lLnRjbDoxMjQyCi1tc2dpZCAiQ29waWVkIE9yIE1vdmVkIEhlcmUgQnk6IgotbXNnc3RyICLopIflhpnjg7vnp7vli5XogIU6IgotCi0jOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDoxNCBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDoxOQotbXNnaWQgIkNoZWNrb3V0IEJyYW5jaCIKLW1zZ3N0ciAi44OW44Op44Oz44OB44KS44OB44Kn44OD44Kv44Ki44Km44OIIgotCi0jOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDoyMwotbXNnaWQgIkNoZWNrb3V0IgotbXNnc3RyICLjg4Hjgqfjg4Pjgq/jgqLjgqbjg4giCi0KLSM6IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjI3IGxpYi9icmFuY2hfY3JlYXRlLnRjbDozNQotIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjMyIGxpYi9icmFuY2hfcmVuYW1lLnRjbDozMCBsaWIvYnJvd3Nlci50Y2w6MjgyCi0jOiBsaWIvY2hlY2tvdXRfb3AudGNsOjU3OSBsaWIvY2hvb3NlX2ZvbnQudGNsOjQzIGxpYi9tZXJnZS50Y2w6MTcyCi0jOiBsaWIvb3B0aW9uLnRjbDoxMjUgbGliL3JlbW90ZV9hZGQudGNsOjMyIGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6NDIKLSM6IGxpYi90b29sc19kbGcudGNsOjQwIGxpYi90b29sc19kbGcudGNsOjIwNCBsaWIvdG9vbHNfZGxnLnRjbDozNTIKLSM6IGxpYi90cmFuc3BvcnQudGNsOjEwOAorIzogbGliL21lcmdlLnRjbDoxNzQgbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDo0MyBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MzQKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6NTc5IGxpYi9icmFuY2hfcmVuYW1lLnRjbDozMiBsaWIvdG9vbHNfZGxnLnRjbDo0MQorIzogbGliL3Rvb2xzX2RsZy50Y2w6MjAyIGxpYi90b29sc19kbGcudGNsOjM0NSBsaWIvb3B0aW9uLnRjbDoxMjcKKyM6IGxpYi90cmFuc3BvcnQudGNsOjE0MSBsaWIvY2hvb3NlX2ZvbnQudGNsOjQ1IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjMwCisjOiBsaWIvYnJvd3Nlci50Y2w6MjkyIGxpYi9yZW1vdGVfYWRkLnRjbDozNCBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MzcKIG1zZ2lkICJDYW5jZWwiCiBtc2dzdHIgIuS4reatoiIKIAotIzogbGliL2JyYW5jaF9jaGVja291dC50Y2w6MzIgbGliL2Jyb3dzZXIudGNsOjI4NyBsaWIvdG9vbHNfZGxnLnRjbDozMjgKLW1zZ2lkICJSZXZpc2lvbiIKLW1zZ3N0ciAi44Oq44OT44K444On44OzIgorIzogbGliL21lcmdlLnRjbDoxNzkKK21zZ2lkICJSZXZpc2lvbiBUbyBNZXJnZSIKK21zZ3N0ciAi44Oe44O844K444GZ44KL44Oq44OT44K444On44OzIgogCi0jOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDozNiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6NjkgbGliL29wdGlvbi50Y2w6MjgwCi1tc2dpZCAiT3B0aW9ucyIKLW1zZ3N0ciAi44Kq44OX44K344On44OzIgorIzogbGliL21lcmdlLnRjbDoyMTQKK21zZ2lkICIiCisiQ2Fubm90IGFib3J0IHdoaWxlIGFtZW5kaW5nLlxuIgorIlxuIgorIllvdSBtdXN0IGZpbmlzaCBhbWVuZGluZyB0aGlzIGNvbW1pdC5cbiIKK21zZ3N0ciAiIgorIuioguato+S4reOBq+OBr+S4reatouOBp+OBjeOBvuOBm+OCk+OAglxuIgorIlxuIgorIuOBvuOBmuS7iuOBruOCs+ODn+ODg+ODiOioguato+OCkuWujOS6huOBleOBm+OBpuS4i+OBleOBhOOAglxuIgogCi0jOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDozOSBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6OTIKLW1zZ2lkICJGZXRjaCBUcmFja2luZyBCcmFuY2giCi1tc2dzdHIgIuODiOODqeODg+OCreODs+OCsOODu+ODluODqeODs+ODgeOCkuODleOCp+ODg+ODgSIKKyM6IGxpYi9tZXJnZS50Y2w6MjI0Cittc2dpZCAiIgorIkFib3J0IG1lcmdlP1xuIgorIlxuIgorIkFib3J0aW5nIHRoZSBjdXJyZW50IG1lcmdlIHdpbGwgY2F1c2UgKkFMTCogdW5jb21taXR0ZWQgY2hhbmdlcyB0byBiZSBsb3N0LlxuIgorIlxuIgorIkNvbnRpbnVlIHdpdGggYWJvcnRpbmcgdGhlIGN1cnJlbnQgbWVyZ2U/IgorbXNnc3RyICIiCisi44Oe44O844K444KS5Lit5pat44GX44G+44GZ44GL77yfXG4iCisiXG4iCisi54++5Zyo44Gu44Oe44O844K444KS5Lit5pat44GZ44KL44Go44CB44Kz44Of44OD44OI44GX44Gm44GE44Gq44GE5YWo44Gm44Gu5aSJ5pu044GM5aSx44KP44KM44G+44GZ44CCXG4iCisiXG4iCisi44Oe44O844K444KS5Lit5pat44GX44Gm44KI44KN44GX44GE44Gn44GZ44GL77yfIgogCi0jOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDo0NAotbXNnaWQgIkRldGFjaCBGcm9tIExvY2FsIEJyYW5jaCIKLW1zZ3N0ciAi44Ot44O844Kr44Or44O744OW44Op44Oz44OB44GL44KJ5YmK6ZmkIgorIzogbGliL21lcmdlLnRjbDoyMzAKK21zZ2lkICIiCisiUmVzZXQgY2hhbmdlcz9cbiIKKyJcbiIKKyJSZXNldHRpbmcgdGhlIGNoYW5nZXMgd2lsbCBjYXVzZSAqQUxMKiB1bmNvbW1pdHRlZCBjaGFuZ2VzIHRvIGJlIGxvc3QuXG4iCisiXG4iCisiQ29udGludWUgd2l0aCByZXNldHRpbmcgdGhlIGN1cnJlbnQgY2hhbmdlcz8iCittc2dzdHIgIiIKKyLlpInmm7TngrnjgpLjg6rjgrvjg4Pjg4jjgZfjgb7jgZnjgYvvvJ9cbiIKKyJcbiIKKyLlpInmm7TngrnjgpLjg6rjgrvjg4Pjg4jjgZnjgovjgajjgIHjgrPjg5/jg4Pjg4jjgZfjgabjgYTjgarjgYTlhajjgabjga7lpInmm7TjgYzlpLHjgo/jgozjgb7jgZnjgIJcbiIKKyJcbiIKKyLjg6rjgrvjg4Pjg4jjgZfjgabjgojjgo3jgZfjgYTjgafjgZnjgYvvvJ8iCiAKLSM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDoyMgotbXNnaWQgIkNyZWF0ZSBCcmFuY2giCi1tc2dzdHIgIuODluODqeODs+ODgeOCkuS9nOaIkCIKKyM6IGxpYi9tZXJnZS50Y2w6MjQxCittc2dpZCAiQWJvcnRpbmciCittc2dzdHIgIuS4reaWreOBl+OBpuOBhOOBvuOBmSIKIAotIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjI3Ci1tc2dpZCAiQ3JlYXRlIE5ldyBCcmFuY2giCi1tc2dzdHIgIuODluODqeODs+ODgeOCkuaWsOimj+S9nOaIkCIKKyM6IGxpYi9tZXJnZS50Y2w6MjQxCittc2dpZCAiZmlsZXMgcmVzZXQiCittc2dzdHIgIuODquOCu+ODg+ODiOOBl+OBn+ODleOCoeOCpOODqyIKIAotIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjMxIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MzgxCi1tc2dpZCAiQ3JlYXRlIgotbXNnc3RyICLkvZzmiJAiCisjOiBsaWIvbWVyZ2UudGNsOjI2OQorbXNnaWQgIkFib3J0IGZhaWxlZC4iCittc2dzdHIgIuS4reaWreOBq+WkseaVl+OBl+OBvuOBl+OBn+OAgiIKIAotIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjQwCi1tc2dpZCAiQnJhbmNoIE5hbWUiCi1tc2dzdHIgIuODluODqeODs+ODgeWQjSIKKyM6IGxpYi9tZXJnZS50Y2w6MjcxCittc2dpZCAiQWJvcnQgY29tcGxldGVkLiAgUmVhZHkuIgorbXNnc3RyICLkuK3mlq3lrozkuobjgIIiCiAKLSM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDo0MyBsaWIvcmVtb3RlX2FkZC50Y2w6MzkgbGliL3Rvb2xzX2RsZy50Y2w6NTAKLW1zZ2lkICJOYW1lOiIKLW1zZ3N0ciAi5ZCN5YmNOiIKKyM6IGxpYi9lcnJvci50Y2w6MjAgbGliL2Vycm9yLnRjbDoxMTYKK21zZ2lkICJlcnJvciIKK21zZ3N0ciAi44Ko44Op44O8IgogCi0jOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6NTgKLW1zZ2lkICJNYXRjaCBUcmFja2luZyBCcmFuY2ggTmFtZSIKLW1zZ3N0ciAi44OI44Op44OD44Kt44Oz44Kw44O744OW44Op44Oz44OB5ZCN44KS5ZCI44KP44Gb44KLIgorIzogbGliL2Vycm9yLnRjbDozNgorbXNnaWQgIndhcm5pbmciCittc2dzdHIgIuitpuWRiiIKIAotIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjY2Ci1tc2dpZCAiU3RhcnRpbmcgUmV2aXNpb24iCi1tc2dzdHIgIuWIneacn+ODquODk+OCuOODp+ODsyIKKyM6IGxpYi9lcnJvci50Y2w6OTYKK21zZ2lkICJZb3UgbXVzdCBjb3JyZWN0IHRoZSBhYm92ZSBlcnJvcnMgYmVmb3JlIGNvbW1pdHRpbmcuIgorbXNnc3RyICLjgrPjg5/jg4Pjg4jjgZnjgovliY3jgavjgIHku6XkuIrjga7jgqjjg6njg7zjgpLkv67mraPjgZfjgabkuIvjgZXjgYQiCiAKLSM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDo3MgotbXNnaWQgIlVwZGF0ZSBFeGlzdGluZyBCcmFuY2g6IgotbXNnc3RyICLml6LlrZjjga7jg5bjg6njg7Pjg4HjgpLmm7TmlrA6IgotCi0jOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6NzUKLW1zZ2lkICJObyIKLW1zZ3N0ciAi44GE44GE44GIIgotCi0jOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6ODAKLW1zZ2lkICJGYXN0IEZvcndhcmQgT25seSIKLW1zZ3N0ciAi5pep6YCB44KK44Gu44G/IgotCi0jOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6ODUgbGliL2NoZWNrb3V0X29wLnRjbDo1NzEKLW1zZ2lkICJSZXNldCIKLW1zZ3N0ciAi44Oq44K744OD44OIIgotCi0jOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6OTcKLW1zZ2lkICJDaGVja291dCBBZnRlciBDcmVhdGlvbiIKLW1zZ3N0ciAi5L2c5oiQ44GX44Gm44GZ44GQ44OB44Kn44OD44Kv44Ki44Km44OIIgotCi0jOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MTMxCi1tc2dpZCAiUGxlYXNlIHNlbGVjdCBhIHRyYWNraW5nIGJyYW5jaC4iCi1tc2dzdHIgIuODiOODqeODg+OCreODs+OCsOODu+ODluODqeODs+ODgeOCkumBuOaKnuOBl+OBpuS4i+OBleOBhOOAgiIKLQotIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjE0MAorIzogbGliL2RhdGUudGNsOjI1CiAjLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiVHJhY2tpbmcgYnJhbmNoICVzIGlzIG5vdCBhIGJyYW5jaCBpbiB0aGUgcmVtb3RlIHJlcG9zaXRvcnkuIgotbXNnc3RyICLjg4jjg6njg4Pjgq3jg7PjgrDjg7vjg5bjg6njg7Pjg4EgJXMg44Gv6YGg6ZqU44Oq44Od44K444OI44Oq44Gu44OW44Op44Oz44OB44Gn44Gv44GC44KK44G+44Gb44KT44CCIgorbXNnaWQgIkludmFsaWQgZGF0ZSBmcm9tIEdpdDogJXMiCittc2dzdHIgIkdpdCDjgYvjgonlh7rjgZ/nhKHlirnjgarml6Xku5g6ICVzIgogCi0jOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MTUzIGxpYi9icmFuY2hfcmVuYW1lLnRjbDo4NgotbXNnaWQgIlBsZWFzZSBzdXBwbHkgYSBicmFuY2ggbmFtZS4iCi1tc2dzdHIgIuODluODqeODs+ODgeWQjeOCkuaMh+WumuOBl+OBpuS4i+OBleOBhOOAgiIKKyM6IGxpYi9lbmNvZGluZy50Y2w6NDQzCittc2dpZCAiRGVmYXVsdCIKK21zZ3N0ciAi44OH44OV44Kp44O844Or44OIIgogCi0jOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MTY0IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxMDYKKyM6IGxpYi9lbmNvZGluZy50Y2w6NDQ4CiAjLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBub3QgYW4gYWNjZXB0YWJsZSBicmFuY2ggbmFtZS4iCi1tc2dzdHIgIiclcycg44Gv44OW44Op44Oz44OB5ZCN44Gr5L2/44GI44G+44Gb44KT44CCIgorbXNnaWQgIlN5c3RlbSAoJXMpIgorbXNnc3RyICLjgrfjgrnjg4bjg6AgKCVzKSIKIAotIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjE1Ci1tc2dpZCAiRGVsZXRlIEJyYW5jaCIKLW1zZ3N0ciAi44OW44Op44Oz44OB5YmK6ZmkIgorIzogbGliL2VuY29kaW5nLnRjbDo0NTkgbGliL2VuY29kaW5nLnRjbDo0NjUKK21zZ2lkICJPdGhlciIKK21zZ3N0ciAi44Gd44Gu5LuWIgogCi0jOiBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MjAKLW1zZ2lkICJEZWxldGUgTG9jYWwgQnJhbmNoIgotbXNnc3RyICLjg63jg7zjgqvjg6vjg7vjg5bjg6njg7Pjg4HjgpLliYrpmaQiCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjI5IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MzQKK21zZ2lkICJEZWxldGUgQnJhbmNoIFJlbW90ZWx5IgorbXNnc3RyICLjg6rjg6Ljg7zjg4jjg5bjg6njg7Pjg4HliYrpmaQiCiAKLSM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDozNwotbXNnaWQgIkxvY2FsIEJyYW5jaGVzIgotbXNnc3RyICLjg63jg7zjgqvjg6vjg7vjg5bjg6njg7Pjg4EiCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjQ4Cittc2dpZCAiRnJvbSBSZXBvc2l0b3J5IgorbXNnc3RyICLlhYPjga7jg6rjg53jgrjjg4jjg6oiCiAKLSM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDo1MgotbXNnaWQgIkRlbGV0ZSBPbmx5IElmIE1lcmdlZCBJbnRvIgotbXNnc3RyICLjg57jg7zjgrjmuIjjgb/jga7mmYLjga7jgb/liYrpmaQiCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjUxIGxpYi90cmFuc3BvcnQudGNsOjE2NQorbXNnaWQgIlJlbW90ZToiCittc2dzdHIgIuODquODouODvOODiDoiCiAKLSM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDo1NCBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjExOQorIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDo3MiBsaWIvdHJhbnNwb3J0LnRjbDoxODcKK21zZ2lkICJBcmJpdHJhcnkgTG9jYXRpb246IgorbXNnc3RyICLku7vmhI/jga7kvY3nva46IgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjg4Cittc2dpZCAiQnJhbmNoZXMiCittc2dzdHIgIuODluODqeODs+ODgSIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxMTAKK21zZ2lkICJEZWxldGUgT25seSBJZiIKK21zZ3N0ciAi5p2h5Lu25LuY44Gn5YmK6ZmkIgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjExMgorbXNnaWQgIk1lcmdlZCBJbnRvOiIKK21zZ3N0ciAi44Oe44O844K45YWIOiIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxMjAgbGliL2JyYW5jaF9kZWxldGUudGNsOjUzCiBtc2dpZCAiQWx3YXlzIChEbyBub3QgcGVyZm9ybSBtZXJnZSBjaGVja3MpIgogbXNnc3RyICLnhKHmnaHku7bvvIjjg57jg7zjgrjmpJzmn7vjgpLjgZfjgarjgYTvvIkiCiAKLSM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoxMDMKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJUaGUgZm9sbG93aW5nIGJyYW5jaGVzIGFyZSBub3QgY29tcGxldGVseSBtZXJnZWQgaW50byAlczoiCi1tc2dzdHIgIuS7peS4i+OBruODluODqeODs+ODgeOBryAlcyDjgavlrozlhajjgavjg57jg7zjgrjjgZXjgozjgabjgYTjgb7jgZvjgpM6IgorIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxNTMKK21zZ2lkICJBIGJyYW5jaCBpcyByZXF1aXJlZCBmb3IgJ01lcmdlZCBJbnRvJy4iCittc2dzdHIgIifjg57jg7zjgrjlhYgnIOOBq+OBr+ODluODqeODs+ODgeOBjOW/heimgeOBp+OBmeOAgiIKIAotIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjExNSBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjIxNworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxODUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyBicmFuY2hlcyBhcmUgbm90IGNvbXBsZXRlbHkgbWVyZ2VkIGludG8gJXM6XG4iCisiXG4iCisiIC0gJXMiCittc2dzdHIgIiIKKyLku6XkuIvjga7jg5bjg6njg7Pjg4Hjga8gJXMg44Gr5a6M5YWo44Gr44Oe44O844K444GV44KM44Gm44GE44G+44Gb44KTOlxuIgorIlxuIgorIiAtICVzIgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjE5MAorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJPbmUgb3IgbW9yZSBvZiB0aGUgbWVyZ2UgdGVzdHMgZmFpbGVkIGJlY2F1c2UgeW91IGhhdmUgbm90IGZldGNoZWQgdGhlICIKKyJuZWNlc3NhcnkgY29tbWl0cy4gIFRyeSBmZXRjaGluZyBmcm9tICVzIGZpcnN0LiIKK21zZ3N0ciAiIgorIuW/heimgeOBquOCs+ODn+ODg+ODiOOBjOS4jei2s+OBl+OBpuOBhOOCi+OBn+OCgeOBq+OAgeODnuODvOOCuOaknOafu+OBjOWkseaVl+OBl+OBvuOBl+OBn+OAguOBvuOBmiAlcyDjgYvjgokiCisi44OV44Kn44OD44OB44GX44Gm5LiL44GV44GE44CCIgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjIwOAorbXNnaWQgIlBsZWFzZSBzZWxlY3Qgb25lIG9yIG1vcmUgYnJhbmNoZXMgdG8gZGVsZXRlLiIKK21zZ3N0ciAi5YmK6Zmk44GZ44KL44OW44Op44Oz44OB44KS6YG45oqe44GX44Gm5LiL44GV44GE44CCIgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjIxOCBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MTE1CiBtc2dpZCAiIgogIlJlY292ZXJpbmcgZGVsZXRlZCBicmFuY2hlcyBpcyBkaWZmaWN1bHQuXG4iCiAiXG4iCkBAIC04MTEsNiArODUxLDQxIEBACiAiXG4iCiAi6YG45oqe44GX44Gf44OW44Op44Oz44OB44KS5YmK6Zmk44GX44Gm6Imv44GE44Gn44GZ44GL77yfIgogCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjIyNworIywgdGNsLWZvcm1hdAorbXNnaWQgIkRlbGV0aW5nIGJyYW5jaGVzIGZyb20gJXMiCittc2dzdHIgIiVzIOOBi+OCieODluODqeODs+ODgeOCkuWJiumZpOOBl+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDozMDAKK21zZ2lkICJObyByZXBvc2l0b3J5IHNlbGVjdGVkLiIKK21zZ3N0ciAi44Oq44Od44K444OI44Oq44GM6YG45oqe44GV44KM44Gm44GE44G+44Gb44KT44CCIgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjMwNQorIywgdGNsLWZvcm1hdAorbXNnaWQgIlNjYW5uaW5nICVzLi4uIgorbXNnc3RyICIlcyDjgpLjgrnjgq3jg6Pjg7PjgZfjgabjgYTjgb7jgZnigKYiCisKKyM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoxNgorbXNnaWQgIkRlbGV0ZSBCcmFuY2giCittc2dzdHIgIuODluODqeODs+ODgeWJiumZpCIKKworIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjIxCittc2dpZCAiRGVsZXRlIExvY2FsIEJyYW5jaCIKK21zZ3N0ciAi44Ot44O844Kr44Or44O744OW44Op44Oz44OB44KS5YmK6ZmkIgorCisjOiBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MzkKK21zZ2lkICJMb2NhbCBCcmFuY2hlcyIKK21zZ3N0ciAi44Ot44O844Kr44Or44O744OW44Op44Oz44OBIgorCisjOiBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6NTEKK21zZ2lkICJEZWxldGUgT25seSBJZiBNZXJnZWQgSW50byIKK21zZ3N0ciAi44Oe44O844K45riI44G/44Gu5pmC44Gu44G/5YmK6ZmkIgorCisjOiBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MTAzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVGhlIGZvbGxvd2luZyBicmFuY2hlcyBhcmUgbm90IGNvbXBsZXRlbHkgbWVyZ2VkIGludG8gJXM6IgorbXNnc3RyICLku6XkuIvjga7jg5bjg6njg7Pjg4Hjga8gJXMg44Gr5a6M5YWo44Gr44Oe44O844K444GV44KM44Gm44GE44G+44Gb44KTOiIKKwogIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjE0MQogIywgdGNsLWZvcm1hdAogbXNnaWQgIiIKQEAgLTgyMCw2MiArODk1LDYzIEBACiAi5Lul5LiL44Gu44OW44Op44Oz44OB44KS5YmK6Zmk44Gn44GN44G+44Gb44KTOlxuIgogIiVzIgogCi0jOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6MTQgbGliL2JyYW5jaF9yZW5hbWUudGNsOjIyCi1tc2dpZCAiUmVuYW1lIEJyYW5jaCIKLW1zZ3N0ciAi44OW44Op44Oz44OB44Gu5ZCN5YmN5aSJ5pu0IgorIzogbGliL2Nob29zZV9yZXYudGNsOjUyCittc2dpZCAiVGhpcyBEZXRhY2hlZCBDaGVja291dCIKK21zZ3N0ciAi5YiG6Zui44GV44KM44Gf44OB44Kn44OD44Kv44Ki44Km44OIIgogCi0jOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6MjYKLW1zZ2lkICJSZW5hbWUiCi1tc2dzdHIgIuWQjeWJjeWkieabtCIKKyM6IGxpYi9jaG9vc2VfcmV2LnRjbDo2MAorbXNnaWQgIlJldmlzaW9uIEV4cHJlc3Npb246IgorbXNnc3RyICLjg6rjg5Pjgrjjg6fjg7PlvI86IgogCi0jOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6MzYKLW1zZ2lkICJCcmFuY2g6IgotbXNnc3RyICLjg5bjg6njg7Pjg4E6IgorIzogbGliL2Nob29zZV9yZXYudGNsOjcyCittc2dpZCAiTG9jYWwgQnJhbmNoIgorbXNnc3RyICLjg63jg7zjgqvjg6vjg7vjg5bjg6njg7Pjg4EiCiAKLSM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDozOQotbXNnaWQgIk5ldyBOYW1lOiIKLW1zZ3N0ciAi5paw44GX44GE5ZCN5YmNOiIKKyM6IGxpYi9jaG9vc2VfcmV2LnRjbDo3NworbXNnaWQgIlRyYWNraW5nIEJyYW5jaCIKK21zZ3N0ciAi44OI44Op44OD44Kt44Oz44Kw44O744OW44Op44Oz44OBIgogCi0jOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6NzUKLW1zZ2lkICJQbGVhc2Ugc2VsZWN0IGEgYnJhbmNoIHRvIHJlbmFtZS4iCi1tc2dzdHIgIuWQjeWJjeOCkuWkieabtOOBmeOCi+ODluODqeODs+ODgeOCkumBuOOCk+OBp+S4i+OBleOBhOOAgiIKKyM6IGxpYi9jaG9vc2VfcmV2LnRjbDo4MiBsaWIvY2hvb3NlX3Jldi50Y2w6NTQ0Cittc2dpZCAiVGFnIgorbXNnc3RyICLjgr/jgrAiCiAKLSM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDo5NiBsaWIvY2hlY2tvdXRfb3AudGNsOjIwMgorIzogbGliL2Nob29zZV9yZXYudGNsOjMyMQogIywgdGNsLWZvcm1hdAotbXNnaWQgIkJyYW5jaCAnJXMnIGFscmVhZHkgZXhpc3RzLiIKLW1zZ3N0ciAiJyVzJ+OBqOOBhOOBhuODluODqeODs+ODgeOBr+aXouOBq+WtmOWcqOOBl+OBvuOBmeOAgiIKK21zZ2lkICJJbnZhbGlkIHJldmlzaW9uOiAlcyIKK21zZ3N0ciAi54Sh5Yq544Gq44Oq44OT44K444On44OzOiAlcyIKIAotIzogbGliL2JyYW5jaF9yZW5hbWUudGNsOjExNwotIywgdGNsLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byByZW5hbWUgJyVzJy4iCi1tc2dzdHIgIiclcyfjga7lkI3liY3lpInmm7TjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIiCisjOiBsaWIvY2hvb3NlX3Jldi50Y2w6MzQyCittc2dpZCAiTm8gcmV2aXNpb24gc2VsZWN0ZWQuIgorbXNnc3RyICLjg6rjg5Pjgrjjg6fjg7PjgYzmnKrpgbjmip7jgafjgZnjgIIiCiAKLSM6IGxpYi9icm93c2VyLnRjbDoxNwotbXNnaWQgIlN0YXJ0aW5nLi4uIgotbXNnc3RyICLotbfli5XkuK3igKYiCisjOiBsaWIvY2hvb3NlX3Jldi50Y2w6MzUwCittc2dpZCAiUmV2aXNpb24gZXhwcmVzc2lvbiBpcyBlbXB0eS4iCittc2dzdHIgIuODquODk+OCuOODp+ODs+W8j+OBjOepuuOBp+OBmeOAgiIKIAotIzogbGliL2Jyb3dzZXIudGNsOjI2Ci1tc2dpZCAiRmlsZSBCcm93c2VyIgotbXNnc3RyICLjg5XjgqHjgqTjg6vjg7vjg5bjg6njgqbjgrYiCisjOiBsaWIvY2hvb3NlX3Jldi50Y2w6NTM3Cittc2dpZCAiVXBkYXRlZCIKK21zZ3N0ciAi5pu05paw44GX44G+44GX44GfIgogCi0jOiBsaWIvYnJvd3Nlci50Y2w6MTI2IGxpYi9icm93c2VyLnRjbDoxNDMKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJMb2FkaW5nICVzLi4uIgotbXNnc3RyICIlcyDjgpLjg63jg7zjg4nkuK3igKYiCisjOiBsaWIvY2hvb3NlX3Jldi50Y2w6NTY1Cittc2dpZCAiVVJMIgorbXNnc3RyICJVUkwiCiAKLSM6IGxpYi9icm93c2VyLnRjbDoxODcKLW1zZ2lkICJbVXAgVG8gUGFyZW50XSIKLW1zZ3N0ciAiW+S4iuS9jeODleOCqeODq+ODgOOBuF0iCisjOiBsaWIvY29uc29sZS50Y2w6NTkKK21zZ2lkICJXb3JraW5nLi4uIHBsZWFzZSB3YWl0Li4uIgorbXNnc3RyICLlrp/ooYzkuK3igKbjgYrlvoXjgaHkuIvjgZXjgYTigKYiCiAKLSM6IGxpYi9icm93c2VyLnRjbDoyNjcgbGliL2Jyb3dzZXIudGNsOjI3MwotbXNnaWQgIkJyb3dzZSBCcmFuY2ggRmlsZXMiCi1tc2dzdHIgIuePvuWcqOOBruODluODqeODs+ODgeOBruODleOCoeOCpOODq+OCkuimi+OCiyIKKyM6IGxpYi9jb25zb2xlLnRjbDo4MSBsaWIvY2hlY2tvdXRfb3AudGNsOjE0NiBsaWIvZGF0YWJhc2UudGNsOjMwCisjOiBsaWIvc3Noa2V5LnRjbDo1NQorbXNnaWQgIkNsb3NlIgorbXNnc3RyICLplonjgZjjgosiCiAKLSM6IGxpYi9icm93c2VyLnRjbDoyNzggbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDozOTgKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDg2IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDk3Ci0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEwMjgKLW1zZ2lkICJCcm93c2UiCi1tc2dzdHIgIuODluODqeOCpuOCuiIKKyM6IGxpYi9jb25zb2xlLnRjbDoxODYKK21zZ2lkICJTdWNjZXNzIgorbXNnc3RyICLmiJDlip8iCisKKyM6IGxpYi9jb25zb2xlLnRjbDoyMDAKK21zZ2lkICJFcnJvcjogQ29tbWFuZCBGYWlsZWQiCittc2dzdHIgIuOCqOODqeODvDog44Kz44Oe44Oz44OJ44GM5aSx5pWX44GX44G+44GX44GfIgogCiAjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjg1CiAjLCB0Y2wtZm9ybWF0CkBAIC04ODcsMTEgKzk2Myw2IEBACiBtc2dpZCAiZmF0YWw6IENhbm5vdCByZXNvbHZlICVzIgogbXNnc3RyICLoh7Tlkb3nmoTjgqjjg6njg7w6ICVzIOOCkuino+axuuOBp+OBjeOBvuOBm+OCkyIKIAotIzogbGliL2NoZWNrb3V0X29wLnRjbDoxNDYgbGliL2NvbnNvbGUudGNsOjgxIGxpYi9kYXRhYmFzZS50Y2w6MzEKLSM6IGxpYi9zc2hrZXkudGNsOjUzCi1tc2dpZCAiQ2xvc2UiCi1tc2dzdHIgIumWieOBmOOCiyIKLQogIzogbGliL2NoZWNrb3V0X29wLnRjbDoxNzUKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdC4iCkBAIC05MDIsNiArOTczLDExIEBACiBtc2dpZCAiRmFpbGVkIHRvIGNvbmZpZ3VyZSBzaW1wbGlmaWVkIGdpdC1wdWxsIGZvciAnJXMnLiIKIG1zZ3N0ciAiJyVzJyDjgavnsKHmmJMgZ2l0LXB1bGwg44KS6Kit5a6a44Gn44GN44G+44Gb44KT44Gn44GX44GfIgogCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjIwMiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6MTAyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiQnJhbmNoICclcycgYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICInJXMn44Go44GE44GG44OW44Op44Oz44OB44Gv5pei44Gr5a2Y5Zyo44GX44G+44GZ44CCIgorCiAjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjIyOQogIywgdGNsLWZvcm1hdAogbXNnaWQgIiIKQEAgLTk5OSw5ICsxMDc1LDkgQEAKIG1zZ2lkICJSZXNldCAnJXMnPyIKIG1zZ3N0ciAiJyVzJyDjgpLjg6rjgrvjg4Pjg4jjgZfjgb7jgZnjgYvvvJ8iCiAKLSM6IGxpYi9jaGVja291dF9vcC50Y2w6NTY3IGxpYi9tZXJnZS50Y2w6MTY0IGxpYi90b29sc19kbGcudGNsOjM0MwotbXNnaWQgIlZpc3VhbGl6ZSIKLW1zZ3N0ciAi5Y+v6KaW5YyWIgorIzogbGliL2NoZWNrb3V0X29wLnRjbDo1NzEgbGliL2JyYW5jaF9jcmVhdGUudGNsOjg1Cittc2dpZCAiUmVzZXQiCittc2dzdHIgIuODquOCu+ODg+ODiCIKIAogIzogbGliL2NoZWNrb3V0X29wLnRjbDo2MzUKICMsIHRjbC1mb3JtYXQKQEAgLTEwMTksMjMgKzEwOTUsOTY3IEBACiAi44G+44GX44Gf44GM44CBIEdpdCDjga7lhoXpg6jjg4fjg7zjgr/jgpLmm7TmlrDjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ/jgIJcbiIKICLotbfjgZPjgovjga/jgZrjga7jgarjgYTjgqjjg6njg7zjgafjgZnjgILjgYLjgY3jgonjgoHjgaYgJXMg44KS57WC5LqG44GX44G+44GZ44CCIgogCi0jOiBsaWIvY2hvb3NlX2ZvbnQudGNsOjM5CisjOiBsaWIvYmxhbWUudGNsOjczCittc2dpZCAiRmlsZSBWaWV3ZXIiCittc2dzdHIgIuODleOCoeOCpOODq+ODlOODpeODvOODryIKKworIzogbGliL2JsYW1lLnRjbDo3OQorbXNnaWQgIkNvbW1pdDoiCittc2dzdHIgIuOCs+ODn+ODg+ODiDoiCisKKyM6IGxpYi9ibGFtZS50Y2w6MjgwCittc2dpZCAiQ29weSBDb21taXQiCittc2dzdHIgIuOCs+ODn+ODg+ODiOOCkuOCs+ODlOODvCIKKworIzogbGliL2JsYW1lLnRjbDoyODQKK21zZ2lkICJGaW5kIFRleHQuLi4iCittc2dzdHIgIuODhuOCreOCueODiOOCkuaknOe0oiIKKworIzogbGliL2JsYW1lLnRjbDoyODgKK21zZ2lkICJHb3RvIExpbmUuLi4iCittc2dzdHIgIuaMh+WumuihjOOBq+enu+WLleKApiIKKworIzogbGliL2JsYW1lLnRjbDoyOTcKK21zZ2lkICJEbyBGdWxsIENvcHkgRGV0ZWN0aW9uIgorbXNnc3RyICLjgrPjg5Tjg7zmpJznn6UiCisKKyM6IGxpYi9ibGFtZS50Y2w6MzAxCittc2dpZCAiU2hvdyBIaXN0b3J5IENvbnRleHQiCittc2dzdHIgIuaWh+iEiOOCkuimi+OBm+OCiyIKKworIzogbGliL2JsYW1lLnRjbDozMDQKK21zZ2lkICJCbGFtZSBQYXJlbnQgQ29tbWl0IgorbXNnc3RyICLopqrjgrPjg5/jg4Pjg4jjgpLms6jph4giCisKKyM6IGxpYi9ibGFtZS50Y2w6NDY2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUmVhZGluZyAlcy4uLiIKK21zZ3N0ciAiJXMg44KS6Kqt44KT44Gn44GE44G+44GZ4oCmIgorCisjOiBsaWIvYmxhbWUudGNsOjU5NAorbXNnaWQgIkxvYWRpbmcgY29weS9tb3ZlIHRyYWNraW5nIGFubm90YXRpb25zLi4uIgorbXNnc3RyICLjgrPjg5Tjg7zjg7vnp7vli5Xov73ot6Hjg4fjg7zjgr/jgpLoqq3jgpPjgafjgYTjgb7jgZnigKYiCisKKyM6IGxpYi9ibGFtZS50Y2w6NjE0Cittc2dpZCAibGluZXMgYW5ub3RhdGVkIgorbXNnc3RyICLooYzjgpLms6jph4jjgZfjgb7jgZfjgZ8iCisKKyM6IGxpYi9ibGFtZS50Y2w6ODA2Cittc2dpZCAiTG9hZGluZyBvcmlnaW5hbCBsb2NhdGlvbiBhbm5vdGF0aW9ucy4uLiIKK21zZ3N0ciAi5YWD5L2N572u6KGM44Gu5rOo6YeI44OH44O844K/44KS6Kqt44KT44Gn44GE44G+44GZ4oCmIgorCisjOiBsaWIvYmxhbWUudGNsOjgwOQorbXNnaWQgIkFubm90YXRpb24gY29tcGxldGUuIgorbXNnc3RyICLms6jph4jlrozkuobjgZfjgb7jgZfjgZ8iCisKKyM6IGxpYi9ibGFtZS50Y2w6ODM5Cittc2dpZCAiQnVzeSIKK21zZ3N0ciAi5a6f6KGM5LitIgorCisjOiBsaWIvYmxhbWUudGNsOjg0MAorbXNnaWQgIkFubm90YXRpb24gcHJvY2VzcyBpcyBhbHJlYWR5IHJ1bm5pbmcuIgorbXNnc3RyICLjgZnjgafjgasgYmxhbWUg44OX44Ot44K744K544KS5a6f6KGM5Lit44Gn44GZ44CCIgorCisjOiBsaWIvYmxhbWUudGNsOjg3OQorbXNnaWQgIlJ1bm5pbmcgdGhvcm91Z2ggY29weSBkZXRlY3Rpb24uLi4iCittc2dzdHIgIuOCs+ODlOODvOaknOefpeOCkuWun+ihjOS4reKApiIKKworIzogbGliL2JsYW1lLnRjbDo5NDcKK21zZ2lkICJMb2FkaW5nIGFubm90YXRpb24uLi4iCittc2dzdHIgIuazqOmHiOOCkuiqreOBv+i+vOOCk+OBp+OBhOOBvuOBmeKApiIKKworIzogbGliL2JsYW1lLnRjbDoxMDAwCittc2dpZCAiQXV0aG9yOiIKK21zZ3N0ciAi5L2c6ICFOiIKKworIzogbGliL2JsYW1lLnRjbDoxMDA0Cittc2dpZCAiQ29tbWl0dGVyOiIKK21zZ3N0ciAi44Kz44Of44OD44OI6ICFOiIKKworIzogbGliL2JsYW1lLnRjbDoxMDA5Cittc2dpZCAiT3JpZ2luYWwgRmlsZToiCittc2dzdHIgIuWFg+ODleOCoeOCpOODqyIKKworIzogbGliL2JsYW1lLnRjbDoxMDU3Cittc2dpZCAiQ2Fubm90IGZpbmQgSEVBRCBjb21taXQ6IgorbXNnc3RyICJIRUFEIOOCs+ODn+ODg+ODiOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogbGliL2JsYW1lLnRjbDoxMTEyCittc2dpZCAiQ2Fubm90IGZpbmQgcGFyZW50IGNvbW1pdDoiCittc2dzdHIgIuimquOCs+ODn+ODg+ODiOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkzoiCisKKyM6IGxpYi9ibGFtZS50Y2w6MTEyNworbXNnaWQgIlVuYWJsZSB0byBkaXNwbGF5IHBhcmVudCIKK21zZ3N0ciAi6Kaq44KS6KGo56S644Gn44GN44G+44Gb44KTIgorCisjOiBsaWIvYmxhbWUudGNsOjExMjggbGliL2RpZmYudGNsOjM1NgorbXNnaWQgIkVycm9yIGxvYWRpbmcgZGlmZjoiCittc2dzdHIgImRpZmYg44KS6Kqt44KA6Zqb44Gu44Ko44Op44O844Gn44GZOiIKKworIzogbGliL2JsYW1lLnRjbDoxMjY5Cittc2dpZCAiT3JpZ2luYWxseSBCeToiCittc2dzdHIgIuWOn+S9nOiAhToiCisKKyM6IGxpYi9ibGFtZS50Y2w6MTI3NQorbXNnaWQgIkluIEZpbGU6IgorbXNnc3RyICLjg5XjgqHjgqTjg6s6IgorCisjOiBsaWIvYmxhbWUudGNsOjEyODAKK21zZ2lkICJDb3BpZWQgT3IgTW92ZWQgSGVyZSBCeToiCittc2dzdHIgIuikh+WGmeODu+enu+WLleiAhToiCisKKyM6IGxpYi9hYm91dC50Y2w6MjYKK21zZ2lkICJnaXQtZ3VpIC0gYSBncmFwaGljYWwgdXNlciBpbnRlcmZhY2UgZm9yIEdpdC4iCittc2dzdHIgIkdpdCDjga7jgrDjg6njg5XjgqPjgqvjg6tVSSBnaXQtZ3VpIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjMzCittc2dpZCAiR2l0IEd1aSIKK21zZ3N0ciAiR2l0IEdVSSIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo5MiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQxMgorbXNnaWQgIkNyZWF0ZSBOZXcgUmVwb3NpdG9yeSIKK21zZ3N0ciAi5paw44GX44GE44Oq44Od44K444OI44Oq44KS5L2c44KLIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjk4Cittc2dpZCAiTmV3Li4uIgorbXNnc3RyICLmlrDopo/igKYiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTA1IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDk2Cittc2dpZCAiQ2xvbmUgRXhpc3RpbmcgUmVwb3NpdG9yeSIKK21zZ3N0ciAi5pei5a2Y44Oq44Od44K444OI44Oq44KS6KSH6KO944GZ44KLIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjExNgorbXNnaWQgIkNsb25lLi4uIgorbXNnc3RyICLopIfoo73igKYiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTIzIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTA2NAorbXNnaWQgIk9wZW4gRXhpc3RpbmcgUmVwb3NpdG9yeSIKK21zZ3N0ciAi5pei5a2Y44Oq44Od44K444OI44Oq44KS6ZaL44GPIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEyOQorbXNnaWQgIk9wZW4uLi4iCittc2dzdHIgIumWi+OBj+KApiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxNDIKK21zZ2lkICJSZWNlbnQgUmVwb3NpdG9yaWVzIgorbXNnc3RyICLmnIDov5Hkvb/jgaPjgZ/jg6rjg53jgrjjg4jjg6oiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTQ4Cittc2dpZCAiT3BlbiBSZWNlbnQgUmVwb3NpdG9yeToiCittc2dzdHIgIuacgOi/keS9v+OBo+OBn+ODquODneOCuOODiOODquOCkumWi+OBjyIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDozMTYgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDozMjMKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MzMwCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSByZXBvc2l0b3J5ICVzOiIKK21zZ3N0ciAi44Oq44Od44K444OI44OqICVzIOOCkuS9nOijveOBp+OBjeOBvuOBm+OCkzoiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDA3IGxpYi9icmFuY2hfY3JlYXRlLnRjbDozMworbXNnaWQgIkNyZWF0ZSIKK21zZ3N0ciAi5L2c5oiQIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQxNworbXNnaWQgIkRpcmVjdG9yeToiCittc2dzdHIgIuODh+OCo+ODrOOCr+ODiOODqjoiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDIyIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTA5CisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjUxOCBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEwNzQKKyM6IGxpYi9icm93c2VyLnRjbDoyODgKK21zZ2lkICJCcm93c2UiCittc2dzdHIgIuODluODqeOCpuOCuiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo0NDcgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1NzMKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTA5OAorbXNnaWQgIkdpdCBSZXBvc2l0b3J5IgorbXNnc3RyICJHSVQg44Oq44Od44K444OI44OqIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQ3MgorIywgdGNsLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSAlcyBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIuODh+OCo+ODrOOCr+ODiOODqiAnJXMnIOOBr+aXouOBq+WtmOWcqOOBl+OBvuOBmeOAgiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo0NzYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJGaWxlICVzIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAi44OV44Kh44Kk44OrICclcycg44Gv5pei44Gr5a2Y5Zyo44GX44G+44GZ44CCIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQ5MQorbXNnaWQgIkNsb25lIgorbXNnc3RyICLopIfoo70iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTA0Cittc2dpZCAiU291cmNlIExvY2F0aW9uOiIKK21zZ3N0ciAi44K944O844K544Gu5L2N572uIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjUxMworbXNnaWQgIlRhcmdldCBEaXJlY3Rvcnk6IgorbXNnc3RyICLlhYjjg4fjgqPjg6zjgq/jg4jjg6o6IgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjUyMworbXNnaWQgIkNsb25lIFR5cGU6IgorbXNnc3RyICLopIfoo73mlrnlvI86IgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjUyOAorbXNnaWQgIlN0YW5kYXJkIChGYXN0LCBTZW1pLVJlZHVuZGFudCwgSGFyZGxpbmtzKSIKK21zZ3N0ciAi5qiZ5rqWKOmrmOmAn+ODu+S4reWGl+mVt+W6puODu+ODj+ODvOODieODquODs+OCrykiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTMzCittc2dpZCAiRnVsbCBDb3B5IChTbG93ZXIsIFJlZHVuZGFudCBCYWNrdXApIgorbXNnc3RyICLlhajopIflhpko5L2O6YCf44O75YaX6ZW344OQ44OD44Kv44Ki44OD44OXKSIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1MzgKK21zZ2lkICJTaGFyZWQgKEZhc3Rlc3QsIE5vdCBSZWNvbW1lbmRlZCwgTm8gQmFja3VwKSIKK21zZ3N0ciAi5YWx5pyJKOacgOmrmOmAn+ODu+mdnuaOqOWlqOODu+ODkOODg+OCr+OCouODg+ODl+eEoeOBlykiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTQ1Cittc2dpZCAiUmVjdXJzaXZlbHkgY2xvbmUgc3VibW9kdWxlcyB0b28iCittc2dzdHIgIuOCteODluODouOCuOODpeODvOODq+OCguWGjeW4sOeahOOBq+ikh+ijveOBmeOCiyIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1NzkgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2MjYKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NzcyIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6ODQyCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjExMDQgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMTEyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiTm90IGEgR2l0IHJlcG9zaXRvcnk6ICVzIgorbXNnc3RyICJHaXQg44Oq44Od44K444OI44Oq44Gn44Gv44GC44KK44G+44Gb44KTOiAlcyIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2MTUKK21zZ2lkICJTdGFuZGFyZCBvbmx5IGF2YWlsYWJsZSBmb3IgbG9jYWwgcmVwb3NpdG9yeS4iCittc2dzdHIgIuaomea6luaWueW8j+OBr+WQjOS4gOioiOeul+apn+S4iuOBruODquODneOCuOODiOODquOBq+OBruOBv+S9v+OBiOOBvuOBmeOAgiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2MTkKK21zZ2lkICJTaGFyZWQgb25seSBhdmFpbGFibGUgZm9yIGxvY2FsIHJlcG9zaXRvcnkuIgorbXNnc3RyICLlhbHmnInmlrnlvI/jga/lkIzkuIDoqIjnrpfmqZ/kuIrjga7jg6rjg53jgrjjg4jjg6rjgavjga7jgb/kvb/jgYjjgb7jgZnjgIIiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NjQwCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiTG9jYXRpb24gJXMgYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICInJXMnIOOBr+aXouOBq+WtmOWcqOOBl+OBvuOBmeOAgiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2NTEKK21zZ2lkICJGYWlsZWQgdG8gY29uZmlndXJlIG9yaWdpbiIKK21zZ3N0ciAib3JpZ2luIOOCkuioreWumuOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2NjMKK21zZ2lkICJDb3VudGluZyBvYmplY3RzIgorbXNnc3RyICLjgqrjg5bjgrjjgqfjgq/jg4jjgpLmlbDjgYjjgabjgYTjgb7jgZkiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NjY0Cittc2dpZCAiYnVja2V0cyIKK21zZ3N0ciAi44OQ44Kx44OEIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjY4OAorIywgdGNsLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBjb3B5IG9iamVjdHMvaW5mby9hbHRlcm5hdGVzOiAlcyIKK21zZ3N0ciAib2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMg44KS6KSH5YaZ44Gn44GN44G+44Gb44KTOiAlcyIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo3MjQKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJOb3RoaW5nIHRvIGNsb25lIGZyb20gJXMuIgorbXNnc3RyICIlcyDjgYvjgonopIfoo73jgZnjgovlhoXlrrnjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NzI2IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTQwCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjk1MgorbXNnaWQgIlRoZSAnbWFzdGVyJyBicmFuY2ggaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkLiIKK21zZ3N0ciAiJ21hc3Rlcicg44OW44Op44Oz44OB44GM5Yid5pyf5YyW44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjczOQorbXNnaWQgIkhhcmRsaW5rcyBhcmUgdW5hdmFpbGFibGUuICBGYWxsaW5nIGJhY2sgdG8gY29weWluZy4iCittc2dzdHIgIuODj+ODvOODieODquODs+OCr+OBjOS9nOOCjOOBquOBhOOBruOBp+OAgeOCs+ODlOODvOOBl+OBvuOBmSIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo3NTEKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJDbG9uaW5nIGZyb20gJXMiCittc2dzdHIgIiVzIOOBi+OCieikh+ijveOBl+OBpuOBhOOBvuOBmSIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo3ODIKK21zZ2lkICJDb3B5aW5nIG9iamVjdHMiCittc2dzdHIgIuOCquODluOCuOOCp+OCr+ODiOOCkuikh+WGmeOBl+OBpuOBhOOBvuOBmSIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo3ODMKK21zZ2lkICJLaUIiCittc2dzdHIgIktpQiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo4MDcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gY29weSBvYmplY3Q6ICVzIgorbXNnc3RyICLjgqrjg5bjgrjjgqfjgq/jg4jjgpLopIflhpnjgafjgY3jgb7jgZvjgpM6ICVzIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjgxNworbXNnaWQgIkxpbmtpbmcgb2JqZWN0cyIKK21zZ3N0ciAi44Kq44OW44K444Kn44Kv44OI44KS6YCj57WQ44GX44Gm44GE44G+44GZIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjgxOAorbXNnaWQgIm9iamVjdHMiCittc2dzdHIgIuOCquODluOCuOOCp+OCr+ODiCIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo4MjYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gaGFyZGxpbmsgb2JqZWN0OiAlcyIKK21zZ3N0ciAi44Kq44OW44K444Kn44Kv44OI44KS44OP44O844OJ44Oq44Oz44Kv44Gn44GN44G+44Gb44KTOiAlcyIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo4ODEKK21zZ2lkICJDYW5ub3QgZmV0Y2ggYnJhbmNoZXMgYW5kIG9iamVjdHMuICBTZWUgY29uc29sZSBvdXRwdXQgZm9yIGRldGFpbHMuIgorbXNnc3RyICLjg5bjg6njg7Pjg4HjgoTjgqrjg5bjgrjjgqfjgq/jg4jjgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgILjgrPjg7Pjgr3jg7zjg6vlh7rlipvjgpLopovjgabkuIvjgZXjgYQiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6ODkyCittc2dpZCAiQ2Fubm90IGZldGNoIHRhZ3MuICBTZWUgY29uc29sZSBvdXRwdXQgZm9yIGRldGFpbHMuIgorbXNnc3RyICLjgr/jgrDjgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgILjgrPjg7Pjgr3jg7zjg6vlh7rlipvjgpLopovjgabkuIvjgZXjgYQiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTE2Cittc2dpZCAiQ2Fubm90IGRldGVybWluZSBIRUFELiAgU2VlIGNvbnNvbGUgb3V0cHV0IGZvciBkZXRhaWxzLiIKK21zZ3N0ciAiSEVBRCDjgpLnorrlrprjgafjgY3jgb7jgZvjgpPjgILjgrPjg7Pjgr3jg7zjg6vlh7rlipvjgpLopovjgabkuIvjgZXjgYQiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTI1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGNsZWFudXAgJXMiCittc2dzdHIgIiVzIOOCkuaOg+mZpOOBp+OBjeOBvuOBm+OCkyIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo5MzEKK21zZ2lkICJDbG9uZSBmYWlsZWQuIgorbXNnc3RyICLopIflhpnjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTM4Cittc2dpZCAiTm8gZGVmYXVsdCBicmFuY2ggb2J0YWluZWQuIgorbXNnc3RyICLjg4fjg5Xjgqnjg7zjg6vjg4jjg7vjg5bjg6njg7Pjg4HjgYzlj5blvpfjgZXjgozjgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTQ5CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHJlc29sdmUgJXMgYXMgYSBjb21taXQuIgorbXNnc3RyICIlcyDjgpLjgrPjg5/jg4Pjg4jjgajjgZfjgabop6Pph4jjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTYxCittc2dpZCAiQ3JlYXRpbmcgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIuS9nOalreODh+OCo+ODrOOCr+ODiOODquOCkuS9nOaIkOOBl+OBpuOBhOOBvuOBmSIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo5NjIgbGliL2luZGV4LnRjbDo3MCBsaWIvaW5kZXgudGNsOjEzNgorIzogbGliL2luZGV4LnRjbDoyMDcKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAi44OV44Kh44Kk44OrIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjk4MQorbXNnaWQgIkNhbm5vdCBjbG9uZSBzdWJtb2R1bGVzLiIKK21zZ3N0ciAi44K144OW44Oi44K444Ol44O844Or44GM6KSH6KO944Gn44GN44G+44Gb44KT44CCIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjk5MAorbXNnaWQgIkNsb25pbmcgc3VibW9kdWxlcyIKK21zZ3N0ciAi44K144OW44Oi44K444Ol44O844Or44KS6KSH6KO944GX44Gm44GE44G+44GZIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEwMTUKK21zZ2lkICJJbml0aWFsIGZpbGUgY2hlY2tvdXQgZmFpbGVkLiIKK21zZ3N0ciAi5Yid5pyf44OB44Kn44OD44Kv44Ki44Km44OI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEwNTkKK21zZ2lkICJPcGVuIgorbXNnc3RyICLplovjgY8iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTA2OQorbXNnaWQgIlJlcG9zaXRvcnk6IgorbXNnc3RyICLjg6rjg53jgrjjg4jjg6o6IgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjExMTgKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbiByZXBvc2l0b3J5ICVzOiIKK21zZ3N0ciAi44Oq44Od44K444OI44OqICVzIOOCkumWi+OBkeOBvuOBm+OCkzoiCisKKyM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxNSBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6MjMKK21zZ2lkICJSZW5hbWUgQnJhbmNoIgorbXNnc3RyICLjg5bjg6njg7Pjg4Hjga7lkI3liY3lpInmm7QiCisKKyM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoyOAorbXNnaWQgIlJlbmFtZSIKK21zZ3N0ciAi5ZCN5YmN5aSJ5pu0IgorCisjOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6MzgKK21zZ2lkICJCcmFuY2g6IgorbXNnc3RyICLjg5bjg6njg7Pjg4E6IgorCisjOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6NDYKK21zZ2lkICJOZXcgTmFtZToiCittc2dzdHIgIuaWsOOBl+OBhOWQjeWJjToiCisKKyM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDo4MQorbXNnaWQgIlBsZWFzZSBzZWxlY3QgYSBicmFuY2ggdG8gcmVuYW1lLiIKK21zZ3N0ciAi5ZCN5YmN44KS5aSJ5pu044GZ44KL44OW44Op44Oz44OB44KS6YG444KT44Gn5LiL44GV44GE44CCIgorCisjOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6OTIgbGliL2JyYW5jaF9jcmVhdGUudGNsOjE1NAorbXNnaWQgIlBsZWFzZSBzdXBwbHkgYSBicmFuY2ggbmFtZS4iCittc2dzdHIgIuODluODqeODs+ODgeWQjeOCkuaMh+WumuOBl+OBpuS4i+OBleOBhOOAgiIKKworIzogbGliL2JyYW5jaF9yZW5hbWUudGNsOjExMiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MTY1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYW4gYWNjZXB0YWJsZSBicmFuY2ggbmFtZS4iCittc2dzdHIgIiclcycg44Gv44OW44Op44Oz44OB5ZCN44Gr5L2/44GI44G+44Gb44KT44CCIgorCisjOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6MTIzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlbmFtZSAnJXMnLiIKK21zZ3N0ciAiJyVzJ+OBruWQjeWJjeWkieabtOOBq+WkseaVl+OBl+OBvuOBl+OBn+OAgiIKKworIzogbGliL3Nob3J0Y3V0LnRjbDoyMSBsaWIvc2hvcnRjdXQudGNsOjYyCittc2dpZCAiQ2Fubm90IHdyaXRlIHNob3J0Y3V0OiIKK21zZ3N0ciAi44K344On44O844OI44Kr44OD44OI44GM5pu444GR44G+44Gb44KTOiIKKworIzogbGliL3Nob3J0Y3V0LnRjbDoxMzcKK21zZ2lkICJDYW5ub3Qgd3JpdGUgaWNvbjoiCittc2dzdHIgIuOCouOCpOOCs+ODs+OBjOabuOOBkeOBvuOBm+OCkzoiCisKKyM6IGxpYi9zZWFyY2gudGNsOjQ4Cittc2dpZCAiRmluZDoiCittc2dzdHIgIuaknOe0ojoiCisKKyM6IGxpYi9zZWFyY2gudGNsOjUwCittc2dpZCAiTmV4dCIKK21zZ3N0ciAi5qyhIgorCisjOiBsaWIvc2VhcmNoLnRjbDo1MQorbXNnaWQgIlByZXYiCittc2dzdHIgIuWJjSIKKworIzogbGliL3NlYXJjaC50Y2w6NTIKK21zZ2lkICJSZWdFeHAiCittc2dzdHIgIuato+imj+ihqOePviIKKworIzogbGliL3NlYXJjaC50Y2w6NTQKK21zZ2lkICJDYXNlIgorbXNnc3RyICLlpKfmloflrZflsI/mloflrZfjgpLljLrliKUiCisKKyM6IGxpYi9zdGF0dXNfYmFyLnRjbDo4NworIywgdGNsLWZvcm1hdAorbXNnaWQgIiVzIC4uLiAlKmkgb2YgJSppICVzICglM2klJSkiCittc2dzdHIgIiUxJHMgLi4uICU0JCppICU2JHMg5Lit44GuICUyJCppICglNyQzaSUlKSIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MjIKK21zZ2lkICJBZGQgVG9vbCIKK21zZ3N0ciAi44OE44O844Or44Gu6L+95YqgIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoyOAorbXNnaWQgIkFkZCBOZXcgVG9vbCBDb21tYW5kIgorbXNnc3RyICLmlrDopo/jg4Tjg7zjg6vjgrPjg57jg7Pjg4njga7ov73liqAiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjM0Cittc2dpZCAiQWRkIGdsb2JhbGx5IgorbXNnc3RyICLlhajkvZPjgavov73liqAiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjM3IGxpYi9yZW1vdGVfYWRkLnRjbDozMAorbXNnaWQgIkFkZCIKK21zZ3N0ciAi6L+95YqgIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo0NgorbXNnaWQgIlRvb2wgRGV0YWlscyIKK21zZ3N0ciAi44OE44O844Or44Gu6Kmz57SwIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo0OQorbXNnaWQgIlVzZSAnLycgc2VwYXJhdG9ycyB0byBjcmVhdGUgYSBzdWJtZW51IHRyZWU6IgorbXNnc3RyICInLycg44Gn44K144OW44Oh44OL44Ol44O844KS5Yy65YiH44KK44G+44GZOiIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6NTEgbGliL3JlbW90ZV9hZGQudGNsOjQxIGxpYi9icmFuY2hfY3JlYXRlLnRjbDo0NAorbXNnaWQgIk5hbWU6IgorbXNnc3RyICLlkI3liY06IgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo2MAorbXNnaWQgIkNvbW1hbmQ6IgorbXNnc3RyICLjgrPjg57jg7Pjg4k6IgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo3MQorbXNnaWQgIlNob3cgYSBkaWFsb2cgYmVmb3JlIHJ1bm5pbmciCittc2dzdHIgIui1t+WLleOBmeOCi+WJjeOBq+ODgOOCpOOCouODreOCsOOCkuihqOekuiIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6NzcKK21zZ2lkICJBc2sgdGhlIHVzZXIgdG8gc2VsZWN0IGEgcmV2aXNpb24gKHNldHMgJFJFVklTSU9OKSIKK21zZ3N0ciAi44Om44O844K244Gr44Kz44Of44OD44OI44KS5LiA44Gk6YG444Gw44Gb44KLICgkUkVWSVNJT04g44Gr44K744OD44OI44GX44G+44GZKSIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6ODIKK21zZ2lkICJBc2sgdGhlIHVzZXIgZm9yIGFkZGl0aW9uYWwgYXJndW1lbnRzIChzZXRzICRBUkdTKSIKK21zZ3N0ciAi44Om44O844K244Gr5LuW44Gu5byV5pWw44KS6L+95Yqg44GV44Gb44KLICgkQVJHUyDjgavjgrvjg4Pjg4jjgZfjgb7jgZkpIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo4OQorbXNnaWQgIkRvbid0IHNob3cgdGhlIGNvbW1hbmQgb3V0cHV0IHdpbmRvdyIKK21zZ3N0ciAi44Kz44Oe44Oz44OJ44GL44KJ44Gu5Ye65Yqb44Km44Kj44Oz44OJ44Km44KS6KaL44Gb44Gq44GEIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo5NAorbXNnaWQgIlJ1biBvbmx5IGlmIGEgZGlmZiBpcyBzZWxlY3RlZCAoJEZJTEVOQU1FIG5vdCBlbXB0eSkiCittc2dzdHIgIuODkeODg+ODgeOBjOmBuOOBsOOCjOOBpuOBhOOCi+OBqOOBjeOBoOOBkeWLleOBi+OBmSgkRklMRU5BTUUg44GM56m644Gn44Gq44GEKSIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MTE4Cittc2dpZCAiUGxlYXNlIHN1cHBseSBhIG5hbWUgZm9yIHRoZSB0b29sLiIKK21zZ3N0ciAi44OE44O844Or5ZCN44KS5oyH5a6a44GX44Gm5LiL44GV44GE44CCIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoxMjYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJUb29sICclcycgYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICLjg4Tjg7zjg6sgJyVzJyDjga/ml6LjgavlrZjlnKjjgZfjgb7jgZnjgIIiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjE0OAorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJDb3VsZCBub3QgYWRkIHRvb2w6XG4iCisiJXMiCittc2dzdHIgIiIKKyLjg4Tjg7zjg6vjgpLov73liqDjgafjgY3jgb7jgZvjgpM6XG4iCisiJXMiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjE4NworbXNnaWQgIlJlbW92ZSBUb29sIgorbXNnc3RyICLjg4Tjg7zjg6vjga7liYrpmaQiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjE5MworbXNnaWQgIlJlbW92ZSBUb29sIENvbW1hbmRzIgorbXNnc3RyICLjg4Tjg7zjg6vjgrPjg57jg7Pjg4njga7liYrpmaQiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjE5OAorbXNnaWQgIlJlbW92ZSIKK21zZ3N0ciAi5YmK6ZmkIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoyMzEKK21zZ2lkICIoQmx1ZSBkZW5vdGVzIHJlcG9zaXRvcnktbG9jYWwgdG9vbHMpIgorbXNnc3RyICIo6Z2S6Imy44Gv44Ot44O844Kr44Or44Os44Od44K444OI44Oq44Gu44OE44O844Or44Gn44GZKSIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MjkyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUnVuIENvbW1hbmQ6ICVzIgorbXNnc3RyICLjgrPjg57jg7Pjg4njgpLotbfli5U6ICVzIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDozMDYKK21zZ2lkICJBcmd1bWVudHMiCittc2dzdHIgIuW8leaVsCIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MzIxIGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjM1IGxpYi9icm93c2VyLnRjbDoyOTcKK21zZ2lkICJSZXZpc2lvbiIKK21zZ3N0ciAi44Oq44OT44K444On44OzIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDozNDEKK21zZ2lkICJPSyIKK21zZ3N0ciAiT0siCisKKyM6IGxpYi90b29scy50Y2w6NzUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJSdW5uaW5nICVzIHJlcXVpcmVzIGEgc2VsZWN0ZWQgZmlsZS4iCittc2dzdHIgIuODleOCoeOCpOODq+OCkumBuOaKnuOBl+OBpuOBi+OCiSAlcyDjgpLotbfli5XjgZfjgabjgY/jgaDjgZXjgYTjgIIiCisKKyM6IGxpYi90b29scy50Y2w6OTEKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcnVuICUxJHMgb24gZmlsZSBcIiUyJHNcIj8iCittc2dzdHIgIuacrOW9k+OBq+ODleOCoeOCpOODqyBcIiUyJHNcIuOBpyAlMSRzIOOCkui1t+WLleOBl+OBvuOBmeOBiz8iCisKKyM6IGxpYi90b29scy50Y2w6OTUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcnVuICVzPyIKK21zZ3N0ciAi5pys5b2T44GrICVzIOOCkui1t+WLleOBl+OBvuOBmeOBiz8iCisKKyM6IGxpYi90b29scy50Y2w6MTE2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVG9vbDogJXMiCittc2dzdHIgIuODhOODvOODqzogJXMiCisKKyM6IGxpYi90b29scy50Y2w6MTE3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUnVubmluZzogJXMiCittc2dzdHIgIuWun+ihjOS4rTogJXMiCisKKyM6IGxpYi90b29scy50Y2w6MTU1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVG9vbCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5OiAlcyIKK21zZ3N0ciAi44OE44O844Or44GM5a6M5LqG44GX44G+44GX44GfOiAlcyIKKworIzogbGliL3Rvb2xzLnRjbDoxNTcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJUb29sIGZhaWxlZDogJXMiCittc2dzdHIgIuODhOODvOODq+OBjOWkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjgKK21zZ2lkICJGb3JjZSByZXNvbHV0aW9uIHRvIHRoZSBiYXNlIHZlcnNpb24/IgorbXNnc3RyICLlhbHpgJrjga7niYjjgpLkvb/jgYTjgb7jgZnjgYs/IgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDo5Cittc2dpZCAiRm9yY2UgcmVzb2x1dGlvbiB0byB0aGlzIGJyYW5jaD8iCittc2dzdHIgIuiHquWIhuOBruWBtOOBrueJiOOCkuS9v+OBhOOBvuOBmeOBiz8iCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjEwCittc2dpZCAiRm9yY2UgcmVzb2x1dGlvbiB0byB0aGUgb3RoZXIgYnJhbmNoPyIKK21zZ3N0ciAi55u45omL5Yi244Gu54mI44KS5L2/44GE44G+44GZ44GLPyIKKworIzogbGliL21lcmdldG9vbC50Y2w6MTQKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiTm90ZSB0aGF0IHRoZSBkaWZmIHNob3dzIG9ubHkgY29uZmxpY3RpbmcgY2hhbmdlcy5cbiIKKyJcbiIKKyIlcyB3aWxsIGJlIG92ZXJ3cml0dGVuLlxuIgorIlxuIgorIlRoaXMgb3BlcmF0aW9uIGNhbiBiZSB1bmRvbmUgb25seSBieSByZXN0YXJ0aW5nIHRoZSBtZXJnZS4iCittc2dzdHIgIiIKKyLnq7blkIjjgZnjgovlpInmm7TngrnjgaDjgZHjgYzooajnpLrjgZXjgozjgabjgYTjgovjgZPjgajjgavms6jmhI/jgZfjgabjgY/jgaDjgZXjgYTjgIJcbiIKKyJcbiIKKyIlcyDjga/kuIrmm7jjgY3jgZXjgozjgb7jgZnjgIJcbiIKKyJcbiIKKyLjgoTjgornm7TjgZnjgavjga/jg57jg7zjgrjlhajkvZPjgpLjgoTjgornm7TjgZfjgabjgY/jgaDjgZXjgYTjgIIiCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjQ1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmlsZSAlcyBzZWVtcyB0byBoYXZlIHVucmVzb2x2ZWQgY29uZmxpY3RzLCBzdGlsbCBzdGFnZT8iCittc2dzdHIgIiIKKyLjg5XjgqHjgqTjg6sgJXMg44Gr44Gv6Kej5rG644GX44Gm44GE44Gq44GE56u25ZCI6YOo5YiG44GM44G+44Gg44GC44KL44KI44GG44Gn44GZ44GM44CB44GE44GE44Gn44GZ44GLPyIKKworIzogbGliL21lcmdldG9vbC50Y2w6NjAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJBZGRpbmcgcmVzb2x1dGlvbiBmb3IgJXMiCittc2dzdHIgIiVzIOOBuOOBruino+axuuOCkuOCueODhuODvOOCuOOBl+OBvuOBmSIKKworIzogbGliL21lcmdldG9vbC50Y2w6MTQxCittc2dpZCAiQ2Fubm90IHJlc29sdmUgZGVsZXRpb24gb3IgbGluayBjb25mbGljdHMgdXNpbmcgYSB0b29sIgorbXNnc3RyICLjg4Tjg7zjg6vjgafjga/liYrpmaTjgoTjg6rjg7Pjgq/nq7blkIjjga/mibHjgYjjgb7jgZvjgpMiCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjE0NgorbXNnaWQgIkNvbmZsaWN0IGZpbGUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIuertuWQiOODleOCoeOCpOODq+OBr+WtmOWcqOOBl+OBvuOBm+OCk+OAgiIKKworIzogbGliL21lcmdldG9vbC50Y2w6MjQ2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiTm90IGEgR1VJIG1lcmdlIHRvb2w6ICclcyciCittc2dzdHIgIkdVSSDjg57jg7zjgrjjg4Tjg7zjg6vjgafjga/jgYLjgorjgb7jgZvjgpM6ICVzIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDoyNzUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJVbnN1cHBvcnRlZCBtZXJnZSB0b29sICclcyciCittc2dzdHIgIuODnuODvOOCuOODhOODvOODqyAnJXMnIOOBr+OCteODneODvOODiOOBl+OBpuOBhOOBvuOBm+OCkyIKKworIzogbGliL21lcmdldG9vbC50Y2w6MzEwCittc2dpZCAiTWVyZ2UgdG9vbCBpcyBhbHJlYWR5IHJ1bm5pbmcsIHRlcm1pbmF0ZSBpdD8iCittc2dzdHIgIuODnuODvOOCuOODhOODvOODq+OBr+OBmeOBp+OBq+i1t+WLleOBl+OBpuOBhOOBvuOBmeOAgue1guS6huOBl+OBvuOBmeOBiz8iCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjMzMAorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJFcnJvciByZXRyaWV2aW5nIHZlcnNpb25zOlxuIgorIiVzIgorbXNnc3RyICIiCisi54mI44Gu5Y+W44KK5Ye644GX5pmC44Gr44Ko44Op44O844GM5Ye644G+44GX44GfOlxuIgorIiVzIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDozNTAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiQ291bGQgbm90IHN0YXJ0IHRoZSBtZXJnZSB0b29sOlxuIgorIlxuIgorIiVzIgorbXNnc3RyICIiCisi44Oe44O844K444OE44O844Or44GM6LW35YuV44Gn44GN44G+44Gb44KTOlxuIgorIlxuIgorIiVzIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDozNTQKK21zZ2lkICJSdW5uaW5nIG1lcmdlIHRvb2wuLi4iCittc2dzdHIgIuODnuODvOOCuOODhOODvOODq+OCkuWun+ihjOOBl+OBpuOBhOOBvuOBmS4uLiIKKworIzogbGliL21lcmdldG9vbC50Y2w6MzgyIGxpYi9tZXJnZXRvb2wudGNsOjM5MAorbXNnaWQgIk1lcmdlIHRvb2wgZmFpbGVkLiIKK21zZ3N0ciAi44Oe44O844K444OE44O844Or44GM5aSx5pWX44GX44G+44GX44Gf44CCIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxMQorIywgdGNsLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZ2xvYmFsIGVuY29kaW5nICclcyciCittc2dzdHIgIuWFqOS9k+OCqOODs+OCs+ODvOODh+OCo+ODs+OCsOOBqyDnhKHlirnjgaogJXMg44GM5oyH5a6a44GV44KM44Gm44GE44G+44GZIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxOQorIywgdGNsLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmVwbyBlbmNvZGluZyAnJXMnIgorbXNnc3RyICLjg6rjg53jgrjjg4jjg6rjgqjjg7PjgrPjg7zjg4fjgqPjg7PjgrDjgasg54Sh5Yq544GqICVzIOOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBmSIKKworIzogbGliL29wdGlvbi50Y2w6MTE5Cittc2dpZCAiUmVzdG9yZSBEZWZhdWx0cyIKK21zZ3N0ciAi5pei5a6a5YCk44Gr5oi744GZIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxMjMKK21zZ2lkICJTYXZlIgorbXNnc3RyICLkv53lrZgiCisKKyM6IGxpYi9vcHRpb24udGNsOjEzMworIywgdGNsLWZvcm1hdAorbXNnaWQgIiVzIFJlcG9zaXRvcnkiCittc2dzdHIgIiVzIOODquODneOCuOODiOODqiIKKworIzogbGliL29wdGlvbi50Y2w6MTM0Cittc2dpZCAiR2xvYmFsIChBbGwgUmVwb3NpdG9yaWVzKSIKK21zZ3N0ciAi5aSn5Z+f77yI5YWo44Gm44Gu44Oq44Od44K444OI44Oq77yJIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNDAKK21zZ2lkICJVc2VyIE5hbWUiCittc2dzdHIgIuODpuODvOOCtuWQjSIKKworIzogbGliL29wdGlvbi50Y2w6MTQxCittc2dpZCAiRW1haWwgQWRkcmVzcyIKK21zZ3N0ciAi6Zu75a2Q44Oh44O844Or44Ki44OJ44Os44K5IgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNDMKK21zZ2lkICJTdW1tYXJpemUgTWVyZ2UgQ29tbWl0cyIKK21zZ3N0ciAi44Oe44O844K444Kz44Of44OD44OI44Gu6KaB57SEIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNDQKK21zZ2lkICJNZXJnZSBWZXJib3NpdHkiCittc2dzdHIgIuODnuODvOOCuOOBruWGl+mVt+W6piIKKworIzogbGliL29wdGlvbi50Y2w6MTQ1Cittc2dpZCAiU2hvdyBEaWZmc3RhdCBBZnRlciBNZXJnZSIKK21zZ3N0ciAi44Oe44O844K45b6M44GrIGRpZmZzdGF0IOOCkuihqOekuiIKKworIzogbGliL29wdGlvbi50Y2w6MTQ2Cittc2dpZCAiVXNlIE1lcmdlIFRvb2wiCittc2dzdHIgIuODnuODvOOCuOODhOODvOODq+OCkuS9v+eUqCIKKworIzogbGliL29wdGlvbi50Y2w6MTQ4Cittc2dpZCAiVHJ1c3QgRmlsZSBNb2RpZmljYXRpb24gVGltZXN0YW1wcyIKK21zZ3N0ciAi44OV44Kh44Kk44Or5aSJ5pu05pmC5Yi744KS5L+h6aC844GZ44KLIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNDkKK21zZ2lkICJQcnVuZSBUcmFja2luZyBCcmFuY2hlcyBEdXJpbmcgRmV0Y2giCittc2dzdHIgIuODleOCp+ODg+ODgeS4reOBq+ODiOODqeODg+OCreODs+OCsOODluODqeODs+ODgeOCkuWIiOOCiyIKKworIzogbGliL29wdGlvbi50Y2w6MTUwCittc2dpZCAiTWF0Y2ggVHJhY2tpbmcgQnJhbmNoZXMiCittc2dzdHIgIuODiOODqeODg+OCreODs+OCsOODluODqeODs+ODgeOCkuWQiOOCj+OBm+OCiyIKKworIzogbGliL29wdGlvbi50Y2w6MTUxCittc2dpZCAiVXNlIFRleHRjb252IEZvciBEaWZmcyBhbmQgQmxhbWVzIgorbXNnc3RyICJkaWZmIOOBqOazqOmHiOOBqyB0ZXh0Y29udiDjgpLkvb/jgYYiCisKKyM6IGxpYi9vcHRpb24udGNsOjE1MgorbXNnaWQgIkJsYW1lIENvcHkgT25seSBPbiBDaGFuZ2VkIEZpbGVzIgorbXNnc3RyICLlpInmm7TjgZXjgozjgZ/jg5XjgqHjgqTjg6vjga7jgb/jgrPjg5Tjg7zmpJznn6XjgpLooYzjgarjgYYiCisKKyM6IGxpYi9vcHRpb24udGNsOjE1MworbXNnaWQgIk1heGltdW0gTGVuZ3RoIG9mIFJlY2VudCBSZXBvc2l0b3JpZXMgTGlzdCIKK21zZ3N0ciAi5pyA6L+R5L2/44Gj44Gf44Oq44Od44K444OI44Oq5LiA6Kan44Gu5LiK6ZmQIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNTQKK21zZ2lkICJNaW5pbXVtIExldHRlcnMgVG8gQmxhbWUgQ29weSBPbiIKK21zZ3N0ciAi44Kz44OU44O844KS5qSc55+l44GZ44KL5pyA5bCR5paH5a2X5pWwIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNTUKK21zZ2lkICJCbGFtZSBIaXN0b3J5IENvbnRleHQgUmFkaXVzIChkYXlzKSIKK21zZ3N0ciAi5rOo6YeI44GZ44KL5bGl5q205Y2K5b6E77yI5pel5pWw77yJIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNTYKK21zZ2lkICJOdW1iZXIgb2YgRGlmZiBDb250ZXh0IExpbmVzIgorbXNnc3RyICJkaWZmIOOBruaWh+iEiOihjOaVsCIKKworIzogbGliL29wdGlvbi50Y2w6MTU3Cittc2dpZCAiQWRkaXRpb25hbCBEaWZmIFBhcmFtZXRlcnMiCittc2dzdHIgImRpZmYg44Gu6L+95Yqg5byV5pWwIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNTgKK21zZ2lkICJDb21taXQgTWVzc2FnZSBUZXh0IFdpZHRoIgorbXNnc3RyICLjgrPjg5/jg4Pjg4jjg6Hjg4Pjgrvjg7zjgrjjga7jg4bjgq3jgrnjg4jluYUiCisKKyM6IGxpYi9vcHRpb24udGNsOjE1OQorbXNnaWQgIk5ldyBCcmFuY2ggTmFtZSBUZW1wbGF0ZSIKK21zZ3N0ciAi5paw44GX44GE44OW44Op44Oz44OB5ZCN44Gu44OG44Oz44OX44Os44O844OIIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNjAKK21zZ2lkICJEZWZhdWx0IEZpbGUgQ29udGVudHMgRW5jb2RpbmciCittc2dzdHIgIuODleOCoeOCpOODq+WGheWuueOBruODh+ODleOCqeODvOODq+ODiOOCqOODs+OCs+ODvOODh+OCo+ODs+OCsCIKKworIzogbGliL29wdGlvbi50Y2w6MTYxCittc2dpZCAiV2FybiBiZWZvcmUgY29tbWl0dGluZyB0byBhIGRldGFjaGVkIGhlYWQiCittc2dzdHIgIuWIhumboiBIRUFEIOOBruOCs+ODn+ODg+ODiOWJjeOBq+itpuWRiuOBmeOCiyIKKworIzogbGliL29wdGlvbi50Y2w6MTYyCittc2dpZCAiU3RhZ2luZyBvZiB1bnRyYWNrZWQgZmlsZXMiCittc2dzdHIgIueuoeeQhuWkluOBruODleOCoeOCpOODq+OCkuOCs+ODn+ODg+ODiOS6iOWumuOBmeOCiyIKKworIzogbGliL29wdGlvbi50Y2w6MTYzCittc2dpZCAiU2hvdyB1bnRyYWNrZWQgZmlsZXMiCittc2dzdHIgIueuoeeQhuWkluOBruODleOCoeOCpOODq+OCkuihqOekuuOBmeOCiyIKKworIzogbGliL29wdGlvbi50Y2w6MTY0Cittc2dpZCAiVGFiIHNwYWNpbmciCittc2dzdHIgIuOCv+ODluW5hSIKKworIzogbGliL29wdGlvbi50Y2w6MjEwCittc2dpZCAiQ2hhbmdlIgorbXNnc3RyICLlpInmm7QiCisKKyM6IGxpYi9vcHRpb24udGNsOjI1NAorbXNnaWQgIlNwZWxsaW5nIERpY3Rpb25hcnk6IgorbXNnc3RyICLjgrnjg5rjg6vjg4Hjgqfjg4Pjgq/ovp7mm7giCisKKyM6IGxpYi9vcHRpb24udGNsOjI4NAorbXNnaWQgIkNoYW5nZSBGb250IgorbXNnc3RyICLjg5Xjgqnjg7Pjg4jjgpLlpInmm7QiCisKKyM6IGxpYi9vcHRpb24udGNsOjI4OAorIywgdGNsLWZvcm1hdAorbXNnaWQgIkNob29zZSAlcyIKK21zZ3N0ciAiJXMg44KS6YG45oqeIgorCisjOiBsaWIvb3B0aW9uLnRjbDoyOTQKK21zZ2lkICJwdC4iCittc2dzdHIgIuODneOCpOODs+ODiCIKKworIzogbGliL29wdGlvbi50Y2w6MzA4Cittc2dpZCAiUHJlZmVyZW5jZXMiCittc2dzdHIgIuioreWumiIKKworIzogbGliL29wdGlvbi50Y2w6MzEwIGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjM5IGxpYi9icmFuY2hfY3JlYXRlLnRjbDo2OQorbXNnaWQgIk9wdGlvbnMiCittc2dzdHIgIuOCquODl+OCt+ODp+ODsyIKKworIzogbGliL29wdGlvbi50Y2w6MzQ1Cittc2dpZCAiRmFpbGVkIHRvIGNvbXBsZXRlbHkgc2F2ZSBvcHRpb25zOiIKK21zZ3N0ciAi5a6M5YWo44Gr44Kq44OX44K344On44Oz44KS5L+d5a2Y44Gn44GN44G+44Gb44KTOiIKKworIzogbGliL2RhdGFiYXNlLnRjbDo0MgorbXNnaWQgIk51bWJlciBvZiBsb29zZSBvYmplY3RzIgorbXNnc3RyICLjgbDjgonjgbDjgonjgarjgqrjg5bjgrjjgqfjgq/jg4jjga7mlbAiCisKKyM6IGxpYi9kYXRhYmFzZS50Y2w6NDMKK21zZ2lkICJEaXNrIHNwYWNlIHVzZWQgYnkgbG9vc2Ugb2JqZWN0cyIKK21zZ3N0ciAi44Gw44KJ44Gw44KJ44Gq44Kq44OW44K444Kn44Kv44OI44Gu5L2/55So44GZ44KL44OH44Kj44K544Kv6YePIgorCisjOiBsaWIvZGF0YWJhc2UudGNsOjQ0Cittc2dpZCAiTnVtYmVyIG9mIHBhY2tlZCBvYmplY3RzIgorbXNnc3RyICLjg5Hjg4Pjgq/jgZXjgozjgZ/jgqrjg5bjgrjjgqfjgq/jg4jjga7mlbAiCisKKyM6IGxpYi9kYXRhYmFzZS50Y2w6NDUKK21zZ2lkICJOdW1iZXIgb2YgcGFja3MiCittc2dzdHIgIuODkeODg+OCr+OBruaVsCIKKworIzogbGliL2RhdGFiYXNlLnRjbDo0NgorbXNnaWQgIkRpc2sgc3BhY2UgdXNlZCBieSBwYWNrZWQgb2JqZWN0cyIKK21zZ3N0ciAi44OR44OD44Kv44GV44KM44Gf44Kq44OW44K444Kn44Kv44OI44Gu5L2/55So44GZ44KL44OH44Kj44K544Kv6YePIgorCisjOiBsaWIvZGF0YWJhc2UudGNsOjQ3Cittc2dpZCAiUGFja2VkIG9iamVjdHMgd2FpdGluZyBmb3IgcHJ1bmluZyIKK21zZ3N0ciAi44OR44OD44Kv44Gr5a2Y5Zyo44GZ44KL44Gu44Gn5o2o44Gm44Gm6Imv44GE44Kq44OW44K444Kn44Kv44OI44Gu5pWwIgorCisjOiBsaWIvZGF0YWJhc2UudGNsOjQ4Cittc2dpZCAiR2FyYmFnZSBmaWxlcyIKK21zZ3N0ciAi44K044Of44OV44Kh44Kk44OrIgorCisjOiBsaWIvZGF0YWJhc2UudGNsOjcyCittc2dpZCAiQ29tcHJlc3NpbmcgdGhlIG9iamVjdCBkYXRhYmFzZSIKK21zZ3N0ciAi44OH44O844K/44OZ44O844K55Zyn57iuIgorCisjOiBsaWIvZGF0YWJhc2UudGNsOjgzCittc2dpZCAiVmVyaWZ5aW5nIHRoZSBvYmplY3QgZGF0YWJhc2Ugd2l0aCBmc2NrLW9iamVjdHMiCittc2dzdHIgImZzY2stb2JqZWN0cyDjgafjgqrjg5bjgrjjgqfjgq/jg4jjg7vjg4fjg7zjgr/jg5njg7zjgrnjgpLmpJzoqLzjgZfjgabjgYTjgb7jgZkiCisKKyM6IGxpYi9kYXRhYmFzZS50Y2w6MTA3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIlRoaXMgcmVwb3NpdG9yeSBjdXJyZW50bHkgaGFzIGFwcHJveGltYXRlbHkgJWkgbG9vc2Ugb2JqZWN0cy5cbiIKKyJcbiIKKyJUbyBtYWludGFpbiBvcHRpbWFsIHBlcmZvcm1hbmNlIGl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRoYXQgeW91IGNvbXByZXNzICIKKyJ0aGUgZGF0YWJhc2UuXG4iCisiXG4iCisiQ29tcHJlc3MgdGhlIGRhdGFiYXNlIG5vdz8iCittc2dzdHIgIiIKKyLjgZPjga7jg6rjg53jgrjjg4jjg6rjgavjga/jgYrjgYrjgojjgZ0gJWkg5YCL44Gu5YCL5Yil44Kq44OW44K444Kn44Kv44OI44GM44GC44KK44G+44GZXG4iCisiXG4iCisi5pyA6YGp44Gq5oCn6IO944KS5L+d44Gk44Gf44KB44Gr44CB44OH44O844K/44OZ44O844K544KS5Zyn57iu44GZ44KL44GT44Go44KS5o6o5aWo44GX44G+44GZXG4iCisiXG4iCisi44OH44O844K/44OZ44O844K544KS5Zyn57iu44GX44G+44GZ44GL77yfIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDo2IGxpYi9yZW1vdGVfYWRkLnRjbDoxMzIKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJmZXRjaCAlcyIKK21zZ3N0ciAiJXMg44KS5Y+W5b6XIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDo3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmV0Y2hpbmcgbmV3IGNoYW5nZXMgZnJvbSAlcyIKK21zZ3N0ciAiJXMg44GL44KJ5paw44GX44GE5aSJ5pu044KS44OV44Kn44OD44OB44GX44Gm44GE44G+44GZIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoxOAorIywgdGNsLWZvcm1hdAorbXNnaWQgInJlbW90ZSBwcnVuZSAlcyIKK21zZ3N0ciAi44Oq44Oi44O844OI5YiI6L68ICVzIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoxOQorIywgdGNsLWZvcm1hdAorbXNnaWQgIlBydW5pbmcgdHJhY2tpbmcgYnJhbmNoZXMgZGVsZXRlZCBmcm9tICVzIgorbXNnc3RyICIlcyDjgYvjgonliYrpmaTjgZXjgozjgZ/jg4jjg6njg4Pjgq3jg7PjgrDjg7vjg5bjg6njg7Pjg4HjgpLliIjjgaPjgabjgYTjgb7jgZkiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjI1Cittc2dpZCAiZmV0Y2ggYWxsIHJlbW90ZXMiCittc2dzdHIgIuOBmeOBueOBpuOBruODquODouODvOODiOOCkuWPluW+lyIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MjYKK21zZ2lkICJGZXRjaGluZyBuZXcgY2hhbmdlcyBmcm9tIGFsbCByZW1vdGVzIgorbXNnc3RyICLjgZnjgbnjgabjga7jg6rjg6Ljg7zjg4jjgYvjgonmlrDjgZfjgYTlpInmm7TjgpLjg5Xjgqfjg4Pjg4HjgZfjgabjgYTjgb7jgZkiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjQwCittc2dpZCAicmVtb3RlIHBydW5lIGFsbCByZW1vdGVzIgorbXNnc3RyICLjg6rjg6Ljg7zjg4jliIjovrwg44GZ44G544Gm44Gu44Oq44Oi44O844OIIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDo0MQorbXNnaWQgIlBydW5pbmcgdHJhY2tpbmcgYnJhbmNoZXMgZGVsZXRlZCBmcm9tIGFsbCByZW1vdGVzIgorbXNnc3RyICLjgZnjgbnjgabjga7jg6rjg6Ljg7zjg4jjgYvjgonliYrpmaTjgZXjgozjgZ/jg4jjg6njg4Pjgq3jg7PjgrDjg7vjg5bjg6njg7Pjg4HjgpLliIjjgaPjgabjgYTjgb7jgZkiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjU0IGxpYi90cmFuc3BvcnQudGNsOjkyIGxpYi90cmFuc3BvcnQudGNsOjExMAorIzogbGliL3JlbW90ZV9hZGQudGNsOjE2MgorIywgdGNsLWZvcm1hdAorbXNnaWQgInB1c2ggJXMiCittc2dzdHIgIiVzIOOCkuODl+ODg+OCt+ODpSIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6NTUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJQdXNoaW5nIGNoYW5nZXMgdG8gJXMiCittc2dzdHIgIiVzIOOBuOWkieabtOOCkuODl+ODg+OCt+ODpeOBl+OBpuOBhOOBvuOBmSIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6OTMKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJNaXJyb3JpbmcgdG8gJXMiCittc2dzdHIgIiVzIOOBuOODn+ODqeODvOOBl+OBpuOBhOOBvuOBmSIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MTExCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUHVzaGluZyAlcyAlcyB0byAlcyIKK21zZ3N0ciAiJTMkcyDjgbggJTEkcyAlMiRzIOOCkuODl+ODg+OCt+ODpeOBl+OBpuOBhOOBvuOBmSIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MTMyCittc2dpZCAiUHVzaCBCcmFuY2hlcyIKK21zZ3N0ciAi44OW44Op44Oz44OB44KS44OX44OD44K344OlIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoxNDcKK21zZ2lkICJTb3VyY2UgQnJhbmNoZXMiCittc2dzdHIgIuWFg+OBruODluODqeODs+ODgSIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MTYyCittc2dpZCAiRGVzdGluYXRpb24gUmVwb3NpdG9yeSIKK21zZ3N0ciAi6YCB44KK5YWI44Oq44Od44K444OI44OqIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoyMDUKK21zZ2lkICJUcmFuc2ZlciBPcHRpb25zIgorbXNnc3RyICLpgJrkv6Hjgqrjg5fjgrfjg6fjg7MiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjIwNworbXNnaWQgIkZvcmNlIG92ZXJ3cml0ZSBleGlzdGluZyBicmFuY2ggKG1heSBkaXNjYXJkIGNoYW5nZXMpIgorbXNnc3RyICLml6LlrZjjg5bjg6njg7Pjg4HjgpLkuIrmm7jjgY0o5aSJ5pu044KS56C05qOE44GZ44KL5Y+v6IO95oCn44GM44GC44KK44G+44GZKSIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MjExCittc2dpZCAiVXNlIHRoaW4gcGFjayAoZm9yIHNsb3cgbmV0d29yayBjb25uZWN0aW9ucykiCittc2dzdHIgIlRoaW4gUGFjayDjgpLkvb/jgYbvvIjpgYXjgYTjg43jg4Pjg4jjg6/jg7zjgq/mjqXntprvvIkiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjIxNQorbXNnaWQgIkluY2x1ZGUgdGFncyIKK21zZ3N0ciAi44K/44Kw44KS5ZCr44KB44KLIgorCisjOiBsaWIvY2hvb3NlX2ZvbnQudGNsOjQxCiBtc2dpZCAiU2VsZWN0IgogbXNnc3RyICLpgbjmip4iCiAKLSM6IGxpYi9jaG9vc2VfZm9udC50Y2w6NTMKKyM6IGxpYi9jaG9vc2VfZm9udC50Y2w6NTUKIG1zZ2lkICJGb250IEZhbWlseSIKIG1zZ3N0ciAi44OV44Kp44Oz44OI44O744OV44Kh44Of44Oq44O8IgogCi0jOiBsaWIvY2hvb3NlX2ZvbnQudGNsOjc0CisjOiBsaWIvY2hvb3NlX2ZvbnQudGNsOjc2CiBtc2dpZCAiRm9udCBTaXplIgogbXNnc3RyICLjg5Xjgqnjg7Pjg4jjga7lpKfjgY3jgZUiCiAKLSM6IGxpYi9jaG9vc2VfZm9udC50Y2w6OTEKKyM6IGxpYi9jaG9vc2VfZm9udC50Y2w6OTMKIG1zZ2lkICJGb250IEV4YW1wbGUiCiBtc2dzdHIgIuODleOCqeODs+ODiOODu+OCteODs+ODl+ODqyIKIAotIzogbGliL2Nob29zZV9mb250LnRjbDoxMDMKKyM6IGxpYi9jaG9vc2VfZm9udC50Y2w6MTA1CiBtc2dpZCAiIgogIlRoaXMgaXMgZXhhbXBsZSB0ZXh0LlxuIgogIklmIHlvdSBsaWtlIHRoaXMgdGV4dCwgaXQgY2FuIGJlIHlvdXIgZm9udC4iCkBAIC0xMDQzLDI3MyArMjA2MywyNjEgQEAKICLjgZPjgozjga/jgrXjg7Pjg5fjg6vmlofjgafjgZnjgIJcbiIKICLjgZPjga7jg5Xjgqnjg7Pjg4jjgYzmsJfjgavlhaXjgozjgbDjgYrkvb/jgYTjgavjgarjgozjgb7jgZnjgIIiCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MjgKLW1zZ2lkICJHaXQgR3VpIgotbXNnc3RyICJHaXQgR1VJIgorIzogbGliL3JlbW90ZS50Y2w6MjAwCittc2dpZCAiUHVzaCB0byIKK21zZ3N0ciAi44OX44OD44K344Ol5YWIIgogCi0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjg3IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6Mzg2Ci1tc2dpZCAiQ3JlYXRlIE5ldyBSZXBvc2l0b3J5IgotbXNnc3RyICLmlrDjgZfjgYTjg6rjg53jgrjjg4jjg6rjgpLkvZzjgosiCisjOiBsaWIvcmVtb3RlLnRjbDoyMTgKK21zZ2lkICJSZW1vdmUgUmVtb3RlIgorbXNnc3RyICLjg6rjg6Ljg7zjg4jjgpLliYrpmaQiCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTMKLW1zZ2lkICJOZXcuLi4iCi1tc2dzdHIgIuaWsOimj+KApiIKKyM6IGxpYi9yZW1vdGUudGNsOjIyMworbXNnaWQgIlBydW5lIGZyb20iCittc2dzdHIgIuOBi+OCieWIiOi+vOOCgOKApiIKIAotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMDAgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo0NzEKLW1zZ2lkICJDbG9uZSBFeGlzdGluZyBSZXBvc2l0b3J5IgotbXNnc3RyICLml6LlrZjjg6rjg53jgrjjg4jjg6rjgpLopIfoo73jgZnjgosiCisjOiBsaWIvcmVtb3RlLnRjbDoyMjgKK21zZ2lkICJGZXRjaCBmcm9tIgorbXNnc3RyICLlj5blvpflhYMiCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTA2Ci1tc2dpZCAiQ2xvbmUuLi4iCi1tc2dzdHIgIuikh+ijveKApiIKLQotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMTMgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMDE2Ci1tc2dpZCAiT3BlbiBFeGlzdGluZyBSZXBvc2l0b3J5IgotbXNnc3RyICLml6LlrZjjg6rjg53jgrjjg4jjg6rjgpLplovjgY8iCi0KLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTE5Ci1tc2dpZCAiT3Blbi4uLiIKLW1zZ3N0ciAi6ZaL44GP4oCmIgotCi0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEzMgotbXNnaWQgIlJlY2VudCBSZXBvc2l0b3JpZXMiCi1tc2dzdHIgIuacgOi/keS9v+OBo+OBn+ODquODneOCuOODiOODqiIKLQotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMzgKLW1zZ2lkICJPcGVuIFJlY2VudCBSZXBvc2l0b3J5OiIKLW1zZ3N0ciAi5pyA6L+R5L2/44Gj44Gf44Oq44Od44K444OI44Oq44KS6ZaL44GPIgotCi0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjMwNiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjMxMwotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDozMjAKKyM6IGxpYi9kaWZmLnRjbDo3NwogIywgdGNsLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgcmVwb3NpdG9yeSAlczoiCi1tc2dzdHIgIuODquODneOCuOODiOODqiAlcyDjgpLkvZzoo73jgafjgY3jgb7jgZvjgpM6IgorbXNnaWQgIiIKKyJObyBkaWZmZXJlbmNlcyBkZXRlY3RlZC5cbiIKKyJcbiIKKyIlcyBoYXMgbm8gY2hhbmdlcy5cbiIKKyJcbiIKKyJUaGUgbW9kaWZpY2F0aW9uIGRhdGUgb2YgdGhpcyBmaWxlIHdhcyB1cGRhdGVkIGJ5IGFub3RoZXIgYXBwbGljYXRpb24sIGJ1dCAiCisidGhlIGNvbnRlbnQgd2l0aGluIHRoZSBmaWxlIHdhcyBub3QgY2hhbmdlZC5cbiIKKyJcbiIKKyJBIHJlc2NhbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc3RhcnRlZCB0byBmaW5kIG90aGVyIGZpbGVzIHdoaWNoIG1heSBoYXZlICIKKyJ0aGUgc2FtZSBzdGF0ZS4iCittc2dzdHIgIiIKKyLlpInmm7TjgYzjgYLjgorjgb7jgZvjgpPjgIJcbiIKKyJcbiIKKyIlcyDjgavjga/lpInmm7TjgYzjgYLjgorjgb7jgZvjgpPjgIJcbiIKKyJcbiIKKyLjgZPjga7jg5XjgqHjgqTjg6vjga7lpInmm7TmmYLliLvjga/ku5bjga7jgqLjg5fjg6rjgrHjg7zjgrfjg6fjg7PjgavjgojjgaPjgabmm7TmlrDjgZXjgozjgabjgYTjgb7jgZnjgYzjg5XjgqHjgqQiCisi44Or5YaF5a6544Gr44Gv5aSJ5pu044GM44GC44KK44G+44Gb44KT44CCXG4iCisiXG4iCisi5ZCM5qeY44Gq54q25oWL44Gu44OV44Kh44Kk44Or44KS5o6i44GZ44Gf44KB44Gr44CB6Ieq5YuV55qE44Gr5YaN44K544Kt44Oj44Oz44KS6ZaL5aeL44GX44G+44GZ44CCIgogCi0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjM5MQotbXNnaWQgIkRpcmVjdG9yeToiCi1tc2dzdHIgIuODh+OCo+ODrOOCr+ODiOODqjoiCi0KLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDIzIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTUwCi0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEwNTIKLW1zZ2lkICJHaXQgUmVwb3NpdG9yeSIKLW1zZ3N0ciAiR0lUIOODquODneOCuOODiOODqiIKLQotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo0NDgKKyM6IGxpYi9kaWZmLnRjbDoxMTcKICMsIHRjbC1mb3JtYXQKLW1zZ2lkICJEaXJlY3RvcnkgJXMgYWxyZWFkeSBleGlzdHMuIgotbXNnc3RyICLjg4fjgqPjg6zjgq/jg4jjg6ogJyVzJyDjga/ml6LjgavlrZjlnKjjgZfjgb7jgZnjgIIiCittc2dpZCAiTG9hZGluZyBkaWZmIG9mICVzLi4uIgorbXNnc3RyICIlcyDjga7lpInmm7TngrnjgpLjg63jg7zjg4nkuK3igKYiCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDUyCisjOiBsaWIvZGlmZi50Y2w6MTQwCittc2dpZCAiIgorIkxPQ0FMOiBkZWxldGVkXG4iCisiUkVNT1RFOlxuIgorbXNnc3RyICIiCisiTE9DQUw6IOWJiumZpFxuIgorIlJlbW90ZTpcbiIKKworIzogbGliL2RpZmYudGNsOjE0NQorbXNnaWQgIiIKKyJSRU1PVEU6IGRlbGV0ZWRcbiIKKyJMT0NBTDpcbiIKK21zZ3N0ciAiIgorIlJFTU9URTog5YmK6ZmkXG4iCisiTE9DQUw6XG4iCisKKyM6IGxpYi9kaWZmLnRjbDoxNTIKK21zZ2lkICJMT0NBTDpcbiIKK21zZ3N0ciAiTE9DQUw6XG4iCisKKyM6IGxpYi9kaWZmLnRjbDoxNTUKK21zZ2lkICJSRU1PVEU6XG4iCittc2dzdHIgIlJFTU9URVxuIgorCisjOiBsaWIvZGlmZi50Y2w6MjE3IGxpYi9kaWZmLnRjbDozNTUKICMsIHRjbC1mb3JtYXQKLW1zZ2lkICJGaWxlICVzIGFscmVhZHkgZXhpc3RzLiIKLW1zZ3N0ciAi44OV44Kh44Kk44OrICclcycg44Gv5pei44Gr5a2Y5Zyo44GX44G+44GZ44CCIgorbXNnaWQgIlVuYWJsZSB0byBkaXNwbGF5ICVzIgorbXNnc3RyICIlcyDjgpLooajnpLrjgafjgY3jgb7jgZvjgpMiCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDY2Ci1tc2dpZCAiQ2xvbmUiCi1tc2dzdHIgIuikh+ijvSIKKyM6IGxpYi9kaWZmLnRjbDoyMTgKK21zZ2lkICJFcnJvciBsb2FkaW5nIGZpbGU6IgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgpLoqq3jgoDpmpvjga7jgqjjg6njg7zjgafjgZk6IgogCi0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjQ3OQotbXNnaWQgIlNvdXJjZSBMb2NhdGlvbjoiCi1tc2dzdHIgIuOCveODvOOCueOBruS9jee9riIKKyM6IGxpYi9kaWZmLnRjbDoyMjUKK21zZ2lkICJHaXQgUmVwb3NpdG9yeSAoc3VicHJvamVjdCkiCittc2dzdHIgIkdpdCDjg6rjg53jgrjjg4jjg6oo44K144OW44OX44Ot44K444Kn44Kv44OIKSIKIAotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo0OTAKLW1zZ2lkICJUYXJnZXQgRGlyZWN0b3J5OiIKLW1zZ3N0ciAi5YWI44OH44Kj44Os44Kv44OI44OqOiIKKyM6IGxpYi9kaWZmLnRjbDoyMzcKK21zZ2lkICIqIEJpbmFyeSBmaWxlIChub3Qgc2hvd2luZyBjb250ZW50KS4iCittc2dzdHIgIiog44OQ44Kk44OK44Oq44OV44Kh44Kk44OrKOWGheWuueOBr+ihqOekuuOBl+OBvuOBm+OCkykiCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTAyCi1tc2dpZCAiQ2xvbmUgVHlwZToiCi1tc2dzdHIgIuikh+ijveaWueW8jzoiCi0KLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTA4Ci1tc2dpZCAiU3RhbmRhcmQgKEZhc3QsIFNlbWktUmVkdW5kYW50LCBIYXJkbGlua3MpIgotbXNnc3RyICLmqJnmupYo6auY6YCf44O75Lit5YaX6ZW35bqm44O744OP44O844OJ44Oq44Oz44KvKSIKLQotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1MTQKLW1zZ2lkICJGdWxsIENvcHkgKFNsb3dlciwgUmVkdW5kYW50IEJhY2t1cCkiCi1tc2dzdHIgIuWFqOikh+WGmSjkvY7pgJ/jg7vlhpfplbfjg5Djg4Pjgq/jgqLjg4Pjg5cpIgotCi0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjUyMAotbXNnaWQgIlNoYXJlZCAoRmFzdGVzdCwgTm90IFJlY29tbWVuZGVkLCBObyBCYWNrdXApIgotbXNnc3RyICLlhbHmnIko5pyA6auY6YCf44O76Z2e5o6o5aWo44O744OQ44OD44Kv44Ki44OD44OX54Sh44GXKSIKLQotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1NTYgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2MDMKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NzQ5IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6ODE5Ci0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEwNTggbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMDY2CisjOiBsaWIvZGlmZi50Y2w6MjQyCiAjLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiTm90IGEgR2l0IHJlcG9zaXRvcnk6ICVzIgotbXNnc3RyICJHaXQg44Oq44Od44K444OI44Oq44Gn44Gv44GC44KK44G+44Gb44KTOiAlcyIKK21zZ2lkICIiCisiKiBVbnRyYWNrZWQgZmlsZSBpcyAlZCBieXRlcy5cbiIKKyIqIFNob3dpbmcgb25seSBmaXJzdCAlZCBieXRlcy5cbiIKK21zZ3N0ciAiIgorIiog566h55CG5aSW44Gu44OV44Kh44Kk44Or44Gu5aSn44GN44GV44GvICVkIOODkOOCpOODiOOBp+OBmeOAglxuIgorIiog5pyA5Yid44GuICVkIOODkOOCpOODiOOBoOOBkeihqOekuuOBl+OBpuOBhOOBvuOBmeOAglxuIgogCi0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjU5MgotbXNnaWQgIlN0YW5kYXJkIG9ubHkgYXZhaWxhYmxlIGZvciBsb2NhbCByZXBvc2l0b3J5LiIKLW1zZ3N0ciAi5qiZ5rqW5pa55byP44Gv5ZCM5LiA6KiI566X5qmf5LiK44Gu44Oq44Od44K444OI44Oq44Gr44Gu44G/5L2/44GI44G+44GZ44CCIgotCi0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjU5NgotbXNnaWQgIlNoYXJlZCBvbmx5IGF2YWlsYWJsZSBmb3IgbG9jYWwgcmVwb3NpdG9yeS4iCi1tc2dzdHIgIuWFseacieaWueW8j+OBr+WQjOS4gOioiOeul+apn+S4iuOBruODquODneOCuOODiOODquOBq+OBruOBv+S9v+OBiOOBvuOBmeOAgiIKLQotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2MTcKKyM6IGxpYi9kaWZmLnRjbDoyNDgKICMsIHRjbC1mb3JtYXQKLW1zZ2lkICJMb2NhdGlvbiAlcyBhbHJlYWR5IGV4aXN0cy4iCi1tc2dzdHIgIiclcycg44Gv5pei44Gr5a2Y5Zyo44GX44G+44GZ44CCIgorbXNnaWQgIiIKKyJcbiIKKyIqIFVudHJhY2tlZCBmaWxlIGNsaXBwZWQgaGVyZSBieSAlcy5cbiIKKyIqIFRvIHNlZSB0aGUgZW50aXJlIGZpbGUsIHVzZSBhbiBleHRlcm5hbCBlZGl0b3IuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJcbiIKKyIqICVzIOOBr+euoeeQhuWkluOBruODleOCoeOCpOODq+OCkuOBk+OBk+OBp+WIh+OCiuOBiuOBqOOBl+OBvuOBl+OBn+OAglxuIgorIiog5YWo5L2T44KS6KaL44KL44Gr44Gv5aSW6YOo44Ko44OH44Kj44K/44KS5L2/44Gj44Gm44GP44Gg44GV44GE44CCXG4iCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NjI4Ci1tc2dpZCAiRmFpbGVkIHRvIGNvbmZpZ3VyZSBvcmlnaW4iCi1tc2dzdHIgIm9yaWdpbiDjgpLoqK3lrprjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisjOiBsaWIvZGlmZi50Y2w6NTc4Cittc2dpZCAiRmFpbGVkIHRvIHVuc3RhZ2Ugc2VsZWN0ZWQgaHVuay4iCittc2dzdHIgIumBuOaKnuOBleOCjOOBn+ODkeODg+ODgeOCkuOCs+ODn+ODg+ODiOS6iOWumuOBi+OCieWkluOBm+OBvuOBm+OCk+OAgiIKIAotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2NDAKLW1zZ2lkICJDb3VudGluZyBvYmplY3RzIgotbXNnc3RyICLjgqrjg5bjgrjjgqfjgq/jg4jjgpLmlbDjgYjjgabjgYTjgb7jgZkiCisjOiBsaWIvZGlmZi50Y2w6NTg1Cittc2dpZCAiRmFpbGVkIHRvIHN0YWdlIHNlbGVjdGVkIGh1bmsuIgorbXNnc3RyICLpgbjmip7jgZXjgozjgZ/jg5Hjg4Pjg4HjgpLjgrPjg5/jg4Pjg4jkuojlrprjgavliqDjgYjjgonjgozjgb7jgZvjgpPjgIIiCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NjQxCi1tc2dpZCAiYnVja2V0cyIKLW1zZ3N0ciAi44OQ44Kx44OEIgorIzogbGliL2RpZmYudGNsOjY2NAorbXNnaWQgIkZhaWxlZCB0byB1bnN0YWdlIHNlbGVjdGVkIGxpbmUuIgorbXNnc3RyICLpgbjmip7jgZXjgozjgZ/jg5Hjg4Pjg4HooYzjgpLjgrPjg5/jg4Pjg4jkuojlrprjgYvjgonlpJbjgZvjgb7jgZvjgpPjgIIiCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NjY1CisjOiBsaWIvZGlmZi50Y2w6NjcyCittc2dpZCAiRmFpbGVkIHRvIHN0YWdlIHNlbGVjdGVkIGxpbmUuIgorbXNnc3RyICLpgbjmip7jgZXjgozjgZ/jg5Hjg4Pjg4HooYzjgpLjgrPjg5/jg4Pjg4jkuojlrprjgavliqDjgYjjgonjgozjgb7jgZvjgpPjgIIiCisKKyM6IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjE2IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjIxCittc2dpZCAiQ2hlY2tvdXQgQnJhbmNoIgorbXNnc3RyICLjg5bjg6njg7Pjg4HjgpLjg4Hjgqfjg4Pjgq/jgqLjgqbjg4giCisKKyM6IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjI2Cittc2dpZCAiQ2hlY2tvdXQiCittc2dzdHIgIuODgeOCp+ODg+OCr+OCouOCpuODiCIKKworIzogbGliL2JyYW5jaF9jaGVja291dC50Y2w6NDIgbGliL2JyYW5jaF9jcmVhdGUudGNsOjkyCittc2dpZCAiRmV0Y2ggVHJhY2tpbmcgQnJhbmNoIgorbXNnc3RyICLjg4jjg6njg4Pjgq3jg7PjgrDjg7vjg5bjg6njg7Pjg4HjgpLjg5Xjgqfjg4Pjg4EiCisKKyM6IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjQ3Cittc2dpZCAiRGV0YWNoIEZyb20gTG9jYWwgQnJhbmNoIgorbXNnc3RyICLjg63jg7zjgqvjg6vjg7vjg5bjg6njg7Pjg4HjgYvjgonliYrpmaQiCisKKyM6IGxpYi9pbmRleC50Y2w6NgorbXNnaWQgIlVuYWJsZSB0byB1bmxvY2sgdGhlIGluZGV4LiIKK21zZ3N0ciAi44Kk44Oz44OH44OD44Kv44K544KS44Ot44OD44Kv44Gn44GN44G+44Gb44KTIgorCisjOiBsaWIvaW5kZXgudGNsOjE3Cittc2dpZCAiSW5kZXggRXJyb3IiCittc2dzdHIgIue0ouW8leOCqOODqeODvCIKKworIzogbGliL2luZGV4LnRjbDoxOQorbXNnaWQgIiIKKyJVcGRhdGluZyB0aGUgR2l0IGluZGV4IGZhaWxlZC4gIEEgcmVzY2FuIHdpbGwgYmUgYXV0b21hdGljYWxseSBzdGFydGVkIHRvICIKKyJyZXN5bmNocm9uaXplIGdpdC1ndWkuIgorbXNnc3RyICIiCisiR0lUIOOCpOODs+ODh+ODg+OCr+OCueOBruabtOaWsOOBjOWkseaVl+OBl+OBvuOBl+OBn+OAgmdpdC1ndWkg44Go5ZCM5pyf44KS44Go44KL44Gf44KB44Gr5YaN44K544Kt44Oj44Oz44GXIgorIuOBvuOBmeOAgiIKKworIzogbGliL2luZGV4LnRjbDozMAorbXNnaWQgIkNvbnRpbnVlIgorbXNnc3RyICLntprooYwiCisKKyM6IGxpYi9pbmRleC50Y2w6MzMKK21zZ2lkICJVbmxvY2sgSW5kZXgiCittc2dzdHIgIuOCpOODs+ODh+ODg+OCr+OCueOBruODreODg+OCr+ino+mZpCIKKworIzogbGliL2luZGV4LnRjbDoyOTgKICMsIHRjbC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gY29weSBvYmplY3RzL2luZm8vYWx0ZXJuYXRlczogJXMiCi1tc2dzdHIgIm9iamVjdHMvaW5mby9hbHRlcm5hdGVzIOOCkuikh+WGmeOBp+OBjeOBvuOBm+OCkzogJXMiCittc2dpZCAiVW5zdGFnaW5nICVzIGZyb20gY29tbWl0IgorbXNnc3RyICLjgrPjg5/jg4Pjg4jjgYvjgokgJyVzJyDjgpLpmY3jgo3jgZkiCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NzAxCisjOiBsaWIvaW5kZXgudGNsOjMzNworbXNnaWQgIlJlYWR5IHRvIGNvbW1pdC4iCittc2dzdHIgIuOCs+ODn+ODg+ODiOa6luWCmeWujOS6hiIKKworIzogbGliL2luZGV4LnRjbDozNTAKICMsIHRjbC1mb3JtYXQKLW1zZ2lkICJOb3RoaW5nIHRvIGNsb25lIGZyb20gJXMuIgotbXNnc3RyICIlcyDjgYvjgonopIfoo73jgZnjgovlhoXlrrnjga/jgYLjgorjgb7jgZvjgpMiCittc2dpZCAiQWRkaW5nICVzIgorbXNnc3RyICLjgrPjg5/jg4Pjg4jjgasgJXMg44KS5Yqg44GI44Gm44GE44G+44GZIgogCi0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjcwMyBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjkxNwotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo5MjkKLW1zZ2lkICJUaGUgJ21hc3RlcicgYnJhbmNoIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZC4iCi1tc2dzdHIgIidtYXN0ZXInIOODluODqeODs+ODgeOBjOWIneacn+WMluOBleOCjOOBpuOBhOOBvuOBm+OCkyIKLQotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo3MTYKLW1zZ2lkICJIYXJkbGlua3MgYXJlIHVuYXZhaWxhYmxlLiAgRmFsbGluZyBiYWNrIHRvIGNvcHlpbmcuIgotbXNnc3RyICLjg4/jg7zjg4njg6rjg7Pjgq/jgYzkvZzjgozjgarjgYTjga7jgafjgIHjgrPjg5Tjg7zjgZfjgb7jgZkiCi0KLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NzI4CisjOiBsaWIvaW5kZXgudGNsOjM4MAogIywgdGNsLWZvcm1hdAotbXNnaWQgIkNsb25pbmcgZnJvbSAlcyIKLW1zZ3N0ciAiJXMg44GL44KJ6KSH6KO944GX44Gm44GE44G+44GZIgorbXNnaWQgIlN0YWdlICVkIHVudHJhY2tlZCBmaWxlcz8iCittc2dzdHIgIueuoeeQhuWkluOBriAlZCDjg5XjgqHjgqTjg6vjgpLjgrPjg5/jg4Pjg4jkuojlrprjgajjgZfjgb7jgZnjgYvvvJ8iCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NzU5Ci1tc2dpZCAiQ29weWluZyBvYmplY3RzIgotbXNnc3RyICLjgqrjg5bjgrjjgqfjgq/jg4jjgpLopIflhpnjgZfjgabjgYTjgb7jgZkiCi0KLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NzYwCi1tc2dpZCAiS2lCIgotbXNnc3RyICJLaUIiCi0KLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6Nzg0CisjOiBsaWIvaW5kZXgudGNsOjQyOAogIywgdGNsLWZvcm1hdAotbXNnaWQgIlVuYWJsZSB0byBjb3B5IG9iamVjdDogJXMiCi1tc2dzdHIgIuOCquODluOCuOOCp+OCr+ODiOOCkuikh+WGmeOBp+OBjeOBvuOBm+OCkzogJXMiCittc2dpZCAiUmV2ZXJ0IGNoYW5nZXMgaW4gZmlsZSAlcz8iCittc2dzdHIgIuODleOCoeOCpOODqyAlcyDjgavjgZfjgZ/lpInmm7TjgpLlhYPjgavmiLvjgZfjgb7jgZnjgYvvvJ8iCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6Nzk0Ci1tc2dpZCAiTGlua2luZyBvYmplY3RzIgotbXNnc3RyICLjgqrjg5bjgrjjgqfjgq/jg4jjgpLpgKPntZDjgZfjgabjgYTjgb7jgZkiCi0KLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6Nzk1Ci1tc2dpZCAib2JqZWN0cyIKLW1zZ3N0ciAi44Kq44OW44K444Kn44Kv44OIIgotCi0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjgwMworIzogbGliL2luZGV4LnRjbDo0MzAKICMsIHRjbC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gaGFyZGxpbmsgb2JqZWN0OiAlcyIKLW1zZ3N0ciAi44Kq44OW44K444Kn44Kv44OI44KS44OP44O844OJ44Oq44Oz44Kv44Gn44GN44G+44Gb44KTOiAlcyIKK21zZ2lkICJSZXZlcnQgY2hhbmdlcyBpbiB0aGVzZSAlaSBmaWxlcz8iCittc2dzdHIgIuOBk+OCjOOCiSAlaSDlgIvjga7jg5XjgqHjgqTjg6vjgavjgZfjgZ/lpInmm7TjgpLlhYPjgavmiLvjgZfjgb7jgZnjgYvvvJ8iCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6ODU4Ci1tc2dpZCAiQ2Fubm90IGZldGNoIGJyYW5jaGVzIGFuZCBvYmplY3RzLiAgU2VlIGNvbnNvbGUgb3V0cHV0IGZvciBkZXRhaWxzLiIKLW1zZ3N0ciAi44OW44Op44Oz44OB44KE44Kq44OW44K444Kn44Kv44OI44KS5Y+W5b6X44Gn44GN44G+44Gb44KT44CC44Kz44Oz44K944O844Or5Ye65Yqb44KS6KaL44Gm5LiL44GV44GEIgorIzogbGliL2luZGV4LnRjbDo0MzgKK21zZ2lkICJBbnkgdW5zdGFnZWQgY2hhbmdlcyB3aWxsIGJlIHBlcm1hbmVudGx5IGxvc3QgYnkgdGhlIHJldmVydC4iCittc2dzdHIgIuWkieabtOOCkuWFg+OBq+aIu+OBmeOBqOOCs+ODn+ODg+ODiOS6iOWumuOBl+OBpuOBhOOBquOBhOWkieabtOOBr+WFqOOBpuWkseOCj+OCjOOBvuOBmeOAgiIKIAotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo4NjkKLW1zZ2lkICJDYW5ub3QgZmV0Y2ggdGFncy4gIFNlZSBjb25zb2xlIG91dHB1dCBmb3IgZGV0YWlscy4iCi1tc2dzdHIgIuOCv+OCsOOCkuWPluW+l+OBp+OBjeOBvuOBm+OCk+OAguOCs+ODs+OCveODvOODq+WHuuWKm+OCkuimi+OBpuS4i+OBleOBhCIKKyM6IGxpYi9pbmRleC50Y2w6NDQxCittc2dpZCAiRG8gTm90aGluZyIKK21zZ3N0ciAi5L2V44KC44GX44Gq44GEIgogCi0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjg5MwotbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgSEVBRC4gIFNlZSBjb25zb2xlIG91dHB1dCBmb3IgZGV0YWlscy4iCi1tc2dzdHIgIkhFQUQg44KS56K65a6a44Gn44GN44G+44Gb44KT44CC44Kz44Oz44K944O844Or5Ye65Yqb44KS6KaL44Gm5LiL44GV44GEIgorIzogbGliL2luZGV4LnRjbDo0NTkKK21zZ2lkICJSZXZlcnRpbmcgc2VsZWN0ZWQgZmlsZXMiCittc2dzdHIgIumBuOaKnuOBleOCjOOBn+ODleOCoeOCpOODq+OBq+OBl+OBn+WkieabtOOCkuWFg+OBq+aIu+OBl+OBvuOBmSIKIAotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo5MDIKKyM6IGxpYi9pbmRleC50Y2w6NDYzCiAjLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIGNsZWFudXAgJXMiCi1tc2dzdHIgIiVzIOOCkuaOg+mZpOOBp+OBjeOBvuOBm+OCkyIKK21zZ2lkICJSZXZlcnRpbmcgJXMiCittc2dzdHIgIiVzIOOBq+OBl+OBn+WkieabtOOCkuWFg+OBq+aIu+OBl+OBvuOBmSIKIAotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo5MDgKLW1zZ2lkICJDbG9uZSBmYWlsZWQuIgotbXNnc3RyICLopIflhpnjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIiCisjOiBsaWIvc3Noa2V5LnRjbDozMQorbXNnaWQgIk5vIGtleXMgZm91bmQuIgorbXNnc3RyICLjgq3jg7zjgYzjgYLjgorjgb7jgZvjgpPjgIIiCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTE1Ci1tc2dpZCAiTm8gZGVmYXVsdCBicmFuY2ggb2J0YWluZWQuIgotbXNnc3RyICLjg4fjg5Xjgqnjg7zjg6vjg4jjg7vjg5bjg6njg7Pjg4HjgYzlj5blvpfjgZXjgozjgb7jgZvjgpPjgafjgZfjgZ8iCi0KLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTI2CisjOiBsaWIvc3Noa2V5LnRjbDozNAogIywgdGNsLWZvcm1hdAotbXNnaWQgIkNhbm5vdCByZXNvbHZlICVzIGFzIGEgY29tbWl0LiIKLW1zZ3N0ciAiJXMg44KS44Kz44Of44OD44OI44Go44GX44Gm6Kej6YeI44Gn44GN44G+44Gb44KTIgorbXNnaWQgIkZvdW5kIGEgcHVibGljIGtleSBpbjogJXMiCittc2dzdHIgIuWFrOmWi+mNteOBjOOBguOCiuOBvuOBl+OBnzogJXMiCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTM4Ci1tc2dpZCAiQ3JlYXRpbmcgd29ya2luZyBkaXJlY3RvcnkiCi1tc2dzdHIgIuS9nOalreODh+OCo+ODrOOCr+ODiOODquOCkuS9nOaIkOOBl+OBpuOBhOOBvuOBmSIKKyM6IGxpYi9zc2hrZXkudGNsOjQwCittc2dpZCAiR2VuZXJhdGUgS2V5IgorbXNnc3RyICLpjbXjgpLnlJ/miJAiCiAKLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTM5IGxpYi9pbmRleC50Y2w6NjcgbGliL2luZGV4LnRjbDoxMzAKLSM6IGxpYi9pbmRleC50Y2w6MTk4Ci1tc2dpZCAiZmlsZXMiCi1tc2dzdHIgIuODleOCoeOCpOODqyIKKyM6IGxpYi9zc2hrZXkudGNsOjU4Cittc2dpZCAiQ29weSBUbyBDbGlwYm9hcmQiCittc2dzdHIgIuOCr+ODquODg+ODl+ODnOODvOODieOBq+OCs+ODlOODvCIKIAotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo5NjgKLW1zZ2lkICJJbml0aWFsIGZpbGUgY2hlY2tvdXQgZmFpbGVkLiIKLW1zZ3N0ciAi5Yid5pyf44OB44Kn44OD44Kv44Ki44Km44OI44Gr5aSx5pWX44GX44G+44GX44GfIgorIzogbGliL3NzaGtleS50Y2w6NzIKK21zZ2lkICJZb3VyIE9wZW5TU0ggUHVibGljIEtleSIKK21zZ3N0ciAi44GC44Gq44Gf44GuIE9wZW5TU0gg5YWs6ZaL6Y21IgogCi0jOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEwMTEKLW1zZ2lkICJPcGVuIgotbXNnc3RyICLplovjgY8iCisjOiBsaWIvc3Noa2V5LnRjbDo4MAorbXNnaWQgIkdlbmVyYXRpbmcuLi4iCittc2dzdHIgIueUn+aIkOS4rS4uLiIKIAotIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMDIxCi1tc2dpZCAiUmVwb3NpdG9yeToiCi1tc2dzdHIgIuODquODneOCuOODiOODqjoiCi0KLSM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTA3MgorIzogbGliL3NzaGtleS50Y2w6ODYKICMsIHRjbC1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gb3BlbiByZXBvc2l0b3J5ICVzOiIKLW1zZ3N0ciAi44Oq44Od44K444OI44OqICVzIOOCkumWi+OBkeOBvuOBm+OCkzoiCittc2dpZCAiIgorIkNvdWxkIG5vdCBzdGFydCBzc2gta2V5Z2VuOlxuIgorIlxuIgorIiVzIgorbXNnc3RyICIiCisic3NoLWtleWdlbiDjgpLotbfli5XjgafjgY3jgb7jgZvjgpM6XG4iCisiXG4iCisiJXMiCiAKLSM6IGxpYi9jaG9vc2VfcmV2LnRjbDo1MwotbXNnaWQgIlRoaXMgRGV0YWNoZWQgQ2hlY2tvdXQiCi1tc2dzdHIgIuWIhumbouOBleOCjOOBn+ODgeOCp+ODg+OCr+OCouOCpuODiCIKKyM6IGxpYi9zc2hrZXkudGNsOjExMworbXNnaWQgIkdlbmVyYXRpb24gZmFpbGVkLiIKK21zZ3N0ciAi55Sf5oiQ44Gr5aSx5pWX44GX44G+44GX44Gf44CCIgogCi0jOiBsaWIvY2hvb3NlX3Jldi50Y2w6NjAKLW1zZ2lkICJSZXZpc2lvbiBFeHByZXNzaW9uOiIKLW1zZ3N0ciAi44Oq44OT44K444On44Oz5byPOiIKKyM6IGxpYi9zc2hrZXkudGNsOjEyMAorbXNnaWQgIkdlbmVyYXRpb24gc3VjY2VlZGVkLCBidXQgbm8ga2V5cyBmb3VuZC4iCittc2dzdHIgIueUn+aIkOOBq+OBr+aIkOWKn+OBl+OBvuOBl+OBn+OBjOOAgemNteOBjOimi+OBpOOBi+OCiuOBvuOBm+OCk+OAgiIKIAotIzogbGliL2Nob29zZV9yZXYudGNsOjc0Ci1tc2dpZCAiTG9jYWwgQnJhbmNoIgotbXNnc3RyICLjg63jg7zjgqvjg6vjg7vjg5bjg6njg7Pjg4EiCi0KLSM6IGxpYi9jaG9vc2VfcmV2LnRjbDo3OQotbXNnaWQgIlRyYWNraW5nIEJyYW5jaCIKLW1zZ3N0ciAi44OI44Op44OD44Kt44Oz44Kw44O744OW44Op44Oz44OBIgotCi0jOiBsaWIvY2hvb3NlX3Jldi50Y2w6ODQgbGliL2Nob29zZV9yZXYudGNsOjUzOAotbXNnaWQgIlRhZyIKLW1zZ3N0ciAi44K/44KwIgotCi0jOiBsaWIvY2hvb3NlX3Jldi50Y2w6MzE3CisjOiBsaWIvc3Noa2V5LnRjbDoxMjMKICMsIHRjbC1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIHJldmlzaW9uOiAlcyIKLW1zZ3N0ciAi54Sh5Yq544Gq44Oq44OT44K444On44OzOiAlcyIKLQotIzogbGliL2Nob29zZV9yZXYudGNsOjMzOAotbXNnaWQgIk5vIHJldmlzaW9uIHNlbGVjdGVkLiIKLW1zZ3N0ciAi44Oq44OT44K444On44Oz44GM5pyq6YG45oqe44Gn44GZ44CCIgotCi0jOiBsaWIvY2hvb3NlX3Jldi50Y2w6MzQ2Ci1tc2dpZCAiUmV2aXNpb24gZXhwcmVzc2lvbiBpcyBlbXB0eS4iCi1tc2dzdHIgIuODquODk+OCuOODp+ODs+W8j+OBjOepuuOBp+OBmeOAgiIKLQotIzogbGliL2Nob29zZV9yZXYudGNsOjUzMQotbXNnaWQgIlVwZGF0ZWQiCi1tc2dzdHIgIuabtOaWsOOBl+OBvuOBl+OBnyIKLQotIzogbGliL2Nob29zZV9yZXYudGNsOjU1OQotbXNnaWQgIlVSTCIKLW1zZ3N0ciAiVVJMIgorbXNnaWQgIllvdXIga2V5IGlzIGluOiAlcyIKK21zZ3N0ciAi44GC44Gq44Gf44Gu6Y2144GvICVzIOOBq+OBguOCiuOBvuOBmSIKIAogIzogbGliL2NvbW1pdC50Y2w6OQogbXNnaWQgIiIKQEAgLTEzNjksNyArMjM3Nyw3IEBACiAiXG4iCiAi6Ieq5YuV55qE44Gr5YaN44K544Kt44Oj44Oz44KS6ZaL5aeL44GX44G+44GZ44CCXG4iCiAKLSM6IGxpYi9jb21taXQudGNsOjE3MgorIzogbGliL2NvbW1pdC50Y2w6MTczCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiIgogIlVubWVyZ2VkIGZpbGVzIGNhbm5vdCBiZSBjb21taXR0ZWQuXG4iCkBAIC0xMzgyLDcgKzIzOTAsNyBAQAogIuODleOCoeOCpOODqyAlcyDjgavjga/jg57jg7zjgrjooZ3nqoHjgYzmrovjgaPjgabjgYTjgb7jgZnjgILjgb7jgZrop6PmsbrjgZfjgabjgrPjg5/jg4Pjg4jkuojlrprjgavliqDjgYjjgovlv4UiCiAi6KaB44GM44GC44KK44G+44GZ44CCXG4iCiAKLSM6IGxpYi9jb21taXQudGNsOjE4MAorIzogbGliL2NvbW1pdC50Y2w6MTgxCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiIgogIlVua25vd24gZmlsZSBzdGF0ZSAlcyBkZXRlY3RlZC5cbiIKQEAgLTEzOTMsNyArMjQwMSw3IEBACiAiXG4iCiAi44OV44Kh44Kk44OrICVzIOOBr+acrOODl+ODreOCsOODqeODoOOBp+OBr+OCs+ODn+ODg+ODiOOBp+OBjeOBvuOBm+OCk+OAglxuIgogCi0jOiBsaWIvY29tbWl0LnRjbDoxODgKKyM6IGxpYi9jb21taXQudGNsOjE4OQogbXNnaWQgIiIKICJObyBjaGFuZ2VzIHRvIGNvbW1pdC5cbiIKICJcbiIKQEAgLTE0MDMsNyArMjQxMSw3IEBACiAiXG4iCiAi5pyA5L2O5LiA44Gk44Gu5aSJ5pu044KS44Kz44Of44OD44OI5LqI5a6a44Gr5Yqg44GI44Gm44GL44KJ44Kz44Of44OD44OI44GX44Gm5LiL44GV44GE44CCXG4iCiAKLSM6IGxpYi9jb21taXQudGNsOjIwMworIzogbGliL2NvbW1pdC50Y2w6MjA0CiBtc2dpZCAiIgogIlBsZWFzZSBzdXBwbHkgYSBjb21taXQgbWVzc2FnZS5cbiIKICJcbiIKQEAgLTE0MjEsNDAgKzI0MjksNTcgQEAKICItIOesrO+8kuihjDog56m655m9XG4iCiAiLSDmrovjgorjga7ooYw6IOOBquOBnOOAgeOBk+OBruWkieabtOOBjOiJr+OBhOWkieabtOOBi+OAgeOBruiqrOaYjuOAglxuIgogCi0jOiBsaWIvY29tbWl0LnRjbDoyMzQKKyM6IGxpYi9jb21taXQudGNsOjIzNQogbXNnaWQgIkNhbGxpbmcgcHJlLWNvbW1pdCBob29rLi4uIgogbXNnc3RyICLjgrPjg5/jg4Pjg4jliY3jg5Xjg4Pjgq/jgpLlrp/ooYzkuK3jg7vjg7vjg7siCiAKLSM6IGxpYi9jb21taXQudGNsOjI0OQorIzogbGliL2NvbW1pdC50Y2w6MjUwCiBtc2dpZCAiQ29tbWl0IGRlY2xpbmVkIGJ5IHByZS1jb21taXQgaG9vay4iCiBtc2dzdHIgIuOCs+ODn+ODg+ODiOWJjeODleODg+OCr+OBjOOCs+ODn+ODg+ODiOOCkuaLkuWQpuOBl+OBvuOBl+OBnyIKIAotIzogbGliL2NvbW1pdC50Y2w6MjcyCisjOiBsaWIvY29tbWl0LnRjbDoyNjkKK21zZ2lkICIiCisiWW91IGFyZSBhYm91dCB0byBjb21taXQgb24gYSBkZXRhY2hlZCBoZWFkLiBUaGlzIGlzIGEgcG90ZW50aWFsbHkgZGFuZ2Vyb3VzICIKKyJ0aGluZyB0byBkbyBiZWNhdXNlIGlmIHlvdSBzd2l0Y2ggdG8gYW5vdGhlciBicmFuY2ggeW91IHdpbGwgbG9zZSB5b3VyICIKKyJjaGFuZ2VzIGFuZCBpdCBjYW4gYmUgZGlmZmljdWx0IHRvIHJldHJpZXZlIHRoZW0gbGF0ZXIgZnJvbSB0aGUgcmVmbG9nLiBZb3UgIgorInNob3VsZCBwcm9iYWJseSBjYW5jZWwgdGhpcyBjb21taXQgYW5kIGNyZWF0ZSBhIG5ldyBicmFuY2ggdG8gY29udGludWUuXG4iCisiIFxuIgorIiBEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcHJvY2VlZCB3aXRoIHlvdXIgQ29tbWl0PyIKK21zZ3N0ciAiIgorIuWIhumboiBIRUFEIOOBp+OBruWkieabtOOCkuOCs+ODn+ODg+ODiOOBl+OCiOOBhuOBqOOBl+OBpuOBhOOBvuOBmeOAgiIKKyLjgZPjgozjga/mvZzlnKjnmoTjgavljbHpmbrjgarooYzngrrjgafjgIHnkIbnlLHjga/liKXjga7jg5bjg6njg7Pjg4Hjgbjjga7liIfjgormm7/jgYjjgaciCisi5aSJ5pu044GM5raI5aSx44GX44CBcmVmbG9nIOOBi+OCieOBruS6i+W+jOW+qeaXp+OCguWbsOmbo+OBqOOBquOCi+OBn+OCgeOBp+OBmeOAgiIKKyLjgYrjgZ3jgonjgY/jgZPjga7jgrPjg5/jg4Pjg4jjga/jgq3jg6Pjg7Pjgrvjg6vjgZfmlrDjgZfjgY/kvZzmiJDjgZfjgZ/jg5bjg6njg7Pjg4HjgaciCisi6KGM44GG44G544GN44Gn44GZ44CCXG4iCisiXG4iCisiIOacrOW9k+OBq+OCs+ODn+ODg+ODiOOCkue2muihjOOBl+OBvuOBmeOBi++8nyIKKworIzogbGliL2NvbW1pdC50Y2w6MjkwCiBtc2dpZCAiQ2FsbGluZyBjb21taXQtbXNnIGhvb2suLi4iCiBtc2dzdHIgIuOCs+ODn+ODg+ODiOODu+ODoeODg+OCu+ODvOOCuOODu+ODleODg+OCr+OCkuWun+ihjOS4reODu+ODu+ODuyIKIAotIzogbGliL2NvbW1pdC50Y2w6Mjg3CisjOiBsaWIvY29tbWl0LnRjbDozMDUKIG1zZ2lkICJDb21taXQgZGVjbGluZWQgYnkgY29tbWl0LW1zZyBob29rLiIKIG1zZ3N0ciAi44Kz44Of44OD44OI44O744Oh44OD44K744O844K444O744OV44OD44Kv44GM44Kz44Of44OD44OI44KS5ouS5ZCm44GX44G+44GX44GfIgogCi0jOiBsaWIvY29tbWl0LnRjbDozMDAKKyM6IGxpYi9jb21taXQudGNsOjMxOAogbXNnaWQgIkNvbW1pdHRpbmcgY2hhbmdlcy4uLiIKIG1zZ3N0ciAi5aSJ5pu054K544KS44Kz44Of44OD44OI5Lit44O744O744O7IgogCi0jOiBsaWIvY29tbWl0LnRjbDozMTYKKyM6IGxpYi9jb21taXQudGNsOjMzNAogbXNnaWQgIndyaXRlLXRyZWUgZmFpbGVkOiIKIG1zZ3N0ciAid3JpdGUtdHJlZSDjgYzlpLHmlZfjgZfjgb7jgZfjgZ86IgogCi0jOiBsaWIvY29tbWl0LnRjbDozMTcgbGliL2NvbW1pdC50Y2w6MzYxIGxpYi9jb21taXQudGNsOjM4MgorIzogbGliL2NvbW1pdC50Y2w6MzM1IGxpYi9jb21taXQudGNsOjM3OSBsaWIvY29tbWl0LnRjbDo0MDAKIG1zZ2lkICJDb21taXQgZmFpbGVkLiIKIG1zZ3N0ciAi44Kz44Of44OD44OI44Gr5aSx5pWX44GX44G+44GX44Gf44CCIgogCi0jOiBsaWIvY29tbWl0LnRjbDozMzQKKyM6IGxpYi9jb21taXQudGNsOjM1MgogIywgdGNsLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBhcHBlYXJzIHRvIGJlIGNvcnJ1cHQiCiBtc2dzdHIgIuOCs+ODn+ODg+ODiCAlcyDjga/lo4rjgozjgabjgYTjgb7jgZkiCiAKLSM6IGxpYi9jb21taXQudGNsOjMzOQorIzogbGliL2NvbW1pdC50Y2w6MzU3CiBtc2dpZCAiIgogIk5vIGNoYW5nZXMgdG8gY29tbWl0LlxuIgogIlxuIgpAQCAtMTQ2OCw2NjUgKzI0OTMsNTMgQEAKICJcbiIKICLoh6rli5XnmoTjgavlho3jgrnjgq3jg6Pjg7PjgpLplovlp4vjgZfjgb7jgZnjgIJcbiIKIAotIzogbGliL2NvbW1pdC50Y2w6MzQ2CisjOiBsaWIvY29tbWl0LnRjbDozNjQKIG1zZ2lkICJObyBjaGFuZ2VzIHRvIGNvbW1pdC4iCiBtc2dzdHIgIuOCs+ODn+ODg+ODiOOBmeOCi+WkieabtOOBjOOBguOCiuOBvuOBm+OCk+OAgiIKIAotIzogbGliL2NvbW1pdC50Y2w6MzYwCisjOiBsaWIvY29tbWl0LnRjbDozNzgKIG1zZ2lkICJjb21taXQtdHJlZSBmYWlsZWQ6IgogbXNnc3RyICJjb21taXQtdHJlZSDjgYzlpLHmlZfjgZfjgb7jgZfjgZ86IgogCi0jOiBsaWIvY29tbWl0LnRjbDozODEKKyM6IGxpYi9jb21taXQudGNsOjM5OQogbXNnaWQgInVwZGF0ZS1yZWYgZmFpbGVkOiIKIG1zZ3N0ciAidXBkYXRlLXJlZiDjgYzlpLHmlZfjgZfjgb7jgZfjgZ86IgogCi0jOiBsaWIvY29tbWl0LnRjbDo0NjkKKyM6IGxpYi9jb21taXQudGNsOjQ5MgogIywgdGNsLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgY29tbWl0ICVzOiAlcyIKIG1zZ3N0ciAi44Kz44Of44OD44OIICVzIOOCkuS9nOaIkOOBl+OBvuOBl+OBnzogJXMiCiAKLSM6IGxpYi9jb25zb2xlLnRjbDo1OQotbXNnaWQgIldvcmtpbmcuLi4gcGxlYXNlIHdhaXQuLi4iCi1tc2dzdHIgIuWun+ihjOS4reKApuOBiuW+heOBoeS4i+OBleOBhOKApiIKKyM6IGxpYi9icm93c2VyLnRjbDoxNworbXNnaWQgIlN0YXJ0aW5nLi4uIgorbXNnc3RyICLotbfli5XkuK3igKYiCiAKLSM6IGxpYi9jb25zb2xlLnRjbDoxODYKLW1zZ2lkICJTdWNjZXNzIgotbXNnc3RyICLmiJDlip8iCisjOiBsaWIvYnJvd3Nlci50Y2w6MjcKK21zZ2lkICJGaWxlIEJyb3dzZXIiCittc2dzdHIgIuODleOCoeOCpOODq+ODu+ODluODqeOCpuOCtiIKIAotIzogbGliL2NvbnNvbGUudGNsOjIwMAotbXNnaWQgIkVycm9yOiBDb21tYW5kIEZhaWxlZCIKLW1zZ3N0ciAi44Ko44Op44O8OiDjgrPjg57jg7Pjg4njgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCi0KLSM6IGxpYi9kYXRhYmFzZS50Y2w6NDMKLW1zZ2lkICJOdW1iZXIgb2YgbG9vc2Ugb2JqZWN0cyIKLW1zZ3N0ciAi44Gw44KJ44Gw44KJ44Gq44Kq44OW44K444Kn44Kv44OI44Gu5pWwIgotCi0jOiBsaWIvZGF0YWJhc2UudGNsOjQ0Ci1tc2dpZCAiRGlzayBzcGFjZSB1c2VkIGJ5IGxvb3NlIG9iamVjdHMiCi1tc2dzdHIgIuOBsOOCieOBsOOCieOBquOCquODluOCuOOCp+OCr+ODiOOBruS9v+eUqOOBmeOCi+ODh+OCo+OCueOCr+mHjyIKLQotIzogbGliL2RhdGFiYXNlLnRjbDo0NQotbXNnaWQgIk51bWJlciBvZiBwYWNrZWQgb2JqZWN0cyIKLW1zZ3N0ciAi44OR44OD44Kv44GV44KM44Gf44Kq44OW44K444Kn44Kv44OI44Gu5pWwIgotCi0jOiBsaWIvZGF0YWJhc2UudGNsOjQ2Ci1tc2dpZCAiTnVtYmVyIG9mIHBhY2tzIgotbXNnc3RyICLjg5Hjg4Pjgq/jga7mlbAiCi0KLSM6IGxpYi9kYXRhYmFzZS50Y2w6NDcKLW1zZ2lkICJEaXNrIHNwYWNlIHVzZWQgYnkgcGFja2VkIG9iamVjdHMiCi1tc2dzdHIgIuODkeODg+OCr+OBleOCjOOBn+OCquODluOCuOOCp+OCr+ODiOOBruS9v+eUqOOBmeOCi+ODh+OCo+OCueOCr+mHjyIKLQotIzogbGliL2RhdGFiYXNlLnRjbDo0OAotbXNnaWQgIlBhY2tlZCBvYmplY3RzIHdhaXRpbmcgZm9yIHBydW5pbmciCi1tc2dzdHIgIuODkeODg+OCr+OBq+WtmOWcqOOBmeOCi+OBruOBp+aNqOOBpuOBpuiJr+OBhOOCquODluOCuOOCp+OCr+ODiOOBruaVsCIKLQotIzogbGliL2RhdGFiYXNlLnRjbDo0OQotbXNnaWQgIkdhcmJhZ2UgZmlsZXMiCi1tc2dzdHIgIuOCtOODn+ODleOCoeOCpOODqyIKLQotIzogbGliL2RhdGFiYXNlLnRjbDo3MgotbXNnaWQgIkNvbXByZXNzaW5nIHRoZSBvYmplY3QgZGF0YWJhc2UiCi1tc2dzdHIgIuODh+ODvOOCv+ODmeODvOOCueWcp+e4riIKLQotIzogbGliL2RhdGFiYXNlLnRjbDo4MwotbXNnaWQgIlZlcmlmeWluZyB0aGUgb2JqZWN0IGRhdGFiYXNlIHdpdGggZnNjay1vYmplY3RzIgotbXNnc3RyICJmc2NrLW9iamVjdHMg44Gn44Kq44OW44K444Kn44Kv44OI44O744OH44O844K/44OZ44O844K544KS5qSc6Ki844GX44Gm44GE44G+44GZIgotCi0jOiBsaWIvZGF0YWJhc2UudGNsOjEwNworIzogbGliL2Jyb3dzZXIudGNsOjEzMiBsaWIvYnJvd3Nlci50Y2w6MTQ5CiAjLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiIgotIlRoaXMgcmVwb3NpdG9yeSBjdXJyZW50bHkgaGFzIGFwcHJveGltYXRlbHkgJWkgbG9vc2Ugb2JqZWN0cy5cbiIKLSJcbiIKLSJUbyBtYWludGFpbiBvcHRpbWFsIHBlcmZvcm1hbmNlIGl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRoYXQgeW91IGNvbXByZXNzICIKLSJ0aGUgZGF0YWJhc2UuXG4iCi0iXG4iCi0iQ29tcHJlc3MgdGhlIGRhdGFiYXNlIG5vdz8iCi1tc2dzdHIgIiIKLSLjgZPjga7jg6rjg53jgrjjg4jjg6rjgavjga/jgYrjgYrjgojjgZ0gJWkg5YCL44Gu5YCL5Yil44Kq44OW44K444Kn44Kv44OI44GM44GC44KK44G+44GZXG4iCi0iXG4iCi0i5pyA6YGp44Gq5oCn6IO944KS5L+d44Gk44Gf44KB44Gr44CB44OH44O844K/44OZ44O844K544KS5Zyn57iu44GZ44KL44GT44Go44KS5o6o5aWo44GX44G+44GZXG4iCi0iXG4iCi0i44OH44O844K/44OZ44O844K544KS5Zyn57iu44GX44G+44GZ44GL77yfIgorbXNnaWQgIkxvYWRpbmcgJXMuLi4iCittc2dzdHIgIiVzIOOCkuODreODvOODieS4reKApiIKIAotIzogbGliL2RhdGUudGNsOjI1Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCBkYXRlIGZyb20gR2l0OiAlcyIKLW1zZ3N0ciAiR2l0IOOBi+OCieWHuuOBn+eEoeWKueOBquaXpeS7mDogJXMiCisjOiBsaWIvYnJvd3Nlci50Y2w6MTkzCittc2dpZCAiW1VwIFRvIFBhcmVudF0iCittc2dzdHIgIlvkuIrkvY3jg5Xjgqnjg6vjg4DjgbhdIgogCi0jOiBsaWIvZGlmZi50Y2w6NjQKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICIiCi0iTm8gZGlmZmVyZW5jZXMgZGV0ZWN0ZWQuXG4iCi0iXG4iCi0iJXMgaGFzIG5vIGNoYW5nZXMuXG4iCi0iXG4iCi0iVGhlIG1vZGlmaWNhdGlvbiBkYXRlIG9mIHRoaXMgZmlsZSB3YXMgdXBkYXRlZCBieSBhbm90aGVyIGFwcGxpY2F0aW9uLCBidXQgIgotInRoZSBjb250ZW50IHdpdGhpbiB0aGUgZmlsZSB3YXMgbm90IGNoYW5nZWQuXG4iCi0iXG4iCi0iQSByZXNjYW4gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHN0YXJ0ZWQgdG8gZmluZCBvdGhlciBmaWxlcyB3aGljaCBtYXkgaGF2ZSAiCi0idGhlIHNhbWUgc3RhdGUuIgotbXNnc3RyICIiCi0i5aSJ5pu044GM44GC44KK44G+44Gb44KT44CCXG4iCi0iXG4iCi0iJXMg44Gr44Gv5aSJ5pu044GM44GC44KK44G+44Gb44KT44CCXG4iCi0iXG4iCi0i44GT44Gu44OV44Kh44Kk44Or44Gu5aSJ5pu05pmC5Yi744Gv5LuW44Gu44Ki44OX44Oq44Kx44O844K344On44Oz44Gr44KI44Gj44Gm5pu05paw44GV44KM44Gm44GE44G+44GZ44GM44OV44Kh44KkIgotIuODq+WGheWuueOBq+OBr+WkieabtOOBjOOBguOCiuOBvuOBm+OCk+OAglxuIgotIlxuIgotIuWQjOanmOOBqueKtuaFi+OBruODleOCoeOCpOODq+OCkuaOouOBmeOBn+OCgeOBq+OAgeiHquWLleeahOOBq+WGjeOCueOCreODo+ODs+OCkumWi+Wni+OBl+OBvuOBmeOAgiIKKyM6IGxpYi9icm93c2VyLnRjbDoyNzUgbGliL2Jyb3dzZXIudGNsOjI4MgorbXNnaWQgIkJyb3dzZSBCcmFuY2ggRmlsZXMiCittc2dzdHIgIuePvuWcqOOBruODluODqeODs+ODgeOBruODleOCoeOCpOODq+OCkuimi+OCiyIKIAotIzogbGliL2RpZmYudGNsOjEwNAotIywgdGNsLWZvcm1hdAotbXNnaWQgIkxvYWRpbmcgZGlmZiBvZiAlcy4uLiIKLW1zZ3N0ciAiJXMg44Gu5aSJ5pu054K544KS44Ot44O844OJ5Lit4oCmIgotCi0jOiBsaWIvZGlmZi50Y2w6MTI1Ci1tc2dpZCAiIgotIkxPQ0FMOiBkZWxldGVkXG4iCi0iUkVNT1RFOlxuIgotbXNnc3RyICIiCi0iTE9DQUw6IOWJiumZpFxuIgotIlJlbW90ZTpcbiIKLQotIzogbGliL2RpZmYudGNsOjEzMAotbXNnaWQgIiIKLSJSRU1PVEU6IGRlbGV0ZWRcbiIKLSJMT0NBTDpcbiIKLW1zZ3N0ciAiIgotIlJFTU9URTog5YmK6ZmkXG4iCi0iTE9DQUw6XG4iCi0KLSM6IGxpYi9kaWZmLnRjbDoxMzcKLW1zZ2lkICJMT0NBTDpcbiIKLW1zZ3N0ciAiTE9DQUw6XG4iCi0KLSM6IGxpYi9kaWZmLnRjbDoxNDAKLW1zZ2lkICJSRU1PVEU6XG4iCi1tc2dzdHIgIlJFTU9URVxuIgotCi0jOiBsaWIvZGlmZi50Y2w6MjAyIGxpYi9kaWZmLnRjbDozMTkKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gZGlzcGxheSAlcyIKLW1zZ3N0ciAiJXMg44KS6KGo56S644Gn44GN44G+44Gb44KTIgotCi0jOiBsaWIvZGlmZi50Y2w6MjAzCi1tc2dpZCAiRXJyb3IgbG9hZGluZyBmaWxlOiIKLW1zZ3N0ciAi44OV44Kh44Kk44Or44KS6Kqt44KA6Zqb44Gu44Ko44Op44O844Gn44GZOiIKLQotIzogbGliL2RpZmYudGNsOjIxMAotbXNnaWQgIkdpdCBSZXBvc2l0b3J5IChzdWJwcm9qZWN0KSIKLW1zZ3N0ciAiR2l0IOODquODneOCuOODiOODqijjgrXjg5bjg5fjg63jgrjjgqfjgq/jg4gpIgotCi0jOiBsaWIvZGlmZi50Y2w6MjIyCi1tc2dpZCAiKiBCaW5hcnkgZmlsZSAobm90IHNob3dpbmcgY29udGVudCkuIgotbXNnc3RyICIqIOODkOOCpOODiuODquODleOCoeOCpOODqyjlhoXlrrnjga/ooajnpLrjgZfjgb7jgZvjgpMpIgotCi0jOiBsaWIvZGlmZi50Y2w6MjI3Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiIgotIiogVW50cmFja2VkIGZpbGUgaXMgJWQgYnl0ZXMuXG4iCi0iKiBTaG93aW5nIG9ubHkgZmlyc3QgJWQgYnl0ZXMuXG4iCi1tc2dzdHIgIiIKLSIqIOeuoeeQhuWkluOBruODleOCoeOCpOODq+OBruWkp+OBjeOBleOBryAlZCDjg5DjgqTjg4jjgafjgZnjgIJcbiIKLSIqIOacgOWIneOBriAlZCDjg5DjgqTjg4jjgaDjgZHooajnpLrjgZfjgabjgYTjgb7jgZnjgIJcbiIKLQotIzogbGliL2RpZmYudGNsOjIzMwotIywgdGNsLWZvcm1hdAotbXNnaWQgIiIKLSJcbiIKLSIqIFVudHJhY2tlZCBmaWxlIGNsaXBwZWQgaGVyZSBieSAlcy5cbiIKLSIqIFRvIHNlZSB0aGUgZW50aXJlIGZpbGUsIHVzZSBhbiBleHRlcm5hbCBlZGl0b3IuXG4iCi1tc2dzdHIgIiIKLSJcbiIKLSJcbiIKLSIqICVzIOOBr+euoeeQhuWkluOBruODleOCoeOCpOODq+OCkuOBk+OBk+OBp+WIh+OCiuOBiuOBqOOBl+OBvuOBl+OBn+OAglxuIgotIiog5YWo5L2T44KS6KaL44KL44Gr44Gv5aSW6YOo44Ko44OH44Kj44K/44KS5L2/44Gj44Gm44GP44Gg44GV44GE44CCXG4iCi0KLSM6IGxpYi9kaWZmLnRjbDo0ODIKLW1zZ2lkICJGYWlsZWQgdG8gdW5zdGFnZSBzZWxlY3RlZCBodW5rLiIKLW1zZ3N0ciAi6YG45oqe44GV44KM44Gf44OR44OD44OB44KS44Kz44Of44OD44OI5LqI5a6a44GL44KJ5aSW44Gb44G+44Gb44KT44CCIgotCi0jOiBsaWIvZGlmZi50Y2w6NDg5Ci1tc2dpZCAiRmFpbGVkIHRvIHN0YWdlIHNlbGVjdGVkIGh1bmsuIgotbXNnc3RyICLpgbjmip7jgZXjgozjgZ/jg5Hjg4Pjg4HjgpLjgrPjg5/jg4Pjg4jkuojlrprjgavliqDjgYjjgonjgozjgb7jgZvjgpPjgIIiCi0KLSM6IGxpYi9kaWZmLnRjbDo1NjgKLW1zZ2lkICJGYWlsZWQgdG8gdW5zdGFnZSBzZWxlY3RlZCBsaW5lLiIKLW1zZ3N0ciAi6YG45oqe44GV44KM44Gf44OR44OD44OB6KGM44KS44Kz44Of44OD44OI5LqI5a6a44GL44KJ5aSW44Gb44G+44Gb44KT44CCIgotCi0jOiBsaWIvZGlmZi50Y2w6NTc2Ci1tc2dpZCAiRmFpbGVkIHRvIHN0YWdlIHNlbGVjdGVkIGxpbmUuIgotbXNnc3RyICLpgbjmip7jgZXjgozjgZ/jg5Hjg4Pjg4HooYzjgpLjgrPjg5/jg4Pjg4jkuojlrprjgavliqDjgYjjgonjgozjgb7jgZvjgpPjgIIiCi0KLSM6IGxpYi9lbmNvZGluZy50Y2w6NDQzCi1tc2dpZCAiRGVmYXVsdCIKLW1zZ3N0ciAi44OH44OV44Kp44O844Or44OIIgotCi0jOiBsaWIvZW5jb2RpbmcudGNsOjQ0OAotIywgdGNsLWZvcm1hdAotbXNnaWQgIlN5c3RlbSAoJXMpIgotbXNnc3RyICLjgrfjgrnjg4bjg6AgKCVzKSIKLQotIzogbGliL2VuY29kaW5nLnRjbDo0NTkgbGliL2VuY29kaW5nLnRjbDo0NjUKLW1zZ2lkICJPdGhlciIKLW1zZ3N0ciAi44Gd44Gu5LuWIgotCi0jOiBsaWIvZXJyb3IudGNsOjIwIGxpYi9lcnJvci50Y2w6MTE0Ci1tc2dpZCAiZXJyb3IiCi1tc2dzdHIgIuOCqOODqeODvCIKLQotIzogbGliL2Vycm9yLnRjbDozNgotbXNnaWQgIndhcm5pbmciCi1tc2dzdHIgIuitpuWRiiIKLQotIzogbGliL2Vycm9yLnRjbDo5NAotbXNnaWQgIllvdSBtdXN0IGNvcnJlY3QgdGhlIGFib3ZlIGVycm9ycyBiZWZvcmUgY29tbWl0dGluZy4iCi1tc2dzdHIgIuOCs+ODn+ODg+ODiOOBmeOCi+WJjeOBq+OAgeS7peS4iuOBruOCqOODqeODvOOCkuS/ruato+OBl+OBpuS4i+OBleOBhCIKLQotIzogbGliL2luZGV4LnRjbDo2Ci1tc2dpZCAiVW5hYmxlIHRvIHVubG9jayB0aGUgaW5kZXguIgotbXNnc3RyICLjgqTjg7Pjg4fjg4Pjgq/jgrnjgpLjg63jg4Pjgq/jgafjgY3jgb7jgZvjgpMiCi0KLSM6IGxpYi9pbmRleC50Y2w6MTUKLW1zZ2lkICJJbmRleCBFcnJvciIKLW1zZ3N0ciAi57Si5byV44Ko44Op44O8IgotCi0jOiBsaWIvaW5kZXgudGNsOjE3Ci1tc2dpZCAiIgotIlVwZGF0aW5nIHRoZSBHaXQgaW5kZXggZmFpbGVkLiAgQSByZXNjYW4gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHN0YXJ0ZWQgdG8gIgotInJlc3luY2hyb25pemUgZ2l0LWd1aS4iCi1tc2dzdHIgIiIKLSJHSVQg44Kk44Oz44OH44OD44Kv44K544Gu5pu05paw44GM5aSx5pWX44GX44G+44GX44Gf44CCZ2l0LWd1aSDjgajlkIzmnJ/jgpLjgajjgovjgZ/jgoHjgavlho3jgrnjgq3jg6Pjg7PjgZciCi0i44G+44GZ44CCIgotCi0jOiBsaWIvaW5kZXgudGNsOjI4Ci1tc2dpZCAiQ29udGludWUiCi1tc2dzdHIgIue2muihjCIKLQotIzogbGliL2luZGV4LnRjbDozMQotbXNnaWQgIlVubG9jayBJbmRleCIKLW1zZ3N0ciAi44Kk44Oz44OH44OD44Kv44K544Gu44Ot44OD44Kv6Kej6ZmkIgotCi0jOiBsaWIvaW5kZXgudGNsOjI4OQotIywgdGNsLWZvcm1hdAotbXNnaWQgIlVuc3RhZ2luZyAlcyBmcm9tIGNvbW1pdCIKLW1zZ3N0ciAi44Kz44Of44OD44OI44GL44KJICclcycg44KS6ZmN44KN44GZIgotCi0jOiBsaWIvaW5kZXgudGNsOjMyOAotbXNnaWQgIlJlYWR5IHRvIGNvbW1pdC4iCi1tc2dzdHIgIuOCs+ODn+ODg+ODiOa6luWCmeWujOS6hiIKLQotIzogbGliL2luZGV4LnRjbDozNDEKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJBZGRpbmcgJXMiCi1tc2dzdHIgIuOCs+ODn+ODg+ODiOOBqyAlcyDjgpLliqDjgYjjgabjgYTjgb7jgZkiCi0KLSM6IGxpYi9pbmRleC50Y2w6Mzk4Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiUmV2ZXJ0IGNoYW5nZXMgaW4gZmlsZSAlcz8iCi1tc2dzdHIgIuODleOCoeOCpOODqyAlcyDjgavjgZfjgZ/lpInmm7TjgpLlhYPjgavmiLvjgZfjgb7jgZnjgYvvvJ8iCi0KLSM6IGxpYi9pbmRleC50Y2w6NDAwCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiUmV2ZXJ0IGNoYW5nZXMgaW4gdGhlc2UgJWkgZmlsZXM/IgotbXNnc3RyICLjgZPjgozjgokgJWkg5YCL44Gu44OV44Kh44Kk44Or44Gr44GX44Gf5aSJ5pu044KS5YWD44Gr5oi744GX44G+44GZ44GL77yfIgotCi0jOiBsaWIvaW5kZXgudGNsOjQwOAotbXNnaWQgIkFueSB1bnN0YWdlZCBjaGFuZ2VzIHdpbGwgYmUgcGVybWFuZW50bHkgbG9zdCBieSB0aGUgcmV2ZXJ0LiIKLW1zZ3N0ciAi5aSJ5pu044KS5YWD44Gr5oi744GZ44Go44Kz44Of44OD44OI5LqI5a6a44GX44Gm44GE44Gq44GE5aSJ5pu044Gv5YWo44Gm5aSx44KP44KM44G+44GZ44CCIgotCi0jOiBsaWIvaW5kZXgudGNsOjQxMQotbXNnaWQgIkRvIE5vdGhpbmciCi1tc2dzdHIgIuS9leOCguOBl+OBquOBhCIKLQotIzogbGliL2luZGV4LnRjbDo0MjkKLW1zZ2lkICJSZXZlcnRpbmcgc2VsZWN0ZWQgZmlsZXMiCi1tc2dzdHIgIumBuOaKnuOBleOCjOOBn+ODleOCoeOCpOODq+OBq+OBl+OBn+WkieabtOOCkuWFg+OBq+aIu+OBl+OBvuOBmSIKLQotIzogbGliL2luZGV4LnRjbDo0MzMKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJSZXZlcnRpbmcgJXMiCi1tc2dzdHIgIiVzIOOBq+OBl+OBn+WkieabtOOCkuWFg+OBq+aIu+OBl+OBvuOBmSIKLQotIzogbGliL21lcmdlLnRjbDoxMwotbXNnaWQgIiIKLSJDYW5ub3QgbWVyZ2Ugd2hpbGUgYW1lbmRpbmcuXG4iCi0iXG4iCi0iWW91IG11c3QgZmluaXNoIGFtZW5kaW5nIHRoaXMgY29tbWl0IGJlZm9yZSBzdGFydGluZyBhbnkgdHlwZSBvZiBtZXJnZS5cbiIKLW1zZ3N0ciAiIgotIuioguato+S4reOBq+OBr+ODnuODvOOCuOOBp+OBjeOBvuOBm+OCk+OAglxuIgotIlxuIgotIuioguato+WHpueQhuOCkuWujOS6huOBmeOCi+OBvuOBp+OBr+aWsOOBn+OBq+ODnuODvOOCuOOCkumWi+Wni+OBp+OBjeOBvuOBm+OCk+OAglxuIgotCi0jOiBsaWIvbWVyZ2UudGNsOjI3Ci1tc2dpZCAiIgotIkxhc3Qgc2Nhbm5lZCBzdGF0ZSBkb2VzIG5vdCBtYXRjaCByZXBvc2l0b3J5IHN0YXRlLlxuIgotIlxuIgotIkFub3RoZXIgR2l0IHByb2dyYW0gaGFzIG1vZGlmaWVkIHRoaXMgcmVwb3NpdG9yeSBzaW5jZSB0aGUgbGFzdCBzY2FuLiAgQSAiCi0icmVzY2FuIG11c3QgYmUgcGVyZm9ybWVkIGJlZm9yZSBhIG1lcmdlIGNhbiBiZSBwZXJmb3JtZWQuXG4iCi0iXG4iCi0iVGhlIHJlc2NhbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc3RhcnRlZCBub3cuXG4iCi1tc2dzdHIgIiIKLSLmnIDlvozjgavjgrnjgq3jg6Pjg7PjgZfjgZ/nirbmhYvjga/jg6rjg53jgrjjg4jjg6rjga7nirbmhYvjgajlkIjoh7TjgZfjgb7jgZvjgpPjgIJcbiIKLSJcbiIKLSLmnIDlvozjgavjgrnjgq3jg6Pjg7PjgZfjgabku6XlvozjgIHliKXjga4gR2l0IOODl+ODreOCsOODqeODoOOBjOODquODneOCuOODiOODquOCkuWkieabtOOBl+OBpuOBhOOBvuOBmeOAguODnuODvCIKLSLjgrjjgpLplovlp4vjgZnjgovliY3jgavjgIHlho3jgrnjgq3jg6Pjg7PjgYzlv4XopoHjgafjgZnjgIJcbiIKLSJcbiIKLSLoh6rli5XnmoTjgavlho3jgrnjgq3jg6Pjg7PjgpLplovlp4vjgZfjgb7jgZnjgIJcbiIKLQotIzogbGliL21lcmdlLnRjbDo0NQotIywgdGNsLWZvcm1hdAotbXNnaWQgIiIKLSJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjb25mbGljdGVkIG1lcmdlLlxuIgotIlxuIgotIkZpbGUgJXMgaGFzIG1lcmdlIGNvbmZsaWN0cy5cbiIKLSJcbiIKLSJZb3UgbXVzdCByZXNvbHZlIHRoZW0sIHN0YWdlIHRoZSBmaWxlLCBhbmQgY29tbWl0IHRvIGNvbXBsZXRlIHRoZSBjdXJyZW50ICIKLSJtZXJnZS4gIE9ubHkgdGhlbiBjYW4geW91IGJlZ2luIGFub3RoZXIgbWVyZ2UuXG4iCi1tc2dzdHIgIiIKLSLooZ3nqoHjga7jgYLjgaPjgZ/jg57jg7zjgrjjga7pgJTkuK3jgafjgZnjgIJcbiIKLSJcbiIKLSLjg5XjgqHjgqTjg6sgJXMg44Gr44Gv44Oe44O844K45Lit44Gu6KGd56qB44GM5q6L44Gj44Gm44GE44G+44GZ44CCXG4iCi0iXG4iCi0i44GT44Gu44OV44Kh44Kk44Or44Gu6KGd56qB44KS6Kej5rG644GX44CB44Kz44Of44OD44OI5LqI5a6a44Gr5Yqg44GI44Gm44CB44Kz44Of44OD44OI44GZ44KL44GT44Go44Gn44Oe44O844K444KSIgotIuWujOS6huOBl+OBvuOBmeOAguOBneOBhuOChOOBo+OBpuWni+OCgeOBpuOAgeaWsOOBn+OBquODnuODvOOCuOOCkumWi+Wni+OBp+OBjeOCi+OCiOOBhuOBq+OBquOCiuOBvuOBmeOAglxuIgotCi0jOiBsaWIvbWVyZ2UudGNsOjU1Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiIgotIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNoYW5nZS5cbiIKLSJcbiIKLSJGaWxlICVzIGlzIG1vZGlmaWVkLlxuIgotIlxuIgotIllvdSBzaG91bGQgY29tcGxldGUgdGhlIGN1cnJlbnQgY29tbWl0IGJlZm9yZSBzdGFydGluZyBhIG1lcmdlLiAgRG9pbmcgc28gIgotIndpbGwgaGVscCB5b3UgYWJvcnQgYSBmYWlsZWQgbWVyZ2UsIHNob3VsZCB0aGUgbmVlZCBhcmlzZS5cbiIKLW1zZ3N0ciAiIgotIuWkieabtOOBrumAlOS4reOBp+OBmeOAglxuIgotIlxuIgotIuODleOCoeOCpOODqyAlcyDjga/lpInmm7TkuK3jgafjgZnjgIJcbiIKLSJcbiIKLSLnj77lnKjjga7jgrPjg5/jg4Pjg4jjgpLlrozkuobjgZfjgabjgYvjgonjg57jg7zjgrjjgpLplovlp4vjgZfjgabkuIvjgZXjgYTjgILjgZ3jgYbjgZnjgovmlrnjgYzjg57jg7zjgrjjgavlpLHmlZciCi0i44GX44Gf44Go44GN44Gu5Zue5b6p44GM5qW944Gn44GZ44CCXG4iCi0KLSM6IGxpYi9tZXJnZS50Y2w6MTA3Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiJXMgb2YgJXMiCi1tc2dzdHIgIiVzIOOBriAlcyDjg5bjg6njg7Pjg4EiCi0KLSM6IGxpYi9tZXJnZS50Y2w6MTIwCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiTWVyZ2luZyAlcyBhbmQgJXMuLi4iCi1tc2dzdHIgIiVzIOOBqCAlcyDjgpLjg57jg7zjgrjkuK3jg7vjg7vjg7siCi0KLSM6IGxpYi9tZXJnZS50Y2w6MTMxCi1tc2dpZCAiTWVyZ2UgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4iCi1tc2dzdHIgIuODnuODvOOCuOOBjOWujOS6huOBl+OBvuOBl+OBnyIKLQotIzogbGliL21lcmdlLnRjbDoxMzMKLW1zZ2lkICJNZXJnZSBmYWlsZWQuICBDb25mbGljdCByZXNvbHV0aW9uIGlzIHJlcXVpcmVkLiIKLW1zZ3N0ciAi44Oe44O844K444GM5aSx5pWX44GX44G+44GX44Gf44CC6KGd56qB44Gu6Kej5rG644GM5b+F6KaB44Gn44GZ44CCIgotCi0jOiBsaWIvbWVyZ2UudGNsOjE1OAotIywgdGNsLWZvcm1hdAotbXNnaWQgIk1lcmdlIEludG8gJXMiCi1tc2dzdHIgIiVzIOOBq+ODnuODvOOCuCIKLQotIzogbGliL21lcmdlLnRjbDoxNzcKLW1zZ2lkICJSZXZpc2lvbiBUbyBNZXJnZSIKLW1zZ3N0ciAi44Oe44O844K444GZ44KL44Oq44OT44K444On44OzIgotCi0jOiBsaWIvbWVyZ2UudGNsOjIxMgotbXNnaWQgIiIKLSJDYW5ub3QgYWJvcnQgd2hpbGUgYW1lbmRpbmcuXG4iCi0iXG4iCi0iWW91IG11c3QgZmluaXNoIGFtZW5kaW5nIHRoaXMgY29tbWl0LlxuIgotbXNnc3RyICIiCi0i6KiC5q2j5Lit44Gr44Gv5Lit5q2i44Gn44GN44G+44Gb44KT44CCXG4iCi0iXG4iCi0i44G+44Ga5LuK44Gu44Kz44Of44OD44OI6KiC5q2j44KS5a6M5LqG44GV44Gb44Gm5LiL44GV44GE44CCXG4iCi0KLSM6IGxpYi9tZXJnZS50Y2w6MjIyCi1tc2dpZCAiIgotIkFib3J0IG1lcmdlP1xuIgotIlxuIgotIkFib3J0aW5nIHRoZSBjdXJyZW50IG1lcmdlIHdpbGwgY2F1c2UgKkFMTCogdW5jb21taXR0ZWQgY2hhbmdlcyB0byBiZSBsb3N0LlxuIgotIlxuIgotIkNvbnRpbnVlIHdpdGggYWJvcnRpbmcgdGhlIGN1cnJlbnQgbWVyZ2U/IgotbXNnc3RyICIiCi0i44Oe44O844K444KS5Lit5pat44GX44G+44GZ44GL77yfXG4iCi0iXG4iCi0i54++5Zyo44Gu44Oe44O844K444KS5Lit5pat44GZ44KL44Go44CB44Kz44Of44OD44OI44GX44Gm44GE44Gq44GE5YWo44Gm44Gu5aSJ5pu044GM5aSx44KP44KM44G+44GZ44CCXG4iCi0iXG4iCi0i44Oe44O844K444KS5Lit5pat44GX44Gm44KI44KN44GX44GE44Gn44GZ44GL77yfIgotCi0jOiBsaWIvbWVyZ2UudGNsOjIyOAotbXNnaWQgIiIKLSJSZXNldCBjaGFuZ2VzP1xuIgotIlxuIgotIlJlc2V0dGluZyB0aGUgY2hhbmdlcyB3aWxsIGNhdXNlICpBTEwqIHVuY29tbWl0dGVkIGNoYW5nZXMgdG8gYmUgbG9zdC5cbiIKLSJcbiIKLSJDb250aW51ZSB3aXRoIHJlc2V0dGluZyB0aGUgY3VycmVudCBjaGFuZ2VzPyIKLW1zZ3N0ciAiIgotIuWkieabtOeCueOCkuODquOCu+ODg+ODiOOBl+OBvuOBmeOBi++8n1xuIgotIlxuIgotIuWkieabtOeCueOCkuODquOCu+ODg+ODiOOBmeOCi+OBqOOAgeOCs+ODn+ODg+ODiOOBl+OBpuOBhOOBquOBhOWFqOOBpuOBruWkieabtOOBjOWkseOCj+OCjOOBvuOBmeOAglxuIgotIlxuIgotIuODquOCu+ODg+ODiOOBl+OBpuOCiOOCjeOBl+OBhOOBp+OBmeOBi++8nyIKLQotIzogbGliL21lcmdlLnRjbDoyMzkKLW1zZ2lkICJBYm9ydGluZyIKLW1zZ3N0ciAi5Lit5pat44GX44Gm44GE44G+44GZIgotCi0jOiBsaWIvbWVyZ2UudGNsOjIzOQotbXNnaWQgImZpbGVzIHJlc2V0IgotbXNnc3RyICLjg6rjgrvjg4Pjg4jjgZfjgZ/jg5XjgqHjgqTjg6siCi0KLSM6IGxpYi9tZXJnZS50Y2w6MjY3Ci1tc2dpZCAiQWJvcnQgZmFpbGVkLiIKLW1zZ3N0ciAi5Lit5pat44Gr5aSx5pWX44GX44G+44GX44Gf44CCIgotCi0jOiBsaWIvbWVyZ2UudGNsOjI2OQotbXNnaWQgIkFib3J0IGNvbXBsZXRlZC4gIFJlYWR5LiIKLW1zZ3N0ciAi5Lit5pat5a6M5LqG44CCIgotCi0jOiBsaWIvbWVyZ2V0b29sLnRjbDo4Ci1tc2dpZCAiRm9yY2UgcmVzb2x1dGlvbiB0byB0aGUgYmFzZSB2ZXJzaW9uPyIKLW1zZ3N0ciAi5YWx6YCa44Gu54mI44KS5L2/44GE44G+44GZ44GLPyIKLQotIzogbGliL21lcmdldG9vbC50Y2w6OQotbXNnaWQgIkZvcmNlIHJlc29sdXRpb24gdG8gdGhpcyBicmFuY2g/IgotbXNnc3RyICLoh6rliIbjga7lgbTjga7niYjjgpLkvb/jgYTjgb7jgZnjgYs/IgotCi0jOiBsaWIvbWVyZ2V0b29sLnRjbDoxMAotbXNnaWQgIkZvcmNlIHJlc29sdXRpb24gdG8gdGhlIG90aGVyIGJyYW5jaD8iCi1tc2dzdHIgIuebuOaJi+WItuOBrueJiOOCkuS9v+OBhOOBvuOBmeOBiz8iCi0KLSM6IGxpYi9tZXJnZXRvb2wudGNsOjE0Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiIgotIk5vdGUgdGhhdCB0aGUgZGlmZiBzaG93cyBvbmx5IGNvbmZsaWN0aW5nIGNoYW5nZXMuXG4iCi0iXG4iCi0iJXMgd2lsbCBiZSBvdmVyd3JpdHRlbi5cbiIKLSJcbiIKLSJUaGlzIG9wZXJhdGlvbiBjYW4gYmUgdW5kb25lIG9ubHkgYnkgcmVzdGFydGluZyB0aGUgbWVyZ2UuIgotbXNnc3RyICIiCi0i56u25ZCI44GZ44KL5aSJ5pu054K544Gg44GR44GM6KGo56S644GV44KM44Gm44GE44KL44GT44Go44Gr5rOo5oSP44GX44Gm44GP44Gg44GV44GE44CCXG4iCi0iXG4iCi0iJXMg44Gv5LiK5pu444GN44GV44KM44G+44GZ44CCXG4iCi0iXG4iCi0i44KE44KK55u044GZ44Gr44Gv44Oe44O844K45YWo5L2T44KS44KE44KK55u044GX44Gm44GP44Gg44GV44GE44CCIgotCi0jOiBsaWIvbWVyZ2V0b29sLnRjbDo0NQotIywgdGNsLWZvcm1hdAotbXNnaWQgIkZpbGUgJXMgc2VlbXMgdG8gaGF2ZSB1bnJlc29sdmVkIGNvbmZsaWN0cywgc3RpbGwgc3RhZ2U/IgotbXNnc3RyICIiCi0i44OV44Kh44Kk44OrICVzIOOBq+OBr+ino+axuuOBl+OBpuOBhOOBquOBhOertuWQiOmDqOWIhuOBjOOBvuOBoOOBguOCi+OCiOOBhuOBp+OBmeOBjOOAgeOBhOOBhOOBp+OBmeOBiz8iCi0KLSM6IGxpYi9tZXJnZXRvb2wudGNsOjYwCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiQWRkaW5nIHJlc29sdXRpb24gZm9yICVzIgotbXNnc3RyICIlcyDjgbjjga7op6PmsbrjgpLjgrnjg4bjg7zjgrjjgZfjgb7jgZkiCi0KLSM6IGxpYi9tZXJnZXRvb2wudGNsOjE0MQotbXNnaWQgIkNhbm5vdCByZXNvbHZlIGRlbGV0aW9uIG9yIGxpbmsgY29uZmxpY3RzIHVzaW5nIGEgdG9vbCIKLW1zZ3N0ciAi44OE44O844Or44Gn44Gv5YmK6Zmk44KE44Oq44Oz44Kv56u25ZCI44Gv5omx44GI44G+44Gb44KTIgotCi0jOiBsaWIvbWVyZ2V0b29sLnRjbDoxNDYKLW1zZ2lkICJDb25mbGljdCBmaWxlIGRvZXMgbm90IGV4aXN0IgotbXNnc3RyICLnq7blkIjjg5XjgqHjgqTjg6vjga/lrZjlnKjjgZfjgb7jgZvjgpPjgIIiCi0KLSM6IGxpYi9tZXJnZXRvb2wudGNsOjI2NAotIywgdGNsLWZvcm1hdAotbXNnaWQgIk5vdCBhIEdVSSBtZXJnZSB0b29sOiAnJXMnIgotbXNnc3RyICJHVUkg44Oe44O844K444OE44O844Or44Gn44Gv44GC44KK44G+44Gb44KTOiAlcyIKLQotIzogbGliL21lcmdldG9vbC50Y2w6MjY4Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiVW5zdXBwb3J0ZWQgbWVyZ2UgdG9vbCAnJXMnIgotbXNnc3RyICLjg57jg7zjgrjjg4Tjg7zjg6sgJyVzJyDjga/jgrXjg53jg7zjg4jjgZfjgabjgYTjgb7jgZvjgpMiCi0KLSM6IGxpYi9tZXJnZXRvb2wudGNsOjMwMwotbXNnaWQgIk1lcmdlIHRvb2wgaXMgYWxyZWFkeSBydW5uaW5nLCB0ZXJtaW5hdGUgaXQ/IgotbXNnc3RyICLjg57jg7zjgrjjg4Tjg7zjg6vjga/jgZnjgafjgavotbfli5XjgZfjgabjgYTjgb7jgZnjgILntYLkuobjgZfjgb7jgZnjgYs/IgotCi0jOiBsaWIvbWVyZ2V0b29sLnRjbDozMjMKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICIiCi0iRXJyb3IgcmV0cmlldmluZyB2ZXJzaW9uczpcbiIKLSIlcyIKLW1zZ3N0ciAiIgotIueJiOOBruWPluOCiuWHuuOBl+aZguOBq+OCqOODqeODvOOBjOWHuuOBvuOBl+OBnzpcbiIKLSIlcyIKLQotIzogbGliL21lcmdldG9vbC50Y2w6MzQzCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiIgotIkNvdWxkIG5vdCBzdGFydCB0aGUgbWVyZ2UgdG9vbDpcbiIKLSJcbiIKLSIlcyIKLW1zZ3N0ciAiIgotIuODnuODvOOCuOODhOODvOODq+OBjOi1t+WLleOBp+OBjeOBvuOBm+OCkzpcbiIKLSJcbiIKLSIlcyIKLQotIzogbGliL21lcmdldG9vbC50Y2w6MzQ3Ci1tc2dpZCAiUnVubmluZyBtZXJnZSB0b29sLi4uIgotbXNnc3RyICLjg57jg7zjgrjjg4Tjg7zjg6vjgpLlrp/ooYzjgZfjgabjgYTjgb7jgZkuLi4iCi0KLSM6IGxpYi9tZXJnZXRvb2wudGNsOjM3NSBsaWIvbWVyZ2V0b29sLnRjbDozODMKLW1zZ2lkICJNZXJnZSB0b29sIGZhaWxlZC4iCi1tc2dzdHIgIuODnuODvOOCuOODhOODvOODq+OBjOWkseaVl+OBl+OBvuOBl+OBn+OAgiIKLQotIzogbGliL29wdGlvbi50Y2w6MTEKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGdsb2JhbCBlbmNvZGluZyAnJXMnIgotbXNnc3RyICLlhajkvZPjgqjjg7PjgrPjg7zjg4fjgqPjg7PjgrDjgasg54Sh5Yq544GqICVzIOOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBmSIKLQotIzogbGliL29wdGlvbi50Y2w6MTkKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIHJlcG8gZW5jb2RpbmcgJyVzJyIKLW1zZ3N0ciAi44Oq44Od44K444OI44Oq44Ko44Oz44Kz44O844OH44Kj44Oz44Kw44GrIOeEoeWKueOBqiAlcyDjgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZkiCi0KLSM6IGxpYi9vcHRpb24udGNsOjExNwotbXNnaWQgIlJlc3RvcmUgRGVmYXVsdHMiCi1tc2dzdHIgIuaXouWumuWApOOBq+aIu+OBmSIKLQotIzogbGliL29wdGlvbi50Y2w6MTIxCi1tc2dpZCAiU2F2ZSIKLW1zZ3N0ciAi5L+d5a2YIgotCi0jOiBsaWIvb3B0aW9uLnRjbDoxMzEKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICIlcyBSZXBvc2l0b3J5IgotbXNnc3RyICIlcyDjg6rjg53jgrjjg4jjg6oiCi0KLSM6IGxpYi9vcHRpb24udGNsOjEzMgotbXNnaWQgIkdsb2JhbCAoQWxsIFJlcG9zaXRvcmllcykiCi1tc2dzdHIgIuWkp+Wfn++8iOWFqOOBpuOBruODquODneOCuOODiOODqu+8iSIKLQotIzogbGliL29wdGlvbi50Y2w6MTM4Ci1tc2dpZCAiVXNlciBOYW1lIgotbXNnc3RyICLjg6bjg7zjgrblkI0iCi0KLSM6IGxpYi9vcHRpb24udGNsOjEzOQotbXNnaWQgIkVtYWlsIEFkZHJlc3MiCi1tc2dzdHIgIumbu+WtkOODoeODvOODq+OCouODieODrOOCuSIKLQotIzogbGliL29wdGlvbi50Y2w6MTQxCi1tc2dpZCAiU3VtbWFyaXplIE1lcmdlIENvbW1pdHMiCi1tc2dzdHIgIuODnuODvOOCuOOCs+ODn+ODg+ODiOOBruimgee0hCIKLQotIzogbGliL29wdGlvbi50Y2w6MTQyCi1tc2dpZCAiTWVyZ2UgVmVyYm9zaXR5IgotbXNnc3RyICLjg57jg7zjgrjjga7lhpfplbfluqYiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE0MwotbXNnaWQgIlNob3cgRGlmZnN0YXQgQWZ0ZXIgTWVyZ2UiCi1tc2dzdHIgIuODnuODvOOCuOW+jOOBqyBkaWZmc3RhdCDjgpLooajnpLoiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE0NAotbXNnaWQgIlVzZSBNZXJnZSBUb29sIgotbXNnc3RyICLjg57jg7zjgrjjg4Tjg7zjg6vjgpLkvb/nlKgiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE0NgotbXNnaWQgIlRydXN0IEZpbGUgTW9kaWZpY2F0aW9uIFRpbWVzdGFtcHMiCi1tc2dzdHIgIuODleOCoeOCpOODq+WkieabtOaZguWIu+OCkuS/oemgvOOBmeOCiyIKLQotIzogbGliL29wdGlvbi50Y2w6MTQ3Ci1tc2dpZCAiUHJ1bmUgVHJhY2tpbmcgQnJhbmNoZXMgRHVyaW5nIEZldGNoIgotbXNnc3RyICLjg5Xjgqfjg4Pjg4HkuK3jgavjg4jjg6njg4Pjgq3jg7PjgrDjg5bjg6njg7Pjg4HjgpLliIjjgosiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE0OAotbXNnaWQgIk1hdGNoIFRyYWNraW5nIEJyYW5jaGVzIgotbXNnc3RyICLjg4jjg6njg4Pjgq3jg7PjgrDjg5bjg6njg7Pjg4HjgpLlkIjjgo/jgZvjgosiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE0OQotbXNnaWQgIkJsYW1lIENvcHkgT25seSBPbiBDaGFuZ2VkIEZpbGVzIgotbXNnc3RyICLlpInmm7TjgZXjgozjgZ/jg5XjgqHjgqTjg6vjga7jgb/jgrPjg5Tjg7zmpJznn6XjgpLooYzjgarjgYYiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE1MAotbXNnaWQgIk1pbmltdW0gTGV0dGVycyBUbyBCbGFtZSBDb3B5IE9uIgotbXNnc3RyICLjgrPjg5Tjg7zjgpLmpJznn6XjgZnjgovmnIDlsJHmloflrZfmlbAiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE1MQotbXNnaWQgIkJsYW1lIEhpc3RvcnkgQ29udGV4dCBSYWRpdXMgKGRheXMpIgotbXNnc3RyICLoqLvph4jjgZnjgovlsaXmrbTljYrlvoTvvIjml6XmlbDvvIkiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE1MgotbXNnaWQgIk51bWJlciBvZiBEaWZmIENvbnRleHQgTGluZXMiCi1tc2dzdHIgImRpZmYg44Gu5paH6ISI6KGM5pWwIgotCi0jOiBsaWIvb3B0aW9uLnRjbDoxNTMKLW1zZ2lkICJDb21taXQgTWVzc2FnZSBUZXh0IFdpZHRoIgotbXNnc3RyICLjgrPjg5/jg4Pjg4jjg6Hjg4Pjgrvjg7zjgrjjga7jg4bjgq3jgrnjg4jluYUiCi0KLSM6IGxpYi9vcHRpb24udGNsOjE1NAotbXNnaWQgIk5ldyBCcmFuY2ggTmFtZSBUZW1wbGF0ZSIKLW1zZ3N0ciAi5paw44GX44GE44OW44Op44Oz44OB5ZCN44Gu44OG44Oz44OX44Os44O844OIIgotCi0jOiBsaWIvb3B0aW9uLnRjbDoxNTUKLW1zZ2lkICJEZWZhdWx0IEZpbGUgQ29udGVudHMgRW5jb2RpbmciCi1tc2dzdHIgIuODleOCoeOCpOODq+WGheWuueOBruODh+ODleOCqeODvOODq+ODiOOCqOODs+OCs+ODvOODh+OCo+ODs+OCsCIKLQotIzogbGliL29wdGlvbi50Y2w6MjAzCi1tc2dpZCAiQ2hhbmdlIgotbXNnc3RyICLlpInmm7QiCi0KLSM6IGxpYi9vcHRpb24udGNsOjIzMAotbXNnaWQgIlNwZWxsaW5nIERpY3Rpb25hcnk6IgotbXNnc3RyICLjgrnjg5rjg6vjg4Hjgqfjg4Pjgq/ovp7mm7giCi0KLSM6IGxpYi9vcHRpb24udGNsOjI1NAotbXNnaWQgIkNoYW5nZSBGb250IgotbXNnc3RyICLjg5Xjgqnjg7Pjg4jjgpLlpInmm7QiCi0KLSM6IGxpYi9vcHRpb24udGNsOjI1OAotIywgdGNsLWZvcm1hdAotbXNnaWQgIkNob29zZSAlcyIKLW1zZ3N0ciAiJXMg44KS6YG45oqeIgotCi0jOiBsaWIvb3B0aW9uLnRjbDoyNjQKLW1zZ2lkICJwdC4iCi1tc2dzdHIgIuODneOCpOODs+ODiCIKLQotIzogbGliL29wdGlvbi50Y2w6Mjc4Ci1tc2dpZCAiUHJlZmVyZW5jZXMiCi1tc2dzdHIgIuioreWumiIKLQotIzogbGliL29wdGlvbi50Y2w6MzE0Ci1tc2dpZCAiRmFpbGVkIHRvIGNvbXBsZXRlbHkgc2F2ZSBvcHRpb25zOiIKLW1zZ3N0ciAi5a6M5YWo44Gr44Kq44OX44K344On44Oz44KS5L+d5a2Y44Gn44GN44G+44Gb44KTOiIKLQotIzogbGliL3JlbW90ZS50Y2w6MTYzCi1tc2dpZCAiUmVtb3ZlIFJlbW90ZSIKLW1zZ3N0ciAi44Oq44Oi44O844OI44KS5YmK6ZmkIgotCi0jOiBsaWIvcmVtb3RlLnRjbDoxNjgKLW1zZ2lkICJQcnVuZSBmcm9tIgotbXNnc3RyICLjgYvjgonliIjovrzjgoDigKYiCi0KLSM6IGxpYi9yZW1vdGUudGNsOjE3MwotbXNnaWQgIkZldGNoIGZyb20iCi1tc2dzdHIgIuWPluW+l+WFgyIKLQotIzogbGliL3JlbW90ZS50Y2w6MjE1Ci1tc2dpZCAiUHVzaCB0byIKLW1zZ3N0ciAi44OX44OD44K344Ol5YWIIgotCi0jOiBsaWIvcmVtb3RlX2FkZC50Y2w6MTkKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoyMAogbXNnaWQgIkFkZCBSZW1vdGUiCiBtc2dzdHIgIuODquODouODvOODiOOCkui/veWKoCIKIAotIzogbGliL3JlbW90ZV9hZGQudGNsOjI0CisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MjUKIG1zZ2lkICJBZGQgTmV3IFJlbW90ZSIKIG1zZ3N0ciAi44Oq44Oi44O844OI44KS5paw6KaP44Gr6L+95YqgIgogCi0jOiBsaWIvcmVtb3RlX2FkZC50Y2w6MjggbGliL3Rvb2xzX2RsZy50Y2w6MzYKLW1zZ2lkICJBZGQiCi1tc2dzdHIgIui/veWKoCIKLQotIzogbGliL3JlbW90ZV9hZGQudGNsOjM3CisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MzkKIG1zZ2lkICJSZW1vdGUgRGV0YWlscyIKIG1zZ3N0ciAi44Oq44Oi44O844OI44Gu6Kmz57SwIgogCkBAIC0yMTM0LDE1NSArMjU0NywxMDQgQEAKIG1zZ2lkICJMb2NhdGlvbjoiCiBtc2dzdHIgIuWgtOaJgDoiCiAKLSM6IGxpYi9yZW1vdGVfYWRkLnRjbDo2MgorIzogbGliL3JlbW90ZV9hZGQudGNsOjYwCiBtc2dpZCAiRnVydGhlciBBY3Rpb24iCiBtc2dzdHIgIuOBneOBruS7luOBruWLleS9nCIKIAotIzogbGliL3JlbW90ZV9hZGQudGNsOjY1CisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6NjMKIG1zZ2lkICJGZXRjaCBJbW1lZGlhdGVseSIKIG1zZ3N0ciAi5Y2z5bqn44Gr5Y+W5b6XIgogCi0jOiBsaWIvcmVtb3RlX2FkZC50Y2w6NzEKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDo2OQogbXNnaWQgIkluaXRpYWxpemUgUmVtb3RlIFJlcG9zaXRvcnkgYW5kIFB1c2giCiBtc2dzdHIgIuODquODouODvOODiOODrOODneOCuOODiOODquOCkuWIneacn+WMluOBl+OBpuODl+ODg+OCt+ODpSIKIAotIzogbGliL3JlbW90ZV9hZGQudGNsOjc3CisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6NzUKIG1zZ2lkICJEbyBOb3RoaW5nIEVsc2UgTm93IgogbXNnc3RyICLkvZXjgoLjgZfjgarjgYQiCiAKLSM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMDEKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMDAKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IGEgcmVtb3RlIG5hbWUuIgogbXNnc3RyICLjg6rjg6Ljg7zjg4jlkI3jgpLmjIflrprjgZfjgabkuIvjgZXjgYTjgIIiCiAKLSM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMTQKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMTMKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhbiBhY2NlcHRhYmxlIHJlbW90ZSBuYW1lLiIKIG1zZ3N0ciAiJyVzJyDjga/jg6rjg6Ljg7zjg4jlkI3jgavkvb/jgYjjgb7jgZvjgpPjgIIiCiAKLSM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMjUKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMjQKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gYWRkIHJlbW90ZSAnJXMnIG9mIGxvY2F0aW9uICclcycuIgogbXNnc3RyICLloLTmiYAgJyUyJHMnIOOBruODquODouODvOODiCAnJTEkcyfjga7lkI3liY3lpInmm7TjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIiCiAKLSM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMzMgbGliL3RyYW5zcG9ydC50Y2w6NgotIywgdGNsLWZvcm1hdAotbXNnaWQgImZldGNoICVzIgotbXNnc3RyICIlcyDjgpLlj5blvpciCi0KLSM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMzQKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMzMKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyB0aGUgJXMiCiBtc2dzdHIgIiVzIOOBi+OCieODleOCp+ODg+ODgeOBl+OBpuOBhOOBvuOBmSIKIAotIzogbGliL3JlbW90ZV9hZGQudGNsOjE1NworIzogbGliL3JlbW90ZV9hZGQudGNsOjE1NgogIywgdGNsLWZvcm1hdAogbXNnaWQgIkRvIG5vdCBrbm93IGhvdyB0byBpbml0aWFsaXplIHJlcG9zaXRvcnkgYXQgbG9jYXRpb24gJyVzJy4iCiBtc2dzdHIgIuODquODneOCuOODiOODqiAnJXMnIOOCkuWIneacn+WMluOBp+OBjeOBvuOBm+OCk+OAgiIKIAotIzogbGliL3JlbW90ZV9hZGQudGNsOjE2MyBsaWIvdHJhbnNwb3J0LnRjbDoyNSBsaWIvdHJhbnNwb3J0LnRjbDo2MwotIzogbGliL3RyYW5zcG9ydC50Y2w6ODEKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJwdXNoICVzIgotbXNnc3RyICIlcyDjgpLjg5fjg4Pjgrfjg6UiCi0KLSM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxNjQKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxNjMKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJTZXR0aW5nIHVwIHRoZSAlcyAoYXQgJXMpIgogbXNnc3RyICIlMiRzIOOBq+OBguOCiyAlMSRzIOOCkuOCu+ODg+ODiOOCouODg+ODl+OBl+OBvuOBmSIKIAotIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoyOSBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjM0Ci1tc2dpZCAiRGVsZXRlIEJyYW5jaCBSZW1vdGVseSIKLW1zZ3N0ciAi6YGg6ZqU44Gn44OW44Op44Oz44OB5YmK6ZmkIgorIzogbGliL2xpbmUudGNsOjE3Cittc2dpZCAiR290byBMaW5lOiIKK21zZ3N0ciAi6KGM55Wq5Y+3IgogCi0jOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjQ3Ci1tc2dpZCAiRnJvbSBSZXBvc2l0b3J5IgotbXNnc3RyICLlhYPjga7jg6rjg53jgrjjg4jjg6oiCisjOiBsaWIvbGluZS50Y2w6MjMKK21zZ2lkICJHbyIKK21zZ3N0ciAi56e75YuVIgogCi0jOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjUwIGxpYi90cmFuc3BvcnQudGNsOjEzNAotbXNnaWQgIlJlbW90ZToiCi1tc2dzdHIgIuODquODouODvOODiDoiCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MjMKK21zZ2lkICJDcmVhdGUgQnJhbmNoIgorbXNnc3RyICLjg5bjg6njg7Pjg4HjgpLkvZzmiJAiCiAKLSM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6NjYgbGliL3RyYW5zcG9ydC50Y2w6MTQ5Ci1tc2dpZCAiQXJiaXRyYXJ5IExvY2F0aW9uOiIKLW1zZ3N0ciAi5Lu75oSP44Gu5L2N572uOiIKKyM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDoyOAorbXNnaWQgIkNyZWF0ZSBOZXcgQnJhbmNoIgorbXNnc3RyICLjg5bjg6njg7Pjg4HjgpLmlrDopo/kvZzmiJAiCiAKLSM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6ODQKLW1zZ2lkICJCcmFuY2hlcyIKLW1zZ3N0ciAi44OW44Op44Oz44OBIgorIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjQyCittc2dpZCAiQnJhbmNoIE5hbWUiCittc2dzdHIgIuODluODqeODs+ODgeWQjSIKIAotIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxMDkKLW1zZ2lkICJEZWxldGUgT25seSBJZiIKLW1zZ3N0ciAi5p2h5Lu25LuY44Gn5YmK6ZmkIgorIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjU3Cittc2dpZCAiTWF0Y2ggVHJhY2tpbmcgQnJhbmNoIE5hbWUiCittc2dzdHIgIuODiOODqeODg+OCreODs+OCsOODu+ODluODqeODs+ODgeWQjeOCkuWQiOOCj+OBm+OCiyIKIAotIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxMTEKLW1zZ2lkICJNZXJnZWQgSW50bzoiCi1tc2dzdHIgIuODnuODvOOCuOWFiDoiCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6NjYKK21zZ2lkICJTdGFydGluZyBSZXZpc2lvbiIKK21zZ3N0ciAi5Yid5pyf44Oq44OT44K444On44OzIgogCi0jOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjE1MgotbXNnaWQgIkEgYnJhbmNoIGlzIHJlcXVpcmVkIGZvciAnTWVyZ2VkIEludG8nLiIKLW1zZ3N0ciAiJ+ODnuODvOOCuOWFiCcg44Gr44Gv44OW44Op44Oz44OB44GM5b+F6KaB44Gn44GZ44CCIgorIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjcyCittc2dpZCAiVXBkYXRlIEV4aXN0aW5nIEJyYW5jaDoiCittc2dzdHIgIuaXouWtmOOBruODluODqeODs+ODgeOCkuabtOaWsDoiCiAKLSM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTg0CisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6NzUKK21zZ2lkICJObyIKK21zZ3N0ciAi44GE44GE44GIIgorCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6ODAKK21zZ2lkICJGYXN0IEZvcndhcmQgT25seSIKK21zZ3N0ciAi5pep6YCB44KK44Gu44G/IgorCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6OTcKK21zZ2lkICJDaGVja291dCBBZnRlciBDcmVhdGlvbiIKK21zZ3N0ciAi5L2c5oiQ44GX44Gm44GZ44GQ44OB44Kn44OD44Kv44Ki44Km44OIIgorCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MTMyCittc2dpZCAiUGxlYXNlIHNlbGVjdCBhIHRyYWNraW5nIGJyYW5jaC4iCittc2dzdHIgIuODiOODqeODg+OCreODs+OCsOODu+ODluODqeODs+ODgeOCkumBuOaKnuOBl+OBpuS4i+OBleOBhOOAgiIKKworIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjE0MQogIywgdGNsLWZvcm1hdAotbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIGJyYW5jaGVzIGFyZSBub3QgY29tcGxldGVseSBtZXJnZWQgaW50byAlczpcbiIKLSJcbiIKLSIgLSAlcyIKK21zZ2lkICJUcmFja2luZyBicmFuY2ggJXMgaXMgbm90IGEgYnJhbmNoIGluIHRoZSByZW1vdGUgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIiIKLSLku6XkuIvjga7jg5bjg6njg7Pjg4Hjga8gJXMg44Gr5a6M5YWo44Gr44Oe44O844K444GV44KM44Gm44GE44G+44Gb44KTOlxuIgotIlxuIgotIiAtICVzIgotCi0jOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjE4OQotIywgdGNsLWZvcm1hdAotbXNnaWQgIiIKLSJPbmUgb3IgbW9yZSBvZiB0aGUgbWVyZ2UgdGVzdHMgZmFpbGVkIGJlY2F1c2UgeW91IGhhdmUgbm90IGZldGNoZWQgdGhlICIKLSJuZWNlc3NhcnkgY29tbWl0cy4gIFRyeSBmZXRjaGluZyBmcm9tICVzIGZpcnN0LiIKLW1zZ3N0ciAiIgotIuW/heimgeOBquOCs+ODn+ODg+ODiOOBjOS4jei2s+OBl+OBpuOBhOOCi+OBn+OCgeOBq+OAgeODnuODvOOCuOaknOafu+OBjOWkseaVl+OBl+OBvuOBl+OBn+OAguOBvuOBmiAlcyDjgYvjgokiCi0i44OV44Kn44OD44OB44GX44Gm5LiL44GV44GE44CCIgotCi0jOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjIwNwotbXNnaWQgIlBsZWFzZSBzZWxlY3Qgb25lIG9yIG1vcmUgYnJhbmNoZXMgdG8gZGVsZXRlLiIKLW1zZ3N0ciAi5YmK6Zmk44GZ44KL44OW44Op44Oz44OB44KS6YG45oqe44GX44Gm5LiL44GV44GE44CCIgotCi0jOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjIyNgotIywgdGNsLWZvcm1hdAotbXNnaWQgIkRlbGV0aW5nIGJyYW5jaGVzIGZyb20gJXMiCi1tc2dzdHIgIiVzIOOBi+OCieODluODqeODs+ODgeOCkuWJiumZpOOBl+OBpuOBhOOBvuOBmeOAgiIKLQotIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoyOTIKLW1zZ2lkICJObyByZXBvc2l0b3J5IHNlbGVjdGVkLiIKLW1zZ3N0ciAi44Oq44Od44K444OI44Oq44GM6YG45oqe44GV44KM44Gm44GE44G+44Gb44KT44CCIgotCi0jOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjI5NwotIywgdGNsLWZvcm1hdAotbXNnaWQgIlNjYW5uaW5nICVzLi4uIgotbXNnc3RyICIlcyDjgpLjgrnjgq3jg6Pjg7PjgZfjgabjgYTjgb7jgZnigKYiCi0KLSM6IGxpYi9zZWFyY2gudGNsOjIxCi1tc2dpZCAiRmluZDoiCi1tc2dzdHIgIuaknOe0ojoiCi0KLSM6IGxpYi9zZWFyY2gudGNsOjIzCi1tc2dpZCAiTmV4dCIKLW1zZ3N0ciAi5qyhIgotCi0jOiBsaWIvc2VhcmNoLnRjbDoyNAotbXNnaWQgIlByZXYiCi1tc2dzdHIgIuWJjSIKLQotIzogbGliL3NlYXJjaC50Y2w6MjUKLW1zZ2lkICJDYXNlLVNlbnNpdGl2ZSIKLW1zZ3N0ciAi5aSn5paH5a2X5bCP5paH5a2X44KS5Yy65YilIgotCi0jOiBsaWIvc2hvcnRjdXQudGNsOjIxIGxpYi9zaG9ydGN1dC50Y2w6NjIKLW1zZ2lkICJDYW5ub3Qgd3JpdGUgc2hvcnRjdXQ6IgotbXNnc3RyICLjgrfjg6fjg7zjg4jjgqvjg4Pjg4jjgYzmm7jjgZHjgb7jgZvjgpM6IgotCi0jOiBsaWIvc2hvcnRjdXQudGNsOjEzNwotbXNnaWQgIkNhbm5vdCB3cml0ZSBpY29uOiIKLW1zZ3N0ciAi44Ki44Kk44Kz44Oz44GM5pu444GR44G+44Gb44KTOiIKKyLjg4jjg6njg4Pjgq3jg7PjgrDjg7vjg5bjg6njg7Pjg4EgJXMg44Gv44Oq44Oi44O844OI44Oq44Od44K444OI44Oq44Gu44OW44Op44Oz44OB44Gn44Gv44GC44KK44G+44Gb44KT44CCIgogCiAjOiBsaWIvc3BlbGxjaGVjay50Y2w6NTcKIG1zZ2lkICJVbnN1cHBvcnRlZCBzcGVsbCBjaGVja2VyIgpAQCAtMjMyMCwyMzYgKzI2ODIsMyBAQAogIzogbGliL3NwZWxsY2hlY2sudGNsOjM5MgogbXNnaWQgIlNwZWxsIENoZWNrZXIgRmFpbGVkIgogbXNnc3RyICLjgrnjg5rjg6vjg4Hjgqfjg4Pjgq/lpLHmlZciCi0KLSM6IGxpYi9zc2hrZXkudGNsOjMxCi1tc2dpZCAiTm8ga2V5cyBmb3VuZC4iCi1tc2dzdHIgIuOCreODvOOBjOOBguOCiuOBvuOBm+OCk+OAgiIKLQotIzogbGliL3NzaGtleS50Y2w6MzQKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJGb3VuZCBhIHB1YmxpYyBrZXkgaW46ICVzIgotbXNnc3RyICLlhazplovpjbXjgYzjgYLjgorjgb7jgZfjgZ86ICVzIgotCi0jOiBsaWIvc3Noa2V5LnRjbDo0MAotbXNnaWQgIkdlbmVyYXRlIEtleSIKLW1zZ3N0ciAi6Y2144KS55Sf5oiQIgotCi0jOiBsaWIvc3Noa2V5LnRjbDo1NgotbXNnaWQgIkNvcHkgVG8gQ2xpcGJvYXJkIgotbXNnc3RyICLjgq/jg6rjg4Pjg5fjg5zjg7zjg4njgavjgrPjg5Tjg7wiCi0KLSM6IGxpYi9zc2hrZXkudGNsOjcwCi1tc2dpZCAiWW91ciBPcGVuU1NIIFB1YmxpYyBLZXkiCi1tc2dzdHIgIuOBguOBquOBn+OBriBPcGVuU1NIIOWFrOmWi+mNtSIKLQotIzogbGliL3NzaGtleS50Y2w6NzgKLW1zZ2lkICJHZW5lcmF0aW5nLi4uIgotbXNnc3RyICLnlJ/miJDkuK0uLi4iCi0KLSM6IGxpYi9zc2hrZXkudGNsOjg0Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiIgotIkNvdWxkIG5vdCBzdGFydCBzc2gta2V5Z2VuOlxuIgotIlxuIgotIiVzIgotbXNnc3RyICIiCi0ic3NoLWtleWdlbiDjgpLotbfli5XjgafjgY3jgb7jgZvjgpM6XG4iCi0iXG4iCi0iJXMiCi0KLSM6IGxpYi9zc2hrZXkudGNsOjExMQotbXNnaWQgIkdlbmVyYXRpb24gZmFpbGVkLiIKLW1zZ3N0ciAi55Sf5oiQ44Gr5aSx5pWX44GX44G+44GX44Gf44CCIgotCi0jOiBsaWIvc3Noa2V5LnRjbDoxMTgKLW1zZ2lkICJHZW5lcmF0aW9uIHN1Y2NlZWRlZCwgYnV0IG5vIGtleXMgZm91bmQuIgotbXNnc3RyICLnlJ/miJDjgavjga/miJDlip/jgZfjgb7jgZfjgZ/jgYzjgIHpjbXjgYzopovjgaTjgYvjgorjgb7jgZvjgpPjgIIiCi0KLSM6IGxpYi9zc2hrZXkudGNsOjEyMQotIywgdGNsLWZvcm1hdAotbXNnaWQgIllvdXIga2V5IGlzIGluOiAlcyIKLW1zZ3N0ciAi44GC44Gq44Gf44Gu6Y2144GvICVzIOOBq+OBguOCiuOBvuOBmSIKLQotIzogbGliL3N0YXR1c19iYXIudGNsOjgzCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiJXMgLi4uICUqaSBvZiAlKmkgJXMgKCUzaSUlKSIKLW1zZ3N0ciAiJTEkcyAuLi4gJTQkKmkgJTYkcyDkuK3jga4gJTIkKmkgKCU3JDNpJSUpIgotCi0jOiBsaWIvdG9vbHMudGNsOjc1Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiUnVubmluZyAlcyByZXF1aXJlcyBhIHNlbGVjdGVkIGZpbGUuIgotbXNnc3RyICLjg5XjgqHjgqTjg6vjgpLpgbjmip7jgZfjgabjgYvjgokgJXMg44KS6LW35YuV44GX44Gm44GP44Gg44GV44GE44CCIgotCi0jOiBsaWIvdG9vbHMudGNsOjkwCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJ1biAlcz8iCi1tc2dzdHIgIuacrOW9k+OBqyAlcyDjgpLotbfli5XjgZfjgb7jgZnjgYs/IgotCi0jOiBsaWIvdG9vbHMudGNsOjExMAotIywgdGNsLWZvcm1hdAotbXNnaWQgIlRvb2w6ICVzIgotbXNnc3RyICLjg4Tjg7zjg6s6ICVzIgotCi0jOiBsaWIvdG9vbHMudGNsOjExMQotIywgdGNsLWZvcm1hdAotbXNnaWQgIlJ1bm5pbmc6ICVzIgotbXNnc3RyICLlrp/ooYzkuK06ICVzIgotCi0jOiBsaWIvdG9vbHMudGNsOjE0OQotIywgdGNsLWZvcm1hdAotbXNnaWQgIlRvb2wgY29tcGxldGVkIHN1Y2Nlc3NmdWxseTogJXMiCi1tc2dzdHIgIuODhOODvOODq+OBjOWujOS6huOBl+OBvuOBl+OBnzogJXMiCi0KLSM6IGxpYi90b29scy50Y2w6MTUxCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiVG9vbCBmYWlsZWQ6ICVzIgotbXNnc3RyICLjg4Tjg7zjg6vjgYzlpLHmlZfjgZfjgb7jgZfjgZ86ICVzIgotCi0jOiBsaWIvdG9vbHNfZGxnLnRjbDoyMgotbXNnaWQgIkFkZCBUb29sIgotbXNnc3RyICLjg4Tjg7zjg6vjga7ov73liqAiCi0KLSM6IGxpYi90b29sc19kbGcudGNsOjI4Ci1tc2dpZCAiQWRkIE5ldyBUb29sIENvbW1hbmQiCi1tc2dzdHIgIuaWsOimj+ODhOODvOODq+OCs+ODnuODs+ODieOBrui/veWKoCIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6MzMKLW1zZ2lkICJBZGQgZ2xvYmFsbHkiCi1tc2dzdHIgIuWFqOS9k+OBq+i/veWKoCIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6NDUKLW1zZ2lkICJUb29sIERldGFpbHMiCi1tc2dzdHIgIuODhOODvOODq+OBruips+e0sCIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6NDgKLW1zZ2lkICJVc2UgJy8nIHNlcGFyYXRvcnMgdG8gY3JlYXRlIGEgc3VibWVudSB0cmVlOiIKLW1zZ3N0ciAiJy8nIOOBp+OCteODluODoeODi+ODpeODvOOCkuWMuuWIh+OCiuOBvuOBmToiCi0KLSM6IGxpYi90b29sc19kbGcudGNsOjYxCi1tc2dpZCAiQ29tbWFuZDoiCi1tc2dzdHIgIuOCs+ODnuODs+ODiToiCi0KLSM6IGxpYi90b29sc19kbGcudGNsOjc0Ci1tc2dpZCAiU2hvdyBhIGRpYWxvZyBiZWZvcmUgcnVubmluZyIKLW1zZ3N0ciAi6LW35YuV44GZ44KL5YmN44Gr44OA44Kk44Ki44Ot44Kw44KS6KGo56S6IgotCi0jOiBsaWIvdG9vbHNfZGxnLnRjbDo4MAotbXNnaWQgIkFzayB0aGUgdXNlciB0byBzZWxlY3QgYSByZXZpc2lvbiAoc2V0cyAkUkVWSVNJT04pIgotbXNnc3RyICLjg6bjg7zjgrbjgavjgrPjg5/jg4Pjg4jjgpLkuIDjgaTpgbjjgbDjgZvjgosgKCRSRVZJU0lPTiDjgavjgrvjg4Pjg4jjgZfjgb7jgZkpIgotCi0jOiBsaWIvdG9vbHNfZGxnLnRjbDo4NQotbXNnaWQgIkFzayB0aGUgdXNlciBmb3IgYWRkaXRpb25hbCBhcmd1bWVudHMgKHNldHMgJEFSR1MpIgotbXNnc3RyICLjg6bjg7zjgrbjgavku5bjga7lvJXmlbDjgpLov73liqDjgZXjgZvjgosgKCRBUkdTIOOBq+OCu+ODg+ODiOOBl+OBvuOBmSkiCi0KLSM6IGxpYi90b29sc19kbGcudGNsOjkyCi1tc2dpZCAiRG9uJ3Qgc2hvdyB0aGUgY29tbWFuZCBvdXRwdXQgd2luZG93IgotbXNnc3RyICLjgrPjg57jg7Pjg4njgYvjgonjga7lh7rlipvjgqbjgqPjg7Pjg4njgqbjgpLopovjgZvjgarjgYQiCi0KLSM6IGxpYi90b29sc19kbGcudGNsOjk3Ci1tc2dpZCAiUnVuIG9ubHkgaWYgYSBkaWZmIGlzIHNlbGVjdGVkICgkRklMRU5BTUUgbm90IGVtcHR5KSIKLW1zZ3N0ciAi44OR44OD44OB44GM6YG444Gw44KM44Gm44GE44KL44Go44GN44Gg44GR5YuV44GL44GZKCRGSUxFTkFNRSDjgYznqbrjgafjgarjgYQpIgotCi0jOiBsaWIvdG9vbHNfZGxnLnRjbDoxMjEKLW1zZ2lkICJQbGVhc2Ugc3VwcGx5IGEgbmFtZSBmb3IgdGhlIHRvb2wuIgotbXNnc3RyICLjg4Tjg7zjg6vlkI3jgpLmjIflrprjgZfjgabkuIvjgZXjgYTjgIIiCi0KLSM6IGxpYi90b29sc19kbGcudGNsOjEyOQotIywgdGNsLWZvcm1hdAotbXNnaWQgIlRvb2wgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCi1tc2dzdHIgIuODhOODvOODqyAnJXMnIOOBr+aXouOBq+WtmOWcqOOBl+OBvuOBmeOAgiIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6MTUxCi0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiIgotIkNvdWxkIG5vdCBhZGQgdG9vbDpcbiIKLSIlcyIKLW1zZ3N0ciAiIgotIuODhOODvOODq+OCkui/veWKoOOBp+OBjeOBvuOBm+OCkzpcbiIKLSIlcyIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6MTkwCi1tc2dpZCAiUmVtb3ZlIFRvb2wiCi1tc2dzdHIgIuODhOODvOODq+OBruWJiumZpCIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6MTk2Ci1tc2dpZCAiUmVtb3ZlIFRvb2wgQ29tbWFuZHMiCi1tc2dzdHIgIuODhOODvOODq+OCs+ODnuODs+ODieOBruWJiumZpCIKLQotIzogbGliL3Rvb2xzX2RsZy50Y2w6MjAwCi1tc2dpZCAiUmVtb3ZlIgotbXNnc3RyICLliYrpmaQiCi0KLSM6IGxpYi90b29sc19kbGcudGNsOjIzNgotbXNnaWQgIihCbHVlIGRlbm90ZXMgcmVwb3NpdG9yeS1sb2NhbCB0b29scykiCi1tc2dzdHIgIijpnZLoibLjga/jg63jg7zjgqvjg6vjg6zjg53jgrjjg4jjg6rjga7jg4Tjg7zjg6vjgafjgZkpIgotCi0jOiBsaWIvdG9vbHNfZGxnLnRjbDoyOTcKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJSdW4gQ29tbWFuZDogJXMiCi1tc2dzdHIgIuOCs+ODnuODs+ODieOCkui1t+WLlTogJXMiCi0KLSM6IGxpYi90b29sc19kbGcudGNsOjMxMQotbXNnaWQgIkFyZ3VtZW50cyIKLW1zZ3N0ciAi5byV5pWwIgotCi0jOiBsaWIvdG9vbHNfZGxnLnRjbDozNDgKLW1zZ2lkICJPSyIKLW1zZ3N0ciAiT0siCi0KLSM6IGxpYi90cmFuc3BvcnQudGNsOjcKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJGZXRjaGluZyBuZXcgY2hhbmdlcyBmcm9tICVzIgotbXNnc3RyICIlcyDjgYvjgonmlrDjgZfjgYTlpInmm7TjgpLjg5Xjgqfjg4Pjg4HjgZfjgabjgYTjgb7jgZkiCi0KLSM6IGxpYi90cmFuc3BvcnQudGNsOjE4Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAicmVtb3RlIHBydW5lICVzIgotbXNnc3RyICLpgaDpmpTliIjovrwgJXMiCi0KLSM6IGxpYi90cmFuc3BvcnQudGNsOjE5Ci0jLCB0Y2wtZm9ybWF0Ci1tc2dpZCAiUHJ1bmluZyB0cmFja2luZyBicmFuY2hlcyBkZWxldGVkIGZyb20gJXMiCi1tc2dzdHIgIiVzIOOBi+OCieWJiumZpOOBleOCjOOBn+ODiOODqeODg+OCreODs+OCsOODu+ODluODqeODs+ODgeOCkuWIiOOBo+OBpuOBhOOBvuOBmSIKLQotIzogbGliL3RyYW5zcG9ydC50Y2w6MjYKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJQdXNoaW5nIGNoYW5nZXMgdG8gJXMiCi1tc2dzdHIgIiVzIOOBuOWkieabtOOCkuODl+ODg+OCt+ODpeOBl+OBpuOBhOOBvuOBmSIKLQotIzogbGliL3RyYW5zcG9ydC50Y2w6NjQKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJNaXJyb3JpbmcgdG8gJXMiCi1tc2dzdHIgIiVzIOOBuOODn+ODqeODvOOBl+OBpuOBhOOBvuOBmSIKLQotIzogbGliL3RyYW5zcG9ydC50Y2w6ODIKLSMsIHRjbC1mb3JtYXQKLW1zZ2lkICJQdXNoaW5nICVzICVzIHRvICVzIgotbXNnc3RyICIlMyRzIOOBuCAlMSRzICUyJHMg44KS44OX44OD44K344Ol44GX44Gm44GE44G+44GZIgotCi0jOiBsaWIvdHJhbnNwb3J0LnRjbDoxMDAKLW1zZ2lkICJQdXNoIEJyYW5jaGVzIgotbXNnc3RyICLjg5bjg6njg7Pjg4HjgpLjg5fjg4Pjgrfjg6UiCi0KLSM6IGxpYi90cmFuc3BvcnQudGNsOjExNAotbXNnaWQgIlNvdXJjZSBCcmFuY2hlcyIKLW1zZ3N0ciAi5YWD44Gu44OW44Op44Oz44OBIgotCi0jOiBsaWIvdHJhbnNwb3J0LnRjbDoxMzEKLW1zZ2lkICJEZXN0aW5hdGlvbiBSZXBvc2l0b3J5IgotbXNnc3RyICLpgIHjgorlhYjjg6rjg53jgrjjg4jjg6oiCi0KLSM6IGxpYi90cmFuc3BvcnQudGNsOjE2OQotbXNnaWQgIlRyYW5zZmVyIE9wdGlvbnMiCi1tc2dzdHIgIumAmuS/oeOCquODl+OCt+ODp+ODsyIKLQotIzogbGliL3RyYW5zcG9ydC50Y2w6MTcxCi1tc2dpZCAiRm9yY2Ugb3ZlcndyaXRlIGV4aXN0aW5nIGJyYW5jaCAobWF5IGRpc2NhcmQgY2hhbmdlcykiCi1tc2dzdHIgIuaXouWtmOODluODqeODs+ODgeOCkuS4iuabuOOBjSjlpInmm7TjgpLnoLTmo4TjgZnjgovlj6/og73mgKfjgYzjgYLjgorjgb7jgZkpIgotCi0jOiBsaWIvdHJhbnNwb3J0LnRjbDoxNzUKLW1zZ2lkICJVc2UgdGhpbiBwYWNrIChmb3Igc2xvdyBuZXR3b3JrIGNvbm5lY3Rpb25zKSIKLW1zZ3N0ciAiVGhpbiBQYWNrIOOCkuS9v+OBhu+8iOmBheOBhOODjeODg+ODiOODr+ODvOOCr+aOpee2mu+8iSIKLQotIzogbGliL3RyYW5zcG9ydC50Y2w6MTc5Ci1tc2dpZCAiSW5jbHVkZSB0YWdzIgotbXNnc3RyICLjgr/jgrDjgpLlkKvjgoHjgosiCmRpZmYgLS1naXQgYS9naXQtZ3VpL3BvL3B0X3B0LnBvIGIvZ2l0LWd1aS9wby9wdF9wdC5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWYzYzc5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2l0LWd1aS9wby9wdF9wdC5wbwpAQCAtMCwwICsxLDI3MTYgQEAKKyMgUG9ydHVndWVzZSB0cmFuc2xhdGlvbnMgZm9yIGdpdC1ndWkgcGFja2FnZS4KKyMgQ29weXJpZ2h0IChDKSAyMDE2IFNoYXduIFBlYXJjZSwgZXQgYWwuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBnaXQgcGFja2FnZS4KKyMgVmFzY28gQWxtZWlkYSA8dmFzY29tYWxtZWlkYUBzYXBvLnB0PiwgMjAxNi4KK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGdpdC1ndWlcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTYtMDUtMDYgMDk6MzYrMDAwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMDUtMDYgMTM6MDkrMDAwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogVmFzY28gQWxtZWlkYSA8dmFzY29tYWxtZWlkYUBzYXBvLnB0PlxuIgorIkxhbmd1YWdlLVRlYW06IFBvcnR1Z3Vlc2VcbiIKKyJMYW5ndWFnZTogcHRcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKKyJYLUdlbmVyYXRvcjogVmlydGFhbCAwLjcuMVxuIgorCisjOiBnaXQtZ3VpLnNoOjg2MQorIywgdGNsLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZm9udCBzcGVjaWZpZWQgaW4gJXM6IgorbXNnc3RyICJUaXBvIGRlIGxldHJhIGludsOhbGlkbyBlc3BlY2lmaWNhZG8gZW0gJXM6IgorCisjOiBnaXQtZ3VpLnNoOjkxNQorbXNnaWQgIk1haW4gRm9udCIKK21zZ3N0ciAiVGlwbyBkZSBsZXRyYSBwcmluY2lwYWwiCisKKyM6IGdpdC1ndWkuc2g6OTE2Cittc2dpZCAiRGlmZi9Db25zb2xlIEZvbnQiCittc2dzdHIgIlRpcG8gZGUgbGV0cmEgRGlmZXJlbsOnYXMvQ29uc29sYSIKKworIzogZ2l0LWd1aS5zaDo5MzEgZ2l0LWd1aS5zaDo5NDUgZ2l0LWd1aS5zaDo5NTggZ2l0LWd1aS5zaDoxMDQ4CisjOiBnaXQtZ3VpLnNoOjEwNjcgZ2l0LWd1aS5zaDozMTI1Cittc2dpZCAiZ2l0LWd1aTogZmF0YWwgZXJyb3IiCittc2dzdHIgImdpdC1ndWk6IGVycm8gZmF0YWwiCisKKyM6IGdpdC1ndWkuc2g6OTMyCittc2dpZCAiQ2Fubm90IGZpbmQgZ2l0IGluIFBBVEguIgorbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBlbmNvbnRyYXIgbyBnaXQgZW0gUEFUSC4iCisKKyM6IGdpdC1ndWkuc2g6OTU5Cittc2dpZCAiQ2Fubm90IHBhcnNlIEdpdCB2ZXJzaW9uIHN0cmluZzoiCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGFuYWxpc2FyIGEgdmVyc8OjbyBkbyBHaXQ6IgorCisjOiBnaXQtZ3VpLnNoOjk4NAorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJHaXQgdmVyc2lvbiBjYW5ub3QgYmUgZGV0ZXJtaW5lZC5cbiIKKyJcbiIKKyIlcyBjbGFpbXMgaXQgaXMgdmVyc2lvbiAnJXMnLlxuIgorIlxuIgorIiVzIHJlcXVpcmVzIGF0IGxlYXN0IEdpdCAxLjUuMCBvciBsYXRlci5cbiIKKyJcbiIKKyJBc3N1bWUgJyVzJyBpcyB2ZXJzaW9uIDEuNS4wP1xuIgorbXNnc3RyICIiCisiQSB2ZXJzw6NvIGRvIEdpdCBuw6NvIHDDtGRlIHNlciBkZXRlcm1pbmFkYS5cbiIKKyJcbiIKKyIlcyBhbGVnYSBxdWUgZXN0w6EgbmEgdmVyc8OjbyAnJXMnLlxuIgorIlxuIgorIiVzIHJlcXVlciBwZWxvIG1lbm9zIEdpdCAxLjUuMCBvdSBtYWlzIHJlY2VudGUuXG4iCisiXG4iCisiQXNzdW1pciBxdWUgJyVzJyBlc3TDoSBuYSB2ZXJzw6NvIDEuNS4wP1xuIgorCisjOiBnaXQtZ3VpLnNoOjEyODEKK21zZ2lkICJHaXQgZGlyZWN0b3J5IG5vdCBmb3VuZDoiCittc2dzdHIgIkRpcmV0w7NyaW8gR2l0IG7Do28gZW5jb250cmFkbzoiCisKKyM6IGdpdC1ndWkuc2g6MTMxNQorbXNnaWQgIkNhbm5vdCBtb3ZlIHRvIHRvcCBvZiB3b3JraW5nIGRpcmVjdG9yeToiCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIG1vdmVyIHBhcmEgbyB0b3BvIGRvIGRpcmV0w7NyaW8gZGUgdHJhYmFsaG86IgorCisjOiBnaXQtZ3VpLnNoOjEzMjMKK21zZ2lkICJDYW5ub3QgdXNlIGJhcmUgcmVwb3NpdG9yeToiCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIHVzYXIgcmVwb3NpdMOzcmlvIG51OiIKKworIzogZ2l0LWd1aS5zaDoxMzMxCittc2dpZCAiTm8gd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIk5lbmh1bSBkaXJldMOzcmlvIGRlIHRyYWJhbGhvIgorCisjOiBnaXQtZ3VpLnNoOjE1MDMgbGliL2NoZWNrb3V0X29wLnRjbDozMDYKK21zZ2lkICJSZWZyZXNoaW5nIGZpbGUgc3RhdHVzLi4uIgorbXNnc3RyICJBIGF0dWFsaXphciBlc3RhZG8gZG8gZmljaGVpcm8uLi4iCisKKyM6IGdpdC1ndWkuc2g6MTU2MworbXNnaWQgIlNjYW5uaW5nIGZvciBtb2RpZmllZCBmaWxlcyAuLi4iCittc2dzdHIgIkEgcHJvY3VyYXIgcG9yIGZpY2hlaXJvcyBtb2RpZmljYWRvcy4uLiIKKworIzogZ2l0LWd1aS5zaDoxNjM5Cittc2dpZCAiQ2FsbGluZyBwcmVwYXJlLWNvbW1pdC1tc2cgaG9vay4uLiIKK21zZ3N0ciAiIgorIkEgaW52b2NhciBnYW5jaG8gcHJlcGFyYXItbWVuc2FnZW0tZGUtY29tbWl0IChwcmVwYXJlLWNvbW1pdC1tc2cgaG9vaykuLi4iCisKKyM6IGdpdC1ndWkuc2g6MTY1NgorbXNnaWQgIkNvbW1pdCBkZWNsaW5lZCBieSBwcmVwYXJlLWNvbW1pdC1tc2cgaG9vay4iCittc2dzdHIgIiIKKyJDb21taXQgcmVjdXNhZG8gcGVsbyBnYW5jaG8gcHJlcGFyYXItbWVuc2FnZW0tZGUtY29tbWl0IChwcmVwYXJlLWNvbW1pdC1tc2cgIgorImhvb2spLiIKKworIzogZ2l0LWd1aS5zaDoxODE0IGxpYi9icm93c2VyLnRjbDoyNTIKK21zZ2lkICJSZWFkeS4iCittc2dzdHIgIlByb250by4iCisKKyM6IGdpdC1ndWkuc2g6MTk3OAorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJEaXNwbGF5IGxpbWl0IChndWkubWF4ZmlsZXNkaXNwbGF5ZWQgPSAlcykgcmVhY2hlZCwgbm90IHNob3dpbmcgYWxsICVzIGZpbGVzLiIKK21zZ3N0ciAiIgorIkxpbWl0ZSBkZSB2aXN1YWxpemHDp8OjbyAoZ3VpLm1heGZpbGVzZGlzcGxheWVkID0gJXMpIGF0aW5naWRvLCBuw6NvIHPDo28gIgorIm1vc3RyYWRvcyB0b2RvcyBvcyAlcyBmaWNoZWlyb3MuIgorCisjOiBnaXQtZ3VpLnNoOjIxMDEKK21zZ2lkICJVbm1vZGlmaWVkIgorbXNnc3RyICJOw6NvIG1vZGlmaWNhZG8iCisKKyM6IGdpdC1ndWkuc2g6MjEwMworbXNnaWQgIk1vZGlmaWVkLCBub3Qgc3RhZ2VkIgorbXNnc3RyICJNb2RpZmljYWRvLCBuw6NvIHByZXBhcmFkbyIKKworIzogZ2l0LWd1aS5zaDoyMTA0IGdpdC1ndWkuc2g6MjExNgorbXNnaWQgIlN0YWdlZCBmb3IgY29tbWl0IgorbXNnc3RyICJQcmVwYXJhZG8gcGFyYSBjb21taXQiCisKKyM6IGdpdC1ndWkuc2g6MjEwNSBnaXQtZ3VpLnNoOjIxMTcKK21zZ2lkICJQb3J0aW9ucyBzdGFnZWQgZm9yIGNvbW1pdCIKK21zZ3N0ciAiUG9yw6fDtWVzIHByZXBhcmFkYXMgcGFyYSBjb21taXQiCisKKyM6IGdpdC1ndWkuc2g6MjEwNiBnaXQtZ3VpLnNoOjIxMTgKK21zZ2lkICJTdGFnZWQgZm9yIGNvbW1pdCwgbWlzc2luZyIKK21zZ3N0ciAiUHJlcGFyYWRvIHBhcmEgY29tbWl0LCBlbSBmYWx0YSIKKworIzogZ2l0LWd1aS5zaDoyMTA4Cittc2dpZCAiRmlsZSB0eXBlIGNoYW5nZWQsIG5vdCBzdGFnZWQiCittc2dzdHIgIlRpcG8gZGUgZmljaGVpcm8gbW9kaWZpY2FkbywgbsOjbyBwcmVwYXJhZG8iCisKKyM6IGdpdC1ndWkuc2g6MjEwOSBnaXQtZ3VpLnNoOjIxMTAKK21zZ2lkICJGaWxlIHR5cGUgY2hhbmdlZCwgb2xkIHR5cGUgc3RhZ2VkIGZvciBjb21taXQiCittc2dzdHIgIlRpcG8gZGUgZmljaGVpcm8gbW9kaWZpY2FkbywgdGlwbyBhbnRpZ28gcHJlcGFyYWRvIHBhcmEgY29tbWl0IgorCisjOiBnaXQtZ3VpLnNoOjIxMTEKK21zZ2lkICJGaWxlIHR5cGUgY2hhbmdlZCwgc3RhZ2VkIgorbXNnc3RyICJUaXBvIGRlIGZpY2hlaXJvIG1vZGlmaWNhZG8sIHByZXBhcmFkbyIKKworIzogZ2l0LWd1aS5zaDoyMTEyCittc2dpZCAiRmlsZSB0eXBlIGNoYW5nZSBzdGFnZWQsIG1vZGlmaWNhdGlvbiBub3Qgc3RhZ2VkIgorbXNnc3RyICJUaXBvIGRlIGZpY2hlaXJvIG1vZGlmaWNhZG8sIG1vZGlmaWNhw6fDo28gbsOjbyBwcmVwYXJhZGEiCisKKyM6IGdpdC1ndWkuc2g6MjExMworbXNnaWQgIkZpbGUgdHlwZSBjaGFuZ2Ugc3RhZ2VkLCBmaWxlIG1pc3NpbmciCittc2dzdHIgIlRpcG8gZGUgZmljaGVpcm8gbW9kaWZpY2FkbywgZmljaGVpcm8gZW0gZmFsdGEiCisKKyM6IGdpdC1ndWkuc2g6MjExNQorbXNnaWQgIlVudHJhY2tlZCwgbm90IHN0YWdlZCIKK21zZ3N0ciAiTsOjbyBjb250cm9sYWRvLCBuw6NvIHByZXBhcmFkbyIKKworIzogZ2l0LWd1aS5zaDoyMTIwCittc2dpZCAiTWlzc2luZyIKK21zZ3N0ciAiRW0gZmFsdGEiCisKKyM6IGdpdC1ndWkuc2g6MjEyMQorbXNnaWQgIlN0YWdlZCBmb3IgcmVtb3ZhbCIKK21zZ3N0ciAiUHJlcGFyYWRvIHBhcmEgcmVtb8Onw6NvIgorCisjOiBnaXQtZ3VpLnNoOjIxMjIKK21zZ2lkICJTdGFnZWQgZm9yIHJlbW92YWwsIHN0aWxsIHByZXNlbnQiCittc2dzdHIgIlByZXBhcmFkbyBwYXJhIHJlbW/Dp8OjbywgYWluZGEgcHJlc2VudGUiCisKKyM6IGdpdC1ndWkuc2g6MjEyNCBnaXQtZ3VpLnNoOjIxMjUgZ2l0LWd1aS5zaDoyMTI2IGdpdC1ndWkuc2g6MjEyNworIzogZ2l0LWd1aS5zaDoyMTI4IGdpdC1ndWkuc2g6MjEyOQorbXNnaWQgIlJlcXVpcmVzIG1lcmdlIHJlc29sdXRpb24iCittc2dzdHIgIlJlcXVlciByZXNvbHXDp8OjbyBkZSBpbnRlZ3Jhw6fDo28iCisKKyM6IGdpdC1ndWkuc2g6MjE2NAorbXNnaWQgIlN0YXJ0aW5nIGdpdGsuLi4gcGxlYXNlIHdhaXQuLi4iCittc2dzdHIgIkEgaW5pY2lhciBnaXRrLi4uIGFndWFyZGUuLi4iCisKKyM6IGdpdC1ndWkuc2g6MjE3NgorbXNnaWQgIkNvdWxkbid0IGZpbmQgZ2l0ayBpbiBQQVRIIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZW5jb250cmFyIGdpdGsgZW0gUEFUSCIKKworIzogZ2l0LWd1aS5zaDoyMjM1Cittc2dpZCAiQ291bGRuJ3QgZmluZCBnaXQgZ3VpIGluIFBBVEgiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBlbmNvbnRyYXIgZ2l0IGd1aSBlbSBQQVRIIgorCisjOiBnaXQtZ3VpLnNoOjI2NTQgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo0MQorbXNnaWQgIlJlcG9zaXRvcnkiCittc2dzdHIgIlJlcG9zaXTDs3JpbyIKKworIzogZ2l0LWd1aS5zaDoyNjU1Cittc2dpZCAiRWRpdCIKK21zZ3N0ciAiRWRpdGFyIgorCisjOiBnaXQtZ3VpLnNoOjI2NTcgbGliL2Nob29zZV9yZXYudGNsOjU2NworbXNnaWQgIkJyYW5jaCIKK21zZ3N0ciAiUmFtbyIKKworIzogZ2l0LWd1aS5zaDoyNjYwIGxpYi9jaG9vc2VfcmV2LnRjbDo1NTQKK21zZ2lkICJDb21taXRAQG5vdW4iCittc2dzdHIgIkNvbW1pdCIKKworIzogZ2l0LWd1aS5zaDoyNjYzIGxpYi9tZXJnZS50Y2w6MTIzIGxpYi9tZXJnZS50Y2w6MTUyIGxpYi9tZXJnZS50Y2w6MTcwCittc2dpZCAiTWVyZ2UiCittc2dzdHIgIkludGVncmFyIgorCisjOiBnaXQtZ3VpLnNoOjI2NjQgbGliL2Nob29zZV9yZXYudGNsOjU2MworbXNnaWQgIlJlbW90ZSIKK21zZ3N0ciAiUmVtb3RvIgorCisjOiBnaXQtZ3VpLnNoOjI2NjcKK21zZ2lkICJUb29scyIKK21zZ3N0ciAiRmVycmFtZW50YXMiCisKKyM6IGdpdC1ndWkuc2g6MjY3NgorbXNnaWQgIkV4cGxvcmUgV29ya2luZyBDb3B5IgorbXNnc3RyICJFeHBsb3JhciBjw7NwaWEgZGUgdHJhYmFsaG8iCisKKyM6IGdpdC1ndWkuc2g6MjY4MgorbXNnaWQgIkdpdCBCYXNoIgorbXNnc3RyICJHaXQgQmFzaCIKKworIzogZ2l0LWd1aS5zaDoyNjkyCittc2dpZCAiQnJvd3NlIEN1cnJlbnQgQnJhbmNoJ3MgRmlsZXMiCittc2dzdHIgIk5hdmVnYXIgcGVsb3MgZmljaGVpcm8gZG8gcmFtbyBhdHVhbCIKKworIzogZ2l0LWd1aS5zaDoyNjk2Cittc2dpZCAiQnJvd3NlIEJyYW5jaCBGaWxlcy4uLiIKK21zZ3N0ciAiTmF2ZWdhciBwZWxvcyBmaWNoZWlyb3MgZG8gcmFtby4uLiIKKworIzogZ2l0LWd1aS5zaDoyNzAxCittc2dpZCAiVmlzdWFsaXplIEN1cnJlbnQgQnJhbmNoJ3MgSGlzdG9yeSIKK21zZ3N0ciAiVmlzdWFsaXphciBoaXN0w7NyaWNvIGRvIHJhbW8gYXR1YWwiCisKKyM6IGdpdC1ndWkuc2g6MjcwNQorbXNnaWQgIlZpc3VhbGl6ZSBBbGwgQnJhbmNoIEhpc3RvcnkiCittc2dzdHIgIlZpc3VhbGl6YXIgaGlzdMOzcmljbyBkZSB0b2RvcyBvcyByYW1vcyIKKworIzogZ2l0LWd1aS5zaDoyNzEyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiQnJvd3NlICVzJ3MgRmlsZXMiCittc2dzdHIgIk5hdmVnYXIgcGVsb3MgZmljaGVpcm8gZGUgJXMiCisKKyM6IGdpdC1ndWkuc2g6MjcxNAorIywgdGNsLWZvcm1hdAorbXNnaWQgIlZpc3VhbGl6ZSAlcydzIEhpc3RvcnkiCittc2dzdHIgIlZpc3VhbGl6YXIgaGlzdMOzcmljbyBkZSAlcyIKKworIzogZ2l0LWd1aS5zaDoyNzE5IGxpYi9kYXRhYmFzZS50Y2w6NDAgbGliL2RhdGFiYXNlLnRjbDo2NgorbXNnaWQgIkRhdGFiYXNlIFN0YXRpc3RpY3MiCittc2dzdHIgIkVzdGF0w61zdGljYXMgZGEgYmFzZSBkZSBkYWRvcyIKKworIzogZ2l0LWd1aS5zaDoyNzIyIGxpYi9kYXRhYmFzZS50Y2w6MzMKK21zZ2lkICJDb21wcmVzcyBEYXRhYmFzZSIKK21zZ3N0ciAiQ29tcHJpbWlyIGJhc2UgZGUgZGFkb3MiCisKKyM6IGdpdC1ndWkuc2g6MjcyNQorbXNnaWQgIlZlcmlmeSBEYXRhYmFzZSIKK21zZ3N0ciAiVmVyaWZpY2FyIGJhc2UgZGUgZGFkb3MiCisKKyM6IGdpdC1ndWkuc2g6MjczMiBnaXQtZ3VpLnNoOjI3MzYgZ2l0LWd1aS5zaDoyNzQwIGxpYi9zaG9ydGN1dC50Y2w6OAorIzogbGliL3Nob3J0Y3V0LnRjbDo0MCBsaWIvc2hvcnRjdXQudGNsOjcyCittc2dpZCAiQ3JlYXRlIERlc2t0b3AgSWNvbiIKK21zZ3N0ciAiQ3JpYXIgw61jb25lIG5vIGFtYmllbnRlIGRlIHRyYWJhbGhvIgorCisjOiBnaXQtZ3VpLnNoOjI3NDggbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxOTMgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoyMDEKK21zZ2lkICJRdWl0IgorbXNnc3RyICJTYWlyIgorCisjOiBnaXQtZ3VpLnNoOjI3NTYKK21zZ2lkICJVbmRvIgorbXNnc3RyICJEZXNmYXplciIKKworIzogZ2l0LWd1aS5zaDoyNzU5Cittc2dpZCAiUmVkbyIKK21zZ3N0ciAiUmVmYXplciIKKworIzogZ2l0LWd1aS5zaDoyNzYzIGdpdC1ndWkuc2g6MzM2OAorbXNnaWQgIkN1dCIKK21zZ3N0ciAiQ29ydGFyIgorCisjOiBnaXQtZ3VpLnNoOjI3NjYgZ2l0LWd1aS5zaDozMzcxIGdpdC1ndWkuc2g6MzQ0NSBnaXQtZ3VpLnNoOjM1MzAKKyM6IGxpYi9jb25zb2xlLnRjbDo2OQorbXNnaWQgIkNvcHkiCittc2dzdHIgIkNvcGlhciIKKworIzogZ2l0LWd1aS5zaDoyNzY5IGdpdC1ndWkuc2g6MzM3NAorbXNnaWQgIlBhc3RlIgorbXNnc3RyICJDb2xhciIKKworIzogZ2l0LWd1aS5zaDoyNzcyIGdpdC1ndWkuc2g6MzM3NyBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjM5CisjOiBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MjgKK21zZ2lkICJEZWxldGUiCittc2dzdHIgIkVsaW1pbmFyIgorCisjOiBnaXQtZ3VpLnNoOjI3NzYgZ2l0LWd1aS5zaDozMzgxIGdpdC1ndWkuc2g6MzUzNCBsaWIvY29uc29sZS50Y2w6NzEKK21zZ2lkICJTZWxlY3QgQWxsIgorbXNnc3RyICJTZWxlY2lvbmFyIHR1ZG8iCisKKyM6IGdpdC1ndWkuc2g6Mjc4NQorbXNnaWQgIkNyZWF0ZS4uLiIKK21zZ3N0ciAiQ3JpYXIuLi4iCisKKyM6IGdpdC1ndWkuc2g6Mjc5MQorbXNnaWQgIkNoZWNrb3V0Li4uIgorbXNnc3RyICJFeHRyYWlyLi4uIgorCisjOiBnaXQtZ3VpLnNoOjI3OTcKK21zZ2lkICJSZW5hbWUuLi4iCittc2dzdHIgIk11ZGFyIG5vbWUuLi4iCisKKyM6IGdpdC1ndWkuc2g6MjgwMgorbXNnaWQgIkRlbGV0ZS4uLiIKK21zZ3N0ciAiRWxpbWluYXIuLi4iCisKKyM6IGdpdC1ndWkuc2g6MjgwNworbXNnaWQgIlJlc2V0Li4uIgorbXNnc3RyICJSZXBvci4uLiIKKworIzogZ2l0LWd1aS5zaDoyODE3Cittc2dpZCAiRG9uZSIKK21zZ3N0ciAiQ29uY2x1w61kbyIKKworIzogZ2l0LWd1aS5zaDoyODE5Cittc2dpZCAiQ29tbWl0QEB2ZXJiIgorbXNnc3RyICJTdWJtZXRlciIKKworIzogZ2l0LWd1aS5zaDoyODI4IGdpdC1ndWkuc2g6MzMwOQorbXNnaWQgIk5ldyBDb21taXQiCittc2dzdHIgIk5vdm8gY29tbWl0IgorCisjOiBnaXQtZ3VpLnNoOjI4MzYgZ2l0LWd1aS5zaDozMzE2Cittc2dpZCAiQW1lbmQgTGFzdCBDb21taXQiCittc2dzdHIgIkVtZW5kYXIgw7psdGltbyBjb21taXQiCisKKyM6IGdpdC1ndWkuc2g6Mjg0NiBnaXQtZ3VpLnNoOjMyNzAgbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxMDEKK21zZ2lkICJSZXNjYW4iCittc2dzdHIgIlJlYW5hbGlzYXIiCisKKyM6IGdpdC1ndWkuc2g6Mjg1MgorbXNnaWQgIlN0YWdlIFRvIENvbW1pdCIKK21zZ3N0ciAiUHJlcGFyYXIgcGFyYSBjb21taXQiCisKKyM6IGdpdC1ndWkuc2g6Mjg1OAorbXNnaWQgIlN0YWdlIENoYW5nZWQgRmlsZXMgVG8gQ29tbWl0IgorbXNnc3RyICJQcmVwYXJhciBmaWNoZWlyb3MgbW9kaWZpY2Fkb3MgcGFyYSBjb21taXQiCisKKyM6IGdpdC1ndWkuc2g6Mjg2NAorbXNnaWQgIlVuc3RhZ2UgRnJvbSBDb21taXQiCittc2dzdHIgIlJldGlyYXIgZG8gY29tbWl0IgorCisjOiBnaXQtZ3VpLnNoOjI4NzAgbGliL2luZGV4LnRjbDo0NDIKK21zZ2lkICJSZXZlcnQgQ2hhbmdlcyIKK21zZ3N0ciAiUmV2ZXJ0ZXIgYWx0ZXJhw6fDtWVzIgorCisjOiBnaXQtZ3VpLnNoOjI4NzggZ2l0LWd1aS5zaDozNTgxIGdpdC1ndWkuc2g6MzYxMgorbXNnaWQgIlNob3cgTGVzcyBDb250ZXh0IgorbXNnc3RyICJNb3N0cmFyIG1lbm9zIGNvbnRleHRvIgorCisjOiBnaXQtZ3VpLnNoOjI4ODIgZ2l0LWd1aS5zaDozNTg1IGdpdC1ndWkuc2g6MzYxNgorbXNnaWQgIlNob3cgTW9yZSBDb250ZXh0IgorbXNnc3RyICJNb3N0cmFyIG1haXMgY29udGV4dG8iCisKKyM6IGdpdC1ndWkuc2g6Mjg4OSBnaXQtZ3VpLnNoOjMyODMgZ2l0LWd1aS5zaDozMzkyCittc2dpZCAiU2lnbiBPZmYiCittc2dzdHIgIkFzc2luYXIgcG9yIGJhaXhvIgorCisjOiBnaXQtZ3VpLnNoOjI5MDUKK21zZ2lkICJMb2NhbCBNZXJnZS4uLiIKK21zZ3N0ciAiSW50ZWdyYcOnw6NvIGxvY2FsLi4uIgorCisjOiBnaXQtZ3VpLnNoOjI5MTAKK21zZ2lkICJBYm9ydCBNZXJnZS4uLiIKK21zZ3N0ciAiQWJvcnRhciBpbnRlZ3Jhw6fDo28uLi4iCisKKyM6IGdpdC1ndWkuc2g6MjkyMiBnaXQtZ3VpLnNoOjI5NTAKK21zZ2lkICJBZGQuLi4iCittc2dzdHIgIkFkaWNpb25hci4uLiIKKworIzogZ2l0LWd1aS5zaDoyOTI2Cittc2dpZCAiUHVzaC4uLiIKK21zZ3N0ciAiUHVibGljYXIuLi4iCisKKyM6IGdpdC1ndWkuc2g6MjkzMAorbXNnaWQgIkRlbGV0ZSBCcmFuY2guLi4iCittc2dzdHIgIkVsaW1pbmFyIHJhbW8uLi4iCisKKyM6IGdpdC1ndWkuc2g6Mjk0MCBnaXQtZ3VpLnNoOjM1NjMKK21zZ2lkICJPcHRpb25zLi4uIgorbXNnc3RyICJPcMOnw7Vlcy4uLiIKKworIzogZ2l0LWd1aS5zaDoyOTUxCittc2dpZCAiUmVtb3ZlLi4uIgorbXNnc3RyICJSZW1vdmVyLi4uIgorCisjOiBnaXQtZ3VpLnNoOjI5NjAgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1NQorbXNnaWQgIkhlbHAiCittc2dzdHIgIkFqdWRhIgorCisjOiBnaXQtZ3VpLnNoOjI5NjQgZ2l0LWd1aS5zaDoyOTY4IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDkKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTggbGliL2Fib3V0LnRjbDoxNAorIywgdGNsLWZvcm1hdAorbXNnaWQgIkFib3V0ICVzIgorbXNnc3RyICJTb2JyZSAlcyIKKworIzogZ2l0LWd1aS5zaDoyOTkyCittc2dpZCAiT25saW5lIERvY3VtZW50YXRpb24iCittc2dzdHIgIkRvY3VtZW50YcOnw6NvIG9ubGluZSIKKworIzogZ2l0LWd1aS5zaDoyOTk1IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTIgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2MQorbXNnaWQgIlNob3cgU1NIIEtleSIKK21zZ3N0ciAiTW9zdHJhciBjaGF2ZSBTU0giCisKKyM6IGdpdC1ndWkuc2g6MzAxNCBnaXQtZ3VpLnNoOjMxNDYKK21zZ2lkICJVc2FnZSIKK21zZ3N0ciAiVXRpbGl6YcOnw6NvIgorCisjOiBnaXQtZ3VpLnNoOjMwOTUgbGliL2JsYW1lLnRjbDo1NzMKK21zZ2lkICJFcnJvciIKK21zZ3N0ciAiRXJybyIKKworIzogZ2l0LWd1aS5zaDozMTI2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiZmF0YWw6IGNhbm5vdCBzdGF0IHBhdGggJXM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgIiIKKyJmYXRhbDogbsOjbyDDqSBwb3Nzw612ZWwgb2J0ZXIgZXN0YWRvIGRvIGNhbWluaG8gJXM6IEZpY2hlaXJvIG91IGRpcmV0w7NyaW8gIgorImluZXhpc3RlbnRlIgorCisjOiBnaXQtZ3VpLnNoOjMxNTkKK21zZ2lkICJDdXJyZW50IEJyYW5jaDoiCittc2dzdHIgIlJhbW8gYXR1YWw6IgorCisjOiBnaXQtZ3VpLnNoOjMxODUKK21zZ2lkICJTdGFnZWQgQ2hhbmdlcyAoV2lsbCBDb21taXQpIgorbXNnc3RyICJBbHRlcmHDp8O1ZXMgcHJlcGFyYWRhcyAocGFyYSBjb21taXQpIgorCisjOiBnaXQtZ3VpLnNoOjMyMDUKK21zZ2lkICJVbnN0YWdlZCBDaGFuZ2VzIgorbXNnc3RyICJBbHRlcmHDp8O1ZXMgbsOjbyBwcmVwYXJhZGFzIgorCisjOiBnaXQtZ3VpLnNoOjMyNzYKK21zZ2lkICJTdGFnZSBDaGFuZ2VkIgorbXNnc3RyICJQcmVwYXJhciBtb2RpZmljYWRvcyIKKworIzogZ2l0LWd1aS5zaDozMjk1IGxpYi90cmFuc3BvcnQudGNsOjEzNyBsaWIvdHJhbnNwb3J0LnRjbDoyMjkKK21zZ2lkICJQdXNoIgorbXNnc3RyICJQdWJsaWNhciIKKworIzogZ2l0LWd1aS5zaDozMzMwCittc2dpZCAiSW5pdGlhbCBDb21taXQgTWVzc2FnZToiCittc2dzdHIgIk1lbnNhZ2VtIGRlIGNvbW1pdCBpbmljaWFsOiIKKworIzogZ2l0LWd1aS5zaDozMzMxCittc2dpZCAiQW1lbmRlZCBDb21taXQgTWVzc2FnZToiCittc2dzdHIgIk1lbnNhZ2VtIGRlIGNvbW1pdCBlbWVuZGFkYToiCisKKyM6IGdpdC1ndWkuc2g6MzMzMgorbXNnaWQgIkFtZW5kZWQgSW5pdGlhbCBDb21taXQgTWVzc2FnZToiCittc2dzdHIgIk1lbnNhZ2VtIGRlIGNvbW1pdCBpbmljaWFsIGVtZW5kYWRhOiIKKworIzogZ2l0LWd1aS5zaDozMzMzCittc2dpZCAiQW1lbmRlZCBNZXJnZSBDb21taXQgTWVzc2FnZToiCittc2dzdHIgIk1lbnNhZ2VtIGRlIGNvbW1pdCBkZSBpbnRlZ3Jhw6fDo28gZW1lbmRhZGE6IgorCisjOiBnaXQtZ3VpLnNoOjMzMzQKK21zZ2lkICJNZXJnZSBDb21taXQgTWVzc2FnZToiCittc2dzdHIgIk1lbnNhZ2VtIGRlIGNvbW1pdCBkZSBpbnRlZ3Jhw6fDo286IgorCisjOiBnaXQtZ3VpLnNoOjMzMzUKK21zZ2lkICJDb21taXQgTWVzc2FnZToiCittc2dzdHIgIk1lbnNhZ2VtIGRlIGNvbW1pdDoiCisKKyM6IGdpdC1ndWkuc2g6MzM4NCBnaXQtZ3VpLnNoOjM1MzggbGliL2NvbnNvbGUudGNsOjczCittc2dpZCAiQ29weSBBbGwiCittc2dzdHIgIkNvcGlhciB0dWRvIgorCisjOiBnaXQtZ3VpLnNoOjM0MDggbGliL2JsYW1lLnRjbDoxMDUKK21zZ2lkICJGaWxlOiIKK21zZ3N0ciAiRmljaGVpcm86IgorCisjOiBnaXQtZ3VpLnNoOjM1MjYKK21zZ2lkICJSZWZyZXNoIgorbXNnc3RyICJBdHVhbGl6YXIiCisKKyM6IGdpdC1ndWkuc2g6MzU0NworbXNnaWQgIkRlY3JlYXNlIEZvbnQgU2l6ZSIKK21zZ3N0ciAiRGltaW51aXIgdGFtYW5obyBkZSBsZXRyYSIKKworIzogZ2l0LWd1aS5zaDozNTUxCittc2dpZCAiSW5jcmVhc2UgRm9udCBTaXplIgorbXNnc3RyICJBdW1lbnRhciB0YW1hbmhvIGRlIGxldHJhIgorCisjOiBnaXQtZ3VpLnNoOjM1NTkgbGliL2JsYW1lLnRjbDoyOTQKK21zZ2lkICJFbmNvZGluZyIKK21zZ3N0ciAiQ29kaWZpY2HDp8OjbyIKKworIzogZ2l0LWd1aS5zaDozNTcwCittc2dpZCAiQXBwbHkvUmV2ZXJzZSBIdW5rIgorbXNnc3RyICJBcGxpY2FyL1JldmVydGVyIGV4Y2VydG8iCisKKyM6IGdpdC1ndWkuc2g6MzU3NQorbXNnaWQgIkFwcGx5L1JldmVyc2UgTGluZSIKK21zZ3N0ciAiQXBsaWNhci9SZXZlcnRlciBsaW5oYSIKKworIzogZ2l0LWd1aS5zaDozNTk0Cittc2dpZCAiUnVuIE1lcmdlIFRvb2wiCittc2dzdHIgIkV4ZWN1dGFyIGZlcnJhbWVudGEgZGUgaW50ZWdyYcOnw6NvIgorCisjOiBnaXQtZ3VpLnNoOjM1OTkKK21zZ2lkICJVc2UgUmVtb3RlIFZlcnNpb24iCittc2dzdHIgIlVzYXIgYSB2ZXJzw6NvIHJlbW90YSIKKworIzogZ2l0LWd1aS5zaDozNjAzCittc2dpZCAiVXNlIExvY2FsIFZlcnNpb24iCittc2dzdHIgIlVzYXIgYSB2ZXJzw6NvIGxvY2FsIgorCisjOiBnaXQtZ3VpLnNoOjM2MDcKK21zZ2lkICJSZXZlcnQgVG8gQmFzZSIKK21zZ3N0ciAiUmV2ZXJ0ZXIgcGFyYSBhIGJhc2UiCisKKyM6IGdpdC1ndWkuc2g6MzYyNQorbXNnaWQgIlZpc3VhbGl6ZSBUaGVzZSBDaGFuZ2VzIEluIFRoZSBTdWJtb2R1bGUiCittc2dzdHIgIlZpc3VhbGl6YXIgZXN0YXMgYWx0ZXJhw6fDtWVzIG5vIHN1Ym3Ds2R1bG8iCisKKyM6IGdpdC1ndWkuc2g6MzYyOQorbXNnaWQgIlZpc3VhbGl6ZSBDdXJyZW50IEJyYW5jaCBIaXN0b3J5IEluIFRoZSBTdWJtb2R1bGUiCittc2dzdHIgIlZpc3VhbGl6YXIgaGlzdMOzcmljbyBkbyByYW1vIGF0dWFsIG5vIHN1Ym3Ds2R1bG8iCisKKyM6IGdpdC1ndWkuc2g6MzYzMworbXNnaWQgIlZpc3VhbGl6ZSBBbGwgQnJhbmNoIEhpc3RvcnkgSW4gVGhlIFN1Ym1vZHVsZSIKK21zZ3N0ciAiVmlzdWFsaXphciBoaXN0w7NyaWNvIGRlIHRvZG9zIG9zIHJhbW9zIG5vIHN1Ym3Ds2R1bG8iCisKKyM6IGdpdC1ndWkuc2g6MzYzOAorbXNnaWQgIlN0YXJ0IGdpdCBndWkgSW4gVGhlIFN1Ym1vZHVsZSIKK21zZ3N0ciAiSW5pY2lhciBnaXQgZ3VpIG5vIHN1Ym3Ds2R1bG8iCisKKyM6IGdpdC1ndWkuc2g6MzY3MworbXNnaWQgIlVuc3RhZ2UgSHVuayBGcm9tIENvbW1pdCIKK21zZ3N0ciAiUmV0aXJhciBleGNlcnRvIGRvIGNvbW1pdCIKKworIzogZ2l0LWd1aS5zaDozNjc1Cittc2dpZCAiVW5zdGFnZSBMaW5lcyBGcm9tIENvbW1pdCIKK21zZ3N0ciAiUmV0aXJhciBsaW5oYXMgZG8gY29tbWl0IgorCisjOiBnaXQtZ3VpLnNoOjM2NzcKK21zZ2lkICJVbnN0YWdlIExpbmUgRnJvbSBDb21taXQiCittc2dzdHIgIlJldGlyYXIgbGluaGEgZG8gY29tbWl0IgorCisjOiBnaXQtZ3VpLnNoOjM2ODAKK21zZ2lkICJTdGFnZSBIdW5rIEZvciBDb21taXQiCittc2dzdHIgIlByZXBhcmFyIGV4Y2VydG8gcGFyYSBjb21taXQiCisKKyM6IGdpdC1ndWkuc2g6MzY4MgorbXNnaWQgIlN0YWdlIExpbmVzIEZvciBDb21taXQiCittc2dzdHIgIlByZXBhcmFyIGxpbmhhcyBwYXJhIGNvbW1pdCIKKworIzogZ2l0LWd1aS5zaDozNjg0Cittc2dpZCAiU3RhZ2UgTGluZSBGb3IgQ29tbWl0IgorbXNnc3RyICJQcmVwYXJhciBsaW5oYSBwYXJhIGNvbW1pdCIKKworIzogZ2l0LWd1aS5zaDozNzA5Cittc2dpZCAiSW5pdGlhbGl6aW5nLi4uIgorbXNnc3RyICJBIGluaWNpYWxpemFyLi4uIgorCisjOiBnaXQtZ3VpLnNoOjM4NTIKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiUG9zc2libGUgZW52aXJvbm1lbnQgaXNzdWVzIGV4aXN0LlxuIgorIlxuIgorIlRoZSBmb2xsb3dpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBwcm9iYWJseVxuIgorImdvaW5nIHRvIGJlIGlnbm9yZWQgYnkgYW55IEdpdCBzdWJwcm9jZXNzIHJ1blxuIgorImJ5ICVzOlxuIgorIlxuIgorbXNnc3RyICIiCisiRXhpc3RlbSBwb3Nzw612ZWlzIGVycm9zIGRlIGFtYmllbnRlLlxuIgorIlxuIgorIkFzIHNlZ3VpbnRlcyB2YXJpw6F2ZWlzIGRlIGFtYmllbnRlIHNlcsOjbyBwcm92YXZlbG1lbnRlXG4iCisiaWdub3JhZGFzIHBlbG9zIHN1YnByb2Nlc3NvcyBkbyBHaXQgZXhlY3V0YWRvc1xuIgorInBvciAlczpcbiIKKyJcbiIKKworIzogZ2l0LWd1aS5zaDozODgxCittc2dpZCAiIgorIlxuIgorIlRoaXMgaXMgZHVlIHRvIGEga25vd24gaXNzdWUgd2l0aCB0aGVcbiIKKyJUY2wgYmluYXJ5IGRpc3RyaWJ1dGVkIGJ5IEN5Z3dpbi4iCittc2dzdHIgIiIKKyJcbiIKKyJEZXZpZG8gYSB1bSBwcm9ibGVtYSBjb25oZWNpZG8gY29tIG9cbiIKKyJiaW7DoXJpbyBUY2wgZGlzdHJpYnXDrWRvIHBlbG8gQ3lnd2luLiIKKworIzogZ2l0LWd1aS5zaDozODg2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlxuIgorIkEgZ29vZCByZXBsYWNlbWVudCBmb3IgJXNcbiIKKyJpcyBwbGFjaW5nIHZhbHVlcyBmb3IgdGhlIHVzZXIubmFtZSBhbmRcbiIKKyJ1c2VyLmVtYWlsIHNldHRpbmdzIGludG8geW91ciBwZXJzb25hbFxuIgorIn4vLmdpdGNvbmZpZyBmaWxlLlxuIgorbXNnc3RyICIiCisiXG4iCisiXG4iCisiVW0gYm9tIHN1YnN0aXR1dG8gcGFyYSAlc1xuIgorIsOpIGNvbG9jYXIgdmFsb3JlcyBkYXMgZGVmaW5pw6fDtWVzIHVzZXIubmFtZSBlXG4iCisidXNlci5lbWFpbCBubyBmaWNoZWlybyBwZXNzb2FsIH4vLmdpdGNvbmZpZy5cbiIKKworIzogbGliL2xpbmUudGNsOjE3Cittc2dpZCAiR290byBMaW5lOiIKK21zZ3N0ciAiSXIgcGFyYSBhIGxpbmhhOiIKKworIzogbGliL2xpbmUudGNsOjIzCittc2dpZCAiR28iCittc2dzdHIgIklyIgorCisjOiBsaWIvY29uc29sZS50Y2w6NTkKK21zZ2lkICJXb3JraW5nLi4uIHBsZWFzZSB3YWl0Li4uIgorbXNnc3RyICJBIHByb2Nlc3Nhci4uLiBhZ3VhcmRlLi4uIgorCisjOiBsaWIvY29uc29sZS50Y2w6ODEgbGliL2NoZWNrb3V0X29wLnRjbDoxNDYgbGliL3NzaGtleS50Y2w6NTUKKyM6IGxpYi9kYXRhYmFzZS50Y2w6MzAKK21zZ2lkICJDbG9zZSIKK21zZ3N0ciAiRmVjaGFyIgorCisjOiBsaWIvY29uc29sZS50Y2w6MTg2Cittc2dpZCAiU3VjY2VzcyIKK21zZ3N0ciAiU3VjZXNzbyIKKworIzogbGliL2NvbnNvbGUudGNsOjIwMAorbXNnaWQgIkVycm9yOiBDb21tYW5kIEZhaWxlZCIKK21zZ3N0ciAiRXJybzogZmFsaGEgYW8gZXhlY3V0YXIgY29tYW5kbyIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDo4NQorIywgdGNsLWZvcm1hdAorbXNnaWQgIkZldGNoaW5nICVzIGZyb20gJXMiCittc2dzdHIgIkEgb2J0ZXIgJXMgZGUgJXMiCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6MTMzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiZmF0YWw6IENhbm5vdCByZXNvbHZlICVzIgorbXNnc3RyICJmYXRhbDogTsOjbyDDqSBwb3Nzw612ZWwgcmVzb2x2ZXIgJXMiCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6MTc1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiQnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJPIHJhbW8gJyVzJyBuw6NvIGV4aXN0ZS4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6MTk0CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNvbmZpZ3VyZSBzaW1wbGlmaWVkIGdpdC1wdWxsIGZvciAnJXMnLiIKK21zZ3N0ciAiRmFsaGEgYW8gY29uZmlndXJhciBnaXQtcHVsbCBzaW1wbGlmaWNhZG8gZGUgJyVzJy4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6MjAyIGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxMDIKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJCcmFuY2ggJyVzJyBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIk8gcmFtbyAnJXMnIGrDoSBleGlzdGUuIgorCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjIyOQorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJCcmFuY2ggJyVzJyBhbHJlYWR5IGV4aXN0cy5cbiIKKyJcbiIKKyJJdCBjYW5ub3QgZmFzdC1mb3J3YXJkIHRvICVzLlxuIgorIkEgbWVyZ2UgaXMgcmVxdWlyZWQuIgorbXNnc3RyICIiCisiTyByYW1vICclcycgasOhIGV4aXN0ZS5cbiIKKyJcbiIKKyJOw6NvIHBvZGUgc2VyIGF2YW7Dp2FkbyByYXBpZGFtZW50ZSBwYXJhICVzLlxuIgorIkludGVncmHDp8OjbyBuZWNlc3PDoXJpYS4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6MjQzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiTWVyZ2Ugc3RyYXRlZ3kgJyVzJyBub3Qgc3VwcG9ydGVkLiIKK21zZ3N0ciAiQSBlc3RyYXTDqWdpYSBkZSBpbnRlZ3Jhw6fDo28gJyVzJyBuw6NvIMOpIHN1cG9ydGFkYS4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6MjYyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSAnJXMnLiIKK21zZ3N0ciAiRmFsaGEgYW8gYXR1YWxpemFyICclcycuIgorCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjI3NAorbXNnaWQgIlN0YWdpbmcgYXJlYSAoaW5kZXgpIGlzIGFscmVhZHkgbG9ja2VkLiIKK21zZ3N0ciAiQSDDoXJlYSBkZSBlc3TDoWdpbyAow61uZGljZSkgasOhIGVzdMOhIGJsb3F1ZWFkYS4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6Mjg5Cittc2dpZCAiIgorIkxhc3Qgc2Nhbm5lZCBzdGF0ZSBkb2VzIG5vdCBtYXRjaCByZXBvc2l0b3J5IHN0YXRlLlxuIgorIlxuIgorIkFub3RoZXIgR2l0IHByb2dyYW0gaGFzIG1vZGlmaWVkIHRoaXMgcmVwb3NpdG9yeSBzaW5jZSB0aGUgbGFzdCBzY2FuLiAgQSAiCisicmVzY2FuIG11c3QgYmUgcGVyZm9ybWVkIGJlZm9yZSB0aGUgY3VycmVudCBicmFuY2ggY2FuIGJlIGNoYW5nZWQuXG4iCisiXG4iCisiVGhlIHJlc2NhbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc3RhcnRlZCBub3cuXG4iCittc2dzdHIgIiIKKyJPIMO6bHRpbW8gZXN0YWRvIGFuYWxpc2FkbyBuw6NvIGNvcnJlc3BvbmRlIGFvIGVzdGFkbyBkbyByZXBvc2l0w7NyaW8uXG4iCisiXG4iCisiT3V0cm8gcHJvZ3JhbWEgR2l0IG1vZGlmaWNvdSBlc3RlIHJlcG9zaXTDs3JpbyBkZXN0ZSBhIMO6bHRpbWEgYW7DoWxpc2UuIERldmUtIgorInNlIHJlYW5hbGlzYXIgYW50ZXMgZG8gcmFtbyBhdHVhbCBwb2RlciBzZXIgYWx0ZXJhZG8uXG4iCisiXG4iCisiSXLDoS1zZSByZWFuYWxpc2FyIGF1dG9tYXRpY2FtZW50ZSBhZ29yYS5cbiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDozNDUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJVcGRhdGluZyB3b3JraW5nIGRpcmVjdG9yeSB0byAnJXMnLi4uIgorbXNnc3RyICJBIGF0dWFsaXphciBvIGRpcmV0w7NyaW8gZGUgdHJhYmFsaG8gcGFyYSAnJXMnLi4uIgorCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjM0NgorbXNnaWQgImZpbGVzIGNoZWNrZWQgb3V0IgorbXNnc3RyICJmaWNoZWlyb3MgZXh0cmHDrWRvcyIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDozNzYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJBYm9ydGVkIGNoZWNrb3V0IG9mICclcycgKGZpbGUgbGV2ZWwgbWVyZ2luZyBpcyByZXF1aXJlZCkuIgorbXNnc3RyICIiCisiRXh0cmHDp8OjbyBkZSAnJXMnIGFib3J0YWRhICjDqSBuZWNlc3PDoXJpbyBpbnRlZ3JhciBhbyBuw612ZWwgZGUgZmljaGVpcm9zKS4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6Mzc3Cittc2dpZCAiRmlsZSBsZXZlbCBtZXJnZSByZXF1aXJlZC4iCittc2dzdHIgIkludGVncmHDp8OjbyBhbyBuw612ZWwgZGUgZmljaGVpcm9zIG5lY2Vzc8OhcmlhLiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDozODEKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJTdGF5aW5nIG9uIGJyYW5jaCAnJXMnLiIKK21zZ3N0ciAiUGVybWFuZWNlciBubyByYW1vICclcycuIgorCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjQ1MgorbXNnaWQgIiIKKyJZb3UgYXJlIG5vIGxvbmdlciBvbiBhIGxvY2FsIGJyYW5jaC5cbiIKKyJcbiIKKyJJZiB5b3Ugd2FudGVkIHRvIGJlIG9uIGEgYnJhbmNoLCBjcmVhdGUgb25lIG5vdyBzdGFydGluZyBmcm9tICdUaGlzIERldGFjaGVkICIKKyJDaGVja291dCcuIgorbXNnc3RyICIiCisiSsOhIG7Do28gc2UgZW5jb250cmEgbnVtIHJhbW8gbG9jYWwuXG4iCisiXG4iCisiU2UgcXVlcmlhIGVzdGFyIHNvYnJlIHVtIHJhbW8sIGNyaWUgdW0gYSBwYXJ0aXIgZGUgJ0VzdGEgZXh0cmHDp8OjbyBkZXN0YWNhZGEnLiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDo1MDMgbGliL2NoZWNrb3V0X29wLnRjbDo1MDcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJDaGVja2VkIG91dCAnJXMnLiIKK21zZ3N0ciAiJyVzJyBleHRyYcOtZG8uIgorCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjUzNQorIywgdGNsLWZvcm1hdAorbXNnaWQgIlJlc2V0dGluZyAnJXMnIHRvICclcycgd2lsbCBsb3NlIHRoZSBmb2xsb3dpbmcgY29tbWl0czoiCittc2dzdHIgIkFvIHJlcG9yICclcycgcGFyYSAnJXMnIHBlcmRlcsOhIG9zIHNlZ3VpbnRlcyBjb21taXRzOiIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDo1NTcKK21zZ2lkICJSZWNvdmVyaW5nIGxvc3QgY29tbWl0cyBtYXkgbm90IGJlIGVhc3kuIgorbXNnc3RyICJSZWN1cGVyYXIgY29tbWl0cyBwZXJkaWRvcyBwb2RlIG7Do28gc2VyIGbDoWNpbC4iCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6NTYyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUmVzZXQgJyVzJz8iCittc2dzdHIgIlJlcG9yICclcyc/IgorCisjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjU2NyBsaWIvdG9vbHNfZGxnLnRjbDozMzYgbGliL21lcmdlLnRjbDoxNjYKK21zZ2lkICJWaXN1YWxpemUiCittc2dzdHIgIlZpc3VhbGl6YXIiCisKKyM6IGxpYi9jaGVja291dF9vcC50Y2w6NTcxIGxpYi9icmFuY2hfY3JlYXRlLnRjbDo4NQorbXNnaWQgIlJlc2V0IgorbXNnc3RyICJSZXBvciIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDo1NzkgbGliL3RyYW5zcG9ydC50Y2w6MTQxIGxpYi9yZW1vdGVfYWRkLnRjbDozNAorIzogbGliL2Jyb3dzZXIudGNsOjI5MiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDozMCBsaWIvY2hvb3NlX2ZvbnQudGNsOjQ1CisjOiBsaWIvb3B0aW9uLnRjbDoxMjcgbGliL3Rvb2xzX2RsZy50Y2w6NDEgbGliL3Rvb2xzX2RsZy50Y2w6MjAyCisjOiBsaWIvdG9vbHNfZGxnLnRjbDozNDUgbGliL2JyYW5jaF9yZW5hbWUudGNsOjMyCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjQzIGxpYi9icmFuY2hfY3JlYXRlLnRjbDozNworIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjM0IGxpYi9tZXJnZS50Y2w6MTc0Cittc2dpZCAiQ2FuY2VsIgorbXNnc3RyICJDYW5jZWxhciIKKworIzogbGliL2NoZWNrb3V0X29wLnRjbDo2MzUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiRmFpbGVkIHRvIHNldCBjdXJyZW50IGJyYW5jaC5cbiIKKyJcbiIKKyJUaGlzIHdvcmtpbmcgZGlyZWN0b3J5IGlzIG9ubHkgcGFydGlhbGx5IHN3aXRjaGVkLiAgV2Ugc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQgIgorInlvdXIgZmlsZXMsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIGFuIGludGVybmFsIEdpdCBmaWxlLlxuIgorIlxuIgorIlRoaXMgc2hvdWxkIG5vdCBoYXZlIG9jY3VycmVkLiAgJXMgd2lsbCBub3cgY2xvc2UgYW5kIGdpdmUgdXAuIgorbXNnc3RyICIiCisiRmFsaGEgYW8gZGVmaW5pciByYW1vIGF0dWFsLlxuIgorIlxuIgorIkFwZW5hcyBzZSBtdWRvdSBvIGRpcmV0w7NyaW8gZGUgdHJhYmFsaG8gcGFyY2lhbG1lbnRlLiBPcyBmaWNoZWlyb3MgZm9yYW0gIgorImF0dWFsaXphZG9zIGNvbSBzdWNlc3NvLCBtYXMgbsOjbyBmb2kgcG9zc8OtdmVsIGF0dWFsaXphciBvIGZpY2hlaXJvIEdpdCAiCisiaW50ZXJuby5cbiIKKyJcbiIKKyJOw6NvIGRldmlhIHRlciBvY29ycmlkby4gJXMgaXLDoSB0ZXJtaW5hciBlIGRlc2lzdGlyLiIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6NiBsaWIvcmVtb3RlX2FkZC50Y2w6MTMyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiZmV0Y2ggJXMiCittc2dzdHIgIm9idGVyICVzIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDo3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmV0Y2hpbmcgbmV3IGNoYW5nZXMgZnJvbSAlcyIKK21zZ3N0ciAiT2J0ZXIgbm92YXMgYWx0ZXJhw6fDtWVzIGRlICVzIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoxOAorIywgdGNsLWZvcm1hdAorbXNnaWQgInJlbW90ZSBwcnVuZSAlcyIKK21zZ3N0ciAicG9kYSByZW1vdGEgZGUgJXMiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjE5CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUHJ1bmluZyB0cmFja2luZyBicmFuY2hlcyBkZWxldGVkIGZyb20gJXMiCittc2dzdHIgIkEgcG9kYXIgcmFtb3MgZGUgbW9uaXRvcml6YcOnw6NvIGVsaW1pbmFkb3MgZGUgJXMiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjI1Cittc2dpZCAiZmV0Y2ggYWxsIHJlbW90ZXMiCittc2dzdHIgIm9idGVyIGRlIHRvZG9zIG9zIHJlbW90b3MiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjI2Cittc2dpZCAiRmV0Y2hpbmcgbmV3IGNoYW5nZXMgZnJvbSBhbGwgcmVtb3RlcyIKK21zZ3N0ciAiQSBvYnRlciBub3ZhcyBhbHRlcmHDp8O1ZXMgZGUgdG9kb3Mgb3MgcmVtb3RvcyIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6NDAKK21zZ2lkICJyZW1vdGUgcHJ1bmUgYWxsIHJlbW90ZXMiCittc2dzdHIgInBvZGEgcmVtb3RhIGRlIHRvZG9zIG9zIHJlbW90b3MiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjQxCittc2dpZCAiUHJ1bmluZyB0cmFja2luZyBicmFuY2hlcyBkZWxldGVkIGZyb20gYWxsIHJlbW90ZXMiCittc2dzdHIgIkEgcG9kYXIgcmFtb3MgZGUgbW9uaXRvcml6YcOnw6NvIGVsaW1pbmFkb3MgZGUgdG9kb3Mgb3MgcmVtb3RvcyIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6NTQgbGliL3RyYW5zcG9ydC50Y2w6OTIgbGliL3RyYW5zcG9ydC50Y2w6MTEwCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MTYyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAicHVzaCAlcyIKK21zZ3N0ciAicHVibGljYXIgJXMiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjU1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUHVzaGluZyBjaGFuZ2VzIHRvICVzIgorbXNnc3RyICJBIHB1YmxpY2FyIGFsdGVyYcOnw7VlcyBlbSAlcyIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6OTMKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJNaXJyb3JpbmcgdG8gJXMiCittc2dzdHIgIkEgZXNwZWxoYXIgZW0gJXMiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjExMQorIywgdGNsLWZvcm1hdAorbXNnaWQgIlB1c2hpbmcgJXMgJXMgdG8gJXMiCittc2dzdHIgIkEgcHVibGljYXIgJXMgJXMgZW0gJXMiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjEzMgorbXNnaWQgIlB1c2ggQnJhbmNoZXMiCittc2dzdHIgIlB1YmxpY2FyIHJhbW9zIgorCisjOiBsaWIvdHJhbnNwb3J0LnRjbDoxNDcKK21zZ2lkICJTb3VyY2UgQnJhbmNoZXMiCittc2dzdHIgIlJhbW9zIGRlIG9yaWdlbSIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MTYyCittc2dpZCAiRGVzdGluYXRpb24gUmVwb3NpdG9yeSIKK21zZ3N0ciAiUmVwb3NpdMOzcmlvIGRlIGRlc3Rpbm8iCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjE2NSBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjUxCittc2dpZCAiUmVtb3RlOiIKK21zZ3N0ciAiUmVtb3RvOiIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MTg3IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6NzIKK21zZ2lkICJBcmJpdHJhcnkgTG9jYXRpb246IgorbXNnc3RyICJMb2NhbGl6YcOnw6NvIGFyYml0csOhcmlhOiIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MjA1Cittc2dpZCAiVHJhbnNmZXIgT3B0aW9ucyIKK21zZ3N0ciAiT3DDp8O1ZXMgZGUgdHJhbnNmZXLDqm5jaWEiCisKKyM6IGxpYi90cmFuc3BvcnQudGNsOjIwNworbXNnaWQgIkZvcmNlIG92ZXJ3cml0ZSBleGlzdGluZyBicmFuY2ggKG1heSBkaXNjYXJkIGNoYW5nZXMpIgorbXNnc3RyICJGb3LDp2FyIHN1YnN0aXR1acOnw6NvIGRlIHJhbW9zIGV4aXN0ZW50ZSAocG9kZSBkZXNjYXJ0YXIgYWx0ZXJhw6fDtWVzKSIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MjExCittc2dpZCAiVXNlIHRoaW4gcGFjayAoZm9yIHNsb3cgbmV0d29yayBjb25uZWN0aW9ucykiCittc2dzdHIgIlVzYXIgcGFjb3RlIGZpbm8gKHBhcmEgY29uZXjDtWVzIGRlIHJlZGUgbGVudGFzKSIKKworIzogbGliL3RyYW5zcG9ydC50Y2w6MjE1Cittc2dpZCAiSW5jbHVkZSB0YWdzIgorbXNnc3RyICJJbmNsdWlyIHRhZ3MiCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoyMAorbXNnaWQgIkFkZCBSZW1vdGUiCittc2dzdHIgIkFkaWNpb25hciByZW1vdG8iCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoyNQorbXNnaWQgIkFkZCBOZXcgUmVtb3RlIgorbXNnc3RyICJBZGljaW9uYXIgbm92byByZW1vdG8iCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDozMCBsaWIvdG9vbHNfZGxnLnRjbDozNworbXNnaWQgIkFkZCIKK21zZ3N0ciAiQWRpY2lvbmFyIgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MzkKK21zZ2lkICJSZW1vdGUgRGV0YWlscyIKK21zZ3N0ciAiRGV0YWxoZXMgZG8gcmVtb3RvIgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6NDEgbGliL3Rvb2xzX2RsZy50Y2w6NTEgbGliL2JyYW5jaF9jcmVhdGUudGNsOjQ0Cittc2dpZCAiTmFtZToiCittc2dzdHIgIk5vbWU6IgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6NTAKK21zZ2lkICJMb2NhdGlvbjoiCittc2dzdHIgIkxvY2FsaXphw6fDo286IgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6NjAKK21zZ2lkICJGdXJ0aGVyIEFjdGlvbiIKK21zZ3N0ciAiQcOnw6NvIGFkaWNpb25hbCIKKworIzogbGliL3JlbW90ZV9hZGQudGNsOjYzCittc2dpZCAiRmV0Y2ggSW1tZWRpYXRlbHkiCittc2dzdHIgIk9idGVyIGltZWRpYXRhbWVudGUiCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDo2OQorbXNnaWQgIkluaXRpYWxpemUgUmVtb3RlIFJlcG9zaXRvcnkgYW5kIFB1c2giCittc2dzdHIgIkluaWNpYWxpemFyIHJlcG9zaXTDs3JpbyByZW1vdG8gZSBwdWJsaWNhciIKKworIzogbGliL3JlbW90ZV9hZGQudGNsOjc1Cittc2dpZCAiRG8gTm90aGluZyBFbHNlIE5vdyIKK21zZ3N0ciAiTsOjbyBmYXplciBtYWlzIG5hZGEgYWdvcmEiCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMDAKK21zZ2lkICJQbGVhc2Ugc3VwcGx5IGEgcmVtb3RlIG5hbWUuIgorbXNnc3RyICJGb3JuZcOnYSB1bSBub21lIHBhcmEgbyByZW1vdG8uIgorCisjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MTEzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYW4gYWNjZXB0YWJsZSByZW1vdGUgbmFtZS4iCittc2dzdHIgIiclcycgbsOjbyBwb2RlIHNlciBhY2VpdGUgY29tbyBub21lIGRlIHJlbW90by4iCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMjQKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkIHJlbW90ZSAnJXMnIG9mIGxvY2F0aW9uICclcycuIgorbXNnc3RyICJGYWxoYSBhbyBhZGljaW9uYXIgcmVtb3RvICclcycgbG9jYWxpemFkbyBlbSAnJXMnLiIKKworIzogbGliL3JlbW90ZV9hZGQudGNsOjEzMworIywgdGNsLWZvcm1hdAorbXNnaWQgIkZldGNoaW5nIHRoZSAlcyIKK21zZ3N0ciAiQSBvYnRlciBkZSAlcyIKKworIzogbGliL3JlbW90ZV9hZGQudGNsOjE1NgorIywgdGNsLWZvcm1hdAorbXNnaWQgIkRvIG5vdCBrbm93IGhvdyB0byBpbml0aWFsaXplIHJlcG9zaXRvcnkgYXQgbG9jYXRpb24gJyVzJy4iCittc2dzdHIgIk7Do28gc2Ugc2FiZSBjb21vIGluaWNpYWxpemFyIG8gcmVwb3NpdMOzcmlvIGxvY2FsaXphZG8gZW0gJyVzJy4iCisKKyM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxNjMKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHRoZSAlcyAoYXQgJXMpIgorbXNnc3RyICJBIGNvbmZpZ3VyYXIgJXMgKGVtICVzKSIKKworIzogbGliL2Jyb3dzZXIudGNsOjE3Cittc2dpZCAiU3RhcnRpbmcuLi4iCittc2dzdHIgIkEgaW5pY2lhci4uLiIKKworIzogbGliL2Jyb3dzZXIudGNsOjI3Cittc2dpZCAiRmlsZSBCcm93c2VyIgorbXNnc3RyICJOYXZlZ2Fkb3IgZGUgZmljaGVpcm9zIgorCisjOiBsaWIvYnJvd3Nlci50Y2w6MTMyIGxpYi9icm93c2VyLnRjbDoxNDkKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJMb2FkaW5nICVzLi4uIgorbXNnc3RyICJBIGNhcnJlZ2FyICVzLi4uIgorCisjOiBsaWIvYnJvd3Nlci50Y2w6MTkzCittc2dpZCAiW1VwIFRvIFBhcmVudF0iCittc2dzdHIgIltTdWJpcl0iCisKKyM6IGxpYi9icm93c2VyLnRjbDoyNzUgbGliL2Jyb3dzZXIudGNsOjI4MgorbXNnaWQgIkJyb3dzZSBCcmFuY2ggRmlsZXMiCittc2dzdHIgIk5hdmVnYXIgcGVsb3MgZmljaGVpcm9zIGRvIHJhbW8iCisKKyM6IGxpYi9icm93c2VyLnRjbDoyODggbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo0MjIKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTA5IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTE4CisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEwNzQKK21zZ2lkICJCcm93c2UiCittc2dzdHIgIk5hdmVnYXIiCisKKyM6IGxpYi9icm93c2VyLnRjbDoyOTcgbGliL2JyYW5jaF9jaGVja291dC50Y2w6MzUgbGliL3Rvb2xzX2RsZy50Y2w6MzIxCittc2dpZCAiUmV2aXNpb24iCittc2dzdHIgIlJldmlzw6NvIgorCisjOiBsaWIvdG9vbHMudGNsOjc1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUnVubmluZyAlcyByZXF1aXJlcyBhIHNlbGVjdGVkIGZpbGUuIgorbXNnc3RyICJEZXZlIHNlbGVjaW9uYXIgdW0gZmljaGVpcm8gcGFyYSBleGVjdXRhciAlcy4iCisKKyM6IGxpYi90b29scy50Y2w6OTEKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcnVuICUxJHMgb24gZmlsZSBcIiUyJHNcIj8iCittc2dzdHIgIlRlbSBhIGNlcnRlemEgcXVlIHByZXRlbmRlIGV4ZWN1dGFyICUxJHMgc29icmUgbyBmaWNoZWlybyBcIiUyJHNcIj8iCisKKyM6IGxpYi90b29scy50Y2w6OTUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcnVuICVzPyIKK21zZ3N0ciAiVGVtIGEgY2VydGV6YSBxdWUgcHJldGVuZGUgZXhlY3V0YXIgJXM/IgorCisjOiBsaWIvdG9vbHMudGNsOjExNgorIywgdGNsLWZvcm1hdAorbXNnaWQgIlRvb2w6ICVzIgorbXNnc3RyICJGZXJyYW1lbnRhOiAlcyIKKworIzogbGliL3Rvb2xzLnRjbDoxMTcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJSdW5uaW5nOiAlcyIKK21zZ3N0ciAiQSBleGVjdXRhcjogJXMiCisKKyM6IGxpYi90b29scy50Y2w6MTU1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVG9vbCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5OiAlcyIKK21zZ3N0ciAiQSBmZXJyYW1lbnRhIGNvbmNsdcOtIGNvbSBzdWNlc3NvOiAlcyIKKworIzogbGliL3Rvb2xzLnRjbDoxNTcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJUb29sIGZhaWxlZDogJXMiCittc2dzdHIgIkEgZmVycmFtZW50YSBmYWxob3U6ICVzIgorCisjOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDoxNiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDoyMQorbXNnaWQgIkNoZWNrb3V0IEJyYW5jaCIKK21zZ3N0ciAiRXh0cmFpciByYW1vIgorCisjOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDoyNgorbXNnaWQgIkNoZWNrb3V0IgorbXNnc3RyICJFeHRyYWlyIgorCisjOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDozOSBsaWIvb3B0aW9uLnRjbDozMTAgbGliL2JyYW5jaF9jcmVhdGUudGNsOjY5Cittc2dpZCAiT3B0aW9ucyIKK21zZ3N0ciAiT3DDp8O1ZXMiCisKKyM6IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjQyIGxpYi9icmFuY2hfY3JlYXRlLnRjbDo5MgorbXNnaWQgIkZldGNoIFRyYWNraW5nIEJyYW5jaCIKK21zZ3N0ciAiT2J0ZXIgcmFtbyBkZSBtb25pdG9yaXphw6fDo28iCisKKyM6IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjQ3Cittc2dpZCAiRGV0YWNoIEZyb20gTG9jYWwgQnJhbmNoIgorbXNnc3RyICJEZXN0YWNhciBkbyByYW1vIGxvY2FsIgorCisjOiBsaWIvc3BlbGxjaGVjay50Y2w6NTcKK21zZ2lkICJVbnN1cHBvcnRlZCBzcGVsbCBjaGVja2VyIgorbXNnc3RyICJDb3JyZXRvciBvcnRvZ3LDoWZpY28gbsOjbyBzdXBvcnRhZG8iCisKKyM6IGxpYi9zcGVsbGNoZWNrLnRjbDo2NQorbXNnaWQgIlNwZWxsIGNoZWNraW5nIGlzIHVuYXZhaWxhYmxlIgorbXNnc3RyICJDb3JyZcOnw6NvIG9ydG9ncsOhZmljYSBpbmRpc3BvbsOtdmVsIgorCisjOiBsaWIvc3BlbGxjaGVjay50Y2w6NjgKK21zZ2lkICJJbnZhbGlkIHNwZWxsIGNoZWNraW5nIGNvbmZpZ3VyYXRpb24iCittc2dzdHIgIkNvbmZpZ3VyYcOnw6NvIGludsOhbGlkYSBkbyBjb3JyZXRvciBvcnRvZ3LDoWZpY28iCisKKyM6IGxpYi9zcGVsbGNoZWNrLnRjbDo3MAorIywgdGNsLWZvcm1hdAorbXNnaWQgIlJldmVydGluZyBkaWN0aW9uYXJ5IHRvICVzLiIKK21zZ3N0ciAiQSByZXZlcnRlciBkaWNpb27DoXJpbyBwYXJhICVzLiIKKworIzogbGliL3NwZWxsY2hlY2sudGNsOjczCittc2dpZCAiU3BlbGwgY2hlY2tlciBzaWxlbnRseSBmYWlsZWQgb24gc3RhcnR1cCIKK21zZ3N0ciAiTyBjb3JyZXRvciBvcnRvZ3LDoWZpY28gZmFsaG91IHNpbGVuY2lvc2FtZW50ZSBhbyBpbmljaWFyIgorCisjOiBsaWIvc3BlbGxjaGVjay50Y2w6ODAKK21zZ2lkICJVbnJlY29nbml6ZWQgc3BlbGwgY2hlY2tlciIKK21zZ3N0ciAiQ29ycmV0b3Igb3J0b2dyw6FmaWNvIG7Do28gcmVjb25oZWNpZG8iCisKKyM6IGxpYi9zcGVsbGNoZWNrLnRjbDoxODYKK21zZ2lkICJObyBTdWdnZXN0aW9ucyIKK21zZ3N0ciAiU2VtIHN1Z2VzdMO1ZXMiCisKKyM6IGxpYi9zcGVsbGNoZWNrLnRjbDozODgKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBmcm9tIHNwZWxsIGNoZWNrZXIiCittc2dzdHIgIkVPRiAoZmltIGRlIGZpY2hlaXJvKSBpbmVzcGVyYWRvIGRvIGNvcnJldG9yIG9ydG9ncsOhZmljbyIKKworIzogbGliL3NwZWxsY2hlY2sudGNsOjM5MgorbXNnaWQgIlNwZWxsIENoZWNrZXIgRmFpbGVkIgorbXNnc3RyICJDb3JyZXRvciBvcnRvZ3LDoWZpY28gZmFsaG91IgorCisjOiBsaWIvc3RhdHVzX2Jhci50Y2w6ODcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIlcyAuLi4gJSppIG9mICUqaSAlcyAoJTNpJSUpIgorbXNnc3RyICIlcyAuLi4gJSppIGRlICUqaSAlcyAoJTNpJSUpIgorCisjOiBsaWIvZGlmZi50Y2w6NzcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiTm8gZGlmZmVyZW5jZXMgZGV0ZWN0ZWQuXG4iCisiXG4iCisiJXMgaGFzIG5vIGNoYW5nZXMuXG4iCisiXG4iCisiVGhlIG1vZGlmaWNhdGlvbiBkYXRlIG9mIHRoaXMgZmlsZSB3YXMgdXBkYXRlZCBieSBhbm90aGVyIGFwcGxpY2F0aW9uLCBidXQgIgorInRoZSBjb250ZW50IHdpdGhpbiB0aGUgZmlsZSB3YXMgbm90IGNoYW5nZWQuXG4iCisiXG4iCisiQSByZXNjYW4gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHN0YXJ0ZWQgdG8gZmluZCBvdGhlciBmaWxlcyB3aGljaCBtYXkgaGF2ZSAiCisidGhlIHNhbWUgc3RhdGUuIgorbXNnc3RyICIiCisiTmVuaHVtIGRpZmVyZW7Dp2EgZGV0ZXRhZGEuXG4iCisiXG4iCisiJXMgbsOjbyB0ZW0gYWx0ZXJhw6fDtWVzLlxuIgorIlxuIgorIkEgZGF0YSBkZSBtb2RpZmljYcOnw6NvIGRlc3RlIGZpY2hlaXJvIGZvaSBhdHVhbGl6YWRhIHBvciBvdXRyYSBhcGxpY2HDp8OjbywgbWFzICIKKyJvIGNvbnRlw7pkbyBubyBpbnRlcmlvciBkbyBmaWNoZWlybyBuw6NvIGZvaSBhbHRlcmFkby5cbiIKKyJcbiIKKyJJcsOhLXNlIHJlYW5hbGlzYXIgYXV0b21hdGljYW1lbnRlIHBhcmEgZW5jb250cmFyIG91dHJvcyBmaWNoZWlyb3MgcXVlICIKKyJlc3RlamFtIG5vIG1lc21vIGVzdGFkby4iCisKKyM6IGxpYi9kaWZmLnRjbDoxMTcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJMb2FkaW5nIGRpZmYgb2YgJXMuLi4iCittc2dzdHIgIkEgY2FycmVnYXIgZGlmZXJlbsOnYXMgZGUgJXMuLi4iCisKKyM6IGxpYi9kaWZmLnRjbDoxNDAKK21zZ2lkICIiCisiTE9DQUw6IGRlbGV0ZWRcbiIKKyJSRU1PVEU6XG4iCittc2dzdHIgIiIKKyJMT0NBTDogZWxpbWluYWRvXG4iCisiUkVNT1RPOlxuIgorCisjOiBsaWIvZGlmZi50Y2w6MTQ1Cittc2dpZCAiIgorIlJFTU9URTogZGVsZXRlZFxuIgorIkxPQ0FMOlxuIgorbXNnc3RyICIiCisiUkVNT1RPOiBlbGltaW5hZG9cbiIKKyJMT0NBTDpcbiIKKworIzogbGliL2RpZmYudGNsOjE1MgorbXNnaWQgIkxPQ0FMOlxuIgorbXNnc3RyICJMT0NBTDpcbiIKKworIzogbGliL2RpZmYudGNsOjE1NQorbXNnaWQgIlJFTU9URTpcbiIKK21zZ3N0ciAiUkVNT1RPOlxuIgorCisjOiBsaWIvZGlmZi50Y2w6MjE3IGxpYi9kaWZmLnRjbDozNTUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gZGlzcGxheSAlcyIKK21zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgbW9zdHJhciAlcyIKKworIzogbGliL2RpZmYudGNsOjIxOAorbXNnaWQgIkVycm9yIGxvYWRpbmcgZmlsZToiCittc2dzdHIgIkVycm8gYW8gY2FycmVnYXIgZmljaGVpcm86IgorCisjOiBsaWIvZGlmZi50Y2w6MjI1Cittc2dpZCAiR2l0IFJlcG9zaXRvcnkgKHN1YnByb2plY3QpIgorbXNnc3RyICJSZXBvc2l0w7NyaW8gR2l0IChzdWJwcm9qZXRvKSIKKworIzogbGliL2RpZmYudGNsOjIzNworbXNnaWQgIiogQmluYXJ5IGZpbGUgKG5vdCBzaG93aW5nIGNvbnRlbnQpLiIKK21zZ3N0ciAiKiBGaWNoZWlybyBiaW7DoXJpbyAoY29udGXDumRvIG7Do28gZXhpYmlkbykuIgorCisjOiBsaWIvZGlmZi50Y2w6MjQyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIiogVW50cmFja2VkIGZpbGUgaXMgJWQgYnl0ZXMuXG4iCisiKiBTaG93aW5nIG9ubHkgZmlyc3QgJWQgYnl0ZXMuXG4iCittc2dzdHIgIiIKKyIqIE8gZmljaGVpcm8gbsOjbyBjb250cm9sYWRvIHRlbSAlZCBieXRlcy5cbiIKKyIqIEV4aWJpZG8gYXBlbmFzIG9zIHByaW1laXJvcyAlZCBieXRlcy5cbiIKKworIzogbGliL2RpZmYudGNsOjI0OAorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqIFVudHJhY2tlZCBmaWxlIGNsaXBwZWQgaGVyZSBieSAlcy5cbiIKKyIqIFRvIHNlZSB0aGUgZW50aXJlIGZpbGUsIHVzZSBhbiBleHRlcm5hbCBlZGl0b3IuXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqIEZpY2hlaXJvIG7Do28gY29udHJvbGFkbyByZWNvcnRhZG8gYXF1aSBwb3IgJXMuXG4iCisiKiBQYXJhIHZlciBvIGZpY2hlaXJvIGludGVpcm8sIHVzZSB1bSBlZGl0b3IgZXh0ZXJuby5cbiIKKworIzogbGliL2RpZmYudGNsOjM1NiBsaWIvYmxhbWUudGNsOjExMjgKK21zZ2lkICJFcnJvciBsb2FkaW5nIGRpZmY6IgorbXNnc3RyICJFcnJvIGFvIGNhcnJlZ2FyIGRpZmVyZW7Dp2FzOiIKKworIzogbGliL2RpZmYudGNsOjU3OAorbXNnaWQgIkZhaWxlZCB0byB1bnN0YWdlIHNlbGVjdGVkIGh1bmsuIgorbXNnc3RyICJGYWxoYSBhbyByZXRpcmFyIGV4Y2VydG8gc2VsZWNpb25hZG8gZG8gw61uZGljZS4iCisKKyM6IGxpYi9kaWZmLnRjbDo1ODUKK21zZ2lkICJGYWlsZWQgdG8gc3RhZ2Ugc2VsZWN0ZWQgaHVuay4iCittc2dzdHIgIkZhbGhhIGFvIHByZXBhcmFyIGV4Y2VydG8gc2VsZWNpb25hZG8uIgorCisjOiBsaWIvZGlmZi50Y2w6NjY0Cittc2dpZCAiRmFpbGVkIHRvIHVuc3RhZ2Ugc2VsZWN0ZWQgbGluZS4iCittc2dzdHIgIkZhbGhhIGFvIHJldGlyYXIgbGluaGEgc2VsZWNpb25hZGEgZG8gw61uZGljZS4iCisKKyM6IGxpYi9kaWZmLnRjbDo2NzIKK21zZ2lkICJGYWlsZWQgdG8gc3RhZ2Ugc2VsZWN0ZWQgbGluZS4iCittc2dzdHIgIkZhbGhhIGFvIHByZXBhcmFyIGxpbmhhIHNlbGVjaW9uYWRhLiIKKworIzogbGliL3JlbW90ZS50Y2w6MjAwCittc2dpZCAiUHVzaCB0byIKK21zZ3N0ciAiUHVibGljYXIgZW0iCisKKyM6IGxpYi9yZW1vdGUudGNsOjIxOAorbXNnaWQgIlJlbW92ZSBSZW1vdGUiCittc2dzdHIgIlJlbW92ZXIgcmVtb3RvIgorCisjOiBsaWIvcmVtb3RlLnRjbDoyMjMKK21zZ2lkICJQcnVuZSBmcm9tIgorbXNnc3RyICJQb2RhciBkZSIKKworIzogbGliL3JlbW90ZS50Y2w6MjI4Cittc2dpZCAiRmV0Y2ggZnJvbSIKK21zZ3N0ciAiT2J0ZXIgZGUiCisKKyM6IGxpYi9jaG9vc2VfZm9udC50Y2w6NDEKK21zZ2lkICJTZWxlY3QiCittc2dzdHIgIlNlbGVjaW9uYXIiCisKKyM6IGxpYi9jaG9vc2VfZm9udC50Y2w6NTUKK21zZ2lkICJGb250IEZhbWlseSIKK21zZ3N0ciAiRmFtw61saWEgZGUgdGlwbyBkZSBsZXRyYSIKKworIzogbGliL2Nob29zZV9mb250LnRjbDo3NgorbXNnaWQgIkZvbnQgU2l6ZSIKK21zZ3N0ciAiVGFtYW5obyBkZSBsZXRyYSIKKworIzogbGliL2Nob29zZV9mb250LnRjbDo5MworbXNnaWQgIkZvbnQgRXhhbXBsZSIKK21zZ3N0ciAiRXhlbXBsbyBkbyB0aXBvIGRlIGxldHJhIgorCisjOiBsaWIvY2hvb3NlX2ZvbnQudGNsOjEwNQorbXNnaWQgIiIKKyJUaGlzIGlzIGV4YW1wbGUgdGV4dC5cbiIKKyJJZiB5b3UgbGlrZSB0aGlzIHRleHQsIGl0IGNhbiBiZSB5b3VyIGZvbnQuIgorbXNnc3RyICIiCisiRXN0ZSB0ZXh0byDDqSB1bSBleGVtcGxvLlxuIgorIlNlIGdvc3RhciBkZXN0ZSB0ZXh0bywgcG9kZSBkZWZpbmktbG8gY29tbyB0aXBvIGRlIGxldHJhLiIKKworIzogbGliL29wdGlvbi50Y2w6MTEKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGdsb2JhbCBlbmNvZGluZyAnJXMnIgorbXNnc3RyICJDb2RpZmljYcOnw6NvIGdsb2JhbCAnJXMnIGludsOhbGlkYSIKKworIzogbGliL29wdGlvbi50Y2w6MTkKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHJlcG8gZW5jb2RpbmcgJyVzJyIKK21zZ3N0ciAiQ29kaWZpY2HDp8OjbyBkbyByZXBvc2l0w7NyaW8gJyVzJyBpbnbDoWxpZGEiCisKKyM6IGxpYi9vcHRpb24udGNsOjExOQorbXNnaWQgIlJlc3RvcmUgRGVmYXVsdHMiCittc2dzdHIgIlJlc3RhdXJhciBwcmVkZWZpbmnDp8O1ZXMiCisKKyM6IGxpYi9vcHRpb24udGNsOjEyMworbXNnaWQgIlNhdmUiCittc2dzdHIgIkd1YXJkYXIiCisKKyM6IGxpYi9vcHRpb24udGNsOjEzMworIywgdGNsLWZvcm1hdAorbXNnaWQgIiVzIFJlcG9zaXRvcnkiCittc2dzdHIgIlJlcG9zaXTDs3JpbyAlcyIKKworIzogbGliL29wdGlvbi50Y2w6MTM0Cittc2dpZCAiR2xvYmFsIChBbGwgUmVwb3NpdG9yaWVzKSIKK21zZ3N0ciAiR2xvYmFsICh0b2RvcyBvcyByZXBvc2l0w7NyaW9zKSIKKworIzogbGliL29wdGlvbi50Y2w6MTQwCittc2dpZCAiVXNlciBOYW1lIgorbXNnc3RyICJOb21lIGRlIHV0aWxpemFkb3IiCisKKyM6IGxpYi9vcHRpb24udGNsOjE0MQorbXNnaWQgIkVtYWlsIEFkZHJlc3MiCittc2dzdHIgIkVuZGVyZcOnbyBkZSBlLW1haWwiCisKKyM6IGxpYi9vcHRpb24udGNsOjE0MworbXNnaWQgIlN1bW1hcml6ZSBNZXJnZSBDb21taXRzIgorbXNnc3RyICJSZXN1bWlyIGNvbW1pdHMgZGUgaW50ZWdyYcOnw6NvIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNDQKK21zZ2lkICJNZXJnZSBWZXJib3NpdHkiCittc2dzdHIgIlZlcmJvc2lkYWRlIGRlIGludGVncmHDp8OjbyIKKworIzogbGliL29wdGlvbi50Y2w6MTQ1Cittc2dpZCAiU2hvdyBEaWZmc3RhdCBBZnRlciBNZXJnZSIKK21zZ3N0ciAiTW9zdHJhciBlc3RhdMOtc3RpY2FzIGRlIGRpZmVyZW7Dp2FzIGRlcG9pcyBkZSBpbnRlZ3JhciIKKworIzogbGliL29wdGlvbi50Y2w6MTQ2Cittc2dpZCAiVXNlIE1lcmdlIFRvb2wiCittc2dzdHIgIlVzYXIgZmVycmFtZW50YSBkZSBpbnRlZ3Jhw6fDo28iCisKKyM6IGxpYi9vcHRpb24udGNsOjE0OAorbXNnaWQgIlRydXN0IEZpbGUgTW9kaWZpY2F0aW9uIFRpbWVzdGFtcHMiCittc2dzdHIgIkNvbmZpYXIgbmEgZGF0YSBkZSBtb2RpZmljYcOnw6NvIGRvcyBmaWNoZWlyb3MiCisKKyM6IGxpYi9vcHRpb24udGNsOjE0OQorbXNnaWQgIlBydW5lIFRyYWNraW5nIEJyYW5jaGVzIER1cmluZyBGZXRjaCIKK21zZ3N0ciAiUG9kYXIgcmFtb3MgZGUgbW9uaXRvcml6YcOnw6NvIGFvIG9idGVyIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNTAKK21zZ2lkICJNYXRjaCBUcmFja2luZyBCcmFuY2hlcyIKK21zZ3N0ciAiQ29ycmVzcG9uZGVyIHJhbW9zIGRlIG1vbml0b3JpemHDp8OjbyIKKworIzogbGliL29wdGlvbi50Y2w6MTUxCittc2dpZCAiVXNlIFRleHRjb252IEZvciBEaWZmcyBhbmQgQmxhbWVzIgorbXNnc3RyICJVc2FyIHRleHRjb252IHBhcmEgbW9zdHJhciBkaWZlcmVuw6dhcyBlIGN1bHBhciIKKworIzogbGliL29wdGlvbi50Y2w6MTUyCittc2dpZCAiQmxhbWUgQ29weSBPbmx5IE9uIENoYW5nZWQgRmlsZXMiCittc2dzdHIgIkRldGV0YXIgY8OzcGlhIGFwZW5hcyBlbSBmaWNoZWlyb3MgbW9kaWZpY2Fkb3MiCisKKyM6IGxpYi9vcHRpb24udGNsOjE1MworbXNnaWQgIk1heGltdW0gTGVuZ3RoIG9mIFJlY2VudCBSZXBvc2l0b3JpZXMgTGlzdCIKK21zZ3N0ciAiQ29tcHJpbWVudG8gbcOheGltbyBkYSBsaXN0YSBkZSByZXBvc2l0w7NyaW9zIHJlY2VudGVzIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNTQKK21zZ2lkICJNaW5pbXVtIExldHRlcnMgVG8gQmxhbWUgQ29weSBPbiIKK21zZ3N0ciAiTsO6bWVybyBtw61uaW1vIGRlIGxldHJhcyBwYXJhIGRldGV0YXIgY8OzcGlhIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNTUKK21zZ2lkICJCbGFtZSBIaXN0b3J5IENvbnRleHQgUmFkaXVzIChkYXlzKSIKK21zZ3N0ciAiUmFpbyBkZSBjb250ZXh0byBoaXN0w7NyaWNvIHBhcmEgY3VscGFyIChkaWFzKSIKKworIzogbGliL29wdGlvbi50Y2w6MTU2Cittc2dpZCAiTnVtYmVyIG9mIERpZmYgQ29udGV4dCBMaW5lcyIKK21zZ3N0ciAiTsO6bWVybyBkZSBsaW5oYXMgZGUgY29udGV4dG8gYW8gbW9zdHJhciBkaWZlcmVuw6dhcyIKKworIzogbGliL29wdGlvbi50Y2w6MTU3Cittc2dpZCAiQWRkaXRpb25hbCBEaWZmIFBhcmFtZXRlcnMiCittc2dzdHIgIlBhcsOibWV0cm9zIGRlIGRpZmYgYWRpY2lvbmFpcyIKKworIzogbGliL29wdGlvbi50Y2w6MTU4Cittc2dpZCAiQ29tbWl0IE1lc3NhZ2UgVGV4dCBXaWR0aCIKK21zZ3N0ciAiTGFyZ3VyYSBkbyB0ZXh0byBkYSBtZW5zYWdlbSBkZSBjb21taXQiCisKKyM6IGxpYi9vcHRpb24udGNsOjE1OQorbXNnaWQgIk5ldyBCcmFuY2ggTmFtZSBUZW1wbGF0ZSIKK21zZ3N0ciAiTW9kZWxvIHBhcmEgbm9tZSBkZSBub3ZvIHJhbW8iCisKKyM6IGxpYi9vcHRpb24udGNsOjE2MAorbXNnaWQgIkRlZmF1bHQgRmlsZSBDb250ZW50cyBFbmNvZGluZyIKK21zZ3N0ciAiQ29kaWZpY2HDp8OjbyBwcmVkZWZpbmlkYSBkb3MgY29udGXDumRvcyBkZSBmaWNoZWlyb3MiCisKKyM6IGxpYi9vcHRpb24udGNsOjE2MQorbXNnaWQgIldhcm4gYmVmb3JlIGNvbW1pdHRpbmcgdG8gYSBkZXRhY2hlZCBoZWFkIgorbXNnc3RyICJBdmlzYXIgYW50ZXMgZGUgc3VibWV0ZXIgbnVtYSBjYWJlw6dhIGRlc3RhY2FkYSIKKworIzogbGliL29wdGlvbi50Y2w6MTYyCittc2dpZCAiU3RhZ2luZyBvZiB1bnRyYWNrZWQgZmlsZXMiCittc2dzdHIgIlByZXBhcmFyIGZpY2hlaXJvcyBuw6NvIGNvbnRyb2xhZG9zIgorCisjOiBsaWIvb3B0aW9uLnRjbDoxNjMKK21zZ2lkICJTaG93IHVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAiTW9zdHJhciBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcyIKKworIzogbGliL29wdGlvbi50Y2w6MTY0Cittc2dpZCAiVGFiIHNwYWNpbmciCittc2dzdHIgIkVzcGHDp2FtZW50byBkYSB0YWJ1bGHDp8OjbyIKKworIzogbGliL29wdGlvbi50Y2w6MjEwCittc2dpZCAiQ2hhbmdlIgorbXNnc3RyICJBbHRlcmFyIgorCisjOiBsaWIvb3B0aW9uLnRjbDoyNTQKK21zZ2lkICJTcGVsbGluZyBEaWN0aW9uYXJ5OiIKK21zZ3N0ciAiRGljaW9uw6FyaW8gb3J0b2dyw6FmaWNvOiIKKworIzogbGliL29wdGlvbi50Y2w6Mjg0Cittc2dpZCAiQ2hhbmdlIEZvbnQiCittc2dzdHIgIkFsdGVyYXIgdGlwbyBkZSBsZXRyYSIKKworIzogbGliL29wdGlvbi50Y2w6Mjg4CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiQ2hvb3NlICVzIgorbXNnc3RyICJFc2NvbGhlciAlcyIKKworIzogbGliL29wdGlvbi50Y2w6Mjk0Cittc2dpZCAicHQuIgorbXNnc3RyICJwdC4iCisKKyM6IGxpYi9vcHRpb24udGNsOjMwOAorbXNnaWQgIlByZWZlcmVuY2VzIgorbXNnc3RyICJQcmVmZXLDqm5jaWFzIgorCisjOiBsaWIvb3B0aW9uLnRjbDozNDUKK21zZ2lkICJGYWlsZWQgdG8gY29tcGxldGVseSBzYXZlIG9wdGlvbnM6IgorbXNnc3RyICJGYWxoYSBhbyBndWFyZGFyIHRvZGFzIGFzIG9ww6fDtWVzOiIKKworIzogbGliL21lcmdldG9vbC50Y2w6OAorbXNnaWQgIkZvcmNlIHJlc29sdXRpb24gdG8gdGhlIGJhc2UgdmVyc2lvbj8iCittc2dzdHIgIkZvcsOnYXIgcmVzb2x1w6fDo28gcGFyYSBhIHZlcnPDo28gYmFzZT8iCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjkKK21zZ2lkICJGb3JjZSByZXNvbHV0aW9uIHRvIHRoaXMgYnJhbmNoPyIKK21zZ3N0ciAiRm9yw6dhciByZXNvbHXDp8OjbyBwYXJhIGVzdGUgcmFtbz8iCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjEwCittc2dpZCAiRm9yY2UgcmVzb2x1dGlvbiB0byB0aGUgb3RoZXIgYnJhbmNoPyIKK21zZ3N0ciAiRm9yw6dhciByZXNvbHXDp8OjbyBwYXJhIG8gb3V0cm8gcmFtbz8iCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjE0CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIk5vdGUgdGhhdCB0aGUgZGlmZiBzaG93cyBvbmx5IGNvbmZsaWN0aW5nIGNoYW5nZXMuXG4iCisiXG4iCisiJXMgd2lsbCBiZSBvdmVyd3JpdHRlbi5cbiIKKyJcbiIKKyJUaGlzIG9wZXJhdGlvbiBjYW4gYmUgdW5kb25lIG9ubHkgYnkgcmVzdGFydGluZyB0aGUgbWVyZ2UuIgorbXNnc3RyICIiCisiTm90ZSBxdWUgYXMgZGlmZXJlbsOnYXMgbW9zdHJhbSBhcGVuYXMgYWx0ZXJhw6fDtWVzIGVtIGNvbmZsaXRvLlxuIgorIlxuIgorIiVzIHNlcsOhIHN1YnN0aXR1w61kby5cbiIKKyJcbiIKKyJFc3RhIG9wZXJhw6fDo28gc8OzIHBvZGUgc2VyIGFudWxhZGEgcmVpbmljaWFuZG8gYSBpbnRlZ3Jhw6fDo28uIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDo0NQorIywgdGNsLWZvcm1hdAorbXNnaWQgIkZpbGUgJXMgc2VlbXMgdG8gaGF2ZSB1bnJlc29sdmVkIGNvbmZsaWN0cywgc3RpbGwgc3RhZ2U/IgorbXNnc3RyICIiCisiTyBmaWNoZWlybyAlcyBwYXJlY2UgdGVyIGNvbmZsaXRvcyBuw6NvIHJlc29sdmlkb3MsIHByZXBhcsOhLWxvIG1lc21vIGFzc2ltPyIKKworIzogbGliL21lcmdldG9vbC50Y2w6NjAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJBZGRpbmcgcmVzb2x1dGlvbiBmb3IgJXMiCittc2dzdHIgIkEgYWRpY2lvbmFyIHJlc29sdcOnw6NvIGRlICVzIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDoxNDEKK21zZ2lkICJDYW5ub3QgcmVzb2x2ZSBkZWxldGlvbiBvciBsaW5rIGNvbmZsaWN0cyB1c2luZyBhIHRvb2wiCittc2dzdHIgIiIKKyJOw6NvIMOpIHBvc3PDrXZlbCByZXNvbHZlciBjb25mbGl0b3MgZGUgZXhjbHVzw6NvIG91IGxpZ2HDp8OjbyB1c2FuZG8gdW1hICIKKyJmZXJyYW1lbnRhIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDoxNDYKK21zZ2lkICJDb25mbGljdCBmaWxlIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJPIGZpY2hlaXJvIGVtIGNvbmZsaXRvIG7Do28gZXhpc3RlIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDoyNDYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJOb3QgYSBHVUkgbWVyZ2UgdG9vbDogJyVzJyIKK21zZ3N0ciAiTsOjbyDDqSB1bWEgZmVycmFtZW50YSBHVUkgZGUgaW50ZWdyYcOnw6NvOiAnJXMnIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDoyNzUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJVbnN1cHBvcnRlZCBtZXJnZSB0b29sICclcyciCittc2dzdHIgIkZlcnJhbWVudGEgZGUgaW50ZWdyYcOnw6NvICclcycgbsOjbyBzdXBvcnRhZGEiCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjMxMAorbXNnaWQgIk1lcmdlIHRvb2wgaXMgYWxyZWFkeSBydW5uaW5nLCB0ZXJtaW5hdGUgaXQ/IgorbXNnc3RyICJBIGZlcnJhbWVudGEgZGUgaW50ZWdyYcOnw6NvIGrDoSBlc3TDoSBhIGV4ZWN1dGFyLCB0ZXJtaW7DoS1sYT8iCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjMzMAorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJFcnJvciByZXRyaWV2aW5nIHZlcnNpb25zOlxuIgorIiVzIgorbXNnc3RyICIiCisiRXJybyBhbyBvYnRlciB2ZXJzw7VlczpcbiIKKyIlcyIKKworIzogbGliL21lcmdldG9vbC50Y2w6MzUwCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIkNvdWxkIG5vdCBzdGFydCB0aGUgbWVyZ2UgdG9vbDpcbiIKKyJcbiIKKyIlcyIKK21zZ3N0ciAiIgorIk7Do28gZm9pIHBvc3PDrXZlbCBpbmljaWFyIGEgZmVycmFtZW50YSBkZSBpbnRlZ3Jhw6fDo286XG4iCisiXG4iCisiJXMiCisKKyM6IGxpYi9tZXJnZXRvb2wudGNsOjM1NAorbXNnaWQgIlJ1bm5pbmcgbWVyZ2UgdG9vbC4uLiIKK21zZ3N0ciAiQSBleGVjdXRhciBhIGZlcnJhbWVudGEgZGUgaW50ZWdyYcOnw6NvLi4uIgorCisjOiBsaWIvbWVyZ2V0b29sLnRjbDozODIgbGliL21lcmdldG9vbC50Y2w6MzkwCittc2dpZCAiTWVyZ2UgdG9vbCBmYWlsZWQuIgorbXNnc3RyICJBIGZlcnJhbWVudGEgZGUgaW50ZWdyYcOnw6NvIGZhbGhvdS4iCisKKyM6IGxpYi90b29sc19kbGcudGNsOjIyCittc2dpZCAiQWRkIFRvb2wiCittc2dzdHIgIkFkaWNpb25hciBmZXJyYW1lbnRhIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoyOAorbXNnaWQgIkFkZCBOZXcgVG9vbCBDb21tYW5kIgorbXNnc3RyICJBZGljaW9uYXIgbm92byBjb21hbmRvIGRlIGZlcnJhbWVudGEiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjM0Cittc2dpZCAiQWRkIGdsb2JhbGx5IgorbXNnc3RyICJBZGljaW9uYXIgZ2xvYmFsbWVudGUiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjQ2Cittc2dpZCAiVG9vbCBEZXRhaWxzIgorbXNnc3RyICJEZXRhbGhlcyBkYSBmZXJyYW1lbnRhIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo0OQorbXNnaWQgIlVzZSAnLycgc2VwYXJhdG9ycyB0byBjcmVhdGUgYSBzdWJtZW51IHRyZWU6IgorbXNnc3RyICJVc2Ugc2VwYXJhZG9yZXMgJy8nIHBhcmEgY3JpYXIgdW1hIMOhcnZvcmUgZGUgc3VibWVudXM6IgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo2MAorbXNnaWQgIkNvbW1hbmQ6IgorbXNnc3RyICJDb21hbmRvOiIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6NzEKK21zZ2lkICJTaG93IGEgZGlhbG9nIGJlZm9yZSBydW5uaW5nIgorbXNnc3RyICJNb3N0cmFyIHVtIGRpw6Fsb2dvIGFudGVzIGRlIGV4ZWN1dGFyIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo3NworbXNnaWQgIkFzayB0aGUgdXNlciB0byBzZWxlY3QgYSByZXZpc2lvbiAoc2V0cyAkUkVWSVNJT04pIgorbXNnc3RyICJQZWRpciBhbyB1dGlsaXphZG9yIHBhcmEgc2VsZWNpb25hciB1bWEgcmV2aXPDo28gKGRlZmluZSAkUkVWSVNJT04pIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDo4MgorbXNnaWQgIkFzayB0aGUgdXNlciBmb3IgYWRkaXRpb25hbCBhcmd1bWVudHMgKHNldHMgJEFSR1MpIgorbXNnc3RyICJQZWRpciBhbyB1dGlsaXphZG9yIGFyZ3VtZW50b3MgYWRpY2lvbmFpcyAoZGVmaW5lICRBUkdTKSIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6ODkKK21zZ2lkICJEb24ndCBzaG93IHRoZSBjb21tYW5kIG91dHB1dCB3aW5kb3ciCittc2dzdHIgIk7Do28gbW9zdHJhciBhIGphbmVsYSBjb20gYSBzYcOtZGEgZG8gY29tYW5kbyIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6OTQKK21zZ2lkICJSdW4gb25seSBpZiBhIGRpZmYgaXMgc2VsZWN0ZWQgKCRGSUxFTkFNRSBub3QgZW1wdHkpIgorbXNnc3RyICJFeGVjdXRhciBzw7Mgc2UgZm9yIHNlbGVjaW9uYWRhIHVtIGRpZmVyZW7Dp2EgKCRGSUxFTkFNRSBuw6NvIHZhemlvKSIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MTE4Cittc2dpZCAiUGxlYXNlIHN1cHBseSBhIG5hbWUgZm9yIHRoZSB0b29sLiIKK21zZ3N0ciAiRm9ybmXDp2EgdW0gbm9tZSBwYXJhIGEgZmVycmFtZW50YS4iCisKKyM6IGxpYi90b29sc19kbGcudGNsOjEyNgorIywgdGNsLWZvcm1hdAorbXNnaWQgIlRvb2wgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIkEgZmVycmFtZW50YSAnJXMnIGrDoSBleGlzdGUuIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoxNDgKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiQ291bGQgbm90IGFkZCB0b29sOlxuIgorIiVzIgorbXNnc3RyICIiCisiTsOjbyBmb2kgcG9zc8OtdmVsIGFkaWNpb25hciBmZXJyYW1lbnRhOlxuIgorIiVzIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoxODcKK21zZ2lkICJSZW1vdmUgVG9vbCIKK21zZ3N0ciAiUmVtb3ZlciBmZXJyYW1lbnRhIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoxOTMKK21zZ2lkICJSZW1vdmUgVG9vbCBDb21tYW5kcyIKK21zZ3N0ciAiUmVtb3ZlciBjb21hbmRvcyBkZSBmZXJyYW1lbnRhIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDoxOTgKK21zZ2lkICJSZW1vdmUiCittc2dzdHIgIlJlbW92ZXIiCisKKyM6IGxpYi90b29sc19kbGcudGNsOjIzMQorbXNnaWQgIihCbHVlIGRlbm90ZXMgcmVwb3NpdG9yeS1sb2NhbCB0b29scykiCittc2dzdHIgIihBenVsIGRlbm90YSBmZXJyYW1lbnRhcyBsb2NhaXMgZG8gcmVwb3NpdMOzcmlvKSIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MjkyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUnVuIENvbW1hbmQ6ICVzIgorbXNnc3RyICJFeGVjdXRhciBjb21hbmRvOiAlcyIKKworIzogbGliL3Rvb2xzX2RsZy50Y2w6MzA2Cittc2dpZCAiQXJndW1lbnRzIgorbXNnc3RyICJBcmd1bWVudG9zIgorCisjOiBsaWIvdG9vbHNfZGxnLnRjbDozNDEKK21zZ2lkICJPSyIKK21zZ3N0ciAiT0siCisKKyM6IGxpYi9zZWFyY2gudGNsOjQ4Cittc2dpZCAiRmluZDoiCittc2dzdHIgIlByb2N1cmFyOiIKKworIzogbGliL3NlYXJjaC50Y2w6NTAKK21zZ2lkICJOZXh0IgorbXNnc3RyICJTZWd1aW50ZSIKKworIzogbGliL3NlYXJjaC50Y2w6NTEKK21zZ2lkICJQcmV2IgorbXNnc3RyICJBbnRlcmlvciIKKworIzogbGliL3NlYXJjaC50Y2w6NTIKK21zZ2lkICJSZWdFeHAiCittc2dzdHIgIkV4cFJlZyIKKworIzogbGliL3NlYXJjaC50Y2w6NTQKK21zZ2lkICJDYXNlIgorbXNnc3RyICJNYWnDunNjdWxhcyIKKworIzogbGliL3Nob3J0Y3V0LnRjbDoyMSBsaWIvc2hvcnRjdXQudGNsOjYyCittc2dpZCAiQ2Fubm90IHdyaXRlIHNob3J0Y3V0OiIKK21zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZXNjcmV2ZXIgYXRhbGhvOiIKKworIzogbGliL3Nob3J0Y3V0LnRjbDoxMzcKK21zZ2lkICJDYW5ub3Qgd3JpdGUgaWNvbjoiCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGVzY3JldmVyIMOtY29uZToiCisKKyM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxNSBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6MjMKK21zZ2lkICJSZW5hbWUgQnJhbmNoIgorbXNnc3RyICJNdWRhciBub21lIGRlIHJhbW8iCisKKyM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoyOAorbXNnaWQgIlJlbmFtZSIKK21zZ3N0ciAiTXVkYXIgbm9tZSIKKworIzogbGliL2JyYW5jaF9yZW5hbWUudGNsOjM4Cittc2dpZCAiQnJhbmNoOiIKK21zZ3N0ciAiUmFtbzoiCisKKyM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDo0NgorbXNnaWQgIk5ldyBOYW1lOiIKK21zZ3N0ciAiTm92byBub21lOiIKKworIzogbGliL2JyYW5jaF9yZW5hbWUudGNsOjgxCittc2dpZCAiUGxlYXNlIHNlbGVjdCBhIGJyYW5jaCB0byByZW5hbWUuIgorbXNnc3RyICJTZWxlY2lvbmUgdW0gcmFtbyBwYXJhIG11ZGFyIGRlIG5vbWUuIgorCisjOiBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6OTIgbGliL2JyYW5jaF9jcmVhdGUudGNsOjE1NAorbXNnaWQgIlBsZWFzZSBzdXBwbHkgYSBicmFuY2ggbmFtZS4iCittc2dzdHIgIkluZGlxdWUgdW0gbm9tZSBwYXJhIG8gcmFtby4iCisKKyM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxMTIgbGliL2JyYW5jaF9jcmVhdGUudGNsOjE2NQorIywgdGNsLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGFuIGFjY2VwdGFibGUgYnJhbmNoIG5hbWUuIgorbXNnc3RyICInJXMnIG7Do28gcG9kZSBzZXIgYWNlaXRlIGNvbW8gbm9tZSBkZSByYW1vLiIKKworIzogbGliL2JyYW5jaF9yZW5hbWUudGNsOjEyMworIywgdGNsLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZW5hbWUgJyVzJy4iCittc2dzdHIgIkZhbGhhIGFvIG11ZGFyIG8gbm9tZSBkZSAnJXMnLiIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoyOSBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjM0Cittc2dpZCAiRGVsZXRlIEJyYW5jaCBSZW1vdGVseSIKK21zZ3N0ciAiUmVtb3ZlciByYW1vIHJlbW90YW1lbnRlIgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjQ4Cittc2dpZCAiRnJvbSBSZXBvc2l0b3J5IgorbXNnc3RyICJEbyByZXBvc2l0w7NyaW8iCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6ODgKK21zZ2lkICJCcmFuY2hlcyIKK21zZ3N0ciAiUmFtb3MiCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTEwCittc2dpZCAiRGVsZXRlIE9ubHkgSWYiCittc2dzdHIgIkVsaW1pbmFyIHPDsyBzZSIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxMTIKK21zZ2lkICJNZXJnZWQgSW50bzoiCittc2dzdHIgIkludGVncmFyIGVtOiIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxMjAgbGliL2JyYW5jaF9kZWxldGUudGNsOjUzCittc2dpZCAiQWx3YXlzIChEbyBub3QgcGVyZm9ybSBtZXJnZSBjaGVja3MpIgorbXNnc3RyICJTZW1wcmUgKG7Do28gcmVhbGl6YXIgdmVyaWZpY2HDp8OjbyBkZSBpbnRlZ3Jhw6fDo28pIgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjE1MworbXNnaWQgIkEgYnJhbmNoIGlzIHJlcXVpcmVkIGZvciAnTWVyZ2VkIEludG8nLiIKK21zZ3N0ciAiw4kgbmVjZXNzw6FyaW8gdW0gcmFtbyBlbSAnSW50ZWdyYXIgZW0nLiIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxODUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyBicmFuY2hlcyBhcmUgbm90IGNvbXBsZXRlbHkgbWVyZ2VkIGludG8gJXM6XG4iCisiXG4iCisiIC0gJXMiCittc2dzdHIgIiIKKyJPcyBzZWd1aW50ZXMgcmFtb3MgbsOjbyBmb3JhbSBjb21wbGV0YW1lbnRlIGludGVncmFkb3MgZW0gJXM6XG4iCisiXG4iCisiIC0gJXMiCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MTkwCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIk9uZSBvciBtb3JlIG9mIHRoZSBtZXJnZSB0ZXN0cyBmYWlsZWQgYmVjYXVzZSB5b3UgaGF2ZSBub3QgZmV0Y2hlZCB0aGUgIgorIm5lY2Vzc2FyeSBjb21taXRzLiAgVHJ5IGZldGNoaW5nIGZyb20gJXMgZmlyc3QuIgorbXNnc3RyICIiCisiVW0gb3UgbWFpcyB0ZXN0ZXMgZGUgaW50ZWdyYcOnw6NvIGZhbGhhcmFtIHBvcnF1ZSBuw6NvIG9idGV2ZSBvcyBjb21taXRzICIKKyJuZWNlc3PDoXJpb3MuIFRlbnRlIHByaW1laXJvIG9idGVyIGRlICVzLiIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoyMDgKK21zZ2lkICJQbGVhc2Ugc2VsZWN0IG9uZSBvciBtb3JlIGJyYW5jaGVzIHRvIGRlbGV0ZS4iCittc2dzdHIgIlNlbGVjaW9uZSB1bSBvdSBtYWlzIHJhbW9zIHBhcmEgZWxpbWluYXIuIgorCisjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjIxOCBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MTE1Cittc2dpZCAiIgorIlJlY292ZXJpbmcgZGVsZXRlZCBicmFuY2hlcyBpcyBkaWZmaWN1bHQuXG4iCisiXG4iCisiRGVsZXRlIHRoZSBzZWxlY3RlZCBicmFuY2hlcz8iCittc2dzdHIgIiIKKyJSZWN1cGVyYXIgcmFtb3MgZWxpbWluYWRvcyDDqSBkaWbDrWNpbC5cbiIKKyJcbiIKKyJFbGltaW5hciBvcyByYW1vcyBzZWxlY2lvbmFkbz8iCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MjI3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRGVsZXRpbmcgYnJhbmNoZXMgZnJvbSAlcyIKK21zZ3N0ciAiQSBlbGltaW5hciByYW1vcyBkZSAlcyIKKworIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDozMDAKK21zZ2lkICJObyByZXBvc2l0b3J5IHNlbGVjdGVkLiIKK21zZ3N0ciAiTmVuaHVtIHJlcG9zaXTDs3JpbyBzZWxlY2lvbmFkby4iCisKKyM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MzA1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiU2Nhbm5pbmcgJXMuLi4iCittc2dzdHIgIkEgYW5hbGlzYXIgJXMuLi4iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MzMKK21zZ2lkICJHaXQgR3VpIgorbXNnc3RyICJHaXQgR3VpIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjkyIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDEyCittc2dpZCAiQ3JlYXRlIE5ldyBSZXBvc2l0b3J5IgorbXNnc3RyICJDcmlhciBub3ZvIHJlcG9zaXTDs3JpbyIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo5OAorbXNnaWQgIk5ldy4uLiIKK21zZ3N0ciAiTm92by4uLiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMDUgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo0OTYKK21zZ2lkICJDbG9uZSBFeGlzdGluZyBSZXBvc2l0b3J5IgorbXNnc3RyICJDbG9uYXIgcmVwb3NpdMOzcmlvIGV4aXN0ZW50ZSIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMTYKK21zZ2lkICJDbG9uZS4uLiIKK21zZ3N0ciAiQ2xvbmFyLi4uIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEyMyBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEwNjQKK21zZ2lkICJPcGVuIEV4aXN0aW5nIFJlcG9zaXRvcnkiCittc2dzdHIgIkFicmlyIHJlcG9zaXTDs3JpbyBleGlzdGVudGUiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTI5Cittc2dpZCAiT3Blbi4uLiIKK21zZ3N0ciAiQWJyaXIuLi4iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTQyCittc2dpZCAiUmVjZW50IFJlcG9zaXRvcmllcyIKK21zZ3N0ciAiUmVwb3NpdMOzcmlvcyByZWNlbnRlcyIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxNDgKK21zZ2lkICJPcGVuIFJlY2VudCBSZXBvc2l0b3J5OiIKK21zZ3N0ciAiQWJyaXIgcmVwb3NpdMOzcmlvIHJlY2VudGU6IgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjMxNiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjMyMworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDozMzAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gY3JlYXRlIHJlcG9zaXRvcnkgJXM6IgorbXNnc3RyICJGYWxoYSBhbyBjcmlhciBvIHJlcG9zaXTDs3JpbyAlczoiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDA3IGxpYi9icmFuY2hfY3JlYXRlLnRjbDozMworbXNnaWQgIkNyZWF0ZSIKK21zZ3N0ciAiQ3JpYXIiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDE3Cittc2dpZCAiRGlyZWN0b3J5OiIKK21zZ3N0ciAiRGlyZXTDs3JpbzoiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDQ3IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTczCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEwOTgKK21zZ2lkICJHaXQgUmVwb3NpdG9yeSIKK21zZ3N0ciAiUmVwb3NpdMOzcmlvIEdpdCIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo0NzIKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgJXMgYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICJPIGRpcmV0w7NyaW8gJXMgasOhIGV4aXN0ZS4iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDc2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmlsZSAlcyBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIk8gZmljaGVpcm8gJXMgasOhIGV4aXN0ZS4iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDkxCittc2dpZCAiQ2xvbmUiCittc2dzdHIgIkNsb25hciIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1MDQKK21zZ2lkICJTb3VyY2UgTG9jYXRpb246IgorbXNnc3RyICJMb2NhbGl6YcOnw6NvIGRlIG9yaWdlbToiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTEzCittc2dpZCAiVGFyZ2V0IERpcmVjdG9yeToiCittc2dzdHIgIkRpcmV0w7NyaW8gZGUgZGVzdGlubzoiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTIzCittc2dpZCAiQ2xvbmUgVHlwZToiCittc2dzdHIgIlRpcG8gZGUgY2xvbmU6IgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjUyOAorbXNnaWQgIlN0YW5kYXJkIChGYXN0LCBTZW1pLVJlZHVuZGFudCwgSGFyZGxpbmtzKSIKK21zZ3N0ciAiUGFkcsOjbyAocsOhcGlkbywgc2VtaS1yZWR1bmRhbnRlLCBsaWdhw6fDtWVzIGZpeGFzKSIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1MzMKK21zZ2lkICJGdWxsIENvcHkgKFNsb3dlciwgUmVkdW5kYW50IEJhY2t1cCkiCittc2dzdHIgIkPDs3BpYSBUb3RhbCAobGVudG8sIGPDs3BpYSBkZSBzZWd1cmFuw6dhIHJlZHVuZGFudGUpIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjUzOAorbXNnaWQgIlNoYXJlZCAoRmFzdGVzdCwgTm90IFJlY29tbWVuZGVkLCBObyBCYWNrdXApIgorbXNnc3RyICJQYXJ0aWxoYWRvIChtYWlzIHLDoXBpZG8sIG7Do28gcmVjb21lbmRhZG8sIHNlbSBjw7NwaWEpIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjU0NQorbXNnaWQgIlJlY3Vyc2l2ZWx5IGNsb25lIHN1Ym1vZHVsZXMgdG9vIgorbXNnc3RyICJDbG9uYXIgcmVjdXJzaXZhbWVudGUgc3VibcOzZHVsb3MgdGFtYsOpbSIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1NzkgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2MjYKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NzcyIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6ODQyCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjExMDQgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMTEyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiTm90IGEgR2l0IHJlcG9zaXRvcnk6ICVzIgorbXNnc3RyICJOw6NvIMOpIHVtIHJlcG9zaXTDs3JpbyBHaXQ6ICVzIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjYxNQorbXNnaWQgIlN0YW5kYXJkIG9ubHkgYXZhaWxhYmxlIGZvciBsb2NhbCByZXBvc2l0b3J5LiIKK21zZ3N0ciAiUGFkcsOjbyBzw7MgZGlzcG9uw612ZWwgZW0gcmVwb3NpdMOzcmlvcyBsb2NhaXMuIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjYxOQorbXNnaWQgIlNoYXJlZCBvbmx5IGF2YWlsYWJsZSBmb3IgbG9jYWwgcmVwb3NpdG9yeS4iCittc2dzdHIgIlBhcnRpbGhhZG8gc8OzIGRpc3BvbsOtdmVsIGVtIHJlcG9zaXTDs3Jpb3MgbG9jYWlzLiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2NDAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJMb2NhdGlvbiAlcyBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIkEgbG9jYWxpemHDp8OjbyAlcyBqw6EgZXhpc3RlLiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2NTEKK21zZ2lkICJGYWlsZWQgdG8gY29uZmlndXJlIG9yaWdpbiIKK21zZ3N0ciAiRmFsaGEgYW8gY29uZmlndXJhciBvcmlnZW0iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NjYzCittc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKK21zZ3N0ciAiQSBjb250YXIgb2JqZXRvcyIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2NjQKK21zZ2lkICJidWNrZXRzIgorbXNnc3RyICJiYWxkZXMiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6Njg4CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGNvcHkgb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXM6ICVzIgorbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBjb3BpYXIgb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXM6ICVzIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjcyNAorIywgdGNsLWZvcm1hdAorbXNnaWQgIk5vdGhpbmcgdG8gY2xvbmUgZnJvbSAlcy4iCittc2dzdHIgIk5hZGEgcGFyYSBjbG9uYXIgZGUgJXMuIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjcyNiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjk0MAorIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo5NTIKK21zZ2lkICJUaGUgJ21hc3RlcicgYnJhbmNoIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZC4iCittc2dzdHIgIk8gcmFtbyAnbWFzdGVyJyBuw6NvIGZvaSBpbmljaWFsaXphZG8uIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjczOQorbXNnaWQgIkhhcmRsaW5rcyBhcmUgdW5hdmFpbGFibGUuICBGYWxsaW5nIGJhY2sgdG8gY29weWluZy4iCittc2dzdHIgIkxpZ2HDp8O1ZXMgZml4YXMgaW5kaXNwb27DrXZlaXMuIEEgcmVjb3JyZXIgYSBjw7NwaWEuIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjc1MQorIywgdGNsLWZvcm1hdAorbXNnaWQgIkNsb25pbmcgZnJvbSAlcyIKK21zZ3N0ciAiQSBjbG9uYXIgZGUgJXMiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NzgyCittc2dpZCAiQ29weWluZyBvYmplY3RzIgorbXNnc3RyICJBIGNvcGlhciBvYmpldG9zIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjc4MworbXNnaWQgIktpQiIKK21zZ3N0ciAiS2lCIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjgwNworIywgdGNsLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBjb3B5IG9iamVjdDogJXMiCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGNvcGlhciBvYmpldG86ICVzIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjgxNworbXNnaWQgIkxpbmtpbmcgb2JqZWN0cyIKK21zZ3N0ciAiQSBsaWdhciBvYmpldG9zIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjgxOAorbXNnaWQgIm9iamVjdHMiCittc2dzdHIgIm9iamV0b3MiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6ODI2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGhhcmRsaW5rIG9iamVjdDogJXMiCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGNyaWFyIGxpZ2HDp8OjbyBmaXhhIGRlIG9iamV0bzogJXMiCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6ODgxCittc2dpZCAiQ2Fubm90IGZldGNoIGJyYW5jaGVzIGFuZCBvYmplY3RzLiAgU2VlIGNvbnNvbGUgb3V0cHV0IGZvciBkZXRhaWxzLiIKK21zZ3N0ciAiIgorIk7Do28gw6kgcG9zc8OtdmVsIG9idGVyIHJhbW9zIGUgb2JqZXRvcy4gVmVyIHNhw61kYSBuYSBjb25zb2xhIHBhcmEgZGV0YWxoZXMuIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjg5MgorbXNnaWQgIkNhbm5vdCBmZXRjaCB0YWdzLiAgU2VlIGNvbnNvbGUgb3V0cHV0IGZvciBkZXRhaWxzLiIKK21zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgb2J0ZXIgdGFncy4gVmVyIHNhw61kYSBuYSBjb25zb2xhIHBhcmEgZGV0YWxoZXMuIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjkxNgorbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgSEVBRC4gIFNlZSBjb25zb2xlIG91dHB1dCBmb3IgZGV0YWlscy4iCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGRldGVybWluYXIgSEVBRC4gVmVyIHNhw61kYSBuYSBjb25zb2xhIHBhcmEgZGV0YWxoZXMuIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjkyNQorIywgdGNsLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBjbGVhbnVwICVzIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgbGltcGFyICVzIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjkzMQorbXNnaWQgIkNsb25lIGZhaWxlZC4iCittc2dzdHIgIkZhbGhhIGFvIGNsb25hci4iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTM4Cittc2dpZCAiTm8gZGVmYXVsdCBicmFuY2ggb2J0YWluZWQuIgorbXNnc3RyICJOw6NvIGZvaSBvYnRpZG8gbmVuaHVtIHJhbW8gcHJlZGVmaW5pZG8uIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjk0OQorIywgdGNsLWZvcm1hdAorbXNnaWQgIkNhbm5vdCByZXNvbHZlICVzIGFzIGEgY29tbWl0LiIKK21zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgcmVzb2x2ZXIgJXMgY29tbyB1bSBjb21taXQuIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjk2MQorbXNnaWQgIkNyZWF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJBIGNyaWFyIGRpcmV0w7NyaW8gZGUgdHJhYmFsaG8iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTYyIGxpYi9pbmRleC50Y2w6NzAgbGliL2luZGV4LnRjbDoxMzYKKyM6IGxpYi9pbmRleC50Y2w6MjA3Cittc2dpZCAiZmlsZXMiCittc2dzdHIgImZpY2hlaXJvcyIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo5ODEKK21zZ2lkICJDYW5ub3QgY2xvbmUgc3VibW9kdWxlcy4iCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGNsb25hciBzdWJtw7NkdWxvcy4iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTkwCittc2dpZCAiQ2xvbmluZyBzdWJtb2R1bGVzIgorbXNnc3RyICJBIGNsb25hciBzdWJtw7NkdWxvcyIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMDE1Cittc2dpZCAiSW5pdGlhbCBmaWxlIGNoZWNrb3V0IGZhaWxlZC4iCittc2dzdHIgIkZhbGhhIGRlIGV4dHJhw6fDo28gaW5pY2lhbCBkZSBmaWNoZWlyby4iCisKKyM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTA1OQorbXNnaWQgIk9wZW4iCittc2dzdHIgIkFicmlyIgorCisjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjEwNjkKK21zZ2lkICJSZXBvc2l0b3J5OiIKK21zZ3N0ciAiUmVwb3NpdMOzcmlvOiIKKworIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMTE4CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gcmVwb3NpdG9yeSAlczoiCittc2dzdHIgIkZhbGhhIGFvIGFicmlyIG8gcmVwb3NpdMOzcmlvICVzOiIKKworIzogbGliL2Fib3V0LnRjbDoyNgorbXNnaWQgImdpdC1ndWkgLSBhIGdyYXBoaWNhbCB1c2VyIGludGVyZmFjZSBmb3IgR2l0LiIKK21zZ3N0ciAiZ2l0LWd1aSAtIHVtYSBpbnRlcmZhY2UgZ3LDoWZpY2EgZG8gR2l0LiIKKworIzogbGliL2JsYW1lLnRjbDo3MworbXNnaWQgIkZpbGUgVmlld2VyIgorbXNnc3RyICJWaXN1YWxpemFkb3IgZGUgZmljaGVpcm9zIgorCisjOiBsaWIvYmxhbWUudGNsOjc5Cittc2dpZCAiQ29tbWl0OiIKK21zZ3N0ciAiQ29tbWl0OiIKKworIzogbGliL2JsYW1lLnRjbDoyODAKK21zZ2lkICJDb3B5IENvbW1pdCIKK21zZ3N0ciAiQ29waWFyIGNvbW1pdCIKKworIzogbGliL2JsYW1lLnRjbDoyODQKK21zZ2lkICJGaW5kIFRleHQuLi4iCittc2dzdHIgIlByb2N1cmFyIHRleHRvLi4uIgorCisjOiBsaWIvYmxhbWUudGNsOjI4OAorbXNnaWQgIkdvdG8gTGluZS4uLiIKK21zZ3N0ciAiSXIgcGFyYSBhIGxpbmhhLi4uIgorCisjOiBsaWIvYmxhbWUudGNsOjI5NworbXNnaWQgIkRvIEZ1bGwgQ29weSBEZXRlY3Rpb24iCittc2dzdHIgIkVmZXR1YXIgZGV0ZcOnw6NvIGRlIGPDs3BpYSBpbnRlZ3JhbCIKKworIzogbGliL2JsYW1lLnRjbDozMDEKK21zZ2lkICJTaG93IEhpc3RvcnkgQ29udGV4dCIKK21zZ3N0ciAiTW9zdHJhciBjb250ZXh0byBoaXN0w7NyaWNvIgorCisjOiBsaWIvYmxhbWUudGNsOjMwNAorbXNnaWQgIkJsYW1lIFBhcmVudCBDb21taXQiCittc2dzdHIgIkN1bHBhciBjb21taXQgcGFpIgorCisjOiBsaWIvYmxhbWUudGNsOjQ2NgorIywgdGNsLWZvcm1hdAorbXNnaWQgIlJlYWRpbmcgJXMuLi4iCittc2dzdHIgIkEgbGVyICVzLi4uIgorCisjOiBsaWIvYmxhbWUudGNsOjU5NAorbXNnaWQgIkxvYWRpbmcgY29weS9tb3ZlIHRyYWNraW5nIGFubm90YXRpb25zLi4uIgorbXNnc3RyICJBIGNhcnJlZ2FyIGFub3Rhw6fDtWVzIGRlIGPDs3BpYS9tb3ZpbWVudG8uLi4iCisKKyM6IGxpYi9ibGFtZS50Y2w6NjE0Cittc2dpZCAibGluZXMgYW5ub3RhdGVkIgorbXNnc3RyICJsaW5oYXMgYW5vdGFkYXMiCisKKyM6IGxpYi9ibGFtZS50Y2w6ODA2Cittc2dpZCAiTG9hZGluZyBvcmlnaW5hbCBsb2NhdGlvbiBhbm5vdGF0aW9ucy4uLiIKK21zZ3N0ciAiQSBjYXJyZWdhciBhbm90YcOnw7VlcyBkYSBsb2NhbGl6YcOnw6NvIG9yaWdpbmFsLi4uIgorCisjOiBsaWIvYmxhbWUudGNsOjgwOQorbXNnaWQgIkFubm90YXRpb24gY29tcGxldGUuIgorbXNnc3RyICJBbm90YcOnw6NvIGNvbmNsdcOtZGEuIgorCisjOiBsaWIvYmxhbWUudGNsOjgzOQorbXNnaWQgIkJ1c3kiCittc2dzdHIgIkEgcHJvY2Vzc2FyIgorCisjOiBsaWIvYmxhbWUudGNsOjg0MAorbXNnaWQgIkFubm90YXRpb24gcHJvY2VzcyBpcyBhbHJlYWR5IHJ1bm5pbmcuIgorbXNnc3RyICJPIHByb2Nlc3NvIGRlIGFub3Rhw6fDo28gasOhIGVzdMOhIGVtIGV4ZWN1w6fDo28uIgorCisjOiBsaWIvYmxhbWUudGNsOjg3OQorbXNnaWQgIlJ1bm5pbmcgdGhvcm91Z2ggY29weSBkZXRlY3Rpb24uLi4iCittc2dzdHIgIkEgZXhlY3V0YXIgZGV0ZcOnw6NvIGRlIGPDs3BpYSBpbnRlZ3JhbC4uLiIKKworIzogbGliL2JsYW1lLnRjbDo5NDcKK21zZ2lkICJMb2FkaW5nIGFubm90YXRpb24uLi4iCittc2dzdHIgIkEgY2FycmVnYXIgYW5vdGHDp8Ojby4uLiIKKworIzogbGliL2JsYW1lLnRjbDoxMDAwCittc2dpZCAiQXV0aG9yOiIKK21zZ3N0ciAiQXV0b3I6IgorCisjOiBsaWIvYmxhbWUudGNsOjEwMDQKK21zZ2lkICJDb21taXR0ZXI6IgorbXNnc3RyICJDb21taXR0ZXI6IgorCisjOiBsaWIvYmxhbWUudGNsOjEwMDkKK21zZ2lkICJPcmlnaW5hbCBGaWxlOiIKK21zZ3N0ciAiRmljaGVpcm8gb3JpZ2luYWw6IgorCisjOiBsaWIvYmxhbWUudGNsOjEwNTcKK21zZ2lkICJDYW5ub3QgZmluZCBIRUFEIGNvbW1pdDoiCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGVuY29udHJhciBjb21taXQgSEVBRDoiCisKKyM6IGxpYi9ibGFtZS50Y2w6MTExMgorbXNnaWQgIkNhbm5vdCBmaW5kIHBhcmVudCBjb21taXQ6IgorbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBlbmNvbnRyYXIgY29tbWl0IHBhaToiCisKKyM6IGxpYi9ibGFtZS50Y2w6MTEyNworbXNnaWQgIlVuYWJsZSB0byBkaXNwbGF5IHBhcmVudCIKK21zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgbW9zdHJhciBwYWkiCisKKyM6IGxpYi9ibGFtZS50Y2w6MTI2OQorbXNnaWQgIk9yaWdpbmFsbHkgQnk6IgorbXNnc3RyICJPcmlnaW5hbG1lbnRlIHBvcjoiCisKKyM6IGxpYi9ibGFtZS50Y2w6MTI3NQorbXNnaWQgIkluIEZpbGU6IgorbXNnc3RyICJObyBmaWNoZWlybzoiCisKKyM6IGxpYi9ibGFtZS50Y2w6MTI4MAorbXNnaWQgIkNvcGllZCBPciBNb3ZlZCBIZXJlIEJ5OiIKK21zZ3N0ciAiQ29waWFkbyBvdSBNb3ZpZG8gcGFyYSBhcXVpIHBvcjoiCisKKyM6IGxpYi9zc2hrZXkudGNsOjMxCittc2dpZCAiTm8ga2V5cyBmb3VuZC4iCittc2dzdHIgIk5lbmh1bSBjaGF2ZSBlbmNvbnRyYWRhLiIKKworIzogbGliL3NzaGtleS50Y2w6MzQKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJGb3VuZCBhIHB1YmxpYyBrZXkgaW46ICVzIgorbXNnc3RyICJDaGF2ZSBww7pibGljYSBlbmNvbnRyYWRhIGVtOiAlcyIKKworIzogbGliL3NzaGtleS50Y2w6NDAKK21zZ2lkICJHZW5lcmF0ZSBLZXkiCittc2dzdHIgIkdlcmFyIGNoYXZlIgorCisjOiBsaWIvc3Noa2V5LnRjbDo1OAorbXNnaWQgIkNvcHkgVG8gQ2xpcGJvYXJkIgorbXNnc3RyICJDb3BpYXIgcGFyYSBhIMOhcmVhIGRlIHRyYW5zZmVyw6puY2lhIgorCisjOiBsaWIvc3Noa2V5LnRjbDo3MgorbXNnaWQgIllvdXIgT3BlblNTSCBQdWJsaWMgS2V5IgorbXNnc3RyICJBIHN1YSBjaGF2ZSBPcGVuU1NIIHDDumJsaWNhIgorCisjOiBsaWIvc3Noa2V5LnRjbDo4MAorbXNnaWQgIkdlbmVyYXRpbmcuLi4iCittc2dzdHIgIkEgZ2VyYXIuLi4iCisKKyM6IGxpYi9zc2hrZXkudGNsOjg2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIkNvdWxkIG5vdCBzdGFydCBzc2gta2V5Z2VuOlxuIgorIlxuIgorIiVzIgorbXNnc3RyICIiCisiTsOjbyBmb2kgcG9zc8OtdmVsIGluaWNpYXIgc3NoLWtleWdlbjpcbiIKKyJcbiIKKyIlcyIKKworIzogbGliL3NzaGtleS50Y2w6MTEzCittc2dpZCAiR2VuZXJhdGlvbiBmYWlsZWQuIgorbXNnc3RyICJGYWxoYSBhbyBnZXJhci4iCisKKyM6IGxpYi9zc2hrZXkudGNsOjEyMAorbXNnaWQgIkdlbmVyYXRpb24gc3VjY2VlZGVkLCBidXQgbm8ga2V5cyBmb3VuZC4iCittc2dzdHIgIkdlcmFkYSBjb20gc3VjZXNzbywgbWFzIG7Do28gZm9pIGVuY29udHJhZGEgbmVuaHVtIGNoYXZlLiIKKworIzogbGliL3NzaGtleS50Y2w6MTIzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiWW91ciBrZXkgaXMgaW46ICVzIgorbXNnc3RyICJBIHN1YSBjaGF2ZSBlbmNvbnRyYS1zZSBlbTogJXMiCisKKyM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDoyMworbXNnaWQgIkNyZWF0ZSBCcmFuY2giCittc2dzdHIgIkNyaWFyIHJhbW8iCisKKyM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDoyOAorbXNnaWQgIkNyZWF0ZSBOZXcgQnJhbmNoIgorbXNnc3RyICJDcmlhIG5vdm8gcmFtbyIKKworIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjQyCittc2dpZCAiQnJhbmNoIE5hbWUiCittc2dzdHIgIk5vbWUgZG8gcmFtbyIKKworIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjU3Cittc2dpZCAiTWF0Y2ggVHJhY2tpbmcgQnJhbmNoIE5hbWUiCittc2dzdHIgIkNvcnJlc3BvbmRlciBhbyBub21lIGRvIHJhbW8gZGUgbW9uaXRvcml6YcOnw6NvIgorCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6NjYKK21zZ2lkICJTdGFydGluZyBSZXZpc2lvbiIKK21zZ3N0ciAiUmV2aXPDo28gaW5pY2lhbCIKKworIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjcyCittc2dpZCAiVXBkYXRlIEV4aXN0aW5nIEJyYW5jaDoiCittc2dzdHIgIkF0dWFsaXphciByYW1vIGV4aXN0ZW50ZToiCisKKyM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDo3NQorbXNnaWQgIk5vIgorbXNnc3RyICJOw6NvIgorCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6ODAKK21zZ2lkICJGYXN0IEZvcndhcmQgT25seSIKK21zZ3N0ciAiQXBlbmFzIGF2YW7Dp28gcsOhcGlkbyAoZmFzdC1mb3J3YXJkKSIKKworIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjk3Cittc2dpZCAiQ2hlY2tvdXQgQWZ0ZXIgQ3JlYXRpb24iCittc2dzdHIgIkV4dHJhaXIgZGVwb2lzIGRlIGNyaWFyIgorCisjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MTMyCittc2dpZCAiUGxlYXNlIHNlbGVjdCBhIHRyYWNraW5nIGJyYW5jaC4iCittc2dzdHIgIlNlbGVjaW9uZSB1bSByYW1vIGRlIG1vbml0b3JpemHDp8Ojby4iCisKKyM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDoxNDEKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJUcmFja2luZyBicmFuY2ggJXMgaXMgbm90IGEgYnJhbmNoIGluIHRoZSByZW1vdGUgcmVwb3NpdG9yeS4iCittc2dzdHIgIk8gcmFtbyBkZSBtb25pdG9yaXphw6fDo28gJXMgbsOjbyDDqSB1bSByYW1vIG5vIHJlcG9zaXTDs3JpbyByZW1vdG8uIgorCisjOiBsaWIvY29tbWl0LnRjbDo5Cittc2dpZCAiIgorIlRoZXJlIGlzIG5vdGhpbmcgdG8gYW1lbmQuXG4iCisiXG4iCisiWW91IGFyZSBhYm91dCB0byBjcmVhdGUgdGhlIGluaXRpYWwgY29tbWl0LiAgVGhlcmUgaXMgbm8gY29tbWl0IGJlZm9yZSB0aGlzICIKKyJ0byBhbWVuZC5cbiIKK21zZ3N0ciAiIgorIk7Do28gaMOhIG5hZGEgcGFyYSBlbWVuZGFyLlxuIgorIlxuIgorIkVzdMOhIHByZXN0ZXMgYSBjcmlhciBvIGNvbW1pdCBpbmljaWFsLiBOw6NvIGjDoSBuZW5odW0gY29tbWl0IGFudGVzIGRlc3RlIHBhcmEgIgorImVtZW5kYXIuXG4iCisKKyM6IGxpYi9jb21taXQudGNsOjE4Cittc2dpZCAiIgorIkNhbm5vdCBhbWVuZCB3aGlsZSBtZXJnaW5nLlxuIgorIlxuIgorIllvdSBhcmUgY3VycmVudGx5IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSB0aGF0IGhhcyBub3QgYmVlbiBmdWxseSAiCisiY29tcGxldGVkLiAgWW91IGNhbm5vdCBhbWVuZCB0aGUgcHJpb3IgY29tbWl0IHVubGVzcyB5b3UgZmlyc3QgYWJvcnQgdGhlICIKKyJjdXJyZW50IG1lcmdlIGFjdGl2aXR5LlxuIgorbXNnc3RyICIiCisiTsOjbyDDqSBwb3Nzw612ZWwgZW1lbmRhciBhbyBtZXNtbyB0ZW1wbyBxdWUgc2UgaW50ZWdyYS5cbiIKKyJcbiIKKyJIw6EgdW1hIGludGVncmHDp8OjbyBlbSBjdXJzbyBxdWUgbsOjbyBmb2kgY29uY2x1w61kYS4gTsOjbyBwb2RlIGVtZW5kYXIgbyBjb21taXQgIgorImFudGVyaW9yIGEgbsOjbyBzZXIgcXVlIHByaW1laXJvIGFib3J0ZSBhIGF0aXZpZGFkZSBkYSBpbnRlZ3Jhw6fDo28gYXR1YWwuXG4iCisKKyM6IGxpYi9jb21taXQudGNsOjQ4Cittc2dpZCAiRXJyb3IgbG9hZGluZyBjb21taXQgZGF0YSBmb3IgYW1lbmQ6IgorbXNnc3RyICJFcnJvIGFvIGNhcnJlZ2FyIGRhZG9zIGRvIGNvbW1pdCBwYXJhIGVtZW5kYXI6IgorCisjOiBsaWIvY29tbWl0LnRjbDo3NQorbXNnaWQgIlVuYWJsZSB0byBvYnRhaW4geW91ciBpZGVudGl0eToiCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIG9idGVyIGEgc3VhIGlkZW50aWRhZGU6IgorCisjOiBsaWIvY29tbWl0LnRjbDo4MAorbXNnaWQgIkludmFsaWQgR0lUX0NPTU1JVFRFUl9JREVOVDoiCittc2dzdHIgIkdJVF9DT01NSVRURVJfSURFTlQgaW52w6FsaWRvOiIKKworIzogbGliL2NvbW1pdC50Y2w6MTI5CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAid2FybmluZzogVGNsIGRvZXMgbm90IHN1cHBvcnQgZW5jb2RpbmcgJyVzJy4iCittc2dzdHIgImF2aXNvOiBUY2wgbsOjbyBzdXBvcnRhIGEgY29kaWZpY2HDp8OjbyAnJXMnLiIKKworIzogbGliL2NvbW1pdC50Y2w6MTQ5Cittc2dpZCAiIgorIkxhc3Qgc2Nhbm5lZCBzdGF0ZSBkb2VzIG5vdCBtYXRjaCByZXBvc2l0b3J5IHN0YXRlLlxuIgorIlxuIgorIkFub3RoZXIgR2l0IHByb2dyYW0gaGFzIG1vZGlmaWVkIHRoaXMgcmVwb3NpdG9yeSBzaW5jZSB0aGUgbGFzdCBzY2FuLiAgQSAiCisicmVzY2FuIG11c3QgYmUgcGVyZm9ybWVkIGJlZm9yZSBhbm90aGVyIGNvbW1pdCBjYW4gYmUgY3JlYXRlZC5cbiIKKyJcbiIKKyJUaGUgcmVzY2FuIHdpbGwgYmUgYXV0b21hdGljYWxseSBzdGFydGVkIG5vdy5cbiIKK21zZ3N0ciAiIgorIk8gw7psdGltbyBlc3RhZG8gYW5hbGlzYWRvIG7Do28gY29ycmVzcG9uZGUgYW8gZXN0YWRvIGRvIHJlcG9zaXTDs3Jpby5cbiIKKyJcbiIKKyJPdXRybyBwcm9ncmFtYSBHaXQgbW9kaWZpY291IGVzdGUgcmVwb3NpdMOzcmlvIGRlc3RlIGEgw7psdGltYSBhbsOhbGlzZS4gRGV2ZS0iCisic2UgcmVhbmFsaXNhciBhbnRlcyBxdWUgc2UgcG9zc2EgY3JpYXIgb3V0cm8gY29tbWl0LlxuIgorIlxuIgorIklyw6Etc2UgcmVhbmFsaXNhciBhdXRvbWF0aWNhbWVudGUgYWdvcmEuXG4iCisKKyM6IGxpYi9jb21taXQudGNsOjE3MworIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJVbm1lcmdlZCBmaWxlcyBjYW5ub3QgYmUgY29tbWl0dGVkLlxuIgorIlxuIgorIkZpbGUgJXMgaGFzIG1lcmdlIGNvbmZsaWN0cy4gIFlvdSBtdXN0IHJlc29sdmUgdGhlbSBhbmQgc3RhZ2UgdGhlIGZpbGUgIgorImJlZm9yZSBjb21taXR0aW5nLlxuIgorbXNnc3RyICIiCisiTsOjbyBwb2RlIGZhemVyIGNvbW1pdCBkZSBmaWNoZWlyb3MgbsOjbyBpbnRlZ3JhZG9zLlxuIgorIlxuIgorIk8gZmljaGVpcm8gJXMgdGVtIGNvbmZsaXRvcyBkZSBpbnRlZ3Jhw6fDo28uIERldmUgcmVzb2x2w6otbG9zIGUgcHJlcGFyYXIgbyAiCisiZmljaGVpcm8gYW50ZXMgZGUgc3VibWV0ZXIuXG4iCisKKyM6IGxpYi9jb21taXQudGNsOjE4MQorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJVbmtub3duIGZpbGUgc3RhdGUgJXMgZGV0ZWN0ZWQuXG4iCisiXG4iCisiRmlsZSAlcyBjYW5ub3QgYmUgY29tbWl0dGVkIGJ5IHRoaXMgcHJvZ3JhbS5cbiIKK21zZ3N0ciAiIgorIkRldGV0YWRvIGVzdGFkbyBkZSBmaWNoZWlybyAlcyBkZXNjb25oZWNpZG8uXG4iCisiXG4iCisiRXN0ZSBwcm9ncmFtYSBuw6NvIHBvZGUgc3VibWV0ZXIgbyBmaWNoZWlybyAlcy5cbiIKKworIzogbGliL2NvbW1pdC50Y2w6MTg5Cittc2dpZCAiIgorIk5vIGNoYW5nZXMgdG8gY29tbWl0LlxuIgorIlxuIgorIllvdSBtdXN0IHN0YWdlIGF0IGxlYXN0IDEgZmlsZSBiZWZvcmUgeW91IGNhbiBjb21taXQuXG4iCittc2dzdHIgIiIKKyJOZW5odW0gYWx0ZXJhw6fDo28gcGFyYSBzdWJtZXRlci5cbiIKKyJcbiIKKyJEZXZlIHByZXBhcmFyIHBlbG8gbWVub3MgMSBmaWNoZWlybyBhbnRlcyBkZSBzdWJtZXRlci5cbiIKKworIzogbGliL2NvbW1pdC50Y2w6MjA0Cittc2dpZCAiIgorIlBsZWFzZSBzdXBwbHkgYSBjb21taXQgbWVzc2FnZS5cbiIKKyJcbiIKKyJBIGdvb2QgY29tbWl0IG1lc3NhZ2UgaGFzIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuIgorIlxuIgorIi0gRmlyc3QgbGluZTogRGVzY3JpYmUgaW4gb25lIHNlbnRlbmNlIHdoYXQgeW91IGRpZC5cbiIKKyItIFNlY29uZCBsaW5lOiBCbGFua1xuIgorIi0gUmVtYWluaW5nIGxpbmVzOiBEZXNjcmliZSB3aHkgdGhpcyBjaGFuZ2UgaXMgZ29vZC5cbiIKK21zZ3N0ciAiIgorIkZvcm5lw6dhIHVtYSBtZW5zYWdlbSBkZSBjb21taXQuXG4iCisiXG4iCisiVW0gYm9hIG1lbnNhZ2VtIGRlIGNvbW1pdCB0ZW0gbyBzZWd1aW50ZSBmb3JtYXRvOlxuIgorIlxuIgorIi0gUHJpbWVpcmEgbGluaGE6IGRlc2NyZXZlIG51bWEgZnJhc2UgbyBxdWUgZmV6LlxuIgorIi0gU2VndW5kYSBsaW5oYTogZW0gYnJhbmNvLlxuIgorIi0gTGluaGFzIHJlc3RhbnRlczogZGVzY3JldmUgcG9ycXVlIGVzdGEgYWx0ZXJhw6fDo28gw6kgdmFudGFqb3NhLlxuIgorCisjOiBsaWIvY29tbWl0LnRjbDoyMzUKK21zZ2lkICJDYWxsaW5nIHByZS1jb21taXQgaG9vay4uLiIKK21zZ3N0ciAiQSBpbnZvY2FyIGdhbmNobyBkZSBwcsOpLWNvbW1pdCAocHJlLWNvbW1pdCBob29rKS4uLiIKKworIzogbGliL2NvbW1pdC50Y2w6MjUwCittc2dpZCAiQ29tbWl0IGRlY2xpbmVkIGJ5IHByZS1jb21taXQgaG9vay4iCittc2dzdHIgIkNvbW1pdCByZWN1c2FkbyBwZWxhIHJldGluYSBkZSBwcsOpLWNvbW1pdCAocHJlLWNvbW1pdCBob29rKS4iCisKKyM6IGxpYi9jb21taXQudGNsOjI2OQorbXNnaWQgIiIKKyJZb3UgYXJlIGFib3V0IHRvIGNvbW1pdCBvbiBhIGRldGFjaGVkIGhlYWQuIFRoaXMgaXMgYSBwb3RlbnRpYWxseSBkYW5nZXJvdXMgIgorInRoaW5nIHRvIGRvIGJlY2F1c2UgaWYgeW91IHN3aXRjaCB0byBhbm90aGVyIGJyYW5jaCB5b3Ugd2lsbCBsb3NlIHlvdXIgIgorImNoYW5nZXMgYW5kIGl0IGNhbiBiZSBkaWZmaWN1bHQgdG8gcmV0cmlldmUgdGhlbSBsYXRlciBmcm9tIHRoZSByZWZsb2cuIFlvdSAiCisic2hvdWxkIHByb2JhYmx5IGNhbmNlbCB0aGlzIGNvbW1pdCBhbmQgY3JlYXRlIGEgbmV3IGJyYW5jaCB0byBjb250aW51ZS5cbiIKKyIgXG4iCisiIERvIHlvdSByZWFsbHkgd2FudCB0byBwcm9jZWVkIHdpdGggeW91ciBDb21taXQ/IgorbXNnc3RyICIiCisiRXN0w6EgcHJlc3RlcyBhIHN1Ym1ldGVyIG51bWEgY2FiZcOnYSBkZXN0YWNhZGEuIEZhesOqLWxvIMOpIHBvdGVuY2lhbG1lbnRlICIKKyJwZXJpZ29zbywgcG9ycXVlLCBzZSBtdWRhciBwYXJhIG91dHJvIHJhbW8sIHBlcmRlcsOhIGFzIHN1YXMgYWx0ZXJhw6fDtWVzIGUgIgorInBvZGUgc2VyIGRpZsOtY2lsIHJlY3VwZXLDoS1sYXMgZG8gcmVmbG9nIHBvc3Rlcmlvcm1lbnRlLiBQcm92YXZlbG1lbnRlIGRldmUgIgorImNhbmNlbGFyIGVzdGUgY29tbWl0IGUgY3JpYXIgdW0gbm92byByYW1vIHBhcmEgY29udGludWFyLlxuIgorIlxuIgorIlByZXRlbmRlIG1lc21vIGNvbnRpbnVhciBjb20gbyBjb21taXQ/IgorCisjOiBsaWIvY29tbWl0LnRjbDoyOTAKK21zZ2lkICJDYWxsaW5nIGNvbW1pdC1tc2cgaG9vay4uLiIKK21zZ3N0ciAiQSBpbnZvY2FyIGdhbmNobyBkZSBtZW5zYWdlbS1kZS1jb21taXQgKGNvbW1pdC1tc2cgaG9vaykuLi4iCisKKyM6IGxpYi9jb21taXQudGNsOjMwNQorbXNnaWQgIkNvbW1pdCBkZWNsaW5lZCBieSBjb21taXQtbXNnIGhvb2suIgorbXNnc3RyICJDb21taXQgcmVjdXNhZG8gcGVsbyBnYW5jaG8gZGUgbWVuc2FnZW0tZGUtY29tbWl0IChjb21taXQtbXNnIGhvb2spLiIKKworIzogbGliL2NvbW1pdC50Y2w6MzE4Cittc2dpZCAiQ29tbWl0dGluZyBjaGFuZ2VzLi4uIgorbXNnc3RyICJBIHN1Ym1ldGVyIGFsdGVyYcOnw7Vlcy4uLiIKKworIzogbGliL2NvbW1pdC50Y2w6MzM0Cittc2dpZCAid3JpdGUtdHJlZSBmYWlsZWQ6IgorbXNnc3RyICJ3cml0ZS10cmVlIGZhbGhvdToiCisKKyM6IGxpYi9jb21taXQudGNsOjMzNSBsaWIvY29tbWl0LnRjbDozNzkgbGliL2NvbW1pdC50Y2w6NDAwCittc2dpZCAiQ29tbWl0IGZhaWxlZC4iCittc2dzdHIgIkZhbGhhIGFvIHN1Ym1ldGVyLiIKKworIzogbGliL2NvbW1pdC50Y2w6MzUyCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiQ29tbWl0ICVzIGFwcGVhcnMgdG8gYmUgY29ycnVwdCIKK21zZ3N0ciAiTyBjb21taXQgJXMgcGFyZWNlIGVzdGFyIGNvcnJvbXBpZG8iCisKKyM6IGxpYi9jb21taXQudGNsOjM1NworbXNnaWQgIiIKKyJObyBjaGFuZ2VzIHRvIGNvbW1pdC5cbiIKKyJcbiIKKyJObyBmaWxlcyB3ZXJlIG1vZGlmaWVkIGJ5IHRoaXMgY29tbWl0IGFuZCBpdCB3YXMgbm90IGEgbWVyZ2UgY29tbWl0LlxuIgorIlxuIgorIkEgcmVzY2FuIHdpbGwgYmUgYXV0b21hdGljYWxseSBzdGFydGVkIG5vdy5cbiIKK21zZ3N0ciAiIgorIk7Do28gaMOhIGFsdGVyYcOnw7VlcyBwYXJhIHN1Ym1ldGVyLlxuIgorIlxuIgorIk5lbmh1bSBmaWNoZWlybyBmb2kgbW9kaWZpY2FkbyBwb3IgZXN0ZSBjb21taXQgZSBuw6NvIGVyYSB1bSBjb21taXQgZGUgIgorImludGVncmHDp8Ojby5cbiIKKyJcbiIKKyJJcsOhLXNlIHJlYW5hbGlzYXIgYWdvcmEgYXV0b21hdGljYW1lbnRlLlxuIgorCisjOiBsaWIvY29tbWl0LnRjbDozNjQKK21zZ2lkICJObyBjaGFuZ2VzIHRvIGNvbW1pdC4iCittc2dzdHIgIk7Do28gaMOhIGFsdGVyYcOnw7VlcyBwYXJhIHN1Ym1ldGVyLiIKKworIzogbGliL2NvbW1pdC50Y2w6Mzc4Cittc2dpZCAiY29tbWl0LXRyZWUgZmFpbGVkOiIKK21zZ3N0ciAiY29tbWl0LXRyZWUgZmFsaG91OiIKKworIzogbGliL2NvbW1pdC50Y2w6Mzk5Cittc2dpZCAidXBkYXRlLXJlZiBmYWlsZWQ6IgorbXNnc3RyICJ1cGRhdGUtcmVmIGZhbGhvdToiCisKKyM6IGxpYi9jb21taXQudGNsOjQ5MgorIywgdGNsLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgY29tbWl0ICVzOiAlcyIKK21zZ3N0ciAiQ29tbWl0ICVzIGNyaWFkbzogJXMiCisKKyM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoxNgorbXNnaWQgIkRlbGV0ZSBCcmFuY2giCittc2dzdHIgIkVsaW1pbmFyIHJhbW8iCisKKyM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoyMQorbXNnaWQgIkRlbGV0ZSBMb2NhbCBCcmFuY2giCittc2dzdHIgIkVsaW1pbmFyIHJhbW8gbG9jYWwiCisKKyM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDozOQorbXNnaWQgIkxvY2FsIEJyYW5jaGVzIgorbXNnc3RyICJSYW1vcyBsb2NhaXMiCisKKyM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDo1MQorbXNnaWQgIkRlbGV0ZSBPbmx5IElmIE1lcmdlZCBJbnRvIgorbXNnc3RyICJFbGltaW5hciBzw7Mgc2UgZm9pIGludGVncmFkbyIKKworIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjEwMworIywgdGNsLWZvcm1hdAorbXNnaWQgIlRoZSBmb2xsb3dpbmcgYnJhbmNoZXMgYXJlIG5vdCBjb21wbGV0ZWx5IG1lcmdlZCBpbnRvICVzOiIKK21zZ3N0ciAiT3Mgc2VndWludGVzIHJhbW9zIG7Do28gZm9yYW0gY29tcGxldGFtZW50ZSBpbnRlZ3JhZG9zIGVtICVzOiIKKworIzogbGliL2JyYW5jaF9kZWxldGUudGNsOjE0MQorIywgdGNsLWZvcm1hdAorbXNnaWQgIiIKKyJGYWlsZWQgdG8gZGVsZXRlIGJyYW5jaGVzOlxuIgorIiVzIgorbXNnc3RyICIiCisiRmFsaGEgYW8gZWxpbWluYXIgcmFtb3M6XG4iCisiJXMiCisKKyM6IGxpYi9pbmRleC50Y2w6NgorbXNnaWQgIlVuYWJsZSB0byB1bmxvY2sgdGhlIGluZGV4LiIKK21zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZGVzYmxvcXVlYXIgbyDDrW5kaWNlLiIKKworIzogbGliL2luZGV4LnRjbDoxNworbXNnaWQgIkluZGV4IEVycm9yIgorbXNnc3RyICJFcnJvIGRlIMONbmRpY2UiCisKKyM6IGxpYi9pbmRleC50Y2w6MTkKK21zZ2lkICIiCisiVXBkYXRpbmcgdGhlIEdpdCBpbmRleCBmYWlsZWQuICBBIHJlc2NhbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc3RhcnRlZCB0byAiCisicmVzeW5jaHJvbml6ZSBnaXQtZ3VpLiIKK21zZ3N0ciAiIgorIkZhbGhhIGFvIGF0dWFsaXphciBvIMOtbmRpY2UgZG8gR2l0LiBJcsOhLXNlIHJlYW5hbGlzYXIgYXV0b21hdGljYW1lbnRlIHBhcmEgIgorInJlc3NpbmNyb25pemFyIG8gZ2l0LWd1aS4iCisKKyM6IGxpYi9pbmRleC50Y2w6MzAKK21zZ2lkICJDb250aW51ZSIKK21zZ3N0ciAiQ29udGludWFyIgorCisjOiBsaWIvaW5kZXgudGNsOjMzCittc2dpZCAiVW5sb2NrIEluZGV4IgorbXNnc3RyICJEZXNibG9xdWVhciDDrW5kaWNlIgorCisjOiBsaWIvaW5kZXgudGNsOjI5NAorbXNnaWQgIlVuc3RhZ2luZyBzZWxlY3RlZCBmaWxlcyBmcm9tIGNvbW1pdCIKK21zZ3N0ciAiQSByZXRpcmFyIGZpY2hlaXJvcyBzZWxlY2lvbmFkb3MgZG8gY29tbWl0IgorCisjOiBsaWIvaW5kZXgudGNsOjI5OAorIywgdGNsLWZvcm1hdAorbXNnaWQgIlVuc3RhZ2luZyAlcyBmcm9tIGNvbW1pdCIKK21zZ3N0ciAiQSByZXRpcmFyICVzIGRvIGNvbW1pdCIKKworIzogbGliL2luZGV4LnRjbDozMzcKK21zZ2lkICJSZWFkeSB0byBjb21taXQuIgorbXNnc3RyICJQcm9udG8gcGFyYSBzdWJtZXRlci4iCisKKyM6IGxpYi9pbmRleC50Y2w6MzQ2Cittc2dpZCAiQWRkaW5nIHNlbGVjdGVkIGZpbGVzIgorbXNnc3RyICJBIGFkaWNpb25hciBmaWNoZWlyb3Mgc2VsZWNpb25hZG9zIgorCisjOiBsaWIvaW5kZXgudGNsOjM1MAorIywgdGNsLWZvcm1hdAorbXNnaWQgIkFkZGluZyAlcyIKK21zZ3N0ciAiQSBhZGljaW9uYXIgJXMiCisKKyM6IGxpYi9pbmRleC50Y2w6MzgwCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiU3RhZ2UgJWQgdW50cmFja2VkIGZpbGVzPyIKK21zZ3N0ciAiUHJlcGFyYXIgJWQgZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3M/IgorCisjOiBsaWIvaW5kZXgudGNsOjM4OAorbXNnaWQgIkFkZGluZyBhbGwgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAiQSBhZGljaW9uYXIgdG9kb3Mgb3MgZmljaGVpcm9zIGNvbnRyb2xhZG9zIgorCisjOiBsaWIvaW5kZXgudGNsOjQyOAorIywgdGNsLWZvcm1hdAorbXNnaWQgIlJldmVydCBjaGFuZ2VzIGluIGZpbGUgJXM/IgorbXNnc3RyICJSZXZlcnRlciBhbHRlcmHDp8O1ZXMgbm8gZmljaGVpcm8gJXM/IgorCisjOiBsaWIvaW5kZXgudGNsOjQzMAorIywgdGNsLWZvcm1hdAorbXNnaWQgIlJldmVydCBjaGFuZ2VzIGluIHRoZXNlICVpIGZpbGVzPyIKK21zZ3N0ciAiUmV2ZXJ0ZXIgYWx0ZXJhw6fDtWVzIG5lc3RlcyAlaSBmaWNoZWlyb3M/IgorCisjOiBsaWIvaW5kZXgudGNsOjQzOAorbXNnaWQgIkFueSB1bnN0YWdlZCBjaGFuZ2VzIHdpbGwgYmUgcGVybWFuZW50bHkgbG9zdCBieSB0aGUgcmV2ZXJ0LiIKK21zZ3N0ciAiIgorIlF1YWxxdWVyIGFsdGVyYcOnw6NvIG7Do28gcHJlcGFyYWRhIHNlcsOhIHBlcm1hbmVudGVtZW50ZSBwZXJkaWRhIGFvIHJldmVydGVyLiIKKworIzogbGliL2luZGV4LnRjbDo0NDEKK21zZ2lkICJEbyBOb3RoaW5nIgorbXNnc3RyICJOw6NvIGZhemVyIG5hZGEiCisKKyM6IGxpYi9pbmRleC50Y2w6NDU5Cittc2dpZCAiUmV2ZXJ0aW5nIHNlbGVjdGVkIGZpbGVzIgorbXNnc3RyICJBIHJldmVydGVyIGZpY2hlaXJvcyBzZWxlY2lvbmFkb3MiCisKKyM6IGxpYi9pbmRleC50Y2w6NDYzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUmV2ZXJ0aW5nICVzIgorbXNnc3RyICJBIHJldmVydGVyICVzIgorCisjOiBsaWIvZW5jb2RpbmcudGNsOjQ0MworbXNnaWQgIkRlZmF1bHQiCittc2dzdHIgIlByZWRlZmluacOnw6NvIgorCisjOiBsaWIvZW5jb2RpbmcudGNsOjQ0OAorIywgdGNsLWZvcm1hdAorbXNnaWQgIlN5c3RlbSAoJXMpIgorbXNnc3RyICJTaXN0ZW1hICglcykiCisKKyM6IGxpYi9lbmNvZGluZy50Y2w6NDU5IGxpYi9lbmNvZGluZy50Y2w6NDY1Cittc2dpZCAiT3RoZXIiCittc2dzdHIgIk91dHJvIgorCisjOiBsaWIvZGF0ZS50Y2w6MjUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGRhdGUgZnJvbSBHaXQ6ICVzIgorbXNnc3RyICJEYXRhIGRvIEdpdCBpbnbDoWxpZGE6ICVzIgorCisjOiBsaWIvY2hvb3NlX3Jldi50Y2w6NTIKK21zZ2lkICJUaGlzIERldGFjaGVkIENoZWNrb3V0IgorbXNnc3RyICJFc3RhIGV4dHJhw6fDo28gZGVzdGFjYWRhIgorCisjOiBsaWIvY2hvb3NlX3Jldi50Y2w6NjAKK21zZ2lkICJSZXZpc2lvbiBFeHByZXNzaW9uOiIKK21zZ3N0ciAiRXhwcmVzc8OjbyBkZSByZXZpc8OjbzoiCisKKyM6IGxpYi9jaG9vc2VfcmV2LnRjbDo3MgorbXNnaWQgIkxvY2FsIEJyYW5jaCIKK21zZ3N0ciAiUmFtbyBsb2NhbCIKKworIzogbGliL2Nob29zZV9yZXYudGNsOjc3Cittc2dpZCAiVHJhY2tpbmcgQnJhbmNoIgorbXNnc3RyICJSYW1vIGRlIG1vbml0b3JpemHDp8OjbyIKKworIzogbGliL2Nob29zZV9yZXYudGNsOjgyIGxpYi9jaG9vc2VfcmV2LnRjbDo1NDQKK21zZ2lkICJUYWciCittc2dzdHIgIlRhZyIKKworIzogbGliL2Nob29zZV9yZXYudGNsOjMyMQorIywgdGNsLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmV2aXNpb246ICVzIgorbXNnc3RyICJSZXZpc8OjbyBpbnbDoWxpZGE6ICVzIgorCisjOiBsaWIvY2hvb3NlX3Jldi50Y2w6MzQyCittc2dpZCAiTm8gcmV2aXNpb24gc2VsZWN0ZWQuIgorbXNnc3RyICJOZW5odW0gcmV2aXPDo28gc2VsZWNpb25hZGEuIgorCisjOiBsaWIvY2hvb3NlX3Jldi50Y2w6MzUwCittc2dpZCAiUmV2aXNpb24gZXhwcmVzc2lvbiBpcyBlbXB0eS4iCittc2dzdHIgIkEgZXhwcmVzc8OjbyBkZSByZXZpc8OjbyBlc3TDoSB2YXppYS4iCisKKyM6IGxpYi9jaG9vc2VfcmV2LnRjbDo1MzcKK21zZ2lkICJVcGRhdGVkIgorbXNnc3RyICJBdHVhbGl6YWRvIgorCisjOiBsaWIvY2hvb3NlX3Jldi50Y2w6NTY1Cittc2dpZCAiVVJMIgorbXNnc3RyICJVUkwiCisKKyM6IGxpYi9kYXRhYmFzZS50Y2w6NDIKK21zZ2lkICJOdW1iZXIgb2YgbG9vc2Ugb2JqZWN0cyIKK21zZ3N0ciAiTsO6bWVybyBkZSBvYmpldG9zIHNvbHRvcyIKKworIzogbGliL2RhdGFiYXNlLnRjbDo0MworbXNnaWQgIkRpc2sgc3BhY2UgdXNlZCBieSBsb29zZSBvYmplY3RzIgorbXNnc3RyICJFc3Bhw6dvIGVtIGRpc2NvIHVzYWRvcyBwb3Igb2JqZXRvcyBzb2x0b3MiCisKKyM6IGxpYi9kYXRhYmFzZS50Y2w6NDQKK21zZ2lkICJOdW1iZXIgb2YgcGFja2VkIG9iamVjdHMiCittc2dzdHIgIk7Dum1lcm8gZGUgb2JqZXRvcyBjb21wYWN0YWRvcyIKKworIzogbGliL2RhdGFiYXNlLnRjbDo0NQorbXNnaWQgIk51bWJlciBvZiBwYWNrcyIKK21zZ3N0ciAiTsO6bWVyb3MgZGUgcGFjb3RlcyIKKworIzogbGliL2RhdGFiYXNlLnRjbDo0NgorbXNnaWQgIkRpc2sgc3BhY2UgdXNlZCBieSBwYWNrZWQgb2JqZWN0cyIKK21zZ3N0ciAiRXNwYcOnbyBlbSBkaXNjbyB1c2FkbyBwb3Igb2JqZXRvcyBjb21wYWN0YWRvcyIKKworIzogbGliL2RhdGFiYXNlLnRjbDo0NworbXNnaWQgIlBhY2tlZCBvYmplY3RzIHdhaXRpbmcgZm9yIHBydW5pbmciCittc2dzdHIgIk9iamV0b3MgY29tcGFjdGFkb3Mgw6AgZXNwZXJhIGRlIHBvZGEiCisKKyM6IGxpYi9kYXRhYmFzZS50Y2w6NDgKK21zZ2lkICJHYXJiYWdlIGZpbGVzIgorbXNnc3RyICJGaWNoZWlyb3MgZGUgbGl4byIKKworIzogbGliL2RhdGFiYXNlLnRjbDo3MgorbXNnaWQgIkNvbXByZXNzaW5nIHRoZSBvYmplY3QgZGF0YWJhc2UiCittc2dzdHIgIkEgY29tcHJpbWlyIGEgYmFzZSBkZSBkYWRvcyBkZSBvYmpldG9zIgorCisjOiBsaWIvZGF0YWJhc2UudGNsOjgzCittc2dpZCAiVmVyaWZ5aW5nIHRoZSBvYmplY3QgZGF0YWJhc2Ugd2l0aCBmc2NrLW9iamVjdHMiCittc2dzdHIgIkEgdmVyaWZpY2FyIGEgYmFzZSBkZSBkYWRvcyBkZSBvYmpldG9zIGNvbSBmc2NrLW9iamVjdHMiCisKKyM6IGxpYi9kYXRhYmFzZS50Y2w6MTA3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIlRoaXMgcmVwb3NpdG9yeSBjdXJyZW50bHkgaGFzIGFwcHJveGltYXRlbHkgJWkgbG9vc2Ugb2JqZWN0cy5cbiIKKyJcbiIKKyJUbyBtYWludGFpbiBvcHRpbWFsIHBlcmZvcm1hbmNlIGl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRoYXQgeW91IGNvbXByZXNzICIKKyJ0aGUgZGF0YWJhc2UuXG4iCisiXG4iCisiQ29tcHJlc3MgdGhlIGRhdGFiYXNlIG5vdz8iCittc2dzdHIgIiIKKyJFc3RlIHJlcG9zaXTDs3JpbyB0ZW0gYXByb3hpbWFkYW1lbnRlICVpIG9iamV0b3Mgc29sdG9zLlxuIgorIlxuIgorIlBhcmEgbWFudGVyIG8gZGVzZW1wZW5obyDDs3RpbW8gw6kgdmVlbWVudGUgcmVjb21lbmRhZG8gcXVlIGNvbXByaW1hIGEgYmFzZSBkZSAiCisiZGFkb3MuXG4iCisiXG4iCisiQ29tcHJpbWlyIGEgYmFzZSBkZSBkYWRvcyBhZ29yYT8iCisKKyM6IGxpYi9lcnJvci50Y2w6MjAgbGliL2Vycm9yLnRjbDoxMTYKK21zZ2lkICJlcnJvciIKK21zZ3N0ciAiZXJybyIKKworIzogbGliL2Vycm9yLnRjbDozNgorbXNnaWQgIndhcm5pbmciCittc2dzdHIgImF2aXNvIgorCisjOiBsaWIvZXJyb3IudGNsOjk2Cittc2dpZCAiWW91IG11c3QgY29ycmVjdCB0aGUgYWJvdmUgZXJyb3JzIGJlZm9yZSBjb21taXR0aW5nLiIKK21zZ3N0ciAiRGV2ZSBjb3JyaWdpciBvcyBlcnJvcyBhY2ltYSBhbnRlcyBkZSBzdWJtZXRlci4iCisKKyM6IGxpYi9tZXJnZS50Y2w6MTMKK21zZ2lkICIiCisiQ2Fubm90IG1lcmdlIHdoaWxlIGFtZW5kaW5nLlxuIgorIlxuIgorIllvdSBtdXN0IGZpbmlzaCBhbWVuZGluZyB0aGlzIGNvbW1pdCBiZWZvcmUgc3RhcnRpbmcgYW55IHR5cGUgb2YgbWVyZ2UuXG4iCittc2dzdHIgIiIKKyJOw6NvIHBvc3PDrXZlbCBpbnRlZ3JhciBhbyBtZXNtbyB0ZW1wbyBxdWUgc2UgZW1lbmRhLlxuIgorIlxuIgorIkRldmUgYWNhYmFyIGRlIGVtZW5kYXIgZXN0ZSBjb21taXQgYW50ZXMgZGUgaW5pY2lhciBxdWFscXVlciB0aXBvIGRlICIKKyJpbnRlZ3Jhw6fDo28uXG4iCisKKyM6IGxpYi9tZXJnZS50Y2w6MjcKK21zZ2lkICIiCisiTGFzdCBzY2FubmVkIHN0YXRlIGRvZXMgbm90IG1hdGNoIHJlcG9zaXRvcnkgc3RhdGUuXG4iCisiXG4iCisiQW5vdGhlciBHaXQgcHJvZ3JhbSBoYXMgbW9kaWZpZWQgdGhpcyByZXBvc2l0b3J5IHNpbmNlIHRoZSBsYXN0IHNjYW4uICBBICIKKyJyZXNjYW4gbXVzdCBiZSBwZXJmb3JtZWQgYmVmb3JlIGEgbWVyZ2UgY2FuIGJlIHBlcmZvcm1lZC5cbiIKKyJcbiIKKyJUaGUgcmVzY2FuIHdpbGwgYmUgYXV0b21hdGljYWxseSBzdGFydGVkIG5vdy5cbiIKK21zZ3N0ciAiIgorIk8gw7psdGltbyBlc3RhZG8gYW5hbGlzYWRvIG7Do28gY29ycmVzcG9uZGUgYW8gZXN0YWRvIGRvIHJlcG9zaXTDs3Jpby5cbiIKKyJcbiIKKyJPdXRybyBwcm9ncmFtYSBHaXQgbW9kaWZpY291IGVzdGUgcmVwb3NpdMOzcmlvIGRlc3RlIGEgw7psdGltYSBhbsOhbGlzZS4gRGV2ZS0iCisic2UgcmVhbmFsaXNhciBhbnRlcyBkZSBzZSBwb2RlciBpbnRlZ3Jhci5cbiIKKyJcbiIKKyJJcsOhLXNlIHJlYW5hbGlzYXIgYWdvcmEgYXV0b21hdGljYW1lbnRlLlxuIgorCisjOiBsaWIvbWVyZ2UudGNsOjQ1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNvbmZsaWN0ZWQgbWVyZ2UuXG4iCisiXG4iCisiRmlsZSAlcyBoYXMgbWVyZ2UgY29uZmxpY3RzLlxuIgorIlxuIgorIllvdSBtdXN0IHJlc29sdmUgdGhlbSwgc3RhZ2UgdGhlIGZpbGUsIGFuZCBjb21taXQgdG8gY29tcGxldGUgdGhlIGN1cnJlbnQgIgorIm1lcmdlLiAgT25seSB0aGVuIGNhbiB5b3UgYmVnaW4gYW5vdGhlciBtZXJnZS5cbiIKK21zZ3N0ciAiIgorIkludGVncmHDp8OjbyBjb20gY29uZmxpdG9zIGVtIGN1cnNvLlxuIgorIlxuIgorIk8gZmljaGVpcm8gJXMgdGVtIGNvbmZsaXRvcyBkZSBpbnRlZ3Jhw6fDo28uXG4iCisiXG4iCisiRGV2ZSByZXNvbHbDqi1sb3MsIHByZXBhcmFyIG8gZmljaGVpcm8gZSBzdWJtZXRlciBwYXJhIGNvbmNsdWlyIGEgaW50ZWdyYcOnw6NvICIKKyJhdHVhbC4gU8OzIGVudMOjbyBwb2RlIGluaWNpYXIgb3V0cmEgaW50ZWdyYcOnw6NvLlxuIgorCisjOiBsaWIvbWVyZ2UudGNsOjU1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNoYW5nZS5cbiIKKyJcbiIKKyJGaWxlICVzIGlzIG1vZGlmaWVkLlxuIgorIlxuIgorIllvdSBzaG91bGQgY29tcGxldGUgdGhlIGN1cnJlbnQgY29tbWl0IGJlZm9yZSBzdGFydGluZyBhIG1lcmdlLiAgRG9pbmcgc28gIgorIndpbGwgaGVscCB5b3UgYWJvcnQgYSBmYWlsZWQgbWVyZ2UsIHNob3VsZCB0aGUgbmVlZCBhcmlzZS5cbiIKK21zZ3N0ciAiIgorIlRlbSBhbHRlcmHDp8O1ZXMgcHJlc2VudGVzLlxuIgorIlxuIgorIk8gZmljaGVpcm8gJXMgZm9pIG1vZGlmaWNhZG8uXG4iCisiXG4iCisiRGV2ZSBjb25jbHVpciBvIGNvbW1pdCBhdHVhbCBhbnRlcyBkZSBpbmljaWFyIHVtYSBpbnRlZ3Jhw6fDo28uIEFzc2ltLCBhanVkYS1vICIKKyJhIGFib3J0YXIgdW1hIGludGVncmHDp8OjbyBmYWxoYWRhLCBjYXNvIG5lY2Vzc8OhcmlvLlxuIgorCisjOiBsaWIvbWVyZ2UudGNsOjEwOAorIywgdGNsLWZvcm1hdAorbXNnaWQgIiVzIG9mICVzIgorbXNnc3RyICIlcyBkZSAlcyIKKworIzogbGliL21lcmdlLnRjbDoxMjIKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJNZXJnaW5nICVzIGFuZCAlcy4uLiIKK21zZ3N0ciAiQSBpbnRlZ3JhciAlcyBlICVzLi4uIgorCisjOiBsaWIvbWVyZ2UudGNsOjEzMworbXNnaWQgIk1lcmdlIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuIgorbXNnc3RyICJJbnRlZ3Jhw6fDo28gY29uY2x1w61kYSBjb20gc3VjZXNzby4iCisKKyM6IGxpYi9tZXJnZS50Y2w6MTM1Cittc2dpZCAiTWVyZ2UgZmFpbGVkLiAgQ29uZmxpY3QgcmVzb2x1dGlvbiBpcyByZXF1aXJlZC4iCittc2dzdHIgIkludGVncmHDp8OjbyBmYWxoYWRhLiDDiSBuZWNlc3PDoXJpbyByZXNvbHZlciBjb25mbGl0b3MuIgorCisjOiBsaWIvbWVyZ2UudGNsOjE2MAorIywgdGNsLWZvcm1hdAorbXNnaWQgIk1lcmdlIEludG8gJXMiCittc2dzdHIgIkludGVncmFyIGVtICVzIgorCisjOiBsaWIvbWVyZ2UudGNsOjE3OQorbXNnaWQgIlJldmlzaW9uIFRvIE1lcmdlIgorbXNnc3RyICJSZXZpc8OjbyBhIGludGVncmFyIgorCisjOiBsaWIvbWVyZ2UudGNsOjIxNAorbXNnaWQgIiIKKyJDYW5ub3QgYWJvcnQgd2hpbGUgYW1lbmRpbmcuXG4iCisiXG4iCisiWW91IG11c3QgZmluaXNoIGFtZW5kaW5nIHRoaXMgY29tbWl0LlxuIgorbXNnc3RyICIiCisiTsOjbyDDqSBwb3Nzw612ZWwgYWJvcnRhciBlbnF1YW50byBzZSBlbWVuZGEuXG4iCisiXG4iCisiRGV2ZSBhY2FiYXIgZGUgZW1lbmRhciBlc3RlIGNvbW1pdC5cbiIKKworIzogbGliL21lcmdlLnRjbDoyMjQKK21zZ2lkICIiCisiQWJvcnQgbWVyZ2U/XG4iCisiXG4iCisiQWJvcnRpbmcgdGhlIGN1cnJlbnQgbWVyZ2Ugd2lsbCBjYXVzZSAqQUxMKiB1bmNvbW1pdHRlZCBjaGFuZ2VzIHRvIGJlIGxvc3QuXG4iCisiXG4iCisiQ29udGludWUgd2l0aCBhYm9ydGluZyB0aGUgY3VycmVudCBtZXJnZT8iCittc2dzdHIgIiIKKyJBYm9ydGFyIGludGVncmHDp8Ojbz9cbiIKKyJcbiIKKyJBbyBhYm9ydGFyIGEgaW50ZWdyYcOnw6NvIGF0dWFsIHBlcmRlcsOhICpUT0RBUyogYXMgYWx0ZXJhw6fDo28gcXVlIG7Do28gZm9yYW0gIgorInN1Ym1ldGlkYXMuXG4iCisiXG4iCisiQ29udGludWFyIGEgYWJvcnRhciBhIGludGVncmHDp8OjbyBhdHVhbD8iCisKKyM6IGxpYi9tZXJnZS50Y2w6MjMwCittc2dpZCAiIgorIlJlc2V0IGNoYW5nZXM/XG4iCisiXG4iCisiUmVzZXR0aW5nIHRoZSBjaGFuZ2VzIHdpbGwgY2F1c2UgKkFMTCogdW5jb21taXR0ZWQgY2hhbmdlcyB0byBiZSBsb3N0LlxuIgorIlxuIgorIkNvbnRpbnVlIHdpdGggcmVzZXR0aW5nIHRoZSBjdXJyZW50IGNoYW5nZXM/IgorbXNnc3RyICIiCisiUmVwb3IgYWx0ZXJhw6fDtWVzP1xuIgorIlxuIgorIkFvIHJlcG9yIGFzIGFsdGVyYcOnw7VlcyBwZXJkZXLDoSAqVE9EQVMqIGFzIGFsdGVyYcOnw7VlcyBuw6NvIHN1Ym1ldGlkYXMuXG4iCisiXG4iCisiQ29udGludWFyIGEgcmVwb3IgYXMgYWx0ZXJhw6fDtWVzIGF0dWFpcz8iCisKKyM6IGxpYi9tZXJnZS50Y2w6MjQxCittc2dpZCAiQWJvcnRpbmciCittc2dzdHIgIkEgYWJvcnRhciIKKworIzogbGliL21lcmdlLnRjbDoyNDEKK21zZ2lkICJmaWxlcyByZXNldCIKK21zZ3N0ciAiZmljaGVpcm9zIHJlcG9zdG9zIgorCisjOiBsaWIvbWVyZ2UudGNsOjI2OQorbXNnaWQgIkFib3J0IGZhaWxlZC4iCittc2dzdHIgIkZhbGhhIGFvIGFib3J0YXIuIgorCisjOiBsaWIvbWVyZ2UudGNsOjI3MQorbXNnaWQgIkFib3J0IGNvbXBsZXRlZC4gIFJlYWR5LiIKK21zZ3N0ciAiQWJvcnRvIGNvbmNsdcOtZG8uIFByb250by4iCisKKyN+IG1zZ2lkICJEaXNwbGF5aW5nIG9ubHkgJXMgb2YgJXMgZmlsZXMuIgorI34gbXNnc3RyICJBIG1vc3RyYXIgYXBlbmFzICVzIGRlICVzIGZpY2hlaXJvcy4iCisKKyN+IG1zZ2lkICJDYXNlLVNlbnNpdGl2ZSIKKyN+IG1zZ3N0ciAiRGlzdGluZ3VpciBNYWnDunNjdWxhcyIKZGlmZiAtLWdpdCBhL2dpdC1ndWkvcG8vcnUucG8gYi9naXQtZ3VpL3BvL3J1LnBvCmluZGV4IGNhNDM0M2IuLjlmNTMwNWMgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvcG8vcnUucG8KKysrIGIvZ2l0LWd1aS9wby9ydS5wbwpAQCAtMSwxOSArMSwyMiBAQAogIyBUcmFuc2xhdGlvbiBvZiBnaXQtZ3VpIHRvIHJ1c3NpYW4KICMgQ29weXJpZ2h0IChDKSAyMDA3IFNoYXduIFBlYXJjZQogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgZ2l0LWd1aSBwYWNrYWdlLgotIyBJcmluYSBSaWVzZW4gPGlyaW5hLnJpZXNlbkBnbWFpbC5jb20+LCAyMDA3LgotIworIyBUcmFuc2xhdG9yczoKKyMgRGltaXRyaXkgUnlhemFudGNldiA8REptMDBuQG1haWwucnU+LCAyMDE1LTIwMTYKKyMgSXJpbmEgUmllc2VuIDxpcmluYS5yaWVzZW5AZ21haWwuY29tPiwgMjAwNwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0LWd1aVxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogR2l0IFJ1c3NpYW4gTG9jYWxpemF0aW9uIFByb2plY3RcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCiAiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTAtMDEtMjYgMTU6NDctMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDctMTAtMjIgMjI6MzAtMDIwMFxuIgotIkxhc3QtVHJhbnNsYXRvcjogQWxleCBSaWVzZW4gPHJhYS5sa21sQGdtYWlsLmNvbT5cbiIKLSJMYW5ndWFnZS1UZWFtOiBSdXNzaWFuIFRyYW5zbGF0aW9uIDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMDYtMzAgMTI6MzkrMDAwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogRGltaXRyaXkgUnlhemFudGNldiA8REptMDBuQG1haWwucnU+XG4iCisiTGFuZ3VhZ2UtVGVhbTogUnVzc2lhbiAoaHR0cDovL3d3dy50cmFuc2lmZXguY29tL2RqbTAwbi9naXQtcG8tcnUvbGFuZ3VhZ2UvcnUvKVxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCiAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIkxhbmd1YWdlOiBydVxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9NDsgcGx1cmFsPShuJTEwPT0xICYmIG4lMTAwIT0xMSA/IDAgOiBuJTEwPj0yICYmIG4lMTA8PTQgJiYgKG4lMTAwPDEyIHx8IG4lMTAwPjE0KSA/IDEgOiBuJTEwPT0wIHx8IChuJTEwPj01ICYmIG4lMTA8PTkpIHx8IChuJTEwMD49MTEgJiYgbiUxMDA8PTE0KT8gMiA6IDMpO1xuIgogCiAjOiBnaXQtZ3VpLnNoOjQxIGdpdC1ndWkuc2g6NzkzIGdpdC1ndWkuc2g6ODA3IGdpdC1ndWkuc2g6ODIwIGdpdC1ndWkuc2g6OTAzCiAjOiBnaXQtZ3VpLnNoOjkyMgpAQCAtNTEsMTQgKzU0LDcgQEAKICIlcyByZXF1aXJlcyBhdCBsZWFzdCBHaXQgMS41LjAgb3IgbGF0ZXIuXG4iCiAiXG4iCiAiQXNzdW1lICclcycgaXMgdmVyc2lvbiAxLjUuMD9cbiIKLW1zZ3N0ciAiIgotItCd0LXQstC+0LfQvNC+0LbQvdC+INC+0L/RgNC10LTQtdC70LjRgtGMINCy0LXRgNGB0LjRjiBHaXRcbiIKLSJcbiIKLSIlcyDRg9C60LDQt9GL0LLQsNC10YIg0L3QsCDQstC10YDRgdC40Y4gJyVzJy5cbiIKLSJcbiIKLSLQtNC70Y8gJXMg0YLRgNC10LHRg9C10YLRgdGPINCy0LXRgNGB0LjRjyBHaXQsINC90LDRh9C40L3QsNGPINGBIDEuNS4wXG4iCi0iXG4iCi0i0J/RgNC40L3Rj9GC0YwgJyVzJyDQutCw0Log0LLQtdGA0YHQuNGOIDEuNS4wP1xuIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQvtC/0YDQtdC00LXQu9C40YLRjCDQstC10YDRgdC40Y4gR2l0XG5cbiVzINGD0LrQsNC30YvQstCw0LXRgiDQvdCwINCy0LXRgNGB0LjRjiDCqyVzwrsuXG5cbtC00LvRjyAlcyDRgtGA0LXQsdGD0LXRgtGB0Y8g0LLQtdGA0YHQuNGPIEdpdCwg0L3QsNGH0LjQvdCw0Y8g0YEgMS41LjBcblxu0J/RgNC10LTQv9C+0LvQvtC20LjRgtGMLCDRh9GC0L4gwqslc8K7INC4INC10YHRgtGMINCy0LXRgNGB0LjRjyAxLjUuMD9cbiIKIAogIzogZ2l0LWd1aS5zaDoxMTI4CiBtc2dpZCAiR2l0IGRpcmVjdG9yeSBub3QgZm91bmQ6IgpAQCAtNzgsMjAgKzc0LDE5IEBACiAKICM6IGdpdC1ndWkuc2g6MTMzNCBsaWIvY2hlY2tvdXRfb3AudGNsOjMwNgogbXNnaWQgIlJlZnJlc2hpbmcgZmlsZSBzdGF0dXMuLi4iCi1tc2dzdHIgItCe0LHQvdC+0LLQu9C10L3QuNC1INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INGB0L7RgdGC0L7Rj9C90LjQuCDRhNCw0LnQu9C+0LIuLi4iCittc2dzdHIgItCe0LHQvdC+0LLQu9C10L3QuNC1INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INGB0L7RgdGC0L7Rj9C90LjQuCDRhNCw0LnQu9C+0LLigKYiCiAKICM6IGdpdC1ndWkuc2g6MTM5MAogbXNnaWQgIlNjYW5uaW5nIGZvciBtb2RpZmllZCBmaWxlcyAuLi4iCi1tc2dzdHIgItCf0L7QuNGB0Log0LjQt9C80LXQvdC10L3QvdGL0YUg0YTQsNC50LvQvtCyLi4uIgorbXNnc3RyICLQn9C+0LjRgdC6INC40LfQvNC10L3QtdC90L3Ri9GFINGE0LDQudC70L7QsuKApiIKIAogIzogZ2l0LWd1aS5zaDoxNDU0CiBtc2dpZCAiQ2FsbGluZyBwcmVwYXJlLWNvbW1pdC1tc2cgaG9vay4uLiIKLW1zZ3N0ciAi0JLRi9C30L7QsiDQv9GA0L7Qs9GA0LDQvNC80Ysg0L/QvtC00LTQtdGA0LbQutC4INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8gcHJlcGFyZS1jb21taXQtbXNnLi4uIgorbXNnc3RyICLQktGL0LfQvtCyINC/0LXRgNC10YXQstCw0YLRh9C40LrQsCBwcmVwYXJlLWNvbW1pdC1tc2figKYiCiAKICM6IGdpdC1ndWkuc2g6MTQ3MQogbXNnaWQgIkNvbW1pdCBkZWNsaW5lZCBieSBwcmVwYXJlLWNvbW1pdC1tc2cgaG9vay4iCi1tc2dzdHIgIiIKLSLQodC+0YXRgNCw0L3QtdC90LjQtSDQv9GA0LXRgNCy0LDQvdC+INC/0YDQvtCz0YDQsNC80LzQvtC5INC/0L7QtNC00LXRgNC20LrQuCDRgNC10L/QvtC30LjRgtC+0YDQuNGPIHByZXBhcmUtY29tbWl0LW1zZyIKK21zZ3N0ciAi0JrQvtC80LzQuNGCINC/0YDQtdGA0LLQsNC9INC/0LXRgNC10YXQstCw0YLRh9C40LrQvtC8IHByZXBhcmUtY29tbWl0LW1zZy4iCiAKICM6IGdpdC1ndWkuc2g6MTYyOSBsaWIvYnJvd3Nlci50Y2w6MjQ2CiBtc2dpZCAiUmVhZHkuIgpAQCAtMTA4LDMxICsxMDMsMzEgQEAKIAogIzogZ2l0LWd1aS5zaDoxOTE1CiBtc2dpZCAiTW9kaWZpZWQsIG5vdCBzdGFnZWQiCi1tc2dzdHIgItCY0LfQvNC10L3QtdC90L4sINC90LUg0L/QvtC00LPQvtGC0L7QstC70LXQvdC+IgorbXNnc3RyICLQmNC30LzQtdC90LXQvdC+LCDQvdC1INCyINC40L3QtNC10LrRgdC1IgogCiAjOiBnaXQtZ3VpLnNoOjE5MTYgZ2l0LWd1aS5zaDoxOTI0CiBtc2dpZCAiU3RhZ2VkIGZvciBjb21taXQiCi1tc2dzdHIgItCf0L7QtNCz0L7RgtC+0LLQu9C10L3QviDQtNC70Y8g0YHQvtGF0YDQsNC90LXQvdC40Y8iCittc2dzdHIgItCSINC40L3QtNC10LrRgdC1INC00LvRjyDQutC+0LzQvNC40YLQsCIKIAogIzogZ2l0LWd1aS5zaDoxOTE3IGdpdC1ndWkuc2g6MTkyNQogbXNnaWQgIlBvcnRpb25zIHN0YWdlZCBmb3IgY29tbWl0IgotbXNnc3RyICLQp9Cw0YHRgtC4LCDQv9C+0LTQs9C+0YLQvtCy0LvQtdC90L3Ri9C1INC00LvRjyDRgdC+0YXRgNCw0L3QtdC90LjRjyIKK21zZ3N0ciAi0KfQsNGB0YLQuCwg0LIg0LjQvdC00LXQutGB0LUg0LTQu9GPINC60L7QvNC80LjRgtCwIgogCiAjOiBnaXQtZ3VpLnNoOjE5MTggZ2l0LWd1aS5zaDoxOTI2CiBtc2dpZCAiU3RhZ2VkIGZvciBjb21taXQsIG1pc3NpbmciCi1tc2dzdHIgItCf0L7QtNCz0L7RgtC+0LLQu9C10L3QviDQtNC70Y8g0YHQvtGF0YDQsNC90LXQvdC40Y8sINC+0YLRgdGD0YLRgdGC0LLRg9C10YIiCittc2dzdHIgItCSINC40L3QtNC10LrRgdC1INC00LvRjyDQutC+0LzQvNC40YLQsCwg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiIKIAogIzogZ2l0LWd1aS5zaDoxOTIwCiBtc2dpZCAiRmlsZSB0eXBlIGNoYW5nZWQsIG5vdCBzdGFnZWQiCi1tc2dzdHIgItCi0LjQvyDRhNCw0LnQu9CwINC40LfQvNC10L3RkdC9LCDQvdC1INC/0L7QtNCz0L7RgtC+0LLQu9C10L3QviIKK21zZ3N0ciAi0KLQuNC/INGE0LDQudC70LAg0LjQt9C80LXQvdGR0L0sINC90LUg0LIg0LjQvdC00LXQutGB0LUiCiAKICM6IGdpdC1ndWkuc2g6MTkyMQogbXNnaWQgIkZpbGUgdHlwZSBjaGFuZ2VkLCBzdGFnZWQiCi1tc2dzdHIgItCi0LjQvyDRhNCw0LnQu9CwINC40LfQvNC10L3RkdC9LCDQv9C+0LTQs9C+0YLQvtCy0LvQtdC90L4iCittc2dzdHIgItCi0LjQvyDRhNCw0LnQu9CwINC40LfQvNC10L3RkdC9LCDQsiDQuNC90LTQtdC60YHQtSIKIAogIzogZ2l0LWd1aS5zaDoxOTIzCiBtc2dpZCAiVW50cmFja2VkLCBub3Qgc3RhZ2VkIgotbXNnc3RyICLQndC1INC+0YLRgdC70LXQttC40LLQsNC10YLRgdGPLCDQvdC1INC/0L7QtNCz0L7RgtC+0LLQu9C10L3QviIKK21zZ3N0ciAi0J3QtSDQvtGC0YHQu9C10LbQuNCy0LDQtdGC0YHRjywg0L3QtSDQsiDQuNC90LTQtdC60YHQtSIKIAogIzogZ2l0LWd1aS5zaDoxOTI4CiBtc2dpZCAiTWlzc2luZyIKQEAgLTE0MCwxMSArMTM1LDExIEBACiAKICM6IGdpdC1ndWkuc2g6MTkyOQogbXNnaWQgIlN0YWdlZCBmb3IgcmVtb3ZhbCIKLW1zZ3N0ciAi0J/QvtC00LPQvtGC0L7QstC70LXQvdC+INC00LvRjyDRg9C00LDQu9C10L3QuNGPIgorbXNnc3RyICLQkiDQuNC90LTQtdC60YHQtSDQtNC70Y8g0YPQtNCw0LvQtdC90LjRjyIKIAogIzogZ2l0LWd1aS5zaDoxOTMwCiBtc2dpZCAiU3RhZ2VkIGZvciByZW1vdmFsLCBzdGlsbCBwcmVzZW50IgotbXNnc3RyICLQn9C+0LTQs9C+0YLQvtCy0LvQtdC90L4g0LTQu9GPINGD0LTQsNC70LXQvdC40Y8sINC10YnQtSDQvdC1INGD0LTQsNC70LXQvdC+IgorbXNnc3RyICLQkiDQuNC90LTQtdC60YHQtSDQtNC70Y8g0YPQtNCw0LvQtdC90LjRjywg0LXRidC1INC90LUg0YPQtNCw0LvQtdC90L4iCiAKICM6IGdpdC1ndWkuc2g6MTkzMiBnaXQtZ3VpLnNoOjE5MzMgZ2l0LWd1aS5zaDoxOTM0IGdpdC1ndWkuc2g6MTkzNQogIzogZ2l0LWd1aS5zaDoxOTM2IGdpdC1ndWkuc2g6MTkzNwpAQCAtMTUzLDcgKzE0OCw3IEBACiAKICM6IGdpdC1ndWkuc2g6MTk3MgogbXNnaWQgIlN0YXJ0aW5nIGdpdGsuLi4gcGxlYXNlIHdhaXQuLi4iCi1tc2dzdHIgItCX0LDQv9GD0YHQutCw0LXRgtGB0Y8gZ2l0ay4uLiDQn9C+0LTQvtC20LTQuNGC0LUsINC/0L7QttCw0LvRg9C50YHRgtCwLi4uIgorbXNnc3RyICLQl9Cw0L/Rg9GB0LrQsNC10YLRgdGPIGdpdGvigKYg0J/QvtC00L7QttC00LjRgtC1LCDQv9C+0LbQsNC70YPQudGB0YLQsOKApiIKIAogIzogZ2l0LWd1aS5zaDoxOTg0CiBtc2dpZCAiQ291bGRuJ3QgZmluZCBnaXRrIGluIFBBVEgiCkBAIC0xNzMsMTEgKzE2OCwxMSBAQAogCiAjOiBnaXQtZ3VpLnNoOjI0NTggbGliL2Nob29zZV9yZXYudGNsOjU2MQogbXNnaWQgIkJyYW5jaCIKLW1zZ3N0ciAi0JLQtdGC0LLRjCIKK21zZ3N0ciAi0JLQtdGC0LrQsCIKIAogIzogZ2l0LWd1aS5zaDoyNDYxIGxpYi9jaG9vc2VfcmV2LnRjbDo1NDgKIG1zZ2lkICJDb21taXRAQG5vdW4iCi1tc2dzdHIgItCh0L7RgdGC0L7Rj9C90LjQtSIKK21zZ3N0ciAi0JrQvtC80LzQuNGCIgogCiAjOiBnaXQtZ3VpLnNoOjI0NjQgbGliL21lcmdlLnRjbDoxMjEgbGliL21lcmdlLnRjbDoxNTAgbGliL21lcmdlLnRjbDoxNjgKIG1zZ2lkICJNZXJnZSIKQEAgLTE5NywyOSArMTkyLDI5IEBACiAKICM6IGdpdC1ndWkuc2g6MjQ4MwogbXNnaWQgIkJyb3dzZSBDdXJyZW50IEJyYW5jaCdzIEZpbGVzIgotbXNnc3RyICLQn9GA0L7RgdC80L7RgtGA0LXRgtGMINGE0LDQudC70Ysg0YLQtdC60YPRidC10Lkg0LLQtdGC0LLQuCIKK21zZ3N0ciAi0J/RgNC+0YHQvNC+0YLRgNC10YLRjCDRhNCw0LnQu9GLINGC0LXQutGD0YnQtdC5INCy0LXRgtC60LgiCiAKICM6IGdpdC1ndWkuc2g6MjQ4NwogbXNnaWQgIkJyb3dzZSBCcmFuY2ggRmlsZXMuLi4iCi1tc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0YTQsNC50LvRiyDQstC10YLQstC4Li4uIgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINGE0LDQudC70Ysg0LLQtdGC0LrQuOKApiIKIAogIzogZ2l0LWd1aS5zaDoyNDkyCiBtc2dpZCAiVmlzdWFsaXplIEN1cnJlbnQgQnJhbmNoJ3MgSGlzdG9yeSIKLW1zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQuNGB0YLQvtGA0LjRjiDRgtC10LrRg9GJ0LXQuSDQstC10YLQstC4IgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINC40YHRgtC+0YDQuNGOINGC0LXQutGD0YnQtdC5INCy0LXRgtC60LgiCiAKICM6IGdpdC1ndWkuc2g6MjQ5NgogbXNnaWQgIlZpc3VhbGl6ZSBBbGwgQnJhbmNoIEhpc3RvcnkiCi1tc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0LjRgdGC0L7RgNC40Y4g0LLRgdC10YUg0LLQtdGC0LLQtdC5IgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINC40YHRgtC+0YDQuNGOINCy0YHQtdGFINCy0LXRgtC+0LoiCiAKICM6IGdpdC1ndWkuc2g6MjUwMwogIywgdGNsLWZvcm1hdAogbXNnaWQgIkJyb3dzZSAlcydzIEZpbGVzIgotbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINGE0LDQudC70Ysg0LLQtdGC0LLQuCAlcyIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDRhNCw0LnQu9GLINCy0LXRgtC60LggJXMiCiAKICM6IGdpdC1ndWkuc2g6MjUwNQogIywgdGNsLWZvcm1hdAogbXNnaWQgIlZpc3VhbGl6ZSAlcydzIEhpc3RvcnkiCi1tc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0LjRgdGC0L7RgNC40Y4g0LLQtdGC0LLQuCAlcyIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQuNGB0YLQvtGA0LjRjiDQstC10YLQutC4ICVzIgogCiAjOiBnaXQtZ3VpLnNoOjI1MTAgbGliL2RhdGFiYXNlLnRjbDoyNyBsaWIvZGF0YWJhc2UudGNsOjY3CiBtc2dpZCAiRGF0YWJhc2UgU3RhdGlzdGljcyIKQEAgLTI3NCwyMyArMjY5LDIzIEBACiAKICM6IGdpdC1ndWkuc2g6MjU3NgogbXNnaWQgIkNyZWF0ZS4uLiIKLW1zZ3N0ciAi0KHQvtC30LTQsNGC0YwuLi4iCittc2dzdHIgItCh0L7Qt9C00LDRgtGM4oCmIgogCiAjOiBnaXQtZ3VpLnNoOjI1ODIKIG1zZ2lkICJDaGVja291dC4uLiIKLW1zZ3N0ciAi0J/QtdGA0LXQudGC0LguLi4iCittc2dzdHIgItCf0LXRgNC10LnRgtC44oCmIgogCiAjOiBnaXQtZ3VpLnNoOjI1ODgKIG1zZ2lkICJSZW5hbWUuLi4iCi1tc2dzdHIgItCf0LXRgNC10LjQvNC10L3QvtCy0LDRgtGMLi4uIgorbXNnc3RyICLQn9C10YDQtdC40LzQtdC90L7QstCw0YLRjOKApiIKIAogIzogZ2l0LWd1aS5zaDoyNTkzCiBtc2dpZCAiRGVsZXRlLi4uIgotbXNnc3RyICLQo9C00LDQu9C40YLRjC4uLiIKK21zZ3N0ciAi0KPQtNCw0LvQuNGC0YzigKYiCiAKICM6IGdpdC1ndWkuc2g6MjU5OAogbXNnaWQgIlJlc2V0Li4uIgotbXNnc3RyICLQodCx0YDQvtGB0LjRgtGMLi4uIgorbXNnc3RyICLQodCx0YDQvtGB0LjRgtGM4oCmIgogCiAjOiBnaXQtZ3VpLnNoOjI2MDgKIG1zZ2lkICJEb25lIgpAQCAtMjk4LDE1ICsyOTMsMTUgQEAKIAogIzogZ2l0LWd1aS5zaDoyNjEwCiBtc2dpZCAiQ29tbWl0QEB2ZXJiIgotbXNnc3RyICLQodC+0YXRgNCw0L3QuNGC0YwiCittc2dzdHIgItCX0LDQutC+0LzQvNC40YLQuNGC0YwiCiAKICM6IGdpdC1ndWkuc2g6MjYxOSBnaXQtZ3VpLnNoOjMwNTAKIG1zZ2lkICJOZXcgQ29tbWl0IgotbXNnc3RyICLQndC+0LLQvtC1INGB0L7RgdGC0L7Rj9C90LjQtSIKK21zZ3N0ciAi0J3QvtCy0YvQuSDQutC+0LzQvNC40YIiCiAKICM6IGdpdC1ndWkuc2g6MjYyNyBnaXQtZ3VpLnNoOjMwNTcKIG1zZ2lkICJBbWVuZCBMYXN0IENvbW1pdCIKLW1zZ3N0ciAi0JjRgdC/0YDQsNCy0LjRgtGMINC/0L7RgdC70LXQtNC90LXQtSDRgdC+0YHRgtC+0Y/QvdC40LUiCittc2dzdHIgItCY0YHQv9GA0LDQstC40YLRjCDQv9C+0YHQu9C10LTQvdC40Lkg0LrQvtC80LzQuNGCIgogCiAjOiBnaXQtZ3VpLnNoOjI2MzcgZ2l0LWd1aS5zaDozMDExIGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6OTkKIG1zZ2lkICJSZXNjYW4iCkBAIC0zMTQsMTkgKzMwOSwxOSBAQAogCiAjOiBnaXQtZ3VpLnNoOjI2NDMKIG1zZ2lkICJTdGFnZSBUbyBDb21taXQiCi1tc2dzdHIgItCf0L7QtNCz0L7RgtC+0LLQuNGC0Ywg0LTQu9GPINGB0L7RhdGA0LDQvdC10L3QuNGPIgorbXNnc3RyICLQlNC+0LHQsNCy0LjRgtGMINCyINC40L3QtNC10LrRgSIKIAogIzogZ2l0LWd1aS5zaDoyNjQ5CiBtc2dpZCAiU3RhZ2UgQ2hhbmdlZCBGaWxlcyBUbyBDb21taXQiCi1tc2dzdHIgItCf0L7QtNCz0L7RgtC+0LLQuNGC0Ywg0LjQt9C80LXQvdC10L3QvdGL0LUg0YTQsNC50LvRiyDQtNC70Y8g0YHQvtGF0YDQsNC90LXQvdC40Y8iCittc2dzdHIgItCU0L7QsdCw0LLQuNGC0Ywg0LjQt9C80LXQvdGR0L3QvdGL0LUg0YTQsNC50LvRiyDQsiDQuNC90LTQtdC60YEiCiAKICM6IGdpdC1ndWkuc2g6MjY1NQogbXNnaWQgIlVuc3RhZ2UgRnJvbSBDb21taXQiCi1tc2dzdHIgItCj0LHRgNCw0YLRjCDQuNC3INC/0L7QtNCz0L7RgtC+0LLQu9C10L3QvdC+0LPQviIKK21zZ3N0ciAi0KPQsdGA0LDRgtGMINC40Lcg0LjQt9C00LXQutGB0LAiCiAKICM6IGdpdC1ndWkuc2g6MjY2MSBsaWIvaW5kZXgudGNsOjQxMgogbXNnaWQgIlJldmVydCBDaGFuZ2VzIgotbXNnc3RyICLQntGC0LzQtdC90LjRgtGMINC40LfQvNC10L3QtdC90LjRjyIKK21zZ3N0ciAi0J7QsdGA0LDRgtC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8iCiAKICM6IGdpdC1ndWkuc2g6MjY2OSBnaXQtZ3VpLnNoOjMzMTAgZ2l0LWd1aS5zaDozMzQxCiBtc2dpZCAiU2hvdyBMZXNzIENvbnRleHQiCkBAIC0zNDIsMzEgKzMzNywzMSBAQAogCiAjOiBnaXQtZ3VpLnNoOjI2OTYKIG1zZ2lkICJMb2NhbCBNZXJnZS4uLiIKLW1zZ3N0ciAi0JvQvtC60LDQu9GM0L3QvtC1INGB0LvQuNGP0L3QuNC1Li4uIgorbXNnc3RyICLQm9C+0LrQsNC70YzQvdC+0LUg0YHQu9C40Y/QvdC40LXigKYiCiAKICM6IGdpdC1ndWkuc2g6MjcwMQogbXNnaWQgIkFib3J0IE1lcmdlLi4uIgotbXNnc3RyICLQn9GA0LXRgNCy0LDRgtGMINGB0LvQuNGP0L3QuNC1Li4uIgorbXNnc3RyICLQn9GA0LXRgNCy0LDRgtGMINGB0LvQuNGP0L3QuNC14oCmIgogCiAjOiBnaXQtZ3VpLnNoOjI3MTMgZ2l0LWd1aS5zaDoyNzQxCiBtc2dpZCAiQWRkLi4uIgotbXNnc3RyICLQlNC+0LHQsNCy0LjRgtGMLi4uIgorbXNnc3RyICLQlNC+0LHQsNCy0LjRgtGM4oCmIgogCiAjOiBnaXQtZ3VpLnNoOjI3MTcKIG1zZ2lkICJQdXNoLi4uIgotbXNnc3RyICLQntGC0L/RgNCw0LLQuNGC0YwuLi4iCittc2dzdHIgItCe0YLQv9GA0LDQstC40YLRjOKApiIKIAogIzogZ2l0LWd1aS5zaDoyNzIxCiBtc2dpZCAiRGVsZXRlIEJyYW5jaC4uLiIKLW1zZ3N0ciAi0KPQtNCw0LvQuNGC0Ywg0LLQtdGC0LLRjC4uLiIKK21zZ3N0ciAi0KPQtNCw0LvQuNGC0Ywg0LLQtdGC0LrRg+KApiIKIAogIzogZ2l0LWd1aS5zaDoyNzMxIGdpdC1ndWkuc2g6MzI5MgogbXNnaWQgIk9wdGlvbnMuLi4iCi1tc2dzdHIgItCd0LDRgdGC0YDQvtC50LrQuC4uLiIKK21zZ3N0ciAi0J3QsNGB0YLRgNC+0LnQutC44oCmIgogCiAjOiBnaXQtZ3VpLnNoOjI3NDIKIG1zZ2lkICJSZW1vdmUuLi4iCi1tc2dzdHIgItCj0LTQsNC70LjRgtGMLi4uIgorbXNnc3RyICLQo9C00LDQu9C40YLRjOKApiIKIAogIzogZ2l0LWd1aS5zaDoyNzUxIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTAKIG1zZ2lkICJIZWxwIgpAQCAtMzkzLDExICszODgsMTEgQEAKIAogIzogZ2l0LWd1aS5zaDoyOTI2CiBtc2dpZCAiQ3VycmVudCBCcmFuY2g6IgotbXNnc3RyICLQotC10LrRg9GJ0LDRjyDQstC10YLQstGMOiIKK21zZ3N0ciAi0KLQtdC60YPRidCw0Y8g0LLQtdGC0LrQsDoiCiAKICM6IGdpdC1ndWkuc2g6Mjk0NwogbXNnaWQgIlN0YWdlZCBDaGFuZ2VzIChXaWxsIENvbW1pdCkiCi1tc2dzdHIgItCf0L7QtNCz0L7RgtC+0LLQu9C10L3QviAo0LHRg9C00LXRgiDRgdC+0YXRgNCw0L3QtdC90L4pIgorbXNnc3RyICLQmNC30LzQtdC90LXQvdC40Y8g0LIg0LjQvdC00LXQutGB0LUgKNCx0YPQtNGD0YIg0LfQsNC60L7QvNC80LjRh9C10L3RiykiCiAKICM6IGdpdC1ndWkuc2g6Mjk2NwogbXNnaWQgIlVuc3RhZ2VkIENoYW5nZXMiCkBAIC00MDUsNyArNDAwLDcgQEAKIAogIzogZ2l0LWd1aS5zaDozMDE3CiBtc2dpZCAiU3RhZ2UgQ2hhbmdlZCIKLW1zZ3N0ciAi0J/QvtC00LPQvtGC0L7QstC40YLRjCDQstGB0LUiCittc2dzdHIgItCY0L3QtNC10LrRgdC40YDQvtCy0LDRgtGMINCy0YHRkSIKIAogIzogZ2l0LWd1aS5zaDozMDM2IGxpYi90cmFuc3BvcnQudGNsOjEwNCBsaWIvdHJhbnNwb3J0LnRjbDoxOTMKIG1zZ2lkICJQdXNoIgpAQCAtNDEzLDI3ICs0MDgsMjcgQEAKIAogIzogZ2l0LWd1aS5zaDozMDcxCiBtc2dpZCAiSW5pdGlhbCBDb21taXQgTWVzc2FnZToiCi1tc2dzdHIgItCa0L7QvNC80LXQvdGC0LDRgNC40Lkg0Log0L/QtdGA0LLQvtC80YMg0YHQvtGB0YLQvtGP0L3QuNGOOiIKK21zZ3N0ciAi0KHQvtC+0LHRidC10L3QuNC1INC/0LXRgNCy0L7Qs9C+INC60L7QvNC80LjRgtCwOiIKIAogIzogZ2l0LWd1aS5zaDozMDcyCiBtc2dpZCAiQW1lbmRlZCBDb21taXQgTWVzc2FnZToiCi1tc2dzdHIgItCa0L7QvNC80LXQvdGC0LDRgNC40Lkg0Log0LjRgdC/0YDQsNCy0LvQtdC90L3QvtC80YMg0YHQvtGB0YLQvtGP0L3QuNGOOiIKK21zZ3N0ciAi0KHQvtC+0LHRidC10L3QuNC1INC40YHQv9GA0LDQstC70LXQvdC90L7Qs9C+INC60L7QvNC80LjRgtCwOiIKIAogIzogZ2l0LWd1aS5zaDozMDczCiBtc2dpZCAiQW1lbmRlZCBJbml0aWFsIENvbW1pdCBNZXNzYWdlOiIKLW1zZ3N0ciAi0JrQvtC80LzQtdC90YLQsNGA0LjQuSDQuiDQuNGB0L/RgNCw0LLQu9C10L3QvdC+0LzRgyDQv9C10YDQstC+0L3QsNGH0LDQu9GM0L3QvtC80YMg0YHQvtGB0YLQvtGP0L3QuNGOOiIKK21zZ3N0ciAi0KHQvtC+0LHRidC10L3QuNC1INC40YHQv9GA0LDQstC70LXQvdC90L7Qs9C+INC/0LXRgNCy0L7Qs9C+INC60L7QvNC80LjRgtCwOiIKIAogIzogZ2l0LWd1aS5zaDozMDc0CiBtc2dpZCAiQW1lbmRlZCBNZXJnZSBDb21taXQgTWVzc2FnZToiCi1tc2dzdHIgItCa0L7QvNC80LXQvdGC0LDRgNC40Lkg0Log0LjRgdC/0YDQsNCy0LvQtdC90L3QvtC80YMg0YHQu9C40Y/QvdC40Y46IgorbXNnc3RyICLQodC+0L7QsdGJ0LXQvdC40LUg0LjRgdC/0YDQsNCy0LvQtdC90L3QvtCz0L4g0YHQu9C40Y/QvdC40Y86IgogCiAjOiBnaXQtZ3VpLnNoOjMwNzUKIG1zZ2lkICJNZXJnZSBDb21taXQgTWVzc2FnZToiCi1tc2dzdHIgItCa0L7QvNC80LXQvdGC0LDRgNC40Lkg0Log0YHQu9C40Y/QvdC40Y46IgorbXNnc3RyICLQodC+0L7QsdGJ0LXQvdC40LUg0YHQu9C40Y/QvdC40Y86IgogCiAjOiBnaXQtZ3VpLnNoOjMwNzYKIG1zZ2lkICJDb21taXQgTWVzc2FnZToiCi1tc2dzdHIgItCa0L7QvNC80LXQvdGC0LDRgNC40Lkg0Log0YHQvtGB0YLQvtGP0L3QuNGOOiIKK21zZ3N0ciAi0KHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwOiIKIAogIzogZ2l0LWd1aS5zaDozMTI1IGdpdC1ndWkuc2g6MzI2NyBsaWIvY29uc29sZS50Y2w6NzMKIG1zZ2lkICJDb3B5IEFsbCIKQEAgLTQ4MSw1MSArNDc2LDUxIEBACiAKICM6IGdpdC1ndWkuc2g6MzMzNgogbXNnaWQgIlJldmVydCBUbyBCYXNlIgotbXNnc3RyICLQntGC0LzQtdC90LjRgtGMINC40LfQvNC10L3QtdC90LjRjyIKK21zZ3N0ciAi0J7QsdGA0LDRgtC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8iCiAKICM6IGdpdC1ndWkuc2g6MzM1NAogbXNnaWQgIlZpc3VhbGl6ZSBUaGVzZSBDaGFuZ2VzIEluIFRoZSBTdWJtb2R1bGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDRjdGC0Lgg0LjQt9C80LXQvdC10L3QuNGPINC/0L7QtNC80L7QtNGD0LvRjyIKIAogIzogZ2l0LWd1aS5zaDozMzU4CiBtc2dpZCAiVmlzdWFsaXplIEN1cnJlbnQgQnJhbmNoIEhpc3RvcnkgSW4gVGhlIFN1Ym1vZHVsZSIKLW1zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQuNGB0YLQvtGA0LjRjiDRgtC10LrRg9GJ0LXQuSDQstC10YLQstC4INC/0L7QtNC80L7QtNGD0LvRjyIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQuNGB0YLQvtGA0LjRjiDRgtC10LrRg9GJ0LXQuSDQstC10YLQutC4INC/0L7QtNC80L7QtNGD0LvRjyIKIAogIzogZ2l0LWd1aS5zaDozMzYyCiBtc2dpZCAiVmlzdWFsaXplIEFsbCBCcmFuY2ggSGlzdG9yeSBJbiBUaGUgU3VibW9kdWxlIgotbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINC40YHRgtC+0YDQuNGOINCy0YHQtdGFINCy0LXRgtCy0LXQuSDQv9C+0LTQvNC+0LTRg9C70Y8iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0LjRgdGC0L7RgNC40Y4g0LLRgdC10YUg0LLQtdGC0L7QuiDQv9C+0LTQvNC+0LTRg9C70Y8iCiAKICM6IGdpdC1ndWkuc2g6MzM2NwogbXNnaWQgIlN0YXJ0IGdpdCBndWkgSW4gVGhlIFN1Ym1vZHVsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICLQl9Cw0L/Rg9GB0YLQuNGC0YwgZ2l0IGd1aSDQsiDQv9C+0LTQvNC+0LTRg9C70LUiCiAKICM6IGdpdC1ndWkuc2g6MzM4OQogbXNnaWQgIlVuc3RhZ2UgSHVuayBGcm9tIENvbW1pdCIKLW1zZ3N0ciAi0J3QtSDRgdC+0YXRgNCw0L3Rj9GC0Ywg0YfQsNGB0YLRjCIKK21zZ3N0ciAi0KPQsdGA0LDRgtGMINCx0LvQvtC6INC40Lcg0LjQvdC00LXQutGB0LAiCiAKICM6IGdpdC1ndWkuc2g6MzM5MQogbXNnaWQgIlVuc3RhZ2UgTGluZXMgRnJvbSBDb21taXQiCi1tc2dzdHIgItCj0LHRgNCw0YLRjCDRgdGC0YDQvtC60Lgg0LjQtyDQv9C+0LTQs9C+0YLQvtCy0LvQtdC90L3QvtCz0L4iCittc2dzdHIgItCj0LHRgNCw0YLRjCDRgdGC0YDQvtC60Lgg0LjQtyDQuNC90LTQtdC60YHQsCIKIAogIzogZ2l0LWd1aS5zaDozMzkzCiBtc2dpZCAiVW5zdGFnZSBMaW5lIEZyb20gQ29tbWl0IgotbXNnc3RyICLQo9Cx0YDQsNGC0Ywg0YHRgtGA0L7QutGDINC40Lcg0L/QvtC00LPQvtGC0L7QstC70LXQvdC90L7Qs9C+IgorbXNnc3RyICLQo9Cx0YDQsNGC0Ywg0YHRgtGA0L7QutGDINC40Lcg0LjQvdC00LXQutGB0LAiCiAKICM6IGdpdC1ndWkuc2g6MzM5NgogbXNnaWQgIlN0YWdlIEh1bmsgRm9yIENvbW1pdCIKLW1zZ3N0ciAi0J/QvtC00LPQvtGC0L7QstC40YLRjCDRh9Cw0YHRgtGMINC00LvRjyDRgdC+0YXRgNCw0L3QtdC90LjRjyIKK21zZ3N0ciAi0JTQvtCx0LDQstC40YLRjCDQsdC70L7QuiDQsiDQuNC90LTQtdC60YEiCiAKICM6IGdpdC1ndWkuc2g6MzM5OAogbXNnaWQgIlN0YWdlIExpbmVzIEZvciBDb21taXQiCi1tc2dzdHIgItCf0L7QtNCz0L7RgtC+0LLQuNGC0Ywg0YHRgtGA0L7QutC4INC00LvRjyDRgdC+0YXRgNCw0L3QtdC90LjRjyIKK21zZ3N0ciAi0JTQvtCx0LDQstC40YLRjCDRgdGC0YDQvtC60Lgg0LIg0LjQvdC00LXQutGBIgogCiAjOiBnaXQtZ3VpLnNoOjM0MDAKIG1zZ2lkICJTdGFnZSBMaW5lIEZvciBDb21taXQiCi1tc2dzdHIgItCf0L7QtNCz0L7RgtC+0LLQuNGC0Ywg0YHRgtGA0L7QutGDINC00LvRjyDRgdC+0YXRgNCw0L3QtdC90LjRjyIKK21zZ3N0ciAi0JTQvtCx0LDQstC40YLRjCDRgdGC0YDQvtC60YMg0LIg0LjQvdC00LXQutGBIgogCiAjOiBnaXQtZ3VpLnNoOjM0MjQKIG1zZ2lkICJJbml0aWFsaXppbmcuLi4iCi1tc2dzdHIgItCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQuNGPLi4uIgorbXNnc3RyICLQmNC90LjRhtC40LDQu9C40LfQsNGG0LjRj+KApiIKIAogIzogZ2l0LWd1aS5zaDozNTQxCiAjLCB0Y2wtZm9ybWF0CkBAIC01MzYsMjMgKzUzMSwxNCBAQAogImdvaW5nIHRvIGJlIGlnbm9yZWQgYnkgYW55IEdpdCBzdWJwcm9jZXNzIHJ1blxuIgogImJ5ICVzOlxuIgogIlxuIgotbXNnc3RyICIiCi0i0JLQvtC30LzQvtC20L3RiyDQvtGI0LjQsdC60Lgg0LIg0L/QtdGA0LXQvNC10L3QvdGL0YUg0L7QutGA0YPQttC10L3QuNGPLlxuIgotIlxuIgotItCf0LXRgNC10LzQtdC90L3Ri9C1INC+0LrRgNGD0LbQtdC90LjRjywg0LrQvtGC0L7RgNGL0LUg0LLQvtC30LzQvtC20L3QvlxuIgotItCx0YPQtNGD0YIg0L/RgNC+0LjQs9C90L7RgNC40YDQvtCy0LDQvdGLINC60L7QvNCw0L3QtNCw0LzQuCBHaXQsXG4iCi0i0LfQsNC/0YPRidC10L3QvdGL0LzQuCDQuNC3ICVzXG4iCi0iXG4iCittc2dzdHIgItCS0L7Qt9C80L7QttC90Ysg0L7RiNC40LHQutC4INCyINC/0LXRgNC10LzQtdC90L3Ri9GFINC+0LrRgNGD0LbQtdC90LjRjy5cblxu0J/QtdGA0LXQvNC10L3QvdGL0LUg0L7QutGA0YPQttC10L3QuNGPLCDQutC+0YLQvtGA0YvQtSDQstC+0LfQvNC+0LbQvdC+XG7QsdGD0LTRg9GCINC/0YDQvtC40LPQvdC+0YDQuNGA0L7QstCw0L3RiyDQutC+0LzQsNC90LTQsNC80LggR2l0LFxu0LfQsNC/0YPRidC10L3QvdGL0LzQuCDQuNC3ICVzXG5cbiIKIAogIzogZ2l0LWd1aS5zaDozNTcwCiBtc2dpZCAiIgogIlxuIgogIlRoaXMgaXMgZHVlIHRvIGEga25vd24gaXNzdWUgd2l0aCB0aGVcbiIKICJUY2wgYmluYXJ5IGRpc3RyaWJ1dGVkIGJ5IEN5Z3dpbi4iCi1tc2dzdHIgIiIKLSJcbiIKLSLQrdGC0L4g0LjQt9Cy0LXRgdGC0L3QsNGPINC/0YDQvtCx0LvQtdC80LAg0YEgVGNsLFxuIgotItGA0LDRgdC/0YDQvtGB0YLRgNCw0L3Rj9C10LzRi9C8IEN5Z3dpbi4iCittc2dzdHIgIlxu0K3RgtC+INC40LfQstC10YHRgtC90LDRjyDQv9GA0L7QsdC70LXQvNCwINGBIFRjbCxcbtGA0LDRgdC/0YDQvtGB0YLRgNCw0L3Rj9C10LzRi9C8IEN5Z3dpbi4iCiAKICM6IGdpdC1ndWkuc2g6MzU3NQogIywgdGNsLWZvcm1hdApAQCAtNTYzLDEzICs1NDksNyBAQAogImlzIHBsYWNpbmcgdmFsdWVzIGZvciB0aGUgdXNlci5uYW1lIGFuZFxuIgogInVzZXIuZW1haWwgc2V0dGluZ3MgaW50byB5b3VyIHBlcnNvbmFsXG4iCiAifi8uZ2l0Y29uZmlnIGZpbGUuXG4iCi1tc2dzdHIgIiIKLSJcbiIKLSJcbiIKLSLQktC80LXRgdGC0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8gJXMg0LzQvtC20L3QvlxuIgotItGB0L7RhdGA0LDQvdC40YLRjCDQt9C90LDRh9C10L3QuNGPIHVzZXIubmFtZSDQuFxuIgotInVzZXIuZW1haWwg0LIg0JLQsNGI0LXQvCDQv9C10YDRgdC+0L3QsNC70YzQvdC+0LxcbiIKLSLRhNCw0LnQu9C1IH4vLmdpdGNvbmZpZy5cbiIKK21zZ3N0ciAiXG5cbtCS0LzQtdGB0YLQviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyAlcyDQvNC+0LbQvdC+XG7RgdC+0YXRgNCw0L3QuNGC0Ywg0LfQvdCw0YfQtdC90LjRjyB1c2VyLm5hbWUg0LhcbnVzZXIuZW1haWwg0LIg0JLQsNGI0LXQvCDQv9C10YDRgdC+0L3QsNC70YzQvdC+0LxcbtGE0LDQudC70LUgfi8uZ2l0Y29uZmlnLlxuIgogCiAjOiBsaWIvYWJvdXQudGNsOjI2CiBtc2dpZCAiZ2l0LWd1aSAtIGEgZ3JhcGhpY2FsIHVzZXIgaW50ZXJmYWNlIGZvciBHaXQuIgpAQCAtNTgxLDE1ICs1NjEsMTUgQEAKIAogIzogbGliL2JsYW1lLnRjbDo3OAogbXNnaWQgIkNvbW1pdDoiCi1tc2dzdHIgItCh0L7RhdGA0LDQvdC10L3QvdC+0LUg0YHQvtGB0YLQvtGP0L3QuNC1OiIKK21zZ3N0ciAi0JrQvtC80LzQuNGCOiIKIAogIzogbGliL2JsYW1lLnRjbDoyNzEKIG1zZ2lkICJDb3B5IENvbW1pdCIKLW1zZ3N0ciAi0KHQutC+0L/QuNGA0L7QstCw0YLRjCBTSEEtMSIKK21zZ3N0ciAi0JrQvtC/0LjRgNC+0LLQsNGC0YwgU0hBLTEiCiAKICM6IGxpYi9ibGFtZS50Y2w6Mjc1CiBtc2dpZCAiRmluZCBUZXh0Li4uIgotbXNnc3RyICLQndCw0LnRgtC4INGC0LXQutGB0YIuLi4iCittc2dzdHIgItCd0LDQudGC0Lgg0YLQtdC60YHRguKApiIKIAogIzogbGliL2JsYW1lLnRjbDoyODQKIG1zZ2lkICJEbyBGdWxsIENvcHkgRGV0ZWN0aW9uIgpAQCAtNjAxLDE2ICs1ODEsMTYgQEAKIAogIzogbGliL2JsYW1lLnRjbDoyOTEKIG1zZ2lkICJCbGFtZSBQYXJlbnQgQ29tbWl0IgotbXNnc3RyICLQoNCw0YHRgdC80L7RgtGA0LXRgtGMINGB0L7RgdGC0L7Rj9C90LjQtSDQv9GA0LXQtNC60LAiCittc2dzdHIgItCQ0LLRgtC+0YDRiyDRgNC+0LTQuNGC0LXQu9GM0YHQutC+0LPQviDQutC+0LzQvNC40YLQsCIKIAogIzogbGliL2JsYW1lLnRjbDo0NTAKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJSZWFkaW5nICVzLi4uIgotbXNnc3RyICLQp9GC0LXQvdC40LUgJXMuLi4iCittc2dzdHIgItCn0YLQtdC90LjQtSAlc+KApiIKIAogIzogbGliL2JsYW1lLnRjbDo1NTcKIG1zZ2lkICJMb2FkaW5nIGNvcHkvbW92ZSB0cmFja2luZyBhbm5vdGF0aW9ucy4uLiIKLW1zZ3N0ciAi0JfQsNCz0YDRg9C30LrQsCDQsNC90L3QvtGC0LDRhtC40Lgg0LrQvtC/0LjRgNC+0LLQsNC90LjQuS/Qv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC5Li4uIgorbXNnc3RyICLQl9Cw0LPRgNGD0LfQutCwINCw0L3QvdC+0YLQsNGG0LjQuCDQutC+0L/QuNGA0L7QstCw0L3QuNC5L9C/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40LnigKYiCiAKICM6IGxpYi9ibGFtZS50Y2w6NTc3CiBtc2dpZCAibGluZXMgYW5ub3RhdGVkIgpAQCAtNjE4LDcgKzU5OCw3IEBACiAKICM6IGxpYi9ibGFtZS50Y2w6NzY5CiBtc2dpZCAiTG9hZGluZyBvcmlnaW5hbCBsb2NhdGlvbiBhbm5vdGF0aW9ucy4uLiIKLW1zZ3N0ciAi0JfQsNCz0YDRg9C30LrQsCDQsNC90L3QvtGC0LDRhtC40Lkg0L/QtdGA0LLQvtC90LDRh9Cw0LvRjNC90L7Qs9C+INC/0L7Qu9C+0LbQtdC90LjRjyDQvtCx0YrQtdC60YLQsC4uLiIKK21zZ3N0ciAi0JfQsNCz0YDRg9C30LrQsCDQsNC90L3QvtGC0LDRhtC40Lkg0L/QtdGA0LLQvtC90LDRh9Cw0LvRjNC90L7Qs9C+INC/0L7Qu9C+0LbQtdC90LjRjyDQvtCx0YrQtdC60YLQsOKApiIKIAogIzogbGliL2JsYW1lLnRjbDo3NzIKIG1zZ2lkICJBbm5vdGF0aW9uIGNvbXBsZXRlLiIKQEAgLTYzNCwxMSArNjE0LDExIEBACiAKICM6IGxpYi9ibGFtZS50Y2w6ODQyCiBtc2dpZCAiUnVubmluZyB0aG9yb3VnaCBjb3B5IGRldGVjdGlvbi4uLiIKLW1zZ3N0ciAi0JLRi9C/0L7Qu9C90LXQvdC40LUg0L/QvtC70L3QvtCz0L4g0L/QvtC40YHQutCwINC60L7Qv9C40LkuLi4iCittc2dzdHIgItCS0YvQv9C+0LvQvdC10L3QuNC1INC/0L7Qu9C90L7Qs9C+INC/0L7QuNGB0LrQsCDQutC+0L/QuNC54oCmIgogCiAjOiBsaWIvYmxhbWUudGNsOjkxMAogbXNnaWQgIkxvYWRpbmcgYW5ub3RhdGlvbi4uLiIKLW1zZ3N0ciAi0JfQsNCz0YDRg9C30LrQsCDQsNC90L3QvtGC0LDRhtC40LguLi4iCittc2dzdHIgItCX0LDQs9GA0YPQt9C60LAg0LDQvdC90L7RgtCw0YbQuNC44oCmIgogCiAjOiBsaWIvYmxhbWUudGNsOjk2MwogbXNnaWQgIkF1dGhvcjoiCkBAIC02NDYsNyArNjI2LDcgQEAKIAogIzogbGliL2JsYW1lLnRjbDo5NjcKIG1zZ2lkICJDb21taXR0ZXI6IgotbXNnc3RyICLQodC+0YXRgNCw0L3QuNC7OiIKK21zZ3N0ciAi0JrQvtC80LzQuNGC0LXRgDoiCiAKICM6IGxpYi9ibGFtZS50Y2w6OTcyCiBtc2dpZCAiT3JpZ2luYWwgRmlsZToiCkBAIC02NTQsMTEgKzYzNCwxMSBAQAogCiAjOiBsaWIvYmxhbWUudGNsOjEwMjAKIG1zZ2lkICJDYW5ub3QgZmluZCBIRUFEIGNvbW1pdDoiCi1tc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0Lgg0YLQtdC60YPRidC10LUg0YHQvtGB0YLQvtGP0L3QuNC1OiIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INGC0LXQutGD0YnQtdC1INGB0L7RgdGC0L7Rj9C90LjQtToiCiAKICM6IGxpYi9ibGFtZS50Y2w6MTA3NQogbXNnaWQgIkNhbm5vdCBmaW5kIHBhcmVudCBjb21taXQ6IgotbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQvdCw0LnRgtC4INGB0L7RgdGC0L7Rj9C90LjQtSDQv9GA0LXQtNC60LA6IgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0YDQvtC00LjRgtC10LvRjNGB0LrQvtC1INGB0L7RgdGC0L7Rj9C90LjQtToiCiAKICM6IGxpYi9ibGFtZS50Y2w6MTA5MAogbXNnaWQgIlVuYWJsZSB0byBkaXNwbGF5IHBhcmVudCIKQEAgLTY4Miw3ICs2NjIsNyBAQAogCiAjOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDoxNCBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDoxOQogbXNnaWQgIkNoZWNrb3V0IEJyYW5jaCIKLW1zZ3N0ciAi0J/QtdGA0LXQudGC0Lgg0L3QsCDQstC10YLQstGMIgorbXNnc3RyICLQn9C10YDQtdC50YLQuCDQvdCwINCy0LXRgtC60YMiCiAKICM6IGxpYi9icmFuY2hfY2hlY2tvdXQudGNsOjIzCiBtc2dpZCAiQ2hlY2tvdXQiCkBAIC03MDcsMTkgKzY4NywxOSBAQAogCiAjOiBsaWIvYnJhbmNoX2NoZWNrb3V0LnRjbDozOSBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6OTIKIG1zZ2lkICJGZXRjaCBUcmFja2luZyBCcmFuY2giCi1tc2dzdHIgItCf0L7Qu9GD0YfQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINC40Lcg0LLQvdC10YjQvdC10Lkg0LLQtdGC0LLQuCIKK21zZ3N0ciAi0JjQt9Cy0LvQtdGH0Ywg0LjQt9C80LXQvdC10L3QuNGPINC40Lcg0LLQvdC10YjQvdC10Lkg0LLQtdGC0LrQuCIKIAogIzogbGliL2JyYW5jaF9jaGVja291dC50Y2w6NDQKIG1zZ2lkICJEZXRhY2ggRnJvbSBMb2NhbCBCcmFuY2giCi1tc2dzdHIgItCe0YLRgdC+0LXQtNC40L3QuNGC0Ywg0L7RgiDQu9C+0LrQsNC70YzQvdC+0Lkg0LLQtdGC0LLQuCIKK21zZ3N0ciAi0J7RgtGB0L7QtdC00LjQvdC40YLRjCDQvtGCINC70L7QutCw0LvRjNC90L7QuSDQstC10YLQutC4IgogCiAjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MjIKIG1zZ2lkICJDcmVhdGUgQnJhbmNoIgotbXNnc3RyICLQodC+0LfQtNCw0L3QuNC1INCy0LXRgtCy0LgiCittc2dzdHIgItCh0L7Qt9C00LDRgtGMINCy0LXRgtC60YMiCiAKICM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDoyNwogbXNnaWQgIkNyZWF0ZSBOZXcgQnJhbmNoIgotbXNnc3RyICLQodC+0LfQtNCw0YLRjCDQvdC+0LLRg9GOINCy0LXRgtCy0YwiCittc2dzdHIgItCh0L7Qt9C00LDRgtGMINC90L7QstGD0Y4g0LLQtdGC0LrRgyIKIAogIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjMxIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MzgxCiBtc2dpZCAiQ3JlYXRlIgpAQCAtNzI3LDcgKzcwNyw3IEBACiAKICM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDo0MAogbXNnaWQgIkJyYW5jaCBOYW1lIgotbXNnc3RyICLQndCw0LfQstCw0L3QuNC1INCy0LXRgtCy0LgiCittc2dzdHIgItCY0LzRjyDQstC10YLQutC4IgogCiAjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6NDMgbGliL3JlbW90ZV9hZGQudGNsOjM5IGxpYi90b29sc19kbGcudGNsOjUwCiBtc2dpZCAiTmFtZToiCkBAIC03MzUsNyArNzE1LDcgQEAKIAogIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjU4CiBtc2dpZCAiTWF0Y2ggVHJhY2tpbmcgQnJhbmNoIE5hbWUiCi1tc2dzdHIgItCS0LfRj9GC0Ywg0LjQtyDQuNC80LXQvSDQstC10YLQstC10Lkg0YHQu9C10LbQtdC90LjRjyIKK21zZ3N0ciAi0KHQvtC+0YLQstC10YLRgdGC0LLQvtCy0LDRgtGMINC40LzQtdC90Lgg0L7RgtGB0LvQtdC20LjQstCw0LXQvNC+0Lkg0LLQtdGC0LrQuCIKIAogIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjY2CiBtc2dpZCAiU3RhcnRpbmcgUmV2aXNpb24iCkBAIC03NDMsNyArNzIzLDcgQEAKIAogIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjcyCiBtc2dpZCAiVXBkYXRlIEV4aXN0aW5nIEJyYW5jaDoiCi1tc2dzdHIgItCe0LHQvdC+0LLQuNGC0Ywg0LjQvNC10Y7RidGD0Y7RgdGPINCy0LXRgtCy0Yw6IgorbXNnc3RyICLQntCx0L3QvtCy0LjRgtGMINC40LzQtdGO0YnRg9GO0YHRjyDQstC10YLQutGDOiIKIAogIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjc1CiBtc2dpZCAiTm8iCkBAIC03NjMsMzMgKzc0MywzMyBAQAogCiAjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MTMxCiBtc2dpZCAiUGxlYXNlIHNlbGVjdCBhIHRyYWNraW5nIGJyYW5jaC4iCi1tc2dzdHIgItCj0LrQsNC20LjRgtC1INCy0LXRgtCy0Ywg0YHQu9C10LbQtdC90LjRjy4iCittc2dzdHIgItCj0LrQsNC20LjRgtC1INC+0YLQu9C10LbQuNCy0LDQtdC80YPRjiDQstC10YLQutGDLiIKIAogIzogbGliL2JyYW5jaF9jcmVhdGUudGNsOjE0MAogIywgdGNsLWZvcm1hdAogbXNnaWQgIlRyYWNraW5nIGJyYW5jaCAlcyBpcyBub3QgYSBicmFuY2ggaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5LiIKLW1zZ3N0ciAi0JLQtdGC0LLRjCDRgdC70LXQttC10L3QuNGPICVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQstC10YLQstGM0Y4g0LLQviDQstC90LXRiNC90LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4LiIKK21zZ3N0ciAi0J7RgtGB0LvQtdC20LjQstCw0LXQvNCw0Y8g0LLQtdGC0LrQsCAlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LLQtdGC0LrQvtC5INC90LAg0LLQvdC10YjQvdC10Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuC4iCiAKICM6IGxpYi9icmFuY2hfY3JlYXRlLnRjbDoxNTMgbGliL2JyYW5jaF9yZW5hbWUudGNsOjg2CiBtc2dpZCAiUGxlYXNlIHN1cHBseSBhIGJyYW5jaCBuYW1lLiIKLW1zZ3N0ciAi0KPQutCw0LbQuNGC0LUg0L3QsNC30LLQsNC90LjQtSDQstC10YLQstC4LiIKK21zZ3N0ciAi0KPQutCw0LbQuNGC0LUg0LjQvNGPINCy0LXRgtC60LguIgogCiAjOiBsaWIvYnJhbmNoX2NyZWF0ZS50Y2w6MTY0IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxMDYKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhbiBhY2NlcHRhYmxlIGJyYW5jaCBuYW1lLiIKLW1zZ3N0ciAi0J3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INC90LDQt9Cy0LDQvdC40LUg0LLQtdGC0LLQuCAnJXMnLiIKK21zZ3N0ciAi0J3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INC40LzRjyDQstC10YLQutC4IMKrJXPCuy4iCiAKICM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoxNQogbXNnaWQgIkRlbGV0ZSBCcmFuY2giCi1tc2dzdHIgItCj0LTQsNC70LXQvdC40LUg0LLQtdGC0LLQuCIKK21zZ3N0ciAi0KPQtNCw0LvQtdC90LjQtSDQstC10YLQutC4IgogCiAjOiBsaWIvYnJhbmNoX2RlbGV0ZS50Y2w6MjAKIG1zZ2lkICJEZWxldGUgTG9jYWwgQnJhbmNoIgotbXNnc3RyICLQo9C00LDQu9C40YLRjCDQu9C+0LrQsNC70YzQvdGD0Y4g0LLQtdGC0LLRjCIKK21zZ3N0ciAi0KPQtNCw0LvQuNGC0Ywg0LvQvtC60LDQu9GM0L3Rg9GOINCy0LXRgtC60YMiCiAKICM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDozNwogbXNnaWQgIkxvY2FsIEJyYW5jaGVzIgotbXNnc3RyICLQm9C+0LrQsNC70YzQvdGL0LUg0LLQtdGC0LLQuCIKK21zZ3N0ciAi0JvQvtC60LDQu9GM0L3Ri9C1INCy0LXRgtC60LgiCiAKICM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDo1MgogbXNnaWQgIkRlbGV0ZSBPbmx5IElmIE1lcmdlZCBJbnRvIgpAQCAtODAyLDMwICs3ODIsMjUgQEAKICM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoxMDMKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJUaGUgZm9sbG93aW5nIGJyYW5jaGVzIGFyZSBub3QgY29tcGxldGVseSBtZXJnZWQgaW50byAlczoiCi1tc2dzdHIgItCS0LXRgtCy0LgsINC60L7RgtC+0YDRi9C1INC90LUg0L/QvtC70L3QvtGB0YLRjNGOINGB0LvQuNCy0LDRjtGC0YHRjyDRgSAlczoiCittc2dzdHIgItCS0LXRgtC60LgsINC60L7RgtC+0YDRi9C1INC90LUg0L/QvtC70L3QvtGB0YLRjNGOINGB0LvQuNCy0LDRjtGC0YHRjyDRgSAlczoiCiAKICM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoxMTUgbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoyMTcKIG1zZ2lkICIiCiAiUmVjb3ZlcmluZyBkZWxldGVkIGJyYW5jaGVzIGlzIGRpZmZpY3VsdC5cbiIKICJcbiIKICJEZWxldGUgdGhlIHNlbGVjdGVkIGJyYW5jaGVzPyIKLW1zZ3N0ciAiIgotItCS0L7RgdGB0YLQsNC90L7QstC40YLRjCDRg9C00LDQu9C10L3QvdGL0LUg0LLQtdGC0LLQuCDRgdC70L7QttC90L4uXG4iCi0iXG4iCi0i0J/RgNC+0LTQvtC70LbQuNGC0Yw/IgorbXNnc3RyICLQktC+0YHRgdGC0LDQvdC+0LLQuNGC0Ywg0YPQtNCw0LvQtdC90L3Ri9C1INCy0LXRgtC60Lgg0YHQu9C+0LbQvdC+LlxuXG7Qn9GA0L7QtNC+0LvQttC40YLRjD8iCiAKICM6IGxpYi9icmFuY2hfZGVsZXRlLnRjbDoxNDEKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIGRlbGV0ZSBicmFuY2hlczpcbiIKICIlcyIKLW1zZ3N0ciAiIgotItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0LLQtdGC0LLQuDpcbiIKLSIlcyIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDQstC10YLQutC4OlxuJXMiCiAKICM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxNCBsaWIvYnJhbmNoX3JlbmFtZS50Y2w6MjIKIG1zZ2lkICJSZW5hbWUgQnJhbmNoIgotbXNnc3RyICLQn9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC1INCy0LXRgtCy0LgiCittc2dzdHIgItCf0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40LUg0LLQtdGC0LrQuCIKIAogIzogbGliL2JyYW5jaF9yZW5hbWUudGNsOjI2CiBtc2dpZCAiUmVuYW1lIgpAQCAtODMzLDcgKzgwOCw3IEBACiAKICM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDozNgogbXNnaWQgIkJyYW5jaDoiCi1tc2dzdHIgItCS0LXRgtCy0Yw6IgorbXNnc3RyICLQktC10YLQutCwOiIKIAogIzogbGliL2JyYW5jaF9yZW5hbWUudGNsOjM5CiBtc2dpZCAiTmV3IE5hbWU6IgpAQCAtODQxLDIxICs4MTYsMjEgQEAKIAogIzogbGliL2JyYW5jaF9yZW5hbWUudGNsOjc1CiBtc2dpZCAiUGxlYXNlIHNlbGVjdCBhIGJyYW5jaCB0byByZW5hbWUuIgotbXNnc3RyICLQo9C60LDQttC40YLQtSDQstC10YLQstGMINC00LvRjyDQv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNGPLiIKK21zZ3N0ciAi0KPQutCw0LbQuNGC0LUg0LLQtdGC0LrRgyDQtNC70Y8g0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjRjy4iCiAKICM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDo5NiBsaWIvY2hlY2tvdXRfb3AudGNsOjIwMgogIywgdGNsLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGFscmVhZHkgZXhpc3RzLiIKLW1zZ3N0ciAi0JLQtdGC0LLRjCAnJXMnINGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgi4iCittc2dzdHIgItCS0LXRgtC60LAgwqslc8K7INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgi4iCiAKICM6IGxpYi9icmFuY2hfcmVuYW1lLnRjbDoxMTcKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVuYW1lICclcycuIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LjQvNC10L3QvtCy0LDRgtGMICclcycuICIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC40LzQtdC90L7QstCw0YLRjCDCqyVzwrsuICIKIAogIzogbGliL2Jyb3dzZXIudGNsOjE3CiBtc2dpZCAiU3RhcnRpbmcuLi4iCi1tc2dzdHIgItCX0LDQv9GD0YHQui4uLiIKK21zZ3N0ciAi0JfQsNC/0YPRgdC64oCmIgogCiAjOiBsaWIvYnJvd3Nlci50Y2w6MjYKIG1zZ2lkICJGaWxlIEJyb3dzZXIiCkBAIC04NjQsNyArODM5LDcgQEAKICM6IGxpYi9icm93c2VyLnRjbDoxMjYgbGliL2Jyb3dzZXIudGNsOjE0MwogIywgdGNsLWZvcm1hdAogbXNnaWQgIkxvYWRpbmcgJXMuLi4iCi1tc2dzdHIgItCX0LDQs9GA0YPQt9C60LAgJXMuLi4iCittc2dzdHIgItCX0LDQs9GA0YPQt9C60LAgJXPigKYiCiAKICM6IGxpYi9icm93c2VyLnRjbDoxODcKIG1zZ2lkICJbVXAgVG8gUGFyZW50XSIKQEAgLTg3Miw3ICs4NDcsNyBAQAogCiAjOiBsaWIvYnJvd3Nlci50Y2w6MjY3IGxpYi9icm93c2VyLnRjbDoyNzMKIG1zZ2lkICJCcm93c2UgQnJhbmNoIEZpbGVzIgotbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINGE0LDQudC70Ysg0LLQtdGC0LLQuCIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDRhNCw0LnQu9GLINCy0LXRgtC60LgiCiAKICM6IGxpYi9icm93c2VyLnRjbDoyNzggbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDozOTgKICM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDg2IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDk3CkBAIC04ODMsNyArODU4LDcgQEAKICM6IGxpYi9jaGVja291dF9vcC50Y2w6ODUKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlcyBmcm9tICVzIgotbXNnc3RyICLQn9C+0LvRg9GH0LXQvdC40LUgJXMg0LjQtyAlcyAiCittc2dzdHIgItCY0LfQstC70LXRh9C10L3QuNC1ICVzINC40LcgJXMgIgogCiAjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjEzMwogIywgdGNsLWZvcm1hdApAQCAtODk4LDEyICs4NzMsMTIgQEAKICM6IGxpYi9jaGVja291dF9vcC50Y2w6MTc1CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QuIgotbXNnc3RyICLQktC10YLQstGMICclcycg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgiAiCittc2dzdHIgItCS0LXRgtC60LAgwqslc8K7INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuIgogCiAjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjE5NAogIywgdGNsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjb25maWd1cmUgc2ltcGxpZmllZCBnaXQtcHVsbCBmb3IgJyVzJy4iCi1tc2dzdHIgItCe0YjQuNCx0LrQsCDRgdC+0LfQtNCw0L3QuNGPINGD0L/RgNC+0YnRkdC90L3QvtC5INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCBnaXQgcHVsbCDQtNC70Y8gJyVzJy4iCittc2dzdHIgItCe0YjQuNCx0LrQsCDRgdC+0LfQtNCw0L3QuNGPINGD0L/RgNC+0YnRkdC90L3QvtC5INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCBnaXQgcHVsbCDQtNC70Y8gwqslc8K7LiIKIAogIzogbGliL2NoZWNrb3V0X29wLnRjbDoyMjkKICMsIHRjbC1mb3JtYXQKQEAgLTkxMiwyMSArODg3LDE3IEBACiAiXG4iCiAiSXQgY2Fubm90IGZhc3QtZm9yd2FyZCB0byAlcy5cbiIKICJBIG1lcmdlIGlzIHJlcXVpcmVkLiIKLW1zZ3N0ciAiIgotItCS0LXRgtCy0YwgJyVzJyDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuXG4iCi0iXG4iCi0i0J7QvdCwINC90LUg0LzQvtC20LXRgiDQsdGL0YLRjCDQv9GA0L7QutGA0YPRh9C10L3QsChmYXN0LWZvcndhcmQpINC6ICVzLlxuIgotItCi0YDQtdCx0YPQtdGC0YHRjyDRgdC70LjRj9C90LjQtS4iCittc2dzdHIgItCS0LXRgtC60LAgwqslc8K7INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgi5cblxu0J7QvdCwINC90LUg0LzQvtC20LXRgiDQsdGL0YLRjCDQv9C10YDQtdC80L7RgtCw0L3QsCDQstC/0LXRgNC10LQg0LogJXMuXG7QotGA0LXQsdGD0LXRgtGB0Y8g0YHQu9C40Y/QvdC40LUuIgogCiAjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjI0MwogIywgdGNsLWZvcm1hdAogbXNnaWQgIk1lcmdlIHN0cmF0ZWd5ICclcycgbm90IHN1cHBvcnRlZC4iCi1tc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdCw0Y8g0YHRgtGA0LDRgtC10LPQuNGPINGB0LvQuNGP0L3QuNGPOiAnJXMnLiIKK21zZ3N0ciAi0J3QtdC40LfQstC10YHRgtC90LDRjyDRgdGC0YDQsNGC0LXQs9C40Y8g0YHQu9C40Y/QvdC40Y8gwqslc8K7LiIKIAogIzogbGliL2NoZWNrb3V0X29wLnRjbDoyNjIKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gdXBkYXRlICclcycuIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0YwgJyVzJy4iCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDCqyVzwrsuIgogCiAjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjI3NAogbXNnaWQgIlN0YWdpbmcgYXJlYSAoaW5kZXgpIGlzIGFscmVhZHkgbG9ja2VkLiIKQEAgLTkzNiwyMiArOTA3LDE1IEBACiBtc2dpZCAiIgogIkxhc3Qgc2Nhbm5lZCBzdGF0ZSBkb2VzIG5vdCBtYXRjaCByZXBvc2l0b3J5IHN0YXRlLlxuIgogIlxuIgotIkFub3RoZXIgR2l0IHByb2dyYW0gaGFzIG1vZGlmaWVkIHRoaXMgcmVwb3NpdG9yeSBzaW5jZSB0aGUgbGFzdCBzY2FuLiAgQSAiCi0icmVzY2FuIG11c3QgYmUgcGVyZm9ybWVkIGJlZm9yZSB0aGUgY3VycmVudCBicmFuY2ggY2FuIGJlIGNoYW5nZWQuXG4iCisiQW5vdGhlciBHaXQgcHJvZ3JhbSBoYXMgbW9kaWZpZWQgdGhpcyByZXBvc2l0b3J5IHNpbmNlIHRoZSBsYXN0IHNjYW4uICBBIHJlc2NhbiBtdXN0IGJlIHBlcmZvcm1lZCBiZWZvcmUgdGhlIGN1cnJlbnQgYnJhbmNoIGNhbiBiZSBjaGFuZ2VkLlxuIgogIlxuIgogIlRoZSByZXNjYW4gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHN0YXJ0ZWQgbm93LlxuIgotbXNnc3RyICIiCi0i0J/QvtGB0LvQtdC00L3QtdC1INC/0YDQvtGH0LjRgtCw0L3QvdC+0LUg0YHQvtGB0YLQvtGP0L3QuNC1INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8g0L3QtSDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0LXRgiDRgtC10LrRg9GJ0LXQvNGDLlxuIgotIlxuIgotItChINC80L7QvNC10L3RgtCwINC/0L7RgdC70LXQtNC90LXQuSDQv9GA0L7QstC10YDQutC4INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0LHRi9C7INC40LfQvNC10L3QtdC9INC00YDRg9Cz0L7QuSDQv9GA0L7Qs9GA0LDQvNC80L7QuSBHaXQuICIKLSLQndC10L7QsdGF0L7QtNC40LzQviDQv9C10YDQtdGH0LjRgtCw0YLRjCDRgNC10L/QvtC30LjRgtC+0YDQuNC5LCDQv9GA0LXQttC00LUg0YfQtdC8INC40LfQvNC10L3Rj9GC0Ywg0YLQtdC60YPRidGD0Y4g0LLQtdGC0LLRjC5cbiIKLSJcbiIKLSLQrdGC0L4g0LHRg9C00LXRgiDRgdC00LXQu9Cw0L3QviDRgdC10LnRh9Cw0YEg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LguXG4iCittc2dzdHIgItCf0L7RgdC70LXQtNC90LXQtSDQv9GA0L7Rh9C40YLQsNC90L3QvtC1INGB0L7RgdGC0L7Rj9C90LjQtSDRgNC10L/QvtC30LjRgtC+0YDQuNGPINC90LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9C10YIg0YLQtdC60YPRidC10LzRgy5cblxu0KEg0LzQvtC80LXQvdGC0LAg0L/QvtGB0LvQtdC00L3QtdC5INC/0YDQvtCy0LXRgNC60Lgg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDQsdGL0Lsg0LjQt9C80LXQvdC10L0g0LTRgNGD0LPQvtC5INC/0YDQvtCz0YDQsNC80LzQvtC5IEdpdC4g0J3QtdC+0LHRhdC+0LTQuNC80L4g0L/QtdGA0LXRh9C40YLQsNGC0Ywg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSwg0L/RgNC10LbQtNC1INGH0LXQvCDRgtC10LrRg9GJ0LDRjyDQstC10YLQutCwINC80L7QttC10YIg0LHRi9GC0Ywg0LjQt9C80LXQvdC10L3QsC5cblxu0K3RgtC+INCx0YPQtNC10YIg0YHQtNC10LvQsNC90L4g0YHQtdC50YfQsNGBINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4LlxuIgogCiAjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjM0NQogIywgdGNsLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5IHRvICclcycuLi4iCi1tc2dzdHIgItCe0LHQvdC+0LLQu9C10L3QuNC1INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCDQuNC3ICclcycuLi4iCittc2dzdHIgItCe0LHQvdC+0LLQu9C10L3QuNC1INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCDQuNC3IMKrJXPCu+KApiIKIAogIzogbGliL2NoZWNrb3V0X29wLnRjbDozNDYKIG1zZ2lkICJmaWxlcyBjaGVja2VkIG91dCIKQEAgLTk2MCw3ICs5MjQsNyBAQAogIzogbGliL2NoZWNrb3V0X29wLnRjbDozNzYKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJBYm9ydGVkIGNoZWNrb3V0IG9mICclcycgKGZpbGUgbGV2ZWwgbWVyZ2luZyBpcyByZXF1aXJlZCkuIgotbXNnc3RyICLQn9GA0LXRgNCy0LDQvSDQv9C10YDQtdGF0L7QtCDQvdCwICclcycgKNGC0YDQtdCx0YPQtdGC0YHRjyDRgdC70LjRj9C90LjQtSDRgdC+0LTQtdGA0LbQsNC90LjRjyDRhNCw0LnQu9C+0LIpIgorbXNnc3RyICLQn9GA0LXRgNCy0LDQvSDQv9C10YDQtdGF0L7QtCDQvdCwIMKrJXPCuyAo0YLRgNC10LHRg9C10YLRgdGPINGB0LvQuNGP0L3QuNC1INGB0L7QtNC10YDQttC40LzQvtCz0L4g0YTQsNC50LvQvtCyKSIKIAogIzogbGliL2NoZWNrb3V0X29wLnRjbDozNzcKIG1zZ2lkICJGaWxlIGxldmVsIG1lcmdlIHJlcXVpcmVkLiIKQEAgLTk2OSwzOCArOTMzLDMzIEBACiAjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjM4MQogIywgdGNsLWZvcm1hdAogbXNnaWQgIlN0YXlpbmcgb24gYnJhbmNoICclcycuIgotbXNnc3RyICLQktC10YLQstGMICclcycg0L7RgdGC0LDQtdGC0YHRjyDRgtC10LrRg9GJ0LXQuS4iCittc2dzdHIgItCS0LXRgtC60LAgwqslc8K7INC+0YHRgtCw0ZHRgtGB0Y8g0YLQtdC60YPRidC10LkuIgogCiAjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjQ1MgogbXNnaWQgIiIKICJZb3UgYXJlIG5vIGxvbmdlciBvbiBhIGxvY2FsIGJyYW5jaC5cbiIKICJcbiIKLSJJZiB5b3Ugd2FudGVkIHRvIGJlIG9uIGEgYnJhbmNoLCBjcmVhdGUgb25lIG5vdyBzdGFydGluZyBmcm9tICdUaGlzIERldGFjaGVkICIKLSJDaGVja291dCcuIgotbXNnc3RyICIiCi0i0JLRiyDQvdCw0YXQvtC00LjRgtC10YHRjCDQvdC1INCyINC70L7QutCw0LvRjNC90L7QuSDQstC10YLQstC4LlxuIgotIlxuIgotItCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1INGB0L3QvtCy0LAg0LLQtdGA0L3Rg9GC0YzRgdGPINC6INC60LDQutC+0Lkt0L3QuNCx0YPQtNGMINCy0LXRgtCy0LgsINGB0L7Qt9C00LDQudGC0LUg0LXQtSDRgdC10LnRh9Cw0YEsICIKLSLQvdCw0YfQuNC90LDRjyDRgSAn0KLQtdC60YPRidC10LPQviDQvtGC0YHQvtC10LTQuNC90LXQvdC90L7Qs9C+INGB0L7RgdGC0L7Rj9C90LjRjycuIgorIklmIHlvdSB3YW50ZWQgdG8gYmUgb24gYSBicmFuY2gsIGNyZWF0ZSBvbmUgbm93IHN0YXJ0aW5nIGZyb20gJ1RoaXMgRGV0YWNoZWQgQ2hlY2tvdXQnLiIKK21zZ3N0ciAi0JLRiyDQsdC+0LvQtdC1INC90LUg0L3QsNGF0L7QtNC40YLQtdGB0Ywg0L3QsCDQu9C+0LrQsNC70YzQvdC+0Lkg0LLQtdGC0LrQtS5cblxu0JXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUg0YHQvdC+0LLQsCDQstC10YDQvdGD0YLRjNGB0Y8g0Log0LrQsNC60L7QuS3QvdC40LHRg9C00Ywg0LLQtdGC0LrQtSwg0YHQvtC30LTQsNC50YLQtSDQtdGRINGB0LXQudGH0LDRgSwg0L3QsNGH0LjQvdCw0Y8g0YEgwqvQotC10LrRg9GJ0LXQs9C+INC+0YLRgdC+0LXQtNC40L3QtdC90L3QvtCz0L4g0YHQvtGB0YLQvtGP0L3QuNGPwrsuIgogCiAjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjUwMyBsaWIvY2hlY2tvdXRfb3AudGNsOjUwNwogIywgdGNsLWZvcm1hdAogbXNnaWQgIkNoZWNrZWQgb3V0ICclcycuIgotbXNnc3RyICLQktC10YLQstGMICclcycg0YHQtNC10LvQsNC90LAg0YLQtdC60YPRidC10LkuIgorbXNnc3RyICLQktGL0L/QvtC70L3QtdC9INC/0LXRgNC10YXQvtC0INC90LAgwqslc8K7LiIKIAogIzogbGliL2NoZWNrb3V0X29wLnRjbDo1MzUKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJSZXNldHRpbmcgJyVzJyB0byAnJXMnIHdpbGwgbG9zZSB0aGUgZm9sbG93aW5nIGNvbW1pdHM6IgotbXNnc3RyICLQodCx0YDQvtGBICclcycg0LIgJyVzJyDQv9GA0LjQstC10LTQtdGCINC6INC/0L7RgtC10YDQtSDRgdC70LXQtNGD0Y7RidC40YUg0YHQvtGF0YDQsNC90LXQvdC90YvRhSDRgdC+0YHRgtC+0Y/QvdC40Lk6ICIKK21zZ3N0ciAi0KHQsdGA0L7RgSDCqyVzwrsgINC90LAgwqslc8K7INC/0YDQuNCy0LXQtNC10YIg0Log0L/QvtGC0LXRgNC1INGB0LvQtdC00YPRjtGJ0LjRhSDQutC+0LzQvNC40YLQvtCyOiIKIAogIzogbGliL2NoZWNrb3V0X29wLnRjbDo1NTcKIG1zZ2lkICJSZWNvdmVyaW5nIGxvc3QgY29tbWl0cyBtYXkgbm90IGJlIGVhc3kuIgotbXNnc3RyICLQktC+0YHRgdGC0LDQvdC+0LLQuNGC0Ywg0L/QvtGC0LXRgNGP0L3QvdGL0LUg0YHQvtGF0YDQsNC90LXQvdC90YvQtSDRgdC+0YHRgtC+0Y/QvdC40Y8g0LHRg9C00LXRgiDRgdC70L7QttC90L4uIgorbXNnc3RyICLQktC+0YHRgdGC0LDQvdC+0LLQuNGC0Ywg0L/QvtGC0LXRgNGP0L3QvdGL0LUg0LrQvtC80LzQuNGC0Ysg0LHRg9C00LXRgiDRgdC70L7QttC90L4uIgogCiAjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjU2MgogIywgdGNsLWZvcm1hdAogbXNnaWQgIlJlc2V0ICclcyc/IgotbXNnc3RyICLQodCx0YDQvtGB0LjRgtGMICclcyc/IgorbXNnc3RyICLQodCx0YDQvtGB0LjRgtGMIMKrJXPCuz8iCiAKICM6IGxpYi9jaGVja291dF9vcC50Y2w6NTY3IGxpYi9tZXJnZS50Y2w6MTY0IGxpYi90b29sc19kbGcudGNsOjM0MwogbXNnaWQgIlZpc3VhbGl6ZSIKQEAgLTEwMTEsMTcgKzk3MCwxMCBAQAogbXNnaWQgIiIKICJGYWlsZWQgdG8gc2V0IGN1cnJlbnQgYnJhbmNoLlxuIgogIlxuIgotIlRoaXMgd29ya2luZyBkaXJlY3RvcnkgaXMgb25seSBwYXJ0aWFsbHkgc3dpdGNoZWQuICBXZSBzdWNjZXNzZnVsbHkgdXBkYXRlZCAiCi0ieW91ciBmaWxlcywgYnV0IGZhaWxlZCB0byB1cGRhdGUgYW4gaW50ZXJuYWwgR2l0IGZpbGUuXG4iCisiVGhpcyB3b3JraW5nIGRpcmVjdG9yeSBpcyBvbmx5IHBhcnRpYWxseSBzd2l0Y2hlZC4gIFdlIHN1Y2Nlc3NmdWxseSB1cGRhdGVkIHlvdXIgZmlsZXMsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIGFuIGludGVybmFsIEdpdCBmaWxlLlxuIgogIlxuIgogIlRoaXMgc2hvdWxkIG5vdCBoYXZlIG9jY3VycmVkLiAgJXMgd2lsbCBub3cgY2xvc2UgYW5kIGdpdmUgdXAuIgotbXNnc3RyICIiCi0i0J3QtSDRg9C00LDQu9C+0YHRjCDRg9GB0YLQsNC90L7QstC40YLRjCDRgtC10LrRg9GJ0YPRjiDQstC10YLQstGMLlxuIgotIlxuIgotItCS0LDRiCDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDQvtCx0L3QvtCy0LvQtdC9INGC0L7Qu9GM0LrQviDRh9Cw0YHRgtC40YfQvdC+LiDQkdGL0LvQuCDQvtCx0L3QvtCy0LvQtdC90Ysg0LLRgdC1INGE0LDQudC70Ysg0LrRgNC+0LzQtSAiCi0i0YHQu9GD0LbQtdCx0L3Ri9GFINGE0LDQudC70L7QsiBHaXQuIFxuIgotIlxuIgotItCt0YLQvtCz0L4g0L3QtSDQtNC+0LvQttC90L4g0LHRi9C70L4g0L/RgNC+0LjQt9C+0LnRgtC4LiAlcyDQt9Cw0LLQtdGA0YjQsNC10YLRgdGPLiIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRg9GB0YLQsNC90L7QstC40YLRjCDRgtC10LrRg9GJ0YPRjiDQstC10YLQutGDLlxuXG7QktCw0Ygg0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMg0L7QsdC90L7QstC70ZHQvSDRgtC+0LvRjNC60L4g0YfQsNGB0YLQuNGH0L3Qvi4g0JHRi9C70Lgg0L7QsdC90L7QstC70LXQvdGLINCy0YHQtSDRhNCw0LnQu9GLINC60YDQvtC80LUg0YHQu9GD0LbQtdCx0L3Ri9GFINGE0LDQudC70L7QsiBHaXQuIFxuXG7QrdGC0L7Qs9C+INC90LUg0LTQvtC70LbQvdC+INCx0YvQu9C+INC/0YDQvtC40LfQvtC50YLQuC4gJXMg0LfQsNCy0LXRgNGI0LDQtdGC0YHRjy4iCiAKICM6IGxpYi9jaG9vc2VfZm9udC50Y2w6MzkKIG1zZ2lkICJTZWxlY3QiCkBAIC0xMDQzLDkgKzk5NSw3IEBACiBtc2dpZCAiIgogIlRoaXMgaXMgZXhhbXBsZSB0ZXh0LlxuIgogIklmIHlvdSBsaWtlIHRoaXMgdGV4dCwgaXQgY2FuIGJlIHlvdXIgZm9udC4iCi1tc2dzdHIgIiIKLSLQrdGC0L4g0L/RgNC40LzQtdGAINGC0LXQutGB0YLQsC5cbiIKLSLQldGB0LvQuCDQktCw0Lwg0L3RgNCw0LLQuNGC0YHRjyDRjdGC0L7RgiDRgtC10LrRgdGCLCDRjdGC0L4g0LzQvtC20LXRgiDQsdGL0YLRjCDQktCw0Ygg0YjRgNC40YTRgi4iCittc2dzdHIgItCt0YLQviDQv9GA0LjQvNC10YAg0YLQtdC60YHRgtCwLlxu0JXRgdC70Lgg0JLQsNC8INC90YDQsNCy0LjRgtGB0Y8g0Y3RgtC+0YIg0YLQtdC60YHRgiwg0Y3RgtC+INC80L7QttC10YIg0LHRi9GC0Ywg0JLQsNGIINGI0YDQuNGE0YIuIgogCiAjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjI4CiBtc2dpZCAiR2l0IEd1aSIKQEAgLTEwNTcsNyArMTAwNyw3IEBACiAKICM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTMKIG1zZ2lkICJOZXcuLi4iCi1tc2dzdHIgItCd0L7QstGL0LkuLi4iCittc2dzdHIgItCd0L7QstGL0LnigKYiCiAKICM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTAwIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NDcxCiBtc2dpZCAiQ2xvbmUgRXhpc3RpbmcgUmVwb3NpdG9yeSIKQEAgLTEwNjUsNyArMTAxNSw3IEBACiAKICM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTA2CiBtc2dpZCAiQ2xvbmUuLi4iCi1tc2dzdHIgItCh0LrQu9C+0L3QuNGA0L7QstCw0YLRjC4uLiIKK21zZ3N0ciAi0JrQu9C+0L3QuNGA0L7QstCw0YLRjOKApiIKIAogIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMTMgbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMDE2CiBtc2dpZCAiT3BlbiBFeGlzdGluZyBSZXBvc2l0b3J5IgpAQCAtMTA3Myw3ICsxMDIzLDcgQEAKIAogIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDoxMTkKIG1zZ2lkICJPcGVuLi4uIgotbXNnc3RyICLQntGC0LrRgNGL0YLRjC4uLiIKK21zZ3N0ciAi0J7RgtC60YDRi9GC0YzigKYiCiAKICM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6MTMyCiBtc2dpZCAiUmVjZW50IFJlcG9zaXRvcmllcyIKQEAgLTExMjYsNyArMTA3Niw3IEBACiAKICM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NTA4CiBtc2dpZCAiU3RhbmRhcmQgKEZhc3QsIFNlbWktUmVkdW5kYW50LCBIYXJkbGlua3MpIgotbXNnc3RyICLQodGC0LDQvdC00LDRgNGC0L3Ri9C5ICjQkdGL0YHRgtGA0YvQuSwg0L/QvtC70YPQuNC30LHRi9GC0L7Rh9C90YvQuSwgXCLQttC10YHRgtC60LjQtVwiINGB0YHRi9C70LrQuCkiCittc2dzdHIgItCh0YLQsNC90LTQsNGA0YLQvdGL0LkgKNCR0YvRgdGC0YDRi9C5LCDQv9C+0LvRg9C40LfQsdGL0YLQvtGH0L3Ri9C5LCDCq9C20LXRgdGC0LrQuNC1wrsg0YHRgdGL0LvQutC4KSIKIAogIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo1MTQKIG1zZ2lkICJGdWxsIENvcHkgKFNsb3dlciwgUmVkdW5kYW50IEJhY2t1cCkiCkBAIC0xMTY2LDcgKzExMTYsNyBAQAogCiAjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjY0MQogbXNnaWQgImJ1Y2tldHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0LHQu9C+0LrQuCIKIAogIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo2NjUKICMsIHRjbC1mb3JtYXQKQEAgLTExODEsMTEgKzExMzEsMTEgQEAKICM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6NzAzIGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTE3CiAjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjkyOQogbXNnaWQgIlRoZSAnbWFzdGVyJyBicmFuY2ggaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkLiIKLW1zZ3N0ciAi0J3QtSDQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0L3QsCDQstC10YLQstGMICdtYXN0ZXInLiIKK21zZ3N0ciAi0J3QtSDQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0L3QsCDQstC10YLQstGMIMKrbWFzdGVywrsuIgogCiAjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjcxNgogbXNnaWQgIkhhcmRsaW5rcyBhcmUgdW5hdmFpbGFibGUuICBGYWxsaW5nIGJhY2sgdG8gY29weWluZy4iCi1tc2dzdHIgIlwi0JbQtdGB0YLQutC40LUg0YHRgdGL0LvQutC4XCIg0L3QtdC00L7RgdGC0YPQv9C90YsuINCR0YPQtNC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC+INC60L7Qv9C40YDQvtCy0LDQvdC40LUuIgorbXNnc3RyICLCq9CW0LXRgdGC0LrQuNC1INGB0YHRi9C70LrQuMK7INC90LXQtNC+0YHRgtGD0L/QvdGLLiDQkdGD0LTQtdGCINC40YHQv9C+0LvRjNC30L7QstCw0L3QviDQutC+0L/QuNGA0L7QstCw0L3QuNC1LiIKIAogIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo3MjgKICMsIHRjbC1mb3JtYXQKQEAgLTEyMTYsMTYgKzExNjYsMTUgQEAKICM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6ODAzCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGhhcmRsaW5rIG9iamVjdDogJXMiCi1tc2dzdHIgItCd0LUg0LzQvtCz0YMgXCLQttC10YHRgtC60L4g0YHQstGP0LfQsNGC0YxcIiDQvtCx0YrQtdC60YI6ICVzIgorbXNnc3RyICLQndC1INC80L7Qs9GDINGB0L7Qt9C00LDRgtGMIMKr0LbQtdGB0YLQutGD0Y4g0YHRgdGL0LvQutGDwrsg0L3QsCDQvtCx0YrQtdC60YI6ICVzIgogCiAjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjg1OAogbXNnaWQgIkNhbm5vdCBmZXRjaCBicmFuY2hlcyBhbmQgb2JqZWN0cy4gIFNlZSBjb25zb2xlIG91dHB1dCBmb3IgZGV0YWlscy4iCi1tc2dzdHIgIiIKLSLQndC1INC80L7Qs9GDINC/0L7Qu9GD0YfQuNGC0Ywg0LLQtdGC0LLQuCDQuCDQvtCx0YrQtdC60YLRiy4g0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90LDRjyDQuNC90YTQvtGA0LzQsNGG0LjRjyDQvdCwINC60L7QvdGB0L7Qu9C4LiIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQuNC30LLQu9C10YfRjCDQstC10YLQutC4INC4INC+0LHRitC10LrRgtGLLiDQlNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINC90LAg0LrQvtC90YHQvtC70LguIgogCiAjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjg2OQogbXNnaWQgIkNhbm5vdCBmZXRjaCB0YWdzLiAgU2VlIGNvbnNvbGUgb3V0cHV0IGZvciBkZXRhaWxzLiIKLW1zZ3N0ciAi0J3QtSDQvNC+0LPRgyDQv9C+0LvRg9GH0LjRgtGMINC80LXRgtC60LguINCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdCw0Y8g0LjQvdGE0L7RgNC80LDRhtC40Y8g0L3QsCDQutC+0L3RgdC+0LvQuC4iCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LjQt9Cy0LvQtdGH0Ywg0LzQtdGC0LrQuC4g0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90LDRjyDQuNC90YTQvtGA0LzQsNGG0LjRjyDQvdCwINC60L7QvdGB0L7Qu9C4LiIKIAogIzogbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbDo4OTMKIG1zZ2lkICJDYW5ub3QgZGV0ZXJtaW5lIEhFQUQuICBTZWUgY29uc29sZSBvdXRwdXQgZm9yIGRldGFpbHMuIgpAQCAtMTI0MiwxMiArMTE5MSwxMiBAQAogCiAjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjkxNQogbXNnaWQgIk5vIGRlZmF1bHQgYnJhbmNoIG9idGFpbmVkLiIKLW1zZ3N0ciAi0J3QtSDQsdGL0LvQviDQv9C+0LvRg9GH0LXQvdC+INCy0LXRgtCy0Lgg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4uIgorbXNnc3RyICLQktC10YLQutCwINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINC90LUg0LHRi9C70LAg0L/QvtC70YPRh9C10L3QsC4iCiAKICM6IGxpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2w6OTI2CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHJlc29sdmUgJXMgYXMgYSBjb21taXQuIgotbXNnc3RyICLQndC1INC80L7Qs9GDINGA0LDRgdC/0L7Qt9C90LDRgtGMICVzINC60LDQuiDRgdC+0YHRgtC+0Y/QvdC40LUuIgorbXNnc3RyICLQndC1INC80L7Qs9GDINGA0LDRgdC/0L7Qt9C90LDRgtGMICVzINC60LDQuiDQutC+0LzQvNC40YIuIgogCiAjOiBsaWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsOjkzOAogbXNnaWQgIkNyZWF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5IgpAQCAtMTI4NSwxMSArMTIzNCwxMSBAQAogCiAjOiBsaWIvY2hvb3NlX3Jldi50Y2w6NzQKIG1zZ2lkICJMb2NhbCBCcmFuY2giCi1tc2dzdHIgItCb0L7QutCw0LvRjNC90LDRjyDQstC10YLQstGMOiIKK21zZ3N0ciAi0JvQvtC60LDQu9GM0L3QsNGPINCy0LXRgtC60LA6IgogCiAjOiBsaWIvY2hvb3NlX3Jldi50Y2w6NzkKIG1zZ2lkICJUcmFja2luZyBCcmFuY2giCi1tc2dzdHIgItCS0LXRgtCy0Ywg0YHQu9C10LbQtdC90LjRjyIKK21zZ3N0ciAi0J7RgtGB0LvQtdC20LjQstCw0LXQvNCw0Y8g0LLQtdGC0LrQsCIKIAogIzogbGliL2Nob29zZV9yZXYudGNsOjg0IGxpYi9jaG9vc2VfcmV2LnRjbDo1MzgKIG1zZ2lkICJUYWciCkBAIC0xMzIwLDI5ICsxMjY5LDE5IEBACiBtc2dpZCAiIgogIlRoZXJlIGlzIG5vdGhpbmcgdG8gYW1lbmQuXG4iCiAiXG4iCi0iWW91IGFyZSBhYm91dCB0byBjcmVhdGUgdGhlIGluaXRpYWwgY29tbWl0LiAgVGhlcmUgaXMgbm8gY29tbWl0IGJlZm9yZSB0aGlzICIKLSJ0byBhbWVuZC5cbiIKLW1zZ3N0ciAiIgotItCe0YLRgdGD0YLRgdGC0LLRg9C10YIg0YHQvtGB0YLQvtGP0L3QuNC1INC00LvRjyDQuNGB0L/RgNCw0LLQu9C10L3QuNGPLlxuIgotIlxuIgotItCS0Ysg0YHQvtC30LTQsNC10YLQtSDQv9C10YDQstC+0LUg0YHQvtGB0YLQvtGP0L3QuNC1INCyINGA0LXQv9C+0LfQuNGC0L7RgNC40LgsINC30LTQtdGB0Ywg0LXRidC1INC90LXRh9C10LPQviDQuNGB0L/RgNCw0LLQu9GP0YLRjC5cbiIKKyJZb3UgYXJlIGFib3V0IHRvIGNyZWF0ZSB0aGUgaW5pdGlhbCBjb21taXQuICBUaGVyZSBpcyBubyBjb21taXQgYmVmb3JlIHRoaXMgdG8gYW1lbmQuXG4iCittc2dzdHIgItCe0YLRgdGD0YLRgdGC0LLRg9C10YIg0LrQvtC80LzQuNGC0Ysg0LTQu9GPINC40YHQv9GA0LDQstC70LXQvdC40Y8uXG5cbtCS0Ysg0YHQvtC30LTQsNC10YLQtSDQvdCw0YfQsNC70YzQvdGL0Lkg0LrQvtC80LzQuNGCLCDQt9C00LXRgdGMINC10YnQtSDQvdC10YfQtdCz0L4g0LjRgdC/0YDQsNCy0LvRj9GC0YwuXG4iCiAKICM6IGxpYi9jb21taXQudGNsOjE4CiBtc2dpZCAiIgogIkNhbm5vdCBhbWVuZCB3aGlsZSBtZXJnaW5nLlxuIgogIlxuIgotIllvdSBhcmUgY3VycmVudGx5IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSB0aGF0IGhhcyBub3QgYmVlbiBmdWxseSAiCi0iY29tcGxldGVkLiAgWW91IGNhbm5vdCBhbWVuZCB0aGUgcHJpb3IgY29tbWl0IHVubGVzcyB5b3UgZmlyc3QgYWJvcnQgdGhlICIKLSJjdXJyZW50IG1lcmdlIGFjdGl2aXR5LlxuIgotbXNnc3RyICIiCi0i0J3QtdCy0L7Qt9C80L7QttC90L4g0LjRgdC/0YDQsNCy0LjRgtGMINGB0L7RgdGC0L7Rj9C90LjQtSDQstC+INCy0YDQtdC80Y8g0L7Qv9C10YDQsNGG0LjQuCDRgdC70LjRj9C90LjRjy5cbiIKLSJcbiIKLSLQotC10LrRg9GJ0LXQtSDRgdC70LjRj9C90LjQtSDQvdC1INC30LDQstC10YDRiNC10L3Qvi4g0J3QtdCy0L7Qt9C80L7QttC90L4g0LjRgdC/0YDQsNCy0LjRgtGMINC/0YDQtdC00YvQtNGD0YnQtdC1INGB0L7RhdGA0LDQvdC10L3QvdC+0LUgIgotItGB0L7RgdGC0L7Rj9C90LjQtSwg0L3QtSDQv9GA0LXRgNGL0LLQsNGPINGN0YLRgyDQvtC/0LXRgNCw0YbQuNGOLlxuIgorIllvdSBhcmUgY3VycmVudGx5IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSB0aGF0IGhhcyBub3QgYmVlbiBmdWxseSBjb21wbGV0ZWQuICBZb3UgY2Fubm90IGFtZW5kIHRoZSBwcmlvciBjb21taXQgdW5sZXNzIHlvdSBmaXJzdCBhYm9ydCB0aGUgY3VycmVudCBtZXJnZSBhY3Rpdml0eS5cbiIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LjRgdC/0YDQsNCy0LjRgtGMINC60L7QvNC80LjRgiDQstC+INCy0YDQtdC80Y8g0YHQu9C40Y/QvdC40Y8uXG5cbtCi0LXQutGD0YnQtdC1INGB0LvQuNGP0L3QuNC1INC90LUg0LfQsNCy0LXRgNGI0LXQvdC+LiDQndC10LLQvtC30LzQvtC20L3QviDQuNGB0L/RgNCw0LLQuNGC0Ywg0L/RgNC10LTRi9C00YPQuNC5INC60L7QvNC80LjRgiwg0L3QtSDQv9GA0LXRgNGL0LLQsNGPINGN0YLRgyDQvtC/0LXRgNCw0YbQuNGOLlxuIgogCiAjOiBsaWIvY29tbWl0LnRjbDo0OAogbXNnaWQgIkVycm9yIGxvYWRpbmcgY29tbWl0IGRhdGEgZm9yIGFtZW5kOiIKLW1zZ3N0ciAi0J7RiNC40LHQutCwINC/0YDQuCDQt9Cw0LPRgNGD0LfQutC1INC00LDQvdC90YvRhSDQtNC70Y8g0LjRgdC/0YDQsNCy0LvQtdC90LjRjyDRgdC+0YXRgNCw0L3QtdC90L3QvtCz0L4g0YHQvtGB0YLQvtGP0L3QuNGPOiIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC/0YDQuCDQt9Cw0LPRgNGD0LfQutC1INC00LDQvdC90YvRhSDQtNC70Y8g0LjRgdC/0YDQsNCy0LvQtdC90LjRjyDQutC+0LzQvNC40YLQsDoiCiAKICM6IGxpYi9jb21taXQudGNsOjc1CiBtc2dpZCAiVW5hYmxlIHRvIG9idGFpbiB5b3VyIGlkZW50aXR5OiIKQEAgLTEzNTAsNDEgKzEyODksMjkgQEAKIAogIzogbGliL2NvbW1pdC50Y2w6ODAKIG1zZ2lkICJJbnZhbGlkIEdJVF9DT01NSVRURVJfSURFTlQ6IgotbXNnc3RyICLQndC10LLQtdGA0L3Ri9C5IEdJVF9DT01NSVRURVJfSURFTlQ6IgorbXNnc3RyICLQndC10LTQvtC/0YPRgdGC0LjQvNGL0LkgR0lUX0NPTU1JVFRFUl9JREVOVDoiCiAKICM6IGxpYi9jb21taXQudGNsOjEyOQogIywgdGNsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IFRjbCBkb2VzIG5vdCBzdXBwb3J0IGVuY29kaW5nICclcycuIgotbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiBUY2wg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0LrQvtC00LjRgNC+0LLQutGDICclcycuIgorbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiBUY2wg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0LrQvtC00LjRgNC+0LLQutGDIMKrJXPCuy4iCiAKICM6IGxpYi9jb21taXQudGNsOjE0OQogbXNnaWQgIiIKICJMYXN0IHNjYW5uZWQgc3RhdGUgZG9lcyBub3QgbWF0Y2ggcmVwb3NpdG9yeSBzdGF0ZS5cbiIKICJcbiIKLSJBbm90aGVyIEdpdCBwcm9ncmFtIGhhcyBtb2RpZmllZCB0aGlzIHJlcG9zaXRvcnkgc2luY2UgdGhlIGxhc3Qgc2Nhbi4gIEEgIgotInJlc2NhbiBtdXN0IGJlIHBlcmZvcm1lZCBiZWZvcmUgYW5vdGhlciBjb21taXQgY2FuIGJlIGNyZWF0ZWQuXG4iCisiQW5vdGhlciBHaXQgcHJvZ3JhbSBoYXMgbW9kaWZpZWQgdGhpcyByZXBvc2l0b3J5IHNpbmNlIHRoZSBsYXN0IHNjYW4uICBBIHJlc2NhbiBtdXN0IGJlIHBlcmZvcm1lZCBiZWZvcmUgYW5vdGhlciBjb21taXQgY2FuIGJlIGNyZWF0ZWQuXG4iCiAiXG4iCiAiVGhlIHJlc2NhbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc3RhcnRlZCBub3cuXG4iCi1tc2dzdHIgIiIKLSLQn9C+0YHQu9C10LTQvdC10LUg0L/RgNC+0YfQuNGC0LDQvdC90L7QtSDRgdC+0YHRgtC+0Y/QvdC40LUg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyDQvdC1INGB0L7QvtGC0LLQtdGC0YHRgtCy0YPQtdGCINGC0LXQutGD0YnQtdC80YMuXG4iCi0iXG4iCi0i0KEg0LzQvtC80LXQvdGC0LAg0L/QvtGB0LvQtdC00L3QtdC5INC/0YDQvtCy0LXRgNC60Lgg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDQsdGL0Lsg0LjQt9C80LXQvdC10L0g0LTRgNGD0LPQvtC5INC/0YDQvtCz0YDQsNC80LzQvtC5IEdpdC4gIgotItCd0LXQvtCx0YXQvtC00LjQvNC+INC/0LXRgNC10YfQuNGC0LDRgtGMINGA0LXQv9C+0LfQuNGC0L7RgNC40LksINC/0YDQtdC20LTQtSDRh9C10Lwg0LjQt9C80LXQvdGP0YLRjCDRgtC10LrRg9GJ0YPRjiDQstC10YLQstGMLiBcbiIKLSJcbiIKLSLQrdGC0L4g0LHRg9C00LXRgiDRgdC00LXQu9Cw0L3QviDRgdC10LnRh9Cw0YEg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LguXG4iCittc2dzdHIgItCf0L7RgdC70LXQtNC90LXQtSDQv9GA0L7Rh9C40YLQsNC90L3QvtC1INGB0L7RgdGC0L7Rj9C90LjQtSDRgNC10L/QvtC30LjRgtC+0YDQuNGPINC90LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9C10YIg0YLQtdC60YPRidC10LzRgy5cblxu0KEg0LzQvtC80LXQvdGC0LAg0L/QvtGB0LvQtdC00L3QtdC5INC/0YDQvtCy0LXRgNC60Lgg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDQsdGL0Lsg0LjQt9C80LXQvdC10L0g0LTRgNGD0LPQvtC5INC/0YDQvtCz0YDQsNC80LzQvtC5IEdpdC4g0J3QtdC+0LHRhdC+0LTQuNC80L4g0L/QtdGA0LXRh9C40YLQsNGC0Ywg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSwg0L/RgNC10LbQtNC1INGH0LXQvCDQuNC30LzQtdC90Y/RgtGMINGC0LXQutGD0YnRg9GOINCy0LXRgtCy0YwuIFxuXG7QrdGC0L4g0LHRg9C00LXRgiDRgdC00LXQu9Cw0L3QviDRgdC10LnRh9Cw0YEg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LguXG4iCiAKICM6IGxpYi9jb21taXQudGNsOjE3MgogIywgdGNsLWZvcm1hdAogbXNnaWQgIiIKICJVbm1lcmdlZCBmaWxlcyBjYW5ub3QgYmUgY29tbWl0dGVkLlxuIgogIlxuIgotIkZpbGUgJXMgaGFzIG1lcmdlIGNvbmZsaWN0cy4gIFlvdSBtdXN0IHJlc29sdmUgdGhlbSBhbmQgc3RhZ2UgdGhlIGZpbGUgIgotImJlZm9yZSBjb21taXR0aW5nLlxuIgotbXNnc3RyICIiCi0i0J3QtdC70YzQt9GPINGB0L7RhdGA0LDQvdC40YLRjCDRhNCw0LnQu9GLINGBINC90LXQt9Cw0LLQtdGA0YjRkdC90L3QvtC5INC+0L/QtdGA0LDRhtC40LXQuSDRgdC70LjRj9C90LjRjy5cbiIKLSJcbiIKLSLQlNC70Y8g0YTQsNC50LvQsCAlcyDQstC+0LfQvdC40Log0LrQvtC90YTQu9C40LrRgiDRgdC70LjRj9C90LjRjy4g0KDQsNC30YDQtdGI0LjRgtC1INC60L7QvdGE0LvQuNC60YIg0Lgg0LTQvtCx0LDQstGM0YLQtSDQuiAiCi0i0L/QvtC00LPQvtGC0L7QstC70LXQvdC90YvQvCDRhNCw0LnQu9Cw0Lwg0L/QtdGA0LXQtCDRgdC+0YXRgNCw0L3QtdC90LjQtdC8LlxuIgorIkZpbGUgJXMgaGFzIG1lcmdlIGNvbmZsaWN0cy4gIFlvdSBtdXN0IHJlc29sdmUgdGhlbSBhbmQgc3RhZ2UgdGhlIGZpbGUgYmVmb3JlIGNvbW1pdHRpbmcuXG4iCittc2dzdHIgItCd0LXQu9GM0LfRjyDQstGL0L/QvtC70L3QuNGC0Ywg0LrQvtC80LzQuNGCINGBINC90LXQt9Cw0LLQtdGA0YjRkdC90L3QvtC5INC+0L/QtdGA0LDRhtC40LXQuSDRgdC70LjRj9C90LjRjy5cblxu0JTQu9GPINGE0LDQudC70LAgJXMg0LLQvtC30L3QuNC6INC60L7QvdGE0LvQuNC60YIg0YHQu9C40Y/QvdC40Y8uINCg0LDQt9GA0LXRiNC40YLQtSDQutC+0L3RhNC70LjQutGCINC4INC00L7QsdCw0LLRjNGC0LUg0LjRhSDQsiDQuNC90LTQtdC60YEg0L/QtdGA0LXQtCDQstGL0L/QvtC70L3QtdC90LjQtdC8INC60L7QvNC80LjRgtCwLlxuIgogCiAjOiBsaWIvY29tbWl0LnRjbDoxODAKICMsIHRjbC1mb3JtYXQKQEAgLTEzOTIsMjAgKzEzMTksMTQgQEAKICJVbmtub3duIGZpbGUgc3RhdGUgJXMgZGV0ZWN0ZWQuXG4iCiAiXG4iCiAiRmlsZSAlcyBjYW5ub3QgYmUgY29tbWl0dGVkIGJ5IHRoaXMgcHJvZ3JhbS5cbiIKLW1zZ3N0ciAiIgotItCe0LHQvdCw0YDRg9C20LXQvdC+INC90LXQuNC30LLQtdGB0YLQvdC+0LUg0YHQvtGB0YLQvtGP0L3QuNC1INGE0LDQudC70LAgJXMuXG4iCi0iXG4iCi0i0KTQsNC50LsgJXMg0L3QtSDQvNC+0LbQtdGCINCx0YvRgtGMINGB0L7RhdGA0LDQvdC10L0g0LTQsNC90L3QvtC5INC/0YDQvtCz0YDQsNC80LzQvtC5LlxuIgorbXNnc3RyICLQntCx0L3QsNGA0YPQttC10L3QviDQvdC10LjQt9Cy0LXRgdGC0L3QvtC1INGB0L7RgdGC0L7Rj9C90LjQtSDRhNCw0LnQu9CwICVzLlxuXG7QpNCw0LnQuyAlcyDQvdC1INC80L7QttC10YIg0LHRi9GC0Ywg0LfQsNC60L7QvNC80LjRh9C10L0g0Y3RgtC+0Lkg0L/RgNC+0LPRgNCw0LzQvNC+0LkuXG4iCiAKICM6IGxpYi9jb21taXQudGNsOjE4OAogbXNnaWQgIiIKICJObyBjaGFuZ2VzIHRvIGNvbW1pdC5cbiIKICJcbiIKICJZb3UgbXVzdCBzdGFnZSBhdCBsZWFzdCAxIGZpbGUgYmVmb3JlIHlvdSBjYW4gY29tbWl0LlxuIgotbXNnc3RyICIiCi0i0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQuNC30LzQtdC90LXQvdC40Y8g0LTQu9GPINGB0L7RhdGA0LDQvdC10L3QuNGPLlxuIgotIlxuIgotItCf0L7QtNCz0L7RgtC+0LLRjNGC0LUg0YXQvtGC0Y8g0LHRiyDQvtC00LjQvSDRhNCw0LnQuyDQtNC+INGB0L7Qt9C00LDQvdC40Y8g0YHQvtGF0YDQsNC90LXQvdC90L7Qs9C+INGB0L7RgdGC0L7Rj9C90LjRjy5cbiIKK21zZ3N0ciAi0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQuNC30LzQtdC90LXQvdC40Y8g0LTQu9GPINGB0L7RhdGA0LDQvdC10L3QuNGPLlxuXG7QlNC+0LHQsNCy0YzRgtC1INCyINC40L3QtNC10LrRgSDRhdC+0YLRjyDQsdGLINC+0LTQuNC9INGE0LDQudC7INC/0LXRgNC10LQg0LLRi9C/0L7Qu9C90LXQvdC40LXQvCDQutC+0LzQvNC40YLQsC5cbiIKIAogIzogbGliL2NvbW1pdC50Y2w6MjAzCiBtc2dpZCAiIgpAQCAtMTQxNiwzNCArMTMzNywyNyBAQAogIi0gRmlyc3QgbGluZTogRGVzY3JpYmUgaW4gb25lIHNlbnRlbmNlIHdoYXQgeW91IGRpZC5cbiIKICItIFNlY29uZCBsaW5lOiBCbGFua1xuIgogIi0gUmVtYWluaW5nIGxpbmVzOiBEZXNjcmliZSB3aHkgdGhpcyBjaGFuZ2UgaXMgZ29vZC5cbiIKLW1zZ3N0ciAiIgotItCd0LDQv9C40YjQuNGC0LUg0LrQvtC80LzQtdC90YLQsNGA0LjQuSDQuiDRgdC+0YXRgNCw0L3QtdC90L3QvtC80YMg0YHQvtGB0YLQvtGP0L3QuNGOLlxuIgotIlxuIgotItCg0LXQutC+0LzQtdC90LTRg9C10YLRgdGPINGB0LvQtdC00YPRjtGJ0LjQuSDRhNC+0YDQvNCw0YIg0LrQvtC80LzQtdC90YLQsNGA0LjRjzpcbiIKLSJcbiIKLSItINC/0LXRgNCy0LDRjyDRgdGC0YDQvtC60LA6INC60YDQsNGC0LrQvtC1INC+0L/QuNGB0LDQvdC40LUg0YHQtNC10LvQsNC90L3Ri9GFINC40LfQvNC10L3QtdC90LjQuS5cbiIKLSItINCy0YLQvtGA0LDRjyDRgdGC0YDQvtC60LAg0L/Rg9GB0YLQsNGPXG4iCi0iLSDQvtGB0YLQsNCy0YjQuNC10YHRjyDRgdGC0YDQvtC60Lg6INC+0L/QuNGI0LjRgtC1LCDRh9GC0L4g0LTQsNGO0YIg0LLQsNGI0Lgg0LjQt9C80LXQvdC10L3QuNGPLlxuIgorbXNnc3RyICLQo9C60LDQttC40YLQtSDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAuXG5cbtCg0LXQutC+0LzQtdC90LTRg9C10YLRgdGPINGB0LvQtdC00YPRjtGJ0LjQuSDRhNC+0YDQvNCw0YIg0YHQvtC+0LHRidC10L3QuNGPOlxuXG4tINCyINC/0LXRgNCy0L7QuSDRgdGC0YDQvtC60LUg0LrRgNCw0YLQutC+0LUg0L7Qv9C40YHQsNC90LjQtSDRgdC00LXQu9Cw0L3QvdGL0YUg0LjQt9C80LXQvdC10L3QuNC5XG4tINCy0YLQvtGA0LDRjyDRgdGC0YDQvtC60LAg0L/Rg9GB0YLQsNGPXG4tINCyINC+0YHRgtCw0LLRiNC40YXRgdGPINGB0YLRgNC+0LrQsNGFINC+0L/QuNGI0LjRgtC1LCDRh9GC0L4g0LTQsNGO0YIg0LLQsNGI0Lgg0LjQt9C80LXQvdC10L3QuNGPXG4iCiAKICM6IGxpYi9jb21taXQudGNsOjIzNAogbXNnaWQgIkNhbGxpbmcgcHJlLWNvbW1pdCBob29rLi4uIgotbXNnc3RyICLQktGL0LfQvtCyINC/0YDQvtCz0YDQsNC80LzRiyDQv9C+0LTQtNC10YDQttC60Lgg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyBwcmUtY29tbWl0Li4uIgorbXNnc3RyICLQktGL0LfQvtCyINC/0LXRgNC10YXQstCw0YLRh9C40LrQsCBwcmUtY29tbWl04oCmIgogCiAjOiBsaWIvY29tbWl0LnRjbDoyNDkKIG1zZ2lkICJDb21taXQgZGVjbGluZWQgYnkgcHJlLWNvbW1pdCBob29rLiIKLW1zZ3N0ciAi0KHQvtGF0YDQsNC90LXQvdC40LUg0L/RgNC10YDQstCw0L3QviDQv9GA0L7Qs9GA0LDQvNC80L7QuSDQv9C+0LTQtNC10YDQttC60Lgg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyBwcmUtY29tbWl0IgorbXNnc3RyICLQmtC+0LzQvNC40YIg0L/RgNC10YDQstCw0L0g0L/QtdGA0LXQstCw0YLRh9C40LrQvtC8IHByZS1jb21taXQuIgogCiAjOiBsaWIvY29tbWl0LnRjbDoyNzIKIG1zZ2lkICJDYWxsaW5nIGNvbW1pdC1tc2cgaG9vay4uLiIKLW1zZ3N0ciAi0JLRi9C30L7QsiDQv9GA0L7Qs9GA0LDQvNC80Ysg0L/QvtC00LTQtdGA0LbQutC4INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8gY29tbWl0LW1zZy4uLiIKK21zZ3N0ciAi0JLRi9C30L7QsiDQv9C10YDQtdGF0LLQsNGC0YfQuNC60LAgY29tbWl0LW1zZ+KApiIKIAogIzogbGliL2NvbW1pdC50Y2w6Mjg3CiBtc2dpZCAiQ29tbWl0IGRlY2xpbmVkIGJ5IGNvbW1pdC1tc2cgaG9vay4iCi1tc2dzdHIgItCh0L7RhdGA0LDQvdC10L3QuNC1INC/0YDQtdGA0LLQsNC90L4g0L/RgNC+0LPRgNCw0LzQvNC+0Lkg0L/QvtC00LTQtdGA0LbQutC4INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8gY29tbWl0LW1zZyIKK21zZ3N0ciAi0JrQvtC80LzQuNGCINC/0YDQtdGA0LLQsNC9INC/0LXRgNC10LLQsNGC0YfQuNC60L7QvCBjb21taXQtbXNnIgogCiAjOiBsaWIvY29tbWl0LnRjbDozMDAKIG1zZ2lkICJDb21taXR0aW5nIGNoYW5nZXMuLi4iCi1tc2dzdHIgItCh0L7RhdGA0LDQvdC10L3QuNC1INC40LfQvNC10L3QtdC90LjQuS4uLiIKK21zZ3N0ciAi0JrQvtC80LzQuNGCINC40LfQvNC10L3QtdC90LjQueKApiIKIAogIzogbGliL2NvbW1pdC50Y2w6MzE2CiBtc2dpZCAid3JpdGUtdHJlZSBmYWlsZWQ6IgpAQCAtMTQ1MSwxMiArMTM2NSwxMiBAQAogCiAjOiBsaWIvY29tbWl0LnRjbDozMTcgbGliL2NvbW1pdC50Y2w6MzYxIGxpYi9jb21taXQudGNsOjM4MgogbXNnaWQgIkNvbW1pdCBmYWlsZWQuIgotbXNnc3RyICLQodC+0YXRgNCw0L3QuNGC0Ywg0YHQvtGB0YLQvtGP0L3QuNC1INC90LUg0YPQtNCw0LvQvtGB0YwuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC30LDQutC+0LzQvNC40YLQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPLiIKIAogIzogbGliL2NvbW1pdC50Y2w6MzM0CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGFwcGVhcnMgdG8gYmUgY29ycnVwdCIKLW1zZ3N0ciAi0KHQvtGB0YLQvtGP0L3QuNC1ICVzINCy0YvQs9C70Y/QtNC40YIg0L/QvtCy0YDQtdC20LTQtdC90L3Ri9C8IgorbXNnc3RyICLQmtC+0LzQvNC40YIgJXMg0L/QvtGF0L7QttC1INC/0L7QstGA0LXQttC00LXQvSIKIAogIzogbGliL2NvbW1pdC50Y2w6MzM5CiBtc2dpZCAiIgpAQCAtMTQ2NSwxNiArMTM3OSwxMSBAQAogIk5vIGZpbGVzIHdlcmUgbW9kaWZpZWQgYnkgdGhpcyBjb21taXQgYW5kIGl0IHdhcyBub3QgYSBtZXJnZSBjb21taXQuXG4iCiAiXG4iCiAiQSByZXNjYW4gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHN0YXJ0ZWQgbm93LlxuIgotbXNnc3RyICIiCi0i0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQuNC30LzQtdC90LXQvdC40Y8g0LTQu9GPINGB0L7RhdGA0LDQvdC10L3QuNGPLlxuIgotIlxuIgotItCd0Lgg0L7QtNC40L0g0YTQsNC50Lsg0L3QtSDQsdGL0Lsg0LjQt9C80LXQvdC10L0g0Lgg0L3QtSDQsdGL0LvQviDRgdC70LjRj9C90LjRjy5cbiIKLSJcbiIKLSLQodC10LnRh9Cw0YEg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60Lgg0LfQsNC/0YPRgdGC0LjRgtGB0Y8g0L/QtdGA0LXRh9C40YLRi9Cy0LDQvdC40LUg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjy5cbiIKK21zZ3N0ciAi0J3QtdGCINC40LfQvNC10L3QtdC90LjRjyDQtNC70Y8g0LrQvtC80LzQuNGC0LAuXG5cbtCd0Lgg0L7QtNC40L0g0YTQsNC50Lsg0L3QtSDQsdGL0Lsg0LjQt9C80LXQvdC10L0g0Lgg0L3QtSDQsdGL0LvQviDRgdC70LjRj9C90LjRjy5cblxu0KHQtdC50YfQsNGBINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4INC30LDQv9GD0YHRgtC40YLRgdGPINC/0LXRgNC10YfQuNGC0YvQstCw0L3QuNC1INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8uXG4iCiAKICM6IGxpYi9jb21taXQudGNsOjM0NgogbXNnaWQgIk5vIGNoYW5nZXMgdG8gY29tbWl0LiIKLW1zZ3N0ciAi0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQuNC30LzQtdC90LXQvdC40Y8g0LTQu9GPINGB0L7RhdGA0LDQvdC10L3QuNGPLiIKK21zZ3N0ciAi0J3QtdGCINC40LfQvNC10L3QtdC90LjRjyDQtNC70Y8g0LrQvtC80LzQuNGC0LAuIgogCiAjOiBsaWIvY29tbWl0LnRjbDozNjAKIG1zZ2lkICJjb21taXQtdHJlZSBmYWlsZWQ6IgpAQCAtMTQ4NywxMSArMTM5NiwxMSBAQAogIzogbGliL2NvbW1pdC50Y2w6NDY5CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBjb21taXQgJXM6ICVzIgotbXNnc3RyICLQodC+0LfQtNCw0L3QviDRgdC+0YHRgtC+0Y/QvdC40LUgJXM6ICVzICIKK21zZ3N0ciAi0KHQvtC30LTQsNC9INC60L7QvNC80LjRgiAlczogJXMgIgogCiAjOiBsaWIvY29uc29sZS50Y2w6NTkKIG1zZ2lkICJXb3JraW5nLi4uIHBsZWFzZSB3YWl0Li4uIgotbXNnc3RyICLQkiDQv9GA0L7RhtC10YHRgdC1Li4uINC/0L7QttCw0LvRg9C50YHRgtCwLCDQttC00LjRgtC1Li4uIgorbXNnc3RyICLQkiDQv9GA0L7RhtC10YHRgdC14oCmINC/0L7QttCw0LvRg9C50YHRgtCwLCDQttC00LjRgtC14oCmIgogCiAjOiBsaWIvY29uc29sZS50Y2w6MTg2CiBtc2dpZCAiU3VjY2VzcyIKQEAgLTE1NDIsMTYgKzE0NTEsMTAgQEAKIG1zZ2lkICIiCiAiVGhpcyByZXBvc2l0b3J5IGN1cnJlbnRseSBoYXMgYXBwcm94aW1hdGVseSAlaSBsb29zZSBvYmplY3RzLlxuIgogIlxuIgotIlRvIG1haW50YWluIG9wdGltYWwgcGVyZm9ybWFuY2UgaXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdGhhdCB5b3UgY29tcHJlc3MgIgotInRoZSBkYXRhYmFzZS5cbiIKKyJUbyBtYWludGFpbiBvcHRpbWFsIHBlcmZvcm1hbmNlIGl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRoYXQgeW91IGNvbXByZXNzIHRoZSBkYXRhYmFzZS5cbiIKICJcbiIKICJDb21wcmVzcyB0aGUgZGF0YWJhc2Ugbm93PyIKLW1zZ3N0ciAiIgotItCt0YLQvtGCINGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0YHQtdC50YfQsNGBINGB0L7QtNC10YDQttC40YIg0L/RgNC40LzQtdGA0L3QviAlaSDRgdCy0L7QsdC+0LTQvdGL0YUg0L7QsdGK0LXQutGC0L7QslxuIgotIlxuIgotItCU0LvRjyDQu9GD0YfRiNC10Lkg0L/RgNC+0LjQt9Cy0L7QtNC40YLQtdC70YzQvdC+0YHRgtC4INGA0LXQutC+0LzQtdC90LTRg9C10YLRgdGPINGB0LbQsNGC0Ywg0LHQsNC30YMg0LTQsNC90L3Ri9GFLlxuIgotIlxuIgotItCh0LbQsNGC0Ywg0LHQsNC30YMg0LTQsNC90L3Ri9GFINGB0LXQudGH0LDRgT8iCittc2dzdHIgItCt0YLQvtGCINGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0YHQtdC50YfQsNGBINGB0L7QtNC10YDQttC40YIg0L/RgNC40LzQtdGA0L3QviAlaSDRgdCy0L7QsdC+0LTQvdGL0YUg0L7QsdGK0LXQutGC0L7QslxuXG7QlNC70Y8g0LvRg9GH0YjQtdC5INC/0YDQvtC40LfQstC+0LTQuNGC0LXQu9GM0L3QvtGB0YLQuCDRgNC10LrQvtC80LXQvdC00YPQtdGC0YHRjyDRgdC20LDRgtGMINCx0LDQt9GDINC00LDQvdC90YvRhS5cblxu0KHQttCw0YLRjCDQsdCw0LfRgyDQtNCw0L3QvdGL0YUg0YHQtdC50YfQsNGBPyIKIAogIzogbGliL2RhdGUudGNsOjI1CiAjLCB0Y2wtZm9ybWF0CkBAIC0xNTY1LDQxICsxNDY4LDI3IEBACiAiXG4iCiAiJXMgaGFzIG5vIGNoYW5nZXMuXG4iCiAiXG4iCi0iVGhlIG1vZGlmaWNhdGlvbiBkYXRlIG9mIHRoaXMgZmlsZSB3YXMgdXBkYXRlZCBieSBhbm90aGVyIGFwcGxpY2F0aW9uLCBidXQgIgotInRoZSBjb250ZW50IHdpdGhpbiB0aGUgZmlsZSB3YXMgbm90IGNoYW5nZWQuXG4iCisiVGhlIG1vZGlmaWNhdGlvbiBkYXRlIG9mIHRoaXMgZmlsZSB3YXMgdXBkYXRlZCBieSBhbm90aGVyIGFwcGxpY2F0aW9uLCBidXQgdGhlIGNvbnRlbnQgd2l0aGluIHRoZSBmaWxlIHdhcyBub3QgY2hhbmdlZC5cbiIKICJcbiIKLSJBIHJlc2NhbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc3RhcnRlZCB0byBmaW5kIG90aGVyIGZpbGVzIHdoaWNoIG1heSBoYXZlICIKLSJ0aGUgc2FtZSBzdGF0ZS4iCi1tc2dzdHIgIiIKLSLQmNC30LzQtdC90LXQvdC40Lkg0L3QtSDQvtCx0L3QsNGA0YPQttC10L3Qvi5cbiIKLSJcbiIKLSLQsiAlcyDQvtGC0YHRg9GC0YHRgtCy0YPRjtGCINC40LfQvNC10L3QtdC90LjRjy5cbiIKLSJcbiIKLSLQlNCw0YLQsCDQuNC30LzQtdC90LXQvdC40Y8g0YTQsNC50LvQsCDQsdGL0LvQsCDQvtCx0L3QvtCy0LvQtdC90LAg0LTRgNGD0LPQvtC5INC/0YDQvtCz0YDQsNC80LzQvtC5LCDQvdC+INGB0L7QtNC10YDQttC40LzQvtC1INGE0LDQudC70LAgIgotItC+0YHRgtCw0LvQvtGB0Ywg0L/RgNC10LbQvdC40LwuXG4iCi0iXG4iCi0i0KHQtdC50YfQsNGBINCx0YPQtNC10YIg0LfQsNC/0YPRidC10L3QviDQv9C10YDQtdGH0LjRgtGL0LLQsNC90LjQtSDRgNC10L/QvtC30LjRgtC+0YDQuNGPLCDRh9GC0L7QsdGLINC90LDQudGC0Lgg0L/QvtC00L7QsdC90YvQtSDRhNCw0LnQu9GLLiIKKyJBIHJlc2NhbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc3RhcnRlZCB0byBmaW5kIG90aGVyIGZpbGVzIHdoaWNoIG1heSBoYXZlIHRoZSBzYW1lIHN0YXRlLiIKK21zZ3N0ciAi0JjQt9C80LXQvdC10L3QuNC5INC90LUg0L7QsdC90LDRgNGD0LbQtdC90L4uXG5cbtCyICVzINC+0YLRgdGD0YLRgdGC0LLRg9GO0YIg0LjQt9C80LXQvdC10L3QuNGPLlxuXG7QlNCw0YLQsCDQuNC30LzQtdC90LXQvdC40Y8g0YTQsNC50LvQsCDQsdGL0LvQsCDQvtCx0L3QvtCy0LvQtdC90LAg0LTRgNGD0LPQvtC5INC/0YDQvtCz0YDQsNC80LzQvtC5LCDQvdC+INGB0L7QtNC10YDQttC40LzQvtC1INGE0LDQudC70LAg0L7RgdGC0LDQu9C+0YHRjCDQv9GA0LXQttC90LjQvC5cblxu0KHQtdC50YfQsNGBINCx0YPQtNC10YIg0LfQsNC/0YPRidC10L3QviDQv9C10YDQtdGH0LjRgtGL0LLQsNC90LjQtSDRgNC10L/QvtC30LjRgtC+0YDQuNGPLCDRh9GC0L7QsdGLINC90LDQudGC0Lgg0L/QvtC00L7QsdC90YvQtSDRhNCw0LnQu9GLLiIKIAogIzogbGliL2RpZmYudGNsOjEwNAogIywgdGNsLWZvcm1hdAogbXNnaWQgIkxvYWRpbmcgZGlmZiBvZiAlcy4uLiIKLW1zZ3N0ciAi0JfQsNCz0YDRg9C30LrQsCDQuNC30LzQtdC90LXQvdC40Lkg0LIgJXMuLi4iCittc2dzdHIgItCX0LDQs9GA0YPQt9C60LAg0LjQt9C80LXQvdC10L3QuNC5ICVz4oCmIgogCiAjOiBsaWIvZGlmZi50Y2w6MTI1CiBtc2dpZCAiIgogIkxPQ0FMOiBkZWxldGVkXG4iCiAiUkVNT1RFOlxuIgotbXNnc3RyICIiCi0i0JvQntCa0JDQm9Cs0J3Qnjog0YPQtNCw0LvRkdC9XG4iCi0i0JLQndCV0KjQndCY0Jk6XG4iCittc2dzdHIgItCb0J7QmtCQ0JvQrNCd0J46INGD0LTQsNC70ZHQvVxu0JLQndCV0KjQndCY0Jk6XG4iCiAKICM6IGxpYi9kaWZmLnRjbDoxMzAKIG1zZ2lkICIiCiAiUkVNT1RFOiBkZWxldGVkXG4iCiAiTE9DQUw6XG4iCi1tc2dzdHIgIiIKLSLQktCd0JXQqNCd0JjQmTog0YPQtNCw0LvRkdC9XG4iCi0i0JvQntCa0JDQm9Cs0J3QnjpcbiIKK21zZ3N0ciAi0JLQndCV0KjQndCY0Jk6INGD0LTQsNC70ZHQvVxu0JvQntCa0JDQm9Cs0J3QnjpcbiIKIAogIzogbGliL2RpZmYudGNsOjEzNwogbXNnaWQgIkxPQ0FMOlxuIgpAQCAtMTYzMSw5ICsxNTIwLDcgQEAKIG1zZ2lkICIiCiAiKiBVbnRyYWNrZWQgZmlsZSBpcyAlZCBieXRlcy5cbiIKICIqIFNob3dpbmcgb25seSBmaXJzdCAlZCBieXRlcy5cbiIKLW1zZ3N0ciAiIgotIiog0KDQsNC30LzQtdGAINC90LXQv9C+0LTQs9C+0YLQvtCy0LvQtdC90L3QvtCz0L4g0YTQsNC50LvQsCAlZCDQsdCw0LnRgi5cbiIKLSIqINCf0L7QutCw0LfQsNC90L4g0L/QtdGA0LLRi9GFICVkINCx0LDQudGCLlxuIgorbXNnc3RyICIqINCg0LDQt9C80LXRgCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNC+0LPQviDRhNCw0LnQu9CwICVkINCx0LDQudGCLlxuKiDQn9C+0LrQsNC30LDQvdC+INC/0LXRgNCy0YvRhSAlZCDQsdCw0LnRgi5cbiIKIAogIzogbGliL2RpZmYudGNsOjIzMwogIywgdGNsLWZvcm1hdApAQCAtMTY0MSwxMCArMTUyOCw3IEBACiAiXG4iCiAiKiBVbnRyYWNrZWQgZmlsZSBjbGlwcGVkIGhlcmUgYnkgJXMuXG4iCiAiKiBUbyBzZWUgdGhlIGVudGlyZSBmaWxlLCB1c2UgYW4gZXh0ZXJuYWwgZWRpdG9yLlxuIgotbXNnc3RyICIiCi0iXG4iCi0iKiDQndC10L/QvtC00LPQvtGC0L7QstC70LXQvdC90YvQuSDRhNCw0LnQuyDQvtCx0YDQtdC30LDQvTogJXMuXG4iCi0iKiDQp9GC0L7QsdGLINGD0LLQuNC00LXRgtGMINCy0LXRgdGMINGE0LDQudC7LCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1INC/0YDQvtCz0YDQsNC80LzRgy3RgNC10LTQsNC60YLQvtGALlxuIgorbXNnc3RyICJcbiog0J3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C5INGE0LDQudC7INC+0LHRgNC10LfQsNC9OiAlcy5cbiog0KfRgtC+0LHRiyDRg9Cy0LjQtNC10YLRjCDQstC10YHRjCDRhNCw0LnQuywg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQstC90LXRiNC90LjQuSDRgNC10LTQsNC60YLQvtGALlxuIgogCiAjOiBsaWIvZGlmZi50Y2w6NDgyCiBtc2dpZCAiRmFpbGVkIHRvIHVuc3RhZ2Ugc2VsZWN0ZWQgaHVuay4iCkBAIC0xNjUyLDcgKzE1MzYsNyBAQAogCiAjOiBsaWIvZGlmZi50Y2w6NDg5CiBtc2dpZCAiRmFpbGVkIHRvIHN0YWdlIHNlbGVjdGVkIGh1bmsuIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0L7QtNCz0L7RgtC+0LLQuNGC0Ywg0Log0YHQvtGF0YDQsNC90LXQvdC40Y4g0LLRi9Cx0YDQsNC90L3Rg9GOINGH0LDRgdGC0YwuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDRgtGMINCy0YvQsdGA0LDQvdC90YvQuSDQsdC70L7QuiDQuNC30LzQtdC90LXQvdC40LkuIgogCiAjOiBsaWIvZGlmZi50Y2w6NTY4CiBtc2dpZCAiRmFpbGVkIHRvIHVuc3RhZ2Ugc2VsZWN0ZWQgbGluZS4iCkBAIC0xNjYwLDcgKzE1NDQsNyBAQAogCiAjOiBsaWIvZGlmZi50Y2w6NTc2CiBtc2dpZCAiRmFpbGVkIHRvIHN0YWdlIHNlbGVjdGVkIGxpbmUuIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0L7QtNCz0L7RgtC+0LLQuNGC0Ywg0Log0YHQvtGF0YDQsNC90LXQvdC40Y4g0LLRi9Cx0YDQsNC90L3Rg9GOINGB0YLRgNC+0LrRgy4iCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNGC0Ywg0LLRi9Cx0YDQsNC90L3Rg9GOINGB0YLRgNC+0LrRgy4iCiAKICM6IGxpYi9lbmNvZGluZy50Y2w6NDQzCiBtc2dpZCAiRGVmYXVsdCIKQEAgLTE2ODUsNyArMTU2OSw3IEBACiAKICM6IGxpYi9lcnJvci50Y2w6OTQKIG1zZ2lkICJZb3UgbXVzdCBjb3JyZWN0IHRoZSBhYm92ZSBlcnJvcnMgYmVmb3JlIGNvbW1pdHRpbmcuIgotbXNnc3RyICLQn9GA0LXQttC00LUg0YfQtdC8INGB0L7RhdGA0LDQvdC40YLRjCwg0LjRgdC/0YDQsNCy0YzRgtC1INCy0YvRiNC10YPQutCw0LfQsNC90L3Ri9C1INC+0YjQuNCx0LrQuC4iCittc2dzdHIgItCf0LXRgNC10LQg0LrQvtC80LzQuNGC0L7QvCwg0LjRgdC/0YDQsNCy0YzRgtC1INCy0YvRiNC10YPQutCw0LfQsNC90L3Ri9C1INC+0YjQuNCx0LrQuC4iCiAKICM6IGxpYi9pbmRleC50Y2w6NgogbXNnaWQgIlVuYWJsZSB0byB1bmxvY2sgdGhlIGluZGV4LiIKQEAgLTE2OTksOSArMTU4Myw3IEBACiBtc2dpZCAiIgogIlVwZGF0aW5nIHRoZSBHaXQgaW5kZXggZmFpbGVkLiAgQSByZXNjYW4gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHN0YXJ0ZWQgdG8gIgogInJlc3luY2hyb25pemUgZ2l0LWd1aS4iCi1tc2dzdHIgIiIKLSLQndC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0Ywg0LjQvdC00LXQutGBIEdpdC4g0KHQvtGB0YLQvtGP0L3QuNC1INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8g0LHRg9C00LXRgiDQv9C10YDQtdGH0LjRgtCw0L3QviAiCi0i0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LguIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0Ywg0LjQvdC00LXQutGBIEdpdC4g0KHQvtGB0YLQvtGP0L3QuNC1INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8g0LHRg9C00LXRgiDQv9C10YDQtdGH0LjRgtCw0L3QviDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuC4iCiAKICM6IGxpYi9pbmRleC50Y2w6MjgKIG1zZ2lkICJDb250aW51ZSIKQEAgLTE3MTQsMzIgKzE1OTYsMzAgQEAKICM6IGxpYi9pbmRleC50Y2w6Mjg5CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiVW5zdGFnaW5nICVzIGZyb20gY29tbWl0IgotbXNnc3RyICLQo9C00LDQu9C10L3QuNC1ICVzINC40Lcg0L/QvtC00LPQvtGC0L7QstC70LXQvdC90L7Qs9C+IgorbXNnc3RyICLQo9C00LDQu9C10L3QuNC1ICVzINC40Lcg0LjQvdC00LXQutGB0LAiCiAKICM6IGxpYi9pbmRleC50Y2w6MzI4CiBtc2dpZCAiUmVhZHkgdG8gY29tbWl0LiIKLW1zZ3N0ciAi0J/QvtC00LPQvtGC0L7QstC70LXQvdC+INC00LvRjyDRgdC+0YXRgNCw0L3QtdC90LjRjyIKK21zZ3N0ciAi0JPQvtGC0L7QsiDQtNC70Y8g0LrQvtC80LzQuNGC0LAuIgogCiAjOiBsaWIvaW5kZXgudGNsOjM0MQogIywgdGNsLWZvcm1hdAogbXNnaWQgIkFkZGluZyAlcyIKLW1zZ3N0ciAi0JTQvtCx0LDQstC70LXQvdC40LUgJXMuLi4iCittc2dzdHIgItCU0L7QsdCw0LLQu9C10L3QuNC1ICVz4oCmIgogCiAjOiBsaWIvaW5kZXgudGNsOjM5OAogIywgdGNsLWZvcm1hdAogbXNnaWQgIlJldmVydCBjaGFuZ2VzIGluIGZpbGUgJXM/IgotbXNnc3RyICLQntGC0LzQtdC90LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDQsiDRhNCw0LnQu9C1ICVzPyIKK21zZ3N0ciAi0J7QsdGA0LDRgtC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0LIg0YTQsNC50LvQtSAlcz8iCiAKICM6IGxpYi9pbmRleC50Y2w6NDAwCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiUmV2ZXJ0IGNoYW5nZXMgaW4gdGhlc2UgJWkgZmlsZXM/IgotbXNnc3RyICLQntGC0LzQtdC90LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDQsiAlaSDRhNCw0LnQu9C1KC3QsNGFKT8iCittc2dzdHIgItCe0LHRgNCw0YLQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINCyICVpINGE0LDQudC70LUoLdCw0YUpPyIKIAogIzogbGliL2luZGV4LnRjbDo0MDgKIG1zZ2lkICJBbnkgdW5zdGFnZWQgY2hhbmdlcyB3aWxsIGJlIHBlcm1hbmVudGx5IGxvc3QgYnkgdGhlIHJldmVydC4iCi1tc2dzdHIgIiIKLSLQm9GO0LHRi9C1INC40LfQvNC10L3QtdC90LjRjywg0L3QtSDQv9C+0LTQs9C+0YLQvtCy0LvQtdC90L3Ri9C1INC6INGB0L7RhdGA0LDQvdC10L3QuNGOLCDQsdGD0LTRg9GCINC/0L7RgtC10YDRj9C90Ysg0L/RgNC4INC00LDQvdC90L7QuSAiCi0i0L7Qv9C10YDQsNGG0LjQuC4iCittc2dzdHIgItCb0Y7QsdGL0LUg0L3QtdC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8sINCx0YPQtNGD0YIg0L/QvtGC0LXRgNGP0L3RiyDQv9GA0Lgg0L7QsdGA0LDRidC10L3QuNC4INC40LfQvNC10L3QtdC90LjQuS4iCiAKICM6IGxpYi9pbmRleC50Y2w6NDExCiBtc2dpZCAiRG8gTm90aGluZyIKQEAgLTE3NDcsMzggKzE2MjcsMjggQEAKIAogIzogbGliL2luZGV4LnRjbDo0MjkKIG1zZ2lkICJSZXZlcnRpbmcgc2VsZWN0ZWQgZmlsZXMiCi1tc2dzdHIgItCj0LTQsNC70LXQvdC40LUg0LjQt9C80LXQvdC10L3QuNC5INCyINCy0YvQsdGA0LDQvdC90YvRhSDRhNCw0LnQu9Cw0YUiCittc2dzdHIgItCe0LHRgNCw0YnQtdC90LjQtSDQuNC30LzQtdC90LXQvdC40Lkg0LIg0LLRi9Cx0YDQsNC90L3Ri9GFINGE0LDQudC70LDRhSIKIAogIzogbGliL2luZGV4LnRjbDo0MzMKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJSZXZlcnRpbmcgJXMiCi1tc2dzdHIgItCe0YLQvNC10L3QsCDQuNC30LzQtdC90LXQvdC40Lkg0LIgJXMiCittc2dzdHIgItCe0LHRgNCw0YnQtdC90LjQtSDQuNC30LzQtdC90LXQvdC40Lkg0LIgJXMiCiAKICM6IGxpYi9tZXJnZS50Y2w6MTMKIG1zZ2lkICIiCiAiQ2Fubm90IG1lcmdlIHdoaWxlIGFtZW5kaW5nLlxuIgogIlxuIgogIllvdSBtdXN0IGZpbmlzaCBhbWVuZGluZyB0aGlzIGNvbW1pdCBiZWZvcmUgc3RhcnRpbmcgYW55IHR5cGUgb2YgbWVyZ2UuXG4iCi1tc2dzdHIgIiIKLSLQndC10LLQvtC30LzQvtC20L3QviDQstGL0L/QvtC70L3QuNGC0Ywg0YHQu9C40Y/QvdC40LUg0LLQviDQstGA0LXQvNGPINC40YHQv9GA0LDQstC70LXQvdC40Y8uXG4iCi0iXG4iCi0i0JfQsNCy0LXRgNGI0LjRgtC1INC40YHQv9GA0LDQstC70LXQvdC40LUg0LTQsNC90L3QvtCz0L4g0YHQvtGB0YLQvtGP0L3QuNGPINC/0LXRgNC10LQg0LLRi9C/0L7Qu9C90LXQvdC40LXQvCDQvtC/0LXRgNCw0YbQuNC4INGB0LvQuNGP0L3QuNGPLlxuIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0L/QvtC70L3QuNGC0Ywg0YHQu9C40Y/QvdC40LUg0LLQviDQstGA0LXQvNGPINC40YHQv9GA0LDQstC70LXQvdC40Y8uXG5cbtCX0LDQstC10YDRiNC40YLQtSDQuNGB0L/RgNCw0LLQu9C10L3QuNC1INC00LDQvdC90L7Qs9C+INC60L7QvNC80LjRgtCwINC/0LXRgNC10LQg0LLRi9C/0L7Qu9C90LXQvdC40LXQvCDQvtC/0LXRgNCw0YbQuNC4INGB0LvQuNGP0L3QuNGPLlxuIgogCiAjOiBsaWIvbWVyZ2UudGNsOjI3CiBtc2dpZCAiIgogIkxhc3Qgc2Nhbm5lZCBzdGF0ZSBkb2VzIG5vdCBtYXRjaCByZXBvc2l0b3J5IHN0YXRlLlxuIgogIlxuIgotIkFub3RoZXIgR2l0IHByb2dyYW0gaGFzIG1vZGlmaWVkIHRoaXMgcmVwb3NpdG9yeSBzaW5jZSB0aGUgbGFzdCBzY2FuLiAgQSAiCi0icmVzY2FuIG11c3QgYmUgcGVyZm9ybWVkIGJlZm9yZSBhIG1lcmdlIGNhbiBiZSBwZXJmb3JtZWQuXG4iCisiQW5vdGhlciBHaXQgcHJvZ3JhbSBoYXMgbW9kaWZpZWQgdGhpcyByZXBvc2l0b3J5IHNpbmNlIHRoZSBsYXN0IHNjYW4uICBBIHJlc2NhbiBtdXN0IGJlIHBlcmZvcm1lZCBiZWZvcmUgYSBtZXJnZSBjYW4gYmUgcGVyZm9ybWVkLlxuIgogIlxuIgogIlRoZSByZXNjYW4gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHN0YXJ0ZWQgbm93LlxuIgotbXNnc3RyICIiCi0i0J/QvtGB0LvQtdC00L3QtdC1INC/0YDQvtGH0LjRgtCw0L3QvdC+0LUg0YHQvtGB0YLQvtGP0L3QuNC1INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8g0L3QtSDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0LXRgiDRgtC10LrRg9GJ0LXQvNGDLlxuIgotIlxuIgotItChINC80L7QvNC10L3RgtCwINC/0L7RgdC70LXQtNC90LXQuSDQv9GA0L7QstC10YDQutC4INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0LHRi9C7INC40LfQvNC10L3QtdC9INC00YDRg9Cz0L7QuSDQv9GA0L7Qs9GA0LDQvNC80L7QuSBHaXQuICIKLSLQndC10L7QsdGF0L7QtNC40LzQviDQv9C10YDQtdGH0LjRgtCw0YLRjCDRgNC10L/QvtC30LjRgtC+0YDQuNC5LCDQv9GA0LXQttC00LUg0YfQtdC8INC40LfQvNC10L3Rj9GC0Ywg0YLQtdC60YPRidGD0Y4g0LLQtdGC0LLRjC5cbiIKLSJcbiIKLSLQrdGC0L4g0LHRg9C00LXRgiDRgdC00LXQu9Cw0L3QviDRgdC10LnRh9Cw0YEg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LguXG4iCittc2dzdHIgItCf0L7RgdC70LXQtNC90LXQtSDQv9GA0L7Rh9C40YLQsNC90L3QvtC1INGB0L7RgdGC0L7Rj9C90LjQtSDRgNC10L/QvtC30LjRgtC+0YDQuNGPINC90LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9C10YIg0YLQtdC60YPRidC10LzRgy5cblxu0KEg0LzQvtC80LXQvdGC0LAg0L/QvtGB0LvQtdC00L3QtdC5INC/0YDQvtCy0LXRgNC60Lgg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDQsdGL0Lsg0LjQt9C80LXQvdC10L0g0LTRgNGD0LPQvtC5INC/0YDQvtCz0YDQsNC80LzQvtC5IEdpdC4g0J3QtdC+0LHRhdC+0LTQuNC80L4g0L/QtdGA0LXRh9C40YLQsNGC0Ywg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSwg0L/RgNC10LbQtNC1INGH0LXQvCDRgdC70LjRj9C90LjQtSDQvNC+0LbQtdGCINCx0YvRgtGMINGB0LTQtdC70LDQvdC+LlxuXG7QrdGC0L4g0LHRg9C00LXRgiDRgdC00LXQu9Cw0L3QviDRgdC10LnRh9Cw0YEg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LguXG4iCiAKICM6IGxpYi9tZXJnZS50Y2w6NDUKICMsIHRjbC1mb3JtYXQKQEAgLTE3ODcsMTUgKzE2NTcsOCBAQAogIlxuIgogIkZpbGUgJXMgaGFzIG1lcmdlIGNvbmZsaWN0cy5cbiIKICJcbiIKLSJZb3UgbXVzdCByZXNvbHZlIHRoZW0sIHN0YWdlIHRoZSBmaWxlLCBhbmQgY29tbWl0IHRvIGNvbXBsZXRlIHRoZSBjdXJyZW50ICIKLSJtZXJnZS4gIE9ubHkgdGhlbiBjYW4geW91IGJlZ2luIGFub3RoZXIgbWVyZ2UuXG4iCi1tc2dzdHIgIiIKLSLQn9GA0LXQtNGL0LTRg9GJ0LXQtSDRgdC70LjRj9C90LjQtSDQvdC1INC30LDQstC10YDRiNC10L3QviDQuNC3LdC30LAg0LrQvtC90YTQu9C40LrRgtCwLlxuIgotIlxuIgotItCU0LvRjyDRhNCw0LnQu9CwICVzINCy0L7Qt9C90LjQuiDQutC+0L3RhNC70LjQutGCINGB0LvQuNGP0L3QuNGPLlxuIgotIlxuIgotItCg0LDQt9GA0LXRiNC40YLQtSDQutC+0L3RhNC70LjQutGCLCDQv9C+0LTQs9C+0YLQvtCy0YzRgtC1INGE0LDQudC7INC4INGB0L7RhdGA0LDQvdC40YLQtS4g0KLQvtC70YzQutC+INC/0L7RgdC70LUg0Y3RgtC+0LPQviDQvNC+0LbQvdC+ICIKLSLQvdCw0YfQsNGC0Ywg0YHQu9C10LTRg9GO0YnQtdC1INGB0LvQuNGP0L3QuNC1LlxuIgorIllvdSBtdXN0IHJlc29sdmUgdGhlbSwgc3RhZ2UgdGhlIGZpbGUsIGFuZCBjb21taXQgdG8gY29tcGxldGUgdGhlIGN1cnJlbnQgbWVyZ2UuICBPbmx5IHRoZW4gY2FuIHlvdSBiZWdpbiBhbm90aGVyIG1lcmdlLlxuIgorbXNnc3RyICLQn9GA0LXQtNGL0LTRg9GJ0LXQtSDRgdC70LjRj9C90LjQtSDQvdC1INC30LDQstC10YDRiNC10L3QviDQuNC3LdC30LAg0LrQvtC90YTQu9C40LrRgtCwLlxuXG7QlNC70Y8g0YTQsNC50LvQsCAlcyDQstC+0LfQvdC40Log0LrQvtC90YTQu9C40LrRgiDRgdC70LjRj9C90LjRjy5cblxu0KDQsNC30YDQtdGI0LjRgtC1INC60L7QvdGE0LvQuNC60YIsINC00L7QsdCw0LLRjNGC0LUg0YTQsNC50Lsg0LIg0LjQvdC00LXQutGBINC4INC30LDQutC+0LzQvNC40YLRjNGC0LUuINCi0L7Qu9GM0LrQviDQv9C+0YHQu9C1INGN0YLQvtCz0L4g0LzQvtC20L3QviDQvdCw0YfQsNGC0Ywg0YHQu9C10LTRg9GO0YnQtdC1INGB0LvQuNGP0L3QuNC1LlxuIgogCiAjOiBsaWIvbWVyZ2UudGNsOjU1CiAjLCB0Y2wtZm9ybWF0CkBAIC0xODA0LDE1ICsxNjY3LDggQEAKICJcbiIKICJGaWxlICVzIGlzIG1vZGlmaWVkLlxuIgogIlxuIgotIllvdSBzaG91bGQgY29tcGxldGUgdGhlIGN1cnJlbnQgY29tbWl0IGJlZm9yZSBzdGFydGluZyBhIG1lcmdlLiAgRG9pbmcgc28gIgotIndpbGwgaGVscCB5b3UgYWJvcnQgYSBmYWlsZWQgbWVyZ2UsIHNob3VsZCB0aGUgbmVlZCBhcmlzZS5cbiIKLW1zZ3N0ciAiIgotItCY0LfQvNC10L3QtdC90LjRjyDQvdC1INGB0L7RhdGA0LDQvdC10L3Riy5cbiIKLSJcbiIKLSLQpNCw0LnQuyAlcyDQuNC30LzQtdC90LXQvS5cbiIKLSJcbiIKLSLQn9C+0LTQs9C+0YLQvtCy0YzRgtC1INC4INGB0L7RhdGA0LDQvdC40YLQtSDQuNC30LzQtdC90LXQvdC40Y8g0L/QtdGA0LXQtCDQvdCw0YfQsNC70L7QvCDRgdC70LjRj9C90LjRjy4g0JIg0YHQu9GD0YfQsNC1ICIKLSLQvdC10L7QsdGF0L7QtNC40LzQvtGB0YLQuCDRjdGC0L4g0L/QvtC30LLQvtC70LjRgiDQv9GA0LXRgNCy0LDRgtGMINC+0L/QtdGA0LDRhtC40Y4g0YHQu9C40Y/QvdC40Y8uXG4iCisiWW91IHNob3VsZCBjb21wbGV0ZSB0aGUgY3VycmVudCBjb21taXQgYmVmb3JlIHN0YXJ0aW5nIGEgbWVyZ2UuICBEb2luZyBzbyB3aWxsIGhlbHAgeW91IGFib3J0IGEgZmFpbGVkIG1lcmdlLCBzaG91bGQgdGhlIG5lZWQgYXJpc2UuXG4iCittc2dzdHIgItCS0Ysg0L3QsNGF0L7QtNC40YLQtdGB0Ywg0LIg0L/RgNC+0YbQtdGB0YHQtSDQuNC30LzQtdC90LXQvdC40LkuXG5cbtCk0LDQudC7ICVzINC40LfQvNC10L3RkdC9LlxuXG7QktGLINC00L7Qu9C20L3RiyDQt9Cw0LLQtdGA0YjQuNGC0Ywg0YLQtdC60YPRidC40Lkg0LrQvtC80LzQuNGCINC/0LXRgNC10LQg0L3QsNGH0LDQu9C+0Lwg0YHQu9C40Y/QvdC40Y8uINCSINGB0LvRg9GH0LDQtSDQvdC10L7QsdGF0L7QtNC40LzQvtGB0YLQuCwg0Y3RgtC+INC/0L7Qt9Cy0L7Qu9C40YIg0L/RgNC10YDQstCw0YLRjCDQvtC/0LXRgNCw0YbQuNGOINGB0LvQuNGP0L3QuNGPLlxuIgogCiAjOiBsaWIvbWVyZ2UudGNsOjEwNwogIywgdGNsLWZvcm1hdApAQCAtMTgyMiw3ICsxNjc4LDcgQEAKICM6IGxpYi9tZXJnZS50Y2w6MTIwCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiTWVyZ2luZyAlcyBhbmQgJXMuLi4iCi1tc2dzdHIgItCh0LvQuNGP0L3QuNC1ICVzINC4ICVzLi4uIgorbXNnc3RyICLQodC70LjRj9C90LjQtSAlcyDQuCAlc+KApiIKIAogIzogbGliL21lcmdlLnRjbDoxMzEKIG1zZ2lkICJNZXJnZSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LiIKQEAgLTE4NDYsMTAgKzE3MDIsNyBAQAogIkNhbm5vdCBhYm9ydCB3aGlsZSBhbWVuZGluZy5cbiIKICJcbiIKICJZb3UgbXVzdCBmaW5pc2ggYW1lbmRpbmcgdGhpcyBjb21taXQuXG4iCi1tc2dzdHIgIiIKLSLQndC10LLQvtC30LzQvtC20L3QviDQv9GA0LXRgNCy0LDRgtGMINC40YHQv9GA0LDQstC70LXQvdC40LUuXG4iCi0iXG4iCi0i0JfQsNCy0LXRgNGI0LjRgtC1INGC0LXQutGD0YnQtdC1INC40YHQv9GA0LDQstC70LXQvdC40LUg0YHQvtGF0YDQsNC90LXQvdC90L7Qs9C+INGB0L7RgdGC0L7Rj9C90LjRjy5cbiIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0L/RgNC10YDQstCw0YLRjCDQuNGB0L/RgNCw0LLQu9C10L3QuNC1LlxuXG7Ql9Cw0LLQtdGA0YjQuNGC0LUg0YLQtdC60YPRidC10LUg0LjRgdC/0YDQsNCy0LvQtdC90LjQtSDQutC+0LzQvNC40YLQsC5cbiIKIAogIzogbGliL21lcmdlLnRjbDoyMjIKIG1zZ2lkICIiCkBAIC0xODU4LDEyICsxNzExLDcgQEAKICJBYm9ydGluZyB0aGUgY3VycmVudCBtZXJnZSB3aWxsIGNhdXNlICpBTEwqIHVuY29tbWl0dGVkIGNoYW5nZXMgdG8gYmUgbG9zdC5cbiIKICJcbiIKICJDb250aW51ZSB3aXRoIGFib3J0aW5nIHRoZSBjdXJyZW50IG1lcmdlPyIKLW1zZ3N0ciAiIgotItCf0YDQtdGA0LLQsNGC0Ywg0L7Qv9C10YDQsNGG0LjRjiDRgdC70LjRj9C90LjRjz9cbiIKLSJcbiIKLSLQn9GA0LXRgNGL0LLQsNC90LjQtSDRjdGC0L7QuSDQvtC/0LXRgNCw0YbQuNC4INC/0YDQuNCy0LXQtNC10YIg0Log0L/QvtGC0LXRgNC1ICrQktCh0JXQpSog0L3QtdGB0L7RhdGA0LDQvdC10L3QvdGL0YUg0LjQt9C80LXQvdC10L3QuNC5LlxuIgotIlxuIgotItCf0YDQvtC00L7Qu9C20LjRgtGMPyIKK21zZ3N0ciAi0J/RgNC10YDQstCw0YLRjCDQvtC/0LXRgNCw0YbQuNGOINGB0LvQuNGP0L3QuNGPP1xuXG7Qn9GA0LXRgNGL0LLQsNC90LjQtSDRgtC10LrRg9GJ0LXQs9C+INGB0LvQuNGP0L3QuNGPINC/0YDQuNCy0LXQtNC10YIg0Log0L/QvtGC0LXRgNC1ICrQktCh0JXQpSog0L3QtdGB0L7RhdGA0LDQvdC10L3QvdGL0YUg0LjQt9C80LXQvdC10L3QuNC5LlxuXG7Qn9GA0L7QtNC+0LvQttC40YLRjD8iCiAKICM6IGxpYi9tZXJnZS50Y2w6MjI4CiBtc2dpZCAiIgpAQCAtMTg3MiwxMiArMTcyMCw3IEBACiAiUmVzZXR0aW5nIHRoZSBjaGFuZ2VzIHdpbGwgY2F1c2UgKkFMTCogdW5jb21taXR0ZWQgY2hhbmdlcyB0byBiZSBsb3N0LlxuIgogIlxuIgogIkNvbnRpbnVlIHdpdGggcmVzZXR0aW5nIHRoZSBjdXJyZW50IGNoYW5nZXM/IgotbXNnc3RyICIiCi0i0J/RgNC10YDQstCw0YLRjCDQvtC/0LXRgNCw0YbQuNGOINGB0LvQuNGP0L3QuNGPP1xuIgotIlxuIgotItCf0YDQtdGA0YvQstCw0L3QuNC1INGN0YLQvtC5INC+0L/QtdGA0LDRhtC40Lgg0L/RgNC40LLQtdC00LXRgiDQuiDQv9C+0YLQtdGA0LUgKtCS0KHQldClKiDQvdC10YHQvtGF0YDQsNC90LXQvdC90YvRhSDQuNC30LzQtdC90LXQvdC40LkuXG4iCi0iXG4iCi0i0J/RgNC+0LTQvtC70LbQuNGC0Yw/IgorbXNnc3RyICLQodCx0YDQvtGB0LjRgtGMINC40LfQvNC10L3QtdC90LjRjz9cblxu0KHQsdGA0L7RgSDQuNC30LzQtdC90LXQvdC40Lkg0L/RgNC40LLQtdC00LXRgiDQuiDQv9C+0YLQtdGA0LUgKtCS0KHQldClKiDQvdC10YHQvtGF0YDQsNC90LXQvdC90YvRhSDQuNC30LzQtdC90LXQvdC40LkuXG5cbtCf0YDQvtC00L7Qu9C20LjRgtGMPyIKIAogIzogbGliL21lcmdlLnRjbDoyMzkKIG1zZ2lkICJBYm9ydGluZyIKQEAgLTE5MDEsMTEgKzE3NDQsMTEgQEAKIAogIzogbGliL21lcmdldG9vbC50Y2w6OQogbXNnaWQgIkZvcmNlIHJlc29sdXRpb24gdG8gdGhpcyBicmFuY2g/IgotbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LLQtdGA0YHQuNGOINGN0YLQvtC5INCy0LXRgtCy0Lgg0LTQu9GPINGA0LDQt9GA0LXRiNC10L3QuNGPINC60L7QvdGE0LvQuNC60YLQsD8iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0YLRjCDQstC10YDRgdC40Y4g0LjQtyDRjdGC0L7QuSDQstC10YLQutC4INC00LvRjyDRgNCw0LfRgNC10YjQtdC90LjRjyDQutC+0L3RhNC70LjQutGC0LA/IgogCiAjOiBsaWIvbWVyZ2V0b29sLnRjbDoxMAogbXNnaWQgIkZvcmNlIHJlc29sdXRpb24gdG8gdGhlIG90aGVyIGJyYW5jaD8iCi1tc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0YLRjCDQstC10YDRgdC40Y4g0LTRgNGD0LPQvtC5INCy0LXRgtCy0Lgg0LTQu9GPINGA0LDQt9GA0LXRiNC10L3QuNGPINC60L7QvdGE0LvQuNC60YLQsD8iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0YLRjCDQstC10YDRgdC40Y4g0LjQtyDQtNGA0YPQs9C+0Lkg0LLQtdGC0LrQuCDQtNC70Y8g0YDQsNC30YDQtdGI0LXQvdC40Y8g0LrQvtC90YTQu9C40LrRgtCwPyIKIAogIzogbGliL21lcmdldG9vbC50Y2w6MTQKICMsIHRjbC1mb3JtYXQKQEAgLTE5MTUsMTkgKzE3NTgsMTIgQEAKICIlcyB3aWxsIGJlIG92ZXJ3cml0dGVuLlxuIgogIlxuIgogIlRoaXMgb3BlcmF0aW9uIGNhbiBiZSB1bmRvbmUgb25seSBieSByZXN0YXJ0aW5nIHRoZSBtZXJnZS4iCi1tc2dzdHIgIiIKLSLQktC90LjQvNCw0L3QuNC1ISDQodC/0LjRgdC+0Log0LjQt9C80LXQvdC10L3QuNC5INC/0L7QutCw0LfRi9Cy0LDQtdGCINGC0L7Qu9GM0LrQviDQutC+0L3RhNC70LjQutGC0YPRjtGJ0LjQtSDQvtGC0LvQuNGH0LjRjy5cbiIKLSJcbiIKLSIlcyDQsdGD0LTQtdGCINC/0LXRgNC10L/QuNGB0LDQvS5cbiIKLSJcbiIKLSLQrdGC0L4g0LTQtdC50YHRgtCy0LjQtSDQvNC+0LbQvdC+INC+0YLQvNC10L3QuNGC0Ywg0YLQvtC70YzQutC+INC/0LXRgNC10LfQsNC/0YPRgdC60L7QvCDQvtC/0LXRgNCw0YbQuNC4INGB0LvQuNGP0L3QuNGPLiIKK21zZ3N0ciAi0JLQvdC40LzQsNC90LjQtSEg0KHQv9C40YHQvtC6INC40LfQvNC10L3QtdC90LjQuSDQv9C+0LrQsNC30YvQstCw0LXRgiDRgtC+0LvRjNC60L4g0LrQvtC90YTQu9C40LrRgtGD0Y7RidC40LUg0L7RgtC70LjRh9C40Y8uXG5cbiVzINCx0YPQtNC10YIg0L/QtdGA0LXQv9C40YHQsNC9LlxuXG7QrdGC0L4g0LTQtdC50YHRgtCy0LjQtSDQvNC+0LbQvdC+INC+0YLQvNC10L3QuNGC0Ywg0YLQvtC70YzQutC+INC/0LXRgNC10LfQsNC/0YPRgdC60L7QvCDQvtC/0LXRgNCw0YbQuNC4INGB0LvQuNGP0L3QuNGPLiIKIAogIzogbGliL21lcmdldG9vbC50Y2w6NDUKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJGaWxlICVzIHNlZW1zIHRvIGhhdmUgdW5yZXNvbHZlZCBjb25mbGljdHMsIHN0aWxsIHN0YWdlPyIKLW1zZ3N0ciAiIgotItCk0LDQudC7ICVzLCDQv9C+0YXQvtC20LUsINGB0L7QtNC10YDQttC40YIg0L3QtdC+0LHRgNCw0LHQvtGC0LDQvdC90YvQtSDQutC+0L3RhNC70LjQutGC0YsuINCf0YDQvtC00L7Qu9C20LjRgtGMINC/0L7QtNCz0L7RgtC+0LLQutGDINC6ICIKLSLRgdC+0YXRgNCw0L3QtdC90LjRjj8iCittc2dzdHIgItCf0L7RhdC+0LbQtSwg0YfRgtC+INGE0LDQudC7ICVzINGB0L7QtNC10YDQttC40YIg0L3QtdGA0LDQt9GA0LXRiNC10L3QvdGL0LUg0LrQvtC90YTQu9C40LrRgtGLLiDQn9GA0L7QtNC+0LvQttC40YLRjCDQuNC90LTQtdC60YHQsNGG0LjRjj8iCiAKICM6IGxpYi9tZXJnZXRvb2wudGNsOjYwCiAjLCB0Y2wtZm9ybWF0CkBAIC0xOTM2LDggKzE3NzIsNyBAQAogCiAjOiBsaWIvbWVyZ2V0b29sLnRjbDoxNDEKIG1zZ2lkICJDYW5ub3QgcmVzb2x2ZSBkZWxldGlvbiBvciBsaW5rIGNvbmZsaWN0cyB1c2luZyBhIHRvb2wiCi1tc2dzdHIgIiIKLSLQn9GA0L7Qs9GA0LDQvNC80LAg0YHQu9C40Y/QvdC40Y8g0L3QtSDQvtCx0YDQsNCx0LDRgtGL0LLQsNC10YIg0LrQvtC90YTQu9C40LrRgtGLINGBINGD0LTQsNC70LXQvdC40LXQvCDQuNC70Lgg0YPRh9Cw0YHRgtC40LXQvCDRgdGB0YvQu9C+0LoiCittc2dzdHIgItCf0YDQvtCz0YDQsNC80LzQsCDRgdC70LjRj9C90LjRjyDQvdC1INC+0LHRgNCw0LHQsNGC0YvQstCw0LXRgiDQutC+0L3RhNC70LjQutGC0Ysg0YEg0YPQtNCw0LvQtdC90LjQtdC8INC40LvQuCDRg9GH0LDRgdGC0LjQtdC8INGB0YHRi9C70L7QuiIKIAogIzogbGliL21lcmdldG9vbC50Y2w6MTQ2CiBtc2dpZCAiQ29uZmxpY3QgZmlsZSBkb2VzIG5vdCBleGlzdCIKQEAgLTE5NDYsMTIgKzE3ODEsMTIgQEAKICM6IGxpYi9tZXJnZXRvb2wudGNsOjI2NAogIywgdGNsLWZvcm1hdAogbXNnaWQgIk5vdCBhIEdVSSBtZXJnZSB0b29sOiAnJXMnIgotbXNnc3RyICInJXMnINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQv9GA0L7Qs9GA0LDQvNC80L7QuSDRgdC70LjRj9C90LjRjyIKK21zZ3N0ciAiwqslc8K7INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQv9GA0L7Qs9GA0LDQvNC80L7QuSDRgdC70LjRj9C90LjRjyIKIAogIzogbGliL21lcmdldG9vbC50Y2w6MjY4CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiVW5zdXBwb3J0ZWQgbWVyZ2UgdG9vbCAnJXMnIgotbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0L3QsNGPINC/0YDQvtCz0YDQsNC80LzQsCDRgdC70LjRj9C90LjRjyAnJXMnIgorbXNnc3RyICLQndC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80LDRjyDQv9GA0L7Qs9GA0LDQvNC80LAg0YHQu9C40Y/QvdC40Y8gwqslc8K7IgogCiAjOiBsaWIvbWVyZ2V0b29sLnRjbDozMDMKIG1zZ2lkICJNZXJnZSB0b29sIGlzIGFscmVhZHkgcnVubmluZywgdGVybWluYXRlIGl0PyIKQEAgLTE5NjIsOSArMTc5Nyw3IEBACiBtc2dpZCAiIgogIkVycm9yIHJldHJpZXZpbmcgdmVyc2lvbnM6XG4iCiAiJXMiCi1tc2dzdHIgIiIKLSLQntGI0LjQsdC60LAg0L/QvtC70YPRh9C10L3QuNGPINCy0LXRgNGB0LjQuTpcbiIKLSIlcyIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC/0L7Qu9GD0YfQtdC90LjRjyDQstC10YDRgdC40Lk6XG4lcyIKIAogIzogbGliL21lcmdldG9vbC50Y2w6MzQzCiAjLCB0Y2wtZm9ybWF0CkBAIC0xOTcyLDE0ICsxODA1LDExIEBACiAiQ291bGQgbm90IHN0YXJ0IHRoZSBtZXJnZSB0b29sOlxuIgogIlxuIgogIiVzIgotbXNnc3RyICIiCi0i0J7RiNC40LHQutCwINC30LDQv9GD0YHQutCwINC/0YDQvtCz0YDQsNC80LzRiyDRgdC70LjRj9C90LjRjzpcbiIKLSJcbiIKLSIlcyIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC30LDQv9GD0YHQutCwINC/0YDQvtCz0YDQsNC80LzRiyDRgdC70LjRj9C90LjRjzpcblxuJXMiCiAKICM6IGxpYi9tZXJnZXRvb2wudGNsOjM0NwogbXNnaWQgIlJ1bm5pbmcgbWVyZ2UgdG9vbC4uLiIKLW1zZ3N0ciAi0JfQsNC/0YPRgdC6INC/0YDQvtCz0YDQsNC80LzRiyDRgdC70LjRj9C90LjRjy4uLiIKK21zZ3N0ciAi0JfQsNC/0YPRgdC6INC/0YDQvtCz0YDQsNC80LzRiyDRgdC70LjRj9C90LjRj+KApiIKIAogIzogbGliL21lcmdldG9vbC50Y2w6Mzc1IGxpYi9tZXJnZXRvb2wudGNsOjM4MwogbXNnaWQgIk1lcmdlIHRvb2wgZmFpbGVkLiIKQEAgLTE5ODgsMTIgKzE4MTgsMTIgQEAKICM6IGxpYi9vcHRpb24udGNsOjExCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBnbG9iYWwgZW5jb2RpbmcgJyVzJyIKLW1zZ3N0ciAi0J7RiNC40LHQutCwINCyINCz0LvQvtCx0LDQu9GM0L3QvtC5INGD0YHRgtCw0L3QvtCy0LrQtSDQutC+0LTQuNGA0L7QstC60LggJyVzJyIKK21zZ3N0ciAi0J3QtdCy0LXRgNC90LDRjyDQs9C70L7QsdCw0LvRjNC90LDRjyDQutC+0LTQuNGA0L7QstC60LAgwqslc8K7IgogCiAjOiBsaWIvb3B0aW9uLnRjbDoxOQogIywgdGNsLWZvcm1hdAogbXNnaWQgIkludmFsaWQgcmVwbyBlbmNvZGluZyAnJXMnIgotbXNnc3RyICLQndC10LLQtdGA0L3QsNGPINC60L7QtNC40YDQvtCy0LrQsCDRgNC10L/QvtC30LjRgtC+0YDQuNGPOiAnJXMnIgorbXNnc3RyICLQndC10LLQtdGA0L3QsNGPINC60L7QtNC40YDQvtCy0LrQsCDRgNC10L/QvtC30LjRgtC+0YDQuNGPIMKrJXPCuyIKIAogIzogbGliL29wdGlvbi50Y2w6MTE3CiBtc2dpZCAiUmVzdG9yZSBEZWZhdWx0cyIKQEAgLTIwMjIsNyArMTg1Miw3IEBACiAKICM6IGxpYi9vcHRpb24udGNsOjE0MQogbXNnaWQgIlN1bW1hcml6ZSBNZXJnZSBDb21taXRzIgotbXNnc3RyICLQodGD0LzQvNCw0YDQvdGL0Lkg0LrQvtC80LzQtdC90YLQsNGA0LjQuSDQv9GA0Lgg0YHQu9C40Y/QvdC40LgiCittc2dzdHIgItCh0YPQvNC80LDRgNC90L7QtSDRgdC+0L7QsdGJ0LXQvdC40LUg0L/RgNC4INGB0LvQuNGP0L3QuNC4IgogCiAjOiBsaWIvb3B0aW9uLnRjbDoxNDIKIG1zZ2lkICJNZXJnZSBWZXJib3NpdHkiCkBAIC0yMDQyLDExICsxODcyLDExIEBACiAKICM6IGxpYi9vcHRpb24udGNsOjE0NwogbXNnaWQgIlBydW5lIFRyYWNraW5nIEJyYW5jaGVzIER1cmluZyBGZXRjaCIKLW1zZ3N0ciAi0KfQuNGB0YLQutCwINCy0LXRgtCy0LXQuSDRgdC70LXQttC10L3QuNGPINC/0YDQuCDQv9C+0LvRg9GH0LXQvdC40Lgg0LjQt9C80LXQvdC10L3QuNC5IgorbXNnc3RyICLQp9C40YHRgtC60LAg0L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0LLQtdGC0L7QuiDQv9GA0Lgg0LjQt9Cy0LvQtdGH0LXQvdC40Lgg0LjQt9C80LXQvdC10L3QuNC5IgogCiAjOiBsaWIvb3B0aW9uLnRjbDoxNDgKIG1zZ2lkICJNYXRjaCBUcmFja2luZyBCcmFuY2hlcyIKLW1zZ3N0ciAi0JjQvNGPINC90L7QstC+0Lkg0LLQtdGC0LLQuCDQstC30Y/RgtGMINC40Lcg0LjQvNC10L0g0LLQtdGC0LLQtdC5INGB0LvQtdC20LXQvdC40Y8iCittc2dzdHIgItCi0LDQutC+0LUg0LbQtSDQuNC80Y8sINC60LDQuiDQuCDRgyDQvtGC0YHQu9C10LbQuNCy0LDQtdC80L7QuSDQstC10YLQutC4IgogCiAjOiBsaWIvb3B0aW9uLnRjbDoxNDkKIG1zZ2lkICJCbGFtZSBDb3B5IE9ubHkgT24gQ2hhbmdlZCBGaWxlcyIKQEAgLTIwNjYsMTEgKzE4OTYsMTEgQEAKIAogIzogbGliL29wdGlvbi50Y2w6MTUzCiBtc2dpZCAiQ29tbWl0IE1lc3NhZ2UgVGV4dCBXaWR0aCIKLW1zZ3N0ciAi0KjQuNGA0LjQvdCwINGC0LXQutGB0YLQsCDQutC+0LzQvNC10L3RgtCw0YDQuNGPIgorbXNnc3RyICLQqNC40YDQuNC90LAg0YLQtdC60YHRgtCwINGB0L7QvtCx0YnQtdC90LjRjyDQutC+0LzQvNC40YLQsCIKIAogIzogbGliL29wdGlvbi50Y2w6MTU0CiBtc2dpZCAiTmV3IEJyYW5jaCBOYW1lIFRlbXBsYXRlIgotbXNnc3RyICLQqNCw0LHQu9C+0L0g0LTQu9GPINC40LzQtdC90Lgg0L3QvtCy0L7QuSDQstC10YLQstC4IgorbXNnc3RyICLQqNCw0LHQu9C+0L0g0LTQu9GPINC40LzQtdC90Lgg0L3QvtCy0L7QuSDQstC10YLQutC4IgogCiAjOiBsaWIvb3B0aW9uLnRjbDoxNTUKIG1zZ2lkICJEZWZhdWx0IEZpbGUgQ29udGVudHMgRW5jb2RpbmciCkBAIC0yMDkzLDcgKzE5MjMsNiBAQAogbXNnaWQgIkNob29zZSAlcyIKIG1zZ3N0ciAi0JLRi9Cx0LXRgNC40YLQtSAlcyIKIAotIyBjYXJib24gY29weQogIzogbGliL29wdGlvbi50Y2w6MjY0CiBtc2dpZCAicHQuIgogbXNnc3RyICJwdC4iCkBAIC0yMTE2LDcgKzE5NDUsNyBAQAogCiAjOiBsaWIvcmVtb3RlLnRjbDoxNzMKIG1zZ2lkICJGZXRjaCBmcm9tIgotbXNnc3RyICLQn9C+0LvRg9GH0LXQvdC40LUg0LjQtyIKK21zZ3N0ciAi0JjQt9Cy0LvQtdGH0LXQvdC40LUg0LjQtyIKIAogIzogbGliL3JlbW90ZS50Y2w6MjE1CiBtc2dpZCAiUHVzaCB0byIKQEAgLTIxMzIsNyArMTk2MSw3IEBACiAKICM6IGxpYi9yZW1vdGVfYWRkLnRjbDoyOCBsaWIvdG9vbHNfZGxnLnRjbDozNgogbXNnaWQgIkFkZCIKLW1zZ3N0ciAiIgorbXNnc3RyICLQlNC+0LHQsNCy0LjRgtGMIgogCiAjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MzcKIG1zZ2lkICJSZW1vdGUgRGV0YWlscyIKQEAgLTIxNDgsNyArMTk3Nyw3IEBACiAKICM6IGxpYi9yZW1vdGVfYWRkLnRjbDo2NQogbXNnaWQgIkZldGNoIEltbWVkaWF0ZWx5IgotbXNnc3RyICLQodC60LDRh9Cw0YLRjCDRgdGA0LDQt9GDIgorbXNnc3RyICLQodGA0LDQt9GDINC40LfQstC70LXRh9GMINC40LfQvNC10L3QtdC90LjRjyIKIAogIzogbGliL3JlbW90ZV9hZGQudGNsOjcxCiBtc2dpZCAiSW5pdGlhbGl6ZSBSZW1vdGUgUmVwb3NpdG9yeSBhbmQgUHVzaCIKQEAgLTIxNjUsMjcgKzE5OTQsMjcgQEAKICM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMTQKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhbiBhY2NlcHRhYmxlIHJlbW90ZSBuYW1lLiIKLW1zZ3N0ciAi0J3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INC90LDQt9Cy0LDQvdC40LUg0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPICclcycuIgorbXNnc3RyICLCqyVzwrsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00L7Qv9GD0YHRgtC40LzRi9C8INC40LzQtdC90LXQvCDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8uIgogCiAjOiBsaWIvcmVtb3RlX2FkZC50Y2w6MTI1CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGFkZCByZW1vdGUgJyVzJyBvZiBsb2NhdGlvbiAnJXMnLiIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQtNC+0LHQsNCy0LjRgtGMICclcycg0LjQtyAnJXMnLiAiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LTQvtCx0LDQstC40YLRjCDCqyVzwrsg0LjQtyDCqyVzwrsuICIKIAogIzogbGliL3JlbW90ZV9hZGQudGNsOjEzMyBsaWIvdHJhbnNwb3J0LnRjbDo2CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiZmV0Y2ggJXMiCi1tc2dzdHIgItC/0L7Qu9GD0YfQtdC90LjQtSAlcyIKK21zZ3N0ciAi0LjQt9Cy0LvQtdGH0LXQvdC40LUgJXMiCiAKICM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxMzQKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyB0aGUgJXMiCi1tc2dzdHIgItCf0L7Qu9GD0YfQtdC90LjQtSAlcyIKK21zZ3N0ciAi0JjQt9Cy0LvQtdGH0LXQvdC40LUgJXMiCiAKICM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxNTcKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJEbyBub3Qga25vdyBob3cgdG8gaW5pdGlhbGl6ZSByZXBvc2l0b3J5IGF0IGxvY2F0aW9uICclcycuIgotbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0YLRjCDRgNC10L/QvtC30LjRgtC+0YDQuNC5INCyICclcycuIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0YLRjCDRgNC10L/QvtC30LjRgtC+0YDQuNC5INCyIMKrJXPCuy4iCiAKICM6IGxpYi9yZW1vdGVfYWRkLnRjbDoxNjMgbGliL3RyYW5zcG9ydC50Y2w6MjUgbGliL3RyYW5zcG9ydC50Y2w6NjMKICM6IGxpYi90cmFuc3BvcnQudGNsOjgxCkBAIC0yMjAwLDcgKzIwMjksNyBAQAogCiAjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjI5IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6MzQKIG1zZ2lkICJEZWxldGUgQnJhbmNoIFJlbW90ZWx5IgotbXNnc3RyICLQo9C00LDQu9C10L3QuNC1INCy0LXRgtCy0Lgg0LLQviDQstC90LXRiNC90LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4IgorbXNnc3RyICLQo9C00LDQu9C10L3QuNC1INCy0LXRgtC60Lgg0LLQviDQstC90LXRiNC90LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4IgogCiAjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjQ3CiBtc2dpZCAiRnJvbSBSZXBvc2l0b3J5IgpAQCAtMjIxNiw3ICsyMDQ1LDcgQEAKIAogIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDo4NAogbXNnaWQgIkJyYW5jaGVzIgotbXNnc3RyICLQktC10YLQstC4IgorbXNnc3RyICLQktC10YLQutC4IgogCiAjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjEwOQogbXNnaWQgIkRlbGV0ZSBPbmx5IElmIgpAQCAtMjIyOCw3ICsyMDU3LDcgQEAKIAogIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxNTIKIG1zZ2lkICJBIGJyYW5jaCBpcyByZXF1aXJlZCBmb3IgJ01lcmdlZCBJbnRvJy4iCi1tc2dzdHIgItCU0LvRjyDQvtC/0YbQuNC4ICfQodC70LjRj9C90LjQtSDRgScg0YLRgNC10LHRg9C10YLRgdGPINGD0LrQsNC30LDRgtGMINCy0LXRgtCy0YwuIgorbXNnc3RyICLQlNC70Y8g0L7Qv9C10YDQsNGG0LjQuCDCq9Ch0LvQuNGP0L3QuNC1INGBwrsg0YLRgNC10LHRg9C10YLRgdGPINGD0LrQsNC30LDRgtGMINCy0LXRgtC60YMuIgogCiAjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjE4NAogIywgdGNsLWZvcm1hdApAQCAtMjIzNiwyOCArMjA2NSwyMyBAQAogIlRoZSBmb2xsb3dpbmcgYnJhbmNoZXMgYXJlIG5vdCBjb21wbGV0ZWx5IG1lcmdlZCBpbnRvICVzOlxuIgogIlxuIgogIiAtICVzIgotbXNnc3RyICIiCi0i0KHQu9C10LTRg9GO0YnQuNC1INCy0LXRgtCy0Lgg0LzQvtCz0YPRgiDQsdGL0YLRjCDQvtCx0YrQtdC00LjQvdC10L3RiyDRgSAlcyDQv9GA0Lgg0L/QvtC80L7RidC4INC+0L/QtdGA0LDRhtC40Lgg0YHQu9C40Y/QvdC40Y86XG4iCi0iXG4iCi0iIC0gJXMiCittc2dzdHIgItCh0LvQtdC00YPRjtGJ0LjQtSDQstC10YLQutC4INC80L7Qs9GD0YIg0LHRi9GC0Ywg0L7QsdGK0LXQtNC40L3QtdC90Ysg0YEgJXMg0L/RgNC4INC/0L7QvNC+0YnQuCDQvtC/0LXRgNCw0YbQuNC4INGB0LvQuNGP0L3QuNGPOlxuXG4gLSAlcyIKIAogIzogbGliL3JlbW90ZV9icmFuY2hfZGVsZXRlLnRjbDoxODkKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICIiCiAiT25lIG9yIG1vcmUgb2YgdGhlIG1lcmdlIHRlc3RzIGZhaWxlZCBiZWNhdXNlIHlvdSBoYXZlIG5vdCBmZXRjaGVkIHRoZSAiCiAibmVjZXNzYXJ5IGNvbW1pdHMuICBUcnkgZmV0Y2hpbmcgZnJvbSAlcyBmaXJzdC4iCi1tc2dzdHIgIiIKLSLQndC10LrQvtGC0L7RgNGL0LUg0YLQtdGB0YLRiyDQvdCwINGB0LvQuNGP0L3QuNC1INC90LUg0L/RgNC+0YjQu9C4LCDQv9C+0YLQvtC80YMg0YfRgtC+INCS0Ysg0L3QtSDQv9C+0LvRg9GH0LjQu9C4INC90LXQvtCx0YXQvtC00LjQvNGL0LUgIgotItGB0L7RgdGC0L7Rj9C90LjRjy4g0J/QvtC/0YvRgtCw0LnRgtC10YHRjCDQv9C+0LvRg9GH0LjRgtGMINC40YUg0LjQtyAlcy4iCittc2dzdHIgItCd0LXQutC+0YLQvtGA0YvQtSDRgtC10YHRgtGLINC90LAg0YHQu9C40Y/QvdC40LUg0L3QtSDQv9GA0L7RiNC70LgsINC/0L7RgtC+0LzRgyDRh9GC0L4g0LLRiyDQvdC1INC40LfQstC70LXQutC70Lgg0L3QtdC+0LHRhdC+0LTQuNC80YvQtSDQutC+0LzQvNC40YLRiy4g0J/QvtC/0YvRgtCw0LnRgtC10YHRjCDQuNC30LLQu9C10YfRjCDQuNGFINC40LcgJXMuIgogCiAjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjIwNwogbXNnaWQgIlBsZWFzZSBzZWxlY3Qgb25lIG9yIG1vcmUgYnJhbmNoZXMgdG8gZGVsZXRlLiIKLW1zZ3N0ciAi0KPQutCw0LbQuNGC0LUg0L7QtNC90YMg0LjQu9C4INC90LXRgdC60L7Qu9GM0LrQviDQstC10YLQstC10Lkg0LTQu9GPINGD0LTQsNC70LXQvdC40Y8uIgorbXNnc3RyICLQo9C60LDQttC40YLQtSDQvtC00L3RgyDQuNC70Lgg0L3QtdGB0LrQvtC70YzQutC+INCy0LXRgtC+0Log0LTQu9GPINGD0LTQsNC70LXQvdC40Y8uIgogCiAjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjIyNgogIywgdGNsLWZvcm1hdAogbXNnaWQgIkRlbGV0aW5nIGJyYW5jaGVzIGZyb20gJXMiCi1tc2dzdHIgItCj0LTQsNC70LXQvdC40LUg0LLQtdGC0LLQtdC5INC40LcgJXMiCittc2dzdHIgItCj0LTQsNC70LXQvdC40LUg0LLQtdGC0L7QuiDQuNC3ICVzIgogCiAjOiBsaWIvcmVtb3RlX2JyYW5jaF9kZWxldGUudGNsOjI5MgogbXNnaWQgIk5vIHJlcG9zaXRvcnkgc2VsZWN0ZWQuIgpAQCAtMjI2Niw3ICsyMDkwLDcgQEAKICM6IGxpYi9yZW1vdGVfYnJhbmNoX2RlbGV0ZS50Y2w6Mjk3CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiU2Nhbm5pbmcgJXMuLi4iCi1tc2dzdHIgItCf0LXRgNC10YfQuNGC0YvQstCw0L3QuNC1ICVzLi4uICIKK21zZ3N0ciAi0J/QtdGA0LXRh9C40YLRi9Cy0LDQvdC40LUgJXPigKYiCiAKICM6IGxpYi9zZWFyY2gudGNsOjIxCiBtc2dpZCAiRmluZDoiCkBAIC0yMzUyLDcgKzIxNzYsNyBAQAogCiAjOiBsaWIvc3Noa2V5LnRjbDo3OAogbXNnaWQgIkdlbmVyYXRpbmcuLi4iCi1tc2dzdHIgItCh0L7Qt9C00LDQvdC40LUuLi4iCittc2dzdHIgItCh0L7Qt9C00LDQvdC40LXigKYiCiAKICM6IGxpYi9zc2hrZXkudGNsOjg0CiAjLCB0Y2wtZm9ybWF0CkBAIC0yMzYwLDEwICsyMTg0LDcgQEAKICJDb3VsZCBub3Qgc3RhcnQgc3NoLWtleWdlbjpcbiIKICJcbiIKICIlcyIKLW1zZ3N0ciAiIgotItCe0YjQuNCx0LrQsCDQt9Cw0L/Rg9GB0LrQsCBzc2gta2V5Z2VuOlxuIgotIlxuIgotIiVzIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0YPRgdC60LAgc3NoLWtleWdlbjpcblxuJXMiCiAKICM6IGxpYi9zc2hrZXkudGNsOjExMQogbXNnaWQgIkdlbmVyYXRpb24gZmFpbGVkLiIKQEAgLTIzODEsNyArMjIwMiw3IEBACiAjOiBsaWIvc3RhdHVzX2Jhci50Y2w6ODMKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICIlcyAuLi4gJSppIG9mICUqaSAlcyAoJTNpJSUpIgotbXNnc3RyICIlcyAuLi4gJSppINC40LcgJSppICVzICglM2klJSkiCittc2dzdHIgIiVzIOKApiAlKmkg0LjQtyAlKmkgJXMgKCUzaSUlKSIKIAogIzogbGliL3Rvb2xzLnRjbDo3NQogIywgdGNsLWZvcm1hdApAQCAtMjQzMSw3ICsyMjUyLDcgQEAKIAogIzogbGliL3Rvb2xzX2RsZy50Y2w6NDgKIG1zZ2lkICJVc2UgJy8nIHNlcGFyYXRvcnMgdG8gY3JlYXRlIGEgc3VibWVudSB0cmVlOiIKLW1zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSAnLycg0LTQu9GPINGB0L7Qt9C00LDQvdC40Y8g0L/QvtC00LzQtdC90Y4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30YPQudGC0LUgwqsvwrsg0LTQu9GPINGB0L7Qt9C00LDQvdC40Y8g0L/QvtC00LzQtdC90Y4iCiAKICM6IGxpYi90b29sc19kbGcudGNsOjYxCiBtc2dpZCAiQ29tbWFuZDoiCkBAIC0yNDY0LDE2ICsyMjg1LDE0IEBACiAjOiBsaWIvdG9vbHNfZGxnLnRjbDoxMjkKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJUb29sICclcycgYWxyZWFkeSBleGlzdHMuIgotbXNnc3RyICLQktGB0L/QvtC80L7Qs9Cw0YLQtdC70YzQvdCw0Y8g0L7Qv9C10YDQsNGG0LjRjyAnJXMnINGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgi4iCittc2dzdHIgItCS0YHQv9C+0LzQvtCz0LDRgtC10LvRjNC90LDRjyDQvtC/0LXRgNCw0YbQuNGPIMKrJXPCuyDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuIgogCiAjOiBsaWIvdG9vbHNfZGxnLnRjbDoxNTEKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGFkZCB0b29sOlxuIgogIiVzIgotbXNnc3RyICIiCi0i0J7RiNC40LHQutCwINC00L7QsdCw0LLQu9C10L3QuNGPINC/0YDQvtCz0YDQsNC80LzRizpcbiIKLSIlcyIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC00L7QsdCw0LLQu9C10L3QuNGPINC/0YDQvtCz0YDQsNC80LzRizpcbiVzIgogCiAjOiBsaWIvdG9vbHNfZGxnLnRjbDoxOTAKIG1zZ2lkICJSZW1vdmUgVG9vbCIKQEAgLTI1MDcsOSArMjMyNiw4IEBACiAjOiBsaWIvdHJhbnNwb3J0LnRjbDo3CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgbmV3IGNoYW5nZXMgZnJvbSAlcyIKLW1zZ3N0ciAi0J/QvtC70YPRh9C10L3QuNC1INC40LfQvNC10L3QtdC90LjQuSDQuNC3ICVzICIKK21zZ3N0ciAi0JjQt9Cy0LvQtdGH0LXQvdC40LUg0LjQt9C80LXQvdC10L3QuNC5INC40LcgJXMgIgogCi0jIGNhcmJvbiBjb3B5CiAjOiBsaWIvdHJhbnNwb3J0LnRjbDoxOAogIywgdGNsLWZvcm1hdAogbXNnaWQgInJlbW90ZSBwcnVuZSAlcyIKQEAgLTI1MTgsNyArMjMzNiw3IEBACiAjOiBsaWIvdHJhbnNwb3J0LnRjbDoxOQogIywgdGNsLWZvcm1hdAogbXNnaWQgIlBydW5pbmcgdHJhY2tpbmcgYnJhbmNoZXMgZGVsZXRlZCBmcm9tICVzIgotbXNnc3RyICLQp9C40YHRgtC60LAg0LLQtdGC0LLQtdC5INGB0LvQtdC20LXQvdC40Y8sINGD0LTQsNC70LXQvdC90YvRhSDQuNC3ICVzIgorbXNnc3RyICLQp9C40YHRgtC60LAg0L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0LLQtdGC0L7Quiwg0YPQtNCw0LvRkdC90L3Ri9GFINC40LcgJXMiCiAKICM6IGxpYi90cmFuc3BvcnQudGNsOjI2CiAjLCB0Y2wtZm9ybWF0CkBAIC0yNTM3LDExICsyMzU1LDExIEBACiAKICM6IGxpYi90cmFuc3BvcnQudGNsOjEwMAogbXNnaWQgIlB1c2ggQnJhbmNoZXMiCi1tc2dzdHIgItCe0YLQv9GA0LDQstC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0LIg0LLQtdGC0LLRj9GFIgorbXNnc3RyICLQntGC0L/RgNCw0LLQuNGC0Ywg0LLQtdGC0LrQuCIKIAogIzogbGliL3RyYW5zcG9ydC50Y2w6MTE0CiBtc2dpZCAiU291cmNlIEJyYW5jaGVzIgotbXNnc3RyICLQmNGB0YXQvtC00L3Ri9C1INCy0LXRgtCy0LgiCittc2dzdHIgItCY0YHRhdC+0LTQvdGL0LUg0LLQtdGC0LrQuCIKIAogIzogbGliL3RyYW5zcG9ydC50Y2w6MTMxCiBtc2dpZCAiRGVzdGluYXRpb24gUmVwb3NpdG9yeSIKQEAgLTI1NTMsNyArMjM3MSw3IEBACiAKICM6IGxpYi90cmFuc3BvcnQudGNsOjE3MQogbXNnaWQgIkZvcmNlIG92ZXJ3cml0ZSBleGlzdGluZyBicmFuY2ggKG1heSBkaXNjYXJkIGNoYW5nZXMpIgotbXNnc3RyICLQndCw0LzQtdGA0LXQvdC90L4g0L/QtdGA0LXQv9C40YHQsNGC0Ywg0YHRg9GJ0LXRgdGC0LLRg9GO0YnRg9GOINCy0LXRgtCy0YwgKNCy0L7Qt9C80L7QttC90LAg0L/QvtGC0LXRgNGPINC40LfQvNC10L3QtdC90LjQuSkiCittc2dzdHIgItCf0YDQuNC90YPQtNC40YLQtdC70YzQvdC+INC/0LXRgNC10LfQsNC/0LjRgdCw0YLRjCDRgdGD0YnQtdGB0YLQstGD0Y7RidGD0Y4g0LLQtdGC0LrRgyAo0LLQvtC30LzQvtC20L3QsCDQv9C+0YLQtdGA0Y8g0LjQt9C80LXQvdC10L3QuNC5KSIKIAogIzogbGliL3RyYW5zcG9ydC50Y2w6MTc1CiBtc2dpZCAiVXNlIHRoaW4gcGFjayAoZm9yIHNsb3cgbmV0d29yayBjb25uZWN0aW9ucykiCmRpZmYgLS1naXQgYS9naXQtbWVyZ2Utb2N0b3B1cy5zaCBiL2dpdC1tZXJnZS1vY3RvcHVzLnNoCmluZGV4IGRjMmZkMWIuLmJjZjBkOTIgMTAwNzU1Ci0tLSBhL2dpdC1tZXJnZS1vY3RvcHVzLnNoCisrKyBiL2dpdC1tZXJnZS1vY3RvcHVzLnNoCkBAIC01LDE0ICs1LDExIEBACiAjIFJlc29sdmUgdHdvIG9yIG1vcmUgdHJlZXMuCiAjCiAKKy4gZ2l0LXNoLXNldHVwCisKIExGPScKICcKIAotZGllICgpIHsKLSAgICBlY2hvID4mMiAiJCoiCi0gICAgZXhpdCAxCi19Ci0KICMgVGhlIGZpcnN0IHBhcmFtZXRlcnMgdXAgdG8gLS0gYXJlIG1lcmdlIGJhc2VzOyB0aGUgcmVzdCBhcmUgaGVhZHMuCiBiYXNlcz0gaGVhZD0gcmVtb3Rlcz0gc2VwX3NlZW49CiBmb3IgYXJnCkBAIC0zMyw3ICszMCw3IEBACiAJZXNhYwogZG9uZQogCi0jIFJlamVjdCBpZiB0aGlzIGlzIG5vdCBhbiBPY3RvcHVzIC0tIHJlc29sdmUgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KKyMgUmVqZWN0IGlmIHRoaXMgaXMgbm90IGFuIG9jdG9wdXMgLS0gcmVzb2x2ZSBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLgogY2FzZSAiJHJlbW90ZXMiIGluCiA/KicgJz8qKQogCTs7CkBAIC00Niw3ICs0Myw3IEBACiAKIGlmICEgZ2l0IGRpZmYtaW5kZXggLS1xdWlldCAtLWNhY2hlZCBIRUFEIC0tCiB0aGVuCi0gICAgZWNobyAiRXJyb3I6IFlvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlIgorICAgIGdldHRleHRsbiAiRXJyb3I6IFlvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlIgogICAgIGdpdCBkaWZmLWluZGV4IC0tY2FjaGVkIC0tbmFtZS1vbmx5IEhFQUQgLS0gfCBzZWQgLWUgJ3MvXi8gICAgLycKICAgICBleGl0IDIKIGZpCkBAIC02MSw4ICs1OCw4IEBACiAJCSMgV2UgYWxsb3cgb25seSBsYXN0IG9uZSB0byBoYXZlIGEgaGFuZC1yZXNvbHZhYmxlCiAJCSMgY29uZmxpY3RzLiAgTGFzdCByb3VuZCBmYWlsZWQgYW5kIHdlIHN0aWxsIGhhZAogCQkjIGEgaGVhZCB0byBtZXJnZS4KLQkJZWNobyAiQXV0b21hdGVkIG1lcmdlIGRpZCBub3Qgd29yay4iCi0JCWVjaG8gIlNob3VsZCBub3QgYmUgZG9pbmcgYW4gT2N0b3B1cy4iCisJCWdldHRleHRsbiAiQXV0b21hdGVkIG1lcmdlIGRpZCBub3Qgd29yay4iCisJCWdldHRleHRsbiAiU2hvdWxkIG5vdCBiZSBkb2luZyBhbiBvY3RvcHVzLiIKIAkJZXhpdCAyCiAJZXNhYwogCkBAIC03MywxMSArNzAsMTEgQEAKIAkJZXZhbCBwcmV0dHlfbmFtZT1cJHtHSVRIRUFEXyRTSEExX1VQOi0kcHJldHR5X25hbWV9CiAJZmkKIAljb21tb249JChnaXQgbWVyZ2UtYmFzZSAtLWFsbCAkU0hBMSAkTVJDKSB8fAotCQlkaWUgIlVuYWJsZSB0byBmaW5kIGNvbW1vbiBjb21taXQgd2l0aCAkcHJldHR5X25hbWUiCisJCWRpZSAiJChldmFsX2dldHRleHQgIlVuYWJsZSB0byBmaW5kIGNvbW1vbiBjb21taXQgd2l0aCBcJHByZXR0eV9uYW1lIikiCiAKIAljYXNlICIkTEYkY29tbW9uJExGIiBpbgogCSoiJExGJFNIQTEkTEYiKikKLQkJZWNobyAiQWxyZWFkeSB1cC10by1kYXRlIHdpdGggJHByZXR0eV9uYW1lIgorCQlldmFsX2dldHRleHRsbiAiQWxyZWFkeSB1cC10by1kYXRlIHdpdGggXCRwcmV0dHlfbmFtZSIKIAkJY29udGludWUKIAkJOzsKIAllc2FjCkBAIC04OSw3ICs4Niw3IEBACiAJCSMgdHJlZSBhcyB0aGUgaW50ZXJtZWRpYXRlIHJlc3VsdCBvZiB0aGUgbWVyZ2UuCiAJCSMgV2Ugc3RpbGwgbmVlZCB0byBjb3VudCB0aGlzIGFzIHBhcnQgb2YgdGhlIHBhcmVudCBzZXQuCiAKLQkJZWNobyAiRmFzdC1mb3J3YXJkaW5nIHRvOiAkcHJldHR5X25hbWUiCisJCWV2YWxfZ2V0dGV4dGxuICJGYXN0LWZvcndhcmRpbmcgdG86IFwkcHJldHR5X25hbWUiCiAJCWdpdCByZWFkLXRyZWUgLXUgLW0gJGhlYWQgJFNIQTEgfHwgZXhpdAogCQlNUkM9JFNIQTEgTVJUPSQoZ2l0IHdyaXRlLXRyZWUpCiAJCWNvbnRpbnVlCkBAIC05NywxMiArOTQsMTIgQEAKIAogCU5PTl9GRl9NRVJHRT0xCiAKLQllY2hvICJUcnlpbmcgc2ltcGxlIG1lcmdlIHdpdGggJHByZXR0eV9uYW1lIgorCWV2YWxfZ2V0dGV4dGxuICJUcnlpbmcgc2ltcGxlIG1lcmdlIHdpdGggXCRwcmV0dHlfbmFtZSIKIAlnaXQgcmVhZC10cmVlIC11IC1tIC0tYWdncmVzc2l2ZSAgJGNvbW1vbiAkTVJUICRTSEExIHx8IGV4aXQgMgogCW5leHQ9JChnaXQgd3JpdGUtdHJlZSAyPi9kZXYvbnVsbCkKIAlpZiB0ZXN0ICQ/IC1uZSAwCiAJdGhlbgotCQllY2hvICJTaW1wbGUgbWVyZ2UgZGlkIG5vdCB3b3JrLCB0cnlpbmcgYXV0b21hdGljIG1lcmdlLiIKKwkJZ2V0dGV4dGxuICJTaW1wbGUgbWVyZ2UgZGlkIG5vdCB3b3JrLCB0cnlpbmcgYXV0b21hdGljIG1lcmdlLiIKIAkJZ2l0LW1lcmdlLWluZGV4IC1vIGdpdC1tZXJnZS1vbmUtZmlsZSAtYSB8fAogCQlPQ1RPUFVTX0ZBSUxVUkU9MQogCQluZXh0PSQoZ2l0IHdyaXRlLXRyZWUgMj4vZGV2L251bGwpCmRpZmYgLS1naXQgYS9naXQtbWVyZ2V0b29sLnNoIGIvZ2l0LW1lcmdldG9vbC5zaAppbmRleCBiZjg2MjcwLi5lNTJiNGU0IDEwMDc1NQotLS0gYS9naXQtbWVyZ2V0b29sLnNoCisrKyBiL2dpdC1tZXJnZXRvb2wuc2gKQEAgLTMsMTIgKzMsMTMgQEAKICMgVGhpcyBwcm9ncmFtIHJlc29sdmVzIG1lcmdlIGNvbmZsaWN0cyBpbiBnaXQKICMKICMgQ29weXJpZ2h0IChjKSAyMDA2IFRoZW9kb3JlIFkuIFRzJ28KKyMgQ29weXJpZ2h0IChjKSAyMDA5LTIwMTYgRGF2aWQgQWd1aWxhcgogIwogIyBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTCB2Miwgb3IgYSBsYXRlciB2ZXJzaW9uCiAjIGF0IHRoZSBkaXNjcmV0aW9uIG9mIEp1bmlvIEMgSGFtYW5vLgogIwogCi1VU0FHRT0nWy0tdG9vbD10b29sXSBbLS10b29sLWhlbHBdIFsteXwtLW5vLXByb21wdHwtLXByb21wdF0gW2ZpbGUgdG8gbWVyZ2VdIC4uLicKK1VTQUdFPSdbLS10b29sPXRvb2xdIFstLXRvb2wtaGVscF0gWy15fC0tbm8tcHJvbXB0fC0tcHJvbXB0XSBbLU88b3JkZXJmaWxlPl0gW2ZpbGUgdG8gbWVyZ2VdIC4uLicKIFNVQkRJUkVDVE9SWV9PSz1ZZXMKIE5PTkdJVF9PSz1ZZXMKIE9QVElPTlNfU1BFQz0KQEAgLTM2NSw1MSArMzY2LDYgQEAKIAlyZXR1cm4gMAogfQogCi1wcm9tcHQ9JChnaXQgY29uZmlnIC0tYm9vbCBtZXJnZXRvb2wucHJvbXB0KQotZ3Vlc3NlZF9tZXJnZV90b29sPWZhbHNlCi0KLXdoaWxlIHRlc3QgJCMgIT0gMAotZG8KLQljYXNlICIkMSIgaW4KLQktLXRvb2wtaGVscD0qKQotCQlUT09MX01PREU9JHsxIy0tdG9vbC1oZWxwPX0KLQkJc2hvd190b29sX2hlbHAKLQkJOzsKLQktLXRvb2wtaGVscCkKLQkJc2hvd190b29sX2hlbHAKLQkJOzsKLQktdHwtLXRvb2wqKQotCQljYXNlICIkIywkMSIgaW4KLQkJKiwqPSopCi0JCQltZXJnZV90b29sPSQoZXhwciAieiQxIiA6ICd6LVtePV0qPVwoLipcKScpCi0JCQk7OwotCQkxLCopCi0JCQl1c2FnZSA7OwotCQkqKQotCQkJbWVyZ2VfdG9vbD0iJDIiCi0JCQlzaGlmdCA7OwotCQllc2FjCi0JCTs7Ci0JLXl8LS1uby1wcm9tcHQpCi0JCXByb21wdD1mYWxzZQotCQk7OwotCS0tcHJvbXB0KQotCQlwcm9tcHQ9dHJ1ZQotCQk7OwotCS0tKQotCQlzaGlmdAotCQlicmVhawotCQk7OwotCS0qKQotCQl1c2FnZQotCQk7OwotCSopCi0JCWJyZWFrCi0JCTs7Ci0JZXNhYwotCXNoaWZ0Ci1kb25lCi0KIHByb21wdF9hZnRlcl9mYWlsZWRfbWVyZ2UgKCkgewogCXdoaWxlIHRydWUKIAlkbwpAQCAtNDI2LDU3ICszODIsMTEzIEBACiAJZG9uZQogfQogCi1naXRfZGlyX2luaXQKLXJlcXVpcmVfd29ya190cmVlCi0KLWlmIHRlc3QgLXogIiRtZXJnZV90b29sIgotdGhlbgotCSMgQ2hlY2sgaWYgYSBtZXJnZSB0b29sIGhhcyBiZWVuIGNvbmZpZ3VyZWQKLQltZXJnZV90b29sPSQoZ2V0X2NvbmZpZ3VyZWRfbWVyZ2VfdG9vbCkKLQkjIFRyeSB0byBndWVzcyBhbiBhcHByb3ByaWF0ZSBtZXJnZSB0b29sIGlmIG5vIHRvb2wgaGFzIGJlZW4gc2V0LgotCWlmIHRlc3QgLXogIiRtZXJnZV90b29sIgotCXRoZW4KLQkJbWVyZ2VfdG9vbD0kKGd1ZXNzX21lcmdlX3Rvb2wpIHx8IGV4aXQKLQkJZ3Vlc3NlZF9tZXJnZV90b29sPXRydWUKLQlmaQotZmkKLW1lcmdlX2tlZXBfYmFja3VwPSIkKGdpdCBjb25maWcgLS1ib29sIG1lcmdldG9vbC5rZWVwQmFja3VwIHx8IGVjaG8gdHJ1ZSkiCi1tZXJnZV9rZWVwX3RlbXBvcmFyaWVzPSIkKGdpdCBjb25maWcgLS1ib29sIG1lcmdldG9vbC5rZWVwVGVtcG9yYXJpZXMgfHwgZWNobyBmYWxzZSkiCi0KLWZpbGVzPQotCi1pZiB0ZXN0ICQjIC1lcSAwCi10aGVuCi0JY2RfdG9fdG9wbGV2ZWwKLQotCWlmIHRlc3QgLWUgIiRHSVRfRElSL01FUkdFX1JSIgotCXRoZW4KLQkJZmlsZXM9JChnaXQgcmVyZXJlIHJlbWFpbmluZykKLQllbHNlCi0JCWZpbGVzPSQoZ2l0IGxzLWZpbGVzIC11IHwgc2VkIC1lICdzL15bXgldKgkvLycgfCBzb3J0IC11KQotCWZpCi1lbHNlCi0JZmlsZXM9JChnaXQgbHMtZmlsZXMgLXUgLS0gIiRAIiB8IHNlZCAtZSAncy9eW14JXSoJLy8nIHwgc29ydCAtdSkKLWZpCi0KLWlmIHRlc3QgLXogIiRmaWxlcyIKLXRoZW4KK3ByaW50X25vb3BfYW5kX2V4aXQgKCkgewogCWVjaG8gIk5vIGZpbGVzIG5lZWQgbWVyZ2luZyIKIAlleGl0IDAKLWZpCit9CiAKLXByaW50ZiAiTWVyZ2luZzpcbiIKLXByaW50ZiAiJXNcbiIgIiRmaWxlcyIKK21haW4gKCkgeworCXByb21wdD0kKGdpdCBjb25maWcgLS1ib29sIG1lcmdldG9vbC5wcm9tcHQpCisJZ3Vlc3NlZF9tZXJnZV90b29sPWZhbHNlCisJb3JkZXJmaWxlPQogCi1yYz0wCi1mb3IgaSBpbiAkZmlsZXMKLWRvCi0JcHJpbnRmICJcbiIKLQlpZiAhIG1lcmdlX2ZpbGUgIiRpIgorCXdoaWxlIHRlc3QgJCMgIT0gMAorCWRvCisJCWNhc2UgIiQxIiBpbgorCQktLXRvb2wtaGVscD0qKQorCQkJVE9PTF9NT0RFPSR7MSMtLXRvb2wtaGVscD19CisJCQlzaG93X3Rvb2xfaGVscAorCQkJOzsKKwkJLS10b29sLWhlbHApCisJCQlzaG93X3Rvb2xfaGVscAorCQkJOzsKKwkJLXR8LS10b29sKikKKwkJCWNhc2UgIiQjLCQxIiBpbgorCQkJKiwqPSopCisJCQkJbWVyZ2VfdG9vbD0kKGV4cHIgInokMSIgOiAnei1bXj1dKj1cKC4qXCknKQorCQkJCTs7CisJCQkxLCopCisJCQkJdXNhZ2UgOzsKKwkJCSopCisJCQkJbWVyZ2VfdG9vbD0iJDIiCisJCQkJc2hpZnQgOzsKKwkJCWVzYWMKKwkJCTs7CisJCS15fC0tbm8tcHJvbXB0KQorCQkJcHJvbXB0PWZhbHNlCisJCQk7OworCQktLXByb21wdCkKKwkJCXByb21wdD10cnVlCisJCQk7OworCQktTyopCisJCQlvcmRlcmZpbGU9IiQxIgorCQkJOzsKKwkJLS0pCisJCQlzaGlmdAorCQkJYnJlYWsKKwkJCTs7CisJCS0qKQorCQkJdXNhZ2UKKwkJCTs7CisJCSopCisJCQlicmVhaworCQkJOzsKKwkJZXNhYworCQlzaGlmdAorCWRvbmUKKworCWdpdF9kaXJfaW5pdAorCXJlcXVpcmVfd29ya190cmVlCisKKwlpZiB0ZXN0IC16ICIkbWVyZ2VfdG9vbCIKIAl0aGVuCi0JCXJjPTEKLQkJcHJvbXB0X2FmdGVyX2ZhaWxlZF9tZXJnZSB8fCBleGl0IDEKKwkJIyBDaGVjayBpZiBhIG1lcmdlIHRvb2wgaGFzIGJlZW4gY29uZmlndXJlZAorCQltZXJnZV90b29sPSQoZ2V0X2NvbmZpZ3VyZWRfbWVyZ2VfdG9vbCkKKwkJIyBUcnkgdG8gZ3Vlc3MgYW4gYXBwcm9wcmlhdGUgbWVyZ2UgdG9vbCBpZiBubyB0b29sIGhhcyBiZWVuIHNldC4KKwkJaWYgdGVzdCAteiAiJG1lcmdlX3Rvb2wiCisJCXRoZW4KKwkJCW1lcmdlX3Rvb2w9JChndWVzc19tZXJnZV90b29sKSB8fCBleGl0CisJCQlndWVzc2VkX21lcmdlX3Rvb2w9dHJ1ZQorCQlmaQogCWZpCi1kb25lCisJbWVyZ2Vfa2VlcF9iYWNrdXA9IiQoZ2l0IGNvbmZpZyAtLWJvb2wgbWVyZ2V0b29sLmtlZXBCYWNrdXAgfHwgZWNobyB0cnVlKSIKKwltZXJnZV9rZWVwX3RlbXBvcmFyaWVzPSIkKGdpdCBjb25maWcgLS1ib29sIG1lcmdldG9vbC5rZWVwVGVtcG9yYXJpZXMgfHwgZWNobyBmYWxzZSkiCiAKLWV4aXQgJHJjCisJaWYgdGVzdCAkIyAtZXEgMCAmJiB0ZXN0IC1lICIkR0lUX0RJUi9NRVJHRV9SUiIKKwl0aGVuCisJCXNldCAtLSAkKGdpdCByZXJlcmUgcmVtYWluaW5nKQorCQlpZiB0ZXN0ICQjIC1lcSAwCisJCXRoZW4KKwkJCXByaW50X25vb3BfYW5kX2V4aXQKKwkJZmkKKwlmaQorCisJZmlsZXM9JChnaXQgLWMgY29yZS5xdW90ZVBhdGg9ZmFsc2UgXAorCQlkaWZmIC0tbmFtZS1vbmx5IC0tZGlmZi1maWx0ZXI9VSBcCisJCSR7b3JkZXJmaWxlOisiJG9yZGVyZmlsZSJ9IC0tICIkQCIpCisKKwljZF90b190b3BsZXZlbAorCisJaWYgdGVzdCAteiAiJGZpbGVzIgorCXRoZW4KKwkJcHJpbnRfbm9vcF9hbmRfZXhpdAorCWZpCisKKwlwcmludGYgIk1lcmdpbmc6XG4iCisJcHJpbnRmICIlc1xuIiAiJGZpbGVzIgorCisJcmM9MAorCWZvciBpIGluICRmaWxlcworCWRvCisJCXByaW50ZiAiXG4iCisJCWlmICEgbWVyZ2VfZmlsZSAiJGkiCisJCXRoZW4KKwkJCXJjPTEKKwkJCXByb21wdF9hZnRlcl9mYWlsZWRfbWVyZ2UgfHwgZXhpdCAxCisJCWZpCisJZG9uZQorCisJZXhpdCAkcmMKK30KKworbWFpbiAiJEAiCmRpZmYgLS1naXQgYS9naXQtcDQucHkgYi9naXQtcDQucHkKaW5kZXggYjY1OTNjZi4uZmQ1Y2E1MiAxMDA3NTUKLS0tIGEvZ2l0LXA0LnB5CisrKyBiL2dpdC1wNC5weQpAQCAtMTkzNCw3ICsxOTM0LDcgQEAKICAgICAgICAgaWYgc2VsZi51c2VDbGllbnRTcGVjOgogICAgICAgICAgICAgc2VsZi5jbGllbnRTcGVjRGlycyA9IGdldENsaWVudFNwZWMoKQogCi0gICAgICAgICMgQ2hlY2sgZm9yIHRoZSBleGlzdGFuY2Ugb2YgUDQgYnJhbmNoZXMKKyAgICAgICAgIyBDaGVjayBmb3IgdGhlIGV4aXN0ZW5jZSBvZiBQNCBicmFuY2hlcwogICAgICAgICBicmFuY2hlc0RldGVjdGVkID0gKGxlbihwNEJyYW5jaGVzSW5HaXQoKS5rZXlzKCkpID4gMSkKIAogICAgICAgICBpZiBzZWxmLnVzZUNsaWVudFNwZWMgYW5kIG5vdCBicmFuY2hlc0RldGVjdGVkOgpAQCAtMjI3NCw3ICsyMjc0LDcgQEAKICAgICAgICAgc2VsZi51c2VDbGllbnRTcGVjX2Zyb21fb3B0aW9ucyA9IEZhbHNlCiAgICAgICAgIHNlbGYuY2xpZW50U3BlY0RpcnMgPSBOb25lCiAgICAgICAgIHNlbGYudGVtcEJyYW5jaGVzID0gW10KLSAgICAgICAgc2VsZi50ZW1wQnJhbmNoTG9jYXRpb24gPSAiZ2l0LXA0LXRtcCIKKyAgICAgICAgc2VsZi50ZW1wQnJhbmNoTG9jYXRpb24gPSAicmVmcy9naXQtcDQtdG1wIgogICAgICAgICBzZWxmLmxhcmdlRmlsZVN5c3RlbSA9IE5vbmUKIAogICAgICAgICBpZiBnaXRDb25maWcoJ2dpdC1wNC5sYXJnZUZpbGVTeXN0ZW0nKToKQEAgLTI2NzQsNyArMjY3NCw3IEBACiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICBoYXNQcmVmaXggPSBbcCBmb3IgcCBpbiBzZWxmLmJyYW5jaFByZWZpeGVzCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBwNFBhdGhTdGFydHNXaXRoKHBhdGgsIHApXQotICAgICAgICBpZiBoYXNQcmVmaXggYW5kIHNlbGYudmVyYm9zZToKKyAgICAgICAgaWYgbm90IGhhc1ByZWZpeCBhbmQgc2VsZi52ZXJib3NlOgogICAgICAgICAgICAgcHJpbnQoJ0lnbm9yaW5nIGZpbGUgb3V0c2lkZSBvZiBwcmVmaXg6IHswfScuZm9ybWF0KHBhdGgpKQogICAgICAgICByZXR1cm4gaGFzUHJlZml4CiAKZGlmZiAtLWdpdCBhL2dpdC1yZWJhc2UtLWFtLnNoIGIvZ2l0LXJlYmFzZS0tYW0uc2gKaW5kZXggOWFlODk4Yi4uMzc1MjM5MyAxMDA2NDQKLS0tIGEvZ2l0LXJlYmFzZS0tYW0uc2gKKysrIGIvZ2l0LXJlYmFzZS0tYW0uc2gKQEAgLTksOCArOSw4IEBACiAjIGJlbG93IHdlcmUgbm90IGluc2lkZSBhbnkgZnVuY3Rpb24sIGFuZCBleHBlY3RlZCB0byByZXR1cm4KICMgdG8gdGhlIGZ1bmN0aW9uIHRoYXQgZG90LXNvdXJjZWQgdXMuCiAjCi0jIEhvd2V2ZXIsIEZyZWVCU0QgL2Jpbi9zaCBtaXNiZWhhdmVzIG9uIHN1Y2ggYSBjb25zdHJ1Y3QgYW5kCi0jIGNvbnRpbnVlcyB0byBydW4gdGhlIHN0YXRlbWVudHMgdGhhdCBmb2xsb3cgc3VjaCBhICJyZXR1cm4iLgorIyBIb3dldmVyLCBvbGRlciAoOS54KSB2ZXJzaW9ucyBvZiBGcmVlQlNEIC9iaW4vc2ggbWlzYmVoYXZlIG9uIHN1Y2ggYQorIyBjb25zdHJ1Y3QgYW5kIGNvbnRpbnVlIHRvIHJ1biB0aGUgc3RhdGVtZW50cyB0aGF0IGZvbGxvdyBzdWNoIGEgInJldHVybiIuCiAjIEFzIGEgd29yay1hcm91bmQsIHdlIGludHJvZHVjZSBhbiBleHRyYSBsYXllciBvZiBhIGZ1bmN0aW9uCiAjIGhlcmUsIGFuZCBpbW1lZGlhdGVseSBjYWxsIGl0IGFmdGVyIGRlZmluaW5nIGl0LgogZ2l0X3JlYmFzZV9fYW0gKCkgewpkaWZmIC0tZ2l0IGEvZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2ggYi9naXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaAppbmRleCA2ZTk2YWJjLi40MWZkMzc0IDEwMDY0NAotLS0gYS9naXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaAorKysgYi9naXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaApAQCAtOTMsOCArOTMsMTcgQEAKIEdJVF9DSEVSUllfUElDS19IRUxQPSIkcmVzb2x2ZW1zZyIKIGV4cG9ydCBHSVRfQ0hFUlJZX1BJQ0tfSEVMUAogCi1jb21tZW50X2NoYXI9JChnaXQgY29uZmlnIC0tZ2V0IGNvcmUuY29tbWVudGNoYXIgMj4vZGV2L251bGwgfCBjdXQgLWMxKQotOiAke2NvbW1lbnRfY2hhcjo9I30KK2NvbW1lbnRfY2hhcj0kKGdpdCBjb25maWcgLS1nZXQgY29yZS5jb21tZW50Y2hhciAyPi9kZXYvbnVsbCkKK2Nhc2UgIiRjb21tZW50X2NoYXIiIGluCisnJyB8IGF1dG8pCisJY29tbWVudF9jaGFyPSIjIgorCTs7Cis/KQorCTs7CisqKQorCWNvbW1lbnRfY2hhcj0kKGVjaG8gIiRjb21tZW50X2NoYXIiIHwgY3V0IC1jMSkKKwk7OworZXNhYwogCiB3YXJuICgpIHsKIAlwcmludGYgJyVzXG4nICIkKiIgPiYyCkBAIC0xMjEsMTQgKzEzMCwxNCBAQAogCXNlZCAtZSAxcSA8ICIkdG9kbyIgPj4gIiRkb25lIgogCXNlZCAtZSAxZCA8ICIkdG9kbyIgPj4gIiR0b2RvIi5uZXcKIAltdiAtZiAiJHRvZG8iLm5ldyAiJHRvZG8iCi0JbmV3X2NvdW50PSQoZ2l0IHN0cmlwc3BhY2UgLS1zdHJpcC1jb21tZW50cyA8IiRkb25lIiB8IHdjIC1sKQorCW5ld19jb3VudD0kKCggJChnaXQgc3RyaXBzcGFjZSAtLXN0cmlwLWNvbW1lbnRzIDwiJGRvbmUiIHwgd2MgLWwpICkpCiAJZWNobyAkbmV3X2NvdW50ID4iJG1zZ251bSIKIAl0b3RhbD0kKCgkbmV3X2NvdW50ICsgJChnaXQgc3RyaXBzcGFjZSAtLXN0cmlwLWNvbW1lbnRzIDwiJHRvZG8iIHwgd2MgLWwpKSkKIAllY2hvICR0b3RhbCA+IiRlbmQiCiAJaWYgdGVzdCAiJGxhc3RfY291bnQiICE9ICIkbmV3X2NvdW50IgogCXRoZW4KIAkJbGFzdF9jb3VudD0kbmV3X2NvdW50Ci0JCXByaW50ZiAiUmViYXNpbmcgKCVkLyVkKVxyIiAkbmV3X2NvdW50ICR0b3RhbAorCQlldmFsX2dldHRleHQgIlJlYmFzaW5nIChcJG5ld19jb3VudC9cJHRvdGFsKSI7IHByaW50ZiAiXHIiCiAJCXRlc3QgLXogIiR2ZXJib3NlIiB8fCBlY2hvCiAJZmkKIH0KQEAgLTE0NCwyOSArMTUzLDI4IEBACiB9CiAKIGFwcGVuZF90b2RvX2hlbHAgKCkgewotCWdpdCBzdHJpcHNwYWNlIC0tY29tbWVudC1saW5lcyA+PiIkdG9kbyIgPDxcRU9GCi0KKwlnZXR0ZXh0ICIKIENvbW1hbmRzOgogIHAsIHBpY2sgPSB1c2UgY29tbWl0CiAgciwgcmV3b3JkID0gdXNlIGNvbW1pdCwgYnV0IGVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlCiAgZSwgZWRpdCA9IHVzZSBjb21taXQsIGJ1dCBzdG9wIGZvciBhbWVuZGluZwogIHMsIHNxdWFzaCA9IHVzZSBjb21taXQsIGJ1dCBtZWxkIGludG8gcHJldmlvdXMgY29tbWl0Ci0gZiwgZml4dXAgPSBsaWtlICJzcXVhc2giLCBidXQgZGlzY2FyZCB0aGlzIGNvbW1pdCdzIGxvZyBtZXNzYWdlCisgZiwgZml4dXAgPSBsaWtlIFwic3F1YXNoXCIsIGJ1dCBkaXNjYXJkIHRoaXMgY29tbWl0J3MgbG9nIG1lc3NhZ2UKICB4LCBleGVjID0gcnVuIGNvbW1hbmQgKHRoZSByZXN0IG9mIHRoZSBsaW5lKSB1c2luZyBzaGVsbAogIGQsIGRyb3AgPSByZW1vdmUgY29tbWl0CiAKIFRoZXNlIGxpbmVzIGNhbiBiZSByZS1vcmRlcmVkOyB0aGV5IGFyZSBleGVjdXRlZCBmcm9tIHRvcCB0byBib3R0b20uCisiIHwgZ2l0IHN0cmlwc3BhY2UgLS1jb21tZW50LWxpbmVzID4+IiR0b2RvIgogCi1FT0YKIAlpZiB0ZXN0ICQoZ2V0X21pc3NpbmdfY29tbWl0X2NoZWNrX2xldmVsKSA9IGVycm9yCiAJdGhlbgotCQlnaXQgc3RyaXBzcGFjZSAtLWNvbW1lbnQtbGluZXMgPj4iJHRvZG8iIDw8XEVPRgorCQlnZXR0ZXh0ICIKIERvIG5vdCByZW1vdmUgYW55IGxpbmUuIFVzZSAnZHJvcCcgZXhwbGljaXRseSB0byByZW1vdmUgYSBjb21taXQuCi1FT0YKKyIgfCBnaXQgc3RyaXBzcGFjZSAtLWNvbW1lbnQtbGluZXMgPj4iJHRvZG8iCiAJZWxzZQotCQlnaXQgc3RyaXBzcGFjZSAtLWNvbW1lbnQtbGluZXMgPj4iJHRvZG8iIDw8XEVPRgorCQlnZXR0ZXh0ICIKIElmIHlvdSByZW1vdmUgYSBsaW5lIGhlcmUgVEhBVCBDT01NSVQgV0lMTCBCRSBMT1NULgotRU9GCisiIHwgZ2l0IHN0cmlwc3BhY2UgLS1jb21tZW50LWxpbmVzID4+IiR0b2RvIgogCWZpCiB9CiAKQEAgLTIwMCwxOCArMjA4LDIwIEBACiAJbWFrZV9wYXRjaCAkMQogCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCA+ICIkYW1lbmQiCiAJZ3BnX3NpZ25fb3B0X3F1b3RlZD0ke2dwZ19zaWduX29wdDorJChnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgIiRncGdfc2lnbl9vcHQiKX0KLQl3YXJuICJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoIgotCXdhcm4KLQl3YXJuICIJZ2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkIgotCXdhcm4KLQl3YXJuICJPbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzLCBydW4iCi0Jd2FybgotCXdhcm4gIglnaXQgcmViYXNlIC0tY29udGludWUiCisJd2FybiAiJChldmFsX2dldHRleHQgIlwKK1lvdSBjYW4gYW1lbmQgdGhlIGNvbW1pdCBub3csIHdpdGgKKworCWdpdCBjb21taXQgLS1hbWVuZCBcJGdwZ19zaWduX29wdF9xdW90ZWQKKworT25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcywgcnVuCisKKwlnaXQgcmViYXNlIC0tY29udGludWUiKSIKIAl3YXJuCiAJZXhpdCAkMgogfQogCiBkaWVfYWJvcnQgKCkgeworCWFwcGx5X2F1dG9zdGFzaAogCXJtIC1yZiAiJHN0YXRlX2RpciIKIAlkaWUgIiQxIgogfQpAQCAtMjIxLDEwICsyMzEsMTIgQEAKIH0KIAogaXNfZW1wdHlfY29tbWl0KCkgewotCXRyZWU9JChnaXQgcmV2LXBhcnNlIC1xIC0tdmVyaWZ5ICIkMSJee3RyZWV9IDI+L2Rldi9udWxsIHx8Ci0JCWRpZSAiJDE6IG5vdCBhIGNvbW1pdCB0aGF0IGNhbiBiZSBwaWNrZWQiKQotCXB0cmVlPSQoZ2l0IHJldi1wYXJzZSAtcSAtLXZlcmlmeSAiJDEiXl57dHJlZX0gMj4vZGV2L251bGwgfHwKLQkJcHRyZWU9NGI4MjVkYzY0MmNiNmViOWEwNjBlNTRiZjhkNjkyODhmYmVlNDkwNCkKKwl0cmVlPSQoZ2l0IHJldi1wYXJzZSAtcSAtLXZlcmlmeSAiJDEiXnt0cmVlfSAyPi9kZXYvbnVsbCkgfHwgeworCQlzaGExPSQxCisJCWRpZSAiJChldmFsX2dldHRleHQgIlwkc2hhMTogbm90IGEgY29tbWl0IHRoYXQgY2FuIGJlIHBpY2tlZCIpIgorCX0KKwlwdHJlZT0kKGdpdCByZXYtcGFyc2UgLXEgLS12ZXJpZnkgIiQxIl5ee3RyZWV9IDI+L2Rldi9udWxsKSB8fAorCQlwdHJlZT00YjgyNWRjNjQyY2I2ZWI5YTA2MGU1NGJmOGQ2OTI4OGZiZWU0OTA0CiAJdGVzdCAiJHRyZWUiID0gIiRwdHJlZSIKIH0KIApAQCAtMjYwLDcgKzI3Miw3IEBACiAKIAljYXNlICIkMSIgaW4gLW4pIHNoYTE9JDI7IGZmPSA7OyAqKSBzaGExPSQxIDs7IGVzYWMKIAljYXNlICIkZm9yY2VfcmViYXNlIiBpbiAnJykgOzsgPyopIGZmPSA7OyBlc2FjCi0Jb3V0cHV0IGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgJHNoYTEgfHwgZGllICJJbnZhbGlkIGNvbW1pdCBuYW1lOiAkc2hhMSIKKwlvdXRwdXQgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAkc2hhMSB8fCBkaWUgIiQoZXZhbF9nZXR0ZXh0ICJJbnZhbGlkIGNvbW1pdCBuYW1lOiBcJHNoYTEiKSIKIAogCWlmIGlzX2VtcHR5X2NvbW1pdCAiJHNoYTEiCiAJdGhlbgpAQCAtMzAyLDcgKzMxNCw3IEBACiAJCQkJZ2l0IHJldi1wYXJzZSBIRUFEID4gIiRyZXdyaXR0ZW4iLyRjdXJyZW50X2NvbW1pdAogCQkJZG9uZSA8IiRzdGF0ZV9kaXIiL2N1cnJlbnQtY29tbWl0CiAJCQlybSAiJHN0YXRlX2RpciIvY3VycmVudC1jb21taXQgfHwKLQkJCWRpZSAiQ2Fubm90IHdyaXRlIGN1cnJlbnQgY29tbWl0J3MgcmVwbGFjZW1lbnQgc2hhMSIKKwkJCQlkaWUgIiQoZ2V0dGV4dCAiQ2Fubm90IHdyaXRlIGN1cnJlbnQgY29tbWl0J3MgcmVwbGFjZW1lbnQgc2hhMSIpIgogCQlmaQogCWZpCiAKQEAgLTM1NCw5ICszNjYsOSBAQAogCWRvbmUKIAljYXNlICRmYXN0X2ZvcndhcmQgaW4KIAl0KQotCQlvdXRwdXQgd2FybiAiRmFzdC1mb3J3YXJkIHRvICRzaGExIgorCQlvdXRwdXQgd2FybiAiJChldmFsX2dldHRleHQgIkZhc3QtZm9yd2FyZCB0byBcJHNoYTEiKSIKIAkJb3V0cHV0IGdpdCByZXNldCAtLWhhcmQgJHNoYTEgfHwKLQkJCWRpZSAiQ2Fubm90IGZhc3QtZm9yd2FyZCB0byAkc2hhMSIKKwkJCWRpZSAiJChldmFsX2dldHRleHQgIkNhbm5vdCBmYXN0LWZvcndhcmQgdG8gXCRzaGExIikiCiAJCTs7CiAJZikKIAkJZmlyc3RfcGFyZW50PSQoZXhwciAiJG5ld19wYXJlbnRzIiA6ICcgXChbXiBdKlwpJykKQEAgLTM2NSwxMiArMzc3LDEyIEBACiAJCXRoZW4KIAkJCSMgZGV0YWNoIEhFQUQgdG8gY3VycmVudCBwYXJlbnQKIAkJCW91dHB1dCBnaXQgY2hlY2tvdXQgJGZpcnN0X3BhcmVudCAyPiAvZGV2L251bGwgfHwKLQkJCQlkaWUgIkNhbm5vdCBtb3ZlIEhFQUQgdG8gJGZpcnN0X3BhcmVudCIKKwkJCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJDYW5ub3QgbW92ZSBIRUFEIHRvIFwkZmlyc3RfcGFyZW50IikiCiAJCWZpCiAKIAkJY2FzZSAiJG5ld19wYXJlbnRzIiBpbgogCQknICcqJyAnKikKLQkJCXRlc3QgImEkMSIgPSBhLW4gJiYgZGllICJSZWZ1c2luZyB0byBzcXVhc2ggYSBtZXJnZTogJHNoYTEiCisJCQl0ZXN0ICJhJDEiID0gYS1uICYmIGRpZSAiJChldmFsX2dldHRleHQgIlJlZnVzaW5nIHRvIHNxdWFzaCBhIG1lcmdlOiBcJHNoYTEiKSIKIAogCQkJIyByZWRvIG1lcmdlCiAJCQlhdXRob3Jfc2NyaXB0X2NvbnRlbnQ9JChnZXRfYXV0aG9yX2lkZW50X2Zyb21fY29tbWl0ICRzaGExKQpAQCAtMzg0LDcgKzM5Niw3IEBACiAJCQkJJG1lcmdlX2FyZ3MgJHN0cmF0ZWd5X2FyZ3MgLW0gIiRtc2dfY29udGVudCIgJG5ld19wYXJlbnRzJwogCQkJdGhlbgogCQkJCXByaW50ZiAiJXNcbiIgIiRtc2dfY29udGVudCIgPiAiJEdJVF9ESVIiL01FUkdFX01TRwotCQkJCWRpZV93aXRoX3BhdGNoICRzaGExICJFcnJvciByZWRvaW5nIG1lcmdlICRzaGExIgorCQkJCWRpZV93aXRoX3BhdGNoICRzaGExICIkKGV2YWxfZ2V0dGV4dCAiRXJyb3IgcmVkb2luZyBtZXJnZSBcJHNoYTEiKSIKIAkJCWZpCiAJCQllY2hvICIkc2hhMSAkKGdpdCByZXYtcGFyc2UgSEVBRF4wKSIgPj4gIiRyZXdyaXR0ZW5fbGlzdCIKIAkJCTs7CkBAIC0zOTIsNDAgKzQwNCw0NCBAQAogCQkJb3V0cHV0IGV2YWwgZ2l0IGNoZXJyeS1waWNrIFwKIAkJCQkke2dwZ19zaWduX29wdDorJChnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgIiRncGdfc2lnbl9vcHQiKX0gXAogCQkJCSIkc3RyYXRlZ3lfYXJncyIgIiRAIiB8fAotCQkJCWRpZV93aXRoX3BhdGNoICRzaGExICJDb3VsZCBub3QgcGljayAkc2hhMSIKKwkJCQlkaWVfd2l0aF9wYXRjaCAkc2hhMSAiJChldmFsX2dldHRleHQgIkNvdWxkIG5vdCBwaWNrIFwkc2hhMSIpIgogCQkJOzsKIAkJZXNhYwogCQk7OwogCWVzYWMKIH0KIAotbnRoX3N0cmluZyAoKSB7Ci0JY2FzZSAiJDEiIGluCi0JKjFbMC05XXwqWzA0LTldKSBlY2hvICIkMSJ0aDs7Ci0JKjEpIGVjaG8gIiQxInN0OzsKLQkqMikgZWNobyAiJDEibmQ7OwotCSozKSBlY2hvICIkMSJyZDs7Ci0JZXNhYwordGhpc19udGhfY29tbWl0X21lc3NhZ2UgKCkgeworCW49JDEKKwlldmFsX2dldHRleHQgIlRoaXMgaXMgdGhlIGNvbW1pdCBtZXNzYWdlICNcJHtufToiCit9CisKK3NraXBfbnRoX2NvbW1pdF9tZXNzYWdlICgpIHsKKwluPSQxCisJZXZhbF9nZXR0ZXh0ICJUaGUgY29tbWl0IG1lc3NhZ2UgI1wke259IHdpbGwgYmUgc2tpcHBlZDoiCiB9CiAKIHVwZGF0ZV9zcXVhc2hfbWVzc2FnZXMgKCkgewogCWlmIHRlc3QgLWYgIiRzcXVhc2hfbXNnIjsgdGhlbgogCQltdiAiJHNxdWFzaF9tc2ciICIkc3F1YXNoX21zZyIuYmFrIHx8IGV4aXQKIAkJY291bnQ9JCgoJChzZWQgLW4gXAotCQkJLWUgIjFzL14uIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiBcKC4qXCkgY29tbWl0c1wuL1wxL3AiIFwKKwkJCS1lICIxcy9eJGNvbW1lbnRfY2hhci4qXChbMC05XVswLTldKlwpLiovXDEvcCIgXAogCQkJLWUgInEiIDwgIiRzcXVhc2hfbXNnIi5iYWspKzEpKQogCQl7Ci0JCQlwcmludGYgJyVzXG4nICIkY29tbWVudF9jaGFyIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0cy4iCisJCQlwcmludGYgJyVzXG4nICIkY29tbWVudF9jaGFyICQoZXZhbF9uZ2V0dGV4dCBcCisJCQkJIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiBcJGNvdW50IGNvbW1pdC4iIFwKKwkJCQkiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIFwkY291bnQgY29tbWl0cy4iIFwKKwkJCQkkY291bnQpIgogCQkJc2VkIC1lIDFkIC1lICcyLC9eLi97CiAJCQkJL14kL2QKIAkJCX0nIDwiJHNxdWFzaF9tc2ciLmJhawogCQl9ID4iJHNxdWFzaF9tc2ciCiAJZWxzZQotCQljb21taXRfbWVzc2FnZSBIRUFEID4gIiRmaXh1cF9tc2ciIHx8IGRpZSAiQ2Fubm90IHdyaXRlICRmaXh1cF9tc2ciCisJCWNvbW1pdF9tZXNzYWdlIEhFQUQgPiAiJGZpeHVwX21zZyIgfHwgZGllICIkKGdldHRleHQgIkNhbm5vdCB3cml0ZSBcJGZpeHVwX21zZyIpIgogCQljb3VudD0yCiAJCXsKLQkJCXByaW50ZiAnJXNcbicgIiRjb21tZW50X2NoYXIgVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIDIgY29tbWl0cy4iCi0JCQlwcmludGYgJyVzXG4nICIkY29tbWVudF9jaGFyIFRoZSBmaXJzdCBjb21taXQncyBtZXNzYWdlIGlzOiIKKwkJCXByaW50ZiAnJXNcbicgIiRjb21tZW50X2NoYXIgJChnZXR0ZXh0ICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgMiBjb21taXRzLiIpIgorCQkJcHJpbnRmICclc1xuJyAiJGNvbW1lbnRfY2hhciAkKGdldHRleHQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiKSIKIAkJCWVjaG8KIAkJCWNhdCAiJGZpeHVwX21zZyIKIAkJfSA+IiRzcXVhc2hfbXNnIgpAQCAtNDM0LDEzICs0NTAsMTMgQEAKIAlzcXVhc2gpCiAJCXJtIC1mICIkZml4dXBfbXNnIgogCQllY2hvCi0JCXByaW50ZiAnJXNcbicgIiRjb21tZW50X2NoYXIgVGhpcyBpcyB0aGUgJChudGhfc3RyaW5nICRjb3VudCkgY29tbWl0IG1lc3NhZ2U6IgorCQlwcmludGYgJyVzXG4nICIkY29tbWVudF9jaGFyICQodGhpc19udGhfY29tbWl0X21lc3NhZ2UgJGNvdW50KSIKIAkJZWNobwogCQljb21taXRfbWVzc2FnZSAkMgogCQk7OwogCWZpeHVwKQogCQllY2hvCi0JCXByaW50ZiAnJXNcbicgIiRjb21tZW50X2NoYXIgVGhlICQobnRoX3N0cmluZyAkY291bnQpIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisJCXByaW50ZiAnJXNcbicgIiRjb21tZW50X2NoYXIgJChza2lwX250aF9jb21taXRfbWVzc2FnZSAkY291bnQpIgogCQllY2hvCiAJCSMgQ2hhbmdlIHRoZSBzcGFjZSBhZnRlciB0aGUgY29tbWVudCBjaGFyYWN0ZXIgdG8gVEFCOgogCQljb21taXRfbWVzc2FnZSAkMiB8IGdpdCBzdHJpcHNwYWNlIC0tY29tbWVudC1saW5lcyB8IHNlZCAtZSAncy8gLwkvJwpAQCAtNDU5LDEyICs0NzUsMTQgQEAKICMgbWVzc2FnZXMsIGVmZmVjdGl2ZWx5IGNhdXNpbmcgdGhlIGNvbWJpbmVkIGNvbW1pdCB0byBiZSB1c2VkIGFzIHRoZQogIyBuZXcgYmFzaXMgZm9yIGFueSBmdXJ0aGVyIHNxdWFzaC9maXh1cHMuICBBcmdzOiBzaGExIHJlc3QKIGRpZV9mYWlsZWRfc3F1YXNoKCkgeworCXNoYTE9JDEKKwlyZXN0PSQyCiAJbXYgIiRzcXVhc2hfbXNnIiAiJG1zZyIgfHwgZXhpdAogCXJtIC1mICIkZml4dXBfbXNnIgogCWNwICIkbXNnIiAiJEdJVF9ESVIiL01FUkdFX01TRyB8fCBleGl0CiAJd2FybgotCXdhcm4gIkNvdWxkIG5vdCBhcHBseSAkMS4uLiAkMiIKLQlkaWVfd2l0aF9wYXRjaCAkMSAiIgorCXdhcm4gIiQoZXZhbF9nZXR0ZXh0ICJDb3VsZCBub3QgYXBwbHkgXCRzaGExLi4uIFwkcmVzdCIpIgorCWRpZV93aXRoX3BhdGNoICRzaGExICIiCiB9CiAKIGZsdXNoX3Jld3JpdHRlbl9wZW5kaW5nKCkgewpAQCAtNDg4LDYgKzUwNiw4IEBACiB9CiAKIGRvX3BpY2sgKCkgeworCXNoYTE9JDEKKwlyZXN0PSQyCiAJaWYgdGVzdCAiJChnaXQgcmV2LXBhcnNlIEhFQUQpIiA9ICIkc3F1YXNoX29udG8iCiAJdGhlbgogCQkjIFNldCB0aGUgY29ycmVjdCBjb21taXQgbWVzc2FnZSBhbmQgYXV0aG9yIGluZm8gb24gdGhlCkBAIC00OTksMTUgKzUxOSwxNSBAQAogCQkjIHJlc29sdmUgYmVmb3JlIG1hbnVhbGx5IHJ1bm5pbmcgZ2l0IGNvbW1pdCAtLWFtZW5kIHRoZW4gZ2l0CiAJCSMgcmViYXNlIC0tY29udGludWUuCiAJCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtLWFsbG93LWVtcHR5LW1lc3NhZ2UgLS1hbWVuZCBcCi0JCQkgICAtLW5vLXBvc3QtcmV3cml0ZSAtbiAtcSAtQyAkMSAmJgotCQkJcGlja19vbmUgLW4gJDEgJiYKKwkJCSAgIC0tbm8tcG9zdC1yZXdyaXRlIC1uIC1xIC1DICRzaGExICYmCisJCQlwaWNrX29uZSAtbiAkc2hhMSAmJgogCQkJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC0tYWxsb3ctZW1wdHktbWVzc2FnZSBcCi0JCQkJICAgLS1hbWVuZCAtLW5vLXBvc3QtcmV3cml0ZSAtbiAtcSAtQyAkMSBcCisJCQkJICAgLS1hbWVuZCAtLW5vLXBvc3QtcmV3cml0ZSAtbiAtcSAtQyAkc2hhMSBcCiAJCQkJICAgJHtncGdfc2lnbl9vcHQ6KyIkZ3BnX3NpZ25fb3B0In0gfHwKLQkJCWRpZV93aXRoX3BhdGNoICQxICJDb3VsZCBub3QgYXBwbHkgJDEuLi4gJDIiCisJCQkJICAgZGllX3dpdGhfcGF0Y2ggJHNoYTEgIiQoZXZhbF9nZXR0ZXh0ICJDb3VsZCBub3QgYXBwbHkgXCRzaGExLi4uIFwkcmVzdCIpIgogCWVsc2UKLQkJcGlja19vbmUgJDEgfHwKLQkJCWRpZV93aXRoX3BhdGNoICQxICJDb3VsZCBub3QgYXBwbHkgJDEuLi4gJDIiCisJCXBpY2tfb25lICRzaGExIHx8CisJCQlkaWVfd2l0aF9wYXRjaCAkc2hhMSAiJChldmFsX2dldHRleHQgIkNvdWxkIG5vdCBhcHBseSBcJHNoYTEuLi4gXCRyZXN0IikiCiAJZmkKIH0KIApAQCAtNTM1LDEwICs1NTUsMTEgQEAKIAkJbWFya19hY3Rpb25fZG9uZQogCQlkb19waWNrICRzaGExICIkcmVzdCIKIAkJZ2l0IGNvbW1pdCAtLWFtZW5kIC0tbm8tcG9zdC1yZXdyaXRlICR7Z3BnX3NpZ25fb3B0OisiJGdwZ19zaWduX29wdCJ9IHx8IHsKLQkJCXdhcm4gIkNvdWxkIG5vdCBhbWVuZCBjb21taXQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHBpY2tpbmcgJHNoYTEuLi4gJHJlc3QiCi0JCQl3YXJuICJUaGlzIGlzIG1vc3QgbGlrZWx5IGR1ZSB0byBhbiBlbXB0eSBjb21taXQgbWVzc2FnZSwgb3IgdGhlIHByZS1jb21taXQgaG9vayIKLQkJCXdhcm4gImZhaWxlZC4gSWYgdGhlIHByZS1jb21taXQgaG9vayBmYWlsZWQsIHlvdSBtYXkgbmVlZCB0byByZXNvbHZlIHRoZSBpc3N1ZSBiZWZvcmUiCi0JCQl3YXJuICJ5b3UgYXJlIGFibGUgdG8gcmV3b3JkIHRoZSBjb21taXQuIgorCQkJd2FybiAiJChldmFsX2dldHRleHQgIlwKK0NvdWxkIG5vdCBhbWVuZCBjb21taXQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHBpY2tpbmcgXCRzaGExLi4uIFwkcmVzdAorVGhpcyBpcyBtb3N0IGxpa2VseSBkdWUgdG8gYW4gZW1wdHkgY29tbWl0IG1lc3NhZ2UsIG9yIHRoZSBwcmUtY29tbWl0IGhvb2sKK2ZhaWxlZC4gSWYgdGhlIHByZS1jb21taXQgaG9vayBmYWlsZWQsIHlvdSBtYXkgbmVlZCB0byByZXNvbHZlIHRoZSBpc3N1ZSBiZWZvcmUKK3lvdSBhcmUgYWJsZSB0byByZXdvcmQgdGhlIGNvbW1pdC4iKSIKIAkJCWV4aXRfd2l0aF9wYXRjaCAkc2hhMSAxCiAJCX0KIAkJcmVjb3JkX2luX3Jld3JpdHRlbiAkc2hhMQpAQCAtNTQ5LDcgKzU3MCw3IEBACiAJCW1hcmtfYWN0aW9uX2RvbmUKIAkJZG9fcGljayAkc2hhMSAiJHJlc3QiCiAJCXNoYTFfYWJicmV2PSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0ICRzaGExKQotCQl3YXJuICJTdG9wcGVkIGF0ICRzaGExX2FiYnJldi4uLiAkcmVzdCIKKwkJd2FybiAiJChldmFsX2dldHRleHQgIlN0b3BwZWQgYXQgXCRzaGExX2FiYnJldi4uLiBcJHJlc3QiKSIKIAkJZXhpdF93aXRoX3BhdGNoICRzaGExIDAKIAkJOzsKIAlzcXVhc2h8c3xmaXh1cHxmKQpAQCAtNTY0LDcgKzU4NSw3IEBACiAJCWNvbW1lbnRfZm9yX3JlZmxvZyAkc3F1YXNoX3N0eWxlCiAKIAkJdGVzdCAtZiAiJGRvbmUiICYmIGhhc19hY3Rpb24gIiRkb25lIiB8fAotCQkJZGllICJDYW5ub3QgJyRzcXVhc2hfc3R5bGUnIHdpdGhvdXQgYSBwcmV2aW91cyBjb21taXQiCisJCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJDYW5ub3QgJ1wkc3F1YXNoX3N0eWxlJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IikiCiAKIAkJbWFya19hY3Rpb25fZG9uZQogCQl1cGRhdGVfc3F1YXNoX21lc3NhZ2VzICRzcXVhc2hfc3R5bGUgJHNoYTEKQEAgLTYwNiw3ICs2MjcsNyBAQAogCXh8ImV4ZWMiKQogCQlyZWFkIC1yIGNvbW1hbmQgcmVzdCA8ICIkdG9kbyIKIAkJbWFya19hY3Rpb25fZG9uZQotCQlwcmludGYgJ0V4ZWN1dGluZzogJXNcbicgIiRyZXN0IgorCQlldmFsX2dldHRleHRsbiAiRXhlY3V0aW5nOiBcJHJlc3QiCiAJCSIke1NIRUxMOi1AU0hFTExfUEFUSEB9IiAtYyAiJHJlc3QiICMgQWN0dWFsIGV4ZWN1dGlvbgogCQlzdGF0dXM9JD8KIAkJIyBSdW4gaW4gc3Vic2hlbGwgYmVjYXVzZSByZXF1aXJlX2NsZWFuX3dvcmtfdHJlZSBjYW4gZGllLgpAQCAtNjE0LDEzICs2MzUsMTQgQEAKIAkJKHJlcXVpcmVfY2xlYW5fd29ya190cmVlICJyZWJhc2UiIDI+L2Rldi9udWxsKSB8fCBkaXJ0eT10CiAJCWlmIHRlc3QgIiRzdGF0dXMiIC1uZSAwCiAJCXRoZW4KLQkJCXdhcm4gIkV4ZWN1dGlvbiBmYWlsZWQ6ICRyZXN0IgorCQkJd2FybiAiJChldmFsX2dldHRleHQgIkV4ZWN1dGlvbiBmYWlsZWQ6IFwkcmVzdCIpIgogCQkJdGVzdCAiJGRpcnR5IiA9IGYgfHwKLQkJCXdhcm4gImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlIgorCQkJCXdhcm4gIiQoZ2V0dGV4dCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWUiKSIKIAotCQkJd2FybiAiWW91IGNhbiBmaXggdGhlIHByb2JsZW0sIGFuZCB0aGVuIHJ1biIKLQkJCXdhcm4KLQkJCXdhcm4gIglnaXQgcmViYXNlIC0tY29udGludWUiCisJCQl3YXJuICIkKGdldHRleHQgIlwKK1lvdSBjYW4gZml4IHRoZSBwcm9ibGVtLCBhbmQgdGhlbiBydW4KKworCWdpdCByZWJhc2UgLS1jb250aW51ZSIpIgogCQkJd2FybgogCQkJaWYgdGVzdCAkc3RhdHVzIC1lcSAxMjcJCSMgY29tbWFuZCBub3QgZm91bmQKIAkJCXRoZW4KQEAgLTYyOSwxOCArNjUxLDIwIEBACiAJCQlleGl0ICIkc3RhdHVzIgogCQllbGlmIHRlc3QgIiRkaXJ0eSIgPSB0CiAJCXRoZW4KLQkJCXdhcm4gIkV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICRyZXN0IgotCQkJd2FybiAiYnV0IGxlZnQgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWUiCi0JCQl3YXJuICJDb21taXQgb3Igc3Rhc2ggeW91ciBjaGFuZ2VzLCBhbmQgdGhlbiBydW4iCi0JCQl3YXJuCi0JCQl3YXJuICIJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCQkJIyBUUkFOU0xBVE9SUzogYWZ0ZXIgdGhlc2UgbGluZXMgaXMgYSBjb21tYW5kIHRvIGJlIGlzc3VlZCBieSB0aGUgdXNlcgorCQkJd2FybiAiJChldmFsX2dldHRleHQgIlwKK0V4ZWN1dGlvbiBzdWNjZWVkZWQ6IFwkcmVzdAorYnV0IGxlZnQgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWUKK0NvbW1pdCBvciBzdGFzaCB5b3VyIGNoYW5nZXMsIGFuZCB0aGVuIHJ1bgorCisJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIikiCiAJCQl3YXJuCiAJCQlleGl0IDEKIAkJZmkKIAkJOzsKIAkqKQotCQl3YXJuICJVbmtub3duIGNvbW1hbmQ6ICRjb21tYW5kICRzaGExICRyZXN0IgotCQlmaXh0b2RvPSJQbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKKwkJd2FybiAiJChldmFsX2dldHRleHQgIlVua25vd24gY29tbWFuZDogXCRjb21tYW5kIFwkc2hhMSBcJHJlc3QiKSIKKwkJZml4dG9kbz0iJChnZXR0ZXh0ICJQbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIpIgogCQlpZiBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC1xICIkc2hhMSIgPi9kZXYvbnVsbAogCQl0aGVuCiAJCQlkaWVfd2l0aF9wYXRjaCAkc2hhMSAiJGZpeHRvZG8iCkBAIC02NzUsNyArNjk5LDcgQEAKIAkJIiRob29rIiByZWJhc2UgPCAiJHJld3JpdHRlbl9saXN0IgogCQl0cnVlICMgd2UgZG9uJ3QgY2FyZSBpZiB0aGlzIGhvb2sgZmFpbGVkCiAJZmkgJiYKLQl3YXJuICJTdWNjZXNzZnVsbHkgcmViYXNlZCBhbmQgdXBkYXRlZCAkaGVhZF9uYW1lLiIKKwkJd2FybiAiJChldmFsX2dldHRleHQgIlN1Y2Nlc3NmdWxseSByZWJhc2VkIGFuZCB1cGRhdGVkIFwkaGVhZF9uYW1lLiIpIgogCiAJcmV0dXJuIDEgIyBub3QgZmFpbHVyZTsganVzdCB0byBicmVhayB0aGUgZG9fcmVzdCBsb29wCiB9CkBAIC03MjIsNyArNzQ2LDcgQEAKIAkJcmVjb3JkX2luX3Jld3JpdHRlbiAiJG9udG8iCiAJCTs7CiAJZXNhYyB8fAotCWRpZSAiQ291bGQgbm90IHNraXAgdW5uZWNlc3NhcnkgcGljayBjb21tYW5kcyIKKwkJZGllICIkKGdldHRleHQgIkNvdWxkIG5vdCBza2lwIHVubmVjZXNzYXJ5IHBpY2sgY29tbWFuZHMiKSIKIH0KIAogdHJhbnNmb3JtX3RvZG9faWRzICgpIHsKQEAgLTg4MCw5ICs5MDQsOSBAQAogCWlmIHRlc3QgJGJhZHNoYSAtbmUgMAogCXRoZW4KIAkJbGluZT0iJChzZWQgLW4gLWUgIiR7Mn1wIiAiJDMiKSIKLQkJd2FybiAiV2FybmluZzogdGhlIFNIQS0xIGlzIG1pc3Npbmcgb3IgaXNuJ3QiIFwKLQkJCSJhIGNvbW1pdCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6IgotCQl3YXJuICIgLSAkbGluZSIKKwkJd2FybiAiJChldmFsX2dldHRleHQgIlwKK1dhcm5pbmc6IHRoZSBTSEEtMSBpcyBtaXNzaW5nIG9yIGlzbid0IGEgY29tbWl0IGluIHRoZSBmb2xsb3dpbmcgbGluZToKKyAtIFwkbGluZSIpIgogCQl3YXJuCiAJZmkKIApAQCAtOTEzLDkgKzkzNyw5IEBACiAJCQk7OwogCQkqKQogCQkJbGluZT0iJChzZWQgLW4gLWUgIiR7bGluZW5vfXAiICIkMSIpIgotCQkJd2FybiAiV2FybmluZzogdGhlIGNvbW1hbmQgaXNuJ3QgcmVjb2duaXplZCIgXAotCQkJCSJpbiB0aGUgZm9sbG93aW5nIGxpbmU6IgotCQkJd2FybiAiIC0gJGxpbmUiCisJCQl3YXJuICIkKGV2YWxfZ2V0dGV4dCAiXAorV2FybmluZzogdGhlIGNvbW1hbmQgaXNuJ3QgcmVjb2duaXplZCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6CisgLSBcJGxpbmUiKSIKIAkJCXdhcm4KIAkJCXJldHZhbD0xCiAJCQk7OwpAQCAtOTUyLDcgKzk3Niw3IEBACiAjIFN3aXRjaCB0byB0aGUgYnJhbmNoIGluICRpbnRvIGFuZCBub3RpZnkgaXQgaW4gdGhlIHJlZmxvZwogY2hlY2tvdXRfb250byAoKSB7CiAJR0lUX1JFRkxPR19BQ1RJT049IiRHSVRfUkVGTE9HX0FDVElPTjogY2hlY2tvdXQgJG9udG9fbmFtZSIKLQlvdXRwdXQgZ2l0IGNoZWNrb3V0ICRvbnRvIHx8IGRpZV9hYm9ydCAiY291bGQgbm90IGRldGFjaCBIRUFEIgorCW91dHB1dCBnaXQgY2hlY2tvdXQgJG9udG8gfHwgZGllX2Fib3J0ICIkKGdldHRleHQgImNvdWxkIG5vdCBkZXRhY2ggSEVBRCIpIgogCWdpdCB1cGRhdGUtcmVmIE9SSUdfSEVBRCAkb3JpZ19oZWFkCiB9CiAKQEAgLTk5MCwyOCArMTAxNCwyNiBAQAogCQl0aGVuCiAJCQl0ZXN0ICIkY2hlY2tfbGV2ZWwiID0gZXJyb3IgJiYgcmFpc2VfZXJyb3I9dAogCi0JCQl3YXJuICJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIiBcCi0JCQkJImFjY2lkZW50YWxseS4iCi0JCQl3YXJuICJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKToiCisJCQl3YXJuICIkKGdldHRleHQgIlwKK1dhcm5pbmc6IHNvbWUgY29tbWl0cyBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgYWNjaWRlbnRhbGx5LgorRHJvcHBlZCBjb21taXRzIChuZXdlciB0byBvbGRlcik6IikiCiAKIAkJCSMgTWFrZSB0aGUgbGlzdCB1c2VyLWZyaWVuZGx5IGFuZCBkaXNwbGF5CiAJCQlvcHQ9Ii0tbm8td2Fsaz1zb3J0ZWQgLS1mb3JtYXQ9b25lbGluZSAtLWFiYnJldi1jb21taXQgLS1zdGRpbiIKIAkJCWdpdCByZXYtbGlzdCAkb3B0IDwiJHRvZG8iLm1pc3MgfCB3YXJuX2xpbmVzCiAKLQkJCXdhcm4gIlRvIGF2b2lkIHRoaXMgbWVzc2FnZSwgdXNlIFwiZHJvcFwiIHRvIiBcCi0JCQkJImV4cGxpY2l0bHkgcmVtb3ZlIGEgY29tbWl0LiIKLQkJCXdhcm4KLQkJCXdhcm4gIlVzZSAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycgdG8gY2hhbmdlIiBcCi0JCQkJInRoZSBsZXZlbCBvZiB3YXJuaW5ncy4iCi0JCQl3YXJuICJUaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuIgorCQkJd2FybiAiJChnZXR0ZXh0ICJcCitUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC4KKworVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mIHdhcm5pbmdzLgorVGhlIHBvc3NpYmxlIGJlaGF2aW91cnMgYXJlOiBpZ25vcmUsIHdhcm4sIGVycm9yLiIpIgogCQkJd2FybgogCQlmaQogCQk7OwogCWlnbm9yZSkKIAkJOzsKIAkqKQotCQl3YXJuICJVbnJlY29nbml6ZWQgc2V0dGluZyAkY2hlY2tfbGV2ZWwgZm9yIG9wdGlvbiIgXAotCQkJInJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiBJZ25vcmluZy4iCisJCXdhcm4gIiQoZXZhbF9nZXR0ZXh0ICJVbnJlY29nbml6ZWQgc2V0dGluZyBcJGNoZWNrX2xldmVsIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIElnbm9yaW5nLiIpIgogCQk7OwogCWVzYWMKIApAQCAtMTAyOCw4ICsxMDUwLDggQEAKIAkJIyBwbGFjZWQgYmVmb3JlIHRoZSBjb21taXQgb2YgdGhlIG5leHQgYWN0aW9uCiAJCWNoZWNrb3V0X29udG8KIAotCQl3YXJuICJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKLQkJZGllICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCisJCXdhcm4gIiQoZ2V0dGV4dCAiWW91IGNhbiBmaXggdGhpcyB3aXRoICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScuIikiCisJCWRpZSAiJChnZXR0ZXh0ICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iKSIKIAlmaQogfQogCkBAIC0xMDM4LDggKzEwNjAsOCBAQAogIyBiZWxvdyB3ZXJlIG5vdCBpbnNpZGUgYW55IGZ1bmN0aW9uLCBhbmQgZXhwZWN0ZWQgdG8gcmV0dXJuCiAjIHRvIHRoZSBmdW5jdGlvbiB0aGF0IGRvdC1zb3VyY2VkIHVzLgogIwotIyBIb3dldmVyLCBGcmVlQlNEIC9iaW4vc2ggbWlzYmVoYXZlcyBvbiBzdWNoIGEgY29uc3RydWN0IGFuZAotIyBjb250aW51ZXMgdG8gcnVuIHRoZSBzdGF0ZW1lbnRzIHRoYXQgZm9sbG93IHN1Y2ggYSAicmV0dXJuIi4KKyMgSG93ZXZlciwgb2xkZXIgKDkueCkgdmVyc2lvbnMgb2YgRnJlZUJTRCAvYmluL3NoIG1pc2JlaGF2ZSBvbiBzdWNoIGEKKyMgY29uc3RydWN0IGFuZCBjb250aW51ZSB0byBydW4gdGhlIHN0YXRlbWVudHMgdGhhdCBmb2xsb3cgc3VjaCBhICJyZXR1cm4iLgogIyBBcyBhIHdvcmstYXJvdW5kLCB3ZSBpbnRyb2R1Y2UgYW4gZXh0cmEgbGF5ZXIgb2YgYSBmdW5jdGlvbgogIyBoZXJlLCBhbmQgaW1tZWRpYXRlbHkgY2FsbCBpdCBhZnRlciBkZWZpbmluZyBpdC4KIGdpdF9yZWJhc2VfX2ludGVyYWN0aXZlICgpIHsKQEAgLTEwNTMsNDEgKzEwNzUsNDMgQEAKIAogCQl0ZXN0ICEgLWYgIiRHSVRfRElSIi9DSEVSUllfUElDS19IRUFEIHx8CiAJCXJtICIkR0lUX0RJUiIvQ0hFUlJZX1BJQ0tfSEVBRCB8fAotCQlkaWUgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKKwkJZGllICIkKGdldHRleHQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIpIgogCWVsc2UKIAkJaWYgISB0ZXN0IC1mICIkYXV0aG9yX3NjcmlwdCIKIAkJdGhlbgogCQkJZ3BnX3NpZ25fb3B0X3F1b3RlZD0ke2dwZ19zaWduX29wdDorJChnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgIiRncGdfc2lnbl9vcHQiKX0KLQkJCWRpZSAiWW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIElmIHRoZXNlIGNoYW5nZXMgYXJlIG1lYW50IHRvIGJlCisJCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJcCitZb3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4KK0lmIHRoZXNlIGNoYW5nZXMgYXJlIG1lYW50IHRvIGJlCiBzcXVhc2hlZCBpbnRvIHRoZSBwcmV2aW91cyBjb21taXQsIHJ1bjoKIAotICBnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWQKKyAgZ2l0IGNvbW1pdCAtLWFtZW5kIFwkZ3BnX3NpZ25fb3B0X3F1b3RlZAogCiBJZiB0aGV5IGFyZSBtZWFudCB0byBnbyBpbnRvIGEgbmV3IGNvbW1pdCwgcnVuOgogCi0gIGdpdCBjb21taXQgJGdwZ19zaWduX29wdF9xdW90ZWQKKyAgZ2l0IGNvbW1pdCBcJGdwZ19zaWduX29wdF9xdW90ZWQKIAotSW4gYm90aCBjYXNlLCBvbmNlIHlvdSdyZSBkb25lLCBjb250aW51ZSB3aXRoOgorSW4gYm90aCBjYXNlcywgb25jZSB5b3UncmUgZG9uZSwgY29udGludWUgd2l0aDoKIAogICBnaXQgcmViYXNlIC0tY29udGludWUKLSIKKyIpIgogCQlmaQogCQkuICIkYXV0aG9yX3NjcmlwdCIgfHwKLQkJCWRpZSAiRXJyb3IgdHJ5aW5nIHRvIGZpbmQgdGhlIGF1dGhvciBpZGVudGl0eSB0byBhbWVuZCBjb21taXQiCisJCQlkaWUgIiQoZ2V0dGV4dCAiRXJyb3IgdHJ5aW5nIHRvIGZpbmQgdGhlIGF1dGhvciBpZGVudGl0eSB0byBhbWVuZCBjb21taXQiKSIKIAkJaWYgdGVzdCAtZiAiJGFtZW5kIgogCQl0aGVuCiAJCQljdXJyZW50X2hlYWQ9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQpCiAJCQl0ZXN0ICIkY3VycmVudF9oZWFkIiA9ICQoY2F0ICIkYW1lbmQiKSB8fAotCQkJZGllICJcCi1Zb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UsIGNvbW1pdCB0aGVtCi1maXJzdCBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScgYWdhaW4uIgorCQkJZGllICIkKGdldHRleHQgIlwKK1lvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSBjb21taXQgdGhlbQorZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIpIgogCQkJZG9fd2l0aF9hdXRob3IgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tbm8tdmVyaWZ5IC1GICIkbXNnIiAtZSBcCiAJCQkJJHtncGdfc2lnbl9vcHQ6KyIkZ3BnX3NpZ25fb3B0In0gfHwKLQkJCQlkaWUgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgorCQkJCWRpZSAiJChnZXR0ZXh0ICJDb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIpIgogCQllbHNlCiAJCQlkb193aXRoX2F1dGhvciBnaXQgY29tbWl0IC0tbm8tdmVyaWZ5IC1GICIkbXNnIiAtZSBcCiAJCQkJJHtncGdfc2lnbl9vcHQ6KyIkZ3BnX3NpZ25fb3B0In0gfHwKLQkJCQlkaWUgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgorCQkJCWRpZSAiJChnZXR0ZXh0ICJDb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIpIgogCQlmaQogCWZpCiAKQEAgLTExMTEsNDAgKzExMzUsMzYgQEAKIAltdiAtZiAiJHRvZG8iLm5ldyAiJHRvZG8iCiAJY29sbGFwc2VfdG9kb19pZHMKIAlhcHBlbmRfdG9kb19oZWxwCi0JZ2l0IHN0cmlwc3BhY2UgLS1jb21tZW50LWxpbmVzID4+IiR0b2RvIiA8PFxFT0YKLQorCWdldHRleHQgIgogWW91IGFyZSBlZGl0aW5nIHRoZSB0b2RvIGZpbGUgb2YgYW4gb25nb2luZyBpbnRlcmFjdGl2ZSByZWJhc2UuCiBUbyBjb250aW51ZSByZWJhc2UgYWZ0ZXIgZWRpdGluZywgcnVuOgogICAgIGdpdCByZWJhc2UgLS1jb250aW51ZQogCi1FT0YKKyIgfCBnaXQgc3RyaXBzcGFjZSAtLWNvbW1lbnQtbGluZXMgPj4iJHRvZG8iCiAKIAlnaXRfc2VxdWVuY2VfZWRpdG9yICIkdG9kbyIgfHwKLQkJZGllICJDb3VsZCBub3QgZXhlY3V0ZSBlZGl0b3IiCisJCWRpZSAiJChnZXR0ZXh0ICJDb3VsZCBub3QgZXhlY3V0ZSBlZGl0b3IiKSIKIAlleHBhbmRfdG9kb19pZHMKIAogCWV4aXQKIAk7OwogZXNhYwogCi1naXQgdmFyIEdJVF9DT01NSVRURVJfSURFTlQgPi9kZXYvbnVsbCB8fAotCWRpZSAiWW91IG5lZWQgdG8gc2V0IHlvdXIgY29tbWl0dGVyIGluZm8gZmlyc3QiCi0KIGNvbW1lbnRfZm9yX3JlZmxvZyBzdGFydAogCiBpZiB0ZXN0ICEgLXogIiRzd2l0Y2hfdG8iCiB0aGVuCiAJR0lUX1JFRkxPR19BQ1RJT049IiRHSVRfUkVGTE9HX0FDVElPTjogY2hlY2tvdXQgJHN3aXRjaF90byIKIAlvdXRwdXQgZ2l0IGNoZWNrb3V0ICIkc3dpdGNoX3RvIiAtLSB8fAotCWRpZSAiQ291bGQgbm90IGNoZWNrb3V0ICRzd2l0Y2hfdG8iCisJCWRpZSAiJChldmFsX2dldHRleHQgIkNvdWxkIG5vdCBjaGVja291dCBcJHN3aXRjaF90byIpIgogCiAJY29tbWVudF9mb3JfcmVmbG9nIHN0YXJ0CiBmaQogCi1vcmlnX2hlYWQ9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQpIHx8IGRpZSAiTm8gSEVBRD8iCi1ta2RpciAtcCAiJHN0YXRlX2RpciIgfHwgZGllICJDb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAkc3RhdGVfZGlyIgorb3JpZ19oZWFkPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSB8fCBkaWUgIiQoZ2V0dGV4dCAiTm8gSEVBRD8iKSIKK21rZGlyIC1wICIkc3RhdGVfZGlyIiB8fCBkaWUgIiQoZXZhbF9nZXR0ZXh0ICJDb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSBcJHN0YXRlX2RpciIpIgogCi06ID4gIiRzdGF0ZV9kaXIiL2ludGVyYWN0aXZlIHx8IGRpZSAiQ291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCis6ID4gIiRzdGF0ZV9kaXIiL2ludGVyYWN0aXZlIHx8IGRpZSAiJChnZXR0ZXh0ICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIpIgogd3JpdGVfYmFzaWNfc3RhdGUKIGlmIHRlc3QgdCA9ICIkcHJlc2VydmVfbWVyZ2VzIgogdGhlbgpAQCAtMTE1NCwxMiArMTE3NCwxMiBAQAogCQlmb3IgYyBpbiAkKGdpdCBtZXJnZS1iYXNlIC0tYWxsICRvcmlnX2hlYWQgJHVwc3RyZWFtKQogCQlkbwogCQkJZWNobyAkb250byA+ICIkcmV3cml0dGVuIi8kYyB8fAotCQkJCWRpZSAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCisJCQkJZGllICIkKGdldHRleHQgIkNvdWxkIG5vdCBpbml0IHJld3JpdHRlbiBjb21taXRzIikiCiAJCWRvbmUKIAllbHNlCiAJCW1rZGlyICIkcmV3cml0dGVuIiAmJgogCQllY2hvICRvbnRvID4gIiRyZXdyaXR0ZW4iL3Jvb3QgfHwKLQkJCWRpZSAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCisJCQlkaWUgIiQoZ2V0dGV4dCAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiKSIKIAlmaQogCSMgTm8gY2hlcnJ5LXBpY2sgYmVjYXVzZSBvdXIgZmlyc3QgcGFzcyBpcyB0byBkZXRlcm1pbmUKIAkjIHBhcmVudHMgdG8gcmV3cml0ZSBhbmQgc2tpcHBpbmcgZHJvcHBlZCBjb21taXRzIHdvdWxkCkBAIC0xMjU4LDE4ICsxMjc4LDIwIEBACiAKIGNhdCA+PiIkdG9kbyIgPDxFT0YKIAotJGNvbW1lbnRfY2hhciBSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kKHMpKQorJGNvbW1lbnRfY2hhciAkKGV2YWxfbmdldHRleHQgXAorCSJSZWJhc2UgXCRzaG9ydHJldmlzaW9ucyBvbnRvIFwkc2hvcnRvbnRvIChcJHRvZG9jb3VudCBjb21tYW5kKSIgXAorCSJSZWJhc2UgXCRzaG9ydHJldmlzaW9ucyBvbnRvIFwkc2hvcnRvbnRvIChcJHRvZG9jb3VudCBjb21tYW5kcykiIFwKKwkiJHRvZG9jb3VudCIpCiBFT0YKIGFwcGVuZF90b2RvX2hlbHAKLWdpdCBzdHJpcHNwYWNlIC0tY29tbWVudC1saW5lcyA+PiIkdG9kbyIgPDxcRU9GCi0KK2dldHRleHQgIgogSG93ZXZlciwgaWYgeW91IHJlbW92ZSBldmVyeXRoaW5nLCB0aGUgcmViYXNlIHdpbGwgYmUgYWJvcnRlZC4KIAotRU9GCisiIHwgZ2l0IHN0cmlwc3BhY2UgLS1jb21tZW50LWxpbmVzID4+IiR0b2RvIgogCiBpZiB0ZXN0IC16ICIka2VlcF9lbXB0eSIKIHRoZW4KLQlwcmludGYgJyVzXG4nICIkY29tbWVudF9jaGFyIE5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IiA+PiIkdG9kbyIKKwlwcmludGYgJyVzXG4nICIkY29tbWVudF9jaGFyICQoZ2V0dGV4dCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiKSIgPj4iJHRvZG8iCiBmaQogCiAKQEAgLTEyNzksNyArMTMwMSw3IEBACiBjcCAiJHRvZG8iICIkdG9kbyIuYmFja3VwCiBjb2xsYXBzZV90b2RvX2lkcwogZ2l0X3NlcXVlbmNlX2VkaXRvciAiJHRvZG8iIHx8Ci0JZGllX2Fib3J0ICJDb3VsZCBub3QgZXhlY3V0ZSBlZGl0b3IiCisJZGllX2Fib3J0ICIkKGdldHRleHQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIpIgogCiBoYXNfYWN0aW9uICIkdG9kbyIgfHwKIAlyZXR1cm4gMgpkaWZmIC0tZ2l0IGEvZ2l0LXJlYmFzZS0tbWVyZ2Uuc2ggYi9naXQtcmViYXNlLS1tZXJnZS5zaAppbmRleCA4ZDQzZGI5Li4wNmE0NzIzIDEwMDY0NAotLS0gYS9naXQtcmViYXNlLS1tZXJnZS5zaAorKysgYi9naXQtcmViYXNlLS1tZXJnZS5zaApAQCAtMTA3LDggKzEwNyw4IEBACiAjIGJlbG93IHdlcmUgbm90IGluc2lkZSBhbnkgZnVuY3Rpb24sIGFuZCBleHBlY3RlZCB0byByZXR1cm4KICMgdG8gdGhlIGZ1bmN0aW9uIHRoYXQgZG90LXNvdXJjZWQgdXMuCiAjCi0jIEhvd2V2ZXIsIEZyZWVCU0QgL2Jpbi9zaCBtaXNiZWhhdmVzIG9uIHN1Y2ggYSBjb25zdHJ1Y3QgYW5kCi0jIGNvbnRpbnVlcyB0byBydW4gdGhlIHN0YXRlbWVudHMgdGhhdCBmb2xsb3cgc3VjaCBhICJyZXR1cm4iLgorIyBIb3dldmVyLCBvbGRlciAoOS54KSB2ZXJzaW9ucyBvZiBGcmVlQlNEIC9iaW4vc2ggbWlzYmVoYXZlIG9uIHN1Y2ggYQorIyBjb25zdHJ1Y3QgYW5kIGNvbnRpbnVlIHRvIHJ1biB0aGUgc3RhdGVtZW50cyB0aGF0IGZvbGxvdyBzdWNoIGEgInJldHVybiIuCiAjIEFzIGEgd29yay1hcm91bmQsIHdlIGludHJvZHVjZSBhbiBleHRyYSBsYXllciBvZiBhIGZ1bmN0aW9uCiAjIGhlcmUsIGFuZCBpbW1lZGlhdGVseSBjYWxsIGl0IGFmdGVyIGRlZmluaW5nIGl0LgogZ2l0X3JlYmFzZV9fbWVyZ2UgKCkgewpkaWZmIC0tZ2l0IGEvZ2l0LXJlYmFzZS5zaCBiL2dpdC1yZWJhc2Uuc2gKaW5kZXggNDRlZGUzNi4uMDRmNmU0NCAxMDA3NTUKLS0tIGEvZ2l0LXJlYmFzZS5zaAorKysgYi9naXQtcmViYXNlLnNoCkBAIC00NSw3ICs0NSw2IEBACiBlZGl0LXRvZG8hICAgICAgICAgZWRpdCB0aGUgdG9kbyBsaXN0IGR1cmluZyBhbiBpbnRlcmFjdGl2ZSByZWJhc2UKICIKIC4gZ2l0LXNoLXNldHVwCi0uIGdpdC1zaC1pMThuCiBzZXRfcmVmbG9nX2FjdGlvbiByZWJhc2UKIHJlcXVpcmVfd29ya190cmVlX2V4aXN0cwogY2RfdG9fdG9wbGV2ZWwKQEAgLTE1NCw3ICsxNTMsNyBAQAogCQlnaXQgc3ltYm9saWMtcmVmIFwKIAkJCS1tICJyZWJhc2UgZmluaXNoZWQ6IHJldHVybmluZyB0byAkaGVhZF9uYW1lIiBcCiAJCQlIRUFEICRoZWFkX25hbWUgfHwKLQkJZGllICIkKGdldHRleHQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIpIgorCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvIFwkaGVhZF9uYW1lIikiCiAJCTs7CiAJZXNhYwogfQpAQCAtNDQ5LDcgKzQ0OCw3IEBACiAJCXRoZW4KIAkJCS4gZ2l0LXBhcnNlLXJlbW90ZQogCQkJZXJyb3Jfb25fbWlzc2luZ19kZWZhdWx0X3Vwc3RyZWFtICJyZWJhc2UiICJyZWJhc2UiIFwKLQkJCQkiYWdhaW5zdCIgImdpdCByZWJhc2UgPGJyYW5jaD4iCisJCQkJImFnYWluc3QiICJnaXQgcmViYXNlICQoZ2V0dGV4dCAnPGJyYW5jaD4nKSIKIAkJZmkKIAogCQl0ZXN0ICIkZm9ya19wb2ludCIgPSBhdXRvICYmIGZvcmtfcG9pbnQ9dApkaWZmIC0tZ2l0IGEvZ2l0LXNlbmQtZW1haWwucGVybCBiL2dpdC1zZW5kLWVtYWlsLnBlcmwKaW5kZXggNjk1ODc4NS4uZGE4MWJlNCAxMDA3NTUKLS0tIGEvZ2l0LXNlbmQtZW1haWwucGVybAorKysgYi9naXQtc2VuZC1lbWFpbC5wZXJsCkBAIC02MjEsNiArNjIxLDggQEAKIAlwdXNoIEBmaWxlcywgJHJlcG8tPmNvbW1hbmQoJ2Zvcm1hdC1wYXRjaCcsICctbycsIHRlbXBkaXIoQ0xFQU5VUCA9PiAxKSwgQHJldl9saXN0X29wdHMpOwogfQogCitAZmlsZXMgPSBoYW5kbGVfYmFja3VwX2ZpbGVzKEBmaWxlcyk7CisKIGlmICgkdmFsaWRhdGUpIHsKIAlmb3JlYWNoIG15ICRmIChAZmlsZXMpIHsKIAkJdW5sZXNzICgtcCAkZikgewpAQCAtMTcyNyw2ICsxNzI5LDQ0IEBACiAJcmV0dXJuOwogfQogCitzdWIgaGFuZGxlX2JhY2t1cCB7CisJbXkgKCRsYXN0LCAkbGFzdGxlbiwgJGZpbGUsICRrbm93bl9zdWZmaXgpID0gQF87CisJbXkgKCRzdWZmaXgsICRza2lwKTsKKworCSRza2lwID0gMDsKKwlpZiAoZGVmaW5lZCAkbGFzdCAmJgorCSAgICAoJGxhc3RsZW4gPCBsZW5ndGgoJGZpbGUpKSAmJgorCSAgICAoc3Vic3RyKCRmaWxlLCAwLCAkbGFzdGxlbikgZXEgJGxhc3QpICYmCisJICAgICgkc3VmZml4ID0gc3Vic3RyKCRmaWxlLCAkbGFzdGxlbikpICF+IC9eW2EtejAtOV0vaSkgeworCQlpZiAoZGVmaW5lZCAka25vd25fc3VmZml4ICYmICRzdWZmaXggZXEgJGtub3duX3N1ZmZpeCkgeworCQkJcHJpbnQgIlNraXBwaW5nICRmaWxlIHdpdGggYmFja3VwIHN1ZmZpeCAnJGtub3duX3N1ZmZpeCcuXG4iOworCQkJJHNraXAgPSAxOworCQl9IGVsc2UgeworCQkJbXkgJGFuc3dlciA9IGFzaygiRG8geW91IHJlYWxseSB3YW50IHRvIHNlbmQgJGZpbGU/ICh5fE4pOiAiLAorCQkJCQkgdmFsaWRfcmUgPT4gcXIvXig/Onl8bikvaSwKKwkJCQkJIGRlZmF1bHQgPT4gJ24nKTsKKwkJCSRza2lwID0gKCRhbnN3ZXIgbmUgJ3knKTsKKwkJCWlmICgkc2tpcCkgeworCQkJCSRrbm93bl9zdWZmaXggPSAkc3VmZml4OworCQkJfQorCQl9CisJfQorCXJldHVybiAoJHNraXAsICRrbm93bl9zdWZmaXgpOworfQorCitzdWIgaGFuZGxlX2JhY2t1cF9maWxlcyB7CisJbXkgQGZpbGUgPSBAXzsKKwlteSAoJGxhc3QsICRsYXN0bGVuLCAka25vd25fc3VmZml4LCAkc2tpcCwgQHJlc3VsdCk7CisJZm9yIG15ICRmaWxlIChAZmlsZSkgeworCQkoJHNraXAsICRrbm93bl9zdWZmaXgpID0gaGFuZGxlX2JhY2t1cCgkbGFzdCwgJGxhc3RsZW4sCisJCQkJCQkgICAgICAgJGZpbGUsICRrbm93bl9zdWZmaXgpOworCQlwdXNoIEByZXN1bHQsICRmaWxlIHVubGVzcyAkc2tpcDsKKwkJJGxhc3QgPSAkZmlsZTsKKwkJJGxhc3RsZW4gPSBsZW5ndGgoJGZpbGUpOworCX0KKwlyZXR1cm4gQHJlc3VsdDsKK30KKwogc3ViIGZpbGVfaGFzX25vbmFzY2lpIHsKIAlteSAkZm4gPSBzaGlmdDsKIAlvcGVuKG15ICRmaCwgJzwnLCAkZm4pCmRpZmYgLS1naXQgYS9naXQtc2gtaTE4bi5zaCBiL2dpdC1zaC1pMThuLnNoCmluZGV4IGU2YzMxMTYuLjFlZjE4ODkgMTAwNjQ0Ci0tLSBhL2dpdC1zaC1pMThuLnNoCisrKyBiL2dpdC1zaC1pMThuLnNoCkBAIC01Myw2ICs1MywxMyBAQAogCQkJZ2l0IHNoLWkxOG4tLWVudnN1YnN0ICIkMSIKIAkJKQogCX0KKworCWV2YWxfbmdldHRleHQgKCkgeworCQluZ2V0dGV4dCAiJDEiICIkMiIgIiQzIiB8ICgKKwkJCWV4cG9ydCBQQVRIICQoZ2l0IHNoLWkxOG4tLWVudnN1YnN0IC0tdmFyaWFibGVzICIkMiIpOworCQkJZ2l0IHNoLWkxOG4tLWVudnN1YnN0ICIkMiIKKwkJKQorCX0KIAk7OwogcG9pc29uKQogCSMgRW1pdCBnYXJiYWdlIHNvIHRoYXQgdGVzdHMgdGhhdCBpbmNvcnJlY3RseSByZWx5IG9uIHRyYW5zbGF0YWJsZQpAQCAtNjQsNiArNzEsMTAgQEAKIAlldmFsX2dldHRleHQgKCkgewogCQlwcmludGYgIiVzIiAiIyBHRVRURVhUIFBPSVNPTiAjIgogCX0KKworCWV2YWxfbmdldHRleHQgKCkgeworCQlwcmludGYgIiVzIiAiIyBHRVRURVhUIFBPSVNPTiAjIgorCX0KIAk7OwogKikKIAlnZXR0ZXh0ICgpIHsKQEAgLTc2LDYgKzg3LDEzIEBACiAJCQlnaXQgc2gtaTE4bi0tZW52c3Vic3QgIiQxIgogCQkpCiAJfQorCisJZXZhbF9uZ2V0dGV4dCAoKSB7CisJCSh0ZXN0ICIkMyIgPSAxICYmIHByaW50ZiAiJXMiICIkMSIgfHwgcHJpbnRmICIlcyIgIiQyIikgfCAoCisJCQlleHBvcnQgUEFUSCAkKGdpdCBzaC1pMThuLS1lbnZzdWJzdCAtLXZhcmlhYmxlcyAiJDIiKTsKKwkJCWdpdCBzaC1pMThuLS1lbnZzdWJzdCAiJDIiCisJCSkKKwl9CiAJOzsKIGVzYWMKIApkaWZmIC0tZ2l0IGEvZ2l0LXNoLXNldHVwLnNoIGIvZ2l0LXNoLXNldHVwLnNoCmluZGV4IGM0ODEzOWEuLjI0MGM3ZWIgMTAwNjQ0Ci0tLSBhL2dpdC1zaC1zZXR1cC5zaAorKysgYi9naXQtc2gtc2V0dXAuc2gKQEAgLTQzLDYgKzQzLDkgQEAKIAogIyBAQEJST0tFTl9QQVRIX0ZJWEBACiAKKyMgU291cmNlIGdpdC1zaC1pMThuIGZvciBnZXR0ZXh0IHN1cHBvcnQuCisuICIkKGdpdCAtLWV4ZWMtcGF0aCkvZ2l0LXNoLWkxOG4iCisKIGRpZSAoKSB7CiAJZGllX3dpdGhfc3RhdHVzIDEgIiRAIgogfQpAQCAtODMsMTYgKzg2LDE2IEBACiBlbHNlCiAJZGFzaGxlc3M9JChiYXNlbmFtZSAtLSAiJDAiIHwgc2VkIC1lICdzLy0vIC8nKQogCXVzYWdlKCkgewotCQlkaWUgInVzYWdlOiAkZGFzaGxlc3MgJFVTQUdFIgorCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJ1c2FnZTogXCRkYXNobGVzcyBcJFVTQUdFIikiCiAJfQogCiAJaWYgWyAteiAiJExPTkdfVVNBR0UiIF0KIAl0aGVuCi0JCUxPTkdfVVNBR0U9InVzYWdlOiAkZGFzaGxlc3MgJFVTQUdFIgorCQlMT05HX1VTQUdFPSIkKGV2YWxfZ2V0dGV4dCAidXNhZ2U6IFwkZGFzaGxlc3MgXCRVU0FHRSIpIgogCWVsc2UKLQkJTE9OR19VU0FHRT0idXNhZ2U6ICRkYXNobGVzcyAkVVNBR0UKKwkJTE9OR19VU0FHRT0iJChldmFsX2dldHRleHQgInVzYWdlOiBcJGRhc2hsZXNzIFwkVVNBR0UKIAotJExPTkdfVVNBR0UiCiskTE9OR19VU0FHRSIpIgogCWZpCiAKIAljYXNlICIkMSIgaW4KQEAgLTE2MCw5ICsxNjMsMTEgQEAKIAllbHNlCiAJCUdJVF9QQUdFUj1jYXQKIAlmaQotCTogJHtMRVNTPS1GUlh9Ci0JOiAke0xWPS1jfQotCWV4cG9ydCBMRVNTIExWCisJZm9yIHZhcmRlZiBpbiBAQFBBR0VSX0VOVkBACisJZG8KKwkJdmFyPSR7dmFyZGVmJSU9Kn0KKwkJZXZhbCAiOiBcIlwkeyR2YXJkZWZ9XCIgJiYgZXhwb3J0ICR2YXIiCisJZG9uZQogCiAJZXZhbCAiJEdJVF9QQUdFUiIgJyIkQCInCiB9CkBAIC0xODIsNyArMTg3LDcgQEAKIGNkX3RvX3RvcGxldmVsICgpIHsKIAljZHVwPSQoZ2l0IHJldi1wYXJzZSAtLXNob3ctdG9wbGV2ZWwpICYmCiAJY2QgIiRjZHVwIiB8fCB7Ci0JCWVjaG8gPiYyICJDYW5ub3QgY2hkaXIgdG8gJGNkdXAsIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgorCQlnZXR0ZXh0bG4gIkNhbm5vdCBjaGRpciB0byBcJGNkdXAsIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIiA+JjIKIAkJZXhpdCAxCiAJfQogfQpAQCAtMTkwLDEzICsxOTUsMTYgQEAKIHJlcXVpcmVfd29ya190cmVlX2V4aXN0cyAoKSB7CiAJaWYgdGVzdCAieiQoZ2l0IHJldi1wYXJzZSAtLWlzLWJhcmUtcmVwb3NpdG9yeSkiICE9IHpmYWxzZQogCXRoZW4KLQkJZGllICJmYXRhbDogJDAgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBhIHdvcmtpbmcgdHJlZS4iCisJCXByb2dyYW1fbmFtZT0kMAorCQlkaWUgIiQoZ2V0dGV4dCAiZmF0YWw6IFwkcHJvZ3JhbV9uYW1lIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgYSB3b3JraW5nIHRyZWUuIikiCiAJZmkKIH0KIAogcmVxdWlyZV93b3JrX3RyZWUgKCkgewotCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSAtLWlzLWluc2lkZS13b3JrLXRyZWUgMj4vZGV2L251bGwpIiA9IHRydWUgfHwKLQlkaWUgImZhdGFsOiAkMCBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGEgd29ya2luZyB0cmVlLiIKKwl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgLS1pcy1pbnNpZGUtd29yay10cmVlIDI+L2Rldi9udWxsKSIgPSB0cnVlIHx8IHsKKwkJcHJvZ3JhbV9uYW1lPSQwCisJCWRpZSAiJChnZXR0ZXh0ICJmYXRhbDogXCRwcm9ncmFtX25hbWUgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBhIHdvcmtpbmcgdHJlZS4iKSIKKwl9CiB9CiAKIHJlcXVpcmVfY2xlYW5fd29ya190cmVlICgpIHsKQEAgLTIwNiwyNCArMjE0LDQ5IEBACiAKIAlpZiAhIGdpdCBkaWZmLWZpbGVzIC0tcXVpZXQgLS1pZ25vcmUtc3VibW9kdWxlcwogCXRoZW4KLQkJZWNobyA+JjIgIkNhbm5vdCAkMTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCisJCWFjdGlvbj0kMQorCQljYXNlICIkYWN0aW9uIiBpbgorCQlyZWJhc2UpCisJCQlnZXR0ZXh0bG4gIkNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIiA+JjIKKwkJCTs7CisJCSJyZXdyaXRlIGJyYW5jaGVzIikKKwkJCWdldHRleHRsbiAiQ2Fubm90IHJld3JpdGUgYnJhbmNoZXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIiA+JjIKKwkJCTs7CisJCSJwdWxsIHdpdGggcmViYXNlIikKKwkJCWdldHRleHRsbiAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIiA+JjIKKwkJCTs7CisJCSopCisJCQlldmFsX2dldHRleHRsbiAiQ2Fubm90IFwkYWN0aW9uOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIgPiYyCisJCQk7OworCQllc2FjCiAJCWVycj0xCiAJZmkKIAogCWlmICEgZ2l0IGRpZmYtaW5kZXggLS1jYWNoZWQgLS1xdWlldCAtLWlnbm9yZS1zdWJtb2R1bGVzIEhFQUQgLS0KIAl0aGVuCi0JCWlmIFsgJGVyciA9IDAgXQorCQlpZiB0ZXN0ICRlcnIgPSAwCiAJCXRoZW4KLQkJICAgIGVjaG8gPiYyICJDYW5ub3QgJDE6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCisJCQlhY3Rpb249JDEKKwkJCWNhc2UgIiRhY3Rpb24iIGluCisJCQlyZWJhc2UpCisJCQkJZ2V0dGV4dGxuICJDYW5ub3QgcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIiA+JjIKKwkJCQk7OworCQkJInB1bGwgd2l0aCByZWJhc2UiKQorCQkJCWdldHRleHRsbiAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iID4mMgorCQkJCTs7CisJCQkqKQorCQkJCWV2YWxfZ2V0dGV4dGxuICJDYW5ub3QgXCRhY3Rpb246IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iID4mMgorCQkJCTs7CisJCQllc2FjCiAJCWVsc2UKLQkJICAgIGVjaG8gPiYyICJBZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCisJCSAgICBnZXR0ZXh0bG4gIkFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIgPiYyCiAJCWZpCiAJCWVycj0xCiAJZmkKIAotCWlmIFsgJGVyciA9IDEgXQorCWlmIHRlc3QgJGVyciA9IDEKIAl0aGVuCi0JCXRlc3QgLW4gIiQyIiAmJiBlY2hvID4mMiAiJDIiCisJCXRlc3QgLW4gIiQyIiAmJiBlY2hvICIkMiIgPiYyCiAJCWV4aXQgMQogCWZpCiB9CkBAIC0zMzYsMTUgKzM2OSwxNSBAQAogCXRoZW4KIAkJdGVzdCAteiAiJChnaXQgcmV2LXBhcnNlIC0tc2hvdy1jZHVwKSIgfHwgewogCQkJZXhpdD0kPwotCQkJZWNobyA+JjIgIllvdSBuZWVkIHRvIHJ1biB0aGlzIGNvbW1hbmQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZS4iCisJCQlnZXR0ZXh0bG4gIllvdSBuZWVkIHRvIHJ1biB0aGlzIGNvbW1hbmQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZS4iID4mMgogCQkJZXhpdCAkZXhpdAogCQl9CiAJZmkKIAl0ZXN0IC1uICIkR0lUX0RJUiIgJiYgR0lUX0RJUj0kKGNkICIkR0lUX0RJUiIgJiYgcHdkKSB8fCB7Ci0JCWVjaG8gPiYyICJVbmFibGUgdG8gZGV0ZXJtaW5lIGFic29sdXRlIHBhdGggb2YgZ2l0IGRpcmVjdG9yeSIKKwkJZ2V0dGV4dGxuICJVbmFibGUgdG8gZGV0ZXJtaW5lIGFic29sdXRlIHBhdGggb2YgZ2l0IGRpcmVjdG9yeSIgPiYyCiAJCWV4aXQgMQogCX0KLQk6ICR7R0lUX09CSkVDVF9ESVJFQ1RPUlk9IiQoZ2l0IHJldi1wYXJzZSAtLWdpdC1wYXRoIG9iamVjdHMpIn0KKwk6ICIke0dJVF9PQkpFQ1RfRElSRUNUT1JZPSIkKGdpdCByZXYtcGFyc2UgLS1naXQtcGF0aCBvYmplY3RzKSJ9IgogfQogCiBpZiB0ZXN0IC16ICIkTk9OR0lUX09LIgpkaWZmIC0tZ2l0IGEvZ2l0LXN0YXNoLnNoIGIvZ2l0LXN0YXNoLnNoCmluZGV4IGM3NTA5ZTguLjQ1NDZhYmEgMTAwNzU1Ci0tLSBhL2dpdC1zdGFzaC5zaAorKysgYi9naXQtc3Rhc2guc2gKQEAgLTE1LDcgKzE1LDYgQEAKIE9QVElPTlNfU1BFQz0KIFNUQVJUX0RJUj0kKHB3ZCkKIC4gZ2l0LXNoLXNldHVwCi0uIGdpdC1zaC1pMThuCiByZXF1aXJlX3dvcmtfdHJlZQogY2RfdG9fdG9wbGV2ZWwKIApAQCAtMTAxLDcgKzEwMCw3IEBACiAJCQkJdV90cmVlPSQoZ2l0IHdyaXRlLXRyZWUpICYmCiAJCQkJcHJpbnRmICd1bnRyYWNrZWQgZmlsZXMgb24gJXNcbicgIiRtc2ciIHwgZ2l0IGNvbW1pdC10cmVlICR1X3RyZWUgICYmCiAJCQkJcm0gLWYgIiRUTVBpbmRleCIKLQkJKSApIHx8IGRpZSAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKKwkJKSApIHx8IGRpZSAiJChnZXR0ZXh0ICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIikiCiAKIAkJdW50cmFja2VkX2NvbW1pdF9vcHRpb249Ii1wICR1X2NvbW1pdCI7CiAJZWxzZQpAQCAtMjQ5LDcgKzI0OCw3IEBACiAKIAlpZiB0ZXN0IC1uICIkcGF0Y2hfbW9kZSIgJiYgdGVzdCAtbiAiJHVudHJhY2tlZCIKIAl0aGVuCi0JICAgIGRpZSAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKKwkJZGllICIkKGdldHRleHQgIkNhbid0IHVzZSAtLXBhdGNoIGFuZCAtLWluY2x1ZGUtdW50cmFja2VkIG9yIC0tYWxsIGF0IHRoZSBzYW1lIHRpbWUiKSIKIAlmaQogCiAJc3Rhc2hfbXNnPSIkKiIKQEAgLTI2Niw3ICsyNjUsNyBAQAogCWNyZWF0ZV9zdGFzaCAiJHN0YXNoX21zZyIgJHVudHJhY2tlZAogCXN0b3JlX3N0YXNoIC1tICIkc3Rhc2hfbXNnIiAtcSAkd19jb21taXQgfHwKIAlkaWUgIiQoZ2V0dGV4dCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIikiCi0Jc2F5IFNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAiJHN0YXNoX21zZyIKKwlzYXkgIiQoZXZhbF9nZXR0ZXh0ICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgXCRzdGFzaF9tc2ciKSIKIAogCWlmIHRlc3QgLXogIiRwYXRjaF9tb2RlIgogCXRoZW4KQEAgLTM4NSw5ICszODQsOCBAQAogCWlfdHJlZT0KIAl1X3RyZWU9CiAKLQlSRVY9JChnaXQgcmV2LXBhcnNlIC0tbm8tZmxhZ3MgLS1zeW1ib2xpYyAtLXNxICIkQCIpIHx8IGV4aXQgMQotCiAJRkxBR1M9CisJUkVWPQogCWZvciBvcHQKIAlkbwogCQljYXNlICIkb3B0IiBpbgpAQCAtNDA1LDYgKzQwMyw5IEBACiAJCQkJCWRpZSAiJChldmFsX2dldHRleHQgInVua25vd24gb3B0aW9uOiBcJG9wdCIpIgogCQkJCUZMQUdTPSIke0ZMQUdTfSR7RkxBR1M6KyB9JG9wdCIKIAkJCTs7CisJCQkqKQorCQkJCVJFVj0iJHtSRVZ9JHtSRVY6KyB9JyRvcHQnIgorCQkJOzsKIAkJZXNhYwogCWRvbmUKIApAQCAtNDIzLDYgKzQyNCwxNSBAQAogCQk7OwogCWVzYWMKIAorCWNhc2UgIiQxIiBpbgorCQkqWyEwLTldKikKKwkJCToKKwkJOzsKKwkJKikKKwkJCXNldCAtLSAiJHtyZWZfc3Rhc2h9QHskMX0iCisJCTs7CisJZXNhYworCiAJUkVWPSQoZ2l0IHJldi1wYXJzZSAtLXN5bWJvbGljIC0tdmVyaWZ5IC0tcXVpZXQgIiQxIikgfHwgewogCQlyZWZlcmVuY2U9IiQxIgogCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJcJHJlZmVyZW5jZSBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiKSIKQEAgLTQ5NSw3ICs1MDUsNyBAQAogCQlHSVRfSU5ERVhfRklMRT0iJFRNUGluZGV4IiBnaXQtcmVhZC10cmVlICIkdV90cmVlIiAmJgogCQlHSVRfSU5ERVhfRklMRT0iJFRNUGluZGV4IiBnaXQgY2hlY2tvdXQtaW5kZXggLS1hbGwgJiYKIAkJcm0gLWYgIiRUTVBpbmRleCIgfHwKLQkJZGllICdDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCcKKwkJZGllICIkKGdldHRleHQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIikiCiAJZmkKIAogCWV2YWwgIgpAQCAtNTQ5LDcgKzU1OSw3IEBACiAJCWRyb3Bfc3Rhc2ggIiRAIgogCWVsc2UKIAkJc3RhdHVzPSQ/Ci0JCXNheSAiVGhlIHN0YXNoIGlzIGtlcHQgaW4gY2FzZSB5b3UgbmVlZCBpdCBhZ2Fpbi4iCisJCXNheSAiJChnZXR0ZXh0ICJUaGUgc3Rhc2ggaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIpIgogCQlleGl0ICRzdGF0dXMKIAlmaQogfQpkaWZmIC0tZ2l0IGEvZ2l0LXN1Ym1vZHVsZS5zaCBiL2dpdC1zdWJtb2R1bGUuc2gKaW5kZXggN2ZlOGE1MS4uYTAyNGExMyAxMDA3NTUKLS0tIGEvZ2l0LXN1Ym1vZHVsZS5zaAorKysgYi9naXQtc3VibW9kdWxlLnNoCkBAIC05LDE0ICs5LDEzIEBACiAgICBvcjogJGRhc2hsZXNzIFstLXF1aWV0XSBzdGF0dXMgWy0tY2FjaGVkXSBbLS1yZWN1cnNpdmVdIFstLV0gWzxwYXRoPi4uLl0KICAgIG9yOiAkZGFzaGxlc3MgWy0tcXVpZXRdIGluaXQgWy0tXSBbPHBhdGg+Li4uXQogICAgb3I6ICRkYXNobGVzcyBbLS1xdWlldF0gZGVpbml0IFstZnwtLWZvcmNlXSAoLS1hbGx8IFstLV0gPHBhdGg+Li4uKQotICAgb3I6ICRkYXNobGVzcyBbLS1xdWlldF0gdXBkYXRlIFstLWluaXRdIFstLXJlbW90ZV0gWy1OfC0tbm8tZmV0Y2hdIFstZnwtLWZvcmNlXSBbLS1jaGVja291dHwtLW1lcmdlfC0tcmViYXNlXSBbLS1yZWZlcmVuY2UgPHJlcG9zaXRvcnk+XSBbLS1yZWN1cnNpdmVdIFstLV0gWzxwYXRoPi4uLl0KKyAgIG9yOiAkZGFzaGxlc3MgWy0tcXVpZXRdIHVwZGF0ZSBbLS1pbml0XSBbLS1yZW1vdGVdIFstTnwtLW5vLWZldGNoXSBbLWZ8LS1mb3JjZV0gWy0tY2hlY2tvdXR8LS1tZXJnZXwtLXJlYmFzZV0gWy0tW25vLV1yZWNvbW1lbmQtc2hhbGxvd10gWy0tcmVmZXJlbmNlIDxyZXBvc2l0b3J5Pl0gWy0tcmVjdXJzaXZlXSBbLS1dIFs8cGF0aD4uLi5dCiAgICBvcjogJGRhc2hsZXNzIFstLXF1aWV0XSBzdW1tYXJ5IFstLWNhY2hlZHwtLWZpbGVzXSBbLS1zdW1tYXJ5LWxpbWl0IDxuPl0gW2NvbW1pdF0gWy0tXSBbPHBhdGg+Li4uXQogICAgb3I6ICRkYXNobGVzcyBbLS1xdWlldF0gZm9yZWFjaCBbLS1yZWN1cnNpdmVdIDxjb21tYW5kPgogICAgb3I6ICRkYXNobGVzcyBbLS1xdWlldF0gc3luYyBbLS1yZWN1cnNpdmVdIFstLV0gWzxwYXRoPi4uLl0iCiBPUFRJT05TX1NQRUM9CiBTVUJESVJFQ1RPUllfT0s9WWVzCiAuIGdpdC1zaC1zZXR1cAotLiBnaXQtc2gtaTE4bgogLiBnaXQtcGFyc2UtcmVtb3RlCiByZXF1aXJlX3dvcmtfdHJlZQogd3RfcHJlZml4PSQoZ2l0IHJldi1wYXJzZSAtLXNob3ctcHJlZml4KQpAQCAtNDUsMTIgKzQ0LDEzIEBACiBwcmVmaXg9CiBjdXN0b21fbmFtZT0KIGRlcHRoPQorcHJvZ3Jlc3M9CiAKIGRpZV9pZl91bm1hdGNoZWQgKCkKIHsKIAlpZiB0ZXN0ICIkMSIgPSAiI3VubWF0Y2hlZCIKIAl0aGVuCi0JCWV4aXQgMQorCQlleGl0ICR7MjotMX0KIAlmaQogfQogCkBAIC0yNDAsMTQgKzI0MCwxNSBAQAogCQl0aGVuCiAJCQlpZiB0ZXN0IC16ICIkZm9yY2UiCiAJCQl0aGVuCi0JCQkJZWNobyA+JjIgIiQoZXZhbF9nZXR0ZXh0ICJBIGdpdCBkaXJlY3RvcnkgZm9yICdcJHNtX25hbWUnIGlzIGZvdW5kIGxvY2FsbHkgd2l0aCByZW1vdGUocyk6IikiCisJCQkJZXZhbF9nZXR0ZXh0bG4gPiYyICJBIGdpdCBkaXJlY3RvcnkgZm9yICdcJHNtX25hbWUnIGlzIGZvdW5kIGxvY2FsbHkgd2l0aCByZW1vdGUocyk6IgogCQkJCUdJVF9ESVI9Ii5naXQvbW9kdWxlcy8kc21fbmFtZSIgR0lUX1dPUktfVFJFRT0uIGdpdCByZW1vdGUgLXYgfCBncmVwICcoZmV0Y2gpJyB8IHNlZCAtZSBzLF4sIiAgIiwgLWUgcywnIChmZXRjaCknLCwgPiYyCi0JCQkJZWNobyA+JjIgIiQoZXZhbF9nZXR0ZXh0ICJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb20iKSIKLQkJCQllY2hvID4mMiAiICAkcmVhbHJlcG8iCi0JCQkJZWNobyA+JjIgIiQoZXZhbF9nZXR0ZXh0ICJ1c2UgdGhlICctLWZvcmNlJyBvcHRpb24uIElmIHRoZSBsb2NhbCBnaXQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgY29ycmVjdCByZXBvIikiCi0JCQkJZGllICIkKGV2YWxfZ2V0dGV4dCAib3IgeW91IGFyZSB1bnN1cmUgd2hhdCB0aGlzIG1lYW5zIGNob29zZSBhbm90aGVyIG5hbWUgd2l0aCB0aGUgJy0tbmFtZScgb3B0aW9uLiIpIgorCQkJCWRpZSAiJChldmFsX2dldHRleHRsbiAiXAorSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tCisgIFwkcmVhbHJlcG8KK3VzZSB0aGUgJy0tZm9yY2UnIG9wdGlvbi4gSWYgdGhlIGxvY2FsIGdpdCBkaXJlY3RvcnkgaXMgbm90IHRoZSBjb3JyZWN0IHJlcG8KK29yIHlvdSBhcmUgdW5zdXJlIHdoYXQgdGhpcyBtZWFucyBjaG9vc2UgYW5vdGhlciBuYW1lIHdpdGggdGhlICctLW5hbWUnIG9wdGlvbi4iKSIKIAkJCWVsc2UKLQkJCQllY2hvICIkKGV2YWxfZ2V0dGV4dCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnXCRzbV9uYW1lJy4iKSIKKwkJCQlldmFsX2dldHRleHRsbiAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnXCRzbV9uYW1lJy4iCiAJCQlmaQogCQlmaQogCQlnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgJHtHSVRfUVVJRVQ6Ky0tcXVpZXR9IC0tcHJlZml4ICIkd3RfcHJlZml4IiAtLXBhdGggIiRzbV9wYXRoIiAtLW5hbWUgIiRzbV9uYW1lIiAtLXVybCAiJHJlYWxyZXBvIiAke3JlZmVyZW5jZTorIiRyZWZlcmVuY2UifSAke2RlcHRoOisiJGRlcHRoIn0gfHwgZXhpdApAQCAtMzEyLDExICszMTMsMTEgQEAKIAogCXsKIAkJZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgLS1wcmVmaXggIiR3dF9wcmVmaXgiIHx8Ci0JCWVjaG8gIiN1bm1hdGNoZWQiCisJCWVjaG8gIiN1bm1hdGNoZWQiICQ/CiAJfSB8CiAJd2hpbGUgcmVhZCBtb2RlIHNoYTEgc3RhZ2Ugc21fcGF0aAogCWRvCi0JCWRpZV9pZl91bm1hdGNoZWQgIiRtb2RlIgorCQlkaWVfaWZfdW5tYXRjaGVkICIkbW9kZSIgIiRzaGExIgogCQlpZiB0ZXN0IC1lICIkc21fcGF0aCIvLmdpdAogCQl0aGVuCiAJCQlkaXNwbGF5cGF0aD0kKGdpdCBzdWJtb2R1bGUtLWhlbHBlciByZWxhdGl2ZS1wYXRoICIkcHJlZml4JHNtX3BhdGgiICIkd3RfcHJlZml4IikKQEAgLTM3OSw4ICszODAsNiBAQAogIwogIyBVbnJlZ2lzdGVyIHN1Ym1vZHVsZXMgZnJvbSAuZ2l0L2NvbmZpZyBhbmQgcmVtb3ZlIHRoZWlyIHdvcmsgdHJlZQogIwotIyAkQCA9IHJlcXVlc3RlZCBwYXRocyAodXNlICcuJyB0byBkZWluaXQgYWxsIHN1Ym1vZHVsZXMpCi0jCiBjbWRfZGVpbml0KCkKIHsKIAkjIHBhcnNlICRhcmdzIGFmdGVyICJzdWJtb2R1bGUgLi4uIGRlaW5pdCIuCkBAIC00MjMsMTEgKzQyMiwxMSBAQAogCiAJewogCQlnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCAtLXByZWZpeCAiJHd0X3ByZWZpeCIgIiRAIiB8fAotCQllY2hvICIjdW5tYXRjaGVkIgorCQllY2hvICIjdW5tYXRjaGVkIiAkPwogCX0gfAogCXdoaWxlIHJlYWQgbW9kZSBzaGExIHN0YWdlIHNtX3BhdGgKIAlkbwotCQlkaWVfaWZfdW5tYXRjaGVkICIkbW9kZSIKKwkJZGllX2lmX3VubWF0Y2hlZCAiJG1vZGUiICIkc2hhMSIKIAkJbmFtZT0kKGdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lICIkc21fcGF0aCIpIHx8IGV4aXQKIAogCQlkaXNwbGF5cGF0aD0kKGdpdCBzdWJtb2R1bGUtLWhlbHBlciByZWxhdGl2ZS1wYXRoICIkc21fcGF0aCIgIiR3dF9wcmVmaXgiKQpAQCAtNDM4LDggKzQzNyw5IEBACiAJCQkjIFByb3RlY3Qgc3VibW9kdWxlcyBjb250YWluaW5nIGEgLmdpdCBkaXJlY3RvcnkKIAkJCWlmIHRlc3QgLWQgIiRzbV9wYXRoLy5naXQiCiAJCQl0aGVuCi0JCQkJZWNobyA+JjIgIiQoZXZhbF9nZXR0ZXh0ICJTdWJtb2R1bGUgd29yayB0cmVlICdcJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5IikiCi0JCQkJZGllICIkKGV2YWxfZ2V0dGV4dCAiKHVzZSAncm0gLXJmJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzIGhpc3RvcnkpIikiCisJCQkJZGllICIkKGV2YWxfZ2V0dGV4dCAiXAorU3VibW9kdWxlIHdvcmsgdHJlZSAnXCRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeQorKHVzZSAncm0gLXJmJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzIGhpc3RvcnkpIikiCiAJCQlmaQogCiAJCQlpZiB0ZXN0IC16ICIkZm9yY2UiCkBAIC00ODAsNyArNDgwLDggQEAKIAknJykKIAkJZ2l0IGZldGNoIDs7CiAJKikKLQkJZ2l0IGZldGNoICQoZ2V0X2RlZmF1bHRfcmVtb3RlKSAiJDIiIDs7CisJCXNoaWZ0CisJCWdpdCBmZXRjaCAkKGdldF9kZWZhdWx0X3JlbW90ZSkgIiRAIiA7OwogCWVzYWMKICkKIApAQCAtNDk4LDYgKzQ5OSw5IEBACiAJCS1xfC0tcXVpZXQpCiAJCQlHSVRfUVVJRVQ9MQogCQkJOzsKKwkJLS1wcm9ncmVzcykKKwkJCXByb2dyZXNzPSItLXByb2dyZXNzIgorCQkJOzsKIAkJLWl8LS1pbml0KQogCQkJaW5pdD0xCiAJCQk7OwpAQCAtNTMwLDYgKzUzNCwxMiBAQAogCQktLWNoZWNrb3V0KQogCQkJdXBkYXRlPSJjaGVja291dCIKIAkJCTs7CisJCS0tcmVjb21tZW5kLXNoYWxsb3cpCisJCQlyZWNvbW1lbmRfc2hhbGxvdz0iLS1yZWNvbW1lbmQtc2hhbGxvdyIKKwkJCTs7CisJCS0tbm8tcmVjb21tZW5kLXNoYWxsb3cpCisJCQlyZWNvbW1lbmRfc2hhbGxvdz0iLS1uby1yZWNvbW1lbmQtc2hhbGxvdyIKKwkJCTs7CiAJCS0tZGVwdGgpCiAJCQljYXNlICIkMiIgaW4gJycpIHVzYWdlIDs7IGVzYWMKIAkJCWRlcHRoPSItLWRlcHRoPSQyIgpAQCAtNTY3LDIyICs1NzcsMjMgQEAKIAogCXsKIAlnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlLWNsb25lICR7R0lUX1FVSUVUOistLXF1aWV0fSBcCisJCSR7cHJvZ3Jlc3M6KyIkcHJvZ3Jlc3MifSBcCiAJCSR7d3RfcHJlZml4OistLXByZWZpeCAiJHd0X3ByZWZpeCJ9IFwKIAkJJHtwcmVmaXg6Ky0tcmVjdXJzaXZlLXByZWZpeCAiJHByZWZpeCJ9IFwKIAkJJHt1cGRhdGU6Ky0tdXBkYXRlICIkdXBkYXRlIn0gXAotCQkke3JlZmVyZW5jZTorLS1yZWZlcmVuY2UgIiRyZWZlcmVuY2UifSBcCisJCSR7cmVmZXJlbmNlOisiJHJlZmVyZW5jZSJ9IFwKIAkJJHtkZXB0aDorLS1kZXB0aCAiJGRlcHRoIn0gXAorCQkke3JlY29tbWVuZF9zaGFsbG93OisiJHJlY29tbWVuZF9zaGFsbG93In0gXAogCQkke2pvYnM6KyRqb2JzfSBcCi0JCSIkQCIgfHwgZWNobyAiI3VubWF0Y2hlZCIKKwkJIiRAIiB8fCBlY2hvICIjdW5tYXRjaGVkIiAkPwogCX0gfCB7CiAJZXJyPQogCXdoaWxlIHJlYWQgbW9kZSBzaGExIHN0YWdlIGp1c3RfY2xvbmVkIHNtX3BhdGgKIAlkbwotCQlkaWVfaWZfdW5tYXRjaGVkICIkbW9kZSIKKwkJZGllX2lmX3VubWF0Y2hlZCAiJG1vZGUiICIkc2hhMSIKIAogCQluYW1lPSQoZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgIiRzbV9wYXRoIikgfHwgZXhpdAogCQl1cmw9JChnaXQgY29uZmlnIHN1Ym1vZHVsZS4iJG5hbWUiLnVybCkKLQkJYnJhbmNoPSQoZ2V0X3N1Ym1vZHVsZV9jb25maWcgIiRuYW1lIiBicmFuY2ggbWFzdGVyKQogCQlpZiAhIHRlc3QgLXogIiR1cGRhdGUiCiAJCXRoZW4KIAkJCXVwZGF0ZV9tb2R1bGU9JHVwZGF0ZQpAQCAtNjA4LDE2ICs2MTksMTcgQEAKIAogCQlpZiB0ZXN0IC1uICIkcmVtb3RlIgogCQl0aGVuCisJCQlicmFuY2g9JChnaXQgc3VibW9kdWxlLS1oZWxwZXIgcmVtb3RlLWJyYW5jaCAiJHNtX3BhdGgiKQogCQkJaWYgdGVzdCAteiAiJG5vZmV0Y2giCiAJCQl0aGVuCiAJCQkJIyBGZXRjaCByZW1vdGUgYmVmb3JlIGRldGVybWluaW5nIHRyYWNraW5nICRzaGExCi0JCQkJKHNhbml0aXplX3N1Ym1vZHVsZV9lbnY7IGNkICIkc21fcGF0aCIgJiYgZ2l0LWZldGNoKSB8fAorCQkJCWZldGNoX2luX3N1Ym1vZHVsZSAiJHNtX3BhdGgiICRkZXB0aCB8fAogCQkJCWRpZSAiJChldmFsX2dldHRleHQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnXCRzbV9wYXRoJyIpIgogCQkJZmkKIAkJCXJlbW90ZV9uYW1lPSQoc2FuaXRpemVfc3VibW9kdWxlX2VudjsgY2QgIiRzbV9wYXRoIiAmJiBnZXRfZGVmYXVsdF9yZW1vdGUpCiAJCQlzaGExPSQoc2FuaXRpemVfc3VibW9kdWxlX2VudjsgY2QgIiRzbV9wYXRoIiAmJgogCQkJCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgIiR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSIpIHx8Ci0JCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJVbmFibGUgdG8gZmluZCBjdXJyZW50ICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnXCRzbV9wYXRoJyIpIgorCQkJZGllICIkKGV2YWxfZ2V0dGV4dCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCBcJHtyZW1vdGVfbmFtZX0vXCR7YnJhbmNofSByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnXCRzbV9wYXRoJyIpIgogCQlmaQogCiAJCWlmIHRlc3QgIiRzdWJzaGExIiAhPSAiJHNoYTEiIHx8IHRlc3QgLW4gIiRmb3JjZSIKQEAgLTYzNCwxNCArNjQ2LDE0IEBACiAJCQkJIyBSdW4gZmV0Y2ggb25seSBpZiAkc2hhMSBpc24ndCBwcmVzZW50IG9yIGl0CiAJCQkJIyBpcyBub3QgcmVhY2hhYmxlIGZyb20gYSByZWYuCiAJCQkJaXNfdGlwX3JlYWNoYWJsZSAiJHNtX3BhdGgiICIkc2hhMSIgfHwKLQkJCQlmZXRjaF9pbl9zdWJtb2R1bGUgIiRzbV9wYXRoIiB8fAorCQkJCWZldGNoX2luX3N1Ym1vZHVsZSAiJHNtX3BhdGgiICRkZXB0aCB8fAogCQkJCWRpZSAiJChldmFsX2dldHRleHQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnXCRkaXNwbGF5cGF0aCciKSIKIAogCQkJCSMgTm93IHdlIHRyaWVkIHRoZSB1c3VhbCBmZXRjaCwgYnV0ICRzaGExIG1heQogCQkJCSMgbm90IGJlIHJlYWNoYWJsZSBmcm9tIGFueSBvZiB0aGUgcmVmcwogCQkJCWlzX3RpcF9yZWFjaGFibGUgIiRzbV9wYXRoIiAiJHNoYTEiIHx8Ci0JCQkJZmV0Y2hfaW5fc3VibW9kdWxlICIkc21fcGF0aCIgIiRzaGExIiB8fAotCQkJCWRpZSAiJChldmFsX2dldHRleHQgIkZldGNoZWQgaW4gc3VibW9kdWxlIHBhdGggJ1wkZGlzcGxheXBhdGgnLCBidXQgaXQgZGlkIG5vdCBjb250YWluICRzaGExLiBEaXJlY3QgZmV0Y2hpbmcgb2YgdGhhdCBjb21taXQgZmFpbGVkLiIpIgorCQkJCWZldGNoX2luX3N1Ym1vZHVsZSAiJHNtX3BhdGgiICRkZXB0aCAiJHNoYTEiIHx8CisJCQkJZGllICIkKGV2YWxfZ2V0dGV4dCAiRmV0Y2hlZCBpbiBzdWJtb2R1bGUgcGF0aCAnXCRkaXNwbGF5cGF0aCcsIGJ1dCBpdCBkaWQgbm90IGNvbnRhaW4gXCRzaGExLiBEaXJlY3QgZmV0Y2hpbmcgb2YgdGhhdCBjb21taXQgZmFpbGVkLiIpIgogCQkJZmkKIAogCQkJbXVzdF9kaWVfb25fZmFpbHVyZT0KQEAgLTY5OCw3ICs3MTAsNyBAQAogCQkJaWYgdGVzdCAkcmVzIC1ndCAwCiAJCQl0aGVuCiAJCQkJZGllX21zZz0iJChldmFsX2dldHRleHQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJ1wkZGlzcGxheXBhdGgnIikiCi0JCQkJaWYgdGVzdCAkcmVzIC1lcSAxCisJCQkJaWYgdGVzdCAkcmVzIC1uZSAyCiAJCQkJdGhlbgogCQkJCQllcnI9IiR7ZXJyfTskZGllX21zZyIKIAkJCQkJY29udGludWUKQEAgLTk4NiwxMSArOTk4LDExIEBACiAKIAl7CiAJCWdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IC0tcHJlZml4ICIkd3RfcHJlZml4IiAiJEAiIHx8Ci0JCWVjaG8gIiN1bm1hdGNoZWQiCisJCWVjaG8gIiN1bm1hdGNoZWQiICQ/CiAJfSB8CiAJd2hpbGUgcmVhZCBtb2RlIHNoYTEgc3RhZ2Ugc21fcGF0aAogCWRvCi0JCWRpZV9pZl91bm1hdGNoZWQgIiRtb2RlIgorCQlkaWVfaWZfdW5tYXRjaGVkICIkbW9kZSIgIiRzaGExIgogCQluYW1lPSQoZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgIiRzbV9wYXRoIikgfHwgZXhpdAogCQl1cmw9JChnaXQgY29uZmlnIHN1Ym1vZHVsZS4iJG5hbWUiLnVybCkKIAkJZGlzcGxheXBhdGg9JChnaXQgc3VibW9kdWxlLS1oZWxwZXIgcmVsYXRpdmUtcGF0aCAiJHByZWZpeCRzbV9wYXRoIiAiJHd0X3ByZWZpeCIpCkBAIC0xMDY3LDExICsxMDc5LDExIEBACiAJY2RfdG9fdG9wbGV2ZWwKIAl7CiAJCWdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IC0tcHJlZml4ICIkd3RfcHJlZml4IiAiJEAiIHx8Ci0JCWVjaG8gIiN1bm1hdGNoZWQiCisJCWVjaG8gIiN1bm1hdGNoZWQiICQ/CiAJfSB8CiAJd2hpbGUgcmVhZCBtb2RlIHNoYTEgc3RhZ2Ugc21fcGF0aAogCWRvCi0JCWRpZV9pZl91bm1hdGNoZWQgIiRtb2RlIgorCQlkaWVfaWZfdW5tYXRjaGVkICIkbW9kZSIgIiRzaGExIgogCQluYW1lPSQoZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgIiRzbV9wYXRoIikKIAkJdXJsPSQoZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyAtLWdldCBzdWJtb2R1bGUuIiRuYW1lIi51cmwpCiAKZGlmZiAtLWdpdCBhL2dpdC1zdm4ucGVybCBiL2dpdC1zdm4ucGVybAppbmRleCAwNWVjZWQwLi5mYTQyMzY0IDEwMDc1NQotLS0gYS9naXQtc3ZuLnBlcmwKKysrIGIvZ2l0LXN2bi5wZXJsCkBAIC00NCw2ICs0NCw3IEBACiAJY29tbWFuZF9jbG9zZV9waXBlCiAJY29tbWFuZF9iaWRpX3BpcGUKIAljb21tYW5kX2Nsb3NlX2JpZGlfcGlwZQorCWdldF9yZWNvcmQKICk7CiAKIEJFR0lOIHsKQEAgLTMzOSw3ICszNDAsNyBAQAogCQkJZGllICJmYWlsZWQgdG8gb3BlbiAkRU5We0dJVF9ESVJ9OiAkIVxuIjsKIAkJJEVOVntHSVRfRElSfSA9ICQxIGlmIDwkZmg+ID1+IC9eZ2l0ZGlyOiAoLispJC87CiAJfQotfSBlbHNlIHsKK30gZWxzaWYgKCRjbWQpIHsKIAlteSAoJGdpdF9kaXIsICRjZHVwKTsKIAlnaXRfY21kX3RyeSB7CiAJCSRnaXRfZGlyID0gY29tbWFuZF9vbmVsaW5lKFtxdy9yZXYtcGFyc2UgLS1naXQtZGlyL10pOwpAQCAtMzU2LDcgKzM1Nyw3IEBACiAKIG15ICVvcHRzID0gJXskY21keyRjbWR9LT5bMl19IGlmIChkZWZpbmVkICRjbWQpOwogCi1yZWFkX2dpdF9jb25maWcoXCVvcHRzKTsKK3JlYWRfZ2l0X2NvbmZpZyhcJW9wdHMpIGlmICRFTlZ7R0lUX0RJUn07CiBpZiAoJGNtZCAmJiAoJGNtZCBlcSAnbG9nJyB8fCAkY21kIGVxICdibGFtZScpKSB7CiAJR2V0b3B0OjpMb25nOjpDb25maWd1cmUoJ3Bhc3NfdGhyb3VnaCcpOwogfQpAQCAtNTA3LDcgKzUwOCwxMCBAQAogCiBzdWIgY21kX2Nsb25lIHsKIAlteSAoJHVybCwgJHBhdGgpID0gQF87Ci0JaWYgKCFkZWZpbmVkICRwYXRoICYmCisJaWYgKCEkdXJsKSB7CisJCWRpZSAiU1ZOIHJlcG9zaXRvcnkgbG9jYXRpb24gcmVxdWlyZWQgIiwKKwkJICAgICJhcyBhIGNvbW1hbmQtbGluZSBhcmd1bWVudFxuIjsKKwl9IGVsc2lmICghZGVmaW5lZCAkcGF0aCAmJgogCSAgICAoZGVmaW5lZCAkX3RydW5rIHx8IEBfYnJhbmNoZXMgfHwgQF90YWdzIHx8CiAJICAgICBkZWZpbmVkICRfc3RkbGF5b3V0KSAmJgogCSAgICAkdXJsICF+IG0jXlthLXpcK10rOi8vIykgewpAQCAtMTY5Niw3ICsxNzAwLDcgQEAKIAkJICAgICAiZmlsZXMgd2lsbCBub3QgYmUgY29tcHJlc3NlZC5cbiI7CiAJfQogCUZpbGU6OkZpbmQ6OmZpbmQoeyB3YW50ZWQgPT4gXCZnY19kaXJlY3RvcnksIG5vX2NoZGlyID0+IDF9LAotCQkJICIkRU5We0dJVF9ESVJ9L3N2biIpOworCQkJIEdpdDo6U1ZOOjpzdm5fZGlyKCkpOwogfQogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgdXRpbGl0eSBmdW5jdGlvbnMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtMTczMCw3ICsxNzM0LDcgQEAKIAlyZXR1cm4gdW5sZXNzIHZlcmlmeV9yZWYoJ0hFQUReMCcpOwogCiAJcmV0dXJuIGlmICRFTlZ7R0lUX0RJUn0gIX4gbSNeKD86LiovKT9cLmdpdCQjOwotCW15ICRpbmRleCA9ICRFTlZ7R0lUX0lOREVYX0ZJTEV9IHx8ICIkRU5We0dJVF9ESVJ9L2luZGV4IjsKKwlteSAkaW5kZXggPSBjb21tYW5kX29uZWxpbmUocXcocmV2LXBhcnNlIC0tZ2l0LXBhdGggaW5kZXgpKTsKIAlyZXR1cm4gaWYgLWYgJGluZGV4OwogCiAJcmV0dXJuIGlmIGNvbW1hbmRfb25lbGluZShxdy9yZXYtcGFyc2UgLS1pcy1pbnNpZGUtd29yay10cmVlLykgZXEgJ2ZhbHNlJzsKQEAgLTE4MzIsOCArMTgzNiw5IEBACiBzdWIgZ2V0X2NvbW1pdF9lbnRyeSB7CiAJbXkgKCR0cmVlaXNoKSA9IHNoaWZ0OwogCW15ICVsb2dfZW50cnkgPSAoIGxvZyA9PiAnJywgdHJlZSA9PiBnZXRfdHJlZV9mcm9tX3RyZWVpc2goJHRyZWVpc2gpICk7Ci0JbXkgJGNvbW1pdF9lZGl0bXNnID0gIiRFTlZ7R0lUX0RJUn0vQ09NTUlUX0VESVRNU0ciOwotCW15ICRjb21taXRfbXNnID0gIiRFTlZ7R0lUX0RJUn0vQ09NTUlUX01TRyI7CisJbXkgQGdpdF9wYXRoID0gcXcocmV2LXBhcnNlIC0tZ2l0LXBhdGgpOworCW15ICRjb21taXRfZWRpdG1zZyA9IGNvbW1hbmRfb25lbGluZShAZ2l0X3BhdGgsICdDT01NSVRfRURJVE1TRycpOworCW15ICRjb21taXRfbXNnID0gY29tbWFuZF9vbmVsaW5lKEBnaXRfcGF0aCwgJ0NPTU1JVF9NU0cnKTsKIAlvcGVuIG15ICRsb2dfZmgsICc+JywgJGNvbW1pdF9lZGl0bXNnIG9yIGNyb2FrICQhOwogCiAJbXkgJHR5cGUgPSBjb21tYW5kX29uZWxpbmUocXcvY2F0LWZpbGUgLXQvLCAkdHJlZWlzaCk7CkBAIC0xODc3LDEwICsxODgyLDkgQEAKIAl7CiAJCXJlcXVpcmUgRW5jb2RlOwogCQkjIFNWTiByZXF1aXJlcyBtZXNzYWdlcyB0byBiZSBVVEYtOCB3aGVuIGVudGVyaW5nIHRoZSByZXBvCi0JCWxvY2FsICQvOwogCQlvcGVuICRsb2dfZmgsICc8JywgJGNvbW1pdF9tc2cgb3IgY3JvYWsgJCE7CiAJCWJpbm1vZGUgJGxvZ19maDsKLQkJY2hvbXAoJGxvZ19lbnRyeXtsb2d9ID0gPCRsb2dfZmg+KTsKKwkJY2hvbXAoJGxvZ19lbnRyeXtsb2d9ID0gZ2V0X3JlY29yZCgkbG9nX2ZoLCB1bmRlZikpOwogCiAJCW15ICRlbmMgPSBHaXQ6OmNvbmZpZygnaTE4bi5jb21taXRlbmNvZGluZycpIHx8ICdVVEYtOCc7CiAJCW15ICRtc2cgPSAkbG9nX2VudHJ5e2xvZ307CmRpZmYgLS1naXQgYS9naXQuYyBiL2dpdC5jCmluZGV4IDVlNTBhNDEuLmRjZTUyOWYgMTAwNjQ0Ci0tLSBhL2dpdC5jCisrKyBiL2dpdC5jCkBAIC0zNSw4ICszNSw3IEBACiAJb3JpZ19jd2QgPSB4Z2V0Y3dkKCk7CiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZW52X25hbWVzKTsgaSsrKSB7CiAJCW9yaWdfZW52W2ldID0gZ2V0ZW52KGVudl9uYW1lc1tpXSk7Ci0JCWlmIChvcmlnX2VudltpXSkKLQkJCW9yaWdfZW52W2ldID0geHN0cmR1cChvcmlnX2VudltpXSk7CisJCW9yaWdfZW52W2ldID0geHN0cmR1cF9vcl9udWxsKG9yaWdfZW52W2ldKTsKIAl9CiB9CiAKQEAgLTE2NCw2ICsxNjMsMjAgQEAKIAkJCXNldGVudihHSVRfV09SS19UUkVFX0VOVklST05NRU5ULCBjbWQsIDEpOwogCQkJaWYgKGVudmNoYW5nZWQpCiAJCQkJKmVudmNoYW5nZWQgPSAxOworCQl9IGVsc2UgaWYgKCFzdHJjbXAoY21kLCAiLS1zdXBlci1wcmVmaXgiKSkgeworCQkJaWYgKCphcmdjIDwgMikgeworCQkJCWZwcmludGYoc3RkZXJyLCAiTm8gcHJlZml4IGdpdmVuIGZvciAtLXN1cGVyLXByZWZpeC5cbiIgKTsKKwkJCQl1c2FnZShnaXRfdXNhZ2Vfc3RyaW5nKTsKKwkJCX0KKwkJCXNldGVudihHSVRfU1VQRVJfUFJFRklYX0VOVklST05NRU5ULCAoKmFyZ3YpWzFdLCAxKTsKKwkJCWlmIChlbnZjaGFuZ2VkKQorCQkJCSplbnZjaGFuZ2VkID0gMTsKKwkJCSgqYXJndikrKzsKKwkJCSgqYXJnYyktLTsKKwkJfSBlbHNlIGlmIChza2lwX3ByZWZpeChjbWQsICItLXN1cGVyLXByZWZpeD0iLCAmY21kKSkgeworCQkJc2V0ZW52KEdJVF9TVVBFUl9QUkVGSVhfRU5WSVJPTk1FTlQsIGNtZCwgMSk7CisJCQlpZiAoZW52Y2hhbmdlZCkKKwkJCQkqZW52Y2hhbmdlZCA9IDE7CiAJCX0gZWxzZSBpZiAoIXN0cmNtcChjbWQsICItLWJhcmUiKSkgewogCQkJY2hhciAqY3dkID0geGdldGN3ZCgpOwogCQkJaXNfYmFyZV9yZXBvc2l0b3J5X2NmZyA9IDE7CkBAIC0zMTAsNiArMzIzLDcgQEAKICAqIFJVTl9TRVRVUCBmb3IgcmVhZGluZyBmcm9tIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuCiAgKi8KICNkZWZpbmUgTkVFRF9XT1JLX1RSRUUJCSgxPDwzKQorI2RlZmluZSBTVVBQT1JUX1NVUEVSX1BSRUZJWAkoMTw8NCkKIAogc3RydWN0IGNtZF9zdHJ1Y3QgewogCWNvbnN0IGNoYXIgKmNtZDsKQEAgLTM0NCw2ICszNTgsMTMgQEAKIAl9CiAJY29tbWl0X3BhZ2VyX2Nob2ljZSgpOwogCisJaWYgKCFoZWxwICYmIGdldF9zdXBlcl9wcmVmaXgoKSkgeworCQlpZiAoIShwLT5vcHRpb24gJiBTVVBQT1JUX1NVUEVSX1BSRUZJWCkpCisJCQlkaWUoIiVzIGRvZXNuJ3Qgc3VwcG9ydCAtLXN1cGVyLXByZWZpeCIsIHAtPmNtZCk7CisJCWlmIChwcmVmaXgpCisJCQlkaWUoImNhbid0IHVzZSAtLXN1cGVyLXByZWZpeCBmcm9tIGEgc3ViZGlyZWN0b3J5Iik7CisJfQorCiAJaWYgKCFoZWxwICYmIHAtPm9wdGlvbiAmIE5FRURfV09SS19UUkVFKQogCQlzZXR1cF93b3JrX3RyZWUoKTsKIApAQCAtMzc1LDcgKzM5Niw3IEBACiAJeyAiYW0iLCBjbWRfYW0sIFJVTl9TRVRVUCB8IE5FRURfV09SS19UUkVFIH0sCiAJeyAiYW5ub3RhdGUiLCBjbWRfYW5ub3RhdGUsIFJVTl9TRVRVUCB9LAogCXsgImFwcGx5IiwgY21kX2FwcGx5LCBSVU5fU0VUVVBfR0VOVExZIH0sCi0JeyAiYXJjaGl2ZSIsIGNtZF9hcmNoaXZlIH0sCisJeyAiYXJjaGl2ZSIsIGNtZF9hcmNoaXZlLCBSVU5fU0VUVVBfR0VOVExZIH0sCiAJeyAiYmlzZWN0LS1oZWxwZXIiLCBjbWRfYmlzZWN0X19oZWxwZXIsIFJVTl9TRVRVUCB9LAogCXsgImJsYW1lIiwgY21kX2JsYW1lLCBSVU5fU0VUVVAgfSwKIAl7ICJicmFuY2giLCBjbWRfYnJhbmNoLCBSVU5fU0VUVVAgfSwKQEAgLTQyMSwxMCArNDQyLDEwIEBACiAJeyAiaW5pdC1kYiIsIGNtZF9pbml0X2RiIH0sCiAJeyAiaW50ZXJwcmV0LXRyYWlsZXJzIiwgY21kX2ludGVycHJldF90cmFpbGVycywgUlVOX1NFVFVQX0dFTlRMWSB9LAogCXsgImxvZyIsIGNtZF9sb2csIFJVTl9TRVRVUCB9LAotCXsgImxzLWZpbGVzIiwgY21kX2xzX2ZpbGVzLCBSVU5fU0VUVVAgfSwKKwl7ICJscy1maWxlcyIsIGNtZF9sc19maWxlcywgUlVOX1NFVFVQIHwgU1VQUE9SVF9TVVBFUl9QUkVGSVggfSwKIAl7ICJscy1yZW1vdGUiLCBjbWRfbHNfcmVtb3RlLCBSVU5fU0VUVVBfR0VOVExZIH0sCiAJeyAibHMtdHJlZSIsIGNtZF9sc190cmVlLCBSVU5fU0VUVVAgfSwKLQl7ICJtYWlsaW5mbyIsIGNtZF9tYWlsaW5mbyB9LAorCXsgIm1haWxpbmZvIiwgY21kX21haWxpbmZvLCBSVU5fU0VUVVBfR0VOVExZIH0sCiAJeyAibWFpbHNwbGl0IiwgY21kX21haWxzcGxpdCB9LAogCXsgIm1lcmdlIiwgY21kX21lcmdlLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAogCXsgIm1lcmdlLWJhc2UiLCBjbWRfbWVyZ2VfYmFzZSwgUlVOX1NFVFVQIH0sCkBAIC00NDQsNyArNDY1LDcgQEAKIAl7ICJwYWNrLW9iamVjdHMiLCBjbWRfcGFja19vYmplY3RzLCBSVU5fU0VUVVAgfSwKIAl7ICJwYWNrLXJlZHVuZGFudCIsIGNtZF9wYWNrX3JlZHVuZGFudCwgUlVOX1NFVFVQIH0sCiAJeyAicGFjay1yZWZzIiwgY21kX3BhY2tfcmVmcywgUlVOX1NFVFVQIH0sCi0JeyAicGF0Y2gtaWQiLCBjbWRfcGF0Y2hfaWQgfSwKKwl7ICJwYXRjaC1pZCIsIGNtZF9wYXRjaF9pZCwgUlVOX1NFVFVQX0dFTlRMWSB9LAogCXsgInBpY2theGUiLCBjbWRfYmxhbWUsIFJVTl9TRVRVUCB9LAogCXsgInBydW5lIiwgY21kX3BydW5lLCBSVU5fU0VUVVAgfSwKIAl7ICJwcnVuZS1wYWNrZWQiLCBjbWRfcHJ1bmVfcGFja2VkLCBSVU5fU0VUVVAgfSwKQEAgLTUyMiwyMSArNTQzLDM0IEBACiAKIHN0YXRpYyB2b2lkIGhhbmRsZV9idWlsdGluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKIHsKKwlzdHJ1Y3QgYXJndl9hcnJheSBhcmdzID0gQVJHVl9BUlJBWV9JTklUOwogCWNvbnN0IGNoYXIgKmNtZDsKIAlzdHJ1Y3QgY21kX3N0cnVjdCAqYnVpbHRpbjsKIAogCXN0cmlwX2V4dGVuc2lvbihhcmd2KTsKIAljbWQgPSBhcmd2WzBdOwogCi0JLyogVHVybiAiZ2l0IGNtZCAtLWhlbHAiIGludG8gImdpdCBoZWxwIGNtZCIgKi8KKwkvKiBUdXJuICJnaXQgY21kIC0taGVscCIgaW50byAiZ2l0IGhlbHAgLS1leGNsdWRlLWd1aWRlcyBjbWQiICovCiAJaWYgKGFyZ2MgPiAxICYmICFzdHJjbXAoYXJndlsxXSwgIi0taGVscCIpKSB7CisJCWludCBpOworCiAJCWFyZ3ZbMV0gPSBhcmd2WzBdOwogCQlhcmd2WzBdID0gY21kID0gImhlbHAiOworCisJCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKKwkJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgYXJndltpXSk7CisJCQlpZiAoIWkpCisJCQkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCAiLS1leGNsdWRlLWd1aWRlcyIpOworCQl9CisKKwkJYXJnYysrOworCQlhcmd2ID0gYXJncy5hcmd2OwogCX0KIAogCWJ1aWx0aW4gPSBnZXRfYnVpbHRpbihjbWQpOwogCWlmIChidWlsdGluKQogCQlleGl0KHJ1bl9idWlsdGluKGJ1aWx0aW4sIGFyZ2MsIGFyZ3YpKTsKKwlhcmd2X2FycmF5X2NsZWFyKCZhcmdzKTsKIH0KIAogc3RhdGljIHZvaWQgZXhlY3ZfZGFzaGVkX2V4dGVybmFsKGNvbnN0IGNoYXIgKiphcmd2KQpAQCAtNTQ1LDYgKzU3OSw5IEBACiAJY29uc3QgY2hhciAqdG1wOwogCWludCBzdGF0dXM7CiAKKwlpZiAoZ2V0X3N1cGVyX3ByZWZpeCgpKQorCQlkaWUoIiVzIGRvZXNuJ3Qgc3VwcG9ydCAtLXN1cGVyLXByZWZpeCIsIGFyZ3ZbMF0pOworCiAJaWYgKHVzZV9wYWdlciA9PSAtMSkKIAkJdXNlX3BhZ2VyID0gY2hlY2tfcGFnZXJfY29uZmlnKGFyZ3ZbMF0pOwogCWNvbW1pdF9wYWdlcl9jaG9pY2UoKTsKZGlmZiAtLWdpdCBhL2dpdHdlYi9naXR3ZWIucGVybCBiL2dpdHdlYi9naXR3ZWIucGVybAppbmRleCAyZmRkZjc1Li43Y2Y2OGYwIDEwMDc1NQotLS0gYS9naXR3ZWIvZ2l0d2ViLnBlcmwKKysrIGIvZ2l0d2ViL2dpdHdlYi5wZXJsCkBAIC0xNjE2LDcgKzE2MTYsNyBAQAogCXJldHVybiAkc3RyOwogfQogCi0jIFNhbml0aXplIGZvciB1c2UgaW4gWEhUTUwgKyBhcHBsaWNhdGlvbi94bWwreGh0bSAodmFsaWQgWE1MIDEuMCkKKyMgU2FuaXRpemUgZm9yIHVzZSBpbiBYSFRNTCArIGFwcGxpY2F0aW9uL3htbCt4aHRtbCAodmFsaWQgWE1MIDEuMCkKIHN1YiBzYW5pdGl6ZSB7CiAJbXkgJHN0ciA9IHNoaWZ0OwogCkBAIC0yMDM2LDEwICsyMDM2LDI0IEBACiAJbXkgJGxpbmUgPSBzaGlmdDsKIAogCSRsaW5lID0gZXNjX2h0bWwoJGxpbmUsIC1uYnNwPT4xKTsKLQkkbGluZSA9fiBze1xiKFswLTlhLWZBLUZdezgsNDB9KVxifXsKKwkkbGluZSA9fiBzeworICAgICAgICBcYgorICAgICAgICAoCisgICAgICAgICAgICAjIFRoZSBvdXRwdXQgb2YgImdpdCBkZXNjcmliZSIsIGUuZy4gdjIuMTAuMC0yOTctZ2Y2NzI3YjAKKyAgICAgICAgICAgICMgb3IgaGFkb29wLTIwMTYwOTIxLTExMzQ0MS0yMC1nMDk0ZmI3ZAorICAgICAgICAgICAgKD88IS0pICMgc2VlIHN0cmJ1Zl9jaGVja190YWdfcmVmKCkuIFRhZ3MgY2FuJ3Qgc3RhcnQgd2l0aCAtCisgICAgICAgICAgICBbQS1aYS16MC05Li1dKworICAgICAgICAgICAgKD8hXC4pICMgcmVmcyBjYW4ndCBlbmQgd2l0aCAiLiIsIHNlZSBjaGVja19yZWZuYW1lX2Zvcm1hdCgpCisgICAgICAgICAgICAtZ1swLTlhLWZBLUZdezcsNDB9CisgICAgICAgICAgICB8CisgICAgICAgICAgICAjIEp1c3QgYSBub3JtYWwgbG9va2luZyBHaXQgU0hBMQorICAgICAgICAgICAgWzAtOWEtZkEtRl17Nyw0MH0KKyAgICAgICAgKQorICAgICAgICBcYgorICAgIH17CiAJCSRjZ2ktPmEoey1ocmVmID0+IGhyZWYoYWN0aW9uPT4ib2JqZWN0IiwgaGFzaD0+JDEpLAogCQkJCQktY2xhc3MgPT4gInRleHQifSwgJDEpOwotCX1lZzsKKwl9ZWd4OwogCiAJcmV0dXJuICRsaW5lOwogfQpAQCAtMjA5MCw3ICsyMTA0LDcgQEAKIAkJCQktaHJlZiA9PiBocmVmKAogCQkJCQlhY3Rpb249PiRkZXN0X2FjdGlvbiwKIAkJCQkJaGFzaD0+JGRlc3QKLQkJCQkpfSwgJG5hbWUpOworCQkJCSl9LCBlc2NfaHRtbCgkbmFtZSkpOwogCiAJCQkkbWFya2VycyAuPSAiIDxzcGFuIGNsYXNzPVwiIi5lc2NfYXR0cigkY2xhc3MpLiJcIiB0aXRsZT1cIiIuZXNjX2F0dHIoJHJlZikuIlwiPiIgLgogCQkJCSRsaW5rIC4gIjwvc3Bhbj4iOwpAQCAtMzkxMyw3ICszOTI3LDcgQEAKICMgZ3Vlc3MgZmlsZSBzeW50YXggZm9yIHN5bnRheCBoaWdobGlnaHRpbmc7IHJldHVybiB1bmRlZiBpZiBubyBoaWdobGlnaHRpbmcKICMgdGhlIG5hbWUgb2Ygc3ludGF4IGNhbiAoaW4gdGhlIGZ1dHVyZSkgZGVwZW5kIG9uIHN5bnRheCBoaWdobGlnaHRlciB1c2VkCiBzdWIgZ3Vlc3NfZmlsZV9zeW50YXggewotCW15ICgkaGlnaGxpZ2h0LCAkbWltZXR5cGUsICRmaWxlX25hbWUpID0gQF87CisJbXkgKCRoaWdobGlnaHQsICRmaWxlX25hbWUpID0gQF87CiAJcmV0dXJuIHVuZGVmIHVubGVzcyAoJGhpZ2hsaWdodCAmJiBkZWZpbmVkICRmaWxlX25hbWUpOwogCW15ICRiYXNlbmFtZSA9IGJhc2VuYW1lKCRmaWxlX25hbWUsICcuaW4nKTsKIAlyZXR1cm4gJGhpZ2hsaWdodF9iYXNlbmFtZXskYmFzZW5hbWV9CkBAIC0zOTMxLDE1ICszOTQ1LDE2IEBACiAjIG9yIHJldHVybiBvcmlnaW5hbCBGRCBpZiBubyBoaWdobGlnaHRpbmcKIHN1YiBydW5faGlnaGxpZ2h0ZXIgewogCW15ICgkZmQsICRoaWdobGlnaHQsICRzeW50YXgpID0gQF87Ci0JcmV0dXJuICRmZCB1bmxlc3MgKCRoaWdobGlnaHQgJiYgZGVmaW5lZCAkc3ludGF4KTsKKwlyZXR1cm4gJGZkIHVubGVzcyAoJGhpZ2hsaWdodCk7CiAKIAljbG9zZSAkZmQ7CisJbXkgJHN5bnRheF9hcmcgPSAoZGVmaW5lZCAkc3ludGF4KSA/ICItLXN5bnRheCAkc3ludGF4IiA6ICItLWZvcmNlIjsKIAlvcGVuICRmZCwgcXVvdGVfY29tbWFuZChnaXRfY21kKCksICJjYXQtZmlsZSIsICJibG9iIiwgJGhhc2gpLiIgfCAiLgogCSAgICAgICAgICBxdW90ZV9jb21tYW5kKCReWCwgJy1DTycsICctTUVuY29kZT1kZWNvZGUsRkJfREVGQVVMVCcsICctcHNlJywKIAkgICAgICAgICAgICAnJF8gPSBkZWNvZGUoJGZlLCAkXywgRkJfREVGQVVMVCkgaWYgIXV0Zjg6OmRlY29kZSgkXyk7JywKIAkgICAgICAgICAgICAnLS0nLCAiLWZlPSRmYWxsYmFja19lbmNvZGluZyIpLiIgfCAiLgogCSAgICAgICAgICBxdW90ZV9jb21tYW5kKCRoaWdobGlnaHRfYmluKS4KLQkgICAgICAgICAgIiAtLXJlcGxhY2UtdGFicz04IC0tZnJhZ21lbnQgLS1zeW50YXggJHN5bnRheCB8IgorCSAgICAgICAgICAiIC0tcmVwbGFjZS10YWJzPTggLS1mcmFnbWVudCAkc3ludGF4X2FyZyB8IgogCQlvciBkaWVfZXJyb3IoNTAwLCAiQ291bGRuJ3Qgb3BlbiBmaWxlIG9yIHJ1biBzeW50YXggaGlnaGxpZ2h0ZXIiKTsKIAlyZXR1cm4gJGZkOwogfQpAQCAtNzA2Miw5ICs3MDc3LDggQEAKIAkkaGF2ZV9ibGFtZSAmJj0gKCRtaW1ldHlwZSA9fiBtIV50ZXh0LyEpOwogCiAJbXkgJGhpZ2hsaWdodCA9IGdpdHdlYl9jaGVja19mZWF0dXJlKCdoaWdobGlnaHQnKTsKLQlteSAkc3ludGF4ID0gZ3Vlc3NfZmlsZV9zeW50YXgoJGhpZ2hsaWdodCwgJG1pbWV0eXBlLCAkZmlsZV9uYW1lKTsKLQkkZmQgPSBydW5faGlnaGxpZ2h0ZXIoJGZkLCAkaGlnaGxpZ2h0LCAkc3ludGF4KQotCQlpZiAkc3ludGF4OworCW15ICRzeW50YXggPSBndWVzc19maWxlX3N5bnRheCgkaGlnaGxpZ2h0LCAkZmlsZV9uYW1lKTsKKwkkZmQgPSBydW5faGlnaGxpZ2h0ZXIoJGZkLCAkaGlnaGxpZ2h0LCAkc3ludGF4KTsKIAogCWdpdF9oZWFkZXJfaHRtbCh1bmRlZiwgJGV4cGlyZXMpOwogCW15ICRmb3JtYXRzX25hdiA9ICcnOwpAQCAtNzExNyw3ICs3MTMxLDcgQEAKIAkJCSRsaW5lID0gdW50YWJpZnkoJGxpbmUpOwogCQkJcHJpbnRmIHFxITxkaXYgY2xhc3M9InByZSI+PGEgaWQ9ImwlaSIgaHJlZj0iJXMjbCVpIiBjbGFzcz0ibGluZW5yIj4lNGk8L2E+ICVzPC9kaXY+XG4hLAogCQkJICAgICAgICRuciwgZXNjX2F0dHIoaHJlZigtcmVwbGF5ID0+IDEpKSwgJG5yLCAkbnIsCi0JCQkgICAgICAgJHN5bnRheCA/IHNhbml0aXplKCRsaW5lKSA6IGVzY19odG1sKCRsaW5lLCAtbmJzcD0+MSk7CisJCQkgICAgICAgJGhpZ2hsaWdodCA/IHNhbml0aXplKCRsaW5lKSA6IGVzY19odG1sKCRsaW5lLCAtbmJzcD0+MSk7CiAJCX0KIAl9CiAJY2xvc2UgJGZkCmRpZmYgLS1naXQgYS9ncGctaW50ZXJmYWNlLmMgYi9ncGctaW50ZXJmYWNlLmMKaW5kZXggYzRiMWU4Yy4uZTQ0Y2MyNyAxMDA2NDQKLS0tIGEvZ3BnLWludGVyZmFjZS5jCisrKyBiL2dwZy1pbnRlcmZhY2UuYwpAQCAtMyw2ICszLDcgQEAKICNpbmNsdWRlICJzdHJidWYuaCIKICNpbmNsdWRlICJncGctaW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAic2lnY2hhaW4uaCIKKyNpbmNsdWRlICJ0ZW1wZmlsZS5oIgogCiBzdGF0aWMgY2hhciAqY29uZmlndXJlZF9zaWduaW5nX2tleTsKIHN0YXRpYyBjb25zdCBjaGFyICpncGdfcHJvZ3JhbSA9ICJncGciOwpAQCAtMzIsNiArMzMsMTAgQEAKIAl7ICdCJywgIlxuW0dOVVBHOl0gQkFEU0lHICIgfSwKIAl7ICdVJywgIlxuW0dOVVBHOl0gVFJVU1RfTkVWRVIiIH0sCiAJeyAnVScsICJcbltHTlVQRzpdIFRSVVNUX1VOREVGSU5FRCIgfSwKKwl7ICdFJywgIlxuW0dOVVBHOl0gRVJSU0lHICJ9LAorCXsgJ1gnLCAiXG5bR05VUEc6XSBFWFBTSUcgIn0sCisJeyAnWScsICJcbltHTlVQRzpdIEVYUEtFWVNJRyAifSwKKwl7ICdSJywgIlxuW0dOVVBHOl0gUkVWS0VZU0lHICJ9LAogfTsKIAogdm9pZCBwYXJzZV9ncGdfb3V0cHV0KHN0cnVjdCBzaWduYXR1cmVfY2hlY2sgKnNpZ2MpCkBAIC01Myw5ICs1OCwxMiBAQAogCQkvKiBUaGUgdHJ1c3QgbWVzc2FnZXMgYXJlIG5vdCBmb2xsb3dlZCBieSBrZXkvc2lnbmVyIGluZm9ybWF0aW9uICovCiAJCWlmIChzaWdjLT5yZXN1bHQgIT0gJ1UnKSB7CiAJCQlzaWdjLT5rZXkgPSB4bWVtZHVweihmb3VuZCwgMTYpOwotCQkJZm91bmQgKz0gMTc7Ci0JCQluZXh0ID0gc3RyY2hybnVsKGZvdW5kLCAnXG4nKTsKLQkJCXNpZ2MtPnNpZ25lciA9IHhtZW1kdXB6KGZvdW5kLCBuZXh0IC0gZm91bmQpOworCQkJLyogVGhlIEVSUlNJRyBtZXNzYWdlIGlzIG5vdCBmb2xsb3dlZCBieSBzaWduZXIgaW5mb3JtYXRpb24gKi8KKwkJCWlmIChzaWdjLT4gcmVzdWx0ICE9ICdFJykgeworCQkJCWZvdW5kICs9IDE3OworCQkJCW5leHQgPSBzdHJjaHJudWwoZm91bmQsICdcbicpOworCQkJCXNpZ2MtPnNpZ25lciA9IHhtZW1kdXB6KGZvdW5kLCBuZXh0IC0gZm91bmQpOworCQkJfQogCQl9CiAJfQogfQpAQCAtMTUwLDQyICsxNTgsMzAgQEAKIGludCBzaWduX2J1ZmZlcihzdHJ1Y3Qgc3RyYnVmICpidWZmZXIsIHN0cnVjdCBzdHJidWYgKnNpZ25hdHVyZSwgY29uc3QgY2hhciAqc2lnbmluZ19rZXkpCiB7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgZ3BnID0gQ0hJTERfUFJPQ0VTU19JTklUOwotCWNvbnN0IGNoYXIgKmFyZ3NbNF07Ci0Jc3NpemVfdCBsZW47CisJaW50IHJldDsKIAlzaXplX3QgaSwgaiwgYm90dG9tOworCXN0cnVjdCBzdHJidWYgZ3BnX3N0YXR1cyA9IFNUUkJVRl9JTklUOwogCi0JZ3BnLmFyZ3YgPSBhcmdzOwotCWdwZy5pbiA9IC0xOwotCWdwZy5vdXQgPSAtMTsKLQlhcmdzWzBdID0gZ3BnX3Byb2dyYW07Ci0JYXJnc1sxXSA9ICItYnNhdSI7Ci0JYXJnc1syXSA9IHNpZ25pbmdfa2V5OwotCWFyZ3NbM10gPSBOVUxMOworCWFyZ3ZfYXJyYXlfcHVzaGwoJmdwZy5hcmdzLAorCQkJIGdwZ19wcm9ncmFtLAorCQkJICItLXN0YXR1cy1mZD0yIiwKKwkJCSAiLWJzYXUiLCBzaWduaW5nX2tleSwKKwkJCSBOVUxMKTsKIAotCWlmIChzdGFydF9jb21tYW5kKCZncGcpKQotCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHJ1biBncGcuIikpOworCWJvdHRvbSA9IHNpZ25hdHVyZS0+bGVuOwogCiAJLyoKIAkgKiBXaGVuIHRoZSB1c2VybmFtZSBzaWduaW5na2V5IGlzIGJhZCwgcHJvZ3JhbSBjb3VsZCBiZSB0ZXJtaW5hdGVkCiAJICogYmVjYXVzZSBncGcgZXhpdHMgd2l0aG91dCByZWFkaW5nIGFuZCB0aGVuIHdyaXRlIGdldHMgU0lHUElQRS4KIAkgKi8KIAlzaWdjaGFpbl9wdXNoKFNJR1BJUEUsIFNJR19JR04pOwotCi0JaWYgKHdyaXRlX2luX2Z1bGwoZ3BnLmluLCBidWZmZXItPmJ1ZiwgYnVmZmVyLT5sZW4pICE9IGJ1ZmZlci0+bGVuKSB7Ci0JCWNsb3NlKGdwZy5pbik7Ci0JCWNsb3NlKGdwZy5vdXQpOwotCQlmaW5pc2hfY29tbWFuZCgmZ3BnKTsKLQkJcmV0dXJuIGVycm9yKF8oImdwZyBkaWQgbm90IGFjY2VwdCB0aGUgZGF0YSIpKTsKLQl9Ci0JY2xvc2UoZ3BnLmluKTsKLQotCWJvdHRvbSA9IHNpZ25hdHVyZS0+bGVuOwotCWxlbiA9IHN0cmJ1Zl9yZWFkKHNpZ25hdHVyZSwgZ3BnLm91dCwgMTAyNCk7Ci0JY2xvc2UoZ3BnLm91dCk7Ci0KKwlyZXQgPSBwaXBlX2NvbW1hbmQoJmdwZywgYnVmZmVyLT5idWYsIGJ1ZmZlci0+bGVuLAorCQkJICAgc2lnbmF0dXJlLCAxMDI0LCAmZ3BnX3N0YXR1cywgMCk7CiAJc2lnY2hhaW5fcG9wKFNJR1BJUEUpOwogCi0JaWYgKGZpbmlzaF9jb21tYW5kKCZncGcpIHx8ICFsZW4gfHwgbGVuIDwgMCkKKwlyZXQgfD0gIXN0cnN0cihncGdfc3RhdHVzLmJ1ZiwgIlxuW0dOVVBHOl0gU0lHX0NSRUFURUQgIik7CisJc3RyYnVmX3JlbGVhc2UoJmdwZ19zdGF0dXMpOworCWlmIChyZXQpCiAJCXJldHVybiBlcnJvcihfKCJncGcgZmFpbGVkIHRvIHNpZ24gdGhlIGRhdGEiKSk7CiAKIAkvKiBTdHJpcCBDUiBmcm9tIHRoZSBsaW5lIGVuZGluZ3MsIGluIGNhc2Ugd2UgYXJlIG9uIFdpbmRvd3MuICovCkBAIC0yMTAsNTAgKzIwNiwzOSBAQAogCQkJIHN0cnVjdCBzdHJidWYgKmdwZ19vdXRwdXQsIHN0cnVjdCBzdHJidWYgKmdwZ19zdGF0dXMpCiB7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgZ3BnID0gQ0hJTERfUFJPQ0VTU19JTklUOwotCWNvbnN0IGNoYXIgKmFyZ3NfZ3BnW10gPSB7TlVMTCwgIi0tc3RhdHVzLWZkPTEiLCAiLS12ZXJpZnkiLCAiRklMRSIsICItIiwgTlVMTH07Ci0JY2hhciBwYXRoW1BBVEhfTUFYXTsKKwlzdGF0aWMgc3RydWN0IHRlbXBmaWxlIHRlbXA7CiAJaW50IGZkLCByZXQ7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQlzdHJ1Y3Qgc3RyYnVmICpwYnVmID0gJmJ1ZjsKIAotCWFyZ3NfZ3BnWzBdID0gZ3BnX3Byb2dyYW07Ci0JZmQgPSBnaXRfbWtzdGVtcChwYXRoLCBQQVRIX01BWCwgIi5naXRfdnRhZ190bXBYWFhYWFgiKTsKKwlmZCA9IG1rc190ZW1wZmlsZV90KCZ0ZW1wLCAiLmdpdF92dGFnX3RtcFhYWFhYWCIpOwogCWlmIChmZCA8IDApCi0JCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlICclcyciKSwgcGF0aCk7Ci0JaWYgKHdyaXRlX2luX2Z1bGwoZmQsIHNpZ25hdHVyZSwgc2lnbmF0dXJlX3NpemUpIDwgMCkKLQkJcmV0dXJuIGVycm9yX2Vycm5vKF8oImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIiksIHBhdGgpOworCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIpKTsKKwlpZiAod3JpdGVfaW5fZnVsbChmZCwgc2lnbmF0dXJlLCBzaWduYXR1cmVfc2l6ZSkgPCAwKSB7CisJCWVycm9yX2Vycm5vKF8oImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIiksCisJCQkgICAgdGVtcC5maWxlbmFtZS5idWYpOworCQlkZWxldGVfdGVtcGZpbGUoJnRlbXApOworCQlyZXR1cm4gLTE7CisJfQogCWNsb3NlKGZkKTsKIAotCWdwZy5hcmd2ID0gYXJnc19ncGc7Ci0JZ3BnLmluID0gLTE7Ci0JZ3BnLm91dCA9IC0xOwotCWlmIChncGdfb3V0cHV0KQotCQlncGcuZXJyID0gLTE7Ci0JYXJnc19ncGdbM10gPSBwYXRoOwotCWlmIChzdGFydF9jb21tYW5kKCZncGcpKSB7Ci0JCXVubGluayhwYXRoKTsKLQkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCBydW4gZ3BnLiIpKTsKLQl9CisJYXJndl9hcnJheV9wdXNobCgmZ3BnLmFyZ3MsCisJCQkgZ3BnX3Byb2dyYW0sCisJCQkgIi0tc3RhdHVzLWZkPTEiLAorCQkJICItLWtleWlkLWZvcm1hdD1sb25nIiwKKwkJCSAiLS12ZXJpZnkiLCB0ZW1wLmZpbGVuYW1lLmJ1ZiwgIi0iLAorCQkJIE5VTEwpOworCisJaWYgKCFncGdfc3RhdHVzKQorCQlncGdfc3RhdHVzID0gJmJ1ZjsKIAogCXNpZ2NoYWluX3B1c2goU0lHUElQRSwgU0lHX0lHTik7Ci0Jd3JpdGVfaW5fZnVsbChncGcuaW4sIHBheWxvYWQsIHBheWxvYWRfc2l6ZSk7Ci0JY2xvc2UoZ3BnLmluKTsKLQotCWlmIChncGdfb3V0cHV0KSB7Ci0JCXN0cmJ1Zl9yZWFkKGdwZ19vdXRwdXQsIGdwZy5lcnIsIDApOwotCQljbG9zZShncGcuZXJyKTsKLQl9Ci0JaWYgKGdwZ19zdGF0dXMpCi0JCXBidWYgPSBncGdfc3RhdHVzOwotCXN0cmJ1Zl9yZWFkKHBidWYsIGdwZy5vdXQsIDApOwotCWNsb3NlKGdwZy5vdXQpOwotCi0JcmV0ID0gZmluaXNoX2NvbW1hbmQoJmdwZyk7CisJcmV0ID0gcGlwZV9jb21tYW5kKCZncGcsIHBheWxvYWQsIHBheWxvYWRfc2l6ZSwKKwkJCSAgIGdwZ19zdGF0dXMsIDAsIGdwZ19vdXRwdXQsIDApOwogCXNpZ2NoYWluX3BvcChTSUdQSVBFKTsKIAotCXVubGlua19vcl93YXJuKHBhdGgpOworCWRlbGV0ZV90ZW1wZmlsZSgmdGVtcCk7CiAKLQlyZXQgfD0gIXN0cnN0cihwYnVmLT5idWYsICJcbltHTlVQRzpdIEdPT0RTSUcgIik7CisJcmV0IHw9ICFzdHJzdHIoZ3BnX3N0YXR1cy0+YnVmLCAiXG5bR05VUEc6XSBHT09EU0lHICIpOwogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOyAvKiBubyBtYXR0ZXIgaXQgd2FzIHVzZWQgb3Igbm90ICovCiAKIAlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZ3JhcGguYyBiL2dyYXBoLmMKaW5kZXggMTM1MGJkZC4uZDRlODUxOSAxMDA2NDQKLS0tIGEvZ3JhcGguYworKysgYi9ncmFwaC5jCkBAIC0yLDcgKzIsNiBAQAogI2luY2x1ZGUgImNvbW1pdC5oIgogI2luY2x1ZGUgImNvbG9yLmgiCiAjaW5jbHVkZSAiZ3JhcGguaCIKLSNpbmNsdWRlICJkaWZmLmgiCiAjaW5jbHVkZSAicmV2aXNpb24uaCIKIAogLyogSW50ZXJuYWwgQVBJICovCkBAIC0xNyw4ICsxNiw4IEBACiBzdGF0aWMgdm9pZCBncmFwaF9wYWRkaW5nX2xpbmUoc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgsIHN0cnVjdCBzdHJidWYgKnNiKTsKIAogLyoKLSAqIFByaW50IGEgc3RyYnVmIHRvIHN0ZG91dC4gIElmIHRoZSBncmFwaCBpcyBub24tTlVMTCwgYWxsIGxpbmVzIGJ1dCB0aGUKLSAqIGZpcnN0IHdpbGwgYmUgcHJlZml4ZWQgd2l0aCB0aGUgZ3JhcGggb3V0cHV0LgorICogUHJpbnQgYSBzdHJidWYuICBJZiB0aGUgZ3JhcGggaXMgbm9uLU5VTEwsIGFsbCBsaW5lcyBidXQgdGhlIGZpcnN0IHdpbGwgYmUKKyAqIHByZWZpeGVkIHdpdGggdGhlIGdyYXBoIG91dHB1dC4KICAqCiAgKiBJZiB0aGUgc3RyYnVmIGVuZHMgd2l0aCBhIG5ld2xpbmUsIHRoZSBvdXRwdXQgd2lsbCBlbmQgYWZ0ZXIgdGhpcwogICogbmV3bGluZS4gIEEgbmV3IGdyYXBoIGxpbmUgd2lsbCBub3QgYmUgcHJpbnRlZCBhZnRlciB0aGUgZmluYWwgbmV3bGluZS4KQEAgLTI4LDggKzI3LDE1IEBACiAgKiByZXNwb25zaWJsZSBmb3IgcHJpbnRpbmcgdGhpcyBsaW5lJ3MgZ3JhcGggKHBlcmhhcHMgdmlhCiAgKiBncmFwaF9zaG93X2NvbW1pdCgpIG9yIGdyYXBoX3Nob3dfb25lbGluZSgpKSBiZWZvcmUgY2FsbGluZwogICogZ3JhcGhfc2hvd19zdHJidWYoKS4KKyAqCisgKiBOb3RlIHRoYXQgdW5saWtlIHNvbWUgb3RoZXIgZ3JhcGggZGlzcGxheSBmdW5jdGlvbnMsIHlvdSBtdXN0IHBhc3MgdGhlIGZpbGUKKyAqIGhhbmRsZSBkaXJlY3RseS4gSXQgaXMgYXNzdW1lZCB0aGF0IHRoaXMgaXMgdGhlIHNhbWUgZmlsZSBoYW5kbGUgYXMgdGhlCisgKiBmaWxlIHNwZWNpZmllZCBieSB0aGUgZ3JhcGggZGlmZiBvcHRpb25zLiBUaGlzIGlzIG5lY2Vzc2FyeSBzbyB0aGF0CisgKiBncmFwaF9zaG93X3N0cmJ1ZiBjYW4gYmUgY2FsbGVkIGV2ZW4gd2l0aCBhIE5VTEwgZ3JhcGguCiAgKi8KLXN0YXRpYyB2b2lkIGdyYXBoX3Nob3dfc3RyYnVmKHN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoLCBzdHJ1Y3Qgc3RyYnVmIGNvbnN0ICpzYik7CitzdGF0aWMgdm9pZCBncmFwaF9zaG93X3N0cmJ1ZihzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCwKKwkJCSAgICAgIEZJTEUgKmZpbGUsCisJCQkgICAgICBzdHJ1Y3Qgc3RyYnVmIGNvbnN0ICpzYik7CiAKIC8qCiAgKiBUT0RPOgpAQCAtNTksNiArNjUsMTcgQEAKIAlHUkFQSF9DT0xMQVBTSU5HCiB9OwogCitzdGF0aWMgdm9pZCBncmFwaF9zaG93X2xpbmVfcHJlZml4KGNvbnN0IHN0cnVjdCBkaWZmX29wdGlvbnMgKmRpZmZvcHQpCit7CisJaWYgKCFkaWZmb3B0IHx8ICFkaWZmb3B0LT5saW5lX3ByZWZpeCkKKwkJcmV0dXJuOworCisJZndyaXRlKGRpZmZvcHQtPmxpbmVfcHJlZml4LAorCSAgICAgICBzaXplb2YoY2hhciksCisJICAgICAgIGRpZmZvcHQtPmxpbmVfcHJlZml4X2xlbmd0aCwKKwkgICAgICAgZGlmZm9wdC0+ZmlsZSk7Cit9CisKIHN0YXRpYyBjb25zdCBjaGFyICoqY29sdW1uX2NvbG9yczsKIHN0YXRpYyB1bnNpZ25lZCBzaG9ydCBjb2x1bW5fY29sb3JzX21heDsKIApAQCAtMTk1LDE0ICsyMTIsMjggQEAKIAlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBtc2didWYgPSBTVFJCVUZfSU5JVDsKIAogCWFzc2VydChvcHQpOwotCWFzc2VydChncmFwaCk7CiAKLQlvcHQtPm91dHB1dF9wcmVmaXhfbGVuZ3RoID0gZ3JhcGgtPndpZHRoOwogCXN0cmJ1Zl9yZXNldCgmbXNnYnVmKTsKLQlncmFwaF9wYWRkaW5nX2xpbmUoZ3JhcGgsICZtc2didWYpOworCWlmIChvcHQtPmxpbmVfcHJlZml4KQorCQlzdHJidWZfYWRkKCZtc2didWYsIG9wdC0+bGluZV9wcmVmaXgsCisJCQkgICBvcHQtPmxpbmVfcHJlZml4X2xlbmd0aCk7CisJaWYgKGdyYXBoKQorCQlncmFwaF9wYWRkaW5nX2xpbmUoZ3JhcGgsICZtc2didWYpOwogCXJldHVybiAmbXNnYnVmOwogfQogCitzdGF0aWMgY29uc3Qgc3RydWN0IGRpZmZfb3B0aW9ucyAqZGVmYXVsdF9kaWZmb3B0OworCit2b2lkIGdyYXBoX3NldHVwX2xpbmVfcHJlZml4KHN0cnVjdCBkaWZmX29wdGlvbnMgKmRpZmZvcHQpCit7CisJZGVmYXVsdF9kaWZmb3B0ID0gZGlmZm9wdDsKKworCS8qIHNldHVwIGFuIG91dHB1dCBwcmVmaXggY2FsbGJhY2sgaWYgbmVjZXNzYXJ5ICovCisJaWYgKGRpZmZvcHQgJiYgIWRpZmZvcHQtPm91dHB1dF9wcmVmaXgpCisJCWRpZmZvcHQtPm91dHB1dF9wcmVmaXggPSBkaWZmX291dHB1dF9wcmVmaXhfY2FsbGJhY2s7Cit9CisKKwogc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGhfaW5pdChzdHJ1Y3QgcmV2X2luZm8gKm9wdCkKIHsKIAlzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBnaXRfZ3JhcGgpKTsKQEAgLTI0NSw3ICsyNzYsNiBAQAogCSAqLwogCW9wdC0+ZGlmZm9wdC5vdXRwdXRfcHJlZml4ID0gZGlmZl9vdXRwdXRfcHJlZml4X2NhbGxiYWNrOwogCW9wdC0+ZGlmZm9wdC5vdXRwdXRfcHJlZml4X2RhdGEgPSBncmFwaDsKLQlvcHQtPmRpZmZvcHQub3V0cHV0X3ByZWZpeF9sZW5ndGggPSAwOwogCiAJcmV0dXJuIGdyYXBoOwogfQpAQCAtNjY5LDYgKzY5OSwxMyBAQAogCWdyYXBoX3BhZF9ob3Jpem9udGFsbHkoZ3JhcGgsIHNiLCBncmFwaC0+bnVtX25ld19jb2x1bW5zICogMik7CiB9CiAKKworaW50IGdyYXBoX3dpZHRoKHN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoKQoreworCXJldHVybiBncmFwaC0+d2lkdGg7Cit9CisKKwogc3RhdGljIHZvaWQgZ3JhcGhfb3V0cHV0X3NraXBfbGluZShzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCwgc3RydWN0IHN0cmJ1ZiAqc2IpCiB7CiAJLyoKQEAgLTExMzgsNiArMTE3NSw3IEBACiBzdGF0aWMgdm9pZCBncmFwaF9wYWRkaW5nX2xpbmUoc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgsIHN0cnVjdCBzdHJidWYgKnNiKQogewogCWludCBpOworCWludCBjaGFyc193cml0dGVuID0gMDsKIAogCWlmIChncmFwaC0+c3RhdGUgIT0gR1JBUEhfQ09NTUlUKSB7CiAJCWdyYXBoX25leHRfbGluZShncmFwaCwgc2IpOwpAQCAtMTE1MywxNCArMTE5MSwyMSBAQAogCSAqLwogCWZvciAoaSA9IDA7IGkgPCBncmFwaC0+bnVtX2NvbHVtbnM7IGkrKykgewogCQlzdHJ1Y3QgY29sdW1uICpjb2wgPSAmZ3JhcGgtPmNvbHVtbnNbaV07CisKIAkJc3RyYnVmX3dyaXRlX2NvbHVtbihzYiwgY29sLCAnfCcpOwotCQlpZiAoY29sLT5jb21taXQgPT0gZ3JhcGgtPmNvbW1pdCAmJiBncmFwaC0+bnVtX3BhcmVudHMgPiAyKQotCQkJc3RyYnVmX2FkZGNoYXJzKHNiLCAnICcsIChncmFwaC0+bnVtX3BhcmVudHMgLSAyKSAqIDIpOwotCQllbHNlCisJCWNoYXJzX3dyaXR0ZW4rKzsKKworCQlpZiAoY29sLT5jb21taXQgPT0gZ3JhcGgtPmNvbW1pdCAmJiBncmFwaC0+bnVtX3BhcmVudHMgPiAyKSB7CisJCQlpbnQgbGVuID0gKGdyYXBoLT5udW1fcGFyZW50cyAtIDIpICogMjsKKwkJCXN0cmJ1Zl9hZGRjaGFycyhzYiwgJyAnLCBsZW4pOworCQkJY2hhcnNfd3JpdHRlbiArPSBsZW47CisJCX0gZWxzZSB7CiAJCQlzdHJidWZfYWRkY2goc2IsICcgJyk7CisJCQljaGFyc193cml0dGVuKys7CisJCX0KIAl9CiAKLQlncmFwaF9wYWRfaG9yaXpvbnRhbGx5KGdyYXBoLCBzYiwgZ3JhcGgtPm51bV9jb2x1bW5zKTsKKwlncmFwaF9wYWRfaG9yaXpvbnRhbGx5KGdyYXBoLCBzYiwgY2hhcnNfd3JpdHRlbik7CiAKIAkvKgogCSAqIFVwZGF0ZSBncmFwaC0+cHJldl9zdGF0ZSBzaW5jZSB3ZSBoYXZlIG91dHB1dCBhIHBhZGRpbmcgbGluZQpAQCAtMTE3OCw2ICsxMjIzLDggQEAKIAlzdHJ1Y3Qgc3RyYnVmIG1zZ2J1ZiA9IFNUUkJVRl9JTklUOwogCWludCBzaG93bl9jb21taXRfbGluZSA9IDA7CiAKKwlncmFwaF9zaG93X2xpbmVfcHJlZml4KGRlZmF1bHRfZGlmZm9wdCk7CisKIAlpZiAoIWdyYXBoKQogCQlyZXR1cm47CiAKQEAgLTExOTMsOSArMTI0MCwxMiBAQAogCiAJd2hpbGUgKCFzaG93bl9jb21taXRfbGluZSAmJiAhZ3JhcGhfaXNfY29tbWl0X2ZpbmlzaGVkKGdyYXBoKSkgewogCQlzaG93bl9jb21taXRfbGluZSA9IGdyYXBoX25leHRfbGluZShncmFwaCwgJm1zZ2J1Zik7Ci0JCWZ3cml0ZShtc2didWYuYnVmLCBzaXplb2YoY2hhciksIG1zZ2J1Zi5sZW4sIHN0ZG91dCk7Ci0JCWlmICghc2hvd25fY29tbWl0X2xpbmUpCi0JCQlwdXRjaGFyKCdcbicpOworCQlmd3JpdGUobXNnYnVmLmJ1Ziwgc2l6ZW9mKGNoYXIpLCBtc2didWYubGVuLAorCQkJZ3JhcGgtPnJldnMtPmRpZmZvcHQuZmlsZSk7CisJCWlmICghc2hvd25fY29tbWl0X2xpbmUpIHsKKwkJCXB1dGMoJ1xuJywgZ3JhcGgtPnJldnMtPmRpZmZvcHQuZmlsZSk7CisJCQlncmFwaF9zaG93X2xpbmVfcHJlZml4KCZncmFwaC0+cmV2cy0+ZGlmZm9wdCk7CisJCX0KIAkJc3RyYnVmX3NldGxlbigmbXNnYnVmLCAwKTsKIAl9CiAKQEAgLTEyMDYsMTEgKzEyNTYsMTMgQEAKIHsKIAlzdHJ1Y3Qgc3RyYnVmIG1zZ2J1ZiA9IFNUUkJVRl9JTklUOwogCisJZ3JhcGhfc2hvd19saW5lX3ByZWZpeChkZWZhdWx0X2RpZmZvcHQpOworCiAJaWYgKCFncmFwaCkKIAkJcmV0dXJuOwogCiAJZ3JhcGhfbmV4dF9saW5lKGdyYXBoLCAmbXNnYnVmKTsKLQlmd3JpdGUobXNnYnVmLmJ1Ziwgc2l6ZW9mKGNoYXIpLCBtc2didWYubGVuLCBzdGRvdXQpOworCWZ3cml0ZShtc2didWYuYnVmLCBzaXplb2YoY2hhciksIG1zZ2J1Zi5sZW4sIGdyYXBoLT5yZXZzLT5kaWZmb3B0LmZpbGUpOwogCXN0cmJ1Zl9yZWxlYXNlKCZtc2didWYpOwogfQogCkBAIC0xMjE4LDExICsxMjcwLDEzIEBACiB7CiAJc3RydWN0IHN0cmJ1ZiBtc2didWYgPSBTVFJCVUZfSU5JVDsKIAorCWdyYXBoX3Nob3dfbGluZV9wcmVmaXgoZGVmYXVsdF9kaWZmb3B0KTsKKwogCWlmICghZ3JhcGgpCiAJCXJldHVybjsKIAogCWdyYXBoX3BhZGRpbmdfbGluZShncmFwaCwgJm1zZ2J1Zik7Ci0JZndyaXRlKG1zZ2J1Zi5idWYsIHNpemVvZihjaGFyKSwgbXNnYnVmLmxlbiwgc3Rkb3V0KTsKKwlmd3JpdGUobXNnYnVmLmJ1Ziwgc2l6ZW9mKGNoYXIpLCBtc2didWYubGVuLCBncmFwaC0+cmV2cy0+ZGlmZm9wdC5maWxlKTsKIAlzdHJidWZfcmVsZWFzZSgmbXNnYnVmKTsKIH0KIApAQCAtMTIzMSw2ICsxMjg1LDggQEAKIAlzdHJ1Y3Qgc3RyYnVmIG1zZ2J1ZiA9IFNUUkJVRl9JTklUOwogCWludCBzaG93biA9IDA7CiAKKwlncmFwaF9zaG93X2xpbmVfcHJlZml4KGRlZmF1bHRfZGlmZm9wdCk7CisKIAlpZiAoIWdyYXBoKQogCQlyZXR1cm4gMDsKIApAQCAtMTIzOSwzMCArMTI5NSwyOSBAQAogCiAJZm9yICg7OykgewogCQlncmFwaF9uZXh0X2xpbmUoZ3JhcGgsICZtc2didWYpOwotCQlmd3JpdGUobXNnYnVmLmJ1Ziwgc2l6ZW9mKGNoYXIpLCBtc2didWYubGVuLCBzdGRvdXQpOworCQlmd3JpdGUobXNnYnVmLmJ1Ziwgc2l6ZW9mKGNoYXIpLCBtc2didWYubGVuLAorCQkJZ3JhcGgtPnJldnMtPmRpZmZvcHQuZmlsZSk7CiAJCXN0cmJ1Zl9zZXRsZW4oJm1zZ2J1ZiwgMCk7CiAJCXNob3duID0gMTsKIAotCQlpZiAoIWdyYXBoX2lzX2NvbW1pdF9maW5pc2hlZChncmFwaCkpCi0JCQlwdXRjaGFyKCdcbicpOwotCQllbHNlCisJCWlmICghZ3JhcGhfaXNfY29tbWl0X2ZpbmlzaGVkKGdyYXBoKSkgeworCQkJcHV0YygnXG4nLCBncmFwaC0+cmV2cy0+ZGlmZm9wdC5maWxlKTsKKwkJCWdyYXBoX3Nob3dfbGluZV9wcmVmaXgoJmdyYXBoLT5yZXZzLT5kaWZmb3B0KTsKKwkJfSBlbHNlIHsKIAkJCWJyZWFrOworCQl9CiAJfQogCXN0cmJ1Zl9yZWxlYXNlKCZtc2didWYpOwogCiAJcmV0dXJuIHNob3duOwogfQogCi0KLXN0YXRpYyB2b2lkIGdyYXBoX3Nob3dfc3RyYnVmKHN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoLCBzdHJ1Y3Qgc3RyYnVmIGNvbnN0ICpzYikKK3N0YXRpYyB2b2lkIGdyYXBoX3Nob3dfc3RyYnVmKHN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoLAorCQkJICAgICAgRklMRSAqZmlsZSwKKwkJCSAgICAgIHN0cnVjdCBzdHJidWYgY29uc3QgKnNiKQogewogCWNoYXIgKnA7CiAKLQlpZiAoIWdyYXBoKSB7Ci0JCWZ3cml0ZShzYi0+YnVmLCBzaXplb2YoY2hhciksIHNiLT5sZW4sIHN0ZG91dCk7Ci0JCXJldHVybjsKLQl9Ci0KIAkvKgogCSAqIFByaW50IHRoZSBzdHJidWYgbGluZSBieSBsaW5lLAogCSAqIGFuZCBkaXNwbGF5IHRoZSBncmFwaCBpbmZvIGJlZm9yZSBlYWNoIGxpbmUgYnV0IHRoZSBmaXJzdC4KQEAgLTEyNzcsNyArMTMzMiw3IEBACiAJCX0gZWxzZSB7CiAJCQlsZW4gPSAoc2ItPmJ1ZiArIHNiLT5sZW4pIC0gcDsKIAkJfQotCQlmd3JpdGUocCwgc2l6ZW9mKGNoYXIpLCBsZW4sIHN0ZG91dCk7CisJCWZ3cml0ZShwLCBzaXplb2YoY2hhciksIGxlbiwgZmlsZSk7CiAJCWlmIChuZXh0X3AgJiYgKm5leHRfcCAhPSAnXDAnKQogCQkJZ3JhcGhfc2hvd19vbmVsaW5lKGdyYXBoKTsKIAkJcCA9IG5leHRfcDsKQEAgLTEyODUsMjggKzEzNDAsMjAgQEAKIH0KIAogdm9pZCBncmFwaF9zaG93X2NvbW1pdF9tc2coc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgsCisJCQkgICBGSUxFICpmaWxlLAogCQkJICAgc3RydWN0IHN0cmJ1ZiBjb25zdCAqc2IpCiB7CiAJaW50IG5ld2xpbmVfdGVybWluYXRlZDsKIAotCWlmICghZ3JhcGgpIHsKLQkJLyoKLQkJICogSWYgdGhlcmUncyBubyBncmFwaCwganVzdCBwcmludCB0aGUgbWVzc2FnZSBidWZmZXIuCi0JCSAqCi0JCSAqIFRoZSBtZXNzYWdlIGJ1ZmZlciBmb3IgQ01JVF9GTVRfT05FTElORSBhbmQKLQkJICogQ01JVF9GTVRfVVNFUkZPUk1BVCBhcmUgYWxyZWFkeSBtaXNzaW5nIGEgdGVybWluYXRpbmcKLQkJICogbmV3bGluZS4gIEFsbCBvZiB0aGUgb3RoZXIgZm9ybWF0cyBzaG91bGQgaGF2ZSBpdC4KLQkJICovCi0JCWZ3cml0ZShzYi0+YnVmLCBzaXplb2YoY2hhciksIHNiLT5sZW4sIHN0ZG91dCk7Ci0JCXJldHVybjsKLQl9Ci0KLQluZXdsaW5lX3Rlcm1pbmF0ZWQgPSAoc2ItPmxlbiAmJiBzYi0+YnVmW3NiLT5sZW4gLSAxXSA9PSAnXG4nKTsKLQogCS8qCiAJICogU2hvdyB0aGUgY29tbWl0IG1lc3NhZ2UKIAkgKi8KLQlncmFwaF9zaG93X3N0cmJ1ZihncmFwaCwgc2IpOworCWdyYXBoX3Nob3dfc3RyYnVmKGdyYXBoLCBmaWxlLCBzYik7CisKKwlpZiAoIWdyYXBoKQorCQlyZXR1cm47CisKKwluZXdsaW5lX3Rlcm1pbmF0ZWQgPSAoc2ItPmxlbiAmJiBzYi0+YnVmW3NiLT5sZW4gLSAxXSA9PSAnXG4nKTsKIAogCS8qCiAJICogSWYgdGhlcmUgaXMgbW9yZSBvdXRwdXQgbmVlZGVkIGZvciB0aGlzIGNvbW1pdCwgc2hvdyBpdCBub3cKQEAgLTEzMTgsNyArMTM2NSw3IEBACiAJCSAqIG5ldyBsaW5lLgogCQkgKi8KIAkJaWYgKCFuZXdsaW5lX3Rlcm1pbmF0ZWQpCi0JCQlwdXRjaGFyKCdcbicpOworCQkJcHV0YygnXG4nLCBmaWxlKTsKIAogCQlncmFwaF9zaG93X3JlbWFpbmRlcihncmFwaCk7CiAKQEAgLTEzMjYsNiArMTM3Myw2IEBACiAJCSAqIElmIHNiIGVuZHMgd2l0aCBhIG5ld2xpbmUsIG91ciBvdXRwdXQgc2hvdWxkIHRvby4KIAkJICovCiAJCWlmIChuZXdsaW5lX3Rlcm1pbmF0ZWQpCi0JCQlwdXRjaGFyKCdcbicpOworCQkJcHV0YygnXG4nLCBmaWxlKTsKIAl9CiB9CmRpZmYgLS1naXQgYS9ncmFwaC5oIGIvZ3JhcGguaAppbmRleCAwYmU2MmJkLi5hZjYyMzM5IDEwMDY0NAotLS0gYS9ncmFwaC5oCisrKyBiL2dyYXBoLmgKQEAgLTEsMTAgKzEsMjMgQEAKICNpZm5kZWYgR1JBUEhfSAogI2RlZmluZSBHUkFQSF9ICisjaW5jbHVkZSAiZGlmZi5oIgogCiAvKiBBIGdyYXBoIGlzIGEgcG9pbnRlciB0byB0aGlzIG9wYXF1ZSBzdHJ1Y3R1cmUgKi8KIHN0cnVjdCBnaXRfZ3JhcGg7CiAKIC8qCisgKiBDYWxsZWQgdG8gc2V0dXAgZ2xvYmFsIGRpc3BsYXkgb2YgbGluZV9wcmVmaXggZGlmZiBvcHRpb24uCisgKgorICogUGFzc2VkIGEgZGlmZl9vcHRpb25zIHN0cnVjdHVyZSB3aGljaCBpbmRpY2F0ZXMgdGhlIGxpbmVfcHJlZml4IGFuZCB0aGUKKyAqIGZpbGUgdG8gb3V0cHV0IHRoZSBwcmVmaXggdG8uIFRoaXMgaXMgc29ydCBvZiBhIGhhY2sgdXNlZCBzbyB0aGF0IHRoZQorICogbGluZV9wcmVmaXggd2lsbCBiZSBob25vcmVkIGJ5IGFsbCBmbG93cyB3aGljaCBhbHNvIGhvbm9yICItLWdyYXBoIgorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGEgZ3JhcGggaGFzIGFjdHVhbGx5IGJlZW4gc2V0dXAuIFRoZSBub3JtYWwgZ3JhcGgKKyAqIGZsb3cgd2lsbCBob25vciB0aGUgZXhhY3QgZGlmZl9vcHRpb25zIHBhc3NlZCwgYnV0IGEgTlVMTCBncmFwaCB3aWxsIGNhdXNlCisgKiBkaXNwbGF5IG9mIGEgbGluZV9wcmVmaXggdG8gc3Rkb3V0LgorICovCit2b2lkIGdyYXBoX3NldHVwX2xpbmVfcHJlZml4KHN0cnVjdCBkaWZmX29wdGlvbnMgKmRpZmZvcHQpOworCisvKgogICogU2V0IHVwIGEgY3VzdG9tIHNjaGVtZSBmb3IgY29sdW1uIGNvbG9ycy4KICAqCiAgKiBUaGUgZGVmYXVsdCBjb2x1bW4gY29sb3Igc2NoZW1lIGluc2VydHMgQU5TSSBjb2xvciBlc2NhcGVzIHRvIGNvbG9yaXplCkBAIC02OCw2ICs4MSwxMSBAQAogCiAKIC8qCisgKiBSZXR1cm4gY3VycmVudCB3aWR0aCBvZiB0aGUgZ3JhcGggaW4gb24tc2NyZWVuIGNoYXJhY3RlcnMuCisgKi8KK2ludCBncmFwaF93aWR0aChzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCk7CisKKy8qCiAgKiBncmFwaF9zaG93Xyo6IGhlbHBlciBmdW5jdGlvbnMgZm9yIHByaW50aW5nIHRvIHN0ZG91dAogICovCiAKQEAgLTEwOCw3ICsxMjYsMTQgQEAKICAqIG1pc3NpbmcgYSB0ZXJtaW5hdGluZyBuZXdsaW5lIChpbmNsdWRpbmcgaWYgaXQgaXMgZW1wdHkpLCB0aGUgb3V0cHV0CiAgKiBwcmludGVkIGJ5IGdyYXBoX3Nob3dfY29tbWl0X21zZygpIHdpbGwgYWxzbyBiZSBtaXNzaW5nIGEgdGVybWluYXRpbmcKICAqIG5ld2xpbmUuCisgKgorICogTm90ZSB0aGF0IHVubGlrZSBzb21lIG90aGVyIGdyYXBoIGRpc3BsYXkgZnVuY3Rpb25zLCB5b3UgbXVzdCBwYXNzIHRoZSBmaWxlCisgKiBoYW5kbGUgZGlyZWN0bHkuIEl0IGlzIGFzc3VtZWQgdGhhdCB0aGlzIGlzIHRoZSBzYW1lIGZpbGUgaGFuZGxlIGFzIHRoZQorICogZmlsZSBzcGVjaWZpZWQgYnkgdGhlIGdyYXBoIGRpZmYgb3B0aW9ucy4gVGhpcyBpcyBuZWNlc3Nhcnkgc28gdGhhdAorICogZ3JhcGhfc2hvd19jb21taXRfbXNnIGNhbiBiZSBjYWxsZWQgZXZlbiB3aXRoIGEgTlVMTCBncmFwaC4KICAqLwotdm9pZCBncmFwaF9zaG93X2NvbW1pdF9tc2coc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgsIHN0cnVjdCBzdHJidWYgY29uc3QgKnNiKTsKK3ZvaWQgZ3JhcGhfc2hvd19jb21taXRfbXNnKHN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoLAorCQkJICAgRklMRSAqZmlsZSwKKwkJCSAgIHN0cnVjdCBzdHJidWYgY29uc3QgKnNiKTsKIAogI2VuZGlmIC8qIEdSQVBIX0ggKi8KZGlmZiAtLWdpdCBhL2dyZXAuYyBiL2dyZXAuYwppbmRleCBlYzZmN2ZmLi4xMTk0ZDM1IDEwMDY0NAotLS0gYS9ncmVwLmMKKysrIGIvZ3JlcC5jCkBAIC00LDYgKzQsOCBAQAogI2luY2x1ZGUgInhkaWZmLWludGVyZmFjZS5oIgogI2luY2x1ZGUgImRpZmYuaCIKICNpbmNsdWRlICJkaWZmY29yZS5oIgorI2luY2x1ZGUgImNvbW1pdC5oIgorI2luY2x1ZGUgInF1b3RlLmgiCiAKIHN0YXRpYyBpbnQgZ3JlcF9zb3VyY2VfbG9hZChzdHJ1Y3QgZ3JlcF9zb3VyY2UgKmdzKTsKIHN0YXRpYyBpbnQgZ3JlcF9zb3VyY2VfaXNfYmluYXJ5KHN0cnVjdCBncmVwX3NvdXJjZSAqZ3MpOwpAQCAtMTYxLDE3ICsxNjMsNyBAQAogCWNvbG9yX3NldChvcHQtPmNvbG9yX3NlcCwgZGVmLT5jb2xvcl9zZXApOwogfQogCi12b2lkIGdyZXBfY29tbWl0X3BhdHRlcm5fdHlwZShlbnVtIGdyZXBfcGF0dGVybl90eXBlIHBhdHRlcm5fdHlwZSwgc3RydWN0IGdyZXBfb3B0ICpvcHQpCi17Ci0JaWYgKHBhdHRlcm5fdHlwZSAhPSBHUkVQX1BBVFRFUk5fVFlQRV9VTlNQRUNJRklFRCkKLQkJZ3JlcF9zZXRfcGF0dGVybl90eXBlX29wdGlvbihwYXR0ZXJuX3R5cGUsIG9wdCk7Ci0JZWxzZSBpZiAob3B0LT5wYXR0ZXJuX3R5cGVfb3B0aW9uICE9IEdSRVBfUEFUVEVSTl9UWVBFX1VOU1BFQ0lGSUVEKQotCQlncmVwX3NldF9wYXR0ZXJuX3R5cGVfb3B0aW9uKG9wdC0+cGF0dGVybl90eXBlX29wdGlvbiwgb3B0KTsKLQllbHNlIGlmIChvcHQtPmV4dGVuZGVkX3JlZ2V4cF9vcHRpb24pCi0JCWdyZXBfc2V0X3BhdHRlcm5fdHlwZV9vcHRpb24oR1JFUF9QQVRURVJOX1RZUEVfRVJFLCBvcHQpOwotfQotCi12b2lkIGdyZXBfc2V0X3BhdHRlcm5fdHlwZV9vcHRpb24oZW51bSBncmVwX3BhdHRlcm5fdHlwZSBwYXR0ZXJuX3R5cGUsIHN0cnVjdCBncmVwX29wdCAqb3B0KQorc3RhdGljIHZvaWQgZ3JlcF9zZXRfcGF0dGVybl90eXBlX29wdGlvbihlbnVtIGdyZXBfcGF0dGVybl90eXBlIHBhdHRlcm5fdHlwZSwgc3RydWN0IGdyZXBfb3B0ICpvcHQpCiB7CiAJc3dpdGNoIChwYXR0ZXJuX3R5cGUpIHsKIAljYXNlIEdSRVBfUEFUVEVSTl9UWVBFX1VOU1BFQ0lGSUVEOgpAQCAtMjAzLDYgKzE5NSwxNiBAQAogCX0KIH0KIAordm9pZCBncmVwX2NvbW1pdF9wYXR0ZXJuX3R5cGUoZW51bSBncmVwX3BhdHRlcm5fdHlwZSBwYXR0ZXJuX3R5cGUsIHN0cnVjdCBncmVwX29wdCAqb3B0KQoreworCWlmIChwYXR0ZXJuX3R5cGUgIT0gR1JFUF9QQVRURVJOX1RZUEVfVU5TUEVDSUZJRUQpCisJCWdyZXBfc2V0X3BhdHRlcm5fdHlwZV9vcHRpb24ocGF0dGVybl90eXBlLCBvcHQpOworCWVsc2UgaWYgKG9wdC0+cGF0dGVybl90eXBlX29wdGlvbiAhPSBHUkVQX1BBVFRFUk5fVFlQRV9VTlNQRUNJRklFRCkKKwkJZ3JlcF9zZXRfcGF0dGVybl90eXBlX29wdGlvbihvcHQtPnBhdHRlcm5fdHlwZV9vcHRpb24sIG9wdCk7CisJZWxzZSBpZiAob3B0LT5leHRlbmRlZF9yZWdleHBfb3B0aW9uKQorCQlncmVwX3NldF9wYXR0ZXJuX3R5cGVfb3B0aW9uKEdSRVBfUEFUVEVSTl9UWVBFX0VSRSwgb3B0KTsKK30KKwogc3RhdGljIHN0cnVjdCBncmVwX3BhdCAqY3JlYXRlX2dyZXBfcGF0KGNvbnN0IGNoYXIgKnBhdCwgc2l6ZV90IHBhdGxlbiwKIAkJCQkJY29uc3QgY2hhciAqb3JpZ2luLCBpbnQgbm8sCiAJCQkJCWVudW0gZ3JlcF9wYXRfdG9rZW4gdCwKQEAgLTMyMiwxMSArMzI0LDE2IEBACiAJaW50IGVycm9mZnNldDsKIAlpbnQgb3B0aW9ucyA9IFBDUkVfTVVMVElMSU5FOwogCi0JaWYgKG9wdC0+aWdub3JlX2Nhc2UpCisJaWYgKG9wdC0+aWdub3JlX2Nhc2UpIHsKKwkJaWYgKGhhc19ub25fYXNjaWkocC0+cGF0dGVybikpCisJCQlwLT5wY3JlX3RhYmxlcyA9IHBjcmVfbWFrZXRhYmxlcygpOwogCQlvcHRpb25zIHw9IFBDUkVfQ0FTRUxFU1M7CisJfQorCWlmIChpc191dGY4X2xvY2FsZSgpICYmIGhhc19ub25fYXNjaWkocC0+cGF0dGVybikpCisJCW9wdGlvbnMgfD0gUENSRV9VVEY4OwogCiAJcC0+cGNyZV9yZWdleHAgPSBwY3JlX2NvbXBpbGUocC0+cGF0dGVybiwgb3B0aW9ucywgJmVycm9yLCAmZXJyb2Zmc2V0LAotCQkJTlVMTCk7CisJCQkJICAgICAgcC0+cGNyZV90YWJsZXMpOwogCWlmICghcC0+cGNyZV9yZWdleHApCiAJCWNvbXBpbGVfcmVnZXhwX2ZhaWxlZChwLCBlcnJvcik7CiAKQEAgLTM2MCw2ICszNjcsNyBAQAogewogCXBjcmVfZnJlZShwLT5wY3JlX3JlZ2V4cCk7CiAJcGNyZV9mcmVlKHAtPnBjcmVfZXh0cmFfaW5mbyk7CisJcGNyZV9mcmVlKCh2b2lkICopcC0+cGNyZV90YWJsZXMpOwogfQogI2Vsc2UgLyogIVVTRV9MSUJQQ1JFICovCiBzdGF0aWMgdm9pZCBjb21waWxlX3BjcmVfcmVnZXhwKHN0cnVjdCBncmVwX3BhdCAqcCwgY29uc3Qgc3RydWN0IGdyZXBfb3B0ICpvcHQpCkBAIC0zOTYsMjYgKzQwNCw2OCBAQAogCXJldHVybiAxOwogfQogCitzdGF0aWMgdm9pZCBjb21waWxlX2ZpeGVkX3JlZ2V4cChzdHJ1Y3QgZ3JlcF9wYXQgKnAsIHN0cnVjdCBncmVwX29wdCAqb3B0KQoreworCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwlpbnQgZXJyOworCWludCByZWdmbGFnczsKKworCWJhc2ljX3JlZ2V4X3F1b3RlX2J1Zigmc2IsIHAtPnBhdHRlcm4pOworCXJlZ2ZsYWdzID0gb3B0LT5yZWdmbGFncyAmIH5SRUdfRVhURU5ERUQ7CisJaWYgKG9wdC0+aWdub3JlX2Nhc2UpCisJCXJlZ2ZsYWdzIHw9IFJFR19JQ0FTRTsKKwllcnIgPSByZWdjb21wKCZwLT5yZWdleHAsIHNiLmJ1ZiwgcmVnZmxhZ3MpOworCWlmIChvcHQtPmRlYnVnKQorCQlmcHJpbnRmKHN0ZGVyciwgImZpeGVkICVzXG4iLCBzYi5idWYpOworCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CisJaWYgKGVycikgeworCQljaGFyIGVycmJ1ZlsxMDI0XTsKKwkJcmVnZXJyb3IoZXJyLCAmcC0+cmVnZXhwLCBlcnJidWYsIHNpemVvZihlcnJidWYpKTsKKwkJcmVnZnJlZSgmcC0+cmVnZXhwKTsKKwkJY29tcGlsZV9yZWdleHBfZmFpbGVkKHAsIGVycmJ1Zik7CisJfQorfQorCiBzdGF0aWMgdm9pZCBjb21waWxlX3JlZ2V4cChzdHJ1Y3QgZ3JlcF9wYXQgKnAsIHN0cnVjdCBncmVwX29wdCAqb3B0KQogeworCWludCBpY2FzZSwgYXNjaWlfb25seTsKIAlpbnQgZXJyOwogCiAJcC0+d29yZF9yZWdleHAgPSBvcHQtPndvcmRfcmVnZXhwOwogCXAtPmlnbm9yZV9jYXNlID0gb3B0LT5pZ25vcmVfY2FzZTsKKwlpY2FzZQkgICAgICAgPSBvcHQtPnJlZ2ZsYWdzICYgUkVHX0lDQVNFIHx8IHAtPmlnbm9yZV9jYXNlOworCWFzY2lpX29ubHkgICAgID0gIWhhc19ub25fYXNjaWkocC0+cGF0dGVybik7CiAKKwkvKgorCSAqIEV2ZW4gd2hlbiAtRiAoZml4ZWQpIGFza3MgdXMgdG8gZG8gYSBub24tcmVnZXhwIHNlYXJjaCwgd2UKKwkgKiBtYXkgbm90IGJlIGFibGUgdG8gY29ycmVjdGx5IGNhc2UtZm9sZCB3aGVuIC1pCisJICogKGlnbm9yZS1jYXNlKSBpcyBhc2tlZCAoaW4gd2hpY2ggY2FzZSwgd2UnbGwgc3ludGhlc2l6ZSBhCisJICogcmVnZXhwIHRvIG1hdGNoIHRoZSBwYXR0ZXJuIHRoYXQgbWF0Y2hlcyByZWdleHAgc3BlY2lhbAorCSAqIGNoYXJhY3RlcnMgbGl0ZXJhbGx5LCB3aGlsZSBpZ25vcmluZyBjYXNlIGRpZmZlcmVuY2VzKS4gIE9uCisJICogdGhlIG90aGVyIGhhbmQsIGV2ZW4gd2l0aG91dCAtRiwgaWYgdGhlIHBhdHRlcm4gZG9lcyBub3QKKwkgKiBoYXZlIGFueSByZWdleHAgc3BlY2lhbCBjaGFyYWN0ZXJzIGFuZCB0aGVyZSBpcyBubyBuZWVkIGZvcgorCSAqIGNhc2UtZm9sZGluZyBzZWFyY2gsIHdlIGNhbiBpbnRlcm5hbGx5IHR1cm4gaXQgaW50byBhCisJICogc2ltcGxlIHN0cmluZyBtYXRjaCB1c2luZyBrd3MuICBwLT5maXhlZCB0ZWxscyB1cyBpZiB3ZQorCSAqIHdhbnQgdG8gdXNlIGt3cy4KKwkgKi8KIAlpZiAob3B0LT5maXhlZCB8fCBpc19maXhlZChwLT5wYXR0ZXJuLCBwLT5wYXR0ZXJubGVuKSkKLQkJcC0+Zml4ZWQgPSAxOworCQlwLT5maXhlZCA9ICFpY2FzZSB8fCBhc2NpaV9vbmx5OwogCWVsc2UKIAkJcC0+Zml4ZWQgPSAwOwogCiAJaWYgKHAtPmZpeGVkKSB7Ci0JCWlmIChvcHQtPnJlZ2ZsYWdzICYgUkVHX0lDQVNFIHx8IHAtPmlnbm9yZV9jYXNlKQotCQkJcC0+a3dzID0ga3dzYWxsb2ModG9sb3dlcl90cmFuc190YmwpOwotCQllbHNlCi0JCQlwLT5rd3MgPSBrd3NhbGxvYyhOVUxMKTsKKwkJcC0+a3dzID0ga3dzYWxsb2MoaWNhc2UgPyB0b2xvd2VyX3RyYW5zX3RibCA6IE5VTEwpOwogCQlrd3NpbmNyKHAtPmt3cywgcC0+cGF0dGVybiwgcC0+cGF0dGVybmxlbik7CiAJCWt3c3ByZXAocC0+a3dzKTsKIAkJcmV0dXJuOworCX0gZWxzZSBpZiAob3B0LT5maXhlZCkgeworCQkvKgorCQkgKiBXZSBjb21lIGhlcmUgd2hlbiB0aGUgcGF0dGVybiBoYXMgdGhlIG5vbi1hc2NpaQorCQkgKiBjaGFyYWN0ZXJzIHdlIGNhbm5vdCBjYXNlLWZvbGQsIGFuZCBhc2tlZCB0bworCQkgKiBpZ25vcmUtY2FzZS4KKwkJICovCisJCWNvbXBpbGVfZml4ZWRfcmVnZXhwKHAsIG9wdCk7CisJCXJldHVybjsKIAl9CiAKIAlpZiAob3B0LT5wY3JlKSB7CkBAIC02NDMsMTAgKzY5MywxMCBAQAogCiAJZm9yIChwID0gb3B0LT5oZWFkZXJfbGlzdDsgcDsgcCA9IHAtPm5leHQpIHsKIAkJaWYgKHAtPnRva2VuICE9IEdSRVBfUEFUVEVSTl9IRUFEKQotCQkJZGllKCJidWc6IGEgbm9uLWhlYWRlciBwYXR0ZXJuIGluIGdyZXAgaGVhZGVyIGxpc3QuIik7CisJCQlkaWUoIkJVRzogYSBub24taGVhZGVyIHBhdHRlcm4gaW4gZ3JlcCBoZWFkZXIgbGlzdC4iKTsKIAkJaWYgKHAtPmZpZWxkIDwgR1JFUF9IRUFERVJfRklFTERfTUlOIHx8CiAJCSAgICBHUkVQX0hFQURFUl9GSUVMRF9NQVggPD0gcC0+ZmllbGQpCi0JCQlkaWUoImJ1ZzogdW5rbm93biBoZWFkZXIgZmllbGQgJWQiLCBwLT5maWVsZCk7CisJCQlkaWUoIkJVRzogdW5rbm93biBoZWFkZXIgZmllbGQgJWQiLCBwLT5maWVsZCk7CiAJCWNvbXBpbGVfcmVnZXhwKHAsIG9wdCk7CiAJfQogCkBAIC02NTksNyArNzA5LDcgQEAKIAogCQloID0gY29tcGlsZV9wYXR0ZXJuX2F0b20oJnBwKTsKIAkJaWYgKCFoIHx8IHBwICE9IHAtPm5leHQpCi0JCQlkaWUoImJ1ZzogbWFsZm9ybWVkIGhlYWRlciBleHByIik7CisJCQlkaWUoIkJVRzogbWFsZm9ybWVkIGhlYWRlciBleHByIik7CiAJCWlmICghaGVhZGVyX2dyb3VwW3AtPmZpZWxkXSkgewogCQkJaGVhZGVyX2dyb3VwW3AtPmZpZWxkXSA9IGg7CiAJCQljb250aW51ZTsKQEAgLTg0OCwxNyArODk4LDYgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbnQgcmVnbWF0Y2goY29uc3QgcmVnZXhfdCAqcHJlZywgY2hhciAqbGluZSwgY2hhciAqZW9sLAotCQkgICAgcmVnbWF0Y2hfdCAqbWF0Y2gsIGludCBlZmxhZ3MpCi17Ci0jaWZkZWYgUkVHX1NUQVJURU5ECi0JbWF0Y2gtPnJtX3NvID0gMDsKLQltYXRjaC0+cm1fZW8gPSBlb2wgLSBsaW5lOwotCWVmbGFncyB8PSBSRUdfU1RBUlRFTkQ7Ci0jZW5kaWYKLQlyZXR1cm4gcmVnZXhlYyhwcmVnLCBsaW5lLCAxLCBtYXRjaCwgZWZsYWdzKTsKLX0KLQogc3RhdGljIGludCBwYXRtYXRjaChzdHJ1Y3QgZ3JlcF9wYXQgKnAsIGNoYXIgKmxpbmUsIGNoYXIgKmVvbCwKIAkJICAgIHJlZ21hdGNoX3QgKm1hdGNoLCBpbnQgZWZsYWdzKQogewpAQCAtODY5LDcgKzkwOCw4IEBACiAJZWxzZSBpZiAocC0+cGNyZV9yZWdleHApCiAJCWhpdCA9ICFwY3JlbWF0Y2gocCwgbGluZSwgZW9sLCBtYXRjaCwgZWZsYWdzKTsKIAllbHNlCi0JCWhpdCA9ICFyZWdtYXRjaCgmcC0+cmVnZXhwLCBsaW5lLCBlb2wsIG1hdGNoLCBlZmxhZ3MpOworCQloaXQgPSAhcmVnZXhlY19idWYoJnAtPnJlZ2V4cCwgbGluZSwgZW9sIC0gbGluZSwgMSwgbWF0Y2gsCisJCQkJICAgZWZsYWdzKTsKIAogCXJldHVybiBoaXQ7CiB9CkBAIC0xMzk2LDkgKzE0MzYsMTcgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBpc19lbXB0eV9saW5lKGNvbnN0IGNoYXIgKmJvbCwgY29uc3QgY2hhciAqZW9sKQoreworCXdoaWxlIChib2wgPCBlb2wgJiYgaXNzcGFjZSgqYm9sKSkKKwkJYm9sKys7CisJcmV0dXJuIGJvbCA9PSBlb2w7Cit9CisKIHN0YXRpYyBpbnQgZ3JlcF9zb3VyY2VfMShzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwgc3RydWN0IGdyZXBfc291cmNlICpncywgaW50IGNvbGxlY3RfaGl0cykKIHsKIAljaGFyICpib2w7CisJY2hhciAqcGVla19ib2wgPSBOVUxMOwogCXVuc2lnbmVkIGxvbmcgbGVmdDsKIAl1bnNpZ25lZCBsbm8gPSAxOwogCXVuc2lnbmVkIGxhc3RfaGl0ID0gMDsKQEAgLTE0NTYsNyArMTUwNCw3IEBACiAJCWNhc2UgR1JFUF9CSU5BUllfVEVYVDoKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgotCQkJZGllKCJidWc6IHVua25vd24gYmluYXJ5IGhhbmRsaW5nIG1vZGUiKTsKKwkJCWRpZSgiQlVHOiB1bmtub3duIGJpbmFyeSBoYW5kbGluZyBtb2RlIik7CiAJCX0KIAl9CiAKQEAgLTE1NDMsOCArMTU5MSwyNCBAQAogCQkJCXNob3dfZnVuY3Rpb24gPSAxOwogCQkJZ290byBuZXh0X2xpbmU7CiAJCX0KLQkJaWYgKHNob3dfZnVuY3Rpb24gJiYgbWF0Y2hfZnVuY25hbWUob3B0LCBncywgYm9sLCBlb2wpKQotCQkJc2hvd19mdW5jdGlvbiA9IDA7CisJCWlmIChzaG93X2Z1bmN0aW9uICYmICghcGVla19ib2wgfHwgcGVla19ib2wgPCBib2wpKSB7CisJCQl1bnNpZ25lZCBsb25nIHBlZWtfbGVmdCA9IGxlZnQ7CisJCQljaGFyICpwZWVrX2VvbCA9IGVvbDsKKworCQkJLyoKKwkJCSAqIFRyYWlsaW5nIGVtcHR5IGxpbmVzIGFyZSBub3QgaW50ZXJlc3RpbmcuCisJCQkgKiBQZWVrIHBhc3QgdGhlbSB0byBzZWUgaWYgdGhleSBiZWxvbmcgdG8gdGhlCisJCQkgKiBib2R5IG9mIHRoZSBjdXJyZW50IGZ1bmN0aW9uLgorCQkJICovCisJCQlwZWVrX2JvbCA9IGJvbDsKKwkJCXdoaWxlIChpc19lbXB0eV9saW5lKHBlZWtfYm9sLCBwZWVrX2VvbCkpIHsKKwkJCQlwZWVrX2JvbCA9IHBlZWtfZW9sICsgMTsKKwkJCQlwZWVrX2VvbCA9IGVuZF9vZl9saW5lKHBlZWtfYm9sLCAmcGVla19sZWZ0KTsKKwkJCX0KKworCQkJaWYgKG1hdGNoX2Z1bmNuYW1lKG9wdCwgZ3MsIHBlZWtfYm9sLCBwZWVrX2VvbCkpCisJCQkJc2hvd19mdW5jdGlvbiA9IDA7CisJCX0KIAkJaWYgKHNob3dfZnVuY3Rpb24gfHwKIAkJICAgIChsYXN0X2hpdCAmJiBsbm8gPD0gbGFzdF9oaXQgKyBvcHQtPnBvc3RfY29udGV4dCkpIHsKIAkJCS8qIElmIHRoZSBsYXN0IGhpdCBpcyB3aXRoaW4gdGhlIHBvc3QgY29udGV4dCwKZGlmZiAtLWdpdCBhL2dyZXAuaCBiL2dyZXAuaAppbmRleCA5NWYxOTdhLi41ODU2YTIzIDEwMDY0NAotLS0gYS9ncmVwLmgKKysrIGIvZ3JlcC5oCkBAIC00OCw2ICs0OCw3IEBACiAJcmVnZXhfdCByZWdleHA7CiAJcGNyZSAqcGNyZV9yZWdleHA7CiAJcGNyZV9leHRyYSAqcGNyZV9leHRyYV9pbmZvOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnBjcmVfdGFibGVzOwogCWt3c2V0X3Qga3dzOwogCXVuc2lnbmVkIGZpeGVkOjE7CiAJdW5zaWduZWQgaWdub3JlX2Nhc2U6MTsKQEAgLTE0NCw3ICsxNDUsNiBAQAogZXh0ZXJuIHZvaWQgaW5pdF9ncmVwX2RlZmF1bHRzKHZvaWQpOwogZXh0ZXJuIGludCBncmVwX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICopOwogZXh0ZXJuIHZvaWQgZ3JlcF9pbml0KHN0cnVjdCBncmVwX29wdCAqLCBjb25zdCBjaGFyICpwcmVmaXgpOwotdm9pZCBncmVwX3NldF9wYXR0ZXJuX3R5cGVfb3B0aW9uKGVudW0gZ3JlcF9wYXR0ZXJuX3R5cGUsIHN0cnVjdCBncmVwX29wdCAqb3B0KTsKIHZvaWQgZ3JlcF9jb21taXRfcGF0dGVybl90eXBlKGVudW0gZ3JlcF9wYXR0ZXJuX3R5cGUsIHN0cnVjdCBncmVwX29wdCAqb3B0KTsKIAogZXh0ZXJuIHZvaWQgYXBwZW5kX2dyZXBfcGF0KHN0cnVjdCBncmVwX29wdCAqb3B0LCBjb25zdCBjaGFyICpwYXQsIHNpemVfdCBwYXRsZW4sIGNvbnN0IGNoYXIgKm9yaWdpbiwgaW50IG5vLCBlbnVtIGdyZXBfcGF0X3Rva2VuIHQpOwpkaWZmIC0tZ2l0IGEvaGVscC5jIGIvaGVscC5jCmluZGV4IDE5MzI4ZWEuLjUzZTJhNjcgMTAwNjQ0Ci0tLSBhL2hlbHAuYworKysgYi9oZWxwLmMKQEAgLTE3MCw4ICsxNzAsNyBAQAogCiAJaWYgKGV4ZWNfcGF0aCkgewogCQlsaXN0X2NvbW1hbmRzX2luX2RpcihtYWluX2NtZHMsIGV4ZWNfcGF0aCwgcHJlZml4KTsKLQkJcXNvcnQobWFpbl9jbWRzLT5uYW1lcywgbWFpbl9jbWRzLT5jbnQsCi0JCSAgICAgIHNpemVvZigqbWFpbl9jbWRzLT5uYW1lcyksIGNtZG5hbWVfY29tcGFyZSk7CisJCVFTT1JUKG1haW5fY21kcy0+bmFtZXMsIG1haW5fY21kcy0+Y250LCBjbWRuYW1lX2NvbXBhcmUpOwogCQl1bmlxKG1haW5fY21kcyk7CiAJfQogCkBAIC0xOTAsOCArMTg5LDcgQEAKIAkJfQogCQlmcmVlKHBhdGhzKTsKIAotCQlxc29ydChvdGhlcl9jbWRzLT5uYW1lcywgb3RoZXJfY21kcy0+Y250LAotCQkgICAgICBzaXplb2YoKm90aGVyX2NtZHMtPm5hbWVzKSwgY21kbmFtZV9jb21wYXJlKTsKKwkJUVNPUlQob3RoZXJfY21kcy0+bmFtZXMsIG90aGVyX2NtZHMtPmNudCwgY21kbmFtZV9jb21wYXJlKTsKIAkJdW5pcShvdGhlcl9jbWRzKTsKIAl9CiAJZXhjbHVkZV9jbWRzKG90aGVyX2NtZHMsIG1haW5fY21kcyk7CkBAIC0yMzgsOCArMjM2LDcgQEAKIAkJCWxvbmdlc3QgPSBzdHJsZW4oY29tbW9uX2NtZHNbaV0ubmFtZSk7CiAJfQogCi0JcXNvcnQoY29tbW9uX2NtZHMsIEFSUkFZX1NJWkUoY29tbW9uX2NtZHMpLAotCQlzaXplb2YoY29tbW9uX2NtZHNbMF0pLCBjbWRfZ3JvdXBfY21wKTsKKwlRU09SVChjb21tb25fY21kcywgQVJSQVlfU0laRShjb21tb25fY21kcyksIGNtZF9ncm91cF9jbXApOwogCiAJcHV0cyhfKCJUaGVzZSBhcmUgY29tbW9uIEdpdCBjb21tYW5kcyB1c2VkIGluIHZhcmlvdXMgc2l0dWF0aW9uczoiKSk7CiAKQEAgLTMyNCw4ICszMjEsNyBAQAogCiAJYWRkX2NtZF9saXN0KCZtYWluX2NtZHMsICZhbGlhc2VzKTsKIAlhZGRfY21kX2xpc3QoJm1haW5fY21kcywgJm90aGVyX2NtZHMpOwotCXFzb3J0KG1haW5fY21kcy5uYW1lcywgbWFpbl9jbWRzLmNudCwKLQkgICAgICBzaXplb2YoKm1haW5fY21kcy5uYW1lcyksIGNtZG5hbWVfY29tcGFyZSk7CisJUVNPUlQobWFpbl9jbWRzLm5hbWVzLCBtYWluX2NtZHMuY250LCBjbWRuYW1lX2NvbXBhcmUpOwogCXVuaXEoJm1haW5fY21kcyk7CiAKIAkvKiBUaGlzIGFidXNlcyBjbWRuYW1lLT5sZW4gZm9yIGxldmVuc2h0ZWluIGRpc3RhbmNlICovCkBAIC0zNTksOCArMzU1LDcgQEAKIAkJCWxldmVuc2h0ZWluKGNtZCwgY2FuZGlkYXRlLCAwLCAyLCAxLCAzKSArIDE7CiAJfQogCi0JcXNvcnQobWFpbl9jbWRzLm5hbWVzLCBtYWluX2NtZHMuY250LAotCSAgICAgIHNpemVvZigqbWFpbl9jbWRzLm5hbWVzKSwgbGV2ZW5zaHRlaW5fY29tcGFyZSk7CisJUVNPUlQobWFpbl9jbWRzLm5hbWVzLCBtYWluX2NtZHMuY250LCBsZXZlbnNodGVpbl9jb21wYXJlKTsKIAogCWlmICghbWFpbl9jbWRzLmNudCkKIAkJZGllKF8oIlVoIG9oLiBZb3VyIHN5c3RlbSByZXBvcnRzIG5vIEdpdCBjb21tYW5kcyBhdCBhbGwuIikpOwpAQCAtNDE5LDYgKzQxNCwxMiBAQAogCSAqIHdpdGggZXh0ZXJuYWwgcHJvamVjdHMgdGhhdCByZWx5IG9uIHRoZSBvdXRwdXQgb2YgImdpdCB2ZXJzaW9uIi4KIAkgKi8KIAlwcmludGYoImdpdCB2ZXJzaW9uICVzXG4iLCBnaXRfdmVyc2lvbl9zdHJpbmcpOworCXdoaWxlICgqKythcmd2KSB7CisJCWlmICghc3RyY21wKCphcmd2LCAiLS1idWlsZC1vcHRpb25zIikpIHsKKwkJCXByaW50Zigic2l6ZW9mLWxvbmc6ICVkXG4iLCAoaW50KXNpemVvZihsb25nKSk7CisJCQkvKiBORUVEU1dPUks6IGFsc28gc2F2ZSBhbmQgb3V0cHV0IEdJVC1CVUlMRF9PUFRJT05TPyAqLworCQl9CisJfQogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9oZXguYyBiL2hleC5jCmluZGV4IDA1MTlmODUuLjg0NWIwMWEgMTAwNjQ0Ci0tLSBhL2hleC5jCisrKyBiL2hleC5jCkBAIC0zOSwxNiArMzksOCBAQAogewogCWludCBpOwogCWZvciAoaSA9IDA7IGkgPCBHSVRfU0hBMV9SQVdTWjsgaSsrKSB7Ci0JCXVuc2lnbmVkIGludCB2YWw7Ci0JCS8qCi0JCSAqIGhleFsxXT09J1wwJyBpcyBjYXVnaHQgd2hlbiB2YWwgaXMgY2hlY2tlZCBiZWxvdywKLQkJICogYnV0IGlmIGhleFswXSBpcyBOVUwgd2UgaGF2ZSB0byBhdm9pZCByZWFkaW5nCi0JCSAqIHBhc3QgdGhlIGVuZCBvZiB0aGUgc3RyaW5nOgotCQkgKi8KLQkJaWYgKCFoZXhbMF0pCi0JCQlyZXR1cm4gLTE7Ci0JCXZhbCA9IChoZXh2YWwoaGV4WzBdKSA8PCA0KSB8IGhleHZhbChoZXhbMV0pOwotCQlpZiAodmFsICYgfjB4ZmYpCisJCWludCB2YWwgPSBoZXgyY2hyKGhleCk7CisJCWlmICh2YWwgPCAwKQogCQkJcmV0dXJuIC0xOwogCQkqc2hhMSsrID0gdmFsOwogCQloZXggKz0gMjsKQEAgLTc3LDExICs2OSwxNyBAQAogCXJldHVybiBidWZmZXI7CiB9CiAKK2NoYXIgKm9pZF90b19oZXhfcihjaGFyICpidWZmZXIsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKK3sKKwlyZXR1cm4gc2hhMV90b19oZXhfcihidWZmZXIsIG9pZC0+aGFzaCk7Cit9CisKIGNoYXIgKnNoYTFfdG9faGV4KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCiB7CiAJc3RhdGljIGludCBidWZubzsKIAlzdGF0aWMgY2hhciBoZXhidWZmZXJbNF1bR0lUX1NIQTFfSEVYU1ogKyAxXTsKLQlyZXR1cm4gc2hhMV90b19oZXhfcihoZXhidWZmZXJbMyAmICsrYnVmbm9dLCBzaGExKTsKKwlidWZubyA9IChidWZubyArIDEpICUgQVJSQVlfU0laRShoZXhidWZmZXIpOworCXJldHVybiBzaGExX3RvX2hleF9yKGhleGJ1ZmZlcltidWZub10sIHNoYTEpOwogfQogCiBjaGFyICpvaWRfdG9faGV4KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKZGlmZiAtLWdpdCBhL2h0dHAtYmFja2VuZC5jIGIvaHR0cC1iYWNrZW5kLmMKaW5kZXggMGQ1OTQ5OS4uZWVmMGEzNiAxMDA2NDQKLS0tIGEvaHR0cC1iYWNrZW5kLmMKKysrIGIvaHR0cC1iYWNrZW5kLmMKQEAgLTc1LDU1ICs3NSw1NyBAQAogCXdyaXRlX29yX2RpZShmZCwgYnVmZmVyLCBuKTsKIH0KIAotc3RhdGljIHZvaWQgaHR0cF9zdGF0dXModW5zaWduZWQgY29kZSwgY29uc3QgY2hhciAqbXNnKQorc3RhdGljIHZvaWQgaHR0cF9zdGF0dXMoc3RydWN0IHN0cmJ1ZiAqaGRyLCB1bnNpZ25lZCBjb2RlLCBjb25zdCBjaGFyICptc2cpCiB7Ci0JZm9ybWF0X3dyaXRlKDEsICJTdGF0dXM6ICV1ICVzXHJcbiIsIGNvZGUsIG1zZyk7CisJc3RyYnVmX2FkZGYoaGRyLCAiU3RhdHVzOiAldSAlc1xyXG4iLCBjb2RlLCBtc2cpOwogfQogCi1zdGF0aWMgdm9pZCBoZHJfc3RyKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQorc3RhdGljIHZvaWQgaGRyX3N0cihzdHJ1Y3Qgc3RyYnVmICpoZHIsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQogewotCWZvcm1hdF93cml0ZSgxLCAiJXM6ICVzXHJcbiIsIG5hbWUsIHZhbHVlKTsKKwlzdHJidWZfYWRkZihoZHIsICIlczogJXNcclxuIiwgbmFtZSwgdmFsdWUpOwogfQogCi1zdGF0aWMgdm9pZCBoZHJfaW50KGNvbnN0IGNoYXIgKm5hbWUsIHVpbnRtYXhfdCB2YWx1ZSkKK3N0YXRpYyB2b2lkIGhkcl9pbnQoc3RydWN0IHN0cmJ1ZiAqaGRyLCBjb25zdCBjaGFyICpuYW1lLCB1aW50bWF4X3QgdmFsdWUpCiB7Ci0JZm9ybWF0X3dyaXRlKDEsICIlczogJSIgUFJJdU1BWCAiXHJcbiIsIG5hbWUsIHZhbHVlKTsKKwlzdHJidWZfYWRkZihoZHIsICIlczogJSIgUFJJdU1BWCAiXHJcbiIsIG5hbWUsIHZhbHVlKTsKIH0KIAotc3RhdGljIHZvaWQgaGRyX2RhdGUoY29uc3QgY2hhciAqbmFtZSwgdW5zaWduZWQgbG9uZyB3aGVuKQorc3RhdGljIHZvaWQgaGRyX2RhdGUoc3RydWN0IHN0cmJ1ZiAqaGRyLCBjb25zdCBjaGFyICpuYW1lLCB1bnNpZ25lZCBsb25nIHdoZW4pCiB7CiAJY29uc3QgY2hhciAqdmFsdWUgPSBzaG93X2RhdGUod2hlbiwgMCwgREFURV9NT0RFKFJGQzI4MjIpKTsKLQloZHJfc3RyKG5hbWUsIHZhbHVlKTsKKwloZHJfc3RyKGhkciwgbmFtZSwgdmFsdWUpOwogfQogCi1zdGF0aWMgdm9pZCBoZHJfbm9jYWNoZSh2b2lkKQorc3RhdGljIHZvaWQgaGRyX25vY2FjaGUoc3RydWN0IHN0cmJ1ZiAqaGRyKQogewotCWhkcl9zdHIoIkV4cGlyZXMiLCAiRnJpLCAwMSBKYW4gMTk4MCAwMDowMDowMCBHTVQiKTsKLQloZHJfc3RyKCJQcmFnbWEiLCAibm8tY2FjaGUiKTsKLQloZHJfc3RyKCJDYWNoZS1Db250cm9sIiwgIm5vLWNhY2hlLCBtYXgtYWdlPTAsIG11c3QtcmV2YWxpZGF0ZSIpOworCWhkcl9zdHIoaGRyLCAiRXhwaXJlcyIsICJGcmksIDAxIEphbiAxOTgwIDAwOjAwOjAwIEdNVCIpOworCWhkcl9zdHIoaGRyLCAiUHJhZ21hIiwgIm5vLWNhY2hlIik7CisJaGRyX3N0cihoZHIsICJDYWNoZS1Db250cm9sIiwgIm5vLWNhY2hlLCBtYXgtYWdlPTAsIG11c3QtcmV2YWxpZGF0ZSIpOwogfQogCi1zdGF0aWMgdm9pZCBoZHJfY2FjaGVfZm9yZXZlcih2b2lkKQorc3RhdGljIHZvaWQgaGRyX2NhY2hlX2ZvcmV2ZXIoc3RydWN0IHN0cmJ1ZiAqaGRyKQogewogCXVuc2lnbmVkIGxvbmcgbm93ID0gdGltZShOVUxMKTsKLQloZHJfZGF0ZSgiRGF0ZSIsIG5vdyk7Ci0JaGRyX2RhdGUoIkV4cGlyZXMiLCBub3cgKyAzMTUzNjAwMCk7Ci0JaGRyX3N0cigiQ2FjaGUtQ29udHJvbCIsICJwdWJsaWMsIG1heC1hZ2U9MzE1MzYwMDAiKTsKKwloZHJfZGF0ZShoZHIsICJEYXRlIiwgbm93KTsKKwloZHJfZGF0ZShoZHIsICJFeHBpcmVzIiwgbm93ICsgMzE1MzYwMDApOworCWhkcl9zdHIoaGRyLCAiQ2FjaGUtQ29udHJvbCIsICJwdWJsaWMsIG1heC1hZ2U9MzE1MzYwMDAiKTsKIH0KIAotc3RhdGljIHZvaWQgZW5kX2hlYWRlcnModm9pZCkKK3N0YXRpYyB2b2lkIGVuZF9oZWFkZXJzKHN0cnVjdCBzdHJidWYgKmhkcikKIHsKLQl3cml0ZV9vcl9kaWUoMSwgIlxyXG4iLCAyKTsKKwlzdHJidWZfYWRkKGhkciwgIlxyXG4iLCAyKTsKKwl3cml0ZV9vcl9kaWUoMSwgaGRyLT5idWYsIGhkci0+bGVuKTsKKwlzdHJidWZfcmVsZWFzZShoZHIpOwogfQogCi1fX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKQotc3RhdGljIE5PUkVUVVJOIHZvaWQgbm90X2ZvdW5kKGNvbnN0IGNoYXIgKmVyciwgLi4uKQorX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSkKK3N0YXRpYyBOT1JFVFVSTiB2b2lkIG5vdF9mb3VuZChzdHJ1Y3Qgc3RyYnVmICpoZHIsIGNvbnN0IGNoYXIgKmVyciwgLi4uKQogewogCXZhX2xpc3QgcGFyYW1zOwogCi0JaHR0cF9zdGF0dXMoNDA0LCAiTm90IEZvdW5kIik7Ci0JaGRyX25vY2FjaGUoKTsKLQllbmRfaGVhZGVycygpOworCWh0dHBfc3RhdHVzKGhkciwgNDA0LCAiTm90IEZvdW5kIik7CisJaGRyX25vY2FjaGUoaGRyKTsKKwllbmRfaGVhZGVycyhoZHIpOwogCiAJdmFfc3RhcnQocGFyYW1zLCBlcnIpOwogCWlmIChlcnIgJiYgKmVycikKQEAgLTEzMiwxNCArMTM0LDE0IEBACiAJZXhpdCgwKTsKIH0KIAotX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSkKLXN0YXRpYyBOT1JFVFVSTiB2b2lkIGZvcmJpZGRlbihjb25zdCBjaGFyICplcnIsIC4uLikKK19fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAyLCAzKSkpCitzdGF0aWMgTk9SRVRVUk4gdm9pZCBmb3JiaWRkZW4oc3RydWN0IHN0cmJ1ZiAqaGRyLCBjb25zdCBjaGFyICplcnIsIC4uLikKIHsKIAl2YV9saXN0IHBhcmFtczsKIAotCWh0dHBfc3RhdHVzKDQwMywgIkZvcmJpZGRlbiIpOwotCWhkcl9ub2NhY2hlKCk7Ci0JZW5kX2hlYWRlcnMoKTsKKwlodHRwX3N0YXR1cyhoZHIsIDQwMywgIkZvcmJpZGRlbiIpOworCWhkcl9ub2NhY2hlKGhkcik7CisJZW5kX2hlYWRlcnMoaGRyKTsKIAogCXZhX3N0YXJ0KHBhcmFtcywgZXJyKTsKIAlpZiAoZXJyICYmICplcnIpCkBAIC0xNDgsMjEgKzE1MCwyMyBAQAogCWV4aXQoMCk7CiB9CiAKLXN0YXRpYyB2b2lkIHNlbGVjdF9nZXRhbnlmaWxlKHZvaWQpCitzdGF0aWMgdm9pZCBzZWxlY3RfZ2V0YW55ZmlsZShzdHJ1Y3Qgc3RyYnVmICpoZHIpCiB7CiAJaWYgKCFnZXRhbnlmaWxlKQotCQlmb3JiaWRkZW4oIlVuc3VwcG9ydGVkIHNlcnZpY2U6IGdldGFueWZpbGUiKTsKKwkJZm9yYmlkZGVuKGhkciwgIlVuc3VwcG9ydGVkIHNlcnZpY2U6IGdldGFueWZpbGUiKTsKIH0KIAotc3RhdGljIHZvaWQgc2VuZF9zdHJidWYoY29uc3QgY2hhciAqdHlwZSwgc3RydWN0IHN0cmJ1ZiAqYnVmKQorc3RhdGljIHZvaWQgc2VuZF9zdHJidWYoc3RydWN0IHN0cmJ1ZiAqaGRyLAorCQkJY29uc3QgY2hhciAqdHlwZSwgc3RydWN0IHN0cmJ1ZiAqYnVmKQogewotCWhkcl9pbnQoY29udGVudF9sZW5ndGgsIGJ1Zi0+bGVuKTsKLQloZHJfc3RyKGNvbnRlbnRfdHlwZSwgdHlwZSk7Ci0JZW5kX2hlYWRlcnMoKTsKKwloZHJfaW50KGhkciwgY29udGVudF9sZW5ndGgsIGJ1Zi0+bGVuKTsKKwloZHJfc3RyKGhkciwgY29udGVudF90eXBlLCB0eXBlKTsKKwllbmRfaGVhZGVycyhoZHIpOwogCXdyaXRlX29yX2RpZSgxLCBidWYtPmJ1ZiwgYnVmLT5sZW4pOwogfQogCi1zdGF0aWMgdm9pZCBzZW5kX2xvY2FsX2ZpbGUoY29uc3QgY2hhciAqdGhlX3R5cGUsIGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgdm9pZCBzZW5kX2xvY2FsX2ZpbGUoc3RydWN0IHN0cmJ1ZiAqaGRyLCBjb25zdCBjaGFyICp0aGVfdHlwZSwKKwkJCQljb25zdCBjaGFyICpuYW1lKQogewogCWNoYXIgKnAgPSBnaXRfcGF0aGR1cCgiJXMiLCBuYW1lKTsKIAlzaXplX3QgYnVmX2FsbG9jID0gODE5MjsKQEAgLTE3MiwxNCArMTc2LDE0IEBACiAKIAlmZCA9IG9wZW4ocCwgT19SRE9OTFkpOwogCWlmIChmZCA8IDApCi0JCW5vdF9mb3VuZCgiQ2Fubm90IG9wZW4gJyVzJzogJXMiLCBwLCBzdHJlcnJvcihlcnJubykpOworCQlub3RfZm91bmQoaGRyLCAiQ2Fubm90IG9wZW4gJyVzJzogJXMiLCBwLCBzdHJlcnJvcihlcnJubykpOwogCWlmIChmc3RhdChmZCwgJnNiKSA8IDApCiAJCWRpZV9lcnJubygiQ2Fubm90IHN0YXQgJyVzJyIsIHApOwogCi0JaGRyX2ludChjb250ZW50X2xlbmd0aCwgc2Iuc3Rfc2l6ZSk7Ci0JaGRyX3N0cihjb250ZW50X3R5cGUsIHRoZV90eXBlKTsKLQloZHJfZGF0ZShsYXN0X21vZGlmaWVkLCBzYi5zdF9tdGltZSk7Ci0JZW5kX2hlYWRlcnMoKTsKKwloZHJfaW50KGhkciwgY29udGVudF9sZW5ndGgsIHNiLnN0X3NpemUpOworCWhkcl9zdHIoaGRyLCBjb250ZW50X3R5cGUsIHRoZV90eXBlKTsKKwloZHJfZGF0ZShoZHIsIGxhc3RfbW9kaWZpZWQsIHNiLnN0X210aW1lKTsKKwllbmRfaGVhZGVycyhoZHIpOwogCiAJZm9yICg7OykgewogCQlzc2l6ZV90IG4gPSB4cmVhZChmZCwgYnVmLCBidWZfYWxsb2MpOwpAQCAtMTk0LDMyICsxOTgsMzIgQEAKIAlmcmVlKHApOwogfQogCi1zdGF0aWMgdm9pZCBnZXRfdGV4dF9maWxlKGNoYXIgKm5hbWUpCitzdGF0aWMgdm9pZCBnZXRfdGV4dF9maWxlKHN0cnVjdCBzdHJidWYgKmhkciwgY2hhciAqbmFtZSkKIHsKLQlzZWxlY3RfZ2V0YW55ZmlsZSgpOwotCWhkcl9ub2NhY2hlKCk7Ci0Jc2VuZF9sb2NhbF9maWxlKCJ0ZXh0L3BsYWluIiwgbmFtZSk7CisJc2VsZWN0X2dldGFueWZpbGUoaGRyKTsKKwloZHJfbm9jYWNoZShoZHIpOworCXNlbmRfbG9jYWxfZmlsZShoZHIsICJ0ZXh0L3BsYWluIiwgbmFtZSk7CiB9CiAKLXN0YXRpYyB2b2lkIGdldF9sb29zZV9vYmplY3QoY2hhciAqbmFtZSkKK3N0YXRpYyB2b2lkIGdldF9sb29zZV9vYmplY3Qoc3RydWN0IHN0cmJ1ZiAqaGRyLCBjaGFyICpuYW1lKQogewotCXNlbGVjdF9nZXRhbnlmaWxlKCk7Ci0JaGRyX2NhY2hlX2ZvcmV2ZXIoKTsKLQlzZW5kX2xvY2FsX2ZpbGUoImFwcGxpY2F0aW9uL3gtZ2l0LWxvb3NlLW9iamVjdCIsIG5hbWUpOworCXNlbGVjdF9nZXRhbnlmaWxlKGhkcik7CisJaGRyX2NhY2hlX2ZvcmV2ZXIoaGRyKTsKKwlzZW5kX2xvY2FsX2ZpbGUoaGRyLCAiYXBwbGljYXRpb24veC1naXQtbG9vc2Utb2JqZWN0IiwgbmFtZSk7CiB9CiAKLXN0YXRpYyB2b2lkIGdldF9wYWNrX2ZpbGUoY2hhciAqbmFtZSkKK3N0YXRpYyB2b2lkIGdldF9wYWNrX2ZpbGUoc3RydWN0IHN0cmJ1ZiAqaGRyLCBjaGFyICpuYW1lKQogewotCXNlbGVjdF9nZXRhbnlmaWxlKCk7Ci0JaGRyX2NhY2hlX2ZvcmV2ZXIoKTsKLQlzZW5kX2xvY2FsX2ZpbGUoImFwcGxpY2F0aW9uL3gtZ2l0LXBhY2tlZC1vYmplY3RzIiwgbmFtZSk7CisJc2VsZWN0X2dldGFueWZpbGUoaGRyKTsKKwloZHJfY2FjaGVfZm9yZXZlcihoZHIpOworCXNlbmRfbG9jYWxfZmlsZShoZHIsICJhcHBsaWNhdGlvbi94LWdpdC1wYWNrZWQtb2JqZWN0cyIsIG5hbWUpOwogfQogCi1zdGF0aWMgdm9pZCBnZXRfaWR4X2ZpbGUoY2hhciAqbmFtZSkKK3N0YXRpYyB2b2lkIGdldF9pZHhfZmlsZShzdHJ1Y3Qgc3RyYnVmICpoZHIsIGNoYXIgKm5hbWUpCiB7Ci0Jc2VsZWN0X2dldGFueWZpbGUoKTsKLQloZHJfY2FjaGVfZm9yZXZlcigpOwotCXNlbmRfbG9jYWxfZmlsZSgiYXBwbGljYXRpb24veC1naXQtcGFja2VkLW9iamVjdHMtdG9jIiwgbmFtZSk7CisJc2VsZWN0X2dldGFueWZpbGUoaGRyKTsKKwloZHJfY2FjaGVfZm9yZXZlcihoZHIpOworCXNlbmRfbG9jYWxfZmlsZShoZHIsICJhcHBsaWNhdGlvbi94LWdpdC1wYWNrZWQtb2JqZWN0cy10b2MiLCBuYW1lKTsKIH0KIAogc3RhdGljIHZvaWQgaHR0cF9jb25maWcodm9pZCkKQEAgLTI0MSwxNCArMjQ1LDE0IEBACiAJc3RyYnVmX3JlbGVhc2UoJnZhcik7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgcnBjX3NlcnZpY2UgKnNlbGVjdF9zZXJ2aWNlKGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgc3RydWN0IHJwY19zZXJ2aWNlICpzZWxlY3Rfc2VydmljZShzdHJ1Y3Qgc3RyYnVmICpoZHIsIGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAJY29uc3QgY2hhciAqc3ZjX25hbWU7CiAJc3RydWN0IHJwY19zZXJ2aWNlICpzdmMgPSBOVUxMOwogCWludCBpOwogCiAJaWYgKCFza2lwX3ByZWZpeChuYW1lLCAiZ2l0LSIsICZzdmNfbmFtZSkpCi0JCWZvcmJpZGRlbigiVW5zdXBwb3J0ZWQgc2VydmljZTogJyVzJyIsIG5hbWUpOworCQlmb3JiaWRkZW4oaGRyLCAiVW5zdXBwb3J0ZWQgc2VydmljZTogJyVzJyIsIG5hbWUpOwogCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocnBjX3NlcnZpY2UpOyBpKyspIHsKIAkJc3RydWN0IHJwY19zZXJ2aWNlICpzID0gJnJwY19zZXJ2aWNlW2ldOwpAQCAtMjU5LDE0ICsyNjMsMTQgQEAKIAl9CiAKIAlpZiAoIXN2YykKLQkJZm9yYmlkZGVuKCJVbnN1cHBvcnRlZCBzZXJ2aWNlOiAnJXMnIiwgbmFtZSk7CisJCWZvcmJpZGRlbihoZHIsICJVbnN1cHBvcnRlZCBzZXJ2aWNlOiAnJXMnIiwgbmFtZSk7CiAKIAlpZiAoc3ZjLT5lbmFibGVkIDwgMCkgewogCQljb25zdCBjaGFyICp1c2VyID0gZ2V0ZW52KCJSRU1PVEVfVVNFUiIpOwogCQlzdmMtPmVuYWJsZWQgPSAodXNlciAmJiAqdXNlcikgPyAxIDogMDsKIAl9CiAJaWYgKCFzdmMtPmVuYWJsZWQpCi0JCWZvcmJpZGRlbigiU2VydmljZSBub3QgZW5hYmxlZDogJyVzJyIsIHN2Yy0+bmFtZSk7CisJCWZvcmJpZGRlbihoZHIsICJTZXJ2aWNlIG5vdCBlbmFibGVkOiAnJXMnIiwgc3ZjLT5uYW1lKTsKIAlyZXR1cm4gc3ZjOwogfQogCkBAIC00NDIsMzQgKzQ0NiwzNCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBnZXRfaW5mb19yZWZzKGNoYXIgKmFyZykKK3N0YXRpYyB2b2lkIGdldF9pbmZvX3JlZnMoc3RydWN0IHN0cmJ1ZiAqaGRyLCBjaGFyICphcmcpCiB7CiAJY29uc3QgY2hhciAqc2VydmljZV9uYW1lID0gZ2V0X3BhcmFtZXRlcigic2VydmljZSIpOwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAKLQloZHJfbm9jYWNoZSgpOworCWhkcl9ub2NhY2hlKGhkcik7CiAKIAlpZiAoc2VydmljZV9uYW1lKSB7CiAJCWNvbnN0IGNoYXIgKmFyZ3ZbXSA9IHtOVUxMIC8qIHNlcnZpY2UgbmFtZSAqLywKIAkJCSItLXN0YXRlbGVzcy1ycGMiLCAiLS1hZHZlcnRpc2UtcmVmcyIsCiAJCQkiLiIsIE5VTEx9OwotCQlzdHJ1Y3QgcnBjX3NlcnZpY2UgKnN2YyA9IHNlbGVjdF9zZXJ2aWNlKHNlcnZpY2VfbmFtZSk7CisJCXN0cnVjdCBycGNfc2VydmljZSAqc3ZjID0gc2VsZWN0X3NlcnZpY2UoaGRyLCBzZXJ2aWNlX25hbWUpOwogCiAJCXN0cmJ1Zl9hZGRmKCZidWYsICJhcHBsaWNhdGlvbi94LWdpdC0lcy1hZHZlcnRpc2VtZW50IiwKIAkJCXN2Yy0+bmFtZSk7Ci0JCWhkcl9zdHIoY29udGVudF90eXBlLCBidWYuYnVmKTsKLQkJZW5kX2hlYWRlcnMoKTsKKwkJaGRyX3N0cihoZHIsIGNvbnRlbnRfdHlwZSwgYnVmLmJ1Zik7CisJCWVuZF9oZWFkZXJzKGhkcik7CiAKLQkJcGFja2V0X3dyaXRlKDEsICIjIHNlcnZpY2U9Z2l0LSVzXG4iLCBzdmMtPm5hbWUpOworCQlwYWNrZXRfd3JpdGVfZm10KDEsICIjIHNlcnZpY2U9Z2l0LSVzXG4iLCBzdmMtPm5hbWUpOwogCQlwYWNrZXRfZmx1c2goMSk7CiAKIAkJYXJndlswXSA9IHN2Yy0+bmFtZTsKIAkJcnVuX3NlcnZpY2UoYXJndiwgMCk7CiAKIAl9IGVsc2UgewotCQlzZWxlY3RfZ2V0YW55ZmlsZSgpOworCQlzZWxlY3RfZ2V0YW55ZmlsZShoZHIpOwogCQlmb3JfZWFjaF9uYW1lc3BhY2VkX3JlZihzaG93X3RleHRfcmVmLCAmYnVmKTsKLQkJc2VuZF9zdHJidWYoInRleHQvcGxhaW4iLCAmYnVmKTsKKwkJc2VuZF9zdHJidWYoaGRyLCAidGV4dC9wbGFpbiIsICZidWYpOwogCX0KIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIH0KQEAgLTQ5NCwyNCArNDk4LDI0IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGdldF9oZWFkKGNoYXIgKmFyZykKK3N0YXRpYyB2b2lkIGdldF9oZWFkKHN0cnVjdCBzdHJidWYgKmhkciwgY2hhciAqYXJnKQogewogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAKLQlzZWxlY3RfZ2V0YW55ZmlsZSgpOworCXNlbGVjdF9nZXRhbnlmaWxlKGhkcik7CiAJaGVhZF9yZWZfbmFtZXNwYWNlZChzaG93X2hlYWRfcmVmLCAmYnVmKTsKLQlzZW5kX3N0cmJ1ZigidGV4dC9wbGFpbiIsICZidWYpOworCXNlbmRfc3RyYnVmKGhkciwgInRleHQvcGxhaW4iLCAmYnVmKTsKIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIH0KIAotc3RhdGljIHZvaWQgZ2V0X2luZm9fcGFja3MoY2hhciAqYXJnKQorc3RhdGljIHZvaWQgZ2V0X2luZm9fcGFja3Moc3RydWN0IHN0cmJ1ZiAqaGRyLCBjaGFyICphcmcpCiB7CiAJc2l6ZV90IG9iamRpcmxlbiA9IHN0cmxlbihnZXRfb2JqZWN0X2RpcmVjdG9yeSgpKTsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOwogCXNpemVfdCBjbnQgPSAwOwogCi0Jc2VsZWN0X2dldGFueWZpbGUoKTsKKwlzZWxlY3RfZ2V0YW55ZmlsZShoZHIpOwogCXByZXBhcmVfcGFja2VkX2dpdCgpOwogCWZvciAocCA9IHBhY2tlZF9naXQ7IHA7IHAgPSBwLT5uZXh0KSB7CiAJCWlmIChwLT5wYWNrX2xvY2FsKQpAQCAtNTI1LDEyICs1MjksMTIgQEAKIAl9CiAJc3RyYnVmX2FkZGNoKCZidWYsICdcbicpOwogCi0JaGRyX25vY2FjaGUoKTsKLQlzZW5kX3N0cmJ1ZigidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsICZidWYpOworCWhkcl9ub2NhY2hlKGhkcik7CisJc2VuZF9zdHJidWYoaGRyLCAidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsICZidWYpOwogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogfQogCi1zdGF0aWMgdm9pZCBjaGVja19jb250ZW50X3R5cGUoY29uc3QgY2hhciAqYWNjZXB0ZWRfdHlwZSkKK3N0YXRpYyB2b2lkIGNoZWNrX2NvbnRlbnRfdHlwZShzdHJ1Y3Qgc3RyYnVmICpoZHIsIGNvbnN0IGNoYXIgKmFjY2VwdGVkX3R5cGUpCiB7CiAJY29uc3QgY2hhciAqYWN0dWFsX3R5cGUgPSBnZXRlbnYoIkNPTlRFTlRfVFlQRSIpOwogCkBAIC01MzgsOSArNTQyLDkgQEAKIAkJYWN0dWFsX3R5cGUgPSAiIjsKIAogCWlmIChzdHJjbXAoYWN0dWFsX3R5cGUsIGFjY2VwdGVkX3R5cGUpKSB7Ci0JCWh0dHBfc3RhdHVzKDQxNSwgIlVuc3VwcG9ydGVkIE1lZGlhIFR5cGUiKTsKLQkJaGRyX25vY2FjaGUoKTsKLQkJZW5kX2hlYWRlcnMoKTsKKwkJaHR0cF9zdGF0dXMoaGRyLCA0MTUsICJVbnN1cHBvcnRlZCBNZWRpYSBUeXBlIik7CisJCWhkcl9ub2NhY2hlKGhkcik7CisJCWVuZF9oZWFkZXJzKGhkcik7CiAJCWZvcm1hdF93cml0ZSgxLAogCQkJIkV4cGVjdGVkIFBPU1Qgd2l0aCBDb250ZW50LVR5cGUgJyVzJywiCiAJCQkiIGJ1dCByZWNlaXZlZCAnJXMnIGluc3RlYWQuXG4iLApAQCAtNTQ5LDIzICs1NTMsMjMgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIHNlcnZpY2VfcnBjKGNoYXIgKnNlcnZpY2VfbmFtZSkKK3N0YXRpYyB2b2lkIHNlcnZpY2VfcnBjKHN0cnVjdCBzdHJidWYgKmhkciwgY2hhciAqc2VydmljZV9uYW1lKQogewogCWNvbnN0IGNoYXIgKmFyZ3ZbXSA9IHtOVUxMLCAiLS1zdGF0ZWxlc3MtcnBjIiwgIi4iLCBOVUxMfTsKLQlzdHJ1Y3QgcnBjX3NlcnZpY2UgKnN2YyA9IHNlbGVjdF9zZXJ2aWNlKHNlcnZpY2VfbmFtZSk7CisJc3RydWN0IHJwY19zZXJ2aWNlICpzdmMgPSBzZWxlY3Rfc2VydmljZShoZHIsIHNlcnZpY2VfbmFtZSk7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAogCXN0cmJ1Zl9yZXNldCgmYnVmKTsKIAlzdHJidWZfYWRkZigmYnVmLCAiYXBwbGljYXRpb24veC1naXQtJXMtcmVxdWVzdCIsIHN2Yy0+bmFtZSk7Ci0JY2hlY2tfY29udGVudF90eXBlKGJ1Zi5idWYpOworCWNoZWNrX2NvbnRlbnRfdHlwZShoZHIsIGJ1Zi5idWYpOwogCi0JaGRyX25vY2FjaGUoKTsKKwloZHJfbm9jYWNoZShoZHIpOwogCiAJc3RyYnVmX3Jlc2V0KCZidWYpOwogCXN0cmJ1Zl9hZGRmKCZidWYsICJhcHBsaWNhdGlvbi94LWdpdC0lcy1yZXN1bHQiLCBzdmMtPm5hbWUpOwotCWhkcl9zdHIoY29udGVudF90eXBlLCBidWYuYnVmKTsKKwloZHJfc3RyKGhkciwgY29udGVudF90eXBlLCBidWYuYnVmKTsKIAotCWVuZF9oZWFkZXJzKCk7CisJZW5kX2hlYWRlcnMoaGRyKTsKIAogCWFyZ3ZbMF0gPSBzdmMtPm5hbWU7CiAJcnVuX3NlcnZpY2UoYXJndiwgc3ZjLT5idWZmZXJfaW5wdXQpOwpAQCAtNTc2LDExICs1ODAsMTMgQEAKIHN0YXRpYyBOT1JFVFVSTiB2b2lkIGRpZV93ZWJjZ2koY29uc3QgY2hhciAqZXJyLCB2YV9saXN0IHBhcmFtcykKIHsKIAlpZiAoZGVhZCA8PSAxKSB7CisJCXN0cnVjdCBzdHJidWYgaGRyID0gU1RSQlVGX0lOSVQ7CisKIAkJdnJlcG9ydGYoImZhdGFsOiAiLCBlcnIsIHBhcmFtcyk7CiAKLQkJaHR0cF9zdGF0dXMoNTAwLCAiSW50ZXJuYWwgU2VydmVyIEVycm9yIik7Ci0JCWhkcl9ub2NhY2hlKCk7Ci0JCWVuZF9oZWFkZXJzKCk7CisJCWh0dHBfc3RhdHVzKCZoZHIsIDUwMCwgIkludGVybmFsIFNlcnZlciBFcnJvciIpOworCQloZHJfbm9jYWNoZSgmaGRyKTsKKwkJZW5kX2hlYWRlcnMoJmhkcik7CiAJfQogCWV4aXQoMCk7IC8qIHdlIHN1Y2Nlc3NmdWxseSByZXBvcnRlZCBhIGZhaWx1cmUgOy0pICovCiB9CkBAIC02MTcsNyArNjIzLDcgQEAKIHN0YXRpYyBzdHJ1Y3Qgc2VydmljZV9jbWQgewogCWNvbnN0IGNoYXIgKm1ldGhvZDsKIAljb25zdCBjaGFyICpwYXR0ZXJuOwotCXZvaWQgKCppbXApKGNoYXIgKik7CisJdm9pZCAoKmltcCkoc3RydWN0IHN0cmJ1ZiAqLCBjaGFyICopOwogfSBzZXJ2aWNlc1tdID0gewogCXsiR0VUIiwgIi9IRUFEJCIsIGdldF9oZWFkfSwKIAl7IkdFVCIsICIvaW5mby9yZWZzJCIsIGdldF9pbmZvX3JlZnN9LApAQCAtNjMyLDYgKzYzOCwyMSBAQAogCXsiUE9TVCIsICIvZ2l0LXJlY2VpdmUtcGFjayQiLCBzZXJ2aWNlX3JwY30KIH07CiAKK3N0YXRpYyBpbnQgYmFkX3JlcXVlc3Qoc3RydWN0IHN0cmJ1ZiAqaGRyLCBjb25zdCBzdHJ1Y3Qgc2VydmljZV9jbWQgKmMpCit7CisJY29uc3QgY2hhciAqcHJvdG8gPSBnZXRlbnYoIlNFUlZFUl9QUk9UT0NPTCIpOworCisJaWYgKHByb3RvICYmICFzdHJjbXAocHJvdG8sICJIVFRQLzEuMSIpKSB7CisJCWh0dHBfc3RhdHVzKGhkciwgNDA1LCAiTWV0aG9kIE5vdCBBbGxvd2VkIik7CisJCWhkcl9zdHIoaGRyLCAiQWxsb3ciLAorCQkJIXN0cmNtcChjLT5tZXRob2QsICJHRVQiKSA/ICJHRVQsIEhFQUQiIDogYy0+bWV0aG9kKTsKKwl9IGVsc2UKKwkJaHR0cF9zdGF0dXMoaGRyLCA0MDAsICJCYWQgUmVxdWVzdCIpOworCWhkcl9ub2NhY2hlKGhkcik7CisJZW5kX2hlYWRlcnMoaGRyKTsKKwlyZXR1cm4gMDsKK30KKwogaW50IGNtZF9tYWluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKIHsKIAljaGFyICptZXRob2QgPSBnZXRlbnYoIlJFUVVFU1RfTUVUSE9EIik7CkBAIC02MzksNiArNjYwLDcgQEAKIAlzdHJ1Y3Qgc2VydmljZV9jbWQgKmNtZCA9IE5VTEw7CiAJY2hhciAqY21kX2FyZyA9IE5VTEw7CiAJaW50IGk7CisJc3RydWN0IHN0cmJ1ZiBoZHIgPSBTVFJCVUZfSU5JVDsKIAogCXNldF9kaWVfcm91dGluZShkaWVfd2ViY2dpKTsKIAlzZXRfZGllX2lzX3JlY3Vyc2luZ19yb3V0aW5lKGRpZV93ZWJjZ2lfcmVjdXJzaW5nKTsKQEAgLTY1OSwxOCArNjgxLDggQEAKIAkJaWYgKCFyZWdleGVjKCZyZSwgZGlyLCAxLCBvdXQsIDApKSB7CiAJCQlzaXplX3QgbjsKIAotCQkJaWYgKHN0cmNtcChtZXRob2QsIGMtPm1ldGhvZCkpIHsKLQkJCQljb25zdCBjaGFyICpwcm90byA9IGdldGVudigiU0VSVkVSX1BST1RPQ09MIik7Ci0JCQkJaWYgKHByb3RvICYmICFzdHJjbXAocHJvdG8sICJIVFRQLzEuMSIpKSB7Ci0JCQkJCWh0dHBfc3RhdHVzKDQwNSwgIk1ldGhvZCBOb3QgQWxsb3dlZCIpOwotCQkJCQloZHJfc3RyKCJBbGxvdyIsICFzdHJjbXAoYy0+bWV0aG9kLCAiR0VUIikgPwotCQkJCQkJIkdFVCwgSEVBRCIgOiBjLT5tZXRob2QpOwotCQkJCX0gZWxzZQotCQkJCQlodHRwX3N0YXR1cyg0MDAsICJCYWQgUmVxdWVzdCIpOwotCQkJCWhkcl9ub2NhY2hlKCk7Ci0JCQkJZW5kX2hlYWRlcnMoKTsKLQkJCQlyZXR1cm4gMDsKLQkJCX0KKwkJCWlmIChzdHJjbXAobWV0aG9kLCBjLT5tZXRob2QpKQorCQkJCXJldHVybiBiYWRfcmVxdWVzdCgmaGRyLCBjKTsKIAogCQkJY21kID0gYzsKIAkJCW4gPSBvdXRbMF0ucm1fZW8gLSBvdXRbMF0ucm1fc287CkBAIC02ODIsMTkgKzY5NCwxOSBAQAogCX0KIAogCWlmICghY21kKQotCQlub3RfZm91bmQoIlJlcXVlc3Qgbm90IHN1cHBvcnRlZDogJyVzJyIsIGRpcik7CisJCW5vdF9mb3VuZCgmaGRyLCAiUmVxdWVzdCBub3Qgc3VwcG9ydGVkOiAnJXMnIiwgZGlyKTsKIAogCXNldHVwX3BhdGgoKTsKIAlpZiAoIWVudGVyX3JlcG8oZGlyLCAwKSkKLQkJbm90X2ZvdW5kKCJOb3QgYSBnaXQgcmVwb3NpdG9yeTogJyVzJyIsIGRpcik7CisJCW5vdF9mb3VuZCgmaGRyLCAiTm90IGEgZ2l0IHJlcG9zaXRvcnk6ICclcyciLCBkaXIpOwogCWlmICghZ2V0ZW52KCJHSVRfSFRUUF9FWFBPUlRfQUxMIikgJiYKIAkgICAgYWNjZXNzKCJnaXQtZGFlbW9uLWV4cG9ydC1vayIsIEZfT0spICkKLQkJbm90X2ZvdW5kKCJSZXBvc2l0b3J5IG5vdCBleHBvcnRlZDogJyVzJyIsIGRpcik7CisJCW5vdF9mb3VuZCgmaGRyLCAiUmVwb3NpdG9yeSBub3QgZXhwb3J0ZWQ6ICclcyciLCBkaXIpOwogCiAJaHR0cF9jb25maWcoKTsKIAltYXhfcmVxdWVzdF9idWZmZXIgPSBnaXRfZW52X3Vsb25nKCJHSVRfSFRUUF9NQVhfUkVRVUVTVF9CVUZGRVIiLAogCQkJCQkgICBtYXhfcmVxdWVzdF9idWZmZXIpOwogCi0JY21kLT5pbXAoY21kX2FyZyk7CisJY21kLT5pbXAoJmhkciwgY21kX2FyZyk7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9odHRwLXB1c2guYyBiL2h0dHAtcHVzaC5jCmluZGV4IGRhY2FkYTkuLjcwNGIxYzggMTAwNjQ0Ci0tLSBhL2h0dHAtcHVzaC5jCisrKyBiL2h0dHAtcHVzaC5jCkBAIC0xMTM3LDcgKzExMzcsNyBAQAogCWxzLnVzZXJEYXRhID0gdXNlckRhdGE7CiAJbHMudXNlckZ1bmMgPSB1c2VyRnVuYzsKIAotCXN0cmJ1Zl9hZGRmKCZvdXRfYnVmZmVyLmJ1ZiwgUFJPUEZJTkRfQUxMX1JFUVVFU1QpOworCXN0cmJ1Zl9hZGRzdHIoJm91dF9idWZmZXIuYnVmLCBQUk9QRklORF9BTExfUkVRVUVTVCk7CiAKIAlkYXZfaGVhZGVycyA9IGN1cmxfc2xpc3RfYXBwZW5kKGRhdl9oZWFkZXJzLCAiRGVwdGg6IDEiKTsKIAlkYXZfaGVhZGVycyA9IGN1cmxfc2xpc3RfYXBwZW5kKGRhdl9oZWFkZXJzLCAiQ29udGVudC1UeXBlOiB0ZXh0L3htbCIpOwpkaWZmIC0tZ2l0IGEvaHR0cC13YWxrZXIuYyBiL2h0dHAtd2Fsa2VyLmMKaW5kZXggMmM3MjFmMC4uMGIyNDI1NSAxMDA2NDQKLS0tIGEvaHR0cC13YWxrZXIuYworKysgYi9odHRwLXdhbGtlci5jCkBAIC0yLDYgKzIsNyBAQAogI2luY2x1ZGUgImNvbW1pdC5oIgogI2luY2x1ZGUgIndhbGtlci5oIgogI2luY2x1ZGUgImh0dHAuaCIKKyNpbmNsdWRlICJsaXN0LmgiCiAKIHN0cnVjdCBhbHRfYmFzZSB7CiAJY2hhciAqYmFzZTsKQEAgLTIzLDcgKzI0LDcgQEAKIAlzdHJ1Y3QgYWx0X2Jhc2UgKnJlcG87CiAJZW51bSBvYmplY3RfcmVxdWVzdF9zdGF0ZSBzdGF0ZTsKIAlzdHJ1Y3QgaHR0cF9vYmplY3RfcmVxdWVzdCAqcmVxOwotCXN0cnVjdCBvYmplY3RfcmVxdWVzdCAqbmV4dDsKKwlzdHJ1Y3QgbGlzdF9oZWFkIG5vZGU7CiB9OwogCiBzdHJ1Y3QgYWx0ZXJuYXRlc19yZXF1ZXN0IHsKQEAgLTQxLDcgKzQyLDcgQEAKIAlzdHJ1Y3QgYWx0X2Jhc2UgKmFsdDsKIH07CiAKLXN0YXRpYyBzdHJ1Y3Qgb2JqZWN0X3JlcXVlc3QgKm9iamVjdF9xdWV1ZV9oZWFkOworc3RhdGljIExJU1RfSEVBRChvYmplY3RfcXVldWVfaGVhZCk7CiAKIHN0YXRpYyB2b2lkIGZldGNoX2FsdGVybmF0ZXMoc3RydWN0IHdhbGtlciAqd2Fsa2VyLCBjb25zdCBjaGFyICpiYXNlKTsKIApAQCAtMTEwLDE5ICsxMTEsMTAgQEAKIAogc3RhdGljIHZvaWQgcmVsZWFzZV9vYmplY3RfcmVxdWVzdChzdHJ1Y3Qgb2JqZWN0X3JlcXVlc3QgKm9ial9yZXEpCiB7Ci0Jc3RydWN0IG9iamVjdF9yZXF1ZXN0ICplbnRyeSA9IG9iamVjdF9xdWV1ZV9oZWFkOwotCiAJaWYgKG9ial9yZXEtPnJlcSAhPU5VTEwgJiYgb2JqX3JlcS0+cmVxLT5sb2NhbGZpbGUgIT0gLTEpCiAJCWVycm9yKCJmZCBsZWFrYWdlIGluIHJlbGVhc2U6ICVkIiwgb2JqX3JlcS0+cmVxLT5sb2NhbGZpbGUpOwotCWlmIChvYmpfcmVxID09IG9iamVjdF9xdWV1ZV9oZWFkKSB7Ci0JCW9iamVjdF9xdWV1ZV9oZWFkID0gb2JqX3JlcS0+bmV4dDsKLQl9IGVsc2UgewotCQl3aGlsZSAoZW50cnktPm5leHQgIT0gTlVMTCAmJiBlbnRyeS0+bmV4dCAhPSBvYmpfcmVxKQotCQkJZW50cnkgPSBlbnRyeS0+bmV4dDsKLQkJaWYgKGVudHJ5LT5uZXh0ID09IG9ial9yZXEpCi0JCQllbnRyeS0+bmV4dCA9IGVudHJ5LT5uZXh0LT5uZXh0OwotCX0KIAorCWxpc3RfZGVsKCZvYmpfcmVxLT5ub2RlKTsKIAlmcmVlKG9ial9yZXEpOwogfQogCkBAIC0xMzAsOCArMTIyLDEwIEBACiBzdGF0aWMgaW50IGZpbGxfYWN0aXZlX3Nsb3Qoc3RydWN0IHdhbGtlciAqd2Fsa2VyKQogewogCXN0cnVjdCBvYmplY3RfcmVxdWVzdCAqb2JqX3JlcTsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwb3MsICp0bXAsICpoZWFkID0gJm9iamVjdF9xdWV1ZV9oZWFkOwogCi0JZm9yIChvYmpfcmVxID0gb2JqZWN0X3F1ZXVlX2hlYWQ7IG9ial9yZXE7IG9ial9yZXEgPSBvYmpfcmVxLT5uZXh0KSB7CisJbGlzdF9mb3JfZWFjaF9zYWZlKHBvcywgdG1wLCBoZWFkKSB7CisJCW9ial9yZXEgPSBsaXN0X2VudHJ5KHBvcywgc3RydWN0IG9iamVjdF9yZXF1ZXN0LCBub2RlKTsKIAkJaWYgKG9ial9yZXEtPnN0YXRlID09IFdBSVRJTkcpIHsKIAkJCWlmIChoYXNfc2hhMV9maWxlKG9ial9yZXEtPnNoYTEpKQogCQkJCW9ial9yZXEtPnN0YXRlID0gQ09NUExFVEU7CkBAIC0xNDgsNyArMTQyLDYgQEAKIHN0YXRpYyB2b2lkIHByZWZldGNoKHN0cnVjdCB3YWxrZXIgKndhbGtlciwgdW5zaWduZWQgY2hhciAqc2hhMSkKIHsKIAlzdHJ1Y3Qgb2JqZWN0X3JlcXVlc3QgKm5ld3JlcTsKLQlzdHJ1Y3Qgb2JqZWN0X3JlcXVlc3QgKnRhaWw7CiAJc3RydWN0IHdhbGtlcl9kYXRhICpkYXRhID0gd2Fsa2VyLT5kYXRhOwogCiAJbmV3cmVxID0geG1hbGxvYyhzaXplb2YoKm5ld3JlcSkpOwpAQCAtMTU3LDE4ICsxNTAsOSBAQAogCW5ld3JlcS0+cmVwbyA9IGRhdGEtPmFsdDsKIAluZXdyZXEtPnN0YXRlID0gV0FJVElORzsKIAluZXdyZXEtPnJlcSA9IE5VTEw7Ci0JbmV3cmVxLT5uZXh0ID0gTlVMTDsKIAogCWh0dHBfaXNfdmVyYm9zZSA9IHdhbGtlci0+Z2V0X3ZlcmJvc2VseTsKLQotCWlmIChvYmplY3RfcXVldWVfaGVhZCA9PSBOVUxMKSB7Ci0JCW9iamVjdF9xdWV1ZV9oZWFkID0gbmV3cmVxOwotCX0gZWxzZSB7Ci0JCXRhaWwgPSBvYmplY3RfcXVldWVfaGVhZDsKLQkJd2hpbGUgKHRhaWwtPm5leHQgIT0gTlVMTCkKLQkJCXRhaWwgPSB0YWlsLT5uZXh0OwotCQl0YWlsLT5uZXh0ID0gbmV3cmVxOwotCX0KKwlsaXN0X2FkZF90YWlsKCZuZXdyZXEtPm5vZGUsICZvYmplY3RfcXVldWVfaGVhZCk7CiAKICNpZmRlZiBVU0VfQ1VSTF9NVUxUSQogCWZpbGxfYWN0aXZlX3Nsb3RzKCk7CkBAIC00NDcsMTUgKzQzMSwxOSBAQAogCXJlbGVhc2Vfb2JqZWN0X3JlcXVlc3Qob2JqX3JlcSk7CiB9CiAKLXN0YXRpYyBpbnQgZmV0Y2hfb2JqZWN0KHN0cnVjdCB3YWxrZXIgKndhbGtlciwgc3RydWN0IGFsdF9iYXNlICpyZXBvLCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIGludCBmZXRjaF9vYmplY3Qoc3RydWN0IHdhbGtlciAqd2Fsa2VyLCB1bnNpZ25lZCBjaGFyICpzaGExKQogewogCWNoYXIgKmhleCA9IHNoYTFfdG9faGV4KHNoYTEpOwogCWludCByZXQgPSAwOwotCXN0cnVjdCBvYmplY3RfcmVxdWVzdCAqb2JqX3JlcSA9IG9iamVjdF9xdWV1ZV9oZWFkOworCXN0cnVjdCBvYmplY3RfcmVxdWVzdCAqb2JqX3JlcSA9IE5VTEw7CiAJc3RydWN0IGh0dHBfb2JqZWN0X3JlcXVlc3QgKnJlcTsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwb3MsICpoZWFkID0gJm9iamVjdF9xdWV1ZV9oZWFkOwogCi0Jd2hpbGUgKG9ial9yZXEgIT0gTlVMTCAmJiBoYXNoY21wKG9ial9yZXEtPnNoYTEsIHNoYTEpKQotCQlvYmpfcmVxID0gb2JqX3JlcS0+bmV4dDsKKwlsaXN0X2Zvcl9lYWNoKHBvcywgaGVhZCkgeworCQlvYmpfcmVxID0gbGlzdF9lbnRyeShwb3MsIHN0cnVjdCBvYmplY3RfcmVxdWVzdCwgbm9kZSk7CisJCWlmICghaGFzaGNtcChvYmpfcmVxLT5zaGExLCBzaGExKSkKKwkJCWJyZWFrOworCX0KIAlpZiAob2JqX3JlcSA9PSBOVUxMKQogCQlyZXR1cm4gZXJyb3IoIkNvdWxkbid0IGZpbmQgcmVxdWVzdCBmb3IgJXMgaW4gdGhlIHF1ZXVlIiwgaGV4KTsKIApAQCAtNDg4LDYgKzQ3NiwxNSBAQAogCQlyZXEtPmxvY2FsZmlsZSA9IC0xOwogCX0KIAorCS8qCisJICogd2UgdHVybmVkIG9mZiBDVVJMT1BUX0ZBSUxPTkVSUk9SIHRvIGF2b2lkIGxvc2luZyBhCisJICogcGVyc2lzdGVudCBjb25uZWN0aW9uIGFuZCBnb3QgQ1VSTEVfT0suCisJICovCisJaWYgKHJlcS0+aHR0cF9jb2RlID09IDQwNCAmJiByZXEtPmN1cmxfcmVzdWx0ID09IENVUkxFX09LICYmCisJCQkoc3RhcnRzX3dpdGgocmVxLT51cmwsICJodHRwOi8vIikgfHwKKwkJCSBzdGFydHNfd2l0aChyZXEtPnVybCwgImh0dHBzOi8vIikpKQorCQlyZXEtPmN1cmxfcmVzdWx0ID0gQ1VSTEVfSFRUUF9SRVRVUk5FRF9FUlJPUjsKKwogCWlmIChvYmpfcmVxLT5zdGF0ZSA9PSBBQk9SVEVEKSB7CiAJCXJldCA9IGVycm9yKCJSZXF1ZXN0IGZvciAlcyBhYm9ydGVkIiwgaGV4KTsKIAl9IGVsc2UgaWYgKHJlcS0+Y3VybF9yZXN1bHQgIT0gQ1VSTEVfT0sgJiYKQEAgLTUxOCw3ICs1MTUsNyBAQAogCXN0cnVjdCB3YWxrZXJfZGF0YSAqZGF0YSA9IHdhbGtlci0+ZGF0YTsKIAlzdHJ1Y3QgYWx0X2Jhc2UgKmFsdGJhc2UgPSBkYXRhLT5hbHQ7CiAKLQlpZiAoIWZldGNoX29iamVjdCh3YWxrZXIsIGFsdGJhc2UsIHNoYTEpKQorCWlmICghZmV0Y2hfb2JqZWN0KHdhbGtlciwgc2hhMSkpCiAJCXJldHVybiAwOwogCXdoaWxlIChhbHRiYXNlKSB7CiAJCWlmICghaHR0cF9mZXRjaF9wYWNrKHdhbGtlciwgYWx0YmFzZSwgc2hhMSkpCmRpZmYgLS1naXQgYS9odHRwLmMgYi9odHRwLmMKaW5kZXggZGY2ZGQwMS4uNGM0YTgxMiAxMDA2NDQKLS0tIGEvaHR0cC5jCisrKyBiL2h0dHAuYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgImdldHRleHQuaCIKICNpbmNsdWRlICJ0cmFuc3BvcnQuaCIKIAorc3RhdGljIHN0cnVjdCB0cmFjZV9rZXkgdHJhY2VfY3VybCA9IFRSQUNFX0tFWV9JTklUKENVUkwpOwogI2lmIExJQkNVUkxfVkVSU0lPTl9OVU0gPj0gMHgwNzBhMDgKIGxvbmcgaW50IGdpdF9jdXJsX2lwcmVzb2x2ZSA9IENVUkxfSVBSRVNPTFZFX1dIQVRFVkVSOwogI2Vsc2UKQEAgLTg5LDYgKzkwLDE4IEBACiAJICogaGVyZSwgdG9vCiAJICovCiB9OworI2lmIExJQkNVUkxfVkVSU0lPTl9OVU0gPj0gMHgwNzE2MDAKK3N0YXRpYyBjb25zdCBjaGFyICpjdXJsX2RlbGVnOworc3RhdGljIHN0cnVjdCB7CisJY29uc3QgY2hhciAqbmFtZTsKKwlsb25nIGN1cmxfZGVsZWdfcGFyYW07Cit9IGN1cmxfZGVsZWdfbGV2ZWxzW10gPSB7CisJeyAibm9uZSIsIENVUkxHU1NBUElfREVMRUdBVElPTl9OT05FIH0sCisJeyAicG9saWN5IiwgQ1VSTEdTU0FQSV9ERUxFR0FUSU9OX1BPTElDWV9GTEFHIH0sCisJeyAiYWx3YXlzIiwgQ1VSTEdTU0FQSV9ERUxFR0FUSU9OX0ZMQUcgfSwKK307CisjZW5kaWYKKwogc3RhdGljIHN0cnVjdCBjcmVkZW50aWFsIHByb3h5X2F1dGggPSBDUkVERU5USUFMX0lOSVQ7CiBzdGF0aWMgY29uc3QgY2hhciAqY3VybF9wcm94eXVzZXJwd2Q7CiBzdGF0aWMgY29uc3QgY2hhciAqY3VybF9jb29raWVfZmlsZTsKQEAgLTIwMCw2ICsyMTMsMTMgQEAKIAkJc2xvdC0+Y2FsbGJhY2tfZnVuYyhzbG90LT5jYWxsYmFja19kYXRhKTsKIH0KIAorc3RhdGljIHZvaWQgeG11bHRpX3JlbW92ZV9oYW5kbGUoc3RydWN0IGFjdGl2ZV9yZXF1ZXN0X3Nsb3QgKnNsb3QpCit7CisjaWZkZWYgVVNFX0NVUkxfTVVMVEkKKwljdXJsX211bHRpX3JlbW92ZV9oYW5kbGUoY3VybG0sIHNsb3QtPmN1cmwpOworI2VuZGlmCit9CisKICNpZmRlZiBVU0VfQ1VSTF9NVUxUSQogc3RhdGljIHZvaWQgcHJvY2Vzc19jdXJsX21lc3NhZ2VzKHZvaWQpCiB7CkBAIC0yMTUsNyArMjM1LDcgQEAKIAkJCSAgICAgICBzbG90LT5jdXJsICE9IGN1cmxfbWVzc2FnZS0+ZWFzeV9oYW5kbGUpCiAJCQkJc2xvdCA9IHNsb3QtPm5leHQ7CiAJCQlpZiAoc2xvdCAhPSBOVUxMKSB7Ci0JCQkJY3VybF9tdWx0aV9yZW1vdmVfaGFuZGxlKGN1cmxtLCBzbG90LT5jdXJsKTsKKwkJCQl4bXVsdGlfcmVtb3ZlX2hhbmRsZShzbG90KTsKIAkJCQlzbG90LT5jdXJsX3Jlc3VsdCA9IGN1cmxfcmVzdWx0OwogCQkJCWZpbmlzaF9hY3RpdmVfc2xvdChzbG90KTsKIAkJCX0gZWxzZSB7CkBAIC0zMTUsNiArMzM1LDE1IEBACiAJCXJldHVybiAwOwogCX0KIAorCWlmICghc3RyY21wKCJodHRwLmRlbGVnYXRpb24iLCB2YXIpKSB7CisjaWYgTElCQ1VSTF9WRVJTSU9OX05VTSA+PSAweDA3MTYwMAorCQlyZXR1cm4gZ2l0X2NvbmZpZ19zdHJpbmcoJmN1cmxfZGVsZWcsIHZhciwgdmFsdWUpOworI2Vsc2UKKwkJd2FybmluZyhfKCJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiKSk7CisJCXJldHVybiAwOworI2VuZGlmCisJfQorCiAJaWYgKCFzdHJjbXAoImh0dHAucGlubmVkcHVia2V5IiwgdmFyKSkgewogI2lmIExJQkNVUkxfVkVSU0lPTl9OVU0gPj0gMHgwNzJjMDAKIAkJcmV0dXJuIGdpdF9jb25maWdfcGF0aG5hbWUoJnNzbF9waW5uZWRrZXksIHZhciwgdmFsdWUpOwpAQCAtMzQzLDcgKzM3Miw3IEBACiAKIHN0YXRpYyB2b2lkIGluaXRfY3VybF9odHRwX2F1dGgoQ1VSTCAqcmVzdWx0KQogewotCWlmICghaHR0cF9hdXRoLnVzZXJuYW1lKSB7CisJaWYgKCFodHRwX2F1dGgudXNlcm5hbWUgfHwgISpodHRwX2F1dGgudXNlcm5hbWUpIHsKIAkJaWYgKGN1cmxfZW1wdHlfYXV0aCkKIAkJCWN1cmxfZWFzeV9zZXRvcHQocmVzdWx0LCBDVVJMT1BUX1VTRVJQV0QsICI6Iik7CiAJCXJldHVybjsKQEAgLTQ3Nyw2ICs1MDYsMTI1IEBACiB9CiAjZW5kaWYKIAorc3RhdGljIHZvaWQgcmVkYWN0X3NlbnNpdGl2ZV9oZWFkZXIoc3RydWN0IHN0cmJ1ZiAqaGVhZGVyKQoreworCWNvbnN0IGNoYXIgKnNlbnNpdGl2ZV9oZWFkZXI7CisKKwlpZiAoc2tpcF9wcmVmaXgoaGVhZGVyLT5idWYsICJBdXRob3JpemF0aW9uOiIsICZzZW5zaXRpdmVfaGVhZGVyKSB8fAorCSAgICBza2lwX3ByZWZpeChoZWFkZXItPmJ1ZiwgIlByb3h5LUF1dGhvcml6YXRpb246IiwgJnNlbnNpdGl2ZV9oZWFkZXIpKSB7CisJCS8qIFRoZSBmaXJzdCB0b2tlbiBpcyB0aGUgdHlwZSwgd2hpY2ggaXMgT0sgdG8gbG9nICovCisJCXdoaWxlIChpc3NwYWNlKCpzZW5zaXRpdmVfaGVhZGVyKSkKKwkJCXNlbnNpdGl2ZV9oZWFkZXIrKzsKKwkJd2hpbGUgKCpzZW5zaXRpdmVfaGVhZGVyICYmICFpc3NwYWNlKCpzZW5zaXRpdmVfaGVhZGVyKSkKKwkJCXNlbnNpdGl2ZV9oZWFkZXIrKzsKKwkJLyogRXZlcnl0aGluZyBlbHNlIGlzIG9wYXF1ZSBhbmQgcG9zc2libHkgc2Vuc2l0aXZlICovCisJCXN0cmJ1Zl9zZXRsZW4oaGVhZGVyLCAgc2Vuc2l0aXZlX2hlYWRlciAtIGhlYWRlci0+YnVmKTsKKwkJc3RyYnVmX2FkZHN0cihoZWFkZXIsICIgPHJlZGFjdGVkPiIpOworCX0KK30KKworc3RhdGljIHZvaWQgY3VybF9kdW1wX2hlYWRlcihjb25zdCBjaGFyICp0ZXh0LCB1bnNpZ25lZCBjaGFyICpwdHIsIHNpemVfdCBzaXplLCBpbnQgaGlkZV9zZW5zaXRpdmVfaGVhZGVyKQoreworCXN0cnVjdCBzdHJidWYgb3V0ID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiAqKmhlYWRlcnMsICoqaGVhZGVyOworCisJc3RyYnVmX2FkZGYoJm91dCwgIiVzLCAlMTAuMTBsZCBieXRlcyAoMHglOC44bHgpXG4iLAorCQl0ZXh0LCAobG9uZylzaXplLCAobG9uZylzaXplKTsKKwl0cmFjZV9zdHJidWYoJnRyYWNlX2N1cmwsICZvdXQpOworCXN0cmJ1Zl9yZXNldCgmb3V0KTsKKwlzdHJidWZfYWRkKCZvdXQsIHB0ciwgc2l6ZSk7CisJaGVhZGVycyA9IHN0cmJ1Zl9zcGxpdF9tYXgoJm91dCwgJ1xuJywgMCk7CisKKwlmb3IgKGhlYWRlciA9IGhlYWRlcnM7ICpoZWFkZXI7IGhlYWRlcisrKSB7CisJCWlmIChoaWRlX3NlbnNpdGl2ZV9oZWFkZXIpCisJCQlyZWRhY3Rfc2Vuc2l0aXZlX2hlYWRlcigqaGVhZGVyKTsKKwkJc3RyYnVmX2luc2VydCgoKmhlYWRlciksIDAsIHRleHQsIHN0cmxlbih0ZXh0KSk7CisJCXN0cmJ1Zl9pbnNlcnQoKCpoZWFkZXIpLCBzdHJsZW4odGV4dCksICI6ICIsIDIpOworCQlzdHJidWZfcnRyaW0oKCpoZWFkZXIpKTsKKwkJc3RyYnVmX2FkZGNoKCgqaGVhZGVyKSwgJ1xuJyk7CisJCXRyYWNlX3N0cmJ1ZigmdHJhY2VfY3VybCwgKCpoZWFkZXIpKTsKKwl9CisJc3RyYnVmX2xpc3RfZnJlZShoZWFkZXJzKTsKKwlzdHJidWZfcmVsZWFzZSgmb3V0KTsKK30KKworc3RhdGljIHZvaWQgY3VybF9kdW1wX2RhdGEoY29uc3QgY2hhciAqdGV4dCwgdW5zaWduZWQgY2hhciAqcHRyLCBzaXplX3Qgc2l6ZSkKK3sKKwlzaXplX3QgaTsKKwlzdHJ1Y3Qgc3RyYnVmIG91dCA9IFNUUkJVRl9JTklUOworCXVuc2lnbmVkIGludCB3aWR0aCA9IDYwOworCisJc3RyYnVmX2FkZGYoJm91dCwgIiVzLCAlMTAuMTBsZCBieXRlcyAoMHglOC44bHgpXG4iLAorCQl0ZXh0LCAobG9uZylzaXplLCAobG9uZylzaXplKTsKKwl0cmFjZV9zdHJidWYoJnRyYWNlX2N1cmwsICZvdXQpOworCisJZm9yIChpID0gMDsgaSA8IHNpemU7IGkgKz0gd2lkdGgpIHsKKwkJc2l6ZV90IHc7CisKKwkJc3RyYnVmX3Jlc2V0KCZvdXQpOworCQlzdHJidWZfYWRkZigmb3V0LCAiJXM6ICIsIHRleHQpOworCQlmb3IgKHcgPSAwOyAodyA8IHdpZHRoKSAmJiAoaSArIHcgPCBzaXplKTsgdysrKSB7CisJCQl1bnNpZ25lZCBjaGFyIGNoID0gcHRyW2kgKyB3XTsKKworCQkJc3RyYnVmX2FkZGNoKCZvdXQsCisJCQkJICAgICAgIChjaCA+PSAweDIwKSAmJiAoY2ggPCAweDgwKQorCQkJCSAgICAgICA/IGNoIDogJy4nKTsKKwkJfQorCQlzdHJidWZfYWRkY2goJm91dCwgJ1xuJyk7CisJCXRyYWNlX3N0cmJ1ZigmdHJhY2VfY3VybCwgJm91dCk7CisJfQorCXN0cmJ1Zl9yZWxlYXNlKCZvdXQpOworfQorCitzdGF0aWMgaW50IGN1cmxfdHJhY2UoQ1VSTCAqaGFuZGxlLCBjdXJsX2luZm90eXBlIHR5cGUsIGNoYXIgKmRhdGEsIHNpemVfdCBzaXplLCB2b2lkICp1c2VycCkKK3sKKwljb25zdCBjaGFyICp0ZXh0OworCWVudW0geyBOT19GSUxURVIgPSAwLCBET19GSUxURVIgPSAxIH07CisKKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIENVUkxJTkZPX1RFWFQ6CisJCXRyYWNlX3ByaW50Zl9rZXkoJnRyYWNlX2N1cmwsICI9PSBJbmZvOiAlcyIsIGRhdGEpOworCWRlZmF1bHQ6CQkvKiB3ZSBpZ25vcmUgdW5rbm93biB0eXBlcyBieSBkZWZhdWx0ICovCisJCXJldHVybiAwOworCisJY2FzZSBDVVJMSU5GT19IRUFERVJfT1VUOgorCQl0ZXh0ID0gIj0+IFNlbmQgaGVhZGVyIjsKKwkJY3VybF9kdW1wX2hlYWRlcih0ZXh0LCAodW5zaWduZWQgY2hhciAqKWRhdGEsIHNpemUsIERPX0ZJTFRFUik7CisJCWJyZWFrOworCWNhc2UgQ1VSTElORk9fREFUQV9PVVQ6CisJCXRleHQgPSAiPT4gU2VuZCBkYXRhIjsKKwkJY3VybF9kdW1wX2RhdGEodGV4dCwgKHVuc2lnbmVkIGNoYXIgKilkYXRhLCBzaXplKTsKKwkJYnJlYWs7CisJY2FzZSBDVVJMSU5GT19TU0xfREFUQV9PVVQ6CisJCXRleHQgPSAiPT4gU2VuZCBTU0wgZGF0YSI7CisJCWN1cmxfZHVtcF9kYXRhKHRleHQsICh1bnNpZ25lZCBjaGFyICopZGF0YSwgc2l6ZSk7CisJCWJyZWFrOworCWNhc2UgQ1VSTElORk9fSEVBREVSX0lOOgorCQl0ZXh0ID0gIjw9IFJlY3YgaGVhZGVyIjsKKwkJY3VybF9kdW1wX2hlYWRlcih0ZXh0LCAodW5zaWduZWQgY2hhciAqKWRhdGEsIHNpemUsIE5PX0ZJTFRFUik7CisJCWJyZWFrOworCWNhc2UgQ1VSTElORk9fREFUQV9JTjoKKwkJdGV4dCA9ICI8PSBSZWN2IGRhdGEiOworCQljdXJsX2R1bXBfZGF0YSh0ZXh0LCAodW5zaWduZWQgY2hhciAqKWRhdGEsIHNpemUpOworCQlicmVhazsKKwljYXNlIENVUkxJTkZPX1NTTF9EQVRBX0lOOgorCQl0ZXh0ID0gIjw9IFJlY3YgU1NMIGRhdGEiOworCQljdXJsX2R1bXBfZGF0YSh0ZXh0LCAodW5zaWduZWQgY2hhciAqKWRhdGEsIHNpemUpOworCQlicmVhazsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgc2V0dXBfY3VybF90cmFjZShDVVJMICpoYW5kbGUpCit7CisJaWYgKCF0cmFjZV93YW50KCZ0cmFjZV9jdXJsKSkKKwkJcmV0dXJuOworCWN1cmxfZWFzeV9zZXRvcHQoaGFuZGxlLCBDVVJMT1BUX1ZFUkJPU0UsIDFMKTsKKwljdXJsX2Vhc3lfc2V0b3B0KGhhbmRsZSwgQ1VSTE9QVF9ERUJVR0ZVTkNUSU9OLCBjdXJsX3RyYWNlKTsKKwljdXJsX2Vhc3lfc2V0b3B0KGhhbmRsZSwgQ1VSTE9QVF9ERUJVR0RBVEEsIE5VTEwpOworfQorCisKIHN0YXRpYyBDVVJMICpnZXRfY3VybF9oYW5kbGUodm9pZCkKIHsKIAlDVVJMICpyZXN1bHQgPSBjdXJsX2Vhc3lfaW5pdCgpOwpAQCAtNTAyLDYgKzY1MCwyMiBAQAogCWN1cmxfZWFzeV9zZXRvcHQocmVzdWx0LCBDVVJMT1BUX0hUVFBBVVRILCBDVVJMQVVUSF9BTlkpOwogI2VuZGlmCiAKKyNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID49IDB4MDcxNjAwCisJaWYgKGN1cmxfZGVsZWcpIHsKKwkJaW50IGk7CisJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGN1cmxfZGVsZWdfbGV2ZWxzKTsgaSsrKSB7CisJCQlpZiAoIXN0cmNtcChjdXJsX2RlbGVnLCBjdXJsX2RlbGVnX2xldmVsc1tpXS5uYW1lKSkgeworCQkJCWN1cmxfZWFzeV9zZXRvcHQocmVzdWx0LCBDVVJMT1BUX0dTU0FQSV9ERUxFR0FUSU9OLAorCQkJCQkJY3VybF9kZWxlZ19sZXZlbHNbaV0uY3VybF9kZWxlZ19wYXJhbSk7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwkJaWYgKGkgPT0gQVJSQVlfU0laRShjdXJsX2RlbGVnX2xldmVscykpCisJCQl3YXJuaW5nKCJVbmtub3duIGRlbGVnYXRpb24gbWV0aG9kICclcyc6IHVzaW5nIGRlZmF1bHQiLAorCQkJCWN1cmxfZGVsZWcpOworCX0KKyNlbmRpZgorCiAJaWYgKGh0dHBfcHJvYWN0aXZlX2F1dGgpCiAJCWluaXRfY3VybF9odHRwX2F1dGgocmVzdWx0KTsKIApAQCAtNTc1LDkgKzczOSw5IEBACiAJCXdhcm5pbmcoInByb3RvY29sIHJlc3RyaWN0aW9ucyBub3QgYXBwbGllZCB0byBjdXJsIHJlZGlyZWN0cyBiZWNhdXNlXG4iCiAJCQkieW91ciBjdXJsIHZlcnNpb24gaXMgdG9vIG9sZCAoPj0gNy4xOS40KSIpOwogI2VuZGlmCi0KIAlpZiAoZ2V0ZW52KCJHSVRfQ1VSTF9WRVJCT1NFIikpCi0JCWN1cmxfZWFzeV9zZXRvcHQocmVzdWx0LCBDVVJMT1BUX1ZFUkJPU0UsIDEpOworCQljdXJsX2Vhc3lfc2V0b3B0KHJlc3VsdCwgQ1VSTE9QVF9WRVJCT1NFLCAxTCk7CisJc2V0dXBfY3VybF90cmFjZShyZXN1bHQpOwogCiAJY3VybF9lYXN5X3NldG9wdChyZXN1bHQsIENVUkxPUFRfVVNFUkFHRU5ULAogCQl1c2VyX2FnZW50ID8gdXNlcl9hZ2VudCA6IGdpdF91c2VyX2FnZW50KCkpOwpAQCAtNjAzLDcgKzc2Nyw3IEBACiAJICogcHJlY2VkZW5jZSBoZXJlLCBhcyBpbiBDVVJMLgogCSAqLwogCWlmICghY3VybF9odHRwX3Byb3h5KSB7Ci0JCWlmICghc3RyY21wKGh0dHBfYXV0aC5wcm90b2NvbCwgImh0dHBzIikpIHsKKwkJaWYgKGh0dHBfYXV0aC5wcm90b2NvbCAmJiAhc3RyY21wKGh0dHBfYXV0aC5wcm90b2NvbCwgImh0dHBzIikpIHsKIAkJCXZhcl9vdmVycmlkZSgmY3VybF9odHRwX3Byb3h5LCBnZXRlbnYoIkhUVFBTX1BST1hZIikpOwogCQkJdmFyX292ZXJyaWRlKCZjdXJsX2h0dHBfcHJveHksIGdldGVudigiaHR0cHNfcHJveHkiKSk7CiAJCX0gZWxzZSB7CkBAIC03NjEsOSArOTI1LDcgQEAKIAl3aGlsZSAoc2xvdCAhPSBOVUxMKSB7CiAJCXN0cnVjdCBhY3RpdmVfcmVxdWVzdF9zbG90ICpuZXh0ID0gc2xvdC0+bmV4dDsKIAkJaWYgKHNsb3QtPmN1cmwgIT0gTlVMTCkgewotI2lmZGVmIFVTRV9DVVJMX01VTFRJCi0JCQljdXJsX211bHRpX3JlbW92ZV9oYW5kbGUoY3VybG0sIHNsb3QtPmN1cmwpOwotI2VuZGlmCisJCQl4bXVsdGlfcmVtb3ZlX2hhbmRsZShzbG90KTsKIAkJCWN1cmxfZWFzeV9jbGVhbnVwKHNsb3QtPmN1cmwpOwogCQl9CiAJCWZyZWUoc2xvdCk7CkBAIC05MDIsNiArMTA2NCw4IEBACiAKIAlpZiAoY3VybG1fcmVzdWx0ICE9IENVUkxNX09LICYmCiAJICAgIGN1cmxtX3Jlc3VsdCAhPSBDVVJMTV9DQUxMX01VTFRJX1BFUkZPUk0pIHsKKwkJd2FybmluZygiY3VybF9tdWx0aV9hZGRfaGFuZGxlIGZhaWxlZDogJXMiLAorCQkJY3VybF9tdWx0aV9zdHJlcnJvcihjdXJsbV9yZXN1bHQpKTsKIAkJYWN0aXZlX3JlcXVlc3RzLS07CiAJCXNsb3QtPmluX3VzZSA9IDA7CiAJCXJldHVybiAwOwpAQCAtMTA0MSwxMyArMTIwNSwxMyBAQAogc3RhdGljIHZvaWQgcmVsZWFzZV9hY3RpdmVfc2xvdChzdHJ1Y3QgYWN0aXZlX3JlcXVlc3Rfc2xvdCAqc2xvdCkKIHsKIAljbG9zZWRvd25fYWN0aXZlX3Nsb3Qoc2xvdCk7Ci0JaWYgKHNsb3QtPmN1cmwgJiYgY3VybF9zZXNzaW9uX2NvdW50ID4gbWluX2N1cmxfc2Vzc2lvbnMpIHsKLSNpZmRlZiBVU0VfQ1VSTF9NVUxUSQotCQljdXJsX211bHRpX3JlbW92ZV9oYW5kbGUoY3VybG0sIHNsb3QtPmN1cmwpOwotI2VuZGlmCi0JCWN1cmxfZWFzeV9jbGVhbnVwKHNsb3QtPmN1cmwpOwotCQlzbG90LT5jdXJsID0gTlVMTDsKLQkJY3VybF9zZXNzaW9uX2NvdW50LS07CisJaWYgKHNsb3QtPmN1cmwpIHsKKwkJeG11bHRpX3JlbW92ZV9oYW5kbGUoc2xvdCk7CisJCWlmIChjdXJsX3Nlc3Npb25fY291bnQgPiBtaW5fY3VybF9zZXNzaW9ucykgeworCQkJY3VybF9lYXN5X2NsZWFudXAoc2xvdC0+Y3VybCk7CisJCQlzbG90LT5jdXJsID0gTlVMTDsKKwkJCWN1cmxfc2Vzc2lvbl9jb3VudC0tOworCQl9CiAJfQogI2lmZGVmIFVTRV9DVVJMX01VTFRJCiAJZmlsbF9hY3RpdmVfc2xvdHMoKTsKQEAgLTExMDUsNyArMTI2OSw3IEBACiAKIAlzdHJidWZfYWRkZihidWYsICJvYmplY3RzLyUuKnMvIiwgMiwgaGV4KTsKIAlpZiAoIW9ubHlfdHdvX2RpZ2l0X3ByZWZpeCkKLQkJc3RyYnVmX2FkZGYoYnVmLCAiJXMiLCBoZXgrMik7CisJCXN0cmJ1Zl9hZGRzdHIoYnVmLCBoZXggKyAyKTsKIH0KIAogY2hhciAqZ2V0X3JlbW90ZV9vYmplY3RfdXJsKGNvbnN0IGNoYXIgKnVybCwgY29uc3QgY2hhciAqaGV4LApAQCAtMTg1NSw4ICsyMDE5LDE5IEBACiAJdW5zaWduZWQgY2hhciBleHBuWzQwOTZdOwogCXNpemVfdCBzaXplID0gZWx0c2l6ZSAqIG5tZW1iOwogCWludCBwb3NuID0gMDsKLQlzdHJ1Y3QgaHR0cF9vYmplY3RfcmVxdWVzdCAqZnJlcSA9Ci0JCShzdHJ1Y3QgaHR0cF9vYmplY3RfcmVxdWVzdCAqKWRhdGE7CisJc3RydWN0IGh0dHBfb2JqZWN0X3JlcXVlc3QgKmZyZXEgPSBkYXRhOworCXN0cnVjdCBhY3RpdmVfcmVxdWVzdF9zbG90ICpzbG90ID0gZnJlcS0+c2xvdDsKKworCWlmIChzbG90KSB7CisJCUNVUkxjb2RlIGMgPSBjdXJsX2Vhc3lfZ2V0aW5mbyhzbG90LT5jdXJsLCBDVVJMSU5GT19IVFRQX0NPREUsCisJCQkJCQkmc2xvdC0+aHR0cF9jb2RlKTsKKwkJaWYgKGMgIT0gQ1VSTEVfT0spCisJCQlkaWUoIkJVRzogY3VybF9lYXN5X2dldGluZm8gZm9yIEhUVFAgY29kZSBmYWlsZWQ6ICVzIiwKKwkJCQljdXJsX2Vhc3lfc3RyZXJyb3IoYykpOworCQlpZiAoc2xvdC0+aHR0cF9jb2RlID49IDQwMCkKKwkJCXJldHVybiBzaXplOworCX0KKwogCWRvIHsKIAkJc3NpemVfdCByZXR2YWwgPSB4d3JpdGUoZnJlcS0+bG9jYWxmaWxlLAogCQkJCQkoY2hhciAqKSBwdHIgKyBwb3NuLCBzaXplIC0gcG9zbik7CkBAIC0xOTc3LDYgKzIxNTIsNyBAQAogCWZyZXEtPnNsb3QgPSBnZXRfYWN0aXZlX3Nsb3QoKTsKIAogCWN1cmxfZWFzeV9zZXRvcHQoZnJlcS0+c2xvdC0+Y3VybCwgQ1VSTE9QVF9GSUxFLCBmcmVxKTsKKwljdXJsX2Vhc3lfc2V0b3B0KGZyZXEtPnNsb3QtPmN1cmwsIENVUkxPUFRfRkFJTE9ORVJST1IsIDApOwogCWN1cmxfZWFzeV9zZXRvcHQoZnJlcS0+c2xvdC0+Y3VybCwgQ1VSTE9QVF9XUklURUZVTkNUSU9OLCBmd3JpdGVfc2hhMV9maWxlKTsKIAljdXJsX2Vhc3lfc2V0b3B0KGZyZXEtPnNsb3QtPmN1cmwsIENVUkxPUFRfRVJST1JCVUZGRVIsIGZyZXEtPmVycm9yc3RyKTsKIAljdXJsX2Vhc3lfc2V0b3B0KGZyZXEtPnNsb3QtPmN1cmwsIENVUkxPUFRfVVJMLCBmcmVxLT51cmwpOwpkaWZmIC0tZ2l0IGEvaHR0cC5oIGIvaHR0cC5oCmluZGV4IDM2ZjU1OGIuLjVhYjlkOWMgMTAwNjQ0Ci0tLSBhL2h0dHAuaAorKysgYi9odHRwLmgKQEAgLTIyNSw0ICsyMjUsNiBAQAogZXh0ZXJuIHZvaWQgYWJvcnRfaHR0cF9vYmplY3RfcmVxdWVzdChzdHJ1Y3QgaHR0cF9vYmplY3RfcmVxdWVzdCAqZnJlcSk7CiBleHRlcm4gdm9pZCByZWxlYXNlX2h0dHBfb2JqZWN0X3JlcXVlc3Qoc3RydWN0IGh0dHBfb2JqZWN0X3JlcXVlc3QgKmZyZXEpOwogCisvKiBzZXR1cCByb3V0aW5lIGZvciBjdXJsX2Vhc3lfc2V0b3B0IENVUkxPUFRfREVCVUdGVU5DVElPTiAqLwordm9pZCBzZXR1cF9jdXJsX3RyYWNlKENVUkwgKmhhbmRsZSk7CiAjZW5kaWYgLyogSFRUUF9IICovCmRpZmYgLS1naXQgYS9pZGVudC5jIGIvaWRlbnQuYwppbmRleCAxMzljNTI4Li5hYzRhZTAyIDEwMDY0NAotLS0gYS9pZGVudC5jCisrKyBiL2lkZW50LmMKQEAgLTEwMSw3ICsxMDEsNyBAQAogCW1lbXNldCAoJmhpbnRzLCAnXDAnLCBzaXplb2YgKGhpbnRzKSk7CiAJaGludHMuYWlfZmxhZ3MgPSBBSV9DQU5PTk5BTUU7CiAJaWYgKCFnZXRhZGRyaW5mbyhob3N0LCBOVUxMLCAmaGludHMsICZhaSkpIHsKLQkJaWYgKGFpICYmIHN0cmNocihhaS0+YWlfY2Fub25uYW1lLCAnLicpKSB7CisJCWlmIChhaSAmJiBhaS0+YWlfY2Fub25uYW1lICYmIHN0cmNocihhaS0+YWlfY2Fub25uYW1lLCAnLicpKSB7CiAJCQlzdHJidWZfYWRkc3RyKG91dCwgYWktPmFpX2Nhbm9ubmFtZSk7CiAJCQlzdGF0dXMgPSAwOwogCQl9CkBAIC0xODQsNiArMTg0LDExIEBACiAJcmV0dXJuIGdpdF9kZWZhdWx0X2RhdGUuYnVmOwogfQogCit2b2lkIHJlc2V0X2lkZW50X2RhdGUodm9pZCkKK3sKKwlzdHJidWZfcmVzZXQoJmdpdF9kZWZhdWx0X2RhdGUpOworfQorCiBzdGF0aWMgaW50IGNydWQodW5zaWduZWQgY2hhciBjKQogewogCXJldHVybiAgYyA8PSAzMiAgfHwKQEAgLTMyNiwxNyArMzMxLDE3IEBACiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyICplbnZfaGludCA9Ci0iXG4iCi0iKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgotIlxuIgotIlJ1blxuIgotIlxuIgotIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwieW91QGV4YW1wbGUuY29tXCJcbiIKLSIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiWW91ciBOYW1lXCJcbiIKLSJcbiIKLSJ0byBzZXQgeW91ciBhY2NvdW50XCdzIGRlZmF1bHQgaWRlbnRpdHkuXG4iCi0iT21pdCAtLWdsb2JhbCB0byBzZXQgdGhlIGlkZW50aXR5IG9ubHkgaW4gdGhpcyByZXBvc2l0b3J5LlxuIgotIlxuIjsKK05fKCJcbiIKKyAgICIqKiogUGxlYXNlIHRlbGwgbWUgd2hvIHlvdSBhcmUuXG4iCisgICAiXG4iCisgICAiUnVuXG4iCisgICAiXG4iCisgICAiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgXCJ5b3VAZXhhbXBsZS5jb21cIlxuIgorICAgIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJZb3VyIE5hbWVcIlxuIgorICAgIlxuIgorICAgInRvIHNldCB5b3VyIGFjY291bnRcJ3MgZGVmYXVsdCBpZGVudGl0eS5cbiIKKyAgICJPbWl0IC0tZ2xvYmFsIHRvIHNldCB0aGUgaWRlbnRpdHkgb25seSBpbiB0aGlzIHJlcG9zaXRvcnkuXG4iCisgICAiXG4iKTsKIAogY29uc3QgY2hhciAqZm10X2lkZW50KGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmVtYWlsLAogCQkgICAgICBjb25zdCBjaGFyICpkYXRlX3N0ciwgaW50IGZsYWcpCkBAIC0zNTEsMTMgKzM1NiwxMyBAQAogCQlpZiAoIW5hbWUpIHsKIAkJCWlmIChzdHJpY3QgJiYgaWRlbnRfdXNlX2NvbmZpZ19vbmx5CiAJCQkgICAgJiYgIShpZGVudF9jb25maWdfZ2l2ZW4gJiBJREVOVF9OQU1FX0dJVkVOKSkgewotCQkJCWZwdXRzKGVudl9oaW50LCBzdGRlcnIpOworCQkJCWZwdXRzKF8oZW52X2hpbnQpLCBzdGRlcnIpOwogCQkJCWRpZSgibm8gbmFtZSB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIik7CiAJCQl9CiAJCQluYW1lID0gaWRlbnRfZGVmYXVsdF9uYW1lKCk7CiAJCQl1c2luZ19kZWZhdWx0ID0gMTsKIAkJCWlmIChzdHJpY3QgJiYgZGVmYXVsdF9uYW1lX2lzX2JvZ3VzKSB7Ci0JCQkJZnB1dHMoZW52X2hpbnQsIHN0ZGVycik7CisJCQkJZnB1dHMoXyhlbnZfaGludCksIHN0ZGVycik7CiAJCQkJZGllKCJ1bmFibGUgdG8gYXV0by1kZXRlY3QgbmFtZSAoZ290ICclcycpIiwgbmFtZSk7CiAJCQl9CiAJCX0KQEAgLTM2NSw3ICszNzAsNyBAQAogCQkJc3RydWN0IHBhc3N3ZCAqcHc7CiAJCQlpZiAoc3RyaWN0KSB7CiAJCQkJaWYgKHVzaW5nX2RlZmF1bHQpCi0JCQkJCWZwdXRzKGVudl9oaW50LCBzdGRlcnIpOworCQkJCQlmcHV0cyhfKGVudl9oaW50KSwgc3RkZXJyKTsKIAkJCQlkaWUoImVtcHR5IGlkZW50IG5hbWUgKGZvciA8JXM+KSBub3QgYWxsb3dlZCIsIGVtYWlsKTsKIAkJCX0KIAkJCXB3ID0geGdldHB3dWlkX3NlbGYoTlVMTCk7CkBAIC0zNzYsMTIgKzM4MSwxMiBAQAogCWlmICghZW1haWwpIHsKIAkJaWYgKHN0cmljdCAmJiBpZGVudF91c2VfY29uZmlnX29ubHkKIAkJICAgICYmICEoaWRlbnRfY29uZmlnX2dpdmVuICYgSURFTlRfTUFJTF9HSVZFTikpIHsKLQkJCWZwdXRzKGVudl9oaW50LCBzdGRlcnIpOworCQkJZnB1dHMoXyhlbnZfaGludCksIHN0ZGVycik7CiAJCQlkaWUoIm5vIGVtYWlsIHdhcyBnaXZlbiBhbmQgYXV0by1kZXRlY3Rpb24gaXMgZGlzYWJsZWQiKTsKIAkJfQogCQllbWFpbCA9IGlkZW50X2RlZmF1bHRfZW1haWwoKTsKIAkJaWYgKHN0cmljdCAmJiBkZWZhdWx0X2VtYWlsX2lzX2JvZ3VzKSB7Ci0JCQlmcHV0cyhlbnZfaGludCwgc3RkZXJyKTsKKwkJCWZwdXRzKF8oZW52X2hpbnQpLCBzdGRlcnIpOwogCQkJZGllKCJ1bmFibGUgdG8gYXV0by1kZXRlY3QgZW1haWwgYWRkcmVzcyAoZ290ICclcycpIiwgZW1haWwpOwogCQl9CiAJfQpkaWZmIC0tZ2l0IGEvaW1hcC1zZW5kLmMgYi9pbWFwLXNlbmQuYwppbmRleCA5Y2JlMjdmLi41YzdlMjdhIDEwMDY0NAotLS0gYS9pbWFwLXNlbmQuYworKysgYi9pbWFwLXNlbmQuYwpAQCAtNTExLDcgKzUxMSw3IEBACiAKIAl2YV9zdGFydCh2YSwgZm10KTsKIAlpZiAoYmxlbiA8PSAwIHx8ICh1bnNpZ25lZCkocmV0ID0gdnNucHJpbnRmKGJ1ZiwgYmxlbiwgZm10LCB2YSkpID49ICh1bnNpZ25lZClibGVuKQotCQlkaWUoIkZhdGFsOiBidWZmZXIgdG9vIHNtYWxsLiBQbGVhc2UgcmVwb3J0IGEgYnVnLiIpOworCQlkaWUoIkJVRzogYnVmZmVyIHRvbyBzbWFsbC4gUGxlYXNlIHJlcG9ydCBhIGJ1Zy4iKTsKIAl2YV9lbmQodmEpOwogCXJldHVybiByZXQ7CiB9CkBAIC0xMDgyLDEwICsxMDgyLDggQEAKIAkJCWNyZWQucHJvdG9jb2wgPSB4c3RyZHVwKHNydmMtPnVzZV9zc2wgPyAiaW1hcHMiIDogImltYXAiKTsKIAkJCWNyZWQuaG9zdCA9IHhzdHJkdXAoc3J2Yy0+aG9zdCk7CiAKLQkJCWlmIChzcnZjLT51c2VyKQotCQkJCWNyZWQudXNlcm5hbWUgPSB4c3RyZHVwKHNydmMtPnVzZXIpOwotCQkJaWYgKHNydmMtPnBhc3MpCi0JCQkJY3JlZC5wYXNzd29yZCA9IHhzdHJkdXAoc3J2Yy0+cGFzcyk7CisJCQljcmVkLnVzZXJuYW1lID0geHN0cmR1cF9vcl9udWxsKHNydmMtPnVzZXIpOworCQkJY3JlZC5wYXNzd29yZCA9IHhzdHJkdXBfb3JfbnVsbChzcnZjLT5wYXNzKTsKIAogCQkJY3JlZGVudGlhbF9maWxsKCZjcmVkKTsKIApAQCAtMTQxMCw2ICsxNDA4LDcgQEAKIAljdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfVVNFUk5BTUUsIHNlcnZlci51c2VyKTsKIAljdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfUEFTU1dPUkQsIHNlcnZlci5wYXNzKTsKIAorCXN0cmJ1Zl9hZGRzdHIoJnBhdGgsIHNlcnZlci51c2Vfc3NsID8gImltYXBzOi8vIiA6ICJpbWFwOi8vIik7CiAJc3RyYnVmX2FkZHN0cigmcGF0aCwgc2VydmVyLmhvc3QpOwogCWlmICghcGF0aC5sZW4gfHwgcGF0aC5idWZbcGF0aC5sZW4gLSAxXSAhPSAnLycpCiAJCXN0cmJ1Zl9hZGRjaCgmcGF0aCwgJy8nKTsKQEAgLTE0NDMsNiArMTQ0Miw3IEBACiAKIAlpZiAoMCA8IHZlcmJvc2l0eSB8fCBnZXRlbnYoIkdJVF9DVVJMX1ZFUkJPU0UiKSkKIAkJY3VybF9lYXN5X3NldG9wdChjdXJsLCBDVVJMT1BUX1ZFUkJPU0UsIDFMKTsKKwlzZXR1cF9jdXJsX3RyYWNlKGN1cmwpOwogCiAJcmV0dXJuIGN1cmw7CiB9CmRpZmYgLS1naXQgYS9pdGVyYXRvci5oIGIvaXRlcmF0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjY5MDBlCi0tLSAvZGV2L251bGwKKysrIGIvaXRlcmF0b3IuaApAQCAtMCwwICsxLDgxIEBACisjaWZuZGVmIElURVJBVE9SX0gKKyNkZWZpbmUgSVRFUkFUT1JfSAorCisvKgorICogR2VuZXJpYyBjb25zdGFudHMgcmVsYXRlZCB0byBpdGVyYXRvcnMuCisgKi8KKworLyoKKyAqIFRoZSBhdHRlbXB0IHRvIGFkdmFuY2UgdGhlIGl0ZXJhdG9yIHdhcyBzdWNjZXNzZnVsOyB0aGUgaXRlcmF0b3IKKyAqIHJlZmxlY3RzIHRoZSBuZXcgY3VycmVudCBlbnRyeS4KKyAqLworI2RlZmluZSBJVEVSX09LIDAKKworLyoKKyAqIFRoZSBpdGVyYXRvciBpcyBleGhhdXN0ZWQgYW5kIGhhcyBiZWVuIGZyZWVkLgorICovCisjZGVmaW5lIElURVJfRE9ORSAtMQorCisvKgorICogVGhlIGl0ZXJhdG9yIGV4cGVyaWVuY2VkIGFuIGVycm9yLiBUaGUgaXRlcmF0aW9uIGhhcyBiZWVuIGFib3J0ZWQKKyAqIGFuZCB0aGUgaXRlcmF0b3IgaGFzIGJlZW4gZnJlZWQuCisgKi8KKyNkZWZpbmUgSVRFUl9FUlJPUiAtMgorCisvKgorICogUmV0dXJuIHZhbHVlcyBmb3Igc2VsZWN0b3IgZnVuY3Rpb25zIGZvciBtZXJnZSBpdGVyYXRvcnMuIFRoZQorICogbnVtZXJpY2FsIHZhbHVlcyBvZiB0aGVzZSBjb25zdGFudHMgYXJlIGltcG9ydGFudCBhbmQgbXVzdCBiZQorICogY29tcGF0aWJsZSB3aXRoIElURVJfRE9ORSBhbmQgSVRFUl9FUlJPUi4KKyAqLworZW51bSBpdGVyYXRvcl9zZWxlY3Rpb24geworCS8qIEVuZCB0aGUgaXRlcmF0aW9uIHdpdGhvdXQgYW4gZXJyb3I6ICovCisJSVRFUl9TRUxFQ1RfRE9ORSA9IElURVJfRE9ORSwKKworCS8qIFJlcG9ydCBhbiBlcnJvciBhbmQgYWJvcnQgdGhlIGl0ZXJhdGlvbjogKi8KKwlJVEVSX1NFTEVDVF9FUlJPUiA9IElURVJfRVJST1IsCisKKwkvKgorCSAqIFRoZSBuZXh0IGdyb3VwIG9mIGNvbnN0YW50cyBhcmUgbWFza3MgdGhhdCBhcmUgdXNlZnVsCisJICogbWFpbmx5IGludGVybmFsbHkuCisJICovCisKKwkvKiBUaGUgTFNCIHNlbGVjdHMgd2hldGhlciBpdGVyMC9pdGVyMSBpcyB0aGUgImN1cnJlbnQiIGl0ZXJhdG9yOiAqLworCUlURVJfQ1VSUkVOVF9TRUxFQ1RJT05fTUFTSyA9IDB4MDEsCisKKwkvKiBpdGVyMCBpcyB0aGUgImN1cnJlbnQiIGl0ZXJhdG9yIHRoaXMgcm91bmQ6ICovCisJSVRFUl9DVVJSRU5UX1NFTEVDVElPTl8wID0gMHgwMCwKKworCS8qIGl0ZXIxIGlzIHRoZSAiY3VycmVudCIgaXRlcmF0b3IgdGhpcyByb3VuZDogKi8KKwlJVEVSX0NVUlJFTlRfU0VMRUNUSU9OXzEgPSAweDAxLAorCisJLyogWWllbGQgdGhlIHZhbHVlIGZyb20gdGhlIGN1cnJlbnQgaXRlcmF0b3I/ICovCisJSVRFUl9ZSUVMRF9DVVJSRU5UID0gMHgwMiwKKworCS8qIERpc2NhcmQgdGhlIHZhbHVlIGZyb20gdGhlIHNlY29uZGFyeSBpdGVyYXRvcj8gKi8KKwlJVEVSX1NLSVBfU0VDT05EQVJZID0gMHgwNCwKKworCS8qCisJICogVGhlIGNvbnN0YW50cyB0aGF0IGEgc2VsZWN0b3IgZnVuY3Rpb24gc2hvdWxkIHVzdWFsbHkKKwkgKiByZXR1cm4uCisJICovCisKKwkvKiBZaWVsZCB0aGUgdmFsdWUgZnJvbSBpdGVyMDogKi8KKwlJVEVSX1NFTEVDVF8wID0gSVRFUl9DVVJSRU5UX1NFTEVDVElPTl8wIHwgSVRFUl9ZSUVMRF9DVVJSRU5ULAorCisJLyogWWllbGQgdGhlIHZhbHVlIGZyb20gaXRlcjAgYW5kIGRpc2NhcmQgdGhlIG9uZSBmcm9tIGl0ZXIxOiAqLworCUlURVJfU0VMRUNUXzBfU0tJUF8xID0gSVRFUl9TRUxFQ1RfMCB8IElURVJfU0tJUF9TRUNPTkRBUlksCisKKwkvKiBEaXNjYXJkIHRoZSB2YWx1ZSBmcm9tIGl0ZXIwIHdpdGhvdXQgeWllbGRpbmcgYW55dGhpbmcgdGhpcyByb3VuZDogKi8KKwlJVEVSX1NLSVBfMCA9IElURVJfQ1VSUkVOVF9TRUxFQ1RJT05fMSB8IElURVJfU0tJUF9TRUNPTkRBUlksCisKKwkvKiBZaWVsZCB0aGUgdmFsdWUgZnJvbSBpdGVyMTogKi8KKwlJVEVSX1NFTEVDVF8xID0gSVRFUl9DVVJSRU5UX1NFTEVDVElPTl8xIHwgSVRFUl9ZSUVMRF9DVVJSRU5ULAorCisJLyogWWllbGQgdGhlIHZhbHVlIGZyb20gaXRlcjEgYW5kIGRpc2NhcmQgdGhlIG9uZSBmcm9tIGl0ZXIwOiAqLworCUlURVJfU0VMRUNUXzFfU0tJUF8wID0gSVRFUl9TRUxFQ1RfMSB8IElURVJfU0tJUF9TRUNPTkRBUlksCisKKwkvKiBEaXNjYXJkIHRoZSB2YWx1ZSBmcm9tIGl0ZXIxIHdpdGhvdXQgeWllbGRpbmcgYW55dGhpbmcgdGhpcyByb3VuZDogKi8KKwlJVEVSX1NLSVBfMSA9IElURVJfQ1VSUkVOVF9TRUxFQ1RJT05fMCB8IElURVJfU0tJUF9TRUNPTkRBUlkKK307CisKKyNlbmRpZiAvKiBJVEVSQVRPUl9IICovCmRpZmYgLS1naXQgYS9saW5lLWxvZy5jIGIvbGluZS1sb2cuYwppbmRleCBiYmUzMWVkLi42NWYzNTU4IDEwMDY0NAotLS0gYS9saW5lLWxvZy5jCisrKyBiL2xpbmUtbG9nLmMKQEAgLTExMyw3ICsxMTMsNyBAQAogCWludCBpOwogCWludCBvID0gMDsgLyogb3V0cHV0IGN1cnNvciAqLwogCi0JcXNvcnQocnMtPnJhbmdlcywgcnMtPm5yLCBzaXplb2Yoc3RydWN0IHJhbmdlKSwgcmFuZ2VfY21wKTsKKwlRU09SVChycy0+cmFuZ2VzLCBycy0+bnIsIHJhbmdlX2NtcCk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgcnMtPm5yOyBpKyspIHsKIAkJaWYgKHJzLT5yYW5nZXNbaV0uc3RhcnQgPT0gcnMtPnJhbmdlc1tpXS5lbmQpCkBAIC00ODAsOCArNDgwLDcgQEAKIAkJc3RydWN0IG9iamVjdCAqb2JqID0gcmV2cy0+cGVuZGluZy5vYmplY3RzW2ldLml0ZW07CiAJCWlmIChvYmotPmZsYWdzICYgVU5JTlRFUkVTVElORykKIAkJCWNvbnRpbnVlOwotCQl3aGlsZSAob2JqLT50eXBlID09IE9CSl9UQUcpCi0JCQlvYmogPSBkZXJlZl90YWcob2JqLCBOVUxMLCAwKTsKKwkJb2JqID0gZGVyZWZfdGFnKG9iaiwgTlVMTCwgMCk7CiAJCWlmIChvYmotPnR5cGUgIT0gT0JKX0NPTU1JVCkKIAkJCWRpZSgiTm9uIGNvbW1pdCAlcz8iLCByZXZzLT5wZW5kaW5nLm9iamVjdHNbaV0ubmFtZSk7CiAJCWlmIChjb21taXQpCkBAIC01MjAsNyArNTE5LDcgQEAKIAljaGFyICpkYXRhID0gTlVMTDsKIAogCWlmIChkaWZmX3BvcHVsYXRlX2ZpbGVzcGVjKHNwZWMsIDApKQotCQlkaWUoIkNhbm5vdCByZWFkIGJsb2IgJXMiLCBzaGExX3RvX2hleChzcGVjLT5zaGExKSk7CisJCWRpZSgiQ2Fubm90IHJlYWQgYmxvYiAlcyIsIG9pZF90b19oZXgoJnNwZWMtPm9pZCkpOwogCiAJQUxMT0NfQVJSQVkoZW5kcywgc2l6ZSk7CiAJZW5kc1tjdXIrK10gPSAwOwpAQCAtODQxLDcgKzg0MCw3IEBACiAKIHN0YXRpYyB2b2lkIHByaW50X2xpbmUoY29uc3QgY2hhciAqcHJlZml4LCBjaGFyIGZpcnN0LAogCQkgICAgICAgbG9uZyBsaW5lLCB1bnNpZ25lZCBsb25nICplbmRzLCB2b2lkICpkYXRhLAotCQkgICAgICAgY29uc3QgY2hhciAqY29sb3IsIGNvbnN0IGNoYXIgKnJlc2V0KQorCQkgICAgICAgY29uc3QgY2hhciAqY29sb3IsIGNvbnN0IGNoYXIgKnJlc2V0LCBGSUxFICpmaWxlKQogewogCWNoYXIgKmJlZ2luID0gZ2V0X250aF9saW5lKGxpbmUsIGVuZHMsIGRhdGEpOwogCWNoYXIgKmVuZCA9IGdldF9udGhfbGluZShsaW5lKzEsIGVuZHMsIGRhdGEpOwpAQCAtODUyLDE0ICs4NTEsMTQgQEAKIAkJaGFkX25sID0gMTsKIAl9CiAKLQlmcHV0cyhwcmVmaXgsIHN0ZG91dCk7Ci0JZnB1dHMoY29sb3IsIHN0ZG91dCk7Ci0JcHV0Y2hhcihmaXJzdCk7Ci0JZndyaXRlKGJlZ2luLCAxLCBlbmQtYmVnaW4sIHN0ZG91dCk7Ci0JZnB1dHMocmVzZXQsIHN0ZG91dCk7Ci0JcHV0Y2hhcignXG4nKTsKKwlmcHV0cyhwcmVmaXgsIGZpbGUpOworCWZwdXRzKGNvbG9yLCBmaWxlKTsKKwlwdXRjKGZpcnN0LCBmaWxlKTsKKwlmd3JpdGUoYmVnaW4sIDEsIGVuZC1iZWdpbiwgZmlsZSk7CisJZnB1dHMocmVzZXQsIGZpbGUpOworCXB1dGMoJ1xuJywgZmlsZSk7CiAJaWYgKCFoYWRfbmwpCi0JCWZwdXRzKCJcXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlXG4iLCBzdGRvdXQpOworCQlmcHV0cygiXFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZVxuIiwgZmlsZSk7CiB9CiAKIHN0YXRpYyBjaGFyICpvdXRwdXRfcHJlZml4KHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCkKQEAgLTg5NCwxNiArODkzLDE2IEBACiAJaWYgKCFwYWlyIHx8ICFkaWZmKQogCQlyZXR1cm47CiAKLQlpZiAocGFpci0+b25lLT5zaGExX3ZhbGlkKQorCWlmIChwYWlyLT5vbmUtPm9pZF92YWxpZCkKIAkJZmlsbF9saW5lX2VuZHMocGFpci0+b25lLCAmcF9saW5lcywgJnBfZW5kcyk7CiAJZmlsbF9saW5lX2VuZHMocGFpci0+dHdvLCAmdF9saW5lcywgJnRfZW5kcyk7CiAKLQlwcmludGYoIiVzJXNkaWZmIC0tZ2l0IGEvJXMgYi8lcyVzXG4iLCBwcmVmaXgsIGNfbWV0YSwgcGFpci0+b25lLT5wYXRoLCBwYWlyLT50d28tPnBhdGgsIGNfcmVzZXQpOwotCXByaW50ZigiJXMlcy0tLSAlcyVzJXNcbiIsIHByZWZpeCwgY19tZXRhLAotCSAgICAgICBwYWlyLT5vbmUtPnNoYTFfdmFsaWQgPyAiYS8iIDogIiIsCi0JICAgICAgIHBhaXItPm9uZS0+c2hhMV92YWxpZCA/IHBhaXItPm9uZS0+cGF0aCA6ICIvZGV2L251bGwiLAorCWZwcmludGYob3B0LT5maWxlLCAiJXMlc2RpZmYgLS1naXQgYS8lcyBiLyVzJXNcbiIsIHByZWZpeCwgY19tZXRhLCBwYWlyLT5vbmUtPnBhdGgsIHBhaXItPnR3by0+cGF0aCwgY19yZXNldCk7CisJZnByaW50ZihvcHQtPmZpbGUsICIlcyVzLS0tICVzJXMlc1xuIiwgcHJlZml4LCBjX21ldGEsCisJICAgICAgIHBhaXItPm9uZS0+b2lkX3ZhbGlkID8gImEvIiA6ICIiLAorCSAgICAgICBwYWlyLT5vbmUtPm9pZF92YWxpZCA/IHBhaXItPm9uZS0+cGF0aCA6ICIvZGV2L251bGwiLAogCSAgICAgICBjX3Jlc2V0KTsKLQlwcmludGYoIiVzJXMrKysgYi8lcyVzXG4iLCBwcmVmaXgsIGNfbWV0YSwgcGFpci0+dHdvLT5wYXRoLCBjX3Jlc2V0KTsKKwlmcHJpbnRmKG9wdC0+ZmlsZSwgIiVzJXMrKysgYi8lcyVzXG4iLCBwcmVmaXgsIGNfbWV0YSwgcGFpci0+dHdvLT5wYXRoLCBjX3Jlc2V0KTsKIAlmb3IgKGkgPSAwOyBpIDwgcmFuZ2UtPnJhbmdlcy5ucjsgaSsrKSB7CiAJCWxvbmcgcF9zdGFydCwgcF9lbmQ7CiAJCWxvbmcgdF9zdGFydCA9IHJhbmdlLT5yYW5nZXMucmFuZ2VzW2ldLnN0YXJ0OwpAQCAtOTQ1LDcgKzk0NCw3IEBACiAJCX0KIAogCQkvKiBOb3cgb3V0cHV0IGEgZGlmZiBodW5rIGZvciB0aGlzIHJhbmdlICovCi0JCXByaW50ZigiJXMlc0BAIC0lbGQsJWxkICslbGQsJWxkIEBAJXNcbiIsCisJCWZwcmludGYob3B0LT5maWxlLCAiJXMlc0BAIC0lbGQsJWxkICslbGQsJWxkIEBAJXNcbiIsCiAJCSAgICAgICBwcmVmaXgsIGNfZnJhZywKIAkJICAgICAgIHBfc3RhcnQrMSwgcF9lbmQtcF9zdGFydCwgdF9zdGFydCsxLCB0X2VuZC10X3N0YXJ0LAogCQkgICAgICAgY19yZXNldCk7CkBAIC05NTMsMTggKzk1MiwxOCBAQAogCQkJaW50IGs7CiAJCQlmb3IgKDsgdF9jdXIgPCBkaWZmLT50YXJnZXQucmFuZ2VzW2pdLnN0YXJ0OyB0X2N1cisrKQogCQkJCXByaW50X2xpbmUocHJlZml4LCAnICcsIHRfY3VyLCB0X2VuZHMsIHBhaXItPnR3by0+ZGF0YSwKLQkJCQkJICAgY19jb250ZXh0LCBjX3Jlc2V0KTsKKwkJCQkJICAgY19jb250ZXh0LCBjX3Jlc2V0LCBvcHQtPmZpbGUpOwogCQkJZm9yIChrID0gZGlmZi0+cGFyZW50LnJhbmdlc1tqXS5zdGFydDsgayA8IGRpZmYtPnBhcmVudC5yYW5nZXNbal0uZW5kOyBrKyspCiAJCQkJcHJpbnRfbGluZShwcmVmaXgsICctJywgaywgcF9lbmRzLCBwYWlyLT5vbmUtPmRhdGEsCi0JCQkJCSAgIGNfb2xkLCBjX3Jlc2V0KTsKKwkJCQkJICAgY19vbGQsIGNfcmVzZXQsIG9wdC0+ZmlsZSk7CiAJCQlmb3IgKDsgdF9jdXIgPCBkaWZmLT50YXJnZXQucmFuZ2VzW2pdLmVuZCAmJiB0X2N1ciA8IHRfZW5kOyB0X2N1cisrKQogCQkJCXByaW50X2xpbmUocHJlZml4LCAnKycsIHRfY3VyLCB0X2VuZHMsIHBhaXItPnR3by0+ZGF0YSwKLQkJCQkJICAgY19uZXcsIGNfcmVzZXQpOworCQkJCQkgICBjX25ldywgY19yZXNldCwgb3B0LT5maWxlKTsKIAkJCWorKzsKIAkJfQogCQlmb3IgKDsgdF9jdXIgPCB0X2VuZDsgdF9jdXIrKykKIAkJCXByaW50X2xpbmUocHJlZml4LCAnICcsIHRfY3VyLCB0X2VuZHMsIHBhaXItPnR3by0+ZGF0YSwKLQkJCQkgICBjX2NvbnRleHQsIGNfcmVzZXQpOworCQkJCSAgIGNfY29udGV4dCwgY19yZXNldCwgb3B0LT5maWxlKTsKIAl9CiAKIAlmcmVlKHBfZW5kcyk7CkBAIC05NzcsNyArOTc2LDcgQEAKICAqLwogc3RhdGljIHZvaWQgZHVtcF9kaWZmX2hhY2t5KHN0cnVjdCByZXZfaW5mbyAqcmV2LCBzdHJ1Y3QgbGluZV9sb2dfZGF0YSAqcmFuZ2UpCiB7Ci0JcHV0cyhvdXRwdXRfcHJlZml4KCZyZXYtPmRpZmZvcHQpKTsKKwlmcHJpbnRmKHJldi0+ZGlmZm9wdC5maWxlLCAiJXNcbiIsIG91dHB1dF9wcmVmaXgoJnJldi0+ZGlmZm9wdCkpOwogCXdoaWxlIChyYW5nZSkgewogCQlkdW1wX2RpZmZfaGFja3lfb25lKHJldiwgcmFuZ2UpOwogCQlyYW5nZSA9IHJhbmdlLT5uZXh0OwpAQCAtMTAxMSwxMiArMTAxMCwxMiBAQAogCWlmIChyZy0+cmFuZ2VzLm5yID09IDApCiAJCXJldHVybiAwOwogCi0JYXNzZXJ0KHBhaXItPnR3by0+c2hhMV92YWxpZCk7CisJYXNzZXJ0KHBhaXItPnR3by0+b2lkX3ZhbGlkKTsKIAlkaWZmX3BvcHVsYXRlX2ZpbGVzcGVjKHBhaXItPnR3bywgMCk7CiAJZmlsZV90YXJnZXQucHRyID0gcGFpci0+dHdvLT5kYXRhOwogCWZpbGVfdGFyZ2V0LnNpemUgPSBwYWlyLT50d28tPnNpemU7CiAKLQlpZiAocGFpci0+b25lLT5zaGExX3ZhbGlkKSB7CisJaWYgKHBhaXItPm9uZS0+b2lkX3ZhbGlkKSB7CiAJCWRpZmZfcG9wdWxhdGVfZmlsZXNwZWMocGFpci0+b25lLCAwKTsKIAkJZmlsZV9wYXJlbnQucHRyID0gcGFpci0+b25lLT5kYXRhOwogCQlmaWxlX3BhcmVudC5zaXplID0gcGFpci0+b25lLT5zaXplOwpkaWZmIC0tZ2l0IGEvbGlzdC5oIGIvbGlzdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyMjZhODcKLS0tIC9kZXYvbnVsbAorKysgYi9saXN0LmgKQEAgLTAsMCArMSwxNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgKiAob3JpZ2luYWxseSBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5IGFuZCBVc2Vyc3BhY2UgUkNVKQorICogQ29udHJpYnV0ZWQgYnkgVWxyaWNoIERyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4sIDIwMDIuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IFBpZXJyZS1NYXJjIEZvdXJuaWVyCisgKiBDb252ZXJzaW9uIHRvIFJDVSBsaXN0LgorICogQ29weXJpZ2h0IChDKSAyMDEwIE1hdGhpZXUgRGVzbm95ZXJzIDxtYXRoaWV1LmRlc25veWVyc0BlZmZpY2lvcy5jb20+CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHNlZQorICogPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICovCisKKyNpZm5kZWYgTElTVF9ICisjZGVmaW5lIExJU1RfSAkxCisKKy8qCisgKiBUaGUgZGVmaW5pdGlvbnMgb2YgdGhpcyBmaWxlIGFyZSBhZG9wdGVkIGZyb20gdGhvc2Ugd2hpY2ggY2FuIGJlCisgKiBmb3VuZCBpbiB0aGUgTGludXgga2VybmVsIGhlYWRlcnMgdG8gZW5hYmxlIHBlb3BsZSBmYW1pbGlhciB3aXRoIHRoZQorICogbGF0dGVyIGZpbmQgdGhlaXIgd2F5IGluIHRoZXNlIHNvdXJjZXMgYXMgd2VsbC4KKyAqLworCisvKiBCYXNpYyB0eXBlIGZvciB0aGUgZG91YmxlLWxpbmsgbGlzdC4gKi8KK3N0cnVjdCBsaXN0X2hlYWQgeworCXN0cnVjdCBsaXN0X2hlYWQgKm5leHQsICpwcmV2OworfTsKKworLyogYXZvaWQgY29uZmxpY3RzIHdpdGggQlNELW9ubHkgc3lzL3F1ZXVlLmggKi8KKyN1bmRlZiBMSVNUX0hFQUQKKy8qIERlZmluZSBhIHZhcmlhYmxlIHdpdGggdGhlIGhlYWQgYW5kIHRhaWwgb2YgdGhlIGxpc3QuICovCisjZGVmaW5lIExJU1RfSEVBRChuYW1lKSBcCisJc3RydWN0IGxpc3RfaGVhZCBuYW1lID0geyAmKG5hbWUpLCAmKG5hbWUpIH0KKworLyogSW5pdGlhbGl6ZSBhIG5ldyBsaXN0IGhlYWQuICovCisjZGVmaW5lIElOSVRfTElTVF9IRUFEKHB0cikgXAorCShwdHIpLT5uZXh0ID0gKHB0ciktPnByZXYgPSAocHRyKQorCisjZGVmaW5lIExJU1RfSEVBRF9JTklUKG5hbWUpIHsgJihuYW1lKSwgJihuYW1lKSB9CisKKy8qIEFkZCBuZXcgZWxlbWVudCBhdCB0aGUgaGVhZCBvZiB0aGUgbGlzdC4gKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X2FkZChzdHJ1Y3QgbGlzdF9oZWFkICpuZXdwLCBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQoreworCWhlYWQtPm5leHQtPnByZXYgPSBuZXdwOworCW5ld3AtPm5leHQgPSBoZWFkLT5uZXh0OworCW5ld3AtPnByZXYgPSBoZWFkOworCWhlYWQtPm5leHQgPSBuZXdwOworfQorCisvKiBBZGQgbmV3IGVsZW1lbnQgYXQgdGhlIHRhaWwgb2YgdGhlIGxpc3QuICovCitzdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9hZGRfdGFpbChzdHJ1Y3QgbGlzdF9oZWFkICpuZXdwLCBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQoreworCWhlYWQtPnByZXYtPm5leHQgPSBuZXdwOworCW5ld3AtPm5leHQgPSBoZWFkOworCW5ld3AtPnByZXYgPSBoZWFkLT5wcmV2OworCWhlYWQtPnByZXYgPSBuZXdwOworfQorCisvKiBSZW1vdmUgZWxlbWVudCBmcm9tIGxpc3QuICovCitzdGF0aWMgaW5saW5lIHZvaWQgX19saXN0X2RlbChzdHJ1Y3QgbGlzdF9oZWFkICpwcmV2LCBzdHJ1Y3QgbGlzdF9oZWFkICpuZXh0KQoreworCW5leHQtPnByZXYgPSBwcmV2OworCXByZXYtPm5leHQgPSBuZXh0OworfQorCisvKiBSZW1vdmUgZWxlbWVudCBmcm9tIGxpc3QuICovCitzdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9kZWwoc3RydWN0IGxpc3RfaGVhZCAqZWxlbSkKK3sKKwlfX2xpc3RfZGVsKGVsZW0tPnByZXYsIGVsZW0tPm5leHQpOworfQorCisvKiBSZW1vdmUgZWxlbWVudCBmcm9tIGxpc3QsIGluaXRpYWxpemluZyB0aGUgZWxlbWVudCdzIGxpc3QgcG9pbnRlcnMuICovCitzdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9kZWxfaW5pdChzdHJ1Y3QgbGlzdF9oZWFkICplbGVtKQoreworCWxpc3RfZGVsKGVsZW0pOworCUlOSVRfTElTVF9IRUFEKGVsZW0pOworfQorCisvKiBEZWxldGUgZnJvbSBsaXN0LCBhZGQgdG8gYW5vdGhlciBsaXN0IGFzIGhlYWQuICovCitzdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9tb3ZlKHN0cnVjdCBsaXN0X2hlYWQgKmVsZW0sIHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQpCit7CisJX19saXN0X2RlbChlbGVtLT5wcmV2LCBlbGVtLT5uZXh0KTsKKwlsaXN0X2FkZChlbGVtLCBoZWFkKTsKK30KKworLyogUmVwbGFjZSBhbiBvbGQgZW50cnkuICovCitzdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9yZXBsYWNlKHN0cnVjdCBsaXN0X2hlYWQgKm9sZCwgc3RydWN0IGxpc3RfaGVhZCAqbmV3cCkKK3sKKwluZXdwLT5uZXh0ID0gb2xkLT5uZXh0OworCW5ld3AtPnByZXYgPSBvbGQtPnByZXY7CisJbmV3cC0+cHJldi0+bmV4dCA9IG5ld3A7CisJbmV3cC0+bmV4dC0+cHJldiA9IG5ld3A7Cit9CisKKy8qIEpvaW4gdHdvIGxpc3RzLiAqLworc3RhdGljIGlubGluZSB2b2lkIGxpc3Rfc3BsaWNlKHN0cnVjdCBsaXN0X2hlYWQgKmFkZCwgc3RydWN0IGxpc3RfaGVhZCAqaGVhZCkKK3sKKwkvKiBEbyBub3RoaW5nIGlmIHRoZSBsaXN0IHdoaWNoIGdldHMgYWRkZWQgaXMgZW1wdHkuICovCisJaWYgKGFkZCAhPSBhZGQtPm5leHQpIHsKKwkJYWRkLT5uZXh0LT5wcmV2ID0gaGVhZDsKKwkJYWRkLT5wcmV2LT5uZXh0ID0gaGVhZC0+bmV4dDsKKwkJaGVhZC0+bmV4dC0+cHJldiA9IGFkZC0+cHJldjsKKwkJaGVhZC0+bmV4dCA9IGFkZC0+bmV4dDsKKwl9Cit9CisKKy8qIEdldCB0eXBlZCBlbGVtZW50IGZyb20gbGlzdCBhdCBhIGdpdmVuIHBvc2l0aW9uLiAqLworI2RlZmluZSBsaXN0X2VudHJ5KHB0ciwgdHlwZSwgbWVtYmVyKSBcCisJKCh0eXBlICopICgoY2hhciAqKSAocHRyKSAtIG9mZnNldG9mKHR5cGUsIG1lbWJlcikpKQorCisvKiBHZXQgZmlyc3QgZW50cnkgZnJvbSBhIGxpc3QuICovCisjZGVmaW5lIGxpc3RfZmlyc3RfZW50cnkocHRyLCB0eXBlLCBtZW1iZXIpIFwKKwlsaXN0X2VudHJ5KChwdHIpLT5uZXh0LCB0eXBlLCBtZW1iZXIpCisKKy8qIEl0ZXJhdGUgZm9yd2FyZCBvdmVyIHRoZSBlbGVtZW50cyBvZiB0aGUgbGlzdC4gKi8KKyNkZWZpbmUgbGlzdF9mb3JfZWFjaChwb3MsIGhlYWQpIFwKKwlmb3IgKHBvcyA9IChoZWFkKS0+bmV4dDsgcG9zICE9IChoZWFkKTsgcG9zID0gcG9zLT5uZXh0KQorCisvKgorICogSXRlcmF0ZSBmb3J3YXJkIG92ZXIgdGhlIGVsZW1lbnRzIGxpc3QuIFRoZSBsaXN0IGVsZW1lbnRzIGNhbiBiZQorICogcmVtb3ZlZCBmcm9tIHRoZSBsaXN0IHdoaWxlIGRvaW5nIHRoaXMuCisgKi8KKyNkZWZpbmUgbGlzdF9mb3JfZWFjaF9zYWZlKHBvcywgcCwgaGVhZCkgXAorCWZvciAocG9zID0gKGhlYWQpLT5uZXh0LCBwID0gcG9zLT5uZXh0OyBcCisJCXBvcyAhPSAoaGVhZCk7IFwKKwkJcG9zID0gcCwgcCA9IHBvcy0+bmV4dCkKKworLyogSXRlcmF0ZSBiYWNrd2FyZCBvdmVyIHRoZSBlbGVtZW50cyBvZiB0aGUgbGlzdC4gKi8KKyNkZWZpbmUgbGlzdF9mb3JfZWFjaF9wcmV2KHBvcywgaGVhZCkgXAorCWZvciAocG9zID0gKGhlYWQpLT5wcmV2OyBwb3MgIT0gKGhlYWQpOyBwb3MgPSBwb3MtPnByZXYpCisKKy8qCisgKiBJdGVyYXRlIGJhY2t3YXJkcyBvdmVyIHRoZSBlbGVtZW50cyBsaXN0LiBUaGUgbGlzdCBlbGVtZW50cyBjYW4gYmUKKyAqIHJlbW92ZWQgZnJvbSB0aGUgbGlzdCB3aGlsZSBkb2luZyB0aGlzLgorICovCisjZGVmaW5lIGxpc3RfZm9yX2VhY2hfcHJldl9zYWZlKHBvcywgcCwgaGVhZCkgXAorCWZvciAocG9zID0gKGhlYWQpLT5wcmV2LCBwID0gcG9zLT5wcmV2OyBcCisJCXBvcyAhPSAoaGVhZCk7IFwKKwkJcG9zID0gcCwgcCA9IHBvcy0+cHJldikKKworc3RhdGljIGlubGluZSBpbnQgbGlzdF9lbXB0eShzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQoreworCXJldHVybiBoZWFkID09IGhlYWQtPm5leHQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X3JlcGxhY2VfaW5pdChzdHJ1Y3QgbGlzdF9oZWFkICpvbGQsCisJCQkJICAgICBzdHJ1Y3QgbGlzdF9oZWFkICpuZXdwKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQgPSBvbGQtPm5leHQ7CisKKwlsaXN0X2RlbChvbGQpOworCWxpc3RfYWRkX3RhaWwobmV3cCwgaGVhZCk7CisJSU5JVF9MSVNUX0hFQUQob2xkKTsKK30KKworI2VuZGlmIC8qIExJU1RfSCAqLwpkaWZmIC0tZ2l0IGEvbG9ja2ZpbGUuaCBiL2xvY2tmaWxlLmgKaW5kZXggM2QzMDE5My4uZDI2YWQyNyAxMDA2NDQKLS0tIGEvbG9ja2ZpbGUuaAorKysgYi9sb2NrZmlsZS5oCkBAIC01NSw2ICs1NSwxMCBAQAogICogICAqIGNhbGxpbmcgYGZkb3Blbl9sb2NrX2ZpbGUoKWAgdG8gZ2V0IGEgYEZJTEVgIHBvaW50ZXIgZm9yIHRoZQogICogICAgIG9wZW4gZmlsZSBhbmQgd3JpdGluZyB0byB0aGUgZmlsZSB1c2luZyBzdGRpby4KICAqCisgKiAgIE5vdGUgdGhhdCB0aGUgZmlsZSBkZXNjcmlwdG9yIHJldHVybmVkIGJ5IGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGUoKQorICogICBpcyBtYXJrZWQgT19DTE9FWEVDLCBzbyB0aGUgbmV3IGNvbnRlbnRzIG11c3QgYmUgd3JpdHRlbiBieSB0aGUKKyAqICAgY3VycmVudCBwcm9jZXNzLCBub3QgYSBzcGF3bmVkIG9uZS4KKyAqCiAgKiBXaGVuIGZpbmlzaGVkIHdyaXRpbmcsIHRoZSBjYWxsZXIgY2FuOgogICoKICAqICogQ2xvc2UgdGhlIGZpbGUgZGVzY3JpcHRvciBhbmQgcmVuYW1lIHRoZSBsb2NrZmlsZSB0byBpdHMgZmluYWwKZGlmZiAtLWdpdCBhL2xvZy10cmVlLmMgYi9sb2ctdHJlZS5jCmluZGV4IDc4YTUzODEuLjhjMjQxNTcgMTAwNjQ0Ci0tLSBhL2xvZy10cmVlLmMKKysrIGIvbG9nLXRyZWUuYwpAQCAtMTU5LDEyICsxNTksMTIgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIHNob3dfcGFyZW50cyhzdHJ1Y3QgY29tbWl0ICpjb21taXQsIGludCBhYmJyZXYpCitzdGF0aWMgdm9pZCBzaG93X3BhcmVudHMoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBpbnQgYWJicmV2LCBGSUxFICpmaWxlKQogewogCXN0cnVjdCBjb21taXRfbGlzdCAqcDsKIAlmb3IgKHAgPSBjb21taXQtPnBhcmVudHM7IHAgOyBwID0gcC0+bmV4dCkgewogCQlzdHJ1Y3QgY29tbWl0ICpwYXJlbnQgPSBwLT5pdGVtOwotCQlwcmludGYoIiAlcyIsIGZpbmRfdW5pcXVlX2FiYnJldihwYXJlbnQtPm9iamVjdC5vaWQuaGFzaCwgYWJicmV2KSk7CisJCWZwcmludGYoZmlsZSwgIiAlcyIsIGZpbmRfdW5pcXVlX2FiYnJldihwYXJlbnQtPm9iamVjdC5vaWQuaGFzaCwgYWJicmV2KSk7CiAJfQogfQogCkBAIC0xNzIsNyArMTcyLDcgQEAKIHsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKnAgPSBsb29rdXBfZGVjb3JhdGlvbigmb3B0LT5jaGlsZHJlbiwgJmNvbW1pdC0+b2JqZWN0KTsKIAlmb3IgKCA7IHA7IHAgPSBwLT5uZXh0KSB7Ci0JCXByaW50ZigiICVzIiwgZmluZF91bmlxdWVfYWJicmV2KHAtPml0ZW0tPm9iamVjdC5vaWQuaGFzaCwgYWJicmV2KSk7CisJCWZwcmludGYob3B0LT5kaWZmb3B0LmZpbGUsICIgJXMiLCBmaW5kX3VuaXF1ZV9hYmJyZXYocC0+aXRlbS0+b2JqZWN0Lm9pZC5oYXNoLCBhYmJyZXYpKTsKIAl9CiB9CiAKQEAgLTI2Myw4ICsyNjMsNiBAQAogCiAJCQlpZiAoY3VycmVudF9hbmRfSEVBRCAmJgogCQkJICAgIGRlY29yYXRpb24tPnR5cGUgPT0gREVDT1JBVElPTl9SRUZfSEVBRCkgewotCQkJCXN0cmJ1Zl9hZGRzdHIoc2IsIGNvbG9yX3Jlc2V0KTsKLQkJCQlzdHJidWZfYWRkc3RyKHNiLCBjb2xvcl9jb21taXQpOwogCQkJCXN0cmJ1Zl9hZGRzdHIoc2IsICIgLT4gIik7CiAJCQkJc3RyYnVmX2FkZHN0cihzYiwgY29sb3JfcmVzZXQpOwogCQkJCXN0cmJ1Zl9hZGRzdHIoc2IsIGRlY29yYXRlX2dldF9jb2xvcih1c2VfY29sb3IsIGN1cnJlbnRfYW5kX0hFQUQtPnR5cGUpKTsKQEAgLTI4NiwxMSArMjg0LDExIEBACiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCiAJaWYgKG9wdC0+c2hvd19zb3VyY2UgJiYgY29tbWl0LT51dGlsKQotCQlwcmludGYoIlx0JXMiLCAoY2hhciAqKSBjb21taXQtPnV0aWwpOworCQlmcHJpbnRmKG9wdC0+ZGlmZm9wdC5maWxlLCAiXHQlcyIsIChjaGFyICopIGNvbW1pdC0+dXRpbCk7CiAJaWYgKCFvcHQtPnNob3dfZGVjb3JhdGlvbnMpCiAJCXJldHVybjsKIAlmb3JtYXRfZGVjb3JhdGlvbnMoJnNiLCBjb21taXQsIG9wdC0+ZGlmZm9wdC51c2VfY29sb3IpOwotCWZwdXRzKHNiLmJ1Ziwgc3Rkb3V0KTsKKwlmcHV0cyhzYi5idWYsIG9wdC0+ZGlmZm9wdC5maWxlKTsKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwogfQogCkBAIC0zNjQsMTggKzM2MiwxOCBAQAogCQlzdWJqZWN0ID0gIlN1YmplY3Q6ICI7CiAJfQogCi0JcHJpbnRmKCJGcm9tICVzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMVxuIiwgbmFtZSk7CisJZnByaW50ZihvcHQtPmRpZmZvcHQuZmlsZSwgIkZyb20gJXMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxXG4iLCBuYW1lKTsKIAlncmFwaF9zaG93X29uZWxpbmUob3B0LT5ncmFwaCk7CiAJaWYgKG9wdC0+bWVzc2FnZV9pZCkgewotCQlwcmludGYoIk1lc3NhZ2UtSWQ6IDwlcz5cbiIsIG9wdC0+bWVzc2FnZV9pZCk7CisJCWZwcmludGYob3B0LT5kaWZmb3B0LmZpbGUsICJNZXNzYWdlLUlkOiA8JXM+XG4iLCBvcHQtPm1lc3NhZ2VfaWQpOwogCQlncmFwaF9zaG93X29uZWxpbmUob3B0LT5ncmFwaCk7CiAJfQogCWlmIChvcHQtPnJlZl9tZXNzYWdlX2lkcyAmJiBvcHQtPnJlZl9tZXNzYWdlX2lkcy0+bnIgPiAwKSB7CiAJCWludCBpLCBuOwogCQluID0gb3B0LT5yZWZfbWVzc2FnZV9pZHMtPm5yOwotCQlwcmludGYoIkluLVJlcGx5LVRvOiA8JXM+XG4iLCBvcHQtPnJlZl9tZXNzYWdlX2lkcy0+aXRlbXNbbi0xXS5zdHJpbmcpOworCQlmcHJpbnRmKG9wdC0+ZGlmZm9wdC5maWxlLCAiSW4tUmVwbHktVG86IDwlcz5cbiIsIG9wdC0+cmVmX21lc3NhZ2VfaWRzLT5pdGVtc1tuLTFdLnN0cmluZyk7CiAJCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspCi0JCQlwcmludGYoIiVzPCVzPlxuIiwgKGkgPiAwID8gIlx0IiA6ICJSZWZlcmVuY2VzOiAiKSwKKwkJCWZwcmludGYob3B0LT5kaWZmb3B0LmZpbGUsICIlczwlcz5cbiIsIChpID4gMCA/ICJcdCIgOiAiUmVmZXJlbmNlczogIiksCiAJCQkgICAgICAgb3B0LT5yZWZfbWVzc2FnZV9pZHMtPml0ZW1zW2ldLnN0cmluZyk7CiAJCWdyYXBoX3Nob3dfb25lbGluZShvcHQtPmdyYXBoKTsKIAl9CkBAIC00MzIsNyArNDMwLDcgQEAKIAlyZXNldCA9IGRpZmZfZ2V0X2NvbG9yX29wdCgmb3B0LT5kaWZmb3B0LCBESUZGX1JFU0VUKTsKIAl3aGlsZSAoKmJvbCkgewogCQllb2wgPSBzdHJjaHJudWwoYm9sLCAnXG4nKTsKLQkJcHJpbnRmKCIlcyUuKnMlcyVzIiwgY29sb3IsIChpbnQpKGVvbCAtIGJvbCksIGJvbCwgcmVzZXQsCisJCWZwcmludGYob3B0LT5kaWZmb3B0LmZpbGUsICIlcyUuKnMlcyVzIiwgY29sb3IsIChpbnQpKGVvbCAtIGJvbCksIGJvbCwgcmVzZXQsCiAJCSAgICAgICAqZW9sID8gIlxuIiA6ICIiKTsKIAkJZ3JhcGhfc2hvd19vbmVsaW5lKG9wdC0+Z3JhcGgpOwogCQlib2wgPSAoKmVvbCkgPyAoZW9sICsgMSkgOiBlb2w7CkBAIC01NTMsMTcgKzU1MSwxNyBAQAogCiAJCWlmICghb3B0LT5ncmFwaCkKIAkJCXB1dF9yZXZpc2lvbl9tYXJrKG9wdCwgY29tbWl0KTsKLQkJZnB1dHMoZmluZF91bmlxdWVfYWJicmV2KGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCBhYmJyZXZfY29tbWl0KSwgc3Rkb3V0KTsKKwkJZnB1dHMoZmluZF91bmlxdWVfYWJicmV2KGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCBhYmJyZXZfY29tbWl0KSwgb3B0LT5kaWZmb3B0LmZpbGUpOwogCQlpZiAob3B0LT5wcmludF9wYXJlbnRzKQotCQkJc2hvd19wYXJlbnRzKGNvbW1pdCwgYWJicmV2X2NvbW1pdCk7CisJCQlzaG93X3BhcmVudHMoY29tbWl0LCBhYmJyZXZfY29tbWl0LCBvcHQtPmRpZmZvcHQuZmlsZSk7CiAJCWlmIChvcHQtPmNoaWxkcmVuLm5hbWUpCiAJCQlzaG93X2NoaWxkcmVuKG9wdCwgY29tbWl0LCBhYmJyZXZfY29tbWl0KTsKIAkJc2hvd19kZWNvcmF0aW9ucyhvcHQsIGNvbW1pdCk7CiAJCWlmIChvcHQtPmdyYXBoICYmICFncmFwaF9pc19jb21taXRfZmluaXNoZWQob3B0LT5ncmFwaCkpIHsKLQkJCXB1dGNoYXIoJ1xuJyk7CisJCQlwdXRjKCdcbicsIG9wdC0+ZGlmZm9wdC5maWxlKTsKIAkJCWdyYXBoX3Nob3dfcmVtYWluZGVyKG9wdC0+Z3JhcGgpOwogCQl9Ci0JCXB1dGNoYXIob3B0LT5kaWZmb3B0LmxpbmVfdGVybWluYXRpb24pOworCQlwdXRjKG9wdC0+ZGlmZm9wdC5saW5lX3Rlcm1pbmF0aW9uLCBvcHQtPmRpZmZvcHQuZmlsZSk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTU4OSw3ICs1ODcsNyBAQAogCQlpZiAob3B0LT5kaWZmb3B0LmxpbmVfdGVybWluYXRpb24gPT0gJ1xuJyAmJgogCQkgICAgIW9wdC0+bWlzc2luZ19uZXdsaW5lKQogCQkJZ3JhcGhfc2hvd19wYWRkaW5nKG9wdC0+Z3JhcGgpOwotCQlwdXRjaGFyKG9wdC0+ZGlmZm9wdC5saW5lX3Rlcm1pbmF0aW9uKTsKKwkJcHV0YyhvcHQtPmRpZmZvcHQubGluZV90ZXJtaW5hdGlvbiwgb3B0LT5kaWZmb3B0LmZpbGUpOwogCX0KIAlvcHQtPnNob3duX29uZSA9IDE7CiAKQEAgLTYwMywzMiArNjAxLDMyIEBACiAJICogUHJpbnQgaGVhZGVyIGxpbmUgb2YgaGVhZGVyLi4KIAkgKi8KIAotCWlmIChvcHQtPmNvbW1pdF9mb3JtYXQgPT0gQ01JVF9GTVRfRU1BSUwpIHsKKwlpZiAoY21pdF9mbXRfaXNfbWFpbChvcHQtPmNvbW1pdF9mb3JtYXQpKSB7CiAJCWxvZ193cml0ZV9lbWFpbF9oZWFkZXJzKG9wdCwgY29tbWl0LCAmY3R4LnN1YmplY3QsICZleHRyYV9oZWFkZXJzLAogCQkJCQkmY3R4Lm5lZWRfOGJpdF9jdGUpOwogCX0gZWxzZSBpZiAob3B0LT5jb21taXRfZm9ybWF0ICE9IENNSVRfRk1UX1VTRVJGT1JNQVQpIHsKLQkJZnB1dHMoZGlmZl9nZXRfY29sb3Jfb3B0KCZvcHQtPmRpZmZvcHQsIERJRkZfQ09NTUlUKSwgc3Rkb3V0KTsKKwkJZnB1dHMoZGlmZl9nZXRfY29sb3Jfb3B0KCZvcHQtPmRpZmZvcHQsIERJRkZfQ09NTUlUKSwgb3B0LT5kaWZmb3B0LmZpbGUpOwogCQlpZiAob3B0LT5jb21taXRfZm9ybWF0ICE9IENNSVRfRk1UX09ORUxJTkUpCi0JCQlmcHV0cygiY29tbWl0ICIsIHN0ZG91dCk7CisJCQlmcHV0cygiY29tbWl0ICIsIG9wdC0+ZGlmZm9wdC5maWxlKTsKIAogCQlpZiAoIW9wdC0+Z3JhcGgpCiAJCQlwdXRfcmV2aXNpb25fbWFyayhvcHQsIGNvbW1pdCk7CiAJCWZwdXRzKGZpbmRfdW5pcXVlX2FiYnJldihjb21taXQtPm9iamVjdC5vaWQuaGFzaCwgYWJicmV2X2NvbW1pdCksCi0JCSAgICAgIHN0ZG91dCk7CisJCSAgICAgIG9wdC0+ZGlmZm9wdC5maWxlKTsKIAkJaWYgKG9wdC0+cHJpbnRfcGFyZW50cykKLQkJCXNob3dfcGFyZW50cyhjb21taXQsIGFiYnJldl9jb21taXQpOworCQkJc2hvd19wYXJlbnRzKGNvbW1pdCwgYWJicmV2X2NvbW1pdCwgb3B0LT5kaWZmb3B0LmZpbGUpOwogCQlpZiAob3B0LT5jaGlsZHJlbi5uYW1lKQogCQkJc2hvd19jaGlsZHJlbihvcHQsIGNvbW1pdCwgYWJicmV2X2NvbW1pdCk7CiAJCWlmIChwYXJlbnQpCi0JCQlwcmludGYoIiAoZnJvbSAlcykiLAorCQkJZnByaW50ZihvcHQtPmRpZmZvcHQuZmlsZSwgIiAoZnJvbSAlcykiLAogCQkJICAgICAgIGZpbmRfdW5pcXVlX2FiYnJldihwYXJlbnQtPm9iamVjdC5vaWQuaGFzaCwKIAkJCQkJCSAgYWJicmV2X2NvbW1pdCkpOwotCQlmcHV0cyhkaWZmX2dldF9jb2xvcl9vcHQoJm9wdC0+ZGlmZm9wdCwgRElGRl9SRVNFVCksIHN0ZG91dCk7CisJCWZwdXRzKGRpZmZfZ2V0X2NvbG9yX29wdCgmb3B0LT5kaWZmb3B0LCBESUZGX1JFU0VUKSwgb3B0LT5kaWZmb3B0LmZpbGUpOwogCQlzaG93X2RlY29yYXRpb25zKG9wdCwgY29tbWl0KTsKIAkJaWYgKG9wdC0+Y29tbWl0X2Zvcm1hdCA9PSBDTUlUX0ZNVF9PTkVMSU5FKSB7Ci0JCQlwdXRjaGFyKCcgJyk7CisJCQlwdXRjKCcgJywgb3B0LT5kaWZmb3B0LmZpbGUpOwogCQl9IGVsc2UgewotCQkJcHV0Y2hhcignXG4nKTsKKwkJCXB1dGMoJ1xuJywgb3B0LT5kaWZmb3B0LmZpbGUpOwogCQkJZ3JhcGhfc2hvd19vbmVsaW5lKG9wdC0+Z3JhcGgpOwogCQl9CiAJCWlmIChvcHQtPnJlZmxvZ19pbmZvKSB7CkBAIC02ODcsNiArNjg1LDggQEAKIAljdHgub3V0cHV0X2VuY29kaW5nID0gZ2V0X2xvZ19vdXRwdXRfZW5jb2RpbmcoKTsKIAlpZiAob3B0LT5mcm9tX2lkZW50Lm1haWxfYmVnaW4gJiYgb3B0LT5mcm9tX2lkZW50Lm5hbWVfYmVnaW4pCiAJCWN0eC5mcm9tX2lkZW50ID0gJm9wdC0+ZnJvbV9pZGVudDsKKwlpZiAob3B0LT5ncmFwaCkKKwkJY3R4LmdyYXBoX3dpZHRoID0gZ3JhcGhfd2lkdGgob3B0LT5ncmFwaCk7CiAJcHJldHR5X3ByaW50X2NvbW1pdCgmY3R4LCBjb21taXQsICZtc2didWYpOwogCiAJaWYgKG9wdC0+YWRkX3NpZ25vZmYpCkBAIC02OTQsNyArNjk0LDcgQEAKIAogCWlmICgoY3R4LmZtdCAhPSBDTUlUX0ZNVF9VU0VSRk9STUFUKSAmJgogCSAgICBjdHgubm90ZXNfbWVzc2FnZSAmJiAqY3R4Lm5vdGVzX21lc3NhZ2UpIHsKLQkJaWYgKGN0eC5mbXQgPT0gQ01JVF9GTVRfRU1BSUwpIHsKKwkJaWYgKGNtaXRfZm10X2lzX21haWwoY3R4LmZtdCkpIHsKIAkJCXN0cmJ1Zl9hZGRzdHIoJm1zZ2J1ZiwgIi0tLVxuIik7CiAJCQlvcHQtPnNob3duX2Rhc2hlcyA9IDE7CiAJCX0KQEAgLTcwMiw3ICs3MDIsNyBAQAogCX0KIAogCWlmIChvcHQtPnNob3dfbG9nX3NpemUpIHsKLQkJcHJpbnRmKCJsb2cgc2l6ZSAlaVxuIiwgKGludCltc2didWYubGVuKTsKKwkJZnByaW50ZihvcHQtPmRpZmZvcHQuZmlsZSwgImxvZyBzaXplICVpXG4iLCAoaW50KW1zZ2J1Zi5sZW4pOwogCQlncmFwaF9zaG93X29uZWxpbmUob3B0LT5ncmFwaCk7CiAJfQogCkBAIC03MTUsMTQgKzcxNSwxMSBAQAogCWVsc2UKIAkJb3B0LT5taXNzaW5nX25ld2xpbmUgPSAwOwogCi0JaWYgKG9wdC0+Z3JhcGgpCi0JCWdyYXBoX3Nob3dfY29tbWl0X21zZyhvcHQtPmdyYXBoLCAmbXNnYnVmKTsKLQllbHNlCi0JCWZ3cml0ZShtc2didWYuYnVmLCBzaXplb2YoY2hhciksIG1zZ2J1Zi5sZW4sIHN0ZG91dCk7CisJZ3JhcGhfc2hvd19jb21taXRfbXNnKG9wdC0+Z3JhcGgsIG9wdC0+ZGlmZm9wdC5maWxlLCAmbXNnYnVmKTsKIAlpZiAob3B0LT51c2VfdGVybWluYXRvciAmJiAhY29tbWl0X2Zvcm1hdF9pc19lbXB0eShvcHQtPmNvbW1pdF9mb3JtYXQpKSB7CiAJCWlmICghb3B0LT5taXNzaW5nX25ld2xpbmUpCiAJCQlncmFwaF9zaG93X3BhZGRpbmcob3B0LT5ncmFwaCk7Ci0JCXB1dGNoYXIob3B0LT5kaWZmb3B0LmxpbmVfdGVybWluYXRpb24pOworCQlwdXRjKG9wdC0+ZGlmZm9wdC5saW5lX3Rlcm1pbmF0aW9uLCBvcHQtPmRpZmZvcHQuZmlsZSk7CiAJfQogCiAJc3RyYnVmX3JlbGVhc2UoJm1zZ2J1Zik7CkBAIC03NTksNyArNzU2LDcgQEAKIAkJCQlzdHJ1Y3Qgc3RyYnVmICptc2cgPSBOVUxMOwogCQkJCW1zZyA9IG9wdC0+ZGlmZm9wdC5vdXRwdXRfcHJlZml4KCZvcHQtPmRpZmZvcHQsCiAJCQkJCW9wdC0+ZGlmZm9wdC5vdXRwdXRfcHJlZml4X2RhdGEpOwotCQkJCWZ3cml0ZShtc2ctPmJ1ZiwgbXNnLT5sZW4sIDEsIHN0ZG91dCk7CisJCQkJZndyaXRlKG1zZy0+YnVmLCBtc2ctPmxlbiwgMSwgb3B0LT5kaWZmb3B0LmZpbGUpOwogCQkJfQogCiAJCQkvKgpAQCAtNzc0LDggKzc3MSw4IEBACiAJCQkgKi8KIAkJCWlmICghb3B0LT5zaG93bl9kYXNoZXMgJiYKIAkJCSAgICAocGNoICYgb3B0LT5kaWZmb3B0Lm91dHB1dF9mb3JtYXQpID09IHBjaCkKLQkJCQlwcmludGYoIi0tLSIpOwotCQkJcHV0Y2hhcignXG4nKTsKKwkJCQlmcHJpbnRmKG9wdC0+ZGlmZm9wdC5maWxlLCAiLS0tIik7CisJCQlwdXRjKCdcbicsIG9wdC0+ZGlmZm9wdC5maWxlKTsKIAkJfQogCX0KIAlkaWZmX2ZsdXNoKCZvcHQtPmRpZmZvcHQpOwpAQCAtODYyLDE3ICs4NTksMTggQEAKIGludCBsb2dfdHJlZV9jb21taXQoc3RydWN0IHJldl9pbmZvICpvcHQsIHN0cnVjdCBjb21taXQgKmNvbW1pdCkKIHsKIAlzdHJ1Y3QgbG9nX2luZm8gbG9nOwotCWludCBzaG93bjsKKwlpbnQgc2hvd24sIGNsb3NlX2ZpbGUgPSBvcHQtPmRpZmZvcHQuY2xvc2VfZmlsZTsKIAogCWxvZy5jb21taXQgPSBjb21taXQ7CiAJbG9nLnBhcmVudCA9IE5VTEw7CiAJb3B0LT5sb2dpbmZvID0gJmxvZzsKKwlvcHQtPmRpZmZvcHQuY2xvc2VfZmlsZSA9IDA7CiAKIAlpZiAob3B0LT5saW5lX2xldmVsX3RyYXZlcnNlKQogCQlyZXR1cm4gbGluZV9sb2dfcHJpbnQob3B0LCBjb21taXQpOwogCiAJaWYgKG9wdC0+dHJhY2tfbGluZWFyICYmICFvcHQtPmxpbmVhciAmJiAhb3B0LT5yZXZlcnNlX291dHB1dF9zdGFnZSkKLQkJcHJpbnRmKCJcbiVzXG4iLCBvcHQtPmJyZWFrX2Jhcik7CisJCWZwcmludGYob3B0LT5kaWZmb3B0LmZpbGUsICJcbiVzXG4iLCBvcHQtPmJyZWFrX2Jhcik7CiAJc2hvd24gPSBsb2dfdHJlZV9kaWZmKG9wdCwgY29tbWl0LCAmbG9nKTsKIAlpZiAoIXNob3duICYmIG9wdC0+bG9naW5mbyAmJiBvcHQtPmFsd2F5c19zaG93X2hlYWRlcikgewogCQlsb2cucGFyZW50ID0gTlVMTDsKQEAgLTg4MCw4ICs4NzgsMTAgQEAKIAkJc2hvd24gPSAxOwogCX0KIAlpZiAob3B0LT50cmFja19saW5lYXIgJiYgIW9wdC0+bGluZWFyICYmIG9wdC0+cmV2ZXJzZV9vdXRwdXRfc3RhZ2UpCi0JCXByaW50ZigiXG4lc1xuIiwgb3B0LT5icmVha19iYXIpOworCQlmcHJpbnRmKG9wdC0+ZGlmZm9wdC5maWxlLCAiXG4lc1xuIiwgb3B0LT5icmVha19iYXIpOwogCW9wdC0+bG9naW5mbyA9IE5VTEw7Ci0JbWF5YmVfZmx1c2hfb3JfZGllKHN0ZG91dCwgInN0ZG91dCIpOworCW1heWJlX2ZsdXNoX29yX2RpZShvcHQtPmRpZmZvcHQuZmlsZSwgInN0ZG91dCIpOworCWlmIChjbG9zZV9maWxlKQorCQlmY2xvc2Uob3B0LT5kaWZmb3B0LmZpbGUpOwogCXJldHVybiBzaG93bjsKIH0KZGlmZiAtLWdpdCBhL21haWxpbmZvLmMgYi9tYWlsaW5mby5jCmluZGV4IDlmMTljYTEuLjJmYjM4NzcgMTAwNjQ0Ci0tLSBhL21haWxpbmZvLmMKKysrIGIvbWFpbGluZm8uYwpAQCAtNTQsNiArNTQsODYgQEAKIAlnZXRfc2FuZV9uYW1lKCZtaS0+bmFtZSwgJm1pLT5uYW1lLCAmbWktPmVtYWlsKTsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgKnVucXVvdGVfY29tbWVudChzdHJ1Y3Qgc3RyYnVmICpvdXRidWYsIGNvbnN0IGNoYXIgKmluKQoreworCWludCBjOworCWludCB0YWtlX25leHRfbGl0dGVyYWxseSA9IDA7CisKKwlzdHJidWZfYWRkY2gob3V0YnVmLCAnKCcpOworCisJd2hpbGUgKChjID0gKmluKyspICE9IDApIHsKKwkJaWYgKHRha2VfbmV4dF9saXR0ZXJhbGx5ID09IDEpIHsKKwkJCXRha2VfbmV4dF9saXR0ZXJhbGx5ID0gMDsKKwkJfSBlbHNlIHsKKwkJCXN3aXRjaCAoYykgeworCQkJY2FzZSAnXFwnOgorCQkJCXRha2VfbmV4dF9saXR0ZXJhbGx5ID0gMTsKKwkJCQljb250aW51ZTsKKwkJCWNhc2UgJygnOgorCQkJCWluID0gdW5xdW90ZV9jb21tZW50KG91dGJ1ZiwgaW4pOworCQkJCWNvbnRpbnVlOworCQkJY2FzZSAnKSc6CisJCQkJc3RyYnVmX2FkZGNoKG91dGJ1ZiwgJyknKTsKKwkJCQlyZXR1cm4gaW47CisJCQl9CisJCX0KKworCQlzdHJidWZfYWRkY2gob3V0YnVmLCBjKTsKKwl9CisKKwlyZXR1cm4gaW47Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICp1bnF1b3RlX3F1b3RlZF9zdHJpbmcoc3RydWN0IHN0cmJ1ZiAqb3V0YnVmLCBjb25zdCBjaGFyICppbikKK3sKKwlpbnQgYzsKKwlpbnQgdGFrZV9uZXh0X2xpdHRlcmFsbHkgPSAwOworCisJd2hpbGUgKChjID0gKmluKyspICE9IDApIHsKKwkJaWYgKHRha2VfbmV4dF9saXR0ZXJhbGx5ID09IDEpIHsKKwkJCXRha2VfbmV4dF9saXR0ZXJhbGx5ID0gMDsKKwkJfSBlbHNlIHsKKwkJCXN3aXRjaCAoYykgeworCQkJY2FzZSAnXFwnOgorCQkJCXRha2VfbmV4dF9saXR0ZXJhbGx5ID0gMTsKKwkJCQljb250aW51ZTsKKwkJCWNhc2UgJyInOgorCQkJCXJldHVybiBpbjsKKwkJCX0KKwkJfQorCisJCXN0cmJ1Zl9hZGRjaChvdXRidWYsIGMpOworCX0KKworCXJldHVybiBpbjsKK30KKworc3RhdGljIHZvaWQgdW5xdW90ZV9xdW90ZWRfcGFpcihzdHJ1Y3Qgc3RyYnVmICpsaW5lKQoreworCXN0cnVjdCBzdHJidWYgb3V0YnVmOworCWNvbnN0IGNoYXIgKmluID0gbGluZS0+YnVmOworCWludCBjOworCisJc3RyYnVmX2luaXQoJm91dGJ1ZiwgbGluZS0+bGVuKTsKKworCXdoaWxlICgoYyA9ICppbisrKSAhPSAwKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICciJzoKKwkJCWluID0gdW5xdW90ZV9xdW90ZWRfc3RyaW5nKCZvdXRidWYsIGluKTsKKwkJCWNvbnRpbnVlOworCQljYXNlICcoJzoKKwkJCWluID0gdW5xdW90ZV9jb21tZW50KCZvdXRidWYsIGluKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJc3RyYnVmX2FkZGNoKCZvdXRidWYsIGMpOworCX0KKworCXN0cmJ1Zl9zd2FwKCZvdXRidWYsIGxpbmUpOworCXN0cmJ1Zl9yZWxlYXNlKCZvdXRidWYpOworCit9CisKIHN0YXRpYyB2b2lkIGhhbmRsZV9mcm9tKHN0cnVjdCBtYWlsaW5mbyAqbWksIGNvbnN0IHN0cnVjdCBzdHJidWYgKmZyb20pCiB7CiAJY2hhciAqYXQ7CkBAIC02Myw2ICsxNDMsOCBAQAogCXN0cmJ1Zl9pbml0KCZmLCBmcm9tLT5sZW4pOwogCXN0cmJ1Zl9hZGRidWYoJmYsIGZyb20pOwogCisJdW5xdW90ZV9xdW90ZWRfcGFpcigmZik7CisKIAlhdCA9IHN0cmNocihmLmJ1ZiwgJ0AnKTsKIAlpZiAoIWF0KSB7CiAJCXBhcnNlX2JvZ3VzX2Zyb20obWksIGZyb20pOwpAQCAtMTc5LDEyICsyNjEsNiBAQAogCX0KIH0KIAotc3RhdGljIHZvaWQgaGFuZGxlX21lc3NhZ2VfaWQoc3RydWN0IG1haWxpbmZvICptaSwgY29uc3Qgc3RydWN0IHN0cmJ1ZiAqbGluZSkKLXsKLQlpZiAobWktPmFkZF9tZXNzYWdlX2lkKQotCQltaS0+bWVzc2FnZV9pZCA9IHN0cmR1cChsaW5lLT5idWYpOwotfQotCiBzdGF0aWMgdm9pZCBoYW5kbGVfY29udGVudF90cmFuc2Zlcl9lbmNvZGluZyhzdHJ1Y3QgbWFpbGluZm8gKm1pLAogCQkJCQkgICAgIGNvbnN0IHN0cnVjdCBzdHJidWYgKmxpbmUpCiB7CkBAIC00OTUsMzEgKzU3MSwzMiBAQAogCQlsZW4gPSBzdHJsZW4oIk1lc3NhZ2UtSWQ6ICIpOwogCQlzdHJidWZfYWRkKCZzYiwgbGluZS0+YnVmICsgbGVuLCBsaW5lLT5sZW4gLSBsZW4pOwogCQlkZWNvZGVfaGVhZGVyKG1pLCAmc2IpOwotCQloYW5kbGVfbWVzc2FnZV9pZChtaSwgJnNiKTsKKwkJaWYgKG1pLT5hZGRfbWVzc2FnZV9pZCkKKwkJCW1pLT5tZXNzYWdlX2lkID0gc3RyYnVmX2RldGFjaCgmc2IsIE5VTEwpOwogCQlyZXQgPSAxOwogCQlnb3RvIGNoZWNrX2hlYWRlcl9vdXQ7CiAJfQogCi0JLyogZm9yIGluYm9keSBzdHVmZiAqLwotCWlmIChzdGFydHNfd2l0aChsaW5lLT5idWYsICI+RnJvbSIpICYmIGlzc3BhY2UobGluZS0+YnVmWzVdKSkgewotCQlyZXQgPSBpc19mb3JtYXRfcGF0Y2hfc2VwYXJhdG9yKGxpbmUtPmJ1ZiArIDEsIGxpbmUtPmxlbiAtIDEpOwotCQlnb3RvIGNoZWNrX2hlYWRlcl9vdXQ7Ci0JfQotCWlmIChzdGFydHNfd2l0aChsaW5lLT5idWYsICJbUEFUQ0hdIikgJiYgaXNzcGFjZShsaW5lLT5idWZbN10pKSB7Ci0JCWZvciAoaSA9IDA7IGhlYWRlcltpXTsgaSsrKSB7Ci0JCQlpZiAoIXN0cmNtcCgiU3ViamVjdCIsIGhlYWRlcltpXSkpIHsKLQkJCQloYW5kbGVfaGVhZGVyKCZoZHJfZGF0YVtpXSwgbGluZSk7Ci0JCQkJcmV0ID0gMTsKLQkJCQlnb3RvIGNoZWNrX2hlYWRlcl9vdXQ7Ci0JCQl9Ci0JCX0KLQl9Ci0KIGNoZWNrX2hlYWRlcl9vdXQ6CiAJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAlyZXR1cm4gcmV0OwogfQogCisvKgorICogUmV0dXJucyAxIGlmIHRoZSBnaXZlbiBsaW5lIG9yIGFueSBsaW5lIGJlZ2lubmluZyB3aXRoIHRoZSBnaXZlbiBsaW5lIGlzIGFuCisgKiBpbi1ib2R5IGhlYWRlciAodGhhdCBpcywgY2hlY2tfaGVhZGVyIHdpbGwgc3VjY2VlZCB3aGVuIHBhc3NlZAorICogbWktPnNfaGRyX2RhdGEpLgorICovCitzdGF0aWMgaW50IGlzX2luYm9keV9oZWFkZXIoY29uc3Qgc3RydWN0IG1haWxpbmZvICptaSwKKwkJCSAgICBjb25zdCBzdHJ1Y3Qgc3RyYnVmICpsaW5lKQoreworCWludCBpOworCWZvciAoaSA9IDA7IGhlYWRlcltpXTsgaSsrKQorCQlpZiAoIW1pLT5zX2hkcl9kYXRhW2ldICYmIGNtcF9oZWFkZXIobGluZSwgaGVhZGVyW2ldKSkKKwkJCXJldHVybiAxOworCXJldHVybiAwOworfQorCiBzdGF0aWMgdm9pZCBkZWNvZGVfdHJhbnNmZXJfZW5jb2Rpbmcoc3RydWN0IG1haWxpbmZvICptaSwgc3RydWN0IHN0cmJ1ZiAqbGluZSkKIHsKIAlzdHJ1Y3Qgc3RyYnVmICpyZXQ7CkBAIC01NzcsMzcgKzY1NCwzNSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGlzX3NjaXNzb3JzX2xpbmUoY29uc3Qgc3RydWN0IHN0cmJ1ZiAqbGluZSkKK3N0YXRpYyBpbnQgaXNfc2Npc3NvcnNfbGluZShjb25zdCBjaGFyICpsaW5lKQogewotCXNpemVfdCBpLCBsZW4gPSBsaW5lLT5sZW47CisJY29uc3QgY2hhciAqYzsKIAlpbnQgc2Npc3NvcnMgPSAwLCBnYXAgPSAwOwotCWludCBmaXJzdF9ub25ibGFuayA9IC0xOwotCWludCBsYXN0X25vbmJsYW5rID0gMCwgdmlzaWJsZSwgcGVyZm9yYXRpb24gPSAwLCBpbl9wZXJmb3JhdGlvbiA9IDA7Ci0JY29uc3QgY2hhciAqYnVmID0gbGluZS0+YnVmOworCWNvbnN0IGNoYXIgKmZpcnN0X25vbmJsYW5rID0gTlVMTCwgKmxhc3Rfbm9uYmxhbmsgPSBOVUxMOworCWludCB2aXNpYmxlLCBwZXJmb3JhdGlvbiA9IDAsIGluX3BlcmZvcmF0aW9uID0gMDsKIAotCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgewotCQlpZiAoaXNzcGFjZShidWZbaV0pKSB7CisJZm9yIChjID0gbGluZTsgKmM7IGMrKykgeworCQlpZiAoaXNzcGFjZSgqYykpIHsKIAkJCWlmIChpbl9wZXJmb3JhdGlvbikgewogCQkJCXBlcmZvcmF0aW9uKys7CiAJCQkJZ2FwKys7CiAJCQl9CiAJCQljb250aW51ZTsKIAkJfQotCQlsYXN0X25vbmJsYW5rID0gaTsKLQkJaWYgKGZpcnN0X25vbmJsYW5rIDwgMCkKLQkJCWZpcnN0X25vbmJsYW5rID0gaTsKLQkJaWYgKGJ1ZltpXSA9PSAnLScpIHsKKwkJbGFzdF9ub25ibGFuayA9IGM7CisJCWlmIChmaXJzdF9ub25ibGFuayA9PSBOVUxMKQorCQkJZmlyc3Rfbm9uYmxhbmsgPSBjOworCQlpZiAoKmMgPT0gJy0nKSB7CiAJCQlpbl9wZXJmb3JhdGlvbiA9IDE7CiAJCQlwZXJmb3JhdGlvbisrOwogCQkJY29udGludWU7CiAJCX0KLQkJaWYgKGkgKyAxIDwgbGVuICYmCi0JCSAgICAoIW1lbWNtcChidWYgKyBpLCAiPjgiLCAyKSB8fCAhbWVtY21wKGJ1ZiArIGksICI4PCIsIDIpIHx8Ci0JCSAgICAgIW1lbWNtcChidWYgKyBpLCAiPiUiLCAyKSB8fCAhbWVtY21wKGJ1ZiArIGksICIlPCIsIDIpKSkgeworCQlpZiAoKCFtZW1jbXAoYywgIj44IiwgMikgfHwgIW1lbWNtcChjLCAiODwiLCAyKSB8fAorCQkgICAgICFtZW1jbXAoYywgIj4lIiwgMikgfHwgIW1lbWNtcChjLCAiJTwiLCAyKSkpIHsKIAkJCWluX3BlcmZvcmF0aW9uID0gMTsKIAkJCXBlcmZvcmF0aW9uICs9IDI7CiAJCQlzY2lzc29ycyArPSAyOwotCQkJaSsrOworCQkJYysrOwogCQkJY29udGludWU7CiAJCX0KIAkJaW5fcGVyZm9yYXRpb24gPSAwOwpAQCAtNjIyLDEyICs2OTcsNjAgQEAKIAkgKiB0aGFuIGhhbGYgb2YgdGhlIHBlcmZvcmF0aW9uLgogCSAqLwogCi0JdmlzaWJsZSA9IGxhc3Rfbm9uYmxhbmsgLSBmaXJzdF9ub25ibGFuayArIDE7CisJaWYgKGZpcnN0X25vbmJsYW5rICYmIGxhc3Rfbm9uYmxhbmspCisJCXZpc2libGUgPSBsYXN0X25vbmJsYW5rIC0gZmlyc3Rfbm9uYmxhbmsgKyAxOworCWVsc2UKKwkJdmlzaWJsZSA9IDA7CiAJcmV0dXJuIChzY2lzc29ycyAmJiA4IDw9IHZpc2libGUgJiYKIAkJdmlzaWJsZSA8IHBlcmZvcmF0aW9uICogMyAmJgogCQlnYXAgKiAyIDwgcGVyZm9yYXRpb24pOwogfQogCitzdGF0aWMgdm9pZCBmbHVzaF9pbmJvZHlfaGVhZGVyX2FjY3VtKHN0cnVjdCBtYWlsaW5mbyAqbWkpCit7CisJaWYgKCFtaS0+aW5ib2R5X2hlYWRlcl9hY2N1bS5sZW4pCisJCXJldHVybjsKKwlhc3NlcnQoY2hlY2tfaGVhZGVyKG1pLCAmbWktPmluYm9keV9oZWFkZXJfYWNjdW0sIG1pLT5zX2hkcl9kYXRhLCAwKSk7CisJc3RyYnVmX3Jlc2V0KCZtaS0+aW5ib2R5X2hlYWRlcl9hY2N1bSk7Cit9CisKK3N0YXRpYyBpbnQgY2hlY2tfaW5ib2R5X2hlYWRlcihzdHJ1Y3QgbWFpbGluZm8gKm1pLCBjb25zdCBzdHJ1Y3Qgc3RyYnVmICpsaW5lKQoreworCWlmIChtaS0+aW5ib2R5X2hlYWRlcl9hY2N1bS5sZW4gJiYKKwkgICAgKGxpbmUtPmJ1ZlswXSA9PSAnICcgfHwgbGluZS0+YnVmWzBdID09ICdcdCcpKSB7CisJCWlmIChtaS0+dXNlX3NjaXNzb3JzICYmIGlzX3NjaXNzb3JzX2xpbmUobGluZS0+YnVmKSkgeworCQkJLyoKKwkJCSAqIFRoaXMgaXMgYSBzY2lzc29ycyBsaW5lOyBkbyBub3QgY29uc2lkZXIgdGhpcyBsaW5lCisJCQkgKiBhcyBhIGhlYWRlciBjb250aW51YXRpb24gbGluZS4KKwkJCSAqLworCQkJZmx1c2hfaW5ib2R5X2hlYWRlcl9hY2N1bShtaSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlzdHJidWZfc3RyaXBfc3VmZml4KCZtaS0+aW5ib2R5X2hlYWRlcl9hY2N1bSwgIlxuIik7CisJCXN0cmJ1Zl9hZGRidWYoJm1pLT5pbmJvZHlfaGVhZGVyX2FjY3VtLCBsaW5lKTsKKwkJcmV0dXJuIDE7CisJfQorCisJZmx1c2hfaW5ib2R5X2hlYWRlcl9hY2N1bShtaSk7CisKKwlpZiAoc3RhcnRzX3dpdGgobGluZS0+YnVmLCAiPkZyb20iKSAmJiBpc3NwYWNlKGxpbmUtPmJ1Zls1XSkpCisJCXJldHVybiBpc19mb3JtYXRfcGF0Y2hfc2VwYXJhdG9yKGxpbmUtPmJ1ZiArIDEsIGxpbmUtPmxlbiAtIDEpOworCWlmIChzdGFydHNfd2l0aChsaW5lLT5idWYsICJbUEFUQ0hdIikgJiYgaXNzcGFjZShsaW5lLT5idWZbN10pKSB7CisJCWludCBpOworCQlmb3IgKGkgPSAwOyBoZWFkZXJbaV07IGkrKykKKwkJCWlmICghc3RyY21wKCJTdWJqZWN0IiwgaGVhZGVyW2ldKSkgeworCQkJCWhhbmRsZV9oZWFkZXIoJm1pLT5zX2hkcl9kYXRhW2ldLCBsaW5lKTsKKwkJCQlyZXR1cm4gMTsKKwkJCX0KKwkJcmV0dXJuIDA7CisJfQorCWlmIChpc19pbmJvZHlfaGVhZGVyKG1pLCBsaW5lKSkgeworCQlzdHJidWZfYWRkYnVmKCZtaS0+aW5ib2R5X2hlYWRlcl9hY2N1bSwgbGluZSk7CisJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBoYW5kbGVfY29tbWl0X21zZyhzdHJ1Y3QgbWFpbGluZm8gKm1pLCBzdHJ1Y3Qgc3RyYnVmICpsaW5lKQogewogCWFzc2VydCghbWktPmZpbHRlcl9zdGFnZSk7CkBAIC02MzgsNyArNzYxLDcgQEAKIAl9CiAKIAlpZiAobWktPnVzZV9pbmJvZHlfaGVhZGVycyAmJiBtaS0+aGVhZGVyX3N0YWdlKSB7Ci0JCW1pLT5oZWFkZXJfc3RhZ2UgPSBjaGVja19oZWFkZXIobWksIGxpbmUsIG1pLT5zX2hkcl9kYXRhLCAwKTsKKwkJbWktPmhlYWRlcl9zdGFnZSA9IGNoZWNrX2luYm9keV9oZWFkZXIobWksIGxpbmUpOwogCQlpZiAobWktPmhlYWRlcl9zdGFnZSkKIAkJCXJldHVybiAwOwogCX0gZWxzZQpAQCAtNjUxLDcgKzc3NCw3IEBACiAJaWYgKGNvbnZlcnRfdG9fdXRmOChtaSwgbGluZSwgbWktPmNoYXJzZXQuYnVmKSkKIAkJcmV0dXJuIDA7IC8qIG1pLT5pbnB1dF9lcnJvciBhbHJlYWR5IHNldCAqLwogCi0JaWYgKG1pLT51c2Vfc2Npc3NvcnMgJiYgaXNfc2Npc3NvcnNfbGluZShsaW5lKSkgeworCWlmIChtaS0+dXNlX3NjaXNzb3JzICYmIGlzX3NjaXNzb3JzX2xpbmUobGluZS0+YnVmKSkgewogCQlpbnQgaTsKIAogCQlzdHJidWZfc2V0bGVuKCZtaS0+bG9nX21lc3NhZ2UsIDApOwpAQCAtODkxLDYgKzEwMTQsOCBAQAogCQkJYnJlYWs7CiAJfSB3aGlsZSAoIXN0cmJ1Zl9nZXR3aG9sZWxpbmUobGluZSwgbWktPmlucHV0LCAnXG4nKSk7CiAKKwlmbHVzaF9pbmJvZHlfaGVhZGVyX2FjY3VtKG1pKTsKKwogaGFuZGxlX2JvZHlfb3V0OgogCXN0cmJ1Zl9yZWxlYXNlKCZwcmV2KTsKIH0KQEAgLTEwMDYsNiArMTEzMSw3IEBACiAJc3RyYnVmX2luaXQoJm1pLT5lbWFpbCwgMCk7CiAJc3RyYnVmX2luaXQoJm1pLT5jaGFyc2V0LCAwKTsKIAlzdHJidWZfaW5pdCgmbWktPmxvZ19tZXNzYWdlLCAwKTsKKwlzdHJidWZfaW5pdCgmbWktPmluYm9keV9oZWFkZXJfYWNjdW0sIDApOwogCW1pLT5oZWFkZXJfc3RhZ2UgPSAxOwogCW1pLT51c2VfaW5ib2R5X2hlYWRlcnMgPSAxOwogCW1pLT5jb250ZW50X3RvcCA9IG1pLT5jb250ZW50OwpAQCAtMTAxOSw2ICsxMTQ1LDcgQEAKIAlzdHJidWZfcmVsZWFzZSgmbWktPm5hbWUpOwogCXN0cmJ1Zl9yZWxlYXNlKCZtaS0+ZW1haWwpOwogCXN0cmJ1Zl9yZWxlYXNlKCZtaS0+Y2hhcnNldCk7CisJc3RyYnVmX3JlbGVhc2UoJm1pLT5pbmJvZHlfaGVhZGVyX2FjY3VtKTsKIAlmcmVlKG1pLT5tZXNzYWdlX2lkKTsKIAogCWZvciAoaSA9IDA7IG1pLT5wX2hkcl9kYXRhW2ldOyBpKyspCmRpZmYgLS1naXQgYS9tYWlsaW5mby5oIGIvbWFpbGluZm8uaAppbmRleCA5Mzc3NmE3Li4wNGEyNTM1IDEwMDY0NAotLS0gYS9tYWlsaW5mby5oCisrKyBiL21haWxpbmZvLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAlpbnQgcGF0Y2hfbGluZXM7CiAJaW50IGZpbHRlcl9zdGFnZTsgLyogc3RpbGwgcmVhZGluZyBsb2cgb3IgYXJlIHdlIGNvcHlpbmcgcGF0Y2g/ICovCiAJaW50IGhlYWRlcl9zdGFnZTsgLyogc3RpbGwgY2hlY2tpbmcgaW4tYm9keSBoZWFkZXJzPyAqLworCXN0cnVjdCBzdHJidWYgaW5ib2R5X2hlYWRlcl9hY2N1bTsKIAlzdHJ1Y3Qgc3RyYnVmICoqcF9oZHJfZGF0YTsKIAlzdHJ1Y3Qgc3RyYnVmICoqc19oZHJfZGF0YTsKIApkaWZmIC0tZ2l0IGEvbWFpbG1hcC5jIGIvbWFpbG1hcC5jCmluZGV4IGI1YzUyMWYuLmMxYTc5YzEgMTAwNjQ0Ci0tLSBhL21haWxtYXAuYworKysgYi9tYWlsbWFwLmMKQEAgLTEwMywxMCArMTAzLDggQEAKIAl9IGVsc2UgewogCQlzdHJ1Y3QgbWFpbG1hcF9pbmZvICptaSA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBtYWlsbWFwX2luZm8pKTsKIAkJZGVidWdfbW0oIm1haWxtYXA6IGFkZGluZyAoY29tcGxleCkgZW50cnkgZm9yICclcydcbiIsIG9sZF9lbWFpbCk7Ci0JCWlmIChuZXdfbmFtZSkKLQkJCW1pLT5uYW1lID0geHN0cmR1cChuZXdfbmFtZSk7Ci0JCWlmIChuZXdfZW1haWwpCi0JCQltaS0+ZW1haWwgPSB4c3RyZHVwKG5ld19lbWFpbCk7CisJCW1pLT5uYW1lID0geHN0cmR1cF9vcl9udWxsKG5ld19uYW1lKTsKKwkJbWktPmVtYWlsID0geHN0cmR1cF9vcl9udWxsKG5ld19lbWFpbCk7CiAJCXN0cmluZ19saXN0X2luc2VydCgmbWUtPm5hbWVtYXAsIG9sZF9uYW1lKS0+dXRpbCA9IG1pOwogCX0KIApkaWZmIC0tZ2l0IGEvbWVyZ2UtcmVjdXJzaXZlLmMgYi9tZXJnZS1yZWN1cnNpdmUuYwppbmRleCA2NWNiNWQ2Li45MDQxYzJmIDEwMDY0NAotLS0gYS9tZXJnZS1yZWN1cnNpdmUuYworKysgYi9tZXJnZS1yZWN1cnNpdmUuYwpAQCAtMjMsNiArMjMsMzcgQEAKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJzdWJtb2R1bGUuaCIKIAorc3RhdGljIHZvaWQgZmx1c2hfb3V0cHV0KHN0cnVjdCBtZXJnZV9vcHRpb25zICpvKQoreworCWlmIChvLT5idWZmZXJfb3V0cHV0IDwgMiAmJiBvLT5vYnVmLmxlbikgeworCQlmcHV0cyhvLT5vYnVmLmJ1Ziwgc3Rkb3V0KTsKKwkJc3RyYnVmX3Jlc2V0KCZvLT5vYnVmKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgZXJyKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLCBjb25zdCBjaGFyICplcnIsIC4uLikKK3sKKwl2YV9saXN0IHBhcmFtczsKKworCWlmIChvLT5idWZmZXJfb3V0cHV0IDwgMikKKwkJZmx1c2hfb3V0cHV0KG8pOworCWVsc2UgeworCQlzdHJidWZfY29tcGxldGUoJm8tPm9idWYsICdcbicpOworCQlzdHJidWZfYWRkc3RyKCZvLT5vYnVmLCAiZXJyb3I6ICIpOworCX0KKwl2YV9zdGFydChwYXJhbXMsIGVycik7CisJc3RyYnVmX3ZhZGRmKCZvLT5vYnVmLCBlcnIsIHBhcmFtcyk7CisJdmFfZW5kKHBhcmFtcyk7CisJaWYgKG8tPmJ1ZmZlcl9vdXRwdXQgPiAxKQorCQlzdHJidWZfYWRkY2goJm8tPm9idWYsICdcbicpOworCWVsc2UgeworCQllcnJvcigiJXMiLCBvLT5vYnVmLmJ1Zik7CisJCXN0cmJ1Zl9yZXNldCgmby0+b2J1Zik7CisJfQorCisJcmV0dXJuIC0xOworfQorCiBzdGF0aWMgc3RydWN0IHRyZWUgKnNoaWZ0X3RyZWVfb2JqZWN0KHN0cnVjdCB0cmVlICpvbmUsIHN0cnVjdCB0cmVlICp0d28sCiAJCQkJICAgICAgY29uc3QgY2hhciAqc3VidHJlZV9zaGlmdCkKIHsKQEAgLTQyLDEyICs3Myw5IEBACiBzdGF0aWMgc3RydWN0IGNvbW1pdCAqbWFrZV92aXJ0dWFsX2NvbW1pdChzdHJ1Y3QgdHJlZSAqdHJlZSwgY29uc3QgY2hhciAqY29tbWVudCkKIHsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBhbGxvY19jb21taXRfbm9kZSgpOwotCXN0cnVjdCBtZXJnZV9yZW1vdGVfZGVzYyAqZGVzYyA9IHhtYWxsb2Moc2l6ZW9mKCpkZXNjKSk7CiAKLQlkZXNjLT5uYW1lID0gY29tbWVudDsKLQlkZXNjLT5vYmogPSAoc3RydWN0IG9iamVjdCAqKWNvbW1pdDsKKwlzZXRfbWVyZ2VfcmVtb3RlX2Rlc2MoY29tbWl0LCBjb21tZW50LCAoc3RydWN0IG9iamVjdCAqKWNvbW1pdCk7CiAJY29tbWl0LT50cmVlID0gdHJlZTsKLQljb21taXQtPnV0aWwgPSBkZXNjOwogCWNvbW1pdC0+b2JqZWN0LnBhcnNlZCA9IDE7CiAJcmV0dXJuIGNvbW1pdDsKIH0KQEAgLTU2LDExICs4NCwxMSBAQAogICogU2luY2Ugd2UgdXNlIGdldF90cmVlX2VudHJ5KCksIHdoaWNoIGRvZXMgbm90IHB1dCB0aGUgcmVhZCBvYmplY3QgaW50bwogICogdGhlIG9iamVjdCBwb29sLCB3ZSBjYW5ub3QgcmVseSBvbiBhID09IGIuCiAgKi8KLXN0YXRpYyBpbnQgc2hhX2VxKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmEsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmIpCitzdGF0aWMgaW50IG9pZF9lcShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICphLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpiKQogewogCWlmICghYSAmJiAhYikKIAkJcmV0dXJuIDI7Ci0JcmV0dXJuIGEgJiYgYiAmJiBoYXNoY21wKGEsIGIpID09IDA7CisJcmV0dXJuIGEgJiYgYiAmJiBvaWRjbXAoYSwgYikgPT0gMDsKIH0KIAogZW51bSByZW5hbWVfdHlwZSB7CkBAIC05MCw3ICsxMTgsNyBAQAogc3RydWN0IHN0YWdlX2RhdGEgewogCXN0cnVjdCB7CiAJCXVuc2lnbmVkIG1vZGU7Ci0JCXVuc2lnbmVkIGNoYXIgc2hhWzIwXTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJfSBzdGFnZXNbNF07CiAJc3RydWN0IHJlbmFtZV9jb25mbGljdF9pbmZvICpyZW5hbWVfY29uZmxpY3RfaW5mbzsKIAl1bnNpZ25lZCBwcm9jZXNzZWQ6MTsKQEAgLTEzNCwxMSArMTYyLDExIEBACiAJCWludCBvc3RhZ2UyID0gb3N0YWdlMSBeIDE7CiAKIAkJY2ktPnJlbjFfb3RoZXIucGF0aCA9IHBhaXIxLT5vbmUtPnBhdGg7Ci0JCWhhc2hjcHkoY2ktPnJlbjFfb3RoZXIuc2hhMSwgc3JjX2VudHJ5MS0+c3RhZ2VzW29zdGFnZTFdLnNoYSk7CisJCW9pZGNweSgmY2ktPnJlbjFfb3RoZXIub2lkLCAmc3JjX2VudHJ5MS0+c3RhZ2VzW29zdGFnZTFdLm9pZCk7CiAJCWNpLT5yZW4xX290aGVyLm1vZGUgPSBzcmNfZW50cnkxLT5zdGFnZXNbb3N0YWdlMV0ubW9kZTsKIAogCQljaS0+cmVuMl9vdGhlci5wYXRoID0gcGFpcjItPm9uZS0+cGF0aDsKLQkJaGFzaGNweShjaS0+cmVuMl9vdGhlci5zaGExLCBzcmNfZW50cnkyLT5zdGFnZXNbb3N0YWdlMl0uc2hhKTsKKwkJb2lkY3B5KCZjaS0+cmVuMl9vdGhlci5vaWQsICZzcmNfZW50cnkyLT5zdGFnZXNbb3N0YWdlMl0ub2lkKTsKIAkJY2ktPnJlbjJfb3RoZXIubW9kZSA9IHNyY19lbnRyeTItPnN0YWdlc1tvc3RhZ2UyXS5tb2RlOwogCX0KIH0KQEAgLTE0OCwxNCArMTc2LDYgQEAKIAlyZXR1cm4gKCFvLT5jYWxsX2RlcHRoICYmIG8tPnZlcmJvc2l0eSA+PSB2KSB8fCBvLT52ZXJib3NpdHkgPj0gNTsKIH0KIAotc3RhdGljIHZvaWQgZmx1c2hfb3V0cHV0KHN0cnVjdCBtZXJnZV9vcHRpb25zICpvKQotewotCWlmIChvLT5vYnVmLmxlbikgewotCQlmcHV0cyhvLT5vYnVmLmJ1Ziwgc3Rkb3V0KTsKLQkJc3RyYnVmX3Jlc2V0KCZvLT5vYnVmKTsKLQl9Ci19Ci0KIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAzLCA0KSkpCiBzdGF0aWMgdm9pZCBvdXRwdXQoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sIGludCB2LCBjb25zdCBjaGFyICpmbXQsIC4uLikKIHsKQEAgLTE3NywzNyArMTk3LDQ4IEBACiAKIHN0YXRpYyB2b2lkIG91dHB1dF9jb21taXRfdGl0bGUoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sIHN0cnVjdCBjb21taXQgKmNvbW1pdCkKIHsKLQlpbnQgaTsKLQlmbHVzaF9vdXRwdXQobyk7Ci0JZm9yIChpID0gby0+Y2FsbF9kZXB0aDsgaS0tOykKLQkJZnB1dHMoIiAgIiwgc3Rkb3V0KTsKKwlzdHJidWZfYWRkY2hhcnMoJm8tPm9idWYsICcgJywgby0+Y2FsbF9kZXB0aCAqIDIpOwogCWlmIChjb21taXQtPnV0aWwpCi0JCXByaW50ZigidmlydHVhbCAlc1xuIiwgbWVyZ2VfcmVtb3RlX3V0aWwoY29tbWl0KS0+bmFtZSk7CisJCXN0cmJ1Zl9hZGRmKCZvLT5vYnVmLCAidmlydHVhbCAlc1xuIiwKKwkJCW1lcmdlX3JlbW90ZV91dGlsKGNvbW1pdCktPm5hbWUpOwogCWVsc2UgewotCQlwcmludGYoIiVzICIsIGZpbmRfdW5pcXVlX2FiYnJldihjb21taXQtPm9iamVjdC5vaWQuaGFzaCwgREVGQVVMVF9BQkJSRVYpKTsKKwkJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KCZvLT5vYnVmLCBjb21taXQtPm9iamVjdC5vaWQuaGFzaCwKKwkJCQkJIERFRkFVTFRfQUJCUkVWKTsKKwkJc3RyYnVmX2FkZGNoKCZvLT5vYnVmLCAnICcpOwogCQlpZiAocGFyc2VfY29tbWl0KGNvbW1pdCkgIT0gMCkKLQkJCXByaW50ZihfKCIoYmFkIGNvbW1pdClcbiIpKTsKKwkJCXN0cmJ1Zl9hZGRzdHIoJm8tPm9idWYsIF8oIihiYWQgY29tbWl0KVxuIikpOwogCQllbHNlIHsKIAkJCWNvbnN0IGNoYXIgKnRpdGxlOwogCQkJY29uc3QgY2hhciAqbXNnID0gZ2V0X2NvbW1pdF9idWZmZXIoY29tbWl0LCBOVUxMKTsKIAkJCWludCBsZW4gPSBmaW5kX2NvbW1pdF9zdWJqZWN0KG1zZywgJnRpdGxlKTsKIAkJCWlmIChsZW4pCi0JCQkJcHJpbnRmKCIlLipzXG4iLCBsZW4sIHRpdGxlKTsKKwkJCQlzdHJidWZfYWRkZigmby0+b2J1ZiwgIiUuKnNcbiIsIGxlbiwgdGl0bGUpOwogCQkJdW51c2VfY29tbWl0X2J1ZmZlcihjb21taXQsIG1zZyk7CiAJCX0KIAl9CisJZmx1c2hfb3V0cHV0KG8pOwogfQogCi1zdGF0aWMgaW50IGFkZF9jYWNoZWluZm8odW5zaWduZWQgaW50IG1vZGUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCitzdGF0aWMgaW50IGFkZF9jYWNoZWluZm8oc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCisJCXVuc2lnbmVkIGludCBtb2RlLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCWNvbnN0IGNoYXIgKnBhdGgsIGludCBzdGFnZSwgaW50IHJlZnJlc2gsIGludCBvcHRpb25zKQogewogCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7Ci0JY2UgPSBtYWtlX2NhY2hlX2VudHJ5KG1vZGUsIHNoYTEgPyBzaGExIDogbnVsbF9zaGExLCBwYXRoLCBzdGFnZSwKLQkJCSAgICAgIChyZWZyZXNoID8gKENFX01BVENIX1JFRlJFU0ggfAotCQkJCQkgIENFX01BVENIX0lHTk9SRV9NSVNTSU5HKSA6IDAgKSk7CisJaW50IHJldDsKKworCWNlID0gbWFrZV9jYWNoZV9lbnRyeShtb2RlLCBvaWQgPyBvaWQtPmhhc2ggOiBudWxsX3NoYTEsIHBhdGgsIHN0YWdlLCAwKTsKIAlpZiAoIWNlKQotCQlyZXR1cm4gZXJyb3IoXygiYWRkaW5mb19jYWNoZSBmYWlsZWQgZm9yIHBhdGggJyVzJyIpLCBwYXRoKTsKLQlyZXR1cm4gYWRkX2NhY2hlX2VudHJ5KGNlLCBvcHRpb25zKTsKKwkJcmV0dXJuIGVycihvLCBfKCJhZGRpbmZvX2NhY2hlIGZhaWxlZCBmb3IgcGF0aCAnJXMnIiksIHBhdGgpOworCisJcmV0ID0gYWRkX2NhY2hlX2VudHJ5KGNlLCBvcHRpb25zKTsKKwlpZiAocmVmcmVzaCkgeworCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKm5jZTsKKworCQluY2UgPSByZWZyZXNoX2NhY2hlX2VudHJ5KGNlLCBDRV9NQVRDSF9SRUZSRVNIIHwgQ0VfTUFUQ0hfSUdOT1JFX01JU1NJTkcpOworCQlpZiAobmNlICE9IGNlKQorCQkJcmV0ID0gYWRkX2NhY2hlX2VudHJ5KG5jZSwgb3B0aW9ucyk7CisJfQorCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkIGluaXRfdHJlZV9kZXNjX2Zyb21fdHJlZShzdHJ1Y3QgdHJlZV9kZXNjICpkZXNjLCBzdHJ1Y3QgdHJlZSAqdHJlZSkKQEAgLTI1OSwxNSArMjkwLDE3IEBACiAJCQkJZnByaW50ZihzdGRlcnIsICJCVUc6ICVkICUuKnNcbiIsIGNlX3N0YWdlKGNlKSwKIAkJCQkJKGludCljZV9uYW1lbGVuKGNlKSwgY2UtPm5hbWUpOwogCQl9Ci0JCWRpZSgiQnVnIGluIG1lcmdlLXJlY3Vyc2l2ZS5jIik7CisJCWRpZSgiQlVHOiB1bm1lcmdlZCBpbmRleCBlbnRyaWVzIGluIG1lcmdlLXJlY3Vyc2l2ZS5jIik7CiAJfQogCiAJaWYgKCFhY3RpdmVfY2FjaGVfdHJlZSkKIAkJYWN0aXZlX2NhY2hlX3RyZWUgPSBjYWNoZV90cmVlKCk7CiAKIAlpZiAoIWNhY2hlX3RyZWVfZnVsbHlfdmFsaWQoYWN0aXZlX2NhY2hlX3RyZWUpICYmCi0JICAgIGNhY2hlX3RyZWVfdXBkYXRlKCZ0aGVfaW5kZXgsIDApIDwgMCkKLQkJZGllKF8oImVycm9yIGJ1aWxkaW5nIHRyZWVzIikpOworCSAgICBjYWNoZV90cmVlX3VwZGF0ZSgmdGhlX2luZGV4LCAwKSA8IDApIHsKKwkJZXJyKG8sIF8oImVycm9yIGJ1aWxkaW5nIHRyZWVzIikpOworCQlyZXR1cm4gTlVMTDsKKwl9CiAKIAlyZXN1bHQgPSBsb29rdXBfdHJlZShhY3RpdmVfY2FjaGVfdHJlZS0+c2hhMSk7CiAKQEAgLTMxNCwxMSArMzQ3LDExIEBACiAJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CiAJc3RydWN0IHN0YWdlX2RhdGEgKmUgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3Qgc3RhZ2VfZGF0YSkpOwogCWdldF90cmVlX2VudHJ5KG8tPm9iamVjdC5vaWQuaGFzaCwgcGF0aCwKLQkJCWUtPnN0YWdlc1sxXS5zaGEsICZlLT5zdGFnZXNbMV0ubW9kZSk7CisJCQllLT5zdGFnZXNbMV0ub2lkLmhhc2gsICZlLT5zdGFnZXNbMV0ubW9kZSk7CiAJZ2V0X3RyZWVfZW50cnkoYS0+b2JqZWN0Lm9pZC5oYXNoLCBwYXRoLAotCQkJZS0+c3RhZ2VzWzJdLnNoYSwgJmUtPnN0YWdlc1syXS5tb2RlKTsKKwkJCWUtPnN0YWdlc1syXS5vaWQuaGFzaCwgJmUtPnN0YWdlc1syXS5tb2RlKTsKIAlnZXRfdHJlZV9lbnRyeShiLT5vYmplY3Qub2lkLmhhc2gsIHBhdGgsCi0JCQllLT5zdGFnZXNbM10uc2hhLCAmZS0+c3RhZ2VzWzNdLm1vZGUpOworCQkJZS0+c3RhZ2VzWzNdLm9pZC5oYXNoLCAmZS0+c3RhZ2VzWzNdLm1vZGUpOwogCWl0ZW0gPSBzdHJpbmdfbGlzdF9pbnNlcnQoZW50cmllcywgcGF0aCk7CiAJaXRlbS0+dXRpbCA9IGU7CiAJcmV0dXJuIGU7CkBAIC0zNDksNyArMzgyLDcgQEAKIAkJfQogCQllID0gaXRlbS0+dXRpbDsKIAkJZS0+c3RhZ2VzW2NlX3N0YWdlKGNlKV0ubW9kZSA9IGNlLT5jZV9tb2RlOwotCQloYXNoY3B5KGUtPnN0YWdlc1tjZV9zdGFnZShjZSldLnNoYSwgY2UtPnNoYTEpOworCQlvaWRjcHkoJmUtPnN0YWdlc1tjZV9zdGFnZShjZSldLm9pZCwgJmNlLT5vaWQpOwogCX0KIAogCXJldHVybiB1bm1lcmdlZDsKQEAgLTQwMCw3ICs0MzMsNyBAQAogCSAqIGFuZCB0aGUgZmlsZSBuZWVkIHRvIGJlIHByZXNlbnQsIHRoZW4gdGhlIEQvRiBmaWxlIHdpbGwgYmUKIAkgKiByZWluc3RhdGVkIHdpdGggYSBuZXcgdW5pcXVlIG5hbWUgYXQgdGhlIHRpbWUgaXQgaXMgcHJvY2Vzc2VkLgogCSAqLwotCXN0cnVjdCBzdHJpbmdfbGlzdCBkZl9zb3J0ZWRfZW50cmllczsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgZGZfc29ydGVkX2VudHJpZXMgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCWNvbnN0IGNoYXIgKmxhc3RfZmlsZSA9IE5VTEw7CiAJaW50IGxhc3RfbGVuID0gMDsKIAlpbnQgaTsKQEAgLTQxMyw3ICs0NDYsNiBAQAogCQlyZXR1cm47CiAKIAkvKiBFbnN1cmUgRC9GIGNvbmZsaWN0cyBhcmUgYWRqYWNlbnQgaW4gdGhlIGVudHJpZXMgbGlzdC4gKi8KLQltZW1zZXQoJmRmX3NvcnRlZF9lbnRyaWVzLCAwLCBzaXplb2Yoc3RydWN0IHN0cmluZ19saXN0KSk7CiAJZm9yIChpID0gMDsgaSA8IGVudHJpZXMtPm5yOyBpKyspIHsKIAkJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKm5leHQgPSAmZW50cmllcy0+aXRlbXNbaV07CiAJCXN0cmluZ19saXN0X2FwcGVuZCgmZGZfc29ydGVkX2VudHJpZXMsIG5leHQtPnN0cmluZyktPnV0aWwgPQpAQCAtNTMzLDcgKzU2NSw4IEBACiAJcmV0dXJuIHJlbmFtZXM7CiB9CiAKLXN0YXRpYyBpbnQgdXBkYXRlX3N0YWdlcyhjb25zdCBjaGFyICpwYXRoLCBjb25zdCBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqbywKK3N0YXRpYyBpbnQgdXBkYXRlX3N0YWdlcyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LCBjb25zdCBjaGFyICpwYXRoLAorCQkJIGNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpvLAogCQkJIGNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICphLAogCQkJIGNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpiKQogewpAQCAtNTUyLDEzICs1ODUsMTMgQEAKIAkJaWYgKHJlbW92ZV9maWxlX2Zyb21fY2FjaGUocGF0aCkpCiAJCQlyZXR1cm4gLTE7CiAJaWYgKG8pCi0JCWlmIChhZGRfY2FjaGVpbmZvKG8tPm1vZGUsIG8tPnNoYTEsIHBhdGgsIDEsIDAsIG9wdGlvbnMpKQorCQlpZiAoYWRkX2NhY2hlaW5mbyhvcHQsIG8tPm1vZGUsICZvLT5vaWQsIHBhdGgsIDEsIDAsIG9wdGlvbnMpKQogCQkJcmV0dXJuIC0xOwogCWlmIChhKQotCQlpZiAoYWRkX2NhY2hlaW5mbyhhLT5tb2RlLCBhLT5zaGExLCBwYXRoLCAyLCAwLCBvcHRpb25zKSkKKwkJaWYgKGFkZF9jYWNoZWluZm8ob3B0LCBhLT5tb2RlLCAmYS0+b2lkLCBwYXRoLCAyLCAwLCBvcHRpb25zKSkKIAkJCXJldHVybiAtMTsKIAlpZiAoYikKLQkJaWYgKGFkZF9jYWNoZWluZm8oYi0+bW9kZSwgYi0+c2hhMSwgcGF0aCwgMywgMCwgb3B0aW9ucykpCisJCWlmIChhZGRfY2FjaGVpbmZvKG9wdCwgYi0+bW9kZSwgJmItPm9pZCwgcGF0aCwgMywgMCwgb3B0aW9ucykpCiAJCQlyZXR1cm4gLTE7CiAJcmV0dXJuIDA7CiB9CkBAIC01NzIsOSArNjA1LDkgQEAKIAllbnRyeS0+c3RhZ2VzWzFdLm1vZGUgPSBvLT5tb2RlOwogCWVudHJ5LT5zdGFnZXNbMl0ubW9kZSA9IGEtPm1vZGU7CiAJZW50cnktPnN0YWdlc1szXS5tb2RlID0gYi0+bW9kZTsKLQloYXNoY3B5KGVudHJ5LT5zdGFnZXNbMV0uc2hhLCBvLT5zaGExKTsKLQloYXNoY3B5KGVudHJ5LT5zdGFnZXNbMl0uc2hhLCBhLT5zaGExKTsKLQloYXNoY3B5KGVudHJ5LT5zdGFnZXNbM10uc2hhLCBiLT5zaGExKTsKKwlvaWRjcHkoJmVudHJ5LT5zdGFnZXNbMV0ub2lkLCAmby0+b2lkKTsKKwlvaWRjcHkoJmVudHJ5LT5zdGFnZXNbMl0ub2lkLCAmYS0+b2lkKTsKKwlvaWRjcHkoJmVudHJ5LT5zdGFnZXNbM10ub2lkLCAmYi0+b2lkKTsKIH0KIAogc3RhdGljIGludCByZW1vdmVfZmlsZShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywgaW50IGNsZWFuLApAQCAtNjU4LDIzICs2OTEsMjEgQEAKIHsKIAlpbnQgcG9zID0gY2FjaGVfbmFtZV9wb3MocGF0aCwgc3RybGVuKHBhdGgpKTsKIAotCWlmIChwb3MgPCAwKQotCQlwb3MgPSAtMSAtIHBvczsKLQl3aGlsZSAocG9zIDwgYWN0aXZlX25yICYmCi0JICAgICAgICFzdHJjbXAocGF0aCwgYWN0aXZlX2NhY2hlW3Bvc10tPm5hbWUpKSB7Ci0JCS8qCi0JCSAqIElmIHN0YWdlICMwLCBpdCBpcyBkZWZpbml0ZWx5IHRyYWNrZWQuCi0JCSAqIElmIGl0IGhhcyBzdGFnZSAjMiB0aGVuIGl0IHdhcyB0cmFja2VkCi0JCSAqIGJlZm9yZSB0aGlzIG1lcmdlIHN0YXJ0ZWQuICBBbGwgb3RoZXIKLQkJICogY2FzZXMgdGhlIHBhdGggd2FzIG5vdCB0cmFja2VkLgotCQkgKi8KLQkJc3dpdGNoIChjZV9zdGFnZShhY3RpdmVfY2FjaGVbcG9zXSkpIHsKLQkJY2FzZSAwOgotCQljYXNlIDI6CisJaWYgKDAgPD0gcG9zKQorCQkvKiB3ZSBoYXZlIGJlZW4gdHJhY2tpbmcgdGhpcyBwYXRoICovCisJCXJldHVybiAxOworCisJLyoKKwkgKiBMb29rIGZvciBhbiB1bm1lcmdlZCBlbnRyeSBmb3IgdGhlIHBhdGgsCisJICogc3BlY2lmaWNhbGx5IHN0YWdlICMyLCB3aGljaCB3b3VsZCBpbmRpY2F0ZQorCSAqIHRoYXQgIm91ciIgc2lkZSBiZWZvcmUgdGhlIG1lcmdlIHN0YXJ0ZWQKKwkgKiBoYWQgdGhlIHBhdGggdHJhY2tlZCAoYW5kIHJlc3VsdGVkIGluIGEgY29uZmxpY3QpLgorCSAqLworCWZvciAocG9zID0gLTEgLSBwb3M7CisJICAgICBwb3MgPCBhY3RpdmVfbnIgJiYgIXN0cmNtcChwYXRoLCBhY3RpdmVfY2FjaGVbcG9zXS0+bmFtZSk7CisJICAgICBwb3MrKykKKwkJaWYgKGNlX3N0YWdlKGFjdGl2ZV9jYWNoZVtwb3NdKSA9PSAyKQogCQkJcmV0dXJuIDE7Ci0JCX0KLQkJcG9zKys7Ci0JfQogCXJldHVybiAwOwogfQogCkBAIC03MDksMTIgKzc0MCwxMCBAQAogCS8qIE1ha2Ugc3VyZSBsZWFkaW5nIGRpcmVjdG9yaWVzIGFyZSBjcmVhdGVkICovCiAJc3RhdHVzID0gc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3Rvcmllc19jb25zdChwYXRoKTsKIAlpZiAoc3RhdHVzKSB7Ci0JCWlmIChzdGF0dXMgPT0gU0NMRF9FWElTVFMpIHsKKwkJaWYgKHN0YXR1cyA9PSBTQ0xEX0VYSVNUUykKIAkJCS8qIHNvbWV0aGluZyBlbHNlIGV4aXN0cyAqLwotCQkJZXJyb3IobXNnLCBwYXRoLCBfKCI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IikpOwotCQkJcmV0dXJuIC0xOwotCQl9Ci0JCWRpZShtc2csIHBhdGgsICIiKTsKKwkJCXJldHVybiBlcnIobywgbXNnLCBwYXRoLCBfKCI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IikpOworCQlyZXR1cm4gZXJyKG8sIG1zZywgcGF0aCwgIiIpOwogCX0KIAogCS8qCkBAIC03MjIsNyArNzUxLDcgQEAKIAkgKiB0cmFja2luZyBpdC4KIAkgKi8KIAlpZiAod291bGRfbG9zZV91bnRyYWNrZWQocGF0aCkpCi0JCXJldHVybiBlcnJvcihfKCJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciKSwKKwkJcmV0dXJuIGVycihvLCBfKCJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciKSwKIAkJCSAgICAgcGF0aCk7CiAKIAkvKiBTdWNjZXNzZnVsIHVubGluayBpcyBnb29kLi4gKi8KQEAgLTczMiwxNiArNzYxLDE4IEBACiAJaWYgKGVycm5vID09IEVOT0VOVCkKIAkJcmV0dXJuIDA7CiAJLyogLi4gYnV0IG5vdCBzb21lIG90aGVyIGVycm9yICh3aG8gcmVhbGx5IGNhcmVzIHdoYXQ/KSAqLwotCXJldHVybiBlcnJvcihtc2csIHBhdGgsIF8oIjogcGVyaGFwcyBhIEQvRiBjb25mbGljdD8iKSk7CisJcmV0dXJuIGVycihvLCBtc2csIHBhdGgsIF8oIjogcGVyaGFwcyBhIEQvRiBjb25mbGljdD8iKSk7CiB9CiAKLXN0YXRpYyB2b2lkIHVwZGF0ZV9maWxlX2ZsYWdzKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAotCQkJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhLAotCQkJICAgICAgdW5zaWduZWQgbW9kZSwKLQkJCSAgICAgIGNvbnN0IGNoYXIgKnBhdGgsCi0JCQkgICAgICBpbnQgdXBkYXRlX2NhY2hlLAotCQkJICAgICAgaW50IHVwZGF0ZV93ZCkKK3N0YXRpYyBpbnQgdXBkYXRlX2ZpbGVfZmxhZ3Moc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCisJCQkgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCSAgICAgdW5zaWduZWQgbW9kZSwKKwkJCSAgICAgY29uc3QgY2hhciAqcGF0aCwKKwkJCSAgICAgaW50IHVwZGF0ZV9jYWNoZSwKKwkJCSAgICAgaW50IHVwZGF0ZV93ZCkKIHsKKwlpbnQgcmV0ID0gMDsKKwogCWlmIChvLT5jYWxsX2RlcHRoKQogCQl1cGRhdGVfd2QgPSAwOwogCkBAIC03NjAsMTEgKzc5MSwxMyBAQAogCQkJZ290byB1cGRhdGVfaW5kZXg7CiAJCX0KIAotCQlidWYgPSByZWFkX3NoYTFfZmlsZShzaGEsICZ0eXBlLCAmc2l6ZSk7CisJCWJ1ZiA9IHJlYWRfc2hhMV9maWxlKG9pZC0+aGFzaCwgJnR5cGUsICZzaXplKTsKIAkJaWYgKCFidWYpCi0JCQlkaWUoXygiY2Fubm90IHJlYWQgb2JqZWN0ICVzICclcyciKSwgc2hhMV90b19oZXgoc2hhKSwgcGF0aCk7Ci0JCWlmICh0eXBlICE9IE9CSl9CTE9CKQotCQkJZGllKF8oImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciKSwgc2hhMV90b19oZXgoc2hhKSwgcGF0aCk7CisJCQlyZXR1cm4gZXJyKG8sIF8oImNhbm5vdCByZWFkIG9iamVjdCAlcyAnJXMnIiksIG9pZF90b19oZXgob2lkKSwgcGF0aCk7CisJCWlmICh0eXBlICE9IE9CSl9CTE9CKSB7CisJCQlyZXQgPSBlcnIobywgXygiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIpLCBvaWRfdG9faGV4KG9pZCksIHBhdGgpOworCQkJZ290byBmcmVlX2J1ZjsKKwkJfQogCQlpZiAoU19JU1JFRyhtb2RlKSkgewogCQkJc3RydWN0IHN0cmJ1ZiBzdHJidWYgPSBTVFJCVUZfSU5JVDsKIAkJCWlmIChjb252ZXJ0X3RvX3dvcmtpbmdfdHJlZShwYXRoLCBidWYsIHNpemUsICZzdHJidWYpKSB7CkBAIC03NzYsOCArODA5LDcgQEAKIAogCQlpZiAobWFrZV9yb29tX2Zvcl9wYXRoKG8sIHBhdGgpIDwgMCkgewogCQkJdXBkYXRlX3dkID0gMDsKLQkJCWZyZWUoYnVmKTsKLQkJCWdvdG8gdXBkYXRlX2luZGV4OworCQkJZ290byBmcmVlX2J1ZjsKIAkJfQogCQlpZiAoU19JU1JFRyhtb2RlKSB8fCAoIWhhc19zeW1saW5rcyAmJiBTX0lTTE5LKG1vZGUpKSkgewogCQkJaW50IGZkOwpAQCAtNzg2LDggKzgxOCwxMSBAQAogCQkJZWxzZQogCQkJCW1vZGUgPSAwNjY2OwogCQkJZmQgPSBvcGVuKHBhdGgsIE9fV1JPTkxZIHwgT19UUlVOQyB8IE9fQ1JFQVQsIG1vZGUpOwotCQkJaWYgKGZkIDwgMCkKLQkJCQlkaWVfZXJybm8oXygiZmFpbGVkIHRvIG9wZW4gJyVzJyIpLCBwYXRoKTsKKwkJCWlmIChmZCA8IDApIHsKKwkJCQlyZXQgPSBlcnIobywgXygiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiKSwKKwkJCQkJICBwYXRoLCBzdHJlcnJvcihlcnJubykpOworCQkJCWdvdG8gZnJlZV9idWY7CisJCQl9CiAJCQl3cml0ZV9pbl9mdWxsKGZkLCBidWYsIHNpemUpOwogCQkJY2xvc2UoZmQpOwogCQl9IGVsc2UgaWYgKFNfSVNMTksobW9kZSkpIHsKQEAgLTc5NSwzMSArODMwLDM1IEBACiAJCQlzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzX2NvbnN0KHBhdGgpOwogCQkJdW5saW5rKHBhdGgpOwogCQkJaWYgKHN5bWxpbmsobG5rLCBwYXRoKSkKLQkJCQlkaWVfZXJybm8oXygiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJyIpLCBwYXRoKTsKKwkJCQlyZXQgPSBlcnIobywgXygiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiKSwKKwkJCQkJcGF0aCwgc3RyZXJyb3IoZXJybm8pKTsKIAkJCWZyZWUobG5rKTsKIAkJfSBlbHNlCi0JCQlkaWUoXygiZG8gbm90IGtub3cgd2hhdCB0byBkbyB3aXRoICUwNm8gJXMgJyVzJyIpLAotCQkJICAgIG1vZGUsIHNoYTFfdG9faGV4KHNoYSksIHBhdGgpOworCQkJcmV0ID0gZXJyKG8sCisJCQkJICBfKCJkbyBub3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJTA2byAlcyAnJXMnIiksCisJCQkJICBtb2RlLCBvaWRfdG9faGV4KG9pZCksIHBhdGgpOworIGZyZWVfYnVmOgogCQlmcmVlKGJ1Zik7CiAJfQogIHVwZGF0ZV9pbmRleDoKLQlpZiAodXBkYXRlX2NhY2hlKQotCQlhZGRfY2FjaGVpbmZvKG1vZGUsIHNoYSwgcGF0aCwgMCwgdXBkYXRlX3dkLCBBRERfQ0FDSEVfT0tfVE9fQUREKTsKKwlpZiAoIXJldCAmJiB1cGRhdGVfY2FjaGUpCisJCWFkZF9jYWNoZWluZm8obywgbW9kZSwgb2lkLCBwYXRoLCAwLCB1cGRhdGVfd2QsIEFERF9DQUNIRV9PS19UT19BREQpOworCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIHVwZGF0ZV9maWxlKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAotCQkJaW50IGNsZWFuLAotCQkJY29uc3QgdW5zaWduZWQgY2hhciAqc2hhLAotCQkJdW5zaWduZWQgbW9kZSwKLQkJCWNvbnN0IGNoYXIgKnBhdGgpCitzdGF0aWMgaW50IHVwZGF0ZV9maWxlKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAorCQkgICAgICAgaW50IGNsZWFuLAorCQkgICAgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkgICAgICAgdW5zaWduZWQgbW9kZSwKKwkJICAgICAgIGNvbnN0IGNoYXIgKnBhdGgpCiB7Ci0JdXBkYXRlX2ZpbGVfZmxhZ3Mobywgc2hhLCBtb2RlLCBwYXRoLCBvLT5jYWxsX2RlcHRoIHx8IGNsZWFuLCAhby0+Y2FsbF9kZXB0aCk7CisJcmV0dXJuIHVwZGF0ZV9maWxlX2ZsYWdzKG8sIG9pZCwgbW9kZSwgcGF0aCwgby0+Y2FsbF9kZXB0aCB8fCBjbGVhbiwgIW8tPmNhbGxfZGVwdGgpOwogfQogCiAvKiBMb3cgbGV2ZWwgZmlsZSBtZXJnaW5nLCB1cGRhdGUgYW5kIHJlbW92YWwgKi8KIAogc3RydWN0IG1lcmdlX2ZpbGVfaW5mbyB7Ci0JdW5zaWduZWQgY2hhciBzaGFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXVuc2lnbmVkIG1vZGU7CiAJdW5zaWduZWQgY2xlYW46MSwKIAkJIG1lcmdlOjE7CkBAIC04NzEsOSArOTEwLDkgQEAKIAkJbmFtZTIgPSBta3BhdGhkdXAoIiVzIiwgYnJhbmNoMik7CiAJfQogCi0JcmVhZF9tbWJsb2IoJm9yaWcsIG9uZS0+c2hhMSk7Ci0JcmVhZF9tbWJsb2IoJnNyYzEsIGEtPnNoYTEpOwotCXJlYWRfbW1ibG9iKCZzcmMyLCBiLT5zaGExKTsKKwlyZWFkX21tYmxvYigmb3JpZywgJm9uZS0+b2lkKTsKKwlyZWFkX21tYmxvYigmc3JjMSwgJmEtPm9pZCk7CisJcmVhZF9tbWJsb2IoJnNyYzIsICZiLT5vaWQpOwogCiAJbWVyZ2Vfc3RhdHVzID0gbGxfbWVyZ2UocmVzdWx0X2J1ZiwgYS0+cGF0aCwgJm9yaWcsIGJhc2VfbmFtZSwKIAkJCQkmc3JjMSwgbmFtZTEsICZzcmMyLCBuYW1lMiwgJmxsX29wdHMpOwpAQCAtODg3LDEzOCArOTI2LDE0NCBAQAogCXJldHVybiBtZXJnZV9zdGF0dXM7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgbWVyZ2VfZmlsZV9pbmZvIG1lcmdlX2ZpbGVfMShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK3N0YXRpYyBpbnQgbWVyZ2VfZmlsZV8xKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAogCQkJCQkgICBjb25zdCBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqb25lLAogCQkJCQkgICBjb25zdCBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYSwKIAkJCQkJICAgY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmIsCiAJCQkJCSAgIGNvbnN0IGNoYXIgKmJyYW5jaDEsCi0JCQkJCSAgIGNvbnN0IGNoYXIgKmJyYW5jaDIpCisJCQkJCSAgIGNvbnN0IGNoYXIgKmJyYW5jaDIsCisJCQkJCSAgIHN0cnVjdCBtZXJnZV9maWxlX2luZm8gKnJlc3VsdCkKIHsKLQlzdHJ1Y3QgbWVyZ2VfZmlsZV9pbmZvIHJlc3VsdDsKLQlyZXN1bHQubWVyZ2UgPSAwOwotCXJlc3VsdC5jbGVhbiA9IDE7CisJcmVzdWx0LT5tZXJnZSA9IDA7CisJcmVzdWx0LT5jbGVhbiA9IDE7CiAKIAlpZiAoKFNfSUZNVCAmIGEtPm1vZGUpICE9IChTX0lGTVQgJiBiLT5tb2RlKSkgewotCQlyZXN1bHQuY2xlYW4gPSAwOworCQlyZXN1bHQtPmNsZWFuID0gMDsKIAkJaWYgKFNfSVNSRUcoYS0+bW9kZSkpIHsKLQkJCXJlc3VsdC5tb2RlID0gYS0+bW9kZTsKLQkJCWhhc2hjcHkocmVzdWx0LnNoYSwgYS0+c2hhMSk7CisJCQlyZXN1bHQtPm1vZGUgPSBhLT5tb2RlOworCQkJb2lkY3B5KCZyZXN1bHQtPm9pZCwgJmEtPm9pZCk7CiAJCX0gZWxzZSB7Ci0JCQlyZXN1bHQubW9kZSA9IGItPm1vZGU7Ci0JCQloYXNoY3B5KHJlc3VsdC5zaGEsIGItPnNoYTEpOworCQkJcmVzdWx0LT5tb2RlID0gYi0+bW9kZTsKKwkJCW9pZGNweSgmcmVzdWx0LT5vaWQsICZiLT5vaWQpOwogCQl9CiAJfSBlbHNlIHsKLQkJaWYgKCFzaGFfZXEoYS0+c2hhMSwgb25lLT5zaGExKSAmJiAhc2hhX2VxKGItPnNoYTEsIG9uZS0+c2hhMSkpCi0JCQlyZXN1bHQubWVyZ2UgPSAxOworCQlpZiAoIW9pZF9lcSgmYS0+b2lkLCAmb25lLT5vaWQpICYmICFvaWRfZXEoJmItPm9pZCwgJm9uZS0+b2lkKSkKKwkJCXJlc3VsdC0+bWVyZ2UgPSAxOwogCiAJCS8qCiAJCSAqIE1lcmdlIG1vZGVzCiAJCSAqLwogCQlpZiAoYS0+bW9kZSA9PSBiLT5tb2RlIHx8IGEtPm1vZGUgPT0gb25lLT5tb2RlKQotCQkJcmVzdWx0Lm1vZGUgPSBiLT5tb2RlOworCQkJcmVzdWx0LT5tb2RlID0gYi0+bW9kZTsKIAkJZWxzZSB7Ci0JCQlyZXN1bHQubW9kZSA9IGEtPm1vZGU7CisJCQlyZXN1bHQtPm1vZGUgPSBhLT5tb2RlOwogCQkJaWYgKGItPm1vZGUgIT0gb25lLT5tb2RlKSB7Ci0JCQkJcmVzdWx0LmNsZWFuID0gMDsKLQkJCQlyZXN1bHQubWVyZ2UgPSAxOworCQkJCXJlc3VsdC0+Y2xlYW4gPSAwOworCQkJCXJlc3VsdC0+bWVyZ2UgPSAxOwogCQkJfQogCQl9CiAKLQkJaWYgKHNoYV9lcShhLT5zaGExLCBiLT5zaGExKSB8fCBzaGFfZXEoYS0+c2hhMSwgb25lLT5zaGExKSkKLQkJCWhhc2hjcHkocmVzdWx0LnNoYSwgYi0+c2hhMSk7Ci0JCWVsc2UgaWYgKHNoYV9lcShiLT5zaGExLCBvbmUtPnNoYTEpKQotCQkJaGFzaGNweShyZXN1bHQuc2hhLCBhLT5zaGExKTsKKwkJaWYgKG9pZF9lcSgmYS0+b2lkLCAmYi0+b2lkKSB8fCBvaWRfZXEoJmEtPm9pZCwgJm9uZS0+b2lkKSkKKwkJCW9pZGNweSgmcmVzdWx0LT5vaWQsICZiLT5vaWQpOworCQllbHNlIGlmIChvaWRfZXEoJmItPm9pZCwgJm9uZS0+b2lkKSkKKwkJCW9pZGNweSgmcmVzdWx0LT5vaWQsICZhLT5vaWQpOwogCQllbHNlIGlmIChTX0lTUkVHKGEtPm1vZGUpKSB7CiAJCQltbWJ1ZmZlcl90IHJlc3VsdF9idWY7Ci0JCQlpbnQgbWVyZ2Vfc3RhdHVzOworCQkJaW50IHJldCA9IDAsIG1lcmdlX3N0YXR1czsKIAogCQkJbWVyZ2Vfc3RhdHVzID0gbWVyZ2VfM3dheShvLCAmcmVzdWx0X2J1Ziwgb25lLCBhLCBiLAogCQkJCQkJICBicmFuY2gxLCBicmFuY2gyKTsKIAogCQkJaWYgKChtZXJnZV9zdGF0dXMgPCAwKSB8fCAhcmVzdWx0X2J1Zi5wdHIpCi0JCQkJZGllKF8oIkZhaWxlZCB0byBleGVjdXRlIGludGVybmFsIG1lcmdlIikpOworCQkJCXJldCA9IGVycihvLCBfKCJGYWlsZWQgdG8gZXhlY3V0ZSBpbnRlcm5hbCBtZXJnZSIpKTsKIAotCQkJaWYgKHdyaXRlX3NoYTFfZmlsZShyZXN1bHRfYnVmLnB0ciwgcmVzdWx0X2J1Zi5zaXplLAotCQkJCQkgICAgYmxvYl90eXBlLCByZXN1bHQuc2hhKSkKLQkJCQlkaWUoXygiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIpLAotCQkJCSAgICBhLT5wYXRoKTsKKwkJCWlmICghcmV0ICYmIHdyaXRlX3NoYTFfZmlsZShyZXN1bHRfYnVmLnB0ciwgcmVzdWx0X2J1Zi5zaXplLAorCQkJCQkJICAgIGJsb2JfdHlwZSwgcmVzdWx0LT5vaWQuaGFzaCkpCisJCQkJcmV0ID0gZXJyKG8sIF8oIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiKSwKKwkJCQkJICBhLT5wYXRoKTsKIAogCQkJZnJlZShyZXN1bHRfYnVmLnB0cik7Ci0JCQlyZXN1bHQuY2xlYW4gPSAobWVyZ2Vfc3RhdHVzID09IDApOworCQkJaWYgKHJldCkKKwkJCQlyZXR1cm4gcmV0OworCQkJcmVzdWx0LT5jbGVhbiA9IChtZXJnZV9zdGF0dXMgPT0gMCk7CiAJCX0gZWxzZSBpZiAoU19JU0dJVExJTksoYS0+bW9kZSkpIHsKLQkJCXJlc3VsdC5jbGVhbiA9IG1lcmdlX3N1Ym1vZHVsZShyZXN1bHQuc2hhLAotCQkJCQkJICAgICAgIG9uZS0+cGF0aCwgb25lLT5zaGExLAotCQkJCQkJICAgICAgIGEtPnNoYTEsIGItPnNoYTEsCisJCQlyZXN1bHQtPmNsZWFuID0gbWVyZ2Vfc3VibW9kdWxlKHJlc3VsdC0+b2lkLmhhc2gsCisJCQkJCQkgICAgICAgb25lLT5wYXRoLAorCQkJCQkJICAgICAgIG9uZS0+b2lkLmhhc2gsCisJCQkJCQkgICAgICAgYS0+b2lkLmhhc2gsCisJCQkJCQkgICAgICAgYi0+b2lkLmhhc2gsCiAJCQkJCQkgICAgICAgIW8tPmNhbGxfZGVwdGgpOwogCQl9IGVsc2UgaWYgKFNfSVNMTksoYS0+bW9kZSkpIHsKLQkJCWhhc2hjcHkocmVzdWx0LnNoYSwgYS0+c2hhMSk7CisJCQlvaWRjcHkoJnJlc3VsdC0+b2lkLCAmYS0+b2lkKTsKIAotCQkJaWYgKCFzaGFfZXEoYS0+c2hhMSwgYi0+c2hhMSkpCi0JCQkJcmVzdWx0LmNsZWFuID0gMDsKLQkJfSBlbHNlIHsKLQkJCWRpZShfKCJ1bnN1cHBvcnRlZCBvYmplY3QgdHlwZSBpbiB0aGUgdHJlZSIpKTsKLQkJfQorCQkJaWYgKCFvaWRfZXEoJmEtPm9pZCwgJmItPm9pZCkpCisJCQkJcmVzdWx0LT5jbGVhbiA9IDA7CisJCX0gZWxzZQorCQkJZGllKCJCVUc6IHVuc3VwcG9ydGVkIG9iamVjdCB0eXBlIGluIHRoZSB0cmVlIik7CiAJfQogCi0JcmV0dXJuIHJlc3VsdDsKKwlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBtZXJnZV9maWxlX2luZm8KLW1lcmdlX2ZpbGVfc3BlY2lhbF9tYXJrZXJzKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAorc3RhdGljIGludCBtZXJnZV9maWxlX3NwZWNpYWxfbWFya2VycyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKIAkJCSAgIGNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpvbmUsCiAJCQkgICBjb25zdCBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYSwKIAkJCSAgIGNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpiLAogCQkJICAgY29uc3QgY2hhciAqYnJhbmNoMSwKIAkJCSAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lMSwKIAkJCSAgIGNvbnN0IGNoYXIgKmJyYW5jaDIsCi0JCQkgICBjb25zdCBjaGFyICpmaWxlbmFtZTIpCisJCQkgICBjb25zdCBjaGFyICpmaWxlbmFtZTIsCisJCQkgICBzdHJ1Y3QgbWVyZ2VfZmlsZV9pbmZvICptZmkpCiB7CiAJY2hhciAqc2lkZTEgPSBOVUxMOwogCWNoYXIgKnNpZGUyID0gTlVMTDsKLQlzdHJ1Y3QgbWVyZ2VfZmlsZV9pbmZvIG1maTsKKwlpbnQgcmV0OwogCiAJaWYgKGZpbGVuYW1lMSkKIAkJc2lkZTEgPSB4c3RyZm10KCIlczolcyIsIGJyYW5jaDEsIGZpbGVuYW1lMSk7CiAJaWYgKGZpbGVuYW1lMikKIAkJc2lkZTIgPSB4c3RyZm10KCIlczolcyIsIGJyYW5jaDIsIGZpbGVuYW1lMik7CiAKLQltZmkgPSBtZXJnZV9maWxlXzEobywgb25lLCBhLCBiLAotCQkJICAgc2lkZTEgPyBzaWRlMSA6IGJyYW5jaDEsIHNpZGUyID8gc2lkZTIgOiBicmFuY2gyKTsKKwlyZXQgPSBtZXJnZV9maWxlXzEobywgb25lLCBhLCBiLAorCQkJICAgc2lkZTEgPyBzaWRlMSA6IGJyYW5jaDEsCisJCQkgICBzaWRlMiA/IHNpZGUyIDogYnJhbmNoMiwgbWZpKTsKIAlmcmVlKHNpZGUxKTsKIAlmcmVlKHNpZGUyKTsKLQlyZXR1cm4gbWZpOworCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgbWVyZ2VfZmlsZV9pbmZvIG1lcmdlX2ZpbGVfb25lKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAorc3RhdGljIGludCBtZXJnZV9maWxlX29uZShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKIAkJCQkJIGNvbnN0IGNoYXIgKnBhdGgsCi0JCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICpvX3NoYSwgaW50IG9fbW9kZSwKLQkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmFfc2hhLCBpbnQgYV9tb2RlLAotCQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqYl9zaGEsIGludCBiX21vZGUsCisJCQkJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvX29pZCwgaW50IG9fbW9kZSwKKwkJCQkJIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmFfb2lkLCBpbnQgYV9tb2RlLAorCQkJCQkgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYl9vaWQsIGludCBiX21vZGUsCiAJCQkJCSBjb25zdCBjaGFyICpicmFuY2gxLAotCQkJCQkgY29uc3QgY2hhciAqYnJhbmNoMikKKwkJCQkJIGNvbnN0IGNoYXIgKmJyYW5jaDIsCisJCQkJCSBzdHJ1Y3QgbWVyZ2VfZmlsZV9pbmZvICptZmkpCiB7CiAJc3RydWN0IGRpZmZfZmlsZXNwZWMgb25lLCBhLCBiOwogCiAJb25lLnBhdGggPSBhLnBhdGggPSBiLnBhdGggPSAoY2hhciAqKXBhdGg7Ci0JaGFzaGNweShvbmUuc2hhMSwgb19zaGEpOworCW9pZGNweSgmb25lLm9pZCwgb19vaWQpOwogCW9uZS5tb2RlID0gb19tb2RlOwotCWhhc2hjcHkoYS5zaGExLCBhX3NoYSk7CisJb2lkY3B5KCZhLm9pZCwgYV9vaWQpOwogCWEubW9kZSA9IGFfbW9kZTsKLQloYXNoY3B5KGIuc2hhMSwgYl9zaGEpOworCW9pZGNweSgmYi5vaWQsIGJfb2lkKTsKIAliLm1vZGUgPSBiX21vZGU7Ci0JcmV0dXJuIG1lcmdlX2ZpbGVfMShvLCAmb25lLCAmYSwgJmIsIGJyYW5jaDEsIGJyYW5jaDIpOworCXJldHVybiBtZXJnZV9maWxlXzEobywgJm9uZSwgJmEsICZiLCBicmFuY2gxLCBicmFuY2gyLCBtZmkpOwogfQogCi1zdGF0aWMgdm9pZCBoYW5kbGVfY2hhbmdlX2RlbGV0ZShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK3N0YXRpYyBpbnQgaGFuZGxlX2NoYW5nZV9kZWxldGUoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCiAJCQkJIGNvbnN0IGNoYXIgKnBhdGgsCi0JCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9fc2hhLCBpbnQgb19tb2RlLAotCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICphX3NoYSwgaW50IGFfbW9kZSwKLQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqYl9zaGEsIGludCBiX21vZGUsCisJCQkJIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9fb2lkLCBpbnQgb19tb2RlLAorCQkJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICphX29pZCwgaW50IGFfbW9kZSwKKwkJCQkgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYl9vaWQsIGludCBiX21vZGUsCiAJCQkJIGNvbnN0IGNoYXIgKmNoYW5nZSwgY29uc3QgY2hhciAqY2hhbmdlX3Bhc3QpCiB7CiAJY2hhciAqcmVuYW1lZCA9IE5VTEw7CisJaW50IHJldCA9IDA7CiAJaWYgKGRpcl9pbl93YXkocGF0aCwgIW8tPmNhbGxfZGVwdGgpKSB7Ci0JCXJlbmFtZWQgPSB1bmlxdWVfcGF0aChvLCBwYXRoLCBhX3NoYSA/IG8tPmJyYW5jaDEgOiBvLT5icmFuY2gyKTsKKwkJcmVuYW1lZCA9IHVuaXF1ZV9wYXRoKG8sIHBhdGgsIGFfb2lkID8gby0+YnJhbmNoMSA6IG8tPmJyYW5jaDIpOwogCX0KIAogCWlmIChvLT5jYWxsX2RlcHRoKSB7CkBAIC0xMDI3LDIxICsxMDcyLDIzIEBACiAJCSAqIGNvcnJlY3Q7IHNpbmNlIHRoZXJlIGlzIG5vIHRydWUgIm1pZGRsZSBwb2ludCIgYmV0d2VlbgogCQkgKiB0aGVtLCBzaW1wbHkgcmV1c2UgdGhlIGJhc2UgdmVyc2lvbiBmb3IgdmlydHVhbCBtZXJnZSBiYXNlLgogCQkgKi8KLQkJcmVtb3ZlX2ZpbGVfZnJvbV9jYWNoZShwYXRoKTsKLQkJdXBkYXRlX2ZpbGUobywgMCwgb19zaGEsIG9fbW9kZSwgcmVuYW1lZCA/IHJlbmFtZWQgOiBwYXRoKTsKLQl9IGVsc2UgaWYgKCFhX3NoYSkgeworCQlyZXQgPSByZW1vdmVfZmlsZV9mcm9tX2NhY2hlKHBhdGgpOworCQlpZiAoIXJldCkKKwkJCXJldCA9IHVwZGF0ZV9maWxlKG8sIDAsIG9fb2lkLCBvX21vZGUsCisJCQkJCSAgcmVuYW1lZCA/IHJlbmFtZWQgOiBwYXRoKTsKKwl9IGVsc2UgaWYgKCFhX29pZCkgewogCQlpZiAoIXJlbmFtZWQpIHsKIAkJCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyAiCiAJCQkgICAgICAgImFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0IGluIHRyZWUuIiksCiAJCQkgICAgICAgY2hhbmdlLCBwYXRoLCBvLT5icmFuY2gxLCBjaGFuZ2VfcGFzdCwKIAkJCSAgICAgICBvLT5icmFuY2gyLCBvLT5icmFuY2gyLCBwYXRoKTsKLQkJCXVwZGF0ZV9maWxlKG8sIDAsIGJfc2hhLCBiX21vZGUsIHBhdGgpOworCQkJcmV0ID0gdXBkYXRlX2ZpbGUobywgMCwgYl9vaWQsIGJfbW9kZSwgcGF0aCk7CiAJCX0gZWxzZSB7CiAJCQlvdXRwdXQobywgMSwgXygiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgIgogCQkJICAgICAgICJhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCBpbiB0cmVlIGF0ICVzLiIpLAogCQkJICAgICAgIGNoYW5nZSwgcGF0aCwgby0+YnJhbmNoMSwgY2hhbmdlX3Bhc3QsCiAJCQkgICAgICAgby0+YnJhbmNoMiwgby0+YnJhbmNoMiwgcGF0aCwgcmVuYW1lZCk7Ci0JCQl1cGRhdGVfZmlsZShvLCAwLCBiX3NoYSwgYl9tb2RlLCByZW5hbWVkKTsKKwkJCXJldCA9IHVwZGF0ZV9maWxlKG8sIDAsIGJfb2lkLCBiX21vZGUsIHJlbmFtZWQpOwogCQl9CiAJfSBlbHNlIHsKIAkJaWYgKCFyZW5hbWVkKSB7CkBAIC0xMDU0LDcgKzExMDEsNyBAQAogCQkJICAgICAgICJhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCBpbiB0cmVlIGF0ICVzLiIpLAogCQkJICAgICAgIGNoYW5nZSwgcGF0aCwgby0+YnJhbmNoMiwgY2hhbmdlX3Bhc3QsCiAJCQkgICAgICAgby0+YnJhbmNoMSwgby0+YnJhbmNoMSwgcGF0aCwgcmVuYW1lZCk7Ci0JCQl1cGRhdGVfZmlsZShvLCAwLCBhX3NoYSwgYV9tb2RlLCByZW5hbWVkKTsKKwkJCXJldCA9IHVwZGF0ZV9maWxlKG8sIDAsIGFfb2lkLCBhX21vZGUsIHJlbmFtZWQpOwogCQl9CiAJCS8qCiAJCSAqIE5vIG5lZWQgdG8gY2FsbCB1cGRhdGVfZmlsZSgpIG9uIHBhdGggd2hlbiAhcmVuYW1lZCwgc2luY2UKQEAgLTEwNjQsNTkgKzExMTEsNjAgQEAKIAkJICovCiAJfQogCWZyZWUocmVuYW1lZCk7CisKKwlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdm9pZCBjb25mbGljdF9yZW5hbWVfZGVsZXRlKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAorc3RhdGljIGludCBjb25mbGljdF9yZW5hbWVfZGVsZXRlKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAogCQkJCSAgIHN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwYWlyLAogCQkJCSAgIGNvbnN0IGNoYXIgKnJlbmFtZV9icmFuY2gsCiAJCQkJICAgY29uc3QgY2hhciAqb3RoZXJfYnJhbmNoKQogewogCWNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpvcmlnID0gcGFpci0+b25lOwogCWNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpkZXN0ID0gcGFpci0+dHdvOwotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmFfc2hhID0gTlVMTDsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpiX3NoYSA9IE5VTEw7CisJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYV9vaWQgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmJfb2lkID0gTlVMTDsKIAlpbnQgYV9tb2RlID0gMDsKIAlpbnQgYl9tb2RlID0gMDsKIAogCWlmIChyZW5hbWVfYnJhbmNoID09IG8tPmJyYW5jaDEpIHsKLQkJYV9zaGEgPSBkZXN0LT5zaGExOworCQlhX29pZCA9ICZkZXN0LT5vaWQ7CiAJCWFfbW9kZSA9IGRlc3QtPm1vZGU7CiAJfSBlbHNlIHsKLQkJYl9zaGEgPSBkZXN0LT5zaGExOworCQliX29pZCA9ICZkZXN0LT5vaWQ7CiAJCWJfbW9kZSA9IGRlc3QtPm1vZGU7CiAJfQogCi0JaGFuZGxlX2NoYW5nZV9kZWxldGUobywKLQkJCSAgICAgby0+Y2FsbF9kZXB0aCA/IG9yaWctPnBhdGggOiBkZXN0LT5wYXRoLAotCQkJICAgICBvcmlnLT5zaGExLCBvcmlnLT5tb2RlLAotCQkJICAgICBhX3NoYSwgYV9tb2RlLAotCQkJICAgICBiX3NoYSwgYl9tb2RlLAotCQkJICAgICBfKCJyZW5hbWUiKSwgXygicmVuYW1lZCIpKTsKKwlpZiAoaGFuZGxlX2NoYW5nZV9kZWxldGUobywKKwkJCQkgby0+Y2FsbF9kZXB0aCA/IG9yaWctPnBhdGggOiBkZXN0LT5wYXRoLAorCQkJCSAmb3JpZy0+b2lkLCBvcmlnLT5tb2RlLAorCQkJCSBhX29pZCwgYV9tb2RlLAorCQkJCSBiX29pZCwgYl9tb2RlLAorCQkJCSBfKCJyZW5hbWUiKSwgXygicmVuYW1lZCIpKSkKKwkJcmV0dXJuIC0xOwogCi0JaWYgKG8tPmNhbGxfZGVwdGgpIHsKLQkJcmVtb3ZlX2ZpbGVfZnJvbV9jYWNoZShkZXN0LT5wYXRoKTsKLQl9IGVsc2UgewotCQl1cGRhdGVfc3RhZ2VzKGRlc3QtPnBhdGgsIE5VTEwsCi0JCQkgICAgICByZW5hbWVfYnJhbmNoID09IG8tPmJyYW5jaDEgPyBkZXN0IDogTlVMTCwKLQkJCSAgICAgIHJlbmFtZV9icmFuY2ggPT0gby0+YnJhbmNoMSA/IE5VTEwgOiBkZXN0KTsKLQl9Ci0KKwlpZiAoby0+Y2FsbF9kZXB0aCkKKwkJcmV0dXJuIHJlbW92ZV9maWxlX2Zyb21fY2FjaGUoZGVzdC0+cGF0aCk7CisJZWxzZQorCQlyZXR1cm4gdXBkYXRlX3N0YWdlcyhvLCBkZXN0LT5wYXRoLCBOVUxMLAorCQkJCSAgICAgcmVuYW1lX2JyYW5jaCA9PSBvLT5icmFuY2gxID8gZGVzdCA6IE5VTEwsCisJCQkJICAgICByZW5hbWVfYnJhbmNoID09IG8tPmJyYW5jaDEgPyBOVUxMIDogZGVzdCk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqZmlsZXNwZWNfZnJvbV9lbnRyeShzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqdGFyZ2V0LAogCQkJCQkJIHN0cnVjdCBzdGFnZV9kYXRhICplbnRyeSwKIAkJCQkJCSBpbnQgc3RhZ2UpCiB7Ci0JdW5zaWduZWQgY2hhciAqc2hhID0gZW50cnktPnN0YWdlc1tzdGFnZV0uc2hhOworCXN0cnVjdCBvYmplY3RfaWQgKm9pZCA9ICZlbnRyeS0+c3RhZ2VzW3N0YWdlXS5vaWQ7CiAJdW5zaWduZWQgbW9kZSA9IGVudHJ5LT5zdGFnZXNbc3RhZ2VdLm1vZGU7Ci0JaWYgKG1vZGUgPT0gMCB8fCBpc19udWxsX3NoYTEoc2hhKSkKKwlpZiAobW9kZSA9PSAwIHx8IGlzX251bGxfb2lkKG9pZCkpCiAJCXJldHVybiBOVUxMOwotCWhhc2hjcHkodGFyZ2V0LT5zaGExLCBzaGEpOworCW9pZGNweSgmdGFyZ2V0LT5vaWQsIG9pZCk7CiAJdGFyZ2V0LT5tb2RlID0gbW9kZTsKIAlyZXR1cm4gdGFyZ2V0OwogfQogCi1zdGF0aWMgdm9pZCBoYW5kbGVfZmlsZShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK3N0YXRpYyBpbnQgaGFuZGxlX2ZpbGUoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCiAJCQlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqcmVuYW1lLAogCQkJaW50IHN0YWdlLAogCQkJc3RydWN0IHJlbmFtZV9jb25mbGljdF9pbmZvICpjaSkKQEAgLTExMjYsNiArMTE3NCw3IEBACiAJY29uc3QgY2hhciAqY3VyX2JyYW5jaCwgKm90aGVyX2JyYW5jaDsKIAlzdHJ1Y3QgZGlmZl9maWxlc3BlYyBvdGhlcjsKIAlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYWRkOworCWludCByZXQ7CiAKIAlpZiAoc3RhZ2UgPT0gMikgewogCQlkc3RfZW50cnkgPSBjaS0+ZHN0X2VudHJ5MTsKQEAgLTExNDAsNyArMTE4OSw4IEBACiAJYWRkID0gZmlsZXNwZWNfZnJvbV9lbnRyeSgmb3RoZXIsIGRzdF9lbnRyeSwgc3RhZ2UgXiAxKTsKIAlpZiAoYWRkKSB7CiAJCWNoYXIgKmFkZF9uYW1lID0gdW5pcXVlX3BhdGgobywgcmVuYW1lLT5wYXRoLCBvdGhlcl9icmFuY2gpOwotCQl1cGRhdGVfZmlsZShvLCAwLCBhZGQtPnNoYTEsIGFkZC0+bW9kZSwgYWRkX25hbWUpOworCQlpZiAodXBkYXRlX2ZpbGUobywgMCwgJmFkZC0+b2lkLCBhZGQtPm1vZGUsIGFkZF9uYW1lKSkKKwkJCXJldHVybiAtMTsKIAogCQlyZW1vdmVfZmlsZShvLCAwLCByZW5hbWUtPnBhdGgsIDApOwogCQlkc3RfbmFtZSA9IHVuaXF1ZV9wYXRoKG8sIHJlbmFtZS0+cGF0aCwgY3VyX2JyYW5jaCk7CkBAIC0xMTUxLDE3ICsxMjAxLDIwIEBACiAJCQkgICAgICAgcmVuYW1lLT5wYXRoLCBvdGhlcl9icmFuY2gsIGRzdF9uYW1lKTsKIAkJfQogCX0KLQl1cGRhdGVfZmlsZShvLCAwLCByZW5hbWUtPnNoYTEsIHJlbmFtZS0+bW9kZSwgZHN0X25hbWUpOwotCWlmIChzdGFnZSA9PSAyKQotCQl1cGRhdGVfc3RhZ2VzKHJlbmFtZS0+cGF0aCwgTlVMTCwgcmVuYW1lLCBhZGQpOworCWlmICgocmV0ID0gdXBkYXRlX2ZpbGUobywgMCwgJnJlbmFtZS0+b2lkLCByZW5hbWUtPm1vZGUsIGRzdF9uYW1lKSkpCisJCTsgLyogZmFsbCB0aHJvdWdoLCBkbyBhbGxvdyBkc3RfbmFtZSB0byBiZSByZWxlYXNlZCAqLworCWVsc2UgaWYgKHN0YWdlID09IDIpCisJCXJldCA9IHVwZGF0ZV9zdGFnZXMobywgcmVuYW1lLT5wYXRoLCBOVUxMLCByZW5hbWUsIGFkZCk7CiAJZWxzZQotCQl1cGRhdGVfc3RhZ2VzKHJlbmFtZS0+cGF0aCwgTlVMTCwgYWRkLCByZW5hbWUpOworCQlyZXQgPSB1cGRhdGVfc3RhZ2VzKG8sIHJlbmFtZS0+cGF0aCwgTlVMTCwgYWRkLCByZW5hbWUpOwogCiAJaWYgKGRzdF9uYW1lICE9IHJlbmFtZS0+cGF0aCkKIAkJZnJlZShkc3RfbmFtZSk7CisKKwlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdm9pZCBjb25mbGljdF9yZW5hbWVfcmVuYW1lXzF0bzIoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCitzdGF0aWMgaW50IGNvbmZsaWN0X3JlbmFtZV9yZW5hbWVfMXRvMihzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKIAkJCQkJc3RydWN0IHJlbmFtZV9jb25mbGljdF9pbmZvICpjaSkKIHsKIAkvKiBPbmUgZmlsZSB3YXMgcmVuYW1lZCBpbiBib3RoIGJyYW5jaGVzLCBidXQgdG8gZGlmZmVyZW50IG5hbWVzLiAqLwpAQCAtMTE3OSwxOCArMTIzMiwyMSBAQAogCQlzdHJ1Y3QgbWVyZ2VfZmlsZV9pbmZvIG1maTsKIAkJc3RydWN0IGRpZmZfZmlsZXNwZWMgb3RoZXI7CiAJCXN0cnVjdCBkaWZmX2ZpbGVzcGVjICphZGQ7Ci0JCW1maSA9IG1lcmdlX2ZpbGVfb25lKG8sIG9uZS0+cGF0aCwKLQkJCQkgb25lLT5zaGExLCBvbmUtPm1vZGUsCi0JCQkJIGEtPnNoYTEsIGEtPm1vZGUsCi0JCQkJIGItPnNoYTEsIGItPm1vZGUsCi0JCQkJIGNpLT5icmFuY2gxLCBjaS0+YnJhbmNoMik7CisJCWlmIChtZXJnZV9maWxlX29uZShvLCBvbmUtPnBhdGgsCisJCQkJICZvbmUtPm9pZCwgb25lLT5tb2RlLAorCQkJCSAmYS0+b2lkLCBhLT5tb2RlLAorCQkJCSAmYi0+b2lkLCBiLT5tb2RlLAorCQkJCSBjaS0+YnJhbmNoMSwgY2ktPmJyYW5jaDIsICZtZmkpKQorCQkJcmV0dXJuIC0xOworCiAJCS8qCiAJCSAqIEZJWE1FOiBGb3IgcmVuYW1lL2FkZC1zb3VyY2UgY29uZmxpY3RzIChpZiB3ZSBjb3VsZCBkZXRlY3QKIAkJICogc3VjaCksIHRoaXMgaXMgd3JvbmcuICBXZSBzaG91bGQgaW5zdGVhZCBmaW5kIGEgdW5pcXVlCiAJCSAqIHBhdGhuYW1lIGFuZCB0aGVuIGVpdGhlciByZW5hbWUgdGhlIGFkZC1zb3VyY2UgZmlsZSB0byB0aGF0CiAJCSAqIHVuaXF1ZSBwYXRoLCBvciB1c2UgdGhhdCB1bmlxdWUgcGF0aCBpbnN0ZWFkIG9mIHNyYyBoZXJlLgogCQkgKi8KLQkJdXBkYXRlX2ZpbGUobywgMCwgbWZpLnNoYSwgbWZpLm1vZGUsIG9uZS0+cGF0aCk7CisJCWlmICh1cGRhdGVfZmlsZShvLCAwLCAmbWZpLm9pZCwgbWZpLm1vZGUsIG9uZS0+cGF0aCkpCisJCQlyZXR1cm4gLTE7CiAKIAkJLyoKIAkJICogQWJvdmUsIHdlIHB1dCB0aGUgbWVyZ2VkIGNvbnRlbnQgYXQgdGhlIG1lcmdlLWJhc2UncwpAQCAtMTIwMSwyMiArMTI1NywyNiBAQAogCQkgKiByZXNvbHZpbmcgdGhlIGNvbmZsaWN0IGF0IHRoYXQgcGF0aCBpbiBpdHMgZmF2b3IuCiAJCSAqLwogCQlhZGQgPSBmaWxlc3BlY19mcm9tX2VudHJ5KCZvdGhlciwgY2ktPmRzdF9lbnRyeTEsIDIgXiAxKTsKLQkJaWYgKGFkZCkKLQkJCXVwZGF0ZV9maWxlKG8sIDAsIGFkZC0+c2hhMSwgYWRkLT5tb2RlLCBhLT5wYXRoKTsKKwkJaWYgKGFkZCkgeworCQkJaWYgKHVwZGF0ZV9maWxlKG8sIDAsICZhZGQtPm9pZCwgYWRkLT5tb2RlLCBhLT5wYXRoKSkKKwkJCQlyZXR1cm4gLTE7CisJCX0KIAkJZWxzZQogCQkJcmVtb3ZlX2ZpbGVfZnJvbV9jYWNoZShhLT5wYXRoKTsKIAkJYWRkID0gZmlsZXNwZWNfZnJvbV9lbnRyeSgmb3RoZXIsIGNpLT5kc3RfZW50cnkyLCAzIF4gMSk7Ci0JCWlmIChhZGQpCi0JCQl1cGRhdGVfZmlsZShvLCAwLCBhZGQtPnNoYTEsIGFkZC0+bW9kZSwgYi0+cGF0aCk7CisJCWlmIChhZGQpIHsKKwkJCWlmICh1cGRhdGVfZmlsZShvLCAwLCAmYWRkLT5vaWQsIGFkZC0+bW9kZSwgYi0+cGF0aCkpCisJCQkJcmV0dXJuIC0xOworCQl9CiAJCWVsc2UKIAkJCXJlbW92ZV9maWxlX2Zyb21fY2FjaGUoYi0+cGF0aCk7Ci0JfSBlbHNlIHsKLQkJaGFuZGxlX2ZpbGUobywgYSwgMiwgY2kpOwotCQloYW5kbGVfZmlsZShvLCBiLCAzLCBjaSk7Ci0JfQorCX0gZWxzZSBpZiAoaGFuZGxlX2ZpbGUobywgYSwgMiwgY2kpIHx8IGhhbmRsZV9maWxlKG8sIGIsIDMsIGNpKSkKKwkJcmV0dXJuIC0xOworCisJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGNvbmZsaWN0X3JlbmFtZV9yZW5hbWVfMnRvMShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK3N0YXRpYyBpbnQgY29uZmxpY3RfcmVuYW1lX3JlbmFtZV8ydG8xKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAogCQkJCQlzdHJ1Y3QgcmVuYW1lX2NvbmZsaWN0X2luZm8gKmNpKQogewogCS8qIFR3byBmaWxlcywgYSAmIGIsIHdlcmUgcmVuYW1lZCB0byB0aGUgc2FtZSB0aGluZywgYy4gKi8KQEAgLTEyMjcsNiArMTI4Nyw3IEBACiAJY2hhciAqcGF0aCA9IGMxLT5wYXRoOyAvKiA9PSBjMi0+cGF0aCAqLwogCXN0cnVjdCBtZXJnZV9maWxlX2luZm8gbWZpX2MxOwogCXN0cnVjdCBtZXJnZV9maWxlX2luZm8gbWZpX2MyOworCWludCByZXQ7CiAKIAlvdXRwdXQobywgMSwgXygiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiAiCiAJICAgICAgICJSZW5hbWUgJXMtPiVzIGluICVzLiAiCkBAIC0xMjM3LDEyICsxMjk4LDEzIEBACiAJcmVtb3ZlX2ZpbGUobywgMSwgYS0+cGF0aCwgby0+Y2FsbF9kZXB0aCB8fCB3b3VsZF9sb3NlX3VudHJhY2tlZChhLT5wYXRoKSk7CiAJcmVtb3ZlX2ZpbGUobywgMSwgYi0+cGF0aCwgby0+Y2FsbF9kZXB0aCB8fCB3b3VsZF9sb3NlX3VudHJhY2tlZChiLT5wYXRoKSk7CiAKLQltZmlfYzEgPSBtZXJnZV9maWxlX3NwZWNpYWxfbWFya2VycyhvLCBhLCBjMSwgJmNpLT5yZW4xX290aGVyLAotCQkJCQkgICAgby0+YnJhbmNoMSwgYzEtPnBhdGgsCi0JCQkJCSAgICBvLT5icmFuY2gyLCBjaS0+cmVuMV9vdGhlci5wYXRoKTsKLQltZmlfYzIgPSBtZXJnZV9maWxlX3NwZWNpYWxfbWFya2VycyhvLCBiLCAmY2ktPnJlbjJfb3RoZXIsIGMyLAotCQkJCQkgICAgby0+YnJhbmNoMSwgY2ktPnJlbjJfb3RoZXIucGF0aCwKLQkJCQkJICAgIG8tPmJyYW5jaDIsIGMyLT5wYXRoKTsKKwlpZiAobWVyZ2VfZmlsZV9zcGVjaWFsX21hcmtlcnMobywgYSwgYzEsICZjaS0+cmVuMV9vdGhlciwKKwkJCQkgICAgICAgby0+YnJhbmNoMSwgYzEtPnBhdGgsCisJCQkJICAgICAgIG8tPmJyYW5jaDIsIGNpLT5yZW4xX290aGVyLnBhdGgsICZtZmlfYzEpIHx8CisJICAgIG1lcmdlX2ZpbGVfc3BlY2lhbF9tYXJrZXJzKG8sIGIsICZjaS0+cmVuMl9vdGhlciwgYzIsCisJCQkJICAgICAgIG8tPmJyYW5jaDEsIGNpLT5yZW4yX290aGVyLnBhdGgsCisJCQkJICAgICAgIG8tPmJyYW5jaDIsIGMyLT5wYXRoLCAmbWZpX2MyKSkKKwkJcmV0dXJuIC0xOwogCiAJaWYgKG8tPmNhbGxfZGVwdGgpIHsKIAkJLyoKQEAgLTEyNTMsMTkgKzEzMTUsMjUgQEAKIAkJICogYWdhaW4gbGF0ZXIgZm9yIHRoZSBub24tcmVjdXJzaXZlIG1lcmdlLgogCQkgKi8KIAkJcmVtb3ZlX2ZpbGUobywgMCwgcGF0aCwgMCk7Ci0JCXVwZGF0ZV9maWxlKG8sIDAsIG1maV9jMS5zaGEsIG1maV9jMS5tb2RlLCBhLT5wYXRoKTsKLQkJdXBkYXRlX2ZpbGUobywgMCwgbWZpX2MyLnNoYSwgbWZpX2MyLm1vZGUsIGItPnBhdGgpOworCQlyZXQgPSB1cGRhdGVfZmlsZShvLCAwLCAmbWZpX2MxLm9pZCwgbWZpX2MxLm1vZGUsIGEtPnBhdGgpOworCQlpZiAoIXJldCkKKwkJCXJldCA9IHVwZGF0ZV9maWxlKG8sIDAsICZtZmlfYzIub2lkLCBtZmlfYzIubW9kZSwKKwkJCQkJICBiLT5wYXRoKTsKIAl9IGVsc2UgewogCQljaGFyICpuZXdfcGF0aDEgPSB1bmlxdWVfcGF0aChvLCBwYXRoLCBjaS0+YnJhbmNoMSk7CiAJCWNoYXIgKm5ld19wYXRoMiA9IHVuaXF1ZV9wYXRoKG8sIHBhdGgsIGNpLT5icmFuY2gyKTsKIAkJb3V0cHV0KG8sIDEsIF8oIlJlbmFtaW5nICVzIHRvICVzIGFuZCAlcyB0byAlcyBpbnN0ZWFkIiksCiAJCSAgICAgICBhLT5wYXRoLCBuZXdfcGF0aDEsIGItPnBhdGgsIG5ld19wYXRoMik7CiAJCXJlbW92ZV9maWxlKG8sIDAsIHBhdGgsIDApOwotCQl1cGRhdGVfZmlsZShvLCAwLCBtZmlfYzEuc2hhLCBtZmlfYzEubW9kZSwgbmV3X3BhdGgxKTsKLQkJdXBkYXRlX2ZpbGUobywgMCwgbWZpX2MyLnNoYSwgbWZpX2MyLm1vZGUsIG5ld19wYXRoMik7CisJCXJldCA9IHVwZGF0ZV9maWxlKG8sIDAsICZtZmlfYzEub2lkLCBtZmlfYzEubW9kZSwgbmV3X3BhdGgxKTsKKwkJaWYgKCFyZXQpCisJCQlyZXQgPSB1cGRhdGVfZmlsZShvLCAwLCAmbWZpX2MyLm9pZCwgbWZpX2MyLm1vZGUsCisJCQkJCSAgbmV3X3BhdGgyKTsKIAkJZnJlZShuZXdfcGF0aDIpOwogCQlmcmVlKG5ld19wYXRoMSk7CiAJfQorCisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBwcm9jZXNzX3JlbmFtZXMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCkBAIC0xMzQzLDcgKzE0MTEsNyBAQAogCQkJY29uc3QgY2hhciAqcmVuMl9kc3QgPSByZW4yLT5wYWlyLT50d28tPnBhdGg7CiAJCQllbnVtIHJlbmFtZV90eXBlIHJlbmFtZV90eXBlOwogCQkJaWYgKHN0cmNtcChyZW4xX3NyYywgcmVuMl9zcmMpICE9IDApCi0JCQkJZGllKCJyZW4xX3NyYyAhPSByZW4yX3NyYyIpOworCQkJCWRpZSgiQlVHOiByZW4xX3NyYyAhPSByZW4yX3NyYyIpOwogCQkJcmVuMi0+ZHN0X2VudHJ5LT5wcm9jZXNzZWQgPSAxOwogCQkJcmVuMi0+cHJvY2Vzc2VkID0gMTsKIAkJCWlmIChzdHJjbXAocmVuMV9kc3QsIHJlbjJfZHN0KSAhPSAwKSB7CkBAIC0xMzc3LDcgKzE0NDUsNyBAQAogCQkJcmVuMiA9IGxvb2t1cC0+dXRpbDsKIAkJCXJlbjJfZHN0ID0gcmVuMi0+cGFpci0+dHdvLT5wYXRoOwogCQkJaWYgKHN0cmNtcChyZW4xX2RzdCwgcmVuMl9kc3QpICE9IDApCi0JCQkJZGllKCJyZW4xX2RzdCAhPSByZW4yX2RzdCIpOworCQkJCWRpZSgiQlVHOiByZW4xX2RzdCAhPSByZW4yX2RzdCIpOwogCiAJCQljbGVhbl9tZXJnZSA9IDA7CiAJCQlyZW4yLT5wcm9jZXNzZWQgPSAxOwpAQCAtMTQyMSwxMyArMTQ4OSwxNSBAQAogCQkJcmVtb3ZlX2ZpbGUobywgMSwgcmVuMV9zcmMsCiAJCQkJICAgIHJlbmFtZWRfc3RhZ2UgPT0gMiB8fCAhd2FzX3RyYWNrZWQocmVuMV9zcmMpKTsKIAotCQkJaGFzaGNweShzcmNfb3RoZXIuc2hhMSwgcmVuMS0+c3JjX2VudHJ5LT5zdGFnZXNbb3RoZXJfc3RhZ2VdLnNoYSk7CisJCQlvaWRjcHkoJnNyY19vdGhlci5vaWQsCisJCQkgICAgICAgJnJlbjEtPnNyY19lbnRyeS0+c3RhZ2VzW290aGVyX3N0YWdlXS5vaWQpOwogCQkJc3JjX290aGVyLm1vZGUgPSByZW4xLT5zcmNfZW50cnktPnN0YWdlc1tvdGhlcl9zdGFnZV0ubW9kZTsKLQkJCWhhc2hjcHkoZHN0X290aGVyLnNoYTEsIHJlbjEtPmRzdF9lbnRyeS0+c3RhZ2VzW290aGVyX3N0YWdlXS5zaGEpOworCQkJb2lkY3B5KCZkc3Rfb3RoZXIub2lkLAorCQkJICAgICAgICZyZW4xLT5kc3RfZW50cnktPnN0YWdlc1tvdGhlcl9zdGFnZV0ub2lkKTsKIAkJCWRzdF9vdGhlci5tb2RlID0gcmVuMS0+ZHN0X2VudHJ5LT5zdGFnZXNbb3RoZXJfc3RhZ2VdLm1vZGU7CiAJCQl0cnlfbWVyZ2UgPSAwOwogCi0JCQlpZiAoc2hhX2VxKHNyY19vdGhlci5zaGExLCBudWxsX3NoYTEpKSB7CisJCQlpZiAob2lkX2VxKCZzcmNfb3RoZXIub2lkLCAmbnVsbF9vaWQpKSB7CiAJCQkJc2V0dXBfcmVuYW1lX2NvbmZsaWN0X2luZm8oUkVOQU1FX0RFTEVURSwKIAkJCQkJCQkgICByZW4xLT5wYWlyLAogCQkJCQkJCSAgIE5VTEwsCkBAIC0xNDM5LDcgKzE1MDksNyBAQAogCQkJCQkJCSAgIE5VTEwsCiAJCQkJCQkJICAgTlVMTCk7CiAJCQl9IGVsc2UgaWYgKChkc3Rfb3RoZXIubW9kZSA9PSByZW4xLT5wYWlyLT50d28tPm1vZGUpICYmCi0JCQkJICAgc2hhX2VxKGRzdF9vdGhlci5zaGExLCByZW4xLT5wYWlyLT50d28tPnNoYTEpKSB7CisJCQkJICAgb2lkX2VxKCZkc3Rfb3RoZXIub2lkLCAmcmVuMS0+cGFpci0+dHdvLT5vaWQpKSB7CiAJCQkJLyoKIAkJCQkgKiBBZGRlZCBmaWxlIG9uIHRoZSBvdGhlciBzaWRlIGlkZW50aWNhbCB0bwogCQkJCSAqIHRoZSBmaWxlIGJlaW5nIHJlbmFtZWQ6IGNsZWFuIG1lcmdlLgpAQCAtMTQ0OCwxMyArMTUxOCwxNCBAQAogCQkJCSAqIHVwZGF0ZV9maWxlX2ZsYWdzKCkgaW5zdGVhZCBvZgogCQkJCSAqIHVwZGF0ZV9maWxlKCkuCiAJCQkJICovCi0JCQkJdXBkYXRlX2ZpbGVfZmxhZ3MobywKLQkJCQkJCSAgcmVuMS0+cGFpci0+dHdvLT5zaGExLAotCQkJCQkJICByZW4xLT5wYWlyLT50d28tPm1vZGUsCi0JCQkJCQkgIHJlbjFfZHN0LAotCQkJCQkJICAxLCAvKiB1cGRhdGVfY2FjaGUgKi8KLQkJCQkJCSAgMCAgLyogdXBkYXRlX3dkICAgICovKTsKLQkJCX0gZWxzZSBpZiAoIXNoYV9lcShkc3Rfb3RoZXIuc2hhMSwgbnVsbF9zaGExKSkgeworCQkJCWlmICh1cGRhdGVfZmlsZV9mbGFncyhvLAorCQkJCQkJICAgICAgJnJlbjEtPnBhaXItPnR3by0+b2lkLAorCQkJCQkJICAgICAgcmVuMS0+cGFpci0+dHdvLT5tb2RlLAorCQkJCQkJICAgICAgcmVuMV9kc3QsCisJCQkJCQkgICAgICAxLCAvKiB1cGRhdGVfY2FjaGUgKi8KKwkJCQkJCSAgICAgIDAgIC8qIHVwZGF0ZV93ZCAgICAqLykpCisJCQkJCWNsZWFuX21lcmdlID0gLTE7CisJCQl9IGVsc2UgaWYgKCFvaWRfZXEoJmRzdF9vdGhlci5vaWQsICZudWxsX29pZCkpIHsKIAkJCQljbGVhbl9tZXJnZSA9IDA7CiAJCQkJdHJ5X21lcmdlID0gMTsKIAkJCQlvdXRwdXQobywgMSwgXygiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAiCkBAIC0xNDYzLDIyICsxNTM0LDMzIEBACiAJCQkJICAgICAgIHJlbjFfZHN0LCBicmFuY2gyKTsKIAkJCQlpZiAoby0+Y2FsbF9kZXB0aCkgewogCQkJCQlzdHJ1Y3QgbWVyZ2VfZmlsZV9pbmZvIG1maTsKLQkJCQkJbWZpID0gbWVyZ2VfZmlsZV9vbmUobywgcmVuMV9kc3QsIG51bGxfc2hhMSwgMCwKLQkJCQkJCQkgcmVuMS0+cGFpci0+dHdvLT5zaGExLCByZW4xLT5wYWlyLT50d28tPm1vZGUsCi0JCQkJCQkJIGRzdF9vdGhlci5zaGExLCBkc3Rfb3RoZXIubW9kZSwKLQkJCQkJCQkgYnJhbmNoMSwgYnJhbmNoMik7CisJCQkJCWlmIChtZXJnZV9maWxlX29uZShvLCByZW4xX2RzdCwgJm51bGxfb2lkLCAwLAorCQkJCQkJCSAgICZyZW4xLT5wYWlyLT50d28tPm9pZCwKKwkJCQkJCQkgICByZW4xLT5wYWlyLT50d28tPm1vZGUsCisJCQkJCQkJICAgJmRzdF9vdGhlci5vaWQsCisJCQkJCQkJICAgZHN0X290aGVyLm1vZGUsCisJCQkJCQkJICAgYnJhbmNoMSwgYnJhbmNoMiwgJm1maSkpIHsKKwkJCQkJCWNsZWFuX21lcmdlID0gLTE7CisJCQkJCQlnb3RvIGNsZWFudXBfYW5kX3JldHVybjsKKwkJCQkJfQogCQkJCQlvdXRwdXQobywgMSwgXygiQWRkaW5nIG1lcmdlZCAlcyIpLCByZW4xX2RzdCk7Ci0JCQkJCXVwZGF0ZV9maWxlKG8sIDAsIG1maS5zaGEsIG1maS5tb2RlLCByZW4xX2RzdCk7CisJCQkJCWlmICh1cGRhdGVfZmlsZShvLCAwLCAmbWZpLm9pZCwKKwkJCQkJCQltZmkubW9kZSwgcmVuMV9kc3QpKQorCQkJCQkJY2xlYW5fbWVyZ2UgPSAtMTsKIAkJCQkJdHJ5X21lcmdlID0gMDsKIAkJCQl9IGVsc2UgewogCQkJCQljaGFyICpuZXdfcGF0aCA9IHVuaXF1ZV9wYXRoKG8sIHJlbjFfZHN0LCBicmFuY2gyKTsKIAkJCQkJb3V0cHV0KG8sIDEsIF8oIkFkZGluZyBhcyAlcyBpbnN0ZWFkIiksIG5ld19wYXRoKTsKLQkJCQkJdXBkYXRlX2ZpbGUobywgMCwgZHN0X290aGVyLnNoYTEsIGRzdF9vdGhlci5tb2RlLCBuZXdfcGF0aCk7CisJCQkJCWlmICh1cGRhdGVfZmlsZShvLCAwLCAmZHN0X290aGVyLm9pZCwKKwkJCQkJCQlkc3Rfb3RoZXIubW9kZSwgbmV3X3BhdGgpKQorCQkJCQkJY2xlYW5fbWVyZ2UgPSAtMTsKIAkJCQkJZnJlZShuZXdfcGF0aCk7CiAJCQkJfQogCQkJfSBlbHNlCiAJCQkJdHJ5X21lcmdlID0gMTsKIAorCQkJaWYgKGNsZWFuX21lcmdlIDwgMCkKKwkJCQlnb3RvIGNsZWFudXBfYW5kX3JldHVybjsKIAkJCWlmICh0cnlfbWVyZ2UpIHsKIAkJCQlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqb25lLCAqYSwgKmI7CiAJCQkJc3JjX290aGVyLnBhdGggPSAoY2hhciAqKXJlbjFfc3JjOwpAQCAtMTUwNSwzNiArMTU4NywzOSBAQAogCQkJfQogCQl9CiAJfQorY2xlYW51cF9hbmRfcmV0dXJuOgogCXN0cmluZ19saXN0X2NsZWFyKCZhX2J5X2RzdCwgMCk7CiAJc3RyaW5nX2xpc3RfY2xlYXIoJmJfYnlfZHN0LCAwKTsKIAogCXJldHVybiBjbGVhbl9tZXJnZTsKIH0KIAotc3RhdGljIHVuc2lnbmVkIGNoYXIgKnN0YWdlX3NoYShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGEsIHVuc2lnbmVkIG1vZGUpCitzdGF0aWMgc3RydWN0IG9iamVjdF9pZCAqc3RhZ2Vfb2lkKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdW5zaWduZWQgbW9kZSkKIHsKLQlyZXR1cm4gKGlzX251bGxfc2hhMShzaGEpIHx8IG1vZGUgPT0gMCkgPyBOVUxMOiAodW5zaWduZWQgY2hhciAqKXNoYTsKKwlyZXR1cm4gKGlzX251bGxfb2lkKG9pZCkgfHwgbW9kZSA9PSAwKSA/IE5VTEw6IChzdHJ1Y3Qgb2JqZWN0X2lkICopb2lkOwogfQogCi1zdGF0aWMgaW50IHJlYWRfc2hhMV9zdHJidWYoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgc3RydWN0IHN0cmJ1ZiAqZHN0KQorc3RhdGljIGludCByZWFkX29pZF9zdHJidWYoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCisJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBzdHJ1Y3Qgc3RyYnVmICpkc3QpCiB7CiAJdm9pZCAqYnVmOwogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKIAl1bnNpZ25lZCBsb25nIHNpemU7Ci0JYnVmID0gcmVhZF9zaGExX2ZpbGUoc2hhMSwgJnR5cGUsICZzaXplKTsKKwlidWYgPSByZWFkX3NoYTFfZmlsZShvaWQtPmhhc2gsICZ0eXBlLCAmc2l6ZSk7CiAJaWYgKCFidWYpCi0JCXJldHVybiBlcnJvcihfKCJjYW5ub3QgcmVhZCBvYmplY3QgJXMiKSwgc2hhMV90b19oZXgoc2hhMSkpOworCQlyZXR1cm4gZXJyKG8sIF8oImNhbm5vdCByZWFkIG9iamVjdCAlcyIpLCBvaWRfdG9faGV4KG9pZCkpOwogCWlmICh0eXBlICE9IE9CSl9CTE9CKSB7CiAJCWZyZWUoYnVmKTsKLQkJcmV0dXJuIGVycm9yKF8oIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIiksIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJcmV0dXJuIGVycihvLCBfKCJvYmplY3QgJXMgaXMgbm90IGEgYmxvYiIpLCBvaWRfdG9faGV4KG9pZCkpOwogCX0KIAlzdHJidWZfYXR0YWNoKGRzdCwgYnVmLCBzaXplLCBzaXplICsgMSk7CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgYmxvYl91bmNoYW5nZWQoY29uc3QgdW5zaWduZWQgY2hhciAqb19zaGEsCitzdGF0aWMgaW50IGJsb2JfdW5jaGFuZ2VkKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCisJCQkgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9fb2lkLAogCQkJICB1bnNpZ25lZCBvX21vZGUsCi0JCQkgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmFfc2hhLAorCQkJICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICphX29pZCwKIAkJCSAgdW5zaWduZWQgYV9tb2RlLAogCQkJICBpbnQgcmVub3JtYWxpemUsIGNvbnN0IGNoYXIgKnBhdGgpCiB7CkBAIC0xNTQ0LDEzICsxNjI5LDEzIEBACiAKIAlpZiAoYV9tb2RlICE9IG9fbW9kZSkKIAkJcmV0dXJuIDA7Ci0JaWYgKHNoYV9lcShvX3NoYSwgYV9zaGEpKQorCWlmIChvaWRfZXEob19vaWQsIGFfb2lkKSkKIAkJcmV0dXJuIDE7CiAJaWYgKCFyZW5vcm1hbGl6ZSkKIAkJcmV0dXJuIDA7CiAKLQlhc3NlcnQob19zaGEgJiYgYV9zaGEpOwotCWlmIChyZWFkX3NoYTFfc3RyYnVmKG9fc2hhLCAmbykgfHwgcmVhZF9zaGExX3N0cmJ1ZihhX3NoYSwgJmEpKQorCWFzc2VydChvX29pZCAmJiBhX29pZCk7CisJaWYgKHJlYWRfb2lkX3N0cmJ1ZihvcHQsIG9fb2lkLCAmbykgfHwgcmVhZF9vaWRfc3RyYnVmKG9wdCwgYV9vaWQsICZhKSkKIAkJZ290byBlcnJvcl9yZXR1cm47CiAJLyoKIAkgKiBOb3RlOiBiaW5hcnkgfCBpcyB1c2VkIHNvIHRoYXQgYm90aCByZW5vcm1hbGl6YXRpb25zIGFyZQpAQCAtMTU2NywyNSArMTY1MiwyNSBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIGhhbmRsZV9tb2RpZnlfZGVsZXRlKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAorc3RhdGljIGludCBoYW5kbGVfbW9kaWZ5X2RlbGV0ZShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKIAkJCQkgY29uc3QgY2hhciAqcGF0aCwKLQkJCQkgdW5zaWduZWQgY2hhciAqb19zaGEsIGludCBvX21vZGUsCi0JCQkJIHVuc2lnbmVkIGNoYXIgKmFfc2hhLCBpbnQgYV9tb2RlLAotCQkJCSB1bnNpZ25lZCBjaGFyICpiX3NoYSwgaW50IGJfbW9kZSkKKwkJCQkgc3RydWN0IG9iamVjdF9pZCAqb19vaWQsIGludCBvX21vZGUsCisJCQkJIHN0cnVjdCBvYmplY3RfaWQgKmFfb2lkLCBpbnQgYV9tb2RlLAorCQkJCSBzdHJ1Y3Qgb2JqZWN0X2lkICpiX29pZCwgaW50IGJfbW9kZSkKIHsKLQloYW5kbGVfY2hhbmdlX2RlbGV0ZShvLAotCQkJICAgICBwYXRoLAotCQkJICAgICBvX3NoYSwgb19tb2RlLAotCQkJICAgICBhX3NoYSwgYV9tb2RlLAotCQkJICAgICBiX3NoYSwgYl9tb2RlLAotCQkJICAgICBfKCJtb2RpZnkiKSwgXygibW9kaWZpZWQiKSk7CisJcmV0dXJuIGhhbmRsZV9jaGFuZ2VfZGVsZXRlKG8sCisJCQkJICAgIHBhdGgsCisJCQkJICAgIG9fb2lkLCBvX21vZGUsCisJCQkJICAgIGFfb2lkLCBhX21vZGUsCisJCQkJICAgIGJfb2lkLCBiX21vZGUsCisJCQkJICAgIF8oIm1vZGlmeSIpLCBfKCJtb2RpZmllZCIpKTsKIH0KIAogc3RhdGljIGludCBtZXJnZV9jb250ZW50KHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAogCQkJIGNvbnN0IGNoYXIgKnBhdGgsCi0JCQkgdW5zaWduZWQgY2hhciAqb19zaGEsIGludCBvX21vZGUsCi0JCQkgdW5zaWduZWQgY2hhciAqYV9zaGEsIGludCBhX21vZGUsCi0JCQkgdW5zaWduZWQgY2hhciAqYl9zaGEsIGludCBiX21vZGUsCisJCQkgc3RydWN0IG9iamVjdF9pZCAqb19vaWQsIGludCBvX21vZGUsCisJCQkgc3RydWN0IG9iamVjdF9pZCAqYV9vaWQsIGludCBhX21vZGUsCisJCQkgc3RydWN0IG9iamVjdF9pZCAqYl9vaWQsIGludCBiX21vZGUsCiAJCQkgc3RydWN0IHJlbmFtZV9jb25mbGljdF9pbmZvICpyZW5hbWVfY29uZmxpY3RfaW5mbykKIHsKIAljb25zdCBjaGFyICpyZWFzb24gPSBfKCJjb250ZW50Iik7CkBAIC0xNTk0LDE2ICsxNjc5LDE2IEBACiAJc3RydWN0IGRpZmZfZmlsZXNwZWMgb25lLCBhLCBiOwogCXVuc2lnbmVkIGRmX2NvbmZsaWN0X3JlbWFpbnMgPSAwOwogCi0JaWYgKCFvX3NoYSkgeworCWlmICghb19vaWQpIHsKIAkJcmVhc29uID0gXygiYWRkL2FkZCIpOwotCQlvX3NoYSA9ICh1bnNpZ25lZCBjaGFyICopbnVsbF9zaGExOworCQlvX29pZCA9IChzdHJ1Y3Qgb2JqZWN0X2lkICopJm51bGxfb2lkOwogCX0KIAlvbmUucGF0aCA9IGEucGF0aCA9IGIucGF0aCA9IChjaGFyICopcGF0aDsKLQloYXNoY3B5KG9uZS5zaGExLCBvX3NoYSk7CisJb2lkY3B5KCZvbmUub2lkLCBvX29pZCk7CiAJb25lLm1vZGUgPSBvX21vZGU7Ci0JaGFzaGNweShhLnNoYTEsIGFfc2hhKTsKKwlvaWRjcHkoJmEub2lkLCBhX29pZCk7CiAJYS5tb2RlID0gYV9tb2RlOwotCWhhc2hjcHkoYi5zaGExLCBiX3NoYSk7CisJb2lkY3B5KCZiLm9pZCwgYl9vaWQpOwogCWIubW9kZSA9IGJfbW9kZTsKIAogCWlmIChyZW5hbWVfY29uZmxpY3RfaW5mbykgewpAQCAtMTYyMiwxMiArMTcwNywxMyBAQAogCQlpZiAoZGlyX2luX3dheShwYXRoLCAhby0+Y2FsbF9kZXB0aCkpCiAJCQlkZl9jb25mbGljdF9yZW1haW5zID0gMTsKIAl9Ci0JbWZpID0gbWVyZ2VfZmlsZV9zcGVjaWFsX21hcmtlcnMobywgJm9uZSwgJmEsICZiLAotCQkJCQkgby0+YnJhbmNoMSwgcGF0aDEsCi0JCQkJCSBvLT5icmFuY2gyLCBwYXRoMik7CisJaWYgKG1lcmdlX2ZpbGVfc3BlY2lhbF9tYXJrZXJzKG8sICZvbmUsICZhLCAmYiwKKwkJCQkgICAgICAgby0+YnJhbmNoMSwgcGF0aDEsCisJCQkJICAgICAgIG8tPmJyYW5jaDIsIHBhdGgyLCAmbWZpKSkKKwkJcmV0dXJuIC0xOwogCiAJaWYgKG1maS5jbGVhbiAmJiAhZGZfY29uZmxpY3RfcmVtYWlucyAmJgotCSAgICBzaGFfZXEobWZpLnNoYSwgYV9zaGEpICYmIG1maS5tb2RlID09IGFfbW9kZSkgeworCSAgICBvaWRfZXEoJm1maS5vaWQsIGFfb2lkKSAmJiBtZmkubW9kZSA9PSBhX21vZGUpIHsKIAkJaW50IHBhdGhfcmVuYW1lZF9vdXRzaWRlX0hFQUQ7CiAJCW91dHB1dChvLCAzLCBfKCJTa2lwcGVkICVzIChtZXJnZWQgc2FtZSBhcyBleGlzdGluZykiKSwgcGF0aCk7CiAJCS8qCkBAIC0xNjM4LDcgKzE3MjQsNyBAQAogCQkgKi8KIAkJcGF0aF9yZW5hbWVkX291dHNpZGVfSEVBRCA9ICFwYXRoMiB8fCAhc3RyY21wKHBhdGgsIHBhdGgyKTsKIAkJaWYgKCFwYXRoX3JlbmFtZWRfb3V0c2lkZV9IRUFEKSB7Ci0JCQlhZGRfY2FjaGVpbmZvKG1maS5tb2RlLCBtZmkuc2hhLCBwYXRoLAorCQkJYWRkX2NhY2hlaW5mbyhvLCBtZmkubW9kZSwgJm1maS5vaWQsIHBhdGgsCiAJCQkJICAgICAgMCwgKCFvLT5jYWxsX2RlcHRoKSwgMCk7CiAJCQlyZXR1cm4gbWZpLmNsZWFuOwogCQl9CkBAIC0xNjUxLDcgKzE3MzcsOCBAQAogCQlvdXRwdXQobywgMSwgXygiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiKSwKIAkJCQlyZWFzb24sIHBhdGgpOwogCQlpZiAocmVuYW1lX2NvbmZsaWN0X2luZm8gJiYgIWRmX2NvbmZsaWN0X3JlbWFpbnMpCi0JCQl1cGRhdGVfc3RhZ2VzKHBhdGgsICZvbmUsICZhLCAmYik7CisJCQlpZiAodXBkYXRlX3N0YWdlcyhvLCBwYXRoLCAmb25lLCAmYSwgJmIpKQorCQkJCXJldHVybiAtMTsKIAl9CiAKIAlpZiAoZGZfY29uZmxpY3RfcmVtYWlucykgewpAQCAtMTY1OSwzMCArMTc0NiwzMyBAQAogCQlpZiAoby0+Y2FsbF9kZXB0aCkgewogCQkJcmVtb3ZlX2ZpbGVfZnJvbV9jYWNoZShwYXRoKTsKIAkJfSBlbHNlIHsKLQkJCWlmICghbWZpLmNsZWFuKQotCQkJCXVwZGF0ZV9zdGFnZXMocGF0aCwgJm9uZSwgJmEsICZiKTsKLQkJCWVsc2UgeworCQkJaWYgKCFtZmkuY2xlYW4pIHsKKwkJCQlpZiAodXBkYXRlX3N0YWdlcyhvLCBwYXRoLCAmb25lLCAmYSwgJmIpKQorCQkJCQlyZXR1cm4gLTE7CisJCQl9IGVsc2UgewogCQkJCWludCBmaWxlX2Zyb21fc3RhZ2UyID0gd2FzX3RyYWNrZWQocGF0aCk7CiAJCQkJc3RydWN0IGRpZmZfZmlsZXNwZWMgbWVyZ2VkOwotCQkJCWhhc2hjcHkobWVyZ2VkLnNoYTEsIG1maS5zaGEpOworCQkJCW9pZGNweSgmbWVyZ2VkLm9pZCwgJm1maS5vaWQpOwogCQkJCW1lcmdlZC5tb2RlID0gbWZpLm1vZGU7CiAKLQkJCQl1cGRhdGVfc3RhZ2VzKHBhdGgsIE5VTEwsCi0JCQkJCSAgICAgIGZpbGVfZnJvbV9zdGFnZTIgPyAmbWVyZ2VkIDogTlVMTCwKLQkJCQkJICAgICAgZmlsZV9mcm9tX3N0YWdlMiA/IE5VTEwgOiAmbWVyZ2VkKTsKKwkJCQlpZiAodXBkYXRlX3N0YWdlcyhvLCBwYXRoLCBOVUxMLAorCQkJCQkJICBmaWxlX2Zyb21fc3RhZ2UyID8gJm1lcmdlZCA6IE5VTEwsCisJCQkJCQkgIGZpbGVfZnJvbV9zdGFnZTIgPyBOVUxMIDogJm1lcmdlZCkpCisJCQkJCXJldHVybiAtMTsKIAkJCX0KIAogCQl9CiAJCW5ld19wYXRoID0gdW5pcXVlX3BhdGgobywgcGF0aCwgcmVuYW1lX2NvbmZsaWN0X2luZm8tPmJyYW5jaDEpOwogCQlvdXRwdXQobywgMSwgXygiQWRkaW5nIGFzICVzIGluc3RlYWQiKSwgbmV3X3BhdGgpOwotCQl1cGRhdGVfZmlsZShvLCAwLCBtZmkuc2hhLCBtZmkubW9kZSwgbmV3X3BhdGgpOworCQlpZiAodXBkYXRlX2ZpbGUobywgMCwgJm1maS5vaWQsIG1maS5tb2RlLCBuZXdfcGF0aCkpIHsKKwkJCWZyZWUobmV3X3BhdGgpOworCQkJcmV0dXJuIC0xOworCQl9CiAJCWZyZWUobmV3X3BhdGgpOwogCQltZmkuY2xlYW4gPSAwOwotCX0gZWxzZSB7Ci0JCXVwZGF0ZV9maWxlKG8sIG1maS5jbGVhbiwgbWZpLnNoYSwgbWZpLm1vZGUsIHBhdGgpOwotCX0KKwl9IGVsc2UgaWYgKHVwZGF0ZV9maWxlKG8sIG1maS5jbGVhbiwgJm1maS5vaWQsIG1maS5tb2RlLCBwYXRoKSkKKwkJcmV0dXJuIC0xOwogCXJldHVybiBtZmkuY2xlYW47Ci0KIH0KIAogLyogUGVyIGVudHJ5IG1lcmdlIGZ1bmN0aW9uICovCkBAIC0xNjk0LDkgKzE3ODQsOSBAQAogCXVuc2lnbmVkIG9fbW9kZSA9IGVudHJ5LT5zdGFnZXNbMV0ubW9kZTsKIAl1bnNpZ25lZCBhX21vZGUgPSBlbnRyeS0+c3RhZ2VzWzJdLm1vZGU7CiAJdW5zaWduZWQgYl9tb2RlID0gZW50cnktPnN0YWdlc1szXS5tb2RlOwotCXVuc2lnbmVkIGNoYXIgKm9fc2hhID0gc3RhZ2Vfc2hhKGVudHJ5LT5zdGFnZXNbMV0uc2hhLCBvX21vZGUpOwotCXVuc2lnbmVkIGNoYXIgKmFfc2hhID0gc3RhZ2Vfc2hhKGVudHJ5LT5zdGFnZXNbMl0uc2hhLCBhX21vZGUpOwotCXVuc2lnbmVkIGNoYXIgKmJfc2hhID0gc3RhZ2Vfc2hhKGVudHJ5LT5zdGFnZXNbM10uc2hhLCBiX21vZGUpOworCXN0cnVjdCBvYmplY3RfaWQgKm9fb2lkID0gc3RhZ2Vfb2lkKCZlbnRyeS0+c3RhZ2VzWzFdLm9pZCwgb19tb2RlKTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkICphX29pZCA9IHN0YWdlX29pZCgmZW50cnktPnN0YWdlc1syXS5vaWQsIGFfbW9kZSk7CisJc3RydWN0IG9iamVjdF9pZCAqYl9vaWQgPSBzdGFnZV9vaWQoJmVudHJ5LT5zdGFnZXNbM10ub2lkLCBiX21vZGUpOwogCiAJZW50cnktPnByb2Nlc3NlZCA9IDE7CiAJaWYgKGVudHJ5LT5yZW5hbWVfY29uZmxpY3RfaW5mbykgewpAQCAtMTcwNSw2NiArMTc5NSw3MSBAQAogCQljYXNlIFJFTkFNRV9OT1JNQUw6CiAJCWNhc2UgUkVOQU1FX09ORV9GSUxFX1RPX09ORToKIAkJCWNsZWFuX21lcmdlID0gbWVyZ2VfY29udGVudChvLCBwYXRoLAotCQkJCQkJICAgIG9fc2hhLCBvX21vZGUsIGFfc2hhLCBhX21vZGUsIGJfc2hhLCBiX21vZGUsCisJCQkJCQkgICAgb19vaWQsIG9fbW9kZSwgYV9vaWQsIGFfbW9kZSwgYl9vaWQsIGJfbW9kZSwKIAkJCQkJCSAgICBjb25mbGljdF9pbmZvKTsKIAkJCWJyZWFrOwogCQljYXNlIFJFTkFNRV9ERUxFVEU6CiAJCQljbGVhbl9tZXJnZSA9IDA7Ci0JCQljb25mbGljdF9yZW5hbWVfZGVsZXRlKG8sIGNvbmZsaWN0X2luZm8tPnBhaXIxLAotCQkJCQkgICAgICAgY29uZmxpY3RfaW5mby0+YnJhbmNoMSwKLQkJCQkJICAgICAgIGNvbmZsaWN0X2luZm8tPmJyYW5jaDIpOworCQkJaWYgKGNvbmZsaWN0X3JlbmFtZV9kZWxldGUobywKKwkJCQkJCSAgIGNvbmZsaWN0X2luZm8tPnBhaXIxLAorCQkJCQkJICAgY29uZmxpY3RfaW5mby0+YnJhbmNoMSwKKwkJCQkJCSAgIGNvbmZsaWN0X2luZm8tPmJyYW5jaDIpKQorCQkJCWNsZWFuX21lcmdlID0gLTE7CiAJCQlicmVhazsKIAkJY2FzZSBSRU5BTUVfT05FX0ZJTEVfVE9fVFdPOgogCQkJY2xlYW5fbWVyZ2UgPSAwOwotCQkJY29uZmxpY3RfcmVuYW1lX3JlbmFtZV8xdG8yKG8sIGNvbmZsaWN0X2luZm8pOworCQkJaWYgKGNvbmZsaWN0X3JlbmFtZV9yZW5hbWVfMXRvMihvLCBjb25mbGljdF9pbmZvKSkKKwkJCQljbGVhbl9tZXJnZSA9IC0xOwogCQkJYnJlYWs7CiAJCWNhc2UgUkVOQU1FX1RXT19GSUxFU19UT19PTkU6CiAJCQljbGVhbl9tZXJnZSA9IDA7Ci0JCQljb25mbGljdF9yZW5hbWVfcmVuYW1lXzJ0bzEobywgY29uZmxpY3RfaW5mbyk7CisJCQlpZiAoY29uZmxpY3RfcmVuYW1lX3JlbmFtZV8ydG8xKG8sIGNvbmZsaWN0X2luZm8pKQorCQkJCWNsZWFuX21lcmdlID0gLTE7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWVudHJ5LT5wcm9jZXNzZWQgPSAwOwogCQkJYnJlYWs7CiAJCX0KLQl9IGVsc2UgaWYgKG9fc2hhICYmICghYV9zaGEgfHwgIWJfc2hhKSkgeworCX0gZWxzZSBpZiAob19vaWQgJiYgKCFhX29pZCB8fCAhYl9vaWQpKSB7CiAJCS8qIENhc2UgQTogRGVsZXRlZCBpbiBvbmUgKi8KLQkJaWYgKCghYV9zaGEgJiYgIWJfc2hhKSB8fAotCQkgICAgKCFiX3NoYSAmJiBibG9iX3VuY2hhbmdlZChvX3NoYSwgb19tb2RlLCBhX3NoYSwgYV9tb2RlLCBub3JtYWxpemUsIHBhdGgpKSB8fAotCQkgICAgKCFhX3NoYSAmJiBibG9iX3VuY2hhbmdlZChvX3NoYSwgb19tb2RlLCBiX3NoYSwgYl9tb2RlLCBub3JtYWxpemUsIHBhdGgpKSkgeworCQlpZiAoKCFhX29pZCAmJiAhYl9vaWQpIHx8CisJCSAgICAoIWJfb2lkICYmIGJsb2JfdW5jaGFuZ2VkKG8sIG9fb2lkLCBvX21vZGUsIGFfb2lkLCBhX21vZGUsIG5vcm1hbGl6ZSwgcGF0aCkpIHx8CisJCSAgICAoIWFfb2lkICYmIGJsb2JfdW5jaGFuZ2VkKG8sIG9fb2lkLCBvX21vZGUsIGJfb2lkLCBiX21vZGUsIG5vcm1hbGl6ZSwgcGF0aCkpKSB7CiAJCQkvKiBEZWxldGVkIGluIGJvdGggb3IgZGVsZXRlZCBpbiBvbmUgYW5kCiAJCQkgKiB1bmNoYW5nZWQgaW4gdGhlIG90aGVyICovCi0JCQlpZiAoYV9zaGEpCisJCQlpZiAoYV9vaWQpCiAJCQkJb3V0cHV0KG8sIDIsIF8oIlJlbW92aW5nICVzIiksIHBhdGgpOwogCQkJLyogZG8gbm90IHRvdWNoIHdvcmtpbmcgZmlsZSBpZiBpdCBkaWQgbm90IGV4aXN0ICovCi0JCQlyZW1vdmVfZmlsZShvLCAxLCBwYXRoLCAhYV9zaGEpOworCQkJcmVtb3ZlX2ZpbGUobywgMSwgcGF0aCwgIWFfb2lkKTsKIAkJfSBlbHNlIHsKIAkJCS8qIE1vZGlmeS9kZWxldGU7IGRlbGV0ZWQgc2lkZSBtYXkgaGF2ZSBwdXQgYSBkaXJlY3RvcnkgaW4gdGhlIHdheSAqLwogCQkJY2xlYW5fbWVyZ2UgPSAwOwotCQkJaGFuZGxlX21vZGlmeV9kZWxldGUobywgcGF0aCwgb19zaGEsIG9fbW9kZSwKLQkJCQkJICAgICBhX3NoYSwgYV9tb2RlLCBiX3NoYSwgYl9tb2RlKTsKKwkJCWlmIChoYW5kbGVfbW9kaWZ5X2RlbGV0ZShvLCBwYXRoLCBvX29pZCwgb19tb2RlLAorCQkJCQkJIGFfb2lkLCBhX21vZGUsIGJfb2lkLCBiX21vZGUpKQorCQkJCWNsZWFuX21lcmdlID0gLTE7CiAJCX0KLQl9IGVsc2UgaWYgKCghb19zaGEgJiYgYV9zaGEgJiYgIWJfc2hhKSB8fAotCQkgICAoIW9fc2hhICYmICFhX3NoYSAmJiBiX3NoYSkpIHsKKwl9IGVsc2UgaWYgKCghb19vaWQgJiYgYV9vaWQgJiYgIWJfb2lkKSB8fAorCQkgICAoIW9fb2lkICYmICFhX29pZCAmJiBiX29pZCkpIHsKIAkJLyogQ2FzZSBCOiBBZGRlZCBpbiBvbmUuICovCiAJCS8qIFtub3RoaW5nfGRpcmVjdG9yeV0gLT4gKFtub3RoaW5nfGRpcmVjdG9yeV0sIGZpbGUpICovCiAKIAkJY29uc3QgY2hhciAqYWRkX2JyYW5jaDsKIAkJY29uc3QgY2hhciAqb3RoZXJfYnJhbmNoOwogCQl1bnNpZ25lZCBtb2RlOwotCQljb25zdCB1bnNpZ25lZCBjaGFyICpzaGE7CisJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZDsKIAkJY29uc3QgY2hhciAqY29uZjsKIAotCQlpZiAoYV9zaGEpIHsKKwkJaWYgKGFfb2lkKSB7CiAJCQlhZGRfYnJhbmNoID0gby0+YnJhbmNoMTsKIAkJCW90aGVyX2JyYW5jaCA9IG8tPmJyYW5jaDI7CiAJCQltb2RlID0gYV9tb2RlOwotCQkJc2hhID0gYV9zaGE7CisJCQlvaWQgPSBhX29pZDsKIAkJCWNvbmYgPSBfKCJmaWxlL2RpcmVjdG9yeSIpOwogCQl9IGVsc2UgewogCQkJYWRkX2JyYW5jaCA9IG8tPmJyYW5jaDI7CiAJCQlvdGhlcl9icmFuY2ggPSBvLT5icmFuY2gxOwogCQkJbW9kZSA9IGJfbW9kZTsKLQkJCXNoYSA9IGJfc2hhOworCQkJb2lkID0gYl9vaWQ7CiAJCQljb25mID0gXygiZGlyZWN0b3J5L2ZpbGUiKTsKIAkJfQogCQlpZiAoZGlyX2luX3dheShwYXRoLCAhby0+Y2FsbF9kZXB0aCkpIHsKQEAgLTE3NzMsMjkgKzE4NjgsMzEgQEAKIAkJCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAoJXMpOiBUaGVyZSBpcyBhIGRpcmVjdG9yeSB3aXRoIG5hbWUgJXMgaW4gJXMuICIKIAkJCSAgICAgICAiQWRkaW5nICVzIGFzICVzIiksCiAJCQkgICAgICAgY29uZiwgcGF0aCwgb3RoZXJfYnJhbmNoLCBwYXRoLCBuZXdfcGF0aCk7Ci0JCQl1cGRhdGVfZmlsZShvLCAwLCBzaGEsIG1vZGUsIG5ld19wYXRoKTsKLQkJCWlmIChvLT5jYWxsX2RlcHRoKQorCQkJaWYgKHVwZGF0ZV9maWxlKG8sIDAsIG9pZCwgbW9kZSwgbmV3X3BhdGgpKQorCQkJCWNsZWFuX21lcmdlID0gLTE7CisJCQllbHNlIGlmIChvLT5jYWxsX2RlcHRoKQogCQkJCXJlbW92ZV9maWxlX2Zyb21fY2FjaGUocGF0aCk7CiAJCQlmcmVlKG5ld19wYXRoKTsKIAkJfSBlbHNlIHsKIAkJCW91dHB1dChvLCAyLCBfKCJBZGRpbmcgJXMiKSwgcGF0aCk7CiAJCQkvKiBkbyBub3Qgb3ZlcndyaXRlIGZpbGUgaWYgYWxyZWFkeSBwcmVzZW50ICovCi0JCQl1cGRhdGVfZmlsZV9mbGFncyhvLCBzaGEsIG1vZGUsIHBhdGgsIDEsICFhX3NoYSk7CisJCQlpZiAodXBkYXRlX2ZpbGVfZmxhZ3Mobywgb2lkLCBtb2RlLCBwYXRoLCAxLCAhYV9vaWQpKQorCQkJCWNsZWFuX21lcmdlID0gLTE7CiAJCX0KLQl9IGVsc2UgaWYgKGFfc2hhICYmIGJfc2hhKSB7CisJfSBlbHNlIGlmIChhX29pZCAmJiBiX29pZCkgewogCQkvKiBDYXNlIEM6IEFkZGVkIGluIGJvdGggKGNoZWNrIGZvciBzYW1lIHBlcm1pc3Npb25zKSBhbmQgKi8KIAkJLyogY2FzZSBEOiBNb2RpZmllZCBpbiBib3RoLCBidXQgZGlmZmVyZW50bHkuICovCiAJCWNsZWFuX21lcmdlID0gbWVyZ2VfY29udGVudChvLCBwYXRoLAotCQkJCQkgICAgb19zaGEsIG9fbW9kZSwgYV9zaGEsIGFfbW9kZSwgYl9zaGEsIGJfbW9kZSwKKwkJCQkJICAgIG9fb2lkLCBvX21vZGUsIGFfb2lkLCBhX21vZGUsIGJfb2lkLCBiX21vZGUsCiAJCQkJCSAgICBOVUxMKTsKLQl9IGVsc2UgaWYgKCFvX3NoYSAmJiAhYV9zaGEgJiYgIWJfc2hhKSB7CisJfSBlbHNlIGlmICghb19vaWQgJiYgIWFfb2lkICYmICFiX29pZCkgewogCQkvKgogCQkgKiB0aGlzIGVudHJ5IHdhcyBkZWxldGVkIGFsdG9nZXRoZXIuIGFfbW9kZSA9PSAwIG1lYW5zCiAJCSAqIHdlIGhhZCB0aGF0IHBhdGggYW5kIHdhbnQgdG8gYWN0aXZlbHkgcmVtb3ZlIGl0LgogCQkgKi8KIAkJcmVtb3ZlX2ZpbGUobywgMSwgcGF0aCwgIWFfbW9kZSk7CiAJfSBlbHNlCi0JCWRpZShfKCJGYXRhbCBtZXJnZSBmYWlsdXJlLCBzaG91bGRuJ3QgaGFwcGVuLiIpKTsKKwkJZGllKCJCVUc6IGZhdGFsIG1lcmdlIGZhaWx1cmUsIHNob3VsZG4ndCBoYXBwZW4uIik7CiAKIAlyZXR1cm4gY2xlYW5fbWVyZ2U7CiB9CkBAIC0xODEzLDcgKzE5MTAsNyBAQAogCQljb21tb24gPSBzaGlmdF90cmVlX29iamVjdChoZWFkLCBjb21tb24sIG8tPnN1YnRyZWVfc2hpZnQpOwogCX0KIAotCWlmIChzaGFfZXEoY29tbW9uLT5vYmplY3Qub2lkLmhhc2gsIG1lcmdlLT5vYmplY3Qub2lkLmhhc2gpKSB7CisJaWYgKG9pZF9lcSgmY29tbW9uLT5vYmplY3Qub2lkLCAmbWVyZ2UtPm9iamVjdC5vaWQpKSB7CiAJCW91dHB1dChvLCAwLCBfKCJBbHJlYWR5IHVwLXRvLWRhdGUhIikpOwogCQkqcmVzdWx0ID0gaGVhZDsKIAkJcmV0dXJuIDE7CkBAIC0xODIzLDExICsxOTIwLDEwIEBACiAKIAlpZiAoY29kZSAhPSAwKSB7CiAJCWlmIChzaG93KG8sIDQpIHx8IG8tPmNhbGxfZGVwdGgpCi0JCQlkaWUoXygibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIiksCisJCQllcnIobywgXygibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIiksCiAJCQkgICAgb2lkX3RvX2hleCgmaGVhZC0+b2JqZWN0Lm9pZCksCiAJCQkgICAgb2lkX3RvX2hleCgmbWVyZ2UtPm9iamVjdC5vaWQpKTsKLQkJZWxzZQotCQkJZXhpdCgxMjgpOworCQlyZXR1cm4gLTE7CiAJfQogCiAJaWYgKHVubWVyZ2VkX2NhY2hlKCkpIHsKQEAgLTE4NDMsMTcgKzE5MzksMjMgQEAKIAkJcmVfaGVhZCAgPSBnZXRfcmVuYW1lcyhvLCBoZWFkLCBjb21tb24sIGhlYWQsIG1lcmdlLCBlbnRyaWVzKTsKIAkJcmVfbWVyZ2UgPSBnZXRfcmVuYW1lcyhvLCBtZXJnZSwgY29tbW9uLCBoZWFkLCBtZXJnZSwgZW50cmllcyk7CiAJCWNsZWFuID0gcHJvY2Vzc19yZW5hbWVzKG8sIHJlX2hlYWQsIHJlX21lcmdlKTsKKwkJaWYgKGNsZWFuIDwgMCkKKwkJCXJldHVybiBjbGVhbjsKIAkJZm9yIChpID0gZW50cmllcy0+bnItMTsgMCA8PSBpOyBpLS0pIHsKIAkJCWNvbnN0IGNoYXIgKnBhdGggPSBlbnRyaWVzLT5pdGVtc1tpXS5zdHJpbmc7CiAJCQlzdHJ1Y3Qgc3RhZ2VfZGF0YSAqZSA9IGVudHJpZXMtPml0ZW1zW2ldLnV0aWw7Ci0JCQlpZiAoIWUtPnByb2Nlc3NlZAotCQkJCSYmICFwcm9jZXNzX2VudHJ5KG8sIHBhdGgsIGUpKQotCQkJCWNsZWFuID0gMDsKKwkJCWlmICghZS0+cHJvY2Vzc2VkKSB7CisJCQkJaW50IHJldCA9IHByb2Nlc3NfZW50cnkobywgcGF0aCwgZSk7CisJCQkJaWYgKCFyZXQpCisJCQkJCWNsZWFuID0gMDsKKwkJCQllbHNlIGlmIChyZXQgPCAwKQorCQkJCQlyZXR1cm4gcmV0OworCQkJfQogCQl9CiAJCWZvciAoaSA9IDA7IGkgPCBlbnRyaWVzLT5ucjsgaSsrKSB7CiAJCQlzdHJ1Y3Qgc3RhZ2VfZGF0YSAqZSA9IGVudHJpZXMtPml0ZW1zW2ldLnV0aWw7CiAJCQlpZiAoIWUtPnByb2Nlc3NlZCkKLQkJCQlkaWUoXygiVW5wcm9jZXNzZWQgcGF0aD8/PyAlcyIpLAorCQkJCWRpZSgiQlVHOiB1bnByb2Nlc3NlZCBwYXRoPz8/ICVzIiwKIAkJCQkgICAgZW50cmllcy0+aXRlbXNbaV0uc3RyaW5nKTsKIAkJfQogCkBAIC0xODY4LDggKzE5NzAsOCBAQAogCWVsc2UKIAkJY2xlYW4gPSAxOwogCi0JaWYgKG8tPmNhbGxfZGVwdGgpCi0JCSpyZXN1bHQgPSB3cml0ZV90cmVlX2Zyb21fbWVtb3J5KG8pOworCWlmIChvLT5jYWxsX2RlcHRoICYmICEoKnJlc3VsdCA9IHdyaXRlX3RyZWVfZnJvbV9tZW1vcnkobykpKQorCQlyZXR1cm4gLTE7CiAKIAlyZXR1cm4gY2xlYW47CiB9CkBAIC0xOTM1LDIzICsyMDM3LDI1IEBACiAJCS8qCiAJCSAqIFdoZW4gdGhlIG1lcmdlIGZhaWxzLCB0aGUgcmVzdWx0IGNvbnRhaW5zIGZpbGVzCiAJCSAqIHdpdGggY29uZmxpY3QgbWFya2Vycy4gVGhlIGNsZWFubmVzcyBmbGFnIGlzCi0JCSAqIGlnbm9yZWQsIGl0IHdhcyBuZXZlciBhY3R1YWxseSB1c2VkLCBhcyByZXN1bHQgb2YKLQkJICogbWVyZ2VfdHJlZXMgaGFzIGFsd2F5cyBvdmVyd3JpdHRlbiBpdDogdGhlIGNvbW1pdHRlZAotCQkgKiAiY29uZmxpY3RzIiB3ZXJlIGFscmVhZHkgcmVzb2x2ZWQuCisJCSAqIGlnbm9yZWQgKHVubGVzcyBpbmRpY2F0aW5nIGFuIGVycm9yKSwgaXQgd2FzIG5ldmVyCisJCSAqIGFjdHVhbGx5IHVzZWQsIGFzIHJlc3VsdCBvZiBtZXJnZV90cmVlcyBoYXMgYWx3YXlzCisJCSAqIG92ZXJ3cml0dGVuIGl0OiB0aGUgY29tbWl0dGVkICJjb25mbGljdHMiIHdlcmUKKwkJICogYWxyZWFkeSByZXNvbHZlZC4KIAkJICovCiAJCWRpc2NhcmRfY2FjaGUoKTsKIAkJc2F2ZWRfYjEgPSBvLT5icmFuY2gxOwogCQlzYXZlZF9iMiA9IG8tPmJyYW5jaDI7CiAJCW8tPmJyYW5jaDEgPSAiVGVtcG9yYXJ5IG1lcmdlIGJyYW5jaCAxIjsKIAkJby0+YnJhbmNoMiA9ICJUZW1wb3JhcnkgbWVyZ2UgYnJhbmNoIDIiOwotCQltZXJnZV9yZWN1cnNpdmUobywgbWVyZ2VkX2NvbW1vbl9hbmNlc3RvcnMsIGl0ZXItPml0ZW0sCi0JCQkJTlVMTCwgJm1lcmdlZF9jb21tb25fYW5jZXN0b3JzKTsKKwkJaWYgKG1lcmdlX3JlY3Vyc2l2ZShvLCBtZXJnZWRfY29tbW9uX2FuY2VzdG9ycywgaXRlci0+aXRlbSwKKwkJCQkgICAgTlVMTCwgJm1lcmdlZF9jb21tb25fYW5jZXN0b3JzKSA8IDApCisJCQlyZXR1cm4gLTE7CiAJCW8tPmJyYW5jaDEgPSBzYXZlZF9iMTsKIAkJby0+YnJhbmNoMiA9IHNhdmVkX2IyOwogCQlvLT5jYWxsX2RlcHRoLS07CiAKIAkJaWYgKCFtZXJnZWRfY29tbW9uX2FuY2VzdG9ycykKLQkJCWRpZShfKCJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiKSk7CisJCQlyZXR1cm4gZXJyKG8sIF8oIm1lcmdlIHJldHVybmVkIG5vIGNvbW1pdCIpKTsKIAl9CiAKIAlkaXNjYXJkX2NhY2hlKCk7CkBAIC0xOTYxLDYgKzIwNjUsMTAgQEAKIAlvLT5hbmNlc3RvciA9ICJtZXJnZWQgY29tbW9uIGFuY2VzdG9ycyI7CiAJY2xlYW4gPSBtZXJnZV90cmVlcyhvLCBoMS0+dHJlZSwgaDItPnRyZWUsIG1lcmdlZF9jb21tb25fYW5jZXN0b3JzLT50cmVlLAogCQkJICAgICZtcnRyZWUpOworCWlmIChjbGVhbiA8IDApIHsKKwkJZmx1c2hfb3V0cHV0KG8pOworCQlyZXR1cm4gY2xlYW47CisJfQogCiAJaWYgKG8tPmNhbGxfZGVwdGgpIHsKIAkJKnJlc3VsdCA9IG1ha2VfdmlydHVhbF9jb21taXQobXJ0cmVlLCAibWVyZ2VkIHRyZWUiKTsKQEAgLTE5NjgsMTcgKzIwNzYsMTkgQEAKIAkJY29tbWl0X2xpc3RfaW5zZXJ0KGgyLCAmKCpyZXN1bHQpLT5wYXJlbnRzLT5uZXh0KTsKIAl9CiAJZmx1c2hfb3V0cHV0KG8pOworCWlmICghby0+Y2FsbF9kZXB0aCAmJiBvLT5idWZmZXJfb3V0cHV0IDwgMikKKwkJc3RyYnVmX3JlbGVhc2UoJm8tPm9idWYpOwogCWlmIChzaG93KG8sIDIpKQogCQlkaWZmX3dhcm5fcmVuYW1lX2xpbWl0KCJtZXJnZS5yZW5hbWVsaW1pdCIsCiAJCQkJICAgICAgIG8tPm5lZWRlZF9yZW5hbWVfbGltaXQsIDApOwogCXJldHVybiBjbGVhbjsKIH0KIAotc3RhdGljIHN0cnVjdCBjb21taXQgKmdldF9yZWYoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqbmFtZSkKK3N0YXRpYyBzdHJ1Y3QgY29tbWl0ICpnZXRfcmVmKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY29uc3QgY2hhciAqbmFtZSkKIHsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3Q7CiAKLQlvYmplY3QgPSBkZXJlZl90YWcocGFyc2Vfb2JqZWN0KHNoYTEpLCBuYW1lLCBzdHJsZW4obmFtZSkpOworCW9iamVjdCA9IGRlcmVmX3RhZyhwYXJzZV9vYmplY3Qob2lkLT5oYXNoKSwgbmFtZSwgc3RybGVuKG5hbWUpKTsKIAlpZiAoIW9iamVjdCkKIAkJcmV0dXJuIE5VTEw7CiAJaWYgKG9iamVjdC0+dHlwZSA9PSBPQkpfVFJFRSkKQEAgLTE5OTEsMTAgKzIxMDEsMTAgQEAKIH0KIAogaW50IG1lcmdlX3JlY3Vyc2l2ZV9nZW5lcmljKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAotCQkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmhlYWQsCi0JCQkgICAgY29uc3QgdW5zaWduZWQgY2hhciAqbWVyZ2UsCisJCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqaGVhZCwKKwkJCSAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICptZXJnZSwKIAkJCSAgICBpbnQgbnVtX2Jhc2VfbGlzdCwKLQkJCSAgICBjb25zdCB1bnNpZ25lZCBjaGFyICoqYmFzZV9saXN0LAorCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKipiYXNlX2xpc3QsCiAJCQkgICAgc3RydWN0IGNvbW1pdCAqKnJlc3VsdCkKIHsKIAlpbnQgY2xlYW47CkBAIC0yMDA3LDkgKzIxMTcsOSBAQAogCQlpbnQgaTsKIAkJZm9yIChpID0gMDsgaSA8IG51bV9iYXNlX2xpc3Q7ICsraSkgewogCQkJc3RydWN0IGNvbW1pdCAqYmFzZTsKLQkJCWlmICghKGJhc2UgPSBnZXRfcmVmKGJhc2VfbGlzdFtpXSwgc2hhMV90b19oZXgoYmFzZV9saXN0W2ldKSkpKQotCQkJCXJldHVybiBlcnJvcihfKCJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciKSwKLQkJCQkJc2hhMV90b19oZXgoYmFzZV9saXN0W2ldKSk7CisJCQlpZiAoIShiYXNlID0gZ2V0X3JlZihiYXNlX2xpc3RbaV0sIG9pZF90b19oZXgoYmFzZV9saXN0W2ldKSkpKQorCQkJCXJldHVybiBlcnIobywgXygiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIiksCisJCQkJCW9pZF90b19oZXgoYmFzZV9saXN0W2ldKSk7CiAJCQljb21taXRfbGlzdF9pbnNlcnQoYmFzZSwgJmNhKTsKIAkJfQogCX0KQEAgLTIwMTcsOSArMjEyNywxMiBAQAogCWhvbGRfbG9ja2VkX2luZGV4KGxvY2ssIDEpOwogCWNsZWFuID0gbWVyZ2VfcmVjdXJzaXZlKG8sIGhlYWRfY29tbWl0LCBuZXh0X2NvbW1pdCwgY2EsCiAJCQlyZXN1bHQpOworCWlmIChjbGVhbiA8IDApCisJCXJldHVybiBjbGVhbjsKKwogCWlmIChhY3RpdmVfY2FjaGVfY2hhbmdlZCAmJgogCSAgICB3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgbG9jaywgQ09NTUlUX0xPQ0spKQotCQlyZXR1cm4gZXJyb3IoXygiVW5hYmxlIHRvIHdyaXRlIGluZGV4LiIpKTsKKwkJcmV0dXJuIGVycihvLCBfKCJVbmFibGUgdG8gd3JpdGUgaW5kZXguIikpOwogCiAJcmV0dXJuIGNsZWFuID8gMCA6IDE7CiB9CmRpZmYgLS1naXQgYS9tZXJnZS1yZWN1cnNpdmUuaCBiL21lcmdlLXJlY3Vyc2l2ZS5oCmluZGV4IDUyZjAyMDEuLjczNTM0M2IgMTAwNjQ0Ci0tLSBhL21lcmdlLXJlY3Vyc2l2ZS5oCisrKyBiL21lcmdlLXJlY3Vyc2l2ZS5oCkBAIC0xMyw3ICsxMyw3IEBACiAJCU1FUkdFX1JFQ1VSU0lWRV9USEVJUlMKIAl9IHJlY3Vyc2l2ZV92YXJpYW50OwogCWNvbnN0IGNoYXIgKnN1YnRyZWVfc2hpZnQ7Ci0JdW5zaWduZWQgYnVmZmVyX291dHB1dCA6IDE7CisJdW5zaWduZWQgYnVmZmVyX291dHB1dDsgLyogMTogb3V0cHV0IGF0IGVuZCwgMjoga2VlcCBidWZmZXJlZCAqLwogCXVuc2lnbmVkIHJlbm9ybWFsaXplIDogMTsKIAlsb25nIHhkbF9vcHRzOwogCWludCB2ZXJib3NpdHk7CkBAIC00OSwxMCArNDksMTAgQEAKICAqIHZpcnR1YWwgY29tbWl0cyBhbmQgY2FsbCBtZXJnZV9yZWN1cnNpdmUoKSBwcm9wZXIuCiAgKi8KIGludCBtZXJnZV9yZWN1cnNpdmVfZ2VuZXJpYyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKLQkJCSAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpoZWFkLAotCQkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm1lcmdlLAorCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmhlYWQsCisJCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbWVyZ2UsCiAJCQkgICAgaW50IG51bV9jYSwKLQkJCSAgICBjb25zdCB1bnNpZ25lZCBjaGFyICoqY2EsCisJCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqKmNhLAogCQkJICAgIHN0cnVjdCBjb21taXQgKipyZXN1bHQpOwogCiB2b2lkIGluaXRfbWVyZ2Vfb3B0aW9ucyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbyk7CmRpZmYgLS1naXQgYS9tZXJnZS5jIGIvbWVyZ2UuYwppbmRleCA1ZGI3ZDU2Li4yMzg2NmM5IDEwMDY0NAotLS0gYS9tZXJnZS5jCisrKyBiL21lcmdlLmMKQEAgLTU3LDcgKzU3LDggQEAKIAogCXJlZnJlc2hfY2FjaGUoUkVGUkVTSF9RVUlFVCk7CiAKLQlob2xkX2xvY2tlZF9pbmRleChsb2NrX2ZpbGUsIDEpOworCWlmIChob2xkX2xvY2tlZF9pbmRleChsb2NrX2ZpbGUsIDApIDwgMCkKKwkJcmV0dXJuIC0xOwogCiAJbWVtc2V0KCZ0cmVlcywgMCwgc2l6ZW9mKHRyZWVzKSk7CiAJbWVtc2V0KCZvcHRzLCAwLCBzaXplb2Yob3B0cykpOwpAQCAtOTAsNyArOTEsOSBAQAogCX0KIAlpZiAodW5wYWNrX3RyZWVzKG5yX3RyZWVzLCB0LCAmb3B0cykpCiAJCXJldHVybiAtMTsKLQlpZiAod3JpdGVfbG9ja2VkX2luZGV4KCZ0aGVfaW5kZXgsIGxvY2tfZmlsZSwgQ09NTUlUX0xPQ0spKQotCQlkaWUoXygidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIikpOworCWlmICh3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgbG9ja19maWxlLCBDT01NSVRfTE9DSykpIHsKKwkJcm9sbGJhY2tfbG9ja19maWxlKGxvY2tfZmlsZSk7CisJCXJldHVybiBlcnJvcihfKCJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiKSk7CisJfQogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvbXJ1LmMgYi9tcnUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZGVkYWUwCi0tLSAvZGV2L251bGwKKysrIGIvbXJ1LmMKQEAgLTAsMCArMSw1MCBAQAorI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAibXJ1LmgiCisKK3ZvaWQgbXJ1X2FwcGVuZChzdHJ1Y3QgbXJ1ICptcnUsIHZvaWQgKml0ZW0pCit7CisJc3RydWN0IG1ydV9lbnRyeSAqY3VyID0geG1hbGxvYyhzaXplb2YoKmN1cikpOworCWN1ci0+aXRlbSA9IGl0ZW07CisJY3VyLT5wcmV2ID0gbXJ1LT50YWlsOworCWN1ci0+bmV4dCA9IE5VTEw7CisKKwlpZiAobXJ1LT50YWlsKQorCQltcnUtPnRhaWwtPm5leHQgPSBjdXI7CisJZWxzZQorCQltcnUtPmhlYWQgPSBjdXI7CisJbXJ1LT50YWlsID0gY3VyOworfQorCit2b2lkIG1ydV9tYXJrKHN0cnVjdCBtcnUgKm1ydSwgc3RydWN0IG1ydV9lbnRyeSAqZW50cnkpCit7CisJLyogSWYgd2UncmUgYWxyZWFkeSBhdCB0aGUgZnJvbnQgb2YgdGhlIGxpc3QsIG5vdGhpbmcgdG8gZG8gKi8KKwlpZiAobXJ1LT5oZWFkID09IGVudHJ5KQorCQlyZXR1cm47CisKKwkvKiBPdGhlcndpc2UsIHJlbW92ZSB1cyBmcm9tIG91ciBjdXJyZW50IHNsb3QuLi4gKi8KKwlpZiAoZW50cnktPnByZXYpCisJCWVudHJ5LT5wcmV2LT5uZXh0ID0gZW50cnktPm5leHQ7CisJaWYgKGVudHJ5LT5uZXh0KQorCQllbnRyeS0+bmV4dC0+cHJldiA9IGVudHJ5LT5wcmV2OworCWVsc2UKKwkJbXJ1LT50YWlsID0gZW50cnktPnByZXY7CisKKwkvKiBBbmQgaW5zZXJ0IHVzIGF0IHRoZSBiZWdpbm5pbmcuICovCisJZW50cnktPnByZXYgPSBOVUxMOworCWVudHJ5LT5uZXh0ID0gbXJ1LT5oZWFkOworCWlmIChtcnUtPmhlYWQpCisJCW1ydS0+aGVhZC0+cHJldiA9IGVudHJ5OworCW1ydS0+aGVhZCA9IGVudHJ5OworfQorCit2b2lkIG1ydV9jbGVhcihzdHJ1Y3QgbXJ1ICptcnUpCit7CisJc3RydWN0IG1ydV9lbnRyeSAqcCA9IG1ydS0+aGVhZDsKKworCXdoaWxlIChwKSB7CisJCXN0cnVjdCBtcnVfZW50cnkgKnRvX2ZyZWUgPSBwOworCQlwID0gcC0+bmV4dDsKKwkJZnJlZSh0b19mcmVlKTsKKwl9CisJbXJ1LT5oZWFkID0gbXJ1LT50YWlsID0gTlVMTDsKK30KZGlmZiAtLWdpdCBhL21ydS5oIGIvbXJ1LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJlNGFlYQotLS0gL2Rldi9udWxsCisrKyBiL21ydS5oCkBAIC0wLDAgKzEsNDUgQEAKKyNpZm5kZWYgTVJVX0gKKyNkZWZpbmUgTVJVX0gKKworLyoqCisgKiBBIHNpbXBsZSBtb3N0LXJlY2VudGx5LXVzZWQgY2FjaGUsIGJhY2tlZCBieSBhIGRvdWJseS1saW5rZWQgbGlzdC4KKyAqCisgKiBVc2FnZSBpcyByb3VnaGx5OgorICoKKyAqICAgLy8gQ3JlYXRlIGEgbGlzdC4gIFplcm8taW5pdGlhbGl6YXRpb24gaXMgcmVxdWlyZWQuCisgKiAgIHN0YXRpYyBzdHJ1Y3QgbXJ1IGNhY2hlOworICogICBtcnVfYXBwZW5kKCZjYWNoZSwgaXRlbSk7CisgKiAgIC4uLgorICoKKyAqICAgLy8gSXRlcmF0ZSBpbiBNUlUgb3JkZXIuCisgKiAgIHN0cnVjdCBtcnVfZW50cnkgKnA7CisgKiAgIGZvciAocCA9IGNhY2hlLmhlYWQ7IHA7IHAgPSBwLT5uZXh0KSB7CisgKglpZiAobWF0Y2hlcyhwLT5pdGVtKSkKKyAqCQlicmVhazsKKyAqICAgfQorICoKKyAqICAgLy8gTWFyayBhbiBpdGVtIGFzIHVzZWQsIG1vdmluZyBpdCB0byB0aGUgZnJvbnQgb2YgdGhlIGxpc3QuCisgKiAgIG1ydV9tYXJrKCZjYWNoZSwgcCk7CisgKgorICogICAvLyBSZXNldCB0aGUgbGlzdCB0byBlbXB0eSwgY2xlYW5pbmcgdXAgYWxsIHJlc291cmNlcy4KKyAqICAgbXJ1X2NsZWFyKCZjYWNoZSk7CisgKgorICogTm90ZSB0aGF0IHlvdSBTSE9VTEQgTk9UIGNhbGwgbXJ1X21hcmsoKSBhbmQgdGhlbiBjb250aW51ZSB0cmF2ZXJzaW5nIHRoZQorICogbGlzdDsgaXQgcmVvcmRlcnMgdGhlIG1hcmtlZCBpdGVtIHRvIHRoZSBmcm9udCBvZiB0aGUgbGlzdCwgYW5kIHRoZXJlZm9yZQorICogeW91IHdpbGwgYmVnaW4gdHJhdmVyc2luZyB0aGUgd2hvbGUgbGlzdCBhZ2Fpbi4KKyAqLworCitzdHJ1Y3QgbXJ1X2VudHJ5IHsKKwl2b2lkICppdGVtOworCXN0cnVjdCBtcnVfZW50cnkgKnByZXYsICpuZXh0OworfTsKKworc3RydWN0IG1ydSB7CisJc3RydWN0IG1ydV9lbnRyeSAqaGVhZCwgKnRhaWw7Cit9OworCit2b2lkIG1ydV9hcHBlbmQoc3RydWN0IG1ydSAqbXJ1LCB2b2lkICppdGVtKTsKK3ZvaWQgbXJ1X21hcmsoc3RydWN0IG1ydSAqbXJ1LCBzdHJ1Y3QgbXJ1X2VudHJ5ICplbnRyeSk7Cit2b2lkIG1ydV9jbGVhcihzdHJ1Y3QgbXJ1ICptcnUpOworCisjZW5kaWYgLyogTVJVX0ggKi8KZGlmZiAtLWdpdCBhL25vdGVzLW1lcmdlLmMgYi9ub3Rlcy1tZXJnZS5jCmluZGV4IDM0YmZhYzAuLjU5OTg2MDUgMTAwNjQ0Ci0tLSBhL25vdGVzLW1lcmdlLmMKKysrIGIvbm90ZXMtbWVyZ2UuYwpAQCAtMTIsNyArMTIsNyBAQAogI2luY2x1ZGUgIm5vdGVzLXV0aWxzLmgiCiAKIHN0cnVjdCBub3Rlc19tZXJnZV9wYWlyIHsKLQl1bnNpZ25lZCBjaGFyIG9ialsyMF0sIGJhc2VbMjBdLCBsb2NhbFsyMF0sIHJlbW90ZVsyMF07CisJc3RydWN0IG9iamVjdF9pZCBvYmosIGJhc2UsIGxvY2FsLCByZW1vdGU7CiB9OwogCiB2b2lkIGluaXRfbm90ZXNfbWVyZ2Vfb3B0aW9ucyhzdHJ1Y3Qgbm90ZXNfbWVyZ2Vfb3B0aW9ucyAqbykKQEAgLTQxLDE0ICs0MSwxNCBAQAogCXN3aXRjaCAocC0+c3RhdHVzKSB7CiAJY2FzZSBESUZGX1NUQVRVU19NT0RJRklFRDoKIAkJYXNzZXJ0KHAtPm9uZS0+bW9kZSA9PSBwLT50d28tPm1vZGUpOwotCQlhc3NlcnQoIWlzX251bGxfc2hhMShwLT5vbmUtPnNoYTEpKTsKLQkJYXNzZXJ0KCFpc19udWxsX3NoYTEocC0+dHdvLT5zaGExKSk7CisJCWFzc2VydCghaXNfbnVsbF9vaWQoJnAtPm9uZS0+b2lkKSk7CisJCWFzc2VydCghaXNfbnVsbF9vaWQoJnAtPnR3by0+b2lkKSk7CiAJCWJyZWFrOwogCWNhc2UgRElGRl9TVEFUVVNfQURERUQ6Ci0JCWFzc2VydChpc19udWxsX3NoYTEocC0+b25lLT5zaGExKSk7CisJCWFzc2VydChpc19udWxsX29pZCgmcC0+b25lLT5vaWQpKTsKIAkJYnJlYWs7CiAJY2FzZSBESUZGX1NUQVRVU19ERUxFVEVEOgotCQlhc3NlcnQoaXNfbnVsbF9zaGExKHAtPnR3by0+c2hhMSkpOworCQlhc3NlcnQoaXNfbnVsbF9vaWQoJnAtPnR3by0+b2lkKSk7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXJldHVybiAtMTsKQEAgLTc1LDcgKzc1LDcgQEAKIAlpbnQgaSA9IGxhc3RfaW5kZXggPCBsZW4gPyBsYXN0X2luZGV4IDogbGVuIC0gMTsKIAlpbnQgcHJldl9jbXAgPSAwLCBjbXAgPSAtMTsKIAl3aGlsZSAoaSA+PSAwICYmIGkgPCBsZW4pIHsKLQkJY21wID0gaGFzaGNtcChvYmosIGxpc3RbaV0ub2JqKTsKKwkJY21wID0gaGFzaGNtcChvYmosIGxpc3RbaV0ub2JqLmhhc2gpOwogCQlpZiAoIWNtcCkgLyogb2JqIGJlbG9uZ3MgQCBpICovCiAJCQlicmVhazsKIAkJZWxzZSBpZiAoY21wIDwgMCAmJiBwcmV2X2NtcCA8PSAwKSAvKiBvYmogYmVsb25ncyA8IGkgKi8KQEAgLTEwOCw5ICsxMDgsMTAgQEAKIAlyZXR1cm4gbGlzdCArIGk7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHVuaW5pdGlhbGl6ZWRbMjBdID0KK3N0YXRpYyBzdHJ1Y3Qgb2JqZWN0X2lkIHVuaW5pdGlhbGl6ZWQgPSB7CiAJIlx4ZmZceGZmXHhmZlx4ZmZceGZmXHhmZlx4ZmZceGZmXHhmZlx4ZmYiIFwKLQkiXHhmZlx4ZmZceGZmXHhmZlx4ZmZceGZmXHhmZlx4ZmZceGZmXHhmZiI7CisJIlx4ZmZceGZmXHhmZlx4ZmZceGZmXHhmZlx4ZmZceGZmXHhmZlx4ZmYiCit9OwogCiBzdGF0aWMgc3RydWN0IG5vdGVzX21lcmdlX3BhaXIgKmRpZmZfdHJlZV9yZW1vdGUoc3RydWN0IG5vdGVzX21lcmdlX29wdGlvbnMgKm8sCiAJCQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqYmFzZSwKQEAgLTE0MiwzNSArMTQzLDM1IEBACiAJCWlmICh2ZXJpZnlfbm90ZXNfZmlsZXBhaXIocCwgb2JqKSkgewogCQkJdHJhY2VfcHJpbnRmKCJcdFx0Q2Fubm90IG1lcmdlIGVudHJ5ICclcycgKCVjKTogIgogCQkJICAgICAgICIlLjdzIC0+ICUuN3MuIFNraXBwaW5nIVxuIiwgcC0+b25lLT5wYXRoLAotCQkJICAgICAgIHAtPnN0YXR1cywgc2hhMV90b19oZXgocC0+b25lLT5zaGExKSwKLQkJCSAgICAgICBzaGExX3RvX2hleChwLT50d28tPnNoYTEpKTsKKwkJCSAgICAgICBwLT5zdGF0dXMsIG9pZF90b19oZXgoJnAtPm9uZS0+b2lkKSwKKwkJCSAgICAgICBvaWRfdG9faGV4KCZwLT50d28tPm9pZCkpOwogCQkJY29udGludWU7CiAJCX0KIAkJbXAgPSBmaW5kX25vdGVzX21lcmdlX3BhaXJfcG9zKGNoYW5nZXMsIGxlbiwgb2JqLCAxLCAmb2NjdXBpZWQpOwogCQlpZiAob2NjdXBpZWQpIHsKIAkJCS8qIFdlJ3ZlIGZvdW5kIGFuIGFkZGl0aW9uL2RlbGV0aW9uIHBhaXIgKi8KLQkJCWFzc2VydCghaGFzaGNtcChtcC0+b2JqLCBvYmopKTsKLQkJCWlmIChpc19udWxsX3NoYTEocC0+b25lLT5zaGExKSkgeyAvKiBhZGRpdGlvbiAqLwotCQkJCWFzc2VydChpc19udWxsX3NoYTEobXAtPnJlbW90ZSkpOwotCQkJCWhhc2hjcHkobXAtPnJlbW90ZSwgcC0+dHdvLT5zaGExKTsKLQkJCX0gZWxzZSBpZiAoaXNfbnVsbF9zaGExKHAtPnR3by0+c2hhMSkpIHsgLyogZGVsZXRpb24gKi8KLQkJCQlhc3NlcnQoaXNfbnVsbF9zaGExKG1wLT5iYXNlKSk7Ci0JCQkJaGFzaGNweShtcC0+YmFzZSwgcC0+b25lLT5zaGExKTsKKwkJCWFzc2VydCghaGFzaGNtcChtcC0+b2JqLmhhc2gsIG9iaikpOworCQkJaWYgKGlzX251bGxfb2lkKCZwLT5vbmUtPm9pZCkpIHsgLyogYWRkaXRpb24gKi8KKwkJCQlhc3NlcnQoaXNfbnVsbF9vaWQoJm1wLT5yZW1vdGUpKTsKKwkJCQlvaWRjcHkoJm1wLT5yZW1vdGUsICZwLT50d28tPm9pZCk7CisJCQl9IGVsc2UgaWYgKGlzX251bGxfb2lkKCZwLT50d28tPm9pZCkpIHsgLyogZGVsZXRpb24gKi8KKwkJCQlhc3NlcnQoaXNfbnVsbF9vaWQoJm1wLT5iYXNlKSk7CisJCQkJb2lkY3B5KCZtcC0+YmFzZSwgJnAtPm9uZS0+b2lkKTsKIAkJCX0gZWxzZQogCQkJCWFzc2VydCghIkludmFsaWQgZXhpc3RpbmcgY2hhbmdlIHJlY29yZGVkIik7CiAJCX0gZWxzZSB7Ci0JCQloYXNoY3B5KG1wLT5vYmosIG9iaik7Ci0JCQloYXNoY3B5KG1wLT5iYXNlLCBwLT5vbmUtPnNoYTEpOwotCQkJaGFzaGNweShtcC0+bG9jYWwsIHVuaW5pdGlhbGl6ZWQpOwotCQkJaGFzaGNweShtcC0+cmVtb3RlLCBwLT50d28tPnNoYTEpOworCQkJaGFzaGNweShtcC0+b2JqLmhhc2gsIG9iaik7CisJCQlvaWRjcHkoJm1wLT5iYXNlLCAmcC0+b25lLT5vaWQpOworCQkJb2lkY3B5KCZtcC0+bG9jYWwsICZ1bmluaXRpYWxpemVkKTsKKwkJCW9pZGNweSgmbXAtPnJlbW90ZSwgJnAtPnR3by0+b2lkKTsKIAkJCWxlbisrOwogCQl9CiAJCXRyYWNlX3ByaW50ZigiXHRcdFN0b3JlZCByZW1vdGUgY2hhbmdlIGZvciAlczogJS43cyAtPiAlLjdzXG4iLAotCQkgICAgICAgc2hhMV90b19oZXgobXAtPm9iaiksIHNoYTFfdG9faGV4KG1wLT5iYXNlKSwKLQkJICAgICAgIHNoYTFfdG9faGV4KG1wLT5yZW1vdGUpKTsKKwkJICAgICAgIG9pZF90b19oZXgoJm1wLT5vYmopLCBvaWRfdG9faGV4KCZtcC0+YmFzZSksCisJCSAgICAgICBvaWRfdG9faGV4KCZtcC0+cmVtb3RlKSk7CiAJfQogCWRpZmZfZmx1c2goJm9wdCk7Ci0JZnJlZV9wYXRoc3BlYygmb3B0LnBhdGhzcGVjKTsKKwljbGVhcl9wYXRoc3BlYygmb3B0LnBhdGhzcGVjKTsKIAogCSpudW1fY2hhbmdlcyA9IGxlbjsKIAlyZXR1cm4gY2hhbmdlczsKQEAgLTIwMywyMSArMjA0LDIxIEBACiAJCWlmICh2ZXJpZnlfbm90ZXNfZmlsZXBhaXIocCwgb2JqKSkgewogCQkJdHJhY2VfcHJpbnRmKCJcdFx0Q2Fubm90IG1lcmdlIGVudHJ5ICclcycgKCVjKTogIgogCQkJICAgICAgICIlLjdzIC0+ICUuN3MuIFNraXBwaW5nIVxuIiwgcC0+b25lLT5wYXRoLAotCQkJICAgICAgIHAtPnN0YXR1cywgc2hhMV90b19oZXgocC0+b25lLT5zaGExKSwKLQkJCSAgICAgICBzaGExX3RvX2hleChwLT50d28tPnNoYTEpKTsKKwkJCSAgICAgICBwLT5zdGF0dXMsIG9pZF90b19oZXgoJnAtPm9uZS0+b2lkKSwKKwkJCSAgICAgICBvaWRfdG9faGV4KCZwLT50d28tPm9pZCkpOwogCQkJY29udGludWU7CiAJCX0KIAkJbXAgPSBmaW5kX25vdGVzX21lcmdlX3BhaXJfcG9zKGNoYW5nZXMsIGxlbiwgb2JqLCAwLCAmbWF0Y2gpOwogCQlpZiAoIW1hdGNoKSB7CiAJCQl0cmFjZV9wcmludGYoIlx0XHRJZ25vcmluZyBsb2NhbC1vbmx5IGNoYW5nZSBmb3IgJXM6ICIKIAkJCSAgICAgICAiJS43cyAtPiAlLjdzXG4iLCBzaGExX3RvX2hleChvYmopLAotCQkJICAgICAgIHNoYTFfdG9faGV4KHAtPm9uZS0+c2hhMSksCi0JCQkgICAgICAgc2hhMV90b19oZXgocC0+dHdvLT5zaGExKSk7CisJCQkgICAgICAgb2lkX3RvX2hleCgmcC0+b25lLT5vaWQpLAorCQkJICAgICAgIG9pZF90b19oZXgoJnAtPnR3by0+b2lkKSk7CiAJCQljb250aW51ZTsKIAkJfQogCi0JCWFzc2VydCghaGFzaGNtcChtcC0+b2JqLCBvYmopKTsKLQkJaWYgKGlzX251bGxfc2hhMShwLT50d28tPnNoYTEpKSB7IC8qIGRlbGV0aW9uICovCisJCWFzc2VydCghaGFzaGNtcChtcC0+b2JqLmhhc2gsIG9iaikpOworCQlpZiAoaXNfbnVsbF9vaWQoJnAtPnR3by0+b2lkKSkgeyAvKiBkZWxldGlvbiAqLwogCQkJLyoKIAkJCSAqIEVpdGhlciB0aGlzIGlzIGEgdHJ1ZSBkZWxldGlvbiAoMSksIG9yIGl0IGlzIHBhcnQKIAkJCSAqIG9mIGFuIEEvRCBwYWlyICgyKSwgb3IgRC9BIHBhaXIgKDMpOgpAQCAtMjI3LDkgKzIyOCw5IEBACiAJCQkgKiAoMykgbXAtPmxvY2FsIGlzIHVuaW5pdGlhbGl6ZWQ7IHNldCBpdCB0byBudWxsX3NoYTEKIAkJCSAqICAgICAod2lsbCBiZSBvdmVyd3JpdHRlbiBieSBmb2xsb3dpbmcgYWRkaXRpb24pCiAJCQkgKi8KLQkJCWlmICghaGFzaGNtcChtcC0+bG9jYWwsIHVuaW5pdGlhbGl6ZWQpKQotCQkJCWhhc2hjbHIobXAtPmxvY2FsKTsKLQkJfSBlbHNlIGlmIChpc19udWxsX3NoYTEocC0+b25lLT5zaGExKSkgeyAvKiBhZGRpdGlvbiAqLworCQkJaWYgKCFvaWRjbXAoJm1wLT5sb2NhbCwgJnVuaW5pdGlhbGl6ZWQpKQorCQkJCW9pZGNscigmbXAtPmxvY2FsKTsKKwkJfSBlbHNlIGlmIChpc19udWxsX29pZCgmcC0+b25lLT5vaWQpKSB7IC8qIGFkZGl0aW9uICovCiAJCQkvKgogCQkJICogRWl0aGVyIHRoaXMgaXMgYSB0cnVlIGFkZGl0aW9uICgxKSwgb3IgaXQgaXMgcGFydAogCQkJICogb2YgYW4gQS9EIHBhaXIgKDIpLCBvciBEL0EgcGFpciAoMyk6CkBAIC0yMzgsMjUgKzIzOSwyNSBAQAogCQkJICogKDIpIG1wLT5sb2NhbCBpcyB1bmluaXRpYWxpemVkOyBzZXQgdG8gcC0+dHdvLT5zaGExCiAJCQkgKiAoMykgbXAtPmxvY2FsIGlzIG51bGxfc2hhMTsgICAgIHNldCB0byBwLT50d28tPnNoYTEKIAkJCSAqLwotCQkJYXNzZXJ0KGlzX251bGxfc2hhMShtcC0+bG9jYWwpIHx8Ci0JCQkgICAgICAgIWhhc2hjbXAobXAtPmxvY2FsLCB1bmluaXRpYWxpemVkKSk7Ci0JCQloYXNoY3B5KG1wLT5sb2NhbCwgcC0+dHdvLT5zaGExKTsKKwkJCWFzc2VydChpc19udWxsX29pZCgmbXAtPmxvY2FsKSB8fAorCQkJICAgICAgICFvaWRjbXAoJm1wLT5sb2NhbCwgJnVuaW5pdGlhbGl6ZWQpKTsKKwkJCW9pZGNweSgmbXAtPmxvY2FsLCAmcC0+dHdvLT5vaWQpOwogCQl9IGVsc2UgeyAvKiBtb2RpZmljYXRpb24gKi8KIAkJCS8qCiAJCQkgKiBUaGlzIGlzIGEgdHJ1ZSBtb2RpZmljYXRpb24uIHAtPm9uZS0+c2hhMSBzaGFsbAogCQkJICogbWF0Y2ggbXAtPmJhc2UsIGFuZCBtcC0+bG9jYWwgc2hhbGwgYmUgdW5pbml0aWFsaXplZC4KIAkJCSAqIFNldCBtcC0+bG9jYWwgdG8gcC0+dHdvLT5zaGExLgogCQkJICovCi0JCQlhc3NlcnQoIWhhc2hjbXAocC0+b25lLT5zaGExLCBtcC0+YmFzZSkpOwotCQkJYXNzZXJ0KCFoYXNoY21wKG1wLT5sb2NhbCwgdW5pbml0aWFsaXplZCkpOwotCQkJaGFzaGNweShtcC0+bG9jYWwsIHAtPnR3by0+c2hhMSk7CisJCQlhc3NlcnQoIW9pZGNtcCgmcC0+b25lLT5vaWQsICZtcC0+YmFzZSkpOworCQkJYXNzZXJ0KCFvaWRjbXAoJm1wLT5sb2NhbCwgJnVuaW5pdGlhbGl6ZWQpKTsKKwkJCW9pZGNweSgmbXAtPmxvY2FsLCAmcC0+dHdvLT5vaWQpOwogCQl9CiAJCXRyYWNlX3ByaW50ZigiXHRcdFN0b3JlZCBsb2NhbCBjaGFuZ2UgZm9yICVzOiAlLjdzIC0+ICUuN3NcbiIsCi0JCSAgICAgICBzaGExX3RvX2hleChtcC0+b2JqKSwgc2hhMV90b19oZXgobXAtPmJhc2UpLAotCQkgICAgICAgc2hhMV90b19oZXgobXAtPmxvY2FsKSk7CisJCSAgICAgICBvaWRfdG9faGV4KCZtcC0+b2JqKSwgb2lkX3RvX2hleCgmbXAtPmJhc2UpLAorCQkgICAgICAgb2lkX3RvX2hleCgmbXAtPmxvY2FsKSk7CiAJfQogCWRpZmZfZmx1c2goJm9wdCk7Ci0JZnJlZV9wYXRoc3BlYygmb3B0LnBhdGhzcGVjKTsKKwljbGVhcl9wYXRoc3BlYygmb3B0LnBhdGhzcGVjKTsKIH0KIAogc3RhdGljIHZvaWQgY2hlY2tfbm90ZXNfbWVyZ2Vfd29ya3RyZWUoc3RydWN0IG5vdGVzX21lcmdlX29wdGlvbnMgKm8pCkBAIC0yNjksMTUgKzI3MCwxNSBAQAogCQlpZiAoZmlsZV9leGlzdHMoZ2l0X3BhdGgoTk9URVNfTUVSR0VfV09SS1RSRUUpKSAmJgogCQkgICAgIWlzX2VtcHR5X2RpcihnaXRfcGF0aChOT1RFU19NRVJHRV9XT1JLVFJFRSkpKSB7CiAJCQlpZiAoYWR2aWNlX3Jlc29sdmVfY29uZmxpY3QpCi0JCQkJZGllKCJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgIgorCQkJCWRpZShfKCJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgIgogCQkJCSAgICAibm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG5QbGVhc2UsIHVzZSAiCiAJCQkJICAgICInZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0JyBvciAnZ2l0IG5vdGVzICIKIAkJCQkgICAgIm1lcmdlIC0tYWJvcnQnIHRvIGNvbW1pdC9hYm9ydCB0aGUgIgogCQkJCSAgICAicHJldmlvdXMgbWVyZ2UgYmVmb3JlIHlvdSBzdGFydCBhIG5ldyAiCi0JCQkJICAgICJub3RlcyBtZXJnZS4iLCBnaXRfcGF0aCgiTk9URVNfTUVSR0VfKiIpKTsKKwkJCQkgICAgIm5vdGVzIG1lcmdlLiIpLCBnaXRfcGF0aCgiTk9URVNfTUVSR0VfKiIpKTsKIAkJCWVsc2UKLQkJCQlkaWUoIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBub3RlcyBtZXJnZSAiCi0JCQkJICAgICIoJXMgZXhpc3RzKS4iLCBnaXRfcGF0aCgiTk9URVNfTUVSR0VfKiIpKTsKKwkJCQlkaWUoXygiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG5vdGVzIG1lcmdlICIKKwkJCQkgICAgIiglcyBleGlzdHMpLiIpLCBnaXRfcGF0aCgiTk9URVNfTUVSR0VfKiIpKTsKIAkJfQogCiAJCWlmIChzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzX2NvbnN0KGdpdF9wYXRoKApAQCAtMjk4LDEyICsyOTksOCBAQAogCWNoYXIgKnBhdGggPSBnaXRfcGF0aGR1cChOT1RFU19NRVJHRV9XT1JLVFJFRSAiLyVzIiwgc2hhMV90b19oZXgob2JqKSk7CiAJaWYgKHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXNfY29uc3QocGF0aCkpCiAJCWRpZV9lcnJubygidW5hYmxlIHRvIGNyZWF0ZSBkaXJlY3RvcnkgZm9yICclcyciLCBwYXRoKTsKLQlpZiAoZmlsZV9leGlzdHMocGF0aCkpCi0JCWRpZSgiZm91bmQgZXhpc3RpbmcgZmlsZSBhdCAnJXMnIiwgcGF0aCk7CiAKLQlmZCA9IG9wZW4ocGF0aCwgT19XUk9OTFkgfCBPX1RSVU5DIHwgT19DUkVBVCwgMDY2Nik7Ci0JaWYgKGZkIDwgMCkKLQkJZGllX2Vycm5vKCJmYWlsZWQgdG8gb3BlbiAnJXMnIiwgcGF0aCk7CisJZmQgPSB4b3BlbihwYXRoLCBPX1dST05MWSB8IE9fRVhDTCB8IE9fQ1JFQVQsIDA2NjYpOwogCiAJd2hpbGUgKHNpemUgPiAwKSB7CiAJCWxvbmcgcmV0ID0gd3JpdGVfaW5fZnVsbChmZCwgYnVmLCBzaXplKTsKQEAgLTM0NywxMSArMzQ0LDExIEBACiAJbW1maWxlX3QgYmFzZSwgbG9jYWwsIHJlbW90ZTsKIAlpbnQgc3RhdHVzOwogCi0JcmVhZF9tbWJsb2IoJmJhc2UsIHAtPmJhc2UpOwotCXJlYWRfbW1ibG9iKCZsb2NhbCwgcC0+bG9jYWwpOwotCXJlYWRfbW1ibG9iKCZyZW1vdGUsIHAtPnJlbW90ZSk7CisJcmVhZF9tbWJsb2IoJmJhc2UsICZwLT5iYXNlKTsKKwlyZWFkX21tYmxvYigmbG9jYWwsICZwLT5sb2NhbCk7CisJcmVhZF9tbWJsb2IoJnJlbW90ZSwgJnAtPnJlbW90ZSk7CiAKLQlzdGF0dXMgPSBsbF9tZXJnZSgmcmVzdWx0X2J1Ziwgc2hhMV90b19oZXgocC0+b2JqKSwgJmJhc2UsIE5VTEwsCisJc3RhdHVzID0gbGxfbWVyZ2UoJnJlc3VsdF9idWYsIG9pZF90b19oZXgoJnAtPm9iaiksICZiYXNlLCBOVUxMLAogCQkJICAmbG9jYWwsIG8tPmxvY2FsX3JlZiwgJnJlbW90ZSwgby0+cmVtb3RlX3JlZiwgTlVMTCk7CiAKIAlmcmVlKGJhc2UucHRyKTsKQEAgLTM2MSw3ICszNTgsNyBAQAogCWlmICgoc3RhdHVzIDwgMCkgfHwgIXJlc3VsdF9idWYucHRyKQogCQlkaWUoIkZhaWxlZCB0byBleGVjdXRlIGludGVybmFsIG1lcmdlIik7CiAKLQl3cml0ZV9idWZfdG9fd29ya3RyZWUocC0+b2JqLCByZXN1bHRfYnVmLnB0ciwgcmVzdWx0X2J1Zi5zaXplKTsKKwl3cml0ZV9idWZfdG9fd29ya3RyZWUocC0+b2JqLmhhc2gsIHJlc3VsdF9idWYucHRyLCByZXN1bHRfYnVmLnNpemUpOwogCWZyZWUocmVzdWx0X2J1Zi5wdHIpOwogCiAJcmV0dXJuIHN0YXR1czsKQEAgLTM3Niw1MSArMzczLDUyIEBACiAKIAl0cmFjZV9wcmludGYoIlx0XHRcdG1lcmdlX29uZV9jaGFuZ2VfbWFudWFsKG9iaiA9ICUuN3MsIGJhc2UgPSAlLjdzLCAiCiAJICAgICAgICJsb2NhbCA9ICUuN3MsIHJlbW90ZSA9ICUuN3MpXG4iLAotCSAgICAgICBzaGExX3RvX2hleChwLT5vYmopLCBzaGExX3RvX2hleChwLT5iYXNlKSwKLQkgICAgICAgc2hhMV90b19oZXgocC0+bG9jYWwpLCBzaGExX3RvX2hleChwLT5yZW1vdGUpKTsKKwkgICAgICAgb2lkX3RvX2hleCgmcC0+b2JqKSwgb2lkX3RvX2hleCgmcC0+YmFzZSksCisJICAgICAgIG9pZF90b19oZXgoJnAtPmxvY2FsKSwgb2lkX3RvX2hleCgmcC0+cmVtb3RlKSk7CiAKIAkvKiBhZGQgIkNvbmZsaWN0czoiIHNlY3Rpb24gdG8gY29tbWl0IG1lc3NhZ2UgZmlyc3QgdGltZSB0aHJvdWdoICovCiAJaWYgKCFvLT5oYXNfd29ya3RyZWUpCiAJCXN0cmJ1Zl9hZGRzdHIoJihvLT5jb21taXRfbXNnKSwgIlxuXG5Db25mbGljdHM6XG4iKTsKIAotCXN0cmJ1Zl9hZGRmKCYoby0+Y29tbWl0X21zZyksICJcdCVzXG4iLCBzaGExX3RvX2hleChwLT5vYmopKTsKKwlzdHJidWZfYWRkZigmKG8tPmNvbW1pdF9tc2cpLCAiXHQlc1xuIiwgb2lkX3RvX2hleCgmcC0+b2JqKSk7CiAKIAlpZiAoby0+dmVyYm9zaXR5ID49IDIpCi0JCXByaW50ZigiQXV0by1tZXJnaW5nIG5vdGVzIGZvciAlc1xuIiwgc2hhMV90b19oZXgocC0+b2JqKSk7CisJCXByaW50ZigiQXV0by1tZXJnaW5nIG5vdGVzIGZvciAlc1xuIiwgb2lkX3RvX2hleCgmcC0+b2JqKSk7CiAJY2hlY2tfbm90ZXNfbWVyZ2Vfd29ya3RyZWUobyk7Ci0JaWYgKGlzX251bGxfc2hhMShwLT5sb2NhbCkpIHsKKwlpZiAoaXNfbnVsbF9vaWQoJnAtPmxvY2FsKSkgewogCQkvKiBEL0YgY29uZmxpY3QsIGNoZWNrb3V0IHAtPnJlbW90ZSAqLwotCQlhc3NlcnQoIWlzX251bGxfc2hhMShwLT5yZW1vdGUpKTsKKwkJYXNzZXJ0KCFpc19udWxsX29pZCgmcC0+cmVtb3RlKSk7CiAJCWlmIChvLT52ZXJib3NpdHkgPj0gMSkKIAkJCXByaW50ZigiQ09ORkxJQ1QgKGRlbGV0ZS9tb2RpZnkpOiBOb3RlcyBmb3Igb2JqZWN0ICVzICIKIAkJCQkiZGVsZXRlZCBpbiAlcyBhbmQgbW9kaWZpZWQgaW4gJXMuIFZlcnNpb24gZnJvbSAlcyAiCiAJCQkJImxlZnQgaW4gdHJlZS5cbiIsCi0JCQkJc2hhMV90b19oZXgocC0+b2JqKSwgbHJlZiwgcnJlZiwgcnJlZik7Ci0JCXdyaXRlX25vdGVfdG9fd29ya3RyZWUocC0+b2JqLCBwLT5yZW1vdGUpOwotCX0gZWxzZSBpZiAoaXNfbnVsbF9zaGExKHAtPnJlbW90ZSkpIHsKKwkJCQlvaWRfdG9faGV4KCZwLT5vYmopLCBscmVmLCBycmVmLCBycmVmKTsKKwkJd3JpdGVfbm90ZV90b193b3JrdHJlZShwLT5vYmouaGFzaCwgcC0+cmVtb3RlLmhhc2gpOworCX0gZWxzZSBpZiAoaXNfbnVsbF9vaWQoJnAtPnJlbW90ZSkpIHsKIAkJLyogRC9GIGNvbmZsaWN0LCBjaGVja291dCBwLT5sb2NhbCAqLwotCQlhc3NlcnQoIWlzX251bGxfc2hhMShwLT5sb2NhbCkpOworCQlhc3NlcnQoIWlzX251bGxfb2lkKCZwLT5sb2NhbCkpOwogCQlpZiAoby0+dmVyYm9zaXR5ID49IDEpCiAJCQlwcmludGYoIkNPTkZMSUNUIChkZWxldGUvbW9kaWZ5KTogTm90ZXMgZm9yIG9iamVjdCAlcyAiCiAJCQkJImRlbGV0ZWQgaW4gJXMgYW5kIG1vZGlmaWVkIGluICVzLiBWZXJzaW9uIGZyb20gJXMgIgogCQkJCSJsZWZ0IGluIHRyZWUuXG4iLAotCQkJCXNoYTFfdG9faGV4KHAtPm9iaiksIHJyZWYsIGxyZWYsIGxyZWYpOwotCQl3cml0ZV9ub3RlX3RvX3dvcmt0cmVlKHAtPm9iaiwgcC0+bG9jYWwpOworCQkJCW9pZF90b19oZXgoJnAtPm9iaiksIHJyZWYsIGxyZWYsIGxyZWYpOworCQl3cml0ZV9ub3RlX3RvX3dvcmt0cmVlKHAtPm9iai5oYXNoLCBwLT5sb2NhbC5oYXNoKTsKIAl9IGVsc2UgewogCQkvKiAicmVndWxhciIgY29uZmxpY3QsIGNoZWNrb3V0IHJlc3VsdCBvZiBsbF9tZXJnZSgpICovCiAJCWNvbnN0IGNoYXIgKnJlYXNvbiA9ICJjb250ZW50IjsKLQkJaWYgKGlzX251bGxfc2hhMShwLT5iYXNlKSkKKwkJaWYgKGlzX251bGxfb2lkKCZwLT5iYXNlKSkKIAkJCXJlYXNvbiA9ICJhZGQvYWRkIjsKLQkJYXNzZXJ0KCFpc19udWxsX3NoYTEocC0+bG9jYWwpKTsKLQkJYXNzZXJ0KCFpc19udWxsX3NoYTEocC0+cmVtb3RlKSk7CisJCWFzc2VydCghaXNfbnVsbF9vaWQoJnAtPmxvY2FsKSk7CisJCWFzc2VydCghaXNfbnVsbF9vaWQoJnAtPnJlbW90ZSkpOwogCQlpZiAoby0+dmVyYm9zaXR5ID49IDEpCiAJCQlwcmludGYoIkNPTkZMSUNUICglcyk6IE1lcmdlIGNvbmZsaWN0IGluIG5vdGVzIGZvciAiCi0JCQkJIm9iamVjdCAlc1xuIiwgcmVhc29uLCBzaGExX3RvX2hleChwLT5vYmopKTsKKwkJCQkib2JqZWN0ICVzXG4iLCByZWFzb24sCisJCQkJb2lkX3RvX2hleCgmcC0+b2JqKSk7CiAJCWxsX21lcmdlX2luX3dvcmt0cmVlKG8sIHApOwogCX0KIAogCXRyYWNlX3ByaW50ZigiXHRcdFx0cmVtb3ZpbmcgZnJvbSBwYXJ0aWFsIG1lcmdlIHJlc3VsdFxuIik7Ci0JcmVtb3ZlX25vdGUodCwgcC0+b2JqKTsKKwlyZW1vdmVfbm90ZSh0LCBwLT5vYmouaGFzaCk7CiAKIAlyZXR1cm4gMTsKIH0KQEAgLTQzOSwyOSArNDM3LDI5IEBACiAJY2FzZSBOT1RFU19NRVJHRV9SRVNPTFZFX09VUlM6CiAJCWlmIChvLT52ZXJib3NpdHkgPj0gMikKIAkJCXByaW50ZigiVXNpbmcgbG9jYWwgbm90ZXMgZm9yICVzXG4iLAotCQkJCQkJc2hhMV90b19oZXgocC0+b2JqKSk7CisJCQkJCQlvaWRfdG9faGV4KCZwLT5vYmopKTsKIAkJLyogbm90aGluZyB0byBkbyAqLwogCQlyZXR1cm4gMDsKIAljYXNlIE5PVEVTX01FUkdFX1JFU09MVkVfVEhFSVJTOgogCQlpZiAoby0+dmVyYm9zaXR5ID49IDIpCiAJCQlwcmludGYoIlVzaW5nIHJlbW90ZSBub3RlcyBmb3IgJXNcbiIsCi0JCQkJCQlzaGExX3RvX2hleChwLT5vYmopKTsKLQkJaWYgKGFkZF9ub3RlKHQsIHAtPm9iaiwgcC0+cmVtb3RlLCBjb21iaW5lX25vdGVzX292ZXJ3cml0ZSkpCisJCQkJCQlvaWRfdG9faGV4KCZwLT5vYmopKTsKKwkJaWYgKGFkZF9ub3RlKHQsIHAtPm9iai5oYXNoLCBwLT5yZW1vdGUuaGFzaCwgY29tYmluZV9ub3Rlc19vdmVyd3JpdGUpKQogCQkJZGllKCJCVUc6IGNvbWJpbmVfbm90ZXNfb3ZlcndyaXRlIGZhaWxlZCIpOwogCQlyZXR1cm4gMDsKIAljYXNlIE5PVEVTX01FUkdFX1JFU09MVkVfVU5JT046CiAJCWlmIChvLT52ZXJib3NpdHkgPj0gMikKIAkJCXByaW50ZigiQ29uY2F0ZW5hdGluZyBsb2NhbCBhbmQgcmVtb3RlIG5vdGVzIGZvciAlc1xuIiwKLQkJCQkJCQlzaGExX3RvX2hleChwLT5vYmopKTsKLQkJaWYgKGFkZF9ub3RlKHQsIHAtPm9iaiwgcC0+cmVtb3RlLCBjb21iaW5lX25vdGVzX2NvbmNhdGVuYXRlKSkKKwkJCQkJCQlvaWRfdG9faGV4KCZwLT5vYmopKTsKKwkJaWYgKGFkZF9ub3RlKHQsIHAtPm9iai5oYXNoLCBwLT5yZW1vdGUuaGFzaCwgY29tYmluZV9ub3Rlc19jb25jYXRlbmF0ZSkpCiAJCQlkaWUoImZhaWxlZCB0byBjb25jYXRlbmF0ZSBub3RlcyAiCiAJCQkgICAgIihjb21iaW5lX25vdGVzX2NvbmNhdGVuYXRlKSIpOwogCQlyZXR1cm4gMDsKIAljYXNlIE5PVEVTX01FUkdFX1JFU09MVkVfQ0FUX1NPUlRfVU5JUToKIAkJaWYgKG8tPnZlcmJvc2l0eSA+PSAyKQogCQkJcHJpbnRmKCJDb25jYXRlbmF0aW5nIHVuaXF1ZSBsaW5lcyBpbiBsb2NhbCBhbmQgcmVtb3RlICIKLQkJCQkibm90ZXMgZm9yICVzXG4iLCBzaGExX3RvX2hleChwLT5vYmopKTsKLQkJaWYgKGFkZF9ub3RlKHQsIHAtPm9iaiwgcC0+cmVtb3RlLCBjb21iaW5lX25vdGVzX2NhdF9zb3J0X3VuaXEpKQorCQkJCSJub3RlcyBmb3IgJXNcbiIsIG9pZF90b19oZXgoJnAtPm9iaikpOworCQlpZiAoYWRkX25vdGUodCwgcC0+b2JqLmhhc2gsIHAtPnJlbW90ZS5oYXNoLCBjb21iaW5lX25vdGVzX2NhdF9zb3J0X3VuaXEpKQogCQkJZGllKCJmYWlsZWQgdG8gY29uY2F0ZW5hdGUgbm90ZXMgIgogCQkJICAgICIoY29tYmluZV9ub3Rlc19jYXRfc29ydF91bmlxKSIpOwogCQlyZXR1cm4gMDsKQEAgLTQ3OSwyMCArNDc3LDIxIEBACiAJZm9yIChpID0gMDsgaSA8ICpudW1fY2hhbmdlczsgaSsrKSB7CiAJCXN0cnVjdCBub3Rlc19tZXJnZV9wYWlyICpwID0gY2hhbmdlcyArIGk7CiAJCXRyYWNlX3ByaW50ZigiXHRcdCUuN3M6ICUuN3MgLT4gJS43cy8lLjdzXG4iLAotCQkgICAgICAgc2hhMV90b19oZXgocC0+b2JqKSwgc2hhMV90b19oZXgocC0+YmFzZSksCi0JCSAgICAgICBzaGExX3RvX2hleChwLT5sb2NhbCksIHNoYTFfdG9faGV4KHAtPnJlbW90ZSkpOworCQkgICAgICAgb2lkX3RvX2hleCgmcC0+b2JqKSwgb2lkX3RvX2hleCgmcC0+YmFzZSksCisJCSAgICAgICBvaWRfdG9faGV4KCZwLT5sb2NhbCksCisJCSAgICAgICBvaWRfdG9faGV4KCZwLT5yZW1vdGUpKTsKIAotCQlpZiAoIWhhc2hjbXAocC0+YmFzZSwgcC0+cmVtb3RlKSkgeworCQlpZiAoIW9pZGNtcCgmcC0+YmFzZSwgJnAtPnJlbW90ZSkpIHsKIAkJCS8qIG5vIHJlbW90ZSBjaGFuZ2U7IG5vdGhpbmcgdG8gZG8gKi8KIAkJCXRyYWNlX3ByaW50ZigiXHRcdFx0c2tpcHBpbmcgKG5vIHJlbW90ZSBjaGFuZ2UpXG4iKTsKLQkJfSBlbHNlIGlmICghaGFzaGNtcChwLT5sb2NhbCwgcC0+cmVtb3RlKSkgeworCQl9IGVsc2UgaWYgKCFvaWRjbXAoJnAtPmxvY2FsLCAmcC0+cmVtb3RlKSkgewogCQkJLyogc2FtZSBjaGFuZ2UgaW4gbG9jYWwgYW5kIHJlbW90ZTsgbm90aGluZyB0byBkbyAqLwogCQkJdHJhY2VfcHJpbnRmKCJcdFx0XHRza2lwcGluZyAobG9jYWwgPT0gcmVtb3RlKVxuIik7Ci0JCX0gZWxzZSBpZiAoIWhhc2hjbXAocC0+bG9jYWwsIHVuaW5pdGlhbGl6ZWQpIHx8Ci0JCQkgICAhaGFzaGNtcChwLT5sb2NhbCwgcC0+YmFzZSkpIHsKKwkJfSBlbHNlIGlmICghb2lkY21wKCZwLT5sb2NhbCwgJnVuaW5pdGlhbGl6ZWQpIHx8CisJCQkgICAhb2lkY21wKCZwLT5sb2NhbCwgJnAtPmJhc2UpKSB7CiAJCQkvKiBubyBsb2NhbCBjaGFuZ2U7IGFkb3B0IHJlbW90ZSBjaGFuZ2UgKi8KIAkJCXRyYWNlX3ByaW50ZigiXHRcdFx0bm8gbG9jYWwgY2hhbmdlLCBhZG9wdGVkIHJlbW90ZVxuIik7Ci0JCQlpZiAoYWRkX25vdGUodCwgcC0+b2JqLCBwLT5yZW1vdGUsCisJCQlpZiAoYWRkX25vdGUodCwgcC0+b2JqLmhhc2gsIHAtPnJlbW90ZS5oYXNoLAogCQkJCSAgICAgY29tYmluZV9ub3Rlc19vdmVyd3JpdGUpKQogCQkJCWRpZSgiQlVHOiBjb21iaW5lX25vdGVzX292ZXJ3cml0ZSBmYWlsZWQiKTsKIAkJfSBlbHNlIHsKZGlmZiAtLWdpdCBhL25vdGVzLmMgYi9ub3Rlcy5jCmluZGV4IGU0ZTQ4NTQuLjJiYWI5NjEgMTAwNjQ0Ci0tLSBhL25vdGVzLmMKKysrIGIvbm90ZXMuYwpAQCAtNzAsNyArNzAsNyBAQAogCiBzdHJ1Y3Qgbm90ZXNfdHJlZSBkZWZhdWx0X25vdGVzX3RyZWU7CiAKLXN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgZGlzcGxheV9ub3Rlc19yZWZzOworc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBkaXNwbGF5X25vdGVzX3JlZnMgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogc3RhdGljIHN0cnVjdCBub3Rlc190cmVlICoqZGlzcGxheV9ub3Rlc190cmVlczsKIAogc3RhdGljIHZvaWQgbG9hZF9zdWJ0cmVlKHN0cnVjdCBub3Rlc190cmVlICp0LCBzdHJ1Y3QgbGVhZl9ub2RlICpzdWJ0cmVlLApAQCAtOTkzLDcgKzk5Myw3IEBACiB2b2lkIGluaXRfbm90ZXMoc3RydWN0IG5vdGVzX3RyZWUgKnQsIGNvbnN0IGNoYXIgKm5vdGVzX3JlZiwKIAkJY29tYmluZV9ub3Rlc19mbiBjb21iaW5lX25vdGVzLCBpbnQgZmxhZ3MpCiB7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXSwgb2JqZWN0X3NoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkLCBvYmplY3Rfb2lkOwogCXVuc2lnbmVkIG1vZGU7CiAJc3RydWN0IGxlYWZfbm9kZSByb290X3RyZWU7CiAKQEAgLTEwMTcsMTYgKzEwMTcsMTYgQEAKIAl0LT5kaXJ0eSA9IDA7CiAKIAlpZiAoZmxhZ3MgJiBOT1RFU19JTklUX0VNUFRZIHx8ICFub3Rlc19yZWYgfHwKLQkgICAgZ2V0X3NoYTFfdHJlZWlzaChub3Rlc19yZWYsIG9iamVjdF9zaGExKSkKKwkgICAgZ2V0X3NoYTFfdHJlZWlzaChub3Rlc19yZWYsIG9iamVjdF9vaWQuaGFzaCkpCiAJCXJldHVybjsKLQlpZiAoZmxhZ3MgJiBOT1RFU19JTklUX1dSSVRBQkxFICYmIHJlYWRfcmVmKG5vdGVzX3JlZiwgb2JqZWN0X3NoYTEpKQorCWlmIChmbGFncyAmIE5PVEVTX0lOSVRfV1JJVEFCTEUgJiYgcmVhZF9yZWYobm90ZXNfcmVmLCBvYmplY3Rfb2lkLmhhc2gpKQogCQlkaWUoIkNhbm5vdCB1c2Ugbm90ZXMgcmVmICVzIiwgbm90ZXNfcmVmKTsKLQlpZiAoZ2V0X3RyZWVfZW50cnkob2JqZWN0X3NoYTEsICIiLCBzaGExLCAmbW9kZSkpCisJaWYgKGdldF90cmVlX2VudHJ5KG9iamVjdF9vaWQuaGFzaCwgIiIsIG9pZC5oYXNoLCAmbW9kZSkpCiAJCWRpZSgiRmFpbGVkIHRvIHJlYWQgbm90ZXMgdHJlZSByZWZlcmVuY2VkIGJ5ICVzICglcykiLAotCQkgICAgbm90ZXNfcmVmLCBzaGExX3RvX2hleChvYmplY3Rfc2hhMSkpOworCQkgICAgbm90ZXNfcmVmLCBvaWRfdG9faGV4KCZvYmplY3Rfb2lkKSk7CiAKIAloYXNoY2xyKHJvb3RfdHJlZS5rZXlfc2hhMSk7Ci0JaGFzaGNweShyb290X3RyZWUudmFsX3NoYTEsIHNoYTEpOworCWhhc2hjcHkocm9vdF90cmVlLnZhbF9zaGExLCBvaWQuaGFzaCk7CiAJbG9hZF9zdWJ0cmVlKHQsICZyb290X3RyZWUsIHQtPnJvb3QsIDApOwogfQogCmRpZmYgLS1naXQgYS9vYmplY3QuaCBiL29iamVjdC5oCmluZGV4IGY4YjY0NDIuLjYxNGEwMDYgMTAwNjQ0Ci0tLSBhL29iamVjdC5oCisrKyBiL29iamVjdC5oCkBAIC0zMSw3ICszMSw3IEBACiAgKiByZXZpc2lvbi5oOiAgICAgIDAtLS0tLS0tLS0xMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjYKICAqIGZldGNoLXBhY2suYzogICAgMC0tLTQKICAqIHdhbGtlci5jOiAgICAgICAgMC0yCi0gKiB1cGxvYWQtcGFjay5jOiAgICAgICAgICAgICAgIDExLS0tLS0tLS0tLS0tLS0tLTE5CisgKiB1cGxvYWQtcGFjay5jOiAgICAgICA0ICAgICAgIDExLS0tLS0tLS0tLS0tLS0tLTE5CiAgKiBidWlsdGluL2JsYW1lLmM6ICAgICAgICAgICAgICAgMTItMTMKICAqIGJpc2VjdC5jOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNgogICogYnVuZGxlLmM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2CmRpZmYgLS1naXQgYS9wYWNrLWJpdG1hcC13cml0ZS5jIGIvcGFjay1iaXRtYXAtd3JpdGUuYwppbmRleCBjMzBiY2QwLi45NzA1NTk2IDEwMDY0NAotLS0gYS9wYWNrLWJpdG1hcC13cml0ZS5jCisrKyBiL3BhY2stYml0bWFwLXdyaXRlLmMKQEAgLTM4NSw4ICszODUsNyBAQAogewogCXVuc2lnbmVkIGludCBpID0gMCwgaiwgbmV4dDsKIAotCXFzb3J0KGluZGV4ZWRfY29tbWl0cywgaW5kZXhlZF9jb21taXRzX25yLCBzaXplb2YoaW5kZXhlZF9jb21taXRzWzBdKSwKLQkgICAgICBkYXRlX2NvbXBhcmUpOworCVFTT1JUKGluZGV4ZWRfY29tbWl0cywgaW5kZXhlZF9jb21taXRzX25yLCBkYXRlX2NvbXBhcmUpOwogCiAJaWYgKHdyaXRlci5zaG93X3Byb2dyZXNzKQogCQl3cml0ZXIucHJvZ3Jlc3MgPSBzdGFydF9wcm9ncmVzcygiU2VsZWN0aW5nIGJpdG1hcCBjb21taXRzIiwgMCk7CmRpZmYgLS1naXQgYS9wYWNrLWJpdG1hcC5jIGIvcGFjay1iaXRtYXAuYwppbmRleCBiOTQ5ZTUxLi4zOWJjYzE2IDEwMDY0NAotLS0gYS9wYWNrLWJpdG1hcC5jCisrKyBiL3BhY2stYml0bWFwLmMKQEAgLTI2Niw3ICsyNjYsNyBAQAogCQlyZXR1cm4gLTE7CiAKIAlpZHhfbmFtZSA9IHBhY2tfYml0bWFwX2ZpbGVuYW1lKHBhY2tmaWxlKTsKLQlmZCA9IGdpdF9vcGVuX25vYXRpbWUoaWR4X25hbWUpOworCWZkID0gZ2l0X29wZW4oaWR4X25hbWUpOwogCWZyZWUoaWR4X25hbWUpOwogCiAJaWYgKGZkIDwgMCkKZGlmZiAtLWdpdCBhL3BhY2stY2hlY2suYyBiL3BhY2stY2hlY2suYwppbmRleCAxZGE4OWE0Li4yN2Y3MGQzIDEwMDY0NAotLS0gYS9wYWNrLWNoZWNrLmMKKysrIGIvcGFjay1jaGVjay5jCkBAIC01NywxMSArNTcsOCBAQAogCWludCBlcnIgPSAwOwogCXN0cnVjdCBpZHhfZW50cnkgKmVudHJpZXM7CiAKLQkvKiBOb3RlIHRoYXQgdGhlIHBhY2sgaGVhZGVyIGNoZWNrcyBhcmUgYWN0dWFsbHkgcGVyZm9ybWVkIGJ5Ci0JICogdXNlX3BhY2sgd2hlbiBpdCBmaXJzdCBvcGVucyB0aGUgcGFjayBmaWxlLiAgSWYgYW55dGhpbmcKLQkgKiBnb2VzIHdyb25nIGR1cmluZyB0aG9zZSBjaGVja3MgdGhlbiB0aGUgY2FsbCB3aWxsIGRpZSBvdXQKLQkgKiBpbW1lZGlhdGVseS4KLQkgKi8KKwlpZiAoIWlzX3BhY2tfdmFsaWQocCkpCisJCXJldHVybiBlcnJvcigicGFja2ZpbGUgJXMgY2Fubm90IGJlIGFjY2Vzc2VkIiwgcC0+cGFja19uYW1lKTsKIAogCWdpdF9TSEExX0luaXQoJmN0eCk7CiAJZG8gewpAQCAtOTksMTIgKzk2LDE0IEBACiAJCWVudHJpZXNbaV0ub2Zmc2V0ID0gbnRoX3BhY2tlZF9vYmplY3Rfb2Zmc2V0KHAsIGkpOwogCQllbnRyaWVzW2ldLm5yID0gaTsKIAl9Ci0JcXNvcnQoZW50cmllcywgbnJfb2JqZWN0cywgc2l6ZW9mKCplbnRyaWVzKSwgY29tcGFyZV9lbnRyaWVzKTsKKwlRU09SVChlbnRyaWVzLCBucl9vYmplY3RzLCBjb21wYXJlX2VudHJpZXMpOwogCiAJZm9yIChpID0gMDsgaSA8IG5yX29iamVjdHM7IGkrKykgewogCQl2b2lkICpkYXRhOwogCQllbnVtIG9iamVjdF90eXBlIHR5cGU7CiAJCXVuc2lnbmVkIGxvbmcgc2l6ZTsKKwkJb2ZmX3QgY3VycG9zOworCQlpbnQgZGF0YV92YWxpZDsKIAogCQlpZiAocC0+aW5kZXhfdmVyc2lvbiA+IDEpIHsKIAkJCW9mZl90IG9mZnNldCA9IGVudHJpZXNbaV0ub2Zmc2V0OwpAQCAtMTE2LDggKzExNSwyNSBAQAogCQkJCQkgICAgc2hhMV90b19oZXgoZW50cmllc1tpXS5zaGExKSwKIAkJCQkJICAgIHAtPnBhY2tfbmFtZSwgKHVpbnRtYXhfdClvZmZzZXQpOwogCQl9Ci0JCWRhdGEgPSB1bnBhY2tfZW50cnkocCwgZW50cmllc1tpXS5vZmZzZXQsICZ0eXBlLCAmc2l6ZSk7Ci0JCWlmICghZGF0YSkKKworCQljdXJwb3MgPSBlbnRyaWVzW2ldLm9mZnNldDsKKwkJdHlwZSA9IHVucGFja19vYmplY3RfaGVhZGVyKHAsIHdfY3VycywgJmN1cnBvcywgJnNpemUpOworCQl1bnVzZV9wYWNrKHdfY3Vycyk7CisKKwkJaWYgKHR5cGUgPT0gT0JKX0JMT0IgJiYgYmlnX2ZpbGVfdGhyZXNob2xkIDw9IHNpemUpIHsKKwkJCS8qCisJCQkgKiBMZXQgY2hlY2tfc2hhMV9zaWduYXR1cmUoKSBjaGVjayBpdCB3aXRoCisJCQkgKiB0aGUgc3RyZWFtaW5nIGludGVyZmFjZTsgbm8gcG9pbnQgc2x1cnBpbmcKKwkJCSAqIHRoZSBkYXRhIGluLWNvcmUgb25seSB0byBkaXNjYXJkLgorCQkJICovCisJCQlkYXRhID0gTlVMTDsKKwkJCWRhdGFfdmFsaWQgPSAwOworCQl9IGVsc2UgeworCQkJZGF0YSA9IHVucGFja19lbnRyeShwLCBlbnRyaWVzW2ldLm9mZnNldCwgJnR5cGUsICZzaXplKTsKKwkJCWRhdGFfdmFsaWQgPSAxOworCQl9CisKKwkJaWYgKGRhdGFfdmFsaWQgJiYgIWRhdGEpCiAJCQllcnIgPSBlcnJvcigiY2Fubm90IHVucGFjayAlcyBmcm9tICVzIGF0IG9mZnNldCAlIlBSSXVNQVgiIiwKIAkJCQkgICAgc2hhMV90b19oZXgoZW50cmllc1tpXS5zaGExKSwgcC0+cGFja19uYW1lLAogCQkJCSAgICAodWludG1heF90KWVudHJpZXNbaV0ub2Zmc2V0KTsKZGlmZiAtLWdpdCBhL3BhY2stb2JqZWN0cy5oIGIvcGFjay1vYmplY3RzLmgKaW5kZXggZDFiOThiMy4uY2M5YjlhOSAxMDA2NDQKLS0tIGEvcGFjay1vYmplY3RzLmgKKysrIGIvcGFjay1vYmplY3RzLmgKQEAgLTI3LDYgKzI3LDE1IEBACiAJdW5zaWduZWQgbm9fdHJ5X2RlbHRhOjE7CiAJdW5zaWduZWQgdGFnZ2VkOjE7IC8qIG5lYXIgdGhlIHZlcnkgdGlwIG9mIHJlZnMgKi8KIAl1bnNpZ25lZCBmaWxsZWQ6MTsgLyogYXNzaWduZWQgd3JpdGUtb3JkZXIgKi8KKworCS8qCisJICogU3RhdGUgZmxhZ3MgZm9yIGRlcHRoLWZpcnN0IHNlYXJjaCB1c2VkIGZvciBhbmFseXppbmcgZGVsdGEgY3ljbGVzLgorCSAqLworCWVudW0geworCQlERlNfTk9ORSA9IDAsCisJCURGU19BQ1RJVkUsCisJCURGU19ET05FCisJfSBkZnNfc3RhdGU7CiB9OwogCiBzdHJ1Y3QgcGFja2luZ19kYXRhIHsKZGlmZiAtLWdpdCBhL3BhY2stcmV2aW5kZXguYyBiL3BhY2stcmV2aW5kZXguYwppbmRleCA5NmQ1MWMzLi42YmM3Yzk0IDEwMDY0NAotLS0gYS9wYWNrLXJldmluZGV4LmMKKysrIGIvcGFjay1yZXZpbmRleC5jCkBAIC0xMDcsNyArMTA3LDcgQEAKIAkgKiB3ZSBoYXZlIHRvIG1vdmUgaXQgYmFjayBmcm9tIHRoZSB0ZW1wb3Jhcnkgc3RvcmFnZS4KIAkgKi8KIAlpZiAoZnJvbSAhPSBlbnRyaWVzKQotCQltZW1jcHkoZW50cmllcywgdG1wLCBuICogc2l6ZW9mKCplbnRyaWVzKSk7CisJCUNPUFlfQVJSQVkoZW50cmllcywgdG1wLCBuKTsKIAlmcmVlKHRtcCk7CiAJZnJlZShwb3MpOwogCmRpZmYgLS1naXQgYS9wYWNrLXdyaXRlLmMgYi9wYWNrLXdyaXRlLmMKaW5kZXggMzMyOTNjZS4uODhiYzdmOSAxMDA2NDQKLS0tIGEvcGFjay13cml0ZS5jCisrKyBiL3BhY2std3JpdGUuYwpAQCAtNjEsOCArNjEsNyBAQAogCQkJaWYgKG9iamVjdHNbaV0tPm9mZnNldCA+IGxhc3Rfb2JqX29mZnNldCkKIAkJCQlsYXN0X29ial9vZmZzZXQgPSBvYmplY3RzW2ldLT5vZmZzZXQ7CiAJCX0KLQkJcXNvcnQoc29ydGVkX2J5X3NoYSwgbnJfb2JqZWN0cywgc2l6ZW9mKHNvcnRlZF9ieV9zaGFbMF0pLAotCQkgICAgICBzaGExX2NvbXBhcmUpOworCQlRU09SVChzb3J0ZWRfYnlfc2hhLCBucl9vYmplY3RzLCBzaGExX2NvbXBhcmUpOwogCX0KIAllbHNlCiAJCXNvcnRlZF9ieV9zaGEgPSBsaXN0ID0gbGFzdCA9IE5VTEw7CkBAIC0zNTQsNyArMzUzLDYgQEAKIAkJZGllX2Vycm5vKCJ1bmFibGUgdG8gbWFrZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSByZWFkYWJsZSIpOwogCiAJc3RyYnVmX2FkZGYobmFtZV9idWZmZXIsICIlcy5wYWNrIiwgc2hhMV90b19oZXgoc2hhMSkpOwotCWZyZWVfcGFja19ieV9uYW1lKG5hbWVfYnVmZmVyLT5idWYpOwogCiAJaWYgKHJlbmFtZShwYWNrX3RtcF9uYW1lLCBuYW1lX2J1ZmZlci0+YnVmKSkKIAkJZGllX2Vycm5vKCJ1bmFibGUgdG8gcmVuYW1lIHRlbXBvcmFyeSBwYWNrIGZpbGUiKTsKZGlmZiAtLWdpdCBhL3BhY2suaCBiL3BhY2suaAppbmRleCAzMjIzZjVhLi4wZTc3NDI5IDEwMDY0NAotLS0gYS9wYWNrLmgKKysrIGIvcGFjay5oCkBAIC03NCw2ICs3NCw3IEBACiAKIAogc3RydWN0IHByb2dyZXNzOworLyogTm90ZSwgdGhlIGRhdGEgYXJndW1lbnQgY291bGQgYmUgTlVMTCBpZiBvYmplY3QgdHlwZSBpcyBibG9iICovCiB0eXBlZGVmIGludCAoKnZlcmlmeV9mbikoY29uc3QgdW5zaWduZWQgY2hhciosIGVudW0gb2JqZWN0X3R5cGUsIHVuc2lnbmVkIGxvbmcsIHZvaWQqLCBpbnQqKTsKIAogZXh0ZXJuIGNvbnN0IGNoYXIgKndyaXRlX2lkeF9maWxlKGNvbnN0IGNoYXIgKmluZGV4X25hbWUsIHN0cnVjdCBwYWNrX2lkeF9lbnRyeSAqKm9iamVjdHMsIGludCBucl9vYmplY3RzLCBjb25zdCBzdHJ1Y3QgcGFja19pZHhfb3B0aW9uICosIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOwpkaWZmIC0tZ2l0IGEvcGFnZXIuYyBiL3BhZ2VyLmMKaW5kZXggNGJjMDQ4MS4uYWU3OTY0MyAxMDA2NDQKLS0tIGEvcGFnZXIuYworKysgYi9wYWdlci5jCkBAIC02LDEyICs2LDggQEAKICNkZWZpbmUgREVGQVVMVF9QQUdFUiAibGVzcyIKICNlbmRpZgogCi0vKgotICogVGhpcyBpcyBzcGxpdCB1cCBmcm9tIHRoZSByZXN0IG9mIGdpdCBzbyB0aGF0IHdlIGNhbiBkbwotICogc29tZXRoaW5nIGRpZmZlcmVudCBvbiBXaW5kb3dzLgotICovCi0KIHN0YXRpYyBzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBwYWdlcl9wcm9jZXNzID0gQ0hJTERfUFJPQ0VTU19JTklUOworc3RhdGljIGNvbnN0IGNoYXIgKnBhZ2VyX3Byb2dyYW07CiAKIHN0YXRpYyB2b2lkIHdhaXRfZm9yX3BhZ2VyKGludCBpbl9zaWduYWwpCiB7CkBAIC00MCw2ICszNiw0NCBAQAogCXJhaXNlKHNpZ25vKTsKIH0KIAorc3RhdGljIGludCBjb3JlX3BhZ2VyX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpkYXRhKQoreworCWlmICghc3RyY21wKHZhciwgImNvcmUucGFnZXIiKSkKKwkJcmV0dXJuIGdpdF9jb25maWdfc3RyaW5nKCZwYWdlcl9wcm9ncmFtLCB2YXIsIHZhbHVlKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgcmVhZF9lYXJseV9jb25maWcoY29uZmlnX2ZuX3QgY2IsIHZvaWQgKmRhdGEpCit7CisJZ2l0X2NvbmZpZ193aXRoX29wdGlvbnMoY2IsIGRhdGEsIE5VTEwsIDEpOworCisJLyoKKwkgKiBOb3RlIHRoYXQgdGhpcyBpcyBhIHJlYWxseSBkaXJ0eSBoYWNrIHRoYXQgZG9lcyB0aGUgd3JvbmcgdGhpbmcgaW4KKwkgKiBtYW55IGNhc2VzLiBUaGUgY3J1eCBvZiB0aGUgcHJvYmxlbSBpcyB0aGF0IHdlIGNhbm5vdCBydW4KKwkgKiBzZXR1cF9naXRfZGlyZWN0b3J5KCkgZWFybHkgb24gaW4gZ2l0J3Mgc2V0dXAsIHNvIHdlIGhhdmUgbm8gaWRlYSBpZgorCSAqIHdlIGFyZSBpbiBhIHJlcG9zaXRvcnkgb3Igbm90LCBhbmQgdGhlcmVmb3JlIGFyZSBub3Qgc3VyZSB3aGV0aGVyCisJICogYW5kIGhvdyB0byByZWFkIHJlcG9zaXRvcnktbG9jYWwgY29uZmlnLgorCSAqCisJICogU28gaWYgd2UgX2FyZW4ndF8gaW4gYSByZXBvc2l0b3J5IChvciB3ZSBhcmUgYnV0IHdlIHdvdWxkIHJlamVjdCBpdHMKKwkgKiBjb3JlLnJlcG9zaXRvcnlmb3JtYXR2ZXJzaW9uKSwgd2UnbGwgcmVhZCB3aGF0ZXZlciBpcyBpbiAuZ2l0L2NvbmZpZworCSAqIGJsaW5kbHkuIFNpbWlsYXJseSwgaWYgd2UgX2FyZV8gaW4gYSByZXBvc2l0b3J5LCBidXQgbm90IGF0IHRoZQorCSAqIHJvb3QsIHdlJ2xsIGZhaWwgdG8gZmluZCAuZ2l0L2NvbmZpZyAoYmVjYXVzZSBpdCdzIHJlYWxseQorCSAqIC4uLy5naXQvY29uZmlnLCBldGMpLiBTZWUgdDcwMDYgZm9yIGEgY29tcGxldGUgc2V0IG9mIGZhaWx1cmVzLgorCSAqCisJICogSG93ZXZlciwgd2UgaGF2ZSBoaXN0b3JpY2FsbHkgcHJvdmlkZWQgdGhpcyBoYWNrIGJlY2F1c2UgaXQgZG9lcworCSAqIHdvcmsgc29tZSBvZiB0aGUgdGltZSAobmFtZWx5IHdoZW4geW91IGFyZSBhdCB0aGUgdG9wLWxldmVsIG9mIGEKKwkgKiB2YWxpZCByZXBvc2l0b3J5KSwgYW5kIHdvdWxkIHJhcmVseSBtYWtlIHRoaW5ncyB3b3JzZSAoaS5lLiwgeW91IGRvCisJICogbm90IGdlbmVyYWxseSBoYXZlIGEgLmdpdC9jb25maWcgZmlsZSBzaXR0aW5nIGFyb3VuZCkuCisJICovCisJaWYgKCFzdGFydHVwX2luZm8tPmhhdmVfcmVwb3NpdG9yeSkgeworCQlzdHJ1Y3QgZ2l0X2NvbmZpZ19zb3VyY2UgcmVwb19jb25maWc7CisKKwkJbWVtc2V0KCZyZXBvX2NvbmZpZywgMCwgc2l6ZW9mKHJlcG9fY29uZmlnKSk7CisJCXJlcG9fY29uZmlnLmZpbGUgPSAiLmdpdC9jb25maWciOworCQlnaXRfY29uZmlnX3dpdGhfb3B0aW9ucyhjYiwgZGF0YSwgJnJlcG9fY29uZmlnLCAxKTsKKwl9Cit9CisKIGNvbnN0IGNoYXIgKmdpdF9wYWdlcihpbnQgc3Rkb3V0X2lzX3R0eSkKIHsKIAljb25zdCBjaGFyICpwYWdlcjsKQEAgLTUwLDcgKzg0LDcgQEAKIAlwYWdlciA9IGdldGVudigiR0lUX1BBR0VSIik7CiAJaWYgKCFwYWdlcikgewogCQlpZiAoIXBhZ2VyX3Byb2dyYW0pCi0JCQlnaXRfY29uZmlnKGdpdF9kZWZhdWx0X2NvbmZpZywgTlVMTCk7CisJCQlyZWFkX2Vhcmx5X2NvbmZpZyhjb3JlX3BhZ2VyX2NvbmZpZywgTlVMTCk7CiAJCXBhZ2VyID0gcGFnZXJfcHJvZ3JhbTsKIAl9CiAJaWYgKCFwYWdlcikKQEAgLTYzLDE0ICs5NywzOCBAQAogCXJldHVybiBwYWdlcjsKIH0KIAorc3RhdGljIHZvaWQgc2V0dXBfcGFnZXJfZW52KHN0cnVjdCBhcmd2X2FycmF5ICplbnYpCit7CisJY29uc3QgY2hhciAqKmFyZ3Y7CisJaW50IGk7CisJY2hhciAqcGFnZXJfZW52ID0geHN0cmR1cChQQUdFUl9FTlYpOworCWludCBuID0gc3BsaXRfY21kbGluZShwYWdlcl9lbnYsICZhcmd2KTsKKworCWlmIChuIDwgMCkKKwkJZGllKCJtYWxmb3JtZWQgYnVpbGQtdGltZSBQQUdFUl9FTlY6ICVzIiwKKwkJCXNwbGl0X2NtZGxpbmVfc3RyZXJyb3IobikpOworCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykgeworCQljaGFyICpjcCA9IHN0cmNocihhcmd2W2ldLCAnPScpOworCisJCWlmICghY3ApCisJCQlkaWUoIm1hbGZvcm1lZCBidWlsZC10aW1lIFBBR0VSX0VOViIpOworCisJCSpjcCA9ICdcMCc7CisJCWlmICghZ2V0ZW52KGFyZ3ZbaV0pKSB7CisJCQkqY3AgPSAnPSc7CisJCQlhcmd2X2FycmF5X3B1c2goZW52LCBhcmd2W2ldKTsKKwkJfQorCX0KKwlmcmVlKHBhZ2VyX2Vudik7CisJZnJlZShhcmd2KTsKK30KKwogdm9pZCBwcmVwYXJlX3BhZ2VyX2FyZ3Moc3RydWN0IGNoaWxkX3Byb2Nlc3MgKnBhZ2VyX3Byb2Nlc3MsIGNvbnN0IGNoYXIgKnBhZ2VyKQogewogCWFyZ3ZfYXJyYXlfcHVzaCgmcGFnZXJfcHJvY2Vzcy0+YXJncywgcGFnZXIpOwogCXBhZ2VyX3Byb2Nlc3MtPnVzZV9zaGVsbCA9IDE7Ci0JaWYgKCFnZXRlbnYoIkxFU1MiKSkKLQkJYXJndl9hcnJheV9wdXNoKCZwYWdlcl9wcm9jZXNzLT5lbnZfYXJyYXksICJMRVNTPUZSWCIpOwotCWlmICghZ2V0ZW52KCJMViIpKQotCQlhcmd2X2FycmF5X3B1c2goJnBhZ2VyX3Byb2Nlc3MtPmVudl9hcnJheSwgIkxWPS1jIik7CisJc2V0dXBfcGFnZXJfZW52KCZwYWdlcl9wcm9jZXNzLT5lbnZfYXJyYXkpOwogfQogCiB2b2lkIHNldHVwX3BhZ2VyKHZvaWQpCkBAIC0xNTYsMjMgKzIxNCw0MiBAQAogCXJldHVybiB3aWR0aDsKIH0KIAorc3RydWN0IHBhZ2VyX2NvbW1hbmRfY29uZmlnX2RhdGEgeworCWNvbnN0IGNoYXIgKmNtZDsKKwlpbnQgd2FudDsKKwljaGFyICp2YWx1ZTsKK307CisKK3N0YXRpYyBpbnQgcGFnZXJfY29tbWFuZF9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqdmRhdGEpCit7CisJc3RydWN0IHBhZ2VyX2NvbW1hbmRfY29uZmlnX2RhdGEgKmRhdGEgPSB2ZGF0YTsKKwljb25zdCBjaGFyICpjbWQ7CisKKwlpZiAoc2tpcF9wcmVmaXgodmFyLCAicGFnZXIuIiwgJmNtZCkgJiYgIXN0cmNtcChjbWQsIGRhdGEtPmNtZCkpIHsKKwkJaW50IGIgPSBnaXRfY29uZmlnX21heWJlX2Jvb2wodmFyLCB2YWx1ZSk7CisJCWlmIChiID49IDApCisJCQlkYXRhLT53YW50ID0gYjsKKwkJZWxzZSB7CisJCQlkYXRhLT53YW50ID0gMTsKKwkJCWRhdGEtPnZhbHVlID0geHN0cmR1cCh2YWx1ZSk7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKwogLyogcmV0dXJucyAwIGZvciAibm8gcGFnZXIiLCAxIGZvciAidXNlIHBhZ2VyIiwgYW5kIC0xIGZvciAibm90IHNwZWNpZmllZCIgKi8KIGludCBjaGVja19wYWdlcl9jb25maWcoY29uc3QgY2hhciAqY21kKQogewotCWludCB3YW50ID0gLTE7Ci0Jc3RydWN0IHN0cmJ1ZiBrZXkgPSBTVFJCVUZfSU5JVDsKLQljb25zdCBjaGFyICp2YWx1ZSA9IE5VTEw7Ci0Jc3RyYnVmX2FkZGYoJmtleSwgInBhZ2VyLiVzIiwgY21kKTsKLQlpZiAoZ2l0X2NvbmZpZ19rZXlfaXNfdmFsaWQoa2V5LmJ1ZikgJiYKLQkgICAgIWdpdF9jb25maWdfZ2V0X3ZhbHVlKGtleS5idWYsICZ2YWx1ZSkpIHsKLQkJaW50IGIgPSBnaXRfY29uZmlnX21heWJlX2Jvb2woa2V5LmJ1ZiwgdmFsdWUpOwotCQlpZiAoYiA+PSAwKQotCQkJd2FudCA9IGI7Ci0JCWVsc2UgewotCQkJd2FudCA9IDE7Ci0JCQlwYWdlcl9wcm9ncmFtID0geHN0cmR1cCh2YWx1ZSk7Ci0JCX0KLQl9Ci0Jc3RyYnVmX3JlbGVhc2UoJmtleSk7Ci0JcmV0dXJuIHdhbnQ7CisJc3RydWN0IHBhZ2VyX2NvbW1hbmRfY29uZmlnX2RhdGEgZGF0YTsKKworCWRhdGEuY21kID0gY21kOworCWRhdGEud2FudCA9IC0xOworCWRhdGEudmFsdWUgPSBOVUxMOworCisJcmVhZF9lYXJseV9jb25maWcocGFnZXJfY29tbWFuZF9jb25maWcsICZkYXRhKTsKKworCWlmIChkYXRhLnZhbHVlKQorCQlwYWdlcl9wcm9ncmFtID0gZGF0YS52YWx1ZTsKKwlyZXR1cm4gZGF0YS53YW50OwogfQpkaWZmIC0tZ2l0IGEvcGFyc2Utb3B0aW9ucy1jYi5jIGIvcGFyc2Utb3B0aW9ucy1jYi5jCmluZGV4IDIzOTg5OGQuLmI3ZDhmN2QgMTAwNjQ0Ci0tLSBhL3BhcnNlLW9wdGlvbnMtY2IuYworKysgYi9wYXJzZS1vcHRpb25zLWNiLmMKQEAgLTExNywxOSArMTE3LDI0IEBACiAJcmV0dXJuIDA7CiB9CiAKLWludCBwYXJzZV9vcHRpb25zX2NvbmNhdChzdHJ1Y3Qgb3B0aW9uICpkc3QsIHNpemVfdCBkc3Rfc2l6ZSwgc3RydWN0IG9wdGlvbiAqc3JjKQorc3RydWN0IG9wdGlvbiAqcGFyc2Vfb3B0aW9uc19jb25jYXQoc3RydWN0IG9wdGlvbiAqYSwgc3RydWN0IG9wdGlvbiAqYikKIHsKLQlpbnQgaSwgajsKKwlzdHJ1Y3Qgb3B0aW9uICpyZXQ7CisJc2l6ZV90IGksIGFfbGVuID0gMCwgYl9sZW4gPSAwOwogCi0JZm9yIChpID0gMDsgaSA8IGRzdF9zaXplOyBpKyspCi0JCWlmIChkc3RbaV0udHlwZSA9PSBPUFRJT05fRU5EKQotCQkJYnJlYWs7Ci0JZm9yIChqID0gMDsgaSA8IGRzdF9zaXplOyBpKyssIGorKykgewotCQlkc3RbaV0gPSBzcmNbal07Ci0JCWlmIChzcmNbal0udHlwZSA9PSBPUFRJT05fRU5EKQotCQkJcmV0dXJuIDA7Ci0JfQotCXJldHVybiAtMTsKKwlmb3IgKGkgPSAwOyBhW2ldLnR5cGUgIT0gT1BUSU9OX0VORDsgaSsrKQorCQlhX2xlbisrOworCWZvciAoaSA9IDA7IGJbaV0udHlwZSAhPSBPUFRJT05fRU5EOyBpKyspCisJCWJfbGVuKys7CisKKwlBTExPQ19BUlJBWShyZXQsIHN0X2FkZDMoYV9sZW4sIGJfbGVuLCAxKSk7CisJZm9yIChpID0gMDsgaSA8IGFfbGVuOyBpKyspCisJCXJldFtpXSA9IGFbaV07CisJZm9yIChpID0gMDsgaSA8IGJfbGVuOyBpKyspCisJCXJldFthX2xlbiArIGldID0gYltpXTsKKwlyZXRbYV9sZW4gKyBiX2xlbl0gPSBiW2JfbGVuXTsgLyogZmluYWwgT1BUSU9OX0VORCAqLworCisJcmV0dXJuIHJldDsKIH0KIAogaW50IHBhcnNlX29wdF9zdHJpbmdfbGlzdChjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQpAQCAtMTQ0LDcgKzE0OSw3IEBACiAJaWYgKCFhcmcpCiAJCXJldHVybiAtMTsKIAotCXN0cmluZ19saXN0X2FwcGVuZCh2LCB4c3RyZHVwKGFyZykpOworCXN0cmluZ19saXN0X2FwcGVuZCh2LCBhcmcpOwogCXJldHVybiAwOwogfQogCkBAIC0xNTQsNiArMTU5LDE4IEBACiB9CiAKIC8qKgorICogUmVwb3J0IHRoYXQgdGhlIG9wdGlvbiBpcyB1bmtub3duLCBzbyB0aGF0IG90aGVyIGNvZGUgY2FuIGhhbmRsZQorICogaXQuIFRoaXMgY2FuIGJlIHVzZWQgYXMgYSBjYWxsYmFjayB0b2dldGhlciB3aXRoCisgKiBPUFRJT05fTE9XTEVWRUxfQ0FMTEJBQ0sgdG8gYWxsb3cgYW4gb3B0aW9uIHRvIGJlIGRvY3VtZW50ZWQgaW4gdGhlCisgKiAiLWgiIG91dHB1dCBldmVuIGlmIGl0J3Mgbm90IGJlaW5nIGhhbmRsZWQgZGlyZWN0bHkgYnkKKyAqIHBhcnNlX29wdGlvbnMoKS4KKyAqLworaW50IHBhcnNlX29wdF91bmtub3duX2NiKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJcmV0dXJuIC0yOworfQorCisvKioKICAqIFJlY3JlYXRlcyB0aGUgY29tbWFuZC1saW5lIG9wdGlvbiBpbiB0aGUgc3RyYnVmLgogICovCiBzdGF0aWMgaW50IHJlY3JlYXRlX29wdChzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LApAQCAtMTk0LDggKzIxMSw3IEBACiAJaWYgKHJlY3JlYXRlX29wdCgmc2IsIG9wdCwgYXJnLCB1bnNldCkgPCAwKQogCQlyZXR1cm4gLTE7CiAKLQlpZiAoKm9wdF92YWx1ZSkKLQkJZnJlZSgqb3B0X3ZhbHVlKTsKKwlmcmVlKCpvcHRfdmFsdWUpOwogCiAJKm9wdF92YWx1ZSA9IHN0cmJ1Zl9kZXRhY2goJnNiLCBOVUxMKTsKIApkaWZmIC0tZ2l0IGEvcGFyc2Utb3B0aW9ucy5oIGIvcGFyc2Utb3B0aW9ucy5oCmluZGV4IGVhNGFmOTIuLmRjZDhhMDkgMTAwNjQ0Ci0tLSBhL3BhcnNlLW9wdGlvbnMuaAorKysgYi9wYXJzZS1vcHRpb25zLmgKQEAgLTIxNSw3ICsyMTUsNyBAQAogCiBleHRlcm4gaW50IHBhcnNlX29wdGlvbnNfZW5kKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKmN0eCk7CiAKLWV4dGVybiBpbnQgcGFyc2Vfb3B0aW9uc19jb25jYXQoc3RydWN0IG9wdGlvbiAqZHN0LCBzaXplX3QsIHN0cnVjdCBvcHRpb24gKnNyYyk7CitleHRlcm4gc3RydWN0IG9wdGlvbiAqcGFyc2Vfb3B0aW9uc19jb25jYXQoc3RydWN0IG9wdGlvbiAqYSwgc3RydWN0IG9wdGlvbiAqYik7CiAKIC8qLS0tLS0gc29tZSBvZnRlbiB1c2VkIG9wdGlvbnMgLS0tLS0qLwogZXh0ZXJuIGludCBwYXJzZV9vcHRfYWJicmV2X2NiKGNvbnN0IHN0cnVjdCBvcHRpb24gKiwgY29uc3QgY2hhciAqLCBpbnQpOwpAQCAtMjI4LDYgKzIyOCw3IEBACiBleHRlcm4gaW50IHBhcnNlX29wdF90ZXJ0aWFyeShjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKIGV4dGVybiBpbnQgcGFyc2Vfb3B0X3N0cmluZ19saXN0KGNvbnN0IHN0cnVjdCBvcHRpb24gKiwgY29uc3QgY2hhciAqLCBpbnQpOwogZXh0ZXJuIGludCBwYXJzZV9vcHRfbm9vcF9jYihjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKK2V4dGVybiBpbnQgcGFyc2Vfb3B0X3Vua25vd25fY2IoY29uc3Qgc3RydWN0IG9wdGlvbiAqLCBjb25zdCBjaGFyICosIGludCk7CiBleHRlcm4gaW50IHBhcnNlX29wdF9wYXNzdGhydShjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKIGV4dGVybiBpbnQgcGFyc2Vfb3B0X3Bhc3N0aHJ1X2FyZ3YoY29uc3Qgc3RydWN0IG9wdGlvbiAqLCBjb25zdCBjaGFyICosIGludCk7CiAKZGlmZiAtLWdpdCBhL3BhdGNoLWlkcy5jIGIvcGF0Y2gtaWRzLmMKaW5kZXggYTRkMDAxNi4uY2UyODVjMiAxMDA2NDQKLS0tIGEvcGF0Y2gtaWRzLmMKKysrIGIvcGF0Y2gtaWRzLmMKQEAgLTQsMTAyICs0LDExMSBAQAogI2luY2x1ZGUgInNoYTEtbG9va3VwLmgiCiAjaW5jbHVkZSAicGF0Y2gtaWRzLmgiCiAKLWludCBjb21taXRfcGF0Y2hfaWQoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLAotCQkgICAgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBpbnQgcGF0Y2hfaWRfZGVmaW5lZChzdHJ1Y3QgY29tbWl0ICpjb21taXQpCiB7CisJLyogbXVzdCBiZSAwIG9yIDEgcGFyZW50cyAqLworCXJldHVybiAhY29tbWl0LT5wYXJlbnRzIHx8ICFjb21taXQtPnBhcmVudHMtPm5leHQ7Cit9CisKK2ludCBjb21taXRfcGF0Y2hfaWQoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLAorCQkgICAgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50IGRpZmZfaGVhZGVyX29ubHkpCit7CisJaWYgKCFwYXRjaF9pZF9kZWZpbmVkKGNvbW1pdCkpCisJCXJldHVybiAtMTsKKwogCWlmIChjb21taXQtPnBhcmVudHMpCiAJCWRpZmZfdHJlZV9zaGExKGNvbW1pdC0+cGFyZW50cy0+aXRlbS0+b2JqZWN0Lm9pZC5oYXNoLAogCQkJICAgICAgIGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCAiIiwgb3B0aW9ucyk7CiAJZWxzZQogCQlkaWZmX3Jvb3RfdHJlZV9zaGExKGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCAiIiwgb3B0aW9ucyk7CiAJZGlmZmNvcmVfc3RkKG9wdGlvbnMpOwotCXJldHVybiBkaWZmX2ZsdXNoX3BhdGNoX2lkKG9wdGlvbnMsIHNoYTEpOworCXJldHVybiBkaWZmX2ZsdXNoX3BhdGNoX2lkKG9wdGlvbnMsIHNoYTEsIGRpZmZfaGVhZGVyX29ubHkpOwogfQogCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqcGF0Y2hfaWRfYWNjZXNzKHNpemVfdCBpbmRleCwgdm9pZCAqdGFibGUpCisvKgorICogV2hlbiB3ZSBjYW5ub3QgbG9hZCB0aGUgZnVsbCBwYXRjaC1pZCBmb3IgYm90aCBjb21taXRzIGZvciB3aGF0ZXZlcgorICogcmVhc29uLCB0aGUgZnVuY3Rpb24gcmV0dXJucyAtMSAoaS5lLiByZXR1cm4gZXJyb3IoLi4uKSkuIERlc3BpdGUKKyAqIHRoZSAiY21wIiBpbiB0aGUgbmFtZSBvZiB0aGlzIGZ1bmN0aW9uLCB0aGUgY2FsbGVyIG9ubHkgY2FyZXMgYWJvdXQKKyAqIHRoZSByZXR1cm4gdmFsdWUgYmVpbmcgemVybyAoYSBhbmQgYiBhcmUgZXF1aXZhbGVudCkgb3Igbm9uLXplcm8gKGEKKyAqIGFuZCBiIGFyZSBkaWZmZXJlbnQpLCBhbmQgcmV0dXJuaW5nIG5vbi16ZXJvIHdvdWxkIGtlZXAgYm90aCBpbiB0aGUKKyAqIHJlc3VsdCwgZXZlbiBpZiB0aGV5IGFjdHVhbGx5IHdlcmUgZXF1aXZhbGVudCwgaW4gb3JkZXIgdG8gZXJyIG9uCisgKiB0aGUgc2lkZSBvZiBzYWZldHkuICBUaGUgYWN0dWFsIHZhbHVlIGJlaW5nIG5lZ2F0aXZlIGRvZXMgbm90IGhhdmUKKyAqIGFueSBzaWduaWZpY2FuY2U7IG9ubHkgdGhhdCBpdCBpcyBub24temVybyBtYXR0ZXJzLgorICovCitzdGF0aWMgaW50IHBhdGNoX2lkX2NtcChzdHJ1Y3QgcGF0Y2hfaWQgKmEsCisJCQlzdHJ1Y3QgcGF0Y2hfaWQgKmIsCisJCQlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQpCiB7Ci0Jc3RydWN0IHBhdGNoX2lkICoqaWRfdGFibGUgPSB0YWJsZTsKLQlyZXR1cm4gaWRfdGFibGVbaW5kZXhdLT5wYXRjaF9pZDsKKwlpZiAoaXNfbnVsbF9zaGExKGEtPnBhdGNoX2lkKSAmJgorCSAgICBjb21taXRfcGF0Y2hfaWQoYS0+Y29tbWl0LCBvcHQsIGEtPnBhdGNoX2lkLCAwKSkKKwkJcmV0dXJuIGVycm9yKCJDb3VsZCBub3QgZ2V0IHBhdGNoIElEIGZvciAlcyIsCisJCQlvaWRfdG9faGV4KCZhLT5jb21taXQtPm9iamVjdC5vaWQpKTsKKwlpZiAoaXNfbnVsbF9zaGExKGItPnBhdGNoX2lkKSAmJgorCSAgICBjb21taXRfcGF0Y2hfaWQoYi0+Y29tbWl0LCBvcHQsIGItPnBhdGNoX2lkLCAwKSkKKwkJcmV0dXJuIGVycm9yKCJDb3VsZCBub3QgZ2V0IHBhdGNoIElEIGZvciAlcyIsCisJCQlvaWRfdG9faGV4KCZiLT5jb21taXQtPm9iamVjdC5vaWQpKTsKKwlyZXR1cm4gaGFzaGNtcChhLT5wYXRjaF9pZCwgYi0+cGF0Y2hfaWQpOwogfQogCi1zdGF0aWMgaW50IHBhdGNoX3BvcyhzdHJ1Y3QgcGF0Y2hfaWQgKip0YWJsZSwgaW50IG5yLCBjb25zdCB1bnNpZ25lZCBjaGFyICppZCkKLXsKLQlyZXR1cm4gc2hhMV9wb3MoaWQsIHRhYmxlLCBuciwgcGF0Y2hfaWRfYWNjZXNzKTsKLX0KLQotI2RlZmluZSBCVUNLRVRfU0laRSAxOTAgLyogMTkwICogMjEgPSAzOTkwLCB3aXRoIHNsb3AgY2xvc2UgZW5vdWdoIHRvIDRLICovCi1zdHJ1Y3QgcGF0Y2hfaWRfYnVja2V0IHsKLQlzdHJ1Y3QgcGF0Y2hfaWRfYnVja2V0ICpuZXh0OwotCWludCBucjsKLQlzdHJ1Y3QgcGF0Y2hfaWQgYnVja2V0W0JVQ0tFVF9TSVpFXTsKLX07Ci0KIGludCBpbml0X3BhdGNoX2lkcyhzdHJ1Y3QgcGF0Y2hfaWRzICppZHMpCiB7CiAJbWVtc2V0KGlkcywgMCwgc2l6ZW9mKCppZHMpKTsKIAlkaWZmX3NldHVwKCZpZHMtPmRpZmZvcHRzKTsKKwlpZHMtPmRpZmZvcHRzLmRldGVjdF9yZW5hbWUgPSAwOwogCURJRkZfT1BUX1NFVCgmaWRzLT5kaWZmb3B0cywgUkVDVVJTSVZFKTsKIAlkaWZmX3NldHVwX2RvbmUoJmlkcy0+ZGlmZm9wdHMpOworCWhhc2htYXBfaW5pdCgmaWRzLT5wYXRjaGVzLCAoaGFzaG1hcF9jbXBfZm4pcGF0Y2hfaWRfY21wLCAyNTYpOwogCXJldHVybiAwOwogfQogCiBpbnQgZnJlZV9wYXRjaF9pZHMoc3RydWN0IHBhdGNoX2lkcyAqaWRzKQogewotCXN0cnVjdCBwYXRjaF9pZF9idWNrZXQgKm5leHQsICpwYXRjaGVzOwotCi0JZnJlZShpZHMtPnRhYmxlKTsKLQlmb3IgKHBhdGNoZXMgPSBpZHMtPnBhdGNoZXM7IHBhdGNoZXM7IHBhdGNoZXMgPSBuZXh0KSB7Ci0JCW5leHQgPSBwYXRjaGVzLT5uZXh0OwotCQlmcmVlKHBhdGNoZXMpOwotCX0KKwloYXNobWFwX2ZyZWUoJmlkcy0+cGF0Y2hlcywgMSk7CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgcGF0Y2hfaWQgKmFkZF9jb21taXQoc3RydWN0IGNvbW1pdCAqY29tbWl0LAotCQkJCSAgIHN0cnVjdCBwYXRjaF9pZHMgKmlkcywKLQkJCQkgICBpbnQgbm9fYWRkKQorc3RhdGljIGludCBpbml0X3BhdGNoX2lkX2VudHJ5KHN0cnVjdCBwYXRjaF9pZCAqcGF0Y2gsCisJCQkgICAgICAgc3RydWN0IGNvbW1pdCAqY29tbWl0LAorCQkJICAgICAgIHN0cnVjdCBwYXRjaF9pZHMgKmlkcykKIHsKLQlzdHJ1Y3QgcGF0Y2hfaWRfYnVja2V0ICpidWNrZXQ7Ci0Jc3RydWN0IHBhdGNoX2lkICplbnQ7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQlpbnQgcG9zOworCXVuc2lnbmVkIGNoYXIgaGVhZGVyX29ubHlfcGF0Y2hfaWRbR0lUX1NIQTFfUkFXU1pdOwogCi0JaWYgKGNvbW1pdF9wYXRjaF9pZChjb21taXQsICZpZHMtPmRpZmZvcHRzLCBzaGExKSkKLQkJcmV0dXJuIE5VTEw7Ci0JcG9zID0gcGF0Y2hfcG9zKGlkcy0+dGFibGUsIGlkcy0+bnIsIHNoYTEpOwotCWlmICgwIDw9IHBvcykKLQkJcmV0dXJuIGlkcy0+dGFibGVbcG9zXTsKLQlpZiAobm9fYWRkKQotCQlyZXR1cm4gTlVMTDsKKwlwYXRjaC0+Y29tbWl0ID0gY29tbWl0OworCWlmIChjb21taXRfcGF0Y2hfaWQoY29tbWl0LCAmaWRzLT5kaWZmb3B0cywgaGVhZGVyX29ubHlfcGF0Y2hfaWQsIDEpKQorCQlyZXR1cm4gLTE7CiAKLQlwb3MgPSAtMSAtIHBvczsKLQotCWJ1Y2tldCA9IGlkcy0+cGF0Y2hlczsKLQlpZiAoIWJ1Y2tldCB8fCAoQlVDS0VUX1NJWkUgPD0gYnVja2V0LT5ucikpIHsKLQkJYnVja2V0ID0geGNhbGxvYygxLCBzaXplb2YoKmJ1Y2tldCkpOwotCQlidWNrZXQtPm5leHQgPSBpZHMtPnBhdGNoZXM7Ci0JCWlkcy0+cGF0Y2hlcyA9IGJ1Y2tldDsKLQl9Ci0JZW50ID0gJmJ1Y2tldC0+YnVja2V0W2J1Y2tldC0+bnIrK107Ci0JaGFzaGNweShlbnQtPnBhdGNoX2lkLCBzaGExKTsKLQotCUFMTE9DX0dST1coaWRzLT50YWJsZSwgaWRzLT5uciArIDEsIGlkcy0+YWxsb2MpOwotCWlmIChwb3MgPCBpZHMtPm5yKQotCQltZW1tb3ZlKGlkcy0+dGFibGUgKyBwb3MgKyAxLCBpZHMtPnRhYmxlICsgcG9zLAotCQkJc2l6ZW9mKGVudCkgKiAoaWRzLT5uciAtIHBvcykpOwotCWlkcy0+bnIrKzsKLQlpZHMtPnRhYmxlW3Bvc10gPSBlbnQ7Ci0JcmV0dXJuIGlkcy0+dGFibGVbcG9zXTsKKwloYXNobWFwX2VudHJ5X2luaXQocGF0Y2gsIHNoYTFoYXNoKGhlYWRlcl9vbmx5X3BhdGNoX2lkKSk7CisJcmV0dXJuIDA7CiB9CiAKIHN0cnVjdCBwYXRjaF9pZCAqaGFzX2NvbW1pdF9wYXRjaF9pZChzdHJ1Y3QgY29tbWl0ICpjb21taXQsCiAJCQkJICAgICBzdHJ1Y3QgcGF0Y2hfaWRzICppZHMpCiB7Ci0JcmV0dXJuIGFkZF9jb21taXQoY29tbWl0LCBpZHMsIDEpOworCXN0cnVjdCBwYXRjaF9pZCBwYXRjaDsKKworCWlmICghcGF0Y2hfaWRfZGVmaW5lZChjb21taXQpKQorCQlyZXR1cm4gTlVMTDsKKworCW1lbXNldCgmcGF0Y2gsIDAsIHNpemVvZihwYXRjaCkpOworCWlmIChpbml0X3BhdGNoX2lkX2VudHJ5KCZwYXRjaCwgY29tbWl0LCBpZHMpKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiBoYXNobWFwX2dldCgmaWRzLT5wYXRjaGVzLCAmcGF0Y2gsICZpZHMtPmRpZmZvcHRzKTsKIH0KIAogc3RydWN0IHBhdGNoX2lkICphZGRfY29tbWl0X3BhdGNoX2lkKHN0cnVjdCBjb21taXQgKmNvbW1pdCwKIAkJCQkgICAgIHN0cnVjdCBwYXRjaF9pZHMgKmlkcykKIHsKLQlyZXR1cm4gYWRkX2NvbW1pdChjb21taXQsIGlkcywgMCk7CisJc3RydWN0IHBhdGNoX2lkICprZXkgPSB4Y2FsbG9jKDEsIHNpemVvZigqa2V5KSk7CisKKwlpZiAoIXBhdGNoX2lkX2RlZmluZWQoY29tbWl0KSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoaW5pdF9wYXRjaF9pZF9lbnRyeShrZXksIGNvbW1pdCwgaWRzKSkgeworCQlmcmVlKGtleSk7CisJCXJldHVybiBOVUxMOworCX0KKworCWhhc2htYXBfYWRkKCZpZHMtPnBhdGNoZXMsIGtleSk7CisJcmV0dXJuIGtleTsKIH0KZGlmZiAtLWdpdCBhL3BhdGNoLWlkcy5oIGIvcGF0Y2gtaWRzLmgKaW5kZXggZWViNTZiMy4uMGYzNGVhMSAxMDA2NDQKLS0tIGEvcGF0Y2gtaWRzLmgKKysrIGIvcGF0Y2gtaWRzLmgKQEAgLTIsMTkgKzIsMTggQEAKICNkZWZpbmUgUEFUQ0hfSURTX0gKIAogc3RydWN0IHBhdGNoX2lkIHsKLQl1bnNpZ25lZCBjaGFyIHBhdGNoX2lkWzIwXTsKLQljaGFyIHNlZW47CisJc3RydWN0IGhhc2htYXBfZW50cnkgZW50OworCXVuc2lnbmVkIGNoYXIgcGF0Y2hfaWRbR0lUX1NIQTFfUkFXU1pdOworCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKIH07CiAKIHN0cnVjdCBwYXRjaF9pZHMgeworCXN0cnVjdCBoYXNobWFwIHBhdGNoZXM7CiAJc3RydWN0IGRpZmZfb3B0aW9ucyBkaWZmb3B0czsKLQlpbnQgbnIsIGFsbG9jOwotCXN0cnVjdCBwYXRjaF9pZCAqKnRhYmxlOwotCXN0cnVjdCBwYXRjaF9pZF9idWNrZXQgKnBhdGNoZXM7CiB9OwogCiBpbnQgY29tbWl0X3BhdGNoX2lkKHN0cnVjdCBjb21taXQgKmNvbW1pdCwgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywKLQkJICAgIHVuc2lnbmVkIGNoYXIgKnNoYTEpOworCQkgICAgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50KTsKIGludCBpbml0X3BhdGNoX2lkcyhzdHJ1Y3QgcGF0Y2hfaWRzICopOwogaW50IGZyZWVfcGF0Y2hfaWRzKHN0cnVjdCBwYXRjaF9pZHMgKik7CiBzdHJ1Y3QgcGF0Y2hfaWQgKmFkZF9jb21taXRfcGF0Y2hfaWQoc3RydWN0IGNvbW1pdCAqLCBzdHJ1Y3QgcGF0Y2hfaWRzICopOwpkaWZmIC0tZ2l0IGEvcGF0aC5jIGIvcGF0aC5jCmluZGV4IDI1OWFlZWQuLjUyZDg4OWMgMTAwNjQ0Ci0tLSBhL3BhdGguYworKysgYi9wYXRoLmMKQEAgLTYsNiArNiw3IEBACiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJ3b3JrdHJlZS5oIgorI2luY2x1ZGUgInN1Ym1vZHVsZS1jb25maWcuaCIKIAogc3RhdGljIGludCBnZXRfc3RfbW9kZV9iaXRzKGNvbnN0IGNoYXIgKnBhdGgsIGludCAqbW9kZSkKIHsKQEAgLTI0LDcgKzI1LDggQEAKIAkJU1RSQlVGX0lOSVQsIFNUUkJVRl9JTklULCBTVFJCVUZfSU5JVCwgU1RSQlVGX0lOSVQKIAl9OwogCXN0YXRpYyBpbnQgaW5kZXg7Ci0Jc3RydWN0IHN0cmJ1ZiAqc2IgPSAmcGF0aG5hbWVfYXJyYXlbMyAmICsraW5kZXhdOworCXN0cnVjdCBzdHJidWYgKnNiID0gJnBhdGhuYW1lX2FycmF5W2luZGV4XTsKKwlpbmRleCA9IChpbmRleCArIDEpICUgQVJSQVlfU0laRShwYXRobmFtZV9hcnJheSk7CiAJc3RyYnVmX3Jlc2V0KHNiKTsKIAlyZXR1cm4gc2I7CiB9CkBAIC0zODAsNiArMzgyLDggQEAKIAkJCSAgICAgIGdldF9pbmRleF9maWxlKCksIHN0cmxlbihnZXRfaW5kZXhfZmlsZSgpKSk7CiAJZWxzZSBpZiAoZ2l0X2RiX2VudiAmJiBkaXJfcHJlZml4KGJhc2UsICJvYmplY3RzIikpCiAJCXJlcGxhY2VfZGlyKGJ1ZiwgZ2l0X2Rpcl9sZW4gKyA3LCBnZXRfb2JqZWN0X2RpcmVjdG9yeSgpKTsKKwllbHNlIGlmIChnaXRfaG9va3NfcGF0aCAmJiBkaXJfcHJlZml4KGJhc2UsICJob29rcyIpKQorCQlyZXBsYWNlX2RpcihidWYsIGdpdF9kaXJfbGVuICsgNSwgZ2l0X2hvb2tzX3BhdGgpOwogCWVsc2UgaWYgKGdpdF9jb21tb25fZGlyX2VudikKIAkJdXBkYXRlX2NvbW1vbl9kaXIoYnVmLCBnaXRfZGlyX2xlbiwgTlVMTCk7CiB9CkBAIC00NjYsMTIgKzQ3MCwxNiBAQAogCXJldHVybiBwYXRobmFtZS0+YnVmOwogfQogCi1zdGF0aWMgdm9pZCBkb19zdWJtb2R1bGVfcGF0aChzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IGNoYXIgKnBhdGgsCi0JCQkgICAgICBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXJncykKKy8qIFJldHVybnMgMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBvbiBmYWlsdXJlLiAqLworI2RlZmluZSBTVUJNT0RVTEVfUEFUSF9FUlJfTk9UX0NPTkZJR1VSRUQgLTEKK3N0YXRpYyBpbnQgZG9fc3VibW9kdWxlX3BhdGgoc3RydWN0IHN0cmJ1ZiAqYnVmLCBjb25zdCBjaGFyICpwYXRoLAorCQkJICAgICBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXJncykKIHsKIAljb25zdCBjaGFyICpnaXRfZGlyOwogCXN0cnVjdCBzdHJidWYgZ2l0X3N1Ym1vZHVsZV9jb21tb25fZGlyID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiBnaXRfc3VibW9kdWxlX2RpciA9IFNUUkJVRl9JTklUOworCWNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKnN1YjsKKwlpbnQgZXJyID0gMDsKIAogCXN0cmJ1Zl9hZGRzdHIoYnVmLCBwYXRoKTsKIAlzdHJidWZfY29tcGxldGUoYnVmLCAnLycpOwpAQCAtNDgyLDggKzQ5MCwxOSBAQAogCQlzdHJidWZfcmVzZXQoYnVmKTsKIAkJc3RyYnVmX2FkZHN0cihidWYsIGdpdF9kaXIpOwogCX0KKwlpZiAoIWlzX2dpdF9kaXJlY3RvcnkoYnVmLT5idWYpKSB7CisJCWdpdG1vZHVsZXNfY29uZmlnKCk7CisJCXN1YiA9IHN1Ym1vZHVsZV9mcm9tX3BhdGgobnVsbF9zaGExLCBwYXRoKTsKKwkJaWYgKCFzdWIpIHsKKwkJCWVyciA9IFNVQk1PRFVMRV9QQVRIX0VSUl9OT1RfQ09ORklHVVJFRDsKKwkJCWdvdG8gY2xlYW51cDsKKwkJfQorCQlzdHJidWZfcmVzZXQoYnVmKTsKKwkJc3RyYnVmX2dpdF9wYXRoKGJ1ZiwgIiVzLyVzIiwgIm1vZHVsZXMiLCBzdWItPm5hbWUpOworCX0KKwogCXN0cmJ1Zl9hZGRjaChidWYsICcvJyk7Ci0Jc3RyYnVmX2FkZHN0cigmZ2l0X3N1Ym1vZHVsZV9kaXIsIGJ1Zi0+YnVmKTsKKwlzdHJidWZfYWRkYnVmKCZnaXRfc3VibW9kdWxlX2RpciwgYnVmKTsKIAogCXN0cmJ1Zl92YWRkZihidWYsIGZtdCwgYXJncyk7CiAKQEAgLTQ5MiwyNyArNTExLDM4IEBACiAKIAlzdHJidWZfY2xlYW51cF9wYXRoKGJ1Zik7CiAKK2NsZWFudXA6CiAJc3RyYnVmX3JlbGVhc2UoJmdpdF9zdWJtb2R1bGVfZGlyKTsKIAlzdHJidWZfcmVsZWFzZSgmZ2l0X3N1Ym1vZHVsZV9jb21tb25fZGlyKTsKKworCXJldHVybiBlcnI7CiB9CiAKIGNoYXIgKmdpdF9wYXRoZHVwX3N1Ym1vZHVsZShjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpmbXQsIC4uLikKIHsKKwlpbnQgZXJyOwogCXZhX2xpc3QgYXJnczsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7Ci0JZG9fc3VibW9kdWxlX3BhdGgoJmJ1ZiwgcGF0aCwgZm10LCBhcmdzKTsKKwllcnIgPSBkb19zdWJtb2R1bGVfcGF0aCgmYnVmLCBwYXRoLCBmbXQsIGFyZ3MpOwogCXZhX2VuZChhcmdzKTsKKwlpZiAoZXJyKSB7CisJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOworCQlyZXR1cm4gTlVMTDsKKwl9CiAJcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgTlVMTCk7CiB9CiAKLXZvaWQgc3RyYnVmX2dpdF9wYXRoX3N1Ym1vZHVsZShzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IGNoYXIgKnBhdGgsCi0JCQkgICAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pCitpbnQgc3RyYnVmX2dpdF9wYXRoX3N1Ym1vZHVsZShzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IGNoYXIgKnBhdGgsCisJCQkgICAgICBjb25zdCBjaGFyICpmbXQsIC4uLikKIHsKKwlpbnQgZXJyOwogCXZhX2xpc3QgYXJnczsKIAl2YV9zdGFydChhcmdzLCBmbXQpOwotCWRvX3N1Ym1vZHVsZV9wYXRoKGJ1ZiwgcGF0aCwgZm10LCBhcmdzKTsKKwllcnIgPSBkb19zdWJtb2R1bGVfcGF0aChidWYsIHBhdGgsIGZtdCwgYXJncyk7CiAJdmFfZW5kKGFyZ3MpOworCisJcmV0dXJuIGVycjsKIH0KIAogc3RhdGljIHZvaWQgZG9fZ2l0X2NvbW1vbl9wYXRoKHN0cnVjdCBzdHJidWYgKmJ1ZiwKZGlmZiAtLWdpdCBhL3BhdGhzcGVjLmMgYi9wYXRoc3BlYy5jCmluZGV4IGM5ZTliNmMuLjIyY2E3NGEgMTAwNjQ0Ci0tLSBhL3BhdGhzcGVjLmMKKysrIGIvcGF0aHNwZWMuYwpAQCAtMzY0LDcgKzM2NCw3IEBACiB7CiAJc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW07CiAJY29uc3QgY2hhciAqZW50cnkgPSBhcmd2ID8gKmFyZ3YgOiBOVUxMOwotCWludCBpLCBuLCBwcmVmaXhsZW4sIG5yX2V4Y2x1ZGUgPSAwOworCWludCBpLCBuLCBwcmVmaXhsZW4sIHdhcm5fZW1wdHlfc3RyaW5nLCBucl9leGNsdWRlID0gMDsKIAogCW1lbXNldChwYXRoc3BlYywgMCwgc2l6ZW9mKCpwYXRoc3BlYykpOwogCkBAIC00MDIsOCArNDAyLDE1IEBACiAJfQogCiAJbiA9IDA7Ci0Jd2hpbGUgKGFyZ3Zbbl0pCisJd2Fybl9lbXB0eV9zdHJpbmcgPSAxOworCXdoaWxlIChhcmd2W25dKSB7CisJCWlmICgqYXJndltuXSA9PSAnXDAnICYmIHdhcm5fZW1wdHlfc3RyaW5nKSB7CisJCQl3YXJuaW5nKF8oImVtcHR5IHN0cmluZ3MgYXMgcGF0aHNwZWNzIHdpbGwgYmUgbWFkZSBpbnZhbGlkIGluIHVwY29taW5nIHJlbGVhc2VzLiAiCisJCQkJICAicGxlYXNlIHVzZSAuIGluc3RlYWQgaWYgeW91IG1lYW50IHRvIG1hdGNoIGFsbCBwYXRocyIpKTsKKwkJCXdhcm5fZW1wdHlfc3RyaW5nID0gMDsKKwkJfQogCQluKys7CisJfQogCiAJcGF0aHNwZWMtPm5yID0gbjsKIAlBTExPQ19BUlJBWShwYXRoc3BlYy0+aXRlbXMsIG4pOwpAQCAtNDQ2LDggKzQ1Myw3IEBACiAJaWYgKHBhdGhzcGVjLT5tYWdpYyAmIFBBVEhTUEVDX01BWERFUFRIKSB7CiAJCWlmIChmbGFncyAmIFBBVEhTUEVDX0tFRVBfT1JERVIpCiAJCQlkaWUoIkJVRzogUEFUSFNQRUNfTUFYREVQVEhfVkFMSUQgYW5kIFBBVEhTUEVDX0tFRVBfT1JERVIgYXJlIGluY29tcGF0aWJsZSIpOwotCQlxc29ydChwYXRoc3BlYy0+aXRlbXMsIHBhdGhzcGVjLT5uciwKLQkJICAgICAgc2l6ZW9mKHN0cnVjdCBwYXRoc3BlY19pdGVtKSwgcGF0aHNwZWNfaXRlbV9jbXApOworCQlRU09SVChwYXRoc3BlYy0+aXRlbXMsIHBhdGhzcGVjLT5uciwgcGF0aHNwZWNfaXRlbV9jbXApOwogCX0KIH0KIApAQCAtNDg1LDExICs0OTEsMTAgQEAKIHsKIAkqZHN0ID0gKnNyYzsKIAlBTExPQ19BUlJBWShkc3QtPml0ZW1zLCBkc3QtPm5yKTsKLQltZW1jcHkoZHN0LT5pdGVtcywgc3JjLT5pdGVtcywKLQkgICAgICAgc2l6ZW9mKHN0cnVjdCBwYXRoc3BlY19pdGVtKSAqIGRzdC0+bnIpOworCUNPUFlfQVJSQVkoZHN0LT5pdGVtcywgc3JjLT5pdGVtcywgZHN0LT5ucik7CiB9CiAKLXZvaWQgZnJlZV9wYXRoc3BlYyhzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQordm9pZCBjbGVhcl9wYXRoc3BlYyhzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewogCWZyZWUocGF0aHNwZWMtPml0ZW1zKTsKIAlwYXRoc3BlYy0+aXRlbXMgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvcGF0aHNwZWMuaCBiL3BhdGhzcGVjLmgKaW5kZXggMGMxMTI2Mi4uNTk4MDllNCAxMDA2NDQKLS0tIGEvcGF0aHNwZWMuaAorKysgYi9wYXRoc3BlYy5oCkBAIC0xOSw3ICsxOSw3IEBACiAjZGVmaW5lIFBBVEhTUEVDX09ORVNUQVIgMQkvKiB0aGUgcGF0aHNwZWMgcGF0dGVybiBzYXRpc2ZpZXMgR0ZOTV9PTkVTVEFSICovCiAKIHN0cnVjdCBwYXRoc3BlYyB7Ci0JY29uc3QgY2hhciAqKl9yYXc7IC8qIGdldF9wYXRoc3BlYygpIHJlc3VsdCwgbm90IGZyZWVkIGJ5IGZyZWVfcGF0aHNwZWMoKSAqLworCWNvbnN0IGNoYXIgKipfcmF3OyAvKiBnZXRfcGF0aHNwZWMoKSByZXN1bHQsIG5vdCBmcmVlZCBieSBjbGVhcl9wYXRoc3BlYygpICovCiAJaW50IG5yOwogCXVuc2lnbmVkIGludCBoYXNfd2lsZGNhcmQ6MTsKIAl1bnNpZ25lZCBpbnQgcmVjdXJzaXZlOjE7CkBAIC03NCw3ICs3NCw3IEBACiAJCQkgICBjb25zdCBjaGFyICpwcmVmaXgsCiAJCQkgICBjb25zdCBjaGFyICoqYXJncyk7CiBleHRlcm4gdm9pZCBjb3B5X3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlYyAqZHN0LCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnNyYyk7Ci1leHRlcm4gdm9pZCBmcmVlX3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlYyAqKTsKK2V4dGVybiB2b2lkIGNsZWFyX3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlYyAqKTsKIAogc3RhdGljIGlubGluZSBpbnQgcHNfc3RybmNtcChjb25zdCBzdHJ1Y3QgcGF0aHNwZWNfaXRlbSAqaXRlbSwKIAkJCSAgICAgY29uc3QgY2hhciAqczEsIGNvbnN0IGNoYXIgKnMyLCBzaXplX3QgbikKQEAgLTk2LDcgKzk2LDUgQEAKIAogZXh0ZXJuIGNoYXIgKmZpbmRfcGF0aHNwZWNzX21hdGNoaW5nX2FnYWluc3RfaW5kZXgoY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYyk7CiBleHRlcm4gdm9pZCBhZGRfcGF0aHNwZWNfbWF0Y2hlc19hZ2FpbnN0X2luZGV4KGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsIGNoYXIgKnNlZW4pOwotZXh0ZXJuIGNvbnN0IGNoYXIgKmNoZWNrX3BhdGhfZm9yX2dpdGxpbmsoY29uc3QgY2hhciAqcGF0aCk7Ci1leHRlcm4gdm9pZCBkaWVfaWZfcGF0aF9iZXlvbmRfc3ltbGluayhjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpwcmVmaXgpOwogCiAjZW5kaWYgLyogUEFUSFNQRUNfSCAqLwpkaWZmIC0tZ2l0IGEvcGVybC9HaXQucG0gYi9wZXJsL0dpdC5wbQppbmRleCBjZTdlNGU4Li5iMjczMjgyIDEwMDY0NAotLS0gYS9wZXJsL0dpdC5wbQorKysgYi9wZXJsL0dpdC5wbQpAQCAtNTksNyArNTksNyBAQAogICAgICAgICAgICAgICAgIGNvbW1hbmRfYmlkaV9waXBlIGNvbW1hbmRfY2xvc2VfYmlkaV9waXBlCiAgICAgICAgICAgICAgICAgdmVyc2lvbiBleGVjX3BhdGggaHRtbF9wYXRoIGhhc2hfb2JqZWN0IGdpdF9jbWRfdHJ5CiAgICAgICAgICAgICAgICAgcmVtb3RlX3JlZnMgcHJvbXB0Ci0gICAgICAgICAgICAgICAgZ2V0X3R6X29mZnNldAorICAgICAgICAgICAgICAgIGdldF90el9vZmZzZXQgZ2V0X3JlY29yZAogICAgICAgICAgICAgICAgIGNyZWRlbnRpYWwgY3JlZGVudGlhbF9yZWFkIGNyZWRlbnRpYWxfd3JpdGUKICAgICAgICAgICAgICAgICB0ZW1wX2FjcXVpcmUgdGVtcF9pc19sb2NrZWQgdGVtcF9yZWxlYXNlIHRlbXBfcmVzZXQgdGVtcF9wYXRoKTsKIApAQCAtNTM4LDYgKzUzOCwyMCBAQAogCXJldHVybiBzcHJpbnRmKCIlcyUwMmQlMDJkIiwgJHNpZ24sIChnbXRpbWUoYWJzKCR0IC0gJGdtKSkpWzIsMV0pOwogfQogCis9aXRlbSBnZXRfcmVjb3JkICggRklMRUhBTkRMRSwgSU5QVVRfUkVDT1JEX1NFUEFSQVRPUiApCisKK1JlYWQgb25lIHJlY29yZCBmcm9tIEZJTEVIQU5ETEUgZGVsaW1pdGVkIGJ5IElOUFVUX1JFQ09SRF9TRVBBUkFUT1IsCityZW1vdmluZyBhbnkgdHJhaWxpbmcgSU5QVVRfUkVDT1JEX1NFUEFSQVRPUi4KKworPWN1dAorCitzdWIgZ2V0X3JlY29yZCB7CisJbXkgKCRmaCwgJHJzKSA9IEBfOworCWxvY2FsICQvID0gJHJzOworCW15ICRyZWMgPSA8JGZoPjsKKwljaG9tcCAkcmVjIGlmIGRlZmluZWQgJHJzOworCSRyZWM7Cit9CiAKID1pdGVtIHByb21wdCAoIFBST01QVCAsIElTUEFTU1dPUkQgICkKIApAQCAtODcxLDYgKzg4NSw4IEBACiAKID1jdXQKIAorIyBWZXJ5IGNsb3NlIHRvIE1haWw6OkFkZHJlc3MncyBwYXJzZXIsIGJ1dCB3ZSBzdGlsbCBoYXZlIG1pbm9yCisjIGRpZmZlcmVuY2VzIGluIHNvbWUgY2FzZXMgKHNlZSB0OTAwMCBmb3IgZXhhbXBsZXMpLgogc3ViIHBhcnNlX21haWxib3hlcyB7CiAJbXkgJHJlX2NvbW1lbnQgPSBxci9cKCg/OlteKV0qKVwpLzsKIAlteSAkcmVfcXVvdGUgPSBxci8iKD86W15cIlxcXXxcXC4pKiIvOwpAQCAtODc5LDYgKzg5NSw3IEBACiAJIyBkaXZpZGUgdGhlIHN0cmluZyBpbiB0b2tlbnMgb2YgdGhlIGFib3ZlIGZvcm0KIAlteSAkcmVfdG9rZW4gPSBxci8oPzokcmVfcXVvdGV8JHJlX3dvcmR8JHJlX2NvbW1lbnR8XFMpLzsKIAlteSBAdG9rZW5zID0gbWFwIHsgJF8gPX4gL1xzKigkcmVfdG9rZW4pXHMqL2cgfSBAXzsKKwlteSAkZW5kX29mX2FkZHJfc2VlbiA9IDA7CiAKIAkjIGFkZCBhIGRlbGltaXRlciB0byBzaW1wbGlmeSB0cmVhdG1lbnQgZm9yIHRoZSBsYXN0IG1haWxib3gKIAlwdXNoIEB0b2tlbnMsICIsIjsKQEAgLTg4OCwxMCArOTA1LDEwIEBACiAJCWlmICgkdG9rZW4gPX4gL15bLDtdJC8pIHsKIAkJCSMgaWYgYnVmZmVyIHN0aWxsIGNvbnRhaW5zIHVuZGV0ZXJtaW5hdGVkIHN0cmluZ3MKIAkJCSMgYXBwZW5kIGl0IGF0IHRoZSBlbmQgb2YgQGFkZHJlc3Mgb3IgQHBocmFzZQotCQkJaWYgKEBhZGRyZXNzKSB7Ci0JCQkJcHVzaCBAYWRkcmVzcywgQGJ1ZmZlcjsKLQkJCX0gZWxzZSB7CisJCQlpZiAoJGVuZF9vZl9hZGRyX3NlZW4pIHsKIAkJCQlwdXNoIEBwaHJhc2UsIEBidWZmZXI7CisJCQl9IGVsc2UgeworCQkJCXB1c2ggQGFkZHJlc3MsIEBidWZmZXI7CiAJCQl9CiAKIAkJCW15ICRzdHJfcGhyYXNlID0gam9pbiAnICcsIEBwaHJhc2U7CkBAIC05MTUsMTYgKzkzMiwxNiBAQAogCQkJcHVzaCBAYWRkcl9saXN0LCAkc3RyX21haWxib3ggaWYgKCRzdHJfbWFpbGJveCk7CiAKIAkJCUBwaHJhc2UgPSBAYWRkcmVzcyA9IEBjb21tZW50ID0gQGJ1ZmZlciA9ICgpOworCQkJJGVuZF9vZl9hZGRyX3NlZW4gPSAwOwogCQl9IGVsc2lmICgkdG9rZW4gPX4gL15cKC8pIHsKIAkJCXB1c2ggQGNvbW1lbnQsICR0b2tlbjsKIAkJfSBlbHNpZiAoJHRva2VuIGVxICI8IikgewogCQkJcHVzaCBAcGhyYXNlLCAoc3BsaWNlIEBhZGRyZXNzKSwgKHNwbGljZSBAYnVmZmVyKTsKIAkJfSBlbHNpZiAoJHRva2VuIGVxICI+IikgeworCQkJJGVuZF9vZl9hZGRyX3NlZW4gPSAxOwogCQkJcHVzaCBAYWRkcmVzcywgKHNwbGljZSBAYnVmZmVyKTsKLQkJfSBlbHNpZiAoJHRva2VuIGVxICJAIikgeworCQl9IGVsc2lmICgkdG9rZW4gZXEgIkAiICYmICEkZW5kX29mX2FkZHJfc2VlbikgewogCQkJcHVzaCBAYWRkcmVzcywgKHNwbGljZSBAYnVmZmVyKSwgIkAiOwotCQl9IGVsc2lmICgkdG9rZW4gZXEgIi4iKSB7Ci0JCQlwdXNoIEBhZGRyZXNzLCAoc3BsaWNlIEBidWZmZXIpLCAiLiI7CiAJCX0gZWxzZSB7CiAJCQlwdXNoIEBidWZmZXIsICR0b2tlbjsKIAkJfQpkaWZmIC0tZ2l0IGEvcGVybC9HaXQvU1ZOLnBtIGIvcGVybC9HaXQvU1ZOLnBtCmluZGV4IGQ5NGQwMWMuLjcxMWQyNjggMTAwNjQ0Ci0tLSBhL3BlcmwvR2l0L1NWTi5wbQorKysgYi9wZXJsL0dpdC9TVk4ucG0KQEAgLTk3LDggKzk3LDEyIEBACiAJCQkJICAgICJleGlzdGluZzogJGV4aXN0aW5nXG4iLAogCQkJCSAgICAiIGdsb2JiZWQ6ICRyZWZuYW1lXG4iOwogCQkJfQotCQkJbXkgJHUgPSAoOjpjbXRfbWV0YWRhdGEoIiRyZWZuYW1lIikpWzBdIG9yIGRpZQotCQkJICAgICIkcmVmbmFtZTogbm8gYXNzb2NpYXRlZCBjb21taXQgbWV0YWRhdGFcbiI7CisJCQlteSAkdSA9ICg6OmNtdF9tZXRhZGF0YSgiJHJlZm5hbWUiKSlbMF07CisJCQlpZiAoIWRlZmluZWQoJHUpKSB7CisJCQkJd2FybgorIlc6ICRyZWZuYW1lOiBubyBhc3NvY2lhdGVkIGNvbW1pdCBtZXRhZGF0YSBmcm9tIFNWTiwgc2tpcHBpbmdcbiI7CisJCQkJbmV4dDsKKwkJCX0KIAkJCSR1ID1+IHMhXlxRJHVybFxFKC98JCkhISBvciBkaWUKIAkJCSAgIiRyZWZuYW1lOiAnJHVybCcgbm90IGZvdW5kIGluICckdSdcbiI7CiAJCQlpZiAoJHBhdGhuYW1lIG5lICR1KSB7CkBAIC04MDMsMTAgKzgwNywxNSBAQAogCSgrKyRtaW4sICRtYXgpOwogfQogCitzdWIgc3ZuX2RpciB7CisJY29tbWFuZF9vbmVsaW5lKHF3KHJldi1wYXJzZSAtLWdpdC1wYXRoIHN2bikpOworfQorCiBzdWIgdG1wX2NvbmZpZyB7CiAJbXkgKEBhcmdzKSA9IEBfOwotCW15ICRvbGRfZGVmX2NvbmZpZyA9ICIkRU5We0dJVF9ESVJ9L3N2bi9jb25maWciOwotCW15ICRjb25maWcgPSAiJEVOVntHSVRfRElSfS9zdm4vLm1ldGFkYXRhIjsKKwlteSAkc3ZuX2RpciA9IHN2bl9kaXIoKTsKKwlteSAkb2xkX2RlZl9jb25maWcgPSAiJHN2bl9kaXIvY29uZmlnIjsKKwlteSAkY29uZmlnID0gIiRzdm5fZGlyLy5tZXRhZGF0YSI7CiAJaWYgKCEgLWYgJGNvbmZpZyAmJiAtZiAkb2xkX2RlZl9jb25maWcpIHsKIAkJcmVuYW1lICRvbGRfZGVmX2NvbmZpZywgJGNvbmZpZyBvcgogCQkgICAgICAgZGllICJGYWlsZWQgcmVuYW1lICRvbGRfZGVmX2NvbmZpZyA9PiAkY29uZmlnOiAkIVxuIjsKQEAgLTE2NTQsNyArMTY2MywxNyBAQAogCWlmICgkbWVtb19iYWNrZW5kID4gMCkgewogCQl0aWUgJSRoYXNoID0+ICdHaXQ6OlNWTjo6TWVtb2l6ZTo6WUFNTCcsICIkcGF0aC55YW1sIjsKIAl9IGVsc2UgewotCQl0aWUgJSRoYXNoID0+ICdNZW1vaXplOjpTdG9yYWJsZScsICIkcGF0aC5kYiIsICduc3RvcmUnOworCQkjIGZpcnN0IHZlcmlmeSB0aGF0IGFueSBleGlzdGluZyBmaWxlIGNhbiBhY3R1YWxseSBiZSBsb2FkZWQKKwkJIyAoaXQgbWF5IGhhdmUgYmVlbiBzYXZlZCBieSBhbiBpbmNvbXBhdGlibGUgdmVyc2lvbikKKwkJbXkgJGRiID0gIiRwYXRoLmRiIjsKKwkJaWYgKC1lICRkYikgeworCQkJdXNlIFN0b3JhYmxlIHF3KHJldHJpZXZlKTsKKworCQkJaWYgKCFldmFsIHsgcmV0cmlldmUoJGRiKTsgMSB9KSB7CisJCQkJdW5saW5rICRkYiBvciBkaWUgInVubGluayAkZGIgZmFpbGVkOiAkISI7CisJCQl9CisJCX0KKwkJdGllICUkaGFzaCA9PiAnTWVtb2l6ZTo6U3RvcmFibGUnLCAkZGIsICduc3RvcmUnOwogCX0KIH0KIApAQCAtMTY2Nyw3ICsxNjg2LDcgQEAKIAkJcmV0dXJuIGlmICRtZW1vaXplZDsKIAkJJG1lbW9pemVkID0gMTsKIAotCQlteSAkY2FjaGVfcGF0aCA9ICIkRU5We0dJVF9ESVJ9L3N2bi8uY2FjaGVzLyI7CisJCW15ICRjYWNoZV9wYXRoID0gc3ZuX2RpcigpIC4gJy8uY2FjaGVzLyc7CiAJCW1rcGF0aChbJGNhY2hlX3BhdGhdKSB1bmxlc3MgLWQgJGNhY2hlX3BhdGg7CiAKIAkJbXkgJWxvb2t1cF9zdm5fbWVyZ2VfY2FjaGU7CkBAIC0xNzA4LDcgKzE3MjcsNyBAQAogCXN1YiBjbGVhcl9tZW1vaXplZF9tZXJnZWluZm9fY2FjaGVzIHsKIAkJZGllICJPbmx5IGNhbGwgdGhpcyBtZXRob2QgaW4gbm9uLW1lbW9pemVkIGNvbnRleHQiIGlmICgkbWVtb2l6ZWQpOwogCi0JCW15ICRjYWNoZV9wYXRoID0gIiRFTlZ7R0lUX0RJUn0vc3ZuLy5jYWNoZXMvIjsKKwkJbXkgJGNhY2hlX3BhdGggPSBzdm5fZGlyKCkgLiAnLy5jYWNoZXMvJzsKIAkJcmV0dXJuIHVubGVzcyAtZCAkY2FjaGVfcGF0aDsKIAogCQlmb3IgbXkgJGNhY2hlX2ZpbGUgKCgiJGNhY2hlX3BhdGgvbG9va3VwX3N2bl9tZXJnZSIsCkBAIC0xOTA1LDE1ICsxOTI0LDIyIEBACiAKIAlteSBAcGFyZW50cyA9IEAkcGFyZW50czsKIAlteSAkcHJvcHMgPSAkZWQtPntkaXJfcHJvcH17JHNlbGYtPnBhdGh9OwotCWlmICggJHByb3BzLT57InN2azptZXJnZSJ9ICkgewotCQkkc2VsZi0+ZmluZF9leHRyYV9zdmtfcGFyZW50cygkcHJvcHMtPnsic3ZrOm1lcmdlIn0sIFxAcGFyZW50cyk7Ci0JfQotCWlmICggJHByb3BzLT57InN2bjptZXJnZWluZm8ifSApIHsKLQkJbXkgJG1pX2NoYW5nZXMgPSAkc2VsZi0+bWVyZ2VpbmZvX2NoYW5nZXMKLQkJCSgkcGFyZW50X3BhdGgsICRwYXJlbnRfcmV2LAotCQkJICRzZWxmLT5wYXRoLCAkcmV2LAotCQkJICRwcm9wcy0+eyJzdm46bWVyZ2VpbmZvIn0pOwotCQkkc2VsZi0+ZmluZF9leHRyYV9zdm5fcGFyZW50cygkbWlfY2hhbmdlcywgXEBwYXJlbnRzKTsKKwlpZiAoJHNlbGYtPmZvbGxvd19wYXJlbnQpIHsKKwkJbXkgJHRpY2tldHMgPSAkcHJvcHMtPnsic3ZrOm1lcmdlIn07CisJCWlmICgkdGlja2V0cykgeworCQkJJHNlbGYtPmZpbmRfZXh0cmFfc3ZrX3BhcmVudHMoJHRpY2tldHMsIFxAcGFyZW50cyk7CisJCX0KKworCQlteSAkbWVyZ2VpbmZvX3Byb3AgPSAkcHJvcHMtPnsic3ZuOm1lcmdlaW5mbyJ9OworCQlpZiAoJG1lcmdlaW5mb19wcm9wKSB7CisJCQlteSAkbWlfY2hhbmdlcyA9ICRzZWxmLT5tZXJnZWluZm9fY2hhbmdlcygKKwkJCQkJCSRwYXJlbnRfcGF0aCwKKwkJCQkJCSRwYXJlbnRfcmV2LAorCQkJCQkJJHNlbGYtPnBhdGgsCisJCQkJCQkkcmV2LAorCQkJCQkJJG1lcmdlaW5mb19wcm9wKTsKKwkJCSRzZWxmLT5maW5kX2V4dHJhX3N2bl9wYXJlbnRzKCRtaV9jaGFuZ2VzLCBcQHBhcmVudHMpOworCQl9CiAJfQogCiAJb3BlbiBteSAkdW4sICc+PicsICIkc2VsZi0+e2Rpcn0vdW5oYW5kbGVkLmxvZyIgb3IgY3JvYWsgJCE7CkBAIC0yNDM1LDEyICsyNDYxLDEzIEBACiAJCSAgICAgICAgICAgICAicmVmcy9yZW1vdGVzLyRwcmVmaXgkZGVmYXVsdF9yZWZfaWQiOwogCX0KIAkkX1sxXSA9ICRyZXBvX2lkOwotCW15ICRkaXIgPSAiJEVOVntHSVRfRElSfS9zdm4vJHJlZl9pZCI7CisJbXkgJHN2bl9kaXIgPSBzdm5fZGlyKCk7CisJbXkgJGRpciA9ICIkc3ZuX2Rpci8kcmVmX2lkIjsKIAotCSMgT2xkZXIgcmVwb3MgaW1wb3J0ZWQgYnkgdXMgdXNlZCAkR0lUX0RJUi9zdm4vZm9vIGluc3RlYWQgb2YKLQkjICRHSVRfRElSL3N2bi9yZWZzL3JlbW90ZXMvZm9vIHdoZW4gdHJhY2tpbmcgcmVmcy9yZW1vdGVzL2ZvbworCSMgT2xkZXIgcmVwb3MgaW1wb3J0ZWQgYnkgdXMgdXNlZCAkc3ZuX2Rpci9mb28gaW5zdGVhZCBvZgorCSMgJHN2bl9kaXIvcmVmcy9yZW1vdGVzL2ZvbyB3aGVuIHRyYWNraW5nIHJlZnMvcmVtb3Rlcy9mb28KIAlpZiAoJHJlZl9pZCA9fiBte15yZWZzL3JlbW90ZXMvKC4rKX0pIHsKLQkJbXkgJG9sZF9kaXIgPSAiJEVOVntHSVRfRElSfS9zdm4vJDEiOworCQlteSAkb2xkX2RpciA9ICIkc3ZuX2Rpci8kMSI7CiAJCWlmICgtZCAkb2xkX2RpciAmJiAhIC1kICRkaXIpIHsKIAkJCSRkaXIgPSAkb2xkX2RpcjsKIAkJfQpAQCAtMjQ1MCw3ICsyNDc3LDcgQEAKIAlta3BhdGgoWyRkaXJdKTsKIAlteSAkb2JqID0gYmxlc3MgewogCQlyZWZfaWQgPT4gJHJlZl9pZCwgZGlyID0+ICRkaXIsIGluZGV4ID0+ICIkZGlyL2luZGV4IiwKLQkgICAgICAgIGNvbmZpZyA9PiAiJEVOVntHSVRfRElSfS9zdm4vY29uZmlnIiwKKwkgICAgICAgIGNvbmZpZyA9PiAiJHN2bl9kaXIvY29uZmlnIiwKIAkgICAgICAgIG1hcF9yb290ID0+ICIkZGlyLy5yZXZfbWFwIiwgcmVwb19pZCA9PiAkcmVwb19pZCB9LCAkY2xhc3M7CiAKIAkjIEVuc3VyZSBpdCBnZXRzIGNhbm9uaWNhbGl6ZWQKZGlmZiAtLWdpdCBhL3BlcmwvR2l0L1NWTi9FZGl0b3IucG0gYi9wZXJsL0dpdC9TVk4vRWRpdG9yLnBtCmluZGV4IDRjNDE5OWEuLjBkZjE2ZWQgMTAwNjQ0Ci0tLSBhL3BlcmwvR2l0L1NWTi9FZGl0b3IucG0KKysrIGIvcGVybC9HaXQvU1ZOL0VkaXRvci5wbQpAQCAtNyw3ICs3LDkgQEAKIHVzZSBDYXJwIHF3L2Nyb2FrLzsKIHVzZSBHaXQgcXcvY29tbWFuZCBjb21tYW5kX29uZWxpbmUgY29tbWFuZF9ub2lzeSBjb21tYW5kX291dHB1dF9waXBlCiAgICAgICAgICAgIGNvbW1hbmRfaW5wdXRfcGlwZSBjb21tYW5kX2Nsb3NlX3BpcGUKLSAgICAgICAgICAgY29tbWFuZF9iaWRpX3BpcGUgY29tbWFuZF9jbG9zZV9iaWRpX3BpcGUvOworICAgICAgICAgICBjb21tYW5kX2JpZGlfcGlwZSBjb21tYW5kX2Nsb3NlX2JpZGlfcGlwZQorICAgICAgICAgICBnZXRfcmVjb3JkLzsKKwogQkVHSU4gewogCUBJU0EgPSBxdyhTVk46OkRlbHRhOjpFZGl0b3IpOwogfQpAQCAtNTcsMTEgKzU5LDkgQEAKIAlwdXNoIEBkaWZmX3RyZWUsICItbCRfcmVuYW1lX2xpbWl0IiBpZiBkZWZpbmVkICRfcmVuYW1lX2xpbWl0OwogCXB1c2ggQGRpZmZfdHJlZSwgJHRyZWVfYSwgJHRyZWVfYjsKIAlteSAoJGRpZmZfZmgsICRjdHgpID0gY29tbWFuZF9vdXRwdXRfcGlwZShAZGlmZl90cmVlKTsKLQlsb2NhbCAkLyA9ICJcMCI7CiAJbXkgJHN0YXRlID0gJ21ldGEnOwogCW15IEBtb2RzOwotCXdoaWxlICg8JGRpZmZfZmg+KSB7Ci0JCWNob21wICRfOyAjIHRoaXMgZ2V0cyByaWQgb2YgdGhlIHRyYWlsaW5nICJcMCIKKwl3aGlsZSAoZGVmaW5lZCgkXyA9IGdldF9yZWNvcmQoJGRpZmZfZmgsICJcMCIpKSkgewogCQlpZiAoJHN0YXRlIGVxICdtZXRhJyAmJiAvXjooXGR7Nn0pXHMoXGR7Nn0pXHMKIAkJCQkJKCQ6OnNoYTEpXHMoJDo6c2hhMSlccwogCQkJCQkoW01UQ1JBRF0pXGQqJC94bykgewpAQCAtMTczLDkgKzE3Myw3IEBACiAKIAlteSAoJGZoLCAkY3R4KSA9IGNvbW1hbmRfb3V0cHV0X3BpcGUocXcvbHMtdHJlZSAtLW5hbWUtb25seSAtciAtei8sCiAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWxmLT57dHJlZV9ifSk7Ci0JbG9jYWwgJC8gPSAiXDAiOwotCXdoaWxlICg8JGZoPikgewotCQljaG9tcDsKKwl3aGlsZSAoZGVmaW5lZCgkXyA9IGdldF9yZWNvcmQoJGZoLCAiXDAiKSkpIHsKIAkJbXkgQGRuID0gc3BsaXQgbSMvIywgJF87CiAJCXdoaWxlIChwb3AgQGRuKSB7CiAJCQlkZWxldGUgJHJtLT57am9pbiAnLycsIEBkbn07CmRpZmYgLS1naXQgYS9wZXJsL0dpdC9TVk4vRmV0Y2hlci5wbSBiL3BlcmwvR2l0L1NWTi9GZXRjaGVyLnBtCmluZGV4IGQ4YzIxYWQuLjY0ZTkwMGEgMTAwNjQ0Ci0tLSBhL3BlcmwvR2l0L1NWTi9GZXRjaGVyLnBtCisrKyBiL3BlcmwvR2l0L1NWTi9GZXRjaGVyLnBtCkBAIC05LDcgKzksOCBAQAogdXNlIEZpbGU6OkJhc2VuYW1lIHF3L2Rpcm5hbWUvOwogdXNlIEdpdCBxdy9jb21tYW5kIGNvbW1hbmRfb25lbGluZSBjb21tYW5kX25vaXN5IGNvbW1hbmRfb3V0cHV0X3BpcGUKICAgICAgICAgICAgY29tbWFuZF9pbnB1dF9waXBlIGNvbW1hbmRfY2xvc2VfcGlwZQotICAgICAgICAgICBjb21tYW5kX2JpZGlfcGlwZSBjb21tYW5kX2Nsb3NlX2JpZGlfcGlwZS87CisgICAgICAgICAgIGNvbW1hbmRfYmlkaV9waXBlIGNvbW1hbmRfY2xvc2VfYmlkaV9waXBlCisgICAgICAgICAgIGdldF9yZWNvcmQvOwogQkVHSU4gewogCUBJU0EgPSBxdyhTVk46OkRlbHRhOjpFZGl0b3IpOwogfQpAQCAtODYsMTEgKzg3LDkgQEAKIAlteSAkcHJpbnRlZF93YXJuaW5nOwogCWNob21wKG15ICRlbXB0eV9ibG9iID0gYGdpdCBoYXNoLW9iamVjdCAtdCBibG9iIC0tc3RkaW4gPCAvZGV2L251bGxgKTsKIAlteSAoJGxzLCAkY3R4KSA9IGNvbW1hbmRfb3V0cHV0X3BpcGUocXcvbHMtdHJlZSAtciAtei8sICRjbXQpOwotCWxvY2FsICQvID0gIlwwIjsKIAlteSAkcGZ4ID0gZGVmaW5lZCgkc3dpdGNoX3BhdGgpID8gJHN3aXRjaF9wYXRoIDogJGdpdF9zdm4tPnBhdGg7CiAJJHBmeCAuPSAnLycgaWYgbGVuZ3RoKCRwZngpOwotCXdoaWxlICg8JGxzPikgewotCQljaG9tcDsKKwl3aGlsZSAoZGVmaW5lZCgkXyA9IGdldF9yZWNvcmQoJGxzLCAiXDAiKSkpIHsKIAkJcy9cQTEwMDY0NCBibG9iICRlbXB0eV9ibG9iXHQvL28gb3IgbmV4dDsKIAkJdW5sZXNzICgkcHJpbnRlZF93YXJuaW5nKSB7CiAJCQlwcmludCBTVERFUlIgIlNjYW5uaW5nIGZvciBlbXB0eSBzeW1saW5rcywgIiwKQEAgLTE3OSw5ICsxNzgsNyBAQAogCQlteSAoJGxzLCAkY3R4KSA9IGNvbW1hbmRfb3V0cHV0X3BpcGUocXcvbHMtdHJlZQogCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXIgLS1uYW1lLW9ubHkgLXovLAogCQkJCSAgICAgICAgICAgICAgICAgICAgICR0cmVlKTsKLQkJbG9jYWwgJC8gPSAiXDAiOwotCQl3aGlsZSAoPCRscz4pIHsKLQkJCWNob21wOworCQl3aGlsZSAoZGVmaW5lZCgkXyA9IGdldF9yZWNvcmQoJGxzLCAiXDAiKSkpIHsKIAkJCW15ICRybXBhdGggPSAiJGdwYXRoLyRfIjsKIAkJCSRzZWxmLT57Z2lpfS0+cmVtb3ZlKCRybXBhdGgpOwogCQkJcHJpbnQgIlx0RFx0JHJtcGF0aFxuIiB1bmxlc3MgJDo6X3E7CkBAIC0yNDcsOSArMjQ0LDcgQEAKIAkJbXkgKCRscywgJGN0eCkgPSBjb21tYW5kX291dHB1dF9waXBlKHF3L2xzLXRyZWUKIAkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1yIC0tbmFtZS1vbmx5IC16LywKIAkJCQkgICAgICAgICAgICAgICAgICAgICAkc2VsZi0+e2N9KTsKLQkJbG9jYWwgJC8gPSAiXDAiOwotCQl3aGlsZSAoPCRscz4pIHsKLQkJCWNob21wOworCQl3aGlsZSAoZGVmaW5lZCgkXyA9IGdldF9yZWNvcmQoJGxzLCAiXDAiKSkpIHsKIAkJCSRzZWxmLT57Z2lpfS0+cmVtb3ZlKCRfKTsKIAkJCXByaW50ICJcdERcdCRfXG4iIHVubGVzcyAkOjpfcTsKIAkJCXB1c2ggQGRlbGV0ZWRfZ3BhdGgsICRncGF0aDsKZGlmZiAtLWdpdCBhL3BlcmwvR2l0L1NWTi9NaWdyYXRpb24ucG0gYi9wZXJsL0dpdC9TVk4vTWlncmF0aW9uLnBtCmluZGV4IGNmNmZmYTcuLmRjOTBmNmEgMTAwNjQ0Ci0tLSBhL3BlcmwvR2l0L1NWTi9NaWdyYXRpb24ucG0KKysrIGIvcGVybC9HaXQvU1ZOL01pZ3JhdGlvbi5wbQpAQCAtNDQsNyArNDQsOSBAQAogCWNvbW1hbmRfbm9pc3kKIAljb21tYW5kX291dHB1dF9waXBlCiAJY29tbWFuZF9jbG9zZV9waXBlCisJY29tbWFuZF9vbmVsaW5lCiApOwordXNlIEdpdDo6U1ZOOwogCiBzdWIgbWlncmF0ZV9mcm9tX3YwIHsKIAlteSAkZ2l0X2RpciA9ICRFTlZ7R0lUX0RJUn07CkBAIC01NSw3ICs1Nyw5IEBACiAJCWNob21wOwogCQlteSAoJGlkLCAkb3JpZ19yZWYpID0gKCRfLCAkXyk7CiAJCW5leHQgdW5sZXNzICRpZCA9fiBzI15yZWZzL2hlYWRzLyguKyktSEVBRCQjJDEjOwotCQluZXh0IHVubGVzcyAtZiAiJGdpdF9kaXIvJGlkL2luZm8vdXJsIjsKKwkJbXkgJGluZm9fdXJsID0gY29tbWFuZF9vbmVsaW5lKHF3KHJldi1wYXJzZSAtLWdpdC1wYXRoKSwKKwkJCQkJCSIkaWQvaW5mby91cmwiKTsKKwkJbmV4dCB1bmxlc3MgLWYgJGluZm9fdXJsOwogCQlteSAkbmV3X3JlZiA9ICJyZWZzL3JlbW90ZXMvJGlkIjsKIAkJaWYgKDo6dmVyaWZ5X3JlZigiJG5ld19yZWZeMCIpKSB7CiAJCQlwcmludCBTVERFUlIgIlc6ICRvcmlnX3JlZiBpcyBwcm9iYWJseSBhbiBvbGQgIiwKQEAgLTgyLDcgKzg2LDcgQEAKIAlteSAkZ2l0X2RpciA9ICRFTlZ7R0lUX0RJUn07CiAJbXkgJG1pZ3JhdGVkID0gMDsKIAlyZXR1cm4gJG1pZ3JhdGVkIHVubGVzcyAtZCAkZ2l0X2RpcjsKLQlteSAkc3ZuX2RpciA9ICIkZ2l0X2Rpci9zdm4iOworCW15ICRzdm5fZGlyID0gR2l0OjpTVk46OnN2bl9kaXIoKTsKIAogCSMganVzdCBpbiBjYXNlIHNvbWVib2R5IHVzZWQgJ3N2bicgYXMgdGhlaXIgJGlkIGF0IHNvbWUgcG9pbnQuLi4KIAlyZXR1cm4gJG1pZ3JhdGVkIGlmIC1kICRzdm5fZGlyICYmICEgLWYgIiRzdm5fZGlyL2luZm8vdXJsIjsKQEAgLTk3LDI3ICsxMDEsMjggQEAKIAkJbXkgJHggPSAkXzsKIAkJbmV4dCB1bmxlc3MgJHggPX4gcyNecmVmcy9yZW1vdGVzLyMjOwogCQljaG9tcCAkeDsKLQkJbmV4dCB1bmxlc3MgLWYgIiRnaXRfZGlyLyR4L2luZm8vdXJsIjsKLQkJbXkgJHUgPSBldmFsIHsgOjpmaWxlX3RvX3MoIiRnaXRfZGlyLyR4L2luZm8vdXJsIikgfTsKKwkJbXkgJGluZm9fdXJsID0gY29tbWFuZF9vbmVsaW5lKHF3KHJldi1wYXJzZSAtLWdpdC1wYXRoKSwKKwkJCQkJCSIkeC9pbmZvL3VybCIpOworCQluZXh0IHVubGVzcyAtZiAkaW5mb191cmw7CisJCW15ICR1ID0gZXZhbCB7IDo6ZmlsZV90b19zKCRpbmZvX3VybCkgfTsKIAkJbmV4dCB1bmxlc3MgJHU7Ci0JCW15ICRkbiA9IGRpcm5hbWUoIiRnaXRfZGlyL3N2bi8keCIpOworCQlteSAkZG4gPSBkaXJuYW1lKCIkc3ZuX2Rpci8keCIpOwogCQlta3BhdGgoWyRkbl0pIHVubGVzcyAtZCAkZG47CiAJCWlmICgkeCBlcSAnc3ZuJykgeyAjIHRoZXkgdXNlZCAnc3ZuJyBhcyBHSVRfU1ZOX0lEOgotCQkJbWtwYXRoKFsiJGdpdF9kaXIvc3ZuL3N2biJdKTsKKwkJCW1rcGF0aChbIiRzdm5fZGlyL3N2biJdKTsKIAkJCXByaW50IFNUREVSUiAiIC0gJGdpdF9kaXIvJHgvaW5mbyA9PiAiLAotCQkJICAgICAgICAgICAgICAgICIkZ2l0X2Rpci9zdm4vJHgvaW5mb1xuIjsKLQkJCXJlbmFtZSAiJGdpdF9kaXIvJHgvaW5mbyIsICIkZ2l0X2Rpci9zdm4vJHgvaW5mbyIgb3IKKwkJCSAgICAgICAgICAgICAgICAiJHN2bl9kaXIvJHgvaW5mb1xuIjsKKwkJCXJlbmFtZSAiJGdpdF9kaXIvJHgvaW5mbyIsICIkc3ZuX2Rpci8keC9pbmZvIiBvcgogCQkJICAgICAgIGNyb2FrICIkITogJHgiOwogCQkJIyBkb24ndCB3b3JyeSB0b28gbXVjaCBhYm91dCB0aGVzZSwgdGhleSBwcm9iYWJseQogCQkJIyBkb24ndCBleGlzdCB3aXRoIHJlcG9zIHRoaXMgb2xkIChzYXZlIGZvciBpbmRleCwKIAkJCSMgYW5kIHdlIGNhbiBlYXNpbHkgcmVnZW5lcmF0ZSB0aGF0KQogCQkJZm9yZWFjaCBteSAkZiAocXcvdW5oYW5kbGVkLmxvZyBpbmRleCAucmV2X2RiLykgewotCQkJCXJlbmFtZSAiJGdpdF9kaXIvJHgvJGYiLCAiJGdpdF9kaXIvc3ZuLyR4LyRmIjsKKwkJCQlyZW5hbWUgIiRnaXRfZGlyLyR4LyRmIiwgIiRzdm5fZGlyLyR4LyRmIjsKIAkJCX0KIAkJfSBlbHNlIHsKLQkJCXByaW50IFNUREVSUiAiIC0gJGdpdF9kaXIvJHggPT4gJGdpdF9kaXIvc3ZuLyR4XG4iOwotCQkJcmVuYW1lICIkZ2l0X2Rpci8keCIsICIkZ2l0X2Rpci9zdm4vJHgiIG9yCi0JCQkgICAgICAgY3JvYWsgIiQhOiAkeCI7CisJCQlwcmludCBTVERFUlIgIiAtICRnaXRfZGlyLyR4ID0+ICRzdm5fZGlyLyR4XG4iOworCQkJcmVuYW1lICIkZ2l0X2Rpci8keCIsICIkc3ZuX2Rpci8keCIgb3IgY3JvYWsgIiQhOiAkeCI7CiAJCX0KIAkJJG1pZ3JhdGVkKys7CiAJfQpAQCAtMTM5LDkgKzE0NCwxMCBAQAogCQkJcHVzaCBAZGlyLCAkXzsKIAkJfQogCX0KKwlteSAkc3ZuX2RpciA9IEdpdDo6U1ZOOjpzdm5fZGlyKCk7CiAJZm9yZWFjaCAoQGRpcikgewogCQlteSAkeCA9ICRfOwotCQkkeCA9fiBzIV5cUSRFTlZ7R0lUX0RJUn1cRS9zdm4vISFvOworCQkkeCA9fiBzIV5cUSRzdm5fZGlyXEUvISFvOwogCQlyZWFkX29sZF91cmxzKCRsX21hcCwgJHgsICRfKTsKIAl9CiB9CkBAIC0xNTAsNyArMTU2LDcgQEAKIAlteSBAY2ZnID0gY29tbWFuZChxdy9jb25maWcgLWwvKTsKIAlyZXR1cm4gaWYgZ3JlcCAvXnN2bi1yZW1vdGVcLi4rXC51cmw9LywgQGNmZzsKIAlteSAlbF9tYXA7Ci0JcmVhZF9vbGRfdXJscyhcJWxfbWFwLCAnJywgIiRFTlZ7R0lUX0RJUn0vc3ZuIik7CisJcmVhZF9vbGRfdXJscyhcJWxfbWFwLCAnJywgR2l0OjpTVk46OnN2bl9kaXIoKSk7CiAJbXkgJG1pZ3JhdGVkID0gMDsKIAogCXJlcXVpcmUgR2l0OjpTVk47CkBAIC0yMzksNyArMjQ1LDggQEAKIAkJfQogCX0KIAlpZiAoQGVtcHRpZWQpIHsKLQkJbXkgJGZpbGUgPSAkRU5We0dJVF9DT05GSUd9IHx8ICIkRU5We0dJVF9ESVJ9L2NvbmZpZyI7CisJCW15ICRmaWxlID0gJEVOVntHSVRfQ09ORklHfSB8fAorCQkJY29tbWFuZF9vbmVsaW5lKHF3KHJldi1wYXJzZSAtLWdpdC1wYXRoIGNvbmZpZykpOwogCQlwcmludCBTVERFUlIgPDxFT0Y7CiBUaGUgZm9sbG93aW5nIFtzdm4tcmVtb3RlXSBzZWN0aW9ucyBpbiB5b3VyIGNvbmZpZyBmaWxlICgkZmlsZSkgYXJlIGVtcHR5CiBhbmQgY2FuIGJlIHNhZmVseSByZW1vdmVkOgpkaWZmIC0tZ2l0IGEvcGt0LWxpbmUuYyBiL3BrdC1saW5lLmMKaW5kZXggNjJmZGIzNy4uZDRiNmJmZSAxMDA2NDQKLS0tIGEvcGt0LWxpbmUuYworKysgYi9wa3QtbGluZS5jCkBAIC05MSwxNiArOTEsMzQgQEAKIAl3cml0ZV9vcl9kaWUoZmQsICIwMDAwIiwgNCk7CiB9CiAKK2ludCBwYWNrZXRfZmx1c2hfZ2VudGx5KGludCBmZCkKK3sKKwlwYWNrZXRfdHJhY2UoIjAwMDAiLCA0LCAxKTsKKwlpZiAod3JpdGVfaW5fZnVsbChmZCwgIjAwMDAiLCA0KSA9PSA0KQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gZXJyb3IoImZsdXNoIHBhY2tldCB3cml0ZSBmYWlsZWQiKTsKK30KKwogdm9pZCBwYWNrZXRfYnVmX2ZsdXNoKHN0cnVjdCBzdHJidWYgKmJ1ZikKIHsKIAlwYWNrZXRfdHJhY2UoIjAwMDAiLCA0LCAxKTsKIAlzdHJidWZfYWRkKGJ1ZiwgIjAwMDAiLCA0KTsKIH0KIAotI2RlZmluZSBoZXgoYSkgKGhleGNoYXJbKGEpICYgMTVdKQotc3RhdGljIHZvaWQgZm9ybWF0X3BhY2tldChzdHJ1Y3Qgc3RyYnVmICpvdXQsIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcmdzKQorc3RhdGljIHZvaWQgc2V0X3BhY2tldF9oZWFkZXIoY2hhciAqYnVmLCBjb25zdCBpbnQgc2l6ZSkKIHsKIAlzdGF0aWMgY2hhciBoZXhjaGFyW10gPSAiMDEyMzQ1Njc4OWFiY2RlZiI7CisKKwkjZGVmaW5lIGhleChhKSAoaGV4Y2hhclsoYSkgJiAxNV0pCisJYnVmWzBdID0gaGV4KHNpemUgPj4gMTIpOworCWJ1ZlsxXSA9IGhleChzaXplID4+IDgpOworCWJ1ZlsyXSA9IGhleChzaXplID4+IDQpOworCWJ1ZlszXSA9IGhleChzaXplKTsKKwkjdW5kZWYgaGV4Cit9CisKK3N0YXRpYyB2b2lkIGZvcm1hdF9wYWNrZXQoc3RydWN0IHN0cmJ1ZiAqb3V0LCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXJncykKK3sKIAlzaXplX3Qgb3JpZ19sZW4sIG47CiAKIAlvcmlnX2xlbiA9IG91dC0+bGVuOwpAQCAtMTExLDIzICsxMjksNjMgQEAKIAlpZiAobiA+IExBUkdFX1BBQ0tFVF9NQVgpCiAJCWRpZSgicHJvdG9jb2wgZXJyb3I6IGltcG9zc2libHkgbG9uZyBsaW5lIik7CiAKLQlvdXQtPmJ1ZltvcmlnX2xlbiArIDBdID0gaGV4KG4gPj4gMTIpOwotCW91dC0+YnVmW29yaWdfbGVuICsgMV0gPSBoZXgobiA+PiA4KTsKLQlvdXQtPmJ1ZltvcmlnX2xlbiArIDJdID0gaGV4KG4gPj4gNCk7Ci0Jb3V0LT5idWZbb3JpZ19sZW4gKyAzXSA9IGhleChuKTsKKwlzZXRfcGFja2V0X2hlYWRlcigmb3V0LT5idWZbb3JpZ19sZW5dLCBuKTsKIAlwYWNrZXRfdHJhY2Uob3V0LT5idWYgKyBvcmlnX2xlbiArIDQsIG4gLSA0LCAxKTsKIH0KIAotdm9pZCBwYWNrZXRfd3JpdGUoaW50IGZkLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3N0YXRpYyBpbnQgcGFja2V0X3dyaXRlX2ZtdF8xKGludCBmZCwgaW50IGdlbnRseSwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcmdzKQogewotCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJc3NpemVfdCBjb3VudDsKKworCWZvcm1hdF9wYWNrZXQoJmJ1ZiwgZm10LCBhcmdzKTsKKwljb3VudCA9IHdyaXRlX2luX2Z1bGwoZmQsIGJ1Zi5idWYsIGJ1Zi5sZW4pOworCWlmIChjb3VudCA9PSBidWYubGVuKQorCQlyZXR1cm4gMDsKKworCWlmICghZ2VudGx5KSB7CisJCWNoZWNrX3BpcGUoZXJybm8pOworCQlkaWVfZXJybm8oInBhY2tldCB3cml0ZSB3aXRoIGZvcm1hdCBmYWlsZWQiKTsKKwl9CisJcmV0dXJuIGVycm9yKCJwYWNrZXQgd3JpdGUgd2l0aCBmb3JtYXQgZmFpbGVkIik7Cit9CisKK3ZvaWQgcGFja2V0X3dyaXRlX2ZtdChpbnQgZmQsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQorewogCXZhX2xpc3QgYXJnczsKIAotCXN0cmJ1Zl9yZXNldCgmYnVmKTsKIAl2YV9zdGFydChhcmdzLCBmbXQpOwotCWZvcm1hdF9wYWNrZXQoJmJ1ZiwgZm10LCBhcmdzKTsKKwlwYWNrZXRfd3JpdGVfZm10XzEoZmQsIDAsIGZtdCwgYXJncyk7CiAJdmFfZW5kKGFyZ3MpOwotCXdyaXRlX29yX2RpZShmZCwgYnVmLmJ1ZiwgYnVmLmxlbik7Cit9CisKK2ludCBwYWNrZXRfd3JpdGVfZm10X2dlbnRseShpbnQgZmQsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCWludCBzdGF0dXM7CisJdmFfbGlzdCBhcmdzOworCisJdmFfc3RhcnQoYXJncywgZm10KTsKKwlzdGF0dXMgPSBwYWNrZXRfd3JpdGVfZm10XzEoZmQsIDEsIGZtdCwgYXJncyk7CisJdmFfZW5kKGFyZ3MpOworCXJldHVybiBzdGF0dXM7Cit9CisKK3N0YXRpYyBpbnQgcGFja2V0X3dyaXRlX2dlbnRseShjb25zdCBpbnQgZmRfb3V0LCBjb25zdCBjaGFyICpidWYsIHNpemVfdCBzaXplKQoreworCXN0YXRpYyBjaGFyIHBhY2tldF93cml0ZV9idWZmZXJbTEFSR0VfUEFDS0VUX01BWF07CisJc2l6ZV90IHBhY2tldF9zaXplOworCisJaWYgKHNpemUgPiBzaXplb2YocGFja2V0X3dyaXRlX2J1ZmZlcikgLSA0KQorCQlyZXR1cm4gZXJyb3IoInBhY2tldCB3cml0ZSBmYWlsZWQgLSBkYXRhIGV4Y2VlZHMgbWF4IHBhY2tldCBzaXplIik7CisKKwlwYWNrZXRfdHJhY2UoYnVmLCBzaXplLCAxKTsKKwlwYWNrZXRfc2l6ZSA9IHNpemUgKyA0OworCXNldF9wYWNrZXRfaGVhZGVyKHBhY2tldF93cml0ZV9idWZmZXIsIHBhY2tldF9zaXplKTsKKwltZW1jcHkocGFja2V0X3dyaXRlX2J1ZmZlciArIDQsIGJ1Ziwgc2l6ZSk7CisJaWYgKHdyaXRlX2luX2Z1bGwoZmRfb3V0LCBwYWNrZXRfd3JpdGVfYnVmZmVyLCBwYWNrZXRfc2l6ZSkgPT0gcGFja2V0X3NpemUpCisJCXJldHVybiAwOworCXJldHVybiBlcnJvcigicGFja2V0IHdyaXRlIGZhaWxlZCIpOwogfQogCiB2b2lkIHBhY2tldF9idWZfd3JpdGUoc3RydWN0IHN0cmJ1ZiAqYnVmLCBjb25zdCBjaGFyICpmbXQsIC4uLikKQEAgLTEzOSw2ICsxOTcsNDYgQEAKIAl2YV9lbmQoYXJncyk7CiB9CiAKK2ludCB3cml0ZV9wYWNrZXRpemVkX2Zyb21fZmQoaW50IGZkX2luLCBpbnQgZmRfb3V0KQoreworCXN0YXRpYyBjaGFyIGJ1ZltMQVJHRV9QQUNLRVRfREFUQV9NQVhdOworCWludCBlcnIgPSAwOworCXNzaXplX3QgYnl0ZXNfdG9fd3JpdGU7CisKKwl3aGlsZSAoIWVycikgeworCQlieXRlc190b193cml0ZSA9IHhyZWFkKGZkX2luLCBidWYsIHNpemVvZihidWYpKTsKKwkJaWYgKGJ5dGVzX3RvX3dyaXRlIDwgMCkKKwkJCXJldHVybiBDT1BZX1JFQURfRVJST1I7CisJCWlmIChieXRlc190b193cml0ZSA9PSAwKQorCQkJYnJlYWs7CisJCWVyciA9IHBhY2tldF93cml0ZV9nZW50bHkoZmRfb3V0LCBidWYsIGJ5dGVzX3RvX3dyaXRlKTsKKwl9CisJaWYgKCFlcnIpCisJCWVyciA9IHBhY2tldF9mbHVzaF9nZW50bHkoZmRfb3V0KTsKKwlyZXR1cm4gZXJyOworfQorCitpbnQgd3JpdGVfcGFja2V0aXplZF9mcm9tX2J1Zihjb25zdCBjaGFyICpzcmNfaW4sIHNpemVfdCBsZW4sIGludCBmZF9vdXQpCit7CisJaW50IGVyciA9IDA7CisJc2l6ZV90IGJ5dGVzX3dyaXR0ZW4gPSAwOworCXNpemVfdCBieXRlc190b193cml0ZTsKKworCXdoaWxlICghZXJyKSB7CisJCWlmICgobGVuIC0gYnl0ZXNfd3JpdHRlbikgPiBMQVJHRV9QQUNLRVRfREFUQV9NQVgpCisJCQlieXRlc190b193cml0ZSA9IExBUkdFX1BBQ0tFVF9EQVRBX01BWDsKKwkJZWxzZQorCQkJYnl0ZXNfdG9fd3JpdGUgPSBsZW4gLSBieXRlc193cml0dGVuOworCQlpZiAoYnl0ZXNfdG9fd3JpdGUgPT0gMCkKKwkJCWJyZWFrOworCQllcnIgPSBwYWNrZXRfd3JpdGVfZ2VudGx5KGZkX291dCwgc3JjX2luICsgYnl0ZXNfd3JpdHRlbiwgYnl0ZXNfdG9fd3JpdGUpOworCQlieXRlc193cml0dGVuICs9IGJ5dGVzX3RvX3dyaXRlOworCX0KKwlpZiAoIWVycikKKwkJZXJyID0gcGFja2V0X2ZsdXNoX2dlbnRseShmZF9vdXQpOworCXJldHVybiBlcnI7Cit9CisKIHN0YXRpYyBpbnQgZ2V0X3BhY2tldF9kYXRhKGludCBmZCwgY2hhciAqKnNyY19idWYsIHNpemVfdCAqc3JjX3NpemUsCiAJCQkgICB2b2lkICpkc3QsIHVuc2lnbmVkIHNpemUsIGludCBvcHRpb25zKQogewpAQCAtMTcyLDI3ICsyNzAsOCBAQAogCiBzdGF0aWMgaW50IHBhY2tldF9sZW5ndGgoY29uc3QgY2hhciAqbGluZWxlbikKIHsKLQlpbnQgbjsKLQlpbnQgbGVuID0gMDsKLQotCWZvciAobiA9IDA7IG4gPCA0OyBuKyspIHsKLQkJdW5zaWduZWQgY2hhciBjID0gbGluZWxlbltuXTsKLQkJbGVuIDw8PSA0OwotCQlpZiAoYyA+PSAnMCcgJiYgYyA8PSAnOScpIHsKLQkJCWxlbiArPSBjIC0gJzAnOwotCQkJY29udGludWU7Ci0JCX0KLQkJaWYgKGMgPj0gJ2EnICYmIGMgPD0gJ2YnKSB7Ci0JCQlsZW4gKz0gYyAtICdhJyArIDEwOwotCQkJY29udGludWU7Ci0JCX0KLQkJaWYgKGMgPj0gJ0EnICYmIGMgPD0gJ0YnKSB7Ci0JCQlsZW4gKz0gYyAtICdBJyArIDEwOwotCQkJY29udGludWU7Ci0JCX0KLQkJcmV0dXJuIC0xOwotCX0KLQlyZXR1cm4gbGVuOworCWludCB2YWwgPSBoZXgyY2hyKGxpbmVsZW4pOworCXJldHVybiAodmFsIDwgMCkgPyB2YWwgOiAodmFsIDw8IDgpIHwgaGV4MmNocihsaW5lbGVuICsgMik7CiB9CiAKIGludCBwYWNrZXRfcmVhZChpbnQgZmQsIGNoYXIgKipzcmNfYnVmLCBzaXplX3QgKnNyY19sZW4sCkBAIC0yNDgsMyArMzI3LDM1IEBACiB7CiAJcmV0dXJuIHBhY2tldF9yZWFkX2xpbmVfZ2VuZXJpYygtMSwgc3JjLCBzcmNfbGVuLCBkc3RfbGVuKTsKIH0KKworc3NpemVfdCByZWFkX3BhY2tldGl6ZWRfdG9fc3RyYnVmKGludCBmZF9pbiwgc3RydWN0IHN0cmJ1ZiAqc2Jfb3V0KQoreworCWludCBwYWNrZXRfbGVuOworCisJc2l6ZV90IG9yaWdfbGVuID0gc2Jfb3V0LT5sZW47CisJc2l6ZV90IG9yaWdfYWxsb2MgPSBzYl9vdXQtPmFsbG9jOworCisJZm9yICg7OykgeworCQlzdHJidWZfZ3JvdyhzYl9vdXQsIExBUkdFX1BBQ0tFVF9EQVRBX01BWCk7CisJCXBhY2tldF9sZW4gPSBwYWNrZXRfcmVhZChmZF9pbiwgTlVMTCwgTlVMTCwKKwkJCS8qIHN0cmJ1Zl9ncm93KCkgYWJvdmUgYWx3YXlzIGFsbG9jYXRlcyBvbmUgZXh0cmEgYnl0ZSB0bworCQkJICogc3RvcmUgYSAnXDAnIGF0IHRoZSBlbmQgb2YgdGhlIHN0cmluZy4gcGFja2V0X3JlYWQoKQorCQkJICogd3JpdGVzIGEgJ1wwJyBleHRyYSBieXRlIGF0IHRoZSBlbmQsIHRvby4gTGV0IGl0IGtub3cKKwkJCSAqIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSByb29tIGZvciB0aGUgZXh0cmEgYnl0ZS4KKwkJCSAqLworCQkJc2Jfb3V0LT5idWYgKyBzYl9vdXQtPmxlbiwgTEFSR0VfUEFDS0VUX0RBVEFfTUFYKzEsCisJCQlQQUNLRVRfUkVBRF9HRU5UTEVfT05fRU9GKTsKKwkJaWYgKHBhY2tldF9sZW4gPD0gMCkKKwkJCWJyZWFrOworCQlzYl9vdXQtPmxlbiArPSBwYWNrZXRfbGVuOworCX0KKworCWlmIChwYWNrZXRfbGVuIDwgMCkgeworCQlpZiAob3JpZ19hbGxvYyA9PSAwKQorCQkJc3RyYnVmX3JlbGVhc2Uoc2Jfb3V0KTsKKwkJZWxzZQorCQkJc3RyYnVmX3NldGxlbihzYl9vdXQsIG9yaWdfbGVuKTsKKwkJcmV0dXJuIHBhY2tldF9sZW47CisJfQorCXJldHVybiBzYl9vdXQtPmxlbiAtIG9yaWdfbGVuOworfQpkaWZmIC0tZ2l0IGEvcGt0LWxpbmUuaCBiL3BrdC1saW5lLmgKaW5kZXggM2NiOWQ5MS4uMThlYWM2NCAxMDA2NDQKLS0tIGEvcGt0LWxpbmUuaAorKysgYi9wa3QtbGluZS5oCkBAIC0yMCw5ICsyMCwxMyBAQAogICogc2lkZSBjYW4ndCwgd2Ugc3RheSB3aXRoIHB1cmUgcmVhZC93cml0ZSBpbnRlcmZhY2VzLgogICovCiB2b2lkIHBhY2tldF9mbHVzaChpbnQgZmQpOwotdm9pZCBwYWNrZXRfd3JpdGUoaW50IGZkLCBjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSk7Cit2b2lkIHBhY2tldF93cml0ZV9mbXQoaW50IGZkLCBjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSk7CiB2b2lkIHBhY2tldF9idWZfZmx1c2goc3RydWN0IHN0cmJ1ZiAqYnVmKTsKIHZvaWQgcGFja2V0X2J1Zl93cml0ZShzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKTsKK2ludCBwYWNrZXRfZmx1c2hfZ2VudGx5KGludCBmZCk7CitpbnQgcGFja2V0X3dyaXRlX2ZtdF9nZW50bHkoaW50IGZkLCBjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSk7CitpbnQgd3JpdGVfcGFja2V0aXplZF9mcm9tX2ZkKGludCBmZF9pbiwgaW50IGZkX291dCk7CitpbnQgd3JpdGVfcGFja2V0aXplZF9mcm9tX2J1Zihjb25zdCBjaGFyICpzcmNfaW4sIHNpemVfdCBsZW4sIGludCBmZF9vdXQpOwogCiAvKgogICogUmVhZCBhIHBhY2tldGl6ZWQgbGluZSBpbnRvIHRoZSBidWZmZXIsIHdoaWNoIG11c3QgYmUgYXQgbGVhc3Qgc2l6ZSBieXRlcwpAQCAtNzUsOCArNzksMTQgQEAKICAqLwogY2hhciAqcGFja2V0X3JlYWRfbGluZV9idWYoY2hhciAqKnNyY19idWYsIHNpemVfdCAqc3JjX2xlbiwgaW50ICpzaXplKTsKIAorLyoKKyAqIFJlYWRzIGEgc3RyZWFtIG9mIHZhcmlhYmxlIHNpemVkIHBhY2tldHMgdW50aWwgYSBmbHVzaCBwYWNrZXQgaXMgZGV0ZWN0ZWQuCisgKi8KK3NzaXplX3QgcmVhZF9wYWNrZXRpemVkX3RvX3N0cmJ1ZihpbnQgZmRfaW4sIHN0cnVjdCBzdHJidWYgKnNiX291dCk7CisKICNkZWZpbmUgREVGQVVMVF9QQUNLRVRfTUFYIDEwMDAKICNkZWZpbmUgTEFSR0VfUEFDS0VUX01BWCA2NTUyMAorI2RlZmluZSBMQVJHRV9QQUNLRVRfREFUQV9NQVggKExBUkdFX1BBQ0tFVF9NQVggLSA0KQogZXh0ZXJuIGNoYXIgcGFja2V0X2J1ZmZlcltMQVJHRV9QQUNLRVRfTUFYXTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9wby9URUFNUyBiL3BvL1RFQU1TCmluZGV4IDU2Mjc0YWQuLmQzZTYzYmMgMTAwNjQ0Ci0tLSBhL3BvL1RFQU1TCisrKyBiL3BvL1RFQU1TCkBAIC0zNyw4ICszNyw5IEBACiBMZWFkZXI6CQlDaGFuZ3dvbyBSeXUgPGN3cnl1QGRlYmlhbi5vcmc+CiAKIExhbmd1YWdlOglwdF9QVCAoUG9ydHVndWVzZSAtIFBvcnR1Z2FsKQotUmVwb3NpdG9yeToJaHR0cHM6Ly9naXRodWIuY29tL21hcmNvbXNvdXNhL2dpdC1sMTBuLXB0X1BULwotTGVhZGVyOgkJTWFyY28gU291c2EgPG1hcmNvbXNvdXNhIEFUIGdtYWlsLmNvbT4KK1JlcG9zaXRvcnk6CWh0dHBzOi8vZ2l0aHViLmNvbS92YXNjb29sL2dpdC1wby1wdC8KK0xlYWRlcjoJCVZhc2NvIEFsbWVpZGEgPHZhc2NvbWFsbWVpZGFAc2Fwby5wdD4KK01lbWJlcnM6CU1hcmNvIFNvdXNhIDxtYXJjb21zb3VzYSBBVCBnbWFpbC5jb20+CiAKIExhbmd1YWdlOglydSAoUnVzc2lhbikKIFJlcG9zaXRvcnk6CWh0dHBzOi8vZ2l0aHViLmNvbS9ESm0wMG4vZ2l0LXBvLXJ1LwpkaWZmIC0tZ2l0IGEvcG8vY2EucG8gYi9wby9jYS5wbwppbmRleCA0NjAwMGQ3Li41N2QwZTJmIDEwMDY0NAotLS0gYS9wby9jYS5wbworKysgYi9wby9jYS5wbwpAQCAtNyw4ICs3LDggQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogR2l0XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTYtMDMtMTYgMDA6MTYrMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMDMtMTkgMjM6NTEtMDYwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE2LTExLTI1IDIyOjUwKzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE2LTExLTI4IDIwOjAzLTA3MDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEFsZXggSGVucmllIDxhbGV4aGVucmllMjRAZ21haWwuY29tPlxuIgogIkxhbmd1YWdlLVRlYW06IENhdGFsYW5cbiIKICJMYW5ndWFnZTogY2FcbiIKQEAgLTE2LDE0ICsxNiwzOSBAQAogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKLSJYLUdlbmVyYXRvcjogUG9lZGl0IDEuOC43XG4iCisiWC1HZW5lcmF0b3I6IFBvZWRpdCAxLjguMTFcbiIKIAogIzogYWR2aWNlLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGludDogJS4qc1xuIgogbXNnc3RyICJwaXN0YTogJS4qc1xuIgogCi0jOiBhZHZpY2UuYzo4OAorIzogYWR2aWNlLmM6ODMKK21zZ2lkICJDaGVycnktcGlja2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIlJlY29sbGlyIGNpcmVyZXMgbm8gw6lzIHBvc3NpYmxlIHBlcnF1w6ggdGVuaXUgZml0eGVycyBubyBmdXNpb25hdHMuIgorCisjOiBhZHZpY2UuYzo4NQorbXNnaWQgIkNvbW1pdHRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICJDb21ldHJlIG5vIMOpcyBwb3NzaWJsZSBwZXJxdcOoIHRlbml1IGZpdHhlcnMgbm8gZnVzaW9uYXRzLiIKKworIzogYWR2aWNlLmM6ODcKK21zZ2lkICJNZXJnaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAiRnVzaW9uYXIgbm8gw6lzIHBvc3NpYmxlIHBlcnF1w6ggdGVuaXUgZml0eGVycyBubyBmdXNpb25hdHMuIgorCisjOiBhZHZpY2UuYzo4OQorbXNnaWQgIlB1bGxpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICJCYWl4YXIgbm8gZXMgcG9zc2libGUgcGVycXXDqCB0ZW5pdSBmaXR4ZXJzIG5vIGZ1c2lvbmF0cy4iCisKKyM6IGFkdmljZS5jOjkxCittc2dpZCAiUmV2ZXJ0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAiUmV2ZXJ0aXIgbm8gw6lzIHBvc3NpYmxlIHBlcnF1w6ggdGVuaXUgZml0eGVycyBubyBmdXNpb25hdHMuIgorCisjOiBhZHZpY2UuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICJJdCBpcyBub3QgcG9zc2libGUgdG8gJXMgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIk5vIGVzIHBvc3NpYmxlICVzIHBlcnF1w6ggdGVuaXUgZml0eGVycyBubyBmdXNpb25hdHMuIgorCisjOiBhZHZpY2UuYzoxMDEKIG1zZ2lkICIiCiAiRml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSwgYW5kIHRoZW4gdXNlICdnaXQgYWRkL3JtIDxmaWxlPidcbiIKICJhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24gYW5kIG1ha2UgYSBjb21taXQuIgpAQCAtMzIsMTcgKzU3LDY3MyBAQAogIidnaXQgYWRkL3JtIDxmaXR4ZXI+JyBzZWdvbnMgc2lndWkgYXByb3BpYXQgcGVyIGEgbWFyY2FyIGxhXG4iCiAicmVzb2x1Y2nDsyBpIGZldSB1bmEgY29taXNzacOzLiIKIAotIzogYWR2aWNlLmM6MTAxIGJ1aWx0aW4vbWVyZ2UuYzoxMjI2CisjOiBhZHZpY2UuYzoxMDkKK21zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCittc2dzdHIgIlMnZXN0w6Agc29ydGludCBhIGNhdXNhIGQndW4gY29uZmxpY3RlIG5vIHJlc29sdC4iCisKKyM6IGFkdmljZS5jOjExNCBidWlsdGluL21lcmdlLmM6MTE4MQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiTm8gaGV1IGNvbmNsw7JzIGxhIHZvc3RyYSBmdXNpw7MgKE1FUkdFX0hFQUQgZXhpc3RlaXgpLiIKIAotIzogYWR2aWNlLmM6MTAzCisjOiBhZHZpY2UuYzoxMTYKIG1zZ2lkICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIG1lcmdpbmcuIgogbXNnc3RyICJTaSB1cyBwbGF1LCBjb21ldGV1IGVscyB2b3N0cmVzIGNhbnZpcyBhYmFucyBkZSBmdXNpb25hci4iCiAKLSM6IGFkdmljZS5jOjEwNAorIzogYWR2aWNlLmM6MTE3CiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIHVuZmluaXNoZWQgbWVyZ2UuIgotbXNnc3RyICJTb3J0aW50IGEgY2F1c2EgZCd1bmEgZnVzacOzIG5vIHRlcm1pbmFkYS4iCittc2dzdHIgIlMnZXN0w6Agc29ydGludCBhIGNhdXNhIGQndW5hIGZ1c2nDsyBubyB0ZXJtaW5hZGEuIgorCisjOiBhZHZpY2UuYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdGU6IGNoZWNraW5nIG91dCAnJXMnLlxuIgorIlxuIgorIllvdSBhcmUgaW4gJ2RldGFjaGVkIEhFQUQnIHN0YXRlLiBZb3UgY2FuIGxvb2sgYXJvdW5kLCBtYWtlIGV4cGVyaW1lbnRhbFxuIgorImNoYW5nZXMgYW5kIGNvbW1pdCB0aGVtLCBhbmQgeW91IGNhbiBkaXNjYXJkIGFueSBjb21taXRzIHlvdSBtYWtlIGluIHRoaXNcbiIKKyJzdGF0ZSB3aXRob3V0IGltcGFjdGluZyBhbnkgYnJhbmNoZXMgYnkgcGVyZm9ybWluZyBhbm90aGVyIGNoZWNrb3V0LlxuIgorIlxuIgorIklmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggdG8gcmV0YWluIGNvbW1pdHMgeW91IGNyZWF0ZSwgeW91IG1heVxuIgorImRvIHNvIChub3cgb3IgbGF0ZXIpIGJ5IHVzaW5nIC1iIHdpdGggdGhlIGNoZWNrb3V0IGNvbW1hbmQgYWdhaW4uIEV4YW1wbGU6XG4iCisiXG4iCisiICBnaXQgY2hlY2tvdXQgLWIgPG5ldy1icmFuY2gtbmFtZT5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIkF2w61zOiBzJ2VzdMOgIGFnYWZhbnQgJyVzJy5cbiIKKyJcbiIKKyJFc3RldSBlbiB1biBlc3RhdCBkZSAnSEVBRCBzZXBhcmF0Jy4gUG9kZXUgbWlyYXIgYWwgdm9sdGFudCwgZmVyIGNhbnZpc1xuIgorImV4cGVyaW1lbnRhbHMgaSBjb21ldHJlLWxvcyBpIHBvZGV1IGRlc2NhcnRhciBxdWFsc2V2dWxsYSBjb21pc3Npw7MgcXVlIGZldVxuIgorImVuIGFxdWVzdCBlc3RhdCBzZW5zZSBpbXBhY3RhciBjYXAgYnJhbmNhIHJlYWxpdHphbnQgdW4gYWx0cmUgYWdhZmFtZW50LlxuIgorIlxuIgorIlNpIHZvbGV1IGNyZWFyIHVuYSBicmFuY2Egbm92YSBwZXIgYSBjb25zZXJ2YXIgbGVzIGNvbWlzc2lvbnMgcXVlIGNyZWV1LFxuIgorInBvZGVyIGZlciBhaXjDrSAoYXJhIG8gbcOpcyB0YXJkKSB1c2FudCAtYiBkZSBub3UgYW1iIGwnb3JkcmUgY2hlY2tvdXQuXG4iCisiRXhlbXBsZTpcbiIKKyJcbiIKKyIgIGdpdCBjaGVja291dCAtYiA8bm9tLWRlLWJyYW5jYS1ub3ZhPlxuIgorCisjOiBhcHBseS5jOjU3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgorbXNnc3RyICJvcGNpw7MgZCdlc3BhaSBlbiBibGFuYyAnJXMnIG5vIHJlY29uZWd1ZGEiCisKKyM6IGFwcGx5LmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgorbXNnc3RyICJvcGNpw7MgZCdpZ25vcmFsIGQnZXNwYWkgZW4gYmxhbmMgJyVzJyBubyByZWNvbmVndWRhIgorCisjOiBhcHBseS5jOjEyNQorbXNnaWQgIi0tcmVqZWN0IGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICItLXJlamVjdCBpIC0tM3dheSBubyBlcyBwb2RlbiB1c2FyIGp1bnRzLiIKKworIzogYXBwbHkuYzoxMjcKK21zZ2lkICItLWNhY2hlZCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKK21zZ3N0ciAiLS1jYWNoZWQgaSAtLTN3YXkgbm8gZXMgcG9kZW4gdXNhciBqdW50cy4iCisKKyM6IGFwcGx5LmM6MTMwCittc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICItLTN3YXkgZm9yYSBkJ3VuIGRpcMOyc2l0IgorCisjOiBhcHBseS5jOjE0MQorbXNnaWQgIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiCittc2dzdHIgIi0taW5kZXggZm9yYSBkJ3VuIGRpcMOyc2l0IgorCisjOiBhcHBseS5jOjE0NAorbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICItLWNhY2hlZCBmb3JhIGQndW4gZGlww7JzaXQiCisKKyM6IGFwcGx5LmM6ODQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiCittc2dzdHIgIk5vIGVzIHBvdCBwcmVwYXJhciBsJ2V4cHJlc3Npw7MgcmVndWxhciBkZSBtYXJjYSBkZSB0ZW1wcyAlcyIKKworIzogYXBwbHkuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgorbXNnc3RyICJyZWdleGVjIGhhIHJldG9ybmF0ICVkIHBlciBsJ2VudHJhZGE6ICVzIgorCisjOiBhcHBseS5jOjkzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmluZCBmaWxlbmFtZSBpbiBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHRyb2JhciBlbCBub20gZGUgZml0eGVyIGVuIGVsIHBlZGHDpyBhIGxhIGzDrW5pYSAlZCIKKworIzogYXBwbHkuYzo5NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgorbXNnc3RyICIiCisiZ2l0IGFwcGx5OiBnaXQtZGlmZiBkb2xlbnQgLSAvZGV2L251bGwgZXNwZXJhdCwgJXMgcmVidXQgZW4gbGEgbMOtbmlhICVkIgorCisjOiBhcHBseS5jOjk4MworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKK21zZ3N0ciAiIgorImdpdCBhcHBseTogZ2l0LWRpZmYgZG9sZW50IC0gbm9tIGRlIGZpdHhlciBub3UgaW5jb25zaXN0ZW50IGVuIGxhIGzDrW5pYSAlZCIKKworIzogYXBwbHkuYzo5ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCittc2dzdHIgIiIKKyJnaXQgYXBwbHk6IGdpdC1kaWZmIGRvbGVudCAtIG5vbSBkZSBmaXR4ZXIgYW50aWMgaW5jb25zaXN0ZW50IGVuIGxhIGzDrW5pYSAlZCIKKworIzogYXBwbHkuYzo5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwgb24gbGluZSAlZCIKK21zZ3N0ciAiZ2l0IGFwcGx5OiBnaXQtZGlmZiBkb2xlbnQgLSAvZGV2L251bGwgZXNwZXJhdCBlbiBsYSBsw61uaWEgJWQiCisKKyM6IGFwcGx5LmM6MTQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvdW50OiB1bmV4cGVjdGVkIGxpbmU6ICUuKnMiCittc2dzdHIgInJlY29tcHRlOiBsw61uaWEgaW5lc3BlcmFkYTogJS4qcyIKKworIzogYXBwbHkuYzoxNTU3CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgImZyYWdtZW50IGRlIHBlZGHDpyBzZW5zZSBjYXDDp2FsZXJhIGEgbGEgbMOtbmlhICVkOiAlLipzIgorCisjOiBhcHBseS5jOjE1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgorImNvbXBvbmVudCAobGluZSAlZCkiCittc2dpZF9wbHVyYWwgIiIKKyJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKKyJjb21wb25lbnRzIChsaW5lICVkKSIKK21zZ3N0clswXSAiIgorImEgbGEgY2Fww6dhbGVyYSBkZSBnaXQgZGlmZiBsaSBtYW5jYSBpbmZvcm1hY2nDsyBkZSBub20gZGUgZml0eGVyIGVuIGVsaW1pbmFyICIKKyIlZCBjb21wb25lbnQgZGUgbm9tIGRlIGNhbcOtIGluaWNpYWwgKGzDrW5pYSAlZCkiCittc2dzdHJbMV0gIiIKKyJhIGxhIGNhcMOnYWxlcmEgZGUgZ2l0IGRpZmYgbGkgbWFuY2EgaW5mb3JtYWNpw7MgZGUgbm9tIGRlIGZpdHhlciBlbiBlbGltaW5hciAiCisiJWQgY29tcG9uZW50cyBkZSBub20gZGUgY2Ftw60gaW5pY2lhbCAobMOtbmlhICVkKSIKKworIzogYXBwbHkuYzoxNTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCittc2dzdHIgIiIKKyJhIGxhIGNhcMOnYWxlcmEgZGUgZ2l0IGRpZmYgbGkgbWFuY2EgaW5mb3JtYWNpw7MgZGUgbm9tIGRlIGZpdHhlciAobMOtbmlhICVkKSIKKworIzogYXBwbHkuYzoxNzU5Cittc2dpZCAibmV3IGZpbGUgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCittc2dzdHIgImVsIGZpdHhlciBub3UgZGVww6huIGRlbHMgY29udGluZ3V0cyBhbnRpY3MiCisKKyM6IGFwcGx5LmM6MTc2MQorbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgImVsIGZpdHhlciBzdXByaW1pdCBlbmNhcmEgdMOpIGNvbnRpbmd1dHMiCisKKyM6IGFwcGx5LmM6MTc5NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgInBlZGHDpyBtYWxtw6hzIGEgbGEgbMOtbmlhICVkIgorCisjOiBhcHBseS5jOjE4MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCittc2dzdHIgImVsIGZpdHhlciBub3UgJXMgZGVww6huIGRlbHMgY29udGluZ3V0cyBhbnRpY3MiCisKKyM6IGFwcGx5LmM6MTgzNAorIywgYy1mb3JtYXQKK21zZ2lkICJkZWxldGVkIGZpbGUgJXMgc3RpbGwgaGFzIGNvbnRlbnRzIgorbXNnc3RyICJlbCBmaXR4ZXIgc3VwcmltaXQgJXMgZW5jYXJhIHTDqSBjb250aW5ndXRzIgorCisjOiBhcHBseS5jOjE4MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiKiogd2FybmluZzogZmlsZSAlcyBiZWNvbWVzIGVtcHR5IGJ1dCBpcyBub3QgZGVsZXRlZCIKK21zZ3N0ciAiKiogYWR2ZXJ0w6huY2lhOiBlbCBmaXR4ZXIgJXMgcXVlZGEgYnVpdCBwZXLDsiBubyBzZSBzdXByaW1laXgiCisKKyM6IGFwcGx5LmM6MTk4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIgorbXNnc3RyICJwZWRhw6cgYmluYXJpIG1hbG3DqHMgYSBsYSBsw61uaWEgJWQ6ICUuKnMiCisKKyM6IGFwcGx5LmM6MjAyMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgInBlZGHDpyBiaW5hcmkgbm8gcmVjb25lZ3V0IGEgbGEgbMOtbmlhICVkIgorCisjOiBhcHBseS5jOjIxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggd2l0aCBvbmx5IGdhcmJhZ2UgYXQgbGluZSAlZCIKK21zZ3N0ciAicGVkYcOnIGFtYiBub23DqXMgZXNjb21icmFyaWVzIGEgbGEgbMOtbmlhICVkIgorCisjOiBhcHBseS5jOjIyNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgbCdlbmxsYcOnIHNpbWLDsmxpYyAlcyIKKworIzogYXBwbHkuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuIG9yIHJlYWQgJXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgbyBsbGVnaXIgJXMiCisKKyM6IGFwcGx5LmM6MjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IG9mIGxpbmU6ICclYyciCittc2dzdHIgImluaWNpIGRlIGzDrW5pYSBubyB2w6BsaWQ6ICclYyciCisKKyM6IGFwcGx5LmM6MzA1MAorIywgYy1mb3JtYXQKK21zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCittc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCittc2dzdHJbMF0gIkVsIHRyb3MgIyVkIGhhIHRpbmd1dCDDqHhpdCBhICVkIChkZXNwbGHDp2FtZW50IGQnJWQgbMOtbmlhKS4iCittc2dzdHJbMV0gIkVsIHRyb3MgIyVkIGhhIHRpbmd1dCDDqHhpdCBhICVkIChkZXNwbGHDp2FtZW50IGRlICVkIGzDrW5pZXMpLiIKKworIzogYXBwbHkuYzozMDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRleHQgcmVkdWNlZCB0byAoJWxkLyVsZCkgdG8gYXBwbHkgZnJhZ21lbnQgYXQgJWQiCittc2dzdHIgIkVsIGNvbnRleHQgcydoYSByZWR1w690IGEgKCVsZC8lbGQpIHBlciBhIGFwbGljYXIgZWwgZnJhZ21lbnQgYSAlZCIKKworIzogYXBwbHkuYzozMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgorIiUuKnMiCittc2dzdHIgIiIKKyJ0b3QgY2VyY2FudDpcbiIKKyIlLipzIgorCisjOiBhcHBseS5jOjMwOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKK21zZ3N0ciAibWFucXVlbiBsZXMgZGFkZXMgZGUgcGVkYcOnIGJpbmFyaSBkZSAnJXMnIgorCisjOiBhcHBseS5jOjMwOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJldmVyc2UtYXBwbHkgYSBiaW5hcnkgcGF0Y2ggd2l0aG91dCB0aGUgcmV2ZXJzZSBodW5rIHRvICclcyciCittc2dzdHIgIm5vIGVzIHBvdCBhcGxpY2FyIGFsIHJldsOpcyB1biBwZWRhw6cgYmluYXJpIHNlbnNlIGVsIHRyb3MgcmV2w6lzIGEgJyVzJyIKKworIzogYXBwbHkuYzozMTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhcHBseSBiaW5hcnkgcGF0Y2ggdG8gJyVzJyB3aXRob3V0IGZ1bGwgaW5kZXggbGluZSIKK21zZ3N0ciAiIgorIm5vIGVzIHBvdCBhcGxpY2FyIHVuIHBlZGHDpyBiaW5hcmkgYSAnJXMnIHNlbnNlIGxhIGzDrW5pYSBkJ8OtbmRleCBjb21wbGV0YSIKKworIzogYXBwbHkuYzozMTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ0aGUgcGF0Y2ggYXBwbGllcyB0byAnJXMnICglcyksIHdoaWNoIGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50IGNvbnRlbnRzLiIKK21zZ3N0ciAiIgorImVsIHBlZGHDpyBzJ2FwbGljYSBhICclcycgKCVzKSwgZWwgcXVhbCBubyBjb2luY2lkZWl4IGFtYiBlbHMgY29udGluZ3V0cyAiCisiYWN0dWFscy4iCisKKyM6IGFwcGx5LmM6MzE2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCittc2dzdHIgImVsIHBlZGHDpyBzJ2FwbGljYSBhIHVuICclcycgYnVpdCBwZXLDsiBubyDDqXMgYnVpdCIKKworIzogYXBwbHkuYzozMTgwCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBuZWNlc3NhcnkgcG9zdGltYWdlICVzIGZvciAnJXMnIGNhbm5vdCBiZSByZWFkIgorbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyIGxhIHBvc3RpbWF0Z2UgbmVjZXNzYXJpICVzIHBlciBhICclcyciCisKKyM6IGFwcGx5LmM6MzE5MworIywgYy1mb3JtYXQKK21zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKK21zZ3N0ciAiZWwgcGVkYcOnIGJpbmFyaSBubyBzJ2FwbGljYSBhICclcyciCisKKyM6IGFwcGx5LmM6MzE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKK21zZ3N0ciAiIgorImVsIHBlZGHDpyBiaW5hcmkgYSAnJXMnIGNyZWEgdW4gcmVzdWx0YXQgaW5jb3JyZWN0ZSAoZXNwZXJhbnQgJXMsICVzIHJlYnV0KSIKKworIzogYXBwbHkuYzozMjIwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgorbXNnc3RyICJlbCBwZWRhw6cgaGEgZmFsbGF0OiAlczolbGQiCisKKyM6IGFwcGx5LmM6MzM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCittc2dzdHIgIm5vIGVzIHBvdCBhZ2FmYXIgJXMiCisKKyM6IGFwcGx5LmM6MzM5MCBhcHBseS5jOjM0MDEgYXBwbHkuYzozNDQ3IHNldHVwLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICVzIgorbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBsbGVnaXIgJXMiCisKKyM6IGFwcGx5LmM6MzM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICJzJ2VzdMOgIGxsZWdpbnQgZGUgJyVzJyBtw6lzIGVubGzDoCBkJ3VuIGVubGxhw6cgc2ltYsOybGljIgorCisjOiBhcHBseS5jOjM0MjcgYXBwbHkuYzozNjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIgorbXNnc3RyICJlbCBjYW3DrSAlcyBzJ2hhIGNhbnZpYXQgZGUgbm9tIC8gcydoYSBzdXByaW1pdCIKKworIzogYXBwbHkuYzozNTEwIGFwcGx5LmM6MzY4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiCittc2dzdHIgIiVzOiBubyBleGlzdGVpeCBlbiBsJ8OtbmRleCIKKworIzogYXBwbHkuYzozNTE5IGFwcGx5LmM6MzY4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiCittc2dzdHIgIiVzOiBubyBjb2luY2lkZWl4IGFtYiBsJ8OtbmRleCIKKworIzogYXBwbHkuYzozNTU0Cittc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKK21zZ3N0ciAiIgorImFsIGRpcMOyc2l0IGxpIG1hbmNhIGVsIGJsb2IgbmVjZXNzYXJpIHBlciBhIHJldHJvY2VkaXIgYSB1bmEgZnVzacOzIGRlIDMgdmllcy4iCisKKyM6IGFwcGx5LmM6MzU1NworIywgYy1mb3JtYXQKK21zZ2lkICJGYWxsaW5nIGJhY2sgdG8gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCittc2dzdHIgIlMnZXN0w6AgcmV0cm9jZWRpbnQgYSB1bmEgZnVzacOzIGRlIDMgdmllcy4uLlxuIgorCisjOiBhcHBseS5jOjM1NzMgYXBwbHkuYzozNTc3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mICclcyciCittc2dzdHIgIm5vIGVzIHBvZGVuIGxsZWdpciBlbHMgY29udGluZ3V0cyBhY3R1YWxzIGRlICclcyciCisKKyM6IGFwcGx5LmM6MzU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gZmFsbCBiYWNrIG9uIHRocmVlLXdheSBtZXJnZS4uLlxuIgorbXNnc3RyICJTJ2hhIGZhbGxhdCBlbiByZXRyb2NlZGlyIGEgdW5hIGZ1c2nDsyBkZSAzIHZpZXMuLi5cbiIKKworIzogYXBwbHkuYzozNjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyB3aXRoIGNvbmZsaWN0cy5cbiIKK21zZ3N0ciAiUydoYSBhcGxpY2F0IGVsIHBlZGHDpyBhICclcycgYW1iIGNvbmZsaWN0ZXMuXG4iCisKKyM6IGFwcGx5LmM6MzYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgY2xlYW5seS5cbiIKK21zZ3N0ciAiUydoYSBhcGxpY2F0IGVsIHBlZGHDpyBhICclcycgbmV0YW1lbnQuXG4iCisKKyM6IGFwcGx5LmM6MzYzNAorbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCittc2dzdHIgImVsIHBlZGHDpyBkJ2VsaW1pbmFjacOzIGRlaXhhIGVscyBjb250aW5ndXRzIGRlbHMgZml0eGVycyIKKworIzogYXBwbHkuYzozNzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgorbXNnc3RyICIlczogdGlwdXMgZXJyb25pIgorCisjOiBhcHBseS5jOjM3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgorbXNnc3RyICIlcyDDqXMgZGVsIHRpcHVzICVvLCBzJ2VzcGVyYXZhICVvIgorCisjOiBhcHBseS5jOjM4NTkgYXBwbHkuYzozODYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgorbXNnc3RyICJjYW3DrSBubyB2w6BsaWQ6ICVzIgorCisjOiBhcHBseS5jOjM5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgorbXNnc3RyICIlczogamEgZXhpc3RlaXggZW4gbCfDrW5kZXgiCisKKyM6IGFwcGx5LmM6MzkyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBqYSBleGlzdGVpeCBlbiBlbCBkaXJlY3RvcmkgZGUgdHJlYmFsbCIKKworIzogYXBwbHkuYzozOTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKK21zZ3N0ciAiZWwgbW9kZSBub3UgKCVvKSBkZSAlcyBubyBjb2luY2lkZWl4IGFtYiBlbCBtb2RlIGFudGljICglbykiCisKKyM6IGFwcGx5LmM6Mzk0NQorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCittc2dzdHIgImVsIG1vZGUgbm91ICglbykgZGUgJXMgbm8gY29pbmNpZGVpeCBhbWIgZWwgbW9kZSBhbnRpYyAoJW8pIGRlICVzIgorCisjOiBhcHBseS5jOjM5NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWZmZWN0ZWQgZmlsZSAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgImVsIGZpdHhlciBhZmVjdGF0ICclcycgw6lzIG3DqXMgZW5sbMOgIGQndW4gZW5sbGHDpyBzaW1iw7JsaWMiCisKKyM6IGFwcGx5LmM6Mzk2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCittc2dzdHIgIiVzOiBlbCBwZWRhw6cgbm8gcydhcGxpY2EiCisKKyM6IGFwcGx5LmM6Mzk4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKK21zZ3N0ciAiUydlc3TDoCBjb21wcm92YW50IGVsIHBlZGHDpyAlcy4uLiIKKworIzogYXBwbHkuYzo0MDc1CisjLCBjLWZvcm1hdAorbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzIGZvciBzdWJtb2R1bGUgJXMiCittc2dzdHIgImZhbHRhIGxhIGluZm9ybWFjacOzIHNoYTEgbyDDqXMgaW7DunRpbCBwZXIgYWwgc3VibcOyZHVsICVzIgorCisjOiBhcHBseS5jOjQwODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZSBjaGFuZ2UgZm9yICVzLCB3aGljaCBpcyBub3QgaW4gY3VycmVudCBIRUFEIgorbXNnc3RyICJjYW52aSBkZSBtb2RlIHBlciBhICVzLCBlbCBxdWFsIG5vIGVzdMOgIGVuIGVsIEhFQUQgYWN0dWFsIgorCisjOiBhcHBseS5jOjQwODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgKCVzKS4iCittc2dzdHIgImZhbHRhIGluZm9ybWFjacOzIHNoYTEgbyDDqXMgaW7DunRpbCAoJXMpLiIKKworIzogYXBwbHkuYzo0MDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzMgYnVpbHRpbi9yZXNldC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgorbXNnc3RyICJtYWtlX2NhY2hlX2VudHJ5IGhhIGZhbGxhdCBwZXIgYWwgY2Ftw60gJyVzJyIKKworIzogYXBwbHkuYzo0MDk0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFmZWdpciAlcyBhIGwnaW5kZXggdGVtcG9yYWwiCisKKyM6IGFwcGx5LmM6NDEwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdGVtcG9yYXJ5IGluZGV4IHRvICVzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGwnw61uZGV4IHRlbXBvcmFsIGEgJXMiCisKKyM6IGFwcGx5LmM6NDI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlICVzIGZyb20gaW5kZXgiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZWxpbWluYXIgJXMgZGUgbCfDrW5kZXgiCisKKyM6IGFwcGx5LmM6NDI3NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCittc2dzdHIgInBlZGHDpyBtYWxtw6hzIHBlciBhbCBzdWJtw7JkdWwgJXMiCisKKyM6IGFwcGx5LmM6NDI4MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgc3RhdCBhbCBmaXR4ZXIgbm92YW1lbnQgY3JlYXQgJyVzJyIKKworIzogYXBwbHkuYzo0MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgorbXNnc3RyICIiCisibm8gcydoYSBwb2d1dCBjcmVhciB1biBtYWdhdHplbSBkZSByZWNvbHphbWVudCBwZXIgYWwgZml0eGVyIG5vdmFtZW50IGNyZWF0ICIKKyIlcyIKKworIzogYXBwbHkuYzo0Mjk3IGFwcGx5LmM6NDQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBhZmVnaXIgdW5hIGVudHJhZGEgZGUgY2F1IHBlciBhICVzIgorCisjOiBhcHBseS5jOjQzMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIHRvICclcyciCittc2dzdHIgInMnaGEgZmFsbGF0IGVuIGVzY3JpdXJlIGEgJyVzJyIKKworIzogYXBwbHkuYzo0MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgZmlsZSAnJXMnIgorbXNnc3RyICJzJ2VzdMOgIHRhbmNhbnQgZWwgZml0eGVyICclcyciCisKKyM6IGFwcGx5LmM6NDQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWwgZml0eGVyICclcycgbW9kZSAlbyIKKworIzogYXBwbHkuYzo0NTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggJXMgY2xlYW5seS4iCittc2dzdHIgIkVsIHBlZGHDpyAlcyBzJ2hhIGFwbGljYXQgbmV0YW1lbnQuIgorCisjOiBhcHBseS5jOjQ1MTgKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiZXJyb3IgaW50ZXJuIgorCisjOiBhcHBseS5jOjQ1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIgorbXNnaWRfcGx1cmFsICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3RzLi4uIgorbXNnc3RyWzBdICJTJ2VzdMOgIGFwbGljYW50IGVsIHBlZGHDpyAlJXMgYW1iICVkIHJlYnVpZy4uLiIKK21zZ3N0clsxXSAiUydlc3TDoCBhcGxpY2FudCBlbCBwZWRhw6cgJSVzIGFtYiAlZCByZWJ1aXRqb3MuLi4iCisKKyM6IGFwcGx5LmM6NDUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCittc2dzdHIgInMnZXN0w6AgdHJ1bmNhbnQgZWwgbm9tIGRlbCBmaXR4ZXIgLnJlaiBhICUuKnMucmVqIgorCisjOiBhcHBseS5jOjQ1NDAgYnVpbHRpbi9mZXRjaC5jOjc0MCBidWlsdGluL2ZldGNoLmM6OTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgJXMiCisKKyM6IGFwcGx5LmM6NDU1NAorIywgYy1mb3JtYXQKK21zZ2lkICJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIgorbXNnc3RyICJFbCB0cm9zICMlZCBzJ2hhIGFwbGljYXQgbmV0YW1lbnQuIgorCisjOiBhcHBseS5jOjQ1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgorbXNnc3RyICJTJ2hhIHJlYnV0amF0IGVsIHRyb3MgIyVkLiIKKworIzogYXBwbHkuYzo0NjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCittc2dzdHIgIlMnaGEgc2FsdGF0IGVsIHBlZGHDpyAnJXMnLiIKKworIzogYXBwbHkuYzo0Njc2Cittc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgorbXNnc3RyICJlbnRyYWRhIG5vIHJlY29uZWd1ZGEiCisKKyM6IGFwcGx5LmM6NDY5NQorbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCittc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgZWwgZml0eGVyIGQnw61uZGV4IgorCisjOiBhcHBseS5jOjQ4MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgb3BlbiBwYXRjaCAnJXMnOiAlcyIKK21zZ3N0ciAibm8gZXMgcG90IG9icmlyIGVsIHBlZGHDpyAnJXMnOiAlcyIKKworIzogYXBwbHkuYzo0ODU4CisjLCBjLWZvcm1hdAorbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgorbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHJbMF0gInMnaGEgb23DqHMgJWQgZXJyb3IgZCdlc3BhaSBlbiBibGFuYyIKK21zZ3N0clsxXSAicydoYW4gb23DqHMgJWQgZXJyb3JzIGQnZXNwYWkgZW4gYmxhbmMiCisKKyM6IGFwcGx5LmM6NDg2NCBhcHBseS5jOjQ4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgbGluZSBhZGRzIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYWRkIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ3N0clswXSAiJWQgbMOtbmlhIGFmZWdlaXggZXJyb3JzIGQnZXNwYWkgZW4gYmxhbmMuIgorbXNnc3RyWzFdICIlZCBsw61uaWVzIGFmZWdlaXhlbiBlcnJvcnMgZCdlc3BhaSBlbiBibGFuYy4iCisKKyM6IGFwcGx5LmM6NDg3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBsaW5lIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnc3RyWzBdICIiCisiUydoYSBhcGxpY2F0ICVkIGzDrW5pYSBkZXNwcsOocyBkJ2FycmVnbGFyIGVscyBlcnJvcnMgZCdlc3BhaSBlbiBibGFuYy4iCittc2dzdHJbMV0gIiIKKyJTJ2hhbiBhcGxpY2F0ICVkIGzDrW5pZXMgZGVzcHLDqHMgZCdhcnJlZ2xhciBlbHMgZXJyb3JzIGQnZXNwYWkgZW4gYmxhbmMuIgorCisjOiBhcHBseS5jOjQ4ODggYnVpbHRpbi9hZGQuYzo0NjMgYnVpbHRpbi9tdi5jOjI4NiBidWlsdGluL3JtLmM6NDMxCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIHVuIGZpdHhlciBkJ8OtbmRleCBub3UiCisKKyM6IGFwcGx5LmM6NDkxOSBhcHBseS5jOjQ5MjIgYnVpbHRpbi9hbS5jOjIyNzcgYnVpbHRpbi9hbS5jOjIyODAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NSBidWlsdGluL2ZldGNoLmM6OTggYnVpbHRpbi9wdWxsLmM6MTgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjgxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1ODkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ3Cittc2dpZCAicGF0aCIKK21zZ3N0ciAiY2Ftw60iCisKKyM6IGFwcGx5LmM6NDkyMAorbXNnaWQgImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCittc2dzdHIgIm5vIGFwbGlxdWlzIGVscyBjYW52aXMgcXVlIGNvaW5jaWRlaXhpbiBhbWIgZWwgY2Ftw60gZG9uYXQiCisKKyM6IGFwcGx5LmM6NDkyMworbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCittc2dzdHIgImFwbGljYSBlbHMgY2FudmlzIHF1ZSBjb2luY2lkZWl4aW4gYW1iIGVsIGNhbcOtIGRvbmF0IgorCisjOiBhcHBseS5jOjQ5MjUgYnVpbHRpbi9hbS5jOjIyODYKK21zZ2lkICJudW0iCittc2dzdHIgIm7Dum1lcm8iCisKKyM6IGFwcGx5LmM6NDkyNgorbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgorbXNnc3RyICIiCisiZWxpbWluYSA8bm9tYnJlPiBiYXJyZXMgb2JsaXHDvGVzIGluaWNpYWxzIGRlbHMgY2FtaW5zIGRlIGRpZmVyw6huY2lhICIKKyJ0cmFkaWNpb25hbHMiCisKKyM6IGFwcGx5LmM6NDkyOQorbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCittc2dzdHIgImlnbm9yYSBhZmVnaW1lbnRzIGZldHMgcGVsIHBlZGHDpyIKKworIzogYXBwbHkuYzo0OTMxCittc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBkaWZmc3RhdCBmb3IgdGhlIGlucHV0IgorbXNnc3RyICIiCisiZW4gbGxvYyBkJ2FwbGljYXIgZWwgcGVkYcOnLCBlbWV0IGxlcyBlc3RhZMOtc3RpcXVlcyBkZSBkaWZlcsOobmNpYSBkZSBsJ2VudHJhZGEiCisKKyM6IGFwcGx5LmM6NDkzNQorbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCittc2dzdHIgIm1vc3RyYSBlbCBub21icmUgZGUgbMOtbmllcyBhZmVnaWRlcyBpIHN1cHJpbWlkZXMgZW4gbm90YWNpw7MgZGVjaW1hbCIKKworIzogYXBwbHkuYzo0OTM3Cittc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIKK21zZ3N0ciAiZW4gbGxvYyBkJ2FwbGljYXIgZWwgcGVkYcOnLCBlbWV0IHVuIHJlc3VtIGRlIGwnZW50cmFkYSIKKworIzogYXBwbHkuYzo0OTM5Cittc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKK21zZ3N0ciAiZW4gbGxvYyBkJ2FwbGljYXIgZWwgcGVkYcOnLCB2ZWdlcyBzaSBlbCBwZWRhw6cgw6lzIGFwbGljYWJsZSIKKworIzogYXBwbHkuYzo0OTQxCittc2dpZCAibWFrZSBzdXJlIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBjdXJyZW50IGluZGV4IgorbXNnc3RyICJhc3NlZ3VyYSBxdWUgZWwgcGVkYcOnIHNpZ3VpIGFwbGljYWJsZSBhIGwnw61uZGV4IGFjdHVhbCIKKworIzogYXBwbHkuYzo0OTQzCittc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgImFwbGljYSB1biBwZWRhw6cgc2Vuc2UgdG9jYXIgbCdhcmJyZSBkZSB0cmViYWxsIgorCisjOiBhcHBseS5jOjQ5NDUKK21zZ2lkICJhY2NlcHQgYSBwYXRjaCB0aGF0IHRvdWNoZXMgb3V0c2lkZSB0aGUgd29ya2luZyBhcmVhIgorbXNnc3RyICJhY2NlcHRhIHVuIHBlZGHDpyBxdWUgdG9xdWkgZm9yYSBkZSBsJ8OgcmVhIGRlIHRyZWJhbGwiCisKKyM6IGFwcGx5LmM6NDk0NworbXNnaWQgImFsc28gYXBwbHkgdGhlIHBhdGNoICh1c2Ugd2l0aCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgorbXNnc3RyICJhcGxpY2EgZWwgcGVkYcOnIHRhbWLDqSAodXNldSBhbWIgLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKKworIzogYXBwbHkuYzo0OTQ5Cittc2dpZCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIKK21zZ3N0ciAiaW50ZW50YSB1bmEgZnVzacOzIGRlIHRyZXMgdmllcyBzaSBlbCBwZWRhw6cgbm8gcydhcGxpY2EiCisKKyM6IGFwcGx5LmM6NDk1MQorbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgorbXNnc3RyICJjb25zdHJ1ZWl4IHVuIMOtbmRleCB0ZW1wb3JhbCBiYXNhdCBlbiBsYSBpbmZvcm1hY2nDsyBkJ8OtbmRleCBpbmNydXN0YWRhIgorCisjOiBhcHBseS5jOjQ5NTQgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OSBidWlsdGluL2xzLWZpbGVzLmM6NTA1Cittc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgImVscyBjYW1pbnMgc2Ugc2VwYXJlbiBhbWIgZWwgY2Fyw6BjdGVyIE5VTCIKKworIzogYXBwbHkuYzo0OTU2Cittc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgorbXNnc3RyICJhc3NlZ3VyYSd0IHF1ZSBhbG1lbnlzIDxuPiBsw61uaWVzIGRlIGNvbnRleHQgY29pbmNpZGVpeGluIgorCisjOiBhcHBseS5jOjQ5NTcgYnVpbHRpbi9hbS5jOjIyNjUKK21zZ2lkICJhY3Rpb24iCittc2dzdHIgImFjY2nDsyIKKworIzogYXBwbHkuYzo0OTU4Cittc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHIgIiIKKyJkZXRlY3RhIGxlcyBsw61uaWVzIG5vdmVzIG8gbW9kaWZpY2FkZXMgcXVlIHRpbmd1aW4gZXJyb3JzIGQnZXNwYWkgZW4gYmxhbmMiCisKKyM6IGFwcGx5LmM6NDk2MSBhcHBseS5jOjQ5NjQKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgorbXNnc3RyICJpZ25vcmEgZWxzIGNhbnZpcyBkJ2VzcGFpIGVuIGJsYW5jIGVuIGNlcmNhciBjb250ZXh0IgorCisjOiBhcHBseS5jOjQ5NjcKK21zZ2lkICJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIKK21zZ3N0ciAiYXBsaWNhIGVsIHBlZGHDpyBhbCByZXbDqXMiCisKKyM6IGFwcGx5LmM6NDk2OQorbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgorbXNnc3RyICJubyBlc3BlcmlzIGFsbWVueXMgdW5hIGzDrW5pYSBkZSBjb250ZXh0IgorCisjOiBhcHBseS5jOjQ5NzEKK21zZ2lkICJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIKK21zZ3N0ciAiZGVpeGEgZWxzIHRyb3Nzb3MgcmVidXRqYXRzIGVuIGZpdHhlcnMgKi5yZWcgY29ycmVzcG9uZW50cyIKKworIzogYXBwbHkuYzo0OTczCittc2dpZCAiYWxsb3cgb3ZlcmxhcHBpbmcgaHVua3MiCittc2dzdHIgInBlcm1ldCB0cm9zc29zIGVuY2F2YWxjYW50cyIKKworIzogYXBwbHkuYzo0OTc0IGJ1aWx0aW4vYWRkLmM6MjY3IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzOSBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NCBidWlsdGluL2ZzY2suYzo1OTMKKyM6IGJ1aWx0aW4vbG9nLmM6MTg2MCBidWlsdGluL212LmM6MTEwIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE0Cittc2dpZCAiYmUgdmVyYm9zZSIKK21zZ3N0ciAic2lndWVzIGRldGFsbGF0IgorCisjOiBhcHBseS5jOjQ5NzYKK21zZ2lkICJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIKK21zZ3N0ciAidG9sZXJhIHVuYSBsw61uaWEgbm92YSBpbmNvcnJlY3RhbWVudCBkZXRlY3RhZGEgYWwgZmluYWwgZGVsIGZpdHhlciIKKworIzogYXBwbHkuYzo0OTc5Cittc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgorbXNnc3RyICJubyBjb25macOvcyBlbiBlbHMgcmVjb21wdGVzIGRlIGzDrW5pYSBlbiBsZXMgY2Fww6dhbGVyZXMgZGVscyB0cm9zc29zIgorCisjOiBhcHBseS5jOjQ5ODEgYnVpbHRpbi9hbS5jOjIyNzQKK21zZ2lkICJyb290IgorbXNnc3RyICJhcnJlbCIKKworIzogYXBwbHkuYzo0OTgyCittc2dpZCAicHJlcGVuZCA8cm9vdD4gdG8gYWxsIGZpbGVuYW1lcyIKK21zZ3N0ciAiYW50ZXBvc2EgPGFycmVsPiBhIHRvdHMgZWxzIG5vbXMgZGUgZml0eGVyIgogCiAjOiBhcmNoaXZlLmM6MTIKIG1zZ2lkICJnaXQgYXJjaGl2ZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgpAQCAtNjMsMTAgKzc0NCwxMCBAQAogbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxkaXDDsnNpdD4gWy0tZXhlYyA8b3JkcmU+XSAtLWxpc3QiCiAKLSM6IGFyY2hpdmUuYzozNDQgYnVpbHRpbi9hZGQuYzoxMzcgYnVpbHRpbi9hZGQuYzo0MjAgYnVpbHRpbi9ybS5jOjMyNworIzogYXJjaGl2ZS5jOjM0NCBidWlsdGluL2FkZC5jOjE1MiBidWlsdGluL2FkZC5jOjQ0MiBidWlsdGluL3JtLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiCi1tc2dzdHIgIkwnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw60gJyVzJyBubyBoYSBjb2luY2lkaXQgYW1iIGNhcCBmaXR4ZXIiCittc2dzdHIgImwnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw60gJyVzJyBubyBoYSBjb2luY2lkaXQgYW1iIGNhcCBmaXR4ZXIiCiAKICM6IGFyY2hpdmUuYzo0MjkKIG1zZ2lkICJmbXQiCkBAIC03Niw3ICs3NTcsNyBAQAogbXNnaWQgImFyY2hpdmUgZm9ybWF0IgogbXNnc3RyICJmb3JtYXQgZCdhcnhpdSIKIAotIzogYXJjaGl2ZS5jOjQzMCBidWlsdGluL2xvZy5jOjEyMzIKKyM6IGFyY2hpdmUuYzo0MzAgYnVpbHRpbi9sb2cuYzoxNDI5CiBtc2dpZCAicHJlZml4IgogbXNnc3RyICJwcmVmaXgiCiAKQEAgLTg0LDExICs3NjUsMTEgQEAKIG1zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgogbXNnc3RyICJhbnRlcG9zYSBlbCBwcmVmaXggYSBjYWRhIG5vbSBkZSBjYW3DrSBlbiBsJ2FyeGl1IgogCi0jOiBhcmNoaXZlLmM6NDMyIGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyNTQ3IGJ1aWx0aW4vYmxhbWUuYzoyNTQ4Ci0jOiBidWlsdGluL2NvbmZpZy5jOjYwIGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OQotIzogYnVpbHRpbi9ncmVwLmM6NzIwIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAgYnVpbHRpbi9scy1maWxlcy5jOjQ1OQotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MiBidWlsdGluL25vdGVzLmM6Mzk4IGJ1aWx0aW4vbm90ZXMuYzo1NjEKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA5IHBhcnNlLW9wdGlvbnMuaDoxNTMKKyM6IGFyY2hpdmUuYzo0MzIgYnVpbHRpbi9ibGFtZS5jOjI2MDMgYnVpbHRpbi9ibGFtZS5jOjI2MDQgYnVpbHRpbi9jb25maWcuYzo1OQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5IGJ1aWx0aW4vZ3JlcC5jOjcyMworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMSBidWlsdGluL2xzLWZpbGVzLmM6NTM5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDEgYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL3JlYWQtdHJlZS5jOjEwOQorIzogcGFyc2Utb3B0aW9ucy5oOjE1MwogbXNnaWQgImZpbGUiCiBtc2dzdHIgImZpdHhlciIKIApAQCAtMTIwLDcgKzgwMSw4IEBACiBtc2dpZCAibGlzdCBzdXBwb3J0ZWQgYXJjaGl2ZSBmb3JtYXRzIgogbXNnc3RyICJhbGxpc3RhIGVscyBmb3JtYXRzIGQnYXJ4aXUgYWRtZXNvcyIKIAotIzogYXJjaGl2ZS5jOjQ1MSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6NzgKKyM6IGFyY2hpdmUuYzo0NTEgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg1IGJ1aWx0aW4vY2xvbmUuYzo4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUzCiBtc2dpZCAicmVwbyIKIG1zZ3N0ciAiZGlww7JzaXQiCiAKQEAgLTEyOCw3ICs4MTAsNyBAQAogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICJyZWN1cGVyYSBsJ2FyeGl1IGRlbCBkaXDDsnNpdCByZW1vdCA8ZGlww7JzaXQ+IgogCi0jOiBhcmNoaXZlLmM6NDUzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODIKKyM6IGFyY2hpdmUuYzo0NTMgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NQogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgIm9yZHJlIgogCkBAIC0xMzYsNiArODE4LDI4IEBACiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICJjYW3DrSBhIGwnb3JkcmUgZ2l0LXVwbG9hZC1hcmNoaXZlIHJlbW90YSIKIAorIzogYXJjaGl2ZS5jOjQ2MQorbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tcmVtb3RlIgorbXNnc3RyICJPcGNpw7MgaW5lc3BlcmFkYSAtLXJlbW90ZSIKKworIzogYXJjaGl2ZS5jOjQ2MworbXNnaWQgIk9wdGlvbiAtLWV4ZWMgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tcmVtb3RlIgorbXNnc3RyICJMJ29wY2nDsyAtLWV4ZWMgbm9tw6lzIGVzIHBvdCB1c2FyIGp1bnQgYW1iIC0tcmVtb3RlIgorCisjOiBhcmNoaXZlLmM6NDY1Cittc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1vdXRwdXQiCittc2dzdHIgIk9wY2nDsyBpbmVzcGVyYWRhIC0tb3V0cHV0IgorCisjOiBhcmNoaXZlLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gYXJjaGl2ZSBmb3JtYXQgJyVzJyIKK21zZ3N0ciAiRm9ybWF0IGQnYXJ4aXUgZGVzY29uZWd1dCAnJXMnIgorCisjOiBhcmNoaXZlLmM6NDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkFyZ3VtZW50IG5vdCBzdXBwb3J0ZWQgZm9yIGZvcm1hdCAnJXMnOiAtJWQiCittc2dzdHIgIlBhcsOgbWV0cmUgbm8gYWRtw6hzIHBlciBhbCBmb3JtYXQgJyVzJzogLSVkIgorCiAjOiBhdHRyLmM6MjYzCiBtc2dpZCAiIgogIk5lZ2F0aXZlIHBhdHRlcm5zIGFyZSBpZ25vcmVkIGluIGdpdCBhdHRyaWJ1dGVzXG4iCkBAIC0xNDQsNiArODQ4LDEzMCBAQAogIkVscyBwYXRyb25zIG5lZ2F0aXVzIHMnaWdub3JlbiBlbiBlbHMgYXRyaWJ1dHMgZGUgZ2l0XG4iCiAiVXNldSAnXFwhJyBwZXIgZXhjbGFtYWNpw7MgY2FwZGF2YW50ZXJhIGxpdGVyYWwuIgogCisjOiBiaXNlY3QuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSAnJXMnIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGZpdHhlciAnJXMnIgorCisjOiBiaXNlY3QuYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkbHkgcXVvdGVkIGNvbnRlbnQgaW4gZmlsZSAnJXMnOiAlcyIKK21zZ3N0ciAiQ29tZW50YXJpIGFtYiBjb21ldGVzIGRvbGVudGVzIGVuIGVsIGZpdHhlciAnJXMnOiAlcyIKKworIzogYmlzZWN0LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIldlIGNhbm5vdCBiaXNlY3QgbW9yZSFcbiIKK21zZ3N0ciAiTm8gcG9kZW0gYmlzZWNhciBtw6lzIVxuIgorCisjOiBiaXNlY3QuYzo3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgdmFsaWQgY29tbWl0IG5hbWUgJXMiCittc2dzdHIgIk5vIMOpcyB1biBub20gZGUgY29taXNzacOzIHbDoGxpZCAlcyIKKworIzogYmlzZWN0LmM6NzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBiYWQuXG4iCisiVGhpcyBtZWFucyB0aGUgYnVnIGhhcyBiZWVuIGZpeGVkIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgIiIKKyJMYSBiYXNlIGRlIGZ1c2nDsyAlcyDDqXMgZG9sZW50YS5cbiIKKyJBaXjDsiB2b2wgZGlyIHF1ZSBlbCBkZWZlY3RlIHMnaGEgYXJyZWdsYXQgZW50cmUgJXMgaSBbJXNdLlxuIgorCisjOiBiaXNlY3QuYzo3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzIG5ldy5cbiIKKyJUaGUgcHJvcGVydHkgaGFzIGNoYW5nZWQgYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIKK21zZ3N0ciAiIgorIkxhIGJhc2UgZGUgZnVzacOzICVzIMOpcyBub3ZhLlxuIgorIkxhIHByb3BpZXRhdCBzJ2hhIGNhbnZpYXQgZW50cmUgJXMgaSBbJXNdLlxuIgorCisjOiBiaXNlY3QuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzICVzLlxuIgorIlRoaXMgbWVhbnMgdGhlIGZpcnN0ICclcycgY29tbWl0IGlzIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgIiIKKyJMYSBiYXNlIGRlIGZ1c2nDsyAlcyDDqXMgJXMuXG4iCisiQWl4w7Igdm9sIGRpciBxdWUgbGEgcHJpbWVyYSBjb21pc3Npw7MgJyVzJyDDqXMgZW50cmUgJXMgaSBbJXNdLlxuIgorCisjOiBiaXNlY3QuYzo3NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlNvbWUgJXMgcmV2cyBhcmUgbm90IGFuY2VzdG9yIG9mIHRoZSAlcyByZXYuXG4iCisiZ2l0IGJpc2VjdCBjYW5ub3Qgd29yayBwcm9wZXJseSBpbiB0aGlzIGNhc2UuXG4iCisiTWF5YmUgeW91IG1pc3Rvb2sgJXMgYW5kICVzIHJldnM/XG4iCittc2dzdHIgIiIKKyJVbmVzIHJldmlzaW9ucyAlcyBubyBzw7NuIGVscyBhdmFudHBhc3NhdHMgZGUgbGEgcmV2aXNpw7MgJXMuXG4iCisiZ2l0IGJpc2VjdCBubyBwb3QgZnVuY2lvbmFyIGNvcnJlY3RhbWVudCBlbiBhcXVlc3QgY2FzLlxuIgorIlBvdHNlciBoZXUgY29uZsOzcyBsZXMgcmV2aXNpb25zICVzIGkgJXM/XG4iCisKKyM6IGJpc2VjdC5jOjc2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIG1lcmdlIGJhc2UgYmV0d2VlbiAlcyBhbmQgWyVzXSBtdXN0IGJlIHNraXBwZWQuXG4iCisiU28gd2UgY2Fubm90IGJlIHN1cmUgdGhlIGZpcnN0ICVzIGNvbW1pdCBpcyBiZXR3ZWVuICVzIGFuZCAlcy5cbiIKKyJXZSBjb250aW51ZSBhbnl3YXkuIgorbXNnc3RyICIiCisicydoYSBkZSBzYWx0YXIgbGEgYmFzZSBkZSBmdXNpw7MgZW50cmUgJXMgaSBbJXNdLlxuIgorIkxsYXZvcnMsIG5vIHBvZGVtIGVzdGFyIHNlZ3VycyBkZSBxdWUgbGEgcHJpbWVyYSBjb21pc3Npw7MgJXMgc2lndWkgZW50cmUgJXMgIgorImkgJXMuXG4iCisiQ29udGludWVtIGRlIHRvdGVzIG1hbmVyZXMuIgorCisjOiBiaXNlY3QuYzo3OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmlzZWN0aW5nOiBhIG1lcmdlIGJhc2UgbXVzdCBiZSB0ZXN0ZWRcbiIKK21zZ3N0ciAiQmlzZWNhbnQ6IHMnaGEgZGUgcHJvdmFyIHVuYSBiYXNlIGRlIGZ1c2nDs1xuIgorCisjOiBiaXNlY3QuYzo4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCittc2dzdHIgImVzIG5lY2Vzc2l0YSB1bmEgcmV2aXNpw7MgJXMiCisKKyM6IGJpc2VjdC5jOjg2NiBidWlsdGluL25vdGVzLmM6MTc0IGJ1aWx0aW4vdGFnLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGZpdHhlciAnJXMnIgorCisjOiBiaXNlY3QuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZmlsZSAnJXMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBmaXR4ZXIgJyVzJyIKKworIzogYmlzZWN0LmM6OTQ3Cittc2dpZCAicmVhZGluZyBiaXNlY3QgcmVmcyBmYWlsZWQiCittc2dzdHIgImxhIGxlY3R1cmEgZGUgbGVzIHJlZmVyw6huY2llcyBkZSBiaXNlY2Npw7MgaGEgZmFsbGF0IgorCisjOiBiaXNlY3QuYzo5NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgd2FzIGJvdGggJXMgYW5kICVzXG4iCittc2dzdHIgIiVzIGVyYSBhbWJkw7NzICVzIGkgJXNcbiIKKworIzogYmlzZWN0LmM6OTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJObyB0ZXN0YWJsZSBjb21taXQgZm91bmQuXG4iCisiTWF5YmUgeW91IHN0YXJ0ZWQgd2l0aCBiYWQgcGF0aCBwYXJhbWV0ZXJzP1xuIgorbXNnc3RyICIiCisiTm8gcydoYSB0cm9iYXQgY2FwIGNvbWlzc2nDsyBwcm92YWJsZS5cbiIKKyJQb3RzZXIgaGV1IGNvbWVuw6dhdCBhbWIgcGFyw6BtZXRyZXMgZGUgY2Ftw60gZG9sZW50cz9cbiIKKworIzogYmlzZWN0LmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIihyb3VnaGx5ICVkIHN0ZXApIgorbXNnaWRfcGx1cmFsICIocm91Z2hseSAlZCBzdGVwcykiCittc2dzdHJbMF0gIihhcHJveGltYWRhbWVudCAlZCBwYXMpIgorbXNnc3RyWzFdICIoYXByb3hpbWFkYW1lbnQgJWQgcGFzc29zKSIKKworIy4gVFJBTlNMQVRPUlM6IHRoZSBsYXN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aAorIy4gIihyb3VnaGx5ICVkIHN0ZXBzKSIgdHJhbnNsYXRpb24KKyM6IGJpc2VjdC5jOjk5OAorIywgYy1mb3JtYXQKK21zZ2lkICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9uIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iCittc2dpZF9wbHVyYWwgIkJpc2VjdGluZzogJWQgcmV2aXNpb25zIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iCittc2dzdHJbMF0gIkJpc2VjYW50OiBtYW5jYSAlZCByZXZpc2nDsyBhIHByb3ZhciBkZXNwcsOpcyBkJ2FxdWVzdGEgJXNcbiIKK21zZ3N0clsxXSAiQmlzZWNhbnQ6IG1hbnF1ZW4gJWQgcmV2aXNpb25zIGEgcHJvdmFyIGRlc3Byw6lzIGQnYXF1ZXN0YSAlc1xuIgorCiAjOiBicmFuY2guYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCkBAIC0xNjAsNyArOTg4LDcgQEAKICM6IGJyYW5jaC5jOjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBzZXR0aW5nIGJyYW5jaCAlcyBhcyBpdHMgb3duIHVwc3RyZWFtLiIKLW1zZ3N0ciAiTm8gZXN0YWJsaW50IGxhIGJyYW5jYSAlcyBjb20gYSBsYSBzZXZhIHByw7JwaWEgZm9udC4iCittc2dzdHIgIk5vIHMnZXN0w6AgZXN0YWJsaW50IGxhIGJyYW5jYSAlcyBjb20gYSBsYSBzZXZhIHByw7JwaWEgZm9udC4iCiAKICM6IGJyYW5jaC5jOjkzCiAjLCBjLWZvcm1hdApAQCAtMjY1LDE3ICsxMDkzLDE3IEBACiAiXCJnaXQgcHVzaCAtdVwiIHBlciBhIGVzdGFibGlyIGxhIGNvbmZpZ3VyYWNpw7MgZm9udFxuIgogIm1lbnRyZSBwdWdldS4iCiAKLSM6IGJyYW5jaC5jOjI2NgorIzogYnJhbmNoLmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAiTm8gw6lzIHVuIG5vbSBkJ29iamVjdGUgdsOgbGlkOiAnJXMnLiIKIAotIzogYnJhbmNoLmM6Mjg2CisjOiBicmFuY2guYzoyODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQW1iaWd1b3VzIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAiTm9tIGQnb2JqZWN0ZSBhbWJpZ3U6ICclcycuIgogCi0jOiBicmFuY2guYzoyOTEKKyM6IGJyYW5jaC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICJObyDDqXMgdW4gcHVudCBkZSByYW1pZmljYWNpw7MgdsOgbGlkOiAnJXMnLiIKQEAgLTI4NSw2ICsxMTEzLDExIEBACiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGNoZWNrZWQgb3V0IGF0ICclcyciCiBtc2dzdHIgIiclcycgamEgcydoYSBhZ2FmYXQgYSAnJXMnIgogCisjOiBicmFuY2guYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSEVBRCBvZiB3b3JraW5nIHRyZWUgJXMgaXMgbm90IHVwZGF0ZWQiCittc2dzdHIgIkxhIEhFQUQgZGUgbCdhcmJyZSBkZSB0cmViYWxsICVzIG5vIGVzdMOgIGFjdHVhbGl0emF0IgorCiAjOiBidW5kbGUuYzozNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IGxvb2sgbGlrZSBhIHYyIGJ1bmRsZSBmaWxlIgpAQCAtMjk1LDcgKzExMjgsNyBAQAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAiY2Fww6dhbGVyYSBubyByZWNvbmVndWRhOiAlcyVzICglZCkiCiAKLSM6IGJ1bmRsZS5jOjg3IGJ1aWx0aW4vY29tbWl0LmM6NzY2CisjOiBidW5kbGUuYzo4NyBzZXF1ZW5jZXIuYzo5NjMgYnVpbHRpbi9jb21taXQuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciAnJXMnIgpAQCAtMzA0LDEwICsxMTM3LDEwIEBACiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCiBtc2dzdHIgIkFsIGRpcMOyc2l0IGxpIG1hbnF1ZW4gYXF1ZXN0ZXMgY29taXNzaW9ucyBwcmVyZXF1aXNpdHM6IgogCi0jOiBidW5kbGUuYzoxNjMgcmVmLWZpbHRlci5jOjE0NjIgc2VxdWVuY2VyLmM6NjI3IHNlcXVlbmNlci5jOjEwNzQKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNzU0IGJ1aWx0aW4vY29tbWl0LmM6MTA0NSBidWlsdGluL2xvZy5jOjMzNAotIzogYnVpbHRpbi9sb2cuYzo4NTIgYnVpbHRpbi9sb2cuYzoxNDY3IGJ1aWx0aW4vbG9nLmM6MTcwMCBidWlsdGluL21lcmdlLmM6MzU4Ci0jOiBidWlsdGluL3Nob3J0bG9nLmM6MTcwCisjOiBidW5kbGUuYzoxNjMgcmVmLWZpbHRlci5jOjE0NjIgc2VxdWVuY2VyLmM6ODMwIHNlcXVlbmNlci5jOjEzNzQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODE0IGJ1aWx0aW4vY29tbWl0LmM6MTA2MSBidWlsdGluL2xvZy5jOjM0OAorIzogYnVpbHRpbi9sb2cuYzo4OTAgYnVpbHRpbi9sb2cuYzoxMzQwIGJ1aWx0aW4vbG9nLmM6MTY2NiBidWlsdGluL2xvZy5jOjE5MDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozNTYgYnVpbHRpbi9zaG9ydGxvZy5jOjE3MAogbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgogbXNnc3RyICJsYSBjb25maWd1cmFjacOzIGRlbCBwYXNzZWlnIHBlciByZXZpc2lvbnMgaGEgZmFsbGF0IgogCkBAIC0zNDYsMzEgKzExNzksMzEgQEAKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAibGVzIG9wY2lvbnMgZGUgbGEgbGxpc3RhIGRlIHJldmlzaW9ucyBleGNsb3VlbiBsYSByZWZlcsOobmNpYSAnJXMnIgogCi0jOiBidW5kbGUuYzo0NDMgYnVpbHRpbi9sb2cuYzoxNTcgYnVpbHRpbi9sb2cuYzoxMzcyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKKyM6IGJ1bmRsZS5jOjQ0MyBidWlsdGluL2xvZy5jOjE2NSBidWlsdGluL2xvZy5jOjE1NzIgYnVpbHRpbi9zaG9ydGxvZy5jOjI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJwYXLDoG1ldHJlIG5vIHJlY29uZWd1dDogJXMiCiAKLSM6IGJ1bmRsZS5jOjQ0OQorIzogYnVuZGxlLmM6NDUxCiBtc2dpZCAiUmVmdXNpbmcgdG8gY3JlYXRlIGVtcHR5IGJ1bmRsZS4iCi1tc2dzdHIgIlJlZnVzYW50IGNyZWFyIHVuIGZhcmNlbGwgYnVpdC4iCittc2dzdHIgIlMnZXN0w6AgcmVmdXNhbnQgY3JlYXIgdW4gZmFyY2VsbCBidWl0LiIKIAotIzogYnVuZGxlLmM6NDU5CisjOiBidW5kbGUuYzo0NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSAnJXMnIgogbXNnc3RyICJubyBlcyBwb3QgY3JlYXIgJyVzJyIKIAotIzogYnVuZGxlLmM6NDgwCisjOiBidW5kbGUuYzo0OTEKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCiBtc2dzdHIgIkwnaW5kZXgtcGFjayBzJ2hhIG1vcnQiCiAKLSM6IGNvbG9yLmM6Mjc1CisjOiBjb2xvci5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbG9yIHZhbHVlOiAlLipzIgogbXNnc3RyICJ2YWxvciBkZSBjb2xvciBubyB2w6BsaWQ6ICUuKnMiCiAKLSM6IGNvbW1pdC5jOjQwIGJ1aWx0aW4vYW0uYzo0MzcgYnVpbHRpbi9hbS5jOjQ3MyBidWlsdGluL2FtLmM6MTUwNQotIzogYnVpbHRpbi9hbS5jOjIxMzUKKyM6IGNvbW1pdC5jOjQwIGJ1aWx0aW4vYW0uYzo0MjEgYnVpbHRpbi9hbS5jOjQ1NyBidWlsdGluL2FtLmM6MTQ5MworIzogYnVpbHRpbi9hbS5jOjIxMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciAlcyIKQEAgLTM4MCwxMjkgKzEyMTMsMjU2IEBACiBtc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiJXMgJXMgbm8gw6lzIHVuYSBjb21pc3Npw7MhIgogCisjOiBjb21taXQuYzoxNTE0Cittc2dpZCAiIgorIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKKyJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgorInZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgdG8gdGhlIGVuY29kaW5nIHlvdXIgcHJvamVjdCB1c2VzLlxuIgorbXNnc3RyICIiCisiQWR2ZXJ0w6huY2lhOiBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7Mgbm8gY29uZm9ybWF2YSBhIFVURi04LlxuIgorIlBvdHNlciB2b2xldSBlc2VtZW5hci1sbyBkZXNwcsOpcyBkZSBjb3JyZWdpciBlbCBtaXNzYXRnZSwgbyBlc3RhYmxpclxuIgorImxhIHZhcmlhYmxlIGRlIGNvbmZpZ3VyYWNpw7MgaTE4bi5jb21taXRlbmNvZGluZyBhIGxhIGNvZGlmaWNhY2nDsyBxdWVcbiIKKyJ1c2kgZWwgdm9zdHJlIHByb2plY3RlLlxuIgorCiAjOiBjb21wYXQvb2JzdGFjay5jOjQwNiBjb21wYXQvb2JzdGFjay5jOjQwOAogbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCiBtc2dzdHIgIm1lbcOycmlhIGVzZ290YWRhIgogCi0jOiBjb25maWcuYzo0NzUgY29uZmlnLmM6NDc3CisjOiBjb25maWcuYzo1MTYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluICVzICVzIgotbXNnc3RyICJsw61uaWEgZGUgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MgZG9sZW50YSAlZCBlbiAlcyAlcyIKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gYmxvYiAlcyIKK21zZ3N0ciAibMOtbmlhIGRlIGNvbmZpZ3VyYWNpw7MgZG9sZW50YSAlZCBlbiBlbCBibG9iICVzIgogCi0jOiBjb25maWcuYzo1OTMKKyM6IGNvbmZpZy5jOjUyMAogIywgYy1mb3JtYXQKLW1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlcyAlczogJXMiCi1tc2dzdHIgInZhbG9yIGRlIGNvbmZpZ3VyYWNpw7MgbnVtw6hyaWNhIGRvbGVudCAnJXMnIHBlciAnJXMnIGVuICVzICVzOiAlcyIKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gZmlsZSAlcyIKK21zZ3N0ciAibMOtbmlhIGRlIGNvbmZpZ3VyYWNpw7MgZG9sZW50YSAlZCBlbiBlbCBmaXR4ZXIgJXMiCiAKLSM6IGNvbmZpZy5jOjU5NQorIzogY29uZmlnLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAibMOtbmlhIGRlIGNvbmZpZ3VyYWNpw7MgZG9sZW50YSAlZCBlbiBsJ2VudHJhZGEgZXN0w6BuZGFyZCIKKworIzogY29uZmlnLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdWJtb2R1bGUtYmxvYiAlcyIKK21zZ3N0ciAibMOtbmlhIGRlIGNvbmZpZ3VyYWNpw7MgZG9sZW50YSAlZCBlbiBlbCBibG9iIGRlIHN1Ym3DsmR1bCAlcyIKKworIzogY29uZmlnLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCittc2dzdHIgImzDrW5pYSBkZSBjb25maWd1cmFjacOzIGRvbGVudGEgJWQgZW4gbGEgbMOtbmlhIGQnb3JkcmVzICVzIgorCisjOiBjb25maWcuYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluICVzIgorbXNnc3RyICJsw61uaWEgZGUgY29uZmlndXJhY2nDsyBkb2xlbnRhICVkIGVuICVzIgorCisjOiBjb25maWcuYzo2NTUKK21zZ2lkICJvdXQgb2YgcmFuZ2UiCittc2dzdHIgImZvcmEgZGUgcmFuZyIKKworIzogY29uZmlnLmM6NjU1Cittc2dpZCAiaW52YWxpZCB1bml0IgorbXNnc3RyICJ1bml0YXQgbm8gdsOgbGlkYSIKKworIzogY29uZmlnLmM6NjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKLW1zZ3N0ciAidmFsb3IgZGUgY29uZmlndXJhY2nDsyBudW3DqHJpY2EgZG9sZW50ICclcycgcGVyICclcyc6ICVzIgorbXNnc3RyICJ2YWxvciBkZSBjb25maWd1cmFjacOzIG51bcOocmljIGRvbGVudCAnJXMnIHBlciAnJXMnOiAlcyIKIAotIzogY29uZmlnLmM6NjgwCisjOiBjb25maWcuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gYmxvYiAlczogJXMiCittc2dzdHIgInZhbG9yIGRlIGNvbmZpZ3VyYWNpw7MgbnVtw6hyaWMgZG9sZW50ICclcycgcGVyICclcycgZW4gZWwgYmxvYiAlczogJXMiCisKKyM6IGNvbmZpZy5jOjY2OQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiAlcyIKK21zZ3N0ciAidmFsb3IgZGUgY29uZmlndXJhY2nDsyBudW3DqHJpYyBkb2xlbnQgJyVzJyBwZXIgJyVzJyBlbiBlbCBmaXR4ZXIgJXM6ICVzIgorCisjOiBjb25maWcuYzo2NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3RhbmRhcmQgaW5wdXQ6ICVzIgorbXNnc3RyICIiCisidmFsb3IgZGUgY29uZmlndXJhY2nDsyBudW3DqHJpYyBkb2xlbnQgJyVzJyBwZXIgJyVzJyBlbiBsJ2VudHJhZGEgZXN0w6BuZGFyZDogJXMiCisKKyM6IGNvbmZpZy5jOjY3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdWJtb2R1bGUtYmxvYiAlczogJXMiCittc2dzdHIgIiIKKyJ2YWxvciBkZSBjb25maWd1cmFjacOzIG51bcOocmljIGRvbGVudCAnJXMnIHBlciAnJXMnIGVuIGVsIGJsb2IgZGUgc3VibcOyZHVsICIKKyIlczogJXMiCisKKyM6IGNvbmZpZy5jOjY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBjb21tYW5kIGxpbmUgJXM6ICVzIgorbXNnc3RyICIiCisidmFsb3IgZGUgY29uZmlndXJhY2nDsyBudW3DqHJpYyBkb2xlbnQgJyVzJyBwZXIgJyVzJyBlbiBsYSBsw61uaWEgZCdvcmRyZXMgJXM6ICIKKyIlcyIKKworIzogY29uZmlnLmM6NjgxCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiAlcyIKK21zZ3N0ciAidmFsb3IgZGUgY29uZmlndXJhY2nDsyBudW3DqHJpYyBkb2xlbnQgJyVzJyBwZXIgJyVzJyBlbiAlczogJXMiCisKKyM6IGNvbmZpZy5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhwYW5kIHVzZXIgZGlyIGluOiAnJXMnIgotbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBleHBhbmRpciBlbCBkaXJlY3RvcmkgZCd1c3VhcmkgZW4gJyVzJyIKK21zZ3N0ciAicydoYSBmYWxsYXQgZW4gZXhwYW5kaXIgZWwgZGlyZWN0b3JpIGQndXN1YXJpIGVuOiAnJXMnIgogCi0jOiBjb25maWcuYzo3NTggY29uZmlnLmM6NzY5CisjOiBjb25maWcuYzo4NTIgY29uZmlnLmM6ODYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCB6bGliIGNvbXByZXNzaW9uIGxldmVsICVkIgogbXNnc3RyICJuaXZlbGwgZGUgY29tcHJlc3Npw7MgZGUgemxpYiBkb2xlbnQgJWQiCiAKLSM6IGNvbmZpZy5jOjg5MQorIzogY29uZmlnLmM6OTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbW9kZSBmb3Igb2JqZWN0IGNyZWF0aW9uOiAlcyIKIG1zZ3N0ciAibW9kZSBkZSBjcmVhY2nDsyBkJ29iamVjdGUgbm8gdsOgbGlkOiAlcyIKIAotIzogY29uZmlnLmM6MTIyMAorIzogY29uZmlnLmM6MTMxMgogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBsYSBjb25maWd1cmFjacOzIGRlIGxhIGzDrW5pYSBkJ29yZHJlcyIKIAotIzogY29uZmlnLmM6MTI4MQotbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJlZCB3aGlsZSByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIgotbXNnc3RyICJoYSBvY29ycmVndXQgdW4gZXJyb3IgZGVzY29uZWd1dCBlbiBsbGVnaXIgZWxzIGZpdHhlcnMgZGUgY29uZmlndXJhY2nDsyIKKyM6IGNvbmZpZy5jOjEzNjIKK21zZ2lkICJ1bmtub3duIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlYWRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMiCittc2dzdHIgInVuIGVycm9yIGRlc2NvbmVndXQgaGEgb2NvcnJlZ3V0IGVuIGxsZWdpciBlbHMgZml0eGVycyBkZSBjb25maWd1cmFjacOzIgogCi0jOiBjb25maWcuYzoxNjI5CisjOiBjb25maWcuYzoxNzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJXMnIGZyb20gY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgJyVzJyBkZSBsYSBjb25maWd1cmFjacOzIGRlIGxhIGzDrW5pYSBkJ29yZHJlcyIKIAotIzogY29uZmlnLmM6MTYzMQorIzogY29uZmlnLmM6MTcxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIHZhcmlhYmxlICclcycgaW4gZmlsZSAnJXMnIGF0IGxpbmUgJWQiCiBtc2dzdHIgInZhcmlhYmxlIGRlIGNvbmZpZ3VyYWNpw7MgZG9sZW50YSAnJXMnIGVuIGVsIGZpdHhlciAnJXMnIGEgbGEgbMOtbmlhICVkIgogCi0jOiBjb25maWcuYzoxNjkwCisjOiBjb25maWcuYzoxNzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBtdWx0aXBsZSB2YWx1ZXMiCiBtc2dzdHIgIiVzIHTDqSBtw7psdGlwbGVzIHZhbG9ycyIKIAotIzogY29uZmlnLmM6MjIyNgorIzogY29uZmlnLmM6MjMxMQogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3Qgc2V0ICclcycgdG8gJyVzJyIKLW1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc3RhYmxpciAnJXMnIGNvbSBhICclcyciCittc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgJyVzJyBhICclcyciCiAKLSM6IGNvbm5lY3RlZC5jOjY5CisjOiBjb25maWcuYzoyMzEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGRlc2VzdGFibGlyICclcyciCisKKyM6IGNvbm5lY3QuYzo0OQorbXNnaWQgIlRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdXBvbiBpbml0aWFsIGNvbnRhY3QiCittc2dzdHIgIkVsIGNvc3RhdCByZW1vdCBoYSBwZW5qYXQgZW4gZWwgbW9tZW50IGRlIGNvbnRhY3RlIGluaWNpYWwiCisKKyM6IGNvbm5lY3QuYzo1MQorbXNnaWQgIiIKKyJDb3VsZCBub3QgcmVhZCBmcm9tIHJlbW90ZSByZXBvc2l0b3J5LlxuIgorIlxuIgorIlBsZWFzZSBtYWtlIHN1cmUgeW91IGhhdmUgdGhlIGNvcnJlY3QgYWNjZXNzIHJpZ2h0c1xuIgorImFuZCB0aGUgcmVwb3NpdG9yeSBleGlzdHMuIgorbXNnc3RyICIiCisiTm8gcydoYSBwb2d1dCBsbGVnaXIgZGVsIGRpcMOyc2l0IHJlbW90LlxuIgorIlxuIgorIlNpIHVzIHBsYXUsIGFzc2VndXJldS12b3MgcXVlIHRpbmd1ZXUgZWxzIGRyZXRzXG4iCisiZCdhY2PDqXMgY29ycmVjdGVzIGkgcXVlIGVsIGRpcMOyc2l0IGV4aXN0ZWl4aS4iCisKKyM6IGNvbm5lY3RlZC5jOjYzIGJ1aWx0aW4vZnNjay5jOjE3MyBidWlsdGluL3BydW5lLmM6MTQwCittc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgorbXNnc3RyICJTJ2VzdMOgIGNvbXByb3ZhbnQgbGEgY29ubmVjdGl2aXRhdCIKKworIzogY29ubmVjdGVkLmM6NzUKIG1zZ2lkICJDb3VsZCBub3QgcnVuICdnaXQgcmV2LWxpc3QnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyICdnaXQgcmV2LWxpc3QnIgogCi0jOiBjb25uZWN0ZWQuYzo4OQotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3Q6ICVzIgotbXNnc3RyICJlc2NyaXB0dXJhIGZhbGxhZGEgYWwgcmV2LWxpc3Q6ICVzIgorIzogY29ubmVjdGVkLmM6OTUKK21zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3QiCittc2dzdHIgImVzY3JpcHR1cmEgZmFsbGFkYSBhbCByZXYtbGlzdCIKIAotIzogY29ubmVjdGVkLmM6OTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW46ICVzIgotbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiB0YW5jYXIgbCdzdGRpbiBkZWwgcmV2LWxpc3Q6ICVzIgorIzogY29ubmVjdGVkLmM6MTAyCittc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCittc2dzdHIgInMnaGEgZmFsbGF0IGVuIHRhbmNhciBsJ3N0ZGluIGRlbCByZXYtbGlzdCIKIAotIzogZGF0ZS5jOjk1CisjOiBjb252ZXJ0LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDUkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuXG4iCisiVGhlIGZpbGUgd2lsbCBoYXZlIGl0cyBvcmlnaW5hbCBsaW5lIGVuZGluZ3MgaW4geW91ciB3b3JraW5nIGRpcmVjdG9yeS4iCittc2dzdHIgIiIKKyJMRiByZWVtcGxhw6dhcsOgIENSTEYgZW4gJXMuXG4iCisiRWwgZml0eGVyIHRpbmRyw6AgZWxzIHNldXMgdGVybWluYWRvcnMgZGUgbMOtbmlhIG9yaWdpbmFscyBlbiBlbCB2b3N0cmUgIgorImRpcmVjdG9yaSBkZSB0cmViYWxsLiIKKworIzogY29udmVydC5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDUkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLiIKK21zZ3N0ciAiTEYgcmVlbXBsYcOnYXJpYSBDUkxGIGVuICVzLiIKKworIzogY29udmVydC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTEYgd2lsbCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzLlxuIgorIlRoZSBmaWxlIHdpbGwgaGF2ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkuIgorbXNnc3RyICIiCisiQ1JMRiByZWVtcGxhw6dhcsOgIExGIGVuICVzLlxuIgorIkVsIGZpdHhlciB0aW5kcsOgIGVscyBzZXVzIHRlcm1pbmFkb3JzIGRlIGzDrW5pYSBvcmlnaW5hbHMgZW4gZWwgdm9zdHJlICIKKyJkaXJlY3RvcmkgZGUgdHJlYmFsbC4iCisKKyM6IGNvbnZlcnQuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcyIKK21zZ3N0ciAiQ1JMRiByZWVtcGxhw6dhcmlhIExGIGVuICVzIgorCisjOiBkYXRlLmM6OTcKIG1zZ2lkICJpbiB0aGUgZnV0dXJlIgogbXNnc3RyICJlbiBlbCBmdXR1ciIKIAotIzogZGF0ZS5jOjEwMQorIzogZGF0ZS5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgc2Vjb25kIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IHNlY29uZHMgYWdvIgogbXNnc3RyWzBdICJmYSAlbHUgc2Vnb24iCiBtc2dzdHJbMV0gImZhICVsdSBzZWdvbnMiCiAKLSM6IGRhdGUuYzoxMDgKKyM6IGRhdGUuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IG1pbnV0ZSBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBtaW51dGVzIGFnbyIKIG1zZ3N0clswXSAiZmEgJWx1IG1pbnV0IgogbXNnc3RyWzFdICJmYSAlbHUgbWludXRzIgogCi0jOiBkYXRlLmM6MTE1CisjOiBkYXRlLmM6MTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSBob3VyIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IGhvdXJzIGFnbyIKIG1zZ3N0clswXSAiZmEgJWx1IGhvcmEiCiBtc2dzdHJbMV0gImZhICVsdSBob3JlcyIKIAotIzogZGF0ZS5jOjEyMgorIzogZGF0ZS5jOjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgZGF5IGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IGRheXMgYWdvIgogbXNnc3RyWzBdICJmYSAlbHUgZGlhIgogbXNnc3RyWzFdICJmYSAlbHUgZGllcyIKIAotIzogZGF0ZS5jOjEyOAorIzogZGF0ZS5jOjEzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgd2VlayBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSB3ZWVrcyBhZ28iCiBtc2dzdHJbMF0gImZhICVsdSBzZXRtYW5hIgogbXNnc3RyWzFdICJmYSAlbHUgc2V0bWFuZXMiCiAKLSM6IGRhdGUuYzoxMzUKKyM6IGRhdGUuYzoxMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IG1vbnRoIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gImZhICVsdSBtZXMiCiBtc2dzdHJbMV0gImZhICVsdSBtZXNvcyIKIAotIzogZGF0ZS5jOjE0NgorIzogZGF0ZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgeWVhciIKIG1zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIgpAQCAtNTEwLDE0ICsxNDcwLDE0IEBACiBtc2dzdHJbMV0gIiVsdSBhbnlzIgogCiAjLiBUUkFOU0xBVE9SUzogIiVzIiBpcyAiPG4+IHllYXJzIgotIzogZGF0ZS5jOjE0OQorIzogZGF0ZS5jOjE1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgJWx1IG1vbnRoIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJXMsICVsdSBtb250aHMgYWdvIgogbXNnc3RyWzBdICJmYSAlcyBpICVsdSBtZXMiCiBtc2dzdHJbMV0gImZhICVzIGkgJWx1IG1lc29zIgogCi0jOiBkYXRlLmM6MTU0IGRhdGUuYzoxNTkKKyM6IGRhdGUuYzoxNTYgZGF0ZS5jOjE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgeWVhciBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSB5ZWFycyBhZ28iCkBAIC01MzEsNDMgKzE0OTEsNTIgQEAKIAogIzogZGlmZmNvcmUtcmVuYW1lLmM6NTM2CiBtc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCi1tc2dzdHIgIlJlYWxpdHphbnQgZGV0ZWNjacOzIGluZXhhY3RhIGRlIGNhbnZpcyBkZSBub20iCittc2dzdHIgIlMnZXN0w6AgcmVhbGl0emFudCB1bmEgZGV0ZWNjacOzIGluZXhhY3RhIGRlIGNhbnZpcyBkZSBub20iCiAKLSM6IGRpZmYuYzoxMTUKKyM6IGRpZmYuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhIHZhbHVlIgorbXNnc3RyICJsJ29wY2nDsyAnJXMnIHJlcXVlcmVpeCB1biB2YWxvciIKKworIzogZGlmZi5jOjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCiBtc2dzdHIgIiAgUydoYSBmYWxsYXQgZW4gYW5hbGl0emFyIGVsIHBlcmNlbnRhdGdlIGxpbWl0YW50IGRlIGRpcnN0YXQgJyVzJ1xuIgogCi0jOiBkaWZmLmM6MTIwCisjOiBkaWZmLmM6MTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgVW5rbm93biBkaXJzdGF0IHBhcmFtZXRlciAnJXMnXG4iCiBtc2dzdHIgIiAgUGFyw6BtZXRyZSBkZSBkaXJzdGF0IGRlc2NvbmVndXQgJyVzJ1xuIgogCi0jOiBkaWZmLmM6MjE1CisjOiBkaWZmLmM6MjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgogbXNnc3RyICIiCiAiVmFsb3IgZGVzY29uZWd1dCBkZSBsYSB2YXJpYWJsZSBkZSBjb25maWd1cmFjacOzIGRlICdkaWZmLnN1Ym1vZHVsZSc6ICclcyciCiAKLSM6IGRpZmYuYzoyNjcKKyM6IGRpZmYuYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCiAiJXMiCiBtc2dzdHIgIiIKLSJFcnJvcnMgdHJvYmF0cyBlbiBsYSB2YXJpYWJsZSBkZSBjb25maWd1cmFjacOzICdkaWZmLmRpcnN0YXQnOlxuIgorIlMnaGFuIHRyb2JhdCBlcnJvcnMgZW4gbGEgdmFyaWFibGUgZGUgY29uZmlndXJhY2nDsyAnZGlmZi5kaXJzdGF0JzpcbiIKICIlcyIKIAotIzogZGlmZi5jOjI5OTcKKyM6IGRpZmYuYzozMDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCi1tc2dzdHIgIkVsIGRpZmYgZXh0ZXJuYWwgcydoYSBtb3J0LCBhdHVyYW50IGEgJXMiCittc2dzdHIgImVsIGRpZmYgZXh0ZXJuYWwgcydoYSBtb3J0LCBzJ2VzdMOgIGF0dXJhbnQgYSAlcyIKIAotIzogZGlmZi5jOjMzOTMKKyM6IGRpZmYuYzozNDEyCittc2dpZCAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGkgLXMgc8OzbiBtdXR1YWxtZW50IGV4Y2x1c2l1cyIKKworIzogZGlmZi5jOjM1MDIKIG1zZ2lkICItLWZvbGxvdyByZXF1aXJlcyBleGFjdGx5IG9uZSBwYXRoc3BlYyIKIG1zZ3N0ciAiLS1mb2xsb3cgcmVxdWVyZWl4IGV4YWN0YW1lbnQgdW5hIGVzcGVjaWZpY2FjacOzIGRlIGNhbcOtIgogCi0jOiBkaWZmLmM6MzU1NgorIzogZGlmZi5jOjM2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKQEAgLTU3Niw3MSArMTU0NSwyNDYgQEAKICJTJ2hhIGZhbGxhdCBlbiBhbmFsaXR6YXIgZWwgcGFyw6BtZXRyZSBkJ29wY2nDsyBkZSAtLWRpcnN0YXQvLVg6XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzozNTcwCisjOiBkaWZmLmM6MzY3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKLW1zZ3N0ciAiUydoYSBmYWxsYXQgZW4gYW5hbGl0emFyIGVsIHBhcsOgbWV0cmUgZCdvcGNpw7MgZGUgLS1zdWJtb2R1bGU6ICVzIgorbXNnc3RyICJTJ2hhIGZhbGxhdCBlbiBhbmFsaXR6YXIgZWwgcGFyw6BtZXRyZSBkJ29wY2nDsyBkZSAtLXN1Ym1vZHVsZTogJyVzJyIKIAotIzogZGlyLmM6MjAwNAorIzogZGlmZi5jOjQ3MDAKK21zZ2lkICJpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24gd2FzIHNraXBwZWQgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKK21zZ3N0ciAicydoYSBzYWx0YXQgbGEgZGV0ZWNjacOzIGRlIGNhbnZpIGRlIG5vbSBhIGNhdXNhIGRlIG1hc3NhIGZpdHhlcnMuIgorCisjOiBkaWZmLmM6NDcwMworbXNnaWQgIm9ubHkgZm91bmQgY29waWVzIGZyb20gbW9kaWZpZWQgcGF0aHMgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKK21zZ3N0ciAiIgorIm5vbcOpcyBzJ2hhbiB0cm9iYXQgY8OycGllcyBkZXMgZGUgY2FtaW5zIG1vZGlmaWNhdHMgYSBjYXVzYSBkZSBtYXNzYSBmaXR4ZXJzLiIKKworIzogZGlmZi5jOjQ3MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInlvdSBtYXkgd2FudCB0byBzZXQgeW91ciAlcyB2YXJpYWJsZSB0byBhdCBsZWFzdCAlZCBhbmQgcmV0cnkgdGhlIGNvbW1hbmQuIgorbXNnc3RyICIiCisicG90c2VyIHZvbGV1IGVzdGFibGlyIGxhIHZvc3RyYSB2YXJpYWJsZSAlcyBhIGFsbWVueXMgJWQgaSB0b3JuYXIgYSBpbnRlbnRhciAiCisibCdvcmRyZS4iCisKKyM6IGRpci5jOjE4NjYKIG1zZ2lkICJmYWlsZWQgdG8gZ2V0IGtlcm5lbCBuYW1lIGFuZCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAicydoYSBmYWxsYXQgZW4gb2J0ZW5pciBlbCBub21icmUgaSBsYSBpbmZvcm1hY2nDsyBkZWwgbnVjbGkiCiAKLSM6IGRpci5jOjIxMjMKKyM6IGRpci5jOjE5ODUKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgaXMgZGlzYWJsZWQgb24gdGhpcyBzeXN0ZW0gb3IgbG9jYXRpb24uIgogbXNnc3RyICIiCiAiTGEgbWVtw7JyaWEgY2F1IG5vIHNlZ3VpZGEgZXN0w6AgaW5oYWJpbGl0YWRhIGVuIGFxdWVzdCBzaXN0ZW1hIG8gdWJpY2FjacOzLiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE2NiBncGctaW50ZXJmYWNlLmM6MjM3Ci1tc2dpZCAiY291bGQgbm90IHJ1biBncGcuIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGVsIGdwZy4iCisjOiBmZXRjaC1wYWNrLmM6MjEzCittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGxsaXN0YSBzdXBlcmZpY2lhbCBlc3BlcmFkYSIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE3OAotbXNnaWQgImdwZyBkaWQgbm90IGFjY2VwdCB0aGUgZGF0YSIKLW1zZ3N0ciAiRWwgZ3BnIG5vIGhhIGFjY2VwdGF0IGxlcyBkYWRlcyIKKyM6IGZldGNoLXBhY2suYzoyMjUKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IEVPRiIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IEFDSy9OQUsgZXNwZXJhdCwgRU9GIHJlYnV0IgogCi0jOiBncGctaW50ZXJmYWNlLmM6MTg5CisjOiBmZXRjaC1wYWNrLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgJyVzJyIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IEFDSy9OQUsgZXNwZXJhdCwgJyVzJyByZWJ1dCIKKworIzogZmV0Y2gtcGFjay5jOjI5NQorbXNnaWQgIi0tc3RhdGVsZXNzLXJwYyByZXF1aXJlcyBtdWx0aV9hY2tfZGV0YWlsZWQiCittc2dzdHIgIi0tc3RhdGVsZXNzLXJwYyByZXF1ZXJlaXggbXVsdGlfYWNrX2RldGFpbGVkIgorCisjOiBmZXRjaC1wYWNrLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKK21zZ3N0ciAibMOtbmlhIGRlIHNoYWxsb3cgbm8gdsOgbGlkYTogJXMiCisKKyM6IGZldGNoLXBhY2suYzozODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB1bnNoYWxsb3cgbGluZTogJXMiCittc2dzdHIgImzDrW5pYSBkJ3Vuc2hhbGxvdyBubyB2w6BsaWRhOiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJvYmplY3Qgbm90IGZvdW5kOiAlcyIKK21zZ3N0ciAib2JqZWN0ZSBubyB0cm9iYXQ6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGluIG9iamVjdDogJXMiCittc2dzdHIgImVycm9yIGVuIG9iamVjdGU6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6Mzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHNoYWxsb3cgZm91bmQ6ICVzIgorbXNnc3RyICJubyBzJ2hhIHRyb2JhdCBjYXAgc3VwZXJmaWNpYWw6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCittc2dzdHIgInMnZXNwZXJhdmEgc2hhbGxvdy91bnNoYWxsb3csIHMnaGEgcmVidXQgJXMiCisKKyM6IGZldGNoLXBhY2suYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ290ICVzICVkICVzIgorbXNnc3RyICIlcyAlZCAlcyByZWJ1dCIKKworIzogZmV0Y2gtcGFjay5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdCAlcyIKK21zZ3N0ciAiY29taXNzacOzIG5vIHbDoGxpZGEgJXMiCisKKyM6IGZldGNoLXBhY2suYzo0ODMKK21zZ2lkICJnaXZpbmcgdXAiCittc2dzdHIgInMnZXN0w6AgcmVuZGludCIKKworIzogZmV0Y2gtcGFjay5jOjQ5MyBwcm9ncmVzcy5jOjIzNQorbXNnaWQgImRvbmUiCittc2dzdHIgImZldCIKKworIzogZmV0Y2gtcGFjay5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJnb3QgJXMgKCVkKSAlcyIKK21zZ3N0ciAicydoYSByZWJ1dCAlcyAoJWQpICVzIgorCisjOiBmZXRjaC1wYWNrLmM6NTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1hcmtpbmcgJXMgYXMgY29tcGxldGUiCittc2dzdHIgIlMnZXN0w6AgbWFyY2FudCAlcyBjb20gYSBjb21wbGV0IgorCisjOiBmZXRjaC1wYWNrLmM6Njk3CisjLCBjLWZvcm1hdAorbXNnaWQgImFscmVhZHkgaGF2ZSAlcyAoJXMpIgorbXNnc3RyICJqYSBlcyB0w6kgJXMgKCVzKSIKKworIzogZmV0Y2gtcGFjay5jOjczNQorbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgorbXNnc3RyICJmZXRjaC1wYWNrOiBubyBzJ2hhIHBvZ3V0IGJpZnVyY2FyIGRlbCBkZW11bHRpcGxleG9yIGRlIGJhbmRhIGxhdGVyYWwiCisKKyM6IGZldGNoLXBhY2suYzo3NDMKK21zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIHBhY2sgaGVhZGVyIgorbXNnc3RyICJlcnJvciBkZSBwcm90b2NvbDogY2Fww6dhbGVyYSBkZSBwYXF1ZXQgZG9sZW50IgorCisjOiBmZXRjaC1wYWNrLmM6Nzk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKK21zZ3N0ciAiZmV0Y2gtcGFjazogbm8gZXMgcG90IGJpZnVyY2FyIGRlICVzIgorCisjOiBmZXRjaC1wYWNrLmM6ODE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgaGEgZmFsbGF0IgorCisjOiBmZXRjaC1wYWNrLmM6ODE3Cittc2dpZCAiZXJyb3IgaW4gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKK21zZ3N0ciAiZXJyb3IgZW4gZGVtdWx0aXBsZXhvciBkZSBiYW5kYSBsYXRlcmFsIgorCisjOiBmZXRjaC1wYWNrLmM6ODQ0Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgorbXNnc3RyICJFbCBzZXJ2aWRvciBubyBwZXJtZXQgY2xpZW50cyBzdXBlcmZpY2lhbHMiCisKKyM6IGZldGNoLXBhY2suYzo4NDgKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrX2RldGFpbGVkIgorbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIG11bHRpX2Fja19kZXRhaWxlZCIKKworIzogZmV0Y2gtcGFjay5jOjg1MQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIgorbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIG5vLWRvbmUiCisKKyM6IGZldGNoLXBhY2suYzo4NTcKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgorbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIG11bHRpX2FjayIKKworIzogZmV0Y2gtcGFjay5jOjg2MQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQtNjRrIgorbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIHNpZGUtYmFuZC02NGsiCisKKyM6IGZldGNoLXBhY2suYzo4NjUKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgorbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIGJhbmRhIGxhdGVyYWwiCisKKyM6IGZldGNoLXBhY2suYzo4NjkKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKK21zZ3N0ciAiRWwgc2Vydmlkb3IgYWNjZXB0YSBhbGxvdy10aXAtc2hhMS1pbi13YW50IgorCisjOiBmZXRjaC1wYWNrLmM6ODczCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCittc2dzdHIgIkVsIHNlcnZpZG9yIGFjY2VwdGEgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKKworIzogZmV0Y2gtcGFjay5jOjg4MworbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiCittc2dzdHIgIkVsIHNlcnZpZG9yIGFjY2VwdGEgb2ZzLWRlbHRhIgorCisjOiBmZXRjaC1wYWNrLmM6ODkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlcnZlciB2ZXJzaW9uIGlzICUuKnMiCittc2dzdHIgIkxhIHZlcnNpw7MgZGVsIHNlcnZpZG9yIMOpcyAlLipzIgorCisjOiBmZXRjaC1wYWNrLmM6ODk2Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LXNpbmNlIgorbXNnc3RyICJFbCBzZXJ2aWRvciBubyBhZG1ldCAtLXNoYWxsb3ctc2luY2UiCisKKyM6IGZldGNoLXBhY2suYzo5MDAKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctZXhjbHVkZSIKK21zZ3N0ciAiRWwgc2Vydmlkb3Igbm8gYWRtZXQgLS1zaGFsbG93LWV4Y2x1ZGUiCisKKyM6IGZldGNoLXBhY2suYzo5MDIKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLWRlZXBlbiIKK21zZ3N0ciAiRWwgc2Vydmlkb3Igbm8gYWRtZXQgLS1kZWVwZW4iCisKKyM6IGZldGNoLXBhY2suYzo5MTMKK21zZ2lkICJubyBjb21tb24gY29tbWl0cyIKK21zZ3N0ciAiY2FwIGNvbWlzc2nDsyBlbiBjb23DuiIKKworIzogZmV0Y2gtcGFjay5jOjkyNQorbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBmYWlsZWQuIgorbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogbCdvYnRlbmNpw7MgaGEgZmFsbGF0LiIKKworIzogZmV0Y2gtcGFjay5jOjEwODcKK21zZ2lkICJubyBtYXRjaGluZyByZW1vdGUgaGVhZCIKK21zZ3N0ciAibm8gaGkgaGEgY2FwIGNhcCByZW1vdCBjb2luY2lkZW50IgorCisjOiBncGctaW50ZXJmYWNlLmM6MTg1CiBtc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgotbXNnc3RyICJncGcgaGEgZmFsbGF0IGVuIGZpcm1hciBsZXMgZGFkZXMiCittc2dzdHIgImdwZyBoYSBmYWxsYXQgZW4gc2lnbmFyIGxlcyBkYWRlcyIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIyMgorIzogZ3BnLWludGVyZmFjZS5jOjIxNQorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZWwgZml0eGVyIHRlbXBvcmFsIgorCisjOiBncGctaW50ZXJmYWNlLmM6MjE3CiAjLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJyVzJzogJXMiCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZWwgZml0eGVyIHRlbXBvcmFsICclcyc6ICVzIgorbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgorbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBlc2NyaXVyZSBsYSBzaWduYXR1cmEgc2VwYXJhZGEgYSAnJXMnIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjI1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnOiAlcyIKLW1zZ3N0ciAicydoYSBmYWxsYXQgZW4gZXNjcml1cmUgbGEgZmlybWEgc2VwYXJhZGEgYSAnJXMnOiAlcyIKLQotIzogZ3JlcC5jOjE3MTgKKyM6IGdyZXAuYzoxNzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICInJXMnOiBubyBzJ2hhIHBvZ3V0IGxsZWdpciAlcyIKIAotIzogZ3JlcC5jOjE3MzUKKyM6IGdyZXAuYzoxNzk5IGJ1aWx0aW4vY2xvbmUuYzozODEgYnVpbHRpbi9kaWZmLmM6ODQgYnVpbHRpbi9ybS5jOjE1NQogIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnOiAlcyIKLW1zZ3N0ciAiJyVzJzogJXMiCittc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyVzJyIKK21zZ3N0ciAicydoYSBmYWxsYXQgZW4gZmVyIHN0YXQgYSAnJXMnIgogCi0jOiBncmVwLmM6MTc0NgorIzogZ3JlcC5jOjE4MTAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJzogc2hvcnQgcmVhZCAlcyIKLW1zZ3N0ciAiJyVzJzogbGVjdHVyYSBjdXJ0YSAlcyIKK21zZ2lkICInJXMnOiBzaG9ydCByZWFkIgorbXNnc3RyICInJXMnOiBsZWN0dXJhIGN1cnRhIgogCi0jOiBoZWxwLmM6MjA1CisjOiBoZWxwLmM6MjAzCiAjLCBjLWZvcm1hdAogbXNnaWQgImF2YWlsYWJsZSBnaXQgY29tbWFuZHMgaW4gJyVzJyIKIG1zZ3N0ciAib3JkcmVzIGRlIGdpdCBkaXNwb25pYmxlcyBlbiAnJXMnIgogCi0jOiBoZWxwLmM6MjEyCisjOiBoZWxwLmM6MjEwCiBtc2dpZCAiZ2l0IGNvbW1hbmRzIGF2YWlsYWJsZSBmcm9tIGVsc2V3aGVyZSBvbiB5b3VyICRQQVRIIgogbXNnc3RyICJvcmRyZXMgZGUgZ2l0IGRpc3BvbmlibGVzIGQnYWx0cmVzIGxsb2NzIGVuIGVsIHZvc3RyZSAkUEFUSCIKIAotIzogaGVscC5jOjI0NAorIzogaGVscC5jOjI0MQogbXNnaWQgIlRoZXNlIGFyZSBjb21tb24gR2l0IGNvbW1hbmRzIHVzZWQgaW4gdmFyaW91cyBzaXR1YXRpb25zOiIKIG1zZ3N0ciAiQXF1ZXN0ZXMgc8OzbiBvcmRyZXMgZGVsIEdpdCBjb211bmFtZW50IHVzYWRlcyBlbiBkaXZlcnNlcyBzaXR1YWNpb25zOiIKIAotIzogaGVscC5jOjMwOQorIzogaGVscC5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBhcHBlYXJzIHRvIGJlIGEgZ2l0IGNvbW1hbmQsIGJ1dCB3ZSB3ZXJlIG5vdFxuIgpAQCAtNjQ5LDMwICsxNzkzLDMxIEBACiAiJyVzJyBzZW1ibGEgdW5hIG9yZHJlIGRlIGdpdCwgcGVyw7Igbm8gaGVtIHBvZ3V0XG4iCiAiZXhlY3V0YXItbGEuIFBvdCBzZXIgcXVlIGdpdC0lcyBlc3RpZ3VpIGVzdHJvcGVqYXQ/IgogCi0jOiBoZWxwLmM6MzY2CisjOiBoZWxwLmM6MzYxCiBtc2dpZCAiVWggb2guIFlvdXIgc3lzdGVtIHJlcG9ydHMgbm8gR2l0IGNvbW1hbmRzIGF0IGFsbC4iCiBtc2dzdHIgIkFpLiBFbCB2b3N0cmUgc2lzdGVtYSBubyBpbmZvcm1hIGRlIGNhcCBvcmRyZSBkZSBHaXQuIgogCi0jOiBoZWxwLmM6Mzg4CisjOiBoZWxwLmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuXG4iCiAiQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnIgogbXNnc3RyICIiCi0iQVbDjVM6IEhldSBpbnZvY2F0IHVuYSBvcmRyZSBkZSBHaXQgYW1iIG5vbSAnJXMnLCBsYSBxdWFsIG5vIGV4aXN0ZWl4LlxuIgotIkNvbnRpbnVhbnQgc290YSBsJ2Fzc3VtcGNpw7MgcXVlIHZvbMOtZXUgZGlyICclcyciCisiQURWRVJUw4hOQ0lBOiBIZXUgaW52b2NhdCB1bmEgb3JkcmUgZGUgR2l0IGFtYiBub20gJyVzJywgbGEgcXVhbCBubyAiCisiZXhpc3RlaXguXG4iCisiUydlc3TDoCBjb250aW51YW50IHNvdGEgbCdhc3N1bXBjacOzIHF1ZSB2b2zDrWV1IGRpciAnJXMnIgogCi0jOiBoZWxwLmM6MzkzCisjOiBoZWxwLmM6Mzg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluICUwLjFmIHNlY29uZHMgYXV0b21hdGljYWxseS4uLiIKIG1zZ3N0ciAiZW4gJTAuMWYgc2Vnb25zIGF1dG9tw6B0aWNhbWVudC4uLiIKIAotIzogaGVscC5jOjQwMAorIzogaGVscC5jOjM5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQ6ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmQuIFNlZSAnZ2l0IC0taGVscCcuIgogbXNnc3RyICJnaXQ6ICclcycgbm8gw6lzIHVuYSBvcmRyZSBkZSBnaXQuIFZlZ2V1ICdnaXQgLS1oZWxwJy4iCiAKLSM6IGhlbHAuYzo0MDQgaGVscC5jOjQ2NAorIzogaGVscC5jOjM5OSBoZWxwLmM6NDY1CiBtc2dpZCAiIgogIlxuIgogIkRpZCB5b3UgbWVhbiB0aGlzPyIKQEAgLTY4Niw5MiArMTgzMSwxMzcgQEAKICJcbiIKICJWb2zDrWV1IGRpciB1biBkJ2FxdWVzdHM/IgogCi0jOiBoZWxwLmM6NDYwCisjOiBoZWxwLmM6NDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyAtICVzIgogbXNnc3RyICIlczogJXMgLSAlcyIKIAorIzogaWRlbnQuYzozMzQKK21zZ2lkICIiCisiXG4iCisiKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgorIlxuIgorIlJ1blxuIgorIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwieW91QGV4YW1wbGUuY29tXCJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiWW91ciBOYW1lXCJcbiIKKyJcbiIKKyJ0byBzZXQgeW91ciBhY2NvdW50J3MgZGVmYXVsdCBpZGVudGl0eS5cbiIKKyJPbWl0IC0tZ2xvYmFsIHRvIHNldCB0aGUgaWRlbnRpdHkgb25seSBpbiB0aGlzIHJlcG9zaXRvcnkuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogU2kgdXMgcGxhdSwgZGlndWV1LW1lIHF1aSBzb3UuXG4iCisiXG4iCisiRXhlY3V0ZXVcbiIKKyJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCBcInbDs3NAZXhhbXBsZS5jb21cIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJFbCBWb3N0cmUgTm9tXCJcbiIKKyJcbiIKKyJwZXIgYSBlc3RhYmxpciBsYSBpZGVudGl0YXQgcHJlZGV0ZXJtaW5hdCBkZWwgdm9zdHJlIGNvbXB0ZS5cbiIKKyJPbWV0ZXUgLS1nbG9iYWwgcGVyIGEgZXN0YWJsaXIgbGEgaWRlbnRpdGF0IG5vbcOpcyBlbiBhcXVlc3QgZGlww7JzaXQuXG4iCisKKyM6IGxvY2tmaWxlLmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVbmFibGUgdG8gY3JlYXRlICclcy5sb2NrJzogJXMuXG4iCisiXG4iCisiQW5vdGhlciBnaXQgcHJvY2VzcyBzZWVtcyB0byBiZSBydW5uaW5nIGluIHRoaXMgcmVwb3NpdG9yeSwgZS5nLlxuIgorImFuIGVkaXRvciBvcGVuZWQgYnkgJ2dpdCBjb21taXQnLiBQbGVhc2UgbWFrZSBzdXJlIGFsbCBwcm9jZXNzZXNcbiIKKyJhcmUgdGVybWluYXRlZCB0aGVuIHRyeSBhZ2Fpbi4gSWYgaXQgc3RpbGwgZmFpbHMsIGEgZ2l0IHByb2Nlc3NcbiIKKyJtYXkgaGF2ZSBjcmFzaGVkIGluIHRoaXMgcmVwb3NpdG9yeSBlYXJsaWVyOlxuIgorInJlbW92ZSB0aGUgZmlsZSBtYW51YWxseSB0byBjb250aW51ZS4iCittc2dzdHIgIiIKKyJObyBzJ2hhIHBvZ3V0IGNyZWFyICclcy5sb2NrJzogJXMuXG4iCisiXG4iCisiU2VtYmxhIHF1ZSB1biBhbHRyZSBwcm9jw6lzIGRlIGdpdCBzJ2VzdMOgIGV4ZWN1dGFudCBlbiBhcXVlc3RcbiIKKyJkaXDDsnNpdCwgcGVyIGV4ZW1wbGUsIHVuIGVkaXRvciBvYmVydCBwZXIgJ2dpdCBjb21taXQnLiBTaSB1c1xuIgorInBsYXUsIGFzc2VndXJldS12b3MgcXVlIHRvdHMgZWxzIHByb2Nlc3NvcyBzJ2hhZ2luIHRlcm1pbmF0IGlcbiIKKyJsbGF2b3JzIHRyb2JldSBkZSBub3UuIFNpIGVuY2FyYSBmYWxsYSwgcG90c2VyIHF1ZSB1biBwcm9jw6lzIGRlXG4iCisiZ2l0IGhhIHRpbmd1dCB1bmEgcGFuYTpcbiIKKyJlbGltaW5ldSBlbCBmaXR4ZXIgbWFudWFsbWVudCBwZXIgYSBjb250aW51YXIuIgorCisjOiBsb2NrZmlsZS5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gY3JlYXRlICclcy5sb2NrJzogJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgY3JlYXIgJyVzLmxvY2snOiAlcyIKKwogIzogbWVyZ2UuYzo0MQogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBjYWNoZSIKIG1zZ3N0ciAicydoYSBmYWxsYXQgZW4gbGxlZ2lyIGxhIG1lbcOycmlhIGNhdSIKIAotIzogbWVyZ2UuYzo5NCBidWlsdGluL2FtLmM6MjAwOCBidWlsdGluL2FtLmM6MjA0MyBidWlsdGluL2NoZWNrb3V0LmM6Mzc2Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTg3IGJ1aWx0aW4vY2xvbmUuYzo3MzAKKyM6IG1lcmdlLmM6OTYgYnVpbHRpbi9hbS5jOjIwMDAgYnVpbHRpbi9hbS5jOjIwMzUgYnVpbHRpbi9jaGVja291dC5jOjM3NAorIzogYnVpbHRpbi9jaGVja291dC5jOjU4OCBidWlsdGluL2Nsb25lLmM6NzMxCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIHVuIGZpdHhlciBkJ8OtbmRleCBub3UiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4OQotIywgYy1mb3JtYXQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwOQogbXNnaWQgIihiYWQgY29tbWl0KVxuIgogbXNnc3RyICIoY29taXNzacOzIGRvbGVudGEpXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZGluZm9fY2FjaGUgZmFpbGVkIGZvciBwYXRoICclcyciCiBtc2dzdHIgImFkZGluZm9fY2FjaGUgaGEgZmFsbGF0IHBlciBhbCBjYW3DrSAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMQogbXNnaWQgImVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICJlcnJvciBlbiBjb25zdHJ1aXIgYXJicmVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo2ODkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBhdGggJyVzJyVzIgotbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBjcmVhciBlbCBjYW3DrSAnJXMnICVzIgorbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBjcmVhciBlbCBjYW3DrSAnJXMnJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcwMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCi1tc2dzdHIgIkVsaW1pbmFudCAlcyBwZXIgYSBmZXIgZXNwYWkgcGVyIGFsIHN1YmRpcmVjdG9yaVxuIgorbXNnc3RyICJTJ2VzdMOgIGVsaW1pbmFudCAlcyBwZXIgYSBmZXIgZXNwYWkgcGVyIGFsIHN1YmRpcmVjdG9yaVxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3MTQgbWVyZ2UtcmVjdXJzaXZlLmM6NzM1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NDUgbWVyZ2UtcmVjdXJzaXZlLmM6NzY0CiBtc2dpZCAiOiBwZXJoYXBzIGEgRC9GIGNvbmZsaWN0PyIKIG1zZ3N0ciAiOiBwb3RzZXIgdW4gY29uZmxpY3RlIEQvRj8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcyNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKLW1zZ3N0ciAicmVmdXNhbnQgcGVyZHJlIGVsIGZpdHhlciBubyBzZWd1aXQgYSAnJXMnIgorbXNnc3RyICJzJ2VzdMOgIHJlZnVzYW50IHBlcmRyZSBlbCBmaXR4ZXIgbm8gc2VndWl0IGEgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzY1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3OTYgYnVpbHRpbi9jYXQtZmlsZS5jOjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyAnJXMnIgogbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyIGwnb2JqZWN0ZSAlcyAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NjcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICJibG9iIGVzcGVyYXQgcGVyIGEgJXMgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzkwIGJ1aWx0aW4vY2xvbmUuYzozNzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgyMgogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgotbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBvYnJpciAnJXMnIgorbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyc6ICVzIgorbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBvYnJpciAnJXMnOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzk4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MzMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJyIKLW1zZ3N0ciAicydoYSBmYWxsYXQgZW4gZmVyIGwnZW5sbGHDpyBzaW1iw7JsaWMgJyVzJyIKK21zZ2lkICJmYWlsZWQgdG8gc3ltbGluayAnJXMnOiAlcyIKK21zZ3N0ciAicydoYSBmYWxsYXQgZW4gZmVyIGwnZW5sbGHDpyBzaW1iw7JsaWMgJyVzJzogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCiBtc2dzdHIgIm5vIHNlIHNhcCBxdcOoIGZlciBhbWIgJTA2byAlcyAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5MzkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk3OAogbXNnaWQgIkZhaWxlZCB0byBleGVjdXRlIGludGVybmFsIG1lcmdlIgogbXNnc3RyICJTJ2hhIGZhbGxhdCBlbiBleGVjdXRhciBsYSBmdXNpw7MgaW50ZXJuYSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTQzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhZmVnaXIgJXMgYSBsYSBiYXNlIGRlIGRhZGVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5NTkKLW1zZ2lkICJ1bnN1cHBvcnRlZCBvYmplY3QgdHlwZSBpbiB0aGUgdHJlZSIKLW1zZ3N0ciAidGlwdXMgZCdvYmplY3RlIG5vIGNvbXBhdGlibGUgZW4gbCdhcmJyZSIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAzNCBtZXJnZS1yZWN1cnNpdmUuYzoxMDQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgxIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTc4MCw3ICsxOTcwLDcgQEAKICJDT05GTElDVEU6ICglcy9zdXByZXNzacOzKTogJXMgc3VwcmltaXQgZW4gJXMgaSAlcyBlbiAlcy4gTGEgdmVyc2nDsyAlcyBkZSAlcyAiCiAicydoYSBkZWl4YXQgZW4gbCdhcmJyZS4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwNDAgbWVyZ2UtcmVjdXJzaXZlLmM6MTA1MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA4NyBtZXJnZS1yZWN1cnNpdmUuYzoxMTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC03ODksMjAgKzE5NzksMjAgQEAKICJDT05GTElDVEU6ICglcy9zdXByZXNzacOzKTogJXMgc3VwcmltaXQgZW4gJXMgaSAlcyBlbiAlcy4gTGEgdmVyc2nDsyAlcyBkZSAlcyAiCiAicydoYSBkZWl4YXQgZW4gbCdhcmJyZSBhICVzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0MwogbXNnaWQgInJlbmFtZSIKLW1zZ3N0ciAiY2FudmlhIGRlIG5vbSIKK21zZ3N0ciAiY2FudmkgZGUgbm9tIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQzCiBtc2dpZCAicmVuYW1lZCIKIG1zZ3N0ciAiY2FudmlhdCBkZSBub20iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgYSBkaXJlY3RvcnkgaW4gJXMgYWRkaW5nIGFzICVzIGluc3RlYWQiCi1tc2dzdHIgIiVzIMOpcyB1biBkaXJlY3RvcmkgZW4gJXM7IGFmZWdpbnQgY29tIGEgJXMgZW4gbGxvYyIKK21zZ3N0ciAiJXMgw6lzIHVuIGRpcmVjdG9yaSBlbiAlczsgcydlc3TDoCBhZmVnaW50IGNvbSBhICVzIGVuIGxsb2MgZCdhaXjDsiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE3MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgXCIlc1wiLT5cIiVzXCIgaW4gYnJhbmNoIFwiJXNcIiByZW5hbWUgXCIlcyIKQEAgLTgxMSwxNTAgKzIwMDEsMTU4IEBACiAiQ09ORkxJQ1RFIChjYW52aSBkZSBub20vY2FudmkgZGUgbm9tKTogQ2FudmkgZGUgbm9tIFwiJXNcIi0+XCIlc1wiIGVuIGxhICIKICJicmFuY2EgXCIlc1wiIGNhbnZpIGRlIG5vbSBcIiVzXCItPlwiJXNcIiBlbiBcIiVzXCIlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE3NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMAogbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKIG1zZ3N0ciAiIChkZWl4YXQgc2Vuc2UgcmVzb2x1Y2nDsykiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgJXMtPiVzIGluICVzLiBSZW5hbWUgJXMtPiVzIGluICVzIgogbXNnc3RyICIiCiAiQ09ORkxJQ1RFIChjYW52aSBkZSBub20vY2FudmkgZGUgbm9tKTogQ2FudmkgZGUgbm9tICVzLT4lcyBlbiAlcy4gQ2FudmkgZGUgIgogIm5vbSAlcy0+JXMgZW4gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNjEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXMgYW5kICVzIHRvICVzIGluc3RlYWQiCi1tc2dzdHIgIkNhbnZpYW50IGVsIG5vbSBkZSAlcyBhICVzIGkgJXMgYSAlcyBlbiBsbG9jIGQnYWl4w7IiCittc2dzdHIgIlMnZXN0w6AgY2FudmlhbnQgZWwgbm9tIGRlICVzIGEgJXMgaSAlcyBhICVzIGVuIGxsb2MgZCdhaXjDsiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ2MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICVzIGFkZGVkIGluICVzIgogbXNnc3RyICIiCiAiQ09ORkxJQ1RFIChjYW52aSBkZSBub20vYWZlZ2ltZW50KTogQ2FudmkgZGUgbm9tICVzLT4lcyBlbiAlcy4gJXMgYWZlZ2l0IGVuICIKICIlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ3MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgbWVyZ2VkICVzIgotbXNnc3RyICJBZmVnaW50ICVzIGZ1c2lvbmF0IgorbXNnc3RyICJTJ2VzdMOgIGFmZWdpbnQgJXMgZnVzaW9uYXQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NzUgbWVyZ2UtcmVjdXJzaXZlLmM6MTY3NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1MyBtZXJnZS1yZWN1cnNpdmUuYzoxNzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyBhcyAlcyBpbnN0ZWFkIgotbXNnc3RyICJBZmVnaW50IGNvbSBhICVzIGVuIGxsb2MgZCdhaXjDsiIKK21zZ3N0ciAiUydlc3TDoCBhZmVnaW50IGNvbSBhICVzIGVuIGxsb2MgZCdhaXjDsiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUyNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgbCdvYmplY3RlICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTI5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIgotbXNnc3RyICJMJ29iamVjdGUgJXMgbm8gw6lzIHVuIGJsb2IiCittc2dzdHIgImwnb2JqZWN0ZSAlcyBubyDDqXMgdW4gYmxvYiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU4MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY2NgogbXNnaWQgIm1vZGlmeSIKLW1zZ3N0ciAibW9kaWZpY2EiCittc2dzdHIgIm1vZGlmaWNhY2nDsyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU4MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY2NgogbXNnaWQgIm1vZGlmaWVkIgogbXNnc3RyICJtb2RpZmljYXQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1OTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzYKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICJjb250aW5ndXQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1OTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODMKIG1zZ2lkICJhZGQvYWRkIgogbXNnc3RyICJhZmVnaW1lbnQvYWZlZ2ltZW50IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjMyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIKLW1zZ3N0ciAiJXMgc2FsdGF0IChlbCBmdXNpb25hdCDDqXMgaWd1YWwgYSBsJ2V4aXN0ZW50KSIKK21zZ3N0ciAiUydoYSBzYWx0YXQgJXMgKGVsIGZ1c2lvbmF0IMOpcyBpZ3VhbCBhIGwnZXhpc3RlbnQpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjQ2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKLW1zZ3N0ciAiQXV0b2Z1c2lvbmFudCAlcyIKK21zZ3N0ciAiUydlc3TDoCBhdXRvZnVzaW9uYW50ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjUwIGdpdC1zdWJtb2R1bGUuc2g6MTA0OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNiBnaXQtc3VibW9kdWxlLnNoOjkyNAogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAic3VibcOyZHVsIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjUxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgogbXNnc3RyICJDT05GTElDVEUgKCVzKTogQ29uZmxpY3RlIGRlIGZ1c2nDsyBlbiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlcyIKLW1zZ3N0ciAiRWxpbWluYW50ICVzIgorbXNnc3RyICJTJ2VzdMOgIGVsaW1pbmFudCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc2MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg1NwogbXNnaWQgImZpbGUvZGlyZWN0b3J5IgogbXNnc3RyICJmaXR4ZXIvZGlyZWN0b3JpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzY4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODYzCiBtc2dpZCAiZGlyZWN0b3J5L2ZpbGUiCiBtc2dzdHIgImRpcmVjdG9yaS9maXR4ZXIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NzMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogVGhlcmUgaXMgYSBkaXJlY3Rvcnkgd2l0aCBuYW1lICVzIGluICVzLiBBZGRpbmcgJXMgYXMgJXMiCiBtc2dzdHIgIiIKLSJDT05GTElDVEUgKCVzKTogSGkgaGEgdW4gZGlyZWN0b3JpIGFtYiBub20gJXMgZW4gJXMuIEFmZWdpbnQgJXMgY29tIGEgJXMiCisiQ09ORkxJQ1RFICglcyk6IEhpIGhhIHVuIGRpcmVjdG9yaSBhbWIgbm9tICVzIGVuICVzLiBTJ2VzdMOgIGFmZWdpbnQgJXMgY29tIGEgIgorIiVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzgzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyAlcyIKLW1zZ3N0ciAiQWZlZ2ludCAlcyIKK21zZ3N0ciAiUydlc3TDoCBhZmVnaW50ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODAwCi1tc2dpZCAiRmF0YWwgbWVyZ2UgZmFpbHVyZSwgc2hvdWxkbid0IGhhcHBlbi4iCi1tc2dzdHIgIkZhbGxhdCBkZSBmdXNpw7MgZmF0YWw7IGFpeMOyIG5vIGhhIGRlIHBhc3Nhci4iCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MTQKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUhIgotbXNnc3RyICJKYSBhbCBkaWEhIgorbXNnc3RyICJKYSBlc3TDoCBhbCBkaWEhIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODI4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKIG1zZ3N0ciAibGEgZnVzacOzIGRlbHMgYXJicmVzICVzIGkgJXMgaGEgZmFsbGF0IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODU4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlVucHJvY2Vzc2VkIHBhdGg/Pz8gJXMiCi1tc2dzdHIgIkNhbcOtIG5vIHByb2Nlc3NhdD8/PyAlcyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkwNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAwNgogbXNnaWQgIk1lcmdpbmc6IgogbXNnc3RyICJGdXNpb25hbnQ6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTE5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCiBtc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgotbXNnc3RyWzBdICJzJ2hhIHRyb2JhdCAldSBhdmFudHBhc3NhdDoiCi1tc2dzdHJbMV0gInMnaGFuIHRyb2JhdCAldSBhdmFudHBhc3NhdHM6IgorbXNnc3RyWzBdICJzJ2hhIHRyb2JhdCAldSBhdmFudHBhc3NhdCBlbiBjb23DujoiCittc2dzdHJbMV0gInMnaGFuIHRyb2JhdCAldSBhdmFudHBhc3NhdHMgZW4gY29tw7o6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTU2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDU4CiBtc2dpZCAibWVyZ2UgcmV0dXJuZWQgbm8gY29tbWl0IgogbXNnc3RyICJsYSBmdXNpw7Mgbm8gaGEgcmV0b3JuYXQgY2FwIGNvbWlzc2nDsyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGwnb2JqZWN0ZSAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDI0IGJ1aWx0aW4vbWVyZ2UuYzo2NDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMzUgYnVpbHRpbi9tZXJnZS5jOjY0MSBidWlsdGluL21lcmdlLmM6Nzg4CiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGluZGV4LiIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsJ8OtbmRleC4iCiAKKyM6IG5vdGVzLW1lcmdlLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG4iCisiUGxlYXNlLCB1c2UgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcgb3IgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyB0byAiCisiY29tbWl0L2Fib3J0IHRoZSBwcmV2aW91cyBtZXJnZSBiZWZvcmUgeW91IHN0YXJ0IGEgbmV3IG5vdGVzIG1lcmdlLiIKK21zZ3N0ciAiIgorIk5vIGhldSBjb25jbMOycyBsYSB2b3N0cmEgZnVzacOzIGRlIG5vdGVzIHByw6h2aWEgKCVzIGV4aXN0ZWl4KS5cbiIKKyJTaSB1cyBwbGF1LCB1c2V1ICdnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnIG8gJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyBwZXIgIgorImEgY29tZXRyZS9hdm9ydGFyIGxhIGZ1c2nDsyBwcsOodmlhIGFiYW5zIGRlIGNvbWVuw6dhciB1bmEgZnVzacOzIGRlIG5vdGVzIG5vdmEuIgorCisjOiBub3Rlcy1tZXJnZS5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuIgorbXNnc3RyICJObyBoZXUgY29uY2zDsnMgbGEgdm9zdHJhIGZ1c2nDsyBkZSBub3RlcyAoJXMgZXhpc3RlaXgpLiIKKwogIzogbm90ZXMtdXRpbHMuYzo0MQogbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKIG1zZ3N0ciAiTm8gZXMgcG90IGNvbWV0cmUgdW4gYXJicmUgZGUgbm90ZXMgbm8gaW5pY2lhbGl0emF0IC8gbm8gcmVmZXJlbmNpYXQiCkBAIC05NjcsNyArMjE2NSw3IEBACiAjOiBub3Rlcy11dGlscy5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byByZXdyaXRlIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKLW1zZ3N0ciAiUmVmdXNhbnQgcmVlc2NyaXVyZSBsZXMgbm90ZXMgZW4gJXMgKGZvcmEgZGUgcmVmcy9ub3Rlcy8pIgorbXNnc3RyICJTJ2VzdMOgIHJlZnVzYW50IHJlZXNjcml1cmUgbGVzIG5vdGVzIGVuICVzIChmb3JhIGRlIHJlZnMvbm90ZXMvKSIKIAogIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyB0aGUgbmFtZSBvZiB0aGUKICMuIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzIGl0cyB2YWx1ZQpAQCAtOTgxLDM3ICsyMTc5LDM3IEBACiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdDogJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGwnb2JqZWN0ZTogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1NzAKKyM6IHBhcnNlLW9wdGlvbnMuYzo1NzIKIG1zZ2lkICIuLi4iCiBtc2dzdHIgIi4uLiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU4OAorIzogcGFyc2Utb3B0aW9ucy5jOjU5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMiCiBtc2dzdHIgIsO6czogJXMiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gaGVyZSBzaG91bGQgYWxpZ24gd2l0aCB0aGUKICMuIG9uZSBpbiAidXNhZ2U6ICVzIiB0cmFuc2xhdGlvbgotIzogcGFyc2Utb3B0aW9ucy5jOjU5MgorIzogcGFyc2Utb3B0aW9ucy5jOjU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBvcjogJXMiCiBtc2dzdHIgIiBvOiAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjU5NQorIzogcGFyc2Utb3B0aW9ucy5jOjU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJXMiCiBtc2dzdHIgIiAgICAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjYyOQorIzogcGFyc2Utb3B0aW9ucy5jOjYzMQogbXNnaWQgIi1OVU0iCiBtc2dzdHIgIi1OVU0iCiAKICM6IHBhcnNlLW9wdGlvbnMtY2IuYzoxMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCi1tc2dzdHIgIm5vbSBkZSBjYW1wIG1hbCBmb3JtYXQgJyVzJyIKK21zZ3N0ciAibm9tIGQnb2JqZWN0ZSBtYWwgZm9ybWF0ICclcyciCiAKLSM6IHBhdGguYzo3NTIKKyM6IHBhdGguYzo4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZmVyICVzIGVzY3JpdmlibGUgcGVsIGdydXAiCkBAIC0xMDcwLDEyICsyMjY4LDIxIEBACiBtc2dzdHIgIiIKICIlczogYXF1ZXN0YSBvcmRyZSBubyDDqXMgY29tcGF0aWJsZSBhbWIgbGEgbcOgZ2lhIGQnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw606ICVzIgogCi0jOiBwYXRoc3BlYy5jOjQzMworIzogcGF0aHNwZWMuYzo0MDgKK21zZ2lkICIiCisiZW1wdHkgc3RyaW5ncyBhcyBwYXRoc3BlY3Mgd2lsbCBiZSBtYWRlIGludmFsaWQgaW4gdXBjb21pbmcgcmVsZWFzZXMuIHBsZWFzZSAiCisidXNlIC4gaW5zdGVhZCBpZiB5b3UgbWVhbnQgdG8gbWF0Y2ggYWxsIHBhdGhzIgorbXNnc3RyICIiCisiZXMgZmFyYW4gbm8gdsOgbGlkZXMgbGVzIGNhZGVuZXMgYnVpZGVzIGNvbSBlc3BlY2lmaWNhY2lvbnMgZGUgY2Ftw60gZW4gIgorInZlcnNpb25zIGZ1dHVyZXMuIHNpIHVzIHBsYXUsIHVzZXUgLiBlbiBsbG9jIGQnYWl4w7Igc2kgdm9sw61ldSBjb2luY2lkaXIgYW1iICIKKyJ0b3RzIGVscyBjYW1pbnMiCisKKyM6IHBhdGhzcGVjLmM6NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAibCdlc3BlY2lmaWNhY2nDsyBkZSBjYW3DrSAnJXMnIMOpcyBtw6lzIGVubGzDoCBkJ3VuIGVubGxhw6cgc2ltYsOybGljIgogCi0jOiBwYXRoc3BlYy5jOjQ0MgorIzogcGF0aHNwZWMuYzo0NDkKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKICJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgpAQCAtMTA4Myw0OSArMjI5MCw0NCBAQAogIk5vIGhpIGhhIHJlcyBhIGV4Y2xvdXJlIHBlciBwYXRyb25zIDooZXhjbHVzacOzKS5cbiIKICJQb3RzZXIgaGV1IG9ibGlkYXQgYWZlZ2lyIG8gJzovJyBvICcuJyA/IgogCi0jOiBwcmV0dHkuYzo5NjkKKyM6IHByZXR0eS5jOjk3MQogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAtLXByZXR0eSBmb3JtYXQiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGVsIGZvcm1hdCAtLXByZXR0eSIKIAotIzogcHJvZ3Jlc3MuYzoyMzUKLW1zZ2lkICJkb25lIgotbXNnc3RyICJmZXQiCi0KLSM6IHJlYWQtY2FjaGUuYzoxMjgxCisjOiByZWFkLWNhY2hlLmM6MTMxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiaW5kZXgudmVyc2lvbiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKICJVc2luZyB2ZXJzaW9uICVpIgogbXNnc3RyICIiCi0iaW5kZXgudmVyc2lvbiBlc3RhYmxlcnQsIHBlcsOyIGVsIHZhbG9yIG5vIMOpcyB2w6BsaWQuXG4iCi0iVXNhbnQgbGEgdmVyc2nDsyAlaSIKKyJpbmRleC52ZXJzaW9uIGVzdMOgIGVzdGFibGVydGEsIHBlcsOyIGVsIHZhbG9yIG5vIMOpcyB2w6BsaWQuXG4iCisiUydlc3TDoCB1c2FudCBsYSB2ZXJzacOzICVpIgogCi0jOiByZWFkLWNhY2hlLmM6MTI5MQorIzogcmVhZC1jYWNoZS5jOjEzMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkdJVF9JTkRFWF9WRVJTSU9OIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgogIlVzaW5nIHZlcnNpb24gJWkiCiBtc2dzdHIgIiIKLSJHSVRfSU5ERVhfVkVSU0lPTiBlc3RhYmxlcnQsIHBlcsOyIGVsIHZhbG9yIG5vIMOpcyB2w6BsaWQuXG4iCi0iVXNhbnQgbGEgdmVyc2nDsyAlaSIKKyJHSVRfSU5ERVhfVkVSU0lPTiBlc3TDoCBlc3RhYmxlcnRhLCBwZXLDsiBlbCB2YWxvciBubyDDqXMgdsOgbGlkLlxuIgorIlMnZXN0w6AgdXNhbnQgbGEgdmVyc2nDsyAlaSIKIAotIzogcmVmcy5jOjU0MyBidWlsdGluL21lcmdlLmM6NzYxIGJ1aWx0aW4vbWVyZ2UuYzo4NzIgYnVpbHRpbi9tZXJnZS5jOjk3NAotIzogYnVpbHRpbi9tZXJnZS5jOjk4NAorIzogcmVmcy5jOjU3NiBidWlsdGluL21lcmdlLmM6ODQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgJyVzJyBwZXIgYSBlc2NyaXB0dXJhIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyMzc0CisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlICVzOiAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBzdXByaW1pciBsYSByZWZlcsOobmNpYSAlczogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjIzNzcKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2VzOiAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBzdXByaW1pciBsZXMgcmVmZXLDqG5jaWVzOiAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjM4NgorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIHJlZmVyZW5jZSAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlbGltaW5hciBsYSByZWZlcsOobmNpYSAlcyIKQEAgLTExOTgsNyArMjQwMCw3IEBACiAjOiByZWYtZmlsdGVyLmM6MjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBmaWVsZCBuYW1lOiAlLipzIgotbXNnc3RyICJub20gZCdvYmplY3RlIG1hbCBmb3JtYXQ6ICUuKnMiCittc2dzdHIgIm5vbSBkZSBjYW1wIG1hbCBmb3JtYXQ6ICUuKnMiCiAKICM6IHJlZi1maWx0ZXIuYzoyNzAKICMsIGMtZm9ybWF0CkBAIC0xMjQ3LDM5ICsyNDQ5LDM5IEBACiAjOiByZWYtZmlsdGVyLmM6MTM3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyByZWYgd2l0aCBicm9rZW4gbmFtZSAlcyIKLW1zZ3N0ciAiaWdub3JhbnQgbGEgcmVmZXLDqG5jaWEgYW1iIG5vbSB0cmVuY2F0ICVzIgorbXNnc3RyICJzJ2VzdMOgIGlnbm9yYW50IGxhIHJlZmVyw6huY2lhIGFtYiBub20gdHJlbmNhdCAlcyIKIAogIzogcmVmLWZpbHRlci5jOjEzNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgYnJva2VuIHJlZiAlcyIKLW1zZ3N0ciAiaWdub3JhbnQgbGEgcmVmZXLDqG5jaWEgdHJlbmNhZGEgJXMiCittc2dzdHIgInMnZXN0w6AgaWdub3JhbnQgbGEgcmVmZXLDqG5jaWEgdHJlbmNhZGEgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjUxCisjOiByZWYtZmlsdGVyLmM6MTYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICJmb3JtYXQ6IG1hbmNhIGwnw6B0b20gJSUoZW5kKSIKIAotIzogcmVmLWZpbHRlci5jOjE3MDUKKyM6IHJlZi1maWx0ZXIuYzoxNjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAibm9tIGQnb2JqZWN0ZSAlcyBtYWwgZm9ybWF0IgogCi0jOiByZW1vdGUuYzo3NDUKKyM6IHJlbW90ZS5jOjc0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZmV0Y2ggYm90aCAlcyBhbmQgJXMgdG8gJXMiCiBtc2dzdHIgIk5vIGVzIHBvdCBvYnRlbmlyIGFtYmTDs3MgJXMgaSAlcyBhICVzIgogCi0jOiByZW1vdGUuYzo3NDkKKyM6IHJlbW90ZS5jOjc1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB1c3VhbGx5IHRyYWNrcyAlcywgbm90ICVzIgogbXNnc3RyICIlcyBnZW5lcmFsbWVudCBzZWd1ZWl4ICVzLCBubyAlcyIKIAotIzogcmVtb3RlLmM6NzUzCisjOiByZW1vdGUuYzo3NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdHJhY2tzIGJvdGggJXMgYW5kICVzIgogbXNnc3RyICIlcyBzZWd1ZWl4IGFtYmTDs3MgJXMgaSAlcyIKIAotIzogcmVtb3RlLmM6NzYxCisjOiByZW1vdGUuYzo3NjIKIG1zZ2lkICJJbnRlcm5hbCBlcnJvciIKIG1zZ3N0ciAiRXJyb3IgaW50ZXJuIgogCkBAIC0xMzAwLDcgKzI1MDIsNyBAQAogIzogcmVtb3RlLmM6MTY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1cHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKLW1zZ3N0ciAiTGEgYnJhbmNhIGZvbnQgJyVzJyBubyBzJ2VtbWFnYXR6ZW1hIGNvbSBhIGJyYW5jYSBhbWIgc2VndWltZW50IHJlbW90IgorbXNnc3RyICJsYSBicmFuY2EgZm9udCAnJXMnIG5vIHMnZW1tYWdhdHplbWEgY29tIGEgYnJhbmNhIGFtYiBzZWd1aW1lbnQgcmVtb3QiCiAKICM6IHJlbW90ZS5jOjE3MTAKICMsIGMtZm9ybWF0CkBAIC0xMzg2LDQ5ICsyNTg4LDYxIEBACiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IHB1bGxcIiBwZXIgYSBmdXNpb25hciBsYSBicmFuY2EgcmVtb3RhIGEgbGEgdm9zdHJhKVxuIgogCi0jOiByZXZpc2lvbi5jOjIxMzEKKyM6IHJldmlzaW9uLmM6MjE1OAogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggYXBwZWFycyB0byBiZSBicm9rZW4iCiBtc2dzdHIgImxhIHZvc3RyYSBicmFuY2EgYWN0dWFsIHNlbWJsYSB0cmVuY2FkYSIKIAotIzogcmV2aXNpb24uYzoyMTM0CisjOiByZXZpc2lvbi5jOjIxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnIGRvZXMgbm90IGhhdmUgYW55IGNvbW1pdHMgeWV0IgogbXNnc3RyICJsYSB2b3N0cmEgYnJhbmNhIGFjdHVhbCAnJXMnIGVuY2FyYSBubyB0w6kgY2FwIGNvbWlzc2nDsyIKIAotIzogcmV2aXNpb24uYzoyMzI4CisjOiByZXZpc2lvbi5jOjIzNTUKIG1zZ2lkICItLWZpcnN0LXBhcmVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWJpc2VjdCIKIG1zZ3N0ciAiLS1maXJzdC1wYXJlbnQgw6lzIGluY29tcGF0aWJsZSBhbWIgLS1iaXNlY3QiCiAKLSM6IHJ1bi1jb21tYW5kLmM6OTIKKyM6IHJ1bi1jb21tYW5kLmM6MTA2CiBtc2dpZCAib3BlbiAvZGV2L251bGwgZmFpbGVkIgogbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBvYnJpciAvZGV2L251bGwiCiAKLSM6IHJ1bi1jb21tYW5kLmM6OTQKKyM6IHJ1bi1jb21tYW5kLmM6MTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKIG1zZ3N0ciAiZHVwMiglZCwlZCkgaGEgZmFsbGF0IgogCi0jOiBzZW5kLXBhY2suYzoyOTUKKyM6IHNlbmQtcGFjay5jOjI5NwogbXNnaWQgImZhaWxlZCB0byBzaWduIHRoZSBwdXNoIGNlcnRpZmljYXRlIgotbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBmaXJtYXIgZWwgY2VydGlmaWNhdCBkZSBwdWphZGEiCittc2dzdHIgInMnaGEgZmFsbGF0IGVuIHNpZ25hciBlbCBjZXJ0aWZpY2F0IGRlIHB1amFkYSIKIAotIzogc2VuZC1wYWNrLmM6NDA0CisjOiBzZW5kLXBhY2suYzo0MTAKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIHB1c2giCiBtc2dzdHIgImVsIGRlc3TDrSByZWNlcHRvciBubyBhZG1ldCBwdWphciAtLXNpZ25lZCIKIAotIzogc2VuZC1wYWNrLmM6NDA2CisjOiBzZW5kLXBhY2suYzo0MTIKIG1zZ2lkICIiCiAibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCiAic2lnbmVkIHB1c2giCiBtc2dzdHIgIiIKLSJubyBlbnZpYW50IHVuYSBjZXJ0aWZpY2FjacOzIGRlIHB1amFkYSBwZXJxdcOoIGVsIGRlc3TDrSByZWNlcHRvciBubyBhZG1ldCAiCi0icHVqYXIgLS1zaWduZWQiCisibm8gcydlc3TDoCBlbnZpYW50IHVuYSBjZXJ0aWZpY2FjacOzIGRlIHB1amFkYSBwZXJxdcOoIGVsIGRlc3TDrSByZWNlcHRvciBubyAiCisiYWRtZXQgcHVqYXIgLS1zaWduZWQiCiAKLSM6IHNlbmQtcGFjay5jOjQxOAorIzogc2VuZC1wYWNrLmM6NDI0CiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLWF0b21pYyBwdXNoIgogbXNnc3RyICJlbCBkZXN0w60gcmVjZXB0b3Igbm8gYWRtZXQgcHVqYXIgLS1hdG9taWMiCiAKLSM6IHNlcXVlbmNlci5jOjE3NAorIzogc2VuZC1wYWNrLmM6NDI5Cittc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCBwdXNoIG9wdGlvbnMiCittc2dzdHIgImVsIGRlc3TDrSByZWNlcHRvciBubyBhZG1ldCBvcGNpb25zIGRlIHB1amFkYSIKKworIzogc2VxdWVuY2VyLmM6MTcxCittc2dpZCAicmV2ZXJ0IgorbXNnc3RyICJyZXZlcnRpciIKKworIzogc2VxdWVuY2VyLmM6MTcxCittc2dpZCAiY2hlcnJ5LXBpY2siCittc2dzdHIgInJlY29sbGlyIGNpcmVyZXMiCisKKyM6IHNlcXVlbmNlci5jOjIyOAogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgpAQCAtMTQzNiw3ICsyNjUwLDcgQEAKICJkZXNwcsOpcyBkZSByZXNvbGRyZSBlbHMgY29uZmxpY3RlcywgbWFycXVldSBlbHMgY2FtaW5zXG4iCiAiY29ycmVnaXRzIGFtYiAnZ2l0IGFkZCA8Y2FtaW5zPicgbyAnZ2l0IHJtIDxjYW1pbnM+JyIKIAotIzogc2VxdWVuY2VyLmM6MTc3CisjOiBzZXF1ZW5jZXIuYzoyMzEKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgpAQCAtMTQ0NiwyNDYgKzI2NjAsMzkwIEBACiAiY29ycmVnaXRzIGFtYiAnZ2l0IGFkZCA8Y2FtaW5zPicgbyAnZ2l0IHJtIDxjYW1pbnM+J1xuIgogImkgY29tZXRldSBlbCByZXN1bHRhdCBhbWIgJ2dpdCBjb21taXQnIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTAgc2VxdWVuY2VyLmM6ODMzIHNlcXVlbmNlci5jOjkxMworIzogc2VxdWVuY2VyLmM6MjQ0IHNlcXVlbmNlci5jOjEyMDkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgotbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGEgJXMiCittc2dpZCAiY291bGQgbm90IGxvY2sgJyVzJyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBibG9xdWVqYXIgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTkzCisjOiBzZXF1ZW5jZXIuYzoyNDcgc2VxdWVuY2VyLmM6MTEyNSBzZXF1ZW5jZXIuYzoxMjE0CiAjLCBjLWZvcm1hdAotbXNnaWQgIkVycm9yIHdyYXBwaW5nIHVwICVzIgotbXNnc3RyICJFcnJvciBlbiBmaW5hbGl0emFyICVzIgorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGEgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjA4Ci1tc2dpZCAiWW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZXJyeS1waWNrLiIKLW1zZ3N0ciAiRWxzIHZvc3RyZXMgY2FudmlzIGxvY2FscyBzZSBzb2JyZWVzY3JpdXJpZW4gcGVsIHJlY3VsbCBkZSBjaXJlcmVzLiIKKyM6IHNlcXVlbmNlci5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZW9sIHRvICclcyciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWwgdGVybWluYWRvciBkZSBsw61uaWEgYSAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTAKLW1zZ2lkICJZb3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgcmV2ZXJ0LiIKLW1zZ3N0ciAiRWxzIHZvc3RyZXMgY2FudmlzIGxvY2FscyBzZSBzb2JyZWVzY3JpdXJpZW4gcGVyIGxhIHJldmVyc2nDsy4iCisjOiBzZXF1ZW5jZXIuYzoyNTUgc2VxdWVuY2VyLmM6MTEzMCBzZXF1ZW5jZXIuYzoxMjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSAnJXMnLiIKK21zZ3N0ciAicydoYSBmYWxsYXQgZW4gZmluYWxpdHphciAnJXMnLiIKIAotIzogc2VxdWVuY2VyLmM6MjEzCi1tc2dpZCAiQ29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQuIgotbXNnc3RyICJDb21ldGV1IGVscyB2b3N0cmVzIGNhbnZpcyBvIGVtbWFnYXR6ZW1ldS1sb3MgcGVyIGEgcHJvY2VkaXIuIgorIzogc2VxdWVuY2VyLmM6Mjc5IGJ1aWx0aW4vYW0uYzoyNTkgYnVpbHRpbi9jb21taXQuYzo3NDkgYnVpbHRpbi9tZXJnZS5jOjEwMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgJyVzJyIKKworIzogc2VxdWVuY2VyLmM6MzA1CisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iCittc2dzdHIgImVscyB2b3N0cmVzIGNhbnZpcyBsb2NhbHMgc2Ugc29icmVlc2NyaXVyaWVuIHBlciAlcy4iCisKKyM6IHNlcXVlbmNlci5jOjMwOQorbXNnaWQgImNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKK21zZ3N0ciAiY29tZXRldSBlbHMgdm9zdHJlcyBjYW52aXMgbyBlbW1hZ2F0emVtZXUtbG9zIHBlciBhIHByb2NlZGlyLiIKKworIzogc2VxdWVuY2VyLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCittc2dzdHIgIiVzOiBhdmFuw6cgcsOgcGlkIgogCiAjLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiBvciAiY2hlcnJ5LXBpY2siCi0jOiBzZXF1ZW5jZXIuYzozMDAKKyM6IHNlcXVlbmNlci5jOjM5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIlczogTm8gcydoYSBwb2d1dCBlc2NyaXVyZSB1biBmaXR4ZXIgZCfDrW5kZXggbm91IgogCi0jOiBzZXF1ZW5jZXIuYzozMTgKLW1zZ2lkICJDb3VsZCBub3QgcmVzb2x2ZSBIRUFEIGNvbW1pdFxuIgotbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHJlc29sZHJlIGxhIGNvbWlzc2nDsyBIRUFEXG4iCisjOiBzZXF1ZW5jZXIuYzo0MTgKK21zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSBIRUFEIGNvbW1pdFxuIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlc29sZHJlIGxhIGNvbWlzc2nDsyBIRUFEXG4iCiAKLSM6IHNlcXVlbmNlci5jOjMzOAotbXNnaWQgIlVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgotbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyIGwnYXJicmUgY2F1XG4iCisjOiBzZXF1ZW5jZXIuYzo0MzgKK21zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBhY3R1YWxpdHphciBsJ2FyYnJlIGNhdVxuIgogCi0jOiBzZXF1ZW5jZXIuYzozOTAKKyM6IHNlcXVlbmNlci5jOjQ4MwogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCi1tc2dzdHIgIk5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyAlc1xuIgotCi0jOiBzZXF1ZW5jZXIuYzozOTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXNcbiIKLW1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbGEgY29taXNzacOzIG1hcmUgJXNcbiIKLQotIzogc2VxdWVuY2VyLmM6NDYwCi1tc2dpZCAiWW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKLW1zZ3N0ciAiRWwgdm9zdHJlIGZpdHhlciBkJ8OtbmRleCBlc3TDoCBzZW5zZSBmdXNpb25hci4iCi0KLSM6IHNlcXVlbmNlci5jOjQ3OQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCi1tc2dzdHIgIkxhIGNvbWlzc2nDsyAlcyDDqXMgdW5hIGZ1c2nDsyBwZXLDsiBubyBzJ2hhIGRvbmF0IGNhcCBvcGNpw7MgLW0uIgotCi0jOiBzZXF1ZW5jZXIuYzo0ODcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgotbXNnc3RyICJMYSBjb21pc3Npw7MgJXMgbm8gdMOpIG1hcmUgJWQiCi0KLSM6IHNlcXVlbmNlci5jOjQ5MQotIywgYy1mb3JtYXQKLW1zZ2lkICJNYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgorbXNnaWQgIiIKKyJ5b3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZVxuIgorIklmIHRoZXNlIGNoYW5nZXMgYXJlIG1lYW50IHRvIGJlIHNxdWFzaGVkIGludG8gdGhlIHByZXZpb3VzIGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisiSWYgdGhleSBhcmUgbWVhbnQgdG8gZ28gaW50byBhIG5ldyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJXNcbiIKKyJcbiIKKyJJbiBib3RoIGNhc2VzLCBvbmNlIHlvdSdyZSBkb25lLCBjb250aW51ZSB3aXRoOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiBtc2dzdHIgIiIKLSJTJ2hhIGVzcGVjaWZpY2F0IGxhIGzDrW5pYSBwcmluY2lwYWwgcGVyw7IgbGEgY29taXNzacOzICVzIG5vIMOpcyB1bmEgZnVzacOzLiIKKyJ0ZW5pdSBjYW52aXMgYWxsaXN0YXRzIGVuIGVsIHZvc3RyZSBhcmJyZSBkZSB0cmViYWxsXG4iCisiU2kgYXF1ZXN0cyBjYW52aXMgc8OzbiBwZXIgYSBhaXhhZmFyLXNlIGEgbGEgY29taXNzacOzIHByw6h2aWEsIGV4ZWN1dGV1OlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisiU2kgc8OzbiBwZXIgYSBmb3JtYXIgdW5hIGNvbWlzc2nDsyBub3ZhLCBleGVjdXRldTpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJXNcbiIKKyJcbiIKKyJFbiBhbWJkw7NzIGNhc3NvcywgcXVhbiBow6BnaXUgdGVybWluYXQsIGNvbnRpbnVldSBhbWI6XG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyB3aWxsIGJlICJyZXZlcnQiIG9yCi0jLiAiY2hlcnJ5LXBpY2siLCB0aGUgc2Vjb25kICVzIGEgU0hBMQotIzogc2VxdWVuY2VyLmM6NTA0CisjOiBzZXF1ZW5jZXIuYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBsYSBjb21pc3Npw7MgJXNcbiIKKworIzogc2VxdWVuY2VyLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzXG4iCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyBtYXJlICVzXG4iCisKKyM6IHNlcXVlbmNlci5jOjY1NgorbXNnaWQgInlvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCittc2dzdHIgImVsIHZvc3RyZSBmaXR4ZXIgZCfDrW5kZXggZXN0w6Agc2Vuc2UgZnVzaW9uYXIuIgorCisjOiBzZXF1ZW5jZXIuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgorbXNnc3RyICJsYSBjb21pc3Npw7MgJXMgw6lzIHVuYSBmdXNpw7MgcGVyw7Igbm8gcydoYSBkb25hdCBjYXAgb3BjacOzIC1tLiIKKworIzogc2VxdWVuY2VyLmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKK21zZ3N0ciAibGEgY29taXNzacOzICVzIG5vIHTDqSBtYXJlICVkIgorCisjOiBzZXF1ZW5jZXIuYzo2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKK21zZ3N0ciAiIgorInMnaGEgZXNwZWNpZmljYXQgbGEgbMOtbmlhIHByaW5jaXBhbCBwZXLDsiBsYSBjb21pc3Npw7MgJXMgbm8gw6lzIHVuYSBmdXNpw7MuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCisjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgorIzogc2VxdWVuY2VyLmM6NzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXM6IG5vIGVzIHBvdCBhbmFsaXR6YXIgbGEgY29taXNzacOzIG1hcmUgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjUwOAorIzogc2VxdWVuY2VyLmM6NzA1CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgotbXNnc3RyICJObyBlcyBwb3Qgb2J0ZW5pciBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MgZGUgJXMiCittc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCittc2dzdHIgIm5vIGVzIHBvdCBvYnRlbmlyIGVsIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyBkZSAlcyIKIAotIzogc2VxdWVuY2VyLmM6NTk0CisjOiBzZXF1ZW5jZXIuYzo3OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCByZXZlcnRpciAlcy4uLiVzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJldmVydGlyICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo1OTUKKyM6IHNlcXVlbmNlci5jOjc5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgYXBsaWNhciAlcy4uLiVzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFwbGljYXIgJXMuLi4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjYzMAorIzogc2VxdWVuY2VyLmM6ODMzCiBtc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCiBtc2dzdHIgImNvbmp1bnQgZGUgY29taXNzaW9ucyBidWl0IHBhc3NhdCIKIAotIzogc2VxdWVuY2VyLmM6NjM4CisjOiBzZXF1ZW5jZXIuYzo4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczogcydoYSBmYWxsYXQgZW4gbGxlZ2lyIGwnw61uZGV4IgogCi0jOiBzZXF1ZW5jZXIuYzo2NDIKKyM6IHNlcXVlbmNlci5jOjg1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzOiBzJ2hhIGZhbGxhdCBlbiBhY3R1YWxpdHphciBsJ8OtbmRleCIKIAotIzogc2VxdWVuY2VyLmM6NzAyCisjOiBzZXF1ZW5jZXIuYzo5NDQKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90ICVzIGR1cmluZyBhICVzIgotbXNnc3RyICJObyBlcyBwb3QgJXMgZHVyYW50IHVuICVzIgorbXNnaWQgImludmFsaWQgbGluZSAlZDogJS4qcyIKK21zZ3N0ciAibMOtbmlhIG5vIHbDoGxpZGEgJWQ6ICUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjcyNAorIzogc2VxdWVuY2VyLmM6OTUwCittc2dpZCAibm8gY29tbWl0cyBwYXJzZWQuIgorbXNnc3RyICJubyBzJ2hhIGFuYWxpdHphdCBjYXAgY29taXNzacOzLiIKKworIzogc2VxdWVuY2VyLmM6OTY2CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKLW1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbGEgbMOtbmlhICVkLiIKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgJyVzJy4iCiAKLSM6IHNlcXVlbmNlci5jOjcyOQotbXNnaWQgIk5vIGNvbW1pdHMgcGFyc2VkLiIKLW1zZ3N0ciAiQ2FwIGNvbWlzc2nDsyBhbmFsaXR6YWRhLiIKLQotIzogc2VxdWVuY2VyLmM6NzQxCisjOiBzZXF1ZW5jZXIuYzo5NzIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG9wZW4gJXMiCi1tc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgJXMiCittc2dpZCAidW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICclcyciCittc2dzdHIgImZ1bGwgZCdpbnN0cnVjY2lvbnMgaW51c2FibGU6ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjc0NQorIzogc2VxdWVuY2VyLmM6OTgzCittc2dpZCAiY2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhIHJldmVydC4iCittc2dzdHIgIm5vIGVzIHBvdCByZWNvbGxpciBjaXJlcmVzIGR1cmFudCB1bmEgcmV2ZXJzacOzLiIKKworIzogc2VxdWVuY2VyLmM6OTg1Cittc2dpZCAiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iCittc2dzdHIgIm5vIGVzIHBvdCByZXZlcnRpciBkdXJhbnQgdW4gcmVjdWxsIGRlIGNpcmVyZXMuIgorCisjOiBzZXF1ZW5jZXIuYzoxMDI4CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKLW1zZ3N0ciAiTm8gcydoYSBwb2d1dCBsbGVnaXIgJXMuIgorbXNnaWQgImludmFsaWQga2V5OiAlcyIKK21zZ3N0ciAiY2xhdSBubyB2w6BsaWRhOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NzUyCisjOiBzZXF1ZW5jZXIuYzoxMDMxCiAjLCBjLWZvcm1hdAotbXNnaWQgIlVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAlcyIKLW1zZ3N0ciAiRnVsbCBkJ2luc3RydWNjaW9ucyBpbnVzYWJsZTogJXMiCittc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgorbXNnc3RyICJ2YWxvciBubyB2w6BsaWQgcGVyIGEgJXM6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo3ODIKKyM6IHNlcXVlbmNlci5jOjEwNjMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCBrZXk6ICVzIgotbXNnc3RyICJDbGF1IG5vIHbDoGxpZGE6ICVzIgorbXNnaWQgIm1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAnJXMnIgorbXNnc3RyICJmdWxsIGQnb3BjaW9ucyBtYWwgZm9ybWF0OiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzo3ODUgYnVpbHRpbi9wdWxsLmM6NTAgYnVpbHRpbi9wdWxsLmM6NTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgotbXNnc3RyICJWYWxvciBubyB2w6BsaWQgcGVyIGEgJXM6ICVzIgotCi0jOiBzZXF1ZW5jZXIuYzo3OTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICVzIgotbXNnc3RyICJGdWxsIGQnb3BjaW9ucyBtYWwgZm9ybWF0OiAlcyIKLQotIzogc2VxdWVuY2VyLmM6ODE0CisjOiBzZXF1ZW5jZXIuYzoxMTAxCiBtc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAidW4gcmVjdWxsIGRlIGNpcmVyZXMgbyB1bmEgcmV2ZXJzacOzIGphIGVzdMOgIGVuIGN1cnMiCiAKLSM6IHNlcXVlbmNlci5jOjgxNQorIzogc2VxdWVuY2VyLmM6MTEwMgogbXNnaWQgInRyeSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCiBtc2dzdHIgImludGVudGV1IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIAotIzogc2VxdWVuY2VyLmM6ODE5CisjOiBzZXF1ZW5jZXIuYzoxMTA2CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAlcyIKLW1zZ3N0ciAiTm8gcydoYSBwb2d1dCBjcmVhciBlbCBkaXJlY3RvcmkgZGUgc2Vxw7xlbmNpYWRvciAlcyIKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJyVzJyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBjcmVhciBlbCBkaXJlY3RvcmkgZGUgc2Vxw7xlbmNpYWRvciAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzUgc2VxdWVuY2VyLmM6OTE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkVycm9yIHdyYXBwaW5nIHVwICVzLiIKLW1zZ3N0ciAiRXJyb3IgZW4gZmluYWxpdHphciAlcy4iCisjOiBzZXF1ZW5jZXIuYzoxMTIwCittc2dpZCAiY291bGQgbm90IGxvY2sgSEVBRCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBibG9xdWVqYXIgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6ODU0IHNlcXVlbmNlci5jOjk4NworIzogc2VxdWVuY2VyLmM6MTE1MSBzZXF1ZW5jZXIuYzoxMjg5CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICJuaSBoaSBoYSBjYXAgcmVjdWxsIGRlIGNpcmVyZXMgbmkgY2FwIHJldmVyc2nDsyBlbiBjdXJzIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTYKKyM6IHNlcXVlbmNlci5jOjExNTMKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICJubyBlcyBwb3QgcmVzb2xkcmUgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6ODU4CisjOiBzZXF1ZW5jZXIuYzoxMTU1IHNlcXVlbmNlci5jOjExODkKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAibm8gZXMgcG90IGF2b3J0YXIgZGVzIGQndW5hIGJyYW5jYSBxdWUgZW5jYXJhIGhhIGRlIG7DoGl4ZXIiCiAKLSM6IHNlcXVlbmNlci5jOjg3OCBidWlsdGluL2FwcGx5LmM6NDI4NworIzogc2VxdWVuY2VyLmM6MTE3NSBidWlsdGluL2dyZXAuYzo1NzgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgotbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgJXM6ICVzIgorbXNnaWQgImNhbm5vdCBvcGVuICclcyciCittc2dzdHIgIm5vIGVzIHBvdCBvYnJpciAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzo4ODEKKyM6IHNlcXVlbmNlci5jOjExNzcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHJlYWQgJXM6ICVzIgotbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyICVzOiAlcyIKK21zZ2lkICJjYW5ub3QgcmVhZCAnJXMnOiAlcyIKK21zZ3N0ciAibm8gZXMgcG90IGxsZWdpciAnJXMnOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODgyCisjOiBzZXF1ZW5jZXIuYzoxMTc4CiBtc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiZmluYWwgZGUgZml0eGVyIGluZXNwZXJhdCIKIAotIzogc2VxdWVuY2VyLmM6ODg4CisjOiBzZXF1ZW5jZXIuYzoxMTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAiZWwgZml0eGVyIEhFQUQgZW1tYWdhdHplbWF0IGFiYW5zIGRlbCByZWN1bGwgZGUgY2lyZXJlcyAnJXMnIMOpcyBtYWxtw6hzIgogCi0jOiBzZXF1ZW5jZXIuYzo5MTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGZvcm1hdCAlcy4iCi1tc2dzdHIgIk5vIHMnaGEgcG9ndXQgZm9ybWF0YXIgJXMuIgotCi0jOiBzZXF1ZW5jZXIuYzoxMDU1CisjOiBzZXF1ZW5jZXIuYzoxMzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIlczogbm8gZXMgcG90IHJlY29sbGlyIGNvbSBhIGNpcmVyYSB1biAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTA1OAorIzogc2VxdWVuY2VyLmM6MTM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHJldmlzaW9uIgogbXNnc3RyICIlczogcmV2aXNpw7MgZG9sZW50YSIKIAotIzogc2VxdWVuY2VyLmM6MTA5MgotbXNnaWQgIkNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKLW1zZ3N0ciAiTm8gZXMgcG90IHJldmVydGlyIGNvbSBhIGNvbWlzc2nDsyBpbmljaWFsIgorIzogc2VxdWVuY2VyLmM6MTM5MQorbXNnaWQgImNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKK21zZ3N0ciAibm8gZXMgcG90IHJldmVydGlyIGNvbSBhIGNvbWlzc2nDsyBpbmljaWFsIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDkzCi1tc2dpZCAiQ2FuJ3QgY2hlcnJ5LXBpY2sgaW50byBlbXB0eSBoZWFkIgotbXNnc3RyICJObyBlcyBwb3QgcmVjb2xsaXIgY2lyZXJlcyBlbiB1biBjYXAgYnVpdCIKLQotIzogc2V0dXAuYzoyNDYKKyM6IHNldHVwLmM6MTYwCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byByZWFkICVzIgotbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBsbGVnaXIgJXMiCittc2dpZCAiIgorIiVzOiBubyBzdWNoIHBhdGggaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKKyJVc2UgJ2dpdCA8Y29tbWFuZD4gLS0gPHBhdGg+Li4uJyB0byBzcGVjaWZ5IHBhdGhzIHRoYXQgZG8gbm90IGV4aXN0IGxvY2FsbHkuIgorbXNnc3RyICIiCisiJXM6IG5vIGhpIGhhIHRhbCBjYW3DrSBlbiBsJ2FyYnJlIGRlIHRyZWJhbGwuXG4iCisiVXNldSAnZ2l0IDxvcmRyZT4gLS0gPGNhbcOtPi4uLicgcGVyIGEgZXNwZWNpZmljYXIgY2FtaW5zIHF1ZSBubyBleGlzdGVpeGluICIKKyJsb2NhbG1lbnQuIgogCi0jOiBzaGExX2ZpbGUuYzoxMDgwCisjOiBzZXR1cC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IHVua25vd24gcmV2aXNpb24gb3IgcGF0aCBub3QgaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKKyJVc2UgJy0tJyB0byBzZXBhcmF0ZSBwYXRocyBmcm9tIHJldmlzaW9ucywgbGlrZSB0aGlzOlxuIgorIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCittc2dzdHIgIiIKKyJwYXLDoG1ldHJlIGFtYmlndSAnJXMnOiByZXZpc2nDsyBubyBjb25lZ3VkYSBvIGNhbcOtIG5vIGVuIGwnYXJicmUgZGUgdHJlYmFsbC5cbiIKKyJVc2V1ICctLScgcGVyIGEgc2VwYXJhciBlbHMgY2FtaW5zIGRlIGxlcyByZXZpc2lvbnMsIGNvbSBhaXjDsjpcbiIKKyInZ2l0IDxvcmRyZT4gWzxyZXZpc2nDsz4uLi5dIC0tIFs8Zml0eGVyPi4uLl0nIgorCisjOiBzZXR1cC5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IGJvdGggcmV2aXNpb24gYW5kIGZpbGVuYW1lXG4iCisiVXNlICctLScgdG8gc2VwYXJhdGUgcGF0aHMgZnJvbSByZXZpc2lvbnMsIGxpa2UgdGhpczpcbiIKKyInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgorbXNnc3RyICIiCisicGFyw6BtZXRyZSBhbWJpZ3UgJyVzJzogYW1iZMOzcyB1bmEgcmV2aXNpw7MgaSB1biBub20gZGUgZml0eGVyXG4iCisiVXNldSAnLS0nIHBlciBhIHNlcGFyYXIgZWxzIGNhbWlucyBkZSBsZXMgcmV2aXNpb25zLCBjb20gYWl4w7I6XG4iCisiJ2dpdCA8b3JkcmU+IFs8cmV2aXNpw7M+Li4uXSAtLSBbPGZpdHhlcj4uLi5dJyIKKworIzogc2V0dXAuYzo0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhwZWN0ZWQgZ2l0IHJlcG8gdmVyc2lvbiA8PSAlZCwgZm91bmQgJWQiCittc2dzdHIgIlMnZXNwZXJhdmEgdW5hIHZlcnNpw7MgZGUgZGlww7JzaXQgZGUgZ2l0IDw9ICVkLCBzJ2hhIHRyb2JhdCAlZCIKKworIzogc2V0dXAuYzo0NzYKK21zZ2lkICJ1bmtub3duIHJlcG9zaXRvcnkgZXh0ZW5zaW9ucyBmb3VuZDoiCittc2dzdHIgInMnaGFuIHRyb2JhdCBleHRlbnNpb25zIGRlIGRpcMOyc2l0IGRlc2NvbmVndWRlczoiCisKKyM6IHNldHVwLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgorbXNnc3RyICJObyDDqXMgdW4gZGlww7JzaXQgZGUgZ2l0IChuaSBjYXAgZGVscyBkaXJlY3RvcmlzIHBhcmVzKTogJXMiCisKKyM6IHNldHVwLmM6NzY0IHNldHVwLmM6OTE1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDEKK21zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKK21zZ3N0ciAiTm8gZXMgcG90IHRvcm5hciBhbCBkaXJlY3RvcmkgZGUgdHJlYmFsbCBhY3R1YWwiCisKKyM6IHNldHVwLmM6ODQ1Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgZGlyZWN0b3JpIGRlIHRyZWJhbGwgYWN0dWFsIgorCisjOiBzZXR1cC5jOjkyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCisiU3RvcHBpbmcgYXQgZmlsZXN5c3RlbSBib3VuZGFyeSAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSBub3Qgc2V0KS4iCittc2dzdHIgIiIKKyJObyB1biBkaXDDsnNpdCBkZSBnaXQgKG5pIGNhcCBwYXJlIGZpbnMgZWwgcHVudCBkZSBtdW50YXRnZSAlcylcbiIKKyJTJ2F0dXJhIGEgbGEgZnJvbnRlcmEgZGUgc2lzdGVtYSBkZSBmaXR4ZXJzIChHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNICIKKyJubyBlc3TDoCBlc3RhYmxlcnQpLiIKKworIzogc2V0dXAuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0byAnJXMvLi4nIgorbXNnc3RyICJObyBlcyBwb3QgY2FudmlhciBhICclcy8uLiciCisKKyM6IHNldHVwLmM6OTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQcm9ibGVtIHdpdGggY29yZS5zaGFyZWRSZXBvc2l0b3J5IGZpbGVtb2RlIHZhbHVlICgwJS4zbykuXG4iCisiVGhlIG93bmVyIG9mIGZpbGVzIG11c3QgYWx3YXlzIGhhdmUgcmVhZCBhbmQgd3JpdGUgcGVybWlzc2lvbnMuIgorbXNnc3RyICIiCisiSGkgaGEgdW4gcHJvYmxlbWEgYW1iIGVsIHZhbG9yIGRlIG1vZGUgZGUgZml0eGVyIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSAiCisiKDAlLjNvKS5cbiIKKyJFbCBwcm9waWV0YXJpIGRlbHMgZml0eGVycyBzZW1wcmUgaGEgZGUgdGVuaXIgcGVybWlzc2lvbnMgZGUgbGVjdHVyYSBpICIKKyJlc2NyaXB0dXJhLiIKKworIzogc2hhMV9maWxlLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiZWwgY2Ftw60gJyVzJyBubyBleGlzdGVpeCIKKworIzogc2hhMV9maWxlLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgYXMgYSBsaW5rZWQgY2hlY2tvdXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuIgorbXNnc3RyICIiCisiRW5jYXJhIG5vIHNlIHN1cG9ydGEgZWwgZGlww7JzaXQgZGUgcmVmZXLDqG5jaWEgJyVzJyBjb20gYSBhZ2FmYW1lbnQgZW5sbGHDp2F0LiIKKworIzogc2hhMV9maWxlLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCittc2dzdHIgImVsIGRpcMOyc2l0IGRlIHJlZmVyw6huY2lhICclcycgbm8gw6lzIHVuIGRpcMOyc2l0IGxvY2FsLiIKKworIzogc2hhMV9maWxlLmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKK21zZ3N0ciAiZWwgZGlww7JzaXQgZGUgcmVmZXLDqG5jaWEgJyVzJyDDqXMgc3VwZXJmaWNpYWwiCisKKyM6IHNoYTFfZmlsZS5jOjUxOQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCittc2dzdHIgImVsIGRpcMOyc2l0IGRlIHJlZmVyw6huY2lhICclcycgw6lzIGVtcGVsdGF0IgorCisjOiBzaGExX2ZpbGUuYzoxMTU5CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBlbmQgb2YgcGFja2ZpbGUgKGJyb2tlbiAuaWR4PykiCiBtc2dzdHIgImRlc3BsYcOnYW1lbnQgYWJhbnMgZGUgbGEgZmkgZGVsIGZpdHhlciBkZSBwYXF1ZXQgKC5pZHggdHJlbmNhdD8pIgogCi0jOiBzaGExX2ZpbGUuYzoyNDU5CisjOiBzaGExX2ZpbGUuYzoyNTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZWZvcmUgc3RhcnQgb2YgcGFjayBpbmRleCBmb3IgJXMgKGNvcnJ1cHQgaW5kZXg/KSIKIG1zZ3N0ciAiIgogImRlc3BsYcOnYW1lbnQgYWJhbnMgZCdpbmljaSBkJ8OtbmRleCBkZSBwYXF1ZXQgcGVyIGEgJXMgKMOtbmRleCBjb3Jyb21wdXQ/KSIKIAotIzogc2hhMV9maWxlLmM6MjQ2MworIzogc2hhMV9maWxlLmM6MjU5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCiBtc2dzdHIgIiIKICJkZXNwbGHDp2FtZW50IG3DqXMgZW5sbMOgIGRlIGxhIGZpIGQnw61uZGV4IGRlIHBhcXVldCBwZXIgYSAlcyAow61uZGV4IHRydW5jYXQ/KSIKIAotIzogc2hhMV9uYW1lLmM6NDYyCisjOiBzaGExX25hbWUuYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hvcnQgU0hBMSAlcyBpcyBhbWJpZ3VvdXMiCittc2dzdHIgImwnU0hBMSAlcyBjdXJ0IMOpcyBhbWJpZ3UiCisKKyM6IHNoYTFfbmFtZS5jOjQxOAorbXNnaWQgIlRoZSBjYW5kaWRhdGVzIGFyZToiCittc2dzdHIgIkVscyBjYW5kaWRhdHMgc8OzbjoiCisKKyM6IHNoYTFfbmFtZS5jOjU3OAogbXNnaWQgIiIKICJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgogImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKQEAgLTE3MDQsMTAyICszMDYyLDQwNyBAQAogIlxuIgogIiAgZ2l0IGNoZWNrb3V0IC1iICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgogIlxuIgotIm9uIFwiJGJyXCIgw6lzIGQnYWxndW5hIG1hbmVyYSBidWl0IGkgdW5hIHJlZmVyw6huY2lhIGRlIDQwIGNhcsOgY3RlcnNcbiIKKyJvbiBcIiRiclwiIMOpcyBkJ2FsZ3VuYSBtYW5lcmEgYnVpZGEgaSB1bmEgcmVmZXLDqG5jaWEgZGUgNDAgY2Fyw6BjdGVyc1xuIgogImhleGFkZWNpbWFscy4gU2kgdXMgcGxhdSwgZXhhbWluZXUgYXF1ZXN0ZXMgcmVmZXLDqG5jaWVzIGkgcG90c2VyXG4iCiAic3VwcmltaXUtbGVzLiBEZXNhY3RpdmV1IGFxdWVzdCBtaXNzYXRnZSBleGVjdXRhbnRcbiIKICJcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCIiCiAKLSM6IHN1Ym1vZHVsZS5jOjYyIHN1Ym1vZHVsZS5jOjk2CisjOiBzdWJtb2R1bGUuYzo2NCBzdWJtb2R1bGUuYzo5OAogbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgogbXNnc3RyICIiCiAiTm8gZXMgcG90IGNhbnZpYXIgdW4gLmdpdG1vZHVsZXMgbm8gZnVzaW9uYXQsIHByaW1lciByZXNvbGRyZXUgZWxzICIKICJjb25mbGljdGVzIGRlIGZ1c2nDsyIKIAotIzogc3VibW9kdWxlLmM6NjYgc3VibW9kdWxlLmM6MTAwCisjOiBzdWJtb2R1bGUuYzo2OCBzdWJtb2R1bGUuYzoxMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciBsYSBzZWNjacOzIGVuIC5naXRtb2R1bGVzIG9uIHBhdGg9JXMiCiAKLSM6IHN1Ym1vZHVsZS5jOjc0CisjOiBzdWJtb2R1bGUuYzo3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgdXBkYXRlIC5naXRtb2R1bGVzIGVudHJ5ICVzIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyIGwnZW50cmFkYSBkZSAuZ2l0bW9kdWxlcyAlcyIKIAotIzogc3VibW9kdWxlLmM6MTA3CisjOiBzdWJtb2R1bGUuYzoxMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZWxpbWluYXIgbCdlbnRyYWRhIGRlIC5naXRtb2R1bGVzIHBlciBhICVzIgogCi0jOiBzdWJtb2R1bGUuYzoxMTgKKyM6IHN1Ym1vZHVsZS5jOjEyMAogbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCi1tc2dzdHIgIkwnYWxsaXN0YW1lbnQgZGVsIC5naXRtb2R1bGVzIGFjdHVhbGl0emF0IGhhIGZhbGxhdCIKK21zZ3N0ciAibCdhbGxpc3RhbWVudCBkZWwgLmdpdG1vZHVsZXMgYWN0dWFsaXR6YXQgaGEgZmFsbGF0IgogCi0jOiB0cmFpbGVyLmM6MjM3CisjOiBzdWJtb2R1bGUuYzoxNTgKK21zZ2lkICJuZWdhdGl2ZSB2YWx1ZXMgbm90IGFsbG93ZWQgZm9yIHN1Ym1vZHVsZS5mZXRjaEpvYnMiCittc2dzdHIgIm5vIGVzIHBlcm1ldGVuIGVscyB2YWxvcnMgbmVnYXRpdXMgYSBzdWJtb2R1bGUuZmV0Y2hKb2JzIgorCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzIgorbXNnc3RyICJ2YWxvciBubyB2w6BsaWQgcGVyIGEgJXMiCisKKyM6IHRyYWlsZXIuYzoyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVubmluZyB0cmFpbGVyIGNvbW1hbmQgJyVzJyBmYWlsZWQiCiBtc2dzdHIgImwnZXhlY3VjacOzIGRlIGwnb3JkcmUgZGUgcmVtb2xjICclcycgaGEgZmFsbGF0IgogCi0jOiB0cmFpbGVyLmM6NDkyIHRyYWlsZXIuYzo0OTYgdHJhaWxlci5jOjUwMCB0cmFpbGVyLmM6NTU0IHRyYWlsZXIuYzo1NTgKLSM6IHRyYWlsZXIuYzo1NjIKKyM6IHRyYWlsZXIuYzo0NzEgdHJhaWxlci5jOjQ3NSB0cmFpbGVyLmM6NDc5IHRyYWlsZXIuYzo1MzMgdHJhaWxlci5jOjUzNworIzogdHJhaWxlci5jOjU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHZhbHVlICclcycgZm9yIGtleSAnJXMnIgogbXNnc3RyICJ2YWxvciBkZXNjb25lZ3V0ICclcycgcGVyIGEgbGEgY2xhdSAnJXMnIgogCi0jOiB0cmFpbGVyLmM6NTQ0IHRyYWlsZXIuYzo1NDkgYnVpbHRpbi9yZW1vdGUuYzoyODkKKyM6IHRyYWlsZXIuYzo1MjMgdHJhaWxlci5jOjUyOCBidWlsdGluL3JlbW90ZS5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gb25lICVzIgogbXNnc3RyICJtw6lzIGQndW4gJXMiCiAKLSM6IHRyYWlsZXIuYzo1ODIKKyM6IHRyYWlsZXIuYzo2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1wdHkgdHJhaWxlciB0b2tlbiBpbiB0cmFpbGVyICclLipzJyIKIG1zZ3N0ciAiZml0eGEgZGUgcmVtb2xjIGJ1aWRhIGVuIGVsIHJlbW9sYyAnJS4qcyciCiAKLSM6IHRyYWlsZXIuYzo3MDIKKyM6IHRyYWlsZXIuYzo2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgaW5wdXQgZmlsZSAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBmaXR4ZXIgZCdlbnRyYWRhICclcyciCiAKLSM6IHRyYWlsZXIuYzo3MDUKKyM6IHRyYWlsZXIuYzo2OTgKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmcm9tIHN0ZGluIgotbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGxsZWdpciBkZXMgZCdzdGRpbiIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgZGVzIGQnc3RkaW4iCiAKLSM6IHRyYWlsZXIuYzo4NTcgYnVpbHRpbi9hbS5jOjQyCisjOiB0cmFpbGVyLmM6OTI5IGJ1aWx0aW4vYW0uYzo0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgc3RhdCBhICVzIgogCi0jOiB0cmFpbGVyLmM6ODU5CisjOiB0cmFpbGVyLmM6OTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICJlbCBmaXR4ZXIgJXMgbm8gw6lzIHVuIGZpdHhlciByZWd1bGFyIgogCi0jOiB0cmFpbGVyLmM6ODYxCisjOiB0cmFpbGVyLmM6OTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IHdyaXRhYmxlIGJ5IHVzZXIiCiBtc2dzdHIgImVsIGZpdHhlciAlcyBubyDDqXMgZ3JhdmFibGUgcGVyIGwndXN1YXJpIgogCi0jOiB0cmFpbGVyLmM6ODczCisjOiB0cmFpbGVyLmM6OTQ1CiBtc2dpZCAiY291bGQgbm90IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgZWwgZml0eGVyIHRlbXBvcmFsIgogCi0jOiB0cmFpbGVyLmM6OTEyCisjOiB0cmFpbGVyLmM6OTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgdGVtcG9yYXJ5IGZpbGUgdG8gJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY2FudmlhciBlbCBub20gZGVsIGZpdHhlciB0ZW1wb3JhbCBhICVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA0MQorIzogdHJhbnNwb3J0LmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgc2V0IHVwc3RyZWFtIG9mICclcycgdG8gJyVzJyBvZiAnJXMnXG4iCittc2dzdHIgIkNhbnZpYXJpYSBsYSBmb250IGRlICclcycgYSAnJXMnIGRlICclcydcbiIKKworIzogdHJhbnNwb3J0LmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInRyYW5zcG9ydDogaW52YWxpZCBkZXB0aCBvcHRpb24gJyVzJyIKK21zZ3N0ciAidHJhbnNwb3J0OiBvcGNpw7MgZGUgcHJvZnVuZGl0YXQgbm8gdsOgbGlkYSAnJXMnIgorCisjOiB0cmFuc3BvcnQuYzo4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIHBhdGhzIGNvbnRhaW4gY2hhbmdlcyB0aGF0IGNhblxuIgorIm5vdCBiZSBmb3VuZCBvbiBhbnkgcmVtb3RlOlxuIgorbXNnc3RyICIiCisiRWxzIGNhbWlucyBkZSBzdWJtw7JkdWwgc2Vnw7xlbnRzIGNvbnRlbmVuIGNhbnZpcyBxdWUgbm9cbiIKKyJlcyBwb2RlbiB0cm9iYXIgZW4gY2FwIHJlbW90OlxuIgorCisjOiB0cmFuc3BvcnQuYzo4MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlBsZWFzZSB0cnlcbiIKKyJcbiIKKyJcdGdpdCBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzPW9uLWRlbWFuZFxuIgorIlxuIgorIm9yIGNkIHRvIHRoZSBwYXRoIGFuZCB1c2VcbiIKKyJcbiIKKyJcdGdpdCBwdXNoXG4iCisiXG4iCisidG8gcHVzaCB0aGVtIHRvIGEgcmVtb3RlLlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiU2kgdXMgcGxhdSwgaW50ZW50ZXVcbiIKKyJcbiIKKyJcdGdpdCBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzPW9uLWRlbWFuZFxuIgorIlxuIgorIm8gY2FudmlhciBkZSBkaXJlY3RvcmkgYWwgY2Ftw60gaSB1c2V1XG4iCisiXG4iCisiXHRnaXQgcHVzaFxuIgorIlxuIgorInBlciBhIHB1amFyLWxvcyBhIHVuIHJlbW90LlxuIgorCisjOiB0cmFuc3BvcnQuYzo4MjkKK21zZ2lkICJBYm9ydGluZy4iCittc2dzdHIgIlMnZXN0w6AgYXZvcnRhbnQuIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCByZWYgJXMiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgbGxlZ2lyIGxhIHJlZmVyw6huY2lhICVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoyMDMKKyM6IHRyZWUtd2Fsay5jOjMxCittc2dpZCAidG9vLXNob3J0IHRyZWUgb2JqZWN0IgorbXNnc3RyICJvYmplY3RlIGQnYXJicmUgbWFzc2EgY3VydCIKKworIzogdHJlZS13YWxrLmM6MzcKK21zZ2lkICJtYWxmb3JtZWQgbW9kZSBpbiB0cmVlIGVudHJ5IgorbXNnc3RyICJtb2RlIG1hbCBmb3JtYXQgZW4gZW50cmFkYSBkJ2FyYnJlIgorCisjOiB0cmVlLXdhbGsuYzo0MQorbXNnaWQgImVtcHR5IGZpbGVuYW1lIGluIHRyZWUgZW50cnkiCittc2dzdHIgIm5vbSBkZSBmaXR4ZXIgYnVpdCBlbiBlbnRyYWRhIGRlIGFyYnJlIgorCisjOiB0cmVlLXdhbGsuYzoxMTMKK21zZ2lkICJ0b28tc2hvcnQgdHJlZSBmaWxlIgorbXNnc3RyICJmaXR4ZXIgZCdhcmJyZSBtYXNzYSBjdXJ0IgorCisjOiB1bnBhY2stdHJlZXMuYzo2NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCittc2dzdHIgIiIKKyJFbHMgdm9zdHJlcyBjYW52aXMgbG9jYWxzIGFscyBmaXR4ZXJzIHNlZ8O8ZW50cyBzZSBzb2JyZWVzY3JpdXJpZW4gcGVyICIKKyJhZ2FmYXI6XG4iCisiJSVzU2kgdXMgcGxhdSwgY29tZXRldSBlbHMgdm9zdHJlcyBjYW52aXMgbyBlbW1hZ2F0emVtZXUtbG9zIGFiYW5zIGRlICIKKyJjYW52aWFyIGRlIGJyYW5jYS4iCisKKyM6IHVucGFjay10cmVlcy5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKKyIlJXMiCittc2dzdHIgIiIKKyJFbHMgdm9zdHJlcyBjYW52aXMgbG9jYWxzIGFscyBmaXR4ZXJzIHNlZ8O8ZW50cyBzZSBzb2JyZWVzY3JpdXJpZW4gcGVyICIKKyJhZ2FmYXI6XG4iCisiJSVzIgorCisjOiB1bnBhY2stdHJlZXMuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKK21zZ3N0ciAiIgorIkVscyB2b3N0cmVzIGNhbnZpcyBsb2NhbHMgYWxzIGZpdHhlcnMgc2Vnw7xlbnRzIHNlIHNvYnJlZXNjcml1cmllbiBwZXIgIgorImZ1c2lvbmFyOlxuIgorIiUlc1NpIHVzIHBsYXUsIGNvbWV0ZXUgZWxzIHZvc3RyZXMgY2FudmlzIG8gZW1tYWdhdHplbWV1LWxvcyBhYmFucyBkZSAiCisiZnVzaW9uYXIuIgorCisjOiB1bnBhY2stdHJlZXMuYzo3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCisiJSVzIgorbXNnc3RyICIiCisiRWxzIHZvc3RyZXMgY2FudmlzIGxvY2FscyBhbHMgZml0eGVycyBzZWfDvGVudHMgc2Ugc29icmVlc2NyaXVyaWVuIHBlciAiCisiZnVzaW9uYXI6XG4iCisiJSVzIgorCisjOiB1bnBhY2stdHJlZXMuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91ICVzLiIKK21zZ3N0ciAiIgorIkVscyB2b3N0cmVzIGNhbnZpcyBsb2NhbHMgYWxzIGZpdHhlcnMgc2Vnw7xlbnRzIHNlIHNvYnJlZXNjcml1cmllbiBwZXIgJXM6XG4iCisiJSVzU2kgdXMgcGxhdSwgY29tZXRldSBlbHMgdm9zdHJlcyBjYW52aXMgbyBlbW1hZ2F0emVtZXUtbG9zIGFiYW5zIGRlICVzLiIKKworIzogdW5wYWNrLXRyZWVzLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgorIiUlcyIKK21zZ3N0ciAiIgorIkVscyB2b3N0cmVzIGNhbnZpcyBsb2NhbHMgYWxzIGZpdHhlcnMgc2Vnw7xlbnRzIHNlIHNvYnJlZXNjcml1cmllbiBwZXIgJXM6XG4iCisiJSVzIgorCisjOiB1bnBhY2stdHJlZXMuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiBpdDpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIkFjdHVhbGl0emFyIGVscyBkaXJlY3RvcmlzIHNlZ8O8ZW50cyBwZXJkcmlhIGZpdHhlcnMgbm8gc2VndWl0cyBlbiBlbDpcbiIKKyIlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKK21zZ3N0ciAiIgorIkVscyBzZWfDvGVudHMgZml0eGVycyBubyBzZWd1aXRzIGVuIGwnYXJicmUgZGUgdHJlYmFsbCBzJ2VsaW1pbmFyaWVuIHBlciAiCisiYWdhZmFyOlxuIgorIiUlc1NpIHVzIHBsYXUsIG1vdmV1LWxvcyBvIGVsaW1pbmV1LWxvcyBhYmFucyBkZSBjYW52aWFyIGRlIGJyYW5jYS4iCisKKyM6IHVucGFjay10cmVlcy5jOjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKKyIlJXMiCittc2dzdHIgIiIKKyJFbHMgc2Vnw7xlbnRzIGZpdHhlcnMgbm8gc2VndWl0cyBlbiBsJ2FyYnJlIGRlIHRyZWJhbGwgcydlbGltaW5hcmllbiBwZXIgIgorImFnYWZhcjpcbiIKKyIlJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKK21zZ3N0ciAiIgorIkVscyBzZWfDvGVudHMgZml0eGVycyBubyBzZWd1aXRzIGVuIGwnYXJicmUgZGUgdHJlYmFsbCBzJ2VsaW1pbmFyaWVuIHBlciAiCisiZnVzaW9uYXI6XG4iCisiJSVzU2kgdXMgcGxhdSwgbW92ZXUtbG9zIG8gZWxpbWluZXUtbG9zIGFiYW5zIGRlIGZ1c2lvbmFyLiIKKworIzogdW5wYWNrLXRyZWVzLmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgorIiUlcyIKK21zZ3N0ciAiIgorIkVscyBzZWfDvGVudHMgZml0eGVycyBubyBzZWd1aXRzIGVuIGwnYXJicmUgZGUgdHJlYmFsbCBzJ2VsaW1pbmFyaWVuIHBlciAiCisiZnVzaW9uYXI6XG4iCisiJSVzIgorCisjOiB1bnBhY2stdHJlZXMuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSAlcy4iCittc2dzdHIgIiIKKyJFbHMgc2Vnw7xlbnRzIGZpdHhlcnMgbm8gc2VndWl0cyBlbiBsJ2FyYnJlIGRlIHRyZWJhbGwgcydlbGltaW5hcmllbiBwZXIgJXM6XG4iCisiJSVzU2kgdXMgcGxhdSwgbW92ZXUtbG9zIG8gZWxpbWluZXUtbG9zIGFiYW5zIGRlICVzLiIKKworIzogdW5wYWNrLXRyZWVzLmM6OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgorIiUlcyIKK21zZ3N0ciAiIgorIkVscyBzZWfDvGVudHMgZml0eGVycyBubyBzZWd1aXRzIGVuIGwnYXJicmUgZGUgdHJlYmFsbCBzJ2VsaW1pbmFyaWVuIHBlciAlczpcbiIKKyIlJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKKyJjaGVja291dDpcbiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCittc2dzdHIgIiIKKyJFbHMgc2Vnw7xlbnRzIGZpdHhlcnMgbm8gc2VndWl0cyBlbiBsJ2FyYnJlIGRlIHRyZWJhbGwgc2Ugc29icmVlc2NyaXVyaWVuIHBlciAiCisiYWdhZmFyOlxuIgorIiUlc1NpIHVzIHBsYXUsIG1vdmV1LWxvcyBvIGVsaW1pbmV1LWxvcyBhYmFucyBkZSBjYW52aWFyIGRlIGJyYW5jYS4iCisKKyM6IHVucGFjay10cmVlcy5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKKyJjaGVja291dDpcbiIKKyIlJXMiCittc2dzdHIgIiIKKyJFbHMgc2Vnw7xlbnRzIGZpdHhlcnMgbm8gc2VndWl0cyBlbiBsJ2FyYnJlIGRlIHRyZWJhbGwgc2Ugc29icmVlc2NyaXVyaWVuIHBlciAiCisiYWdhZmFyOlxuIgorIiUlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCittc2dzdHIgIiIKKyJFbHMgc2Vnw7xlbnRzIGZpdHhlcnMgbm8gc2VndWl0cyBlbiBsJ2FyYnJlIGRlIHRyZWJhbGwgc2Ugc29icmVlc2NyaXVyaWVuIHBlciAiCisiZnVzaW9uYXI6XG4iCisiJSVzU2kgdXMgcGxhdSwgbW92ZXUtbG9zIG8gZWxpbWluZXUtbG9zIGFiYW5zIGRlIGZ1c2lvbmFyLiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCisiJSVzIgorbXNnc3RyICIiCisiRWxzIHNlZ8O8ZW50cyBmaXR4ZXJzIG5vIHNlZ3VpdHMgZW4gbCdhcmJyZSBkZSB0cmViYWxsIHNlIHNvYnJlZXNjcml1cmllbiBwZXIgIgorImZ1c2lvbmFyOlxuIgorIiUlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSAlcy4iCittc2dzdHIgIiIKKyJFbHMgc2Vnw7xlbnRzIGZpdHhlcnMgbm8gc2VndWl0cyBlbiBsJ2FyYnJlIGRlIHRyZWJhbGwgc2Ugc29icmVlc2NyaXVyaWVuIHBlciAiCisiJXM6XG4iCisiJSVzU2kgdXMgcGxhdSwgbW92ZXUtbG9zIG8gZWxpbWluZXUtbG9zIGFiYW5zIGRlICVzLiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCisiJSVzIgorbXNnc3RyICIiCisiRWxzIHNlZ8O8ZW50cyBmaXR4ZXJzIG5vIHNlZ3VpdHMgZW4gbCdhcmJyZSBkZSB0cmViYWxsIHNlIHNvYnJlZXNjcml1cmllbiBwZXIgIgorIiVzOlxuIgorIiUlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIkVudHJ5ICclcycgb3ZlcmxhcHMgd2l0aCAnJXMnLiAgQ2Fubm90IGJpbmQuIgorbXNnc3RyICJMJ2VudHJhZGEgJyVzJyBlbmNhdmFsY2EgYW1iICclcycuICBObyBlcyBwb3QgdmluY3VsYXIuIgorCisjOiB1bnBhY2stdHJlZXMuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbm5vdCB1cGRhdGUgc3BhcnNlIGNoZWNrb3V0OiB0aGUgZm9sbG93aW5nIGVudHJpZXMgYXJlIG5vdCB1cC10by1kYXRlOlxuIgorIiVzIgorbXNnc3RyICIiCisiTm8gZXMgcG90IGFjdHVhbGl0emFyIGwnYWdhZmFtZW50IHBhcmNpYWw6IGxlcyBlbnRyYWRlcyBzZWfDvGVudHMgbm8gZXN0YW4gYWwgIgorImRpYTpcbiIKKyIlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgorInVwZGF0ZTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIkVscyBmaXR4ZXJzIHNlZ8O8ZW50cyBlbiBsJ2FyYnJlIGRlIHRyZWJhbGwgc2Ugc29icmVlc2NyaXVyaWVuIHBlciAiCisiYWN0dWFsaXR6YXIgbCdhZ2FmYW1lbnQgcGFyY2lhbDpcbiIKKyIlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCisidXBkYXRlOlxuIgorIiVzIgorbXNnc3RyICIiCisiRWxzIGZpdHhlcnMgc2Vnw7xlbnRzIGVuIGwnYXJicmUgZGUgdHJlYmFsbCBzJ2VsaW1pbmFyaWVuIHBlciBhY3R1YWxpdHphciAiCisibCdhZ2FmYW1lbnQgcGFyY2lhbDpcbiIKKyIlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkFib3J0aW5nXG4iCittc2dzdHIgIlMnZXN0w6AgYXZvcnRhbnRcbiIKKworIzogdW5wYWNrLXRyZWVzLmM6MjM3CiBtc2dpZCAiQ2hlY2tpbmcgb3V0IGZpbGVzIgotbXNnc3RyICJBZ2FmYW50IGZpdHhlcnMiCittc2dzdHIgIlMnZXN0w6AgYWdhZmFudCBmaXR4ZXJzIgogCiAjOiB1cmxtYXRjaC5jOjEyMAogbXNnaWQgImludmFsaWQgVVJMIHNjaGVtZSBuYW1lIG9yIG1pc3NpbmcgJzovLycgc3VmZml4IgotbXNnc3RyICJsJ2VzcXVlbWEgZCdVUkwgbm8gw6lzIHbDoGxpZGEgbyBsaSBtYW5jYSBlbCBzdWZpeCAnOi8vJyIKK21zZ3N0ciAibCdlc3F1ZW1hIGQnVVJMIG5vIMOpcyB2w6BsaWQgbyBsaSBtYW5jYSBlbCBzdWZpeCAnOi8vJyIKIAogIzogdXJsbWF0Y2guYzoxNDQgdXJsbWF0Y2guYzoyOTcgdXJsbWF0Y2guYzozNTYKICMsIGMtZm9ybWF0CkBAIC0xODI2LDQ2NSArMzQ4OSw0NTcgQEAKIG1zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgogbXNnc3RyICJzZWdtZW50IGRlIGNhbcOtICcuLicgbm8gdsOgbGlkIgogCi0jOiB3cmFwcGVyLmM6MjIyIHdyYXBwZXIuYzozODEKKyM6IHdvcmt0cmVlLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICclcyciCittc2dzdHIgInMnaGEgZmFsbGF0IGVuIGxsZWdpciAnJXMnIgorCisjOiB3cmFwcGVyLmM6MjIyIHdyYXBwZXIuYzozOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciAnJXMnIHBlciBhIGxlY3R1cmEgaSBlc2NyaXB0dXJhIgogCi0jOiB3cmFwcGVyLmM6MjI0IHdyYXBwZXIuYzozODMKKyM6IHdyYXBwZXIuYzoyMjQgd3JhcHBlci5jOjM5NCBidWlsdGluL2FtLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgJyVzJyBwZXIgYSBlc2NyaXB0dXJhIgogCi0jOiB3cmFwcGVyLmM6MjI2IHdyYXBwZXIuYzozODUgYnVpbHRpbi9hbS5jOjMyMyBidWlsdGluL2NvbW1pdC5jOjE2OTEKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDc1IGJ1aWx0aW4vcHVsbC5jOjM4NworIzogd3JhcHBlci5jOjIyNiB3cmFwcGVyLmM6Mzk2IGJ1aWx0aW4vYW0uYzozMjAgYnVpbHRpbi9hbS5jOjc1OQorIzogYnVpbHRpbi9hbS5jOjg0NyBidWlsdGluL2NvbW1pdC5jOjE3MDUgYnVpbHRpbi9tZXJnZS5jOjEwMjkKKyM6IGJ1aWx0aW4vcHVsbC5jOjM0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyICclcycgcGVyIGEgbGVjdHVyYSIKIAotIzogd3JhcHBlci5jOjYxMQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyc6ICVzIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjY2VkaXIgYSAnJXMnOiAlcyIKLQotIzogd3JhcHBlci5jOjYzMgorIzogd3JhcHBlci5jOjYwNSB3cmFwcGVyLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhY2NlZGlyIGEgJyVzJyIKIAotIzogd3JhcHBlci5jOjY0MAorIzogd3JhcHBlci5jOjYzNAogbXNnaWQgInVuYWJsZSB0byBnZXQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnRlbmlyIGVsIGRpcmVjdG9yaSBkZSB0cmViYWxsIGFjdHVhbCIKIAotIzogd3JhcHBlci5jOjY2NwotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgb3BlbiAlcyBmb3Igd3JpdGluZyIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciAnJXMnIHBlciBhIGVzY3JpcHR1cmEiCi0KLSM6IHdyYXBwZXIuYzo2NzggYnVpbHRpbi9hbS5jOjQxMAorIzogd3JhcHBlci5jOjY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgYSAlcyIKIAotIzogd3JhcHBlci5jOjY4NAorIzogd3JhcHBlci5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgdGFuY2FyICVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNDkKKyM6IHd0LXN0YXR1cy5jOjE1MQogbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKIG1zZ3N0ciAiQ2FtaW5zIHNlbnNlIGZ1c2lvbmFyOiIKIAotIzogd3Qtc3RhdHVzLmM6MTc2IHd0LXN0YXR1cy5jOjIwMworIzogd3Qtc3RhdHVzLmM6MTc4IHd0LXN0YXR1cy5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmVzZXQgJXMgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKHVzZXUgXCJnaXQgcmVzZXQgJXMgPGZpdHhlcj4uLi5cIiBwZXIgYSBkZXNhbGxpc3RhcikiCiAKLSM6IHd0LXN0YXR1cy5jOjE3OCB3dC1zdGF0dXMuYzoyMDUKKyM6IHd0LXN0YXR1cy5jOjE4MCB3dC1zdGF0dXMuYzoyMDcKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKHVzZXUgXCJnaXQgcm0gLS1jYWNoZWQgPGZpdHhlcj4uLi5cIiBwZXIgYSBkZXNhbGxpc3RhcikiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MgorIzogd3Qtc3RhdHVzLmM6MTg0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IGFkZCA8Zml0eGVyPi4uLlwiIHBlciBhIHNlbnlhbGFyIHJlc29sdWNpw7MpIgogCi0jOiB3dC1zdGF0dXMuYzoxODQgd3Qtc3RhdHVzLmM6MTg4CisjOiB3dC1zdGF0dXMuYzoxODYgd3Qtc3RhdHVzLmM6MTkwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAiICAodXNldSBcImdpdCBhZGQvcm0gPGZpdHhlcj4uLi5cIiBzZWdvbnMgc2lndWkgYXByb3BpYXQgcGVyIGEgc2VueWFsYXIgIgogInJlc29sdWNpw7MpIgogCi0jOiB3dC1zdGF0dXMuYzoxODYKKyM6IHd0LXN0YXR1cy5jOjE4OAogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IHJtIDxmaXR4ZXI+Li4uXCIgcGVyIGEgc2VueWFsYXIgcmVzb2x1Y2nDsykiCiAKLSM6IHd0LXN0YXR1cy5jOjE5NyB3dC1zdGF0dXMuYzo4ODAKKyM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzo5NDUKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIkNhbnZpcyBhIGNvbWV0cmU6IgogCi0jOiB3dC1zdGF0dXMuYzoyMTUgd3Qtc3RhdHVzLmM6ODg5CisjOiB3dC1zdGF0dXMuYzoyMTcgd3Qtc3RhdHVzLmM6OTU0CiBtc2dpZCAiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6IgogbXNnc3RyICJDYW52aXMgbm8gYWxsaXN0YXRzIHBlciBhIGNvbWV0cmU6IgogCi0jOiB3dC1zdGF0dXMuYzoyMTkKKyM6IHd0LXN0YXR1cy5jOjIyMQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IGFkZCA8Zml0eGVyPi4uLlwiIHBlciBhIGFjdHVhbGl0emFyIHF1w6ggZXMgY29tZXRyw6ApIgogCi0jOiB3dC1zdGF0dXMuYzoyMjEKKyM6IHd0LXN0YXR1cy5jOjIyMwogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IGFkZC9ybSA8Zml0eGVyPi4uLlwiIHBlciBhIGFjdHVhbGl0emFyIHF1w6ggZXMgY29tZXRyw6ApIgogCi0jOiB3dC1zdGF0dXMuYzoyMjIKKyM6IHd0LXN0YXR1cy5jOjIyNAogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKIG1zZ3N0ciAiIgogIiAgKHVzZXUgXCJnaXQgY2hlY2tvdXQgLS0gPGZpdHhlcj4uLi5cIiBwZXIgYSBkZXNjYXJ0YXIgZWxzIGNhbnZpcyBlbiBlbCAiCiAiZGlyZWN0b3JpIGRlIHRyZWJhbGwpIgogCi0jOiB3dC1zdGF0dXMuYzoyMjQKKyM6IHd0LXN0YXR1cy5jOjIyNgogbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKIG1zZ3N0ciAiIgogIiAgKGNvbWV0ZXUgbyBkZXNjYXJ0ZXUgZWwgY29udGluZ3V0IG1vZGlmaWNhdCBvIG5vIHNlZ3VpdCBlbiBlbHMgc3VibcOyZHVscykiCiAKLSM6IHd0LXN0YXR1cy5jOjIzNgorIzogd3Qtc3RhdHVzLmM6MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0ICVzIDxmaXR4ZXI+Li4uXCIgcGVyIGEgaW5jbG91cmUtaG8gZW4gcXXDqCBlcyBjb21ldHLDoCkiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MQorIzogd3Qtc3RhdHVzLmM6MjUzCiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAic3VwcmltaXQgcGVyIGFtYmTDs3M6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTMKKyM6IHd0LXN0YXR1cy5jOjI1NQogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAiYWZlZ2l0IHBlciBub3NhbHRyZXM6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTUKKyM6IHd0LXN0YXR1cy5jOjI1NwogbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCiBtc2dzdHIgInN1cHJpbWl0IHBlciBlbGxzOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU3CisjOiB3dC1zdGF0dXMuYzoyNTkKIG1zZ2lkICJhZGRlZCBieSB0aGVtOiIKIG1zZ3N0ciAiYWZlZ2l0IHBlciBlbGxzOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU5CisjOiB3dC1zdGF0dXMuYzoyNjEKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAic3VwcmltaXQgcGVyIG5vc2FsdHJlczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MQorIzogd3Qtc3RhdHVzLmM6MjYzCiBtc2dpZCAiYm90aCBhZGRlZDoiCiBtc2dzdHIgImFmZWdpdCBwZXIgYW1iZMOzczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MworIzogd3Qtc3RhdHVzLmM6MjY1CiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgIm1vZGlmaWNhdCBwZXIgYW1iZMOzczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NQotIywgYy1mb3JtYXQKLW1zZ2lkICJidWc6IHVuaGFuZGxlZCB1bm1lcmdlZCBzdGF0dXMgJXgiCi1tc2dzdHIgImJ1ZzogZXN0YXQgbm8gZnVzaW9uYXQgbm8gZ2VzdGlvbmF0ICV4IgotCi0jOiB3dC1zdGF0dXMuYzoyNzMKKyM6IHd0LXN0YXR1cy5jOjI3NQogbXNnaWQgIm5ldyBmaWxlOiIKIG1zZ3N0ciAiZml0eGVyIG5vdToiCiAKLSM6IHd0LXN0YXR1cy5jOjI3NQorIzogd3Qtc3RhdHVzLmM6Mjc3CiBtc2dpZCAiY29waWVkOiIKIG1zZ3N0ciAiY29waWF0OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc3CisjOiB3dC1zdGF0dXMuYzoyNzkKIG1zZ2lkICJkZWxldGVkOiIKIG1zZ3N0ciAic3VwcmltaXQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyNzkKKyM6IHd0LXN0YXR1cy5jOjI4MQogbXNnaWQgIm1vZGlmaWVkOiIKIG1zZ3N0ciAibW9kaWZpY2F0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjgxCisjOiB3dC1zdGF0dXMuYzoyODMKIG1zZ2lkICJyZW5hbWVkOiIKIG1zZ3N0ciAiY2FudmlhdCBkZSBub206IgogCi0jOiB3dC1zdGF0dXMuYzoyODMKKyM6IHd0LXN0YXR1cy5jOjI4NQogbXNnaWQgInR5cGVjaGFuZ2U6IgogbXNnc3RyICJjYW52aWF0IGRlIHRpcHVzOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg1CisjOiB3dC1zdGF0dXMuYzoyODcKIG1zZ2lkICJ1bmtub3duOiIKIG1zZ3N0ciAiZGVzY29uZWd1dDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NworIzogd3Qtc3RhdHVzLmM6Mjg5CiBtc2dpZCAidW5tZXJnZWQ6IgogbXNnc3RyICJzZW5zZSBmdXNpb25hcjoiCiAKLSM6IHd0LXN0YXR1cy5jOjM2OQorIzogd3Qtc3RhdHVzLmM6MzcxCiBtc2dpZCAibmV3IGNvbW1pdHMsICIKIG1zZ3N0ciAiY29taXNzaW9ucyBub3ZlcywgIgogCi0jOiB3dC1zdGF0dXMuYzozNzEKKyM6IHd0LXN0YXR1cy5jOjM3MwogbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKIG1zZ3N0ciAiY29udGluZ3V0IG1vZGlmaWNhdCwgIgogCi0jOiB3dC1zdGF0dXMuYzozNzMKKyM6IHd0LXN0YXR1cy5jOjM3NQogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgImNvbnRpbmd1dCBubyBzZWd1aXQsICIKIAotIzogd3Qtc3RhdHVzLmM6MzkwCi0jLCBjLWZvcm1hdAotbXNnaWQgImJ1ZzogdW5oYW5kbGVkIGRpZmYgc3RhdHVzICVjIgotbXNnc3RyICJidWc6IGVzdGF0IGRlIGRpZmVyw6huY2lhIG5vIGdlc3Rpb25hdCAlYyIKLQotIzogd3Qtc3RhdHVzLmM6NzU0CisjOiB3dC1zdGF0dXMuYzo4MTgKIG1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKIG1zZ3N0ciAiU3VibcOyZHVscyBjYW52aWF0cyBwZXLDsiBubyBhY3R1YWxpdHphdHM6IgogCi0jOiB3dC1zdGF0dXMuYzo3NTYKKyM6IHd0LXN0YXR1cy5jOjgyMAogbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIkNhbnZpcyBkZSBzdWJtw7JkdWwgYSBjb21ldHJlOiIKIAotIzogd3Qtc3RhdHVzLmM6ODM3CisjOiB3dC1zdGF0dXMuYzo5MDEKIG1zZ2lkICIiCiAiRG8gbm90IHRvdWNoIHRoZSBsaW5lIGFib3ZlLlxuIgogIkV2ZXJ5dGhpbmcgYmVsb3cgd2lsbCBiZSByZW1vdmVkLiIKIG1zZ3N0ciAiIgotIk5vIHRvcXVldSBsYSBsw61uaWEgZGUgc29icmUuXG4iCisiTm8gdG9xdWV1IGxhIGzDrW5pYSBhIGRhbHQuXG4iCiAiVG90IGVsIHF1ZSBoaSBoYSBhIHNvdGEgcydlbGltaW5hcsOgLiIKIAotIzogd3Qtc3RhdHVzLmM6OTQ4CisjOiB3dC1zdGF0dXMuYzoxMDEzCiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICJUZW5pdSBjYW1pbnMgc2Vuc2UgZnVzaW9uYXIuIgogCi0jOiB3dC1zdGF0dXMuYzo5NTEKKyM6IHd0LXN0YXR1cy5jOjEwMTYKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIgIChhcnJlZ2xldSBlbHMgY29uZmxpY3RlcyBpIGV4ZWN1dGV1IFwiZ2l0IGNvbW1pdFwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTU0CisjOiB3dC1zdGF0dXMuYzoxMDE4Cittc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgorbXNnc3RyICIgICh1c2V1IFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiBwZXIgYSBhdm9ydGFyIGxhIGZ1c2nDsykiCisKKyM6IHd0LXN0YXR1cy5jOjEwMjMKIG1zZ2lkICJBbGwgY29uZmxpY3RzIGZpeGVkIGJ1dCB5b3UgYXJlIHN0aWxsIG1lcmdpbmcuIgogbXNnc3RyICJUb3RzIGVscyBjb25mbGljdGVzIGVzdGFuIGFycmVnbGF0cyBwZXLDsiBlbmNhcmEgZXN0ZXUgZnVzaW9uYW50LiIKIAotIzogd3Qtc3RhdHVzLmM6OTU3CisjOiB3dC1zdGF0dXMuYzoxMDI2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAodXNldSBcImdpdCBjb21taXRcIiBwZXIgYSBjb25jbG91cmUgbGEgZnVzacOzKSIKIAotIzogd3Qtc3RhdHVzLmM6OTY3CisjOiB3dC1zdGF0dXMuYzoxMDM2CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICJFc3RldSBlbm1pZyBkJ3VuYSBzZXNzacOzIGFtLiIKIAotIzogd3Qtc3RhdHVzLmM6OTcwCisjOiB3dC1zdGF0dXMuYzoxMDM5CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJFbCBwZWRhw6cgYWN0dWFsIGVzdMOgIGJ1aXQuIgogCi0jOiB3dC1zdGF0dXMuYzo5NzQKKyM6IHd0LXN0YXR1cy5jOjEwNDMKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChhcnJlZ2xldSBlbHMgY29uZmxpY3RlcyBpIGRlc3Byw6lzIGV4ZWN1dGV1IFwiZ2l0IGFtIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjk3NgorIzogd3Qtc3RhdHVzLmM6MTA0NQogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IGFtIC0tc2tpcFwiIHBlciBhIG9tZXRyZSBhcXVlc3QgcGVkYcOnKSIKIAotIzogd3Qtc3RhdHVzLmM6OTc4CisjOiB3dC1zdGF0dXMuYzoxMDQ3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IGFtIC0tYWJvcnRcIiBwZXIgYSByZXN0YXVyYXIgbGEgYnJhbmNhIG9yaWdpbmFsKSIKIAotIzogd3Qtc3RhdHVzLmM6MTEwNQorIzogd3Qtc3RhdHVzLmM6MTE3MgogbXNnaWQgIk5vIGNvbW1hbmRzIGRvbmUuIgogbXNnc3RyICJObyBzJ2hhIGZldCBjYXAgb3JkcmUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTA4CisjOiB3dC1zdGF0dXMuYzoxMTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxhc3QgY29tbWFuZCBkb25lICglZCBjb21tYW5kIGRvbmUpOiIKIG1zZ2lkX3BsdXJhbCAiTGFzdCBjb21tYW5kcyBkb25lICglZCBjb21tYW5kcyBkb25lKToiCi1tc2dzdHJbMF0gIsOabHRpbWEgb3JkcmUgZmV0ICglZCBvcmRyZSBmZXRhKToiCittc2dzdHJbMF0gIsOabHRpbWEgb3JkcmUgZmV0YSAoJWQgb3JkcmUgZmV0YSk6IgogbXNnc3RyWzFdICLDmmx0aW1lcyBvcmRyZXMgZmV0ZXMgKCVkIG9yZHJlcyBmZXRlcyk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMTE5CisjOiB3dC1zdGF0dXMuYzoxMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgogbXNnc3RyICIgICh2ZWdldSBtw6lzIGVuIGVsIGZpdHhlciAlcykiCiAKLSM6IHd0LXN0YXR1cy5jOjExMjQKKyM6IHd0LXN0YXR1cy5jOjExOTEKIG1zZ2lkICJObyBjb21tYW5kcyByZW1haW5pbmcuIgogbXNnc3RyICJObyBtYW5jYSBjYXAgb3JkcmUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI3CisjOiB3dC1zdGF0dXMuYzoxMTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5leHQgY29tbWFuZCB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmQpOiIKIG1zZ2lkX3BsdXJhbCAiTmV4dCBjb21tYW5kcyB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmRzKToiCiBtc2dzdHJbMF0gIk9yZHJlIHNlZ8O8ZW50IGEgZmVyIChtYW5jYSAlZCBvcmRyZSk6IgogbXNnc3RyWzFdICJPcmRyZXMgc2Vnw7xlbnRzIGEgZmVyIChtYW5xdWVuICVkIG9yZHJlcyk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMTM1CisjOiB3dC1zdGF0dXMuYzoxMjAyCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHRvIHZpZXcgYW5kIGVkaXQpIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHBlciBhIHZldXJlIGkgZWRpdGFyKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE0OAorIzogd3Qtc3RhdHVzLmM6MTIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiQWN0dWFsbWVudCBlc3RldSByZWJhc2FudCBsYSBicmFuY2EgJyVzJyBlbiAnJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE1MworIzogd3Qtc3RhdHVzLmM6MTIyMAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiQWN0dWFsbWVudCBlc3RldSByZWJhc2FudC4iCiAKLSM6IHd0LXN0YXR1cy5jOjExNjcKKyM6IHd0LXN0YXR1cy5jOjEyMzQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKGFycmVnbGV1IGVscyBjb25mbGljdGVzIGkgZGVzcHLDqXMgZXhlY3V0ZXUgXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjExNjkKKyM6IHd0LXN0YXR1cy5jOjEyMzYKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKHVzZXUgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHBlciBhIHNhbHRhciBhcXVlc3QgcGVkYcOnKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE3MQorIzogd3Qtc3RhdHVzLmM6MTIzOAogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAodXNldSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHBlciBhIGFnYWZhciBsYSBicmFuY2Egb3JpZ2luYWwpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTc3CisjOiB3dC1zdGF0dXMuYzoxMjQ0CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgotbXNnc3RyICIgICh0b3RzIGVscyBjb25mbGljdGVzIGFycmVnbGF0czogZXhlY3V0ZXUgXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCittc2dzdHIgIiIKKyIgICh0b3RzIGVscyBjb25mbGljdGVzIGVzdGFuIGFycmVnbGF0czogZXhlY3V0ZXUgXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjExODEKKyM6IHd0LXN0YXR1cy5jOjEyNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiIgogIkFjdHVhbG1lbnQgZXN0ZXUgZGl2aWRpbnQgdW5hIGNvbWlzc2nDsyBtZW50cmUgcmViYXNldSBsYSBicmFuY2EgJyVzJyBlbiAnJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE4NgorIzogd3Qtc3RhdHVzLmM6MTI1MwogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICJBY3R1YWxtZW50IGVzdGV1IGRpdmlkaW50IHVuYSBjb21pc3Npw7MgZHVyYW50IHVuIHJlYmFzYW1lbnQuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTg5CisjOiB3dC1zdGF0dXMuYzoxMjU2CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChVbmEgdmVnYWRhIHF1ZSBlbCB2b3N0cmUgZGlyZWN0b3JpIGRlIHRyZWJhbGwgc2lndWkgbmV0LCBleGVjdXRldSBcImdpdCAiCiAicmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjExOTMKKyM6IHd0LXN0YXR1cy5jOjEyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiIgogIkFjdHVhbG1lbnQgZXN0ZXUgZWRpdGFudCB1bmEgY29taXNzacOzIG1lbnRyZSByZWJhc2V1IGxhIGJyYW5jYSAnJXMnIGVuICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTk4CisjOiB3dC1zdGF0dXMuYzoxMjY1CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICJBY3R1YWxtZW50IGVzdGV1IGVkaXRhbnQgdW5hIGNvbWlzc2nDsyBkdXJhbnQgdW4gcmViYXNhbWVudC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDEKKyM6IHd0LXN0YXR1cy5jOjEyNjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgcGVyIGEgZXNtZW5hciBsYSBjb21pc3Npw7MgYWN0dWFsKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIwMworIzogd3Qtc3RhdHVzLmM6MTI3MAogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIKIG1zZ3N0ciAiIgotIiAgKHVzZXUgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiB1bmEgdmVnYWRhIHF1ZSBlc3RldSBzYXRpc2ZldCBhbWIgZWxzICIKKyIgICh1c2V1IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgdW5hIHZlZ2FkYSBxdWUgZXN0aWd1ZXUgc2F0aXNmZXQgYW1iIGVscyAiCiAidm9zdHJlcyBjYW52aXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjEzCisjOiB3dC1zdGF0dXMuYzoxMjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIkFjdHVhbG1lbnQgZXN0ZXUgcmVjb2xsaW50IGNvbSBhIGNpcmVyYSBsYSBjb21pc3Npw7MgJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjE4CisjOiB3dC1zdGF0dXMuYzoxMjg1CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFycmVnbGV1IGVscyBjb25mbGljdGVzIGkgZXhlY3V0ZXUgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMQorIzogd3Qtc3RhdHVzLmM6MTI4OAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCi0iICAodG90cyBlbHMgY29uZmxpY3RlcyBhcnJlZ2xhdHM6IGV4ZWN1dGV1IFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCisiICAodG90cyBlbHMgY29uZmxpY3RlcyBlc3RhbiBhcnJlZ2xhdHM6IGV4ZWN1dGV1IFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWUiCisiXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjIzCisjOiB3dC1zdGF0dXMuYzoxMjkwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiIKICIgICh1c2V1IFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiBwZXIgYSBjYW5jZWzCt2xhciBsJ29wZXJhY2nDsyBkZSByZWN1bGwgZGUgIgogImNpcmVyZXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjMyCisjOiB3dC1zdGF0dXMuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJldmVydGluZyBjb21taXQgJXMuIgogbXNnc3RyICJBY3R1YWxtZW50IGVzdGV1IHJldmVydGludCBsYSBjb21pc3Npw7MgJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjM3CisjOiB3dC1zdGF0dXMuYzoxMzA0CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChhcnJlZ2xldSBlbHMgY29uZmxpY3RlcyBpIGV4ZWN1dGV1IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQwCisjOiB3dC1zdGF0dXMuYzoxMzA3CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAodG90cyBlbHMgY29uZmxpY3RlcyBlc3RhbiBhcnJlZ2xhdHM6IGV4ZWN1dGV1IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQyCisjOiB3dC1zdGF0dXMuYzoxMzA5CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKHVzZXUgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiBwZXIgYSBjYW5jZWzCt2xhciBsJ29wZXJhY2nDsyBkZSByZXZlcnNpw7MpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjUzCisjOiB3dC1zdGF0dXMuYzoxMzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiQWN0dWFsbWVudCBlc3RldSBiaXNlY2FudCwgaGV1IGNvbWVuw6dhdCBkZXMgZGUgbGEgYnJhbmNhICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU3CisjOiB3dC1zdGF0dXMuYzoxMzI0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKIG1zZ3N0ciAiQWN0dWFsbWVudCBlc3RldSBiaXNlY2FudC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjAKKyM6IHd0LXN0YXR1cy5jOjEzMjcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdG8gZ2V0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHVzZXUgXCJnaXQgYmlzZWN0IHJlc2V0XCIgcGVyIGEgdG9ybmFyIGEgbGEgYnJhbmNhIG9yaWdpbmFsKSIKIAotIzogd3Qtc3RhdHVzLmM6MTQzOAorIzogd3Qtc3RhdHVzLmM6MTUyNAogbXNnaWQgIk9uIGJyYW5jaCAiCiBtc2dzdHIgIkVuIGxhIGJyYW5jYSAiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NDQKKyM6IHd0LXN0YXR1cy5jOjE1MzAKIG1zZ2lkICJpbnRlcmFjdGl2ZSByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICJyZWJhc2FtZW50IGludGVyYWN0aXUgZW4gcHJvZ3LDqXM7IHNvYnJlICIKIAotIzogd3Qtc3RhdHVzLmM6MTQ0NgorIzogd3Qtc3RhdHVzLmM6MTUzMgogbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgInJlYmFzYW1lbnQgZW4gcHJvZ3LDqXM7IHNvYnJlICIKIAotIzogd3Qtc3RhdHVzLmM6MTQ1MQorIzogd3Qtc3RhdHVzLmM6MTUzNwogbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgogbXNnc3RyICJIRUFEIHNlcGFyYXQgYSAiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NTMKKyM6IHd0LXN0YXR1cy5jOjE1MzkKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgogbXNnc3RyICJIRUFEIHNlcGFyYXQgZGUgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDU2CisjOiB3dC1zdGF0dXMuYzoxNTQyCiBtc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKLW1zZ3N0ciAiQWN0dWFsbWVudCBubyBlbiBjYXAgYnJhbmNhLiIKK21zZ3N0ciAiQWN0dWFsbWVudCBubyBzJ8OpcyBlbiBjYXAgYnJhbmNhLiIKIAotIzogd3Qtc3RhdHVzLmM6MTQ3NAorIzogd3Qtc3RhdHVzLmM6MTU2MAogbXNnaWQgIkluaXRpYWwgY29tbWl0IgogbXNnc3RyICJDb21pc3Npw7MgaW5pY2lhbCIKIAotIzogd3Qtc3RhdHVzLmM6MTQ4OAorIzogd3Qtc3RhdHVzLmM6MTU3NAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiRml0eGVycyBubyBzZWd1aXRzIgogCi0jOiB3dC1zdGF0dXMuYzoxNDkwCisjOiB3dC1zdGF0dXMuYzoxNTc2CiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiRml0eGVycyBpZ25vcmF0cyIKIAotIzogd3Qtc3RhdHVzLmM6MTQ5NAorIzogd3Qtc3RhdHVzLmM6MTU4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgogIm1heSBzcGVlZCBpdCB1cCwgYnV0IHlvdSBoYXZlIHRvIGJlIGNhcmVmdWwgbm90IHRvIGZvcmdldCB0byBhZGRcbiIKICJuZXcgZmlsZXMgeW91cnNlbGYgKHNlZSAnZ2l0IGhlbHAgc3RhdHVzJykuIgogbXNnc3RyICIiCi0iUydoYSB0cmlnYXQgJS4yZiBzZWdvbnMgYSBlbnVtZXJhciBmaXR4ZXJzIG5vIHNlZ3VpdHMuXG4iCisiSGEgdHJpZ2F0ICUuMmYgc2Vnb25zIGVudW1lcmFyIGVscyBmaXR4ZXJzIG5vIHNlZ3VpdHMuXG4iCiAiJ3N0YXR1cyAtdW5vJyBwb3QgYWNjZWxlcmFyLWhvLCBwZXLDsiBoZXUgZCdhbmFyIGFtYiBjb21wdGUgZGUgbm9cbiIKICJvYmxpZGFyLXZvcyBkJ2FmZWdpciBmaXR4ZXJzIG5vdXMgcGVyIHbDs3MgbWF0ZWl4ICh2ZWdldVxuIgogIidnaXQgaGVscCBzdGF0dXMnKS4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1MDAKKyM6IHd0LXN0YXR1cy5jOjE1ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAiRWxzIGZpdHhlcnMgbm8gc2VndWl0cyBubyBlc3RhbiBsbGlzdGF0cyVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNTAyCisjOiB3dC1zdGF0dXMuYzoxNTg4CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAiICh1c2V1IGwnb3BjacOzIC11IHBlciBhIG1vc3RyYXIgZWxzIGZpdHhlcnMgbm8gc2VndWl0cykiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MDgKKyM6IHd0LXN0YXR1cy5jOjE1OTQKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICJTZW5zZSBjYW52aXMiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MTMKKyM6IHd0LXN0YXR1cy5jOjE1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCiBtc2dzdHIgIiIKICJubyBoaSBoYSBjYW52aXMgYWZlZ2l0cyBhIGNvbWV0cmUgKHVzZXUgXCJnaXQgYWRkXCIgbyBcImdpdCBjb21taXQgLWFcIilcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTUxNgorIzogd3Qtc3RhdHVzLmM6MTYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdFxuIgogbXNnc3RyICJubyBoaSBoYSBjYW52aXMgYWZlZ2l0cyBhIGNvbWV0cmVcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTUxOQorIzogd3Qtc3RhdHVzLmM6MTYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgpAQCAtMjI5Myw1NSArMzk0OCw3MCBAQAogIm5vIGhpIGhhIHJlcyBhZmVnaXQgYSBjb21ldHJlIHBlcsOyIGZpdHhlcnMgbm8gc2VndWl0cyBlc3RhbiBwcmVzZW50cyAodXNldSAiCiAiXCJnaXQgYWRkXCIgcGVyIGEgc2VndWlyLWxvcylcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTUyMgorIzogd3Qtc3RhdHVzLmM6MTYwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKIG1zZ3N0ciAibm8gaGkgaGEgcmVzIGFmZWdpdCBhIGNvbWV0cmUgcGVyw7IgZml0eGVycyBubyBzZWd1aXRzIGVzdGFuIHByZXNlbnRzXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1MjUKKyM6IHd0LXN0YXR1cy5jOjE2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCiBtc2dzdHIgIiIKICJubyBoaSBoYSByZXMgYSBjb21ldHJlIChjcmVldS9jb3BpZXUgZml0eGVycyBpIHVzZXUgXCJnaXQgYWRkXCIgcGVyIGEgc2VndWlyLSIKICJsb3MpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1Mjggd3Qtc3RhdHVzLmM6MTUzMworIzogd3Qtc3RhdHVzLmM6MTYxNCB3dC1zdGF0dXMuYzoxNjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0XG4iCiBtc2dzdHIgIm5vIGhpIGhhIHJlcyBhIGNvbWV0cmVcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTUzMQorIzogd3Qtc3RhdHVzLmM6MTYxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgogbXNnc3RyICIiCiAibm8gaGkgaGEgcmVzIGEgY29tZXRyZSAodXNldSAtdSBwZXIgYSBtb3N0cmFyIGVscyBmaXR4ZXJzIG5vIHNlZ3VpdHMpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzUKKyM6IHd0LXN0YXR1cy5jOjE2MjEKICMsIGMtZm9ybWF0Ci1tc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgZGlyZWN0b3J5IGNsZWFuXG4iCi1tc2dzdHIgIm5vIGhpIGhhIHJlcyBhIGNvbWV0cmUsIGRpcmVjdG9yaSBkZSB0cmViYWxsIG5ldFxuIgorbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKK21zZ3N0ciAibm8gaGkgaGEgcmVzIGEgY29tZXRyZSwgbCdhcmJyZSBkZSB0cmViYWxsIGVzdMOgIG5ldFxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjQyCisjOiB3dC1zdGF0dXMuYzoxNzI4CiBtc2dpZCAiSW5pdGlhbCBjb21taXQgb24gIgogbXNnc3RyICJDb21pc3Npw7MgaW5pY2lhbCBlbiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NDYKKyM6IHd0LXN0YXR1cy5jOjE3MzIKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEIChzZW5zZSBicmFuY2EpIgogCi0jOiB3dC1zdGF0dXMuYzoxNjc1CisjOiB3dC1zdGF0dXMuYzoxNzYxCiBtc2dpZCAiZ29uZSIKIG1zZ3N0ciAibm8gaGkgw6lzIgogCi0jOiB3dC1zdGF0dXMuYzoxNjc3IHd0LXN0YXR1cy5jOjE2ODUKKyM6IHd0LXN0YXR1cy5jOjE3NjMgd3Qtc3RhdHVzLmM6MTc3MQogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgImRhcnJlcmUgIgogCi0jOiB3dC1zdGF0dXMuYzoxNjgwIHd0LXN0YXR1cy5jOjE2ODMKKyM6IHd0LXN0YXR1cy5jOjE3NjYgd3Qtc3RhdHVzLmM6MTc2OQogbXNnaWQgImFoZWFkICIKIG1zZ3N0ciAiZGF2YW50IHBlciAiCiAKLSM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1NyBidWlsdGluL2Nsb25lLmM6NDEzCisjLiBUUkFOU0xBVE9SUzogdGhlIGFjdGlvbiBpcyBlLmcuICJwdWxsIHdpdGggcmViYXNlIgorIzogd3Qtc3RhdHVzLmM6MjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgJXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICJubyBlcyBwb3QgJXM6IFRlbml1IGNhbnZpcyBubyBhbGxpc3RhdHMuIgorCisjOiB3dC1zdGF0dXMuYzoyMjc2Cittc2dpZCAiYWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICJhZGRpY2lvbmFsbWVudCwgZWwgdm9zdHJlIMOtbmRleCBjb250w6kgY2FudmlzIHNlbnNlIGNvbWV0cmUuIgorCisjOiB3dC1zdGF0dXMuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCAlczogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAibm8gZXMgcG90ICVzOiBFbCB2b3N0cmUgw61uZGV4IGNvbnTDqSBjYW52aXMgc2Vuc2UgY29tZXRyZS4iCisKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1NyBidWlsdGluL2Nsb25lLmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKIG1zZ3N0ciAicydoYSBmYWxsYXQgZW4gZGVzZW5sbGHDp2FyICclcyciCkBAIC0yMzUwLDI3MyArNDAyMCwyNjMgQEAKIG1zZ2lkICJnaXQgYWRkIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGFkZCBbPG9wY2lvbnM+XSBbLS1dIDxlc3BlY2lmaWNhY2nDsy1kZS1jYW3DrT4uLi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NjUKKyM6IGJ1aWx0aW4vYWRkLmM6ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBkaWZmIHN0YXR1cyAlYyIKIG1zZ3N0ciAiZXN0YXQgZGUgZGlmZiBpbmVzcGVyYXQgJWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NzAgYnVpbHRpbi9jb21taXQuYzoyNzgKKyM6IGJ1aWx0aW4vYWRkLmM6ODUgYnVpbHRpbi9jb21taXQuYzoyOTEKIG1zZ2lkICJ1cGRhdGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgInMnaGEgZmFsbGF0IGVuIGFjdHVhbGl0emFyIGVscyBmaXR4ZXJzIgogCi0jOiBidWlsdGluL2FkZC5jOjgwCisjOiBidWlsdGluL2FkZC5jOjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgImVsaW1pbmEgJyVzJ1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjEzNAorIzogYnVpbHRpbi9hZGQuYzoxNDkKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAiQ2FudmlzIG5vIGFsbGlzdGF0cyBkZXNwcsOpcyBkJ2FjdHVhbGl0emFyIGwnw61uZGV4OiIKIAotIzogYnVpbHRpbi9hZGQuYzoxOTQgYnVpbHRpbi9yZXYtcGFyc2UuYzo3OTcKKyM6IGJ1aWx0aW4vYWRkLmM6MjA5IGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODQwCiBtc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGxsZWdpciBsJ8OtbmRleCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMDUKKyM6IGJ1aWx0aW4vYWRkLmM6MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyICclcycgcGVyIGEgZXNjcmlwdHVyYS4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjA5CisjOiBidWlsdGluL2FkZC5jOjIyNAogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBwZWRhw6ciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjEyCisjOiBidWlsdGluL2FkZC5jOjIyNwogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICJsJ2VkaWNpw7MgZGVsIHBlZGHDpyBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjE1CisjOiBidWlsdGluL2FkZC5jOjIzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGZlciBzdGF0IGEgJyVzJyIKIAotIzogYnVpbHRpbi9hZGQuYzoyMTcKKyM6IGJ1aWx0aW4vYWRkLmM6MjMyCiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgotbXNnc3RyICJFbCBwZWRhw6cgw6lzIGJ1aXQuIEF2b3J0YXQuIgorbXNnc3RyICJFbCBwZWRhw6cgw6lzIGJ1aXQuIFMnaGEgYXZvcnRhdC4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjIyCisjOiBidWlsdGluL2FkZC5jOjIzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhcGxpY2FyICclcyciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjMyCisjOiBidWlsdGluL2FkZC5jOjI0NwogbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKIG1zZ3N0ciAiIgogIkVscyBjYW1pbnMgc2Vnw7xlbnRzIHMnaWdub3JlbiBwZXIgdW4gZGVscyB2b3N0cmVzIGZpdHhlcnMgLmdpdGlnbm9yZTpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNDkgYnVpbHRpbi9jbGVhbi5jOjg3MCBidWlsdGluL2ZldGNoLmM6MTEyIGJ1aWx0aW4vbXYuYzoxMTEKLSM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTUgYnVpbHRpbi9wdWxsLmM6MTg5IGJ1aWx0aW4vcHVzaC5jOjUxMQotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzMwIGJ1aWx0aW4vcm0uYzoyNjggYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKKyM6IGJ1aWx0aW4vYWRkLmM6MjY2IGJ1aWx0aW4vY2xlYW4uYzo4NzAgYnVpbHRpbi9mZXRjaC5jOjExNSBidWlsdGluL212LmM6MTExCisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU1IGJ1aWx0aW4vcHVsbC5jOjE5OCBidWlsdGluL3B1c2guYzo1MjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyNiBidWlsdGluL3JtLmM6MjY4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCiBtc2dpZCAiZHJ5IHJ1biIKIG1zZ3N0ciAibWFyeGEgZW4gc2VjIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MCBidWlsdGluL2FwcGx5LmM6NDU2MSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjIgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6ODUgYnVpbHRpbi9mc2NrLmM6NTU4Ci0jOiBidWlsdGluL2xvZy5jOjE2NTEgYnVpbHRpbi9tdi5jOjExMCBidWlsdGluL3JlYWQtdHJlZS5jOjExNAotbXNnaWQgImJlIHZlcmJvc2UiCi1tc2dzdHIgInNpZ3VlcyBkZXRhbGxhdCIKLQotIzogYnVpbHRpbi9hZGQuYzoyNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MjY5CiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAicmVjdWxsIGludGVyYWN0aXUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU1IGJ1aWx0aW4vcmVzZXQuYzoyODYKKyM6IGJ1aWx0aW4vYWRkLmM6MjcwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU2IGJ1aWx0aW4vcmVzZXQuYzoyODYKIG1zZ2lkICJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAic2VsZWNjaW9uYSBlbHMgdHJvc3NvcyBpbnRlcmFjdGl2YW1lbnQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU0CisjOiBidWlsdGluL2FkZC5jOjI3MQogbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKIG1zZ3N0ciAiZWRpdGEgbGEgZGlmZXLDqG5jaWEgYWN0dWFsIGkgYXBsaWNhLWxhIgogCi0jOiBidWlsdGluL2FkZC5jOjI1NQorIzogYnVpbHRpbi9hZGQuYzoyNzIKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgInBlcm1ldCBhZmVnaXIgZml0eGVycyBxdWUgZCdhbHRyYSBtYW5lcmEgcydpZ25vcmVuIgogCi0jOiBidWlsdGluL2FkZC5jOjI1NgorIzogYnVpbHRpbi9hZGQuYzoyNzMKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiYWN0dWFsaXR6YSBlbHMgZml0eGVycyBzZWd1aXRzIgogCi0jOiBidWlsdGluL2FkZC5jOjI1NworIzogYnVpbHRpbi9hZGQuYzoyNzQKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCi1tc2dzdHIgInJlZ2lzdHJhIG5vbcOpcyBlbCBmZXQgcXVlIGVsIGNhbcOtIHMnYWZlZ2lyw6AgbcOpcyB0YXJkIgorbXNnc3RyICJyZWdpc3RyYSBub23DqXMgZWwgZmV0IGRlIHF1ZSBlbCBjYW3DrSBzJ2FmZWdpcsOgIG3DqXMgdGFyZCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTgKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJhZmVnZWl4IGVscyBjYW52aXMgZGUgdG90cyBlbHMgZml0eGVycyBzZWd1aXRzIGkgbm8gc2VndWl0cyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjEKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc4CiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCiBtc2dzdHIgIiIKICJpZ25vcmEgZWxzIGNhbWlucyBlbGltaW5hdHMgZW4gbCdhcmJyZSBkZSB0cmViYWxsIChlbCBtYXRlaXggcXVlIC0tbm8tYWxsKSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjMKKyM6IGJ1aWx0aW4vYWRkLmM6MjgwCiBtc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJubyBhZmVnZWl4aXMsIG5vbcOpcyBhY3R1YWxpdHphIGwnw61uZGV4IgogCi0jOiBidWlsdGluL2FkZC5jOjI2NAorIzogYnVpbHRpbi9hZGQuYzoyODEKIG1zZ2lkICJqdXN0IHNraXAgZmlsZXMgd2hpY2ggY2Fubm90IGJlIGFkZGVkIGJlY2F1c2Ugb2YgZXJyb3JzIgogbXNnc3RyICJub23DqXMgb21ldCBlbHMgZml0eGVycyBxdWUgbm8gZXMgcG9kZW4gYWZlZ2lyIGEgY2F1c2EgZCdlcnJvcnMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY1CisjOiBidWlsdGluL2FkZC5jOjI4MgogbXNnaWQgImNoZWNrIGlmIC0gZXZlbiBtaXNzaW5nIC0gZmlsZXMgYXJlIGlnbm9yZWQgaW4gZHJ5IHJ1biIKIG1zZ3N0ciAiIgogImNvbXByb3ZldSBzaSBlbHMgZml0eGVycyAtIGZpbnMgaSB0b3QgZWxzIGFic2VudHMgLSBzJ2lnbm9yZW4gZW4gbWFyeGEgZW4gc2VjIgogCi0jOiBidWlsdGluL2FkZC5jOjI4NworIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDcKK21zZ2lkICIoKy8tKXgiCittc2dzdHIgIigrLy0peCIKKworIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDgKK21zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKK21zZ3N0ciAicGFzc2EgcGVyIGFsdCBlbCBiaXQgZXhlY3V0YWJsZSBkZWxzIGZpdHhlcnMgbGxpc3RhdHMiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uXG4iCiBtc2dzdHIgIlVzZXUgLWYgc2kgcmVhbG1lbnQgZWxzIHZvbGV1IGFmZWdpci5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTQKKyM6IGJ1aWx0aW4vYWRkLmM6MzEyCiBtc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAibCdhZmVnaW1lbnQgZGUgZml0eGVycyBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzMwCisjOiBidWlsdGluL2FkZC5jOjM0OAogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICItQSBpIC11IHPDs24gbXV0dWFsbWVudCBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL2FkZC5jOjMzNworIzogYnVpbHRpbi9hZGQuYzozNTUKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgogbXNnc3RyICJMJ29wY2nDsyAtLWlnbm9yZS1taXNzaW5nIG5vbcOpcyBlcyBwb3QgdXNhciBqdW50IGFtYiAtLWRyeS1ydW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUyCisjOiBidWlsdGluL2FkZC5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCittc2dzdHIgImVsIHBhcsOgbWV0cmUgLS1jaG1vZCAnJXMnIGhhIGRlIHNlciBvIC14IG8gK3giCisKKyM6IGJ1aWx0aW4vYWRkLmM6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgotbXNnc3RyICJSZXMgZXNwZWNpZmljYXQsIHJlcyBhZmVnaXQuXG4iCittc2dzdHIgIk5vIHMnaGEgZXNwZWNpZmljYXQgcmVzLCBubyBzJ2hhIGFmZWdpdCByZXMuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUzCisjOiBidWlsdGluL2FkZC5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiUG90c2VyIHZvbMOtZXUgZGlyICdnaXQgYWRkIC4nP1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjM1OCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NsZWFuLmM6OTE0Ci0jOiBidWlsdGluL2NvbW1pdC5jOjMzNyBidWlsdGluL212LmM6MTMxIGJ1aWx0aW4vcmVzZXQuYzoyMzUgYnVpbHRpbi9ybS5jOjI5OAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM1CisjOiBidWlsdGluL2FkZC5jOjM4MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NoZWNrb3V0LmM6Mjc5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDcyIGJ1aWx0aW4vY2xlYW4uYzo5MTQgYnVpbHRpbi9jb21taXQuYzozNTAKKyM6IGJ1aWx0aW4vbXYuYzoxMzEgYnVpbHRpbi9yZXNldC5jOjIzNSBidWlsdGluL3JtLmM6Mjk4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQ0CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICJmaXR4ZXIgZCfDrW5kZXggbWFsbcOocyIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzkgYnVpbHRpbi9hcHBseS5jOjQ2NTkgYnVpbHRpbi9tdi5jOjI4MCBidWlsdGluL3JtLmM6NDMwCi1tc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIHVuIGZpdHhlciBkJ8OtbmRleCBub3UiCi0KLSM6IGJ1aWx0aW4vYW0uYzoyNTYgYnVpbHRpbi9jb21taXQuYzo3MzggYnVpbHRpbi9tZXJnZS5jOjEwNzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgJyVzJyIKLQotIzogYnVpbHRpbi9hbS5jOjQzMAorIzogYnVpbHRpbi9hbS5jOjQxNAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBhdXRob3Igc2NyaXB0IgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBsJ3NjcmlwdCBkJ2F1dG9yIgogCi0jOiBidWlsdGluL2FtLmM6NTA3CisjOiBidWlsdGluL2FtLmM6NDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgd2FzIGRlbGV0ZWQgYnkgdGhlIGFwcGx5cGF0Y2gtbXNnIGhvb2siCi1tc2dzdHIgInMnaGEgc3VwcmltaXQgJyVzJyBwZXIgZWwgZ2FueG8gYXBwbHlwYXRjaC1tc2ciCittc2dzdHIgInMnaGEgc3VwcmltaXQgJyVzJyBwZWwgZ2FueG8gYXBwbHlwYXRjaC1tc2ciCiAKLSM6IGJ1aWx0aW4vYW0uYzo1NDggYnVpbHRpbi9ub3Rlcy5jOjMwMAorIzogYnVpbHRpbi9hbS5jOjUzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgIkzDrW5pYSBkJ2VudHJhZGEgbWFsIGZvcm1hZGE6ICclcycuIgogCi0jOiBidWlsdGluL2FtLmM6NTg1IGJ1aWx0aW4vbm90ZXMuYzozMTUKKyM6IGJ1aWx0aW4vYW0uYzo1NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIlMnaGEgZmFsbGF0IGVuIGNvcGlhciBsZXMgbm90ZXMgZGUgJyVzJyBhICclcyciCiAKLSM6IGJ1aWx0aW4vYW0uYzo2MTEKKyM6IGJ1aWx0aW4vYW0uYzo1OTUKIG1zZ2lkICJmc2VlayBmYWlsZWQiCiBtc2dzdHIgImZzZWVrIGhhIGZhbGxhdCIKIAotIzogYnVpbHRpbi9hbS5jOjc3MiBidWlsdGluL2FtLmM6ODYwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmc6ICVzIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyICclcycgcGVyIGEgbGVjdHVyYTogJXMiCi0KLSM6IGJ1aWx0aW4vYW0uYzo3NzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZzogJXMiCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgJyVzJyBwZXIgYSBlc2NyaXB0dXJhOiAlcyIKLQotIzogYnVpbHRpbi9hbS5jOjc4OAorIzogYnVpbHRpbi9hbS5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGF0Y2ggJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgZWwgcGVkYcOnICclcyciCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NTMKKyM6IGJ1aWx0aW4vYW0uYzo4NDAKIG1zZ2lkICJPbmx5IG9uZSBTdEdJVCBwYXRjaCBzZXJpZXMgY2FuIGJlIGFwcGxpZWQgYXQgb25jZSIKIG1zZ3N0ciAibm9tw6lzIHVuYSBzw6hyaWUgZGUgcGVkYcOnb3MgU3RHSVQgZXMgcG90IGFwbGljYXIgYSBsYSB2ZWdhZGEiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5MDEKKyM6IGJ1aWx0aW4vYW0uYzo4ODcKIG1zZ2lkICJpbnZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAibWFyY2EgZGUgdGVtcHMgbm8gdsOgbGlkYSIKIAotIzogYnVpbHRpbi9hbS5jOjkwNCBidWlsdGluL2FtLmM6OTEyCisjOiBidWlsdGluL2FtLmM6ODkwIGJ1aWx0aW4vYW0uYzo4OTgKIG1zZ2lkICJpbnZhbGlkIERhdGUgbGluZSIKIG1zZ3N0ciAibMOtbmlhIERhdGUgbm8gdsOgbGlkYSIKIAotIzogYnVpbHRpbi9hbS5jOjkwOQorIzogYnVpbHRpbi9hbS5jOjg5NQogbXNnaWQgImludmFsaWQgdGltZXpvbmUgb2Zmc2V0IgogbXNnc3RyICJkZXNwbGHDp2FtZW50IGRlIHpvbmEgZGUgdGVtcHMgbm8gdsOgbGlkIgogCi0jOiBidWlsdGluL2FtLmM6OTk2CisjOiBidWlsdGluL2FtLmM6OTg0CiBtc2dpZCAiUGF0Y2ggZm9ybWF0IGRldGVjdGlvbiBmYWlsZWQuIgogbXNnc3RyICJMYSBkZXRlY2Npw7MgZGUgZm9ybWF0IGRlIHBlZGHDpyBoYSBmYWxsYXQuIgogCi0jOiBidWlsdGluL2FtLmM6MTAwMSBidWlsdGluL2Nsb25lLmM6Mzc4CisjOiBidWlsdGluL2FtLmM6OTg5IGJ1aWx0aW4vY2xvbmUuYzozNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAicydoYSBmYWxsYXQgZW4gY3JlYXIgZWwgZGlyZWN0b3JpICclcyciCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMDA1CisjOiBidWlsdGluL2FtLmM6OTkzCiBtc2dpZCAiRmFpbGVkIHRvIHNwbGl0IHBhdGNoZXMuIgogbXNnc3RyICJTJ2hhIGZhbGxhdCBlbiBkaXZpZGlyIGVscyBwZWRhw6dvcy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTM3IGJ1aWx0aW4vY29tbWl0LmM6MzYzCisjOiBidWlsdGluL2FtLmM6MTEyNSBidWlsdGluL2NvbW1pdC5jOjM3NgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBpbmRleCBmaWxlIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVsIGZpdHhlciBkJ8OtbmRleCIKIAotIzogYnVpbHRpbi9hbS5jOjExODgKKyM6IGJ1aWx0aW4vYW0uYzoxMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCIlcyAtLWNvbnRpbnVlXCIuIgogbXNnc3RyICJRdWFuIGjDoGdpdSByZXNvbHQgYXF1ZXN0IHByb2JsZW1hLCBleGVjdXRldSBcIiVzIC0tY29udGludWVcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTg5CisjOiBidWlsdGluL2FtLmM6MTE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiJXMgLS1za2lwXCIgaW5zdGVhZC4iCi1tc2dzdHIgIlNpIHByZWZlcml1IHNhbHRhciBhcXVlc3QgcGVkYcOnLCBleGVjdXRldSBcIiVzIC0tc2tpcFwiIGVuIGxsb2MuIgorbXNnc3RyICIiCisiU2kgcHJlZmVyaXUgc2FsdGFyIGFxdWVzdCBwZWRhw6csIGV4ZWN1dGV1IFwiJXMgLS1za2lwXCIgZW4gbGxvYyBkJ2FpeMOyLiIKIAotIzogYnVpbHRpbi9hbS5jOjExOTAKKyM6IGJ1aWx0aW4vYW0uYzoxMTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKIG1zZ3N0ciAiIgogIlBlciBhIHJlc3RhdXJhciBsYSBicmFuY2Egb3JpZ2luYWwgaSBkZWl4YXIgZCdhcGVkYcOnYXIsIGV4ZWN1dGV1IFwiJXMgLS1hYm9ydCIKICJcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMzI4CisjOiBidWlsdGluL2FtLmM6MTMxNgogbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiBXYXMgaXQgc3BsaXQgd3Jvbmc/IgogbXNnc3RyICJFbCBwZWRhw6cgw6lzIGJ1aXQuIFMnaGEgZGl2aWRpdCBtYWxhbWVudD8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNDAyIGJ1aWx0aW4vbG9nLmM6MTM1MAorIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9sb2cuYzoxNTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCiBtc2dzdHIgImzDrW5pYSBkJ2lkZW50aXRhdCBubyB2w6BsaWRhOiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE0MjkKKyM6IGJ1aWx0aW4vYW0uYzoxNDE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzEKKyM6IGJ1aWx0aW4vYW0uYzoxNjEwCiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiIgogIkFsIGRpcMOyc2l0IGxpIG1hbnF1ZW4gZWxzIGJsb2JzIG5lY2Vzc2FyaXMgcGVyIGEgcmV0cm9jZWRpciBhIHVuYSBmdXNpw7MgZGUgMyAiCiAidmllcy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjMzCisjOiBidWlsdGluL2FtLmM6MTYxMgogbXNnaWQgIlVzaW5nIGluZGV4IGluZm8gdG8gcmVjb25zdHJ1Y3QgYSBiYXNlIHRyZWUuLi4iCi1tc2dzdHIgIlVzYW50IGxhIGluZm9ybWFjacOzIGQnw61uZGV4IHBlciBhIHJlY29uc3RydWlyIHVuIGFyYnJlIGJhc2UuLi4iCittc2dzdHIgIlMnZXN0w6AgdXNhbnQgbGEgaW5mb3JtYWNpw7MgZCfDrW5kZXggcGVyIGEgcmVjb25zdHJ1aXIgdW4gYXJicmUgYmFzZS4uLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NTIKKyM6IGJ1aWx0aW4vYW0uYzoxNjMxCiBtc2dpZCAiIgogIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCiAiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKQEAgLTI2MjQsMzggKzQyODQsMzggQEAKICJIZXUgZWRpdGF0IGVsIHZvc3RyZSBwZWRhw6cgYSBtw6A/XG4iCiAiTm8gcydhcGxpY2EgYWxzIGJsb2JzIHJlY29yZGF0cyBlbiBlbCBzZXUgw61uZGV4LiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NTgKKyM6IGJ1aWx0aW4vYW0uYzoxNjM3CiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgotbXNnc3RyICJSZXRyb2NlZGludCBhIGFwZWRhw6dhciBsYSBiYXNlIGkgZnVzaW9uYXIgZGUgMyB2aWVzLi4uIgorbXNnc3RyICJTJ2VzdMOgIHJldHJvY2VkaW50IGEgYXBlZGHDp2FyIGxhIGJhc2UgaSBmdXNpb25hciBkZSAzIHZpZXMuLi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjczCisjOiBidWlsdGluL2FtLmM6MTY2MgogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCiBtc2dzdHIgIlMnaGEgZmFsbGF0IGVuIGZ1c2lvbmFyIGVscyBjYW52aXMuIgogCi0jOiBidWlsdGluL2FtLmM6MTY5NyBidWlsdGluL21lcmdlLmM6NjMzCisjOiBidWlsdGluL2FtLmM6MTY4NiBidWlsdGluL21lcmdlLmM6NjI4CiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgaGEgZmFsbGF0IGVuIGVzY3JpdXJlIHVuIGFyYnJlIgogCi0jOiBidWlsdGluL2FtLmM6MTcwNAorIzogYnVpbHRpbi9hbS5jOjE2OTMKIG1zZ2lkICJhcHBseWluZyB0byBhbiBlbXB0eSBoaXN0b3J5IgotbXNnc3RyICJhcGxpY2FudCBhIHVuYSBoaXN0w7JyaWEgYnVpZGEiCittc2dzdHIgInMnZXN0w6AgYXBsaWNhbnQgYSB1bmEgaGlzdMOycmlhIGJ1aWRhIgogCi0jOiBidWlsdGluL2FtLmM6MTcxNyBidWlsdGluL2NvbW1pdC5jOjE3NTUgYnVpbHRpbi9tZXJnZS5jOjgzMAotIzogYnVpbHRpbi9tZXJnZS5jOjg1NQorIzogYnVpbHRpbi9hbS5jOjE3MDYgYnVpbHRpbi9jb21taXQuYzoxNzY5IGJ1aWx0aW4vbWVyZ2UuYzo3OTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MjMKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAicydoYSBmYWxsYXQgZW4gZXNjcml1cmUgbCdvYmplY3RlIGRlIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9hbS5jOjE3NDkgYnVpbHRpbi9hbS5jOjE3NTMKKyM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxNzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXN1bWU6ICVzIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAibm8gZXMgcG90IHJlcHJlbmRyZTogJXMgbm8gZXhpc3RlaXguIgogCi0jOiBidWlsdGluL2FtLmM6MTc2OQorIzogYnVpbHRpbi9hbS5jOjE3NTkKIG1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCiBtc2dzdHIgIiIKLSJubyBlcyBwb3Qgc2VyIGludGVyYWN0aXUgc2Vuc2UgcXVlIHN0ZGluIHNpZ3VpIGNvbm5lY3RhdCBhIHVuIHRlcm1pbmFsLiIKKyJubyBlcyBwb3Qgc2VyIGludGVyYWN0aXUgc2Vuc2UgcXVlIHN0ZGluIGVzdGlndWkgY29ubmVjdGFkYSBhIHVuIHRlcm1pbmFsLiIKIAotIzogYnVpbHRpbi9hbS5jOjE3NzQKKyM6IGJ1aWx0aW4vYW0uYzoxNzY0CiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICJFbCBjb3MgZGUgbGEgY29taXNzacOzIMOpczoiCiAKQEAgLTI2NjMsNDcgKzQzMjMsNDcgQEAKICMuIGluIHlvdXIgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaAogIy4gaW5wdXQgYXQgdGhpcyBwb2ludC4KICMuCi0jOiBidWlsdGluL2FtLmM6MTc4NAorIzogYnVpbHRpbi9hbS5jOjE3NzQKIG1zZ2lkICJBcHBseT8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbDogIgogbXNnc3RyICIiCiAiVm9sZXUgYXBsaWNhci1sbz8gW3ldZXMvW25dby9bZV1kaXRhL1t2XWlzdWFsaXR6YSBlbCBwZWRhw6cvW2FdY2NlcHRhJ2xzICIKICJ0b3RzOiAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODM0CisjOiBidWlsdGluL2FtLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAlcykiCiBtc2dzdHIgIsONbmRleCBicnV0OiBubyBlcyBwb3QgYXBsaWNhciBwZWRhw6dvcyAoYnJ1dHM6ICVzKSIKIAotIzogYnVpbHRpbi9hbS5jOjE4NjkgYnVpbHRpbi9hbS5jOjE5NDEKKyM6IGJ1aWx0aW4vYW0uYzoxODYxIGJ1aWx0aW4vYW0uYzoxOTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nOiAlLipzIgotbXNnc3RyICJBcGxpY2FudDogJS4qcyIKK21zZ3N0ciAiUydlc3TDoCBhcGxpY2FudDogJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE4ODUKKyM6IGJ1aWx0aW4vYW0uYzoxODc3CiBtc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgogbXNnc3RyICJTZW5zZSBjYW52aXMgLS0gRWwgcGVkYcOnIGphIHMnaGEgYXBsaWNhdC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODkzCisjOiBidWlsdGluL2FtLmM6MTg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJXMgJS4qcyIKIG1zZ3N0ciAiRWwgcGVkYcOnIGhhIGZhbGxhdCBhICVzICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODk5CisjOiBidWlsdGluL2FtLmM6MTg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY29weSBvZiB0aGUgcGF0Y2ggdGhhdCBmYWlsZWQgaXMgZm91bmQgaW46ICVzIgogbXNnc3RyICJMYSBjw7JwaWEgZGVsIHBlZGHDpyBxdWUgaGEgZmFsbGF0IGVzIHRyb2JhIGVuOiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE5NDQKKyM6IGJ1aWx0aW4vYW0uYzoxOTM2CiBtc2dpZCAiIgogIk5vIGNoYW5nZXMgLSBkaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnP1xuIgogIklmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBzdGFnZSwgY2hhbmNlcyBhcmUgdGhhdCBzb21ldGhpbmcgZWxzZVxuIgogImFscmVhZHkgaW50cm9kdWNlZCB0aGUgc2FtZSBjaGFuZ2VzOyB5b3UgbWlnaHQgd2FudCB0byBza2lwIHRoaXMgcGF0Y2guIgogbXNnc3RyICIiCiAiQ2FwIGNhbnZpIC0gaGV1IG9ibGlkYXQgZCd1c2FyICdnaXQgYWRkJz9cbiIKLSJTaSBubyBoaSBoYSByZXMgYSBhbGxpc3RhciwgcHJvYmFibGVtZW50IGFsZ3VuYSBhbHRyYSBjb3NhXG4iCi0iamEgaGEgaW50cm9kdcOvdCBlbHMgbWF0ZWl4b3MgY2FudmlzOyBwb3RzZXIgdm9sZXUgb21ldHJlIGFxdWVzdCBwZWRhw6cuIgorIlNpIG5vIGhpIGhhIHJlcyBhIGFsbGlzdGFyLCBwcm9iYWJsZW1lbnQgYWxndW5hIGFsdHJhIGNvc2EgamEgaGFcbiIKKyJpbnRyb2R1w690IGVscyBtYXRlaXhvcyBjYW52aXM7IHBvdHNlciB2b2xldSBvbWV0cmUgYXF1ZXN0IHBlZGHDpy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxOTUxCisjOiBidWlsdGluL2FtLmM6MTk0MwogbXNnaWQgIiIKICJZb3Ugc3RpbGwgaGF2ZSB1bm1lcmdlZCBwYXRocyBpbiB5b3VyIGluZGV4LlxuIgogIkRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/IgpAQCAtMjcxMSwxNzIgKzQzNzEsMTUzIEBACiAiRW5jYXJhIHRlbml1IGNhbWlucyBzZW5zZSBmdXNpb25hciBlbiBlbCB2b3N0cmUgw61uZGV4LlxuIgogIkhldSBvYmxpZGF0IGQndXNhciAnZ2l0IGFkZCc/IgogCi0jOiBidWlsdGluL2FtLmM6MjA1OSBidWlsdGluL2FtLmM6MjA2MyBidWlsdGluL2FtLmM6MjA3NSBidWlsdGluL3Jlc2V0LmM6MzA4CisjOiBidWlsdGluL2FtLmM6MjA1MSBidWlsdGluL2FtLmM6MjA1NSBidWlsdGluL2FtLmM6MjA2NyBidWlsdGluL3Jlc2V0LmM6MzA4CiAjOiBidWlsdGluL3Jlc2V0LmM6MzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGwnb2JqZWN0ZSAnJXMnLiIKIAotIzogYnVpbHRpbi9hbS5jOjIxMTEKKyM6IGJ1aWx0aW4vYW0uYzoyMTAzCiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgogbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBuZXRlamFyIGwnw61uZGV4IgogCi0jOiBidWlsdGluL2FtLmM6MjE0NQorIzogYnVpbHRpbi9hbS5jOjIxMzcKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKIG1zZ3N0ciAiIgogIlNlbWJsYSBxdWUgaGV1IG1vZ3V0IEhFQUQgZGVzcHLDqXMgZGUgbCfDumx0aW1hIGZhbGxhZGEgZGUgJ2FtJy5cbiIKLSJObyByZWJvYmluYW50IGEgT1JJR19IRUFEIgorIk5vIHMnZXN0w6AgcmVib2JpbmFudCBhIE9SSUdfSEVBRCIKIAotIzogYnVpbHRpbi9hbS5jOjIyMDYKKyM6IGJ1aWx0aW4vYW0uYzoyMjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIC0tcGF0Y2gtZm9ybWF0OiAlcyIKIG1zZ3N0ciAiVmFsb3Igbm8gdsOgbGlkIHBlciBhIC0tcGF0Y2gtZm9ybWF0OiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzkKLW1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD58PE1haWxkaXI+KS4uLl0iCi1tc2dzdHIgImdpdCBhbSBbPG9wY2lvbnM+XSBbKDxiw7pzdGlhPnw8ZGlyZWN0b3JpLWRlLWNvcnJldT4pLi4uXSIKKyM6IGJ1aWx0aW4vYW0uYzoyMjMzCittc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCittc2dzdHIgImdpdCBhbSBbPG9wY2lvbnM+XSBbKDxiw7pzdGlhPiB8IDxkaXJlY3RvcmktZGUtY29ycmV1PikuLi5dIgogCi0jOiBidWlsdGluL2FtLmM6MjI0MAorIzogYnVpbHRpbi9hbS5jOjIyMzQKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIG1zZ3N0ciAiZ2l0IGFtIFs8b3BjaW9ucz5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ2CisjOiBidWlsdGluL2FtLmM6MjI0MAogbXNnaWQgInJ1biBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJleGVjdXRhIGludGVyYWN0aXZhbWVudCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDgKKyM6IGJ1aWx0aW4vYW0uYzoyMjQyCiBtc2dpZCAiaGlzdG9yaWNhbCBvcHRpb24gLS0gbm8tb3AiCiBtc2dzdHIgIm9wY2nDsyBoaXN0w7JyaWNhIC0tIG5vLW9wIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MAorIzogYnVpbHRpbi9hbS5jOjIyNDQKIG1zZ2lkICJhbGxvdyBmYWxsIGJhY2sgb24gM3dheSBtZXJnaW5nIGlmIG5lZWRlZCIKIG1zZ3N0ciAicGVybWV0IHJldHJvY2VkaXIgYSB1bmEgZnVzacOzIGRlIDMgdmllcyBzaSDDqXMgbmVjZXNzYXJpIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MSBidWlsdGluL2luaXQtZGIuYzo0NzQgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NwotIzogYnVpbHRpbi9yZXBhY2suYzoxNzEKKyM6IGJ1aWx0aW4vYW0uYzoyMjQ1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MyBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU3CisjOiBidWlsdGluL3JlcGFjay5jOjE3MgogbXNnaWQgImJlIHF1aWV0IgogbXNnc3RyICJjYWxsYSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTMKKyM6IGJ1aWx0aW4vYW0uYzoyMjQ3CiBtc2dpZCAiYWRkIGEgU2lnbmVkLW9mZi1ieSBsaW5lIHRvIHRoZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiYWZlZ2VpeCB1bmEgbMOtbmlhIFNpZ25lZC1vZmYtYnkgYWwgbWlzc2F0Z2UgZGUgY29taXNzacOzIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NgorIzogYnVpbHRpbi9hbS5jOjIyNTAKIG1zZ2lkICJyZWNvZGUgaW50byB1dGY4IChkZWZhdWx0KSIKIG1zZ3N0ciAicmVjb2RpZmljYSBlbiB1dGY4IChwZXIgZGVmZWN0ZSkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU4CisjOiBidWlsdGluL2FtLmM6MjI1MgogbXNnaWQgInBhc3MgLWsgZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgInBhc3NhIGxhIGJhbmRlcmEgLWsgYWwgZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjI2MAorIzogYnVpbHRpbi9hbS5jOjIyNTQKIG1zZ2lkICJwYXNzIC1iIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJwYXNzYSBsYSBiYW5kZXJhIC1iIGFsIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjIKKyM6IGJ1aWx0aW4vYW0uYzoyMjU2CiBtc2dpZCAicGFzcyAtbSBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAicGFzc2EgbGEgYmFuZGVyYSAtbSBhbCBnaXQtbWFpbGluZm8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY0CisjOiBidWlsdGluL2FtLmM6MjI1OAogbXNnaWQgInBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBmb3IgbWJveCBmb3JtYXQiCi1tc2dzdHIgInBhc3NhIGxhIGJhbmRlcmEgLS1rZWVwLWNyIGFsIGdpdC1tYWlsc3BsaXQgcGVsIGZvcm1hdCBtYm94IgorbXNnc3RyICJwYXNzYSBsYSBiYW5kZXJhIC0ta2VlcC1jciBhbCBnaXQtbWFpbHNwbGl0IHBlciBhbCBmb3JtYXQgbWJveCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjcKKyM6IGJ1aWx0aW4vYW0uYzoyMjYxCiBtc2dpZCAiZG8gbm90IHBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBpbmRlcGVuZGVudCBvZiBhbS5rZWVwY3IiCiBtc2dzdHIgIiIKICJubyBwYXNzaXMgbGEgYmFuZGVyYSAtLWtlZXAtY3IgYWwgZ2l0LW1haWxzcGxpdCBpbmRlcGVuZGVudCBkZSBhbS5rZWVwY3IiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjcwCisjOiBidWlsdGluL2FtLmM6MjI2NAogbXNnaWQgInN0cmlwIGV2ZXJ5dGhpbmcgYmVmb3JlIGEgc2Npc3NvcnMgbGluZSIKIG1zZ3N0ciAiZGVzcHVsbGEgdG90IGFiYW5zIGQndW5hIGzDrW5pYSBkZSB0aXNzb3JlcyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzEgYnVpbHRpbi9hcHBseS5jOjQ1NDQKLW1zZ2lkICJhY3Rpb24iCi1tc2dzdHIgImFjY2nDsyIKLQotIzogYnVpbHRpbi9hbS5jOjIyNzIgYnVpbHRpbi9hbS5jOjIyNzUgYnVpbHRpbi9hbS5jOjIyNzggYnVpbHRpbi9hbS5jOjIyODEKLSM6IGJ1aWx0aW4vYW0uYzoyMjg0IGJ1aWx0aW4vYW0uYzoyMjg3IGJ1aWx0aW4vYW0uYzoyMjkwIGJ1aWx0aW4vYW0uYzoyMjkzCi0jOiBidWlsdGluL2FtLmM6MjI5OQorIzogYnVpbHRpbi9hbS5jOjIyNjYgYnVpbHRpbi9hbS5jOjIyNjkgYnVpbHRpbi9hbS5jOjIyNzIgYnVpbHRpbi9hbS5jOjIyNzUKKyM6IGJ1aWx0aW4vYW0uYzoyMjc4IGJ1aWx0aW4vYW0uYzoyMjgxIGJ1aWx0aW4vYW0uYzoyMjg0IGJ1aWx0aW4vYW0uYzoyMjg3CisjOiBidWlsdGluL2FtLmM6MjI5MwogbXNnaWQgInBhc3MgaXQgdGhyb3VnaCBnaXQtYXBwbHkiCiBtc2dzdHIgInBhc3NhLWhvIGEgdHJhdsOpcyBkZWwgZ2l0LWFwcGx5IgogCi0jOiBidWlsdGluL2FtLmM6MjI4MCBidWlsdGluL2FwcGx5LmM6NDU2OAotbXNnaWQgInJvb3QiCi1tc2dzdHIgImFycmVsIgotCi0jOiBidWlsdGluL2FtLmM6MjI4MyBidWlsdGluL2FtLmM6MjI4NiBidWlsdGluL2FwcGx5LmM6NDUwNgotIzogYnVpbHRpbi9hcHBseS5jOjQ1MDkgYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vZmV0Y2guYzo5NQotIzogYnVpbHRpbi9wdWxsLmM6MTcxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MgotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE2MCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTYzCi1tc2dpZCAicGF0aCIKLW1zZ3N0ciAiY2Ftw60iCi0KLSM6IGJ1aWx0aW4vYW0uYzoyMjg5IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjkKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNCBidWlsdGluL21lcmdlLmM6MTk4IGJ1aWx0aW4vcHVsbC5jOjEzMSBidWlsdGluL3B1bGwuYzoxODUKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc4IGJ1aWx0aW4vcmVwYWNrLmM6MTgyIGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKKyM6IGJ1aWx0aW4vYW0uYzoyMjgzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwNyBidWlsdGluL21lcmdlLmM6MjAwIGJ1aWx0aW4vcHVsbC5jOjEzNSBidWlsdGluL3B1bGwuYzoxOTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgxIGJ1aWx0aW4vcmVwYWNrLmM6MTg1IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQKICM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzUgYnVpbHRpbi90YWcuYzozNDAgcGFyc2Utb3B0aW9ucy5oOjEzMgotIzogcGFyc2Utb3B0aW9ucy5oOjEzNCBwYXJzZS1vcHRpb25zLmg6MjQ0CisjOiBwYXJzZS1vcHRpb25zLmg6MTM0IHBhcnNlLW9wdGlvbnMuaDoyNDUKIG1zZ2lkICJuIgogbXNnc3RyICJuIgogCi0jOiBidWlsdGluL2FtLmM6MjI5MiBidWlsdGluL2FwcGx5LmM6NDUxMgotbXNnaWQgIm51bSIKLW1zZ3N0ciAibsO6bWVybyIKLQotIzogYnVpbHRpbi9hbS5jOjIyOTUgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3JlcGxhY2UuYzo0MzgKKyM6IGJ1aWx0aW4vYW0uYzoyMjg5IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi9yZXBsYWNlLmM6NDM4CiAjOiBidWlsdGluL3RhZy5jOjM3MgogbXNnaWQgImZvcm1hdCIKIG1zZ3N0ciAiZm9ybWF0IgogCi0jOiBidWlsdGluL2FtLmM6MjI5NgorIzogYnVpbHRpbi9hbS5jOjIyOTAKIG1zZ2lkICJmb3JtYXQgdGhlIHBhdGNoKGVzKSBhcmUgaW4iCiBtc2dzdHIgImVsIGZvcm1hdCBlbiBlbCBxdWFsIGVzdGFuIGVscyBwZWRhw6dvcyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDIKKyM6IGJ1aWx0aW4vYW0uYzoyMjk2CiBtc2dpZCAib3ZlcnJpZGUgZXJyb3IgbWVzc2FnZSB3aGVuIHBhdGNoIGZhaWx1cmUgb2NjdXJzIgogbXNnc3RyICIiCiAicGFzc2EgcGVyIGFsdCBlbCBtaXNzYXRnZSBkJ2Vycm9yIHF1YW4gcydvY29ycmUgdW5hIGZhbGxhZGEgZW4gYXBlZGHDp2FyIgogCi0jOiBidWlsdGluL2FtLmM6MjMwNAorIzogYnVpbHRpbi9hbS5jOjIyOTgKIG1zZ2lkICJjb250aW51ZSBhcHBseWluZyBwYXRjaGVzIGFmdGVyIHJlc29sdmluZyBhIGNvbmZsaWN0IgogbXNnc3RyICJzZWd1ZWl4IGFwbGljYW50IHBlZGHDp29zIGRlc3Byw6lzIGRlIHJlc29sZHJlIHVuIGNvbmZsaWN0ZSIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDcKKyM6IGJ1aWx0aW4vYW0uYzoyMzAxCiBtc2dpZCAic3lub255bXMgZm9yIC0tY29udGludWUiCiBtc2dzdHIgInNpbsOybmltcyBkZSAtLWNvbnRpbnVlIgogCi0jOiBidWlsdGluL2FtLmM6MjMxMAorIzogYnVpbHRpbi9hbS5jOjIzMDQKIG1zZ2lkICJza2lwIHRoZSBjdXJyZW50IHBhdGNoIgogbXNnc3RyICJzYWx0YSBlbCBwZWRhw6cgYWN0dWFsIgogCi0jOiBidWlsdGluL2FtLmM6MjMxMworIzogYnVpbHRpbi9hbS5jOjIzMDcKIG1zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgogbXNnc3RyICJyZXN0YXVyYSBsYSBicmFuY2Egb3JpZ2luYWwgaSBhdm9ydGEgbCdvcGVyYWNpw7MgZCdhcGVkYcOnYW1lbnQuIgogCi0jOiBidWlsdGluL2FtLmM6MjMxNworIzogYnVpbHRpbi9hbS5jOjIzMTEKIG1zZ2lkICJsaWUgYWJvdXQgY29tbWl0dGVyIGRhdGUiCiBtc2dzdHIgIm1lbnRlaXggc29icmUgbGEgZGF0YSBkZWwgY29taXRlbnQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzE5CisjOiBidWlsdGluL2FtLmM6MjMxMwogbXNnaWQgInVzZSBjdXJyZW50IHRpbWVzdGFtcCBmb3IgYXV0aG9yIGRhdGUiCiBtc2dzdHIgInVzYSBlbCBtYXJjIGRlIHRlbXBzIGFjdHVhbCBwZXIgbGEgZGF0YSBkJ2F1dG9yIgogCi0jOiBidWlsdGluL2FtLmM6MjMyMSBidWlsdGluL2NvbW1pdC5jOjE1OTMgYnVpbHRpbi9tZXJnZS5jOjIyNQotIzogYnVpbHRpbi9wdWxsLmM6MTU5IGJ1aWx0aW4vcmV2ZXJ0LmM6OTIgYnVpbHRpbi90YWcuYzozNTUKKyM6IGJ1aWx0aW4vYW0uYzoyMzE1IGJ1aWx0aW4vY29tbWl0LmM6MTYwNSBidWlsdGluL21lcmdlLmM6MjI5CisjOiBidWlsdGluL3B1bGwuYzoxNjUgYnVpbHRpbi9yZXZlcnQuYzo5MiBidWlsdGluL3RhZy5jOjM1NQogbXNnaWQgImtleS1pZCIKIG1zZ3N0ciAiSUQgZGUgY2xhdSIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjIKKyM6IGJ1aWx0aW4vYW0uYzoyMzE2CiBtc2dpZCAiR1BHLXNpZ24gY29tbWl0cyIKLW1zZ3N0ciAiZmlybWEgbGVzIGNvbWlzc2lvbnMgYW1iIEdQRyIKK21zZ3N0ciAic2lnbmEgbGVzIGNvbWlzc2lvbnMgYW1iIEdQRyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjUKKyM6IGJ1aWx0aW4vYW0uYzoyMzE5CiBtc2dpZCAiKGludGVybmFsIHVzZSBmb3IgZ2l0LXJlYmFzZSkiCiBtc2dzdHIgIijDunMgaW50ZXJuIHBlciBhbCBnaXQtcmViYXNlKSIKIAotIzogYnVpbHRpbi9hbS5jOjIzNDAKKyM6IGJ1aWx0aW4vYW0uYzoyMzM0CiBtc2dpZCAiIgogIlRoZSAtYi8tLWJpbmFyeSBvcHRpb24gaGFzIGJlZW4gYSBuby1vcCBmb3IgbG9uZyB0aW1lLCBhbmRcbiIKICJpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSBkbyBub3QgdXNlIGl0IGFueW1vcmUuIgpAQCAtMjg4NCw1MTYgKzQ1MjUsMzggQEAKICJGYSBtb2x0IHF1ZSBsJ29wY2nDsyAtYi8tLWJpbmFyeSBubyBoYSBmZXQgcmVzLCBpXG4iCiAicydlbGltaW5hcsOgLiBTaSB1cyBwbGF1LCBubyBsJ3VzZXUgbcOpcy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzQ3CisjOiBidWlsdGluL2FtLmM6MjM0MQogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAicydoYSBmYWxsYXQgZW4gbGxlZ2lyIGwnw61uZGV4IgogCi0jOiBidWlsdGluL2FtLmM6MjM2MgorIzogYnVpbHRpbi9hbS5jOjIzNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAlcyBzdGlsbCBleGlzdHMgYnV0IG1ib3ggZ2l2ZW4uIgogbXNnc3RyICIiCiAidW4gZGlyZWN0b3JpIGRlIHJlYmFzYW1lbnQgYW50ZXJpb3IgJXMgZW5jYXJhIGV4aXN0ZWl4IHBlcsOyIHMnaGEgZG9uYXQgdW5hICIKICJiw7pzdGlhLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzODYKKyM6IGJ1aWx0aW4vYW0uYzoyMzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdHJheSAlcyBkaXJlY3RvcnkgZm91bmQuXG4iCiAiVXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZW1vdmUgaXQuIgogbXNnc3RyICIiCi0iRGlyZWN0b3JpICVzIGV4dHJhdmlhdCB0cm9iYXQuXG4iCisiUydoYSB0cm9iYXQgdW4gZGlyZWN0b3JpICVzIGV4dHJhdmlhdC5cbiIKICJVc2V1IFwiZ2l0IGFtIC0tYWJvcnRcIiBwZXIgYSBlbGltaW5hci1sby4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzkyCisjOiBidWlsdGluL2FtLmM6MjM4NgogbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCi1tc2dzdHIgIk9wZXJhY2nDsyBkZSByZXNvbHVjacOzIG5vIGVuIGN1cnM7IG5vIHJlcHJlbmVtLiIKK21zZ3N0ciAiVW5hIG9wZXJhY2nDsyBkZSByZXNvbHVjacOzIG5vIGVzdMOgIGVuIGN1cnM7IG5vIHJlcHJlbmVtLiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjU5CisjOiBidWlsdGluL2FwcGx5LmM6OAogbXNnaWQgImdpdCBhcHBseSBbPG9wdGlvbnM+XSBbPHBhdGNoPi4uLl0iCiBtc2dzdHIgImdpdCBhcHBseSBbPG9wY2lvbnM+XSBbPHBlZGHDpz4uLi5dIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MTExCi0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgotbXNnc3RyICJvcGNpw7MgZCdlc3BhaSBlbiBibGFuYyAnJXMnIG5vIHJlY29uZWd1ZGEiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxMjYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgotbXNnc3RyICJvcGNpw7MgZCdpZ25vcmFsIGQnZXNwYWkgZW4gYmxhbmMgJyVzJyBubyByZWNvbmVndWRhIgotCi0jOiBidWlsdGluL2FwcGx5LmM6ODE4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiCi1tc2dzdHIgIk5vIGVzIHBvdCBwcmVwYXJhciBsJ2V4cHJlc3Npw7MgcmVndWxhciBkZSBtYXJjYSBkZSB0ZW1wcyAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjgyNwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCi1tc2dzdHIgInJlZ2V4ZWMgaGEgcmV0b3JuYXQgJWQgcGVyIGwnZW50cmFkYTogJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5MDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCB0cm9iYXIgZWwgbm9tIGRlIGZpdHhlciBlbiBlbCBwZWRhw6cgYSBsYSBsw61uaWEgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5NDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgotbXNnc3RyICIiCi0iZ2l0IGFwcGx5OiBnaXQtZGlmZiBkb2xlbnQgLSAvZGV2L251bGwgZXNwZXJhdCwgJXMgcmVidXQgZW4gbGEgbMOtbmlhICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTQ0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgotbXNnc3RyICIiCi0iZ2l0IGFwcGx5OiBnaXQtZGlmZiBkb2xlbnQgLSBub20gZGUgZml0eGVyIG5vdSBpbmNvbnNpc3RlbnQgZW4gbGEgbMOtbmlhICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTQ1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgotbXNnc3RyICIiCi0iZ2l0IGFwcGx5OiBnaXQtZGlmZiBkb2xlbnQgLSBub20gZGUgZml0eGVyIGFudGljIGluY29uc2lzdGVudCBlbiBsYSBsw61uaWEgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5NTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwgb24gbGluZSAlZCIKLW1zZ3N0ciAiZ2l0IGFwcGx5OiBnaXQtZGlmZiBkb2xlbnQgLSAvZGV2L251bGwgZXNwZXJhdCBlbiBsYSBsw61uaWEgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNDE1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKLW1zZ3N0ciAicmVjb21wdGU6IGzDrW5pYSBpbmVzcGVyYWRhOiAlLipzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTQ3MgotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgotbXNnc3RyICJmcmFnbWVudCBkZSBwZWRhw6cgc2Vuc2UgY2Fww6dhbGVyYSBhIGxhIGzDrW5pYSAlZDogJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE0ODkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgotImNvbXBvbmVudCAobGluZSAlZCkiCi1tc2dpZF9wbHVyYWwgIiIKLSJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKLSJjb21wb25lbnRzIChsaW5lICVkKSIKLW1zZ3N0clswXSAiIgotImEgbGEgY2Fww6dhbGVyYSBkZSBnaXQgZGlmZiBsaSBtYW5jYSBpbmZvcm1hY2nDsyBkZSBub20gZGUgZml0eGVyIGVuIGVsaW1pbmFyICIKLSIlZCBjb21wb25lbnQgZGUgbm9tIGRlIGNhbcOtIGluaWNpYWwgKGzDrW5pYSAlZCkiCi1tc2dzdHJbMV0gIiIKLSJhIGxhIGNhcMOnYWxlcmEgZGUgZ2l0IGRpZmYgbGkgbWFuY2EgaW5mb3JtYWNpw7MgZGUgbm9tIGRlIGZpdHhlciBlbiBlbGltaW5hciAiCi0iJWQgY29tcG9uZW50cyBkZSBub20gZGUgY2Ftw60gaW5pY2lhbCAobMOtbmlhICVkKSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE2NTUKLW1zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKLW1zZ3N0ciAiZWwgZml0eGVyIG5vdSBkZXDDqG4gZGVscyBjb250aW5ndXRzIGFudGljcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE2NTcKLW1zZ2lkICJkZWxldGVkIGZpbGUgc3RpbGwgaGFzIGNvbnRlbnRzIgotbXNnc3RyICJlbCBmaXR4ZXIgc3VwcmltaXQgZW5jYXJhIHTDqSBjb250aW5ndXRzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY4MwotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgImVsIHBlZGHDpyDDqXMgbWFsbcOocyBhIGxhIGzDrW5pYSAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE3MTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCi1tc2dzdHIgImVsIGZpdHhlciBub3UgJXMgZGVww6huIGRlbHMgY29udGluZ3V0cyBhbnRpY3MiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNzIxCi0jLCBjLWZvcm1hdAotbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCi1tc2dzdHIgImVsIGZpdHhlciBzdXByaW1pdCAlcyBlbmNhcmEgdMOpIGNvbnRpbmd1dHMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNzI0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCi1tc2dzdHIgIioqIGF2w61zOiBlbCBmaXR4ZXIgJXMgcXVlZGEgYnVpdCBwZXLDsiBubyBzZSBzdXByaW1laXgiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxODcwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCi1tc2dzdHIgInBlZGHDpyBiaW5hcmkgbWFsbcOocyBhIGxhIGzDrW5pYSAlZDogJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE4OTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgotbXNnc3RyICJwZWRhw6cgYmluYXJpIG5vIHJlY29uZWd1dCBhIGxhIGzDrW5pYSAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjIwNTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0Y2ggd2l0aCBvbmx5IGdhcmJhZ2UgYXQgbGluZSAlZCIKLW1zZ3N0ciAicGVkYcOnIGFtYiBub23DqXMgZXNjb21icmFyaWVzIGEgbGEgbMOtbmlhICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjE0MAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzeW1saW5rICVzIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBsJ2VubGxhw6cgc2ltYsOybGljICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjE0NAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIG8gbGxlZ2lyICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mjc3NwotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHN0YXJ0IG9mIGxpbmU6ICclYyciCi1tc2dzdHIgImluaWNpIGRlIGzDrW5pYSBubyB2w6BsaWQ6ICclYyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyODk2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmUpLiIKLW1zZ2lkX3BsdXJhbCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZXMpLiIKLW1zZ3N0clswXSAiRWwgdHJvcyAjJWQgaGEgdGluZ3V0IMOoeGl0IGEgJWQgKGRlc3BsYcOnYW1lbnQgJWQgbMOtbmlhKS4iCi1tc2dzdHJbMV0gIkVsIHRyb3MgIyVkIGhhIHRpbmd1dCDDqHhpdCBhICVkIChkZXNwbGHDp2FtZW50ICVkIGzDrW5pZXMpLiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI5MDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSB0byBhcHBseSBmcmFnbWVudCBhdCAlZCIKLW1zZ3N0ciAiRWwgY29udGV4dCBzJ2hhIHJlZHXDr3QgYSAoJWxkLyVsZCkgcGVyIGEgYXBsaWNhciBlbCBmcmFnbWVudCBhICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjkxNAotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0id2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKLSIlLipzIgotbXNnc3RyICIiCi0idG90IGNlcmNhbnQ6XG4iCi0iJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI5MzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKLW1zZ3N0ciAibWFucXVlbiBsZXMgZGFkZXMgZGUgcGVkYcOnIGJpbmFyaSBkZSAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzAzNQotIywgYy1mb3JtYXQKLW1zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKLW1zZ3N0ciAiZWwgcGVkYcOnIGJpbmFyaSBubyBzJ2FwbGljYSBhICclcyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMDQxCi0jLCBjLWZvcm1hdAotbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgotbXNnc3RyICIiCi0iZWwgcGVkYcOnIGJpbmFyaSBhICclcycgY3JlYSB1biByZXN1bHRhdCBpbmNvcnJlY3RlIChlc3BlcmFudCAlcywgJXMgcmVidXQpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzA2MgotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKLW1zZ3N0ciAiZWwgcGVkYcOnIGhhIGZhbGxhdDogJXM6JWxkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzE4NgotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCi1tc2dzdHIgIm5vIGVzIHBvdCBhZ2FmYXIgJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMjMxIGJ1aWx0aW4vYXBwbHkuYzozMjQyIGJ1aWx0aW4vYXBwbHkuYzozMjg3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlYWQgb2YgJXMgZmFpbGVkIgotbXNnc3RyICJsYSBsZWN0dXJhIGRlICVzIGhhIGZhbGxhdCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMyMzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAibGxlZ2ludCBkZSAnJXMnIG3DqXMgZW5sbMOgIGQndW4gZW5sbGHDpyBzaW1iw7JsaWMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMjY3IGJ1aWx0aW4vYXBwbHkuYzozNDg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIgotbXNnc3RyICJlbCBjYW3DrSAlcyBzJ2hhIGNhbnZpYXQgZGUgbm9tIC8gcydoYSBzdXByaW1pdCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMzNDggYnVpbHRpbi9hcHBseS5jOjM1MDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgotbXNnc3RyICIlczogbm8gZXhpc3RlaXggZW4gbCfDrW5kZXgiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMzUyIGJ1aWx0aW4vYXBwbHkuYzozNDk1IGJ1aWx0aW4vYXBwbHkuYzozNTE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiAlcyIKLW1zZ3N0ciAiJXM6ICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzM1NyBidWlsdGluL2FwcGx5LmM6MzUxMQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiCi1tc2dzdHIgIiVzOiBubyBjb2luY2lkZWl4IGFtYiBsJ8OtbmRleCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM0NTkKLW1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgotbXNnc3RyICJlbCBwZWRhw6cgZCdlbGltaW5hY2nDsyBkZWl4YSBlbHMgY29udGluZ3V0cyBkZWxzIGZpdHhlcnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNTI4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgotbXNnc3RyICIlczogdGlwdXMgZXJyb25pIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzUzMAotIywgYy1mb3JtYXQKLW1zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCi1tc2dzdHIgIiVzIMOpcyBkZWwgdGlwdXMgJW8sIHMnZXNwZXJhdmEgJW8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNjg5IGJ1aWx0aW4vYXBwbHkuYzozNjkxCi0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgotbXNnc3RyICJjYW3DrSBubyB2w6BsaWQ6ICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc0NgotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgiCi1tc2dzdHIgIiVzOiBqYSBleGlzdGVpeCBlbiBsJ8OtbmRleCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgotbXNnc3RyICIlczogamEgZXhpc3RlaXggZW4gZWwgZGlyZWN0b3JpIGRlIHRyZWJhbGwiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzY5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKLW1zZ3N0ciAiZWwgbW9kZSBub3UgKCVvKSBkZSAlcyBubyBjb2luY2lkZWl4IGFtYiBlbCBtb2RlIGFudGljICglbykiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzc0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKLW1zZ3N0ciAiZWwgbW9kZSBub3UgKCVvKSBkZSAlcyBubyBjb2luY2lkZWl4IGFtYiBlbCBtb2RlIGFudGljICglbykgZGUgJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzk0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImFmZmVjdGVkIGZpbGUgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgotbXNnc3RyICJlbCBmaXR4ZXIgYWZlY3RhdCAnJXMnIMOpcyBtw6lzIGVubGzDoCBkJ3VuIGVubGxhw6cgc2ltYsOybGljIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc5OAotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCi1tc2dzdHIgIiVzOiBlbCBwZWRhw6cgbm8gcydhcGxpY2EiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozODEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgotbXNnc3RyICJDb21wcm92YW50IGVsIHBlZGHDpyAlcy4uLiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM5MDUgYnVpbHRpbi9jaGVja291dC5jOjIzMyBidWlsdGluL3Jlc2V0LmM6MTM1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCi1tc2dzdHIgIm1ha2VfY2FjaGVfZW50cnkgaGEgZmFsbGF0IHBlciBhbCBjYW3DrSAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlICVzIGZyb20gaW5kZXgiCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgZWxpbWluYXIgJXMgZGUgbCfDrW5kZXgiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDc3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKLW1zZ3N0ciAicGVkYcOnIG1hbG3DqHMgcGVyIGFsIHN1Ym3DsmR1bCAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwODEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgZmVyIHN0YXQgYWwgZml0eGVyIG5vdmFtZW50IGNyZWF0ICclcyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDg2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgotbXNnc3RyICIiCi0ibm8gcydoYSBwb2d1dCBjcmVhciB1biBtYWdhdHplbSBkZSByZWNvbHphbWVudCBwZXIgYWwgZml0eGVyIG5vdmFtZW50IGNyZWF0ICIKLSIlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwODkgYnVpbHRpbi9hcHBseS5jOjQxOTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWZlZ2lyIHVuYSBlbnRyYWRhIGRlIGNhdSBwZXIgYSAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQxMjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2xvc2luZyBmaWxlICclcyciCi1tc2dzdHIgInRhbmNhbnQgZWwgZml0eGVyICclcyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MTcxCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBmaXR4ZXIgJyVzJyBtb2RlICVvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI1OAotIywgYy1mb3JtYXQKLW1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgotbXNnc3RyICJFbCBwZWRhw6cgJXMgcydoYSBhcGxpY2F0IG5ldGFtZW50LiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQyNjYKLW1zZ2lkICJpbnRlcm5hbCBlcnJvciIKLW1zZ3N0ciAiZXJyb3IgaW50ZXJuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI2OQotIywgYy1mb3JtYXQKLW1zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCi1tc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCi1tc2dzdHJbMF0gIkFwbGljYW50IGVsIHBlZGHDpyAlJXMgYW1iICVkIHJlYnVpZyIKLW1zZ3N0clsxXSAiQXBsaWNhbnQgZWwgcGVkYcOnICUlcyBhbWIgJWQgcmVidWl0am9zIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI3OQotIywgYy1mb3JtYXQKLW1zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCi1tc2dzdHIgInRydW5jYW50IGVsIG5vbSBkZWwgZml0eGVyIC5yZWogYSAlLipzLnJlaiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQzMDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKLW1zZ3N0ciAiRWwgdHJvcyAjJWQgcydoYSBhcGxpY2F0IG5ldGFtZW50LiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQzMDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgotbXNnc3RyICJTJ2hhIHJlYnV0amF0IGVsIHRyb3MgIyVkLiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQzOTMKLW1zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQiCi1tc2dzdHIgImVudHJhZGEgbm8gcmVjb25lZ3VkYSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ0MDQKLW1zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgotbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyIGVsIGZpdHhlciBkJ8OtbmRleCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MDcKLW1zZ2lkICJkb24ndCBhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgotbXNnc3RyICJubyBhcGxpcXVpcyBlbHMgY2FudmlzIHF1ZSBjb2luY2lkZWl4aW4gYW1iIGVsIGNhbcOtIGRvbmF0IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUxMAotbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCi1tc2dzdHIgImFwbGljYSBlbHMgY2FudmlzIHF1ZSBjb2luY2lkZWl4aW4gYW1iIGVsIGNhbcOtIGRvbmF0IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUxMwotbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgotbXNnc3RyICIiCi0iZWxpbWluYSA8bm9tYnJlPiBiYXJyZXMgb2JsaXHDvGVzIGluaWNpYWxzIGRlbHMgY2FtaW5zIGRlIGRpZmVyw6huY2lhICIKLSJ0cmFkaWNpb25hbHMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTE2Ci1tc2dpZCAiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIKLW1zZ3N0ciAiaWdub3JhIGFmZWdpbWVudHMgZmV0cyBwZWwgcGVkYcOnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUxOAotbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKLW1zZ3N0ciAiIgotImVuIGxsb2MgZCdhcGxpY2FyIGVsIHBlZGHDpywgZW1ldCBsZXMgZXN0YWTDrXN0aXF1ZXMgZGUgZGlmZXLDqG5jaWEgZGUgbCdlbnRyYWRhIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyMgotbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCi1tc2dzdHIgIm1vc3RyYSBlbCBub21icmUgZGUgbMOtbmllcyBhZmVnaWRlcyBpIHN1cHJpbWlkZXMgZW4gbm90YWNpw7MgZGVjaW1hbCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjQKLW1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgotbXNnc3RyICJlbiBsbG9jIGQnYXBsaWNhciBlbCBwZWRhw6csIGVtZXQgdW4gcmVzdW0gZGUgbCdlbnRyYWRhIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyNgotbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCi1tc2dzdHIgImVuIGxsb2MgZCdhcGxpY2FyIGVsIHBlZGHDpywgdmVnZXMgc2kgZWwgcGVkYcOnIMOpcyBhcGxpY2FibGUiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTI4Ci1tc2dpZCAibWFrZSBzdXJlIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBjdXJyZW50IGluZGV4IgotbXNnc3RyICJhc3NlZ3VyYSBxdWUgZWwgcGVkYcOnIHNpZ3VpIGFwbGljYWJsZSBhIGwnw61uZGV4IGFjdHVhbCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzAKLW1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKLW1zZ3N0ciAiYXBsaWNhIHVuIHBlZGHDpyBzZW5zZSB0b2NhciBsJ2FyYnJlIGRlIHRyZWJhbGwiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTMyCi1tc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKLW1zZ3N0ciAiYWNjZXB0YSB1biBwZWRhw6cgcXVlIHRvcXVpIGZvcmEgZGUgbCfDoHJlYSBkZSB0cmViYWxsIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzNAotbXNnaWQgImFsc28gYXBwbHkgdGhlIHBhdGNoICh1c2Ugd2l0aCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgotbXNnc3RyICJhcGxpY2EgZWwgcGVkYcOnIHRhbWLDqSAodXNldSBhbWIgLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzYKLW1zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgotbXNnc3RyICJpbnRlbnRhIHVuYSBmdXNpw7MgZGUgdHJlcyB2aWVzIHNpIGVsIHBlZGHDpyBubyBzJ2FwbGljYSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzgKLW1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKLW1zZ3N0ciAiY29uc3RydWVpeCB1biDDrW5kZXggdGVtcG9yYWwgYmFzYXQgZW4gbGEgaW5mb3JtYWNpw7MgZCfDrW5kZXggaW5jcnVzdGFkYSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NDEgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OSBidWlsdGluL2xzLWZpbGVzLmM6NDI1Ci1tc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCi1tc2dzdHIgImVscyBjYW1pbnMgc2Ugc2VwYXJlbiBhbWIgZWwgY2Fyw6BjdGVyIE5VTCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NDMKLW1zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCi1tc2dzdHIgImFzc2VndXJhJ3QgcXVlIGFsbWVueXMgPG4+IGzDrW5pZXMgZGUgY29udGV4dCBjb2luY2lkZWl4aW4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQ1Ci1tc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCi1tc2dzdHIgIiIKLSJkZXRlY3RhIGxlcyBsw61uaWVzIG5vdmVzIG8gbW9kaWZpY2FkZXMgcXVlIHRpbmd1aW4gZXJyb3JzIGQnZXNwYWkgZW4gYmxhbmMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQ4IGJ1aWx0aW4vYXBwbHkuYzo0NTUxCi1tc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKLW1zZ3N0ciAiaWdub3JhIGVscyBjYW52aXMgZCdlc3BhaSBlbiBibGFuYyBlbiBjZXJjYXIgY29udGV4dCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NTQKLW1zZ2lkICJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIKLW1zZ3N0ciAiYXBsaWNhIGVsIHBlZGHDpyBhbCByZXbDqXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTU2Ci1tc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCi1tc2dzdHIgIm5vIGVzcGVyaXMgYWxtZW55cyB1bmEgbMOtbmlhIGRlIGNvbnRleHQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTU4Ci1tc2dpZCAibGVhdmUgdGhlIHJlamVjdGVkIGh1bmtzIGluIGNvcnJlc3BvbmRpbmcgKi5yZWogZmlsZXMiCi1tc2dzdHIgImRlaXhhIGVscyB0cm9zc29zIHJlYnV0amF0cyBlbiBmaXR4ZXJzICoucmVnIGNvcmVzc3BvbmRlbnRzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2MAotbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgotbXNnc3RyICJwZXJtZXQgdHJvc3NvcyBlbmNhdmFsY2FudHMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTYzCi1tc2dpZCAidG9sZXJhdGUgaW5jb3JyZWN0bHkgZGV0ZWN0ZWQgbWlzc2luZyBuZXctbGluZSBhdCB0aGUgZW5kIG9mIGZpbGUiCi1tc2dzdHIgInRvbGVyYSB1bmEgbMOtbmlhIG5vdmEgaW5jb3JyZWN0YW1lbnQgZGV0ZWN0YWRhIGFsIGZpbmFsIGRlbCBmaXR4ZXIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTY2Ci1tc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgotbXNnc3RyICJubyBjb25macOvcyBlbiBlbHMgcmVjb21wdGVzIGRlIGzDrW5pYSBlbiBsZXMgY2Fww6dhbGVyZXMgZGVscyB0cm9zc29zIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2OQotbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCi1tc2dzdHIgImFudGVwb3NhIDxhcnJlbD4gYSB0b3RzIGVscyBub21zIGRlIGZpdHhlciIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1OTEKLW1zZ2lkICItLTN3YXkgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCi1tc2dzdHIgIi0tM3dheSBmb3JhIGQndW4gZGlww7JzaXQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTk5Ci1tc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiLS1pbmRleCBmb3JhIGQndW4gZGlww7JzaXQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NjAyCi1tc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCi1tc2dzdHIgIi0tY2FjaGVkIGZvcmEgZCd1biBkaXDDsnNpdCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2MjEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2FuJ3Qgb3BlbiBwYXRjaCAnJXMnIgotbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgZWwgcGVkYcOnICclcyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NjM1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgotbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCi1tc2dzdHJbMF0gIiVkIGVycm9yIGQnZXNwYWkgZW4gYmxhbmMgb23DqHMiCi1tc2dzdHJbMV0gIiVkIGVycm9ycyBkJ2VzcGFpIGVuIGJsYW5jIG9tZXNvcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2NDEgYnVpbHRpbi9hcHBseS5jOjQ2NTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJWQgbGluZSBhZGRzIHdoaXRlc3BhY2UgZXJyb3JzLiIKLW1zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYWRkIHdoaXRlc3BhY2UgZXJyb3JzLiIKLW1zZ3N0clswXSAiJWQgbMOtbmlhIGFmZWdlaXggZXJyb3JzIGQnZXNwYWkgZW4gYmxhbmMuIgotbXNnc3RyWzFdICIlZCBsw61uaWVzIGFmZWdlaXhlbiBlcnJvcnMgZCdlc3BhaSBlbiBibGFuYy4iCi0KICM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgYXJjaGl2ZSBmaWxlICclcyciCi1tc2dzdHIgIm5vIGVzIHBvdCBjcmVhciBlbCBmaXR4ZXIgZCdhcnhpdSAnJXMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGZpdHhlciBkJ2FyeGl1ICclcyciCiAKICM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjIwCiBtc2dpZCAiY291bGQgbm90IHJlZGlyZWN0IG91dHB1dCIKQEAgLTM0NDUsMTY4ICs0NjA4LDIyMiBAQAogbXNnaWQgIjxyZXYtb3B0cz4gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICJlcyBkb2N1bWVudGVuIGxlcyA8b3BjaW9ucy1kZS1yZXZpc2nDsz4gZW4gZ2l0LXJldi1saXN0KDEpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MTc4MgorIzogYnVpbHRpbi9ibGFtZS5jOjE3ODEKIG1zZ2lkICJCbGFtaW5nIGxpbmVzIgotbXNnc3RyICJDdWxwYW50IGxlcyBsw61uaWVzIgorbXNnc3RyICJTJ2VzdGFuIGN1bHBhbnQgbGVzIGzDrW5pZXMiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTMwCisjOiBidWlsdGluL2JsYW1lLmM6MjU3NwogbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCiBtc2dzdHIgIk1vc3RyYSBsZXMgZW50cmFkZXMgZGUgY3VscGEgbWVudHJlIGxlcyB0cm9iZW0sIGluY3JlbWVudGFsbWVudCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc4CiBtc2dpZCAiU2hvdyBibGFuayBTSEEtMSBmb3IgYm91bmRhcnkgY29tbWl0cyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogIk1vc3RyYSB1biBTSEEtMSBlbiBibGFuYyBwZXIgbGVzIGNvbWlzc2lvbnMgZGUgZnJvbnRlcmEgKFBlciBkZWZlY3RlOiAiCiAiZGVzYWN0aXZhdCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTMyCisjOiBidWlsdGluL2JsYW1lLmM6MjU3OQogbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogIk5vIHRyYWN0aXMgbGVzIGNvbWlzc2lvbnMgZCdhcnJlbCBjb20gYSBsw61taXRzIChQZXIgZGVmZWN0ZTogZGVzYWN0aXZhdCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTMzCisjOiBidWlsdGluL2JsYW1lLmM6MjU4MAogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIk1vc3RyYSBsZXMgZXN0YWTDrXN0aXF1ZXMgZGUgcHJldSBkZSB0cmViYWxsIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzNAorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODEKIG1zZ2lkICJGb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIkZvcsOnYSBsJ2luZm9ybWUgZGUgcHJvZ3LDqXMiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM1CisjOiBidWlsdGluL2JsYW1lLmM6MjU4MgogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICJNb3N0cmEgbGEgcHVudHVhY2nDsyBkZSBzb3J0aWRhIGRlIGxlcyBlbnRyYWRlcyBkZSBjdWxwYSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgzCiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIk1vc3RyYSBlbCBub20gZGUgZml0eGVyIG9yaWdpbmFsIChQZXIgZGVmZWN0ZTogYXV0b23DoHRpYykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM3CisjOiBidWlsdGluL2JsYW1lLmM6MjU4NAogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiTW9zdHJhIGVsIG7Dum1lcm8gZGUgbMOtbmlhIG9yaWdpbmFsIChQZXIgZGVmZWN0ZTogZGVzYWN0aXZhdCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM4CisjOiBidWlsdGluL2JsYW1lLmM6MjU4NQogbXNnaWQgIlNob3cgaW4gYSBmb3JtYXQgZGVzaWduZWQgZm9yIG1hY2hpbmUgY29uc3VtcHRpb24iCiBtc2dzdHIgIlByZXNlbnRhIGVuIHVuIGZvcm1hdCBkaXNzZW55YXQgcGVyIGNvbnN1bXBjacOzIHBlciBtw6BxdWluYSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg2CiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICJNb3N0cmEgZWwgZm9ybWF0IGRlIHBvcmNlbGxhbmEgYW1iIGluZm9ybWFjacOzIGRlIGNvbWlzc2nDsyBwZXIgbMOtbmlhIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0MAorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODcKIG1zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAiVXNhIGVsIG1hdGVpeCBtb2RlIGRlIHNvcnRpZGEgcXVlIGdpdC1hbm5vdGF0ZSAoUGVyIGRlZmVjdGU6IGRlc2FjdGl2YXQpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0MQorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODgKIG1zZ2lkICJTaG93IHJhdyB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIk1vc3RyYSBsYSBtYXJjYSBkZSB0ZW1wcyBjcnVhIChQZXIgZGVmZWN0ZTogZGVzYWN0aXZhdCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQyCisjOiBidWlsdGluL2JsYW1lLmM6MjU4OQogbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiTW9zdHJhIGwnU0hBMSBkZSBjb21pc3Npw7MgbGxhcmcgKFBlciBkZWZlY3RlOiBkZXNhY3RpdmF0KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkwCiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiT21ldCBlbCBub20gZCdhdXRvciBpIGxhIG1hcmNhIGRlIHRlbXBzIChQZXIgZGVmZWN0ZTogZGVzYWN0aXZhdCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ0CisjOiBidWlsdGluL2JsYW1lLmM6MjU5MQogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogIk1vc3RyYSBsJ2FkcmXDp2EgZGUgY29ycmV1IGVsZWN0csOybmljIGRlIGwnYXV0b3IgZW4gbGxvYyBkZWwgbm9tIChQZXIgIgogImRlZmVjdGU6IGRlc2FjdGl2YXQpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0NQorIzogYnVpbHRpbi9ibGFtZS5jOjI1OTIKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAiSWdub3JhIGxlcyBkaWZlcsOobmNpZXMgZCdlc3BhaSBlbiBibGFuYyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk5Cittc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBpbmRlbnQtYmFzZWQgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCittc2dzdHIgIiIKKyJVc2EgdW4gaGV1csOtc3RpYyBleHBlcmltZW50YWwgYmFzYXQgZW4gc2FnbmF0IHBlciBhIG1pbGxvcmFyIGxlcyBkaWZlcsOobmNpZXMiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjAwCittc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBibGFuay1saW5lLWJhc2VkIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgorbXNnc3RyICIiCisiVXNhIHVuIGhldXLDrXN0aWMgZXhwZXJpbWVudGFsIGJhc2F0IGVuIGzDrW5pZXMgZW4gYmxhbmMgcGVyIGEgbWlsbG9yYXIgbGVzICIKKyJkaWZlcsOobmNpZXMiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjAyCiBtc2dpZCAiU3BlbmQgZXh0cmEgY3ljbGVzIHRvIGZpbmQgYmV0dGVyIG1hdGNoIgogbXNnc3RyICJHYXN0YSBjaWNsZXMgZXh0cmVzIHBlciBhIHRyb2JhciB1bmEgY29pbmNpZMOobmNpYSBtaWxsb3IiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ3CisjOiBidWlsdGluL2JsYW1lLmM6MjYwMwogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAiVXNhIGxlcyByZXZpc2lvbnMgZGUgPGZpdHhlcj4gZW4gbGxvYyBkJ2ludm9jYXIgZ2l0LXJldi1saXN0IgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0OAorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDQKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICJVc2EgZWxzIGNvbnRpbmd1dHMgZGUgPGZpdHhlcj4gY29tIGEgbGEgaW1hdGdlIGZpbmFsIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0OSBidWlsdGluL2JsYW1lLmM6MjU1MAorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDUgYnVpbHRpbi9ibGFtZS5jOjI2MDYKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAicHVudHVhY2nDsyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA1CiBtc2dpZCAiRmluZCBsaW5lIGNvcGllcyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiVHJvYmEgY8OycGllcyBkZSBsw61uaWEgZGlucyBpIGEgdHJhdsOpcyBkZWxzIGZpdHhlcnMiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUwCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNgogbXNnaWQgIkZpbmQgbGluZSBtb3ZlbWVudHMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIlRyb2JhIG1vdmltZW50cyBkZSBsw61uaWEgZGlucyBpIGEgdHJhdsOpcyBkZWxzIGZpdHhlcnMiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUxCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNwogbXNnaWQgIm4sbSIKIG1zZ3N0ciAibixtIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU1MQorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDcKIG1zZ2lkICJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAiUHJvY2Vzc2Egbm9tw6lzIGVsIHJhbmcgZGUgbMOtbmllcyBuLG0sIGNvbXB0YW50IGRlcyBkJzEiCiAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjU0Cittc2dpZCAiLS1wcm9ncmVzcyBjYW4ndCBiZSB1c2VkIHdpdGggLS1pbmNyZW1lbnRhbCBvciBwb3JjZWxhaW4gZm9ybWF0cyIKK21zZ3N0ciAiIgorIm5vIGVzIHBvdCB1c2FyIC0tcHJvZ3Jlc3MgYW1iIGVscyBmb3JtYXRzIC0taW5jcmVtZW50YWwgbyBkZSBwb3JjZWxsYW5hIgorCiAjLiBUUkFOU0xBVE9SUzogVGhpcyBzdHJpbmcgaXMgdXNlZCB0byB0ZWxsIHVzIHRoZSBtYXhpbXVtCiAjLiBkaXNwbGF5IHdpZHRoIGZvciBhIHJlbGF0aXZlIHRpbWVzdGFtcCBpbiAiZ2l0IGJsYW1lIgogIy4gb3V0cHV0LiAgRm9yIEMgbG9jYWxlLCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIsIHdoaWNoCiAjLiB0YWtlcyAyMiBwbGFjZXMsIGlzIHRoZSBsb25nZXN0IGFtb25nIHZhcmlvdXMgZm9ybXMgb2YKICMuIHJlbGF0aXZlIHRpbWVzdGFtcHMsIGJ1dCB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IKICMuIGZld2VyIGRpc3BsYXkgY29sdW1ucy4KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjQwCisjOiBidWlsdGluL2JsYW1lLmM6MjcwMAogbXNnaWQgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iCiBtc2dzdHIgImZhIDQgYW55cyBpIDExIG1lc29zIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1CisjOiBidWlsdGluL2JsYW1lLmM6Mjc4MAorbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCittc2dzdHIgIi0tY29udGVudHMgaSAtLXJldmVyc2Ugbm8gZXMganV0Z2VuIGLDqS4iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODAwCittc2dpZCAiY2Fubm90IHVzZSAtLWNvbnRlbnRzIHdpdGggZmluYWwgY29tbWl0IG9iamVjdCBuYW1lIgorbXNnc3RyICJubyBlcyBwb3QgdXNhciAtLWNvbnRlbnRzIGFtYiBlbCBub20gZCdvYmplY3RlIGRlIGxhIGNvbWlzc2nDsyBmaW5hbCIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MDUKK21zZ2lkICItLXJldmVyc2UgYW5kIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgc3BlY2lmaWVkIGxhdGVzdCBjb21taXQiCittc2dzdHIgIiIKKyItLXJldmVyc2UgaSAtLWZpcnN0LXBhcmVudC10b2dldGhlciByZXF1ZXJlaXhlbiB1bmEgw7psdGltYSBjb21pc3Npw7MgIgorImVzcGVjaWZpY2FkYSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MzIKK21zZ2lkICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgorbXNnc3RyICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IGp1bnRzIHJlcXVlcmVpeGVuIHVuIHJhbmcgZGUgbGEgY2FkZW5hIGRlIG1hcmVzICIKKyJwcmltZXJlcyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCBwYXRoICVzIGluICVzIgorbXNnc3RyICJubyBoaSBoYSB0YWwgY2Ftw60gJXMgZW4gJXMiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIGJsb2IgJXMgZm9yIHBhdGggJXMiCittc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgZWwgYmxvYiAlcyBwZXIgYWwgY2Ftw60gJXMiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODczCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmUiCittc2dpZF9wbHVyYWwgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmVzIgorbXNnc3RyWzBdICJlbCBmaXR4ZXIgJXMgdMOpIG5vbcOpcyAlbHUgbMOtbmlhIgorbXNnc3RyWzFdICJlbCBmaXR4ZXIgJXMgdMOpIG5vbcOpcyAlbHUgbMOtbmllcyIKKworIzogYnVpbHRpbi9icmFuY2guYzoyNgogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPG9wY2lvbnM+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2CisjOiBidWlsdGluL2JyYW5jaC5jOjI3CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLWxdIFstZl0gPGJyYW5jaC1uYW1lPiBbPHN0YXJ0LXBvaW50Pl0iCiBtc2dzdHIgImdpdCBicmFuY2ggWzxvcGNpb25zPl0gWy1sXSBbLWZdIDxub20tZGUtYnJhbmNhPiBbPHB1bnQtaW5pY2lhbD5dIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI3CisjOiBidWlsdGluL2JyYW5jaC5jOjI4CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXJdICgtZCB8IC1EKSA8YnJhbmNoLW5hbWU+Li4uIgogbXNnc3RyICJnaXQgYnJhbmNoIFs8b3BjaW9ucz5dIFstcl0gKC1kIHwgLUQpIDxub20tZGUtYnJhbmNhPi4uLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyOAorIzogYnVpbHRpbi9icmFuY2guYzoyOQogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gKC1tIHwgLU0pIFs8b2xkLWJyYW5jaD5dIDxuZXctYnJhbmNoPiIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPG9wY2lvbnM+XSAoLW0gfCAtTSkgWzxicmFuY2EtYW50aWdhPl0gPGJyYW5jYS1ub3ZhPiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyOQorIzogYnVpbHRpbi9icmFuY2guYzozMAogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLXBvaW50cy1hdF0iCiBtc2dzdHIgImdpdCBicmFuY2ggWzxvcGNpb25zPl0gWy1yIHwgLWFdIFstLXBvaW50cy1hdF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQyCisjOiBidWlsdGluL2JyYW5jaC5jOjE0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBoYXMgYmVlbiBtZXJnZWQgdG9cbiIKICIgICAgICAgICAnJXMnLCBidXQgbm90IHlldCBtZXJnZWQgdG8gSEVBRC4iCiBtc2dzdHIgIiIKLSJzdXByaW1pbnQgbGEgYnJhbmNhICclcycgcXVlIHMnaGEgZnVzaW9uYXQgYVxuIgotIiAgICAgICAgICclcycsIHBlcsOyIGVuY2FyYSBubyBzJ2hhIGZ1c2lvbmF0XG4iCi0iICAgICAgICAgYSBIRUFELiIKKyJzJ2VzdMOgIHN1cHJpbWludCBsYSBicmFuY2EgJyVzJyBxdWUgcydoYVxuIgorIiAgICAgICAgIGZ1c2lvbmF0IGEgJyVzJywgcGVyw7IgZW5jYXJhIG5vXG4iCisiICAgICAgICAgcydoYSBmdXNpb25hdCBhIEhFQUQuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE0NgorIzogYnVpbHRpbi9icmFuY2guYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdCBkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGlzIG5vdCB5ZXQgbWVyZ2VkIHRvXG4iCiAiICAgICAgICAgJyVzJywgZXZlbiB0aG91Z2ggaXQgaXMgbWVyZ2VkIHRvIEhFQUQuIgogbXNnc3RyICIiCi0ibm8gc3VwcmltaW50IGxhIGJyYW5jYSAnJXMnIHF1ZSBlbmNhcmEgbm8gcydoYVxuIgotIiAgICAgICAgIGZ1c2lvbmF0IGEgJyVzJywgZW5jYXJhIHF1ZSBlc3TDoFxuIgorIm5vIHMnZXN0w6Agc3VwcmltaW50IGxhIGJyYW5jYSAnJXMnIHF1ZSBlbmNhcmEgbm9cbiIKKyIgICAgICAgICBzJ2hhIGZ1c2lvbmF0IGEgJyVzJywgZW5jYXJhIHF1ZSBlc3TDoFxuIgogIiAgICAgICAgIGZ1c2lvbmFkYSBhIEhFQUQuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE2MAorIzogYnVpbHRpbi9icmFuY2guYzoxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciAnJXMnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciBsJ29iamVjdGUgZGUgY29taXNzacOzIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY0CisjOiBidWlsdGluL2JyYW5jaC5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCkBAIC0zNjE1LDM0MCArNDgzMiwzNzIgQEAKICJMYSBicmFuY2EgJyVzJyBubyBlc3TDoCB0b3RhbG1lbnQgZnVzaW9uYWRhLlxuIgogIlNpIGVzdGV1IHNlZ3VyIHF1ZSBsYSB2b2xldSBzdXByaW1pciwgZXhlY3V0ZXUgJ2dpdCBicmFuY2ggLUQgJXMnLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTc4CiBtc2dpZCAiVXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiTCdhY3R1YWxpdHphY2nDsyBkZWwgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIwNQorIzogYnVpbHRpbi9icmFuY2guYzoyMDYKIG1zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCiBtc2dzdHIgIm5vIGVzIHBvdCB1c2FyIC1hIGFtYiAtZCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjEyCiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciBIRUFEIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciBsJ29iamVjdGUgZGUgY29taXNzacOzIGRlIEhFQUQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjE5CisjOiBidWlsdGluL2JyYW5jaC5jOjIyNgogIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3QgZGVsZXRlIHRoZSBicmFuY2ggJyVzJyB3aGljaCB5b3UgYXJlIGN1cnJlbnRseSBvbi4iCi1tc2dzdHIgIk5vIGVzIHBvdCBzdXByaW1pciBsYSBicmFuY2EgJyVzJywgZW4gbGEgcXVhbCBzb3UgYWN0dWFsbWVudC4iCittc2dpZCAiQ2Fubm90IGRlbGV0ZSBicmFuY2ggJyVzJyBjaGVja2VkIG91dCBhdCAnJXMnIgorbXNnc3RyICJObyBlcyBwb3Qgc3VwcmltaXIgbGEgYnJhbmNhICclcycgYWdhZmFkYSBhICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjM1CisjOiBidWlsdGluL2JyYW5jaC5jOjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAibm8gcydoYSB0cm9iYXQgbGEgYnJhbmNhIGFtYiBzZWd1aW1lbnQgcmVtb3QgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjM2CisjOiBidWlsdGluL2JyYW5jaC5jOjI0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICJubyBzJ2hhIHRyb2JhdCBsYSBicmFuY2EgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUxCisjOiBidWlsdGluL2JyYW5jaC5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciBkZWxldGluZyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcyciCiBtc2dzdHIgIkVycm9yIGVuIHN1cHJpbWlyIGxhIGJyYW5jYSBhbWIgc2VndWltZW50IHJlbW90ICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUyCisjOiBidWlsdGluL2JyYW5jaC5jOjI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciBkZWxldGluZyBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiRXJyb3IgZW4gc3VwcmltaXIgbGEgYnJhbmNhICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjU5CisjOiBidWlsdGluL2JyYW5jaC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHJlbW90ZS10cmFja2luZyBicmFuY2ggJXMgKHdhcyAlcykuXG4iCiBtc2dzdHIgIlMnaGEgc3VwcmltaXQgbGEgYnJhbmNhIGFtYiBzZWd1aW1lbnQgcmVtb3QgJXMgKGVyYSAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYwCisjOiBidWlsdGluL2JyYW5jaC5jOjI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiUydoYSBzdXByaW1pdCBsYSBicmFuY2EgJXMgKGVyYSAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzAzCisjOiBidWlsdGluL2JyYW5jaC5jOjMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGdvbmVdIgogbXNnc3RyICJbJXM6IG5vIGhpIMOpc10iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzA4CisjOiBidWlsdGluL2JyYW5jaC5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXNdIgogbXNnc3RyICJbJXNdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMxMworIzogYnVpbHRpbi9icmFuY2guYzozMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBiZWhpbmQgJWRdIgogbXNnc3RyICJbJXM6IGRhcnJlcmUgcGVyICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIltiZWhpbmQgJWRdIgogbXNnc3RyICJbZGFycmVyZSBkZSAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE5CisjOiBidWlsdGluL2JyYW5jaC5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGFoZWFkICVkXSIKIG1zZ3N0ciAiWyVzOiBkYXZhbnQgcGVyICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlthaGVhZCAlZF0iCiBtc2dzdHIgIltkYXZhbnQgZGUgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyNAorIzogYnVpbHRpbi9icmFuY2guYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKIG1zZ3N0ciAiWyVzOiBkYXZhbnQgcGVyICVkLCBkYXJyZXJlIHBlciAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI3CisjOiBidWlsdGluL2JyYW5jaC5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIltkYXZhbnQgJWQsIGRhcnJlcmUgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjM0MAorIzogYnVpbHRpbi9icmFuY2guYzozNDkKIG1zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgogbXNnc3RyICIgKioqKiByZWZlcsOobmNpYSBubyB2w6BsaWRhICoqKioiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzY2CisjOiBidWlsdGluL2JyYW5jaC5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCi1tc2dzdHIgIihjYXAgYnJhbmNhLCByZWJhc2FudCAlcykiCittc2dzdHIgIihjYXAgYnJhbmNhLCBzJ2VzdMOgIHJlYmFzYW50ICVzKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozNjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKIG1zZ3N0ciAiKGNhcCBicmFuY2EsIGJpc2VjY2nDsyBjb21lbsOnYWRhIGVuICVzKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozNzUKKyMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCisjLiAiSEVBRCBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCisjOiBidWlsdGluL2JyYW5jaC5jOjM4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCiBtc2dzdHIgIihIRUFEIHNlcGFyYXQgYSAlcykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc4CisjLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcworIy4gIkhFQUQgZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCisjOiBidWlsdGluL2JyYW5jaC5jOjM4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIoSEVBRCBkZXRhY2hlZCBmcm9tICVzKSIKIG1zZ3N0ciAiKEhFQUQgc2VwYXJhdCBkZSAlcykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzgyCisjOiBidWlsdGluL2JyYW5jaC5jOjM5MwogbXNnaWQgIihubyBicmFuY2gpIgogbXNnc3RyICIoY2FwIGJyYW5jYSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTI0CisjOiBidWlsdGluL2JyYW5jaC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgcmViYXNlZCBhdCAlcyIKK21zZ3N0ciAiTGEgYnJhbmNhICVzIHMnZXN0w6AgcmViYXNhbnQgYSAlcyIKKworIzogYnVpbHRpbi9icmFuY2guYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIGJpc2VjdGVkIGF0ICVzIgorbXNnc3RyICJMYSBicmFuY2EgJXMgcydlc3TDoCBiaXNlY2FudCBhICVzIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU2MwogbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgogbXNnc3RyICJubyBlcyBwb3QgY2FudmlhciBlbCBub20gZGUgbGEgYnJhbmNhIGFjdHVhbCBtZW50cmUgbm8gcyfDqXMgYSBjYXAuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUzNAorIzogYnVpbHRpbi9icmFuY2guYzo1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAiTm9tIGRlIGJyYW5jYSBubyB2w6BsaWQ6ICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ5CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MAogbXNnaWQgIkJyYW5jaCByZW5hbWUgZmFpbGVkIgogbXNnc3RyICJFbCBjYW52aSBkZSBub20gZGUgYnJhbmNhIGhhIGZhbGxhdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICJTJ2hhIGNhbnZpYXQgZWwgbm9tIGRlIGxhIGJyYW5jYSBtYWxhbm9tZW5hZGEgJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgIlMnaGEgY2FudmlhdCBlbCBub20gZGUgbGEgYnJhbmNhIGEgJXMsIHBlcsOyIEhFQUQgbm8gZXN0w6AgYWN0dWFsaXR6YXQhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU2NAorIzogYnVpbHRpbi9icmFuY2guYzo2MDQKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIiIKICJMYSBicmFuY2EgZXN0w6AgY2FudmlhZGEgZGUgbm9tLCBwZXLDsiBsJ2FjdHVhbGl0emFjacOzIGRlbCBmaXR4ZXIgZGUgIgogImNvbmZpZ3VyYWNpw7MgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4NgorIzogYnVpbHRpbi9icmFuY2guYzo2MjAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHdyaXRlIGJyYW5jaCBkZXNjcmlwdGlvbiB0ZW1wbGF0ZTogJXMiCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGxhbnRpbGxhIGRlIGRlc2NyaXBjacOzIGRlIGJyYW5jYTogJXMiCittc2dpZCAiIgorIlBsZWFzZSBlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaFxuIgorIiAgJXNcbiIKKyJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBzdHJpcHBlZC5cbiIKK21zZ3N0ciAiIgorIlNpIHVzIHBsYXUsIGVkaXRldSBsYSBkZXNjcmlwY2nDsyBkZSBsYSBicmFuY2FcbiIKKyIgICVzXG4iCisiRXMgZGVzcHVsbGFyYW4gbGVzIGzDrW5pZXMgcXVlIGNvbWVuY2luIGFtYiAnJWMnLlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxNQorIzogYnVpbHRpbi9icmFuY2guYzo2NTEKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCiBtc2dzdHIgIk9wY2lvbnMgZ2Vuw6hyaXF1ZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE3CisjOiBidWlsdGluL2JyYW5jaC5jOjY1MwogbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgogbXNnc3RyICJtb3N0cmEgZWwgaGFzaCBpIGwnYXNzdW1wdGUsIGRvbmV1IGR1ZXMgdmVnYWRlcyBwZXIgbGEgYnJhbmNhIGZvbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE4CisjOiBidWlsdGluL2JyYW5jaC5jOjY1NAogbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCiBtc2dzdHIgIm9tZXQgZWxzIG1pc3NhdGdlcyBpbmZvcm1hdGl1cyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU1CiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtcHVsbCgxKSkiCiBtc2dzdHIgImNvbmZpZ3VyYSBlbCBtb2RlIGRlIHNlZ3VpbWVudCAodmVnZXUgZ2l0LXB1bGwoMSkpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMQorIzogYnVpbHRpbi9icmFuY2guYzo2NTcKIG1zZ2lkICJjaGFuZ2UgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAiY2FudmlhIGxhIGluZm9ybWFjacOzIGRlIGZvbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI1CisjOiBidWlsdGluL2JyYW5jaC5jOjY1OQorbXNnaWQgInVwc3RyZWFtIgorbXNnc3RyICJmb250IgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY1OQorbXNnaWQgImNoYW5nZSB0aGUgdXBzdHJlYW0gaW5mbyIKK21zZ3N0ciAiY2FudmlhIGxhIGluZm9ybWFjacOzIGRlIGZvbnQiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwCittc2dpZCAiVW5zZXQgdGhlIHVwc3RyZWFtIGluZm8iCittc2dzdHIgIkRlc2VzdGFibGVpeCBsYSBpbmZvcm1hY2nDsyBkZSBmb250IgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY2MQogbXNnaWQgInVzZSBjb2xvcmVkIG91dHB1dCIKIG1zZ3N0ciAidXNhIHNvcnRpZGEgY29sb3JhZGEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI2CisjOiBidWlsdGluL2JyYW5jaC5jOjY2MgogbXNnaWQgImFjdCBvbiByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgImFjdHVhIGVuIGJyYW5xdWVzIGFtYiBzZWd1aW1lbnQgcmVtb3QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI4IGJ1aWx0aW4vYnJhbmNoLmM6NjI5CisjOiBidWlsdGluL2JyYW5jaC5jOjY2NCBidWlsdGluL2JyYW5jaC5jOjY2NQogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImltcHJpbWVpeCBub23DqXMgbGVzIGJyYW5xdWVzIHF1ZSBjb250aW5ndWluIGxhIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY4CiBtc2dpZCAiU3BlY2lmaWMgZ2l0LWJyYW5jaCBhY3Rpb25zOiIKIG1zZ3N0ciAiQWNjaW9ucyBkZSBnaXQtYnJhbmNoIGVzcGVjw61maXF1ZXM6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzMworIzogYnVpbHRpbi9icmFuY2guYzo2NjkKIG1zZ2lkICJsaXN0IGJvdGggcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAibGxpc3RhIGxlcyBicmFucXVlcyBhbWIgc2VndWltZW50IHJlbW90IGkgbGVzIGxvY2FscyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjcxCiBtc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCiBtc2dzdHIgInN1cHJpbWVpeCBsYSBicmFuY2Egc2kgZXN0w6AgY29tcGxldGFtZW50IGZ1c2lvbmFkYSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjcyCiBtc2dpZCAiZGVsZXRlIGJyYW5jaCAoZXZlbiBpZiBub3QgbWVyZ2VkKSIKIG1zZ3N0ciAic3VwcmltZWl4IGxhIGJyYW5jYSAoZW5jYXJhIHF1ZSBubyBlc3RpZ3VpIGZ1c2lvbmFkYSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM3CisjOiBidWlsdGluL2JyYW5jaC5jOjY3MwogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgogbXNnc3RyICJtb3UvY2FudmlhIGRlIG5vbSB1bmEgYnJhbmNhIGkgZWwgc2V1IHJlZ2lzdHJlIGRlIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzOAorIzogYnVpbHRpbi9icmFuY2guYzo2NzQKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICJtb3UvY2FudmlhIGRlIG5vbSB1bmEgYnJhbmNhLCBlbmNhcmEgcXVlIGVsIGRlc3TDrSBleGlzdGVpeGkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM5CisjOiBidWlsdGluL2JyYW5jaC5jOjY3NQogbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgogbXNnc3RyICJsbGlzdGEgZWxzIG5vbXMgZGUgYnJhbmNhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0MAorIzogYnVpbHRpbi9icmFuY2guYzo2NzYKIG1zZ2lkICJjcmVhdGUgdGhlIGJyYW5jaCdzIHJlZmxvZyIKIG1zZ3N0ciAiY3JlYSBlbCByZWdpc3RyZSBkZSByZWZlcsOobmNpYSBkZSBsYSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQyCisjOiBidWlsdGluL2JyYW5jaC5jOjY3OAogbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgogbXNnc3RyICJlZGl0YSBsYSBkZXNjcmlwY2nDsyBkZSBsYSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQzCisjOiBidWlsdGluL2JyYW5jaC5jOjY3OQogbXNnaWQgImZvcmNlIGNyZWF0aW9uLCBtb3ZlL3JlbmFtZSwgZGVsZXRpb24iCiBtc2dzdHIgImZvcsOnYSBjcmVhY2nDsywgbW92aW1lbnQvY2FudmkgZGUgbm9tLCBzdXByZXNzacOzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0NAorIzogYnVpbHRpbi9icmFuY2guYzo2ODAKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBsZXMgYnJhbnF1ZXMgcXVlIHMnaGFuIGZ1c2lvbmF0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0NQorIzogYnVpbHRpbi9icmFuY2guYzo2ODEKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgImltcHJpbWVpeCBub23DqXMgbGVzIGJyYW5xdWVzIHF1ZSBubyBzJ2hhbiBmdXNpb25hdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjgyCiBtc2dpZCAibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJsbGlzdGEgbGVzIGJyYW5xdWVzIGVuIGNvbHVtbmVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0NyBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6MzY2CisjOiBidWlsdGluL2JyYW5jaC5jOjY4MyBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6MzY2CiBtc2dpZCAia2V5IgogbXNnc3RyICJjbGF1IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0OCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM5IGJ1aWx0aW4vdGFnLmM6MzY3CisjOiBidWlsdGluL2JyYW5jaC5jOjY4NCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM5IGJ1aWx0aW4vdGFnLmM6MzY3CiBtc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgogbXNnc3RyICJub20gZGVsIGNhbXAgZW4gZWwgcXVhbCBvcmRlbmFyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDEKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDQgYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL25vdGVzLmM6NTY3CisjOiBidWlsdGluL2JyYW5jaC5jOjY4NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDcgYnVpbHRpbi9ub3Rlcy5jOjU2NyBidWlsdGluL25vdGVzLmM6NTcwCiAjOiBidWlsdGluL3RhZy5jOjM2OQogbXNnaWQgIm9iamVjdCIKIG1zZ3N0ciAib2JqZWN0ZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njg3CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICJpbXByaW1laXggbm9tw6lzIGxlcyBicmFucXVlcyBkZSBsJ29iamVjdGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY5CisjOiBidWlsdGluL2JyYW5jaC5jOjcwNQogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJTJ2hhIGZhbGxhdCBlbiByZXNvbGRyZSBIRUFEIGNvbSBhIHJlZmVyw6huY2lhIHbDoGxpZGEuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY3MyBidWlsdGluL2Nsb25lLmM6NzA1CisjOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2Nsb25lLmM6NzA2CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQgbm8gdHJvYmF0IHNvdGEgcmVmcy9oZWFkcyEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjkzCisjOiBidWlsdGluL2JyYW5jaC5jOjcyOQogbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4gaSAtLXZlcmJvc2Ugc8OzbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwNCBidWlsdGluL2JyYW5jaC5jOjc0NgorIzogYnVpbHRpbi9icmFuY2guYzo3NDAgYnVpbHRpbi9icmFuY2guYzo3ODIKIG1zZ2lkICJicmFuY2ggbmFtZSByZXF1aXJlZCIKIG1zZ3N0ciAiY2FsIGVsIG5vbSBkZSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIyCisjOiBidWlsdGluL2JyYW5jaC5jOjc1OAogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIk5vIGVzIHBvdCBkb25hciBkZXNjcmlwY2nDsyBhIHVuIEhFQUQgc2VwYXJhdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzYzCiBtc2dpZCAiY2Fubm90IGVkaXQgZGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBicmFuY2giCiBtc2dzdHIgIm5vIGVzIHBvdCBlZGl0YXIgbGEgZGVzY3JpcGNpw7MgZGUgbcOpcyBkJ3VuYSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzM0CisjOiBidWlsdGluL2JyYW5jaC5jOjc3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBjb21taXQgb24gYnJhbmNoICclcycgeWV0LiIKLW1zZ3N0ciAiRW5jYXJhIG5vIGhpIGhhIGNvbWlzc2nDsyBlbiBsYSBicmFuY2EgJyVzJy4iCittc2dzdHIgIkVuY2FyYSBubyBoaSBoYSBjYXAgY29taXNzacOzIGVuIGxhIGJyYW5jYSAnJXMnLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKIG1zZ3N0ciAiTm8gaGkgaGEgYnJhbmNhIGFtYiBub20gJyVzJy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzUyCisjOiBidWlsdGluL2JyYW5jaC5jOjc4OAogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIGZvciBhIHJlbmFtZSBvcGVyYXRpb24iCiBtc2dzdHIgImhpIGhhIG1hc3NhIGJyYW5xdWVzIHBlciBhIHVuYSBvcGVyYWNpw7MgZGUgY2FudmkgZGUgbm9tIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc1NworIzogYnVpbHRpbi9icmFuY2guYzo3OTMKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyB0byBzZXQgbmV3IHVwc3RyZWFtIgogbXNnc3RyICJoaSBoYSBtYXNzYSBicmFucXVlcyBwZXIgYSBlc3RhYmxpciB1bmEgbm92YSBmb250IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2MQorIzogYnVpbHRpbi9icmFuY2guYzo3OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBzZXQgdXBzdHJlYW0gb2YgSEVBRCB0byAlcyB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICIiCiAibm8gcydoYSBwb2d1dCBlc3RhYmxpciBsYSBmb250IGRlIEhFQUQgY29tIGEgJXMgcXVhbiBubyBhc3NlbnlhbGEgY2FwIGJyYW5jYS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY0IGJ1aWx0aW4vYnJhbmNoLmM6Nzg2IGJ1aWx0aW4vYnJhbmNoLmM6ODA3CisjOiBidWlsdGluL2JyYW5jaC5jOjgwMCBidWlsdGluL2JyYW5jaC5jOjgyMiBidWlsdGluL2JyYW5jaC5jOjg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaCAnJXMnIgogbXNnc3RyICJubyBoaSBoYSB0YWwgYnJhbmNhICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY4CisjOiBidWlsdGluL2JyYW5jaC5jOjgwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAibGEgYnJhbmNhICclcycgbm8gZXhpc3RlaXgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzgwCisjOiBidWlsdGluL2JyYW5jaC5jOjgxNgogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICJoaSBoYSBtYXNzYSBicmFucXVlcyBwZXIgYSBkZXNlc3RhYmxpciBsYSBmb250IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc4NAorIzogYnVpbHRpbi9icmFuY2guYzo4MjAKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgdXBzdHJlYW0gb2YgSEVBRCB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICIiCiAibm8gcydoYSBwb2d1dCBkZXNlc3RhYmxpciBsYSBmb250IGRlIEhFQUQgcGVycXXDqCBubyBhc3NlbnlhbGEgY2FwIGJyYW5jYS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkwCisjOiBidWlsdGluL2JyYW5jaC5jOjgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBoYXMgbm8gdXBzdHJlYW0gaW5mb3JtYXRpb24iCiBtc2dzdHIgIkxhIGJyYW5jYSAnJXMnIG5vIHTDqSBpbmZvcm1hY2nDsyBkZSBmb250IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwNAorIzogYnVpbHRpbi9icmFuY2guYzo4NDAKIG1zZ2lkICJpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNyZWF0ZSAnSEVBRCcgbWFudWFsbHkiCiBtc2dzdHIgIm5vIHTDqSBzZW50aXQgY3JlYXIgJ0hFQUQnIG1hbnVhbG1lbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODEwCisjOiBidWlsdGluL2JyYW5jaC5jOjg0NgogbXNnaWQgIi1hIGFuZCAtciBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgbWFrZSBzZW5zZSB3aXRoIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIiIKICJsZXMgb3BjaW9ucyAtYSBpIC1yIGEgJ2dpdCBicmFuY2gnIG5vIHRlbmVuIHNlbnRpdCBhbWIgdW4gbm9tIGRlIGJyYW5jYSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgLS1zZXQtdXBzdHJlYW0gZmxhZyBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIENvbnNpZGVyIHVzaW5nIC0tIgpAQCAtMzk1Nyw3ICs1MjA2LDcgQEAKICJMYSBiYW5kZXJhIC0tc2V0LXVwc3RyZWFtIGVzdMOgIGRlc2Fwcm92YWRhIGkgcydlbGltaW5hcsOgLiBDb25zaWRlcmV1IHVzYXIgLS0iCiAidHJhY2sgbyAtLXNldC11cHN0cmVhbS10b1xuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzMAorIzogYnVpbHRpbi9icmFuY2guYzo4NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMzk2OCwxNiArNTIxNyw2IEBACiAiU2kgdm9sw61ldSBmZXIgJyVzJyBzZWd1aXIgJyVzJywgZmV1IGFpeMOyOlxuIgogIlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzMQotIywgYy1mb3JtYXQKLW1zZ2lkICIgICAgZ2l0IGJyYW5jaCAtZCAlc1xuIgotbXNnc3RyICIgICAgZ2l0IGJyYW5jaCAtZCAlc1xuIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjgzMgotIywgYy1mb3JtYXQKLW1zZ2lkICIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byAlc1xuIgotbXNnc3RyICIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byAlc1xuIgotCiAjOiBidWlsdGluL2J1bmRsZS5jOjUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG9rYXlcbiIKQEAgLTM5OTEsNjUgKzUyMzAsODIgQEAKIG1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byB1bmJ1bmRsZS4iCiBtc2dzdHIgIkNhbCB1biBkaXDDsnNpdCBwZXIgYSBkZXNmZXIgdW4gZmFyY2VsbC4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0MjgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MTMKIG1zZ2lkICIiCi0iZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdfC1zIFstLWFsbG93LXVua25vd24tdHlwZV18LWV8LXB8IgotIjx0eXBlPnwtLXRleHRjb252KSA8b2JqZWN0PiIKKyJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgorInAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCiBtc2dzdHIgIiIKLSJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV18LXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXXwtZXwtcHwiCi0iPHRpcHVzPnwtLXRleHRjb252KSA8b2JqZWN0ZT4iCisiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLSIKKyJwIHwgPHRpcHVzPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMgWy0tcGF0aD08Y2Ftw60+XSkgPG9iamVjdGU+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDI5Ci1tc2dpZCAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSIKLW1zZ3N0ciAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MTQKK21zZ2lkICIiCisiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgorImZpbHRlcnNdIgorbXNnc3RyICIiCisiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgorImZpbHRlcnNdIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDY2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTUxCiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICI8dGlwdXM+IHBvdCBzZXIgdW4gZGU6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDY3CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTUyCiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAibW9zdHJhIGVsIHRpcHVzIGRlIGwnb2JqZWN0ZSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ2OAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MwogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgIm1vc3RyYSBsYSBtaWRhIGRlIGwnb2JqZWN0ZSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3MAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NQogbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKIG1zZ3N0ciAic3VydCBhbWIgemVybyBxdWFuIG5vIGhpIGhhIGVycm9yIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDcxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU2CiBtc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImltcHJpbWVpeCBiZWxsYW1lbnQgZWwgY29udGluZ3V0IGRlIGwnb2JqZWN0ZSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1OAogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biB0ZXh0Y29udiBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJlbiBlbHMgb2JqZWN0ZXMgZGUgYmxvYiwgZXhlY3V0YSB0ZXh0Y29udiBlbiBlbCBjb250aW5ndXQgZGUgbCdvYmplY3RlIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDc1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYwCittc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIGZpbHRlcnMgb24gb2JqZWN0J3MgY29udGVudCIKK21zZ3N0ciAiIgorImVuIGVscyBvYmplY3RlcyBkZSBibG9iLCBleGVjdXRhIGVscyBmaWx0cmVzIGVuIGVsIGNvbnRpbmd1dCBkZSBsJ29iamVjdGUiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjEgZ2l0LXN1Ym1vZHVsZS5zaDo5MjMKK21zZ2lkICJibG9iIgorbXNnc3RyICJibG9iIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYyCittc2dpZCAidXNlIGEgc3BlY2lmaWMgcGF0aCBmb3IgLS10ZXh0Y29udi8tLWZpbHRlcnMiCittc2dzdHIgInVzYSB1biBjYW3DrSBlc3BlY8OsZmljIHBlciBhIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY0CiBtc2dpZCAiYWxsb3cgLXMgYW5kIC10IHRvIHdvcmsgd2l0aCBicm9rZW4vY29ycnVwdCBvYmplY3RzIgogbXNnc3RyICJwZXJtZXQgcXVlIC1zIGkgLXQgZnVuY2lvbmluIGFtYiBvYmplY3RlcyB0cmVuY2F0cy9tYWxtZXNvcyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NQogbXNnaWQgImJ1ZmZlciAtLWJhdGNoIG91dHB1dCIKIG1zZ3N0ciAicG9zYSBsYSBzb3J0aWRhIGRlIC0tYmF0Y2ggZW4gbWVtw7JyaWEgaW50ZXJtw6hkaWEiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjcKIG1zZ2lkICJzaG93IGluZm8gYW5kIGNvbnRlbnQgb2Ygb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKICJtb3N0cmEgbGEgaW5mb3JtYWNpw7MgaSBjb250aW5ndXQgZGVscyBvYmplY3RlcyByZWJ1dHMgZGUgbCdlbnRyYWRhIGVzdMOgbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0ODEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzAKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIm1vc3RyYSBpbmZvcm1hY2nDsyBzb2JyZSBlbHMgb2JqZWN0ZXMgcmVidXRzIGRlIGwnZW50cmFkYSBlc3TDoG5kYXJkIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDg0CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTczCiBtc2dpZCAiZm9sbG93IGluLXRyZWUgc3ltbGlua3MgKHVzZWQgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2spIgogbXNnc3RyICIiCiAic2VndWVpeCBlbHMgZW5sbGHDp29zIHNpbWLDsmxpY3MgZW4gbCdhcmJyZSAocyd1c2EgYW1iIC0tYmF0Y2ggbyAtLWJhdGNoLWNoZWNrKSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ4NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NQogbXNnaWQgInNob3cgYWxsIG9iamVjdHMgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2siCiBtc2dzdHIgIm1vc3RyYSB0b3RzIGVscyBvYmplY3RlcyBhbWIgLS1iYXRjaCBvIC0tYmF0Y2gtY2hlY2siCiAKQEAgLTQwNjksNyArNTMyNSw3IEBACiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgInVzYSAuZ2l0YXR0cmlidXRlcyBub23DqXMgZGVzIGRlIGwnw61uZGV4IgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIyIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NworIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKIG1zZ2lkICJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAibGxlZ2VpeCBlbHMgbm9tcyBkZSBmaXR4ZXIgZCdzdGRpbiIKIApAQCAtNDA3Nyw3ICs1MzMzLDcgQEAKIG1zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAiYWNhYmEgZWxzIHJlZ2lzdHJlcyBkJ2VudHJhZGEgaSBkZSBzb3J0aWRhIGFtYiB1biBjYXLDoGN0ZXIgTlVMIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM2IGJ1aWx0aW4vZ2MuYzozMjUKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjExMzcgYnVpbHRpbi9nYy5jOjMyNQogbXNnaWQgInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAib21ldCBlbCByZXBvcnRhdGdlIGRlIHByb2dyw6lzIgogCkBAIC00MTQ4LDcgKzU0MDQsNyBAQAogCiAjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYzCiBtc2dpZCAibm8gd2FybmluZyBmb3IgZXhpc3RpbmcgZmlsZXMgYW5kIGZpbGVzIG5vdCBpbiBpbmRleCIKLW1zZ3N0ciAiY2FwIGF2w61zIHBlciBhIGZpdHhlcnMgZXhpc3RlbnRzIGkgZml0eGVycyBubyBlbiBsJ8OtbmRleCIKK21zZ3N0ciAiY2FwIGFkdmVydMOobmNpYSBwZXIgYSBmaXR4ZXJzIGV4aXN0ZW50cyBpIGZpdHhlcnMgbm8gZW4gbCfDrW5kZXgiCiAKICM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjUKIG1zZ2lkICJkb24ndCBjaGVja291dCBuZXcgZmlsZXMiCkBAIC00MTY3LDggKzU0MjMsOSBAQAogbXNnc3RyICJlc2NyaXUgZWwgY29udGluZ3V0IGEgZml0eGVycyB0ZW1wb3JhbHMiCiAKICM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzQgYnVpbHRpbi9jb2x1bW4uYzozMAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE2NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTY5Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTcyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDY5CiBtc2dpZCAic3RyaW5nIgogbXNnc3RyICJjYWRlbmEiCiAKQEAgLTQyMTYsODIgKzU0NzMsNzggQEAKICM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGFkZCBtZXJnZSByZXN1bHQgZm9yICclcyciCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWZlZ2lyIGVsIHJlc3VsdGF0IGRlIGZ1c2nDsyBwZXIgYSAnJXMnIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFmZWdpciBlbCByZXN1bHRhdCBkZSBmdXNpw7MgcGVyIGEgJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1MSBidWlsdGluL2NoZWNrb3V0LmM6MjU0IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTcKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNTAgYnVpbHRpbi9jaGVja291dC5jOjI1MyBidWlsdGluL2NoZWNrb3V0LmM6MjU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAiJyVzJyBubyBlcyBwb3QgdXNhciBhbWIgYWN0dWFsaXR6YWNpw7MgZGUgY2FtaW5zIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjYzIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjIgYnVpbHRpbi9jaGVja291dC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiclcycgbm8gZXMgcG90IHVzYXIgYW1iICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKIG1zZ3N0ciAiIgogIk5vIGVzIHBvdCBhY3R1YWxpdHphciBlbHMgY2FtaW5zIGkgY2FudmlhciBhIGxhIGJyYW5jYSAnJXMnIGEgbGEgdmVnYWRhLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI4MCBidWlsdGluL2NoZWNrb3V0LmM6NDc0Ci1tc2dpZCAiY29ycnVwdCBpbmRleCBmaWxlIgotbXNnc3RyICJmaXR4ZXIgZCfDrW5kZXggbWFsbcOocyIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjM0MCBidWlsdGluL2NoZWNrb3V0LmM6MzQ3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzM5IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgogbXNnc3RyICJlbCBjYW3DrSAnJXMnIGVzdMOgIHNlbnNlIGZ1c2lvbmFyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NDk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDk0CiBtc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCi1tc2dzdHIgImhldSBkZSByZXNvbGRyZSBlbCB2b3N0cmUgw61uZGV4IGFjdHVhbCBwcmltZXIiCittc2dzdHIgImhldSBkZSBwcmltZXIgcmVzb2xkcmUgZWwgdm9zdHJlIMOtbmRleCBhY3R1YWwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2FuIG5vdCBkbyByZWZsb2cgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgIk5vIGVzIHBvdCBmZXIgcmVmbG9nIHBlciBhICclcyc6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjMKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAiSEVBRCBhcmEgw6lzIGEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjUgYnVpbHRpbi9jbG9uZS5jOjY1OQorIzogYnVpbHRpbi9jaGVja291dC5jOjY2NyBidWlsdGluL2Nsb25lLmM6NjYwCiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBIRUFEIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiUmVzdGFibGVpeCBsYSBicmFuY2EgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICJKYSBlbiAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlMnaGEgYWdhZmF0IGkgcmVzdGFibGVydCBsYSBicmFuY2EgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlMnaGEgYWdhZmF0IGxhIGJyYW5jYSBub3ZhICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY4MAorIzogYnVpbHRpbi9jaGVja291dC5jOjY4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJTJ2hhIGFnYWZhdCBsYSBicmFuY2EgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzMyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAuLi4gYW5kICVkIG1vcmUuXG4iCiBtc2dzdHIgIiAuLi4gaSAlZCBtw6lzLlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtNDMwNCwxNyArNTU1NywxNyBAQAogIlxuIgogIiVzXG4iCiBtc2dzdHJbMF0gIiIKLSJBdsOtczogZXN0ZXUgZGVpeGFudCBlbnJlcmUgJWQgY29taXNzacOzLCBubyBjb25uZWN0YWRhIGFcbiIKLSJjYXAgZGUgbGVzIHZvc3RyZXMgYnJhbnF1ZXM6XG4iCisiQWR2ZXJ0w6huY2lhOiBlc3RldSBkZWl4YW50IGVucmVyZSAlZCBjb21pc3Npw7MsIG5vXG4iCisiY29ubmVjdGFkYSBhIGNhcCBkZSBsZXMgdm9zdHJlcyBicmFucXVlczpcbiIKICJcbiIKICIlc1xuIgogbXNnc3RyWzFdICIiCi0iQXbDrXM6IGVzdGV1IGRlaXhhbnQgZW5yZXJlICVkIGNvbWlzc2lvbnMsIG5vIGNvbm5lY3RhZGVzIGFcbiIKLSJjYXAgZGUgbGVzIHZvc3RyZXMgYnJhbnF1ZXM6XG4iCisiQWR2ZXJ0w6huY2lhOiBlc3RldSBkZWl4YW50IGVucmVyZSAlZCBjb21pc3Npb25zLCBub1xuIgorImNvbm5lY3RhZGVzIGEgY2FwIGRlIGxlcyB2b3N0cmVzIGJyYW5xdWVzOlxuIgogIlxuIgogIiVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIGtlZXAgaXQgYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgpAQCAtNDM0MSwxNTAgKzU1OTQsMTUwIEBACiAiIGdpdCBicmFuY2ggPG5vbS1kZS1icmFuY2Etbm92YT4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5MworIzogYnVpbHRpbi9jaGVja291dC5jOjc5NAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgImVycm9yIGludGVybiBlbiBlbCBwYXNzZWlnIHBlciByZXZpc2lvbnMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTgKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAiTGEgcG9zaWNpw7MgZGUgSEVBRCBhbnRlcmlvciBlcmEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MjQgYnVpbHRpbi9jaGVja291dC5jOjEwNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MjUgYnVpbHRpbi9jaGVja291dC5jOjEwNjQKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJTb3UgZW4gdW5hIGJyYW5jYSBxdWUgZW5jYXJhIGhhIGRlIG7DoGl4ZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NjkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCi1tc2dzdHIgIm5vbcOpcyB1bmEgcmVmZXLDqG5jaWEgZXNwZXJhZGEsICVkIGRvbmFkZXMuIgorbXNnc3RyICJzJ2VzcGVyYXZhIG5vbcOpcyB1bmEgcmVmZXLDqG5jaWEsIHMnaGFuIGRvbmF0ICVkLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDkgYnVpbHRpbi93b3JrdHJlZS5jOjIxMQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTAgYnVpbHRpbi93b3JrdHJlZS5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCiBtc2dzdHIgInJlZmVyw6huY2lhIG5vIHbDoGxpZGE6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAzOAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICJsYSByZWZlcsOobmNpYSBubyDDqXMgdW4gYXJicmU6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3NworIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzgKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiZWxzIGNhbWlucyBubyBlcyBwb2RlbiB1c2FyIGFtYiBjYW52aSBkZSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4MSBidWlsdGluL2NoZWNrb3V0LmM6MTA4NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICInJXMnIG5vIGVzIHBvdCB1c2FyIGFtYiBjYW52aSBkZSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk2Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5OQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODkgYnVpbHRpbi9jaGVja291dC5jOjEwOTIgYnVpbHRpbi9jaGVja291dC5jOjEwOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICInJXMnIG5vIGVzIHBvdCB1c2FyIGFtYiAnJXMnIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNAorIzogYnVpbHRpbi9jaGVja291dC5jOjExMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0ICclcyciCiBtc2dzdHIgIk5vIGVzIHBvdCBjYW52aWFyIGxhIGJyYW5jYSBhIGxhIG5vIGNvbWlzc2nDsyAnJXMnIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNyBidWlsdGluL2NoZWNrb3V0LmM6MTEzOSBidWlsdGluL2Nsb25lLmM6ODQKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTY3IGJ1aWx0aW4vd29ya3RyZWUuYzozMTgKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQwIGJ1aWx0aW4vY2xvbmUuYzo5MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjUgYnVpbHRpbi9yZW1vdGUuYzoxNjcgYnVpbHRpbi93b3JrdHJlZS5jOjMyNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNgogbXNnaWQgImJyYW5jaCIKIG1zZ3N0ciAiYnJhbmNhIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOAorIzogYnVpbHRpbi9jaGVja291dC5jOjExMzkKIG1zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiY3JlYSBpIGFnYWZhIHVuYSBicmFuY2Egbm92YSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQxCiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAiY3JlYS9yZXN0YWJsZWl4IGkgYWdhZmEgdW5hIGJyYW5jYSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQyCiBtc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiY3JlYSB1biByZWdpc3RyZSBkZSByZWZlcsOobmNpYSBwZXIgYSBsYSBicmFuY2Egbm92YSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDIKLW1zZ2lkICJkZXRhY2ggdGhlIEhFQUQgYXQgbmFtZWQgY29tbWl0IgotbXNnc3RyICJzZXBhcmEgZWwgSEVBRCBhIGxhIGNvbWlzc2nDsyBhbm9tZW5hZGEiCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MyBidWlsdGluL3dvcmt0cmVlLmM6MzI4Cittc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgorbXNnc3RyICJzZXBhcmEgSEVBRCBhIGxhIGNvbWlzc2nDsyBhbm9tZW5hZGEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NAogbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICJlc3RhYmxlaXggbGEgaW5mb3JtYWNpw7MgZGUgZm9udCBkZSBsYSBicmFuY2Egbm92YSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2CiBtc2dpZCAibmV3LWJyYW5jaCIKIG1zZ3N0ciAiYnJhbmNhLW5vdmEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NgogbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKIG1zZ3N0ciAiYnJhbmNhIMOycmZlbmEgbm92YSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ3CiBtc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICJhZ2FmYSBsYSB2ZXJzacOzIG5vc3RyYSBkZWxzIGZpdHhlcnMgc2Vuc2UgZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OQogbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICJhZ2FmYSBsYSB2ZXJzacOzIHNldmEgZGVscyBmaXR4ZXJzIHNlbnNlIGZ1c2lvbmFyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTEKIG1zZ2lkICJmb3JjZSBjaGVja291dCAodGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zKSIKIG1zZ3N0ciAiYWdhZmEgYSBsYSBmb3LDp2EgKGRlc2NhcnRhIHF1YWxzZXZ1bGxhIG1vZGlmaWNhY2nDsyBsb2NhbCkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgogbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgogbXNnc3RyICJyZWFsaXR6YSB1bmEgZnVzacOzIGRlIDMgdmllcyBhbWIgbGEgYnJhbmNhIG5vdmEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyIGJ1aWx0aW4vbWVyZ2UuYzoyMjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUzIGJ1aWx0aW4vbWVyZ2UuYzoyMzEKIG1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCiBtc2dzdHIgImFjdHVhbGl0emEgZWxzIGZpdHhlcnMgaWdub3JhdHMgKHBlciBkZWZlY3RlKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMgYnVpbHRpbi9sb2cuYzoxMjY5IHBhcnNlLW9wdGlvbnMuaDoyNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU0IGJ1aWx0aW4vbG9nLmM6MTQ2NiBwYXJzZS1vcHRpb25zLmg6MjUxCiBtc2dpZCAic3R5bGUiCiBtc2dzdHIgImVzdGlsIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTUKIG1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgogbXNnc3RyICJlc3RpbCBkZSBjb25mbGljdGUgKGZ1c2nDsyBvIGRpZmYzKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU4CiBtc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgogbXNnc3RyICJubyBsaW1pdGlzIGxlcyBlc3BlY2lmaWNhY2lvbnMgZGUgY2Ftw60gbm9tw6lzIGEgZW50cmFkZXMgZGlzcGVyc2VzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKIG1zZ3N0ciAiZHVidGEgJ2dpdCBjaGVja291dCA8Y2FwLWJyYW5jYS1haXjDrT4nIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjIKIG1zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCiBtc2dzdHIgIm5vIGNvbXByb3ZpcyBzaSBhbHRyZSBhcmJyZSBkZSB0cmViYWxsIHTDqSBsYSByZWZlcsOobmNpYSBkb25hZGEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYyIGJ1aWx0aW4vY2xvbmUuYzo1OCBidWlsdGluL2ZldGNoLmM6MTE2Ci0jOiBidWlsdGluL21lcmdlLmM6MjI0IGJ1aWx0aW4vcHVsbC5jOjExMyBidWlsdGluL3B1c2guYzo1MjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYzIGJ1aWx0aW4vY2xvbmUuYzo2MyBidWlsdGluL2ZldGNoLmM6MTE5CisjOiBidWlsdGluL21lcmdlLmM6MjI4IGJ1aWx0aW4vcHVsbC5jOjExNyBidWlsdGluL3B1c2guYzo1MzYKICM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY4CiBtc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJmb3LDp2EgbCdpbmZvcm1lIGRlIHByb2dyw6lzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5MworIzogYnVpbHRpbi9jaGVja291dC5jOjExOTQKIG1zZ2lkICItYiwgLUIgYW5kIC0tb3JwaGFuIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiBpIC0tb3JwaGFuIHPDs24gbXV0dWFsbWVudCBleGNsdXNpdXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjEwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxMQogbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiLS10cmFjayBuZWNlc3NpdGEgdW4gbm9tIGRlIGJyYW5jYSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjE2CiBtc2dpZCAiTWlzc2luZyBicmFuY2ggbmFtZTsgdHJ5IC1iIgogbXNnc3RyICJNYW5jYSBlbCBub20gZGUgYnJhbmNhOyBwcm92ZXUgLWIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MgogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJlc3BlY2lmaWNhY2nDsyBkZSBjYW3DrSBubyB2w6BsaWRhIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLlxuIgpAQCAtNDQ5MywxMiArNTc0NiwxMiBAQAogIk5vIGVzIHBvZGVuIGFjdHVhbGl0emFyIGVscyBjYW1pbnMgaSBjYW52aWFyIGEgbGEgYnJhbmNhICclcycgYSBsYSB2ZWdhZGEuXG4iCiAiVm9sw61ldSBhZ2FmYXIgJyVzJywgbGEgcXVhbCBubyBlcyBwb3QgcmVzb2xkcmUgY29tIGEgY29taXNzacOzPyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBubyBhY2NlcHRhIHVuIHBhcsOgbWV0cmUgZGUgY2Ftw60gJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtNDUxNSw3ICs1NzY4LDcgQEAKICM6IGJ1aWx0aW4vY2xlYW4uYzoyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlc1xuIgotbXNnc3RyICJFbGltaW5hbnQgJXNcbiIKK21zZ3N0ciAiUydlc3TDoCBlbGltaW5hbnQgJXNcbiIKIAogIzogYnVpbHRpbi9jbGVhbi5jOjMwCiAjLCBjLWZvcm1hdApAQCAtNDUyNSw3ICs1Nzc4LDcgQEAKICM6IGJ1aWx0aW4vY2xlYW4uYzozMQogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyByZXBvc2l0b3J5ICVzXG4iCi1tc2dzdHIgIlNhbHRhbnQgZWwgZGlww7JzaXQgJXNcbiIKK21zZ3N0ciAiUydlc3TDoCBzYWx0YW50IGVsIGRpcMOyc2l0ICVzXG4iCiAKICM6IGJ1aWx0aW4vY2xlYW4uYzozMgogIywgYy1mb3JtYXQKQEAgLTQ1ODIsNyArNTgzNSw3IEBACiAjOiBidWlsdGluL2NsZWFuLmM6NjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgotbXNnc3RyICJBVsONUzogTm8gZXMgcG90IHRyb2JhciDDrXRlbXMgcXVlIGNvaW5jaWRlaXhpbiBhbWI6ICVzIgorbXNnc3RyICJBRFZFUlTDiE5DSUE6IE5vIGVzIHBvdCB0cm9iYXIgw610ZW1zIHF1ZSBjb2luY2lkZWl4aW4gYW1iOiAlcyIKIAogIzogYnVpbHRpbi9jbGVhbi5jOjcxMQogbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCkBAIC00NjMyLDcgKzU4ODUsNyBAQAogCiAjOiBidWlsdGluL2NsZWFuLmM6ODM4CiBtc2dpZCAiTm8gbW9yZSBmaWxlcyB0byBjbGVhbiwgZXhpdGluZy4iCi1tc2dzdHIgIk5vIGhpIGhhIG3DqXMgZml0eGVycyBhIG5ldGVqYXI7IHNvcnRpbnQuIgorbXNnc3RyICJObyBoaSBoYSBtw6lzIGZpdHhlcnMgYSBuZXRlamFyOyBzJ2VzdMOgIHNvcnRpbnQuIgogCiAjOiBidWlsdGluL2NsZWFuLmM6ODY5CiBtc2dpZCAiZG8gbm90IHByaW50IG5hbWVzIG9mIGZpbGVzIHJlbW92ZWQiCkBAIC00NjUwLDggKzU5MDMsOCBAQAogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZWxpbWluYSBkaXJlY3RvcmlzIHNlbmNlcnMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9kZXNjcmliZS5jOjQwNyBidWlsdGluL2dyZXAuYzo3MjIKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTYgYnVpbHRpbi9uYW1lLXJldi5jOjMwNyBidWlsdGluL3Nob3ctcmVmLmM6MTgyCisjOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMgYnVpbHRpbi9zaG93LXJlZi5jOjE4MgogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgInBhdHLDsyIKIApAQCAtNDY5MSwxMDMgKzU5NDQsMTI5IEBACiBtc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbPG9wY2lvbnM+XSBbLS1dIDxkaXDDsnNpdD4gWzxkaXJlY3Rvcmk+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYwCisjOiBidWlsdGluL2Nsb25lLmM6NjUKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAibm8gZmFjaXMgY2FwIGFnYWZhbWVudCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYxIGJ1aWx0aW4vY2xvbmUuYzo2MyBidWlsdGluL2luaXQtZGIuYzo0NjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NiBidWlsdGluL2Nsb25lLmM6NjggYnVpbHRpbi9pbml0LWRiLmM6NDc4CiBtc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJjcmVhIHVuIGRpcMOyc2l0IG51IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MAogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgogbXNnc3RyICJjcmVhIHVuIGRpcMOyc2l0IHJlZmxlY3RpdCAoaW1wbGljYSBiYXJlKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY3CisjOiBidWlsdGluL2Nsb25lLmM6NzIKIG1zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAicGVyIGEgY2xvbmFyIGRlcyBkJ3VuIGRpcMOyc2l0IGxvY2FsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NAogbXNnaWQgImRvbid0IHVzZSBsb2NhbCBoYXJkbGlua3MsIGFsd2F5cyBjb3B5IgogbXNnc3RyICJubyB1c2lzIGVubGxhw6dvcyBkdXJzIGxvY2Fscywgc2VtcHJlIGNvcGlhIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NgogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICJjb25maWd1cmEgY29tIGEgZGlww7JzaXQgY29tcGFydGl0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzMgYnVpbHRpbi9jbG9uZS5jOjc1CisjOiBidWlsdGluL2Nsb25lLmM6NzggYnVpbHRpbi9jbG9uZS5jOjgwCiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAiaW5pY2lhbGl0emEgZWxzIHN1Ym3DsmR1bHMgZW4gZWwgY2xvbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2IGJ1aWx0aW4vaW5pdC1kYi5jOjQ2NgorIzogYnVpbHRpbi9jbG9uZS5jOjgyCittc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgY2xvbmVkIGluIHBhcmFsbGVsIgorbXNnc3RyICJub21icmUgZGUgc3VibcOyZHVscyBjbG9uYXRzIGVuIHBhcmFswrdsZWwiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL2luaXQtZGIuYzo0NzUKIG1zZ2lkICJ0ZW1wbGF0ZS1kaXJlY3RvcnkiCiBtc2dzdHIgImRpcmVjdG9yaS1kZS1wbGFudGlsbGEiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NyBidWlsdGluL2luaXQtZGIuYzo0NjcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NCBidWlsdGluL2luaXQtZGIuYzo0NzYKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICJkaXJlY3RvcmkgZGVsIHF1YWwgbGVzIHBsYW50aWxsZXMgcyd1c2FyYW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTczCisjOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jbG9uZS5jOjg4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiZGlww7JzaXQgZGUgcmVmZXLDqG5jaWEiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MQorIzogYnVpbHRpbi9jbG9uZS5jOjkwCiBtc2dpZCAidXNlIC0tcmVmZXJlbmNlIG9ubHkgd2hpbGUgY2xvbmluZyIKIG1zZ3N0ciAidXNhIC0tcmVmZXJlbmNlIG5vbcOpcyBlbiBjbG9uYXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MiBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CisjOiBidWlsdGluL2Nsb25lLmM6OTEgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAogbXNnaWQgIm5hbWUiCiBtc2dzdHIgIm5vbSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzCisjOiBidWlsdGluL2Nsb25lLmM6OTIKIG1zZ2lkICJ1c2UgPG5hbWU+IGluc3RlYWQgb2YgJ29yaWdpbicgdG8gdHJhY2sgdXBzdHJlYW0iCiBtc2dzdHIgInVzYSA8bm9tPiBlbiBsbG9jIGRlICdvcmlnaW4nIHBlciBhIHNlZ3VpciBsYSBmb250IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NAogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCiBtc2dzdHIgImFnYWZhIDxicmFuY2E+IGVuIGxsb2MgZGVsIEhFQUQgZGVsIHJlbW90IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NgogbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCiBtc2dzdHIgImNhbcOtIGEgZ2l0LXVwbG9hZC1wYWNrIGVuIGVsIHJlbW90IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODggYnVpbHRpbi9mZXRjaC5jOjExNyBidWlsdGluL2dyZXAuYzo2NjUgYnVpbHRpbi9wdWxsLmM6MTkzCisjOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9mZXRjaC5jOjEyMCBidWlsdGluL2dyZXAuYzo2NjggYnVpbHRpbi9wdWxsLmM6MjAyCiBtc2dpZCAiZGVwdGgiCiBtc2dzdHIgInByb2Z1bmRpdGF0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OAogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKIG1zZ3N0ciAiY3JlYSB1biBjbG9uIHN1cGVyZmljaWFsIGRlIHRhbCBwcm9mdW5kaXRhdCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxCisjOiBidWlsdGluL2Nsb25lLmM6OTkgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDgKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNDIKK21zZ2lkICJ0aW1lIgorbXNnc3RyICJob3JhIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAwCittc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCittc2dzdHIgImNyZWEgdW4gY2xvbiBzdXBlcmZpY2lhbCBkZXMgZCd1bmEgaG9yYSBlc3BlY8OtZmljYSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMSBidWlsdGluL2ZldGNoLmM6MTI0Cittc2dpZCAicmV2aXNpb24iCittc2dzdHIgInJldmlzacOzIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMjUKK21zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIGJ5IGV4Y2x1ZGluZyByZXYiCittc2dzdHIgImFwcm9mdW5kZWl4IGxhIGhpc3TDsnJpYSBkJ3VuIGNsb24gc3VwZXJmaWNpYWwgZXhjbG9lbnQgdW5hIHJldmlzacOzIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTA0CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICJjbG9uYSBub23DqXMgdW5hIGJyYW5jYSwgSEVBRCBvIC0tYnJhbmNoIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9pbml0LWRiLmM6NDc1CisjOiBidWlsdGluL2Nsb25lLmM6MTA2Cittc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKK21zZ3N0ciAicXVhbHNldm9sIHN1Ym3DsmR1bCBjbG9uYXQgc2Vyw6Agc3VwZXJmaWNpYWwiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcgYnVpbHRpbi9pbml0LWRiLmM6NDg0CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICJkaXJlY3RvcmkgZGUgZ2l0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTMgYnVpbHRpbi9pbml0LWRiLmM6NDc2CisjOiBidWlsdGluL2Nsb25lLmM6MTA4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgInNlcGFyYSBlbCBkaXJlY3RvcmkgZGUgZ2l0IGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0CisjOiBidWlsdGluL2Nsb25lLmM6MTA5CiBtc2dpZCAia2V5PXZhbHVlIgogbXNnc3RyICJjbGF1PXZhbG9yIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKIG1zZ2lkICJzZXQgY29uZmlnIGluc2lkZSB0aGUgbmV3IHJlcG9zaXRvcnkiCiBtc2dzdHIgImVzdGFibGVpeCBsYSBjb25maWd1cmFjacOzIGRpbnMgZGVsIGRpcMOyc2l0IG5vdSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk2IGJ1aWx0aW4vZmV0Y2guYzoxMzEgYnVpbHRpbi9wdXNoLmM6NTM2CisjOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vZmV0Y2guYzoxNDAgYnVpbHRpbi9wdXNoLmM6NTQ3CiBtc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgInVzYSBub23DqXMgbGVzIGFkcmVjZXMgSVB2NCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4IGJ1aWx0aW4vZmV0Y2guYzoxMzMgYnVpbHRpbi9wdXNoLmM6NTM4CisjOiBidWlsdGluL2Nsb25lLmM6MTEzIGJ1aWx0aW4vZmV0Y2guYzoxNDIgYnVpbHRpbi9wdXNoLmM6NTQ5CiBtc2dpZCAidXNlIElQdjYgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgInVzYSBub23DqXMgbGVzIGFkcmVjZXMgSVB2NiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjIzOQorIzogYnVpbHRpbi9jbG9uZS5jOjI1MAogbXNnaWQgIiIKICJObyBkaXJlY3RvcnkgbmFtZSBjb3VsZCBiZSBndWVzc2VkLlxuIgogIlBsZWFzZSBzcGVjaWZ5IGEgZGlyZWN0b3J5IG9uIHRoZSBjb21tYW5kIGxpbmUiCkBAIC00Nzk1LDE5MCArNjA3NCwxODcgQEAKICJObyBzJ2hhIHBvZ3V0IGVuZGV2aW5hciBjYXAgbm9tIGRlIGRpcmVjdG9yaS5cbiIKICJTaSB1cyBwbGF1LCBlc3BlY2lmaXF1ZXUgdW4gZGlyZWN0b3JpIGVuIGxhIGzDrW5pYSBkJ29yZHJlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMwNQorIzogYnVpbHRpbi9jbG9uZS5jOjMwMwogIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKLW1zZ3N0ciAiIgotIkVuY2FyYSBubyBzZSBzdXBvcnRhIGVsIGRpcMOyc2l0IGRlIHJlZmVyw6huY2lhICclcycgY29tIGEgYWdhZmFtZW50IGVubGxhw6dhdC4iCittc2dpZCAiaW5mbzogQ291bGQgbm90IGFkZCBhbHRlcm5hdGUgZm9yICclcyc6ICVzXG4iCittc2dzdHIgImluZm86IE5vIHMnaGEgcG9ndXQgYWZlZ2lyIHVuIGFsdGVybmF0aXUgcGVyIGEgJyVzJzogJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMwNworIzogYnVpbHRpbi9jbG9uZS5jOjM3NQogIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgotbXNnc3RyICJlbCBkaXDDsnNpdCBkZSByZWZlcsOobmNpYSAnJXMnIG5vIMOpcyB1biBkaXDDsnNpdCBsb2NhbC4iCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKK21zZ3N0ciAicydoYSBmYWxsYXQgZW4gb2JyaXIgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMxMgotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCi1tc2dzdHIgImVsIGRpcMOyc2l0IGRlIHJlZmVyw6huY2lhICclcycgw6lzIHN1cGVyZmljaWFsIgotCi0jOiBidWlsdGluL2Nsb25lLmM6MzE1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKLW1zZ3N0ciAiZWwgZGlww7JzaXQgZGUgcmVmZXLDqG5jaWEgJyVzJyDDqXMgZW1wZWx0YXQiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozODAgYnVpbHRpbi9kaWZmLmM6ODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyVzJyIKLW1zZ3N0ciAicydoYSBmYWxsYXQgZW4gZmVyIHN0YXQgYSAnJXMnIgotCi0jOiBidWlsdGluL2Nsb25lLmM6MzgyCisjOiBidWlsdGluL2Nsb25lLmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGV4aXN0cyBhbmQgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICIlcyBleGlzdGVpeCBpIG5vIMOpcyBkaXJlY3RvcmkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozOTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzozOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXNcbiIKIG1zZ3N0ciAicydoYSBmYWxsYXQgZW4gZmVyIHN0YXQgYSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgInMnaGEgZmFsbGF0IGVuIGNyZWFyIGwnZW5sbGHDpyAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDIyCisjOiBidWlsdGluL2Nsb25lLmM6NDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKIG1zZ3N0ciAicydoYSBmYWxsYXQgZW4gY29waWFyIGVsIGZpdHhlciBhICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NDcgYnVpbHRpbi9jbG9uZS5jOjYzMQorIzogYnVpbHRpbi9jbG9uZS5jOjQ0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJkb25lLlxuIgogbXNnc3RyICJmZXQuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgogImFuZCByZXRyeSB0aGUgY2hlY2tvdXQgd2l0aCAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCiBtc2dzdHIgIiIKLSJMYSBjbG9uYWNpw7MgaGEgdGluZ3V0IMOoeGl0LCBwZXLDsiBsJ2FnYWZhbWVudCBoYVxuIgorIkVsIGNsb25hdGdlIGhhIHRpbmd1dCDDqHhpdCwgcGVyw7IgbCdhZ2FmYW1lbnQgaGFcbiIKICJmYWxsYXQuIFBvZGV1IGluc3BlY2Npb25hciBxdcOoIHMnaGEgYWdhZmF0IGFtYlxuIgogIidnaXQgc3RhdHVzJyBpIHRvcm5hciBhIGludGVudGFyIGwnYWdhZmFtZW50IGFtYlxuIgogIidnaXQgY2hlY2tvdXQgLWYgSEVBRCdcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjUzNgorIzogYnVpbHRpbi9jbG9uZS5jOjUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCB0cm9iYXIgbGEgYnJhbmNhIHJlbW90YSAlcyBwZXIgYSBjbG9uYXIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjI2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eS4uLiAiCi1tc2dzdHIgIlByb3ZhbnQgY29ubmVjdGl2aXRhdC4uLiAiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2MzIKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAiZWwgcmVtb3Qgbm8gaGEgZW52aWF0IHRvdHMgZWxzIG9iamVjdGVzIG5lY2Vzc2FyaXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NDcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSAlcyIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBhY3R1YWxpemFyICVzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Njk2CisjOiBidWlsdGluL2Nsb25lLmM6Njk3CiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICIiCiAiZWwgSEVBRCByZW1vdCBlcyByZWZlcmVpeCBhIHVuYSByZWZlcsOobmNpYSBxdWUgbm8gZXhpc3RlaXg7IG5vIHMnaGEgcG9ndXQgIgogImFnYWZhci5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyNworIzogYnVpbHRpbi9jbG9uZS5jOjcyOAogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWdhZmFyIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc1MworIzogYnVpbHRpbi9jbG9uZS5jOjc2OAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxlcyBwYXLDoG1ldHJlcyBhbCBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbHMgcGFyw6BtZXRyZXMgYWwgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MzEKIG1zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgogbXNnc3RyICJubyBlcyBwb3QgcmVlbXBhcXVldGFyIHBlciBhIG5ldGVqYXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MzMKIG1zZ2lkICJjYW5ub3QgdW5saW5rIHRlbXBvcmFyeSBhbHRlcm5hdGVzIGZpbGUiCiBtc2dzdHIgIm5vIGVzIHBvdCBkZXNlbmxsYcOnYXIgZWwgZml0eGVyIGQnYWx0ZXJuYXRpdmVzIHRlbXBvcmFsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODUwCisjOiBidWlsdGluL2Nsb25lLmM6ODY2IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIkhpIGhhIG1hc3NhIHBhcsOgbWV0cmVzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg1NAorIzogYnVpbHRpbi9jbG9uZS5jOjg3MAogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAiSGV1IGQnZXNwZWNpZmljYXIgdW4gZGlww7JzaXQgcGVyIGEgY2xvbmFyLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2NQorIzogYnVpbHRpbi9jbG9uZS5jOjg4MwogIywgYy1mb3JtYXQKIG1zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgImxlcyBvcGNpb25zIC0tYmFyZSBpIC0tb3JpZ2luICVzIHPDs24gaW5jb21wYXRpYmxlcy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4ODYKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiLS1iYXJlIGkgLS1zZXBhcmF0ZS1naXQtZGlyIHPDs24gaW5jb21wYXRpYmxlcy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4ODEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJlbCBkaXDDsnNpdCAnJXMnIG5vIGV4aXN0ZWl4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODg3IGJ1aWx0aW4vZmV0Y2guYzoxMTc0CisjOiBidWlsdGluL2Nsb25lLmM6OTA1IGJ1aWx0aW4vZmV0Y2guYzoxMzM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKIG1zZ3N0ciAibGEgcHJvZnVuZGl0YXQgJXMgbm8gw6lzIG5vbWJyZSBwb3NpdGl1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODk3CisjOiBidWlsdGluL2Nsb25lLmM6OTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgImVsIGNhbcOtIGRlc3TDrSAnJXMnIGphIGV4aXN0ZWl4IGkgbm8gw6lzIHVuIGRpcmVjdG9yaSBidWl0LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkwNworIzogYnVpbHRpbi9jbG9uZS5jOjkyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgImwnYXJicmUgZGUgdHJlYmFsbCAnJXMnIGphIGV4aXN0ZWl4LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyMiBidWlsdGluL2Nsb25lLmM6OTMzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTgKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMTkgYnVpbHRpbi93b3JrdHJlZS5jOjI0NgorIzogYnVpbHRpbi9jbG9uZS5jOjk0MCBidWlsdGluL2Nsb25lLmM6OTUxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjIgYnVpbHRpbi93b3JrdHJlZS5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBjcmVhciBlbHMgZGlyZWN0b3JpcyBpbmljaWFscyBkZSAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTI1CisjOiBidWlsdGluL2Nsb25lLmM6OTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgd29yayB0cmVlIGRpciAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGRpcmVjdG9yaSBkJ2FyYnJlIGRlIHRyZWJhbGwgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0MworIzogYnVpbHRpbi9jbG9uZS5jOjk1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKLW1zZ3N0ciAiQ2xvbmFudCBhbCBkaXDDsnNpdCBudSAnJXMnLi4uXG4iCittc2dzdHIgIlMnZXN0w6AgY2xvbmFudCBhbCBkaXDDsnNpdCBudSAnJXMnLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NDUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKLW1zZ3N0ciAiQ2xvbmFudCBhICclcycuLi5cbiIKK21zZ3N0ciAiUydlc3TDoCBjbG9uYW50IGEgJyVzJy4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTg0CisjOiBidWlsdGluL2Nsb25lLmM6OTYzCittc2dpZCAiIgorImNsb25lIC0tcmVjdXJzaXZlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYm90aCAtLXJlZmVyZW5jZSBhbmQgLS1yZWZlcmVuY2UtaWYtIgorImFibGUiCittc2dzdHIgIiIKKyJjbG9uZSAtLXJlY3Vyc2l2ZSBubyDDqXMgY29tcGF0aWJsZSBhbWIgYW1iZMOycyAtLXJlZmVyZW5jZSBpIC0tcmVmZXJlbmNlLWlmLSIKKyJhYmxlIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAxOQogbXNnaWQgIi0tZGVwdGggaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICItLWRlcHRoIHMnaWdub3JhIGVuIGVscyBjbG9ucyBsb2NhbHM7IHVzZXUgZmlsZTovLyBlbiBsbG9jIGQnYWl4w7IuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTg3Ci1tc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKLW1zZ3N0ciAiZWwgZGlww7JzaXQgZm9udCDDqXMgc3VwZXJmaWNpYWwsIGlnbm9yYW50IC0tbG9jYWwiCisjOiBidWlsdGluL2Nsb25lLmM6MTAyMQorbXNnaWQgIi0tc2hhbGxvdy1zaW5jZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCittc2dzdHIgIiIKKyItLXNoYWxsb3ctc2luY2UgcydpZ25vcmEgZW4gZWxzIGNsb25zIGxvY2FsczsgdXNldSBmaWxlOi8vIGVuIGxsb2MgZCdhaXjDsi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIzCittc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICIiCisiLS1zaGFsbG93LWV4Y2x1ZGUgcydpZ25vcmEgZW4gZWxzIGNsb25zIGxvY2FsczsgdXNldSBmaWxlOi8vIGVuIGxsb2MgZCdhaXjDsi4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDI2Cittc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKK21zZ3N0ciAiZWwgZGlww7JzaXQgZm9udCDDqXMgc3VwZXJmaWNpYWwsIHMnZXN0w6AgaWdub3JhbnQgLS1sb2NhbCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMzEKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgIi0tbG9jYWwgcydpZ25vcmEiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIgogbXNnc3RyICJObyBzZSBzYXAgY29tIGNsb25hciAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNDUgYnVpbHRpbi9jbG9uZS5jOjEwNTMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkwIGJ1aWx0aW4vY2xvbmUuYzoxMDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICJMYSBicmFuY2EgcmVtb3RhICVzIG5vIGVzIHRyb2JhIGVuIGxhIGZvbnQgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDU2CisjOiBidWlsdGluL2Nsb25lLmM6MTEwMQogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIlNlbWJsYSBxdWUgaGV1IGNsb25hdCB1biBkaXDDsnNpdCBidWl0LiIKIApAQCAtNTEyMCw2NiArNjM5Niw2NiBAQAogIkxsYXZvcnMgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHJlcHJlbmRyw6AgcmVjb2xsaW50XG4iCiAiY29tIGEgY2lyZXJlcyBsZXMgY29taXNzaW9ucyByZXN0YW50cy5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzE4CiBtc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgogbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBkZXNlbXBhcXVldGFyIGwnb2JqZWN0ZSBkJ2FyYnJlIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzQ2CisjOiBidWlsdGluL2NvbW1pdC5jOjM1OQogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIHVuIMOtbmRleCB0ZW1wb3JhbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzY1CiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAibCdhZmVnaW1lbnQgaW50ZXJhY3RpdSBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY1CisjOiBidWlsdGluL2NvbW1pdC5jOjM3OAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyIGwnw61uZGV4IHRlbXBvcmFsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM2NworIzogYnVpbHRpbi9jb21taXQuYzozODAKIG1zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIG1haW4gY2FjaGUgdHJlZSIKIG1zZ3N0ciAiUydoYSBmYWxsYXQgZW4gYWN0dWFsaXR6YXIgbCdhcmJyZSBwcmluY2lwYWwgZGUgbWVtw7JyaWEgY2F1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM5MSBidWlsdGluL2NvbW1pdC5jOjQxNCBidWlsdGluL2NvbW1pdC5jOjQ2MworIzogYnVpbHRpbi9jb21taXQuYzo0MDQgYnVpbHRpbi9jb21taXQuYzo0MjcgYnVpbHRpbi9jb21taXQuYzo0NzYKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWwgZml0eGVyIG5ld19pbmRleCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDU4CiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICJubyBlcyBwb3QgZmVyIHVuYSBjb21pc3Npw7MgcGFyY2lhbCBkdXJhbnQgdW5hIGZ1c2nDsy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDQ3CisjOiBidWlsdGluL2NvbW1pdC5jOjQ2MAogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAibm8gZXMgcG90IGZlciB1bmEgY29taXNzacOzIHBhcmNpYWwgZHVyYW50IHVuIHJlY3VsbCBkZSBjaXJlcmVzLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDY5CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyIGwnw61uZGV4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ3NQorIzogYnVpbHRpbi9jb21taXQuYzo0ODgKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgdW4gZml0eGVyIGQnw61uZGV4IHRlbXBvcmFsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU4MAorIzogYnVpbHRpbi9jb21taXQuYzo1ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICclcycgbGFja3MgYXV0aG9yIGhlYWRlciIKIG1zZ3N0ciAiYSBsYSBjb21pc3Npw7MgJyVzJyBsaSBtYW5jYSBsYSBjYXDDp2FsZXJhIGQnYXV0b3IiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTgyCisjOiBidWlsdGluL2NvbW1pdC5jOjU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBoYXMgbWFsZm9ybWVkIGF1dGhvciBsaW5lIgogbXNnc3RyICJsYSBjb21pc3Npw7MgJyVzJyB0w6kgdW5hIGzDrW5pYSBkJ2F1dG9yIG1hbCBmb3JtYWRhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYwMQorIzogYnVpbHRpbi9jb21taXQuYzo2MDMKIG1zZ2lkICJtYWxmb3JtZWQgLS1hdXRob3IgcGFyYW1ldGVyIgogbXNnc3RyICJwYXLDoG1ldHJlIC0tYXV0aG9yIG1hbCBmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjA5CisjOiBidWlsdGluL2NvbW1pdC5jOjYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0OiAlcyIKIG1zZ3N0ciAiZm9ybWF0IGRlIGRhdGEgbm8gdsOgbGlkOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjU1CiBtc2dpZCAiIgogInVuYWJsZSB0byBzZWxlY3QgYSBjb21tZW50IGNoYXJhY3RlciB0aGF0IGlzIG5vdCB1c2VkXG4iCiAiaW4gdGhlIGN1cnJlbnQgY29tbWl0IG1lc3NhZ2UiCkBAIC01MTg3LDM4ICs2NDYzLDM4IEBACiAibm8gZXMgcG90IHNlbGVjY2lvbmFyIHVuIGNhcsOgY3RlciBkZSBjb21lbnRhcmkgcXVlXG4iCiAibm8gc2lndWkgdXNhdCBlbiBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MgYWN0dWFsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5MCBidWlsdGluL2NvbW1pdC5jOjcyMyBidWlsdGluL2NvbW1pdC5jOjEwODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjkyIGJ1aWx0aW4vY29tbWl0LmM6NzI1IGJ1aWx0aW4vY29tbWl0LmM6MTA5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCB0cm9iYXIgbGEgY29taXNzacOzICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwMiBidWlsdGluL3Nob3J0bG9nLmM6Mjg1CisjOiBidWlsdGluL2NvbW1pdC5jOjcwNCBidWlsdGluL3Nob3J0bG9nLmM6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCi1tc2dzdHIgIihsbGVnaW50IGVsIG1pc3NhdGdlIGRlIHJlZ2lzdHJlIGRlcyBkZSBsJ2VudHJhZGEgZXN0w6BuZGFyZClcbiIKK21zZ3N0ciAiKHMnZXN0w6AgbGxlZ2ludCBlbCBtaXNzYXRnZSBkZSByZWdpc3RyZSBkZXMgZGUgbCdlbnRyYWRhIGVzdMOgbmRhcmQpXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA0CisjOiBidWlsdGluL2NvbW1pdC5jOjcwNgogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCByZWdpc3RyZSBkZXMgZGUgbCdlbnRyYWRhIGVzdMOgbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA4CisjOiBidWlsdGluL2NvbW1pdC5jOjcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBmaXR4ZXIgZGUgcmVnaXN0cmUgJyVzJyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzAKLW1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIE1FUkdFX01TRyIKLQotIzogYnVpbHRpbi9jb21taXQuYzo3MzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzM3IGJ1aWx0aW4vY29tbWl0LmM6NzQ1CiBtc2dpZCAiY291bGQgbm90IHJlYWQgU1FVQVNIX01TRyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgU1FVQVNIX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3ODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzQyCittc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTVNHIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBNRVJHRV9NU0ciCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Nzk2CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwbGFudGlsbGEgZGUgY29taXNzacOzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgwMworIzogYnVpbHRpbi9jb21taXQuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNTIzMyw3ICs2NTA5LDcgQEAKICJcdCVzXG4iCiAiaSBpbnRlbnRldS1obyBkZSBub3UuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODA4CisjOiBidWlsdGluL2NvbW1pdC5jOjgxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC01MjQ0LDExICs2NTIwLDExIEBACiBtc2dzdHIgIiIKICJcbiIKICJTZW1ibGEgcXVlIHBvZGV1IGVzdGFyIGNvbWV0ZW50IHVuIHJlY3VsbCBkZSBjaXJlcmVzLlxuIgotIlNpIGFpeMOyIG5vIMOpcyBjb3JyZWN0ZSwgc2kgdXMgcGxhdSBlbGltaW5ldSBlbCBmaXR4ZXJcbiIKKyJTaSBhaXjDsiBubyDDqXMgY29ycmVjdGUsIHNpIHVzIHBsYXUsIGVsaW1pbmV1IGVsIGZpdHhlclxuIgogIlx0JXNcbiIKICJpIGludGVudGV1LWhvIGRlIG5vdS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC01MjU4LDcgKzY1MzQsNyBAQAogIlMnaWdub3JhcmFuIGxlcyBsw61uaWVzIGNvbWVuw6dhbnQgYW1iICclYycsIGkgdW4gbWlzc2F0Z2UgZGVcbiIKICJjb21pc3Npw7MgYnVpdCBhdm9ydGEgbGEgY29taXNzacOzLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgyOAorIzogYnVpbHRpbi9jb21taXQuYzo4MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTUyNjksMTQ5ICs2NTQ1LDE1NCBAQAogIkVzIHJldGluZHJhbiBsZXMgbMOtbmllcyBjb21lbsOnYW50cyBhbWIgJyVjJzsgcG9kZXUgZWxpbWluYXItbGVzIHBlciB2w7NzXG4iCiAibWF0ZWl4IHNpIHZvbGV1LiBVbiBtaXNzYXRnZSBidWl0IGF2b3J0YSBsYSBjb21pc3Npw7MuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0F1dGhvcjogICAgJS4qcyA8JS4qcz4iCiBtc2dzdHIgIiVzQXV0b3I6ICAgICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg1NgorIzogYnVpbHRpbi9jb21taXQuYzo4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNEYXRlOiAgICAgICVzIgogbXNnc3RyICIlc0RhdGE6ICAgICAgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODYzCisjOiBidWlsdGluL2NvbW1pdC5jOjg3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0NvbW1pdHRlcjogJS4qcyA8JS4qcz4iCiBtc2dzdHIgIiVzQ29taXRlbnQ6ICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg4MQorIzogYnVpbHRpbi9jb21taXQuYzo4OTIKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAiTm8gZXMgcG90IGxsZWdpciBsJ8OtbmRleCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5MzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTU0CiBtc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIkVycm9yIGVuIGNvbnN0cnVpciBhcmJyZXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTUzIGJ1aWx0aW4vdGFnLmM6MjY2CisjOiBidWlsdGluL2NvbW1pdC5jOjk2OSBidWlsdGluL3RhZy5jOjI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIlNpIHVzIHBsYXUsIHByb3Zlw691IGVsIG1pc3NhdGdlIHBlciB1c2FyIG8gbCdvcGNpw7MgLW0gbyBsJ29wY2nDsyAtRi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEwNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1hdXRob3IgJyVzJyBpcyBub3QgJ05hbWUgPGVtYWlsPicgYW5kIG1hdGNoZXMgbm8gZXhpc3RpbmcgYXV0aG9yIgogbXNnc3RyICIiCiAiLS1hdXRob3IgJyVzJyBubyDDqXMgJ05vbSA8YWRyZcOnYS1kZS1jb3JyZXUtZWxlY3Ryw7JuaWM+JyBpIG5vIGNvaW5jaWRlaXggYW1iXG4iCiAiY2FwIGF1dG9yIGV4aXN0ZW50IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNzAgYnVpbHRpbi9jb21taXQuYzoxMzEwCisjOiBidWlsdGluL2NvbW1pdC5jOjEwODYgYnVpbHRpbi9jb21taXQuYzoxMzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiTW9kZSBkZSBmaXR4ZXJzIG5vIHNlZ3VpdHMgbm8gdsOgbGlkICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEwNworIzogYnVpbHRpbi9jb21taXQuYzoxMTI0CiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWxvbmcgaSAteiBzw7NuIGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEzNworIzogYnVpbHRpbi9jb21taXQuYzoxMTU0CiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiVXNhciBhbWJkw7NzIC0tcmVzZXQtYXV0aG9yIGkgLS1hdXRob3Igbm8gdMOpIHNlbnRpdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTQ2CisjOiBidWlsdGluL2NvbW1pdC5jOjExNjMKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKIG1zZ3N0ciAiTm8gdGVuaXUgcmVzIGEgZXNtZW5hci4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE0OQorIzogYnVpbHRpbi9jb21taXQuYzoxMTY2CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiRXN0ZXUgZW5taWcgZCd1bmEgZnVzacOzIC0tIG5vIGVzIHBvdCBlc21lbmFyLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTUxCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjgKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJFc3RldSBlbm1pZyBkJ3VuIHJlY3VsbCBkZSBjaXJlcmVzIC0tIG5vIGVzIHBvdCBlc21lbmFyLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTU0CisjOiBidWlsdGluL2NvbW1pdC5jOjExNzEKIG1zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICJMZXMgb3BjaW9ucyAtLXNxdWFzaCBpIC0tZml4dXAgbm8gZXMgcG9kZW4gdXNhciBqdW50ZXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NAorIzogYnVpbHRpbi9jb21taXQuYzoxMTgxCiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIk5vbcOpcyB1biBkZSAtYy8tQy8tRi8tLWZpeHVwIGVzIHBvdCB1c2FyLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY2CisjOiBidWlsdGluL2NvbW1pdC5jOjExODMKIG1zZ2lkICJPcHRpb24gLW0gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLWMvLUMvLUYvLS1maXh1cC4iCiBtc2dzdHIgIkwnb3BjacOzIC1tIG5vIGVzIHBvdCBjb21iaW5hciBhbWIgLWMvLUMvLUYvLS1maXh1cC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3NAorIzogYnVpbHRpbi9jb21taXQuYzoxMTkxCiBtc2dpZCAiLS1yZXNldC1hdXRob3IgY2FuIGJlIHVzZWQgb25seSB3aXRoIC1DLCAtYyBvciAtLWFtZW5kLiIKIG1zZ3N0ciAiLS1yZXNldC1hdXRob3Igbm9tw6lzIGVzIHBvdCB1c2FyIGFtYiAtQywgLWMgbyAtLWFtZW5kLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTkxCisjOiBidWlsdGluL2NvbW1pdC5jOjEyMDgKIG1zZ2lkICJPbmx5IG9uZSBvZiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIk5vbcOpcyB1biBkZSAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBlcyBwb3QgdXNhci4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE5MworIzogYnVpbHRpbi9jb21taXQuYzoxMjEwCiBtc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICItLWluY2x1ZGUvLS1vbmx5IG5vIHTDqSBzZW50aXQgc2Vuc2UgY2Ftw60uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExOTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMgogbXNnaWQgIkNsZXZlci4uLiBhbWVuZGluZyB0aGUgbGFzdCBvbmUgd2l0aCBkaXJ0eSBpbmRleC4iCi1tc2dzdHIgIkludGVswrdsaWdlbnQuLi4gZXNtZW5hbnQgbCfDumx0aW0gYW1iIMOtbmRleCBicnV0LiIKK21zZ3N0ciAiSW50ZWzCt2xpZ2VudC4uLiBzJ2VzdMOgIGVzbWVuYW50IGwnw7psdGltIGFtYiDDrW5kZXggYnJ1dC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE5NworIzogYnVpbHRpbi9jb21taXQuYzoxMjE0CiBtc2dpZCAiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgb3IgLW87IGFzc3VtaW5nIC0tb25seSBwYXRocy4uLiIKIG1zZ3N0ciAiIgotIlMnaGFuIGVzcGVjaWZpY2F0IGNhbWlucyBleHBsw61jaXRzIHNlbnNlIC1pIG8gLW87IHByZXN1bWludCBjYW1pbnMgLS1vbmx5Li4uIgorIlMnaGFuIGVzcGVjaWZpY2F0IGNhbWlucyBleHBsw61jaXRzIHNlbnNlIC1pIG8gLW87IHMnZXN0w6AgcHJlc3VtaW50IGNhbWlucyAtLSIKKyJvbmx5Li4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDkgYnVpbHRpbi90YWcuYzo0NzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNiBidWlsdGluL3RhZy5jOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKIG1zZ3N0ciAiTW9kZSBkZSBuZXRlamEgbm8gdsOgbGlkICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzMQogbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIi1hIG5vIHTDqSBzZW50aXQgYW1iIGNhbWlucy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyNCBidWlsdGluL2NvbW1pdC5jOjE2MDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MSBidWlsdGluL2NvbW1pdC5jOjE2MTcKIG1zZ2lkICJzaG93IHN0YXR1cyBjb25jaXNlbHkiCiBtc2dzdHIgIm1vc3RyYSBsJ2VzdGF0IGNvbmNpc2FtZW50IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjYgYnVpbHRpbi9jb21taXQuYzoxNjA3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDMgYnVpbHRpbi9jb21taXQuYzoxNjE5CiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgIm1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyOCBidWlsdGluL2NvbW1pdC5jOjE2MDkgYnVpbHRpbi9wdXNoLmM6NTEyCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDMwCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDUKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICJ2ZXJzacOzIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDUgYnVpbHRpbi9jb21taXQuYzoxNjIxIGJ1aWx0aW4vcHVzaC5jOjUyMgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MAogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICJzb3J0aWRhIGxsZWdpYmxlIHBlciBtw6BxdWluYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzMxIGJ1aWx0aW4vY29tbWl0LmM6MTYxMQorIzogYnVpbHRpbi9jb21taXQuYzoxMzQ4IGJ1aWx0aW4vY29tbWl0LmM6MTYyMwogbXNnaWQgInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIKIG1zZ3N0ciAibW9zdHJhIGwnZXN0YXQgZW4gZm9ybWF0IGxsYXJnIChwZXIgZGVmZWN0ZSkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNCBidWlsdGluL2NvbW1pdC5jOjE2MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MSBidWlsdGluL2NvbW1pdC5jOjE2MjYKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAiYWNhYmEgbGVzIGVudHJhZGVzIGFtYiBOVUwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNiBidWlsdGluL2NvbW1pdC5jOjE2MTcgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MQorIzogYnVpbHRpbi9jb21taXQuYzoxMzUzIGJ1aWx0aW4vY29tbWl0LmM6MTYyOSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgxCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg0IGJ1aWx0aW4vdGFnLmM6MzUzCiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAibW9kZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM3IGJ1aWx0aW4vY29tbWl0LmM6MTYxNworIzogYnVpbHRpbi9jb21taXQuYzoxMzU0IGJ1aWx0aW4vY29tbWl0LmM6MTYyOQogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAiIgogIm1vc3RyYSBlbHMgZml0eGVycyBubyBzZWd1aXRzLCBtb2RlcyBvcGNpb25hbHM6IGFsbCwgbm9ybWFsLCBuby4gKFBlciAiCiAiZGVmZWN0ZTogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQwCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTcKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIm1vc3RyYSBlbHMgZml0eGVycyBpZ25vcmF0cyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQxIHBhcnNlLW9wdGlvbnMuaDoxNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OCBwYXJzZS1vcHRpb25zLmg6MTU1CiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAicXVhbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTkKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCkBAIC01NDE5LDIwMiArNjcwMCwyMDIgQEAKICJpZ25vcmEgZWxzIGNhbnZpcyBhbHMgc3VibcOyZHVscywgb3BjaW9uYWwgcXVhbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAoUGVyICIKICJkZWZlY3RlOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MQogbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgIm1vc3RyYSBlbHMgZml0eGVycyBubyBzZWd1aXRzIGVuIGNvbHVtbmVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNwogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgdHJvYmFyIGxhIGNvbWlzc2nDsyBub3ZhbWVudCBjcmVhZGEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzMgorIzogYnVpbHRpbi9jb21taXQuYzoxNDM5CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBsYSBjb21pc3Npw7Mgbm92YW1lbnQgY3JlYWRhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NAogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIkhFQUQgc2VwYXJhdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDgwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAiIChjb21pc3Npw7MgZCdhcnJlbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU3NQorIzogYnVpbHRpbi9jb21taXQuYzoxNTg3CiBtc2dpZCAic3VwcHJlc3Mgc3VtbWFyeSBhZnRlciBzdWNjZXNzZnVsIGNvbW1pdCIKIG1zZ3N0ciAib21ldCBlbCByZXN1bSBkZXNwcsOpcyBkJ3VuYSBjb21pc3Npw7MgcmVlaXhpZGEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU3NgorIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CiBtc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICJtb3N0cmEgbGEgZGlmZXLDqG5jaWEgZW4gbGEgcGxhbnRpbGxhIGRlIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTc4CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTAKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICJPcGNpb25zIGRlIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTc5IGJ1aWx0aW4vdGFnLmM6MzUxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi90YWcuYzozNTEKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICJsbGVnaXUgZWwgbWlzc2F0Z2UgZGVzIGQndW4gZml0eGVyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAiYXV0b3IiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MAorIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgImF1dG9yIGNvcnJlZ2l0IGRlIGxhIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTgxIGJ1aWx0aW4vZ2MuYzozMjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MyBidWlsdGluL2djLmM6MzI2CiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAiZGF0YSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTgxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMKIG1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCiBtc2dzdHIgImRhdGEgY29ycmVnaWRhIGRlIGxhIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTgyIGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9ub3Rlcy5jOjM5NQotIzogYnVpbHRpbi9ub3Rlcy5jOjU1OCBidWlsdGluL3RhZy5jOjM0OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk0IGJ1aWx0aW4vbWVyZ2UuYzoyMjAgYnVpbHRpbi9ub3Rlcy5jOjM5OAorIzogYnVpbHRpbi9ub3Rlcy5jOjU2MSBidWlsdGluL3RhZy5jOjM0OQogbXNnaWQgIm1lc3NhZ2UiCiBtc2dzdHIgIm1pc3NhdGdlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NAogbXNnaWQgImNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJtaXNzYXRnZSBkZSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MyBidWlsdGluL2NvbW1pdC5jOjE1ODQgYnVpbHRpbi9jb21taXQuYzoxNTg1Ci0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODYgcGFyc2Utb3B0aW9ucy5oOjI1NiByZWYtZmlsdGVyLmg6NzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NSBidWlsdGluL2NvbW1pdC5jOjE1OTYgYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTggcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6NzkKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgImNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTgzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTUKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAicmV1c2EgaSBlZGl0YSBlbCBtaXNzYXRnZSBkZSBsYSBjb21pc3Npw7MgZXNwZWNpZmljYWRhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICJyZXVzYSBlbCBtaXNzYXRnZSBkZSBsYSBjb21pc3Npw7MgZXNwZWNpZmljYWRhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NwogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICJ1c2EgZWwgbWlzc2F0Z2UgZm9ybWF0YXQgZCdhaXhhZmFkYSBhdXRvbcOgdGljYSBwZXIgYSBhcnJlZ2xhciBsYSBjb21pc3Npw7MgIgogImVzcGVjaWZpY2FkYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTgKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogInVzYSBlbCBtaXNzYXRnZSBmb3JtYXRhdCBkJ2FpeGFmYWRhIGF1dG9tw6B0aWNhIHBlciBhIGFpeGFmYXIgbGEgY29taXNzacOzICIKICJlc3BlY2lmaWNhZGEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NworIzogYnVpbHRpbi9jb21taXQuYzoxNTk5CiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAibCdhdXRvciBkZSBsYSBjb21pc3Npw7MgamEgc8OzYyBqbyAocyd1c2EgYW1iIC1DLy1jLy0tYW1lbmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODggYnVpbHRpbi9sb2cuYzoxMjE5IGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL2xvZy5jOjE0MTMgYnVpbHRpbi9yZXZlcnQuYzo4NgogbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKIG1zZ3N0ciAiYWZlZ2VpeCBTaWduZWQtb2ZmLWJ5OiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDEKIG1zZ2lkICJ1c2Ugc3BlY2lmaWVkIHRlbXBsYXRlIGZpbGUiCiBtc2dzdHIgInVzYSBlbCBmaXR4ZXIgZGUgcGxhbnRpbGxhIGVzcGVjaWZpY2F0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMgogbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgogbXNnc3RyICJmb3LDp2EgbCdlZGljacOzIGRlIGxhIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkxCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDMKIG1zZ2lkICJkZWZhdWx0IgogbXNnc3RyICJwZXIgZGVmZWN0ZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkxIGJ1aWx0aW4vdGFnLmM6MzU0CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDMgYnVpbHRpbi90YWcuYzozNTQKIG1zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgogbXNnc3RyICJjb20gZGVzcHVsbGFyIGVscyBlc3BhaXMgaSAjY29tZW50YXJpcyBkZWwgbWlzc2F0Z2UiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNjA0CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgImluY2xvdSBsJ2VzdGF0IGVuIGxhIHBsYW50aWxsYSBkZSBtaXNzYXRnZSBkZSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NCBidWlsdGluL21lcmdlLmM6MjI2IGJ1aWx0aW4vcHVsbC5jOjE2MAorIzogYnVpbHRpbi9jb21taXQuYzoxNjA2IGJ1aWx0aW4vbWVyZ2UuYzoyMzAgYnVpbHRpbi9wdWxsLmM6MTY2CiAjOiBidWlsdGluL3JldmVydC5jOjkzCiBtc2dpZCAiR1BHIHNpZ24gY29tbWl0IgotbXNnc3RyICJmaXJtYSBsYSBjb21pc3Npw7MgYW1iIEdQRyIKK21zZ3N0ciAic2lnbmEgbGEgY29taXNzacOzIGFtYiBHUEciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NworIzogYnVpbHRpbi9jb21taXQuYzoxNjA5CiBtc2dpZCAiQ29tbWl0IGNvbnRlbnRzIG9wdGlvbnMiCiBtc2dzdHIgIk9wY2lvbnMgZGVscyBjb250aW5ndXRzIGRlIGxlcyBjb21pc3Npb25zIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMAogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAiY29tZXQgdG90cyBlbHMgZml0eGVycyBjYW52aWF0cyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTEKIG1zZ2lkICJhZGQgc3BlY2lmaWVkIGZpbGVzIHRvIGluZGV4IGZvciBjb21taXQiCiBtc2dzdHIgImFmZWdlaXggZWxzIGZpdHhlcnMgZXNwZWNpZmljYXRzIGEgbCfDrW5kZXggcGVyIGEgY29tZXRyZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAwCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTIKIG1zZ2lkICJpbnRlcmFjdGl2ZWx5IGFkZCBmaWxlcyIKIG1zZ3N0ciAiYWZlZ2VpeCBlbHMgZml0eGVycyBpbnRlcmFjdGl2YW1lbnQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMQorIzogYnVpbHRpbi9jb21taXQuYzoxNjEzCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAiYWZlZ2VpeCBlbHMgY2FudmlzIGludGVyYWN0aXZhbWVudCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAyCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKIG1zZ2lkICJjb21taXQgb25seSBzcGVjaWZpZWQgZmlsZXMiCiBtc2dzdHIgImNvbWV0IG5vbcOpcyBlbHMgZml0eGVycyBlc3BlY2lmaWNhdHMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMwotbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGhvb2siCi1tc2dzdHIgImV2aXRhIGVsIGdhbnhvIGRlIHByZWNvbWlzc2nDsyIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNQorbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgorbXNnc3RyICJldml0YSBlbHMgZ2FueG9zIGRlIHByZWNvbWlzc2nDsyBpIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA0CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTYKIG1zZ2lkICJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIgogbXNnc3RyICJtb3N0cmEgcXXDqCBlcyBjb21ldHJpYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjcKIG1zZ2lkICJhbWVuZCBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgImVzbWVuYSBsYSBjb21pc3Npw7MgYW50ZXJpb3IiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNgorIzogYnVpbHRpbi9jb21taXQuYzoxNjI4CiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICJldml0YSBlbCBnYW54byBkZSBwb3N0cmVlc2NyaXVyZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjIxCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MzMKIG1zZ2lkICJvayB0byByZWNvcmQgYW4gZW1wdHkgY2hhbmdlIgogbXNnc3RyICJlc3TDoCBiw6kgcmVnaXN0cmFyIHVuIGNhbnZpIGJ1aXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyMworIzogYnVpbHRpbi9jb21taXQuYzoxNjM1CiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAiZXN0w6AgYsOpIHJlZ2lzdHJhciB1biBjYW52aSBhbWIgbWlzc2F0Z2UgYnVpdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjUyCisjOiBidWlsdGluL2NvbW1pdC5jOjE2NjQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2OTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgogbXNnc3RyICJGaXR4ZXIgTUVSR0VfSEVBRCBtYWxtw6hzICglcykiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTcwNQorIzogYnVpbHRpbi9jb21taXQuYzoxNzE5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgTUVSR0VfTU9ERSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzI0CisjOiBidWlsdGluL2NvbW1pdC5jOjE3MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7M6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCi1tc2dzdHIgIkF2b3J0YW50IGxhIGNvbWlzc2nDszsgbm8gaGV1IGVkaXRhdCBlbCBtaXNzYXRnZS5cbiIKK21zZ3N0ciAiUydlc3TDoCBhdm9ydGFudCBsYSBjb21pc3Npw7M7IG5vIGhldSBlZGl0YXQgZWwgbWlzc2F0Z2UuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0MAorIzogYnVpbHRpbi9jb21taXQuYzoxNzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdCBkdWUgdG8gZW1wdHkgY29tbWl0IG1lc3NhZ2UuXG4iCi1tc2dzdHIgIkF2b3J0YW50IGxhIGNvbWlzc2nDsyBhIGNhdXNhIGQndW4gbWlzc2F0Z2UgZGUgY29taXNzacOzIGJ1aXQuXG4iCittc2dzdHIgIlMnZXN0w6AgYXZvcnRhbnQgbGEgY29taXNzacOzIGEgY2F1c2EgZCd1biBtaXNzYXRnZSBkZSBjb21pc3Npw7MgYnVpdC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE4MDIKIG1zZ2lkICIiCiAiUmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCiAibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBhbmQgcXVvdGEgaXNcbiIKQEAgLTU2MjksMTQyICs2OTEwLDE0MiBAQAogbXNnaWQgImdpdCBjb25maWcgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBjb25maWcgWzxvcGNpb25zPl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTUKIG1zZ2lkICJDb25maWcgZmlsZSBsb2NhdGlvbiIKIG1zZ3N0ciAiVWJpY2FjacOzIGRlbCBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1NgogbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCiBtc2dzdHIgInVzYSBlbCBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyBnbG9iYWwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTcKIG1zZ2lkICJ1c2Ugc3lzdGVtIGNvbmZpZyBmaWxlIgogbXNnc3RyICJ1c2EgZWwgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MgZGVsIHNpc3RlbWEiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKIG1zZ2lkICJ1c2UgcmVwb3NpdG9yeSBjb25maWcgZmlsZSIKIG1zZ3N0ciAidXNhIGVsIGZpdHhlciBkZSBjb25maWd1cmFjacOzIGRlbCBkaXDDsnNpdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKIG1zZ3N0ciAidXNhIGVsIGZpdHhlciBkZSBjb25maWd1cmFjacOzIGRvbmF0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2NvbmZpZy5jOjYwCiBtc2dpZCAiYmxvYi1pZCIKIG1zZ3N0ciAiSUQgZGUgYmxvYiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCiBtc2dzdHIgImxsZWdlaXggbGEgY29uZmlndXJhY2nDsyBkZSBsJ29iamVjdGUgZGUgYmxvYiBkb25hdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MgorIzogYnVpbHRpbi9jb25maWcuYzo2MQogbXNnaWQgIkFjdGlvbiIKIG1zZ3N0ciAiQWNjacOzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYzCisjOiBidWlsdGluL2NvbmZpZy5jOjYyCiBtc2dpZCAiZ2V0IHZhbHVlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIm9idMOpbiB2YWxvcjogbm9tIFtyZWdleC1kZS12YWxvcnNdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY0CisjOiBidWlsdGluL2NvbmZpZy5jOjYzCiBtc2dpZCAiZ2V0IGFsbCB2YWx1ZXM6IGtleSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJvYnTDqW4gdG90cyBlbHMgdmFsb3JzOiBjbGF1IFtyZWdleC1kZS12YWxvcnNdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY1CisjOiBidWlsdGluL2NvbmZpZy5jOjY0CiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIm9idMOpbiB2YWxvcnMgZGUgcmVnZXhwOiByZWdleC1kZS1ub21zIFtyZWdleC1kZS12YWxvcnNdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY2CisjOiBidWlsdGluL2NvbmZpZy5jOjY1CiBtc2dpZCAiZ2V0IHZhbHVlIHNwZWNpZmljIGZvciB0aGUgVVJMOiBzZWN0aW9uWy52YXJdIFVSTCIKIG1zZ3N0ciAib2J0w6luIGVsIHZhbG9yIGVzcGVjw61maWMgcGVyIGEgbCdVUkw6IHNlY2Npw7NbLnZhcmlhYmxlXSBVUkwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKIG1zZ2lkICJyZXBsYWNlIGFsbCBtYXRjaGluZyB2YXJpYWJsZXM6IG5hbWUgdmFsdWUgW3ZhbHVlX3JlZ2V4XSIKIG1zZ3N0ciAiIgogInJlZW1wbGHDp2EgdG90ZXMgbGVzIHZhcmlhYmxlcyBxdWUgY29pbmNpZGVpeGVuOiBub20gdmFsb3IgW3JlZ2V4X2RlX3ZhbG9yc10iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKIG1zZ2lkICJhZGQgYSBuZXcgdmFyaWFibGU6IG5hbWUgdmFsdWUiCiBtc2dzdHIgImFmZWdlaXggdW5hIHZhcmlhYmxlIG5vdmE6IG5vbSB2YWxvciIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OQorIzogYnVpbHRpbi9jb25maWcuYzo2OAogbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImVsaW1pbmEgdW5hIHZhcmlhYmxlOiBub20gW3JlZ2V4LWRlLXZhbG9yc10iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjkKIG1zZ2lkICJyZW1vdmUgYWxsIG1hdGNoZXM6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiZWxpbWluYSB0b3RlcyBsZXMgY29pbmNpZMOobmNpZXM6IG5vbSBbcmVnZXgtZGUtdmFsb3JzXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3MAogbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKIG1zZ3N0ciAiY2FudmlhIGVsIG5vbSBkZSBzZWNjacOzOiBub20tYW50aWMgbm9tLW5vdSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MgorIzogYnVpbHRpbi9jb25maWcuYzo3MQogbXNnaWQgInJlbW92ZSBhIHNlY3Rpb246IG5hbWUiCiBtc2dzdHIgImVsaW1pbmEgdW5hIHNlY2Npw7M6IG5vbSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MworIzogYnVpbHRpbi9jb25maWcuYzo3MgogbXNnaWQgImxpc3QgYWxsIgogbXNnc3RyICJsbGlzdGEgdG90cyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NAorIzogYnVpbHRpbi9jb25maWcuYzo3MwogbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgogbXNnc3RyICJvYnJlIHVuIGVkaXRvciIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NQorIzogYnVpbHRpbi9jb25maWcuYzo3NAogbXNnaWQgImZpbmQgdGhlIGNvbG9yIGNvbmZpZ3VyZWQ6IHNsb3QgW2RlZmF1bHRdIgogbXNnc3RyICJ0cm9iYSBlbCBjb2xvciBjb25maWd1cmF0OiByYW51cmEgW3BlciBkZWZlY3RlXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NgorIzogYnVpbHRpbi9jb25maWcuYzo3NQogbXNnaWQgImZpbmQgdGhlIGNvbG9yIHNldHRpbmc6IHNsb3QgW3N0ZG91dC1pcy10dHldIgogbXNnc3RyICJ0cm9iYSBsJ2FqdXN0IGRlIGNvbG9yOiByYW51cmEgW3N0ZG91dC3DqXMtdHR5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NworIzogYnVpbHRpbi9jb25maWcuYzo3NgogbXNnaWQgIlR5cGUiCiBtc2dzdHIgIlRpcHVzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc4CisjOiBidWlsdGluL2NvbmZpZy5jOjc3CiBtc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgogbXNnc3RyICJlbCB2YWxvciDDqXMgXCJ0cnVlXCIgbyBcImZhbHNlXCIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKIG1zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKIG1zZ3N0ciAiZWwgdmFsb3Igw6lzIHVuIG5vbWJyZSBkZWNpbWFsIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgwCisjOiBidWlsdGluL2NvbmZpZy5jOjc5CiBtc2dpZCAidmFsdWUgaXMgLS1ib29sIG9yIC0taW50IgogbXNnc3RyICJlbCB2YWxvciDDqXMgLS1ib29sIG8gLS1pbnQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODAKIG1zZ2lkICJ2YWx1ZSBpcyBhIHBhdGggKGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUpIgogbXNnc3RyICJlbCB2YWxvciDDqXMgdW4gY2Ftw60gKG5vbSBkZSBmaXR4ZXIgbyBkaXJlY3RvcmkpIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgyCisjOiBidWlsdGluL2NvbmZpZy5jOjgxCiBtc2dpZCAiT3RoZXIiCiBtc2dzdHIgIkFsdHJlIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgzCisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICJhY2FiYSBlbHMgdmFsb3JzIGFtYiB1biBvY3RldCBOVUwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODMKIG1zZ2lkICJzaG93IHZhcmlhYmxlIG5hbWVzIG9ubHkiCiBtc2dzdHIgIm1vc3RyYSBub23DqXMgZWxzIG5vbXMgZGUgdmFyaWFibGUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCiBtc2dzdHIgInJlc3BlY3RhIGxlcyBkaXJlY3RpdmVzIGQnaW5jbHVzacOzIGVuIGNlcmNhciIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NgorIzogYnVpbHRpbi9jb25maWcuYzo4NQogbXNnaWQgInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiCiBtc2dzdHIgIiIKICJtb3N0cmEgbCdvcmlnZW4gZGUgbGEgY29uZmlndXJhY2nDsyAoZml0eGVyLCBlbnRyYWRhIGVzdMOgbmRhciwgYmxvYiwgbMOtbmlhICIKICJkJ29yZHJlcykiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MzI4CisjOiBidWlsdGluL2NvbmZpZy5jOjMyNwogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBkZWZhdWx0IGNvbG9yIHZhbHVlIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBlbCB2YWxvciBkZSBjb2xvciBwZXIgZGVmZWN0ZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0NjkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIjIFRoaXMgaXMgR2l0J3MgcGVyLXVzZXIgY29uZmlndXJhdGlvbiBmaWxlLlxuIgpAQCAtNTc3OSwyMiArNzA2MCwzMSBAQAogIiNcdG5hbWUgPSAlc1xuIgogIiNcdGVtYWlsID0gJXNcbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgY29uZmlndXJhdGlvbiBmaWxlICVzIgogbXNnc3RyICJubyBlcyBwb3QgY3JlYXIgZWwgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MgJyVzJyIKIAotIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6NzcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCisiICAgICAgIFVzZSBhIHJlZ2V4cCwgLS1hZGQgb3IgLS1yZXBsYWNlLWFsbCB0byBjaGFuZ2UgJXMuIgorbXNnc3RyICIiCisibm8gZXMgcG90IHNvYnJlZXNjcml1cmUgbcO6bHRpcGxlcyB2YWxvcnMgYW1iIHVuIHNvbCB2YWxvclxuIgorIiAgICAgICBVc2V1IHVuYSBleHByZXNpw7MgcmVndWxhciwgLS1hZGQgbyAtLXJlcGxhY2UtYWxsIHBlciBhIGNhbnZpYXIgJXMuIgorCisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NgogbXNnaWQgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiBtc2dzdHIgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg3CisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NgogbXNnaWQgInByaW50IHNpemVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCIKIG1zZ3N0ciAiaW1wcmltZWl4IGxlcyBtaWRlcyBlbiB1biBmb3JtYXQgbGxlZ2libGUgcGVscyBodW1hbnMiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoxNwogbXNnaWQgImdpdCBkZXNjcmliZSBbPG9wdGlvbnM+XSBbPGNvbW1pdC1pc2g+Li4uXSIKLW1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFtvcGNpb25zXSBbPGNvbWlzc2nDsz4uLi5dIgorbXNnc3RyICJnaXQgZGVzY3JpYmUgWzxvcGNpb25zPl0gWzxjb21pc3Npw7M+Li4uXSIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjE4CiBtc2dpZCAiZ2l0IGRlc2NyaWJlIFs8b3B0aW9ucz5dIC0tZGlydHkiCkBAIC01ODE1LDcgKzcxMDUsNyBAQAogbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCiBtc2dzdHIgImwnZXRpcXVldGEgJyVzJyByZWFsbWVudCDDqXMgJyVzJyBhcXXDrSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MCBidWlsdGluL2xvZy5jOjQ1OQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MCBidWlsdGluL2xvZy5jOjQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAiJXMgbm8gw6lzIHVuIG5vbSBkJ29iamVjdGUgdsOgbGlkIgpAQCAtNTgzMyw3ICs3MTIzLDcgQEAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAic2VhcmNoaW5nIHRvIGRlc2NyaWJlICVzXG4iCi1tc2dzdHIgImNlcmNhbnQgcGVyIGEgZGVzY3JpdXJlICVzXG4iCittc2dzdHIgInMnZXN0w6AgY2VyY2FudCBwZXIgYSBkZXNjcml1cmUgJXNcbiIKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjMxOQogIywgYy1mb3JtYXQKQEAgLTU5MDgsNyArNzE5OCw3IEBACiBtc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAibm9tw6lzIGNvbnNpZGVyYSBsZXMgZXRpcXVldGVzIHF1ZSBjb2luY2lkZWl4ZW4gYW1iIDxwYXRyw7M+IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMTQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTAgYnVpbHRpbi9uYW1lLXJldi5jOjMyMAogbXNnaWQgInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIKIG1zZ3N0ciAibW9zdHJhIGwnb2JqZWN0ZSBkZSBjb21pc3Npw7MgYWJyZXZpYXQgY29tIGEgcmV0cm9jZWRpbWVudCIKIApAQCAtNTkyNiw3ICs3MjE2LDcgQEAKIAogIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ1NgogbXNnaWQgIk5vIG5hbWVzIGZvdW5kLCBjYW5ub3QgZGVzY3JpYmUgYW55dGhpbmcuIgotbXNnc3RyICJDYXAgbm9tIHRyb2JhdCwgbm8gZXMgcG90IGRlc2NyaXVyZSByZXMuIgorbXNnc3RyICJObyBzJ2hhIHRyb2JhdCBjYXAgbm9tLCBubyBlcyBwb3QgZGVzY3JpdXJlIHJlcy4iCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NzYKIG1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKQEAgLTU5NDIsMjEgKzcyMzIsMjEgQEAKIG1zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCiBtc2dzdHIgIm9wY2nDsyBubyB2w6BsaWRhOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzU4CisjOiBidWlsdGluL2RpZmYuYzozNjEKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiTm8gw6lzIHVuIGRpcMOyc2l0IGRlIGdpdCIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDAxCisjOiBidWlsdGluL2RpZmYuYzo0MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgInMnaGEgZG9uYXQgdW4gb2JqZWN0ZSBubyB2w6BsaWQgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxMAorIzogYnVpbHRpbi9kaWZmLmM6NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiB0d28gYmxvYnMgZ2l2ZW46ICclcyciCiBtc2dzdHIgInMnaGEgZG9uYXQgbcOpcyBkZSBkb3MgYmxvYnM6ICclcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDE3CisjOiBidWlsdGluL2RpZmYuYzo0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5oYW5kbGVkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAicydoYSBkb25hdCBsJ29iamVjdGUgbm8gZ2VzdGlvbmF0ICclcycuIgpAQCAtNTk3MSw3ICs3MjYxLDcgQEAKIAogIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MgogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKLW1zZ3N0ciAic2VsZWNjaW9uYSBsYSBnZXN0acOzIGRlIGxlcyBldGlxdWV0ZXMgZmlybWFkZXMiCittc2dzdHIgInNlbGVjY2lvbmEgbGEgZ2VzdGnDsyBkZSBsZXMgZXRpcXVldGVzIHNpZ25hZGVzIgogCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg1CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHRhZ3MgdGhhdCB0YWcgZmlsdGVyZWQgb2JqZWN0cyIKQEAgLTYwMTMsMTgyICs3MzAzLDE4MiBAQAogbXNnaWQgImFub255bWl6ZSBvdXRwdXQiCiBtc2dzdHIgImFub25pbWl0emEgbGEgc29ydGlkYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIwCisjOiBidWlsdGluL2ZldGNoLmM6MjEKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBmZXRjaCBbPG9wY2lvbnM+XSBbPGRpcMOyc2l0PiBbPGVzcGVjaWZpY2FjacOzLWRlLXJlZmVyw6huY2lhPi4uLl1dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMgogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgogbXNnc3RyICJnaXQgZmV0Y2ggWzxvcGNpb25zPl0gPGdydXA+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMwogbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wY2lvbnM+XSBbKDxkaXDDsnNpdD4gfCA8Z3J1cD4pLi4uXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIzCisjOiBidWlsdGluL2ZldGNoLmM6MjQKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPG9wY2lvbnM+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkyIGJ1aWx0aW4vcHVsbC5jOjE2NgorIzogYnVpbHRpbi9mZXRjaC5jOjk1IGJ1aWx0aW4vcHVsbC5jOjE3NQogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgIm9idMOpbiBkZSB0b3RzIGVscyByZW1vdHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NCBidWlsdGluL3B1bGwuYzoxNjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NyBidWlsdGluL3B1bGwuYzoxNzgKIG1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCiBtc2dzdHIgImFubmV4YSBhIC5naXQvRkVUQ0hfSEVBRCBlbiBsbG9jIGRlIHNvYnJlZXNjcml1cmUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NiBidWlsdGluL3B1bGwuYzoxNzIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OSBidWlsdGluL3B1bGwuYzoxODEKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgImNhbcOtIGFsIHF1YWwgcHVqYXIgZWwgcGFxdWV0IGFsIGNvc3RhdCByZW1vdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vcHVsbC5jOjE3NAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMCBidWlsdGluL3B1bGwuYzoxODMKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgYnJhbmNoIgogbXNnc3RyICJmb3LDp2EgbGEgc29icmVlc2NyaXB0dXJhIGRlIGxhIGJyYW5jYSBsb2NhbCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5CisjOiBidWlsdGluL2ZldGNoLmM6MTAyCiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICJvYnTDqW4gZGUgbcO6bHRpcGxlcyByZW1vdHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDEgYnVpbHRpbi9wdWxsLmM6MTc2CisjOiBidWlsdGluL2ZldGNoLmM6MTA0IGJ1aWx0aW4vcHVsbC5jOjE4NQogbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCiBtc2dzdHIgIm9idMOpbiB0b3RlcyBsZXMgZXRpcXVldGVzIGkgdG90cyBlbHMgb2JqZWN0ZXMgYXNzb2NpYXRzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAzCisjOiBidWlsdGluL2ZldGNoLmM6MTA2CiBtc2dpZCAiZG8gbm90IGZldGNoIGFsbCB0YWdzICgtLW5vLXRhZ3MpIgogbXNnc3RyICJubyBvYnRpbmd1aXMgbGVzIGV0aXF1ZXRlcyAoLS1uby10YWdzKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNQorIzogYnVpbHRpbi9mZXRjaC5jOjEwOAogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGZldGNoZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIm5vbWJyZSBkZSBzdWJtw7JkdWxzIG9idGluZ3V0cyBlbiBwYXJhbMK3bGVsIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA3IGJ1aWx0aW4vcHVsbC5jOjE3OQorIzogYnVpbHRpbi9mZXRjaC5jOjExMCBidWlsdGluL3B1bGwuYzoxODgKIG1zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAicG9kYSBsZXMgYnJhbnF1ZXMgYW1iIHNlZ3VpbWVudCByZW1vdCBxdWUgamEgbm8gZXN0aWd1aW4gZW4gZWwgcmVtb3QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDggYnVpbHRpbi9wdWxsLmM6MTgyCisjOiBidWlsdGluL2ZldGNoLmM6MTExIGJ1aWx0aW4vcHVsbC5jOjE5MQogbXNnaWQgIm9uLWRlbWFuZCIKIG1zZ3N0ciAic290YSBkZW1hbmRhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA5IGJ1aWx0aW4vcHVsbC5jOjE4MworIzogYnVpbHRpbi9mZXRjaC5jOjExMiBidWlsdGluL3B1bGwuYzoxOTIKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICJjb250cm9sYSBsJ29idGVuY2nDsyByZWN1cnNpdmEgZGUgc3VibcOyZHVscyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMyBidWlsdGluL3B1bGwuYzoxOTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9wdWxsLmM6MjAwCiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgInJldMOpbiBlbCBwYXF1ZXQgYmFpeGF0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE1CisjOiBidWlsdGluL2ZldGNoLmM6MTE4CiBtc2dpZCAiYWxsb3cgdXBkYXRpbmcgb2YgSEVBRCByZWYiCiBtc2dzdHIgInBlcm1ldCBsJ2FjdHVhbGl0emFjacOzIGRlIGxhIHJlZmVyw6huY2lhIEhFQUQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTggYnVpbHRpbi9wdWxsLmM6MTk0CisjOiBidWlsdGluL2ZldGNoLmM6MTIxIGJ1aWx0aW4vZmV0Y2guYzoxMjcgYnVpbHRpbi9wdWxsLmM6MjAzCiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSIKIG1zZ3N0ciAiYXByb2Z1bmRlaXggbGEgaGlzdMOycmlhIGQndW4gY2xvbiBzdXBlcmZpY2lhbCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMCBidWlsdGluL3B1bGwuYzoxOTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjMKK21zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IHJlcG9zaXRvcnkgYmFzZWQgb24gdGltZSIKK21zZ3N0ciAiYXByb2Z1bmRlaXggbGEgaGlzdMOycmlhIGQndW4gY2xvbiBzdXBlcmZpY2lhbCBiYXNhdCBlbiB0ZW1wcyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEyOSBidWlsdGluL3B1bGwuYzoyMDYKIG1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiY29udmVydGVpeCBlbiB1biBkaXDDsnNpdCBjb21wbGV0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIyIGJ1aWx0aW4vbG9nLmM6MTIzNgorIzogYnVpbHRpbi9mZXRjaC5jOjEzMSBidWlsdGluL2xvZy5jOjE0MzMKIG1zZ2lkICJkaXIiCiBtc2dzdHIgImRpcmVjdG9yaSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMworIzogYnVpbHRpbi9mZXRjaC5jOjEzMgogbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCiBtc2dzdHIgImFudGVwb3NhIGFpeMOyIGEgbGEgc29ydGlkYSBkZSBjYW3DrSBkZWwgc3VibcOyZHVsIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI2CisjOiBidWlsdGluL2ZldGNoLmM6MTM1CiBtc2dpZCAiZGVmYXVsdCBtb2RlIGZvciByZWN1cnNpb24iCiBtc2dzdHIgIm1vZGUgZGUgcmVjdXJzaXZpdGF0IHBlciBkZWZlY3RlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI4IGJ1aWx0aW4vcHVsbC5jOjIwMAorIzogYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL3B1bGwuYzoyMDkKIG1zZ2lkICJhY2NlcHQgcmVmcyB0aGF0IHVwZGF0ZSAuZ2l0L3NoYWxsb3ciCiBtc2dzdHIgImFjY2VwdGEgbGVzIHJlZmVyw6huY2llcyBxdWUgYWN0dWFsaXR6aW4gLmdpdC9zaGFsbG93IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjIwMgorIzogYnVpbHRpbi9mZXRjaC5jOjEzOCBidWlsdGluL3B1bGwuYzoyMTEKIG1zZ2lkICJyZWZtYXAiCiBtc2dzdHIgIm1hcGEgZGUgcmVmZXLDqG5jaWVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMwIGJ1aWx0aW4vcHVsbC5jOjIwMworIzogYnVpbHRpbi9mZXRjaC5jOjEzOSBidWlsdGluL3B1bGwuYzoyMTIKIG1zZ2lkICJzcGVjaWZ5IGZldGNoIHJlZm1hcCIKIG1zZ3N0ciAibW9zdHJhIGVsIG1hcGEgZGUgcmVmZXLDqG5jaWVzIGQnb2J0ZW5jacOzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzg2CisjOiBidWlsdGluL2ZldGNoLmM6Mzk4CiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgdHJvYmFyIGxhIHJlZmVyw6huY2lhIEhFQUQgcmVtb3RhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDY2CisjOiBidWlsdGluL2ZldGNoLmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbmZpZ3VyYXRpb24gZmV0Y2gub3V0cHV0IGNvbnRhaW5zIGludmFsaWQgdmFsdWUgJXMiCittc2dzdHIgImxhIGNvbmZpZ3VyYWNpw7MgZmV0Y2gub3V0cHV0IGNvbnTDqSB1biB2YWxvciBubyB2w6BsaWQgJXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAib2JqZWN0ZSAlcyBubyB0cm9iYXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0NzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MTEKIG1zZ2lkICJbdXAgdG8gZGF0ZV0iCiBtc2dzdHIgIlthbCBkaWFdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDg1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiEgJS0qcyAlLSpzIC0+ICVzICAoY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2gpIgotbXNnc3RyICIhICUtKnMgJS0qcyAtPiAlcyAgKG5vIGVzIHBvdCBvYnRlbmlyIGVuIGxhIGJyYW5jYSBhY3R1YWwpIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NDg2IGJ1aWx0aW4vZmV0Y2guYzo1NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjQgYnVpbHRpbi9mZXRjaC5jOjcwNAogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIltyZWJ1dGphdF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0OTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjUKK21zZ2lkICJjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgZW4gbGEgYnJhbmNhIGFjdHVhbCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjYzNAogbXNnaWQgIlt0YWcgdXBkYXRlXSIKIG1zZ3N0ciAiW2FjdHVhbGl0emFjacOzIGQnZXRpcXVldGFdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDk5IGJ1aWx0aW4vZmV0Y2guYzo1MzQgYnVpbHRpbi9mZXRjaC5jOjU1MgotbXNnaWQgIiAgKHVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmKSIKLW1zZ3N0ciAiICAobm8gcydoYSBwb2d1dCBhY3R1YWxpdHphciBsYSByZWZlcsOobmNpYSBsb2NhbCkiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MTcKLW1zZ2lkICJbbmV3IHRhZ10iCi1tc2dzdHIgIltldGlxdWV0YSBub3ZhXSIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjUyMAotbXNnaWQgIltuZXcgYnJhbmNoXSIKLW1zZ3N0ciAiW2JyYW5jYSBub3ZhXSIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjUyMwotbXNnaWQgIltuZXcgcmVmXSIKLW1zZ3N0ciAiW3JlZmVyw6huY2lhIG5vdmFdIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTY5CisjOiBidWlsdGluL2ZldGNoLmM6NjM1IGJ1aWx0aW4vZmV0Y2guYzo2NjggYnVpbHRpbi9mZXRjaC5jOjY4NAorIzogYnVpbHRpbi9mZXRjaC5jOjY5OQogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyIGxhIHJlZmVyw6huY2lhIGxvY2FsIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTY5CisjOiBidWlsdGluL2ZldGNoLmM6NjU0Cittc2dpZCAiW25ldyB0YWddIgorbXNnc3RyICJbZXRpcXVldGEgbm92YV0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTcKK21zZ2lkICJbbmV3IGJyYW5jaF0iCittc2dzdHIgIlticmFuY2Egbm92YV0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NjAKK21zZ2lkICJbbmV3IHJlZl0iCittc2dzdHIgIltyZWZlcsOobmNpYSBub3ZhXSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjY5OQogbXNnaWQgImZvcmNlZCB1cGRhdGUiCiBtc2dzdHIgImFjdHVhbGl0emFjacOzIGZvcsOnYWRhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTc2Ci1tc2dpZCAiKG5vbi1mYXN0LWZvcndhcmQpIgotbXNnc3RyICIoc2Vuc2UgYXZhbsOnIHLDoHBpZCkiCisjOiBidWlsdGluL2ZldGNoLmM6NzA0Cittc2dpZCAibm9uLWZhc3QtZm9yd2FyZCIKK21zZ3N0ciAic2Vuc2UgYXZhbsOnIHLDoHBpZCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYxMCBidWlsdGluL2ZldGNoLmM6ODUxCi0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlc1xuIgotbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgJXM6ICVzXG4iCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIlcyBubyBoYSBlbnZpYXQgdG90cyBlbHMgb2JqZWN0ZXMgbmVjZXNzYXJpc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjM3CisjOiBidWlsdGluL2ZldGNoLmM6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlamVjdCAlcyBiZWNhdXNlIHNoYWxsb3cgcm9vdHMgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQiCiBtc2dzdHIgIiIKICJyZWJ1dGphICVzIHBlcnF1w6ggbm8gZXMgcGVybWV0IHF1ZSBsZXMgYXJyZWxzIHN1cGVyZmljaWFscyBzJ2FjdHVhbGl0emluIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzI0IGJ1aWx0aW4vZmV0Y2guYzo4MTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTYgYnVpbHRpbi9mZXRjaC5jOjk1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGcm9tICUuKnNcbiIKIG1zZ3N0ciAiRGUgJS4qc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzM1CisjOiBidWlsdGluL2ZldGNoLmM6ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJzb21lIGxvY2FsIHJlZnMgY291bGQgbm90IGJlIHVwZGF0ZWQ7IHRyeSBydW5uaW5nXG4iCkBAIC02MTk4LDU1ICs3NDg4LDU1IEBACiAiIGludGVudGV1IGV4ZWN1dGFyICdnaXQgcmVtb3RlIHBydW5lICVzJyBwZXIgYSBlbGltaW5hclxuIgogIiBxdWFsc2V2dWxsYSBicmFuY2EgYW50aWdhIG8gY29uZmxpY3RpdmEiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3ODcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIGVzIHRvcm5hcsOgIHBlbmphbnQpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Nzg4CisjOiBidWlsdGluL2ZldGNoLmM6OTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIHMnaGEgdG9ybmF0IHBlbmphbnQpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODIwCisjOiBidWlsdGluL2ZldGNoLmM6OTU1CiBtc2dpZCAiW2RlbGV0ZWRdIgogbXNnc3RyICJbc3VwcmltaXRdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODIxIGJ1aWx0aW4vcmVtb3RlLmM6MTAyNQorIzogYnVpbHRpbi9mZXRjaC5jOjk1NiBidWlsdGluL3JlbW90ZS5jOjEwMjAKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIihjYXApIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODQxCisjOiBidWlsdGluL2ZldGNoLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiUmVmdXNhbnQgb2J0ZW5pciBlbiBsYSBicmFuY2EgYWN0dWFsICVzIGQndW4gZGlww7JzaXQgbm8gbnUiCittc2dzdHIgIlMnZXN0w6AgcmVmdXNhbnQgb2J0ZW5pciBlbiBsYSBicmFuY2EgYWN0dWFsICVzIGQndW4gZGlww7JzaXQgbm8gbnUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAiTCdvcGNpw7MgXCIlc1wiIGFtYiB2YWxvciBcIiVzXCIgbm8gw6lzIHbDoGxpZGEgcGVyIGEgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgaXMgaWdub3JlZCBmb3IgJXNcbiIKIG1zZ3N0ciAiUydpZ25vcmEgbCdvcGNpw7MgXCIlc1wiIHBlciBhICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCiBtc2dzdHIgIk5vIHNlIHNhcCBjb20gb2J0ZW5pciBkZSAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwODAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzXG4iCi1tc2dzdHIgIk9idGVuaW50ICVzXG4iCittc2dzdHIgIlMnZXN0w6Agb2J0ZW5pbnQgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwODIgYnVpbHRpbi9yZW1vdGUuYzo5NgorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzkgYnVpbHRpbi9yZW1vdGUuYzo5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmV0Y2ggJXMiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjU3CiBtc2dpZCAiIgogIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgogInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCkBAIC02MjU0LDMyICs3NTQ0LDQwIEBACiAiQ2FwIGRpcMOyc2l0IHJlbW90IGVzcGVjaWZpY2F0LiBTaSB1cyBwbGF1LCBlc3BlY2lmaXF1ZXUgbyB1biBVUkwgb1xuIgogInVuIG5vbSByZW1vdCBkZWwgcXVhbCBlcyBkZXVlbiBvYnRlbmlyIGxlcyByZXZpc2lvbnMgbm92ZXMuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEyMworIzogYnVpbHRpbi9mZXRjaC5jOjEyODAKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICJOZWNlc3NpdGV1IGVzcGVjaWZpY2FyIHVuIG5vbSBkJ2V0aXF1ZXRhLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIyCittc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiTm8gcydhZG1ldCB1bmEgcHJvZnVuZGl0YXQgbmVnYXRpdmEgZW4gLS1kZWVwZW4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI0Cittc2dpZCAiLS1kZWVwZW4gYW5kIC0tZGVwdGggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1kZWVwZW4gaSAtLWRlcHRoIHPDs24gbXV0dWFsbWVudCBleGNsdXNpdXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI5CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi0tZGVwdGggaSAtLXVuc2hhbGxvdyBubyBlcyBwb2RlbiB1c2FyIGp1bnRzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE2NworIzogYnVpbHRpbi9mZXRjaC5jOjEzMzEKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS11bnNoYWxsb3cgZW4gdW4gZGlww7JzaXQgY29tcGxldCBubyB0w6kgc2VudGl0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4NworIzogYnVpbHRpbi9mZXRjaC5jOjEzNTMKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCB0YWtlIGEgcmVwb3NpdG9yeSBhcmd1bWVudCIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwgbm8gYWNjZXB0YSB1biBwYXLDoG1ldHJlIGRlIGRpcMOyc2l0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4OQorIzogYnVpbHRpbi9mZXRjaC5jOjEzNTUKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgImZldGNoIC0tYWxsIG5vIHTDqSBzZW50aXQgYW1iIGVzcGVjaWZpY2FjaW9ucyBkZSByZWZlcsOobmNpYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlIG9yIHJlbW90ZSBncm91cDogJXMiCiBtc2dzdHIgIk5vIGhpIGhhIHRhbCByZW1vdCBuaSB0YWwgZ3J1cCByZW1vdDogJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjA4CisjOiBidWlsdGluL2ZldGNoLmM6MTM3NAogbXNnaWQgIkZldGNoaW5nIGEgZ3JvdXAgYW5kIHNwZWNpZnlpbmcgcmVmc3BlY3MgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiT2J0ZW5pciB1biBncnVwIGkgZXNwZWNpZmljYXIgcmVmZXLDqG5jaWVzIG5vIHTDqSBzZW50aXQiCiAKQEAgLTYyODksMjMgKzc1ODcsMjMgQEAKIG1zZ3N0ciAiIgogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWlzc2F0Z2U+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA8Zml0eGVyPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzCiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICJlbXBsZW5hIGVsIHJlZ2lzdHJlIGFtYiA8bj4gZW50cmFkZXMgZGVsIHJlZ2lzdHJlIGN1cnQgY29tIGEgbcOgeGltIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NgogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgIsOgbGllcyBwZXIgLS1sb2cgKGRlc2Fwcm92YXQpIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzMKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2OQogbXNnaWQgInRleHQiCiBtc2dzdHIgInRleHQiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcwCiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgogbXNnc3RyICJ1c2EgPHRleHQ+IGNvbSBhIGluaWNpIGRlIG1pc3NhdGdlIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzUKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICJmaXR4ZXIgZGVsIHF1YWwgbGxlZ2lyIgogCkBAIC02MzY3LDY1ICs3NjY1LDY1IEBACiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBsZXMgcmVmZXLDqG5jaWVzIHF1ZSBjb250aW5ndWluIGxhIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9mc2NrLmM6MTU2IGJ1aWx0aW4vcHJ1bmUuYzoxNDAKLW1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkiCi1tc2dzdHIgIkNvbXByb3ZhbnQgY29ubmVjdGl2aXRhdCIKLQotIzogYnVpbHRpbi9mc2NrLmM6NDg2CisjOiBidWlsdGluL2ZzY2suYzo1MTkKIG1zZ2lkICJDaGVja2luZyBvYmplY3QgZGlyZWN0b3JpZXMiCi1tc2dzdHIgIkNvbXByb3ZhbnQgZWxzIGRpcmVjdG9yaXMgZCdvYmplY3RlIgorbXNnc3RyICJTJ2VzdGFuIGNvbXByb3ZhbnQgZWxzIGRpcmVjdG9yaXMgZCdvYmplY3RlIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NTMKKyM6IGJ1aWx0aW4vZnNjay5jOjU4OAogbXNnaWQgImdpdCBmc2NrIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgImdpdCBmc2NrIFs8b3BjaW9ucz5dIFs8b2JqZWN0ZT4uLi5dIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NTkKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NAogbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAibW9zdHJhIGVscyBvYmplY3RlcyBpbmFiYXN0YWJsZXMiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MAorIzogYnVpbHRpbi9mc2NrLmM6NTk1CiBtc2dpZCAic2hvdyBkYW5nbGluZyBvYmplY3RzIgogbXNnc3RyICJtb3N0cmEgZWxzIG9iamVjdGVzIHBlbmphbnRzIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjEKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NgogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICJpbmZvcm1hIGRlIGxlcyBldGlxdWV0ZXMiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MgorIzogYnVpbHRpbi9mc2NrLmM6NTk3CiBtc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCiBtc2dzdHIgImluZm9ybWEgZGVscyBub2RlcyBkJ2FycmVsIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjMKKyM6IGJ1aWx0aW4vZnNjay5jOjU5OAogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgogbXNnc3RyICJmZXMgZWxzIG9iamVjdGVzIGQnw61uZGV4IG5vZGVzIGRlIGNhcCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY0CisjOiBidWlsdGluL2ZzY2suYzo1OTkKIG1zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCiBtc2dzdHIgImZlcyBxdWUgZWxzIHJlZ2lzdHJlcyBkZSByZWZlcsOobmNpZXMgc2lndWluIG5vZGVzIGRlIGNhcCAocGVyIGRlZmVjdGUpIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjUKKyM6IGJ1aWx0aW4vZnNjay5jOjYwMAogbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgogbXNnc3RyICJ0YW1iw6kgY29uc2lkZXJhIGVscyBwYXF1ZXRzIGkgZWxzIG9iamVjdGVzIGFsdGVybmF0aXVzIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjYKKyM6IGJ1aWx0aW4vZnNjay5jOjYwMQogbXNnaWQgImNoZWNrIG9ubHkgY29ubmVjdGl2aXR5IgogbXNnc3RyICJjb21wcm92YSBub23DqXMgbGEgY29ubmVjdGl2aXRhdCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY3CisjOiBidWlsdGluL2ZzY2suYzo2MDIKIG1zZ2lkICJlbmFibGUgbW9yZSBzdHJpY3QgY2hlY2tpbmciCiBtc2dzdHIgImhhYmlsaXRhIGxhIGNvbXByb3ZhY2nDsyBtw6lzIGVzdHJpY3RhIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjkKKyM6IGJ1aWx0aW4vZnNjay5jOjYwNAogbXNnaWQgIndyaXRlIGRhbmdsaW5nIG9iamVjdHMgaW4gLmdpdC9sb3N0LWZvdW5kIgogbXNnc3RyICJlc2NyaXUgb2JqZWN0ZXMgcGVuamFudHMgYSAuZ2l0L2xvc3QtZm91bmQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU3MCBidWlsdGluL3BydW5lLmM6MTA3CisjOiBidWlsdGluL2ZzY2suYzo2MDUgYnVpbHRpbi9wcnVuZS5jOjEwNwogbXNnaWQgInNob3cgcHJvZ3Jlc3MiCiBtc2dzdHIgIm1vc3RyYSBlbCBwcm9ncsOpcyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjMxCisjOiBidWlsdGluL2ZzY2suYzo2MDYKK21zZ2lkICJzaG93IHZlcmJvc2UgbmFtZXMgZm9yIHJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICJtb3N0cmEgZWxzIG5vbXMgZGV0YWxsYXRzIGRlbHMgb2JqZWN0ZXMgYWJhc3RhYmxlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NjY1CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0cyIKLW1zZ3N0ciAiQ29tcHJvdmFudCBlbHMgb2JqZWN0ZXMiCittc2dzdHIgIlMnZXN0YW4gY29tcHJvdmFudCBlbHMgb2JqZWN0ZXMiCiAKICM6IGJ1aWx0aW4vZ2MuYzoyNQogbXNnaWQgImdpdCBnYyBbPG9wdGlvbnM+XSIKQEAgLTY0NzYsMTIgKzc3NzQsMTMgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGluIGJhY2tncm91bmQgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIiIKLSJFbXBhcXVldGFudCBhdXRvbcOgdGljYW1lbnQgZWwgZGlww7JzaXQgZW4gZWwgZm9ucyBwZXIgcmVuZGltZW50IMOycHRpbS5cbiIKKyJTJ2VzdMOgIGVtcGFxdWV0YW50IGVsIGRpcMOyc2l0IGF1dG9tw6B0aWNhbWVudCBlbiBlbCBmb25zIHBlciByZW5kaW1lbnQgIgorIsOycHRpbS5cbiIKIAogIzogYnVpbHRpbi9nYy5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCi1tc2dzdHIgIkVtcGFxdWV0YW50IGF1dG9tw6B0aWNhbWVudCBlbCBkaXDDsnNpdCBwZXIgcmVuZGltZW50IMOycHRpbS5cbiIKK21zZ3N0ciAiUydlc3TDoCBlbXBhcXVldGFudCBhdXRvbcOgdGljYW1lbnQgZWwgZGlww7JzaXQgcGVyIHJlbmRpbWVudCDDsnB0aW0uXG4iCiAKICM6IGJ1aWx0aW4vZ2MuYzozNzYKICMsIGMtZm9ybWF0CkBAIC02NDkzLDcgKzc3OTIsNyBAQAogbXNnaWQgIiIKICJnYyBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gbWFjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBpZiBub3QpIgogbXNnc3RyICIiCi0iZ2MgamEgZXN0w6AgZXhlY3V0YW50IGVuIGxhIG3DoHF1aW5hICclcycgcGlkICU8UFJJdU1BWD4gKHVzZXUgLS1mb3JjZSBzaSBubykiCisiZ2MgamEgcydlc3TDoCBleGVjdXRhbnQgZW4gbGEgbcOgcXVpbmEgJyVzJyBwaWQgJTxQUkl1TUFYPiAodXNldSAtLWZvcmNlIHNpIG5vKSIKIAogIzogYnVpbHRpbi9nYy5jOjQ0MQogbXNnaWQgIiIKQEAgLTY1MTYsMjI4ICs3ODE1LDIyMyBAQAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkgZm9yICVzIgogbXNnc3RyICJzJ2hhIGVzcGVjaWZpY2F0IHVuIG5vbWJyZSBkZSBmaWxzIG5vIHbDoGxpZCAoJWQpIHBlciBhICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo0NTIgYnVpbHRpbi9ncmVwLmM6NDg3CisjOiBidWlsdGluL2dyZXAuYzo0NTMgYnVpbHRpbi9ncmVwLmM6NDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgbCdhcmJyZSAoJXMpIgogCi0jOiBidWlsdGluL2dyZXAuYzo1MDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjUwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ3JlcCBmcm9tIG9iamVjdCBvZiB0eXBlICVzIgogbXNnc3RyICJubyBlcyBwb3QgZmVyIGdyZXAgZGVzIGQndW4gb2JqZWN0ZSBkZSB0aXB1cyAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTU4CisjOiBidWlsdGluL2dyZXAuYzo1NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAibCdvcGNpw7MgYCVjJyBlc3BlcmEgdW4gdmFsb3IgbnVtw6hyaWMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjU3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgotbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgJyVzJyIKLQotIzogYnVpbHRpbi9ncmVwLmM6NjQ0CisjOiBidWlsdGluL2dyZXAuYzo2NDcKIG1zZ2lkICJzZWFyY2ggaW4gaW5kZXggaW5zdGVhZCBvZiBpbiB0aGUgd29yayB0cmVlIgogbXNnc3RyICJjZXJjYSBlbiBsJ8OtbmRleCBlbiBsbG9jIGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjQ2CisjOiBidWlsdGluL2dyZXAuYzo2NDkKIG1zZ2lkICJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIKIG1zZ3N0ciAiY2VyY2EgZW4gY29udGluZ3V0cyBubyBnZXN0aW9uYXRzIHBlciBnaXQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY0OAorIzogYnVpbHRpbi9ncmVwLmM6NjUxCiBtc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJjZXJjYSB0YW50IGVuIGZpdHhlcnMgc2VndWl0cyBjb20gZW4gbm8gc2VndWl0cyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjUwCisjOiBidWlsdGluL2dyZXAuYzo2NTMKIG1zZ2lkICJpZ25vcmUgZmlsZXMgc3BlY2lmaWVkIHZpYSAnLmdpdGlnbm9yZSciCiBtc2dzdHIgImlnbm9yYSBlbHMgZml0eGVycyBlc3BlY2lmaWNhdHMgbWl0amFuw6dhbnQgJy5naXRpZ25vcmUnIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1NgogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJtb3N0cmEgbGVzIGzDrW5pZXMgbm8gY29pbmNpZGVudHMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1NQorIzogYnVpbHRpbi9ncmVwLmM6NjU4CiBtc2dpZCAiY2FzZSBpbnNlbnNpdGl2ZSBtYXRjaGluZyIKIG1zZ3N0ciAiY29pbmNpZMOobmNpYSBpbnNlbnNpYmxlIGEgbWFqw7pzY3VsYSBpIG1pbsO6c2N1bGEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1NworIzogYnVpbHRpbi9ncmVwLmM6NjYwCiBtc2dpZCAibWF0Y2ggcGF0dGVybnMgb25seSBhdCB3b3JkIGJvdW5kYXJpZXMiCiBtc2dzdHIgImNvaW5jaWRlaXggYW1iIGVscyBwYXRyb25zIG5vbcOpcyBhbHMgbMOtbWl0cyBkZSBwYXJhdWxhIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2MgogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIHRleHQiCiBtc2dzdHIgInByb2Nlc3NhIGVscyBmaXR4ZXJzIGJpbmFyaXMgY29tIGEgdGV4dCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjYxCisjOiBidWlsdGluL2dyZXAuYzo2NjQKIG1zZ2lkICJkb24ndCBtYXRjaCBwYXR0ZXJucyBpbiBiaW5hcnkgZmlsZXMiCiBtc2dzdHIgIm5vIGNvaW5jaWRlaXhpcyBhbWIgZWxzIHBhdHJvbnMgZW4gZWxzIGZpdHhlcnMgYmluYXJpcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY0CisjOiBidWlsdGluL2dyZXAuYzo2NjcKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCiBtc2dzdHIgInByb2Nlc3NhIGVscyBmaXR4ZXJzIGJpbmFyaXMgYW1iIGZpbHRyZXMgZGUgdGV4dGNvbnYiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2NgorIzogYnVpbHRpbi9ncmVwLmM6NjY5CiBtc2dpZCAiZGVzY2VuZCBhdCBtb3N0IDxkZXB0aD4gbGV2ZWxzIgogbXNnc3RyICJkZXNjZW5kZWl4IGNvbSBhIG3DoHhpbSA8cHJvZnVuZGl0YXQ+IG5pdmVsbHMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3MAorIzogYnVpbHRpbi9ncmVwLmM6NjczCiBtc2dpZCAidXNlIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgInVzYSBsZXMgZXhwcmVzc2lvbnMgcmVndWxhcnMgUE9TSVggZXN0ZXNlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjczCisjOiBidWlsdGluL2dyZXAuYzo2NzYKIG1zZ2lkICJ1c2UgYmFzaWMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyAoZGVmYXVsdCkiCiBtc2dzdHIgInVzYSBsZXMgZXhwcmVzc2lvbnMgcmVndWxhcnMgUE9TSVggYsOgc2lxdWVzIChwZXIgZGVmZWN0ZSkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3NgorIzogYnVpbHRpbi9ncmVwLmM6Njc5CiBtc2dpZCAiaW50ZXJwcmV0IHBhdHRlcm5zIGFzIGZpeGVkIHN0cmluZ3MiCiBtc2dzdHIgImludGVycHJldGEgZWxzIHBhdHJvbnMgY29tIGEgY2FkZW5lcyBmaXhlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc5CisjOiBidWlsdGluL2dyZXAuYzo2ODIKIG1zZ2lkICJ1c2UgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgInVzYSBsZXMgZXhwcmVzc2lvbnMgcmVndWxhcnMgY29tcGF0aWJsZXMgYW1iIFBlcmwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4MgorIzogYnVpbHRpbi9ncmVwLmM6Njg1CiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgIm1vc3RyYSBlbHMgbsO6bWVyb3MgZGUgbMOtbmlhIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NgogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJubyBtb3N0cmlzIGVscyBub21zIGRlIGZpdHhlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg0CisjOiBidWlsdGluL2dyZXAuYzo2ODcKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAibW9zdHJhIGVscyBub21zIGRlIGZpdHhlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg2CisjOiBidWlsdGluL2dyZXAuYzo2ODkKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJtb3N0cmEgZWxzIG5vbXMgZGUgZml0eGVyIHJlbGF0aXVzIGFsIGRpcmVjdG9yaSBzdXBlcmlvciIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg4CisjOiBidWlsdGluL2dyZXAuYzo2OTEKIG1zZ2lkICJzaG93IG9ubHkgZmlsZW5hbWVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIm1vc3RyYSBub23DqXMgZWxzIG5vbXMgZGUgZml0eGVyIGVuIGxsb2MgZGUgbGVzIGzDrW5pZXMgY29pbmNpZGVudHMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5MAorIzogYnVpbHRpbi9ncmVwLmM6NjkzCiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgInNpbsOybmltIGRlIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5NgogbXNnaWQgInNob3cgb25seSB0aGUgbmFtZXMgb2YgZmlsZXMgd2l0aG91dCBtYXRjaCIKIG1zZ3N0ciAibW9zdHJhIG5vbcOpcyBlbHMgbm9tcyBkZWxzIGZpdHhlcnMgc2Vuc2UgY29pbmNpZMOobmNpYSIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk1CisjOiBidWlsdGluL2dyZXAuYzo2OTgKIG1zZ2lkICJwcmludCBOVUwgYWZ0ZXIgZmlsZW5hbWVzIgogbXNnc3RyICJpbXByaW1laXggTlVMIGRlc3Byw6lzIGRlbHMgbm9tcyBkZSBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5NworIzogYnVpbHRpbi9ncmVwLmM6NzAwCiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAibW9zdHJhIGVsIG5vbWJyZSBkZSBjb2luY2lkw6huY2llcyBlbiBsbG9jIGRlIGxlcyBsw61uaWVzIGNvaW5jaWRlbnRzIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMQogbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgogbXNnc3RyICJyZXNzYWx0YSBsZXMgY29pbmNpZMOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwMAorIzogYnVpbHRpbi9ncmVwLmM6NzAzCiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgImltcHJpbWVpeCB1bmEgbMOtbmlhIGJ1aWRhIGVudHJlIGNvaW5jaWTDqG5jaWVzIGRlIGZpdHhlcnMgZGlzdGludHMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwMgorIzogYnVpbHRpbi9ncmVwLmM6NzA1CiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAiIgogIm1vc3RyYSBlbCBub20gZGUgZml0eGVyIG5vbcOpcyB1bmEgdmVnYWRhIGEgZGFsdCBkZSBsZXMgY29pbmNpZMOobmNpZXMgZGVsICIKICJtYXRlaXggZml0eGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwOAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJtb3N0cmEgPG4+IGzDrW5pZXMgZGUgY29udGV4dCBhYmFucyBpIGRlc3Byw6lzIGQndW5hIGNvaW5jaWTDqG5jaWEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwOAorIzogYnVpbHRpbi9ncmVwLmM6NzExCiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAibW9zdHJhIDxuPiBsw61uaWVzIGRlIGNvbnRleHQgYWJhbnMgZCd1bmEgY29pbmNpZMOobmNpYSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEwCisjOiBidWlsdGluL2dyZXAuYzo3MTMKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIm1vc3RyYSA8bj4gbMOtbmllcyBkZSBjb250ZXh0IGRlc3Byw6lzIGQndW5hIGNvaW5jaWTDqG5jaWEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMgorIzogYnVpbHRpbi9ncmVwLmM6NzE1CiBtc2dpZCAidXNlIDxuPiB3b3JrZXIgdGhyZWFkcyIKIG1zZ3N0ciAidXNhIDxuPiBmaWxzIG9icmVycyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEzCisjOiBidWlsdGluL2dyZXAuYzo3MTYKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgogbXNnc3RyICJkcmVjZXJhIHBlciAtQyBOVU0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxNgorIzogYnVpbHRpbi9ncmVwLmM6NzE5CiBtc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAibW9zdHJhIHVuYSBsw61uaWEgYW1iIGVsIG5vbSBkZSBmdW5jacOzIGFiYW5zIGRlIGxlcyBjb2luY2lkw6huY2llcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE4CisjOiBidWlsdGluL2dyZXAuYzo3MjEKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAibW9zdHJhIGxhIGZ1bmNpw7MgY2lyY3VtZGFudCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzIxCisjOiBidWlsdGluL2dyZXAuYzo3MjQKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAibGxlZ2VpeCBlbHMgcGF0cm9ucyBkZXMgZCd1biBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyMworIzogYnVpbHRpbi9ncmVwLmM6NzI2CiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICJjb2luY2lkZWl4IGFtYiA8cGF0csOzPiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2dyZXAuYzo3MjgKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICJjb21iaW5hIGVscyBwYXRyb25zIGVzcGVjaWZpY2F0cyBhbWIgLWUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczNworIzogYnVpbHRpbi9ncmVwLmM6NzQwCiBtc2dpZCAiaW5kaWNhdGUgaGl0IHdpdGggZXhpdCBzdGF0dXMgd2l0aG91dCBvdXRwdXQiCiBtc2dzdHIgImluZGljYSBjb2luY2lkw6huY2lhIGFtYiBlc3RhdCBkZSBzb3J0aWRhIHNlbnNlIHNvcnRpZGEgdGV4dHVhbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzM5CisjOiBidWlsdGluL2dyZXAuYzo3NDIKIG1zZ2lkICJzaG93IG9ubHkgbWF0Y2hlcyBmcm9tIGZpbGVzIHRoYXQgbWF0Y2ggYWxsIHBhdHRlcm5zIgogbXNnc3RyICIiCiAibW9zdHJhIG5vbcOpcyBsZXMgY29pbmNpZMOobmNpZXMgZGVscyBmaXR4ZXJzIHF1ZSBjb2luY2lkZWl4aW4gYW1iIHRvdHMgZWxzICIKICJwYXRyb25zIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0NAogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICJtb3N0cmEgbCdhcmJyZSBkJ2Fuw6BsaXNpcyBkZSBsJ2V4cHJlc3Npw7MgZGUgZ3JlcCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQ1CisjOiBidWlsdGluL2dyZXAuYzo3NDgKIG1zZ2lkICJwYWdlciIKIG1zZ3N0ciAicGFnaW5hZG9yIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0OAogbXNnaWQgInNob3cgbWF0Y2hpbmcgZmlsZXMgaW4gdGhlIHBhZ2VyIgogbXNnc3RyICJtb3N0cmEgZWxzIGZpdHhlcnMgY29pbmNpZGVudHMgZW4gZWwgcGFnaW5hZG9yIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc1MQogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAicGVybWV0IGxhIGludm9jYWNpw7MgZGUgZ3JlcCgxKSAoaWdub3JhdCBwZXIgYXF1ZXN0YSBjb21waWxhY2nDsykiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxMQorIzogYnVpbHRpbi9ncmVwLmM6ODE0CiBtc2dpZCAibm8gcGF0dGVybiBnaXZlbi4iCiBtc2dzdHIgImNhcCBwYXRyw7MgZG9uYXQuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NQorIzogYnVpbHRpbi9ncmVwLmM6ODQ2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAicydoYSBlc3BlY2lmaWNhdCB1biBub21icmUgZGUgZmlscyBubyB2w6BsaWQgKCVkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODczCisjOiBidWlsdGluL2dyZXAuYzo4NzYKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBub23DqXMgZnVuY2lvbmEgZW4gbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMgogbXNnaWQgIi0tY2FjaGVkIG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1uby1pbmRleC4iCiBtc2dzdHIgIi0tY2FjaGVkIG8gLS11bnRyYWNrZWQgbm8gZXMgcG90IHVzYXIgYW1iIC0tbm8taW5kZXguIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwNwogbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKIG1zZ3N0ciAiLS1uby1pbmRleCBvIC0tdW50cmFja2VkIG5vIGVzIHBvdCB1c2FyIGFtYiByZXZpc2lvbnMuIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxMAogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKIG1zZ3N0ciAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgbm8gZXMgcG90IHVzYXIgcGVyIGFscyBjb250aW5ndXRzIHNlZ3VpdHMuIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxOAogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgInMnaGFuIGRvbmF0IGFtYmTDs3MgLS1jYWNoZXMgaSBhcmJyZXMuIgogCkBAIC02NzUzLDg1ICs4MDQ3LDg5IEBACiBtc2dpZCAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgogbXNnc3RyICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5MworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CiBtc2dpZCAidHlwZSIKIG1zZ3N0ciAidGlwdXMiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5MworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CiBtc2dpZCAib2JqZWN0IHR5cGUiCiBtc2dzdHIgInRpcHVzIGQnb2JqZWN0ZSIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAiZXNjcml1IGwnb2JqZWN0ZSBhIGxhIGJhc2UgZGUgZGFkZXMgZCdvYmplY3RlcyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk2CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKIG1zZ2lkICJyZWFkIHRoZSBvYmplY3QgZnJvbSBzdGRpbiIKIG1zZ3N0ciAibGxlZ2VpeCBsJ29iamVjdGUgZGVzIGQnc3RkaW4iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CiBtc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCiBtc2dzdHIgImVtbWFnYXR6ZW1hIGVsIGZpdHhlciB0YWwgY29tIMOpcyBzZW5zZSBmaWx0cmVzIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTkKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKIG1zZ2lkICIiCiAianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgogbXNnc3RyICIiCiAibm9tw6lzIHN1bWEgcXVhbHNldnVsbGEgYnJvc3NhIGFsZWF0w7JyaWEgcGVyIGEgY3JlYXIgb2JqZWN0ZXMgbWFsbWVzb3MgcGVyIGEgIgogImRlcHVyYXIgYWwgR2l0IgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCiBtc2dpZCAicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiCiBtc2dzdHIgInByb2Nlc3NhIGVsIGZpdHhlciBjb20gc2kgZm9zIGQnYXF1ZXN0IGNhbcOtIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MQorIzogYnVpbHRpbi9oZWxwLmM6NDIKIG1zZ2lkICJwcmludCBhbGwgYXZhaWxhYmxlIGNvbW1hbmRzIgogbXNnc3RyICJpbXByaW1laXggdG90ZXMgbGVzIG9yZHJlcyBkaXNwb25pYmxlcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDIKKyM6IGJ1aWx0aW4vaGVscC5jOjQzCittc2dpZCAiZXhjbHVkZSBndWlkZXMiCittc2dzdHIgImV4Y2xvdSBndcOtZXMiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0CiBtc2dpZCAicHJpbnQgbGlzdCBvZiB1c2VmdWwgZ3VpZGVzIgogbXNnc3RyICJpbXByaW1laXggbGEgbGxpc3RhIGRlIGd1aWVzIMO6dGlscyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDMKKyM6IGJ1aWx0aW4vaGVscC5jOjQ1CiBtc2dpZCAic2hvdyBtYW4gcGFnZSIKIG1zZ3N0ciAibW9zdHJhIGxhIHDDoGdpbmEgZGUgbWFudWFsIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NAorIzogYnVpbHRpbi9oZWxwLmM6NDYKIG1zZ2lkICJzaG93IG1hbnVhbCBpbiB3ZWIgYnJvd3NlciIKIG1zZ3N0ciAibW9zdHJhIGxhIHDDoGdpbmEgZGUgbWFudWFsIGVuIGVsIG5hdmVnYWRvciB3ZWIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ2CisjOiBidWlsdGluL2hlbHAuYzo0OAogbXNnaWQgInNob3cgaW5mbyBwYWdlIgogbXNnc3RyICJtb3N0cmEgbGEgcMOgZ2luYSBkJ2luZm9ybWFjacOzIgogCi0jOiBidWlsdGluL2hlbHAuYzo1MgorIzogYnVpbHRpbi9oZWxwLmM6NTQKIG1zZ2lkICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8Y29tbWFuZD5dIgogbXNnc3RyICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8b3JkcmU+XSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NjQKKyM6IGJ1aWx0aW4vaGVscC5jOjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWxwIGZvcm1hdCAnJXMnIgogbXNnc3RyICJmb3JtYXQgZCdhanVkYSBubyByZWNvbmVndXQgJyVzJyIKIAotIzogYnVpbHRpbi9oZWxwLmM6OTEKKyM6IGJ1aWx0aW4vaGVscC5jOjkzCiBtc2dpZCAiRmFpbGVkIHRvIHN0YXJ0IGVtYWNzY2xpZW50LiIKIG1zZ3N0ciAiUydoYSBmYWxsYXQgZW4gaW5pY2lhciBlbWFjc2NsaWVudC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEwNAorIzogYnVpbHRpbi9oZWxwLmM6MTA2CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgogbXNnc3RyICJTJ2hhIGZhbGxhdCBlbiBhbmFsaXR6YXIgbGEgdmVyc2nDsyBkJ2VtYWNzY2xpZW50LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTEyCisjOiBidWlsdGluL2hlbHAuYzoxMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1hY3NjbGllbnQgdmVyc2lvbiAnJWQnIHRvbyBvbGQgKDwgMjIpLiIKIG1zZ3N0ciAibGEgdmVyc2nDsyBkJ2VtYWNzY2xpZW50ICclZCcgw6lzIG1hc3NhIHZlbGxhICg8IDIyKS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEzMCBidWlsdGluL2hlbHAuYzoxNTEgYnVpbHRpbi9oZWxwLmM6MTYwIGJ1aWx0aW4vaGVscC5jOjE2OAorIzogYnVpbHRpbi9oZWxwLmM6MTMyIGJ1aWx0aW4vaGVscC5jOjE1MyBidWlsdGluL2hlbHAuYzoxNjIgYnVpbHRpbi9oZWxwLmM6MTcwCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBleGVjICclcyc6ICVzIgotbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBleGVjdXRhciAnJXMnOiAlcyIKK21zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgorbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBleGVjdXRhciAnJXMnIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMDUKKyM6IGJ1aWx0aW4vaGVscC5jOjIwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogcGF0aCBmb3IgdW5zdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTY4NDAsNyArODEzOCw3IEBACiAiJyVzJzogY2Ftw60gYSB1biB2aXN1YWxpdHphZG9yIGRlIG1hbnVhbHMgbm8gY29tcGF0aWJsZS5cbiIKICJTaSB1cyBwbGF1LCBjb25zaWRlcmV1IHVzYXIgJ21hbi48ZWluYT4uY21kJyBlbiBsbG9jIGQnYWl4w7IuIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMTcKKyM6IGJ1aWx0aW4vaGVscC5jOjIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogY21kIGZvciBzdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTY4NDksNDI5ICs4MTQ3LDQzMiBAQAogIiclcyc6IG9yZHJlIHBlciBhIHVuIHZpc3VhbGl0emFkb3IgZGUgbWFudWFscyBjb21wYXRpYmxlLlxuIgogIlNpIHVzIHBsYXUsIGNvbnNpZGVyZXUgdXNhciAnbWFuLjxlaW5hPi5wYXRoJyBlbiBsbG9jIGQnYWl4w7IuIgogCi0jOiBidWlsdGluL2hlbHAuYzozMzQKKyM6IGJ1aWx0aW4vaGVscC5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmtub3duIG1hbiB2aWV3ZXIuIgotbXNnc3RyICInJXMnOiB2aXN1YWxpdHphZG9yIGRlIG1hbnVhbHMgZGVzY29uZWd1dCIKK21zZ3N0ciAiJyVzJzogdmlzdWFsaXR6YWRvciBkZSBtYW51YWxzIGRlc2NvbmVndXQuIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTEKKyM6IGJ1aWx0aW4vaGVscC5jOjM1MwogbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAiY2FwIHZpc3VhbGl0emFkb3IgZGUgbWFudWFscyBoYSBnZXN0aW9uYXQgbGEgc29swrdsaWNpdHVkIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTkKKyM6IGJ1aWx0aW4vaGVscC5jOjM2MQogbXNnaWQgIm5vIGluZm8gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgImNhcCB2aXN1YWxpdHphZG9yIGQnaW5mb3JtYWNpw7MgaGEgZ2VzdGlvbmF0IGxhIHNvbMK3bGljaXR1ZCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA4CisjOiBidWlsdGluL2hlbHAuYzo0MDMKIG1zZ2lkICJEZWZpbmluZyBhdHRyaWJ1dGVzIHBlciBwYXRoIgogbXNnc3RyICJMYSBkZWZpbmljacOzIGQnYXRyaWJ1dHMgcGVyIGNhbcOtIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDkKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNAogbXNnaWQgIkV2ZXJ5ZGF5IEdpdCBXaXRoIDIwIENvbW1hbmRzIE9yIFNvIgogbXNnc3RyICJHaXQgcXVvdGlkacOgIGFtYiBtw6lzIG8gbWVueXMgMjAgb3JkcmVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTAKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNQogbXNnaWQgIkEgR2l0IGdsb3NzYXJ5IgogbXNnc3RyICJVbiBnbG9zc2FyaSBkZSBHaXQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMQorIzogYnVpbHRpbi9oZWxwLmM6NDA2CiBtc2dpZCAiU3BlY2lmaWVzIGludGVudGlvbmFsbHkgdW50cmFja2VkIGZpbGVzIHRvIGlnbm9yZSIKIG1zZ3N0ciAiRXNwZWNpZmljYSBlbHMgZml0eGVycyBpbnRlbmNpb25hbG1lbnQgbm8gc2VndWl0cyBhIGlnbm9yYXIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMgorIzogYnVpbHRpbi9oZWxwLmM6NDA3CiBtc2dpZCAiRGVmaW5pbmcgc3VibW9kdWxlIHByb3BlcnRpZXMiCiBtc2dzdHIgIkxhIGRlZmluaWNpw7MgZGUgbGVzIHByb3BpZXRhdHMgZGUgc3VibcOyZHVscyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDEzCisjOiBidWlsdGluL2hlbHAuYzo0MDgKIG1zZ2lkICJTcGVjaWZ5aW5nIHJldmlzaW9ucyBhbmQgcmFuZ2VzIGZvciBHaXQiCiBtc2dzdHIgIkwnZXNwZWNpZmljYWNpw7MgZGUgcmV2aXNpb25zIGkgcmFuZ3MgcGVyIGFsIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDE0CisjOiBidWlsdGluL2hlbHAuYzo0MDkKIG1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQgKGZvciB2ZXJzaW9uIDEuNS4xIG9yIG5ld2VyKSIKIG1zZ3N0ciAiVW5hIGludHJvZHVjY2nDsyB0dXRvcmlhbCBhbCBHaXQgKHBlciBhIGxhIHZlcnNpw7MgMS41LjEgbyBtw6lzIG5vdSkiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxNQorIzogYnVpbHRpbi9oZWxwLmM6NDEwCiBtc2dpZCAiQW4gb3ZlcnZpZXcgb2YgcmVjb21tZW5kZWQgd29ya2Zsb3dzIHdpdGggR2l0IgogbXNnc3RyICJVbmEgdmlzacOzIGRlIGNvbmp1bnQgZGUgZmx1eG9zIGRlIHRyZWJhbGwgcmVjb21hbmF0cyBhbWIgR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MjcKKyM6IGJ1aWx0aW4vaGVscC5jOjQyMgogbXNnaWQgIlRoZSBjb21tb24gR2l0IGd1aWRlcyBhcmU6XG4iCiBtc2dzdHIgIkxlcyBndWllcyBkZSBHaXQgY29tdW5lcyBzw7NuOlxuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDggYnVpbHRpbi9oZWxwLmM6NDY1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVzYWdlOiAlcyVzIgotbXNnc3RyICLDunM6ICVzJXMiCi0KLSM6IGJ1aWx0aW4vaGVscC5jOjQ4MQorIzogYnVpbHRpbi9oZWxwLmM6NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImBnaXQgJXMnIGlzIGFsaWFzZWQgdG8gYCVzJyIKIG1zZ3N0ciAiYGdpdCAlcycgw6lzIHVuIMOgbGllcyBkZSBgJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTIKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2MiBidWlsdGluL2hlbHAuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNhZ2U6ICVzJXMiCittc2dzdHIgIsO6czogJXMlcyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgdHlwZSBtaXNtYXRjaCBhdCAlcyIKIG1zZ3N0ciAiaGkgaGEgdW5hIGRpc2NvcmRhbsOnYSBkZSB0aXB1cyBkJ29iamVjdGUgYSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGlkIG5vdCByZWNlaXZlIGV4cGVjdGVkIG9iamVjdCAlcyIKIG1zZ3N0ciAibm8gcydoYSByZWJ1dCBsJ29iamVjdGUgZXNwZXJhdCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzOiBleHBlY3RlZCB0eXBlICVzLCBmb3VuZCAlcyIKIG1zZ3N0ciAib2JqZWN0ZSAlczogdGlwdXMgJXMgZXNwZXJhdCwgJXMgdHJvYmF0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmlsbCAlZCBieXRlIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgZmlsbCAlZCBieXRlcyIKIG1zZ3N0clswXSAibm8gZXMgcG90IG9tcGxpciAlZCBvY3RldCIKIG1zZ3N0clsxXSAibm8gZXMgcG90IG9tcGxpciAlZCBvY3RldHMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc5CiBtc2dpZCAiZWFybHkgRU9GIgogbXNnc3RyICJFT0YgcHJlbWF0dXIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgwCiBtc2dpZCAicmVhZCBlcnJvciBvbiBpbnB1dCIKIG1zZ3N0ciAiZXJyb3IgZGUgbGVjdHVyYSBkJ2VudHJhZGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkyCiBtc2dpZCAidXNlZCBtb3JlIGJ5dGVzIHRoYW4gd2VyZSBhdmFpbGFibGUiCiBtc2dzdHIgInMnaGFuIHVzYXQgbcOpcyBvY3RldHMgcXVlIGhpIGhhdmlhIGRpc3BvbmlibGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5OQogbXNnaWQgInBhY2sgdG9vIGxhcmdlIGZvciBjdXJyZW50IGRlZmluaXRpb24gb2Ygb2ZmX3QiCiBtc2dzdHIgInBhcXVldCBtYXNzYSBncmFuIHBlciBhIGxhIGRlZmluaWNpw7MgYWN0dWFsIGQnb2ZmX3QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAyIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5MgorbXNnaWQgInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIKK21zZ3N0ciAiZWwgcGFxdWV0IHN1cGVyYSBsYSBtaWRhIG3DoHhpbWEgcGVybWVzYSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKLW1zZ3N0ciAibm8gZXMgcG90IGNyZWFyICclcyciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gcGFja2ZpbGUgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IG9icmlyIGVsIGZpdHhlciBkZSBwYXF1ZXQgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzMyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMzYKIG1zZ2lkICJwYWNrIHNpZ25hdHVyZSBtaXNtYXRjaCIKLW1zZ3N0ciAiaGkgaGEgdW5hIGRpc2NvcmRhbsOnYSBkZSBmaXJtYSBkZSBwYXF1ZXQiCittc2dzdHIgImhpIGhhIHVuYSBkaXNjb3JkYW7Dp2EgZGUgc2lnbmF0dXJhIGRlIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayB2ZXJzaW9uICU8UFJJdTMyPiB1bnN1cHBvcnRlZCIKIG1zZ3N0ciAibGEgdmVyc2nDsyBkZSBwYXF1ZXQgJTxQUkl1MzI+IG5vIMOpcyBjb21wYXRpYmxlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozNTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM1NgogIywgYy1mb3JtYXQKLW1zZ2lkICJwYWNrIGhhcyBiYWQgb2JqZWN0IGF0IG9mZnNldCAlbHU6ICVzIgotbXNnc3RyICJlbCBwYXF1ZXQgdMOpIHVuIG9iamVjdGUgZG9sZW50IGEgbGEgcG9zaWNpw7MgJWx1OiAlcyIKK21zZ2lkICJwYWNrIGhhcyBiYWQgb2JqZWN0IGF0IG9mZnNldCAlPFBSSXVNQVg+OiAlcyIKK21zZ3N0ciAiZWwgcGFxdWV0IHTDqSB1biBvYmplY3RlIGRvbGVudCBhIGxhIHBvc2ljacOzICU8UFJJdU1BWD46ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo0NzMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZsYXRlIHJldHVybmVkICVkIgogbXNnc3RyICJsYSBpbmZsYWNpw7MgaGEgcmV0b3JuYXQgJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTI3CiBtc2dpZCAib2Zmc2V0IHZhbHVlIG92ZXJmbG93IGZvciBkZWx0YSBiYXNlIG9iamVjdCIKIG1zZ3N0ciAiZGVzYm9yZGFtZW50IGRlIHZhbG9yIGRlIGRlc3BsYcOnYW1lbnQgcGVyIGEgbCdvYmplY3RlIGJhc2UgZGUgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTM1CiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgogbXNnc3RyICJlbCBkZXNwbGHDp2FtZW50IGRlIGJhc2UgZGUgZGVsdGEgZXN0w6AgZm9yYSBkZSBsw61taXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgogbXNnc3RyICJ0aXB1cyBkJ29iamVjdGUgZGVzY29uZWd1dCAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzQKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgogbXNnc3RyICJubyBlcyBwb3QgZmVyIHByZWFkIGVuIGVsIGZpdHhlciBkZSBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc2CiAjLCBjLWZvcm1hdAotbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlbHUgYnl0ZSBtaXNzaW5nIgotbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJWx1IGJ5dGVzIG1pc3NpbmciCi1tc2dzdHJbMF0gImZpbmFsIHByZW1hdHVyIGRlIGZpdHhlciBkZSBwYXF1ZXQsIG1hbmNhICVsdSBvY3RldCIKLW1zZ3N0clsxXSAiZmluYWwgcHJlbWF0dXIgZGUgZml0eGVyIGRlIHBhcXVldCwgbWFucXVlbiAlbHUgb2N0ZXRzIgorbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGUgbWlzc2luZyIKK21zZ2lkX3BsdXJhbCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZXMgbWlzc2luZyIKK21zZ3N0clswXSAiZWwgZmluYWwgZGVsIGZpdHhlciBkZSBwYXF1ZXQgw6lzIHByZW1hdHVyLCBtYW5jYSAlPFBSSXVNQVg+IG9jdGV0IgorbXNnc3RyWzFdICIiCisiZWwgZmluYWwgZGVsIGZpdHhlciBkZSBwYXF1ZXQgw6lzIHByZW1hdHVyLCBtYW5xdWVuICU8UFJJdU1BWD4gb2N0ZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1OTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjYwMgogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgogbXNnc3RyICJoaSBoYSB1bmEgaW5jb25zaXN0w6huY2lhIHNlcmlvc2EgZCdpbmZsYWNpw7MiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0MyBidWlsdGluL2luZGV4LXBhY2suYzo3NDkgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzcyCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDYgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDggYnVpbHRpbi9pbmRleC1wYWNrLmM6NzU0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc3NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODExIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJTSEExIENPTExJU0lPTiBGT1VORCBXSVRIICVzICEiCiBtc2dzdHIgIlMnSEEgVFJPQkFUIFVOQSBDT0zCt0xJU0nDkyBTSEExIEFNQiAlcyAhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjIKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODEyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0ICVzIgogbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyIGwnb2JqZWN0ZSBleGlzdGVudCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODI2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBibG9iIG9iamVjdCAlcyIKIG1zZ3N0ciAib2JqZWN0ZSBkZSBibG9iIG5vIHbDoGxpZCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAlcyIKIG1zZ3N0ciAiJXMgbm8gdsOgbGlkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0OAogbXNnaWQgIkVycm9yIGluIG9iamVjdCIKIG1zZ3N0ciAiRXJyb3IgZW4gb2JqZWN0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCiBtc2dzdHIgIk5vIHRvdHMgZWxzIG9iamVjdGVzIGZpbGxzIGRlICVzIHPDs24gYWJhc3RhYmxlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTE3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk0OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTIyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk1MwogbXNnaWQgImZhaWxlZCB0byBhcHBseSBkZWx0YSIKIG1zZ3N0ciAicydoYSBmYWxsYXQgZW4gYXBsaWNhciBsYSBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyMwogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgotbXNnc3RyICJSZWJlbnQgb2JqZWN0ZXMiCittc2dzdHIgIlMnZXN0YW4gcmViZW50IG9iamVjdGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTIzCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKLW1zZ3N0ciAiSW5kZXhhbnQgb2JqZWN0ZXMiCittc2dzdHIgIlMnZXN0YW4gaW5kZXhhbnQgb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTUKIG1zZ2lkICJwYWNrIGlzIGNvcnJ1cHRlZCAoU0hBMSBtaXNtYXRjaCkiCiBtc2dzdHIgImVsIHBhcXVldCDDqXMgbWFsbcOocyAoZGlzY29yZGFuw6dhIFNIQTEpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYwCiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgogbXNnc3RyICJubyBlcyBwb3QgZmVyIGZzdGF0IGVuIGVsIGZpdHhlciBkZSBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjMKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCiBtc2dzdHIgImVsIHBhcXVldCB0w6kgYnJvc3NhIGFsIHNldSBmaW5hbCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NAogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkgaW4gcGFyc2VfcGFja19vYmplY3RzKCkiCiBtc2dzdHIgImNvbmZ1c2nDsyBtw6lzIGVubGzDoCBkZSBsYSBib2dlcmlhIGVuIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk3CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKLW1zZ3N0ciAiUmVzb2xlbnQgbGVzIGRlbHRlcyIKK21zZ3N0ciAiUydlc3RhbiByZXNvbGVudCBsZXMgZGVsdGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBjcmVhciBmaWw6ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUwCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAiY29uZnVzacOzIG3DqXMgZW5sbMOgIGRlIGxhIGJvZ2VyaWEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKLW1zZ3N0ciAicydoYSBjb21wbGV0YXQgYW1iICVkIG9iamVjdGVzIGxvY2FscyIKK21zZ2lkICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3QiCittc2dpZF9wbHVyYWwgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdHMiCittc2dzdHJbMF0gInMnaGEgY29tcGxldGF0IGFtYiAlZCBvYmplY3RlIGxvY2FsIgorbXNnc3RyWzFdICJzJ2hhIGNvbXBsZXRhdCBhbWIgJWQgb2JqZWN0ZXMgbG9jYWxzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjYzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICJTdW1hIGRlIHZlcmlmaWNhY2nDsyBmaW5hbCBubyBlc3BlcmFkYSBwZXIgYSAlcyAoY29ycnVwY2nDsyBkZSBkaXNjPykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKIG1zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCiBtc2dzdHJbMF0gIkVsIHBhcXVldCB0w6kgJWQgZGVsdGEgbm8gcmVzb2x0YSIKIG1zZ3N0clsxXSAiRWwgcGFxdWV0IHTDqSAlZCBkZWx0ZXMgbm8gcmVzb2x0ZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZGVzaW5mbGFyIGwnb2JqZWN0ZSBhbm5leGF0ICglZCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9jYWwgb2JqZWN0ICVzIGlzIGNvcnJ1cHQiCiBtc2dzdHIgImwnb2JqZWN0ZSBsb2NhbCAlcyDDqXMgbWFsbcOocyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM5MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM5NgogbXNnaWQgImVycm9yIHdoaWxlIGNsb3NpbmcgcGFjayBmaWxlIgogbXNnc3RyICJlcnJvciBlbiB0YW5jYXIgZWwgZml0eGVyIGRlIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUga2VlcCBmaWxlICclcyciCiBtc2dzdHIgIm5vIGVzIHBvdCBlc2NyaXVyZSBlbCBmaXR4ZXIgYSByZXRlbmlyICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNsb3NlIHdyaXR0ZW4ga2VlcCBmaWxlICclcyciCiBtc2dzdHIgIm5vIGVzIHBvdCB0YW5jYXIgZWwgZml0eGVyIGVzY3JpdCBhIHJldGVuaXIgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzMAogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgIm5vIGVzIHBvdCBlbW1hZ2F0emVtYXIgZWwgZml0eGVyIGRlIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0MQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICJubyBlcyBwb3QgZW1tYWdhdHplbWFyIGVsIGZpdHhlciBkJ8OtbmRleCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICJwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4gZG9sZW50IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDc5IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NjQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgotbXNnc3RyICJubyBoaSBoYSBzdXBvcnQgZGUgZmlscywgaWdub3JhbnQgJXMiCittc2dzdHIgIm5vIGhpIGhhIHN1cG9ydCBkZSBmaWxzLCBzJ2VzdMOgIGlnbm9yYW50ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTM4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgZmlsZSAnJXMnIgogbXNnc3RyICJObyBlcyBwb3Qgb2JyaXIgZWwgZml0eGVyIGRlIHBhcXVldCBleGlzdGVudCAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIk5vIGVzIHBvdCBvYnJpciBlbCBmaXR4ZXIgZCfDrW5kZXggZGUgcGFxdWV0cyBleGlzdGVudCBkZSAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTg3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vbiBkZWx0YTogJWQgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJub24gZGVsdGE6ICVkIG9iamVjdHMiCiBtc2dzdHJbMF0gInNlbnNlIGRlbHRhOiAlZCBvYmplY3RlIgogbXNnc3RyWzFdICJzZW5zZSBkZWx0YTogJWQgb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAibG9uZ2l0dWQgZGUgY2FkZW5hID0gJWQ6ICVsdSBvYmplY3RlIgogbXNnc3RyWzFdICJsb25naXR1ZCBkZSBjYWRlbmEgPSAlZDogJWx1IG9iamVjdGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjI0Ci1tc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCi1tc2dzdHIgIk5vIGVzIHBvdCB0b3JuYXIgYWwgZGlyZWN0b3JpIGRlIHRyZWJhbGwgYWN0dWFsIgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYxMQorIywgYy1mb3JtYXQKK21zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKK21zZ3N0ciAiZWwgbm9tIGRlbCBmaXR4ZXIgZGUgcGFxdWV0ICclcycgbm8gYWNhYmEgYW1iICcucGFjayciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NzYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY3OQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5MSBidWlsdGluL2luZGV4LXBhY2suYzoxNjk1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjkzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgIiVzIGRvbGVudCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczMgogbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgogbXNnc3RyICItLWZpeC10aGluIG5vIGVzIHBvdCB1c2FyIHNlbnNlIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyMgotIywgYy1mb3JtYXQKLW1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKLW1zZ3N0ciAiZWwgbm9tIGRlIGZpdHhlciBkZSBwYXF1ZXQgJyVzJyBubyBhY2FiYSBhbWIgJy5wYWNrJyIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0MAogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAicydoYSBkb25hdCAtLXZlcmlmeSBzZW5zZSBub20gZGUgZml0eGVyIGRlIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCiBtc2dzdHIgIm5vIGVzIHBvdCBmZXIgc3RhdCBlbiAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo2MQorIzogYnVpbHRpbi9pbml0LWRiLmM6NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgdGVtcGxhdGUgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IGZlciBzdGF0IGVuIGxhIHBsYW50aWxsYSAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo2NgorIzogYnVpbHRpbi9pbml0LWRiLmM6NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW5kaXIgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IGZlciBvcGVuZGlyIGVuIGVsIGRpcmVjdG9yaSAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3NworIzogYnVpbHRpbi9pbml0LWRiLmM6NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCiBtc2dzdHIgIm5vIGVzIHBvdCBmZXIgcmVhZGxpbmsgZW4gJyVzJyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NzkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzeW1saW5rICclcycgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IGZlciBzeW1saW5rIGVuICclcycgJyVzJyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6ODUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjb3B5ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IGNvcGlhciAnJXMnIGEgJyVzJyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6ODkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHRlbXBsYXRlICVzIgotbXNnc3RyICJpZ25vcmFudCBsYSBwbGFudGlsbGEgJXMiCittc2dzdHIgInMnZXN0w6AgaWdub3JhbnQgbGEgcGxhbnRpbGxhICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMTgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wbGF0ZXMgbm90IGZvdW5kICVzIgogbXNnc3RyICJubyBzJ2hhbiB0cm9iYXQgbGVzIHBsYW50aWxsZXMgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzMQorIzogYnVpbHRpbi9pbml0LWRiLmM6MTM0CiAjLCBjLWZvcm1hdAotbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBvZiBhIHdyb25nIGZvcm1hdCB2ZXJzaW9uICVkIGZyb20gJyVzJyIKLW1zZ3N0ciAibm8gY29waWFudCBwbGFudGlsbGVzIGQndW5hIHZlcnNpw7MgZGUgZm9ybWF0IGVycsOybmlhICVkIGRlICclcyciCittc2dpZCAibm90IGNvcHlpbmcgdGVtcGxhdGVzIGZyb20gJyVzJzogJXMiCittc2dzdHIgIm5vIHMnZXN0w6AgY29waWFudCBwbGFudGlsbGVzIGRlICclcyc6ICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMDkgYnVpbHRpbi9pbml0LWRiLmM6MzEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgotbXNnc3RyICIlcyBqYSBleGlzdGVpeCIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MzQwCisjOiBidWlsdGluL2luaXQtZGIuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZ2VzdGlvbmFyIGVsIHRpcHVzIGRlIGZpdHhlciAlZCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzQzCisjOiBidWlsdGluL2luaXQtZGIuYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbW91cmUgJXMgYSAlcyIKIAotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAnJXMnIGlzIGVpdGhlciAiUmVpbml0aWFsaXplZAotIy4gZXhpc3RpbmciIG9yICJJbml0aWFsaXplZCBlbXB0eSIsIHRoZSBzZWNvbmQgIiBzaGFyZWQiIG9yCi0jLiAiIiwgYW5kIHRoZSBsYXN0ICclcyVzJyBpcyB0aGUgdmVyYmF0aW0gZGlyZWN0b3J5IG5hbWUuCi0jOiBidWlsdGluL2luaXQtZGIuYzozOTkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NyBidWlsdGluL2luaXQtZGIuYzozNTAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMlcyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCi1tc2dzdHIgIiVzIGRpcMOyc2l0IGRlIEdpdCVzIGEgJXMlc1xuIgorbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgorbXNnc3RyICIlcyBqYSBleGlzdGVpeCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDAwCi1tc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyIKLW1zZ3N0ciAiUydoYSByZWluaWNpYWxpdHphdCB1biBleGlzdGVudCIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCittc2dzdHIgIlMnaGEgcmVpbmljaWFsaXR6YXQgZWwgZGlww7JzaXQgY29tcGFydGl0IGV4aXN0ZW50IGRlbCBHaXQgZW4gJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDAKLW1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSIKLW1zZ3N0ciAiUydoYSBpbmljaWFsaXR6YXQgdW4gYnVpdCIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAiUydoYSByZWluaWNpYWxpdHphdCBlbCBkaXDDsnNpdCBleGlzdGVudCBkZWwgR2l0IGVuICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDAxCi1tc2dpZCAiIHNoYXJlZCIKLW1zZ3N0ciAiIGNvbXBhcnRpdCIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICJTJ2hhIGluaWNpYWxpdHphdCB1biBkaXDDsnNpdCBjb21wYXJ0aXQgYnVpdCBkZWwgR2l0IGVuICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDQ4CisjOiBidWlsdGluL2luaXQtZGIuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICJTJ2hhIGluaWNpYWxpdHphdCB1biBkaXDDsnNpdCBidWl0IGRlbCBHaXQgZW4gJXMlc1xuIgorCisjOiBidWlsdGluL2luaXQtZGIuYzo0NTcKIG1zZ2lkICIiCiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHRlbXBsYXRlLWRpcmVjdG9yeT5dIFstLSIKICJzaGFyZWRbPTxwZXJtaXNzaW9ucz5dXSBbPGRpcmVjdG9yeT5dIgpAQCAtNzI3OSwyNSArODU4MCwyNSBAQAogImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTxkaXJlY3RvcmktZGUtcGxhbnRpbGxhPl0gWy0tIgogInNoYXJlZFs9PHBlcm1pc29zPl1dIFs8ZGlyZWN0b3JpPl0iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3MQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDgwCiBtc2dpZCAicGVybWlzc2lvbnMiCiBtc2dzdHIgInBlcm1pc29zIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NzIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQogbXNnaWQgInNwZWNpZnkgdGhhdCB0aGUgZ2l0IHJlcG9zaXRvcnkgaXMgdG8gYmUgc2hhcmVkIGFtb25nc3Qgc2V2ZXJhbCB1c2VycyIKIG1zZ3N0ciAiZXNwZWNpZmljYSBxdWUgZWwgZGlww7JzaXQgZGUgZ2l0IGVzIGNvbXBhcnRpcsOgIGVudHJlIGRpdmVyc29zIHVzdWFyaXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUwNiBidWlsdGluL2luaXQtZGIuYzo1MTEKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxNSBidWlsdGluL2luaXQtZGIuYzo1MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG1rZGlyICVzIgogbXNnc3RyICJubyBlcyBwb3QgbWtkaXIgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxNQorIzogYnVpbHRpbi9pbml0LWRiLmM6NTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAlcyIKLW1zZ3N0ciAibm8gZXMgcG90IGNoZGlyIGEgJXMiCittc2dzdHIgIm5vIGVzIHBvdCBjYW52aWFyIGRlIGRpcmVjdG9yaSBhICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MzYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKQEAgLTczMDYsNyArODYwNyw3IEBACiAibm8gZXMgcGVybWV0ICVzIChvIC0td29yay10cmVlPTxkaXJlY3Rvcmk+KSBzZW5zZSBlc3BlY2lmaWNhciAlcyAobyAtLWdpdC0iCiAiZGlyPTxkaXJlY3Rvcmk+KSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTY0CisjOiBidWlsdGluL2luaXQtZGIuYzo1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKIG1zZ3N0ciAiTm8gZXMgcG90IGFjY2VkaXIgYSBsJ2FyYnJlIGRlIHRyZWJhbGwgJyVzJyIKQEAgLTczMzksMjc4ICs4NjQwLDMzMSBAQAogbXNnaWQgIm5vIGlucHV0IGZpbGUgZ2l2ZW4gZm9yIGluLXBsYWNlIGVkaXRpbmciCiBtc2dzdHIgIm5vIHMnaGEgZG9uYXQgY2FwIGZpdHhlciBkJ2VudHJhZGEgcGVyIGEgZWRpY2nDsyBpbiBzaXR1IgogCi0jOiBidWlsdGluL2xvZy5jOjQzCisjOiBidWlsdGluL2xvZy5jOjQ0CiBtc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxvZyBbPG9wY2lvbnM+XSBbPHJhbmctZGUtcmV2aXNpb25zPl0gW1stLV0gPGNhbcOtPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDQKKyM6IGJ1aWx0aW4vbG9nLmM6NDUKIG1zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHNob3cgWzxvcGNpb25zPl0gPG9iamVjdGU+Li4uIgogCi0jOiBidWlsdGluL2xvZy5jOjgzCisjOiBidWlsdGluL2xvZy5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgLS1kZWNvcmF0ZSBvcHRpb246ICVzIgogbXNnc3RyICJvcGNpw7MgLS1kZWNvcmF0ZSBubyB2w6BsaWRhOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTM5CiBtc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCiBtc2dzdHIgIm9tZXQgbGEgc29ydGlkYSBkZSBkaWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMyCisjOiBidWlsdGluL2xvZy5jOjE0MAogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICJtb3N0cmEgbGEgZm9udCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxCiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgIlVzYSBlbCBmaXR4ZXIgZGUgbWFwYSBkZSBjb3JyZXUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM0CisjOiBidWlsdGluL2xvZy5jOjE0MgogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgIm9wY2lvbnMgZGUgZGVjb3JhY2nDsyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1CiBtc2dpZCAiUHJvY2VzcyBsaW5lIHJhbmdlIG4sbSBpbiBmaWxlLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIlByb2Nlc3NhIGVsIHJhbmcgZGUgbMOtbmllcyBuLG0gZW4gZWwgZml0eGVyLCBjb21wdGFudCBkZXMgZCcxIgogCi0jOiBidWlsdGluL2xvZy5jOjIzMworIzogYnVpbHRpbi9sb2cuYzoyNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmluYWwgb3V0cHV0OiAlZCAlc1xuIgogbXNnc3RyICJTb3J0aWRhIGZpbmFsOiAlZCAlc1xuIgogCi0jOiBidWlsdGluL2xvZy5jOjQ2NQorIzogYnVpbHRpbi9sb2cuYzo0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHNob3cgJXM6IGJhZCBmaWxlIgogbXNnc3RyICJnaXQgc2hvdyAlczogZml0eGVyIGRvbGVudCIKIAotIzogYnVpbHRpbi9sb2cuYzo0NzkgYnVpbHRpbi9sb2cuYzo1NzIKKyM6IGJ1aWx0aW4vbG9nLmM6NTAwIGJ1aWx0aW4vbG9nLmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAiTm8gZXMgcG90IGxsZWdpciBsJ29iamVjdGUgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTk2CisjOiBidWlsdGluL2xvZy5jOjYxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgogbXNnc3RyICJUaXB1cyBkZXNjb25lZ3V0OiAlZCIKIAotIzogYnVpbHRpbi9sb2cuYzo3MTUKKyM6IGJ1aWx0aW4vbG9nLmM6NzM5CiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiZm9ybWF0LmhlYWRlcnMgc2Vuc2UgdmFsb3IiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODAxCisjOiBidWlsdGluL2xvZy5jOjgzOQogbXNnaWQgIm5hbWUgb2Ygb3V0cHV0IGRpcmVjdG9yeSBpcyB0b28gbG9uZyIKIG1zZ3N0ciAiZWwgbm9tIGRlbCBkaXJlY3RvcmkgZGUgc29ydGlkYSDDqXMgbWFzc2EgbGxhcmciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODE2CisjOiBidWlsdGluL2xvZy5jOjg1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICJObyBlcyBwb3Qgb2JyaXIgZWwgZml0eGVyIGRlIHBlZGHDpyAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo4MzAKKyM6IGJ1aWx0aW4vbG9nLmM6ODY4CiBtc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCiBtc2dzdHIgIkNhbCBleGFjdGFtZW50IHVuIHJhbmcuIgogCi0jOiBidWlsdGluL2xvZy5jOjg0MAorIzogYnVpbHRpbi9sb2cuYzo4NzgKIG1zZ2lkICJOb3QgYSByYW5nZS4iCiBtc2dzdHIgIk5vIMOpcyB1biByYW5nLiIKIAotIzogYnVpbHRpbi9sb2cuYzo5NDYKKyM6IGJ1aWx0aW4vbG9nLmM6OTg0CiBtc2dpZCAiQ292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKIG1zZ3N0ciAiTGEgY2FydGEgZGUgcHJlc2VudGFjacOzIG5lY2Vzc2l0YSBlbCBmb3JtYXQgZGUgY29ycmV1IGVsZWN0csOybmljIgogCi0jOiBidWlsdGluL2xvZy5jOjEwMjUKKyM6IGJ1aWx0aW4vbG9nLmM6MTA2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgogbXNnc3RyICJpbi1yZXBseS10byBib2lnOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDUzCisjOiBidWlsdGluL2xvZy5jOjEwOTEKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFs8b3B0aW9ucz5dIFs8c2luY2U+IHwgPHJldmlzaW9uLXJhbmdlPl0iCiBtc2dzdHIgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcGNpb25zPl0gWzxkZXMtZGU+IHwgPHJhbmctZGUtcmV2aXNpb25zPl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA5OAorIzogYnVpbHRpbi9sb2cuYzoxMTQxCiBtc2dpZCAiVHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCi1tc2dzdHIgIkRvcyBkaXJlY3RvcmlzIGRlIHNvcnRpZGE/IgorbXNnc3RyICJIaSBoYSBkb3MgZGlyZWN0b3JpcyBkZSBzb3J0aWRhPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjE0CisjOiBidWlsdGluL2xvZy5jOjEyNDggYnVpbHRpbi9sb2cuYzoxODkxIGJ1aWx0aW4vbG9nLmM6MTg5MyBidWlsdGluL2xvZy5jOjE5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21taXQgJXMiCittc2dzdHIgIkNvbWlzc2nDsyBkZXNjb25lZ3VkYSAlcyIKKworIzogYnVpbHRpbi9sb2cuYzoxMjU4IGJ1aWx0aW4vbm90ZXMuYzo4ODQgYnVpbHRpbi90YWcuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCittc2dzdHIgIlMnaGEgZmFsbGF0IGVuIHJlc29sZHJlICclcycgY29tIGEgcmVmZXLDqG5jaWEgdsOgbGlkYS4iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2MworbXNnaWQgIkNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciBsYSBiYXNlIGV4YWN0YSBkZSBmdXNpw7MuIgorCisjOiBidWlsdGluL2xvZy5jOjEyNjcKK21zZ2lkICIiCisiRmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCisicGxlYXNlIHVzZSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHRvIHRyYWNrIGEgcmVtb3RlIGJyYW5jaC5cbiIKKyJPciB5b3UgY291bGQgc3BlY2lmeSBiYXNlIGNvbW1pdCBieSAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiBtYW51YWxseS4iCittc2dzdHIgIiIKKyJTJ2hhIGZhbGxhdCBlbiBvYnRlbmlyIGxhIGZvbnQuIFNpIHZvbGV1IHJlZ2lzdHJhciBsYSBjb21pc3Npw7MgYmFzZVxuIgorImF1dG9tw6B0aWNhbWVudCwgc2kgdXMgcGxhdSwgdXNldSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHBlciBhXG4iCisic2VndWlyIHVuYSBicmFuY2EgcmVtb3QuIE8gcG9kZXUgZXNwZWNpZmljYXIgbGEgY29taXNzacOzIGJhc2UgbWFudWFsbWVudFxuIgorImFtYiAtLWJhc2U9PGlkLWRlLWNvbWlzc2nDsy1iYXNlPi4iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4NworbXNnaWQgIkZhaWxlZCB0byBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCittc2dzdHIgIlMnaGEgZmFsbGF0IGVuIHRyb2JhciBsYSBiYXNlIGV4YWN0YSBkZSBmdXNpw7MuIgorCisjOiBidWlsdGluL2xvZy5jOjEyOTgKK21zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGQgYmUgdGhlIGFuY2VzdG9yIG9mIHJldmlzaW9uIGxpc3QiCittc2dzdHIgImxhIGNvbWlzc2nDsyBiYXNlIGhhIGRlIHNlciBsJ2F2YW50cGFzc2F0IGRlIGxhIGxsaXN0YSBkZSByZXZpc2lvbnMiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTMwMgorbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZG4ndCBiZSBpbiByZXZpc2lvbiBsaXN0IgorbXNnc3RyICJsYSBjb21pc3Npw7MgYmFzZSBubyBoYSBkZSBzZXIgZW4gbGEgbGxpc3RhIGRlIHJldmlzaW9ucyIKKworIzogYnVpbHRpbi9sb2cuYzoxMzUxCittc2dpZCAiY2Fubm90IGdldCBwYXRjaCBpZCIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbCdpZCBkZWwgcGVkYcOnIgorCisjOiBidWlsdGluL2xvZy5jOjE0MDgKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICJ1c2EgW1BBVENIIG4vbV0gZmlucyBpIHRvdCBhbWIgdW4gc29sIHBlZGHDpyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjE3CisjOiBidWlsdGluL2xvZy5jOjE0MTEKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAidXNhIFtQQVRDSF0gZmlucyBpIHRvdCBhbWIgbcO6bHRpcGxlcyBwZWRhw6dvcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjIxCisjOiBidWlsdGluL2xvZy5jOjE0MTUKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAiaW1wcmltZWl4IGVscyBwZWRhw6dvcyBhIGxhIHNvcnRpZGEgZXN0w6BuZGFyZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjIzCisjOiBidWlsdGluL2xvZy5jOjE0MTcKIG1zZ2lkICJnZW5lcmF0ZSBhIGNvdmVyIGxldHRlciIKIG1zZ3N0ciAiZ2VuZXJhIHVuYSBjYXJ0YSBkZSBwcmVzZW50YWNpw7MiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIyNQorIzogYnVpbHRpbi9sb2cuYzoxNDE5CiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICJ1c2EgdW5hIHNlccO8w6huY2lhIGRlIG7Dum1lcm9zIHBlciBhbHMgbm9tcyBkZWxzIGZpdHhlcnMgZGUgc29ydGlkYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjI2CisjOiBidWlsdGluL2xvZy5jOjE0MjAKIG1zZ2lkICJzZngiCiBtc2dzdHIgInN1Zml4IgogCi0jOiBidWlsdGluL2xvZy5jOjEyMjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyMQogbXNnaWQgInVzZSA8c2Z4PiBpbnN0ZWFkIG9mICcucGF0Y2gnIgogbXNnc3RyICJ1c2EgPHN1Zml4PiBlbiBsbG9jIGRlICcucGF0Y2gnIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyMwogbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCiBtc2dzdHIgImNvbWVuw6dhIG51bWVyYW50IGVscyBwZWRhw6dvcyBhIDxuPiBlbiBsbG9jIGQnMSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjMxCisjOiBidWlsdGluL2xvZy5jOjE0MjUKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgIm1hcmNhIGxhIHPDqHJpZSBjb20gYSBsJ2Vuw6hzaW1hIGxsYW7Dp2FkYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjMzCisjOiBidWlsdGluL2xvZy5jOjE0MjcKK21zZ2lkICJVc2UgW1JGQyBQQVRDSF0gaW5zdGVhZCBvZiBbUEFUQ0hdIgorbXNnc3RyICJVc2EgW1JGQyBQQVRDSF0gZW4gbGxvYyBkZSBbUEFUQ0hdIgorCisjOiBidWlsdGluL2xvZy5jOjE0MzAKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgIlVzYSBbPHByZWZpeD5dIGVuIGxsb2MgZGUgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjM2CisjOiBidWlsdGluL2xvZy5jOjE0MzMKIG1zZ2lkICJzdG9yZSByZXN1bHRpbmcgZmlsZXMgaW4gPGRpcj4iCiBtc2dzdHIgImVtbWFnYXR6ZW1hIGVscyBmaXR4ZXJzIHJlc3VsdGFudHMgYSA8ZGlyZWN0b3JpPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjM5CisjOiBidWlsdGluL2xvZy5jOjE0MzYKIG1zZ2lkICJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIKIG1zZ3N0ciAibm8gZGVzcHVsbGlzL2FmZWdlaXhpcyBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzOQogbXNnaWQgImRvbid0IG91dHB1dCBiaW5hcnkgZGlmZnMiCiBtc2dzdHIgIm5vIGVtZXRpcyBkaWZlcsOobmNpZXMgYmluw6ByaWVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNDQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MQogbXNnaWQgIm91dHB1dCBhbGwtemVybyBoYXNoIGluIEZyb20gaGVhZGVyIgogbXNnc3RyICJlbWV0IHVuIGhhc2ggZGUgdG90cyB6ZXJvcyBlbiBsYSBjYXDDp2FsZXJhIEZyb20iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI0NgorIzogYnVpbHRpbi9sb2cuYzoxNDQzCiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICJubyBpbmNsb2d1aXMgcGVkYcOnb3MgcXVlIGNvaW5jaWRlaXhpbiBhbWIgY29taXNzaW9ucyBhIGxhIGZvbnQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI0OAorIzogYnVpbHRpbi9sb2cuYzoxNDQ1CiBtc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgogbXNnc3RyICIiCiAibW9zdHJhIGVsIGZvcm1hdCBkZSBwZWRhw6cgZW4gbGxvYyBkZWwgcGVyIGRlZmVjdGUgKHBlZGHDpyArIGVzdGFkw61zdGlxdWVzKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjUwCisjOiBidWlsdGluL2xvZy5jOjE0NDcKIG1zZ2lkICJNZXNzYWdpbmciCiBtc2dzdHIgIk1pc3NhdGdlcmlhIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0OAogbXNnaWQgImhlYWRlciIKIG1zZ3N0ciAiY2Fww6dhbGVyYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjUyCisjOiBidWlsdGluL2xvZy5jOjE0NDkKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICJhZmVnZWl4IHVuYSBjYXDDp2FsZXJhIGRlIGNvcnJldSBlbGVjdHLDsm5pYyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjUzIGJ1aWx0aW4vbG9nLmM6MTI1NQorIzogYnVpbHRpbi9sb2cuYzoxNDUwIGJ1aWx0aW4vbG9nLmM6MTQ1MgogbXNnaWQgImVtYWlsIgogbXNnc3RyICJjb3JyZXUgZWxlY3Ryw7JuaWMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1MworIzogYnVpbHRpbi9sb2cuYzoxNDUwCiBtc2dpZCAiYWRkIFRvOiBoZWFkZXIiCiBtc2dzdHIgImFmZWdlaXggbGEgY2Fww6dhbGVyYSBUbzoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1NQorIzogYnVpbHRpbi9sb2cuYzoxNDUyCiBtc2dpZCAiYWRkIENjOiBoZWFkZXIiCiBtc2dzdHIgImFmZWdlaXggbGEgY2Fww6dhbGVyYSBDYzoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1NworIzogYnVpbHRpbi9sb2cuYzoxNDU0CiBtc2dpZCAiaWRlbnQiCiBtc2dzdHIgImlkZW50aXRhdCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjU4CisjOiBidWlsdGluL2xvZy5jOjE0NTUKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICIiCiAiZXN0YWJsZWl4IGwnYWRyZcOnYSBGcm9tIGEgPGlkZW50aXRhdD4gKG8gbGEgaWRlbnRpdGF0IGRlbCBjb21pdGVudCBzaSBtYW5jYSkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2MAorIzogYnVpbHRpbi9sb2cuYzoxNDU3CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAiSUQgZGUgbWlzc2F0Z2UiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2MQorIzogYnVpbHRpbi9sb2cuYzoxNDU4CiBtc2dpZCAibWFrZSBmaXJzdCBtYWlsIGEgcmVwbHkgdG8gPG1lc3NhZ2UtaWQ+IgotbXNnc3RyICJmZXMgZGVsIHByaW1lciBtaXNzYXRnZSB1bmEgcmVzcG9zdGEgYSA8SUQgZGUgbWlzc2F0Z2U+IgorbXNnc3RyICJmZXMgcXVlIGVsIHByaW1lciBtaXNzYXRnZSBzaWd1aSB1bmEgcmVzcG9zdGEgYSA8SUQgZGUgbWlzc2F0Z2U+IgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjIgYnVpbHRpbi9sb2cuYzoxMjY1CisjOiBidWlsdGluL2xvZy5jOjE0NTkgYnVpbHRpbi9sb2cuYzoxNDYyCiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgImzDrW1pdCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjYzCisjOiBidWlsdGluL2xvZy5jOjE0NjAKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICJhanVudGEgZWwgcGVkYcOnIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2MwogbXNnaWQgImlubGluZSB0aGUgcGF0Y2giCiBtc2dzdHIgInBvc2EgZWwgcGVkYcOnIGVuIGVsIGNvcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjcwCisjOiBidWlsdGluL2xvZy5jOjE0NjcKIG1zZ2lkICJlbmFibGUgbWVzc2FnZSB0aHJlYWRpbmcsIHN0eWxlczogc2hhbGxvdywgZGVlcCIKIG1zZ3N0ciAiaGFiaWxpdGEgbCdlbmZpbGFkYSBkZSBtaXNzYXRnZXMsIGVzdGlsczogc2hhbGxvdywgZGVlcCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjcyCisjOiBidWlsdGluL2xvZy5jOjE0NjkKIG1zZ2lkICJzaWduYXR1cmUiCi1tc2dzdHIgImZpcm1hIgorbXNnc3RyICJzaWduYXR1cmEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI3MworIzogYnVpbHRpbi9sb2cuYzoxNDcwCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgotbXNnc3RyICJhZmVnZWl4IHVuYSBmaXJtYSIKK21zZ3N0ciAiYWZlZ2VpeCB1bmEgc2lnbmF0dXJhIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MQorbXNnaWQgImJhc2UtY29tbWl0IgorbXNnc3RyICJjb21pc3Npw7MgYmFzZSIKKworIzogYnVpbHRpbi9sb2cuYzoxNDcyCittc2dpZCAiYWRkIHByZXJlcXVpc2l0ZSB0cmVlIGluZm8gdG8gdGhlIHBhdGNoIHNlcmllcyIKK21zZ3N0ciAiYWZlZ2VpeCBsYSBpbmZvcm1hY2nDsyBkJ2FyYnJlIHByZXJlcXVlcmlkYSBhIGxhIHPDqHJpZSBkZSBwZWRhw6dvcyIKKworIzogYnVpbHRpbi9sb2cuYzoxNDc0CiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIGZyb20gYSBmaWxlIgotbXNnc3RyICJhZmVnZWl4IHVuYSBmaXJtYSBkZXMgZCd1biBmaXR4ZXIiCittc2dzdHIgImFmZWdlaXggdW5hIHNpZ25hdHVyYSBkZXMgZCd1biBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI3NgorIzogYnVpbHRpbi9sb2cuYzoxNDc1CiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAibm8gaW1wcmltZWl4aXMgZWxzIG5vbXMgZGUgZml0eGVyIGRlbCBwZWRhw6ciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM2NQorIzogYnVpbHRpbi9sb2cuYzoxNTY1CiBtc2dpZCAiLW4gYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICItbiBpIC1rIHPDs24gbXV0dWFsbWVudCBleGNsdXNpdXMuIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNjcKLW1zZ2lkICItLXN1YmplY3QtcHJlZml4IGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKLW1zZ3N0ciAiLS1zdWJqZWN0LXByZWZpeCBpIC1rIHPDs24gbXV0dWFsbWVudCBleGNsdXNpdXMuIgorIzogYnVpbHRpbi9sb2cuYzoxNTY3Cittc2dpZCAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCittc2dzdHIgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgaSAtayBzw7NuIG11dHVhbG1lbnQgZXhjbHVzaXVzLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzc1CisjOiBidWlsdGluL2xvZy5jOjE1NzUKIG1zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLW5hbWUtb25seSBubyB0w6kgc2VudGl0IgogCi0jOiBidWlsdGluL2xvZy5jOjEzNzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3NwogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLXN0YXR1cyBubyB0w6kgc2VudGl0IgogCi0jOiBidWlsdGluL2xvZy5jOjEzNzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3OQogbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1jaGVjayBubyB0w6kgc2VudGl0IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDcKKyM6IGJ1aWx0aW4vbG9nLmM6MTYwOQogbXNnaWQgInN0YW5kYXJkIG91dHB1dCwgb3IgZGlyZWN0b3J5LCB3aGljaCBvbmU/IgogbXNnc3RyICJzb3J0aWRhIGVzdMOgbmRhcmQgbyBkaXJlY3RvcmksIHF1aW4gZGVscyBkb3M/IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGRpcmVjdG9yaSAnJXMnIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MDYKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzaWduYXR1cmUgZmlsZSAnJXMnIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBmaXR4ZXIgZGUgZmlybWEgJyVzJyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgZml0eGVyIGRlIHNpZ25hdHVyYSAnJXMnIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTc3NwogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICJTJ2hhIGZhbGxhdCBlbiBjcmVhciBlbHMgZml0eGVycyBkZSBzb3J0aWRhIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MTcKKyM6IGJ1aWx0aW4vbG9nLmM6MTgyNgogbXNnaWQgImdpdCBjaGVycnkgWy12XSBbPHVwc3RyZWFtPiBbPGhlYWQ+IFs8bGltaXQ+XV1dIgogbXNnc3RyICJnaXQgY2hlcnJ5IFstdl0gWzxmb250PiBbPGNhcD4gWzxsw61taXQ+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjE2NzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTg4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCkBAIC03NjE4LDEwNiArODk3MiwxMDUgQEAKICJObyBzJ2hhIHBvZ3V0IHRyb2JhciB1bmEgYnJhbmNhIHJlbW90YSBzZWd1aWRhLiBTaSB1cyBwbGF1LCBlc3BlY2lmaXF1ZXUgIgogIjxmb250PiBtYW51YWxtZW50LlxuIgogCi0jOiBidWlsdGluL2xvZy5jOjE2ODIgYnVpbHRpbi9sb2cuYzoxNjg0IGJ1aWx0aW4vbG9nLmM6MTY5NgotIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKLW1zZ3N0ciAiQ29taXNzacOzIGRlc2NvbmVndWRhICVzIgotCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6Mzc4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzxvcGNpb25zPl0gWzxmaXR4ZXI+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQyNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUwNwogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgImlkZW50aWZpY2EgbCdlc3RhdCBkZSBmaXR4ZXIgYW1iIGV0aXF1ZXRlcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQyOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOQogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICJ1c2EgbGxldHJlcyBtaW7DunNjdWxlcyBwZXIgYWxzIGZpdHhlcnMgJ2Fzc3VtZSB1bmNoYW5nZWQnIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDMxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTExCiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgIiIKICJtb3N0cmEgZW4gbGEgc29ydGlkYSBlbHMgZml0eGVycyBkZXNhdHMgZW4gbGEgbWVtw7JyaWEgY2F1IChwZXIgZGVmZWN0ZSkiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MzMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTMKIG1zZ2lkICJzaG93IGRlbGV0ZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhIGVuIGxhIHNvcnRpZGEgZWxzIGZpdHhlcnMgc3VwcmltaXRzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDM1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE1CiBtc2dpZCAic2hvdyBtb2RpZmllZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJtb3N0cmEgZW4gbGEgc29ydGlkYSBlbHMgZml0eGVycyBtb2RpZmljYXRzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDM3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE3CiBtc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJtb3N0cmEgZW4gbGEgc29ydGlkYSBlbHMgYWx0cmVzIGZpdHhlcnMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MzkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTkKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhIGVuIGxhIHNvcnRpZGEgZWxzIGZpdHhlcnMgaWdub3JhdHMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NDIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjIKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhIGVuIGxhIHNvcnRpZGEgZWwgbm9tIGQnb2JqZWN0ZSBkZWxzIGNvbnRpbmd1dHMgYWxsaXN0YXRzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDQ0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI0CiBtc2dpZCAic2hvdyBmaWxlcyBvbiB0aGUgZmlsZXN5c3RlbSB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCIKIG1zZ3N0ciAibW9zdHJhIGVscyBmaXR4ZXJzIGVuIGVsIHNpc3RlbWEgZGUgZml0eGVycyBxdWUgcydoYW4gZCdlbGltaW5hciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0NgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZXMgb25seSIKIG1zZ3N0ciAibW9zdHJhIG5vbcOpcyBlbHMgbm9tcyBkZWxzIGRpcmVjdG9yaXMgJ290aGVyJyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOAogbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgotbXNnc3RyICJtb3N0cmEgZWxzIHRlcm1pbmlzIGRlIGzDrW5pYSBkZWxzIGZpdHhlcnMiCittc2dzdHIgIm1vc3RyYSBlbHMgdGVybWluYWRvcnMgZGUgbMOtbmlhIGRlbHMgZml0eGVycyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMAogbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIm5vIG1vc3RyaXMgZWxzIGRpcmVjdG9yaXMgYnVpdHMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzMKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIm1vc3RyYSBlbiBsYSBzb3J0aWRhIGVscyBmaXR4ZXJzIHNlbnNlIGZ1c2lvbmFyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDU1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM1CiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgIm1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSByZXNvbHVjacOzIGRlIGRlc2ZldCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1NworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNwogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAic2FsdGEgZWxzIGZpdHhlcnMgY29pbmNpZGVudHMgYW1iIGVsIHBhdHLDsyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MAogbXNnaWQgImV4Y2x1ZGUgcGF0dGVybnMgYXJlIHJlYWQgZnJvbSA8ZmlsZT4iCiBtc2dzdHIgImVscyBwYXRyb25zIGQnZXhjbHVzacOzIGVzIGxsZWdlaXhlbiBkZSA8Zml0eGVyPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MwogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgogbXNnc3RyICJsbGVnZWl4IGVscyBwYXRyb25zIGFkZGljaW9uYWxzIGQnZXhjbHVzacOzIHBlciBkaXJlY3RvcmkgZW4gPGZpdHhlcj4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICJhZmVnZWl4IGxlcyBleGNsdXNpb25zIGVzdMOgbmRhcmRzIGRlIGdpdCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OAogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJmZXMgcXVlIGxhIHNvcnRpZGEgc2lndWkgcmVsYXRpdmEgYWwgZGlyZWN0b3JpIHN1cGVyaW9yIGRlbCBwcm9qZWN0ZSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MQorbXNnaWQgInJlY3Vyc2UgdGhyb3VnaCBzdWJtb2R1bGVzIgorbXNnc3RyICJyZWN1cnNhIGFscyBzdWJtw7JkdWxzIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICJzaSBxdWFsc2V2b2wgPGZpdHhlcj4gbm8gw6lzIGVuIGwnw61uZGV4LCB0cmFjdGEgYWl4w7IgY29tIGEgZXJyb3IiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTQKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAiYXJicmUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTUKIG1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgogbXNnc3RyICIiCiAicHJldMOpbiBxdWUgZWxzIGNhbWlucyBlbGltaW5hdHMgZGVzcHLDqXMgZGUgPGFyYnJlPiBlbmNhcmEgc2lndWluIHByZXNlbnRzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDc1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3CiBtc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKIG1zZ3N0ciAibW9zdHJhIGxlcyBkYWRlcyBkZSBkZXB1cmFjacOzIgogCkBAIC03NzY2LDcgKzkxMTksNyBAQAogCiAjOiBidWlsdGluL2xzLXJlbW90ZS5jOjY0CiBtc2dpZCAic2hvdyB1bmRlcmx5aW5nIHJlZiBpbiBhZGRpdGlvbiB0byB0aGUgb2JqZWN0IHBvaW50ZWQgYnkgaXQiCi1tc2dzdHIgIm1vc3RyYSBsYSByZWZlcsOobmNpYSBzdWJqYWNlbnQgZW4gYWRpY2nDsyBhIGwnb2JqZWN0ZSBxdWUgc2VueWFsaSIKK21zZ3N0ciAibW9zdHJhIGxhIHJlZmVyw6huY2lhIHN1YmphY2VudCBhIG3DqXMgZGUgbCdvYmplY3RlIHF1ZSBzZW55YWxpIgogCiAjOiBidWlsdGluL2xzLXRyZWUuYzoyOAogbXNnaWQgImdpdCBscy10cmVlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCkBAIC03ODA1LDE4NCArOTE1OCwxNzUgQEAKIG1zZ3N0ciAiIgogImxsaXN0YSBsJ2FyYnJlIHNlbmNlcjsgbm8gbm9tw6lzIGVsIGRpcmVjdG9yaSBhY3R1YWwgKGltcGxpY2EgLS1mdWxsLW5hbWUpIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NgogbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgogbXNnc3RyICJnaXQgbWVyZ2UgWzxvcGNpb25zPl0gWzxjb21pc3Npw7M+Li4uXSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ2CisjOiBidWlsdGluL21lcmdlLmM6NDcKIG1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gPG1zZz4gSEVBRCA8Y29tbWl0PiIKIG1zZ3N0ciAiZ2l0IG1lcmdlIFs8b3BjaW9ucz5dIDxtaXNzYXRnZT4gSEVBRCA8Y29taXNzacOzPiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ3CisjOiBidWlsdGluL21lcmdlLmM6NDgKIG1zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKIG1zZ3N0ciAiZ2l0IG1lcmdlIC0tYWJvcnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDIKIG1zZ2lkICJzd2l0Y2ggYG0nIHJlcXVpcmVzIGEgdmFsdWUiCiBtc2dzdHIgImwnb3BjacOzIGBtJyByZXF1ZXJlaXggdW4gdmFsb3IiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgbWVyZ2Ugc3RyYXRlZ3kgJyVzJy5cbiIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCB0cm9iYXIgbCdlc3RyYXTDqGdpYSBkZSBmdXNpw7MgJyVzJy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzOAorIzogYnVpbHRpbi9tZXJnZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdmFpbGFibGUgc3RyYXRlZ2llcyBhcmU6IgogbXNnc3RyICJMZXMgZXN0cmF0w6hnaWVzIGRpc3BvbmlibGVzIHPDs246IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQzCisjOiBidWlsdGluL21lcmdlLmM6MTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF2YWlsYWJsZSBjdXN0b20gc3RyYXRlZ2llcyBhcmU6IgogbXNnc3RyICJMZXMgZXN0cmF0w6hnaWVzIHBlcnNvbmFsaXR6YWRlcyBkaXNwb25pYmxlcyBzw7NuOiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE5MyBidWlsdGluL3B1bGwuYzoxMjMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTUgYnVpbHRpbi9wdWxsLmM6MTI3CiBtc2dpZCAiZG8gbm90IHNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAibm8gbW9zdHJpcyBsZXMgZXN0YWTDrXN0aXF1ZXMgZGUgZGlmZXLDqG5jaWEgYWwgZmluYWwgZGUgbGEgZnVzacOzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk2IGJ1aWx0aW4vcHVsbC5jOjEyNgorIzogYnVpbHRpbi9tZXJnZS5jOjE5OCBidWlsdGluL3B1bGwuYzoxMzAKIG1zZ2lkICJzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgIm1vc3RyYSBsZXMgZXN0YWTDrXN0aXF1ZXMgZGUgZGlmZXLDqG5jaWEgYWwgZmluYWwgZGUgbGEgZnVzacOzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEyOQorIzogYnVpbHRpbi9tZXJnZS5jOjE5OSBidWlsdGluL3B1bGwuYzoxMzMKIG1zZ2lkICIoc3lub255bSB0byAtLXN0YXQpIgogbXNnc3RyICIoc2luw7JuaW0gZGUgLS1zdGF0KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE5OSBidWlsdGluL3B1bGwuYzoxMzIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDEgYnVpbHRpbi9wdWxsLmM6MTM2CiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAiYWZlZ2VpeCAoY29tIGEgbcOgeGltIDxuPikgZW50cmFkZXMgZGVsIHJlZ2lzdHJlIGN1cnQgYWwgbWlzc2F0Z2UgZGUgY29taXNzacOzICIKICJkZSBmdXNpw7MiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDIgYnVpbHRpbi9wdWxsLmM6MTM1CisjOiBidWlsdGluL21lcmdlLmM6MjA0IGJ1aWx0aW4vcHVsbC5jOjEzOQogbXNnaWQgImNyZWF0ZSBhIHNpbmdsZSBjb21taXQgaW5zdGVhZCBvZiBkb2luZyBhIG1lcmdlIgogbXNnc3RyICJjcmVhIHVuYSDDum5pY2EgY29taXNzacOzIGVuIGxsb2MgZGUgZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDQgYnVpbHRpbi9wdWxsLmM6MTM4CisjOiBidWlsdGluL21lcmdlLmM6MjA2IGJ1aWx0aW4vcHVsbC5jOjE0MgogbXNnaWQgInBlcmZvcm0gYSBjb21taXQgaWYgdGhlIG1lcmdlIHN1Y2NlZWRzIChkZWZhdWx0KSIKIG1zZ3N0ciAicmVhbGl0emEgdW5hIGNvbWlzc2nDsyBzaSBsYSBmdXNpw7MgdMOpIMOoeGl0IChwZXIgZGVmZWN0ZSkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDYgYnVpbHRpbi9wdWxsLmM6MTQxCisjOiBidWlsdGluL21lcmdlLmM6MjA4IGJ1aWx0aW4vcHVsbC5jOjE0NQogbXNnaWQgImVkaXQgbWVzc2FnZSBiZWZvcmUgY29tbWl0dGluZyIKIG1zZ3N0ciAiZWRpdGEgZWwgbWlzc2F0Z2UgYWJhbnMgZGUgY29tZXRyZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwNworIzogYnVpbHRpbi9tZXJnZS5jOjIwOQogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCAoZGVmYXVsdCkiCiBtc2dzdHIgInBlcm1ldCBsJ2F2YW7DpyByw6BwaWQgKHBlciBkZWZlY3RlKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwOSBidWlsdGluL3B1bGwuYzoxNDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTEgYnVpbHRpbi9wdWxsLmM6MTUxCiBtc2dpZCAiYWJvcnQgaWYgZmFzdC1mb3J3YXJkIGlzIG5vdCBwb3NzaWJsZSIKIG1zZ3N0ciAiYXZvcnRhIHNpIGwnYXZhbsOnIHLDoHBpZCBubyDDqXMgcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTMKLW1zZ2lkICJWZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCi1tc2dzdHIgIlZlcmlmaWNhIHF1ZSBsYSBjb21pc3Npw7MgYW5vbWVuYWRhIHRpbmd1aSB1bmEgZmlybWEgR1BHIHbDoGxpZGEiCisjOiBidWlsdGluL21lcmdlLmM6MjE1IGJ1aWx0aW4vcHVsbC5jOjE1NAorbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKK21zZ3N0ciAidmVyaWZpY2EgcXVlIGxhIGNvbWlzc2nDsyBhbm9tZW5hZGEgdGluZ3VpIHVuYSBzaWduYXR1cmEgR1BHIHbDoGxpZGEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTQgYnVpbHRpbi9ub3Rlcy5jOjc3MCBidWlsdGluL3B1bGwuYzoxNTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTYgYnVpbHRpbi9ub3Rlcy5jOjc3NCBidWlsdGluL3B1bGwuYzoxNTgKICM6IGJ1aWx0aW4vcmV2ZXJ0LmM6ODkKIG1zZ2lkICJzdHJhdGVneSIKIG1zZ3N0ciAiZXN0cmF0w6hnaWEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTUgYnVpbHRpbi9wdWxsLmM6MTUzCisjOiBidWlsdGluL21lcmdlLmM6MjE3IGJ1aWx0aW4vcHVsbC5jOjE1OQogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKIG1zZ3N0ciAiZXN0cmF0w6hnaWEgZGUgZnVzacOzIGEgdXNhciIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL3B1bGwuYzoxNTYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9wdWxsLmM6MTYyCiBtc2dpZCAib3B0aW9uPXZhbHVlIgogbXNnc3RyICJvcGNpw7M9dmFsb3IiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTU3CisjOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vcHVsbC5jOjE2MwogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIm9wY2nDsyBwZXIgYSBsJ2VzdHJhdMOoZ2lhIGRlIGZ1c2nDsyBzZWxlY2Npb25hZGEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjEKIG1zZ2lkICJtZXJnZSBjb21taXQgbWVzc2FnZSAoZm9yIGEgbm9uLWZhc3QtZm9yd2FyZCBtZXJnZSkiCiBtc2dzdHIgIm1pc3NhdGdlIGRlIGNvbWlzc2nDsyBkZSBmdXNpw7MgKHBlciBhIHVuYSBmdXNpw7Mgbm8gZCdhdmFuw6cgcsOgcGlkKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyMworIzogYnVpbHRpbi9tZXJnZS5jOjIyNQogbXNnaWQgImFib3J0IHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgogbXNnc3RyICJhdm9ydGEgbGEgZnVzacOzIGVuIGN1cnMgYWN0dWFsIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjUxCisjOiBidWlsdGluL21lcmdlLmM6MjI3IGJ1aWx0aW4vcHVsbC5jOjE3MAorbXNnaWQgImFsbG93IG1lcmdpbmcgdW5yZWxhdGVkIGhpc3RvcmllcyIKK21zZ3N0ciAicGVybWV0IGZ1c2lvbmFyIGhpc3TDsnJpZXMgbm8gcmVsYWNpb25hZGVzIgorCisjOiBidWlsdGluL21lcmdlLmM6MjU1CiBtc2dpZCAiY291bGQgbm90IHJ1biBzdGFzaC4iCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgc3Rhc2guIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU2CisjOiBidWlsdGluL21lcmdlLmM6MjYwCiBtc2dpZCAic3Rhc2ggZmFpbGVkIgogbXNnc3RyICJsJ2VtbWFnYXR6ZW1hbWVudCBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0OiAlcyIKIG1zZ3N0ciAibm8gw6lzIHVuIG9iamVjdGUgdsOgbGlkOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI4MCBidWlsdGluL21lcmdlLmM6Mjk3CisjOiBidWlsdGluL21lcmdlLmM6Mjg0IGJ1aWx0aW4vbWVyZ2UuYzozMDEKIG1zZ2lkICJyZWFkLXRyZWUgZmFpbGVkIgogbXNnc3RyICJyZWFkLXRyZWUgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL21lcmdlLmM6MzI3CisjOiBidWlsdGluL21lcmdlLmM6MzMxCiBtc2dpZCAiIChub3RoaW5nIHRvIHNxdWFzaCkiCiBtc2dzdHIgIiAocmVzIGEgYWl4YWZhcikiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNDAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgotbXNnc3RyICJDb21pc3Npw7MgZCdhaXhhZmFkYSAtLSBubyBhY3R1YWxpdHphbnQgSEVBRFxuIgorbXNnc3RyICJDb21pc3Npw7MgZCdhaXhhZmFkYSAtLSBubyBzJ2VzdMOgIGFjdHVhbGl0emFudCBIRUFEXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNDQgYnVpbHRpbi9tZXJnZS5jOjc2NCBidWlsdGluL21lcmdlLmM6OTc2Ci0jOiBidWlsdGluL21lcmdlLmM6OTg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgotbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGFsICclcyciCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNzIKLW1zZ2lkICJXcml0aW5nIFNRVUFTSF9NU0ciCi1tc2dzdHIgIkVzY3JpdmludCBTUVVBU0hfTVNHIgotCi0jOiBidWlsdGluL21lcmdlLmM6Mzc0Ci1tc2dpZCAiRmluaXNoaW5nIFNRVUFTSF9NU0ciCi1tc2dzdHIgIkZpbmFsaXR6YW50IFNRVUFTSF9NU0ciCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzozOTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2UgbWVzc2FnZSAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgotbXNnc3RyICJDYXAgbWlzc2F0Z2UgZGUgZnVzacOzIC0tIG5vIGFjdHVhbGl0emFudCBIRUFEXG4iCittc2dzdHIgIkNhcCBtaXNzYXRnZSBkZSBmdXNpw7MgLS0gbm8gcydlc3TDoCBhY3R1YWxpdHphbnQgSEVBRFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDQ4CisjOiBidWlsdGluL21lcmdlLmM6NDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIiclcycgbm8gYXNzZW55YWxhIHVuYSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1MzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAiQ2FkZW5hIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgZG9sZW50YTogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NTIKIG1zZ2lkICJOb3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgotbXNnc3RyICJObyBnZXN0aW9uYW50IHJlcyBhIHBhcnQgZGUgbGEgZnVzacOzIGRlIGRvcyBjYXBzLiIKK21zZ3N0ciAiTm8gcydlc3TDoCBnZXN0aW9uYW50IHJlcyBhIHBhcnQgZGUgbGEgZnVzacOzIGRlIGRvcyBjYXBzLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY3MQorIzogYnVpbHRpbi9tZXJnZS5jOjY2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogbXNnc3RyICJPcGNpw7MgZGVzY29uZWd1ZGEgZGUgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6Njg0CisjOiBidWlsdGluL21lcmdlLmM6NjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc3MworIzogYnVpbHRpbi9tZXJnZS5jOjczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgbGxlZ2lyIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3ODIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgotbXNnc3RyICJObyBjb21ldGVudCBsYSBmdXNpw7M7IHVzZXUgJ2dpdCBjb21taXQnIHBlciBhIGNvbXBsZXRhciBsYSBmdXNpw7MuXG4iCittc2dzdHIgIiIKKyJObyBzJ2VzdMOgIGNvbWV0ZW50IGxhIGZ1c2nDszsgdXNldSAnZ2l0IGNvbW1pdCcgcGVyIGEgY29tcGxldGFyIGxhIGZ1c2nDsy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc4OAorIzogYnVpbHRpbi9tZXJnZS5jOjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCkBAIC03OTk4LDU0ICs5MzQyLDY4IEBACiAiUydpZ25vcmFyYW4gbGVzIGzDrW5pZXMgcXVlIGNvbWVuY2luIGFtYiAnJWMnLCBpIHVuIG1pc3NhdGdlIGJ1aXRcbiIKICJhdm9ydGEgbGEgY29taXNzacOzLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODEyCisjOiBidWlsdGluL21lcmdlLmM6NzcyCiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgotbXNnc3RyICJNaXNzYXRnZSBkZSBjb21pc3Npw7MgYnVpdC4iCittc2dzdHIgIkVsIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyDDqXMgYnVpdC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICJNZXJhdmVsbMOzcy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg3OQorIzogYnVpbHRpbi9tZXJnZS5jOjg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2UgZmFpbGVkOyBmaXggY29uZmxpY3RzIGFuZCB0aGVuIGNvbW1pdCB0aGUgcmVzdWx0LlxuIgogbXNnc3RyICIiCiAiTGEgZnVzacOzIGF1dG9tw6B0aWNhIGhhIGZhbGxhdDsgYXJyZWdsZXUgZWxzIGNvbmZsaWN0ZXMgaSBkZXNwcsOpcyBjb21ldGV1IGVsICIKICJyZXN1bHRhdC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg5NQorIzogYnVpbHRpbi9tZXJnZS5jOjg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKIG1zZ3N0ciAiJyVzJyBubyDDqXMgdW5hIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkzNgorIzogYnVpbHRpbi9tZXJnZS5jOjkwNAogbXNnaWQgIk5vIGN1cnJlbnQgYnJhbmNoLiIKLW1zZ3N0ciAiQ2FwIGJyYW5jYSBhY3R1YWwuIgorbXNnc3RyICJObyBoaSBoYSBjYXAgYnJhbmNhIGFjdHVhbC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDYKIG1zZ2lkICJObyByZW1vdGUgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIk5vIGhpIGhhIGNhcCByZW1vdCBwZXIgYSBsYSBicmFuY2EgYWN0dWFsLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0MAorIzogYnVpbHRpbi9tZXJnZS5jOjkwOAogbXNnaWQgIk5vIGRlZmF1bHQgdXBzdHJlYW0gZGVmaW5lZCBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiTm8gaGkgaGEgY2FwIGZvbnQgcGVyIGRlZmVjdGUgZGVmaW5pZGEgcGVyIGEgbGEgYnJhbmNhIGFjdHVhbC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKIG1zZ3N0ciAiTm8gaGkgaGEgY2FwIGJyYW5jYSBhbWIgc2VndWltZW50IHJlbW90IHBlciBhICVzIGRlICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTA4MAorIzogYnVpbHRpbi9tZXJnZS5jOjk2MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIgorbXNnc3RyICJWYWxvciBkb2xlbnQgJyVzJyBlbiBsJ2VudG9ybiAnJXMnIgorCisjOiBidWlsdGluL21lcmdlLmM6MTAzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCB0YW5jYXIgJyVzJyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIGluICVzOiAlcyIKK21zZ3N0ciAibm8gw6lzIGNvc2EgcXVlIHB1Z3VlbSBmdXNpb25hciBlbiAlczogJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDk1Cittc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCittc2dzdHIgIm5vIMOpcyBjb3NhIHF1ZSBwdWd1ZW0gZnVzaW9uYXIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTYyCiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgdG8gYWJvcnQgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICJObyBoaSBoYSBmdXNpw7MgYSBhdm9ydGFyIChtYW5jYSBNRVJHRV9IRUFEKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjIzCisjOiBidWlsdGluL21lcmdlLmM6MTE3OAogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCkBAIC04MDUzLDcgKzk0MTEsNyBAQAogIk5vIGhldSBjb25jbMOycyBsYSB2b3N0cmEgZnVzacOzIChNRVJHRV9IRUFEIGV4aXN0ZWl4KS5cbiIKICJTaSB1cyBwbGF1LCBjb21ldGV1IGVscyB2b3N0cmVzIGNhbnZpcyBhYmFucyBkZSBmdXNpb25hci4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjMwCisjOiBidWlsdGluL21lcmdlLmM6MTE4NQogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCkBAIC04MDYxLDEwOCArOTQxOSwxMjAgQEAKICJObyBoZXUgY29uY2zDsnMgZWwgdm9zdHJlIHJlY3VsbCBkZSBjaXJlcmVzIChDSEVSUllfUElDS19IRUFEIGV4aXN0ZWl4KS5cbiIKICJTaSB1cyBwbGF1LCBjb21ldGV1IGVscyB2b3N0cmVzIGNhbnZpcyBhYmFucyBkZSBmdXNpb25hci4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjMzCisjOiBidWlsdGluL21lcmdlLmM6MTE4OAogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiIgogIk5vIGhldSBjb25jbMOycyBlbCB2b3N0cmUgcmVjdWxsIGRlIGNpcmVyZXMgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RlaXgpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTk3CiBtc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1uby1mZi4iCiBtc2dzdHIgIk5vIHBvZGV1IGNvbWJpbmFyIC0tc3F1YXNoIGFtYiAtLW5vLWZmLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjA1CiBtc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCiBtc2dzdHIgIiIKICJObyBoaSBoYSB1bmEgY29taXNzacOzIGVzcGVjaWZpY2FkYSBpIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG5vIGVzdMOgICIKICJlc3RhYmxlcnQuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI2NworIzogYnVpbHRpbi9tZXJnZS5jOjEyMjIKIG1zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKIG1zZ3N0ciAiQWl4YWZhciB1bmEgY29taXNzacOzIGEgdW4gY2FwIGJ1aXQgZW5jYXJhIG5vIGVzIHBlcm1ldCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNjkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI0CiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgIlVuYSBjb21pc3Npw7Mgbm8gZCdhdmFuw6cgcsOgcGlkIG5vIHTDqSBzZW50aXQgYSB1biBjYXAgYnVpdCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIiVzIC0gbm8gw6lzIHVuYSBjb3NhIHF1ZSBwdWd1ZW0gZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjc3CisjOiBidWlsdGluL21lcmdlLmM6MTIzMQogbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIkVzIHBvdCBmdXNpb25hciBubyBtw6lzIGQnZXhhY3RhbWVudCB1bmEgY29taXNzacOzIGEgdW4gY2FwIGJ1aXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzMyCisjOiBidWlsdGluL21lcmdlLmM6MTI4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgotbXNnc3RyICJMYSBjb21pc3Npw7MgJXMgdMOpIHVuYSBmaXJtYSBHUEcgbm8gZmlhYmxlLCBzdXBvc2FkYW1lbnQgZGUgJXMuIgorbXNnc3RyICJMYSBjb21pc3Npw7MgJXMgdMOpIHVuYSBzaWduYXR1cmEgR1BHIG5vIGZpYWJsZSwgc3Vwb3NhZGFtZW50IGRlICVzLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSBhbGxlZ2VkbHkgYnkgJXMuIgotbXNnc3RyICJMYSBjb21pc3Npw7MgJXMgdMOpIHVuYSBmaXJtYSBHUEcgZG9sZW50YSBzdXBvc2FkYW1lbnQgZGUgJXMuIgorbXNnc3RyICJMYSBjb21pc3Npw7MgJXMgdMOpIHVuYSBzaWduYXR1cmEgR1BHIGRvbGVudGEgc3Vwb3NhZGFtZW50IGRlICVzLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCi1tc2dzdHIgIkxhIGNvbWlzc2nDsyAlcyBubyB0w6kgZmlybWEgR1BHLiIKK21zZ3N0ciAiTGEgY29taXNzacOzICVzIG5vIHTDqSBzaWduYXR1cmEgR1BHLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBnb29kIEdQRyBzaWduYXR1cmUgYnkgJXNcbiIKLW1zZ3N0ciAiTGEgY29taXNzacOzICVzIHTDqSB1bmEgZmlybWEgR1BHIGJvbmEgZGUgJXNcbiIKK21zZ3N0ciAiTGEgY29taXNzacOzICVzIHTDqSB1bmEgc2lnbmF0dXJhIEdQRyBib25hIGRlICVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDI0CisjOiBidWlsdGluL21lcmdlLmM6MTM1OAorbXNnaWQgInJlZnVzaW5nIHRvIG1lcmdlIHVucmVsYXRlZCBoaXN0b3JpZXMiCittc2dzdHIgInMnZXN0w6AgcmVmdXNhbnQgZnVzaW9uYXIgaGlzdMOycmllcyBubyByZWxhY2lvbmFkZXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzY3Cittc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlLiIKK21zZ3N0ciAiSmEgZXN0w6AgYWwgZGlhLiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMuLiVzXG4iCi1tc2dzdHIgIkFjdHVhbGl0emFudCAlcy4uJXNcbiIKK21zZ3N0ciAiUydlc3RhbiBhY3R1YWxpdHphbnQgJXMuLiVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDYxCisjOiBidWlsdGluL21lcmdlLmM6MTQxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgcmVhbGx5IHRyaXZpYWwgaW4taW5kZXggbWVyZ2UuLi5cbiIKLW1zZ3N0ciAiSW50ZW50YW50IHVuYSBmdXNpw7MgbW9sdCB0cml2aWFsIGVuIGwnw61uZGV4Li4uXG4iCittc2dzdHIgIlMnZXN0w6AgaW50ZW50YW50IHVuYSBmdXNpw7MgbW9sdCB0cml2aWFsIGVuIGwnw61uZGV4Li4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDY4CisjOiBidWlsdGluL21lcmdlLmM6MTQyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3BlLlxuIgogbXNnc3RyICJOby5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MDAKLW1zZ2lkICJOb3QgcG9zc2libGUgdG8gZmFzdC1mb3J3YXJkLCBhYm9ydGluZy4iCi1tc2dzdHIgIk5vIMOpcyBwb3NzaWJsZSBhdmFuw6dhciByw6BwaWRhbWVudCwgYXZvcnRhbnQuIgorIzogYnVpbHRpbi9tZXJnZS5jOjE0NTAKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIFllZWFoISIKK21zZ3N0ciAiSmEgZXN0w6AgYWwgZGlhLiBFc3R1cGVuZCEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTIzIGJ1aWx0aW4vbWVyZ2UuYzoxNjAyCisjOiBidWlsdGluL21lcmdlLmM6MTQ1NgorbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKK21zZ3N0ciAiTm8gw6lzIHBvc3NpYmxlIGF2YW7Dp2FyIHLDoHBpZGFtZW50LCBzJ2VzdMOgIGF2b3J0YW50LiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE0NzkgYnVpbHRpbi9tZXJnZS5jOjE1NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCi1tc2dzdHIgIlJlYm9iaW5hbnQgbCdhcmJyZSBhIGxhIHByaXN0aW5hLi4uXG4iCittc2dzdHIgIlMnZXN0w6AgcmVib2JpbmFudCBsJ2FyYnJlIGEgbGEgcHJpc3RpbmEuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MjcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgotbXNnc3RyICJJbnRlbnRhbnQgbCdlc3RyYXTDqGdpYSBkZSBmdXNpw7MgJXMuLi5cbiIKK21zZ3N0ciAiUydlc3TDoCBpbnRlbnRhbnQgbCdlc3RyYXTDqGdpYSBkZSBmdXNpw7MgJXMuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1OTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgogbXNnc3RyICJDYXAgZXN0cmF0w6hnaWEgZGUgZnVzacOzIGhhIGdlc3Rpb25hdCBsYSBmdXNpw7MuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTk1CisjOiBidWlsdGluL21lcmdlLmM6MTU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJNZXJnZSB3aXRoIHN0cmF0ZWd5ICVzIGZhaWxlZC5cbiIKIG1zZ3N0ciAiTCdlc3RyYXTDqGdpYSBkZSBmdXNpw7MgJXMgaGEgZmFsbGF0LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYwNAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNpbmcgdGhlICVzIHRvIHByZXBhcmUgcmVzb2x2aW5nIGJ5IGhhbmQuXG4iCi1tc2dzdHIgIlVzYW50IGVsICVzIHBlciBhIHByZXBhcmFyIGxhIHJlc29sdWNpw7MgYSBtw6AuXG4iCittc2dzdHIgIlMnZXN0w6AgdXNhbnQgZWwgJXMgcGVyIGEgcHJlcGFyYXIgbGEgcmVzb2x1Y2nDsyBhIG3DoC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSB3ZW50IHdlbGw7IHN0b3BwZWQgYmVmb3JlIGNvbW1pdHRpbmcgYXMgcmVxdWVzdGVkXG4iCiBtc2dzdHIgIiIKLSJMYSBmdXNpw7MgYXV0b23DoHRpY2EgaGEgc29ydGl0IGLDqTsgcydoYSBhdHVyYXQgYWJhbnMgZGUgY29tZXRyZSB0YWwgaSBjb20gIgotInMnaGF2aWEgZGVtYW5hdFxuIgorIkxhIGZ1c2nDsyBhdXRvbcOgdGljYSBoYSBzb3J0aXQgYsOpOyBzJ2hhIGF0dXJhdCBhYmFucyBkZSBjb21ldHJlIGNvbSBzJ2hhdmlhICIKKyJkZW1hbmF0XG4iCiAKICM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjI5CiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIDxjb21taXQ+IDxjb21taXQ+Li4uIgpAQCAtODE4NCwyMyArOTU1NCwyMyBAQAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiBbPGNvbW1pdD5dIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHJlZmVyw6huY2lhPiBbPGNvbWlzc2nDsz5dIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTQKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNwogbXNnaWQgIm91dHB1dCBhbGwgY29tbW9uIGFuY2VzdG9ycyIKIG1zZ3N0ciAiZW1ldCB0b3RzIGVscyBhdmFudHBhc3NhdHMgY29tdW5zIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTYKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOQogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKIG1zZ3N0ciAidHJvYmEgZWxzIGF2YW50cGFzc2F0cyBwZXIgYSB1bmEgc29sYSBmdXNpw7MgZCduIHZpZXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIxCiBtc2dpZCAibGlzdCByZXZzIG5vdCByZWFjaGFibGUgZnJvbSBvdGhlcnMiCiBtc2dzdHIgImxsaXN0YSBsZXMgcmV2aXNpb25zIG5vIGFiYXN0YWJsZXMgZCdhbHRyZXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIzCiBtc2dpZCAiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IgogbXNnc3RyICLDqXMgbGEgcHJpbWVyYSB1biBhdmFudHBhc3NhdCBkZSBsJ2FsdHJlPyIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIyCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjUKIG1zZ2lkICJmaW5kIHdoZXJlIDxjb21taXQ+IGZvcmtlZCBmcm9tIHJlZmxvZyBvZiA8cmVmPiIKIG1zZ3N0ciAiIgogInRyb2JhIG9uIDxjb21pc3Npw7M+IHMnaGEgYmlmdXJjYXQgZGVsIHJlZ2lzdHJlIGRlIHJlZmVyw6huY2llcyBkZSA8cmVmZXLDqG5jaWE+IgpAQCAtODI0NSw2ICs5NjE1LDM3IEBACiBtc2dpZCAic2V0IGxhYmVscyBmb3IgZmlsZTEvb3JpZy1maWxlL2ZpbGUyIgogbXNnc3RyICJlc3RhYmxlaXggbGVzIGV0aXF1ZXRlcyBwZXIgYSBmaXR4ZXIxL2ZpdHhlci1vcmlnaW5hbC9maXR4ZXIyIgogCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uICVzIgorbXNnc3RyICJvcGNpw7MgZGVzY29uZWd1ZGEgJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBsJ29iamVjdGUgJyVzJyIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlLiBJZ25vcmluZyAlcy4iCittc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2VzLiBJZ25vcmluZyAlcy4iCittc2dzdHJbMF0gIm5vIGVzIHBvdCBnZXN0aW9uYXIgbcOpcyBkJyVkIGJhc2UuIFMnZXN0w6AgaWdub3JhbnQgJXMuIgorbXNnc3RyWzFdICJubyBlcyBwb2RlbiBnZXN0aW9uYXIgbcOpcyBkZSAlZCBiYXNlcy4gUydlc3TDoCBpZ25vcmFudCAlcy4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjMKK21zZ2lkICJub3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgorbXNnc3RyICJubyBzJ2VzdMOgIGdlc3Rpb25hbnQgcmVzIGEgcGFydCBkZSBsYSBmdXNpw7MgZGUgZG9zIGNhcHMuIgorCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjY5IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlc29sdmUgcmVmICclcyciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVzb2xkcmUgbGEgcmVmZXLDqG5jaWEgJyVzJyIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJNZXJnaW5nICVzIHdpdGggJXNcbiIKK21zZ3N0ciAiUydlc3TDoCBmdXNpb25hbnQgJXMgYW1iICVzXG4iCisKICM6IGJ1aWx0aW4vbWt0cmVlLmM6NjUKIG1zZ2lkICJnaXQgbWt0cmVlIFstel0gWy0tbWlzc2luZ10gWy0tYmF0Y2hdIgogbXNnc3RyICJnaXQgbWt0cmVlIFstel0gWy0tbWlzc2luZ10gWy0tYmF0Y2hdIgpAQCAtODI3MCw3ICs5NjcxLDcgQEAKIG1zZ2lkICJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCiBtc2dzdHIgIkVsIGRpcmVjdG9yaSAlcyDDqXMgZW4gbCfDrW5kZXggaSBubyBoaSBoYSBjYXAgc3VibcOyZHVsPyIKIAotIzogYnVpbHRpbi9tdi5jOjcyCisjOiBidWlsdGluL212LmM6NzIgYnVpbHRpbi9ybS5jOjMxNwogbXNnaWQgIlBsZWFzZSBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgogbXNnc3RyICIiCiAiU2kgdXMgcGxhdSwgYWxsaXN0ZXUgZWxzIHZvc3RyZXMgY2FudmlzIGEgLmdpdG1vZHVsZXMgbyBlbW1hZ2F0emVtZXUtbG9zIHBlciAiCkBAIC04Mjg5LDEwOSArOTY5MCwxMDkgQEAKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKIG1zZ3N0ciAib21ldCBlbHMgZXJyb3JzIGRlIG1vdmltZW50IC8gY2FudmkgZGUgbm9tIgogCi0jOiBidWlsdGluL212LmM6MTUyCisjOiBidWlsdGluL212LmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICJlbCBkZXN0w60gJyVzJyBubyDDqXMgdW4gZGlyZWN0b3JpIgogCi0jOiBidWlsdGluL212LmM6MTYzCisjOiBidWlsdGluL212LmM6MTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHJlbmFtZSBvZiAnJXMnIHRvICclcydcbiIKLW1zZ3N0ciAiQ29tcHJvdmFudCBlbCBjYW52aSBkZSBub20gZGUgJyVzJyBhICclcydcbiIKK21zZ3N0ciAiUydlc3TDoCBjb21wcm92YW50IGVsIGNhbnZpIGRlIG5vbSBkZSAnJXMnIGEgJyVzJ1xuIgogCi0jOiBidWlsdGluL212LmM6MTY3CisjOiBidWlsdGluL212LmM6MTcwCiBtc2dpZCAiYmFkIHNvdXJjZSIKIG1zZ3N0ciAiZm9udCBkb2xlbnRhIgogCi0jOiBidWlsdGluL212LmM6MTcwCisjOiBidWlsdGluL212LmM6MTczCiBtc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKIG1zZ3N0ciAibm8gZXMgcG90IG1vdXJlIHVuIGRpcmVjdG9yaSBhIGRpbnMgZCdlbGwgbWF0ZWl4IgogCi0jOiBidWlsdGluL212LmM6MTczCisjOiBidWlsdGluL212LmM6MTc2CiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAibm8gZXMgcG90IG1vdXJlIHVuIGRpcmVjdG9yaSBzb2JyZSB1biBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODIKKyM6IGJ1aWx0aW4vbXYuYzoxODUKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICJlbCBkaXJlY3RvcmkgZm9udCBlc3TDoCBidWl0IgogCi0jOiBidWlsdGluL212LmM6MjA3CisjOiBidWlsdGluL212LmM6MjEwCiBtc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKIG1zZ3N0ciAibm8gZXN0w6Agc290YSBjb250cm9sIGRlIHZlcnNpb25zIgogCi0jOiBidWlsdGluL212LmM6MjEwCisjOiBidWlsdGluL212LmM6MjEzCiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICJlbCBkZXN0w60gZXhpc3RlaXgiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTgKKyM6IGJ1aWx0aW4vbXYuYzoyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAib3ZlcndyaXRpbmcgJyVzJyIKLW1zZ3N0ciAic29icmVlc2NyaXZpbnQgJyVzJyIKK21zZ3N0ciAicydlc3TDoCBzb2JyZWVzY3JpdmludCAnJXMnIgogCi0jOiBidWlsdGluL212LmM6MjIxCisjOiBidWlsdGluL212LmM6MjI0CiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAiTm8gZXMgcG90IHNvYnJlZXNjcml1cmUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjQKKyM6IGJ1aWx0aW4vbXYuYzoyMjcKIG1zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCiBtc2dzdHIgIm3Dumx0aXBsZXMgZm9udHMgcGVyIGFsIG1hdGVpeCBkZXN0w60iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjYKKyM6IGJ1aWx0aW4vbXYuYzoyMjkKIG1zZ2lkICJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImVsIGRpcmVjdG9yaSBkZXN0w60gbm8gZXhpc3RlaXgiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzMKKyM6IGJ1aWx0aW4vbXYuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiBtc2dzdHIgIiVzLCBvcmlnZW49JXMsIGRlc3TDrT0lcyIKIAotIzogYnVpbHRpbi9tdi5jOjI1NAorIzogYnVpbHRpbi9tdi5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlc1xuIgotbXNnc3RyICJDYW52aWFudCBlbCBub20gZGUgJXMgYSAlc1xuIgorbXNnc3RyICJTJ2VzdMOgIGNhbnZpYW50IGVsIG5vbSBkZSAlcyBhICVzXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNTcgYnVpbHRpbi9yZW1vdGUuYzo3MTQgYnVpbHRpbi9yZXBhY2suYzozNjUKKyM6IGJ1aWx0aW4vbXYuYzoyNjMgYnVpbHRpbi9yZW1vdGUuYzo3MTAgYnVpbHRpbi9yZXBhY2suYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgImVsIGNhbnZpIGRlbCBub20gZGUgJyVzJyBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTEKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTcKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPG9wY2lvbnM+XSA8Y29taXNzacOzPi4uLiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1MgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8b3BjaW9ucz5dIC0tYWxsIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjUzCisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tc3RkaW4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPG9wY2lvbnM+XSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzA1CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzExCiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICJpbXByaW1laXggbm9tw6lzIGVscyBub21zIChzZW5zZSBTSEEtMSkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMDYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgIm5vbcOpcyB1c2EgbGVzIGV0aXF1ZXRlcyBwZXIgYSBhbm9tZW5hciBsZXMgY29taXNzaW9ucyIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMwOAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNAogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJub23DqXMgdXNhIGxlcyByZWZlcsOobmNpZXMgcXVlIGNvaW5jaWRlaXhpbiBhbWIgPHBhdHLDsz4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTAKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTYKIG1zZ2lkICJsaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzIgogbXNnc3RyICJsbGlzdGEgdG90ZXMgbGVzIGNvbWlzc2lvbnMgYWJhc3RhYmxlcyBkZSB0b3RlcyBsZXMgcmVmZXLDqG5jaWVzIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzExCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE3CiBtc2dpZCAicmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICJsbGVnZWl4IGQnc3RkaW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKIG1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCiBtc2dzdHIgInBlcm1ldCBpbXByaW1pciBlbHMgbm9tcyBgdW5kZWZpbmVkYCAocGVyIGRlZmVjdGUpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE4CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzI0CiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbiB0aGUgaW5wdXQgKGludGVybmFsIHVzZSkiCiBtc2dzdHIgImRlcmVmZXJlbmNpYSBsZXMgZXRpcXVldGVzIGVuIGwnZW50cmFkYSAow7pzIGludGVybikiCiAKQEAgLTg1MDgsNiArOTkwOSwxMCBAQAogbXNnaWQgImdpdCBub3RlcyBnZXQtcmVmIgogbXNnc3RyICJnaXQgbm90ZXMgZ2V0LXJlZiIKIAorIzogYnVpbHRpbi9ub3Rlcy5jOjk0Cittc2dpZCAiV3JpdGUvZWRpdCB0aGUgbm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgb2JqZWN0OiIKK21zZ3N0ciAiRXNjcml2aXUvZWRpdGV1IGxlcyBub3RlcyBkZSBsJ29iamVjdGUgc2Vnw7xlbnQ6IgorCiAjOiBidWlsdGluL25vdGVzLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzdGFydCAnc2hvdycgZm9yIG9iamVjdCAnJXMnIgpAQCAtODUyMiw5MCArOTkyNywxMDEgQEAKIG1zZ2lkICJmYWlsZWQgdG8gZmluaXNoICdzaG93JyBmb3Igb2JqZWN0ICclcyciCiBtc2dzdHIgInMnaGEgZmFsbGF0IGVuIGZpbmFsaXR6YXIgJ3Nob3cnIHBlciBhIGwnb2JqZWN0ZSAnJXMnIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTc0IGJ1aWx0aW4vdGFnLmM6MjQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGZpdHhlciAnJXMnIgotCi0jOiBidWlsdGluL25vdGVzLmM6MTkzCi1tc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgorIzogYnVpbHRpbi9ub3Rlcy5jOjE5NAorbXNnaWQgInBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKIG1zZ3N0ciAiIgotIlNpIHVzIHBsYXUsIHByb3Zlw691IGVscyBjb250aW5ndXRzIGRlIGxhIG5vdGEgZmVudCBzZXJ2aXIgbCdvcGNpw7MgLW0gbyAiCisic2kgdXMgcGxhdSwgcHJvdmXDr3UgZWxzIGNvbnRpbmd1dHMgZGUgbGEgbm90YSBmZW50IHNlcnZpciBsJ29wY2nDsyAtbSBvICIKICJsJ29wY2nDsyAtRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIwMgorIzogYnVpbHRpbi9ub3Rlcy5jOjIwMwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBub3RlIG9iamVjdCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsJ29iamVjdGUgZGUgbm90YSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIwNAorIzogYnVpbHRpbi9ub3Rlcy5jOjIwNQogIywgYy1mb3JtYXQKLW1zZ2lkICJUaGUgbm90ZSBjb250ZW50cyBoYXZlIGJlZW4gbGVmdCBpbiAlcyIKLW1zZ3N0ciAiRWxzIGNvbnRpbmd1dHMgZGUgbGEgbm90YSBzJ2hhbiBkZWl4YXQgZW4gJXMiCittc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCittc2dzdHIgInMnaGFuIGRlaXhhdCBlbHMgY29udGluZ3V0cyBkZSBsYSBub3RhIGVuICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjMyIGJ1aWx0aW4vdGFnLmM6NDQwCisjOiBidWlsdGluL25vdGVzLmM6MjMzIGJ1aWx0aW4vdGFnLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIzNCBidWlsdGluL3RhZy5jOjQ0MworIzogYnVpbHRpbi9ub3Rlcy5jOjIzNSBidWlsdGluL3RhZy5jOjQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgbyBsbGVnaXIgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI1MyBidWlsdGluL25vdGVzLmM6MzA0IGJ1aWx0aW4vbm90ZXMuYzozMDYKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNjkgYnVpbHRpbi9ub3Rlcy5jOjQyNCBidWlsdGluL25vdGVzLmM6NTEwCi0jOiBidWlsdGluL25vdGVzLmM6NTE1IGJ1aWx0aW4vbm90ZXMuYzo1OTMgYnVpbHRpbi9ub3Rlcy5jOjY1NgotIzogYnVpbHRpbi9ub3Rlcy5jOjg4MCBidWlsdGluL3RhZy5jOjQ1NgorIzogYnVpbHRpbi9ub3Rlcy5jOjI1NCBidWlsdGluL25vdGVzLmM6MzA1IGJ1aWx0aW4vbm90ZXMuYzozMDcKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzIgYnVpbHRpbi9ub3Rlcy5jOjQyNyBidWlsdGluL25vdGVzLmM6NTEzCisjOiBidWlsdGluL25vdGVzLmM6NTE4IGJ1aWx0aW4vbm90ZXMuYzo1OTYgYnVpbHRpbi9ub3Rlcy5jOjY1OQogIywgYy1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKLW1zZ3N0ciAiUydoYSBmYWxsYXQgZW4gcmVzb2xkcmUgJyVzJyBjb20gYSByZWZlcsOobmNpYSB2w6BsaWRhLiIKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAicydoYSBmYWxsYXQgZW4gcmVzb2xkcmUgJyVzJyBjb20gYSByZWZlcsOobmNpYSB2w6BsaWRhLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI1NgorIzogYnVpbHRpbi9ub3Rlcy5jOjI1NwogIywgYy1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gcmVhZCBvYmplY3QgJyVzJy4iCi1tc2dzdHIgIlMnaGEgZmFsbGF0IGVuIGxsZWdpciBsJ29iamVjdGUgJyVzJy4iCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgb2JqZWN0ICclcycuIgorbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBsbGVnaXIgbCdvYmplY3RlICclcycuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjYwCisjOiBidWlsdGluL25vdGVzLmM6MjYxCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCByZWFkIG5vdGUgZGF0YSBmcm9tIG5vbi1ibG9iIG9iamVjdCAnJXMnLiIKLW1zZ3N0ciAiTm8gZXMgcG90IGxsZWdpciBsZXMgZGFkZXMgZGUgbm9kZSBkZSBsJ29iamVjdGUgbm8gZGUgYmxvYiAnJXMnLiIKK21zZ2lkICJjYW5ub3QgcmVhZCBub3RlIGRhdGEgZnJvbSBub24tYmxvYiBvYmplY3QgJyVzJy4iCittc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgbGVzIGRhZGVzIGRlIG5vZGUgZGUgbCdvYmplY3RlIG5vIGRlIGJsb2IgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNjIgYnVpbHRpbi9ub3Rlcy5jOjQxNyBidWlsdGluL25vdGVzLmM6NDkzCi0jOiBidWlsdGluL25vdGVzLmM6NTA1IGJ1aWx0aW4vbm90ZXMuYzo1ODEgYnVpbHRpbi9ub3Rlcy5jOjY0OQotIzogYnVpbHRpbi9ub3Rlcy5jOjk0NQorIzogYnVpbHRpbi9ub3Rlcy5jOjMwMQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCittc2dzdHIgImzDrW5pYSBkJ2VudHJhZGEgbWFsIGZvcm1hZGE6ICclcycuIgorCisjOiBidWlsdGluL25vdGVzLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgorbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBjb3BpYXIgbGVzIG5vdGVzIGRlICclcycgYSAnJXMnIgorCisjLiBUUkFOU0xBVE9SUzogdGhlIGZpcnN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgYnkgYQorIy4gZ2l0IG5vdGVzIGNvbW1hbmQ6ICdhZGQnLCAnbWVyZ2UnLCAncmVtb3ZlJywgZXRjLgorIzogYnVpbHRpbi9ub3Rlcy5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZ1c2luZyB0byAlcyBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCittc2dzdHIgInMnZXN0w6AgcmVmdXNhbnQgJXMgbGVzIG5vdGVzIGVuICVzIChmb3JhIGRlIHJlZnMvbm90ZXMvKSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjM2NSBidWlsdGluL25vdGVzLmM6NDIwIGJ1aWx0aW4vbm90ZXMuYzo0OTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MDggYnVpbHRpbi9ub3Rlcy5jOjU4NCBidWlsdGluL25vdGVzLmM6NjUyCisjOiBidWlsdGluL25vdGVzLmM6ODAyIGJ1aWx0aW4vbm90ZXMuYzo5NDkgYnVpbHRpbi9ub3Rlcy5jOjk3MAogbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCiBtc2dzdHIgIm1hc3NhIHBhcsOgbWV0cmVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzc1IGJ1aWx0aW4vbm90ZXMuYzo2NjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjY2NQogIywgYy1mb3JtYXQKLW1zZ2lkICJObyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgotbXNnc3RyICJObyBzJ2hhIHRyb2JhdCBjYXAgbm90YSBwZXIgYSBsJ29iamVjdGUgJXMuIgorbXNnaWQgIm5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCittc2dzdHIgIm5vIHMnaGEgdHJvYmF0IGNhcCBub3RhIHBlciBhIGwnb2JqZWN0ZSAlcy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozOTYgYnVpbHRpbi9ub3Rlcy5jOjU1OQorIzogYnVpbHRpbi9ub3Rlcy5jOjM5OSBidWlsdGluL25vdGVzLmM6NTYyCiBtc2dpZCAibm90ZSBjb250ZW50cyBhcyBhIHN0cmluZyIKIG1zZ3N0ciAiYW5vdGEgZWxzIGNvbnRpbmd1dHMgY29tIGEgY2FkZW5hIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzk5IGJ1aWx0aW4vbm90ZXMuYzo1NjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQogbXNnaWQgIm5vdGUgY29udGVudHMgaW4gYSBmaWxlIgogbXNnc3RyICJhbm90YSBlbHMgY29udGluZ3V0cyBlbiB1biBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICJyZXVzYSBpIGVkaXRhIGwnb2JqZWN0ZSBkZSBub3RhIGVzcGVjaWZpY2F0IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDA1IGJ1aWx0aW4vbm90ZXMuYzo1NjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQogbXNnaWQgInJldXNlIHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAicmV1c2EgbCdvYmplY3RlIGRlIG5vdGEgZXNwZWNpZmljYXQiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CiBtc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgogbXNnc3RyICJwZXJtZXQgbCdlbW1hZ2F0emVtYXRnZSBkJ3VuYSBub3RhIGJ1aWRhIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDA5IGJ1aWx0aW4vbm90ZXMuYzo0ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjQ4MwogbXNnaWQgInJlcGxhY2UgZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgInJlZW1wbGHDp2EgbGVzIG5vdGVzIGV4aXN0ZW50cyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQzNAorIzogYnVpbHRpbi9ub3Rlcy5jOjQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGFkZCBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKQEAgLTg2MTQsMzAgKzEwMDMwLDMwIEBACiAiTm8gZXMgcG90IGFmZWdpciBsZXMgbm90ZXMuIFMnaGFuIHRyb2JhdCBub3RlcyBleGlzdGVudHMgZGUgbCdvYmplY3RlICVzLiAiCiAiVXNldSAnLWYnIHBlciBhIHNvYnJlZXNjcml1cmUgbGVzIG5vdGVzIGV4aXN0ZW50cy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NDkgYnVpbHRpbi9ub3Rlcy5jOjUyOAorIzogYnVpbHRpbi9ub3Rlcy5jOjQ1MiBidWlsdGluL25vdGVzLmM6NTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKLW1zZ3N0ciAiU29icmVlc2NyaXZpbnQgbGVzIG5vdGVzIGV4aXN0ZW50cyBkZSBsJ29iamVjdGUgJXNcbiIKK21zZ3N0ciAiUydlc3RhbiBzb2JyZWVzY3JpdmludCBsZXMgbm90ZXMgZXhpc3RlbnRzIGRlIGwnb2JqZWN0ZSAlc1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDYwIGJ1aWx0aW4vbm90ZXMuYzo2MjEgYnVpbHRpbi9ub3Rlcy5jOjg4NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MyBidWlsdGluL25vdGVzLmM6NjI0IGJ1aWx0aW4vbm90ZXMuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgbm90ZSBmb3Igb2JqZWN0ICVzXG4iCi1tc2dzdHIgIkVsaW1pbmFudCBsYSBub3RhIGRlIGwnb2JqZWN0ZSAlc1xuIgorbXNnc3RyICJTJ2VzdMOgIGVsaW1pbmFudCBsYSBub3RhIGRlIGwnb2JqZWN0ZSAlc1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDgxCisjOiBidWlsdGluL25vdGVzLmM6NDg0CiBtc2dpZCAicmVhZCBvYmplY3RzIGZyb20gc3RkaW4iCiBtc2dzdHIgImxsZWdlaXggZWxzIG9iamVjdGVzIGRlcyBkJ3N0ZGluIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDgzCisjOiBidWlsdGluL25vdGVzLmM6NDg2CiBtc2dpZCAibG9hZCByZXdyaXRpbmcgY29uZmlnIGZvciA8Y29tbWFuZD4gKGltcGxpZXMgLS1zdGRpbikiCiBtc2dzdHIgIiIKICJjYXJyZWdhIGxhIGNvbmZpZ3VyYWNpw7MgZGUgcmVlc2NyaXB0dXJhIHBlciBhIDxvcmRyZT4gKGltcGxpY2EgLS1zdGRpbikiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MDQKIG1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCiBtc2dzdHIgImhpIGhhIG1hc3NhIHBvY3MgcGFyw6BtZXRyZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtODY0NiwxMiArMTAwNjIsMTIgQEAKICJObyBlcyBwb3QgY29waWFyIGxlcyBub3Rlcy4gUydoYW4gdHJvYmF0IG5vdGVzIGV4aXN0ZW50cyBkZSBsJ29iamVjdGUgJXMuICIKICJVc2V1ICctZicgcGVyIGEgc29icmVlc2NyaXVyZSBsZXMgbm90ZXMgZXhpc3RlbnRzLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzNAorIzogYnVpbHRpbi9ub3Rlcy5jOjUzNwogIywgYy1mb3JtYXQKLW1zZ2lkICJNaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKLW1zZ3N0ciAiTWFucXVlbiBub3RlcyBhIGwnb2JqZWN0ZSBmb250ICVzLiBObyBlcyBwb3QgY29waWFyLiIKK21zZ2lkICJtaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKK21zZ3N0ciAibWFucXVlbiBub3RlcyBhIGwnb2JqZWN0ZSBmb250ICVzLiBObyBlcyBwb3QgY29waWFyLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU4NgorIzogYnVpbHRpbi9ub3Rlcy5jOjU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC1tLy1GLy1jLy1DIG9wdGlvbnMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZSAnZWRpdCcgc3ViY29tbWFuZC5cbiIKQEAgLTg2NjAsMTUgKzEwMDc2LDUyIEBACiAiUydoYW4gZGVzYXByb3ZhdCBsZXMgb3BjaW9ucyAtbS8tRi8tYy8tQyBlbiBmYXZvciBkZSBsYSBzdWJvcmRyZSAnZWRpdCcuXG4iCiAiU2kgdXMgcGxhdSwgdXNldSAnZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQycgZW4gbGxvYyBkJ2FpeMOyLlxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzY3CisjOiBidWlsdGluL25vdGVzLmM6Njg1Cittc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKK21zZ3N0ciAicydoYSBmYWxsYXQgZW4gc3VwcmltaXIgbGEgcmVmZXLDqG5jaWEgTk9URVNfTUVSR0VfUEFSVElBTCIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjY4NworbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1JFRiIKK21zZ3N0ciAicydoYSBmYWxsYXQgZW4gc3VwcmltaXIgbGEgcmVmZXLDqG5jaWEgTk9URVNfTUVSR0VfUkVGIgorCisjOiBidWlsdGluL25vdGVzLmM6Njg5Cittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnZ2l0IG5vdGVzIG1lcmdlJyB3b3JrdHJlZSIKK21zZ3N0ciAicydoYSBmYWxsYXQgZW4gZWxpbWluYXIgbCdhcmJyZSBkZSB0cmViYWxsIGRlICdnaXQgbm90ZXMgbWVyZ2UnIgorCisjOiBidWlsdGluL25vdGVzLmM6NzA5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCittc2dzdHIgInMnaGEgZmFsbGF0IGVuIGxsZWdpciBsYSByZWZlcsOobmNpYSBOT1RFU19NRVJHRV9QQVJUSUFMIgorCisjOiBidWlsdGluL25vdGVzLmM6NzExCittc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgdHJvYmFyIGNhcCBjb21pc3Npw7MgZGUgTk9URVNfTUVSR0VfUEFSVElBTC4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTMKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyBkZSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcyNgorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIE5PVEVTX01FUkdFX1JFRiIKK21zZ3N0ciAicydoYSBmYWxsYXQgZW4gcmVzb2xkcmUgTk9URVNfTUVSR0VfUkVGIgorCisjOiBidWlsdGluL25vdGVzLmM6NzI5Cittc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplIG5vdGVzIG1lcmdlIgorbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBmaW5hbGl0emFyIGxhIGZ1c2nDsyBkZSBub3RlcyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5vdGVzIG1lcmdlIHN0cmF0ZWd5ICVzIgorbXNnc3RyICJlc3RyYXTDqGdpYSBkZSBmdXNpw7MgZGUgbm90ZXMgZGVzY29uZWd1ZGEgJXMiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzEKIG1zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCiBtc2dzdHIgIk9wY2lvbnMgZ2VuZXJhbHMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzMKIG1zZ2lkICJNZXJnZSBvcHRpb25zIgogbXNnc3RyICJPcGNpb25zIGRlIGZ1c2nDsyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjc3NQogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCiAiY2F0X3NvcnRfdW5pcSkiCkBAIC04Njc2LDI0NCArMTAxMjksMjg4IEBACiAicmVzb2wgZWxzIGNvbmZsaWN0ZXMgZGUgbm90YSB1c2FudCBsJ2VzdHJhdMOoZ2lhIGRvbmFkYSAobWFudWFsL291cnMvdGhlaXJzLyIKICJ1bmlvbi9jYXRfc29ydF91bmlxKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MworIzogYnVpbHRpbi9ub3Rlcy5jOjc3NwogbXNnaWQgIkNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCi1tc2dzdHIgIkNvbWV0ZW50IGxlcyBub3RlcyBzZW5zZSBmdXNpb25hciIKK21zZ3N0ciAiUydlc3RhbiBjb21ldGVudCBsZXMgbm90ZXMgc2Vuc2UgZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzkKIG1zZ2lkICJmaW5hbGl6ZSBub3RlcyBtZXJnZSBieSBjb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICJmaW5hbGl0emEgbGEgZnVzacOzIGRlIG5vdGVzIGNvbWV0ZW50IGxlcyBub3RlcyBzZW5zZSBmdXNpb25hciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NworIzogYnVpbHRpbi9ub3Rlcy5jOjc4MQogbXNnaWQgIkFib3J0aW5nIG5vdGVzIG1lcmdlIHJlc29sdXRpb24iCi1tc2dzdHIgIkF2b3J0YW50IGxhIHJlc29sdWNpw7MgZGUgZnVzacOzIGRlIG5vdGVzIgorbXNnc3RyICJTJ2VzdMOgIGF2b3J0YW50IGxhIHJlc29sdWNpw7MgZGUgZnVzacOzIGRlIG5vdGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc5CisjOiBidWlsdGluL25vdGVzLmM6NzgzCiBtc2dpZCAiYWJvcnQgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgImF2b3J0YSBsYSBmdXNpw7MgZGUgbm90ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiCi1tc2dzdHIgIlVuYSBmdXNpw7MgZGUgbm90ZXMgYSAlcyBqYSBlc3TDoCBlbiBjdXJzIGEgJXMiCisjOiBidWlsdGluL25vdGVzLmM6Nzk0Cittc2dpZCAiY2Fubm90IG1peCAtLWNvbW1pdCwgLS1hYm9ydCBvciAtcy8tLXN0cmF0ZWd5IgorbXNnc3RyICJubyBlcyBwb3QgY29tYmluYXIgLS1jb21taXQsIC0tYWJvcnQgaSAtcy8tLXN0cmF0ZWd5IgogCi0jOiBidWlsdGluL25vdGVzLmM6ODgzCisjOiBidWlsdGluL25vdGVzLmM6Nzk5Cittc2dpZCAibXVzdCBzcGVjaWZ5IGEgbm90ZXMgcmVmIHRvIG1lcmdlIgorbXNnc3RyICJjYWwgZXNwZWNpZmljYXIgdW5hIHJlZmVyw6huY2lhIGRlIG5vdGVzIGEgZnVzaW9uYXIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biAtcy8tLXN0cmF0ZWd5OiAlcyIKK21zZ3N0ciAiLXMvLS1zdHJhdGVneSBkZXNjb25lZ3VkYTogJXMiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiCittc2dzdHIgInVuYSBmdXNpw7MgZGUgbm90ZXMgYSAlcyBqYSBlc3TDoCBlbiBjdXJzIGEgJXMiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHN0b3JlIGxpbmsgdG8gY3VycmVudCBub3RlcyByZWYgKCVzKSIKK21zZ3N0ciAiIgorInMnaGEgZmFsbGF0IGVuIGVtbWFnYXR6ZW1hciBsJ2VubGxhw6cgYSBsYSByZWZlcsOobmNpYSBkZSBub3RlcyBhY3R1YWwgKCVzKSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZC4gRml4IGNvbmZsaWN0cyBpbiAlcyBhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAiCisiJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcsIG9yIGFib3J0IHRoZSBtZXJnZSB3aXRoICdnaXQgbm90ZXMgbWVyZ2UgLS0iCisiYWJvcnQnLlxuIgorbXNnc3RyICIiCisiTGEgZnVzacOzIGRlIG5vdGVzIGF1dG9tw6B0aWNhIGhhIGZhbGxhdC4gQXJyZWdsZXUgZWxzIGNvbmZsaWN0ZXMgZW4gJXMgaSAiCisiY29tZXRldSBlbCByZXN1bHRhdCBhbWIgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcsIG8gYXZvcnRldSBsYSBmdXNpw7MgYW1iICIKKyInZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQnLlxuIgorCisjOiBidWlsdGluL25vdGVzLmM6ODg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9iamVjdCAlcyBoYXMgbm8gbm90ZVxuIgogbXNnc3RyICJMJ29iamVjdGUgJXMgbm8gdMOpIGNhcCBub3RhXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4OTkKIG1zZ2lkICJhdHRlbXB0IHRvIHJlbW92ZSBub24tZXhpc3RlbnQgbm90ZSBpcyBub3QgYW4gZXJyb3IiCiBtc2dzdHIgImwnaW50ZW50IGQnZWxpbWluYXIgdW5hIG5vdGEgbm8gZXhpc3RlbnQgbm8gw6lzIHVuIGVycm9yIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODk4CisjOiBidWlsdGluL25vdGVzLmM6OTAyCiBtc2dpZCAicmVhZCBvYmplY3QgbmFtZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxsZWdlaXggZWxzIG5vbXMgZCdvYmplY3RlIGRlcyBkZSBsJ2VudHJhZGEgZXN0w6BuZGFyZCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk3OQorIzogYnVpbHRpbi9ub3Rlcy5jOjk0MCBidWlsdGluL3BydW5lLmM6MTA1IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjcKK21zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCittc2dzdHIgIm5vIGVsaW1pbmlzLCBub23DqXMgbW9zdHJhIgorCisjOiBidWlsdGluL25vdGVzLmM6OTQxCittc2dpZCAicmVwb3J0IHBydW5lZCBub3RlcyIKK21zZ3N0ciAiaW5mb3JtYSBkZSBub3RlcyBwb2RhZGVzIgorCisjOiBidWlsdGluL25vdGVzLmM6OTgzCiBtc2dpZCAibm90ZXMtcmVmIgogbXNnc3RyICJyZWZlcsOobmNpYSBkZSBub3RlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjk4NAogbXNnaWQgInVzZSBub3RlcyBmcm9tIDxub3Rlcy1yZWY+IgogbXNnc3RyICJ1c2EgbGVzIG5vdGVzIGRlIDxyZWZlcsOobmNpYS1kZS1ub3Rlcz4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxMDE1IGJ1aWx0aW4vcmVtb3RlLmM6MTYyNgorIzogYnVpbHRpbi9ub3Rlcy5jOjEwMTkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKLW1zZ3N0ciAiU3Vib3JkcmUgZGVzY29uZWd1ZGE6ICVzIgorbXNnaWQgInVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dzdHIgInN1Ym9yZHJlIGRlc2NvbmVndWRhOiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOQogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPG9wY2lvbnM+Li4uXSBbPCA8bGxpc3RhLWRlLXJlZmVyw6huY2llcz4gfCA8ICIKICI8bGxpc3RhLWRlLW9iamVjdGVzPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPG9wdGlvbnM+Li4uXSA8YmFzZS1uYW1lPiBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxvcGNpb25zPi4uLl0gPG5vbS1iYXNlPiBbPCA8bGxpc3RhLWRlLXJlZmVyw6huY2llcz4gfCA8ICIKICI8bGxpc3RhLWRlLW9iamVjdGVzPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTc1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTc4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3OSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlIGVycm9yICglZCkiCiBtc2dzdHIgImVycm9yIGRlIGRlZmxhY2nDsyAoJWQpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3MgotbXNnaWQgIldyaXRpbmcgb2JqZWN0cyIKLW1zZ3N0ciAiRXNjcml2aW50IGVscyBvYmplY3RlcyIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzY4Cittc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKK21zZ3N0ciAiIgorInMnZXN0w6AgaW5oYWJpbGl0YW50IGwnZXNjcmlwdHVyYSBkZSBtYXBlcyBkZSBiaXRzLCBlcyBkaXZpZGVpeGVuIGVscyBwYXF1ZXRzICIKKyJhIGNhdXNhIGRlIHBhY2sucGFja1NpemVMaW1pdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMDEyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc4MQorbXNnaWQgIldyaXRpbmcgb2JqZWN0cyIKK21zZ3N0ciAiUydlc3RhbiBlc2NyaXZpbnQgZWxzIG9iamVjdGVzIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjEwNzAKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIGFzIHNvbWUgb2JqZWN0cyBhcmUgbm90IGJlaW5nIHBhY2tlZCIKIG1zZ3N0ciAiIgotImluaGFiaWxpdGFudCBsJ2VzY3JpcHR1cmEgZGUgbWFwZXMgZGUgYml0cywgcGVycXXDqCBhbGd1bnMgb2JqZWN0ZXMgbm8gIgotInMnZXN0YW4gZW1wYXF1ZXRhbnQiCisicydlc3TDoCBpbmhhYmlsaXRhbnQgbCdlc2NyaXB0dXJhIGRlIG1hcGVzIGRlIGJpdHMsIHBlcnF1w6ggYWxndW5zIG9iamVjdGVzIG5vICIKKyJzJ2VtcGFxdWV0ZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjE3MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzQ2CiBtc2dpZCAiQ29tcHJlc3Npbmcgb2JqZWN0cyIKLW1zZ3N0ciAiQ29tcHJpbWludCBvYmplY3RlcyIKK21zZ3N0ciAiUydlc3RhbiBjb21wcmltaW50IG9iamVjdGVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1NTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBpbmRleCB2ZXJzaW9uICVzIgogbXNnc3RyICJ2ZXJzacOzIGQnw61uZGV4IG5vIGNvbXBhdGlibGUgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU2MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICclcyciCiBtc2dzdHIgInZlcnNpw7MgZCfDrW5kZXggZG9sZW50YSAnJXMnIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1OTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MwogbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICJubyBtb3N0cmlzIGwnaW5kaWNhZG9yIGRlIHByb2dyw6lzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1OTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5NQogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgIm1vc3RyYSBsJ2luZGljYWRvciBkZSBwcm9ncsOpcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTk2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTcKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKIG1zZ3N0ciAibW9zdHJhIGwnaW5kaWNhZG9yIGRlIHByb2dyw6lzIGR1cmFudCBsYSBmYXNlIGQnZXNjcmlwdHVyYSBkJ29iamVjdGVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1OTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMAogbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKIG1zZ3N0ciAic2ltaWxhciBhIC0tYWxsLXByb2dyZXNzIHF1YW4gbCdpbmRpY2Fkb3IgZGUgcHJvZ3LDqXMgZXMgbW9zdHJhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMQogbXNnaWQgInZlcnNpb25bLG9mZnNldF0iCiBtc2dzdHIgInZlcnNpw7NbLGRlc3BsYcOnYW1lbnRdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMgogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgIiIKICJlc2NyaXUgZWwgZml0eGVyIGQnw61uZGV4IGRlIHBhcXVldCBlbiBsYSB2ZXJzacOzIGRlIGZvcm1hdCBkJ8OtbmRleCAiCiAiZXNwZWNpZmljYWRhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNQogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCiBtc2dzdHIgIm1pZGEgbcOgeGltYSBkZSBjYWRhIGZpdHhlciBkZSBwYXF1ZXQgZGUgc29ydGlkYSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjA2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDcKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgIiIKICJpZ25vcmEgZWxzIG9iamVjdGVzIHByZXN0YXRzIGQndW4gZW1tYWdhdHplbWFtZW50IGQnb2JqZWN0ZXMgYWx0ZXJuYXRpdSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjA4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDkKIG1zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCiBtc2dzdHIgImlnbm9yYSBlbHMgb2JqZWN0ZXMgZW1wYXF1ZXRhdHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxMAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODExCiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAibGltaXRhIGxhIGZpbmVzdHJhIGQnZW1wYXF1ZXRhbWVudCBwZXIgb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODEzCiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAiIgogImxpbWl0YSBsYSBmaW5lc3RyYSBkJ2VtcGFxdWV0YW1lbnQgcGVyIG1lbcOycmlhIGEgbcOpcyBkZWwgbMOtbWl0IGQnb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODE1CiBtc2dpZCAibWF4aW11bSBsZW5ndGggb2YgZGVsdGEgY2hhaW4gYWxsb3dlZCBpbiB0aGUgcmVzdWx0aW5nIHBhY2siCiBtc2dzdHIgImxvbmdpdHVkIG3DoHhpbWEgZGUgbGEgY2FkZW5hIGRlIGRlbHRlcyBwZXJtZXNhIGVuIGVsIHBhcXVldCByZXN1bHRhbnQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxNgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODE3CiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICJyZXVzYSBsZXMgZGVsdGVzIGV4aXN0ZW50cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjE4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTkKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgogbXNnc3RyICJyZXVzYSBlbHMgb2JqZWN0ZXMgZXhpc3RlbnRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyMQogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKIG1zZ3N0ciAidXNhIG9iamVjdGVzIE9GU19ERUxUQSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjIyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjMKIG1zZ2lkICJ1c2UgdGhyZWFkcyB3aGVuIHNlYXJjaGluZyBmb3IgYmVzdCBkZWx0YSBtYXRjaGVzIgogbXNnc3RyICJ1c2EgZmlscyBlbiBjZXJjYXIgbGVzIG1pbGxvcmVzIGNvaW5jaWTDqG5jaWVzIGRlIGRlbHRhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyNQogbXNnaWQgImRvIG5vdCBjcmVhdGUgYW4gZW1wdHkgcGFjayBvdXRwdXQiCiBtc2dzdHIgIm5vIGNyZcOvcyB1bmEgZW1pc3Npw7MgZGUgcGFxdWV0IGJ1aWRhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyNwogbXNnaWQgInJlYWQgcmV2aXNpb24gYXJndW1lbnRzIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxsZWdlaXggZWxzIHBhcsOgbWV0cmVzIGRlIHJldmlzacOzIGRlcyBkZSBsJ2VudHJhZGEgZXN0w6BuZGFyZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjI4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjkKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKIG1zZ3N0ciAibGltaXRhIGVscyBvYmplY3RlcyBhbHMgcXVhbHMgZW5jYXJhIG5vIHMnaGFnaW4gZW1wYXF1ZXRhdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjMxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzIKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAiaW5jbG91IGVscyBvYmplY3RlcyBhYmFzdGFibGVzIGRlIHF1YWxzZXZ1bGxhIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNQogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAiIgogImluY2xvdSBlbHMgb2JqZWN0ZXMgYWxzIHF1YWxzIGZhY2luIHJlZmVyw6huY2lhIGxlcyBlbnRyYWRlcyBkZWwgcmVnaXN0cmUgZGUgIgogInJlZmVyw6huY2llcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjM3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzgKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICJpbmNsb3UgZWxzIG9iamVjdGVzIGFscyBxdWFscyBmYWNpIHJlZmVyw6huY2lhIGwnw61uZGV4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0MQogbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKIG1zZ3N0ciAiZW1ldCBlbCBwYXF1ZXQgYSBzdGRvdXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQzCiBtc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgogbXNnc3RyICIiCiAiaW5jbG91IGVscyBvYmplY3RlcyBkJ2V0aXF1ZXRhIHF1ZSBmYWNpbiByZWZlcsOobmNpYSBhbHMgb2JqZWN0ZXMgYSBlbXBhcXVldGFyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NQogbXNnaWQgImtlZXAgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAicmV0w6luIGVscyBvYmplY3RlcyBpbmFiYXN0YWJsZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0NSBwYXJzZS1vcHRpb25zLmg6MTQyCi1tc2dpZCAidGltZSIKLW1zZ3N0ciAiaG9yYSIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NworbXNnaWQgInBhY2sgbG9vc2UgdW5yZWFjaGFibGUgb2JqZWN0cyIKK21zZ3N0ciAiZW1wYXF1ZXRhIGVscyBvYmplY3RlcyBpbmFiYXN0YWJsZXMgc29sdHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ5CiBtc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgImRlc2VtcGFxdWV0YSBlbHMgb2JqZWN0ZXMgaW5hYmFzdGFibGVzIG3DqXMgbm91cyBxdWUgPGhvcmE+IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1MgogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICJjcmVhIHBhcXVldHMgcHJpbXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODU0CiBtc2dpZCAiY3JlYXRlIHBhY2tzIHN1aXRhYmxlIGZvciBzaGFsbG93IGZldGNoZXMiCiBtc2dzdHIgImNyZWEgcGFxdWV0cyBhZGVxdWF0cyBwZXIgYSBsZXMgb2J0ZW5jaW9ucyBzdXBlcmZpY2lhbHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODU2CiBtc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKIG1zZ3N0ciAiaWdub3JhIGVscyBwYXF1ZXRzIHF1ZSB0aW5ndWluIHVuIGZpdHhlciAua2VlcCBjb3JyZXNwb25lbnQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODU4CiBtc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKIG1zZ3N0ciAibml2ZWxsIGRlIGNvbXByZXNzacOzIGRlIHBhcXVldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NjAKIG1zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKIG1zZ3N0ciAibm8gYW1hZ3VpcyBsZXMgY29taXNzaW9ucyBwZXIgZW1wZWx0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2MgogbXNnaWQgInVzZSBhIGJpdG1hcCBpbmRleCBpZiBhdmFpbGFibGUgdG8gc3BlZWQgdXAgY291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogInVzYSB1biDDrW5kZXggZGUgbWFwYSBkZSBiaXRzLCBzaSBlc3TDoCBkaXNwb25pYmxlLCBwZXIgYSBhY2NlbGVyYXIgZWwgIgogInJlY29tcHRlIGQnb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODY0CiBtc2dpZCAid3JpdGUgYSBiaXRtYXAgaW5kZXggdG9nZXRoZXIgd2l0aCB0aGUgcGFjayBpbmRleCIKIG1zZ3N0ciAiZXNjcml1IHVuIMOtbmRleCBkZSBtYXBhIGRlIGJpdHMganVudCBhbWIgbCfDrW5kZXggZGUgcGFxdWV0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk5MwogbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCi1tc2dzdHIgIkNvbXB0YW50IGVscyBvYmplY3RlcyIKK21zZ3N0ciAiUydlc3RhbiBjb21wdGFudCBlbHMgb2JqZWN0ZXMiCiAKICM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6NgogbXNnaWQgImdpdCBwYWNrLXJlZnMgWzxvcHRpb25zPl0iCkBAIC04OTMzLDc1ICsxMDQzMCw2MyBAQAogCiAjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjQwCiBtc2dpZCAiUmVtb3ZpbmcgZHVwbGljYXRlIG9iamVjdHMiCi1tc2dzdHIgIkVsaW1pbmFudCBvYmplY3RlcyBkdXBsaWNhdHMiCittc2dzdHIgIlMnZXN0YW4gZWxpbWluYW50IG9iamVjdGVzIGR1cGxpY2F0cyIKIAogIzogYnVpbHRpbi9wcnVuZS5jOjExCiBtc2dpZCAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1leHBpcmUgPHRpbWU+XSBbLS1dIFs8aGVhZD4uLi5dIgogbXNnc3RyICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLWV4cGlyZSA8aG9yYT5dIFstLV0gWzxjYXA+Li4uXSIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjEwNSBidWlsdGluL3dvcmt0cmVlLmM6MTI0Ci1tc2dpZCAiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IgotbXNnc3RyICJubyBlbGltaW5pcywgbm9tw6lzIG1vc3RyYSIKLQotIzogYnVpbHRpbi9wcnVuZS5jOjEwNiBidWlsdGluL3dvcmt0cmVlLmM6MTI1CisjOiBidWlsdGluL3BydW5lLmM6MTA2IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjgKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG9iamVjdHMiCiBtc2dzdHIgImluZm9ybWEgZCdvYmplY3RlcyBwb2RhdHMiCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkgYnVpbHRpbi93b3JrdHJlZS5jOjEyNworIzogYnVpbHRpbi9wcnVuZS5jOjEwOSBidWlsdGluL3dvcmt0cmVlLmM6MTMwCiBtc2dpZCAiZXhwaXJlIG9iamVjdHMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgImZlcyBjYWR1Y2FyIGVscyBvYmplY3RlcyBtw6lzIHZlbGxzIHF1ZSA8aG9yYT4iCiAKICM6IGJ1aWx0aW4vcHJ1bmUuYzoxMjMKIG1zZ2lkICJjYW5ub3QgcHJ1bmUgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCi1tc2dzdHIgIm5vIGVzIHBvdCBwb2RhciBlbiB1biBkaXDDsnNpdCBkJ29iamVjdGVzIHByZWNpb3NlcyIKK21zZ3N0ciAibm8gZXMgcG90IHBvZGFyIGVuIHVuIGRpcMOyc2l0IGQnb2JqZWN0ZXMgcHJlY2lvc29zIgogCi0jOiBidWlsdGluL3B1bGwuYzo3MgorIzogYnVpbHRpbi9wdWxsLmM6NTEgYnVpbHRpbi9wdWxsLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgorbXNnc3RyICJWYWxvciBubyB2w6BsaWQgcGVyIGEgJXM6ICVzIgorCisjOiBidWlsdGluL3B1bGwuYzo3MwogbXNnaWQgImdpdCBwdWxsIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgotbXNnc3RyICJnaXQgcHVsbCBbb3BjaW9uc10gWzxkaXDDsnNpdD4gWzxlc3BlY2lmaWNhY2nDsy1kZS1yZWZlcsOobmNpYT4uLi5dXSIKK21zZ3N0ciAiZ2l0IHB1bGwgWzxvcGNpb25zPl0gWzxkaXDDsnNpdD4gWzxlc3BlY2lmaWNhY2nDsy1kZS1yZWZlcsOobmNpYT4uLi5dXSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTE3CisjOiBidWlsdGluL3B1bGwuYzoxMjEKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZyIKIG1zZ3N0ciAiT3BjaW9ucyByZWxhY2lvbmFkZXMgYW1iIGZ1c2lvbmFyIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMjAKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyNAogbXNnaWQgImluY29ycG9yYXRlIGNoYW5nZXMgYnkgcmViYXNpbmcgcmF0aGVyIHRoYW4gbWVyZ2luZyIKIG1zZ3N0ciAiaW5jb3Jwb3JhIGVscyBjYW52aXMgcGVyIHJlYmFzYXIgZW4gbGxvYyBkZSBmdXNpb25hciIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTQ0IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CisjOiBidWlsdGluL3B1bGwuYzoxNDggYnVpbHRpbi9yZXZlcnQuYzoxMDEKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQiCiBtc2dzdHIgInBlcm1ldCBsJ2F2YW7DpyByw6BwaWQiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1MAotbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKLW1zZ3N0ciAidmVyaWZpY2EgcXVlIGxhIGNvbWlzc2nDsyBhbm9tZW5hZGEgdGluZ3VpIHVuYSBmaXJtYSBHUEcgdsOgbGlkYSIKKyM6IGJ1aWx0aW4vcHVsbC5jOjE1NworbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIgcmViYXNlIgorbXNnc3RyICJhdXRvbcOgdGljYW1lbnQgZW1tYWdhdHplbWEvZGVzZW1waWxhIGFiYW5zIGkgZGVzcHLDqXMgZGUgcmViYXNhbWVudCIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTY0CisjOiBidWlsdGluL3B1bGwuYzoxNzMKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gZmV0Y2hpbmciCiBtc2dzdHIgIk9wY2lvbnMgcmVsYWNpb25hZGVzIGFtYiBvYnRlbmlyIgogCi0jOiBidWlsdGluL3B1bGwuYzoxODYKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5NQogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIHB1bGxlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAibm9tYnJlIGRlIHN1Ym3DsmR1bHMgYmFpeGF0cyBlbiBwYXJhbMK3bGVsIgogCi0jOiBidWlsdGluL3B1bGwuYzoyNzUKKyM6IGJ1aWx0aW4vcHVsbC5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciBwdWxsLmZmOiAlcyIKIG1zZ3N0ciAiVmFsb3Igbm8gdsOgbGlkIHBlciBhIHB1bGwuZmY6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzozNTkKLW1zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCi1tc2dzdHIgIk5vIGVzIHBvdCBiYWl4YXIgYW1iIHJlYmFzYW1lbnQ6IFRlbml1IGNhbnZpcyBubyBhbGxpc3RhdHMuIgotCi0jOiBidWlsdGluL3B1bGwuYzozNjUKLW1zZ2lkICJBZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCi1tc2dzdHIgIkFkZGljaW9uYWxtZW50LCBlbCB2b3N0cmUgw61uZGV4IGNvbnTDqSBjYW52aXMgc2Vuc2UgY29tZXRyZS4iCi0KLSM6IGJ1aWx0aW4vcHVsbC5jOjM2NwotbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgotbXNnc3RyICIiCi0iTm8gZXMgcG90IGJhaXhhciBhbWIgcmViYXNhbWVudDogRWwgdm9zdHJlIMOtbmRleCBjb250w6kgY2FudmlzIHNlbnNlIGNvbWV0cmUuIgotCi0jOiBidWlsdGluL3B1bGwuYzo0NDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjM5NwogbXNnaWQgIiIKICJUaGVyZSBpcyBubyBjYW5kaWRhdGUgZm9yIHJlYmFzaW5nIGFnYWluc3QgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCAiCiAiZmV0Y2hlZC4iCkBAIC05MDA5LDEzICsxMDQ5NCwxMyBAQAogIk5vIGhpIGhhIGNhcCBjYW5kaWRhdCBzb2JyZSBlbCBxdWFsIHJlYmFzYXIgZW50cmUgbGVzIHJlZmVyw6huY2llcyBxdWUgYWNhYmV1ICIKICJkJ29idGVuaXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NDUKKyM6IGJ1aWx0aW4vcHVsbC5jOjM5OQogbXNnaWQgIiIKICJUaGVyZSBhcmUgbm8gY2FuZGlkYXRlcyBmb3IgbWVyZ2luZyBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0IGZldGNoZWQuIgogbXNnc3RyICIiCiAiTm8gaGkgaGEgY2FuZGlkYXRzIHBlciBhIGZ1c2lvbmFyIGVudHJlIGxlcyByZWZlcsOobmNpZXMgcXVlIGFjYWJldSBkJ29idGVuaXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NDYKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwMAogbXNnaWQgIiIKICJHZW5lcmFsbHkgdGhpcyBtZWFucyB0aGF0IHlvdSBwcm92aWRlZCBhIHdpbGRjYXJkIHJlZnNwZWMgd2hpY2ggaGFkIG5vXG4iCiAibWF0Y2hlcyBvbiB0aGUgcmVtb3RlIGVuZC4iCkBAIC05MDIzLDcgKzEwNTA4LDcgQEAKICJHZW5lcmFsbWVudCBhaXjDsiB2b2wgZGlyIHF1ZSBoZXUgcHJvdmXDr3QgdW5hIGVzcGVjaWZpY2FjacOzIGRlXG4iCiAicmVmZXLDqG5jaWEgZGUgY29tb2TDrSBxdWUgbm8gdGVuaWEgY2FwIGNvaW5jaWTDqG5jaWEgZW4gZWwgY29zdGF0IHJlbW90LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDQ5CisjOiBidWlsdGluL3B1bGwuYzo0MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBwdWxsIGZyb20gdGhlIHJlbW90ZSAnJXMnLCBidXQgZGlkIG5vdCBzcGVjaWZ5XG4iCkBAIC05MDM0LDM5ICsxMDUxOSw0NCBAQAogIlBlcnF1w6ggYXF1ZXN0IG5vIMOpcyBlbCByZW1vdCBjb25maWd1cmF0IHBlciBkZWZlY3RlIHBlciBhIGxhIHZvc3RyYVxuIgogImJyYW5jYSBhY3R1YWwsIGhldSBkJ2VzcGVjaWZpY2FyIHVuYSBicmFuY2EgZW4gbGEgbMOtbmlhIGQnb3JkcmVzLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDU0CisjOiBidWlsdGluL3B1bGwuYzo0MDggZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MwogbXNnaWQgIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC4iCiBtc2dzdHIgIkFjdHVhbG1lbnQgbm8gc291IGVuIGNhcCBicmFuY2EuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NTYgYnVpbHRpbi9wdWxsLmM6NDcxCisjOiBidWlsdGluL3B1bGwuYzo0MTAgYnVpbHRpbi9wdWxsLmM6NDI1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuIgogbXNnc3RyICJTaSB1cyBwbGF1LCBlc3BlY2lmaXF1ZXUgc29icmUgcXXDqCBicmFuY2Egdm9sZXUgcmViYXNhci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ1OCBidWlsdGluL3B1bGwuYzo0NzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMiBidWlsdGluL3B1bGwuYzo0MjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byBtZXJnZSB3aXRoLiIKIG1zZ3N0ciAiU2kgdXMgcGxhdSwgZXNwZWNpZmlxdWV1IGFtYiBxdcOoIGJyYW5jYSB2b2xldSBmdXNpb25hci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ1OSBidWlsdGluL3B1bGwuYzo0NzQKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMyBidWlsdGluL3B1bGwuYzo0MjgKIG1zZ2lkICJTZWUgZ2l0LXB1bGwoMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICJWZWdldSBnaXQtcHVsbCgxKSBwZXIgZGV0YWxscy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ2OQorIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQyMSBidWlsdGluL3B1bGwuYzo0MzAKKyM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKK21zZ2lkICI8cmVtb3RlPiIKK21zZ3N0ciAiPHJlbW90PiIKKworIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMCBidWlsdGluL3B1bGwuYzo0MzUgZ2l0LXJlYmFzZS5zaDo0NTEKKyM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKK21zZ2lkICI8YnJhbmNoPiIKK21zZ3N0ciAiPGJyYW5jYT4iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjQyMyBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CiBtc2dpZCAiVGhlcmUgaXMgbm8gdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIk5vIGhpIGhhIGNhcCBpbmZvcm1hY2nDsyBkZSBzZWd1aW1lbnQgcGVyIGEgbGEgYnJhbmNhIGFjdHVhbC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3OAotIywgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzMiBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CiBtc2dpZCAiIgotIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOlxuIgotIlxuIgotIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvPSVzLzxicmFuY2g+ICVzXG4iCisiSWYgeW91IHdpc2ggdG8gc2V0IHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGJyYW5jaCB5b3UgY2FuIGRvIHNvIHdpdGg6IgogbXNnc3RyICIiCiAiU2kgdm9sZXUgZXN0YWJsaXIgaW5mb3JtYWNpw7MgZGUgc2VndWltZW50IHBlciBhIGFxdWVzdGEgYnJhbmNhLCBwb2RldSBmZXItaG8gIgotImFtYjpcbiIKLSJcbiIKLSIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10bz0lcy88YnJhbmNhPiAlc1xuIgorImFtYjoiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ4MworIzogYnVpbHRpbi9wdWxsLmM6NDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVzIHRvIG1lcmdlIHdpdGggdGhlIHJlZiAnJXMnXG4iCkBAIC05MDc1LDExICsxMDU2NSwyOCBAQAogIkxhIHZvc3RyYSBjb25maWd1cmFjacOzIGVzcGVjaWZpY2EgZnVzaW9uYXIgYW1iIGxhIHJlZmVyw6huY2lhICclcydcbiIKICJkZWwgcmVtb3QsIHBlcsOyIG5vIHMnaGEgb2J0aW5ndXQgdGFsIHJlZmVyw6huY2lhLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODQxCi1tc2dpZCAiVXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4LiIKLW1zZ3N0ciAiQWN0dWFsaXR6YW50IHVuYSBicmFuY2Egbm8gbmFzY3VkYSBhbWIgY2FudmlzIGFmZWdpdHMgYSBsJ8OtbmRleC4iCisjOiBidWlsdGluL3B1bGwuYzo3NTQKK21zZ2lkICJpZ25vcmluZyAtLXZlcmlmeS1zaWduYXR1cmVzIGZvciByZWJhc2UiCittc2dzdHIgInMnZXN0w6AgaWdub3JhbnQgLS12ZXJpZnktc2lnbmF0dXJlcyBwZXIgYSByZWJhc2FyIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NzAKKyM6IGJ1aWx0aW4vcHVsbC5jOjgwMQorbXNnaWQgIi0tW25vLV1hdXRvc3Rhc2ggb3B0aW9uIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXJlYmFzZS4iCittc2dzdHIgImwnb3BjacOzIC0tW25vLV0tYXV0b3N0YXNoIMOpcyB2w6BsaWQgbm9tw6lzIGFtYiAtLXJlYmFzZS4iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjgwOQorbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCittc2dzdHIgIiIKKyJTJ2VzdMOgIGFjdHVhbGl0emFudCB1bmEgYnJhbmNhIG5vIG5hc2N1ZGEgYW1iIGNhbnZpcyBhZmVnaXRzIGEgbCfDrW5kZXguIgorCisjOiBidWlsdGluL3B1bGwuYzo4MTIKK21zZ2lkICJwdWxsIHdpdGggcmViYXNlIgorbXNnc3RyICJiYWl4YXIgYW1iIHJlYmFzYW1lbnQiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjgxMworbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCittc2dzdHIgInNpIHVzIHBsYXUsIGNvbWV0ZXUtbG9zIG8gZW1tYWdhdHplbWV1LWxvcy4iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZmV0Y2ggdXBkYXRlZCB0aGUgY3VycmVudCBicmFuY2ggaGVhZC5cbiIKQEAgLTkwODcsMTAgKzEwNTk0LDEwIEBACiAiY29tbWl0ICVzLiIKIG1zZ3N0ciAiIgogImwnb2J0ZW5jacOzIGhhIGFjdHVhbGl0emF0IGVsIGNhcCBkZSBsYSBicmFuY2EgYWN0dWFsLlxuIgotImF2YW7Dp2FudCByw6BwaWRhbWVudCBlbCB2b3N0cmUgYXJicmUgZGUgdHJlYmFsbCBkZXMgZGVcbiIKKyJzJ2VzdMOgIGF2YW7Dp2FudCByw6BwaWRhbWVudCBlbCB2b3N0cmUgYXJicmUgZGUgdHJlYmFsbCBkZXMgZGVcbiIKICJsYSBjb21pc3Npw7MgJXMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NzUKKyM6IGJ1aWx0aW4vcHVsbC5jOjg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTkxMDEsMTggKzEwNjA4LDE4IEBACiAidG8gcmVjb3Zlci4iCiBtc2dzdHIgIiIKICJObyBlcyBwb3QgYXZhbsOnYXIgcsOgcGlkYW1lbnQgZWwgdm9zdHJlIGFyYnJlIGRlIHRyZWJhbGwuXG4iCi0iRGVzcHLDqHMgZCdhc3NlZ3VyYXIgcXVlIGjDoGdpdSBkZXNhdCBxdWFsc2V2dWxsYSBjb3NzYSBwcmVjaW9zYSBkZSBsYSBzb3J0aWRhICIKKyJEZXNwcsOpcyBkJ2Fzc2VndXJhciBxdWUgaMOgZ2l1IGRlc2F0IHF1YWxzZXZ1bGxhIGNvc2EgcHJlY2lvc2EgZGUgbGEgc29ydGlkYSAiCiAiZGVcbiIKICIkIGdpdCBkaWZmICVzXG4iCiAiZXhlY3V0ZXVcbiIKICIkIGdpdCByZXNldCAtLWhhcmRcbiIKICJwZXIgYSByZWN1cGVyYXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4OTAKKyM6IGJ1aWx0aW4vcHVsbC5jOjg1OAogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQuIgogbXNnc3RyICJObyBlcyBwb3QgZnVzaW9uYXIgbcO6bHRpcGxlcyBicmFucXVlcyBhIHVuIGNhcCBidWl0LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODk0CisjOiBidWlsdGluL3B1bGwuYzo4NjIKIG1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMuIgogbXNnc3RyICJObyBlcyBwb3QgcmViYXNhciBzb2JyZSBtw7psdGlwbGVzIGJyYW5xdWVzLiIKIApAQCAtOTE5Myw3ICsxMDcwMCw4IEBACiAjOiBidWlsdGluL3B1c2guYzoxODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCi1tc2dzdHIgIkxhIGJyYW5jYSBhY3R1YWwgJXMgdMOpIG3Dumx0aXBsZXMgYnJhbnF1ZXMgZm9udHMsIHJlZnVzYW50IHB1amFyLiIKK21zZ3N0ciAiIgorIkxhIGJyYW5jYSBhY3R1YWwgJXMgdMOpIG3Dumx0aXBsZXMgYnJhbnF1ZXMgZm9udHMsIHMnZXN0w6AgcmVmdXNhbnQgcHVqYXIuIgogCiAjOiBidWlsdGluL3B1c2guYzoxODYKICMsIGMtZm9ybWF0CkBAIC05MjcyLDE5ICsxMDc4MCwxOSBAQAogIzogYnVpbHRpbi9wdXNoLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlB1c2hpbmcgdG8gJXNcbiIKLW1zZ3N0ciAiUHVqYW50IGEgJXNcbiIKK21zZ3N0ciAiUydlc3TDoCBwdWphbnQgYSAlc1xuIgogCiAjOiBidWlsdGluL3B1c2guYzozMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgInMnaGEgZmFsbGF0IGVuIHB1amFyIGFsZ3VuZXMgcmVmZXLDqG5jaWVzIGEgJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzY1CisjOiBidWlsdGluL3B1c2guYzozNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKIG1zZ3N0ciAiZGlww7JzaXQgZG9sZW50ICclcyciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM2NgorIzogYnVpbHRpbi9wdXNoLmM6MzY3CiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgIgpAQCAtOTI5Niw3ICsxMDgwNCw3IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDxuYW1lPlxuIgogbXNnc3RyICIiCi0iQ2FwIGRlc3TDrSBkZSBwdWphZGEgY29uZmlndXJhZGEuXG4iCisiTm8gaGkgaGEgY2FwIGRlc3TDrSBkZSBwdWphZGEgY29uZmlndXJhdC5cbiIKICJFc3BlY2lmaXF1ZXUgbCdVUkwgZGVzIGRlIGxhIGzDrW5pYSBkJ29yZHJlcyBvIGLDqSBjb25maWd1cmV1IHVuIGRpcMOyc2l0IHJlbW90ICIKICJmZW50IHNlcnZpclxuIgogIlxuIgpAQCAtOTMwNiwxMDMgKzEwODE0LDExNSBAQAogIlxuIgogIiAgICBnaXQgcHVzaCA8bm9tPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozODEKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4NQogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwgaSAtLXRhZ3Mgc8OzbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3B1c2guYzozODIKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4NgogbXNnaWQgIi0tYWxsIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tYWxsIG5vIGVzIHBvdCBjb21iaW5hciBhbWIgZXNwZWNpZmljYWNpb25zIGRlIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL3B1c2guYzozODcKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5MQogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1taXJyb3IgaSAtLXRhZ3Mgc8OzbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3B1c2guYzozODgKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5MgogbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tbWlycm9yIG5vIGVzIHBvdCBjb21iaW5hciBhbWIgZXNwZWNpZmljYWNpb25zIGRlIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL3B1c2guYzozOTMKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5NwogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCBpIC0tbWlycm9yIHPDs24gaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA1CisjOiBidWlsdGluL3B1c2guYzo1MTUKIG1zZ2lkICJyZXBvc2l0b3J5IgogbXNnc3RyICJkaXDDsnNpdCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCisjOiBidWlsdGluL3B1c2guYzo1MTYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKIG1zZ2lkICJwdXNoIGFsbCByZWZzIgogbXNnc3RyICJwdWphIHRvdGVzIGxlcyByZWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUwNyBidWlsdGluL3NlbmQtcGFjay5jOjE2MworIzogYnVpbHRpbi9wdXNoLmM6NTE3IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCiBtc2dpZCAibWlycm9yIGFsbCByZWZzIgogbXNnc3RyICJyZWZsZWN0ZWl4IHRvdGVzIGxlcyByZWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUwOQorIzogYnVpbHRpbi9wdXNoLmM6NTE5CiBtc2dpZCAiZGVsZXRlIHJlZnMiCiBtc2dzdHIgInN1cHJpbWVpeCBsZXMgcmVmZXLDqG5jaWVzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyMAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAicHVqYSBsZXMgZXRpcXVldGVzIChubyBlcyBwb3QgdXNhciBhbWIgLS1hbGwgbyAtLW1pcnJvcikiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxMyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorIzogYnVpbHRpbi9wdXNoLmM6NTIzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CiBtc2dpZCAiZm9yY2UgdXBkYXRlcyIKIG1zZ3N0ciAiZm9yw6dhIGxlcyBhY3R1YWxpdHphY2lvbnMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxNSBidWlsdGluL3NlbmQtcGFjay5jOjE3NQorIzogYnVpbHRpbi9wdXNoLmM6NTI1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CiBtc2dpZCAicmVmbmFtZT46PGV4cGVjdCIKIG1zZ3N0ciAibm9tLWRlLXJlZmVyw6huY2lhPjo8ZXNwZXJhdCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CisjOiBidWlsdGluL3B1c2guYzo1MjYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzYKIG1zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKIG1zZ3N0ciAicmVxdWVyZWl4IHF1ZSBlbCB2YWxvciBhbnRpYyBkZSBsYSByZWZlcsOobmNpYSBzaWd1aSBkJ2FxdWVzdCB2YWxvciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE5CisjOiBidWlsdGluL3B1c2guYzo1MjkKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgImNvbnRyb2xhIGxhIHB1amFkYSByZWN1cnNpdmEgZGVscyBzdWJtw7JkdWxzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzMSBidWlsdGluL3NlbmQtcGFjay5jOjE2OQogbXNnaWQgInVzZSB0aGluIHBhY2siCiBtc2dzdHIgInVzYSBlbCBwYXF1ZXQgcHJpbSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIyIGJ1aWx0aW4vcHVzaC5jOjUyMyBidWlsdGluL3NlbmQtcGFjay5jOjE1OAorIzogYnVpbHRpbi9wdXNoLmM6NTMyIGJ1aWx0aW4vcHVzaC5jOjUzMyBidWlsdGluL3NlbmQtcGFjay5jOjE1OAogIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNTkKIG1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKIG1zZ3N0ciAicHJvZ3JhbWEgcXVlIHJlcCBlbHMgcGFxdWV0cyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI0CisjOiBidWlsdGluL3B1c2guYzo1MzQKIG1zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKIG1zZ3N0ciAiZXN0YWJsZWl4IGxhIGZvbnQgcGVyIGEgZ2l0IHB1bGwvc3RhdHVzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjcKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNwogbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgogbXNnc3RyICJwb2RhIGxlcyByZWZlcsOobmNpZXMgZWxpbWluYWRlcyBsb2NhbG1lbnQiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyOQorIzogYnVpbHRpbi9wdXNoLmM6NTM5CiBtc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCiBtc2dzdHIgImV2aXRhIGVsIGdhbnhvIGRlIHByZXB1amFkYSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTMwCisjOiBidWlsdGluL3B1c2guYzo1NDAKIG1zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCiBtc2dzdHIgInB1amEgbGVzIGV0aXF1ZXRlcyBhYnNlbnRzIHBlcsOyIHJlbGxldmFudHMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzMyBidWlsdGluL3NlbmQtcGFjay5jOjE2NgorIzogYnVpbHRpbi9wdXNoLmM6NTQzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CiBtc2dpZCAiR1BHIHNpZ24gdGhlIHB1c2giCi1tc2dzdHIgImZpcm1hIGxhIHB1amFkYSBhbWIgR1BHIgorbXNnc3RyICJzaWduYSBsYSBwdWphZGEgYW1iIEdQRyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTM1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcwCisjOiBidWlsdGluL3B1c2guYzo1NDUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzAKIG1zZ2lkICJyZXF1ZXN0IGF0b21pYyB0cmFuc2FjdGlvbiBvbiByZW1vdGUgc2lkZSIKIG1zZ3N0ciAiZGVtYW5hIHVuYSB0cmFuc2FjY2nDsyBhdMOybWljYSBhbCBjb3N0YXQgcmVtb3QiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAic2VydmVyLXNwZWNpZmljIgorbXNnc3RyICJlc3BlY8OtZmljIGFsIHNlcnZpZG9yIgorCisjOiBidWlsdGluL3B1c2guYzo1NDYKK21zZ2lkICJvcHRpb24gdG8gdHJhbnNtaXQiCittc2dzdHIgIm9wY2nDsyBhIHRyYW5zbWV0cmUiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2MAogbXNnaWQgIi0tZGVsZXRlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLW1pcnJvciBhbmQgLS10YWdzIgogbXNnc3RyICItLWRlbGV0ZSDDqXMgaW5jb21wYXRpYmxlIGFtYiAtLWFsbCwgLS1taXJyb3IgaSAtLXRhZ3MiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MQorIzogYnVpbHRpbi9wdXNoLmM6NTYyCiBtc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCiBtc2dzdHIgIi0tZGVsZXRlIG5vIHTDqSBzZW50aXQgc2Vuc2UgcmVmZXLDqG5jaWVzIgogCisjOiBidWlsdGluL3B1c2guYzo1NzkKK21zZ2lkICJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIgorbXNnc3RyICJsZXMgb3BjaW9ucyBkZSBwdWphZGEgbm8gaGFuIGRlIHRlbmlyIGNhcsOgY3RlcnMgZGUgbMOtbmlhIG5vdmEiCisKICM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MzcKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCkBAIC05NDIzLDcgKzEwOTQzLDcgQEAKIAogIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTUKIG1zZ2lkICJNZXJnaW5nIgotbXNnc3RyICJGdXNpb25hbnQiCittc2dzdHIgIkZ1c2nDs24iCiAKICM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE3CiBtc2dpZCAicGVyZm9ybSBhIG1lcmdlIGluIGFkZGl0aW9uIHRvIGEgcmVhZCIKQEAgLTk0NzEsMTIgKzEwOTkxLDc3IEBACiAKICM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3CiBtc2dpZCAic2tpcCBhcHBseWluZyBzcGFyc2UgY2hlY2tvdXQgZmlsdGVyIgotbXNnc3RyICJzYWx0YSBsJ2FwbGljYWNpw7MgZGVsIGZpbHRyZSBkJ2FnYWZhbWVudCBkaXNwZXJzIgorbXNnc3RyICJzYWx0YSBsJ2FwbGljYWNpw7MgZGVsIGZpbHRyZSBkJ2FnYWZhbWVudCBwYXJjaWFsIgogCiAjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOQogbXNnaWQgImRlYnVnIHVucGFjay10cmVlcyIKIG1zZ3N0ciAiZGVwdXJhIHVucGFjay10cmVlcyIKIAorIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoyNgorbXNnaWQgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IgorbXNnc3RyICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo3OTMKK21zZ2lkICIiCisiQnkgZGVmYXVsdCwgdXBkYXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGluIGEgbm9uLWJhcmUgcmVwb3NpdG9yeVxuIgorImlzIGRlbmllZCwgYmVjYXVzZSBpdCB3aWxsIG1ha2UgdGhlIGluZGV4IGFuZCB3b3JrIHRyZWUgaW5jb25zaXN0ZW50XG4iCisid2l0aCB3aGF0IHlvdSBwdXNoZWQsIGFuZCB3aWxsIHJlcXVpcmUgJ2dpdCByZXNldCAtLWhhcmQnIHRvIG1hdGNoXG4iCisidGhlIHdvcmsgdHJlZSB0byBIRUFELlxuIgorIlxuIgorIllvdSBjYW4gc2V0ICdyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJyBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHRvXG4iCisiJ2lnbm9yZScgb3IgJ3dhcm4nIGluIHRoZSByZW1vdGUgcmVwb3NpdG9yeSB0byBhbGxvdyBwdXNoaW5nIGludG9cbiIKKyJpdHMgY3VycmVudCBicmFuY2g7IGhvd2V2ZXIsIHRoaXMgaXMgbm90IHJlY29tbWVuZGVkIHVubGVzcyB5b3VcbiIKKyJhcnJhbmdlZCB0byB1cGRhdGUgaXRzIHdvcmsgdHJlZSB0byBtYXRjaCB3aGF0IHlvdSBwdXNoZWQgaW4gc29tZVxuIgorIm90aGVyIHdheS5cbiIKKyJcbiIKKyJUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZSBhbmQgc3RpbGwga2VlcCB0aGUgZGVmYXVsdCBiZWhhdmlvdXIsIHNldFxuIgorIidyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJyBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHRvICdyZWZ1c2UnLiIKK21zZ3N0ciAiIgorIlBlciBkZWZlY3RlLCBlcyBkZW5lZ2EgYWN0dWFsaXphciBsYSBicmFuY2EgYWN0dWFsIGVuIHVuIGRpcMOyc2l0IG5vXG4iCisibnUsIHBlcnF1w6ggZmVyaWEgbCfDrW5kZXggaSBsJ2FyYnJlIGRlIHRyZWJhbGwgaW5jb25zaXN0ZW50cyBhbWIgZWxcbiIKKyJxdWUgaMOgZ2l1IHB1amF0LCBpIHJlcXVlcnJpYSAnZ2l0IHJlc2V0IC0taGFyZCcgcGVyIGEgZmVyIHF1ZVxuIgorImwnYXJicmUgZGUgdHJlYmFsbCBjb2luY2lkZWl4aSBhbWIgSEVBRC5cbiIKKyJcbiIKKyJQb2RldSBlc3RhYmxpciBsYSB2YXJpYWJsZSBkZSBjb25maWd1cmFjacOzXG4iCisiJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGEgJ2lnbm9yZScgbyAnd2FybicgZW4gZWwgZGlww7JzaXQgcmVtb3RcbiIKKyJwZXIgYSBwZXJtZXRyZSBwdWphciBhIGxhIHNldmEgYnJhbmNhIGFjdHVhbDsgbm8gb2JzdGFudCwgbm8gZXNcbiIKKyJyZWNvbWFuYSBhaXjDsiBhIG1lbnlzIHF1ZSBow6BnaXUgZGVjaWRpdCBhY3R1YWxpdHphciBlbCBzZXUgYXJicmUgZW5cbiIKKyJhbGd1bmEgYWx0cmEgbWFuZXJhIHBlciBhIGNvaW5jaWRhciBhbWIgZWwgcXVlIGjDoGdpdSBwdWphdC5cbiIKKyJcbiIKKyJQZXIgYSBzaWxlbmNpYXIgYXF1ZXN0IG1pc3NhdGdlIGkgZW5jYXJhIHJldGVuaXIgZWwgY29tcG9ydGFtZW50XG4iCisicHJlZGV0ZXJtaW5hdCwgZXN0YWJsaXUgbGEgdmFyaWFibGUgZGUgY29uZmlndXJhY2nDs1xuIgorIidyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJyBhICdyZWZ1c2UnLiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4MTMKK21zZ2lkICIiCisiQnkgZGVmYXVsdCwgZGVsZXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGlzIGRlbmllZCwgYmVjYXVzZSB0aGUgbmV4dFxuIgorIidnaXQgY2xvbmUnIHdvbid0IHJlc3VsdCBpbiBhbnkgZmlsZSBjaGVja2VkIG91dCwgY2F1c2luZyBjb25mdXNpb24uXG4iCisiXG4iCisiWW91IGNhbiBzZXQgJ3JlY2VpdmUuZGVueURlbGV0ZUN1cnJlbnQnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG9cbiIKKyInd2Fybicgb3IgJ2lnbm9yZScgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IGRlbGV0aW5nIHRoZVxuIgorImN1cnJlbnQgYnJhbmNoLCB3aXRoIG9yIHdpdGhvdXQgYSB3YXJuaW5nIG1lc3NhZ2UuXG4iCisiXG4iCisiVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UsIHlvdSBjYW4gc2V0IGl0IHRvICdyZWZ1c2UnLiIKK21zZ3N0ciAiIgorIlBlciBkZWZlY3RlLCBlcyBkZW5lZ2Egc3VwcmltaXIgbGEgYnJhbmNhIGFjdHVhbCwgcGVycXXDqCBlbFxuIgorIidnaXQgY2xvbmUnIHNlZ8O8ZW50IG5vIHJlc3VsdGFyw6AgZW4gY2FwIGZpdHhlciBhZ2FmYXQsIGNhdXNhbnRcbiIKKyJjb25mdXNpw7MuXG4iCisiXG4iCisiUG9kZXUgZXN0YWJsaXIgbGEgdmFyaWFibGUgZGUgY29uZmlndXJhY2nDs1xuIgorIidyZWNlaXZlLmRlbnlEZWxldGVDdXJyZW50JyBhICd3YXJuJyBvICdpZ25vcmUnIGVuIGVsIGRpcMOyc2l0IHJlbW90XG4iCisicGVyIGEgcGVybWV0cmUgc3VwcmltaXIgbGEgYnJhbmNhIGFjdHVhbCwgYW1iIG8gc2Vuc2UgdW4gbWlzc2F0Z2VcbiIKKyJkJ2FkdmVydMOobmNpYS5cbiIKKyJcbiIKKyJQZXIgYSBzaWxlbmNpYXIgYXF1ZXN0IG1pc3NhdGdlLCBwb2RldSBlc3RhYmxpci1sYSBhICdyZWZ1c2UnLiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODgzCittc2dpZCAicXVpZXQiCittc2dzdHIgImNhbGxhdCIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODk3Cittc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIGRpcmVjdG9yeS4iCittc2dzdHIgIkhldSBkJ2VzcGVjaWZpY2FyIHVuIGRpcmVjdG9yaS4iCisKICM6IGJ1aWx0aW4vcmVmbG9nLmM6NDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgpAQCAtOTU3Miw3ICsxMTE1Nyw3IEBACiAjOiBidWlsdGluL3JlbW90ZS5jOjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzIgotbXNnc3RyICJBY3R1YWxpdHphbnQgJXMiCittc2dzdHIgIlMnZXN0w6AgYWN0dWFsaXR6YW50ICVzIgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjEyNgogbXNnaWQgIiIKQEAgLTk2MjUsMTIgKzExMjEwLDEyIEBACiBtc2dzdHIgIiIKICJlc3BlY2lmaWNhciBsZXMgYnJhbnF1ZXMgYSBzZWd1aXIgdMOpIHNlbnRpdCBub23DqXMgYW1iIG1pcmFsbHMgZCdvYnRlbmNpw7MiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkwIGJ1aWx0aW4vcmVtb3RlLmM6NjMzCisjOiBidWlsdGluL3JlbW90ZS5jOjE5MCBidWlsdGluL3JlbW90ZS5jOjYyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUgJXMgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJlbCByZW1vdCAlcyBqYSBleGlzdGVpeC4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk0IGJ1aWx0aW4vcmVtb3RlLmM6NjM3CisjOiBidWlsdGluL3JlbW90ZS5jOjE5NCBidWlsdGluL3JlbW90ZS5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlbW90ZSBuYW1lIgogbXNnc3RyICInJXMnIG5vIMOpcyB1biBub20gZGUgcmVtb3QgdsOgbGlkIgpAQCAtOTY1NCwzOCArMTEyMzksMzkgQEAKIG1zZ2lkICIoZGVsZXRlKSIKIG1zZ3N0ciAiKHN1cHJpbWlyKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MjYgYnVpbHRpbi9yZW1vdGUuYzo3NjEgYnVpbHRpbi9yZW1vdGUuYzo4NTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzU3IGJ1aWx0aW4vcmVtb3RlLmM6ODU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAlcyIKIG1zZ3N0ciAiTm8gaGkgaGEgdGFsIHJlbW90OiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NDMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW5hbWUgY29uZmlnIHNlY3Rpb24gJyVzJyB0byAnJXMnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGNhbnZpYXIgZWwgbm9tIGRlIGxhIHNlY2Npw7MgZGUgY29uZmlndXJhY2nDsyAnJXMnIGEgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgogIlx0JXNcbiIKICJcdFBsZWFzZSB1cGRhdGUgdGhlIGNvbmZpZ3VyYXRpb24gbWFudWFsbHkgaWYgbmVjZXNzYXJ5LiIKIG1zZ3N0ciAiIgotIk5vIGFjdHVhbGl0emFudCBsJ2VzcGVjaWZpY2FjacOzIGRlIHJlZmVyw6huY2llcyBkJ29idGVuY2nDsyBubyBwZXIgZGVmZWN0ZVxuIgorIk5vIHMnZXN0w6AgYWN0dWFsaXR6YW50IGwnZXNwZWNpZmljYWNpw7MgZGUgcmVmZXLDqG5jaWVzIGQnb2J0ZW5jacOzIG5vIHBlciAiCisiZGVmZWN0ZVxuIgogIlx0JXNcbiIKICJcdFNpIHVzIHBsYXUsIGFjdHVhbGl0emV1IGxhIGNvbmZpZ3VyYWNpw7MgbWFudWFsbWVudCBzaSDDqXMgbmVjZXNzYXJpLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2OTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICJsYSBzdXByZXNzacOzIGRlICclcycgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjczMworIzogYnVpbHRpbi9yZW1vdGUuYzo3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3JlYXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgImxhIGNyZWFjacOzIGRlICclcycgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjc5NgorIzogYnVpbHRpbi9yZW1vdGUuYzo3OTIKIG1zZ2lkICIiCiAiTm90ZTogQSBicmFuY2ggb3V0c2lkZSB0aGUgcmVmcy9yZW1vdGVzLyBoaWVyYXJjaHkgd2FzIG5vdCByZW1vdmVkO1xuIgogInRvIGRlbGV0ZSBpdCwgdXNlOiIKQEAgLTk3MDAsMzY0ICsxMTI4NiwzODkgQEAKICJlbGltaW5hdDtcbiIKICJwZXIgYSBzdXByaW1pci1sZXMsIHVzZXU6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgxMAorIzogYnVpbHRpbi9yZW1vdGUuYzo4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVsaW1pbmFyIGxhIHNlY2Npw7MgZGUgY29uZmlndXJhY2nDsyAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxMQorIzogYnVpbHRpbi9yZW1vdGUuYzo5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG5ldyAobmV4dCBmZXRjaCB3aWxsIHN0b3JlIGluIHJlbW90ZXMvJXMpIgogbXNnc3RyICIgbm91IChsYSBwcsOyeGltYSBvYnRlbmNpw7MgZW1tYWdhdHplbWFyw6AgYSByZW1vdGVzLyVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEwCiBtc2dpZCAiIHRyYWNrZWQiCiBtc2dzdHIgIiBzZWd1aXQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE2CisjOiBidWlsdGluL3JlbW90ZS5jOjkxMgogbXNnaWQgIiBzdGFsZSAodXNlICdnaXQgcmVtb3RlIHBydW5lJyB0byByZW1vdmUpIgogbXNnc3RyICIgZXN0YW5jYXQgKHVzZXUgJ2dpdCByZW1vdGUgcHJ1bmUnIHBlciBhIGVsaW1pbmFyKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE0CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAiYnJhbmNoLiVzLm1lcmdlIG5vIHbDoGxpZDsgbm8gZXMgcG90IHJlYmFzYXIgc29icmUgPiAxIGJyYW5jYSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAiZXMgcmViYXNhIGludGVyYWN0aXZhbWVudCBzb2JyZSBlbCByZW1vdCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCittc2dzdHIgImVzIHJlYmFzYSBzb2JyZSBlbCByZW1vdCAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiZXMgZnVzaW9uYSBhbWIgZWwgcmVtb3QgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcyCi1tc2dpZCAiICAgIGFuZCB3aXRoIHJlbW90ZSIKLW1zZ3N0ciAiICAgIGkgYW1iIGVsIHJlbW90IgotCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICJlcyBmdXNpb25hIGFtYiBlbCByZW1vdCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzUKLW1zZ2lkICIgICBhbmQgd2l0aCByZW1vdGUiCi1tc2dzdHIgIiAgIGkgYW1iIGVsIHJlbW90IgorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0qcyAgICBhbmQgd2l0aCByZW1vdGUgJXNcbiIKK21zZ3N0ciAiJS0qcyAgICBpIGFtYiBlbCByZW1vdCAlc1xuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxNgogbXNnaWQgImNyZWF0ZSIKIG1zZ3N0ciAiY3JlYSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMTkKIG1zZ2lkICJkZWxldGUiCiBtc2dzdHIgInN1cHJpbWVpeCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjMKIG1zZ2lkICJ1cCB0byBkYXRlIgogbXNnc3RyICJhbCBkaWEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAiYXZhbsOnIHLDoHBpZCBwb3NzaWJsZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjkKIG1zZ2lkICJsb2NhbCBvdXQgb2YgZGF0ZSIKIG1zZ3N0ciAibG9jYWwgbm8gYWN0dWFsaXR6YXQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzIGZvcsOnYSBhICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgcHVqYSBhICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyBmb3LDp2EgYSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyBwdWphIGEgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE0CiBtc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCiBtc2dzdHIgIm5vIGNvbnN1bHRpcyBlbHMgcmVtb3RzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIqIHJlbW90ZSAlcyIKIG1zZ3N0ciAiKiByZW1vdCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjExNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIgIFVSTCBkJ29idGVuY2nDszogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0OCBidWlsdGluL3JlbW90ZS5jOjEyOTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MyBidWlsdGluL3JlbW90ZS5jOjExNTYgYnVpbHRpbi9yZW1vdGUuYzoxMjk1CiBtc2dpZCAiKG5vIFVSTCkiCiBtc2dzdHIgIihzZW5zZSBVUkwpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTcgYnVpbHRpbi9yZW1vdGUuYzoxMTU5CisjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24gd2l0aAorIy4gdGhlIG9uZSBpbiAiICBGZXRjaCBVUkw6ICVzIiB0cmFuc2xhdGlvbgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU0IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFB1c2ggIFVSTDogJXMiCiBtc2dzdHIgIiAgVVJMIGRlIHB1amFkYTogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MSBidWlsdGluL3JlbW90ZS5jOjExNjMgYnVpbHRpbi9yZW1vdGUuYzoxMTY1CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTggYnVpbHRpbi9yZW1vdGUuYzoxMTYwIGJ1aWx0aW4vcmVtb3RlLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiICBCcmFuY2EgZGUgSEVBRDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4Cittc2dpZCAiKG5vdCBxdWVyaWVkKSIKK21zZ3N0ciAiKG5vIGNvbnN1bHRhdCkiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKGRlc2NvbmVndXQpIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiAgSEVBRCBicmFuY2ggKHJlbW90ZSBIRUFEIGlzIGFtYmlndW91cywgbWF5IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nKTpcbiIKIG1zZ3N0ciAiIgogIiAgQnJhbmNhIGRlIEhFQUQgKGVsIEhFQUQgcmVtb3Qgw6lzIGFtYmlndSwgcG90IHNlciB1biBkZWxzIHNlZ8O8ZW50cyk6XG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUmVtb3RlIGJyYW5jaDolcyIKIG1zZ2lkX3BsdXJhbCAiICBSZW1vdGUgYnJhbmNoZXM6JXMiCiBtc2dzdHJbMF0gIiAgQnJhbmNhIHJlbW90YTolcyIKIG1zZ3N0clsxXSAiICBCcmFucXVlcyByZW1vdGVzOiVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExODIgYnVpbHRpbi9yZW1vdGUuYzoxMjA5CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzkgYnVpbHRpbi9yZW1vdGUuYzoxMjA1CiBtc2dpZCAiIChzdGF0dXMgbm90IHF1ZXJpZWQpIgogbXNnc3RyICIgKGVzdGF0IG5vIGNvbnN1bHRhdCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg4CiBtc2dpZCAiICBMb2NhbCBicmFuY2ggY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgYnJhbmNoZXMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dzdHJbMF0gIiAgQnJhbmNhIGxvY2FsIGNvbmZpZ3VyYWRhIHBlciBhICdnaXQgcHVsbCc6IgogbXNnc3RyWzFdICIgIEJyYW5xdWVzIGxvY2FscyBjb25maWd1cmFkZXMgcGVyIGEgJ2dpdCBwdWxsJzoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk2CiBtc2dpZCAiICBMb2NhbCByZWZzIHdpbGwgYmUgbWlycm9yZWQgYnkgJ2dpdCBwdXNoJyIKIG1zZ3N0ciAiICAnZ2l0IHB1c2gnIHJlZmxlY3RpcsOgIGxlcyByZWZlcsOobmNpZXMgbG9jYWxzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIExvY2FsIHJlZiBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIHJlZnMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ3N0clswXSAiICBSZWZlcsOobmNpYSBsb2NhbCBjb25maWd1cmFkYSBwZXIgYSAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzFdICIgIFJlZmVyw6huY2llcyBsb2NhbHMgY29uZmlndXJhZGVzIHBlciBhICdnaXQgcHVzaCclczoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyNworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIzCiBtc2dpZCAic2V0IHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCBhY2NvcmRpbmcgdG8gcmVtb3RlIgogbXNnc3RyICJlc3RhYmxlaXggcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIHNlZ29ucyBlbCByZW1vdCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI5CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjUKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICJzdXByaW1laXggcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MAogbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCiBtc2dzdHIgIk5vIGVzIHBvdCBkZXRlcm1pbmFyIGVsIEhFQUQgcmVtb3QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQyCiBtc2dpZCAiTXVsdGlwbGUgcmVtb3RlIEhFQUQgYnJhbmNoZXMuIFBsZWFzZSBjaG9vc2Ugb25lIGV4cGxpY2l0bHkgd2l0aDoiCiBtc2dzdHIgIiIKICJNw7psdGlwbGVzIGJyYW5xdWVzIGRlIEhFQUQgcmVtb3Rlcy4gU2kgdXMgcGxhdSwgdHJpZXUtbmUgdW5hIGV4cGzDrWNpdGFtZW50ICIKICJhbWI6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHN1cHJpbWlyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICJObyDDqXMgdW5hIHJlZmVyw6huY2lhIHbDoGxpZGE6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgJXMiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgY29uZmlndXJhciAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjg0CisjOiBidWlsdGluL3JlbW90ZS5jOjEyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIHdpbGwgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIGVzIHRvcm5hcsOgIHBlbmphbnQhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgaGFzIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyBzJ2hhIHRvcm5hdCBwZW5qYW50ISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk1CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKLW1zZ3N0ciAiUG9kYW50ICVzIgorbXNnc3RyICJTJ2VzdMOgIHBvZGFudCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVVJMOiAlcyIKIG1zZ3N0ciAiVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzEyCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiICogW3BvZGFyaWFdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiICogW3BvZGF0XSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzYwCisjOiBidWlsdGluL3JlbW90ZS5jOjEzNTYKIG1zZ2lkICJwcnVuZSByZW1vdGVzIGFmdGVyIGZldGNoaW5nIgogbXNnc3RyICJwb2RhIGVscyByZW1vdHMgZGVzcHLDqXMgZCdvYnRlbmlyLWxvcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDIzIGJ1aWx0aW4vcmVtb3RlLmM6MTQ3NyBidWlsdGluL3JlbW90ZS5jOjE1NDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQxOSBidWlsdGluL3JlbW90ZS5jOjE0NzMgYnVpbHRpbi9yZW1vdGUuYzoxNTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIk5vIGhpIGhhIHRhbCByZW1vdCAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNQogbXNnaWQgImFkZCBicmFuY2giCiBtc2dzdHIgImFmZWdlaXggYnJhbmNhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0MgogbXNnaWQgIm5vIHJlbW90ZSBzcGVjaWZpZWQiCiBtc2dzdHIgImNhcCByZW1vdCBlc3BlY2lmaWNhdCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYzCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NTkKIG1zZ2lkICJxdWVyeSBwdXNoIFVSTHMgcmF0aGVyIHRoYW4gZmV0Y2ggVVJMcyIKLW1zZ3N0ciAiY29uc3VsdGEgZWxzIFVSTCBkZSBwdWphZGEgZW4gbGxvYyBkZWxzIFVSTCBkJ29idGVuaW1lbnQiCittc2dzdHIgImNvbnN1bHRhIGVscyBVUkwgZGUgcHVqYWRhIGVuIGxsb2MgZGVscyBVUkwgZCdvYnRlbmNpw7MiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYxCiBtc2dpZCAicmV0dXJuIGFsbCBVUkxzIgogbXNnc3RyICJyZXRvcm5hIHRvdHMgZWxzIFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDkzCisjOiBidWlsdGluL3JlbW90ZS5jOjE0ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gVVJMcyBjb25maWd1cmVkIGZvciByZW1vdGUgJyVzJyIKIG1zZ3N0ciAiY2FwIFVSTCBjb25maWd1cmF0IHBlciBhbCByZW1vdCAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNQogbXNnaWQgIm1hbmlwdWxhdGUgcHVzaCBVUkxzIgogbXNnc3RyICJtYW5pcHVsYSBlbHMgVVJMIGRlIHB1amFkYSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MTcKIG1zZ2lkICJhZGQgVVJMIgogbXNnc3RyICJhZmVnZWl4IFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIzCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MTkKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAic3VwcmltZWl4IFVSTHMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI2CiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWFkZCAtLWRlbGV0ZSBubyB0w6kgc2VudGl0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgIlBhdHLDsyBkJ1VSTCBhbnRpYyBubyB2w6BsaWQ6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIFVSTCBmb3VuZDogJXMiCiBtc2dzdHIgIk5vIHMnaGEgdHJvYmF0IHRhbCBVUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1ODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NwogbXNnaWQgIldpbGwgbm90IGRlbGV0ZSBhbGwgbm9uLXB1c2ggVVJMcyIKIG1zZ3N0ciAiTm8gc2Ugc3VwcmltaXJhbiB0b3RzIGVscyBVUkwgbm8gZGUgcHVqYWRhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MQogbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgInNpZ3VlcyBkZXRhbGxhdDsgcydoYSBkZSBjb2zCt2xvY2FyIGFiYW5zIGQndW5hIHN1Ym9yZHJlIgogCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAiU3Vib3JkcmUgZGVzY29uZWd1ZGE6ICVzIgorCiAjOiBidWlsdGluL3JlcGFjay5jOjE3CiBtc2dpZCAiZ2l0IHJlcGFjayBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHJlcGFjayBbPG9wY2lvbnM+XSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNTkKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYwCiBtc2dpZCAicGFjayBldmVyeXRoaW5nIGluIGEgc2luZ2xlIHBhY2siCiBtc2dzdHIgImVtcGFxdWV0YS1obyB0b3QgZW4gdW4gw7puaWMgcGFxdWV0IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2MQorIzogYnVpbHRpbi9yZXBhY2suYzoxNjIKIG1zZ2lkICJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIgogbXNnc3RyICJlbCBtYXRlaXggcXVlIC1hLCBpIHNvbHRhIGVscyBvYmplY3RlcyBpbmFiYXN0YWJsZXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY0CisjOiBidWlsdGluL3JlcGFjay5jOjE2NQogbXNnaWQgInJlbW92ZSByZWR1bmRhbnQgcGFja3MsIGFuZCBydW4gZ2l0LXBydW5lLXBhY2tlZCIKIG1zZ3N0ciAiZWxpbWluYSBlbHMgcGFxdWV0cyByZWR1bmRhbnRzLCBpIGV4ZWN1dGV1IGdpdC1wcnVuZS1wYWNrZWQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY2CisjOiBidWlsdGluL3JlcGFjay5jOjE2NwogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJwYXNzYSAtLW5vLXJldXNlLWRlbHRhIGEgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY5CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJwYXNzYSAtLW5vLXJldXNlLW9iamVjdCBhIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcwCisjOiBidWlsdGluL3JlcGFjay5jOjE3MQogbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIG1zZ3N0ciAibm8gZXhlY3V0aXMgZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc0CiBtc2dpZCAicGFzcyAtLWxvY2FsIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgInBhc3NhIC0tbG9jYWwgYSBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NQorIzogYnVpbHRpbi9yZXBhY2suYzoxNzYKIG1zZ2lkICJ3cml0ZSBiaXRtYXAgaW5kZXgiCiBtc2dzdHIgImVzY3JpdSDDrW5kZXggZGUgbWFwYSBkZSBiaXRzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NgorIzogYnVpbHRpbi9yZXBhY2suYzoxNzcKIG1zZ2lkICJhcHByb3hpZGF0ZSIKIG1zZ3N0ciAiZGF0YSBhcHJveGltYWRhIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NworIzogYnVpbHRpbi9yZXBhY2suYzoxNzgKIG1zZ2lkICJ3aXRoIC1BLCBkbyBub3QgbG9vc2VuIG9iamVjdHMgb2xkZXIgdGhhbiB0aGlzIgogbXNnc3RyICJhbWIgLUEsIG5vIHNvbHRpcyBlbHMgb2JqZWN0ZXMgbcOpcyB2ZWxscyBxdWUgYXF1ZXN0IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3OQorIzogYnVpbHRpbi9yZXBhY2suYzoxODAKK21zZ2lkICJ3aXRoIC1hLCByZXBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyIKK21zZ3N0ciAiYW1iIC1hLCByZWVtcGFxdWV0YSBlbHMgb2JqZWN0ZXMgaW5hYmFzdGFibGVzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE4MgogbXNnaWQgInNpemUgb2YgdGhlIHdpbmRvdyB1c2VkIGZvciBkZWx0YSBjb21wcmVzc2lvbiIKIG1zZ3N0ciAibWlkYSBkZSBsYSBmaW5lc3RyYSBxdWUgcyd1c2EgcGVyIGEgY29tcHJlc3Npw7MgZGUgZGVsdGVzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MCBidWlsdGluL3JlcGFjay5jOjE4NAorIzogYnVpbHRpbi9yZXBhY2suYzoxODMgYnVpbHRpbi9yZXBhY2suYzoxODcKIG1zZ2lkICJieXRlcyIKIG1zZ3N0ciAib2N0ZXRzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MQorIzogYnVpbHRpbi9yZXBhY2suYzoxODQKIG1zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKIG1zZ3N0ciAiIgogImVsIG1hdGVpeCBxdWUgbCdhbnRlcmlvciwgcGVyw7IgbGltaXRhIGxhIG1pZGEgZGUgbWVtw7JyaWEgZW4gbGxvYyBkZWwgbm9tYnJlICIKICJkJ2VudHJhZGVzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MworIzogYnVpbHRpbi9yZXBhY2suYzoxODYKIG1zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCiBtc2dzdHIgImxpbWl0YSBsYSBwcm9mdW5kaXRhdCBtw6B4aW1hIGRlIGxlcyBkZWx0ZXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg1CisjOiBidWlsdGluL3JlcGFjay5jOjE4OAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgogbXNnc3RyICJtaWRhIG3DoHhpbWEgZGUgY2FkYSBmaXR4ZXIgZGUgcGFxdWV0IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NworIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKIG1zZ2lkICJyZXBhY2sgb2JqZWN0cyBpbiBwYWNrcyBtYXJrZWQgd2l0aCAua2VlcCIKIG1zZ3N0ciAicmVlbXBhcXVldGEgZWxzIG9iamVjdGVzIGVuIHBhcXVldHMgbWFyY2F0cyBhbWIgLmtlZXAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk3CisjOiBidWlsdGluL3JlcGFjay5jOjIwMAogbXNnaWQgImNhbm5vdCBkZWxldGUgcGFja3MgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCi1tc2dzdHIgIm5vIGVzIHBvdCBzdXByaW1pciBwYXF1ZXRzIGVuIHVuIGRpcMOyc2l0IGQnb2JqZWN0ZXMgcHJlY2lvc2VzIgorbXNnc3RyICJubyBlcyBwb3Qgc3VwcmltaXIgcGFxdWV0cyBlbiB1biBkaXDDsnNpdCBkJ29iamVjdGVzIHByZWNpb3NvcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozODEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjA0Cittc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUgaSAtQSBzw7NuIGluY29tcGF0aWJsZXMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzkxIGJ1aWx0aW4vd29ya3RyZWUuYzoxMTUKICMsIGMtZm9ybWF0Ci1tc2dpZCAicmVtb3ZpbmcgJyVzJyBmYWlsZWQiCi1tc2dzdHIgImwnZWxpbWluYWNpw7MgZGUgJyVzJyBoYSBmYWxsYXQiCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgorbXNnc3RyICJzJ2hhIGZhbGxhdCBlbiBlbGltaW5hciAnJXMnIgogCiAjOiBidWlsdGluL3JlcGxhY2UuYzoxOQogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gPG9iamVjdD4gPHJlcGxhY2VtZW50PiIKQEAgLTEwMTA2LDExICsxMTcxNywxMSBAQAogIzogYnVpbHRpbi9yZXBsYWNlLmM6NDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBvcmlnaW5hbCBjb21taXQgJyVzJyBoYXMgYSBncGcgc2lnbmF0dXJlLiIKLW1zZ3N0ciAibGEgY29taXNzacOzIG9yaWdpbmFsICclcycgdMOpIHVuYSBmaXJtYSBncGcuIgorbXNnc3RyICJsYSBjb21pc3Npw7Mgb3JpZ2luYWwgJyVzJyB0w6kgdW5hIHNpZ25hdHVyYSBncGcuIgogCiAjOiBidWlsdGluL3JlcGxhY2UuYzo0MDIKIG1zZ2lkICJ0aGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgcmVwbGFjZW1lbnQgY29tbWl0ISIKLW1zZ3N0ciAibGEgZmlybWEgcydlbGltaW5hcsOgIGVuIGxhIGNvbWlzc2nDsyBkZSByZWVtcGxhw6dhbWVudCEiCittc2dzdHIgInMnZWxpbWluYXLDoCBsYSBzaWduYXR1cmEgZW4gbGEgY29taXNzacOzIGRlIHJlZW1wbGHDp2FtZW50ISIKIAogIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA4CiAjLCBjLWZvcm1hdApAQCAtMTAxNjAsOCArMTE3NzEsOCBAQAogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxjb21pc3Npw7M+XSIKIAogIzogYnVpbHRpbi9yZXNldC5jOjI3Ci1tc2dpZCAiZ2l0IHJlc2V0IFstcV0gPHRyZWUtaXNoPiBbLS1dIDxwYXRocz4uLi4iCi1tc2dzdHIgImdpdCByZXNldCBbLXFdIDxhcmJyZT4gWy0tXSA8Y2FtaW5zPi4uLiIKK21zZ2lkICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHM+Li4uIgorbXNnc3RyICJnaXQgcmVzZXQgWy1xXSBbPGFyYnJlPl0gWy0tXSA8Y2FtaW5zPi4uLiIKIAogIzogYnVpbHRpbi9yZXNldC5jOjI4CiBtc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgpAQCAtMTAyODEsMjcgKzExODkyLDI3IEBACiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBmaXR4ZXIgZCfDrW5kZXggbm91LiIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1MAorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1NAogbXNnaWQgInJldi1saXN0IGRvZXMgbm90IHN1cHBvcnQgZGlzcGxheSBvZiBub3RlcyIKIG1zZ3N0ciAiZWwgcmV2LWxpc3Qgbm8gcGVybWV0IG1vc3RyYXIgbm90ZXMiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzU4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM4NgogbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3BjaW9ucz5dIC0tIFs8cGFyw6BtZXRyZXM+Li4uXSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjMKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzkxCiBtc2dpZCAia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIgogbXNnc3RyICJyZXTDqW4gZWwgYC0tYCBwYXNzYXQgY29tIGEgcGFyw6BtZXRyZSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjUKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzkzCiBtc2dpZCAic3RvcCBwYXJzaW5nIGFmdGVyIHRoZSBmaXJzdCBub24tb3B0aW9uIGFyZ3VtZW50IgogbXNnc3RyICJkZWl4YSBkJ2FuYWxpdHphciBkZXNwcsOpcyBkZWwgcHJpbWVyIHBhcsOgbWV0cmUgbm8gZCdvcGNpw7MiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzY4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NgogbXNnaWQgIm91dHB1dCBpbiBzdHVjayBsb25nIGZvcm0iCiBtc2dzdHIgImVtZXQgZW4gZm9ybWEgbGxhcmdhIGVuZ2FueGFkYSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0OTkKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTI3CiBtc2dpZCAiIgogImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXVxuIgogIiAgIG9yOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmc+Li4uXVxuIgpAQCAtMTAzNzMsMzEgKzExOTg0LDI3IEBACiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAib3BjacOzIGQnZXN0cmF0w6hnaWEgZGUgZnVzacOzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKIG1zZ2lkICJhcHBlbmQgY29tbWl0IG5hbWUiCiBtc2dzdHIgIm5vbSBkZSBsYSBjb21pc3Npw7MgYSBhbm5leGFyIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAicHJlc2VydmEgbGVzIGNvbWlzc2lvbnMgaW5pY2lhbG1lbnQgYnVpZGVzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCiBtc2dzdHIgInBlcm1ldCBsZXMgY29taXNzaW9ucyBhbWIgbWlzc2F0Z2VzIGJ1aXRzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwOAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAicmV0w6luIGxlcyBjb21pc3Npb25zIHJlZHVuZGFudHMgaSBidWlkZXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCi1tc2dpZCAicHJvZ3JhbSBlcnJvciIKLW1zZ3N0ciAiZXJyb3IgZGUgcHJvZ3JhbWEiCi0KLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTk3CisjOiBidWlsdGluL3JldmVydC5jOjE5MgogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgImxhIHJldmVyc2nDsyBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjEyCisjOiBidWlsdGluL3JldmVydC5jOjIwNQogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAiZWwgcmVjdWxsIGRlIGNpcmVyZXMgaGEgZmFsbGF0IgogCkBAIC0xMDQ4OSwxNiArMTIwOTYsMTAgQEAKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAic3VydCBhbWIgZXN0YXQgemVybyBlbmNhcmEgcXVlIHJlcyBoYWdpIGNvaW5jaWRpdCIKIAotIzogYnVpbHRpbi9ybS5jOjMxNwotbXNnaWQgIlBsZWFzZSwgc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKLW1zZ3N0ciAiIgotIlNpIHVzIHBsYXUsIGFsbGlzdGV1IGVscyB2b3N0cmVzIGNhbnZpcyBhIC5naXRtb2R1bGVzIG8gZW1tYWdhdHplbWV1LWxvcyBwZXIgIgotImEgcHJvY2VkaXIiCi0KICM6IGJ1aWx0aW4vcm0uYzozMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IHJlbW92aW5nICclcycgcmVjdXJzaXZlbHkgd2l0aG91dCAtciIKLW1zZ3N0ciAibm8gZWxpbWluYW50ICclcycgcmVjdXJzaXZhbWVudCBzZW5zZSAtciIKK21zZ3N0ciAibm8gcydlc3TDoCBlbGltaW5hbnQgJyVzJyByZWN1cnNpdmFtZW50IHNlbnNlIC1yIgogCiAjOiBidWlsdGluL3JtLmM6Mzc0CiAjLCBjLWZvcm1hdApAQCAtMTA1NzQsNzAgKzEyMTc1LDEyNSBAQAogbXNnaWQgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPGJhc2U+XV0gWy0tbGlzdF0gWzxyZWY+XSIKIG1zZ3N0ciAiZ2l0IHNob3ctYnJhbmNoICgtZyB8IC0tcmVmbG9nKVs9PG4+Wyw8YmFzZT5dXSBbLS1saXN0XSBbPHJlZmVyw6huY2lhPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZiIKK21zZ2lkX3BsdXJhbCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZnMiCittc2dzdHJbMF0gInMnZXN0w6AgaWdub3JhbnQgJXM7IG5vIGVzIHBvdCBnZXN0aW9uYXIgbcOpcyBkZSAlZCByZWZlcsOobmNpYSIKK21zZ3N0clsxXSAicydlc3TDoCBpZ25vcmFudCAlczsgbm8gZXMgcG9kZW4gZ2VzdGlvbmFyIG3DqXMgZGUgJWQgcmVmZXLDqG5jaWVzIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1hdGNoaW5nIHJlZnMgd2l0aCAlcyIKK21zZ3N0ciAibm8gaGkgaGEgcmVmZXLDqG5jaWVzIGNvaW5jaWRlbnRzIGFtYiAlcyIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzOQogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAibW9zdHJhIGxlcyBicmFucXVlcyBhbWIgc2VndWltZW50IHJlbW90IGkgbGVzIGxvY2FscyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MQogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICJtb3N0cmEgbGVzIGJyYW5xdWVzIGFtYiBzZWd1aW1lbnQgcmVtb3QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICJjb2xvcmEgJyohKy0nIGNvcnJlc3BvbmVudCBhIGxhIGJyYW5jYSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NQogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICJtb3N0cmEgPG4+IGNvbWlzc2lvbnMgZGVzcHLDqXMgZGUgbCdhdmFudHBhc3NhdCBjb23DuiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NwogbXNnaWQgInN5bm9ueW0gdG8gbW9yZT0tMSIKIG1zZ3N0ciAic2luw7JuaW0gZGUgbW9yZT0tMSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAogbXNnaWQgInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIgogbXNnc3RyICJvbWV0IGwnYW5vbWVuYW1lbnQgZGUgY2FkZW5lcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAogbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICJpbmNsb3UgbGEgYnJhbmNhIGFjdHVhbCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MgogbXNnaWQgIm5hbWUgY29tbWl0cyB3aXRoIHRoZWlyIG9iamVjdCBuYW1lcyIKIG1zZ3N0ciAiYW5vbWVuYSBsZXMgY29taXNzaW9ucyBhbWIgZWxzIHNldXMgbm9tcyBkJ29iamVjdGUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICJtb3N0cmEgbGVzIGJhc2VzIGRlIGZ1c2nDsyBwb3NzaWJsZXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKIG1zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgogbXNnc3RyICJtb3N0cmEgbGVzIHJlZmVyw6huY2llcyBpbmFiYXN0YWJsZXMgZGUgcXVhbHNldnVsbGEgYWx0cmEgcmVmZXLDqG5jaWEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgIm1vc3RyYSBsZXMgY29taXNzaW9ucyBlbiBvcmRyZSB0b3BvbMOyZ2ljIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYxCiBtc2dpZCAic2hvdyBvbmx5IGNvbW1pdHMgbm90IG9uIHRoZSBmaXJzdCBicmFuY2giCiBtc2dzdHIgIm1vc3RyYSBub23DqXMgbGVzIGNvbWlzc2lvbnMgcXVlIG5vIHNpZ3VpbiBlbiBsYSBwcmltZXJhIGJyYW5jYSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MwogbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKIG1zZ3N0ciAibW9zdHJhIGxlcyBmdXNpb25zIGFiYXN0YWJsZXMgZGUgbm9tw6lzIHVuYSBwdW50YSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NQogbXNnaWQgInRvcG9sb2dpY2FsbHkgc29ydCwgbWFpbnRhaW5pbmcgZGF0ZSBvcmRlciB3aGVyZSBwb3NzaWJsZSIKIG1zZ3N0ciAib3JkZW5hIHRvcG9sw7JnaWNhbWVudCwgbWFudGVuaW50IGwnb3JkcmUgZGUgZGF0ZXMgb24gc2lndWkgcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKIG1zZ2lkICI8bj5bLDxiYXNlPl0iCiBtc2dzdHIgIjxuPlssPGJhc2U+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQogbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgogbXNnc3RyICJtb3N0cmEgbGVzIDxuPiBlbnRyYWRlcyBtw6lzIHJlY2VudHMgY29tZW7Dp2FudCBhIGxhIGJhc2UiCiAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MDMKK21zZ2lkICIiCisiLS1yZWZsb2cgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiCittc2dzdHIgIiIKKyItLXJlZmxvZyDDqXMgaW5jb21wYXRpYmxlIGFtYiAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG8gLS1tZXJnZS1iYXNlIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzI3Cittc2dpZCAibm8gYnJhbmNoZXMgZ2l2ZW4sIGFuZCBIRUFEIGlzIG5vdCB2YWxpZCIKK21zZ3N0ciAibm8gcydoYSBkb25hdCBjYXAgYnJhbmNhLCBpIEhFQUQgbm8gw6lzIHbDoGxpZCIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMAorbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCittc2dzdHIgImwnb3BjacOzIC0tcmVmbG9nIG5lY2Vzc2l0YSB1biBub20gZGUgYnJhbmNhIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgJWQgZW50cnkgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKK21zZ2lkX3BsdXJhbCAib25seSAlZCBlbnRyaWVzIGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCittc2dzdHJbMF0gImVzIHBvdCBtb3N0cmFyIG5vbcOpcyAlZCBlbnRyYWRhIGEgbGEgdmVnYWRhLiIKK21zZ3N0clsxXSAiZXMgcG9kZW4gbW9zdHJhciBub23DqXMgJWQgZW50cmFkZXMgYSBsYSB2ZWdhZGEuIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcmVmICVzIgorbXNnc3RyICJubyBoaSBoYSB0YWwgcmVmZXLDqG5jaWEgJXMiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2LiIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iCittc2dzdHJbMF0gIm5vIGVzIHBvdCBnZXN0aW9uYXIgbcOpcyBkJyVkIHJldmlzacOzLiIKK21zZ3N0clsxXSAibm8gZXMgcG9kZW4gZ2VzdGlvbmFyIG3DqXMgZGUgJWQgcmV2aXNpb25zLiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzMworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZi4iCittc2dzdHIgIiclcycgbm8gw6lzIHVuYSByZWZlcsOobmNpYSB2w6BsaWRhLiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBjb21taXQgJXMgKCVzKSIKK21zZ3N0ciAibm8gZXMgcG90IHRyb2JhciBsYSBjb21pc3Npw7MgJXMgKCVzKSIKKwogIzogYnVpbHRpbi9zaG93LXJlZi5jOjEwCiBtc2dpZCAiIgogImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0tIgpAQCAtMTA3MDEsODIgKzEyMzU3LDIyNSBAQAogbXNnaWQgInByZXBlbmQgY29tbWVudCBjaGFyYWN0ZXIgYW5kIHNwYWNlIHRvIGVhY2ggbGluZSIKIG1zZ3N0ciAiYW50ZXBvc2EgZWwgY2Fyw6BjdGVyIGRlIGNvbWVudGFyaSBpIHVuIGVzcGFpIGEgY2FkYSBsw61uaWEiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTYxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gc3VjaCByZWY6ICVzIgorbXNnc3RyICJObyBoaSBoYSB0YWwgcmVmZXLDqG5jaWE6ICVzIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhwZWN0aW5nIGEgZnVsbCByZWYgbmFtZSwgZ290ICVzIgorbXNnc3RyICJTJ2VzcGVyYSB1biBub20gZGUgcmVmZXLDqG5jaWEgcGxlLCBzJ2hhIHJlYnV0ICVzIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJXMnIgorbXNnc3RyICJubyBlcyBwb3QgZGVzcHVsbGFyIHVuIGNvbXBvbmVudCBkZSBsJ3VybCAnJXMnIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjgyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTAKIG1zZ2lkICJhbHRlcm5hdGl2ZSBhbmNob3IgZm9yIHJlbGF0aXZlIHBhdGhzIgogbXNnc3RyICLDoG5jb3JhIGFsdGVybmF0aXZhIHBlciBhbHMgY2FtaW5zIHJlbGF0aXVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODcKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxjYW3DrT5dIFs8Y2Ftw60+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMyOSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyBpbiAuZ2l0bW9kdWxlcyIKK21zZ3N0ciAiTm8gcydoYSB0cm9iYXQgY2FwIHVybCBwZXIgYWwgY2Ftw60gZGUgc3VibcOyZHVsICclcycgYSAuZ2l0bW9kdWxlcyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgorbXNnc3RyICJTJ2hhIGZhbGxhdCBlbiByZWdpc3RyYXIgbCd1cmwgcGVyIGFsIGNhbcOtIGRlIHN1Ym3DsmR1bCAnJXMnIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzczCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCittc2dzdHIgIlMnaGEgcmVnaXN0cmF0IGVsIHN1Ym3DsmR1bCAnJXMnICglcykgcGVyIGFsIGNhbcOtICclcydcbiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKK21zZ3N0ciAiIgorImFkdmVydMOobmNpYTogc2Ugc3VnZ2VyZWl4IGVsIG1vZGUgZCdhY3R1YWxpdHphY2nDsyBwZXIgb3JkcmUgcGVyIGFsIHN1Ym3DsmR1bCAiCisiJyVzJ1xuIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cGRhdGUgbW9kZSBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKK21zZ3N0ciAiIgorIlMnaGEgZmFsbGF0IGVuIHJlZ2lzdHJhciBlbCBtb2RlIGQnYWN0dWFsaXR6YWNpw7MgcGVyIGFsIGNhbcOtIGRlIHN1Ym3DsmR1bCAnJXMnIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA5Cittc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IGZvciBpbml0aWFsaXppbmcgYSBzdWJtb2R1bGUiCittc2dzdHIgIk9tZXQgbGEgc29ydGlkYSBkJ2luaWNpYWxpdHphciB1biBzdWJtw7JkdWwiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTQKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPHBhdGg+XSIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxjYW3DrT5dIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDM1CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8Y2Ftw60+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Ym1vZHVsZSBtYXBwaW5nIGZvdW5kIGluIC5naXRtb2R1bGVzIGZvciBwYXRoICclcyciCiBtc2dzdHIgIk5vIHMnaGEgdHJvYmF0IGNhcCBtYXBhdGdlIGRlIHN1Ym3DsmR1bCBhIC5naXRtb2R1bGVzIHBlciBhbCBjYW3DrSAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTY0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VibW9kdWxlICclcycgY2Fubm90IGFkZCBhbHRlcm5hdGU6ICVzIgorbXNnc3RyICJlbCBzdWJtw7JkdWwgJyVzJyBubyBwb3QgYWZlZ2lyIHVuIGFsdGVybmF0aXU6ICVzIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IGlzIG5vdCByZWNvZ25pemVkIgorbXNnc3RyICJObyBlcyByZWNvbmVpeCBlbCB2YWxvciAnJXMnIHBlciBhIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiBpcyBub3QgcmVjb2duaXplZCIKK21zZ3N0ciAiTm8gZXMgcmVjb25laXggZWwgdmFsb3IgJyVzJyBwZXIgYSBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTMKIG1zZ2lkICJ3aGVyZSB0aGUgbmV3IHN1Ym1vZHVsZSB3aWxsIGJlIGNsb25lZCB0byIKIG1zZ3N0ciAiYSBvbiBlcyBjbG9uYXLDoCBlbCBzdWJtw7JkdWwgbm91IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTY3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk2CiBtc2dpZCAibmFtZSBvZiB0aGUgbmV3IHN1Ym1vZHVsZSIKIG1zZ3N0ciAibm9tIGRlbCBzdWJtw7JkdWwgbm91IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk5CiBtc2dpZCAidXJsIHdoZXJlIHRvIGNsb25lIHRoZSBzdWJtb2R1bGUgZnJvbSIKIG1zZ3N0ciAidXJsIGRlbCBxdWFsIGNsb25hciBlbCBzdWJtw7JkdWwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDUKIG1zZ2lkICJkZXB0aCBmb3Igc2hhbGxvdyBjbG9uZXMiCiBtc2dzdHIgInByb2Z1bmRpdGF0IGRlbHMgY2xvbnMgc3VwZXJmaWNpYWxzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTgyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjQKK21zZ2lkICJmb3JjZSBjbG9uaW5nIHByb2dyZXNzIgorbXNnc3RyICJmb3LDp2EgZWwgcHJvZ3LDqXMgZGVsIGNsb25hdGdlIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEzCiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKLSI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS11cmwgPHVybD5dWy0tZGVwdGggPGRlcHRoPl0gWy0tXSBbPHBhdGg+Li4uXSIKKyI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS1kZXB0aCA8ZGVwdGg+XSAtLXVybCA8dXJsPiAtLXBhdGggPHBhdGg+IgogbXNnc3RyICIiCiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08Y2Ftw60+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKLSI8ZGlww7JzaXQ+XSBbLS1uYW1lIDxub20+XSBbLS11cmwgPHVybD5dWy0tZGVwdGggPHByb2Z1bmRpdGF0Pl0gWy0tXSAiCi0iWzxjYW3DrT4uLi5dIgorIjxkaXDDsnNpdD5dIFstLW5hbWUgPG5vbT5dIFstLWRlcHRoIDxwcm9mdW5kaXRhdD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8Y2Ftw60+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDIKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGRpcmVjdG9yaSAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiZWwgY2xvbmF0Z2UgZGUgJyVzJyBhbCBjYW3DrSBkZSBzdWJtw7JkdWwgJyVzJyBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gZmlsZSAnJXMnIgogbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgZWwgZml0eGVyICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlIGZpbGUgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgdGFuY2FyIGVsIGZpdHhlciAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZ2V0IHN1Ym1vZHVsZSBkaXJlY3RvcnkgZm9yICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCBkaXJlY3RvcmkgZGUgc3VibcOyZHVsIHBlciBhICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNjcKLW1zZ2lkICJmYXRhbDogc3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3ViY29tbWFuZCIKLW1zZ3N0ciAiZmF0YWw6IHMnaGEgZCdleGVjdXRhciBsYSBzdWJvcmRyZSBzdWJtb2R1bGUtLWhlbHBlciBhbWIgdW5hIHN1Ym9yZHJlIgotCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mjc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzI2CiAjLCBjLWZvcm1hdAotbXNnaWQgImZhdGFsOiAnJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCi1tc2dzdHIgImZhdGFsOiAnJXMnIG5vIMOpcyB1bmEgc3Vib3JkcmUgdsOgbGlkYSBkZSBzdWJtb2R1bGUtLWhlbHBlciIKK21zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJXMnIG5vdCBpbml0aWFsaXplZCIKK21zZ3N0ciAiRWwgY2Ftw60gZGUgc3VibcOyZHVsICclcycgbm8gZXN0w6AgaW5pY2lhbGl0emF0IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzMwCittc2dpZCAiTWF5YmUgeW91IHdhbnQgdG8gdXNlICd1cGRhdGUgLS1pbml0Jz8iCittc2dzdHIgIlBvdHNlciB2b2xldSB1c2FyICd1cGRhdGUgLS1pbml0Jz8iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgdW5tZXJnZWQgc3VibW9kdWxlICVzIgorbXNnc3RyICJTJ2VzdMOgIHNhbHRhbnQgZWwgc3VibcOyZHVsIG5vIGZ1c2lvbmF0ICVzIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICJTJ2VzdMOgIHNhbHRhbnQgZWwgc3VibcOyZHVsICclcyciCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycuIFJldHJ5IHNjaGVkdWxlZCIKK21zZ3N0ciAiUydoYSBmYWxsYXQgZW4gY2xvbmFyICclcycuIFMnaGEgcHJvZ3JhbWF0IHVuIHJlaW50ZW50IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnIGEgc2Vjb25kIHRpbWUsIGFib3J0aW5nIgorbXNnc3RyICJTJ2hhIGZhbGxhdCB1bmEgc2Vnb25hIHZlZ2FkYSBlbiBjbG9uYXIgJyVzJywgcydlc3TDoCBhdm9ydGFudCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0NQorbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICJjYW3DrSBhIGwnYXJicmUgZGUgdHJlYmFsbCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0OAorbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlLCBhY3Jvc3MgbmVzdGVkIHN1Ym1vZHVsZSBib3VuZGFyaWVzIgorbXNnc3RyICJjYW3DrSBhIGwnYXJicmUgZGUgdHJlYmFsbCwgYSB0cmF2w6lzIGRlIGZyb250ZXJlcyBkZSBzdWJtw7JkdWxzIG5pYXRzIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUyCittc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKK21zZ3N0ciAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgbyBub25lIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU2Cittc2dpZCAiQ3JlYXRlIGEgc2hhbGxvdyBjbG9uZSB0cnVuY2F0ZWQgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgcmV2aXNpb25zIgorbXNnc3RyICJDcmVhIHVuIGNsb24gc3VwZXJmaWNpYWwgdHJ1bmNhdCBhbCBub21icmUgZGUgcmV2aXNpb25zIGVzcGVjaWZpY2F0IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU5Cittc2dpZCAicGFyYWxsZWwgam9icyIKK21zZ3N0ciAidGFzcXVlcyBwYXJhbMK3bGVsZXMiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjEKK21zZ2lkICJ3aGV0aGVyIHRoZSBpbml0aWFsIGNsb25lIHNob3VsZCBmb2xsb3cgdGhlIHNoYWxsb3cgcmVjb21tZW5kYXRpb24iCittc2dzdHIgInNpIGVsIGNsb25hdGdlIGluaWNpYWwgaGEgZGUgc2VndWlyIGxhIHJlY29tYW5hY2nDsyBkZSBzdXBlcmZpY2lhbGl0YXQiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjIKK21zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgorbXNnc3RyICJubyBpbXByaW1laXhpcyBlbCBwcm9ncsOpcyBkZWwgY2xvbmF0Z2UiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjkKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08Y2Ftw60+XSBbPGNhbcOtPi4uLl0iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzkKK21zZ2lkICJiYWQgdmFsdWUgZm9yIHVwZGF0ZSBwYXJhbWV0ZXIiCittc2dzdHIgInZhbG9yIGRvbGVudCBwZXIgYWwgcGFyw6BtZXRyZSB1cGRhdGUiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0ICIKKyJ0aGUgc3VwZXJwcm9qZWN0IGlzIG5vdCBvbiBhbnkgYnJhbmNoIgorbXNnc3RyICIiCisiTGEgYnJhbmNhIGRlIHN1Ym3DsmR1bCAoJXMpIGVzdMOgIGNvbmZpZ3VyYWRhIHBlciBhIGhlcmV0YXIgbGEgYnJhbmNhIGRlbCAiCisic3VwZXJwcm9qZWN0ZSwgcGVyw7IgZWwgc3VwZXJwcm9qZWN0ZSBubyDDqXMgZW4gY2FwIGJyYW5jYSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDAKK21zZ2lkICJzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIG11c3QgYmUgY2FsbGVkIHdpdGggYSBzdWJjb21tYW5kIgorbXNnc3RyICJzJ2hhIGQnZXhlY3V0YXIgbGEgc3Vib3JkcmUgc3VibW9kdWxlLS1oZWxwZXIgYW1iIHVuYSBzdWJvcmRyZSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIgorbXNnc3RyICInJXMnIG5vIMOpcyB1bmEgc3Vib3JkcmUgdsOgbGlkYSBkZSBzdWJtb2R1bGUtLWhlbHBlciIKIAogIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo3CiBtc2dpZCAiZ2l0IHN5bWJvbGljLXJlZiBbPG9wdGlvbnM+XSA8bmFtZT4gWzxyZWY+XSIKQEAgLTEwODMxLDI3ICsxMjYzMCwyMiBAQAogbXNnaWQgImdpdCB0YWcgLXYgPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC12IDxub20tZCdldGlxdWV0YT4uLi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6ODAKKyM6IGJ1aWx0aW4vdGFnLmM6ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iCiBtc2dzdHIgIm5vbSBkJ2V0aXF1ZXRhIG1hc3NhIGxsYXJnOiAlLipzLi4uIgogCi0jOiBidWlsdGluL3RhZy5jOjg1CisjOiBidWlsdGluL3RhZy5jOjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIG5vdCBmb3VuZC4iCi1tc2dzdHIgImV0aXF1ZXRhICclcycgbm8gdHJvYmFkYS4iCittc2dzdHIgIm5vIHMnaGEgdHJvYmF0IGwnZXRpcXVldGEgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTAwCisjOiBidWlsdGluL3RhZy5jOjEwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCi1tc2dzdHIgIkwnZXRpcXVldGEgJyVzJyBzJ2hhIHN1cHJpbWl0IChlcmEgJXMpXG4iCittc2dzdHIgIlMnaGEgc3VwcmltaXQgbCdldGlxdWV0YSAnJXMnIChlcmEgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTEyCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCB2ZXJpZnkgdGhlIHRhZyAnJXMnIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHZlcmlmaWNhciBsJ2V0aXF1ZXRhICclcyciCi0KLSM6IGJ1aWx0aW4vdGFnLmM6MTIyCisjOiBidWlsdGluL3RhZy5jOjExNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xMDg2NCw3ICsxMjY1OCw3IEBACiAiICAlc1xuIgogIkxlcyBsw61uaWVzIHF1ZSBjb21lbmNpbiBhbWIgJyVjJyBzJ2lnbm9yYXJhbi5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMjYKKyM6IGJ1aWx0aW4vdGFnLmM6MTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTEwODgxLDcgKzEyNjc1LDcgQEAKIAogIzogYnVpbHRpbi90YWcuYzoxOTkKIG1zZ2lkICJ1bmFibGUgdG8gc2lnbiB0aGUgdGFnIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGZpcm1hciBsJ2V0aXF1ZXRhIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHNpZ25hciBsJ2V0aXF1ZXRhIgogCiAjOiBidWlsdGluL3RhZy5jOjIwMQogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0YWcgZmlsZSIKQEAgLTEwODg5LDE1ICsxMjY4MywxNSBAQAogCiAjOiBidWlsdGluL3RhZy5jOjIyNgogbXNnaWQgImJhZCBvYmplY3QgdHlwZS4iCi1tc2dzdHIgInRpcHVzIGQnb2JqZWN0ZSBkb2xlbnQuIgorbXNnc3RyICJlbCB0aXB1cyBkJ29iamVjdGUgw6lzIGRvbGVudC4iCiAKICM6IGJ1aWx0aW4vdGFnLmM6MjM5CiBtc2dpZCAidGFnIGhlYWRlciB0b28gYmlnLiIKLW1zZ3N0ciAiY2Fww6dhbGVyYSBkJ2V0aXF1ZXRhIG1hc3NhIGdyYW4uIgorbXNnc3RyICJsYSBjYXDDp2FsZXJhIGQnZXRpcXVldGEgw6lzIG1hc3NhIGdyYW4uIgogCiAjOiBidWlsdGluL3RhZy5jOjI3NQogbXNnaWQgIm5vIHRhZyBtZXNzYWdlPyIKLW1zZ3N0ciAiY2FwIG1pc3NhdGdlIGQnZXRpcXVldGE/IgorbXNnc3RyICJubyBoaSBoYSBjYXAgbWlzc2F0Z2UgZCdldGlxdWV0YT8iCiAKICM6IGJ1aWx0aW4vdGFnLmM6MjgxCiAjLCBjLWZvcm1hdApAQCAtMTA5MzQsMTEgKzEyNzI4LDExIEBACiAKICM6IGJ1aWx0aW4vdGFnLmM6MzUyCiBtc2dpZCAiYW5ub3RhdGVkIGFuZCBHUEctc2lnbmVkIHRhZyIKLW1zZ3N0ciAiZXRpcXVldGEgYW5vdGFkYSBpIGZpcm1hZGEgcGVyIEdQRyIKK21zZ3N0ciAiZXRpcXVldGEgYW5vdGFkYSBpIHNpZ25hZGEgcGVyIEdQRyIKIAogIzogYnVpbHRpbi90YWcuYzozNTYKIG1zZ2lkICJ1c2UgYW5vdGhlciBrZXkgdG8gc2lnbiB0aGUgdGFnIgotbXNnc3RyICJ1c2EgdW5hIGFsdHJhIGNsYXUgcGVyIGEgZmlybWFyIGwnZXRpcXVldGEiCittc2dzdHIgInVzYSB1bmEgYWx0cmEgY2xhdSBwZXIgYSBzaWduYXIgbCdldGlxdWV0YSIKIAogIzogYnVpbHRpbi90YWcuYzozNTcKIG1zZ2lkICJyZXBsYWNlIHRoZSB0YWcgaWYgZXhpc3RzIgpAQCAtMTA5OTYsMjggKzEyNzkwLDI4IEBACiBtc2dpZCAib25seSBvbmUgLUYgb3IgLW0gb3B0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICJub23DqXMgZXMgcGVybWV0IHVuYSBvcGNpw7MgLUYgbyAtbS4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDUzCisjOiBidWlsdGluL3RhZy5jOjQ1MgogbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKIG1zZ3N0ciAibWFzc2EgcGFyw6BtZXRyZXMiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDU5CisjOiBidWlsdGluL3RhZy5jOjQ1OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRhZyBuYW1lLiIKIG1zZ3N0ciAiJyVzJyBubyDDqXMgdW4gbm9tIGQnZXRpcXVldGEgdsOgbGlkLiIKIAotIzogYnVpbHRpbi90YWcuYzo0NjQKKyM6IGJ1aWx0aW4vdGFnLmM6NDYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJsJ2V0aXF1ZXRhICclcycgamEgZXhpc3RlaXgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg5CisjOiBidWlsdGluL3RhZy5jOjQ5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIkV0aXF1ZXRhICclcycgYWN0dWFsaXR6YWRhIChlcmEgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTAKKyM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTMKIG1zZ2lkICJVbnBhY2tpbmcgb2JqZWN0cyIKLW1zZ3N0ciAiRGVzZW1wYXF1ZXRhbnQgb2JqZWN0ZXMiCittc2dzdHIgIlMnZXN0YW4gZGVzZW1wYXF1ZXRhbnQgZWxzIG9iamVjdGVzIgogCiAjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjc5CiAjLCBjLWZvcm1hdApAQCAtMTEwNDcsNyArMTI4NDEsNyBAQAogIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGVzdGluZyBtdGltZSBpbiAnJXMnICIKLW1zZ3N0ciAiUHJvdmFudCBtdGltZSBlbiAnJXMnIgorbXNnc3RyICJTJ2VzdMOgIHByb3ZhbnQgbXRpbWUgZW4gJyVzJyAiCiAKICM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTQ1CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGZpbGUiCkBAIC0xMTA4NCwxNDQgKzEyODc4LDE1MiBAQAogbXNnaWQgIiBPSyIKIG1zZ3N0ciAiIEQnYWNvcmQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTc1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU2NAogbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1pbmRleCBbPG9wY2lvbnM+XSBbLS1dIFs8Zml0eGVyPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkxOQogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAiIgogImNvbnRpbnVhIGwnYWN0dWFsaXR6YWNpw7MgZW5jYXJhIHF1ZSBsJ8OtbmRleCBuZWNlc3NpdGkgdW5hIGFjdHVhbGl0emFjacOzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjIKIG1zZ2lkICJyZWZyZXNoOiBpZ25vcmUgc3VibW9kdWxlcyIKIG1zZ3N0ciAiYWN0dWFsaXR6YTogaWdub3JhIGVscyBzdWJtw7JkdWxzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjUKIG1zZ2lkICJkbyBub3QgaWdub3JlIG5ldyBmaWxlcyIKIG1zZ3N0ciAibm8gaWdub3JpcyBlbHMgZml0eGVycyBub3VzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjcKIG1zZ2lkICJsZXQgZmlsZXMgcmVwbGFjZSBkaXJlY3RvcmllcyBhbmQgdmljZS12ZXJzYSIKIG1zZ3N0ciAiZGVpeGEgcXVlIGVscyBmaXR4ZXJzIHJlZW1wbGFjaW4gZWxzIGRpcmVjdG9yaXMgaSB2aWNldmVyc2EiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyOQogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgInRpbmd1ZXMgZW4gY29tcHRlIGVscyBmaXR4ZXJzIGFic2VudHMgZGUgbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzEKIG1zZ2lkICJyZWZyZXNoIGV2ZW4gaWYgaW5kZXggY29udGFpbnMgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAiYWN0dWFsaXR6YSBlbmNhcmEgcXVlIGwnw61uZGV4IGNvbnRpbmd1aSBlbnRyYWRlcyBubyBmdXNpb25hZGVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzQKIG1zZ2lkICJyZWZyZXNoIHN0YXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgImFjdHVhbGl0emEgbGEgaW5mb3JtYWNpw7MgZCdlc3RhZMOtc3RpcXVlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM4CiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICJjb20gLS1yZWZyZXNoLCBwZXLDsiBpZ25vcmEgbCdhanVzdCBhc3N1bWUtdW5jaGFuZ2VkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKIG1zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgogbXNnc3RyICI8bW9kZT4sPG9iamVjdGU+LDxjYW3DrT4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MwogbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiYWZlZ2VpeCBsJ2VudHJhZGEgZXNwZWNpZmljYWRhIGEgbCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4Ci1tc2dpZCAiKCsvLSl4IgotbXNnc3RyICIoKy8tKXgiCi0KLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU5Ci1tc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCi1tc2dzdHIgInBhc3NhIHBlciBhbHQgZWwgYml0IGV4ZWN1dGFibGUgZGVscyBmaXR4ZXJzIGxsaXN0YXRzIgotCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTIKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgIm1hcmNhIGVscyBmaXR4ZXJzIGNvbSBhIFwibm8gY2FudmlhbnRcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU1CiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICJuZXRlamEgZWwgYml0IGFzc3VtZWQtdW5jaGFuZ2VkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTgKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgogbXNnc3RyICJtYXJjYSBlbHMgZml0eGVycyBjb20gYSBcIm5vbcOpcyDDrW5kZXhcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYxCiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgIm5ldGVqYSBlbCBiaXQgc2tpcC13b3JrdHJlZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY0CiBtc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIiIKICJub23DqXMgYWZlZ2VpeCBhIGwnw61uZGV4OyBubyBhZmVnZWl4aXMgZWwgY29udGluZ3V0IGEgbGEgYmFzZSBkZSBkYWRlcyAiCiAiZCdvYmplY3RlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY2CiBtc2dpZCAicmVtb3ZlIG5hbWVkIHBhdGhzIGV2ZW4gaWYgcHJlc2VudCBpbiB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogImVsaW1pbmEgZWxzIGNhbWlucyBhbm9tZW5hdHMgZW5jYXJhIHF1ZSBlc3RpZ3VpbiBwcmVzZW50cyBlbiBsJ2FyYnJlIGRlICIKICJ0cmViYWxsIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjgKIG1zZ2lkICJ3aXRoIC0tc3RkaW46IGlucHV0IGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG51bGwgYnl0ZXMiCiBtc2dzdHIgImFtYiAtLXN0ZGluOiBsZXMgbMOtbmllcyBkJ2VudHJhZGEgYWNhYmVuIGFtYiBvY3RldHMgbnVscyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcwCiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGxlZ2VpeCBsYSBsbGlzdGEgZGUgY2FtaW5zIGEgYWN0dWFsaXR6YXIgZGVzIGRlIGwnZW50cmFkYSBlc3TDoG5kYXJkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzQKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiYWZlZ2VpeCBsZXMgZW50cmFkZXMgZGUgbCdlbnRyYWRhIGVzdMOgbmRhcmQgYSBsJ8OtbmRleCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc4CiBtc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgogbXNnc3RyICJyZWVtcGxlbmEgbGVzIGV0YXBlcyAjMiBpICMzIHBlciBhbHMgY2FtaW5zIGxsaXN0YXRzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODIKIG1zZ2lkICJvbmx5IHVwZGF0ZSBlbnRyaWVzIHRoYXQgZGlmZmVyIGZyb20gSEVBRCIKIG1zZ3N0ciAibm9tw6lzIGFjdHVhbGl0emEgbGVzIGVudHJhZGVzIHF1ZSBkaWZlcmVpeGluIGRlIEhFQUQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImlnbm9yYSBlbHMgZml0eGVycyBhYnNlbnRzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQogbXNnaWQgInJlcG9ydCBhY3Rpb25zIHRvIHN0YW5kYXJkIG91dHB1dCIKIG1zZ3N0ciAiaW5mb3JtYSBkZSBsZXMgYWNjaW9ucyBlbiBsYSBzb3J0aWRhIGVzdMOgbmRhcmQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTEKIG1zZ2lkICIoZm9yIHBvcmNlbGFpbnMpIGZvcmdldCBzYXZlZCB1bnJlc29sdmVkIGNvbmZsaWN0cyIKIG1zZ3N0ciAiKHBlciBhIHBvcmNlbGxhbmVzKSBvYmxpZGEndCBkZWxzIGNvbmZsaWN0ZXMgbm8gcmVzb2x0cyBuaSBkZXNhdHMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTUKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiZXNjcml1IGwnw61uZGV4IGVuIGFxdWVzdCBmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKIG1zZ2lkICJlbmFibGUgb3IgZGlzYWJsZSBzcGxpdCBpbmRleCIKIG1zZ3N0ciAiaGFiaWxpdGEgbyBpbmhhYmlsaXRhIGwnw61uZGV4IGRpdmlkaXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTkKIG1zZ2lkICJlbmFibGUvZGlzYWJsZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgImhhYmlsaXRhL2luaGFiaWxpdGEgbGEgbWVtw7JyaWEgY2F1IG5vIHNlZ3VpZGEiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAxCiBtc2dpZCAidGVzdCBpZiB0aGUgZmlsZXN5c3RlbSBzdXBwb3J0cyB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgInByb3ZhIHNpIGVsIHNpc3RlbWEgZGUgZml0eGVycyBhZG1ldCBsYSBtZW3DsnJpYSBjYXUgbm8gc2VndWlkYSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDMKIG1zZ2lkICJlbmFibGUgdW50cmFja2VkIGNhY2hlIHdpdGhvdXQgdGVzdGluZyB0aGUgZmlsZXN5c3RlbSIKIG1zZ3N0ciAiaGFiaWxpdGEgbGEgbWVtw7JyaWEgY2F1IG5vIHNlZ3VpZGEgc2Vuc2UgcHJvdmFyIGVsIHNpc3RlbWEgZGUgZml0eGVycyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMTkKK21zZ2lkICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKKyJ0byBkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCittc2dzdHIgIiIKKyJjb3JlLnVudHJhY2tlZENhY2hlIGVzdMOgIGVzdGFibGVydCBhIHZlcml0YWJsZTsgZWxpbWluZXUtbG8gbyBjYW52aWV1LWxvLCBzaSAiCisicmVhbG1lbnQgdm9sZXUgaW5oYWJpbGl0YXIgZWwgY2F1IG5vIHNlZ3VpdCIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTIzCiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgogbXNnc3RyICJMYSBtZW3DsnJpYSBjYXUgbm8gc2VndWlkYSBlc3TDoCBpbmhhYmlsaXRhZGEiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE0NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMxCittc2dpZCAiIgorImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgorInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgorbXNnc3RyICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSBlc3TDoCBlc3RhYmxlcnQgYSBmYWxzOyBlbGltaW5ldS1sbyBvIGNhbnZpYXItbG8sIHNpICIKKyJyZWFsbWVudCB2b2xldSBoYWJpbGl0YXIgZWwgY2F1IG5vIHNlZ3VpdCIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgogbXNnc3RyICJMYSBtZW3DsnJpYSBjYXUgbm8gc2VndWlkYSBlc3TDoCBoYWJpbGl0YWRhIHBlciBhICclcyciCkBAIC0xMTI3MSw3ICsxMzA3Myw3IEBACiBtc2dpZCAicHJpbnQgY29tbWl0IGNvbnRlbnRzIgogbXNnc3RyICJpbXByaW1laXggZWxzIGNvbnRpbmd1dHMgZGUgbGEgY29taXNzacOzIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3MyBidWlsdGluL3ZlcmlmeS10YWcuYzo4NAorIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzMgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzUKIG1zZ2lkICJwcmludCByYXcgZ3BnIHN0YXR1cyBvdXRwdXQiCiBtc2dzdHIgImltcHJpbWVpeCBsYSBzb3J0aWRhIGNydWEgZGUgbCdlc3RhdCBncGciCiAKQEAgLTExMjkxLDcgKzEzMDkzLDcgQEAKIG1zZ2lkICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIDx0YWc+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIDxldGlxdWV0YT4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjgzCisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozNAogbXNnaWQgInByaW50IHRhZyBjb250ZW50cyIKIG1zZ3N0ciAiaW1wcmltZWl4IGVscyBjb250aW5ndXRzIGRlIGwnZXRpcXVldGEiCiAKQEAgLTExMzAwLDgwICsxMzEwMiwxMTEgQEAKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGFkZCBbPG9wY2lvbnM+XSA8Y2Ftw60+IFs8YnJhbmNhPl0iCiAKICM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNgotbXNnaWQgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKLW1zZ3N0ciAiZ2l0IHdvcmt0cmVlIHBydW5lIFs8b3BjaW9ucz5dIgotCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKIG1zZ2lkICJnaXQgd29ya3RyZWUgbGlzdCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxvcGNpb25zPl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozOQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3Cittc2dpZCAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxvcHRpb25zPl0gPHBhdGg+IgorbXNnc3RyICJnaXQgd29ya3RyZWUgbG9jayBbPG9wY2lvbnM+XSA8Y2Ftw60+IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKK21zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wY2lvbnM+XSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE5Cittc2dpZCAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGF0aD4iCittc2dzdHIgImdpdCB3b3JrdHJlZSB1bmxvY2sgPGNhbcOtPiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogbm90IGEgdmFsaWQgZGlyZWN0b3J5IgogbXNnc3RyICJFbGltaW5hY2nDsyBkZSB3b3JrdHJlZXMvJXM6IG5vIMOpcyB1biBkaXJlY3RvcmkgdsOgbGlkIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJFbGltaW5hY2nDsyBkZSB3b3JrdHJlZXMvJXM6IGVsIGZpdHhlciBnaXRkaXIgbm8gZXhpc3RlaXgiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogdW5hYmxlIHRvIHJlYWQgZ2l0ZGlyIGZpbGUgKCVzKSIKIG1zZ3N0ciAiRWxpbWluYWNpw7MgZGUgd29ya3RyZWVzLyVzOiBubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBmaXR4ZXIgZ2l0ZGlyICglcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogaW52YWxpZCBnaXRkaXIgZmlsZSIKIG1zZ3N0ciAiRWxpbWluYWNpw7MgZGUgd29ya3RyZWVzLyVzOiBmaXR4ZXIgZ2l0ZGlyIG5vIHbDoGxpZCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBwb2ludHMgdG8gbm9uLWV4aXN0ZW50IGxvY2F0aW9uIgogbXNnc3RyICIiCiAiRWxpbWluYWNpw7MgZGUgd29ya3RyZWVzLyVzOiBlbCBmaXR4ZXIgZ2l0ZGlyIGVzIHJlZmVyZWl4IGEgdW5hIHViaWNhY2nDsyBubyAiCiAiZXhpc3RlbnQiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHJlbW92ZTogJXMiCi1tc2dzdHIgInMnaGEgZmFsbGF0IGVuIGVsaW1pbmFyOiAlcyIKLQotIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwMQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICInJXMnIGphIGV4aXN0ZWl4IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjMzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IG9mICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZGlyZWN0b3JpIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNjkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nICVzIChpZGVudGlmaWVyICVzKSIKLW1zZ3N0ciAiUHJlcGFyYW50ICVzIChpZGVudGlmaWNhZG9yICVzKSIKK21zZ3N0ciAiUydlc3TDoCBwcmVwYXJhbnQgJXMgKGlkZW50aWZpY2Fkb3IgJXMpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzE3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzIzCiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gZXZlbiBpZiBhbHJlYWR5IGNoZWNrZWQgb3V0IGluIG90aGVyIHdvcmt0cmVlIgogbXNnc3RyICJhZ2FmYSA8YnJhbmNhPiBlbmNhcmEgcXVlIHNpZ3VpIGFnYWZhZGEgZW4gYWx0cmUgYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMxOQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNQogbXNnaWQgImNyZWF0ZSBhIG5ldyBicmFuY2giCiBtc2dzdHIgImNyZWEgdW5hIGJyYW5jYSBub3ZhIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzIxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICJjcmVhIG8gcmVzdGFibGVpeCB1bmEgYnJhbmNhIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzIyCi1tc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgotbXNnc3RyICJzZXBhcmEgZWwgSEVBRCBhIGxhIGNvbWlzc2nDsyBhbm9tZW5hZGEiCi0KICM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKK21zZ2lkICJwb3B1bGF0ZSB0aGUgbmV3IHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiZW1wbGVuYSBsJ2FyYnJlIGRlIHRyZWJhbGwgbm91IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzM3CiBtc2dpZCAiLWIsIC1CLCBhbmQgLS1kZXRhY2ggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLWIsIC1CIGkgLS1kZXRhY2ggc8OzbiBtdXR1YWxtZW50IGV4Y2x1c2l1cyIKIAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3MAorbXNnaWQgInJlYXNvbiBmb3IgbG9ja2luZyIKK21zZ3N0ciAicmHDsyBwZXIgYmxvcXVlamFyIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDgyIGJ1aWx0aW4vd29ya3RyZWUuYzo1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiclcycgbm8gw6lzIHVuIGFyYnJlIGRlIHRyZWJhbGwiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODQgYnVpbHRpbi93b3JrdHJlZS5jOjUxNworbXNnaWQgIlRoZSBtYWluIHdvcmtpbmcgdHJlZSBjYW5ub3QgYmUgbG9ja2VkIG9yIHVubG9ja2VkIgorbXNnc3RyICJObyBlcyBwb3QgYmxvcXVlamFyIG5pIGRlc2Jsb3F1ZWphciBsJ2FyYnJlIGRlIHRyZWJhbGwgcHJpbmNpcGFsIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQsIHJlYXNvbjogJXMiCittc2dzdHIgIiclcycgamEgZXN0w6AgYmxvcXVlamF0LCByYcOzOiAnJXMnIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiCittc2dzdHIgIiclcycgamEgZXN0w6AgYmxvcXVlamF0IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGxvY2tlZCIKK21zZ3N0ciAiJyVzJyBubyBlc3TDoCBibG9xdWVqYXQiCisKICM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjEzCiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgpAQCAtMTEzOTAsNyArMTMyMjMsNDIgQEAKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgogbXNnc3RyICJub23DqXMgw7p0aWwgcGVyIGEgbGEgZGVwdXJhY2nDsyIKIAotIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjYyCisjOiB1cGxvYWQtcGFjay5jOjIyCittc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgorbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzxvcGNpb25zPl0gPGRpcmVjdG9yaT4iCisKKyM6IHVwbG9hZC1wYWNrLmM6MTAyOAorbXNnaWQgInF1aXQgYWZ0ZXIgYSBzaW5nbGUgcmVxdWVzdC9yZXNwb25zZSBleGNoYW5nZSIKK21zZ3N0ciAic3VydCBkZXNwcsOpcyBkJ3VuIHNvbCBpbnRlcmNhbnZpIGRlIHNvbMK3bGljaXR1ZC9yZXNwb3N0YSIKKworIzogdXBsb2FkLXBhY2suYzoxMDMwCittc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBpbml0aWFsIHJlZiBhZHZlcnRpc2VtZW50IgorbXNnc3RyICJzdXJ0IGltbWVkaWF0YW1lbnQgZGVzcHLDqXMgZGVsIGFudW5jaSBpbmljaWFsIGRlIHJlZmVyw6huY2lhIgorCisjOiB1cGxvYWQtcGFjay5jOjEwMzIKK21zZ2lkICJkbyBub3QgdHJ5IDxkaXJlY3Rvcnk+Ly5naXQvIGlmIDxkaXJlY3Rvcnk+IGlzIG5vIEdpdCBkaXJlY3RvcnkiCittc2dzdHIgIiIKKyJubyBpbnRlbnRpcyA8ZGlyZWN0b3JpPi8uZ2l0LyBzaSA8ZGlyZWN0b3JpPiBubyDDqXMgY2FwIGRpcmVjdG9yaSBkZWwgR2l0IgorCisjOiB1cGxvYWQtcGFjay5jOjEwMzQKK21zZ2lkICJpbnRlcnJ1cHQgdHJhbnNmZXIgYWZ0ZXIgPG4+IHNlY29uZHMgb2YgaW5hY3Rpdml0eSIKK21zZ3N0ciAiaW50ZXJyb21wIGxhIHRyYW5zZmVyw6huY2lhIGRlc3Byw6lzIGRlIDxuPiBzZWdvbnMgZCdpbmFjdGl2aXRhdCIKKworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgcGVybWlzc2lvbnMgb24geW91ciBzb2NrZXQgZGlyZWN0b3J5IGFyZSB0b28gbG9vc2U7IG90aGVyXG4iCisidXNlcnMgbWF5IGJlIGFibGUgdG8gcmVhZCB5b3VyIGNhY2hlZCBjcmVkZW50aWFscy4gQ29uc2lkZXIgcnVubmluZzpcbiIKKyJcbiIKKyJcdGNobW9kIDA3MDAgJXMiCittc2dzdHIgIiIKKyJFbHMgcGVybWlzb3MgZW4gZWwgdm9zdHJlIGRpcmVjdG9yaSBkZSBzw7Jjb2wgc8OzbiBtYXNzYSBsaWJlcmFscztcbiIKKyJwb3RzZXIgcXVlIGFsdHJlcyB1c3VhcmlzIHBvZGVuIGxsZWdpciBlbHMgdm9zdHJlcyBjcmVkZW5jaWFscy5cbiIKKyJDb25zaWRlcmV1IGV4ZWN1dGFyOlxuIgorIlxuIgorIlx0Y2htb2QgMDcwMCAlcyIKKworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcxCiBtc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKIG1zZ3N0ciAiaW1wcmltZWl4IGVscyBtaXNzYXRnZXMgZGUgZGVwdXJhY2nDsyBhIHN0ZGVyciIKIApAQCAtMTE0MDUsNyArMTMyNzMsMTEgQEAKICInZ2l0IGhlbHAgPGNvbmNlcHRlPicgcGVyIGEgbGxlZ2lyIHNvYnJlIHVuYSBzdWJvcmRyZSBvIGNvbmNlcHRlXG4iCiAiZXNwZWPDrWZpYy4iCiAKLSM6IGh0dHAuYzozMjEKKyM6IGh0dHAuYzozNDIKK21zZ2lkICJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiCittc2dzdHIgIk5vIHMnYWRtZXQgZWwgY29udHJvbCBkZSBkZWxlZ2FjacOzIGFtYiBlbCBjVVJMIDwgNy4yMi4wIgorCisjOiBodHRwLmM6MzUxCiBtc2dpZCAiUHVibGljIGtleSBwaW5uaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICJObyBzJ2FkbWV0IGwnZW5nYW54IGRlIGNsYXUgcMO6YmxpY2EgYW1iIGNVUkwgPCA3LjQ0LjAiCiAKQEAgLTExNTE0LDcgKzEzMzg2LDcgQEAKICM6IGNvbW1vbi1jbWRzLmg6MzcKIG1zZ2lkICJDcmVhdGUsIGxpc3QsIGRlbGV0ZSBvciB2ZXJpZnkgYSB0YWcgb2JqZWN0IHNpZ25lZCB3aXRoIEdQRyIKIG1zZ3N0ciAiIgotIkNyZWEsIGxsaXN0YSwgc3VwcmltZWl4IG8gdmVyaWZpY2EgdW4gb2JqZWN0ZSBkJ2V0aXF1ZXRhIGZpcm1hdCBhbWIgR1BHIgorIkNyZWEsIGxsaXN0YSwgc3VwcmltZWl4IG8gdmVyaWZpY2EgdW4gb2JqZWN0ZSBkJ2V0aXF1ZXRhIHNpZ25hdCBhbWIgR1BHIgogCiAjOiBwYXJzZS1vcHRpb25zLmg6MTQ1CiBtc2dpZCAiZXhwaXJ5LWRhdGUiCkBAIC0xMTUyNCw0OSArMTMzOTYsNDkgQEAKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgIm9wZXJhY2nDsyBudWzCt2xhIChwZXIgYSBjb21wYXRpYmlsaXRhdCBhbWIgdmVyc2lvbnMgYW50ZXJpb3JzKSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzNworIzogcGFyc2Utb3B0aW9ucy5oOjIzOAogbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKIG1zZ3N0ciAic2lndWVzIG3DqXMgZGV0YWxsYXQiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyMzkKKyM6IHBhcnNlLW9wdGlvbnMuaDoyNDAKIG1zZ2lkICJiZSBtb3JlIHF1aWV0IgogbXNnc3RyICJzaWd1ZXMgbcOpcyBjYWxsYXQiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNDUKKyM6IHBhcnNlLW9wdGlvbnMuaDoyNDYKIG1zZ2lkICJ1c2UgPG4+IGRpZ2l0cyB0byBkaXNwbGF5IFNIQS0xcyIKIG1zZ3N0ciAidXNhIDxuPiB4aWZyZXMgcGVyIHByZXNlbnRhciBlbHMgU0hBLTEiCiAKLSM6IHJlcmVyZS5oOjM4CisjOiByZXJlcmUuaDo0MAogbXNnaWQgInVwZGF0ZSB0aGUgaW5kZXggd2l0aCByZXVzZWQgY29uZmxpY3QgcmVzb2x1dGlvbiBpZiBwb3NzaWJsZSIKIG1zZ3N0ciAiIgogImFjdHVhbGl0emEgbCfDrW5kZXggYW1iIGxhIHJlc29sdWNpw7MgZGUgY29uZmxpY3RlIHJldXNhZGEgc2kgw6lzIHBvc3NpYmxlIgogCi0jOiBnaXQtYmlzZWN0LnNoOjU1CisjOiBnaXQtYmlzZWN0LnNoOjU0CiBtc2dpZCAiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIiCiBtc2dzdHIgIkNhbCBjb21lbsOnYXIgcGVyIFwiZ2l0IGJpc2VjdCBzdGFydFwiIgogCiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW1ldIGFuZCBbbl0gaW4geW91cgogIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAogIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1iaXNlY3Quc2g6NjEKKyM6IGdpdC1iaXNlY3Quc2g6NjAKIG1zZ2lkICJEbyB5b3Ugd2FudCBtZSB0byBkbyBpdCBmb3IgeW91IFtZL25dPyAiCiBtc2dzdHIgIlZvbGV1IHF1ZSBobyBmYWNpIHBlciB2w7NzIFtZL25dPyAiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTIyCisjOiBnaXQtYmlzZWN0LnNoOjEyMQogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pc2VkIG9wdGlvbjogJyRhcmcnIgogbXNnc3RyICJvcGNpw7Mgbm8gcmVjb25lZ3VkYTogJyRhcmcnIgogCi0jOiBnaXQtYmlzZWN0LnNoOjEyNgorIzogZ2l0LWJpc2VjdC5zaDoxMjUKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJnJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSB2YWxpZCByZXZpc2lvbiIKIG1zZ3N0ciAiJyRhcmcnIG5vIHNlbWJsYSB1bmEgcmV2aXNpw7MgdsOgbGlkYSIKIAotIzogZ2l0LWJpc2VjdC5zaDoxNTUKKyM6IGdpdC1iaXNlY3Quc2g6MTU0CiBtc2dpZCAiQmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIgogbXNnc3RyICJIRUFEIGRvbGVudCAtIENhbCB1biBIRUFEIgogCi0jOiBnaXQtYmlzZWN0LnNoOjE2OAorIzogZ2l0LWJpc2VjdC5zaDoxNjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJDaGVja2luZyBvdXQgJyRzdGFydF9oZWFkJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCByZXNldCA8dmFsaWQtYnJhbmNoPicuIgpAQCAtMTE1NzQsMjcgKzEzNDQ2LDI4IEBACiAiTCdhZ2FmYW1lbnQgZGUgJyRzdGFydF9oZWFkJyBoYSBmYWxsYXQuIFByb3ZldSAnZ2l0IGJpc2VjdCByZXNldCA8YnJhbmNhLSIKICJ2w6BsaWRhPicuIgogCi0jOiBnaXQtYmlzZWN0LnNoOjE3OAorIzogZ2l0LWJpc2VjdC5zaDoxNzcKIG1zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgogbXNnc3RyICJubyBlcyBiaXNlY2Fyw6AgZW4gdW4gYXJicmUgZW4gZWwgcXVhbCBzJ2hhIGZldCBjZy1zZWVrIgogCi0jOiBnaXQtYmlzZWN0LnNoOjE4MgorIzogZ2l0LWJpc2VjdC5zaDoxODEKIG1zZ2lkICJCYWQgSEVBRCAtIHN0cmFuZ2Ugc3ltYm9saWMgcmVmIgogbXNnc3RyICJIRUFEIGRvbGVudCAtIHJlZmVyw6huY2lhIHNpbWLDsmxpY2EgZXN0cmFueWEiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MjM0CisjOiBnaXQtYmlzZWN0LnNoOjIzMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQmFkIGJpc2VjdF93cml0ZSBhcmd1bWVudDogJHN0YXRlIgogbXNnc3RyICJQYXLDoG1ldHJlIGJpc2VjdF93cml0ZSBkb2xlbnQ6ICRzdGF0ZSIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNjMKKyM6IGdpdC1iaXNlY3Quc2g6MjYyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkYXJnIgogbXNnc3RyICJJbnRyb2R1Y2Npw7MgZGUgcmV2aXNpw7MgZG9sZW50YTogJGFyZyIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNzgKLW1zZ2lkICJQbGVhc2UgY2FsbCAnYmlzZWN0X3N0YXRlJyB3aXRoIGF0IGxlYXN0IG9uZSBhcmd1bWVudC4iCi1tc2dzdHIgIlNpIHVzIHBsYXUsIGludm9xdWV1ICdiaXNlY3Rfc3RhdGUnIGFtYiBhbG1lbnlzIHVuIHBhcsOgbWV0cmUuIgorIzogZ2l0LWJpc2VjdC5zaDoyODEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRiaXNlY3RlZF9oZWFkIgorbXNnc3RyICJFbnRyYWRhIGRlIHJldmlzacOzIGRvbGVudGE6ICRiaXNlY3RlZF9oZWFkIgogCiAjOiBnaXQtYmlzZWN0LnNoOjI5MAogIywgc2gtZm9ybWF0CkBAIC0xMTYwOSw3ICsxMzQ4Miw3IEBACiAjOiBnaXQtYmlzZWN0LnNoOjMyMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiV2FybmluZzogYmlzZWN0aW5nIG9ubHkgd2l0aCBhICRURVJNX0JBRCBjb21taXQuIgotbXNnc3RyICJBdsOtczogYmlzZWNhbnQgYW1iIG5vbcOpcyBjb21pc3Npw7MgJFRFUk1fQkFELiIKK21zZ3N0ciAiQWR2ZXJ0w6huY2lhOiBiaXNlY2FudCBhbWIgbm9tw6lzIGNvbWlzc2nDsyAkVEVSTV9CQUQuIgogCiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW1ldIGFuZCBbbl0gaW4geW91cgogIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dApAQCAtMTE2NzIsNyArMTM1NDUsNyBAQAogIzogZ2l0LWJpc2VjdC5zaDo0OTIKICMsIHNoLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgJGNvbW1hbmQiCi1tc2dzdHIgImV4ZWN1dGFudCAkY29tbWFuZCIKK21zZ3N0ciAicydlc3TDoCBleGVjdXRhbnQgJGNvbW1hbmQiCiAKICM6IGdpdC1iaXNlY3Quc2g6NDk5CiAjLCBzaC1mb3JtYXQKQEAgLTExNzIyLDcgKzEzNTk1LDggQEAKICM6IGdpdC1iaXNlY3Quc2g6NjA2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGNvbW1hbmQ6IHlvdSdyZSBjdXJyZW50bHkgaW4gYSAkVEVSTV9CQUQvJFRFUk1fR09PRCBiaXNlY3QuIgotbXNnc3RyICJPcmRyZSBubyB2w6BsaWRhOiBhY3R1YWxtZW50IGVzdGV1IGVuIHVuYSBiaXNlY2Npw7MgJFRFUk1fQkFELyRURVJNX0dPT0QiCittc2dzdHIgIiIKKyJPcmRyZSBubyB2w6BsaWRhOiBhY3R1YWxtZW50IGVzdGV1IGVuIHVuYSBiaXNlY2Npw7MgJFRFUk1fQkFELyRURVJNX0dPT0QuIgogCiAjOiBnaXQtYmlzZWN0LnNoOjYzNgogbXNnaWQgIm5vIHRlcm1zIGRlZmluZWQiCkBAIC0xMTczNyw3ICsxMzYxMSw0OCBAQAogInBhcsOgbWV0cmUgbm8gdsOgbGlkICRhcmcgcGVyIGEgJ2dpdCBiaXNlY3QgdGVybXMnLlxuIgogIkxlcyBvcGNpb25zIGFkbWVzZXMgc8OzbjogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCBpIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTcKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjQ2Cittc2dpZCAiIgorIkVycm9yOiBZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCisibWVyZ2UiCittc2dzdHIgIiIKKyJFcnJvcjogRWxzIHZvc3RyZXMgY2FudmlzIGxvY2FscyBhbHMgZml0eGVycyBzZWfDvGVudHMgc2Ugc29icmVlc2NyaXVyaWVuIHBlciAiCisiZnVzaW9uYXIiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjYxCittc2dpZCAiQXV0b21hdGVkIG1lcmdlIGRpZCBub3Qgd29yay4iCittc2dzdHIgIkxhIGZ1c2nDsyBhdXRvbcOgdGljYSBubyBoYSBmdW5jaW9uYXQuIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo2MgorbXNnaWQgIlNob3VsZCBub3QgYmUgZG9pbmcgYW4gb2N0b3B1cy4iCittc2dzdHIgIk5vIHMnaGEgZGUgZmVyIHVuIHBvcC4iCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjczCisjLCBzaC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gZmluZCBjb21tb24gY29tbWl0IHdpdGggJHByZXR0eV9uYW1lIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciBjYXAgY29taXNzacOzIGVuIGNvbcO6IGFtYiAkcHJldHR5X25hbWUiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjc3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUgd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgIkphIGFsIGRpYSBhbWIgJHByZXR0eV9uYW1lIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo4OQorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFzdC1mb3J3YXJkaW5nIHRvOiAkcHJldHR5X25hbWUiCittc2dzdHIgIlMnZXN0w6AgYXZhbsOnYW50IHLDoHBpZGFtZW50IGE6ICRwcmV0dHlfbmFtZSIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6OTcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRyeWluZyBzaW1wbGUgbWVyZ2Ugd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgIlMnZXN0w6AgaW50ZW50YW50IHVuYSBmdXNpw7Mgc2ltcGxlIGFtYiAkcHJldHR5X25hbWUiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjEwMgorbXNnaWQgIlNpbXBsZSBtZXJnZSBkaWQgbm90IHdvcmssIHRyeWluZyBhdXRvbWF0aWMgbWVyZ2UuIgorbXNnc3RyICIiCisiTGEgZnVzacOzIHNpbXBsZSBubyBoYSBmdW5jaW9uYXQsIHMnZXN0w6AgaW50ZW50YW50IHVuYSBmdXNpw7MgYXV0b23DoHRpY2EuIgorCisjOiBnaXQtcmViYXNlLnNoOjU2CiBtc2dpZCAiIgogIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBpbnN0ZWFkLlxuIgpAQCAtMTE3NDUsMjAgKzEzNjYwLDI2IEBACiAiXCIuIgogbXNnc3RyICIiCiAiUXVhbiBow6BnaXUgcmVzb2x0IGFxdWVzdCBwcm9ibGVtYSwgZXhlY3V0ZXUgXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKLSJTaSBwcmVmZXJpdSBzYWx0YXIgYXF1ZXN0IHBlZGHDpywgZXhlY3V0ZXUgXCJnaXQgcmViYXNlIC0tc2tpcFwiIGVuIGxsb2MuXG4iCisiU2kgcHJlZmVyaXUgc2FsdGFyIGFxdWVzdCBwZWRhw6csIGV4ZWN1dGV1IFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBlbiBsbG9jICIKKyJkJ2FpeMOyLlxuIgogIlBlciBhIGFnYWZhciBsYSBicmFuY2Egb3JpZ2luYWwgaSBkZWl4YXIgZGUgcmViYXNhciwgZXhlY3V0ZXUgXCJnaXQgcmViYXNlIC0tIgogImFib3J0XCIuIgogCi0jOiBnaXQtcmViYXNlLnNoOjE2NQorIzogZ2l0LXJlYmFzZS5zaDoxNTYgZ2l0LXJlYmFzZS5zaDozOTUKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCB0b3JuYXIgYSAkaGVhZF9uYW1lIgorCisjOiBnaXQtcmViYXNlLnNoOjE2NwogbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKIG1zZ3N0ciAiUydoYSBhcGxpY2F0IGVsIG1hZ2F0emVtIGF1dG9tw6B0aWMuIgogCi0jOiBnaXQtcmViYXNlLnNoOjE2OAorIzogZ2l0LXJlYmFzZS5zaDoxNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKIG1zZ3N0ciAiTm8gZXMgcG90IGVtbWFnYXR6ZW1hciAkc3Rhc2hfc2hhMSIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNjkKKyM6IGdpdC1yZWJhc2Uuc2g6MTcxCiBtc2dpZCAiIgogIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCiAiWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC5cbiIKQEAgLTExNzY4LDMyICsxMzY4OSwyOCBAQAogIkVscyB2b3N0cmVzIGNhbnZpcyBlc3RhbiBzZWd1cnMgZW4gZWwgbWFnYXR6ZW0uXG4iCiAiUG9kZXUgZXhlY3V0YXIgXCJnaXQgc3Rhc2ggcG9wXCIgbyBcImdpdCBzdGFzaCBkcm9wXCIgZW4gcXVhbHNldm9sIG1vbWVudC5cbiIKIAotIzogZ2l0LXJlYmFzZS5zaDoyMDgKKyM6IGdpdC1yZWJhc2Uuc2g6MjEwCiBtc2dpZCAiVGhlIHByZS1yZWJhc2UgaG9vayByZWZ1c2VkIHRvIHJlYmFzZS4iCiBtc2dzdHIgIkVsIGdhbnhvIGRlIHByZXJlYmFzYW1lbnQgaGEgcmVmdXNhdCByZWJhc2FyLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoyMTMKKyM6IGdpdC1yZWJhc2Uuc2g6MjE1CiBtc2dpZCAiSXQgbG9va3MgbGlrZSBnaXQtYW0gaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIgogbXNnc3RyICJTZW1ibGEgcXVlIGdpdC1hbSBlc3TDoCBlbiBjdXJzLiBObyBlcyBwb3QgcmViYXNhci4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzU0Ci1tc2dpZCAiVGhlIC0tZXhlYyBvcHRpb24gbXVzdCBiZSB1c2VkIHdpdGggdGhlIC0taW50ZXJhY3RpdmUgb3B0aW9uIgotbXNnc3RyICJMJ29wY2nDsyAtLWV4ZWMgcydoYSBkJ3VzYXIgYW1iIGwnb3BjacOzIC0taW50ZXJhY3RpdmUiCi0KLSM6IGdpdC1yZWJhc2Uuc2g6MzU5CisjOiBnaXQtcmViYXNlLnNoOjM1NgogbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCiBtc2dzdHIgIk5vIGhpIGhhIHJlYmFzYW1lbnQgZW4gY3Vycz8iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzcwCisjOiBnaXQtcmViYXNlLnNoOjM2NwogbXNnaWQgIlRoZSAtLWVkaXQtdG9kbyBhY3Rpb24gY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgaW50ZXJhY3RpdmUgcmViYXNlLiIKIG1zZ3N0ciAiIgogIkwnYWNjacOzIC0tZWRpdC10b2RvIG5vbcOpcyBlcyBwb3QgdXNhciBkdXJhbnQgdW4gcmViYXNhbWVudCBpbnRlcmFjdGl2YS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzc3CisjOiBnaXQtcmViYXNlLnNoOjM3NAogbXNnaWQgIkNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIk5vIGVzIHBvdCBsbGVnaXIgSEVBRCIKIAotIzogZ2l0LXJlYmFzZS5zaDozODAKKyM6IGdpdC1yZWJhc2Uuc2g6Mzc3CiBtc2dpZCAiIgogIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgogIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgpAQCAtMTE4MDEsMTIgKzEzNzE4LDcgQEAKICJIZXUgZCdlZGl0YXIgdG90cyBlbHMgY29uZmxpY3RlcyBkZSBmdXNpw7MgaSBkZXNwcsOpc1xuIgogIm1hcmNhci1sb3MgY29tIGEgcmVzb2x0cyBmZW50IHNlcnZpciBnaXQgYWRkIgogCi0jOiBnaXQtcmViYXNlLnNoOjM5OAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG1vdmUgYmFjayB0byAkaGVhZF9uYW1lIgotbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRvcm5hciBhICRoZWFkX25hbWUiCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NDE3CisjOiBnaXQtcmViYXNlLnNoOjQxNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICRzdGF0ZV9kaXJfYmFzZSBkaXJlY3RvcnksIGFuZFxuIgpAQCAtMTE4MjcsOTggKzEzNzM5LDEwMyBAQAogImkgZXhlY3V0ZXUtbWUgZGUgbm91LiBNJ2F0dXJvIHBlciBzaSBlbmNhcmEgaGkgdGVuaXUgYWxndW5hIGNvc2FcbiIKICJkZSB2YWxvci4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDY4CisjOiBnaXQtcmViYXNlLnNoOjQ2NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAkdXBzdHJlYW1fbmFtZSIKIG1zZ3N0ciAiZm9udCBubyB2w6BsaWRhICR1cHN0cmVhbV9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5MgorIzogZ2l0LXJlYmFzZS5zaDo0ODkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgogbXNnc3RyICIkb250b19uYW1lOiBqYSBoaSBoYSBtw6lzIGQndW5hIGJhc2UgZGUgZnVzacOzIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5NSBnaXQtcmViYXNlLnNoOjQ5OQorIzogZ2l0LXJlYmFzZS5zaDo0OTIgZ2l0LXJlYmFzZS5zaDo0OTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGlzIG5vIG1lcmdlIGJhc2UiCiBtc2dzdHIgIiRvbnRvX25hbWU6IG5vIGhpIGhhIGNhcCBiYXNlIGRlIGZ1c2nDsyIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MDQKKyM6IGdpdC1yZWJhc2Uuc2g6NTAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKIG1zZ3N0ciAiTm8gYXNzZW55YWxhIHVuYSBjb21pc3Npw7MgdsOgbGlkYTogJG9udG9fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MjcKKyM6IGdpdC1yZWJhc2Uuc2g6NTI0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2g6ICRicmFuY2hfbmFtZSIKIG1zZ3N0ciAiZmF0YWw6IG5vIGhpIGhhIHRhbCBicmFuY2E6ICRicmFuY2hfbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjAKKyM6IGdpdC1yZWJhc2Uuc2g6NTU3CiBtc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKIG1zZ3N0ciAiTm8gZXMgcG90IGVtbWFnYXR6ZW1hciBhdXRvbcOgdGljYW1lbnQiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTY1CisjOiBnaXQtcmViYXNlLnNoOjU2MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiBtc2dzdHIgIlMnaGEgY3JlYXQgdW4gbWFnYXR6ZW0gYXV0b23DoHRpYzogJHN0YXNoX2FiYnJldiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjkKKyM6IGdpdC1yZWJhc2Uuc2g6NTY2CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAiU2kgdXMgcGxhdSwgY29tZXRldS1sb3MgbyBlbW1hZ2F0emVtZXUtbG9zLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1ODkKKyM6IGdpdC1yZWJhc2Uuc2g6NTg2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIkxhIGJyYW5jYSBhY3R1YWwgJGJyYW5jaF9uYW1lIGVzdMOgIGFsIGRpYS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTkzCisjOiBnaXQtcmViYXNlLnNoOjU5MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgogbXNnc3RyICJMYSBicmFuY2EgYWN0dWFsICRicmFuY2hfbmFtZSBlc3TDoCBhbCBkaWE7IHJlYmFzYW1lbnQgZm9yw6dhZGEuIgogCi0jOiBnaXQtcmViYXNlLnNoOjYwNAorIzogZ2l0LXJlYmFzZS5zaDo2MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgogbXNnc3RyICJDYW52aXMgZGUgJG1iIGEgJG9udG86IgogCi0jOiBnaXQtcmViYXNlLnNoOjYxMworIzogZ2l0LXJlYmFzZS5zaDo2MTAKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIiIKLSJQcmltZXIsIHJlYm9iaW5hbnQgZWwgY2FwIHBlciBhIHJlcHJvZHVpciBlbCB2b3N0cmUgdHJlYmFsbCBhbCBkYW11bnQuLi4iCisiUHJpbWVyLCBzJ2VzdMOgIHJlYm9iaW5hbnQgZWwgY2FwIHBlciBhIHJlcHJvZHVpciBlbCB2b3N0cmUgdHJlYmFsbCBhbCAiCisiZGFtdW50Li4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjYyMworIzogZ2l0LXJlYmFzZS5zaDo2MjAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKLW1zZ3N0ciAiUydoYSBhdmFuw6dhdCAkYnJhbmNoX25hbWUgcsOgcGlkYW1lbnQgYSAkb250b19uYW1lIgorbXNnc3RyICJTJ2hhIGF2YW7Dp2F0ICRicmFuY2hfbmFtZSByw6BwaWRhbWVudCBhICRvbnRvX25hbWUuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTEKKyM6IGdpdC1zdGFzaC5zaDo1MAogbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKIG1zZ3N0ciAiZ2l0IHN0YXNoIGNsZWFyIGFtYiBwYXLDoG1ldHJlcyBubyBlc3TDoCBpbXBsZW1lbnRhdCIKIAotIzogZ2l0LXN0YXNoLnNoOjc0CisjOiBnaXQtc3Rhc2guc2g6NzMKIG1zZ2lkICJZb3UgZG8gbm90IGhhdmUgdGhlIGluaXRpYWwgY29tbWl0IHlldCIKIG1zZ3N0ciAiRW5jYXJhIG5vIHRlbml1IGxhIGNvbWlzc2nDsyBpbmljaWFsIgogCi0jOiBnaXQtc3Rhc2guc2g6ODkKKyM6IGdpdC1zdGFzaC5zaDo4OAogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IGluZGV4IHN0YXRlIgogbXNnc3RyICJObyBlcyBwb3QgZGVzYXIgbCdlc3RhdCBkJ8OtbmRleCBhY3R1YWwiCiAKLSM6IGdpdC1zdGFzaC5zaDoxMjQgZ2l0LXN0YXNoLnNoOjEzNworIzogZ2l0LXN0YXNoLnNoOjEwMworbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSB1bnRyYWNrZWQgZmlsZXMiCittc2dzdHIgIk5vIGVzIHBvdCBkZXNhciBlbHMgZml0eGVycyBubyBzZWd1aXRzIgorCisjOiBnaXQtc3Rhc2guc2g6MTIzIGdpdC1zdGFzaC5zaDoxMzYKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCB3b3JrdHJlZSBzdGF0ZSIKIG1zZ3N0ciAiTm8gZXMgcG90IGRlc2FyIGwnZXN0YXQgZCdhcmJyZSBkZSB0cmViYWxsIGFjdHVhbCIKIAotIzogZ2l0LXN0YXNoLnNoOjE0MQorIzogZ2l0LXN0YXNoLnNoOjE0MAogbXNnaWQgIk5vIGNoYW5nZXMgc2VsZWN0ZWQiCiBtc2dzdHIgIk5vIGhpIGhhIGNhbnZpcyBzZWxlY2Npb25hdHMiCiAKLSM6IGdpdC1zdGFzaC5zaDoxNDQKKyM6IGdpdC1zdGFzaC5zaDoxNDMKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBpbmRleCAoY2FuJ3QgaGFwcGVuKSIKIG1zZ3N0ciAiTm8gZXMgcG90IGVsaW1pbmFyIGwnw61uZGV4IHRlbXBvcmFsIChhaXjDsiBubyBwb3QgcGFzc2FyKSIKIAotIzogZ2l0LXN0YXNoLnNoOjE1NworIzogZ2l0LXN0YXNoLnNoOjE1NgogbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgogbXNnc3RyICJObyBlcyBwb3QgcmVnaXN0cmFyIGwnZXN0YXQgZGUgbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBnaXQtc3Rhc2guc2g6MTg5CisjOiBnaXQtc3Rhc2guc2g6MTg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlICRyZWZfc3Rhc2ggd2l0aCAkd19jb21taXQiCiBtc2dzdHIgIk5vIGVzIHBvdCBhY3R1YWxpdHphciAkcmVmX3N0YXNoIGFtYiAkd19jb21taXQiCkBAIC0xMTkzMyw3ICsxMzg1MCw3IEBACiAjLiAkIGdpdCBzdGFzaCBzYXZlIC0tYmxhaC1ibGFoIDI+JjEgfCBoZWFkIC1uIDIKICMuIGVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAtLWJsYWgtYmxhaAogIy4gVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnLS1ibGFoLWJsYWgnCi0jOiBnaXQtc3Rhc2guc2g6MjM5CisjOiBnaXQtc3Rhc2guc2g6MjM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKQEAgLTExOTQyLDExNSArMTM4NTksMTI3IEBACiAiZXJyb3I6IG9wY2nDsyBkZXNjb25lZ3VkYSBkZSAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKICIgICAgICAgUGVyIGEgcHJvdmVpciB1biBtaXNzYXRnZSwgdXNldSBnaXQgc3Rhc2ggc2F2ZSAtLSAnJG9wdGlvbiciCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjAKKyM6IGdpdC1zdGFzaC5zaDoyNTEKK21zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgorbXNnc3RyICJObyBlcyBwb2RlbiB1c2FyIC0tcGF0Y2ggaSAtLWluY2x1ZGUtdW50cmFja2VkIG8gLS1hbGwgYSBsYSB2ZWdhZGEuIgorCisjOiBnaXQtc3Rhc2guc2g6MjU5CiBtc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgogbXNnc3RyICJObyBoaSBoYSBjYW52aXMgbG9jYWxzIGEgZGVzYXIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjQKKyM6IGdpdC1zdGFzaC5zaDoyNjMKIG1zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKIG1zZ3N0ciAiTm8gZXMgcG90IGluaWNpYWxpdHphciBlbCBtYWdhdHplbSIKIAotIzogZ2l0LXN0YXNoLnNoOjI2OAorIzogZ2l0LXN0YXNoLnNoOjI2NwogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKIG1zZ3N0ciAiTm8gZXMgcG90IGRlc2FyIGwnZXN0YXQgYWN0dWFsIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjg2CisjOiBnaXQtc3Rhc2guc2g6MjY4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJHN0YXNoX21zZyIKK21zZ3N0ciAiUydoYW4gZGVzYXQgZWwgZGlyZWN0b3JpIGRlIHRyZWJhbGwgaSBsJ2VzdGF0IGQnw6xuZGV4ICRzdGFzaF9tc2ciCisKKyM6IGdpdC1zdGFzaC5zaDoyODUKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCiBtc2dzdHIgIk5vIGVzIHBvdCBlbGltaW5hciBlbHMgY2FudmlzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogZ2l0LXN0YXNoLnNoOjQwNQorIzogZ2l0LXN0YXNoLnNoOjQwMwogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgIm9wY2nDsyBkZXNjb25lZ3VkYTogJG9wdCIKIAotIzogZ2l0LXN0YXNoLnNoOjQxNQorIzogZ2l0LXN0YXNoLnNoOjQxNgogbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKLW1zZ3N0ciAiQ2FwIG1hZ2F0emVtIHRyb2JhdC4iCittc2dzdHIgIk5vIHMnaGEgdHJvYmF0IGNhcCBtYWdhdHplbS4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjIKKyM6IGdpdC1zdGFzaC5zaDo0MjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCi1tc2dzdHIgIk1hc3NhIHJldmlzaW9ucyBlc3BlY2lmaWNhZGVzOiAkUkVWIgorbXNnc3RyICJTJ2hhbiBlc3BlY2lmaWNhdCBtYXNzYSByZXZpc2lvbnM6ICRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjgKKyM6IGdpdC1zdGFzaC5zaDo0MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIG5vIMOpcyB1bmEgcmVmZXLDqG5jaWEgdsOgbGlkYSIKIAotIzogZ2l0LXN0YXNoLnNoOjQ1NgorIzogZ2l0LXN0YXNoLnNoOjQ2NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKIG1zZ3N0ciAiJyRhcmdzJyBubyDDqXMgdW5hIGNvbWlzc2nDsyBkZSB0aXB1cyBtYWdhdHplbSIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2NworIzogZ2l0LXN0YXNoLnNoOjQ3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIickYXJncycgbm8gw6lzIHVuYSByZWZlcsOobmNpYSBkZSBtYWdhdHplbSIKIAotIzogZ2l0LXN0YXNoLnNoOjQ3NQorIzogZ2l0LXN0YXNoLnNoOjQ4NQogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyIGwnw61uZGV4IgogCi0jOiBnaXQtc3Rhc2guc2g6NDc5CisjOiBnaXQtc3Rhc2guc2g6NDg5CiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICJObyBlcyBwb3QgYXBsaWNhciB1biBtYWdhdHplbSBlbm1pZyBkJ3VuYSBmdXNpw7MiCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODcKKyM6IGdpdC1zdGFzaC5zaDo0OTcKIG1zZ2lkICJDb25mbGljdHMgaW4gaW5kZXguIFRyeSB3aXRob3V0IC0taW5kZXguIgogbXNnc3RyICJIaSBoYSBjb25mbGljdGVzIGVuIGwnw61uZGV4LiBQcm92ZXUtaG8gc2Vuc2UgLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODkKKyM6IGdpdC1zdGFzaC5zaDo0OTkKIG1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGRlc2FyIGwnYXJicmUgZCfDrW5kZXgiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MjMKKyM6IGdpdC1zdGFzaC5zaDo1MDgKK21zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCByZXN0YXVyYXIgZWxzIGZpdHhlcnMgbm8gc2VndWl0cyBkZXMgZCdlbW1hZ2F0emVtYXRnZSIKKworIzogZ2l0LXN0YXNoLnNoOjUzMwogbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgogbXNnc3RyICJObyBlcyBwb3QgZGVzYWxsaXN0YXIgZml0eGVycyBtb2RpZmljYXRzIgogCi0jOiBnaXQtc3Rhc2guc2g6NTM4CisjOiBnaXQtc3Rhc2guc2g6NTQ4CiBtc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgogbXNnc3RyICJMJ8OtbmRleCBubyBlc3RhdmEgc2Vuc2UgZW1tYWdhdHplbWFyLiIKIAotIzogZ2l0LXN0YXNoLnNoOjU2MQorIzogZ2l0LXN0YXNoLnNoOjU2MgorbXNnaWQgIlRoZSBzdGFzaCBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorbXNnc3RyICJFcyBjb25zZXJ2YSBlbCBtYWdhdHplbSBlbiBjYXMgZGUgcXVlIGVsIG5lY2Vzc2l0ZXUgYWx0cmEgdmVnYWRhLiIKKworIzogZ2l0LXN0YXNoLnNoOjU3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAiJHtSRVZ9ICgkcykgZGVzY2FydGFkYSIKIAotIzogZ2l0LXN0YXNoLnNoOjU2MgorIzogZ2l0LXN0YXNoLnNoOjU3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ9OiBObyBzJ2hhIHBvZ3V0IGRlc2NhcnRhciBsJ2VudHJhZGEgZGUgbWFnYXR6ZW0iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzAKKyM6IGdpdC1zdGFzaC5zaDo1ODAKIG1zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCiBtc2dzdHIgIkNhcCBub20gZGUgYnJhbmNhIGVzcGVjaWZpY2F0IgogCi0jOiBnaXQtc3Rhc2guc2g6NjQyCisjOiBnaXQtc3Rhc2guc2g6NjUyCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICIoUGVyIHJlc3RhdXJhci1sZXMgdGVjbGVnZXUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgc3RyaXAgb25lIGNvbXBvbmVudCBvZmYgdXJsICckcmVtb3RldXJsJyIKLW1zZ3N0ciAibm8gZXMgcG90IGRlc3B1bGxhciB1biBjb21wb25lbnQgZGUgbCd1cmwgJyRyZW1vdGV1cmwnIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxODQKIG1zZ2lkICJSZWxhdGl2ZSBwYXRoIGNhbiBvbmx5IGJlIHVzZWQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogIkVsIGNhbcOtIHJlbGF0aXUgbm9tw6lzIGVzIHBvdCB1c2FyIGRlcyBkZWwgbml2ZWxsIHN1cGVyaW9yIGRlIGwnYXJicmUgZGUgIgogInRyZWJhbGwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjkxCisjOiBnaXQtc3VibW9kdWxlLnNoOjE5NAogIywgc2gtZm9ybWF0CiBtc2dpZCAicmVwbyBVUkw6ICckcmVwbycgbXVzdCBiZSBhYnNvbHV0ZSBvciBiZWdpbiB3aXRoIC4vfC4uLyIKIG1zZ3N0ciAiVVJMIGRlIGRpcMOyc2l0OiAnJHJlcG8nIGhhIGRlIHNlciBhYnNvbHV0IG8gY29tZW7Dp2FyIGFtYiAuL3wuLi8iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzA4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIxMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgIickc21fcGF0aCcgamEgZXhpc3RlaXggZW4gbCfDrW5kZXgiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzEyCisjOiBnaXQtc3VibW9kdWxlLnNoOjIxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgcGF0aCBpcyBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCkBAIC0xMjA2MSwxMTggKzEzOTkwLDkxIEBACiAiJHNtX3BhdGhcbiIKICJVc2V1IC1mIHNpIHJlYWxtZW50IHZvbGV1IGFmZWdpci1sby4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzMwCisjOiBnaXQtc3VibW9kdWxlLnNoOjIzMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIGV4aXN0aW5nIHJlcG8gYXQgJyRzbV9wYXRoJyB0byB0aGUgaW5kZXgiCi1tc2dzdHIgIkFmZWdpbnQgZWwgZGlww7JzaXQgZXhpc3RlbnQgYSAnJHNtX3BhdGgnIGEgbCfDrW5kZXgiCittc2dzdHIgIlMnZXN0w6AgYWZlZ2ludCBlbCBkaXDDsnNpdCBleGlzdGVudCBhICckc21fcGF0aCcgYSBsJ8OtbmRleCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozMzIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYSB2YWxpZCBnaXQgcmVwbyIKIG1zZ3N0ciAiJyRzbV9wYXRoJyBqYSBleGlzdGVpeCBpIG5vIMOpcyB1biBkaXDDsnNpdCBkZSBnaXQgdsOgbGlkIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM0MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKIG1zZ3N0ciAiIgogIkVzIHRyb2JhIHVuIGRpcmVjdG9yaSBkZSBnaXQgcGVyIGEgJyRzbV9uYW1lJyBsb2NhbG1lbnQgYW1iIGVscyByZW1vdHM6IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM0MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKLSJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb20iCi1tc2dzdHIgIiIKLSJTaSB2b2xldSB0b3JuYXIgYSB1c2FyIGFxdWVzdCBkaXJlY3RvcmkgZGUgZ2l0IGxvY2FsIGVuIGxsb2MgZGUgY2xvbmFyIGRlICIKLSJub3UgZGVzIGRlIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM0NAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotInVzZSB0aGUgJy0tZm9yY2UnIG9wdGlvbi4gSWYgdGhlIGxvY2FsIGdpdCBkaXJlY3RvcnkgaXMgbm90IHRoZSBjb3JyZWN0IHJlcG8iCi1tc2dzdHIgIiIKLSJ1c2V1IGwnb3BjacOzICctLWZvcmNlJy4gU2kgZWwgZGlyZWN0b3JpIGRlIGdpdCBsb2NhbCBubyDDqXMgZWwgZGlww7JzaXQgIgotImNvcnJlY3RlIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM0NQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgorIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbVxuIgorIiAgJHJlYWxyZXBvXG4iCisidXNlIHRoZSAnLS1mb3JjZScgb3B0aW9uLiBJZiB0aGUgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpcyBub3QgdGhlIGNvcnJlY3QgIgorInJlcG9cbiIKICJvciB5b3UgYXJlIHVuc3VyZSB3aGF0IHRoaXMgbWVhbnMgY2hvb3NlIGFub3RoZXIgbmFtZSB3aXRoIHRoZSAnLS1uYW1lJyAiCiAib3B0aW9uLiIKIG1zZ3N0ciAiIgotIm8gZXN0ZXUgaW5zZWd1ciBkZSBxdcOoIHZvbCBkaXIgYWl4w7IsIHRyaWV1IHVuIGFsdHJlIG5vbSBhbWIgbCdvcGNpw7MgJy0tbmFtZScuIgorIlNpIHZvbGV1IHJldXNhciBhcXVlc3QgZGlyZWN0b3JpIGRlIGdpdCBsb2NhbCBlbiBsbG9jIGRlIGNsb25hciBkZSBub3UgZGVcbiIKKyIgICRyZWFscmVwb1xuIgorInVzZXUgbCdvcGNpw7MgJy0tZm9yY2UnLiBTaSBlbCBkaXJlY3RvcmkgZGUgZ2l0IGxvY2FsIG5vIMOpcyBlbCBkaXDDsnNpdCAiCisiY29ycmVjdGVcbiIKKyJvIG5vIGVzdGV1IHNlZ3VyIGRlIHF1w6ggdm9sIGRpciBhaXjDsiwgdHJpZXUgdW4gYWx0cmUgbm9tIGFtYiBsJ29wY2nDsyAnLS0iCisibmFtZScuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM0NworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYWN0aXZhdGluZyBsb2NhbCBnaXQgZGlyZWN0b3J5IGZvciBzdWJtb2R1bGUgJyRzbV9uYW1lJy4iCi1tc2dzdHIgIlJlYWN0aXZhbnQgZWwgZGlyZWN0b3JpIGRlIGdpdCBsb2NhbCBwZXIgYWwgc3VibcOyZHVsICckc21fbmFtZScuIgorbXNnc3RyICIiCisiUydlc3TDoCByZWFjdGl2YW50IGVsIGRpcmVjdG9yaSBkZSBnaXQgbG9jYWwgcGVyIGFsIHN1Ym3DsmR1bCAnJHNtX25hbWUnLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjYzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWdhZmFyIGVsIHN1Ym3DsmR1bCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM2NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIlMnaGEgZmFsbGF0IGVuIGFmZWdpciBlbCBzdWJtw7JkdWwgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Mjc3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIlMnaGEgZmFsbGF0IGVuIHJlZ2lzdHJhciBlbCBzdWJtw7JkdWwgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzI0CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJFbnRlcmluZyAnJHByZWZpeCRkaXNwbGF5cGF0aCciCi1tc2dzdHIgIkVudHJhbnQgYSAnJHByZWZpeCRkaXNwbGF5cGF0aCciCittc2dpZCAiRW50ZXJpbmcgJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIlMnZXN0w6AgZW50cmFudCAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzQ0CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJTdG9wcGluZyBhdCAnJHByZWZpeCRkaXNwbGF5cGF0aCc7IHNjcmlwdCByZXR1cm5lZCBub24temVybyBzdGF0dXMuIgorbXNnaWQgIlN0b3BwaW5nIGF0ICckZGlzcGxheXBhdGgnOyBzY3JpcHQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzLiIKIG1zZ3N0ciAiIgotIkF0dXJhbnQgYSAnJHByZWZpeCRkaXNwbGF5cGF0aCc7IGwnc2NyaXB0IGhhIHJldG9ybmF0IHVuIGVzdGF0IG5vIHplcm8uIgorIlMnZXN0w6AgYXR1cmFudCBhICckZGlzcGxheXBhdGgnOyBsJ3NjcmlwdCBoYSByZXRvcm5hdCB1biBlc3RhdCBubyB6ZXJvLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDE1CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIGluIC5naXRtb2R1bGVzIgotbXNnc3RyICIiCi0iTm8gcydoYSB0cm9iYXQgY2FwIHVybCBwZXIgYWwgY2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnIGEgLmdpdG1vZHVsZXMiCittc2dpZCAicGF0aHNwZWMgYW5kIC0tYWxsIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIi0tcGF0aHNwZWMgaSAtLWFsbCBzw7NuIGluY29tcGF0aWJsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDkyCisjOiBnaXQtc3VibW9kdWxlLnNoOjQyMAogIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCi1tc2dzdHIgIlMnaGEgZmFsbGF0IGVuIHJlZ2lzdHJhciBsJ3VybCBwZXIgYWwgY2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnIgorbXNnaWQgIlVzZSAnLS1hbGwnIGlmIHlvdSByZWFsbHkgd2FudCB0byBkZWluaXRpYWxpemUgYWxsIHN1Ym1vZHVsZXMiCittc2dzdHIgIlVzZXUgJy0tYWxsJyBzaSByZWFsbWVudCB2b2xldSBkZXNpbmljaWFsaXR6YXIgdG90cyBlbHMgc3VibcOyZHVscyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0OTQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSByZWdpc3RlcmVkIGZvciBwYXRoICckZGlzcGxheXBhdGgnIgotbXNnc3RyICJTJ2hhIHJlZ2lzdHJhdCBlbCBzdWJtw7JkdWwgJyRuYW1lJyAoJHVybCkgcGVyIGFsIGNhbcOtICckZGlzcGxheXBhdGgnIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjUxMQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKLW1zZ3N0ciAiIgotIlMnaGEgZmFsbGF0IGVuIHJlZ2lzdHJhciBlbCBtb2RlIGQnYWN0dWFsaXR6YWNpw7MgcGVyIGFsIGNhbcOtIGRlIHN1Ym3DsmR1bCAiCi0iJyRkaXNwbGF5cGF0aCciCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTQ5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJVc2UgJy4nIGlmIHlvdSByZWFsbHkgd2FudCB0byBkZWluaXRpYWxpemUgYWxsIHN1Ym1vZHVsZXMiCi1tc2dzdHIgIlVzZXUgJy4nIHNpIHJlYWxtZW50IHZvbGV1IGRlc2luaWNpYWxpdHphciB0b3RzIGVscyBzdWJtw7JkdWxzIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU2NgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5IgotbXNnc3RyICJMJ2FyYnJlIGRlIHRyZWJhbGwgZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnIGNvbnTDqSB1biBkaXJlY3RvcmkgLmdpdCIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDQwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCisiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5XG4iCiAiKHVzZSAncm0gLXJmJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzIGhpc3RvcnkpIgogbXNnc3RyICIiCi0iKHVzZXUgJ3JtIC1yZicgc2kgcmVhbG1lbnQgdm9sZXUgZWxpbWluYXItbG8gaW5jbG9lbnQgdG90YSBsYSBzZXZhIGhpc3TDsnJpYSkiCisiTCdhcmJyZSBkZSB0cmViYWxsIGRlIHN1Ym3DsmR1bCAnJGRpc3BsYXlwYXRoJyBjb250w6kgdW4gZGlyZWN0b3JpIC5naXRcbiIKKyIodXNldSAncm0gLXJmJyBzaSByZWFsbWVudCB2b2xldSBlbGltaW5hci1sbywgaW5jbG9lbnQgdG90YSBsYSBzZXZhIGhpc3TDsnJpYSkiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTczCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ0OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgbG9jYWwgbW9kaWZpY2F0aW9uczsgdXNlICctZicgdG8gIgpAQCAtMTIxODEsMTMzICsxNDA4Myw2MTcgQEAKICJMJ2FyYnJlIGRlIHRyZWJhbGwgZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnIGNvbnTDqSBtb2RpZmljYWNpb25zIGxvY2FsczsgIgogInVzZXUgJy1mJyBwZXIgYSBkZXNjYXJ0YXItbGVzIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU3NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNsZWFyZWQgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJTJ2hhIG5ldGVqYXQgZWwgZGlyZWN0b3JpICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU3NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlbGltaW5hciBsJ2FyYnJlIGRlIHRyZWJhbGwgZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBjcmVhciBlbCBkaXJlY3RvcmkgZGUgc3VibcOyZHVsIGJ1aXQgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTg5CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICckbmFtZScgKCR1cmwpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiU3VibcOyZHVsICckbmFtZScgKCR1cmwpIG5vIHJlZ2lzdHJhdCBwZXIgYWwgY2Ftw60gJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzIzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcgbm90IGluaXRpYWxpemVkXG4iCi0iTWF5YmUgeW91IHdhbnQgdG8gdXNlICd1cGRhdGUgLS1pbml0Jz8iCi1tc2dzdHIgIiIKLSJDYW3DrSBkZSBzdWJtw7JkdWwgJyRkaXNwbGF5cGF0aCcgbm8gaW5pY2lhbGl0emF0XG4iCi0iUG90c2VyIHZvbGV1IHVzYXIgJ3VwZGF0ZSAtLWluaXQnPyIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MzYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjE3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiTm8gcydoYSBwb2d1dCB0cm9iYXIgbGEgcmV2aXNpw7MgYWN0dWFsIGVuIGVsIGNhbcOtIGRlIHN1Ym3DsmR1bCAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NDUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjI3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnRlbmlyIGVuIGVsIGNhbcOtIGRlIHN1Ym3DsmR1bCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjc2OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJVbmFibGUgdG8gZmluZCBjdXJyZW50ICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAiCisiJyRzbV9wYXRoJyIKK21zZ3N0ciAiIgorIk5vIHMnaGEgcG9ndXQgdHJvYmFyIGxhIHJldmlzacOzIGFjdHVhbCBkZSAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gZW4gZWwgIgorImNhbcOtIGRlIHN1Ym3DsmR1bCAnJHNtX3BhdGgnIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjY1MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9idGVuaXIgZW4gZWwgY2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjc4OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJGZXRjaGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnLCBidXQgaXQgZGlkIG5vdCBjb250YWluICRzaGExLiAiCisiRGlyZWN0IGZldGNoaW5nIG9mIHRoYXQgY29tbWl0IGZhaWxlZC4iCittc2dzdHIgIiIKKyJTJ2hhIG9idGluZ3V0IGVuIGVsIGNhbcOtIGRlIHN1Ym3DsmR1bCAnJGRpc3BsYXlwYXRoJywgcGVyw7Igbm8gY29udGVuaWEgJHNoYTEuICIKKyJMJ29idGVuY2nDsyBkaXJlY3RhIGQnYXF1ZWxsYSBjb21pc3Npw7MgaGEgZmFsbGF0LiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFnYWZhciAnJHNoYTEnIGVuIGVsIGNhbcOtIGRlIHN1Ym3DsmR1bCAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3ODkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjY0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKIG1zZ3N0ciAiQ2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnOiBzJ2hhIGFnYWZhdCAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjc5MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCByZWJhc2FyICckc2hhMScgZW4gZWwgY2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjc5NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKIG1zZ3N0ciAiQ2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnOiBzJ2hhIHJlYmFzYXQgZW4gJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3OTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gbWVyZ2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBmdXNpb25hciAnJHNoYTEnIGVuIGVsIGNhbcOtIGRlIHN1Ym3DsmR1bCAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MDAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njc1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogbWVyZ2VkIGluICckc2hhMSciCiBtc2dzdHIgIkNhbcOtIGRlIHN1Ym3DsmR1bCAnJGRpc3BsYXlwYXRoJzogcydoYSBmdXNpb25hdCBlbiAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgwNQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKICMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlIHBhdGggJyRwcmVmaXgkc21fcGF0aCciCittc2dpZCAiRXhlY3V0aW9uIG9mICckY29tbWFuZCAkc2hhMScgZmFpbGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCi0iTCdleGVjdWNpw7MgZGUgJyRjb21tYW5kICRzaGExJyBoYSBmYWxsYXQgZW4gZWwgY2Ftw60gZGUgc3VibcOyZHVsICckcHJlZml4IgotIiRzbV9wYXRoJyIKKyJMJ2V4ZWN1Y2nDsyBkZSAnJGNvbW1hbmQgJHNoYTEnIGhhIGZhbGxhdCBlbiBlbCBjYW3DrSBkZSBzdWJtw7JkdWwgIgorIickZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgwNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODEKICMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckcHJlZml4JHNtX3BhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgotbXNnc3RyICJDYW3DrSBkZSBzdWJtw7JkdWwgJyRwcmVmaXgkc21fcGF0aCc6ICckY29tbWFuZCAkc2hhMSciCittc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCittc2dzdHIgIkNhbcOtIGRlIHN1Ym3DsmR1bCAnJGRpc3BsYXlwYXRoJzogJyRjb21tYW5kICRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MzYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzEyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJTJ2hhIGZhbGxhdCBlbiByZWN1cnNhciBhbCBjYW3DrSBkZSBzdWJtw7JkdWwgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTQ0CisjOiBnaXQtc3VibW9kdWxlLnNoOjgyMAogbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCiBtc2dzdHIgIkwnb3BjacOzIC0tY2FjaGVkIG5vIGVzIHBvdCB1c2FyIGFtYiBsJ29wY2nDsyAtLWZpbGVzIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjk5NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NzIKICMsIHNoLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKIG1zZ3N0ciAibW9kZSBpbmVzcGVyYXQgJG1vZF9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTAxNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKIG1zZ3N0ciAiICBBdsOtczogJGRpc3BsYXlfbmFtZSBubyBjb250w6kgbGEgY29taXNzacOzICRzaGExX3NyYyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDE5CisjOiBnaXQtc3VibW9kdWxlLnNoOjg5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfZHN0IgogbXNnc3RyICIgIEF2w61zOiAkZGlzcGxheV9uYW1lIG5vIGNvbnTDqSBsYSBjb21pc3Npw7MgJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwMjIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODk4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAgQXbDrXM6ICRkaXNwbGF5X25hbWUgbm8gY29udMOpIGxlcyBjb21pc3Npb25zICRzaGExX3NyYyBpICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDQ3Ci1tc2dpZCAiYmxvYiIKLW1zZ3N0ciAiYmxvYiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTY1CisjOiBnaXQtc3VibW9kdWxlLnNoOjEwNDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiUydoYSBmYWxsYXQgZW4gcmVjdXJzYXIgYWwgY2Ftw60gZGUgc3VibcOyZHVsICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTIyOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTEyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckZGlzcGxheXBhdGgnIgotbXNnc3RyICJTaW5jcm9uaXR6YW50IGwndXJsIGRlIHN1Ym3DsmR1bCBwZXIgYSAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiUydlc3TDoCBzaW5jcm9uaXR6YW50IGwndXJsIGRlIHN1Ym3DsmR1bCBwZXIgYSAnJGRpc3BsYXlwYXRoJyIKKworIzogZ2l0LXBhcnNlLXJlbW90ZS5zaDo4OQorIywgc2gtZm9ybWF0Cittc2dpZCAiU2VlIGdpdC0ke2NtZH0oMSkgZm9yIGRldGFpbHMuIgorbXNnc3RyICJWZWdldSBnaXQtJHtjbWR9KDEpIHBlciBkZXRhbGxzLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTQwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJSZWJhc2luZyAoJG5ld19jb3VudC8kdG90YWwpIgorbXNnc3RyICJTJ2VzdMOgIHJlYmFzYW50ICgkbmV3X2NvdW50LyR0b3RhbCkiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE1NgorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKKyIgcCwgcGljayA9IHVzZSBjb21taXRcbiIKKyIgciwgcmV3b3JkID0gdXNlIGNvbW1pdCwgYnV0IGVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlXG4iCisiIGUsIGVkaXQgPSB1c2UgY29tbWl0LCBidXQgc3RvcCBmb3IgYW1lbmRpbmdcbiIKKyIgcywgc3F1YXNoID0gdXNlIGNvbW1pdCwgYnV0IG1lbGQgaW50byBwcmV2aW91cyBjb21taXRcbiIKKyIgZiwgZml4dXAgPSBsaWtlIFwic3F1YXNoXCIsIGJ1dCBkaXNjYXJkIHRoaXMgY29tbWl0J3MgbG9nIG1lc3NhZ2VcbiIKKyIgeCwgZXhlYyA9IHJ1biBjb21tYW5kICh0aGUgcmVzdCBvZiB0aGUgbGluZSkgdXNpbmcgc2hlbGxcbiIKKyIgZCwgZHJvcCA9IHJlbW92ZSBjb21taXRcbiIKKyJcbiIKKyJUaGVzZSBsaW5lcyBjYW4gYmUgcmUtb3JkZXJlZDsgdGhleSBhcmUgZXhlY3V0ZWQgZnJvbSB0b3AgdG8gYm90dG9tLlxuIgorbXNnc3RyICIiCisiXG4iCisiT3JkcmVzOlxuIgorIiBwLCBwaWNrID0gdXNhIGxhIGNvbWlzc2nDs1xuIgorIiByLCByZXdvcmQgPSB1c2EgbGEgY29taXNzacOzLCBwZXLDsiBlZGl0YSBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7NcbiIKKyIgZSwgZWRpdCA9IHVzYSBsYSBjb21taXNzacOzLCBwZXLDsiBhdHVyYSd0IHBlciBhIGVzbWVuYXJcbiIKKyIgcywgc3F1YXNoID0gdXNhIGxhIGNvbWlzc2nDsywgcGVyw7IgZnVzaW9uYSdsIGEgbGEgY29taXNzacOzIHByw6h2aWFcbiIKKyIgZiwgZml4dXAgPSBjb20gXCJzcXVhc2hcIiwgcGVyw7IgZGVzY2FydGEgZWwgbWlzc2F0Z2UgZGUgcmVnaXN0cmUgZCdhcXVlc3RhICIKKyJjb21pc3Npw7NcbiIKKyIgeCwgZXhlYyA9IGV4ZWN1dGEgbCdvcmRyZSAoZWwgcmVzdGUgZGUgbGEgbMOtbmlhKSB1c2FudCBsJ2ludMOocnByZXQgIgorImQnb3JkcmVzXG4iCisiIGQsIGRyb3AgPSBlbGltaW5hIGxhIGNvbWlzc2nDs1xuIgorIlxuIgorIkVzIHBvdCBjYW52aWFyIGwnb3JkcmUgZCdhcXVlc3RlcyBsw61uaWVzOyBzJ2V4ZWN1dGVuIGRlIGRhbHQgYSBiYWl4LlxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxNzEKK21zZ2lkICIiCisiXG4iCisiRG8gbm90IHJlbW92ZSBhbnkgbGluZS4gVXNlICdkcm9wJyBleHBsaWNpdGx5IHRvIHJlbW92ZSBhIGNvbW1pdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIk5vIGVsaW1pbmV1IGNhcCBsw61uaWEuIFVzZXUgJ2Ryb3AnIGV4cGzDrWNpdGFtZW50IHBlciBhIGVsaW1pbmFyIHVuYSAiCisiY29taXNzacOzLlxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxNzUKK21zZ2lkICIiCisiXG4iCisiSWYgeW91IHJlbW92ZSBhIGxpbmUgaGVyZSBUSEFUIENPTU1JVCBXSUxMIEJFIExPU1QuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTaSBlbGltaW5ldSB1bmEgbMOtbmlhIGFxdcOtLCBFUyBQRVJEUsOAIEFRVUVMTEEgQ09NSVNTScOTLlxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyMTEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCisiXG4iCisiXHRnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJPbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzLCBydW5cbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKK21zZ3N0ciAiIgorIlBvZGV1IGVzbWVuYXIgbGEgY29taXNzacOzIGFyYSwgYW1iXG4iCisiXG4iCisiXHRnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJVbmEgdmVnYWRhIHF1ZSBlc3RpZ3VldSBzYXRpc2ZldCBhbWIgZWxzIHZvc3RyZXMgY2FudmlzLCBleGVjdXRldVxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyMzYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiRzaGExOiBub3QgYSBjb21taXQgdGhhdCBjYW4gYmUgcGlja2VkIgorbXNnc3RyICIkc2hhMTogbm8gw6lzIHVuYSBjb21pc3Npw7MgcXVlIGVzIHB1Z2kgZXNjb2xsaXIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjI3NQorIywgc2gtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjb21taXQgbmFtZTogJHNoYTEiCittc2dzdHIgIk5vbSBkZSBjb21pc3Npw7Mgbm8gdsOgbGlkOiAkc2hhMSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MzE3Cittc2dpZCAiQ2Fubm90IHdyaXRlIGN1cnJlbnQgY29tbWl0J3MgcmVwbGFjZW1lbnQgc2hhMSIKK21zZ3N0ciAiTm8gZXMgcG90IGVzY3JpdXJlIGVsIHNoYTEgcmVlbXBsYcOnYW50IGRlIGxhIGNvbWlzc2nDsyBhY3R1YWwiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM2OQorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFzdC1mb3J3YXJkIHRvICRzaGExIgorbXNnc3RyICJBdmFuw6cgcsOgcGlkIGEgJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM3MQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGZhc3QtZm9yd2FyZCB0byAkc2hhMSIKK21zZ3N0ciAiTm8gZXMgcG90IGF2YW7Dp2FyIHLDoHBpZGFtZW50IGEgJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM4MAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG1vdmUgSEVBRCB0byAkZmlyc3RfcGFyZW50IgorbXNnc3RyICJObyBlcyBwb3QgbW91cmUgSEVBRCBhICRmaXJzdF9wYXJlbnQiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM4NQorIywgc2gtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gc3F1YXNoIGEgbWVyZ2U6ICRzaGExIgorbXNnc3RyICJTJ2VzdMOgIHJlZnVzYW50IGFpeGFmYXIgdW5hIGZ1c2nDszogJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM5OQorIywgc2gtZm9ybWF0Cittc2dpZCAiRXJyb3IgcmVkb2luZyBtZXJnZSAkc2hhMSIKK21zZ3N0ciAiRXJyb3IgZW4gcmVmZXIgbGEgZnVzacOzICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MDcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBwaWNrICRzaGExIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY29sbGlyICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MTYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgdGhlIGNvbW1pdCBtZXNzYWdlICMke259OiIKK21zZ3N0ciAiQXF1ZXN0IMOpcyBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MgbsO6bS4gJHtufToiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQyMQorIywgc2gtZm9ybWF0Cittc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMke259IHdpbGwgYmUgc2tpcHBlZDoiCittc2dzdHIgIkVsIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyBuw7ptLiAke259IHNlIHNhbHRhcsOgOiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDMyCisjLCBzaC1mb3JtYXQKK21zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJGNvdW50IGNvbW1pdC4iCittc2dpZF9wbHVyYWwgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0cy4iCittc2dzdHJbMF0gIkFpeMOyIMOpcyB1bmEgY29tYmluYWNpw7MgZGUgJGNvdW50IGNvbWlzc2nDsy4iCittc2dzdHJbMV0gIkFpeMOyIMOpcyB1bmEgY29tYmluYWNpw7MgZGUgJGNvdW50IGNvbWlzc2lvbnMuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NDAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSAkZml4dXBfbXNnIgorbXNnc3RyICJObyBlcyBwb3QgZXNjcml1cmUgJGZpeHVwX21zZyIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDQzCittc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIDIgY29tbWl0cy4iCittc2dzdHIgIkFpeMOyIMOpcyB1bmEgY29tYmluYWNpw7MgZGUgMiBjb21pc3Npb25zLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDQ0Cittc2dpZCAiVGhpcyBpcyB0aGUgMXN0IGNvbW1pdCBtZXNzYWdlOiIKK21zZ3N0ciAiQXF1ZXN0IMOpcyBlbCAxZXIgbWlzc2F0Z2UgZGUgY29taXNzacOzOiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDg0IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjUyNworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTMwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgYXBwbHkgJHNoYTEuLi4gJHJlc3QiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXBsaWNhciAkc2hhMS4uLiAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTU4CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiQ291bGQgbm90IGFtZW5kIGNvbW1pdCBhZnRlciBzdWNjZXNzZnVsbHkgcGlja2luZyAkc2hhMS4uLiAkcmVzdFxuIgorIlRoaXMgaXMgbW9zdCBsaWtlbHkgZHVlIHRvIGFuIGVtcHR5IGNvbW1pdCBtZXNzYWdlLCBvciB0aGUgcHJlLWNvbW1pdCBob29rXG4iCisiZmFpbGVkLiBJZiB0aGUgcHJlLWNvbW1pdCBob29rIGZhaWxlZCwgeW91IG1heSBuZWVkIHRvIHJlc29sdmUgdGhlIGlzc3VlICIKKyJiZWZvcmVcbiIKKyJ5b3UgYXJlIGFibGUgdG8gcmV3b3JkIHRoZSBjb21taXQuIgorbXNnc3RyICIiCisiTm8gcydoYSBwb2d1dCBlc21lbmFyIGxhIGNvbWlzc2nDsyBkZXNwcsOpcyBkJ2VzY29sbGlyIGFtYiDDqHhpdCAkc2hhMS4uLiAiCisiJHJlc3RcbiIKKyJBaXjDsiDDqXMgcHJvYmFibGVtZW50IGEgY2F1c2EgZCd1biBtaXNzYXRnZSBkZSBjb21pc3Npw7MgYnVpdCwgbyBlbCBnYW54byBkZVxuIgorInByZWNvbWlzc2nDsyBoYSBmYWxsYXQuIFNpIGVsIGdhbnhvIGRlIHByZWNvbWlzc2nDsyBoYSBmYWxsYXQsIHBvdHNlciBxdWVcbiIKKyJuZWNlc3NpdGV1IHJlc29sZHJlIGVsIHByb2JsZW1hIGFiYW5zIHF1ZSBwdWd1ZXUgY2FudmlhciBlbCBtaXNzYXRnZSBkZVxuIgorImNvbWlzc2nDsy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjU3MworIywgc2gtZm9ybWF0Cittc2dpZCAiU3RvcHBlZCBhdCAkc2hhMV9hYmJyZXYuLi4gJHJlc3QiCittc2dzdHIgIlMnaGEgYXR1cmF0IGEgJHNoYTFfYWJicmV2Li4uICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1ODgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAnJHNxdWFzaF9zdHlsZScgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKK21zZ3N0ciAiTm8gZXMgcG90ICckc3F1YXNoX3N0eWxlJyBzZW5zZSB1bmEgY29taXNzacOzIHByw6h2aWEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjYzMAorIywgc2gtZm9ybWF0Cittc2dpZCAiRXhlY3V0aW5nOiAkcmVzdCIKK21zZ3N0ciAiUydlc3TDoCBleGVjdXRhbnQ6ICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2MzgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGlvbiBmYWlsZWQ6ICRyZXN0IgorbXNnc3RyICJMJ2V4ZWN1Y2nDsyBoYSBmYWxsYXQ6ICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NDAKK21zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiaSBoYSBmZXQgY2FudmlzIGEgbCfDrW5kZXggbyBsJ2FyYnJlIGRlIHRyZWJhbGwiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY0MgorbXNnaWQgIiIKKyJZb3UgY2FuIGZpeCB0aGUgcHJvYmxlbSwgYW5kIHRoZW4gcnVuXG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCittc2dzdHIgIiIKKyJQb2RldSBhcnJlZ2xhciBlbCBwcm9ibGVtYSwgaSBsbGF2b3JzIGV4ZWN1dGV1XG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCisKKyMuIFRSQU5TTEFUT1JTOiBhZnRlciB0aGVzZSBsaW5lcyBpcyBhIGNvbW1hbmQgdG8gYmUgaXNzdWVkIGJ5IHRoZSB1c2VyCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NTUKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJFeGVjdXRpb24gc3VjY2VlZGVkOiAkcmVzdFxuIgorImJ1dCBsZWZ0IGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlXG4iCisiQ29tbWl0IG9yIHN0YXNoIHlvdXIgY2hhbmdlcywgYW5kIHRoZW4gcnVuXG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCittc2dzdHIgIiIKKyJMJ2V4ZWN1Y2nDsyBoYSB0aW5ndXQgw6h4aXQ6ICRyZXN0XG4iCisicGVyw7IgaGEgZGVpeGF0IGNhbnZpcyBhIGwnw61uZGV4IG8gbCdhcmJyZSBkZSB0cmViYWxsXG4iCisiQ29tZXRldSBvIGVtbWFnYXR6ZW1ldSBlbHMgdm9zdHJlcyBjYW52aXMsIGkgbGxhdm9ycyBleGVjdXRldVxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NjYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCittc2dzdHIgIk9yZHJlIGRlc2NvbmVndWRhOiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjY3Cittc2dpZCAiUGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCittc2dzdHIgIlNpIHVzIHBsYXUsIGFycmVnbGV1IGFpeMOyIHVzYW50ICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjcwMgorIywgc2gtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgJGhlYWRfbmFtZS4iCittc2dzdHIgIlMnaGEgcmViYXNhdCBpIGFjdHVhbGl0emF0ICRoZWFkX25hbWUgYW1iIMOoeGl0LiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NzQ5Cittc2dpZCAiQ291bGQgbm90IHNraXAgdW5uZWNlc3NhcnkgcGljayBjb21tYW5kcyIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBzYWx0YXIgb3JkcmVzIGlubmVjZXNzYXJpcyBkJ2VsZWNjacOzIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo5MDcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiB0aGUgU0hBLTEgaXMgbWlzc2luZyBvciBpc24ndCBhIGNvbW1pdCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCisiIC0gJGxpbmUiCittc2dzdHIgIiIKKyJBZHZlcnTDqG5jaWE6IG1hbmNhIGVsIFNIQS0xIG8gbm8gw6lzIHVuYSBjb21pc3Npw7MgZW4gbGEgbMOtbmlhIHNlZ8O8ZW50OlxuIgorIiAtICRsaW5lIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo5NDAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiB0aGUgY29tbWFuZCBpc24ndCByZWNvZ25pemVkIGluIHRoZSBmb2xsb3dpbmcgbGluZTpcbiIKKyIgLSAkbGluZSIKK21zZ3N0ciAiIgorIkFkdmVydMOobmNpYTogbm8gZXMgcmVjb25laXggbCdvcmRyZSBlbiBsYSBsw61uaWEgc2Vnw7xlbnQ6XG4iCisiIC0gJGxpbmUiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjk3OQorbXNnaWQgImNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBzZXBhcmFyIEhFQUQiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMTcKK21zZ2lkICIiCisiV2FybmluZzogc29tZSBjb21taXRzIG1heSBoYXZlIGJlZW4gZHJvcHBlZCBhY2NpZGVudGFsbHkuXG4iCisiRHJvcHBlZCBjb21taXRzIChuZXdlciB0byBvbGRlcik6IgorbXNnc3RyICIiCisiQWR2ZXJ0w6huY2lhOiBwb3Qgc2VyIHF1ZSBhbGd1bmVzIGNvbWlzc2lvbnMgcydoYWdpbiBkZXNjYXJ0YXQgIgorImFjY2lkZW50YWxtZW50LlxuIgorIkxlcyBjb21pc3Npb25zIGRlc2NhcnRhZGVzIChtw6lzIG5vdmEgYSBtw6lzIHZlbGxhKToiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMjUKK21zZ2lkICIiCisiVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCisiXG4iCisiVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mICIKKyJ3YXJuaW5ncy5cbiIKKyJUaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuIgorbXNnc3RyICIiCisiUGVyIGEgZXZpdGFyIGFxdWVzdCBtaXNzYXRnZSwgdXNldSBcImRyb3BcIiBwZXIgYSBlbGltaW5hciBleHBsw61jaXRhbWVudCB1bmEgIgorImNvbWlzc2nDsy5cbiIKKyJcbiIKKyJVc2V1ICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyBwZXIgYSBjYW52aWFyIGVsIG5pdmVsbCAiCisiZCdhZHZlcnTDqG5jaWVzLlxuIgorIkVscyBjb21wb3J0YW1lbnRzIHBvc3NpYmxlcyBzw7NuOiBpZ25vcmUsIHdhcm4sIGVycm9yLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTAzNgorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIlVucmVjb2duaXplZCBzZXR0aW5nICRjaGVja19sZXZlbCBmb3Igb3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiAiCisiSWdub3JpbmcuIgorbXNnc3RyICIiCisiTm8gcydoYSByZWNvbmVndXQgbCdhanVzdCAkY2hlY2tfbGV2ZWwgcGVyIGEgbCdvcGNpw7MgcmViYXNlLiIKKyJtaXNzaW5nQ29tbWl0c0NoZWNrLiBTJ2VzdMOgIGlnbm9yYW50LiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA1MworbXNnaWQgIiIKKyJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLSIKKyJjb250aW51ZScuIgorbXNnc3RyICIiCisiUG9kZXUgYXJyZWdsYXIgYWl4w7IgYW1iICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyBpIGRlc3Byw6hzICdnaXQgcmViYXNlIC0tIgorImNvbnRpbnVlJy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNTQKK21zZ2lkICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCittc2dzdHIgIk8gcG9kZXUgYXZvcnRhciBlbCByZWJhc2FtZW50IGFtYiAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNzgKK21zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZWxpbWluYXIgQ0hFUlJZX1BJQ0tfSEVBRCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA4MworIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLlxuIgorIklmIHRoZXNlIGNoYW5nZXMgYXJlIG1lYW50IHRvIGJlXG4iCisic3F1YXNoZWQgaW50byB0aGUgcHJldmlvdXMgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJJZiB0aGV5IGFyZSBtZWFudCB0byBnbyBpbnRvIGEgbmV3IGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIkluIGJvdGggY2FzZXMsIG9uY2UgeW91J3JlIGRvbmUsIGNvbnRpbnVlIHdpdGg6XG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKK21zZ3N0ciAiIgorIlRlbml1IGNhbnZpcyBlbW1hZ2F0emVtYXRzIGVuIGVsIHZvc3RyZSBhcmJyZSBkZSB0cmViYWxsLlxuIgorIlNpIGFxdWVzdHMgY2FudmlzIHPDs24gcGVyIGEgYWl4YWZhci1zZVxuIgorImEgbGEgY29taXNzacOzIHByw6h2aWEsIGV4ZWN1dGV1OlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiU2kgc8OzbiBwZXIgYSBmb3JtYXIgdW5hIGNvbWlzc2nDsyBub3ZhLCBleGVjdXRldTpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJFbiBhbWJkw7NzIGNhc3NvcywgcXVhbiBow6BnaXUgdGVybWluYXQsIGNvbnRpbnVldSBhbWI6XG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwMAorbXNnaWQgIkVycm9yIHRyeWluZyB0byBmaW5kIHRoZSBhdXRob3IgaWRlbnRpdHkgdG8gYW1lbmQgY29tbWl0IgorbXNnc3RyICIiCisiSGEgaGFndXQgdW4gZXJyb3IgZW4gaW50ZW50YXIgdHJvYmFyIGxhIGlkZW50aXRhdCBkJ2F1dG9yIHBlciBhIGVzbWVuYXIgbGEgIgorImNvbWlzc2nDsyIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwNQorbXNnaWQgIiIKKyJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UgY29tbWl0IHRoZW1cbiIKKyJmaXJzdCBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScgYWdhaW4uIgorbXNnc3RyICIiCisiVGVuaXUgY2FudmlzIG5vIGNvbWVzc29zIGVuIGVsIHZvc3RyZSBhcmJyZSBkZSB0cmViYWxsLiBTaSB1cyBwbGF1LFxuIgorInByaW1lciBjb21ldGV1LWxvcyBpIGRlc3Byw6lzIGV4ZWN1dGV1ICdnaXQgcmViYXNlIC0tY29udGludWUnIGRlIG5vdS4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTAgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExNAorbXNnaWQgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGNvbWV0cmUgZWxzIGNhbnZpcyBlbW1hZ2F0emVtYXRzLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEzOAorbXNnaWQgIiIKKyJcbiIKKyJZb3UgYXJlIGVkaXRpbmcgdGhlIHRvZG8gZmlsZSBvZiBhbiBvbmdvaW5nIGludGVyYWN0aXZlIHJlYmFzZS5cbiIKKyJUbyBjb250aW51ZSByZWJhc2UgYWZ0ZXIgZWRpdGluZywgcnVuOlxuIgorIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIkVzdGV1IGVkaXRhbnQgZWwgZml0eGVyIGRlIGNvc2VzIGEgZmVyIGQndW4gcmViYXNhbWVudCBpbnRlcmFjdGl1IGVuIG1hcnhhLlxuIgorIlBlciBhIGNvbnRpbnVhciBlbCByZWJhc2FtZW50IGRlc3Byw6lzIGQnZWRpdGFyLCBleGVjdXRldTpcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisiXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNDYgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMwNAorbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBsJ2VkaXRvciIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE1OQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNoZWNrb3V0ICRzd2l0Y2hfdG8iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYWdhZmFyICRzd2l0Y2hfdG8iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjQKK21zZ2lkICJObyBIRUFEPyIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIEhFQUQ/IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAkc3RhdGVfZGlyIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGNyZWFyIGVsICRzdGF0ZV9kaXIgdGVtcG9yYWwiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjcKK21zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBtYXJjYXIgY29tIGEgaW50ZXJhY3RpdSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE3NyBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTgyCittc2dpZCAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgaW5pY2lhciBsZXMgY29taXNzaW9ucyByZWVzY3JpdGVzIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjgyCisjLCBzaC1mb3JtYXQKK21zZ2lkICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kKSIKK21zZ2lkX3BsdXJhbCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZHMpIgorbXNnc3RyWzBdICJSZWJhc2EgJHNob3J0cmV2aXNpb25zIHNvYnJlICRzaG9ydG9udG8gKCR0b2RvY291bnQgb3JkcmUpIgorbXNnc3RyWzFdICJSZWJhc2EgJHNob3J0cmV2aXNpb25zIHNvYnJlICRzaG9ydG9udG8gKCR0b2RvY291bnQgb3JkcmVzKSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI4NworbXNnaWQgIiIKKyJcbiIKKyJIb3dldmVyLCBpZiB5b3UgcmVtb3ZlIGV2ZXJ5dGhpbmcsIHRoZSByZWJhc2Ugd2lsbCBiZSBhYm9ydGVkLlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiTm8gb2JzdGFudCwgc2kgZWxpbWluZXUgdG90LCBzJ2F2b3J0YXLDoCBlbCByZWJhc2FtZW50LlxuIgorIlxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjk0Cittc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCittc2dzdHIgIk5vdGEgcXVlIGxlcyBjb21pc3Npb25zIGJ1aWRlcyBlc3RhbiBjb21lbnRhZGVzIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6ODkgZ2l0LXNoLXNldHVwLnNoOjk0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJ1c2FnZTogJGRhc2hsZXNzICRVU0FHRSIKK21zZ3N0ciAiw7pzOiAkZGFzaGxlc3MgJFVTQUdFIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MTkwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgY2hkaXIgdG8gJGNkdXAsIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICIiCisiTm8gZXMgcG90IGNhbnZpYXIgZGUgZGlyZWN0b3JpIGEgJGNkdXAsIGVsIG5pdmVsbCBzdXBlcmlvciBkZSBsJ2FyYnJlIGRlICIKKyJ0cmViYWxsIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MTk5IGdpdC1zaC1zZXR1cC5zaDoyMDYKKyMsIHNoLWZvcm1hdAorbXNnaWQgImZhdGFsOiAkcHJvZ3JhbV9uYW1lIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgYSB3b3JraW5nIHRyZWUuIgorbXNnc3RyICJmYXRhbDogbm8gZXMgcG90IHVzYXIgJHByb2dyYW1fbmFtZSBzZW5zZSB1biBhcmJyZSBkZSB0cmViYWxsLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyMAorbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICJObyBlcyBwb3QgcmViYXNhcjogVGVuaXUgY2FudmlzIG5vIGFsbGlzdGF0cy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjMKK21zZ2lkICJDYW5ub3QgcmV3cml0ZSBicmFuY2hlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIk5vIGVzIHBvdCByZWVzY3JpdXJlIGJyYW5xdWVzOiBUZW5pdSBjYW52aXMgbm8gYWxsaXN0YXRzLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyNgorbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiTm8gZXMgcG90IGJhaXhhciBhbWIgcmViYXNhbWVudDogVGVuaXUgY2FudmlzIG5vIGFsbGlzdGF0cy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiTm8gZXMgcG90ICRhY3Rpb246IFRlbml1IGNhbnZpcyBubyBhbGxpc3RhdHMuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjQyCittc2dpZCAiQ2Fubm90IHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiTm8gZXMgcG90IHJlYmFzYXI6IEVsIHZvc3RyZSDDrW5kZXggY29udMOpIGNhbnZpcyBzZW5zZSBjb21ldHJlLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0NQorbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIiCisiTm8gZXMgcG90IGJhaXhhciBhbWIgcmViYXNhbWVudDogRWwgdm9zdHJlIMOtbmRleCBjb250w6kgY2FudmlzIHNlbnNlIGNvbWV0cmUuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgJGFjdGlvbjogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiTm8gZXMgcG90ICRhY3Rpb246IEVsIHZvc3RyZSDDrW5kZXggY29udMOpIGNhbnZpcyBzZW5zZSBjb21ldHJlLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI1MgorbXNnaWQgIkFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiQWRkaWNpb25hbG1lbnQsIGVsIHZvc3RyZSDDrW5kZXggY29udMOpIGNhbnZpcyBzZW5zZSBjb21ldHJlLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjM3MgorbXNnaWQgIllvdSBuZWVkIHRvIHJ1biB0aGlzIGNvbW1hbmQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZS4iCittc2dzdHIgIiIKKyJIZXUgZCdleGVjdXRhciBhcXVlc3RhIG9yZHJlIGRlcyBkZWwgbml2ZWxsIHN1cGVyaW9yIGRlIGwnYXJicmUgZGUgdHJlYmFsbC4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzcKK21zZ2lkICJVbmFibGUgdG8gZGV0ZXJtaW5lIGFic29sdXRlIHBhdGggb2YgZ2l0IGRpcmVjdG9yeSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBkZXRlcm1pbmFyIGVsIGNhbcOtIGFic29sdXQgZGVsIGRpcmVjdG9yaSBkZSBnaXQiCmRpZmYgLS1naXQgYS9wby9kZS5wbyBiL3BvL2RlLnBvCmluZGV4IGQ1MGNiMWIuLmYyNWJkOTEgMTAwNjQ0Ci0tLSBhL3BvL2RlLnBvCisrKyBiL3BvL2RlLnBvCkBAIC0xLDE0ICsxLDE0IEBACiAjIEdlcm1hbiB0cmFuc2xhdGlvbnMgZm9yIEdpdC4KLSMgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTUgUmFsZiBUaGllbG93IDxyYWxmLnRoaWVsb3dAZ21haWwuY29tPgorIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNiBSYWxmIFRoaWVsb3cgPHJhbGYudGhpZWxvd0BnbWFpbC5jb20+CiAjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBHaXQgcGFja2FnZS4KLSMgUmFsZiBUaGllbG93IDxyYWxmLnRoaWVsb3dAZ21haWwuY29tPiwgMjAxMC0yMDE1LgorIyBSYWxmIFRoaWVsb3cgPHJhbGYudGhpZWxvd0BnbWFpbC5jb20+LCAyMDEwLTIwMTYuCiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBHaXRcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNi0wNS0yNCAyMzo0MiswODAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxNS0wMS0yMSAxNTowMSswODAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTYtMTEtMjUgMjI6NTArMDgwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMTEtMjggMTg6MTArMDEwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogUmFsZiBUaGllbG93IDxyYWxmLnRoaWVsb3dAZ21haWwuY29tPlxuIgogIkxhbmd1YWdlLVRlYW06IEdlcm1hbiA8PlxuIgogIkxhbmd1YWdlOiBkZVxuIgpAQCAtMjIsNyArMjIsMzggQEAKIG1zZ2lkICJoaW50OiAlLipzXG4iCiBtc2dzdHIgIkhpbndlaXM6ICUuKnNcbiIKIAotIzogYWR2aWNlLmM6ODgKKyM6IGFkdmljZS5jOjgzCittc2dpZCAiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIiCisiQ2hlcnJ5LVBpY2tlbiBpc3QgbmljaHQgbcO2Z2xpY2gsIHdlaWwgU2llIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gIgorImhhYmVuLiIKKworIzogYWR2aWNlLmM6ODUKK21zZ2lkICJDb21taXR0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAiIgorIkNvbW1pdHRlbiBpc3QgbmljaHQgbcO2Z2xpY2gsIHdlaWwgU2llIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gaGFiZW4uIgorCisjOiBhZHZpY2UuYzo4NworbXNnaWQgIk1lcmdpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIiCisiTWVyZ2VuIGlzdCBuaWNodCBtw7ZnbGljaCwgd2VpbCBTaWUgbmljaHQgenVzYW1tZW5nZWbDvGhydGUgRGF0ZWllbiBoYWJlbi4iCisKKyM6IGFkdmljZS5jOjg5Cittc2dpZCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIiIKKyJQdWxsZW4gaXN0IG5pY2h0IG3DtmdsaWNoLCB3ZWlsIFNpZSBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBEYXRlaWVuIGhhYmVuLiIKKworIzogYWR2aWNlLmM6OTEKK21zZ2lkICJSZXZlcnRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIiCisiUmV2ZXJ0ZW4gaXN0IG5pY2h0IG3DtmdsaWNoLCB3ZWlsIFNpZSBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBEYXRlaWVuIGhhYmVuLiIKKworIzogYWR2aWNlLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSXQgaXMgbm90IHBvc3NpYmxlIHRvICVzIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIlcyBpc3QgbmljaHQgbcO2Z2xpY2gsIHdlaWwgU2llIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gaGFiZW4uIgorCisjOiBhZHZpY2UuYzoxMDEKIG1zZ2lkICIiCiAiRml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSwgYW5kIHRoZW4gdXNlICdnaXQgYWRkL3JtIDxmaWxlPidcbiIKICJhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24gYW5kIG1ha2UgYSBjb21taXQuIgpAQCAtMzEsMTggKzYyLDY5MCBAQAogImRhbm4gJ2dpdCBhZGQvcm0gPERhdGVpPicsIHVtIGRpZSBBdWZsw7ZzdW5nIGVudHNwcmVjaGVuZCB6dSBtYXJraWVyZW5cbiIKICJ1bmQgenUgY29tbWl0dGVuLiIKIAotIzogYWR2aWNlLmM6MTAxIGJ1aWx0aW4vbWVyZ2UuYzoxMjM4CisjOiBhZHZpY2UuYzoxMDkKK21zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCittc2dzdHIgIkJlZW5kZSB3ZWdlbiB1bmF1ZmdlbMO2c3RlbSBLb25mbGlrdC4iCisKKyM6IGFkdmljZS5jOjExNCBidWlsdGluL21lcmdlLmM6MTE4MQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiU2llIGhhYmVuIElocmVuIE1lcmdlIG5pY2h0IGFiZ2VzY2hsb3NzZW4gKE1FUkdFX0hFQUQgZXhpc3RpZXJ0KS4iCiAKLSM6IGFkdmljZS5jOjEwMworIzogYWR2aWNlLmM6MTE2CiBtc2dpZCAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSBtZXJnaW5nLiIKIG1zZ3N0ciAiQml0dGUgY29tbWl0dGVuIFNpZSBJaHJlIMOEbmRlcnVuZ2VuLCBiZXZvciBTaWUgbWVyZ2VuLiIKIAotIzogYWR2aWNlLmM6MTA0CisjOiBhZHZpY2UuYzoxMTcKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgdW5maW5pc2hlZCBtZXJnZS4iCiBtc2dzdHIgIkJlZW5kZSB3ZWdlbiBuaWNodCBhYmdlc2NobG9zc2VuZW0gTWVyZ2UuIgogCisjOiBhZHZpY2UuYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdGU6IGNoZWNraW5nIG91dCAnJXMnLlxuIgorIlxuIgorIllvdSBhcmUgaW4gJ2RldGFjaGVkIEhFQUQnIHN0YXRlLiBZb3UgY2FuIGxvb2sgYXJvdW5kLCBtYWtlIGV4cGVyaW1lbnRhbFxuIgorImNoYW5nZXMgYW5kIGNvbW1pdCB0aGVtLCBhbmQgeW91IGNhbiBkaXNjYXJkIGFueSBjb21taXRzIHlvdSBtYWtlIGluIHRoaXNcbiIKKyJzdGF0ZSB3aXRob3V0IGltcGFjdGluZyBhbnkgYnJhbmNoZXMgYnkgcGVyZm9ybWluZyBhbm90aGVyIGNoZWNrb3V0LlxuIgorIlxuIgorIklmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggdG8gcmV0YWluIGNvbW1pdHMgeW91IGNyZWF0ZSwgeW91IG1heVxuIgorImRvIHNvIChub3cgb3IgbGF0ZXIpIGJ5IHVzaW5nIC1iIHdpdGggdGhlIGNoZWNrb3V0IGNvbW1hbmQgYWdhaW4uIEV4YW1wbGU6XG4iCisiXG4iCisiICBnaXQgY2hlY2tvdXQgLWIgPG5ldy1icmFuY2gtbmFtZT5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIkhpbndlaXM6IENoZWNrZSAnJXMnIGF1cy5cbiIKKyJcbiIKKyJTaWUgYmVmaW5kZW4gc2ljaCBpbSBadXN0YW5kIGVpbmVzICdsw7ZzZ2Vsw7ZzdGVuIEhFQUQnLiBTaWUga8O2bm5lbiBzaWNoXG4iCisidW1zY2hhdWVuLCBleHBlcmltZW50ZWxsZSDDhG5kZXJ1bmdlbiB2b3JuZWhtZW4gdW5kIGRpZXNlIGNvbW1pdHRlbiwgdW5kXG4iCisiU2llIGvDtm5uZW4gYWxsZSBtw7ZnbGljaGVuIENvbW1pdHMsIGRpZSBTaWUgaW4gZGllc2VtIFp1c3RhbmQgbWFjaGVuLFxuIgorIm9obmUgQXVzd2lya3VuZ2VuIGF1ZiBpcmdlbmRlaW5lbiBCcmFuY2ggdmVyd2VyZmVuLCBpbmRlbSBTaWUgZWluZW5cbiIKKyJ3ZWl0ZXJlbiBDaGVja291dCBkdXJjaGbDvGhyZW4uXG4iCisiXG4iCisiV2VubiBTaWUgZWluZW4gbmV1ZW4gQnJhbmNoIGVyc3RlbGxlbiBtw7ZjaHRlbiwgdW0gSWhyZSBlcnN0ZWxsdGVuIENvbW1pdHNcbiIKKyJ6dSBiZWhhbHRlbiwga8O2bm5lbiBTaWUgZGFzIChqZXR6dCBvZGVyIHNww6R0ZXIpIGR1cmNoIGVpbmVuIHdlaXRlcmVuICIKKyJDaGVja291dFxuIgorIm1pdCBkZXIgT3B0aW9uIC1iIHR1bi4gQmVpc3BpZWw6XG4iCisiXG4iCisiICBnaXQgY2hlY2tvdXQgLWIgPG5ldWVyLUJyYW5jaG5hbWU+XG4iCisiXG4iCisKKyM6IGFwcGx5LmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCittc2dzdHIgIm5pY2h0IGVya2FubnRlIFdoaXRlc3BhY2UtT3B0aW9uOiAnJXMnIgorCisjOiBhcHBseS5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIGlnbm9yZSBvcHRpb24gJyVzJyIKK21zZ3N0ciAibmljaHQgZXJrYW5udGUgT3B0aW9uIHp1bSBJZ25vcmllcmVuIHZvbiBXaGl0ZXNwYWNlOiAnJXMnIgorCisjOiBhcHBseS5jOjEyNQorbXNnaWQgIi0tcmVqZWN0IGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICItLXJlamVjdCB1bmQgLS0zd2F5IGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCB3ZXJkZW4uIgorCisjOiBhcHBseS5jOjEyNworbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICItLWNhY2hlZCB1bmQgLS0zd2F5IGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCB3ZXJkZW4uIgorCisjOiBhcHBseS5jOjEzMAorbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKK21zZ3N0ciAiIgorIkRpZSBPcHRpb24gLS0zd2F5IGthbm4gbmljaHQgYXXDn2VyaGFsYiBlaW5lcyBSZXBvc2l0b3JpZXMgdmVyd2VuZGV0IHdlcmRlbi4iCisKKyM6IGFwcGx5LmM6MTQxCittc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKK21zZ3N0ciAiIgorIkRpZSBPcHRpb24gLS1pbmRleCBrYW5uIG5pY2h0IGF1w59lcmhhbGIgZWluZXMgUmVwb3NpdG9yaWVzIHZlcndlbmRldCB3ZXJkZW4uIgorCisjOiBhcHBseS5jOjE0NAorbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICIiCisiRGllIE9wdGlvbiAtLWNhY2hlZCBrYW5uIG5pY2h0IGF1w59lcmhhbGIgZWluZXMgUmVwb3NpdG9yaWVzIHZlcndlbmRldCB3ZXJkZW4uIgorCisjOiBhcHBseS5jOjg0NQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgorbXNnc3RyICJLYW5uIHJlZ3Vsw6RyZW4gQXVzZHJ1Y2sgZsO8ciBaZWl0c3RlbXBlbCAlcyBuaWNodCB2ZXJhcmJlaXRlbiIKKworIzogYXBwbHkuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgorbXNnc3RyICJBdXNmw7xocnVuZyBkZXMgcmVndWzDpHJlbiBBdXNkcnVja3MgZ2FiICVkIHp1csO8Y2suIEVpbmdhYmU6ICVzIgorCisjOiBhcHBseS5jOjkzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmluZCBmaWxlbmFtZSBpbiBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICJLb25udGUga2VpbmVuIERhdGVpbmFtZW4gaW4gWmVpbGUgJWQgZGVzIFBhdGNoZXMgZmluZGVuLiIKKworIzogYXBwbHkuYzo5NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgorbXNnc3RyICIiCisiZ2l0IGFwcGx5OiB1bmfDvGx0aWdlcyAnZ2l0LWRpZmYnIC0gZXJ3YXJ0ZXRlIC9kZXYvbnVsbCwgZXJoaWVsdCAlcyBpbiBaZWlsZSAiCisiJWQiCisKKyM6IGFwcGx5LmM6OTgzCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgorbXNnc3RyICIiCisiZ2l0IGFwcGx5OiB1bmfDvGx0aWdlcyAnZ2l0LWRpZmYnIC0gSW5rb25zaXN0ZW50ZXIgbmV1ZXIgRGF0ZWluYW1lIGluIFplaWxlICVkIgorCisjOiBhcHBseS5jOjk4NAorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBvbGQgZmlsZW5hbWUgb24gbGluZSAlZCIKK21zZ3N0ciAiIgorImdpdCBhcHBseTogdW5nw7xsdGlnZXMgJ2dpdC1kaWZmJyAtIElua29uc2lzdGVudGVyIGFsdGVyIERhdGVpbmFtZSBpbiBaZWlsZSAlZCIKKworIzogYXBwbHkuYzo5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwgb24gbGluZSAlZCIKK21zZ3N0ciAiZ2l0IGFwcGx5OiB1bmfDvGx0aWdlcyAnZ2l0LWRpZmYnIC0gZXJ3YXJ0ZXRlIC9kZXYvbnVsbCBpbiBaZWlsZSAlZCIKKworIzogYXBwbHkuYzoxNDg4CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKK21zZ3N0ciAicmVjb3VudDogdW5lcndhcnRldGUgWmVpbGU6ICUuKnMiCisKKyM6IGFwcGx5LmM6MTU1NworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgorbXNnc3RyICJQYXRjaC1GcmFnbWVudCBvaG5lIEtvcGZiZXJlaWNoIGJlaSBaZWlsZSAlZDogJS4qcyIKKworIzogYXBwbHkuYzoxNTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKKyJjb21wb25lbnQgKGxpbmUgJWQpIgorbXNnaWRfcGx1cmFsICIiCisiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCisiY29tcG9uZW50cyAobGluZSAlZCkiCittc2dzdHJbMF0gIiIKKyJEZW0gS29wZmJlcmVpY2ggdm9uIFwiZ2l0IGRpZmZcIiBmZWhsZW4gSW5mb3JtYXRpb25lbiB6dW0gRGF0ZWluYW1lbiwgd2VubiAiCisiJWQgdm9yYW5nZXN0ZWxsdGVyIFRlaWwgZGVzIFBmYWRlcyBlbnRmZXJudCB3aXJkIChaZWlsZSAlZCkiCittc2dzdHJbMV0gIiIKKyJEZW0gS29wZmJlcmVpY2ggdm9uIFwiZ2l0IGRpZmZcIiBmZWhsZW4gSW5mb3JtYXRpb25lbiB6dW0gRGF0ZWluYW1lbiwgd2VubiAiCisiJWQgdm9yYW5nZXN0ZWxsdGUgVGVpbGUgZGVzIFBmYWRlcyBlbnRmZXJudCB3ZXJkZW4gKFplaWxlICVkKSIKKworIzogYXBwbHkuYzoxNTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCittc2dzdHIgIkRlbSBLb3BmYmVyZWljaCB2b24gXCJnaXQgZGlmZlwiIGZlaGxlbiBJbmZvcm1hdGlvbmVuIHp1bSBEYXRlaW5hbWVuIChaZWlsZSAlZCkiCisKKyM6IGFwcGx5LmM6MTc1OQorbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgorbXNnc3RyICJuZXVlIERhdGVpIGjDpG5ndCB2b24gYWx0ZW4gSW5oYWx0ZW4gYWIiCisKKyM6IGFwcGx5LmM6MTc2MQorbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgImVudGZlcm50ZSBEYXRlaSBoYXQgbm9jaCBJbmhhbHRlIgorCisjOiBhcHBseS5jOjE3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICJmZWhsZXJoYWZ0ZXIgUGF0Y2ggYmVpIFplaWxlICVkIgorCisjOiBhcHBseS5jOjE4MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCittc2dzdHIgIm5ldWUgRGF0ZWkgJXMgaMOkbmd0IHZvbiBhbHRlbiBJbmhhbHRlbiBhYiIKKworIzogYXBwbHkuYzoxODM0CisjLCBjLWZvcm1hdAorbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgImVudGZlcm50ZSBEYXRlaSAlcyBoYXQgbm9jaCBJbmhhbHRlIgorCisjOiBhcHBseS5jOjE4MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiKiogd2FybmluZzogZmlsZSAlcyBiZWNvbWVzIGVtcHR5IGJ1dCBpcyBub3QgZGVsZXRlZCIKK21zZ3N0ciAiKiogV2FybnVuZzogRGF0ZWkgJXMgd2lyZCBsZWVyLCBhYmVyIG5pY2h0IGVudGZlcm50LiIKKworIzogYXBwbHkuYzoxOTg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgImZlaGxlcmhhZnRlciBCaW7DpHItUGF0Y2ggYmVpIFplaWxlICVkOiAlLipzIgorCisjOiBhcHBseS5jOjIwMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICJuaWNodCBlcmthbm50ZXIgQmluw6RyLVBhdGNoIGJlaSBaZWlsZSAlZCIKKworIzogYXBwbHkuYzoyMTgyCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCittc2dzdHIgIlBhdGNoIG1pdCBudXR6bG9zZW4gSW5mb3JtYXRpb25lbiBiZWkgWmVpbGUgJWQiCisKKyM6IGFwcGx5LmM6MjI3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzeW1saW5rICVzIgorbXNnc3RyICJrb25udGUgc3ltYm9saXNjaGUgVmVya27DvHBmdW5nICVzIG5pY2h0IGxlc2VuIgorCisjOiBhcHBseS5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKK21zZ3N0ciAia29ubnRlICVzIG5pY2h0IMO2ZmZuZW4gb2RlciBsZXNlbiIKKworIzogYXBwbHkuYzoyOTMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKK21zZ3N0ciAiVW5nw7xsdGlnZXIgWmVpbGVuYW5mYW5nOiAnJWMnIgorCisjOiBhcHBseS5jOjMwNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgorbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgorbXNnc3RyWzBdICJQYXRjaC1CZXJlaWNoICMlZCBlcmZvbGdyZWljaCBhbmdld2VuZGV0IGJlaSAlZCAoJWQgWmVpbGUgdmVyc2V0enQpIgorbXNnc3RyWzFdICIiCisiUGF0Y2gtQmVyZWljaCAjJWQgZXJmb2xncmVpY2ggYW5nZXdlbmRldCBiZWkgJWQgKCVkIFplaWxlbiB2ZXJzZXR6dCkiCisKKyM6IGFwcGx5LmM6MzA2MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgorbXNnc3RyICJLb250ZXh0IHJlZHV6aWVydCB6dSAoJWxkLyVsZCksIHVtIFBhdGNoLUJlcmVpY2ggYmVpICVkIGFuenV3ZW5kZW4iCisKKyM6IGFwcGx5LmM6MzA2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisid2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKKyIlLipzIgorbXNnc3RyICIiCisiYmVpIGRlciBTdWNoZSBuYWNoOlxuIgorIiUuKnMiCisKKyM6IGFwcGx5LmM6MzA5MAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIGJpbmFyeSBwYXRjaCBkYXRhIGZvciAnJXMnIgorbXNnc3RyICJrZWluZSBEYXRlbiBpbiBCaW7DpHItUGF0Y2ggZsO8ciAnJXMnIgorCisjOiBhcHBseS5jOjMwOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJldmVyc2UtYXBwbHkgYSBiaW5hcnkgcGF0Y2ggd2l0aG91dCB0aGUgcmV2ZXJzZSBodW5rIHRvICclcyciCittc2dzdHIgIiIKKyJrYW5uIGJpbsOkcmVuIFBhdGNoIG5pY2h0IGluIHVtZ2VrZWhydGVyIFJlaWhlbmZvbGdlIGFud2VuZGVuIG9obmUgZWluZW5cbiIKKyJ1bWdla2VocnRlbiBQYXRjaC1CbG9jayBhdWYgJyVzJyIKKworIzogYXBwbHkuYzozMTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhcHBseSBiaW5hcnkgcGF0Y2ggdG8gJyVzJyB3aXRob3V0IGZ1bGwgaW5kZXggbGluZSIKK21zZ3N0ciAia2FubiBiaW7DpHJlbiBQYXRjaCBhdWYgJyVzJyBuaWNodCBvaG5lIGVpbmUgdm9sbHN0w6RuZGlnZSBJbmRleC1aZWlsZSBhbndlbmRlbiIKKworIzogYXBwbHkuYzozMTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ0aGUgcGF0Y2ggYXBwbGllcyB0byAnJXMnICglcyksIHdoaWNoIGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50IGNvbnRlbnRzLiIKK21zZ3N0ciAiIgorImRlciBQYXRjaCB3aXJkIGFuZ2V3ZW5kZXQgYXVmICclcycgKCVzKSwgd2FzIG5pY2h0IGRlbiBha3R1ZWxsZW4gSW5oYWx0ZW5cbiIKKyJlbnRzcHJpY2h0IgorCisjOiBhcHBseS5jOjMxNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBhdGNoIGFwcGxpZXMgdG8gYW4gZW1wdHkgJyVzJyBidXQgaXQgaXMgbm90IGVtcHR5IgorbXNnc3RyICJkZXIgUGF0Y2ggd2lyZCBhdWYgZWluIGxlZXJlcyAnJXMnIGFuZ2V3ZW5kZXQsIHdhcyBhYmVyIG5pY2h0IGxlZXIgaXN0IgorCisjOiBhcHBseS5jOjMxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG5lY2Vzc2FyeSBwb3N0aW1hZ2UgJXMgZm9yICclcycgY2Fubm90IGJlIHJlYWQiCittc2dzdHIgImRhcyBlcmZvcmRlcmxpY2hlIFBvc3RpbWFnZSAlcyBmw7xyICclcycga2FubiBuaWNodCBnZWxlc2VuIHdlcmRlbiIKKworIzogYXBwbHkuYzozMTkzCisjLCBjLWZvcm1hdAorbXNnaWQgImJpbmFyeSBwYXRjaCBkb2VzIG5vdCBhcHBseSB0byAnJXMnIgorbXNnc3RyICJLb25udGUgQmluw6RyLVBhdGNoIG5pY2h0IGF1ZiAnJXMnIGFud2VuZGVuIgorCisjOiBhcHBseS5jOjMxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmluYXJ5IHBhdGNoIHRvICclcycgY3JlYXRlcyBpbmNvcnJlY3QgcmVzdWx0IChleHBlY3RpbmcgJXMsIGdvdCAlcykiCittc2dzdHIgIiIKKyJCaW7DpHItUGF0Y2ggZsO8ciAnJXMnIGVyemV1Z3QgZmFsc2NoZXMgRXJnZWJuaXMgKGVyd2FydGV0ZSAlcywgYmVrYW0gJXMpIgorCisjOiBhcHBseS5jOjMyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggZmFpbGVkOiAlczolbGQiCittc2dzdHIgIkFud2VuZHVuZyBkZXMgUGF0Y2hlcyBmZWhsZ2VzY2hsYWdlbjogJXM6JWxkIgorCisjOiBhcHBseS5jOjMzNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrb3V0ICVzIgorbXNnc3RyICJrYW5uICVzIG5pY2h0IGF1c2NoZWNrZW4iCisKKyM6IGFwcGx5LmM6MzM5MCBhcHBseS5jOjM0MDEgYXBwbHkuYzozNDQ3IHNldHVwLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICVzIgorbXNnc3RyICJGZWhsZXIgYmVpbSBMZXNlbiB2b24gJXMiCisKKyM6IGFwcGx5LmM6MzM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICInJXMnIGlzdCBoaW50ZXIgZWluZXIgc3ltYm9saXNjaGVuIFZlcmtuw7xwZnVuZyIKKworIzogYXBwbHkuYzozNDI3IGFwcGx5LmM6MzY2NworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKK21zZ3N0ciAiUGZhZCAlcyB3dXJkZSB1bWJlbmFubnQvZ2Vsw7ZzY2h0IgorCisjOiBhcHBseS5jOjM1MTAgYXBwbHkuYzozNjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKK21zZ3N0ciAiJXMgaXN0IG5pY2h0IGltIEluZGV4IgorCisjOiBhcHBseS5jOjM1MTkgYXBwbHkuYzozNjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKK21zZ3N0ciAiJXMgZW50c3ByaWNodCBuaWNodCBkZXIgVmVyc2lvbiBpbSBJbmRleCIKKworIzogYXBwbHkuYzozNTU0Cittc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKK21zZ3N0ciAiIgorIkRlbSBSZXBvc2l0b3J5IGZlaGx0IGRlciBub3R3ZW5kaWdlIEJsb2IsIHVtIGF1ZiBlaW5lbiAzLVdlZ2UtTWVyZ2VcbiIKKyJ6dXLDvGNrenVmYWxsZW4uIgorCisjOiBhcHBseS5jOjM1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFsbGluZyBiYWNrIHRvIHRocmVlLXdheSBtZXJnZS4uLlxuIgorbXNnc3RyICJGYWxsZSB6dXLDvGNrIGF1ZiAzLVdlZ2UtTWVyZ2UgLi4uXG4iCisKKyM6IGFwcGx5LmM6MzU3MyBhcHBseS5jOjM1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKK21zZ3N0ciAia2FubiBha3R1ZWxsZSBJbmhhbHRlIHZvbiAnJXMnIG5pY2h0IGxlc2VuIgorCisjOiBhcHBseS5jOjM1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGZhbGwgYmFjayBvbiB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKK21zZ3N0ciAiRmVobGVyIGJlaW0gWnVyw7xja2ZhbGxlbiBhdWYgMy1XZWdlLU1lcmdlLi4uXG4iCisKKyM6IGFwcGx5LmM6MzYwMworIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgd2l0aCBjb25mbGljdHMuXG4iCittc2dzdHIgIlBhdGNoIGF1ZiAnJXMnIG1pdCBLb25mbGlrdGVuIGFuZ2V3ZW5kZXQuXG4iCisKKyM6IGFwcGx5LmM6MzYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgY2xlYW5seS5cbiIKK21zZ3N0ciAiUGF0Y2ggYXVmICclcycgc2F1YmVyIGFuZ2V3ZW5kZXQuXG4iCisKKyM6IGFwcGx5LmM6MzYzNAorbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCittc2dzdHIgIkzDtnNjaC1QYXRjaCBoaW50ZXJsw6Rzc3QgRGF0ZWlpbmhhbHRlIgorCisjOiBhcHBseS5jOjM3MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyb25nIHR5cGUiCittc2dzdHIgIiVzOiBmYWxzY2hlciBUeXAiCisKKyM6IGFwcGx5LmM6MzcwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCittc2dzdHIgIiVzIGlzdCB2b20gVHlwICVvLCBlcndhcnRldGUgJW8iCisKKyM6IGFwcGx5LmM6Mzg1OSBhcHBseS5jOjM4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBwYXRoICclcyciCittc2dzdHIgIlVuZ8O8bHRpZ2VyIFBmYWQgJyVzJyIKKworIzogYXBwbHkuYzozOTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKK21zZ3N0ciAiJXMgaXN0IGJlcmVpdHMgYmVyZWl0Z2VzdGVsbHQiCisKKyM6IGFwcGx5LmM6MzkyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiVzIGV4aXN0aWVydCBiZXJlaXRzIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyIKKworIzogYXBwbHkuYzozOTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKK21zZ3N0ciAibmV1ZXIgTW9kdXMgKCVvKSB2b24gJXMgZW50c3ByaWNodCBuaWNodCBkZW0gYWx0ZW4gTW9kdXMgKCVvKSIKKworIzogYXBwbHkuYzozOTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKK21zZ3N0ciAibmV1ZXIgTW9kdXMgKCVvKSB2b24gJXMgZW50c3ByaWNodCBuaWNodCBkZW0gYWx0ZW4gTW9kdXMgKCVvKSB2b24gJXMiCisKKyM6IGFwcGx5LmM6Mzk2NQorIywgYy1mb3JtYXQKK21zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiYmV0cm9mZmVuZSBEYXRlaSAnJXMnIGlzdCBoaW50ZXIgZWluZXIgc3ltYm9saXNjaGVuIFZlcmtuw7xwZnVuZyIKKworIzogYXBwbHkuYzozOTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXRjaCBkb2VzIG5vdCBhcHBseSIKK21zZ3N0ciAiJXM6IFBhdGNoIGtvbm50ZSBuaWNodCBhbmdld2VuZGV0IHdlcmRlbiIKKworIzogYXBwbHkuYzozOTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgorbXNnc3RyICJQcsO8ZmUgUGF0Y2ggJXMgLi4uIgorCisjOiBhcHBseS5jOjQwNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgZm9yIHN1Ym1vZHVsZSAlcyIKK21zZ3N0ciAiU0hBLTEgSW5mb3JtYXRpb24gZmVobHQgb2RlciBpc3QgdW5icmF1Y2hiYXIgZsO8ciBTdWJtb2R1bCAlcyIKKworIzogYXBwbHkuYzo0MDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGUgY2hhbmdlIGZvciAlcywgd2hpY2ggaXMgbm90IGluIGN1cnJlbnQgSEVBRCIKK21zZ3N0ciAiTW9kdXPDpG5kZXJ1bmcgZsO8ciAlcywgd2FzIHNpY2ggbmljaHQgaW0gYWt0dWVsbGVuIEhFQUQgYmVmaW5kZXQiCisKKyM6IGFwcGx5LmM6NDA4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyAoJXMpLiIKK21zZ3N0ciAiU0hBLTEgSW5mb3JtYXRpb24gZmVobHQgb2RlciBpc3QgdW5icmF1Y2hiYXIgKCVzKS4iCisKKyM6IGFwcGx5LmM6NDA5MCBidWlsdGluL2NoZWNrb3V0LmM6MjMzIGJ1aWx0aW4vcmVzZXQuYzoxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKK21zZ3N0ciAibWFrZV9jYWNoZV9lbnRyeSBmw7xyIFBmYWQgJyVzJyBmZWhsZ2VzY2hsYWdlbiIKKworIzogYXBwbHkuYzo0MDk0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgorbXNnc3RyICJrb25udGUgJXMgbmljaHQgenVtIHRlbXBvcsOkcmVuIEluZGV4IGhpbnp1ZsO8Z2VuIgorCisjOiBhcHBseS5jOjQxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlIHRlbXBvcmFyeSBpbmRleCB0byAlcyIKK21zZ3N0ciAia29ubnRlIHRlbXBvcsOkcmVuIEluZGV4IG5pY2h0IG5hY2ggJXMgc2NocmVpYmVuIgorCisjOiBhcHBseS5jOjQyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgorbXNnc3RyICJrb25udGUgJXMgbmljaHQgYXVzIGRlbSBJbmRleCBlbnRmZXJuZW4iCisKKyM6IGFwcGx5LmM6NDI3NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCittc2dzdHIgImZlaGxlcmhhZnRlciBQYXRjaCBmw7xyIFN1Ym1vZHVsICVzIgorCisjOiBhcHBseS5jOjQyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCittc2dzdHIgImtvbm50ZSBuZXUgZXJzdGVsbHRlIERhdGVpICclcycgbmljaHQgbGVzZW4iCisKKyM6IGFwcGx5LmM6NDI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGJhY2tpbmcgc3RvcmUgZm9yIG5ld2x5IGNyZWF0ZWQgZmlsZSAlcyIKK21zZ3N0ciAia2FubiBpbnRlcm5lbiBTcGVpY2hlciBmw7xyIGViZW4gZXJzdGVsbHRlIERhdGVpICVzIG5pY2h0IGVyemV1Z2VuIgorCisjOiBhcHBseS5jOjQyOTcgYXBwbHkuYzo0NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhZGQgY2FjaGUgZW50cnkgZm9yICVzIgorbXNnc3RyICJrYW5uIGbDvHIgJXMga2VpbmVuIEVpbnRyYWcgaW4gZGVuIFp3aXNjaGVuc3BlaWNoZXIgaGluenVmw7xnZW4iCisKKyM6IGFwcGx5LmM6NDMzOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgdG8gJyVzJyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIG5hY2ggJyVzJyIKKworIzogYXBwbHkuYzo0MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgZmlsZSAnJXMnIgorbXNnc3RyICJzY2hsaWXDn2UgRGF0ZWkgJyVzJyIKKworIzogYXBwbHkuYzo0NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKK21zZ3N0ciAia29ubnRlIERhdGVpICclcycgbWl0IE1vZHVzICVvIG5pY2h0IHNjaHJlaWJlbiIKKworIzogYXBwbHkuYzo0NTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggJXMgY2xlYW5seS4iCittc2dzdHIgIlBhdGNoICVzIHNhdWJlciBhbmdld2VuZGV0IgorCisjOiBhcHBseS5jOjQ1MTgKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiaW50ZXJuZXIgRmVobGVyIgorCisjOiBhcHBseS5jOjQ1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIgorbXNnaWRfcGx1cmFsICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3RzLi4uIgorbXNnc3RyWzBdICJXZW5kZSBQYXRjaCAlJXMgbWl0ICVkIFp1csO8Y2t3ZWlzdW5nIGFuLi4uIgorbXNnc3RyWzFdICJXZW5kZSBQYXRjaCAlJXMgbWl0ICVkIFp1csO8Y2t3ZWlzdW5nZW4gYW4uLi4iCisKKyM6IGFwcGx5LmM6NDUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCittc2dzdHIgIlZlcmvDvHJ6ZSBOYW1lIHZvbiAucmVqIERhdGVpIHp1ICUuKnMucmVqIgorCisjOiBhcHBseS5jOjQ1NDAgYnVpbHRpbi9mZXRjaC5jOjc0MCBidWlsdGluL2ZldGNoLmM6OTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJrYW5uICclcycgbmljaHQgw7ZmZm5lbiIKKworIzogYXBwbHkuYzo0NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkh1bmsgIyVkIGFwcGxpZWQgY2xlYW5seS4iCittc2dzdHIgIlBhdGNoLUJlcmVpY2ggIyVkIHNhdWJlciBhbmdld2VuZGV0LiIKKworIzogYXBwbHkuYzo0NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKK21zZ3N0ciAiUGF0Y2gtQmxvY2sgIyVkIHp1csO8Y2tnZXdpZXNlbi4iCisKKyM6IGFwcGx5LmM6NDY2OAorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGVkIHBhdGNoICclcycuIgorbXNnc3RyICJQYXRjaCAnJXMnIGF1c2dlbGFzc2VuLiIKKworIzogYXBwbHkuYzo0Njc2Cittc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgorbXNnc3RyICJuaWNodCBlcmthbm50ZSBFaW5nYWJlIgorCisjOiBhcHBseS5jOjQ2OTUKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgorbXNnc3RyICJLb25udGUgSW5kZXgtRGF0ZWkgbmljaHQgbGVzZW4iCisKKyM6IGFwcGx5LmM6NDgzMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBvcGVuIHBhdGNoICclcyc6ICVzIgorbXNnc3RyICJrYW5uIFBhdGNoICclcycgbmljaHQgw7ZmZm5lbjogJXMiCisKKyM6IGFwcGx5LmM6NDg1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3JzIgorbXNnc3RyWzBdICJ1bnRlcmRyw7xja3RlICVkIFdoaXRlc3BhY2UtRmVobGVyIgorbXNnc3RyWzFdICJ1bnRlcmRyw7xja3RlICVkIFdoaXRlc3BhY2UtRmVobGVyIgorCisjOiBhcHBseS5jOjQ4NjQgYXBwbHkuYzo0ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGxpbmUgYWRkcyB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFkZCB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dzdHJbMF0gIiVkIFplaWxlIGbDvGd0IFdoaXRlc3BhY2UtRmVobGVyIGhpbnp1LiIKK21zZ3N0clsxXSAiJWQgWmVpbGVuIGbDvGdlbiBXaGl0ZXNwYWNlLUZlaGxlciBoaW56dS4iCisKKyM6IGFwcGx5LmM6NDg3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBsaW5lIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnc3RyWzBdICIlZCBaZWlsZSBuYWNoIEJlaGVidW5nIHZvbiBXaGl0ZXNwYWNlLUZlaGxlcm4gYW5nZXdlbmRldC4iCittc2dzdHJbMV0gIiVkIFplaWxlbiBuYWNoIEJlaGVidW5nIHZvbiBXaGl0ZXNwYWNlLUZlaGxlcm4gYW5nZXdlbmRldC4iCisKKyM6IGFwcGx5LmM6NDg4OCBidWlsdGluL2FkZC5jOjQ2MyBidWlsdGluL212LmM6Mjg2IGJ1aWx0aW4vcm0uYzo0MzEKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCittc2dzdHIgIktvbm50ZSBuZXVlIEluZGV4LURhdGVpIG5pY2h0IHNjaHJlaWJlbi4iCisKKyM6IGFwcGx5LmM6NDkxOSBhcHBseS5jOjQ5MjIgYnVpbHRpbi9hbS5jOjIyNzcgYnVpbHRpbi9hbS5jOjIyODAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NSBidWlsdGluL2ZldGNoLmM6OTggYnVpbHRpbi9wdWxsLmM6MTgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjgxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1ODkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ3Cittc2dpZCAicGF0aCIKK21zZ3N0ciAiUGZhZCIKKworIzogYXBwbHkuYzo0OTIwCittc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKK21zZ3N0ciAia2VpbmUgw4RuZGVydW5nZW4gaW0gYW5nZWdlYmVuZW4gUGZhZCBhbndlbmRlbiIKKworIzogYXBwbHkuYzo0OTIzCittc2dpZCAiYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKK21zZ3N0ciAiw4RuZGVydW5nZW4gbnVyIGltIGFuZ2VnZWJlbmVuIFBmYWQgYW53ZW5kZW4iCisKKyM6IGFwcGx5LmM6NDkyNSBidWlsdGluL2FtLmM6MjI4NgorbXNnaWQgIm51bSIKK21zZ3N0ciAiQW56YWhsIgorCisjOiBhcHBseS5jOjQ5MjYKK21zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKK21zZ3N0ciAiIgorIjxBbnphaGw+IHZvcmFuZ2VzdGVsbHRlIFNjaHLDpGdzdHJpY2hlIHZvbiBoZXJrw7ZtbWxpY2hlbiBEaWZmZXJlbnpwZmFkZW4gIgorImVudGZlcm5lbiIKKworIzogYXBwbHkuYzo0OTI5Cittc2dpZCAiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIKK21zZ3N0ciAiaGluenVnZWbDvGd0ZSBaZWlsZW4gZGVzIFBhdGNoZXMgaWdub3JpZXJlbiIKKworIzogYXBwbHkuYzo0OTMxCittc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBkaWZmc3RhdCBmb3IgdGhlIGlucHV0IgorbXNnc3RyICIiCisiYW5zdGF0dCBkZXIgQW53ZW5kdW5nIGRlcyBQYXRjaGVzLCBkZW4gXCJkaWZmc3RhdFwiIGbDvHIgZGllIEVpbmdhYmUgIgorImF1c2dlZ2ViZW4iCisKKyM6IGFwcGx5LmM6NDkzNQorbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCittc2dzdHIgIiIKKyJkaWUgQW56YWhsIHZvbiBoaW56dWdlZsO8Z3Rlbi9lbnRmZXJudGVuIFplaWxlbiBpbiBEZXppbWFsbm90YXRpb24gYW56ZWlnZW4iCisKKyM6IGFwcGx5LmM6NDkzNworbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCittc2dzdHIgIiIKKyJhbnN0YXR0IGRlciBBbndlbmR1bmcgZGVzIFBhdGNoZXMsIGVpbmUgWnVzYW1tZW5mYXNzdW5nIGbDvHIgZGllIEVpbmdhYmUgIgorImF1c2dlYmVuIgorCisjOiBhcHBseS5jOjQ5MzkKK21zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIgorbXNnc3RyICIiCisiYW5zdGF0dCBkZXIgQW53ZW5kdW5nIGRlcyBQYXRjaGVzLCB6ZWlnZSBvYiBQYXRjaCBhbmdld2VuZGV0IHdlcmRlbiBrYW5uIgorCisjOiBhcHBseS5jOjQ5NDEKK21zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCittc2dzdHIgIiIKKyJzaWNoZXJzdGVsbGVuLCBkYXNzIGRlciBQYXRjaCBtaXQgZGVtIGFrdHVlbGxlbiBJbmRleCBhbmdld2VuZGV0IHdlcmRlbiBrYW5uIgorCisjOiBhcHBseS5jOjQ5NDMKK21zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiUGF0Y2ggYW53ZW5kZW4sIG9obmUgw4RuZGVydW5nZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIHZvcnp1bmVobWVuIgorCisjOiBhcHBseS5jOjQ5NDUKK21zZ2lkICJhY2NlcHQgYSBwYXRjaCB0aGF0IHRvdWNoZXMgb3V0c2lkZSB0aGUgd29ya2luZyBhcmVhIgorbXNnc3RyICIiCisiUGF0Y2ggYW53ZW5kZW4sIGRlciDDhG5kZXJ1bmdlbiBhdcOfZXJoYWxiIGRlcyBBcmJlaXRzdmVyemVpY2huaXNzZXMgdm9ybmltbXQiCisKKyM6IGFwcGx5LmM6NDk0NworbXNnaWQgImFsc28gYXBwbHkgdGhlIHBhdGNoICh1c2Ugd2l0aCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgorbXNnc3RyICJQYXRjaCBhbndlbmRlbiAoQmVudXR6dW5nIG1pdCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgorCisjOiBhcHBseS5jOjQ5NDkKK21zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICJ2ZXJzdWNoZSAzLVdlZ2UtTWVyZ2UsIHdlbm4gZGVyIFBhdGNoIG5pY2h0IGFuZ2V3ZW5kZXQgd2VyZGVuIGtvbm50ZSIKKworIzogYXBwbHkuYzo0OTUxCittc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCittc2dzdHIgIiIKKyJlaW5lbiB0ZW1wb3LDpHJlbiBJbmRleCwgYmFzaWVyZW5kIGF1ZiBkZW4gaW50ZWdyaWVydGVuIEluZGV4LUluZm9ybWF0aW9uZW4sICIKKyJlcnN0ZWxsZW4iCisKKyM6IGFwcGx5LmM6NDk1NCBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDUKK21zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKK21zZ3N0ciAiUGZhZGUgc2luZCBnZXRyZW5udCBkdXJjaCBOVUwgWmVpY2hlbiIKKworIzogYXBwbHkuYzo0OTU2Cittc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgorbXNnc3RyICIiCisic2ljaGVyIHN0ZWxsZW4sIGRhc3MgbWluZGVzdGVucyA8bj4gWmVpbGVuIGRlcyBLb250ZXh0ZXMgw7xiZXJlaW5zdGltbWVuIgorCisjOiBhcHBseS5jOjQ5NTcgYnVpbHRpbi9hbS5jOjIyNjUKK21zZ2lkICJhY3Rpb24iCittc2dzdHIgIkFrdGlvbiIKKworIzogYXBwbHkuYzo0OTU4Cittc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHIgIm5ldWUgb2RlciBnZcOkbmRlcnRlIFplaWxlbiwgZGllIFdoaXRlc3BhY2UtRmVobGVyIGhhYmVuLCBlcm1pdHRlbG4iCisKKyM6IGFwcGx5LmM6NDk2MSBhcHBseS5jOjQ5NjQKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgorbXNnc3RyICLDhG5kZXJ1bmdlbiBpbSBXaGl0ZXNwYWNlIGJlaSBkZXIgU3VjaGUgZGVzIEtvbnRleHRlcyBpZ25vcmllcmVuIgorCisjOiBhcHBseS5jOjQ5NjcKK21zZ2lkICJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIKK21zZ3N0ciAiZGVuIFBhdGNoIGluIHVtZ2VrZWhydGVyIFJlaWhlbmZvbGdlIGFud2VuZGVuIgorCisjOiBhcHBseS5jOjQ5NjkKK21zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKK21zZ3N0ciAia2VpbmVuIEtvbnRleHQgZXJ3YXJ0ZW4iCisKKyM6IGFwcGx5LmM6NDk3MQorbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgorbXNnc3RyICIiCisienVyw7xja2dld2llc2VuZSBQYXRjaC1CbMO2Y2tlIGluIGVudHNwcmVjaGVuZGVuICoucmVqIERhdGVpZW4gaGludGVybGFzc2VuIgorCisjOiBhcHBseS5jOjQ5NzMKK21zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKK21zZ3N0ciAic2ljaCDDvGJlcmxhcHBlbmRlIFBhdGNoLUJsw7Zja2UgZXJsYXViZW4iCisKKyM6IGFwcGx5LmM6NDk3NCBidWlsdGluL2FkZC5jOjI2NyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzMzkgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTQgYnVpbHRpbi9mc2NrLmM6NTkzCisjOiBidWlsdGluL2xvZy5jOjE4NjAgYnVpbHRpbi9tdi5jOjExMCBidWlsdGluL3JlYWQtdHJlZS5jOjExNAorbXNnaWQgImJlIHZlcmJvc2UiCittc2dzdHIgImVyd2VpdGVydGUgQXVzZ2FiZW4iCisKKyM6IGFwcGx5LmM6NDk3NgorbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgorbXNnc3RyICJmZWhsZXJoYWZ0IGVya2FubnRlbiBmZWhsZW5kZW4gWmVpbGVudW1icnVjaCBhbSBEYXRlaWVuZGUgdG9sZXJpZXJlbiIKKworIzogYXBwbHkuYzo0OTc5Cittc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgorbXNnc3RyICJkZW4gWmVpbGVubnVtbWVybiBpbSBLb3BmIGRlcyBQYXRjaC1CbG9ja3MgbmljaHQgdmVydHJhdWVuIgorCisjOiBhcHBseS5jOjQ5ODEgYnVpbHRpbi9hbS5jOjIyNzQKK21zZ2lkICJyb290IgorbXNnc3RyICJXdXJ6ZWx2ZXJ6ZWljaG5pcyIKKworIzogYXBwbHkuYzo0OTgyCittc2dpZCAicHJlcGVuZCA8cm9vdD4gdG8gYWxsIGZpbGVuYW1lcyIKK21zZ3N0ciAiPFd1cnplbHZlcnplaWNobmlzPiB2b3IgYWxsZSBEYXRlaW5hbWVuIHN0ZWxsZW4iCisKICM6IGFyY2hpdmUuYzoxMgogbXNnaWQgImdpdCBhcmNoaXZlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBhcmNoaXZlIFs8T3B0aW9uZW4+XSA8Q29tbWl0LVJlZmVyZW56PiBbPFBmYWQ+Li4uXSIKQEAgLTYyLDcgKzc2NSw3IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPFJlcG9zaXRvcnk+IFstLWV4ZWMgPFByb2dyYW1tPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzQ0IGJ1aWx0aW4vYWRkLmM6MTM3IGJ1aWx0aW4vYWRkLmM6NDIwIGJ1aWx0aW4vcm0uYzozMjcKKyM6IGFyY2hpdmUuYzozNDQgYnVpbHRpbi9hZGQuYzoxNTIgYnVpbHRpbi9hZGQuYzo0NDIgYnVpbHRpbi9ybS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgogbXNnc3RyICJQZmFkc3BlemlmaWthdGlvbiAnJXMnIHN0aW1tdCBtaXQga2VpbmVuIERhdGVpZW4gw7xiZXJlaW4iCkBAIC03NSw3ICs3NzgsNyBAQAogbXNnaWQgImFyY2hpdmUgZm9ybWF0IgogbXNnc3RyICJBcmNoaXZmb3JtYXQiCiAKLSM6IGFyY2hpdmUuYzo0MzAgYnVpbHRpbi9sb2cuYzoxMzk1CisjOiBhcmNoaXZlLmM6NDMwIGJ1aWx0aW4vbG9nLmM6MTQyOQogbXNnaWQgInByZWZpeCIKIG1zZ3N0ciAiUHLDpGZpeCIKIApAQCAtODMsMTEgKzc4NiwxMSBAQAogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgImVpbmVuIFByw6RmaXggdm9yIGplZGVuIFBmYWRuYW1lbiBpbiBkZW0gQXJjaGl2IHN0ZWxsZW4iCiAKLSM6IGFyY2hpdmUuYzo0MzIgYnVpbHRpbi9hcmNoaXZlLmM6ODggYnVpbHRpbi9ibGFtZS5jOjI1NDggYnVpbHRpbi9ibGFtZS5jOjI1NDkKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjAgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5Ci0jOiBidWlsdGluL2dyZXAuYzo3MjIgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMCBidWlsdGluL2xzLWZpbGVzLmM6NDU5Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYyIGJ1aWx0aW4vbm90ZXMuYzozOTggYnVpbHRpbi9ub3Rlcy5jOjU2MQotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDkgcGFyc2Utb3B0aW9ucy5oOjE1MworIzogYXJjaGl2ZS5jOjQzMiBidWlsdGluL2JsYW1lLmM6MjYwMyBidWlsdGluL2JsYW1lLmM6MjYwNCBidWlsdGluL2NvbmZpZy5jOjU5CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkgYnVpbHRpbi9ncmVwLmM6NzIzCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxIGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzkgYnVpbHRpbi9scy1maWxlcy5jOjU0MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwMSBidWlsdGluL25vdGVzLmM6NTY0IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA5CisjOiBwYXJzZS1vcHRpb25zLmg6MTUzCiBtc2dpZCAiZmlsZSIKIG1zZ3N0ciAiRGF0ZWkiCiAKQEAgLTExOSw4ICs4MjIsOCBAQAogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAidW50ZXJzdMO8dHp0ZSBBcmNoaXZmb3JtYXRlIGF1Zmxpc3RlbiIKIAotIzogYXJjaGl2ZS5jOjQ1MSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODIKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzYKKyM6IGFyY2hpdmUuYzo0NTEgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg1IGJ1aWx0aW4vY2xvbmUuYzo4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUzCiBtc2dpZCAicmVwbyIKIG1zZ3N0ciAiUmVwb3NpdG9yeSIKIApAQCAtMTI4LDcgKzgzMSw3IEBACiBtc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCiBtc2dzdHIgIkFyY2hpdiB2b20gUmVtb3RlLVJlcG9zaXRvcnkgPFJlcG9zaXRvcnk+IGFicnVmZW4iCiAKLSM6IGFyY2hpdmUuYzo0NTMgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4MgorIzogYXJjaGl2ZS5jOjQ1MyBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg1CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAiUHJvZ3JhbW0iCiAKQEAgLTEzNiw2ICs4MzksMjggQEAKIG1zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCiBtc2dzdHIgIlBmYWQgenVtIGV4dGVybmVuIFwiZ2l0LXVwbG9hZC1hcmNoaXZlXCItUHJvZ3JhbW0iCiAKKyM6IGFyY2hpdmUuYzo0NjEKK21zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLXJlbW90ZSIKK21zZ3N0ciAiVW5lcndhcnRldGUgT3B0aW9uIC0tcmVtb3RlIgorCisjOiBhcmNoaXZlLmM6NDYzCittc2dpZCAiT3B0aW9uIC0tZXhlYyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZW1vdGUiCittc2dzdHIgIkRpZSBPcHRpb24gLS1leGVjIGthbm4gbnVyIHp1c2FtbWVuIG1pdCAtLXJlbW90ZSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKKworIzogYXJjaGl2ZS5jOjQ2NQorbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tb3V0cHV0IgorbXNnc3RyICJVbmVyd2FydGV0ZSBPcHRpb24gLS1vdXRwdXQiCisKKyM6IGFyY2hpdmUuYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBhcmNoaXZlIGZvcm1hdCAnJXMnIgorbXNnc3RyICJVbmJla2FubnRlcyBBcmNoaXZmb3JtYXQgJyVzJyIKKworIzogYXJjaGl2ZS5jOjQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJBcmd1bWVudCBub3Qgc3VwcG9ydGVkIGZvciBmb3JtYXQgJyVzJzogLSVkIgorbXNnc3RyICJBcmd1bWVudCBmw7xyIEZvcm1hdCAnJXMnIG5pY2h0IHVudGVyc3TDvHR6dDogLSVkIgorCiAjOiBhdHRyLmM6MjYzCiBtc2dpZCAiIgogIk5lZ2F0aXZlIHBhdHRlcm5zIGFyZSBpZ25vcmVkIGluIGdpdCBhdHRyaWJ1dGVzXG4iCkBAIC0xNDQsNiArODY5LDEzMCBAQAogIlZlcm5laW5lbmRlIE11c3RlciB3ZXJkZW4gaW4gR2l0LUF0dHJpYnV0ZW4gaWdub3JpZXJ0LlxuIgogIkJlbnV0emVuIFNpZSAnXFwhJyBmw7xyIGbDvGhyZW5kZSBBdXNydWZlemVpY2hlbi4iCiAKKyM6IGJpc2VjdC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlICclcyciCittc2dzdHIgIktvbm50ZSBEYXRlaSAnJXMnIG5pY2h0IMO2ZmZuZW4iCisKKyM6IGJpc2VjdC5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJCYWRseSBxdW90ZWQgY29udGVudCBpbiBmaWxlICclcyc6ICVzIgorbXNnc3RyICJVbmfDvGx0aWdlciBJbmhhbHQgYnpnbC4gQW5mw7xocnVuZ3NzdHJpY2hlIGluIERhdGVpICclcyc6ICVzIgorCisjOiBiaXNlY3QuYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2UgY2Fubm90IGJpc2VjdCBtb3JlIVxuIgorbXNnc3RyICJLZWluZSBiaW7DpHJlIFN1Y2hlIG1laHIgbcO2Z2xpY2ghXG4iCisKKyM6IGJpc2VjdC5jOjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYSB2YWxpZCBjb21taXQgbmFtZSAlcyIKK21zZ3N0ciAiJXMgaXN0IGtlaW4gZ8O8bHRpZ2VyIENvbW1pdC1OYW1lIgorCisjOiBiaXNlY3QuYzo3MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzIGJhZC5cbiIKKyJUaGlzIG1lYW5zIHRoZSBidWcgaGFzIGJlZW4gZml4ZWQgYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIKK21zZ3N0ciAiIgorIkRpZSBNZXJnZS1CYXNpcyAlcyBpc3QgZmVobGVyaGFmdC5cbiIKKyJEYXMgYmVkZXV0ZXQsIGRlciBGZWhsZXIgd3VyZGUgendpc2NoZW4gJXMgdW5kIFslc10gYmVob2Jlbi5cbiIKKworIzogYmlzZWN0LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBuZXcuXG4iCisiVGhlIHByb3BlcnR5IGhhcyBjaGFuZ2VkIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgIiIKKyJEaWUgTWVyZ2UtQmFzaXMgJXMgaXN0IG5ldS5cbiIKKyJEYXMgYmVkZXV0ZXQsIGRpZSBFaWdlbnNjaGFmdCBoYXQgc2ljaCB6d2lzY2hlbiAlcyB1bmQgWyVzXSBnZcOkbmRlcnQuXG4iCisKKyM6IGJpc2VjdC5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIG1lcmdlIGJhc2UgJXMgaXMgJXMuXG4iCisiVGhpcyBtZWFucyB0aGUgZmlyc3QgJyVzJyBjb21taXQgaXMgYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIKK21zZ3N0ciAiIgorIkRpZSBNZXJnZS1CYXNpcyAlcyBpc3QgJXMuXG4iCisiRGFzIGJlZGV1dGV0LCBkZXIgZXJzdGUgJyVzJyBDb21taXQgYmVmaW5kZXQgc2ljaCB6d2lzY2hlbiAlcyB1bmQgWyVzXVxuIgorCisjOiBiaXNlY3QuYzo3NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlNvbWUgJXMgcmV2cyBhcmUgbm90IGFuY2VzdG9yIG9mIHRoZSAlcyByZXYuXG4iCisiZ2l0IGJpc2VjdCBjYW5ub3Qgd29yayBwcm9wZXJseSBpbiB0aGlzIGNhc2UuXG4iCisiTWF5YmUgeW91IG1pc3Rvb2sgJXMgYW5kICVzIHJldnM/XG4iCittc2dzdHIgIiIKKyJNYW5jaGUgJXMgQ29tbWl0cyBzaW5kIGtlaW5lIFZvcmfDpG5nZXIgZGVzICVzIENvbW1pdHMuXG4iCisiZ2l0IGJpc2VjdCBrYW5uIGluIGRpZXNlbSBGYWxsIG5pY2h0IHJpY2h0aWcgYXJiZWl0ZW4uXG4iCisiVmllbGxlaWNodCB2ZXJ3ZWNoc2VsdGVuIFNpZSAlcyB1bmQgJXMgQ29tbWl0cz9cbiIKKworIzogYmlzZWN0LmM6NzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ0aGUgbWVyZ2UgYmFzZSBiZXR3ZWVuICVzIGFuZCBbJXNdIG11c3QgYmUgc2tpcHBlZC5cbiIKKyJTbyB3ZSBjYW5ub3QgYmUgc3VyZSB0aGUgZmlyc3QgJXMgY29tbWl0IGlzIGJldHdlZW4gJXMgYW5kICVzLlxuIgorIldlIGNvbnRpbnVlIGFueXdheS4iCittc2dzdHIgIiIKKyJEaWUgTWVyZ2UtQmFzaXMgendpc2NoZW4gJXMgdW5kIFslc10gbXVzcyBhdXNnZWxhc3NlbiB3ZXJkZW4uXG4iCisiRXMga2FubiBkYWhlciBuaWNodCBzaWNoZXJnZXN0ZWxsdCB3ZXJkZW4sIGRhc3Mgc2ljaCBkZXJcbiIKKyJlcnN0ZSAlcyBDb21taXQgendpc2NoZW4gJXMgdW5kICVzIGJlZmluZGV0LlxuIgorIkVzIHdpcmQgZGVubm9jaCBmb3J0Z2VzZXR6dC4iCisKKyM6IGJpc2VjdC5jOjc5OAorIywgYy1mb3JtYXQKK21zZ2lkICJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIgorbXNnc3RyICJiaW7DpHJlIFN1Y2hlOiBlaW5lIE1lcmdlLUJhc2lzIG11c3MgZ2VwcsO8ZnQgd2VyZGVuXG4iCisKKyM6IGJpc2VjdC5jOjg0OQorIywgYy1mb3JtYXQKK21zZ2lkICJhICVzIHJldmlzaW9uIGlzIG5lZWRlZCIKK21zZ3N0ciAiZWluICVzIENvbW1pdCB3aXJkIGJlbsO2dGlndCIKKworIzogYmlzZWN0LmM6ODY2IGJ1aWx0aW4vbm90ZXMuYzoxNzQgYnVpbHRpbi90YWcuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciCittc2dzdHIgImtvbm50ZSBEYXRlaSAnJXMnIG5pY2h0IGVyc3RlbGxlbiIKKworIzogYmlzZWN0LmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGZpbGUgJyVzJyIKK21zZ3N0ciAiS29ubnRlIERhdGVpICclcycgbmljaHQgbGVzZW4iCisKKyM6IGJpc2VjdC5jOjk0NworbXNnaWQgInJlYWRpbmcgYmlzZWN0IHJlZnMgZmFpbGVkIgorbXNnc3RyICJMZXNlbiB2b24gUmVmZXJlbnplbiBmw7xyIGJpbsOkcmUgU3VjaGUgZmVobGdlc2NobGFnZW4iCisKKyM6IGJpc2VjdC5jOjk2NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB3YXMgYm90aCAlcyBhbmQgJXNcbiIKK21zZ3N0ciAiJXMgd2FyIHNvd29obCAlcyBhbHMgYXVjaCAlc1xuIgorCisjOiBiaXNlY3QuYzo5NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vIHRlc3RhYmxlIGNvbW1pdCBmb3VuZC5cbiIKKyJNYXliZSB5b3Ugc3RhcnRlZCB3aXRoIGJhZCBwYXRoIHBhcmFtZXRlcnM/XG4iCittc2dzdHIgIiIKKyJLZWluIHRlc3RiYXJlciBDb21taXQgZ2VmdW5kZW4uXG4iCisiVmllbGxlaWNodCBzdGFydGV0ZW4gU2llIG1pdCBmYWxzY2hlbiBQZmFkLVBhcmFtZXRlcm4/XG4iCisKKyM6IGJpc2VjdC5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICIocm91Z2hseSAlZCBzdGVwKSIKK21zZ2lkX3BsdXJhbCAiKHJvdWdobHkgJWQgc3RlcHMpIgorbXNnc3RyWzBdICIodW5nZWbDpGhyICVkIFNjaHJpdHQpIgorbXNnc3RyWzFdICIodW5nZWbDpGhyICVkIFNjaHJpdHRlKSIKKworIy4gVFJBTlNMQVRPUlM6IHRoZSBsYXN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aAorIy4gIihyb3VnaGx5ICVkIHN0ZXBzKSIgdHJhbnNsYXRpb24KKyM6IGJpc2VjdC5jOjk5OAorIywgYy1mb3JtYXQKK21zZ2lkICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9uIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iCittc2dpZF9wbHVyYWwgIkJpc2VjdGluZzogJWQgcmV2aXNpb25zIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iCittc2dzdHJbMF0gImJpbsOkcmUgU3VjaGU6IGRhbmFjaCBub2NoICVkIENvbW1pdCB6dW0gVGVzdGVuIMO8YnJpZyAlc1xuIgorbXNnc3RyWzFdICJiaW7DpHJlIFN1Y2hlOiBkYW5hY2ggbm9jaCAlZCBDb21taXRzIHp1bSBUZXN0ZW4gw7xicmlnICVzXG4iCisKICM6IGJyYW5jaC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTI2MywyNyArMTExMiwyNyBAQAogIlwiZ2l0IHB1c2ggLXVcIiB2ZXJ3ZW5kZW4sIHVtIGRlbiBVcHN0cmVhbS1CcmFuY2ggYmVpbSBcInB1c2hcIlxuIgogInp1IGtvbmZpZ3VyaWVyZW4uIgogCi0jOiBicmFuY2guYzoyNjYKKyM6IGJyYW5jaC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIE9iamVrdC1OYW1lOiAnJXMnIgogCi0jOiBicmFuY2guYzoyODYKKyM6IGJyYW5jaC5jOjI4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJBbWJpZ3VvdXMgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICJtZWhyZGV1dGlnZXIgT2JqZWt0LU5hbWU6ICclcyciCiAKLSM6IGJyYW5jaC5jOjI5MQorIzogYnJhbmNoLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIGJyYW5jaCBwb2ludDogJyVzJy4iCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIEJyYW5jaHB1bmt0OiAnJXMnIgogCi0jOiBicmFuY2guYzozNDUKKyM6IGJyYW5jaC5jOjM0NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiJyVzJyBpc3QgYmVyZWl0cyBpbiAnJXMnIGF1c2dlY2hlY2t0IgogCi0jOiBicmFuY2guYzozNjQKKyM6IGJyYW5jaC5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEIG9mIHdvcmtpbmcgdHJlZSAlcyBpcyBub3QgdXBkYXRlZCIKIG1zZ3N0ciAiSEVBRCBkZXMgQXJiZWl0c3ZlcnplaWNobmlzc2VzICVzIGlzdCBuaWNodCBha3R1YWxpc2llcnQuIgpAQCAtMjk4LDcgKzExNDcsNyBAQAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAibmljaHQgZXJrYW5udGVyIEtvcGZiZXJlaWNoOiAlcyVzICglZCkiCiAKLSM6IGJ1bmRsZS5jOjg3IGJ1aWx0aW4vY29tbWl0LmM6Nzc3CisjOiBidW5kbGUuYzo4NyBzZXF1ZW5jZXIuYzo5NjMgYnVpbHRpbi9jb21taXQuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgw7ZmZm5lbiIKQEAgLTMwNywxMCArMTE1NiwxMCBAQAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICJEZW0gUmVwb3NpdG9yeSBmZWhsZW4gZm9sZ2VuZGUgdm9yYXVzZ2VzZXR6dGUgQ29tbWl0czoiCiAKLSM6IGJ1bmRsZS5jOjE2MyByZWYtZmlsdGVyLmM6MTQ2MiBzZXF1ZW5jZXIuYzo2Mjcgc2VxdWVuY2VyLmM6MTA3MwotIzogYnVpbHRpbi9ibGFtZS5jOjI3NTUgYnVpbHRpbi9jb21taXQuYzoxMDU2IGJ1aWx0aW4vbG9nLmM6MzQwCi0jOiBidWlsdGluL2xvZy5jOjg2MyBidWlsdGluL2xvZy5jOjEzMDggYnVpbHRpbi9sb2cuYzoxNjMzIGJ1aWx0aW4vbG9nLmM6MTg3NQotIzogYnVpbHRpbi9tZXJnZS5jOjM2MSBidWlsdGluL3Nob3J0bG9nLmM6MTcwCisjOiBidW5kbGUuYzoxNjMgcmVmLWZpbHRlci5jOjE0NjIgc2VxdWVuY2VyLmM6ODMwIHNlcXVlbmNlci5jOjEzNzQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODE0IGJ1aWx0aW4vY29tbWl0LmM6MTA2MSBidWlsdGluL2xvZy5jOjM0OAorIzogYnVpbHRpbi9sb2cuYzo4OTAgYnVpbHRpbi9sb2cuYzoxMzQwIGJ1aWx0aW4vbG9nLmM6MTY2NiBidWlsdGluL2xvZy5jOjE5MDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozNTYgYnVpbHRpbi9zaG9ydGxvZy5jOjE3MAogbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgogbXNnc3RyICJFaW5yaWNodHVuZyBkZXMgUmV2aXNpb25zZ2FuZ3MgZmVobGdlc2NobGFnZW4iCiAKQEAgLTM0OSw3ICsxMTk4LDcgQEAKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAiUmVmZXJlbnogJyVzJyB3aXJkIGR1cmNoIFwicmV2LWxpc3RcIiBPcHRpb25lbiBhdXNnZXNjaGxvc3NlbiIKIAotIzogYnVuZGxlLmM6NDQzIGJ1aWx0aW4vbG9nLmM6MTYzIGJ1aWx0aW4vbG9nLmM6MTUzOCBidWlsdGluL3Nob3J0bG9nLmM6MjczCisjOiBidW5kbGUuYzo0NDMgYnVpbHRpbi9sb2cuYzoxNjUgYnVpbHRpbi9sb2cuYzoxNTcyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAibmljaHQgZXJrYW5udGVzIEFyZ3VtZW50OiAlcyIKQEAgLTM2NywxMyArMTIxNiwxMyBAQAogbXNnaWQgImluZGV4LXBhY2sgZGllZCIKIG1zZ3N0ciAiRXJzdGVsbHVuZyBkZXIgUGFrZXRpbmRleGRhdGVpIGFiZ2Vicm9jaGVuIgogCi0jOiBjb2xvci5jOjI3NQorIzogY29sb3IuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgRmFyYndlcnQ6ICUuKnMiCiAKLSM6IGNvbW1pdC5jOjQwIGJ1aWx0aW4vYW0uYzo0MzcgYnVpbHRpbi9hbS5jOjQ3MyBidWlsdGluL2FtLmM6MTUwNAotIzogYnVpbHRpbi9hbS5jOjIxMzQKKyM6IGNvbW1pdC5jOjQwIGJ1aWx0aW4vYW0uYzo0MjEgYnVpbHRpbi9hbS5jOjQ1NyBidWlsdGluL2FtLmM6MTQ5MworIzogYnVpbHRpbi9hbS5jOjIxMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlICVzIgogbXNnc3RyICJrb25udGUgJXMgbmljaHQgcGFyc2VuIgpAQCAtMzgzLDEzNiArMTIzMiwyNjAgQEAKIG1zZ2lkICIlcyAlcyBpcyBub3QgYSBjb21taXQhIgogbXNnc3RyICIlcyAlcyBpc3Qga2VpbiBDb21taXQhIgogCisjOiBjb21taXQuYzoxNTE0Cittc2dpZCAiIgorIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKKyJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgorInZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgdG8gdGhlIGVuY29kaW5nIHlvdXIgcHJvamVjdCB1c2VzLlxuIgorbXNnc3RyICIiCisiV2FybnVuZzogRGllIENvbW1pdC1CZXNjaHJlaWJ1bmcgaXN0IG5pY2h0IFVURi04IGtvbmZvcm0uXG4iCisiU2llIGvDtm5uZW4gZGFzIE5hY2hiZXNzZXJuLCBuYWNoZGVtIFNpZSBkaWUgQmVzY2hyZWlidW5nIGtvcnJpZ2llcnQgaGFiZW4sXG4iCisib2RlciBTaWUgc2V0emVuIGRpZSBLb25maWd1cmF0aW9uc3ZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgYXVmIGRhcyBFbmNvZGluZyxcbiIKKyJ3ZWxjaGVzIHZvbiBpaHJlbSBQcm9qZWt0IHZlcndlbmRldCB3aXJkLlxuIgorCiAjOiBjb21wYXQvb2JzdGFjay5jOjQwNiBjb21wYXQvb2JzdGFjay5jOjQwOAogbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCiBtc2dzdHIgIlNwZWljaGVyIHZlcmJyYXVjaHQiCiAKLSM6IGNvbmZpZy5jOjQ3NSBjb25maWcuYzo0NzcKKyM6IGNvbmZpZy5jOjUxNgogIywgYy1mb3JtYXQKLW1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMgJXMiCi1tc2dzdHIgIlplaWxlICVkIGluIEtvbmZpZ3VyYXRpb24gJXMgJXMgaXN0IHVuZ8O8bHRpZy4iCittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCittc2dzdHIgIlVuZ8O8bHRpZ2UgS29uZmlndXJhdGlvbnN6ZWlsZSAlZCBpbiBCbG9iICVzIgogCi0jOiBjb25maWcuYzo1OTMKKyM6IGNvbmZpZy5jOjUyMAogIywgYy1mb3JtYXQKLW1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlcyAlczogJXMiCi1tc2dzdHIgIlVuZ8O8bHRpZ2VyIG51bWVyaXNjaGVyIFdlcnQgJyVzJyBmw7xyIEtvbmZpZ3VyYXRpb24gJyVzJyBpbiAlcyAlczogJXMiCittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGZpbGUgJXMiCittc2dzdHIgIlVuZ8O8bHRpZ2UgS29uZmlndXJhdGlvbnN6ZWlsZSAlZCBpbiBEYXRlaSAlcyIKIAotIzogY29uZmlnLmM6NTk1CisjOiBjb25maWcuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICJVbmfDvGx0aWdlIEtvbmZpZ3VyYXRpb25zemVpbGUgJWQgaW4gU3RhbmRhcmQtRWluZ2FiZSIKKworIzogY29uZmlnLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdWJtb2R1bGUtYmxvYiAlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZSBLb25maWd1cmF0aW9uc3plaWxlICVkIGluIFN1Ym1vZHVsLUJsb2IgJXMiCisKKyM6IGNvbmZpZy5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gY29tbWFuZCBsaW5lICVzIgorbXNnc3RyICJVbmfDvGx0aWdlIEtvbmZpZ3VyYXRpb25zemVpbGUgJWQgaW4gS29tbWFuZG96ZWlsZSAlcyIKKworIzogY29uZmlnLmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZSBLb25maWd1cmF0aW9uc3plaWxlICVkIGluICVzIgorCisjOiBjb25maWcuYzo2NTUKK21zZ2lkICJvdXQgb2YgcmFuZ2UiCittc2dzdHIgIkF1w59lcmhhbGIgZGVzIEJlcmVpY2hzIgorCisjOiBjb25maWcuYzo2NTUKK21zZ2lkICJpbnZhbGlkIHVuaXQiCittc2dzdHIgIlVuZ8O8bHRpZ2UgRWluaGVpdCIKKworIzogY29uZmlnLmM6NjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgbnVtZXJpc2NoZXIgV2VydCAnJXMnIGbDvHIgS29uZmlndXJhdGlvbiAnJXMnOiAlcyIKIAotIzogY29uZmlnLmM6NjgwCisjOiBjb25maWcuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gYmxvYiAlczogJXMiCittc2dzdHIgIlVuZ8O8bHRpZ2VyIG51bWVyaXNjaGVyIFdlcnQgJyVzJyBmw7xyIEtvbmZpZ3VyYXRpb24gJyVzJyBpbiBCbG9iICVzOiAlcyIKKworIzogY29uZmlnLmM6NjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGZpbGUgJXM6ICVzIgorbXNnc3RyICIiCisiVW5nw7xsdGlnZXIgbnVtZXJpc2NoZXIgV2VydCAnJXMnIGbDvHIgS29uZmlndXJhdGlvbiAnJXMnIGluIERhdGVpICVzOiAlcyIKKworIzogY29uZmlnLmM6NjcyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKK21zZ3N0ciAiIgorIlVuZ8O8bHRpZ2VyIG51bWVyaXNjaGVyIFdlcnQgJyVzJyBmw7xyIEtvbmZpZ3VyYXRpb24gJyVzJyBpbiBTdGFuZGFyZC1FaW5nYWJlOiAiCisiJXMiCisKKyM6IGNvbmZpZy5jOjY3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdWJtb2R1bGUtYmxvYiAlczogJXMiCittc2dzdHIgIiIKKyJVbmfDvGx0aWdlciBudW1lcmlzY2hlciBXZXJ0ICclcycgZsO8ciBLb25maWd1cmF0aW9uICclcycgaW4gU3VibW9kdWwtQmxvYiAlczogIgorIiVzIgorCisjOiBjb25maWcuYzo2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gY29tbWFuZCBsaW5lICVzOiAlcyIKK21zZ3N0ciAiIgorIlVuZ8O8bHRpZ2VyIG51bWVyaXNjaGVyIFdlcnQgJyVzJyBmw7xyIEtvbmZpZ3VyYXRpb24gJyVzJyBpbiBCZWZlaGxzemVpbGUgJXM6ICIKKyIlcyIKKworIzogY29uZmlnLmM6NjgxCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiAlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZXIgbnVtZXJpc2NoZXIgV2VydCAnJXMnIGbDvHIgS29uZmlndXJhdGlvbiAnJXMnIGluICVzOiAlcyIKKworIzogY29uZmlnLmM6NzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleHBhbmQgdXNlciBkaXIgaW46ICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIEVyd2VpdGVybiBkZXMgTnV0emVydmVyemVpY2huaXNzZXMgaW46ICclcyciCiAKLSM6IGNvbmZpZy5jOjc2MSBjb25maWcuYzo3NzIKKyM6IGNvbmZpZy5jOjg1MiBjb25maWcuYzo4NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHpsaWIgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgInVuZ8O8bHRpZ2VyIHpsaWIgS29tcHJpbWllcnVuZ3NncmFkICVkIgogCi0jOiBjb25maWcuYzo4OTAKKyM6IGNvbmZpZy5jOjk3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgZm9yIG9iamVjdCBjcmVhdGlvbjogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIE1vZHVzIGbDvHIgT2JqZWt0ZXJzdGVsbHVuZzogJXMiCiAKLSM6IGNvbmZpZy5jOjEyMjgKKyM6IGNvbmZpZy5jOjEzMTIKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAiIgogIktvbm50ZSBkaWUgw7xiZXIgZGllIEJlZmVobHN6ZWlsZSBhbmdlZ2ViZW5lIEtvbmZpZ3VyYXRpb24gbmljaHQgcGFyc2VuLiIKIAotIzogY29uZmlnLmM6MTI4NAotbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJlZCB3aGlsZSByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIgorIzogY29uZmlnLmM6MTM2MgorbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKIG1zZ3N0ciAiIgogIkVzIHRyYXQgZWluIHVuYmVrYW5udGVyIEZlaGxlciBiZWltIExlc2VuIGRlciBLb25maWd1cmF0aW9uc2RhdGVpZW4gYXVmLiIKIAotIzogY29uZmlnLmM6MTYyOQorIzogY29uZmlnLmM6MTcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyVzJyBmcm9tIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgIiIKICJLb25udGUgV2VydCAnJXMnIGF1cyBkZXIgw7xiZXIgZGllIEJlZmVobHN6ZWlsZSBhbmdlZ2ViZW5lbiBLb25maWd1cmF0aW9uXG4iCiAibmljaHQgcGFyc2VuLiIKIAotIzogY29uZmlnLmM6MTYzMQorIzogY29uZmlnLmM6MTcxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIHZhcmlhYmxlICclcycgaW4gZmlsZSAnJXMnIGF0IGxpbmUgJWQiCiBtc2dzdHIgInVuZ8O8bHRpZ2UgS29uZmlndXJhdGlvbnN2YXJpYWJsZSAnJXMnIGluIERhdGVpICclcycgYmVpIFplaWxlICVkIgogCi0jOiBjb25maWcuYzoxNjkwCisjOiBjb25maWcuYzoxNzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBtdWx0aXBsZSB2YWx1ZXMiCiBtc2dzdHIgIiVzIGhhdCBtZWhyZXJlIFdlcnRlIgogCi0jOiBjb25maWcuYzoyMjI0CisjOiBjb25maWcuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzZXQgJyVzJyB0byAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCB6dSAnJXMnIHNldHplbi4iCiAKLSM6IGNvbmZpZy5jOjIyMjYKKyM6IGNvbmZpZy5jOjIzMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVuc2V0ICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGF1ZmhlYmVuLiIKIAotIzogY29ubmVjdGVkLmM6NjkKKyM6IGNvbm5lY3QuYzo0OQorbXNnaWQgIlRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdXBvbiBpbml0aWFsIGNvbnRhY3QiCittc2dzdHIgIkRpZSBHZWdlbnNlaXRlIGhhdCBzaWNoIG5hY2ggZGVtIGVyc3RtYWxpZ2VuIEtvbnRha3QgYXVmZ2VoYW5nZW4uIgorCisjOiBjb25uZWN0LmM6NTEKK21zZ2lkICIiCisiQ291bGQgbm90IHJlYWQgZnJvbSByZW1vdGUgcmVwb3NpdG9yeS5cbiIKKyJcbiIKKyJQbGVhc2UgbWFrZSBzdXJlIHlvdSBoYXZlIHRoZSBjb3JyZWN0IGFjY2VzcyByaWdodHNcbiIKKyJhbmQgdGhlIHJlcG9zaXRvcnkgZXhpc3RzLiIKK21zZ3N0ciAiIgorIktvbm50ZSBuaWNodCB2b20gUmVtb3RlLVJlcG9zaXRvcnkgbGVzZW4uXG4iCisiXG4iCisiQml0dGUgc3RlbGxlbiBTaWUgc2ljaGVyLCBkYXNzIGRpZSBrb3JyZWt0ZW4gWnVncmlmZnNiZXJlY2h0aWd1bmdlbiBiZXN0ZWhlblxuIgorInVuZCBkYXMgUmVwb3NpdG9yeSBleGlzdGllcnQuIgorCisjOiBjb25uZWN0ZWQuYzo2MyBidWlsdGluL2ZzY2suYzoxNzMgYnVpbHRpbi9wcnVuZS5jOjE0MAorbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKK21zZ3N0ciAiUHLDvGZlIEtvbm5la3Rpdml0w6R0IgorCisjOiBjb25uZWN0ZWQuYzo3NQogbXNnaWQgIkNvdWxkIG5vdCBydW4gJ2dpdCByZXYtbGlzdCciCiBtc2dzdHIgIktvbm50ZSAnZ2l0IHJldi1saXN0JyBuaWNodCBhdXNmw7xocmVuIgogCi0jOiBjb25uZWN0ZWQuYzo4OQorIzogY29ubmVjdGVkLmM6OTUKIG1zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3QiCiBtc2dzdHIgIkZlaGxlciBiZWltIFNjaHJlaWJlbiBuYWNoIHJldi1saXN0IgogCi0jOiBjb25uZWN0ZWQuYzo5NgorIzogY29ubmVjdGVkLmM6MTAyCiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgIkZlaGxlciBiZWltIFNjaGxpZcOfZW4gdm9uIHJldi1saXN0J3MgU3RhbmRhcmQtRWluZ2FiZSIKIAotIzogZGF0ZS5jOjk1CisjOiBjb252ZXJ0LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDUkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuXG4iCisiVGhlIGZpbGUgd2lsbCBoYXZlIGl0cyBvcmlnaW5hbCBsaW5lIGVuZGluZ3MgaW4geW91ciB3b3JraW5nIGRpcmVjdG9yeS4iCittc2dzdHIgIiIKKyJDUkxGIHdpcmQgaW4gJXMgZHVyY2ggTEYgZXJzZXR6dC5cbiIKKyJEaWUgRGF0ZWkgd2lyZCBpaHJlIHVyc3Byw7xuZ2xpY2hlbiBaZWlsZW5lbmRlbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgYmVoYWx0ZW4uIgorCisjOiBjb252ZXJ0LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNSTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuIgorbXNnc3RyICJDUkxGIHfDvHJkZSBpbiAlcyBkdXJjaCBMRiBlcnNldHp0IHdlcmRlbi4iCisKKyM6IGNvbnZlcnQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcy5cbiIKKyJUaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdpbmFsIGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5LiIKK21zZ3N0ciAiIgorIkxGIHdpcmQgaW4gJXMgZHVyY2ggQ1JMRiBlcnNldHp0LlxuIgorIkRpZSBEYXRlaSB3aXJkIGlocmUgdXJzcHLDvG5nbGljaGVuIFplaWxlbmVuZGVuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyBiZWhhbHRlbi4iCisKKyM6IGNvbnZlcnQuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcyIKK21zZ3N0ciAiTEYgd8O8cmRlIGluICVzIGR1cmNoIENSTEYgZXJzZXR6dCB3ZXJkZW4uIgorCisjOiBkYXRlLmM6OTcKIG1zZ2lkICJpbiB0aGUgZnV0dXJlIgogbXNnc3RyICJpbiBkZXIgWnVrdW5mdCIKIAotIzogZGF0ZS5jOjEwMQorIzogZGF0ZS5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgc2Vjb25kIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IHNlY29uZHMgYWdvIgogbXNnc3RyWzBdICJ2b3IgJWx1IFNla3VuZGUiCiBtc2dzdHJbMV0gInZvciAlbHUgU2VrdW5kZW4iCiAKLSM6IGRhdGUuYzoxMDgKKyM6IGRhdGUuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IG1pbnV0ZSBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBtaW51dGVzIGFnbyIKIG1zZ3N0clswXSAidm9yICVsdSBNaW51dGUiCiBtc2dzdHJbMV0gInZvciAlbHUgTWludXRlbiIKIAotIzogZGF0ZS5jOjExNQorIzogZGF0ZS5jOjExNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgaG91ciBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBob3VycyBhZ28iCiBtc2dzdHJbMF0gInZvciAlbHUgU3R1bmRlIgogbXNnc3RyWzFdICJ2b3IgJWx1IFN0dW5kZW4iCiAKLSM6IGRhdGUuYzoxMjIKKyM6IGRhdGUuYzoxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IGRheSBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBkYXlzIGFnbyIKIG1zZ3N0clswXSAidm9yICVsdSBUYWciCiBtc2dzdHJbMV0gInZvciAlbHUgVGFnZW4iCiAKLSM6IGRhdGUuYzoxMjgKKyM6IGRhdGUuYzoxMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHdlZWsgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgd2Vla3MgYWdvIgogbXNnc3RyWzBdICJ2b3IgJWx1IFdvY2hlIgogbXNnc3RyWzFdICJ2b3IgJWx1IFdvY2hlbiIKIAotIzogZGF0ZS5jOjEzNQorIzogZGF0ZS5jOjEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgbW9udGggYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgbW9udGhzIGFnbyIKIG1zZ3N0clswXSAidm9yICVsdSBNb25hdCIKIG1zZ3N0clsxXSAidm9yICVsdSBNb25hdGVuIgogCi0jOiBkYXRlLmM6MTQ2CisjOiBkYXRlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSB5ZWFyIgogbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMiCkBAIC01MjAsMTQgKzE0OTMsMTQgQEAKIG1zZ3N0clsxXSAidm9yICVsdSBKYWhyZW4iCiAKICMuIFRSQU5TTEFUT1JTOiAiJXMiIGlzICI8bj4geWVhcnMiCi0jOiBkYXRlLmM6MTQ5CisjOiBkYXRlLmM6MTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCAlbHUgbW9udGggYWdvIgogbXNnaWRfcGx1cmFsICIlcywgJWx1IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gIiVzLCB1bmQgJWx1IE1vbmF0IgogbXNnc3RyWzFdICIlcywgdW5kICVsdSBNb25hdGVuIgogCi0jOiBkYXRlLmM6MTU0IGRhdGUuYzoxNTkKKyM6IGRhdGUuYzoxNTYgZGF0ZS5jOjE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgeWVhciBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSB5ZWFycyBhZ28iCkBAIC01MzksMjcgKzE1MTIsMzIgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvcmRlcmZpbGUgJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gTGVzZW4gZGVyIFJlaWhlbmZvbGdlZGF0ZWkgJyVzJy4iCiAKLSM6IGRpZmZjb3JlLXJlbmFtZS5jOjUzOAorIzogZGlmZmNvcmUtcmVuYW1lLmM6NTM2CiBtc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCiBtc2dzdHIgIkbDvGhyZSBFcmtlbm51bmcgZsO8ciB1bmdlbmF1ZSBVbWJlbmVubnVuZyBhdXMiCiAKLSM6IGRpZmYuYzoxMTYKKyM6IGRpZmYuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhIHZhbHVlIgorbXNnc3RyICJPcHRpb24gJyVzJyBlcmZvcmRlcnQgZWluZW4gV2VydC4iCisKKyM6IGRpZmYuYzoxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgogbXNnc3RyICIiCiAiICBGZWhsZXIgYmVpbSBQYXJzZW4gZGVzIGFiZ2VzY2huaXR0ZW5lbiBcImRpcnN0YXRcIiBQcm96ZW50c2F0emVzICclcydcbiIKIAotIzogZGlmZi5jOjEyMQorIzogZGlmZi5jOjEyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyVzJ1xuIgogbXNnc3RyICIgIFVuYmVrYW5udGVyIFwiZGlyc3RhdFwiIFBhcmFtZXRlciAnJXMnXG4iCiAKLSM6IGRpZmYuYzoyMjUKKyM6IGRpZmYuYzoyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB2YWx1ZSBmb3IgJ2RpZmYuc3VibW9kdWxlJyBjb25maWcgdmFyaWFibGU6ICclcyciCiBtc2dzdHIgIlVuYmVrYW5udGVyIFdlcnQgaW4gS29uZmlndXJhdGlvbnN2YXJpYWJsZSAnZGlmZi5kaXJzdGF0JzogJyVzJyIKIAotIzogZGlmZi5jOjI3NworIzogZGlmZi5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKQEAgLTU2OCwxNiArMTU0NiwyMCBAQAogIkZlaGxlciBpbiAnZGlmZi5kaXJzdGF0JyBLb25maWd1cmF0aW9uc3ZhcmlhYmxlIGdlZnVuZGVuOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzAwNworIzogZGlmZi5jOjMwODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZGlmZiBkaWVkLCBzdG9wcGluZyBhdCAlcyIKIG1zZ3N0ciAiZXh0ZXJuZXMgRGlmZi1Qcm9ncmFtbSB1bmVyd2FydGV0IGJlZW5kZXQsIGFuZ2VoYWx0ZW4gYmVpICVzIgogCi0jOiBkaWZmLmM6MzQwNQorIzogZGlmZi5jOjM0MTIKK21zZ2lkICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgdW5kIC1zIHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMiCisKKyM6IGRpZmYuYzozNTAyCiBtc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCiBtc2dzdHIgIi0tZm9sbG93IGVyZm9yZGVydCBnZW5hdSBlaW5lIFBmYWRzcGV6aWZpa2F0aW9uIgogCi0jOiBkaWZmLmM6MzU2OAorIzogZGlmZi5jOjM2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKQEAgLTU4Niw3MiArMTU2OCwyNDggQEAKICJGZWhsZXIgYmVpbSBQYXJzZW4gZGVzIC0tZGlyc3RhdC8tWCBPcHRpb25zcGFyYW1ldGVyczpcbiIKICIlcyIKIAotIzogZGlmZi5jOjM1ODIKKyM6IGRpZmYuYzozNjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBQYXJzZW4gZGVzIC0tc3VibW9kdWxlIE9wdGlvbnNwYXJhbWV0ZXJzOiAnJXMnIgogCi0jOiBkaXIuYzoxODIzCisjOiBkaWZmLmM6NDcwMAorbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgorbXNnc3RyICIiCisiVW5nZW5hdWUgRXJrZW5udW5nIGbDvHIgVW1iZW5lbm51bmdlbiB3dXJkZSBhdWZncnVuZCB6dSB2aWVsZXIgRGF0ZWllblxuIgorIsO8YmVyc3BydW5nZW4uIgorCisjOiBkaWZmLmM6NDcwMworbXNnaWQgIm9ubHkgZm91bmQgY29waWVzIGZyb20gbW9kaWZpZWQgcGF0aHMgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKK21zZ3N0ciAibnVyIEtvcGllbiB2b24gZ2XDpG5kZXJ0ZW4gUGZhZGVuLCBhdWZncnVuZCB6dSB2aWVsZXIgRGF0ZWllbiwgZ2VmdW5kZW4iCisKKyM6IGRpZmYuYzo0NzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ5b3UgbWF5IHdhbnQgdG8gc2V0IHlvdXIgJXMgdmFyaWFibGUgdG8gYXQgbGVhc3QgJWQgYW5kIHJldHJ5IHRoZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorIlNpZSBrw7ZubnRlbiBkaWUgVmFyaWFibGUgJXMgYXVmIG1pbmRlc3RlbnMgJWQgc2V0emVuIHVuZCBkZW4gQmVmZWhsXG4iCisiZXJuZXV0IHZlcnN1Y2hlbi4iCisKKyM6IGRpci5jOjE4NjYKIG1zZ2lkICJmYWlsZWQgdG8gZ2V0IGtlcm5lbCBuYW1lIGFuZCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gU2FtbWVsbiB2b24gTmFtZW4gdW5kIEluZm9ybWF0aW9uZW4genVtIEtlcm5lbCIKIAotIzogZGlyLmM6MTk0MgorIzogZGlyLmM6MTk4NQogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBpcyBkaXNhYmxlZCBvbiB0aGlzIHN5c3RlbSBvciBsb2NhdGlvbi4iCiBtc2dzdHIgIiIKICJDYWNoZSBmw7xyIHVudmVyc2lvbmllcnRlIERhdGVpZW4gaXN0IGF1ZiBkaWVzZW0gU3lzdGVtIG9kZXJcbiIKICJmw7xyIGRpZXNlcyBWZXJ6ZWljaG5pcyBkZWFrdGl2aWVydC4iCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoxNjYgZ3BnLWludGVyZmFjZS5jOjIzNQotbXNnaWQgImNvdWxkIG5vdCBydW4gZ3BnLiIKLW1zZ3N0ciAia29ubnRlIGdwZyBuaWNodCBhdXNmw7xocmVuIgorIzogZmV0Y2gtcGFjay5jOjIxMworbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBzaGFsbG93IGxpc3QiCittc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBlcndhcnRldGUgc2hhbGxvdy1MaXN0ZSIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE3OAotbXNnaWQgImdwZyBkaWQgbm90IGFjY2VwdCB0aGUgZGF0YSIKLW1zZ3N0ciAiZ3BnIGhhdCBkaWUgRGF0ZW4gbmljaHQgYWt6ZXB0aWVydCIKKyM6IGZldGNoLXBhY2suYzoyMjUKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IEVPRiIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IEFDSy9OQUsgZXJ3YXJ0ZXQsIEVPRiBiZWtvbW1lbiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE4OQorIzogZmV0Y2gtcGFjay5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290ICclcyciCittc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBBQ0svTkFLIGVyd2FydGV0LCAnJXMnIGJla29tbWVuIgorCisjOiBmZXRjaC1wYWNrLmM6Mjk1Cittc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKK21zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIGJlbsO2dGlndCBtdWx0aV9hY2tfZGV0YWlsZWQiCisKKyM6IGZldGNoLXBhY2suYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaGFsbG93IGxpbmU6ICVzIgorbXNnc3RyICJVbmfDvGx0aWdlIHNoYWxsb3ctWmVpbGU6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdW5zaGFsbG93IGxpbmU6ICVzIgorbXNnc3RyICJVbmfDvGx0aWdlIHVuc2hhbGxvdy1aZWlsZTogJXMiCisKKyM6IGZldGNoLXBhY2suYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0IG5vdCBmb3VuZDogJXMiCittc2dzdHIgIk9iamVrdCBuaWNodCBnZWZ1bmRlbjogJXMiCisKKyM6IGZldGNoLXBhY2suYzozOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgaW4gb2JqZWN0OiAlcyIKK21zZ3N0ciAiRmVobGVyIGluIE9iamVrdDogJXMiCisKKyM6IGZldGNoLXBhY2suYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc2hhbGxvdyBmb3VuZDogJXMiCittc2dzdHIgIktlaW4gc2hhbGxvdy1PYmpla3QgZ2VmdW5kZW46ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCittc2dzdHIgInNoYWxsb3cvdW5zaGFsbG93IGVyd2FydGV0LCAlcyBiZWtvbW1lbiIKKworIzogZmV0Y2gtcGFjay5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJnb3QgJXMgJWQgJXMiCittc2dzdHIgIiVzICVkICVzIGJla29tbWVuIgorCisjOiBmZXRjaC1wYWNrLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29tbWl0ICVzIgorbXNnc3RyICJVbmfDvGx0aWdlciBDb21taXQgJXMiCisKKyM6IGZldGNoLXBhY2suYzo0ODMKK21zZ2lkICJnaXZpbmcgdXAiCittc2dzdHIgIkdlYmUgYXVmIgorCisjOiBmZXRjaC1wYWNrLmM6NDkzIHByb2dyZXNzLmM6MjM1Cittc2dpZCAiZG9uZSIKK21zZ3N0ciAiRmVydGlnIgorCisjOiBmZXRjaC1wYWNrLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgImdvdCAlcyAoJWQpICVzIgorbXNnc3RyICIlcyAoJWQpICVzIGJla29tbWVuIgorCisjOiBmZXRjaC1wYWNrLmM6NTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1hcmtpbmcgJXMgYXMgY29tcGxldGUiCittc2dzdHIgIk1hcmtpZXJlICVzIGFscyB2b2xsc3TDpG5kaWciCisKKyM6IGZldGNoLXBhY2suYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxyZWFkeSBoYXZlICVzICglcykiCittc2dzdHIgImhhYmUgJXMgKCVzKSBiZXJlaXRzIgorCisjOiBmZXRjaC1wYWNrLmM6NzM1Cittc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCittc2dzdHIgImZldGNoLXBhY2s6IEZlaGxlciBiZWltIFN0YXJ0ZW4gZGVzIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCisKKyM6IGZldGNoLXBhY2suYzo3NDMKK21zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIHBhY2sgaGVhZGVyIgorbXNnc3RyICJQcm90b2tvbGxmZWhsZXI6IHVuZ8O8bHRpZ2VyIFBhY2stSGVhZGVyIgorCisjOiBmZXRjaC1wYWNrLmM6Nzk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKK21zZ3N0ciAiZmV0Y2gtcGFjazoga29ubnRlICVzIG5pY2h0IHN0YXJ0ZW4iCisKKyM6IGZldGNoLXBhY2suYzo4MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkIgorbXNnc3RyICIlcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogZmV0Y2gtcGFjay5jOjgxNworbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCittc2dzdHIgIkZlaGxlciBpbiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgorCisjOiBmZXRjaC1wYWNrLmM6ODQ0Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgorbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IGtlaW5lIHNoYWxsb3ctQ2xpZW50cyIKKworIzogZmV0Y2gtcGFjay5jOjg0OAorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2tfZGV0YWlsZWQiCittc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQgbXVsdGlfYWNrX2RldGFpbGVkIgorCisjOiBmZXRjaC1wYWNrLmM6ODUxCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG5vLWRvbmUiCittc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQgbm8tZG9uZSIKKworIzogZmV0Y2gtcGFjay5jOjg1NworbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2siCittc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQgbXVsdGlfYWNrIgorCisjOiBmZXRjaC1wYWNrLmM6ODYxCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZC02NGsiCittc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQgc2lkZS1iYW5kLTY0ayIKKworIzogZmV0Y2gtcGFjay5jOjg2NQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQiCittc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQgc2lkZS1iYW5kIgorCisjOiBmZXRjaC1wYWNrLmM6ODY5Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCittc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKKworIzogZmV0Y2gtcGFjay5jOjg3MworbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgorbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCisKKyM6IGZldGNoLXBhY2suYzo4ODMKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgb2ZzLWRlbHRhIgorbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IG9mcy1kZWx0YSIKKworIzogZmV0Y2gtcGFjay5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgdmVyc2lvbiBpcyAlLipzIgorbXNnc3RyICJTZXJ2ZXItVmVyc2lvbiBpc3QgJS4qcyIKKworIzogZmV0Y2gtcGFjay5jOjg5NgorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1zaW5jZSIKK21zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBrZWluIC0tc2hhbGxvdy1zaW5jZSIKKworIzogZmV0Y2gtcGFjay5jOjkwMAorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1leGNsdWRlIgorbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IGtlaW4gLS1zaGFsbG93LWV4Y2x1ZGUiCisKKyM6IGZldGNoLXBhY2suYzo5MDIKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLWRlZXBlbiIKK21zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBrZWluIC0tZGVlcGVuIgorCisjOiBmZXRjaC1wYWNrLmM6OTEzCittc2dpZCAibm8gY29tbW9uIGNvbW1pdHMiCittc2dzdHIgImtlaW5lIGdlbWVpbnNhbWVuIENvbW1pdHMiCisKKyM6IGZldGNoLXBhY2suYzo5MjUKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IEFiaG9sZW4gZmVobGdlc2NobGFnZW4uIgorCisjOiBmZXRjaC1wYWNrLmM6MTA4NworbXNnaWQgIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIgorbXNnc3RyICJrZWluIMO8YmVyZWluc3RpbW1lbmRlciBSZW1vdGUtQnJhbmNoIgorCisjOiBncGctaW50ZXJmYWNlLmM6MTg1CiBtc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgogbXNnc3RyICJncGcgYmVpbSBTaWduaWVyZW4gZGVyIERhdGVuIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjIyCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJyVzJyIKLW1zZ3N0ciAia29ubnRlIHRlbXBvcsOkcmUgRGF0ZWkgJyVzJyBuaWNodCBlcnN0ZWxsZW4iCisjOiBncGctaW50ZXJmYWNlLmM6MjE1Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAia29ubnRlIHRlbXBvcsOkcmUgRGF0ZWkgbmljaHQgZXJzdGVsbGVuIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjI0CisjOiBncGctaW50ZXJmYWNlLmM6MjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBTY2hyZWliZW4gZGVyIGxvc2dlbMO2c3RlbiBTaWduYXR1ciBuYWNoICclcyciCiAKLSM6IGdyZXAuYzoxNzE4CisjOiBncmVwLmM6MTc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiJyVzJzoga29ubnRlICVzIG5pY2h0IGxlc2VuIgogCi0jOiBncmVwLmM6MTczNSBidWlsdGluL2Nsb25lLmM6MzgyIGJ1aWx0aW4vZGlmZi5jOjg0IGJ1aWx0aW4vcm0uYzoxNTUKKyM6IGdyZXAuYzoxNzk5IGJ1aWx0aW4vY2xvbmUuYzozODEgYnVpbHRpbi9kaWZmLmM6ODQgYnVpbHRpbi9ybS5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogZ3JlcC5jOjE3NDYKKyM6IGdyZXAuYzoxODEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQiCiBtc2dzdHIgIiclcyc6IHJlYWQoKSB6dSBrdXJ6IgogCi0jOiBoZWxwLmM6MjA1CisjOiBoZWxwLmM6MjAzCiAjLCBjLWZvcm1hdAogbXNnaWQgImF2YWlsYWJsZSBnaXQgY29tbWFuZHMgaW4gJyVzJyIKIG1zZ3N0ciAiVm9yaGFuZGVuZSBHaXQtQmVmZWhsZSBpbiAnJXMnIgogCi0jOiBoZWxwLmM6MjEyCisjOiBoZWxwLmM6MjEwCiBtc2dpZCAiZ2l0IGNvbW1hbmRzIGF2YWlsYWJsZSBmcm9tIGVsc2V3aGVyZSBvbiB5b3VyICRQQVRIIgogbXNnc3RyICJWb3JoYW5kZW5lIEdpdC1CZWZlaGxlIGFuZGVyc3dvIGluIElocmVtICRQQVRIIgogCi0jOiBoZWxwLmM6MjQ0CisjOiBoZWxwLmM6MjQxCiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICJBbGxnZW1laW5lIEdpdC1CZWZlaGxlLCB2ZXJ3ZW5kZXQgaW4gdmVyc2NoaWVkZW5lbiBTaXR1YXRpb25lbjoiCiAKLSM6IGhlbHAuYzozMDkKKyM6IGhlbHAuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgYXBwZWFycyB0byBiZSBhIGdpdCBjb21tYW5kLCBidXQgd2Ugd2VyZSBub3RcbiIKQEAgLTY2MCwxMSArMTgxOCwxMSBAQAogIiclcycgc2NoZWludCBlaW4gZ2l0LUJlZmVobCB6dSBzZWluLCBrb25udGUgYWJlclxuIgogIm5pY2h0IGF1c2dlZsO8aHJ0IHdlcmRlbi4gVmllbGxlaWNodCBpc3QgZ2l0LSVzIGZlaGxlcmhhZnQ/IgogCi0jOiBoZWxwLmM6MzY2CisjOiBoZWxwLmM6MzYxCiBtc2dpZCAiVWggb2guIFlvdXIgc3lzdGVtIHJlcG9ydHMgbm8gR2l0IGNvbW1hbmRzIGF0IGFsbC4iCiBtc2dzdHIgIlVoIG9oLiBLZWluZSBHaXQtQmVmZWhsZSBhdWYgSWhyZW0gU3lzdGVtIHZvcmhhbmRlbi4iCiAKLSM6IGhlbHAuYzozODgKKyM6IGhlbHAuYzozODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC5cbiIKQEAgLTY3MywxNyArMTgzMSwxNyBAQAogIldhcm51bmc6IFNpZSBoYWJlbiBkZW4gbmljaHQgZXhpc3RpZXJlbmRlbiBHaXQtQmVmZWhsICclcycgYXVzZ2Vmw7xocnQuXG4iCiAiU2V0emUgZm9ydCB1bnRlciBkZXIgQW5uYWhtZSwgZGFzcyBTaWUgJyVzJyBnZW1laW50IGhhYmVuLiIKIAotIzogaGVscC5jOjM5MworIzogaGVscC5jOjM4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iCiBtc2dzdHIgIkF1dG9tYXRpc2NoZSBBdXNmw7xocnVuZyBpbiAlMC4xZiBTZWt1bmRlbiAuLi4iCiAKLSM6IGhlbHAuYzo0MDAKKyM6IGhlbHAuYzozOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0OiAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kLiBTZWUgJ2dpdCAtLWhlbHAnLiIKIG1zZ3N0ciAiZ2l0OiAnJXMnIGlzdCBrZWluIEdpdC1CZWZlaGwuIFNpZWhlICdnaXQgLS1oZWxwJy4iCiAKLSM6IGhlbHAuYzo0MDQgaGVscC5jOjQ2NAorIzogaGVscC5jOjM5OSBoZWxwLmM6NDY1CiBtc2dpZCAiIgogIlxuIgogIkRpZCB5b3UgbWVhbiB0aGlzPyIKQEAgLTY5NywxMSArMTg1NSwzNyBAQAogIlxuIgogIkhhYmVuIFNpZSBlaW5lcyB2b24gZGllc2VuIGdlbWVpbnQ/IgogCi0jOiBoZWxwLmM6NDYwCisjOiBoZWxwLmM6NDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyAtICVzIgogbXNnc3RyICIlczogJXMgLSAlcyIKIAorIzogaWRlbnQuYzozMzQKK21zZ2lkICIiCisiXG4iCisiKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgorIlxuIgorIlJ1blxuIgorIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwieW91QGV4YW1wbGUuY29tXCJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiWW91ciBOYW1lXCJcbiIKKyJcbiIKKyJ0byBzZXQgeW91ciBhY2NvdW50J3MgZGVmYXVsdCBpZGVudGl0eS5cbiIKKyJPbWl0IC0tZ2xvYmFsIHRvIHNldCB0aGUgaWRlbnRpdHkgb25seSBpbiB0aGlzIHJlcG9zaXRvcnkuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogQml0dGUgZ2ViZW4gU2llIGFuLCB3ZXIgU2llIHNpbmQuXG4iCisiXG4iCisiRsO8aHJlbiBTaWVcbiIKKyJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCBcInlvdUBleGFtcGxlLmNvbVwiXG4iCisiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSBcIllvdXIgTmFtZVwiXG4iCisiXG4iCisiYXVzLCB1bSBkYXMgYWxzIElocmUgc3RhbmRhcmRtw6TDn2lnZSBJZGVudGl0w6R0IHp1IHNldHplbi5cbiIKKyJMYXNzZW4gU2llIGRpZSBPcHRpb24gXCItLWdsb2JhbFwiIHdlZywgdW0gZGllIElkZW50aXTDpHQgbnVyXG4iCisiZsO8ciBkaWVzZXMgUmVwb3NpdG9yeSB6dSBzZXR6ZW4uXG4iCisKICM6IGxvY2tmaWxlLmM6MTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTczMSw4MyArMTkxNSw3OCBAQAogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBjYWNoZSIKIG1zZ3N0ciAiTGVzZW4gZGVzIFp3aXNjaGVuc3BlaWNoZXJzIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBtZXJnZS5jOjk0IGJ1aWx0aW4vYW0uYzoyMDA3IGJ1aWx0aW4vYW0uYzoyMDQyIGJ1aWx0aW4vY2hlY2tvdXQuYzozNzUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODYgYnVpbHRpbi9jbG9uZS5jOjczMgorIzogbWVyZ2UuYzo5NiBidWlsdGluL2FtLmM6MjAwMCBidWlsdGluL2FtLmM6MjAzNSBidWlsdGluL2NoZWNrb3V0LmM6Mzc0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTg4IGJ1aWx0aW4vY2xvbmUuYzo3MzEKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIktvbm50ZSBuZXVlIEluZGV4LURhdGVpIG5pY2h0IHNjaHJlaWJlbi4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4OQotIywgYy1mb3JtYXQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwOQogbXNnaWQgIihiYWQgY29tbWl0KVxuIgogbXNnc3RyICIodW5nw7xsdGlnZXIgQ29tbWl0KVxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRpbmZvX2NhY2hlIGZhaWxlZCBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICJhZGRpbmZvX2NhY2hlIGbDvHIgUGZhZCAnJXMnIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMQogbXNnaWQgImVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBFcnN0ZWxsZW4gZGVyIFwiVHJlZVwiLU9iamVrdGUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjY4OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIEVyc3RlbGxlbiBkZXMgUGZhZGVzICclcyclcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzAwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMgdG8gbWFrZSByb29tIGZvciBzdWJkaXJlY3RvcnlcbiIKIG1zZ3N0ciAiRW50ZmVybmUgJXMsIHVtIFBsYXR6IGbDvHIgVW50ZXJ2ZXJ6ZWljaG5pcyB6dSBzY2hhZmZlblxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3MTQgbWVyZ2UtcmVjdXJzaXZlLmM6NzM1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NDUgbWVyZ2UtcmVjdXJzaXZlLmM6NzY0CiBtc2dpZCAiOiBwZXJoYXBzIGEgRC9GIGNvbmZsaWN0PyIKIG1zZ3N0ciAiOiB2aWVsbGVpY2h0IGVpbiBWZXJ6ZWljaG5pcy9EYXRlaS1Lb25mbGlrdD8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcyNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKIG1zZ3N0ciAidmVyd2VpZ2VyZSwgZGEgdW52ZXJzaW9uaWVydGUgRGF0ZWllbiBpbiAnJXMnIHZlcmxvcmVuIGdlaGVuIHfDvHJkZW4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzk2IGJ1aWx0aW4vY2F0LWZpbGUuYzozNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMgJyVzJyIKIG1zZ3N0ciAia2FubiBPYmpla3QgJXMgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzY3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKIG1zZ3N0ciAiQmxvYiBlcndhcnRldCBmw7xyICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5MCBidWlsdGluL2Nsb25lLmM6Mzc2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MjIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKLW1zZ3N0ciAiRmVobGVyIGJlaW0gw5ZmZm5lbiB2b24gJyVzJyIKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnOiAlcyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gw5ZmZm5lbiB2b24gJyVzJzogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODMzCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyciCi1tc2dzdHIgIkZlaGxlciBiZWltIEVyc3RlbGxlbiBlaW5lciBzeW1ib2xpc2NoZW4gVmVya27DvHBmdW5nIGbDvHIgJyVzJyIKK21zZ2lkICJmYWlsZWQgdG8gc3ltbGluayAnJXMnOiAlcyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gRXJzdGVsbGVuIGVpbmVyIHN5bWJvbGlzY2hlbiBWZXJrbsO8cGZ1bmcgZsO8ciAnJXMnOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODAxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG8gbm90IGtub3cgd2hhdCB0byBkbyB3aXRoICUwNm8gJXMgJyVzJyIKIG1zZ3N0ciAid2Vpw58gbmljaHQgd2FzIG1pdCAlMDZvICVzICclcycgenUgbWFjaGVuIGlzdCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTM5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5NzgKIG1zZ2lkICJGYWlsZWQgdG8gZXhlY3V0ZSBpbnRlcm5hbCBtZXJnZSIKIG1zZ3N0ciAiRmVobGVyIGJlaSBBdXNmw7xocnVuZyBkZXMgaW50ZXJuZW4gTWVyZ2VzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5NDMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkICVzIHRvIGRhdGFiYXNlIgogbXNnc3RyICJLb25udGUgJXMgbmljaHQgenVyIERhdGVuYmFuayBoaW56dWbDvGdlbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTU5Ci1tc2dpZCAidW5zdXBwb3J0ZWQgb2JqZWN0IHR5cGUgaW4gdGhlIHRyZWUiCi1tc2dzdHIgIm5pY2h0IHVudGVyc3TDvHR6dGVyIE9iamVrdHR5cCBpbSBWZXJ6ZWljaG5pcyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAzNCBtZXJnZS1yZWN1cnNpdmUuYzoxMDQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgxIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTgxNiw3ICsxOTk1LDcgQEAKICJLT05GTElLVCAoJXMvbMO2c2NoZW4pOiAlcyBnZWzDtnNjaHQgaW4gJXMgdW5kICVzIGluICVzLiBTdGFuZCAlcyB2b24gJXMgd3VyZGUgIgogImltIEFyYmVpdHNiZXJlaWNoIGdlbGFzc2VuLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA0MCBtZXJnZS1yZWN1cnNpdmUuYzoxMDUzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDg3IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTgyNSwyMCArMjAwNCwyMCBAQAogIktPTkZMSUtUICglcy9sw7ZzY2hlbik6ICVzIGdlbMO2c2NodCBpbiAlcyB1bmQgJXMgaW4gJXMuIFN0YW5kICVzIHZvbiAlcyB3dXJkZSAiCiAiaW0gQXJiZWl0c2JlcmVpY2ggYmVpICVzIGdlbGFzc2VuLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0MwogbXNnaWQgInJlbmFtZSIKIG1zZ3N0ciAidW1iZW5lbm5lbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0MwogbXNnaWQgInJlbmFtZWQiCiBtc2dzdHIgInVtYmVuYW5udCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhIGRpcmVjdG9yeSBpbiAlcyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiJXMgaXN0IGVpbiBWZXJ6ZWljaG5pcyBpbiAlcywgZsO8Z2UgZXMgc3RhdHRkZXNzZW4gYWxzICVzIGhpbnp1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTcyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBcIiVzXCItPlwiJXNcIiBpbiBicmFuY2ggXCIlc1wiIHJlbmFtZSBcIiVzIgpAQCAtODQ3LDE1MSArMjAyNiwxNTkgQEAKICJLT05GTElLVCAodW1iZW5lbm5lbi91bWJlbmVubmVuKTogQmVuZW5uZSB1bSBcIiVzXCItPlwiJXNcIiBpbiBCcmFuY2ggXCIlc1wiICIKICJ1bmQgXCIlc1wiLT5cIiVzXCIgaW4gQnJhbmNoIFwiJXNcIiVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTc3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjMwCiBtc2dpZCAiIChsZWZ0IHVucmVzb2x2ZWQpIgogbXNnc3RyICIgKGJsZWlidCB1bmF1ZmdlbMO2c3QpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjMxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAiIgogIktPTkZMSUtUICh1bWJlbmVubmVuL3VtYmVuZW5uZW4pOiBCZW5lbm5lIHVtICVzLT4lcyBpbiAlcy4gQmVuZW5uZSB1bSAlcy0+JXMgIgogImluICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjYxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzIGFuZCAlcyB0byAlcyBpbnN0ZWFkIgogbXNnc3RyICJCZW5lbm5lIHN0YXR0ZGVzc2VuICVzIG5hY2ggJXMgdW5kICVzIG5hY2ggJXMgdW0iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NjAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAlcyBhZGRlZCBpbiAlcyIKIG1zZ3N0ciAiIgogIktPTkZMSUtUICh1bWJlbmVubmVuL2hpbnp1ZsO8Z2VuKTogQmVuZW5uZSB1bSAlcy0+JXMgaW4gJXMuICVzIGhpbnp1Z2Vmw7xndCBpbiAiCiAiJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIG1lcmdlZCAlcyIKIG1zZ3N0ciAiRsO8Z2UgenVzYW1tZW5nZWbDvGhydGUgRGF0ZWkgJXMgaGluenUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NzUgbWVyZ2UtcmVjdXJzaXZlLmM6MTY3NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1MyBtZXJnZS1yZWN1cnNpdmUuYzoxNzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICJGw7xnZSBzdGF0dGRlc3NlbiBhbHMgJXMgaGluenUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MjYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICJrYW5uIE9iamVrdCAlcyBuaWNodCBsZXNlbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUyOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgaXMgbm90IGEgYmxvYiIKIG1zZ3N0ciAiT2JqZWt0ICVzIGlzdCBrZWluIEJsb2IiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1ODEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NjYKIG1zZ2lkICJtb2RpZnkiCiBtc2dzdHIgIsOkbmRlcm4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1ODEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NjYKIG1zZ2lkICJtb2RpZmllZCIKIG1zZ3N0ciAiZ2XDpG5kZXJ0IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTkxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjc2CiBtc2dpZCAiY29udGVudCIKIG1zZ3N0ciAiSW5oYWx0IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTk4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgzCiBtc2dpZCAiYWRkL2FkZCIKIG1zZ3N0ciAiaGluenVmw7xnZW4vaGluenVmw7xnZW4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCAlcyAobWVyZ2VkIHNhbWUgYXMgZXhpc3RpbmcpIgogbXNnc3RyICIlcyBhdXNnZWxhc3NlbiAoRXJnZWJuaXMgZGVzIE1lcmdlcyBleGlzdGllcnQgYmVyZWl0cykiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0by1tZXJnaW5nICVzIgogbXNnc3RyICJhdXRvbWF0aXNjaGVyIE1lcmdlIHZvbiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY1MCBnaXQtc3VibW9kdWxlLnNoOjk0MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNiBnaXQtc3VibW9kdWxlLnNoOjkyNAogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAiU3VibW9kdWwiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCiBtc2dzdHIgIktPTkZMSUtUICglcyk6IE1lcmdlLUtvbmZsaWt0IGluICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIgogbXNnc3RyICJFbnRmZXJuZSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc2MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg1NwogbXNnaWQgImZpbGUvZGlyZWN0b3J5IgogbXNnc3RyICJEYXRlaS9WZXJ6ZWljaG5pcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc2OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2MwogbXNnaWQgImRpcmVjdG9yeS9maWxlIgogbXNnc3RyICJWZXJ6ZWljaG5pcy9EYXRlaSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc3MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBUaGVyZSBpcyBhIGRpcmVjdG9yeSB3aXRoIG5hbWUgJXMgaW4gJXMuIEFkZGluZyAlcyBhcyAlcyIKIG1zZ3N0ciAiIgogIktPTkZMSUtUICglcyk6IEVzIGV4aXN0aWVydCBiZXJlaXRzIGVpbiBWZXJ6ZWljaG5pcyAlcyBpbiAlcy4gRsO8Z2UgJXMgYWxzICVzICIKICJoaW56dS4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3ODEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nICVzIgogbXNnc3RyICJGw7xnZSAlcyBoaW56dSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc5OAotbXNnaWQgIkZhdGFsIG1lcmdlIGZhaWx1cmUsIHNob3VsZG4ndCBoYXBwZW4uIgotbXNnc3RyICJGYXRhbGVyIE1lcmdlLUZlaGxlci4gU29sbHRlIG5pY2h0IHBhc3NpZXJlbi4iCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MTQKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUhIgogbXNnc3RyICJCZXJlaXRzIGFrdHVlbGwhIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODI2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKIG1zZ3N0ciAiWnVzYW1tZW5mw7xocmVuIGRlciBcIlRyZWVcIi1PYmpla3RlICVzIHVuZCAlcyBmZWhsZ2VzY2hsYWdlbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg1NgotIywgYy1mb3JtYXQKLW1zZ2lkICJVbnByb2Nlc3NlZCBwYXRoPz8/ICVzIgotbXNnc3RyICJ1bnZlcmFyYmVpdGV0ZXIgUGZhZD8/PyAlcyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkwNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAwNgogbXNnaWQgIk1lcmdpbmc6IgogbXNnc3RyICJNZXJnZToiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yOiIKIG1zZ2lkX3BsdXJhbCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yczoiCiBtc2dzdHJbMF0gIiV1IGdlbWVpbnNhbWVuIFZvcmfDpG5nZXItQ29tbWl0IGdlZnVuZGVuIgogbXNnc3RyWzFdICIldSBnZW1laW5zYW1lIFZvcmfDpG5nZXItQ29tbWl0cyBnZWZ1bmRlbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk1NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA1OAogbXNnaWQgIm1lcmdlIHJldHVybmVkIG5vIGNvbW1pdCIKIG1zZ3N0ciAiTWVyZ2UgaGF0IGtlaW5lbiBDb21taXQgenVyw7xja2dlZ2ViZW4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICJLb25udGUgT2JqZWt0ICclcycgbmljaHQgcGFyc2VuLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAyMiBidWlsdGluL21lcmdlLmM6NjQ5IGJ1aWx0aW4vbWVyZ2UuYzo4MzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMzUgYnVpbHRpbi9tZXJnZS5jOjY0MSBidWlsdGluL21lcmdlLmM6Nzg4CiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGluZGV4LiIKIG1zZ3N0ciAiS29ubnRlIEluZGV4IG5pY2h0IHNjaHJlaWJlbi4iCiAKKyM6IG5vdGVzLW1lcmdlLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG4iCisiUGxlYXNlLCB1c2UgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcgb3IgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyB0byAiCisiY29tbWl0L2Fib3J0IHRoZSBwcmV2aW91cyBtZXJnZSBiZWZvcmUgeW91IHN0YXJ0IGEgbmV3IG5vdGVzIG1lcmdlLiIKK21zZ3N0ciAiIgorIlNpZSBoYWJlbiBJaHJlbiB2b3JoZXJpZ2VuIE1lcmdlIHZvbiBOb3RpemVuIG5pY2h0IGFiZ2VzY2hsb3NzZW4gKCVzIGV4aXN0aWVydCkuXG4iCisiQml0dGUgYmVudXR6ZW4gU2llICdnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnIG9kZXIgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JywgdW1cbiIKKyJkZW4gdm9yaGVyaWdlbiBNZXJnZSB6dSBjb21taXR0ZW4gYnp3LiBhYnp1YnJlY2hlbiwgYmV2b3IgU2llIGVpbmVuIG5ldWVuIE1lcmdlXG4iCisidm9uIE5vdGl6ZW4gYmVnaW5uZW4uIgorCisjOiBub3Rlcy1tZXJnZS5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuIgorbXNnc3RyICJTaWUgaGFiZW4gSWhyZW4gTWVyZ2Ugdm9uIE5vdGl6ZW4gbmljaHQgYWJnZXNjaGxvc3NlbiAoJXMgZXhpc3RpZXJ0KS4iCisKICM6IG5vdGVzLXV0aWxzLmM6NDEKIG1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCiBtc2dzdHIgIiIKQEAgLTEwNTAsNyArMjIzNyw3IEBACiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCiBtc2dzdHIgImZlaGxlcmhhZnRlciBPYmpla3QtTmFtZSAnJXMnIgogCi0jOiBwYXRoLmM6Nzk2CisjOiBwYXRoLmM6ODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtYWtlICVzIHdyaXRhYmxlIGJ5IGdyb3VwIgogbXNnc3RyICJLb25udGUgR3J1cHBlbnNjaHJlaWJyZWNodCBmw7xyICVzIG5pY2h0IHNldHplbi4iCkBAIC0xMTA5LDEyICsyMjk2LDIwIEBACiBtc2dzdHIgIiIKICIlczogUGZhZHNwZXppZmlrYXRpb25zYW5nYWJlIHdpcmQgdm9uIGRpZXNlbSBCZWZlaGwgbmljaHQgdW50ZXJzdMO8dHp0OiAlcyIKIAotIzogcGF0aHNwZWMuYzo0MzMKKyM6IHBhdGhzcGVjLmM6NDA4Cittc2dpZCAiIgorImVtcHR5IHN0cmluZ3MgYXMgcGF0aHNwZWNzIHdpbGwgYmUgbWFkZSBpbnZhbGlkIGluIHVwY29taW5nIHJlbGVhc2VzLiBwbGVhc2UgIgorInVzZSAuIGluc3RlYWQgaWYgeW91IG1lYW50IHRvIG1hdGNoIGFsbCBwYXRocyIKK21zZ3N0ciAiIgorIkxlZXJlIFN0cmluZ3MgYWxzIFBmYWRzcGV6aWZpa2F0aW9uZW4gd2VyZGVuIGluIGtvbW1lbmRlbiBSZWxlYXNlcyB1bmfDvGx0aWcuXG4iCisiQml0dGUgYmVudXR6ZW4gU2llIHN0YXR0ZGVzc2VuIC4gd2VubiBTaWUgYWxsZSBQZmFkZSBtZWluZW4uIgorCisjOiBwYXRoc3BlYy5jOjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgIlBmYWRzcGV6aWZpa2F0aW9uICclcycgaXN0IGhpbnRlciBlaW5lciBzeW1ib2xpc2NoZW4gVmVya27DvHBmdW5nIgogCi0jOiBwYXRoc3BlYy5jOjQ0MgorIzogcGF0aHNwZWMuYzo0NDkKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKICJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgpAQCAtMTEyNiwxMSArMjMyMSw3IEBACiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAiS29ubnRlIC0tcHJldHR5IEZvcm1hdCBuaWNodCBwYXJzZW4uIgogCi0jOiBwcm9ncmVzcy5jOjIzNQotbXNnaWQgImRvbmUiCi1tc2dzdHIgIkZlcnRpZyIKLQotIzogcmVhZC1jYWNoZS5jOjEyODEKKyM6IHJlYWQtY2FjaGUuYzoxMzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbmRleC52ZXJzaW9uIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMTEzOSw3ICsyMzMwLDcgQEAKICJpbmRleC52ZXJzaW9uIGdlc2V0enQsIGFiZXIgV2VydCB1bmfDvGx0aWcuXG4iCiAiVmVyd2VuZGUgVmVyc2lvbiAlaSIKIAotIzogcmVhZC1jYWNoZS5jOjEyOTEKKyM6IHJlYWQtY2FjaGUuYzoxMzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJHSVRfSU5ERVhfVkVSU0lPTiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKQEAgLTExNDgsMjMgKzIzMzksMjIgQEAKICJHSVRfSU5ERVhfVkVSU0lPTiBnZXNldHp0LCBhYmVyIFdlcnQgdW5nw7xsdGlnLlxuIgogIlZlcndlbmRlIFZlcnNpb24gJWkiCiAKLSM6IHJlZnMuYzo1NDMgYnVpbHRpbi9tZXJnZS5jOjc2NCBidWlsdGluL21lcmdlLmM6ODgzIGJ1aWx0aW4vbWVyZ2UuYzo5ODUKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5OTUKKyM6IHJlZnMuYzo1NzYgYnVpbHRpbi9tZXJnZS5jOjg0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCB6dW0gU2NocmVpYmVuIMO2ZmZuZW4uIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyMjQzCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlICVzOiAlcyIKIG1zZ3N0ciAiS29ubnRlIFJlZmVyZW56ICVzIG5pY2h0IGVudGZlcm5lbjogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjIyNDYKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2VzOiAlcyIKIG1zZ3N0ciAiS29ubnRlIFJlZmVyZW56ZW4gbmljaHQgZW50ZmVybmVuOiAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjI1NQorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIHJlZmVyZW5jZSAlcyIKIG1zZ3N0ciAiS29ubnRlIFJlZmVyZW56ICVzIG5pY2h0IGzDtnNjaGVuIgpAQCAtMTI5MywxMiArMjQ4MywxMiBAQAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgIklnbm9yaWVyZSBmZWhsZXJoYWZ0ZSBSZWZlcmVueiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE2NTEKKyM6IHJlZi1maWx0ZXIuYzoxNjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIG1pc3NpbmciCiBtc2dzdHIgIkZvcm1hdDogJSUoZW5kKSBBdG9tIGZlaGx0IgogCi0jOiByZWYtZmlsdGVyLmM6MTcwNQorIzogcmVmLWZpbHRlci5jOjE2ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICJNaXNzZ2ViaWxkZXRlciBPYmpla3RuYW1lICVzIgpAQCAtMTMyMiw3NyArMjUxMiw3NyBAQAogbXNnaWQgIkludGVybmFsIGVycm9yIgogbXNnc3RyICJJbnRlcm5lciBGZWhsZXIiCiAKLSM6IHJlbW90ZS5jOjE2NzggcmVtb3RlLmM6MTcyMQorIzogcmVtb3RlLmM6MTY3NyByZW1vdGUuYzoxNzIwCiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiSEVBRCB6ZWlndCBhdWYga2VpbmVuIEJyYW5jaCIKIAotIzogcmVtb3RlLmM6MTY4NworIzogcmVtb3RlLmM6MTY4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaDogJyVzJyIKIG1zZ3N0ciAiS2VpbiBzb2xjaGVyIEJyYW5jaDogJyVzJyIKIAotIzogcmVtb3RlLmM6MTY5MAorIzogcmVtb3RlLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiS2VpbiBVcHN0cmVhbS1CcmFuY2ggZsO8ciBCcmFuY2ggJyVzJyBrb25maWd1cmllcnQuIgogCi0jOiByZW1vdGUuYzoxNjk2CisjOiByZW1vdGUuYzoxNjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICJVcHN0cmVhbS1CcmFuY2ggJyVzJyBuaWNodCBhbHMgUmVtb3RlLVRyYWNraW5nLUJyYW5jaCBnZXNwZWljaGVydCIKIAotIzogcmVtb3RlLmM6MTcxMQorIzogcmVtb3RlLmM6MTcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIGRlc3RpbmF0aW9uICclcycgb24gcmVtb3RlICclcycgaGFzIG5vIGxvY2FsIHRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiIgogIlppZWwgZsO8ciBcInB1c2hcIiAnJXMnIGF1ZiBSZW1vdGUtUmVwb3NpdG9yeSAnJXMnIGhhdCBrZWluZW4gbG9rYWwgZ2Vmb2xndGVuICIKICJCcmFuY2giCiAKLSM6IHJlbW90ZS5jOjE3MjYKKyM6IHJlbW90ZS5jOjE3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAiQnJhbmNoICclcycgaGF0IGtlaW5lbiBVcHN0cmVhbS1CcmFuY2ggZ2VzZXR6dCIKIAotIzogcmVtb3RlLmM6MTczNworIzogcmVtb3RlLmM6MTczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIHJlZnNwZWNzIGZvciAnJXMnIGRvIG5vdCBpbmNsdWRlICclcyciCiBtc2dzdHIgIlB1c2gtUmVmc3BlY3MgZsO8ciAnJXMnIGJlaW5oYWx0ZW4gbmljaHQgJyVzJyIKIAotIzogcmVtb3RlLmM6MTc1MAorIzogcmVtb3RlLmM6MTc0OQogbXNnaWQgInB1c2ggaGFzIG5vIGRlc3RpbmF0aW9uIChwdXNoLmRlZmF1bHQgaXMgJ25vdGhpbmcnKSIKIG1zZ3N0ciAia2VpbiBaaWVsIGbDvHIgXCJwdXNoXCIgKHB1c2guZGVmYXVsdCBpc3QgJ25vdGhpbmcnKSIKIAotIzogcmVtb3RlLmM6MTc3MgorIzogcmVtb3RlLmM6MTc3MQogbXNnaWQgImNhbm5vdCByZXNvbHZlICdzaW1wbGUnIHB1c2ggdG8gYSBzaW5nbGUgZGVzdGluYXRpb24iCiBtc2dzdHIgImthbm4gZWluemVsbmVzIFppZWwgZsO8ciBcInB1c2hcIiBpbSBNb2R1cyAnc2ltcGxlJyBuaWNodCBhdWZsw7ZzZW4iCiAKLSM6IHJlbW90ZS5jOjIwNzQKKyM6IHJlbW90ZS5jOjIwNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgogbXNnc3RyICIiCiAiSWhyIEJyYW5jaCBiYXNpZXJ0IGF1ZiAnJXMnLCBhYmVyIGRlciBVcHN0cmVhbS1CcmFuY2ggd3VyZGUgZW50ZmVybnQuXG4iCiAKLSM6IHJlbW90ZS5jOjIwNzgKKyM6IHJlbW90ZS5jOjIwNzcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKIG1zZ3N0ciAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgenVtIEJlaGViZW4pXG4iCiAKLSM6IHJlbW90ZS5jOjIwODEKKyM6IHJlbW90ZS5jOjIwODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgdXAtdG8tZGF0ZSB3aXRoICclcycuXG4iCiBtc2dzdHIgIklociBCcmFuY2ggaXN0IGF1ZiBkZW0gc2VsYmVuIFN0YW5kIHdpZSAnJXMnLlxuIgogCi0jOiByZW1vdGUuYzoyMDg1CisjOiByZW1vdGUuYzoyMDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgogbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCiBtc2dzdHJbMF0gIklociBCcmFuY2ggaXN0IHZvciAnJXMnIHVtICVkIENvbW1pdC5cbiIKIG1zZ3N0clsxXSAiSWhyIEJyYW5jaCBpc3Qgdm9yICclcycgdW0gJWQgQ29tbWl0cy5cbiIKIAotIzogcmVtb3RlLmM6MjA5MQorIzogcmVtb3RlLmM6MjA5MAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCiBtc2dzdHIgIiAgKGJlbnV0emVuIFNpZSBcImdpdCBwdXNoXCIsIHVtIGxva2FsZSBDb21taXRzIHp1IHB1YmxpemllcmVuKVxuIgogCi0jOiByZW1vdGUuYzoyMDk0CisjOiByZW1vdGUuYzoyMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ2lkX3BsdXJhbCAiIgpAQCAtMTQwMiwxMiArMjU5MiwxMiBAQAogbXNnc3RyWzFdICIiCiAiSWhyIEJyYW5jaCBpc3QgenUgJyVzJyB1bSAlZCBDb21taXRzIGhpbnRlcmhlciwgdW5kIGthbm4gdm9yZ2VzcHVsdCB3ZXJkZW4uXG4iCiAKLSM6IHJlbW90ZS5jOjIxMDIKKyM6IHJlbW90ZS5jOjIxMDEKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIHVwZGF0ZSB5b3VyIGxvY2FsIGJyYW5jaClcbiIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBwdWxsXCIsIHVtIElocmVuIGxva2FsZW4gQnJhbmNoIHp1IGFrdHVhbGlzaWVyZW4pXG4iCiAKLSM6IHJlbW90ZS5jOjIxMDUKKyM6IHJlbW90ZS5jOjIxMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCkBAIC0xNDIyLDQ0ICsyNjEyLDQ0IEBACiAiSWhyIEJyYW5jaCB1bmQgJyVzJyBzaW5kIGRpdmVyZ2llcnQsXG4iCiAidW5kIGhhYmVuIGpld2VpbHMgJWQgdW5kICVkIHVudGVyc2NoaWVkbGljaGUgQ29tbWl0cy5cbiIKIAotIzogcmVtb3RlLmM6MjExNQorIzogcmVtb3RlLmM6MjExNAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycylcbiIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBwdWxsXCIsIHVtIElocmVuIEJyYW5jaCBtaXQgZGVtIFJlbW90ZS1CcmFuY2ggIgogInp1c2FtbWVuenVmw7xocmVuKVxuIgogCi0jOiByZXZpc2lvbi5jOjIxNDIKKyM6IHJldmlzaW9uLmM6MjE1OAogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggYXBwZWFycyB0byBiZSBicm9rZW4iCiBtc2dzdHIgIklociBha3R1ZWxsZXIgQnJhbmNoIHNjaGVpbnQgZmVobGVyaGFmdCB6dSBzZWluLiIKIAotIzogcmV2aXNpb24uYzoyMTQ1CisjOiByZXZpc2lvbi5jOjIxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnIGRvZXMgbm90IGhhdmUgYW55IGNvbW1pdHMgeWV0IgogbXNnc3RyICJJaHIgYWt0dWVsbGVyIEJyYW5jaCAnJXMnIGhhdCBub2NoIGtlaW5lIENvbW1pdHMuIgogCi0jOiByZXZpc2lvbi5jOjIzMzkKKyM6IHJldmlzaW9uLmM6MjM1NQogbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1maXJzdC1wYXJlbnQgdW5kIC0tYmlzZWN0IHNpbmQgaW5rb21wYXRpYmVsLiIKIAotIzogcnVuLWNvbW1hbmQuYzo5MgorIzogcnVuLWNvbW1hbmQuYzoxMDYKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCiBtc2dzdHIgIsOWZmZuZW4gdm9uIC9kZXYvbnVsbCBmZWhsZ2VzY2hsYWdlbiIKIAotIzogcnVuLWNvbW1hbmQuYzo5NAorIzogcnVuLWNvbW1hbmQuYzoxMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZHVwMiglZCwlZCkgZmFpbGVkIgogbXNnc3RyICJkdXAyKCVkLCVkKSBmZWhsZ2VzY2hsYWdlbiIKIAotIzogc2VuZC1wYWNrLmM6Mjk1CisjOiBzZW5kLXBhY2suYzoyOTcKIG1zZ2lkICJmYWlsZWQgdG8gc2lnbiB0aGUgcHVzaCBjZXJ0aWZpY2F0ZSIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gU2lnbmllcmVuIGRlcyBcInB1c2hcIi1aZXJ0aWZpa2F0ZXMiCiAKLSM6IHNlbmQtcGFjay5jOjQwNAorIzogc2VuZC1wYWNrLmM6NDEwCiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZCBwdXNoIgogbXNnc3RyICIiCiAiZGllIEdlZ2Vuc2VpdGUgdW50ZXJzdMO8dHp0IGtlaW5lbiBzaWduaWVydGVuIFZlcnNhbmQgKFwiLS1zaWduZWQgcHVzaFwiKSIKIAotIzogc2VuZC1wYWNrLmM6NDA2CisjOiBzZW5kLXBhY2suYzo0MTIKIG1zZ2lkICIiCiAibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCiAic2lnbmVkIHB1c2giCkBAIC0xNDY3LDExICsyNjU3LDIzIEBACiAia2VpbiBWZXJzYW5kIGRlcyBcInB1c2hcIi1aZXJ0aWZpa2F0ZXMsIGRhIGRpZSBHZWdlbnNlaXRlIGtlaW5lbiBzaWduaWVydGVuXG4iCiAiVmVyc2FuZCAoXCItLXNpZ25lZCBwdXNoXCIpIHVudGVyc3TDvHR6dCIKIAotIzogc2VuZC1wYWNrLmM6NDE4CisjOiBzZW5kLXBhY2suYzo0MjQKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgImRpZSBHZWdlbnNlaXRlIHVudGVyc3TDvHR6dCBrZWluZW4gYXRvbWFyZW4gVmVyc2FuZCAoXCItLWF0b21pYyBwdXNoXCIpIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzQKKyM6IHNlbmQtcGFjay5jOjQyOQorbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgorbXNnc3RyICJkaWUgR2VnZW5zZWl0ZSB1bnRlcnN0w7x0enQga2VpbmUgUHVzaC1PcHRpb25lbiIKKworIzogc2VxdWVuY2VyLmM6MTcxCittc2dpZCAicmV2ZXJ0IgorbXNnc3RyICJSZXZlcnQiCisKKyM6IHNlcXVlbmNlci5jOjE3MQorbXNnaWQgImNoZXJyeS1waWNrIgorbXNnc3RyICJDaGVycnktUGljayIKKworIzogc2VxdWVuY2VyLmM6MjI4CiBtc2dpZCAiIgogImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKICJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPiciCkBAIC0xNDc5LDcgKzI2ODEsNyBAQAogIm5hY2ggQXVmbMO2c3VuZyBkZXIgS29uZmxpa3RlLCBtYXJraWVyZW4gU2llIGRpZSBrb3JyaWdpZXJ0ZW4gUGZhZGVcbiIKICJtaXQgJ2dpdCBhZGQgPFBmYWRlPicgb2RlciAnZ2l0IHJtIDxQZmFkZT4nIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzcKKyM6IHNlcXVlbmNlci5jOjIzMQogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nXG4iCkBAIC0xNDg5LDIyOCArMjY5MSwyOTEgQEAKICJtaXQgJ2dpdCBhZGQgPFBmYWRlPicgb2RlciAnZ2l0IHJtIDxQZmFkZT4ndW5kIHRyYWdlbiBTaWUgZGFzIEVyZ2VibmlzIG1pdFxuIgogIidnaXQgY29tbWl0JyBlaW4iCiAKLSM6IHNlcXVlbmNlci5jOjE5MCBzZXF1ZW5jZXIuYzo4MzMgc2VxdWVuY2VyLmM6OTEyCisjOiBzZXF1ZW5jZXIuYzoyNDQgc2VxdWVuY2VyLmM6MTIwOQogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgdG8gJXMiCi1tc2dzdHIgIktvbm50ZSBuaWNodCBuYWNoICVzIHNjaHJlaWJlbiIKK21zZ2lkICJjb3VsZCBub3QgbG9jayAnJXMnIgorbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBzcGVycmVuIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTMKKyM6IHNlcXVlbmNlci5jOjI0NyBzZXF1ZW5jZXIuYzoxMTI1IHNlcXVlbmNlci5jOjEyMTQKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRXJyb3Igd3JhcHBpbmcgdXAgJXMiCi1tc2dzdHIgIkZlaGxlciBiZWkgTmFjaGJlcmVpdHVuZyB2b24gJXMiCittc2dpZCAiY291bGQgbm90IHdyaXRlIHRvICclcyciCittc2dzdHIgIktvbm50ZSBuaWNodCBuYWNoICclcycgc2NocmVpYmVuLiIKIAotIzogc2VxdWVuY2VyLmM6MjA4Ci1tc2dpZCAiWW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZXJyeS1waWNrLiIKLW1zZ3N0ciAiSWhyZSBsb2thbGVuIMOEbmRlcnVuZ2VuIHfDvHJkZW4gZHVyY2ggZGVuIENoZXJyeS1QaWNrIMO8YmVyc2NocmllYmVuIHdlcmRlbi4iCisjOiBzZXF1ZW5jZXIuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlIGVvbCB0byAnJXMnIgorbXNnc3RyICJLb25udGUgRU9MIG5pY2h0IG5hY2ggJyVzJyBzY2hyZWliZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTAKLW1zZ2lkICJZb3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgcmV2ZXJ0LiIKLW1zZ3N0ciAiSWhyZSBsb2thbGVuIMOEbmRlcnVuZ2VuIHfDvHJkZW4gZHVyY2ggZGVuIFJldmVydCDDvGJlcnNjaHJpZWJlbiB3ZXJkZW4uIgorIzogc2VxdWVuY2VyLmM6MjU1IHNlcXVlbmNlci5jOjExMzAgc2VxdWVuY2VyLmM6MTIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJy4iCittc2dzdHIgIkZlaGxlciBiZWltIEZlcnRpZ3N0ZWxsZW4gdm9uICclcycuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTMKLW1zZ2lkICJDb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCisjOiBzZXF1ZW5jZXIuYzoyNzkgYnVpbHRpbi9hbS5jOjI1OSBidWlsdGluL2NvbW1pdC5jOjc0OSBidWlsdGluL21lcmdlLmM6MTAzMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgorbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBsZXNlbiIKKworIzogc2VxdWVuY2VyLmM6MzA1CisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iCittc2dzdHIgIklocmUgbG9rYWxlbiDDhG5kZXJ1bmdlbiB3w7xyZGVuIGR1cmNoIGRlbiAlcyDDvGJlcnNjaHJpZWJlbiB3ZXJkZW4uIgorCisjOiBzZXF1ZW5jZXIuYzozMDkKK21zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCiBtc2dzdHIgIiIKICJDb21taXR0ZW4gU2llIElocmUgw4RuZGVydW5nZW4gb2RlciBiZW51dHplbiBTaWUgXCJzdGFzaFwiLCB1bSBmb3J0enVmYWhyZW4uIgogCisjOiBzZXF1ZW5jZXIuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhc3QtZm9yd2FyZCIKK21zZ3N0ciAiJXM6IFZvcnNwdWxlbiIKKwogIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIgb3IgImNoZXJyeS1waWNrIgotIzogc2VxdWVuY2VyLmM6MzAwCisjOiBzZXF1ZW5jZXIuYzozOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6IEtvbm50ZSBuZXVlIEluZGV4LURhdGVpIG5pY2h0IHNjaHJlaWJlbiIKIAotIzogc2VxdWVuY2VyLmM6MzE4Ci1tc2dpZCAiQ291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIKLW1zZ3N0ciAiS29ubnRlIENvbW1pdCB2b24gSEVBRCBuaWNodCBhdWZsw7ZzZW5cbiIKKyM6IHNlcXVlbmNlci5jOjQxOAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCittc2dzdHIgIktvbm50ZSBIRUFELUNvbW1pdCBuaWNodCBhdWZsw7ZzZW5cbiIKIAotIzogc2VxdWVuY2VyLmM6MzM4Ci1tc2dpZCAiVW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlXG4iCisjOiBzZXF1ZW5jZXIuYzo0MzgKK21zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKIG1zZ3N0ciAiS29ubnRlIENhY2hlLVZlcnplaWNobmlzIG5pY2h0IGFrdHVhbGlzaWVyZW5cbiIKIAotIzogc2VxdWVuY2VyLmM6MzkwCisjOiBzZXF1ZW5jZXIuYzo0ODMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgorbXNnaWQgIiIKKyJ5b3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZVxuIgorIklmIHRoZXNlIGNoYW5nZXMgYXJlIG1lYW50IHRvIGJlIHNxdWFzaGVkIGludG8gdGhlIHByZXZpb3VzIGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisiSWYgdGhleSBhcmUgbWVhbnQgdG8gZ28gaW50byBhIG5ldyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJXNcbiIKKyJcbiIKKyJJbiBib3RoIGNhc2VzLCBvbmNlIHlvdSdyZSBkb25lLCBjb250aW51ZSB3aXRoOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCittc2dzdHIgIiIKKyJFcyBiZWZpbmRlbiBzaWNoIHp1bSBDb21taXQgdm9yZ2VtZXJrdGUgw4RuZGVydW5nZW4gaW4gSWhyZW0gQXJiZWl0c3ZlcnplaWNobmlzLlxuIgorIldlbm4gZGllc2Ugw4RuZGVydW5nZW4gaW4gZGVuIHZvcmhlcmlnZW4gQ29tbWl0IGF1Zmdlbm9tbWVuIHdlcmRlbiBzb2xsZW4sXG4iCisiZsO8aHJlbiBTaWUgYXVzOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisiV2VubiBkYXJhdXMgZWluIG5ldWVyIENvbW1pdCBlcnpldWd0IHdlcmRlbiBzb2xsLCBmw7xocmVuIFNpZSBhdXM6XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICVzXG4iCisiXG4iCisiSW0gQW5zY2hsdXNzIGbDvGhyZW4gU2llIHp1bSBGb3J0ZmFocmVuIGF1czpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorCisjOiBzZXF1ZW5jZXIuYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgogbXNnc3RyICJLb25udGUgQ29tbWl0ICVzIG5pY2h0IHBhcnNlblxuIgogCi0jOiBzZXF1ZW5jZXIuYzozOTUKKyM6IHNlcXVlbmNlci5jOjU3MgogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzXG4iCiBtc2dzdHIgIktvbm50ZSBFbHRlcm4tQ29tbWl0ICVzIG5pY2h0IHBhcnNlblxuIgogCi0jOiBzZXF1ZW5jZXIuYzo0NjAKLW1zZ2lkICJZb3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgorIzogc2VxdWVuY2VyLmM6NjU2Cittc2dpZCAieW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKIG1zZ3N0ciAiSWhyZSBJbmRleC1EYXRlaSBpc3QgbmljaHQgenVzYW1tZW5nZWbDvGhydC4iCiAKLSM6IHNlcXVlbmNlci5jOjQ3OQorIzogc2VxdWVuY2VyLmM6Njc1CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKK21zZ2lkICJjb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCiBtc2dzdHIgIkNvbW1pdCAlcyBpc3QgZWluIE1lcmdlLCBhYmVyIGRpZSBPcHRpb24gLW0gd3VyZGUgbmljaHQgYW5nZWdlYmVuLiIKIAotIzogc2VxdWVuY2VyLmM6NDg3CisjOiBzZXF1ZW5jZXIuYzo2ODMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgotbXNnc3RyICJDb21taXQgJXMgaGF0IGtlaW5lbiBFbHRlcm50ZWlsICVkIgorbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKK21zZ3N0ciAiQ29tbWl0ICVzIGhhdCBrZWluZW4gRWx0ZXJuLUNvbW1pdCAlZCIKIAotIzogc2VxdWVuY2VyLmM6NDkxCisjOiBzZXF1ZW5jZXIuYzo2ODcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiTWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKK21zZ2lkICJtYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgogbXNnc3RyICJIYXVwdGxpbmllIHd1cmRlIHNwZXppZml6aWVydCwgYWJlciBDb21taXQgJXMgaXN0IGtlaW4gTWVyZ2UuIgogCi0jLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgInJldmVydCIgb3IKLSMuICJjaGVycnktcGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExCi0jOiBzZXF1ZW5jZXIuYzo1MDQKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKKyMuICJyZXZlcnQiIG9yICJwaWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEuCisjOiBzZXF1ZW5jZXIuYzo3MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzIgogbXNnc3RyICIlczoga2FubiBFbHRlcm4tQ29tbWl0ICVzIG5pY2h0IHBhcnNlbiIKIAotIzogc2VxdWVuY2VyLmM6NTA4CisjOiBzZXF1ZW5jZXIuYzo3MDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCi1tc2dzdHIgIkthbm4ga2VpbmUgQ29tbWl0LUJlc2NocmVpYnVuZyBmw7xyICVzIGJla29tbWVuIgorbXNnaWQgImNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgorbXNnc3RyICJLYW5uIGtlaW5lIENvbW1pdC1CZXNjaHJlaWJ1bmcgZsO8ciAlcyBiZWtvbW1lbi4iCiAKLSM6IHNlcXVlbmNlci5jOjU5NAorIzogc2VxdWVuY2VyLmM6Nzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgIktvbm50ZSBcInJldmVydFwiIG5pY2h0IGF1ZiAlcy4uLiAoJXMpIGF1c2bDvGhyZW4iCiAKLSM6IHNlcXVlbmNlci5jOjU5NQorIzogc2VxdWVuY2VyLmM6Nzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKIG1zZ3N0ciAiS29ubnRlICVzLi4uICglcykgbmljaHQgYW53ZW5kZW4iCiAKLSM6IHNlcXVlbmNlci5jOjYzMAorIzogc2VxdWVuY2VyLmM6ODMzCiBtc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCiBtc2dzdHIgImxlZXJlIE1lbmdlIHZvbiBDb21taXRzIMO8YmVyZ2ViZW4iCiAKLSM6IHNlcXVlbmNlci5jOjYzOAorIzogc2VxdWVuY2VyLmM6ODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IEZlaGxlciBiZWltIExlc2VuIGRlcyBJbmRleCIKIAotIzogc2VxdWVuY2VyLmM6NjQyCisjOiBzZXF1ZW5jZXIuYzo4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczogRmVobGVyIGJlaW0gQWt0dWFsaXNpZXJlbiBkZXMgSW5kZXgiCiAKLSM6IHNlcXVlbmNlci5jOjcwMgorIzogc2VxdWVuY2VyLmM6OTQ0CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCAlcyBkdXJpbmcgYSAlcyIKLW1zZ3N0ciAiS2FubiAlcyBuaWNodCB3w6RocmVuZCBlaW5lcyAlcyBkdXJjaGbDvGhyZW4iCittc2dpZCAiaW52YWxpZCBsaW5lICVkOiAlLipzIgorbXNnc3RyICJVbmfDvGx0aWdlIFplaWxlICVkOiAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzo3MjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHBhcnNlIGxpbmUgJWQuIgotbXNnc3RyICJLb25udGUgWmVpbGUgJWQgbmljaHQgcGFyc2VuLiIKLQotIzogc2VxdWVuY2VyLmM6NzI5Ci1tc2dpZCAiTm8gY29tbWl0cyBwYXJzZWQuIgorIzogc2VxdWVuY2VyLmM6OTUwCittc2dpZCAibm8gY29tbWl0cyBwYXJzZWQuIgogbXNnc3RyICJLZWluZSBDb21taXRzIGdlcGFyc3QuIgogCi0jOiBzZXF1ZW5jZXIuYzo3NDEKKyM6IHNlcXVlbmNlci5jOjk2NgogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3Qgb3BlbiAlcyIKLW1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IMO2ZmZuZW4iCittc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJy4iCittc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGxlc2VuLiIKIAotIzogc2VxdWVuY2VyLmM6NzQ1CisjOiBzZXF1ZW5jZXIuYzo5NzIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgJXMuIgotbXNnc3RyICJLb25udGUgJXMgbmljaHQgbGVzZW4uIgorbXNnaWQgInVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAnJXMnIgorbXNnc3RyICJVbmJlbnV0emJhcmVzIEluc3RydWt0aW9uc2JsYXR0OiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzo3NTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICVzIgotbXNnc3RyICJVbmJlbnV0emJhcmVzIEluc3RydWt0aW9uc2JsYXR0OiAlcyIKKyM6IHNlcXVlbmNlci5jOjk4MworbXNnaWQgImNhbm5vdCBjaGVycnktcGljayBkdXJpbmcgYSByZXZlcnQuIgorbXNnc3RyICJLYW5uIENoZXJyeS1QaWNrIG5pY2h0IHfDpGhyZW5kIGVpbmVzIFJldmVydHMgYXVzZsO8aHJlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjc4MgorIzogc2VxdWVuY2VyLmM6OTg1Cittc2dpZCAiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iCittc2dzdHIgIkthbm4gUmV2ZXJ0IG5pY2h0IHfDpGhyZW5kIGVpbmVzIENoZXJyeS1QaWNrcyBhdXNmw7xocmVuLiIKKworIzogc2VxdWVuY2VyLmM6MTAyOAogIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGtleTogJXMiCittc2dpZCAiaW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBTY2hsw7xzc2VsOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6Nzg1IGJ1aWx0aW4vcHVsbC5jOjUwIGJ1aWx0aW4vcHVsbC5jOjUyCisjOiBzZXF1ZW5jZXIuYzoxMDMxCiAjLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKK21zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIFdlcnQgZsO8ciAlczogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjc5NQorIzogc2VxdWVuY2VyLmM6MTA2MwogIywgYy1mb3JtYXQKLW1zZ2lkICJNYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJXMiCi1tc2dzdHIgIkZlaGxlcmhhZnRlcyBPcHRpb25zYmxhdHQ6ICVzIgorbXNnaWQgIm1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAnJXMnIgorbXNnc3RyICJGZWhsZXJoYWZ0ZXMgT3B0aW9uc2JsYXR0OiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzo4MTQKKyM6IHNlcXVlbmNlci5jOjExMDEKIG1zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgogbXNnc3RyICJcImNoZXJyeS1waWNrXCIgb2RlciBcInJldmVydFwiIGlzdCBiZXJlaXRzIGltIEdhbmciCiAKLSM6IHNlcXVlbmNlci5jOjgxNQorIzogc2VxdWVuY2VyLmM6MTEwMgogbXNnaWQgInRyeSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCiBtc2dzdHIgInZlcnN1Y2hlbiBTaWUgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogCi0jOiBzZXF1ZW5jZXIuYzo4MTkKKyM6IHNlcXVlbmNlci5jOjExMDYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICVzIgotbXNnc3RyICJLb25udGUgXCJzZXF1ZW5jZXJcIi1WZXJ6ZWljaG5pcyAlcyBuaWNodCBlcnN0ZWxsZW4iCittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICclcyciCittc2dzdHIgIktvbm50ZSBcInNlcXVlbmNlclwiLVZlcnplaWNobmlzICclcycgbmljaHQgZXJzdGVsbGVuLiIKIAotIzogc2VxdWVuY2VyLmM6ODM1IHNlcXVlbmNlci5jOjkxNgotIywgYy1mb3JtYXQKLW1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcy4iCi1tc2dzdHIgIkZlaGxlciBiZWltIEVpbnBhY2tlbiB2b24gJXMuIgorIzogc2VxdWVuY2VyLmM6MTEyMAorbXNnaWQgImNvdWxkIG5vdCBsb2NrIEhFQUQiCittc2dzdHIgIktvbm50ZSBIRUFEIG5pY2h0IHNwZXJyZW4iCiAKLSM6IHNlcXVlbmNlci5jOjg1NCBzZXF1ZW5jZXIuYzo5ODYKKyM6IHNlcXVlbmNlci5jOjExNTEgc2VxdWVuY2VyLmM6MTI4OQogbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAia2VpbiBcImNoZXJyeS1waWNrXCIgb2RlciBcInJldmVydFwiIGltIEdhbmciCiAKLSM6IHNlcXVlbmNlci5jOjg1NgorIzogc2VxdWVuY2VyLmM6MTE1MwogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgImthbm4gSEVBRCBuaWNodCBhdWZsw7ZzZW4iCiAKLSM6IHNlcXVlbmNlci5jOjg1OAorIzogc2VxdWVuY2VyLmM6MTE1NSBzZXF1ZW5jZXIuYzoxMTg5CiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgImthbm4gbmljaHQgYWJicmVjaGVuOiBiaW4gYXVmIGVpbmVtIEJyYW5jaCwgZGVyIG5vY2ggZ2Vib3JlbiB3aXJkIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzggYnVpbHRpbi9mZXRjaC5jOjYxMCBidWlsdGluL2ZldGNoLmM6ODUxCisjOiBzZXF1ZW5jZXIuYzoxMTc1IGJ1aWx0aW4vZ3JlcC5jOjU3OAogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgogbXNnc3RyICJrYW5uICclcycgbmljaHQgw7ZmZm5lbiIKIAotIzogc2VxdWVuY2VyLmM6ODgwCisjOiBzZXF1ZW5jZXIuYzoxMTc3CiAjLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkICVzOiAlcyIKLW1zZ3N0ciAiS2FubiAlcyBuaWNodCBsZXNlbjogJXMiCittc2dpZCAiY2Fubm90IHJlYWQgJyVzJzogJXMiCittc2dzdHIgIkthbm4gJyVzJyBuaWNodCBsZXNlbjogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjg4MQorIzogc2VxdWVuY2VyLmM6MTE3OAogbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgIlVuZXJ3YXJ0ZXRlcyBEYXRlaWVuZGUiCiAKLSM6IHNlcXVlbmNlci5jOjg4NworIzogc2VxdWVuY2VyLmM6MTE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCiBtc2dzdHIgImdlc3BlaWNoZXJ0ZSBcInByZS1jaGVycnktcGlja1wiIEhFQUQgRGF0ZWkgJyVzJyBpc3QgYmVzY2jDpGRpZ3QiCiAKLSM6IHNlcXVlbmNlci5jOjkwOQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgZm9ybWF0ICVzLiIKLW1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IGZvcm1hdGllcmVuLiIKLQotIzogc2VxdWVuY2VyLmM6MTA1NAorIzogc2VxdWVuY2VyLmM6MTM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2FuJ3QgY2hlcnJ5LXBpY2sgYSAlcyIKIG1zZ3N0ciAiJXM6ICVzIGthbm4gbmljaHQgaW4gXCJjaGVycnktcGlja1wiIGJlbnV0enQgd2VyZGVuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDU3CisjOiBzZXF1ZW5jZXIuYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVzOiB1bmfDvGx0aWdlciBDb21taXQiCiAKLSM6IHNlcXVlbmNlci5jOjEwOTEKLW1zZ2lkICJDYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCisjOiBzZXF1ZW5jZXIuYzoxMzkxCittc2dpZCAiY2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgogbXNnc3RyICJLYW5uIG5pY2h0IGFscyBhbGxlcmVyc3RlbiBDb21taXQgZWluZW4gUmV2ZXJ0IGF1c2bDvGhyZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDkyCi1tc2dpZCAiQ2FuJ3QgY2hlcnJ5LXBpY2sgaW50byBlbXB0eSBoZWFkIgotbXNnc3RyICJLYW5uIG5pY2h0IGFscyBhbGxlcmVyc3RlbiBDb21taXQgZWluZW4gQ2hlcnJ5LVBpY2sgYXVzZsO8aHJlbi4iCi0KLSM6IHNldHVwLmM6MjQ4CisjOiBzZXR1cC5jOjE2MAogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKLW1zZ3N0ciAiRmVobGVyIGJlaW0gTGVzZW4gdm9uICVzIgorbXNnaWQgIiIKKyIlczogbm8gc3VjaCBwYXRoIGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCisiVXNlICdnaXQgPGNvbW1hbmQ+IC0tIDxwYXRoPi4uLicgdG8gc3BlY2lmeSBwYXRocyB0aGF0IGRvIG5vdCBleGlzdCBsb2NhbGx5LiIKK21zZ3N0ciAiIgorIiVzOiBrZWluIHNvbGNoZXIgUGZhZCBpbSBBcmJlaXRzdmVyemVpY2huaXMuXG4iCisiQmVudXR6ZW4gU2llICdnaXQgPEJlZmVobD4gLS0gPFBmYWQ+Li4uJyB6dXIgQW5nYWJlIHZvbiBQZmFkZW4sIGRpZSBsb2thbFxuIgorIm5pY2h0IGV4aXN0aWVyZW4uIgorCisjOiBzZXR1cC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IHVua25vd24gcmV2aXNpb24gb3IgcGF0aCBub3QgaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKKyJVc2UgJy0tJyB0byBzZXBhcmF0ZSBwYXRocyBmcm9tIHJldmlzaW9ucywgbGlrZSB0aGlzOlxuIgorIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCittc2dzdHIgIiIKKyJtZWhyZGV1dGlnZXMgQXJndW1lbnQgJyVzJzogdW5iZWthbm50ZXIgQ29tbWl0IG9kZXIgUGZhZCBleGlzdGllcnQgbmljaHRcbiIKKyJpbSBBcmJlaXRzdmVyemVpY2huaXNcbiIKKyJCZW51dHplbiBTaWUgJy0tJywgdW0gUGZhZGUgdW5kIENvbW1pdHMgenUgdHJlbm5lbiwgw6RobmxpY2ggd2llOlxuIgorIidnaXQgPEJlZmVobD4gWzxDb21taXQ+Li4uXSAtLSBbPERhdGVpPi4uLl0nIgorCisjOiBzZXR1cC5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IGJvdGggcmV2aXNpb24gYW5kIGZpbGVuYW1lXG4iCisiVXNlICctLScgdG8gc2VwYXJhdGUgcGF0aHMgZnJvbSByZXZpc2lvbnMsIGxpa2UgdGhpczpcbiIKKyInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgorbXNnc3RyICIiCisibWVocmRldXRpZ2VzIEFyZ3VtZW50ICclcyc6IHNvd29obCBDb21taXQgYWxzIGF1Y2ggRGF0ZWluYW1lXG4iCisiQmVudXR6ZW4gU2llICctLScsIHVtIFBmYWRlIHVuZCBDb21taXRzIHp1IHRyZW5uZW4sIMOkaG5saWNoIHdpZTpcbiIKKyInZ2l0IDxCZWZlaGw+IFs8Q29tbWl0Pi4uLl0gLS0gWzxEYXRlaT4uLi5dJyIKIAogIzogc2V0dXAuYzo0NjgKICMsIGMtZm9ybWF0CkBAIC0xNzIxLDIxICsyOTg2LDk3IEBACiBtc2dpZCAidW5rbm93biByZXBvc2l0b3J5IGV4dGVuc2lvbnMgZm91bmQ6IgogbXNnc3RyICJVbmJla2FubnRlIFJlcG9zaXRvcnktRXJ3ZWl0ZXJ1bmdlbiBnZWZ1bmRlbjoiCiAKLSM6IHNoYTFfZmlsZS5jOjEwODAKKyM6IHNldHVwLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgorbXNnc3RyICJLZWluIEdpdC1SZXBvc2l0b3J5IChvZGVyIGlyZ2VuZGVpbiBFbHRlcm52ZXJ6ZWljaG5pcyk6ICVzIgorCisjOiBzZXR1cC5jOjc2NCBzZXR1cC5jOjkxNSBidWlsdGluL2luZGV4LXBhY2suYzoxNjQxCittc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCittc2dzdHIgIkthbm4gbmljaHQgenVyw7xjayB6dSBBcmJlaXRzdmVyemVpY2huaXMgd2VjaHNlbG4iCisKKyM6IHNldHVwLmM6ODQ1Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiS29ubnRlIGFrdHVlbGxlcyBBcmJlaXRzdmVyemVpY2huaXMgbmljaHQgbGVzZW4uIgorCisjOiBzZXR1cC5jOjkyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCisiU3RvcHBpbmcgYXQgZmlsZXN5c3RlbSBib3VuZGFyeSAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSBub3Qgc2V0KS4iCittc2dzdHIgIiIKKyJLZWluIEdpdC1SZXBvc2l0b3J5IChvZGVyIGlyZ2VuZGVpbiBFbHRlcm52ZXJ6ZWljaG5pcyBiaXMgenVtIEVpbmjDpG5nZXB1bmt0ICIKKyIlcylcbiIKKyJTdG9wcGUgYmVpIERhdGVpc3lzdGVtZ3JlbnplIChHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNIG5pY2h0IGdlc2V0enQpLiIKKworIzogc2V0dXAuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0byAnJXMvLi4nIgorbXNnc3RyICJLYW5uIG5pY2h0IGluIFZlcnplaWNobmlzICclcy8uLicgd2VjaHNlbG4iCisKKyM6IHNldHVwLmM6OTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQcm9ibGVtIHdpdGggY29yZS5zaGFyZWRSZXBvc2l0b3J5IGZpbGVtb2RlIHZhbHVlICgwJS4zbykuXG4iCisiVGhlIG93bmVyIG9mIGZpbGVzIG11c3QgYWx3YXlzIGhhdmUgcmVhZCBhbmQgd3JpdGUgcGVybWlzc2lvbnMuIgorbXNnc3RyICIiCisiUHJvYmxlbSBtaXQgV2VydCBmw7xyIERhdGVpbW9kdXMgKDAlLjNvKSB2b24gY29yZS5zaGFyZWRSZXBvc2l0b3J5LlxuIgorIkRlciBCZXNpdHplciBkZXIgRGF0ZWllbiBtdXNzIGltbWVyIExlc2UtIHVuZCBTY2hyZWlicmVjaHRlIGhhYmVuLiIKKworIzogc2hhMV9maWxlLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiUGZhZCAnJXMnIGV4aXN0aWVydCBuaWNodCIKKworIzogc2hhMV9maWxlLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgYXMgYSBsaW5rZWQgY2hlY2tvdXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuIgorbXNnc3RyICIiCisiUmVmZXJlbnppZXJ0ZXMgUmVwb3NpdG9yeSAnJXMnIHdpcmQgbm9jaCBuaWNodCBhbHMgdmVya27DvHBmdGVzXG4iCisiQXJiZWl0c3ZlcnplaWNobmlzIHVudGVyc3TDvHR6dC4iCisKKyM6IHNoYTFfZmlsZS5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgorbXNnc3RyICJSZWZlcmVuemllcnRlcyBSZXBvc2l0b3J5ICclcycgaXN0IGtlaW4gbG9rYWxlcyBSZXBvc2l0b3J5LiIKKworIzogc2hhMV9maWxlLmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKK21zZ3N0ciAiIgorIlJlZmVyZW56aWVydGVzIFJlcG9zaXRvcnkgJyVzJyBoYXQgZWluZSB1bnZvbGxzdMOkbmRpZ2UgSGlzdG9yaWUgKHNoYWxsb3cpLiIKKworIzogc2hhMV9maWxlLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKK21zZ3N0ciAiIgorIlJlZmVyZW56aWVydGVzIFJlcG9zaXRvcnkgJyVzJyBpc3QgbWl0IGvDvG5zdGxpY2hlbiBWb3Jnw6RuZ2VybiAoXCJncmFmdHNcIikgIgorImVpbmdlaMOkbmd0LiIKKworIzogc2hhMV9maWxlLmM6MTE1OQogbXNnaWQgIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIgogbXNnc3RyICJPZmZzZXQgdm9yIEVuZGUgZGVyIFBhY2tkYXRlaSAoZmVobGVyaGFmdGUgSW5kZXhkYXRlaT8pIgogCi0jOiBzaGExX2ZpbGUuYzoyNDU4CisjOiBzaGExX2ZpbGUuYzoyNTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZWZvcmUgc3RhcnQgb2YgcGFjayBpbmRleCBmb3IgJXMgKGNvcnJ1cHQgaW5kZXg/KSIKIG1zZ3N0ciAiT2Zmc2V0IHZvciBCZWdpbm4gZGVzIFBhY2stSW5kZXggZsO8ciAlcyAoYmVzY2jDpGRpZ3RlciBJbmRleD8pIgogCi0jOiBzaGExX2ZpbGUuYzoyNDYyCisjOiBzaGExX2ZpbGUuYzoyNTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZXlvbmQgZW5kIG9mIHBhY2sgaW5kZXggZm9yICVzICh0cnVuY2F0ZWQgaW5kZXg/KSIKIG1zZ3N0ciAiT2Zmc2V0IGhpbnRlciBFbmRlIGRlcyBQYWNrLUluZGV4IGbDvHIgJXMgKGFiZ2VzY2huaXR0ZW5lciBJbmRleD8pIgogCi0jOiBzaGExX25hbWUuYzo0NjIKKyM6IHNoYTFfbmFtZS5jOjQwNworIywgYy1mb3JtYXQKK21zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKK21zZ3N0ciAiS3VyemVyIFNIQS0xICVzIGlzdCBtZWhyZGV1dGlnLiIKKworIzogc2hhMV9uYW1lLmM6NDE4Cittc2dpZCAiVGhlIGNhbmRpZGF0ZXMgYXJlOiIKK21zZ3N0ciAiRGllIEthbmRpZGF0ZW4gc2luZDoiCisKKyM6IHNoYTFfbmFtZS5jOjU3OAogbXNnaWQgIiIKICJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgogImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKQEAgLTE3ODUsODMgKzMxMjYsMTUwIEBACiBtc2dpZCAic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKIG1zZ3N0ciAiS29ubnRlIGFrdHVhbGlzaWVydGUgLmdpdG1vZHVsZXMtRGF0ZWkgbmljaHQgenVtIENvbW1pdCB2b3JtZXJrZW4iCiAKLSM6IHN1Ym1vZHVsZS5jOjE3NworIzogc3VibW9kdWxlLmM6MTU4CiBtc2dpZCAibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hKb2JzIgogbXNnc3RyICJOZWdhdGl2ZSBXZXJ0ZSBmw7xyIHN1Ym1vZHVsZS5mZXRjaEpvYnMgbmljaHQgZXJsYXVidCIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjM1NQorIzogc3VibW9kdWxlLWNvbmZpZy5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgV2VydCBmw7xyICVzIgogCi0jOiB0cmFpbGVyLmM6MjM3CisjOiB0cmFpbGVyLmM6MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgdHJhaWxlciBjb21tYW5kICclcycgZmFpbGVkIgogbXNnc3RyICJBdXNmw7xocmVuIGRlcyBBbmhhbmctQmVmZWhscyAnJXMnIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiB0cmFpbGVyLmM6NDkyIHRyYWlsZXIuYzo0OTYgdHJhaWxlci5jOjUwMCB0cmFpbGVyLmM6NTU0IHRyYWlsZXIuYzo1NTgKLSM6IHRyYWlsZXIuYzo1NjIKKyM6IHRyYWlsZXIuYzo0NzEgdHJhaWxlci5jOjQ3NSB0cmFpbGVyLmM6NDc5IHRyYWlsZXIuYzo1MzMgdHJhaWxlci5jOjUzNworIzogdHJhaWxlci5jOjU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHZhbHVlICclcycgZm9yIGtleSAnJXMnIgogbXNnc3RyICJ1bmJla2FubnRlciBXZXJ0ICclcycgZsO8ciBTY2hsw7xzc2VsICVzIgogCi0jOiB0cmFpbGVyLmM6NTQ0IHRyYWlsZXIuYzo1NDkgYnVpbHRpbi9yZW1vdGUuYzoyODkKKyM6IHRyYWlsZXIuYzo1MjMgdHJhaWxlci5jOjUyOCBidWlsdGluL3JlbW90ZS5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gb25lICVzIgogbXNnc3RyICJtZWhyIGFscyBlaW4gJXMiCiAKLSM6IHRyYWlsZXIuYzo1ODIKKyM6IHRyYWlsZXIuYzo2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1wdHkgdHJhaWxlciB0b2tlbiBpbiB0cmFpbGVyICclLipzJyIKIG1zZ3N0ciAibGVlcmVyIEFuaGFuZy1Ub2tlbiBpbiBBbmhhbmcgJyUuKnMnIgogCi0jOiB0cmFpbGVyLmM6NzAyCisjOiB0cmFpbGVyLmM6Njk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGlucHV0IGZpbGUgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIEVpbmdhYmUtRGF0ZWkgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogdHJhaWxlci5jOjcwNQorIzogdHJhaWxlci5jOjY5OAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgImtvbm50ZSBuaWNodCB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUgbGVzZW4iCiAKLSM6IHRyYWlsZXIuYzo4NTcgYnVpbHRpbi9hbS5jOjQyCisjOiB0cmFpbGVyLmM6OTI5IGJ1aWx0aW4vYW0uYzo0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAlcyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgbGVzZW4iCiAKLSM6IHRyYWlsZXIuYzo4NTkKKyM6IHRyYWlsZXIuYzo5MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBpcyBub3QgYSByZWd1bGFyIGZpbGUiCiBtc2dzdHIgIkRhdGVpICclcycgaXN0IGtlaW5lIHJlZ3Vsw6RyZSBEYXRlaSIKIAotIzogdHJhaWxlci5jOjg2MQorIzogdHJhaWxlci5jOjkzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCB3cml0YWJsZSBieSB1c2VyIgogbXNnc3RyICJEYXRlaSAlcyBpc3Qgdm9tIEJlbnV0emVyIG5pY2h0IGJlc2NocmVpYmJhci4iCiAKLSM6IHRyYWlsZXIuYzo4NzMKKyM6IHRyYWlsZXIuYzo5NDUKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKIG1zZ3N0ciAia29ubnRlIHRlbXBvcsOkcmUgRGF0ZWkgJyVzJyBuaWNodCDDtmZmbmVuIgogCi0jOiB0cmFpbGVyLmM6OTEyCisjOiB0cmFpbGVyLmM6OTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgdGVtcG9yYXJ5IGZpbGUgdG8gJXMiCiBtc2dzdHIgImtvbm50ZSB0ZW1wb3LDpHJlIERhdGVpIG5pY2h0IHp1ICVzIHVtYmVuZW5uZW4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDQxCisjOiB0cmFuc3BvcnQuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCBzZXQgdXBzdHJlYW0gb2YgJyVzJyB0byAnJXMnIG9mICclcydcbiIKK21zZ3N0ciAiV8O8cmRlIFVwc3RyZWFtLUJyYW5jaCB2b24gJyVzJyB6dSAnJXMnIHZvbiAnJXMnIHNldHplblxuIgorCisjOiB0cmFuc3BvcnQuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgorbXNnc3RyICJ0cmFuc3BvcnQ6IHVuZ8O8bHRpZ2UgLS1kZXB0aCBPcHRpb24gJyVzJyIKKworIzogdHJhbnNwb3J0LmM6ODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKKyJub3QgYmUgZm91bmQgb24gYW55IHJlbW90ZTpcbiIKK21zZ3N0ciAiIgorIkRpZSBmb2xnZW5kZW4gU3VibW9kdWwtUGZhZGUgZW50aGFsdGVuIMOEbmRlcnVuZ2VuLCBkaWUgaW4ga2VpbmVtXG4iCisiUmVtb3RlLVJlcG9zaXRvcnkgZ2VmdW5kZW4gd3VyZGVuOlxuIgorCisjOiB0cmFuc3BvcnQuYzo4MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlBsZWFzZSB0cnlcbiIKKyJcbiIKKyJcdGdpdCBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzPW9uLWRlbWFuZFxuIgorIlxuIgorIm9yIGNkIHRvIHRoZSBwYXRoIGFuZCB1c2VcbiIKKyJcbiIKKyJcdGdpdCBwdXNoXG4iCisiXG4iCisidG8gcHVzaCB0aGVtIHRvIGEgcmVtb3RlLlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiQml0dGUgdmVyc3VjaGVuIFNpZVxuIgorIlxuIgorIlx0Z2l0IHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kXG4iCisiXG4iCisib2RlciB3ZWNoc2VsbiBTaWUgaW4gZGFzIFZlcnplaWNobmlzIHVuZCBiZW51dHplbiBTaWVcbiIKKyJcbiIKKyJcdGdpdCBwdXNoXG4iCisiXG4iCisienVtIFZlcnNlbmRlbiB6dSBlaW5lbSBSZW1vdGUtUmVwb3NpdG9yeS5cbiIKKyJcbiIKKworIzogdHJhbnNwb3J0LmM6ODI5Cittc2dpZCAiQWJvcnRpbmcuIgorbXNnc3RyICJBYmJydWNoLiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgcmVmICVzIgogbXNnc3RyICJLb25udGUgUmVmZXJlbnogJXMgbmljaHQgbGVzZW4uIgogCisjOiB0cmVlLXdhbGsuYzozMQorbXNnaWQgInRvby1zaG9ydCB0cmVlIG9iamVjdCIKK21zZ3N0ciAienUga3VyemVzIFRyZWUtT2JqZWt0IgorCisjOiB0cmVlLXdhbGsuYzozNworbXNnaWQgIm1hbGZvcm1lZCBtb2RlIGluIHRyZWUgZW50cnkiCittc2dzdHIgImZlaGxlcmhhZnRlciBNb2R1cyBpbiBUcmVlLUVpbnRyYWciCisKKyM6IHRyZWUtd2Fsay5jOjQxCittc2dpZCAiZW1wdHkgZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSIKK21zZ3N0ciAibGVlcmVyIERhdGVpbmFtZSBpbiBUcmVlLUVpbnRyYWciCisKKyM6IHRyZWUtd2Fsay5jOjExMworbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCittc2dzdHIgInp1IGt1cnplIFRyZWUtRGF0ZWkiCisKICM6IHVucGFjay10cmVlcy5jOjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKLSIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgY2FuIHN3aXRjaCBicmFuY2hlcy4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgIiIKICJJaHJlIGxva2FsZW4gw4RuZGVydW5nZW4gaW4gZGVuIGZvbGdlbmRlbiBEYXRlaWVuIHfDvHJkZW4gYmVpbSBBdXNjaGVja2VuXG4iCiAiw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgotIiUlc0JpdHRlIGNvbW1pdHRlbiBvZGVyIHN0YXNoZW4gU2llIElocmUgw4RuZGVydW5nZW4sIGJldm9yIFNpZSBCcmFuY2hlcyB3ZWNoc2Vsbi4iCisiJSVzQml0dGUgY29tbWl0dGVuIG9kZXIgc3Rhc2hlbiBTaWUgSWhyZSDDhG5kZXJ1bmdlbiwgYmV2b3IgU2llIEJyYW5jaGVzXG4iCisid2VjaHNlbG4uIgogCiAjOiB1bnBhY2stdHJlZXMuYzo2NgogIywgYy1mb3JtYXQKQEAgLTE4NzcsNyArMzI4NSw3IEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKLSIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIKKyIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCiAiSWhyZSBsb2thbGVuIMOEbmRlcnVuZ2VuIGluIGRlbiBmb2xnZW5kZW4gRGF0ZWllbiB3w7xyZGVuIGR1cmNoIGRlbiBNZXJnZVxuIgogIsO8YmVyc2NocmllYmVuIHdlcmRlbjpcbiIKQEAgLTE4OTcsNyArMzMwNSw3IEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKLSIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgY2FuICVzLiIKKyIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgJXMuIgogbXNnc3RyICIiCiAiSWhyZSBsb2thbGVuIMOEbmRlcnVuZ2VuIGluIGRlbiBmb2xnZW5kZW4gRGF0ZWllbiB3w7xyZGVuIGR1cmNoICVzXG4iCiAiw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgpAQCAtMTkyNiw3ICszMzM0LDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIHN3aXRjaCBicmFuY2hlcy4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgogbXNnc3RyICIiCiAiRGllIGZvbGdlbmRlbiB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgd8O8cmRlbiBkdXJjaFxuIgogImRlbiBDaGVja291dCBlbnRmZXJudCB3ZXJkZW46XG4iCkBAIC0xOTM4LDcgKzMzNDYsOCBAQAogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgogIiUlcyIKIG1zZ3N0ciAiIgotIkRpZSBmb2xnZW5kZW4gdW52ZXJzaW9uaWVydGVuIERhdGVpZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIHfDvHJkZW4gZHVyY2ggZGVuXG4iCisiRGllIGZvbGdlbmRlbiB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgd8O8cmRlbiBkdXJjaCAiCisiZGVuXG4iCiAiQ2hlY2tvdXQgZW50ZmVybnQgd2VyZGVuOlxuIgogIiUlcyIKIApAQCAtMTk0NiwxMCArMzM1NSwxMCBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCi0iRGllIGZvbGdlbmRlbiB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgd8O8cmRlbiBkdXJjaCBkZW5cbiIKLSJNZXJnZSBlbnRmZXJudCB3ZXJkZW46XG4iCisiRGllIGZvbGdlbmRlbiB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgd8O8cmRlbiBkdXJjaFxuIgorImRlbiBNZXJnZSBlbnRmZXJudCB3ZXJkZW46XG4iCiAiJSVzQml0dGUgdmVyc2NoaWViZW4gb2RlciBlbnRmZXJuZW4gU2llIGRpZXNlLCBiZXZvciBzaWUgbWVyZ2VuLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6OTIKQEAgLTE5NTgsNyArMzM2Nyw4IEBACiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCiAiJSVzIgogbXNnc3RyICIiCi0iRGllIGZvbGdlbmRlbiB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgd8O8cmRlbiBkdXJjaCBkZW5cbiIKKyJEaWUgZm9sZ2VuZGVuIHVudmVyc2lvbmllcnRlbiBEYXRlaWVuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyB3w7xyZGVuIGR1cmNoICIKKyJkZW5cbiIKICJNZXJnZSBlbnRmZXJudCB3ZXJkZW46XG4iCiAiJSVzIgogCkBAIC0xOTY2LDEwICszMzc2LDEwIEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiAlcy4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSAlcy4iCiBtc2dzdHIgIiIKLSJEaWUgZm9sZ2VuZGVuIHVudmVyc2lvbmllcnRlbiBEYXRlaWVuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyB3w7xyZGVuIGR1cmNoIGRlblxuIgotIiVzIGVudGZlcm50IHdlcmRlbjpcbiIKKyJEaWUgZm9sZ2VuZGVuIHVudmVyc2lvbmllcnRlbiBEYXRlaWVuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyB3w7xyZGVuIGR1cmNoXG4iCisiZGVuICVzIGVudGZlcm50IHdlcmRlbjpcbiIKICIlJXNCaXR0ZSB2ZXJzY2hpZWJlbiBvZGVyIGVudGZlcm5lbiBTaWUgZGllc2UsIGJldm9yIHNpZSAlcyBhdXNmw7xocmVuLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6OTcKQEAgLTE5NzgsOCArMzM4OCw4IEBACiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCiAiJSVzIgogbXNnc3RyICIiCi0iRGllIGZvbGdlbmRlbiB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgd8O8cmRlbiBkdXJjaCBkZW5cbiIKLSIlcyBlbnRmZXJudCB3ZXJkZW46XG4iCisiRGllIGZvbGdlbmRlbiB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgd8O8cmRlbiBkdXJjaFxuIgorImRlbiAlcyBlbnRmZXJudCB3ZXJkZW46XG4iCiAiJSVzIgogCiAjOiB1bnBhY2stdHJlZXMuYzoxMDIKQEAgLTE5ODcsMTAgKzMzOTcsMTAgQEAKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKICJjaGVja291dDpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBzd2l0Y2ggYnJhbmNoZXMuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKIG1zZ3N0ciAiIgotIkRpZSBmb2xnZW5kZW4gdW52ZXJzaW9uaWVydGVuIERhdGVpZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIHfDvHJkZW4gZHVyY2ggZGVuXG4iCi0iQ2hlY2tvdXQgw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgorIkRpZSBmb2xnZW5kZW4gdW52ZXJzaW9uaWVydGVuIERhdGVpZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIHfDvHJkZW4gZHVyY2hcbiIKKyJkZW4gQ2hlY2tvdXQgw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgogIiUlc0JpdHRlIHZlcnNjaGllYmVuIG9kZXIgZW50ZmVybmVuIFNpZSBkaWVzZSwgYmV2b3IgU2llIEJyYW5jaGVzIHdlY2hzZWxuLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6MTA0CkBAIC0yMDAwLDcgKzM0MTAsOCBAQAogImNoZWNrb3V0OlxuIgogIiUlcyIKIG1zZ3N0ciAiIgotIkRpZSBmb2xnZW5kZW4gdW52ZXJzaW9uaWVydGVuIERhdGVpZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIHfDvHJkZW4gZHVyY2ggZGVuXG4iCisiRGllIGZvbGdlbmRlbiB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgd8O8cmRlbiBkdXJjaCAiCisiZGVuXG4iCiAiQ2hlY2tvdXQgw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgogIiUlcyIKIApAQCAtMjAwOCwxMCArMzQxOSwxMCBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAiIgotIkRpZSBmb2xnZW5kZW4gdW52ZXJzaW9uaWVydGVuIERhdGVpZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIHfDvHJkZW4gZHVyY2ggZGVuXG4iCi0iTWVyZ2Ugw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgorIkRpZSBmb2xnZW5kZW4gdW52ZXJzaW9uaWVydGVuIERhdGVpZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIHfDvHJkZW4gZHVyY2hcbiIKKyJkZW4gTWVyZ2Ugw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgogIiUlc0JpdHRlIHZlcnNjaGllYmVuIG9kZXIgZW50ZmVybmVuIFNpZSBkaWVzZSwgYmV2b3IgU2llIG1lcmdlbi4iCiAKICM6IHVucGFjay10cmVlcy5jOjEwOQpAQCAtMjAyMCwxOCArMzQzMSwxOCBAQAogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKICIlJXMiCiBtc2dzdHIgIiIKLSJEaWUgZm9sZ2VuZGVuIHVudmVyc2lvbmllcnRlbiBEYXRlaWVuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyB3w7xyZGVuIGR1cmNoIGRlblxuIgotIk1lcmdlIMO8YmVyc2NocmllYmVuIHdlcmRlbjpcbiIKKyJEaWUgZm9sZ2VuZGVuIHVudmVyc2lvbmllcnRlbiBEYXRlaWVuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyB3w7xyZGVuIGR1cmNoXG4iCisiZGVuIE1lcmdlIMO8YmVyc2NocmllYmVuIHdlcmRlbjpcbiIKICIlJXMiCiAKICM6IHVucGFjay10cmVlcy5jOjExMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuICVzLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIKIG1zZ3N0ciAiIgotIkRpZSBmb2xnZW5kZW4gdW52ZXJzaW9uaWVydGVuIERhdGVpZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIHfDvHJkZW4gZHVyY2ggZGVuXG4iCi0iJXMgw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgorIkRpZSBmb2xnZW5kZW4gdW52ZXJzaW9uaWVydGVuIERhdGVpZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIHfDvHJkZW4gZHVyY2hcbiIKKyJkZW4gJXMgw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgogIiUlc0JpdHRlIHZlcnNjaGllYmVuIG9kZXIgZW50ZmVybmVuIFNpZSBkaWVzZSwgYmV2b3Igc2llICVzIGF1c2bDvGhyZW4uIgogCiAjOiB1bnBhY2stdHJlZXMuYzoxMTQKQEAgLTIwNDAsNyArMzQ1MSw4IEBACiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgogIiUlcyIKIG1zZ3N0ciAiIgotIkRpZSBmb2xnZW5kZW4gdW52ZXJzaW9uaWVydGVuIERhdGVpZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIHfDvHJkZW4gZHVyY2ggZGVuXG4iCisiRGllIGZvbGdlbmRlbiB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgd8O8cmRlbiBkdXJjaCAiCisiZGVuXG4iCiAiJXMgw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgogIiUlcyIKIApAQCAtMjA1NSwzMCArMzQ2NywzMSBAQAogIkNhbm5vdCB1cGRhdGUgc3BhcnNlIGNoZWNrb3V0OiB0aGUgZm9sbG93aW5nIGVudHJpZXMgYXJlIG5vdCB1cC10by1kYXRlOlxuIgogIiVzIgogbXNnc3RyICIiCi0iS2FubiBwYXJ0aWVsbGVuIENoZWNrb3V0IG5pY2h0IGFrdHVhbGlzaWVyZW46IGRpZSBmb2xnZW5kZW4gRWludHLDpGdlIHNpbmQgbmljaHRcbiIKKyJLYW5uIHBhcnRpZWxsZW4gQ2hlY2tvdXQgbmljaHQgYWt0dWFsaXNpZXJlbjogZGllIGZvbGdlbmRlbiBFaW50csOkZ2Ugc2luZCAiCisibmljaHRcbiIKICJha3R1ZWxsOlxuIgogIiVzIgogCiAjOiB1bnBhY2stdHJlZXMuYzoxMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIlRoZSBmb2xsb3dpbmcgV29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHNwYXJzZSBjaGVja291dCAiCisiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgc3BhcnNlIGNoZWNrb3V0ICIKICJ1cGRhdGU6XG4iCiAiJXMiCiBtc2dzdHIgIiIKLSJEaWUgZm9sZ2VuZGVuIERhdGVpZW4gaW0gQXJiZWl0c2JlcmVpY2ggd8O8cmRlbiBkdXJjaCBkaWUgQWt0dWFsaXNpZXJ1bmdcbiIKLSJkZXMgcGFydGllbGxlbiBDaGVja291dHMgw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgorIkRpZSBmb2xnZW5kZW4gRGF0ZWllbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgd8O8cmRlbiBkdXJjaCBkaWUgQWt0dWFsaXNpZXJ1bmdcbiIKKyLDvGJlciBlaW5lbiBwYXJ0aWVsbGVuIENoZWNrb3V0IMO8YmVyc2NocmllYmVuIHdlcmRlbjpcbiIKICIlcyIKIAogIzogdW5wYWNrLXRyZWVzLmM6MTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIFdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCisiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBzcGFyc2UgY2hlY2tvdXQgIgogInVwZGF0ZTpcbiIKICIlcyIKIG1zZ3N0ciAiIgotIkRpZSBmb2xnZW5kZW4gRGF0ZWllbiBpbSBBcmJlaXRzYmVyZWljaCB3w7xyZGVuIGR1cmNoIGRpZSBBa3R1YWxpc2llcnVuZ1xuIgotImRlcyBwYXJ0aWVsbGVuIENoZWNrb3V0cyBlbnRmZXJudCB3ZXJkZW46XG4iCisiRGllIGZvbGdlbmRlbiBEYXRlaWVuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyB3w7xyZGVuIGR1cmNoIGRpZSBBa3R1YWxpc2llcnVuZ1xuIgorIsO8YmVyIGVpbmVuIHBhcnRpZWxsZW4gQ2hlY2tvdXQgZW50ZmVybnQgd2VyZGVuOlxuIgogIiVzIgogCiAjOiB1bnBhY2stdHJlZXMuYzoyMDUKQEAgLTIxMTksMjExICszNTMyLDIwMSBAQAogbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCiBtc2dzdHIgInVuZ8O8bHRpZ2VzICcuLicgUGZhZHNlZ21lbnQiCiAKLSM6IHdyYXBwZXIuYzoyMjIgd3JhcHBlci5jOjM4MQorIzogd29ya3RyZWUuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gTGVzZW4gdm9uICclcyciCisKKyM6IHdyYXBwZXIuYzoyMjIgd3JhcHBlci5jOjM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIGFuZCB3cml0aW5nIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCB6dW0gTGVzZW4gdW5kIFNjaHJlaWJlbiDDtmZmbmVuLiIKIAotIzogd3JhcHBlci5jOjIyNCB3cmFwcGVyLmM6MzgzIGJ1aWx0aW4vYW0uYzo3NzkKKyM6IHdyYXBwZXIuYzoyMjQgd3JhcHBlci5jOjM5NCBidWlsdGluL2FtLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IHp1bSBTY2hyZWliZW4gw7ZmZm5lbi4iCiAKLSM6IHdyYXBwZXIuYzoyMjYgd3JhcHBlci5jOjM4NSBidWlsdGluL2FtLmM6MzIzIGJ1aWx0aW4vYW0uYzo3NzIKLSM6IGJ1aWx0aW4vYW0uYzo4NjAgYnVpbHRpbi9jb21taXQuYzoxNzExIGJ1aWx0aW4vbWVyZ2UuYzoxMDg2Ci0jOiBidWlsdGluL3B1bGwuYzo0MDcKKyM6IHdyYXBwZXIuYzoyMjYgd3JhcHBlci5jOjM5NiBidWlsdGluL2FtLmM6MzIwIGJ1aWx0aW4vYW0uYzo3NTkKKyM6IGJ1aWx0aW4vYW0uYzo4NDcgYnVpbHRpbi9jb21taXQuYzoxNzA1IGJ1aWx0aW4vbWVyZ2UuYzoxMDI5CisjOiBidWlsdGluL3B1bGwuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgenVtIExlc2VuIMO2ZmZuZW4uIgogCi0jOiB3cmFwcGVyLmM6NTk0IHdyYXBwZXIuYzo2MTUKKyM6IHdyYXBwZXIuYzo2MDUgd3JhcHBlci5jOjYyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyciCiBtc2dzdHIgImtvbm50ZSBuaWNodCBhdWYgJyVzJyB6dWdyZWlmZW4iCiAKLSM6IHdyYXBwZXIuYzo2MjMKKyM6IHdyYXBwZXIuYzo2MzQKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIktvbm50ZSBha3R1ZWxsZXMgQXJiZWl0c3ZlcnplaWNobmlzIG5pY2h0IGJla29tbWVuLiIKIAotIzogd3JhcHBlci5jOjY1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgb3BlbiAlcyBmb3Igd3JpdGluZyIKLW1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgenVtIFNjaHJlaWJlbiDDtmZmbmVuLiIKLQotIzogd3JhcHBlci5jOjY2MSBidWlsdGluL2FtLmM6NDEwCisjOiB3cmFwcGVyLmM6NjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAlcyIKIG1zZ3N0ciAiS29ubnRlIG5pY2h0IG5hY2ggJyVzJyBzY2hyZWliZW4uIgogCi0jOiB3cmFwcGVyLmM6NjY3CisjOiB3cmFwcGVyLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAlcyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgc2NobGllw59lbi4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1MAorIzogd3Qtc3RhdHVzLmM6MTUxCiBtc2dpZCAiVW5tZXJnZWQgcGF0aHM6IgogbXNnc3RyICJOaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBQZmFkZToiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NyB3dC1zdGF0dXMuYzoyMDQKKyM6IHd0LXN0YXR1cy5jOjE3OCB3dC1zdGF0dXMuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHJlc2V0ICVzIDxEYXRlaT4uLi5cIiB6dW0gRW50ZmVybmVuIGF1cyBkZXIgU3RhZ2luZy0iCiAiQXJlYSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE3OSB3dC1zdGF0dXMuYzoyMDYKKyM6IHd0LXN0YXR1cy5jOjE4MCB3dC1zdGF0dXMuYzoyMDcKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgcm0gLS1jYWNoZWQgPERhdGVpPi4uLlwiIHp1bSBFbnRmZXJuZW4gYXVzIGRlciBTdGFnaW5nLSIKICJBcmVhKSIKIAotIzogd3Qtc3RhdHVzLmM6MTgzCisjOiB3dC1zdGF0dXMuYzoxODQKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYWRkL3JtIDxEYXRlaT4uLi5cIiwgdW0gZGllIEF1ZmzDtnN1bmcgenUgbWFya2llcmVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTg1IHd0LXN0YXR1cy5jOjE4OQorIzogd3Qtc3RhdHVzLmM6MTg2IHd0LXN0YXR1cy5jOjE5MAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBhZGQvcm0gPERhdGVpPi4uLlwiLCB1bSBkaWUgQXVmbMO2c3VuZyBlbnRzcHJlY2hlbmQgenUgIgogIm1hcmtpZXJlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NworIzogd3Qtc3RhdHVzLmM6MTg4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYWRkL3JtIDxEYXRlaT4uLi5cIiwgdW0gZGllIEF1ZmzDtnN1bmcgenUgbWFya2llcmVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTk4IHd0LXN0YXR1cy5jOjg4MQorIzogd3Qtc3RhdHVzLmM6MTk5IHd0LXN0YXR1cy5jOjk0NQogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAienVtIENvbW1pdCB2b3JnZW1lcmt0ZSDDhG5kZXJ1bmdlbjoiCiAKLSM6IHd0LXN0YXR1cy5jOjIxNiB3dC1zdGF0dXMuYzo4OTAKKyM6IHd0LXN0YXR1cy5jOjIxNyB3dC1zdGF0dXMuYzo5NTQKIG1zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCiBtc2dzdHIgIsOEbmRlcnVuZ2VuLCBkaWUgbmljaHQgenVtIENvbW1pdCB2b3JnZW1lcmt0IHNpbmQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyMjAKKyM6IHd0LXN0YXR1cy5jOjIyMQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGFkZCA8RGF0ZWk+Li4uXCIsIHVtIGRpZSDDhG5kZXJ1bmdlbiB6dW0gQ29tbWl0ICIKICJ2b3J6dW1lcmtlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMgorIzogd3Qtc3RhdHVzLmM6MjIzCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYWRkL3JtIDxEYXRlaT4uLi5cIiwgdW0gZGllIMOEbmRlcnVuZ2VuIHp1bSBDb21taXQgIgogInZvcnp1bWVya2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6MjIzCisjOiB3dC1zdGF0dXMuYzoyMjQKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgY2hlY2tvdXQgLS0gPERhdGVpPi4uLlwiLCB1bSBkaWUgw4RuZGVydW5nZW4gaW0gIgogIkFyYmVpdHN2ZXJ6ZWljaG5pcyB6dSB2ZXJ3ZXJmZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoyMjUKKyM6IHd0LXN0YXR1cy5jOjIyNgogbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKIG1zZ3N0ciAiIgogIiAgKGNvbW1pdHRlbiBvZGVyIHZlcndlcmZlbiBTaWUgZGVuIHVudmVyc2lvbmllcnRlbiBvZGVyIGdlw6RuZGVydGVuIEluaGFsdCAiCiAiaW4gZGVuIFN1Ym1vZHVsZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoyMzcKKyM6IHd0LXN0YXR1cy5jOjIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCAlcyA8RGF0ZWk+Li4uXCIsIHVtIGRpZSDDhG5kZXJ1bmdlbiB6dW0gQ29tbWl0ICIKICJ2b3J6dW1lcmtlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MgorIzogd3Qtc3RhdHVzLmM6MjUzCiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAiYmVpZGUgZ2Vsw7ZzY2h0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjU0CisjOiB3dC1zdGF0dXMuYzoyNTUKIG1zZ2lkICJhZGRlZCBieSB1czoiCiBtc2dzdHIgInZvbiB1bnMgaGluenVnZWbDvGd0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjU2CisjOiB3dC1zdGF0dXMuYzoyNTcKIG1zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgogbXNnc3RyICJ2b24gZGVuZW4gZ2Vsw7ZzY2h0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjU4CisjOiB3dC1zdGF0dXMuYzoyNTkKIG1zZ2lkICJhZGRlZCBieSB0aGVtOiIKIG1zZ3N0ciAidm9uIGRlbmVuIGhpbnp1Z2Vmw7xndDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MAorIzogd3Qtc3RhdHVzLmM6MjYxCiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgInZvbiB1bnMgZ2Vsw7ZzY2h0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjYyCisjOiB3dC1zdGF0dXMuYzoyNjMKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAidm9uIGJlaWRlbiBoaW56dWdlZsO8Z3Q6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjQKKyM6IHd0LXN0YXR1cy5jOjI2NQogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICJ2b24gYmVpZGVuIGdlw6RuZGVydDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NgotIywgYy1mb3JtYXQKLW1zZ2lkICJidWc6IHVuaGFuZGxlZCB1bm1lcmdlZCBzdGF0dXMgJXgiCi1tc2dzdHIgIkJ1ZzogdW5iZWhhbmRlbHRlciBVbm1lcmdlZC1TdGF0dXMgJXgiCi0KLSM6IHd0LXN0YXR1cy5jOjI3NAorIzogd3Qtc3RhdHVzLmM6Mjc1CiBtc2dpZCAibmV3IGZpbGU6IgogbXNnc3RyICJuZXVlIERhdGVpOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc2CisjOiB3dC1zdGF0dXMuYzoyNzcKIG1zZ2lkICJjb3BpZWQ6IgogbXNnc3RyICJrb3BpZXJ0OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc4CisjOiB3dC1zdGF0dXMuYzoyNzkKIG1zZ2lkICJkZWxldGVkOiIKIG1zZ3N0ciAiZ2Vsw7ZzY2h0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjgwCisjOiB3dC1zdGF0dXMuYzoyODEKIG1zZ2lkICJtb2RpZmllZDoiCiBtc2dzdHIgImdlw6RuZGVydDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MgorIzogd3Qtc3RhdHVzLmM6MjgzCiBtc2dpZCAicmVuYW1lZDoiCiBtc2dzdHIgInVtYmVuYW5udDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NAorIzogd3Qtc3RhdHVzLmM6Mjg1CiBtc2dpZCAidHlwZWNoYW5nZToiCiBtc2dzdHIgIlR5cMOkbmRlcnVuZzoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NgorIzogd3Qtc3RhdHVzLmM6Mjg3CiBtc2dpZCAidW5rbm93bjoiCiBtc2dzdHIgInVuYmVrYW5udDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4OAorIzogd3Qtc3RhdHVzLmM6Mjg5CiBtc2dpZCAidW5tZXJnZWQ6IgogbXNnc3RyICJuaWNodCBnZW1lcmdlZDoiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MAorIzogd3Qtc3RhdHVzLmM6MzcxCiBtc2dpZCAibmV3IGNvbW1pdHMsICIKIG1zZ3N0ciAibmV1ZSBDb21taXRzLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MgorIzogd3Qtc3RhdHVzLmM6MzczCiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICJnZcOkbmRlcnRlciBJbmhhbHQsICIKIAotIzogd3Qtc3RhdHVzLmM6Mzc0CisjOiB3dC1zdGF0dXMuYzozNzUKIG1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgogbXNnc3RyICJ1bnZlcnNpb25pZXJ0ZXIgSW5oYWx0LCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM5MQotIywgYy1mb3JtYXQKLW1zZ2lkICJidWc6IHVuaGFuZGxlZCBkaWZmIHN0YXR1cyAlYyIKLW1zZ3N0ciAiRmVobGVyOiB1bmJlaGFuZGVsdGVyIERpZmZlcmVuei1TdGF0dXMgJWMiCi0KLSM6IHd0LXN0YXR1cy5jOjc1NQorIzogd3Qtc3RhdHVzLmM6ODE4CiBtc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCiBtc2dzdHIgIlN1Ym1vZHVsZSBnZcOkbmRlcnQsIGFiZXIgbmljaHQgYWt0dWFsaXNpZXJ0OiIKIAotIzogd3Qtc3RhdHVzLmM6NzU3CisjOiB3dC1zdGF0dXMuYzo4MjAKIG1zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgogbXNnc3RyICLDhG5kZXJ1bmdlbiBpbiBTdWJtb2R1bCB6dW0gQ29tbWl0dGVuOiIKIAotIzogd3Qtc3RhdHVzLmM6ODM4CisjOiB3dC1zdGF0dXMuYzo5MDEKIG1zZ2lkICIiCiAiRG8gbm90IHRvdWNoIHRoZSBsaW5lIGFib3ZlLlxuIgogIkV2ZXJ5dGhpbmcgYmVsb3cgd2lsbCBiZSByZW1vdmVkLiIKQEAgLTIzMzEsMTA2ICszNzM0LDExMCBAQAogIsOEbmRlcm4gU2llIG5pY2h0IGRpZSBvYmlnZSBaZWlsZS5cbiIKICJBbGxlcyB1bnRlcmhhbGIgdm9uIGlociB3aXJkIGVudGZlcm50LiIKIAotIzogd3Qtc3RhdHVzLmM6OTQ5CisjOiB3dC1zdGF0dXMuYzoxMDEzCiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICJTaWUgaGFiZW4gbmljaHQgenVzYW1tZW5nZWbDvGhydGUgUGZhZGUuIgogCi0jOiB3dC1zdGF0dXMuYzo5NTIKKyM6IHd0LXN0YXR1cy5jOjEwMTYKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIgKGJlaGViZW4gU2llIGRpZSBLb25mbGlrdGUgdW5kIGbDvGhyZW4gU2llIFwiZ2l0IGNvbW1pdFwiIGF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjk1NgorIzogd3Qtc3RhdHVzLmM6MTAxOAorbXNnaWQgIiAgKHVzZSBcImdpdCBtZXJnZSAtLWFib3J0XCIgdG8gYWJvcnQgdGhlIG1lcmdlKSIKK21zZ3N0ciAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiwgdW0gZGVuIE1lcmdlIGFienVicmVjaGVuKSIKKworIzogd3Qtc3RhdHVzLmM6MTAyMwogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIkFsbGUgS29uZmxpa3RlIHNpbmQgYmVob2JlbiwgYWJlciBTaWUgc2luZCBpbW1lciBub2NoIGJlaW0gTWVyZ2UuIgogCi0jOiB3dC1zdGF0dXMuYzo5NTkKKyM6IHd0LXN0YXR1cy5jOjEwMjYKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0XCIgdG8gY29uY2x1ZGUgbWVyZ2UpIgogbXNnc3RyICIgIChiZW51dHplbiBTaWUgXCJnaXQgY29tbWl0XCIsIHVtIGRlbiBNZXJnZSBhYnp1c2NobGllw59lbikiCiAKLSM6IHd0LXN0YXR1cy5jOjk2OQorIzogd3Qtc3RhdHVzLmM6MTAzNgogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLiIKIG1zZ3N0ciAiRWluZSBcImFtXCItU2l0enVuZyBpc3QgaW0gR2FuZ2UuIgogCi0jOiB3dC1zdGF0dXMuYzo5NzIKKyM6IHd0LXN0YXR1cy5jOjEwMzkKIG1zZ2lkICJUaGUgY3VycmVudCBwYXRjaCBpcyBlbXB0eS4iCiBtc2dzdHIgIkRlciBha3R1ZWxsZSBQYXRjaCBpc3QgbGVlci4iCiAKLSM6IHd0LXN0YXR1cy5jOjk3NgorIzogd3Qtc3RhdHVzLmM6MTA0MwogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChiZWhlYmVuIFNpZSBkaWUgS29uZmxpa3RlIHVuZCBmw7xocmVuIFNpZSBkYW5uIFwiZ2l0IGFtIC0tY29udGludWVcIiBhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzo5NzgKKyM6IHd0LXN0YXR1cy5jOjEwNDUKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGFtIC0tc2tpcFwiLCB1bSBkaWVzZW4gUGF0Y2ggYXVzenVsYXNzZW4pIgogCi0jOiB3dC1zdGF0dXMuYzo5ODAKKyM6IHd0LXN0YXR1cy5jOjEwNDcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYW0gLS1hYm9ydFwiLCB1bSBkZW4gdXJzcHLDvG5nbGljaGVuIEJyYW5jaCAiCiAid2llZGVyaGVyenVzdGVsbGVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTEwNQorIzogd3Qtc3RhdHVzLmM6MTE3MgogbXNnaWQgIk5vIGNvbW1hbmRzIGRvbmUuIgogbXNnc3RyICJLZWluZSBCZWZlaGxlIGF1c2dlZsO8aHJ0LiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwOAorIzogd3Qtc3RhdHVzLmM6MTE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCiBtc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgogbXNnc3RyWzBdICJadWxldHp0IGF1c2dlZsO8aHJ0ZXIgQmVmZWhsICglZCBCZWZlaGwgYXVzZ2Vmw7xocnQpOiIKIG1zZ3N0clsxXSAiWnVsZXR6dCBhdXNnZWbDvGhydGUgQmVmZWhsZSAoJWQgQmVmZWhsZSBhdXNnZWbDvGhydCk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMTE5CisjOiB3dC1zdGF0dXMuYzoxMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgogbXNnc3RyICIgIChtZWhyIEluZm9ybWF0aW9uZW4gaW4gRGF0ZWkgJXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI0CisjOiB3dC1zdGF0dXMuYzoxMTkxCiBtc2dpZCAiTm8gY29tbWFuZHMgcmVtYWluaW5nLiIKIG1zZ3N0ciAiS2VpbmUgQmVmZWhsZSB2ZXJibGVpYmVuZC4iCiAKLSM6IHd0LXN0YXR1cy5jOjExMjcKKyM6IHd0LXN0YXR1cy5jOjExOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTmV4dCBjb21tYW5kIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZCk6IgogbXNnaWRfcGx1cmFsICJOZXh0IGNvbW1hbmRzIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZHMpOiIKIG1zZ3N0clswXSAiTsOkY2hzdGVyIGF1c3p1ZsO8aHJlbmRlciBCZWZlaGwgKCVkIEJlZmVobGUgdmVyYmxlaWJlbmQpOiIKIG1zZ3N0clsxXSAiTsOkY2hzdGUgYXVzenVmw7xocmVuZGUgQmVmZWhsZSAoJWQgQmVmZWhsZSB2ZXJibGVpYmVuZCk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMTM1CisjOiB3dC1zdGF0dXMuYzoxMjAyCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHRvIHZpZXcgYW5kIGVkaXQpIgogbXNnc3RyICIgIChiZW51dHplbiBTaWUgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgenVtIEFuc2VoZW4gdW5kIEJlYXJiZWl0ZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMTQ4CisjOiB3dC1zdGF0dXMuYzoxMjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICJTaWUgc2luZCBnZXJhZGUgYmVpbSBSZWJhc2Ugdm9uIEJyYW5jaCAnJXMnIGF1ZiAnJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE1MworIzogd3Qtc3RhdHVzLmM6MTIyMAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiU2llIHNpbmQgZ2VyYWRlIGJlaW0gUmViYXNlLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE2NworIzogd3Qtc3RhdHVzLmM6MTIzNAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoYmVoZWJlbiBTaWUgZGllIEtvbmZsaWt0ZSB1bmQgZsO8aHJlbiBTaWUgZGFubiBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiICIKICJhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTY5CisjOiB3dC1zdGF0dXMuYzoxMjM2CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgIChiZW51dHplbiBTaWUgXCJnaXQgcmViYXNlIC0tc2tpcFwiLCB1bSBkaWVzZW4gUGF0Y2ggYXVzenVsYXNzZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMTcxCisjOiB3dC1zdGF0dXMuYzoxMjM4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIsIHVtIGRlbiB1cnNwcsO8bmdsaWNoZW4gQnJhbmNoICIKICJhdXN6dWNoZWNrZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMTc3CisjOiB3dC1zdGF0dXMuYzoxMjQ0CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChhbGxlIEtvbmZsaWt0ZSBiZWhvYmVuOiBmw7xocmVuIFNpZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIGF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjExODEKKyM6IHd0LXN0YXR1cy5jOjEyNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKQEAgLTI0MzgsMTM0ICszODQ1LDEzNCBAQAogIlNpZSB0ZWlsZW4gZ2VyYWRlIGVpbmVuIENvbW1pdCBhdWYsIHfDpGhyZW5kIGVpbiBSZWJhc2Ugdm9uIEJyYW5jaCAnJXMnIGF1ZiAiCiAiJyVzJyBpbSBHYW5nZSBpc3QuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTg2CisjOiB3dC1zdGF0dXMuYzoxMjUzCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIlNpZSB0ZWlsZW4gZ2VyYWRlIGVpbmVuIENvbW1pdCB3w6RocmVuZCBlaW5lcyBSZWJhc2UgYXVmLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE4OQorIzogd3Qtc3RhdHVzLmM6MTI1NgogbXNnaWQgIiAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoU29iYWxkIElociBBcmJlaXRzdmVyemVpY2huaXMgdW52ZXLDpG5kZXJ0IGlzdCwgZsO8aHJlbiBTaWUgXCJnaXQgcmViYXNlIC0tIgogImNvbnRpbnVlXCIgYXVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE5MworIzogd3Qtc3RhdHVzLmM6MTI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAiU2llIGVkaXRpZXJlbiBnZXJhZGUgZWluZW4gQ29tbWl0IHfDpGhyZW5kIGVpbmVzIFJlYmFzZSB2b24gQnJhbmNoICclcycgYXVmICIKICInJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE5OAorIzogd3Qtc3RhdHVzLmM6MTI2NQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiU2llIGVkaXRpZXJlbiBnZXJhZGUgZWluZW4gQ29tbWl0IHfDpGhyZW5kIGVpbmVzIFJlYmFzZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDEKKyM6IHd0LXN0YXR1cy5jOjEyNjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIsIHVtIGRlbiBha3R1ZWxsZW4gQ29tbWl0ICIKICJuYWNoenViZXNzZXJuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIwMworIzogd3Qtc3RhdHVzLmM6MTI3MAogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIHNvYmFsZCBJaHJlIMOEbmRlcnVuZ2VuICIKICJhYmdlc2NobG9zc2VuIHNpbmQpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjEzCisjOiB3dC1zdGF0dXMuYzoxMjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIlNpZSBmw7xocmVuIGdlcmFkZSBcImNoZXJyeS1waWNrXCIgdm9uIENvbW1pdCAlcyBhdXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjE4CisjOiB3dC1zdGF0dXMuYzoxMjg1CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChiZWhlYmVuIFNpZSBkaWUgS29uZmxpa3RlIHVuZCBmw7xocmVuIFNpZSBkYW5uIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWUiCiAiXCIgYXVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMQorIzogd3Qtc3RhdHVzLmM6MTI4OAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoYWxsZSBLb25mbGlrdGUgYmVob2JlbjogZsO8aHJlbiBTaWUgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIGF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjMKKyM6IHd0LXN0YXR1cy5jOjEyOTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIsIHVtIGRpZSBDaGVycnktUGljay1PcGVyYXRpb24gIgogImFienVicmVjaGVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIzMgorIzogd3Qtc3RhdHVzLmM6MTI5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiU2llIHNpbmQgZ2VyYWRlIGFuIGVpbmVtIFJldmVydCB2b24gQ29tbWl0ICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjM3CisjOiB3dC1zdGF0dXMuYzoxMzA0CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoYmVoZWJlbiBTaWUgZGllIEtvbmZsaWt0ZSB1bmQgZsO8aHJlbiBTaWUgZGFubiBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiICIKICJhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQwCisjOiB3dC1zdGF0dXMuYzoxMzA3CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChhbGxlIEtvbmZsaWt0ZSBiZWhvYmVuOiBmw7xocmVuIFNpZSBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiIGF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDIKKyM6IHd0LXN0YXR1cy5jOjEzMDkKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHJldmVydCAtLWFib3J0XCIsIHVtIGRpZSBSZXZlcnQtT3BlcmF0aW9uIGFienVicmVjaGVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI1MworIzogd3Qtc3RhdHVzLmM6MTMyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcsIHN0YXJ0ZWQgZnJvbSBicmFuY2ggJyVzJy4iCiBtc2dzdHIgIlNpZSBzaW5kIGdlcmFkZSBiZWkgZWluZXIgYmluw6RyZW4gU3VjaGUsIGdlc3RhcnRldCB2b24gQnJhbmNoICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU3CisjOiB3dC1zdGF0dXMuYzoxMzI0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKIG1zZ3N0ciAiU2llIHNpbmQgZ2VyYWRlIGJlaSBlaW5lciBiaW7DpHJlbiBTdWNoZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjAKKyM6IHd0LXN0YXR1cy5jOjEzMjcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdG8gZ2V0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYmlzZWN0IHJlc2V0XCIsIHVtIHp1bSB1cnNwcsO8bmdsaWNoZW4gQnJhbmNoICIKICJ6dXLDvGNrenVrZWhyZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxNDYwCisjOiB3dC1zdGF0dXMuYzoxNTI0CiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAiQXVmIEJyYW5jaCAiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NjYKKyM6IHd0LXN0YXR1cy5jOjE1MzAKIG1zZ2lkICJpbnRlcmFjdGl2ZSByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICJpbnRlcmFrdGl2ZXMgUmViYXNlIGltIEdhbmdlOyBhdWYgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDY4CisjOiB3dC1zdGF0dXMuYzoxNTMyCiBtc2dpZCAicmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAiUmViYXNlIGltIEdhbmdlOyBhdWYgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDczCisjOiB3dC1zdGF0dXMuYzoxNTM3CiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBhdCAiCiBtc2dzdHIgIkhFQUQgbG9zZ2Vsw7ZzdCBiZWkgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDc1CisjOiB3dC1zdGF0dXMuYzoxNTM5CiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKIG1zZ3N0ciAiSEVBRCBsb3NnZWzDtnN0IHZvbiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NzgKKyM6IHd0LXN0YXR1cy5jOjE1NDIKIG1zZ2lkICJOb3QgY3VycmVudGx5IG9uIGFueSBicmFuY2guIgogbXNnc3RyICJJbSBNb21lbnQgYXVmIGtlaW5lbSBCcmFuY2guIgogCi0jOiB3dC1zdGF0dXMuYzoxNDk2CisjOiB3dC1zdGF0dXMuYzoxNTYwCiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIkluaXRpYWxlciBDb21taXQiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MTAKKyM6IHd0LXN0YXR1cy5jOjE1NzQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIlVudmVyc2lvbmllcnRlIERhdGVpZW4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1MTIKKyM6IHd0LXN0YXR1cy5jOjE1NzYKIG1zZ2lkICJJZ25vcmVkIGZpbGVzIgogbXNnc3RyICJJZ25vcmllcnRlIERhdGVpZW4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1MTYKKyM6IHd0LXN0YXR1cy5jOjE1ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnRyYWNrZWQgZmlsZXMuICdzdGF0dXMgLXVubydcbiIKQEAgLTI1NzYsMzIgKzM5ODMsMzIgQEAKICInc3RhdHVzIC11bm8nIGvDtm5udGUgZGFzIGJlc2NobGV1bmlnZW4sIGFiZXIgU2llIG3DvHNzZW4gZGFyYXVmIGFjaHRlbixcbiIKICJuZXVlIERhdGVpZW4gc2VsYnN0c3TDpG5kaWcgaGluenV6dWbDvGdlbiAoc2llaGUgJ2dpdCBoZWxwIHN0YXR1cycpLiIKIAotIzogd3Qtc3RhdHVzLmM6MTUyMgorIzogd3Qtc3RhdHVzLmM6MTU4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgogbXNnc3RyICJVbnZlcnNpb25pZXJ0ZSBEYXRlaWVuIG5pY2h0IGF1ZmdlbGlzdGV0JXMiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MjQKKyM6IHd0LXN0YXR1cy5jOjE1ODgKIG1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgogbXNnc3RyICIgKGJlbnV0emVuIFNpZSBkaWUgT3B0aW9uIC11LCB1bSB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIGFuenV6ZWlnZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxNTMwCisjOiB3dC1zdGF0dXMuYzoxNTk0CiBtc2dpZCAiTm8gY2hhbmdlcyIKIG1zZ3N0ciAiS2VpbmUgw4RuZGVydW5nZW4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzUKKyM6IHd0LXN0YXR1cy5jOjE1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCiBtc2dzdHIgIiIKICJrZWluZSDDhG5kZXJ1bmdlbiB6dW0gQ29tbWl0IHZvcmdlbWVya3QgKGJlbnV0emVuIFNpZSBcImdpdCBhZGRcIiB1bmQvb2RlciAiCiAiXCJnaXQgY29tbWl0IC1hXCIpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzgKKyM6IHd0LXN0YXR1cy5jOjE2MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKIG1zZ3N0ciAia2VpbmUgw4RuZGVydW5nZW4genVtIENvbW1pdCB2b3JnZW1lcmt0XG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDEKKyM6IHd0LXN0YXR1cy5jOjE2MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKQEAgLTI2MTAsNTYgKzQwMTcsNzEgQEAKICJuaWNodHMgenVtIENvbW1pdCB2b3JnZW1lcmt0LCBhYmVyIGVzIGdpYnQgdW52ZXJzaW9uaWVydGUgRGF0ZWllbiAoYmVudXR6ZW4gIgogIlNpZSBcImdpdCBhZGRcIiB6dW0gVmVyc2lvbmllcmVuKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQ0CisjOiB3dC1zdGF0dXMuYzoxNjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgogbXNnc3RyICJuaWNodHMgenVtIENvbW1pdCB2b3JnZW1lcmt0LCBhYmVyIGVzIGdpYnQgdW52ZXJzaW9uaWVydGUgRGF0ZWllblxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQ3CisjOiB3dC1zdGF0dXMuYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICIiCiAibmljaHRzIHp1IGNvbW1pdHRlbiAoRXJzdGVsbGVuL0tvcGllcmVuIFNpZSBEYXRlaWVuIHVuZCBiZW51dHplbiBTaWUgXCJnaXQgIgogImFkZFwiIHp1bSBWZXJzaW9uaWVyZW4pXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NTAgd3Qtc3RhdHVzLmM6MTU1NQorIzogd3Qtc3RhdHVzLmM6MTYxNCB3dC1zdGF0dXMuYzoxNjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0XG4iCiBtc2dzdHIgIm5pY2h0cyB6dSBjb21taXR0ZW5cbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU1MworIzogd3Qtc3RhdHVzLmM6MTYxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgogbXNnc3RyICIiCiAibmljaHRzIHp1IGNvbW1pdHRlbiAoYmVudXR6ZW4gU2llIGRpZSBPcHRpb24gLXUsIHVtIHVudmVyc2lvbmllcnRlIERhdGVpZW4gIgogImFuenV6ZWlnZW4pXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NTcKKyM6IHd0LXN0YXR1cy5jOjE2MjEKICMsIGMtZm9ybWF0Ci1tc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgZGlyZWN0b3J5IGNsZWFuXG4iCittc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhblxuIgogbXNnc3RyICJuaWNodHMgenUgY29tbWl0dGVuLCBBcmJlaXRzdmVyemVpY2huaXMgdW52ZXLDpG5kZXJ0XG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjQKKyM6IHd0LXN0YXR1cy5jOjE3MjgKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCBvbiAiCiBtc2dzdHIgIkluaXRpYWxlciBDb21taXQgYXVmICIKIAotIzogd3Qtc3RhdHVzLmM6MTY2OAorIzogd3Qtc3RhdHVzLmM6MTczMgogbXNnaWQgIkhFQUQgKG5vIGJyYW5jaCkiCiBtc2dzdHIgIkhFQUQgKGtlaW4gQnJhbmNoKSIKIAotIzogd3Qtc3RhdHVzLmM6MTY5NworIzogd3Qtc3RhdHVzLmM6MTc2MQogbXNnaWQgImdvbmUiCiBtc2dzdHIgImVudGZlcm50IgogCi0jOiB3dC1zdGF0dXMuYzoxNjk5IHd0LXN0YXR1cy5jOjE3MDcKKyM6IHd0LXN0YXR1cy5jOjE3NjMgd3Qtc3RhdHVzLmM6MTc3MQogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgImhpbnRlcmhlciAiCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDIgd3Qtc3RhdHVzLmM6MTcwNQorIzogd3Qtc3RhdHVzLmM6MTc2NiB3dC1zdGF0dXMuYzoxNzY5CiBtc2dpZCAiYWhlYWQgIgogbXNnc3RyICJ2b3JhdXMgIgogCi0jOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTcgYnVpbHRpbi9jbG9uZS5jOjQxNQorIy4gVFJBTlNMQVRPUlM6IHRoZSBhY3Rpb24gaXMgZS5nLiAicHVsbCB3aXRoIHJlYmFzZSIKKyM6IHd0LXN0YXR1cy5jOjIyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90ICVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiJXMgbmljaHQgbcO2Z2xpY2g6IFNpZSBoYWJlbiDDhG5kZXJ1bmdlbiwgZGllIG5pY2h0IHp1bSBDb21taXQgdm9yZ2VtZXJrdCBzaW5kLiIKKworIzogd3Qtc3RhdHVzLmM6MjI3NgorbXNnaWQgImFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiWnVzw6R0emxpY2ggZW50aMOkbHQgZGllIFN0YWdpbmctQXJlYSBuaWNodCBjb21taXR0ZXRlIMOEbmRlcnVuZ2VuLiIKKworIzogd3Qtc3RhdHVzLmM6MjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgJXM6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIiVzIG5pY2h0IG3DtmdsaWNoOiBEaWUgU3RhZ2luZy1BcmVhIGVudGjDpGx0IG5pY2h0IGNvbW1pdHRldGUgw4RuZGVydW5nZW4uIgorCisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTcgYnVpbHRpbi9jbG9uZS5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGVudGZlcm5lbi4iCkBAIC0yNjY4LDI3MiArNDA5MCwyNzEgQEAKIG1zZ2lkICJnaXQgYWRkIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGFkZCBbPE9wdGlvbmVuPl0gWy0tXSA8UGZhZHNwZXppZmlrYXRpb24+Li4uIgogCi0jOiBidWlsdGluL2FkZC5jOjY1CisjOiBidWlsdGluL2FkZC5jOjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgInVuZXJ3YXJ0ZXRlciBEaWZmZXJlbnotU3RhdHVzICVjIgogCi0jOiBidWlsdGluL2FkZC5jOjcwIGJ1aWx0aW4vY29tbWl0LmM6MjgwCisjOiBidWlsdGluL2FkZC5jOjg1IGJ1aWx0aW4vY29tbWl0LmM6MjkxCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJBa3R1YWxpc2llcnVuZyBkZXIgRGF0ZWllbiBmZWhsZ2VzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9hZGQuYzo4MAorIzogYnVpbHRpbi9hZGQuYzo5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdmUgJyVzJ1xuIgogbXNnc3RyICJsw7ZzY2hlICclcydcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoxMzQKKyM6IGJ1aWx0aW4vYWRkLmM6MTQ5CiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiCiBtc2dzdHIgIiIKICJOaWNodCB6dW0gQ29tbWl0IHZvcmdlbWVya3RlIMOEbmRlcnVuZ2VuIG5hY2ggQWt0dWFsaXNpZXJ1bmcgZGVyIFN0YWdpbmctQXJlYToiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTk0IGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODExCisjOiBidWlsdGluL2FkZC5jOjIwOSBidWlsdGluL3Jldi1wYXJzZS5jOjg0MAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiS29ubnRlIGRlbiBJbmRleCBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMDUKKyM6IGJ1aWx0aW4vYWRkLmM6MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCB6dW0gU2NocmVpYmVuIMO2ZmZuZW4uIgogCi0jOiBidWlsdGluL2FkZC5jOjIwOQorIzogYnVpbHRpbi9hZGQuYzoyMjQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgIktvbm50ZSBQYXRjaCBuaWNodCBzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjEyCisjOiBidWlsdGluL2FkZC5jOjIyNwogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICJCZWFyYmVpdHVuZyBkZXMgUGF0Y2hlcyBmZWhsZ2VzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMTUKKyM6IGJ1aWx0aW4vYWRkLmM6MjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgIktvbm50ZSBWZXJ6ZWljaG5pcyAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2FkZC5jOjIxNworIzogYnVpbHRpbi9hZGQuYzoyMzIKIG1zZ2lkICJFbXB0eSBwYXRjaC4gQWJvcnRlZC4iCiBtc2dzdHIgIkxlZXJlciBQYXRjaC4gQWJnZWJyb2NoZW4uIgogCi0jOiBidWlsdGluL2FkZC5jOjIyMgorIzogYnVpbHRpbi9hZGQuYzoyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGFud2VuZGVuLiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzIKKyM6IGJ1aWx0aW4vYWRkLmM6MjQ3CiBtc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgogbXNnc3RyICIiCiAiRGllIGZvbGdlbmRlbiBQZmFkZSB3ZXJkZW4gZHVyY2ggZWluZSBJaHJlciBcIi5naXRpZ25vcmVcIiBEYXRlaWVuICIKICJpZ25vcmllcnQ6XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ5IGJ1aWx0aW4vY2xlYW4uYzo4NzAgYnVpbHRpbi9mZXRjaC5jOjExMiBidWlsdGluL212LmM6MTExCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU1IGJ1aWx0aW4vcHVsbC5jOjE5NyBidWlsdGluL3B1c2guYzo1MTEKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMzMiBidWlsdGluL3JtLmM6MjY4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCisjOiBidWlsdGluL2FkZC5jOjI2NiBidWlsdGluL2NsZWFuLmM6ODcwIGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9tdi5jOjExMQorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NSBidWlsdGluL3B1bGwuYzoxOTggYnVpbHRpbi9wdXNoLmM6NTIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjYgYnVpbHRpbi9ybS5jOjI2OCBidWlsdGluL3NlbmQtcGFjay5jOjE2MgogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgIlByb2JlbGF1ZiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTAgYnVpbHRpbi9hcHBseS5jOjQ1NjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMzMzIGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg1IGJ1aWx0aW4vZnNjay5jOjU1NwotIzogYnVpbHRpbi9sb2cuYzoxODI2IGJ1aWx0aW4vbXYuYzoxMTAgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKLW1zZ2lkICJiZSB2ZXJib3NlIgotbXNnc3RyICJlcndlaXRlcnRlIEF1c2dhYmVuIgotCi0jOiBidWlsdGluL2FkZC5jOjI1MgorIzogYnVpbHRpbi9hZGQuYzoyNjkKIG1zZ2lkICJpbnRlcmFjdGl2ZSBwaWNraW5nIgogbXNnc3RyICJpbnRlcmFrdGl2ZXMgQXVzd8OkaGxlbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTMgYnVpbHRpbi9jaGVja291dC5jOjExNTQgYnVpbHRpbi9yZXNldC5jOjI4NgorIzogYnVpbHRpbi9hZGQuYzoyNzAgYnVpbHRpbi9jaGVja291dC5jOjExNTYgYnVpbHRpbi9yZXNldC5jOjI4NgogbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJCbMO2Y2tlIGludGVyYWt0aXYgYXVzd8OkaGxlbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTQKKyM6IGJ1aWx0aW4vYWRkLmM6MjcxCiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICJha3R1ZWxsZSBVbnRlcnNjaGllZGUgZWRpdGllcmVuIHVuZCBhbndlbmRlbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTUKKyM6IGJ1aWx0aW4vYWRkLmM6MjcyCiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJkYXMgSGluenVmw7xnZW4gYW5kZXJuZmFsbHMgaWdub3JpZXJ0ZXIgRGF0ZWllbiBlcmxhdWJlbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6MjczCiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgInZlcnNpb25pZXJ0ZSBEYXRlaWVuIGFrdHVhbGlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU3CisjOiBidWlsdGluL2FkZC5jOjI3NAogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgdGhlIHBhdGggd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAibnVyIHNwZWljaGVybiwgZGFzcyBkZXIgUGZhZCBzcMOkdGVyIGhpbnp1Z2Vmw7xndCB3ZXJkZW4gc29sbCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTgKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICIiCiAiw4RuZGVydW5nZW4gdm9uIGFsbGVuIHZlcnNpb25pZXJ0ZW4gdW5kIHVudmVyc2lvbmllcnRlbiBEYXRlaWVuIGhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL2FkZC5jOjI2MQorIzogYnVpbHRpbi9hZGQuYzoyNzgKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKIG1zZ3N0ciAiZ2Vsw7ZzY2h0ZSBQZmFkZSBpbSBBcmJlaXRzdmVyemVpY2huaXMgaWdub3JpZXJlbiAoZ2VuYXUgd2llIC0tbm8tYWxsKSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjMKKyM6IGJ1aWx0aW4vYWRkLmM6MjgwCiBtc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJuaWNodHMgaGluenVmw7xnZW4sIG51ciBkZW4gSW5kZXggYWt0dWFsaXNpZXJlbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjQKKyM6IGJ1aWx0aW4vYWRkLmM6MjgxCiBtc2dpZCAianVzdCBza2lwIGZpbGVzIHdoaWNoIGNhbm5vdCBiZSBhZGRlZCBiZWNhdXNlIG9mIGVycm9ycyIKIG1zZ3N0ciAiIgogIkRhdGVpZW4gw7xiZXJzcHJpbmdlbiwgZGllIGF1ZmdydW5kIHZvbiBGZWhsZXJuIG5pY2h0IGhpbnp1Z2Vmw7xndCB3ZXJkZW4gIgogImtvbm50ZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY1CisjOiBidWlsdGluL2FkZC5jOjI4MgogbXNnaWQgImNoZWNrIGlmIC0gZXZlbiBtaXNzaW5nIC0gZmlsZXMgYXJlIGlnbm9yZWQgaW4gZHJ5IHJ1biIKIG1zZ3N0ciAicHLDvGZlbiBvYiAtIGF1Y2ggZmVobGVuZGUgLSBEYXRlaWVuIGltIFByb2JlbGF1ZiBpZ25vcmllcnQgd2VyZGVuIgogCi0jOiBidWlsdGluL2FkZC5jOjI4NworIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDcKK21zZ2lkICIoKy8tKXgiCittc2dzdHIgIigrLy0peCIKKworIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDgKK21zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKK21zZ3N0ciAiZGFzIFwiYXVzZsO8aHJiYXJcIi1CaXQgZGVyIGF1ZmdlbGlzdGV0ZW4gRGF0ZWllbiDDvGJlcnNjaHJlaWJlbiIKKworIzogYnVpbHRpbi9hZGQuYzozMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKIG1zZ3N0ciAiVmVyd2VuZGVuIFNpZSAtZiB3ZW5uIFNpZSBkaWVzZSB3aXJrbGljaCBoaW56dWbDvGdlbiBtw7ZjaHRlbi5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTQKKyM6IGJ1aWx0aW4vYWRkLmM6MzEyCiBtc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAiSGluenVmw7xnZW4gdm9uIERhdGVpZW4gZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzMwCisjOiBidWlsdGluL2FkZC5jOjM0OAogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLUEgdW5kIC11IHNpbmQgenVlaW5hbmRlciBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL2FkZC5jOjMzNworIzogYnVpbHRpbi9hZGQuYzozNTUKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGthbm4gbnVyIHp1c2FtbWVuIG1pdCAtLWRyeS1ydW4gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUyCisjOiBidWlsdGluL2FkZC5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCittc2dzdHIgIi0tY2htb2QgUGFyYW1ldGVyICclcycgbXVzcyBlbnR3ZWRlciAteCBvZGVyICt4IHNlaW4iCisKKyM6IGJ1aWx0aW4vYWRkLmM6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgogbXNnc3RyICJOaWNodHMgc3BlemlmaXppZXJ0LCBuaWNodHMgaGluenVnZWbDvGd0LlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjM1MworIzogYnVpbHRpbi9hZGQuYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWF5YmUgeW91IHdhbnRlZCB0byBzYXkgJ2dpdCBhZGQgLic/XG4iCiBtc2dzdHIgIk1laW50ZW4gU2llIHZpZWxsZWljaHQgJ2dpdCBhZGQgLic/XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU4IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcyIGJ1aWx0aW4vY2xlYW4uYzo5MTQKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzM5IGJ1aWx0aW4vbXYuYzoxMzEgYnVpbHRpbi9yZXNldC5jOjIzNSBidWlsdGluL3JtLmM6Mjk4Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQwCisjOiBidWlsdGluL2FkZC5jOjM4MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NoZWNrb3V0LmM6Mjc5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDcyIGJ1aWx0aW4vY2xlYW4uYzo5MTQgYnVpbHRpbi9jb21taXQuYzozNTAKKyM6IGJ1aWx0aW4vbXYuYzoxMzEgYnVpbHRpbi9yZXNldC5jOjIzNSBidWlsdGluL3JtLmM6Mjk4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQ0CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICJJbmRleC1EYXRlaSBiZXNjaMOkZGlndCIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzkgYnVpbHRpbi9hcHBseS5jOjQ2NjEgYnVpbHRpbi9tdi5jOjI4MyBidWlsdGluL3JtLmM6NDMwCi1tc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgotbXNnc3RyICJLb25udGUgbmV1ZSBJbmRleC1EYXRlaSBuaWNodCBzY2hyZWliZW4uIgotCi0jOiBidWlsdGluL2FtLmM6MjU2IGJ1aWx0aW4vY29tbWl0LmM6NzQ5IGJ1aWx0aW4vbWVyZ2UuYzoxMDg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCi1tc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGxlc2VuIgotCi0jOiBidWlsdGluL2FtLmM6NDMwCisjOiBidWlsdGluL2FtLmM6NDE0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGF1dGhvciBzY3JpcHQiCiBtc2dzdHIgImtvbm50ZSBBdXRvci1Ta3JpcHQgbmljaHQgcGFyc2VuIgogCi0jOiBidWlsdGluL2FtLmM6NTA3CisjOiBidWlsdGluL2FtLmM6NDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgd2FzIGRlbGV0ZWQgYnkgdGhlIGFwcGx5cGF0Y2gtbXNnIGhvb2siCiBtc2dzdHIgIiclcycgd3VyZGUgZHVyY2ggZGVuIGFwcGx5cGF0Y2gtbXNnIEhvb2sgZW50ZmVybnQiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1NDggYnVpbHRpbi9ub3Rlcy5jOjMwMAorIzogYnVpbHRpbi9hbS5jOjUzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgIkZlaGxlcmhhZnRlIEVpbmdhYmV6ZWlsZTogJyVzJy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo1ODUgYnVpbHRpbi9ub3Rlcy5jOjMxNQorIzogYnVpbHRpbi9hbS5jOjU2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gS29waWVyZW4gZGVyIE5vdGl6ZW4gdm9uICclcycgbmFjaCAnJXMnIgogCi0jOiBidWlsdGluL2FtLmM6NjExCisjOiBidWlsdGluL2FtLmM6NTk1CiBtc2dpZCAiZnNlZWsgZmFpbGVkIgogbXNnc3RyICJcImZzZWVrXCIgZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo3ODgKKyM6IGJ1aWx0aW4vYW0uYzo3NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCiBtc2dzdHIgImtvbm50ZSBQYXRjaCAnJXMnIG5pY2h0IHBhcnNlbiIKIAotIzogYnVpbHRpbi9hbS5jOjg1MworIzogYnVpbHRpbi9hbS5jOjg0MAogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgogbXNnc3RyICJFcyBrYW5uIG51ciBlaW5lIFN0R0lUIFBhdGNoLVNlcmllIGF1ZiBlaW5tYWwgYW5nZXdlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2FtLmM6OTAwCisjOiBidWlsdGluL2FtLmM6ODg3CiBtc2dpZCAiaW52YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgInVuZ8O8bHRpZ2VyIFplaXRzdGVtcGVsIgogCi0jOiBidWlsdGluL2FtLmM6OTAzIGJ1aWx0aW4vYW0uYzo5MTEKKyM6IGJ1aWx0aW4vYW0uYzo4OTAgYnVpbHRpbi9hbS5jOjg5OAogbXNnaWQgImludmFsaWQgRGF0ZSBsaW5lIgogbXNnc3RyICJVbmfDvGx0aWdlIFwiRGF0ZVwiLVplaWxlIgogCi0jOiBidWlsdGluL2FtLmM6OTA4CisjOiBidWlsdGluL2FtLmM6ODk1CiBtc2dpZCAiaW52YWxpZCB0aW1lem9uZSBvZmZzZXQiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIE9mZnNldCBpbiBkZXIgWmVpdHpvbmUiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5OTUKKyM6IGJ1aWx0aW4vYW0uYzo5ODQKIG1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCiBtc2dzdHIgIlBhdGNoLUZvcm1hdGVya2VubnVuZyBmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMDAwIGJ1aWx0aW4vY2xvbmUuYzozODAKKyM6IGJ1aWx0aW4vYW0uYzo5ODkgYnVpbHRpbi9jbG9uZS5jOjM3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBFcnN0ZWxsZW4gdm9uIFZlcnplaWNobmlzICclcyciCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMDA0CisjOiBidWlsdGluL2FtLmM6OTkzCiBtc2dpZCAiRmFpbGVkIHRvIHNwbGl0IHBhdGNoZXMuIgogbXNnc3RyICJGZWhsZXIgYmVpbSBBdWZ0ZWlsZW4gZGVyIFBhdGNoZXMuIgogCi0jOiBidWlsdGluL2FtLmM6MTEzNiBidWlsdGluL2NvbW1pdC5jOjM2NQorIzogYnVpbHRpbi9hbS5jOjExMjUgYnVpbHRpbi9jb21taXQuYzozNzYKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKIG1zZ3N0ciAiS29ubnRlIEluZGV4LURhdGVpIG5pY2h0IHNjaHJlaWJlbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTg3CisjOiBidWlsdGluL2FtLmM6MTE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJXMgLS1jb250aW51ZVwiLiIKIG1zZ3N0ciAiIgogIldlbm4gU2llIGRhcyBQcm9ibGVtIGF1ZmdlbMO2c3QgaGFiZW4sIGbDvGhyZW4gU2llIFwiJXMgLS1jb250aW51ZVwiIGF1cy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTg4CisjOiBidWlsdGluL2FtLmM6MTE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiJXMgLS1za2lwXCIgaW5zdGVhZC4iCiBtc2dzdHIgIiIKICJGYWxscyBTaWUgZGllc2VuIFBhdGNoIGF1c2xhc3NlbiBtw7ZjaHRlbiwgZsO8aHJlbiBTaWUgc3RhdHRkZXNzZW4gXCIlcyAtLXNraXAiCiAiXCIgYXVzLiIKIAotIzogYnVpbHRpbi9hbS5jOjExODkKKyM6IGJ1aWx0aW4vYW0uYzoxMTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKIG1zZ3N0ciAiIgogIlVtIGRlbiB1cnNwcsO8bmdsaWNoZW4gQnJhbmNoIHdpZWRlcmhlcnp1c3RlbGxlbiB1bmQgZGllIEFud2VuZHVuZyBkZXIgIgogIlBhdGNoZXMgYWJ6dWJyZWNoZW4sIGbDvGhyZW4gU2llIFwiJXMgLS1hYm9ydFwiIGF1cy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMzI3CisjOiBidWlsdGluL2FtLmM6MTMxNgogbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiBXYXMgaXQgc3BsaXQgd3Jvbmc/IgogbXNnc3RyICJQYXRjaCBpc3QgbGVlci4gV2FyIGRlc3NlbiBBdWZ0ZWlsdW5nIGZhbHNjaD8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNDAxIGJ1aWx0aW4vbG9nLmM6MTUxNgorIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9sb2cuYzoxNTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgSWRlbnRpZmlrYXRpb25zemVpbGU6ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MTQyOAorIzogYnVpbHRpbi9hbS5jOjE0MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdCAnJXMnIG5pY2h0IHBhcnNlbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjMwCisjOiBidWlsdGluL2FtLmM6MTYxMAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgbmVjZXNzYXJ5IGJsb2JzIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIiIKICJEZW0gUmVwb3NpdG9yeSBmZWhsZW4gbm90d2VuZGlnZSBCbG9icyB1bSBhdWYgZWluZW4gMy1XZWdlLU1lcmdlICIKICJ6dXLDvGNrenVmYWxsZW4uIgogCi0jOiBidWlsdGluL2FtLmM6MTYzMgorIzogYnVpbHRpbi9hbS5jOjE2MTIKIG1zZ2lkICJVc2luZyBpbmRleCBpbmZvIHRvIHJlY29uc3RydWN0IGEgYmFzZSB0cmVlLi4uIgogbXNnc3RyICIiCiAiVmVyd2VuZGUgSW5mb3JtYXRpb25lbiBhdXMgZGVyIFN0YWdpbmctQXJlYSwgdW0gZWluIEJhc2lzdmVyemVpY2huaXMgIgogIm5hY2h6dXN0ZWxsZW4gLi4uIgogCi0jOiBidWlsdGluL2FtLmM6MTY1MQorIzogYnVpbHRpbi9hbS5jOjE2MzEKIG1zZ2lkICIiCiAiRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKICJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgpAQCAtMjk0MSwzOSArNDM2MiwzOSBAQAogIkhhYmVuIFNpZSBkZW4gUGF0Y2ggcGVyIEhhbmQgZWRpdGllcnQ/XG4iCiAiRXIga2FubiBuaWNodCBhdWYgZGllIEJsb2JzIGluIHNlaW5lciAnaW5kZXgnIFplaWxlIGFuZ2V3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NTcKKyM6IGJ1aWx0aW4vYW0uYzoxNjM3CiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgogbXNnc3RyICJGYWxsZSB6dXLDvGNrIHp1bSBQYXRjaGVuIGRlciBCYXNpcyB1bmQgenVtIDMtV2VnZS1NZXJnZSAuLi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjcyCisjOiBidWlsdGluL2FtLmM6MTY2MgogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCiBtc2dzdHIgIk1lcmdlIGRlciDDhG5kZXJ1bmdlbiBmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjk2IGJ1aWx0aW4vbWVyZ2UuYzo2MzYKKyM6IGJ1aWx0aW4vYW0uYzoxNjg2IGJ1aWx0aW4vbWVyZ2UuYzo2MjgKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBmYWlsZWQgdG8gd3JpdGUgYSB0cmVlIgogbXNnc3RyICJcImdpdCB3cml0ZS10cmVlXCIgc2NobHVnIGJlaW0gU2NocmVpYmVuIGVpbmVzIFwiVHJlZVwiLU9iamVrdGVzIGZlaGwiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzAzCisjOiBidWlsdGluL2FtLmM6MTY5MwogbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCiBtc2dzdHIgImF1ZiBsZWVyZSBIaXN0b3JpZSBhbndlbmRlbiIKIAotIzogYnVpbHRpbi9hbS5jOjE3MTYgYnVpbHRpbi9jb21taXQuYzoxNzc1IGJ1aWx0aW4vbWVyZ2UuYzo4NDEKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjYKKyM6IGJ1aWx0aW4vYW0uYzoxNzA2IGJ1aWx0aW4vY29tbWl0LmM6MTc2OSBidWlsdGluL21lcmdlLmM6Nzk4CisjOiBidWlsdGluL21lcmdlLmM6ODIzCiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiCiBtc2dzdHIgIkZlaGxlciBiZWltIFNjaHJlaWJlbiBkZXMgQ29tbWl0LU9iamVrdGVzLiIKIAotIzogYnVpbHRpbi9hbS5jOjE3NDggYnVpbHRpbi9hbS5jOjE3NTIKKyM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxNzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXN1bWU6ICVzIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAiS2FubiBuaWNodCBmb3J0c2V0emVuOiAlcyBleGlzdGllcnQgbmljaHQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzY4CisjOiBidWlsdGluL2FtLmM6MTc1OQogbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKIG1zZ3N0ciAiIgogIkthbm4gbmljaHQgaW50ZXJha3RpdiBzZWluLCBvaG5lIGRhc3MgZGllIFN0YW5kYXJkLUVpbmdhYmUgbWl0IGVpbmVtICIKICJUZXJtaW5hbCB2ZXJidW5kZW4gaXN0LiIKIAotIzogYnVpbHRpbi9hbS5jOjE3NzMKKyM6IGJ1aWx0aW4vYW0uYzoxNzY0CiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICJDb21taXQtQmVzY2hyZWlidW5nIGlzdDoiCiAKQEAgLTI5ODEsMzUgKzQ0MDIsMzUgQEAKICMuIGluIHlvdXIgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaAogIy4gaW5wdXQgYXQgdGhpcyBwb2ludC4KICMuCi0jOiBidWlsdGluL2FtLmM6MTc4MworIzogYnVpbHRpbi9hbS5jOjE3NzQKIG1zZ2lkICJBcHBseT8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbDogIgogbXNnc3RyICJBbndlbmRlbj8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbDogIgogCi0jOiBidWlsdGluL2FtLmM6MTgzMworIzogYnVpbHRpbi9hbS5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlydHkgaW5kZXg6IGNhbm5vdCBhcHBseSBwYXRjaGVzIChkaXJ0eTogJXMpIgogbXNnc3RyICJHZcOkbmRlcnRlciBJbmRleDoga2FubiBQYXRjaGVzIG5pY2h0IGFud2VuZGVuIChnZcOkbmRlcnQ6ICVzKSIKIAotIzogYnVpbHRpbi9hbS5jOjE4NjggYnVpbHRpbi9hbS5jOjE5NDAKKyM6IGJ1aWx0aW4vYW0uYzoxODYxIGJ1aWx0aW4vYW0uYzoxOTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nOiAlLipzIgogbXNnc3RyICJXZW5kZSBhbjogJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE4ODQKKyM6IGJ1aWx0aW4vYW0uYzoxODc3CiBtc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgogbXNnc3RyICJLZWluZSDDhG5kZXJ1bmdlbiAtLSBQYXRjaGVzIGJlcmVpdHMgYW5nZXdlbmRldC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODkyCisjOiBidWlsdGluL2FtLmM6MTg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJXMgJS4qcyIKIG1zZ3N0ciAiQW53ZW5kdW5nIGRlcyBQYXRjaGVzIGZlaGxnZXNjaGxhZ2VuIGJlaSAlcyAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTg5OAorIzogYnVpbHRpbi9hbS5jOjE4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGNvcHkgb2YgdGhlIHBhdGNoIHRoYXQgZmFpbGVkIGlzIGZvdW5kIGluOiAlcyIKIG1zZ3N0ciAiRGllIEtvcGllIGRlcyBmZWhsZ2VzY2hsYWdlbmVuIFBhdGNoZXMgYmVmaW5kZXQgc2ljaCBpbjogJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxOTQzCisjOiBidWlsdGluL2FtLmM6MTkzNgogbXNnaWQgIiIKICJObyBjaGFuZ2VzIC0gZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz9cbiIKICJJZiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gc3RhZ2UsIGNoYW5jZXMgYXJlIHRoYXQgc29tZXRoaW5nIGVsc2VcbiIKQEAgLTMwMjAsNyArNDQ0MSw3IEBACiAiZGllc2UgYmVyZWl0cyBhbmRlcndlaXRpZyBlaW5nZWbDvGd0IHdvcmRlbiBzZWluOyBTaWUga8O2bm50ZW4gZGllc2VuIFBhdGNoXG4iCiAiYXVzbGFzc2VuLiIKIAotIzogYnVpbHRpbi9hbS5jOjE5NTAKKyM6IGJ1aWx0aW4vYW0uYzoxOTQzCiBtc2dpZCAiIgogIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCiAiRGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz8iCkBAIC0zMDI4LDE3ICs0NDQ5LDE3IEBACiAiU2llIGhhYmVuIGltbWVyIG5vY2ggbmljaHQgenVzYW1tZW5nZWbDvGhydGUgUGZhZGUgaW0gSW5kZXguXG4iCiAiSGFiZW4gU2llIHZlcmdlc3NlbiAnZ2l0IGFkZCcgenUgYmVudXR6ZW4/IgogCi0jOiBidWlsdGluL2FtLmM6MjA1OCBidWlsdGluL2FtLmM6MjA2MiBidWlsdGluL2FtLmM6MjA3NCBidWlsdGluL3Jlc2V0LmM6MzA4CisjOiBidWlsdGluL2FtLmM6MjA1MSBidWlsdGluL2FtLmM6MjA1NSBidWlsdGluL2FtLmM6MjA2NyBidWlsdGluL3Jlc2V0LmM6MzA4CiAjOiBidWlsdGluL3Jlc2V0LmM6MzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iCiBtc2dzdHIgIktvbm50ZSBPYmpla3QgJyVzJyBuaWNodCBwYXJzZW4uIgogCi0jOiBidWlsdGluL2FtLmM6MjExMAorIzogYnVpbHRpbi9hbS5jOjIxMDMKIG1zZ2lkICJmYWlsZWQgdG8gY2xlYW4gaW5kZXgiCiBtc2dzdHIgIkZlaGxlciBiZWltIEJlcmVpbmlnZW4gZGVzIEluZGV4IgogCi0jOiBidWlsdGluL2FtLmM6MjE0NAorIzogYnVpbHRpbi9hbS5jOjIxMzcKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKQEAgLTMwNDYsMTU1ICs0NDY3LDEzNCBAQAogIlNpZSBzY2hlaW5lbiBzZWl0IGRlbSBsZXR6dGVuIGdlc2NoZWl0ZXJ0ZW4gJ2FtJyBIRUFEIGdlw6RuZGVydCB6dSBoYWJlbi5cbiIKICJLZWluZSBadXLDvGNrc2V0enVuZyB6dSBPUklHX0hFQUQuIgogCi0jOiBidWlsdGluL2FtLmM6MjIwNQorIzogYnVpbHRpbi9hbS5jOjIyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBXZXJ0IGbDvHIgLS1wYXRjaC1mb3JtYXQ6ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MjIzOAotbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSBbKDxtYm94Pnw8TWFpbGRpcj4pLi4uXSIKLW1zZ3N0ciAiZ2l0IGFtIFs8T3B0aW9uZW4+XSBbKDxtYm94Pnw8RS1NYWlsLVZlcnplaWNobmlzPikuLi5dIgorIzogYnVpbHRpbi9hbS5jOjIyMzMKK21zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKK21zZ3N0ciAiZ2l0IGFtIFs8T3B0aW9uZW4+XSBbKDxtYm94PiB8IDxFLU1haWwtVmVyemVpY2huaXM+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM5CisjOiBidWlsdGluL2FtLmM6MjIzNAogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogbXNnc3RyICJnaXQgYW0gWzxPcHRpb25lbj5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ1CisjOiBidWlsdGluL2FtLmM6MjI0MAogbXNnaWQgInJ1biBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJpbnRlcmFrdGl2IGF1c2bDvGhyZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ3CisjOiBidWlsdGluL2FtLmM6MjI0MgogbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgogbXNnc3RyICJoaXN0b3Jpc2NoZSBPcHRpb24gLS0ga2VpbiBFZmZla3QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ5CisjOiBidWlsdGluL2FtLmM6MjI0NAogbXNnaWQgImFsbG93IGZhbGwgYmFjayBvbiAzd2F5IG1lcmdpbmcgaWYgbmVlZGVkIgogbXNnc3RyICJlcmxhdWJlLCBmYWxscyBub3R3ZW5kaWcsIGRhcyBadXLDvGNrZmFsbGVuIGF1ZiBlaW5lbiAzLVdlZ2UtTWVyZ2UiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU3Ci0jOiBidWlsdGluL3JlcGFjay5jOjE3MQorIzogYnVpbHRpbi9hbS5jOjIyNDUgYnVpbHRpbi9pbml0LWRiLmM6NDgzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcyCiBtc2dpZCAiYmUgcXVpZXQiCiBtc2dzdHIgIndlbmlnZXIgQXVzZ2FiZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUyCisjOiBidWlsdGluL2FtLmM6MjI0NwogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgImRlciBDb21taXQtQmVzY2hyZWlidW5nIGVpbmUgU2lnbmVkLW9mZi1ieSBaZWlsZSBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTUKKyM6IGJ1aWx0aW4vYW0uYzoyMjUwCiBtc2dpZCAicmVjb2RlIGludG8gdXRmOCAoZGVmYXVsdCkiCiBtc2dzdHIgIm5hY2ggVVRGLTggdW1rb2RpZXJlbiAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NworIzogYnVpbHRpbi9hbS5jOjIyNTIKIG1zZ2lkICJwYXNzIC1rIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICItayBhbiBnaXQtbWFpbGluZm8gw7xiZXJnZWJlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTkKKyM6IGJ1aWx0aW4vYW0uYzoyMjU0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAiLWIgYW4gZ2l0LW1haWxpbmZvIMO8YmVyZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjYxCisjOiBidWlsdGluL2FtLmM6MjI1NgogbXNnaWQgInBhc3MgLW0gZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgIi1tIGFuIGdpdC1tYWlsaW5mbyDDvGJlcmdlYmVuIgogCi0jOiBidWlsdGluL2FtLmM6MjI2MworIzogYnVpbHRpbi9hbS5jOjIyNTgKIG1zZ2lkICJwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgZm9yIG1ib3ggZm9ybWF0IgogbXNnc3RyICItLWtlZXAtY3IgYW4gZ2l0LW1haWxzcGxpdCBmw7xyIG1ib3gtRm9ybWF0IMO8YmVyZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY2CisjOiBidWlsdGluL2FtLmM6MjI2MQogbXNnaWQgImRvIG5vdCBwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgaW5kZXBlbmRlbnQgb2YgYW0ua2VlcGNyIgogbXNnc3RyICJrZWluIC0ta2VlcC1jciBhbiBnaXQtbWFpbHNwbGl0IMO8YmVyZ2ViZW4sIHVuYWJow6RuZ2lnIHZvbiBhbS5rZWVwY3IiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY5CisjOiBidWlsdGluL2FtLmM6MjI2NAogbXNnaWQgInN0cmlwIGV2ZXJ5dGhpbmcgYmVmb3JlIGEgc2Npc3NvcnMgbGluZSIKIG1zZ3N0ciAiYWxsZXMgdm9yIGVpbmVyIFNjaGVyZW4tWmVpbGUgZW50ZmVybmVuIgogCi0jOiBidWlsdGluL2FtLmM6MjI3MCBidWlsdGluL2FwcGx5LmM6NDU0NgotbXNnaWQgImFjdGlvbiIKLW1zZ3N0ciAiQWt0aW9uIgotCi0jOiBidWlsdGluL2FtLmM6MjI3MSBidWlsdGluL2FtLmM6MjI3NCBidWlsdGluL2FtLmM6MjI3NyBidWlsdGluL2FtLmM6MjI4MAotIzogYnVpbHRpbi9hbS5jOjIyODMgYnVpbHRpbi9hbS5jOjIyODYgYnVpbHRpbi9hbS5jOjIyODkgYnVpbHRpbi9hbS5jOjIyOTIKLSM6IGJ1aWx0aW4vYW0uYzoyMjk4CisjOiBidWlsdGluL2FtLmM6MjI2NiBidWlsdGluL2FtLmM6MjI2OSBidWlsdGluL2FtLmM6MjI3MiBidWlsdGluL2FtLmM6MjI3NQorIzogYnVpbHRpbi9hbS5jOjIyNzggYnVpbHRpbi9hbS5jOjIyODEgYnVpbHRpbi9hbS5jOjIyODQgYnVpbHRpbi9hbS5jOjIyODcKKyM6IGJ1aWx0aW4vYW0uYzoyMjkzCiBtc2dpZCAicGFzcyBpdCB0aHJvdWdoIGdpdC1hcHBseSIKIG1zZ3N0ciAiYW4gZ2l0LWFwcGx5IMO8YmVyZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjc5IGJ1aWx0aW4vYXBwbHkuYzo0NTcwCi1tc2dpZCAicm9vdCIKLW1zZ3N0ciAiV3VyemVsdmVyemVpY2huaXMiCi0KLSM6IGJ1aWx0aW4vYW0uYzoyMjgyIGJ1aWx0aW4vYW0uYzoyMjg1IGJ1aWx0aW4vYXBwbHkuYzo0NTA4Ci0jOiBidWlsdGluL2FwcGx5LmM6NDUxMSBidWlsdGluL2Nsb25lLmM6OTAgYnVpbHRpbi9mZXRjaC5jOjk1Ci0jOiBidWlsdGluL3B1bGwuYzoxNzkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI3NwotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDg1Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDg4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzAKLW1zZ2lkICJwYXRoIgotbXNnc3RyICJQZmFkIgotCi0jOiBidWlsdGluL2FtLmM6MjI4OCBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5Ci0jOiBidWlsdGluL2dyZXAuYzo3MDYgYnVpbHRpbi9tZXJnZS5jOjE5OSBidWlsdGluL3B1bGwuYzoxMzQgYnVpbHRpbi9wdWxsLmM6MTkzCi0jOiBidWlsdGluL3JlcGFjay5jOjE3OCBidWlsdGluL3JlcGFjay5jOjE4MiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1CisjOiBidWlsdGluL2FtLmM6MjI4MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjIgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY1CisjOiBidWlsdGluL2dyZXAuYzo3MDcgYnVpbHRpbi9tZXJnZS5jOjIwMCBidWlsdGluL3B1bGwuYzoxMzUgYnVpbHRpbi9wdWxsLmM6MTk0CisjOiBidWlsdGluL3JlcGFjay5jOjE4MSBidWlsdGluL3JlcGFjay5jOjE4NSBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ0CiAjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc1IGJ1aWx0aW4vdGFnLmM6MzQwIHBhcnNlLW9wdGlvbnMuaDoxMzIKLSM6IHBhcnNlLW9wdGlvbnMuaDoxMzQgcGFyc2Utb3B0aW9ucy5oOjI0NAorIzogcGFyc2Utb3B0aW9ucy5oOjEzNCBwYXJzZS1vcHRpb25zLmg6MjQ1CiBtc2dpZCAibiIKIG1zZ3N0ciAiQW56YWhsIgogCi0jOiBidWlsdGluL2FtLmM6MjI5MSBidWlsdGluL2FwcGx5LmM6NDUxNAotbXNnaWQgIm51bSIKLW1zZ3N0ciAiQW56YWhsIgotCi0jOiBidWlsdGluL2FtLmM6MjI5NCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3IGJ1aWx0aW4vcmVwbGFjZS5jOjQzOAorIzogYnVpbHRpbi9hbS5jOjIyODkgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3JlcGxhY2UuYzo0MzgKICM6IGJ1aWx0aW4vdGFnLmM6MzcyCiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICJGb3JtYXQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk1CisjOiBidWlsdGluL2FtLmM6MjI5MAogbXNnaWQgImZvcm1hdCB0aGUgcGF0Y2goZXMpIGFyZSBpbiIKIG1zZ3N0ciAiUGF0Y2gtRm9ybWF0IgogCi0jOiBidWlsdGluL2FtLmM6MjMwMQorIzogYnVpbHRpbi9hbS5jOjIyOTYKIG1zZ2lkICJvdmVycmlkZSBlcnJvciBtZXNzYWdlIHdoZW4gcGF0Y2ggZmFpbHVyZSBvY2N1cnMiCiBtc2dzdHIgIk1lbGR1bmcgYmVpIGZlaGxlcmhhZnRlciBQYXRjaC1BbndlbmR1bmcgw7xiZXJzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzAzCisjOiBidWlsdGluL2FtLmM6MjI5OAogbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCiBtc2dzdHIgIkFud2VuZHVuZyBkZXIgUGF0Y2hlcyBuYWNoIEF1ZmzDtnN1bmcgZWluZXMgS29uZmxpa3RlcyBmb3J0c2V0emVuIgogCi0jOiBidWlsdGluL2FtLmM6MjMwNgorIzogYnVpbHRpbi9hbS5jOjIzMDEKIG1zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKIG1zZ3N0ciAiU3lub255bWUgZsO8ciAtLWNvbnRpbnVlIgogCi0jOiBidWlsdGluL2FtLmM6MjMwOQorIzogYnVpbHRpbi9hbS5jOjIzMDQKIG1zZ2lkICJza2lwIHRoZSBjdXJyZW50IHBhdGNoIgogbXNnc3RyICJkZW4gYWt0dWVsbGVuIFBhdGNoIGF1c2xhc3NlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTIKKyM6IGJ1aWx0aW4vYW0uYzoyMzA3CiBtc2dpZCAicmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBhYm9ydCB0aGUgcGF0Y2hpbmcgb3BlcmF0aW9uLiIKIG1zZ3N0ciAiIgogInVyc3Byw7xuZ2xpY2hlbiBCcmFuY2ggd2llZGVyaGVyc3RlbGxlbiB1bmQgQW53ZW5kdW5nIGRlciBQYXRjaGVzIGFiYnJlY2hlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTYKKyM6IGJ1aWx0aW4vYW0uYzoyMzExCiBtc2dpZCAibGllIGFib3V0IGNvbW1pdHRlciBkYXRlIgogbXNnc3RyICJBdXRvci1EYXR1bSBhbHMgQ29tbWl0LURhdHVtIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTgKKyM6IGJ1aWx0aW4vYW0uYzoyMzEzCiBtc2dpZCAidXNlIGN1cnJlbnQgdGltZXN0YW1wIGZvciBhdXRob3IgZGF0ZSIKIG1zZ3N0ciAiYWt0dWVsbGVuIFplaXRzdGVtcGVsIGFscyBBdXRvci1EYXR1bSB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIwIGJ1aWx0aW4vY29tbWl0LmM6MTYwOSBidWlsdGluL21lcmdlLmM6MjI4Ci0jOiBidWlsdGluL3B1bGwuYzoxNjQgYnVpbHRpbi9yZXZlcnQuYzo5MiBidWlsdGluL3RhZy5jOjM1NQorIzogYnVpbHRpbi9hbS5jOjIzMTUgYnVpbHRpbi9jb21taXQuYzoxNjA1IGJ1aWx0aW4vbWVyZ2UuYzoyMjkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NSBidWlsdGluL3JldmVydC5jOjkyIGJ1aWx0aW4vdGFnLmM6MzU1CiBtc2dpZCAia2V5LWlkIgogbXNnc3RyICJHUEctU2NobMO8c3NlbGtlbm51bmciCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIxCisjOiBidWlsdGluL2FtLmM6MjMxNgogbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCiBtc2dzdHIgIkNvbW1pdHMgbWl0IEdQRyBzaWduaWVyZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzI0CisjOiBidWlsdGluL2FtLmM6MjMxOQogbXNnaWQgIihpbnRlcm5hbCB1c2UgZm9yIGdpdC1yZWJhc2UpIgogbXNnc3RyICIoaW50ZXJuIGbDvHIgZ2l0LXJlYmFzZSB2ZXJ3ZW5kZXQpIgogCi0jOiBidWlsdGluL2FtLmM6MjMzOQorIzogYnVpbHRpbi9hbS5jOjIzMzQKIG1zZ2lkICIiCiAiVGhlIC1iLy0tYmluYXJ5IG9wdGlvbiBoYXMgYmVlbiBhIG5vLW9wIGZvciBsb25nIHRpbWUsIGFuZFxuIgogIml0IHdpbGwgYmUgcmVtb3ZlZC4gUGxlYXNlIGRvIG5vdCB1c2UgaXQgYW55bW9yZS4iCkBAIC0zMjAyLDE2ICs0NjAyLDE2IEBACiAiRGllIC1iLy0tYmluYXJ5IE9wdGlvbiBoYXQgc2VpdCBMYW5nZW0ga2VpbmVuIEVmZmVrdCB1bmQgd2lyZFxuIgogImVudGZlcm50LiBCaXR0ZSB2ZXJ3ZW5kZW4gU2llIGRpZXNlIG5pY2h0IG1laHIuIgogCi0jOiBidWlsdGluL2FtLmM6MjM0NgorIzogYnVpbHRpbi9hbS5jOjIzNDEKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIkZlaGxlciBiZWltIExlc2VuIGRlcyBJbmRleCIKIAotIzogYnVpbHRpbi9hbS5jOjIzNjEKKyM6IGJ1aWx0aW4vYW0uYzoyMzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZXZpb3VzIHJlYmFzZSBkaXJlY3RvcnkgJXMgc3RpbGwgZXhpc3RzIGJ1dCBtYm94IGdpdmVuLiIKIG1zZ3N0ciAiVm9yaGVyaWdlcyBSZWJhc2UtVmVyemVpY2huaXMgJXMgZXhpc3RpZXJ0IG5vY2gsIGFiZXIgbWJveCBnZWdlYmVuLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzODUKKyM6IGJ1aWx0aW4vYW0uYzoyMzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdHJheSAlcyBkaXJlY3RvcnkgZm91bmQuXG4iCkBAIC0zMjIwLDUxNSArNDYyMCwxNCBAQAogIlN0cmF5ICVzIFZlcnplaWNobmlzIGdlZnVuZGVuLlxuIgogIkJlbnV0emVuIFNpZSBcImdpdCBhbSAtLWFib3J0XCIsIHVtIGVzIHp1IGVudGZlcm5lbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzkxCisjOiBidWlsdGluL2FtLmM6MjM4NgogbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCiBtc2dzdHIgIkVzIGlzdCBrZWluZSBBdWZsw7ZzdW5nIGltIEdhbmdlLCBlcyB3aXJkIG5pY2h0IGZvcnRnZXNldHp0LiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjU5CisjOiBidWlsdGluL2FwcGx5LmM6OAogbXNnaWQgImdpdCBhcHBseSBbPG9wdGlvbnM+XSBbPHBhdGNoPi4uLl0iCiBtc2dzdHIgImdpdCBhcHBseSBbPE9wdGlvbmVuPl0gWzxQYXRjaD4uLi5dIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MTExCi0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgotbXNnc3RyICJuaWNodCBlcmthbm50ZSBXaGl0ZXNwYWNlLU9wdGlvbjogJyVzJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjEyNgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCi1tc2dzdHIgIm5pY2h0IGVya2FubnRlIE9wdGlvbiB6dW0gSWdub3JpZXJlbiB2b24gV2hpdGVzcGFjZTogJyVzJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjgxOAotIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgotbXNnc3RyICJLYW5uIHJlZ3Vsw6RyZW4gQXVzZHJ1Y2sgZsO8ciBaZWl0c3RlbXBlbCAlcyBuaWNodCB2ZXJhcmJlaXRlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjgyNwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCi1tc2dzdHIgIkF1c2bDvGhydW5nIGRlcyByZWd1bMOkcmVuIEF1c2RydWNrcyBnYWIgJWQgenVyw7xjay4gRWluZ2FiZTogJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5MDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKLW1zZ3N0ciAiS29ubnRlIGtlaW5lbiBEYXRlaW5hbWVuIGluIFplaWxlICVkIGRlcyBQYXRjaGVzIGZpbmRlbi4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgotbXNnc3RyICIiCi0iZ2l0IGFwcGx5OiB1bmfDvGx0aWdlcyAnZ2l0LWRpZmYnIC0gZXJ3YXJ0ZXRlIC9kZXYvbnVsbCwgZXJoaWVsdCAlcyBpbiBaZWlsZSAiCi0iJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5NDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiCi1tc2dzdHIgIiIKLSJnaXQgYXBwbHk6IHVuZ8O8bHRpZ2VzICdnaXQtZGlmZicgLSBJbmtvbnNpc3RlbnRlciBuZXVlciBEYXRlaW5hbWUgaW4gWmVpbGUgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5NDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCi1tc2dzdHIgIiIKLSJnaXQgYXBwbHk6IHVuZ8O8bHRpZ2VzICdnaXQtZGlmZicgLSBJbmtvbnNpc3RlbnRlciBhbHRlciBEYXRlaW5hbWUgaW4gWmVpbGUgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5NDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwgb24gbGluZSAlZCIKLW1zZ3N0ciAiZ2l0IGFwcGx5OiB1bmfDvGx0aWdlcyAnZ2l0LWRpZmYnIC0gZXJ3YXJ0ZXRlIC9kZXYvbnVsbCBpbiBaZWlsZSAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE0MDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgotbXNnc3RyICJyZWNvdW50OiB1bmVyd2FydGV0ZSBaZWlsZTogJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE0NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKLW1zZ3N0ciAiUGF0Y2gtRnJhZ21lbnQgb2huZSBLb3BmYmVyZWljaCBiZWkgWmVpbGUgJWQ6ICUuKnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNDgwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKLSJjb21wb25lbnQgKGxpbmUgJWQpIgotbXNnaWRfcGx1cmFsICIiCi0iZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCi0iY29tcG9uZW50cyAobGluZSAlZCkiCi1tc2dzdHJbMF0gIiIKLSJEZW0gS29wZmJlcmVpY2ggdm9uIFwiZ2l0IGRpZmZcIiBmZWhsZW4gSW5mb3JtYXRpb25lbiB6dW0gRGF0ZWluYW1lbiwgd2VubiAiCi0iJWQgdm9yYW5nZXN0ZWxsdGVyIFRlaWwgZGVzIFBmYWRlcyBlbnRmZXJudCB3aXJkIChaZWlsZSAlZCkiCi1tc2dzdHJbMV0gIiIKLSJEZW0gS29wZmJlcmVpY2ggdm9uIFwiZ2l0IGRpZmZcIiBmZWhsZW4gSW5mb3JtYXRpb25lbiB6dW0gRGF0ZWluYW1lbiwgd2VubiAiCi0iJWQgdm9yYW5nZXN0ZWxsdGUgVGVpbGUgZGVzIFBmYWRlcyBlbnRmZXJudCB3ZXJkZW4gKFplaWxlICVkKSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE2NDYKLW1zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKLW1zZ3N0ciAibmV1ZSBEYXRlaSBow6RuZ3Qgdm9uIGFsdGVuIEluaGFsdGVuIGFiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY0OAotbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCi1tc2dzdHIgImVudGZlcm50ZSBEYXRlaSBoYXQgbm9jaCBJbmhhbHRlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY3NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgImZlaGxlcmhhZnRlciBQYXRjaCBiZWkgWmVpbGUgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNzEwCi0jLCBjLWZvcm1hdAotbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgotbXNnc3RyICJuZXVlIERhdGVpICVzIGjDpG5ndCB2b24gYWx0ZW4gSW5oYWx0ZW4gYWIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNzEyCi0jLCBjLWZvcm1hdAotbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCi1tc2dzdHIgImVudGZlcm50ZSBEYXRlaSAlcyBoYXQgbm9jaCBJbmhhbHRlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTcxNQotIywgYy1mb3JtYXQKLW1zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgotbXNnc3RyICIqKiBXYXJudW5nOiBEYXRlaSAlcyB3aXJkIGxlZXIsIGFiZXIgbmljaHQgZW50ZmVybnQuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTg2MQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIgotbXNnc3RyICJmZWhsZXJoYWZ0ZXIgQmluw6RyLVBhdGNoIGJlaSBaZWlsZSAlZDogJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE4OTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgotbXNnc3RyICJuaWNodCBlcmthbm50ZXIgQmluw6RyLVBhdGNoIGJlaSBaZWlsZSAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjIwNDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0Y2ggd2l0aCBvbmx5IGdhcmJhZ2UgYXQgbGluZSAlZCIKLW1zZ3N0ciAiUGF0Y2ggbWl0IG51dHpsb3NlbiBJbmZvcm1hdGlvbmVuIGJlaSBaZWlsZSAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjIxMzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKLW1zZ3N0ciAia29ubnRlIHN5bWJvbGlzY2hlIFZlcmtuw7xwZnVuZyAlcyBuaWNodCBsZXNlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjIxNDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKLW1zZ3N0ciAia29ubnRlICVzIG5pY2h0IMO2ZmZuZW4gb2RlciBsZXNlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI3NzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgotbXNnc3RyICJVbmfDvGx0aWdlciBaZWlsZW5hbmZhbmc6ICclYyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyODk0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmUpLiIKLW1zZ2lkX3BsdXJhbCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZXMpLiIKLW1zZ3N0clswXSAiUGF0Y2gtQmVyZWljaCAjJWQgZXJmb2xncmVpY2ggYW5nZXdlbmRldCBiZWkgJWQgKCVkIFplaWxlIHZlcnNldHp0KSIKLW1zZ3N0clsxXSAiIgotIlBhdGNoLUJlcmVpY2ggIyVkIGVyZm9sZ3JlaWNoIGFuZ2V3ZW5kZXQgYmVpICVkICglZCBaZWlsZW4gdmVyc2V0enQpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjkwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgotbXNnc3RyICJLb250ZXh0IHJlZHV6aWVydCB6dSAoJWxkLyVsZCksIHVtIFBhdGNoLUJlcmVpY2ggYmVpICVkIGFuenV3ZW5kZW4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyOTEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgotIiUuKnMiCi1tc2dzdHIgIiIKLSJiZWkgZGVyIFN1Y2hlIG5hY2g6XG4iCi0iJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI5MzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKLW1zZ3N0ciAia2VpbmUgRGF0ZW4gaW4gQmluw6RyLVBhdGNoIGbDvHIgJyVzJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMwMzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciCi1tc2dzdHIgIktvbm50ZSBCaW7DpHItUGF0Y2ggbmljaHQgYXVmICclcycgYW53ZW5kZW4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMDM5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgotbXNnc3RyICIiCi0iQmluw6RyLVBhdGNoIGbDvHIgJyVzJyBlcnpldWd0IGZhbHNjaGVzIEVyZ2VibmlzIChlcndhcnRldGUgJXMsIGJla2FtICVzKSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMwNjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0Y2ggZmFpbGVkOiAlczolbGQiCi1tc2dzdHIgIkFud2VuZHVuZyBkZXMgUGF0Y2hlcyBmZWhsZ2VzY2hsYWdlbjogJXM6JWxkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzE4NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCi1tc2dzdHIgImthbm4gJXMgbmljaHQgYXVzY2hlY2tlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMyMjkgYnVpbHRpbi9hcHBseS5jOjMyNDAgYnVpbHRpbi9hcHBseS5jOjMyODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVhZCBvZiAlcyBmYWlsZWQiCi1tc2dzdHIgIktvbm50ZSAlcyBuaWNodCBsZXNlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMyMzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAiJyVzJyBpc3QgaGludGVyIGVpbmVyIHN5bWJvbGlzY2hlbiBWZXJrbsO8cGZ1bmciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMjY1IGJ1aWx0aW4vYXBwbHkuYzozNDg3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIgotbXNnc3RyICJQZmFkICVzIHd1cmRlIHVtYmVuYW5udC9nZWzDtnNjaHQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMzQ2IGJ1aWx0aW4vYXBwbHkuYzozNTAxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKLW1zZ3N0ciAiJXMgaXN0IG5pY2h0IGltIEluZGV4IgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzM1MCBidWlsdGluL2FwcGx5LmM6MzQ5MyBidWlsdGluL2FwcGx5LmM6MzUxNQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogJXMiCi1tc2dzdHIgIiVzOiAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMzNTUgYnVpbHRpbi9hcHBseS5jOjM1MDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgotbXNnc3RyICIlcyBlbnRzcHJpY2h0IG5pY2h0IGRlciBWZXJzaW9uIGltIEluZGV4IgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzQ1NwotbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCi1tc2dzdHIgIkzDtnNjaC1QYXRjaCBoaW50ZXJsw6Rzc3QgRGF0ZWlpbmhhbHRlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzUyNgotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogd3JvbmcgdHlwZSIKLW1zZ3N0ciAiJXM6IGZhbHNjaGVyIFR5cCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM1MjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgotbXNnc3RyICIlcyBpc3Qgdm9tIFR5cCAlbywgZXJ3YXJ0ZXRlICVvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzY4NyBidWlsdGluL2FwcGx5LmM6MzY4OQotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKLW1zZ3N0ciAiVW5nw7xsdGlnZXIgUGZhZCAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc0NAotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgiCi1tc2dzdHIgIiVzIGlzdCBiZXJlaXRzIGJlcmVpdGdlc3RlbGx0IgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc0NwotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCi1tc2dzdHIgIiVzIGV4aXN0aWVydCBiZXJlaXRzIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgotbXNnc3RyICJuZXVlciBNb2R1cyAoJW8pIHZvbiAlcyBlbnRzcHJpY2h0IG5pY2h0IGRlbSBhbHRlbiBNb2R1cyAoJW8pIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc3MgotIywgYy1mb3JtYXQKLW1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCi1tc2dzdHIgIm5ldWVyIE1vZHVzICglbykgdm9uICVzIGVudHNwcmljaHQgbmljaHQgZGVtIGFsdGVuIE1vZHVzICglbykgdm9uICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc5MgotIywgYy1mb3JtYXQKLW1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAiYmV0cm9mZmVuZSBEYXRlaSAnJXMnIGlzdCBoaW50ZXIgZWluZXIgc3ltYm9saXNjaGVuIFZlcmtuw7xwZnVuZyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3OTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgotbXNnc3RyICIlczogUGF0Y2gga29ubnRlIG5pY2h0IGFuZ2V3ZW5kZXQgd2VyZGVuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzgxMAotIywgYy1mb3JtYXQKLW1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKLW1zZ3N0ciAiUHLDvGZlIFBhdGNoICVzIC4uLiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM5MDMgYnVpbHRpbi9jaGVja291dC5jOjIzMyBidWlsdGluL3Jlc2V0LmM6MTM1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCi1tc2dzdHIgIm1ha2VfY2FjaGVfZW50cnkgZsO8ciBQZmFkICclcycgZmVobGdlc2NobGFnZW4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDQ2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKLW1zZ3N0ciAia29ubnRlICVzIG5pY2h0IGF1cyBkZW0gSW5kZXggZW50ZmVybmVuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCi1tc2dzdHIgImZlaGxlcmhhZnRlciBQYXRjaCBmw7xyIFN1Ym1vZHVsICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA3OQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKLW1zZ3N0ciAia29ubnRlIG5ldSBlcnN0ZWxsdGUgRGF0ZWkgJyVzJyBuaWNodCBsZXNlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCi1tc2dzdHIgImthbm4gaW50ZXJuZW4gU3BlaWNoZXIgZsO8ciBlYmVuIGVyc3RlbGx0ZSBEYXRlaSAlcyBuaWNodCBlcnpldWdlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwODcgYnVpbHRpbi9hcHBseS5jOjQxOTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCi1tc2dzdHIgImthbm4gZsO8ciAlcyBrZWluZW4gRWludHJhZyBpbiBkZW4gWndpc2NoZW5zcGVpY2hlciBoaW56dWbDvGdlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQxMjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2xvc2luZyBmaWxlICclcyciCi1tc2dzdHIgInNjaGxpZcOfZSBEYXRlaSAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDE2OQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCi1tc2dzdHIgImtvbm50ZSBEYXRlaSAnJXMnIG1pdCBNb2R1cyAlbyBuaWNodCBzY2hyZWliZW4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MjU2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkFwcGxpZWQgcGF0Y2ggJXMgY2xlYW5seS4iCi1tc2dzdHIgIlBhdGNoICVzIHNhdWJlciBhbmdld2VuZGV0IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI2NAotbXNnaWQgImludGVybmFsIGVycm9yIgotbXNnc3RyICJpbnRlcm5lciBGZWhsZXIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MjY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKLW1zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKLW1zZ3N0clswXSAiV2VuZGUgUGF0Y2ggJSVzIG1pdCAlZCBadXLDvGNrd2Vpc3VuZyBhbi4uLiIKLW1zZ3N0clsxXSAiV2VuZGUgUGF0Y2ggJSVzIG1pdCAlZCBadXLDvGNrd2Vpc3VuZ2VuIGFuLi4uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI3NwotIywgYy1mb3JtYXQKLW1zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCi1tc2dzdHIgIlZlcmvDvHJ6ZSBOYW1lIHZvbiAucmVqIERhdGVpIHp1ICUuKnMucmVqIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI4NQotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCi1tc2dzdHIgIkthbm4gJXMgbmljaHQgw7ZmZm5lbjogJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mjk4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkh1bmsgIyVkIGFwcGxpZWQgY2xlYW5seS4iCi1tc2dzdHIgIlBhdGNoLUJlcmVpY2ggIyVkIHNhdWJlciBhbmdld2VuZGV0LiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQzMDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgotbXNnc3RyICJQYXRjaC1CbG9jayAjJWQgenVyw7xja2dld2llc2VuLiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQzODcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiU2tpcHBlZCBwYXRjaCAnJXMnLiIKLW1zZ3N0ciAiUGF0Y2ggJyVzJyBhdXNnZWxhc3Nlbi4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzk1Ci1tc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgotbXNnc3RyICJuaWNodCBlcmthbm50ZSBFaW5nYWJlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDQwNgotbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCi1tc2dzdHIgIktvbm50ZSBJbmRleC1EYXRlaSBuaWNodCBsZXNlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MDkKLW1zZ2lkICJkb24ndCBhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgotbXNnc3RyICJrZWluZSDDhG5kZXJ1bmdlbiBpbSBhbmdlZ2ViZW5lbiBQZmFkIGFud2VuZGVuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUxMgotbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCi1tc2dzdHIgIsOEbmRlcnVuZ2VuIG51ciBpbSBhbmdlZ2ViZW5lbiBQZmFkIGFud2VuZGVuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUxNQotbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgotbXNnc3RyICIiCi0iPEFuemFobD4gdm9yYW5nZXN0ZWxsdGUgU2NocsOkZ3N0cmljaGUgdm9uIGhlcmvDtm1tbGljaGVuIERpZmZlcmVuenBmYWRlbiAiCi0iZW50ZmVybmVuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUxOAotbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCi1tc2dzdHIgImhpbnp1Z2Vmw7xndGUgWmVpbGVuIGRlcyBQYXRjaGVzIGlnbm9yaWVyZW4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTIwCi1tc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBkaWZmc3RhdCBmb3IgdGhlIGlucHV0IgotbXNnc3RyICIiCi0iYW5zdGF0dCBkZXIgQW53ZW5kdW5nIGRlcyBQYXRjaGVzLCBkZW4gXCJkaWZmc3RhdFwiIGbDvHIgZGllIEVpbmdhYmUgIgotImF1c2dlZ2ViZW4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTI0Ci1tc2dpZCAic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIKLW1zZ3N0ciAiIgotImRpZSBBbnphaGwgdm9uIGhpbnp1Z2Vmw7xndGVuL2VudGZlcm50ZW4gWmVpbGVuIGluIERlemltYWxub3RhdGlvbiBhbnplaWdlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjYKLW1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgotbXNnc3RyICIiCi0iYW5zdGF0dCBkZXIgQW53ZW5kdW5nIGRlcyBQYXRjaGVzLCBlaW5lIFp1c2FtbWVuZmFzc3VuZyBmw7xyIGRpZSBFaW5nYWJlICIKLSJhdXNnZWJlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjgKLW1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIgotbXNnc3RyICIiCi0iYW5zdGF0dCBkZXIgQW53ZW5kdW5nIGRlcyBQYXRjaGVzLCB6ZWlnZSBvYiBQYXRjaCBhbmdld2VuZGV0IHdlcmRlbiBrYW5uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzMAotbXNnaWQgIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIKLW1zZ3N0ciAiIgotInNpY2hlcnN0ZWxsZW4sIGRhc3MgZGVyIFBhdGNoIG1pdCBkZW0gYWt0dWVsbGVuIEluZGV4IGFuZ2V3ZW5kZXQgd2VyZGVuIGthbm4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTMyCi1tc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCi1tc2dzdHIgIlBhdGNoIGFud2VuZGVuLCBvaG5lIMOEbmRlcnVuZ2VuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyB2b3J6dW5laG1lbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzQKLW1zZ2lkICJhY2NlcHQgYSBwYXRjaCB0aGF0IHRvdWNoZXMgb3V0c2lkZSB0aGUgd29ya2luZyBhcmVhIgotbXNnc3RyICIiCi0iUGF0Y2ggYW53ZW5kZW4sIGRlciDDhG5kZXJ1bmdlbiBhdcOfZXJoYWxiIGRlcyBBcmJlaXRzdmVyemVpY2huaXNzZXMgdm9ybmltbXQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTM2Ci1tc2dpZCAiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCi1tc2dzdHIgIlBhdGNoIGFud2VuZGVuIChCZW51dHp1bmcgbWl0IC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTM4Ci1tc2dpZCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIKLW1zZ3N0ciAidmVyc3VjaGUgMy1XZWdlLU1lcmdlLCB3ZW5uIGRlciBQYXRjaCBuaWNodCBhbmdld2VuZGV0IHdlcmRlbiBrb25udGUiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQwCi1tc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCi1tc2dzdHIgIiIKLSJlaW5lbiB0ZW1wb3LDpHJlbiBJbmRleCwgYmFzaWVyZW5kIGF1ZiBkZW4gaW50ZWdyaWVydGVuIEluZGV4LUluZm9ybWF0aW9uZW4sICIKLSJlcnN0ZWxsZW4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQzIGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjkgYnVpbHRpbi9scy1maWxlcy5jOjQyNQotbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgotbXNnc3RyICJQZmFkZSBzaW5kIGdldHJlbm50IGR1cmNoIE5VTCBaZWljaGVuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU0NQotbXNnaWQgImVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2YgY29udGV4dCBtYXRjaCIKLW1zZ3N0ciAiIgotInNpY2hlciBzdGVsbGVuLCBkYXNzIG1pbmRlc3RlbnMgPG4+IFplaWxlbiBkZXMgS29udGV4dGVzIMO8YmVyZWluc3RpbW1lbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NDcKLW1zZ2lkICJkZXRlY3QgbmV3IG9yIG1vZGlmaWVkIGxpbmVzIHRoYXQgaGF2ZSB3aGl0ZXNwYWNlIGVycm9ycyIKLW1zZ3N0ciAibmV1ZSBvZGVyIGdlw6RuZGVydGUgWmVpbGVuLCBkaWUgV2hpdGVzcGFjZS1GZWhsZXIgaGFiZW4sIGVybWl0dGVsbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NTAgYnVpbHRpbi9hcHBseS5jOjQ1NTMKLW1zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgotbXNnc3RyICLDhG5kZXJ1bmdlbiBpbSBXaGl0ZXNwYWNlIGJlaSBkZXIgU3VjaGUgZGVzIEtvbnRleHRlcyBpZ25vcmllcmVuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU1NgotbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgotbXNnc3RyICJkZW4gUGF0Y2ggaW4gdW1nZWtlaHJ0ZXIgUmVpaGVuZm9sZ2UgYW53ZW5kZW4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTU4Ci1tc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCi1tc2dzdHIgImtlaW5lbiBLb250ZXh0IGVyd2FydGVuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2MAotbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgotbXNnc3RyICIiCi0ienVyw7xja2dld2llc2VuZSBQYXRjaC1CbMO2Y2tlIGluIGVudHNwcmVjaGVuZGVuICoucmVqIERhdGVpZW4gaGludGVybGFzc2VuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2MgotbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgotbXNnc3RyICJzaWNoIMO8YmVybGFwcGVuZGUgUGF0Y2gtQmzDtmNrZSBlcmxhdWJlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NjUKLW1zZ2lkICJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIKLW1zZ3N0ciAiZmVobGVyaGFmdCBlcmthbm50ZW4gZmVobGVuZGVuIFplaWxlbnVtYnJ1Y2ggYW0gRGF0ZWllbmRlIHRvbGVyaWVyZW4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTY4Ci1tc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgotbXNnc3RyICJkZW4gWmVpbGVubnVtbWVybiBpbSBLb3BmIGRlcyBQYXRjaC1CbG9ja3MgbmljaHQgdmVydHJhdWVuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU3MQotbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCi1tc2dzdHIgIjxXdXJ6ZWx2ZXJ6ZWljaG5pcz4gdm9yIGFsbGUgRGF0ZWluYW1lbiBzdGVsbGVuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU5MwotbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiIgotIkRpZSBPcHRpb24gLS0zd2F5IGthbm4gbmljaHQgYXXDn2VyaGFsYiBlaW5lcyBSZXBvc2l0b3JpZXMgdmVyd2VuZGV0IHdlcmRlbi4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NjAxCi1tc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiIgotIkRpZSBPcHRpb24gLS1pbmRleCBrYW5uIG5pY2h0IGF1w59lcmhhbGIgZWluZXMgUmVwb3NpdG9yaWVzIHZlcndlbmRldCB3ZXJkZW4uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDYwNAotbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgotbXNnc3RyICIiCi0iRGllIE9wdGlvbiAtLWNhY2hlZCBrYW5uIG5pY2h0IGF1w59lcmhhbGIgZWluZXMgUmVwb3NpdG9yaWVzIHZlcndlbmRldCB3ZXJkZW4uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDYyMwotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW4ndCBvcGVuIHBhdGNoICclcyciCi1tc2dzdHIgImthbm4gUGF0Y2ggJyVzJyBuaWNodCDDtmZmbmVuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDYzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvciIKLW1zZ2lkX3BsdXJhbCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3JzIgotbXNnc3RyWzBdICJ1bnRlcmRyw7xja3RlICVkIFdoaXRlc3BhY2UtRmVobGVyIgotbXNnc3RyWzFdICJ1bnRlcmRyw7xja3RlICVkIFdoaXRlc3BhY2UtRmVobGVyIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDY0MyBidWlsdGluL2FwcGx5LmM6NDY1MwotIywgYy1mb3JtYXQKLW1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnc3RyWzBdICIlZCBaZWlsZSBmw7xndCBXaGl0ZXNwYWNlLUZlaGxlciBoaW56dS4iCi1tc2dzdHJbMV0gIiVkIFplaWxlbiBmw7xnZW4gV2hpdGVzcGFjZS1GZWhsZXIgaGluenUuIgotCiAjOiBidWlsdGluL2FyY2hpdmUuYzoxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGFyY2hpdmUgZmlsZSAnJXMnIgpAQCAtMzc4NCwxMTkgKzQ2ODMsMTc1IEBACiBtc2dpZCAiPHJldi1vcHRzPiBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgIjxyZXYtb3B0cz4gc2luZCBkb2t1bWVudGllcnQgaW4gZ2l0LXJldi1saXN0KDEpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MTc4MgorIzogYnVpbHRpbi9ibGFtZS5jOjE3ODEKIG1zZ2lkICJCbGFtaW5nIGxpbmVzIgogbXNnc3RyICJWZXJhcmJlaXRlIFplaWxlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc3CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiXCJibGFtZVwiLUVpbnRyw6RnZSBzY2hyaXR0d2Vpc2UgYW56ZWlnZW4sIHfDpGhyZW5kIHdpciBzaWUgZ2VuZXJpZXJlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc4CiBtc2dpZCAiU2hvdyBibGFuayBTSEEtMSBmb3IgYm91bmRhcnkgY29tbWl0cyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAibGVlcmUgU0hBLTEgZsO8ciBHcmVuei1Db21taXRzIGFuemVpZ2VuIChTdGFuZGFyZDogYXVzKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc5CiBtc2dpZCAiRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJVcnNwcnVuZ3MtQ29tbWl0IG5pY2h0IGFscyBHcmVuemVuIGJlaGFuZGVsbiAoU3RhbmRhcmQ6IGF1cykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM0CisjOiBidWlsdGluL2JsYW1lLmM6MjU4MAogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIlN0YXRpc3Rpa2VuIHp1bSBBcmJlaXRzYXVmd2FuZCBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgxCiBtc2dpZCAiRm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJGb3J0c2Nocml0dHNhbnplaWdlIGVyendpbmdlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgyCiBtc2dpZCAiU2hvdyBvdXRwdXQgc2NvcmUgZm9yIGJsYW1lIGVudHJpZXMiCiBtc2dzdHIgIkF1c2dhYmViZXdlcnR1bmcgZsO8ciBcImJsYW1lXCItRWludHLDpGdlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzNworIzogYnVpbHRpbi9ibGFtZS5jOjI1ODMKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGZpbGVuYW1lIChEZWZhdWx0OiBhdXRvKSIKIG1zZ3N0ciAidXJzcHLDvG5nbGljaGVuIERhdGVpbmFtZW4gYW56ZWlnZW4gKFN0YW5kYXJkOiBhdXRvKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzgKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg0CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBsaW5lbnVtYmVyIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJ1cnNwcsO8bmdsaWNoZSBaZWlsZW5udW1tZXIgYW56ZWlnZW4gKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzOQorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODUKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICJBbnplaWdlIGluIGVpbmVtIEZvcm1hdCBmw7xyIG1hc2NoaW5lbGxlIEF1c3dlcnR1bmciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQwCisjOiBidWlsdGluL2JsYW1lLmM6MjU4NgogbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogIkFuemVpZ2UgaW4gRm9ybWF0IGbDvHIgRnJlbWRwcm9ncmFtbWUgbWl0IENvbW1pdC1JbmZvcm1hdGlvbmVuIHBybyBaZWlsZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg3CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogIkRlbiBnbGVpY2hlbiBBdXNnYWJlbW9kdXMgYmVudXR6ZW4gd2llIFwiZ2l0LWFubm90YXRlXCIgKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0MgorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODgKIG1zZ2lkICJTaG93IHJhdyB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlVuYmVhcmJlaXRldGVuIFplaXRzdGVtcGVsIGFuemVpZ2VuIChTdGFuZGFyZDogYXVzKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg5CiBtc2dpZCAiU2hvdyBsb25nIGNvbW1pdCBTSEExIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJMYW5nZW4gQ29tbWl0LVNIQTEgYW56ZWlnZW4gKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0NAorIzogYnVpbHRpbi9ibGFtZS5jOjI1OTAKIG1zZ2lkICJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJEZW4gTmFtZW4gZGVzIEF1dG9ycyB1bmQgZGVuIFplaXRzdGVtcGVsIHVudGVyZHLDvGNrZW4gKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0NQorIzogYnVpbHRpbi9ibGFtZS5jOjI1OTEKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKICJBbnN0YXR0IGRlcyBOYW1lbnMgZGllIEUtTWFpbC1BZHJlc3NlIGRlcyBBdXRvcnMgYW56ZWlnZW4gKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0NgorIzogYnVpbHRpbi9ibGFtZS5jOjI1OTIKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAiVW50ZXJzY2hpZWRlIGltIFdoaXRlc3BhY2UgaWdub3JpZXJlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk5Cittc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBpbmRlbnQtYmFzZWQgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCittc2dzdHIgIiIKKyJlaW5lIGV4cGVyaW1lbnRlbGxlLCBhdWYgRWlucsO8Y2t1bmdlbiBiYXNpZXJlbmRlIEhldXJpc3RpayB6dXIgVmVyYmVzc2VydW5nXG4iCisiZGVyIERhcnN0ZWxsdW5nIHZvbiBVbnRlcnNjaGllZGVuIHZlcndlbmRlbiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI2MDAKK21zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGJsYW5rLWxpbmUtYmFzZWQgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCittc2dzdHIgIiIKKyJlaW5lIGV4cGVyaW1lbnRlbGxlLCBhdWYgTGVlcnplaWxlbiBiYXNpZXJlbmRlIEhldXJpc3RpayB6dXIgVmVyYmVzc2VydW5nXG4iCisiZGVyIERhcnN0ZWxsdW5nIHZvbiBVbnRlcnNjaGllZGVuIHZlcndlbmRlbiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI2MDIKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIkzDpG5nZXIgYXJiZWl0ZW4sIHVtIGJlc3NlcmUgw5xiZXJlaW5zdGltbXVuZ2VuIHp1IGZpbmRlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDgKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjAzCiBtc2dpZCAiVXNlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIGNhbGxpbmcgZ2l0LXJldi1saXN0IgogbXNnc3RyICJDb21taXRzIHZvbiA8RGF0ZWk+IGJlbnV0emVuLCBhbnN0YXR0IFwiZ2l0LXJldi1saXN0XCIgYXVmenVydWZlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA0CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAiSW5oYWx0ZSBkZXIgPERhdGVpPmVuIGFscyBlbmRnw7xsdGlnZXMgQWJiaWxkIGJlbnV0emVuIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU1MCBidWlsdGluL2JsYW1lLmM6MjU1MQorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDUgYnVpbHRpbi9ibGFtZS5jOjI2MDYKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAiQmV3ZXJ0dW5nIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU1MAorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDUKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJrb3BpZXJ0ZSBaZWlsZW4gaW5uZXJoYWxiIG9kZXIgendpc2NoZW4gRGF0ZWllbiBmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUxCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNgogbXNnaWQgIkZpbmQgbGluZSBtb3ZlbWVudHMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgInZlcnNjaG9iZW5lIFplaWxlbiBpbm5lcmhhbGIgb2RlciB6d2lzY2hlbiBEYXRlaWVuIGZpbmRlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA3CiBtc2dpZCAibixtIgogbXNnc3RyICJuLG0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUyCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNwogbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJudXIgWmVpbGVuIGltIEJlcmVpY2ggbixtIHZlcmFyYmVpdGVuLCBnZXrDpGhsdCB2b24gMSIKIAorIzogYnVpbHRpbi9ibGFtZS5jOjI2NTQKK21zZ2lkICItLXByb2dyZXNzIGNhbid0IGJlIHVzZWQgd2l0aCAtLWluY3JlbWVudGFsIG9yIHBvcmNlbGFpbiBmb3JtYXRzIgorbXNnc3RyICIiCisiLS1wcm9ncmVzcyBrYW5uIG5pY2h0IG1pdCAtLWluY3JlbWVudGFsIG9kZXIgRm9ybWF0ZW4gZsO8ciBGcmVtZHByb2dyYW1tZVxuIgorInZlcndlbmRldCB3ZXJkZW4iCisKICMuIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlIG1heGltdW0KICMuIGRpc3BsYXkgd2lkdGggZm9yIGEgcmVsYXRpdmUgdGltZXN0YW1wIGluICJnaXQgYmxhbWUiCiAjLiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMSBtb250aHMgYWdvIiwgd2hpY2gKICMuIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QgYW1vbmcgdmFyaW91cyBmb3JtcyBvZgogIy4gcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0IHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvcgogIy4gZmV3ZXIgZGlzcGxheSBjb2x1bW5zLgotIzogYnVpbHRpbi9ibGFtZS5jOjI2NDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNzAwCiBtc2dpZCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIKIG1zZ3N0ciAidm9yIDQgSmFocmVuLCB1bmQgMTEgTW9uYXRlbiIKIAorIzogYnVpbHRpbi9ibGFtZS5jOjI3ODAKK21zZ2lkICItLWNvbnRlbnRzIGFuZCAtLXJldmVyc2UgZG8gbm90IGJsZW5kIHdlbGwuIgorbXNnc3RyICItLWNvbnRlbnRzIHVuZCAtLXJldmVyc2UgZnVua3Rpb25pZXJlbiBnZW1laW5zYW0gbmljaHQuIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjgwMAorbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKK21zZ3N0ciAia2FubiAtLWNvbnRlbnRzIG5pY2h0IG1pdCBlbmRnw7xsdGlnZW0gTmFtZW4gZGVzIENvbW1pdC1PYmpla3RlcyBiZW51dHplbiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MDUKK21zZ2lkICItLXJldmVyc2UgYW5kIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgc3BlY2lmaWVkIGxhdGVzdCBjb21taXQiCittc2dzdHIgIiIKKyItLXJldmVyc2UgdW5kIC0tZmlyc3QtcGFyZW50IHp1c2FtbWVuIGVyZm9yZGVybiBkaWUgQW5nYWJlIGVpbmVzIGVuZGfDvGx0aWdlblxuIgorIkNvbW1pdHMiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODMyCittc2dpZCAiIgorIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHJhbmdlIGFsb25nIGZpcnN0LXBhcmVudCBjaGFpbiIKK21zZ3N0ciAiIgorIi0tcmV2ZXJzZSB1bmQgLS1maXJzdC1wYXJlbnQgenVzYW1tZW4gZXJmb3JkZXJuIGVpbmVuIEJlcmVpY2ggZW50bGFuZyBkZXJcbiIKKyJcImZpcnN0LXBhcmVudFwiLUtldHRlIgorCisjOiBidWlsdGluL2JsYW1lLmM6Mjg0MworIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHBhdGggJXMgaW4gJXMiCittc2dzdHIgIlBmYWQgJXMgbmljaHQgaW4gJXMiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIGJsb2IgJXMgZm9yIHBhdGggJXMiCittc2dzdHIgImthbm4gQmxvYiAlcyBmw7xyIFBmYWQgJyVzJyBuaWNodCBsZXNlbiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZSIKK21zZ2lkX3BsdXJhbCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZXMiCittc2dzdHJbMF0gIkRhdGVpICVzIGhhdCBudXIgJWx1IFplaWxlIgorbXNnc3RyWzFdICJEYXRlaSAlcyBoYXQgbnVyICVsdSBaZWlsZW4iCisKICM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCiBtc2dzdHIgImdpdCBicmFuY2ggWzxPcHRpb25lbj5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCkBAIC0zOTk3LDEyMSArNDk1MiwxMjggQEAKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiQnJhbmNoICVzIGVudGZlcm50ICh3YXIgJXMpLlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMwOQorIzogYnVpbHRpbi9icmFuY2guYzozMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBnb25lXSIKIG1zZ3N0ciAiWyVzOiBlbnRmZXJudF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE0CisjOiBidWlsdGluL2JyYW5jaC5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXNdIgogbXNnc3RyICJbJXNdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMxOQorIzogYnVpbHRpbi9icmFuY2guYzozMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBiZWhpbmQgJWRdIgogbXNnc3RyICJbJXM6ICVkIGhpbnRlcmhlcl0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzIxCisjOiBidWlsdGluL2JyYW5jaC5jOjMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJbYmVoaW5kICVkXSIKIG1zZ3N0ciAiWyVkIGhpbnRlcmhlcl0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI1CisjOiBidWlsdGluL2JyYW5jaC5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGFoZWFkICVkXSIKIG1zZ3N0ciAiWyVzOiAlZCB2b3JhdXNdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyNworIzogYnVpbHRpbi9icmFuY2guYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2FoZWFkICVkXSIKIG1zZ3N0ciAiWyVkIHZvcmF1c10iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMwCisjOiBidWlsdGluL2JyYW5jaC5jOjMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgogbXNnc3RyICJbJXM6ICVkIHZvcmF1cywgJWQgaGludGVyaGVyXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlthaGVhZCAlZCwgYmVoaW5kICVkXSIKIG1zZ3N0ciAiWyVkIHZvcmF1cywgJWQgaGludGVyaGVyXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozNDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzQ5CiBtc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKIG1zZ3N0ciAiICoqKiogdW5nw7xsdGlnZSBSZWZlcmVueiAqKioqIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjM3MgorIzogYnVpbHRpbi9icmFuY2guYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgogbXNnc3RyICIoa2VpbiBCcmFuY2gsIFJlYmFzZSB2b24gQnJhbmNoICVzIGltIEdhbmdlKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozNzUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKIG1zZ3N0ciAiKGtlaW4gQnJhbmNoLCBiaW7DpHJlIFN1Y2hlIGJlZ29ubmVuIGJlaSAlcykiCiAKICMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCiAjLiAiSEVBRCBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCi0jOiBidWlsdGluL2JyYW5jaC5jOjM4MQorIzogYnVpbHRpbi9icmFuY2guYzozODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgogbXNnc3RyICIoSEVBRCBsb3NnZWzDtnN0IGJlaSAlcykiCiAKICMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCiAjLiAiSEVBRCBkZXRhY2hlZCBmcm9tICIgaW4gd3Qtc3RhdHVzLmMKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzg2CisjOiBidWlsdGluL2JyYW5jaC5jOjM4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIoSEVBRCBkZXRhY2hlZCBmcm9tICVzKSIKIG1zZ3N0ciAiKEhFQUQgbG9zZ2Vsw7ZzdCB2b24gJXMpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjM5MAorIzogYnVpbHRpbi9icmFuY2guYzozOTMKIG1zZ2lkICIobm8gYnJhbmNoKSIKIG1zZ3N0ciAiKGtlaW4gQnJhbmNoKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NDEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgogbXNnc3RyICJCcmFuY2ggJXMgd2lyZCBhdWYgJXMgdW1nZXNldHp0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU0NQorIzogYnVpbHRpbi9icmFuY2guYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIGJpc2VjdGVkIGF0ICVzIgogbXNnc3RyICJCaW7DpHJlIFN1Y2hlIHZvbiBCcmFuY2ggJXMgenUgJXMgaW0gR2FuZ2UiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYwCisjOiBidWlsdGluL2JyYW5jaC5jOjU2MwogbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgogbXNnc3RyICIiCiAiS2FubiBha3R1ZWxsZW4gQnJhbmNoIG5pY2h0IHVtYmVuZW5uZW4sIHNvbGFuZ2UgU2llIHNpY2ggYXVmIGtlaW5lbSBiZWZpbmRlbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTcwCisjOiBidWlsdGluL2JyYW5jaC5jOjU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGJyYW5jaCBuYW1lOiAnJXMnIgogbXNnc3RyICJVbmfDvGx0aWdlciBCcmFuY2huYW1lOiAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4NworIzogYnVpbHRpbi9icmFuY2guYzo1OTAKIG1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKIG1zZ3N0ciAiVW1iZW5lbm51bmcgZGVzIEJyYW5jaGVzIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5MQorIzogYnVpbHRpbi9icmFuY2guYzo1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCiBtc2dzdHIgImZhbHNjaCBiZW5hbm50ZW4gQnJhbmNoICclcycgdW1iZW5hbm50IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NAorIzogYnVpbHRpbi9icmFuY2guYzo1OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIKIG1zZ3N0ciAiQnJhbmNoIHVtYmVuYW5udCB6dSAlcywgYWJlciBIRUFEIGlzdCBuaWNodCBha3R1YWxpc2llcnQhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMQorIzogYnVpbHRpbi9icmFuY2guYzo2MDQKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIiIKICJCcmFuY2ggaXN0IHVtYmVuYW5udCwgYWJlciBkaWUgQWt0dWFsaXNpZXJ1bmcgZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgaXN0ICIKICJmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIzCi1tc2dpZCAiY291bGQgbm90IHdyaXRlIGJyYW5jaCBkZXNjcmlwdGlvbiB0ZW1wbGF0ZSIKLW1zZ3N0ciAiS29ubnRlIEJlc2NocmVpYnVuZ3N2b3JsYWdlIGbDvHIgQnJhbmNoIG5pY2h0IHNjaHJlaWJlbi4iCisjOiBidWlsdGluL2JyYW5jaC5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGxlYXNlIGVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoXG4iCisiICAlc1xuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIHN0cmlwcGVkLlxuIgorbXNnc3RyICIiCisiQml0dGUgw6RuZGVybiBTaWUgZGllIEJlc2NocmVpYnVuZyBmw7xyIGRlbiBCcmFuY2hcbiIKKyIgICVzXG4iCisiWmVpbGVuLCBkaWUgbWl0ICclYycgYmVnaW5uZW4sIHdlcmRlbiBlbnRmZXJudC5cbiIKIAogIzogYnVpbHRpbi9icmFuY2guYzo2NTEKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCkBAIC00MTQxLDYgKzUxMDMsMTAgQEAKIG1zZ2lkICJjaGFuZ2UgdGhlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgIkluZm9ybWF0aW9uZW4genVtIFVwc3RyZWFtLUJyYW5jaCDDpG5kZXJuIgogCisjOiBidWlsdGluL2JyYW5jaC5jOjY2MAorbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgorbXNnc3RyICJJbmZvcm1hdGlvbmVuIHp1bSBVcHN0cmVhbS1CcmFuY2ggZW50ZmVybmVuIgorCiAjOiBidWlsdGluL2JyYW5jaC5jOjY2MQogbXNnaWQgInVzZSBjb2xvcmVkIG91dHB1dCIKIG1zZ3N0ciAiZmFyYmlnZSBBdXNnYWJlbiB2ZXJ3ZW5kZW4iCkBAIC00MjE0LDggKzUxODAsOCBAQAogbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKIG1zZ3N0ciAic29ydGllcmUgbmFjaCBkaWVzZW0gRmVsZCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MSBidWlsdGluL25vdGVzLmM6NDAxCi0jOiBidWlsdGluL25vdGVzLmM6NDA0IGJ1aWx0aW4vbm90ZXMuYzo1NjQgYnVpbHRpbi9ub3Rlcy5jOjU2NworIzogYnVpbHRpbi9icmFuY2guYzo2ODYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MSBidWlsdGluL25vdGVzLmM6NDA0CisjOiBidWlsdGluL25vdGVzLmM6NDA3IGJ1aWx0aW4vbm90ZXMuYzo1NjcgYnVpbHRpbi9ub3Rlcy5jOjU3MAogIzogYnVpbHRpbi90YWcuYzozNjkKIG1zZ2lkICJvYmplY3QiCiBtc2dzdHIgIk9iamVrdCIKQEAgLTQyMjgsNyArNTE5NCw3IEBACiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIktvbm50ZSBIRUFEIG5pY2h0IGFscyBnw7xsdGlnZSBSZWZlcmVueiBhdWZsw7ZzZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2Nsb25lLmM6NzA3CisjOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2Nsb25lLmM6NzA2CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQgd3VyZGUgbmljaHQgdW50ZXIgXCJyZWZzL2hlYWRzXCIgZ2VmdW5kZW4hIgogCkBAIC00MzQzLDY4ICs1MzA5LDgwIEBACiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgogbXNnc3RyICJadW0gRW50cGFja2VuIHdpcmQgZWluIFJlcG9zaXRvcnkgYmVuw7Z0aWd0LiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQyOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxMwogbXNnaWQgIiIKLSJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV18LXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXXwtZXwtcHwiCi0iPHR5cGU+fC0tdGV4dGNvbnYpIDxvYmplY3Q+IgotbXNnc3RyICIiCi0iZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdfC1zIFstLWFsbG93LXVua25vd24tdHlwZV18LWV8LXB8IgotIjxBcnQ+fC0tdGV4dGNvbnYpIDxPYmpla3Q+IgorImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCisicCB8IDx0eXBlPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PHBhdGg+XSA8b2JqZWN0PiIKK21zZ3N0ciAiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLXAgfCA8QXJ0PiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PFBmYWQ+XSA8T2JqZWt0PiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQyOQotbXNnaWQgImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10iCi1tc2dzdHIgImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10iCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTE0Cittc2dpZCAiIgorImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKKyJmaWx0ZXJzXSIKK21zZ3N0ciAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tZmlsdGVyc10iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NjYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTEKIG1zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiBtc2dzdHIgIjxBcnQ+IGthbm4gc2VpbjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NjcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTIKIG1zZ2lkICJzaG93IG9iamVjdCB0eXBlIgogbXNnc3RyICJPYmpla3RhcnQgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NjgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTMKIG1zZ2lkICJzaG93IG9iamVjdCBzaXplIgogbXNnc3RyICJPYmpla3RncsO2w59lIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDcwCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU1CiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICJtaXQgUsO8Y2tnYWJld2VydCAwIGJlZW5kZW4sIHdlbm4ga2VpbiBGZWhsZXIgYXVmZ2V0cmV0ZW4gaXN0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDcxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU2CiBtc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImFuc3ByZWNoZW5kZSBBbnplaWdlIGRlcyBPYmpla3RpbmhhbHRlcyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1OAogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biB0ZXh0Y29udiBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJlaW5lIFRleHRrb252ZXJ0aWVydW5nIGF1ZiBkZW4gSW5oYWx0IHZvbiBCbG9iLU9iamVrdGVuIGF1c2bDvGhyZW4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjAKK21zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgorbXNnc3RyICJmw7xyIEJsb2ItT2JqZWt0ZSwgRmlsdGVyIGF1ZiBPYmpla3QtSW5oYWx0ZSBhdXNmw7xocmVuIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYxIGdpdC1zdWJtb2R1bGUuc2g6OTIzCittc2dpZCAiYmxvYiIKK21zZ3N0ciAiQmxvYiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MgorbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgorbXNnc3RyICJlaW5lbiBiZXN0aW1tdGVuIFBmYWQgZsO8ciAtLXRleHRjb252Ly0tZmlsdGVycyB2ZXJ3ZW5kZW4iCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjQKIG1zZ2lkICJhbGxvdyAtcyBhbmQgLXQgdG8gd29yayB3aXRoIGJyb2tlbi9jb3JydXB0IG9iamVjdHMiCiBtc2dzdHIgIi1zIHVuZCAtdCBtaXQgYmVzY2jDpGRpZ3RlbiBPYmpla3RlbiBlcmxhdWJlbiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NQogbXNnaWQgImJ1ZmZlciAtLWJhdGNoIG91dHB1dCIKIG1zZ3N0ciAiQXVzZ2FiZSB2b24gLS1iYXRjaCBwdWZmZXJuIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDc4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY3CiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIiCiAiQW56ZWlnZSB2b24gSW5mb3JtYXRpb25lbiB1bmQgSW5oYWx0IHZvbiBPYmpla3RlbiwgZ2VsZXNlbiB2b24gZGVyIFN0YW5kYXJkLSIKICJFaW5nYWJlIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDgxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTcwCiBtc2dpZCAic2hvdyBpbmZvIGFib3V0IG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIiCiAiQW56ZWlnZSB2b24gSW5mb3JtYXRpb25lbiDDvGJlciBPYmpla3RlLCBnZWxlc2VuIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ4NAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MwogbXNnaWQgImZvbGxvdyBpbi10cmVlIHN5bWxpbmtzICh1c2VkIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrKSIKIG1zZ3N0ciAiIgogInN5bWJvbGlzY2hlbiBWZXJrbsO8cGZ1bmdlbiBpbm5lcmhhbGIgZGVzIFJlcG9zaXRvcmllcyBmb2xnZW4gKHZlcndlbmRldCBtaXQgIgogIi0tYmF0Y2ggb2RlciAtLWJhdGNoLWNoZWNrKSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ4NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NQogbXNnaWQgInNob3cgYWxsIG9iamVjdHMgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2siCiBtc2dzdHIgImFsbGUgT2JqZWt0ZSBtaXQgLS1iYXRjaCBvZGVyIC0tYmF0Y2gtY2hlY2sgYW56ZWlnZW4iCiAKQEAgLTQ0MjQsNyArNTQwMiw3IEBACiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIm51ciAuZ2l0YXR0cmlidXRlcyB2b20gSW5kZXggdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIyIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NworIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKIG1zZ2lkICJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiRGF0ZWluYW1lbiB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUgbGVzZW4iCiAKQEAgLTQ0MzIsNyArNTQxMCw3IEBACiBtc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgIkVpbnRyw6RnZSB2b24gRWluLSB1bmQgQXVzZ2FiZSBtaXQgTlVMLVplaWNoZW4gYWJzY2hsaWXDn2VuIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM1IGJ1aWx0aW4vZ2MuYzozMjUKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjExMzcgYnVpbHRpbi9nYy5jOjMyNQogbXNnaWQgInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiRm9ydHNjaHJpdHRzYW56ZWlnZSB1bnRlcmRyw7xja2VuIgogCkBAIC00NTI1LDkgKzU1MDMsOSBAQAogbXNnc3RyICJkZW4gSW5oYWx0IGluIHRlbXBvcsOkcmUgRGF0ZWllbiBzY2hyZWliZW4iCiAKICM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzQgYnVpbHRpbi9jb2x1bW4uYzozMAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDk0Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDk3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MDAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDY5CiBtc2dpZCAic3RyaW5nIgogbXNnc3RyICJaZWljaGVua2V0dGUiCiAKQEAgLTQ1OTUsNjMgKzU1NzMsNTkgQEAKIG1zZ3N0ciAiIgogIkthbm4gbmljaHQgZ2xlaWNoemVpdGlnIFBmYWRlIGFrdHVhbGlzaWVyZW4gdW5kIHp1IEJyYW5jaCAnJXMnIHdlY2hzZWxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Mjc5IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzMKLW1zZ2lkICJjb3JydXB0IGluZGV4IGZpbGUiCi1tc2dzdHIgImJlc2Now6RkaWd0ZSBJbmRleC1EYXRlaSIKLQogIzogYnVpbHRpbi9jaGVja291dC5jOjMzOSBidWlsdGluL2NoZWNrb3V0LmM6MzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKIG1zZ3N0ciAiUGZhZCAnJXMnIGlzdCBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0LiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NQorIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NAogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICJTaWUgbcO8c3NlbiB6dWVyc3QgZGllIEtvbmZsaWt0ZSBpbiBJaHJlbSBha3R1ZWxsZW4gSW5kZXggYXVmbMO2c2VuLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYyMgorIzogYnVpbHRpbi9jaGVja291dC5jOjYyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiS2FubiBcInJlZmxvZ1wiIGbDvHIgJyVzJyBuaWNodCBkdXJjaGbDvGhyZW46ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjMKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAiSEVBRCBpc3QgamV0enQgYmVpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjY0IGJ1aWx0aW4vY2xvbmUuYzo2NjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjcgYnVpbHRpbi9jbG9uZS5jOjY2MAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgSEVBRCIKIG1zZ3N0ciAiS29ubnRlIEhFQUQgbmljaHQgYWt0dWFsaXNpZXJlbi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiU2V0emUgQnJhbmNoICclcycgbmV1XG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWxyZWFkeSBvbiAnJXMnXG4iCiBtc2dzdHIgIkJlcmVpdHMgYXVmICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiWnUgdW1nZXNldHp0ZW0gQnJhbmNoICclcycgZ2V3ZWNoc2VsdFxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlp1IG5ldWVtIEJyYW5jaCAnJXMnIGdld2VjaHNlbHRcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3OQorIzogYnVpbHRpbi9jaGVja291dC5jOjY4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJadSBCcmFuY2ggJyVzJyBnZXdlY2hzZWx0XG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiB1bmQgJWQgd2VpdGVyZS5cbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjczNworIzogYnVpbHRpbi9jaGVja291dC5jOjczOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogeW91IGFyZSBsZWF2aW5nICVkIGNvbW1pdCBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKQEAgLTQ2NzQsNyArNTY0OCw3IEBACiAiXG4iCiAiJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc1NgorIzogYnVpbHRpbi9jaGVja291dC5jOjc1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8ga2VlcCBpdCBieSBjcmVhdGluZyBhIG5ldyBicmFuY2gsIHRoaXMgbWF5IGJlIGEgZ29vZCB0aW1lXG4iCkBAIC00NzAxLDE1MiArNTY3NSwxNTIgQEAKICIgZ2l0IGJyYW5jaCA8bmV1ZXItQnJhbmNobmFtZT4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjc5NAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgImludGVybmVyIEZlaGxlciBpbSBSZXZpc2lvbnNnYW5nIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk4CiBtc2dpZCAiUHJldmlvdXMgSEVBRCBwb3NpdGlvbiB3YXMiCiBtc2dzdHIgIlZvcmhlcmlnZSBQb3NpdGlvbiB2b24gSEVBRCB3YXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MjMgYnVpbHRpbi9jaGVja291dC5jOjEwNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MjUgYnVpbHRpbi9jaGVja291dC5jOjEwNjQKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJTaWUgc2luZCBhdWYgZWluZW0gQnJhbmNoLCBkZXIgbm9jaCBnZWJvcmVuIHdpcmQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgIm51ciBlaW5lIFJlZmVyZW56IGVyd2FydGV0LCAlZCBnZWdlYmVuLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDggYnVpbHRpbi93b3JrdHJlZS5jOjIxMgorIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTAgYnVpbHRpbi93b3JrdHJlZS5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgUmVmZXJlbno6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAzNworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICJSZWZlcmVueiBpc3Qga2VpbiBcIlRyZWVcIi1PYmpla3Q6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3NgorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzgKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiUGZhZGUga8O2bm5lbiBuaWNodCBiZWltIFdlY2hzZWxuIHZvbiBCcmFuY2hlcyB2ZXJ3ZW5kZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3OSBidWlsdGluL2NoZWNrb3V0LmM6MTA4MworIzogYnVpbHRpbi9jaGVja291dC5jOjEwODEgYnVpbHRpbi9jaGVja291dC5jOjEwODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiJyVzJyBrYW5uIG5pY2h0IGJlaW0gV2VjaHNlbG4gdm9uIEJyYW5jaGVzIHZlcndlbmRldCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODkgYnVpbHRpbi9jaGVja291dC5jOjEwOTIgYnVpbHRpbi9jaGVja291dC5jOjEwOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICInJXMnIGthbm4gbmljaHQgbWl0ICclcycgdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMDMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICJLYW5uIEJyYW5jaCBuaWNodCB6dSBOaWNodC1Db21taXQgJyVzJyB3ZWNoc2VsbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzYgYnVpbHRpbi9jaGVja291dC5jOjExMzggYnVpbHRpbi9jbG9uZS5jOjg4Ci0jOiBidWlsdGluL3JlbW90ZS5jOjE2NSBidWlsdGluL3JlbW90ZS5jOjE2NyBidWlsdGluL3dvcmt0cmVlLmM6MzIzCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOCBidWlsdGluL2NoZWNrb3V0LmM6MTE0MCBidWlsdGluL2Nsb25lLmM6OTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTY3IGJ1aWx0aW4vd29ya3RyZWUuYzozMjQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjYKIG1zZ2lkICJicmFuY2giCiBtc2dzdHIgIkJyYW5jaCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM5CiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgImVpbmVuIG5ldWVuIEJyYW5jaCBlcnpldWdlbiB1bmQgYXVzY2hlY2tlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQxCiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAiZWluZW4gQnJhbmNoIGVyc3RlbGxlbi91bXNldHplbiB1bmQgYXVzY2hlY2tlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQyCiBtc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiZGFzIFJlZmxvZyBmw7xyIGRlbiBuZXVlbiBCcmFuY2ggZXJ6ZXVnZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQxCi1tc2dpZCAiZGV0YWNoIHRoZSBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKLW1zZ3N0ciAiSEVBRCB6dSBiZW5hbm50ZW0gQ29tbWl0IHNldHplbiIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQzIGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKK21zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCittc2dzdHIgIkhFQUQgYmVpIGJlbmFubnRlbSBDb21taXQgbG9zbMO2c2VuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKIG1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiSW5mb3JtYXRpb25lbiB6dW0gVXBzdHJlYW0tQnJhbmNoIGbDvHIgZGVuIG5ldWVuIEJyYW5jaCBzZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NgogbXNnaWQgIm5ldy1icmFuY2giCiBtc2dzdHIgIm5ldWVyIEJyYW5jaCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2CiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICJuZXVlciBCcmFuY2ggb2huZSBFbHRlcm4tQ29tbWl0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDcKIG1zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgInVuc2VyZSBWYXJpYW50ZSBmw7xyIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gYXVzY2hlY2tlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CiBtc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgImlocmUgVmFyaWFudGUgZsO8ciBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBEYXRlaWVuIGF1c2NoZWNrZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MQogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICJBdXNjaGVja2VuIGVyendpbmdlbiAodmVyd2lyZnQgbG9rYWxlIMOEbmRlcnVuZ2VuKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCiBtc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCiBtc2dzdHIgImVpbmVuIDMtV2VnZS1NZXJnZSBtaXQgZGVtIG5ldWVuIEJyYW5jaCBhdXNmw7xocmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MSBidWlsdGluL21lcmdlLmM6MjMwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MyBidWlsdGluL21lcmdlLmM6MjMxCiBtc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgogbXNnc3RyICJpZ25vcmllcnRlIERhdGVpZW4gYWt0dWFsaXNpZXJlbiAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MiBidWlsdGluL2xvZy5jOjE0MzIgcGFyc2Utb3B0aW9ucy5oOjI1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTQgYnVpbHRpbi9sb2cuYzoxNDY2IHBhcnNlLW9wdGlvbnMuaDoyNTEKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAiU3RpbCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU1CiBtc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKIG1zZ3N0ciAiS29uZmxpa3RzdGlsIChtZXJnZSBvZGVyIGRpZmYzKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU4CiBtc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgogbXNnc3RyICJrZWluZSBFaW5zY2hyw6Rua3VuZyBiZWkgUGZhZHNwZXppZmlrYXRpb25lbiB6dW0gcGFydGllbGxlbiBBdXNjaGVja2VuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKIG1zZ3N0ciAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgPG5vLXN1Y2gtYnJhbmNoPiciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MgogbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKIG1zZ3N0ciAiIgogIlByw7xmdW5nLCBvYiBkaWUgUmVmZXJlbnogYmVyZWl0cyBpbiBlaW5lbSBhbmRlcmVuIEFyYmVpdHN2ZXJ6ZWljaG5pcyAiCiAiYXVzZ2VjaGVja3Qgd3VyZGUsIGRlYWt0aXZpZXJlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjEgYnVpbHRpbi9jbG9uZS5jOjYwIGJ1aWx0aW4vZmV0Y2guYzoxMTYKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjcgYnVpbHRpbi9wdWxsLmM6MTE2IGJ1aWx0aW4vcHVzaC5jOjUyNgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjMgYnVpbHRpbi9jbG9uZS5jOjYzIGJ1aWx0aW4vZmV0Y2guYzoxMTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjggYnVpbHRpbi9wdWxsLmM6MTE3IGJ1aWx0aW4vcHVzaC5jOjUzNgogIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIkZvcnRzY2hyaXR0c2FuemVpZ2UgZXJ6d2luZ2VuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExOTQKIG1zZ2lkICItYiwgLUIgYW5kIC0tb3JwaGFuIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAtYiwgLUIgdW5kIC0tb3JwaGFuIHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwOQorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTEKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIkJlaSBkZXIgT3B0aW9uIC0tdHJhY2sgbXVzcyBlaW4gQnJhbmNobmFtZSBhbmdlZ2ViZW4gd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjE2CiBtc2dpZCAiTWlzc2luZyBicmFuY2ggbmFtZTsgdHJ5IC1iIgogbXNnc3RyICJWZXJtaXNzZSBCcmFuY2huYW1lbjsgdmVyc3VjaGVuIFNpZSAtYiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUyCiBtc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgInVuZ8O8bHRpZ2UgUGZhZHNwZXppZmlrYXRpb24iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCkBAIC00ODU2LDEyICs1ODMwLDEyIEBACiAiSGFiZW4gU2llIGJlYWJzaWNodGlndCAnJXMnIGF1c3p1Y2hlY2tlbiwgd2VsY2hlciBuaWNodCBhbHMgQ29tbWl0IGF1ZmdlbMO2c3QgIgogIndlcmRlbiBrYW5uPyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBuaW1tdCBrZWluIFBmYWQtQXJndW1lbnQgJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtNTAxMyw4ICs1OTg3LDggQEAKIG1zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdhbnplIFZlcnplaWNobmlzc2UgbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9kZXNjcmliZS5jOjQwNyBidWlsdGluL2dyZXAuYzo3MjQKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTYgYnVpbHRpbi9uYW1lLXJldi5jOjMxNCBidWlsdGluL3Nob3ctcmVmLmM6MTgyCisjOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMgYnVpbHRpbi9zaG93LXJlZi5jOjE4MgogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgIk11c3RlciIKIApAQCAtNTA1NCwxMTMgKzYwMjgsMTM0IEBACiBtc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbPE9wdGlvbmVuPl0gWy0tXSA8UmVwb3NpdG9yeT4gWzxWZXJ6ZWljaG5pcz5dIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NQogbXNnaWQgImRvbid0IGNyZWF0ZSBhIGNoZWNrb3V0IgogbXNnc3RyICJrZWluIEF1c2NoZWNrZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MyBidWlsdGluL2Nsb25lLmM6NjUgYnVpbHRpbi9pbml0LWRiLmM6NDczCisjOiBidWlsdGluL2Nsb25lLmM6NjYgYnVpbHRpbi9jbG9uZS5jOjY4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OAogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiZWluIEJhcmUtUmVwb3NpdG9yeSBlcnN0ZWxsZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NworIzogYnVpbHRpbi9jbG9uZS5jOjcwCiBtc2dpZCAiY3JlYXRlIGEgbWlycm9yIHJlcG9zaXRvcnkgKGltcGxpZXMgYmFyZSkiCiBtc2dzdHIgImVpbiBTcGllZ2VsYXJjaGl2IGVyc3RlbGxlbiAoaW1wbGl6aWVydCAtLWJhcmUpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MgogbXNnaWQgInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICJ2b24gZWluZW0gbG9rYWxlbiBSZXBvc2l0b3J5IGtsb25lbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcxCisjOiBidWlsdGluL2Nsb25lLmM6NzQKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAibG9rYWwga2VpbmUgaGFydGVuIFZlcndlaXNlIHZlcndlbmRlbiwgaW1tZXIgS29waWVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NgogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICJhbHMgdmVydGVpbHRlcyBSZXBvc2l0b3J5IGVpbnJpY2h0ZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NSBidWlsdGluL2Nsb25lLmM6NzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3OCBidWlsdGluL2Nsb25lLmM6ODAKIG1zZ2lkICJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIgogbXNnc3RyICJTdWJtb2R1bGUgaW0gS2xvbiBpbml0aWFsaXNpZXJlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc5CisjOiBidWlsdGluL2Nsb25lLmM6ODIKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBjbG9uZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIkFuemFobCBkZXIgcGFyYWxsZWwgenUga2xvbmVuZGVuIFN1Ym1vZHVsZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3MAorIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NQogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAiVm9ybGFnZW52ZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgxIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3MQorIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgIlZlcnplaWNobmlzLCB2b24gd2VsY2hlbSBkaWUgVm9ybGFnZW4gdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTgKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2Nsb25lLmM6ODggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1NAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5IgogbXNnc3RyICJSZXBvc2l0b3J5IHJlZmVyZW56aWVyZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NQorIzogYnVpbHRpbi9jbG9uZS5jOjkwCiBtc2dpZCAidXNlIC0tcmVmZXJlbmNlIG9ubHkgd2hpbGUgY2xvbmluZyIKIG1zZ3N0ciAiLS1yZWZlcmVuY2UgbnVyIHfDpGhyZW5kIGRlcyBLbG9uZW5zIGJlbnV0emVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAorIzogYnVpbHRpbi9jbG9uZS5jOjkxIGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKIG1zZ2lkICJuYW1lIgogbXNnc3RyICJOYW1lIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MgogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAiPE5hbWU+IHN0YXR0ICdvcmlnaW4nIGbDvHIgVXBzdHJlYW0tUmVwb3NpdG9yeSB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OQorIzogYnVpbHRpbi9jbG9uZS5jOjk0CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAiPEJyYW5jaD4gYXVzY2hlY2tlbiwgYW5zdGF0dCBIRUFEIGRlcyBSZW1vdGUtUmVwb3NpdG9yaWVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NgogbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCiBtc2dzdHIgIlBmYWQgenUgXCJnaXQtdXBsb2FkLXBhY2tcIiBhdWYgZGVyIEdlZ2Vuc2VpdGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MiBidWlsdGluL2ZldGNoLmM6MTE3IGJ1aWx0aW4vZ3JlcC5jOjY2NyBidWlsdGluL3B1bGwuYzoyMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2ZldGNoLmM6MTIwIGJ1aWx0aW4vZ3JlcC5jOjY2OCBidWlsdGluL3B1bGwuYzoyMDIKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAiVGllZmUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MworIzogYnVpbHRpbi9jbG9uZS5jOjk4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICIiCiAiZWluZW4gS2xvbiBtaXQgdW52b2xsc3TDpG5kaWdlciBIaXN0b3JpZSAoc2hhbGxvdykgaW4gZGllc2VyIFRpZWZlIGVyc3RlbGxlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1CisjOiBidWlsdGluL2Nsb25lLmM6OTkgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDgKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNDIKK21zZ2lkICJ0aW1lIgorbXNnc3RyICJaZWl0IgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAwCittc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCittc2dzdHIgIiIKKyJlaW5lbiBLbG9uIG1pdCB1bnZvbGxzdMOkbmRpZ2VyIEhpc3RvcmllIChzaGFsbG93KSBzZWl0IGVpbmVyIGJlc3RpbW10ZW4gWmVpdFxuIgorImVyc3RlbGxlbiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMSBidWlsdGluL2ZldGNoLmM6MTI0Cittc2dpZCAicmV2aXNpb24iCittc2dzdHIgIkNvbW1pdCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMiBidWlsdGluL2ZldGNoLmM6MTI1Cittc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSBieSBleGNsdWRpbmcgcmV2IgorbXNnc3RyICIiCisiZGllIEhpc3RvcmllIGVpbmVzIEtsb25zIG1pdCB1bnZvbGxzdMOkbmRpZ2VyIEhpc3RvcmllIChzaGFsbG93KSBtaXR0ZWxzXG4iCisiQXVzc2NobHVzcyBlaW5lcyBDb21taXRzIHZlcnRpZWZlbiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwNAogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAibnVyIGVpbmVuIEJyYW5jaCBrbG9uZW4sIEhFQUQgb2RlciAtLWJyYW5jaCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk3CisjOiBidWlsdGluL2Nsb25lLmM6MTA2CiBtc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKIG1zZ3N0ciAiamVkZXMgZ2VrbG9udGUgU3VibW9kdWwgbWl0IHVudm9sbHN0w6RuZGlnZXIgSGlzdG9yaWUgKHNoYWxsb3cpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTggYnVpbHRpbi9pbml0LWRiLmM6NDc5CisjOiBidWlsdGluL2Nsb25lLmM6MTA3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NAogbXNnaWQgImdpdGRpciIKIG1zZ3N0ciAiLmdpdC1WZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwOCBidWlsdGluL2luaXQtZGIuYzo0ODUKIG1zZ2lkICJzZXBhcmF0ZSBnaXQgZGlyIGZyb20gd29ya2luZyB0cmVlIgogbXNnc3RyICJHaXQtVmVyemVpY2huaXMgdm9tIEFyYmVpdHN2ZXJ6ZWljaG5pcyBzZXBhcmllcmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwCisjOiBidWlsdGluL2Nsb25lLmM6MTA5CiBtc2dpZCAia2V5PXZhbHVlIgogbXNnc3RyICJTY2hsw7xzc2VsPVdlcnQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKIG1zZ2lkICJzZXQgY29uZmlnIGluc2lkZSB0aGUgbmV3IHJlcG9zaXRvcnkiCiBtc2dzdHIgIktvbmZpZ3VyYXRpb24gaW5uZXJoYWxiIGRlcyBuZXVlbiBSZXBvc2l0b3JpZXMgc2V0emVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMzEgYnVpbHRpbi9wdXNoLmM6NTM2CisjOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vZmV0Y2guYzoxNDAgYnVpbHRpbi9wdXNoLmM6NTQ3CiBtc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgIm51ciBJUHY0LUFkcmVzc2VuIGJlbnV0emVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA0IGJ1aWx0aW4vZmV0Y2guYzoxMzMgYnVpbHRpbi9wdXNoLmM6NTM4CisjOiBidWlsdGluL2Nsb25lLmM6MTEzIGJ1aWx0aW4vZmV0Y2guYzoxNDIgYnVpbHRpbi9wdXNoLmM6NTQ5CiBtc2dpZCAidXNlIElQdjYgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgIm51ciBJUHY2LUFkcmVzc2VuIGJlbnV0emVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MjQxCisjOiBidWlsdGluL2Nsb25lLmM6MjUwCiBtc2dpZCAiIgogIk5vIGRpcmVjdG9yeSBuYW1lIGNvdWxkIGJlIGd1ZXNzZWQuXG4iCiAiUGxlYXNlIHNwZWNpZnkgYSBkaXJlY3Rvcnkgb24gdGhlIGNvbW1hbmQgbGluZSIKQEAgLTUxNjgsNTcgKzYxNjMsNDIgQEAKICJLb25udGUga2VpbmVuIFZlcnplaWNobmlzbmFtZW4gZXJyYXRlbi5cbiIKICJCaXR0ZSBnZWJlbiBTaWUgZWluIFZlcnplaWNobmlzIGF1ZiBkZXIgQmVmZWhsc3plaWxlIGFuLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMwNworIzogYnVpbHRpbi9jbG9uZS5jOjMwMwogIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKLW1zZ3N0ciAiIgotIlJlZmVyZW56aWVydGVzIFJlcG9zaXRvcnkgJyVzJyB3aXJkIG5vY2ggbmljaHQgYWxzIHZlcmtuw7xwZnRlc1xuIgotIkFyYmVpdHN2ZXJ6ZWljaG5pcyB1bnRlcnN0w7x0enQuIgorbXNnaWQgImluZm86IENvdWxkIG5vdCBhZGQgYWx0ZXJuYXRlIGZvciAnJXMnOiAlc1xuIgorbXNnc3RyICJpbmZvOiBLb25udGUgQWx0ZXJuYXRpdmUgZsO8ciAnJXMnIG5pY2h0IGhpbnp1ZsO8Z2VuOiAlc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzA5CisjOiBidWlsdGluL2Nsb25lLmM6Mzc1CiAjLCBjLWZvcm1hdAotbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCi1tc2dzdHIgIlJlZmVyZW56aWVydGVzIFJlcG9zaXRvcnkgJyVzJyBpc3Qga2VpbiBsb2thbGVzIFJlcG9zaXRvcnkuIgorbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCittc2dzdHIgIkZlaGxlciBiZWltIMOWZmZuZW4gdm9uICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgotbXNnc3RyICIiCi0iUmVmZXJlbnppZXJ0ZXMgUmVwb3NpdG9yeSAnJXMnIGhhdCBlaW5lIHVudm9sbHN0w6RuZGlnZSBIaXN0b3JpZSAoc2hhbGxvdykuIgotCi0jOiBidWlsdGluL2Nsb25lLmM6MzE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKLW1zZ3N0ciAiIgotIlJlZmVyZW56aWVydGVzIFJlcG9zaXRvcnkgJyVzJyBpc3QgbWl0IGvDvG5zdGxpY2hlbiBWb3Jnw6RuZ2VybiAoXCJncmFmdHNcIikgIgotImVpbmdlaMOkbmd0LiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjM4NAorIzogYnVpbHRpbi9jbG9uZS5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgZXhpc3RpZXJ0IHVuZCBpc3Qga2VpbiBWZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM5OAorIzogYnVpbHRpbi9jbG9uZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgogbXNnc3RyICJLb25udGUgJXMgbmljaHQgbGVzZW5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQyMAorIzogYnVpbHRpbi9jbG9uZS5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGxpbmsgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIFZlcndlaXMgJyVzJyBuaWNodCBlcnN0ZWxsZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MjQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNvcHkgZmlsZSB0byAnJXMnIgogbXNnc3RyICJLb25udGUgRGF0ZWkgbmljaHQgbmFjaCAnJXMnIGtvcGllcmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDQ5IGJ1aWx0aW4vY2xvbmUuYzo2MzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAiRmVydGlnLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDYxCisjOiBidWlsdGluL2Nsb25lLmM6NDYwCiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKQEAgLTUyMjgsMTMyICs2MjA4LDE0MSBAQAogIlNpZSBrw7ZubmVuIG1pdCAnZ2l0IHN0YXR1cycgcHLDvGZlbiwgd2FzIGF1c2dlY2hlY2t0IHdvcmRlbiBpc3RcbiIKICJ1bmQgZGFzIEF1c2NoZWNrZW4gbWl0ICdnaXQgY2hlY2tvdXQgLWYgSEVBRCcgZXJuZXV0IHZlcnN1Y2hlbi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjUzOAorIzogYnVpbHRpbi9jbG9uZS5jOjUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKIG1zZ3N0ciAiS29ubnRlIHp1IGtsb25lbmRlbiBSZW1vdGUtQnJhbmNoICVzIG5pY2h0IGZpbmRlbi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5Li4uICIKLW1zZ3N0ciAiUHLDvGZlIEtvbm5la3Rpdml0w6R0IC4uLiAiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2MzIKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAiUmVtb3RlLVJlcG9zaXRvcnkgaGF0IG5pY2h0IGFsbGUgZXJmb3JkZXJsaWNoZW4gT2JqZWt0ZSBnZXNlbmRldC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSAlcyIKIG1zZ3N0ciAia2FubiAlcyBuaWNodCBha3R1YWxpc2llcmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Njk4CisjOiBidWlsdGluL2Nsb25lLmM6Njk3CiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICIiCiAiRXh0ZXJuZXIgSEVBRCBiZXppZWh0IHNpY2ggYXVmIGVpbmUgbmljaHQgZXhpc3RpZXJlbmRlIFJlZmVyZW56IHVuZCBrYW5uICIKICJuaWNodCBhdXNnZWNoZWNrdCB3ZXJkZW4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MjgKIG1zZ2lkICJ1bmFibGUgdG8gY2hlY2tvdXQgd29ya2luZyB0cmVlIgogbXNnc3RyICJBcmJlaXRzdmVyemVpY2huaXMga29ubnRlIG5pY2h0IGF1c2dlY2hlY2t0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2NworIzogYnVpbHRpbi9jbG9uZS5jOjc2OAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgogbXNnc3RyICJrb25udGUgUGFyYW1ldGVyIG5pY2h0IGluIEtvbmZpZ3VyYXRpb25zZGF0ZWkgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMwCisjOiBidWlsdGluL2Nsb25lLmM6ODMxCiBtc2dpZCAiY2Fubm90IHJlcGFjayB0byBjbGVhbiB1cCIKIG1zZ3N0ciAiS2FubiBcInJlcGFja1wiIHp1bSBBdWZyw6R1bWVuIG5pY2h0IGF1ZnJ1ZmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMyCisjOiBidWlsdGluL2Nsb25lLmM6ODMzCiBtc2dpZCAiY2Fubm90IHVubGluayB0ZW1wb3JhcnkgYWx0ZXJuYXRlcyBmaWxlIgogbXNnc3RyICJLYW5uIHRlbXBvcsOkcmUgXCJhbHRlcm5hdGVzXCItRGF0ZWkgbmljaHQgZW50ZmVybmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODY0IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTczMQorIzogYnVpbHRpbi9jbG9uZS5jOjg2NiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4OTUKIG1zZ2lkICJUb28gbWFueSBhcmd1bWVudHMuIgogbXNnc3RyICJadSB2aWVsZSBBcmd1bWVudGUuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODY4CisjOiBidWlsdGluL2Nsb25lLmM6ODcwCiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICJTaWUgbcO8c3NlbiBlaW4gUmVwb3NpdG9yeSB6dW0gS2xvbmVuIGFuZ2ViZW4uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODc5CisjOiBidWlsdGluL2Nsb25lLmM6ODgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC0tYmFyZSB1bmQgLS1vcmlnaW4gJXMgc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODgyCisjOiBidWlsdGluL2Nsb25lLmM6ODg2CiBtc2dpZCAiLS1iYXJlIGFuZCAtLXNlcGFyYXRlLWdpdC1kaXIgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAtLWJhcmUgdW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJSZXBvc2l0b3J5ICclcycgZXhpc3RpZXJ0IG5pY2h0LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkwMSBidWlsdGluL2ZldGNoLmM6MTE3NAorIzogYnVpbHRpbi9jbG9uZS5jOjkwNSBidWlsdGluL2ZldGNoLmM6MTMzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXB0aCAlcyBpcyBub3QgYSBwb3NpdGl2ZSBudW1iZXIiCiBtc2dzdHIgIlRpZWZlICVzIGlzdCBrZWluZSBwb3NpdGl2ZSBaYWhsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTExCisjOiBidWlsdGluL2Nsb25lLmM6OTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgIlppZWxwZmFkICclcycgZXhpc3RpZXJ0IGJlcmVpdHMgdW5kIGlzdCBrZWluIGxlZXJlcyBWZXJ6ZWljaG5pcy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJBcmJlaXRzdmVyemVpY2huaXMgJyVzJyBleGlzdGllcnQgYmVyZWl0cy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MzYgYnVpbHRpbi9jbG9uZS5jOjk0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTQ3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjIwIGJ1aWx0aW4vd29ya3RyZWUuYzoyNDcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NDAgYnVpbHRpbi9jbG9uZS5jOjk1MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjU3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjIyIGJ1aWx0aW4vd29ya3RyZWUuYzoyNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgIktvbm50ZSBmw7xocmVuZGUgVmVyemVpY2huaXNzZSB2b24gJyVzJyBuaWNodCBlcnN0ZWxsZW4uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTM5CisjOiBidWlsdGluL2Nsb25lLmM6OTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgd29yayB0cmVlIGRpciAnJXMnIgogbXNnc3RyICJLb25udGUgQXJiZWl0c3ZlcnplaWNobmlzICclcycgbmljaHQgZXJzdGVsbGVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTU3CisjOiBidWlsdGluL2Nsb25lLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byBiYXJlIHJlcG9zaXRvcnkgJyVzJy4uLlxuIgogbXNnc3RyICJLbG9uZSBpbiBCYXJlLVJlcG9zaXRvcnkgJyVzJyAuLi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1OQorIzogYnVpbHRpbi9jbG9uZS5jOjk1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgogbXNnc3RyICJLbG9uZSBuYWNoICclcycgLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjMKK21zZ2lkICIiCisiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBib3RoIC0tcmVmZXJlbmNlIGFuZCAtLXJlZmVyZW5jZS1pZi0iCisiYWJsZSIKK21zZ3N0ciAiJ2Nsb25lIC0tcmVjdXJzaXZlJyBpc3QgbmljaHQga29tcGF0aWJlbCBtaXQgLS1yZWZlcmVuY2UgdW5kIC0tcmVmZXJlbmNlLWlmLWFibGUiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDE5CiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uIC0tZGVwdGggd2lyZCBpbiBsb2thbGVuIEtsb25lbiBpZ25vcmllcnQ7IGJlbnV0emVuIFNpZSAiCiAic3RhdHRkZXNzZW4gZmlsZTovLyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIxCittc2dpZCAiLS1zaGFsbG93LXNpbmNlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKK21zZ3N0ciAiLS1zaGFsbG93LXNpbmNlIHdpcmQgaW4gbG9rYWxlbiBLbG9uZW4gaWdub3JpZXJ0OyBiZW51dHplbiBTaWUgc3RhdHRkZXNzZW4gZmlsZTovLyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMjMKK21zZ2lkICItLXNoYWxsb3ctZXhjbHVkZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCittc2dzdHIgIi0tc2hhbGxvdy1leGNsdWRlIHdpcmQgaW4gbG9rYWxlbiBLbG9uZW4gaWdub3JpZXJ0OyBiZW51dHplbiBTaWUgc3RhdHRkZXNzZW4gZmlsZTovLyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMjYKIG1zZ2lkICJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIgogbXNnc3RyICIiCiAiUXVlbGxlIGlzdCBlaW4gUmVwb3NpdG9yeSBtaXQgdW52b2xsc3TDpG5kaWdlciBIaXN0b3JpZSAoc2hhbGxvdyksaWdub3JpZXJlIC0tIgogImxvY2FsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwNgorIzogYnVpbHRpbi9jbG9uZS5jOjEwMzEKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgIi0tbG9jYWwgd2lyZCBpZ25vcmllcnQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEwCisjOiBidWlsdGluL2Nsb25lLmM6MTAzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBjbG9uZSAlcyIKIG1zZ3N0ciAiV2Vpw58gbmljaHQgd2llICVzIHp1IGtsb25lbiBpc3QuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA1OSBidWlsdGluL2Nsb25lLmM6MTA2NworIzogYnVpbHRpbi9jbG9uZS5jOjEwOTAgYnVpbHRpbi9jbG9uZS5jOjEwOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIlJlbW90ZS1CcmFuY2ggJXMgbmljaHQgaW0gVXBzdHJlYW0tUmVwb3NpdG9yeSAlcyBnZWZ1bmRlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAxCiBtc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKIG1zZ3N0ciAiU2llIHNjaGVpbmVuIGVpbiBsZWVyZXMgUmVwb3NpdG9yeSBnZWtsb250IHp1IGhhYmVuLiIKIApAQCAtNTQ5Niw0NCArNjQ4NSw0NCBAQAogIkJlbnV0emVuIFNpZSBhbnNjaGxpZcOfZW5kIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiwgdW0gZGllXG4iCiAiQ2hlcnJ5LVBpY2stT3BlcmF0aW9uIG1pdCBkZW4gdmVyYmxlaWJlbmRlbiBDb21taXRzIGZvcnR6dXNldHplbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzE4CiBtc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgogbXNnc3RyICJGZWhsZXIgYmVpbSBFbnRwYWNrZW4gZGVzIFwiVHJlZVwiLU9iamVrdGVzIHZvbiBIRUFELiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzU5CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgIktvbm50ZSB0ZW1wb3LDpHJlbiBJbmRleCBuaWNodCBlcnN0ZWxsZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1NAorIzogYnVpbHRpbi9jb21taXQuYzozNjUKIG1zZ2lkICJpbnRlcmFjdGl2ZSBhZGQgZmFpbGVkIgogbXNnc3RyICJpbnRlcmFrdGl2ZXMgSGluenVmw7xnZW4gZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY3CisjOiBidWlsdGluL2NvbW1pdC5jOjM3OAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJLb25udGUgdGVtcG9yw6RyZW4gSW5kZXggbmljaHQgYWt0dWFsaXNpZXJlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY5CisjOiBidWlsdGluL2NvbW1pdC5jOjM4MAogbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgbWFpbiBjYWNoZSB0cmVlIgogbXNnc3RyICJLb25udGUgSGF1cHQtQ2FjaGUtVmVyemVpY2huaXMgbmljaHQgYWt0dWFsaXNpZXJlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozOTMgYnVpbHRpbi9jb21taXQuYzo0MTYgYnVpbHRpbi9jb21taXQuYzo0NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDA0IGJ1aWx0aW4vY29tbWl0LmM6NDI3IGJ1aWx0aW4vY29tbWl0LmM6NDc2CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICJLb25udGUgbmV3X2luZGV4IERhdGVpIG5pY2h0IHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDU4CiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICJLYW5uIGtlaW5lbiBUZWlsLUNvbW1pdCBkdXJjaGbDvGhyZW4sIHfDpGhyZW5kIGVpbiBNZXJnZSBpbSBHYW5nZSBpc3QuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ0OQorIzogYnVpbHRpbi9jb21taXQuYzo0NjAKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIiIKICJLYW5uIGtlaW5lbiBUZWlsLUNvbW1pdCBkdXJjaGbDvGhyZW4sIHfDpGhyZW5kIFwiY2hlcnJ5LXBpY2tcIiBpbSBHYW5nZSBpc3QuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1OAorIzogYnVpbHRpbi9jb21taXQuYzo0NjkKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIkthbm4gSW5kZXggbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDc3CisjOiBidWlsdGluL2NvbW1pdC5jOjQ4OAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKIG1zZ3N0ciAiS29ubnRlIHRlbXBvcsOkcmUgSW5kZXgtRGF0ZWkgbmljaHQgc2NocmVpYmVuLiIKIApAQCAtNTU2NCwxMiArNjU1MywxMiBAQAogIktvbm50ZSBrZWluIEtvbW1lbnRhci1aZWljaGVuIGF1c3fDpGhsZW4sIGRhcyBuaWNodCBpblxuIgogImRlciBha3R1ZWxsZW4gQ29tbWl0LUJlc2NocmVpYnVuZyB2ZXJ3ZW5kZXQgd2lyZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjkyIGJ1aWx0aW4vY29tbWl0LmM6NzI1IGJ1aWx0aW4vY29tbWl0LmM6MTA5MQorIzogYnVpbHRpbi9jb21taXQuYzo2OTIgYnVpbHRpbi9jb21taXQuYzo3MjUgYnVpbHRpbi9jb21taXQuYzoxMDk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgogbXNnc3RyICJLb25udGUgQ29tbWl0ICVzIG5pY2h0IG5hY2hzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDQgYnVpbHRpbi9zaG9ydGxvZy5jOjI4NQorIzogYnVpbHRpbi9jb21taXQuYzo3MDQgYnVpbHRpbi9zaG9ydGxvZy5jOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIocmVhZGluZyBsb2cgbWVzc2FnZSBmcm9tIHN0YW5kYXJkIGlucHV0KVxuIgogbXNnc3RyICIobGVzZSBMb2ctTmFjaHJpY2h0IHZvbiBTdGFuZGFyZC1FaW5nYWJlKVxuIgpAQCAtNTY2NywxMzggKzY2NTYsMTQyIEBACiBtc2dpZCAiQ2Fubm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgIkthbm4gSW5kZXggbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjk1NAogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBFcnpldWdlbiBkZXIgXCJUcmVlXCItT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NjQgYnVpbHRpbi90YWcuYzoyNjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTY5IGJ1aWx0aW4vdGFnLmM6MjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG1lc3NhZ2UgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbi5cbiIKIG1zZ3N0ciAiIgogIkJpdHRlIGxpZWZlcm4gU2llIGVpbmUgQmVzY2hyZWlidW5nIGVudHdlZGVyIG1pdCBkZXIgT3B0aW9uIC1tIG9kZXIgLUYuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2NgorIzogYnVpbHRpbi9jb21taXQuYzoxMDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYXV0aG9yICclcycgaXMgbm90ICdOYW1lIDxlbWFpbD4nIGFuZCBtYXRjaGVzIG5vIGV4aXN0aW5nIGF1dGhvciIKIG1zZ3N0ciAiIgogIi0tYXV0aG9yICclcycgaXN0IG5pY2h0IGltIEZvcm1hdCAnTmFtZSA8RS1NYWlsPicgdW5kIHN0aW1tdCBtaXQga2VpbmVtICIKICJ2b3JoYW5kZW5lbiBBdXRvciDDvGJlcmVpbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDgxIGJ1aWx0aW4vY29tbWl0LmM6MTMyMQorIzogYnVpbHRpbi9jb21taXQuYzoxMDg2IGJ1aWx0aW4vY29tbWl0LmM6MTMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHVudHJhY2tlZCBmaWxlcyBtb2RlICclcyciCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIE1vZHVzICclcycgZsO8ciB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAogbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC0tbG9uZyB1bmQgLXogc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NAogbXNnaWQgIlVzaW5nIGJvdGggLS1yZXNldC1hdXRob3IgYW5kIC0tYXV0aG9yIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uZW4gLS1yZXNldC1hdXRob3IgdW5kIC0tYXV0aG9yIGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCAiCiAid2VyZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTU3CisjOiBidWlsdGluL2NvbW1pdC5jOjExNjMKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKIG1zZ3N0ciAiU2llIGhhYmVuIG5pY2h0cyBmw7xyIFwiLS1hbWVuZFwiLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTYwCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjYKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJFaW4gTWVyZ2UgaXN0IGltIEdhbmdlIC0tIGthbm4gXCItLWFtZW5kXCIgbmljaHQgYXVzZsO8aHJlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MgorIzogYnVpbHRpbi9jb21taXQuYzoxMTY4CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hlcnJ5LXBpY2sgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiXCJjaGVycnktcGlja1wiIGlzdCBpbSBHYW5nZSAtLSBrYW5uIFwiLS1hbWVuZFwiIG5pY2h0IGF1c2bDvGhyZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3MQogbXNnaWQgIk9wdGlvbnMgLS1zcXVhc2ggYW5kIC0tZml4dXAgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uZW4gLS1zcXVhc2ggdW5kIC0tZml4dXAga8O2bm5lbiBuaWNodCBnZW1laW5zYW0gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTgxCiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIkVzIGthbm4gbnVyIGVpbmUgT3B0aW9uIHZvbiAtYy8tQy8tRi8tLWZpeHVwIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MwogbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi8tLWZpeHVwLiIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtbSBrYW5uIG5pY2h0IG1pdCAtYy8tQy8tRi8tLWZpeHVwIGtvbWJpbmllcnQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTg1CisjOiBidWlsdGluL2NvbW1pdC5jOjExOTEKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbiAtLXJlc2V0LS1hdXRob3Iga2FubiBudXIgbWl0IC1DLCAtYyBvZGVyIC0tYW1lbmQgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwMgorIzogYnVpbHRpbi9jb21taXQuYzoxMjA4CiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAiRXMga2FubiBudXIgZWluZSBPcHRpb24gdm9uIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoICIKICJ2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjA0CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMTAKIG1zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uZW4gLS1pbmNsdWRlIHVuZCAtLW9ubHkga8O2bm5lbiBudXIgbWl0IGRlciBBbmdhYmUgdm9uIFBmYWRlbiAiCiAidmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwNgorIzogYnVpbHRpbi9jb21taXQuYzoxMjEyCiBtc2dpZCAiQ2xldmVyLi4uIGFtZW5kaW5nIHRoZSBsYXN0IG9uZSB3aXRoIGRpcnR5IGluZGV4LiIKIG1zZ3N0ciAiS2x1ZyAuLi4gZGVuIGxldHp0ZW4gQ29tbWl0IG1pdCBlaW5lbSBnZcOkbmRlcnRlbiBJbmRleCBuYWNoYmVzc2Vybi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwOAorIzogYnVpbHRpbi9jb21taXQuYzoxMjE0CiBtc2dpZCAiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgb3IgLW87IGFzc3VtaW5nIC0tb25seSBwYXRocy4uLiIKIG1zZ3N0ciAiRXhwbGl6aXRlIFBmYWRlIG9obmUgLWkgb2RlciAtbyBhbmdlZ2ViZW47IG5laG1lIC0tb25seSBhbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjIwIGJ1aWx0aW4vdGFnLmM6NDc0CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMjYgYnVpbHRpbi90YWcuYzo0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIFwiY2xlYW51cFwiIE1vZHVzICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzMQogbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIkRpZSBPcHRpb24gLWEga2FubiBuaWNodCBtaXQgZGVyIEFuZ2FiZSB2b24gUGZhZGVuIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzUgYnVpbHRpbi9jb21taXQuYzoxNjIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDEgYnVpbHRpbi9jb21taXQuYzoxNjE3CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICJTdGF0dXMgaW0gS3VyemZvcm1hdCBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM3IGJ1aWx0aW4vY29tbWl0LmM6MTYyMworIzogYnVpbHRpbi9jb21taXQuYzoxMzQzIGJ1aWx0aW4vY29tbWl0LmM6MTYxOQogbXNnaWQgInNob3cgYnJhbmNoIGluZm9ybWF0aW9uIgogbXNnc3RyICJCcmFuY2hpbmZvcm1hdGlvbmVuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzkgYnVpbHRpbi9jb21taXQuYzoxNjI1IGJ1aWx0aW4vcHVzaC5jOjUxMgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQzNworIzogYnVpbHRpbi9jb21taXQuYzoxMzQ1Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAiVmVyc2lvbiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzQ1IGJ1aWx0aW4vY29tbWl0LmM6MTYyMSBidWlsdGluL3B1c2guYzo1MjIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDAKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAibWFzY2hpbmVubGVzYmFyZSBBdXNnYWJlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDIgYnVpbHRpbi9jb21taXQuYzoxNjI3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9jb21taXQuYzoxNjIzCiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICJTdGF0dXMgaW0gTGFuZ2Zvcm1hdCBhbnplaWdlbiAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDUgYnVpbHRpbi9jb21taXQuYzoxNjMwCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTEgYnVpbHRpbi9jb21taXQuYzoxNjI2CiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgIkVpbnRyw6RnZSBtaXQgTlVMLVplaWNoZW4gYWJzY2hsaWXDn2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDcgYnVpbHRpbi9jb21taXQuYzoxNjMzIGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MyBidWlsdGluL2NvbW1pdC5jOjE2MjkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MQogIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NCBidWlsdGluL3RhZy5jOjM1MwogbXNnaWQgIm1vZGUiCiBtc2dzdHIgIk1vZHVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9jb21taXQuYzoxNjMzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTQgYnVpbHRpbi9jb21taXQuYzoxNjI5CiBtc2dpZCAic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIgogbXNnc3RyICIiCiAidW52ZXJzaW9uaWVydGUgRGF0ZWllbiBhbnplaWdlbiwgb3B0aW9uYWxlIE1vZGk6IGFsbCwgbm9ybWFsLCBuby4gKFN0YW5kYXJkOiAiCiAiYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTcKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgImlnbm9yaWVydGUgRGF0ZWllbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUyIHBhcnNlLW9wdGlvbnMuaDoxNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OCBwYXJzZS1vcHRpb25zLmg6MTU1CiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAid2FubiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTkKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCkBAIC01ODA2LDIwMyArNjc5OSwyMDMgQEAKICLDhG5kZXJ1bmdlbiBpbiBTdWJtb2R1bGVuIGlnbm9yaWVyZW4sIG9wdGlvbmFsIHdlbm46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihTdGFuZGFyZDogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjEKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJ1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIGluIFNwYWx0ZW4gYXVmbGlzdGVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNwogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIktvbm50ZSBuZXUgZXJzdGVsbHRlbiBDb21taXQgbmljaHQgbmFjaHNjaGxhZ2VuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQzCisjOiBidWlsdGluL2NvbW1pdC5jOjE0MzkKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIktvbm50ZSBuZXVsaWNoIGVyc3RlbGx0ZW4gQ29tbWl0IG5pY2h0IGFuYWx5c2llcmVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODQKIG1zZ2lkICJkZXRhY2hlZCBIRUFEIgogbXNnc3RyICJsb3NnZWzDtnN0ZXIgSEVBRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDkxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAiIChCYXNpcy1Db21taXQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NwogbXNnaWQgInN1cHByZXNzIHN1bW1hcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21taXQiCiBtc2dzdHIgIlp1c2FtbWVuZmFzc3VuZyBuYWNoIGVyZm9sZ3JlaWNoZW0gQ29tbWl0IHVudGVyZHLDvGNrZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CiBtc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICJVbnRlcnNjaGllZGUgaW4gQ29tbWl0LUJlc2NocmVpYnVuZ3N2b3JsYWdlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MAogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbmVuIGbDvHIgQ29tbWl0LUJlc2NocmVpYnVuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vdGFnLmM6MzUxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi90YWcuYzozNTEKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICJCZXNjaHJlaWJ1bmcgdm9uIERhdGVpIGxlc2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAiQXV0b3IiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgorIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgIkF1dG9yIGVpbmVzIENvbW1pdHMgw7xiZXJzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NyBidWlsdGluL2djLmM6MzI2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMgYnVpbHRpbi9nYy5jOjMyNgogbXNnaWQgImRhdGUiCiBtc2dzdHIgIkRhdHVtIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MwogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKIG1zZ3N0ciAiRGF0dW0gZWluZXMgQ29tbWl0cyDDvGJlcnNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk4IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9ub3Rlcy5jOjM5NQotIzogYnVpbHRpbi9ub3Rlcy5jOjU1OCBidWlsdGluL3RhZy5jOjM0OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk0IGJ1aWx0aW4vbWVyZ2UuYzoyMjAgYnVpbHRpbi9ub3Rlcy5jOjM5OAorIzogYnVpbHRpbi9ub3Rlcy5jOjU2MSBidWlsdGluL3RhZy5jOjM0OQogbXNnaWQgIm1lc3NhZ2UiCiBtc2dzdHIgIkJlc2NocmVpYnVuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk4CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTQKIG1zZ2lkICJjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiQ29tbWl0LUJlc2NocmVpYnVuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk5IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL2NvbW1pdC5jOjE2MDEKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMiBwYXJzZS1vcHRpb25zLmg6MjU2IHJlZi1maWx0ZXIuaDo3OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vY29tbWl0LmM6MTU5NiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBwYXJzZS1vcHRpb25zLmg6MjU3IHJlZi1maWx0ZXIuaDo3OQogbXNnaWQgImNvbW1pdCIKIG1zZ3N0ciAiQ29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NQogbXNnaWQgInJldXNlIGFuZCBlZGl0IG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICJCZXNjaHJlaWJ1bmcgZGVzIGFuZ2VnZWJlbmVuIENvbW1pdHMgd2llZGVydmVyd2VuZGVuIHVuZCBlZGl0aWVyZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMAorIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CiBtc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIkJlc2NocmVpYnVuZyBkZXMgYW5nZWdlYmVuZW4gQ29tbWl0cyB3aWVkZXJ2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk3CiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gZml4dXAgc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogImVpbmUgYXV0b21hdGlzY2ggenVzYW1tZW5nZXNldHp0ZSBCZXNjaHJlaWJ1bmcgenVtIE5hY2hiZXNzZXJuIGRlcyAiCiAiYW5nZWdlYmVuZW4gQ29tbWl0cyB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMgorIzogYnVpbHRpbi9jb21taXQuYzoxNTk4CiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gc3F1YXNoIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICJlaW5lIGF1dG9tYXRpc2NoIHp1c2FtbWVuZ2VzZXR6dGUgQmVzY2hyZWlidW5nIGJlaW0gXCJzcXVhc2hcIiBkZXMgIgogImFuZ2VnZWJlbmVuIENvbW1pdHMgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQogbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCiBtc2dzdHIgIlNpZSBhbHMgQXV0b3IgZGVzIENvbW1pdHMgc2V0emVuICh2ZXJ3ZW5kZXQgbWl0IC1DLy1jLy0tYW1lbmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDQgYnVpbHRpbi9sb2cuYzoxMzgyIGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL2xvZy5jOjE0MTMgYnVpbHRpbi9yZXZlcnQuYzo4NgogbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKIG1zZ3N0ciAiJ1NpZ25lZC1vZmYtYnk6Jy1aZWlsZSBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDEKIG1zZ2lkICJ1c2Ugc3BlY2lmaWVkIHRlbXBsYXRlIGZpbGUiCiBtc2dzdHIgImFuZ2VnZWJlbmUgVm9ybGFnZW5kYXRlaSB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNgorIzogYnVpbHRpbi9jb21taXQuYzoxNjAyCiBtc2dpZCAiZm9yY2UgZWRpdCBvZiBjb21taXQiCiBtc2dzdHIgIkJlYXJiZWl0dW5nIGRlcyBDb21taXRzIGVyendpbmdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA3CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDMKIG1zZ2lkICJkZWZhdWx0IgogbXNnc3RyICJTdGFuZGFyZCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA3IGJ1aWx0aW4vdGFnLmM6MzU0CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDMgYnVpbHRpbi90YWcuYzozNTQKIG1zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgogbXNnc3RyICIiCiAid2llIExlZXJ6ZWljaGVuIHVuZCAjS29tbWVudGFyZSB2b24gZGVyIEJlc2NocmVpYnVuZyBnZXRyZW5udCB3ZXJkZW4gc29sbGVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNAogbXNnaWQgImluY2x1ZGUgc3RhdHVzIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICJTdGF0dXMgaW4gZGllIENvbW1pdC1CZXNjaHJlaWJ1bmdzdm9ybGFnZSBlaW5mw7xnZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMCBidWlsdGluL21lcmdlLmM6MjI5IGJ1aWx0aW4vcHVsbC5jOjE2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNjA2IGJ1aWx0aW4vbWVyZ2UuYzoyMzAgYnVpbHRpbi9wdWxsLmM6MTY2CiAjOiBidWlsdGluL3JldmVydC5jOjkzCiBtc2dpZCAiR1BHIHNpZ24gY29tbWl0IgogbXNnc3RyICJDb21taXQgbWl0IEdQRyBzaWduaWVyZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMworIzogYnVpbHRpbi9jb21taXQuYzoxNjA5CiBtc2dpZCAiQ29tbWl0IGNvbnRlbnRzIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbmVuIGbDvHIgQ29tbWl0LUluaGFsdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTAKIG1zZ2lkICJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiCiBtc2dzdHIgImFsbGUgZ2XDpG5kZXJ0ZW4gRGF0ZWllbiBjb21taXR0ZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNQorIzogYnVpbHRpbi9jb21taXQuYzoxNjExCiBtc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgogbXNnc3RyICJkaWUgYW5nZWdlYmVuZW4gRGF0ZWllbiB6dXPDpHR6bGljaCB6dW0gQ29tbWl0IHZvcm1lcmtlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTIKIG1zZ2lkICJpbnRlcmFjdGl2ZWx5IGFkZCBmaWxlcyIKIG1zZ3N0ciAiaW50ZXJha3RpdmVzIEhpbnp1ZsO8Z2VuIHZvbiBEYXRlaWVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMwogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGNoYW5nZXMiCiBtc2dzdHIgImludGVyYWt0aXZlcyBIaW56dWbDvGdlbiB2b24gw4RuZGVydW5nZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CiBtc2dpZCAiY29tbWl0IG9ubHkgc3BlY2lmaWVkIGZpbGVzIgogbXNnc3RyICJudXIgZGllIGFuZ2VnZWJlbmVuIERhdGVpZW4gY29tbWl0dGVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTkKLW1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBob29rIgotbXNnc3RyICJcInByZS1jb21taXQgaG9va1wiIHVtZ2VoZW4iCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTUKK21zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKK21zZ3N0ciAiSG9va3MgcHJlLWNvbW1pdCB1bmQgY29tbWl0LW1zZyB1bWdlaGVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNgogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgImFuemVpZ2VuLCB3YXMgY29tbWl0dGV0IHdlcmRlbiB3w7xyZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMQorIzogYnVpbHRpbi9jb21taXQuYzoxNjI3CiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICJ2b3JoZXJpZ2VuIENvbW1pdCDDpG5kZXJuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyOAogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAiXCJwb3N0LXJld3JpdGUgaG9va1wiIHVtZ2VoZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNworIzogYnVpbHRpbi9jb21taXQuYzoxNjMzCiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAiQXVmemVpY2hudW5nIGVpbmVyIGxlZXJlbiDDhG5kZXJ1bmcgZXJsYXViZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzOQorIzogYnVpbHRpbi9jb21taXQuYzoxNjM1CiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAiQXVmemVpY2hudW5nIGVpbmVyIMOEbmRlcnVuZyBtaXQgZWluZXIgbGVlcmVuIEJlc2NocmVpYnVuZyBlcmxhdWJlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjY4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NjQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCiBtc2dzdHIgIktvbm50ZSBDb21taXQgdm9uIEhFQUQgbmljaHQgYW5hbHlzaWVyZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgogbXNnc3RyICJCZXNjaMOkZGlndGUgTUVSR0VfSEVBRC1EYXRlaSAoJXMpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxOQogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgIktvbm50ZSBNRVJHRV9NT0RFIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTczOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZTogJXMiCiBtc2dzdHIgIktvbm50ZSBDb21taXQtQmVzY2hyZWlidW5nIG5pY2h0IGxlc2VuOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzU1CisjOiBidWlsdGluL2NvbW1pdC5jOjE3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0OyB5b3UgZGlkIG5vdCBlZGl0IHRoZSBtZXNzYWdlLlxuIgogbXNnc3RyICJDb21taXQgYWJnZWJyb2NoZW47IFNpZSBoYWJlbiBkaWUgQmVzY2hyZWlidW5nIG5pY2h0IGVkaXRpZXJ0LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICJDb21taXQgYXVmZ3J1bmQgbGVlcmVyIEJlc2NocmVpYnVuZyBhYmdlYnJvY2hlbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxODA4CisjOiBidWlsdGluL2NvbW1pdC5jOjE4MDIKIG1zZ2lkICIiCiAiUmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCiAibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBhbmQgcXVvdGEgaXNcbiIKQEAgLTYwMTcsMTQxICs3MDEwLDE0MSBAQAogbXNnaWQgImdpdCBjb25maWcgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBjb25maWcgWzxPcHRpb25lbj5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU2CisjOiBidWlsdGluL2NvbmZpZy5jOjU1CiBtc2dpZCAiQ29uZmlnIGZpbGUgbG9jYXRpb24iCiBtc2dzdHIgIk9ydCBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1NgogbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCiBtc2dzdHIgImdsb2JhbGUgS29uZmlndXJhdGlvbnNkYXRlaSB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTcKIG1zZ2lkICJ1c2Ugc3lzdGVtIGNvbmZpZyBmaWxlIgogbXNnc3RyICJzeXN0ZW13ZWl0ZSBLb25maWd1cmF0aW9uc2RhdGVpIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OQorIzogYnVpbHRpbi9jb25maWcuYzo1OAogbXNnaWQgInVzZSByZXBvc2l0b3J5IGNvbmZpZyBmaWxlIgogbXNnc3RyICJLb25maWd1cmF0aW9uc2RhdGVpIGRlcyBSZXBvc2l0b3JpZXMgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYwCisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAidXNlIGdpdmVuIGNvbmZpZyBmaWxlIgogbXNnc3RyICJkaWUgYW5nZWdlYmVuZSBLb25maWd1cmF0aW9uc2RhdGVpIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgImJsb2ItaWQiCiBtc2dzdHIgIkJsb2ItSWQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKIG1zZ2lkICJyZWFkIGNvbmZpZyBmcm9tIGdpdmVuIGJsb2Igb2JqZWN0IgogbXNnc3RyICJLb25maWd1cmF0aW9uIHZvbiBhbmdlZ2ViZW5lbSBCbG9iLU9iamVrdCBsZXNlbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MgorIzogYnVpbHRpbi9jb25maWcuYzo2MQogbXNnaWQgIkFjdGlvbiIKIG1zZ3N0ciAiQWt0aW9uIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYzCisjOiBidWlsdGluL2NvbmZpZy5jOjYyCiBtc2dpZCAiZ2V0IHZhbHVlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIldlcnQgenVyw7xja2dlYmVuOiBOYW1lIFtXZXJ0LXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NAorIzogYnVpbHRpbi9jb25maWcuYzo2MwogbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiYWxsZSBXZXJ0ZSB6dXLDvGNrZ2ViZW46IFNjaGzDvHNzZWwgW1dlcnQtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY1CisjOiBidWlsdGluL2NvbmZpZy5jOjY0CiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIldlcnRlIGbDvHIgZGVuIHJlZ3Vsw6RyZW4gQXVzZHJ1Y2sgenVyw7xja2dlYmVuOiBOYW1lLXJlZ2V4IFtXZXJ0LXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NgorIzogYnVpbHRpbi9jb25maWcuYzo2NQogbXNnaWQgImdldCB2YWx1ZSBzcGVjaWZpYyBmb3IgdGhlIFVSTDogc2VjdGlvblsudmFyXSBVUkwiCiBtc2dzdHIgIldlcnQgc3BlemlmaXNjaCBmw7xyIGVpbmUgVVJMIHp1csO8Y2tnZWJlbjogc2VjdGlvblsudmFyXSBVUkwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKIG1zZ2lkICJyZXBsYWNlIGFsbCBtYXRjaGluZyB2YXJpYWJsZXM6IG5hbWUgdmFsdWUgW3ZhbHVlX3JlZ2V4XSIKIG1zZ3N0ciAiYWxsZSBwYXNzZW5kZW4gVmFyaWFibGVuIGVyc2V0emVuOiBOYW1lIFdlcnQgW1dlcnQtcmVnZXhdICIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OAorIzogYnVpbHRpbi9jb25maWcuYzo2NwogbXNnaWQgImFkZCBhIG5ldyB2YXJpYWJsZTogbmFtZSB2YWx1ZSIKIG1zZ3N0ciAibmV1ZSBWYXJpYWJsZSBoaW56dWbDvGdlbjogTmFtZSBXZXJ0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5CisjOiBidWlsdGluL2NvbmZpZy5jOjY4CiBtc2dpZCAicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiZWluZSBWYXJpYWJsZSBlbnRmZXJuZW46IE5hbWUgW1dlcnQtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwCisjOiBidWlsdGluL2NvbmZpZy5jOjY5CiBtc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImFsbGUgw5xiZXJlaW5zdGltbXVuZ2VuIGVudGZlcm5lbjogTmFtZSBbV2VydC1yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKIG1zZ2lkICJyZW5hbWUgc2VjdGlvbjogb2xkLW5hbWUgbmV3LW5hbWUiCiBtc2dzdHIgImVpbmUgU2VrdGlvbiB1bWJlbmVubmVuOiBhbHRlci1OYW1lIG5ldWVyLU5hbWUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKIG1zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgogbXNnc3RyICJlaW5lIFNla3Rpb24gZW50ZmVybmVuOiBOYW1lIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczCisjOiBidWlsdGluL2NvbmZpZy5jOjcyCiBtc2dpZCAibGlzdCBhbGwiCiBtc2dzdHIgImFsbGVzIGF1Zmxpc3RlbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NAorIzogYnVpbHRpbi9jb25maWcuYzo3MwogbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgogbXNnc3RyICJlaW5lbiBFZGl0b3Igw7ZmZm5lbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NQorIzogYnVpbHRpbi9jb25maWcuYzo3NAogbXNnaWQgImZpbmQgdGhlIGNvbG9yIGNvbmZpZ3VyZWQ6IHNsb3QgW2RlZmF1bHRdIgogbXNnc3RyICJkaWUga29uZmlndXJpZXJ0ZSBGYXJiZSBmaW5kZW46IFNsb3QgW1N0YW5kYXJkXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NgorIzogYnVpbHRpbi9jb25maWcuYzo3NQogbXNnaWQgImZpbmQgdGhlIGNvbG9yIHNldHRpbmc6IHNsb3QgW3N0ZG91dC1pcy10dHldIgogbXNnc3RyICJkaWUgRmFyYmVpbnN0ZWxsdW5nIGZpbmRlbjogU2xvdCBbU3RhbmRhcmQtQXVzZ2FiZS1pc3QtVGVybWluYWxdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjc2CiBtc2dpZCAiVHlwZSIKIG1zZ3N0ciAiVHlwIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc4CisjOiBidWlsdGluL2NvbmZpZy5jOjc3CiBtc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgogbXNnc3RyICJXZXJ0IGlzdCBcInRydWVcIiBvZGVyIFwiZmFsc2VcIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OQorIzogYnVpbHRpbi9jb25maWcuYzo3OAogbXNnaWQgInZhbHVlIGlzIGRlY2ltYWwgbnVtYmVyIgogbXNnc3RyICJXZXJ0IGlzdCBlaW5lIERlemltYWx6YWhsIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgwCisjOiBidWlsdGluL2NvbmZpZy5jOjc5CiBtc2dpZCAidmFsdWUgaXMgLS1ib29sIG9yIC0taW50IgogbXNnc3RyICJXZXJ0IGlzdCAtLWJvb2wgb2RlciAtLWludCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MQorIzogYnVpbHRpbi9jb25maWcuYzo4MAogbXNnaWQgInZhbHVlIGlzIGEgcGF0aCAoZmlsZSBvciBkaXJlY3RvcnkgbmFtZSkiCiBtc2dzdHIgIldlcnQgaXN0IGVpbiBQZmFkIChEYXRlaSBvZGVyIFZlcnplaWNobmlzbmFtZSkiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODEKIG1zZ2lkICJPdGhlciIKIG1zZ3N0ciAiU29uc3RpZ2VzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgzCisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICJzY2hsaWXDn3QgV2VydGUgbWl0IE5VTC1CeXRlIGFiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg0CisjOiBidWlsdGluL2NvbmZpZy5jOjgzCiBtc2dpZCAic2hvdyB2YXJpYWJsZSBuYW1lcyBvbmx5IgogbXNnc3RyICJudXIgVmFyaWFibGVubmFtZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCiBtc2dzdHIgImJlYWNodGV0IFwiaW5jbHVkZVwiLURpcmVrdGl2ZW4gYmVpbSBOYWNoc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODUKIG1zZ2lkICJzaG93IG9yaWdpbiBvZiBjb25maWcgKGZpbGUsIHN0YW5kYXJkIGlucHV0LCBibG9iLCBjb21tYW5kIGxpbmUpIgogbXNnc3RyICIiCiAiVXJzcHJ1bmcgZGVyIEtvbmZpZ3VyYXRpb24gYW56ZWlnZW4gKERhdGVpLCBTdGFuZGFyZC1FaW5nYWJlLCBCbG9iLCAiCiAiQmVmZWhsc3plaWxlKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzozMjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzI3CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGRlZmF1bHQgY29sb3IgdmFsdWUiCiBtc2dzdHIgImtvbm50ZSBTdGFuZGFyZC1GYXJid2VydCBuaWNodCBwYXJzZW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NDcyCisjOiBidWlsdGluL2NvbmZpZy5jOjQ3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiIyBUaGlzIGlzIEdpdCdzIHBlci11c2VyIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiIKQEAgLTYxNjYsMTYgKzcxNTksMjYgQEAKICIjXHRuYW1lID0gJXNcbiIKICIjXHRlbWFpbCA9ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjE0CisjOiBidWlsdGluL2NvbmZpZy5jOjYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAiS29ubnRlIEtvbmZpZ3VyYXRpb25zZGF0ZWkgJyVzJyBuaWNodCBlcnN0ZWxsZW4uIgogCi0jOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo3NworIzogYnVpbHRpbi9jb25maWcuYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBvdmVyd3JpdGUgbXVsdGlwbGUgdmFsdWVzIHdpdGggYSBzaW5nbGUgdmFsdWVcbiIKKyIgICAgICAgVXNlIGEgcmVnZXhwLCAtLWFkZCBvciAtLXJlcGxhY2UtYWxsIHRvIGNoYW5nZSAlcy4iCittc2dzdHIgIiIKKyJrYW5uIG5pY2h0IG1laHJlcmUgV2VydGUgbWl0IGVpbmVtIGVpbnppZ2VuIFdlcnQgw7xiZXJzY2hyZWliZW5cbiIKKyIgICAgICAgQmVudXR6ZW4gU2llIGVpbmVuIHJlZ3Vsw6RyZW4gQXVzZHJ1Y2ssIC0tYWRkIG9kZXIgLS1yZXBsYWNlLCB1bSAlc1xuIgorIiAgICAgICB6dSDDpG5kZXJuLiIKKworIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6ODYKIG1zZ2lkICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogbXNnc3RyICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogCi0jOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NworIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTYKIG1zZ2lkICJwcmludCBzaXplcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQiCiBtc2dzdHIgImdpYnQgR3LDtsOfZW5hbmdhYmVuIGluIG1lbnNjaGVubGVzYmFyZW4gRm9ybWF0IGF1cyIKIApAQCAtNjIwMiw3ICs3MjA1LDcgQEAKIG1zZ2lkICJ0YWcgJyVzJyBpcyByZWFsbHkgJyVzJyBoZXJlIgogbXNnc3RyICJUYWcgJyVzJyBpc3QgZWlnZW50bGljaCAnJXMnIGhpZXIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTAgYnVpbHRpbi9sb2cuYzo0NjUKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTAgYnVpbHRpbi9sb2cuYzo0ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIiVzIGlzdCBrZWluIGfDvGx0aWdlciBPYmpla3QtTmFtZSIKQEAgLTYyOTUsNyArNzI5OCw3IEBACiBtc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAibnVyIFRhZ3MsIGRpZSA8TXVzdGVyPiBlbnRzcHJlY2hlbiwgYmV0cmFjaHRlbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMCBidWlsdGluL25hbWUtcmV2LmM6MzIxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKIG1zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCiBtc2dzdHIgImdla8O8cnp0ZXMgQ29tbWl0LU9iamVrdCBhbnplaWdlbiwgd2VubiBzb25zdCBuaWNodHMgenV0cmlmZnQiCiAKQEAgLTYzMzEsMjEgKzczMzQsMjEgQEAKIG1zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgT3B0aW9uOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzYwCisjOiBidWlsdGluL2RpZmYuYzozNjEKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiS2VpbiBHaXQtUmVwb3NpdG9yeSIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDAzCisjOiBidWlsdGluL2RpZmYuYzo0MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIk9iamVrdCAnJXMnIGlzdCB1bmfDvGx0aWcuIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MTIKKyM6IGJ1aWx0aW4vZGlmZi5jOjQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgogbXNnc3RyICJNZWhyIGFscyB6d2VpIEJsb2JzIGFuZ2VnZWJlbjogJyVzJyIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDE5CisjOiBidWlsdGluL2RpZmYuYzo0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5oYW5kbGVkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAidW5iZWhhbmRlbHRlcyBPYmpla3QgJyVzJyBhbmdlZ2ViZW4iCkBAIC02NDAyLDE4MiArNzQwNSwxODggQEAKIG1zZ2lkICJhbm9ueW1pemUgb3V0cHV0IgogbXNnc3RyICJBdXNnYWJlIGFub255bWlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMAorIzogYnVpbHRpbi9mZXRjaC5jOjIxCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgZmV0Y2ggWzxPcHRpb25lbj5dIFs8UmVwb3NpdG9yeT4gWzxSZWZzcGVjPi4uLl1dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMgogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgogbXNnc3RyICJnaXQgZmV0Y2ggWzxPcHRpb25lbj5dIDxHcnVwcGU+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMwogbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPE9wdGlvbmVuPl0gWyg8UmVwb3NpdG9yeT4gfCA8R3J1cHBlPikuLi5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyNAogbXNnaWQgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tYWxsIFs8T3B0aW9uZW4+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkyIGJ1aWx0aW4vcHVsbC5jOjE3NAorIzogYnVpbHRpbi9mZXRjaC5jOjk1IGJ1aWx0aW4vcHVsbC5jOjE3NQogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgImZvcmRlcnQgdm9uIGFsbGVuIFJlbW90ZS1SZXBvc2l0b3JpZXMgYW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NCBidWlsdGluL3B1bGwuYzoxNzcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NyBidWlsdGluL3B1bGwuYzoxNzgKIG1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCiBtc2dzdHIgImFuIC5naXQvRkVUQ0hfSEVBRCBhbmjDpG5nZW4sIGFuc3RhdHQgenUgw7xiZXJzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NiBidWlsdGluL3B1bGwuYzoxODAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OSBidWlsdGluL3B1bGwuYzoxODEKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgIlBmYWQgZGVzIFByb2dyYW1tcyB6dW0gSG9jaGxhZGVuIHZvbiBQYWtldGVuIGF1ZiBkZXIgR2VnZW5zZWl0ZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vcHVsbC5jOjE4MgorIzogYnVpbHRpbi9mZXRjaC5jOjEwMCBidWlsdGluL3B1bGwuYzoxODMKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgYnJhbmNoIgogbXNnc3RyICJkYXMgw5xiZXJzY2hyZWliZW4gdm9uIGxva2FsZW4gQnJhbmNoZXMgZXJ6d2luZ2VuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDIKIG1zZ2lkICJmZXRjaCBmcm9tIG11bHRpcGxlIHJlbW90ZXMiCiBtc2dzdHIgInZvbiBtZWhyZXJlbiBSZW1vdGUtUmVwb3NpdG9yaWVzIGFuZm9yZGVybiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMSBidWlsdGluL3B1bGwuYzoxODQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDQgYnVpbHRpbi9wdWxsLmM6MTg1CiBtc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKIG1zZ3N0ciAiYWxsZSBUYWdzIHVuZCB2ZXJidW5kZW5lIE9iamVrdGUgYW5mb3JkZXJuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAzCisjOiBidWlsdGluL2ZldGNoLmM6MTA2CiBtc2dpZCAiZG8gbm90IGZldGNoIGFsbCB0YWdzICgtLW5vLXRhZ3MpIgogbXNnc3RyICJuaWNodCBhbGxlIFRhZ3MgYW5mb3JkZXJuICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1CisjOiBidWlsdGluL2ZldGNoLmM6MTA4CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgZmV0Y2hlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAiQW56YWhsIGRlciBwYXJhbGxlbCBhbnp1Zm9yZGVybmRlbiBTdWJtb2R1bGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDcgYnVpbHRpbi9wdWxsLmM6MTg3CisjOiBidWlsdGluL2ZldGNoLmM6MTEwIGJ1aWx0aW4vcHVsbC5jOjE4OAogbXNnaWQgInBydW5lIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBubyBsb25nZXIgb24gcmVtb3RlIgogbXNnc3RyICIiCiAiUmVtb3RlLVRyYWNraW5nLUJyYW5jaGVzIGVudGZlcm5lbiwgZGllIHNpY2ggbmljaHQgbWVociBpbSBSZW1vdGUtUmVwb3NpdG9yeSAiCiAiYmVmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDggYnVpbHRpbi9wdWxsLmM6MTkwCisjOiBidWlsdGluL2ZldGNoLmM6MTExIGJ1aWx0aW4vcHVsbC5jOjE5MQogbXNnaWQgIm9uLWRlbWFuZCIKIG1zZ3N0ciAiYmVpLUJlZGFyZiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwOSBidWlsdGluL3B1bGwuYzoxOTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTIgYnVpbHRpbi9wdWxsLmM6MTkyCiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAicmVrdXJzaXZlIEFuZm9yZGVydW5nZW4gdm9uIFN1Ym1vZHVsZW4ga29udHJvbGxpZXJlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMyBidWlsdGluL3B1bGwuYzoxOTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9wdWxsLmM6MjAwCiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgImhlcnVudGVyZ2VsYWRlbmVzIFBha2V0IGJlaGFsdGVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE1CisjOiBidWlsdGluL2ZldGNoLmM6MTE4CiBtc2dpZCAiYWxsb3cgdXBkYXRpbmcgb2YgSEVBRCByZWYiCiBtc2dzdHIgIkFrdHVhbGlzaWVydW5nIGRlciBcIkhFQURcIi1SZWZlcmVueiBlcmxhdWJlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExOCBidWlsdGluL3B1bGwuYzoyMDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjEyNyBidWlsdGluL3B1bGwuYzoyMDMKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICIiCiAiZGllIEhpc3RvcmllIGVpbmVzIEtsb25zIG1pdCB1bnZvbGxzdMOkbmRpZ2VyIEhpc3RvcmllIChzaGFsbG93KSB2ZXJ0aWVmZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjAgYnVpbHRpbi9wdWxsLmM6MjA1CisjOiBidWlsdGluL2ZldGNoLmM6MTIzCittc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyByZXBvc2l0b3J5IGJhc2VkIG9uIHRpbWUiCittc2dzdHIgIiIKKyJkaWUgSGlzdG9yaWUgZWluZXMgS2xvbnMgbWl0IHVudm9sbHN0w6RuZGlnZXIgSGlzdG9yaWUgKHNoYWxsb3cpIGF1ZiBaZWl0YmFzaXNcbiIKKyJ2ZXJ0aWVmZW4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjkgYnVpbHRpbi9wdWxsLmM6MjA2CiBtc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgInp1IGVpbmVtIHZvbGxzdMOkbmRpZ2VuIFJlcG9zaXRvcnkga29udmVydGllcmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIyIGJ1aWx0aW4vbG9nLmM6MTM5OQorIzogYnVpbHRpbi9mZXRjaC5jOjEzMSBidWlsdGluL2xvZy5jOjE0MzMKIG1zZ2lkICJkaXIiCiBtc2dzdHIgIlZlcnplaWNobmlzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIzCisjOiBidWlsdGluL2ZldGNoLmM6MTMyCiBtc2dpZCAicHJlcGVuZCB0aGlzIHRvIHN1Ym1vZHVsZSBwYXRoIG91dHB1dCIKIG1zZ3N0ciAiZGllcyBhbiBkaWUgQXVzZ2FiZSBkZXIgU3VibW9kdWwtUGZhZGUgdm9yYW5zdGVsbGVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI2CisjOiBidWlsdGluL2ZldGNoLmM6MTM1CiBtc2dpZCAiZGVmYXVsdCBtb2RlIGZvciByZWN1cnNpb24iCiBtc2dzdHIgIlN0YW5kYXJkLU1vZHVzIGbDvHIgUmVrdXJzaW9uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI4IGJ1aWx0aW4vcHVsbC5jOjIwOAorIzogYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL3B1bGwuYzoyMDkKIG1zZ2lkICJhY2NlcHQgcmVmcyB0aGF0IHVwZGF0ZSAuZ2l0L3NoYWxsb3ciCiBtc2dzdHIgIlJlZmVyZW56ZW4sIGRpZSAuZ2l0L3NoYWxsb3cgYWt0dWFsaXNpZXJlbiwgYWt6ZXB0aWVyZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjkgYnVpbHRpbi9wdWxsLmM6MjEwCisjOiBidWlsdGluL2ZldGNoLmM6MTM4IGJ1aWx0aW4vcHVsbC5jOjIxMQogbXNnaWQgInJlZm1hcCIKIG1zZ3N0ciAiUmVmbWFwIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMwIGJ1aWx0aW4vcHVsbC5jOjIxMQorIzogYnVpbHRpbi9mZXRjaC5jOjEzOSBidWlsdGluL3B1bGwuYzoyMTIKIG1zZ2lkICJzcGVjaWZ5IGZldGNoIHJlZm1hcCIKIG1zZ3N0ciAiUmVmbWFwIGbDvHIgJ2ZldGNoJyBhbmdlYmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzg2CisjOiBidWlsdGluL2ZldGNoLmM6Mzk4CiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCiBtc2dzdHIgIktvbm50ZSBSZW1vdGUtUmVmZXJlbnogdm9uIEhFQUQgbmljaHQgZmluZGVuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ2NgorIzogYnVpbHRpbi9mZXRjaC5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250YWlucyBpbnZhbGlkIHZhbHVlICVzIgorbXNnc3RyICJLb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBlbnRow6RsdCB1bmfDvGx0aWdlbiBXZXJ0ICVzIgorCisjOiBidWlsdGluL2ZldGNoLmM6NjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgIk9iamVrdCAlcyBuaWNodCBnZWZ1bmRlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ3MQorIzogYnVpbHRpbi9mZXRjaC5jOjYxMQogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW2FrdHVlbGxdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDg1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiEgJS0qcyAlLSpzIC0+ICVzICAoY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2gpIgotbXNnc3RyICIiCi0iISAlLSpzICUtKnMgLT4gJXMgIChrYW5uIFwiZmV0Y2hcIiBpbSBha3R1ZWxsZW4gQnJhbmNoIG5pY2h0IGF1c2bDvGhyZW4pIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NDg2IGJ1aWx0aW4vZmV0Y2guYzo1NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjQgYnVpbHRpbi9mZXRjaC5jOjcwNAogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIlt6dXLDvGNrZ2V3aWVzZW5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDk3CisjOiBidWlsdGluL2ZldGNoLmM6NjI1Cittc2dpZCAiY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2giCittc2dzdHIgImthbm4gXCJmZXRjaFwiIGltIGFrdHVlbGxlbiBCcmFuY2ggbmljaHQgYXVzZsO8aHJlbiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjYzNAogbXNnaWQgIlt0YWcgdXBkYXRlXSIKIG1zZ3N0ciAiW1RhZyBBa3R1YWxpc2llcnVuZ10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0OTkgYnVpbHRpbi9mZXRjaC5jOjUzNCBidWlsdGluL2ZldGNoLmM6NTUyCi1tc2dpZCAiICAodW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYpIgotbXNnc3RyICIgIChrYW5uIGxva2FsZSBSZWZlcmVueiBuaWNodCBha3R1YWxpc2llcmVuKSIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjUxNwotbXNnaWQgIltuZXcgdGFnXSIKLW1zZ3N0ciAiW25ldWVzIFRhZ10iCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MjAKLW1zZ2lkICJbbmV3IGJyYW5jaF0iCi1tc2dzdHIgIltuZXVlciBCcmFuY2hdIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTIzCi1tc2dpZCAiW25ldyByZWZdIgotbXNnc3RyICJbbmV1ZSBSZWZlcmVuel0iCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1NjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzUgYnVpbHRpbi9mZXRjaC5jOjY2OCBidWlsdGluL2ZldGNoLmM6Njg0CisjOiBidWlsdGluL2ZldGNoLmM6Njk5CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiCiBtc2dzdHIgImthbm4gbG9rYWxlIFJlZmVyZW56IG5pY2h0IGFrdHVhbGlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1NjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTQKK21zZ2lkICJbbmV3IHRhZ10iCittc2dzdHIgIltuZXVlcyBUYWddIgorCisjOiBidWlsdGluL2ZldGNoLmM6NjU3Cittc2dpZCAiW25ldyBicmFuY2hdIgorbXNnc3RyICJbbmV1ZXIgQnJhbmNoXSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjY2MAorbXNnaWQgIltuZXcgcmVmXSIKK21zZ3N0ciAiW25ldWUgUmVmZXJlbnpdIgorCisjOiBidWlsdGluL2ZldGNoLmM6Njk5CiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAiQWt0dWFsaXNpZXJ1bmcgZXJ6d3VuZ2VuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTc2Ci1tc2dpZCAiKG5vbi1mYXN0LWZvcndhcmQpIgotbXNnc3RyICIoa2VpbiBWb3JzcHVsZW4pIgorIzogYnVpbHRpbi9mZXRjaC5jOjcwNAorbXNnaWQgIm5vbi1mYXN0LWZvcndhcmQiCittc2dzdHIgImtlaW4gVm9yc3B1bGVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjE5CisjOiBidWlsdGluL2ZldGNoLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAiJXMgaGF0IG5pY2h0IGFsbGUgZXJmb3JkZXJsaWNoZW4gT2JqZWt0ZSBnZXNlbmRldFxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjM3CisjOiBidWlsdGluL2ZldGNoLmM6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlamVjdCAlcyBiZWNhdXNlIHNoYWxsb3cgcm9vdHMgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQiCiBtc2dzdHIgIiIKICIlcyB3dXJkZSB6dXLDvGNrZ2V3aWVzZW4sIGRhIFVyc3BydW5ncy1Db21taXRzIHZvbiBSZXBvc2l0b3JpZXNtaXQgIgogInVudm9sbHN0w6RuZGlnZXIgSGlzdG9yaWUgKHNoYWxsb3cpIG5pY2h0IGFrdHVhbGlzaWVydCB3ZXJkZW4gZMO8cmZlbi4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MjQgYnVpbHRpbi9mZXRjaC5jOjgxNgorIzogYnVpbHRpbi9mZXRjaC5jOjg1NiBidWlsdGluL2ZldGNoLmM6OTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICJWb24gJS4qc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzM1CisjOiBidWlsdGluL2ZldGNoLmM6ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJzb21lIGxvY2FsIHJlZnMgY291bGQgbm90IGJlIHVwZGF0ZWQ7IHRyeSBydW5uaW5nXG4iCkBAIC02NTg2LDU3ICs3NTk1LDU3IEBACiAiRWluaWdlIGxva2FsZSBSZWZlcmVuemVuIGtvbm50ZW4gbmljaHQgYWt0dWFsaXNpZXJ0IHdlcmRlbjsgdmVyc3VjaGVuIFNpZVxuIgogIidnaXQgcmVtb3RlIHBydW5lICVzJywgdW0gamVkZW4gw6RsdGVyZW4sIHdpZGVyc3Byw7xjaGxpY2hlbiBCcmFuY2ggenUgbMO2c2NoZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Nzg3CisjOiBidWlsdGluL2ZldGNoLmM6OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyB3aXJkIHVucmVmZXJlbnppZXJ0KSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc4OAorIzogYnVpbHRpbi9mZXRjaC5jOjkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgaGFzIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyB3dXJkZSB1bnJlZmVyZW56aWVydCkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NTUKIG1zZ2lkICJbZGVsZXRlZF0iCiBtc2dzdHIgIltnZWzDtnNjaHRdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODIxIGJ1aWx0aW4vcmVtb3RlLmM6MTAyNQorIzogYnVpbHRpbi9mZXRjaC5jOjk1NiBidWlsdGluL3JlbW90ZS5jOjEwMjAKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIihuaWNodHMpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODQxCisjOiBidWlsdGluL2ZldGNoLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogIkRlciBcImZldGNoXCIgaW4gZGVuIGFrdHVlbGxlbiBCcmFuY2ggJXMgdm9uIGVpbmVtIG5pY2h0LUJhcmUtUmVwb3NpdG9yeSAiCiAid3VyZGUgdmVyd2VpZ2VydC4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAiT3B0aW9uIFwiJXNcIiBXZXJ0IFwiJXNcIiBpc3QgbmljaHQgZ8O8bHRpZyBmw7xyICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODYzCisjOiBidWlsdGluL2ZldGNoLmM6MTAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCiBtc2dzdHIgIk9wdGlvbiBcIiVzXCIgd2lyZCBpZ25vcmllcnQgZsO8ciAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIwCisjOiBidWlsdGluL2ZldGNoLmM6MTA3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgogbXNnc3RyICJXZWnDnyBuaWNodCB3aWUgdm9uICVzIGFuZ2Vmb3JkZXJ0IHdpcmQuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4MAorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKIG1zZ3N0ciAiRm9yZGVyZSBhbiB2b24gJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwODIgYnVpbHRpbi9yZW1vdGUuYzo5NgorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzkgYnVpbHRpbi9yZW1vdGUuYzo5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmV0Y2ggJXMiCiBtc2dzdHIgIktvbm50ZSBuaWNodCB2b24gJXMgYW5mb3JkZXJuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEwMAorIzogYnVpbHRpbi9mZXRjaC5jOjEyNTcKIG1zZ2lkICIiCiAiTm8gcmVtb3RlIHJlcG9zaXRvcnkgc3BlY2lmaWVkLiAgUGxlYXNlLCBzcGVjaWZ5IGVpdGhlciBhIFVSTCBvciBhXG4iCiAicmVtb3RlIG5hbWUgZnJvbSB3aGljaCBuZXcgcmV2aXNpb25zIHNob3VsZCBiZSBmZXRjaGVkLiIKQEAgLTY2NDUsMzUgKzc2NTQsNDMgQEAKICJvZGVyIGRlbiBOYW1lbiBkZXMgUmVtb3RlLVJlcG9zaXRvcmllcyBhbiwgdm9uIHdlbGNoZW0gbmV1ZVxuIgogIkNvbW1pdHMgYW5nZWZvcmRlcnQgd2VyZGVuIHNvbGxlbi4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTIzCisjOiBidWlsdGluL2ZldGNoLmM6MTI4MAogbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCiBtc2dzdHIgIlNpZSBtw7xzc2VuIGRlbiBOYW1lbiBkZXMgVGFncyBhbmdlYmVuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIyCittc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiTmVnYXRpdmUgVGllZmUgd2lyZCB2b24gLS1kZWVwZW4gbmljaHQgdW50ZXJzdMO8dHp0LiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEzMjQKK21zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLWRlZXBlbiB1bmQgLS1kZXB0aCBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTMyOQogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbmVuIC0tZGVwdGggdW5kIC0tdW5zaGFsbG93IGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE2NworIzogYnVpbHRpbi9mZXRjaC5jOjEzMzEKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb24gLS11bnNoYWxsb3cga2FubiBuaWNodCBpbiBlaW5lbSBSZXBvc2l0b3J5IG1pdCB1bnZvbGxzdMOkbmRpZ2VyICIKICJIaXN0b3JpZSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExODcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUzCiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCiBtc2dzdHIgImZldGNoIC0tYWxsIGFremVwdGllcnQga2VpbiBSZXBvc2l0b3J5IGFscyBBcmd1bWVudCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExODkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzU1CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICJmZXRjaCAtLWFsbCBrYW5uIG5pY2h0IG1pdCBSZWZzcGVjcyB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlIG9yIHJlbW90ZSBncm91cDogJXMiCiBtc2dzdHIgIktlaW4gUmVtb3RlLVJlcG9zaXRvcnkgKGVpbnplbG4gb2RlciBHcnVwcGUpOiAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMDgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzc0CiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICIiCiAiRGFzIEFiaG9sZW4gZWluZXIgR3J1cHBlIHZvbiBSZW1vdGUtUmVwb3NpdG9yaWVzIGthbm4gbmljaHQgbWl0IGRlciBBbmdhYmVcbiIKQEAgLTY2ODYsMjMgKzc3MDMsMjMgQEAKICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPEJlc2NocmVpYnVuZz5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlICIKICI8RGF0ZWk+XSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY3CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjMKIG1zZ2lkICJwb3B1bGF0ZSBsb2cgd2l0aCBhdCBtb3N0IDxuPiBlbnRyaWVzIGZyb20gc2hvcnRsb2ciCiBtc2dzdHIgIkhpc3RvcmllIG1pdCBow7ZjaHN0ZW5zIDxuPiBFaW50csOkZ2VuIHZvbiBcInNob3J0bG9nXCIgaGluenVmw7xnZW4iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2CiBtc2dpZCAiYWxpYXMgZm9yIC0tbG9nIChkZXByZWNhdGVkKSIKIG1zZ3N0ciAiQWxpYXMgZsO8ciAtLWxvZyAodmVyYWx0ZXQpIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzMKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2OQogbXNnaWQgInRleHQiCiBtc2dzdHIgIlRleHQiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcwCiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgogbXNnc3RyICI8VGV4dD4gYWxzIEJlc2NocmVpYnVuZ3NhbmZhbmcgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzUKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICJEYXRlaSB6dW0gRWlubGVzZW4iCiAKQEAgLTY3NjIsNjMgKzc3NzksNjMgQEAKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJudXIgUmVmZXJlbnplbiBhdXNnZWJlbiwgZGllIGRpZXNlbiBDb21taXQgZW50aGFsdGVuIgogCi0jOiBidWlsdGluL2ZzY2suYzoxNTYgYnVpbHRpbi9wcnVuZS5jOjE0MAotbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKLW1zZ3N0ciAiUHLDvGZlIEtvbm5la3Rpdml0w6R0IgotCi0jOiBidWlsdGluL2ZzY2suYzo0ODYKKyM6IGJ1aWx0aW4vZnNjay5jOjUxOQogbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiUHLDvGZlIE9iamVrdC1WZXJ6ZWljaG5pc3NlIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NTIKKyM6IGJ1aWx0aW4vZnNjay5jOjU4OAogbXNnaWQgImdpdCBmc2NrIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgImdpdCBmc2NrIFs8T3B0aW9uZW4+XSBbPE9iamVrdD4uLi5dIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NTgKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NAogbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAidW5lcnJlaWNoYmFyZSBPYmpla3RlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NTkKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NQogbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKIG1zZ3N0ciAidW5yZWZlcmVuemllcnRlIE9iamVrdGUgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MAorIzogYnVpbHRpbi9mc2NrLmM6NTk2CiBtc2dpZCAicmVwb3J0IHRhZ3MiCiBtc2dzdHIgIlRhZ3MgbWVsZGVuIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjEKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NwogbXNnaWQgInJlcG9ydCByb290IG5vZGVzIgogbXNnc3RyICJIYXVwdHd1cnplbG4gbWVsZGVuIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjIKKyM6IGJ1aWx0aW4vZnNjay5jOjU5OAogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgogbXNnc3RyICJJbmRleC1PYmpla3RlIGluIEVycmVpY2hiYXJrZWl0c3Byw7xmdW5nIGVpbmJlemllaGVuIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjMKKyM6IGJ1aWx0aW4vZnNjay5jOjU5OQogbXNnaWQgIm1ha2UgcmVmbG9ncyBoZWFkIG5vZGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiUmVmbG9ncyBpbiBFcnJlaWNoYmFya2VpdHNwcsO8ZnVuZyBlaW5iZXppZWhlbiAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjQKKyM6IGJ1aWx0aW4vZnNjay5jOjYwMAogbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgogbXNnc3RyICJlYmVuc28gUGFrZXRlIHVuZCBhbHRlcm5hdGl2ZSBPYmpla3RlIGJldHJhY2h0ZW4iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2NQorIzogYnVpbHRpbi9mc2NrLmM6NjAxCiBtc2dpZCAiY2hlY2sgb25seSBjb25uZWN0aXZpdHkiCiBtc2dzdHIgIm51ciBLb25uZWt0aXZpdMOkdCBwcsO8ZmVuIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjYKKyM6IGJ1aWx0aW4vZnNjay5jOjYwMgogbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKIG1zZ3N0ciAiZ2VuYXVlcmUgUHLDvGZ1bmcgYWt0aXZpZXJlbiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY4CisjOiBidWlsdGluL2ZzY2suYzo2MDQKIG1zZ2lkICJ3cml0ZSBkYW5nbGluZyBvYmplY3RzIGluIC5naXQvbG9zdC1mb3VuZCIKIG1zZ3N0ciAidW5yZWZlcmVuemllcnRlIE9iamVrdGUgbmFjaCAuZ2l0L2xvc3QtZm91bmQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjkgYnVpbHRpbi9wcnVuZS5jOjEwNworIzogYnVpbHRpbi9mc2NrLmM6NjA1IGJ1aWx0aW4vcHJ1bmUuYzoxMDcKIG1zZ2lkICJzaG93IHByb2dyZXNzIgogbXNnc3RyICJGb3J0c2Nocml0dHNhbnplaWdlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MzAKKyM6IGJ1aWx0aW4vZnNjay5jOjYwNgorbXNnaWQgInNob3cgdmVyYm9zZSBuYW1lcyBmb3IgcmVhY2hhYmxlIG9iamVjdHMiCittc2dzdHIgImF1c2bDvGhybGljaGUgTmFtZW4gZsO8ciBlcnJlaWNoYmFyZSBPYmpla3RlIGFuemVpZ2VuIgorCisjOiBidWlsdGluL2ZzY2suYzo2NjUKIG1zZ2lkICJDaGVja2luZyBvYmplY3RzIgogbXNnc3RyICJQcsO8ZmUgT2JqZWt0ZSIKIApAQCAtNjkxOCwyMzYgKzc5MzUsMjMxIEBACiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSBmb3IgJXMiCiBtc2dzdHIgInVuZ8O8bHRpZ2UgQW56YWhsIHZvbiBUaHJlYWRzICglZCkgZsO8ciAlcyBhbmdlZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ1MiBidWlsdGluL2dyZXAuYzo0ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ1MyBidWlsdGluL2dyZXAuYzo0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICJrb25udGUgXCJUcmVlXCItT2JqZWt0ICglcykgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjUwMgorIzogYnVpbHRpbi9ncmVwLmM6NTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCiBtc2dzdHIgImthbm4gXCJncmVwXCIgbmljaHQgbWl0IE9iamVrdGVuIGRlcyBUeXBzICVzIGR1cmNoZsO8aHJlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTYwCisjOiBidWlsdGluL2dyZXAuYzo1NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAiU2NoYWx0ZXIgJyVjJyBlcndhcnRldCBlaW5lbiBudW1lcmlzY2hlbiBXZXJ0IgogCi0jOiBidWlsdGluL2dyZXAuYzo1NzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKLW1zZ3N0ciAia2FubiAnJXMnIG5pY2h0IMO2ZmZuZW4iCi0KLSM6IGJ1aWx0aW4vZ3JlcC5jOjY0NgorIzogYnVpbHRpbi9ncmVwLmM6NjQ3CiBtc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAiaW0gSW5kZXggYW5zdGF0dCBpbSBBcmJlaXRzdmVyemVpY2huaXMgc3VjaGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NDgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY0OQogbXNnaWQgImZpbmQgaW4gY29udGVudHMgbm90IG1hbmFnZWQgYnkgZ2l0IgogbXNnc3RyICJhdWNoIGluIEluaGFsdGVuIGZpbmRlbiwgZGllIG5pY2h0IHZvbiBHaXQgdmVyd2FsdGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjUwCisjOiBidWlsdGluL2dyZXAuYzo2NTEKIG1zZ2lkICJzZWFyY2ggaW4gYm90aCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgImluIHZlcnNpb25pZXJ0ZW4gdW5kIHVudmVyc2lvbmllcnRlbiBEYXRlaWVuIHN1Y2hlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjUyCisjOiBidWlsdGluL2dyZXAuYzo2NTMKIG1zZ2lkICJpZ25vcmUgZmlsZXMgc3BlY2lmaWVkIHZpYSAnLmdpdGlnbm9yZSciCiBtc2dzdHIgIkRhdGVpZW4sIGRpZSDDvGJlciAnLmdpdGlnbm9yZScgYW5nZWdlYmVuIHNpbmQsIGlnbm9yaWVyZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1NQorIzogYnVpbHRpbi9ncmVwLmM6NjU2CiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIlplaWxlbiBvaG5lIMOcYmVyZWluc3RpbW11bmdlbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU3CisjOiBidWlsdGluL2dyZXAuYzo2NTgKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgogbXNnc3RyICLDnGJlcmVpbnN0aW1tdW5nZW4gdW5hYmjDpG5naWcgdm9uIEdyb8OfLSB1bmQgS2xlaW5zY2hyZWlidW5nIGZpbmRlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU5CisjOiBidWlsdGluL2dyZXAuYzo2NjAKIG1zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKIG1zZ3N0ciAibnVyIGdhbnplIFfDtnJ0ZXIgc3VjaGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2MgogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIHRleHQiCiBtc2dzdHIgImJpbsOkcmUgRGF0ZWllbiBhbHMgVGV4dCB2ZXJhcmJlaXRlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjYzCisjOiBidWlsdGluL2dyZXAuYzo2NjQKIG1zZ2lkICJkb24ndCBtYXRjaCBwYXR0ZXJucyBpbiBiaW5hcnkgZmlsZXMiCiBtc2dzdHIgImtlaW5lIE11c3RlciBpbiBCaW7DpHJkYXRlaWVuIGZpbmRlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY2CisjOiBidWlsdGluL2dyZXAuYzo2NjcKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCiBtc2dzdHIgImJpbsOkcmUgRGF0ZWllbiBtaXQgXCJ0ZXh0Y29udlwiLUZpbHRlcm4gdmVyYXJiZWl0ZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2OAorIzogYnVpbHRpbi9ncmVwLmM6NjY5CiBtc2dpZCAiZGVzY2VuZCBhdCBtb3N0IDxkZXB0aD4gbGV2ZWxzIgogbXNnc3RyICJow7ZjaHN0ZW5zIDxUaWVmZT4gRWJlbmVuIGR1cmNobGF1ZmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3MwogbXNnaWQgInVzZSBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJlcndlaXRlcnRlIHJlZ3Vsw6RyZSBBdXNkcsO8Y2tlIGF1cyBQT1NJWCB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3NQorIzogYnVpbHRpbi9ncmVwLmM6Njc2CiBtc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgogbXNnc3RyICJncnVuZGxlZ2VuZGUgcmVndWzDpHJlIEF1c2Ryw7xja2UgYXVzIFBPU0lYIHZlcndlbmRlbiAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3OQogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICJNdXN0ZXIgYWxzIGZlc3RlIFplaWNoZW5rZXR0ZW4gaW50ZXJwcmV0aWVyZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4MQorIzogYnVpbHRpbi9ncmVwLmM6NjgyCiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJQZXJsLWtvbXBhdGlibGUgcmVndWzDpHJlIEF1c2Ryw7xja2UgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NQogbXNnaWQgInNob3cgbGluZSBudW1iZXJzIgogbXNnc3RyICJaZWlsZW5udW1tZXJuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NgogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJrZWluZSBEYXRlaW5hbWVuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NwogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJEYXRlaW5hbWVuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4OQogbXNnaWQgInNob3cgZmlsZW5hbWVzIHJlbGF0aXZlIHRvIHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgIkRhdGVpbmFtZW4gcmVsYXRpdiB6dW0gUHJvamVrdHZlcnplaWNobmlzIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MQogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAibnVyIERhdGVpbmFtZW4gYW56ZWlnZW4gYW5zdGF0dCDDvGJlcmVpbnN0aW1tZW5kZSBaZWlsZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5MgorIzogYnVpbHRpbi9ncmVwLmM6NjkzCiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgIlN5bm9ueW0gZsO8ciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk1CisjOiBidWlsdGluL2dyZXAuYzo2OTYKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgIm51ciBkaWUgRGF0ZWluYW1lbiBvaG5lIMOcYmVyZWluc3RpbW11bmdlbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk3CisjOiBidWlsdGluL2dyZXAuYzo2OTgKIG1zZ2lkICJwcmludCBOVUwgYWZ0ZXIgZmlsZW5hbWVzIgogbXNnc3RyICJOVUwtWmVpY2hlbiBuYWNoIERhdGVpbmFtZW4gYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5OQorIzogYnVpbHRpbi9ncmVwLmM6NzAwCiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiYW5zdGF0dCBkZXIgWmVpbGVuLCBkaWUgQW56YWhsIGRlciDDvGJlcmVpbnN0aW1tZW5kZW4gWmVpbGVuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMQogbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgogbXNnc3RyICLDnGJlcmVpbnN0aW1tdW5nZW4gaGVydm9yaGViZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwMgorIzogYnVpbHRpbi9ncmVwLmM6NzAzCiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgIiIKICJlaW5lIExlZXJ6ZWlsZSB6d2lzY2hlbiDDnGJlcmVpbnN0aW1tdW5nZW4gaW4gdmVyc2NoaWVkZW5lbiBEYXRlaWVuIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwNQogbXNnaWQgInNob3cgZmlsZW5hbWUgb25seSBvbmNlIGFib3ZlIG1hdGNoZXMgZnJvbSBzYW1lIGZpbGUiCiBtc2dzdHIgIiIKICJkZW4gRGF0ZWluYW1lbiBudXIgZWlubWFsIG9iZXJoYWxiIGRlciDDnGJlcmVpbnN0aW1tdW5nZW4gYXVzIGRpZXNlciBEYXRlaSAiCiAiYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNworIzogYnVpbHRpbi9ncmVwLmM6NzA4CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIjxuPiBaZWlsZW4gdm9yIHVuZCBuYWNoIGRlbiDDnGJlcmVpbnN0aW1tdW5nZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMAorIzogYnVpbHRpbi9ncmVwLmM6NzExCiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAiPG4+IFplaWxlbiB2b3IgZGVuIMOcYmVyZWluc3RpbW11bmdlbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEyCisjOiBidWlsdGluL2dyZXAuYzo3MTMKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIjxuPiBaZWlsZW4gbmFjaCBkZW4gw5xiZXJlaW5zdGltbXVuZ2VuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNQogbXNnaWQgInVzZSA8bj4gd29ya2VyIHRocmVhZHMiCiBtc2dzdHIgIjxuPiBUaHJlYWRzIGJlbnV0emVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNgogbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCiBtc2dzdHIgIkt1cnpmb3JtIGbDvHIgLUMgTlVNIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxOQogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgImVpbmUgWmVpbGUgbWl0IGRlbSBGdW5rdGlvbnNuYW1lbiB2b3Igw5xiZXJlaW5zdGltbXVuZ2VuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcyMQogbXNnaWQgInNob3cgdGhlIHN1cnJvdW5kaW5nIGZ1bmN0aW9uIgogbXNnc3RyICJkaWUgdW1nZWJlbmRlIEZ1bmt0aW9uIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MjMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcyNAogbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBmaWxlIgogbXNnc3RyICJNdXN0ZXIgdm9uIGVpbmVyIERhdGVpIGxlc2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MjUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcyNgogbXNnaWQgIm1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiPE11c3Rlcj4gZmluZGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MjcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcyOAogbXNnaWQgImNvbWJpbmUgcGF0dGVybnMgc3BlY2lmaWVkIHdpdGggLWUiCiBtc2dzdHIgIk11c3RlciBrb21iaW5pZXJlbiwgZGllIG1pdCAtZSBhbmdlZ2ViZW4gd3VyZGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MAogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICLDnGJlcmVpbnN0aW1tdW5nZW4gbnVyIGR1cmNoIEJlZW5kaWd1bmdzc3RhdHVzIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MgogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgIiIKICJudXIgw5xiZXJlaW5zdGltbXVuZ2VuIHZvbiBEYXRlaWVuIGFuemVpZ2VuLCBkaWUgYWxsZW4gTXVzdGVybiBlbnRzcHJlY2hlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQzCisjOiBidWlsdGluL2dyZXAuYzo3NDQKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiZ2VwYXJzdGVzIFZlcnplaWNobmlzIGbDvHIgXCJncmVwXCItQXVzZHJ1Y2sgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0NworIzogYnVpbHRpbi9ncmVwLmM6NzQ4CiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgIkFuemVpZ2Vwcm9ncmFtbSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQ3CisjOiBidWlsdGluL2dyZXAuYzo3NDgKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAiRGF0ZWllbiBtaXQgw5xiZXJlaW5zdGltbXVuZ2VuIGltIEFuemVpZ2Vwcm9ncmFtbSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzUwCisjOiBidWlsdGluL2dyZXAuYzo3NTEKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgImRlbiBBdWZydWYgdm9uIGdyZXAoMSkgZXJsYXViZW4gKHZvbiBkaWVzZXIgUHJvZ3JhbW12ZXJzaW9uIGlnbm9yaWVydCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxMworIzogYnVpbHRpbi9ncmVwLmM6ODE0CiBtc2dpZCAibm8gcGF0dGVybiBnaXZlbi4iCiBtc2dzdHIgImtlaW5lIE11c3RlciBhbmdlZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0NSBidWlsdGluL2luZGV4LXBhY2suYzoxNDc3CisjOiBidWlsdGluL2dyZXAuYzo4NDYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIgogbXNnc3RyICJ1bmfDvGx0aWdlIEFuemFobCB2b24gVGhyZWFkcyBhbmdlZ2ViZW4gKCVkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc1CisjOiBidWlsdGluL2dyZXAuYzo4NzYKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uIC0tb3Blbi1maWxlcy1pbi1wYWdlciBrYW5uIG51ciBpbm5lcmhhbGIgZGVzICIKICJBcmJlaXRzdmVyemVpY2huaXNzZXMgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwMQorIzogYnVpbHRpbi9ncmVwLmM6OTAyCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtLWNhY2hlZCB1bmQgLS11bnRyYWNrZWQga8O2bm5lbiBuaWNodCBtaXQgLS1uby1pbmRleCB2ZXJ3ZW5kZXQgIgogIndlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwNgorIzogYnVpbHRpbi9ncmVwLmM6OTA3CiBtc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMuIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbmVuIC0tbm8taW5kZXggdW5kIC0tdW50cmFja2VkIGvDtm5uZW4gbmljaHQgbWl0IENvbW1pdHMgdmVyd2VuZGV0ICIKICJ3ZXJkZW4uIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxMAogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb24gLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQga2FubiBuaWNodCBtaXQgdmVyc2lvbmllcnRlbiBJbmhhbHRlbiAiCiAidmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkxNworIzogYnVpbHRpbi9ncmVwLmM6OTE4CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuLiIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWNhY2hlZCBrYW5uIG5pY2h0IG1pdCBcIlRyZWVcIi1PYmpla3RlbiB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIApAQCAtNzE2Myw4NSArODE3NSw4OSBAQAogbXNnaWQgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIG1zZ3N0ciAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTMKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NAogbXNnaWQgInR5cGUiCiBtc2dzdHIgIkFydCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjkzCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTQKIG1zZ2lkICJvYmplY3QgdHlwZSIKIG1zZ3N0ciAiQXJ0IGRlcyBPYmpla3RlcyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAiZGFzIE9iamVrdCBpbiBkaWUgT2JqZWt0ZGF0ZW5iYW5rIHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk2CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKIG1zZ2lkICJyZWFkIHRoZSBvYmplY3QgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiZGFzIE9iamVrdCB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CiBtc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCiBtc2dzdHIgIkRhdGVpIHdpZSBzaWUgaXN0IHNwZWljaGVybiwgb2huZSBGaWx0ZXIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAogbXNnaWQgIiIKICJqdXN0IGhhc2ggYW55IHJhbmRvbSBnYXJiYWdlIHRvIGNyZWF0ZSBjb3JydXB0IG9iamVjdHMgZm9yIGRlYnVnZ2luZyBHaXQiCiBtc2dzdHIgIiIKICJIYXNoIMO8YmVyIHp1ZsOkbGxpZ2UgRGF0ZW4sIHp1ciBFcnpldWd1bmcgdm9uIGJlc2Now6RkaWd0ZW4gT2JqZWt0ZW4genVyXG4iCiAiRmVobGVyc3VjaGUgaW4gR2l0LCBlcnpldWdlbiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQogbXNnaWQgInByb2Nlc3MgZmlsZSBhcyBpdCB3ZXJlIGZyb20gdGhpcyBwYXRoIgogbXNnc3RyICJEYXRlaSB2ZXJhcmJlaXRlbiwgYWxzIG9iIHNpZSB2b24gZGllc2VtIFBmYWQgd8OkcmUiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxCisjOiBidWlsdGluL2hlbHAuYzo0MgogbXNnaWQgInByaW50IGFsbCBhdmFpbGFibGUgY29tbWFuZHMiCiBtc2dzdHIgImFsbGUgdm9yaGFuZGVuZW4gQmVmZWhsZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDIKKyM6IGJ1aWx0aW4vaGVscC5jOjQzCittc2dpZCAiZXhjbHVkZSBndWlkZXMiCittc2dzdHIgIkFubGVpdHVuZ2VuIGF1c3NjaGxpZcOfZW4iCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0CiBtc2dpZCAicHJpbnQgbGlzdCBvZiB1c2VmdWwgZ3VpZGVzIgogbXNnc3RyICJMaXN0ZSB2b24gYWxsZ2VtZWluIHZlcndlbmRldGVuIEFubGVpdHVuZ2VuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MworIzogYnVpbHRpbi9oZWxwLmM6NDUKIG1zZ2lkICJzaG93IG1hbiBwYWdlIgogbXNnc3RyICJIYW5kYnVjaCBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2CiBtc2dpZCAic2hvdyBtYW51YWwgaW4gd2ViIGJyb3dzZXIiCiBtc2dzdHIgIkhhbmRidWNoIGluIGVpbmVtIFdlYmJyb3dzZXIgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ2CisjOiBidWlsdGluL2hlbHAuYzo0OAogbXNnaWQgInNob3cgaW5mbyBwYWdlIgogbXNnc3RyICJJbmZvLVNlaXRlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2hlbHAuYzo1MgorIzogYnVpbHRpbi9oZWxwLmM6NTQKIG1zZ2lkICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8Y29tbWFuZD5dIgogbXNnc3RyICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8QmVmZWhsPl0iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjY0CisjOiBidWlsdGluL2hlbHAuYzo2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVscCBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAibmljaHQgZXJrYW5udGVzIEhpbGZlZm9ybWF0OiAlcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6OTEKKyM6IGJ1aWx0aW4vaGVscC5jOjkzCiBtc2dpZCAiRmFpbGVkIHRvIHN0YXJ0IGVtYWNzY2xpZW50LiIKIG1zZ3N0ciAiS29ubnRlIGVtYWNzY2xpZW50IG5pY2h0IHN0YXJ0ZW4uIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMDQKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNgogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbWFjc2NsaWVudCB2ZXJzaW9uLiIKIG1zZ3N0ciAiS29ubnRlIFZlcnNpb24gZGVzIGVtYWNzY2xpZW50IG5pY2h0IHBhcnNlbi4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjExMgorIzogYnVpbHRpbi9oZWxwLmM6MTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImVtYWNzY2xpZW50IHZlcnNpb24gJyVkJyB0b28gb2xkICg8IDIyKS4iCiBtc2dzdHIgIlZlcnNpb24gZGVzIGVtYWNzY2xpZW50ICclZCcgaXN0IHp1IGFsdCAoPCAyMikuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzAgYnVpbHRpbi9oZWxwLmM6MTUxIGJ1aWx0aW4vaGVscC5jOjE2MCBidWlsdGluL2hlbHAuYzoxNjgKKyM6IGJ1aWx0aW4vaGVscC5jOjEzMiBidWlsdGluL2hlbHAuYzoxNTMgYnVpbHRpbi9oZWxwLmM6MTYyIGJ1aWx0aW4vaGVscC5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBBdXNmw7xocmVuIHZvbiAnJXMnIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMDUKKyM6IGJ1aWx0aW4vaGVscC5jOjIwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogcGF0aCBmb3IgdW5zdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTcyNTAsNyArODI2Niw3IEBACiAiJyVzJzogUGZhZCBmw7xyIG5pY2h0IHVudGVyc3TDvHR6dGVuIEhhbmRidWNoYmV0cmFjaHRlci5cbiIKICJTaWUga8O2bm50ZW4gc3RhdHRkZXNzZW4gJ21hbi48V2Vya3pldWc+LmNtZCcgYmVudXR6ZW4uIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMTcKKyM6IGJ1aWx0aW4vaGVscC5jOjIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogY21kIGZvciBzdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTcyNTksNDMyICs4Mjc1LDQzMiBAQAogIiclcyc6IFByb2dyYW1tIGbDvHIgdW50ZXJzdMO8dHp0ZW4gSGFuZGJ1Y2hiZXRyYWNodGVyLlxuIgogIlNpZSBrw7ZubnRlbiBzdGF0dGRlc3NlbiAnbWFuLjxXZXJremV1Zz4ucGF0aCcgYmVudXR6ZW4uIgogCi0jOiBidWlsdGluL2hlbHAuYzozMzQKKyM6IGJ1aWx0aW4vaGVscC5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmtub3duIG1hbiB2aWV3ZXIuIgogbXNnc3RyICInJXMnOiB1bmJla2FubnRlciBIYW5kYnVjaC1CZXRyYWNodGVyLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzUxCisjOiBidWlsdGluL2hlbHAuYzozNTMKIG1zZ2lkICJubyBtYW4gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgImtlaW4gSGFuZGJ1Y2gtQmV0cmFjaHRlciBrb25udGUgbWl0IGRpZXNlciBBbmZyYWdlIHVtZ2VoZW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM1OQorIzogYnVpbHRpbi9oZWxwLmM6MzYxCiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAia2VpbiBJbmZvcm1hdGlvbnMtQmV0cmFjaHRlciBrb25udGUgbWl0IGRpZXNlciBBbmZyYWdlIHVtZ2VoZW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwOAorIzogYnVpbHRpbi9oZWxwLmM6NDAzCiBtc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKIG1zZ3N0ciAiRGVmaW5pdGlvbiB2b24gQXR0cmlidXRlbiBwcm8gUGZhZCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA5CisjOiBidWlsdGluL2hlbHAuYzo0MDQKIG1zZ2lkICJFdmVyeWRheSBHaXQgV2l0aCAyMCBDb21tYW5kcyBPciBTbyIKIG1zZ3N0ciAiVMOkZ2xpY2hlIEJlbnV0enVuZyB2b24gR2l0IG1pdCB1bmdlZsOkaHIgMjAgQmVmZWhsZW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMAorIzogYnVpbHRpbi9oZWxwLmM6NDA1CiBtc2dpZCAiQSBHaXQgZ2xvc3NhcnkiCiBtc2dzdHIgIkVpbiBHaXQtR2xvc3NhciIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDExCisjOiBidWlsdGluL2hlbHAuYzo0MDYKIG1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgogbXNnc3RyICJTcGV6aWZpa2F0aW9uIHZvbiBiZXd1c3N0IGlnbm9yaWVydGVuLCB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDEyCisjOiBidWlsdGluL2hlbHAuYzo0MDcKIG1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKIG1zZ3N0ciAiRGVmaW5pdGlvbiB2b24gU3VibW9kdWwtRWlnZW5zY2hhZnRlbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDEzCisjOiBidWlsdGluL2hlbHAuYzo0MDgKIG1zZ2lkICJTcGVjaWZ5aW5nIHJldmlzaW9ucyBhbmQgcmFuZ2VzIGZvciBHaXQiCiBtc2dzdHIgIlNwZXppZmlrYXRpb24gdm9uIENvbW1pdHMgdW5kIEJlcmVpY2hlbiBmw7xyIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDE0CisjOiBidWlsdGluL2hlbHAuYzo0MDkKIG1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQgKGZvciB2ZXJzaW9uIDEuNS4xIG9yIG5ld2VyKSIKIG1zZ3N0ciAiRWluZSBlaW5mw7xocmVuZGUgQW5sZWl0dW5nIHp1IEdpdCAoZsO8ciBWZXJzaW9uIDEuNS4xIG9kZXIgbmV1ZXIpIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTUKKyM6IGJ1aWx0aW4vaGVscC5jOjQxMAogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKIG1zZ3N0ciAiRWluZSDDnGJlcnNpY2h0IMO8YmVyIGVtcGZvaGxlbmUgQXJiZWl0c2FibMOkdWZlIG1pdCBHaXQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyNworIzogYnVpbHRpbi9oZWxwLmM6NDIyCiBtc2dpZCAiVGhlIGNvbW1vbiBHaXQgZ3VpZGVzIGFyZTpcbiIKIG1zZ3N0ciAiRGllIGFsbGdlbWVpbiB2ZXJ3ZW5kZXRlbiBHaXQtQW5sZWl0dW5nZW4gc2luZDpcbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQ4IGJ1aWx0aW4vaGVscC5jOjQ2NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1c2FnZTogJXMlcyIKLW1zZ3N0ciAiVmVyd2VuZHVuZzogJXMlcyIKLQotIzogYnVpbHRpbi9oZWxwLmM6NDgxCisjOiBidWlsdGluL2hlbHAuYzo0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYGdpdCAlcycgaXMgYWxpYXNlZCB0byBgJXMnIgogbXNnc3RyICJmw7xyIGBnaXQgJXMnIHd1cmRlIGRlciBBbGlhcyBgJXMnIGFuZ2VsZWd0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTIKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2MiBidWlsdGluL2hlbHAuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNhZ2U6ICVzJXMiCittc2dzdHIgIlZlcndlbmR1bmc6ICVzJXMiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKIG1zZ3N0ciAia2FubiAlcyBuaWNodCDDtmZmbmVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgdHlwZSBtaXNtYXRjaCBhdCAlcyIKIG1zZ3N0ciAiT2JqZWt0LVR5cGVuIHBhc3NlbiBiZWkgJXMgbmljaHQgenVzYW1tZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImRpZCBub3QgcmVjZWl2ZSBleHBlY3RlZCBvYmplY3QgJXMiCiBtc2dzdHIgImtvbm50ZSBlcndhcnRldGVzIE9iamVrdCAlcyBuaWNodCBlbXBmYW5nZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlczogZXhwZWN0ZWQgdHlwZSAlcywgZm91bmQgJXMiCiBtc2dzdHIgIk9iamVrdCAlczogZXJ3YXJ0ZXRlciBUeXAgJXMsICVzIGdlZnVuZGVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmlsbCAlZCBieXRlIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgZmlsbCAlZCBieXRlcyIKIG1zZ3N0clswXSAia2FubiAlZCBCeXRlIG5pY2h0IGxlc2VuIgogbXNnc3RyWzFdICJrYW5uICVkIEJ5dGVzIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3OQogbXNnaWQgImVhcmx5IEVPRiIKIG1zZ3N0ciAienUgZnLDvGhlcyBEYXRlaWVuZGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgwCiBtc2dpZCAicmVhZCBlcnJvciBvbiBpbnB1dCIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gTGVzZW4gZGVyIEVpbmdhYmUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkyCiBtc2dpZCAidXNlZCBtb3JlIGJ5dGVzIHRoYW4gd2VyZSBhdmFpbGFibGUiCiBtc2dzdHIgInZlcndlbmRldGUgbWVociBCeXRlcyBhbHMgdmVyZsO8Z2JhciB3YXJlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjk3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTkKIG1zZ2lkICJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IgogbXNnc3RyICJQYWtldCBpc3QgenUgZ3Jvw58gZsO8ciBkaWUgYWt0dWVsbGUgRGVmaW5pdGlvbiB2b24gb2ZmX3QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAyIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5MgorbXNnaWQgInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIKK21zZ3N0ciAiUGFrZXQgw7xiZXJzY2hyZWl0ZXQgZGllIG1heGltYWwgZXJsYXVidGUgR3LDtsOfZSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAia29ubnRlICclcycgbmljaHQgZXJzdGVsbGVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrZmlsZSAnJXMnIgogbXNnc3RyICJLYW5uIFBha2V0ZGF0ZWkgJyVzJyBuaWNodCDDtmZmbmVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMzIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzNgogbXNnaWQgInBhY2sgc2lnbmF0dXJlIG1pc21hdGNoIgogbXNnc3RyICJQYWtldHNpZ25hdHVyIHN0aW1tdCBuaWNodCDDvGJlcmVpbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayB2ZXJzaW9uICU8UFJJdTMyPiB1bnN1cHBvcnRlZCIKIG1zZ3N0ciAiUGFrZXR2ZXJzaW9uICU8UFJJdTMyPiBuaWNodCB1bnRlcnN0w7x0enQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM1MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzU2CiAjLCBjLWZvcm1hdAotbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICVsdTogJXMiCi1tc2dzdHIgIlBha2V0IGhhdCBlaW4gdW5nw7xsdGlnZXMgT2JqZWt0IGJlaSBWZXJzYXR6ICVsdTogJXMiCittc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCittc2dzdHIgIlBha2V0IGhhdCBlaW4gdW5nw7xsdGlnZXMgT2JqZWt0IGJlaSBWZXJzYXR6ICU8UFJJdU1BWD46ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo0NzMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZsYXRlIHJldHVybmVkICVkIgogbXNnc3RyICJEZWtvbXByaW1pZXJ1bmcgZ2FiICVkIHp1csO8Y2siCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTI3CiBtc2dpZCAib2Zmc2V0IHZhbHVlIG92ZXJmbG93IGZvciBkZWx0YSBiYXNlIG9iamVjdCIKIG1zZ3N0ciAiV2VydCBmw7xyIFZlcnNhdHogYmVpIERpZmZlcmVuem9iamVrdCDDvGJlcmdlbGF1ZmVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzNQogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKIG1zZ3N0ciAiIgogIldlcnQgZsO8ciBWZXJzYXR6IGJlaSBEaWZmZXJlbnpvYmpla3QgbGllZ3QgYXXDn2VyaGFsYiBkZXMgZ8O8bHRpZ2VuIEJlcmVpY2hzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgogbXNnc3RyICJVbmJla2FubnRlciBPYmpla3QtVHlwICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NAogbXNnaWQgImNhbm5vdCBwcmVhZCBwYWNrIGZpbGUiCiBtc2dzdHIgIkthbm4gUGFrZXRkYXRlaSAlcyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTcxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzYKICMsIGMtZm9ybWF0Ci1tc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICVsdSBieXRlIG1pc3NpbmciCi1tc2dpZF9wbHVyYWwgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlbHUgYnl0ZXMgbWlzc2luZyIKLW1zZ3N0clswXSAiZnLDvGh6ZWl0aWdlcyBFbmRlIGRlciBQYWtldGRhdGVpLCB2ZXJtaXNzZSAlbHUgQnl0ZSIKLW1zZ3N0clsxXSAiZnLDvGh6ZWl0aWdlcyBFbmRlIGRlciBQYWtldGRhdGVpLCB2ZXJtaXNzZSAlbHUgQnl0ZXMiCittc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgorbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgorbXNnc3RyWzBdICJmcsO8aHplaXRpZ2VzIEVuZGUgZGVyIFBha2V0ZGF0ZWksIHZlcm1pc3NlICU8UFJJdU1BWD4gQnl0ZSIKK21zZ3N0clsxXSAiZnLDvGh6ZWl0aWdlcyBFbmRlIGRlciBQYWtldGRhdGVpLCB2ZXJtaXNzZSAlPFBSSXVNQVg+IEJ5dGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1OTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjYwMgogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgogbXNnc3RyICJlcm5zdGhhZnRlIElua29uc2lzdGVueiBuYWNoIERla29tcHJpbWllcnVuZyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0OSBidWlsdGluL2luZGV4LXBhY2suYzo3NzIKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwNiBidWlsdGluL2luZGV4LXBhY2suYzo4MTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0OCBidWlsdGluL2luZGV4LXBhY2suYzo3NTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6Nzc3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTEgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKIG1zZ3N0ciAiU0hBMSBLT0xMSVNJT04gTUlUICVzIEdFRlVOREVOICEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2MgotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1MSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgImthbm4gJXMgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCAlcyIKIG1zZ3N0ciAiS2FubiBleGlzdGllcmVuZGVzIE9iamVrdCAlcyBuaWNodCBsZXNlbi4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCiBtc2dzdHIgInVuZ8O8bHRpZ2VzIEJsb2ItT2JqZWt0ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBPYmpla3QtVHlwICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0OAogbXNnaWQgIkVycm9yIGluIG9iamVjdCIKIG1zZ3N0ciAiRmVobGVyIGluIE9iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCiBtc2dzdHIgIk5pY2h0IGFsbGUgS2luZC1PYmpla3RlIHZvbiAlcyBzaW5kIGVycmVpY2hiYXIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxNyBidWlsdGluL2luZGV4LXBhY2suYzo5NDgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkyMiBidWlsdGluL2luZGV4LXBhY2suYzo5NTMKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgIktvbm50ZSBEYXRlaXVudGVyc2NoaWVkIG5pY2h0IGFud2VuZGVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTIzCiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIkVtcGZhbmdlIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjMKIG1zZ2lkICJJbmRleGluZyBvYmplY3RzIgogbXNnc3RyICJJbmRpemllcmUgT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NQogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAiUGFrZXQgaXN0IGJlc2Now6RkaWd0IChTSEExIHVudGVyc2NoaWVkbGljaCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjAKIG1zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCiBtc2dzdHIgImthbm4gUGFrZXRkYXRlaSBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MwogbXNnaWQgInBhY2sgaGFzIGp1bmsgYXQgdGhlIGVuZCIKIG1zZ3N0ciAiUGFrZXRlbmRlIGVudGjDpGx0IG5pY2h0IHZlcndlbmRiYXJlbiBJbmhhbHQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzQKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogbXNnc3RyICJGZWhsZXIgYmVpbSBBdXNmw7xocmVuIHZvbiBcInBhcnNlX3BhY2tfb2JqZWN0cygpXCIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTcKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICJMw7ZzZSBVbnRlcnNjaGllZGUgYXVmIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAia2FubiBUaHJlYWQgbmljaHQgZXJ6ZXVnZW46ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUwCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gQXVmbMO2c2VuIGRlciBVbnRlcnNjaGllZGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgogbXNnc3RyWzBdICJhYmdlc2NobG9zc2VuIG1pdCAlZCBsb2thbGVtIE9iamVrdCIKIG1zZ3N0clsxXSAiYWJnZXNjaGxvc3NlbiBtaXQgJWQgbG9rYWxlbiBPYmpla3RlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHRhaWwgY2hlY2tzdW0gZm9yICVzIChkaXNrIGNvcnJ1cHRpb24/KSIKIG1zZ3N0ciAiVW5lcndhcnRldGUgUHLDvGZzdW1tZSBmw7xyICVzIChGZXN0cGxhdHRlbmZlaGxlcj8pIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGEiCiBtc2dpZF9wbHVyYWwgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGFzIgogbXNnc3RyWzBdICJQYWtldCBoYXQgJWQgdW5hdWZnZWzDtnN0ZSBVbnRlcnNjaGllZCIKIG1zZ3N0clsxXSAiUGFrZXQgaGF0ICVkIHVuYXVmZ2Vsw7ZzdGUgVW50ZXJzY2hpZWRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjkzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIGFwcGVuZGVkIG9iamVjdCAoJWQpIgogbXNnc3RyICJLb25udGUgYW5nZWjDpG5ndGVzIE9iamVrdCAoJWQpIG5pY2h0IGtvbXByaW1pZXJlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAibG9rYWxlcyBPYmpla3QgJXMgaXN0IGJlc2Now6RkaWd0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzkzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzk2CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgIkZlaGxlciBiZWltIFNjaGxpZcOfZW4gZGVyIFBha2V0ZGF0ZWkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICJLYW5uIFBha2V0YmVzY2hyZWlidW5nc2RhdGVpICclcycgbmljaHQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDE0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICJLYW5uIGViZW4gZXJzdGVsbHRlIFBha2V0YmVzY2hyZWlidW5nc2RhdGVpICclcycgbmljaHQgc2NobGllw59lbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzMAogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgIkthbm4gUGFrZXRkYXRlaSBuaWNodCBzcGVpY2hlcm4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NDEKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgaW5kZXggZmlsZSIKIG1zZ3N0ciAiS2FubiBJbmRleGRhdGVpIG5pY2h0IHNwZWljaGVybiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICJcInBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPlwiIGlzdCB1bmfDvGx0aWciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODEgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY3OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4NCBidWlsdGluL2luZGV4LXBhY2suYzoxNjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCiBtc2dzdHIgImtlaW5lIFVudGVyc3TDvHR6dW5nIHZvbiBUaHJlYWRzLCAnJXMnIHdpcmQgaWdub3JpZXJ0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgZmlsZSAnJXMnIgogbXNnc3RyICJLYW5uIGV4aXN0aWVyZW5kZSBQYWtldGRhdGVpICclcycgbmljaHQgw7ZmZm5lbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGlkeCBmaWxlIGZvciAnJXMnIgogbXNnc3RyICJLYW5uIGV4aXN0aWVyZW5kZSBJbmRleGRhdGVpIGbDvHIgUGFrZXQgJyVzJyBuaWNodCDDtmZmbmVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTg5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vbiBkZWx0YTogJWQgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJub24gZGVsdGE6ICVkIG9iamVjdHMiCiBtc2dzdHJbMF0gImtlaW4gVW50ZXJzY2hpZWQ6ICVkIE9iamVrdCIKIG1zZ3N0clsxXSAia2VpbiBVbnRlcnNjaGllZDogJWQgT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3RzIgogbXNnc3RyWzBdICJMw6RuZ2UgZGVyIE9iamVrdC1MaXN0ZSA9ICVkOiAlbHUgT2JqZWt0IgogbXNnc3RyWzFdICJMw6RuZ2UgZGVyIE9iamVrdC1MaXN0ZSA9ICVkOiAlbHUgT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAiTmFtZSBkZXIgUGFrZXRkYXRlaSAnJXMnIGVuZGV0IG5pY2h0IG1pdCAnLnBhY2snIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjM4Ci1tc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCi1tc2dzdHIgIkthbm4gbmljaHQgenVyw7xjayB6dSBBcmJlaXRzdmVyemVpY2huaXMgd2VjaHNlbG4iCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTAgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5MwotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwNSBidWlsdGluL2luZGV4LXBhY2suYzoxNzA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjkzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgIiVzIGlzdCB1bmfDvGx0aWciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MzIKIG1zZ2lkICItLWZpeC10aGluIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgLS1zdGRpbiIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWZpeC10aGluIGthbm4gbmljaHQgb2huZSAtLXN0ZGluIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQwCiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tdmVyaWZ5IHd1cmRlIG9obmUgTmFtZW4gZGVyIFBha2V0ZGF0ZWkgYW5nZWdlYmVuLiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCiBtc2dzdHIgIkthbm4gJyVzJyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjEKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0IHRlbXBsYXRlICclcyciCiBtc2dzdHIgImthbm4gVm9ybGFnZSAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo2NgorIzogYnVpbHRpbi9pbml0LWRiLmM6NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW5kaXIgJyVzJyIKIG1zZ3N0ciAia2FubiBWZXJ6ZWljaG5pcyAnJXMnIG5pY2h0IMO2ZmZuZW4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc3CisjOiBidWlsdGluL2luaXQtZGIuYzo3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZGxpbmsgJyVzJyIKIG1zZ3N0ciAia2FubiBWZXJ3ZWlzICclcycgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc5CisjOiBidWlsdGluL2luaXQtZGIuYzo3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3ltbGluayAnJXMnICclcyciCiBtc2dzdHIgImthbm4gc3ltYm9saXNjaGUgVmVya27DvHBmdW5nICclcycgYXVmICclcycgbmljaHQgZXJzdGVsbGVuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4NQorIzogYnVpbHRpbi9pbml0LWRiLmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICJrYW5uICclcycgbmljaHQgbmFjaCAnJXMnIGtvcGllcmVuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4OQorIzogYnVpbHRpbi9pbml0LWRiLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdGVtcGxhdGUgJXMiCiBtc2dzdHIgImlnbm9yaWVyZSBWb3JsYWdlICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wbGF0ZXMgbm90IGZvdW5kICVzIgogbXNnc3RyICJrZWluZSBWb3JsYWdlbiBpbiAnJXMnIGdlZnVuZGVuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMzUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgY29weWluZyB0ZW1wbGF0ZXMgZnJvbSAnJXMnOiAlcyIKIG1zZ3N0ciAia29waWVyZSBrZWluZSBWb3JsYWdlbiB2b24gJyVzJzogJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMxMiBidWlsdGluL2luaXQtZGIuYzozMTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCi1tc2dzdHIgIiVzIGV4aXN0aWVydCBiZXJlaXRzIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzozNDQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gaGFuZGxlIGZpbGUgdHlwZSAlZCIKIG1zZ3N0ciAia2FubiBuaWNodCBtaXQgRGF0ZWl0eXAgJWQgdW1nZWhlbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzQ3CisjOiBidWlsdGluL2luaXQtZGIuYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgIktvbm50ZSAlcyBuaWNodCBuYWNoICVzIHZlcnNjaGllYmVuIgogCi0jLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICclcycgaXMgZWl0aGVyICJSZWluaXRpYWxpemVkCi0jLiBleGlzdGluZyIgb3IgIkluaXRpYWxpemVkIGVtcHR5IiwgdGhlIHNlY29uZCAiIHNoYXJlZCIgb3IKLSMuICIiLCBhbmQgdGhlIGxhc3QgJyVzJXMnIGlzIHRoZSB2ZXJiYXRpbSBkaXJlY3RvcnkgbmFtZS4KKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NyBidWlsdGluL2luaXQtZGIuYzozNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIiVzIGV4aXN0aWVydCBiZXJlaXRzIgorCiAjOiBidWlsdGluL2luaXQtZGIuYzo0MDMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMlcyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCi1tc2dzdHIgIiVzJXMgR2l0LVJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3Rpbmcgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAiQmVzdGVoZW5kZXMgdmVydGVpbHRlcyBHaXQtUmVwb3NpdG9yeSBpbiAlcyVzIG5ldWluaXRpYWxpc2llcnRcbiIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NDA0Ci1tc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyIKLW1zZ3N0ciAiUmVpbml0aWFsaXNpZXJ0ZSBleGlzdGllcmVuZGVzIgorIywgYy1mb3JtYXQKK21zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAiQmVzdGVoZW5kZXMgR2l0LVJlcG9zaXRvcnkgaW4gJXMlcyBuZXVpbml0aWFsaXNpZXJ0XG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNAotbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IgotbXNnc3RyICJJbml0aWFsaXNpZXJ0ZSBsZWVyZXMiCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAiTGVlcmVzIHZlcnRlaWx0ZXMgR2l0LVJlcG9zaXRvcnkgaW4gJXMlcyBpbml0aWFsaXNpZXJ0XG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNQotbXNnaWQgIiBzaGFyZWQiCi1tc2dzdHIgIiBnZW1laW5zYW1lcyIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCittc2dzdHIgIkxlZXJlcyBHaXQtUmVwb3NpdG9yeSBpbiAlcyVzIGluaXRpYWxpc2llcnRcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDUyCisjOiBidWlsdGluL2luaXQtZGIuYzo0NTcKIG1zZ2lkICIiCiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHRlbXBsYXRlLWRpcmVjdG9yeT5dIFstLSIKICJzaGFyZWRbPTxwZXJtaXNzaW9ucz5dXSBbPGRpcmVjdG9yeT5dIgpAQCAtNzY5MiwyNSArODcwOCwyNSBAQAogImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTxWb3JsYWdlbnZlcnplaWNobmlzPl0gWy0tIgogInNoYXJlZFs9PEJlcmVjaHRpZ3VuZ2VuPl1dIFs8VmVyemVpY2huaXM+XSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDc1CisjOiBidWlsdGluL2luaXQtZGIuYzo0ODAKIG1zZ2lkICJwZXJtaXNzaW9ucyIKIG1zZ3N0ciAiQmVyZWNodGlndW5nZW4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgorIzogYnVpbHRpbi9pbml0LWRiLmM6NDgxCiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICJhbmdlYmVuLCBkYXNzIGRhcyBHaXQtUmVwb3NpdG9yeSBtaXQgbWVocmVyZW4gQmVudXR6ZXJuIGdldGVpbHQgd2lyZCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTEwIGJ1aWx0aW4vaW5pdC1kYi5jOjUxNQorIzogYnVpbHRpbi9pbml0LWRiLmM6NTE1IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCiBtc2dzdHIgImthbm4gVmVyemVpY2huaXMgJXMgbmljaHQgZXJzdGVsbGVuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MTkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJXMiCiBtc2dzdHIgImthbm4gbmljaHQgaW4gVmVyemVpY2huaXMgJXMgd2VjaHNlbG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0MAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlcyAob3IgLS13b3JrLXRyZWU9PGRpcmVjdG9yeT4pIG5vdCBhbGxvd2VkIHdpdGhvdXQgc3BlY2lmeWluZyAlcyAob3IgLS1naXQtIgpAQCAtNzcxOSw3ICs4NzM1LDcgQEAKICIlcyAob2RlciAtLXdvcmstdHJlZT08VmVyemVpY2huaXM+KSBuaWNodCBlcmxhdWJ0IG9obmUgU3BlemlmaXppZXJ1bmcgdm9uICVzICIKICIob2RlciAtLWdpdC1kaXI9PFZlcnplaWNobmlzPikiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU2OAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBhY2Nlc3Mgd29yayB0cmVlICclcyciCiBtc2dzdHIgIkthbm4gbmljaHQgYXVmIEFyYmVpdHN2ZXJ6ZWljaG5pcyAnJXMnIHp1Z3JlaWZlbi4iCkBAIC03NzUyLDExNSArODc2OCwxMTIgQEAKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICJrZWluZSBEYXRlaSB6dXIgZGlyZWt0ZW4gQmVhcmJlaXR1bmcgYW5nZWdlYmVuIgogCi0jOiBidWlsdGluL2xvZy5jOjQzCisjOiBidWlsdGluL2xvZy5jOjQ0CiBtc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxvZyBbPE9wdGlvbmVuPl0gWzxDb21taXRiZXJlaWNoPl0gW1stLV0gPFBmYWQ+Li4uXSIKIAotIzogYnVpbHRpbi9sb2cuYzo0NAorIzogYnVpbHRpbi9sb2cuYzo0NQogbXNnaWQgImdpdCBzaG93IFs8b3B0aW9ucz5dIDxvYmplY3Q+Li4uIgogbXNnc3RyICJnaXQgc2hvdyBbPE9wdGlvbmVuPl0gPE9iamVrdD4uLi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODMKKyM6IGJ1aWx0aW4vbG9nLmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAtLWRlY29yYXRlIG9wdGlvbjogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgT3B0aW9uIGbDvHIgLS1kZWNvcmF0ZTogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM3CisjOiBidWlsdGluL2xvZy5jOjEzOQogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgogbXNnc3RyICJBdXNnYWJlIGRlciBVbnRlcnNjaGllZGUgdW50ZXJkcsO8Y2tlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQwCiBtc2dpZCAic2hvdyBzb3VyY2UiCiBtc2dzdHIgIlF1ZWxsZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxCiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgIlwibWFpbG1hcFwiLURhdGVpIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyCiBtc2dpZCAiZGVjb3JhdGUgb3B0aW9ucyIKIG1zZ3N0ciAiZGVjb3JhdGUtT3B0aW9uZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzCisjOiBidWlsdGluL2xvZy5jOjE0NQogbXNnaWQgIlByb2Nlc3MgbGluZSByYW5nZSBuLG0gaW4gZmlsZSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJWZXJhcmJlaXRldCBudXIgWmVpbGVuIGltIEJlcmVpY2ggbixtIGluIGRlciBEYXRlaSwgZ2V6w6RobHQgdm9uIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjM5CisjOiBidWlsdGluL2xvZy5jOjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgImxldHp0ZSBBdXNnYWJlOiAlZCAlc1xuIgogCi0jOiBidWlsdGluL2xvZy5jOjQ3MQorIzogYnVpbHRpbi9sb2cuYzo0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHNob3cgJXM6IGJhZCBmaWxlIgogbXNnc3RyICJnaXQgc2hvdyAlczogdW5nw7xsdGlnZSBEYXRlaSIKIAotIzogYnVpbHRpbi9sb2cuYzo0ODUgYnVpbHRpbi9sb2cuYzo1NzgKKyM6IGJ1aWx0aW4vbG9nLmM6NTAwIGJ1aWx0aW4vbG9nLmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAiS2FubiBPYmpla3QgJXMgbmljaHQgbGVzZW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjYwMgorIzogYnVpbHRpbi9sb2cuYzo2MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB0eXBlOiAlZCIKIG1zZ3N0ciAiVW5iZWthbm50ZXIgVHlwOiAlZCIKIAotIzogYnVpbHRpbi9sb2cuYzo3MjIKKyM6IGJ1aWx0aW4vbG9nLmM6NzM5CiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiZm9ybWF0LmhlYWRlcnMgb2huZSBXZXJ0IgogCi0jOiBidWlsdGluL2xvZy5jOjgxMgorIzogYnVpbHRpbi9sb2cuYzo4MzkKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgIk5hbWUgZGVzIEF1c2dhYmV2ZXJ6ZWljaG5pc3NlcyBpc3QgenUgbGFuZy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODI3CisjOiBidWlsdGluL2xvZy5jOjg1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICJLYW5uIFBhdGNoLURhdGVpICVzIG5pY2h0IMO2ZmZuZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODQxCisjOiBidWlsdGluL2xvZy5jOjg2OAogbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgogbXNnc3RyICJCcmF1Y2hlIGdlbmF1IGVpbmVuIENvbW1pdC1CZXJlaWNoLiIKIAotIzogYnVpbHRpbi9sb2cuYzo4NTEKKyM6IGJ1aWx0aW4vbG9nLmM6ODc4CiBtc2dpZCAiTm90IGEgcmFuZ2UuIgogbXNnc3RyICJLZWluIENvbW1pdC1CZXJlaWNoLiIKIAotIzogYnVpbHRpbi9sb2cuYzo5NTcKKyM6IGJ1aWx0aW4vbG9nLmM6OTg0CiBtc2dpZCAiQ292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKIG1zZ3N0ciAiQW5zY2hyZWliZW4gYmVuw7Z0aWd0IEUtTWFpbC1Gb3JtYXQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTAzNgorIzogYnVpbHRpbi9sb2cuYzoxMDYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgInVuZ8O8bHRpZ2VzIGluLXJlcGx5LXRvOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDY0CisjOiBidWlsdGluL2xvZy5jOjEwOTEKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFs8b3B0aW9ucz5dIFs8c2luY2U+IHwgPHJldmlzaW9uLXJhbmdlPl0iCiBtc2dzdHIgImdpdCBmb3JtYXQtcGF0Y2ggWzxPcHRpb25lbj5dIFs8c2VpdD4gfCA8Q29tbWl0YmVyZWljaD5dIgogCi0jOiBidWlsdGluL2xvZy5jOjExMDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTE0MQogbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgogbXNnc3RyICJad2VpIEF1c2dhYmV2ZXJ6ZWljaG5pc3NlPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjE2IGJ1aWx0aW4vbG9nLmM6MTg1NyBidWlsdGluL2xvZy5jOjE4NTkgYnVpbHRpbi9sb2cuYzoxODcxCisjOiBidWlsdGluL2xvZy5jOjEyNDggYnVpbHRpbi9sb2cuYzoxODkxIGJ1aWx0aW4vbG9nLmM6MTg5MyBidWlsdGluL2xvZy5jOjE5MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBjb21taXQgJXMiCiBtc2dzdHIgIlVuYmVrYW5udGVyIENvbW1pdCAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjI2IGJ1aWx0aW4vbm90ZXMuYzoyNTMgYnVpbHRpbi9ub3Rlcy5jOjMwNAotIzogYnVpbHRpbi9ub3Rlcy5jOjMwNiBidWlsdGluL25vdGVzLmM6MzY5IGJ1aWx0aW4vbm90ZXMuYzo0MjQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTAgYnVpbHRpbi9ub3Rlcy5jOjUxNSBidWlsdGluL25vdGVzLmM6NTkzCi0jOiBidWlsdGluL25vdGVzLmM6NjU2IGJ1aWx0aW4vbm90ZXMuYzo4ODEgYnVpbHRpbi90YWcuYzo0NTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1OCBidWlsdGluL25vdGVzLmM6ODg0IGJ1aWx0aW4vdGFnLmM6NDU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBhbHMgZ8O8bHRpZ2UgUmVmZXJlbnogYXVmbMO2c2VuLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjMxCisjOiBidWlsdGluL2xvZy5jOjEyNjMKIG1zZ2lkICJDb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlLiIKIG1zZ3N0ciAiS29ubnRlIGtlaW5lIGV4YWt0ZSBNZXJnZS1CYXNpcyBmaW5kZW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2NwogbXNnaWQgIiIKICJGYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKICJwbGVhc2UgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gdG8gdHJhY2sgYSByZW1vdGUgYnJhbmNoLlxuIgpAQCAtNzg3MSwyMTIgKzg4ODQsMjE2IEBACiAiJ2dpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8nLCB1bSBlaW5lbSBSZW1vdGUtQnJhbmNoIHp1IGZvbGdlbi5cbiIKICJPZGVyIGdlYmVuIFNpZSBkZW4gQmFzaXMtQ29tbWl0IG1pdCAnLS1iYXNlPTxCYXNpcy1Db21taXQtSWQ+JyBtYW51ZWxsIGFuLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjU1CisjOiBidWlsdGluL2xvZy5jOjEyODcKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgogbXNnc3RyICJGZWhsZXIgYmVpbSBGaW5kZW4gZWluZXIgZXhha3RlbiBNZXJnZS1CYXNpcy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI2NgorIzogYnVpbHRpbi9sb2cuYzoxMjk4CiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkIGJlIHRoZSBhbmNlc3RvciBvZiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICJCYXNpcy1Db21taXQgc29sbHRlIGRlciBWb3Jnw6RuZ2VyIGRlciBSZXZpc2lvbnNsaXN0ZSBzZWluLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjcwCisjOiBidWlsdGluL2xvZy5jOjEzMDIKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGRuJ3QgYmUgaW4gcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAiQmFzaXMtQ29tbWl0IHNvbGx0ZSBuaWNodCBpbiBkZXIgUmV2aXNpb25zbGlzdGUgZW50aGFsdGVuIHNlaW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTM1MQogbXNnaWQgImNhbm5vdCBnZXQgcGF0Y2ggaWQiCiBtc2dzdHIgImthbm4gUGF0Y2gtSWQgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM3NworIzogYnVpbHRpbi9sb2cuYzoxNDA4CiBtc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAiW1BBVENIIG4vbV0gYXVjaCBtaXQgZWluemVsbmVtIFBhdGNoIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzgwCisjOiBidWlsdGluL2xvZy5jOjE0MTEKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAiW1BBVENIXSBhdWNoIG1pdCBtZWhyZXJlbiBQYXRjaGVzIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg0CisjOiBidWlsdGluL2xvZy5jOjE0MTUKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAiQXVzZ2FiZSBkZXIgUGF0Y2hlcyBpbiBTdGFuZGFyZC1BdXNnYWJlIgogCi0jOiBidWlsdGluL2xvZy5jOjEzODYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxNwogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgogbXNnc3RyICJlaW4gRGVja2JsYXR0IGVyemV1Z2VuIgogCi0jOiBidWlsdGluL2xvZy5jOjEzODgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxOQogbXNnaWQgInVzZSBzaW1wbGUgbnVtYmVyIHNlcXVlbmNlIGZvciBvdXRwdXQgZmlsZSBuYW1lcyIKIG1zZ3N0ciAiZWluZmFjaGUgTnVtbWVybmZvbGdlIGbDvHIgZGllIE5hbWVuIGRlciBBdXNnYWJlZGF0ZWllbiB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4OQorIzogYnVpbHRpbi9sb2cuYzoxNDIwCiBtc2dpZCAic2Z4IgogbXNnc3RyICJEYXRlaWVuZHVuZyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkwCisjOiBidWlsdGluL2xvZy5jOjE0MjEKIG1zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKIG1zZ3N0ciAiPERhdGVpZW5kdW5nPiBhbnN0YXR0ICcucGF0Y2gnIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkyCisjOiBidWlsdGluL2xvZy5jOjE0MjMKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICJkaWUgTnVtbWVyaWVydW5nIGRlciBQYXRjaGVzIGJlaSA8bj4gYW5zdGF0dCBiZWkgMSBiZWdpbm5lbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzk0CisjOiBidWlsdGluL2xvZy5jOjE0MjUKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgImRpZSBTZXJpZSBhbHMgbi10ZSBGYXNzdW5nIGtlbm56ZWljaG5lbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzk2CisjOiBidWlsdGluL2xvZy5jOjE0MjcKK21zZ2lkICJVc2UgW1JGQyBQQVRDSF0gaW5zdGVhZCBvZiBbUEFUQ0hdIgorbXNnc3RyICJbUkZDIFBBVENIXSBhbnN0YXR0IFtQQVRDSF0gdmVyd2VuZGVuIgorCisjOiBidWlsdGluL2xvZy5jOjE0MzAKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgIls8UHLDpGZpeD5dIGFuc3RhdHQgW1BBVENIXSB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5OQorIzogYnVpbHRpbi9sb2cuYzoxNDMzCiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgogbXNnc3RyICJlcnpldWd0ZSBEYXRlaWVuIGluIDxWZXJ6ZWljaG5pcz4gc3BlaWNoZXJuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNgogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgogbXNnc3RyICJbUEFUQ0hdIG5pY2h0IGVudGZlcm5lbi9oaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDA1CisjOiBidWlsdGluL2xvZy5jOjE0MzkKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICJrZWluZSBiaW7DpHJlbiBVbnRlcnNjaGllZGUgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwNworIzogYnVpbHRpbi9sb2cuYzoxNDQxCiBtc2dpZCAib3V0cHV0IGFsbC16ZXJvIGhhc2ggaW4gRnJvbSBoZWFkZXIiCiBtc2dzdHIgIkhhc2ggbWl0IE51bGxlbiBpbiBcIkZyb21cIi1IZWFkZXIgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwOQorIzogYnVpbHRpbi9sb2cuYzoxNDQzCiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICIiCiAia2VpbmUgUGF0Y2hlcyBlaW5zY2hsaWXDn2VuLCBkaWUgZWluZW0gQ29tbWl0IGltIFVwc3RyZWFtLUJyYW5jaCBlbnRzcHJlY2hlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDExCisjOiBidWlsdGluL2xvZy5jOjE0NDUKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgIlBhdGNoZm9ybWF0IGFuc3RhdHQgZGVzIFN0YW5kYXJkcyBhbnplaWdlbiAoUGF0Y2ggKyBadXNhbW1lbmZhc3N1bmcpIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0NwogbXNnaWQgIk1lc3NhZ2luZyIKIG1zZ3N0ciAiRS1NYWlsLUVpbnN0ZWxsdW5nZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNAorIzogYnVpbHRpbi9sb2cuYzoxNDQ4CiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICJIZWFkZXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNQorIzogYnVpbHRpbi9sb2cuYzoxNDQ5CiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAiRS1NYWlsLUhlYWRlciBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE2IGJ1aWx0aW4vbG9nLmM6MTQxOAorIzogYnVpbHRpbi9sb2cuYzoxNDUwIGJ1aWx0aW4vbG9nLmM6MTQ1MgogbXNnaWQgImVtYWlsIgogbXNnc3RyICJFLU1haWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNgorIzogYnVpbHRpbi9sb2cuYzoxNDUwCiBtc2dpZCAiYWRkIFRvOiBoZWFkZXIiCiBtc2dzdHIgIlwiVG86XCItSGVhZGVyIGhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MgogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICJcIkNjOlwiLUhlYWRlciBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIwCisjOiBidWlsdGluL2xvZy5jOjE0NTQKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAiSWRlbnQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMQorIzogYnVpbHRpbi9sb2cuYzoxNDU1CiBtc2dpZCAic2V0IEZyb20gYWRkcmVzcyB0byA8aWRlbnQ+IChvciBjb21taXR0ZXIgaWRlbnQgaWYgYWJzZW50KSIKIG1zZ3N0ciAiIgogIlwiRnJvbVwiLUFkcmVzc2UgYXVmIDxJZGVudD4gc2V0emVuIChvZGVyIElkZW50IGRlcyBDb21taXQtRXJzdGVsbGVycywgd2VubiAiCiAiZmVobGVuZCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMworIzogYnVpbHRpbi9sb2cuYzoxNDU3CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAibWVzc2FnZS1pZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI0CisjOiBidWlsdGluL2xvZy5jOjE0NTgKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgImF1cyBlcnN0ZXIgRS1NYWlsIGVpbmUgQW50d29ydCB6dSA8bWVzc2FnZS1pZD4gbWFjaGVuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjUgYnVpbHRpbi9sb2cuYzoxNDI4CisjOiBidWlsdGluL2xvZy5jOjE0NTkgYnVpbHRpbi9sb2cuYzoxNDYyCiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgIkdyZW56ZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI2CisjOiBidWlsdGluL2xvZy5jOjE0NjAKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICJkZW4gUGF0Y2ggYW5ow6RuZ2VuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2MwogbXNnaWQgImlubGluZSB0aGUgcGF0Y2giCiBtc2dzdHIgImRlbiBQYXRjaCBkaXJla3QgaW4gZGllIE5hY2hyaWNodCBlaW5mw7xnZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzMworIzogYnVpbHRpbi9sb2cuYzoxNDY3CiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgIk5hY2hyaWNodGVudmVya2V0dHVuZyBha3RpdmllcmVuLCBTdGlsZTogc2hhbGxvdywgZGVlcCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM1CisjOiBidWlsdGluL2xvZy5jOjE0NjkKIG1zZ2lkICJzaWduYXR1cmUiCiBtc2dzdHIgIlNpZ25hdHVyIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MAogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAiZWluZSBTaWduYXR1ciBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM3CisjOiBidWlsdGluL2xvZy5jOjE0NzEKIG1zZ2lkICJiYXNlLWNvbW1pdCIKIG1zZ3N0ciAiQmFzaXMtQ29tbWl0IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MgogbXNnaWQgImFkZCBwcmVyZXF1aXNpdGUgdHJlZSBpbmZvIHRvIHRoZSBwYXRjaCBzZXJpZXMiCiBtc2dzdHIgImVyZm9yZGVybGljaGUgUmV2aXNpb25zLUluZm9ybWF0aW9uZW4gZGVyIFBhdGNoLVNlcmllIGhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NAogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSBmcm9tIGEgZmlsZSIKIG1zZ3N0ciAiZWluZSBTaWduYXR1ciBhdXMgZWluZXIgRGF0ZWkgaGluenVmw7xnZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0MQorIzogYnVpbHRpbi9sb2cuYzoxNDc1CiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAia2VpbmUgRGF0ZWluYW1lbiBkZXIgUGF0Y2hlcyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMxCisjOiBidWlsdGluL2xvZy5jOjE1NjUKIG1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAtbiB1bmQgLWsgc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzMwotbXNnaWQgIi0tc3ViamVjdC1wcmVmaXggYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgotbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1zdWJqZWN0LXByZWZpeCB1bmQgLWsgc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cy4iCisjOiBidWlsdGluL2xvZy5jOjE1NjcKK21zZ2lkICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKK21zZ3N0ciAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyB1bmQgLWsgc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MQorIzogYnVpbHRpbi9sb2cuYzoxNTc1CiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLW5hbWUtb25seSBrYW5uIG5pY2h0IHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3NwogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLW5hbWUtc3RhdHVzIGthbm4gbmljaHQgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0NQorIzogYnVpbHRpbi9sb2cuYzoxNTc5CiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tY2hlY2sga2FubiBuaWNodCB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTczCisjOiBidWlsdGluL2xvZy5jOjE2MDkKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAiU3RhbmRhcmQtQXVzZ2FiZSBvZGVyIFZlcnplaWNobmlzLCB3ZWxjaGVzIHZvbiBiZWlkZW0/IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJLb25udGUgVmVyemVpY2huaXMgJyVzJyBuaWNodCBlcnN0ZWxsZW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjE2NzIKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzaWduYXR1cmUgZmlsZSAnJXMnIgogbXNnc3RyICJLb25udGUgU2lnbmF0dXItRGF0ZWkgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzQzCisjOiBidWlsdGluL2xvZy5jOjE3NzcKIG1zZ2lkICJGYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBmaWxlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRXJzdGVsbGVuIGRlciBBdXNnYWJlZGF0ZWllbi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTc5MgorIzogYnVpbHRpbi9sb2cuYzoxODI2CiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPFVwc3RyZWFtPiBbPEJyYW5jaD4gWzxMaW1pdD5dXV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTg0NgorIzogYnVpbHRpbi9sb2cuYzoxODgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgZmluZCBhIHRyYWNrZWQgcmVtb3RlIGJyYW5jaCwgcGxlYXNlIHNwZWNpZnkgPHVwc3RyZWFtPiBtYW51YWxseS5cbiIKQEAgLTgwODQsMTA0ICs5MTAxLDEwOCBAQAogIktvbm50ZSBnZWZvbGd0ZW4gUmVtb3RlLUJyYW5jaCBuaWNodCBmaW5kZW4sIGJpdHRlIGdlYmVuIFNpZSA8VXBzdHJlYW0+ICIKICJtYW51ZWxsIGFuLlxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6Mzc4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzxPcHRpb25lbj5dIFs8RGF0ZWk+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQyNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUwNwogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgImRlbiBEYXRlaXN0YXR1cyBtaXQgVGFncyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQyOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOQogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICIiCiAiS2xlaW5idWNoc3RhYmVuIGbDvHIgRGF0ZWllbiBtaXQgJ2Fzc3VtZSB1bmNoYW5nZWQnIE1hcmtpZXJ1bmcgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDMxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTExCiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgInp3aXNjaGVuZ2VzcGVpY2hlcnRlIERhdGVpZW4gaW4gZGVyIEF1c2dhYmUgYW56ZWlnZW4gKFN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzMworIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMwogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJlbnRmZXJudGUgRGF0ZWllbiBpbiBkZXIgQXVzZ2FiZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNQogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiZ2XDpG5kZXJ0ZSBEYXRlaWVuIGluIGRlciBBdXNnYWJlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDM3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE3CiBtc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJzb25zdGlnZSBEYXRlaWVuIGluIGRlciBBdXNnYWJlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDM5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE5CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImlnbm9yaWVydGUgRGF0ZWllbiBpbiBkZXIgQXVzZ2FiZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyMgogbXNnaWQgInNob3cgc3RhZ2VkIGNvbnRlbnRzJyBvYmplY3QgbmFtZSBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICIiCiAiT2JqZWt0bmFtZW4gdm9uIEluaGFsdGVuLCBkaWUgenVtIENvbW1pdCB2b3JnZW1lcmt0IHNpbmQsIGluIGRlciBBdXNnYWJlICIKICJhbnplaWdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNAogbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCiBtc2dzdHIgIkRhdGVpZW4gaW0gRGF0ZWlzeXN0ZW0sIGRpZSBnZWzDtnNjaHQgd2VyZGVuIG3DvHNzZW4sIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDQ2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI2CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lcyBvbmx5IgogbXNnc3RyICJudXIgTmFtZW4gdm9uICdzb25zdGlnZW4nIFZlcnplaWNobmlzc2VuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDQ4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI4CiBtc2dpZCAic2hvdyBsaW5lIGVuZGluZ3Mgb2YgZmlsZXMiCiBtc2dzdHIgIlplaWxlbmVuZGVuIHZvbiBEYXRlaWVuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDUwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMwCiBtc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAia2VpbmUgbGVlcmVuIFZlcnplaWNobmlzc2UgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzMKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIm5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gaW4gZGVyIEF1c2dhYmUgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzUKIG1zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiJ3Jlc29sdmUtdW5kbycgSW5mb3JtYXRpb25lbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1NworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNwogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAiRGF0ZWllbiBhdXNsYXNzZW4sIGRpZSBlaW5lbSBNdXN0ZXIgZW50c3ByZWNoZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDAKIG1zZ2lkICJleGNsdWRlIHBhdHRlcm5zIGFyZSByZWFkIGZyb20gPGZpbGU+IgogbXNnc3RyICJNdXN0ZXIsIGdlbGVzZW4gdm9uIDxEYXRlaT4sIGF1c3NjaGxpZcOfZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDMKIG1zZ2lkICJyZWFkIGFkZGl0aW9uYWwgcGVyLWRpcmVjdG9yeSBleGNsdWRlIHBhdHRlcm5zIGluIDxmaWxlPiIKIG1zZ3N0ciAienVzw6R0emxpY2hlIHByby1WZXJ6ZWljaG5pcyBBdXNjaGx1c3NtdXN0ZXIgYXVzIDxEYXRlaT4gYXVzbGVzZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICJkaWUgc3RhbmRhcmRtw6TDn2lnZW4gR2l0LUF1c3NjaGzDvHNzZSBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OAogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJBdXNnYWJlIHJlbGF0aXYgenVtIFByb2pla3R2ZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MQorbXNnaWQgInJlY3Vyc2UgdGhyb3VnaCBzdWJtb2R1bGVzIgorbXNnc3RyICJSZWt1cnNpb24gaW4gU3VibW9kdWxlbiBkdXJjaGbDvGhyZW4iCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTMKIG1zZ2lkICJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiCiBtc2dzdHIgImFscyBGZWhsZXIgYmVoYW5kZWxuLCB3ZW5uIHNpY2ggZWluZSA8RGF0ZWk+IG5pY2h0IGltIEluZGV4IGJlZmluZGV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDcyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU0CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgIkNvbW1pdC1SZWZlcmVueiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NQogbXNnaWQgInByZXRlbmQgdGhhdCBwYXRocyByZW1vdmVkIHNpbmNlIDx0cmVlLWlzaD4gYXJlIHN0aWxsIHByZXNlbnQiCiBtc2dzdHIgIiIKICJ2b3JnZWJlbiwgZGFzcyBQZmFkZSwgZGllIHNlaXQgPENvbW1pdC1SZWZlcmVuej4gZ2Vsw7ZzY2h0IHd1cmRlbiwgaW1tZXIgbm9jaCAiCiAidm9yaGFuZGVuIHNpbmQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTcKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICJBdXNnYWJlbiB6dXIgRmVobGVyc3VjaGUgYW56ZWlnZW4iCiAKQEAgLTgyNzEsMTkxICs5MjkyLDE3NyBAQAogImRhcyBnZXNhbXRlIFZlcnplaWNobmlzIGF1Zmxpc3RlbjsgbmljaHQgbnVyIGRhcyBha3R1ZWxsZSBWZXJ6ZWljaG5pcyAiCiAiKGltcGxpemllcnQgLS1mdWxsLW5hbWUpIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NgogbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgogbXNnc3RyICJnaXQgbWVyZ2UgWzxPcHRpb25lbj5dIFs8Q29tbWl0Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NgorIzogYnVpbHRpbi9tZXJnZS5jOjQ3CiBtc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIDxtc2c+IEhFQUQgPGNvbW1pdD4iCiBtc2dzdHIgImdpdCBtZXJnZSBbPE9wdGlvbmVuPl0gPEJlc2NocmVpYnVuZz4gSEVBRCA8Q29tbWl0PiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ3CisjOiBidWlsdGluL21lcmdlLmM6NDgKIG1zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKIG1zZ3N0ciAiZ2l0IG1lcmdlIC0tYWJvcnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDIKIG1zZ2lkICJzd2l0Y2ggYG0nIHJlcXVpcmVzIGEgdmFsdWUiCiBtc2dzdHIgIlNjaGFsdGVyICdtJyBlcmZvcmRlcnQgZWluZW4gV2VydC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgbWVyZ2Ugc3RyYXRlZ3kgJyVzJy5cbiIKIG1zZ3N0ciAiS29ubnRlIE1lcmdlLVN0cmF0ZWdpZSAnJXMnIG5pY2h0IGZpbmRlbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzOQorIzogYnVpbHRpbi9tZXJnZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdmFpbGFibGUgc3RyYXRlZ2llcyBhcmU6IgogbXNnc3RyICJWZXJmw7xnYmFyZSBTdHJhdGVnaWVuIHNpbmQ6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ0CisjOiBidWlsdGluL21lcmdlLmM6MTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF2YWlsYWJsZSBjdXN0b20gc3RyYXRlZ2llcyBhcmU6IgogbXNnc3RyICJWZXJmw7xnYmFyZSBiZW51dHplcmRlZmluaWVydGUgU3RyYXRlZ2llbiBzaW5kOiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE5NCBidWlsdGluL3B1bGwuYzoxMjYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTUgYnVpbHRpbi9wdWxsLmM6MTI3CiBtc2dpZCAiZG8gbm90IHNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAia2VpbmUgWnVzYW1tZW5mYXNzdW5nIGRlciBVbnRlcnNjaGllZGUgYW0gU2NobHVzcyBkZXMgTWVyZ2VzIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEyOQorIzogYnVpbHRpbi9tZXJnZS5jOjE5OCBidWlsdGluL3B1bGwuYzoxMzAKIG1zZ2lkICJzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgImVpbmUgWnVzYW1tZW5mYXNzdW5nIGRlciBVbnRlcnNjaGllZGUgYW0gU2NobHVzcyBkZXMgTWVyZ2VzIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk4IGJ1aWx0aW4vcHVsbC5jOjEzMgorIzogYnVpbHRpbi9tZXJnZS5jOjE5OSBidWlsdGluL3B1bGwuYzoxMzMKIG1zZ2lkICIoc3lub255bSB0byAtLXN0YXQpIgogbXNnc3RyICIoU3lub255bSBmw7xyIC0tc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTM1CisjOiBidWlsdGluL21lcmdlLmM6MjAxIGJ1aWx0aW4vcHVsbC5jOjEzNgogbXNnaWQgImFkZCAoYXQgbW9zdCA8bj4pIGVudHJpZXMgZnJvbSBzaG9ydGxvZyB0byBtZXJnZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgogIihow7ZjaHN0ZW5zIDxuPikgRWludHLDpGdlIHZvbiBcInNob3J0bG9nXCIgenVyIEJlc2NocmVpYnVuZyBkZXMgTWVyZ2UtQ29tbWl0cyAiCiAiaGluenVmw7xnZW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDMgYnVpbHRpbi9wdWxsLmM6MTM4CisjOiBidWlsdGluL21lcmdlLmM6MjA0IGJ1aWx0aW4vcHVsbC5jOjEzOQogbXNnaWQgImNyZWF0ZSBhIHNpbmdsZSBjb21taXQgaW5zdGVhZCBvZiBkb2luZyBhIG1lcmdlIgogbXNnc3RyICJlaW5lbiBlaW56ZWxuZW4gQ29tbWl0IGFuc3RhdHQgZWluZXMgTWVyZ2VzIGVyemV1Z2VuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA1IGJ1aWx0aW4vcHVsbC5jOjE0MQorIzogYnVpbHRpbi9tZXJnZS5jOjIwNiBidWlsdGluL3B1bGwuYzoxNDIKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgImVpbmVuIENvbW1pdCBkdXJjaGbDvGhyZW4sIHdlbm4gZGVyIE1lcmdlIGVyZm9sZ3JlaWNoIHdhciAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA3IGJ1aWx0aW4vcHVsbC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDUKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgIkJlYXJiZWl0dW5nIGRlciBCZXNjaHJlaWJ1bmcgdm9yIGRlbSBDb21taXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDkKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQgKGRlZmF1bHQpIgogbXNnc3RyICJWb3JzcHVsZW4gZXJsYXViZW4gKFN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxMCBidWlsdGluL3B1bGwuYzoxNTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTEgYnVpbHRpbi9wdWxsLmM6MTUxCiBtc2dpZCAiYWJvcnQgaWYgZmFzdC1mb3J3YXJkIGlzIG5vdCBwb3NzaWJsZSIKIG1zZ3N0ciAiYWJicmVjaGVuLCB3ZW5uIGtlaW4gVm9yc3B1bGVuIG3DtmdsaWNoIGlzdCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNAotbXNnaWQgIlZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTUgYnVpbHRpbi9wdWxsLmM6MTU0Cittc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICJkZW4gZ2VuYW5udGVuIENvbW1pdCBhdWYgZWluZSBnw7xsdGlnZSBHUEctU2lnbmF0dXIgw7xiZXJwcsO8ZmVuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE1IGJ1aWx0aW4vbm90ZXMuYzo3NzEgYnVpbHRpbi9wdWxsLmM6MTU3CisjOiBidWlsdGluL21lcmdlLmM6MjE2IGJ1aWx0aW4vbm90ZXMuYzo3NzQgYnVpbHRpbi9wdWxsLmM6MTU4CiAjOiBidWlsdGluL3JldmVydC5jOjg5CiBtc2dpZCAic3RyYXRlZ3kiCiBtc2dzdHIgIlN0cmF0ZWdpZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL3B1bGwuYzoxNTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTU5CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgogbXNnc3RyICJ6dSB2ZXJ3ZW5kZW5kZSBNZXJnZS1TdHJhdGVnaWUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTYxCisjOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vcHVsbC5jOjE2MgogbXNnaWQgIm9wdGlvbj12YWx1ZSIKIG1zZ3N0ciAiT3B0aW9uPVdlcnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9wdWxsLmM6MTYyCisjOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vcHVsbC5jOjE2MwogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIk9wdGlvbiBmw7xyIGF1c2dld8OkaGx0ZSBNZXJnZS1TdHJhdGVnaWUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjEKIG1zZ2lkICJtZXJnZSBjb21taXQgbWVzc2FnZSAoZm9yIGEgbm9uLWZhc3QtZm9yd2FyZCBtZXJnZSkiCiBtc2dzdHIgIiIKICJDb21taXQtQmVzY2hyZWlidW5nIHp1c2FtbWVuZsO8aHJlbiAoZsO8ciBlaW5lbiBNZXJnZSwgZGVyIGtlaW4gVm9yc3B1bGVuIHdhcikiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjUKIG1zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiZGVuIHNpY2ggaW0gR2FuZ2UgYmVmaW5kbGljaGVuIE1lcmdlIGFiYnJlY2hlbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyNiBidWlsdGluL3B1bGwuYzoxNjkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjcgYnVpbHRpbi9wdWxsLmM6MTcwCiBtc2dpZCAiYWxsb3cgbWVyZ2luZyB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICJlcmxhdWJlIGRhcyBadXNhbW1lbmbDvGhyZW4gdm9uIG5pY2h0IHp1c2FtbWVuaMOkbmdlbmRlbiBIaXN0b3JpZW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTUKIG1zZ2lkICJjb3VsZCBub3QgcnVuIHN0YXNoLiIKIG1zZ3N0ciAiS29ubnRlIFwic3Rhc2hcIiBuaWNodCBhdXNmw7xocmVuLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1OQorIzogYnVpbHRpbi9tZXJnZS5jOjI2MAogbXNnaWQgInN0YXNoIGZhaWxlZCIKIG1zZ3N0ciAiXCJzdGFzaFwiIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjY0CisjOiBidWlsdGluL21lcmdlLmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiCiBtc2dzdHIgImtlaW4gZ8O8bHRpZ2VzIE9iamVrdDogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyODMgYnVpbHRpbi9tZXJnZS5jOjMwMAorIzogYnVpbHRpbi9tZXJnZS5jOjI4NCBidWlsdGluL21lcmdlLmM6MzAxCiBtc2dpZCAicmVhZC10cmVlIGZhaWxlZCIKIG1zZ3N0ciAicmVhZC10cmVlIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzMwCisjOiBidWlsdGluL21lcmdlLmM6MzMxCiBtc2dpZCAiIChub3RoaW5nIHRvIHNxdWFzaCkiCiBtc2dzdHIgIiAobmljaHRzIHp1IHF1ZXRzY2hlbikiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICJRdWV0c2NoZSBDb21taXQgLS0gSEVBRCB3aXJkIG5pY2h0IGFrdHVhbGlzaWVydFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzQ3IGJ1aWx0aW4vbWVyZ2UuYzo3NjcgYnVpbHRpbi9tZXJnZS5jOjk4NwotIzogYnVpbHRpbi9tZXJnZS5jOjEwMDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICclcyciCi1tc2dzdHIgIktvbm50ZSBuaWNodCBuYWNoICclcycgc2NocmVpYmVuLiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjM3NQotbXNnaWQgIldyaXRpbmcgU1FVQVNIX01TRyIKLW1zZ3N0ciAiU2NocmVpYmUgU1FVQVNIX01TRyIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjM3NwotbXNnaWQgIkZpbmlzaGluZyBTUVVBU0hfTVNHIgotbXNnc3RyICJTY2hsaWXDn2UgU1FVQVNIX01TRyBhYiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjQwMAorIzogYnVpbHRpbi9tZXJnZS5jOjM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBtZXNzYWdlIC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIktlaW5lIE1lcmdlLUNvbW1pdC1CZXNjaHJlaWJ1bmcgLS0gSEVBRCB3aXJkIG5pY2h0IGFrdHVhbGlzaWVydFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDUxCisjOiBidWlsdGluL21lcmdlLmM6NDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIiclcycgemVpZ3QgYXVmIGtlaW5lbiBDb21taXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1NDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBTdHJpbmc6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NjYwCisjOiBidWlsdGluL21lcmdlLmM6NjUyCiBtc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKIG1zZ3N0ciAiRXMgd2lyZCBudXIgZGVyIE1lcmdlIHZvbiB6d2VpIEJyYW5jaGVzIGJlaGFuZGVsdC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBvcHRpb24gZm9yIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIG1zZ3N0ciAiVW5iZWthbm50ZSBPcHRpb24gZsO8ciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgogbXNnc3RyICJrb25udGUgJXMgbmljaHQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzc2CisjOiBidWlsdGluL21lcmdlLmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKIG1zZ3N0ciAia29ubnRlIG5pY2h0IHZvbiAnJXMnIGxlc2VuIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzg1CisjOiBidWlsdGluL21lcmdlLmM6NzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogIk1lcmdlIHd1cmRlIG5pY2h0IGNvbW1pdHRldDsgYmVudXR6ZW4gU2llICdnaXQgY29tbWl0JywgdW0gZGVuIE1lcmdlICIKICJhYnp1c2NobGllw59lbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc5MQorIzogYnVpbHRpbi9tZXJnZS5jOjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCkBAIC04NDcxLDU1ICs5NDc4LDY5IEBACiAiWmVpbGVuIGJlZ2lubmVuZCBtaXQgJyVjJyB3ZXJkZW4gaWdub3JpZXJ0LCB1bmQgZWluZSBsZWVyZSBCZXNjaHJlaWJ1bmdcbiIKICJicmljaHQgZGVuIENvbW1pdCBhYi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjgxNQorIzogYnVpbHRpbi9tZXJnZS5jOjc3MgogbXNnaWQgIkVtcHR5IGNvbW1pdCBtZXNzYWdlLiIKIG1zZ3N0ciAiTGVlcmUgQ29tbWl0LUJlc2NocmVpYnVuZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjgzNQorIzogYnVpbHRpbi9tZXJnZS5jOjc5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJXb25kZXJmdWwuXG4iCiBtc2dzdHIgIld1bmRlcmJhci5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg5MAorIzogYnVpbHRpbi9tZXJnZS5jOjg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2UgZmFpbGVkOyBmaXggY29uZmxpY3RzIGFuZCB0aGVuIGNvbW1pdCB0aGUgcmVzdWx0LlxuIgogbXNnc3RyICIiCiAiQXV0b21hdGlzY2hlciBNZXJnZSBmZWhsZ2VzY2hsYWdlbjsgYmVoZWJlbiBTaWUgZGllIEtvbmZsaWt0ZSB1bmQgY29tbWl0dGVuICIKICJTaWUgZGFubiBkYXMgRXJnZWJuaXMuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQiCiBtc2dzdHIgIiclcycgaXN0IGtlaW4gQ29tbWl0IgogCi0jOiBidWlsdGluL21lcmdlLmM6OTQ3CisjOiBidWlsdGluL21lcmdlLmM6OTA0CiBtc2dpZCAiTm8gY3VycmVudCBicmFuY2guIgogbXNnc3RyICJTaWUgYmVmaW5kZW4gc2ljaCBhdWYga2VpbmVtIEJyYW5jaC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDYKIG1zZ2lkICJObyByZW1vdGUgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIktlaW4gUmVtb3RlLVJlcG9zaXRvcnkgZsO8ciBkZW4gYWt0dWVsbGVuIEJyYW5jaC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDgKIG1zZ2lkICJObyBkZWZhdWx0IHVwc3RyZWFtIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIiIKICJFcyBpc3Qga2VpbiBTdGFuZGFyZC1VcHN0cmVhbS1CcmFuY2ggZsO8ciBkZW4gYWt0dWVsbGVuIEJyYW5jaCBkZWZpbmllcnQuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTU2CisjOiBidWlsdGluL21lcmdlLmM6OTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHJlbW90ZS10cmFja2luZyBicmFuY2ggZm9yICVzIGZyb20gJXMiCiBtc2dzdHIgIktlaW4gUmVtb3RlLVRyYWNraW5nLUJyYW5jaCBmw7xyICVzIHZvbiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwOTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHZhbHVlICclcycgaW4gZW52aXJvbm1lbnQgJyVzJyIKK21zZ3N0ciAiRmVobGVyaGFmdGVyIFdlcnQgJyVzJyBpbiBVbWdlYnVuZ3N2YXJpYWJsZSAnJXMnIgorCisjOiBidWlsdGluL21lcmdlLmM6MTAzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgc2NobGllw59lbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIGluICVzOiAlcyIKK21zZ3N0ciAibmljaHRzIHdhcyB3aXIgaW4gJXMgenVzYW1tZW5mw7xocmVuIGvDtm5uZW46ICVzIgorCisjOiBidWlsdGluL21lcmdlLmM6MTA5NQorbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgorbXNnc3RyICJuaWNodHMgd2FzIHdpciB6dXNhbW1lbmbDvGhyZW4ga8O2bm5lbiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExNjIKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIkVzIGdpYnQga2VpbmVuIE1lcmdlIHp1bSBBYmJyZWNoZW4gKE1FUkdFX0hFQUQgZmVobHQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIzNQorIzogYnVpbHRpbi9tZXJnZS5jOjExNzgKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtODUyNyw3ICs5NTQ4LDcgQEAKICJTaWUgaGFiZW4gSWhyZW4gTWVyZ2UgbmljaHQgYWJnZXNjaGxvc3NlbiAoTUVSR0VfSEVBRCBleGlzdGllcnQpLlxuIgogIkJpdHRlIGNvbW1pdHRlbiBTaWUgSWhyZSDDhG5kZXJ1bmdlbiwgYmV2b3IgU2llIGRlbiBNZXJnZSBhdXNmw7xocmVuLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg1CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTg1MzUsMTA5ICs5NTU2LDExNyBAQAogIlNpZSBoYWJlbiBcImNoZXJyeS1waWNrXCIgbmljaHQgYWJnZXNjaGxvc3NlbiAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdGllcnQpLlxuIgogIkJpdHRlIGNvbW1pdHRlbiBTaWUgSWhyZSDDhG5kZXJ1bmdlbiwgYmV2b3IgU2llIGRlbiBNZXJnZSBhdXNmw7xocmVuLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg4CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuIgogbXNnc3RyICIiCiAiU2llIGhhYmVuIFwiY2hlcnJ5LXBpY2tcIiBuaWNodCBhYmdlc2NobG9zc2VuIChDSEVSUllfUElDS19IRUFEIGV4aXN0aWVydCkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NAorIzogYnVpbHRpbi9tZXJnZS5jOjExOTcKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKIG1zZ3N0ciAiU2llIGvDtm5uZW4gLS1zcXVhc2ggbmljaHQgbWl0IC0tbm8tZmYga29tYmluaWVyZW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI2MgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMDUKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAiS2VpbiBDb21taXQgYW5nZWdlYmVuIHVuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBpc3QgbmljaHQgZ2VzZXR6dC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjc5CisjOiBidWlsdGluL21lcmdlLmM6MTIyMgogbXNnaWQgIlNxdWFzaCBjb21taXQgaW50byBlbXB0eSBoZWFkIG5vdCBzdXBwb3J0ZWQgeWV0IgogbXNnc3RyICIiCiAiQmluIGF1ZiBlaW5lbSBDb21taXQsIGRlciBub2NoIGdlYm9yZW4gd2lyZDsga2FubiBcInNxdWFzaFwiIG5pY2h0IGF1c2bDvGhyZW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4MQorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjQKIG1zZ2lkICJOb24tZmFzdC1mb3J3YXJkIGNvbW1pdCBkb2VzIG5vdCBtYWtlIHNlbnNlIGludG8gYW4gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiIgogIk5pY2h0IHZvcnp1c3B1bGVuZGVyIENvbW1pdCBrYW5uIG5pY2h0IGluIGVpbmVtIGxlZXJlbiBCcmFuY2ggdmVyd2VuZGV0ICIKICJ3ZXJkZW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4NgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgLSBub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKIG1zZ3N0ciAiJXMgLSBuaWNodHMgd2FzIHdpciB6dXNhbW1lbmbDvGhyZW4ga8O2bm5lbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjMxCiBtc2dpZCAiQ2FuIG1lcmdlIG9ubHkgZXhhY3RseSBvbmUgY29tbWl0IGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiS2FubiBudXIgZXhha3QgZWluZW4gQ29tbWl0IGluIGVpbmVtIGxlZXJlbiBCcmFuY2ggenVzYW1tZW5mw7xocmVuLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYW4gdW50cnVzdGVkIEdQRyBzaWduYXR1cmUsIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIiIKICJDb21taXQgJXMgaGF0IGVpbmUgbmljaHQgdmVydHJhdWVuc3fDvHJkaWdlIEdQRy1TaWduYXR1ciwgYW5nZWJsaWNoIHZvbiAlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzQ3CisjOiBidWlsdGluL21lcmdlLmM6MTI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgYmFkIEdQRyBzaWduYXR1cmUgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiQ29tbWl0ICVzIGhhdCBlaW5lIHVuZ8O8bHRpZ2UgR1BHLVNpZ25hdHVyLCBhbmdlYmxpY2ggdm9uICVzLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCiBtc2dzdHIgIkNvbW1pdCAlcyBoYXQga2VpbmUgR1BHLVNpZ25hdHVyLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBnb29kIEdQRyBzaWduYXR1cmUgYnkgJXNcbiIKIG1zZ3N0ciAiQ29tbWl0ICVzIGhhdCBlaW5lIGfDvGx0aWdlIEdQRy1TaWduYXR1ciB2b24gJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzU4CiBtc2dpZCAicmVmdXNpbmcgdG8gbWVyZ2UgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAiVmVyd2VpZ2VyZSBkZW4gTWVyZ2Ugdm9uIG5pY2h0IHp1c2FtbWVuaMOkbmdlbmRlbiBIaXN0b3JpZW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQzOQorIzogYnVpbHRpbi9tZXJnZS5jOjEzNjcKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIgorbXNnc3RyICJCZXJlaXRzIGFrdHVlbGwuIgorCisjOiBidWlsdGluL21lcmdlLmM6MTM3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcy4uJXNcbiIKIG1zZ3N0ciAiQWt0dWFsaXNpZXJlICVzLi4lc1xuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ3NgorIzogYnVpbHRpbi9tZXJnZS5jOjE0MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIHJlYWxseSB0cml2aWFsIGluLWluZGV4IG1lcmdlLi4uXG4iCiBtc2dzdHIgIlByb2JpZXJlIHdpcmtsaWNoIHRyaXZpYWxlbiBcImluLWluZGV4XCItTWVyZ2UgLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDgzCisjOiBidWlsdGluL21lcmdlLmM6MTQyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3BlLlxuIgogbXNnc3RyICJOZWluLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUxNQorIzogYnVpbHRpbi9tZXJnZS5jOjE0NTAKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIFllZWFoISIKK21zZ3N0ciAiQmVyZWl0cyBha3R1ZWxsLiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE0NTYKIG1zZ2lkICJOb3QgcG9zc2libGUgdG8gZmFzdC1mb3J3YXJkLCBhYm9ydGluZy4iCiBtc2dzdHIgIlZvcnNwdWxlbiBuaWNodCBtw7ZnbGljaCwgYnJlY2hlIGFiLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MzggYnVpbHRpbi9tZXJnZS5jOjE2MTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc5IGJ1aWx0aW4vbWVyZ2UuYzoxNTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgogbXNnc3RyICJSw7xja2xhdWYgZGVzIFZlcnplaWNobmlzc2VzIGJpcyB6dW0gVXJzcHJ1bmcgLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQyCisjOiBidWlsdGluL21lcmdlLmM6MTQ4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgbWVyZ2Ugc3RyYXRlZ3kgJXMuLi5cbiIKIG1zZ3N0ciAiUHJvYmllcmUgTWVyZ2UtU3RyYXRlZ2llICVzIC4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYwOAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIktlaW5lIE1lcmdlLVN0cmF0ZWdpZSBiZWhhbmRlbHQgZGllc2VuIE1lcmdlLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYxMAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCiBtc2dzdHIgIk1lcmdlIG1pdCBTdHJhdGVnaWUgJXMgZmVobGdlc2NobGFnZW4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjE5CisjOiBidWlsdGluL21lcmdlLmM6MTU2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAiQmVudXR6ZW4gU2llIFwiJXNcIiwgdW0gZGllIEF1ZmzDtnN1bmcgcGVyIEhhbmQgdm9yenViZXJlaXRlbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MzEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSB3ZW50IHdlbGw7IHN0b3BwZWQgYmVmb3JlIGNvbW1pdHRpbmcgYXMgcmVxdWVzdGVkXG4iCiBtc2dzdHIgIiIKQEAgLTg2NjMsMjMgKzk2OTIsMjMgQEAKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHJlZj4gWzxjb21taXQ+XSIKIG1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDxSZWZlcmVuej4gWzxDb21taXQ+XSIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE0CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTcKIG1zZ2lkICJvdXRwdXQgYWxsIGNvbW1vbiBhbmNlc3RvcnMiCiBtc2dzdHIgIkF1c2dhYmUgYWxsZXIgZ2VtZWluc2FtZW4gVm9yZ8Okbmdlci1Db21taXRzIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTYKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOQogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKIG1zZ3N0ciAiVm9yZ8Okbmdlci1Db21taXRzIGbDvHIgZWluZW4gZWluemVsbmVuIG4tV2VnZS1NZXJnZSBmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIxCiBtc2dpZCAibGlzdCByZXZzIG5vdCByZWFjaGFibGUgZnJvbSBvdGhlcnMiCiBtc2dzdHIgIkNvbW1pdHMgYXVmbGlzdGVuLCBkaWUgbmljaHQgZHVyY2ggQW5kZXJlIGVycmVpY2hiYXIgc2luZCIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIwCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjMKIG1zZ2lkICJpcyB0aGUgZmlyc3Qgb25lIGFuY2VzdG9yIG9mIHRoZSBvdGhlcj8iCiBtc2dzdHIgImlzdCBkZXIgRXJzdGUgZWluIFZvcmfDpG5nZXItQ29tbWl0IHZvbiBkZW0gQW5kZXJlbj8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMgorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjI1CiBtc2dpZCAiZmluZCB3aGVyZSA8Y29tbWl0PiBmb3JrZWQgZnJvbSByZWZsb2cgb2YgPHJlZj4iCiBtc2dzdHIgIjxDb21taXQ+IGZpbmRlbiwgdm9uIHdvIFJlZmxvZyB2b24gPFJlZmVyZW56PiBhYmdlc3BhbHRlbiB3dXJkZSIKIApAQCAtODcyMyw2ICs5NzUyLDM3IEBACiBtc2dpZCAic2V0IGxhYmVscyBmb3IgZmlsZTEvb3JpZy1maWxlL2ZpbGUyIgogbXNnc3RyICJCZXNjaHJpZnR1bmcgZsO8ciBEYXRlaTEvb3JpZy1EYXRlaS9EYXRlaTIgc2V0emVuIgogCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uICVzIgorbXNnc3RyICJ1bmJla2FubnRlIE9wdGlvbjogJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgorbXNnc3RyICJLb25udGUgT2JqZWt0ICclcycgbmljaHQgcGFyc2VuLiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlLiBJZ25vcmluZyAlcy4iCittc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2VzLiBJZ25vcmluZyAlcy4iCittc2dzdHJbMF0gImthbm4gbmljaHQgbWl0IG1laHIgYWxzICVkIE1lcmdlLUJhc2lzIHVtZ2VoZW4uIElnbm9yaWVyZSAlcy4iCittc2dzdHJbMV0gImthbm4gbmljaHQgbWl0IG1laHIgYWxzICVkIE1lcmdlLUJhc2VuIHVtZ2VoZW4uIElnbm9yaWVyZSAlcy4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjMKK21zZ2lkICJub3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgorbXNnc3RyICJFcyB3aXJkIG51ciBkZXIgTWVyZ2Ugdm9uIHp3ZWkgQnJhbmNoZXMgYmVoYW5kZWx0LiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2OSBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIHJlZiAnJXMnIgorbXNnc3RyICJLb25udGUgUmVmZXJlbnogJyVzJyBuaWNodCBhdWZsw7ZzZW4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVyZ2luZyAlcyB3aXRoICVzXG4iCittc2dzdHIgIkbDvGhyZSAlcyBtaXQgJXMgenVzYW1tZW5cbiIKKwogIzogYnVpbHRpbi9ta3RyZWUuYzo2NQogbXNnaWQgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCiBtc2dzdHIgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCkBAIC04NzY4LDEwOSArOTgyOCwxMDkgQEAKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gVmVyc2NoaWViZW4gb2RlciBVbWJlbmVubmVuIMO8YmVyc3ByaW5nZW4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNTIKKyM6IGJ1aWx0aW4vbXYuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gJyVzJyBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIlppZWwgJyVzJyBpc3Qga2VpbiBWZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi9tdi5jOjE2MworIzogYnVpbHRpbi9tdi5jOjE2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCiBtc2dzdHIgIlByw7xmZSBVbWJlbmVubnVuZyB2b24gJyVzJyBuYWNoICclcydcbiIKIAotIzogYnVpbHRpbi9tdi5jOjE2NworIzogYnVpbHRpbi9tdi5jOjE3MAogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgInVuZ8O8bHRpZ2UgUXVlbGxlIgogCi0jOiBidWlsdGluL212LmM6MTcwCisjOiBidWlsdGluL212LmM6MTczCiBtc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKIG1zZ3N0ciAia2FubiBWZXJ6ZWljaG5pcyBuaWNodCBpbiBzaWNoIHNlbGJzdCB2ZXJzY2hpZWJlbiIKIAotIzogYnVpbHRpbi9tdi5jOjE3MworIzogYnVpbHRpbi9tdi5jOjE3NgogbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCiBtc2dzdHIgImthbm4gVmVyemVpY2huaXMgbmljaHQgw7xiZXIgRGF0ZWkgdmVyc2NoaWViZW4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODIKKyM6IGJ1aWx0aW4vbXYuYzoxODUKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICJRdWVsbHZlcnplaWNobmlzIGlzdCBsZWVyIgogCi0jOiBidWlsdGluL212LmM6MjA3CisjOiBidWlsdGluL212LmM6MjEwCiBtc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKIG1zZ3N0ciAibmljaHQgdW50ZXIgVmVyc2lvbnNrb250cm9sbGUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTAKKyM6IGJ1aWx0aW4vbXYuYzoyMTMKIG1zZ2lkICJkZXN0aW5hdGlvbiBleGlzdHMiCiBtc2dzdHIgIlppZWwgZXhpc3RpZXJ0IGJlcmVpdHMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTgKKyM6IGJ1aWx0aW4vbXYuYzoyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAib3ZlcndyaXRpbmcgJyVzJyIKIG1zZ3N0ciAiw7xiZXJzY2hyZWliZSAnJXMnIgogCi0jOiBidWlsdGluL212LmM6MjIxCisjOiBidWlsdGluL212LmM6MjI0CiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAiS2FubiBuaWNodCDDvGJlcnNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9tdi5jOjIyNAorIzogYnVpbHRpbi9tdi5jOjIyNwogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAibWVocmVyZSBRdWVsbGVuIGbDvHIgZGFzIHNlbGJlIFppZWwiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjYKKyM6IGJ1aWx0aW4vbXYuYzoyMjkKIG1zZ2lkICJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIlppZWx2ZXJ6ZWljaG5pcyBleGlzdGllcnQgbmljaHQiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzMKKyM6IGJ1aWx0aW4vbXYuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiBtc2dzdHIgIiVzLCBRdWVsbGU9JXMsIFppZWw9JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNTQKKyM6IGJ1aWx0aW4vbXYuYzoyNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAiQmVuZW5uZSAlcyBuYWNoICVzIHVtXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNjAgYnVpbHRpbi9yZW1vdGUuYzo3MTQgYnVpbHRpbi9yZXBhY2suYzozNjUKKyM6IGJ1aWx0aW4vbXYuYzoyNjMgYnVpbHRpbi9yZW1vdGUuYzo3MTAgYnVpbHRpbi9yZXBhY2suYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIlVtYmVuZW5udW5nIHZvbiAnJXMnIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU4CisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU3CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxPcHRpb25lbj5dIDxDb21taXQ+Li4uIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU4CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tYWxsIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxPcHRpb25lbj5dIC0tYWxsIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjYwCisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tc3RkaW4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPE9wdGlvbmVuPl0gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMQogbXNnaWQgInByaW50IG9ubHkgbmFtZXMgKG5vIFNIQS0xKSIKIG1zZ3N0ciAibnVyIE5hbWVuIGFuemVpZ2VuIChrZWluZSBTSEEtMSkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgIm51ciBUYWdzIHZlcndlbmRlbiwgdW0gZGllIENvbW1pdHMgenUgYmVuZW5uZW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTUKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTQKIG1zZ2lkICJvbmx5IHVzZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAibnVyIFJlZmVyZW56ZW4gdmVyd2VuZGVuIGRpZSA8TXVzdGVyPiBlbnRzcHJlY2hlbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNworIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNgogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgImFsbGUgQ29tbWl0cyBhdWZsaXN0ZW4sIGRpZSB2b24gYWxsZW4gUmVmZXJlbnplbiBlcnJlaWNoYmFyIHNpbmQiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTcKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgInZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSBsZXNlbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAogbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiQXVzZ2FiZSB2b24gYHVuZGVmaW5pZXJ0ZW5gIE5hbWVuIGVybGF1YmVuIChTdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjUKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjQKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKIG1zZ3N0ciAiVGFncyBpbiBkZXIgRWluZ2FiZSBkZXJlZmVyZW56aWVyZW4gKGludGVybmUgVmVyd2VuZHVuZykiCiAKQEAgLTg5ODYsNiArMTAwNDYsMTAgQEAKIG1zZ2lkICJnaXQgbm90ZXMgZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGdldC1yZWYiCiAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NAorbXNnaWQgIldyaXRlL2VkaXQgdGhlIG5vdGVzIGZvciB0aGUgZm9sbG93aW5nIG9iamVjdDoiCittc2dzdHIgIlNjaHJlaWJlbi9CZWFyYmVpdGVuIGRlciBOb3RpemVuIGbDvHIgZGFzIGZvbGdlbmRlIE9iamVrdDoiCisKICM6IGJ1aWx0aW4vbm90ZXMuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICdzaG93JyBmb3Igb2JqZWN0ICclcyciCkBAIC05MDAwLDgxICsxMDA2NCw5OSBAQAogbXNnaWQgImZhaWxlZCB0byBmaW5pc2ggJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAia29ubnRlICdzaG93JyBmw7xyIE9iamVrdCAnJXMnIG5pY2h0IGFic2NobGllw59lbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE3NCBidWlsdGluL3RhZy5jOjI0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKLW1zZ3N0ciAia29ubnRlIERhdGVpICclcycgbmljaHQgZXJzdGVsbGVuIgorIzogYnVpbHRpbi9ub3Rlcy5jOjE5NAorbXNnaWQgInBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKK21zZ3N0ciAiQml0dGUgbGllZmVybiBTaWUgZGllIE5vdGl6LUluaGFsdGUgdW50ZXIgVmVyd2VuZHVuZyBkZXIgT3B0aW9uIC1tIG9kZXIgLUYuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTkzCi1tc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgotbXNnc3RyICIiCi0iQml0dGUgbGllZmVybiBTaWUgZGVuIE5vdGl6LUluaGFsdCB1bnRlciBWZXJ3ZW5kdW5nIGRlciBPcHRpb24gLW0gb2RlciAtRi4iCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDIKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDMKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCiBtc2dzdHIgIktvbm50ZSBOb3Rpei1PYmpla3QgbmljaHQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjA0CisjOiBidWlsdGluL25vdGVzLmM6MjA1CiAjLCBjLWZvcm1hdAotbXNnaWQgIlRoZSBub3RlIGNvbnRlbnRzIGhhdmUgYmVlbiBsZWZ0IGluICVzIgotbXNnc3RyICJEaWUgTm90aXotSW5oYWx0ZSB3dXJkZW4gaW4gJXMgYmVsYXNzZW4iCittc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCittc2dzdHIgIkRpZSBOb3Rpei1JbmhhbHRlIHd1cmRlbiBpbiAlcyBiZWxhc3Nlbi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMzIgYnVpbHRpbi90YWcuYzo0MzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMzMgYnVpbHRpbi90YWcuYzo0MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAia2FubiAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjM0IGJ1aWx0aW4vdGFnLmM6NDQyCisjOiBidWlsdGluL25vdGVzLmM6MjM1IGJ1aWx0aW4vdGFnLmM6NDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKIG1zZ3N0ciAia29ubnRlICclcycgbmljaHQgw7ZmZm5lbiBvZGVyIGxlc2VuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjU2CisjOiBidWlsdGluL25vdGVzLmM6MjU0IGJ1aWx0aW4vbm90ZXMuYzozMDUgYnVpbHRpbi9ub3Rlcy5jOjMwNworIzogYnVpbHRpbi9ub3Rlcy5jOjM3MiBidWlsdGluL25vdGVzLmM6NDI3IGJ1aWx0aW4vbm90ZXMuYzo1MTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MTggYnVpbHRpbi9ub3Rlcy5jOjU5NiBidWlsdGluL25vdGVzLmM6NjU5CiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAiS29ubnRlICclcycgbmljaHQgYWxzIGfDvGx0aWdlIFJlZmVyZW56IGF1ZmzDtnNlbi4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgb2JqZWN0ICclcycuIgogbXNnc3RyICJGZWhsZXIgYmVpbSBMZXNlbiBkZXMgT2JqZWt0ZXMgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNjAKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNjEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIgorbXNnaWQgImNhbm5vdCByZWFkIG5vdGUgZGF0YSBmcm9tIG5vbi1ibG9iIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAiS2FubiBOb3Rpei1EYXRlbiBuaWNodCB2b24gTmljaHQtQmxvYiBPYmpla3QgJyVzJyBsZXNlbi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNjIgYnVpbHRpbi9ub3Rlcy5jOjQxNyBidWlsdGluL25vdGVzLmM6NDkzCi0jOiBidWlsdGluL25vdGVzLmM6NTA1IGJ1aWx0aW4vbm90ZXMuYzo1ODEgYnVpbHRpbi9ub3Rlcy5jOjY0OQotIzogYnVpbHRpbi9ub3Rlcy5jOjk0NgorIzogYnVpbHRpbi9ub3Rlcy5jOjMwMQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCittc2dzdHIgIkZlaGxlcmhhZnRlIEVpbmdhYmV6ZWlsZTogJyVzJy4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCittc2dzdHIgIkZlaGxlciBiZWltIEtvcGllcmVuIGRlciBOb3RpemVuIHZvbiAnJXMnIG5hY2ggJyVzJyIKKworIy4gVFJBTlNMQVRPUlM6IHRoZSBmaXJzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEKKyMuIGdpdCBub3RlcyBjb21tYW5kOiAnYWRkJywgJ21lcmdlJywgJ3JlbW92ZScsIGV0Yy4KKyM6IGJ1aWx0aW4vbm90ZXMuYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmdXNpbmcgdG8gJXMgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgorbXNnc3RyICJBdXNmw7xocnVuZyB2b24gJXMgYXVmIE5vdGl6ZW4gaW4gJXMgKGF1w59lcmhhbGIgdm9uIHJlZnMvbm90ZXMvKSB6dXLDvGNrZ2V3aWVzZW4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNjUgYnVpbHRpbi9ub3Rlcy5jOjQyMCBidWlsdGluL25vdGVzLmM6NDk2CisjOiBidWlsdGluL25vdGVzLmM6NTA4IGJ1aWx0aW4vbm90ZXMuYzo1ODQgYnVpbHRpbi9ub3Rlcy5jOjY1MgorIzogYnVpbHRpbi9ub3Rlcy5jOjgwMiBidWlsdGluL25vdGVzLmM6OTQ5IGJ1aWx0aW4vbm90ZXMuYzo5NzAKIG1zZ2lkICJ0b28gbWFueSBwYXJhbWV0ZXJzIgogbXNnc3RyICJ6dSB2aWVsZSBQYXJhbWV0ZXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzUgYnVpbHRpbi9ub3Rlcy5jOjY2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjM3OCBidWlsdGluL25vdGVzLmM6NjY1CiAjLCBjLWZvcm1hdAotbXNnaWQgIk5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCittc2dpZCAibm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIKIG1zZ3N0ciAiS2VpbmUgTm90aXogZsO8ciBPYmpla3QgJXMgZ2VmdW5kZW4uIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzk2IGJ1aWx0aW4vbm90ZXMuYzo1NTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzozOTkgYnVpbHRpbi9ub3Rlcy5jOjU2MgogbXNnaWQgIm5vdGUgY29udGVudHMgYXMgYSBzdHJpbmciCiBtc2dzdHIgIk5vdGl6aW5oYWx0ZSBhbHMgWmVpY2hlbmtldHRlIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzk5IGJ1aWx0aW4vbm90ZXMuYzo1NjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQogbXNnaWQgIm5vdGUgY29udGVudHMgaW4gYSBmaWxlIgogbXNnc3RyICJOb3RpemluaGFsdGUgaW4gZWluZXIgRGF0ZWkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICJXaWVkZXJ2ZXJ3ZW5kdW5nIHVuZCBCZWFyYmVpdHVuZyBkZXMgYW5nZWdlYmVuZW4gTm90aXotT2JqZWt0ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDUgYnVpbHRpbi9ub3Rlcy5jOjU2OAorIzogYnVpbHRpbi9ub3Rlcy5jOjQwOCBidWlsdGluL25vdGVzLmM6NTcxCiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICJXaWVkZXJ2ZXJ3ZW5kdW5nIGRlcyBhbmdlZ2ViZW5lbiBOb3Rpei1PYmpla3RlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwOCBidWlsdGluL25vdGVzLmM6NTcxCisjOiBidWlsdGluL25vdGVzLmM6NDExIGJ1aWx0aW4vbm90ZXMuYzo1NzQKIG1zZ2lkICJhbGxvdyBzdG9yaW5nIGVtcHR5IG5vdGUiCiBtc2dzdHIgIlNwZWljaGVybiBsZWVyZXIgTm90aXogZXJsYXViZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDkgYnVpbHRpbi9ub3Rlcy5jOjQ4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMiBidWlsdGluL25vdGVzLmM6NDgzCiBtc2dpZCAicmVwbGFjZSBleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAiZXhpc3RpZXJlbmRlIE5vdGl6ZW4gZXJzZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBhZGQgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCkBAIC05MDgzLDMxICsxMDE2NSwzMSBAQAogIktvbm50ZSBOb3RpemVuIG5pY2h0IGhpbnp1ZsO8Z2VuLiBFeGlzdGllcmVuZGUgTm90aXplbiBmw7xyIE9iamVrdCAlcyAiCiAiZ2VmdW5kZW4uIFZlcndlbmRlbiBTaWUgJy1mJywgdW0gZGllIGV4aXN0aWVyZW5kZW4gTm90aXplbiB6dSDDvGJlcnNjaHJlaWJlbi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NDkgYnVpbHRpbi9ub3Rlcy5jOjUyOAorIzogYnVpbHRpbi9ub3Rlcy5jOjQ1MiBidWlsdGluL25vdGVzLmM6NTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiw5xiZXJzY2hyZWliZSBleGlzdGllcmVuZGUgTm90aXplbiBmw7xyIE9iamVrdCAlc1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDYwIGJ1aWx0aW4vbm90ZXMuYzo2MjEgYnVpbHRpbi9ub3Rlcy5jOjg4NgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MyBidWlsdGluL25vdGVzLmM6NjI0IGJ1aWx0aW4vbm90ZXMuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgbm90ZSBmb3Igb2JqZWN0ICVzXG4iCiBtc2dzdHIgIkVudGZlcm5lIE5vdGl6IGbDvHIgT2JqZWt0ICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0ODQKIG1zZ2lkICJyZWFkIG9iamVjdHMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiT2JqZWt0ZSB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0ODYKIG1zZ2lkICJsb2FkIHJld3JpdGluZyBjb25maWcgZm9yIDxjb21tYW5kPiAoaW1wbGllcyAtLXN0ZGluKSIKIG1zZ3N0ciAiIgogIktvbmZpZ3VyYXRpb24gZsO8ciA8QmVmZWhsPiB6dW0gVW1zY2hyZWliZW4gdm9uIENvbW1pdHMgbGFkZW4gKGltcGxpemllcnQgLS0iCiAic3RkaW4pIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTAxCisjOiBidWlsdGluL25vdGVzLmM6NTA0CiBtc2dpZCAidG9vIGZldyBwYXJhbWV0ZXJzIgogbXNnc3RyICJ6dSB3ZW5pZyBQYXJhbWV0ZXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtOTExNiwxMiArMTAxOTgsMTIgQEAKICJLYW5uIE5vdGl6ZW4gbmljaHQga29waWVyZW4uIEV4aXN0aWVyZW5kZSBOb3RpemVuIGbDvHIgT2JqZWt0ICVzIGdlZnVuZGVuLiAiCiAiVmVyd2VuZGVuIFNpZSAnLWYnLCB1bSBkaWUgZXhpc3RpZXJlbmRlbiBOb3RpemVuIHp1IMO8YmVyc2NocmVpYmVuLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzNAorIzogYnVpbHRpbi9ub3Rlcy5jOjUzNwogIywgYy1mb3JtYXQKLW1zZ2lkICJNaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKK21zZ2lkICJtaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKIG1zZ3N0ciAiS2VpbmUgTm90aXplbiBmw7xyIFF1ZWxsLU9iamVrdCAlcy4gS29waWUgbmljaHQgbcO2Z2xpY2guIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTg2CisjOiBidWlsdGluL25vdGVzLmM6NTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgLW0vLUYvLWMvLUMgb3B0aW9ucyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlICdlZGl0JyBzdWJjb21tYW5kLlxuIgpAQCAtOTEzMCwxNSArMTAyMTIsNTIgQEAKICJEaWUgT3B0aW9uZW4gLW0vLUYvLWMvLUMgc2luZCBmw7xyIGRlbiBVbnRlcmJlZmVobCAnZWRpdCcgdmVyYWx0ZXQuXG4iCiAiQml0dGUgYmVudXR6ZW4gU2llIHN0YXR0ZGVzc2VuICdnaXQgbm90ZXMgYWRkIC1mIC1tLy1GLy1jLy1DJy5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc2OAorIzogYnVpbHRpbi9ub3Rlcy5jOjY4NQorbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCittc2dzdHIgIkZlaGxlciBiZWltIEzDtnNjaGVuIGRlciBSZWZlcmVueiBOT1RFU19NRVJHRV9QQVJUSUFMIgorCisjOiBidWlsdGluL25vdGVzLmM6Njg3Cittc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUkVGIgorbXNnc3RyICJGZWhsZXIgYmVpbSBMw7ZzY2hlbiBkZXIgUmVmZXJlbnogTk9URVNfTUVSR0VfUkVGIgorCisjOiBidWlsdGluL25vdGVzLmM6Njg5Cittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnZ2l0IG5vdGVzIG1lcmdlJyB3b3JrdHJlZSIKK21zZ3N0ciAiRmVobGVyIGJlaW0gTMO2c2NoZW4gZGVzIEFyYmVpdHN2ZXJ6ZWljaG5pc3NlcyB2b24gJ2dpdCBub3RlcyBtZXJnZScuIgorCisjOiBidWlsdGluL25vdGVzLmM6NzA5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCittc2dzdHIgIkZlaGxlciBiZWltIExlc2VuIGRlciBSZWZlcmVueiBOT1RFU19NRVJHRV9QQVJUSUFMIgorCisjOiBidWlsdGluL25vdGVzLmM6NzExCittc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgIktvbm50ZSBDb21taXQgdm9uIE5PVEVTX01FUkdFX1BBUlRJQUwgbmljaHQgZmluZGVuLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcxMworbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKK21zZ3N0ciAiS29ubnRlIENvbW1pdCB2b24gTk9URVNfTUVSR0VfUEFSVElBTCBuaWNodCBwYXJzZW4uIgorCisjOiBidWlsdGluL25vdGVzLmM6NzI2Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgTk9URVNfTUVSR0VfUkVGIgorbXNnc3RyICJGZWhsZXIgYmVpbSBBdWZsw7ZzZW4gdm9uIE5PVEVTX01FUkdFX1JFRiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcyOQorbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSBub3RlcyBtZXJnZSIKK21zZ3N0ciAiRmVobGVyIGJlaW0gQWJzY2hsaWXDn2VuIGRlciBadXNhbW1lbmbDvGhydW5nIGRlciBOb3RpemVuLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5vdGVzIG1lcmdlIHN0cmF0ZWd5ICVzIgorbXNnc3RyICJ1bmJla2FubnRlIE1lcmdlLVN0cmF0ZWdpZSAnJXMnIGbDvHIgTm90aXplbiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc3MQogbXNnaWQgIkdlbmVyYWwgb3B0aW9ucyIKIG1zZ3N0ciAiQWxsZ2VtZWluZSBPcHRpb25lbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjc3MwogbXNnaWQgIk1lcmdlIG9wdGlvbnMiCiBtc2dzdHIgIk1lcmdlLU9wdGlvbmVuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzcyCisjOiBidWlsdGluL25vdGVzLmM6Nzc1CiBtc2dpZCAiIgogInJlc29sdmUgbm90ZXMgY29uZmxpY3RzIHVzaW5nIHRoZSBnaXZlbiBzdHJhdGVneSAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uLyIKICJjYXRfc29ydF91bmlxKSIKQEAgLTkxNDYsMjUwICsxMDI2NSwyOTAgQEAKICJsw7ZzdCBLb25mbGlrdGUgYmVpIE5vdGl6ZW4gbWl0IGRlciBhbmdlZ2ViZW5lbiBTdHJhdGVnaWUgYXVmIChtYW51YWwvb3Vycy8iCiAidGhlaXJzL3VuaW9uL2NhdF9zb3J0X3VuaXEpIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc0CisjOiBidWlsdGluL25vdGVzLmM6Nzc3CiBtc2dpZCAiQ29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAibmljaHQgenVzYW1tZW5nZWbDvGhydGUgTm90aXplbiBlaW50cmFnZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzkKIG1zZ2lkICJmaW5hbGl6ZSBub3RlcyBtZXJnZSBieSBjb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICIiCiAiTWVyZ2Ugdm9uIE5vdGl6ZW4gYWJzY2hsaWXDn2VuLCBpbiBkZW0gbmljaHQgenVzYW1tZW5nZWbDvGhydGUgTm90aXplbiAiCiAiY29tbWl0dGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3OAorIzogYnVpbHRpbi9ub3Rlcy5jOjc4MQogbXNnaWQgIkFib3J0aW5nIG5vdGVzIG1lcmdlIHJlc29sdXRpb24iCiBtc2dzdHIgIktvbmZsaWt0YXVmbMO2c3VuZyBiZWltIE1lcmdlIHZvbiBOb3RpemVuIGFiYnJlY2hlbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjc4MwogbXNnaWQgImFib3J0IG5vdGVzIG1lcmdlIgogbXNnc3RyICJNZXJnZSB2b24gTm90aXplbiBhYmJyZWNoZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NTcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTQKK21zZ2lkICJjYW5ub3QgbWl4IC0tY29tbWl0LCAtLWFib3J0IG9yIC1zLy0tc3RyYXRlZ3kiCittc2dzdHIgIkthbm4gLS1jb21taXQsIC0tYWJvcnQgb2RlciAtcy8tLXN0cmF0ZWd5IG5pY2h0IGtvbWJpbmllcmVuLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc5OQorbXNnaWQgIm11c3Qgc3BlY2lmeSBhIG5vdGVzIHJlZiB0byBtZXJnZSIKK21zZ3N0ciAiU2llIG3DvHNzZW4gZWluZSBOb3Rpei1SZWZlcmVueiB6dW0gTWVyZ2VuIGFuZ2ViZW4uIgorCisjOiBidWlsdGluL25vdGVzLmM6ODIzCiAjLCBjLWZvcm1hdAotbXNnaWQgIkEgbm90ZXMgbWVyZ2UgaW50byAlcyBpcyBhbHJlYWR5IGluLXByb2dyZXNzIGF0ICVzIgorbXNnaWQgInVua25vd24gLXMvLS1zdHJhdGVneTogJXMiCittc2dzdHIgIlVuYmVrYW5udGVyIFdlcnQgZsO8ciAtcy8tLXN0cmF0ZWd5OiAlcyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJhIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKIG1zZ3N0ciAiRWluIE1lcmdlIHZvbiBOb3RpemVuIG5hY2ggJXMgaXN0IGJlcmVpdHMgaW0gR2FuZ2UgYmVpICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODg0CisjOiBidWlsdGluL25vdGVzLmM6ODYzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzdG9yZSBsaW5rIHRvIGN1cnJlbnQgbm90ZXMgcmVmICglcykiCittc2dzdHIgIiIKKyJGZWhsZXIgYmVpbSBTcGVpY2hlcm4gZGVyIFZlcmtuw7xwZnVuZyB6dXIgYWt0dWVsbGVuIE5vdGVzLVJlZmVyZW56ICglcykiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkF1dG9tYXRpYyBub3RlcyBtZXJnZSBmYWlsZWQuIEZpeCBjb25mbGljdHMgaW4gJXMgYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggIgorIidnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnLCBvciBhYm9ydCB0aGUgbWVyZ2Ugd2l0aCAnZ2l0IG5vdGVzIG1lcmdlIC0tIgorImFib3J0Jy5cbiIKK21zZ3N0ciAiIgorIkF1dG9tYXRpc2NoZXMgWnVzYW1tZW5mw7xocmVuIGRlciBOb3RpemVuIGZlaGxnZXNjaGxhZ2VuLiBCZWhlYmVuIFNpZSBkaWVcbiIKKyJLb25mbGlrdGUgaW4gJXMgdW5kIGNvbW1pdHRlbiBTaWUgZGFzIEVyZ2VibmlzIG1pdCAnZ2l0IG5vdGVzIG1lcmdlIC0tIgorImNvbW1pdCcsXG4iCisib2RlciBicmVjaGVuIFNpZSBkZW4gTWVyZ2UgbWl0ICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcgYWIuXG4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiT2JqZWN0ICVzIGhhcyBubyBub3RlXG4iCiBtc2dzdHIgIk9iamVrdCAlcyBoYXQga2VpbmUgTm90aXpcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5NgorIzogYnVpbHRpbi9ub3Rlcy5jOjg5OQogbXNnaWQgImF0dGVtcHQgdG8gcmVtb3ZlIG5vbi1leGlzdGVudCBub3RlIGlzIG5vdCBhbiBlcnJvciIKIG1zZ3N0ciAiZGVyIFZlcnN1Y2gsIGVpbmUgbmljaHQgZXhpc3RpZXJlbmRlIE5vdGl6IHp1IGzDtnNjaGVuLCBpc3Qga2VpbiBGZWhsZXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDIKIG1zZ2lkICJyZWFkIG9iamVjdCBuYW1lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiT2JqZWt0bmFtZW4gdm9uIGRlciBTdGFuZGFyZC1FaW5nYWJlIGxlc2VuIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTgwCisjOiBidWlsdGluL25vdGVzLmM6OTQwIGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyNworbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKK21zZ3N0ciAibmljaHQgbMO2c2NoZW4sIG51ciBhbnplaWdlbiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjk0MQorbXNnaWQgInJlcG9ydCBwcnVuZWQgbm90ZXMiCittc2dzdHIgImdlbMO2c2NodGUgTm90aXplbiBtZWxkZW4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODMKIG1zZ2lkICJub3Rlcy1yZWYiCiBtc2dzdHIgIk5vdGl6LVJlZmVyZW56IgogCi0jOiBidWlsdGluL25vdGVzLmM6OTgxCisjOiBidWlsdGluL25vdGVzLmM6OTg0CiBtc2dpZCAidXNlIG5vdGVzIGZyb20gPG5vdGVzLXJlZj4iCiBtc2dzdHIgIk5vdGl6ZW4gdm9uIDxOb3Rpei1SZWZlcmVuej4gdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTAxNiBidWlsdGluL3JlbW90ZS5jOjE2MjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDE5CiAjLCBjLWZvcm1hdAotbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dpZCAidW5rbm93biBzdWJjb21tYW5kOiAlcyIKIG1zZ3N0ciAiVW5iZWthbm50ZXIgVW50ZXJiZWZlaGw6ICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5CiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzxvcHRpb25zPi4uLl0gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8T3B0aW9uZW4+Li4uXSBbPCA8UmVmZXJlbnpsaXN0ZT4gfCA8ICIKICI8T2JqZWt0bGlzdGU+XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMAogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIFs8b3B0aW9ucz4uLi5dIDxiYXNlLW5hbWU+IFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPE9wdGlvbmVuPi4uLl0gPEJhc2lzLU5hbWU+IFs8IDxSZWZlcmVuemxpc3RlPiB8IDwgIgogIjxPYmpla3RsaXN0ZT5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3NSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICJGZWhsZXIgYmVpbSBLb21wcmltaWVyZW4gKCVkKSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzY4CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKIG1zZ3N0ciAiIgogIkRlYWt0aXZpZXJlIFNjaHJlaWJlbiBkZXIgQml0bWFwLCBQYWtldGUgd3VyZGVuIGR1cmNoIHBhY2sucGFja1NpemVMaW1pdFxuIgogImF1ZmdldHJlbm50LiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzgxCiBtc2dpZCAiV3JpdGluZyBvYmplY3RzIgogbXNnc3RyICJTY2hyZWliZSBPYmpla3RlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjEwMTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTA3MAogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgYXMgc29tZSBvYmplY3RzIGFyZSBub3QgYmVpbmcgcGFja2VkIgogbXNnc3RyICIiCi0iRGVha3RpdmllcmUgU2NocmVpYmVuIGRlciBCaXRtYXAsIGRhIGVpbmlnZSBPYmpla3RlIG5pY2h0IGluIGVpbmUgUGFjay1EYXRlaVxuIgorIkRlYWt0aXZpZXJlIFNjaHJlaWJlbiBkZXIgQml0bWFwLCBkYSBlaW5pZ2UgT2JqZWt0ZSBuaWNodCBpbiBlaW5lIFBhY2stIgorIkRhdGVpXG4iCiAiZ2VzY2hyaWViZW4gd3VyZGVuLiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTc3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzNDYKIG1zZ2lkICJDb21wcmVzc2luZyBvYmplY3RzIgogbXNnc3RyICJLb21wcmltaWVyZSBPYmpla3RlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBpbmRleCB2ZXJzaW9uICVzIgogbXNnc3RyICJOaWNodCB1bnRlcnN0w7x0enRlIEluZGV4LVZlcnNpb24gJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICclcyciCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgSW5kZXgtVmVyc2lvbiAnJXMnIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1OTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MwogbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICJrZWluZSBGb3J0c2Nocml0dHNhbnplaWdlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1OTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5NQogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgIkZvcnRzY2hyaXR0c2FuemVpZ2UgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk3CiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCiBtc2dzdHIgIiIKICJGb3JzY2hyaXR0c2FuemVpZ2Ugd8OkaHJlbmQgZGVyIFBoYXNlIGRlcyBTY2hyZWliZW5zIGRlciBPYmpla3RlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMAogbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKIG1zZ3N0ciAiw6RobmxpY2ggenUgLS1hbGwtcHJvZ3Jlc3Mgd2VubiBGb3J0c2Nocml0dHNhbnplaWdlIGRhcnN0ZWxsdCB3aXJkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMQogbXNnaWQgInZlcnNpb25bLG9mZnNldF0iCiBtc2dzdHIgInZlcnNpb25bLG9mZnNldF0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwNgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAyCiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogImRpZSBJbmRleC1EYXRlaSBkZXMgUGFrZXRlcyBpbiBkZXIgYW5nZWdlYmVuZW4gSW5kZXhmb3JtYXQtVmVyc2lvbiBzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA1CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAibWF4aW1hbGUgR3LDtsOfZSBmw7xyIGplZGUgYXVzZ2VnZWJlbmUgUGFrZXRkYXRlaSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjExCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDcKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgImdlbGllaGVuZSBPYmpla3RlIHZvbiBhbHRlcm5hdGl2ZW0gT2JqZWt0c3BlaWNoZXIgaWdub3JpZXJlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDkKIG1zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCiBtc2dzdHIgImdlcGFja3RlIE9iamVrdGUgaWdub3JpZXJlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjE1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTEKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgogbXNnc3RyICJQYWtldGZlbnN0ZXIgZHVyY2ggT2JqZWt0ZSBiZWdyZW56ZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODEzCiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAiIgogIlBha2V0ZmVuc3RlciwgenVzw6R0emxpY2ggenVyIE9iamVrdGJlZ3Jlbnp1bmcsIGR1cmNoIFNwZWljaGVyIGJlZ3JlbnplbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjE5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTUKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKIG1zZ3N0ciAiIgogIm1heGltYWxlIEzDpG5nZSBkZXIgZXJsYXVidGVuIERpZmZlcmVuenZlcmtldHR1bmcgaW0gcmVzdWx0aWVyZW5kZW4gUGFrZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODE3CiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICJleGlzdGllcmVuZGUgVW50ZXJzY2hpZWRlIHdpZWRlcnZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjIzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTkKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgogbXNnc3RyICJleGlzdGllcmVuZGUgT2JqZWt0ZSB3aWVkZXJ2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIxCiBtc2dpZCAidXNlIE9GU19ERUxUQSBvYmplY3RzIgogbXNnc3RyICJPRlNfREVMVEEgT2JqZWt0ZSB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIzCiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogIlRocmVhZHMgYmVpIGRlciBTdWNoZSBuYWNoIGRlbiBiZXN0ZW4gw5xiZXJlaW5zdGltbXVuZ2VuIGJlaSBVbnRlcnNjaGllZGVuICIKICJ2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI1CiBtc2dpZCAiZG8gbm90IGNyZWF0ZSBhbiBlbXB0eSBwYWNrIG91dHB1dCIKIG1zZ3N0ciAia2VpbmUgbGVlcmVuIFBha2V0ZSBlcnpldWdlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjMxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjcKIG1zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJBcmd1bWVudGUgYmV6w7xnbGljaCBDb21taXRzIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSBsZXNlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjMzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjkKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKIG1zZ3N0ciAiZGllIE9iamVrdGUgenUgc29sY2hlbiwgZGllIG5vY2ggbmljaHQgZ2VwYWNrdCB3dXJkZW4sIGJlZ3JlbnplbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjM2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzIKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAiT2JqZWt0ZSBlaW5zY2hsaWXDn2VuLCBkaWUgdm9uIGplZGVyIFJlZmVyZW56IGVycmVpY2hiYXIgc2luZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjM5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzUKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCiBtc2dzdHIgIiIKICJPYmpla3RlIGVpbnNjaGxpZcOfZW4sIGRpZSB2b24gRWludHLDpGdlbiBkZXMgUmVmbG9ncyByZWZlcmVuemllcnQgd2VyZGVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzOAogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCB0byBieSB0aGUgaW5kZXgiCiBtc2dzdHIgIk9iamVrdGUgZWluc2NobGllw59lbiwgZGllIHZvbSBJbmRleCByZWZlcmVuemllcnQgd2VyZGVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0MQogbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKIG1zZ3N0ciAiUGFrZXQgaW4gZGllIFN0YW5kYXJkLUF1c2dhYmUgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0MwogbXNnaWQgImluY2x1ZGUgdGFnIG9iamVjdHMgdGhhdCByZWZlciB0byBvYmplY3RzIHRvIGJlIHBhY2tlZCIKIG1zZ3N0ciAiVGFnLU9iamVrdGUgZWluc2NobGllw59lbiwgZGllIGF1ZiBnZXBhY2t0ZSBPYmpla3RlIHJlZmVyZW56aWVyZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ1CiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJuaWNodCBlcnJlaWNoYmFyZSBPYmpla3RlIGJlaGFsdGVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTAgcGFyc2Utb3B0aW9ucy5oOjE0MgotbXNnaWQgInRpbWUiCi1tc2dzdHIgIlplaXQiCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDcKK21zZ2lkICJwYWNrIGxvb3NlIHVucmVhY2hhYmxlIG9iamVjdHMiCittc2dzdHIgIm5pY2h0IGVycmVpY2hiYXJlIGxvc2UgT2JqZWt0ZSBwYWNrZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ5CiBtc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIm5pY2h0IGVycmVpY2hiYXJlIE9iamVrdGUgZW50cGFja2VuLCBkaWUgbmV1ZXIgYWxzIDxaZWl0PiBzaW5kIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1MgogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICJkw7xubmVyZSBQYWtldGUgZXJ6ZXVnZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODU0CiBtc2dpZCAiY3JlYXRlIHBhY2tzIHN1aXRhYmxlIGZvciBzaGFsbG93IGZldGNoZXMiCiBtc2dzdHIgIiIKICJQYWtldGUgZ2VlaWduZXQgZsO8ciBBYmhvbHVuZyBtaXQgdW52b2xsc3TDpG5kaWdlciBIaXN0b3JpZSAoc2hhbGxvdykgZXJ6ZXVnZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODU2CiBtc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKIG1zZ3N0ciAiUGFrZXRlIGlnbm9yaWVyZW4sIGRpZSAua2VlcCBEYXRlaWVuIGhhYmVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1OAogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgIktvbXByaW1pZXJ1bmdzZ3JhZCBmw7xyIFBha2V0aWVydW5nIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2MAogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICJrZWluZSBrw7xuc3RsaWNoZW4gVm9yZ8Okbmdlci1Db21taXRzIChcImdyYWZ0c1wiKSB2ZXJiZXJnZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODYyCiBtc2dpZCAidXNlIGEgYml0bWFwIGluZGV4IGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCBjb3VudGluZyBvYmplY3RzIgogbXNnc3RyICIiCiAiQml0bWFwLUluZGV4IChmYWxscyB2ZXJmw7xnYmFyKSB6dXIgT3B0aW1pZXJ1bmcgZGVyIE9iamVrdHrDpGhsdW5nIGJlbnV0emVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2NAogbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IHRvZ2V0aGVyIHdpdGggdGhlIHBhY2sgaW5kZXgiCiBtc2dzdHIgIkJpdG1hcC1JbmRleCB6dXNhbW1lbiBtaXQgUGFjay1JbmRleCBzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc1NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTkzCiBtc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiWsOkaGxlIE9iamVrdGUiCiAKQEAgLTk0MTcsMTUgKzEwNTc2LDExIEBACiBtc2dpZCAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1leHBpcmUgPHRpbWU+XSBbLS1dIFs8aGVhZD4uLi5dIgogbXNnc3RyICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLWV4cGlyZSA8WmVpdD5dIFstLV0gWzxoZWFkPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyNQotbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKLW1zZ3N0ciAibmljaHQgbMO2c2NoZW4sIG51ciBhbnplaWdlbiIKLQotIzogYnVpbHRpbi9wcnVuZS5jOjEwNiBidWlsdGluL3dvcmt0cmVlLmM6MTI2CisjOiBidWlsdGluL3BydW5lLmM6MTA2IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjgKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG9iamVjdHMiCiBtc2dzdHIgImdlbMO2c2NodGUgT2JqZWt0ZSBtZWxkZW4iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkgYnVpbHRpbi93b3JrdHJlZS5jOjEyOAorIzogYnVpbHRpbi9wcnVuZS5jOjEwOSBidWlsdGluL3dvcmt0cmVlLmM6MTMwCiBtc2dpZCAiZXhwaXJlIG9iamVjdHMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIk9iamVrdGUgw6RsdGVyIGFscyA8WmVpdD4gdmVyZmFsbGVuIGxhc3NlbiIKIApAQCAtOTQzMyw2MCArMTA1ODgsNDUgQEAKIG1zZ2lkICJjYW5ub3QgcHJ1bmUgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgImthbm4gXCJwcnVuZVwiIGluIHByZWNpb3VzLW9iamVjdHMgUmVwb3NpdG9yeSBuaWNodCBhdXNmw7xocmVuIgogCi0jOiBidWlsdGluL3B1bGwuYzo3MgorIzogYnVpbHRpbi9wdWxsLmM6NTEgYnVpbHRpbi9wdWxsLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgorbXNnc3RyICJVbmfDvGx0aWdlciBXZXJ0IGbDvHIgJXM6ICVzIgorCisjOiBidWlsdGluL3B1bGwuYzo3MwogbXNnaWQgImdpdCBwdWxsIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVsbCBbPE9wdGlvbmVuPl0gWzxSZXBvc2l0b3J5PiBbPFJlZnNwZWM+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEyMAorIzogYnVpbHRpbi9wdWxsLmM6MTIxCiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIG1lcmdpbmciCiBtc2dzdHIgIk9wdGlvbmVuIGJlem9nZW4gYXVmIE1lcmdlIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMjMKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyNAogbXNnaWQgImluY29ycG9yYXRlIGNoYW5nZXMgYnkgcmViYXNpbmcgcmF0aGVyIHRoYW4gbWVyZ2luZyIKIG1zZ3N0ciAiSW50ZWdyYXRpb24gdm9uIMOEbmRlcnVuZ2VuIGR1cmNoIFJlYmFzZSBzdGF0dCBNZXJnZSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTQ3IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CisjOiBidWlsdGluL3B1bGwuYzoxNDggYnVpbHRpbi9yZXZlcnQuYzoxMDEKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIlZvcnNwdWxlbiBlcmxhdWJlbiIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTUzCi1tc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgotbXNnc3RyICJkZW4gZ2VuYW5udGVuIENvbW1pdCBhdWYgZWluZSBnw7xsdGlnZSBHUEctU2lnbmF0dXIgw7xiZXJwcsO8ZmVuIgotCi0jOiBidWlsdGluL3B1bGwuYzoxNTYKKyM6IGJ1aWx0aW4vcHVsbC5jOjE1NwogbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIgcmViYXNlIgogbXNnc3RyICJhdXRvbWF0aXNjaGVyIFN0YXNoL1N0YXNoLVBvcCB2b3IgdW5kIG5hY2ggZWluZXMgUmViYXNlIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNzIKKyM6IGJ1aWx0aW4vcHVsbC5jOjE3MwogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBmZXRjaGluZyIKIG1zZ3N0ciAiT3B0aW9uZW4gYmV6b2dlbiBhdWYgRmV0Y2giCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5NAorIzogYnVpbHRpbi9wdWxsLmM6MTk1CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgcHVsbGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJBbnphaGwgZGVyIHBhcmFsbGVsIG1pdCAncHVsbCcgenUgdmVyYXJiZWl0ZW5kZW4gU3VibW9kdWxlIgogCi0jOiBidWlsdGluL3B1bGwuYzoyODMKKyM6IGJ1aWx0aW4vcHVsbC5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciBwdWxsLmZmOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgV2VydCBmw7xyIHB1bGwuZmY6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzozNzkKLW1zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCi1tc2dzdHIgIiIKLSJLYW5uIFwicHVsbFwiIG1pdCBcInJlYmFzZVwiIG5pY2h0IGF1c2bDvGhyZW46IFNpZSBoYWJlbiDDhG5kZXJ1bmdlbiwgZGllICIKLSJuaWNodCB6dW0gQ29tbWl0IHZvcmdlbWVya3Qgc2luZC4iCi0KLSM6IGJ1aWx0aW4vcHVsbC5jOjM4NQotbXNnaWQgIkFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKLW1zZ3N0ciAiWnVzw6R0emxpY2ggYmVpbmhhbHRldCBkaWUgU3RhZ2luZy1BcmVhIG5pY2h0IGNvbW1pdHRldGUgw4RuZGVydW5nZW4uIgotCi0jOiBidWlsdGluL3B1bGwuYzozODcKLW1zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKLW1zZ3N0ciAiIgotIkthbm4gXCJwdWxsXCIgbWl0IFwicmViYXNlXCIgbmljaHQgYXVzZsO8aHJlbjogRGllIFN0YWdpbmctQXJlYSBiZWluaGFsdGV0ICIKLSJuaWNodCBjb21taXR0ZXRlIMOEbmRlcnVuZ2VuLiIKLQotIzogYnVpbHRpbi9wdWxsLmM6NDYzCisjOiBidWlsdGluL3B1bGwuYzozOTcKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm8gY2FuZGlkYXRlIGZvciByZWJhc2luZyBhZ2FpbnN0IGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgIgogImZldGNoZWQuIgpAQCAtOTQ5NCwxNCArMTA2MzQsMTQgQEAKICJFcyBnaWJ0IGtlaW5lbiBLYW5kaWRhdGVuIGbDvHIgUmViYXNlIGlubmVyaGFsYiBkZXIgUmVmZXJlbnplbiwgZGllIGViZW4gIgogImFuZ2Vmb3JkZXJ0IHd1cmRlbi4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ2NQorIzogYnVpbHRpbi9wdWxsLmM6Mzk5CiBtc2dpZCAiIgogIlRoZXJlIGFyZSBubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgZmV0Y2hlZC4iCiBtc2dzdHIgIiIKICJFcyBnaWJ0IGtlaW5lIEthbmRpZGF0ZW4gZsO8ciBNZXJnZSBpbm5lcmhhbGIgZGVyIFJlZmVyZW56ZW4sIGRpZSBlYmVuICIKICJhbmdlZm9yZGVydCB3dXJkZW4uIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NjYKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwMAogbXNnaWQgIiIKICJHZW5lcmFsbHkgdGhpcyBtZWFucyB0aGF0IHlvdSBwcm92aWRlZCBhIHdpbGRjYXJkIHJlZnNwZWMgd2hpY2ggaGFkIG5vXG4iCiAibWF0Y2hlcyBvbiB0aGUgcmVtb3RlIGVuZC4iCkBAIC05NTA5LDcgKzEwNjQ5LDcgQEAKICJJbSBBbGxnZW1laW5lbiBiZWRldXRldCBkYXMsIGRhc3MgU2llIGVpbmVuIFJlZnNwZWMgbWl0IFdpbGRjYXJkcyBhbmdlZ2ViZW5cbiIKICJoYWJlbiwgZGVyIGF1ZiBkZXIgR2VnZW5zZWl0ZSBtaXQga2VpbmVuIFJlZmVyZW56ZW4gw7xiZXJlaW5zdGltbXQuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NjkKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIHB1bGwgZnJvbSB0aGUgcmVtb3RlICclcycsIGJ1dCBkaWQgbm90IHNwZWNpZnlcbiIKQEAgLTk1MjEsNDYgKzEwNjYxLDQ3IEBACiAiUmVwb3NpdG9yeSBmw7xyIGRlbiBha3R1ZWxsZW4gQnJhbmNoIGlzdCwgbcO8c3NlbiBTaWUgZWluZW4gQnJhbmNoIGF1ZlxuIgogImRlciBCZWZlaGxzemVpbGUgYW5nZWJlbi4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3NCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCisjOiBidWlsdGluL3B1bGwuYzo0MDggZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MwogbXNnaWQgIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC4iCiBtc2dzdHIgIkltIE1vbWVudCBhdWYga2VpbmVtIEJyYW5jaC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3NiBidWlsdGluL3B1bGwuYzo0OTEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQorIzogYnVpbHRpbi9wdWxsLmM6NDEwIGJ1aWx0aW4vcHVsbC5jOjQyNSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIHJlYmFzZSBhZ2FpbnN0LiIKIG1zZ3N0ciAiIgogIkJpdHRlIGdlYmVuIFNpZSBkZW4gQnJhbmNoIGFuLCBnZWdlbiB3ZWxjaGVuIFNpZSBcInJlYmFzZVwiIGF1c2bDvGhyZW4gIgogIm3DtmNodGVuLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDc4IGJ1aWx0aW4vcHVsbC5jOjQ5MyBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCisjOiBidWlsdGluL3B1bGwuYzo0MTIgYnVpbHRpbi9wdWxsLmM6NDI3IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gbWVyZ2Ugd2l0aC4iCiBtc2dzdHIgIkJpdHRlIGdlYmVuIFNpZSBkZW4gQnJhbmNoIGFuLCB3ZWxjaGVuIFNpZSB6dXNhbW1lbmbDvGhyZW4gbcO2Y2h0ZW4uIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NzkgYnVpbHRpbi9wdWxsLmM6NDk0CisjOiBidWlsdGluL3B1bGwuYzo0MTMgYnVpbHRpbi9wdWxsLmM6NDI4CiBtc2dpZCAiU2VlIGdpdC1wdWxsKDEpIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiU2llaGUgZ2l0LXB1bGwoMSkgZsO8ciB3ZWl0ZXJlIERldGFpbHMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0ODEgYnVpbHRpbi9wdWxsLmM6NDg3IGJ1aWx0aW4vcHVsbC5jOjQ5NgorIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQyMSBidWlsdGluL3B1bGwuYzo0MzAKICM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKIG1zZ2lkICI8cmVtb3RlPiIKIG1zZ3N0ciAiPFJlbW90ZS1SZXBvc2l0b3J5PiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDgxIGJ1aWx0aW4vcHVsbC5jOjQ5NiBidWlsdGluL3B1bGwuYzo1MDEKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNSBidWlsdGluL3B1bGwuYzo0MzAgYnVpbHRpbi9wdWxsLmM6NDM1IGdpdC1yZWJhc2Uuc2g6NDUxCiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIjxCcmFuY2g+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0ODkgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDIzIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKIG1zZ2lkICJUaGVyZSBpcyBubyB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiRXMgZ2lidCBrZWluZSBUcmFja2luZy1JbmZvcm1hdGlvbmVuIGbDvHIgZGVuIGFrdHVlbGxlbiBCcmFuY2guIgogCi0jOiBidWlsdGluL3B1bGwuYzo0OTggZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQorIzogYnVpbHRpbi9wdWxsLmM6NDMyIGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKIG1zZ2lkICIiCiAiSWYgeW91IHdpc2ggdG8gc2V0IHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGJyYW5jaCB5b3UgY2FuIGRvIHNvIHdpdGg6IgogbXNnc3RyICIiCi0iV2VubiBTaWUgVHJhY2tpbmctSW5mb3JtYXRpb25lbiBmw7xyIGRpZXNlbiBCcmFuY2ggc2V0emVuIG3DtmNodGVuLCBrw7ZubmVuIFNpZVxuIgorIldlbm4gU2llIFRyYWNraW5nLUluZm9ybWF0aW9uZW4gZsO8ciBkaWVzZW4gQnJhbmNoIHNldHplbiBtw7ZjaHRlbiwga8O2bm5lbiAiCisiU2llXG4iCiAiZGllcyB0dW4gbWl0OiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NTAzCisjOiBidWlsdGluL3B1bGwuYzo0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgY29uZmlndXJhdGlvbiBzcGVjaWZpZXMgdG8gbWVyZ2Ugd2l0aCB0aGUgcmVmICclcydcbiIKQEAgLTk1NzAsMTcgKzEwNzExLDI5IEBACiAiZGVzIFJlbW90ZS1SZXBvc2l0b3JpZXMgZHVyY2h6dWbDvGhyZW4sIGFiZXIgZGllc2UgUmVmZXJlbnpcbiIKICJ3dXJkZSBuaWNodCBhbmdlZm9yZGVydC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg2NAorIzogYnVpbHRpbi9wdWxsLmM6NzU0Cittc2dpZCAiaWdub3JpbmcgLS12ZXJpZnktc2lnbmF0dXJlcyBmb3IgcmViYXNlIgorbXNnc3RyICJJZ25vcmllcmUgLS12ZXJpZnktc2lnbmF0dXJlcyBmw7xyIFJlYmFzZSIKKworIzogYnVpbHRpbi9wdWxsLmM6ODAxCiBtc2dpZCAiLS1bbm8tXWF1dG9zdGFzaCBvcHRpb24gaXMgb25seSB2YWxpZCB3aXRoIC0tcmViYXNlLiIKIG1zZ3N0ciAiLS1bbm8tXWF1dG9zdGFzaCBpc3QgbnVyIG1pdCAtLXJlYmFzZSB6dWzDpHNzaWcuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NzIKKyM6IGJ1aWx0aW4vcHVsbC5jOjgwOQogbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCiBtc2dzdHIgIiIKICJBa3R1YWxpc2llcmUgZWluZW4gdW5nZWJvcmVuZW4gQnJhbmNoIG1pdCDDhG5kZXJ1bmdlbiwgZGllIHp1bSBDb21taXQgIgogInZvcmdlbWVya3Qgc2luZC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwMAorIzogYnVpbHRpbi9wdWxsLmM6ODEyCittc2dpZCAicHVsbCB3aXRoIHJlYmFzZSIKK21zZ3N0ciAiUHVsbCBtaXQgUmViYXNlIgorCisjOiBidWlsdGluL3B1bGwuYzo4MTMKK21zZ2lkICJwbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgorbXNnc3RyICJCaXR0ZSBjb21taXR0ZW4gU2llIGRpZSDDhG5kZXJ1bmdlbiBvZGVyIGJlbnV0emVuIFNpZSBcInN0YXNoXCIuIgorCisjOiBidWlsdGluL3B1bGwuYzo4MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC05NTkwLDcgKzEwNzQzLDcgQEAKICJcImZldGNoXCIgYWt0dWFsaXNpZXJ0ZSBkaWUgU3BpdHplIGRlcyBha3R1ZWxsZW4gQnJhbmNoZXMuXG4iCiAiU3B1bGUgSWhyIEFyYmVpdHN2ZXJ6ZWljaG5pcyB2b24gQ29tbWl0ICVzIHZvci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwNQorIzogYnVpbHRpbi9wdWxsLmM6ODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgZmFzdC1mb3J3YXJkIHlvdXIgd29ya2luZyB0cmVlLlxuIgpAQCAtOTYwNywxMSArMTA3NjAsMTEgQEAKICIkIGdpdCByZXNldCAtLWhhcmRcbiIKICJ6dXIgV2llZGVyaGVyc3RlbGx1bmcgYXVzLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTIwCisjOiBidWlsdGluL3B1bGwuYzo4NTgKIG1zZ2lkICJDYW5ub3QgbWVyZ2UgbXVsdGlwbGUgYnJhbmNoZXMgaW50byBlbXB0eSBoZWFkLiIKIG1zZ3N0ciAiS2FubiBuaWNodCBtZWhyZXJlIEJyYW5jaGVzIGluIGVpbmVuIGxlZXJlbiBCcmFuY2ggenVzYW1tZW5mw7xocmVuLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTI0CisjOiBidWlsdGluL3B1bGwuYzo4NjIKIG1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMuIgogbXNnc3RyICJLYW5uIFJlYmFzZSBuaWNodCBhdWYgbWVocmVyZSBCcmFuY2hlcyBhdXNmw7xocmVuLiIKIApAQCAtOTc4OCwxMiArMTA5NDEsMTIgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gVmVyc2VuZGVuIGVpbmlnZXIgUmVmZXJlbnplbiBuYWNoICclcyciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM2NQorIzogYnVpbHRpbi9wdXNoLmM6MzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXBvc2l0b3J5ICclcyciCiBtc2dzdHIgInVuZ8O8bHRpZ2VzIFJlcG9zaXRvcnkgJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzY2CisjOiBidWlsdGluL3B1c2guYzozNjcKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC05ODE1LDEwMyArMTA5NjgsMTE1IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDxOYW1lPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozODEKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4NQogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC0tYWxsIHVuZCAtLXRhZ3Mgc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL3B1c2guYzozODIKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4NgogbXNnaWQgIi0tYWxsIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1hbGwga2FubiBuaWNodCBtaXQgUmVmc3BlY3Mga29tYmluaWVydCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL3B1c2guYzozODcKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5MQogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC0tbWlycm9yIHVuZCAtLXRhZ3Mgc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL3B1c2guYzozODgKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5MgogbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1taXJyb3Iga2FubiBuaWNodCBtaXQgUmVmc3BlY3Mga29tYmluaWVydCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL3B1c2guYzozOTMKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5NwogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1hbGwgdW5kIC0tbWlycm9yIHNpbmQgaW5rb21wYXRpYmVsLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA1CisjOiBidWlsdGluL3B1c2guYzo1MTUKIG1zZ2lkICJyZXBvc2l0b3J5IgogbXNnc3RyICJSZXBvc2l0b3J5IgogCi0jOiBidWlsdGluL3B1c2guYzo1MDYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNiBidWlsdGluL3NlbmQtcGFjay5jOjE2MQogbXNnaWQgInB1c2ggYWxsIHJlZnMiCiBtc2dzdHIgImFsbGUgUmVmZXJlbnplbiB2ZXJzZW5kZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUwNyBidWlsdGluL3NlbmQtcGFjay5jOjE2MworIzogYnVpbHRpbi9wdXNoLmM6NTE3IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCiBtc2dpZCAibWlycm9yIGFsbCByZWZzIgogbXNnc3RyICJhbGxlIFJlZmVyZW56ZW4gc3BpZWdlbG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUwOQorIzogYnVpbHRpbi9wdXNoLmM6NTE5CiBtc2dpZCAiZGVsZXRlIHJlZnMiCiBtc2dzdHIgIlJlZmVyZW56ZW4gbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxMAorIzogYnVpbHRpbi9wdXNoLmM6NTIwCiBtc2dpZCAicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIgogbXNnc3RyICJUYWdzIHZlcnNlbmRlbiAoa2FubiBuaWNodCBtaXQgLS1hbGwgb2RlciAtLW1pcnJvciB2ZXJ3ZW5kZXQgd2VyZGVuKSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTEzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CisjOiBidWlsdGluL3B1c2guYzo1MjMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKIG1zZ2lkICJmb3JjZSB1cGRhdGVzIgogbXNnc3RyICJBa3R1YWxpc2llcnVuZyBlcnp3aW5nZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxNSBidWlsdGluL3NlbmQtcGFjay5jOjE3NQorIzogYnVpbHRpbi9wdXNoLmM6NTI1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CiBtc2dpZCAicmVmbmFtZT46PGV4cGVjdCIKIG1zZ3N0ciAiUmVmZXJlbnpuYW1lPjo8RXJ3YXJ0dW5nc3dlcnQiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxNiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgorIzogYnVpbHRpbi9wdXNoLmM6NTI2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CiBtc2dpZCAicmVxdWlyZSBvbGQgdmFsdWUgb2YgcmVmIHRvIGJlIGF0IHRoaXMgdmFsdWUiCiBtc2dzdHIgIlJlZmVyZW56IG11c3Mgc2ljaCBhdWYgZGVtIGFuZ2VnZWJlbmVuIFdlcnQgYmVmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxOQorIzogYnVpbHRpbi9wdXNoLmM6NTI5CiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICJyZWt1cnNpdmVuIFwicHVzaFwiIHZvbiBTdWJtb2R1bGVuIHN0ZXVlcm4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyMSBidWlsdGluL3NlbmQtcGFjay5jOjE2OQorIzogYnVpbHRpbi9wdXNoLmM6NTMxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5CiBtc2dpZCAidXNlIHRoaW4gcGFjayIKIG1zZ3N0ciAia2xlaW5lcmUgUGFrZXRlIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIyIGJ1aWx0aW4vcHVzaC5jOjUyMyBidWlsdGluL3NlbmQtcGFjay5jOjE1OAorIzogYnVpbHRpbi9wdXNoLmM6NTMyIGJ1aWx0aW4vcHVzaC5jOjUzMyBidWlsdGluL3NlbmQtcGFjay5jOjE1OAogIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNTkKIG1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKIG1zZ3N0ciAiJ3JlY2VpdmUgcGFjaycgUHJvZ3JhbW0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyNAorIzogYnVpbHRpbi9wdXNoLmM6NTM0CiBtc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCiBtc2dzdHIgIlVwc3RyZWFtIGbDvHIgXCJnaXQgcHVsbC9zdGF0dXNcIiBzZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyNworIzogYnVpbHRpbi9wdXNoLmM6NTM3CiBtc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCiBtc2dzdHIgImxva2FsIGdlbMO2c2NodGUgUmVmZXJlbnplbiBlbnRmZXJuZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyOQorIzogYnVpbHRpbi9wdXNoLmM6NTM5CiBtc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCiBtc2dzdHIgIlwicHJlLXB1c2ggaG9va1wiIHVtZ2VoZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzMAorIzogYnVpbHRpbi9wdXNoLmM6NTQwCiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgogbXNnc3RyICJmZWhsZW5kZSwgYWJlciByZWxldmFudGUgVGFncyB2ZXJzZW5kZW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzMyBidWlsdGluL3NlbmQtcGFjay5jOjE2NgorIzogYnVpbHRpbi9wdXNoLmM6NTQzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CiBtc2dpZCAiR1BHIHNpZ24gdGhlIHB1c2giCiBtc2dzdHIgInNpZ25pZXJ0IFwicHVzaFwiIG1pdCBHUEciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzNSBidWlsdGluL3NlbmQtcGFjay5jOjE3MAorIzogYnVpbHRpbi9wdXNoLmM6NTQ1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcwCiBtc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCiBtc2dzdHIgIlJlZmVyZW56ZW4gYXRvbWFyIHZlcnNlbmRlbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ5CisjOiBidWlsdGluL3B1c2guYzo1NDYKK21zZ2lkICJzZXJ2ZXItc3BlY2lmaWMiCittc2dzdHIgInNlcnZlcnNwZXppZmlzY2giCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NgorbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKK21zZ3N0ciAiT3B0aW9uIMO8YmVydHJhZ2VuIgorCisjOiBidWlsdGluL3B1c2guYzo1NjAKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWRlbGV0ZSBpc3QgaW5rb21wYXRpYmVsIG1pdCAtLWFsbCwgLS1taXJyb3IgdW5kIC0tdGFncy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MQorIzogYnVpbHRpbi9wdXNoLmM6NTYyCiBtc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1kZWxldGUga2FubiBudXIgbWl0IFJlZmVyZW56ZW4gdmVyd2VuZGV0IHdlcmRlbi4iCiAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3OQorbXNnaWQgInB1c2ggb3B0aW9ucyBtdXN0IG5vdCBoYXZlIG5ldyBsaW5lIGNoYXJhY3RlcnMiCittc2dzdHIgIlB1c2gtT3B0aW9uZW4gZMO8cmZlbiBrZWluZSBaZWlsZW52b3JzY2h1YnplaWNoZW4gaGFiZW4iCisKICM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MzcKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCkBAIC05OTg1LDE3ICsxMTE1MCw3MCBAQAogCiAjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOQogbXNnaWQgImRlYnVnIHVucGFjay10cmVlcyIKLW1zZ3N0ciAiRW50cGFja2VuIGRlciBCw6R1bWUgcHJvdG9rb2xsaWVyZW4iCittc2dzdHIgInVucGFjay10cmVlcyBwcm90b2tvbGxpZXJlbiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoyNQorIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoyNgogbXNnaWQgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IgogbXNnc3RyICJnaXQgcmVjZWl2ZS1wYWNrIDxHaXQtVmVyemVpY2huaXM+IgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE3MTkKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6NzkzCittc2dpZCAiIgorIkJ5IGRlZmF1bHQsIHVwZGF0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpbiBhIG5vbi1iYXJlIHJlcG9zaXRvcnlcbiIKKyJpcyBkZW5pZWQsIGJlY2F1c2UgaXQgd2lsbCBtYWtlIHRoZSBpbmRleCBhbmQgd29yayB0cmVlIGluY29uc2lzdGVudFxuIgorIndpdGggd2hhdCB5b3UgcHVzaGVkLCBhbmQgd2lsbCByZXF1aXJlICdnaXQgcmVzZXQgLS1oYXJkJyB0byBtYXRjaFxuIgorInRoZSB3b3JrIHRyZWUgdG8gSEVBRC5cbiIKKyJcbiIKKyJZb3UgY2FuIHNldCAncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0b1xuIgorIidpZ25vcmUnIG9yICd3YXJuJyBpbiB0aGUgcmVtb3RlIHJlcG9zaXRvcnkgdG8gYWxsb3cgcHVzaGluZyBpbnRvXG4iCisiaXRzIGN1cnJlbnQgYnJhbmNoOyBob3dldmVyLCB0aGlzIGlzIG5vdCByZWNvbW1lbmRlZCB1bmxlc3MgeW91XG4iCisiYXJyYW5nZWQgdG8gdXBkYXRlIGl0cyB3b3JrIHRyZWUgdG8gbWF0Y2ggd2hhdCB5b3UgcHVzaGVkIGluIHNvbWVcbiIKKyJvdGhlciB3YXkuXG4iCisiXG4iCisiVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UgYW5kIHN0aWxsIGtlZXAgdGhlIGRlZmF1bHQgYmVoYXZpb3VyLCBzZXRcbiIKKyIncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0byAncmVmdXNlJy4iCittc2dzdHIgIiIKKyJTdGFuZGFyZG3DpMOfaWcgd2lyZCBkaWUgQWt0dWFsaXNpZXJ1bmcgZGVzIGFrdHVlbGxlbiBCcmFuY2hlcyBpbiBlaW5lbVxuIgorIm5pY2h0LUJhcmUtUmVwb3NpdG9yeSB6dXLDvGNrZ2V3aWVzZW4sIGRhIGRpZXMgZGVuIEluZGV4IHVuZCBkYXMgQXJiZWl0cy1cbiIKKyJ2ZXJ6ZWljaG5pcyBpbmtvbnNpc3RlbnQgenUgZGVtIG1hY2hlbiB3w7xyZGUsIHdhcyBTaWUgZ2VwdXNoZWQgaGFiZW4sIHVuZFxuIgorIidnaXQgcmVzZXQgLS1oYXJkJyBlcmZvcmRlcmxpY2ggd8OkcmUsIGRhbWl0IGRhcyBBcmJlaXRzdmVyemVpY2huaXMgSEVBRFxuIgorImVudHNwcmljaHQuXG4iCisiXG4iCisiU2llIGvDtm5udGVuIGRpZSBLb25maWd1cmF0aW9uc3ZhcmlhYmxlICdyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJyBpbVxuIgorIlJlbW90ZS1SZXBvc2l0b3J5IHp1ICdpZ25vcmUnIG9kZXIgJ3dhcm4nIHNldHplbiwgdW0gZGVuIFB1c2ggaW4gZGVuXG4iCisiYWt0dWVsbGVuIEJyYW5jaCB6dSBlcmxhdWJlbjsgZGllcyB3aXJkIGplZG9jaCBuaWNodCBlbXBmb2hsZW4gYXXDn2VyXG4iCisiU2llIHN0ZWxsZW4gZHVyY2ggYW5kZXJlIFdlZ2UgZGllIEFrdHVhbGl0w6R0IGRlcyBBcmJlaXRzdmVyemVpY2huaXNzZXNcbiIKKyJnZWdlbsO8YmVyIGRlbSBnZXB1c2h0ZW4gU3RhbmQgc2ljaGVyLlxuIgorIlxuIgorIlVtIGRpZXNlIE1lbGR1bmcgenUgdW50ZXJkcsO8Y2tlbiB1bmQgZGFzIFN0YW5kYXJkdmVyaGFsdGVuIHp1IGJlaGFsdGVuLFxuIgorInNldHplbiBTaWUgZGllIEtvbmZpZ3VyYXRpb25zdmFyaWFibGUgJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGF1ZlxuIgorIidyZWZ1c2UnLiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4MTMKK21zZ2lkICIiCisiQnkgZGVmYXVsdCwgZGVsZXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGlzIGRlbmllZCwgYmVjYXVzZSB0aGUgbmV4dFxuIgorIidnaXQgY2xvbmUnIHdvbid0IHJlc3VsdCBpbiBhbnkgZmlsZSBjaGVja2VkIG91dCwgY2F1c2luZyBjb25mdXNpb24uXG4iCisiXG4iCisiWW91IGNhbiBzZXQgJ3JlY2VpdmUuZGVueURlbGV0ZUN1cnJlbnQnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG9cbiIKKyInd2Fybicgb3IgJ2lnbm9yZScgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IGRlbGV0aW5nIHRoZVxuIgorImN1cnJlbnQgYnJhbmNoLCB3aXRoIG9yIHdpdGhvdXQgYSB3YXJuaW5nIG1lc3NhZ2UuXG4iCisiXG4iCisiVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UsIHlvdSBjYW4gc2V0IGl0IHRvICdyZWZ1c2UnLiIKK21zZ3N0ciAiIgorIlN0YW5kYXJkbcOkw59pZyB3aXJkIGRhcyBMw7ZzY2hlbiBkZXMgYWt0dWVsbGVuIEJyYW5jaGVzIHp1csO8Y2tnZXdpZXNlbixcbiIKKyJkYSBiZWltIG7DpGNoc3RlbiAnZ2l0IGNsb25lJyBrZWluZSBEYXRlaWVuIGF1c2dlY2hlY2t0IHdlcmRlbiB3w7xyZGVuLFxuIgorIndhcyB6dSBWZXJ3dW5kZXJ1bmcgZsO8aHJ0LlxuIgorIlxuIgorIlNpZSBrw7ZubmVuIGRpZSBLb25maWd1cmF0aW9uc3ZhcmlhYmxlICdyZWNlaXZlLmRlbnlEZWxldGVDdXJyZW50JyBpbVxuIgorIlJlbW90ZS1SZXBvc2l0b3J5IGF1ZiAnd2Fybicgb2RlciAnaWdub3JlJyBzZXR6ZW4sIHVtIGRhcyBMw7ZzY2hlbiBkZXNcbiIKKyJha3R1ZWxsZW4gQnJhbmNoIG1pdCBvZGVyIG9obmUgV2FybnVuZyB6dSBlcmxhdWJlbi5cbiIKKyJcbiIKKyJVbSBkaWVzZSBNZWxkdW5nIHp1IHVudGVyZHLDvGNrZW4sIHNldHplbiBTaWUgZGllIFZhcmlhYmxlIGF1ZiAncmVmdXNlJy4iCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg4MwogbXNnaWQgInF1aWV0IgogbXNnc3RyICJ3ZW5pZ2VyIEF1c2dhYmVuIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE3MzMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSBkaXJlY3RvcnkuIgogbXNnc3RyICJTaWUgbcO8c3NlbiBlaW4gUmVwb3NpdG9yeSBhbmdlYmVuLiIKIApAQCAtMTAxNTEsMTIgKzExMzY5LDEyIEBACiAiRGllIEFuZ2FiZSB2b24genUgZm9sZ2VuZGVuIEJyYW5jaGVzIGthbm4gbnVyIG1pdCBkZW0gQW5mb3JkZXJuIHZvbiAiCiAiU3BpZWdlbGFyY2hpdmVuIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5MCBidWlsdGluL3JlbW90ZS5jOjYzMworIzogYnVpbHRpbi9yZW1vdGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzo2MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlICVzIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAiZXh0ZXJuZXMgUmVwb3NpdG9yeSAlcyBleGlzdGllcnQgYmVyZWl0cyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOTQgYnVpbHRpbi9yZW1vdGUuYzo2MzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk0IGJ1aWx0aW4vcmVtb3RlLmM6NjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVtb3RlIG5hbWUiCiBtc2dzdHIgIiclcycgaXN0IGtlaW4gZ8O8bHRpZ2VyIE5hbWUgZsO8ciBlaW4gUmVtb3RlLVJlcG9zaXRvcnkiCkBAIC0xMDE3OSwxNyArMTEzOTcsMTcgQEAKIG1zZ2lkICIoZGVsZXRlKSIKIG1zZ3N0ciAiKGzDtnNjaGUpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYyNiBidWlsdGluL3JlbW90ZS5jOjc2MSBidWlsdGluL3JlbW90ZS5jOjg1OAorIzogYnVpbHRpbi9yZW1vdGUuYzo2MjIgYnVpbHRpbi9yZW1vdGUuYzo3NTcgYnVpbHRpbi9yZW1vdGUuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGU6ICVzIgogbXNnc3RyICJLZWluIHNvbGNoZXMgUmVtb3RlLVJlcG9zaXRvcnk6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY0MworIzogYnVpbHRpbi9yZW1vdGUuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCiBtc2dzdHIgIktvbm50ZSBTZWt0aW9uICclcycgaW4gS29uZmlndXJhdGlvbiBuaWNodCBuYWNoICclcycgdW1iZW5lbm5lbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgpAQCAtMTAyMDAsMTcgKzExNDE4LDE3IEBACiAiXHQlc1xuIgogIlx0Qml0dGUgYWt0dWFsaXNpZXJlbiBTaWUsIGZhbGxzIG5vdHdlbmRpZywgZGllIEtvbmZpZ3VyYXRpb24gbWFudWVsbC4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk5CisjOiBidWlsdGluL3JlbW90ZS5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzMzCisjOiBidWlsdGluL3JlbW90ZS5jOjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjcmVhdGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgZXJzdGVsbGVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjc5NgorIzogYnVpbHRpbi9yZW1vdGUuYzo3OTIKIG1zZ2lkICIiCiAiTm90ZTogQSBicmFuY2ggb3V0c2lkZSB0aGUgcmVmcy9yZW1vdGVzLyBoaWVyYXJjaHkgd2FzIG5vdCByZW1vdmVkO1xuIgogInRvIGRlbGV0ZSBpdCwgdXNlOiIKQEAgLTEwMjI2LDEyNyArMTE0NDQsMTM3IEBACiAiZW50ZmVybnQ7XG4iCiAidW0gZGllc2UgenUgZW50ZmVybmVuLCBiZW51dHplbiBTaWU6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgxMAorIzogYnVpbHRpbi9yZW1vdGUuYzo4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICJLb25udGUgU2VrdGlvbiAnJXMnIG5pY2h0IGF1cyBLb25maWd1cmF0aW9uIGVudGZlcm5lbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKIG1zZ3N0ciAiIG5ldSAod2lyZCBiZWkgbsOkY2hzdGVtIFwiZmV0Y2hcIiBpbiByZW1vdGVzLyVzIGdlc3BlaWNoZXJ0KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEwCiBtc2dpZCAiIHRyYWNrZWQiCiBtc2dzdHIgIiBnZWZvbGd0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxNgorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTIKIG1zZ2lkICIgc3RhbGUgKHVzZSAnZ2l0IHJlbW90ZSBwcnVuZScgdG8gcmVtb3ZlKSIKIG1zZ3N0ciAiIHZlcmFsdGV0IChiZW51dHplbiBTaWUgJ2dpdCByZW1vdGUgcHJ1bmUnIHp1bSBMw7ZzY2hlbikiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE4CisjOiBidWlsdGluL3JlbW90ZS5jOjkxNAogbXNnaWQgIiA/Pz8iCiBtc2dzdHIgIiA/Pz8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU5CisjOiBidWlsdGluL3JlbW90ZS5jOjk1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJyYW5jaC4lcy5tZXJnZTsgY2Fubm90IHJlYmFzZSBvbnRvID4gMSBicmFuY2giCiBtc2dzdHIgInVuZ8O8bHRpZ2VzIGJyYW5jaC4lcy5tZXJnZTsga2FubiBSZWJhc2UgbmljaHQgYXVmID4gMSBCcmFuY2ggYXVzZsO8aHJlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAiaW50ZXJha3RpdmVyIFJlYmFzZSBhdWYgUmVtb3RlLUJyYW5jaCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCittc2dzdHIgIlJlYmFzZSBhdWYgUmVtb3RlLUJyYW5jaCAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIGbDvGhydCBtaXQgUmVtb3RlLUJyYW5jaCAlcyB6dXNhbW1lbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzIKLW1zZ2lkICIgICAgYW5kIHdpdGggcmVtb3RlIgotbXNnc3RyICIgICAgdW5kIG1pdCBSZW1vdGUtQnJhbmNoIgotCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICJmw7xocnQgbWl0IFJlbW90ZS1CcmFuY2ggJXMgenVzYW1tZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc1Ci1tc2dpZCAiICAgYW5kIHdpdGggcmVtb3RlIgotbXNnc3RyICIgICB1bmQgbWl0IFJlbW90ZS1CcmFuY2giCisjOiBidWlsdGluL3JlbW90ZS5jOjk3MworIywgYy1mb3JtYXQKK21zZ2lkICIlLSpzICAgIGFuZCB3aXRoIHJlbW90ZSAlc1xuIgorbXNnc3RyICIlLSpzICAgIHVuZCBtaXQgUmVtb3RlLUJyYW5jaCAlc1xuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxNgogbXNnaWQgImNyZWF0ZSIKIG1zZ3N0ciAiZXJzdGVsbHQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDE5CiBtc2dpZCAiZGVsZXRlIgogbXNnc3RyICJnZWzDtnNjaHQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIzCiBtc2dpZCAidXAgdG8gZGF0ZSIKIG1zZ3N0ciAiYWt0dWVsbCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjYKIG1zZ2lkICJmYXN0LWZvcndhcmRhYmxlIgogbXNnc3RyICJ2b3JzcHVsYmFyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICJsb2thbCBuaWNodCBha3R1ZWxsIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyBlcnp3aW5ndCBWZXJzYW5kdCBuYWNoICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgdmVyc2VuZGV0IG5hY2ggJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIGVyendpbmd0IFZlcnNhbmQgbmFjaCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyB2ZXJzZW5kZXQgbmFjaCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE5CisjOiBidWlsdGluL3JlbW90ZS5jOjExMTQKIG1zZ2lkICJkbyBub3QgcXVlcnkgcmVtb3RlcyIKIG1zZ3N0ciAia2VpbmUgQWJmcmFnZSB2b24gUmVtb3RlLVJlcG9zaXRvcmllcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjExNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiogUmVtb3RlLVJlcG9zaXRvcnkgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmV0Y2ggVVJMOiAlcyIKIG1zZ3N0ciAiICBVUkwgenVtIEFiaG9sZW46ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDggYnVpbHRpbi9yZW1vdGUuYzoxMzAxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNDMgYnVpbHRpbi9yZW1vdGUuYzoxMTU2IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NQogbXNnaWQgIihubyBVUkwpIgogbXNnc3RyICIoa2VpbmUgVVJMKSIKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiAnOicgc2hvdWxkIGFsaWduIHdpdGgKICMuIHRoZSBvbmUgaW4gIiAgRmV0Y2ggVVJMOiAlcyIgdHJhbnNsYXRpb24KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OSBidWlsdGluL3JlbW90ZS5jOjExNjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NCBidWlsdGluL3JlbW90ZS5jOjExNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBQdXNoICBVUkw6ICVzIgogbXNnc3RyICIgIFVSTCB6dW0gVmVyc2VuZGVuOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYzIGJ1aWx0aW4vcmVtb3RlLmM6MTE2NSBidWlsdGluL3JlbW90ZS5jOjExNjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OCBidWlsdGluL3JlbW90ZS5jOjExNjAgYnVpbHRpbi9yZW1vdGUuYzoxMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgSEVBRCBicmFuY2g6ICVzIgogbXNnc3RyICIgIEhhdXB0YnJhbmNoOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY5CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTgKK21zZ2lkICIobm90IHF1ZXJpZWQpIgorbXNnc3RyICIobmljaHQgYWJnZWZyYWd0KSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYwCittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICIodW5iZWthbm50KSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCkBAIC0xMDM1NCwyNDEgKzExNTgyLDI1NCBAQAogIiAgSGF1cHRicmFuY2ggKGV4dGVybmVyIEhFQUQgaXN0IG1laHJkZXV0aWcsIGvDtm5udGUgZWluZXIgZGVyIGZvbGdlbmRlbiAiCiAic2Vpbik6XG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUmVtb3RlIGJyYW5jaDolcyIKIG1zZ2lkX3BsdXJhbCAiICBSZW1vdGUgYnJhbmNoZXM6JXMiCiBtc2dzdHJbMF0gIiAgUmVtb3RlLUJyYW5jaDolcyIKIG1zZ3N0clsxXSAiICBSZW1vdGUtQnJhbmNoZXM6JXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4NCBidWlsdGluL3JlbW90ZS5jOjEyMTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OSBidWlsdGluL3JlbW90ZS5jOjEyMDUKIG1zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCiBtc2dzdHIgIiAoWnVzdGFuZCBuaWNodCBhYmdlZnJhZ3QpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4OAogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIgIExva2FsZXIgQnJhbmNoIGtvbmZpZ3VyaWVydCBmw7xyICdnaXQgcHVsbCc6IgogbXNnc3RyWzFdICIgIExva2FsZSBCcmFuY2hlcyBrb25maWd1cmllcnQgZsO8ciAnZ2l0IHB1bGwnOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAxCisjOiBidWlsdGluL3JlbW90ZS5jOjExOTYKIG1zZ2lkICIgIExvY2FsIHJlZnMgd2lsbCBiZSBtaXJyb3JlZCBieSAnZ2l0IHB1c2gnIgogbXNnc3RyICIgIExva2FsZSBSZWZlcmVuemVuIHdlcmRlbiB2b24gJ2dpdCBwdXNoJyBnZXNwaWVnZWx0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIExvY2FsIHJlZiBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIHJlZnMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ3N0clswXSAiICBMb2thbGUgUmVmZXJlbnoga29uZmlndXJpZXJ0IGbDvHIgJ2dpdCBwdXNoJyVzOiIKIG1zZ3N0clsxXSAiICBMb2thbGUgUmVmZXJlbnplbiBrb25maWd1cmllcnQgZsO8ciAnZ2l0IHB1c2gnJXM6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMwogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAic2V0enQgcmVmcy9yZW1vdGVzLzxOYW1lPi9IRUFEIGdlbcOkw58gZGVtIFJlbW90ZS1SZXBvc2l0b3J5IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyNQogbXNnaWQgImRlbGV0ZSByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQiCiBtc2dzdHIgImVudGZlcm50IHJlZnMvcmVtb3Rlcy88TmFtZT4vSEVBRCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDAKIG1zZ2lkICJDYW5ub3QgZGV0ZXJtaW5lIHJlbW90ZSBIRUFEIgogbXNnc3RyICJLYW5uIEhFQUQgZGVzIFJlbW90ZS1SZXBvc2l0b3JpZXMgbmljaHQgYmVzdGltbWVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MgogbXNnaWQgIk11bHRpcGxlIHJlbW90ZSBIRUFEIGJyYW5jaGVzLiBQbGVhc2UgY2hvb3NlIG9uZSBleHBsaWNpdGx5IHdpdGg6IgogbXNnc3RyICIiCiAiTWVocmVyZSBIYXVwdGJyYW5jaGVzIGltIFJlbW90ZS1SZXBvc2l0b3J5LiBCaXR0ZSB3w6RobGVuIFNpZSBleHBsaXppdCBlaW5lbiAiCiAiYXVzIG1pdDoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgJXMiCiBtc2dzdHIgIktvbm50ZSAlcyBuaWNodCBlbnRmZXJuZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIHJlZjogJXMiCiBtc2dzdHIgImtlaW5lIGfDvGx0aWdlIFJlZmVyZW56OiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjY4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwICVzIgogbXNnc3RyICJLb25udGUgJXMgbmljaHQgZWlucmljaHRlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjg2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIHdpbGwgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIHdpcmQgdW5yZWZlcmVuemllcnQhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgaGFzIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyB3dXJkZSB1bnJlZmVyZW56aWVydCEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlBydW5pbmcgJXMiCiBtc2dzdHIgImVudGZlcm5lIHZlcmFsdGV0ZSBCcmFuY2hlcyB2b24gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVSTDogJXMiCiBtc2dzdHIgIlVSTDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFt3b3VsZCBwcnVuZV0gJXMiCiBtc2dzdHIgIiAqIFt3w7xyZGUgdmVyYWx0ZXRlbiBCcmFuY2ggZW50ZmVybmVuXSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE3CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3BydW5lZF0gJXMiCiBtc2dzdHIgIiogW3ZlcmFsdGV0ZW4gQnJhbmNoIGVudGZlcm50XSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzYyCisjOiBidWlsdGluL3JlbW90ZS5jOjEzNTYKIG1zZ2lkICJwcnVuZSByZW1vdGVzIGFmdGVyIGZldGNoaW5nIgogbXNnc3RyICJlbnRmZXJuZSB2ZXJhbHRldGUgQnJhbmNoZXMgaW0gUmVtb3RlLVJlcG9zaXRvcnkgbmFjaCBcImZldGNoXCIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQyNSBidWlsdGluL3JlbW90ZS5jOjE0NzkgYnVpbHRpbi9yZW1vdGUuYzoxNTQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjE0MTkgYnVpbHRpbi9yZW1vdGUuYzoxNDczIGJ1aWx0aW4vcmVtb3RlLmM6MTU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSAnJXMnIgogbXNnc3RyICJLZWluIHNvbGNoZXMgUmVtb3RlLVJlcG9zaXRvcnkgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0MzUKIG1zZ2lkICJhZGQgYnJhbmNoIgogbXNnc3RyICJCcmFuY2ggaGluenVmw7xnZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQyCiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAia2VpbiBSZW1vdGUtUmVwb3NpdG9yeSBhbmdlZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDU5CiBtc2dpZCAicXVlcnkgcHVzaCBVUkxzIHJhdGhlciB0aGFuIGZldGNoIFVSTHMiCiBtc2dzdHIgIm51ciBVUkxzIGbDvHIgUHVzaCBhdXNnZWJlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDY3CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjEKIG1zZ2lkICJyZXR1cm4gYWxsIFVSTHMiCiBtc2dzdHIgImFsbGUgVVJMcyBhdXNnZWJlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDk1CisjOiBidWlsdGluL3JlbW90ZS5jOjE0ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gVVJMcyBjb25maWd1cmVkIGZvciByZW1vdGUgJyVzJyIKIG1zZ3N0ciAiS2VpbmUgVVJMcyBmw7xyIFJlbW90ZS1SZXBvc2l0b3J5ICclcycga29uZmlndXJpZXJ0LiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MTUKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAiVVJMcyBmw7xyIFwicHVzaFwiIG1hbmlwdWxpZXJlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIzCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MTcKIG1zZ2lkICJhZGQgVVJMIgogbXNnc3RyICJVUkwgaGluenVmw7xnZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE5CiBtc2dpZCAiZGVsZXRlIFVSTHMiCiBtc2dzdHIgIlVSTHMgbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI2CiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbmVuIC0tYWRkIHVuZCAtLWRlbGV0ZSBrw7ZubmVuIG5pY2h0IGdlbWVpbnNhbSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTczCisjOiBidWlsdGluL3JlbW90ZS5jOjE1NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBvbGQgVVJMIHBhdHRlcm46ICVzIgogbXNnc3RyICJ1bmfDvGx0aWdlcyBhbHRlcyBVUkwgRm9ybWF0OiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICJLZWluZSBzb2xjaGUgVVJMIGdlZnVuZGVuOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzcKIG1zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCiBtc2dzdHIgIldlcmRlIGtlaW5lIFVSTHMgZW50ZmVybmVuLCBkaWUgbmljaHQgZsO8ciBcInB1c2hcIiBiZXN0aW1tdCBzaW5kIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MQogbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgImVyd2VpdGVydGUgQXVzZ2FiZW47IG11c3Mgdm9yIGVpbmVtIFVudGVyYmVmZWhsIGFuZ2VnZWJlbiB3ZXJkZW4iCiAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgorbXNnc3RyICJVbmJla2FubnRlciBVbnRlcmJlZmVobDogJXMiCisKICM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcKIG1zZ2lkICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcmVwYWNrIFs8T3B0aW9uZW4+XSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNTkKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYwCiBtc2dpZCAicGFjayBldmVyeXRoaW5nIGluIGEgc2luZ2xlIHBhY2siCiBtc2dzdHIgImFsbGVzIGluIGVpbmUgZWluemlnZSBQYWNrLURhdGVpIHBhY2tlbiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYyCiBtc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKIG1zZ3N0ciAiZ2VuYXUgd2llIC1hLCB1bmVycmVpY2hiYXJlIE9iamVrdGUgd2VyZGVuIGFiZXIgbmljaHQgZ2Vsw7ZzY2h0IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2NAorIzogYnVpbHRpbi9yZXBhY2suYzoxNjUKIG1zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCiBtc2dzdHIgInJlZHVuZGFudGUgUGFrZXRlIGVudGZlcm5lbiB1bmQgXCJnaXQtcHJ1bmUtcGFja2VkXCIgYXVzZsO8aHJlbiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY3CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgIi0tbm8tcmV1c2UtZGVsdGEgYW4gZ2l0LXBhY2stb2JqZWN0cyDDvGJlcmdlYmVuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2OAorIzogYnVpbHRpbi9yZXBhY2suYzoxNjkKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgIi0tbm8tcmV1c2Utb2JqZWN0IGFuIGdpdC1wYWNrLW9iamVjdHMgw7xiZXJnZWJlbiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcxCiBtc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogbXNnc3RyICJnaXQtdXBkYXRlLXNlcnZlci1pbmZvIG5pY2h0IGF1c2bDvGhyZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTczCisjOiBidWlsdGluL3JlcGFjay5jOjE3NAogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICItLWxvY2FsIGFuIGdpdC1wYWNrLW9iamVjdHMgw7xiZXJnZWJlbiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc2CiBtc2dpZCAid3JpdGUgYml0bWFwIGluZGV4IgogbXNnc3RyICJCaXRtYXAtSW5kZXggc2NocmVpYmVuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NgorIzogYnVpbHRpbi9yZXBhY2suYzoxNzcKIG1zZ2lkICJhcHByb3hpZGF0ZSIKIG1zZ3N0ciAiRGF0dW1zYW5nYWJlIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NworIzogYnVpbHRpbi9yZXBhY2suYzoxNzgKIG1zZ2lkICJ3aXRoIC1BLCBkbyBub3QgbG9vc2VuIG9iamVjdHMgb2xkZXIgdGhhbiB0aGlzIgogbXNnc3RyICJtaXQgLUEsIGtlaW5lIE9iamVrdGUgw6RsdGVyIGFscyBkaWVzZXMgRGF0dW0gbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc5CisjOiBidWlsdGluL3JlcGFjay5jOjE4MAorbXNnaWQgIndpdGggLWEsIHJlcGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICJtaXQgLWEsIG5pY2h0IGVycmVpY2hiYXJlIE9iamVrdGUgbmV1IHBhY2tlbiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxODIKIG1zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgIkdyw7bDn2UgZGVzIEZlbnN0ZXJzIGbDvHIgZGllIERlbHRhLUtvbXByZXNzaW9uIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MCBidWlsdGluL3JlcGFjay5jOjE4NAorIzogYnVpbHRpbi9yZXBhY2suYzoxODMgYnVpbHRpbi9yZXBhY2suYzoxODcKIG1zZ2lkICJieXRlcyIKIG1zZ3N0ciAiQnl0ZXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgxCisjOiBidWlsdGluL3JlcGFjay5jOjE4NAogbXNnaWQgInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IgogbXNnc3RyICIiCiAiZ2xlaWNoZXMgd2llIG9iZW4sIGFiZXIgZGllIFNwZWljaGVyZ3LDtsOfZSBhbnN0YXR0IGRlclxuIgogIkFuemFobCBkZXIgRWludHLDpGdlIGxpbWl0aWVyZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgzCisjOiBidWlsdGluL3JlcGFjay5jOjE4NgogbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKIG1zZ3N0ciAiZGllIG1heGltYWxlIERlbHRhLVRpZWZlIGxpbWl0aWVyZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg1CisjOiBidWlsdGluL3JlcGFjay5jOjE4OAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgogbXNnc3RyICJtYXhpbWFsZSBHcsO2w59lIGbDvHIgamVkZSBQYWtldGRhdGVpIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NworIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKIG1zZ2lkICJyZXBhY2sgb2JqZWN0cyBpbiBwYWNrcyBtYXJrZWQgd2l0aCAua2VlcCIKIG1zZ3N0ciAiIgogIk9iamVrdGUgdW1wYWNrZW4sIGRpZSBzaWNoIGluIG1pdCAua2VlcCBtYXJraWVydGVuIFBhY2stRGF0ZWllbiBiZWZpbmRlbiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjAwCiBtc2dpZCAiY2Fubm90IGRlbGV0ZSBwYWNrcyBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAia2FubiBQYWNrLURhdGVpZW4gaW4gcHJlY2lvdXMtb2JqZWN0cyBSZXBvc2l0b3J5IG5pY2h0IGzDtnNjaGVuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjM4MQorIzogYnVpbHRpbi9yZXBhY2suYzoyMDQKK21zZ2lkICItLWtlZXAtdW5yZWFjaGFibGUgYW5kIC1BIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIi0ta2VlcC11bnJlYWNoYWJsZSB1bmQgLUEgc2luZCBpbmtvbXBhdGliZWwiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzkxIGJ1aWx0aW4vd29ya3RyZWUuYzoxMTUKICMsIGMtZm9ybWF0Ci1tc2dpZCAicmVtb3ZpbmcgJyVzJyBmYWlsZWQiCi1tc2dzdHIgIkzDtnNjaGVuIHZvbiAnJXMnIGZlaGxnZXNjaGxhZ2VuIgorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gTMO2c2NoZW4gdm9uICclcyciCiAKICM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE5CiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgpAQCAtMTA2OTEsOCArMTE5MzIsOCBAQAogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxDb21taXQ+XSIKIAogIzogYnVpbHRpbi9yZXNldC5jOjI3Ci1tc2dpZCAiZ2l0IHJlc2V0IFstcV0gPHRyZWUtaXNoPiBbLS1dIDxwYXRocz4uLi4iCi1tc2dzdHIgImdpdCByZXNldCBbLXFdIDxDb21taXQtUmVmZXJlbno+IFstLV0gPFBmYWRlPi4uLiIKK21zZ2lkICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHM+Li4uIgorbXNnc3RyICJnaXQgcmVzZXQgWy1xXSBbPENvbW1pdC1SZWZlcmVuej5dIFstLV0gPFBmYWRlPi4uLiIKIAogIzogYnVpbHRpbi9yZXNldC5jOjI4CiBtc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgpAQCAtMTA4MTIsMjggKzEyMDUzLDI4IEBACiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKIG1zZ3N0ciAiS29ubnRlIG5ldWUgSW5kZXgtRGF0ZWkgbmljaHQgc2NocmVpYmVuLiIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1MAorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1NAogbXNnaWQgInJldi1saXN0IGRvZXMgbm90IHN1cHBvcnQgZGlzcGxheSBvZiBub3RlcyIKIG1zZ3N0ciAicmV2LWxpc3QgdW50ZXJzdMO8dHp0IGtlaW5lIEFuemVpZ2Ugdm9uIE5vdGl6ZW4iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzU4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM4NgogbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8T3B0aW9uZW4+XSAtLSBbPEFyZ3VtZW50ZT4uLi5dIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2MworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTEKIG1zZ2lkICJrZWVwIHRoZSBgLS1gIHBhc3NlZCBhcyBhbiBhcmciCiBtc2dzdHIgImAtLWAgYWxzIEFyZ3VtZW50IGxhc3NlbiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjUKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzkzCiBtc2dpZCAic3RvcCBwYXJzaW5nIGFmdGVyIHRoZSBmaXJzdCBub24tb3B0aW9uIGFyZ3VtZW50IgogbXNnc3RyICJkYXMgUGFyc2VuIG5hY2ggZGVtIGVyc3RlbiBBcmd1bWVudCwgd2FzIGtlaW5lIE9wdGlvbiBpc3QsIHN0b3BwZW4iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzY4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NgogbXNnaWQgIm91dHB1dCBpbiBzdHVjayBsb25nIGZvcm0iCiBtc2dzdHIgIiIKICJBdXNnYWJlIGluIExhbmdmb3JtIG1pdCBBcmd1bWVudGVuIGFuIGRlbiBPcHRpb25lbiAoZ2V0cmVubnQgZHVyY2ggJz0nKSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0OTkKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTI3CiBtc2dpZCAiIgogImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXVxuIgogIiAgIG9yOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmc+Li4uXVxuIgpAQCAtMTA5MDUsMzEgKzEyMTQ2LDI3IEBACiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiT3B0aW9uIGbDvHIgTWVyZ2UtU3RyYXRlZ2llIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKIG1zZ2lkICJhcHBlbmQgY29tbWl0IG5hbWUiCiBtc2dzdHIgIkNvbW1pdC1OYW1lbiBhbmjDpG5nZW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CisjOiBidWlsdGluL3JldmVydC5jOjEwMgogbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgogbXNnc3RyICJ1cnNwcsO8bmdsaWNoZSwgbGVlcmUgQ29tbWl0cyBlcmhhbHRlbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCiBtc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICJDb21taXRzIG1pdCBsZWVyZXIgQmVzY2hyZWlidW5nIGVybGF1YmVuIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwOAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAicmVkdW5kYW50ZSwgbGVlcmUgQ29tbWl0cyBiZWhhbHRlbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKLW1zZ2lkICJwcm9ncmFtIGVycm9yIgotbXNnc3RyICJQcm9ncmFtbWZlaGxlciIKLQotIzogYnVpbHRpbi9yZXZlcnQuYzoxOTcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTkyCiBtc2dpZCAicmV2ZXJ0IGZhaWxlZCIKIG1zZ3N0ciAiXCJyZXZlcnRcIiBmZWhsZ2VzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMTIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjA1CiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICJcImNoZXJyeS1waWNrXCIgZmVobGdlc2NobGFnZW4iCiAKQEAgLTExMTAzLDcxICsxMjM0MCwxMjUgQEAKIG1zZ2lkICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCiBtc2dzdHIgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPEJhc2lzPl1dIFstLWxpc3RdIFs8UmVmZXJlbno+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmIgorbXNnaWRfcGx1cmFsICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmcyIKK21zZ3N0clswXSAiaWdub3JpZXJlICVzOyBrYW5uIG5pY2h0IG1laHIgYWxzICVkIFJlZmVyZW56IGJlaGFuZGVsbiIKK21zZ3N0clsxXSAiaWdub3JpZXJlICVzOyBrYW5uIG5pY2h0IG1laHIgYWxzICVkIFJlZmVyZW56ZW4gYmVoYW5kZWxuIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1hdGNoaW5nIHJlZnMgd2l0aCAlcyIKK21zZ3N0ciAia2VpbmUgw7xiZXJlaW5zdGltbWVuZGVuIFJlZmVyZW56ZW4gbWl0ICVzIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICJSZW1vdGUtVHJhY2tpbmcgdW5kIGxva2FsZSBCcmFuY2hlcyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MQogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICJSZW1vdGUtVHJhY2tpbmctQnJhbmNoZXMgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICInKiErLScgZW50c3ByZWNoZW5kIGRlcyBCcmFuY2hlcyBlaW5mw6RyYmVuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1CiBtc2dpZCAic2hvdyA8bj4gbW9yZSBjb21taXRzIGFmdGVyIHRoZSBjb21tb24gYW5jZXN0b3IiCiBtc2dzdHIgIjxuPiB3ZWl0ZXJlIENvbW1pdHMgbmFjaCBkZW0gZ2VtZWluc2FtZW4gVm9yZ8Okbmdlci1Db21taXQgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDcKIG1zZ2lkICJzeW5vbnltIHRvIG1vcmU9LTEiCiBtc2dzdHIgIlN5bm9ueW0gZsO8ciBtb3JlPS0xIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ4CiBtc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCiBtc2dzdHIgIk5hbWVuIHVudGVyZHLDvGNrZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAiZGVuIGFrdHVlbGxlbiBCcmFuY2ggZWluYmV6aWVoZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKIG1zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCiBtc2dzdHIgIkNvbW1pdHMgbmFjaCBpaHJlbiBPYmpla3RuYW1lbiBiZW5lbm5lbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NAogbXNnaWQgInNob3cgcG9zc2libGUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgIm3DtmdsaWNoZSBNZXJnZS1CYXNlbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgogbXNnaWQgInNob3cgcmVmcyB1bnJlYWNoYWJsZSBmcm9tIGFueSBvdGhlciByZWYiCiBtc2dzdHIgIiIKICJSZWZlcmVuemVuLCBkaWUgdW5lcnJlaWNoYmFyIHZvbiBhbGxlbiBhbmRlcmVuIFJlZmVyZW56ZW4gc2luZCwgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgIkNvbW1pdHMgaW4gdG9wb2xvZ2lzY2hlciBPcmRudW5nIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYxCiBtc2dpZCAic2hvdyBvbmx5IGNvbW1pdHMgbm90IG9uIHRoZSBmaXJzdCBicmFuY2giCiBtc2dzdHIgIm51ciBDb21taXRzIGFuemVpZ2VuLCBkaWUgc2ljaCBuaWNodCBpbSBlcnN0ZW4gQnJhbmNoIGJlZmluZGVuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYzCiBtc2dpZCAic2hvdyBtZXJnZXMgcmVhY2hhYmxlIGZyb20gb25seSBvbmUgdGlwIgogbXNnc3RyICJNZXJnZXMgYW56ZWlnZW4sIGRpZSBudXIgdm9uIGVpbmVtIEJyYW5jaCBhdXMgZXJyZWljaGJhciBzaW5kIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY1CiBtc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgogbXNnc3RyICJ0b3BvbG9naXNjaGUgU29ydGllcnVuZywgQmVpYmVoYWx0dW5nIERhdHVtc29yZG51bmcgd28gbcO2Z2xpY2giCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKIG1zZ2lkICI8bj5bLDxiYXNlPl0iCiBtc2dzdHIgIjxuPlssPEJhc2lzPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKIG1zZ3N0ciAiZGllIDxuPiBqw7xuZ3N0ZW4gRWludHLDpGdlIGltIFJlZmxvZywgYmVnaW5uZW5kIGFuIGRlciBCYXNpcywgYW56ZWlnZW4iCiAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MDMKK21zZ2lkICIiCisiLS1yZWZsb2cgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiCittc2dzdHIgIi0tcmVmbG9nIGlzdCBpbmtvbXBhdGliZWwgbWl0IC0tYWxsLCAtLXJlbW90ZXMsIC0taW5kZXBlbmRlbnQgb2RlciAtLW1lcmdlLWJhc2UiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjcKK21zZ2lkICJubyBicmFuY2hlcyBnaXZlbiwgYW5kIEhFQUQgaXMgbm90IHZhbGlkIgorbXNnc3RyICJrZWluZSBCcmFuY2hlcyBhbmdlZ2ViZW4sIHVuZCBIRUFEIGlzdCB1bmfDvGx0aWciCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzAKK21zZ2lkICItLXJlZmxvZyBvcHRpb24gbmVlZHMgb25lIGJyYW5jaCBuYW1lIgorbXNnc3RyICJEaWUgT3B0aW9uIC0tcmVmbG9nIGJlbsO2dGlndCBlaW5lbiBCcmFuY2huYW1lbi4iCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgorbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKK21zZ3N0clswXSAibnVyICVkIEVpbnRyYWcga2FubiB6dXIgc2VsYmVuIFplaXQgYW5nZXplaWd0IHdlcmRlbiIKK21zZ3N0clsxXSAibnVyICVkIEVpbnRyw6RnZSBrw7ZubmVuIHp1ciBzZWxiZW4gWmVpdCBhbmdlemVpZ3Qgd2VyZGVuIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcmVmICVzIgorbXNnc3RyICJSZWZlcmVueiBuaWNodCBnZWZ1bmRlbjogJXMiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2LiIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iCittc2dzdHJbMF0gIkthbm4gbmljaHQgbWVociBhbHMgJWQgQ29tbWl0IGJlaGFuZGVsbi4iCittc2dzdHJbMV0gIkthbm4gbmljaHQgbWVociBhbHMgJWQgQ29tbWl0cyBiZWhhbmRlbG4uIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAiJyVzJyBpc3Qga2VpbmUgZ8O8bHRpZ2UgUmVmZXJlbnouIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIGNvbW1pdCAlcyAoJXMpIgorbXNnc3RyICJrYW5uIENvbW1pdCAlcyAoJXMpIG5pY2h0IGZpbmRlbiIKKwogIzogYnVpbHRpbi9zaG93LXJlZi5jOjEwCiBtc2dpZCAiIgogImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0tIgpAQCAtMTEyMzQsMTIgKzEyNTI1LDEyIEBACiBtc2dpZCAicHJlcGVuZCBjb21tZW50IGNoYXJhY3RlciBhbmQgc3BhY2UgdG8gZWFjaCBsaW5lIgogbXNnc3RyICJLb21tZW50YXJ6ZWljaGVuIG1pdCBMZWVyemVpY2hlbiBhbiBqZWRlIFplaWxlIHZvcmFuc3RlbGxlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZWY6ICVzIgogbXNnc3RyICJSZWZlcmVueiBuaWNodCBnZWZ1bmRlbjogJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIKIG1zZ3N0ciAiVm9sbHN0w6RuZGlnZXIgUmVmZXJlbnpuYW1lIGVyd2FydGV0LCAlcyBlcmhhbHRlbiIKQEAgLTExMjQ5LDE2NCArMTI1NDAsMjE0IEBACiBtc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJXMnIgogbXNnc3RyICJLYW5uIGVpbmUgS29tcG9uZW50ZSB2b24gVVJMICclcycgbmljaHQgZXh0cmFoaWVyZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNzggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkwCiBtc2dpZCAiYWx0ZXJuYXRpdmUgYW5jaG9yIGZvciByZWxhdGl2ZSBwYXRocyIKIG1zZ3N0ciAiQWx0ZXJuYXRpdmVyIEFua2VyIGbDvHIgcmVsYXRpdmUgUGZhZGUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODcKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxQZmFkPl0gWzxQZmFkPi4uLl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMjYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM0MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMyOSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyBpbiAuZ2l0bW9kdWxlcyIKIG1zZ3N0ciAiS2VpbmUgVVJMIGbDvHIgU3VibW9kdWwtUGZhZCAnJXMnIGluIC5naXRtb2R1bGVzIGdlZnVuZGVuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzY2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cmwgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCi1tc2dzdHIgIkZlaGxlciBiZWltIEVpbnRyYWdlbiBkZXIgVVJMIGbDvHIgU3VibW9kdWwtUGZhZCAnJXMnIGluIGRpZSBLb25maWd1cmF0aW9uLiIKK21zZ3N0ciAiIgorIkZlaGxlciBiZWltIEVpbnRyYWdlbiBkZXIgVVJMIGbDvHIgU3VibW9kdWwtUGZhZCAnJXMnIGluIGRpZSBLb25maWd1cmF0aW9uLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyVzJ1xuIgogbXNnc3RyICJTdWJtb2R1bCAnJXMnICglcykgZsO8ciBQZmFkICclcycgaW4gZGllIEtvbmZpZ3VyYXRpb24gZWluZ2V0cmFnZW4uXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODMKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogY29tbWFuZCB1cGRhdGUgbW9kZSBzdWdnZXN0ZWQgZm9yIHN1Ym1vZHVsZSAnJXMnXG4iCiBtc2dzdHIgIldhcm51bmc6ICd1cGRhdGUnLU1vZHVzIGbDvHIgU3VibW9kdWwgJyVzJyB2b3JnZXNjaGxhZ2VuXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAiRmVobGVyIGJlaSDDhG5kZXJ1bmcgZGVzIEFrdHVhbGlzaWVydW5nc21vZHVzIGbDvHIgU3VibW9kdWwtUGZhZCAnJXMnIGluIGRlclxuIgogIktvbmZpZ3VyYXRpb24uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA5CiBtc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IGZvciBpbml0aWFsaXppbmcgYSBzdWJtb2R1bGUiCiBtc2dzdHIgIkF1c2dhYmVuIGJlaSBJbml0aWFsaXNpZXJ1bmcgZWluZXMgU3VibW9kdWxzIHVudGVyZHLDvGNrZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTQKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPHBhdGg+XSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxQZmFkPl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzUKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8cGF0aD4iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDxQZmFkPiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQzOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICJLZWluZSBTdWJtb2R1bC1adW9yZG51bmcgaW4gLmdpdG1vZHVsZXMgZsO8ciBQZmFkICclcycgZ2VmdW5kZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgJyVzJyBjYW5ub3QgYWRkIGFsdGVybmF0ZTogJXMiCittc2dzdHIgIlN1Ym1vZHVsICclcycga2FubiBBbHRlcm5hdGl2ZSBuaWNodCBoaW56dWbDvGdlbjogJXMiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgaXMgbm90IHJlY29nbml6ZWQiCittc2dzdHIgIldlcnQgJyVzJyBmw7xyIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IHdpcmQgbmljaHQgZXJrYW5udCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCittc2dzdHIgIldlcnQgJyVzJyBmw7xyIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiB3aXJkIG5pY2h0IGVya2FubnQuIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkzCiBtc2dpZCAid2hlcmUgdGhlIG5ldyBzdWJtb2R1bGUgd2lsbCBiZSBjbG9uZWQgdG8iCiBtc2dzdHIgIlBmYWQgZsO8ciBuZXVlcyBTdWJtb2R1bCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NgogbXNnaWQgIm5hbWUgb2YgdGhlIG5ldyBzdWJtb2R1bGUiCiBtc2dzdHIgIk5hbWUgZGVzIG5ldWVuIFN1Ym1vZHVscyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5OQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgIlVSTCB2b24gZGVyIGRhcyBTdWJtb2R1bCBnZWtsb250IHdpcmQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MDEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDUKIG1zZ2lkICJkZXB0aCBmb3Igc2hhbGxvdyBjbG9uZXMiCiBtc2dzdHIgIlRpZWZlIGRlcyBLbG9ucyBtaXQgdW52b2xsc3TDpG5kaWdlciBIaXN0b3JpZSAoc2hhbGxvdykiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2NAorbXNnaWQgImZvcmNlIGNsb25pbmcgcHJvZ3Jlc3MiCittc2dzdHIgIkZvcnRzY2hyaXR0c2FuemVpZ2UgYmVpbSBLbG9uZW4gZXJ6d2luZ2VuIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEzCiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS1kZXB0aCA8ZGVwdGg+XSAtLXVybCA8dXJsPiAtLXBhdGggPHBhdGg+IgotbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxQZmFkPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSA8UmVwb3NpdG9yeT5dIFstLW5hbWUgPE5hbWU+XSBbLS11cmwgPFVSTD5dIFstLW5hbWUgPE5hbWU+XSBbLS1kZXB0aCA8VGllZmU+XSAtLXVybCA8VVJMPiAtLXBhdGggPFBmYWQ+IgorbXNnc3RyICIiCisiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08UGZhZD5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgorIjxSZXBvc2l0b3J5Pl0gWy0tbmFtZSA8TmFtZT5dIFstLXVybCA8VVJMPl0gWy0tbmFtZSA8TmFtZT5dIFstLWRlcHRoICIKKyI8VGllZmU+XSAtLXVybCA8VVJMPiAtLXBhdGggPFBmYWQ+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTMyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJLb25udGUgVmVyemVpY2huaXMgJyVzJyBuaWNodCBlcnN0ZWxsZW4uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTM0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiS2xvbmVuIHZvbiAnJXMnIGluIFN1Ym1vZHVsLVBmYWQgJyVzJyBmZWhsZ2VzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU1MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBmaWxlICclcyciCiBtc2dzdHIgIkthbm4gRGF0ZWkgJyVzJyBuaWNodCDDtmZmbmVuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTU1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSBmaWxlICVzIgogbXNnc3RyICJLb25udGUgRGF0ZWkgJyVzJyBuaWNodCBzY2hsaWXDn2VuLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZ2V0IHN1Ym1vZHVsZSBkaXJlY3RvcnkgZm9yICclcyciCiBtc2dzdHIgIktvbm50ZSBTdWJtb2R1bC1WZXJ6ZWljaG5pcyAnJXMnIG5pY2h0IGZpbmRlbi4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyVzJyBub3QgaW5pdGlhbGl6ZWQiCiBtc2dzdHIgIlN1Ym1vZHVsLVBmYWQgJyVzJyBuaWNodCBpbml0aWFsaXNpZXJ0IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzMwCiBtc2dpZCAiTWF5YmUgeW91IHdhbnQgdG8gdXNlICd1cGRhdGUgLS1pbml0Jz8iCiBtc2dzdHIgIk1laW50ZW4gU2llIHZpZWxsZWljaHQgJ3VwZGF0ZSAtLWluaXQnPyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIsOcYmVyc3ByaW5nZSBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZXMgU3VibW9kdWwgJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgc3VibW9kdWxlICclcyciCiBtc2dzdHIgIsOcYmVyc3ByaW5nZSBTdWJtb2R1bCAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzY4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnLiBSZXRyeSBzY2hlZHVsZWQiCittc2dzdHIgIkZlaGxlciBiZWltIEtsb25lbiB2b24gJyVzJy4gV2VpdGVyZXIgVmVyc3VjaCBnZXBsYW50IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnIGEgc2Vjb25kIHRpbWUsIGFib3J0aW5nIgorbXNnc3RyICJad2VpdGVyIFZlcnN1Y2ggJyVzJyB6dSBrbG9uZW4gZmVobGdlc2NobGFnZW4sIGJyZWNoZSBhYi4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDUKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiUGZhZCB6dW0gQXJiZWl0c3ZlcnplaWNobmlzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ4CiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUsIGFjcm9zcyBuZXN0ZWQgc3VibW9kdWxlIGJvdW5kYXJpZXMiCi1tc2dzdHIgIlBmYWQgenVtIEFyYmVpdHN2ZXJ6ZWljaG5pcywgw7xiZXIgdmVyc2NoYWNodGVsdGUgU3VibW9kdWwtR3JlbnplbiBoaW53ZWciCittc2dzdHIgIiIKKyJQZmFkIHp1bSBBcmJlaXRzdmVyemVpY2huaXMsIMO8YmVyIHZlcnNjaGFjaHRlbHRlIFN1Ym1vZHVsLUdyZW56ZW4gaGlud2VnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUyCiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb2RlciBub25lIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU2CiBtc2dpZCAiQ3JlYXRlIGEgc2hhbGxvdyBjbG9uZSB0cnVuY2F0ZWQgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgcmV2aXNpb25zIgogbXNnc3RyICIiCi0iRXJzdGVsbHVuZyBlaW5lcyBLbG9ucyBtaXQgdW52b2xsc3TDpG5kaWdlciBIaXN0b3JpZSAoc2hhbGxvdyksIGFiZ2VzY2huaXR0ZW4gYmVpXG4iCisiRXJzdGVsbHVuZyBlaW5lcyBLbG9ucyBtaXQgdW52b2xsc3TDpG5kaWdlciBIaXN0b3JpZSAoc2hhbGxvdyksIGFiZ2VzY2huaXR0ZW4gIgorImJlaVxuIgogImRlciBhbmdlZ2ViZW5lbiBBbnphaGwgdm9uIENvbW1pdHMuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzgyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU5CiBtc2dpZCAicGFyYWxsZWwgam9icyIKIG1zZ3N0ciAiUGFyYWxsZWxlIEF1c2bDvGhydW5nZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjEKK21zZ2lkICJ3aGV0aGVyIHRoZSBpbml0aWFsIGNsb25lIHNob3VsZCBmb2xsb3cgdGhlIHNoYWxsb3cgcmVjb21tZW5kYXRpb24iCittc2dzdHIgIiIKKyJvYiBkYXMgaW5pdGlhbGUgS2xvbmVuIGRlbiBFbXBmZWhsdW5nZW4gZsO8ciBlaW5lIHVudm9sbHN0w6RuZGlnZVxuIgorIkhpc3RvcmllIChzaGFsbG93KSBmb2xnZW4gc29sbCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2MgogbXNnaWQgImRvbid0IHByaW50IGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgImtlaW5lIEZvcnRzY2hyaXR0c2FuemVpZ2UgYmVpbSBLbG9uZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjkKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08UGZhZD5dIFs8UGZhZD4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzk4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc5CiBtc2dpZCAiYmFkIHZhbHVlIGZvciB1cGRhdGUgcGFyYW1ldGVyIgogbXNnc3RyICJGZWhsZXJoYWZ0ZXIgV2VydCBmw7xyIC0tdXBkYXRlIFBhcmFtZXRlciIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg1NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlN1Ym1vZHVsZSAoJXMpIGJyYW5jaCBjb25maWd1cmVkIHRvIGluaGVyaXQgYnJhbmNoIGZyb20gc3VwZXJwcm9qZWN0LCBidXQgIgorInRoZSBzdXBlcnByb2plY3QgaXMgbm90IG9uIGFueSBicmFuY2giCittc2dzdHIgIiIKKyJCcmFuY2ggdm9uIFN1Ym1vZHVsICglcykgaXN0IGtvbmZpZ3VyaWVydCwgZGVuIEJyYW5jaCBkZXMgSGF1cHRwcm9qZWt0ZXNcbiIKKyJ6dSBlcmJlbiwgYWJlciBkYXMgSGF1cHRwcm9qZWt0IGJlZmluZGV0IHNpY2ggYXVmIGtlaW5lbSBCcmFuY2guIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwMAogbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgInN1Ym1vZHVsZS0taGVscGVyIG11c3MgbWl0IGVpbmVtIFVudGVyYmVmZWhsIGF1ZmdlcnVmZW4gd2VyZGVuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODYyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCiBtc2dzdHIgIiclcycgaXN0IGtlaW4gZ8O8bHRpZ2VyIFVudGVyYmVmZWhsIHZvbiBzdWJtb2R1bGUtLWhlbHBlciIKQEAgLTExNjQzLDcgKzEyOTg0LDcgQEAKIG1zZ2lkICJVcGRhdGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIlRhZyAnJXMnIGFrdHVhbGlzaWVydCAod2FyICVzKVxuIgogCi0jOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NDkwCisjOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NDkzCiBtc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIkVudHBhY2tlIE9iamVrdGUiCiAKQEAgLTExNzE2LDE0NyArMTMwNTcsMTU1IEBACiBtc2dpZCAiIE9LIgogbXNnc3RyICIgT0siCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTc1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU2NAogbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1pbmRleCBbPE9wdGlvbmVuPl0gWy0tXSBbPERhdGVpPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkxOQogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAiIgogIkFrdHVhbGlzaWVydW5nIGZvcnRzZXR6ZW4sIGF1Y2ggd2VubiBkZXIgSW5kZXggYWt0dWFsaXNpZXJ0IHdlcmRlbiBtdXNzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjIKIG1zZ2lkICJyZWZyZXNoOiBpZ25vcmUgc3VibW9kdWxlcyIKIG1zZ3N0ciAiQWt0dWFsaXNpZXJ1bmc6IGlnbm9yaWVydCBTdWJtb2R1bGUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNQogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICJrZWluZSBuZXVlbiBEYXRlaWVuIGlnbm9yaWVyZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNwogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICJEYXRlaWVuIFZlcnplaWNobmlzc2UgZXJzZXR6ZW4gbGFzc2VuLCB1bmQgdW1nZWRyZWh0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjkKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJmZWhsZW5kZSBEYXRlaWVuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyBiZWFjaHRlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMxCiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgIiIKICJha3R1YWxpc2llcmVuLCBhdWNoIHdlbm4gZGVyIEluZGV4IG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIEVpbnRyw6RnZSBiZWluaGFsdGV0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzQKIG1zZ2lkICJyZWZyZXNoIHN0YXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIkRhdGVpaW5mb3JtYXRpb25lbiBha3R1YWxpc2llcmVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzgKIG1zZ2lkICJsaWtlIC0tcmVmcmVzaCwgYnV0IGlnbm9yZSBhc3N1bWUtdW5jaGFuZ2VkIHNldHRpbmciCiBtc2dzdHIgIndpZSAtLXJlZnJlc2gsIGlnbm9yaWVydCBhYmVyIFwiYXNzdW1lLXVuY2hhbmdlZFwiIEVpbnN0ZWxsdW5nIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKIG1zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgogbXNnc3RyICI8TW9kdXM+LDxPYmpla3Q+LDxQZmFkPiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQzCiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICJkZW4gYW5nZWdlYmVuZW4gRWludHJhZyB6dW0gQ29tbWl0IHZvcm1lcmtlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTgKLW1zZ2lkICIoKy8tKXgiCi1tc2dzdHIgIigrLy0peCIKLQotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTkKLW1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKLW1zZ3N0ciAiZGFzIFwiYXVzZsO8aHJiYXJcIi1CaXQgZGVyIGF1ZmdlbGlzdGV0ZW4gRGF0ZWllbiDDvGJlcnNjaHJlaWJlbiIKLQotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUyCiBtc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgogbXNnc3RyICJkaWVzZSBEYXRlaSBpbW1lciBhbHMgdW52ZXLDpG5kZXJ0IGJldHJhY2h0ZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1NQogbXNnaWQgImNsZWFyIGFzc3VtZWQtdW5jaGFuZ2VkIGJpdCIKIG1zZ3N0ciAiXCJhc3N1bWVkLXVuY2hhbmdlZFwiLUJpdCBsw7ZzY2hlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAiRGF0ZWllbiBhbHMgXCJpbmRleC1vbmx5XCIgbWFya2llcmVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjEKIG1zZ2lkICJjbGVhciBza2lwLXdvcmt0cmVlIGJpdCIKIG1zZ3N0ciAiXCJza2lwLXdvcmt0cmVlXCItQml0IGzDtnNjaGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjQKIG1zZ2lkICJhZGQgdG8gaW5kZXggb25seTsgZG8gbm90IGFkZCBjb250ZW50IHRvIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAiIgogImRpZSDDhG5kZXJ1bmdlbiBudXIgenVtIENvbW1pdCB2b3JtZXJrZW47IEluaGFsdCB3aXJkIG5pY2h0IGRlciBPYmpla3QtIgogIkRhdGVuYmFuayBoaW56dWdlZsO8Z3QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NgogbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCiBtc2dzdHIgIiIKICJiZW5hbm50ZSBQZmFkZSBsw7ZzY2hlbiwgYXVjaCB3ZW5uIHNpZSBzaWNoIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyBiZWZpbmRlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY4CiBtc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgogbXNnc3RyICJtaXQgLS1zdGRpbjogZWluZ2VnZWJlbmUgWmVpbGVuIHNpbmQgZHVyY2ggTlVMLUJ5dGVzIGFiZ2VzY2hsb3NzZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MAogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIkxpc3RlIGRlciB6dSBha3R1YWxpc2llcmVuZGVuIFBmYWRlIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSBsZXNlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc0CiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIkVpbnRyw6RnZSB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUgenVtIENvbW1pdCB2b3JtZXJrZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3OAogbXNnaWQgInJlcG9wdWxhdGUgc3RhZ2VzICMyIGFuZCAjMyBmb3IgdGhlIGxpc3RlZCBwYXRocyIKIG1zZ3N0ciAiIgogIndpZWRlcmhvbHRlcyBFaW5wZmxlZ2VuIGRlciBadXN0w6RuZGUgIzIgdW5kICMzIGbDvHIgZGllIGF1ZmdlbGlzdGV0ZW4gUGZhZGUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MgogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgogbXNnc3RyICJudXIgRWludHLDpGdlIGFrdHVhbGlzaWVyZW4sIGRpZSB1bnRlcnNjaGllZGxpY2ggenUgSEVBRCBzaW5kIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODYKIG1zZ2lkICJpZ25vcmUgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJmZWhsZW5kZSBEYXRlaWVuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyBpZ25vcmllcmVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5CiBtc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICJkaWUgQWt0aW9uZW4gaW4gZGVyIFN0YW5kYXJkLUF1c2dhYmUgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTEKIG1zZ2lkICIoZm9yIHBvcmNlbGFpbnMpIGZvcmdldCBzYXZlZCB1bnJlc29sdmVkIGNvbmZsaWN0cyIKIG1zZ3N0ciAiKGbDvHIgRnJlbWRwcm9ncmFtbWUpIGtlaW5lIGdlc3BlaWNoZXJ0ZW4sIG5pY2h0IGF1ZmdlbMO2c3RlIEtvbmZsaWt0ZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NQogbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgogbXNnc3RyICJJbmRleC1EYXRlaSBpbiBkaWVzZW0gRm9ybWF0IHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NwogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICJTcGxpdHRpbmcgZGVzIEluZGV4IGFrdGl2aWVyZW4gb2RlciBkZWFrdGl2aWVyZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTkKIG1zZ2lkICJlbmFibGUvZGlzYWJsZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgIkNhY2hlIGbDvHIgdW52ZXJzaW9uaWVydGUgRGF0ZWllbiBha3RpdmllcmVuIG9kZXIgZGVha3RpdmllcmVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMQogbXNnaWQgInRlc3QgaWYgdGhlIGZpbGVzeXN0ZW0gc3VwcG9ydHMgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICIiCiAicHLDvGZlbiBvYiBkYXMgRGF0ZWlzeXN0ZW0gZWluZW4gQ2FjaGUgZsO8ciB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIHVudGVyc3TDvHR6dCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDMKIG1zZ2lkICJlbmFibGUgdW50cmFja2VkIGNhY2hlIHdpdGhvdXQgdGVzdGluZyB0aGUgZmlsZXN5c3RlbSIKIG1zZ3N0ciAiIgogIkNhY2hlIGbDvHIgdW52ZXJzaW9uaWVydGUgRGF0ZWllbiBvaG5lIFByw7xmdW5nIGRlcyBEYXRlaXN5c3RlbXMgYWt0aXZpZXJlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMTkKK21zZ2lkICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKKyJ0byBkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCittc2dzdHIgIiIKKyJjb3JlLnVudHJhY2tlZENhY2hlIGlzdCBhdWYgJ3RydWUnIGdlc2V0enQuIEVudGZlcm5lbiBvZGVyIMOkbmRlcm4gU2llIGRpZXMsXG4iCisid2VubiBTaWUgd2lya2xpY2ggZGVuIENhY2hlIGbDvHIgdW52ZXJzaW9uaWVydGUgRGF0ZWllbiBkZWFrdGl2aWVyZW4gbcO2Y2h0ZW4uIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMjMKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZGlzYWJsZWQiCiBtc2dzdHIgIkNhY2hlIGbDvHIgdW52ZXJzaW9uaWVydGUgRGF0ZWllbiBkZWFrdGl2aWVydCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTQ2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMzEKK21zZ2lkICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCisidG8gZW5hYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCittc2dzdHIgIiIKKyJjb3JlLnVudHJhY2tlZENhY2hlIGlzdCBhdWYgJ2ZhbHNlJyBnZXNldHp0LiBFbnRmZXJuZW4gb2RlciDDpG5kZXJuIFNpZSBkaWVzLFxuIgorIndlbm4gc2llIHdpcmtsaWNoIGRlbiBDYWNoZSBmw7xyIHVudmVyc2lvbmllcnRlIERhdGVpZW4gYWt0aXZpZXJlbiBtw7ZjaHRlbi4iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZW5hYmxlZCBmb3IgJyVzJyIKIG1zZ3N0ciAiQ2FjaGUgZsO8ciB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIGbDvHIgJyVzJyBha3RpdmllcnQiCkBAIC0xMTkzNSw4NCArMTMyODQsMTExIEBACiBtc2dzdHIgImdpdCB3b3JrdHJlZSBhZGQgWzxPcHRpb25lbj5dIDxQZmFkPiBbPEJyYW5jaD5dIgogCiAjOiBidWlsdGluL3dvcmt0cmVlLmM6MTYKLW1zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPE9wdGlvbmVuPl0iCi0KLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNwogbXNnaWQgImdpdCB3b3JrdHJlZSBsaXN0IFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgbGlzdCBbPE9wdGlvbmVuPl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3Cittc2dpZCAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxvcHRpb25zPl0gPHBhdGg+IgorbXNnc3RyICJnaXQgd29ya3RyZWUgbG9jayBbPE9wdGlvbmVuPl0gPFBmYWQ+IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKK21zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPE9wdGlvbmVuPl0iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOQorbXNnaWQgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHBhdGg+IgorbXNnc3RyICJnaXQgd29ya3RyZWUgdW5sb2NrIDxQZmFkPiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogbm90IGEgdmFsaWQgZGlyZWN0b3J5IgogbXNnc3RyICJMw7ZzY2hlIHdvcmt0cmVlcy8lczoga2VpbiBnw7xsdGlnZXMgVmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogZ2l0ZGlyIGZpbGUgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIkzDtnNjaGUgd29ya3RyZWVzLyVzOiBnaXRkaXItRGF0ZWkgZXhpc3RpZXJ0IG5pY2h0IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IHVuYWJsZSB0byByZWFkIGdpdGRpciBmaWxlICglcykiCiBtc2dzdHIgIkzDtnNjaGUgd29ya3RyZWVzLyVzOiBrb25udGUgZ2l0ZGlyLURhdGVpICglcykgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogaW52YWxpZCBnaXRkaXIgZmlsZSIKIG1zZ3N0ciAiTMO2c2NoZSB3b3JrdHJlZXMvJXM6IHVuZ8O8bHRpZ2UgZ2l0ZGlyLURhdGVpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIHBvaW50cyB0byBub24tZXhpc3RlbnQgbG9jYXRpb24iCiBtc2dzdHIgIkzDtnNjaGUgd29ya3RyZWVzLyVzOiBnaXRkaXItRGF0ZWkgdmVyd2Vpc3QgYXVmIG5pY2h0IGV4aXN0aWVyZW5kZW4gT3J0IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTEzCi0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKLW1zZ3N0ciAiRmVobGVyIGJlaW0gTMO2c2NoZW4gdm9uICclcyciCi0KLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiJyVzJyBleGlzdGllcnQgYmVyZWl0cyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjIzNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBvZiAnJXMnIgogbXNnc3RyICJLb25udGUgVmVyemVpY2huaXMgJyVzJyBuaWNodCBlcnN0ZWxsZW4uIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjcwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlByZXBhcmluZyAlcyAoaWRlbnRpZmllciAlcykiCiBtc2dzdHIgIkJlcmVpdGUgJXMgdm9yIChJZGVudGlmaWthdGlvbiAlcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjMKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBldmVuIGlmIGFscmVhZHkgY2hlY2tlZCBvdXQgaW4gb3RoZXIgd29ya3RyZWUiCiBtc2dzdHIgIiIKICI8QnJhbmNoPiBhdXNjaGVja2VuLCBhdWNoIHdlbm4gZGllc2VyIGJlcmVpdHMgaW4gZWluZW0gYW5kZXJlbiAiCiAiQXJiZWl0c3ZlcnplaWNobmlzIGF1c2dlY2hlY2t0IGlzdCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNQogbXNnaWQgImNyZWF0ZSBhIG5ldyBicmFuY2giCiBtc2dzdHIgIm5ldWVuIEJyYW5jaCBlcnN0ZWxsZW4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjcKIG1zZ2lkICJjcmVhdGUgb3IgcmVzZXQgYSBicmFuY2giCiBtc2dzdHIgIkJyYW5jaCBlcnN0ZWxsZW4gb2RlciB1bXNldHplbiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNwotbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKLW1zZ3N0ciAiSEVBRCBiZWkgYmVuYW5udGVtIENvbW1pdCBsb3Nsw7ZzZW4iCi0KLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKIG1zZ2lkICJwb3B1bGF0ZSB0aGUgbmV3IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiZGFzIG5ldWUgQXJiZWl0c3ZlcnplaWNobmlzIGF1c2NoZWNrZW4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzcKIG1zZ2lkICItYiwgLUIsIGFuZCAtLWRldGFjaCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYiwgLUIgdW5kIC0tZGV0YWNoIHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMiCiAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzAKK21zZ2lkICJyZWFzb24gZm9yIGxvY2tpbmciCittc2dzdHIgIlNwZXJyZ3J1bmQiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODIgYnVpbHRpbi93b3JrdHJlZS5jOjUxNQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiJyVzJyBpc3Qga2VpbiBBcmJlaXRzdmVyemVpY2huaXMiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODQgYnVpbHRpbi93b3JrdHJlZS5jOjUxNworbXNnaWQgIlRoZSBtYWluIHdvcmtpbmcgdHJlZSBjYW5ub3QgYmUgbG9ja2VkIG9yIHVubG9ja2VkIgorbXNnc3RyICJEYXMgSGF1cHRhcmJlaXRzdmVyemVpY2huaXMga2FubiBuaWNodCBnZXNwZXJydCBvZGVyIGVudHNwZXJydCB3ZXJkZW4uIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQsIHJlYXNvbjogJXMiCittc2dzdHIgIiclcycgaXN0IGJlcmVpdHMgZ2VzcGVycnQsIEdydW5kOiAlcyIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkIgorbXNnc3RyICInJXMnIGlzdCBiZXJlaXRzIGdlc3BlcnJ0IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGxvY2tlZCIKK21zZ3N0ciAiJyVzJyBpc3QgbmljaHQgZ2VzcGVycnQiCisKICM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjEzCiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08UHLDpGZpeD4vXSIKQEAgLTEyMDI5LDYgKzEzNDA1LDQ0IEBACiBtc2dpZCAib25seSB1c2VmdWwgZm9yIGRlYnVnZ2luZyIKIG1zZ3N0ciAibnVyIG7DvHR6bGljaCBmw7xyIEZlaGxlcnN1Y2hlIgogCisjOiB1cGxvYWQtcGFjay5jOjIyCittc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgorbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzxPcHRpb25lbj5dIDxWZXJ6ZWljaG5pcz4iCisKKyM6IHVwbG9hZC1wYWNrLmM6MTAyOAorbXNnaWQgInF1aXQgYWZ0ZXIgYSBzaW5nbGUgcmVxdWVzdC9yZXNwb25zZSBleGNoYW5nZSIKK21zZ3N0ciAibmFjaCBlaW5lbSBlaW56aWdlbiBSZXF1ZXN0L1Jlc3BvbnNlLUF1c3RhdXNjaCBiZWVuZGVuIgorCisjOiB1cGxvYWQtcGFjay5jOjEwMzAKK21zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGluaXRpYWwgcmVmIGFkdmVydGlzZW1lbnQiCittc2dzdHIgImRpcmVrdCBuYWNoIGRlciBpbml0aWFsZW4gQW5nYWJlIGRlciBDb21taXRzIGJlZW5kZW4iCisKKyM6IHVwbG9hZC1wYWNrLmM6MTAzMgorbXNnaWQgImRvIG5vdCB0cnkgPGRpcmVjdG9yeT4vLmdpdC8gaWYgPGRpcmVjdG9yeT4gaXMgbm8gR2l0IGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorImtlaW4gVmVyc3VjaCBpbiA8VmVyemVpY2huaXM+Ly5naXQvIHdlbm4gPFZlcnplaWNobmlzPiBrZWluIEdpdC1WZXJ6ZWljaG5pcyAiCisiaXN0IgorCisjOiB1cGxvYWQtcGFjay5jOjEwMzQKK21zZ2lkICJpbnRlcnJ1cHQgdHJhbnNmZXIgYWZ0ZXIgPG4+IHNlY29uZHMgb2YgaW5hY3Rpdml0eSIKK21zZ3N0ciAiw5xiZXJ0cmFndW5nIG5hY2ggPG4+IFNla3VuZGVuIEluYWt0aXZpdMOkdCB1bnRlcmJyZWNoZW4iCisKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIHBlcm1pc3Npb25zIG9uIHlvdXIgc29ja2V0IGRpcmVjdG9yeSBhcmUgdG9vIGxvb3NlOyBvdGhlclxuIgorInVzZXJzIG1heSBiZSBhYmxlIHRvIHJlYWQgeW91ciBjYWNoZWQgY3JlZGVudGlhbHMuIENvbnNpZGVyIHJ1bm5pbmc6XG4iCisiXG4iCisiXHRjaG1vZCAwNzAwICVzIgorbXNnc3RyICIiCisiRGllIEJlcmVjaHRpZ3VuZ2VuIGF1ZiBJaHIgU29ja2V0LVZlcnplaWNobmlzIHNpbmQgenUgc2Nod2FjaDsgYW5kZXJlXG4iCisiTnV0emVyIGvDtm5udGVuIElocmUgendpc2NoZW5nZXNwZWljaGVydGVuIEFubWVsZGVpbmZvcm1hdGlvbmVuIGxlc2VuLlxuIgorIlppZWhlbiBTaWUgaW4gQmV0cmFjaHRcbiIKKyJcbiIKKyJcdGNobW9kIDA3MDAgJXNcbiIKKyJcbiIKKyJhdXN6dWbDvGhyZW4uIgorCiAjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzEKIG1zZ2lkICJwcmludCBkZWJ1Z2dpbmcgbWVzc2FnZXMgdG8gc3RkZXJyIgogbXNnc3RyICJNZWxkdW5nZW4genVyIEZlaGxlcnN1Y2hlIGluIFN0YW5kYXJkLUZlaGxlcmF1c2dhYmUgYXVzZ2ViZW4iCkBAIC0xMjA0NCw3ICsxMzQ1OCwxMSBAQAogIm9kZXIgJ2dpdCBoZWxwIDxLb256ZXB0PicsIHVtIG1laHIgw7xiZXIgZWluZW4gc3BlemlmaXNjaGVuIEJlZmVobCBvZGVyXG4iCiAiS29uemVwdCB6dSBlcmZhaHJlbi4iCiAKLSM6IGh0dHAuYzozMjIKKyM6IGh0dHAuYzozNDIKK21zZ2lkICJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiCittc2dzdHIgIktvbnRyb2xsZSDDvGJlciBEZWxlZ2F0aW9uIHdpcmQgbWl0IGNVUkwgPCA3LjIyLjAgbmljaHQgdW50ZXJzdMO8dHp0IgorCisjOiBodHRwLmM6MzUxCiBtc2dpZCAiUHVibGljIGtleSBwaW5uaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICIiCiAiRGFzIEFuaGVmdGVuIGRlcyDDtmZmZW50bGljaGVuIFNjaGzDvHNzZWxzIHdpcmQgbWl0IGNVUkwgPCA3LjQ0LjBcbiIKQEAgLTEyMTcyLDE1ICsxMzU5MCwxNSBAQAogbXNnaWQgIm5vLW9wIChiYWNrd2FyZCBjb21wYXRpYmlsaXR5KSIKIG1zZ3N0ciAiS2VpbiBFZmZla3QgKFLDvGNrd8OkcnRza29tcGF0aWJpbGl0w6R0KSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzNworIzogcGFyc2Utb3B0aW9ucy5oOjIzOAogbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKIG1zZ3N0ciAiZXJ3ZWl0ZXJ0ZSBBdXNnYWJlbiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzOQorIzogcGFyc2Utb3B0aW9ucy5oOjI0MAogbXNnaWQgImJlIG1vcmUgcXVpZXQiCiBtc2dzdHIgIndlbmlnZXIgQXVzZ2FiZW4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNDUKKyM6IHBhcnNlLW9wdGlvbnMuaDoyNDYKIG1zZ2lkICJ1c2UgPG4+IGRpZ2l0cyB0byBkaXNwbGF5IFNIQS0xcyIKIG1zZ3N0ciAiYmVudXR6ZSA8bj4gWmlmZmVybiB6dXIgQW56ZWlnZSB2b24gU0hBLTFzIgogCkBAIC0xMjE4OSwzMiArMTM2MDcsMzIgQEAKIG1zZ3N0ciAiIgogIkluZGV4LCB3ZW5uIG3DtmdsaWNoLCBtaXQgd2llZGVydmVyd2VuZGV0ZXIgS29uZmxpa3RhdWZsw7ZzdW5nIGFrdHVhbGlzaWVyZW4iCiAKLSM6IGdpdC1iaXNlY3Quc2g6NTUKKyM6IGdpdC1iaXNlY3Quc2g6NTQKIG1zZ2lkICJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIiIKIG1zZ3N0ciAiU2llIG3DvHNzZW4gbWl0IFwiZ2l0IGJpc2VjdCBzdGFydFwiIGJlZ2lubmVuLiIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKICMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKICMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtYmlzZWN0LnNoOjYxCisjOiBnaXQtYmlzZWN0LnNoOjYwCiBtc2dpZCAiRG8geW91IHdhbnQgbWUgdG8gZG8gaXQgZm9yIHlvdSBbWS9uXT8gIgogbXNnc3RyICJXb2xsZW4gU2llLCBkYXNzIGljaCBlcyBmw7xyIFNpZSBtYWNoZSBbWS9uXT8gIgogCi0jOiBnaXQtYmlzZWN0LnNoOjEyMgorIzogZ2l0LWJpc2VjdC5zaDoxMjEKICMsIHNoLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXNlZCBvcHRpb246ICckYXJnJyIKIG1zZ3N0ciAibmljaHQgZXJrYW5udGUgT3B0aW9uOiAnJGFyZyciCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTI2CisjOiBnaXQtYmlzZWN0LnNoOjEyNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmcnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIHJldmlzaW9uIgogbXNnc3RyICInJGFyZycgc2NoZWludCBrZWluIGfDvGx0aWdlciBDb21taXQgenUgc2VpbiIKIAotIzogZ2l0LWJpc2VjdC5zaDoxNTUKKyM6IGdpdC1iaXNlY3Quc2g6MTU0CiBtc2dpZCAiQmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIgogbXNnc3RyICJVbmfDvGx0aWdlciBIRUFEIC0gSEVBRCB3aXJkIGJlbsO2dGlndCIKIAotIzogZ2l0LWJpc2VjdC5zaDoxNjgKKyM6IGdpdC1iaXNlY3Quc2g6MTY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiQ2hlY2tpbmcgb3V0ICckc3RhcnRfaGVhZCcgZmFpbGVkLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPHZhbGlkLWJyYW5jaD4nLiIKQEAgLTEyMjIyLDI4ICsxMzY0MCwyOSBAQAogIkF1c2NoZWNrZW4gdm9uICckc3RhcnRfaGVhZCcgZmVobGdlc2NobGFnZW4uIFZlcnN1Y2hlbiBTaWUgJ2dpdCBiaXNlY3QgcmVzZXQgIgogIjxnw7xsdGlnZXItQnJhbmNoPicuIgogCi0jOiBnaXQtYmlzZWN0LnNoOjE3OAorIzogZ2l0LWJpc2VjdC5zaDoxNzcKIG1zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgogbXNnc3RyICIiCiAiYmluw6RyZSBTdWNoZSBhdWYgZWluZW0gZHVyY2ggJ2NnLXNlZWsnIGdlw6RuZGVydGVtIFZlcnplaWNobmlzIG5pY2h0IG3DtmdsaWNoIgogCi0jOiBnaXQtYmlzZWN0LnNoOjE4MgorIzogZ2l0LWJpc2VjdC5zaDoxODEKIG1zZ2lkICJCYWQgSEVBRCAtIHN0cmFuZ2Ugc3ltYm9saWMgcmVmIgogbXNnc3RyICJVbmfDvGx0aWdlciBIRUFEIC0gbWVya3fDvHJkaWdlIHN5bWJvbGlzY2hlIFJlZmVyZW56IgogCi0jOiBnaXQtYmlzZWN0LnNoOjIzNAorIzogZ2l0LWJpc2VjdC5zaDoyMzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICRzdGF0ZSIKIG1zZ3N0ciAiVW5nw7xsdGlnZXMgXCJiaXNlY3Rfd3JpdGVcIiBBcmd1bWVudDogJHN0YXRlIgogCi0jOiBnaXQtYmlzZWN0LnNoOjI2MworIzogZ2l0LWJpc2VjdC5zaDoyNjIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRhcmciCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgUmVmZXJlbnotRWluZ2FiZTogJGFyZyIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNzgKLW1zZ2lkICJQbGVhc2UgY2FsbCAnYmlzZWN0X3N0YXRlJyB3aXRoIGF0IGxlYXN0IG9uZSBhcmd1bWVudC4iCi1tc2dzdHIgIkJpdHRlIHJ1ZmVuIFNpZSAnYmlzZWN0X3N0YXRlJyBtaXQgbWluZGVzdGVucyBlaW5lbSBBcmd1bWVudCBhdWYuIgorIzogZ2l0LWJpc2VjdC5zaDoyODEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRiaXNlY3RlZF9oZWFkIgorbXNnc3RyICJVbmfDvGx0aWdlIFJlZmVyZW56LUVpbmdhYmU6ICRiaXNlY3RlZF9oZWFkIgogCiAjOiBnaXQtYmlzZWN0LnNoOjI5MAogIywgc2gtZm9ybWF0CkBAIC0xMjM5Miw3ICsxMzgxMSw0OCBAQAogIlVuZ8O8bHRpZ2VzIEFyZ3VtZW50ICRhcmcgZsO8ciAnZ2l0IGJpc2VjdCB0ZXJtcycuXG4iCiAiVW50ZXJzdMO8dHp0ZSBPcHRpb25lbiBzaW5kOiAtLXRlcm0tZ29vZHwtLXRlcm0tb2xkIHVuZCAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU3CisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo0NgorbXNnaWQgIiIKKyJFcnJvcjogWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgorIm1lcmdlIgorbXNnc3RyICIiCisiRmVobGVyIElocmUgbG9rYWxlbiDDhG5kZXJ1bmdlbiBpbiBkZW4gZm9sZ2VuZGVuIERhdGVpZW4gd8O8cmRlbiBkdXJjaCBkZW4gIgorIk1lcmdlXG4iCisiw7xiZXJzY2hyaWViZW4gd2VyZGVuIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo2MQorbXNnaWQgIkF1dG9tYXRlZCBtZXJnZSBkaWQgbm90IHdvcmsuIgorbXNnc3RyICJBdXRvbWF0aXNjaGVyIE1lcmdlIGhhdCBuaWNodCBmdW5rdGlvbmllcnQuIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo2MgorbXNnaWQgIlNob3VsZCBub3QgYmUgZG9pbmcgYW4gb2N0b3B1cy4iCittc2dzdHIgIlNvbGx0ZSBrZWluZW4gT2N0b3B1cy1NZXJnZSBhdXNmw7xocmVuLiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NzMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBmaW5kIGNvbW1vbiBjb21taXQgd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgIktvbm50ZSBrZWluZW4gZ2VtZWluc2FtZW4gQ29tbWl0IG1pdCAkcHJldHR5X25hbWUgZmluZGVuLiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NzcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZSB3aXRoICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAiQmVyZWl0cyBha3R1ZWxsIG1pdCAkcHJldHR5X25hbWUiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjg5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJGYXN0LWZvcndhcmRpbmcgdG86ICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAiU3B1bGUgdm9yIHp1OiAkcHJldHR5X25hbWUiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjk3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJUcnlpbmcgc2ltcGxlIG1lcmdlIHdpdGggJHByZXR0eV9uYW1lIgorbXNnc3RyICJWZXJzdWNoZSBlaW5mYWNoZW4gTWVyZ2UgbWl0ICRwcmV0dHlfbmFtZSIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6MTAyCittc2dpZCAiU2ltcGxlIG1lcmdlIGRpZCBub3Qgd29yaywgdHJ5aW5nIGF1dG9tYXRpYyBtZXJnZS4iCittc2dzdHIgIkVpbmZhY2hlciBNZXJnZSBoYXQgbmljaHQgZnVua3Rpb25pZXJ0LCB2ZXJzdWNoZSBhdXRvbWF0aXNjaGVuIE1lcmdlLiIKKworIzogZ2l0LXJlYmFzZS5zaDo1NgogbXNnaWQgIiIKICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIuXG4iCiAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcImdpdCByZWJhc2UgLS1za2lwXCIgaW5zdGVhZC5cbiIKQEAgLTEyNDA2LDQ4ICsxMzg2Niw1MyBAQAogIlVtIGRlbiB1cnNwcsO8bmdsaWNoZW4gQnJhbmNoIHdpZWRlcmhlcnp1c3RlbGxlbiB1bmQgZGVuIFJlYmFzZSBhYnp1YnJlY2hlbixcbiIKICJmw7xocmVuIFNpZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIGF1cy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTY4Ci1tc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgotbXNnc3RyICJcImF1dG9zdGFzaFwiIGFuZ2V3ZW5kZXQuIgorIzogZ2l0LXJlYmFzZS5zaDoxNTYgZ2l0LXJlYmFzZS5zaDozOTUKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKK21zZ3N0ciAiS29ubnRlIG5pY2h0IHp1ICRoZWFkX25hbWUgenVyw7xja2dlaGVuIgogCi0jOiBnaXQtcmViYXNlLnNoOjE3MQorIzogZ2l0LXJlYmFzZS5zaDoxNjcKK21zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCittc2dzdHIgIkF1dG9tYXRpc2NoZW4gU3Rhc2ggYW5nZXdlbmRldC4iCisKKyM6IGdpdC1yZWJhc2Uuc2g6MTcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3RvcmUgJHN0YXNoX3NoYTEiCiBtc2dzdHIgIkthbm4gJHN0YXNoX3NoYTEgbmljaHQgc3BlaWNoZXJuLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNzIKKyM6IGdpdC1yZWJhc2Uuc2g6MTcxCiBtc2dpZCAiIgogIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCiAiWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC5cbiIKICJZb3UgY2FuIHJ1biBcImdpdCBzdGFzaCBwb3BcIiBvciBcImdpdCBzdGFzaCBkcm9wXCIgYXQgYW55IHRpbWUuXG4iCiBtc2dzdHIgIiIKLSJBbndlbmR1bmcgdm9uIFwiYXV0b3N0YXNoXCIgcmVzdWx0aWVydGUgaW4gS29uZmxpa3Rlbi5cbiIKKyJBbndlbmR1bmcgZGVzIGF1dG9tYXRpc2NoZW4gU3Rhc2ggcmVzdWx0aWVydGUgaW4gS29uZmxpa3Rlbi5cbiIKICJJaHJlIMOEbmRlcnVuZ2VuIHNpbmQgaW0gU3Rhc2ggc2ljaGVyLlxuIgogIlNpZSBrw7ZubmVuIGplZGVyemVpdCBcImdpdCBzdGFzaCBwb3BcIiBvZGVyIFwiZ2l0IHN0YXNoIGRyb3BcIiBhdXNmw7xocmVuLlxuIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxMQorIzogZ2l0LXJlYmFzZS5zaDoyMTAKIG1zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKIG1zZ3N0ciAiRGVyIFwicHJlLXJlYmFzZSBob29rXCIgaGF0IGRlbiBSZWJhc2UgenVyw7xja2dld2llc2VuLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoyMTYKKyM6IGdpdC1yZWJhc2Uuc2g6MjE1CiBtc2dpZCAiSXQgbG9va3MgbGlrZSBnaXQtYW0gaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIgogbXNnc3RyICJcImdpdC1hbVwiIHNjaGVpbnQgaW0gR2FuZ2UgenUgc2Vpbi4gS2FubiBSZWJhc2UgbmljaHQgZHVyY2hmw7xocmVuLiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNTcKKyM6IGdpdC1yZWJhc2Uuc2g6MzU2CiBtc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKIG1zZ3N0ciAiS2VpbiBSZWJhc2UgaW0gR2FuZ2U/IgogCi0jOiBnaXQtcmViYXNlLnNoOjM2OAorIzogZ2l0LXJlYmFzZS5zaDozNjcKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIiIKICJEaWUgLS1lZGl0LXRvZG8gQWt0aW9uIGthbm4gbnVyIHfDpGhyZW5kIGVpbmVzIGludGVyYWt0aXZlbiBSZWJhc2UgdmVyd2VuZGV0ICIKICJ3ZXJkZW4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3NQorIzogZ2l0LXJlYmFzZS5zaDozNzQKIG1zZ2lkICJDYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICJLYW5uIEhFQUQgbmljaHQgbGVzZW4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzc4CisjOiBnaXQtcmViYXNlLnNoOjM3NwogbXNnaWQgIiIKICJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKICJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKQEAgLTEyNDU1LDEyICsxMzkyMCw3IEBACiAiU2llIG3DvHNzZW4gYWxsZSBNZXJnZS1Lb25mbGlrdGUgZWRpdGllcmVuIHVuZCBkaWVzZSBkYW5uXG4iCiAibWl0dGVscyBcImdpdCBhZGRcIiBhbHMgYXVmZ2Vsw7ZzdCBtYXJraWVyZW4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzk2Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCi1tc2dzdHIgIktvbm50ZSBuaWNodCB6dSAkaGVhZF9uYW1lIHp1csO8Y2tnZWhlbiIKLQotIzogZ2l0LXJlYmFzZS5zaDo0MTUKKyM6IGdpdC1yZWJhc2Uuc2g6NDE0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC0xMjQ4MSwxMDAgKzEzOTQxLDEwNCBAQAogInVuZCBmw7xocmVuIFNpZSBkaWVzZW4gQmVmZWhsIG5vY2htYWwgYXVzLiBFcyB3aXJkIGFuZ2VoYWx0ZW4sIGZhbGxzIG5vY2hcbiIKICJldHdhcyBTY2jDvHR6ZW5zd2VydGVzIHZvcmhhbmRlbiBpc3QuIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ2NgorIzogZ2l0LXJlYmFzZS5zaDo0NjUKICMsIHNoLWZvcm1hdAogbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJHVwc3RyZWFtX25hbWUiCiBtc2dzdHIgInVuZ8O8bHRpZ2VyIFVwc3RyZWFtLUJyYW5jaCAkdXBzdHJlYW1fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTAKKyM6IGdpdC1yZWJhc2Uuc2g6NDg5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiJG9udG9fbmFtZTogZXMgZ2lidCBtZWhyIGFscyBlaW5lIE1lcmdlLUJhc2lzIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5MyBnaXQtcmViYXNlLnNoOjQ5NworIzogZ2l0LXJlYmFzZS5zaDo0OTIgZ2l0LXJlYmFzZS5zaDo0OTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGlzIG5vIG1lcmdlIGJhc2UiCiBtc2dzdHIgIiRvbnRvX25hbWU6IGVzIGdpYnQga2VpbmUgTWVyZ2UtQmFzaXMiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTAyCisjOiBnaXQtcmViYXNlLnNoOjUwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCiBtc2dzdHIgIiRvbnRvX25hbWUgemVpZ3QgYXVmIGtlaW5lbiBnw7xsdGlnZW4gQ29tbWl0IgogCi0jOiBnaXQtcmViYXNlLnNoOjUyNQorIzogZ2l0LXJlYmFzZS5zaDo1MjQKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaDogJGJyYW5jaF9uYW1lIgogbXNnc3RyICJmYXRhbDogQnJhbmNoICRicmFuY2hfbmFtZSBuaWNodCBnZWZ1bmRlbiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NTgKKyM6IGdpdC1yZWJhc2Uuc2g6NTU3CiBtc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKLW1zZ3N0ciAiS2FubiBcImF1dG9zdGFzaFwiIG5pY2h0IGF1c2bDvGhyZW4uIgorbXNnc3RyICJLYW5uIGF1dG9tYXRpc2NoZW4gU3Rhc2ggbmljaHQgZXJ6ZXVnZW4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjU2MworIzogZ2l0LXJlYmFzZS5zaDo1NjIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgotbXNnc3RyICJcImF1dG9zdGFzaFwiIGVyemV1Z3Q6ICRzdGFzaF9hYmJyZXYiCittc2dzdHIgIkF1dG9tYXRpc2NoZW4gU3Rhc2ggZXJ6ZXVndDogJHN0YXNoX2FiYnJldiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjcKKyM6IGdpdC1yZWJhc2Uuc2g6NTY2CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAiQml0dGUgY29tbWl0dGVuIFNpZSBkaWUgw4RuZGVydW5nZW4gb2RlciBiZW51dHplbiBTaWUgXCJzdGFzaFwiLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1ODcKKyM6IGdpdC1yZWJhc2Uuc2g6NTg2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIkFrdHVlbGxlciBCcmFuY2ggJGJyYW5jaF9uYW1lIGlzdCBhdWYgZGVtIG5ldWVzdGVuIFN0YW5kLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1OTEKKyM6IGdpdC1yZWJhc2Uuc2g6NTkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCiBtc2dzdHIgIiIKICJBa3R1ZWxsZXIgQnJhbmNoICRicmFuY2hfbmFtZSBpc3QgYXVmIGRlbSBuZXVlc3RlbiBTdGFuZCwgUmViYXNlIGVyend1bmdlbi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjAyCisjOiBnaXQtcmViYXNlLnNoOjYwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCiBtc2dzdHIgIsOEbmRlcnVuZ2VuIHZvbiAkbWIgenUgJG9udG86IgogCi0jOiBnaXQtcmViYXNlLnNoOjYxMQorIzogZ2l0LXJlYmFzZS5zaDo2MTAKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIiIKICJadW7DpGNoc3Qgd2lyZCBkZXIgQnJhbmNoIHp1csO8Y2tnZXNwdWx0LCB1bSBJaHJlIMOEbmRlcnVuZ2VuXG4iCiAiZGFyYXVmIG5ldSBhbnp1d2VuZGVuIC4uLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MjEKKyM6IGdpdC1yZWJhc2Uuc2g6NjIwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRlZCAkYnJhbmNoX25hbWUgdG8gJG9udG9fbmFtZS4iCiBtc2dzdHIgIiRicmFuY2hfbmFtZSB6dSAkb250b19uYW1lIHZvcmdlc3B1bHQuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTEKKyM6IGdpdC1zdGFzaC5zaDo1MAogbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKIG1zZ3N0ciAiZ2l0IHN0YXNoIGNsZWFyIG1pdCBQYXJhbWV0ZXJuIGlzdCBuaWNodCBpbXBsZW1lbnRpZXJ0IgogCi0jOiBnaXQtc3Rhc2guc2g6NzQKKyM6IGdpdC1zdGFzaC5zaDo3MwogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgogbXNnc3RyICJTaWUgaGFiZW4gYmlzaGVyIG5vY2gga2VpbmVuIGluaXRpYWxlbiBDb21taXQiCiAKLSM6IGdpdC1zdGFzaC5zaDo4OQorIzogZ2l0LXN0YXNoLnNoOjg4CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCiBtc2dzdHIgIkthbm4gZGVuIGFrdHVlbGxlbiBadXN0YW5kIGRlcyBJbmRleCBuaWNodCBzcGVpY2hlcm4iCiAKLSM6IGdpdC1zdGFzaC5zaDoxMjQgZ2l0LXN0YXNoLnNoOjEzNworIzogZ2l0LXN0YXNoLnNoOjEwMworbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSB1bnRyYWNrZWQgZmlsZXMiCittc2dzdHIgIkthbm4gZGllIHVudmVyc2lvbmllcnRlbiBEYXRlaWVuIG5pY2h0IHNwZWljaGVybiIKKworIzogZ2l0LXN0YXNoLnNoOjEyMyBnaXQtc3Rhc2guc2g6MTM2CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCiBtc2dzdHIgIkthbm4gZGVuIGFrdHVlbGxlbiBadXN0YW5kIGRlcyBBcmJlaXRzdmVyemVpY2huaXNzZXMgbmljaHQgc3BlaWNoZXJuIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQxCisjOiBnaXQtc3Rhc2guc2g6MTQwCiBtc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKIG1zZ3N0ciAiS2VpbmUgw4RuZGVydW5nZW4gYXVzZ2V3w6RobHQiCiAKLSM6IGdpdC1zdGFzaC5zaDoxNDQKKyM6IGdpdC1zdGFzaC5zaDoxNDMKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBpbmRleCAoY2FuJ3QgaGFwcGVuKSIKIG1zZ3N0ciAiS2FubiB0ZW1wb3LDpHJlbiBJbmRleCBuaWNodCBsw7ZzY2hlbiAoa2FubiBuaWNodCBwYXNzaWVyZW4pIgogCi0jOiBnaXQtc3Rhc2guc2g6MTU3CisjOiBnaXQtc3Rhc2guc2g6MTU2CiBtc2dpZCAiQ2Fubm90IHJlY29yZCB3b3JraW5nIHRyZWUgc3RhdGUiCiBtc2dzdHIgIkthbm4gWnVzdGFuZCBkZXMgQXJiZWl0c3ZlcnplaWNobmlzc2VzIG5pY2h0IGF1ZnplaWNobmVuIgogCi0jOiBnaXQtc3Rhc2guc2g6MTg5CisjOiBnaXQtc3Rhc2guc2g6MTg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlICRyZWZfc3Rhc2ggd2l0aCAkd19jb21taXQiCiBtc2dzdHIgIkthbm4gJHJlZl9zdGFzaCBuaWNodCBtaXQgJHdfY29tbWl0IGFrdHVhbGlzaWVyZW4uIgpAQCAtMTI1ODksNyArMTQwNTMsNyBAQAogIy4gJCBnaXQgc3Rhc2ggc2F2ZSAtLWJsYWgtYmxhaCAyPiYxIHwgaGVhZCAtbiAyCiAjLiBlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogLS1ibGFoLWJsYWgKICMuIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJy0tYmxhaC1ibGFoJwotIzogZ2l0LXN0YXNoLnNoOjIzOQorIzogZ2l0LXN0YXNoLnNoOjIzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCkBAIC0xMjU5OSwxMTAgKzE0MDYzLDEyNyBAQAogIiAgICAgICAgVW0gZWluZSBCZXNjaHJlaWJ1bmcgYW56dWdlYmVuLCBiZW51dHplbiBTaWUgXCJnaXQgc3Rhc2ggc2F2ZSAtLSAiCiAiJyRvcHRpb24nXCIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjAKKyM6IGdpdC1zdGFzaC5zaDoyNTEKK21zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgorbXNnc3RyICJLYW5uIG5pY2h0IGdsZWljaHplaXRpZyAtLXBhdGNoIHVuZCAtLWluY2x1ZGUtdW50cmFja2VkIG9kZXIgLS1hbGwgdmVyd2VuZGVuIgorCisjOiBnaXQtc3Rhc2guc2g6MjU5CiBtc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgogbXNnc3RyICJLZWluZSBsb2thbGVuIMOEbmRlcnVuZ2VuIHp1bSBTcGVpY2hlcm4iCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjQKKyM6IGdpdC1zdGFzaC5zaDoyNjMKIG1zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKIG1zZ3N0ciAiS2FubiBcInN0YXNoXCIgbmljaHQgaW5pdGlhbGlzaWVyZW4iCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjgKKyM6IGdpdC1zdGFzaC5zaDoyNjcKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCiBtc2dzdHIgIkthbm4gZGVuIGFrdHVlbGxlbiBTdGF0dXMgbmljaHQgc3BlaWNoZXJuIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjg2CisjOiBnaXQtc3Rhc2guc2g6MjY4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJHN0YXNoX21zZyIKK21zZ3N0ciAiU3BlaWNoZXJ0ZSBBcmJlaXRzdmVyemVpY2huaXMgdW5kIEluZGV4LVN0YXR1cyAkc3Rhc2hfbXNnIgorCisjOiBnaXQtc3Rhc2guc2g6Mjg1CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICJLYW5uIMOEbmRlcnVuZ2VuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyBuaWNodCBsw7ZzY2hlbiIKIAotIzogZ2l0LXN0YXNoLnNoOjQwNQorIzogZ2l0LXN0YXNoLnNoOjQwMwogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgInVuYmVrYW5udGUgT3B0aW9uOiAkb3B0IgogCi0jOiBnaXQtc3Rhc2guc2g6NDE1CisjOiBnaXQtc3Rhc2guc2g6NDE2CiBtc2dpZCAiTm8gc3Rhc2ggZm91bmQuIgogbXNnc3RyICJLZWluIFN0YXNoLUVpbnRyYWcgZ2VmdW5kZW4uIgogCi0jOiBnaXQtc3Rhc2guc2g6NDIyCisjOiBnaXQtc3Rhc2guc2g6NDIzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICJadSB2aWVsZSBDb21taXRzIGFuZ2VnZWJlbjogJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjQyOAorIzogZ2l0LXN0YXNoLnNoOjQzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiCiBtc2dzdHIgIiRyZWZlcmVuY2UgaXN0IGtlaW5lIGfDvGx0aWdlIFJlZmVyZW56IgogCi0jOiBnaXQtc3Rhc2guc2g6NDU2CisjOiBnaXQtc3Rhc2guc2g6NDY2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgogbXNnc3RyICInJGFyZ3MnIGlzdCBrZWluIFwic3Rhc2hcIi1hcnRpZ2VyIENvbW1pdCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2NworIzogZ2l0LXN0YXNoLnNoOjQ3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIickYXJncycgaXN0IGtlaW5lIFwic3Rhc2hcIi1SZWZlcmVueiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ3NQorIzogZ2l0LXN0YXNoLnNoOjQ4NQogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICJLb25udGUgZGVuIEluZGV4IG5pY2h0IGFrdHVhbGlzaWVyZW4uIgogCi0jOiBnaXQtc3Rhc2guc2g6NDc5CisjOiBnaXQtc3Rhc2guc2g6NDg5CiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICJLYW5uIFwic3Rhc2hcIiBuaWNodCBhbndlbmRlbiwgc29sYW5nIGVpbiBNZXJnZSBpbSBHYW5nZSBpc3QiCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODcKKyM6IGdpdC1zdGFzaC5zaDo0OTcKIG1zZ2lkICJDb25mbGljdHMgaW4gaW5kZXguIFRyeSB3aXRob3V0IC0taW5kZXguIgogbXNnc3RyICJLb25mbGlrdGUgaW0gSW5kZXguIFZlcnN1Y2hlbiBTaWUgZXMgb2huZSAtLWluZGV4LiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ4OQorIzogZ2l0LXN0YXNoLnNoOjQ5OQogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgIktvbm50ZSBJbmRleC1WZXJ6ZWljaG5pcyBuaWNodCBzcGVpY2hlcm4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1MjMKKyM6IGdpdC1zdGFzaC5zaDo1MDgKK21zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKK21zZ3N0ciAiS29ubnRlIHVudmVyc2lvbmllcnRlIERhdGVpZW4gdm9tIFN0YXNoIG5pY2h0IHdpZWRlcmhlcnN0ZWxsZW4iCisKKyM6IGdpdC1zdGFzaC5zaDo1MzMKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKIG1zZ3N0ciAiS2FubiBnZcOkbmRlcnRlIERhdGVpZW4gbmljaHQgYXVzIGRlbSBJbmRleCBlbnRmZXJuZW4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1MzgKKyM6IGdpdC1zdGFzaC5zaDo1NDgKIG1zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCiBtc2dzdHIgIkluZGV4IHd1cmRlIG5pY2h0IGF1cyBkZW0gU3Rhc2ggenVyw7xja2dlbGFkZW4uIgogCi0jOiBnaXQtc3Rhc2guc2g6NTYxCisjOiBnaXQtc3Rhc2guc2g6NTYyCittc2dpZCAiVGhlIHN0YXNoIGlzIGtlcHQgaW4gY2FzZSB5b3UgbmVlZCBpdCBhZ2Fpbi4iCittc2dzdHIgIkRlciBTdGFzaCB3aXJkIGJlaGFsdGVuLCBpbSBGYWxsZSBTaWUgYmVuw7Z0aWdlbiBkaWVzZW4gbm9jaG1hbC4iCisKKyM6IGdpdC1zdGFzaC5zaDo1NzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgIkdlbMO2c2NodCAke1JFVn0gKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjU2MgorIzogZ2l0LXN0YXNoLnNoOjU3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ9OiBLb25udGUgXCJzdGFzaFwiLUVpbnRyYWcgbmljaHQgbMO2c2NoZW4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzAKKyM6IGdpdC1zdGFzaC5zaDo1ODAKIG1zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCiBtc2dzdHIgIktlaW4gQnJhbmNobmFtZSBzcGV6aWZpemllcnQiCiAKLSM6IGdpdC1zdGFzaC5zaDo2NDIKKyM6IGdpdC1zdGFzaC5zaDo2NTIKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIihadXIgV2llZGVyaGVyc3RlbGx1bmcgZ2ViZW4gU2llIFwiZ2l0IHN0YXNoIGFwcGx5XCIgZWluKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTg0CiBtc2dpZCAiUmVsYXRpdmUgcGF0aCBjYW4gb25seSBiZSB1c2VkIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiIKICJSZWxhdGl2ZSBQZmFkZSBrw7ZubmVuIG51ciB2b24gZGVyIG9iZXJzdGVuIEViZW5lIGRlcyBBcmJlaXRzdmVyemVpY2huaXNzZXMgIgogImJlbnV0enQgd2VyZGVuLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMjkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTk0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJyZXBvIFVSTDogJyRyZXBvJyBtdXN0IGJlIGFic29sdXRlIG9yIGJlZ2luIHdpdGggLi98Li4vIgogbXNnc3RyICJyZXBvIFVSTDogJyRyZXBvJyBtdXNzIGFic29sdXQgc2VpbiBvZGVyIG1pdCAuL3wuLi8gYmVnaW5uZW4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ2CisjOiBnaXQtc3VibW9kdWxlLnNoOjIxMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgIickc21fcGF0aCcgaXN0IGJlcmVpdHMgenVtIENvbW1pdCB2b3JnZW1lcmt0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI1MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHBhdGggaXMgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgpAQCAtMTI3MTMsMTA2ICsxNDE5NCw5NiBAQAogIiRzbV9wYXRoXG4iCiAiQmVudXR6ZW4gU2llIC1mIHdlbm4gU2llIGRpZXNlbiB3aXJrbGljaCBoaW56dWbDvGdlbiBtw7ZjaHRlbi4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjY4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIzMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIGV4aXN0aW5nIHJlcG8gYXQgJyRzbV9wYXRoJyB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIkbDvGdlIGV4aXN0aWVyZW5kZXMgUmVwb3NpdG9yeSBpbiAnJHNtX3BhdGgnIGRlbSBJbmRleCBoaW56dS4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjcwCisjOiBnaXQtc3VibW9kdWxlLnNoOjIzNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGEgdmFsaWQgZ2l0IHJlcG8iCiBtc2dzdHIgIickc21fcGF0aCcgZXhpc3RpZXJ0IGJlcmVpdHMgdW5kIGlzdCBrZWluIGfDvGx0aWdlcyBHaXQtUmVwb3NpdG9yeSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBIGdpdCBkaXJlY3RvcnkgZm9yICckc21fbmFtZScgaXMgZm91bmQgbG9jYWxseSB3aXRoIHJlbW90ZShzKToiCiBtc2dzdHIgIiIKICJFaW4gR2l0LVZlcnplaWNobmlzIGbDvHIgJyRzbV9uYW1lJyB3dXJkZSBsb2thbCBnZWZ1bmRlbiBtaXQgZGVuIFJlbW90ZS0iCiAiUmVwb3NpdG9yaWVzOiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCi0iSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tIgotbXNnc3RyICIiCi0iV2VubiBTaWUgZGllc2VzIGxva2FsZSBHaXQtVmVyemVpY2huaXMgd2llZGVydmVyd2VuZGVuIG3DtmNodGVzdCwgYW5zdGF0dCAiCi0iZXJuZXV0IHp1IGtsb25lbiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODIKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJ1c2UgdGhlICctLWZvcmNlJyBvcHRpb24uIElmIHRoZSBsb2NhbCBnaXQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgY29ycmVjdCByZXBvIgotbXNnc3RyICIiCi0iYmVudXR6ZW4gU2llIGRpZSBPcHRpb24gJy0tZm9yY2UnLiBXZW5uIGRhcyBsb2thbGUgR2l0LVZlcnplaWNobmlzIG5pY2h0IGRhcyAiCi0ia29ycmVrdGUgUmVwb3NpdG9yeSBpc3QiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjgzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCisiSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tXG4iCisiICAkcmVhbHJlcG9cbiIKKyJ1c2UgdGhlICctLWZvcmNlJyBvcHRpb24uIElmIHRoZSBsb2NhbCBnaXQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgY29ycmVjdCAiCisicmVwb1xuIgogIm9yIHlvdSBhcmUgdW5zdXJlIHdoYXQgdGhpcyBtZWFucyBjaG9vc2UgYW5vdGhlciBuYW1lIHdpdGggdGhlICctLW5hbWUnICIKICJvcHRpb24uIgogbXNnc3RyICIiCi0ib2RlciBTaWUgc2ljaCB1bnNpY2hlciBzaW5kLCB3YXMgZGFzIGJlZGV1dGV0LCB3w6RobGVuIFNpZSBlaW5lbiBhbmRlcmVuICIKLSJOYW1lbiBtaXQgZGVyIE9wdGlvbiAnLS1uYW1lJy4iCisiV2VubiBTaWUgZGFzIGxva2FsZSBHaXQtVmVyemVpY2huaXMgd2llZGVydmVyd2VuZGVuIHdvbGxlbiwgYW5zdGF0dCBlcm5ldXQgIgorInZvblxuIgorIiAgJHJlYWxyZXBvXG4iCisienUga2xvbmVuLCBiZW51dHplbiBTaWUgZGllIE9wdGlvbiAnLS1mb3JjZScuIFdlbm4gZGFzIGxva2FsZSBHaXQtIgorIlZlcnplaWNobmlzXG4iCisibmljaHQgZGFzIGtvcnJla3RlIFJlcG9zaXRvcnkgaXN0IG9kZXIgU2llIHVuc2ljaGVyIHNpbmQsIHdhcyBkYXMgYmVkZXV0ZXQsXG4iCisid8OkaGxlbiBTaWUgZWluZW4gYW5kZXJlbiBOYW1lbiBtaXQgZGVyIE9wdGlvbiAnLS1uYW1lJy4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mjg1CisjOiBnaXQtc3VibW9kdWxlLnNoOjI1MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnJHNtX25hbWUnLiIKIG1zZ3N0ciAiUmVha3RpdmllcmUgbG9rYWxlcyBHaXQtVmVyemVpY2huaXMgZsO8ciBTdWJtb2R1bCAnJHNtX25hbWUnLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyOTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjYzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIkthbm4gU3VibW9kdWwgJyRzbV9wYXRoJyBuaWNodCBhdXNjaGVja2VuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIkhpbnp1ZsO8Z2VuIHZvbiBTdWJtb2R1bCAnJHNtX3BhdGgnIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMxMQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRWludHJhZ2VuIHZvbiBTdWJtb2R1bCAnJHNtX3BhdGgnIGluIGRpZSBLb25maWd1cmF0aW9uLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNTUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzI0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFbnRlcmluZyAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiQmV0cmV0ZSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNzUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzQ0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGluZyBhdCAnJGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCiBtc2dzdHIgIlN0b3BwZSBiZWkgJyRkaXNwbGF5cGF0aCc7IFNrcmlwdCBnYWIgbmljaHQtTnVsbCBTdGF0dXMgenVyw7xjay4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDQ4CisjOiBnaXQtc3VibW9kdWxlLnNoOjQxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgYW5kIC0tYWxsIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIlBmYWRzcGV6aWZpa2F0aW9uZW4gdW5kIC0tYWxsIHNpbmQgaW5rb21wYXRpYmVsLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDIwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAiVmVyd2VuZGVuIFNpZSAnLS1hbGwnLCB3ZW5uIFNpZSB3aXJrbGljaCBhbGxlIFN1Ym1vZHVsZSBkZWluaXRpYWxpc2llcmVuXG4iCiAibcO2Y2h0ZW4uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ3MAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5IgotbXNnc3RyICIiCi0iQXJiZWl0c3ZlcnplaWNobmlzIGRlcyBTdWJtb2R1bHMgaW4gJyRkaXNwbGF5cGF0aCcgZW50aMOkbHQgZWluIC5naXQtIgotIlZlcnplaWNobmlzIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ3MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKKyJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnlcbiIKICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgaGlzdG9yeSkiCiBtc2dzdHIgIiIKLSIoYmVudXR6ZW4gU2llICdybSAtcmYnIHdlbm4gU2llIGRpZXNlcyBTdWJtb2R1bCB3aXJrbGljaCBtaXRzYW10XG4iCi0ic2VpbmVyIEhpc3RvcmllIGzDtnNjaGVuIG3DtmNodGVuKSIKKyJBcmJlaXRzdmVyemVpY2huaXMgdm9uIFN1Ym1vZHVsIGluICckZGlzcGxheXBhdGgnIGVudGjDpGx0IGVpbiAuZ2l0LSIKKyJWZXJ6ZWljaG5pc1xuIgorIihiZW51dHplbiBTaWUgJ3JtIC1yZicgd2VubiBTaWUgZGllc2VzIHdpcmtsaWNoIG1pdHNhbXQgc2VpbmVyIEhpc3RvcmllICIKKyJsw7ZzY2hlblxuIgorIm3DtmNodGVuKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byAiCkBAIC0xMjgyMSwxMjYgKzE0MjkyLDE0MiBAQAogIkFyYmVpdHN2ZXJ6ZWljaG5pcyB2b24gU3VibW9kdWwgaW4gJyRkaXNwbGF5cGF0aCcgZW50aMOkbHQgbG9rYWxlIMOEbmRlcnVuZ2VuOyAiCiAidmVyd2VuZGVuIFNpZSAnLWYnLCB1bSBkaWVzZSB6dSB2ZXJ3ZXJmZW4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIlZlcnplaWNobmlzICckZGlzcGxheXBhdGgnIGJlcmVpbmlndC4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDgxCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBzdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiS29ubnRlIEFyYmVpdHN2ZXJ6ZWljaG5pcyBkZXMgU3VibW9kdWxzIGluICckZGlzcGxheXBhdGgnIG5pY2h0IGzDtnNjaGVuLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDU1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGVtcHR5IHN1Ym1vZHVsZSBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJLb25udGUga2VpbiBsZWVyZXMgVmVyemVpY2huaXMgZsO8ciBTdWJtb2R1bCBpbiAnJGRpc3BsYXlwYXRoJyBlcnN0ZWxsZW4uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ5MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJTdWJtb2R1bCAnJG5hbWUnICgkdXJsKSBmw7xyIFBmYWQgJyRkaXNwbGF5cGF0aCcgd3VyZGUgYXVzIGRlciBLb25maWd1cmF0aW9uICIKICJlbnRmZXJudC4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjM1CisjOiBnaXQtc3VibW9kdWxlLnNoOjYxNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiS29ubnRlIGFrdHVlbGxlbiBDb21taXQgaW4gU3VibW9kdWwtUGZhZCAnJGRpc3BsYXlwYXRoJyBuaWNodCBmaW5kZW4uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY0NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICJLb25udGUgXCJmZXRjaFwiIGluIFN1Ym1vZHVsLVBmYWQgJyRzbV9wYXRoJyBuaWNodCBhdXNmw7xocmVuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY2NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJVbmFibGUgdG8gZmluZCBjdXJyZW50ICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAiCisiJyRzbV9wYXRoJyIKK21zZ3N0ciAiIgorIktvbm50ZSBha3R1ZWxsZW4gQ29tbWl0IHZvbiAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gaW4gU3VibW9kdWwtUGZhZFxuIgorIickc21fcGF0aCcgbmljaHQgZmluZGVuLiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiS29ubnRlIFwiZmV0Y2hcIiBpbiBTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnIG5pY2h0IGF1c2bDvGhyZW4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjY1NgorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIkZldGNoZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcsIGJ1dCBpdCBkaWQgbm90IGNvbnRhaW4gJHNoYTEuICIKKyJEaXJlY3QgZmV0Y2hpbmcgb2YgdGhhdCBjb21taXQgZmFpbGVkLiIKK21zZ3N0ciAiIgorIlwiZmV0Y2hcIiBpbiBTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnIGF1c2dlZsO8aHJ0LCBhYmVyICRzaGExIG5pY2h0XG4iCisiZW50aGFsdGVuLiBEaXJla3RlcyBBbmZvcmRlcm4gZGllc2VzIENvbW1pdHMgaXN0IGZlaGxnZXNjaGxhZ2VuLiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLb25udGUgJyRzaGExJyBpbiBTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnIG5pY2h0IGF1c2NoZWNrZW4uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBjaGVja2VkIG91dCAnJHNoYTEnIgogbXNnc3RyICJTdWJtb2R1bC1QZmFkOiAnJGRpc3BsYXlwYXRoJzogJyRzaGExJyBhdXNnZWNoZWNrdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjY4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gcmViYXNlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIlJlYmFzZSBhdWYgJyRzaGExJyBpbiBTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnIG5pY2h0IG3DtmdsaWNoIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKIG1zZ3N0ciAiU3VibW9kdWwtUGZhZCAnJGRpc3BsYXlwYXRoJzogUmViYXNlIGF1ZiAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBtZXJnZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJNZXJnZSB2b24gJyRzaGExJyBpbiBTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzUKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKIG1zZ3N0ciAiU3VibW9kdWwtUGZhZCAnJGRpc3BsYXlwYXRoJzogenVzYW1tZW5nZWbDvGhydCBpbiAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKLW1zZ3N0ciAiQXVzZsO8aHJ1bmcgdm9uICckY29tbWFuZCAkc2hhMScgaW4gU3VibW9kdWwtUGZhZCAnJGRpc3BsYXlwYXRoJyBmZWhsZ2VzY2hsYWdlbiIKK21zZ3N0ciAiIgorIkF1c2bDvGhydW5nIHZvbiAnJGNvbW1hbmQgJHNoYTEnIGluIFN1Ym1vZHVsLVBmYWQgJyRkaXNwbGF5cGF0aCcgIgorImZlaGxnZXNjaGxhZ2VuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICJTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjcyOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIkZlaGxlciBiZWkgUmVrdXJzaW9uIGluIFN1Ym1vZHVsLVBmYWQgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODM3CisjOiBnaXQtc3VibW9kdWxlLnNoOjgyMAogbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uZW4gLS1jYWNoZWQgdW5kIC0tZmlsZXMga8O2bm5lbiBuaWNodCBnZW1laW5zYW0gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODg5CisjOiBnaXQtc3VibW9kdWxlLnNoOjg3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICJ1bmVyd2FydGV0ZXIgTW9kdXMgJG1vZF9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTA5CisjOiBnaXQtc3VibW9kdWxlLnNoOjg5MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgogbXNnc3RyICIgIFdhcm51bmc6ICRkaXNwbGF5X25hbWUgYmVpbmhhbHRldCBuaWNodCBDb21taXQgJHNoYTFfc3JjIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjkxMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiICBXYXJudW5nOiAkZGlzcGxheV9uYW1lIGJlaW5oYWx0ZXQgbmljaHQgQ29tbWl0ICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODk4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiIKICIgIFdhcm51bmc6ICRkaXNwbGF5X25hbWUgYmVpbmhhbHRldCBuaWNodCBkaWUgQ29tbWl0cyAkc2hhMV9zcmMgdW5kICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NDAKLW1zZ2lkICJibG9iIgotbXNnc3RyICJCbG9iIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwNTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA0NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICJGZWhsZXIgYmVpIFJla3Vyc2lvbiBpbiBTdWJtb2R1bC1QZmFkICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTEyMworIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTEyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJTeW5jaHJvbmlzaWVyZSBTdWJtb2R1bC1VUkwgZsO8ciAnJGRpc3BsYXlwYXRoJyIKQEAgLTEyOTUwLDY1NCArMTQ0MzcsNTM3IEBACiBtc2dpZCAiU2VlIGdpdC0ke2NtZH0oMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICJTaWVoZSBnaXQtJHtjbWR9KDEpIGbDvHIgd2VpdGVyZSBEZXRhaWxzLiIKIAotI34gbXNnaWQgIiclcyc6ICVzIgotI34gbXNnc3RyICInJXMnOiAlcyIKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE0MAorIywgc2gtZm9ybWF0Cittc2dpZCAiUmViYXNpbmcgKCRuZXdfY291bnQvJHRvdGFsKSIKK21zZ3N0ciAiRsO8aHJlIFJlYmFzZSBhdXMgKCRuZXdfY291bnQvJHRvdGFsKSIKIAotI34gbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJzogJXMiCi0jfiBtc2dzdHIgImtvbm50ZSBuaWNodCBhdWYgJyVzJyB6dWdyZWlmZW46ICVzIgorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTU2Cittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorIiBwLCBwaWNrID0gdXNlIGNvbW1pdFxuIgorIiByLCByZXdvcmQgPSB1c2UgY29tbWl0LCBidXQgZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2VcbiIKKyIgZSwgZWRpdCA9IHVzZSBjb21taXQsIGJ1dCBzdG9wIGZvciBhbWVuZGluZ1xuIgorIiBzLCBzcXVhc2ggPSB1c2UgY29tbWl0LCBidXQgbWVsZCBpbnRvIHByZXZpb3VzIGNvbW1pdFxuIgorIiBmLCBmaXh1cCA9IGxpa2UgXCJzcXVhc2hcIiwgYnV0IGRpc2NhcmQgdGhpcyBjb21taXQncyBsb2cgbWVzc2FnZVxuIgorIiB4LCBleGVjID0gcnVuIGNvbW1hbmQgKHRoZSByZXN0IG9mIHRoZSBsaW5lKSB1c2luZyBzaGVsbFxuIgorIiBkLCBkcm9wID0gcmVtb3ZlIGNvbW1pdFxuIgorIlxuIgorIlRoZXNlIGxpbmVzIGNhbiBiZSByZS1vcmRlcmVkOyB0aGV5IGFyZSBleGVjdXRlZCBmcm9tIHRvcCB0byBib3R0b20uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJCZWZlaGxlOlxuIgorIiBwLCBwaWNrID0gQ29tbWl0IHZlcndlbmRlblxuIgorIiByLCByZXdvcmQgPSBDb21taXQgdmVyd2VuZGVuLCBhYmVyIENvbW1pdC1CZXNjaHJlaWJ1bmcgYmVhcmJlaXRlblxuIgorIiBlLCBlZGl0ID0gQ29tbWl0IHZlcndlbmRlbiwgYWJlciB6dW0gTmFjaGJlc3Nlcm4gYW5oYWx0ZW5cbiIKKyIgcywgc3F1YXNoID0gQ29tbWl0IHZlcndlbmRlbiwgYWJlciBtaXQgdm9yaGVyaWdlbSBDb21taXQgdmVyZWluZW5cbiIKKyIgZiwgZml4dXAgPSB3aWUgXCJzcXVhc2hcIiwgYWJlciBkaWVzZSBDb21taXQtQmVzY2hyZWlidW5nIHZlcndlcmZlblxuIgorIiB4LCBleGVjID0gQmVmZWhsIChSZXN0IGRlciBaZWlsZSkgbWl0dGVscyBTaGVsbCBhdXNmw7xocmVuXG4iCisiIGQsIGRyb3AgPSBDb21taXQgZW50ZmVybmVuXG4iCisiXG4iCisiRGllc2UgWmVpbGVuIGvDtm5uZW4gdW1zb3J0aWVydCB3ZXJkZW47IFNpZSB3ZXJkZW4gdm9uIG9iZW4gbmFjaCB1bnRlblxuIgorImF1c2dlZsO8aHJ0LlxuIgogCi0jfiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZzogJXMiCi0jfiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IHp1bSBMZXNlbiDDtmZmbmVuOiAlcyIKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE3MQorbXNnaWQgIiIKKyJcbiIKKyJEbyBub3QgcmVtb3ZlIGFueSBsaW5lLiBVc2UgJ2Ryb3AnIGV4cGxpY2l0bHkgdG8gcmVtb3ZlIGEgY29tbWl0LlxuIgorbXNnc3RyICIiCisiXG4iCisiS2VpbmUgWmVpbGUgZW50ZmVybmVuLiBCZW51dHplbiBTaWUgJ2Ryb3AnLCB1bSBleHBsaXppdCBlaW5lbiBDb21taXQgenVcbiIKKyJlbnRmZXJuZW4uXG4iCiAKLSN+IG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nOiAlcyIKLSN+IG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgenVtIFNjaHJlaWJlbiDDtmZmbmVuOiAlcyIKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE3NQorbXNnaWQgIiIKKyJcbiIKKyJJZiB5b3UgcmVtb3ZlIGEgbGluZSBoZXJlIFRIQVQgQ09NTUlUIFdJTEwgQkUgTE9TVC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIldlbm4gU2llIGhpZXIgZWluZSBaZWlsZSBlbnRmZXJuZW4sIHdpcmQgRElFU0VSIENPTU1JVCBWRVJMT1JFTiBHRUhFTi5cbiIKIAotI34gbXNnaWQgIiAgICBnaXQgYnJhbmNoIC1kICVzXG4iCi0jfiBtc2dzdHIgIiAgICBnaXQgYnJhbmNoIC1kICVzXG4iCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyMTEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCisiXG4iCisiXHRnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJPbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzLCBydW5cbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKK21zZ3N0ciAiIgorIlNpZSBrw7ZubmVuIGRlbiBDb21taXQgbnVuIG5hY2hiZXNzZXJuIG1pdDpcbiIKKyJcbiIKKyJcdGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIlNvYmFsZCBTaWUgbWl0IElocmVuIMOEbmRlcnVuZ2VuIHp1ZnJpZWRlbiBzaW5kLCBmw7xocmVuIFNpZSBhdXM6XG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCiAKLSN+IG1zZ2lkICIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byAlc1xuIgotI34gbXNnc3RyICIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byAlc1xuIgorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MjM2CisjLCBzaC1mb3JtYXQKK21zZ2lkICIkc2hhMTogbm90IGEgY29tbWl0IHRoYXQgY2FuIGJlIHBpY2tlZCIKK21zZ3N0ciAiJHNoYTE6IGtlaW4gQ29tbWl0IGRlciBnZXBpY2t0IHdlcmRlbiBrYW5uIgogCi0jfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzXG4iCi0jfiBtc2dzdHIgImthbm4gJXMgbmljaHQgw7ZmZm5lbjogJXNcbiIKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjI3NQorIywgc2gtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjb21taXQgbmFtZTogJHNoYTEiCittc2dzdHIgIlVuZ8O8bHRpZ2VyIENvbW1pdC1OYW1lOiAkc2hhMSIKIAotI34gbXNnaWQgIlBsZWFzZSwgc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjMxNworbXNnaWQgIkNhbm5vdCB3cml0ZSBjdXJyZW50IGNvbW1pdCdzIHJlcGxhY2VtZW50IHNoYTEiCittc2dzdHIgIkthbm4gZXJzZXR6ZW5kZW4gU0hBLTEgZGVzIGFrdHVlbGxlbiBDb21taXRzIG5pY2h0IHNjaHJlaWJlbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MzY5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJGYXN0LWZvcndhcmQgdG8gJHNoYTEiCittc2dzdHIgIlNwdWxlIHZvciB6dSAkc2hhMSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MzcxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZmFzdC1mb3J3YXJkIHRvICRzaGExIgorbXNnc3RyICJLYW5uIG5pY2h0IHp1ICRzaGExIHZvcnNwdWxlbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MzgwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbW92ZSBIRUFEIHRvICRmaXJzdF9wYXJlbnQiCittc2dzdHIgIkthbm4gSEVBRCBuaWNodCBhdWYgJGZpcnN0X3BhcmVudCBzZXR6ZW4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM4NQorIywgc2gtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gc3F1YXNoIGEgbWVyZ2U6ICRzaGExIgorbXNnc3RyICJcInNxdWFzaFwiIGVpbmVzIE1lcmdlcyAoJHNoYTEpIHp1csO8Y2tnZXdpZXNlbi4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM5OQorIywgc2gtZm9ybWF0Cittc2dpZCAiRXJyb3IgcmVkb2luZyBtZXJnZSAkc2hhMSIKK21zZ3N0ciAiRmVobGVyIGJlaW0gV2llZGVyaG9sZW4gZGVzIE1lcmdlcyB2b24gJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQwNworIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHBpY2sgJHNoYTEiCittc2dzdHIgIktvbm50ZSAkc2hhMSBuaWNodCBwaWNrZW4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQxNgorIywgc2gtZm9ybWF0Cittc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyR7bn06IgorbXNnc3RyICJEYXMgaXN0IENvbW1pdC1CZXNjaHJlaWJ1bmcgIyR7bn06IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MjEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJHtufSB3aWxsIGJlIHNraXBwZWQ6IgorbXNnc3RyICJDb21taXQtQmVzY2hyZWlidW5nICMke259IHdpcmQgYXVzZ2VsYXNzZW46IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MzIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0LiIKK21zZ2lkX3BsdXJhbCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXRzLiIKK21zZ3N0clswXSAiRGFzIGlzdCBlaW5lIEtvbWJpbmF0aW9uIGF1cyAkY291bnQgQ29tbWl0LiIKK21zZ3N0clsxXSAiRGFzIGlzdCBlaW5lIEtvbWJpbmF0aW9uIGF1cyAkY291bnQgQ29tbWl0cy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0MAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlICRmaXh1cF9tc2ciCittc2dzdHIgIkthbm4gJGZpeHVwX21zZyBuaWNodCBzY2hyZWliZW4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0MworbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAyIGNvbW1pdHMuIgorbXNnc3RyICJEYXMgaXN0IGVpbmUgS29tYmluYXRpb24gYXVzIDIgQ29tbWl0cy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0NAorbXNnaWQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiCittc2dzdHIgIkRhcyBpc3QgZGllIGVyc3RlIENvbW1pdC1CZXNjaHJlaWJ1bmc6IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0ODQgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTI3CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1MzAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAkc2hhMS4uLiAkcmVzdCIKK21zZ3N0ciAiS29ubnRlICRzaGExLi4uICgkcmVzdCkgbmljaHQgYW53ZW5kZW4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjU1OAorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIkNvdWxkIG5vdCBhbWVuZCBjb21taXQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHBpY2tpbmcgJHNoYTEuLi4gJHJlc3RcbiIKKyJUaGlzIGlzIG1vc3QgbGlrZWx5IGR1ZSB0byBhbiBlbXB0eSBjb21taXQgbWVzc2FnZSwgb3IgdGhlIHByZS1jb21taXQgaG9va1xuIgorImZhaWxlZC4gSWYgdGhlIHByZS1jb21taXQgaG9vayBmYWlsZWQsIHlvdSBtYXkgbmVlZCB0byByZXNvbHZlIHRoZSBpc3N1ZSAiCisiYmVmb3JlXG4iCisieW91IGFyZSBhYmxlIHRvIHJld29yZCB0aGUgY29tbWl0LiIKK21zZ3N0ciAiIgorIktvbm50ZSBDb21taXQgbmljaHQgbmFjaGJlc3Nlcm4sIG5hY2hkZW0gZGllc2VyIHZlcndlbmRldCB3dXJkZTogJHNoYTEuLi4gIgorIiRyZXN0XG4iCisiRGFzIHBhc3NpZXJ0ZSBzZWhyIHdhaHJzY2hlaW5saWNoIHdlZ2VuIGVpbmVyIGxlZXJlbiBDb21taXQtQmVzY2hyZWlidW5nLCAiCisib2RlclxuIgorIndlaWwgZGVyIHByZS1jb21taXQgSG9vayBmZWhsc2NobHVnLiBGYWxscyBkZXIgcHJlLWNvbW1pdCBIb29rIGZlaGxzY2hsdWcsXG4iCisic29sbHRlbiBTaWUgZGFzIFByb2JsZW0gYmVoZWJlbiwgYmV2b3IgU2llIGRpZSBDb21taXQtQmVzY2hyZWlidW5nIMOkbmRlcm4gIgorImvDtm5uZW4uIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1NzMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlN0b3BwZWQgYXQgJHNoYTFfYWJicmV2Li4uICRyZXN0IgorbXNnc3RyICJBbmdlaGFsdGVuIGJlaSAkc2hhMV9hYmJyZXYuLi4gJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjU4OAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90ICckc3F1YXNoX3N0eWxlJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgorbXNnc3RyICJLYW5uIG5pY2h0ICckc3F1YXNoX3N0eWxlJyBvaG5lIHZvcmhlcmlnZW4gQ29tbWl0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2MzAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGluZzogJHJlc3QiCittc2dzdHIgIkbDvGhyZSBhdXM6ICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2MzgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGlvbiBmYWlsZWQ6ICRyZXN0IgorbXNnc3RyICJBdXNmw7xocnVuZyBmZWhsZ2VzY2hsYWdlbjogJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY0MAorbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICJEZXIgSW5kZXggdW5kL29kZXIgZGFzIEFyYmVpdHN2ZXJ6ZWljaG5pcyB3dXJkZSBnZcOkbmRlcnQuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NDIKK21zZ2lkICIiCisiWW91IGNhbiBmaXggdGhlIHByb2JsZW0sIGFuZCB0aGVuIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisiU2llIGvDtm5uZW4gZGFzIFByb2JsZW0gYmVoZWJlbiwgdW5kIGRhbm5cbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorIlxuIgorImF1c2bDvGhyZW4uIgorCisjLiBUUkFOU0xBVE9SUzogYWZ0ZXIgdGhlc2UgbGluZXMgaXMgYSBjb21tYW5kIHRvIGJlIGlzc3VlZCBieSB0aGUgdXNlcgorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjU1CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiRXhlY3V0aW9uIHN1Y2NlZWRlZDogJHJlc3RcbiIKKyJidXQgbGVmdCBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgorIkNvbW1pdCBvciBzdGFzaCB5b3VyIGNoYW5nZXMsIGFuZCB0aGVuIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisiQXVzZsO8aHJ1bmcgZXJmb2xncmVpY2g6ICRyZXN0XG4iCisiQWJlciDDhG5kZXJ1bmdlbiBpbiBJbmRleCBvZGVyIEFyYmVpdHN2ZXJ6ZWljaG5pcyB2ZXJibGllYmVuLlxuIgorIkNvbW1pdHRlbiBTaWUgSWhyZSDDhG5kZXJ1bmdlbiBvZGVyIGJlbnV0emVuIFNpZSBcInN0YXNoXCIuXG4iCisiRsO8aHJlbiBTaWUgZGFubiBhdXM6XG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY2NgorIywgc2gtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKK21zZ3N0ciAiVW5iZWthbm50ZXIgQmVmZWhsOiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjY3Cittc2dpZCAiUGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCittc2dzdHIgIkJpdHRlIGJlaGViZW4gU2llIGRhcywgaW5kZW0gU2llICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyBhdXNmw7xocmVuLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NzAyCisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgcmViYXNlZCBhbmQgdXBkYXRlZCAkaGVhZF9uYW1lLiIKK21zZ3N0ciAiRXJmb2xncmVpY2ggUmViYXNlIGF1c2dlZsO8aHJ0IHVuZCAkaGVhZF9uYW1lIGFrdHVhbGlzaWVydC4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjc0OQorbXNnaWQgIkNvdWxkIG5vdCBza2lwIHVubmVjZXNzYXJ5IHBpY2sgY29tbWFuZHMiCittc2dzdHIgIkZlaGxlciBiZWltIEF1c2xhc3NlbiB2b24gbmljaHQgZXJmb3JkZXJsaWNoZW4gXCJwaWNrXCItQmVmZWhsZW4uIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo5MDcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiB0aGUgU0hBLTEgaXMgbWlzc2luZyBvciBpc24ndCBhIGNvbW1pdCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCisiIC0gJGxpbmUiCittc2dzdHIgIiIKKyJXYXJudW5nOiBEZXIgU0hBLTEgaW4gZGVyIGZvbGdlbmRlbiBaZWlsZSBmZWhsdCBvZGVyIGlzdCBrZWluIENvbW1pdDpcbiIKKyIgLSAkbGluZSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6OTQwCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiV2FybmluZzogdGhlIGNvbW1hbmQgaXNuJ3QgcmVjb2duaXplZCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCisiIC0gJGxpbmUiCittc2dzdHIgIiIKKyJXYXJudW5nOiBEYXMgS29tbWFuZG8gaW4gZGVyIGZvbGdlbmRlbiBaZWlsZSB3dXJkZSBuaWNodCBlcmthbm50OlxuIgorIiAtICRsaW5lIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo5NzkKK21zZ2lkICJjb3VsZCBub3QgZGV0YWNoIEhFQUQiCittc2dzdHIgIktvbm50ZSBIRUFEIG5pY2h0IGxvc2zDtnNlbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTAxNworbXNnaWQgIiIKKyJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKKyJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKToiCittc2dzdHIgIiIKKyJXYXJudW5nOiBFaW5pZ2UgQ29tbWl0cyBrw7ZubnRlbiBhdXMgVmVyc2VoZW4gZW50ZmVybnQgd29yZGVuIHNlaW4uXG4iCisiRW50ZmVybnRlIENvbW1pdHMgKG5ldSB6dSBhbHQpOiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTAyNQorbXNnaWQgIiIKKyJUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC5cbiIKKyJcbiIKKyJVc2UgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHRvIGNoYW5nZSB0aGUgbGV2ZWwgb2YgIgorIndhcm5pbmdzLlxuIgorIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci4iCittc2dzdHIgIiIKKyJVbSBkaWVzZSBNZWxkdW5nIHp1IHZlcm1laWRlbiwgYmVudXR6ZW4gU2llIFwiZHJvcFwiLCB1bSBleGxpeml0IENvbW1pdHMgenVcbiIKKyJlbnRmZXJuZW4uXG4iCisiXG4iCisiQmVudXR6ZW4gU2llICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJywgdW0gZGllIFN0dWZlIGRlciAiCisiV2FybnVuZ2VuXG4iCisienUgw6RuZGVybi5cbiIKKyJEaWUgbcO2Z2xpY2hlbiBWZXJoYWx0ZW5zd2Vpc2VuIHNpbmQ6IGlnbm9yZSwgd2FybiwgZXJyb3IuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDM2CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiVW5yZWNvZ25pemVkIHNldHRpbmcgJGNoZWNrX2xldmVsIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suICIKKyJJZ25vcmluZy4iCittc2dzdHIgIiIKKyJOaWNodCBlcmthbm50ZSBFaW5zdGVsbHVuZyAkY2hlY2tfbGV2ZWwgZsO8ciBPcHRpb24gcmViYXNlLiIKKyJtaXNzaW5nQ29tbWl0c0NoZWNrLlxuIgorIklnbm9yaWVyZS4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNTMKK21zZ2lkICIiCisiWW91IGNhbiBmaXggdGhpcyB3aXRoICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS0iCisiY29udGludWUnLiIKK21zZ3N0ciAiIgorIlNpZSBrw7ZubmVuIGRhcyBtaXQgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGJlaGViZW4uIEbDvGhyZW4gU2llIGRhbmFjaFxuIgorIidnaXQgcmViYXNlIC0tY29udGludWUnIGF1cy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNTQKK21zZ2lkICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCittc2dzdHIgIk9kZXIgU2llIGvDtm5uZW4gZGVuIFJlYmFzZSBtaXQgJ2dpdCByZWJhc2UgLS1hYm9ydCcgYWJicmVjaGVuLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA3OAorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKK21zZ3N0ciAiS29ubnRlIENIRVJSWV9QSUNLX0hFQUQgbmljaHQgbMO2c2NoZW4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKKyJJZiB0aGVzZSBjaGFuZ2VzIGFyZSBtZWFudCB0byBiZVxuIgorInNxdWFzaGVkIGludG8gdGhlIHByZXZpb3VzIGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiSWYgdGhleSBhcmUgbWVhbnQgdG8gZ28gaW50byBhIG5ldyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJJbiBib3RoIGNhc2VzLCBvbmNlIHlvdSdyZSBkb25lLCBjb250aW51ZSB3aXRoOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCittc2dzdHIgIiIKKyJFcyBiZWZpbmRlbiBzaWNoIHp1bSBDb21taXQgdm9yZ2VtZXJrdGUgw4RuZGVydW5nZW4gaW4gSWhyZW0gQXJiZWl0c3ZlcnplaWNobmlzLlxuIgorIldlbm4gZGllc2Ugw4RuZGVydW5nZW4gaW4gZGVuIHZvcmhlcmlnZW4gQ29tbWl0IGF1Zmdlbm9tbWVuIHdlcmRlbiBzb2xsZW4sXG4iCisiZsO8aHJlbiBTaWUgYXVzOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiV2VubiBkYXJhdXMgZWluIG5ldWVyIENvbW1pdCBlcnpldWd0IHdlcmRlbiBzb2xsLCBmw7xocmVuIFNpZSBhdXM6XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiSW0gQW5zY2hsdXNzIGbDvGhyZW4gU2llIHp1bSBGb3J0ZmFocmVuIGF1czpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTAwCittc2dpZCAiRXJyb3IgdHJ5aW5nIHRvIGZpbmQgdGhlIGF1dGhvciBpZGVudGl0eSB0byBhbWVuZCBjb21taXQiCittc2dzdHIgIiIKKyJGZWhsZXIgYmVpbSBWZXJzdWNoIGRpZSBJZGVudGl0w6R0IGRlcyBBdXRob3JzIHp1bSBWZXJiZXNzZXJuIGRlcyBDb21taXRzIHp1XG4iCisiZmluZGVuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTA1Cittc2dpZCAiIgorIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSBjb21taXQgdGhlbVxuIgorImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCittc2dzdHIgIiIKKyJTaWUgaGFiZW4gbmljaHQgY29tbWl0dGV0ZSDDhG5kZXJ1bmdlbiBpbiBJaHJlbSBBcmJlaXRzdmVyemVpY2huaXMuIEJpdHRlXG4iCisiY29tbWl0dGVuIFNpZSBkaWVzZSB6dWVyc3QgdW5kIGbDvGhyZW4gU2llIGRhbm4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScgIgorImVybmV1dFxuIgorImF1cy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTAgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExNAorbXNnaWQgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICJLb25udGUgw4RuZGVydW5nZW4gYXVzIGRlciBTdGFnaW5nLUFyZWEgbmljaHQgY29tbWl0dGVuLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEzOAorbXNnaWQgIiIKKyJcbiIKKyJZb3UgYXJlIGVkaXRpbmcgdGhlIHRvZG8gZmlsZSBvZiBhbiBvbmdvaW5nIGludGVyYWN0aXZlIHJlYmFzZS5cbiIKKyJUbyBjb250aW51ZSByZWJhc2UgYWZ0ZXIgZWRpdGluZywgcnVuOlxuIgorIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNpZSBiZWFyYmVpdGVuIGdlcmFkZSBkaWUgVE9ETy1EYXRlaSBlaW5lcyBsYXVmZW5kZW4gaW50ZXJha3RpdmVuIFJlYmFzZS5cbiIKKyJVbSBkZW4gUmViYXNlIG5hY2ggZGVtIEVkaXRpZXJlbiBmb3J0enVzZXR6ZW4sIGbDvGhyZW4gU2llIGF1czpcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisiXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNDYgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMwNAorbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKK21zZ3N0ciAiS29ubnRlIEVkaXRvciBuaWNodCBhdXNmw7xocmVuLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE1OQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNoZWNrb3V0ICRzd2l0Y2hfdG8iCittc2dzdHIgIktvbm50ZSAkc3dpdGNoX3RvIG5pY2h0IGF1c2NoZWNrZW4uIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY0Cittc2dpZCAiTm8gSEVBRD8iCittc2dzdHIgIktlaW4gSEVBRD8iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjUKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICRzdGF0ZV9kaXIiCittc2dzdHIgIktvbm50ZSB0ZW1wb3LDpHJlcyBWZXJ6ZWljaG5pcyAkc3RhdGVfZGlyIG5pY2h0IGVyc3RlbGxlbi4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjcKK21zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKK21zZ3N0ciAiS29ubnRlIG5pY2h0IGFscyBpbnRlcmFrdGl2ZW4gUmViYXNlIG1hcmtpZXJlbi4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzcgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE4MgorbXNnaWQgIkNvdWxkIG5vdCBpbml0IHJld3JpdHRlbiBjb21taXRzIgorbXNnc3RyICJLb25udGUgbmV1IGdlc2NocmllYmVuZSBDb21taXRzIG5pY2h0IGluaXRpYWxpc2llcmVuLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI4MgorIywgc2gtZm9ybWF0Cittc2dpZCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZCkiCittc2dpZF9wbHVyYWwgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmRzKSIKK21zZ3N0clswXSAiUmViYXNlIHZvbiAkc2hvcnRyZXZpc2lvbnMgYXVmICRzaG9ydG9udG8gKCR0b2RvY291bnQgS29tbWFuZG8pIgorbXNnc3RyWzFdICJSZWJhc2Ugdm9uICRzaG9ydHJldmlzaW9ucyBhdWYgJHNob3J0b250byAoJHRvZG9jb3VudCBLb21tYW5kb3MpIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjg3Cittc2dpZCAiIgorIlxuIgorIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJXZW5uIFNpZSBqZWRvY2ggYWxsZXMgbMO2c2NoZW4sIHdpcmQgZGVyIFJlYmFzZSBhYmdlYnJvY2hlbi5cbiIKKyJcbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5NAorbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgorbXNnc3RyICJMZWVyZSBDb21taXRzIHNpbmQgYXVza29tbWVudGllcnQuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6ODkgZ2l0LXNoLXNldHVwLnNoOjk0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJ1c2FnZTogJGRhc2hsZXNzICRVU0FHRSIKK21zZ3N0ciAiVmVyd2VuZHVuZzogJGRhc2hsZXNzICRVU0FHRSIKKworIzogZ2l0LXNoLXNldHVwLnNoOjE5MAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoZGlyIHRvICRjZHVwLCB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiIgorIktvbm50ZSBuaWNodCBpbiBWZXJ6ZWljaG5pcyAkY2R1cCB3ZWNoc2VsbiwgZGVyIG9iZXJzdGVuIEViZW5lIGRlc1xuIgorIkFyYmVpdHN2ZXJ6ZWljaG5pc3Nlcy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoxOTkgZ2l0LXNoLXNldHVwLnNoOjIwNgorIywgc2gtZm9ybWF0Cittc2dpZCAiZmF0YWw6ICRwcm9ncmFtX25hbWUgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBhIHdvcmtpbmcgdHJlZS4iCittc2dzdHIgIiIKKyJmYXRhbDogJHByb2dyYW1fbmFtZSBrYW5uIG9obmUgZWluIEFyYmVpdHN2ZXJ6ZWljaG5pcyBuaWNodCB2ZXJ3ZW5kZXQgd2VyZGVuLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyMAorbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICIiCisiUmViYXNlIG5pY2h0IG3DtmdsaWNoOiBTaWUgaGFiZW4gw4RuZGVydW5nZW4sIGRpZSBuaWNodCB6dW0gQ29tbWl0IHZvcmdlbWVya3QgIgorInNpbmQuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjIzCittc2dpZCAiQ2Fubm90IHJld3JpdGUgYnJhbmNoZXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICIiCisiS2FubiBCcmFuY2hlcyBuaWNodCBuZXUgc2NocmVpYmVuOiBTaWUgaGFiZW4gw4RuZGVydW5nZW4sIGRpZSBuaWNodCB6dW0gIgorIkNvbW1pdFxuIgorInZvcmdlbWVya3Qgc2luZC4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjYKK21zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKyJLYW5uIFwicHVsbFwiIG1pdCBcInJlYmFzZVwiIG5pY2h0IGF1c2bDvGhyZW46IFNpZSBoYWJlbiDDhG5kZXJ1bmdlbiwgZGllICIKKyJuaWNodCB6dW0gQ29tbWl0IHZvcmdlbWVya3Qgc2luZC4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorIkthbm4gJGFjdGlvbiBuaWNodCBhdXNmw7xocmVuOiBTaWUgaGFiZW4gw4RuZGVydW5nZW4sIGRpZSBuaWNodCB6dW0gQ29tbWl0XG4iCisidm9yZ2VtZXJrdCBzaW5kLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0MgorbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKyJSZWJhc2UgbmljaHQgbcO2Z2xpY2g6IERpZSBTdGFnaW5nLUFyZWEgYmVpbmhhbHRldCBuaWNodCBjb21taXR0ZXRlICIKKyLDhG5kZXJ1bmdlbi4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDUKK21zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorIkthbm4gXCJwdWxsXCIgbWl0IFwicmViYXNlXCIgbmljaHQgYXVzZsO8aHJlbjogRGllIFN0YWdpbmctQXJlYSBiZWluaGFsdGV0ICIKKyJuaWNodCBjb21taXR0ZXRlIMOEbmRlcnVuZ2VuLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0OAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKyJLYW5uICRhY3Rpb24gbmljaHQgYXVzZsO8aHJlbjogRGllIFN0YWdpbmctQXJlYSBiZWluaGFsdGV0IG5pY2h0IGNvbW1pdHRldGVcbiIKKyLDhG5kZXJ1bmdlbi4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNTIKK21zZ2lkICJBZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIlp1c8OkdHpsaWNoIGJlaW5oYWx0ZXQgZGllIFN0YWdpbmctQXJlYSBuaWNodCBjb21taXR0ZXRlIMOEbmRlcnVuZ2VuLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjM3MgorbXNnaWQgIllvdSBuZWVkIHRvIHJ1biB0aGlzIGNvbW1hbmQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZS4iCittc2dzdHIgIiIKKyJTaWUgbcO8c3NlbiBkZW4gQmVmZWhsIHZvbiBkZXIgb2JlcnN0ZW4gRWJlbmUgZGVzIEFyYmVpdHN2ZXJ6ZWljaG5pc3NlcyAiCisiYXVzZsO8aHJlbi4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzcKK21zZ2lkICJVbmFibGUgdG8gZGV0ZXJtaW5lIGFic29sdXRlIHBhdGggb2YgZ2l0IGRpcmVjdG9yeSIKK21zZ3N0ciAiS29ubnRlIGFic29sdXRlbiBQZmFkIGRlcyBHaXQtVmVyemVpY2huaXNzZXMgbmljaHQgYmVzdGltbWVuLiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAlcyIKKyN+IG1zZ3N0ciAiS29ubnRlIG5pY2h0IG5hY2ggJXMgc2NocmVpYmVuIgorCisjfiBtc2dpZCAiRXJyb3Igd3JhcHBpbmcgdXAgJXMuIgorI34gbXNnc3RyICJGZWhsZXIgYmVpbSBFaW5wYWNrZW4gdm9uICVzLiIKKworI34gbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVycnktcGljay4iCiAjfiBtc2dzdHIgIiIKLSN+ICJCaXR0ZSBtZXJrZW4gU2llIElocmUgw4RuZGVydW5nZW4gaW4gLmdpdG1vZHVsZXMgenVtIENvbW1pdCB2b3Igb2RlciAiCi0jfiAiYmVudXR6ZW5cbiIKLSN+ICJTaWUgXCJzdGFzaFwiLCB1bSBmb3J0enVmYWhyZW4uIgorI34gIklocmUgbG9rYWxlbiDDhG5kZXJ1bmdlbiB3w7xyZGVuIGR1cmNoIGRlbiBDaGVycnktUGljayDDvGJlcnNjaHJpZWJlbiB3ZXJkZW4uIgogCi0jfiBtc2dpZCAiY291bGQgbm90IHZlcmlmeSB0aGUgdGFnICclcyciCi0jfiBtc2dzdHIgIktvbm50ZSBUYWcgJyVzJyBuaWNodCB2ZXJpZml6aWVyZW4iCisjfiBtc2dpZCAiQ2Fubm90IHJldmVydCBkdXJpbmcgYW5vdGhlciByZXZlcnQuIgorI34gbXNnc3RyICJLYW5uIFJldmVydCBuaWNodCB3w6RocmVuZCBlaW5lcyBhbmRlcmVuIFJldmVydHMgYXVzZsO8aHJlbi4iCiAKLSN+IG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlOiAlcyIKLSN+IG1zZ3N0ciAiRmVobGVyIGJlaW0gTMO2c2NoZW46ICVzIgotCi0jfiBtc2dpZCAiVGhlIC0tZXhlYyBvcHRpb24gbXVzdCBiZSB1c2VkIHdpdGggdGhlIC0taW50ZXJhY3RpdmUgb3B0aW9uIgotI34gbXNnc3RyICJEaWUgT3B0aW9uIC0tZXhlYyBtdXNzIG1pdCAtLWludGVyYWN0aXZlIHZlcndlbmRldCB3ZXJkZW4uIgotCi0jfiBtc2dpZCAiIgotI34gIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIG5vdCBpbml0aWFsaXplZFxuIgotI34gIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgorI34gbXNnaWQgIkNhbm5vdCBjaGVycnktcGljayBkdXJpbmcgYW5vdGhlciBjaGVycnktcGljay4iCiAjfiBtc2dzdHIgIiIKLSN+ICJTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnIGlzdCBuaWNodCBpbml0aWFsaXNpZXJ0LlxuIgotI34gIlZpZWxsZWljaHQgbcO2Y2h0ZW4gU2llICd1cGRhdGUgLS1pbml0JyBiZW51dHplbj8iCisjfiAiS2FubiBDaGVycnktUGljayBuaWNodCB3w6RocmVuZCBlaW5lcyBhbmRlcmVuIENoZXJyeS1QaWNrcyBhdXNmw7xocmVuLiIKIAotI34gbXNnaWQgIkZvcndhcmQtcG9ydCBsb2NhbCBjb21taXRzIHRvIHRoZSB1cGRhdGVkIHVwc3RyZWFtIGhlYWQiCi0jfiBtc2dzdHIgImxva2FsZSBDb21taXRzIGF1ZiBlaW5lbSBha3R1ZWxsZXJlbSBVcHN0cmVhbS1CcmFuY2ggbmV1IGF1ZmJhdWVuIgorI34gbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKKyN+IG1zZ3N0ciAiS29ubnRlIFplaWxlICVkIG5pY2h0IHBhcnNlbi4iCiAKLSN+IG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgZm9ybWF0IgotI34gbXNnc3RyICJLb25udGUgRm9ybWF0IG5pY2h0IHBhcnNlbi4iCisjfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJXMiCisjfiBtc2dzdHIgIktvbm50ZSAlcyBuaWNodCDDtmZmbmVuIgogCi0jfiBtc2dpZCAiaW1wcm9wZXIgZm9ybWF0IGVudGVyZWQgYWxpZ246JXMiCi0jfiBtc2dzdHIgIlNpZSBoYWJlbiBlaW4gdW5nw7xsdGlnZXMgRm9ybWF0IGVpbmdlZ2ViZW4gYWxpZ246JXMiCisjfiBtc2dpZCAiQ291bGQgbm90IHJlYWQgJXMuIgorI34gbXNnc3RyICJLb25udGUgJXMgbmljaHQgbGVzZW4uIgogCi0jfiBtc2dpZCAiQ291bGQgbm90IHNldCBjb3JlLndvcmt0cmVlIGluICVzIgotI34gbXNnc3RyICJLb25udGUgY29yZS53b3JrdHJlZSBpbiAnJXMnIG5pY2h0IHNldHplbi4iCisjfiBtc2dpZCAiQ291bGQgbm90IGZvcm1hdCAlcy4iCisjfiBtc2dzdHIgIktvbm50ZSAlcyBuaWNodCBmb3JtYXRpZXJlbi4iCiAKLSN+IG1zZ2lkICIiCi0jfiAicHVzaC5kZWZhdWx0IGlzIHVuc2V0OyBpdHMgaW1wbGljaXQgdmFsdWUgaGFzIGNoYW5nZWQgaW5cbiIKLSN+ICJHaXQgMi4wIGZyb20gJ21hdGNoaW5nJyB0byAnc2ltcGxlJy4gVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2VcbiIKLSN+ICJhbmQgbWFpbnRhaW4gdGhlIHRyYWRpdGlvbmFsIGJlaGF2aW9yLCB1c2U6XG4iCi0jfiAiXG4iCi0jfiAiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBtYXRjaGluZ1xuIgotI34gIlxuIgotI34gIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlIGFuZCBhZG9wdCB0aGUgbmV3IGJlaGF2aW9yIG5vdywgdXNlOlxuIgotI34gIlxuIgotI34gIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCBwdXNoLmRlZmF1bHQgc2ltcGxlXG4iCi0jfiAiXG4iCi0jfiAiV2hlbiBwdXNoLmRlZmF1bHQgaXMgc2V0IHRvICdtYXRjaGluZycsIGdpdCB3aWxsIHB1c2ggbG9jYWwgYnJhbmNoZXNcbiIKLSN+ICJ0byB0aGUgcmVtb3RlIGJyYW5jaGVzIHRoYXQgYWxyZWFkeSBleGlzdCB3aXRoIHRoZSBzYW1lIG5hbWUuXG4iCi0jfiAiXG4iCi0jfiAiU2luY2UgR2l0IDIuMCwgR2l0IGRlZmF1bHRzIHRvIHRoZSBtb3JlIGNvbnNlcnZhdGl2ZSAnc2ltcGxlJ1xuIgotI34gImJlaGF2aW9yLCB3aGljaCBvbmx5IHB1c2hlcyB0aGUgY3VycmVudCBicmFuY2ggdG8gdGhlIGNvcnJlc3BvbmRpbmdcbiIKLSN+ICJyZW1vdGUgYnJhbmNoIHRoYXQgJ2dpdCBwdWxsJyB1c2VzIHRvIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guXG4iCi0jfiAiXG4iCi0jfiAiU2VlICdnaXQgaGVscCBjb25maWcnIGFuZCBzZWFyY2ggZm9yICdwdXNoLmRlZmF1bHQnIGZvciBmdXJ0aGVyICIKLSN+ICJpbmZvcm1hdGlvbi5cbiIKLSN+ICIodGhlICdzaW1wbGUnIG1vZGUgd2FzIGludHJvZHVjZWQgaW4gR2l0IDEuNy4xMS4gVXNlIHRoZSBzaW1pbGFyIG1vZGVcbiIKLSN+ICInY3VycmVudCcgaW5zdGVhZCBvZiAnc2ltcGxlJyBpZiB5b3Ugc29tZXRpbWVzIHVzZSBvbGRlciB2ZXJzaW9ucyBvZiBHaXQpIgotI34gbXNnc3RyICIiCi0jfiAiJ3B1c2guZGVmYXVsdCcgaXN0IG5pY2h0IGdlc2V0enQ7IGRlciBpbXBsaXppdCBnZXNldHp0ZSBXZXJ0XG4iCi0jfiAid3VyZGUgaW4gR2l0IDIuMCB2b24gJ21hdGNoaW5nJyBuYWNoICdzaW1wbGUnIGdlw6RuZGVydC4gVW0gZGllc2UgTWVsZHVuZyAiCi0jfiAienVcbiIKLSN+ICJ1bnRlcmRyw7xja2VuIHVuZCBkYXMgYWt0dWVsbGUgVmVyaGFsdGVuIG5hY2ggw4RuZGVydW5nIGRlcyBTdGFuZGFyZHdlcnRlc1xuIgotI34gImJlaXp1YmVoYWx0ZW4sIGJlbnV0emVuIFNpZTpcbiIKLSN+ICJcbiIKLSN+ICIgIGdpdCBjb25maWcgLS1nbG9iYWwgcHVzaC5kZWZhdWx0IG1hdGNoaW5nXG4iCi0jfiAiXG4iCi0jfiAiVW0gZGllc2UgTWVsZHVuZyB6dSB1bnRlcmRyw7xja2VuIHVuZCBkYXMgbmV1ZSBWZXJoYWx0ZW4gamV0enQgenUgIgotI34gIsO8YmVybmVobWVuLCBiZW51dHplbiBTaWU6XG4iCi0jfiAiXG4iCi0jfiAiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBzaW1wbGVcbiIKLSN+ICJcbiIKLSN+ICJXZW5uICdwdXNoLmRlZmF1bHQnIGF1ZiBkZW4gV2VydCAnbWF0Y2hpbmcnIGdlc2V0enQgaXN0LCB3ZXJkZW4gbG9rYWxlXG4iCi0jfiAiQnJhbmNoZXMgenUgZGVuIFJlbW90ZS1CcmFuY2hlcyBtaXQgZGVuIHNlbGJlbiBOYW1lbiB2ZXJzZW5kZXQuXG4iCi0jfiAiXG4iCi0jfiAiSW4gR2l0IDIuMCB3dXJkZSBkYXMgU3RhbmRhcmR2ZXJoYWx0ZW4genUgJ3NpbXBsZScgZ2XDpG5kZXJ0LiBIaWVyYmVpICIKLSN+ICJ3aXJkXG4iCi0jfiAiZGVyIGFrdHVlbGxlIEJyYW5jaCB6dSBkZW0gZW50c3ByZWNoZW5kZW4gUmVtb3RlLUJyYW5jaCB2ZXJzZW5kZXQsIGRlblxuIgotI34gIidnaXQgcHVsbCcgenVyIEFrdHVhbGlzaWVydW5nIGRlcyBha3R1ZWxsZW4gQnJhbmNoZXMgdmVyd2VuZGV0LlxuIgotI34gIlxuIgotI34gIkbDvGhyZW4gU2llICdnaXQgaGVscCBjb25maWcnIGF1cyB1bmQgc3VjaGVuIFNpZSBuYWNoICdwdXNoLmRlZmF1bHQnIGbDvHJcbiIKLSN+ICJ3ZWl0ZXJlIEluZm9ybWF0aW9uZW4uXG4iCi0jfiAiKERlciBNb2R1cyAnc2ltcGxlJyB3dXJkZSBpbiBHaXQgMS43LjExIGVpbmdlZsO8aHJ0LiBCZW51dHplbiBTaWUgZGVuICIKLSN+ICLDpGhubGljaGVuXG4iCi0jfiAiTW9kdXMgJ2N1cnJlbnQnIGFuc3RhdHQgJ3NpbXBsZScsIGZhbGxzIFNpZSBnZWxlZ2VudGxpY2ggw6RsdGVyZSBWZXJzaW9uZW4gIgotI34gInZvblxuIgotI34gIkdpdCBiZW51dHplbi4pIgorI34gbXNnaWQgIiVzOiAlcyIKKyN+IG1zZ3N0ciAiJXM6ICVzIgogCi0jfiBtc2dpZCAiY2hlY2t8b24tZGVtYW5kfG5vIgotI34gbXNnc3RyICJjaGVja3xvbi1kZW1hbmR8bm8iCi0KLSN+IG1zZ2lkICJDb3VsZCBub3QgYXBwZW5kICclcyciCi0jfiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGFuaMOkbmdlbi4iCi0KLSN+IG1zZ2lkICJNaXNzaW5nIGF1dGhvcjogJXMiCi0jfiBtc2dzdHIgImZlaGxlbmRlciBBdXRvcjogJXMiCi0KLSN+IG1zZ2lkICJUZXN0aW5nICIKLSN+IG1zZ3N0ciAiUHLDvGZlICIKLQotI34gbXNnaWQgInVuYWJsZSB0byBsb29rIHVwIGN1cnJlbnQgdXNlciBpbiB0aGUgcGFzc3dkIGZpbGU6ICVzIgotI34gbXNnc3RyICJrb25udGUgYWt0dWVsbGVuIEJlbnV0emVyIG5pY2h0IGluIFBhc3N3b3J0LURhdGVpIGZpbmRlbjogJXMiCi0KLSN+IG1zZ2lkICJubyBzdWNoIHVzZXIiCi0jfiBtc2dzdHIgImtlaW4gc29sY2hlciBCZW51dHplciIKLQotI34gbXNnaWQgImJyYW5jaCAnJXMnIGRvZXMgbm90IHBvaW50IGF0IGEgY29tbWl0IgotI34gbXNnc3RyICJCcmFuY2ggJyVzJyB6ZWlndCBhdWYga2VpbmVuIENvbW1pdCIKLQotI34gbXNnaWQgIm9iamVjdCAnJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgY29tbWl0IgotI34gbXNnc3RyICJPYmpla3QgJyVzJyB6ZWlndCBhdWYga2VpbmVuIENvbW1pdCIKLQotI34gbXNnaWQgInNvbWUgcmVmcyBjb3VsZCBub3QgYmUgcmVhZCIKLSN+IG1zZ3N0ciAiS29ubnRlIGVpbmlnZSBSZWZlcmVuemVuIG5pY2h0IGxlc2VuIgotCi0jfiBtc2dpZCAicHJpbnQgb25seSBtZXJnZWQgYnJhbmNoZXMiCi0jfiBtc2dzdHIgIm51ciBCcmFuY2hlcyBhdXNnZWJlbiwgZGllIHp1c2FtbWVuZ2Vmw7xocnQgc2luZCIKLQotI34gbXNnaWQgIi0tZGlzc29jaWF0ZSBnaXZlbiwgYnV0IHRoZXJlIGlzIG5vIC0tcmVmZXJlbmNlIgotI34gbXNnc3RyICItLWRpc3NvY2lhdGUgb2huZSAtLXJlZmVyZW5jZSBhbmdlZ2ViZW4iCi0KLSN+IG1zZ2lkICJzaG93IHVzYWdlIgotI34gbXNnc3RyICJWZXJ3ZW5kdW5nIGFuemVpZ2VuIgotCi0jfiBtc2dpZCAiaW5zYW5lbHkgbG9uZyB0ZW1wbGF0ZSBuYW1lICVzIgotI34gbXNnc3RyICJ6dSBsYW5nZXIgVm9ybGFnZW4tTmFtZSAlcyIKLQotI34gbXNnaWQgImluc2FuZWx5IGxvbmcgc3ltbGluayAlcyIKLSN+IG1zZ3N0ciAienUgbGFuZ2Ugc3ltYm9saXNjaGUgVmVya27DvHBmdW5nICVzIgotCi0jfiBtc2dpZCAiaW5zYW5lbHkgbG9uZyB0ZW1wbGF0ZSBwYXRoICVzIgotI34gbXNnc3RyICJ6dSBsYW5nZXIgVm9ybGFnZW4tUGZhZCAlcyIKLQotI34gbXNnaWQgImluc2FuZSBnaXQgZGlyZWN0b3J5ICVzIgotI34gbXNnc3RyICJ1bmfDvGx0aWdlcyBHaXQtVmVyemVpY2huaXMgJXMiCi0KLSN+IG1zZ2lkICJ1bnN1cHBvcnRlZCBzb3J0IHNwZWNpZmljYXRpb24gJyVzJyIKLSN+IG1zZ3N0ciAiTmljaHQgdW50ZXJzdMO8dHp0ZSBBbmdhYmUgZsO8ciBcIi0tc29ydFwiICclcyciCi0KLSN+IG1zZ2lkICJ1bnN1cHBvcnRlZCBzb3J0IHNwZWNpZmljYXRpb24gJyVzJyBpbiB2YXJpYWJsZSAnJXMnIgotI34gbXNnc3RyICJOaWNodCB1bnRlcnN0w7x0enRlIEFuZ2FiZSBmw7xyIFwiLS1zb3J0XCIgJyVzJyBpbiBWYXJpYWJsZSAnJXMnIgotCi0jfiBtc2dpZCAic3dpdGNoICdwb2ludHMtYXQnIHJlcXVpcmVzIGFuIG9iamVjdCIKLSN+IG1zZ3N0ciAiT3B0aW9uICdwb2ludHMtYXQnIGVyZm9yZGVydCBlaW4gT2JqZWt0IgotCi0jfiBtc2dpZCAic29ydCB0YWdzIgotI34gbXNnc3RyICJUYWdzIHNvcnRpZXJlbiIKLQotI34gbXNnaWQgIi0tc29ydCBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKLSN+IG1zZ3N0ciAiLS1zb3J0IHVuZCAtbiBzaW5kIGlua29tcGF0aWJlbCIKLQotI34gbXNnaWQgIkdpdGRpciAnJGEnIGlzIHBhcnQgb2YgdGhlIHN1Ym1vZHVsZSBwYXRoICckYicgb3IgdmljZSB2ZXJzYSIKLSN+IG1zZ3N0ciAiIgotI34gIkdpdC1WZXJ6ZWljaG5pcyAnJGEnIGlzdCBUZWlsIGRlcyBTdWJtb2R1bC1QZmFkZXMgJyRiJywgb2RlciB1bWdla2VocnQiCi0KLSN+IG1zZ2lkICJmYWxzZXx0cnVlfHByZXNlcnZlIgotI34gbXNnc3RyICJmYWxzZXx0cnVlfHByZXNlcnZlIgotCi0jfiBtc2dpZCAiQlVHOiByZW9wZW4gYSBsb2NrZmlsZSB0aGF0IGlzIHN0aWxsIG9wZW4iCi0jfiBtc2dzdHIgIkZFSExFUjogV2llZGVyw7ZmZm5lbiBlaW5lciBiZXJlaXRzIGdlw7ZmZm5ldGVuIExvY2stRGF0ZWkiCi0KLSN+IG1zZ2lkICJCVUc6IHJlb3BlbiBhIGxvY2tmaWxlIHRoYXQgaGFzIGJlZW4gY29tbWl0dGVkIgotI34gbXNnc3RyICJGRUhMRVI6IFdpZWRlcsO2ZmZuZW4gZWluZXIgYmVyZWl0cyBjb21taXR0ZXRlbiBMb2NrLURhdGVpIgotCi0jfiBtc2dpZCAib3B0aW9uICVzIGRvZXMgbm90IGFjY2VwdCBuZWdhdGl2ZSBmb3JtIgotI34gbXNnc3RyICJPcHRpb24gJXMgYWt6ZXB0aWVydCBrZWluZSBuZWdhdGl2ZSBGb3JtIgotCi0jfiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIHZhbHVlICclcycgZm9yIG9wdGlvbiAlcyIKLSN+IG1zZ3N0ciAia29ubnRlIFdlcnQgJyVzJyBmw7xyIE9wdGlvbiAlcyBuaWNodCBwYXJzZW4iCi0KLSN+IG1zZ2lkICItYiBhbmQgLUIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKLSN+IG1zZ3N0ciAiLWIgdW5kIC1CIHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMiCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJLYW5uICVzIG5pY2h0IMO2ZmZuZW46ICVzIgogCiAjfiBtc2dpZCAiWW91IG5lZWQgdG8gc2V0IHlvdXIgY29tbWl0dGVyIGluZm8gZmlyc3QiCiAjfiBtc2dzdHIgIlNpZSBtw7xzc2VuIHp1ZXJzdCBkaWUgSW5mb3JtYXRpb25lbiB6dW0gQ29tbWl0LUVyc3RlbGxlciBzZXR6ZW4uIgotCi0jfiBtc2dpZCAiIgotI34gIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCIkY21kbGluZSAtLWNvbnRpbnVlXCIuXG4iCi0jfiAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcIiRjbWRsaW5lIC0tc2tpcFwiIGluc3RlYWQuXG4iCi0jfiAiVG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBzdG9wIHBhdGNoaW5nLCBydW4gXCIkY21kbGluZSAtLWFib3J0IgotI34gIlwiLiIKLSN+IG1zZ3N0ciAiIgotI34gIldlbm4gU2llIGRhcyBQcm9ibGVtIGdlbMO2c3QgaGFiZW4sIGbDvGhyZW4gU2llIFwiJGNtZGxpbmUgLS1jb250aW51ZVwiICIKLSN+ICJhdXMuXG4iCi0jfiAiRmFsbHMgU2llIGRpZXNlbiBQYXRjaCBhdXNsYXNzZW4gbcO2Y2h0ZW4sIGbDvGhyZW4gU2llIHN0YXR0ZGVzc2VuXG4iCi0jfiAiXCIkY21kbGluZSAtLXNraXBcIiBhdXMuXG4iCi0jfiAiVW0gZGVuIHVyc3Byw7xuZ2xpY2hlbiBCcmFuY2ggd2llZGVyaGVyenVzdGVsbGVuIHVuZCBkaWUgQW53ZW5kdW5nIGRlclxuIgotI34gIlBhdGNoZXMgYWJ6dWJyZWNoZW4sIGbDvGhyZW4gU2llIFwiJGNtZGxpbmUgLS1hYm9ydFwiIGF1cy4iCi0KLSN+IG1zZ2lkICJQYXRjaCBmb3JtYXQgJHBhdGNoX2Zvcm1hdCBpcyBub3Qgc3VwcG9ydGVkLiIKLSN+IG1zZ3N0ciAiUGF0Y2gtRm9ybWF0ICRwYXRjaF9mb3JtYXQgd2lyZCBuaWNodCB1bnRlcnN0w7x0enQuIgotCi0jfiBtc2dpZCAiUGxlYXNlIG1ha2UgdXAgeW91ciBtaW5kLiAtLXNraXAgb3IgLS1hYm9ydD8iCi0jfiBtc2dzdHIgIkJpdHRlIHdlcmRlbiBTaWUgc2ljaCBrbGFyLiAtLXNraXAgb2RlciAtLWFib3J0PyIKLQotI34gbXNnaWQgIiIKLSN+ICJQYXRjaCBpcyBlbXB0eS4gIFdhcyBpdCBzcGxpdCB3cm9uZz9cbiIKLSN+ICJJZiB5b3Ugd291bGQgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgaW5zdGVhZCBydW4gXCIkY21kbGluZSAtLXNraXBcIi5cbiIKLSN+ICJUbyByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcGF0Y2hpbmcgcnVuIFwiJGNtZGxpbmUgLS1hYm9ydFwiLiIKLSN+IG1zZ3N0ciAiIgotI34gIlBhdGNoIGlzdCBsZWVyLiBXdXJkZSBlciBmYWxzY2ggYXVmZ2V0ZWlsdD9cbiIKLSN+ICJXZW5uIFNpZSBkaWVzZW4gUGF0Y2ggYXVzbGFzc2VuIG3DtmNodGVuLCBmw7xocmVuIFNpZSBzdGF0dGRlc3NlblxuIgotI34gIlwiJGNtZGxpbmUgLS1za2lwXCIgYXVzLlxuIgotI34gIlVtIGRlbiB1cnNwcsO8bmdsaWNoZW4gQnJhbmNoIHdpZWRlcmhlcnp1c3RlbGxlbiB1bmQgZGllIEFud2VuZHVuZyBkZXIgIgotI34gIlBhdGNoZXNcbiIKLSN+ICJhYnp1YnJlY2hlbiwgZsO8aHJlbiBTaWUgXCIkY21kbGluZSAtLWFib3J0XCIgYXVzLiIKLQotI34gbXNnaWQgIlBhdGNoIGRvZXMgbm90IGhhdmUgYSB2YWxpZCBlLW1haWwgYWRkcmVzcy4iCi0jfiBtc2dzdHIgIlBhdGNoIGVudGjDpGx0IGtlaW5lIGfDvGx0aWdlIEUtTWFpbC1BZHJlc3NlLiIKLQotI34gbXNnaWQgIkFwcGx5aW5nOiAkRklSU1RMSU5FIgotI34gbXNnc3RyICJXZW5kZSBhbjogJEZJUlNUTElORSIKLQotI34gbXNnaWQgIlBhdGNoIGZhaWxlZCBhdCAkbXNnbnVtICRGSVJTVExJTkUiCi0jfiBtc2dzdHIgIkFud2VuZHVuZyBkZXMgUGF0Y2hlcyBmZWhsZ2VzY2hsYWdlbiBiZWkgJG1zZ251bSAkRklSU1RMSU5FIgotCi0jfiBtc2dpZCAiIgotI34gIlB1bGwgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuXG4iCi0jfiAiUGxlYXNlLCBmaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLCBhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+J1xuIgotI34gImFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdC4iCi0jfiBtc2dzdHIgIiIKLSN+ICJcInB1bGxcIiBpc3QgbmljaHQgbcO2Z2xpY2gsIHdlaWwgU2llIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gIgotI34gImhhYmVuLlxuIgotI34gIkJpdHRlIGtvcnJpZ2llcmVuIFNpZSBkaWVzIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyB1bmQgYmVudXR6ZW4gU2llIGRhbm5cbiIKLSN+ICInZ2l0IGFkZC9ybSA8RGF0ZWk+JywgdW0gZGllIEF1ZmzDtnN1bmcgZW50c3ByZWNoZW5kIHp1IG1hcmtpZXJlbiB1bmQgenVcbiIKLSN+ICJjb21taXR0ZW4uIgotCi0jfiBtc2dpZCAiUHVsbCBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCi0jfiBtc2dzdHIgIiIKLSN+ICJcInB1bGxcIiBpc3QgbmljaHQgbcO2Z2xpY2gsIHdlaWwgU2llIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gaGFiZW4uIgotCi0jfiBtc2dpZCAibm8gYnJhbmNoIHNwZWNpZmllZCIKLSN+IG1zZ3N0ciAiS2VpbiBCcmFuY2ggc3BlemlmaXppZXJ0IgotCi0jfiBtc2dpZCAiY2hlY2sgYSBicmFuY2ggb3V0IGluIGEgc2VwYXJhdGUgd29ya2luZyBkaXJlY3RvcnkiCi0jfiBtc2dzdHIgIkJyYW5jaCBpbiBzZXBhcmF0ZW0gQXJiZWl0c3ZlcnplaWNobmlzIGF1c2NoZWNrZW4iCi0KLSN+IG1zZ2lkICJwcnVuZSAuZ2l0L3dvcmt0cmVlcyIKLSN+IG1zZ3N0ciAiIgotI34gIkluZm9ybWF0aW9uZW4genUgbmljaHQgbWVociBleGlzdGllcmVuZGVuIEFyYmVpdHN2ZXJ6ZWljaG5pc3NlbiBpbiAuZ2l0LyIKLSN+ICJ3b3JrdHJlZXMgZW50ZmVybmVuIgotCi0jfiBtc2dpZCAiVGhlIG1vc3QgY29tbW9ubHkgdXNlZCBnaXQgY29tbWFuZHMgYXJlOiIKLSN+IG1zZ3N0ciAiRGllIGFsbGdlbWVpbiB2ZXJ3ZW5kZXRlbiBHaXQtS29tbWFuZG9zIHNpbmQ6IgotCi0jfiBtc2dpZCAiTm8gc3VjaCBicmFuY2g6ICclcyciCi0jfiBtc2dzdHIgIktlaW4gc29sY2hlciBCcmFuY2ggJyVzJyIKLQotI34gbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZ2l0IGxpbmsgJXMiCi0jfiBtc2dzdHIgIktvbm50ZSBnaXQtVmVyd2VpcyAlcyBuaWNodCBlcnN0ZWxsZW4iCi0KLSN+IG1zZ2lkICJJbnZhbGlkIGdjLnBydW5lZXhwaXJlOiAnJXMnIgotI34gbXNnc3RyICJVbmfDvGx0aWdlcyBXZXJ0IGbDvHIgXCJnYy5wcnVuZWV4cGlyZVwiOiAnJXMnIgotCi0jfiBtc2dpZCAiKGRldGFjaGVkIGZyb20gJXMpIgotI34gbXNnc3RyICIobG9zZ2Vsw7ZzdCB2b24gJXMpIgotCi0jfiBtc2dpZCAic2VhcmNoIGFsc28gaW4gaWdub3JlZCBmaWxlcyIKLSN+IG1zZ3N0ciAiYXVjaCBpbiBpZ25vcmllcnRlbiBEYXRlaWVuIHN1Y2hlbiIKLQotI34gbXNnaWQgIk5vIGV4aXN0aW5nIGF1dGhvciBmb3VuZCB3aXRoICclcyciCi0jfiBtc2dzdHIgIktlaW4gZXhpc3RpZXJlbmRlciBBdXRvciBtaXQgJyVzJyBnZWZ1bmRlbi4iCi0KLSN+IG1zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHw8YnJhbmNoPikiCi0jfiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPE5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8QnJhbmNoPikiCi0KLSN+IG1zZ2lkICJubyBmaWxlcyBhZGRlZCIKLSN+IG1zZ3N0ciAia2VpbmUgRGF0ZWllbiBoaW56dWdlZsO8Z3QiCi0KLSN+IG1zZ2lkICJmb3JjZSBjcmVhdGlvbiAod2hlbiBhbHJlYWR5IGV4aXN0cykiCi0jfiBtc2dzdHIgIkJyYW5jaCBhdWNoIGVyemV1Z2VuLCB3ZW5uIGRpZXNlciBiZXJlaXRzIGV4aXN0aWVydCIKLQotI34gbXNnaWQgInNsb3QiCi0jfiBtc2dzdHIgIlNsb3QiCi0KLSN+IG1zZ2lkICJjaGVjayIKLSN+IG1zZ3N0ciAiY2hlY2t8b24tZGVtYW5kIgotCi0jfiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgcmVmIGZvciB1cGRhdGUiCi0jfiBtc2dzdHIgIkZlaGxlciBiZWltIFNwZXJyZW4gZGVyIFJlZmVyZW56IHp1ciBBa3R1YWxpc2llcnVuZy4iCi0KLSN+IG1zZ2lkICJGYWlsZWQgdG8gd3JpdGUgcmVmIgotI34gbXNnc3RyICJGZWhsZXIgYmVpbSBTY2hyZWliZW4gZGVyIFJlZmVyZW56LiIKLQotI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrIEhFQUQgZHVyaW5nIGZhc3RfZm9yd2FyZF90byIKLSN+IG1zZ3N0ciAiRmVobGVyIGJlaW0gU3BlcnJlbiB2b24gSEVBRCB3w6RocmVuZCBmYXN0X2ZvcndhcmRfdG8iCi0KLSN+IG1zZ2lkICJpbnZhbGlkIGNvbW1pdDogJXMiCi0jfiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIENvbW1pdDogJXMiCi0KLSN+IG1zZ2lkICJjYW5ub3QgbG9jayBIRUFEIHJlZiIKLSN+IG1zZ3N0ciAiS2FubiBSZWZlcmVueiB2b24gSEVBRCBuaWNodCBzcGVycmVuLiIKLQotI34gbXNnaWQgImNhbm5vdCB1cGRhdGUgSEVBRCByZWYiCi0jfiBtc2dzdHIgIkthbm4gUmVmZXJlbnogdm9uIEhFQUQgbmljaHQgYWt0dWFsaXNpZXJlbi4iCi0KLSN+IG1zZ2lkICJjYW5ub3QgdGVsbCBjd2QiCi0jfiBtc2dzdHIgImthbm4gYWt0dWVsbGVzIEFyYmVpdHN2ZXJ6ZWljaG5pcyBuaWNodCBlcm1pdHRlbG4iCi0KLSN+IG1zZ2lkICIlczogY2Fubm90IGxvY2sgdGhlIHJlZiIKLSN+IG1zZ3N0ciAiJXM6IGthbm4gUmVmZXJlbnogbmljaHQgc3BlcnJlbiIKLQotI34gbXNnaWQgIiVzOiBjYW5ub3QgdXBkYXRlIHRoZSByZWYiCi0jfiBtc2dzdHIgIiVzOiBrYW5uIFJlZmVyZW56IG5pY2h0IGFrdHVhbGlzaWVyZW4iCi0KLSN+IG1zZ2lkICJjb21taXQgaGFzIGVtcHR5IG1lc3NhZ2UiCi0jfiBtc2dzdHIgIkNvbW1pdCBoYXQgZWluZSBsZWVyZSBCZXNjaHJlaWJ1bmciCi0KLSN+IG1zZ2lkICJGYWlsZWQgdG8gY2hkaXI6ICVzIgotI34gbXNnc3RyICJGZWhsZXIgYmVpbSBWZXJ6ZWljaG5pc3dlY2hzZWw6ICVzIgotCi0jfiBtc2dpZCAia2V5IGlkIgotI34gbXNnc3RyICJTY2hsw7xzc2VsLUlEIgotCi0jfiBtc2dpZCAiVHJhY2tpbmcgbm90IHNldCB1cDogbmFtZSB0b28gbG9uZzogJXMiCi0jfiBtc2dzdHIgIiIKLSN+ICJLb25maWd1cmF0aW9uIHp1bSBGb2xnZW4gdm9uIEJyYW5jaCBuaWNodCBlaW5nZXJpY2h0ZXQuIE5hbWUgenUgbGFuZzogJXMiCi0KLSN+IG1zZ2lkICJidWciCi0jfiBtc2dzdHIgIkZlaGxlciIKLQotI34gbXNnaWQgIiwgYmVoaW5kICIKLSN+IG1zZ3N0ciAiLCBoaW50ZXJoZXIgIgotCi0jfiBtc2dpZCAiY291bGQgbm90IGZpbmQgLmdpdG1vZHVsZXMgaW4gaW5kZXgiCi0jfiBtc2dzdHIgIktvbm50ZSAuZ2l0bW9kdWxlcyBuaWNodCBpbiBkZXIgU3RhZ2luZy1BcmVhIGZpbmRlbiIKLQotI34gbXNnaWQgInJlYWRpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCi0jfiBtc2dzdHIgIkxlc2VuIGRlciBha3R1YWxpc2llcnRlbiAuZ2l0bW9kdWxlcy1EYXRlaSBmZWhsZ2VzY2hsYWdlbiIKLQotI34gbXNnaWQgInVuYWJsZSB0byBzdGF0IHVwZGF0ZWQgLmdpdG1vZHVsZXMiCi0jfiBtc2dzdHIgIktvbm50ZSBha3R1YWxpc2llcnRlIC5naXRtb2R1bGVzLURhdGVpIG5pY2h0IGxlc2VuIgotCi0jfiBtc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAuZ2l0bW9kdWxlcyBmcm9tIGluZGV4IgotI34gbXNnc3RyICJLb25udGUgLmdpdG1vZHVsZXMgbmljaHQgYXVzIGRlciBTdGFnaW5nLUFyZWEgZW50ZmVybmVuIgotCi0jfiBtc2dpZCAiYWRkaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgotI34gbXNnc3RyICJLb25udGUgYWt0dWFsaXNpZXJ0ZSAuZ2l0bW9kdWxlcy1EYXRlaSBuaWNodCBoaW56dWbDvGdlbiIKLQotI34gbXNnaWQgIiIKLSN+ICJUaGUgYmVoYXZpb3Igb2YgJ2dpdCBhZGQgJXMgKG9yICVzKScgd2l0aCBubyBwYXRoIGFyZ3VtZW50IGZyb20gYVxuIgotI34gInN1YmRpcmVjdG9yeSBvZiB0aGUgdHJlZSB3aWxsIGNoYW5nZSBpbiBHaXQgMi4wIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgIgotI34gImFueW1vcmUuXG4iCi0jfiAiVG8gYWRkIGNvbnRlbnQgZm9yIHRoZSB3aG9sZSB0cmVlLCBydW46XG4iCi0jfiAiXG4iCi0jfiAiICBnaXQgYWRkICVzIDovXG4iCi0jfiAiICAob3IgZ2l0IGFkZCAlcyA6LylcbiIKLSN+ICJcbiIKLSN+ICJUbyByZXN0cmljdCB0aGUgY29tbWFuZCB0byB0aGUgY3VycmVudCBkaXJlY3RvcnksIHJ1bjpcbiIKLSN+ICJcbiIKLSN+ICIgIGdpdCBhZGQgJXMgLlxuIgotI34gIiAgKG9yIGdpdCBhZGQgJXMgLilcbiIKLSN+ICJcbiIKLSN+ICJXaXRoIHRoZSBjdXJyZW50IEdpdCB2ZXJzaW9uLCB0aGUgY29tbWFuZCBpcyByZXN0cmljdGVkIHRvIHRoZSBjdXJyZW50ICIKLSN+ICJkaXJlY3RvcnkuXG4iCi0jfiBtc2dzdHIgIiIKLSN+ICJEYXMgVmVyaGFsdGVuIHZvbiAnZ2l0IGFkZCAlcyAob2RlciAlcyknIG9obmUgZWluIFBmYWQtQXJndW1lbnQgdm9uXG4iCi0jfiAiZWluZW0gVW50ZXJ2ZXJ6ZWljaG5pcyBhdXMgd2lyZCBpbiBHaXQgMi4wIGdlw6RuZGVydCB1bmQgc29sbHRlIG5pY2h0XG4iCi0jfiAibWVociB2ZXJ3ZW5kZXQgd2VyZGVuLlxuIgotI34gIlVtIERhdGVpZW4gZGVzIGdlc2FtdGVuIFByb2pla3R2ZXJ6ZWljaG5pc3NlcyBoaW56dXp1ZsO8Z2VuLCBmw7xocmVuIFNpZSAiCi0jfiAiYXVzOlxuIgotI34gIlxuIgotI34gIiAgZ2l0IGFkZCAlcyA6L1xuIgotI34gIiAgKG9kZXIgZ2l0IGFkZCAlcyA6LylcbiIKLSN+ICJcbiIKLSN+ICJadXIgRWluc2NocsOkbmt1bmcgYXVmIGRhcyBha3R1ZWxsZSBWZXJ6ZWljaG5pcyBmw7xocmVuIFNpZSBhdXM6XG4iCi0jfiAiXG4iCi0jfiAiICBnaXQgYWRkICVzIC5cbiIKLSN+ICIgIChvZGVyIGdpdCBhZGQgJXMgLilcbiIKLSN+ICJcbiIKLSN+ICJNaXQgZGVyIGFrdHVlbGxlbiBWZXJzaW9uIHZvbiBHaXQgaXN0IGRhcyBLb21tYW5kbyBhdWYgZGFzIGFrdHVlbGxlXG4iCi0jfiAiVmVyemVpY2huaXMgYmVzY2hyw6Rua3QuXG4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiWW91IHJhbiAnZ2l0IGFkZCcgd2l0aCBuZWl0aGVyICctQSAoLS1hbGwpJyBvciAnLS1pZ25vcmUtcmVtb3ZhbCcsXG4iCi0jfiAid2hvc2UgYmVoYXZpb3VyIHdpbGwgY2hhbmdlIGluIEdpdCAyLjAgd2l0aCByZXNwZWN0IHRvIHBhdGhzIHlvdSAiCi0jfiAicmVtb3ZlZC5cbiIKLSN+ICJQYXRocyBsaWtlICclcycgdGhhdCBhcmVcbiIKLSN+ICJyZW1vdmVkIGZyb20geW91ciB3b3JraW5nIHRyZWUgYXJlIGlnbm9yZWQgd2l0aCB0aGlzIHZlcnNpb24gb2YgR2l0LlxuIgotI34gIlxuIgotI34gIiogJ2dpdCBhZGQgLS1pZ25vcmUtcmVtb3ZhbCA8cGF0aHNwZWM+Jywgd2hpY2ggaXMgdGhlIGN1cnJlbnQgZGVmYXVsdCxcbiIKLSN+ICIgIGlnbm9yZXMgcGF0aHMgeW91IHJlbW92ZWQgZnJvbSB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKLSN+ICJcbiIKLSN+ICIqICdnaXQgYWRkIC0tYWxsIDxwYXRoc3BlYz4nIHdpbGwgbGV0IHlvdSBhbHNvIHJlY29yZCB0aGUgcmVtb3ZhbHMuXG4iCi0jfiAiXG4iCi0jfiAiUnVuICdnaXQgc3RhdHVzJyB0byBjaGVjayB0aGUgcGF0aHMgeW91IHJlbW92ZWQgZnJvbSB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKLSN+IG1zZ3N0ciAiIgotI34gIlNpZSBoYWJlbiAnZ2l0IGFkZCcgd2VkZXIgbWl0ICctQSAoLS1hbGwpJyBub2NoIG1pdCAnLS1pZ25vcmUtcmVtb3ZhbCdcbiIKLSN+ICJhdXNnZWbDvGhydC4gRGFzIFZlcmhhbHRlbiBkZXMgS29tbWFuZG9zIMOkbmRlcnQgc2ljaCBpbiBHaXQgMi4wIGR1cmNoXG4iCi0jfiAiQmVyw7xja3NpY2h0aWd1bmcgZGVyIGdlbMO2c2NodGVuIFBmYWRlLlxuIgotI34gIlBmYWRlIHdpZSAnJXMnLCBkaWUgaW0gQXJiZWl0c3ZlcnplaWNobmlzIGdlbMO2c2NodCB3dXJkZW4sIHdlcmRlbiBpblxuIgotI34gImRpZXNlciBWZXJzaW9uIHZvbiBHaXQgaWdub3JpZXJ0LlxuIgotI34gIlxuIgotI34gIiogJ2dpdCBhZGQgLS1pZ25vcmUtcmVtb3ZhbCA8UGZhZHNwZXppZmlrYXRpb24+Jywgd2FzIGRlciBha3R1ZWxsZVxuIgotI34gIiAgU3RhbmRhcmR3ZXJ0IGlzdCwgaWdub3JpZXJ0IGdlbMO2c2NodGUgUGZhZGUgaW0gQXJiZWl0c3ZlcnplaWNobmlzLlxuIgotI34gIiogJ2dpdCBhZGQgLS1hbGwgPFBmYWRzcGV6aWZpa2F0aW9uPicgYmVyw7xja3NpY2h0aWd0IGViZW5mYWxscyBnZWzDtnNjaHRlXG4iCi0jfiAiICBQZmFkZS5cbiIKLSN+ICJGw7xocmVuIFNpZSAnZ2l0IHN0YXR1cycgYXVzLCB1bSBkaWUgZ2Vsw7ZzY2h0ZW4gUGZhZGUgenUgw7xiZXJwcsO8ZmVuLlxuIgotCi0jfiBtc2dpZCAiIgotI34gIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS4gWW91IG1heSBhbHNvXG4iCi0jfiAicnVuIFwiZ2l0IGdjXCIgbWFudWFsbHkuIFNlZSBcImdpdCBoZWxwIGdjXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCi0jfiBtc2dzdHIgIiIKLSN+ICJEaWUgRGF0ZW5iYW5rIGRlcyBSZXBvc2l0b3JpZXMgd2lyZCBmw7xyIGVpbmUgb3B0aW1hbGUgUGVyZm9ybWFuY2VcbiIKLSN+ICJrb21wcmltaWVydC4gU2llIGvDtm5uZW4gYXVjaCBcImdpdCBnY1wiIG1hbnVlbGwgYXVzZsO8aHJlbi5cbiIKLSN+ICJTaWVoZSBcImdpdCBoZWxwIGdjXCIgZsO8ciB3ZWl0ZXJlIEluZm9ybWF0aW9uZW4uXG4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgotI34gImNvdW50ZXJwYXJ0LiBJZiB5b3UgZGlkIG5vdCBpbnRlbmQgdG8gcHVzaCB0aGF0IGJyYW5jaCwgeW91IG1heSB3YW50IHRvXG4iCi0jfiAic3BlY2lmeSBicmFuY2hlcyB0byBwdXNoIG9yIHNldCB0aGUgJ3B1c2guZGVmYXVsdCcgY29uZmlndXJhdGlvbiAiCi0jfiAidmFyaWFibGVcbiIKLSN+ICJ0byAnc2ltcGxlJywgJ2N1cnJlbnQnIG9yICd1cHN0cmVhbScgdG8gcHVzaCBvbmx5IHRoZSBjdXJyZW50IGJyYW5jaC4iCi0jfiBtc2dzdHIgIiIKLSN+ICJBa3R1YWxpc2llcnVuZ2VuIHd1cmRlbiB6dXLDvGNrZ2V3aWVzZW4sIHdlaWwgZGllIFNwaXR6ZSBlaW5lcyAiCi0jfiAidmVyc2VuZGV0ZW5cbiIKLSN+ICJCcmFuY2hlcyBoaW50ZXIgc2VpbmVtIGV4dGVybmVuIEdlZ2Vuc3TDvGNrIHp1csO8Y2tnZWZhbGxlbiBpc3QuIFdlbm4gU2llICIKLSN+ICJuaWNodFxuIgotI34gImJlYWJzaWNodGlndCBoYWJlbiwgZGllc2VuIEJyYW5jaCB6dSB2ZXJzZW5kZW4sIGvDtm5uZW4gU2llIGF1Y2ggZGVuIHp1ICIKLSN+ICJ2ZXJzZW5kZW5kZW5cbiIKLSN+ICJCcmFuY2ggc3BlemlmaXppZXJlbiBvZGVyIGRpZSBLb25maWd1cmF0aW9uc3ZhcmlhYmxlICdwdXNoLmRlZmF1bHQnIHp1ICIKLSN+ICInc2ltcGxlJywgJ2N1cnJlbnQnXG4iCi0jfiAib2RlciAndXBzdHJlYW0nIHNldHplbiwgdW0gbnVyIGRlbiBha3R1ZWxsZW4gQnJhbmNoIHp1IHZlcnNlbmRlbi4iCi0KLSN+IG1zZ2lkICJjb3BpZWQ6ICAgICAlcyAtPiAlcyIKLSN+IG1zZ3N0ciAia29waWVydDogICAgICVzIC0+ICVzIgotCi0jfiBtc2dpZCAiZGVsZXRlZDogICAgJXMiCi0jfiBtc2dzdHIgImdlbMO2c2NodDogICAgJXMiCi0KLSN+IG1zZ2lkICJtb2RpZmllZDogICAlcyIKLSN+IG1zZ3N0ciAiZ2XDpG5kZXJ0OiAgICVzIgotCi0jfiBtc2dpZCAicmVuYW1lZDogICAgJXMgLT4gJXMiCi0jfiBtc2dzdHIgInVtYmVuYW5udDogICAgJXMgLT4gJXMiCi0KLSN+IG1zZ2lkICJ1bm1lcmdlZDogICAlcyIKLSN+IG1zZ3N0ciAibmljaHQgenVzYW1tZW5nZWbDvGhydDogICAlcyIKLQotI34gbXNnaWQgImlucHV0IHBhdGhzIGFyZSB0ZXJtaW5hdGVkIGJ5IGEgbnVsbCBjaGFyYWN0ZXIiCi0jfiBtc2dzdHIgIkVpbmdhYmVwZmFkZSBzaW5kIGR1cmNoIGVpbiBOVUwgWmVpY2hlbiBhYmdlc2NobG9zc2VuIgotCi0jfiBtc2dpZCAiIgotI34gIkFib3J0aW5nLiBDb25zaWRlciB1c2luZyBlaXRoZXIgdGhlIC0tZm9yY2Ugb3IgLS1pbmNsdWRlLXVudHJhY2tlZCBvcHRpb24uIgotI34gbXNnc3RyICIiCi0jfiAiQWJnZWJyb2NoZW4uIEJlbnV0emVuIFNpZSBlbnR3ZWRlciBkaWUgT3B0aW9uIC0tZm9yY2Ugb2RlciAtLWluY2x1ZGUtIgotI34gInVudHJhY2tlZC4iCi0KLSN+IG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLXJlc29sdmVkXCIpIgotI34gbXNnc3RyICIiCi0jfiAiICAoYmVoZWJlbiBTaWUgZGllIEtvbmZsaWt0ZSB1bmQgZsO8aHJlbiBTaWUgZGFubiBcImdpdCBhbSAtLXJlc29sdmVkXCIgIgotI34gImF1cykiCi0KLSN+IG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY29tbWl0XCIpIgotI34gbXNnc3RyICIgIChhbGxlIEtvbmZsaWt0ZSBiZWhvYmVuOiBmw7xocmVuIFNpZSBcImdpdCBjb21taXRcIiBhdXMpIgotCi0jfiBtc2dpZCAibW9yZSB0aGFuICVkIHRyZWVzIGdpdmVuOiAnJXMnIgotI34gbXNnc3RyICJNZWhyIGFscyAlZCBcIlRyZWVcIi1PYmpla3RlIGFuZ2VnZWJlbjogJyVzJyIKLQotI34gbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLW5vLWZmIHdpdGggLS1mZi1vbmx5LiIKLSN+IG1zZ3N0ciAiU2llIGvDtm5uZW4gLS1uby1mZiBuaWNodCBtaXQgLS1mZi0tb25seSBrb21iaW5pZXJlbi4iCi0KLSN+IG1zZ2lkICIiCi0jfiAic3VibW9kdWxlICclcycgKG9yIG9uZSBvZiBpdHMgbmVzdGVkIHN1Ym1vZHVsZXMpIHVzZXMgYSAuZ2l0IGRpcmVjdG9yeVxuIgotI34gIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyAiCi0jfiAiaGlzdG9yeSkiCi0jfiBtc2dzdHIgIiIKLSN+ICJTdWJtb2R1bCAnJXMnIChvZGVyIGVpbiBnZXNjaGFjaHRlbHRlcyBTdWJtb2R1bCBoaWVydm9uKSB2ZXJ3ZW5kZXRcbiIKLSN+ICJlaW4gLmdpdC1WZXJ6ZWljaG5pcyAoYmVudXR6ZW4gU2llICdybSAtcmYnIHdlbm4gU2llIGRpZXNlcyB3aXJrbGljaCAiCi0jfiAibWl0c2FtdFxuIgotI34gInNlaW5lciBIaXN0b3JpZSBsw7ZzY2hlbiBtw7ZjaHRlbikiCi0KLSN+IG1zZ2lkICIiCi0jfiAiJyVzJyBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4XG4iCi0jfiAiKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKLSN+IG1zZ3N0ciAiIgotI34gIiclcycgaGF0IHp1bSBDb21taXQgdm9yZ2VtZXJrdGUgw4RuZGVydW5nZW5cbiIKLSN+ICIoYmVudXR6ZW4gU2llIC0tY2FjaGVkIHVtIGRpZSBEYXRlaSB6dSBiZWhhbHRlbiwgb2RlciAtZiB1bSBkaWUgIgotI34gIkVudGZlcm51bmcgenUgZXJ6d2luZ2VuKSIKLQotI34gbXNnaWQgInNob3cgY29tbWl0cyB3aGVyZSBubyBwYXJlbnQgY29tZXMgYmVmb3JlIGl0cyBjaGlsZHJlbiIKLSN+IG1zZ3N0ciAiIgotI34gInplaWd0IENvbW1pdHMsIGJlaSBkZW5lbiBrZWluIEVsdGVybi1Db21taXQgdm9yIHNlaW5lbSBLaW5kLUNvbW1pdCBrb21tdCIKLQotI34gbXNnaWQgInNob3cgdGhlIEhFQUQgcmVmZXJlbmNlIgotI34gbXNnc3RyICJ6ZWlndCBSZWZlcmVueiB2b24gSEVBRCIKLQotI34gbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJHByZWZpeCRzbV9wYXRoJyIKLSN+IG1zZ3N0ciAiS29ubnRlIFwiZmV0Y2hcIiBpbiBTdWJtb2R1bC1QZmFkICckcHJlZml4JHNtX3BhdGgnIG5pY2h0IGF1c2bDvGhyZW4iCi0KLSN+IG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckcHJlZml4JHNtX3BhdGgnIgotI34gbXNnc3RyICJGZWhsZXIgYmVpIFJla3Vyc2lvbiBpbiBTdWJtb2R1bC1QZmFkICckcHJlZml4JHNtX3BhdGgnIgotCi0jfiBtc2dpZCAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gICdzdGF0dXMgLXVubyciCi0jfiBtc2dzdHIgIiIKLSN+ICJFcyBkYXVlcnRlICUuMmYgU2VrdW5kZW4gZGllIHVuYmVvYmFjaHRldGVuIERhdGVpZW4genUgYmVzdGltbWVuLidzdGF0dXMgLSIKLSN+ICJ1bm8nIgotCi0jfiBtc2dpZCAibWF5IHNwZWVkIGl0IHVwLCBidXQgeW91IGhhdmUgdG8gYmUgY2FyZWZ1bCBub3QgdG8gZm9yZ2V0IHRvIGFkZCIKLSN+IG1zZ3N0ciAia8O2bm50ZSBkYXMgYmVzY2hsZXVuaWdlbiwgYWJlciBTaWUgbcO8c3NlbiBkYXJhdWYgYWNodGVuLCBuZXVlIgotCi0jfiBtc2dpZCAibmV3IGZpbGVzIHlvdXJzZWxmIChzZWUgJ2dpdCBoZWxwIHN0YXR1cycpLiIKLSN+IG1zZ3N0ciAiRGF0ZWllbiBzZWxic3RzdMOkbmRpZyBoaW56dXp1ZsO8Z2VuIChzaWVoZSAnZ2l0IGhlbHAgc3RhdHVzJykuIgotCi0jfiBtc2dpZCAiZ2l0IHNob3J0bG9nIFstbl0gWy1zXSBbLWVdIFstd10gW3Jldi1vcHRzXSBbLS1dIFs8Y29tbWl0LWlkPi4uLiBdIgotI34gbXNnc3RyICIiCi0jfiAiZ2l0IHNob3J0bG9nIFstbl0gWy1zXSBbLWVdIFstd10gW3Jldi1vcHRzXSBbLS1dICIKLSN+ICJbPFZlcnNpb25zaWRlbnRpZmlrYXRpb24+Li4uIF0iCi0KLSN+IG1zZ2lkICJTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gYSBzcGVjaWZpYyBjb21tYW5kLiIKLSN+IG1zZ3N0ciAiIgotI34gIlNpZWhlICdnaXQgaGVscCA8S29tbWFuZG8+JyBmw7xyIHdlaXRlcmUgSW5mb3JtYXRpb25lbiB6dSBlaW5lbSAiCi0jfiAic3BlemlmaXNjaGVuIEtvbW1hbmRvIgotCi0jfiBtc2dpZCAidXNlIGFueSByZWYgaW4gLmdpdC9yZWZzIgotI34gbXNnc3RyICJ2ZXJ3ZW5kZXQgYWxsZSBSZWZlcmVuemVuIGluIC5naXQvcmVmcyIKLQotI34gbXNnaWQgInVzZSBhbnkgdGFnIGluIC5naXQvcmVmcy90YWdzIgotI34gbXNnc3RyICJ2ZXJ3ZW5kZXQgYWxsZSBNYXJraWVydW5nZW4gaW4gLmdpdC9yZWZzL3RhZ3MiCi0KLSN+IG1zZ2lkICJiYWQgb2JqZWN0ICVzIgotI34gbXNnc3RyICJ1bmfDvGx0aWdlcyBPYmpla3QgJXMiCi0KLSN+IG1zZ2lkICJib2d1cyBjb21taXR0ZXIgaW5mbyAlcyIKLSN+IG1zZ3N0ciAidW5lY2h0ZSBFaW5yZWljaGVyLUluZm9ybWF0aW9uZW4gJXMiCi0KLSN+IG1zZ2lkICJjYW4ndCBmZG9wZW4gJ3Nob3cnIG91dHB1dCBmZCIKLSN+IG1zZ3N0ciAia29ubnRlIERhdGVpLURlc2tyaXB0b3IgZsO8ciBBdXNnYWJlIHZvbiAnc2hvdycgbmljaHQgw7ZmZm5lbiIKLQotI34gbXNnaWQgImZhaWxlZCB0byBjbG9zZSBwaXBlIHRvICdzaG93JyBmb3Igb2JqZWN0ICclcyciCi0jfiBtc2dzdHIgIiIKLSN+ICJTY2hsaWXDn2VuIGRlciBWZXJiaW5kdW5nIHp1ICdzaG93JyBpc3QgZsO8ciBPYmpla3QgJyVzJyBmZWhsZ2VzY2hsYWdlbi4iCi0KLSN+IG1zZ2lkICJZb3UgZG8gbm90IGhhdmUgYSB2YWxpZCBIRUFEIgotI34gbXNnc3RyICJTaWUgaGFiZW4ga2VpbmUgZ8O8bHRpZ2UgWndlaWdzcGl0emUgKEhFQUQpIgotCi0jfiBtc2dpZCAib29wcyIKLSN+IG1zZ3N0ciAiVXBzIgotCi0jfiBtc2dpZCAiV291bGQgbm90IHJlbW92ZSAlc1xuIgotI34gbXNnc3RyICJXw7xyZGUgJyVzJyBuaWNodCBsw7ZzY2hlblxuIgotCi0jfiBtc2dpZCAiTm90IHJlbW92aW5nICVzXG4iCi0jfiBtc2dzdHIgIkVudGZlcm5lIG5pY2h0ICVzXG4iCi0KLSN+IG1zZ2lkICJDb3VsZCBub3QgcmVhZCBpbmRleCIKLSN+IG1zZ3N0ciAiS29ubnRlIEJlcmVpdHN0ZWxsdW5nIG5pY2h0IGxlc2VuIgotCi0jfiBtc2dpZCAiIDAgZmlsZXMgY2hhbmdlZCIKLSN+IG1zZ3N0ciAiIDAgRGF0ZWllbiBnZcOkbmRlcnQiCi0KLSN+IG1zZ2lkICIgJWQgZmlsZSBjaGFuZ2VkIgotI34gbXNnaWRfcGx1cmFsICIgJWQgZmlsZXMgY2hhbmdlZCIKLSN+IG1zZ3N0clswXSAiICVkIERhdGVpIGdlw6RuZGVydCIKLSN+IG1zZ3N0clsxXSAiICVkIERhdGVpZW4gZ2XDpG5kZXJ0IgotCi0jfiBtc2dpZCAiLCAlZCBpbnNlcnRpb24oKykiCi0jfiBtc2dpZF9wbHVyYWwgIiwgJWQgaW5zZXJ0aW9ucygrKSIKLSN+IG1zZ3N0clswXSAiLCAlZCBaZWlsZSBoaW56dWdlZsO8Z3QoKykiCi0jfiBtc2dzdHJbMV0gIiwgJWQgWmVpbGVuIGhpbnp1Z2Vmw7xndCgrKSIKLQotI34gbXNnaWQgIiwgJWQgZGVsZXRpb24oLSkiCi0jfiBtc2dpZF9wbHVyYWwgIiwgJWQgZGVsZXRpb25zKC0pIgotI34gbXNnc3RyWzBdICIsICVkIFplaWxlIGVudGZlcm50KC0pIgotI34gbXNnc3RyWzFdICIsICVkIFplaWxlbiBlbnRmZXJudCgtKSIKLQotI34gbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC1kIHwgPGJyYW5jaD5dKSIKLSN+IG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8TmFtZT4gKC1hIHwgLWQgfCA8WndlaWc+XSkiCi0KLSN+IG1zZ2lkICIgKHVzZSBcImdpdCBhZGRcIiB0byB0cmFjaykiCi0jfiBtc2dzdHIgIiAoYmVudXR6ZSBcImdpdCBhZGRcIiB6dW0gQmVvYmFjaHRlbikiCi0KLSN+IG1zZ2lkICItLWRldGFjaCBjYW5ub3QgYmUgdXNlZCB3aXRoIC1iLy1CLy0tb3JwaGFuIgotI34gbXNnc3RyICItLWRldGFjaCBrYW5uIG5pY2h0IG1pdCAtYi8tQi8tLW9ycGhhbiBiZW51dHp0IHdlcmRlbiIKLQotI34gbXNnaWQgIi0tZGV0YWNoIGNhbm5vdCBiZSB1c2VkIHdpdGggLXQiCi0jfiBtc2dzdHIgIi0tZGV0YWNoIGthbm4gbmljaHQgbWl0IC10IGJlbnV0enQgd2VyZGVuIgotCi0jfiBtc2dpZCAiLS1vcnBoYW4gYW5kIC1ifC1CIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCi0jfiBtc2dzdHIgIi0tb3JwaGFuIHVuZCAtYnwtQiBzaW5kIGdlZ2Vuc2VpdGlnIGV4a2x1c2l2IgotCi0jfiBtc2dpZCAiLS1vcnBoYW4gY2Fubm90IGJlIHVzZWQgd2l0aCAtdCIKLSN+IG1zZ3N0ciAiLS1vcnBoYW4ga2FubiBuaWNodCBtaXQgLXQgYmVudXR6dCB3ZXJkZW4iCi0KLSN+IG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC1mIGFuZCAtbSBhcmUgaW5jb21wYXRpYmxlIgotI34gbXNnc3RyICJnaXQgY2hlY2tvdXQ6IC1mIHVuZCAtbSBzaW5kIGlua29tcGF0aWJlbCIKLQotI34gbXNnaWQgIiIKLSN+ICJnaXQgY2hlY2tvdXQ6IHVwZGF0aW5nIHBhdGhzIGlzIGluY29tcGF0aWJsZSB3aXRoIHN3aXRjaGluZyBicmFuY2hlcy4iCi0jfiBtc2dzdHIgIiIKLSN+ICJnaXQgY2hlY2tvdXQ6IERpZSBBa3R1YWxpc2llcnVuZyB2b24gUGZhZGVuIGlzdCBpbmtvbXBhdGliZWwgbWl0IGRlbSAiCi0jfiAiV2VjaHNlbCB2b24gWndlaWdlbi4iCi0KLSN+IG1zZ2lkICJkaWZmIHNldHVwIGZhaWxlZCIKLSN+IG1zZ3N0ciAiZGlmZl9zZXR1cF9kb25lIGZlaGxnZXNjaGxhZ2VuIgotCi0jfiBtc2dpZCAibWVyZ2UtcmVjdXJzaXZlOiBkaXNrIGZ1bGw/IgotI34gbXNnc3RyICJtZXJnZS1yZWN1cnNpdmU6IEZlc3RwbGF0dGUgdm9sbD8iCi0KLSN+IG1zZ2lkICJkaWZmX3NldHVwX2RvbmUgZmFpbGVkIgotI34gbXNnc3RyICJkaWZmX3NldHVwX2RvbmUgZmVobGdlc2NobGFnZW4iCi0KLSN+IG1zZ2lkICItZCBvcHRpb24gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gIERvIG5vdCB1c2UuIgotI34gbXNnc3RyICItZCBPcHRpb24gd2lyZCBuaWNodCBsw6RuZ2VyIHVudGVyc3TDvHR6dC4gTmljaHQgYmVudXR6ZW4uIgotCi0jfiBtc2dpZCAiJXM6IGhhcyBiZWVuIGRlbGV0ZWQvcmVuYW1lZCIKLSN+IG1zZ3N0ciAiJXMgd3VyZGUgZ2Vsw7ZzY2h0L3VtYmVuYW5udCIKLQotI34gbXNnaWQgIiclcyc6IG5vdCBhIGRvY3VtZW50YXRpb24gZGlyZWN0b3J5LiIKLSN+IG1zZ3N0ciAiJyVzJyBpc3Qga2VpbiBEb2t1bWVudGF0aW9uc3ZlcnplaWNobmlzIgotCi0jfiBtc2dpZCAiLS0iCi0jfiBtc2dzdHIgIi0tIgotCi0jfiBtc2dpZCAiQ291bGQgbm90IGV4dHJhY3QgZW1haWwgZnJvbSBjb21taXR0ZXIgaWRlbnRpdHkuIgotI34gbXNnc3RyICJLb25udGUgRS1NYWlsLUFkcmVzc2UgZGVzIEVpbnJlaWNoZXJzIG5pY2h0IGV4dHJhaGllcmVuLiIKLQotI34gbXNnaWQgImNoZXJyeS1waWNrIgotI34gbXNnc3RyICJjaGVycnktcGljayIKLQotI34gbXNnaWQgIiIKLSN+ICJUbyBwcmV2ZW50IHlvdSBmcm9tIGxvc2luZyBoaXN0b3J5LCBub24tZmFzdC1mb3J3YXJkIHVwZGF0ZXMgd2VyZSAiCi0jfiAicmVqZWN0ZWRcbiIKLSN+ICJNZXJnZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy4gJ2dpdCBwdWxsJykgYmVmb3JlIHB1c2hpbmcgYWdhaW4uICBTZWUgIgotI34gInRoZVxuIgotI34gIidOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIHNlY3Rpb24gb2YgJ2dpdCBwdXNoIC0taGVscCcgZm9yIGRldGFpbHMuXG4iCi0jfiBtc2dzdHIgIiIKLSN+ICJVbSBkaWNoIHZvciBWZXJsdXN0IHZvbiBIaXN0b3JpZSB6dSBiZXdhaHJlbiwgd3VyZGVuIG5pY2h0IHZvcnp1c3B1bGVuZGUgIgotI34gIkFrdHVhbGlzaWVydW5nZW4genVyw7xja2dld2llc2VuLlxuIgotI34gIkbDvGhyZSBkaWUgZXh0ZXJuZW4gw4RuZGVydW5nZW4genVzYW1tZW4gKHouQi4gJ2dpdCBwdWxsJykgYmV2b3IgZHUgZXJuZXV0ICIKLSN+ICJ2ZXJzZW5kZXN0LiBTaWVoZSBhdWNoIGRpZSAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBTZWt0aW9uIHZvbiBcbiIKLSN+ICInZ2l0IHB1c2ggLS1oZWxwJyBmw7xyIHdlaXRlcmUgRGV0YWlscy5cbiIKZGlmZiAtLWdpdCBhL3BvL2ZyLnBvIGIvcG8vZnIucG8KaW5kZXggYjE4ZDU3Zi4uYzA2ZmI0MCAxMDA2NDQKLS0tIGEvcG8vZnIucG8KKysrIGIvcG8vZnIucG8KQEAgLTEsNyArMSw3IEBACiAjIEZyZW5jaCB0cmFuc2xhdGlvbnMgZm9yIEdpdC4KICMgQ29weXJpZ2h0IChDKSAyMDE1IEplYW4tTm/Dq2wgQXZpbGEgPGpuLmF2aWxhQGZyZWUuZnI+CiAjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBHaXQgcGFja2FnZS4KLSMgSmVhbi1Ob8OrbCBBdmlsYSA8am4uYXZpbGFAZnJlZS5mcj4sIDIwMTUuCisjIEplYW4tTm/Dq2wgQXZpbGEgPGpuLmF2aWxhQGZyZWUuZnI+LCAyMDE2LgogIyBTw6liYXN0aWVuIEhlbGxldSA8Zmxhc2hjb2RlQGZsYXNodHV4Lm9yZz4sIDIwMTMuCiAjCiAjIEZyZW5jaCB0cmFuc2xhdGlvbnMgb2YgY29tbW9uIEdpdCB3b3JkcyB1c2VkIGluIHRoaXMgZmlsZToKQEAgLTczLDggKzczLDggQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTYtMDUtMjQgMjM6NDIrMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMDUtMjYgMjI6NDYrMDIwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE2LTExLTI1IDIyOjUwKzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE2LTExLTI1IDIyOjU1KzA4MDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEplYW4tTm/Dq2wgQXZpbGEgPGpuLmF2aWxhQGZyZWUuZnI+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogSmVhbi1Ob8OrbCBBdmlsYSA8am4uYXZpbGFAZnJlZS5mcj5cbiIKICJMYW5ndWFnZTogZnJcbiIKQEAgLTg4LDcgKzg4LDMyIEBACiBtc2dpZCAiaGludDogJS4qc1xuIgogbXNnc3RyICJhc3R1Y2U6ICUuKnNcbiIKIAotIzogYWR2aWNlLmM6ODgKKyM6IGFkdmljZS5jOjgzCittc2dpZCAiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHBpY29yZXIgY2FyIHZvdXMgYXZleiBkZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMuIgorCisjOiBhZHZpY2UuYzo4NQorbXNnaWQgIkNvbW1pdHRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHZhbGlkZXIgY2FyIHZvdXMgYXZleiBkZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMuIgorCisjOiBhZHZpY2UuYzo4NworbXNnaWQgIk1lcmdpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGZ1c2lvbm5lciBjYXIgdm91cyBhdmV6IGRlcyBmaWNoaWVycyBub24gZnVzaW9ubsOpcy4iCisKKyM6IGFkdmljZS5jOjg5Cittc2dpZCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIkltcG9zc2libGUgZGUgdGlyZXIgY2FyIHZvdXMgYXZleiBkZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMuIgorCisjOiBhZHZpY2UuYzo5MQorbXNnaWQgIlJldmVydGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIkltcG9zc2libGUgZCdhbm51bGVyIGNhciB2b3VzIGF2ZXogZGVzIGZpY2hpZXJzIG5vbiBmdXNpb25uw6lzLiIKKworIzogYWR2aWNlLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSXQgaXMgbm90IHBvc3NpYmxlIHRvICVzIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIlcyBuJ2VzdCBwYXMgcG9zc2libGUgY2FyIHZvdXMgYXZleiBkZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMuIgorCisjOiBhZHZpY2UuYzoxMDEKIG1zZ2lkICIiCiAiRml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSwgYW5kIHRoZW4gdXNlICdnaXQgYWRkL3JtIDxmaWxlPidcbiIKICJhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24gYW5kIG1ha2UgYSBjb21taXQuIgpAQCAtOTYsMTggKzEyMSw2ODggQEAKICJDb3JyaWdlei1sZXMgcHVpcyBsYW5jZXogJ2dpdCBhZGQvcm0gPGZpY2hpZXI+J1xuIgogInNpIG7DqWNlc3NhaXJlIHBvdXIgbWFycXVlciBsYSByw6lzb2x1dGlvbiBldCB2YWxpZGVyLiIKIAotIzogYWR2aWNlLmM6MTAxIGJ1aWx0aW4vbWVyZ2UuYzoxMjM4CisjOiBhZHZpY2UuYzoxMDkKK21zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCittc2dzdHIgIkFiYW5kb24gw6AgY2F1c2UgZGUgY29uZmxpdCBub24gcsOpc29sdS4iCisKKyM6IGFkdmljZS5jOjExNCBidWlsdGluL21lcmdlLmM6MTE4MQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiVm91cyBuJ2F2ZXogcGFzIHRlcm1pbsOpIHZvdHJlIGZ1c2lvbiAoTUVSR0VfSEVBRCBleGlzdGUpLiIKIAotIzogYWR2aWNlLmM6MTAzCisjOiBhZHZpY2UuYzoxMTYKIG1zZ2lkICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIG1lcmdpbmcuIgogbXNnc3RyICJWZXVpbGxleiB2YWxpZGVyIHZvcyBjaGFuZ2VtZW50cyBhdmFudCBkZSBmdXNpb25uZXIuIgogCi0jOiBhZHZpY2UuYzoxMDQKKyM6IGFkdmljZS5jOjExNwogbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiB1bmZpbmlzaGVkIG1lcmdlLiIKIG1zZ3N0ciAiQWJhbmRvbiDDoCBjYXVzZSBkJ3VuZSBmdXNpb24gbm9uIHRlcm1pbsOpZS4iCiAKKyM6IGFkdmljZS5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG4iCisiXG4iCisiWW91IGFyZSBpbiAnZGV0YWNoZWQgSEVBRCcgc3RhdGUuIFlvdSBjYW4gbG9vayBhcm91bmQsIG1ha2UgZXhwZXJpbWVudGFsXG4iCisiY2hhbmdlcyBhbmQgY29tbWl0IHRoZW0sIGFuZCB5b3UgY2FuIGRpc2NhcmQgYW55IGNvbW1pdHMgeW91IG1ha2UgaW4gdGhpc1xuIgorInN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBwZXJmb3JtaW5nIGFub3RoZXIgY2hlY2tvdXQuXG4iCisiXG4iCisiSWYgeW91IHdhbnQgdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCB0byByZXRhaW4gY29tbWl0cyB5b3UgY3JlYXRlLCB5b3UgbWF5XG4iCisiZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWIgd2l0aCB0aGUgY2hlY2tvdXQgY29tbWFuZCBhZ2Fpbi4gRXhhbXBsZTpcbiIKKyJcbiIKKyIgIGdpdCBjaGVja291dCAtYiA8bmV3LWJyYW5jaC1uYW1lPlxuIgorIlxuIgorbXNnc3RyICIiCisiTm90ZcKgOiBleHRyYWN0aW9uIGRlICclcycuXG4iCisiXG4iCisiVm91cyDDqnRlcyBkYW5zIGwnw6l0YXQgwqvCoEhFQUQgZMOpdGFjaMOpZcKgwrsuIFZvdXMgcG91dmV6IHZpc2l0ZXIsIGZhaXJlIGRlcyAiCisibW9kaWZpY2F0aW9uc1xuIgorImV4cMOpcmltZW50YWxlcyBldCBsZXMgdmFsaWRlci4gSWwgdm91cyBzdWZmaXQgZGUgZmFpcmUgdW5lIGF1dHJlIGV4dHJhY3Rpb24gIgorInBvdXJcbiIKKyJhYmFuZG9ubmVyIGxlcyBjb21taXRzIHF1ZSB2b3VzIGZhaXRlcyBkYW5zIGNldCDDqXRhdCBzYW5zIGltcGFjdGVyIGxlcyAiCisiYXV0cmVzIGJyYW5jaGVzXG4iCisiXG4iCisiU2kgdm91cyB2b3VsZXogY3LDqWVyIHVuZSBub3V2ZWxsZSBicmFuY2hlIHBvdXIgY29uc2VydmVyIGxlcyBjb21taXRzIHF1ZSAiCisidm91cyBjcsOpZXosXG4iCisiaWwgdm91cyBzdWZmaXQgZCd1dGlsaXNlciDCq8KgY2hlY2tvdXQgLWLCoMK7IChtYWludGVuYW50IG91IHBsdXMgdGFyZCkgY29tbWUgIgorImNlY2nCoDpcbiIKKyJcbiIKKyIgIGdpdCBjaGVja291dCAtYiA8bm9tLWRlLWxhLW5vdXZlbGxlLWJyYW5jaGU+XG4iCisiXG4iCisKKyM6IGFwcGx5LmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCittc2dzdHIgIm9wdGlvbiBkJ2VzcGFjZSBub24gcmVjb25udWUgJyVzJyIKKworIzogYXBwbHkuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCittc2dzdHIgIm9wdGlvbiBkJ2lnbm9yYW5jZSBkJ2VzcGFjZSBub24gcmVjb25udWUgJyVzJyIKKworIzogYXBwbHkuYzoxMjUKK21zZ2lkICItLXJlamVjdCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKK21zZ3N0ciAiLS1yZWplY3QgZXQgLS0zd2F5IG5lIHBldXZlbnQgcGFzIMOqdHJlIHV0aWxpc8OpcyBlbnNlbWJsZS4iCisKKyM6IGFwcGx5LmM6MTI3Cittc2dpZCAiLS1jYWNoZWQgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCittc2dzdHIgIi0tY2FjaGVkIGV0IC0tM3dheSBuZSBwZXV2ZW50IHBhcyDDqnRyZSB1dGlsaXPDqXMgZW5zZW1ibGUuIgorCisjOiBhcHBseS5jOjEzMAorbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKK21zZ3N0ciAiLS0zd2F5IGhvcnMgZCd1biBkw6lww7R0IgorCisjOiBhcHBseS5jOjE0MQorbXNnaWQgIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiCittc2dzdHIgIi0taW5kZXggaG9ycyBkJ3VuIGTDqXDDtHQiCisKKyM6IGFwcGx5LmM6MTQ0Cittc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCittc2dzdHIgIi0tY2FjaGVkIGhvcnMgZCd1biBkw6lww7R0IgorCisjOiBhcHBseS5jOjg0NQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHByw6lwYXJlciBsYSByZWdleHAgZCdob3JvZGF0YWdlICVzIgorCisjOiBhcHBseS5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCittc2dzdHIgInJlZ2V4ZWMgYSByZXRvdXJuw6kgJWQgcG91ciBsJ2VudHLDqWUgOiAlcyIKKworIzogYXBwbHkuYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKK21zZ3N0ciAibm9tIGRlIGZpY2hpZXIgZHUgcGF0Y2ggaW50cm91dmFibGUgw6AgbGEgbGlnbmUgJWQiCisKKyM6IGFwcGx5LmM6OTc3CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIKK21zZ3N0ciAiIgorImdpdCBhcHBseSA6IG1hdXZhaXMgZm9ybWF0IGRlIGdpdC1kaWZmIC0gL2Rldi9udWxsIGF0dGVuZHUsICVzIHRyb3V2w6kgw6AgbGEgIgorImxpZ25lICVkIgorCisjOiBhcHBseS5jOjk4MworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKK21zZ3N0ciAiIgorImdpdCBhcHBseSA6IG1hdXZhaXMgZm9ybWF0IGRlIGdpdC1kaWZmIC0gbm91dmVhdSBub20gZGUgZmljaGllciBpbmNvbnNpc3RhbnQgIgorIsOgIGxhIGxpZ25lICVkIgorCisjOiBhcHBseS5jOjk4NAorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBvbGQgZmlsZW5hbWUgb24gbGluZSAlZCIKK21zZ3N0ciAiIgorImdpdCBhcHBseSA6IG1hdXZhaXMgZm9ybWF0IGRlIGdpdC1kaWZmIC0gYW5jaWVuIG5vbSBkZSBmaWNoaWVyIGluY29uc2lzdGFudCAiCisiw6AgbGEgbGlnbmUgJWQiCisKKyM6IGFwcGx5LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCittc2dzdHIgIiIKKyJnaXQgYXBwbHkgOiBtYXV2YWlzIGZvcm1hdCBkZSBnaXQtZGlmZiAtIC9kZXYvbnVsbCBhdHRlbmR1IMOgIGxhIGxpZ25lICVkIgorCisjOiBhcHBseS5jOjE0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgorbXNnc3RyICJyZWNvbXB0YWdlIDogbGlnbmUgaW5hdHRlbmR1ZSA6ICUuKnMiCisKKyM6IGFwcGx5LmM6MTU1NworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgorbXNnc3RyICJmcmFnbWVudCBkZSBwYXRjaCBzYW5zIGVuLXTDqnRlIMOgIGxhIGxpZ25lICVkIDogJS4qcyIKKworIzogYXBwbHkuYzoxNTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKKyJjb21wb25lbnQgKGxpbmUgJWQpIgorbXNnaWRfcGx1cmFsICIiCisiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCisiY29tcG9uZW50cyAobGluZSAlZCkiCittc2dzdHJbMF0gIiIKKyJpbmZvcm1hdGlvbiBkZSBub20gZGUgZmljaGllciBtYW5xdWFudGUgZGFucyBsJ2VuLXTDqnRlIGRlIGdpdCBkaWZmIGxvcnMgZGUgIgorImxhIHN1cHByZXNzaW9uIGRlICVkIGNvbXBvc2FudCBkZSBwcsOpZml4ZSBkZSBjaGVtaW4gKGxpZ25lICVkKSIKK21zZ3N0clsxXSAiIgorImluZm9ybWF0aW9uIGRlIG5vbSBkZSBmaWNoaWVyIG1hbnF1YW50ZSBkYW5zIGwnZW4tdMOqdGUgZGUgZ2l0IGRpZmYgbG9ycyBkZSAiCisibGEgc3VwcHJlc3Npb24gZGUgJWQgY29tcG9zYW50cyBkZSBwcsOpZml4ZSBkZSBjaGVtaW4gKGxpZ25lICVkKSIKKworIzogYXBwbHkuYzoxNTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCittc2dzdHIgIiIKKyJpbmZvcm1hdGlvbiBkZSBub20gZGUgZmljaGllciBtYW5xdWFudGUgZGFucyBsJ2VuLXTDqnRlIGRlIGdpdCBkaWZmIChsaWduZSAlZCkiCisKKyM6IGFwcGx5LmM6MTc1OQorbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgorbXNnc3RyICJsZSBub3V2ZWF1IGZpY2hpZXIgZMOpcGVuZCBkZSBjb250ZW51cyBhbmNpZW5zIgorCisjOiBhcHBseS5jOjE3NjEKK21zZ2lkICJkZWxldGVkIGZpbGUgc3RpbGwgaGFzIGNvbnRlbnRzIgorbXNnc3RyICJsZSBmaWNoaWVyIHN1cHByaW3DqSBhIGVuY29yZSBkdSBjb250ZW51IgorCisjOiBhcHBseS5jOjE3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICJwYXRjaCBjb3Jyb21wdSDDoCBsYSBsaWduZSAlZCIKKworIzogYXBwbHkuYzoxODMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgorbXNnc3RyICJsZSBub3V2ZWF1IGZpY2hpZXIgJXMgZMOpcGVuZCBkZSBjb250ZW51cyBhbmNpZW5zIgorCisjOiBhcHBseS5jOjE4MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVsZXRlZCBmaWxlICVzIHN0aWxsIGhhcyBjb250ZW50cyIKK21zZ3N0ciAibGUgZmljaGllciBzdXBwcmltw6kgJXMgYSBlbmNvcmUgZHUgY29udGVudSIKKworIzogYXBwbHkuYzoxODM3CisjLCBjLWZvcm1hdAorbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCittc2dzdHIgIioqIGF0dGVudGlvbiA6IGxlIGZpY2hpZXIgJXMgZGV2aWVudCB2aWRlIG1haXMgbidlc3QgcGFzIHN1cHByaW3DqSIKKworIzogYXBwbHkuYzoxOTg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgInBhdGNoIGJpbmFpcmUgY29ycm9tcHUgw6AgbGEgbGlnbmUgJWQgOiAlLipzIgorCisjOiBhcHBseS5jOjIwMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICJwYXRjaCBiaW5haXJlIG5vbiByZWNvbm51IMOgIGxhIGxpZ25lICVkIgorCisjOiBhcHBseS5jOjIxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggd2l0aCBvbmx5IGdhcmJhZ2UgYXQgbGluZSAlZCIKK21zZ3N0ciAicGF0Y2ggdG90YWxlbWVudCBpbmNvbXByw6loZW5zaWJsZSDDoCBsYSBsaWduZSAlZCIKKworIzogYXBwbHkuYzoyMjc0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWFkIHN5bWxpbmsgJXMiCittc2dzdHIgImxlY3R1cmUgZHUgbGllbiBzeW1ib2xpcXVlICVzIGltcG9zc2libGUiCisKKyM6IGFwcGx5LmM6MjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIgorbXNnc3RyICJvdXZlcnR1cmUgb3UgbGVjdHVyZSBkZSAlcyBpbXBvc3NpYmxlIgorCisjOiBhcHBseS5jOjI5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgorbXNnc3RyICJkw6lidXQgZGUgbGlnbmUgaW52YWxpZGUgOiAnJWMnIgorCisjOiBhcHBseS5jOjMwNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgorbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgorbXNnc3RyWzBdICJMYSBzZWN0aW9uIG7CsCVkIGEgcsOpdXNzaSDDoCBsYSBsaWduZSAlZCAob2Zmc2V0ICVkIGxpZ25lKS4iCittc2dzdHJbMV0gIkxhIHNlY3Rpb24gbsKwJWQgYSByw6l1c3NpIMOgIGxhIGxpZ25lICVkIChvZmZzZXQgJWQgbGlnbmVzKS4iCisKKyM6IGFwcGx5LmM6MzA2MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgorbXNnc3RyICJDb250ZXh0ZSByw6lkdWl0IMOgICglbGQvJWxkKSBwb3VyIGFwcGxpcXVlciBsZSBmcmFnbWVudCDDoCBsYSBsaWduZSAlZCIKKworIzogYXBwbHkuYzozMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgorIiUuKnMiCittc2dzdHIgIiIKKyJwZW5kYW50IGxhIHJlY2hlcmNoZSBkZSA6XG4iCisiJS4qcyIKKworIzogYXBwbHkuYzozMDkwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgYmluYXJ5IHBhdGNoIGRhdGEgZm9yICclcyciCittc2dzdHIgImRvbm7DqWVzIGRlIHBhdGNoIGJpbmFpcmUgbWFucXVhbnRlcyBwb3VyICclcyciCisKKyM6IGFwcGx5LmM6MzA5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmV2ZXJzZS1hcHBseSBhIGJpbmFyeSBwYXRjaCB3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIKK21zZ3N0ciAiIgorImltcG9zc2libGUgZCdhcHBsaXF1ZXIgbCdpbnZlcnNlIGQndW4gcGF0Y2ggYmluYWlyZSDDoCAnJXMnIHNhbnMgbGEgc2VjdGlvbiAiCisiaW52ZXJzZSIKKworIzogYXBwbHkuYzozMTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhcHBseSBiaW5hcnkgcGF0Y2ggdG8gJyVzJyB3aXRob3V0IGZ1bGwgaW5kZXggbGluZSIKK21zZ3N0ciAiIgorImltcG9zc2libGUgZCdhcHBsaXF1ZXIgdW4gcGF0Y2ggYmluYWlyZSDDoCAnJXMnIHNhbnMgbGEgbGlnbmUgY29tcGzDqHRlIGQnaW5kZXgiCisKKyM6IGFwcGx5LmM6MzE1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIHBhdGNoIGFwcGxpZXMgdG8gJyVzJyAoJXMpLCB3aGljaCBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudCBjb250ZW50cy4iCittc2dzdHIgIiIKKyJsZSBwYXRjaCBzJ2FwcGxpcXVlIMOgICclcycgKCVzKSwgY2UgcXVpIG5lIGNvcnJlc3BvbmQgcGFzIGF1IGNvbnRlbnUgYWN0dWVsLiIKKworIzogYXBwbHkuYzozMTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwYXRjaCBhcHBsaWVzIHRvIGFuIGVtcHR5ICclcycgYnV0IGl0IGlzIG5vdCBlbXB0eSIKK21zZ3N0ciAibGUgcGF0Y2ggcydhcHBsaXF1ZSDDoCB1biAnJXMnIHZpZGUgbWFpcyBjZSBuJ2VzdCBwYXMgdmlkZSIKKworIzogYXBwbHkuYzozMTgwCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBuZWNlc3NhcnkgcG9zdGltYWdlICVzIGZvciAnJXMnIGNhbm5vdCBiZSByZWFkIgorbXNnc3RyICJsJ2ltYWdlIHBvc3TDqXJpZXVyZSBuw6ljZXNzYWlyZSAlcyBwb3VyICclcycgbmUgcGV1dCBwYXMgw6p0cmUgbHVlIgorCisjOiBhcHBseS5jOjMxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciCittc2dzdHIgImxlIHBhdGNoIGJpbmFpcmUgbmUgcydhcHBsaXF1ZSBwYXIgY29ycmVjdGVtZW50IMOgICclcyciCisKKyM6IGFwcGx5LmM6MzE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKK21zZ3N0ciAiIgorImxlIHBhdGNoIGJpbmFpcmUgc3VyICclcycgY3LDqWUgdW4gcsOpc3VsdGF0IGluY29ycmVjdCAoJXMgYXR0ZW5kdSwgbWFpcyAlcyAiCisidHJvdXbDqSkiCisKKyM6IGFwcGx5LmM6MzIyMAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKK21zZ3N0ciAibGUgcGF0Y2ggYSDDqWNob3XDqSA6ICVzOiVsZCIKKworIzogYXBwbHkuYzozMzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKK21zZ3N0ciAiZXh0cmFjdGlvbiBkZSAlcyBpbXBvc3NpYmxlIgorCisjOiBhcHBseS5jOjMzOTAgYXBwbHkuYzozNDAxIGFwcGx5LmM6MzQ0NyBzZXR1cC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGxlY3R1cmUgZGUgJXMiCisKKyM6IGFwcGx5LmM6MzM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICJsZWN0dXJlIGRlcHVpcyAnJXMnIGF1LWRlbMOgIGQndW4gbGllbiBzeW1ib2xpcXVlIgorCisjOiBhcHBseS5jOjM0MjcgYXBwbHkuYzozNjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIgorbXNnc3RyICJsZSBjaGVtaW4gJXMgYSDDqXTDqSByZW5vbW3DqS9zdXBwcmltw6kiCisKKyM6IGFwcGx5LmM6MzUxMCBhcHBseS5jOjM2ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgorbXNnc3RyICIlcyA6IG4nZXhpc3RlIHBhcyBkYW5zIGwnaW5kZXgiCisKKyM6IGFwcGx5LmM6MzUxOSBhcHBseS5jOjM2ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgorbXNnc3RyICIlcyA6IG5lIGNvcnJlc3BvbmQgcGFzIMOgIGwnaW5kZXgiCisKKyM6IGFwcGx5LmM6MzU1NAorbXNnaWQgInJlcG9zaXRvcnkgbGFja3MgdGhlIG5lY2Vzc2FyeSBibG9iIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCittc2dzdHIgIiIKKyJsZSBkw6lww7R0IG4nYSBwYXMgbGVzIGJsb2JzIG7DqWNlc3NhaXJlcyBwb3VyIHVuIHJldG91ciDDoCB1bmUgZnVzaW9uIMOgIDMgIgorInBvaW50cy4iCisKKyM6IGFwcGx5LmM6MzU1NworIywgYy1mb3JtYXQKK21zZ2lkICJGYWxsaW5nIGJhY2sgdG8gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCittc2dzdHIgIlJldG91ciDDoCB1bmUgZnVzaW9uIMOgIDMgcG9pbnRz4oCmXG4iCisKKyM6IGFwcGx5LmM6MzU3MyBhcHBseS5jOjM1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlIGNvbnRlbnUgYWN0dWVsIGRlICclcyciCisKKyM6IGFwcGx5LmM6MzU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gZmFsbCBiYWNrIG9uIHRocmVlLXdheSBtZXJnZS4uLlxuIgorbXNnc3RyICJFY2hlYyBkdSByZXRvdXIgw6AgdW5lIGZ1c2lvbiDDoCAzIHBvaW50c+KAplxuIgorCisjOiBhcHBseS5jOjM2MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIHdpdGggY29uZmxpY3RzLlxuIgorbXNnc3RyICJQYXRjaCAlcyBhcHBsaXF1w6kgYXZlYyBkZXMgY29uZmxpdHMuXG4iCisKKyM6IGFwcGx5LmM6MzYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgY2xlYW5seS5cbiIKK21zZ3N0ciAiUGF0Y2ggJXMgYXBwbGlxdcOpIHByb3ByZW1lbnQuXG4iCisKKyM6IGFwcGx5LmM6MzYzNAorbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCittc2dzdHIgImxlIHBhdGNoIGRlIHN1cHByZXNzaW9uIGxhaXNzZSB1biBjb250ZW51IGRhbnMgbGUgZmljaGllciIKKworIzogYXBwbHkuYzozNzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgorbXNnc3RyICIlcyA6IHR5cGUgZXJyb27DqSIKKworIzogYXBwbHkuYzozNzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyB0eXBlICVvLCBleHBlY3RlZCAlbyIKK21zZ3N0ciAiJXMgZXN0IGRlIHR5cGUgJW8sIG1haXMgJW8gYXR0ZW5kdSIKKworIzogYXBwbHkuYzozODU5IGFwcGx5LmM6Mzg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKK21zZ3N0ciAiY2hlbWluIGludmFsaWRlICclcyciCisKKyM6IGFwcGx5LmM6MzkxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgiCittc2dzdHIgIiVzIDogZXhpc3RlIGTDqWrDoCBkYW5zIGwnaW5kZXgiCisKKyM6IGFwcGx5LmM6MzkyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiVzIDogZXhpc3RlIGTDqWrDoCBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwiCisKKyM6IGFwcGx5LmM6Mzk0MAorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykiCittc2dzdHIgImxlIG5vdXZlYXUgbW9kZSAoJW8pIGRlICVzIG5lIGNvcnJlc3BvbmQgcGFzIMOgIGwnYW5jaWVuIG1vZGUgKCVvKSIKKworIzogYXBwbHkuYzozOTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKK21zZ3N0ciAiIgorImxlIG5vdXZlYXUgbW9kZSAoJW8pIGRlICVzIG5lIGNvcnJlc3BvbmQgcGFzIMOgIGwnYW5jaWVuIG1vZGUgKCVvKSBkZSAlcyIKKworIzogYXBwbHkuYzozOTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImFmZmVjdGVkIGZpbGUgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICJsZSBmaWNoaWVyIGFmZmVjdMOpICclcycgZXN0IGF1LWRlbMOgIGQndW4gbGllbiBzeW1ib2xpcXVlIgorCisjOiBhcHBseS5jOjM5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICIlcyA6IGxlIHBhdGNoIG5lIHMnYXBwbGlxdWUgcGFzIgorCisjOiBhcHBseS5jOjM5ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCittc2dzdHIgIlbDqXJpZmljYXRpb24gZHUgcGF0Y2ggJXMuLi4iCisKKyM6IGFwcGx5LmM6NDA3NQorIywgYy1mb3JtYXQKK21zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyBmb3Igc3VibW9kdWxlICVzIgorbXNnc3RyICIiCisibCdpbmZvcm1hdGlvbiBzaGExIGVzdCBtYW5xdWFudGUgb3UgaW51dGlsaXNhYmxlIHBvdXIgbGUgc291cy1tb2R1bGUgJXMiCisKKyM6IGFwcGx5LmM6NDA4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlIGNoYW5nZSBmb3IgJXMsIHdoaWNoIGlzIG5vdCBpbiBjdXJyZW50IEhFQUQiCittc2dzdHIgImxlIG1vZGUgY2hhbmdlIHBvdXIgJXMsIHF1aSBuJ2VzdCBwYXMgZGFucyBsYSBIRUFEIGFjdHVlbGxlIgorCisjOiBhcHBseS5jOjQwODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgKCVzKS4iCittc2dzdHIgImwnaW5mb3JtYXRpb24gZGUgc2hhMSBlc3QgbWFucXVhbnRlIG91IGludXRpbGlzYWJsZSAoJXMpLiIKKworIzogYXBwbHkuYzo0MDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzMgYnVpbHRpbi9yZXNldC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgorbXNnc3RyICLDqWNoZWMgZGUgbWFrZV9jYWNoZV9lbnRyeSBwb3VyIGxlIGNoZW1pbiAnJXMnIgorCisjOiBhcHBseS5jOjQwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGFkZCAlcyB0byB0ZW1wb3JhcnkgaW5kZXgiCittc2dzdHIgImltcG9zc2libGUgZCdham91dGVyICVzIMOgIGwnaW5kZXggdGVtcG9yYWlyZSIKKworIzogYXBwbHkuYzo0MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggdG8gJXMiCittc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGwnaW5kZXggdGVtcG9yYWlyZSBkYW5zICVzIgorCisjOiBhcHBseS5jOjQyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgorbXNnc3RyICJzdXBwcmVzc2lvbiBkZSAlcyBkYW5zIGwnaW5kZXggaW1wb3NzaWJsZSIKKworIzogYXBwbHkuYzo0Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKK21zZ3N0ciAicGF0Y2ggY29ycm9tcHUgcG91ciBsZSBzb3VzLW1vZHVsZSAlcyIKKworIzogYXBwbHkuYzo0MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBzdGF0IG5ld2x5IGNyZWF0ZWQgZmlsZSAnJXMnIgorbXNnc3RyICJzdGF0IGR1IGZpY2hpZXIgbm91dmVsbGVtZW50IGNyw6nDqSAnJXMnIGltcG9zc2libGUiCisKKyM6IGFwcGx5LmM6NDI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGJhY2tpbmcgc3RvcmUgZm9yIG5ld2x5IGNyZWF0ZWQgZmlsZSAlcyIKK21zZ3N0ciAiIgorImNyw6lhdGlvbiBkdSBtYWdhc2luIGRlIHN0b2NrYWdlIHBvdXIgbGUgZmljaGllciBub3V2ZWxsZW1lbnQgY3LDqcOpICVzICIKKyJpbXBvc3NpYmxlIgorCisjOiBhcHBseS5jOjQyOTcgYXBwbHkuYzo0NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhZGQgY2FjaGUgZW50cnkgZm9yICVzIgorbXNnc3RyICJham91dCBkZSBsJ8OpbMOpbWVudCBkZSBjYWNoZSAlcyBpbXBvc3NpYmxlIgorCisjOiBhcHBseS5jOjQzMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIHRvICclcyciCittc2dzdHIgIsOpY2hlYyBkZSBsJ8OpY3JpdHVyZSBkYW5zICclcyciCisKKyM6IGFwcGx5LmM6NDM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKK21zZ3N0ciAiZmVybWV0dXJlIGR1IGZpY2hpZXIgJyVzJyIKKworIzogYXBwbHkuYzo0NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKK21zZ3N0ciAiw6ljcml0dXJlIGR1IGZpY2hpZXIgJyVzJyBtb2RlICVvIGltcG9zc2libGUiCisKKyM6IGFwcGx5LmM6NDUxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgorbXNnc3RyICJQYXRjaCAlcyBhcHBsaXF1w6kgcHJvcHJlbWVudC4iCisKKyM6IGFwcGx5LmM6NDUxOAorbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICJlcnJldXIgaW50ZXJuZSIKKworIzogYXBwbHkuYzo0NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKK21zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKK21zZ3N0clswXSAiQXBwbGljYXRpb24gZHUgcGF0Y2ggJSVzIGF2ZWMgJWQgcmVqZXQuLi4iCittc2dzdHJbMV0gIkFwcGxpY2F0aW9uIGR1IHBhdGNoICUlcyBhdmVjICVkIHJlamV0cy4uLiIKKworIzogYXBwbHkuYzo0NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKK21zZ3N0ciAidHJvbmNhdHVyZSBkdSBub20gZGUgZmljaGllciAucmVqIGVuICUuKnMucmVqIgorCisjOiBhcHBseS5jOjQ1NDAgYnVpbHRpbi9mZXRjaC5jOjc0MCBidWlsdGluL2ZldGNoLmM6OTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICVzIgorCisjOiBhcHBseS5jOjQ1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKK21zZ3N0ciAiU2VjdGlvbiBuwrAlZCBhcHBsaXF1w6llIHByb3ByZW1lbnQuIgorCisjOiBhcHBseS5jOjQ1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgorbXNnc3RyICJTZWN0aW9uIG7CsCVkIHJlamV0w6llLiIKKworIzogYXBwbHkuYzo0NjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCittc2dzdHIgIkNoZW1pbiAnJXMnIG5vbiB0cmFpdMOpLiIKKworIzogYXBwbHkuYzo0Njc2Cittc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgorbXNnc3RyICJlbnRyw6llIG5vbiByZWNvbm51ZSIKKworIzogYXBwbHkuYzo0Njk1Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKK21zZ3N0ciAibGVjdHVyZSBkdSBmaWNoaWVyIGQnaW5kZXggaW1wb3NzaWJsZSIKKworIzogYXBwbHkuYzo0ODMzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCittc2dzdHIgIm91dmVydHVyZSBpbXBvc3NpYmxlIGR1IHBhdGNoICclcyfCoDolcyIKKworIzogYXBwbHkuYzo0ODU4CisjLCBjLWZvcm1hdAorbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgorbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHJbMF0gIiVkIGVycmV1ciBkJ2VzcGFjZSBpZ25vcsOpZSIKK21zZ3N0clsxXSAiJWQgZXJyZXVycyBkJ2VzcGFjZSBpZ25vcsOpZXMiCisKKyM6IGFwcGx5LmM6NDg2NCBhcHBseS5jOjQ4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgbGluZSBhZGRzIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYWRkIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ3N0clswXSAiJWQgbGlnbmUgYSBham91dMOpIGRlcyBlcnJldXJzIGQnZXNwYWNlLiIKK21zZ3N0clsxXSAiJWQgbGlnbmVzIG9udCBham91dMOpIGRlcyBlcnJldXJzIGQnZXNwYWNlLiIKKworIzogYXBwbHkuYzo0ODcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGxpbmUgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dzdHJbMF0gIiVkIGxpZ25lIGFqb3V0w6llIGFwcsOocyBjb3JyZWN0aW9uIGRlcyBlcnJldXJzIGQnZXNwYWNlLiIKK21zZ3N0clsxXSAiJWQgbGlnbmVzIGFqb3V0w6llcyBhcHLDqHMgY29ycmVjdGlvbiBkZXMgZXJyZXVycyBkJ2VzcGFjZS4iCisKKyM6IGFwcGx5LmM6NDg4OCBidWlsdGluL2FkZC5jOjQ2MyBidWlsdGluL212LmM6Mjg2IGJ1aWx0aW4vcm0uYzo0MzEKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCittc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIGxlIG5vdXZlYXUgZmljaGllciBkJ2luZGV4IgorCisjOiBhcHBseS5jOjQ5MTkgYXBwbHkuYzo0OTIyIGJ1aWx0aW4vYW0uYzoyMjc3IGJ1aWx0aW4vYW0uYzoyMjgwCisjOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9mZXRjaC5jOjk4IGJ1aWx0aW4vcHVsbC5jOjE4MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTg5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0NworbXNnaWQgInBhdGgiCittc2dzdHIgImNoZW1pbiIKKworIzogYXBwbHkuYzo0OTIwCittc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKK21zZ3N0ciAibmUgcGFzIGFwcGxpcXVlciBsZXMgbW9kaWZpY2F0aW9ucyBxdWkgY29ycmVzcG9uZGVudCBhdSBjaGVtaW4gZG9ubsOpIgorCisjOiBhcHBseS5jOjQ5MjMKK21zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgorbXNnc3RyICJhcHBsaXF1ZXIgbGVzIG1vZGlmaWNhdGlvbnMgcXVpIGNvcnJlc3BvbmRlbnQgYXUgY2hlbWluIGRvbm7DqSIKKworIzogYXBwbHkuYzo0OTI1IGJ1aWx0aW4vYW0uYzoyMjg2Cittc2dpZCAibnVtIgorbXNnc3RyICJudW0iCisKKyM6IGFwcGx5LmM6NDkyNgorbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgorbXNnc3RyICJzdXBwcmltZXIgPG51bT4gYmFycmVzIG9ibGlxdWVzIGRlcyBjaGVtaW5zIHRyYWRpdGlvbm5lbHMgZGUgZGlmZiIKKworIzogYXBwbHkuYzo0OTI5Cittc2dpZCAiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIKK21zZ3N0ciAiaWdub3JlciBsZXMgYWRkaXRpb25zIHLDqWFsaXPDqWVzIHBhciBsZSBwYXRjaCIKKworIzogYXBwbHkuYzo0OTMxCittc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBkaWZmc3RhdCBmb3IgdGhlIGlucHV0IgorbXNnc3RyICJhdSBsaWV1IGQnYXBwbGlxdWVyIGxlIHBhdGNoLCBhZmZpY2hlciBsZSBkaWZmc3RhdCBkZSBsJ2VudHLDqWUiCisKKyM6IGFwcGx5LmM6NDkzNQorbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCittc2dzdHIgIiIKKyJhZmZpY2hlciBsZSBub21icmUgZGUgbGlnbmVzIGFqb3V0w6llcyBldCBzdXBwcmltw6llcyBlbiBub3RhdGlvbiBkw6ljaW1hbGUiCisKKyM6IGFwcGx5LmM6NDkzNworbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCittc2dzdHIgImF1IGxpZXUgZCdhcHBsaXF1ZXIgbGUgcGF0Y2gsIGFmZmljaGVyIHVuIHLDqXN1bWVyIGRlIGwnZW50csOpZSIKKworIzogYXBwbHkuYzo0OTM5Cittc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKK21zZ3N0ciAiYXUgbGlldSBkJ2FwcGxpcXVlciBsZSBwYXRjaCwgdm9pciBzaSBsZSBwYXRjaCBlc3QgYXBwbGljYWJsZSIKKworIzogYXBwbHkuYzo0OTQxCittc2dpZCAibWFrZSBzdXJlIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBjdXJyZW50IGluZGV4IgorbXNnc3RyICJzJ2Fzc3VyZXIgcXVlIGxlIHBhdGNoIGVzdCBhcHBsaWNhYmxlIHN1ciBsJ2luZGV4IGFjdHVlbCIKKworIzogYXBwbHkuYzo0OTQzCittc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgImFwcGxpcXVlciBsZXMgcGF0Y2ggc2FucyB0b3VjaGVyIMOgIGxhIGNvcGllIGRlIHRyYXZhaWwiCisKKyM6IGFwcGx5LmM6NDk0NQorbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCittc2dzdHIgImFjY2VwdGVyIHVuIHBhdGNoIHF1aSB0b3VjaGUgaG9ycyBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIgorCisjOiBhcHBseS5jOjQ5NDcKK21zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKK21zZ3N0ciAiYXBwbGlxdWVyIGF1c3NpIGxlIHBhdGNoICjDoCB1dGlsaXNlciBhdmVjIC0tLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgorCisjOiBhcHBseS5jOjQ5NDkKK21zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICJ0ZW50ZXIgdW5lIGZ1c2lvbiDDoCAzIHBvaW50cyBzaSBsZSBwYXRjaCBuZSBzJ2FwcGxpcXVlIHBhcyBwcm9wcmVtZW50IgorCisjOiBhcHBseS5jOjQ5NTEKK21zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiIgorImNvbnN0cnVpcmUgdW4gaW5kZXggdGVtcG9yYWlyZSBmb25kw6kgc3VyIGwnaW5mb3JtYXRpb24gZGUgbCdpbmRleCBlbWJhcnF1w6kiCisKKyM6IGFwcGx5LmM6NDk1NCBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDUKK21zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKK21zZ3N0ciAibGVzIGNoZW1pbnMgc29udCBzw6lwYXLDqXMgcGFyIHVuIGNhcmFjdMOocmUgTlVMIgorCisjOiBhcHBseS5jOjQ5NTYKK21zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCittc2dzdHIgInMnYXNzdXJlciBkJ2F1IG1vaW5zIDxuPiBsaWduZXMgZGUgY29ycmVzcG9uZGFuY2UgZGUgY29udGV4dGUiCisKKyM6IGFwcGx5LmM6NDk1NyBidWlsdGluL2FtLmM6MjI2NQorbXNnaWQgImFjdGlvbiIKK21zZ3N0ciAiYWN0aW9uIgorCisjOiBhcHBseS5jOjQ5NTgKK21zZ2lkICJkZXRlY3QgbmV3IG9yIG1vZGlmaWVkIGxpbmVzIHRoYXQgaGF2ZSB3aGl0ZXNwYWNlIGVycm9ycyIKK21zZ3N0ciAiIgorImTDqXRlY3RlciBkZXMgbGlnbmVzIG5vdXZlbGxlcyBvdSBtb2RpZmnDqWVzIHF1aSBjb250aWVubmVudCBkZXMgZXJyZXVycyAiCisiZCdlc3BhY2UiCisKKyM6IGFwcGx5LmM6NDk2MSBhcHBseS5jOjQ5NjQKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgorbXNnc3RyICJpZ25vcmVyIGRlcyBtb2RpZmljYXRpb25zIGQnZXNwYWNlIGxvcnMgZGUgbGEgcmVjaGVyY2hlIGRlIGNvbnRleHRlIgorCisjOiBhcHBseS5jOjQ5NjcKK21zZ2lkICJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIKK21zZ3N0ciAiYXBwbGlxdWVyIGxlIHBhdGNoIGVuIHNlbnMgaW52ZXJzZSIKKworIzogYXBwbHkuYzo0OTY5Cittc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCittc2dzdHIgIm5lIHBhcyBzJ2F0dGVuZHJlIMOgIGF1IG1vaW5zIHVuZSBsaWduZSBkZSBjb250ZXh0ZSIKKworIzogYXBwbHkuYzo0OTcxCittc2dpZCAibGVhdmUgdGhlIHJlamVjdGVkIGh1bmtzIGluIGNvcnJlc3BvbmRpbmcgKi5yZWogZmlsZXMiCittc2dzdHIgImxhaXNzZXIgbGVzIHNlY3Rpb25zIHJlamV0w6llcyBkYW5zIGxlcyBmaWNoaWVycyAqLnJlaiBjb3JyZXNwb25kYW50cyIKKworIzogYXBwbHkuYzo0OTczCittc2dpZCAiYWxsb3cgb3ZlcmxhcHBpbmcgaHVua3MiCittc2dzdHIgImFjY2VwdGVyIGxlcyByZWNvdXZyZW1lbnRzIGRlIHNlY3Rpb25zIgorCisjOiBhcHBseS5jOjQ5NzQgYnVpbHRpbi9hZGQuYzoyNjcgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQorIzogYnVpbHRpbi9jb21taXQuYzoxMzM5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk0IGJ1aWx0aW4vZnNjay5jOjU5MworIzogYnVpbHRpbi9sb2cuYzoxODYwIGJ1aWx0aW4vbXYuYzoxMTAgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKK21zZ2lkICJiZSB2ZXJib3NlIgorbXNnc3RyICJtb2RlIHZlcmJldXgiCisKKyM6IGFwcGx5LmM6NDk3NgorbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgorbXNnc3RyICIiCisidG9sw6lyZXIgZGVzIGVycmV1cnMgZGUgZMOpdGVjdGlvbiBkZSByZXRvdXJzIGNoYXJpb3QgbWFucXVhbnRzIGVuIGZpbiBkZSAiCisiZmljaGllciIKKworIzogYXBwbHkuYzo0OTc5Cittc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgorbXNnc3RyICJuZSBwYXMgc2UgZmllciBhdSBjb21wdGUgZGUgbGlnbmVzIGRhbnMgbGVzIGVuLXTDqnRlcyBkZSBzZWN0aW9uIgorCisjOiBhcHBseS5jOjQ5ODEgYnVpbHRpbi9hbS5jOjIyNzQKK21zZ2lkICJyb290IgorbXNnc3RyICJyYWNpbmUiCisKKyM6IGFwcGx5LmM6NDk4MgorbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCittc2dzdHIgInByw6lmaXhlciB0b3VzIGxlcyBub21zIGRlIGZpY2hpZXIgYXZlYyA8cm9vdD4iCisKICM6IGFyY2hpdmUuYzoxMgogbXNnaWQgImdpdCBhcmNoaXZlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBhcmNoaXZlIFs8b3B0aW9ucz5dIDxhcmJyZSBvdSBhcHBhcmVudMOpPiBbPGNoZW1pbj4uLi5dIgpAQCAtMTI3LDcgKzgyMiw3IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGTDqXDDtHQ+IFstLWV4ZWMgPGNvbW1hbmRlPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzQ0IGJ1aWx0aW4vYWRkLmM6MTM3IGJ1aWx0aW4vYWRkLmM6NDIwIGJ1aWx0aW4vcm0uYzozMjcKKyM6IGFyY2hpdmUuYzozNDQgYnVpbHRpbi9hZGQuYzoxNTIgYnVpbHRpbi9hZGQuYzo0NDIgYnVpbHRpbi9ybS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgogbXNnc3RyICJsZSBjaGVtaW4gJyVzJyBuZSBjb3JyZXNwb25kIMOgIGF1Y3VuIGZpY2hpZXIiCkBAIC0xNDAsNyArODM1LDcgQEAKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAiZm9ybWF0IGQnYXJjaGl2ZSIKIAotIzogYXJjaGl2ZS5jOjQzMCBidWlsdGluL2xvZy5jOjEzOTUKKyM6IGFyY2hpdmUuYzo0MzAgYnVpbHRpbi9sb2cuYzoxNDI5CiBtc2dpZCAicHJlZml4IgogbXNnc3RyICJwcsOpZml4ZSIKIApAQCAtMTQ4LDExICs4NDMsMTEgQEAKIG1zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgogbXNnc3RyICJwcsOpZml4ZXIgY2hhcXVlIGNoZW1pbiBkZSBmaWNoaWVyIGRhbnMgbCdhcmNoaXZlIgogCi0jOiBhcmNoaXZlLmM6NDMyIGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyNTQ4IGJ1aWx0aW4vYmxhbWUuYzoyNTQ5Ci0jOiBidWlsdGluL2NvbmZpZy5jOjYwIGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OQotIzogYnVpbHRpbi9ncmVwLmM6NzIyIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAgYnVpbHRpbi9scy1maWxlcy5jOjQ1OQotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MiBidWlsdGluL25vdGVzLmM6Mzk4IGJ1aWx0aW4vbm90ZXMuYzo1NjEKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA5IHBhcnNlLW9wdGlvbnMuaDoxNTMKKyM6IGFyY2hpdmUuYzo0MzIgYnVpbHRpbi9hcmNoaXZlLmM6ODggYnVpbHRpbi9ibGFtZS5jOjI2MDMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA0IGJ1aWx0aW4vY29uZmlnLmM6NTkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OSBidWlsdGluL2dyZXAuYzo3MjMgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOSBidWlsdGluL2xzLWZpbGVzLmM6NTQyIGJ1aWx0aW4vbm90ZXMuYzo0MDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjQgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDkgcGFyc2Utb3B0aW9ucy5oOjE1MwogbXNnaWQgImZpbGUiCiBtc2dzdHIgImZpY2hpZXIiCiAKQEAgLTE4NCw4ICs4NzksOCBAQAogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGZvcm1hdHMgZCdhcmNoaXZlIHN1cHBvcnTDqXMiCiAKLSM6IGFyY2hpdmUuYzo0NTEgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjgyCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc2CisjOiBhcmNoaXZlLmM6NDUxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NSBidWlsdGluL2Nsb25lLmM6ODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MwogbXNnaWQgInJlcG8iCiBtc2dzdHIgImTDqXDDtHQiCiAKQEAgLTE5Myw3ICs4ODgsNyBAQAogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICJyw6ljdXDDqXJlciBsJ2FyY2hpdmUgZGVwdWlzIGxlIGTDqXDDtHQgZGlzdGFudCA8ZMOpcMO0dD4iCiAKLSM6IGFyY2hpdmUuYzo0NTMgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4MgorIzogYXJjaGl2ZS5jOjQ1MyBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg1CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAiY29tbWFuZGUiCiAKQEAgLTIwMSw2ICs4OTYsMjggQEAKIG1zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCiBtc2dzdHIgImNoZW1pbiB2ZXJzIGxhIGNvbW1hbmRlIGRpc3RhbnRlIGdpdC11cGxvYWQtYXJjaGl2ZSIKIAorIzogYXJjaGl2ZS5jOjQ2MQorbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tcmVtb3RlIgorbXNnc3RyICJPcHRpb24gLS1yZW1vdGUgaW5hdHRlbmR1ZSIKKworIzogYXJjaGl2ZS5jOjQ2MworbXNnaWQgIk9wdGlvbiAtLWV4ZWMgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tcmVtb3RlIgorbXNnc3RyICJMJ29wdGlvbiAtLWV4ZWMgbmUgcGV1dCDDqnRyZSB1dGlsaXPDqWUgcXUnZW4gY29tcGzDqW1lbnQgZGUgLS1yZW1vdGUiCisKKyM6IGFyY2hpdmUuYzo0NjUKK21zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLW91dHB1dCIKK21zZ3N0ciAiT3B0aW9uIC0tb3V0cHV0IGluYXR0ZW5kdWUiCisKKyM6IGFyY2hpdmUuYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBhcmNoaXZlIGZvcm1hdCAnJXMnIgorbXNnc3RyICJGb3JtYXQgZCdhcmNoaXZlIGluY29ubnUgJyVzJyIKKworIzogYXJjaGl2ZS5jOjQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJBcmd1bWVudCBub3Qgc3VwcG9ydGVkIGZvciBmb3JtYXQgJyVzJzogLSVkIgorbXNnc3RyICJBcmd1bWVudCBub24gc3VwcG9ydMOpIHBvdXIgbGUgZm9ybWF0ICclcyfCoDogLSVkIgorCiAjOiBhdHRyLmM6MjYzCiBtc2dpZCAiIgogIk5lZ2F0aXZlIHBhdHRlcm5zIGFyZSBpZ25vcmVkIGluIGdpdCBhdHRyaWJ1dGVzXG4iCkBAIC0yMDksNiArOTI2LDEzMCBAQAogIkxlcyBtb3RpZnMgZGUgbsOpZ2F0aW9uIHNvbnQgaWdub3LDqXMgZGFucyBsZXMgYXR0cmlidXRzIGdpdFxuIgogIlV0aWxpc2V6ICdcXCEnIHBvdXIgdW4gcG9pbnQgZCdleGNsYW1hdGlvbiBsaXR0w6lyYWwuIgogCisjOiBiaXNlY3QuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgJyVzJyIKKworIzogYmlzZWN0LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZGx5IHF1b3RlZCBjb250ZW50IGluIGZpbGUgJyVzJzogJXMiCittc2dzdHIgIkNvbnRlbnUgbWFsIGNpdMOpIGRhbnMgbGUgZmljaGllciAnJXMnwqA6ICVzIgorCisjOiBiaXNlY3QuYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2UgY2Fubm90IGJpc2VjdCBtb3JlIVxuIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHBvdXNzZXIgbGEgYmlzc2VjdGlvbiBwbHVzIGxvaW7CoCFcbiIKKworIzogYmlzZWN0LmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhIHZhbGlkIGNvbW1pdCBuYW1lICVzIgorbXNnc3RyICIlcyBuJ2VzdCBwYXMgdW4gbm9tIGRlIGNvbW1pdCB2YWxpZGUiCisKKyM6IGJpc2VjdC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIG1lcmdlIGJhc2UgJXMgaXMgYmFkLlxuIgorIlRoaXMgbWVhbnMgdGhlIGJ1ZyBoYXMgYmVlbiBmaXhlZCBiZXR3ZWVuICVzIGFuZCBbJXNdLlxuIgorbXNnc3RyICIiCisiTGEgYmFzZSBkZSBmdXNpb24gJXMgZXN0IG1hdXZhaXNlLlxuIgorIkNlbGEgc2lnbmlmaWUgcXVlIGxlIGJvZ3VlIMOpdMOpIGNvcnJpZ8OpIGVudHJlICVzIGV0IFslc10uXG4iCisKKyM6IGJpc2VjdC5jOjczNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIG1lcmdlIGJhc2UgJXMgaXMgbmV3LlxuIgorIlRoZSBwcm9wZXJ0eSBoYXMgY2hhbmdlZCBiZXR3ZWVuICVzIGFuZCBbJXNdLlxuIgorbXNnc3RyICIiCisiTGEgYmFzZSBkZSBmdXNpb24gJXMgZXN0IG5vdXZlbGxlLlxuIgorIkxhIHByb3ByacOpdMOpIGEgY2hhbmfDqSBlbnRyZSAlcyBldCBbJXNdLlxuIgorCisjOiBiaXNlY3QuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzICVzLlxuIgorIlRoaXMgbWVhbnMgdGhlIGZpcnN0ICclcycgY29tbWl0IGlzIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgIiIKKyJMYSBiYXNlIGRlIGZ1c2lvbiAlcyBlc3QgJXMuXG4iCisiQ2VjaSBzaWduaWZpZSBxdWUgbGUgcHJlbWllciBjb21taXQgJyVzJyBlc3QgZW50cmUgJXMgZXQgWyVzXS5cbiIKKworIzogYmlzZWN0LmM6NzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJTb21lICVzIHJldnMgYXJlIG5vdCBhbmNlc3RvciBvZiB0aGUgJXMgcmV2LlxuIgorImdpdCBiaXNlY3QgY2Fubm90IHdvcmsgcHJvcGVybHkgaW4gdGhpcyBjYXNlLlxuIgorIk1heWJlIHlvdSBtaXN0b29rICVzIGFuZCAlcyByZXZzP1xuIgorbXNnc3RyICIiCisiQ2VydGFpbmVzIHLDqXZpc2lvbiAlcyBuZSBzb250IHBhcyBhbmPDqnRyZXMgZGUgbGEgcsOpdmlzaW9uICVzLlxuIgorImdpdCBiaXNlY3QgbmUgcGV1dCBwYXMgZm9uY3Rpb25uZXIgY29ycmVjdGVtZW50IGRhbnMgY2UgY2FzLlxuIgorIlBldXQtw6p0cmUgYXZlei12b3VzIGludmVyc8OpIGxlcyByw6l2aXNpb25zICVzIGV0ICVzwqA/XG4iCisKKyM6IGJpc2VjdC5jOjc2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIG1lcmdlIGJhc2UgYmV0d2VlbiAlcyBhbmQgWyVzXSBtdXN0IGJlIHNraXBwZWQuXG4iCisiU28gd2UgY2Fubm90IGJlIHN1cmUgdGhlIGZpcnN0ICVzIGNvbW1pdCBpcyBiZXR3ZWVuICVzIGFuZCAlcy5cbiIKKyJXZSBjb250aW51ZSBhbnl3YXkuIgorbXNnc3RyICIiCisiTGEgYmFzZSBkZSBmdXNpb24gZW50cmUgJXMgZXQgWyVzXSBkb2l0IMOqdHJlIMOpdml0w6llLlxuIgorIk9uIG5lIHBldXQgZG9uYyBwYXMgw6p0cmUgY2VydGFpbiBxdWUgbGUgcHJlbWllciBjb21taXQgJXMgc2UgdHJvdXZlIGVudHJlICVzICIKKyJldCAlcy5cbiIKKyJPbiBjb250aW51ZSB0b3V0IGRlIG3Dqm1lLiIKKworIzogYmlzZWN0LmM6Nzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJpc2VjdGluZzogYSBtZXJnZSBiYXNlIG11c3QgYmUgdGVzdGVkXG4iCittc2dzdHIgIkJpc3NlY3Rpb27CoDogdW5lIGJhc2UgZGUgZnVzaW9uIGRvaXQgw6p0cmUgdGVzdMOpZVxuIgorCisjOiBiaXNlY3QuYzo4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCittc2dzdHIgInVuZSByw6l2aXNpb24gJXMgZXN0IG7DqWNlc3NhaXJlIgorCisjOiBiaXNlY3QuYzo4NjYgYnVpbHRpbi9ub3Rlcy5jOjE3NCBidWlsdGluL3RhZy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgZmljaGllciAnJXMnIgorCisjOiBiaXNlY3QuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZmlsZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgZmljaGllciAnJXMnIgorCisjOiBiaXNlY3QuYzo5NDcKK21zZ2lkICJyZWFkaW5nIGJpc2VjdCByZWZzIGZhaWxlZCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlcyByw6lmw6lyZW5jZXMgZGUgYmlzc2VjdGlvbiIKKworIzogYmlzZWN0LmM6OTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHdhcyBib3RoICVzIGFuZCAlc1xuIgorbXNnc3RyICIlcyDDqXRhaXQgw6AgbGEgZm9pcyAlcyBldCAlc1xuIgorCisjOiBiaXNlY3QuYzo5NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vIHRlc3RhYmxlIGNvbW1pdCBmb3VuZC5cbiIKKyJNYXliZSB5b3Ugc3RhcnRlZCB3aXRoIGJhZCBwYXRoIHBhcmFtZXRlcnM/XG4iCittc2dzdHIgIiIKKyJBdWN1biBjb21taXQgdGVzdGFibGUgbidhIMOpdMOpIHRyb3V2w6lcbiIKKyJQZXV0LcOqdHJlIGF2ZXotdm91cyBkw6ltYXJyw6kgYXZlYyB1biBtYXV2YWlzIHBhcmFtw6h0cmUgZGUgY2hlbWluwqA/XG4iCisKKyM6IGJpc2VjdC5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICIocm91Z2hseSAlZCBzdGVwKSIKK21zZ2lkX3BsdXJhbCAiKHJvdWdobHkgJWQgc3RlcHMpIgorbXNnc3RyWzBdICIow6AgcGV1IHByw6hzICVkIMOpdGFwZSkiCittc2dzdHJbMV0gIijDoCBwZXUgcHLDqHMgJWQgw6l0YXBlcykiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGUgbGFzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIHdpdGgKKyMuICIocm91Z2hseSAlZCBzdGVwcykiIHRyYW5zbGF0aW9uCisjOiBiaXNlY3QuYzo5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbiBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgorbXNnaWRfcGx1cmFsICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9ucyBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgorbXNnc3RyWzBdICJCaXNzZWN0aW9uwqA6ICVkIHLDqXZpc2lvbiDDoCB0ZXN0ZXIgYXByw6hzIGNldHRlICVzXG4iCittc2dzdHJbMV0gIkJpc3NlY3Rpb27CoDogJWQgcsOpdmlzaW9ucyDDoCB0ZXN0ZXIgYXByw6hzIGNldHRlICVzXG4iCisKICM6IGJyYW5jaC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTMyOSwyNyArMTE3MCwyNyBAQAogInNhIGp1bWVsbGUgZGlzdGFudGUsIHZvdXMgcG91dmV6IHV0aWxpc2VyIFwiZ2l0IHB1c2ggLXVcIlxuIgogInBvdXIgcGFyYW3DqXRyZXIgbGUgc3VpdmkgZGlzdGFudCBlbiBtw6ptZSB0ZW1wcyBxdWUgdm91cyBwb3Vzc2V6LiIKIAotIzogYnJhbmNoLmM6MjY2CisjOiBicmFuY2guYzoyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICJOb20gZCdvYmpldCBpbnZhbGlkZSA6ICclcycuIgogCi0jOiBicmFuY2guYzoyODYKKyM6IGJyYW5jaC5jOjI4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJBbWJpZ3VvdXMgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICJOb20gZCdvYmpldCBhbWJpZ3UgOiAnJXMnLiIKIAotIzogYnJhbmNoLmM6MjkxCisjOiBicmFuY2guYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgYnJhbmNoIHBvaW50OiAnJXMnLiIKIG1zZ3N0ciAiUG9pbnQgZCdlbWJyYW5jaGVtZW50IGludmFsaWRlIDogJyVzJy4iCiAKLSM6IGJyYW5jaC5jOjM0NQorIzogYnJhbmNoLmM6MzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICInJXMnIGVzdCBkw6lqw6AgZXh0cmFpdCBkYW5zICclcyciCiAKLSM6IGJyYW5jaC5jOjM2NAorIzogYnJhbmNoLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgb2Ygd29ya2luZyB0cmVlICVzIGlzIG5vdCB1cGRhdGVkIgogbXNnc3RyICJsYSBIRUFEIGRlIGxhIGNvcGllIGRlIHRyYXZhaWwgJXMgbidlc3QgcGFzIG1pc2Ugw6Agam91ciIKQEAgLTM2NCw3ICsxMjA1LDcgQEAKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVhZGVyOiAlcyVzICglZCkiCiBtc2dzdHIgImVuLXTDqnRlIG5vbiByZWNvbm51IDogJXMlcyAoJWQpIgogCi0jOiBidW5kbGUuYzo4NyBidWlsdGluL2NvbW1pdC5jOjc3NworIzogYnVuZGxlLmM6ODcgc2VxdWVuY2VyLmM6OTYzIGJ1aWx0aW4vY29tbWl0LmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJyVzJyIKQEAgLTM3MywxMCArMTIxNCwxMCBAQAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICJMZSBkw6lww7R0IG5lIGRpc3Bvc2UgcGFzIGRlcyBjb21taXRzIHByw6lyZXF1aXMgc3VpdmFudHMgOiIKIAotIzogYnVuZGxlLmM6MTYzIHJlZi1maWx0ZXIuYzoxNDYyIHNlcXVlbmNlci5jOjYyNyBzZXF1ZW5jZXIuYzoxMDczCi0jOiBidWlsdGluL2JsYW1lLmM6Mjc1NSBidWlsdGluL2NvbW1pdC5jOjEwNTYgYnVpbHRpbi9sb2cuYzozNDAKLSM6IGJ1aWx0aW4vbG9nLmM6ODYzIGJ1aWx0aW4vbG9nLmM6MTMwOCBidWlsdGluL2xvZy5jOjE2MzMgYnVpbHRpbi9sb2cuYzoxODc1Ci0jOiBidWlsdGluL21lcmdlLmM6MzYxIGJ1aWx0aW4vc2hvcnRsb2cuYzoxNzAKKyM6IGJ1bmRsZS5jOjE2MyByZWYtZmlsdGVyLmM6MTQ2MiBzZXF1ZW5jZXIuYzo4MzAgc2VxdWVuY2VyLmM6MTM3NAorIzogYnVpbHRpbi9ibGFtZS5jOjI4MTQgYnVpbHRpbi9jb21taXQuYzoxMDYxIGJ1aWx0aW4vbG9nLmM6MzQ4CisjOiBidWlsdGluL2xvZy5jOjg5MCBidWlsdGluL2xvZy5jOjEzNDAgYnVpbHRpbi9sb2cuYzoxNjY2IGJ1aWx0aW4vbG9nLmM6MTkwOQorIzogYnVpbHRpbi9tZXJnZS5jOjM1NiBidWlsdGluL3Nob3J0bG9nLmM6MTcwCiBtc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBwcsOpcGFyYXRpb24gZHUgcGFyY291cnMgZGVzIHLDqXZpc2lvbnMiCiAKQEAgLTQxNSw3ICsxMjU2LDcgQEAKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAibGEgcsOpZsOpcmVuY2UgJyVzJyBlc3QgZXhjbHVlIHBhciBsZXMgb3B0aW9ucyBkZSByZXYtbGlzdCIKIAotIzogYnVuZGxlLmM6NDQzIGJ1aWx0aW4vbG9nLmM6MTYzIGJ1aWx0aW4vbG9nLmM6MTUzOCBidWlsdGluL3Nob3J0bG9nLmM6MjczCisjOiBidW5kbGUuYzo0NDMgYnVpbHRpbi9sb2cuYzoxNjUgYnVpbHRpbi9sb2cuYzoxNTcyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAiYXJndW1lbnQgbm9uIHJlY29ubnUgOiAlcyIKQEAgLTQzMywxMyArMTI3NCwxMyBAQAogbXNnaWQgImluZGV4LXBhY2sgZGllZCIKIG1zZ3N0ciAibCdpbmRleCBkZSBncm91cGUgYSBkaXNwYXJ1IgogCi0jOiBjb2xvci5jOjI3NQorIzogY29sb3IuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKIG1zZ3N0ciAiVmFsZXVyIGludmFsaWRlIGRlIGNvdWxldXIgOiAlLipzIgogCi0jOiBjb21taXQuYzo0MCBidWlsdGluL2FtLmM6NDM3IGJ1aWx0aW4vYW0uYzo0NzMgYnVpbHRpbi9hbS5jOjE1MDQKLSM6IGJ1aWx0aW4vYW0uYzoyMTM0CisjOiBjb21taXQuYzo0MCBidWlsdGluL2FtLmM6NDIxIGJ1aWx0aW4vYW0uYzo0NTcgYnVpbHRpbi9hbS5jOjE0OTMKKyM6IGJ1aWx0aW4vYW0uYzoyMTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyICVzIgpAQCAtNDQ5LDEzNSArMTI5MCwyNjUgQEAKIG1zZ2lkICIlcyAlcyBpcyBub3QgYSBjb21taXQhIgogbXNnc3RyICIlcyAlcyBuJ2VzdCBwYXMgdW4gY29tbWl0ICEiCiAKKyM6IGNvbW1pdC5jOjE1MTQKK21zZ2lkICIiCisiV2FybmluZzogY29tbWl0IG1lc3NhZ2UgZGlkIG5vdCBjb25mb3JtIHRvIFVURi04LlxuIgorIllvdSBtYXkgd2FudCB0byBhbWVuZCBpdCBhZnRlciBmaXhpbmcgdGhlIG1lc3NhZ2UsIG9yIHNldCB0aGUgY29uZmlnXG4iCisidmFyaWFibGUgaTE4bi5jb21taXRlbmNvZGluZyB0byB0aGUgZW5jb2RpbmcgeW91ciBwcm9qZWN0IHVzZXMuXG4iCittc2dzdHIgIiIKKyJBdmVydGlzc2VtZW50wqA6IGxlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBuZSBzZSBjb25mb3JtZSBwYXMgw6AgVVRGLTguXG4iCisiVm91cyBzb3VoYWl0ZXogcGV1dC3DqnRyZSBsZSBtb2RpZmllciBhcHLDqHMgY29ycmVjdGlvbiBkdSBtZXNzYWdlIG91IHLDqWdsZXIgIgorImxhXG4iCisidmFyaWFibGUgZGUgY29uZmlndXJhdGlvbiBpMThuLmNvbW1pdGVuY29kaW5nIMOgIGwnZW5jb2RhZ2UgdXRpbGlzw6kgcGFyIHZvdHJlICIKKyJwcm9qZXQuXG4iCisKICM6IGNvbXBhdC9vYnN0YWNrLmM6NDA2IGNvbXBhdC9vYnN0YWNrLmM6NDA4CiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAicGx1cyBkZSBtw6ltb2lyZSIKIAotIzogY29uZmlnLmM6NDc1IGNvbmZpZy5jOjQ3NworIzogY29uZmlnLmM6NTE2CiAjLCBjLWZvcm1hdAotbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyAlcyIKLW1zZ3N0ciAibGlnbmUgJWQgZGUgZmljaGllciBkZSBjb25maWcgaW5jb3JyZWN0ZSBkYW5zICVzICVzIgorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBibG9iICVzIgorbXNnc3RyICJsaWduZSAlZCBkZSBjb25maWcgaW5jb3JyZWN0ZSBkYW5zIGxlIGJsb2IgJXMiCiAKLSM6IGNvbmZpZy5jOjU5MworIzogY29uZmlnLmM6NTIwCiAjLCBjLWZvcm1hdAotbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzICVzOiAlcyIKLW1zZ3N0ciAiIgotInZhbGV1ciBudW3DqXJpcXVlIGRlIGNvbmZpZ3VyYXRpb24gaW5jb3JyZWN0ZSAnJXMnIHBvdXIgJyVzJyBkYW5zICVzICVzwqA6ICVzIgorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBmaWxlICVzIgorbXNnc3RyICJsaWduZSAlZCBkZSBjb25maWcgaW5jb3JyZWN0ZSBkYW5zIGxlIGZpY2hpZXIgJXMiCiAKLSM6IGNvbmZpZy5jOjU5NQorIzogY29uZmlnLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAibGlnbmUgJWQgZGUgY29uZmlnIGluY29ycmVjdGUgZGFucyBsJ2VudHLDqWUgc3RhbmRhcmQiCisKKyM6IGNvbmZpZy5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3VibW9kdWxlLWJsb2IgJXMiCittc2dzdHIgImxpZ25lICVkIGRlIGNvbmZpZyBpbmNvcnJlY3RlIGRhbnMgbGUgYmxvYiBkZSBzb3VzLW1vZHVsZSAlcyIKKworIzogY29uZmlnLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCittc2dzdHIgImxpZ25lICVkIGRlIGNvbmZpZyBpbmNvcnJlY3RlIGRhbnMgbGEgbGlnbmUgZGUgY29tbWFuZGUgJXMiCisKKyM6IGNvbmZpZy5jOjUzNgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMiCittc2dzdHIgImxpZ25lICVkIGRlIGNvbmZpZyBpbmNvcnJlY3RlIGRhbnMgJXMiCisKKyM6IGNvbmZpZy5jOjY1NQorbXNnaWQgIm91dCBvZiByYW5nZSIKK21zZ3N0ciAiaG9ycyBwbGFnZSIKKworIzogY29uZmlnLmM6NjU1Cittc2dpZCAiaW52YWxpZCB1bml0IgorbXNnc3RyICJ1bml0w6kgaW52YWxpZGUiCisKKyM6IGNvbmZpZy5jOjY2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogJXMiCi1tc2dzdHIgInZhbGV1ciBudW3DqXJpcXVlIGRlIGNvbmZpZ3VyYXRpb24gaW52YWxpZGUgJyVzJyBwb3VyICclcycgOiAlcyIKK21zZ3N0ciAidmFsZXVyIG51bcOpcmlxdWUgZGUgY29uZmlndXJhdGlvbiBpbnZhbGlkZSAnJXMnIHBvdXIgJyVzJ8KgOiAlcyIKIAotIzogY29uZmlnLmM6NjgwCisjOiBjb25maWcuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gYmxvYiAlczogJXMiCittc2dzdHIgIiIKKyJ2YWxldXIgbnVtw6lyaXF1ZSBkZSBjb25maWd1cmF0aW9uIGluY29ycmVjdGUgJyVzJyBwb3VyICclcycgZGFucyBsZSBibG9iICIKKyIlc8KgOiAlcyIKKworIzogY29uZmlnLmM6NjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGZpbGUgJXM6ICVzIgorbXNnc3RyICIiCisidmFsZXVyIG51bcOpcmlxdWUgZGUgY29uZmlndXJhdGlvbiBpbmNvcnJlY3RlICclcycgcG91ciAnJXMnIGRhbnMgbGUgZmljaGllciAiCisiJXPCoDogJXMiCisKKyM6IGNvbmZpZy5jOjY3MgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdGFuZGFyZCBpbnB1dDogJXMiCittc2dzdHIgIiIKKyJ2YWxldXIgbnVtw6lyaXF1ZSBkZSBjb25maWd1cmF0aW9uIGluY29ycmVjdGUgJyVzJyBwb3VyICclcycgZGFucyBsJ2VudHLDqWUgIgorInN0YW5kYXJkwqA6ICVzIgorCisjOiBjb25maWcuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6ICVzIgorbXNnc3RyICIiCisidmFsZXVyIG51bcOpcmlxdWUgZGUgY29uZmlndXJhdGlvbiBpbmNvcnJlY3RlICclcycgcG91ciAnJXMnIGRhbnMgbGUgYmxvYiBkZSAiCisic291cy1tb2R1bGUgJXPCoDogJXMiCisKKyM6IGNvbmZpZy5jOjY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBjb21tYW5kIGxpbmUgJXM6ICVzIgorbXNnc3RyICIiCisidmFsZXVyIG51bcOpcmlxdWUgZGUgY29uZmlndXJhdGlvbiBpbmNvcnJlY3RlICclcycgcG91ciAnJXMnIGRhbnMgbGEgbGlnbmUgZGUgIgorImNvbW1hbmRlICVzwqA6ICVzIgorCisjOiBjb25maWcuYzo2ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gJXM6ICVzIgorbXNnc3RyICIiCisidmFsZXVyIG51bcOpcmlxdWUgZGUgY29uZmlndXJhdGlvbiBpbmNvcnJlY3RlICclcycgcG91ciAnJXMnIGRhbnMgJXPCoDogJXMiCisKKyM6IGNvbmZpZy5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhwYW5kIHVzZXIgZGlyIGluOiAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6l0ZW5kcmUgbGUgcsOpcGVydG9pcmUgdXRpbGlzYXRldXIgZGFucyA6ICclcyciCiAKLSM6IGNvbmZpZy5jOjc2MSBjb25maWcuYzo3NzIKKyM6IGNvbmZpZy5jOjg1MiBjb25maWcuYzo4NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHpsaWIgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIm5pdmVhdSBkZSBjb21wcmVzc2lvbiB6bGliIGluY29ycmVjdCAlZCIKIAotIzogY29uZmlnLmM6ODkwCisjOiBjb25maWcuYzo5NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBtb2RlIGZvciBvYmplY3QgY3JlYXRpb246ICVzIgogbXNnc3RyICJtb2RlIGludmFsaWRlIHBvdXIgbGEgY3LDqWF0aW9uIGQnb2JqZXQgOiAlcyIKIAotIzogY29uZmlnLmM6MTIyOAorIzogY29uZmlnLmM6MTMxMgogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICJsZWN0dXJlIGRlIGxhIGNvbmZpZ3VyYXRpb24gZGUgbGlnbmUgZGUgY29tbWFuZGUgaW1wb3NzaWJsZSIKIAotIzogY29uZmlnLmM6MTI4NAotbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJlZCB3aGlsZSByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIgorIzogY29uZmlnLmM6MTM2MgorbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKIG1zZ3N0ciAiZXJyZXVyIGluY29ubnVlIHBlbmRhbnQgbGEgbGVjdHVyZSBkZXMgZmljaGllcnMgZGUgY29uZmlndXJhdGlvbiIKIAotIzogY29uZmlnLmM6MTYyOQorIzogY29uZmlnLmM6MTcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyVzJyBmcm9tIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgIiIKICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgJyVzJyBkZXB1aXMgbGUgY29uZmlndXJhdGlvbiBlbiBsaWduZSBkZSBjb21tYW5kZSIKIAotIzogY29uZmlnLmM6MTYzMQorIzogY29uZmlnLmM6MTcxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIHZhcmlhYmxlICclcycgaW4gZmlsZSAnJXMnIGF0IGxpbmUgJWQiCiBtc2dzdHIgIiIKICJ2YXJpYWJsZSBkZSBjb25maWd1cmF0aW9uICclcycgaW5jb3JyZWN0ZSBkYW5zIGxlIGZpY2hpZXIgJyVzJyDDoCBsYSBsaWduZSAlZCIKIAotIzogY29uZmlnLmM6MTY5MAorIzogY29uZmlnLmM6MTc3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbXVsdGlwbGUgdmFsdWVzIgogbXNnc3RyICIlcyBhIGRlcyB2YWxldXJzIG11bHRpcGxlcyIKIAotIzogY29uZmlnLmM6MjIyNAorIzogY29uZmlnLmM6MjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc2V0ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByw6lnbGVyICclcycgw6AgJyVzJyIKIAotIzogY29uZmlnLmM6MjIyNgorIzogY29uZmlnLmM6MjMxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6lzaW5pdGlhbGlzZXIgJyVzJyIKIAotIzogY29ubmVjdGVkLmM6NjkKKyM6IGNvbm5lY3QuYzo0OQorbXNnaWQgIlRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdXBvbiBpbml0aWFsIGNvbnRhY3QiCittc2dzdHIgIkwnaMO0dGUgZGlzdGFudCBhIGZlcm3DqSBsYSBjb25uZXhpb24gbG9ycyBkdSBjb250YWN0IGluaXRpYWwiCisKKyM6IGNvbm5lY3QuYzo1MQorbXNnaWQgIiIKKyJDb3VsZCBub3QgcmVhZCBmcm9tIHJlbW90ZSByZXBvc2l0b3J5LlxuIgorIlxuIgorIlBsZWFzZSBtYWtlIHN1cmUgeW91IGhhdmUgdGhlIGNvcnJlY3QgYWNjZXNzIHJpZ2h0c1xuIgorImFuZCB0aGUgcmVwb3NpdG9yeSBleGlzdHMuIgorbXNnc3RyICIiCisiSW1wb3NzaWxibGUgZGUgbGlyZSBsZSBkw6lww7R0IGRpc3RhbnQuXG4iCisiXG4iCisiVmV1aWxsZXogdsOpcmlmaWVyIHF1ZSB2b3VzIGF2ZXogbGVzIGRyb2l0cyBkJ2FjY8Ooc1xuIgorImV0IHF1ZSBsZSBkw6lww7R0IGV4aXN0ZS4iCisKKyM6IGNvbm5lY3RlZC5jOjYzIGJ1aWx0aW4vZnNjay5jOjE3MyBidWlsdGluL3BydW5lLmM6MTQwCittc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgorbXNnc3RyICJWw6lyaWZpY2F0aW9uIGRlIGxhIGNvbm5lY3Rpdml0w6kiCisKKyM6IGNvbm5lY3RlZC5jOjc1CiBtc2dpZCAiQ291bGQgbm90IHJ1biAnZ2l0IHJldi1saXN0JyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsYW5jZXIgJ2dpdCByZXYtbGlzdCciCiAKLSM6IGNvbm5lY3RlZC5jOjg5CisjOiBjb25uZWN0ZWQuYzo5NQogbXNnaWQgImZhaWxlZCB3cml0ZSB0byByZXYtbGlzdCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgZGFucyBsYSByZXYtbGlzdCIKIAotIzogY29ubmVjdGVkLmM6OTYKKyM6IGNvbm5lY3RlZC5jOjEwMgogbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZlcm1lciBsJ2VudHLDqWUgc3RhbmRhcmQgZHUgcmV2LWxpc3QiCiAKLSM6IGRhdGUuYzo5NQorIzogY29udmVydC5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ1JMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLlxuIgorIlRoZSBmaWxlIHdpbGwgaGF2ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkuIgorbXNnc3RyICIiCisiTGVzIENSTEYgc2Vyb250IHJlbXBsYWPDqXMgcGFyIGRlcyBMRiBkYW5zICVzLlxuIgorIkxlIGZpY2hpZXIgY29uc2VydmVyYSBzZXMgZmlucyBkZSBsaWduZSBkJ29yaWdpbmUgZGFucyB2b3RyZSBjb3BpZSBkZSAiCisidHJhdmFpbC4iCisKKyM6IGNvbnZlcnQuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy4iCittc2dzdHIgIkxlcyBDUkxGIHNlcmFpZW50IHJlbXBsYWPDqXMgcGFyIGRlcyBMRiBkYW5zICVzLiIKKworIzogY29udmVydC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTEYgd2lsbCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzLlxuIgorIlRoZSBmaWxlIHdpbGwgaGF2ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkuIgorbXNnc3RyICIiCisiTGVzIExGIHNlcm9udCByZW1wbGFjw6lzIHBhciBkZXMgQ1JMRiBkYW5zICVzLlxuIgorIkxlIGZpY2hpZXIgY29uc2VydmVyYSBzZXMgZmlucyBkZSBsaWduZSBkJ29yaWdpbmUgZGFucyB2b3RyZSBjb3BpZSBkZSAiCisidHJhdmFpbC4iCisKKyM6IGNvbnZlcnQuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcyIKK21zZ3N0ciAiTGVzIExGIHNlcmFpZW50IHJlbXBsYWPDqXMgcGFyIGRlcyBDUkxGIGRhbnMgJXMiCisKKyM6IGRhdGUuYzo5NwogbXNnaWQgImluIHRoZSBmdXR1cmUiCiBtc2dzdHIgImRhbnMgbGUgZnV0dXIiCiAKLSM6IGRhdGUuYzoxMDEKKyM6IGRhdGUuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHNlY29uZCBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBzZWNvbmRzIGFnbyIKIG1zZ3N0clswXSAiaWwgeSBhICVsdSBzZWNvbmRlIgogbXNnc3RyWzFdICJpbCB5IGEgJWx1IHNlY29uZGVzIgogCi0jOiBkYXRlLmM6MTA4CisjOiBkYXRlLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSBtaW51dGUgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgbWludXRlcyBhZ28iCiBtc2dzdHJbMF0gImlsIHkgYSAlbHUgbWludXRlIgogbXNnc3RyWzFdICJpbCB5IGEgJWx1IG1pbnV0ZXMiCiAKLSM6IGRhdGUuYzoxMTUKKyM6IGRhdGUuYzoxMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IGhvdXIgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgaG91cnMgYWdvIgogbXNnc3RyWzBdICJpbCB5IGEgJWx1IGhldXJlIgogbXNnc3RyWzFdICJpbCB5IGEgJWx1IGhldXJlcyIKIAotIzogZGF0ZS5jOjEyMgorIzogZGF0ZS5jOjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgZGF5IGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IGRheXMgYWdvIgogbXNnc3RyWzBdICJpbCB5IGEgJWx1IGpvdXIiCiBtc2dzdHJbMV0gImlsIHkgYSAlbHUgam91cnMiCiAKLSM6IGRhdGUuYzoxMjgKKyM6IGRhdGUuYzoxMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHdlZWsgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgd2Vla3MgYWdvIgogbXNnc3RyWzBdICJpbCB5IGEgJWx1IHNlbWFpbmUiCiBtc2dzdHJbMV0gImlsIHkgYSAlbHUgc2VtYWluZXMiCiAKLSM6IGRhdGUuYzoxMzUKKyM6IGRhdGUuYzoxMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IG1vbnRoIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gImlsIHkgYSAlbHUgbW9pcyIKIG1zZ3N0clsxXSAiaWwgeSBhICVsdSBtb2lzIgogCi0jOiBkYXRlLmM6MTQ2CisjOiBkYXRlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSB5ZWFyIgogbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMiCkBAIC01ODUsMTQgKzE1NTYsMTQgQEAKIG1zZ3N0clsxXSAiJWx1IGFucyIKIAogIy4gVFJBTlNMQVRPUlM6ICIlcyIgaXMgIjxuPiB5ZWFycyIKLSM6IGRhdGUuYzoxNDkKKyM6IGRhdGUuYzoxNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsICVsdSBtb250aCBhZ28iCiBtc2dpZF9wbHVyYWwgIiVzLCAlbHUgbW9udGhzIGFnbyIKIG1zZ3N0clswXSAiaWwgeSBhICVzIGV0ICVsdSBtb2lzIgogbXNnc3RyWzFdICJpbCB5IGEgJXMgZXQgJWx1IG1vaXMiCiAKLSM6IGRhdGUuYzoxNTQgZGF0ZS5jOjE1OQorIzogZGF0ZS5jOjE1NiBkYXRlLmM6MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSB5ZWFyIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIGFnbyIKQEAgLTYwNCwyOCArMTU3NSwzMyBAQAogbXNnaWQgImZhaWxlZCB0byByZWFkIG9yZGVyZmlsZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgZmljaGllciBkZSBjb21tYW5kZSAnJXMnIgogCi0jOiBkaWZmY29yZS1yZW5hbWUuYzo1MzgKKyM6IGRpZmZjb3JlLXJlbmFtZS5jOjUzNgogbXNnaWQgIlBlcmZvcm1pbmcgaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uIgogbXNnc3RyICJEw6l0ZWN0aW9uIGRlIHJlbm9tbWFnZSBpbmV4YWN0IGVuIGNvdXJzIgogCi0jOiBkaWZmLmM6MTE2CisjOiBkaWZmLmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAibGUgY29tbXV0YXRldXIgJyVzJyBhIGJlc29pbiBkJ3VuZSB2YWxldXIiCisKKyM6IGRpZmYuYzoxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgogbXNnc3RyICIiCiAiICBJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgcG91cmNlbnRhZ2UgZGUgbW9kaWZpY2F0aW9uIGRlIGRpcnN0YXQgJyVzJ1xuIgogCi0jOiBkaWZmLmM6MTIxCisjOiBkaWZmLmM6MTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgVW5rbm93biBkaXJzdGF0IHBhcmFtZXRlciAnJXMnXG4iCiBtc2dzdHIgIiAgUGFyYW3DqHRyZSBkaXJzdGF0IGluY29ubnUgJyVzJ1xuIgogCi0jOiBkaWZmLmM6MjI1CisjOiBkaWZmLmM6MjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgogbXNnc3RyICIiCiAiVmFsZXVyIGluY29ubnVlIHBvdXIgbGEgdmFyaWFibGUgZGUgY29uZmlndXJhdGlvbiAnZGlmZi5zdWJtb2R1bGUnIDogJyVzJyIKIAotIzogZGlmZi5jOjI3NworIzogZGlmZi5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKQEAgLTYzNCwxNiArMTYxMCwyMCBAQAogIkVycmV1cnMgZGFucyBsYSB2YXJpYWJsZSBkZSBjb25maWd1cmF0aW9uICdkaWZmLmRpcnN0YXQnIDpcbiIKICIlcyIKIAotIzogZGlmZi5jOjMwMDcKKyM6IGRpZmYuYzozMDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCiBtc2dzdHIgImwnYXBwbGljYXRpb24gZGUgZGlmZiBleHRlcm5lIGEgZGlzcGFydSwgYXJyw6p0IMOgICVzIgogCi0jOiBkaWZmLmM6MzQwNQorIzogZGlmZi5jOjM0MTIKK21zZ2lkICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgZXQgLXMgc29udCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzIgorCisjOiBkaWZmLmM6MzUwMgogbXNnaWQgIi0tZm9sbG93IHJlcXVpcmVzIGV4YWN0bHkgb25lIHBhdGhzcGVjIgogbXNnc3RyICItLWZvbGxvdyBhIGJlc29pbiBkJ3VuZSBzcMOpY2lmaWNhdGlvbiBkZSBjaGVtaW4gdW5pcXVlIgogCi0jOiBkaWZmLmM6MzU2OAorIzogZGlmZi5jOjM2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKQEAgLTY1Miw3MCArMTYzMiwyNDggQEAKICJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgcGFyYW3DqHRyZSBkZSBsJ29wdGlvbiAtLWRpcnN0YXQvLVggOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzU4MgorIzogZGlmZi5jOjM2NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZCdhbmFseXNlciBsZSBwYXJhbcOodHJlIGRlIGwnb3B0aW9uIC0tc3VibW9kdWxlIDogJyVzJyIKIAotIzogZGlyLmM6MTgyMworIzogZGlmZi5jOjQ3MDAKK21zZ2lkICJpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24gd2FzIHNraXBwZWQgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKK21zZ3N0ciAiIgorImTDqXRlY3Rpb24gZGUgcmVub21tYWdlIGluZXhhY3QgYW5udWzDqWUgw6AgY2F1c2UgZCd1biB0cm9wIGdyYW5kIG5vbWJyZSBkZSAiCisiZmljaGllcnMuIgorCisjOiBkaWZmLmM6NDcwMworbXNnaWQgIm9ubHkgZm91bmQgY29waWVzIGZyb20gbW9kaWZpZWQgcGF0aHMgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKK21zZ3N0ciAiIgorInJlY2hlcmNoZSB1bmlxdWVtZW50IGRlcyBjb3BpZXMgcGFyIG1vZGlmaWNhdGlvbiBkZSBjaGVtaW4gw6AgY2F1c2UgZCd1biB0cm9wICIKKyJncmFuZCBub21icmUgZGUgZmljaGllcnMuIgorCisjOiBkaWZmLmM6NDcwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisieW91IG1heSB3YW50IHRvIHNldCB5b3VyICVzIHZhcmlhYmxlIHRvIGF0IGxlYXN0ICVkIGFuZCByZXRyeSB0aGUgY29tbWFuZC4iCittc2dzdHIgIiIKKyJ2b3VzIHNvdWhhaXRleiBwZXV0LcOqdHJlIHLDqWdsZXIgbGEgdmFyaWFibGUgJXMgw6AgYXUgbW9pbnMgJWQgZXQgcsOpZXNzYXllciBsZSAiCisiY29tbWFuZGUuIgorCisjOiBkaXIuYzoxODY2CiBtc2dpZCAiZmFpbGVkIHRvIGdldCBrZXJuZWwgbmFtZSBhbmQgaW5mb3JtYXRpb24iCiBtc2dzdHIgImVjaGVjIGRlIGwnb2J0ZW50aW9uIGQnaW5mb3JtYXRpb24gZGUga2VybmVsIgogCi0jOiBkaXIuYzoxOTQyCisjOiBkaXIuYzoxOTg1CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGlzIGRpc2FibGVkIG9uIHRoaXMgc3lzdGVtIG9yIGxvY2F0aW9uLiIKIG1zZ3N0ciAiTGUgY2FjaGUgbm9uIHN1aXZpIGVzdCBkw6lzYWN0aXbDqSBzdXIgY2Ugc3lzdMOobWUgb3Ugc3VyIGNldCBlbmRyb2l0LiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE2NiBncGctaW50ZXJmYWNlLmM6MjM1Ci1tc2dpZCAiY291bGQgbm90IHJ1biBncGcuIgotbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxhbmNlciBncGcuIgorIzogZmV0Y2gtcGFjay5jOjIxMworbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBzaGFsbG93IGxpc3QiCittc2dzdHIgImdpdCBmZXRjaC1wYWNrIDogbGlzdCBjb3VydGUgYXR0ZW5kdWUiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoxNzgKLW1zZ2lkICJncGcgZGlkIG5vdCBhY2NlcHQgdGhlIGRhdGEiCi1tc2dzdHIgImdwZyBuJ2EgcGFzIGFjY2VwdMOpIGxlcyBkb25uw6llcyIKKyM6IGZldGNoLXBhY2suYzoyMjUKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IEVPRiIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2sgOiBBQ0svTkFDSyBhdHRlbmR1LCBFT0YgcmXDp3UiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoxODkKKyM6IGZldGNoLXBhY2suYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgorbXNnc3RyICJnaXQgZmV0Y2gtcGFjayA6IEFDSy9OQUNLIGF0dGVuZHUsICclcycgcmXDp3UiCisKKyM6IGZldGNoLXBhY2suYzoyOTUKK21zZ2lkICItLXN0YXRlbGVzcy1ycGMgcmVxdWlyZXMgbXVsdGlfYWNrX2RldGFpbGVkIgorbXNnc3RyICItLXN0YXRlbGVzcy1ycGMgbsOpY2Vzc2l0ZSBtdWx0aV9hY2tfZGV0YWlsZWQiCisKKyM6IGZldGNoLXBhY2suYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaGFsbG93IGxpbmU6ICVzIgorbXNnc3RyICJsaWduZSBkZSBzdXBlcmZpY2llbCBpbnZhbGlkZcKgOiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjM4NworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIKK21zZ3N0ciAibGlnbmUgZGUgZmluIGRlIHN1cGVyZmljaWVsIGludmFsaWRlIDogJXMiCisKKyM6IGZldGNoLXBhY2suYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0IG5vdCBmb3VuZDogJXMiCittc2dzdHIgIm9iamV0IG5vbiB0cm91dsOpwqA6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGluIG9iamVjdDogJXMiCittc2dzdHIgIkVycmV1ciBkYW5zIGwnb2JqZXTCoDogJXMiCisKKyM6IGZldGNoLXBhY2suYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc2hhbGxvdyBmb3VuZDogJXMiCittc2dzdHIgIlBhcyBkZSBzdXBlcmZpY2llbCB0cm91dsOpwqA6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCittc2dzdHIgInN1cGVyZmljaWVsL25vbiBzdXBlcmZpY2llbCBhdHRlbmR1LCAlcyB0cm91dsOpIgorCisjOiBmZXRjaC1wYWNrLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgImdvdCAlcyAlZCAlcyIKK21zZ3N0ciAicsOpcG9uc2UgJXMgJWQgJXMiCisKKyM6IGZldGNoLXBhY2suYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb21taXQgJXMiCittc2dzdHIgImNvbW1pdCBpbnZhbGlkZSAlcyIKKworIzogZmV0Y2gtcGFjay5jOjQ4MworbXNnaWQgImdpdmluZyB1cCIKK21zZ3N0ciAiYWJhbmRvbiIKKworIzogZmV0Y2gtcGFjay5jOjQ5MyBwcm9ncmVzcy5jOjIzNQorbXNnaWQgImRvbmUiCittc2dzdHIgImZhaXQiCisKKyM6IGZldGNoLXBhY2suYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ290ICVzICglZCkgJXMiCittc2dzdHIgIiVzIHRyb3V2w6kgKCVkKSAlcyIKKworIzogZmV0Y2gtcGFjay5jOjU1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNYXJraW5nICVzIGFzIGNvbXBsZXRlIgorbXNnc3RyICJNYXJxdWFnZSBkZSAlcyBjb21tZSB0ZXJtaW7DqSIKKworIzogZmV0Y2gtcGFjay5jOjY5NworIywgYy1mb3JtYXQKK21zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKK21zZ3N0ciAiJXMgZMOpasOgIHBvc3PDqWTDqSAoJXMpIgorCisjOiBmZXRjaC1wYWNrLmM6NzM1Cittc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCittc2dzdHIgImZldGNoLXBhY2vCoDogaW1wb3NzaWJsZSBkZSBkdXBsaXF1ZXIgbGUgZMOpbXVsdGlwbGV4ZXVyIGxhdMOpcmFsIgorCisjOiBmZXRjaC1wYWNrLmM6NzQzCittc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBwYWNrIGhlYWRlciIKK21zZ3N0ciAiZXJyZXVyIGRlIHByb3RvY29sZcKgOiBtYXV2YWlzIGVudMOqdGUgZGUgcGFxdWV0IgorCisjOiBmZXRjaC1wYWNrLmM6Nzk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKK21zZ3N0ciAiZmV0Y2gtcGFjayA6IGltcG9zc2libGUgZGUgZHVwbGlxdWVyICVzIgorCisjOiBmZXRjaC1wYWNrLmM6ODE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlICVzIgorCisjOiBmZXRjaC1wYWNrLmM6ODE3Cittc2dpZCAiZXJyb3IgaW4gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKK21zZ3N0ciAiZXJyZXVyIGRhbnMgbGUgZMOpbXVsdGlwbGV4ZXIgbGF0w6lyYWwiCisKKyM6IGZldGNoLXBhY2suYzo4NDQKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNsaWVudHMiCittc2dzdHIgIkxlIHNlcnZldXIgbmUgc3VwcG9ydGUgbGVzIGNsaWVudHMgc3VwZXJmaWNpZWxzIgorCisjOiBmZXRjaC1wYWNrLmM6ODQ4Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2Fja19kZXRhaWxlZCIKK21zZ3N0ciAiTGUgc2VydmV1ciBzdXBwb3J0ZSBtdWx0aV9hY2tfZGV0YWlsZWQiCisKKyM6IGZldGNoLXBhY2suYzo4NTEKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZSIKK21zZ3N0ciAiTGUgc2VydmV1ciBzdXBwb3J0IG5vLWRvbmUiCisKKyM6IGZldGNoLXBhY2suYzo4NTcKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgorbXNnc3RyICJMZSBzZXJ2ZXVyIHN1cHBvcnRlIG11bHRpX2FjayIKKworIzogZmV0Y2gtcGFjay5jOjg2MQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQtNjRrIgorbXNnc3RyICJMZSBzZXJ2ZXVyIHN1cHBvcnRlIHNpZGUtYmFuZC02NGsiCisKKyM6IGZldGNoLXBhY2suYzo4NjUKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgorbXNnc3RyICJMZSBzZXJ2ZXJ1IHN1cHBvcnRlIHNpZGUtYmFuZCIKKworIzogZmV0Y2gtcGFjay5jOjg2OQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgorbXNnc3RyICJMZSBzZXJ2ZXVyIHN1cHBvcnRlIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCisKKyM6IGZldGNoLXBhY2suYzo4NzMKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKK21zZ3N0ciAiTGUgc2VydmV1ciBzdXBwb3J0ZSBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgorCisjOiBmZXRjaC1wYWNrLmM6ODgzCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKK21zZ3N0ciAiTGUgc2VydmV1ciBzdXBwb3J0IG9mcy1kZWx0YSIKKworIzogZmV0Y2gtcGFjay5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgdmVyc2lvbiBpcyAlLipzIgorbXNnc3RyICJMYSB2ZXJzaW9uIGR1IHNlcnZldXIgZXN0ICUuKnMiCisKKyM6IGZldGNoLXBhY2suYzo4OTYKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctc2luY2UiCittc2dzdHIgIkxlIHJlY2V2ZXVyIG5lIGfDqHJlIHBhcyAtLXNoYWxsb3ctc2luY2UiCisKKyM6IGZldGNoLXBhY2suYzo5MDAKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctZXhjbHVkZSIKK21zZ3N0ciAiTGUgcmVjZXZldXIgbmUgZ8OocmUgcGFzIC0tc2hhbGxvdy1leGNsdWRlIgorCisjOiBmZXRjaC1wYWNrLmM6OTAyCittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1kZWVwZW4iCittc2dzdHIgIkxlIHJlY2V2ZXVyIG5lIGfDqHJlIHBhcyAtLWRlZXBlbiIKKworIzogZmV0Y2gtcGFjay5jOjkxMworbXNnaWQgIm5vIGNvbW1vbiBjb21taXRzIgorbXNnc3RyICJwYXMgZGUgY29tbWl0IGNvbW11biIKKworIzogZmV0Y2gtcGFjay5jOjkyNQorbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBmYWlsZWQuIgorbXNnc3RyICJnaXQgZmV0Y2gtcGFja8KgOiDDqWNoZWMgZGUgbGUgcsOpY3Vww6lyYXRpb24uIgorCisjOiBmZXRjaC1wYWNrLmM6MTA4NworbXNnaWQgIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIgorbXNnc3RyICJwYXMgZGUgSEVBRCBkaXN0YW50ZSBjb3JyZXNwb25kYW50ZSIKKworIzogZ3BnLWludGVyZmFjZS5jOjE4NQogbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKIG1zZ3N0ciAiZ3BnIG4nYSBwYXMgcHUgc2lnbmVyIGxlcyBkb25uw6llcyIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIyMgotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlICclcyciCi1tc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIHVuIGZpY2hpZXIgdGVtcG9yYWlyZSAnJXMnIgorIzogZ3BnLWludGVyZmFjZS5jOjIxNQorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIHVuIGZpY2hpZXIgdGVtcG9yYWlyZSIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIyNAorIzogZ3BnLWludGVyZmFjZS5jOjIxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGEgc2lnbmF0dXJlIGTDqXRhY2jDqWUgZGFucyAnJXMnIgogCi0jOiBncmVwLmM6MTcxOAorIzogZ3JlcC5jOjE3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIiclcycgOiBsZWN0dXJlIGRlICVzIGltcG9zc2libGUiCiAKLSM6IGdyZXAuYzoxNzM1IGJ1aWx0aW4vY2xvbmUuYzozODIgYnVpbHRpbi9kaWZmLmM6ODQgYnVpbHRpbi9ybS5jOjE1NQorIzogZ3JlcC5jOjE3OTkgYnVpbHRpbi9jbG9uZS5jOjM4MSBidWlsdGluL2RpZmYuYzo4NCBidWlsdGluL3JtLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCiBtc2dzdHIgIsOpY2hlYyBkdSBzdGF0IGRlICclcyciCiAKLSM6IGdyZXAuYzoxNzQ2CisjOiBncmVwLmM6MTgxMAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkIgogbXNnc3RyICInJXMnIDogbGVjdHVyZSB0cm9ucXXDqWUiCiAKLSM6IGhlbHAuYzoyMDUKKyM6IGhlbHAuYzoyMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgogbXNnc3RyICJjb21tYW5kZXMgZ2l0IGRpc3BvbmlibGVzIGRhbnMgJyVzJyIKIAotIzogaGVscC5jOjIxMgorIzogaGVscC5jOjIxMAogbXNnaWQgImdpdCBjb21tYW5kcyBhdmFpbGFibGUgZnJvbSBlbHNld2hlcmUgb24geW91ciAkUEFUSCIKIG1zZ3N0ciAiY29tbWFuZGVzIGdpdCBkaXNwb25pYmxlcyBkZXB1aXMgdW4gYXV0cmUgZW5kcm9pdCBkZSB2b3RyZSAkUEFUSCIKIAotIzogaGVscC5jOjI0NAorIzogaGVscC5jOjI0MQogbXNnaWQgIlRoZXNlIGFyZSBjb21tb24gR2l0IGNvbW1hbmRzIHVzZWQgaW4gdmFyaW91cyBzaXR1YXRpb25zOiIKIG1zZ3N0ciAiQ2ktZGVzc291cyBsZXMgY29tbWFuZGVzIEdpdCBoYWJpdHVlbGxlcyBkYW5zIGRpdmVyc2VzIHNpdHVhdGlvbnPCoDoiCiAKLSM6IGhlbHAuYzozMDkKKyM6IGhlbHAuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgYXBwZWFycyB0byBiZSBhIGdpdCBjb21tYW5kLCBidXQgd2Ugd2VyZSBub3RcbiIKQEAgLTcyNCwxMSArMTg4MiwxMSBAQAogIiclcycgc2VtYmxlIMOqdHJlIHVuZSBjb21tYW5kZSBnaXQsIG1haXMgZWxsZSBuJ2EgcGFzIHB1XG4iCiAiw6p0cmUgZXjDqWN1dMOpZS4gUGV1dC3DqnRyZSBnaXQtJXMgZXN0LWVsbGUgY2Fzc8OpZSA/IgogCi0jOiBoZWxwLmM6MzY2CisjOiBoZWxwLmM6MzYxCiBtc2dpZCAiVWggb2guIFlvdXIgc3lzdGVtIHJlcG9ydHMgbm8gR2l0IGNvbW1hbmRzIGF0IGFsbC4iCiBtc2dzdHIgIkFoZW0uIFZvdHJlIHN5c3TDqG1lIG4naW5kaXF1ZSBhdWN1bmUgY29tbWFuZGUgR2l0LiIKIAotIzogaGVscC5jOjM4OAorIzogaGVscC5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LlxuIgpAQCAtNzM4LDE3ICsxODk2LDE3IEBACiAicGFzLlxuIgogIkNvbnRpbnVvbnMgZW4gc3VwcG9zYW50IHF1ZSB2b3VzIGF2ZXogdm91bHUgZGlyZSAnJXMnIgogCi0jOiBoZWxwLmM6MzkzCisjOiBoZWxwLmM6Mzg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluICUwLjFmIHNlY29uZHMgYXV0b21hdGljYWxseS4uLiIKIG1zZ3N0ciAiZGFucyAlMC4xZiBzZWNvbmRlcyBhdXRvbWF0aXF1ZW1lbnQuLi4iCiAKLSM6IGhlbHAuYzo0MDAKKyM6IGhlbHAuYzozOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0OiAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kLiBTZWUgJ2dpdCAtLWhlbHAnLiIKIG1zZ3N0ciAiZ2l0IDogJyVzJyBuJ2VzdCBwYXMgdW5lIGNvbW1hbmRlIGdpdC4gVm9pciAnZ2l0IC0taGVscCcuIgogCi0jOiBoZWxwLmM6NDA0IGhlbHAuYzo0NjQKKyM6IGhlbHAuYzozOTkgaGVscC5jOjQ2NQogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC03NjIsMTEgKzE5MjAsMzcgQEAKICJcbiIKICJWb3VsaWV6LXZvdXMgZGlyZSB1biBkZSBjZXV4LWzDoCA/IgogCi0jOiBoZWxwLmM6NDYwCisjOiBoZWxwLmM6NDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyAtICVzIgogbXNnc3RyICIlczogJXMgLSAlcyIKIAorIzogaWRlbnQuYzozMzQKK21zZ2lkICIiCisiXG4iCisiKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgorIlxuIgorIlJ1blxuIgorIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwieW91QGV4YW1wbGUuY29tXCJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiWW91ciBOYW1lXCJcbiIKKyJcbiIKKyJ0byBzZXQgeW91ciBhY2NvdW50J3MgZGVmYXVsdCBpZGVudGl0eS5cbiIKKyJPbWl0IC0tZ2xvYmFsIHRvIHNldCB0aGUgaWRlbnRpdHkgb25seSBpbiB0aGlzIHJlcG9zaXRvcnkuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogVmV1aWxsZXogbWUgZGlyZSBxdWkgdm91cyDDqnRlcy5cbiIKKyJcbiIKKyJMYW5jZXpcbiIKKyJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCBcIlZvdXNAZXhlbXBsZS5jb21cIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJWb3RyZSBOb21cIlxuIgorIlxuIgorInBvdXIgcsOpZ2xlciBsJ2lkZW50aXTDqSBwYXIgZMOpZmF1dCBkZSB2b3RyZSBjb21wdGUuXG4iCisiw4lsaW1pbmV6IC0tZ2xvYmFsIHBvdXIgbmUgZmFpcmUgbGVzIHLDqWdsYWdlcyBxdWUgZGFucyBjZSBkw6lww7R0LlxuIgorIlxuIgorCiAjOiBsb2NrZmlsZS5jOjE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCkBAIC03OTUsODMgKzE5NzksNzggQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsZSBjYWNoZSIKIAotIzogbWVyZ2UuYzo5NCBidWlsdGluL2FtLmM6MjAwNyBidWlsdGluL2FtLmM6MjA0MiBidWlsdGluL2NoZWNrb3V0LmM6Mzc1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTg2IGJ1aWx0aW4vY2xvbmUuYzo3MzIKKyM6IG1lcmdlLmM6OTYgYnVpbHRpbi9hbS5jOjIwMDAgYnVpbHRpbi9hbS5jOjIwMzUgYnVpbHRpbi9jaGVja291dC5jOjM3NAorIzogYnVpbHRpbi9jaGVja291dC5jOjU4OCBidWlsdGluL2Nsb25lLmM6NzMxCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBub3V2ZWF1IGZpY2hpZXIgZCdpbmRleCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg5Ci0jLCBjLWZvcm1hdAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA5CiBtc2dpZCAiKGJhZCBjb21taXQpXG4iCiBtc2dzdHIgIihtYXV2YWlzIGNvbW1pdClcbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkaW5mb19jYWNoZSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGFkZGluZm9fY2FjaGUgcG91ciBsZSBjaGVtaW4gJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDEKIG1zZ2lkICJlcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiZXJyZXVyIGRlIGNvbnN0cnVjdGlvbiBkZXMgYXJicmVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo2ODkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBhdGggJyVzJyVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciBsZSBjaGVtaW4gJyVzJyAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzAwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMgdG8gbWFrZSByb29tIGZvciBzdWJkaXJlY3RvcnlcbiIKIG1zZ3N0ciAiU3VwcHJlc3Npb24gZGUgJXMgcG91ciBmYWlyZSBkZSBsYSBwbGFjZSBwb3VyIGxlIHNvdXMtcsOpcGVydG9pcmVcbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzE0IG1lcmdlLXJlY3Vyc2l2ZS5jOjczNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzQ1IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2NAogbXNnaWQgIjogcGVyaGFwcyBhIEQvRiBjb25mbGljdD8iCiBtc2dzdHIgIjogcGV1dC3DqnRyZSB1biBjb25mbGl0IEQvRiA/IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3MjUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciCiBtc2dzdHIgInJlZnVzIGRlIHBlcmRyZSBsZSBmaWNoaWVyIG5vbiBzdWl2aSAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NjUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5NiBidWlsdGluL2NhdC1maWxlLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsJ29iamV0ICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciCiBtc2dzdHIgImJsb2IgYXR0ZW5kdSBwb3VyICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5MCBidWlsdGluL2Nsb25lLmM6Mzc2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MjIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKLW1zZ3N0ciAiw6ljaGVjIMOgIGwnb3V2ZXJ0dXJlIGRlICclcyciCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiCittc2dzdHIgIsOpY2hlYyDDoCBsJ291dmVydHVyZSBkZSAnJXMnwqA6ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3OTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgzMwogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gc3ltbGluayAnJXMnIgotbXNnc3RyICLDqWNoZWMgw6AgbGEgY3LDqWF0aW9uIGR1IGxpZW4gc3ltYm9saXF1ZSAnJXMnIgorbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyc6ICVzIgorbXNnc3RyICLDqWNoZWMgw6AgbGEgY3LDqWF0aW9uIGR1IGxpZW4gc3ltYm9saXF1ZSAnJXMnwqA6ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo4MDEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJkbyBub3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJTA2byAlcyAnJXMnIgogbXNnc3RyICJuZSBzYWl0IHBhcyB0cmFpdGVyICUwNm8gJXMgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTM5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5NzgKIG1zZ2lkICJGYWlsZWQgdG8gZXhlY3V0ZSBpbnRlcm5hbCBtZXJnZSIKIG1zZ3N0ciAiw4ljaGVjIMOgIGwnZXjDqWN1dGlvbiBkZSBsYSBmdXNpb24gaW50ZXJuZSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTQzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2Fqb3V0ZXIgJXMgw6AgbGEgYmFzZSBkZSBkb25uw6llcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTU5Ci1tc2dpZCAidW5zdXBwb3J0ZWQgb2JqZWN0IHR5cGUgaW4gdGhlIHRyZWUiCi1tc2dzdHIgInR5cGUgZCdvYmpldCBub24gc3VwcG9ydMOpIGRhbnMgbCdhcmJyZSIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAzNCBtZXJnZS1yZWN1cnNpdmUuYzoxMDQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgxIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTg4MCw3ICsyMDU5LDcgQEAKICJDT05GTElUICglcy9zdXBwcmVzc2lvbikgOiAlcyBzdXBwcmltw6kgZGFucyAlcyBldCAlcyBkYW5zICVzLiBWZXJzaW9uICVzIGRlICIKICIlcyBsYWlzc8OpZSBkYW5zIGwnYXJicmUuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDQwIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwNTMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODcgbWVyZ2UtcmVjdXJzaXZlLmM6MTEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtODg5LDIwICsyMDY4LDIwIEBACiAiQ09ORkxJVCAoJXMvc3VwcHJlc3Npb24pIDogJXMgc3VwcHJpbcOpIGRhbnMgJXMgZXQgJXMgZGFucyAlcy4gVmVyc2lvbiAlcyBkZSAiCiAiJXMgbGFpc3PDqWUgZGFucyBsJ2FyYnJlIGRhbnMgbGUgZmljaGllciAlcy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNDMKIG1zZ2lkICJyZW5hbWUiCiBtc2dzdHIgInJlbm9tbWFnZSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0MwogbXNnaWQgInJlbmFtZWQiCiBtc2dzdHIgInJlbm9tbcOpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTUwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGEgZGlyZWN0b3J5IGluICVzIGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIlcyBlc3QgdW4gcsOpcGVydG9pcmUgZGFucyAlcyBham91dMOpIHBsdXTDtHQgY29tbWUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIFwiJXNcIi0+XCIlc1wiIGluIGJyYW5jaCBcIiVzXCIgcmVuYW1lIFwiJXMiCkBAIC05MTEsMTQ5ICsyMDkwLDE1NiBAQAogIkNPTkZMSVQgKHJlbm9tbWFnZS9yZW5vbW1hZ2UpIDogUmVub21tYWdlIGRlIFwiJXNcIi0+XCIlc1wiIGRhbnMgbGEgYnJhbmNoZSAiCiAiXCIlc1wiIGV0IHJlbm9tbWFnZSBcIiVzXCItPlwiJXNcIiBkYW5zIFwiJXNcIiVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTc3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjMwCiBtc2dpZCAiIChsZWZ0IHVucmVzb2x2ZWQpIgogbXNnc3RyICIgKGxhaXNzw6kgbm9uIHLDqXNvbHUpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjMxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAiIgogIkNPTkZMSVQgKHJlbm9tbWFnZS9yZW5vbW1hZ2UpIDogcmVub21tYWdlICclcyctPiclcycgZGFucyAlcy4gUmVub21tYWdlICclcyctIgogIj4nJXMnIGRhbnMgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNjEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXMgYW5kICVzIHRvICVzIGluc3RlYWQiCiBtc2dzdHIgIlJlbm9tbWFnZSBkZSAlcyBlbiAlcyBldCBkZSAlcyBlbiAlcyDDoCBsYSBwbGFjZSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ2MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICVzIGFkZGVkIGluICVzIgogbXNnc3RyICIiCiAiQ09ORkxJVCAocmVub21tYWdlL2Fqb3V0KSA6IFJlbm9tbWFnZSBkZSAlcy0+JXMgZGFucyAlcy4gJXMgYWpvdXTDqSBkYW5zICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyBtZXJnZWQgJXMiCiBtc2dzdHIgIkFqb3V0IGRlICVzIGZ1c2lvbm7DqSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ3NSBtZXJnZS1yZWN1cnNpdmUuYzoxNjc3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTUzIG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIkFqb3V0IHBsdXTDtHQgY29tbWUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MjYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbCdvYmpldCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUyOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgaXMgbm90IGEgYmxvYiIKIG1zZ3N0ciAibCdvYmpldCAlcyBuJ2VzdCBwYXMgdW4gYmxvYiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU4MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY2NgogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAibW9kaWZpY2F0aW9uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjY2CiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgIm1vZGlmacOpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTkxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjc2CiBtc2dpZCAiY29udGVudCIKIG1zZ3N0ciAiY29udGVudSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU5OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MwogbXNnaWQgImFkZC9hZGQiCiBtc2dzdHIgImFqb3V0L2Fqb3V0IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjMyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIKIG1zZ3N0ciAiJXMgc2F1dMOpIChmdXNpb24gaWRlbnRpcXVlIMOgIGwnZXhpc3RhbnQpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjQ2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKIG1zZ3N0ciAiRnVzaW9uIGF1dG9tYXRpcXVlIGRlICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjUwIGdpdC1zdWJtb2R1bGUuc2g6OTQxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM2IGdpdC1zdWJtb2R1bGUuc2g6OTI0CiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICJzb3VzLW1vZHVsZSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY1MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIKIG1zZ3N0ciAiQ09ORkxJVCAoJXMpIDogQ29uZmxpdCBkZSBmdXNpb24gZGFucyAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlcyIKIG1zZ3N0ciAiU3VwcHJlc3Npb24gZGUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NTcKIG1zZ2lkICJmaWxlL2RpcmVjdG9yeSIKIG1zZ3N0ciAiZmljaGllci9yw6lwZXJ0b2lyZSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc2OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2MwogbXNnaWQgImRpcmVjdG9yeS9maWxlIgogbXNnc3RyICJyw6lwZXJ0b2lyZS9maWNoaWVyIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzczCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICIiCiAiQ09ORkxJVCAoJXMpIDogSWwgeSBhIHVuIHLDqXBlcnRvaXJlIG5vbW3DqSAlcyBkYW5zICVzLiBBam91dCBkZSAlcyBjb21tZSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc4MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgJXMiCiBtc2dzdHIgIkFqb3V0IGRlICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzk4Ci1tc2dpZCAiRmF0YWwgbWVyZ2UgZmFpbHVyZSwgc2hvdWxkbid0IGhhcHBlbi4iCi1tc2dzdHIgIsOJY2hlYyBmYXRhbCBkZSBmdXNpb24sIHF1aSBuZSBkZXZyYWl0IGphbWFpcyBhcnJpdmVyLiIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTgxNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkxNAogbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZSEiCiBtc2dzdHIgIkTDqWrDoCDDoCBqb3VyICEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MjYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgZnVzaW9uIGRlcyBhcmJyZXMgJXMgZXQgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5wcm9jZXNzZWQgcGF0aD8/PyAlcyIKLW1zZ3N0ciAiQ2hlbWluIG5vbiB0cmFpdMOpID8/PyAlcyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkwNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAwNgogbXNnaWQgIk1lcmdpbmc6IgogbXNnc3RyICJGdXNpb24gOiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkxNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IgogbXNnaWRfcGx1cmFsICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3JzOiIKIG1zZ3N0clswXSAiJXUgYW5jw6p0cmUgY29tbXVuIHRyb3V2w6kgOiIKIG1zZ3N0clsxXSAiJXUgYW5jw6p0cmVzIGNvbW11bnMgdHJvdXbDqXMgOiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk1NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA1OAogbXNnaWQgIm1lcmdlIHJldHVybmVkIG5vIGNvbW1pdCIKIG1zZ3N0ciAibGEgZnVzaW9uIG4nYSBwYXMgcmV0b3VybsOpIGRlIGNvbW1pdCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZCdhbmFseXNlciBsJ29iamV0ICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMjIgYnVpbHRpbi9tZXJnZS5jOjY0OSBidWlsdGluL21lcmdlLmM6ODMxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTM1IGJ1aWx0aW4vbWVyZ2UuYzo2NDEgYnVpbHRpbi9tZXJnZS5jOjc4OAogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCiBtc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIGwnaW5kZXguIgogCisjOiBub3Rlcy1tZXJnZS5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIHByZXZpb3VzIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLlxuIgorIlBsZWFzZSwgdXNlICdnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnIG9yICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcgdG8gIgorImNvbW1pdC9hYm9ydCB0aGUgcHJldmlvdXMgbWVyZ2UgYmVmb3JlIHlvdSBzdGFydCBhIG5ldyBub3RlcyBtZXJnZS4iCittc2dzdHIgIiIKKyJWb3VzIG4nYXZleiBwYXMgdGVybWluw6kgdm90cmUgcHLDqWPDqWRlbnRlIGZ1c2lvbiBkZSBub3RlcyAoJXMgZXhpc3RlKS5cbiIKKyJWZXVpbGxleiB1dGlsaXNlciAnZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0JyBvdSAnZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQnICIKKyJwb3VyIHZhbGlkZXIvYWJhbmRvbm5lciBsYSBmdXNpb24gZW4gY291cnMgYXZhbnQgZCdlbiBkw6ltYXJyZXIgdW5lIG5vdXZlbGxlLiIKKworIzogbm90ZXMtbWVyZ2UuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLiIKK21zZ3N0ciAiVm91cyBuJ2F2ZXogcGFzIHRlcm1pbsOpIHZvdHJlIGZ1c2lvbiBkZSBub3RlcyAoJXMgZXhpc3RlKS4iCisKICM6IG5vdGVzLXV0aWxzLmM6NDEKIG1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgdmFsaWRlciB1biBhcmJyZSBkZSBub3RlcyBub24gaW5pdGlhbGlzw6kvcsOpZsOpcmVuY8OpIgpAQCAtMTExMCw3ICsyMjk2LDcgQEAKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJyVzJyIKIG1zZ3N0ciAibm9tIGQnb2JqZXQgbWFsZm9ybcOpICclcyciCiAKLSM6IHBhdGguYzo3OTYKKyM6IHBhdGguYzo4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcmVuZHJlICVzIGluc2NyaXB0aWJsZSBwb3VyIGxlIGdyb3VwZSIKQEAgLTExNzAsMTIgKzIzNTYsMjEgQEAKICIlcyA6IGxlIHNww6ljaWZpY2F0ZXVyIG1hZ2lxdWUgZGUgY2hlbWluIG4nZXN0IHBhcyBzdXBwb3J0w6kgcGFyIGNldHRlICIKICJjb21tYW5kZSA6ICVzIgogCi0jOiBwYXRoc3BlYy5jOjQzMworIzogcGF0aHNwZWMuYzo0MDgKK21zZ2lkICIiCisiZW1wdHkgc3RyaW5ncyBhcyBwYXRoc3BlY3Mgd2lsbCBiZSBtYWRlIGludmFsaWQgaW4gdXBjb21pbmcgcmVsZWFzZXMuIHBsZWFzZSAiCisidXNlIC4gaW5zdGVhZCBpZiB5b3UgbWVhbnQgdG8gbWF0Y2ggYWxsIHBhdGhzIgorbXNnc3RyICIiCisibGVzIGNoYWluZXMgZGUgY2FyYWN0w6hyZXMgdmlkZXMgY29tbWUgc3DDqWNpZmljYXRldXJzIGRlIGNoZW1pbiBzZXJvbnQgIgorImludmFsaWRlcyBkYW5zIGxlcyBwcm9jaGFpbmVzIHZlcnNpb25zLiBWZXVpbGxleiB1dGlsaXNlciAuIMOgIGxhIHBsYWNlIHBvdXIgIgorImNvcnJlc3BvbmRyZSDDoCB0b3VzIGxlIGNoZW1pbnMiCisKKyM6IHBhdGhzcGVjLmM6NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAibGUgY2hlbWluICclcycgZXN0IGF1LWRlbMOgIGQndW4gbGllbiBzeW1ib2xpcXVlIgogCi0jOiBwYXRoc3BlYy5jOjQ0MgorIzogcGF0aHNwZWMuYzo0NDkKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKICJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgpAQCAtMTE4NywxMSArMjM4Miw3IEBACiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGZvcm1hdCAtLXByZXR0eSIKIAotIzogcHJvZ3Jlc3MuYzoyMzUKLW1zZ2lkICJkb25lIgotbXNnc3RyICJmYWl0IgotCi0jOiByZWFkLWNhY2hlLmM6MTI4MQorIzogcmVhZC1jYWNoZS5jOjEzMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImluZGV4LnZlcnNpb24gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0xMjAwLDcgKzIzOTEsNyBAQAogInZlcnNpb24gZCdpbmRleCByZW5zZWlnbsOpZSwgbWFpcyBsYSB2YWxldXIgZXN0IGludmFsaWRlLlxuIgogIlV0aWxpc2F0aW9uIGRlIGxhIHZlcnNpb24gJWkiCiAKLSM6IHJlYWQtY2FjaGUuYzoxMjkxCisjOiByZWFkLWNhY2hlLmM6MTMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiR0lUX0lOREVYX1ZFUlNJT04gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0xMjA5LDIzICsyNDAwLDIyIEBACiAiR0lUX0lOREVYX1ZFUlNJT04gZXN0IHJlbnNlaWduw6ksIG1haXMgbGEgdmFsZXVyIGVzdCBpbnZhbGlkZS5cbiIKICJVdGlsaXNhdGlvbiBkZSBsYSB2ZXJzaW9uICVpIgogCi0jOiByZWZzLmM6NTQzIGJ1aWx0aW4vbWVyZ2UuYzo3NjQgYnVpbHRpbi9tZXJnZS5jOjg4MyBidWlsdGluL21lcmdlLmM6OTg1Ci0jOiBidWlsdGluL21lcmdlLmM6OTk1CisjOiByZWZzLmM6NTc2IGJ1aWx0aW4vbWVyZ2UuYzo4NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciAnJXMnIGVuIMOpY3JpdHVyZSIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjI0MworIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZSAlczogJXMiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxhIHLDqWbDqXJlbmNlICVzwqA6ICVzIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyMjQ2CisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlczogJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxlcyByw6lmw6lyZW5jZXPCoDogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjIyNTUKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxhIHLDqWbDqXJlbmNlICVzIgpAQCAtMTM1NCwxMiArMjU0NCwxMiBAQAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgInLDqWYgY2Fzc8OpICVzIGlnbm9yw6kiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjUxCisjOiByZWYtZmlsdGVyLmM6MTYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICJmb3JtYXQ6IGF0b21lICUlKGVuZCkgbWFucXVhbnQiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNzA1CisjOiByZWYtZmlsdGVyLmM6MTY4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIm5vbSBkJ29iamV0IG1hbGZvcm3DqSAlcyIKQEAgLTEzODMsNzcgKzI1NzMsNzcgQEAKIG1zZ2lkICJJbnRlcm5hbCBlcnJvciIKIG1zZ3N0ciAiRXJyZXVyIGludGVybmUiCiAKLSM6IHJlbW90ZS5jOjE2NzggcmVtb3RlLmM6MTcyMQorIzogcmVtb3RlLmM6MTY3NyByZW1vdGUuYzoxNzIwCiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiSEVBRCBuZSBwb2ludGUgcGFzIHN1ciB1bmUgYnJhbmNoZSIKIAotIzogcmVtb3RlLmM6MTY4NworIzogcmVtb3RlLmM6MTY4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaDogJyVzJyIKIG1zZ3N0ciAicGFzIGRlIGJyYW5jaGUgJyVzJyIKIAotIzogcmVtb3RlLmM6MTY5MAorIzogcmVtb3RlLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiYXVjdW5lIGJyYW5jaGUgYW1vbnQgY29uZmlndXLDqWUgcG91ciBsYSBicmFuY2hlICclcyciCiAKLSM6IHJlbW90ZS5jOjE2OTYKKyM6IHJlbW90ZS5jOjE2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidXBzdHJlYW0gYnJhbmNoICclcycgbm90IHN0b3JlZCBhcyBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgImxhIGJyYW5jaGUgYW1vbnQgJyVzJyBuJ2VzdCBwYXMgc3RvY2vDqWUgY29tbWUgYnJhbmNoZSBkZSBzdWl2aSIKIAotIzogcmVtb3RlLmM6MTcxMQorIzogcmVtb3RlLmM6MTcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIGRlc3RpbmF0aW9uICclcycgb24gcmVtb3RlICclcycgaGFzIG5vIGxvY2FsIHRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiIgogImxhIGRlc3RpbmF0aW9uIGRlIHBvdXNzw6llICclcycgc3VyIGxlIHNlcnZldXIgZGlzdGFudCAnJXMnIG4nYSBwYXMgZGUgIgogImJyYW5jaGUgbG9jYWxlIGRlIHN1aXZpIgogCi0jOiByZW1vdGUuYzoxNzI2CisjOiByZW1vdGUuYzoxNzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGhhcyBubyByZW1vdGUgZm9yIHB1c2hpbmciCiBtc2dzdHIgImxhIGJyYW5jaGUgJyVzJyBuJ2EgYXVjdW5lIGJyYW5jaGUgZGlzdGFudGUgZGUgcG91c3PDqWUiCiAKLSM6IHJlbW90ZS5jOjE3MzcKKyM6IHJlbW90ZS5jOjE3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICJsZXMgcsOpZsOpcmVuY2VzIGRlIHNwZWMgcG91ciAnJXMnIG4naW5jbHVlbnQgcGFzICclcyciCiAKLSM6IHJlbW90ZS5jOjE3NTAKKyM6IHJlbW90ZS5jOjE3NDkKIG1zZ2lkICJwdXNoIGhhcyBubyBkZXN0aW5hdGlvbiAocHVzaC5kZWZhdWx0IGlzICdub3RoaW5nJykiCiBtc2dzdHIgImxhIHBvdXNzw6llIG4nYSBwYXMgZGUgZGVzdGluYXRpb24gKHB1c2guZGVmYXVsdCB2YXV0ICdub3RoaW5nJykiCiAKLSM6IHJlbW90ZS5jOjE3NzIKKyM6IHJlbW90ZS5jOjE3NzEKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSAnc2ltcGxlJyBwdXNoIHRvIGEgc2luZ2xlIGRlc3RpbmF0aW9uIgogbXNnc3RyICIiCiAiaW1wb3NzaWJsZSBkZSByw6lzb3VkcmUgdW5lIHBvdXNzw6llICdzaW1wbGUnIHBvdXIgdW5lIGRlc3RpbmF0aW9uIHVuaXF1ZSIKIAotIzogcmVtb3RlLmM6MjA3NAorIzogcmVtb3RlLmM6MjA3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiYXNlZCBvbiAnJXMnLCBidXQgdGhlIHVwc3RyZWFtIGlzIGdvbmUuXG4iCiBtc2dzdHIgIlZvdHJlIGJyYW5jaGUgZXN0IGJhc8OpZSBzdXIgJyVzJywgbWFpcyBsYSBicmFuY2hlIGFtb250IGEgZGlzcGFydS5cbiIKIAotIzogcmVtb3RlLmM6MjA3OAorIzogcmVtb3RlLmM6MjA3NwogbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHBvdXIgY29ycmlnZXIpXG4iCiAKLSM6IHJlbW90ZS5jOjIwODEKKyM6IHJlbW90ZS5jOjIwODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgdXAtdG8tZGF0ZSB3aXRoICclcycuXG4iCiBtc2dzdHIgIlZvdHJlIGJyYW5jaGUgZXN0IMOgIGpvdXIgYXZlYyAnJXMnLlxuIgogCi0jOiByZW1vdGUuYzoyMDg1CisjOiByZW1vdGUuYzoyMDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgogbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCiBtc2dzdHJbMF0gIlZvdHJlIGJyYW5jaGUgZXN0IGVuIGF2YW5jZSBzdXIgJyVzJyBkZSAlZCBjb21taXQuXG4iCiBtc2dzdHJbMV0gIlZvdHJlIGJyYW5jaGUgZXN0IGVuIGF2YW5jZSBzdXIgJyVzJyBkZSAlZCBjb21taXRzLlxuIgogCi0jOiByZW1vdGUuYzoyMDkxCisjOiByZW1vdGUuYzoyMDkwCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1c2hcIiB0byBwdWJsaXNoIHlvdXIgbG9jYWwgY29tbWl0cylcbiIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgcHVzaFwiIHBvdXIgcHVibGllciB2b3MgY29tbWl0cyBsb2NhdXgpXG4iCiAKLSM6IHJlbW90ZS5jOjIwOTQKKyM6IHJlbW90ZS5jOjIwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCkBAIC0xNDY1LDExICsyNjU1LDExIEBACiAiVm90cmUgYnJhbmNoZSBlc3QgZW4gcmV0YXJkIHN1ciAnJXMnIGRlICVkIGNvbW1pdHMsIGV0IHBldXQgw6p0cmUgbWlzZSDDoCBqb3VyICIKICJlbiBhdmFuY2UgcmFwaWRlLlxuIgogCi0jOiByZW1vdGUuYzoyMTAyCisjOiByZW1vdGUuYzoyMTAxCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHB1bGxcIiBwb3VyIG1ldHRyZSDDoCBqb3VyIHZvdHJlIGJyYW5jaGUgbG9jYWxlKVxuIgogCi0jOiByZW1vdGUuYzoyMTA1CisjOiByZW1vdGUuYzoyMTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgpAQCAtMTQ4NCw0MiArMjY3NCw0MiBAQAogIlZvdHJlIGJyYW5jaGUgZXQgJyVzJyBvbnQgZGl2ZXJnw6ksXG4iCiAiZXQgb250ICVkIGV0ICVkIGNvbW1pdHMgZGlmZsOpcmVudHMgY2hhY3VuZSByZXNwZWN0aXZlbWVudC5cbiIKIAotIzogcmVtb3RlLmM6MjExNQorIzogcmVtb3RlLmM6MjExNAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycylcbiIKIG1zZ3N0ciAiIgogIiAgKHV0aWxpc2V6IFwiZ2l0IHB1bGxcIiBwb3VyIGZ1c2lvbm5lciBsYSBicmFuY2hlIGRpc3RhbnRlIGRhbnMgbGEgdsO0dHJlKVxuIgogCi0jOiByZXZpc2lvbi5jOjIxNDIKKyM6IHJldmlzaW9uLmM6MjE1OAogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggYXBwZWFycyB0byBiZSBicm9rZW4iCiBtc2dzdHIgInZvdHJlIGJyYW5jaGUgYWN0dWVsbGUgc2VtYmxlIGNhc3PDqWUiCiAKLSM6IHJldmlzaW9uLmM6MjE0NQorIzogcmV2aXNpb24uYzoyMTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggJyVzJyBkb2VzIG5vdCBoYXZlIGFueSBjb21taXRzIHlldCIKIG1zZ3N0ciAidm90cmUgYnJhbmNoZSBhY3R1ZWxsZSAnJXMnIG5lIGNvbnRpZW50IGVuY29yZSBhdWN1biBjb21taXQiCiAKLSM6IHJldmlzaW9uLmM6MjMzOQorIzogcmV2aXNpb24uYzoyMzU1CiBtc2dpZCAiLS1maXJzdC1wYXJlbnQgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1iaXNlY3QiCiBtc2dzdHIgIi0tZmlyc3QtcGFyZW50IGVzdCBpbmNvbXBhdGlibGUgYXZlYyAtLWJpc2VjdCIKIAotIzogcnVuLWNvbW1hbmQuYzo5MgorIzogcnVuLWNvbW1hbmQuYzoxMDYKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSBsJ291dmVydHVyZSBkZSAvZGV2L251bGwiCiAKLSM6IHJ1bi1jb21tYW5kLmM6OTQKKyM6IHJ1bi1jb21tYW5kLmM6MTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGR1cDIoJWQsJWQpIgogCi0jOiBzZW5kLXBhY2suYzoyOTUKKyM6IHNlbmQtcGFjay5jOjI5NwogbXNnaWQgImZhaWxlZCB0byBzaWduIHRoZSBwdXNoIGNlcnRpZmljYXRlIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHNpZ25lciBsZSBjZXJ0aWZpY2F0IGRlIHBvdXNzw6llIgogCi0jOiBzZW5kLXBhY2suYzo0MDQKKyM6IHNlbmQtcGFjay5jOjQxMAogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKIG1zZ3N0ciAiTGUgcmVjZXZldXIgbmUgZ8OocmUgcGFzIGxlcyBwb3Vzc8OpZXMgYXZlYyAtLXNpZ25lZCIKIAotIzogc2VuZC1wYWNrLmM6NDA2CisjOiBzZW5kLXBhY2suYzo0MTIKIG1zZ2lkICIiCiAibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCiAic2lnbmVkIHB1c2giCkBAIC0xNTI3LDExICsyNzE3LDIzIEBACiAicGFzIGQnZW52b2kgZGUgY2VydGlmaWNhdCBkZSBwb3Vzc8OpZSBjYXIgbGUgcmVjZXZldXIgbmUgZ8OocmUgcGFzIGxlcyAiCiAicG91c3PDqWVzIGF2ZWMgLS1zaWduZWQiCiAKLSM6IHNlbmQtcGFjay5jOjQxOAorIzogc2VuZC1wYWNrLmM6NDI0CiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLWF0b21pYyBwdXNoIgogbXNnc3RyICJMZSByZWNldmV1ciBuZSBnw6hyZSBwYXMgbGVzIHBvdXNzw6llcyBhdmVjIC0tYXRvbWljIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzQKKyM6IHNlbmQtcGFjay5jOjQyOQorbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgorbXNnc3RyICJMZSByZWNldmV1ciBuZSBnw6hyZSBwYXMgbGVzIG9wdGlvbnMgZGUgcG91c3PDqWVzIgorCisjOiBzZXF1ZW5jZXIuYzoxNzEKK21zZ2lkICJyZXZlcnQiCittc2dzdHIgInJldmVydCIKKworIzogc2VxdWVuY2VyLmM6MTcxCittc2dpZCAiY2hlcnJ5LXBpY2siCittc2dzdHIgImNoZXJyeS1waWNrIgorCisjOiBzZXF1ZW5jZXIuYzoyMjgKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+JyIKQEAgLTE1MzksNyArMjc0MSw3IEBACiAiYXByw6hzIHLDqXNvbHV0aW9uIGRlcyBjb25mbGl0cywgbWFycXVleiBsZXMgY2hlbWlucyBjb3JyaWfDqXNcbiIKICJhdmVjICdnaXQgYWRkIDxjaGVtaW5zPicgb3UgJ2dpdCBybSA8Y2hlbWlucz4nIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzcKKyM6IHNlcXVlbmNlci5jOjIzMQogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nXG4iCkBAIC0xNTQ5LDIyOSArMjc1MSwyOTAgQEAKICJhdmVjICdnaXQgYWRkIDxjaGVtaW5zPicgb3UgJ2dpdCBybSA8Y2hlbWlucz4nXG4iCiAicHVpcyB2YWxpZGV6IGxlIHLDqXN1bHRhdCBhdmVjICdnaXQgY29tbWl0JyIKIAotIzogc2VxdWVuY2VyLmM6MTkwIHNlcXVlbmNlci5jOjgzMyBzZXF1ZW5jZXIuYzo5MTIKKyM6IHNlcXVlbmNlci5jOjI0NCBzZXF1ZW5jZXIuYzoxMjA5CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAlcyIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkJ8OpY3JpcmUgZGFucyAlcyIKK21zZ2lkICJjb3VsZCBub3QgbG9jayAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHZlcnJvdWlsbGVyICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjE5MworIzogc2VxdWVuY2VyLmM6MjQ3IHNlcXVlbmNlci5jOjExMjUgc2VxdWVuY2VyLmM6MTIxNAogIywgYy1mb3JtYXQKLW1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcyIKLW1zZ3N0ciAiRXJyZXVyIMOgIGwnZW1iYWxsYWdlIGRlICVzIgorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBkYW5zICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjIwOAotbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVycnktcGljay4iCi1tc2dzdHIgIlZvcyBtb2RpZmljYXRpb25zIGxvY2FsZXMgc2VyYWllbnQgw6ljcmFzw6llcyBwYXIgY2hlcnJ5LXBpY2suIgorIzogc2VxdWVuY2VyLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGEgZmluIGRlIGxpZ25lIGRhbnMgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjEwCi1tc2dpZCAiWW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHJldmVydC4iCi1tc2dzdHIgIlZvcyBtb2RpZmljYXRpb25zIGxvY2FsZXMgc2VyYWllbnQgw6ljcmFzw6llcyBwYXIgcmV2ZXJ0LiIKKyM6IHNlcXVlbmNlci5jOjI1NSBzZXF1ZW5jZXIuYzoxMTMwIHNlcXVlbmNlci5jOjEyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplICclcycuIgorbXNnc3RyICLDqWNoZWMgbG9ycyBkZSBsYSBmaW5hbGlzYXRpb24gZGUgJyVzJy4iCiAKLSM6IHNlcXVlbmNlci5jOjIxMwotbXNnaWQgIkNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKLW1zZ3N0ciAiVmFsaWRleiB2b3MgbW9kaWZpY2F0aW9ucyBvdSBsZXMgcmVtaXNlciBwb3VyIGNvbnRpbnVlci4iCisjOiBzZXF1ZW5jZXIuYzoyNzkgYnVpbHRpbi9hbS5jOjI1OSBidWlsdGluL2NvbW1pdC5jOjc0OSBidWlsdGluL21lcmdlLmM6MTAzMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJyVzJyIKKworIzogc2VxdWVuY2VyLmM6MzA1CisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iCittc2dzdHIgInZvcyBtb2RpZmljYXRpb25zIGxvY2FsZXMgc2VyYWllbnQgw6ljcmFzw6llcyBwYXIgJXMuIgorCisjOiBzZXF1ZW5jZXIuYzozMDkKK21zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCittc2dzdHIgInZhbGlkZXogdm9zIG1vZGlmaWNhdGlvbnMgb3UgbGVzIHJlbWlzZXIgcG91ciBjb250aW51ZXIuIgorCisjOiBzZXF1ZW5jZXIuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhc3QtZm9yd2FyZCIKK21zZ3N0ciAiJXPCoDogYXZhbmNlIHJhcGlkZSIKIAogIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIgb3IgImNoZXJyeS1waWNrIgotIzogc2VxdWVuY2VyLmM6MzAwCisjOiBzZXF1ZW5jZXIuYzozOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6IEltcG9zc2libGUgZCfDqWNyaXJlIGxlIG5vdXZlYXUgZmljaGllciBpbmRleCIKIAotIzogc2VxdWVuY2VyLmM6MzE4Ci1tc2dpZCAiQ291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByw6lzb3VkcmUgbGUgY29tbWl0IEhFQURcbiIKKyM6IHNlcXVlbmNlci5jOjQxOAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCittc2dzdHIgImltcG9zc2libGUgZGUgcsOpc291ZHJlIGxlIGNvbW1pdCBIRUFEXG4iCiAKLSM6IHNlcXVlbmNlci5jOjMzOAotbXNnaWQgIlVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGwnYXJicmUgZGUgY2FjaGVcbiIKKyM6IHNlcXVlbmNlci5jOjQzOAorbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGwnYXJicmUgZGUgY2FjaGVcbiIKIAotIzogc2VxdWVuY2VyLmM6MzkwCisjOiBzZXF1ZW5jZXIuYzo0ODMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgotbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgY29tbWl0ICVzXG4iCi0KLSM6IHNlcXVlbmNlci5jOjM5NQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgotbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgY29tbWl0IHBhcmVudCAlc1xuIgotCi0jOiBzZXF1ZW5jZXIuYzo0NjAKLW1zZ2lkICJZb3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgotbXNnc3RyICJWb3RyZSBmaWNoaWVyIGQnaW5kZXggbidlc3QgcGFzIGZ1c2lvbm7DqS4iCi0KLSM6IHNlcXVlbmNlci5jOjQ3OQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCi1tc2dzdHIgIkxlIGNvbW1pdCAlcyBlc3QgdW5lIGZ1c2lvbiBtYWlzIGwnb3B0aW9uIC1tIG4nYSBwYXMgw6l0w6kgc3DDqWNpZmnDqWUuIgotCi0jOiBzZXF1ZW5jZXIuYzo0ODcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgotbXNnc3RyICJMZSBjb21taXQgJXMgbidhIHBhcyBsZSBwYXJlbnQgJWQiCi0KLSM6IHNlcXVlbmNlci5jOjQ5MQotIywgYy1mb3JtYXQKLW1zZ2lkICJNYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgorbXNnaWQgIiIKKyJ5b3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZVxuIgorIklmIHRoZXNlIGNoYW5nZXMgYXJlIG1lYW50IHRvIGJlIHNxdWFzaGVkIGludG8gdGhlIHByZXZpb3VzIGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisiSWYgdGhleSBhcmUgbWVhbnQgdG8gZ28gaW50byBhIG5ldyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJXNcbiIKKyJcbiIKKyJJbiBib3RoIGNhc2VzLCBvbmNlIHlvdSdyZSBkb25lLCBjb250aW51ZSB3aXRoOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiBtc2dzdHIgIiIKLSJVbmUgYnJhbmNoZSBwcmluY2lwYWxlIGEgw6l0w6kgc3DDqWNpZmnDqWUgbWFpcyBsZSBjb21taXQgJXMgbidlc3QgcGFzIHVuZSAiCisiVm91cyBhdmV6IGRlcyBtb2RpZmljYXRpb25zIGluZGV4w6llcyBkYW5zIHZvdHJlIGNvcGllIGRlIHRyYXZhaWwuXG4iCisiU2kgZWxsZXMgZGV2YWllbnQgw6p0cmUgYWpvdXTDqWVzIGRhbnMgbGUgY29tbWl0IHByw6ljw6lkZW50LCBsYW5jZXrCoDpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAlc1xuIgorIlxuIgorIlNpIGVsbGVzIGRldmFpZW50IGFsbGVyIGRhbnMgdW4gbm91dmVhdSBjb21taXQsIGxhbmNlesKgOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAlc1xuIgorIlxuIgorIkRhbnMgbGVzIGRldXggY2FzLCB1bmUgZm9pcyBmaW5pLCBjb250aW51ZXogYXZlY8KgOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisKKyM6IHNlcXVlbmNlci5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCittc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsZSBjb21taXQgJXNcbiIKKworIzogc2VxdWVuY2VyLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzXG4iCittc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsZSBjb21taXQgcGFyZW50ICVzXG4iCisKKyM6IHNlcXVlbmNlci5jOjY1NgorbXNnaWQgInlvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCittc2dzdHIgInZvdHJlIGZpY2hpZXIgZCdpbmRleCBuJ2VzdCBwYXMgZnVzaW9ubsOpLiIKKworIzogc2VxdWVuY2VyLmM6Njc1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKK21zZ3N0ciAibGUgY29tbWl0ICVzIGVzdCB1bmUgZnVzaW9uIG1haXMgbCdvcHRpb24gLW0gbidhIHBhcyDDqXTDqSBzcMOpY2lmacOpZS4iCisKKyM6IHNlcXVlbmNlci5jOjY4MworIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCittc2dzdHIgImxlIGNvbW1pdCAlcyBuJ2EgcGFzIGRlIHBhcmVudCAlZCIKKworIzogc2VxdWVuY2VyLmM6Njg3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCittc2dzdHIgIiIKKyJ1bmUgYnJhbmNoZSBwcmluY2lwYWxlIGEgw6l0w6kgc3DDqWNpZmnDqWUgbWFpcyBsZSBjb21taXQgJXMgbidlc3QgcGFzIHVuZSAiCiAiZnVzaW9uLiIKIAotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyB3aWxsIGJlICJyZXZlcnQiIG9yCi0jLiAiY2hlcnJ5LXBpY2siLCB0aGUgc2Vjb25kICVzIGEgU0hBMQotIzogc2VxdWVuY2VyLmM6NTA0CisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCisjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgorIzogc2VxdWVuY2VyLmM6NzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXMgOiBpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgY29tbWl0IHBhcmVudCAlcyIKIAotIzogc2VxdWVuY2VyLmM6NTA4CisjOiBzZXF1ZW5jZXIuYzo3MDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCi1tc2dzdHIgIkltcG9zc2libGUgZCdvYnRlbmlyIHVuIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBwb3VyICVzIgorbXNnaWQgImNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb2J0ZW5pciB1biBtZXNzYWdlIGRlIHZhbGlkYXRpb24gcG91ciAlcyIKIAotIzogc2VxdWVuY2VyLmM6NTk0CisjOiBzZXF1ZW5jZXIuYzo3OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FubnVsZXIgJXMuLi4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjU5NQorIzogc2VxdWVuY2VyLmM6Nzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FwcGxpcXVlciAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NjMwCisjOiBzZXF1ZW5jZXIuYzo4MzMKIG1zZ2lkICJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIKIG1zZ3N0ciAibCdlbnNlbWJsZSBkZSBjb21taXRzIHNww6ljaWZpw6kgZXN0IHZpZGUiCiAKLSM6IHNlcXVlbmNlci5jOjYzOAorIzogc2VxdWVuY2VyLmM6ODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXMgOiDDqWNoZWMgw6AgbGEgbGVjdHVyZSBkZSBsJ2luZGV4IgogCi0jOiBzZXF1ZW5jZXIuYzo2NDIKKyM6IHNlcXVlbmNlci5jOjg1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzIDogw6ljaGVjIGR1IHJhZnJhw65jaGlzc2VtZW50IGRlIGwnaW5kZXgiCiAKLSM6IHNlcXVlbmNlci5jOjcwMgorIzogc2VxdWVuY2VyLmM6OTQ0CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCAlcyBkdXJpbmcgYSAlcyIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSAlcyBwZW5kYW50IHVuICVzIgorbXNnaWQgImludmFsaWQgbGluZSAlZDogJS4qcyIKK21zZ3N0ciAibGlnbmUgJWQgaW52YWxpZGXCoDogJS4qcyIKIAotIzogc2VxdWVuY2VyLmM6NzI0CisjOiBzZXF1ZW5jZXIuYzo5NTAKK21zZ2lkICJubyBjb21taXRzIHBhcnNlZC4iCittc2dzdHIgImF1Y3VuIGNvbW1pdCBhbmFseXPDqS4iCisKKyM6IHNlcXVlbmNlci5jOjk2NgogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgbGluZSAlZC4iCi1tc2dzdHIgIkltcG9zc2libGUgZCdhbmFseXNlciBsYSBsaWduZSAlZC4iCittc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJy4iCittc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSAnJXMnLiIKIAotIzogc2VxdWVuY2VyLmM6NzI5Ci1tc2dpZCAiTm8gY29tbWl0cyBwYXJzZWQuIgotbXNnc3RyICJBdWN1biBjb21taXQgYW5hbHlzw6kuIgotCi0jOiBzZXF1ZW5jZXIuYzo3NDEKKyM6IHNlcXVlbmNlci5jOjk3MgogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3Qgb3BlbiAlcyIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciAlcyIKK21zZ2lkICJ1bnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJyVzJyIKK21zZ3N0ciAiZmV1aWxsZSBkJ2luc3RydWN0aW9uIGludXRpbGlzYWJsZcKgOiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzo3NDUKKyM6IHNlcXVlbmNlci5jOjk4MworbXNnaWQgImNhbm5vdCBjaGVycnktcGljayBkdXJpbmcgYSByZXZlcnQuIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHBpY29yZXIgcGVuZGFudCBsJ2FubnVsYXRpb24gZCd1biBjb21taXQuIgorCisjOiBzZXF1ZW5jZXIuYzo5ODUKK21zZ2lkICJjYW5ub3QgcmV2ZXJ0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FubnVsZXIgdW4gY29tbWl0IHBlbmRhbnQgdW4gcGljb3JhZ2UuIgorCisjOiBzZXF1ZW5jZXIuYzoxMDI4CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlICVzLiIKK21zZ2lkICJpbnZhbGlkIGtleTogJXMiCittc2dzdHIgImNsw6kgaW52YWxpZGXCoDogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjc1MgorIzogc2VxdWVuY2VyLmM6MTAzMQogIywgYy1mb3JtYXQKLW1zZ2lkICJVbnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJXMiCi1tc2dzdHIgIkZldWlsbGUgZCdpbnN0cnVjdGlvbiBpbnV0aWxpc2FibGUgOiAlcyIKK21zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCittc2dzdHIgInZhbGV1ciBpbnZhbGlkZSBwb3VyICVzwqA6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo3ODIKKyM6IHNlcXVlbmNlci5jOjEwNjMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCBrZXk6ICVzIgotbXNnc3RyICJDbMOpIGludmFsaWRlOiAlcyIKK21zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKK21zZ3N0ciAiZmV1aWxsZSBkJ29wdGlvbnMgbWFsZm9ybcOpZcKgOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6Nzg1IGJ1aWx0aW4vcHVsbC5jOjUwIGJ1aWx0aW4vcHVsbC5jOjUyCi0jLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKLW1zZ3N0ciAiVmFsZXVyIGludmFsaWRlIHBvdXIgJXMgOiAlcyIKLQotIzogc2VxdWVuY2VyLmM6Nzk1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAlcyIKLW1zZ3N0ciAiRmV1aWxsZSBkJ29wdGlvbnMgbWFsZm9ybcOpZSA6ICVzIgotCi0jOiBzZXF1ZW5jZXIuYzo4MTQKKyM6IHNlcXVlbmNlci5jOjExMDEKIG1zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgogbXNnc3RyICJ1biBwaWNvcmFnZSBvdSB1biByZXRvdXIgZXN0IGTDqWrDoCBlbiBjb3VycyIKIAotIzogc2VxdWVuY2VyLmM6ODE1CisjOiBzZXF1ZW5jZXIuYzoxMTAyCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAiZXNzYXlleiBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZXwtLXF1aXR8LS0gYWJvcnQpXCIiCiAKLSM6IHNlcXVlbmNlci5jOjgxOQorIzogc2VxdWVuY2VyLmM6MTEwNgogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJXMiCi1tc2dzdHIgIkltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlIGRlIHPDqXF1ZW5jZXVyICVzIgorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciBsZSByw6lwZXJ0b2lyZSBkZSBzw6lxdWVuY2V1ciAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzo4MzUgc2VxdWVuY2VyLmM6OTE2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkVycm9yIHdyYXBwaW5nIHVwICVzLiIKLW1zZ3N0ciAiRXJyZXVyIGxvcnMgZGUgbCdlbWJhbGxhZ2UgZGUgJXMuIgorIzogc2VxdWVuY2VyLmM6MTEyMAorbXNnaWQgImNvdWxkIG5vdCBsb2NrIEhFQUQiCittc2dzdHIgImltcG9zc2libGUgZGUgdmVycm91aWxsZXIgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6ODU0IHNlcXVlbmNlci5jOjk4NgorIzogc2VxdWVuY2VyLmM6MTE1MSBzZXF1ZW5jZXIuYzoxMjg5CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICJhdWN1biBwaWNvcmFnZSBvdSByZXRvdXIgZW4gY291cnMiCiAKLSM6IHNlcXVlbmNlci5jOjg1NgorIzogc2VxdWVuY2VyLmM6MTE1MwogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgcsOpc291ZHJlIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjg1OAorIzogc2VxdWVuY2VyLmM6MTE1NSBzZXF1ZW5jZXIuYzoxMTg5CiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgImltcG9zc2libGUgZCdhYmFuZG9ubmVyIGRlcHVpcyB1bmUgYnJhbmNoZSBub24gZW5jb3JlIGNyw6nDqWUiCiAKLSM6IHNlcXVlbmNlci5jOjg3OCBidWlsdGluL2ZldGNoLmM6NjEwIGJ1aWx0aW4vZmV0Y2guYzo4NTEKKyM6IHNlcXVlbmNlci5jOjExNzUgYnVpbHRpbi9ncmVwLmM6NTc4CiAjLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuICVzIgotbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICVzIgorbXNnaWQgImNhbm5vdCBvcGVuICclcyciCittc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6ODgwCisjOiBzZXF1ZW5jZXIuYzoxMTc3CiAjLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkICVzOiAlcyIKLW1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlICVzIDogJXMiCittc2dpZCAiY2Fubm90IHJlYWQgJyVzJzogJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSAnJXMnwqA6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4ODEKKyM6IHNlcXVlbmNlci5jOjExNzgKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJmaW4gZGUgZmljaGllciBpbmF0dGVuZHVlIgogCi0jOiBzZXF1ZW5jZXIuYzo4ODcKKyM6IHNlcXVlbmNlci5jOjExODQKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICJsZSBmaWNoaWVyIEhFQUQgZGUgcHLDqXBhcmF0aW9uIGRlIHBpY29yYWdlICclcycgZXN0IGNvcnJvbXB1IgogCi0jOiBzZXF1ZW5jZXIuYzo5MDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGZvcm1hdCAlcy4iCi1tc2dzdHIgIkltcG9zc2libGUgZGUgZm9ybWF0ZXIgJXMuIgotCi0jOiBzZXF1ZW5jZXIuYzoxMDU0CisjOiBzZXF1ZW5jZXIuYzoxMzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIlcyA6IGltcG9zc2libGUgZGUgcGljb3JlciB1biAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTA1NworIzogc2VxdWVuY2VyLmM6MTM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHJldmlzaW9uIgogbXNnc3RyICIlcyA6IG1hdXZhaXNlIHLDqXZpc2lvbiIKIAotIzogc2VxdWVuY2VyLmM6MTA5MQotbXNnaWQgIkNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FubnVsZXIgZW4gdGFudCBxdWUgY29tbWl0IGluaXRpYWwiCisjOiBzZXF1ZW5jZXIuYzoxMzkxCittc2dpZCAiY2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgorbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5udWxlciBlbiB0YW50IHF1ZSBjb21taXQgaW5pdGlhbCIKIAotIzogc2VxdWVuY2VyLmM6MTA5MgotbXNnaWQgIkNhbid0IGNoZXJyeS1waWNrIGludG8gZW1wdHkgaGVhZCIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBwaWNvcmVyIHZlcnMgdW5lIEhFQUQgdmlkZSIKLQotIzogc2V0dXAuYzoyNDgKKyM6IHNldHVwLmM6MTYwCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byByZWFkICVzIgotbXNnc3RyICLDqWNoZWMgZGUgbGEgbGVjdHVyZSBkZSAlcyIKK21zZ2lkICIiCisiJXM6IG5vIHN1Y2ggcGF0aCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgorIlVzZSAnZ2l0IDxjb21tYW5kPiAtLSA8cGF0aD4uLi4nIHRvIHNwZWNpZnkgcGF0aHMgdGhhdCBkbyBub3QgZXhpc3QgbG9jYWxseS4iCittc2dzdHIgIiIKKyIlc8KgOiBjZSBjaGVtaW4gbidleGlzdGUgcGFzIGRhbnMgbGEgY29waWUgZGUgdHJhdmFpbC5cbiIKKyJVdGlsaXNleiAnZ2l0IDxjb21tYW5kZT4gLS0gPGNoZW1pbj4uLi4nIHBvdXIgc3DDqWNpZmllciBkZXMgY2hlbWlucyBxdWkgIgorIm4nZXhpc3RlbnQgcGFzIGxvY2FsZW1lbnQuIgorCisjOiBzZXR1cC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IHVua25vd24gcmV2aXNpb24gb3IgcGF0aCBub3QgaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKKyJVc2UgJy0tJyB0byBzZXBhcmF0ZSBwYXRocyBmcm9tIHJldmlzaW9ucywgbGlrZSB0aGlzOlxuIgorIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCittc2dzdHIgIiIKKyJhcmd1bWVudCAnJXMnIGFtYmlndcKgOiByw6l2aXNpb24gaW5jb25udWUgb3UgY2hlbWluIGluZXhpc3RhbnQuXG4iCisiVXRpbGlzZXogJy0tJyBwb3VyIHPDqXBhcmVyIGxlcyBjaGVtaW5zIGRlcyByw6l2aXNpb25zLCBjb21tZSBjZWNpwqA6XG4iCisiJ2dpdCA8Y29tbWFuZGU+IFs8csOpdmlzaW9uPi4uLl0gLS0gWzxjaGVtaW4+Li4uXSciCisKKyM6IHNldHVwLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogYm90aCByZXZpc2lvbiBhbmQgZmlsZW5hbWVcbiIKKyJVc2UgJy0tJyB0byBzZXBhcmF0ZSBwYXRocyBmcm9tIHJldmlzaW9ucywgbGlrZSB0aGlzOlxuIgorIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCittc2dzdHIgIiIKKyJhcmd1bWVudCAnJXMnIGFtYmlndcKgOiByw6l2aXNpb24gZXQgY2hlbWluIHNww6ljaWZpw6lzLlxuIgorIlV0aWxpc2V6ICctLScgcG91ciBzw6lwYXJlciBsZXMgY2hlbWlucyBkZXMgcsOpdmlzaW9ucywgY29tbWUgY2VjacKgOlxuIgorIidnaXQgPGNvbW1hbmRlPiBbPHLDqXZpc2lvbj4uLi5dIC0tIFs8Y2hlbWluPi4uLl0nIgogCiAjOiBzZXR1cC5jOjQ2OAogIywgYy1mb3JtYXQKQEAgLTE3ODIsMjIgKzMwNDUsOTcgQEAKIG1zZ2lkICJ1bmtub3duIHJlcG9zaXRvcnkgZXh0ZW5zaW9ucyBmb3VuZDoiCiBtc2dzdHIgImV4dGVuc2lvbnMgZGUgZMOpcMO0dCBpbmNvbm51ZXMgdHJvdXbDqWVzwqA6IgogCi0jOiBzaGExX2ZpbGUuYzoxMDgwCisjOiBzZXR1cC5jOjc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKK21zZ3N0ciAiTmkgY2VjaSBuaSBhdWN1biBkZSBzZXMgcsOpcGVydG9pcmVzIHBhcmVudHMgbidlc3QgdW4gZMOpcMO0dCBnaXTCoDogJXMiCisKKyM6IHNldHVwLmM6NzY0IHNldHVwLmM6OTE1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDEKK21zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZXZlbmlyIGF1IHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwgY291cmFudCIKKworIzogc2V0dXAuYzo4NDUKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJJbXBvc3NpYmxlIGQnYWNjw6lkZXIgYXUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbCBjb3VyYW50IgorCisjOiBzZXR1cC5jOjkyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCisiU3RvcHBpbmcgYXQgZmlsZXN5c3RlbSBib3VuZGFyeSAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSBub3Qgc2V0KS4iCittc2dzdHIgIiIKKyJOaSBjZWNpIG5pIGF1Y3VuIGRlIHNlcyByw6lwZXJ0b2lyZXMgcGFyZW50cyAoanVzcXUnYXUgcG9pbnQgZGUgbW9udGFnZSAlcykgIgorIm4nZXN0IHVuIGTDqXDDtHQgZ2l0XG4iCisiQXJyw6p0IMOgIGxhIGxpbWl0ZSBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSAiCisibidlc3QgcGFzIGFjdGl2w6kpLiIKKworIzogc2V0dXAuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0byAnJXMvLi4nIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHNlIGTDqXBsYWNlciB2ZXJzIGxlIHLDqXBlcnRvaXJlICclcy8uLiciCisKKyM6IHNldHVwLmM6OTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQcm9ibGVtIHdpdGggY29yZS5zaGFyZWRSZXBvc2l0b3J5IGZpbGVtb2RlIHZhbHVlICgwJS4zbykuXG4iCisiVGhlIG93bmVyIG9mIGZpbGVzIG11c3QgYWx3YXlzIGhhdmUgcmVhZCBhbmQgd3JpdGUgcGVybWlzc2lvbnMuIgorbXNnc3RyICIiCisiUHJvYmzDqG1lIGF2ZWMgbGEgdmFsZXVyIGRlIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSAoMCUuM28pLlxuIgorIkxlIHByb3ByacOpdGFpcmUgZGVzIGZpY2hpZXJzIGRvaXQgdG91am91cnMgYXZvaXIgbGVzIGRyb2l0cyBlbiBsZWN0dXJlIGV0ICIKKyLDqWNyaXR1cmUuIgorCisjOiBzaGExX2ZpbGUuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJsZSBjaGVtaW4gJyVzJyBuJ2V4aXN0ZSBwYXMiCisKKyM6IHNoYTFfZmlsZS5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKK21zZ3N0ciAiIgorImV4dHJhaXJlIGxlIGTDqXDDtHQgZGUgcsOpZsOpcmVuY2UgJyVzJyBjb21tZSB1bmUgZXh0cmFjdGlvbiBsacOpZSBuJ2VzdCBwYXMgIgorImVuY29yZSBzdXBwb3J0w6kuIgorCisjOiBzaGExX2ZpbGUuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKK21zZ3N0ciAibGUgZMOpcMO0dCBkZSByw6lmw6lyZW5jZSAnJXMnIG4nZXN0IHBhcyB1biBkw6lww7R0IGxvY2FsLiIKKworIzogc2hhMV9maWxlLmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKK21zZ3N0ciAibGUgZMOpcMO0dCBkZSByw6lmw6lyZW5jZSAnJXMnIGVzdCBzdXBlcmZpY2llbCIKKworIzogc2hhMV9maWxlLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKK21zZ3N0ciAibGUgZMOpcMO0dCBkZSByw6lmw6lyZW5jZSAnJXMnIGVzdCBncmVmZsOpIgorCisjOiBzaGExX2ZpbGUuYzoxMTU5CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBlbmQgb2YgcGFja2ZpbGUgKGJyb2tlbiAuaWR4PykiCiBtc2dzdHIgIm9mZnNldCBhdmFudCBsYSBmaW4gZHUgZmljaGllciBwYXF1ZXQgKC5pZHggY2Fzc8OpwqA/KSIKIAotIzogc2hhMV9maWxlLmM6MjQ1OAorIzogc2hhMV9maWxlLmM6MjU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIHN0YXJ0IG9mIHBhY2sgaW5kZXggZm9yICVzIChjb3JydXB0IGluZGV4PykiCiBtc2dzdHIgIm9mZnNldCBhdmFudCBsZSBkw6lidXQgZGUgbCdpbmRleCBkZSBwYXF1ZXQgcG91ciAlcyAoaW5kZXggY29ycm9tcHXCoD8pIgogCi0jOiBzaGExX2ZpbGUuYzoyNDYyCisjOiBzaGExX2ZpbGUuYzoyNTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZXlvbmQgZW5kIG9mIHBhY2sgaW5kZXggZm9yICVzICh0cnVuY2F0ZWQgaW5kZXg/KSIKIG1zZ3N0ciAiIgogIm9mZnNldCBhdSBkZWzDoCBkZSBsYSBmaW4gZGUgbCdpbmRleCBkZSBwYXF1ZXQgcG91ciAlcyAoaW5kZXggdHJvbnF1w6nCoD8pIgogCi0jOiBzaGExX25hbWUuYzo0NjIKKyM6IHNoYTFfbmFtZS5jOjQwNworIywgYy1mb3JtYXQKK21zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKK21zZ3N0ciAibGUgU0hBMSBjb3VydCAlcyBlc3QgYW1iaWd1IgorCisjOiBzaGExX25hbWUuYzo0MTgKK21zZ2lkICJUaGUgY2FuZGlkYXRlcyBhcmU6IgorbXNnc3RyICJMZXMgY2FuZGlkYXRzIHNvbnTCoDoiCisKKyM6IHNoYTFfbmFtZS5jOjU3OAogbXNnaWQgIiIKICJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgogImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKQEAgLTE4NDgsODIgKzMxODYsMTUwIEBACiBtc2dpZCAic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIG1pc2UgZW4gaW5kZXggZHUgLmdpdG1vZHVsZXMgbWlzIMOgIGpvdXIiCiAKLSM6IHN1Ym1vZHVsZS5jOjE3NworIzogc3VibW9kdWxlLmM6MTU4CiBtc2dpZCAibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hKb2JzIgogbXNnc3RyICJsZXMgdmFsZXVycyBuw6lnYXRpdmVzIG5lIHNvbnQgcGFzIHBlcm1pc2VzIHBvdXIgc3VibW9kdWxlLmZldGNoSm9icyIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjM1NQorIzogc3VibW9kdWxlLWNvbmZpZy5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAiVmFsZXVyIGludmFsaWRlIHBvdXIgJXMiCiAKLSM6IHRyYWlsZXIuYzoyMzcKKyM6IHRyYWlsZXIuYzoyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVubmluZyB0cmFpbGVyIGNvbW1hbmQgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBjb21tYW5kZSB0cmFpbGVyICclcyciCiAKLSM6IHRyYWlsZXIuYzo0OTIgdHJhaWxlci5jOjQ5NiB0cmFpbGVyLmM6NTAwIHRyYWlsZXIuYzo1NTQgdHJhaWxlci5jOjU1OAotIzogdHJhaWxlci5jOjU2MgorIzogdHJhaWxlci5jOjQ3MSB0cmFpbGVyLmM6NDc1IHRyYWlsZXIuYzo0NzkgdHJhaWxlci5jOjUzMyB0cmFpbGVyLmM6NTM3CisjOiB0cmFpbGVyLmM6NTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFsdWUgJyVzJyBmb3Iga2V5ICclcyciCiBtc2dzdHIgInZhbGV1ciBpbmNvbm51ZSAnJXMnIHBvdXIgbGEgY2zDqSAnJXMnIgogCi0jOiB0cmFpbGVyLmM6NTQ0IHRyYWlsZXIuYzo1NDkgYnVpbHRpbi9yZW1vdGUuYzoyODkKKyM6IHRyYWlsZXIuYzo1MjMgdHJhaWxlci5jOjUyOCBidWlsdGluL3JlbW90ZS5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gb25lICVzIgogbXNnc3RyICJwbHVzIGQndW4gJXMiCiAKLSM6IHRyYWlsZXIuYzo1ODIKKyM6IHRyYWlsZXIuYzo2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1wdHkgdHJhaWxlciB0b2tlbiBpbiB0cmFpbGVyICclLipzJyIKIG1zZ3N0ciAic3ltYm9sZSB2aWRlIGRhbnMgbGEgbGlnbmUgZGUgZmluICclLipzJyIKIAotIzogdHJhaWxlci5jOjcwMgorIzogdHJhaWxlci5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBpbnB1dCBmaWxlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsZSBmaWNoaWVyIGQnZW50csOpZSAnJXMnIgogCi0jOiB0cmFpbGVyLmM6NzA1CisjOiB0cmFpbGVyLmM6Njk4CiBtc2dpZCAiY291bGQgbm90IHJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQiCiAKLSM6IHRyYWlsZXIuYzo4NTcgYnVpbHRpbi9hbS5jOjQyCisjOiB0cmFpbGVyLmM6OTI5IGJ1aWx0aW4vYW0uYzo0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAlcyIKIG1zZ3N0ciAic3RhdCBpbXBvc3NpYmxlIGRlICVzIgogCi0jOiB0cmFpbGVyLmM6ODU5CisjOiB0cmFpbGVyLmM6OTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICIlcyBuJ2VzdCBwYXMgdW4gZmljaGllciByw6lndWxpZXIiCiAKLSM6IHRyYWlsZXIuYzo4NjEKKyM6IHRyYWlsZXIuYzo5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBpcyBub3Qgd3JpdGFibGUgYnkgdXNlciIKIG1zZ3N0ciAibGUgZmljaGllciAlcyBuJ2VzdCBwYXMgaW5zY3JpcHRpYmxlIHBhciBsJ3V0aWxpc2F0ZXVyIgogCi0jOiB0cmFpbGVyLmM6ODczCisjOiB0cmFpbGVyLmM6OTQ1CiBtc2dpZCAiY291bGQgbm90IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIHVuIGZpY2hpZXIgdGVtcG9yYWlyZSIKIAotIzogdHJhaWxlci5jOjkxMgorIzogdHJhaWxlci5jOjk4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVuYW1lIHRlbXBvcmFyeSBmaWxlIHRvICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJlbm9tbWVyIHVuIGZpY2hpZXIgdGVtcG9yYWlyZSBlbiAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNDEKKyM6IHRyYW5zcG9ydC5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHNldCB1cHN0cmVhbSBvZiAnJXMnIHRvICclcycgb2YgJyVzJ1xuIgorbXNnc3RyICJQb3NpdGlvbm5lcmFpdCBsYSBicmFuY2hlIGFtb250IGRlICclcycgc3VyICclcycgZGUgJyVzJ1xuIgorCisjOiB0cmFuc3BvcnQuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgorbXNnc3RyICJ0cmFuc3BvcnTCoDogb3B0aW9uIGRlIHByb2ZvbmRldXIgaW52YWxpZGUgJyVzJyIKKworIzogdHJhbnNwb3J0LmM6ODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKKyJub3QgYmUgZm91bmQgb24gYW55IHJlbW90ZTpcbiIKK21zZ3N0ciAiIgorIkxlcyBjaGVtaW5zIHN1aXZhbnQgZGUgc291cy1tb2R1bGUgY29udGllbm5lbnQgZGVzIG1vZGlmaWNhdGlvbnNcbiIKKyJxdWkgbmUgcGV1dmVudCDDqnRyZSB0cm91dsOpZXMgc3VyIGF1Y3VuIGRpc3RhbnTCoDpcbiIKKworIzogdHJhbnNwb3J0LmM6ODIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJQbGVhc2UgdHJ5XG4iCisiXG4iCisiXHRnaXQgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmRcbiIKKyJcbiIKKyJvciBjZCB0byB0aGUgcGF0aCBhbmQgdXNlXG4iCisiXG4iCisiXHRnaXQgcHVzaFxuIgorIlxuIgorInRvIHB1c2ggdGhlbSB0byBhIHJlbW90ZS5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIlZldWlsbGV6IGVzc2F5ZXJcbiIKKyJcbiIKKyJcdGdpdCBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzPW9uLWRlbWFuZFxuIgorIlxuIgorIm91IGJpZW4gY2hhbmdleiBkZSByw6lwZXJ0b2lyZSBldCB1dGlsaXNlelxuIgorIlxuIgorIlx0Z2l0IHB1c2hcbiIKKyJcbiIKKyJwb3VyIGxlcyBwb3Vzc2VyIHZlcnMgdW4gc2VydmV1ciBkaXN0YW50LlxuIgorIlxuIgorCisjOiB0cmFuc3BvcnQuYzo4MjkKK21zZ2lkICJBYm9ydGluZy4iCittc2dzdHIgIkFiYW5kb24uIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCByZWYgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsYSByw6lmICVzIgogCisjOiB0cmVlLXdhbGsuYzozMQorbXNnaWQgInRvby1zaG9ydCB0cmVlIG9iamVjdCIKK21zZ3N0ciAib2JqZXQgYXJicmUgdHJvcCBjb3VydCIKKworIzogdHJlZS13YWxrLmM6MzcKK21zZ2lkICJtYWxmb3JtZWQgbW9kZSBpbiB0cmVlIGVudHJ5IgorbXNnc3RyICJtb2RlIGludmFsaWRlIGRhbnMgbCdlbnRyw6llIGQnYXJicmUiCisKKyM6IHRyZWUtd2Fsay5jOjQxCittc2dpZCAiZW1wdHkgZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSIKK21zZ3N0ciAibm9tIGRlIGZpY2hpZXIgdmlkZSBkYW5zIHVuZSBlbnRyw6llIGRlIGwnYXJicmUiCisKKyM6IHRyZWUtd2Fsay5jOjExMworbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCittc2dzdHIgImZpY2hpZXIgYXJicmUgdHJvcCBjb3VydCIKKwogIzogdW5wYWNrLXRyZWVzLmM6NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgotIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBjYW4gc3dpdGNoIGJyYW5jaGVzLiIKKyIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKIG1zZ3N0ciAiIgotIlZvcyBtb2RpZmljYXRpb25zIGxvY2FsZXMgYXV4IGZpY2hpZXJzIHN1aXZhbnRzIHNlcmFpZW50IMOpY3Jhc8OpZXMgcGFyIGwnZXh0cmFjdGlvbsKgOlxuIgotIiUlc1ZldWlsbGV6IHZhbGlkZXIgb3UgcmVtaXNlciB2b3MgbW9kaWZpY2F0aW9ucyBhdmFudCBkZSBiYXNjdWxlciBkZSBicmFuY2hlLiIKKyJWb3MgbW9kaWZpY2F0aW9ucyBsb2NhbGVzIGF1eCBmaWNoaWVycyBzdWl2YW50cyBzZXJhaWVudCDDqWNyYXPDqWVzIHBhciAiCisibCdleHRyYWN0aW9uwqA6XG4iCisiJSVzVmV1aWxsZXogdmFsaWRlciBvdSByZW1pc2VyIHZvcyBtb2RpZmljYXRpb25zIGF2YW50IGRlIGJhc2N1bGVyIGRlICIKKyJicmFuY2hlLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6NjYKICMsIGMtZm9ybWF0CkBAIC0xOTMxLDE2ICszMzM3LDE4IEBACiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCiAiJSVzIgogbXNnc3RyICIiCi0iVm9zIG1vZGlmaWNhdGlvbnMgbG9jYWxlcyBhdXggZmljaGllcnMgc3VpdmFudHMgc2VyYWllbnQgw6ljcmFzw6llcyBwYXIgbCdleHRyYWN0aW9uwqA6XG4iCisiVm9zIG1vZGlmaWNhdGlvbnMgbG9jYWxlcyBhdXggZmljaGllcnMgc3VpdmFudHMgc2VyYWllbnQgw6ljcmFzw6llcyBwYXIgIgorImwnZXh0cmFjdGlvbsKgOlxuIgogIiUlcyIKIAogIzogdW5wYWNrLXRyZWVzLmM6NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgotIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgorIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgIiIKLSJWb3MgbW9kaWZpY2F0aW9ucyBsb2NhbGVzIGF1eCBmaWNoaWVycyBzdWl2YW50cyBzZXJhaWVudCDDqWNyYXPDqWVzIHBhciBsYSBmdXNpb27CoDpcbiIKKyJWb3MgbW9kaWZpY2F0aW9ucyBsb2NhbGVzIGF1eCBmaWNoaWVycyBzdWl2YW50cyBzZXJhaWVudCDDqWNyYXPDqWVzIHBhciBsYSAiCisiZnVzaW9uwqA6XG4iCiAiJSVzVmV1aWxsZXogdmFsaWRlciBvdSByZW1pc2VyIHZvcyBtb2RpZmljYXRpb25zIGF2YW50IGxhIGZ1c2lvbi4iCiAKICM6IHVucGFjay10cmVlcy5jOjcxCkBAIC0xOTQ5LDE0ICszMzU3LDE1IEBACiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCiAiJSVzIgogbXNnc3RyICIiCi0iVm9zIG1vZGlmaWNhdGlvbnMgbG9jYWxlcyBhdXggZmljaGllcnMgc3VpdmFudHMgc2VyYWllbnQgw6ljcmFzw6llcyBwYXIgbGEgZnVzaW9uwqA6XG4iCisiVm9zIG1vZGlmaWNhdGlvbnMgbG9jYWxlcyBhdXggZmljaGllcnMgc3VpdmFudHMgc2VyYWllbnQgw6ljcmFzw6llcyBwYXIgbGEgIgorImZ1c2lvbsKgOlxuIgogIiUlcyIKIAogIzogdW5wYWNrLXRyZWVzLmM6NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgotIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBjYW4gJXMuIgorIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSAlcy4iCiBtc2dzdHIgIiIKICJWb3MgbW9kaWZpY2F0aW9ucyBsb2NhbGVzIGF1eCBmaWNoaWVycyBzdWl2YW50cyBzZXJhaWVudCDDqWNyYXPDqWVzIHBhciAlc8KgOlxuIgogIiUlc1ZldWlsbGV6IHZhbGlkZXIgb3UgcmVtaXNlciB2b3MgbW9kaWZpY2F0aW9ucyBhdmFudCAlcy4iCkBAIC0xOTc2LDE2ICszMzg1LDE4IEBACiAiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiBpdDpcbiIKICIlcyIKIG1zZ3N0ciAiIgotIkxhIG1pc2Ugw6Agam91ciBkZXMgcsOpcGVydG9pcmVzIHN1aXZhbnRzIGVmZmFjZXJhaXQgbGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMgY29udGVudXPCoDpcbiIKKyJMYSBtaXNlIMOgIGpvdXIgZGVzIHLDqXBlcnRvaXJlcyBzdWl2YW50cyBlZmZhY2VyYWl0IGxlcyBmaWNoaWVycyBub24gc3VpdmlzICIKKyJjb250ZW51c8KgOlxuIgogIiVzIgogCiAjOiB1bnBhY2stdHJlZXMuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gc3dpdGNoIGJyYW5jaGVzLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgIiIKLSJMZXMgZmljaGllcnMgc3VpdmFudHMgbm9uIHN1aXZpcyBzZXJhaWVudCBlZmZhY8OpcyBwYXIgbCdleHRyYWN0aW9uwqA6XG4iCisiTGVzIGZpY2hpZXJzIHN1aXZhbnRzIG5vbiBzdWl2aXMgZGUgbGEgY29waWUgZGUgdHJhdmFpbCBzZXJhaWVudCBlZmZhY8OpcyBwYXIgIgorImwnZXh0cmFjdGlvbsKgOlxuIgogIiUlc1ZldWlsbGV6IHJlbm9tbWVyIG91IGVmZmFjZXIgY2VzIGZpY2hpZXJzIGF2YW50IGRlIGJhc2N1bGVyIGRlIGJyYW5jaGUuIgogCiAjOiB1bnBhY2stdHJlZXMuYzo4NwpAQCAtMjAwMSw5ICszNDEyLDEwIEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgIiIKLSJMZXMgZmljaGllcnMgc3VpdmFudHMgbm9uIHN1aXZpcyBzZXJhaWVudCBlZmZhY8OpcyBwYXIgbGEgZnVzaW9uwqA6XG4iCisiTGVzIGZpY2hpZXJzIHN1aXZhbnRzIG5vbiBzdWl2aXMgZGUgbGEgY29waWUgZGUgdHJhdmFpbCBzZXJhaWVudCBlZmZhY8OpcyBwYXIgIgorImxhIGZ1c2lvbsKgOlxuIgogIiUlc1ZldWlsbGV6IHJlbm9tbWVyIG91IGVmZmFjZXIgY2VzIGZpY2hpZXJzIGF2YW50IGxhIGZ1c2lvbi4iCiAKICM6IHVucGFjay10cmVlcy5jOjkyCkBAIC0yMDE5LDkgKzM0MzEsMTAgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuICVzLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIKIG1zZ3N0ciAiIgotIkxlcyBmaWNoaWVycyBzdWl2YW50cyBub24gc3VpdmlzIHNlcmFpZW50IGVmZmFjw6lzIHBhciAlc8KgOlxuIgorIkxlcyBmaWNoaWVycyBzdWl2YW50cyBub24gc3VpdmlzIGRlIGxhIGNvcGllIGRlIHRyYXZhaWwgc2VyYWllbnQgZWZmYWPDqXMgcGFyICIKKyIlc8KgOlxuIgogIiUlc1ZldWlsbGV6IHJlbm9tbWVyIG91IGVmZmFjZXIgY2VzIGZpY2hpZXJzIGF2YW50ICVzLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6OTcKQEAgLTIwMzgsOSArMzQ1MSwxMCBAQAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgogImNoZWNrb3V0OlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIHN3aXRjaCBicmFuY2hlcy4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgogbXNnc3RyICIiCi0iTGVzIGZpY2hpZXJzIHN1aXZhbnRzIG5vbiBzdWl2aXMgc2VyYWllbnQgw6ljcmFzw6lzIHBhciBsJ2V4dHJhY3Rpb27CoDpcbiIKKyJMZXMgZmljaGllcnMgc3VpdmFudHMgbm9uIHN1aXZpcyBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIHNlcmFpZW50IMOpY3Jhc8OpcyBwYXIgIgorImwnZXh0cmFjdGlvbsKgOlxuIgogIiUlc1ZldWlsbGV6IHJlbm9tbWVyIG91IGVmZmFjZXIgY2VzIGZpY2hpZXJzIGF2YW50IGRlIGJhc2N1bGVyIGRlIGJyYW5jaGUuIgogCiAjOiB1bnBhY2stdHJlZXMuYzoxMDQKQEAgLTIwNTcsOSArMzQ3MSwxMCBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAiIgotIkxlcyBmaWNoaWVycyBzdWl2YW50cyBub24gc3VpdmlzIHNlcmFpZW50IGVmZmFjw6lzIHBhciBsYSBmdXNpb27CoDpcbiIKKyJMZXMgZmljaGllcnMgc3VpdmFudHMgbm9uIHN1aXZpcyBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIHNlcmFpZW50IGVmZmFjw6lzIHBhciAiCisibGEgZnVzaW9uwqA6XG4iCiAiJSVzVmV1aWxsZXogcmVub21tZXIgb3UgZWZmYWNlciBjZXMgZmljaGllcnMgYXZhbnQgbGEgZnVzaW9uLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6MTA5CkBAIC0yMDc1LDkgKzM0OTAsMTAgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiAlcy4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSAlcy4iCiBtc2dzdHIgIiIKLSJMZXMgZmljaGllcnMgc3VpdmFudHMgbm9uIHN1aXZpcyBzZXJhaWVudCDDqWNyYXPDqXMgcGFyICVzwqA6XG4iCisiTGVzIGZpY2hpZXJzIHN1aXZhbnRzIG5vbiBzdWl2aXMgZGUgbGEgY29waWUgZGUgdHJhdmFpbCBzZXJhaWVudCDDqWNyYXPDqXMgcGFyICIKKyIlc8KgOlxuIgogIiUlc1ZldWlsbGV6IHJlbm9tbWVyIG91IGVmZmFjZXIgY2VzIGZpY2hpZXJzIGF2YW50ICVzLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6MTE0CkBAIC0yMTAwLDI3ICszNTE2LDMwIEBACiAiQ2Fubm90IHVwZGF0ZSBzcGFyc2UgY2hlY2tvdXQ6IHRoZSBmb2xsb3dpbmcgZW50cmllcyBhcmUgbm90IHVwLXRvLWRhdGU6XG4iCiAiJXMiCiBtc2dzdHIgIiIKLSJNaXNlIMOgIGpvdXIgZCdleHRyYWN0aW9uIGNyZXVzZSBpbXBvc3NpYmxlwqA6IGxlcyBlbnRyw6llcyBzdWl2YW50ZXMgbmUgc29udCBwYXMgw6Agam91csKgOlxuIgorIk1pc2Ugw6Agam91ciBkJ2V4dHJhY3Rpb24gY3JldXNlIGltcG9zc2libGXCoDogbGVzIGVudHLDqWVzIHN1aXZhbnRlcyBuZSBzb250ICIKKyJwYXMgw6Agam91csKgOlxuIgogIiVzIgogCiAjOiB1bnBhY2stdHJlZXMuYzoxMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIlRoZSBmb2xsb3dpbmcgV29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHNwYXJzZSBjaGVja291dCAiCisiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgc3BhcnNlIGNoZWNrb3V0ICIKICJ1cGRhdGU6XG4iCiAiJXMiCiBtc2dzdHIgIiIKLSJMZXMgZmljaGllcnMgc3VpdmFudHMgZGUgbGEgY29waWUgZGUgdHJhdmFpbCBzZXJhaWVudCDDqWNyYXPDqXMgcGFyIGxhIG1pc2Ugw6Agam91ciBwYXIgZXh0cmFjdGlvbiBjcmV1c2XCoDpcbiIKKyJMZXMgZmljaGllcnMgc3VpdmFudHMgZGUgbGEgY29waWUgZGUgdHJhdmFpbCBzZXJhaWVudCDDqWNyYXPDqXMgcGFyIGxhIG1pc2Ugw6AgIgorImpvdXIgcGFyIGwnZXh0cmFjdGlvbiBjcmV1c2XCoDpcbiIKICIlcyIKIAogIzogdW5wYWNrLXRyZWVzLmM6MTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIFdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCisiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBzcGFyc2UgY2hlY2tvdXQgIgogInVwZGF0ZTpcbiIKICIlcyIKIG1zZ3N0ciAiIgotIkxlcyBmaWNoaWVycyBzdWl2YW50cyBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIHNlcmFpZW50IHN1cHByaW3DqXMgcGFyIGxhIG1pc2Ugw6Agam91ciBwYXIgZXh0cmFjdGlvbiBjcmV1c2XCoDpcbiIKKyJMZXMgZmljaGllcnMgc3VpdmFudHMgZGUgbGEgY29waWUgZGUgdHJhdmFpbCBzZXJhaWVudCBzdXBwcmltw6lzIHBhciBsYSBtaXNlICIKKyLDoCBqb3VyIHBhciBleHRyYWN0aW9uIGNyZXVzZcKgOlxuIgogIiVzIgogCiAjOiB1bnBhY2stdHJlZXMuYzoyMDUKQEAgLTIxNjEsMjAyICszNTgwLDE5MiBAQAogbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCiBtc2dzdHIgInNlZ21lbnQgZGUgY2hlbWluICcuLicgaW52YWxpZGUiCiAKLSM6IHdyYXBwZXIuYzoyMjIgd3JhcHBlci5jOjM4MQorIzogd29ya3RyZWUuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGxlY3R1cmUgZGUgJyVzJyIKKworIzogd3JhcHBlci5jOjIyMiB3cmFwcGVyLmM6MzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJyVzJyBlbiBsZWN0dXJlL8OpY3JpdHVyZSIKIAotIzogd3JhcHBlci5jOjIyNCB3cmFwcGVyLmM6MzgzIGJ1aWx0aW4vYW0uYzo3NzkKKyM6IHdyYXBwZXIuYzoyMjQgd3JhcHBlci5jOjM5NCBidWlsdGluL2FtLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJyVzJyBlbiDDqWNyaXR1cmUiCiAKLSM6IHdyYXBwZXIuYzoyMjYgd3JhcHBlci5jOjM4NSBidWlsdGluL2FtLmM6MzIzIGJ1aWx0aW4vYW0uYzo3NzIKLSM6IGJ1aWx0aW4vYW0uYzo4NjAgYnVpbHRpbi9jb21taXQuYzoxNzExIGJ1aWx0aW4vbWVyZ2UuYzoxMDg2Ci0jOiBidWlsdGluL3B1bGwuYzo0MDcKKyM6IHdyYXBwZXIuYzoyMjYgd3JhcHBlci5jOjM5NiBidWlsdGluL2FtLmM6MzIwIGJ1aWx0aW4vYW0uYzo3NTkKKyM6IGJ1aWx0aW4vYW0uYzo4NDcgYnVpbHRpbi9jb21taXQuYzoxNzA1IGJ1aWx0aW4vbWVyZ2UuYzoxMDI5CisjOiBidWlsdGluL3B1bGwuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAnJXMnIGVuIGxlY3R1cmUiCiAKLSM6IHdyYXBwZXIuYzo1OTQgd3JhcHBlci5jOjYxNQorIzogd3JhcHBlci5jOjYwNSB3cmFwcGVyLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FjY8OpZGVyIMOgICclcyciCiAKLSM6IHdyYXBwZXIuYzo2MjMKKyM6IHdyYXBwZXIuYzo2MzQKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgImltcG9zc2libGUgZCdhY2PDqWRlciBhdSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsIGNvdXJhbnQiCiAKLSM6IHdyYXBwZXIuYzo2NTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IG9wZW4gJXMgZm9yIHdyaXRpbmciCi1tc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgJyVzJyBlbiDDqWNyaXR1cmUiCi0KLSM6IHdyYXBwZXIuYzo2NjEgYnVpbHRpbi9hbS5jOjQxMAorIzogd3JhcHBlci5jOjY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJXMiCiBtc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIGRhbnMgJXMiCiAKLSM6IHdyYXBwZXIuYzo2NjcKKyM6IHdyYXBwZXIuYzo2NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZlcm1lciAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MTUwCisjOiB3dC1zdGF0dXMuYzoxNTEKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIkNoZW1pbnMgbm9uIGZ1c2lvbm7DqXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MTc3IHd0LXN0YXR1cy5jOjIwNAorIzogd3Qtc3RhdHVzLmM6MTc4IHd0LXN0YXR1cy5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmVzZXQgJXMgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHJlc2V0ICVzIDxmaWNoaWVyPi4uLlwiIHBvdXIgZMOpc2luZGV4ZXIpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzkgd3Qtc3RhdHVzLmM6MjA2CisjOiB3dC1zdGF0dXMuYzoxODAgd3Qtc3RhdHVzLmM6MjA3CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBybSAtLWNhY2hlZCA8ZmljaGllcj4uLi5cIiBwb3VyIGTDqXNpbmRleGVyKSIKIAotIzogd3Qtc3RhdHVzLmM6MTgzCisjOiB3dC1zdGF0dXMuYzoxODQKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IGFkZCA8ZmljaGllcj4uLi5cIiBwb3VyIG1hcnF1ZXIgY29tbWUgcsOpc29sdSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NSB3dC1zdGF0dXMuYzoxODkKKyM6IHd0LXN0YXR1cy5jOjE4NiB3dC1zdGF0dXMuYzoxOTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKICIgICh1dGlsaXNleiBcImdpdCBhZGQvcm0gPGZpY2hpZXI+Li4uXCIgc2kgbsOpY2Vzc2FpcmUgcG91ciBtYXJxdWVyIGNvbW1lICIKICJyw6lzb2x1KSIKIAotIzogd3Qtc3RhdHVzLmM6MTg3CisjOiB3dC1zdGF0dXMuYzoxODgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgcm0gPGZpY2hpZXI+Li4uXCIgcG91ciBtYXJxdWVyIGNvbW1lIHLDqXNvbHUpIgogCi0jOiB3dC1zdGF0dXMuYzoxOTggd3Qtc3RhdHVzLmM6ODgxCisjOiB3dC1zdGF0dXMuYzoxOTkgd3Qtc3RhdHVzLmM6OTQ1CiBtc2dpZCAiQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgogbXNnc3RyICJNb2RpZmljYXRpb25zIHF1aSBzZXJvbnQgdmFsaWTDqWVzIDoiCiAKLSM6IHd0LXN0YXR1cy5jOjIxNiB3dC1zdGF0dXMuYzo4OTAKKyM6IHd0LXN0YXR1cy5jOjIxNyB3dC1zdGF0dXMuYzo5NTQKIG1zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCiBtc2dzdHIgIk1vZGlmaWNhdGlvbnMgcXVpIG5lIHNlcm9udCBwYXMgdmFsaWTDqWVzIDoiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMAorIzogd3Qtc3RhdHVzLmM6MjIxCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgICh1dGlsaXNleiBcImdpdCBhZGQgPGZpY2hpZXI+Li4uXCIgcG91ciBtZXR0cmUgw6Agam91ciBjZSBxdWkgc2VyYSB2YWxpZMOpKSIKIAotIzogd3Qtc3RhdHVzLmM6MjIyCisjOiB3dC1zdGF0dXMuYzoyMjMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKHV0aWxpc2V6IFwiZ2l0IGFkZC9ybSA8ZmljaGllcj4uLi5cIiBwb3VyIG1ldHRyZSDDoCBqb3VyIGNlIHF1aSBzZXJhICIKICJ2YWxpZMOpKSIKIAotIzogd3Qtc3RhdHVzLmM6MjIzCisjOiB3dC1zdGF0dXMuYzoyMjQKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKICIgICh1dGlsaXNleiBcImdpdCBjaGVja291dCAtLSA8ZmljaGllcj4uLi5cIiBwb3VyIGFubnVsZXIgbGVzIG1vZGlmaWNhdGlvbnMgIgogImRhbnMgbGEgY29waWUgZGUgdHJhdmFpbCkiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNQorIzogd3Qtc3RhdHVzLmM6MjI2CiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIiCiAiICAodmFsaWRlciBvdSBhbm51bGVyIGxlIGNvbnRlbnUgbm9uIHN1aXZpIG91IG1vZGlmacOpIGRhbnMgbGVzIHNvdXMtbW9kdWxlcykiCiAKLSM6IHd0LXN0YXR1cy5jOjIzNworIzogd3Qtc3RhdHVzLmM6MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAodXRpbGlzZXogXCJnaXQgJXMgPGZpY2hpZXI+Li4uXCIgcG91ciBpbmNsdXJlIGRhbnMgY2UgcXVpIHNlcmEgdmFsaWTDqSkiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MgorIzogd3Qtc3RhdHVzLmM6MjUzCiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAic3VwcHJpbcOpIGRlcyBkZXV4IGPDtHTDqXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU0CisjOiB3dC1zdGF0dXMuYzoyNTUKIG1zZ2lkICJhZGRlZCBieSB1czoiCiBtc2dzdHIgImFqb3V0w6kgcGFyIG5vdXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU2CisjOiB3dC1zdGF0dXMuYzoyNTcKIG1zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgogbXNnc3RyICJzdXBwcmltw6kgcGFyIGV1eCA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTgKKyM6IHd0LXN0YXR1cy5jOjI1OQogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICJham91dMOpIHBhciBldXggOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYwCisjOiB3dC1zdGF0dXMuYzoyNjEKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAic3VwcHJpbcOpIHBhciBub3VzIDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MgorIzogd3Qtc3RhdHVzLmM6MjYzCiBtc2dpZCAiYm90aCBhZGRlZDoiCiBtc2dzdHIgImFqb3V0w6kgZGUgZGV1eCBjw7R0w6lzIDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NAorIzogd3Qtc3RhdHVzLmM6MjY1CiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgIm1vZGlmacOpIGRlcyBkZXV4IGPDtHTDqXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MjY2Ci0jLCBjLWZvcm1hdAotbXNnaWQgImJ1ZzogdW5oYW5kbGVkIHVubWVyZ2VkIHN0YXR1cyAleCIKLW1zZ3N0ciAiYm9ndWUgOiDDqXRhdCBkZSBub24tZnVzaW9uIG5vbiBnw6lyw6kgJXgiCi0KLSM6IHd0LXN0YXR1cy5jOjI3NAorIzogd3Qtc3RhdHVzLmM6Mjc1CiBtc2dpZCAibmV3IGZpbGU6IgogbXNnc3RyICJub3V2ZWF1IGZpY2hpZXLCoDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI3NgorIzogd3Qtc3RhdHVzLmM6Mjc3CiBtc2dpZCAiY29waWVkOiIKIG1zZ3N0ciAiY29wacOpwqA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNzgKKyM6IHd0LXN0YXR1cy5jOjI3OQogbXNnaWQgImRlbGV0ZWQ6IgogbXNnc3RyICJzdXBwcmltw6nCoDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MAorIzogd3Qtc3RhdHVzLmM6MjgxCiBtc2dpZCAibW9kaWZpZWQ6IgogbXNnc3RyICJtb2RpZmnDqcKgOiIKIAotIzogd3Qtc3RhdHVzLmM6MjgyCisjOiB3dC1zdGF0dXMuYzoyODMKIG1zZ2lkICJyZW5hbWVkOiIKIG1zZ3N0ciAicmVub21tw6nCoDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NAorIzogd3Qtc3RhdHVzLmM6Mjg1CiBtc2dpZCAidHlwZWNoYW5nZToiCiBtc2dzdHIgIm1vZGlmLiB0eXBlwqA6IgogCi0jOiB3dC1zdGF0dXMuYzoyODYKKyM6IHd0LXN0YXR1cy5jOjI4NwogbXNnaWQgInVua25vd246IgogbXNnc3RyICJpbmNvbm51wqA6IgogCi0jOiB3dC1zdGF0dXMuYzoyODgKKyM6IHd0LXN0YXR1cy5jOjI4OQogbXNnaWQgInVubWVyZ2VkOiIKIG1zZ3N0ciAibm9uIGZ1c2lvbm7DqcKgOiIKIAotIzogd3Qtc3RhdHVzLmM6MzcwCisjOiB3dC1zdGF0dXMuYzozNzEKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICJub3V2ZWF1eCBjb21taXRzLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MgorIzogd3Qtc3RhdHVzLmM6MzczCiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICJjb250ZW51IG1vZGlmacOpLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3NAorIzogd3Qtc3RhdHVzLmM6Mzc1CiBtc2dpZCAidW50cmFja2VkIGNvbnRlbnQsICIKIG1zZ3N0ciAiY29udGVudSBub24gc3VpdmksICIKIAotIzogd3Qtc3RhdHVzLmM6MzkxCi0jLCBjLWZvcm1hdAotbXNnaWQgImJ1ZzogdW5oYW5kbGVkIGRpZmYgc3RhdHVzICVjIgotbXNnc3RyICJib2d1ZSA6IMOpdGF0IGRlIGRpZmYgbm9uIGfDqXLDqSAlYyIKLQotIzogd3Qtc3RhdHVzLmM6NzU1CisjOiB3dC1zdGF0dXMuYzo4MTgKIG1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKIG1zZ3N0ciAiU291cy1tb2R1bGVzIG1vZGlmacOpcyBtYWlzIG5vbiBtaXMgw6Agam91ciA6IgogCi0jOiB3dC1zdGF0dXMuYzo3NTcKKyM6IHd0LXN0YXR1cy5jOjgyMAogbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIkNoYW5nZW1lbnRzIGR1IHNvdXMtbW9kdWxlIMOgIHZhbGlkZXIgOiIKIAotIzogd3Qtc3RhdHVzLmM6ODM4CisjOiB3dC1zdGF0dXMuYzo5MDEKIG1zZ2lkICIiCiAiRG8gbm90IHRvdWNoIHRoZSBsaW5lIGFib3ZlLlxuIgogIkV2ZXJ5dGhpbmcgYmVsb3cgd2lsbCBiZSByZW1vdmVkLiIKQEAgLTIzNjQsOTkgKzM3NzMsMTAzIEBACiAiTmUgdG91Y2hleiBwYXMgw6AgbGEgbGlnbmUgY2ktZGVzc3VzXG4iCiAiVG91dCBjZSBxdWkgc3VpdCBzZXJhIMOpbGltaW7DqS4iCiAKLSM6IHd0LXN0YXR1cy5jOjk0OQorIzogd3Qtc3RhdHVzLmM6MTAxMwogbXNnaWQgIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIKIG1zZ3N0ciAiVm91cyBhdmV6IGRlcyBjaGVtaW5zIG5vbiBmdXNpb25uw6lzLiIKIAotIzogd3Qtc3RhdHVzLmM6OTUyCisjOiB3dC1zdGF0dXMuYzoxMDE2CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKIG1zZ3N0ciAiICAocsOpZ2xleiBsZXMgY29uZmxpdHMgcHVpcyBsYW5jZXogXCJnaXQgY29tbWl0XCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5NTYKKyM6IHd0LXN0YXR1cy5jOjEwMTgKK21zZ2lkICIgICh1c2UgXCJnaXQgbWVyZ2UgLS1hYm9ydFwiIHRvIGFib3J0IHRoZSBtZXJnZSkiCittc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiBwb3VyIGFubnVsZXIgbGEgZnVzaW9uKSIKKworIzogd3Qtc3RhdHVzLmM6MTAyMwogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIlRvdXMgbGVzIGNvbmZsaXRzIHNvbnQgcsOpZ2zDqXMgbWFpcyBsYSBmdXNpb24gbidlc3QgcGFzIHRlcm1pbsOpZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjk1OQorIzogd3Qtc3RhdHVzLmM6MTAyNgogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXRcIiB0byBjb25jbHVkZSBtZXJnZSkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IGNvbW1pdFwiIHBvdXIgdGVybWluZXIgbGEgZnVzaW9uKSIKIAotIzogd3Qtc3RhdHVzLmM6OTY5CisjOiB3dC1zdGF0dXMuYzoxMDM2CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICJWb3VzIMOqdGVzIGF1IG1pbGlldSBkJ3VuZSBzZXNzaW9uIGFtLiIKIAotIzogd3Qtc3RhdHVzLmM6OTcyCisjOiB3dC1zdGF0dXMuYzoxMDM5CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJMZSBwYXRjaCBhY3R1ZWwgZXN0IHZpZGUuIgogCi0jOiB3dC1zdGF0dXMuYzo5NzYKKyM6IHd0LXN0YXR1cy5jOjEwNDMKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChyw6lnbGV6IGxlcyBjb25mbGl0cyBwdWlzIGxhbmNleiBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzo5NzgKKyM6IHd0LXN0YXR1cy5jOjEwNDUKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgYW0gLS1za2lwXCIgcG91ciBzYXV0ZXIgY2UgcGF0Y2gpIgogCi0jOiB3dC1zdGF0dXMuYzo5ODAKKyM6IHd0LXN0YXR1cy5jOjEwNDcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IGFtIC0tYWJvcnRcIiBwb3VyIHJlc3RhdXJlciBsYSBicmFuY2hlIGQnb3JpZ2luZSkiCiAKLSM6IHd0LXN0YXR1cy5jOjExMDUKKyM6IHd0LXN0YXR1cy5jOjExNzIKIG1zZ2lkICJObyBjb21tYW5kcyBkb25lLiIKIG1zZ3N0ciAiQXVjdW5lIGNvbW1hbmRlIHLDqWFsaXPDqWUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTA4CisjOiB3dC1zdGF0dXMuYzoxMTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxhc3QgY29tbWFuZCBkb25lICglZCBjb21tYW5kIGRvbmUpOiIKIG1zZ2lkX3BsdXJhbCAiTGFzdCBjb21tYW5kcyBkb25lICglZCBjb21tYW5kcyBkb25lKToiCiBtc2dzdHJbMF0gIkRlcm5pw6hyZSBjb21tYW5kZSBlZmZlY3R1w6llICglZCBjb21tYW5kZSBlZmZlY3R1w6llKcKgOiIKIG1zZ3N0clsxXSAiRGVybmnDqHJlcyBjb21tYW5kZXMgZWZmZWN0dcOpZXMgKCVkIGNvbW1hbmRlcyBlZmZlY3R1w6llcynCoDoiCiAKLSM6IHd0LXN0YXR1cy5jOjExMTkKKyM6IHd0LXN0YXR1cy5jOjExODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAoc2VlIG1vcmUgaW4gZmlsZSAlcykiCiBtc2dzdHIgIiAgKHZvaXIgcGx1cyBkYW5zIGxlIGZpY2hpZXIgJXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI0CisjOiB3dC1zdGF0dXMuYzoxMTkxCiBtc2dpZCAiTm8gY29tbWFuZHMgcmVtYWluaW5nLiIKIG1zZ3N0ciAiQXVjdW5lIGNvbW1hbmRlIHJlc3RhbnRlLiIKIAotIzogd3Qtc3RhdHVzLmM6MTEyNworIzogd3Qtc3RhdHVzLmM6MTE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJOZXh0IGNvbW1hbmQgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kKToiCiBtc2dpZF9wbHVyYWwgIk5leHQgY29tbWFuZHMgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kcyk6IgogbXNnc3RyWzBdICJQcm9jaGFpbmUgY29tbWFuZGUgw6AgZWZmZWN0dWVyICglZCBjb21tYW5kZSByZXN0YW50ZSnCoDoiCiBtc2dzdHJbMV0gIlByb2NoYWluZXMgY29tbWFuZGVzIMOgIGVmZmVjdHVlciAoJWQgY29tbWFuZGVzIHJlc3RhbnRlcynCoDoiCiAKLSM6IHd0LXN0YXR1cy5jOjExMzUKKyM6IHd0LXN0YXR1cy5jOjEyMDIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgdG8gdmlldyBhbmQgZWRpdCkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHBvdXIgdm9pciBldCDDqWRpdGVyKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE0OAorIzogd3Qtc3RhdHVzLmM6MTIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiVm91cyDDqnRlcyBlbiB0cmFpbiBkZSByZWJhc2VyIGxhIGJyYW5jaGUgJyVzJyBzdXIgJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjExNTMKKyM6IHd0LXN0YXR1cy5jOjEyMjAKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgZW4gdHJhaW4gZGUgcmViYXNlci4iCiAKLSM6IHd0LXN0YXR1cy5jOjExNjcKKyM6IHd0LXN0YXR1cy5jOjEyMzQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAocsOpZ2xleiBsZXMgY29uZmxpdHMgcHVpcyBsYW5jZXogXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjExNjkKKyM6IHd0LXN0YXR1cy5jOjEyMzYKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBwb3VyIHNhdXRlciBjZSBwYXRjaCkiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzEKKyM6IHd0LXN0YXR1cy5jOjEyMzgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgcG91ciBleHRyYWlyZSBsYSBicmFuY2hlIGQnb3JpZ2luZSkiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzcKKyM6IHd0LXN0YXR1cy5jOjEyNDQKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHRvdXMgbGVzIGNvbmZsaXRzIHNvbnQgcsOpZ2zDqXMgOiBsYW5jZXogXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjExODEKKyM6IHd0LXN0YXR1cy5jOjEyNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKQEAgLTI0NjQsMTI0ICszODc3LDEyNCBAQAogIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGRlIGZyYWN0aW9ubmVyIHVuIGNvbW1pdCBwZW5kYW50IHVuIHJlYmFzYWdlICIKICJkZSBsYSBicmFuY2hlICclcycgc3VyICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTg2CisjOiB3dC1zdGF0dXMuYzoxMjUzCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIiIKICJWb3VzIMOqdGVzIGFjdHVlbGxlbWVudCBlbiB0cmFpbiBkZSBmcmFjdGlvbm5lciB1biBjb21taXQgcGVuZGFudCB1biByZWJhc2FnZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjExODkKKyM6IHd0LXN0YXR1cy5jOjEyNTYKIG1zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKFVuZSBmb2lzIGxhIGNvcGllIGRlIHRyYXZhaWwgbmV0dG95w6llLCBsYW5jZXogXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjExOTMKKyM6IHd0LXN0YXR1cy5jOjEyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiIgogIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGQnw6lkaXRlciB1biBjb21taXQgcGVuZGFudCB1biByZWJhc2FnZSBkZSBsYSAiCiAiYnJhbmNoZSAnJXMnIHN1ciAnJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE5OAorIzogd3Qtc3RhdHVzLmM6MTI2NQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiIgogIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGQnw6lkaXRlciB1biBjb21taXQgcGVuZGFudCB1biByZWJhc2FnZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDEKKyM6IHd0LXN0YXR1cy5jOjEyNjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBjb21taXQgLS1hbWVuZFwiIHBvdXIgY29ycmlnZXIgbGUgY29tbWl0IGFjdHVlbCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDMKKyM6IHd0LXN0YXR1cy5jOjEyNzAKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiIKICIgICh1dGlsaXNleiBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIHF1YW5kIHZvdXMgw6p0ZXMgc2F0aXNmYWl0IGRlIHZvcyAiCiAibW9kaWZpY2F0aW9ucykiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMTMKKyM6IHd0LXN0YXR1cy5jOjEyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiVm91cyDDqnRlcyBhY3R1ZWxsZW1lbnQgZW4gdHJhaW4gZGUgcGljb3JlciBsZSBjb21taXQgJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjE4CisjOiB3dC1zdGF0dXMuYzoxMjg1CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHLDqWdsZXogbGVzIGNvbmZsaXRzIHB1aXMgbGFuY2V6IFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjEKKyM6IHd0LXN0YXR1cy5jOjEyODgKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKHRvdXMgbGVzIGNvbmZsaXRzIHNvbnQgcsOpZ2zDqXMgOiBsYW5jZXogXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMworIzogd3Qtc3RhdHVzLmM6MTI5MAogbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSBjaGVycnktcGljayBvcGVyYXRpb24pIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgcG91ciBhbm51bGVyIGxlIHBpY29yYWdlKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIzMgorIzogd3Qtc3RhdHVzLmM6MTI5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiVm91cyDDqnRlcyBhY3R1ZWxsZW1lbnQgZW4gdHJhaW4gZGUgcsOpdGFibGlyIGxlIGNvbW1pdCAlcy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzcKKyM6IHd0LXN0YXR1cy5jOjEzMDQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHLDqWdsZXogbGVzIGNvbmZsaXRzIHB1aXMgbGFuY2V6IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQwCisjOiB3dC1zdGF0dXMuYzoxMzA3CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqWdsw6lzIDogbGFuY2V6IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQyCisjOiB3dC1zdGF0dXMuYzoxMzA5CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiBwb3VyIGFubnVsZXIgbGUgcsOpdGFibGlzc2VtZW50KSIKIAotIzogd3Qtc3RhdHVzLmM6MTI1MworIzogd3Qtc3RhdHVzLmM6MTMyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcsIHN0YXJ0ZWQgZnJvbSBicmFuY2ggJyVzJy4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgZW4gY291cnMgZGUgYmlzc2VjdGlvbiwgZGVwdWlzIGxhIGJyYW5jaGUgJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTcKKyM6IHd0LXN0YXR1cy5jOjEzMjQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcuIgogbXNnc3RyICJWb3VzIMOqdGVzIGVuIGNvdXJzIGRlIGJpc3NlY3Rpb24uIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYwCisjOiB3dC1zdGF0dXMuYzoxMzI3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBiaXNlY3QgcmVzZXRcIiBwb3VyIHJldmVuaXIgw6AgbGEgYnJhbmNoZSBkJ29yaWdpbmUpIgogCi0jOiB3dC1zdGF0dXMuYzoxNDYwCisjOiB3dC1zdGF0dXMuYzoxNTI0CiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAiU3VyIGxhIGJyYW5jaGUgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDY2CisjOiB3dC1zdGF0dXMuYzoxNTMwCiBtc2dpZCAiaW50ZXJhY3RpdmUgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAicmViYXNhZ2UgaW50ZXJhY3RpZiBlbiBjb3VycyA7IHN1ciAiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NjgKKyM6IHd0LXN0YXR1cy5jOjE1MzIKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICJyZWJhc2FnZSBlbiBjb3VycyA7IHN1ciAiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NzMKKyM6IHd0LXN0YXR1cy5jOjE1MzcKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKIG1zZ3N0ciAiSEVBRCBkw6l0YWNow6llIHN1ciAiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NzUKKyM6IHd0LXN0YXR1cy5jOjE1MzkKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgogbXNnc3RyICJIRUFEIGTDqXRhY2jDqWUgZGVwdWlzICIKIAotIzogd3Qtc3RhdHVzLmM6MTQ3OAorIzogd3Qtc3RhdHVzLmM6MTU0MgogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIkFjdHVlbGxlbWVudCBzdXIgYXVjdW4gYnJhbmNoZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjE0OTYKKyM6IHd0LXN0YXR1cy5jOjE1NjAKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiVmFsaWRhdGlvbiBpbml0aWFsZSIKIAotIzogd3Qtc3RhdHVzLmM6MTUxMAorIzogd3Qtc3RhdHVzLmM6MTU3NAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiRmljaGllcnMgbm9uIHN1aXZpcyIKIAotIzogd3Qtc3RhdHVzLmM6MTUxMgorIzogd3Qtc3RhdHVzLmM6MTU3NgogbXNnaWQgIklnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIkZpY2hpZXJzIGlnbm9yw6lzIgogCi0jOiB3dC1zdGF0dXMuYzoxNTE2CisjOiB3dC1zdGF0dXMuYzoxNTgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC0yNTkzLDMyICs0MDA2LDMyIEBACiAib3VibGllciBkJ2Fqb3V0ZXIgbGVzIG5vdXZlYXV4IGZpY2hpZXJzIHBhciB2b3VzLW3Dqm1lICh2b2lyICdnaXQgaGVscCAiCiAic3RhdHVzJykuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTIyCisjOiB3dC1zdGF0dXMuYzoxNTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkJXMiCiBtc2dzdHIgIkZpY2hpZXJzIG5vbiBzdWl2aXMgbm9uIGFmZmljaMOpcyVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNTI0CisjOiB3dC1zdGF0dXMuYzoxNTg4CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAiICh1dGlsaXNleiAtdSBwb3VyIGFmZmljaGVyIGxlcyBmaWNoaWVycyBub24gc3VpdmlzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTUzMAorIzogd3Qtc3RhdHVzLmM6MTU5NAogbXNnaWQgIk5vIGNoYW5nZXMiCiBtc2dzdHIgIkF1Y3VuZSBtb2RpZmljYXRpb24iCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzUKKyM6IHd0LXN0YXR1cy5jOjE1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCiBtc2dzdHIgIiIKICJhdWN1bmUgbW9kaWZpY2F0aW9uIG4nYSDDqXTDqSBham91dMOpZSDDoCBsYSB2YWxpZGF0aW9uICh1dGlsaXNleiBcImdpdCBhZGRcIiBvdSAiCiAiXCJnaXQgY29tbWl0IC1hXCIpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzgKKyM6IHd0LXN0YXR1cy5jOjE2MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKIG1zZ3N0ciAiYXVjdW5lIG1vZGlmaWNhdGlvbiBham91dMOpZSDDoCBsYSB2YWxpZGF0aW9uXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDEKKyM6IHd0LXN0YXR1cy5jOjE2MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKQEAgLTI2MjcsNTcgKzQwNDAsNzIgQEAKICJhdWN1bmUgbW9kaWZpY2F0aW9uIGFqb3V0w6llIMOgIGxhIHZhbGlkYXRpb24gbWFpcyBkZXMgZmljaGllcnMgbm9uIHN1aXZpcyAiCiAic29udCBwcsOpc2VudHMgKHV0aWxpc2V6IFwiZ2l0IGFkZFwiIHBvdXIgbGVzIHN1aXZyZSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU0NAorIzogd3Qtc3RhdHVzLmM6MTYwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKIG1zZ3N0ciAiIgogImF1Y3VuZSBtb2RpZmljYXRpb24gYWpvdXTDqWUgw6AgbGEgdmFsaWRhdGlvbiBtYWlzIGRlcyBmaWNoaWVycyBub24gc3VpdmlzICIKICJzb250IHByw6lzZW50c1xuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQ3CisjOiB3dC1zdGF0dXMuYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICIiCiAicmllbiDDoCB2YWxpZGVyIChjcsOpZXovY29waWV6IGRlcyBmaWNoaWVycyBldCB1dGlsaXNleiBcImdpdCBhZGRcIiBwb3VyIGxlcyAiCiAic3VpdnJlKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTUwIHd0LXN0YXR1cy5jOjE1NTUKKyM6IHd0LXN0YXR1cy5jOjE2MTQgd3Qtc3RhdHVzLmM6MTYxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICJyaWVuIMOgIHZhbGlkZXJcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU1MworIzogd3Qtc3RhdHVzLmM6MTYxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgogbXNnc3RyICJyaWVuIMOgIHZhbGlkZXIgKHV0aWxpc2V6IC11IHBvdXIgYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NTcKKyM6IHd0LXN0YXR1cy5jOjE2MjEKICMsIGMtZm9ybWF0Ci1tc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgZGlyZWN0b3J5IGNsZWFuXG4iCittc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhblxuIgogbXNnc3RyICJyaWVuIMOgIHZhbGlkZXIsIGxhIGNvcGllIGRlIHRyYXZhaWwgZXN0IHByb3ByZVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjY0CisjOiB3dC1zdGF0dXMuYzoxNzI4CiBtc2dpZCAiSW5pdGlhbCBjb21taXQgb24gIgogbXNnc3RyICJWYWxpZGF0aW9uIGluaXRpYWxlIHN1ciAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjgKKyM6IHd0LXN0YXR1cy5jOjE3MzIKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEIChhdWN1bmUgYnJhbmNoZSkiCiAKICMgw6AgcHJpb3JpIG9uIHBhcmxlIGQndW5lIGJyYW5jaGUgaWNpCi0jOiB3dC1zdGF0dXMuYzoxNjk3CisjOiB3dC1zdGF0dXMuYzoxNzYxCiBtc2dpZCAiZ29uZSIKIG1zZ3N0ciAiZGlzcGFydWUiCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTkgd3Qtc3RhdHVzLmM6MTcwNworIzogd3Qtc3RhdHVzLmM6MTc2MyB3dC1zdGF0dXMuYzoxNzcxCiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAiZGVycmnDqHJlICIKIAotIzogd3Qtc3RhdHVzLmM6MTcwMiB3dC1zdGF0dXMuYzoxNzA1CisjOiB3dC1zdGF0dXMuYzoxNzY2IHd0LXN0YXR1cy5jOjE3NjkKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgImRldmFudCAiCiAKLSM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1NyBidWlsdGluL2Nsb25lLmM6NDE1CisjLiBUUkFOU0xBVE9SUzogdGhlIGFjdGlvbiBpcyBlLmcuICJwdWxsIHdpdGggcmViYXNlIgorIzogd3Qtc3RhdHVzLmM6MjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgJXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlICVzwqA6IHZvdXMgYXZleiBkZXMgbW9kaWZpY2F0aW9ucyBub24gaW5kZXjDqWVzLiIKKworIzogd3Qtc3RhdHVzLmM6MjI3NgorbXNnaWQgImFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiZGUgcGx1cywgdm90cmUgaW5kZXggY29udGllbnQgZGVzIG1vZGlmaWNhdGlvbnMgbm9uIHZhbGlkw6llcy4iCisKKyM6IHd0LXN0YXR1cy5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90ICVzOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIlcyBpbXBvc3NpYmxlwqA6IHZvdHJlIGluZGV4IGNvbnRpZW50IGRlcyBtb2RpZmljYXRpb25zIG5vbiB2YWxpZMOpZXMuIgorCisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTcgYnVpbHRpbi9jbG9uZS5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCiBtc2dzdHIgIsOpY2hlYyBsb3JzIGRlIGwndW5saW5rIGRlICclcyciCkBAIC0yNjg2LDI2NiArNDExNCwyNjUgQEAKIG1zZ2lkICJnaXQgYWRkIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxjaGVtaW4+Li4uIgogCi0jOiBidWlsdGluL2FkZC5jOjY1CisjOiBidWlsdGluL2FkZC5jOjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgInN0YXR1cyBkZSBkaWZmIGluYXR0ZW5kdSAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzo3MCBidWlsdGluL2NvbW1pdC5jOjI4MAorIzogYnVpbHRpbi9hZGQuYzo4NSBidWlsdGluL2NvbW1pdC5jOjI5MQogbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIG1pc2Ugw6Agam91ciBkZXMgZmljaGllcnMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6ODAKKyM6IGJ1aWx0aW4vYWRkLmM6OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAic3VwcHJlc3Npb24gZGUgJyVzJ1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjEzNAorIzogYnVpbHRpbi9hZGQuYzoxNDkKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAiTW9kaWZpY2F0aW9ucyBub24gaW5kZXjDqWVzIGFwcsOocyByYWZyYcOuY2hpc3NlbWVudCBkZSBsJ2luZGV4IDoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTk0IGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODExCisjOiBidWlsdGluL2FkZC5jOjIwOSBidWlsdGluL3Jldi1wYXJzZS5jOjg0MAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjA1CisjOiBidWlsdGluL2FkZC5jOjIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciAnJXMnIGVuIMOpY3JpdHVyZS4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjA5CisjOiBidWlsdGluL2FkZC5jOjIyNAogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgcGF0Y2giCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjEyCisjOiBidWlsdGluL2FkZC5jOjIyNwogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgbCfDqWRpdGlvbiBkdSBwYXRjaCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMTUKKyM6IGJ1aWx0aW4vYWRkLmM6MjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgIlN0YXQgZGUgJyVzJyBpbXBvc3NpYmxlIgogCi0jOiBidWlsdGluL2FkZC5jOjIxNworIzogYnVpbHRpbi9hZGQuYzoyMzIKIG1zZ2lkICJFbXB0eSBwYXRjaC4gQWJvcnRlZC4iCiBtc2dzdHIgIlBhdGNoIHZpZGUuIEFiYW5kb24uIgogCi0jOiBidWlsdGluL2FkZC5jOjIyMgorIzogYnVpbHRpbi9hZGQuYzoyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZCdhcHBsaXF1ZXIgJyVzJyIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzIKKyM6IGJ1aWx0aW4vYWRkLmM6MjQ3CiBtc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgogbXNnc3RyICIiCiAiTGVzIGNoZW1pbnMgc3VpdmFudHMgc29udCBpZ25vcsOpcyBwYXIgdW4gZGUgdm9zIGZpY2hpZXJzIC5naXRpZ25vcmUgOlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjI0OSBidWlsdGluL2NsZWFuLmM6ODcwIGJ1aWx0aW4vZmV0Y2guYzoxMTIgYnVpbHRpbi9tdi5jOjExMQotIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NSBidWlsdGluL3B1bGwuYzoxOTcgYnVpbHRpbi9wdXNoLmM6NTExCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMzIgYnVpbHRpbi9ybS5jOjI2OCBidWlsdGluL3NlbmQtcGFjay5jOjE2MgorIzogYnVpbHRpbi9hZGQuYzoyNjYgYnVpbHRpbi9jbGVhbi5jOjg3MCBidWlsdGluL2ZldGNoLmM6MTE1IGJ1aWx0aW4vbXYuYzoxMTEKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTUgYnVpbHRpbi9wdWxsLmM6MTk4IGJ1aWx0aW4vcHVzaC5jOjUyMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI2IGJ1aWx0aW4vcm0uYzoyNjggYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKIG1zZ2lkICJkcnkgcnVuIgogbXNnc3RyICJzaW11bGVyIGwnYWN0aW9uIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MCBidWlsdGluL2FwcGx5LmM6NDU2MyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5Ci0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzMgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6ODUgYnVpbHRpbi9mc2NrLmM6NTU3Ci0jOiBidWlsdGluL2xvZy5jOjE4MjYgYnVpbHRpbi9tdi5jOjExMCBidWlsdGluL3JlYWQtdHJlZS5jOjExNAotbXNnaWQgImJlIHZlcmJvc2UiCi1tc2dzdHIgIm1vZGUgdmVyYmV1eCIKLQotIzogYnVpbHRpbi9hZGQuYzoyNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MjY5CiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAic8OpbGVjdGlvbiBpbnRlcmFjdGl2ZSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTMgYnVpbHRpbi9jaGVja291dC5jOjExNTQgYnVpbHRpbi9yZXNldC5jOjI4NgorIzogYnVpbHRpbi9hZGQuYzoyNzAgYnVpbHRpbi9jaGVja291dC5jOjExNTYgYnVpbHRpbi9yZXNldC5jOjI4NgogbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJzw6lsZWN0aW9uIGludGVyYWN0aXZlIGRlcyBzZWN0aW9ucyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTQKKyM6IGJ1aWx0aW4vYWRkLmM6MjcxCiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICLDqWRpdGlvbiBkdSBkaWZmIGFjdHVlbCBldCBhcHBsaWNhdGlvbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTUKKyM6IGJ1aWx0aW4vYWRkLmM6MjcyCiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJwZXJtZXR0cmUgbCdham91dCBkZSBmaWNoaWVycyBpZ25vcsOpcyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6MjczCiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIm1ldHRyZSDDoCBqb3VyIGxlcyBmaWNoaWVycyBzdWl2aXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU3CisjOiBidWlsdGluL2FkZC5jOjI3NAogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgdGhlIHBhdGggd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAiZW5yZWdpc3RyZXIgc2V1bGVtZW50IGxlIGZhaXQgcXVlIGxlIGNoZW1pbiBzZXJhIGFqb3V0w6kgcGx1cyB0YXJkIgogCi0jOiBidWlsdGluL2FkZC5jOjI1OAorIzogYnVpbHRpbi9hZGQuYzoyNzUKIG1zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgImFqb3V0ZXIgbGVzIG1vZGlmaWNhdGlvbnMgZGUgdG91cyBsZXMgZmljaGllcnMgc3VpdmlzIGV0IG5vbiBzdWl2aXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjYxCisjOiBidWlsdGluL2FkZC5jOjI3OAogbXNnaWQgImlnbm9yZSBwYXRocyByZW1vdmVkIGluIHRoZSB3b3JraW5nIHRyZWUgKHNhbWUgYXMgLS1uby1hbGwpIgogbXNnc3RyICIiCiAiaWdub3JlciBsZXMgY2hlbWlucyBlZmZhY8OpcyBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwgKGlkZW50aXF1ZSDDoCAtLW5vLWFsbCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjYzCisjOiBidWlsdGluL2FkZC5jOjI4MAogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAibmUgcGFzIGFqb3V0ZXIsIGp1c3RlIHJhZnJhw65jaGlyIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY0CisjOiBidWlsdGluL2FkZC5jOjI4MQogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgIiIKICJzYXV0ZXIgc2V1bGVtZW50IGxlcyBmaWNoaWVycyBxdWkgbmUgcGV1dmVudCBwYXMgw6p0cmUgYWpvdXTDqXMgZHUgZmFpdCAiCiAiZCdlcnJldXJzIgogCi0jOiBidWlsdGluL2FkZC5jOjI2NQorIzogYnVpbHRpbi9hZGQuYzoyODIKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgInbDqXJpZmllciBzaSBkZXMgZmljaGllcnMgLSBtw6ptZSBtYW5xdWFudHMgLSBzb250IGlnbm9yw6lzLCDDoCB2aWRlIgogCi0jOiBidWlsdGluL2FkZC5jOjI4NworIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDcKK21zZ2lkICIoKy8tKXgiCittc2dzdHIgIigrLy0peCIKKworIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDgKK21zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKK21zZ3N0ciAib3V0cmVwYXNzZXIgbGUgYml0IGV4w6ljdXRhYmxlIHBvdXIgbGVzIGZpY2hpZXJzIGxpc3TDqXMiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uXG4iCiBtc2dzdHIgIlV0aWxpc2V6IC1mIHNpIHZvdXMgdm91bGV6IHLDqWVsbGVtZW50IGxlcyBham91dGVyLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjI5NAorIzogYnVpbHRpbi9hZGQuYzozMTIKIG1zZ2lkICJhZGRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgbCdham91dCBkZSBmaWNoaWVycyIKIAotIzogYnVpbHRpbi9hZGQuYzozMzAKKyM6IGJ1aWx0aW4vYWRkLmM6MzQ4CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi1BIGV0IC11IHNvbnQgbXV0dWVsbGVtZW50IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzM3CisjOiBidWlsdGluL2FkZC5jOjM1NQogbXNnaWQgIk9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWRyeS1ydW4iCiBtc2dzdHIgIiIKICJMJ29wdGlvbiAtLWlnbm9yZS1taXNzaW5nIG5lIHBldXQgw6p0cmUgdXRpbGlzw6llIHF1J2VuIGNvbXBsw6ltZW50IGRlIC0tZHJ5LXJ1biIKIAotIzogYnVpbHRpbi9hZGQuYzozNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tY2htb2QgcGFyYW0gJyVzJyBtdXN0IGJlIGVpdGhlciAteCBvciAreCIKK21zZ3N0ciAiTGUgcGFyYW3DqHRyZSAnJXMnIGRlIC0tY2htb2QgZG9pdCDDqnRyZSBzb2l0IC14IHNvaXQgK3giCisKKyM6IGJ1aWx0aW4vYWRkLmM6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgogbXNnc3RyICJSaWVuIGRlIHNww6ljaWZpw6ksIHJpZW4gbidhIMOpdMOpIGFqb3V0w6kuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUzCisjOiBidWlsdGluL2FkZC5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiVm91cyB2b3VsaWV6IHPDu3JlbWVudCBkaXJlICdnaXQgYWRkIC4nID9cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTggYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIgYnVpbHRpbi9jbGVhbi5jOjkxNAotIzogYnVpbHRpbi9jb21taXQuYzozMzkgYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyOTgKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDAKKyM6IGJ1aWx0aW4vYWRkLmM6MzgwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzIgYnVpbHRpbi9jbGVhbi5jOjkxNCBidWlsdGluL2NvbW1pdC5jOjM1MAorIzogYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyOTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDQKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCiBtc2dzdHIgImZpY2hpZXIgZCdpbmRleCBjb3Jyb21wdSIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzkgYnVpbHRpbi9hcHBseS5jOjQ2NjEgYnVpbHRpbi9tdi5jOjI4MyBidWlsdGluL3JtLmM6NDMwCi1tc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgotbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBub3V2ZWF1IGZpY2hpZXIgZCdpbmRleCIKLQotIzogYnVpbHRpbi9hbS5jOjI1NiBidWlsdGluL2NvbW1pdC5jOjc0OSBidWlsdGluL21lcmdlLmM6MTA4OQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgotbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJyVzJyIKLQotIzogYnVpbHRpbi9hbS5jOjQzMAorIzogYnVpbHRpbi9hbS5jOjQxNAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBhdXRob3Igc2NyaXB0IgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgc2NyaXB0IGF1dGhvciIKIAotIzogYnVpbHRpbi9hbS5jOjUwNworIzogYnVpbHRpbi9hbS5jOjQ5MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICInJXMnIGEgw6l0w6kgZWZmYWPDqSBwYXIgbGUgY3JvY2hldCBhcHBseXBhdGNoLW1zZyIKIAotIzogYnVpbHRpbi9hbS5jOjU0OCBidWlsdGluL25vdGVzLmM6MzAwCisjOiBidWlsdGluL2FtLmM6NTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKIG1zZ3N0ciAiTGlnbmUgZW4gZW50csOpZSBtYWxmb3Jtw6llIDogJyVzJy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo1ODUgYnVpbHRpbi9ub3Rlcy5jOjMxNQorIzogYnVpbHRpbi9hbS5jOjU2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBjb3BpZXIgbGVzIG5vdGVzIGRlICclcycgdmVycyAnJXMnIgogCi0jOiBidWlsdGluL2FtLmM6NjExCisjOiBidWlsdGluL2FtLmM6NTk1CiBtc2dpZCAiZnNlZWsgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgZnNlZWsiCiAKLSM6IGJ1aWx0aW4vYW0uYzo3ODgKKyM6IGJ1aWx0aW4vYW0uYzo3NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsZSBwYXRjaCAnJXMnIgogCi0jOiBidWlsdGluL2FtLmM6ODUzCisjOiBidWlsdGluL2FtLmM6ODQwCiBtc2dpZCAiT25seSBvbmUgU3RHSVQgcGF0Y2ggc2VyaWVzIGNhbiBiZSBhcHBsaWVkIGF0IG9uY2UiCiBtc2dzdHIgIlNldWxlbWVudCB1bmUgc8OpcmllIGRlIHBhdGNocyBTdEdJVCBwZXV0IMOqdHJlIGFwcGxpcXXDqWUgw6AgbGEgZm9pcyIKIAotIzogYnVpbHRpbi9hbS5jOjkwMAorIzogYnVpbHRpbi9hbS5jOjg4NwogbXNnaWQgImludmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICJob3JvZGF0YWdlIGludmFsaWRlIgogCi0jOiBidWlsdGluL2FtLmM6OTAzIGJ1aWx0aW4vYW0uYzo5MTEKKyM6IGJ1aWx0aW4vYW0uYzo4OTAgYnVpbHRpbi9hbS5jOjg5OAogbXNnaWQgImludmFsaWQgRGF0ZSBsaW5lIgogbXNnc3RyICJsaWduZSBkZSBEYXRlIGludmFsaWRlIgogCi0jOiBidWlsdGluL2FtLmM6OTA4CisjOiBidWlsdGluL2FtLmM6ODk1CiBtc2dpZCAiaW52YWxpZCB0aW1lem9uZSBvZmZzZXQiCiBtc2dzdHIgImTDqWNhbGFnZSBob3JhaXJlIGludmFsaWRlIgogCi0jOiBidWlsdGluL2FtLmM6OTk1CisjOiBidWlsdGluL2FtLmM6OTg0CiBtc2dpZCAiUGF0Y2ggZm9ybWF0IGRldGVjdGlvbiBmYWlsZWQuIgogbXNnc3RyICLDiWNoZWMgZGUgZMOpdGVjdGlvbiBkdSBmb3JtYXQgZHUgcGF0Y2guIgogCi0jOiBidWlsdGluL2FtLmM6MTAwMCBidWlsdGluL2Nsb25lLmM6MzgwCisjOiBidWlsdGluL2FtLmM6OTg5IGJ1aWx0aW4vY2xvbmUuYzozNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIGNyw6lhdGlvbiBkdSByw6lwZXJ0b2lyZSAnJXMnIgogCi0jOiBidWlsdGluL2FtLmM6MTAwNAorIzogYnVpbHRpbi9hbS5jOjk5MwogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAiw4ljaGVjIGRlIGTDqWNvdXBhZ2UgZGVzIHBhdGNocy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTM2IGJ1aWx0aW4vY29tbWl0LmM6MzY1CisjOiBidWlsdGluL2FtLmM6MTEyNSBidWlsdGluL2NvbW1pdC5jOjM3NgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBpbmRleCBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBmaWNoaWVyIGQnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTg3CisjOiBidWlsdGluL2FtLmM6MTE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJXMgLS1jb250aW51ZVwiLiIKIG1zZ3N0ciAiUXVhbmQgdm91cyBhdmV6IHLDqXNvbHUgY2UgcHJvYmzDqG1lLCBsYW5jZXogXCIlcyAtLWNvbnRpbnVlXCIuIgogCi0jOiBidWlsdGluL2FtLmM6MTE4OAorIzogYnVpbHRpbi9hbS5jOjExNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcIiVzIC0tc2tpcFwiIGluc3RlYWQuIgogbXNnc3RyICJTaSB2b3VzIHByw6lmw6lyZXogcGx1dMO0dCBzYXV0ZXIgY2UgcGF0Y2gsIGxhbmNleiBcIiVzIC0tc2tpcFwiLiIKIAotIzogYnVpbHRpbi9hbS5jOjExODkKKyM6IGJ1aWx0aW4vYW0uYzoxMTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKIG1zZ3N0ciAiIgogIlBvdXIgcmVzdGF1cmVyIGxhIGJyYW5jaGUgb3JpZ2luYWxlIGV0IGFycsOqdGVyIGRlIHBhdGNoZXIsIGxhbmNleiBcIiVzIC0tIgogImFib3J0XCIuIgogCi0jOiBidWlsdGluL2FtLmM6MTMyNworIzogYnVpbHRpbi9hbS5jOjEzMTYKIG1zZ2lkICJQYXRjaCBpcyBlbXB0eS4gV2FzIGl0IHNwbGl0IHdyb25nPyIKIG1zZ3N0ciAiTGUgcGF0Y2ggZXN0IHZpZGUuIExlIGTDqWNvdXBhZ2Ugw6l0YWl0LWlsIGJvbsKgPyIKIAotIzogYnVpbHRpbi9hbS5jOjE0MDEgYnVpbHRpbi9sb2cuYzoxNTE2CisjOiBidWlsdGluL2FtLmM6MTM5MCBidWlsdGluL2xvZy5jOjE1NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKIG1zZ3N0ciAibGlnbmUgZCdpZGVudGlmaWNhdGlvbiBpbnZhbGlkZSA6ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MTQyOAorIzogYnVpbHRpbi9hbS5jOjE0MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGNvbW1pdCAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzAKKyM6IGJ1aWx0aW4vYW0uYzoxNjEwCiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiIgogIkxlIGTDqXDDtHQgbidhIHBhcyBsZXMgYmxvYnMgbsOpY2Vzc2FpcmVzIHBvdXIgdW4gcmV0b3VyIMOgIHVuZSBmdXNpb24gw6AgMyAiCiAicG9pbnRzLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzIKKyM6IGJ1aWx0aW4vYW0uYzoxNjEyCiBtc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKIG1zZ3N0ciAiIgogIlV0aWxpc2F0aW9uIGRlIGwnaW5mb3JtYXRpb24gZGUgbCdpbmRleCBwb3VyIHJlY29uc3RydWlyZSB1biBhcmJyZSBkZSBiYXNlLi4uIgogCi0jOiBidWlsdGluL2FtLmM6MTY1MQorIzogYnVpbHRpbi9hbS5jOjE2MzEKIG1zZ2lkICIiCiAiRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKICJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgpAQCAtMjk1MywzOCArNDM4MCwzOCBAQAogIkF2ZXotdm91cyDDqWRpdMOpIGxlIHBhdGNoIMOgIGxhIG1haW4gP1xuIgogIklsIG5lIHMnYXBwbGlxdWUgcGFzIGF1eCBibG9icyBlbnJlZ2lzdHLDqXMgZGFucyBzb24gaW5kZXguIgogCi0jOiBidWlsdGluL2FtLmM6MTY1NworIzogYnVpbHRpbi9hbS5jOjE2MzcKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gcGF0Y2hpbmcgYmFzZSBhbmQgMy13YXkgbWVyZ2UuLi4iCiBtc2dzdHIgIlJldG91ciDDoCB1biBwYXRjaCBkZSBsYSBiYXNlIGV0IGZ1c2lvbiDDoCAzIHBvaW50cy4uLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NzIKKyM6IGJ1aWx0aW4vYW0uYzoxNjYyCiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIGluIHRoZSBjaGFuZ2VzLiIKIG1zZ3N0ciAiw4ljaGVjIGQnaW50w6lncmF0aW9uIGRlcyBtb2RpZmljYXRpb25zLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2OTYgYnVpbHRpbi9tZXJnZS5jOjYzNgorIzogYnVpbHRpbi9hbS5jOjE2ODYgYnVpbHRpbi9tZXJnZS5jOjYyOAogbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIGEgw6ljaG91w6kgw6Agw6ljcmlyZSB1biBhcmJyZSIKIAotIzogYnVpbHRpbi9hbS5jOjE3MDMKKyM6IGJ1aWx0aW4vYW0uYzoxNjkzCiBtc2dpZCAiYXBwbHlpbmcgdG8gYW4gZW1wdHkgaGlzdG9yeSIKIG1zZ3N0ciAiYXBwbGljYXRpb24gw6AgdW4gaGlzdG9yaXF1ZSB2aWRlIgogCi0jOiBidWlsdGluL2FtLmM6MTcxNiBidWlsdGluL2NvbW1pdC5jOjE3NzUgYnVpbHRpbi9tZXJnZS5jOjg0MQotIzogYnVpbHRpbi9tZXJnZS5jOjg2NgorIzogYnVpbHRpbi9hbS5jOjE3MDYgYnVpbHRpbi9jb21taXQuYzoxNzY5IGJ1aWx0aW4vbWVyZ2UuYzo3OTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MjMKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGwnw6ljcml0dXJlIGRlIGwnb2JqZXQgY29tbWl0IgogCi0jOiBidWlsdGluL2FtLmM6MTc0OCBidWlsdGluL2FtLmM6MTc1MgorIzogYnVpbHRpbi9hbS5jOjE3MzkgYnVpbHRpbi9hbS5jOjE3NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc3VtZTogJXMgZG9lcyBub3QgZXhpc3QuIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNvbnRpbnVlciA6ICVzIG4nZXhpc3RlIHBhcy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzY4CisjOiBidWlsdGluL2FtLmM6MTc1OQogbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKIG1zZ3N0ciAiIgogImltcG9zc2libGUgZCfDqnRyZSBpbnRlcmFjdGlmIHNhbnMgZW50csOpZSBzdGFuZGFyZCBjb25uZWN0w6llIMOgIHVuIHRlcm1pbmFsLiIKIAotIzogYnVpbHRpbi9hbS5jOjE3NzMKKyM6IGJ1aWx0aW4vYW0uYzoxNzY0CiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICJMZSBjb3JwcyBkZSBsYSB2YWxpZGF0aW9uIGVzdCA6IgogCkBAIC0yOTkyLDM1ICs0NDE5LDM1IEBACiAjLiBpbiB5b3VyIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2gKICMuIGlucHV0IGF0IHRoaXMgcG9pbnQuCiAjLgotIzogYnVpbHRpbi9hbS5jOjE3ODMKKyM6IGJ1aWx0aW4vYW0uYzoxNzc0CiBtc2dpZCAiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKIG1zZ3N0ciAiQXBwbGlxdWVyID8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbMKgOiAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODMzCisjOiBidWlsdGluL2FtLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAlcykiCiBtc2dzdHIgIkluZGV4IHNhbGUgOiBpbXBvc3NpYmxlIGQnYXBwbGlxdWVyIGRlcyBwYXRjaHMgKHNhbGVzIDogJXMpIgogCi0jOiBidWlsdGluL2FtLmM6MTg2OCBidWlsdGluL2FtLmM6MTk0MAorIzogYnVpbHRpbi9hbS5jOjE4NjEgYnVpbHRpbi9hbS5jOjE5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmc6ICUuKnMiCiBtc2dzdHIgIkFwcGxpY2F0aW9uIGRlICAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTg4NAorIzogYnVpbHRpbi9hbS5jOjE4NzcKIG1zZ2lkICJObyBjaGFuZ2VzIC0tIFBhdGNoIGFscmVhZHkgYXBwbGllZC4iCiBtc2dzdHIgIlBhcyBkZSBjaGFuZ2VtZW50IC0tIFBhdGNoIGTDqWrDoCBhcHBsaXF1w6kuIgogCi0jOiBidWlsdGluL2FtLmM6MTg5MgorIzogYnVpbHRpbi9hbS5jOjE4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGF0Y2ggZmFpbGVkIGF0ICVzICUuKnMiCiBtc2dzdHIgImxlIHBhdGNoIGEgw6ljaG91w6kgw6AgJXMgJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE4OTgKKyM6IGJ1aWx0aW4vYW0uYzoxODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjb3B5IG9mIHRoZSBwYXRjaCB0aGF0IGZhaWxlZCBpcyBmb3VuZCBpbjogJXMiCiBtc2dzdHIgIkxhIGNvcGllIGR1IHBhdGNoIHF1aSBhIMOpY2hvdcOpIHNlIHRyb3V2ZSBkYW5zIDogJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxOTQzCisjOiBidWlsdGluL2FtLmM6MTkzNgogbXNnaWQgIiIKICJObyBjaGFuZ2VzIC0gZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz9cbiIKICJJZiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gc3RhZ2UsIGNoYW5jZXMgYXJlIHRoYXQgc29tZXRoaW5nIGVsc2VcbiIKQEAgLTMwMzEsNyArNDQ1OCw3IEBACiAiaW50cm9kdWl0IGxlcyBtw6ptZXMgY2hhbmdlbWVudHMgOyB2b3VzIHBvdXJyaWV6IGF2b2lyIGVudmllIGRlIHNhdXRlciBjZSAiCiAicGF0Y2guIgogCi0jOiBidWlsdGluL2FtLmM6MTk1MAorIzogYnVpbHRpbi9hbS5jOjE5NDMKIG1zZ2lkICIiCiAiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKICJEaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnPyIKQEAgLTMwMzksMTcgKzQ0NjYsMTcgQEAKICJWb3VzIGF2ZXogdG91am91cnMgZGVzIGNoZW1pbnMgbm9uIGZ1c2lvbm7DqXMgZGFucyB2b3RyZSBpbmRleFxuIgogIkF1cmllei12b3VzIG91Ymxpw6kgZGUgZmFpcmUgJ2dpdCBhZGQnID8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMDU4IGJ1aWx0aW4vYW0uYzoyMDYyIGJ1aWx0aW4vYW0uYzoyMDc0IGJ1aWx0aW4vcmVzZXQuYzozMDgKKyM6IGJ1aWx0aW4vYW0uYzoyMDUxIGJ1aWx0aW4vYW0uYzoyMDU1IGJ1aWx0aW4vYW0uYzoyMDY3IGJ1aWx0aW4vcmVzZXQuYzozMDgKICM6IGJ1aWx0aW4vcmVzZXQuYzozMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGwnb2JqZXQgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTEwCisjOiBidWlsdGluL2FtLmM6MjEwMwogbXNnaWQgImZhaWxlZCB0byBjbGVhbiBpbmRleCIKIG1zZ3N0ciAiw6ljaGVjIGR1IG5ldHRveWFnZSBkZSBsJ2luZGV4IgogCi0jOiBidWlsdGluL2FtLmM6MjE0NAorIzogYnVpbHRpbi9hbS5jOjIxMzcKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKQEAgLTMwNTcsMTU2ICs0NDg0LDEzNSBAQAogIlZvdXMgc2VtYmxleiBhdm9pciBkw6lwbGFjw6kgbGEgSEVBRCBkZXB1aXMgbGUgZGVybmllciDDqWNoZWMgZGUgJ2FtJy5cbiIKICJQYXMgZGUgcmV0b3VyIMOgIE9SSUdfSEVBRCIKIAotIzogYnVpbHRpbi9hbS5jOjIyMDUKKyM6IGJ1aWx0aW4vYW0uYzoyMjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIC0tcGF0Y2gtZm9ybWF0OiAlcyIKIG1zZ3N0ciAiVmFsZXVyIGludmFsaWRlIHBvdXIgLS1wYXRjaC1mb3JtYXQgOiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzgKLW1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD58PE1haWxkaXI+KS4uLl0iCi1tc2dzdHIgImdpdCBhbSBbPG9wdGlvbnM+XSBbKDxtYm94Pnw8TWFpbGRpcj4pLi4uXSIKKyM6IGJ1aWx0aW4vYW0uYzoyMjMzCittc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCittc2dzdHIgImdpdCBhbSBbPG9wdGlvbnM+XSBbKDxtYm94PiB8IDxNYWlsZGlyPikuLi5dIgogCi0jOiBidWlsdGluL2FtLmM6MjIzOQorIzogYnVpbHRpbi9hbS5jOjIyMzQKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIG1zZ3N0ciAiZ2l0IGFtIFs8b3B0aW9ucz5dICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ1CisjOiBidWlsdGluL2FtLmM6MjI0MAogbXNnaWQgInJ1biBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJleMOpY3V0aW9uIGludGVyYWN0aXZlIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NworIzogYnVpbHRpbi9hbS5jOjIyNDIKIG1zZ2lkICJoaXN0b3JpY2FsIG9wdGlvbiAtLSBuby1vcCIKIG1zZ3N0ciAib3B0aW9uIGhpc3RvcmlxdWUgLS0gbm8tb3AiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ5CisjOiBidWlsdGluL2FtLmM6MjI0NAogbXNnaWQgImFsbG93IGZhbGwgYmFjayBvbiAzd2F5IG1lcmdpbmcgaWYgbmVlZGVkIgogbXNnc3RyICJwZXJtZXR0cmUgZGUgcmV2ZW5pciDDoCB1bmUgZnVzaW9uIMOgIDMgcG9pbnRzIHNpIG7DqWNlc3NhaXJlIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MCBidWlsdGluL2luaXQtZGIuYzo0NzggYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NwotIzogYnVpbHRpbi9yZXBhY2suYzoxNzEKKyM6IGJ1aWx0aW4vYW0uYzoyMjQ1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MyBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU3CisjOiBidWlsdGluL3JlcGFjay5jOjE3MgogbXNnaWQgImJlIHF1aWV0IgogbXNnc3RyICLDqnRyZSBzaWxlbmNpZXV4IgogCi0jOiBidWlsdGluL2FtLmM6MjI1MgorIzogYnVpbHRpbi9hbS5jOjIyNDcKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5IGxpbmUgdG8gdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJham91dGVyIHVuZSBsaWduZSBTaWduZWQtb2ZmLWJ5IGF1IG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTUKKyM6IGJ1aWx0aW4vYW0uYzoyMjUwCiBtc2dpZCAicmVjb2RlIGludG8gdXRmOCAoZGVmYXVsdCkiCiBtc2dzdHIgInJlY29kZXIgZW4gdXRmLTggKHBhciBkw6lmYXV0KSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTcKKyM6IGJ1aWx0aW4vYW0uYzoyMjUyCiBtc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAicGFzc2VyIGwnb3B0aW9uIC1rIMOgIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTkKKyM6IGJ1aWx0aW4vYW0uYzoyMjU0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAicGFzc2VyIGwnb3B0aW9uIC1iIMOgIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjEKKyM6IGJ1aWx0aW4vYW0uYzoyMjU2CiBtc2dpZCAicGFzcyAtbSBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAicGFzc2VyIGwnb3B0aW9uIC1tIMOgIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjMKKyM6IGJ1aWx0aW4vYW0uYzoyMjU4CiBtc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKIG1zZ3N0ciAicGFzc2VyIGwnb3B0aW9uIC0ta2VlcC1jciDDoCBnaXQtbWFpbHNwbGl0IGZwb3VyIGxlIGZvcm1hdCBtYm94IgogCi0jOiBidWlsdGluL2FtLmM6MjI2NgorIzogYnVpbHRpbi9hbS5jOjIyNjEKIG1zZ2lkICJkbyBub3QgcGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGluZGVwZW5kZW50IG9mIGFtLmtlZXBjciIKIG1zZ3N0ciAiIgogIm5lIHBhcyBwYXNzZXIgbCdvcHRpb24gLS1rZWVwLWNyIMOgIGdpdC1tYWlsc3BsaXQgaW5kw6lwZW5kYW1tZW50IGRlIGFtLmtlZXBjciIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjkKKyM6IGJ1aWx0aW4vYW0uYzoyMjY0CiBtc2dpZCAic3RyaXAgZXZlcnl0aGluZyBiZWZvcmUgYSBzY2lzc29ycyBsaW5lIgogbXNnc3RyICJyZXRpcmVyIHRvdXQgbGUgY29udGVudSBhdmFudCBsYSBsaWduZSBkZXMgY2lzZWF1eCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzAgYnVpbHRpbi9hcHBseS5jOjQ1NDYKLW1zZ2lkICJhY3Rpb24iCi1tc2dzdHIgImFjdGlvbiIKLQotIzogYnVpbHRpbi9hbS5jOjIyNzEgYnVpbHRpbi9hbS5jOjIyNzQgYnVpbHRpbi9hbS5jOjIyNzcgYnVpbHRpbi9hbS5jOjIyODAKLSM6IGJ1aWx0aW4vYW0uYzoyMjgzIGJ1aWx0aW4vYW0uYzoyMjg2IGJ1aWx0aW4vYW0uYzoyMjg5IGJ1aWx0aW4vYW0uYzoyMjkyCi0jOiBidWlsdGluL2FtLmM6MjI5OAorIzogYnVpbHRpbi9hbS5jOjIyNjYgYnVpbHRpbi9hbS5jOjIyNjkgYnVpbHRpbi9hbS5jOjIyNzIgYnVpbHRpbi9hbS5jOjIyNzUKKyM6IGJ1aWx0aW4vYW0uYzoyMjc4IGJ1aWx0aW4vYW0uYzoyMjgxIGJ1aWx0aW4vYW0uYzoyMjg0IGJ1aWx0aW4vYW0uYzoyMjg3CisjOiBidWlsdGluL2FtLmM6MjI5MwogbXNnaWQgInBhc3MgaXQgdGhyb3VnaCBnaXQtYXBwbHkiCiBtc2dzdHIgImxlIHBhc3NlciBqdXNxdSfDoCBnaXQtYXBwbHkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjc5IGJ1aWx0aW4vYXBwbHkuYzo0NTcwCi1tc2dpZCAicm9vdCIKLW1zZ3N0ciAicmFjaW5lIgotCi0jOiBidWlsdGluL2FtLmM6MjI4MiBidWlsdGluL2FtLmM6MjI4NSBidWlsdGluL2FwcGx5LmM6NDUwOAotIzogYnVpbHRpbi9hcHBseS5jOjQ1MTEgYnVpbHRpbi9jbG9uZS5jOjkwIGJ1aWx0aW4vZmV0Y2guYzo5NQotIzogYnVpbHRpbi9wdWxsLmM6MTc5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNzcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4NQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzY3Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzcwCi1tc2dpZCAicGF0aCIKLW1zZ3N0ciAiY2hlbWluIgotCi0jOiBidWlsdGluL2FtLmM6MjI4OCBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5Ci0jOiBidWlsdGluL2dyZXAuYzo3MDYgYnVpbHRpbi9tZXJnZS5jOjE5OSBidWlsdGluL3B1bGwuYzoxMzQgYnVpbHRpbi9wdWxsLmM6MTkzCi0jOiBidWlsdGluL3JlcGFjay5jOjE3OCBidWlsdGluL3JlcGFjay5jOjE4MiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1Ci0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc1IGJ1aWx0aW4vdGFnLmM6MzQwIHBhcnNlLW9wdGlvbnMuaDoxMzIKLSM6IHBhcnNlLW9wdGlvbnMuaDoxMzQgcGFyc2Utb3B0aW9ucy5oOjI0NAorIzogYnVpbHRpbi9hbS5jOjIyODMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYyIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NQorIzogYnVpbHRpbi9ncmVwLmM6NzA3IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTM1CisjOiBidWlsdGluL3B1bGwuYzoxOTQgYnVpbHRpbi9yZXBhY2suYzoxODEgYnVpbHRpbi9yZXBhY2suYzoxODUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQgYnVpbHRpbi9zaG93LXJlZi5jOjE3NSBidWlsdGluL3RhZy5jOjM0MAorIzogcGFyc2Utb3B0aW9ucy5oOjEzMiBwYXJzZS1vcHRpb25zLmg6MTM0IHBhcnNlLW9wdGlvbnMuaDoyNDUKIG1zZ2lkICJuIgogbXNnc3RyICJuIgogCi0jOiBidWlsdGluL2FtLmM6MjI5MSBidWlsdGluL2FwcGx5LmM6NDUxNAotbXNnaWQgIm51bSIKLW1zZ3N0ciAibnVtIgotCi0jOiBidWlsdGluL2FtLmM6MjI5NCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3IGJ1aWx0aW4vcmVwbGFjZS5jOjQzOAorIzogYnVpbHRpbi9hbS5jOjIyODkgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3JlcGxhY2UuYzo0MzgKICM6IGJ1aWx0aW4vdGFnLmM6MzcyCiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICJmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk1CisjOiBidWlsdGluL2FtLmM6MjI5MAogbXNnaWQgImZvcm1hdCB0aGUgcGF0Y2goZXMpIGFyZSBpbiIKIG1zZ3N0ciAiZm9ybWF0IGRlIHByw6lzZW50YXRpb24gZGVzIHBhdGNocyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDEKKyM6IGJ1aWx0aW4vYW0uYzoyMjk2CiBtc2dpZCAib3ZlcnJpZGUgZXJyb3IgbWVzc2FnZSB3aGVuIHBhdGNoIGZhaWx1cmUgb2NjdXJzIgogbXNnc3RyICJzdXJjaGFyZ2VyIGxlIG1lc3NhZ2UgZCdlcnJldXIgbG9ycyBkJ3VuIMOpY2hlYyBkJ2FwcGxpY2F0aW9uIGRlIHBhdGNoIgogCi0jOiBidWlsdGluL2FtLmM6MjMwMworIzogYnVpbHRpbi9hbS5jOjIyOTgKIG1zZ2lkICJjb250aW51ZSBhcHBseWluZyBwYXRjaGVzIGFmdGVyIHJlc29sdmluZyBhIGNvbmZsaWN0IgogbXNnc3RyICJjb250aW51ZXIgw6AgYXBwbGlxdWVyIGxlcyBwYXRjaHMgYXByw6hzIHLDqXNvbHV0aW9uIGQndW4gY29uZmxpdCIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDYKKyM6IGJ1aWx0aW4vYW0uYzoyMzAxCiBtc2dpZCAic3lub255bXMgZm9yIC0tY29udGludWUiCiBtc2dzdHIgInN5bm9ueW1lcyBkZSAtLWNvbnRpbnVlIgogCi0jOiBidWlsdGluL2FtLmM6MjMwOQorIzogYnVpbHRpbi9hbS5jOjIzMDQKIG1zZ2lkICJza2lwIHRoZSBjdXJyZW50IHBhdGNoIgogbXNnc3RyICJzYXV0ZXIgbGUgcGF0Y2ggY291cmFudCIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTIKKyM6IGJ1aWx0aW4vYW0uYzoyMzA3CiBtc2dpZCAicmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBhYm9ydCB0aGUgcGF0Y2hpbmcgb3BlcmF0aW9uLiIKIG1zZ3N0ciAiIgogInJlc3RhdXJlciBsYSBicmFuY2hlIG9yaWdpbmFsZSBldCBhYmFuZG9ubmVyIGxlcyBhcHBsaWNhdGlvbnMgZGUgcGF0Y2guIgogCi0jOiBidWlsdGluL2FtLmM6MjMxNgorIzogYnVpbHRpbi9hbS5jOjIzMTEKIG1zZ2lkICJsaWUgYWJvdXQgY29tbWl0dGVyIGRhdGUiCiBtc2dzdHIgIm1lbnRpciBzdXIgbGEgZGF0ZSBkZSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL2FtLmM6MjMxOAorIzogYnVpbHRpbi9hbS5jOjIzMTMKIG1zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgogbXNnc3RyICJ1dGlsaXNlciBsJ2hvcm9kYXRhZ2UgYWN0dWVsIHBvdXIgbGEgZGF0ZSBkJ2F1dGV1ciIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjAgYnVpbHRpbi9jb21taXQuYzoxNjA5IGJ1aWx0aW4vbWVyZ2UuYzoyMjgKLSM6IGJ1aWx0aW4vcHVsbC5jOjE2NCBidWlsdGluL3JldmVydC5jOjkyIGJ1aWx0aW4vdGFnLmM6MzU1CisjOiBidWlsdGluL2FtLmM6MjMxNSBidWlsdGluL2NvbW1pdC5jOjE2MDUgYnVpbHRpbi9tZXJnZS5jOjIyOQorIzogYnVpbHRpbi9wdWxsLmM6MTY1IGJ1aWx0aW4vcmV2ZXJ0LmM6OTIgYnVpbHRpbi90YWcuYzozNTUKIG1zZ2lkICJrZXktaWQiCiBtc2dzdHIgImlkLWNsw6kiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIxCisjOiBidWlsdGluL2FtLmM6MjMxNgogbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCiBtc2dzdHIgInNpZ25lciBsZXMgY29tbWl0cyBhdmVjIEdQRyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjQKKyM6IGJ1aWx0aW4vYW0uYzoyMzE5CiBtc2dpZCAiKGludGVybmFsIHVzZSBmb3IgZ2l0LXJlYmFzZSkiCiBtc2dzdHIgIih1dGlsaXNhdGlvbiBpbnRlcm5lIHBvdXIgZ2l0LXJlYmFzZSkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzM5CisjOiBidWlsdGluL2FtLmM6MjMzNAogbXNnaWQgIiIKICJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCiAiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKQEAgLTMyMTQsMTcgKzQ2MjAsMTcgQEAKICJMJ29wdGlvbiAtYi8tLWJpbmFyeSBuZSBmYWl0IHBsdXMgcmllbiBkZXB1aXMgbG9uZ3RlbXBzLFxuIgogImV0IGVsbGUgc2VyYSBzdXBwcmltw6llLiBWZXVpbGxleiBuZSBwbHVzIGwndXRpbGlzZXIuIgogCi0jOiBidWlsdGluL2FtLmM6MjM0NgorIzogYnVpbHRpbi9hbS5jOjIzNDEKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIsOpY2hlYyDDoCBsYSBsZWN0dXJlIGRlIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzYxCisjOiBidWlsdGluL2FtLmM6MjM1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICVzIHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCiBtc2dzdHIgIiIKICJsZSByw6lwZXJ0b2lyZSBwcsOpY8OpZGVudCBkZSByZWJhc2FnZSAlcyBleGlzdGUgdG91am91cnMgbWFpcyBtYm94IGRvbm7DqWUuIgogCi0jOiBidWlsdGluL2FtLmM6MjM4NQorIzogYnVpbHRpbi9hbS5jOjIzODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN0cmF5ICVzIGRpcmVjdG9yeSBmb3VuZC5cbiIKQEAgLTMyMzMsNTEyICs0NjM5LDE2IEBACiAiUsOpcGVydG9pcmUgYWJhbmRvbm7DqSAlcyB0cm91dsOpLlxuIgogIlV0aWxpc2V6IFwiZ2l0IGFtIC0tYWJvcnRcIiBwb3VyIGxlIHN1cHByaW1lci4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzkxCisjOiBidWlsdGluL2FtLmM6MjM4NgogbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCiBtc2dzdHIgIiIKICJQYXMgZGUgcsOpc29sdXRpb24gZGUgbCdvcMOpcmF0aW9uIGVuIGNvdXJzLCBub3VzIG5lIHNvbW1lcyBwYXMgZGFucyB1bmUgIgogInJlcHJpc2UuIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NTkKKyM6IGJ1aWx0aW4vYXBwbHkuYzo4CiBtc2dpZCAiZ2l0IGFwcGx5IFs8b3B0aW9ucz5dIFs8cGF0Y2g+Li4uXSIKIG1zZ3N0ciAiZ2l0IGFwcGx5IFs8b3B0aW9ucz5dIFs8cGF0Y2g+Li4uXSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjExMQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBvcHRpb24gJyVzJyIKLW1zZ3N0ciAib3B0aW9uIGQnZXNwYWNlIG5vbiByZWNvbm51ZSAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTI2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIGlnbm9yZSBvcHRpb24gJyVzJyIKLW1zZ3N0ciAib3B0aW9uIGQnaWdub3JhbmNlIGQnZXNwYWNlIG5vbiByZWNvbm51ZSAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6ODE4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiCi1tc2dzdHIgIkltcG9zc2libGUgZGUgcHLDqXBhcmVyIGxhIHJlZ2V4cCBkJ2hvcm9kYXRhZ2UgJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo4MjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgotbXNnc3RyICJyZWdleGVjIGEgcmV0b3VybsOpICVkIHBvdXIgbCdlbnRyw6llIDogJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5MDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKLW1zZ3N0ciAibm9tIGRlIGZpY2hpZXIgZHUgcGF0Y2ggaW50cm91dmFibGUgw6AgbGEgbGlnbmUgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgotbXNnc3RyICIiCi0iZ2l0IGFwcGx5IDogbWF1dmFpcyBmb3JtYXQgZGUgZ2l0LWRpZmYgLSAvZGV2L251bGwgYXR0ZW5kdSwgJXMgdHJvdXbDqSDDoCBsYSAiCi0ibGlnbmUgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5NDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiCi1tc2dzdHIgIiIKLSJnaXQgYXBwbHkgOiBtYXV2YWlzIGZvcm1hdCBkZSBnaXQtZGlmZiAtIG5vdXZlYXUgbm9tIGRlIGZpY2hpZXIgaW5jb25zaXN0YW50ICIKLSLDoCBsYSBsaWduZSAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjk0MwotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBvbGQgZmlsZW5hbWUgb24gbGluZSAlZCIKLW1zZ3N0ciAiIgotImdpdCBhcHBseSA6IG1hdXZhaXMgZm9ybWF0IGRlIGdpdC1kaWZmIC0gYW5jaWVuIG5vbSBkZSBmaWNoaWVyIGluY29uc2lzdGFudCAiCi0iw6AgbGEgbGlnbmUgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5NDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwgb24gbGluZSAlZCIKLW1zZ3N0ciAiIgotImdpdCBhcHBseSA6IG1hdXZhaXMgZm9ybWF0IGRlIGdpdC1kaWZmIC0gL2Rldi9udWxsIGF0dGVuZHUgw6AgbGEgbGlnbmUgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNDA2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKLW1zZ3N0ciAicmVjb21wdGFnZSA6IGxpZ25lIGluYXR0ZW5kdWUgOiAlLipzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTQ2MwotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgotbXNnc3RyICJmcmFnbWVudCBkZSBwYXRjaCBzYW5zIGVuLXTDqnRlIMOgIGxhIGxpZ25lICVkIDogJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE0ODAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgotImNvbXBvbmVudCAobGluZSAlZCkiCi1tc2dpZF9wbHVyYWwgIiIKLSJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKLSJjb21wb25lbnRzIChsaW5lICVkKSIKLW1zZ3N0clswXSAiIgotImluZm9ybWF0aW9uIGRlIG5vbSBkZSBmaWNoaWVyIG1hbnF1YW50ZSBkYW5zIGwnZW4tdMOqdGUgZGUgZ2l0IGRpZmYgbG9ycyBkZSAiCi0ibGEgc3VwcHJlc3Npb24gZGUgJWQgY29tcG9zYW50IGRlIHByw6lmaXhlIGRlIGNoZW1pbiAobGlnbmUgJWQpIgotbXNnc3RyWzFdICIiCi0iaW5mb3JtYXRpb24gZGUgbm9tIGRlIGZpY2hpZXIgbWFucXVhbnRlIGRhbnMgbCdlbi10w6p0ZSBkZSBnaXQgZGlmZiBsb3JzIGRlICIKLSJsYSBzdXBwcmVzc2lvbiBkZSAlZCBjb21wb3NhbnRzIGRlIHByw6lmaXhlIGRlIGNoZW1pbiAobGlnbmUgJWQpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY0NgotbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgotbXNnc3RyICJsZSBub3V2ZWF1IGZpY2hpZXIgZMOpcGVuZCBkZSBjb250ZW51cyBhbmNpZW5zIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY0OAotbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCi1tc2dzdHIgImxlIGZpY2hpZXIgc3VwcHJpbcOpIGEgZW5jb3JlIGR1IGNvbnRlbnUiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNjc0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvcnJ1cHQgcGF0Y2ggYXQgbGluZSAlZCIKLW1zZ3N0ciAicGF0Y2ggY29ycm9tcHUgw6AgbGEgbGlnbmUgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNzEwCi0jLCBjLWZvcm1hdAotbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgotbXNnc3RyICJsZSBub3V2ZWF1IGZpY2hpZXIgJXMgZMOpcGVuZCBkZSBjb250ZW51cyBhbmNpZW5zIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTcxMgotIywgYy1mb3JtYXQKLW1zZ2lkICJkZWxldGVkIGZpbGUgJXMgc3RpbGwgaGFzIGNvbnRlbnRzIgotbXNnc3RyICJsZSBmaWNoaWVyIHN1cHByaW3DqSAlcyBhIGVuY29yZSBkdSBjb250ZW51IgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTcxNQotIywgYy1mb3JtYXQKLW1zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgotbXNnc3RyICIqKiBhdHRlbnRpb24gOiBsZSBmaWNoaWVyICVzIGRldmllbnQgdmlkZSBtYWlzIG4nZXN0IHBhcyBzdXBwcmltw6kiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxODYxCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCi1tc2dzdHIgInBhdGNoIGJpbmFpcmUgY29ycm9tcHUgw6AgbGEgbGlnbmUgJWQgOiAlLipzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTg5NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgInBhdGNoIGJpbmFpcmUgbm9uIHJlY29ubnUgw6AgbGEgbGlnbmUgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyMDQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCi1tc2dzdHIgInBhdGNoIHRvdGFsZW1lbnQgaW5jb21wcsOpaGVuc2libGUgw6AgbGEgbGlnbmUgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyMTM4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byByZWFkIHN5bWxpbmsgJXMiCi1tc2dzdHIgImxlY3R1cmUgZHUgbGllbiBzeW1ib2xpcXVlICVzIGltcG9zc2libGUiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyMTQyCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBvcGVuIG9yIHJlYWQgJXMiCi1tc2dzdHIgIm91dmVydHVyZSBvdSBsZWN0dXJlIGRlICVzIGltcG9zc2libGUiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyNzc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKLW1zZ3N0ciAiZMOpYnV0IGRlIGxpZ25lIGludmFsaWRlIDogJyVjJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI4OTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgotbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgotbXNnc3RyWzBdICJMYSBzZWN0aW9uIG7CsCVkIGEgcsOpdXNzaSDDoCBsYSBsaWduZSAlZCAob2Zmc2V0ICVkIGxpZ25lKS4iCi1tc2dzdHJbMV0gIkxhIHNlY3Rpb24gbsKwJWQgYSByw6l1c3NpIMOgIGxhIGxpZ25lICVkIChvZmZzZXQgJWQgbGlnbmVzKS4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyOTA2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvbnRleHQgcmVkdWNlZCB0byAoJWxkLyVsZCkgdG8gYXBwbHkgZnJhZ21lbnQgYXQgJWQiCi1tc2dzdHIgIkNvbnRleHRlIHLDqWR1aXQgw6AgKCVsZC8lbGQpIHBvdXIgYXBwbGlxdWVyIGxlIGZyYWdtZW50IMOgIGxhIGxpZ25lICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjkxMgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0id2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKLSIlLipzIgotbXNnc3RyICIiCi0icGVuZGFudCBsYSByZWNoZXJjaGUgZGUgOlxuIgotIiUuKnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyOTMyCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1pc3NpbmcgYmluYXJ5IHBhdGNoIGRhdGEgZm9yICclcyciCi1tc2dzdHIgImRvbm7DqWVzIGRlIHBhdGNoIGJpbmFpcmUgbWFucXVhbnRlcyBwb3VyICclcyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMDMzCi0jLCBjLWZvcm1hdAotbXNnaWQgImJpbmFyeSBwYXRjaCBkb2VzIG5vdCBhcHBseSB0byAnJXMnIgotbXNnc3RyICJsZSBwYXRjaCBiaW5haXJlIG5lIHMnYXBwbGlxdWUgcGFyIGNvcnJlY3RlbWVudCDDoCAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzAzOQotIywgYy1mb3JtYXQKLW1zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKLW1zZ3N0ciAiIgotImxlIHBhdGNoIGJpbmFpcmUgc3VyICclcycgY3LDqWUgdW4gcsOpc3VsdGF0IGluY29ycmVjdCAoJXMgYXR0ZW5kdSwgbWFpcyAlcyAiCi0idHJvdXbDqSkiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMDYwCi0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgotbXNnc3RyICJsZSBwYXRjaCBhIMOpY2hvdcOpIDogJXM6JWxkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzE4NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCi1tc2dzdHIgImV4dHJhY3Rpb24gZGUgJXMgaW1wb3NzaWJsZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMyMjkgYnVpbHRpbi9hcHBseS5jOjMyNDAgYnVpbHRpbi9hcHBseS5jOjMyODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVhZCBvZiAlcyBmYWlsZWQiCi1tc2dzdHIgIsOpY2hlYyBkZSBsYSBsZWN0dXJlIGRlICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzIzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgotbXNnc3RyICJsZWN0dXJlIGRlcHVpcyAnJXMnIGF1LWRlbMOgIGQndW4gbGllbiBzeW1ib2xpcXVlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzI2NSBidWlsdGluL2FwcGx5LmM6MzQ4NwotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKLW1zZ3N0ciAibGUgY2hlbWluICVzIGEgw6l0w6kgcmVub21tw6kvc3VwcHJpbcOpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzM0NiBidWlsdGluL2FwcGx5LmM6MzUwMQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiCi1tc2dzdHIgIiVzIDogbidleGlzdGUgcGFzIGRhbnMgbCdpbmRleCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMzNTAgYnVpbHRpbi9hcHBseS5jOjM0OTMgYnVpbHRpbi9hcHBseS5jOjM1MTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6ICVzIgotbXNnc3RyICIlcyA6ICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzM1NSBidWlsdGluL2FwcGx5LmM6MzUwOQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiCi1tc2dzdHIgIiVzIDogbmUgY29ycmVzcG9uZCBwYXMgw6AgbCdpbmRleCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM0NTcKLW1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgotbXNnc3RyICJsZSBwYXRjaCBkZSBzdXBwcmVzc2lvbiBsYWlzc2UgdW4gY29udGVudSBkYW5zIGxlIGZpY2hpZXIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNTI2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgotbXNnc3RyICIlcyA6IHR5cGUgZXJyb27DqSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM1MjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgotbXNnc3RyICIlcyBlc3QgZGUgdHlwZSAlbywgbWFpcyAlbyBhdHRlbmR1IgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzY4NyBidWlsdGluL2FwcGx5LmM6MzY4OQotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKLW1zZ3N0ciAiY2hlbWluIGludmFsaWRlICclcyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzQ0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKLW1zZ3N0ciAiJXMgOiBleGlzdGUgZMOpasOgIGRhbnMgbCdpbmRleCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NDcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgotbXNnc3RyICIlcyA6IGV4aXN0ZSBkw6lqw6AgZGFucyBsYSBjb3BpZSBkZSB0cmF2YWlsIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc2NwotIywgYy1mb3JtYXQKLW1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykiCi1tc2dzdHIgImxlIG5vdXZlYXUgbW9kZSAoJW8pIGRlICVzIG5lIGNvcnJlc3BvbmQgcGFzIMOgIGwnYW5jaWVuIG1vZGUgKCVvKSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIG9mICVzIgotbXNnc3RyICIiCi0ibGUgbm91dmVhdSBtb2RlICglbykgZGUgJXMgbmUgY29ycmVzcG9uZCBwYXMgw6AgbCdhbmNpZW4gbW9kZSAoJW8pIGRlICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc5MgotIywgYy1mb3JtYXQKLW1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAibGUgZmljaGllciBhZmZlY3TDqSAnJXMnIGVzdCBhdS1kZWzDoCBkJ3VuIGxpZW4gc3ltYm9saXF1ZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3OTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgotbXNnc3RyICIlcyA6IGxlIHBhdGNoIG5lIHMnYXBwbGlxdWUgcGFzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzgxMAotIywgYy1mb3JtYXQKLW1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKLW1zZ3N0ciAiVsOpcmlmaWNhdGlvbiBkdSBwYXRjaCAlcy4uLiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM5MDMgYnVpbHRpbi9jaGVja291dC5jOjIzMyBidWlsdGluL3Jlc2V0LmM6MTM1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCi1tc2dzdHIgIsOpY2hlYyBkZSBtYWtlX2NhY2hlX2VudHJ5IHBvdXIgbGUgY2hlbWluICclcyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDQ2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKLW1zZ3N0ciAic3VwcHJlc3Npb24gZGUgJXMgZGFucyBsJ2luZGV4IGltcG9zc2libGUiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKLW1zZ3N0ciAicGF0Y2ggY29ycm9tcHUgcG91ciBsZSBzb3VzLW1vZHVsZSAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwNzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCi1tc2dzdHIgInN0YXQgZHUgZmljaGllciBub3V2ZWxsZW1lbnQgY3LDqcOpICclcycgaW1wb3NzaWJsZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCi1tc2dzdHIgIiIKLSJjcsOpYXRpb24gZHUgbWFnYXNpbiBkZSBzdG9ja2FnZSBwb3VyIGxlIGZpY2hpZXIgbm91dmVsbGVtZW50IGNyw6nDqSAlcyAiCi0iaW1wb3NzaWJsZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwODcgYnVpbHRpbi9hcHBseS5jOjQxOTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCi1tc2dzdHIgImFqb3V0IGRlIGwnw6lsw6ltZW50IGRlIGNhY2hlICVzIGltcG9zc2libGUiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MTIwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNsb3NpbmcgZmlsZSAnJXMnIgotbXNnc3RyICJmZXJtZXR1cmUgZHUgZmljaGllciAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDE2OQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCi1tc2dzdHIgIsOpY3JpdHVyZSBkdSBmaWNoaWVyICclcycgbW9kZSAlbyBpbXBvc3NpYmxlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI1NgotIywgYy1mb3JtYXQKLW1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgotbXNnc3RyICJQYXRjaCAlcyBhcHBsaXF1w6kgcHJvcHJlbWVudC4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MjY0Ci1tc2dpZCAiaW50ZXJuYWwgZXJyb3IiCi1tc2dzdHIgImVycmV1ciBpbnRlcm5lIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI2NwotIywgYy1mb3JtYXQKLW1zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCi1tc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCi1tc2dzdHJbMF0gIkFwcGxpY2F0aW9uIGR1IHBhdGNoICUlcyBhdmVjICVkIHJlamV0Li4uIgotbXNnc3RyWzFdICJBcHBsaWNhdGlvbiBkdSBwYXRjaCAlJXMgYXZlYyAlZCByZWpldHMuLi4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mjc3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKLW1zZ3N0ciAidHJvbmNhdHVyZSBkdSBub20gZGUgZmljaGllciAucmVqIGVuICUuKnMucmVqIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI4NQotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCi1tc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJXMgOiAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQyOTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKLW1zZ3N0ciAiU2VjdGlvbiBuwrAlZCBhcHBsaXF1w6llIHByb3ByZW1lbnQuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDMwMQotIywgYy1mb3JtYXQKLW1zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCi1tc2dzdHIgIlNlY3Rpb24gbsKwJWQgcmVqZXTDqWUuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDM4NwotIywgYy1mb3JtYXQKLW1zZ2lkICJTa2lwcGVkIHBhdGNoICclcycuIgotbXNnc3RyICJDaGVtaW4gJyVzJyBub24gdHJhaXTDqS4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzk1Ci1tc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgotbXNnc3RyICJlbnRyw6llIG5vbiByZWNvbm51ZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ0MDYKLW1zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgotbXNnc3RyICJsZWN0dXJlIGR1IGZpY2hpZXIgZCdpbmRleCBpbXBvc3NpYmxlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUwOQotbXNnaWQgImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCi1tc2dzdHIgIm5lIHBhcyBhcHBsaXF1ZXIgbGVzIG1vZGlmaWNhdGlvbnMgcXVpIGNvcnJlc3BvbmRlbnQgYXUgY2hlbWluIGRvbm7DqSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MTIKLW1zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgotbXNnc3RyICJhcHBsaXF1ZXIgbGVzIG1vZGlmaWNhdGlvbnMgcXVpIGNvcnJlc3BvbmRlbnQgYXUgY2hlbWluIGRvbm7DqSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MTUKLW1zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKLW1zZ3N0ciAic3VwcHJpbWVyIDxudW0+IGJhcnJlcyBvYmxpcXVlcyBkZXMgY2hlbWlucyB0cmFkaXRpb25uZWxzIGRlIGRpZmYiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTE4Ci1tc2dpZCAiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIKLW1zZ3N0ciAiaWdub3JlciBsZXMgYWRkaXRpb25zIHLDqWFsaXPDqWVzIHBhciBsZSBwYXRjaCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjAKLW1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCi1tc2dzdHIgImF1IGxpZXUgZCdhcHBsaXF1ZXIgbGUgcGF0Y2gsIGFmZmljaGVyIGxlIGRpZmZzdGF0IGRlIGwnZW50csOpZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjQKLW1zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgotbXNnc3RyICIiCi0iYWZmaWNoZXIgbGUgbm9tYnJlIGRlIGxpZ25lcyBham91dMOpZXMgZXQgc3VwcHJpbcOpZXMgZW4gbm90YXRpb24gZMOpY2ltYWxlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyNgotbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCi1tc2dzdHIgImF1IGxpZXUgZCdhcHBsaXF1ZXIgbGUgcGF0Y2gsIGFmZmljaGVyIHVuIHLDqXN1bWVyIGRlIGwnZW50csOpZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjgKLW1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIgotbXNnc3RyICJhdSBsaWV1IGQnYXBwbGlxdWVyIGxlIHBhdGNoLCB2b2lyIHNpIGxlIHBhdGNoIGVzdCBhcHBsaWNhYmxlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzMAotbXNnaWQgIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIKLW1zZ3N0ciAicydhc3N1cmVyIHF1ZSBsZSBwYXRjaCBlc3QgYXBwbGljYWJsZSBzdXIgbCdpbmRleCBhY3R1ZWwiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTMyCi1tc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCi1tc2dzdHIgImFwcGxpcXVlciBsZXMgcGF0Y2ggc2FucyB0b3VjaGVyIMOgIGxhIGNvcGllIGRlIHRyYXZhaWwiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTM0Ci1tc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKLW1zZ3N0ciAiYWNjZXB0ZXIgdW4gcGF0Y2ggcXVpIHRvdWNoZSBob3JzIGRlIGxhIGNvcGllIGRlIHRyYXZhaWwiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTM2Ci1tc2dpZCAiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCi1tc2dzdHIgImFwcGxpcXVlciBhdXNzaSBsZSBwYXRjaCAow6AgdXRpbGlzZXIgYXZlYyAtLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzgKLW1zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgotbXNnc3RyICJ0ZW50ZXIgdW5lIGZ1c2lvbiDDoCAzIHBvaW50cyBzaSBsZSBwYXRjaCBuZSBzJ2FwcGxpcXVlIHBhcyBwcm9wcmVtZW50IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU0MAotbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgotbXNnc3RyICIiCi0iY29uc3RydWlyZSB1biBpbmRleCB0ZW1wb3JhaXJlIGZvbmTDqSBzdXIgbCdpbmZvcm1hdGlvbiBkZSBsJ2luZGV4IGVtYmFycXXDqSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NDMgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OSBidWlsdGluL2xzLWZpbGVzLmM6NDI1Ci1tc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCi1tc2dzdHIgImxlcyBjaGVtaW5zIHNvbnQgc8OpcGFyw6lzIHBhciB1biBjYXJhY3TDqHJlIE5VTCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NDUKLW1zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCi1tc2dzdHIgInMnYXNzdXJlciBkJ2F1IG1vaW5zIDxuPiBsaWduZXMgZGUgY29ycmVzcG9uZGFuY2UgZGUgY29udGV4dGUiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQ3Ci1tc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCi1tc2dzdHIgIiIKLSJkw6l0ZWN0ZXIgZGVzIGxpZ25lcyBub3V2ZWxsZXMgb3UgbW9kaWZpw6llcyBxdWkgY29udGllbm5lbnQgZGVzIGVycmV1cnMgIgotImQnZXNwYWNlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU1MCBidWlsdGluL2FwcGx5LmM6NDU1MwotbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiCi1tc2dzdHIgImlnbm9yZXIgZGVzIG1vZGlmaWNhdGlvbnMgZCdlc3BhY2UgbG9ycyBkZSBsYSByZWNoZXJjaGUgZGUgY29udGV4dGUiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTU2Ci1tc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCi1tc2dzdHIgImFwcGxpcXVlciBsZSBwYXRjaCBlbiBzZW5zIGludmVyc2UiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTU4Ci1tc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCi1tc2dzdHIgIm5lIHBhcyBzJ2F0dGVuZHJlIMOgIGF1IG1vaW5zIHVuZSBsaWduZSBkZSBjb250ZXh0ZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NjAKLW1zZ2lkICJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIKLW1zZ3N0ciAibGFpc3NlciBsZXMgc2VjdGlvbnMgcmVqZXTDqWVzIGRhbnMgbGVzIGZpY2hpZXJzICoucmVqIGNvcnJlc3BvbmRhbnRzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2MgotbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgotbXNnc3RyICJhY2NlcHRlciBsZXMgcmVjb3V2cmVtZW50cyBkZSBzZWN0aW9ucyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NjUKLW1zZ2lkICJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIKLW1zZ3N0ciAiIgotInRvbMOpcmVyIGRlcyBlcnJldXJzIGRlIGTDqXRlY3Rpb24gZGUgcmV0b3VycyBjaGFyaW90IG1hbnF1YW50cyBlbiBmaW4gZGUgIgotImZpY2hpZXIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTY4Ci1tc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgotbXNnc3RyICJuZSBwYXMgc2UgZmllciBhdSBjb21wdGUgZGUgbGlnbmVzIGRhbnMgbGVzIGVuLXTDqnRlcyBkZSBzZWN0aW9uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU3MQotbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCi1tc2dzdHIgInByw6lmaXhlciB0b3VzIGxlcyBub21zIGRlIGZpY2hpZXIgYXZlYyA8cm9vdD4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTkzCi1tc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgotbXNnc3RyICItLTN3YXkgaG9ycyBkJ3VuIGTDqXDDtHQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NjAxCi1tc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiLS1pbmRleCBob3JzIGQndW4gZMOpcMO0dCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2MDQKLW1zZ2lkICItLWNhY2hlZCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiLS1jYWNoZWQgaG9ycyBkJ3VuIGTDqXDDtHQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NjIzCi0jLCBjLWZvcm1hdAotbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJyIKLW1zZ3N0ciAib3V2ZXJ0dXJlIGltcG9zc2libGUgZHUgcGF0Y2ggJyVzJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCi1tc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKLW1zZ3N0clswXSAiJWQgZXJyZXVyIGQnZXNwYWNlIGlnbm9yw6llIgotbXNnc3RyWzFdICIlZCBlcnJldXJzIGQnZXNwYWNlIGlnbm9yw6llcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2NDMgYnVpbHRpbi9hcHBseS5jOjQ2NTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJWQgbGluZSBhZGRzIHdoaXRlc3BhY2UgZXJyb3JzLiIKLW1zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYWRkIHdoaXRlc3BhY2UgZXJyb3JzLiIKLW1zZ3N0clswXSAiJWQgbGlnbmUgYSBham91dMOpIGRlcyBlcnJldXJzIGQnZXNwYWNlLiIKLW1zZ3N0clsxXSAiJWQgbGlnbmVzIG9udCBham91dMOpIGRlcyBlcnJldXJzIGQnZXNwYWNlLiIKLQogIzogYnVpbHRpbi9hcmNoaXZlLmM6MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBhcmNoaXZlIGZpbGUgJyVzJyIKQEAgLTM3OTQsMTIyICs0NzA0LDE3OCBAQAogbXNnaWQgIjxyZXYtb3B0cz4gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICI8b3B0aW9ucy1kZS1yw6l2aXNpb24+IHNvbnQgZG9jdW1lbnTDqXMgZGFucyBnaXQtcmV2LWxpc3QoMSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxNzgyCisjOiBidWlsdGluL2JsYW1lLmM6MTc4MQogbXNnaWQgIkJsYW1pbmcgbGluZXMiCiBtc2dzdHIgIkFzc2lnbmF0aW9uIGRlIGJsw6JtZSBhdSBsaWduZXMiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTMxCisjOiBidWlsdGluL2JsYW1lLmM6MjU3NwogbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCiBtc2dzdHIgIiIKICJNb250cmVyIGxlcyDDqWzDqW1lbnRzIGRlIGJsw6JtZSBhdSBmdXIgZXQgw6AgbWVzdXJlIGRlIGxldXIgZMOpY291dmVydGUsIGRlICIKICJtYW5pw6hyZSBpbmNyw6ltZW50YWxlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzMgorIzogYnVpbHRpbi9ibGFtZS5jOjI1NzgKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJNb250cmVyIHVuIFNIQS0xIGJsYW5jIHBvdXIgbGVzIGNvbW1pdHMgZGUgbGltaXRlIChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzMworIzogYnVpbHRpbi9ibGFtZS5jOjI1NzkKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKICJOZSBwYXMgdHJhaXRlciBsZXMgY29tbWl0cyByYWNpbmUgY29tbWUgZGVzIGxpbWl0ZXMgKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM0CisjOiBidWlsdGluL2JsYW1lLmM6MjU4MAogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIk1vbnRyZXIgbGVzIHN0YXRpc3RpcXVlcyBkZSBjb8O7dCBkJ2FjdGl2aXTDqSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgxCiBtc2dpZCAiRm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJGb3JjZXIgbCdhZmZpY2hhZ2UgZGUgbCfDqXRhdCBkJ2F2YW5jZW1lbnQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM2CisjOiBidWlsdGluL2JsYW1lLmM6MjU4MgogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICJNb250cmVyIGxlIHNjb3JlIGRlIHNvcnRpZSBwb3VyIGxlcyDDqWzDqW1lbnRzIGRlIGJsw6JtZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgzCiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIk1vbnRyZXIgbGVzIG5vbXMgZGUgZmljaGllciBvcmlnaW5hdXggKETDqWZhdXQgOiBhdXRvKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzgKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg0CiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBsaW5lbnVtYmVyIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJNb250cmVyIGxlcyBudW3DqXJvcyBkZSBsaWduZXMgb3JpZ2luYXV4IChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzOQorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODUKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICJBZmZpY2hlciBkYW5zIHVuIGZvcm1hdCBwcm9waWNlIMOgIGxhIGNvbnNvbW1hdGlvbiBwYXIgbWFjaGluZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg2CiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICJBZmZpY2hlciBlbiBmb3JtYXQgcG9yY2VsYWluZSBhdmVjIGwnaW5mb3JtYXRpb24gZGUgY29tbWl0IHBhciBsaWduZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg3CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiVXRpbGlzZXIgbGUgbcOqbWUgbW9kZSBkZSBzb3J0aWUgcXVlIGdpdC1hbm5vdGF0ZSAoRMOpZmF1dCA6IGTDqXNhY3RpdsOpKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg4CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJBZmZpY2hlciBsZXMgaG9yb2RhdGFnZXMgYnJ1dHMgKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQzCisjOiBidWlsdGluL2JsYW1lLmM6MjU4OQogbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiQWZmaWNoZXIgbGVzIGxvbmdzIFNIQTEgZGUgY29tbWl0cyAoRMOpZmF1dCA6IGTDqXNhY3RpdsOpKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkwCiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiU3VwcHJpbWVyIGxlIG5vbSBkZSBsJ2F1dGV1ciBldCBsJ2hvcm9kYXRhZ2UgKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ1CisjOiBidWlsdGluL2JsYW1lLmM6MjU5MQogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiQWZmaWNoZXIgbCdlLW1haWwgZGUgbCdhdXRldXIgYXUgbGlldSBkdSBub20gKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ2CisjOiBidWlsdGluL2JsYW1lLmM6MjU5MgogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICJJZ25vcmVyIGxlcyBkaWZmw6lyZW5jZXMgZCdlc3BhY2UiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ3CisjOiBidWlsdGluL2JsYW1lLmM6MjU5OQorbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgaW5kZW50LWJhc2VkIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgorbXNnc3RyICIiCisiVXRpbGlzZXIgdW5lIGhldXJpc3RpcXVlIGV4cMOpcmltZW50YWxlIHJlcG9zYW50IHN1ciBsJ2luZGVudGF0aW9uIHBvdXIgIgorImFtw6lsaW9yZXIgbGVzIGRpZmZzIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjYwMAorbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgYmxhbmstbGluZS1iYXNlZCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKK21zZ3N0ciAiIgorIlV0aWxpc2VyIHVuZSBoZXVyaXN0aXF1ZSBleHDDqXJpbWVudGFsZSByZXBvc2FudCBzdXIgbGVzIGxpZ25lcyB2aWRlcyBwb3VyICIKKyJhbcOpbGlvcmVyIGxlIGRpZmZzIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjYwMgogbXNnaWQgIlNwZW5kIGV4dHJhIGN5Y2xlcyB0byBmaW5kIGJldHRlciBtYXRjaCIKIG1zZ3N0ciAiIgogIkTDqXBlbnNlciBkZXMgY3ljbGVzIHN1cHBsw6ltZW50YWlyZXMgcG91ciB0cm91dmVyIHVuZSBtZWlsbGV1cmUgY29ycmVzcG9uZGFuY2UiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ4CisjOiBidWlsdGluL2JsYW1lLmM6MjYwMwogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAiIgogIlV0aWxpc2VyIGxlcyByw6l2aXNpb25zIGR1IGZpY2hpZXIgPGZpY2hpZXI+IGF1IGxpZXUgZCdhcHBlbGVyIGdpdC1yZXYtbGlzdCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA0CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAiVXRpbGlzZXIgbGUgY29udGVudSBkZSA8ZmljaGllcj4gY29tbWUgaW1hZ2UgZmluYWxlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU1MCBidWlsdGluL2JsYW1lLmM6MjU1MQorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDUgYnVpbHRpbi9ibGFtZS5jOjI2MDYKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAic2NvcmUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUwCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNQogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIlRyb3V2ZXIgbGVzIGNvcGllcyBkZSBsaWduZSBkYW5zIGV0IGVudHJlIGxlcyBmaWNoaWVycyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA2CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiVHJvdXZlciBsZXMgbW91dmVtZW50cyBkZSBsaWduZSBkYW5zIGV0IGVudHJlIGxlcyBmaWNoaWVycyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA3CiBtc2dpZCAibixtIgogbXNnc3RyICJuLG0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUyCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNwogbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICIiCiAiVHJhaXRlciBzZXVsZW1lbnQgbCdpbnRlcnZhbGxlIGRlIGxpZ25lIG4sbSBlbiBjb21tZW7Dp2FudCBsZSBjb21wdGUgw6AgMSIKIAorIzogYnVpbHRpbi9ibGFtZS5jOjI2NTQKK21zZ2lkICItLXByb2dyZXNzIGNhbid0IGJlIHVzZWQgd2l0aCAtLWluY3JlbWVudGFsIG9yIHBvcmNlbGFpbiBmb3JtYXRzIgorbXNnc3RyICIiCisiLS1wcm9ncmVzcyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjIC0taW5jcmVtZW50YWwgb3UgbGVzIGZvcm1hdHMgIgorInBvcmNlbGFpbmUiCisKICMuIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlIG1heGltdW0KICMuIGRpc3BsYXkgd2lkdGggZm9yIGEgcmVsYXRpdmUgdGltZXN0YW1wIGluICJnaXQgYmxhbWUiCiAjLiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMSBtb250aHMgYWdvIiwgd2hpY2gKICMuIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QgYW1vbmcgdmFyaW91cyBmb3JtcyBvZgogIy4gcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0IHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvcgogIy4gZmV3ZXIgZGlzcGxheSBjb2x1bW5zLgotIzogYnVpbHRpbi9ibGFtZS5jOjI2NDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNzAwCiBtc2dpZCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIKIG1zZ3N0ciAiaWwgeSBhIDEwIGFucyBldCAxMSBtb2lzIgogCisjOiBidWlsdGluL2JsYW1lLmM6Mjc4MAorbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCittc2dzdHIgIi0tY29udGVudHMgZXQgLS1yZXZlcnNlIG5lIGZvbnQgcGFzIGJvbiBtw6luYWdlLiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MDAKK21zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCittc2dzdHIgIm9uIG5lIHBldXQgcGFzIHV0aWxpc2VyIC0tY29udGVudHMgYXZlYyB1biBub20gZCdvYmpldCBjb21taXQgZmluYWwiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODA1Cittc2dpZCAiLS1yZXZlcnNlIGFuZCAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHNwZWNpZmllZCBsYXRlc3QgY29tbWl0IgorbXNnc3RyICIiCisiLS1yZXZlcnNlIGV0IC0tZmlyc3QtcGFyZW50IGVuc2VtYmxlIG7DqWNlc3NpdGVudCBsYSBzcMOpY2lmaWNhdGlvbiBkJ3VuICIKKyJkZXJuaWVyIGNvbW1pdCIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MzIKK21zZ2lkICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgorbXNnc3RyICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IGVuc2VtYmxlIG7DqWNlc3NpdGVudCB1bmUgcG9ydMOpZSBhdmVjIGxhIGNoYcOubmUgZGUgIgorInByZW1pZXIgcGFyZW50IgorCisjOiBidWlsdGluL2JsYW1lLmM6Mjg0MworIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHBhdGggJXMgaW4gJXMiCittc2dzdHIgInBhcyBkZSBjaGVtaW4gJXMgZGFucyAlcyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgYmxvYiAlcyBmb3IgcGF0aCAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlIGJsb2IgJXMgIHBvdXIgbGUgY2hlbWluICVzIgorCisjOiBidWlsdGluL2JsYW1lLmM6Mjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lIgorbXNnaWRfcGx1cmFsICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIKK21zZ3N0clswXSAibGUgZmljaGllciAlcyBuJ2EgcXUnJWx1IGxpZ25lIgorbXNnc3RyWzFdICJsZSBmaWNoaWVyICVzIG4nYSBxdWUgJWx1IGxpZ25lcyIKKwogIzogYnVpbHRpbi9icmFuY2guYzoyNgogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgpAQCAtNDAxMSwxMjAgKzQ5NzcsMTI3IEBACiBtc2dzdHIgIkJyYW5jaGUgJXMgc3VwcHJpbcOpZSAocHLDqWPDqWRlbW1lbnQgJXMpLlxuIgogCiAjIGbDqW1pbmluIHBvdXIgdW5lIGJyYW5jaGUKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzA5CisjOiBidWlsdGluL2JyYW5jaC5jOjMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGdvbmVdIgogbXNnc3RyICJbJXM6IGRpc3BhcnVlXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslc10iCiBtc2dzdHIgIlslc10iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE5CisjOiBidWlsdGluL2JyYW5jaC5jOjMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogZW4gcmV0YXJkIGRlICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIltiZWhpbmQgJWRdIgogbXNnc3RyICJbZW4gcmV0YXJkIGRlICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWRdIgogbXNnc3RyICJbJXMgOiBlbiBhdmFuY2UgZGUgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyNworIzogYnVpbHRpbi9icmFuY2guYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2FoZWFkICVkXSIKIG1zZ3N0ciAiW2VuIGF2YW5jZSBkZSAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMwCisjOiBidWlsdGluL2JyYW5jaC5jOjMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgogbXNnc3RyICJbJXMgOiBlbiBhdmFuY2UgZGUgJWQsIGVuIHJldGFyZCBkZSAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMzCisjOiBidWlsdGluL2JyYW5jaC5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIltlbiBhdmFuY2UgZGUgJWQsIGVuIHJldGFyZCBkZSAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzQ2CisjOiBidWlsdGluL2JyYW5jaC5jOjM0OQogbXNnaWQgIiAqKioqIGludmFsaWQgcmVmICoqKioiCiBtc2dzdHIgIiAqKioqIHLDqWbDqXJlbmNlIGludmFsaWRlICoqKioiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzcyCisjOiBidWlsdGluL2JyYW5jaC5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCiBtc2dzdHIgIihhdWN1bmUgYnJhbmNoZSwgcmViYXNhZ2UgZGUgJXMpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjM3NQorIzogYnVpbHRpbi9icmFuY2guYzozNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgogbXNnc3RyICIoYXVjdW5lIGJyYW5jaGUsIGJpc2VjdCBhIGTDqW1hcnLDqSBzdXIgJXMpIgogCiAjLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwogIy4gIkhFQUQgZGV0YWNoZWQgYXQgIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIihIRUFEIGRldGFjaGVkIGF0ICVzKSIKIG1zZ3N0ciAiKEhFQUQgZMOpdGFjaMOpZSBzdXIgJXMpIgogCiAjLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwogIy4gIkhFQUQgZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCi0jOiBidWlsdGluL2JyYW5jaC5jOjM4NgorIzogYnVpbHRpbi9icmFuY2guYzozODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCiBtc2dzdHIgIihIRUFEIGTDqXRhY2jDqWUgZGVwdWlzICVzKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozOTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzkzCiBtc2dpZCAiKG5vIGJyYW5jaCkiCiBtc2dzdHIgIihhdWN1bmUgYnJhbmNoZSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQxCisjOiBidWlsdGluL2JyYW5jaC5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgcmViYXNlZCBhdCAlcyIKIG1zZ3N0ciAiTGEgYnJhbmNoZSAlcyBlc3QgZW4gY291cnMgZGUgcmViYXNhZ2Ugc3VyICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU0NQorIzogYnVpbHRpbi9icmFuY2guYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIGJpc2VjdGVkIGF0ICVzIgogbXNnc3RyICJMYSBicmFuY2hlICVzIGVzdCBlbiBjb3VycyBkZSBiaXNzZWN0aW9uIHN1ciAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NjAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYzCiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmVub21tZXIgbGEgYnJhbmNoZSBhY3R1ZWxsZSwgaWwgbid5IGVuIGEgcGFzLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIk5vbSBkZSBicmFuY2hlIGludmFsaWRlIDogJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkwCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgIsOJY2hlYyBkZSByZW5vbW1hZ2UgZGUgbGEgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICJSZW5vbW1hZ2UgZCd1biBicmFuY2hlIG1hbCBub21tw6llICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgogbXNnc3RyICJMYSBicmFuY2hlIGEgw6l0w6kgcmVub21tw6llIGVuICVzLCBtYWlzIEhFQUQgbidlc3QgcGFzIG1pc2Ugw6Agam91ciAhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMQorIzogYnVpbHRpbi9icmFuY2guYzo2MDQKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIiIKICJMYSBicmFuY2hlIGVzdCByZW5vbW3DqWUsIG1haXMgbGEgbWlzZSDDoCBqb3VyIGR1IGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBhICIKICLDqWNob3XDqSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjMKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgYnJhbmNoIGRlc2NyaXB0aW9uIHRlbXBsYXRlIgotbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBtb2TDqGxlIGRlIGRlc2NyaXB0aW9uIGRlIGJyYW5jaGUiCisjOiBidWlsdGluL2JyYW5jaC5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGxlYXNlIGVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoXG4iCisiICAlc1xuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIHN0cmlwcGVkLlxuIgorbXNnc3RyICIiCisiVmV1aWxsZXogw6lkaXRlciBsYSBkZXNjcmlwdGlvbiBkZSBsYSBicmFuY2hlXG4iCisiICAlc1xuIgorIkxlcyBsaWduZXMgY29tbWVuw6dhbnQgcGFyICclYycgc2Vyb250IGlnbm9yw6llcy5cbiIKIAogIzogYnVpbHRpbi9icmFuY2guYzo2NTEKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCkBAIC00MTU0LDYgKzUxMjcsMTAgQEAKIG1zZ2lkICJjaGFuZ2UgdGhlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgIm1vZGlmaWVyIGwnaW5mb3JtYXRpb24gYW1vbnQiCiAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwCittc2dpZCAiVW5zZXQgdGhlIHVwc3RyZWFtIGluZm8iCittc2dzdHIgIkTDqXNhY3RpdmVyIGwnaW5mb3JtYXRpb24gYW1vbnQiCisKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYxCiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICJ1dGlsaXNlciBsYSBjb2xvcmF0aW9uIGRhbnMgbGEgc29ydGllIgpAQCAtNDIyNiw4ICs1MjAzLDggQEAKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCiBtc2dzdHIgIm5vbSBkdSBjaGFtcCBzZXJ2YW50IMOgIHRyaWVyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDEKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDQgYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL25vdGVzLmM6NTY3CisjOiBidWlsdGluL2JyYW5jaC5jOjY4NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDcgYnVpbHRpbi9ub3Rlcy5jOjU2NyBidWlsdGluL25vdGVzLmM6NTcwCiAjOiBidWlsdGluL3RhZy5jOjM2OQogbXNnaWQgIm9iamVjdCIKIG1zZ3N0ciAib2JqZXQiCkBAIC00MjQwLDcgKzUyMTcsNyBAQAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICLDiWNoZWMgZGUgcsOpc29sdXRpb24gZGUgSEVBRCBjb21tZSByw6lmw6lyZW5jZSB2YWxpZGUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2Nsb25lLmM6NzA3CisjOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2Nsb25lLmM6NzA2CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQgbm9uIHRyb3V2w6llIHNvdXMgcmVmcy9oZWFkcyAhIgogCkBAIC00MzUzLDY2ICs1MzMwLDgyIEBACiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgogbXNnc3RyICJMZSBkw6lwYXF1ZXRhZ2UgZCd1biBjb2xpcyByZXF1aWVydCB1biBkw6lww7R0LiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQyOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxMwogbXNnaWQgIiIKLSJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV18LXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXXwtZXwtcHwiCi0iPHR5cGU+fC0tdGV4dGNvbnYpIDxvYmplY3Q+IgorImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCisicCB8IDx0eXBlPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PHBhdGg+XSA8b2JqZWN0PiIKIG1zZ3N0ciAiIgogImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93LXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93LXR5cGVdIHwgLWUgfCAtcCAiCi0ifCA8dHlwZT4gfCAtLXRleHRjb252KSA8b2JqZXQ+IgorInwgPHR5cGU+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD08Y2hlbWluPl0gPG9iamV0PiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQyOQotbXNnaWQgImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10iCi1tc2dzdHIgImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10iCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTE0Cittc2dpZCAiIgorImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKKyJmaWx0ZXJzXSIKK21zZ3N0ciAiIgorImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKKyJmaWx0ZXJzXSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ2NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MQogbXNnaWQgIjx0eXBlPiBjYW4gYmUgb25lIG9mOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIG1zZ3N0ciAiPHR5cGU+IHBldXQgw6p0cmUgOiBibG9iLCB0cmVlLCBjb21taXQgb3UgdGFnIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDY3CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTUyCiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAiYWZmaWNoZXIgbGUgdHlwZSBkZSBsJ29iamV0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDY4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTUzCiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAiYWZmaWNoZXIgbGEgdGFpbGxlIGRlIGwnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTUKIG1zZ2lkICJleGl0IHdpdGggemVybyB3aGVuIHRoZXJlJ3Mgbm8gZXJyb3IiCiBtc2dzdHIgInNvcnRpciBhdmVjIHVuIGNvZGUgZCdlcnJldXIgbnVsIHF1YW5kIGlsIG4neSBhIGF1Y3VuZSBlcnJldXIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTYKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiYWZmaWNoZXIgYXZlYyBtaXNlIGVuIGZvcm1lIGxlIGNvbnRlbnUgZGUgbCdvYmpldCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1OAogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biB0ZXh0Y29udiBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJwb3VyIGxlcyBvYmpldHMgYmxvYiwgbGFuY2VyIHRleHRjb252IHN1ciBsZSBjb250ZW51IGRlIGwnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjAKK21zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgorbXNnc3RyICJwb3VyIGxlcyBvYmpldHMgYmxvYiwgbGFuY2VyIGxlcyBmaWx0cmVzIHN1ciBsZSBjb250ZW51IGRlIGwnb2JqZXQiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjEgZ2l0LXN1Ym1vZHVsZS5zaDo5MjMKK21zZ2lkICJibG9iIgorbXNnc3RyICJibG9iIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYyCittc2dpZCAidXNlIGEgc3BlY2lmaWMgcGF0aCBmb3IgLS10ZXh0Y29udi8tLWZpbHRlcnMiCittc2dzdHIgInV0aWxpc2VyIHVuIGNoZW1pbiBzcMOpY2lmaXF1ZSBwb3VyIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY0CiBtc2dpZCAiYWxsb3cgLXMgYW5kIC10IHRvIHdvcmsgd2l0aCBicm9rZW4vY29ycnVwdCBvYmplY3RzIgogbXNnc3RyICJhdXRvcmlzZXIgLXMgZXQgLXQgw6AgdHJhdmFpbGxlciBzdXIgZGVzIG9iamV0cyBjYXNzw6lzL2NvcnJvbXB1cyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NQogbXNnaWQgImJ1ZmZlciAtLWJhdGNoIG91dHB1dCIKIG1zZ3N0ciAiYnVmZmVyaXNlciBsYSBzb3J0aWUgZGUgLS1iYXRjaCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3OAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NwogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogImFmZmljaGVyIGwnaW5mb3JtYXRpb24gZXQgbGUgY29udGVudSBkZXMgb2JqZXRzIHBhc3PDqXMgZW4gZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ4MQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MAogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiYWZmaWNoZXIgbCdpbmZvcm1hdGlvbiBkZXMgb2JqZXRzIHBhc3PDqXMgZW4gZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ4NAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MwogbXNnaWQgImZvbGxvdyBpbi10cmVlIHN5bWxpbmtzICh1c2VkIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrKSIKIG1zZ3N0ciAiIgogInN1aXZyZSBsZXMgbGllbnMgc3ltYm9saXF1ZSBpbnRlcm5lcyDDoCBsYSBjb3BpZSBkZSB0cmF2YWlsICh1dGlsaXPDqSBhdmVjIC0tIgogImJhdGNoIG91IC0tYmF0Y2gtY2hlY2spIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDg2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTc1CiBtc2dpZCAic2hvdyBhbGwgb2JqZWN0cyB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjayIKIG1zZ3N0ciAibW9udHJlciB0b3VzIGxlcyBvYmpldHMgYXZlYyAtLWJhdGNoIG91IC0tYmF0Y2gtY2hlY2siCiAKQEAgLTQ0MzIsNyArNTQyNSw3IEBACiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgInV0aWxpc2VyIC5naXRhdHRyaWJ1dGVzIHNldWxlbWVudCBkZXB1aXMgbCdpbmRleCIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CiBtc2dpZCAicmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4iCiBtc2dzdHIgImxpcmUgbGVzIG5vbXMgZGUgZmljaGllciBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCkBAIC00NDQxLDcgKzU0MzQsNyBAQAogbXNnc3RyICIiCiAidGVybWluZXIgbGVzIGVucmVnaXN0cmVtZW50cyBlbiBlbnRyw6llIGV0IGVuIHNvcnRpZSBwYXIgdW4gY2FyYWN0w6hyZSBOVUwiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjExMzUgYnVpbHRpbi9nYy5jOjMyNQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTEzNyBidWlsdGluL2djLmM6MzI1CiBtc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJzdXBwcmltZXIgbCfDqXRhdCBkJ2F2YW5jZW1lbnQiCiAKQEAgLTQ1MzMsOSArNTUyNiw5IEBACiBtc2dzdHIgIsOpY3JpcmUgbGUgY29udGVudSBkYW5zIGRlcyBmaWNoaWVycyB0ZW1wb3JhaXJlcyIKIAogIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NCBidWlsdGluL2NvbHVtbi5jOjMwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDkxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTQKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUwMAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NjkKIG1zZ2lkICJzdHJpbmciCiBtc2dzdHIgImNoYcOubmUiCiAKQEAgLTQ2MDMsNjMgKzU1OTYsNTkgQEAKICJJbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGxlcyBjaGVtaW5zIGV0IGJhc2N1bGVyIHN1ciBsYSBicmFuY2hlICclcycgZW4gIgogIm3Dqm1lIHRlbXBzLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3OSBidWlsdGluL2NoZWNrb3V0LmM6NDczCi1tc2dpZCAiY29ycnVwdCBpbmRleCBmaWxlIgotbXNnc3RyICJmaWNoaWVyIGQnaW5kZXggY29ycm9tcHUiCi0KICM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzkgYnVpbHRpbi9jaGVja291dC5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgImxlIGNoZW1pbiAnJXMnIG4nZXN0IHBhcyBmdXNpb25uw6kiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTQKIG1zZ2lkICJ5b3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKIG1zZ3N0ciAidm91cyBkZXZleiBkJ2Fib3JkIHLDqXNvdWRyZSB2b3RyZSBpbmRleCBjb3VyYW50IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjIyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGZhaXJlIHVuIHJlZmxvZyBwb3VyICclcyfCoDogJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjY2MwogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFEIGVzdCBtYWludGVuYW50IHN1ciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY2NCBidWlsdGluL2Nsb25lLmM6NjYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjY3IGJ1aWx0aW4vY2xvbmUuYzo2NjAKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIEhFQUQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgSEVBRCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjY3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJSZW1pc2Ugw6AgesOpcm8gZGUgbGEgYnJhbmNoZSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWxyZWFkeSBvbiAnJXMnXG4iCiBtc2dzdHIgIkTDqWrDoCBzdXIgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJCYXNjdWxlbWVudCBldCByZW1pc2Ugw6AgesOpcm8gZGUgbGEgYnJhbmNoZSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzcgYnVpbHRpbi9jaGVja291dC5jOjEwNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODAgYnVpbHRpbi9jaGVja291dC5jOjEwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiQmFzY3VsZW1lbnQgc3VyIGxhIG5vdXZlbGxlIGJyYW5jaGUgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIkJhc2N1bGVtZW50IHN1ciBsYSBicmFuY2hlICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjczMQorIzogYnVpbHRpbi9jaGVja291dC5jOjczMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgLi4uIGFuZCAlZCBtb3JlLlxuIgogbXNnc3RyICIgLi4uIGV0ICVkIGVuIHBsdXMuXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCkBAIC00NjgyLDcgKzU2NzEsNyBAQAogIlxuIgogIiVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIGtlZXAgaXQgYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgpAQCAtNDcxMSwxNTEgKzU3MDAsMTUxIEBACiAiZ2l0IGJyYW5jaCA8bm91dmVsbGUtYnJhbmNoZT4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjc5NAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgImVycmV1ciBpbnRlcm5lIGxvcnMgZHUgcGFyY291cnMgZGVzIHLDqXZpc2lvbnMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTgKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAiTGEgcG9zaXRpb24gcHLDqWPDqWRlbnRlIGRlIEhFQUQgw6l0YWl0IHN1ciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgyMyBidWlsdGluL2NoZWNrb3V0LmM6MTA2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjgyNSBidWlsdGluL2NoZWNrb3V0LmM6MTA2NAogbXNnaWQgIllvdSBhcmUgb24gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgc3VyIHVuZSBicmFuY2hlIHF1aSBkb2l0IGVuY29yZSBuYcOudHJlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgogbXNnc3RyICJ1bmUgc2V1bGUgcsOpZsOpcmVuY2UgYXR0ZW5kdWUsICVkIGZvdXJuaWVzLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDggYnVpbHRpbi93b3JrdHJlZS5jOjIxMgorIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTAgYnVpbHRpbi93b3JrdHJlZS5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCiBtc2dzdHIgInLDqWbDqXJlbmNlIGludmFsaWRlIDogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgImxhIHLDqWbDqXJlbmNlIG4nZXN0IHBhcyB1biBhcmJyZSA6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3NgorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzgKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ3V0aWxpc2VyIGRlcyBjaGVtaW5zIGF2ZWMgdW4gYmFzY3VsZW1lbnQgZGUgYnJhbmNoZXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDgzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4MSBidWlsdGluL2NoZWNrb3V0LmM6MTA4NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICInJXMnIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIGF2ZWMgdW4gYmFzY3VsZW1lbnQgZGUgYnJhbmNoZXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODkgYnVpbHRpbi9jaGVja291dC5jOjEwOTIgYnVpbHRpbi9jaGVja291dC5jOjEwOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICInJXMnIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIGF2ZWMgJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMDMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGJhc2N1bGVyIGRlIGJyYW5jaGUgdmVycyAnJXMnIHF1aSBuJ2VzdCBwYXMgdW4gY29tbWl0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOCBidWlsdGluL2Nsb25lLmM6ODgKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTY3IGJ1aWx0aW4vd29ya3RyZWUuYzozMjMKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQwIGJ1aWx0aW4vY2xvbmUuYzo5MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjUgYnVpbHRpbi9yZW1vdGUuYzoxNjcgYnVpbHRpbi93b3JrdHJlZS5jOjMyNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNgogbXNnaWQgImJyYW5jaCIKIG1zZ3N0ciAiYnJhbmNoZSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM5CiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgImNyw6llciBldCBleHRyYWlyZSB1bmUgbm91dmVsbGUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQxCiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAiY3LDqWVyL3LDqWluaXRpYWxpc2VyIGV0IGV4dHJhaXJlIHVuZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDIKIG1zZ2lkICJjcmVhdGUgcmVmbG9nIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICJjcsOpZXIgdW4gcmVmbG9nIHBvdXIgdW5lIG5vdXZlbGxlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQxCi1tc2dpZCAiZGV0YWNoIHRoZSBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKLW1zZ3N0ciAiZMOpdGFjaGVyIGxhIEhFQUQgw6AgbGEgdmFsaWRhdGlvbiBub21tw6llIgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDMgYnVpbHRpbi93b3JrdHJlZS5jOjMyOAorbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKK21zZ3N0ciAiZMOpdGFjaGVyIGxhIEhFQUQgYXUgY29tbWl0IG5vbW3DqSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0CiBtc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgInBhcmFtw6l0cmVyIGxlcyBjb29yZG9ubsOpZXMgZGUgYnJhbmNoZSBhbW9udCBwb3VyIHVuZSBub3V2ZWxsZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDYKIG1zZ2lkICJuZXctYnJhbmNoIgogbXNnc3RyICJub3V2ZWxsZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDYKIG1zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCiBtc2dzdHIgIm5vdXZlbGxlIGJyYW5jaGUgc2FucyBwYXJlbnQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NwogbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiZXh0cmFpcmUgbm90cmUgdmVyc2lvbiBwb3VyIGxlcyBmaWNoaWVycyBub24gZnVzaW9ubsOpcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CiBtc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgImV4dHJhaXJlIGxldXIgdmVyc2lvbiBwb3VyIGxlcyBmaWNoaWVycyBub24gZnVzaW9ubsOpcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUxCiBtc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCiBtc2dzdHIgImZvcmNlciBsJ2V4dHJhY3Rpb24gKGxhaXNzZXIgdG9tYmVyIGxlcyBtb2RpZmljYXRpb25zIGxvY2FsZXMpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTIKIG1zZ2lkICJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiZWZmZWN0dWVyIHVuZSBmdXNpb24gw6AgMyBwb2ludHMgYXZlYyBsYSBub3V2ZWxsZSBicmFuY2hlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MSBidWlsdGluL21lcmdlLmM6MjMwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MyBidWlsdGluL21lcmdlLmM6MjMxCiBtc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgogbXNnc3RyICJtZXR0cmUgw6Agam91ciBsZXMgZmljaGllcnMgaWdub3LDqXMgKHBhciBkw6lmYXV0KSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTIgYnVpbHRpbi9sb2cuYzoxNDMyIHBhcnNlLW9wdGlvbnMuaDoyNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU0IGJ1aWx0aW4vbG9nLmM6MTQ2NiBwYXJzZS1vcHRpb25zLmg6MjUxCiBtc2dpZCAic3R5bGUiCiBtc2dzdHIgInN0eWxlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MworIzogYnVpbHRpbi9jaGVja291dC5jOjExNTUKIG1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgogbXNnc3RyICJzdHlsZSBkZSBjb25mbGl0IChtZXJnZSAoZnVzaW9uKSBvdSBkaWZmMykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKIG1zZ3N0ciAibmUgcGFzIGxpbWl0ZXIgbGVzIHNww6ljaWZpY2F0ZXVycyBkZSBjaGVtaW5zIGF1eCBzZXVscyDDqWzDqW1lbnRzIGNyZXV4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKIG1zZ3N0ciAicsOpZXNzYXllciBkJ2ludGVycHLDqXRlciAnZ2l0IGNoZWNrb3V0IDxicmFuY2hlLWluZXhpc3RhbnRlPiciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MgogbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKIG1zZ3N0ciAiIgogIm5lIHBhcyB2w6lyaWZpZXIgc2kgdW5lIGF1dHJlIGNvcGllIGRlIHRyYXZhaWwgY29udGllbnQgbGUgcsOpZsOpcmVuY2UgZm91cm5pZSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjEgYnVpbHRpbi9jbG9uZS5jOjYwIGJ1aWx0aW4vZmV0Y2guYzoxMTYKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjcgYnVpbHRpbi9wdWxsLmM6MTE2IGJ1aWx0aW4vcHVzaC5jOjUyNgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjMgYnVpbHRpbi9jbG9uZS5jOjYzIGJ1aWx0aW4vZmV0Y2guYzoxMTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjggYnVpbHRpbi9wdWxsLmM6MTE3IGJ1aWx0aW4vcHVzaC5jOjUzNgogIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgImZvcmNlciBsJ2FmZmljaGFnZSBkZSBsJ8OpdGF0IGQnYXZhbmNlbWVudCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk0CiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYiwgLUIgZXQgLS1vcnBoYW4gc29udCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwOQorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTEKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tdHJhY2sgcmVxdWllcnQgdW4gbm9tIGRlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjE0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxNgogbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAiTm9tIGRlIGJyYW5jaGUgbWFucXVhbnQgOyBlc3NheWV6IC1iIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTIKIG1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAic3DDqWNpZmljYXRpb24gZGUgY2hlbWluIGludmFsaWRlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NworIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLlxuIgpAQCAtNDg2NSwxMiArNTg1NCwxMiBAQAogImVuIG3Dqm1lIHRlbXBzLlxuIgogIlNvdWhhaXRpZXotdm91cyBleHRyYWlyZSAnJXMnIHF1aSBuZSBwZXV0IMOqdHJlIHLDqXNvbHUgY29tbWUgY29tbWl0ID8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCiBtc2dzdHIgImdpdCBjaGVja291dDogLS1kZXRhY2ggbidhY2NlcHRlIHBhcyB1biBhcmd1bWVudCBkZSBjaGVtaW4gJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtNTAyMiw4ICs2MDExLDggQEAKIG1zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCiBtc2dzdHIgInN1cHByaW1lciBsZXMgcsOpcGVydG9pcmVzIGVudGllcnMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9kZXNjcmliZS5jOjQwNyBidWlsdGluL2dyZXAuYzo3MjQKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTYgYnVpbHRpbi9uYW1lLXJldi5jOjMxNCBidWlsdGluL3Nob3ctcmVmLmM6MTgyCisjOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMgYnVpbHRpbi9zaG93LXJlZi5jOjE4MgogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgIm1vdGlmIgogCkBAIC01MDYzLDExMiArNjA1MiwxMzEgQEAKIG1zZ2lkICJnaXQgY2xvbmUgWzxvcHRpb25zPl0gWy0tXSA8cmVwbz4gWzxkaXI+XSIKIG1zZ3N0ciAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPGTDqXDDtHQ+IFs8csOpcGVydG9pcmU+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYyCisjOiBidWlsdGluL2Nsb25lLmM6NjUKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAibmUgcGFzIGNyw6llciBkJ2V4dHJhY3Rpb24iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MyBidWlsdGluL2Nsb25lLmM6NjUgYnVpbHRpbi9pbml0LWRiLmM6NDczCisjOiBidWlsdGluL2Nsb25lLmM6NjYgYnVpbHRpbi9jbG9uZS5jOjY4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OAogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiY3LDqWVyIHVuIGTDqXDDtHQgbnUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NworIzogYnVpbHRpbi9jbG9uZS5jOjcwCiBtc2dpZCAiY3JlYXRlIGEgbWlycm9yIHJlcG9zaXRvcnkgKGltcGxpZXMgYmFyZSkiCiBtc2dzdHIgImNyw6llciB1biBkw6lww7R0IG1pcm9pciAoaW1wbGlxdWUgZMOpcMO0dCBudSkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2OQorIzogYnVpbHRpbi9jbG9uZS5jOjcyCiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgInBvdXIgY2xvbmVyIGRlcHVpcyB1biBkw6lww7R0IGxvY2FsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NAogbXNnaWQgImRvbid0IHVzZSBsb2NhbCBoYXJkbGlua3MsIGFsd2F5cyBjb3B5IgogbXNnc3RyICJuZSBwYXMgdXRpbGlzZXIgZGUgbGllbnMgZHVycyBsb2NhdXgsIHRvdWpvdXJzIGNvcGllciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjczCisjOiBidWlsdGluL2Nsb25lLmM6NzYKIG1zZ2lkICJzZXR1cCBhcyBzaGFyZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAicsOpZ2xlciBjb21tZSBkw6lww7R0IHBhcnRhZ8OpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzUgYnVpbHRpbi9jbG9uZS5jOjc3CisjOiBidWlsdGluL2Nsb25lLmM6NzggYnVpbHRpbi9jbG9uZS5jOjgwCiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAiaW5pdGlhbGlzZXIgbGVzIHNvdXMtbW9kdWxlcyBkYW5zIGxlIGNsb25lIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MgogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGNsb25lZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAibm9tYnJlIGRlIHNvdXMtbW9kdWxlcyBjbG9uw6lzIGVuIHBhcmFsbMOobGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MCBidWlsdGluL2luaXQtZGIuYzo0NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL2luaXQtZGIuYzo0NzUKIG1zZ2lkICJ0ZW1wbGF0ZS1kaXJlY3RvcnkiCiBtc2dzdHIgInLDqXBlcnRvaXJlLW1vZMOobGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MSBidWlsdGluL2luaXQtZGIuYzo0NzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NCBidWlsdGluL2luaXQtZGIuYzo0NzYKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICJyw6lwZXJ0b2lyZSBkZXB1aXMgbGVxdWVsIGxlcyBtb2TDqGxlcyB2b250IMOqdHJlIHV0aWxpc8OpcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTgKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2Nsb25lLmM6ODggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1NAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5IgogbXNnc3RyICJkw6lww7R0IGRlIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MAogbXNnaWQgInVzZSAtLXJlZmVyZW5jZSBvbmx5IHdoaWxlIGNsb25pbmciCiBtc2dzdHIgInV0aWxpc2VyIHNldWxlbWVudCAtLXJlZmVyZW5jZSBwb3VyIGNsb25lciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAibm9tIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MgogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAidXRpbGlzZXIgPG5vbT4gYXUgbGlldSBkZSAnb3JpZ2luJyBwb3VyIHN1aXZyZSBsYSBicmFuY2hlIGFtb250IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NAogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCiBtc2dzdHIgImV4dHJhaXJlIDxicmFuY2hlPiBhdSBsaWV1IGRlIGxhIEhFQUQgZHUgcsOpcGVydG9pcmUgZGlzdGFudCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxCisjOiBidWlsdGluL2Nsb25lLmM6OTYKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICJjaGVtaW4gdmVycyBnaXQtdXBsb2FkLXBhY2sgc3VyIGxlIHNlcnZldXIgZGlzdGFudCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyIGJ1aWx0aW4vZmV0Y2guYzoxMTcgYnVpbHRpbi9ncmVwLmM6NjY3IGJ1aWx0aW4vcHVsbC5jOjIwMQorIzogYnVpbHRpbi9jbG9uZS5jOjk3IGJ1aWx0aW4vZmV0Y2guYzoxMjAgYnVpbHRpbi9ncmVwLmM6NjY4CisjOiBidWlsdGluL3B1bGwuYzoyMDIKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAicHJvZm9uZGV1ciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzCisjOiBidWlsdGluL2Nsb25lLmM6OTgKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIG9mIHRoYXQgZGVwdGgiCiBtc2dzdHIgImNyw6llciB1biBjbG9uZSBzdXBlcmZpY2llbCBkZSBjZXR0ZSBwcm9mb25kZXVyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OSBidWlsdGluL2ZldGNoLmM6MTIyIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0OAorIzogcGFyc2Utb3B0aW9ucy5oOjE0MgorbXNnaWQgInRpbWUiCittc2dzdHIgImhldXJlIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAwCittc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCittc2dzdHIgImNyw6llciB1biBjbG9uZSBzdXBlcmZpY2llbCBkZXB1aXMgdW5lIGRhdGUgc3DDqWNpZmlxdWUiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEgYnVpbHRpbi9mZXRjaC5jOjEyNAorbXNnaWQgInJldmlzaW9uIgorbXNnc3RyICJyw6l2aXNpb24iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIgYnVpbHRpbi9mZXRjaC5jOjEyNQorbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUgYnkgZXhjbHVkaW5nIHJldiIKK21zZ3N0ciAiIgorImFwcHJvZm9uZGlyIGwnaGlzdG9yaXF1ZSBkJ3VuIGNsb25lIHN1cGVyZmljaWVsIGVuIGV4Y2x1YW50IHVuZSByw6l2aXNpb24iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDQKIG1zZ2lkICJjbG9uZSBvbmx5IG9uZSBicmFuY2gsIEhFQUQgb3IgLS1icmFuY2giCiBtc2dzdHIgImNsb25lciBzZXVsZW1lbnQgdW5lIGJyYW5jaGUsIEhFQUQgb3UgLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NworIzogYnVpbHRpbi9jbG9uZS5jOjEwNgogbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIGJlIHNoYWxsb3ciCiBtc2dzdHIgInRvdXMgbGVzIHNvdXMtbW9kdWxlcyBjbG9uw6lzIHNlcm9udCBzdXBlcmZpY2llbHMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OCBidWlsdGluL2luaXQtZGIuYzo0NzkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcgYnVpbHRpbi9pbml0LWRiLmM6NDg0CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICJnaXRkaXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OSBidWlsdGluL2luaXQtZGIuYzo0ODAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDggYnVpbHRpbi9pbml0LWRiLmM6NDg1CiBtc2dpZCAic2VwYXJhdGUgZ2l0IGRpciBmcm9tIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAic8OpcGFyZXIgbGUgcsOpcGVydG9pcmUgZ2l0IGRlIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkKIG1zZ2lkICJrZXk9dmFsdWUiCiBtc2dzdHIgImNsw6k9dmFsZXVyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxCisjOiBidWlsdGluL2Nsb25lLmM6MTEwCiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICJyw6lnbGVyIGxhIGNvbmZpZ3VyYXRpb24gZGFucyBsZSBub3V2ZWF1IGTDqXDDtHQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIgYnVpbHRpbi9mZXRjaC5jOjEzMSBidWlsdGluL3B1c2guYzo1MzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9mZXRjaC5jOjE0MCBidWlsdGluL3B1c2guYzo1NDcKIG1zZ2lkICJ1c2UgSVB2NCBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAibid1dGlsaXNlciBxdWUgZGVzIGFkcmVzc2VzIElQdjQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDQgYnVpbHRpbi9mZXRjaC5jOjEzMyBidWlsdGluL3B1c2guYzo1MzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTMgYnVpbHRpbi9mZXRjaC5jOjE0MiBidWlsdGluL3B1c2guYzo1NDkKIG1zZ2lkICJ1c2UgSVB2NiBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAibid1dGlsaXNlciBxdWUgZGVzIGFkcmVzc2VzIElQdjYiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNTAKIG1zZ2lkICIiCiAiTm8gZGlyZWN0b3J5IG5hbWUgY291bGQgYmUgZ3Vlc3NlZC5cbiIKICJQbGVhc2Ugc3BlY2lmeSBhIGRpcmVjdG9yeSBvbiB0aGUgY29tbWFuZCBsaW5lIgpAQCAtNTE3Niw1NCArNjE4NCw0MiBAQAogIkF1Y3VuIG5vbSBkZSByw6lwZXJ0b2lyZSBuJ2EgcHUgw6p0cmUgZGV2aW7DqVxuIgogIlZldWlsbGV6IHNww6ljaWZpZXIgdW4gcsOpcGVydG9pcmUgZGFucyBsYSBsaWduZSBkZSBjb21tYW5kZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMwNworIzogYnVpbHRpbi9jbG9uZS5jOjMwMwogIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKLW1zZ3N0ciAiIgotImV4dHJhaXJlIGxlIGTDqXDDtHQgZGUgcsOpZsOpcmVuY2UgJyVzJyBjb21tZSB1bmUgZXh0cmFjdGlvbiBsacOpZSBuJ2VzdCBwYXMgIgotImVuY29yZSBzdXBwb3J0w6kuIgorbXNnaWQgImluZm86IENvdWxkIG5vdCBhZGQgYWx0ZXJuYXRlIGZvciAnJXMnOiAlc1xuIgorbXNnc3RyICJpbmZvwqA6IGltcG9zc2libGUgZCdham91dGVyIHVuZSBhbHRlcm5hdGl2ZSBwb3VyICclcyfCoDogJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMwOQorIzogYnVpbHRpbi9jbG9uZS5jOjM3NQogIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgotbXNnc3RyICJsZSBkw6lww7R0IGRlIHLDqWbDqXJlbmNlICclcycgbidlc3QgcGFzIHVuIGTDqXDDtHQgbG9jYWwuIgorbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCittc2dzdHIgIsOpY2hlYyDDoCBsJ291dmVydHVyZSBkZSAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzE0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKLW1zZ3N0ciAibGUgZMOpcMO0dCBkZSByw6lmw6lyZW5jZSAnJXMnIGVzdCBzdXBlcmZpY2llbCIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjMxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCi1tc2dzdHIgImxlIGTDqXDDtHQgZGUgcsOpZsOpcmVuY2UgJyVzJyBlc3QgZ3JlZmbDqSIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjM4NAorIzogYnVpbHRpbi9jbG9uZS5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgZXhpc3RlIGV0IG4nZXN0IHBhcyB1biByw6lwZXJ0b2lyZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjM5OAorIzogYnVpbHRpbi9jbG9uZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgogbXNnc3RyICLDqWNoZWMgZHUgc3RhdCBkZSAlc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDIwCisjOiBidWlsdGluL2Nsb25lLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgY3LDqWF0aW9uIGR1IGxpZW4gJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQyNAorIzogYnVpbHRpbi9jbG9uZS5jOjQyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBjb3BpZSB2ZXJzICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NDkgYnVpbHRpbi9jbG9uZS5jOjYzMworIzogYnVpbHRpbi9jbG9uZS5jOjQ0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJkb25lLlxuIgogbXNnc3RyICJmYWl0LlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDYxCisjOiBidWlsdGluL2Nsb25lLmM6NDYwCiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKQEAgLTUyMzMsMTMwICs2MjI5LDE0NSBAQAogIlZvdXMgcG91dmV6IGluc3BlY3RlciBjZSBxdWkgYSDDqXTDqSBleHRyYWl0IGF2ZWMgJ2dpdCBzdGF0dXMnXG4iCiAiZXQgcsOpZXNzYXllciBsJ2V4dHJhY3Rpb24gYXZlYyAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1MzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgdHJvdXZlciBsYSBicmFuY2hlIGRpc3RhbnRlICclcycgw6AgY2xvbmVyLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkuLi4gIgotbXNnc3RyICJWw6lyaWZpY2F0aW9uIGRlIGxhIGNvbm5lY3Rpdml0w6kuLi4gIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjMxCisjOiBidWlsdGluL2Nsb25lLmM6NjMyCiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgImxlIHNlcnZldXIgZGlzdGFudCBuJ2EgcGFzIGVudm95w6kgdG91cyBsZXMgb2JqZXRzIG7DqWNlc3NhaXJlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY0OQorIzogYnVpbHRpbi9jbG9uZS5jOjY0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Njk4CisjOiBidWlsdGluL2Nsb25lLmM6Njk3CiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICIiCiAibGEgSEVBRCBkaXN0YW50ZSByw6lmw6hyZSDDoCB1bmUgcsOpZsOpcmVuY2Ugbm9uIGV4aXN0YW50ZSwgaW1wb3NzaWJsZSBkZSAiCiAibCdleHRyYWlyZS5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyOQorIzogYnVpbHRpbi9jbG9uZS5jOjcyOAogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImltcG9zc2libGUgZCdleHRyYWlyZSBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzY3CisjOiBidWlsdGluL2Nsb25lLmM6NzY4CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHBhcmFtZXRlcnMgdG8gY29uZmlnIGZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlcyBwYXJhbcOodHJlcyBkYW5zIGxlIGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzMAorIzogYnVpbHRpbi9jbG9uZS5jOjgzMQogbXNnaWQgImNhbm5vdCByZXBhY2sgdG8gY2xlYW4gdXAiCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmVtYmFsbGVyIHBvdXIgbmV0dG95ZXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MzMKIG1zZ2lkICJjYW5ub3QgdW5saW5rIHRlbXBvcmFyeSBhbHRlcm5hdGVzIGZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZGUgdW5saW5rZXIgbGUgZmljaGllciB0ZW1wb3JhaXJlIGFsdGVybmF0ZXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjQgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxNzMxCisjOiBidWlsdGluL2Nsb25lLmM6ODY2IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIlRyb3AgZCdhcmd1bWVudHMuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODY4CisjOiBidWlsdGluL2Nsb25lLmM6ODcwCiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICJWb3VzIGRldmV6IHNww6ljaWZpZXIgdW4gZMOpcMO0dCDDoCBjbG9uZXIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODc5CisjOiBidWlsdGluL2Nsb25lLmM6ODgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAibGVzIG9wdGlvbnMgLS1iYXJlIGV0IC0tb3JpZ2luICVzIHNvbnQgaW5jb21wYXRpYmxlcy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4ODIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4ODYKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiLS1iYXJlIGV0IC0tc2VwYXJhdGUtZ2l0LWRpciBzb250IGluY29tcGF0aWJsZXMuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODk1CisjOiBidWlsdGluL2Nsb25lLmM6ODk5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAibGUgZMOpcMO0dCAnJXMnIG4nZXhpc3RlIHBhcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkwMSBidWlsdGluL2ZldGNoLmM6MTE3NAorIzogYnVpbHRpbi9jbG9uZS5jOjkwNSBidWlsdGluL2ZldGNoLmM6MTMzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXB0aCAlcyBpcyBub3QgYSBwb3NpdGl2ZSBudW1iZXIiCiBtc2dzdHIgImxhIHByb2ZvbmRldXIgJXMgbidlc3QgcGFzIHVuIGVudGllciBwb3NpdGlmIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTExCisjOiBidWlsdGluL2Nsb25lLmM6OTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgIiIKICJsZSBjaGVtaW4gZGUgZGVzdGluYXRpb24gJyVzJyBleGlzdGUgZMOpasOgIGV0IG4nZXN0IHBhcyB1biByw6lwZXJ0b2lyZSB2aWRlLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyMQorIzogYnVpbHRpbi9jbG9uZS5jOjkyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgImxhIGNvcGllIGRlIHRyYXZhaWwgJyVzJyBleGlzdGUgZMOpasOgLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzNiBidWlsdGluL2Nsb25lLmM6OTQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NDcKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjAgYnVpbHRpbi93b3JrdHJlZS5jOjI0NworIzogYnVpbHRpbi9jbG9uZS5jOjk0MCBidWlsdGluL2Nsb25lLmM6OTUxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjIgYnVpbHRpbi93b3JrdHJlZS5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGVzIHLDqXBlcnRvaXJlcyBkZSBwcmVtaWVyIG5pdmVhdSBkYW5zICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MzkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlIGRlIGxhIGNvcGllIGRlIHRyYXZhaWwgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1NworIzogYnVpbHRpbi9jbG9uZS5jOjk1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAiQ2xvbmFnZSBkYW5zIGxlIGTDqXDDtHQgbnUgJyVzJ1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTU5CisjOiBidWlsdGluL2Nsb25lLmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byAnJXMnLi4uXG4iCiBtc2dzdHIgIkNsb25hZ2UgZGFucyAnJXMnLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjMKK21zZ2lkICIiCisiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBib3RoIC0tcmVmZXJlbmNlIGFuZCAtLXJlZmVyZW5jZS1pZi0iCisiYWJsZSIKK21zZ3N0ciAiIgorImNsb25lIC0tcmVjdXJzaXZlIG4nZXN0IHBhcyBjb21wYXRpYmxlIGF2ZWMgw6AgbGEgZm9pcyAtLXJlZmVyZW5jZSBldCAtLSIKKyJyZWZlcmVuY2UtaWYtYWJsZSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMTkKIG1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIi0tZGVwdGggZXN0IGlnbm9yw6kgZGFucyBsZXMgY2xvbmVzIGxvY2F1eCA6IHV0aWxpc2V6IHBsdXTDtHQgXCJmaWxlOi8vXCIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwMjEKK21zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICIiCisiLS1zaGFsbG93LXNpbmNlIGVzdCBpZ25vcsOpIGRhbnMgbGVzIGNsb25lcyBsb2NhdXggOiB1dGlsaXNleiBwbHV0w7R0IFwiZmlsZTovLyIKKyJcIi4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIzCittc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICIiCisiLS1zaGFsbG93LWV4Y2x1ZGUgZXN0IGlnbm9yw6kgZGFucyBsZXMgY2xvbmVzIGxvY2F1eCA6IHV0aWxpc2V6IHBsdXTDtHQgIgorIlwiZmlsZTovL1wiLiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMjYKIG1zZ2lkICJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIgogbXNnc3RyICJsZSBkw6lww7R0IHNvdXJjZSBlc3Qgc3VwZXJmaWNpZWwsIG9wdGlvbiAtLWxvY2FsIGlnbm9yw6llIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwNgorIzogYnVpbHRpbi9jbG9uZS5jOjEwMzEKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgIi0tbG9jYWwgZXN0IGlnbm9yw6kiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEwCisjOiBidWlsdGluL2Nsb25lLmM6MTAzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBjbG9uZSAlcyIKIG1zZ3N0ciAiSmUgbmUgc2FpcyBwYXMgY2xvbmVyICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA1OSBidWlsdGluL2Nsb25lLmM6MTA2NworIzogYnVpbHRpbi9jbG9uZS5jOjEwOTAgYnVpbHRpbi9jbG9uZS5jOjEwOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIkxhIGJyYW5jaGUgZGlzdGFudGUgJXMgbidhIHBhcyDDqXTDqSB0cm91dsOpZSBkYW5zIGxlIGTDqXDDtHQgYW1vbnQgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcwCisjOiBidWlsdGluL2Nsb25lLmM6MTEwMQogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIlZvdXMgc2VtYmxleiBhdm9pciBjbG9uw6kgdW4gZMOpcMO0dCB2aWRlLiIKIApAQCAtNTQ5OSw0MyArNjUxMCw0MyBAQAogIlB1aXMgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIGNvbnRpbnVlcmEgbGUgcGljb3JhZ2UgXG4iCiAiZGVzIGNvbW1pdHMgcmVzdGFudHMuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzA3CisjOiBidWlsdGluL2NvbW1pdC5jOjMxOAogbXNnaWQgImZhaWxlZCB0byB1bnBhY2sgSEVBRCB0cmVlIG9iamVjdCIKIG1zZ3N0ciAiw6ljaGVjIGR1IGTDqXBhcXVldGFnZSBkZSBsJ29iamV0IGFyYnJlIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjM1OQogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciBsJ2luZGV4IHRlbXBvcmFpcmUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzU0CisjOiBidWlsdGluL2NvbW1pdC5jOjM2NQogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSBsJ2Fqb3V0IGludGVyYWN0aWYiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY3CisjOiBidWlsdGluL2NvbW1pdC5jOjM3OAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGwnaW5kZXggdGVtcG9yYWlyZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzgwCiBtc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBtYWluIGNhY2hlIHRyZWUiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbCdhcmJyZSBkZSBjYWNoZSBwcmluY2lwYWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzkzIGJ1aWx0aW4vY29tbWl0LmM6NDE2IGJ1aWx0aW4vY29tbWl0LmM6NDY1CisjOiBidWlsdGluL2NvbW1pdC5jOjQwNCBidWlsdGluL2NvbW1pdC5jOjQyNyBidWlsdGluL2NvbW1pdC5jOjQ3NgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgZmljaGllciBuZXdfaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDQ3CisjOiBidWlsdGluL2NvbW1pdC5jOjQ1OAogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmYWlyZSB1bmUgdmFsaWRhdGlvbiBwYXJ0aWVsbGUgcGVuZGFudCB1bmUgZnVzaW9uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYwCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZhaXJlIHVuZSB2YWxpZGF0aW9uIHBhcnRpZWxsZSBwZW5kYW50IHVuIHBpY29yYWdlLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDY5CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbCdpbmRleCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDg4CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRlbXBvcmFyeSBpbmRleCBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBmaWNoaWVyIGQnaW5kZXggdGVtcG9yYWlyZSIKIApAQCAtNTU2NiwxMiArNjU3NywxMiBAQAogImltcG9zc2libGUgZGUgc8OpbGVjdGlvbm5lciB1biBjYXJhY3TDqHJlIGRlIGNvbW1lbnRhaXJlXG4iCiAicXVpIG4nZXN0IHBhcyB1dGlsaXPDqSBkYW5zIGxlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBhY3R1ZWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjkyIGJ1aWx0aW4vY29tbWl0LmM6NzI1IGJ1aWx0aW4vY29tbWl0LmM6MTA5MQorIzogYnVpbHRpbi9jb21taXQuYzo2OTIgYnVpbHRpbi9jb21taXQuYzo3MjUgYnVpbHRpbi9jb21taXQuYzoxMDk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJlY2hlcmNoZXIgbGUgY29tbWl0ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwNCBidWlsdGluL3Nob3J0bG9nLmM6Mjg1CisjOiBidWlsdGluL2NvbW1pdC5jOjcwNCBidWlsdGluL3Nob3J0bG9nLmM6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCiBtc2dzdHIgIihsZWN0dXJlIGR1IG1lc3NhZ2UgZGUgam91cm5hbCBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkKVxuIgpAQCAtNTY2NywxMzEgKzY2NzgsMTM1IEBACiBtc2dpZCAiQ2Fubm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBsJ2luZGV4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk0OQorIzogYnVpbHRpbi9jb21taXQuYzo5NTQKIG1zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiRXJyZXVyIGxvcnMgZGUgbGEgY29uc3RydWN0aW9uIGRlcyBhcmJyZXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTY0IGJ1aWx0aW4vdGFnLmM6MjY2CisjOiBidWlsdGluL2NvbW1pdC5jOjk2OSBidWlsdGluL3RhZy5jOjI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIlZldWlsbGV6IGZvdXJuaXIgbGUgbWVzc2FnZSBlbiB1dGlsaXNhbnQgbCdvcHRpb24gLW0gb3UgLUYuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2NgorIzogYnVpbHRpbi9jb21taXQuYzoxMDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYXV0aG9yICclcycgaXMgbm90ICdOYW1lIDxlbWFpbD4nIGFuZCBtYXRjaGVzIG5vIGV4aXN0aW5nIGF1dGhvciIKIG1zZ3N0ciAiIgogIi0tYXV0aG9yICclcycgbidlc3QgcGFzIGRlIGxhIGZvcm1lICdOb20gPGVtYWlsPicgbmkgbmUgY29ycmVzcG9uZCDDoCBhdWN1biAiCiAiYXV0ZXVyIGV4aXN0YW50IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwODEgYnVpbHRpbi9jb21taXQuYzoxMzIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEwODYgYnVpbHRpbi9jb21taXQuYzoxMzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiTW9kZSBkZSBmaWNoaWVyIG5vbiBzdWl2aSBpbnZhbGlkZSAnJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAogbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1sb25nIGV0IC16IHNvbnQgaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjExNTQKIG1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJMJ3V0aWxpc2F0aW9uIHNpbXVsdGFuw6llIGRlIC0tcmVzZXQtYXV0aG9yIGV0IC0tYXV0aG9yIG4nYSBwYXMgZGUgc2VucyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTU3CisjOiBidWlsdGluL2NvbW1pdC5jOjExNjMKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKIG1zZ3N0ciAiSWwgbid5IGEgcmllbiDDoCBjb3JyaWdlci4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MAorIzogYnVpbHRpbi9jb21taXQuYzoxMTY2CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiVm91cyDDqnRlcyBlbiBwbGVpbmUgZnVzaW9uIC0tIGltcG9zc2libGUgZGUgY29ycmlnZXIgKGFtZW5kKS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MgorIzogYnVpbHRpbi9jb21taXQuYzoxMTY4CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hlcnJ5LXBpY2sgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiVm91cyDDqnRlcyBlbiBwbGVpbiBwaWNvcmFnZSAtLSBpbXBvc3NpYmxlIGRlIGNvcnJpZ2VyIChhbWVuZCkuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3MQogbXNnaWQgIk9wdGlvbnMgLS1zcXVhc2ggYW5kIC0tZml4dXAgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIkxlcyBvcHRpb25zIC0tc3F1YXNoIGV0IC0tZml4dXAgbmUgcGV1dmVudCBwYXMgw6p0cmUgdXRpbGlzw6llcyBlbnNlbWJsZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTc1CisjOiBidWlsdGluL2NvbW1pdC5jOjExODEKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiVW5lIHNldWxlIG9wdGlvbiBwYXJtaSAtYy8tQy8tRi8tLWZpeHVwIHBldXQgw6p0cmUgdXRpbGlzw6llLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTc3CisjOiBidWlsdGluL2NvbW1pdC5jOjExODMKIG1zZ2lkICJPcHRpb24gLW0gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLWMvLUMvLUYvLS1maXh1cC4iCiBtc2dzdHIgIkwnb3B0aW9uIC1tIG5lIHBldXQgcGFzIMOqdHJlIGNvbWJpbsOpZSBhdmVjIC1jLy1DLy1GLy0tZml4dXAuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE5MQogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIi0tcmVzZXQtYXV0aG9yIG5lIHBldXQgw6p0cmUgdXRpbGlzw6kgcXUnYXZlYyAtQywgLWMgb3UgLS1hbWVuZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwMgorIzogYnVpbHRpbi9jb21taXQuYzoxMjA4CiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAiVW5lIHNldWxlIG9wdGlvbiBwYXJtaSAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBwZXV0ICIKICLDqnRyZSB1dGlsaXPDqWUuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMAogbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiQXVjdW4gY2hlbWluIGF2ZWMgbGVzIG9wdGlvbnMgLS1pbmNsdWRlLy0tb25seSBuJ2EgcGFzIGRlIHNlbnMuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMgogbXNnaWQgIkNsZXZlci4uLiBhbWVuZGluZyB0aGUgbGFzdCBvbmUgd2l0aCBkaXJ0eSBpbmRleC4iCiBtc2dzdHIgIk1hbGluLi4uIGNvcnJlY3Rpb24gZHUgZGVybmllciBhdmVjIHVuIGluZGV4IHNhbGUuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxNAogbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG9yIC1vOyBhc3N1bWluZyAtLW9ubHkgcGF0aHMuLi4iCiBtc2dzdHIgIkNoZW1pbnMgZXhwbGljaXRlcyBzcMOpY2lmacOpcyBzYW5zIC1pIG5pIC1vIDsgLS1vbmx5IHN1cHBvc8OpLi4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjAgYnVpbHRpbi90YWcuYzo0NzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNiBidWlsdGluL3RhZy5jOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKIG1zZ3N0ciAiTW9kZSBkZSBuZXR0b3lhZ2UgaW52YWxpZGUgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNQorIzogYnVpbHRpbi9jb21taXQuYzoxMjMxCiBtc2dpZCAiUGF0aHMgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiU3DDqWNpZmllciBkZXMgY2hlbWlucyBhdmVjIGwnb3B0aW9uIC1hIG4nYSBwYXMgZGUgc2Vucy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNSBidWlsdGluL2NvbW1pdC5jOjE2MjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MSBidWlsdGluL2NvbW1pdC5jOjE2MTcKIG1zZ2lkICJzaG93IHN0YXR1cyBjb25jaXNlbHkiCiBtc2dzdHIgImFmZmljaGVyIGxlIHN0YXR1dCBhdmVjIGNvbmNpc2lvbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM3IGJ1aWx0aW4vY29tbWl0LmM6MTYyMworIzogYnVpbHRpbi9jb21taXQuYzoxMzQzIGJ1aWx0aW4vY29tbWl0LmM6MTYxOQogbXNnaWQgInNob3cgYnJhbmNoIGluZm9ybWF0aW9uIgogbXNnc3RyICJhZmZpY2hlciBsJ2luZm9ybWF0aW9uIGRlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzOSBidWlsdGluL2NvbW1pdC5jOjE2MjUgYnVpbHRpbi9wdXNoLmM6NTEyCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDM3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDUKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICJ2ZXJzaW9uIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDUgYnVpbHRpbi9jb21taXQuYzoxNjIxIGJ1aWx0aW4vcHVzaC5jOjUyMgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MAogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICJzb3J0aWUgcG91ciB0cmFpdGVtZW50IGF1dG9tYXRpcXVlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDIgYnVpbHRpbi9jb21taXQuYzoxNjI3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9jb21taXQuYzoxNjIzCiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICJhZmZpY2hlciBsZSBzdGF0dXQgZW4gZm9ybWF0IGxvbmcgKHBhciBkw6lmYXV0KSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQ1IGJ1aWx0aW4vY29tbWl0LmM6MTYzMAorIzogYnVpbHRpbi9jb21taXQuYzoxMzUxIGJ1aWx0aW4vY29tbWl0LmM6MTYyNgogbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIgogbXNnc3RyICJ0ZXJtaW5lciBsZXMgw6lsw6ltZW50cyBwYXIgTlVMIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDcgYnVpbHRpbi9jb21taXQuYzoxNjMzIGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MyBidWlsdGluL2NvbW1pdC5jOjE2MjkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MQogIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NCBidWlsdGluL3RhZy5jOjM1MwogbXNnaWQgIm1vZGUiCiBtc2dzdHIgIm1vZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OCBidWlsdGluL2NvbW1pdC5jOjE2MzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NCBidWlsdGluL2NvbW1pdC5jOjE2MjkKIG1zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKICJhZmZpY2hlciBsZXMgZmljaGllcnMgbm9uIHN1aXZpcywgXCJtb2RlXCIgZmFjdWx0YXRpZiA6IGFsbCAodG91cyksIG5vcm1hbCwgIgogIm5vLiAoRMOpZmF1dCA6IGFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MQorIzogYnVpbHRpbi9jb21taXQuYzoxMzU3CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgZmljaGllcnMgaWdub3LDqXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MiBwYXJzZS1vcHRpb25zLmg6MTU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTggcGFyc2Utb3B0aW9ucy5oOjE1NQogbXNnaWQgIndoZW4iCiBtc2dzdHIgInF1YW5kIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OQogbXNnaWQgIiIKICJpZ25vcmUgY2hhbmdlcyB0byBzdWJtb2R1bGVzLCBvcHRpb25hbCB3aGVuOiBhbGwsIGRpcnR5LCB1bnRyYWNrZWQuICIKICIoRGVmYXVsdDogYWxsKSIKQEAgLTU3OTksMjAxICs2ODE0LDIwMSBAQAogImlnbm9yZXIgbGVzIG1vZGlmaWNhdGlvbnMgZGFucyBsZXMgc291cy1tb2R1bGVzLCBcInF1YW5kXCIgZmFjdWx0YXRpZiA6IGFsbCAiCiAiKHRvdXMpLCBkaXJ0eSAoc2FsZSksIHVudHJhY2tlZCAobm9uIHN1aXZpKS4gKETDqWZhdXQgOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MQogbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBub24gc3VpdmlzIGVuIGNvbG9ubmVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNwogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmV0cm91dmVyIGxlIGNvbW1pdCBub3V2ZWxsZW1lbnQgY3LDqcOpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzOQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGNvbW1pdCBub3V2ZWxsZW1lbnQgY3LDqcOpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NAogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIkhFQUQgZMOpdGFjaMOpZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDkxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAiIChjb21taXQgcmFjaW5lKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1ODcKIG1zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgogbXNnc3RyICJzdXBwcmltZXIgbGUgcsOpc3Vtw6kgYXByw6hzIHVuZSB2YWxpZGF0aW9uIHLDqXVzc2llIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OAogbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGRpZmYgZGFucyBsZSBtb2TDqGxlIGRlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk0CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTAKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICJPcHRpb25zIGR1IG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vdGFnLmM6MzUxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi90YWcuYzozNTEKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICJsaXJlIGxlIG1lc3NhZ2UgZGVwdWlzIHVuIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgorIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCiBtc2dpZCAiYXV0aG9yIgogbXNnc3RyICJhdXRldXIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgorIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgInJlbXBsYWNlciBsJ2F1dGV1ciBwb3VyIGxhIHZhbGlkYXRpb24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NyBidWlsdGluL2djLmM6MzI2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMgYnVpbHRpbi9nYy5jOjMyNgogbXNnaWQgImRhdGUiCiBtc2dzdHIgImRhdGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NworIzogYnVpbHRpbi9jb21taXQuYzoxNTkzCiBtc2dpZCAib3ZlcnJpZGUgZGF0ZSBmb3IgY29tbWl0IgogbXNnc3RyICJyZW1wbGFjZXIgbGEgZGF0ZSBwb3VyIGxhIHZhbGlkYXRpb24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vbm90ZXMuYzozOTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NTggYnVpbHRpbi90YWcuYzozNDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NCBidWlsdGluL21lcmdlLmM6MjIwIGJ1aWx0aW4vbm90ZXMuYzozOTgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjEgYnVpbHRpbi90YWcuYzozNDkKIG1zZ2lkICJtZXNzYWdlIgogbXNnc3RyICJtZXNzYWdlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NAogbXNnaWQgImNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJtZXNzYWdlIGRlIHZhbGlkYXRpb24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OSBidWlsdGluL2NvbW1pdC5jOjE2MDAgYnVpbHRpbi9jb21taXQuYzoxNjAxCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDIgcGFyc2Utb3B0aW9ucy5oOjI1NiByZWYtZmlsdGVyLmg6NzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NSBidWlsdGluL2NvbW1pdC5jOjE1OTYgYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTggcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6NzkKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgImNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTUKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAicsOpdXRpbGlzZXIgZXQgw6lkaXRlciBsZSBtZXNzYWdlIGR1IGNvbW1pdCBzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICJyw6l1dGlsaXNlciBsZSBtZXNzYWdlIGR1IGNvbW1pdCBzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NwogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICJ1dGlsaXNlciB1biBtZXNzYWdlIGF1IGZvcm1hdCBhdXRvc3F1YXNoIHBvdXIgY29ycmlnZXIgbGUgY29tbWl0IHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMgorIzogYnVpbHRpbi9jb21taXQuYzoxNTk4CiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gc3F1YXNoIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICJ1dGlsaXNlciB1biBtZXNzYWdlIGF1IGZvcm1hdCBhdXRvc3F1YXNoIHBvdXIgY29tcHJlc3NlciBsZSBjb21taXQgc3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTkKIG1zZ2lkICJ0aGUgY29tbWl0IGlzIGF1dGhvcmVkIGJ5IG1lIG5vdyAodXNlZCB3aXRoIC1DLy1jLy0tYW1lbmQpIgogbXNnc3RyICIiCiAiw6AgcHLDqXNlbnQgamUgc3VpcyBsJ2F1dGV1ciBkZSBsYSB2YWxpZGF0aW9uICh1dGlsaXPDqSBhdmVjIC1DLy1jLy0tYW1lbmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDQgYnVpbHRpbi9sb2cuYzoxMzgyIGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL2xvZy5jOjE0MTMgYnVpbHRpbi9yZXZlcnQuYzo4NgogbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKIG1zZ3N0ciAiYWpvdXRlciB1bmUgZW50csOpZSBTaWduZWQtb2ZmLWJ5IDoiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNQorIzogYnVpbHRpbi9jb21taXQuYzoxNjAxCiBtc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgogbXNnc3RyICJ1dGlsaXNlciBsZSBmaWNoaWVyIGRlIG1vZMOobGUgc3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDIKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKIG1zZ3N0ciAiZm9yY2VyIGwnw6lkaXRpb24gZHUgY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMwogbXNnaWQgImRlZmF1bHQiCiBtc2dzdHIgImTDqWZhdXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNyBidWlsdGluL3RhZy5jOjM1NAorIzogYnVpbHRpbi9jb21taXQuYzoxNjAzIGJ1aWx0aW4vdGFnLmM6MzU0CiBtc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKIG1zZ3N0ciAiY29tbWVudCDDqWxpbWluZXIgbGVzIGVzcGFjZXMgZXQgbGVzIGNvbW1lbnRhaXJlcyAjIGR1IG1lc3NhZ2UiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjA0CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgImluY2x1cmUgbGUgc3RhdHV0IGRhbnMgbGUgbW9kw6hsZSBkZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMCBidWlsdGluL21lcmdlLmM6MjI5IGJ1aWx0aW4vcHVsbC5jOjE2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNjA2IGJ1aWx0aW4vbWVyZ2UuYzoyMzAgYnVpbHRpbi9wdWxsLmM6MTY2CiAjOiBidWlsdGluL3JldmVydC5jOjkzCiBtc2dpZCAiR1BHIHNpZ24gY29tbWl0IgogbXNnc3RyICJzaWduZXIgbGEgdmFsaWRhdGlvbiBhdmVjIEdQRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjEzCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDkKIG1zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKIG1zZ3N0ciAiVmFsaWRlciBsZXMgb3B0aW9ucyBkZXMgY29udGVudXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAorIzogYnVpbHRpbi9jb21taXQuYzoxNjEwCiBtc2dpZCAiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIgogbXNnc3RyICJ2YWxpZGVyIHRvdXMgbGVzIGZpY2hpZXJzIG1vZGlmacOpcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTEKIG1zZ2lkICJhZGQgc3BlY2lmaWVkIGZpbGVzIHRvIGluZGV4IGZvciBjb21taXQiCiBtc2dzdHIgImFqb3V0ZXIgbGVzIGZpY2hpZXJzIHNww6ljaWZpw6lzIMOgIGwnaW5kZXggcG91ciBsYSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMgogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICJham91dGVyIGRlcyBmaWNoaWVycyBlbiBtb2RlIGludGVyYWN0aWYiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNworIzogYnVpbHRpbi9jb21taXQuYzoxNjEzCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAiYWpvdXRlciBsZXMgbW9kaWZpY2F0aW9ucyBlbiBtb2RlIGludGVyYWN0aWYiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CiBtc2dpZCAiY29tbWl0IG9ubHkgc3BlY2lmaWVkIGZpbGVzIgogbXNnc3RyICJ2YWxpZGVyIHNldWxlbWVudCBsZXMgZmljaGllcnMgc3DDqWNpZmnDqXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxOQotbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGhvb2siCi1tc2dzdHIgIsOpdml0ZXIgZCd1dGlsaXNlciBsZSBjcm9jaGV0IHByZS1jb21taXQiCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTUKK21zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKK21zZ3N0ciAiw6l2aXRlciBkJ3V0aWxpc2VyIGxlcyBjcm9jaGV0cyBwcmUtY29tbWl0IGV0IGNvbW1pdC1tc2ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyMAorIzogYnVpbHRpbi9jb21taXQuYzoxNjE2CiBtc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKIG1zZ3N0ciAiYWZmaWNoZXIgY2UgcXVpIHNlcmFpdCB2YWxpZMOpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyNwogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAiY29ycmlnZXIgbGEgdmFsaWRhdGlvbiBwcsOpY8OpZGVudGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMgorIzogYnVpbHRpbi9jb21taXQuYzoxNjI4CiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICLDqXZpdGVyIGQndXRpbGlzZXIgbGUgY3JvY2hldCBwb3N0LXJld3JpdGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNworIzogYnVpbHRpbi9jb21taXQuYzoxNjMzCiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAiYWNjZXB0ZXIgZCdlbnJlZ2lzdHJlciB1bmUgbW9kaWZpY2F0aW9uIHZpZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzOQorIzogYnVpbHRpbi9jb21taXQuYzoxNjM1CiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAiYWNjZXB0ZXIgZCdlbnJlZ2lzdHJlciB1bmUgbW9kaWZpY2F0aW9uIGF2ZWMgdW4gbWVzc2FnZSB2aWRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2NjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGNvbW1pdCBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgogbXNnc3RyICJGaWNoaWVyIE1FUkdFX0hFQUQgY29ycm9tcHUgKCVzKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzI1CisjOiBidWlsdGluL2NvbW1pdC5jOjE3MTkKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NT0RFIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgTUVSR0VfTU9ERSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzQ0CisjOiBidWlsdGluL2NvbW1pdC5jOjE3MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIDogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc1NQorIzogYnVpbHRpbi9jb21taXQuYzoxNzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiQWJhbmRvbiBkZSBsYSB2YWxpZGF0aW9uIDsgdm91cyBuJ2F2ZXogcGFzIMOpZGl0w6kgbGUgbWVzc2FnZVxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NjAKLSMsIGMtZm9ybWF0CisjOiBidWlsdGluL2NvbW1pdC5jOjE3NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdCBkdWUgdG8gZW1wdHkgY29tbWl0IG1lc3NhZ2UuXG4iCi1tc2dzdHIgIkFiYW5kb24gZGUgbGEgdmFsaWRhdGlvbiBkdSDDoCB1biBtZXNzYWdlIGRlIHZhbGlkYXRpb24gdmlkZVxuIgorbXNnc3RyICJBYmFuZG9uIGRlIGxhIHZhbGlkYXRpb24gZMO7IMOgIHVuIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiB2aWRlXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTgwOAorIzogYnVpbHRpbi9jb21taXQuYzoxODAyCiBtc2dpZCAiIgogIlJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgYW5kIHF1b3RhIGlzXG4iCkBAIC02MDA3LDE0MiArNzAyMiwxNDIgQEAKIG1zZ2lkICJnaXQgY29uZmlnIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgY29uZmlnIFs8b3B0aW9ucz5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU2CisjOiBidWlsdGluL2NvbmZpZy5jOjU1CiBtc2dpZCAiQ29uZmlnIGZpbGUgbG9jYXRpb24iCiBtc2dzdHIgIkVtcGxhY2VtZW50IGR1IGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1NgogbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCiBtc2dzdHIgInV0aWxpc2VyIGxlcyBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gZ2xvYmFsIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4CisjOiBidWlsdGluL2NvbmZpZy5jOjU3CiBtc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKIG1zZ3N0ciAidXRpbGlzZXIgbGUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIGR1IHN5c3TDqG1lIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU5CisjOiBidWlsdGluL2NvbmZpZy5jOjU4CiBtc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCiBtc2dzdHIgInV0aWxpc2VyIGxlIGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBkdSBkw6lww7R0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYwCisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAidXNlIGdpdmVuIGNvbmZpZyBmaWxlIgogbXNnc3RyICJ1dGlsaXNlciBsZSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gc3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgImJsb2ItaWQiCiBtc2dzdHIgImJsb2ItaWQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKIG1zZ2lkICJyZWFkIGNvbmZpZyBmcm9tIGdpdmVuIGJsb2Igb2JqZWN0IgogbXNnc3RyICJsaXJlIGxhIGNvbmZpZ3VyYXRpb24gZGVwdWlzIGwnb2JqZXQgYmxvYiBmb3VybmkiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKIG1zZ2lkICJBY3Rpb24iCiBtc2dzdHIgIkFjdGlvbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MworIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgImdldCB2YWx1ZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJvYnRlbmlyIGxhIHZhbGV1ciA6IG5vbSBbcmVnZXgtZGUtdmFsZXVyXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NAorIzogYnVpbHRpbi9jb25maWcuYzo2MwogbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAib2J0ZW5pciB0b3V0ZXMgbGVzIHZhbGV1cnMgOiBjbMOpIFtyZWdleC1kZS12YWxldXJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY1CisjOiBidWlsdGluL2NvbmZpZy5jOjY0CiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIm9idGVuaXIgbGVzIHZhbGV1ciBwb3VyIGxhIHJlZ2V4cCA6IHJlZ2V4LWRlLW5vbSBbcmVnZXgtZGUtdmFsZXVyXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NgorIzogYnVpbHRpbi9jb25maWcuYzo2NQogbXNnaWQgImdldCB2YWx1ZSBzcGVjaWZpYyBmb3IgdGhlIFVSTDogc2VjdGlvblsudmFyXSBVUkwiCiBtc2dzdHIgIm9idGVuaXIgbGEgdmFsZXVyIHNww6ljaWZpcXVlIHBvdXIgbCdVUkwgOiBzZWN0aW9uWy52YXJdIFVSTCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NworIzogYnVpbHRpbi9jb25maWcuYzo2NgogbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgogbXNnc3RyICIiCiAicmVtcGxhY2VyIHRvdXRlcyBsZXMgdmFyaWFibGVzIGNvcnJlc3BvbmRhbnQgOiBub20gdmFsZXVyIFtyZWdleC1kZS12YWxldXJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY4CisjOiBidWlsdGluL2NvbmZpZy5jOjY3CiBtc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgogbXNnc3RyICJham91dGVyIHVuZSBub3V2ZWxsZSB2YXJpYWJsZSA6IG5vbSB2YWxldXIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKIG1zZ2lkICJyZW1vdmUgYSB2YXJpYWJsZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJzdXBwcmltZXIgdW5lIHZhcmlhYmxlIDogbm9tIFtyZWdleC1kZS12YWxldXJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwCisjOiBidWlsdGluL2NvbmZpZy5jOjY5CiBtc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgInN1cHByaW1lciB0b3V0ZXMgbGVzIGNvcnJlc3BvbmRhbmNlcyBub20gW3JlZ2V4LWRlLXZhbGV1cl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKIG1zZ2lkICJyZW5hbWUgc2VjdGlvbjogb2xkLW5hbWUgbmV3LW5hbWUiCiBtc2dzdHIgInJlbm9tbWVyIHVuZSBzZWN0aW9uIDogYW5jaWVuLW5vbSBub3V2ZWF1LW5vbSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MgorIzogYnVpbHRpbi9jb25maWcuYzo3MQogbXNnaWQgInJlbW92ZSBhIHNlY3Rpb246IG5hbWUiCiBtc2dzdHIgInN1cHByaW1lciB1bmUgc2VjdGlvbiA6IG5vbSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MworIzogYnVpbHRpbi9jb25maWcuYzo3MgogbXNnaWQgImxpc3QgYWxsIgogbXNnc3RyICJhZmZpY2hlciB0b3V0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0CisjOiBidWlsdGluL2NvbmZpZy5jOjczCiBtc2dpZCAib3BlbiBhbiBlZGl0b3IiCiBtc2dzdHIgIm91dnJpciB1biDDqWRpdGV1ciIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NQorIzogYnVpbHRpbi9jb25maWcuYzo3NAogbXNnaWQgImZpbmQgdGhlIGNvbG9yIGNvbmZpZ3VyZWQ6IHNsb3QgW2RlZmF1bHRdIgogbXNnc3RyICJ0cm91dmVyIGxhIGNvdWxldXIgY29uZmlndXLDqWUgOiBzbG90IFtwYXIgZMOpZmF1dF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBzZXR0aW5nOiBzbG90IFtzdGRvdXQtaXMtdHR5XSIKIG1zZ3N0ciAidHJvdXZlciBsZSByw6lnbGFnZSBkZSBsYSBjb3VsZXVyIDogc2xvdCBbc3Rkb3V0LWVzdC10dHldIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjc2CiBtc2dpZCAiVHlwZSIKIG1zZ3N0ciAiVHlwZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OAorIzogYnVpbHRpbi9jb25maWcuYzo3NwogbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKIG1zZ3N0ciAibGEgdmFsZXVyIGVzdCBcInRydWVcIiAodnJhaSkgb3UgXCJmYWxzZVwiIChmYXV4KSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OQorIzogYnVpbHRpbi9jb25maWcuYzo3OAogbXNnaWQgInZhbHVlIGlzIGRlY2ltYWwgbnVtYmVyIgogbXNnc3RyICJsYSB2YWxldXIgZXN0IHVuIG5vbWJyZSBkw6ljaW1hbCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MAorIzogYnVpbHRpbi9jb25maWcuYzo3OQogbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKIG1zZ3N0ciAibGEgdmFsZXVyIGVzdCAtLWJvb2wgb3UgLS1pbnQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODAKIG1zZ2lkICJ2YWx1ZSBpcyBhIHBhdGggKGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUpIgogbXNnc3RyICJsYSB2YWxldXIgZXN0IHVuIGNoZW1pbiAodmVycyB1biBmaWNoaWVyIG91IHVuIHLDqXBlcnRvaXJlKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MgorIzogYnVpbHRpbi9jb25maWcuYzo4MQogbXNnaWQgIk90aGVyIgogbXNnc3RyICJBdXRyZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MworIzogYnVpbHRpbi9jb25maWcuYzo4MgogbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAidGVybWluZXIgbGVzIHZhbGV1cnMgYXZlYyB1biBjYXJhY3TDqHJlIE5VTCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NAorIzogYnVpbHRpbi9jb25maWcuYzo4MwogbXNnaWQgInNob3cgdmFyaWFibGUgbmFtZXMgb25seSIKIG1zZ3N0ciAibidhZmZpY2hlciBxdWUgbGVzIG5vbXMgZGUgdmFyaWFibGUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCiBtc2dzdHIgInJlc3BlY3RlciBsZXMgZGlyZWN0aXZlcyBkJ2luY2x1c2lvbiBsb3JzIGRlIGxhIHJlY2hlcmNoZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NgorIzogYnVpbHRpbi9jb25maWcuYzo4NQogbXNnaWQgInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiCiBtc2dzdHIgIiIKICJhZmZpY2hlciBsJ29yaWdpbmUgZGUgbGEgY29uZmlndXJhdGlvbiAoZmljaGllciwgZW50csOpZSBzdGFuZGFyZCwgYmxvYiwgIgogImxpZ25lIGRlIGNvbW1hbmRlKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzozMjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzI3CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGRlZmF1bHQgY29sb3IgdmFsdWUiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsYSB2YWxldXIgZGUgY291bGV1ciBwYXIgZMOpZmF1dCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIjIFRoaXMgaXMgR2l0J3MgcGVyLXVzZXIgY29uZmlndXJhdGlvbiBmaWxlLlxuIgpAQCAtNjE1NywxNiArNzE3MiwyNSBAQAogIiNcdG5hbWUgPSAlc1xuIgogIiNcdGVtYWlsID0gJXNcbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgY29uZmlndXJhdGlvbiBmaWxlICVzIgogbXNnc3RyICJjcsOpYXRpb24gaW1wb3NzaWJsZSBkdSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gJyVzJyIKIAotIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6NzcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCisiICAgICAgIFVzZSBhIHJlZ2V4cCwgLS1hZGQgb3IgLS1yZXBsYWNlLWFsbCB0byBjaGFuZ2UgJXMuIgorbXNnc3RyICIiCisiaW1wb3NzaWJsZSBkZSBzdXJjaGFyZ2VyIGRlcyB2YWxldXJzIG11bHRpcGxlcyBhdmVjIHVuZSBzZXVsZSB2YWxldXJcbiIKKyIgICAgICAgVXRpbGlzZXogdW5lIHJlZ2V4cCwgLS1hZGQgb3UgLS1yZXBsYWNlLWFsbCBwb3VyIG1vZGlmaWVyICVzLiIKKworIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6ODYKIG1zZ2lkICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogbXNnc3RyICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogCi0jOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NworIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTYKIG1zZ2lkICJwcmludCBzaXplcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQiCiBtc2dzdHIgImFmZmljaGUgbGVzIHRhaWxsZXMgZGFucyB1biBmb3JtYXQgaHVtYWluZW1lbnQgbGlzaWJsZSIKIApAQCAtNjE5Myw3ICs3MjE3LDcgQEAKIG1zZ2lkICJ0YWcgJyVzJyBpcyByZWFsbHkgJyVzJyBoZXJlIgogbXNnc3RyICJsJ8OpdGlxdWV0dGUgJyVzJyBlc3QgZW4gZmFpdCAnJXMnIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUwIGJ1aWx0aW4vbG9nLmM6NDY1CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUwIGJ1aWx0aW4vbG9nLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICIlcyBuJ2VzdCBwYXMgdW4gbm9tIGQnb2JqZXQgdmFsaWRlIgpAQCAtNjI4OCw3ICs3MzEyLDcgQEAKIG1zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJuZSBjb25zaWTDqXJlciBxdWUgbGVzIMOpdGlxdWV0dGVzIGNvcnJlc3BvbmRhbnQgw6AgPG1vdGlmPiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMCBidWlsdGluL25hbWUtcmV2LmM6MzIxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKIG1zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCiBtc2dzdHIgImFmZmljaGVyIGxlcyBvYmpldHMgY29tbWl0cyBhYnLDqWfDqXMgZW4gZGVybmllciByZWNvdXJzIgogCkBAIC02MzIyLDIxICs3MzQ2LDIxIEBACiBtc2dpZCAiaW52YWxpZCBvcHRpb246ICVzIgogbXNnc3RyICJvcHRpb24gaW52YWxpZGUgOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzYwCisjOiBidWlsdGluL2RpZmYuYzozNjEKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiQ2Ugbidlc3QgcGFzIHVuIGTDqXDDtHQgZ2l0ICEiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQwMworIzogYnVpbHRpbi9kaWZmLmM6NDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICJvYmpldCBzcMOpY2lmacOpICclcycgaW52YWxpZGUuIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MTIKKyM6IGJ1aWx0aW4vZGlmZi5jOjQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgogbXNnc3RyICJwbHVzIGRlIGRldXggYmxvYnMgc3DDqWNpZmnDqXMgOiAnJXMnIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MTkKKyM6IGJ1aWx0aW4vZGlmZi5jOjQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmhhbmRsZWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICJvYmpldCBub24gZ8OpcsOpICclcycgc3DDqWNpZmnDqS4iCkBAIC02Mzk0LDE3OSArNzQxOCwxODUgQEAKIG1zZ2lkICJhbm9ueW1pemUgb3V0cHV0IgogbXNnc3RyICJhbm9ueW1pc2UgbGEgc29ydGllIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMQogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIFs8ZMOpcMO0dD4gWzxzcMOpY2lmaWNhdGlvbi1kZS1yw6lmw6lyZW5jZT4uLi5dXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIxCisjOiBidWlsdGluL2ZldGNoLmM6MjIKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwPiIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIDxncm91cGU+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMwogbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wdGlvbnM+XSBbKDxkw6lww7R0PiB8IDxncm91cGU+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMworIzogYnVpbHRpbi9mZXRjaC5jOjI0CiBtc2dpZCAiZ2l0IGZldGNoIC0tYWxsIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MiBidWlsdGluL3B1bGwuYzoxNzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NSBidWlsdGluL3B1bGwuYzoxNzUKIG1zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgogbXNnc3RyICJyw6ljdXDDqXJlciBkZXB1aXMgdG91cyBsZXMgZMOpcMO0dHMgZGlzdGFudHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NCBidWlsdGluL3B1bGwuYzoxNzcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NyBidWlsdGluL3B1bGwuYzoxNzgKIG1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCiBtc2dzdHIgImFqb3V0ZXIgw6AgLmdpdC9GRVRDSF9IRUFEIGF1IGxpZXUgZGUgbCfDqWNyYXNlciIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk2IGJ1aWx0aW4vcHVsbC5jOjE4MAorIzogYnVpbHRpbi9mZXRjaC5jOjk5IGJ1aWx0aW4vcHVsbC5jOjE4MQogbXNnaWQgInBhdGggdG8gdXBsb2FkIHBhY2sgb24gcmVtb3RlIGVuZCIKIG1zZ3N0ciAiY2hlbWluIHZlcnMgbGVxdWVsIHTDqWzDqWNoYXJnZXIgbGUgcGFxdWV0IHN1ciBsZSBwb3N0ZSBkaXN0YW50IgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9wdWxsLmM6MTgyCisjOiBidWlsdGluL2ZldGNoLmM6MTAwIGJ1aWx0aW4vcHVsbC5jOjE4MwogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgImZvcmNlciBsJ8OpY3Jhc2VtZW50IGRlIGxhIGJyYW5jaGUgbG9jYWxlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDIKIG1zZ2lkICJmZXRjaCBmcm9tIG11bHRpcGxlIHJlbW90ZXMiCiBtc2dzdHIgInLDqWN1cMOpcmVyIGRlcHVpcyBwbHVzaWV1cnMgZMOpcMO0dHMgZGlzdGFudHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDEgYnVpbHRpbi9wdWxsLmM6MTg0CisjOiBidWlsdGluL2ZldGNoLmM6MTA0IGJ1aWx0aW4vcHVsbC5jOjE4NQogbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCiBtc2dzdHIgInLDqWN1cMOpcmVyIHRvdXRlcyBsZXMgw6l0aXF1ZXR0ZXMgZXQgbGV1cnMgb2JqZXRzIGFzc29jacOpcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMworIzogYnVpbHRpbi9mZXRjaC5jOjEwNgogbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKIG1zZ3N0ciAibmUgcGFzIHLDqWN1cMOpcmVyIHRvdXRlcyBsZXMgw6l0aXF1ZXR0ZXMgKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDgKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBmZXRjaGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJub21icmUgZGUgc291cy1tb2R1bGVzIHLDqWN1cMOpcsOpcyBlbiBwYXJhbGzDqGxlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA3IGJ1aWx0aW4vcHVsbC5jOjE4NworIzogYnVpbHRpbi9mZXRjaC5jOjExMCBidWlsdGluL3B1bGwuYzoxODgKIG1zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAiIgogIsOpbGltaW5lciBsZXMgYnJhbmNoZXMgZGUgc3VpdmkgZGlzdGFudCBzaSBsYSBicmFuY2hlIG4nZXhpc3RlIHBsdXMgZGFucyBsZSAiCiAiZMOpcMO0dCBkaXN0YW50IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4IGJ1aWx0aW4vcHVsbC5jOjE5MAorIzogYnVpbHRpbi9mZXRjaC5jOjExMSBidWlsdGluL3B1bGwuYzoxOTEKIG1zZ2lkICJvbi1kZW1hbmQiCiBtc2dzdHIgIsOgIGxhIGRlbWFuZGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDkgYnVpbHRpbi9wdWxsLmM6MTkxCisjOiBidWlsdGluL2ZldGNoLmM6MTEyIGJ1aWx0aW4vcHVsbC5jOjE5MgogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgImNvbnRyw7RsZXIgbGEgcsOpY3Vww6lyYXRpb24gcsOpY3Vyc2l2ZSBkYW5zIGxlcyBzb3VzLW1vZHVsZXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTMgYnVpbHRpbi9wdWxsLmM6MTk5CisjOiBidWlsdGluL2ZldGNoLmM6MTE2IGJ1aWx0aW4vcHVsbC5jOjIwMAogbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgogbXNnc3RyICJjb25zZXJ2ZXIgbGUgcGFxdWV0IHTDqWzDqWNoYXJnw6kiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTgKIG1zZ2lkICJhbGxvdyB1cGRhdGluZyBvZiBIRUFEIHJlZiIKIG1zZ3N0ciAicGVybWV0dHJlIGxhIG1pc2Ugw6Agam91ciBkZSBsYSByw6lmw6lyZW5jZSBIRUFEIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4IGJ1aWx0aW4vcHVsbC5jOjIwMgorIzogYnVpbHRpbi9mZXRjaC5jOjEyMSBidWlsdGluL2ZldGNoLmM6MTI3IGJ1aWx0aW4vcHVsbC5jOjIwMwogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCiBtc2dzdHIgImFwcHJvZm9uZGlyIGwnaGlzdG9yaXF1ZSBkJ3VuIGNsb25lIHN1cGVyZmljaWVsIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIwIGJ1aWx0aW4vcHVsbC5jOjIwNQorIzogYnVpbHRpbi9mZXRjaC5jOjEyMworbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgcmVwb3NpdG9yeSBiYXNlZCBvbiB0aW1lIgorbXNnc3RyICJhcHByb2ZvbmRpciBsJ2hpc3RvcmlxdWUgZCd1biBjbG9uZSBzdXBlcmZpY2llbCBlbiBmb25jdGlvbiBkJ3VuZSBkYXRlIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjIwNgogbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgogbXNnc3RyICJjb252ZXJ0aXIgZW4gdW4gZMOpcMO0dCBjb21wbGV0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIyIGJ1aWx0aW4vbG9nLmM6MTM5OQorIzogYnVpbHRpbi9mZXRjaC5jOjEzMSBidWlsdGluL2xvZy5jOjE0MzMKIG1zZ2lkICJkaXIiCiBtc2dzdHIgInLDqXBlcnRvaXJlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIzCisjOiBidWlsdGluL2ZldGNoLmM6MTMyCiBtc2dpZCAicHJlcGVuZCB0aGlzIHRvIHN1Ym1vZHVsZSBwYXRoIG91dHB1dCIKIG1zZ3N0ciAicHLDqWZpeGVyIGNlY2kgw6AgbGEgc29ydGllIGR1IGNoZW1pbiBkdSBzb3VzLW1vZHVsZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNgorIzogYnVpbHRpbi9mZXRjaC5jOjEzNQogbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgogbXNnc3RyICJtb2RlIHBhciBkw6lmYXV0IHBvdXIgbGEgcsOpY3Vyc2lvbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyOCBidWlsdGluL3B1bGwuYzoyMDgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9wdWxsLmM6MjA5CiBtc2dpZCAiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IgogbXNnc3RyICJhY2NlcHRlciBsZXMgcsOpZsOpcmVuY2VzIHF1aSBtZXR0ZW50IMOgIGpvdXIgLmdpdC9zaGFsbG93IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjIxMAorIzogYnVpbHRpbi9mZXRjaC5jOjEzOCBidWlsdGluL3B1bGwuYzoyMTEKIG1zZ2lkICJyZWZtYXAiCiBtc2dzdHIgImNvcnJlc3BvbmRhbmNlIGRlIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMwIGJ1aWx0aW4vcHVsbC5jOjIxMQorIzogYnVpbHRpbi9mZXRjaC5jOjEzOSBidWlsdGluL3B1bGwuYzoyMTIKIG1zZ2lkICJzcGVjaWZ5IGZldGNoIHJlZm1hcCIKIG1zZ3N0ciAic3DDqWNpZmllciB1bmUgY29ycmVzcG9uZGFuY2UgZGUgcsOpZsOpcmVuY2UgcG91ciBsYSByw6ljdXDDqXJhdGlvbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM4NgorIzogYnVpbHRpbi9mZXRjaC5jOjM5OAogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgcsOpZsOpcmVuY2UgSEVBRCBkaXN0YW50ZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ2NgorIzogYnVpbHRpbi9mZXRjaC5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250YWlucyBpbnZhbGlkIHZhbHVlICVzIgorbXNnc3RyICIiCisibGUgcGFyYW3DqHRyZSBkZSBjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250aWVudCB1bmUgdmFsZXVyIGludmFsaWRlICVzIgorCisjOiBidWlsdGluL2ZldGNoLmM6NjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgIm9iamV0ICVzIG5vbiB0cm91dsOpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDcxCisjOiBidWlsdGluL2ZldGNoLmM6NjExCiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICJbw6Agam91cl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0ODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiISAlLSpzICUtKnMgLT4gJXMgIChjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCkiCi1tc2dzdHIgIiEgJS0qcyAlLSpzIC0+ICVzICAoaW1wb3NzaWJsZSBkZSByw6ljdXDDqXJlciBsYSBicmFuY2hlIGFjdHVlbGxlKSIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjQ4NiBidWlsdGluL2ZldGNoLmM6NTc0CisjOiBidWlsdGluL2ZldGNoLmM6NjI0IGJ1aWx0aW4vZmV0Y2guYzo3MDQKIG1zZ2lkICJbcmVqZWN0ZWRdIgogbXNnc3RyICJbcmVqZXTDqV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0OTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjUKK21zZ2lkICJjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSByw6ljdXDDqXJlciBkYW5zIGxhIGJyYW5jaGUgYWN0dWVsbGUiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzQKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIlttaXNlIMOgIGpvdXIgZGUgbCfDqXRpcXVldHRlXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ5OSBidWlsdGluL2ZldGNoLmM6NTM0IGJ1aWx0aW4vZmV0Y2guYzo1NTIKLW1zZ2lkICIgICh1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZikiCi1tc2dzdHIgIiAgKGltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGEgcsOpZsOpcmVuY2UgbG9jYWxlKSIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjUxNwotbXNnaWQgIltuZXcgdGFnXSIKLW1zZ3N0ciAiW25vdXZlbGxlIMOpdGlxdWV0dGVdIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTIwCi1tc2dpZCAiW25ldyBicmFuY2hdIgotbXNnc3RyICJbbm91dmVsbGUgYnJhbmNoZV0iCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MjMKLW1zZ2lkICJbbmV3IHJlZl0iCi1tc2dzdHIgIltub3V2ZWxsZSByw6lmw6lyZW5jZV0iCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1NjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzUgYnVpbHRpbi9mZXRjaC5jOjY2OCBidWlsdGluL2ZldGNoLmM6Njg0CisjOiBidWlsdGluL2ZldGNoLmM6Njk5CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGEgcsOpZsOpcmVuY2UgbG9jYWxlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTY5CisjOiBidWlsdGluL2ZldGNoLmM6NjU0Cittc2dpZCAiW25ldyB0YWddIgorbXNnc3RyICJbbm91dmVsbGUgw6l0aXF1ZXR0ZV0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTcKK21zZ2lkICJbbmV3IGJyYW5jaF0iCittc2dzdHIgIltub3V2ZWxsZSBicmFuY2hlXSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjY2MAorbXNnaWQgIltuZXcgcmVmXSIKK21zZ3N0ciAiW25vdXZlbGxlIHLDqWbDqXJlbmNlXSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjY5OQogbXNnaWQgImZvcmNlZCB1cGRhdGUiCiBtc2dzdHIgIm1pc2Ugw6Agam91ciBmb3Jjw6llIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTc2Ci1tc2dpZCAiKG5vbi1mYXN0LWZvcndhcmQpIgotbXNnc3RyICIocGFzIGQnYXZhbmNlIHJhcGlkZSkiCisjOiBidWlsdGluL2ZldGNoLmM6NzA0Cittc2dpZCAibm9uLWZhc3QtZm9yd2FyZCIKK21zZ3N0ciAicGFzIGVuIGF2YW5jZSByYXBpZGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIlcyBuJ2EgcGFzIGVudm95w6kgdG91cyBsZXMgb2JqZXRzIG7DqWNlc3NhaXJlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjM3CisjOiBidWlsdGluL2ZldGNoLmM6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlamVjdCAlcyBiZWNhdXNlIHNoYWxsb3cgcm9vdHMgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQiCiBtc2dzdHIgIiIKICIlcyByZWpldMOpIHBhcmNlIHF1ZSBsZXMgcmFjaW5lcyBzdXBlcmZpY2llbGxlcyBuZSBzb250IHBhcyBtaXNlcyDDoCBqb3VyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzI0IGJ1aWx0aW4vZmV0Y2guYzo4MTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTYgYnVpbHRpbi9mZXRjaC5jOjk1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGcm9tICUuKnNcbiIKIG1zZ3N0ciAiRGVwdWlzICUuKnNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjczNQorIzogYnVpbHRpbi9mZXRjaC5jOjg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgpAQCAtNjU3NSw1NSArNzYwNSw1NSBAQAogImRlcyByw6lmw6lyZW5jZXMgbG9jYWxlcyBuJ29udCBwYXMgcHUgw6p0cmUgbWlzZXMgw6Agam91ciA7IGVzc2F5ZXogZGUgbGFuY2VyXG4iCiAiICdnaXQgcmVtb3RlIHBydW5lICVzJyBwb3VyIHN1cHByaW1lciBkZXMgYnJhbmNoZXMgYW5jaWVubmVzIGVuIGNvbmZsaXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3ODcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIHNlcmEgZW4gc3VzcGVucykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3ODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMgZXN0IGRldmVudSBlbiBzdXNwZW5zKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgyMAorIzogYnVpbHRpbi9mZXRjaC5jOjk1NQogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiW3N1cHByaW3DqV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjEgYnVpbHRpbi9yZW1vdGUuYzoxMDI1CisjOiBidWlsdGluL2ZldGNoLmM6OTU2IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMAogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAiKGF1Y3VuKGUpKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg0MQorIzogYnVpbHRpbi9mZXRjaC5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIlJlZnVzIGRlIHLDqWN1cMOpcmVyIGRhbnMgbGEgYnJhbmNoZSBjb3VyYW50ICVzIGQndW4gZMOpcMO0dCBub24gbnUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAiTGEgdmFsZXVyIFwiJTIkc1wiIGRlIGwnb3B0aW9uIFwiJTEkc1wiIGVzdCBpbnZhbGlkZSBwb3VyICUzJHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgaXMgaWdub3JlZCBmb3IgJXNcbiIKIG1zZ3N0ciAiTCdvcHRpb24gXCIlc1wiIGVzdCBpZ25vcsOpZSBwb3VyICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCiBtc2dzdHIgIkplIG5lIHNhaXMgcGFzIHLDqWN1cMOpcmVyIGRlcHVpcyAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwODAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzXG4iCiBtc2dzdHIgIlLDqWN1cMOpcmF0aW9uIGRlICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDgyIGJ1aWx0aW4vcmVtb3RlLmM6OTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM5IGJ1aWx0aW4vcmVtb3RlLmM6OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHLDqWN1cMOpcmVyICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEwMAorIzogYnVpbHRpbi9mZXRjaC5jOjEyNTcKIG1zZ2lkICIiCiAiTm8gcmVtb3RlIHJlcG9zaXRvcnkgc3BlY2lmaWVkLiAgUGxlYXNlLCBzcGVjaWZ5IGVpdGhlciBhIFVSTCBvciBhXG4iCiAicmVtb3RlIG5hbWUgZnJvbSB3aGljaCBuZXcgcmV2aXNpb25zIHNob3VsZCBiZSBmZXRjaGVkLiIKQEAgLTY2MzEsMzIgKzc2NjEsNDAgQEAKICJBdWN1biBkw6lww7R0IGRpc3RhbnQgc3DDqWNpZmnDqS4gVmV1aWxsZXogc3DDqWNpZmllciB1bmUgVVJMIG91IHVuIG5vbVxuIgogImRpc3RhbnQgZGVwdWlzIGxlc3F1ZWxzIGxlcyBub3V2ZWxsZXMgcsOpdmlzaW9ucyBkZXZyYWllbnQgw6p0cmUgcsOpY3Vww6lyw6llcy4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTIzCisjOiBidWlsdGluL2ZldGNoLmM6MTI4MAogbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCiBtc2dzdHIgIlZvdXMgZGV2ZXogc3DDqWNpZmllciB1biBub20gZCfDqXRpcXVldHRlLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIyCittc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiVW5lIHByb2ZvbmRldXIgbsOpZ2F0aXZlIGRhbnMgLS1kZWVwZW4gbidlc3QgcGFzIHN1cHBvcnTDqWUiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI0Cittc2dpZCAiLS1kZWVwZW4gYW5kIC0tZGVwdGggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1kZWVwZW4gZXQgLS1kZXB0aCBzb250IG11dHVlbGxlbWVudCBleGNsdXNpZnMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI5CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi0tZGVwdGggZXQgLS11bnNoYWxsb3cgbmUgcGV1dmVudCBwYXMgw6p0cmUgdXRpbGlzw6lzIGVuc2VtYmxlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE2NworIzogYnVpbHRpbi9mZXRjaC5jOjEzMzEKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS11bnNoYWxsb3cgc3VyIHVuIGTDqXDDtHQgY29tcGxldCBuJ2EgcGFzIGRlIHNlbnMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTg3CisjOiBidWlsdGluL2ZldGNoLmM6MTM1MwogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICJmZXRjaCAtLWFsbCBuJ2FjY2VwdGUgcGFzIGQnYXJndW1lbnQgZGUgZMOpcMO0dCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExODkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzU1CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICJmZXRjaCAtLWFsbCBuJ2EgcGFzIGRlIHNlbnMgYXZlYyBkZXMgc3DDqWNpZmljYXRpb25zIGRlIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIwMAorIzogYnVpbHRpbi9mZXRjaC5jOjEzNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKIG1zZ3N0ciAiZGlzdGFudCBvdSBncm91cGUgZGlzdGFudCBpbmV4aXN0YW50IDogJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjA4CisjOiBidWlsdGluL2ZldGNoLmM6MTM3NAogbXNnaWQgIkZldGNoaW5nIGEgZ3JvdXAgYW5kIHNwZWNpZnlpbmcgcmVmc3BlY3MgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogIkxhIHLDqWN1cMOpcmF0aW9uIGQndW4gZ3JvdXBlIGV0IGxlcyBzcMOpY2lmaWNhdGlvbnMgZGUgcsOpZsOpcmVuY2UgbidvbnQgcGFzIGRlICIKQEAgLTY2NjgsMjMgKzc3MDYsMjMgQEAKIG1zZ3N0ciAiIgogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVzc2FnZT5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlIDxmaWNoaWVyPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzCiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICJwZXVwbGVyIGxlIGpvdXJuYWwgYXZlYyBhdSBwbHVzIDxuPiDDqWzDqW1lbnRzIGRlcHVpcyBsZSBqb3VybmFsIGNvdXJ0IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NgogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgImFsaWFzIHBvdXIgLS1sb2cgKG9ic29sw6h0ZSkiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5CiBtc2dpZCAidGV4dCIKIG1zZ3N0ciAidGV4dGUiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcwCiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgogbXNnc3RyICJ1dGlsaXNlciA8dGV4dGU+IGNvbW1lIGTDqWJ1dCBkZSBtZXNzYWdlIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzUKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICJmaWNoaWVyIGQnb8O5IGxpcmUiCiAKQEAgLTY3NDQsNjQgKzc3ODIsNjQgQEAKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIHLDqWbDqXJlbmNlcyBxdWkgY29udGllbm5lbnQgbGUgY29tbWl0IgogCi0jOiBidWlsdGluL2ZzY2suYzoxNTYgYnVpbHRpbi9wcnVuZS5jOjE0MAotbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKLW1zZ3N0ciAiVsOpcmlmaWNhdGlvbiBkZSBsYSBjb25uZWN0aXZpdMOpIgotCi0jOiBidWlsdGluL2ZzY2suYzo0ODYKKyM6IGJ1aWx0aW4vZnNjay5jOjUxOQogbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiVsOpcmlmaWNhdGlvbiBkZXMgcsOpcGVydG9pcmVzIGQnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU1MgorIzogYnVpbHRpbi9mc2NrLmM6NTg4CiBtc2dpZCAiZ2l0IGZzY2sgWzxvcHRpb25zPl0gWzxvYmplY3Q+Li4uXSIKIG1zZ3N0ciAiZ2l0IGZzY2sgWzxvcHRpb25zPl0gWzxvYmpldD4uLi5dIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NTgKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NAogbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIG9iamV0cyBpbmFjY2Vzc2libGVzIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NTkKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NQogbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIG9iamV0cyBlbiBzdXNwZW5zIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjAKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NgogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgw6l0aXF1ZXR0ZXMiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MQorIzogYnVpbHRpbi9mc2NrLmM6NTk3CiBtc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCiBtc2dzdHIgInNpZ25hbGVyIGxlcyBuxZN1ZHMgcmFjaW5lcyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTYyCisjOiBidWlsdGluL2ZzY2suYzo1OTgKIG1zZ2lkICJtYWtlIGluZGV4IG9iamVjdHMgaGVhZCBub2RlcyIKIG1zZ3N0ciAiY29uc2lkw6lyZXIgbGVzIG9iamV0cyBkZSBsJ2luZGV4IGNvbW1lIG7Fk3VkcyB0w6p0ZSIKIAogIyB0cmFuc2xhdGVkIGZyb20gbWFuIHBhZ2UKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MworIzogYnVpbHRpbi9mc2NrLmM6NTk5CiBtc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgogbXNnc3RyICJjb25zaWTDqXJlciBsZXMgcmVmbG9ncyBjb21tZSBuxZN1ZHMgdMOqdGUgKHBhciBkw6lmYXV0KSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY0CisjOiBidWlsdGluL2ZzY2suYzo2MDAKIG1zZ2lkICJhbHNvIGNvbnNpZGVyIHBhY2tzIGFuZCBhbHRlcm5hdGUgb2JqZWN0cyIKIG1zZ3N0ciAiaW5zcGVjdGVyIGF1c3NpIGxlcyBvYmpldHMgcGFjayBldCBhbHRlcm5hdGlmcyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY1CisjOiBidWlsdGluL2ZzY2suYzo2MDEKIG1zZ2lkICJjaGVjayBvbmx5IGNvbm5lY3Rpdml0eSIKIG1zZ3N0ciAibmUgdsOpcmlmaWVyIHF1ZSBsYSBjb25uZWN0aXZpdMOpIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjYKKyM6IGJ1aWx0aW4vZnNjay5jOjYwMgogbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKIG1zZ3N0ciAiYWN0aXZlciB1bmUgdsOpcmlmaWNhdGlvbiBwbHVzIHN0cmljdCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY4CisjOiBidWlsdGluL2ZzY2suYzo2MDQKIG1zZ2lkICJ3cml0ZSBkYW5nbGluZyBvYmplY3RzIGluIC5naXQvbG9zdC1mb3VuZCIKIG1zZ3N0ciAiw6ljcmlyZSBsZXMgb2JqZXRzIGVuIHN1c3BlbnMgZGFucyAuZ2l0L2xvc3QtZm91bmQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2OSBidWlsdGluL3BydW5lLmM6MTA3CisjOiBidWlsdGluL2ZzY2suYzo2MDUgYnVpbHRpbi9wcnVuZS5jOjEwNwogbXNnaWQgInNob3cgcHJvZ3Jlc3MiCiBtc2dzdHIgImFmZmljaGVyIGxhIHByb2dyZXNzaW9uIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MzAKKyM6IGJ1aWx0aW4vZnNjay5jOjYwNgorbXNnaWQgInNob3cgdmVyYm9zZSBuYW1lcyBmb3IgcmVhY2hhYmxlIG9iamVjdHMiCittc2dzdHIgImFmZmljaGVyIGxlcyBub21zIMOpdGVuZHVzIHBvdXIgbGVzIG9iamV0cyBpbmFjY2Vzc2libGVzIgorCisjOiBidWlsdGluL2ZzY2suYzo2NjUKIG1zZ2lkICJDaGVja2luZyBvYmplY3RzIgogbXNnc3RyICJWw6lyaWZpY2F0aW9uIGRlcyBvYmpldHMiCiAKQEAgLTY4OTksMjMzICs3OTM3LDIyOCBAQAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkgZm9yICVzIgogbXNnc3RyICJub21icmUgZGUgZmlscyBzcMOpY2lmacOpIGludmFsaWRlICglZCkgcG91ciAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NDUyIGJ1aWx0aW4vZ3JlcC5jOjQ4NworIzogYnVpbHRpbi9ncmVwLmM6NDUzIGJ1aWx0aW4vZ3JlcC5jOjQ4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCB0cmVlICglcykiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsJ2FyYnJlICglcykiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjUwMgorIzogYnVpbHRpbi9ncmVwLmM6NTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgZmFpcmUgdW4gZ3JlcCBzdXIgdW4gb2JqZXQgZGUgdHlwZSAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTYwCisjOiBidWlsdGluL2dyZXAuYzo1NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAibCdvcHRpb24gJyVjJyBhdHRlbmQgdW4gdmFsZXVyIG51bcOpcmlxdWUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjU3NwotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgotbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICclcyciCi0KLSM6IGJ1aWx0aW4vZ3JlcC5jOjY0NgorIzogYnVpbHRpbi9ncmVwLmM6NjQ3CiBtc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAicmVjaGVyY2hlciBkYW5zIGwnaW5kZXggcGx1dMO0dCBxdWUgZGFucyBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NDgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY0OQogbXNnaWQgImZpbmQgaW4gY29udGVudHMgbm90IG1hbmFnZWQgYnkgZ2l0IgogbXNnc3RyICJyZWNoZXJjaGVyIGRhbnMgbGVzIGNvbnRlbnVzIG5vbiBnw6lyw6lzIHBhciBnaXQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1MAorIzogYnVpbHRpbi9ncmVwLmM6NjUxCiBtc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJyZWNoZXJjaGVyIGRhbnMgbGVzIGZpY2hpZXJzIHN1aXZpcyBldCBub24tc3VpdmlzIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1MwogbXNnaWQgImlnbm9yZSBmaWxlcyBzcGVjaWZpZWQgdmlhICcuZ2l0aWdub3JlJyIKIG1zZ3N0ciAiaWdub3JlciBsZXMgZmljaGllcnMgc3DDqWNpZmnDqXMgdmlhICcuZ2l0aWdub3JlJyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU1CisjOiBidWlsdGluL2dyZXAuYzo2NTYKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGxpZ25lcyBxdWkgbmUgY29ycmVzcG9uZGVudCBwYXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1NworIzogYnVpbHRpbi9ncmVwLmM6NjU4CiBtc2dpZCAiY2FzZSBpbnNlbnNpdGl2ZSBtYXRjaGluZyIKIG1zZ3N0ciAiY29ycmVzcG9uZGFuY2UgaW5zZW5zaWJsZSDDoCBsYSBjYXNzZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU5CisjOiBidWlsdGluL2dyZXAuYzo2NjAKIG1zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKIG1zZ3N0ciAicmVjaGVyY2hlciBsZXMgbW90aWZzIGF1eCBzw6lwYXJhdGV1cnMgZGUgbW90cyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjYxCisjOiBidWlsdGluL2dyZXAuYzo2NjIKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgogbXNnc3RyICJ0cmFpdGVyIGxlcyBmaWNoaWVycyBiaW5haXJlcyBjb21tZSB0ZXh0ZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjYzCisjOiBidWlsdGluL2dyZXAuYzo2NjQKIG1zZ2lkICJkb24ndCBtYXRjaCBwYXR0ZXJucyBpbiBiaW5hcnkgZmlsZXMiCiBtc2dzdHIgIm5lIHBhcyBjaGVyY2hlciBsZXMgbW90aWZzIGRhbnMgbGVzIGZpY2hpZXJzIGJpbmFpcmVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NwogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKIG1zZ3N0ciAidHJhaXRlciBsZXMgZmljaGllcnMgYmluYWlyZXMgYXZlYyBsZXMgZmlsdHJlcyB0ZXh0Y29udiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY4CisjOiBidWlsdGluL2dyZXAuYzo2NjkKIG1zZ2lkICJkZXNjZW5kIGF0IG1vc3QgPGRlcHRoPiBsZXZlbHMiCiBtc2dzdHIgImRlc2NlbmRyZSBhdSBwbHVzIGRlIDxwcm9mb25kZXVyPiBkYW5zIGwnYXJib3Jlc2NlbmNlIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3MwogbXNnaWQgInVzZSBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJ1dGlsaXNlciBkZXMgZXhwcmVzc2lvbnMgcsOpZ3VsacOocmVzIMOpdGVuZHVlcyBQT1NJWCIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc1CisjOiBidWlsdGluL2dyZXAuYzo2NzYKIG1zZ2lkICJ1c2UgYmFzaWMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyAoZGVmYXVsdCkiCiBtc2dzdHIgInV0aWxpc2VyIGRlcyBleHByZXNzaW9ucyByw6lndWxpw6hyZXMgYmFzaXF1ZXMgUE9TSVggKHBhciBkw6lmYXV0KSIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc4CisjOiBidWlsdGluL2dyZXAuYzo2NzkKIG1zZ2lkICJpbnRlcnByZXQgcGF0dGVybnMgYXMgZml4ZWQgc3RyaW5ncyIKIG1zZ3N0ciAiaW50ZXJwcsOpdGVyIGxlcyBtb3RpZnMgY29tbWUgZGUgY2hhw65uZXMgZml4ZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4MQorIzogYnVpbHRpbi9ncmVwLmM6NjgyCiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJ1dGlsaXNlciBkZXMgZXhwcmVzc2lvbnMgcsOpZ3VsacOocmVzIGNvbXBhdGlibGVzIGF2ZWMgUGVybCIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg0CisjOiBidWlsdGluL2dyZXAuYzo2ODUKIG1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIG51bcOpcm9zIGRlIGxpZ25lIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NgogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJuZSBwYXMgcGFzIGFmZmljaGVyIGxlcyBub21zIGRlIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NgorIzogYnVpbHRpbi9ncmVwLmM6Njg3CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBub21zIGRlIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4OAorIzogYnVpbHRpbi9ncmVwLmM6Njg5CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIG5vbXMgZGUgZmljaGllcnMgcmVsYXRpdmVtZW50IGF1IHLDqXBlcnRvaXJlIGRlIGJhc2UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5MAorIzogYnVpbHRpbi9ncmVwLmM6NjkxCiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJuJ2FmZmljaGVyIHF1ZSBsZXMgbm9tcyBkZSBmaWNoaWVycyBhdSBsaWV1IGRlcyBsaWduZXMgY29ycmVzcG9uZGFudCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkyCisjOiBidWlsdGluL2dyZXAuYzo2OTMKIG1zZ2lkICJzeW5vbnltIGZvciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIG1zZ3N0ciAic3lub255bWUgcG91ciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk1CisjOiBidWlsdGluL2dyZXAuYzo2OTYKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgIm4nYWZmaWNoZXIgcXVlIGxlcyBub21zIGRlcyBmaWNoaWVycyBzYW5zIGNvcnJlc3BvbmRhbmNlIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCiBtc2dzdHIgImltcHJpbWVyIHVuZSBjYXJhY3TDqHJlIE5VTCBhcHLDqHMgbGUgbm9tcyBkZSBmaWNoaWVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMAogbXNnaWQgInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlIG5vbWJyZSBkZSBjb3JyZXNwb25kYW5jZXMgYXUgbGlldSBkZXMgbGlnbmVzIGNvcnJlc3BvbmRhbnQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwMAorIzogYnVpbHRpbi9ncmVwLmM6NzAxCiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgIm1ldHRyZSBlbiDDqXZpZGVuY2UgbGVzIGNvcnJlc3BvbmRhbmNlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAyCisjOiBidWlsdGluL2dyZXAuYzo3MDMKIG1zZ2lkICJwcmludCBlbXB0eSBsaW5lIGJldHdlZW4gbWF0Y2hlcyBmcm9tIGRpZmZlcmVudCBmaWxlcyIKIG1zZ3N0ciAiIgogImltcHJpbWVyIHVuZSBsaWduZSB2aWRlIGVudHJlIGxlcyBjb3JyZXNwb25kYW5jZXMgZGUgZmljaGllcnMgZGlmZsOpcmVudHMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNAorIzogYnVpbHRpbi9ncmVwLmM6NzA1CiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAiIgogImFmZmljaGVyIGxlIG5vbSBkZSBmaWNoaWVyIHVuZSBmb2lzIGF1IGRlc3N1cyBkZXMgY29ycmVzcG9uZGFuY2VzIGR1IG3Dqm1lICIKICJmaWNoaWVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwOAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJhZmZpY2hlciA8bj4gbGlnbmVzIGRlIGNvbnRleHRlIGF2YW50IGV0IGFwcsOocyBsZXMgY29ycmVzcG9uZGFuY2VzIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxMQogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgImFmZmljaGVyIDxuPiBsaWduZXMgZGUgY29udGV4dGUgYXZhbnQgbGVzIGNvcnJlc3BvbmRhbmNlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEyCisjOiBidWlsdGluL2dyZXAuYzo3MTMKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgImFmZmljaGVyIDxuPiBsaWduZXMgZGUgY29udGV4dGUgYXByw6hzIGxlcyBjb3JyZXNwb25kYW5jZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxNAorIzogYnVpbHRpbi9ncmVwLmM6NzE1CiBtc2dpZCAidXNlIDxuPiB3b3JrZXIgdGhyZWFkcyIKIG1zZ3N0ciAidXRpbGlzZXIgPG4+IGZpbHMgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE1CisjOiBidWlsdGluL2dyZXAuYzo3MTYKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgogbXNnc3RyICJyYWNjb3VyY2kgcG91ciAtQyBOVU0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9ncmVwLmM6NzE5CiBtc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogImFmZmljaGVyIHVuZSBsaWduZSBhdmVjIGxlIG5vbSBkZSBsYSBmb25jdGlvbiBhdmFudCBsZXMgY29ycmVzcG9uZGFuY2VzIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcyMQogbXNnaWQgInNob3cgdGhlIHN1cnJvdW5kaW5nIGZ1bmN0aW9uIgogbXNnc3RyICJhZmZpY2hlciBsYSBmb25jdGlvbiBjb250ZW5hbnRlIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MjMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcyNAogbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBmaWxlIgogbXNnc3RyICJsaXJlIGxlcyBtb3RpZnMgZGVwdWlzIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyNQorIzogYnVpbHRpbi9ncmVwLmM6NzI2CiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICJyZWNoZXJjaGVyIDxtb3RpZj4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyNworIzogYnVpbHRpbi9ncmVwLmM6NzI4CiBtc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKIG1zZ3N0ciAiY29tYmluZXIgbGVzIG1vdGlmcyBzcMOpY2lmacOpcyBwYXIgLWUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczOQorIzogYnVpbHRpbi9ncmVwLmM6NzQwCiBtc2dpZCAiaW5kaWNhdGUgaGl0IHdpdGggZXhpdCBzdGF0dXMgd2l0aG91dCBvdXRwdXQiCiBtc2dzdHIgIiIKICJpbmRpcXVlciBkZXMgY29ycmVzcG9uZGFuY2VzIGF2ZWMgbGUgY29kZSBkZSBzb3J0aWUgbWFpcyBzYW5zIHJpZW4gYWZmaWNoZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQorIzogYnVpbHRpbi9ncmVwLmM6NzQyCiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKIG1zZ3N0ciAiIgogIm4nYWZmaWNoZXIgcXVlIGxlcyBjb3JyZXNwb25kYW5jZXMgZGUgZmljaGllcnMgcXVpIGNvcnJlc3BvbmRlbnQgw6AgdG91cyBsZXMgIgogIm1vdGlmcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQzCisjOiBidWlsdGluL2dyZXAuYzo3NDQKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiYWZmaWNoZXIgbCdhcmJyZSBkJ2FuYWx5c2UgcG91ciBsZSBtb3RpZiBncmVwIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0OAogbXNnaWQgInBhZ2VyIgogbXNnc3RyICJwYWdpbmV1ciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQ3CisjOiBidWlsdGluL2dyZXAuYzo3NDgKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIGNvcnJlc3BvbmRhbnQgZGFucyBsZSBwYWdpbmV1ciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzUwCisjOiBidWlsdGluL2dyZXAuYzo3NTEKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgInBlcm1ldHRyZSBsJ2FwcGVsIGRlIGdyZXAoMSkgKGlnbm9yw6kgcGFyIGNlIGJ1aWxkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODEzCisjOiBidWlsdGluL2dyZXAuYzo4MTQKIG1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuLiIKIG1zZ3N0ciAiYXVjdW4gbW90aWYgZm91cm5pLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0NiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgIm5vbWJyZSBkZSBmaWxzIHNww6ljaWZpw6kgaW52YWxpZGUgKCVkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc1CisjOiBidWlsdGluL2dyZXAuYzo4NzYKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBuZSBmb25jdGlvbm5lIHF1ZSBzdXIgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTAxCisjOiBidWlsdGluL2dyZXAuYzo5MDIKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXguIgogbXNnc3RyICItLWNhY2hlZCBvdSAtLXVudHJhY2tlZCBuZSBwZXV2ZW50IHBhcyDDqnRyZSB1dGlsaXPDqXMgYXZlYyAtLW5vLWluZGV4LiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA2CisjOiBidWlsdGluL2dyZXAuYzo5MDcKIG1zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cy4iCiBtc2dzdHIgIiIKICItLW5vLWluZGV4IG91IC0tdW50cmFja2VkIG5lIHBldXZlbnQgcGFzIMOqdHJlIHV0aWxpc8OpcyBhdmVjIGRlcyByw6l2aXNpb25zLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA5CisjOiBidWlsdGluL2dyZXAuYzo5MTAKIG1zZ2lkICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBjYW5ub3QgYmUgdXNlZCBmb3IgdHJhY2tlZCBjb250ZW50cy4iCiBtc2dzdHIgIiIKICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjIGR1IGNvbnRlbnUgc3VpdmkuIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxOAogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgIi0tY2FjaGVkIGV0IGRlcyBhcmJyZXMgc29udCBmb3VybmlzIGVuIG3Dqm1lIHRlbXBzLiIKIApAQCAtNzE0MSw4NSArODE3NCw4OSBAQAogbXNnaWQgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIG1zZ3N0ciAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTMKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NAogbXNnaWQgInR5cGUiCiBtc2dzdHIgInR5cGUiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5MworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CiBtc2dpZCAib2JqZWN0IHR5cGUiCiBtc2dzdHIgInR5cGUgZCdvYmpldCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAiw6ljcmlyZSBsJ29iamV0IGRhbnMgbGEgYmFzZSBkZSBkb25uw6llIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTYKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NwogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgogbXNnc3RyICJsaXJlIGwnb2JqZXQgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTkKIG1zZ2lkICJzdG9yZSBmaWxlIGFzIGlzIHdpdGhvdXQgZmlsdGVycyIKIG1zZ3N0ciAic3RvY2tlciBsZSBmaWNoaWVyIHRlbCBxdWVsIHNhbnMgZmlsdHJhZ2UiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAogbXNnaWQgIiIKICJqdXN0IGhhc2ggYW55IHJhbmRvbSBnYXJiYWdlIHRvIGNyZWF0ZSBjb3JydXB0IG9iamVjdHMgZm9yIGRlYnVnZ2luZyBHaXQiCiBtc2dzdHIgIiIKICJqdXN0ZSBoYXNoZXIgbidpbXBvcnRlIHF1ZWwgY29udGVudSBwb3VyIGNyw6llciBkZXMgb2JqZXRzIGNvcnJvbXB1cyBwb3VyICIKICJkZWJ1Z2dlciBHaXQiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKIG1zZ2lkICJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIKIG1zZ3N0ciAidHJhaXRlciBsZSBmaWNoaWVyIGNvbW1lIHMnaWwgdmVuYWl0IGRlIGNlIGNoZW1pbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDEKKyM6IGJ1aWx0aW4vaGVscC5jOjQyCiBtc2dpZCAicHJpbnQgYWxsIGF2YWlsYWJsZSBjb21tYW5kcyIKIG1zZ3N0ciAiYWZmaWNoZXIgdG91dGVzIGxlcyBjb21tYW5kZXMgZGlzcG9uaWJsZXMiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyCisjOiBidWlsdGluL2hlbHAuYzo0MworbXNnaWQgImV4Y2x1ZGUgZ3VpZGVzIgorbXNnc3RyICJleGNsdXJlIGxlcyBndWlkZXMiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0CiBtc2dpZCAicHJpbnQgbGlzdCBvZiB1c2VmdWwgZ3VpZGVzIgogbXNnc3RyICJhZmZpY2hlciB1bmUgbGlzdGUgZGUgZ3VpZGVzIHV0aWxlcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDMKKyM6IGJ1aWx0aW4vaGVscC5jOjQ1CiBtc2dpZCAic2hvdyBtYW4gcGFnZSIKIG1zZ3N0ciAiYWZmaWNoZXIgbGEgcGFnZSBkZSBtYW51ZWwiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ0CisjOiBidWlsdGluL2hlbHAuYzo0NgogbXNnaWQgInNob3cgbWFudWFsIGluIHdlYiBicm93c2VyIgogbXNnc3RyICJhZmZpY2hlciBsZSBtYW51ZWwgZGFucyB1biBuYXZpZ2F0ZXVyIHdlYiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDYKKyM6IGJ1aWx0aW4vaGVscC5jOjQ4CiBtc2dpZCAic2hvdyBpbmZvIHBhZ2UiCiBtc2dzdHIgImFmZmljaGVyIGxhIHBhZ2UgaW5mbyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NTIKKyM6IGJ1aWx0aW4vaGVscC5jOjU0CiBtc2dpZCAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmQ+XSIKIG1zZ3N0ciAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmRlPl0iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjY0CisjOiBidWlsdGluL2hlbHAuYzo2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVscCBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAiZm9ybWF0IGQnYWlkZSBub24gcmVjb25udSAnJXMnIgogCi0jOiBidWlsdGluL2hlbHAuYzo5MQorIzogYnVpbHRpbi9oZWxwLmM6OTMKIG1zZ2lkICJGYWlsZWQgdG8gc3RhcnQgZW1hY3NjbGllbnQuIgogbXNnc3RyICLDqWNoZWMgZGUgZMOpbWFycmFnZSBkJ2VtYWNzY2xpZW50LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTA0CisjOiBidWlsdGluL2hlbHAuYzoxMDYKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW1hY3NjbGllbnQgdmVyc2lvbi4iCiBtc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbGEgdmVyc2lvbiBkJ2VtYWNzY2xpZW50LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTEyCisjOiBidWlsdGluL2hlbHAuYzoxMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1hY3NjbGllbnQgdmVyc2lvbiAnJWQnIHRvbyBvbGQgKDwgMjIpLiIKIG1zZ3N0ciAibGEgdmVyc2lvbiBkJ2VtYWNzY2xpZW50ICclZCcgZXN0IHRyb3AgYW5jaWVubmUgKDwyMikuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzAgYnVpbHRpbi9oZWxwLmM6MTUxIGJ1aWx0aW4vaGVscC5jOjE2MCBidWlsdGluL2hlbHAuYzoxNjgKKyM6IGJ1aWx0aW4vaGVscC5jOjEzMiBidWlsdGluL2hlbHAuYzoxNTMgYnVpbHRpbi9oZWxwLmM6MTYyIGJ1aWx0aW4vaGVscC5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgogbXNnc3RyICLDqWNoZWMgZGUgbCdleMOpY3V0aW9uIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIwNQorIzogYnVpbHRpbi9oZWxwLmM6MjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBwYXRoIGZvciB1bnN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtNzIyOCw3ICs4MjY1LDcgQEAKICInJXMnIDogY2hlbWluIHBvdXIgbCd1dGlsaXRhaXJlIGRlIHZpc3VhbGlzYXRpb24gZGUgbWFudWVsIG5vbiBzdXBwb3J0w6kuXG4iCiAiVmV1aWxsZXogdXRpbGlzZXIgcGx1dMO0dCAnbWFuLjxvdXRpbD4uY21kJy4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIxNworIzogYnVpbHRpbi9oZWxwLmM6MjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtNzIzNyw0MzMgKzgyNzQsNDMzIEBACiAiJyVzJyA6IGNoZW1pbiBwb3VyIGwndXRpbGl0YWlyZSBkZSB2aXN1YWxpc2F0aW9uIGRlIG1hbnVlbCBzdXBwb3J0w6kuXG4iCiAiVmV1aWxsZXogdXRpbGlzZXIgcGx1dMO0dCAnbWFuLjxvdXRpbD4uY21kJy4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjMzNAorIzogYnVpbHRpbi9oZWxwLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVua25vd24gbWFuIHZpZXdlci4iCiBtc2dzdHIgIiclcycgOiB2aXN1YWxpc2V1ciBkZSBtYW51ZWwgaW5jb25udS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM1MQorIzogYnVpbHRpbi9oZWxwLmM6MzUzCiBtc2dpZCAibm8gbWFuIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICJhdWN1biB2aXN1YWxpc2V1ciBkZSBtYW51ZWwgbidhIHByaXMgZW4gY2hhcmdlIGxhIGRlbWFuZGUiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM1OQorIzogYnVpbHRpbi9oZWxwLmM6MzYxCiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAiYXVjdW4gdmlzdWFsaXNldXIgZGUgJ2luZm8nIG4nYSBwcmlzIGVuIGNoYXJnZSBsYSBkZW1hbmRlIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDgKKyM6IGJ1aWx0aW4vaGVscC5jOjQwMwogbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCiBtc2dzdHIgIkTDqWZpbml0aW9uIGRlcyBhdHRyaWJ1dHMgcGFyIGNoZW1pbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA5CisjOiBidWlsdGluL2hlbHAuYzo0MDQKIG1zZ2lkICJFdmVyeWRheSBHaXQgV2l0aCAyMCBDb21tYW5kcyBPciBTbyIKIG1zZ3N0ciAiR2l0IGRlIHRvdXMgbGVzIGpvdXJzIGF2ZWMgw6AgcGV1IHByw6hzIDIwIGNvbW1hbmRlcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDEwCisjOiBidWlsdGluL2hlbHAuYzo0MDUKIG1zZ2lkICJBIEdpdCBnbG9zc2FyeSIKIG1zZ3N0ciAiVW4gZ2xvc3NhaXJlIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDExCisjOiBidWlsdGluL2hlbHAuYzo0MDYKIG1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgogbXNnc3RyICJTcMOpY2lmaWUgbGVzIGZpY2hpZXJzIG5vbi1zdWl2aXMgw6AgaWdub3JlciBpbnRlbnRpb25uZWxsZW1lbnQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMgorIzogYnVpbHRpbi9oZWxwLmM6NDA3CiBtc2dpZCAiRGVmaW5pbmcgc3VibW9kdWxlIHByb3BlcnRpZXMiCiBtc2dzdHIgIkTDqWZpbml0aW9uIGRlcyBwcm9wcmnDqXTDqXMgZGUgc291cy1tb2R1bGUiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMworIzogYnVpbHRpbi9oZWxwLmM6NDA4CiBtc2dpZCAiU3BlY2lmeWluZyByZXZpc2lvbnMgYW5kIHJhbmdlcyBmb3IgR2l0IgogbXNnc3RyICJTcMOpY2lmaWNhdGlvbiBkZXMgcsOpdmlzaW9ucyBldCBwb3J0w6llcyBwb3VyIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDE0CisjOiBidWlsdGluL2hlbHAuYzo0MDkKIG1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQgKGZvciB2ZXJzaW9uIDEuNS4xIG9yIG5ld2VyKSIKIG1zZ3N0ciAiIgogIlVuZSBpbnRyb2R1Y3Rpb24gcHJhdGlxdWUgw6AgR2l0IChwb3VyIGxlcyB2ZXJzaW9ucyAxLjUuMSBldCBzdXDDqXJpZXVyZXMpIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTUKKyM6IGJ1aWx0aW4vaGVscC5jOjQxMAogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKIG1zZ3N0ciAiVW4gYXBlcsOndSBkZXMgZmx1eCBkZSB0cmF2YWlsIHJlY29tbWFuZMOpcyBhdmVjIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDI3CisjOiBidWlsdGluL2hlbHAuYzo0MjIKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOlxuIgogbXNnc3RyICJMZXMgZ3VpZGVzIEdpdCBwb3B1bGFpcmVzIHNvbnQgOiBcbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQ4IGJ1aWx0aW4vaGVscC5jOjQ2NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1c2FnZTogJXMlcyIKLW1zZ3N0ciAidXNhZ2UgOiAlcyVzIgotCi0jOiBidWlsdGluL2hlbHAuYzo0ODEKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCiBtc2dzdHIgImBnaXQgJXNcIiBlc3QgdW4gYWxpYXMgZGUgYCVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUyCisjOiBidWlsdGluL2hlbHAuYzo0NjIgYnVpbHRpbi9oZWxwLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVzYWdlOiAlcyVzIgorbXNnc3RyICJ1c2FnZSA6ICVzJXMiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjAyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IHR5cGUgbWlzbWF0Y2ggYXQgJXMiCiBtc2dzdHIgInR5cGUgZCdvYmpldCBub24gY29ycmVzcG9uZGFudCDDoCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGlkIG5vdCByZWNlaXZlIGV4cGVjdGVkIG9iamVjdCAlcyIKIG1zZ3N0ciAib2JqZXQgYXR0ZW5kdSBub24gcmXDp3UgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlczogZXhwZWN0ZWQgdHlwZSAlcywgZm91bmQgJXMiCiBtc2dzdHIgIm9iamV0ICVzIDogdHlwZSBhdHRlbmR1ICVzLCByZcOndSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjY3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCiBtc2dzdHJbMF0gImltcG9zc2libGUgZGUgcmVtcGxpciAlZCBvY3RldCIKIG1zZ3N0clsxXSAiaW1wb3NzaWJsZSBkZSByZW1wbGlyICVkIG9jdGV0cyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzkKIG1zZ2lkICJlYXJseSBFT0YiCiBtc2dzdHIgImZpbiBkZSBmaWNoaWVyIHByw6ltYXR1csOpZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODAKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgogbXNnc3RyICJlcnJldXIgZGUgbGVjdHVyZSBzdXIgbCdlbnRyw6llIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MgogbXNnaWQgInVzZWQgbW9yZSBieXRlcyB0aGFuIHdlcmUgYXZhaWxhYmxlIgogbXNnc3RyICJwbHVzIGQnb2N0ZXRzIHV0aWxpc8OpcyBxdWUgZGlzcG9uaWJsZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjk5CiBtc2dpZCAicGFjayB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiBvZmZfdCIKIG1zZ3N0ciAibGUgcGFxdWV0IGVzdCB0cm9wIGdyYW5kIHBvdXIgbGEgZMOpZmluaXRpb24gYWN0dWVsbGUgZGUgb2ZmX3QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAyIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5MgorbXNnaWQgInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIKK21zZ3N0ciAibGUgcGFxdWV0IGTDqXBhc3NlIGxhIHRhaWxsZSBtYXhpbWFsZSBwZXJtaXNlIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrZmlsZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgcGFxdWV0ICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM2CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgImxhIHNpZ25hdHVyZSBkdSBwYXF1ZXQgbmUgY29ycmVzcG9uZCBwYXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgdmVyc2lvbiAlPFBSSXUzMj4gdW5zdXBwb3J0ZWQiCiBtc2dzdHIgImxhIHZlcnNpb24gZGUgcGFxdWV0ICU8UFJJdTMyPiBub24gc3VwcG9ydMOpZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzUyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNTYKICMsIGMtZm9ybWF0Ci1tc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJWx1OiAlcyIKLW1zZ3N0ciAibGUgcGFxdWV0IGEgdW4gbWF1dmFpcyBvYmpldCDDoCBsJ29mZnNldCAlbHU6ICVzIgorbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICU8UFJJdU1BWD46ICVzIgorbXNnc3RyICJsZSBwYXF1ZXQgYSB1biBtYXV2YWlzIG9iamV0IMOgIGwnb2Zmc2V0ICU8UFJJdU1BWD7CoDogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluZmxhdGUgcmV0dXJuZWQgJWQiCiBtc2dzdHIgImxhIGTDqWNvbXByZXNzaW9uIChpbmZsYXRlKSBhIHJldG91cm7DqSAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjcKIG1zZ2lkICJvZmZzZXQgdmFsdWUgb3ZlcmZsb3cgZm9yIGRlbHRhIGJhc2Ugb2JqZWN0IgogbXNnc3RyICJkw6lwYXNzZW1lbnQgZGUgbGEgdmFsZXVyIGQnb2Zmc2V0IHBvdXIgbCdvYmpldCBkZWx0YSBkZSBiYXNlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzNQogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKIG1zZ3N0ciAibCdvYmpldCBkZWx0YSBkZSBiYXNlIGVzdCBob3JzIGxpbWl0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTM4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvYmplY3QgdHlwZSAlZCIKIG1zZ3N0ciAidHlwZSBkJ29iamV0IGluY29ubnUgJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc0CiBtc2dpZCAiY2Fubm90IHByZWFkIHBhY2sgZmlsZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIChwcmVhZCkgbGUgZmljaGllciBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc2CiAjLCBjLWZvcm1hdAotbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlbHUgYnl0ZSBtaXNzaW5nIgotbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJWx1IGJ5dGVzIG1pc3NpbmciCi1tc2dzdHJbMF0gImZpbiBwcsOpbWF0dXLDqWUgZHUgZmljaGllciBwYXF1ZXQsICVsdSBvY3RldCBsdSIKLW1zZ3N0clsxXSAiZmluIHByw6ltYXR1csOpZSBkdSBmaWNoaWVyIHBhcXVldCwgJWx1IG9jdGV0cyBsdXMiCittc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgorbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgorbXNnc3RyWzBdICJmaW4gcHLDqW1hdHVyw6llIGR1IGZpY2hpZXIgcGFxdWV0LCAlPFBSSXVNQVg+IG9jdGV0IGx1IgorbXNnc3RyWzFdICJmaW4gcHLDqW1hdHVyw6llIGR1IGZpY2hpZXIgcGFxdWV0LCAlPFBSSXVNQVg+IG9jdGV0cyBsdXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU5NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjAyCiBtc2dpZCAic2VyaW91cyBpbmZsYXRlIGluY29uc2lzdGVuY3kiCiBtc2dzdHIgImdyYXZlIGluY29ow6lyZW5jZSBkYW5zIGxhIGTDqWNvbXByZXNzaW9uIChpbmZsYXRlKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0OSBidWlsdGluL2luZGV4LXBhY2suYzo3NzIKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwNiBidWlsdGluL2luZGV4LXBhY2suYzo4MTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0OCBidWlsdGluL2luZGV4LXBhY2suYzo3NTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6Nzc3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTEgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKIG1zZ3N0ciAiQ09MTElTSU9OIFNIQTEgVFJPVVbDiUUgQVZFQyAlcyAhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjIKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGwnb2JqZXQgZXhpc3RhbnQgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCiBtc2dzdHIgIm9iamV0IGJsb2IgaW52YWxpZGUgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgJXMiCiBtc2dzdHIgIiVzIGludmFsaWRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0OAogbXNnaWQgIkVycm9yIGluIG9iamVjdCIKIG1zZ3N0ciAiRXJyZXVyIGRhbnMgbCdvYmpldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCiBtc2dzdHIgIlRvdXMgbGVzIG9iamV0cyBlbmZhbnRzIGRlICVzIG5lIHNvbnQgcGFzIGFjY2Vzc2libGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo5MTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6OTQ4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo5MjIgYnVpbHRpbi9pbmRleC1wYWNrLmM6OTUzCiBtc2dpZCAiZmFpbGVkIHRvIGFwcGx5IGRlbHRhIgogbXNnc3RyICLDqWNoZWMgZCdhcHBsaWNhdGlvbiBkdSBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyMwogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgogbXNnc3RyICJSw6ljZXB0aW9uIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTIzCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiSW5kZXhhdGlvbiBkJ29iamV0cyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NQogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAibGUgcGFxdWV0IGVzdCBjb3Jyb21wdSAoU0hBMSBuZSBjb3JyZXNwb25kIHBhcykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjAKIG1zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxlIHN0YXR1dCAoZnN0YXQpIGR1IGZpY2hpZXIgcGFxdWV0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYzCiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgogbXNnc3RyICJsZSBwYXF1ZXQgZXN0IGludmFsaWRlIMOgIGxhIGZpbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3NAogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkgaW4gcGFyc2VfcGFja19vYmplY3RzKCkiCiBtc2dzdHIgImNvbmZ1c2lvbiBleHRyw6ptZSBkYW5zIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk3CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAiUsOpc29sdXRpb24gZGVzIGRlbHRhcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIwNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIGZpbCA6ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUwCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAiY29uZnVzaW9uIGV4dHLDqm1lIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKIG1zZ3N0clswXSAiY29tcGzDqXTDqSBhdmVjICVkIG9iamV0IGxvY2FsIgogbXNnc3RyWzFdICJjb21wbMOpdMOpIGF2ZWMgJWQgb2JqZXRzIGxvY2F1eCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHRhaWwgY2hlY2tzdW0gZm9yICVzIChkaXNrIGNvcnJ1cHRpb24/KSIKIG1zZ3N0ciAiIgogIlNvbW1lIGRlIGNvbnRyw7RsZSBkZSBmaW4gaW5hdHRlbmR1ZSBwb3VyICVzIChjb3JydXB0aW9uIHN1ciBsZSBkaXNxdWUgPykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKIG1zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCiBtc2dzdHJbMF0gImxlIHBhcXVldCBhICVkIGRlbHRhIG5vbiByw6lzb2x1IgogbXNnc3RyWzFdICJsZSBwYXF1ZXQgYSAlZCBkZWx0YXMgbm9uIHLDqXNvbHVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjkzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIGFwcGVuZGVkIG9iamVjdCAoJWQpIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNvbXByZXNzZXIgbCdvYmpldCBham91dMOpICglZCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9jYWwgb2JqZWN0ICVzIGlzIGNvcnJ1cHQiCiBtc2dzdHIgImwnb2JqZXQgbG9jYWwgJXMgZXN0IGNvcnJvbXB1IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzkzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzk2CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgImVycmV1ciBlbiBmZXJtZXR1cmUgZHUgZmljaGllciBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBmaWNoaWVyIFwia2VlcFwiICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNsb3NlIHdyaXR0ZW4ga2VlcCBmaWxlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgZmVybWVyIGxlIGZpY2hpZXIgXCJrZWVwXCIgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzMAogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZGUgc3RvY2tlciBsZSBmaWNoaWVyIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0MQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHN0b2NrZXIgbGUgZmljaGllciBkJ2luZGV4IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDcxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiBtc2dzdHIgIm1hdXZhaXMgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgxIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgogbXNnc3RyICJwYXMgZGUgc3VwcG9ydCBkZXMgZmlscywgaWdub3JlICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgZmlsZSAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgcGFxdWV0IGV4aXN0YW50ICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIHBhcXVldCBkJ2luZGV4IGV4aXN0YW50IHBvdXIgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU4OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICJwYXMgdW4gZGVsdGEgOiAlZCBvYmpldCIKIG1zZ3N0clsxXSAicGFzIHVuIGRlbHRhIDogJWQgb2JqZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCiBtc2dzdHJbMF0gImxvbmd1ZXVyIGNoYcOubsOpZSA9ICVkIDogJWx1IG9iamV0IgogbXNnc3RyWzFdICJsb25ndWV1ciBjaGHDrm7DqWUgPSAlZCA6ICVsdSBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2ZpbGUgbmFtZSAnJXMnIGRvZXMgbm90IGVuZCB3aXRoICcucGFjayciCiBtc2dzdHIgImxlIG5vbSBkZSBmaWNoaWVyIHBhcXVldCAnJXMnIG5lIHNlIHRlcm1pbmUgcGFzIHBhciAnLnBhY2snIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjM4Ci1tc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCi1tc2dzdHIgIkltcG9zc2libGUgZGUgcmV2ZW5pciBhdSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsIGNvdXJhbnQiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTAgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5MwotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwNSBidWlsdGluL2luZGV4LXBhY2suYzoxNzA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjkzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgIm1hdXZhaXMgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MzIKIG1zZ2lkICItLWZpeC10aGluIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgLS1zdGRpbiIKIG1zZ3N0ciAiLS1maXgtdGhpbiBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBzYW5zIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MzEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDAKIG1zZ2lkICItLXZlcmlmeSB3aXRoIG5vIHBhY2tmaWxlIG5hbWUgZ2l2ZW4iCiBtc2dzdHIgIi0tdmVyaWZ5IHNhbnMgbm9tIGRlIGZpY2hpZXIgcGFxdWV0IGRvbm7DqSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgZmFpcmUgdW4gc3RhdCBkZSAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo2MQorIzogYnVpbHRpbi9pbml0LWRiLmM6NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgdGVtcGxhdGUgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmYWlyZSB1biBzdGF0IGR1IG1vZMOobGUgJyVzJyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgKG9wZW5kaXIpICclcyciCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc3CisjOiBidWlsdGluL2luaXQtZGIuYzo3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZGxpbmsgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByZWFkbGluayAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3OQorIzogYnVpbHRpbi9pbml0LWRiLmM6NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN5bWxpbmsgJyVzJyAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciB1biBsaWVuIHN5bWJvbGlxdWUgZGUgJyVzJyAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4NQorIzogYnVpbHRpbi9pbml0LWRiLmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNvcGllciAnJXMnIHZlcnMgJyVzJyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6ODkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHRlbXBsYXRlICVzIgogbXNnc3RyICJtb2TDqGxlICVzIGlnbm9yw6kiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEyMAorIzogYnVpbHRpbi9pbml0LWRiLmM6MTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRlbXBsYXRlcyBub3QgZm91bmQgJXMiCiBtc2dzdHIgIm1vZMOobGVzIG5vbiB0cm91dsOpcyAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MTM1CisjOiBidWlsdGluL2luaXQtZGIuYzoxMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGNvcHlpbmcgdGVtcGxhdGVzIGZyb20gJyVzJzogJXMiCiBtc2dzdHIgInBhcyBkZSBjb3BpZSBkZXMgbW9kw6hsZXMgZGVwdWlzICclcyfCoDogJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMxMiBidWlsdGluL2luaXQtZGIuYzozMTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCi1tc2dzdHIgIiVzIGV4aXN0ZSBkw6lqw6AiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NAorIzogYnVpbHRpbi9pbml0LWRiLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBoYW5kbGUgZmlsZSB0eXBlICVkIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyYWl0ZXIgbGUgZmljaGllciBkZSB0eXBlICVkIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNDcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSAlcyB0byAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6lwbGFjZXIgJXMgdmVycyAlcyIKIAotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAnJXMnIGlzIGVpdGhlciAiUmVpbml0aWFsaXplZAotIy4gZXhpc3RpbmciIG9yICJJbml0aWFsaXplZCBlbXB0eSIsIHRoZSBzZWNvbmQgIiBzaGFyZWQiIG9yCi0jLiAiIiwgYW5kIHRoZSBsYXN0ICclcyVzJyBpcyB0aGUgdmVyYmF0aW0gZGlyZWN0b3J5IG5hbWUuCisjOiBidWlsdGluL2luaXQtZGIuYzozNDcgYnVpbHRpbi9pbml0LWRiLmM6MzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgorbXNnc3RyICIlcyBleGlzdGUgZMOpasOgIgorCiAjOiBidWlsdGluL2luaXQtZGIuYzo0MDMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMlcyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCi1tc2dzdHIgIkTDqXDDtHQgR2l0JTIkcyAlMSRzIGRhbnMgJTMkcyU0JHNcbiIKK21zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCittc2dzdHIgIkTDqXDDtHQgR2l0IGV4aXN0YW50IHBhcnRhZ8OpIHLDqWluaXRpYWxpc8OpIGRhbnMgJXMlc1xuIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo0MDQKLW1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIgotbXNnc3RyICJleGlzdGFudCByw6lpbml0aWFsaXPDqSIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCittc2dzdHIgIkTDqXDDtHQgR2l0IGV4aXN0YW50IHLDqWluaXRpYWxpc8OpIGRhbnMgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDQKLW1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSIKLW1zZ3N0ciAidmlkZSBpbml0aWFsaXPDqSIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICJEw6lww7R0IEdpdCB2aWRlIHBhcnRhZ8OpIGluaXRpYWxpc8OpIGRhbnMgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDUKLW1zZ2lkICIgc2hhcmVkIgotbXNnc3RyICIgcGFydGFnw6kiCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICJEw6lww7R0IEdpdCB2aWRlIGluaXRpYWxpc8OpIGRhbnMgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NTIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ1NwogbXNnaWQgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tIgogInNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCkBAIC03NjcxLDI1ICs4NzA4LDI1IEBACiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHLDqXBlcnRvaXJlLW1vZMOobGU+XSBbLS0iCiAic2hhcmVkWz08cGVybWlzc2lvbnM+XV0gWzxyw6lwZXJ0b2lyZT5dIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NzUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MAogbXNnaWQgInBlcm1pc3Npb25zIgogbXNnc3RyICJwZXJtaXNzaW9ucyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDc2CisjOiBidWlsdGluL2luaXQtZGIuYzo0ODEKIG1zZ2lkICJzcGVjaWZ5IHRoYXQgdGhlIGdpdCByZXBvc2l0b3J5IGlzIHRvIGJlIHNoYXJlZCBhbW9uZ3N0IHNldmVyYWwgdXNlcnMiCiBtc2dzdHIgInNww6ljaWZpZXIgcXVlIGxlIGTDqXDDtHQgZ2l0IHNlcmEgcGFydGFnw6kgZW50cmUgcGx1c2lldXJzIHV0aWxpc2F0ZXVycyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTEwIGJ1aWx0aW4vaW5pdC1kYi5jOjUxNQorIzogYnVpbHRpbi9pbml0LWRiLmM6NTE1IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlIChta2RpcikgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxOQorIzogYnVpbHRpbi9pbml0LWRiLmM6NTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzZSBkw6lwbGFjZXIgdmVycyBsZSByw6lwZXJ0b2lyZSAoY2hkaXIpICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NDAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKQEAgLTc2OTgsNyArODczNSw3IEBACiAiJXMgKG91IC0td29yay10cmVlPTxyw6lwZXJ0b2lyZT4pIG4nZXN0IHBhcyBhdXRvcmlzw6kgc2FucyBzcMOpY2lmaWVyICVzIChvdSAtLSIKICJnaXQtZGlyPTxyw6lwZXJ0b2lyZT4pIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NjgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgYWNjZXNzIHdvcmsgdHJlZSAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYWNjw6lkZXIgw6AgbCdhcmJyZSBkZSB0cmF2YWlsICclcyciCkBAIC03NzMxLDMzMiArODc2OCwzMzYgQEAKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICJhdWN1biBmaWNoaWVyIGVuIGVudHLDqWUgcG91ciBsJ8OpZGl0b24gc3VyIHBsYWNlIgogCi0jOiBidWlsdGluL2xvZy5jOjQzCisjOiBidWlsdGluL2xvZy5jOjQ0CiBtc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHBsYWdlIGRlIHLDqXZpc2lvbnM+XSBbWy0tXSA8Y2hlbWluPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDQKKyM6IGJ1aWx0aW4vbG9nLmM6NDUKIG1zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHNob3cgWzxvcHRpb25zPl0gPG9iamV0Pi4uLiIKIAotIzogYnVpbHRpbi9sb2cuYzo4MworIzogYnVpbHRpbi9sb2cuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIC0tZGVjb3JhdGUgb3B0aW9uOiAlcyIKIG1zZ3N0ciAib3B0aW9uIC0tZGVjb3JhdGUgaW52YWxpZGUgOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTM5CiBtc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCiBtc2dzdHIgInN1cHByaW1lciBsYSBzb3J0aWUgZGVzIGRpZmbDqXJlbmNlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQwCiBtc2dpZCAic2hvdyBzb3VyY2UiCiBtc2dzdHIgImFmZmljaGVyIGxhIHNvdXJjZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxCiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgIlV0aWxpc2VyIGxlIGZpY2hpZXIgZGUgY29ycmVzcG9uZGFuY2UgZGUgbWFpbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyCiBtc2dpZCAiZGVjb3JhdGUgb3B0aW9ucyIKIG1zZ3N0ciAiZMOpY29yZXIgbGVzIG9wdGlvbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzCisjOiBidWlsdGluL2xvZy5jOjE0NQogbXNnaWQgIlByb2Nlc3MgbGluZSByYW5nZSBuLG0gaW4gZmlsZSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICIiCiAiVHJhaXRlciBzZXVsZW1lbnQgbCdpbnRlcnZhbGxlIGRlIGxpZ25lcyBuLG0gZHUgZmljaGllciBlbiBjb21tZW7Dp2FudCBsZSAiCiAiY29tcHRlIMOgIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjM5CisjOiBidWlsdGluL2xvZy5jOjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgIlNvcnRpZSBmaW5hbGUgOiAlZCAlc1xuIgogCi0jOiBidWlsdGluL2xvZy5jOjQ3MQorIzogYnVpbHRpbi9sb2cuYzo0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHNob3cgJXM6IGJhZCBmaWxlIgogbXNnc3RyICJnaXQgc2hvdyAlcyA6IGZpY2hpZXIgaW5jb3JyZWN0IgogCi0jOiBidWlsdGluL2xvZy5jOjQ4NSBidWlsdGluL2xvZy5jOjU3OAorIzogYnVpbHRpbi9sb2cuYzo1MDAgYnVpbHRpbi9sb2cuYzo1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxpcmUgbCdvYmpldCAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo2MDIKKyM6IGJ1aWx0aW4vbG9nLmM6NjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdHlwZTogJWQiCiBtc2dzdHIgIlR5cGUgaW5jb25udSA6ICVkIgogCi0jOiBidWlsdGluL2xvZy5jOjcyMgorIzogYnVpbHRpbi9sb2cuYzo3MzkKIG1zZ2lkICJmb3JtYXQuaGVhZGVycyB3aXRob3V0IHZhbHVlIgogbXNnc3RyICJmb3JtYXQuaGVhZGVycyBzYW5zIHZhbGV1ciIKIAotIzogYnVpbHRpbi9sb2cuYzo4MTIKKyM6IGJ1aWx0aW4vbG9nLmM6ODM5CiBtc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgogbXNnc3RyICJsZSBub20gZHUgcsOpcGVydG9pcmUgZGUgc29ydGllIGVzdCB0cm9wIGxvbmciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODI3CisjOiBidWlsdGluL2xvZy5jOjg1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgY29ycmVjdGlmICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjg0MQorIzogYnVpbHRpbi9sb2cuYzo4NjgKIG1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKIG1zZ3N0ciAiRXhhY3RlbWVudCB1bmUgcGxhZ2UgbsOpY2Vzc2FpcmUuIgogCi0jOiBidWlsdGluL2xvZy5jOjg1MQorIzogYnVpbHRpbi9sb2cuYzo4NzgKIG1zZ2lkICJOb3QgYSByYW5nZS4iCiBtc2dzdHIgIkNlY2kgbidlc3QgcGFzIHVuZSBwbGFnZS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTU3CisjOiBidWlsdGluL2xvZy5jOjk4NAogbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCiBtc2dzdHIgIkxhIGxldHRyZSBkZSBtb3RpdmF0aW9uIGRvaXQgw6p0cmUgYXUgZm9ybWF0IGUtbWFpbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDM2CisjOiBidWlsdGluL2xvZy5jOjEwNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lIGluLXJlcGx5LXRvOiAlcyIKIG1zZ3N0ciAiaW4tcmVwbHktdG8gYWJlcnJhbnQgOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDY0CisjOiBidWlsdGluL2xvZy5jOjEwOTEKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFs8b3B0aW9ucz5dIFs8c2luY2U+IHwgPHJldmlzaW9uLXJhbmdlPl0iCiBtc2dzdHIgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxkZXB1aXM+IHwgPHBsYWdlIGRlIHLDqXZpc2lvbnM+XSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTA5CisjOiBidWlsdGluL2xvZy5jOjExNDEKIG1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKIG1zZ3N0ciAiRGV1eCByw6lwZXJ0b2lyZXMgZGUgc29ydGllID8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxNiBidWlsdGluL2xvZy5jOjE4NTcgYnVpbHRpbi9sb2cuYzoxODU5IGJ1aWx0aW4vbG9nLmM6MTg3MQorIzogYnVpbHRpbi9sb2cuYzoxMjQ4IGJ1aWx0aW4vbG9nLmM6MTg5MSBidWlsdGluL2xvZy5jOjE4OTMgYnVpbHRpbi9sb2cuYzoxOTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgogbXNnc3RyICJDb21taXQgaW5jb25udSAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjI2IGJ1aWx0aW4vbm90ZXMuYzoyNTMgYnVpbHRpbi9ub3Rlcy5jOjMwNAotIzogYnVpbHRpbi9ub3Rlcy5jOjMwNiBidWlsdGluL25vdGVzLmM6MzY5IGJ1aWx0aW4vbm90ZXMuYzo0MjQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTAgYnVpbHRpbi9ub3Rlcy5jOjUxNSBidWlsdGluL25vdGVzLmM6NTkzCi0jOiBidWlsdGluL25vdGVzLmM6NjU2IGJ1aWx0aW4vbm90ZXMuYzo4ODEgYnVpbHRpbi90YWcuYzo0NTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1OCBidWlsdGluL25vdGVzLmM6ODg0IGJ1aWx0aW4vdGFnLmM6NDU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHLDqXNvdWRyZSAnJXMnIGNvbW1lIHVuZSByw6lmw6lyZW5jZSB2YWxpZGUuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2MwogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgYmFzZSBkZSBmdXNpb24gZXhhY3RlLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjM1CisjOiBidWlsdGluL2xvZy5jOjEyNjcKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCiAicGxlYXNlIHVzZSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHRvIHRyYWNrIGEgcmVtb3RlIGJyYW5jaC5cbiIKICJPciB5b3UgY291bGQgc3BlY2lmeSBiYXNlIGNvbW1pdCBieSAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiBtYW51YWxseS4iCiBtc2dzdHIgIiIKLSJJbXBvc3NpYmxlIGRlIHLDqWN1cMOpcmVyIGwnYW1vbnQsIHNpIHZvdXMgdm91bGV6IGVucmVnaXN0cmVyIGxlIGNvbW1pdCBkZSBiYXNlIGF1dG9tYXRpcXVlbWVudCxcbiIKLSJ2ZXVpbGxleiB1dGlsaXNlciBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHBvdXIgc3VpdnJlIHVuZSBicmFuY2hlIGRpc3RhbnRlXG4iCi0ib3Ugdm91cyBwb3V2ZXogc3DDqWNpZmllciBsZSBjb21taXQgZGUgYmFzZSBwYXIgLS1iYXNlPTxpZC1kdS1jb21taXQtZGUtYmFzZT4gbWFudWVsbGVtZW50LiIKKyJJbXBvc3NpYmxlIGRlIHLDqWN1cMOpcmVyIGwnYW1vbnQsIHNpIHZvdXMgdm91bGV6IGVucmVnaXN0cmVyIGxlIGNvbW1pdCBkZSAiCisiYmFzZSBhdXRvbWF0aXF1ZW1lbnQsXG4iCisidmV1aWxsZXogdXRpbGlzZXIgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byBwb3VyIHN1aXZyZSB1bmUgYnJhbmNoZSAiCisiZGlzdGFudGVcbiIKKyJvdSB2b3VzIHBvdXZleiBzcMOpY2lmaWVyIGxlIGNvbW1pdCBkZSBiYXNlIHBhciAtLWJhc2U9PGlkLWR1LWNvbW1pdC1kZS1iYXNlPiAiCisibWFudWVsbGVtZW50LiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjU1CisjOiBidWlsdGluL2xvZy5jOjEyODcKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgYmFzZSBkZSBmdXNpb24gZXhhY3RlIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTI5OAogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZCBiZSB0aGUgYW5jZXN0b3Igb2YgcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAibGUgY29tbWl0IGRlIGJhc2UgZGV2cmFpdCDDqnRyZSBsJ2FuY8OqdHJlIGRlIGxhIGxpc3RlIGRlIHLDqXZpc2lvbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI3MAorIzogYnVpbHRpbi9sb2cuYzoxMzAyCiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkbid0IGJlIGluIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgImxlIGNvbW1pdCBkZSBiYXNlIG5lIGRldnJhaXQgcGFzIGZhaXJlIHBhcnRpZSBkZSBsYSBsaXN0ZSBkZSByw6l2aXNpb25zIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTM1MQogbXNnaWQgImNhbm5vdCBnZXQgcGF0Y2ggaWQiCiBtc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGwnaWQgZHUgcGF0Y2giCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM3NworIzogYnVpbHRpbi9sb2cuYzoxNDA4CiBtc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAidXRpbGlzZXIgW1BBVENIIG4vbV0gbcOqbWUgYXZlYyB1biBwYXRjaCB1bmlxdWUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4MAorIzogYnVpbHRpbi9sb2cuYzoxNDExCiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgInV0aWxpc2VyIFtQQVRDSF0gbcOqbWUgYXZlYyBkZXMgcGF0Y2hzIG11bHRpcGxlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg0CisjOiBidWlsdGluL2xvZy5jOjE0MTUKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIHBhdGNocyBzdXIgbGEgc29ydGllIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL2xvZy5jOjEzODYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxNwogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgogbXNnc3RyICJnw6luw6lyZXIgdW5lIGxldHRyZSBkZSBtb3RpdmF0aW9uIgogCi0jOiBidWlsdGluL2xvZy5jOjEzODgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxOQogbXNnaWQgInVzZSBzaW1wbGUgbnVtYmVyIHNlcXVlbmNlIGZvciBvdXRwdXQgZmlsZSBuYW1lcyIKIG1zZ3N0ciAiIgogInV0aWxpc2VyIHVuZSBzw6lxdWVuY2Ugc2ltcGxlIGRlIG5vbWJyZXMgcG91ciBsZXMgbm9tIGRlcyBmaWNoaWVycyBkZSBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4OQorIzogYnVpbHRpbi9sb2cuYzoxNDIwCiBtc2dpZCAic2Z4IgogbXNnc3RyICJzZngiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5MAorIzogYnVpbHRpbi9sb2cuYzoxNDIxCiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgInV0aWxpc2VyIDxzZng+IGF1IGxpZXUgZGUgJy5wYXRjaCciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5MgorIzogYnVpbHRpbi9sb2cuYzoxNDIzCiBtc2dpZCAic3RhcnQgbnVtYmVyaW5nIHBhdGNoZXMgYXQgPG4+IGluc3RlYWQgb2YgMSIKIG1zZ3N0ciAiZMOpbWFycmVyIGxhIG51bcOpcm90YXRpb24gZGVzIHBhdGNocyDDoCA8bj4gYXUgbGlldSBkZSAxIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyNQogbXNnaWQgIm1hcmsgdGhlIHNlcmllcyBhcyBOdGggcmUtcm9sbCIKIG1zZ3N0ciAibWFycXVlciBsYSBzw6lyaWUgY29tbWUgdW5lIE5pw6htZSByw6nDqWRpdGlvbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzk2CisjOiBidWlsdGluL2xvZy5jOjE0MjcKK21zZ2lkICJVc2UgW1JGQyBQQVRDSF0gaW5zdGVhZCBvZiBbUEFUQ0hdIgorbXNnc3RyICJ1dGlsaXNlciBbUkZDIFBBVENIXSBhdSBsaWV1IGRlIFtQQVRDSF0iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzMAogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAidXRpbGlzZXIgWzxwcsOpZml4ZT5dIGF1IGxpZXUgZGUgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzk5CisjOiBidWlsdGluL2xvZy5jOjE0MzMKIG1zZ2lkICJzdG9yZSByZXN1bHRpbmcgZmlsZXMgaW4gPGRpcj4iCiBtc2dzdHIgInN0b2NrZXIgbGVzIGZpY2hpZXJzIHLDqXN1bHRhdHMgZGFucyA8csOpcGVydG9pcmU+IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNgogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgogbXNnc3RyICJuZSBwYXMgcmV0aXJlci9ham91dGVyIFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwNQorIzogYnVpbHRpbi9sb2cuYzoxNDM5CiBtc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKIG1zZ3N0ciAibmUgcGFzIGltcHJpbWVyIGxlcyBkaWZmcyBiaW5haXJlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDA3CisjOiBidWlsdGluL2xvZy5jOjE0NDEKIG1zZ2lkICJvdXRwdXQgYWxsLXplcm8gaGFzaCBpbiBGcm9tIGhlYWRlciIKIG1zZ3N0ciAiw6ljcmlyZSB1bmUgZW1wcmVpbnRlIMOgIHrDqXJvIGRhbnMgbCdlbnTDqnRlIEZyb20iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwOQorIzogYnVpbHRpbi9sb2cuYzoxNDQzCiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICJuZSBwYXMgaW5jbHVyZSB1biBwYXRjaCBjb3JyZXNwb25kYW50IMOgIHVuIGNvbW1pdCBhbW9udCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDExCisjOiBidWlsdGluL2xvZy5jOjE0NDUKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgImFmZmljaGVyIGxlIGZvcm1hdCBkdSBwYXRjaCBhdSBsaWV1IGR1IGTDqWZhdXQgKHBhdGNoICsgc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxMworIzogYnVpbHRpbi9sb2cuYzoxNDQ3CiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICJDb21tdW5pY2F0aW9uIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0OAogbXNnaWQgImhlYWRlciIKIG1zZ3N0ciAiZW4tdMOqdGUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNQorIzogYnVpbHRpbi9sb2cuYzoxNDQ5CiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAiYWpvdXRlciBsJ2VuLXTDqnRlIGQnZS1tYWlsIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTYgYnVpbHRpbi9sb2cuYzoxNDE4CisjOiBidWlsdGluL2xvZy5jOjE0NTAgYnVpbHRpbi9sb2cuYzoxNDUyCiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgImUtbWFpbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE2CisjOiBidWlsdGluL2xvZy5jOjE0NTAKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKIG1zZ3N0ciAiYWpvdXRlciBsJ2VuLXTDqnRlIFwiVG86XCIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxOAorIzogYnVpbHRpbi9sb2cuYzoxNDUyCiBtc2dpZCAiYWRkIENjOiBoZWFkZXIiCiBtc2dzdHIgImFqb3V0ZXIgbCdlbi10w6p0ZSBcIkNjOlwiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1NAogbXNnaWQgImlkZW50IgogbXNnc3RyICJpZGVudCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIxCisjOiBidWlsdGluL2xvZy5jOjE0NTUKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICIiCiAicmVuc2VpZ25lciBsJ2FkcmVzc2UgRnJvbSDDoCA8aWRlbnQ+IChvdSDDoCBsJ2lkZW50IGR1IHZhbGlkYXRldXIgc2kgYWJzZW50KSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIzCisjOiBidWlsdGluL2xvZy5jOjE0NTcKIG1zZ2lkICJtZXNzYWdlLWlkIgogbXNnc3RyICJpZC1tZXNzYWdlIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1OAogbXNnaWQgIm1ha2UgZmlyc3QgbWFpbCBhIHJlcGx5IHRvIDxtZXNzYWdlLWlkPiIKIG1zZ3N0ciAicsOpcG9uZHJlIGRhbnMgbGUgcHJlbWllciBtZXNzYWdlIMOgIDxpZC1tZXNzYWdlPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI1IGJ1aWx0aW4vbG9nLmM6MTQyOAorIzogYnVpbHRpbi9sb2cuYzoxNDU5IGJ1aWx0aW4vbG9nLmM6MTQ2MgogbXNnaWQgImJvdW5kYXJ5IgogbXNnc3RyICJsaW1pdGUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNgorIzogYnVpbHRpbi9sb2cuYzoxNDYwCiBtc2dpZCAiYXR0YWNoIHRoZSBwYXRjaCIKIG1zZ3N0ciAiYXR0YWNoZXIgbGUgcGF0Y2giCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyOQorIzogYnVpbHRpbi9sb2cuYzoxNDYzCiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAicGF0Y2ggw6AgbCdpbnTDqXJpZXVyIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NwogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICIiCiAiYWN0aXZlciBsJ2VuZmlsYWdlIGRlIG1lc3NhZ2UsIHN0eWxlcyA6IHNoYWxsb3cgKHN1cGVyZmljaWVsKSwgZGVlcCAocHJvZm9uZCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNQorIzogYnVpbHRpbi9sb2cuYzoxNDY5CiBtc2dpZCAic2lnbmF0dXJlIgogbXNnc3RyICJzaWduYXR1cmUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNgorIzogYnVpbHRpbi9sb2cuYzoxNDcwCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgogbXNnc3RyICJham91dGVyIHVuZSBzaWduYXR1cmUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNworIzogYnVpbHRpbi9sb2cuYzoxNDcxCiBtc2dpZCAiYmFzZS1jb21taXQiCiBtc2dzdHIgImNvbW1pdC1kZS1iYXNlIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MgogbXNnaWQgImFkZCBwcmVyZXF1aXNpdGUgdHJlZSBpbmZvIHRvIHRoZSBwYXRjaCBzZXJpZXMiCiBtc2dzdHIgIkFqb3V0ZXIgdW4gYXJicmUgcHLDqXJlcXVpcyDDoCBsYSBzw6lyaWUgZGUgcGF0Y2hzIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NAogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSBmcm9tIGEgZmlsZSIKIG1zZ3N0ciAiYWpvdXRlciB1bmUgc2lnbmF0dXJlIGRlcHVpcyB1biBmaWNoaWVyIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NQogbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCiBtc2dzdHIgIm5lIHBhcyBhZmZpY2hlciBsZXMgbm9tcyBkZSBmaWNoaWVycyBkZXMgcGF0Y2hzIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTU2NQogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiLW4gZXQgLWsgc29udCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMzCi1tc2dpZCAiLS1zdWJqZWN0LXByZWZpeCBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCi1tc2dzdHIgIi0tc3ViamVjdC1wcmVmaXggZXQgLWsgc29udCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzLiIKKyM6IGJ1aWx0aW4vbG9nLmM6MTU2NworbXNnaWQgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgorbXNnc3RyICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGV0IC1rIHNvbnQgbXV0dWVsbGVtZW50IGV4Y2x1c2lmcy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MQorIzogYnVpbHRpbi9sb2cuYzoxNTc1CiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLW9ubHkgbidhIHBhcyBkZSBzZW5zIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3NwogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLXN0YXR1cyBuJ2EgcGFzIGRlIHNlbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0NQorIzogYnVpbHRpbi9sb2cuYzoxNTc5CiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWNoZWNrIG4nYSBwYXMgZGUgc2VucyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTczCisjOiBidWlsdGluL2xvZy5jOjE2MDkKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAic29ydGllIHN0YW5kYXJkLCBvdSByw6lwZXJ0b2lyZSwgbGVxdWVsID8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NQorIzogYnVpbHRpbi9sb2cuYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlICclcyciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY3MgorIzogYnVpbHRpbi9sb2cuYzoxNzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHNpZ25hdHVyZSBmaWxlICclcyciCiBtc2dzdHIgImxlY3R1cmUgZHUgZmljaGllciBkZSBzaWduYXR1cmUgJyVzJyBpbXBvc3NpYmxlIgogCi0jOiBidWlsdGluL2xvZy5jOjE3NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTc3NwogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICLDiWNoZWMgZGUgY3LDqWF0aW9uIGRlcyBmaWNoaWVycyBlbiBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTc5MgorIzogYnVpbHRpbi9sb2cuYzoxODI2CiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPGJyYW5jaGVfYW1vbnQ+IFs8aGVhZD4gWzxsaW1pdGU+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjE4NDYKKyM6IGJ1aWx0aW4vbG9nLmM6MTg4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCkBAIC04MDY0LDEwMiArOTEwNSwxMDYgQEAKICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgdW5lIGJyYW5jaGUgZGlzdGFudGUgc3VpdmllLCBtZXJjaSBkZSBzcMOpY2lmaWVyICIKICI8YnJhbmNoZV9hbW9udD4gbWFudWVsbGVtZW50LlxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6Mzc4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzxvcHRpb25zPl0gWzxmaWNoaWVyPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MjcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDcKIG1zZ2lkICJpZGVudGlmeSB0aGUgZmlsZSBzdGF0dXMgd2l0aCB0YWdzIgogbXNnc3RyICJpZGVudGlmaWVyIGxlIHN0YXR1dCBkZSBmaWNoaWVyIGF2ZWMgbGVzIMOpdGlxdWV0dGVzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDI5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTA5CiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgInV0aWxpc2VyIGRlcyBtaW51c2N1bGVzIHBvdXIgbGVzIGZpY2hpZXIgJ2Fzc3Vtw6lzIGluY2hhbmfDqXMnIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDMxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTExCiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBtaXMgZW4gY2FjaGUgZGFucyBsYSBzb3J0aWUgKGTDqWZhdXQpIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDMzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTEzCiBtc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBzdXBwcmltw6lzIGRhbnMgbGEgc29ydGllIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDM1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE1CiBtc2dpZCAic2hvdyBtb2RpZmllZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJhZmZpY2hlciBsZXMgZmljaGllcnMgbW9kaWZpw6lzIGRhbnMgbGEgc29ydGllIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDM3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE3CiBtc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJhZmZpY2hlciBsZXMgYXV0cmVzIGZpY2hpZXJzIGRhbnMgbGEgc29ydGllIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDM5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE5CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBpZ25vcsOpcyBkYW5zIGxhIHNvcnRpZSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyMgogbXNnaWQgInNob3cgc3RhZ2VkIGNvbnRlbnRzJyBvYmplY3QgbmFtZSBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJhZmZpY2hlciBsZXMgbm9tIGRlcyBvYmpldHMgaW5kZXjDqXMgZGFucyBsYSBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NDQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjQKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICIiCiAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIGR1IHN5c3TDqG1lIGRlIGZpY2hpZXJzIHF1aSBvbnQgYmVzb2luIGQnw6p0cmUgc3VwcHJpbcOpcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0NgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZXMgb25seSIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyBub21zIGRlcyByw6lwZXJ0b2lyZXMgJ290aGVyJyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOAogbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgZmlucyBkZSBsaWduZXMgZGVzIGZpY2hpZXJzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDUwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMwCiBtc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAibmUgcGFzIGFmZmljaGVyIGxlcyByw6lwZXJ0b2lyZXMgdmlkZXMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzMKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBub24gZnVzaW9ubsOpcyBkYW5zIGxhIHNvcnRpZSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNQogbXNnaWQgInNob3cgcmVzb2x2ZS11bmRvIGluZm9ybWF0aW9uIgogbXNnc3RyICJhZmZpY2hlciBsJ2luZm9ybWF0aW9uIHJlc29sdi11bmRvIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDU3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM3CiBtc2dpZCAic2tpcCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIgogbXNnc3RyICJzYXV0ZXIgbGVzIGZpY2hpZXJzIGNvcnJlc3BvbmRhbnQgYXUgbW90aWYiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDAKIG1zZ2lkICJleGNsdWRlIHBhdHRlcm5zIGFyZSByZWFkIGZyb20gPGZpbGU+IgogbXNnc3RyICJsZXMgbW90aWZzIGQnZXhjbHVzaW9uIHNvbnQgbHVzIGRlcHVpcyA8ZmljaGllcj4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDMKIG1zZ2lkICJyZWFkIGFkZGl0aW9uYWwgcGVyLWRpcmVjdG9yeSBleGNsdWRlIHBhdHRlcm5zIGluIDxmaWxlPiIKIG1zZ3N0ciAibGlyZSBkZXMgbW90aWZzIGQnZXhjbHVzaW9uIGFkZGl0aW9ubmVscyBwYXIgcsOpcGVydG9pcmUgZGFucyA8ZmljaGllcj4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICJham91dGVyIGxlcyBleGNsdXNpb25zIGdpdCBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OAogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJhZmZpY2hlciBlbiByZWxhdGlmIHBhciByYXBwb3J0IGF1IHLDqXBlcnRvaXJlIHJhY2luZSBkdSBwcm9qZXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTEKK21zZ2lkICJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIKK21zZ3N0ciAicGFyY291cmlyIHLDqWN1cnNpdmVtZW50IGxlcyBzb3VzLW1vZHVsZXMiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTMKIG1zZ2lkICJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiCiBtc2dzdHIgInNpIHVuIDxmaWNoaWVyPiBuJ2VzdCBwYXMgZGFucyBsJ2luZGV4LCB0cmFpdGVyIGNlbGEgY29tbWUgdW5lIGVycmV1ciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NAogbXNnaWQgInRyZWUtaXNoIgogbXNnc3RyICJhcmJyZSBvdSBhcHBhcmVudMOpIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDczCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAiIgogImNvbnNpZMOpcmVyIHF1ZSBsZXMgY2hlbWlucyBzdXBwcmltw6lzIGRlcHVpcyA8YXJicmUgb3UgYXBwYXJlbnTDqT4gc29udCAiCiAidG91am91cnMgcHLDqXNlbnRzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDc1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3CiBtc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGRvbm7DqWVzIGRlIGTDqWJvZ2FnZSIKIApAQCAtODI0OSwxOTEgKzkyOTQsMTc3IEBACiAiYWZmaWNoZXIgbCdhcmJyZSBlbnRpZXIgOyBwYXMgc2V1bGVtZW50IGxlIHLDqXBlcnRvaXJlIGNvdXJhbnQgKGltcGxpcXVlIC0tIgogImZ1bGwtbmFtZSkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NQorIzogYnVpbHRpbi9tZXJnZS5jOjQ2CiBtc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIFs8Y29tbWl0Pi4uLl0iCiBtc2dzdHIgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NwogbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSA8bXNnPiBIRUFEIDxjb21taXQ+IgogbXNnc3RyICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gPG1lc3NhZ2U+IEhFQUQgPGNvbW1pdD4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NworIzogYnVpbHRpbi9tZXJnZS5jOjQ4CiBtc2dpZCAiZ2l0IG1lcmdlIC0tYWJvcnQiCiBtc2dzdHIgImdpdCBtZXJnZSAtLWFib3J0IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTAxCisjOiBidWlsdGluL21lcmdlLmM6MTAyCiBtc2dpZCAic3dpdGNoIGBtJyByZXF1aXJlcyBhIHZhbHVlIgogbXNnc3RyICJsZSBjb21tdXRhdGV1ciBgbScgYSBiZXNvaW4gZCd1bmUgdmFsZXVyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM4CisjOiBidWlsdGluL21lcmdlLmM6MTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgdHJvdXZlciBsYSBzdHJhdMOpZ2llIGRlIGZ1c2lvbiAnJXMnLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM5CisjOiBidWlsdGluL21lcmdlLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF2YWlsYWJsZSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIkxlcyBzdHJhdMOpZ2llcyBkaXNwb25pYmxlcyBzb250IDoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIkxlcyBzdHJhdMOpZ2llcyBwZXJzb25uYWxpc8OpZXMgc29udCA6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk0IGJ1aWx0aW4vcHVsbC5jOjEyNgorIzogYnVpbHRpbi9tZXJnZS5jOjE5NSBidWlsdGluL3B1bGwuYzoxMjcKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJuZSBwYXMgYWZmaWNoZXIgdW4gZGlmZnN0YXQgw6AgbGEgZmluIGRlIGxhIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE5NyBidWlsdGluL3B1bGwuYzoxMjkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTggYnVpbHRpbi9wdWxsLmM6MTMwCiBtc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJhZmZpY2hlciB1biBkaWZmc3RhdCDDoCBsYSBmaW4gZGUgbGEgZnVzaW9uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk4IGJ1aWx0aW4vcHVsbC5jOjEzMgorIzogYnVpbHRpbi9tZXJnZS5jOjE5OSBidWlsdGluL3B1bGwuYzoxMzMKIG1zZ2lkICIoc3lub255bSB0byAtLXN0YXQpIgogbXNnc3RyICIoc3lub255bWUgZGUgLS1zdGF0KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMCBidWlsdGluL3B1bGwuYzoxMzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDEgYnVpbHRpbi9wdWxsLmM6MTM2CiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAiYWpvdXRlciAoYXUgcGx1cyA8bj4pIMOpbMOpbWVudHMgZHUgam91cm5hbCBjb3VydCBhdSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gZGUgIgogImxhIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3B1bGwuYzoxMzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDQgYnVpbHRpbi9wdWxsLmM6MTM5CiBtc2dpZCAiY3JlYXRlIGEgc2luZ2xlIGNvbW1pdCBpbnN0ZWFkIG9mIGRvaW5nIGEgbWVyZ2UiCiBtc2dzdHIgImNyw6llciB1bmUgdmFsaWRhdGlvbiB1bmlxdWUgYXUgbGlldSBkZSBmYWlyZSB1bmUgZnVzaW9uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA1IGJ1aWx0aW4vcHVsbC5jOjE0MQorIzogYnVpbHRpbi9tZXJnZS5jOjIwNiBidWlsdGluL3B1bGwuYzoxNDIKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgImVmZmVjdHVlciB1bmUgdmFsaWRhdGlvbiBzaSBsYSBmdXNpb24gcsOpdXNzaXQgKGTDqWZhdXQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA3IGJ1aWx0aW4vcHVsbC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDUKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgIsOpZGl0ZXIgbGUgbWVzc2FnZSBhdmFudCBsYSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA4CisjOiBidWlsdGluL21lcmdlLmM6MjA5CiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKIG1zZ3N0ciAiYXV0b3Jpc2VyIGwnYXZhbmNlIHJhcGlkZSAoZMOpZmF1dCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTAgYnVpbHRpbi9wdWxsLmM6MTUwCisjOiBidWlsdGluL21lcmdlLmM6MjExIGJ1aWx0aW4vcHVsbC5jOjE1MQogbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCiBtc2dzdHIgImFiYW5kb25uZXIgc2kgbCdhdmFuY2UgcmFwaWRlIG4nZXN0IHBhcyBwb3NzaWJsZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNAotbXNnaWQgIlZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKLW1zZ3N0ciAiVsOpcmlmaWVyIHF1ZSBsYSB2YWxpZGF0aW9uIGEgdW5lIHNpZ25hdHVyZSBHUEcgdmFsaWRlIgorIzogYnVpbHRpbi9tZXJnZS5jOjIxNSBidWlsdGluL3B1bGwuYzoxNTQKK21zZ2lkICJ2ZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCittc2dzdHIgInbDqXJpZmllciBxdWUgbGUgY29tbWl0IG5vbW3DqSBhIHVuZSBzaWduYXR1cmUgR1BHIHZhbGlkZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNSBidWlsdGluL25vdGVzLmM6NzcxIGJ1aWx0aW4vcHVsbC5jOjE1NworIzogYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL25vdGVzLmM6Nzc0IGJ1aWx0aW4vcHVsbC5jOjE1OAogIzogYnVpbHRpbi9yZXZlcnQuYzo4OQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICJzdHJhdMOpZ2llIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE2IGJ1aWx0aW4vcHVsbC5jOjE1OAorIzogYnVpbHRpbi9tZXJnZS5jOjIxNyBidWlsdGluL3B1bGwuYzoxNTkKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSB0byB1c2UiCiBtc2dzdHIgInN0cmF0w6lnaWUgZGUgZnVzaW9uIMOgIHV0aWxpc2VyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE3IGJ1aWx0aW4vcHVsbC5jOjE2MQorIzogYnVpbHRpbi9tZXJnZS5jOjIxOCBidWlsdGluL3B1bGwuYzoxNjIKIG1zZ2lkICJvcHRpb249dmFsdWUiCiBtc2dzdHIgIm9wdGlvbj12YWxldXIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9wdWxsLmM6MTYyCisjOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vcHVsbC5jOjE2MwogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIm9wdGlvbiBwb3VyIGxhIHN0cmF0w6lnaWUgZGUgZnVzaW9uIHPDqWxlY3Rpb25uw6llIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIwCisjOiBidWlsdGluL21lcmdlLmM6MjIxCiBtc2dpZCAibWVyZ2UgY29tbWl0IG1lc3NhZ2UgKGZvciBhIG5vbi1mYXN0LWZvcndhcmQgbWVyZ2UpIgogbXNnc3RyICIiCiAibWVzc2FnZSBkZSB2YWxpZGF0aW9uIGRlIGxhIGZ1c2lvbiAocG91ciB1bmUgZnVzaW9uIHNhbnMgYXZhbmNlIHJhcGlkZSkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjUKIG1zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiYWJhbmRvbm5lciBsYSBmdXNpb24gZW4gY291cnMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjYgYnVpbHRpbi9wdWxsLmM6MTY5CisjOiBidWlsdGluL21lcmdlLmM6MjI3IGJ1aWx0aW4vcHVsbC5jOjE3MAogbXNnaWQgImFsbG93IG1lcmdpbmcgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAicGVybWV0dHJlIGxhIGZ1c2lvbiBkJ2hpc3RvcmlxdWVzIHNhbnMgcmFwcG9ydCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NAorIzogYnVpbHRpbi9tZXJnZS5jOjI1NQogbXNnaWQgImNvdWxkIG5vdCBydW4gc3Rhc2guIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxhbmNlciBsZSByZW1pc2FnZS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjAKIG1zZ2lkICJzdGFzaCBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkdSByZW1pc2FnZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2NAorIzogYnVpbHRpbi9tZXJnZS5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSB2YWxpZCBvYmplY3Q6ICVzIgogbXNnc3RyICJwYXMgdW4gb2JqZXQgdmFsaWRlIDogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyODMgYnVpbHRpbi9tZXJnZS5jOjMwMAorIzogYnVpbHRpbi9tZXJnZS5jOjI4NCBidWlsdGluL21lcmdlLmM6MzAxCiBtc2dpZCAicmVhZC10cmVlIGZhaWxlZCIKIG1zZ3N0ciAicmVhZC10cmVlIGEgw6ljaG91w6kiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMzEKIG1zZ2lkICIgKG5vdGhpbmcgdG8gc3F1YXNoKSIKIG1zZ3N0ciAiIChyaWVuIMOgIGNvbXByZXNzZXIpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzQzCisjOiBidWlsdGluL21lcmdlLmM6MzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNxdWFzaCBjb21taXQgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAiVmFsaWRhdGlvbiBjb21wcmVzc8OpZSAtLSBIRUFEIG5vbiBtaXNlIMOgIGpvdXJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM0NyBidWlsdGluL21lcmdlLmM6NzY3IGJ1aWx0aW4vbWVyZ2UuYzo5ODcKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDAwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgotbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBkYW5zICclcyciCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNzUKLW1zZ2lkICJXcml0aW5nIFNRVUFTSF9NU0ciCi1tc2dzdHIgIsOJY3JpdHVyZSBkZSBTUVVBU0hfTVNHIgotCi0jOiBidWlsdGluL21lcmdlLmM6Mzc3Ci1tc2dpZCAiRmluaXNoaW5nIFNRVUFTSF9NU0ciCi1tc2dzdHIgIkZpbml0aW9uIGRlIFNRVUFTSF9NU0ciCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0MDAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2UgbWVzc2FnZSAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICJQYXMgZGUgbWVzc2FnZSBkZSBmdXNpb24gLS0gcGFzIGRlIG1pc2Ugw6Agam91ciBkZSBIRUFEXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGNvbW1pdCIKIG1zZ3N0ciAiJyVzJyBuZSBwb2ludGUgcGFzIHN1ciB1biBjb21taXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1NDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAiTWF1dmFpc2UgY2hhw65uZSBicmFuY2guJXMubWVyZ2VvcHRpb25zIDogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NjAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NTIKIG1zZ2lkICJOb3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGfDqXJlciBhdXRyZSBjaG9zZSBxdWUgbGEgZnVzaW9uIGRlIGRldXggdMOqdGVzLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY3NAorIzogYnVpbHRpbi9tZXJnZS5jOjY2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogbXNnc3RyICJPcHRpb25zIGluY29ubnVlIHBvdXIgbWVyZ2UtcmVjdXJzaXZlIDogLVglcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY4NworIzogYnVpbHRpbi9tZXJnZS5jOjY4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzc2CisjOiBidWlsdGluL21lcmdlLmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIGRlcHVpcyAnJXMnIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzg1CisjOiBidWlsdGluL21lcmdlLmM6NzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogIlBhcyBkZSB2YWxpZGF0aW9uIGRlIGxhIGZ1c2lvbiA7IHV0aWxpc2V6ICdnaXQgY29tbWl0JyBwb3VyIHRlcm1pbmVyIGxhICIKICJmdXNpb24uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgpAQCAtODQ1MCw1NCArOTQ4MSw2OCBAQAogIkxlcyBsaWduZXMgY29tbWVuw6dhbnQgcGFyICclYycgc2Vyb250IGlnbm9yw6llcywgZXQgdW4gbWVzc2FnZSB2aWRlXG4iCiAiYWJhbmRvbm5lIGxhIHZhbGlkYXRpb24uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NzIKIG1zZ2lkICJFbXB0eSBjb21taXQgbWVzc2FnZS4iCiBtc2dzdHIgIk1lc3NhZ2UgZGUgdmFsaWRhdGlvbiB2aWRlLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjgzNQorIzogYnVpbHRpbi9tZXJnZS5jOjc5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJXb25kZXJmdWwuXG4iCiBtc2dzdHIgIk1lcnZlaWxsZXV4LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODkwCisjOiBidWlsdGluL21lcmdlLmM6ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCiBtc2dzdHIgIiIKICJMYSBmdXNpb24gYXV0b21hdGlxdWUgYSDDqWNob3XDqSA7IHLDqWdsZXogbGVzIGNvbmZsaXRzIGV0IHZhbGlkZXogbGUgIgogInLDqXN1bHRhdC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkwNgorIzogYnVpbHRpbi9tZXJnZS5jOjg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKIG1zZ3N0ciAiJyVzJyBuJ2VzdCBwYXMgdW5lIHZhbGlkYXRpb24iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDQKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIlBhcyBkZSBicmFuY2hlIGNvdXJhbnRlLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0OQorIzogYnVpbHRpbi9tZXJnZS5jOjkwNgogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiUGFzIGRlIGJyYW5jaGUgZGlzdGFudGUgcG91ciBsYSBicmFuY2hlIGNvdXJhbnRlLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk1MQorIzogYnVpbHRpbi9tZXJnZS5jOjkwOAogbXNnaWQgIk5vIGRlZmF1bHQgdXBzdHJlYW0gZGVmaW5lZCBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiUGFzIGRlIGJyYW5jaGUgYW1vbnQgcGFyIGTDqWZhdXQgZMOpZmluaWUgcG91ciBsYSBicmFuY2hlIGNvdXJhbnRlLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk1NgorIzogYnVpbHRpbi9tZXJnZS5jOjkxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgogbXNnc3RyICJQYXMgZGUgYnJhbmNoZSBkZSBzdWl2aSBwb3VyICVzIGRlcHVpcyAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwOTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHZhbHVlICclcycgaW4gZW52aXJvbm1lbnQgJyVzJyIKK21zZ3N0ciAiTWF1dmFpc2UgdmFsZXVyICclcycgZGFucyBsJ2Vudmlyb25uZW1lbnQgJyVzJyIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEwMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgZmVybWVyICclcyciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjE5CisjOiBidWlsdGluL21lcmdlLmM6MTA2MQorIywgYy1mb3JtYXQKK21zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCittc2dzdHIgInBhcyBwb3NzaWJsZSBkZSBmdXNpb25uZXIgY2VjaSBkYW5zICVzwqA6ICVzIgorCisjOiBidWlsdGluL21lcmdlLmM6MTA5NQorbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgorbXNnc3RyICJwYXMgcG9zc2libGUgZGUgZnVzaW9ubmVyIGNlY2kiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTYyCiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgdG8gYWJvcnQgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICJJbCBuJ3kgYSBwYXMgZGUgZnVzaW9uIMOgIGFiYW5kb25uZXIgKE1FUkdFX0hFQUQgbWFucXVhbnQpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTc4CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTg1MDUsNyArOTU1MCw3IEBACiAiVm91cyBuJ2F2ZXogcGFzIHRlcm1pbsOpIHZvdHJlIGZ1c2lvbiAoTUVSR0VfSEVBRCBleGlzdGUpLlxuIgogIlZldWlsbGV6IHZhbGlkZXIgdm9zIG1vZGlmaWNhdGlvbnMgYXZhbnQgZGUgcG91dm9pciBmdXNpb25uZXIuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI0MgorIzogYnVpbHRpbi9tZXJnZS5jOjExODUKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtODUxMywxMDYgKzk1NTgsMTE0IEBACiAiVm91cyBuJ2F2ZXogcGFzIHRlcm1pbsOpIHZvdHJlIHBpY29yYWdlIChDSEVSUllfUElDS19IRUFEIGV4aXN0ZSkuXG4iCiAiVmV1aWxsZXogdmFsaWRlciB2b3MgbW9kaWZpY2F0aW9ucyBhdmFudCBkZSBwb3V2b2lyIGZ1c2lvbm5lci4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjQ1CisjOiBidWlsdGluL21lcmdlLmM6MTE4OAogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiVm91cyBuJ2F2ZXogcGFzIHRlcm1pbsOpIHZvdHJlIHBpY29yYWdlIChDSEVSUllfUElDS19IRUFEIGV4aXN0ZSkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NAorIzogYnVpbHRpbi9tZXJnZS5jOjExOTcKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKIG1zZ3N0ciAiVm91cyBuZSBwb3V2ZXogcGFzIGNvbWJpbmVyIC0tc3F1YXNoIGF2ZWMgLS1uby1mZi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjYyCisjOiBidWlsdGluL21lcmdlLmM6MTIwNQogbXNnaWQgIk5vIGNvbW1pdCBzcGVjaWZpZWQgYW5kIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG5vdCBzZXQuIgogbXNnc3RyICIiCiAiUGFzIGRlIHZhbGlkYXRpb24gc3DDqWNpZmnDqWUgZXQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbidlc3QgcGFzIGTDqWZpbmkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI3OQorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjIKIG1zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKIG1zZ3N0ciAiTGEgdmFsaWRhdGlvbiBjb21wcmVzc8OpZSB2ZXJzIHVuZSB0w6p0ZSB2aWRlIG4nZXN0IHBhcyBlbmNvcmUgc3VwcG9ydMOpZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI0CiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgIlVuZSB2YWxpZGF0aW9uIHNhbnMgYXZhbmNlIHJhcGlkZSBuJ2EgcGFzIGRlIHNlbnMgZGFucyB1bmUgdMOqdGUgdmlkZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIiVzIC0gcGFzIHBvc3NpYmxlIGRlIGZ1c2lvbm5lciBjZWNpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4OAorIzogYnVpbHRpbi9tZXJnZS5jOjEyMzEKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICIiCiAiUG9zc2libGUgZGUgZnVzaW9ubmVyIGV4YWN0ZW1lbnQgdW5lIHNldWxlIHZhbGlkYXRpb24gZGFucyB1bmUgdMOqdGUgdmlkZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYW4gdW50cnVzdGVkIEdQRyBzaWduYXR1cmUsIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIkxhIHZhbGlkYXRpb24gJXMgYSB1bmUgc2lnbmF0dXJlIEdQRyBub24gZmlhYmxlLCBwcsOpdGVuZHVtZW50IHBhciAlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzQ3CisjOiBidWlsdGluL21lcmdlLmM6MTI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgYmFkIEdQRyBzaWduYXR1cmUgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiTGEgdmFsaWRhdGlvbiAlcyBhIHVuZSBtYXV2YWlzZSBzaWduYXR1cmUgR1BHIHByw6l0ZW5kdW1lbnQgcGFyICVzLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCiBtc2dzdHIgIkxhIHZhbGlkYXRpb24gJXMgbidhIHBhcyBkZSBzaWduYXR1cmUgR1BHLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBnb29kIEdQRyBzaWduYXR1cmUgYnkgJXNcbiIKIG1zZ3N0ciAiTGEgdmFsaWRhdGlvbiAlcyBhIHVuZSBzaWduYXR1cmUgR1BHIGNvcnJlY3RlIHBhciAlc1xuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQxNQorIzogYnVpbHRpbi9tZXJnZS5jOjEzNTgKIG1zZ2lkICJyZWZ1c2luZyB0byBtZXJnZSB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICJyZWZ1cyBkZSBmdXNpb25uZXIgZGVzIGhpc3RvcmlxdWVzIHNhbnMgcmVsYXRpb24iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDM5CisjOiBidWlsdGluL21lcmdlLmM6MTM2NworbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZS4iCittc2dzdHIgIkTDqWrDoCDDoCBqb3VyLiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMuLiVzXG4iCiBtc2dzdHIgIk1pc2Ugw6Agam91ciAlcy4uJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICJFc3NhaSBkZSBmdXNpb24gdnJhaW1lbnQgdHJpdmlhbGUgZGFucyBsJ2luZGV4Li4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDgzCisjOiBidWlsdGluL21lcmdlLmM6MTQyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3BlLlxuIgogbXNnc3RyICJOb24uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTE1CisjOiBidWlsdGluL21lcmdlLmM6MTQ1MAorbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZS4gWWVlYWghIgorbXNnc3RyICJEw6lqw6Agw6Agam91ci4gT3VhaXPCoCEiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDU2CiBtc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgogbXNnc3RyICJQYXMgcG9zc2libGUgZCdhdmFuY2VyIHJhcGlkZW1lbnQsIGFiYW5kb24uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUzOCBidWlsdGluL21lcmdlLmM6MTYxNworIzogYnVpbHRpbi9tZXJnZS5jOjE0NzkgYnVpbHRpbi9tZXJnZS5jOjE1NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCiBtc2dzdHIgIlJldG91ciBkZSBsJ2FyYnJlIMOgIGwnb3JpZ2luYWwuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICJFc3NhaSBkZSBsYSBzdHJhdMOpZ2llIGRlIGZ1c2lvbiAlcy4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYwOAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIkF1Y3VuZSBzdHJhdMOpZ2llIGRlIGZ1c2lvbiBuJ2EgcHJpcyBlbiBjaGFyZ2UgbGEgZnVzaW9uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYxMAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCiBtc2dzdHIgIkxhIGZ1c2lvbiBhdmVjIGxhIHN0cmF0w6lnaWUgJXMgYSDDqWNob3XDqS5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzaW5nIHRoZSAlcyB0byBwcmVwYXJlIHJlc29sdmluZyBieSBoYW5kLlxuIgogbXNnc3RyICJVdGlsaXNhdGlvbiBkZSAlcyBwb3VyIHByw6lwYXJlciBsYSByw6lzb2x1dGlvbiDDoCBsYSBtYWluLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYzMQorIzogYnVpbHRpbi9tZXJnZS5jOjE1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIHdlbnQgd2VsbDsgc3RvcHBlZCBiZWZvcmUgY29tbWl0dGluZyBhcyByZXF1ZXN0ZWRcbiIKIG1zZ3N0ciAiIgpAQCAtODYzOCwyMyArOTY5MSwyMyBAQAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiBbPGNvbW1pdD5dIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHLDqWbDqXJlbmNlPiBbPHZhbGlkYXRpb24+XSIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE0CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTcKIG1zZ2lkICJvdXRwdXQgYWxsIGNvbW1vbiBhbmNlc3RvcnMiCiBtc2dzdHIgImFmZmljaGVyIHRvdXMgbGVzIGFuY8OqdHJlcyBjb21tdW5zIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTYKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOQogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKIG1zZ3N0ciAidHJvdXZlciBsZXMgYW5jw6p0cmVzIHBvdXIgdW5lIGZ1c2lvbiBzaW1wbGUgw6AgbiBwb2ludHMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIxCiBtc2dpZCAibGlzdCByZXZzIG5vdCByZWFjaGFibGUgZnJvbSBvdGhlcnMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyByw6l2aXNpb25zIGluYWNjZXNzaWJsZXMgZGVwdWlzIGxlcyBhdXRyZXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIzCiBtc2dpZCAiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IgogbXNnc3RyICJlc3QgbGUgcHJlbWllciBhbmPDqnRyZSBkZSBsJ2F1dHJlID8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMgorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjI1CiBtc2dpZCAiZmluZCB3aGVyZSA8Y29tbWl0PiBmb3JrZWQgZnJvbSByZWZsb2cgb2YgPHJlZj4iCiBtc2dzdHIgInRyb3V2ZXIgb8O5IDx2YWxpZGF0aW9uPiBhIGRpdmVyZ8OpIGR1IHJlZmxvZyBkZSA8csOpZsOpcmVuY2U+IgogCkBAIC04Njk4LDYgKzk3NTEsMzcgQEAKIG1zZ2lkICJzZXQgbGFiZWxzIGZvciBmaWxlMS9vcmlnLWZpbGUvZmlsZTIiCiBtc2dzdHIgImTDqWZpbmlyIGxlcyBsYWJlbHMgcG91ciBmaWNoaWVyMS9maWNoaWVyLW9yaWcvZmljaGllcjIiCiAKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gJXMiCittc2dzdHIgIm9wdGlvbiBpbmNvbm51ZSAlcyIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCittc2dzdHIgIkltcG9zc2libGUgZCdhbmFseXNlciBsJ29iamV0ICclcyciCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgYmFzZS4gSWdub3JpbmcgJXMuIgorbXNnaWRfcGx1cmFsICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlcy4gSWdub3JpbmcgJXMuIgorbXNnc3RyWzBdICJpbXBvc3NpYmxlIGRlIGfDqXJlciBwbHVzIGRlICVkIGJhc2UuICVzIGlnbm9yw6kuIgorbXNnc3RyWzFdICJpbXBvc3NpYmxlIGRlIGfDqXJlciBwbHVzIGRlICVkIGJhc2VzLiAlcyBpZ25vcsOpLiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2MworbXNnaWQgIm5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCittc2dzdHIgImltcG9zc2libGUgZGUgZ8OpcmVyIGF1dHJlIGNob3NlIHF1ZSBsYSBmdXNpb24gZGUgZGV1eCB0w6p0ZXMuIgorCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjY5IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlc29sdmUgcmVmICclcyciCittc2dzdHIgImltcG9zc2libGUgZGUgcsOpc291ZHJlIGxhIHLDqWbDqXJlbmNlICclcyciCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVyZ2luZyAlcyB3aXRoICVzXG4iCittc2dzdHIgIkZ1c2lvbiBkZSAlcyBhdmVjICVzXG4iCisKICM6IGJ1aWx0aW4vbWt0cmVlLmM6NjUKIG1zZ2lkICJnaXQgbWt0cmVlIFstel0gWy0tbWlzc2luZ10gWy0tYmF0Y2hdIgogbXNnc3RyICJnaXQgbWt0cmVlIFstel0gWy0tbWlzc2luZ10gWy0tYmF0Y2hdIgpAQCAtODc0MiwxMTAgKzk4MjYsMTEwIEBACiBtc2dpZCAic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiCiBtc2dzdHIgInNhdXRlciBsZXMgZXJyZXVycyBkZSBkw6lwbGFjZW1lbnQvcmVub21tYWdlIgogCi0jOiBidWlsdGluL212LmM6MTUyCisjOiBidWlsdGluL212LmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICJsYSBkZXN0aW5hdGlvbiAnJXMnIG4nZXN0IHBhcyB1biByw6lwZXJ0b2lyZSIKIAotIzogYnVpbHRpbi9tdi5jOjE2MworIzogYnVpbHRpbi9tdi5jOjE2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCiBtc2dzdHIgIlbDqXJpZmljYXRpb24gZHUgcmVub21tYWdlIGRlICclcycgZW4gJyVzJ1xuIgogCi0jOiBidWlsdGluL212LmM6MTY3CisjOiBidWlsdGluL212LmM6MTcwCiBtc2dpZCAiYmFkIHNvdXJjZSIKIG1zZ3N0ciAibWF1dmFpc2Ugc291cmNlIgogCi0jOiBidWlsdGluL212LmM6MTcwCisjOiBidWlsdGluL212LmM6MTczCiBtc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6lwbGFjZXIgdW4gcsOpcGVydG9pcmUgZGFucyBsdWktbcOqbWUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzMKKyM6IGJ1aWx0aW4vbXYuYzoxNzYKIG1zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqXBsYWNlciB1biByw6lwZXJ0b2lyZSBzdXIgdW4gZmljaGllciIKIAotIzogYnVpbHRpbi9tdi5jOjE4MgorIzogYnVpbHRpbi9tdi5jOjE4NQogbXNnaWQgInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiCiBtc2dzdHIgImxlIHLDqXBlcnRvaXJlIHNvdXJjZSBlc3QgdmlkZSIKIAotIzogYnVpbHRpbi9tdi5jOjIwNworIzogYnVpbHRpbi9tdi5jOjIxMAogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgInBhcyBzb3VzIGxlIGNvbnRyw7RsZSBkZSB2ZXJzaW9uIgogCi0jOiBidWlsdGluL212LmM6MjEwCisjOiBidWlsdGluL212LmM6MjEzCiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICJsYSBkZXN0aW5hdGlvbiBleGlzdGUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTgKKyM6IGJ1aWx0aW4vbXYuYzoyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAib3ZlcndyaXRpbmcgJyVzJyIKIG1zZ3N0ciAiw6ljcmFzZW1lbnQgZGUgJyVzJyIKIAotIzogYnVpbHRpbi9tdi5jOjIyMQorIzogYnVpbHRpbi9tdi5jOjIyNAogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCiBtc2dzdHIgIkltcG9zc2libGUgZCfDqWNyYXNlciIKIAotIzogYnVpbHRpbi9tdi5jOjIyNAorIzogYnVpbHRpbi9tdi5jOjIyNwogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAibXVsdGlwbGVzIHNvdXJjZXMgcG91ciBsYSBtw6ptZSBkZXN0aW5hdGlvbiIKIAotIzogYnVpbHRpbi9tdi5jOjIyNgorIzogYnVpbHRpbi9tdi5jOjIyOQogbXNnaWQgImRlc3RpbmF0aW9uIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAibGUgcsOpcGVydG9pcmUgZGUgZGVzdGluYXRpb24gbidleGlzdGUgcGFzIgogCi0jOiBidWlsdGluL212LmM6MjMzCisjOiBidWlsdGluL212LmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogbXNnc3RyICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIAotIzogYnVpbHRpbi9tdi5jOjI1NAorIzogYnVpbHRpbi9tdi5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlc1xuIgogbXNnc3RyICJSZW5vbW1hZ2UgZGUgJXMgZW4gJXNcbiIKIAotIzogYnVpbHRpbi9tdi5jOjI2MCBidWlsdGluL3JlbW90ZS5jOjcxNCBidWlsdGluL3JlcGFjay5jOjM2NQorIzogYnVpbHRpbi9tdi5jOjI2MyBidWlsdGluL3JlbW90ZS5jOjcxMCBidWlsdGluL3JlcGFjay5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW5hbWluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAibGUgcmVub21tYWdlIGRlICclcycgYSDDqWNob3XDqSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1NwogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIDx2YWxpZGF0aW9uPi4uLiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tYWxsIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjYwCisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tc3RkaW4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzEyCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzExCiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIG5vbXMgKHBhcyBkZSBTSEEtMSkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgInV0aWxpc2VyIHNldWxlbWVudCBsZXMgw6l0aXF1ZXR0ZXMgcG91ciBub21tZXIgbGVzIHZhbGlkYXRpb25zIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE1CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE0CiBtc2dpZCAib25seSB1c2UgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgInV0aWxpc2VyIHNldWxlbWVudCBsZXMgcsOpZsOpcmVuY2VzIGNvcnJlc3BvbmRhbnQgw6AgPG1vdGlmPiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNworIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNgogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgIiIKICJhZmZpY2hlciB0b3V0ZXMgbGVzIHZhbGlkYXRpb25zIGFjY2Vzc2libGVzIGRlcHVpcyB0b3V0ZXMgbGVzIHLDqWbDqXJlbmNlcyIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNwogbXNnaWQgInJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAibGlyZSBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE5CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE4CiBtc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgogbXNnc3RyICJhdXRvcmlzZXIgbCdhZmZpY2hhZ2UgZGVzIG5vbXMgYG5vbiBkw6lmaW5pc2AgKHBhciBkw6lmYXV0KSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNAogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgogbXNnc3RyICJkw6lyw6lmw6lyZW5jZXIgbGVzIMOpdGlxdWV0dGVzIGVuIGVudHLDqWUgKHVzYWdlIGludGVybmUpIgogCkBAIC04OTYxLDYgKzEwMDQ1LDEwIEBACiBtc2dpZCAiZ2l0IG5vdGVzIGdldC1yZWYiCiBtc2dzdHIgImdpdCBub3RlcyBnZXQtcmVmIgogCisjOiBidWlsdGluL25vdGVzLmM6OTQKK21zZ2lkICJXcml0ZS9lZGl0IHRoZSBub3RlcyBmb3IgdGhlIGZvbGxvd2luZyBvYmplY3Q6IgorbXNnc3RyICLDiWNyaXJlL8OpZGl0ZXIgbGVzIG5vdGVzIHBvdXIgbCdvYmpldCBzdWl2YW50wqA6IgorCiAjOiBidWlsdGluL25vdGVzLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzdGFydCAnc2hvdycgZm9yIG9iamVjdCAnJXMnIgpAQCAtODk3NSw4MCArMTAwNjMsOTkgQEAKIG1zZ2lkICJmYWlsZWQgdG8gZmluaXNoICdzaG93JyBmb3Igb2JqZWN0ICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgZmluaXIgJ3Nob3cnIHBvdXIgbCdvYmpldCAnJXMnIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTc0IGJ1aWx0aW4vdGFnLmM6MjQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgotbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciBsZSBmaWNoaWVyICclcyciCisjOiBidWlsdGluL25vdGVzLmM6MTk0Cittc2dpZCAicGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgorbXNnc3RyICJ2ZXVpbGxleiBmb3VybmlyIGxlIGNvbnRlbnUgZGUgbGEgbm90ZSBlbiB1dGlsaXNhbnQgbCdvcHRpb24gLW0gb3UgLUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxOTMKLW1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBub3RlIGNvbnRlbnRzIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24iCi1tc2dzdHIgIlZldWlsbGV6IGZvdXJuaXIgbGUgY29udGVudSBkZSBsYSBub3RlIGVuIHV0aWxpc2FudCBsJ29wdGlvbiAtbSBvdSAtRiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjIwMgorIzogYnVpbHRpbi9ub3Rlcy5jOjIwMwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBub3RlIG9iamVjdCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbCdvYmpldCBub3RlIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjA0CisjOiBidWlsdGluL25vdGVzLmM6MjA1CiAjLCBjLWZvcm1hdAotbXNnaWQgIlRoZSBub3RlIGNvbnRlbnRzIGhhdmUgYmVlbiBsZWZ0IGluICVzIgotbXNnc3RyICJMZSBjb250ZW51IGRlIGxhIG5vdGUgYSDDqXTDqSBsYWlzc8OpIGRhbnMgJXMiCittc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCittc2dzdHIgImxlIGNvbnRlbnUgZGUgbGEgbm90ZSBhIMOpdMOpIGxhaXNzw6kgZGFucyAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIzMiBidWlsdGluL3RhZy5jOjQzOQorIzogYnVpbHRpbi9ub3Rlcy5jOjIzMyBidWlsdGluL3RhZy5jOjQzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIzNCBidWlsdGluL3RhZy5jOjQ0MgorIzogYnVpbHRpbi9ub3Rlcy5jOjIzNSBidWlsdGluL3RhZy5jOjQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgb3UgbGlyZSAnJXMnIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjU2CisjOiBidWlsdGluL25vdGVzLmM6MjU0IGJ1aWx0aW4vbm90ZXMuYzozMDUgYnVpbHRpbi9ub3Rlcy5jOjMwNworIzogYnVpbHRpbi9ub3Rlcy5jOjM3MiBidWlsdGluL25vdGVzLmM6NDI3IGJ1aWx0aW4vbm90ZXMuYzo1MTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MTggYnVpbHRpbi9ub3Rlcy5jOjU5NiBidWlsdGluL25vdGVzLmM6NjU5CiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIGwnb2JqZXQgJyVzJy4iCittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCittc2dzdHIgImltcG9zc2libGUgZGUgcsOpc291ZHJlICclcycgY29tbWUgdW5lIHLDqWbDqXJlbmNlIHZhbGlkZS4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNjAKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNTcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxpcmUgbGVzIGluZm9ybWF0aW9ucyBkZSBub3RlIGQndW4gb2JqZXQgbm9uLWJsb2IgJyVzJy4iCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgb2JqZWN0ICclcycuIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbCdvYmpldCAnJXMnLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM2MiBidWlsdGluL25vdGVzLmM6NDE3IGJ1aWx0aW4vbm90ZXMuYzo0OTMKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDUgYnVpbHRpbi9ub3Rlcy5jOjU4MSBidWlsdGluL25vdGVzLmM6NjQ5Ci0jOiBidWlsdGluL25vdGVzLmM6OTQ2CisjOiBidWlsdGluL25vdGVzLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIG5vdGUgZGF0YSBmcm9tIG5vbi1ibG9iIG9iamVjdCAnJXMnLiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlcyBpbmZvcm1hdGlvbnMgZGUgbm90ZSBkJ3VuIG9iamV0IG5vbi1ibG9iICclcycuIgorCisjOiBidWlsdGluL25vdGVzLmM6MzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKK21zZ3N0ciAibGlnbmUgZW4gZW50csOpZSBtYWxmb3Jtw6llIDogJyVzJy4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCittc2dzdHIgImltcG9zc2libGUgZGUgY29waWVyIGxlcyBub3RlcyBkZSAnJXMnIHZlcnMgJyVzJyIKKworIy4gVFJBTlNMQVRPUlM6IHRoZSBmaXJzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEKKyMuIGdpdCBub3RlcyBjb21tYW5kOiAnYWRkJywgJ21lcmdlJywgJ3JlbW92ZScsIGV0Yy4KKyM6IGJ1aWx0aW4vbm90ZXMuYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmdXNpbmcgdG8gJXMgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgorbXNnc3RyICJSZWZ1cyBkZSBmYWlyZSAlcyBzdXIgZGVzIG5vdGVzIGRhbnMgJXMgKGhvcnMgZGUgcmVmcy9ub3Rlcy8pIgorCisjOiBidWlsdGluL25vdGVzLmM6MzY1IGJ1aWx0aW4vbm90ZXMuYzo0MjAgYnVpbHRpbi9ub3Rlcy5jOjQ5NgorIzogYnVpbHRpbi9ub3Rlcy5jOjUwOCBidWlsdGluL25vdGVzLmM6NTg0IGJ1aWx0aW4vbm90ZXMuYzo2NTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDIgYnVpbHRpbi9ub3Rlcy5jOjk0OSBidWlsdGluL25vdGVzLmM6OTcwCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1ldGVycyIKIG1zZ3N0ciAidHJvcCBkZSBwYXJhbcOodHJlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM3NSBidWlsdGluL25vdGVzLmM6NjYyCisjOiBidWlsdGluL25vdGVzLmM6Mzc4IGJ1aWx0aW4vbm90ZXMuYzo2NjUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiTm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIKLW1zZ3N0ciAiUGFzIGRlIG5vdGUgdHJvdXbDqWUgcG91ciBsJ29iamV0ICVzLiIKK21zZ2lkICJubyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgorbXNnc3RyICJwYXMgZGUgbm90ZSB0cm91dsOpZSBwb3VyIGwnb2JqZXQgJXMuIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzk2IGJ1aWx0aW4vbm90ZXMuYzo1NTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzozOTkgYnVpbHRpbi9ub3Rlcy5jOjU2MgogbXNnaWQgIm5vdGUgY29udGVudHMgYXMgYSBzdHJpbmciCiBtc2dzdHIgImNvbnRlbnUgZGUgbGEgbm90ZSBzb3VzIGZvcm1lIGRlIGNoYcOubmUiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozOTkgYnVpbHRpbi9ub3Rlcy5jOjU2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CiBtc2dpZCAibm90ZSBjb250ZW50cyBpbiBhIGZpbGUiCiBtc2dzdHIgImNvbnRlbnUgZGUgbGEgbm90ZSBkYW5zIHVuIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICJyw6l1dGlsaXNlciBldCDDqWRpdGVyIGwnb2JqZXQgZGUgbm90ZSBzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDA1IGJ1aWx0aW4vbm90ZXMuYzo1NjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQogbXNnaWQgInJldXNlIHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAicsOpdXRpbGlzZXIgbCdvYmpldCBkZSBub3RlIHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CiBtc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgogbXNnc3RyICJwZXJtZXR0cmUgZGUgc3RvY2tlciB1bmUgbm90ZSB2aWRlIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDA5IGJ1aWx0aW4vbm90ZXMuYzo0ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjQ4MwogbXNnaWQgInJlcGxhY2UgZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgInJlbXBsYWNlciBsZXMgbm90ZXMgZXhpc3RhbnRlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQzNAorIzogYnVpbHRpbi9ub3Rlcy5jOjQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGFkZCBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKQEAgLTkwNTcsMzAgKzEwMTY0LDMwIEBACiAiSW1wb3NzaWJsZSBkJ2Fqb3V0ZXIgZGVzIG5vdGVzLiBEZXMgbm90ZXMgb250IMOpdMOpIHRyb3V2w6llcyBwb3VyIGwnb2JqZXQgJXMuICIKICJVdGlsaXNleiAnLWYnIHBvdXIgw6ljcmFzZXIgbGVzIG5vdGVzIGV4aXN0YW50ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NDkgYnVpbHRpbi9ub3Rlcy5jOjUyOAorIzogYnVpbHRpbi9ub3Rlcy5jOjQ1MiBidWlsdGluL25vdGVzLmM6NTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiw4ljcmFzZW1lbnQgZGVzIG5vdGVzIGV4aXN0YW50ZXMgcG91ciBsJ29iamV0ICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NjAgYnVpbHRpbi9ub3Rlcy5jOjYyMSBidWlsdGluL25vdGVzLmM6ODg2CisjOiBidWlsdGluL25vdGVzLmM6NDYzIGJ1aWx0aW4vbm90ZXMuYzo2MjQgYnVpbHRpbi9ub3Rlcy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiU3VwcHJlc3Npb24gZGUgbGEgbm90ZSBwb3VyIGwnb2JqZXQgJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NAogbXNnaWQgInJlYWQgb2JqZWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICJsaXJlIGxlcyBvYmpldHMgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4MworIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NgogbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgogbXNnc3RyICIiCiAiY2hhcmdlciBsYSBjb25maWd1cmF0aW9uIGRlIHLDqcOpY3JpdHVyZSBwb3VyIDxjb21tYW5kZT4gKGltcGxpcXVlIC0tc3RkaW4pIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTAxCisjOiBidWlsdGluL25vdGVzLmM6NTA0CiBtc2dpZCAidG9vIGZldyBwYXJhbWV0ZXJzIgogbXNnc3RyICJwYXMgYXNzZXogZGUgcGFyYW3DqHRyZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtOTA4OSwxMiArMTAxOTYsMTIgQEAKICJJbXBvc3NpYmxlIGRlIGNvcGllciBkZXMgbm90ZXMuIERlcyBub3RlcyBvbnQgw6l0w6kgdHJvdXbDqWVzIHBvdXIgbCdvYmpldCAlcy4gIgogIlV0aWxpc2V6ICctZicgcG91ciDDqWNyYXNlciBsZXMgbm90ZXMgZXhpc3RhbnRlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzNAorIzogYnVpbHRpbi9ub3Rlcy5jOjUzNwogIywgYy1mb3JtYXQKLW1zZ2lkICJNaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKLW1zZ3N0ciAiTm90ZXMgbWFucXVhbnRlcyBzdXIgbCdvYmpldCBzb3VyY2UgJXMuIEltcG9zc2libGUgZGUgY29waWVyLiIKK21zZ2lkICJtaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKK21zZ3N0ciAibm90ZXMgbWFucXVhbnRlcyBzdXIgbCdvYmpldCBzb3VyY2UgJXMuIEltcG9zc2libGUgZGUgY29waWVyLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU4NgorIzogYnVpbHRpbi9ub3Rlcy5jOjU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC1tLy1GLy1jLy1DIG9wdGlvbnMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZSAnZWRpdCcgc3ViY29tbWFuZC5cbiIKQEAgLTkxMDMsMTUgKzEwMjEwLDUyIEBACiAiTGVzIG9wdGlvbnMgLW0vLUYvLWMvLUMgc29udCBvYnNvbMOodGVzIHBvdXIgbGEgc291cy1jb21tYW5kZSAnZWRpdCcuXG4iCiAiVmV1aWxsZXogdXRpbGlzZXIgJ2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUMnIMOgIGxhIHBsYWNlLlxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzY4CisjOiBidWlsdGluL25vdGVzLmM6Njg1Cittc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIHN1cHByZXNzaW9uIGRlIGxhIHLDqWbDqXJlbmNlIE5PVEVTX01FUkdFX1BBUlRJQUwiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODcKK21zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9SRUYiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBzdXBwcmVzc2lvbiBkZSBsYSByw6lmw6lyZW5jZSBOT1RFU19NRVJHRV9SRUYiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODkKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICdnaXQgbm90ZXMgbWVyZ2UnIHdvcmt0cmVlIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgc3VwcHJlc3Npb24gZGUgbGEgY29waWUgZGUgdHJhdmFpbCAnZ2l0IG5vdGVzIG1lcmdlJyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcwOQorbXNnaWQgImZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgbGVjdHVyZSBkZSBsYSByw6lmw6lyZW5jZSBOT1RFU19NRVJHRV9QQVJUSUFMIgorCisjOiBidWlsdGluL25vdGVzLmM6NzExCittc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciBsZSBjb21taXQgZGUgTk9URVNfTUVSR0VfUEFSVElBTC4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTMKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsZSBjb21taXQgZGUgTk9URVNfTUVSR0VfUEFSVElBTC4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjYKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBOT1RFU19NRVJHRV9SRUYiCittc2dzdHIgIsOpY2hlYyBkZSBsYSByw6lzb2x1dGlvbiBkZSBOT1RFU19NRVJHRV9SRUYiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjkKK21zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiCittc2dzdHIgImltcG9zc2libGUgZGUgZmluYWxpc2VyIGxhIGZ1c2lvbiBkZSBub3RlcyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5vdGVzIG1lcmdlIHN0cmF0ZWd5ICVzIgorbXNnc3RyICJzdHJhdMOpZ2llIGRlIGZ1c2lvbiBkZSBub3RlcyBpbmNvbm51ZSAlcyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc3MQogbXNnaWQgIkdlbmVyYWwgb3B0aW9ucyIKIG1zZ3N0ciAiT3B0aW9ucyBnw6luw6lyYWxlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjc3MwogbXNnaWQgIk1lcmdlIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbnMgZGUgZnVzaW9uIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzcyCisjOiBidWlsdGluL25vdGVzLmM6Nzc1CiBtc2dpZCAiIgogInJlc29sdmUgbm90ZXMgY29uZmxpY3RzIHVzaW5nIHRoZSBnaXZlbiBzdHJhdGVneSAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uLyIKICJjYXRfc29ydF91bmlxKSIKQEAgLTkxMTksMjQ2ICsxMDI2MywyODYgQEAKICJyw6lzb3VkcmUgbGVzIGNvbmZsaXRzIGRlIG5vdGVzIGVuIHV0aWxpc2FudCBsYSBzdHJhdMOpZ2llIGRvbm7DqWUgKG1hbnVhbC9vdXJzLyIKICJ0aGVpcnMvdW5pb24vY2F0X3NvcnRfdW5pcSkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzcKIG1zZ2lkICJDb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICJWYWxpZGF0aW9uIGRlcyBub3RlcyBub24gZnVzaW9ubsOpZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzkKIG1zZ2lkICJmaW5hbGl6ZSBub3RlcyBtZXJnZSBieSBjb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICJmaW5hbGlzZXIgbGEgZnVzaW9uIGRlIG5vdGVzIGVuIHZhbGlkYW50IGxlcyBub3RlcyBub24gZnVzaW9ubsOpZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgogbXNnc3RyICJBYmFuZG9uIGRlIGxhIHLDqXNvbHV0aW9uIGRlIGZ1c2lvbiBkZXMgbm90ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKIG1zZ3N0ciAiYWJhbmRvbm5lciBsYSBmdXNpb24gZGUgbm90ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiCi1tc2dzdHIgIlVuZSBmdXNpb24gZGUgbm90ZXMgZGFucyAlcyBlc3QgZMOpasOgIGVuIGNvdXJzIGF2ZWMgJXMiCisjOiBidWlsdGluL25vdGVzLmM6Nzk0Cittc2dpZCAiY2Fubm90IG1peCAtLWNvbW1pdCwgLS1hYm9ydCBvciAtcy8tLXN0cmF0ZWd5IgorbXNnc3RyICItLWNvbW1pdCwgLS1hYm9ydCBldCAtcy8tLXN0cmF0ZWd5IHNvbnQgbXV0dWVsbGVtZW50IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTkKK21zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCittc2dzdHIgInZvdXMgZGV2ZXogc3DDqWNpZmllciB1bmUgcsOpZsOpcmVuY2UgZGUgbm90ZXMgw6AgZnVzaW9ubmVyIgorCisjOiBidWlsdGluL25vdGVzLmM6ODIzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gLXMvLS1zdHJhdGVneTogJXMiCittc2dzdHIgIi1zLy0tc3RyYXRlZ3kgaW5jb25udcKgOiAlcyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJhIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKK21zZ3N0ciAidW5lIGZ1c2lvbiBkZSBub3RlcyBkYW5zICVzIGVzdCBkw6lqw6AgZW4gY291cnMgYXZlYyAlcyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg2MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIgorbXNnc3RyICIiCisiaW1wb3NzaWJsZSBkZSBzdG9ja2VyIGxlIGxpZW4gdmVycyBsYSByw6lmw6lyZW5jZSBhY3R1ZWxsZSBhdXggbm90ZXMgKCVzKSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZC4gRml4IGNvbmZsaWN0cyBpbiAlcyBhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAiCisiJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcsIG9yIGFib3J0IHRoZSBtZXJnZSB3aXRoICdnaXQgbm90ZXMgbWVyZ2UgLS0iCisiYWJvcnQnLlxuIgorbXNnc3RyICIiCisiTGEgZnVzaW9uIGF1dG9tYXRpcXVlIGRlcyBub3RlcyBhIMOpY2hvdcOpLiBDb3JyaWdleiBsZXMgY29uZmxpdHMgZGFucyAlcyBldCAiCisidmFsaWRlIGxlIHLDqXN1bHRhdCBhdmVjICdnaXQgbm90ZXMgbWVyZ2VzIC0tY29tbWl0Jywgb3UgYWJhbmRvbm5leiBsYSBmdXNpb24gIgorImF2ZWMgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0Jy5cbiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKIG1zZ3N0ciAiTCdvYmpldCAlcyBuJ2EgcGFzIGRlIG5vdGVcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5NgorIzogYnVpbHRpbi9ub3Rlcy5jOjg5OQogbXNnaWQgImF0dGVtcHQgdG8gcmVtb3ZlIG5vbi1leGlzdGVudCBub3RlIGlzIG5vdCBhbiBlcnJvciIKIG1zZ3N0ciAiIgogImxhIHRlbnRhdGl2ZSBkZSBzdXBwcmVzc2lvbiBkJ3VuZSBub3RlIG5vbiBleGlzdGFudGUgbidlc3QgcGFzIHVuZSBlcnJldXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDIKIG1zZ2lkICJyZWFkIG9iamVjdCBuYW1lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGlyZSBsZXMgbm9tcyBkJ29iamV0IGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NDAgYnVpbHRpbi9wcnVuZS5jOjEwNSBidWlsdGluL3dvcmt0cmVlLmM6MTI3Cittc2dpZCAiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IgorbXNnc3RyICJuZSBwYXMgc3VwcHJpbWVyLCBhZmZpY2hlciBzZXVsZW1lbnQiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NDEKK21zZ2lkICJyZXBvcnQgcHJ1bmVkIG5vdGVzIgorbXNnc3RyICJhZmZpY2hlciBsZXMgbm90ZXMgw6lsaW1pbsOpZXMiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODMKIG1zZ2lkICJub3Rlcy1yZWYiCiBtc2dzdHIgInLDqWbDqXJlbmNlcy1ub3RlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk4MQorIzogYnVpbHRpbi9ub3Rlcy5jOjk4NAogbXNnaWQgInVzZSBub3RlcyBmcm9tIDxub3Rlcy1yZWY+IgogbXNnc3RyICJ1dGlsaXNlciBsZXMgbm90ZXMgZGVwdWlzIDxyw6lmw6lyZW5jZXMtbm90ZXM+IgogCi0jOiBidWlsdGluL25vdGVzLmM6MTAxNiBidWlsdGluL3JlbW90ZS5jOjE2MjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDE5CiAjLCBjLWZvcm1hdAotbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCi1tc2dzdHIgIlNvdXMtY29tbWFuZGUgaW5jb25udWUgOiAlcyIKK21zZ2lkICJ1bmtub3duIHN1YmNvbW1hbmQ6ICVzIgorbXNnc3RyICJzb3VzLWNvbW1hbmRlIGluY29ubnVlIDogJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPG9wdGlvbnM+Li4uXSBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgW29wdGlvbnMuLi5dIFs8IDxsaXN0ZS1yw6lmw6lyZW5jZXM+IHwgPCA8bGlzdGUtIgogIm9iamV0cz5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxvcHRpb25zPi4uLl0gPGJhc2UtbmFtZT4gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIFtvcHRpb25zLi4uXSBiYXNlLW5hbWUgWzwgPGxpc3RlLXLDqWbDqXJlbmNlcz4gfCA8IDxsaXN0ZS0iCiAib2JqZXRzPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTc1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTc4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3OSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlIGVycm9yICglZCkiCiBtc2dzdHIgImVycmV1ciBkZSBjb21wcmVzc2lvbiAoJWQpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NjgKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIHBhY2tzIGFyZSBzcGxpdCBkdWUgdG8gcGFjay5wYWNrU2l6ZUxpbWl0IgotbXNnc3RyICJkw6lzYWN0aXZhdGlvbiBkZSBsJ8OpY3JpdHVyZSBlbiBiaXRtYXAsIGxlcyBmaWNoaWVycyBwYXF1ZXRzIHNvbnQgc2NpbmTDqXMgw6AgY2F1c2UgZGUgcGFjay5wYWNrU2l6ZUxpbWl0IgorbXNnc3RyICIiCisiZMOpc2FjdGl2YXRpb24gZGUgbCfDqWNyaXR1cmUgZW4gYml0bWFwLCBsZXMgZmljaGllcnMgcGFxdWV0cyBzb250IHNjaW5kw6lzIMOgICIKKyJjYXVzZSBkZSBwYWNrLnBhY2tTaXplTGltaXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzc2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc4MQogbXNnaWQgIldyaXRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiw4ljcml0dXJlIGRlcyBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTAxNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMDcwCiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBhcyBzb21lIG9iamVjdHMgYXJlIG5vdCBiZWluZyBwYWNrZWQiCiBtc2dzdHIgIiIKICJkw6lzYWN0aXZhdGlvbiBkZSBsJ8OpY3JpdHVyZSBlbiBiaXRtYXAgY2FyIGNlcnRhaW5zIG9iamV0cyBuZSBzb250IHBhcyAiCiAiY29tcHJlc3PDqXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjE3NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzQ2CiBtc2dpZCAiQ29tcHJlc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAiQ29tcHJlc3Npb24gZGVzIG9iamV0cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTYzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAidmVyc2lvbiBkJ2luZGV4IG5vbiBzdXBwb3J0w6llICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1NjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICJtYXV2YWlzZSB2ZXJzaW9uIGQnaW5kZXggJyVzJyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTk3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTMKIG1zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAibmUgcGFzIGFmZmljaGVyIGxhIGJhcnJlIGRlIHByb2dyZXNzaW9uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1OTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5NQogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgImFmZmljaGVyIGxhIGJhcnJlIGRlIHByb2dyZXNzaW9uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5NwogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgogbXNnc3RyICJhZmZpY2hlciBsYSBiYXJyZSBkZSBwcm9ncmVzc2lvbiBkdXJhbnQgbGEgcGhhc2UgZCfDqWNyaXRlIGRlcyBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAwCiBtc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgogbXNnc3RyICJzaW1pbGFpcmUgw6AgLS1hbGwtcHJvZ3Jlc3MgcXVhbmQgbGEgYmFycmUgZGUgcHJvZ3Jlc3Npb24gZXN0IGFmZmljaMOpZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjA1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDEKIG1zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgogbXNnc3RyICJ2ZXJzaW9uWyxvZmZzZXRdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMgogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgIiIKICLDqWNyaXJlIGxlIGZpY2hpZXIgZCdpbmRleCBkdSBwYXF1ZXQgZGFucyBsZSBmb3JtYXQgZCdpbmRleCBkZSB2ZXJzaW9uICIKICJzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNQogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCiBtc2dzdHIgInRhaWxsZSBtYXhpbXVtIGRlIGNoYXF1ZSBmaWNoaWVyIHBhcXVldCBlbiBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA3CiBtc2dpZCAiaWdub3JlIGJvcnJvd2VkIG9iamVjdHMgZnJvbSBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIgogbXNnc3RyICJpZ25vcmVyIGxlcyBvYmpldHMgZW1wcnVudMOpcyDDoCB1biBhdXRyZSBtYWdhc2luIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwOQogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAiaWdub3JlciBsZXMgb2JqZXRzIGVtcGFxdWV0w6lzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxMQogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG9iamVjdHMiCiBtc2dzdHIgImxpbWl0ZXIgbGEgZmVuw6p0cmUgZCdlbXBhcXVldGFnZSBwYXIgb2JqZXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxMwogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgIiIKICJsaW1pdGVyIGxhIGZlbsOqdHJlIGQnZW1wYXF1ZXRhZ2UgcGFyIG3DqW1vaXJlIGVuIHBsdXMgZGUgbGEgbGltaXRlIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNQogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICIiCiAibG9uZ3VldXIgbWF4aW11bSBkZSBsYSBjaGHDrm5lIGRlIGRlbHRhIGF1dG9yaXPDqWUgZGFucyBsZSBwYXF1ZXQgcsOpc3VsdGFudCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjIxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTcKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBkZWx0YXMiCiBtc2dzdHIgInLDqXV0aWxpc2VyIGxlcyBkZWx0YXMgZXhpc3RhbnRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxOQogbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCiBtc2dzdHIgInLDqXV0aWxpc2VyIGxlcyBvYmpldHMgZXhpc3RhbnRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyMQogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKIG1zZ3N0ciAidXRpbGlzZXIgbGVzIG9iamV0cyBPRlNfREVMVEEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIzCiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogInV0aWxpc2VyIGRlcyBmaWxzIGxvcnMgZGUgbGEgcmVjaGVyY2hlIHBvdXIgdW5lIG1laWxsZXVycyBjb3JyZXNwb25kYW5jZSBkZXMgIgogImRlbHRhcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjI5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjUKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICJuZSBwYXMgY3LDqWVyIHVuIHBhcXVldCB2aWRlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyNwogbXNnaWQgInJlYWQgcmV2aXNpb24gYXJndW1lbnRzIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxpcmUgbGVzIHBhcmFtw6h0cmVzIGRlIHLDqXZpc2lvbiBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyOQogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICJsaW1pdGVyIGxlcyBvYmpldHMgw6AgY2V1eCBxdWkgbmUgc29udCBwYXMgZW5jb3JlIGVtcGFxdWV0w6lzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMgogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICJpbmNsdXJlIGxlcyBvYmpldHMgYWNjZXNzaWJsZXMgZGVwdWlzIHRvdXRlIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNQogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAiaW5jbHVyZSBsZXMgb2JqZXRzIHLDqWbDqXJlbmPDqXMgcGFyIGxlcyDDqWzDqW1lbnRzIGRlIHJlZmxvZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzgKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICJpbmNsdXJlIGxlcyBvYmpldHMgcsOpZsOpcmVuY8OpcyBwYXIgbCdpbmRleCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDEKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgImFmZmljaGVyIGwnZW1wYXF1ZXRhZ2Ugc3VyIGxhIHNvcnRpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDMKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgImluY2x1cmUgbGVzIG9iamV0cyBkJ8OpdGlxdWV0dGVzIHF1aSByw6lmw6hyZW50IMOgIGRlcyBvYmpldHMgw6AgZW1wYXF1ZXRlciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDUKIG1zZ2lkICJrZWVwIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgImdhcmRlciBsZXMgb2JqZXRzIGluYWNjZXNzaWJsZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1MCBwYXJzZS1vcHRpb25zLmg6MTQyCi1tc2dpZCAidGltZSIKLW1zZ3N0ciAiaGV1cmUiCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDcKK21zZ2lkICJwYWNrIGxvb3NlIHVucmVhY2hhYmxlIG9iamVjdHMiCittc2dzdHIgImVtcGFxdWV0ZXIgbGVzIG9iamV0cyBpbmFjY2Vzc2libGVzIGTDqXRhY2jDqXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ5CiBtc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgImTDqXBhcXVldGVyIGxlcyBvYmpldHMgaW5hY2Nlc3NpYmxlcyBwbHVzIHLDqWNlbnRzIHF1ZSA8aGV1cmU+IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1MgogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICJjcsOpZXIgZGVzIHBhcXVldHMgbMOpZ2VycyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTQKIG1zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKIG1zZ3N0ciAiY3LDqWVyIGRlcyBwYXF1ZXRzIHBlcm1ldHRhbnQgZGVzIHLDqWN1cMOpcmF0aW9ucyBzdXBlcmZpY2llbGxlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTYKIG1zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgogbXNnc3RyICJpZ25vcmVyIGxlcyBwYXF1ZXRzIHF1aSBvbnQgdW4gZmljaGllciAua2VlcCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjYwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTgKIG1zZ2lkICJwYWNrIGNvbXByZXNzaW9uIGxldmVsIgogbXNnc3RyICJuaXZlYXUgZGUgY29tcHJlc3Npb24gZHUgcGFxdWV0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2MAogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICJuZSBwYXMgY2FjaGVyIGxlcyB2YWxpZGF0aW9ucyBwYXIgZ3JlZmZlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjY0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NjIKIG1zZ2lkICJ1c2UgYSBiaXRtYXAgaW5kZXggaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIGNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKICJ1dGlsaXNlciB1biBpbmRleCBlbiBiaXRtYXAgc2kgZGlzcG9uaWJsZSBwb3VyIGFjY8OpbGVyZXIgbGUgZMOpY29tcHRlIGRlcyAiCiAib2JqZXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2NAogbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IHRvZ2V0aGVyIHdpdGggdGhlIHBhY2sgaW5kZXgiCiBtc2dzdHIgIsOpY3JpcmUgdW4gaW5kZXggZW4gYml0bWFwIGFzc29jacOpIMOgIGwnaW5kZXggZGUgcGFxdWV0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk5MwogbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgIkTDqWNvbXB0ZSBkZXMgb2JqZXRzIgogCkBAIC05Mzg2LDE1ICsxMDU3MCwxMSBAQAogbXNnaWQgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tZXhwaXJlIDx0aW1lPl0gWy0tXSBbPGhlYWQ+Li4uXSIKIG1zZ3N0ciAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1leHBpcmUgPGhldXJlPl0gWy0tXSBbPGhlYWQ+Li4uXSIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjEwNSBidWlsdGluL3dvcmt0cmVlLmM6MTI1Ci1tc2dpZCAiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IgotbXNnc3RyICJuZSBwYXMgc3VwcHJpbWVyLCBhZmZpY2hlciBzZXVsZW1lbnQiCi0KLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDYgYnVpbHRpbi93b3JrdHJlZS5jOjEyNgorIzogYnVpbHRpbi9wcnVuZS5jOjEwNiBidWlsdGluL3dvcmt0cmVlLmM6MTI4CiBtc2dpZCAicmVwb3J0IHBydW5lZCBvYmplY3RzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgb2JqZXRzIMOpbGltaW7DqXMiCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkgYnVpbHRpbi93b3JrdHJlZS5jOjEyOAorIzogYnVpbHRpbi9wcnVuZS5jOjEwOSBidWlsdGluL3dvcmt0cmVlLmM6MTMwCiBtc2dpZCAiZXhwaXJlIG9iamVjdHMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgImZhaXJlIGV4cGlyZXIgbGVzIG9iamV0cyBwbHVzIHZpZXV4IHF1ZSA8aGV1cmU+IgogCkBAIC05NDAyLDU5ICsxMDU4Miw0NSBAQAogbXNnaWQgImNhbm5vdCBwcnVuZSBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBuZXR0b3llciBkYW5zIHVuIGTDqXDDtHQgZCdvYmpldHMgcHLDqWNpZXV4IgogCi0jOiBidWlsdGluL3B1bGwuYzo3MgorIzogYnVpbHRpbi9wdWxsLmM6NTEgYnVpbHRpbi9wdWxsLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgorbXNnc3RyICJWYWxldXIgaW52YWxpZGUgcG91ciAlcyA6ICVzIgorCisjOiBidWlsdGluL3B1bGwuYzo3MwogbXNnaWQgImdpdCBwdWxsIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPGTDqXDDtHQ+IFs8c3DDqWNpZmljYXRpb24tZGUtcsOpZsOpcmVuY2U+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEyMAorIzogYnVpbHRpbi9wdWxsLmM6MTIxCiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIG1lcmdpbmciCiBtc2dzdHIgIk9wdGlvbnMgcmVsYXRpdmVzIMOgIGxhIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTIzCisjOiBidWlsdGluL3B1bGwuYzoxMjQKIG1zZ2lkICJpbmNvcnBvcmF0ZSBjaGFuZ2VzIGJ5IHJlYmFzaW5nIHJhdGhlciB0aGFuIG1lcmdpbmciCiBtc2dzdHIgImluY29ycG9yZXIgbGVzIG1vZGlmaWNhdGlvbnMgZW4gcmViYXNhbnQgcGx1dMO0dCBxdSdlbiBmdXNpb25uYW50IgogCi0jOiBidWlsdGluL3B1bGwuYzoxNDcgYnVpbHRpbi9yZXZlcnQuYzoxMDUKKyM6IGJ1aWx0aW4vcHVsbC5jOjE0OCBidWlsdGluL3JldmVydC5jOjEwMQogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAiYXV0b3Jpc2VyIGwnYXZhbmNlIHJhcGlkZSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTUzCi1tc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgotbXNnc3RyICJ2w6lyaWZpZXIgcXVlIGxlIGNvbW1pdCBub21tw6kgYSB1bmUgc2lnbmF0dXJlIEdQRyB2YWxpZGUiCi0KLSM6IGJ1aWx0aW4vcHVsbC5jOjE1NgorIzogYnVpbHRpbi9wdWxsLmM6MTU3CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciByZWJhc2UiCiBtc2dzdHIgInJlbWlzZXIgYXZhbnQgZXQgcsOpYXBwbGlxdWVyIGFwcsOocyBsZSByZWJhc2FnZSBhdXRvbWF0aXF1ZW1lbnQiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE3MgorIzogYnVpbHRpbi9wdWxsLmM6MTczCiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIGZldGNoaW5nIgogbXNnc3RyICJPcHRpb25zIHJlbGF0aXZlcyBhdSByYXBhdHJpZW1lbnQiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5NAorIzogYnVpbHRpbi9wdWxsLmM6MTk1CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgcHVsbGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJub21icmUgZGUgc291cy1tb2R1bGVzIHRpcsOpcyBlbiBwYXJhbGzDqGxlIgogCi0jOiBidWlsdGluL3B1bGwuYzoyODMKKyM6IGJ1aWx0aW4vcHVsbC5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciBwdWxsLmZmOiAlcyIKIG1zZ3N0ciAiVmFsZXVyIGludmFsaWRlIHBvdXIgcHVsbC5mZiA6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzozNzkKLW1zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCi1tc2dzdHIgIiIKLSJpbXBvc3NpYmxlIGRlIHRpcmVyIGF2ZWMgcmViYXNhZ2UuIFZvdXMgYXZleiBkZXMgbW9kaWZpY2F0aW9ucyBub24gaW5kZXjDqWVzLiIKLQotIzogYnVpbHRpbi9wdWxsLmM6Mzg1Ci1tc2dpZCAiQWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgotbXNnc3RyICJEZSBwbHVzLCB2b3RyZSBpbmRleCBjb250aWVudCBkZXMgbW9kaWZpY2F0aW9ucyBub24gdmFsaWTDqWVzLiIKLQotIzogYnVpbHRpbi9wdWxsLmM6Mzg3Ci1tc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCi1tc2dzdHIgIiIKLSJpbXBvc3NpYmxlIGRlIHRpcmVyIGF2ZWMgcmViYXNhZ2XCoDogdm90cmUgaW5kZXggY29udGllbnQgZGVzIG1vZGlmaWNhdGlvbnMgIgotIm5vbiB2YWxpZMOpZXMuIgotCi0jOiBidWlsdGluL3B1bGwuYzo0NjMKKyM6IGJ1aWx0aW4vcHVsbC5jOjM5NwogbXNnaWQgIiIKICJUaGVyZSBpcyBubyBjYW5kaWRhdGUgZm9yIHJlYmFzaW5nIGFnYWluc3QgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCAiCiAiZmV0Y2hlZC4iCkBAIC05NDYyLDE0ICsxMDYyOCwxNCBAQAogIklsIG4neSBhIHBhcyBkZSBjYW5kaWRhdGUgc3VyIGxhcXVlbGxlIHJlYmFzZXIgcGFybWkgbGVzIHLDqWbDqXJlbmNlcyBxdWUgdm91cyAiCiAidmVuZXogZGUgcsOpY3Vww6lyZXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NjUKKyM6IGJ1aWx0aW4vcHVsbC5jOjM5OQogbXNnaWQgIiIKICJUaGVyZSBhcmUgbm8gY2FuZGlkYXRlcyBmb3IgbWVyZ2luZyBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0IGZldGNoZWQuIgogbXNnc3RyICIiCiAiSWwgbid5IGEgcGFzIGRlIGNhbmRpZGF0ZSBhdmVjIGxhcXVlbGxlIGZ1c2lvbm5lciBwYXJtaSBsZXMgcsOpZsOpcmVuY2VzIHF1ZSAiCiAidm91cyB2ZW5leiBkZSByw6ljdXDDqXJlci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ2NgorIzogYnVpbHRpbi9wdWxsLmM6NDAwCiBtc2dpZCAiIgogIkdlbmVyYWxseSB0aGlzIG1lYW5zIHRoYXQgeW91IHByb3ZpZGVkIGEgd2lsZGNhcmQgcmVmc3BlYyB3aGljaCBoYWQgbm9cbiIKICJtYXRjaGVzIG9uIHRoZSByZW1vdGUgZW5kLiIKQEAgLTk0NzcsNyArMTA2NDMsNyBAQAogIkfDqW7DqXJhbGVtZW50LCBjZWxhIHNpZ25pZmllIHF1ZSB2b3VzIGF2ZXogaW5kaXF1w6kgdW4gc3DDqWNpZmljYXRldXJcbiIKICJkZSByw6lmw6lyZW5jZSBqb2tlciBxdWkgbidhIHBhcyBldSBkZSBjb3JyZXNwb25kYW5jZSBzdXIgbGUgc2VydmV1ciBkaXN0YW50LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDY5CisjOiBidWlsdGluL3B1bGwuYzo0MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBwdWxsIGZyb20gdGhlIHJlbW90ZSAnJXMnLCBidXQgZGlkIG5vdCBzcGVjaWZ5XG4iCkBAIC05NDg5LDQyICsxMDY1NSw0NCBAQAogImNvbmZpZ3VyYXRpb25cbiIKICJwb3VyIGxhIGJyYW5jaGUgYWN0dWVsbGUsIHZvdXMgZGV2ZXogc3DDqWNpZmllciBsYSBicmFuY2hlIGF2ZWMgbGEgY29tbWFuZGUuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NzQgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MworIzogYnVpbHRpbi9wdWxsLmM6NDA4IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKIG1zZ2lkICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guIgogbXNnc3RyICJWb3VzIG4nw6p0ZXMgYWN0dWVsbGVtZW50IHN1ciBhdWN1bmUgYnJhbmNoZS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3NiBidWlsdGluL3B1bGwuYzo0OTEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQorIzogYnVpbHRpbi9wdWxsLmM6NDEwIGJ1aWx0aW4vcHVsbC5jOjQyNSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIHJlYmFzZSBhZ2FpbnN0LiIKIG1zZ3N0ciAiVmV1aWxsZXogc3DDqWNpZmllciBzdXIgcXVlbGxlIGJyYW5jaGUgdm91cyBzb3VoYWl0ZXIgcmViYXNlci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3OCBidWlsdGluL3B1bGwuYzo0OTMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgorIzogYnVpbHRpbi9wdWxsLmM6NDEyIGJ1aWx0aW4vcHVsbC5jOjQyNyBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIG1lcmdlIHdpdGguIgogbXNnc3RyICJWZXVpbGxleiBzcMOpY2lmaWVyIHVuZSBicmFuY2hlIGF2ZWMgbGFxdWVsbGUgZnVzaW9ubmVyLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDc5IGJ1aWx0aW4vcHVsbC5jOjQ5NAorIzogYnVpbHRpbi9wdWxsLmM6NDEzIGJ1aWx0aW4vcHVsbC5jOjQyOAogbXNnaWQgIlNlZSBnaXQtcHVsbCgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIlLDqWbDqXJlei12b3VzIMOgIGdpdC1wdWxsKDEpIHBvdXIgZGUgcGx1cyBhbXBsZXMgZMOpdGFpbHMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0ODEgYnVpbHRpbi9wdWxsLmM6NDg3IGJ1aWx0aW4vcHVsbC5jOjQ5NgorIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQyMSBidWlsdGluL3B1bGwuYzo0MzAKICM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKIG1zZ2lkICI8cmVtb3RlPiIKIG1zZ3N0ciAiPGRpc3RhbnQ+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0ODEgYnVpbHRpbi9wdWxsLmM6NDk2IGJ1aWx0aW4vcHVsbC5jOjUwMQorIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMCBidWlsdGluL3B1bGwuYzo0MzUgZ2l0LXJlYmFzZS5zaDo0NTEKICM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKIG1zZ2lkICI8YnJhbmNoPiIKIG1zZ3N0ciAiPGJyYW5jaGU+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0ODkgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDIzIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKIG1zZ2lkICJUaGVyZSBpcyBubyB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiUGFzIGQnaW5mb3JtYXRpb24gZGUgc3VpdmkgZGlzdGFudCBwb3VyIGxhIGJyYW5jaGUgYWN0dWVsbGUuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0OTggZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQorIzogYnVpbHRpbi9wdWxsLmM6NDMyIGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKIG1zZ2lkICIiCiAiSWYgeW91IHdpc2ggdG8gc2V0IHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGJyYW5jaCB5b3UgY2FuIGRvIHNvIHdpdGg6IgotbXNnc3RyICJTaSB2b3VzIHNvdWhhaXRleiBpbmRpcXVlciBsJ2luZm9ybWF0aW9uIGRlIHN1aXZpIGRpc3RhbnQgcG91ciBjZXR0ZSBicmFuY2hlLCB2b3VzIHBvdXZleiBsZSBmYWlyZSBhdmVjwqA6IgorbXNnc3RyICIiCisiU2kgdm91cyBzb3VoYWl0ZXogaW5kaXF1ZXIgbCdpbmZvcm1hdGlvbiBkZSBzdWl2aSBkaXN0YW50IHBvdXIgY2V0dGUgIgorImJyYW5jaGUsIHZvdXMgcG91dmV6IGxlIGZhaXJlIGF2ZWPCoDoiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjUwMworIzogYnVpbHRpbi9wdWxsLmM6NDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVzIHRvIG1lcmdlIHdpdGggdGhlIHJlZiAnJXMnXG4iCkBAIC05NTM0LDE3ICsxMDcwMiwyOSBAQAogIiclcydcbiIKICJkdSBzZXJ2ZXVyIGRpc3RhbnQsIG1haXMgY2V0dGUgcsOpZsOpcmVuY2UgbidhIHBhcyDDqXTDqSByw6ljdXDDqXLDqWUuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NjQKKyM6IGJ1aWx0aW4vcHVsbC5jOjc1NAorbXNnaWQgImlnbm9yaW5nIC0tdmVyaWZ5LXNpZ25hdHVyZXMgZm9yIHJlYmFzZSIKK21zZ3N0ciAiLS12ZXJpZnktc2lnbmF0dXJlcyBlc3QgaWdub3LDqSBwb3VyIHVuIHJlYmFzYWdlIgorCisjOiBidWlsdGluL3B1bGwuYzo4MDEKIG1zZ2lkICItLVtuby1dYXV0b3N0YXNoIG9wdGlvbiBpcyBvbmx5IHZhbGlkIHdpdGggLS1yZWJhc2UuIgogbXNnc3RyICJsJ29wdGlvbiAtLVtuby1dYXV0b3N0YXNoIG4nZXN0IHZhbGlkZSBxdSdhdmVjIC0tcmViYXNlLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODcyCisjOiBidWlsdGluL3B1bGwuYzo4MDkKIG1zZ2lkICJVcGRhdGluZyBhbiB1bmJvcm4gYnJhbmNoIHdpdGggY2hhbmdlcyBhZGRlZCB0byB0aGUgaW5kZXguIgogbXNnc3RyICIiCiAiTWlzZSDDoCBqb3VyIGQndW5lIGJyYW5jaGUgbm9uIGVuY29yZSBjcsOpw6llIGF2ZWMgbGVzIGNoYW5nZW1lbnRzIGFqb3V0w6lzIGRhbnMgIgogImwnaW5kZXguIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MDAKKyM6IGJ1aWx0aW4vcHVsbC5jOjgxMgorbXNnaWQgInB1bGwgd2l0aCByZWJhc2UiCittc2dzdHIgInRpcmVyIGF2ZWMgdW4gcmViYXNhZ2UiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjgxMworbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCittc2dzdHIgInZldWlsbGV6IGxlcyB2YWxpZGVyIG91IGxlcyByZW1pc2VyLiIKKworIzogYnVpbHRpbi9wdWxsLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgpAQCAtOTU1NSw3ICsxMDczNSw3IEBACiAiYXZhbmNlIHJhcGlkZSBkZSB2b3RyZSBjb3BpZSBkZSB0cmF2YWlsXG4iCiAiZGVwdWlzIGxlIGNvbW1pdCAlcy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwNQorIzogYnVpbHRpbi9wdWxsLmM6ODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgZmFzdC1mb3J3YXJkIHlvdXIgd29ya2luZyB0cmVlLlxuIgpAQCAtOTU3MywxMSArMTA3NTMsMTEgQEAKICIkIGdpdCByZXNldCAtLWhhcmRcbiIKICJwb3VyIHLDqWfDqW7DqXJlci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkyMAorIzogYnVpbHRpbi9wdWxsLmM6ODU4CiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZC4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZnVzaW9ubmVyIGRlIG11bHRpcGxlcyBicmFuY2hlcyBzdXIgdW5lIHTDqnRlIHZpZGUuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MjQKKyM6IGJ1aWx0aW4vcHVsbC5jOjg2MgogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcy4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcmViYXNlciBzdXIgZGUgbXVsdGlwbGVzIGJyYW5jaGVzLiIKIApAQCAtOTc1NiwxMiArMTA5MzYsMTIgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBwb3Vzc2VyIGRlcyByw6lmw6lyZW5jZXMgdmVycyAnJXMnIgogCi0jOiBidWlsdGluL3B1c2guYzozNjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICJtYXV2YWlzIGTDqXDDtHQgJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzY2CisjOiBidWlsdGluL3B1c2guYzozNjcKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC05NzgzLDEwNCArMTA5NjMsMTE4IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDxub20+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4MQorIzogYnVpbHRpbi9wdXNoLmM6Mzg1CiBtc2dpZCAiLS1hbGwgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCBldCAtLXRhZ3Mgc29udCBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3B1c2guYzozODIKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4NgogbXNnaWQgIi0tYWxsIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tYWxsIG5lIHBldXQgcGFzIMOqdHJlIGNvbWJpbsOpIGF2ZWMgZGVzIHNww6ljaWZpY2F0aW9ucyBkZSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg3CisjOiBidWlsdGluL3B1c2guYzozOTEKIG1zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbWlycm9yIGV0IC0tdGFncyBzb250IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4OAorIzogYnVpbHRpbi9wdXNoLmM6MzkyCiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1taXJyb3IgbmUgcGV1dCBwYXMgw6p0cmUgY29tYmluw6kgYXZlYyBkZXMgc3DDqWNpZmljYXRpb25zIGRlIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL3B1c2guYzozOTMKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5NwogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCBldCAtLW1pcnJvciBzb250IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUwNQorIzogYnVpbHRpbi9wdXNoLmM6NTE1CiBtc2dpZCAicmVwb3NpdG9yeSIKIG1zZ3N0ciAiZMOpcMO0dCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCisjOiBidWlsdGluL3B1c2guYzo1MTYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKIG1zZ2lkICJwdXNoIGFsbCByZWZzIgogbXNnc3RyICJwb3Vzc2VyIHRvdXRlcyBsZXMgcsOpZsOpcmVuY2VzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MDcgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNyBidWlsdGluL3NlbmQtcGFjay5jOjE2MwogbXNnaWQgIm1pcnJvciBhbGwgcmVmcyIKIG1zZ3N0ciAicmVmbMOpdGVyIHRvdXRlcyBsZXMgcsOpZsOpcmVuY2VzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxOQogbXNnaWQgImRlbGV0ZSByZWZzIgogbXNnc3RyICJzdXBwcmltZXIgbGVzIHLDqWbDqXJlbmNlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTEwCisjOiBidWlsdGluL3B1c2guYzo1MjAKIG1zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCiBtc2dzdHIgIiIKICJwb3Vzc2VyIGxlcyDDqXRpcXVldHRlcyAobmUgcGV1dCBwYXMgw6p0cmUgdXRpbGlzw6kgYXZlYyAtLWFsbCBvdSAtLW1pcnJvcikiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxMyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorIzogYnVpbHRpbi9wdXNoLmM6NTIzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CiBtc2dpZCAiZm9yY2UgdXBkYXRlcyIKIG1zZ3N0ciAiZm9yY2VyIGxlcyBtaXNlcyDDoCBqb3VyIgogCi0jOiBidWlsdGluL3B1c2guYzo1MTUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNSBidWlsdGluL3NlbmQtcGFjay5jOjE3NQogbXNnaWQgInJlZm5hbWU+OjxleHBlY3QiCiBtc2dzdHIgIm5vbSBkZSByw6lmw6lyZW5jZT46PGF0dGVuZHUiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxNiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgorIzogYnVpbHRpbi9wdXNoLmM6NTI2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CiBtc2dpZCAicmVxdWlyZSBvbGQgdmFsdWUgb2YgcmVmIHRvIGJlIGF0IHRoaXMgdmFsdWUiCiBtc2dzdHIgImV4aWdlciBxdWUgbCdhbmNpZW5uZSB2YWxldXIgZGUgbGEgcsOpZsOpcmVuY2Ugc29pdCDDoCBjZXR0ZSB2YWxldXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxOQorIzogYnVpbHRpbi9wdXNoLmM6NTI5CiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICJjb250csO0bGVyIGxhIHBvdXNzw6llIHLDqWN1cnNpdmUgZGVzIHNvdXMtbW9kdWxlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5CisjOiBidWlsdGluL3B1c2guYzo1MzEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKIG1zZ2lkICJ1c2UgdGhpbiBwYWNrIgogbXNnc3RyICJ1dGlsaXNlciB1biBlbXBhcXVldGFnZSBsw6lnZXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyMiBidWlsdGluL3B1c2guYzo1MjMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNTgKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzMiBidWlsdGluL3B1c2guYzo1MzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNTgKICM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU5CiBtc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCiBtc2dzdHIgInJlY2V2b2lyIGxlIHByb2dyYW1tZSBkJ2VtcGFxdWV0YWdlIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNAogbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgogbXNnc3RyICJkw6lmaW5pciBsYSBicmFuY2hlIGFtb250IHBvdXIgZ2l0IHB1bGwvc3RhdHVzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjcKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNwogbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgogbXNnc3RyICLDqWxpbWluZXIgbGVzIHLDqWbDqXJlbmNlcyBsb2NhbGVzIHN1cHByaW3DqWVzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzOQogbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgogbXNnc3RyICLDqXZpdGVyIGQndXRpbGlzZXIgbGUgY3JvY2hldCBwcmUtcHVzaCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTMwCisjOiBidWlsdGluL3B1c2guYzo1NDAKIG1zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCiBtc2dzdHIgInBvdXNzZXIgbGVzIMOpdGlxdWV0dGVzIG1hbnF1YW50ZXMgbWFpcyBwZXJ0aW5lbnRlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTMzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CisjOiBidWlsdGluL3B1c2guYzo1NDMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKIG1zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKIG1zZ3N0ciAic2lnbmVyIGxhIHBvdXNzw6llIGF2ZWMgR1BHIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NSBidWlsdGluL3NlbmQtcGFjay5jOjE3MAogbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgogbXNnc3RyICJkZW1hbmRlIHVuZSB0cmFuc2FjdGlvbiBhdG9taXF1ZSBzdXIgbGUgc2VydmV1ciBkaXN0YW50IgogCi0jOiBidWlsdGluL3B1c2guYzo1NDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NgorbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKK21zZ3N0ciAic3DDqWNpZmlxdWUgYXUgc2VydmV1ciIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAib3B0aW9uIHRvIHRyYW5zbWl0IgorbXNnc3RyICJvcHRpb24gw6AgdHJhbnNtZXR0cmUiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2MAogbXNnaWQgIi0tZGVsZXRlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLW1pcnJvciBhbmQgLS10YWdzIgogbXNnc3RyICItLWRlbGV0ZSBlc3QgaW5jb21wYXRpYmxlIGF2ZWMgLS1hbGwsIC0tbWlycm9yIGV0IC0tdGFncyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTUxCisjOiBidWlsdGluL3B1c2guYzo1NjIKIG1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKIG1zZ3N0ciAiLS1kZWxldGUgbidhIHBhcyBkZSBzZW5zIHNhbnMgYXVjdW5lIHLDqWbDqXJlbmNlIgogCisjOiBidWlsdGluL3B1c2guYzo1NzkKK21zZ2lkICJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIgorbXNnc3RyICIiCisibGVzIG9wdGlvbnMgZGUgcG91c3PDqWUgbmUgcGV1dmVudCBwYXMgY29udGVuaXIgZGUgY2FyYWN0w6hyZXMgZGUgbm91dmVsbGUgIgorImxpZ25lIgorCiAjOiBidWlsdGluL3JlYWQtdHJlZS5jOjM3CiBtc2dpZCAiIgogImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4PikgIgpAQCAtOTk1NiwxNSArMTExNTAsNjUgQEAKIG1zZ2lkICJkZWJ1ZyB1bnBhY2stdHJlZXMiCiBtc2dzdHIgImTDqWJvZ3VlciB1bnBhY2stdHJlZXMiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjUKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjYKIG1zZ2lkICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIG1zZ3N0ciAiZ2l0IHJlY2VpdmUtcGFjayA8csOpcGVydG9pcmUtZ2l0PiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxNzE5CisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjc5MworbXNnaWQgIiIKKyJCeSBkZWZhdWx0LCB1cGRhdGluZyB0aGUgY3VycmVudCBicmFuY2ggaW4gYSBub24tYmFyZSByZXBvc2l0b3J5XG4iCisiaXMgZGVuaWVkLCBiZWNhdXNlIGl0IHdpbGwgbWFrZSB0aGUgaW5kZXggYW5kIHdvcmsgdHJlZSBpbmNvbnNpc3RlbnRcbiIKKyJ3aXRoIHdoYXQgeW91IHB1c2hlZCwgYW5kIHdpbGwgcmVxdWlyZSAnZ2l0IHJlc2V0IC0taGFyZCcgdG8gbWF0Y2hcbiIKKyJ0aGUgd29yayB0cmVlIHRvIEhFQUQuXG4iCisiXG4iCisiWW91IGNhbiBzZXQgJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG9cbiIKKyInaWdub3JlJyBvciAnd2FybicgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IHB1c2hpbmcgaW50b1xuIgorIml0cyBjdXJyZW50IGJyYW5jaDsgaG93ZXZlciwgdGhpcyBpcyBub3QgcmVjb21tZW5kZWQgdW5sZXNzIHlvdVxuIgorImFycmFuZ2VkIHRvIHVwZGF0ZSBpdHMgd29yayB0cmVlIHRvIG1hdGNoIHdoYXQgeW91IHB1c2hlZCBpbiBzb21lXG4iCisib3RoZXIgd2F5LlxuIgorIlxuIgorIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlIGFuZCBzdGlsbCBrZWVwIHRoZSBkZWZhdWx0IGJlaGF2aW91ciwgc2V0XG4iCisiJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG8gJ3JlZnVzZScuIgorbXNnc3RyICIiCisiUGFyIGTDqWZhdXQsIG1ldHRyZSDDoCBqb3VyIGxhIGJyYW5jaGUgYWN0dWVsbGUgZGFucyB1biBkw6lww7R0IG5vbi1udVxuIgorImVzdCByw6lmdXPDqSBwYXJjZSBxdWUgY2VsYSByZW5kcmFpdCBsJ2luZGV4IGV0IGxhIGNvcGllIGRlIHRyYXZhaWxcbiIKKyJpbmNvbnNpc3RhbnRzIGF2ZWMgY2UgcXVlIHZvdXMgYXZleiBwb3Vzc8OpIGV0IG7DqWNlc3NpdGVyYWl0XG4iCisiJ2dpdCByZXNldCAtLWhhcmQnIHBvdXIgcsOpYWxpZ25lciBsYSBjb3BpZSBkZSB0cmF2YWlsIGF2ZWMgSEVBRC5cbiIKKyJcbiIKKyJWb3VzIHBvdXZleiByw6lnbGVyIMKrwqByZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNowqDCuyDDoCAnaWdub3JlJyBvdVxuIgorIid3YXJuJyBkYW5zIGxlIGTDqXDDtHQgZGlzdGFudCBwb3VyIHBlcm1ldHRyZSBsYSBwb3Vzc8OpZSBkYW5zIGxhXG4iCisiYnJhbmNoZSBhY3R1ZWxsZcKgOyBjZXBlbmRhbnQsIGNlIG4nZXN0IHBhcyByZWNvbW1hbmTDqSDDoCBtb2lucyBxdWVcbiIKKyJ2b3VzIGF5ZXogZMOpasOgIG1pcyDDoCBqb3VyIHNhIGNvcGllIGRlIHRyYXZhaWwgcGFyIHVuZSBtb3llbiBkw6l0b3VybsOpXG4iCisicG91ciBjb3JyZXNwb25kcmUgw6AgY2UgcXVlIHZvdXMgYXZleiBwb3Vzc8OpLlxuIgorIlxuIgorIlBvdXIgw6lsaW1pbmVyIGNlIG1lc3NhZ2UgZXQgY29uc2VydmVyIGxlIGNvbXBvcnRlbWVudCBwYXIgZMOpZmF1dCxcbiIKKyJyw6lnbGV6IMKrwqByZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNowqDCuyDDoCAncmVmdXNlJy4iCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODEzCittc2dpZCAiIgorIkJ5IGRlZmF1bHQsIGRlbGV0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpcyBkZW5pZWQsIGJlY2F1c2UgdGhlIG5leHRcbiIKKyInZ2l0IGNsb25lJyB3b24ndCByZXN1bHQgaW4gYW55IGZpbGUgY2hlY2tlZCBvdXQsIGNhdXNpbmcgY29uZnVzaW9uLlxuIgorIlxuIgorIllvdSBjYW4gc2V0ICdyZWNlaXZlLmRlbnlEZWxldGVDdXJyZW50JyBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHRvXG4iCisiJ3dhcm4nIG9yICdpZ25vcmUnIGluIHRoZSByZW1vdGUgcmVwb3NpdG9yeSB0byBhbGxvdyBkZWxldGluZyB0aGVcbiIKKyJjdXJyZW50IGJyYW5jaCwgd2l0aCBvciB3aXRob3V0IGEgd2FybmluZyBtZXNzYWdlLlxuIgorIlxuIgorIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlLCB5b3UgY2FuIHNldCBpdCB0byAncmVmdXNlJy4iCittc2dzdHIgIiIKKyJQYXIgZMOpZmF1dCwgc3VwcHJpbWVyIGxhIGJyYW5jaGUgYWN0dWVsbGUgZXN0IHJlZnVzw6kgcGFyY2UgcXVlIGxlXG4iCisicHJvY2hhaW4gJ2dpdCBjbG9uZScgbidleHRyYWlyYSBhdWN1biBmaWNoaWVyIGV0IGNhdXNlciBkZSBsYSBjb25mdXNpb24uXG4iCisiXG4iCisiVm91cyBwb3V2ZXogcsOpZ2xlciDCq8KgcmVjZWl2ZS5kZW55RGVsZXRlQ3VycmVudMKgwrsgw6AgJ3dhcm4nIG91ICdpZ25vcmUnXG4iCisiZGFucyBsZSBkw6lww7R0IGRpc3RhbnQgcG91ciBwZXJtZXR0cmUgbGEgc3VwcHJlc3Npb24gbGEgYnJhbmNoZSBhY3R1ZWxsZVxuIgorImF2ZWMgb3Ugc2FucyBtZXNzYWdlIGQnYXZlcnRpc3NlbWVudC5cbiIKKyJcbiIKKyJQb3VyIMOpbGltaW5lciBjZSBtZXNzYWdlLCByw6lnbGV6LWxlIMOgICdyZWZ1c2UnLiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODgzCiBtc2dpZCAicXVpZXQiCiBtc2dzdHIgInF1aWV0IgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE3MzMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSBkaXJlY3RvcnkuIgogbXNnc3RyICJWb3VzIGRldmV6IHNww6ljaWZpZXIgdW4gcsOpcGVydG9pcmUuIgogCkBAIC0xMDExOSwxMiArMTEzNjMsMTIgQEAKICJzcMOpY2lmaWVyIGxlcyBicmFuY2hlcyDDoCBzdWl2cmUgbidhIGRlIHNlbnMgcXUnYXZlYyBkZXMgbWlyb2lycyBkZSAiCiAicmFwYXRyaWVtZW50IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5MCBidWlsdGluL3JlbW90ZS5jOjYzMworIzogYnVpbHRpbi9yZW1vdGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzo2MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlICVzIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAibGEgZGlzdGFudGUgJXMgZXhpc3RlIGTDqWrDoC4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk0IGJ1aWx0aW4vcmVtb3RlLmM6NjM3CisjOiBidWlsdGluL3JlbW90ZS5jOjE5NCBidWlsdGluL3JlbW90ZS5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlbW90ZSBuYW1lIgogbXNnc3RyICInJXMnIG4nZXN0IHBhcyB1biBub20gdmFsaWRlIGRlIGRpc3RhbnRlIgpAQCAtMTAxNDksMTcgKzExMzkzLDE3IEBACiBtc2dpZCAiKGRlbGV0ZSkiCiBtc2dzdHIgIihzdXBwcmltZXIpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYyNiBidWlsdGluL3JlbW90ZS5jOjc2MSBidWlsdGluL3JlbW90ZS5jOjg1OAorIzogYnVpbHRpbi9yZW1vdGUuYzo2MjIgYnVpbHRpbi9yZW1vdGUuYzo3NTcgYnVpbHRpbi9yZW1vdGUuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGU6ICVzIgogbXNnc3RyICJEaXN0YW50ZSBpbmNvbm51ZSA6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY0MworIzogYnVpbHRpbi9yZW1vdGUuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcmVub21tZXIgbGEgc2VjdGlvbiBkZSBjb25maWd1cmF0aW9uICclcycgZW4gJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgpAQCAtMTAxNzAsMTcgKzExNDE0LDE3IEBACiAiXHQlc1xuIgogIlx0VmV1aWxsZXogbWV0dHJlIMOgIGpvdXIgbGEgY29uZmlndXJhdGlvbiBtYW51ZWxsZW1lbnQgc2kgbsOpY2Vzc2FpcmUuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY5OQorIzogYnVpbHRpbi9yZW1vdGUuYzo2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSBzdXBwcmVzc2lvbiBkZSAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjczMworIzogYnVpbHRpbi9yZW1vdGUuYzo3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3JlYXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSBjcsOpYXRpb24gZGUgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3OTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzkyCiBtc2dpZCAiIgogIk5vdGU6IEEgYnJhbmNoIG91dHNpZGUgdGhlIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IHdhcyBub3QgcmVtb3ZlZDtcbiIKICJ0byBkZWxldGUgaXQsIHVzZToiCkBAIC0xMDE5NSwxMjcgKzExNDM5LDEzNyBAQAogInN1cHByaW3DqWVzIDtcbiIKICJwb3VyIGxlcyBzdXBwcmltZXIsIHV0aWxpc2V6IDoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODEwCisjOiBidWlsdGluL3JlbW90ZS5jOjgwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxhIHNlY3Rpb24gZGUgY29uZmlndXJhdGlvbiAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxMQorIzogYnVpbHRpbi9yZW1vdGUuYzo5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG5ldyAobmV4dCBmZXRjaCB3aWxsIHN0b3JlIGluIHJlbW90ZXMvJXMpIgogbXNnc3RyICIgbm91dmVhdSAobGUgcHJvY2hhaW4gcmFwYXRyaWVtZW50IChmZXRjaCkgc3RvY2tlcmEgZGFucyByZW1vdGVzLyVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEwCiBtc2dpZCAiIHRyYWNrZWQiCiBtc2dzdHIgIiBzdWl2aSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEyCiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiBkw6lwYXNzw6kgKHV0aWxpc2V6ICdnaXQgcmVtb3RlIHBydW5lJyBwb3VyIHN1cHByaW1lcikiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE4CisjOiBidWlsdGluL3JlbW90ZS5jOjkxNAogbXNnaWQgIiA/Pz8iCiBtc2dzdHIgIiA/Pz8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU5CisjOiBidWlsdGluL3JlbW90ZS5jOjk1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJyYW5jaC4lcy5tZXJnZTsgY2Fubm90IHJlYmFzZSBvbnRvID4gMSBicmFuY2giCiBtc2dzdHIgImJyYW5jaC4lcy5tZXJnZSBpbnZhbGlkZSA7IG5lIHBldXQgcGFzIHJlYmFzZXIgc3VyIHBsdXMgZCd1bmUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAicmViYXNlIGRlIG1hbmnDqHJlIGludGVyYWN0aXZlIHN1ciBsYSBkaXN0YW50ZSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCittc2dzdHIgInJlYmFzZSBzdXIgbGEgZGlzdGFudGUgJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgIiBmdXNpb25uZSBhdmVjIGxhIGRpc3RhbnRlICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3MgotbXNnaWQgIiAgICBhbmQgd2l0aCByZW1vdGUiCi1tc2dzdHIgIiAgICBldCBhdmVjIGxhIGRpc3RhbnRlIgotCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICJmdXNpb25uZSBhdmVjIGxhIGRpc3RhbnRlICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NQotbXNnaWQgIiAgIGFuZCB3aXRoIHJlbW90ZSIKLW1zZ3N0ciAiICAgZXQgYXZlYyBsYSBkaXN0YW50ZSIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtKnMgICAgYW5kIHdpdGggcmVtb3RlICVzXG4iCittc2dzdHIgIiUtKnMgICAgZXQgYXZlYyBsYSBkaXN0YW50ZSAlc1xuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxNgogbXNnaWQgImNyZWF0ZSIKIG1zZ3N0ciAiY3LDqWVyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxOQogbXNnaWQgImRlbGV0ZSIKIG1zZ3N0ciAic3VwcHJpbWVyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMwogbXNnaWQgInVwIHRvIGRhdGUiCiBtc2dzdHIgIsOgIGpvdXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAicGV1dCDDqnRyZSBtaXMgw6Agam91ciBlbiBhdmFuY2UgcmFwaWRlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICJsZSBsb2NhbCBuJ2VzdCBwYXMgw6Agam91ciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgZm9yY2UgdmVycyAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzIHBvdXNzZSB2ZXJzICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyBmb3JjZSB2ZXJzICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIHBvdXNzZSB2ZXJzICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExNAogbXNnaWQgImRvIG5vdCBxdWVyeSByZW1vdGVzIgogbXNnc3RyICJuZSBwYXMgaW50ZXJyb2dlciBsZXMgZGlzdGFudGVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIqIHJlbW90ZSAlcyIKIG1zZ3N0ciAiKiBkaXN0YW50ZSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjExNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIgIFVSTCBkZSByYXBhdHJpZW1lbnQgOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ4IGJ1aWx0aW4vcmVtb3RlLmM6MTMwMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQzIGJ1aWx0aW4vcmVtb3RlLmM6MTE1NiBidWlsdGluL3JlbW90ZS5jOjEyOTUKIG1zZ2lkICIobm8gVVJMKSIKIG1zZ3N0ciAiKHBhcyBkJ1VSTCkiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gJzonIHNob3VsZCBhbGlnbiB3aXRoCiAjLiB0aGUgb25lIGluICIgIEZldGNoIFVSTDogJXMiIHRyYW5zbGF0aW9uCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTkgYnVpbHRpbi9yZW1vdGUuYzoxMTYxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNTQgYnVpbHRpbi9yZW1vdGUuYzoxMTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUHVzaCAgVVJMOiAlcyIKIG1zZ3N0ciAiICBVUkwgcHVzaCA6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNjMgYnVpbHRpbi9yZW1vdGUuYzoxMTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MCBidWlsdGluL3JlbW90ZS5jOjExNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBIRUFEIGJyYW5jaDogJXMiCiBtc2dzdHIgIiAgQnJhbmNoZSBIRUFEIDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4Cittc2dpZCAiKG5vdCBxdWVyaWVkKSIKK21zZ3N0ciAiKG5vbiBkZW1hbmTDqSkiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKGluY29ubnUpIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiAgSEVBRCBicmFuY2ggKHJlbW90ZSBIRUFEIGlzIGFtYmlndW91cywgbWF5IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nKTpcbiIKQEAgLTEwMzIzLDIzOCArMTE1NzcsMjUxIEBACiAiICBCcmFuY2hlIEhFQUQgKGxhIEhFQUQgZGlzdGFudGUgZXN0IGFtYmlndcOrLCBwZXV0IMOqdHJlIGwndW5lIGRlcyAiCiAic3VpdmFudGVzKSA6XG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUmVtb3RlIGJyYW5jaDolcyIKIG1zZ2lkX3BsdXJhbCAiICBSZW1vdGUgYnJhbmNoZXM6JXMiCiBtc2dzdHJbMF0gIiAgQnJhbmNoZSBkaXN0YW50ZSA6JXMiCiBtc2dzdHJbMV0gIiAgQnJhbmNoZXMgZGlzdGFudGVzIDolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg0IGJ1aWx0aW4vcmVtb3RlLmM6MTIxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNQogbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiIChzdGF0dXQgbm9uIGRlbWFuZMOpKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTkzCisjOiBidWlsdGluL3JlbW90ZS5jOjExODgKIG1zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clswXSAiICBCcmFuY2hlIGxvY2FsZSBjb25maWd1csOpZSBwb3VyICdnaXQgcHVsbCcgOiIKIG1zZ3N0clsxXSAiICBCcmFuY2hlcyBsb2NhbGVzIGNvbmZpZ3Vyw6llcyBwb3VyICdnaXQgcHVsbCcgOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAxCisjOiBidWlsdGluL3JlbW90ZS5jOjExOTYKIG1zZ2lkICIgIExvY2FsIHJlZnMgd2lsbCBiZSBtaXJyb3JlZCBieSAnZ2l0IHB1c2gnIgogbXNnc3RyICIgIExlcyByw6lmw6lyZW5jZXMgbG9jYWxlcyBzZXJvbnQgcmVmbMOpdMOpZXMgcGFyICdnaXQgcHVzaCciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzBdICIgIFLDqWbDqXJlbmNlIGxvY2FsZSBjb25maWd1csOpZSBwb3VyICdnaXQgcHVzaCclcyA6IgogbXNnc3RyWzFdICIgIFLDqWbDqXJlbmNlcyBsb2NhbGVzIGNvbmZpZ3Vyw6llcyBwb3VyICdnaXQgcHVzaCclcyA6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMwogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAiZMOpZmluaXIgcmVmcy9yZW1vdGVzLzxub20+L0hFQUQgc2Vsb24gbGEgZGlzdGFudGUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIzMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI1CiBtc2dpZCAiZGVsZXRlIHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCIKIG1zZ3N0ciAic3VwcHJpbWVyIHJlZnMvcmVtb3Rlcy88bm9tPi9IRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MAogbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZMOpdGVybWluZXIgbGEgSEVBRCBkaXN0YW50ZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDIKIG1zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKIG1zZ3N0ciAiIgogIklsIHkgYSBkZSBtdWx0aXBsZXMgYnJhbmNoZXMgSEVBRCBkaXN0YW50ZXMuIFZldWlsbGV6IGVuIGNob2lzaXIgdW5lICIKICJleHBsaWNpdGVtZW50IGF2ZWMgOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjU4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIHJlZjogJXMiCiBtc2dzdHIgIlLDqWbDqXJlbmNlIG5vbiB2YWxpZGUgOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjY4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHBhcmFtw6l0cmVyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMgc2UgcmV0cm91dmVyYSBlbiBzdXNwZW5zICEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyBoYXMgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIHNlIHJldHJvdXZlIGVuIHN1c3BlbnMgISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk3CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAiw4lsaW1pbmF0aW9uIGRlICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVUkw6ICVzIgogbXNnc3RyICJVUkwgOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE0CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiICogW3NlcmFpdCDDqWxpbWluw6ldICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiICogW8OpbGltaW7DqV0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzU2CiBtc2dpZCAicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIKIG1zZ3N0ciAiw6lsaW1pbmVyIGxlcyBkaXN0YW50cyBhcHLDqHMgbGUgcmFwYXRyaWVtZW50IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MjUgYnVpbHRpbi9yZW1vdGUuYzoxNDc5IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDE5IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3MyBidWlsdGluL3JlbW90ZS5jOjE1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgJyVzJyIKIG1zZ3N0ciAiUGFzIGRlIHNlcnZldXIgcmVtb3RlICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM1CiBtc2dpZCAiYWRkIGJyYW5jaCIKIG1zZ3N0ciAiYWpvdXRlciB1bmUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NDIKIG1zZ2lkICJubyByZW1vdGUgc3BlY2lmaWVkIgogbXNnc3RyICJwYXMgZGUgc2VydmV1ciBkaXN0YW50IHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDU5CiBtc2dpZCAicXVlcnkgcHVzaCBVUkxzIHJhdGhlciB0aGFuIGZldGNoIFVSTHMiCiBtc2dzdHIgImludGVycm9nZXIgbGVzIFVSTHMgZGUgcG91c3PDqWUgcGx1dMO0dCBxdWUgbGVzIFVSTHMgZGUgcsOpY3Vww6lyYXRpb24iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYxCiBtc2dpZCAicmV0dXJuIGFsbCBVUkxzIgogbXNnc3RyICJyZXRvdXJuZXIgdG91dGVzIGxlcyBVUkxzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0OTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBVUkxzIGNvbmZpZ3VyZWQgZm9yIHJlbW90ZSAnJXMnIgogbXNnc3RyICJhdWN1bmUgVVJMIGNvbmZpZ3Vyw6llIHBvdXIgbGUgZMOpcMO0dCBkaXN0YW50ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE1CiBtc2dpZCAibWFuaXB1bGF0ZSBwdXNoIFVSTHMiCiBtc2dzdHIgIm1hbmlwdWxlciBsZXMgVVJMcyBwdXNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNwogbXNnaWQgImFkZCBVUkwiCiBtc2dzdHIgImFqb3V0ZXIgdW5lIFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MTkKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAic3VwcHJpbWVyIGRlcyBVUkxzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNgogbXNnaWQgIi0tYWRkIC0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1hZGQgLS1kZWxldGUgbidhIGF1Y3VuIHNlbnMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgb2xkIFVSTCBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAiTW90aWYgZCdVUkwgYW5jaWVuIGludmFsaWRlIDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggVVJMIGZvdW5kOiAlcyIKIG1zZ3N0ciAiUGFzIGQnVVJMIHRyb3V2w6llIDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc3CiBtc2dpZCAiV2lsbCBub3QgZGVsZXRlIGFsbCBub24tcHVzaCBVUkxzIgogbXNnc3RyICJQYXMgZGUgc3VwcHJlc3Npb24gZGUgdG91dGVzIGxlcyBVUkxzIG5vbi1wdXNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MQogbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgIsOqdHJlIHZlcmJldXggOiBkb2l0IMOqdHJlIHBsYWPDqSBhdmFudCB1bmUgc291cy1jb21tYW5kZSIKIAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dzdHIgIlNvdXMtY29tbWFuZGUgaW5jb25udWUgOiAlcyIKKwogIzogYnVpbHRpbi9yZXBhY2suYzoxNwogbXNnaWQgImdpdCByZXBhY2sgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCByZXBhY2sgWzxvcHRpb25zPl0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU5CisjOiBidWlsdGluL3JlcGFjay5jOjE2MAogbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgogbXNnc3RyICJlbXBhcXVldGVyIHRvdXQgZGFucyB1biBzZXVsIHBhcXVldCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYyCiBtc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKIG1zZ3N0ciAiaWRlbnRpcXVlIMOgIC1hIGV0IHRyYW5zZm9ybWVyIGxlcyBvYmpldHMgaW5hY2Nlc3NpYmxlcyBlbiBzdXNwZW5zIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2NAorIzogYnVpbHRpbi9yZXBhY2suYzoxNjUKIG1zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCiBtc2dzdHIgInN1cHByaW1lciBsZXMgcGFxdWV0cyByZWRvbmRhbnRzIGV0IGxhbmNlciBnaXQtcHJ1bmUtcGFja2VkIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2NgorIzogYnVpbHRpbi9yZXBhY2suYzoxNjcKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAicGFzc2VyIC0tbm8tcmV1c2UtZGVsdGEgw6AgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY5CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJwYXNzZXIgLS1uby1yZXVzZS1vYmplY3Qgw6AgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcxCiBtc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogbXNnc3RyICJuZSBwYXMgbGFuY2VyIGdpdCB1cGRhdGUtc2VydmVyLWluZm8iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTczCisjOiBidWlsdGluL3JlcGFjay5jOjE3NAogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJwYXNzZXIgLS1sb2NhbCDDoCBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NQorIzogYnVpbHRpbi9yZXBhY2suYzoxNzYKIG1zZ2lkICJ3cml0ZSBiaXRtYXAgaW5kZXgiCiBtc2dzdHIgIsOpY3JpcmUgdW4gaW5kZXggZW4gYml0bWFwIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NgorIzogYnVpbHRpbi9yZXBhY2suYzoxNzcKIG1zZ2lkICJhcHByb3hpZGF0ZSIKIG1zZ3N0ciAiZGF0ZSBhcHByb3hpbWF0aXZlIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NworIzogYnVpbHRpbi9yZXBhY2suYzoxNzgKIG1zZ2lkICJ3aXRoIC1BLCBkbyBub3QgbG9vc2VuIG9iamVjdHMgb2xkZXIgdGhhbiB0aGlzIgogbXNnc3RyICJhdmVjIC1BLCBuZSBwYXMgc3VzcGVuZHJlIGxlcyBvYmpldHMgcGx1cyB2aWV1eCBxdWUgY2VsdWktY2kiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc5CisjOiBidWlsdGluL3JlcGFjay5jOjE4MAorbXNnaWQgIndpdGggLWEsIHJlcGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICJhdmVjIC1hLCByZXBhcXXDqXRpc2VyIGxlcyBvYmpldHMgaW5hY2Nlc3NpYmxlcyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxODIKIG1zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgInRhaWxsZSBkZSBsYSBmZW7DqnRyZSB1dGlsaXPDqWUgcG91ciBsYSBjb21wcmVzc2lvbiBkZXMgZGVsdGFzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MCBidWlsdGluL3JlcGFjay5jOjE4NAorIzogYnVpbHRpbi9yZXBhY2suYzoxODMgYnVpbHRpbi9yZXBhY2suYzoxODcKIG1zZ2lkICJieXRlcyIKIG1zZ3N0ciAib2N0ZXRzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MQorIzogYnVpbHRpbi9yZXBhY2suYzoxODQKIG1zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKIG1zZ3N0ciAiIgogImlkZW0gY2ktZGVzc3VzLCBtYWlzIGxpbWl0ZXIgbGEgdGFpbGxlIG3DqW1vaXJlIGF1IGxpZXUgZHUgbm9tYnJlIGQnw6lsw6ltZW50cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg2CiBtc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgogbXNnc3RyICJsaW1pdGUgbGEgcHJvZm9uZGV1ciBtYXhpbWFsZSBkZXMgZGVsdGFzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NQorIzogYnVpbHRpbi9yZXBhY2suYzoxODgKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKIG1zZ3N0ciAidGFpbGxlIG1heGltdW0gZGUgY2hhcXVlIGZpY2hpZXIgcGFxdWV0IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NworIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKIG1zZ2lkICJyZXBhY2sgb2JqZWN0cyBpbiBwYWNrcyBtYXJrZWQgd2l0aCAua2VlcCIKIG1zZ3N0ciAicsOpZW1wYXF1ZXRlciBsZXMgb2JqZXRzIGRhbnMgZGVzIHBhcXVldHMgbWFycXXDqXMgYXZlYyAua2VlcCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjAwCiBtc2dpZCAiY2Fubm90IGRlbGV0ZSBwYWNrcyBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbGVzIHBhcXVldHMgZGFucyB1biBkw6lww7R0IGQnb2JqZXRzIHByw6ljaWV1eCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozODEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjA0Cittc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUgZXQgLUEgc29udCBpbmNvbXBhdGlibGVzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjM5MSBidWlsdGluL3dvcmt0cmVlLmM6MTE1CiAjLCBjLWZvcm1hdAotbXNnaWQgInJlbW92aW5nICclcycgZmFpbGVkIgotbXNnc3RyICJsYSBzdXBwcmVzc2lvbiBkZSAnJXMnIGEgw6ljaG91w6kiCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgc3VwcHJlc3Npb24gZGUgJyVzJyIKIAogIzogYnVpbHRpbi9yZXBsYWNlLmM6MTkKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIDxvYmplY3Q+IDxyZXBsYWNlbWVudD4iCkBAIC0xMDY1OCw4ICsxMTkyNSw4IEBACiAiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbW1pdD5dIgogCiAjOiBidWlsdGluL3Jlc2V0LmM6MjcKLW1zZ2lkICJnaXQgcmVzZXQgWy1xXSA8dHJlZS1pc2g+IFstLV0gPHBhdGhzPi4uLiIKLW1zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gPGFyYnJlIG91IGFwcGFyZW50w6k+IFstLV0gPGNoZW1pbnM+Li4uIgorbXNnaWQgImdpdCByZXNldCBbLXFdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRocz4uLi4iCittc2dzdHIgImdpdCByZXNldCBbLXFdIFs8YXJicmUgb3UgYXBwYXJlbnTDqT5dIFstLV0gPGNoZW1pbnM+Li4uIgogCiAjOiBidWlsdGluL3Jlc2V0LmM6MjgKIG1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCkBAIC0xMDc4MSwyNyArMTIwNDgsMjcgQEAKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBub3V2ZWF1IGZpY2hpZXIgZCdpbmRleC4iCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzozNTAKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzozNTQKIG1zZ2lkICJyZXYtbGlzdCBkb2VzIG5vdCBzdXBwb3J0IGRpc3BsYXkgb2Ygbm90ZXMiCiBtc2dzdHIgInJldi1saXN0IG5lIHN1cHBvcnRlIGwnYWZmaWNoYWdlIGRlcyBub3RlcyIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNTgKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzg2CiBtc2dpZCAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dIgogbXNnc3RyICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmd1bWVudHM+Li4uXSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjMKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzkxCiBtc2dpZCAia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIgogbXNnc3RyICJnYXJkZXIgbGUgYC0tYCBwYXNzw6kgZW4gYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzY1CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5MwogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAiYXJyw6p0IGRlIGwnYW5hbHlzZSBhcHLDqHMgbGUgcHJlbWllciBhcmd1bWVudCBxdWkgbidlc3QgcGFzIHVuZSBvcHRpb24iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzY4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NgogbXNnaWQgIm91dHB1dCBpbiBzdHVjayBsb25nIGZvcm0iCiBtc2dzdHIgInNvcnRpZSBlbiBmb3JtZSBsb25ndWUgZml4w6llIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQ5OQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1MjcKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC0xMDg3MywzMSArMTIxNDAsMjcgQEAKIG1zZ2lkICJvcHRpb24gZm9yIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJvcHRpb24gcG91ciBsYSBzdHJhdMOpZ2llIGRlIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAwCiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICJham91dGVyIGxlIG5vbSBkZSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAicHLDqXNlcnZlciBsZXMgdmFsaWRhdGlvbnMgdmlkZXMgaW5pdGlhbGVtZW50IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCiBtc2dzdHIgImF1dG9yaXNlciBsZXMgdmFsaWRhdGlvbnMgYXZlYyBkZXMgbWVzc2FnZXMgdmlkZXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA4CisjOiBidWlsdGluL3JldmVydC5jOjEwNAogbXNnaWQgImtlZXAgcmVkdW5kYW50LCBlbXB0eSBjb21taXRzIgogbXNnc3RyICJnYXJkZXIgbGVzIHZhbGlkYXRpb25zIHJlZG9uZGFudGVzLCB2aWRlcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKLW1zZ2lkICJwcm9ncmFtIGVycm9yIgotbXNnc3RyICJlcnJldXIgZHUgcHJvZ3JhbW1lIgotCi0jOiBidWlsdGluL3JldmVydC5jOjE5NworIzogYnVpbHRpbi9yZXZlcnQuYzoxOTIKIG1zZ2lkICJyZXZlcnQgZmFpbGVkIgogbXNnc3RyICJyZXZlcnQgYSDDqWNob3XDqSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMTIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjA1CiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICJsZSBwaWNvcmFnZSBhIMOpY2hvdcOpIgogCkBAIC0xMTA3MSw3MiArMTIzMzQsMTI4IEBACiBtc2dpZCAiZ2l0IHNob3ctYnJhbmNoICgtZyB8IC0tcmVmbG9nKVs9PG4+Wyw8YmFzZT5dXSBbLS1saXN0XSBbPHJlZj5dIgogbXNnc3RyICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8csOpZsOpcmVuY2U+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmIgorbXNnaWRfcGx1cmFsICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmcyIKK21zZ3N0clswXSAiJXMgaWdub3LDqTsgaW1wb3NzaWJsZSBkZSBnw6lyZXIgcGx1cyBkZSAlZCByw6lmw6lyZW5jZSIKK21zZ3N0clsxXSAiJXMgaWdub3LDqTsgaW1wb3NzaWJsZSBkZSBnw6lyZXIgcGx1cyBkZSAlZCByw6lmw6lyZW5jZXMiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWF0Y2hpbmcgcmVmcyB3aXRoICVzIgorbXNnc3RyICJhdWN1bmUgcsOpZsOpcmVuY2UgY29ycmVzcG9uZCDDoCAlcyIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzOQogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGJyYW5jaGVzIGRlIHN1aXZpIGRpc3RhbnRlcyBldCBsZXMgYnJhbmNoZXMgbG9jYWxlcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MQogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgYnJhbmNoZXMgZGUgc3VpdmkgZGlzdGFudGVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQzCiBtc2dpZCAiY29sb3IgJyohKy0nIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJyYW5jaCIKIG1zZ3N0ciAiY291bGV1ciAnKiErLScgY29ycmVzcG9uZGFudCDDoCBsYSBicmFuY2hlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1CiBtc2dpZCAic2hvdyA8bj4gbW9yZSBjb21taXRzIGFmdGVyIHRoZSBjb21tb24gYW5jZXN0b3IiCiBtc2dzdHIgImFmZmljaGVyIDxuPiB2YWxpZGF0aW9ucyBkZSBwbHVzIGFwcsOocyBsJ2FuY8OqdHJlIGNvbW11biIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NwogbXNnaWQgInN5bm9ueW0gdG8gbW9yZT0tMSIKIG1zZ3N0ciAic3lub255bWUgZGUgbW9yZT0tMSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAogbXNnaWQgInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIgogbXNnc3RyICJzdXBwcmltZXIgbGVzIGNoYcOubmVzIGRlIG5vbW1hZ2UiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAiaW5jbHVyZSBsYSBicmFuY2hlIGNvdXJhbnRlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUyCiBtc2dpZCAibmFtZSBjb21taXRzIHdpdGggdGhlaXIgb2JqZWN0IG5hbWVzIgogbXNnc3RyICJub21tZXIgbGVzIHZhbGlkYXRpb25zIGF2ZWMgbGV1cnMgbm9tcyBkJ29iamV0IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0CiBtc2dpZCAic2hvdyBwb3NzaWJsZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGJhc2VzIHBvc3NpYmxlcyBkZSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKIG1zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgogbXNnc3RyICJhZmZpY2hlciBsZXMgcsOpZsOpcmVuY2VzIGluYWNjZXNzaWJsZXMgZGVwdWlzIHRvdXRlIGF1dHJlIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU4CiBtc2dpZCAic2hvdyBjb21taXRzIGluIHRvcG9sb2dpY2FsIG9yZGVyIgogbXNnc3RyICJhZmZpY2hlciBsZXMgdmFsaWRhdGlvbnMgZGFucyBsJ29yZHJlIHRvcG9sb2dpcXVlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYxCiBtc2dpZCAic2hvdyBvbmx5IGNvbW1pdHMgbm90IG9uIHRoZSBmaXJzdCBicmFuY2giCiBtc2dzdHIgIiIKICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIHZhbGlkYXRpb25zIHF1aSBuZSBzb250IHBhcyBzdXIgbGEgcHJlbWnDqHJlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjMKIG1zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBmdXNpb25zIGFjY2Vzc2libGVzIGRlcHVpcyB1bmUgc2V1bGUgcG9pbnRlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY1CiBtc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgogbXNnc3RyICJ0cmkgdG9wb2xvZ2lxdWUsIG1haW50ZW5hbnQgbCdvcmRyZSBwYXIgZGF0ZSBzaSBwb3NzaWJsZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OAogbXNnaWQgIjxuPlssPGJhc2U+XSIKIG1zZ3N0ciAiPG4+Wyw8YmFzZT5dIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY5CiBtc2dpZCAic2hvdyA8bj4gbW9zdCByZWNlbnQgcmVmLWxvZyBlbnRyaWVzIHN0YXJ0aW5nIGF0IGJhc2UiCiBtc2dzdHIgIiIKICJhZmZpY2hlciBsZXMgPG4+IHBsdXMgcsOpY2VudHMgw6lsw6ltZW50cyBkZSByZWYtbG9nIGVuIGNvbW1lbsOnYW50IMOgIGxhIGJhc2UiCiAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MDMKK21zZ2lkICIiCisiLS1yZWZsb2cgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiCittc2dzdHIgIiIKKyItLXJlZmxvZyBlc3QgaW5jb21wYXRpYmxlIGF2ZWMgLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGFudCBldCAtLW1lcmdlLSIKKyJiYXNlIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzI3Cittc2dpZCAibm8gYnJhbmNoZXMgZ2l2ZW4sIGFuZCBIRUFEIGlzIG5vdCB2YWxpZCIKK21zZ3N0ciAiYXVjdW5lIGJyYW5jaGUgc3DDqWNpZmnDqWUsIGV0IEhFQUQgZXN0IGludmFsaWRlIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzMwCittc2dpZCAiLS1yZWZsb2cgb3B0aW9uIG5lZWRzIG9uZSBicmFuY2ggbmFtZSIKK21zZ3N0ciAiLS1yZWZsb2cgcmVxdWllcnQgdW4gbm9tIGRlIGJyYW5jaGUiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgorbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKK21zZ3N0clswXSAiJWQgZW50csOpZSBzZXVsZW1lbnQgbmUgcGV1dCDDqnRyZSBtb250csOpZSBlbiBtw6ptZSB0ZW1wcy4iCittc2dzdHJbMV0gIiVkIGVudHLDqWVzIHNldWxlbWVudCBuZSBwZXV2ZW50IMOqdHJlIG1vbnRyw6llIGVuIG3Dqm1lIHRlbXBzLiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNworIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZiAlcyIKK21zZ3N0ciAicsOpZsOpcmVuY2UgaW5leGlzdGFudGUgJXMiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2LiIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iCittc2dzdHJbMF0gImltcG9zc2libGUgZGUgZ8OpcmVyIHBsdXMgZGUgJWQgcsOpdmlzaW9uLiIKK21zZ3N0clsxXSAiaW1wb3NzaWJsZSBkZSBnw6lyZXIgcGx1cyBkZSAlZCByw6l2aXNpb25zLiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzMworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZi4iCittc2dzdHIgIiclcycgbidlc3QgcGFzIHVuZSByw6lmw6lyZW5jZSB2YWxpZGUuIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIGNvbW1pdCAlcyAoJXMpIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGUgY29tbWl0ICVzICglcykiCisKICM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMAogbXNnaWQgIiIKICJnaXQgc2hvdy1yZWYgWy1xIHwgLS1xdWlldF0gWy0tdmVyaWZ5XSBbLS1oZWFkXSBbLWQgfCAtLWRlcmVmZXJlbmNlXSBbLXMgfCAtLSIKQEAgLTExMjA0LDEyICsxMjUyMywxMiBAQAogbXNnaWQgInByZXBlbmQgY29tbWVudCBjaGFyYWN0ZXIgYW5kIHNwYWNlIHRvIGVhY2ggbGluZSIKIG1zZ3N0ciAiYWpvdXRlciBkZXZhbnQgY2hhcXVlIGxpZ25lIGxlIGNhcmFjdMOocmUgZGUgY29tbWVudGFpcmUgZXQgdW4gZXNwYWNlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlZjogJXMiCiBtc2dzdHIgIlLDqWbDqXJlbmNlIGluZXhpc3RhbnRlwqA6ICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RpbmcgYSBmdWxsIHJlZiBuYW1lLCBnb3QgJXMiCiBtc2dzdHIgIk5vbSBkZSByw6lmw6lyZW5jZSBjb21wbGV0IGF0dGVuZHUsICVzIG9idGVudSIKQEAgLTExMjE5LDE2MiArMTI1MzgsMjEzIEBACiBtc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHN1cHByaW1lciB1biBjb21wb3NhbnQgZGUgbCdVUkwgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI3OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA1Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDg2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjgyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTAKIG1zZ2lkICJhbHRlcm5hdGl2ZSBhbmNob3IgZm9yIHJlbGF0aXZlIHBhdGhzIgogbXNnc3RyICJhbmNyZSBhbHRlcm5hdGl2ZSBwb3VyIGxlcyBjaGVtaW5zIHJlbGF0aWZzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjgzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mjg3CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08Y2hlbWluPl0gWzxjaGVtaW4+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMyNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzQwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzI5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIGluIC5naXRtb2R1bGVzIgogbXNnc3RyICJVUkwgbm9uIHRyb3V2w6llIHBvdXIgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICclcycgZGFucyAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICLDiWNoZWMgZCdlbnJlZ2lzdHJlbWVudCBkZSBsJ1VSTCBwb3VyIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgIlNvdXMtbW9kdWxlICclcycgKCVzKSBlbnJlZ2lzdHLDqSBwb3VyIGxlIGNoZW1pbiAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODMKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogY29tbWFuZCB1cGRhdGUgbW9kZSBzdWdnZXN0ZWQgZm9yIHN1Ym1vZHVsZSAnJXMnXG4iCi1tc2dzdHIgImF0dGVudGlvbsKgOiBub3VzIHZvdXMgc3VnZ8Opcm9ucyBkZSBzcMOpY2lmaWVyIHVuZSBjb21tYW5kZSBkZSBtb2RlIGRlIG1pc2Ugw6Agam91ciBwb3VyIGxlIHNvdXMtbW9kdWxlICclcydcbiIKK21zZ3N0ciAiIgorImF0dGVudGlvbsKgOiBub3VzIHZvdXMgc3VnZ8Opcm9ucyBkZSBzcMOpY2lmaWVyIHVuZSBjb21tYW5kZSBkZSBtb2RlIGRlIG1pc2Ugw6AgIgorImpvdXIgcG91ciBsZSBzb3VzLW1vZHVsZSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgotbXNnc3RyICLDiWNoZWMgZCdlbnJlZ2lzdHJlbWVudCBkdSBtb2RlIGRlIG1pc2Ugw6Agam91ciBwb3VyIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJXMnIgorbXNnc3RyICIiCisiw4ljaGVjIGQnZW5yZWdpc3RyZW1lbnQgZHUgbW9kZSBkZSBtaXNlIMOgIGpvdXIgcG91ciBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgIgorIiclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDkKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiU3VwcHJpbWVyIGxhIHNvcnRpZSBsb3JzIGRlIGwnaW5pdGlhbGlzYXRpb24gZCd1biBzb3VzLW1vZHVsZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPGNoZW1pbj5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDMyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDM1CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgPG5vbT4gPGNoZW1pbj4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VibW9kdWxlIG1hcHBpbmcgZm91bmQgaW4gLmdpdG1vZHVsZXMgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiIgogIlBhcyBkZSBtaXNlIGVuIGNvcnJlc3BvbmRhbmNlIGR1IHNvdXMtbW9kdWxlIHRyb3V2w6kgZGFucyAuZ2l0bW9kdWxlcyBwb3VyIGxlICIKICJjaGVtaW4gJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIKK21zZ3N0ciAibGUgc291cy1tb2R1bGUgJyVzJyBuZSBwZXV0IHBhcyBham91dGVyIGQnYWx0ZXJuYXRpdmXCoDogJXMiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgaXMgbm90IHJlY29nbml6ZWQiCittc2dzdHIgIiIKKyJMYSB2YWxldXIgJyVzJyBwb3VyIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IG4nZXN0IHBhcyByZWNvbm51ZSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCittc2dzdHIgIkxhIHZhbGV1ciAnJXMnIHBvdXIgc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIG4nZXN0IHBhcyByZWNvbm51ZSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MwogbXNnaWQgIndoZXJlIHRoZSBuZXcgc3VibW9kdWxlIHdpbGwgYmUgY2xvbmVkIHRvIgogbXNnc3RyICJlbXBsYWNlbWVudCBvw7kgbGUgc291cy1tb2R1bGUgc2VyYSBjbG9uw6kiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICJub20gZHUgbm91dmVhdSBzb3VzLW1vZHVsZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5OQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgIlVSTCBkZXB1aXMgbGFxdWVsbGUgY2xvbmVyIGxlIHNvdXMtbW9kdWxlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTAxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA1CiBtc2dpZCAiZGVwdGggZm9yIHNoYWxsb3cgY2xvbmVzIgogbXNnc3RyICJwcm9mb25kZXVyIGRlIGwnaGlzdG9yaXF1ZSBkZXMgY2xvbmVzIHN1cGVyZmljaWVscyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUwNworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY0Cittc2dpZCAiZm9yY2UgY2xvbmluZyBwcm9ncmVzcyIKK21zZ3N0ciAiZm9yY2VyIGwnYWZmaWNoYWdlIGRlIGxhIHByb2dyZXNzaW9uIGR1IGNsb25hZ2UiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MTMKIG1zZ2lkICIiCiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08cGF0aD5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgogIjxyZXBvc2l0b3J5Pl0gWy0tbmFtZSA8bmFtZT5dIFstLWRlcHRoIDxkZXB0aD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8cGF0aD4iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PGNoZW1pbj5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgPGTDqXDDtHQ+XSBbLS1uYW1lIDxub20+XSBbLS1kZXB0aCA8cHJvZm9uZGV1cj5dICAtLXVybCA8dXJsPiAtLXBhdGggPGNoZW1pbj4iCittc2dzdHIgIiIKKyJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxjaGVtaW4+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKKyI8ZMOpcMO0dD5dIFstLW5hbWUgPG5vbT5dIFstLWRlcHRoIDxwcm9mb25kZXVyPl0gIC0tdXJsIDx1cmw+IC0tcGF0aCA8Y2hlbWluPiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUzMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgcsOpcGVydG9pcmUgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUzNAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjbG9uZSBvZiAnJXMnIGludG8gc3VibW9kdWxlIHBhdGggJyVzJyBmYWlsZWQiCiBtc2dzdHIgIkxlIGNsb25hZ2UgZGUgJyVzJyBkYW5zIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJXMnIGEgw6ljaG91w6kiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gZmlsZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU1NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgZmlsZSAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmZXJtZXIgbGUgZmljaGllciAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZ2V0IHN1Ym1vZHVsZSBkaXJlY3RvcnkgZm9yICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlIGRlIHNvdXMtbW9kdWxlIHBvdXIgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJXMnIG5vdCBpbml0aWFsaXplZCIKIG1zZ3N0ciAiTGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICclcycgbidlc3QgcGFzIGluaXRpYWxpc8OpIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzMwCiBtc2dpZCAiTWF5YmUgeW91IHdhbnQgdG8gdXNlICd1cGRhdGUgLS1pbml0Jz8iCiBtc2dzdHIgIlZvdXMgdm91ZHJpZXogc8O7cmVtZW50IHV0aWxpc2VyICd1cGRhdGUgLS1pbml0J8KgPyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIlNvdXMtbW9kdWxlIG5vbiBmdXNpb25uw6kgJXMgbm9uIHRyYWl0w6kiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgc3VibW9kdWxlICclcyciCiBtc2dzdHIgIlNvdXMtbW9kdWxlICclcycgbm9uIHRyYWl0w6kiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycuIFJldHJ5IHNjaGVkdWxlZCIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBjbG9uZXIgJyVzJy4gUsOpZXNzYWkgcHLDqXZ1IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnIGEgc2Vjb25kIHRpbWUsIGFib3J0aW5nIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNsb25lciAnJXMnIHBvdXIgbGEgc2Vjb25kZSBmb2lzLCBhYmFuZG9uIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ1CiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImNoZW1pbiBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDgKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSwgYWNyb3NzIG5lc3RlZCBzdWJtb2R1bGUgYm91bmRhcmllcyIKLW1zZ3N0ciAiY2hlbWluIGRhbnMgbGEgY29waWUgZGUgdHJhdmFpbCwgdHJhdmVyc2FudCBsZXMgZnJvbnRpw6hyZXMgZGUgc291cy1tb2R1bGVzIgorbXNnc3RyICIiCisiY2hlbWluIGRhbnMgbGEgY29waWUgZGUgdHJhdmFpbCwgdHJhdmVyc2FudCBsZXMgZnJvbnRpw6hyZXMgZGUgc291cy1tb2R1bGVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUyCiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAidmFsZXVycyBwb3NzaWJsZXPCoDogcmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Ugbm9uZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1NgogbXNnaWQgIkNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgdHJ1bmNhdGVkIHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHJldmlzaW9ucyIKIG1zZ3N0ciAiQ3LDqWVyIHVuIGNsb25lIHN1cGVyZmljaWVsIHRyb25xdcOpIGF1IG5vbWJyZSBkZSByw6l2aXNpb25zIHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTkKIG1zZ2lkICJwYXJhbGxlbCBqb2JzIgogbXNnc3RyICJqb2JzIHBhcmFsbMOobGVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzgzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYxCittc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgorbXNnc3RyICJzcMOpY2lmaWUgc2kgbGUgY2xvbmFnZSBpbml0aWFsIGRvaXQgw6p0cmUgYXVzc2kgc3VwZXJmaWNpZWwiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjIKIG1zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICJuZSBwYXMgYWZmaWNoZXIgbGEgcHJvZ3Jlc3Npb24gZHUgY2xvbmFnZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2OQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxjaGVtaW4+XSBbPGNoZW1pbj4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzk4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc5CiBtc2dpZCAiYmFkIHZhbHVlIGZvciB1cGRhdGUgcGFyYW1ldGVyIgogbXNnc3RyICJ2YWxldXIgaW52YWxpZGUgcG91ciBsYSBtaXNlIMOgIGpvdXIgZHUgcGFyYW3DqHRyZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg1NQotbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHN1YmNvbW1hbmQiCi1tc2dzdHIgImxhIHNvdXMtY29tbWFuZGUgc3VibW9kdWxlLS1oZWxwZXIgZG9pdCDDqnRyZSBhcHBlbMOpZSBhdmVjIHVuZSBzb3VzLWNvbW1hbmRlIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlN1Ym1vZHVsZSAoJXMpIGJyYW5jaCBjb25maWd1cmVkIHRvIGluaGVyaXQgYnJhbmNoIGZyb20gc3VwZXJwcm9qZWN0LCBidXQgIgorInRoZSBzdXBlcnByb2plY3QgaXMgbm90IG9uIGFueSBicmFuY2giCittc2dzdHIgIiIKKyJsYSBicmFuY2hlIGR1IHNvdXMtbW9kdWxlICVzIGVzdCBjb25maWd1csOpZSBwb3VyIGjDqXJpdGVyIGRlIGxhIGJyYW5jaGUgZHUgIgorInN1cGVycHJvamV0LCBtYWlzIGxlIHN1cGVycHJvamV0IG4nZXN0IHN1ciBhdWN1bmUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg2MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDAKK21zZ2lkICJzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIG11c3QgYmUgY2FsbGVkIHdpdGggYSBzdWJjb21tYW5kIgorbXNnc3RyICIiCisibGEgc291cy1jb21tYW5kZSBzdWJtb2R1bGUtLWhlbHBlciBkb2l0IMOqdHJlIGFwcGVsw6llIGF2ZWMgdW5lIHNvdXMtY29tbWFuZGUiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgc3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCIKIG1zZ3N0ciAiJyVzJyBuJ2VzdCBwYXMgdW5lIHNvdXMtY29tbWFuZGUgdmFsaWRlIGRlIHN1Ym1vZHVsZS0taGVscGVyIgpAQCAtMTE2MTEsNyArMTI5ODEsNyBAQAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiw4l0aXF1ZXR0ZSAnJXMnIG1pc2Ugw6Agam91ciAoZWxsZSDDqXRhaXQgc3VyICVzKVxuIgogCi0jOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NDkwCisjOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NDkzCiBtc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIkTDqXBhcXVldGFnZSBkZXMgb2JqZXRzIgogCkBAIC0xMTY4MiwxNDMgKzEzMDUyLDE1MSBAQAogbXNnaWQgIiBPSyIKIG1zZ3N0ciAiIE9LIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU3NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjQKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpY2hpZXI+Li4uXSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTE5CiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICJjb250aW51ZXIgZGUgcmFmcmHDrmNoaXIgbcOqbWUgc2kgbCdpbmRleCBhIGJlc29pbiBkJ3VuZSBtaXNlIMOgIGpvdXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyMgogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICJyYWZyYcOuY2hpciA6IGlnbm9yZXIgbGVzIHNvdXMtbW9kdWxlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI1CiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgIm5lIHBhcyBpZ25vcmVyIGxlcyBub3V2ZWF1eCBmaWNoaWVycyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI3CiBtc2dpZCAibGV0IGZpbGVzIHJlcGxhY2UgZGlyZWN0b3JpZXMgYW5kIHZpY2UtdmVyc2EiCiBtc2dzdHIgImxhaXNzZXIgbGVzIGZpY2hpZXJzIHJlbXBsYWNlciBkZXMgcsOpcGVydG9pcmVzIGV0IHZpY2UtdmVyc2EiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyOQogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImF2aXNlciBkZXMgZmljaGllcnMgbWFucXVhbnRzIGRhbnMgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMxCiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgInJhZnJhw65jaGlyIG3Dqm1lIHNpIGwnaW5kZXggY29udGllbnQgZGVzIMOpbMOpbWVudHMgbm9uIGZ1c2lvbm7DqXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNAogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAicmFmcmHDrmNoaXIgbCdpbmZvcm1hdGlvbiBkZSBzdGF0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzgKIG1zZ2lkICJsaWtlIC0tcmVmcmVzaCwgYnV0IGlnbm9yZSBhc3N1bWUtdW5jaGFuZ2VkIHNldHRpbmciCiBtc2dzdHIgImNvbW1lIC0tcmVmcmVzaCwgbWFpcyBlbiBpZ25vcmFudCBsJ29wdGlvbiBhc3N1bWUtdW5jaGFuZ2VkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKIG1zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgogbXNnc3RyICI8bW9kZT4sIDxvYmpldD4sIDxjaGVtaW4+IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDMKIG1zZ2lkICJhZGQgdGhlIHNwZWNpZmllZCBlbnRyeSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgImFqb3V0ZXIgbCfDqWzDqW1lbnQgc3DDqWNpZmnDqSBkYW5zIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4Ci1tc2dpZCAiKCsvLSl4IgotbXNnc3RyICIoKy8tKXgiCi0KLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU5Ci1tc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCi1tc2dzdHIgIm91dHJlcGFzc2VyIGxlIGJpdCBleMOpY3V0YWJsZSBwb3VyIGxlcyBmaWNoaWVycyBsaXN0w6lzIgotCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTIKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgIm1hcnF1ZXIgbGVzIGZpY2hpZXJzIGNvbW1lIFwibm9uIGNoYW5nZWFudHNcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU1CiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICJtZXR0cmUgw6AgesOpcm8gbGUgYml0IHN1cHBvc8OpLW5vbi1tb2RpZmnDqSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAibWFycXVlciBsZXMgZmljaGllcnMgY29tbWUgXCJpbmRleCBzZXVsZW1lbnRcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYxCiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgIm1ldHRyZSDDoCB6w6lybyBsZSBiaXQgc2F1dGVyLWxhLWNvcGllLWRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NAogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICIiCiAiYWpvdXRlciBzZXVsZW1lbnQgw6AgbCdpbmRleCA7IG5lIHBhcyBham91dGVyIGxlIGNvbnRlbnUgZGFucyBsYSBiYXNlIGRlICIKICJkb25uw6llcyBkZXMgb2JqZXRzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICIiCiAic3VwcHJpbWVyIGxlcyBjaGVtaW5zIG5vbW3DqXMgbcOqbWUgcydpbHMgc29udCBwcsOpc2VudHMgZGFucyBsYSBjb3BpZSBkZSAiCiAidHJhdmFpbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY4CiBtc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgogbXNnc3RyICJhdmVjIC0tc3RkaW4gOiBsZXMgbGlnbmVzIGVuIGVudHLDqWUgc29udCB0ZXJtaW7DqWVzIHBhciBkZXMgb2N0ZXRzIG51bHMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MAogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxpcmUgbGEgbGlzdGUgZGVzIGNoZW1pbnMgw6AgbWV0dHJlIMOgIGpvdXIgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc0CiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgImFqb3V0ZXIgbGVzIMOpbMOpbWVudHMgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCDDoCBsJ2luZGV4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzgKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgInJlcGV1cGxlciBsZXMgw6l0YXBlcyBuwrAyIGV0IG7CsDMgcG91ciBsZXMgY2hlbWlucyBsaXN0w6lzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODIKIG1zZ2lkICJvbmx5IHVwZGF0ZSBlbnRyaWVzIHRoYXQgZGlmZmVyIGZyb20gSEVBRCIKIG1zZ3N0ciAibWV0dHJlIMOgIGpvdXIgc2V1bGVtZW50IGxlcyDDqWzDqW1lbnRzIHF1aSBkaWZmw6hyZW50IGRlIEhFQUQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImlnbm9yZXIgbGVzIGZpY2hpZXJzIG1hbnF1YW50cyBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODkKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBhY3Rpb25zIHN1ciBsYSBzb3J0aWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTEKIG1zZ2lkICIoZm9yIHBvcmNlbGFpbnMpIGZvcmdldCBzYXZlZCB1bnJlc29sdmVkIGNvbmZsaWN0cyIKIG1zZ3N0ciAiKHBvdXIgcG9yY2VsYWluZXMpIG91YmxpZXIgbGVzIGNvbmZsaXRzIHNhdXbDqXMgZXQgbm9uIHLDqXNvbHVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk1CiBtc2dpZCAid3JpdGUgaW5kZXggaW4gdGhpcyBmb3JtYXQiCiBtc2dzdHIgIsOpY3JpcmUgbCdpbmRleCBkYW5zIGNlIGZvcm1hdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NwogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICJhY3RpdmVyIG91IGTDqXNhY3RpdmVyIGwnaW5kZXggZGl2aXPDqSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDEwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5OQogbXNnaWQgImVuYWJsZS9kaXNhYmxlIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAiYWN0aXZlciBvdSBkw6lzYWN0aXZlciBsZSBjYWNoZSBkZSBub24tc3VpdmlzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMQogbXNnaWQgInRlc3QgaWYgdGhlIGZpbGVzeXN0ZW0gc3VwcG9ydHMgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICJ0ZXN0ZXIgc2kgbGUgc3lzdMOobWUgZGUgZmljaGllciBzdXBwb3J0ZSBsZSBjYWNoZSBkZSBub24tc3VpdmlzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMwogbXNnaWQgImVuYWJsZSB1bnRyYWNrZWQgY2FjaGUgd2l0aG91dCB0ZXN0aW5nIHRoZSBmaWxlc3lzdGVtIgogbXNnc3RyICJhY3RpdmVyIGxlIGNhY2hlIGRlIG5vbi1zdWl2aXMgc2FucyB0ZXN0ZXIgbGUgc3lzdMOobWUgZGUgZmljaGllciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMTkKK21zZ2lkICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKKyJ0byBkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCittc2dzdHIgIiIKKyJjb3JlLnVudHJhY2tlZENhY2hlIGVzdCByw6lnbMOpIMOgIHRydWXCoDsgc3VwcHJpbWV6LWxlIG91IGNoYW5nZXotbGUgc2kgdm91cyAiCisic291aGFpdGV6IHZyYWltZW50IGTDqXNhY3RpdmVyIGxlIGNhY2hlIGRlcyBmaWNoaWVycyBub24tc3VpdmlzIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMjMKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZGlzYWJsZWQiCiBtc2dzdHIgIkxlIGNhY2hlIG5vbiBzdWl2aSBlc3QgZMOpc2FjdGl2w6kiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE0NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMxCittc2dpZCAiIgorImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgorInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgorbXNnc3RyICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSBlc3QgcsOpZ2zDqSDDoCBmYWxzZcKgOyBzdXBwcmltZXotbGUgb3UgY2hhbmdlei1sZSBzaSB2b3VzICIKKyJzb3VoYWl0ZXogdnJhaW1lbnQgYWN0aXZlciBsZSBjYWNoZSBkZXMgZmljaGllcnMgbm9uLXN1aXZpcyIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgogbXNnc3RyICJMZSBjYWNoZSBub24gc3VpdmkgZXN0IGFjdGl2w6kgcG91ciAnJXMnIgpAQCAtMTE4OTgsODcgKzEzMjc2LDExNSBAQAogbXNnc3RyICJnaXQgd29ya3RyZWUgYWRkIFs8b3B0aW9ucz5dIDxjaGVtaW4+IFs8YnJhbmNoZT5dIgogCiAjOiBidWlsdGluL3dvcmt0cmVlLmM6MTYKLW1zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKLQotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKK21zZ2lkICJnaXQgd29ya3RyZWUgbG9jayBbPG9wdGlvbnM+XSA8cGF0aD4iCittc2dzdHIgImdpdCB3b3JrdHJlZSBsb2NrIFs8b3B0aW9ucz5dIDxjaGVtaW4+IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKK21zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE5Cittc2dpZCAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGF0aD4iCittc2dzdHIgImdpdCB3b3JrdHJlZSB1bmxvY2sgPGNoZW1pbj4iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IG5vdCBhIHZhbGlkIGRpcmVjdG9yeSIKIG1zZ3N0ciAiU3VwcHJlc3Npb24gZGUgd29ya3RyZWVzLyVzwqA6IHLDqXBlcnRvaXJlIGludmFsaWRlIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJTdXBwcmVzc2lvbiBkZSB3b3JrdHJlZXMvJXPCoDogbGUgZmljaGllciBnaXRkaXIgbidleGlzdGUgcGFzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IHVuYWJsZSB0byByZWFkIGdpdGRpciBmaWxlICglcykiCiBtc2dzdHIgIiIKICJTdXBwcmVzc2lvbiBkZSB3b3JrdHJlZXMvJXPCoDogZWNoZWMgZGUgbGEgbGVjdHVyZSBkdSBmaWNoaWVyIGdpdGRpciAoJXMpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGludmFsaWQgZ2l0ZGlyIGZpbGUiCiBtc2dzdHIgIlN1cHByZXNzaW9uIGRlIHdvcmt0cmVlcy8lc8KgOiBmaWNoaWVyIGdpdGRpciBpbnZhbGlkZSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBwb2ludHMgdG8gbm9uLWV4aXN0ZW50IGxvY2F0aW9uIgogbXNnc3RyICIiCiAiU3VwcHJlc3Npb24gZGUgd29ya3RyZWVzLyVzwqA6IGxlIGZpY2hpZXIgZ2l0ZGlyIHBvaW50IHN1ciB1biBlbmRyb2l0ICIKICJpbmV4aXN0YW50IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTEzCi0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKLW1zZ3N0ciAiw6ljaGVjIGRlIGxhIHN1cHByZXNzaW9uIGRlICclcyciCi0KLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiJyVzJyBleGlzdGUgZMOpasOgIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjM0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IG9mICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nICVzIChpZGVudGlmaWVyICVzKSIKIG1zZ3N0ciAiUHLDqXBhcmF0aW9uIGRlICVzIChpZGVudGlmaWFudCAlcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjMKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBldmVuIGlmIGFscmVhZHkgY2hlY2tlZCBvdXQgaW4gb3RoZXIgd29ya3RyZWUiCiBtc2dzdHIgIiIKICJleHRyYWlyZSBsYSA8YnJhbmNoZT4gbcOqbWUgc2kgZWxsZSBlc3QgZMOpasOgIGV4dHJhaXRlIGRhbnMgdW5lIGF1dHJlIGNvcGllIGRlICIKICJ0cmF2YWlsIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI1CiBtc2dpZCAiY3JlYXRlIGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiY3LDqWVyIHVuZSBub3V2ZWxsZSBicmFuY2hlIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICJjcsOpZXIgb3UgcsOpaW5pdGlhbGlzZXIgdW5lIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjcKLW1zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCi1tc2dzdHIgImTDqXRhY2hlciBsYSBIRUFEIGF1IGNvbW1pdCBub21tw6kiCi0KLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKIG1zZ2lkICJwb3B1bGF0ZSB0aGUgbmV3IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAicmVtcGxpc3NhZ2UgZGUgbGEgbm91dmVsbGUgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMzNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMzNwogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiBldCAtLWRldGFjaCBzb250IG11dHVlbGxlbWVudCBleGNsdXNpZnMiCiAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzAKK21zZ2lkICJyZWFzb24gZm9yIGxvY2tpbmciCittc2dzdHIgInJhaXNvbiBkdSB2w6lyb3VpbGxhZ2UiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODIgYnVpbHRpbi93b3JrdHJlZS5jOjUxNQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiJyVzJyBuJ2VzdCBwYXMgdW5lIGNvcGllIGRlIHRyYXZhaWwiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODQgYnVpbHRpbi93b3JrdHJlZS5jOjUxNworbXNnaWQgIlRoZSBtYWluIHdvcmtpbmcgdHJlZSBjYW5ub3QgYmUgbG9ja2VkIG9yIHVubG9ja2VkIgorbXNnc3RyICIiCisiTGEgY29waWUgZGUgdHJhdmFpbCBwcmluY2lwYWxlIG5lIHBldXQgcGFzIMOqdHJlIHbDqXJvdWlsbMOpZSBvdSBkw6l2w6lyb3VpbGzDqWUiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIKK21zZ3N0ciAiJyVzJyBlc3QgZMOpasOgIHZlcnJvdWlsbMOpLCBjYXIgJyVzJyIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkIgorbXNnc3RyICInJXMnIGVzdCBkw6lqw6AgdmVycm91aWxsw6kiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgorbXNnc3RyICInJXMnIG4nZXN0IHBhcyB2ZXJyb3VpbGzDqSIKKwogIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTMKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHByZWZpeD4vXSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcsOpZml4ZT4vXSIKQEAgLTExOTk1LDYgKzEzNDAxLDQxIEBACiBtc2dpZCAib25seSB1c2VmdWwgZm9yIGRlYnVnZ2luZyIKIG1zZ3N0ciAic2V1bGVtZW50IHV0aWxlIHBvdXIgbGUgZMOpYm9nYWdlIgogCisjOiB1cGxvYWQtcGFjay5jOjIyCittc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgorbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzxvcHRpb25zPl0gPHLDqXBlcnRvaXJlPiIKKworIzogdXBsb2FkLXBhY2suYzoxMDI4Cittc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgorbXNnc3RyICJxdWl0dGVyIGFwcsOocyB1biB1bmlxdWUgw6ljaGFuZ2UgcmVxdcOqdGUvcsOpcG9uc2UiCisKKyM6IHVwbG9hZC1wYWNrLmM6MTAzMAorbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgaW5pdGlhbCByZWYgYWR2ZXJ0aXNlbWVudCIKK21zZ3N0ciAiU29ydGlyIGltbcOpZGlhdGVtZW50IGFwcsOocyBsJ2Fubm9uY2UgaW5pdGlhbGUgZGVzIHLDqWbDqXJlbmNlcyIKKworIzogdXBsb2FkLXBhY2suYzoxMDMyCittc2dpZCAiZG8gbm90IHRyeSA8ZGlyZWN0b3J5Pi8uZ2l0LyBpZiA8ZGlyZWN0b3J5PiBpcyBubyBHaXQgZGlyZWN0b3J5IgorbXNnc3RyICIiCisibmVzIHBhcyBlc3NheWVyIDxyw6lwZXJ0b2lyZT4vLmdpdC8gc2kgPHLDqXBlcnRvaXJlPiBuJ2VzdCBwYXMgdW4gcsOpcGVydG9pcmUgIgorIkdpdCIKKworIzogdXBsb2FkLXBhY2suYzoxMDM0Cittc2dpZCAiaW50ZXJydXB0IHRyYW5zZmVyIGFmdGVyIDxuPiBzZWNvbmRzIG9mIGluYWN0aXZpdHkiCittc2dzdHIgImludGVycm9tcHJlIGxlIHRyYW5zZmVyIGFwcsOocyA8bj4gc2Vjb25kZXMgZCdpbmFjdGl2aXTDqSIKKworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgcGVybWlzc2lvbnMgb24geW91ciBzb2NrZXQgZGlyZWN0b3J5IGFyZSB0b28gbG9vc2U7IG90aGVyXG4iCisidXNlcnMgbWF5IGJlIGFibGUgdG8gcmVhZCB5b3VyIGNhY2hlZCBjcmVkZW50aWFscy4gQ29uc2lkZXIgcnVubmluZzpcbiIKKyJcbiIKKyJcdGNobW9kIDA3MDAgJXMiCittc2dzdHIgIiIKKyJMZXMgcGVybWlzc2lvbnMgZGUgdm90cmUgcsOpcGVydG9pcmUgZGUgc29ja2V0IHNvbnQgdHJvcCBwZXJtaXNzaXZlc8KgO1xuIgorImxlcyBhdXRyZXMgdXRpbGlzYXRldXJzIHBvdXJyYWllbnQgbGlyZSB2b3MgaWRlbnRpZmlhbnRzIHNlY3JldHMuIExhbmNlesKgOlxuIgorIlxuIgorIiAgICBjaG1vZCAwNzAwICVzIgorCiAjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzEKIG1zZ2lkICJwcmludCBkZWJ1Z2dpbmcgbWVzc2FnZXMgdG8gc3RkZXJyIgogbXNnc3RyICJhZmZpY2hlciBsZXMgbWVzc2FnZXMgZGUgZGVidWcgc3VyIHN0ZGVyciIKQEAgLTEyMDA5LDcgKzEzNDUwLDExIEBACiAicXVlbHF1ZXMgY29uY2VwdHMuIFZvaXIgJ2dpdCBoZWxwIDxjb21tYW5kZT4nIG91ICdnaXQgaGVscCA8Y29uY2VwdD4nXG4iCiAicG91ciBlbiBsaXJlIHBsdXMgw6AgcHJvcG9zIGQndW5lIGNvbW1hbmRlIHNww6ljaWZpcXVlIG91IGQndW4gY29uY2VwdC4iCiAKLSM6IGh0dHAuYzozMjIKKyM6IGh0dHAuYzozNDIKK21zZ2lkICJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiCittc2dzdHIgIkxhIGTDqWzDqWdhdGlvbiBkZSBjb21tYW5kZSBuJ2VzdCBwYXMgc3VwcG9ydMOpIGF2ZWMgY3VSTCA8IDcuMjIuMCIKKworIzogaHR0cC5jOjM1MQogbXNnaWQgIlB1YmxpYyBrZXkgcGlubmluZyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKIG1zZ3N0ciAiTCfDqXBpbmdsYWdlIGRlIGNsw6kgcHVibGlxdWUgbidlc3QgcGFzIHN1cHBvcnTDqSBhdmVjIGN1UkwgPCA3LjQ0LjAiCiAKQEAgLTEyMTI5LDE1ICsxMzU3NCwxNSBAQAogbXNnaWQgIm5vLW9wIChiYWNrd2FyZCBjb21wYXRpYmlsaXR5KSIKIG1zZ3N0ciAic2FucyBhY3Rpb24gKHLDqXRyb2NvbXBhdGliaWxpdMOpKSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzNworIzogcGFyc2Utb3B0aW9ucy5oOjIzOAogbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKIG1zZ3N0ciAiw6p0cmUgcGx1cyB2ZXJiZXV4IgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjM5CisjOiBwYXJzZS1vcHRpb25zLmg6MjQwCiBtc2dpZCAiYmUgbW9yZSBxdWlldCIKIG1zZ3N0ciAiw6p0cmUgcGx1cyBzaWxlbmNpZXV4IgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjQ1CisjOiBwYXJzZS1vcHRpb25zLmg6MjQ2CiBtc2dpZCAidXNlIDxuPiBkaWdpdHMgdG8gZGlzcGxheSBTSEEtMXMiCiBtc2dzdHIgInV0aWxpc2VyIDxuPiBjaGlmZnJlcyBwb3VyIGFmZmljaGVyIGxlcyBTSEEtMXMiCiAKQEAgLTEyMTQ2LDMyICsxMzU5MSwzMiBAQAogbXNnc3RyICIiCiAibWV0IMOgIGpvdXIgbCdpbmRleCBhdmVjIGxlcyByw6lzb2x1dGlvbnMgZGUgY29uZmxpdCByw6l1dGlsaXPDqWVzIHNpIHBvc3NpYmxlIgogCi0jOiBnaXQtYmlzZWN0LnNoOjU1CisjOiBnaXQtYmlzZWN0LnNoOjU0CiBtc2dpZCAiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIiCiBtc2dzdHIgIlZvdXMgZGV2ZXogZMOpbWFycmVyIGF2ZWMgXCJnaXQgYmlzZWN0IHN0YXJ0XCIiCiAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LWJpc2VjdC5zaDo2MQorIzogZ2l0LWJpc2VjdC5zaDo2MAogbXNnaWQgIkRvIHlvdSB3YW50IG1lIHRvIGRvIGl0IGZvciB5b3UgW1kvbl0/ICIKIG1zZ3N0ciAiU291aGFpdGV6LXZvdXMgcXVlIGplIGxlIGZhc3NlIHBvdXIgdm91cyBbWS9uXSA/ICIKIAotIzogZ2l0LWJpc2VjdC5zaDoxMjIKKyM6IGdpdC1iaXNlY3Quc2g6MTIxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbmlzZWQgb3B0aW9uOiAnJGFyZyciCiBtc2dzdHIgIm9wdGlvbiBpbmNvbm51ZSA6ICckYXJnJyIKIAotIzogZ2l0LWJpc2VjdC5zaDoxMjYKKyM6IGdpdC1iaXNlY3Quc2g6MTI1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgdmFsaWQgcmV2aXNpb24iCiBtc2dzdHIgIickYXJnJyBuZSBzZW1ibGUgw6p0cmUgdW5lIHLDqXZpc2lvbiB2YWxpZGUiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTU1CisjOiBnaXQtYmlzZWN0LnNoOjE1NAogbXNnaWQgIkJhZCBIRUFEIC0gSSBuZWVkIGEgSEVBRCIKIG1zZ3N0ciAiTWF1dmFpc2UgSEVBRCAtIGonYWkgYmVzb2luIGQndW5lIEhFQUQiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTY4CisjOiBnaXQtYmlzZWN0LnNoOjE2NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkNoZWNraW5nIG91dCAnJHN0YXJ0X2hlYWQnIGZhaWxlZC4gVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDx2YWxpZC1icmFuY2g+Jy4iCkBAIC0xMjE3OSwyNyArMTM2MjQsMjggQEAKICJMJ2V4dHJhY3Rpb24gZGUgJyRzdGFydF9oZWFkJyBhIMOpY2hvdcOpLiBFc3NheWV6ICdnaXQgYmlzZWN0IHJlc2V0IDxicmFuY2hlLSIKICJ2YWxpZGU+Jy4iCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTc4CisjOiBnaXQtYmlzZWN0LnNoOjE3NwogbXNnaWQgIndvbid0IGJpc2VjdCBvbiBjZy1zZWVrJ2VkIHRyZWUiCiBtc2dzdHIgInJlZnVzIGRlIGJpc3NlY3RlciBzdXIgdW4gYXJicmUgJ2NnLXNlZWtlZCciCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTgyCisjOiBnaXQtYmlzZWN0LnNoOjE4MQogbXNnaWQgIkJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiCiBtc2dzdHIgIk1hdXZhaXNlIEhFQUQgLSByw6lmw6lyZW5jZSBzeW1ib2xpcXVlIGRvdXRldXNlIgogCi0jOiBnaXQtYmlzZWN0LnNoOjIzNAorIzogZ2l0LWJpc2VjdC5zaDoyMzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICRzdGF0ZSIKIG1zZ3N0ciAiTWF1dmFpcyBhcmd1bWVudCBwb3VyIGJpc2VjdF93cml0ZSA6ICRzdGF0ZSIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNjMKKyM6IGdpdC1iaXNlY3Quc2g6MjYyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkYXJnIgogbXNnc3RyICJNYXV2YWlzZSByw6l2aXNpb24gZW4gZW50csOpZSA6ICRhcmciCiAKLSM6IGdpdC1iaXNlY3Quc2g6Mjc4Ci1tc2dpZCAiUGxlYXNlIGNhbGwgJ2Jpc2VjdF9zdGF0ZScgd2l0aCBhdCBsZWFzdCBvbmUgYXJndW1lbnQuIgotbXNnc3RyICJWZXVpbGxleiBhcHBlbGVyICdiaXNlY3Rfc3RhdGUnIGF2ZWMgYXUgbW9pbnMgdW4gYXJndW1lbnQuIgorIzogZ2l0LWJpc2VjdC5zaDoyODEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRiaXNlY3RlZF9oZWFkIgorbXNnc3RyICJNYXV2YWlzZSByw6l2aXNpb24gZW4gZW50csOpZSA6ICRiaXNlY3RlZF9oZWFkIgogCiAjOiBnaXQtYmlzZWN0LnNoOjI5MAogIywgc2gtZm9ybWF0CkBAIC0xMjM0OSw3ICsxMzc5NSw0NyBAQAogIkxlcyBvcHRpb25zIHN1cHBvcnTDqWVzIHNvbnTCoDogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCBldCAtLXRlcm0tYmFkfC0tdGVybS0iCiAibmV3LiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NDYKK21zZ2lkICIiCisiRXJyb3I6IFlvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKKyJtZXJnZSIKK21zZ3N0ciAiIgorIkVycmV1csKgOiB2b3MgbW9kaWZpY2F0aW9ucyBsb2NhbGVzIGF1eCBmaWNoaWVycyBzdWl2YW50cyBzZXJhaWVudCDDqWNyYXPDqWVzICIKKyJwYXIgbGEgZnVzaW9uIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo2MQorbXNnaWQgIkF1dG9tYXRlZCBtZXJnZSBkaWQgbm90IHdvcmsuIgorbXNnc3RyICJMYSBmdXNpb24gYXV0b21hdGlxdWUgYSDDqWNob3XDqS4iCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjYyCittc2dpZCAiU2hvdWxkIG5vdCBiZSBkb2luZyBhbiBvY3RvcHVzLiIKK21zZ3N0ciAiTCdPY3RvcHVzIG5lIGRldnJhaXQgcGFzIGFycml2ZXIuIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo3MworIywgc2gtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGZpbmQgY29tbW9uIGNvbW1pdCB3aXRoICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSB0cm91dmVyIHVuIGNvbW1pdCBjb21tdW4gYXZlYyAkcHJldHR5X25hbWUiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjc3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUgd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgIkTDqWrDoCDDoCBqb3VyIGF2ZWMgJHByZXR0eV9uYW1lIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo4OQorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFzdC1mb3J3YXJkaW5nIHRvOiAkcHJldHR5X25hbWUiCittc2dzdHIgIk1pc2Ugw6Agam91ciBlbiBhdmFuY2UgcmFwaWRlIHN1ciAkcHJldHR5X25hbWUiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjk3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJUcnlpbmcgc2ltcGxlIG1lcmdlIHdpdGggJHByZXR0eV9uYW1lIgorbXNnc3RyICJFc3NhaSBkZSBmdXNpb24gc2ltcGxlIGF2ZWMgJHByZXR0eV9uYW1lIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDoxMDIKK21zZ2lkICJTaW1wbGUgbWVyZ2UgZGlkIG5vdCB3b3JrLCB0cnlpbmcgYXV0b21hdGljIG1lcmdlLiIKK21zZ3N0ciAiTGEgZnVzaW9uIHNpbXBsZSBhIMOpY2hvdcOpLCBlc3NhaSBhdmVjIGxhIGZ1c2lvbiBhdXRvbWF0aXF1ZS4iCisKKyM6IGdpdC1yZWJhc2Uuc2g6NTYKIG1zZ2lkICIiCiAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiLlxuIgogIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCJnaXQgcmViYXNlIC0tc2tpcFwiIGluc3RlYWQuXG4iCkBAIC0xMjM2MSwxNiArMTM4NDcsMjEgQEAKICJQb3VyIGV4dHJhaXJlIGxhIGJyYW5jaGUgZCdvcmlnaW5lIGV0IHN0b3BwZXIgbGUgcmViYXNhZ2UsIGxhbmNleiBcImdpdCAiCiAicmViYXNlIC0tYWJvcnRcIi4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTY4CisjOiBnaXQtcmViYXNlLnNoOjE1NiBnaXQtcmViYXNlLnNoOjM5NQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG1vdmUgYmFjayB0byAkaGVhZF9uYW1lIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHJldmVuaXIgw6AgJGhlYWRfbmFtZSIKKworIzogZ2l0LXJlYmFzZS5zaDoxNjcKIG1zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCiBtc2dzdHIgIkF1dG9yZW1pc2FnZSBhcHBsaXF1w6kuIgogCi0jOiBnaXQtcmViYXNlLnNoOjE3MQorIzogZ2l0LXJlYmFzZS5zaDoxNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdG9ja2VyICRzdGFzaF9zaGExIgogCi0jOiBnaXQtcmViYXNlLnNoOjE3MgorIzogZ2l0LXJlYmFzZS5zaDoxNzEKIG1zZ2lkICIiCiAiQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy5cbiIKICJZb3VyIGNoYW5nZXMgYXJlIHNhZmUgaW4gdGhlIHN0YXNoLlxuIgpAQCAtMTIzODAsMjkgKzEzODcxLDI5IEBACiAiVm9zICBtb2RpZmljYXRpb25zIHNvbnQgw6AgbCdhYnJpIGRhbnMgbGEgcmVtaXNlLlxuIgogIlZvdXMgcG91dmV6IGxhbmNlciBcImdpdCBzdGFzaCBwb3BcIiBvdSBcImdpdCBzdGFzaCBkcm9wXCIgw6AgdG91dCBtb21lbnQuXG4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MjExCisjOiBnaXQtcmViYXNlLnNoOjIxMAogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICJMZSBjcm9jaGV0IHByZS1yZWJhc2UgYSByZWZ1c8OpIGRlIHJlYmFzZXIuIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxNgorIzogZ2l0LXJlYmFzZS5zaDoyMTUKIG1zZ2lkICJJdCBsb29rcyBsaWtlIGdpdC1hbSBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCiBtc2dzdHIgIklsIHNlbWJsZSBxdWUgZ2l0LWFtIHNvaXQgZW4gY291cnMuIEltcG9zc2libGUgZGUgcmViYXNlci4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzU3CisjOiBnaXQtcmViYXNlLnNoOjM1NgogbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCiBtc2dzdHIgIlBhcyBkZSByZWJhc2FnZSBlbiBjb3VycyA/IgogCi0jOiBnaXQtcmViYXNlLnNoOjM2OAorIzogZ2l0LXJlYmFzZS5zaDozNjcKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIiIKICJMJ2FjdGlvbiAtLWVkaXQtdG9kbyBwZXV0IHNldWxlbWVudCDDqnRyZSB1dGlsaXPDqWUgbG9ycyBkJ3VuIHJlYmFzYWdlICIKICJpbnRlcmFjdGlmLiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzUKKyM6IGdpdC1yZWJhc2Uuc2g6Mzc0CiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIEhFQUQiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzc4CisjOiBnaXQtcmViYXNlLnNoOjM3NwogbXNnaWQgIiIKICJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKICJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKQEAgLTEyNDEwLDEyICsxMzkwMSw3IEBACiAiVm91cyBkZXZleiDDqWRpdGVyIHRvdXMgbGVzIGNvbmZsaXRzIGRlIGZ1c2lvbiBldFxuIgogImxlcyBtYXJxdWVyIGNvbW1lIHLDqXNvbHVzIGF2ZWMgZ2l0IGFkZCIKIAotIzogZ2l0LXJlYmFzZS5zaDozOTYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZXZlbmlyIMOgICRoZWFkX25hbWUiCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NDE1CisjOiBnaXQtcmViYXNlLnNoOjQxNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICRzdGF0ZV9kaXJfYmFzZSBkaXJlY3RvcnksIGFuZFxuIgpAQCAtMTI0MzcsOTggKzEzOTIzLDEwMiBAQAogImNob3NlXG4iCiAiZCdpbXBvcnRhbnQgaWNpLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NjYKKyM6IGdpdC1yZWJhc2Uuc2g6NDY1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICR1cHN0cmVhbV9uYW1lIgogbXNnc3RyICJpbnZhbGlkZSAkdXBzdHJlYW1fbmFtZSBlbiBhbW9udCIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTAKKyM6IGdpdC1yZWJhc2Uuc2g6NDg5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiJG9udG9fbmFtZSA6IGlsIHkgYSBwbHVzIGQndW5lIGJhc2UgZGUgZnVzaW9uIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5MyBnaXQtcmViYXNlLnNoOjQ5NworIzogZ2l0LXJlYmFzZS5zaDo0OTIgZ2l0LXJlYmFzZS5zaDo0OTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGlzIG5vIG1lcmdlIGJhc2UiCiBtc2dzdHIgIiRvbnRvX25hbWUgOiBpbCBuJ3kgYSBwYXMgZGUgYmFzZSBkZSBmdXNpb24iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTAyCisjOiBnaXQtcmViYXNlLnNoOjUwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCiBtc2dzdHIgIk5lIHBvaW50ZSBwYXMgc3VyIHVuZSB2YWxpZGF0aW9uIHZhbGlkZSA6ICRvbnRvX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTI1CisjOiBnaXQtcmViYXNlLnNoOjUyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoOiAkYnJhbmNoX25hbWUiCiBtc2dzdHIgImZhdGFsIDogcGFzIGRlIGJyYW5jaGUgOiAkYnJhbmNoX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTU4CisjOiBnaXQtcmViYXNlLnNoOjU1NwogbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCiBtc2dzdHIgIkF1dG9yZW1pc2FnZSBpbXBvc3NpYmxlIgogCi0jOiBnaXQtcmViYXNlLnNoOjU2MworIzogZ2l0LXJlYmFzZS5zaDo1NjIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgogbXNnc3RyICJBdXRvcmVtaXNhZ2UgY3LDqcOpIDogJHN0YXNoX2FiYnJldiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjcKKyM6IGdpdC1yZWJhc2Uuc2g6NTY2CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAiVmV1aWxsZXogbGVzIHZhbGlkZXIgb3UgbGVzIHJlbWlzZXIuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU4NworIzogZ2l0LXJlYmFzZS5zaDo1ODYKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiTGEgYnJhbmNoZSBjb3VyYW50ZSAkYnJhbmNoX25hbWUgZXN0IMOgIGpvdXIuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU5MQorIzogZ2l0LXJlYmFzZS5zaDo1OTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAiTGEgYnJhbmNoZSBjb3VyYW50ZSAkYnJhbmNoX25hbWUgZXN0IMOgIGpvdXIsIHJlYmFzYWdlIGZvcmPDqS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjAyCisjOiBnaXQtcmViYXNlLnNoOjYwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCiBtc2dzdHIgIkNoYW5nZW1lbnRzIGRlICRtYiBzdXIgJG9udG8gOiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MTEKKyM6IGdpdC1yZWJhc2Uuc2g6NjEwCiBtc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIgogbXNnc3RyICIiCiAiUHJlbWnDqHJlbWVudCwgcmVtYm9iaW5vbnMgaGVhZCBwb3VyIHJlam91ZXIgdm90cmUgdHJhdmFpbCBwYXItZGVzc3VzLi4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjYyMQorIzogZ2l0LXJlYmFzZS5zaDo2MjAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAiJGJyYW5jaF9uYW1lIG1pc2Ugw6Agam91ciBlbiBhdmFuY2UgcmFwaWRlIHN1ciAkb250b19uYW1lLiIKIAotIzogZ2l0LXN0YXNoLnNoOjUxCisjOiBnaXQtc3Rhc2guc2g6NTAKIG1zZ2lkICJnaXQgc3Rhc2ggY2xlYXIgd2l0aCBwYXJhbWV0ZXJzIGlzIHVuaW1wbGVtZW50ZWQiCiBtc2dzdHIgImdpdCBzdGFzaCBjbGVhciBhdmVjIGRlcyBwYXJhbcOodHJlcyBuJ2VzdCBwYXMgaW1wbMOpbWVudMOpIgogCi0jOiBnaXQtc3Rhc2guc2g6NzQKKyM6IGdpdC1zdGFzaC5zaDo3MwogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgogbXNnc3RyICJWb3VzIG4nYXZleiBwYXMgZW5jb3JlIGxhIHZhbGlkYXRpb24gaW5pdGlhbGUiCiAKLSM6IGdpdC1zdGFzaC5zaDo4OQorIzogZ2l0LXN0YXNoLnNoOjg4CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc2F1dmVyIGwnw6l0YXQgY291cmFudCBkZSBsJ2luZGV4IgogCi0jOiBnaXQtc3Rhc2guc2g6MTI0IGdpdC1zdGFzaC5zaDoxMzcKKyM6IGdpdC1zdGFzaC5zaDoxMDMKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHNhdXZlciBsZXMgZmljaGllcnMgbm9uLXN1aXZpcyIKKworIzogZ2l0LXN0YXNoLnNoOjEyMyBnaXQtc3Rhc2guc2g6MTM2CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc2F1dmVyIGwnw6l0YXQgY291cmFudCBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQxCisjOiBnaXQtc3Rhc2guc2g6MTQwCiBtc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKIG1zZ3N0ciAiQXVjdW4gY2hhbmdlbWVudCBzw6lsZWN0aW9ubsOpIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQ0CisjOiBnaXQtc3Rhc2guc2g6MTQzCiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgaW5kZXggKGNhbid0IGhhcHBlbikiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGwnaW5kZXggdGVtcG9yYWlyZSAobmUgcGV1dCBwYXMgc2UgcHJvZHVpcmUpIgogCi0jOiBnaXQtc3Rhc2guc2g6MTU3CisjOiBnaXQtc3Rhc2guc2g6MTU2CiBtc2dpZCAiQ2Fubm90IHJlY29yZCB3b3JraW5nIHRyZWUgc3RhdGUiCiBtc2dzdHIgIkltcG9zc2libGUgZCdlbnJlZ2lzdHJlciBsJ8OpdGF0IGRlIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGdpdC1zdGFzaC5zaDoxODkKKyM6IGdpdC1zdGFzaC5zaDoxODgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgJHJlZl9zdGFzaCB3aXRoICR3X2NvbW1pdCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBtZXR0cmUgw6Agam91ciAkcmVmX3N0YXNoIGF2ZWMgJHdfY29tbWl0IgpAQCAtMTI1NDMsNyArMTQwMzMsNyBAQAogIy4gJCBnaXQgc3Rhc2ggc2F2ZSAtLWJsYWgtYmxhaCAyPiYxIHwgaGVhZCAtbiAyCiAjLiBlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogLS1ibGFoLWJsYWgKICMuIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJy0tYmxhaC1ibGFoJwotIzogZ2l0LXN0YXNoLnNoOjIzOQorIzogZ2l0LXN0YXNoLnNoOjIzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCkBAIC0xMjU1MiwxMTAgKzE0MDQyLDEyOCBAQAogImVycmV1cjogb3B0aW9uIGluY29ubnVlIHBvdXIgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCiAiICAgICAgICBQb3VyIGZvdXJuaXIgdW4gbWVzc2FnZSwgdXRpbGlzZXogZ2l0IHN0YXNoIHNhdmUgLS0gJyRvcHRpb24nIgogCi0jOiBnaXQtc3Rhc2guc2g6MjYwCisjOiBnaXQtc3Rhc2guc2g6MjUxCittc2dpZCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKK21zZ3N0ciAiIgorIkltcG9zc2libGUgZCd1dGlsaXNlciAtLXBhdGNoIGV0IC0taW5jbHVkZS11bnRyYWNrZWQgb3UgLS1hbGwgZW4gbcOqbWUgdGVtcHMiCisKKyM6IGdpdC1zdGFzaC5zaDoyNTkKIG1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCiBtc2dzdHIgIlBhcyBkZSBtb2RpZmljYXRpb25zIGxvY2FsZXMgw6Agc2F1dmVyIgogCi0jOiBnaXQtc3Rhc2guc2g6MjY0CisjOiBnaXQtc3Rhc2guc2g6MjYzCiBtc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCiBtc2dzdHIgIkltcG9zc2libGUgZCdpbml0aWFsaXNlciBsZSByZW1pc2FnZSIKIAotIzogZ2l0LXN0YXNoLnNoOjI2OAorIzogZ2l0LXN0YXNoLnNoOjI2NwogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzYXV2ZXIgbGUgc3RhdHV0IGNvdXJhbnQiCiAKLSM6IGdpdC1zdGFzaC5zaDoyODYKKyM6IGdpdC1zdGFzaC5zaDoyNjgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAkc3Rhc2hfbXNnIgorbXNnc3RyICJDb3BpZSBkZSB0cmF2YWlsIGV0IMOpdGF0IGRlIGwnaW5kZXggc2F1dmVnYXJkw6lzIGRhbnMgJHN0YXNoX21zZyIKKworIzogZ2l0LXN0YXNoLnNoOjI4NQogbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbGVzIGNoYW5nZW1lbnRzIGRlIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MDUKKyM6IGdpdC1zdGFzaC5zaDo0MDMKICMsIHNoLWZvcm1hdAogbXNnaWQgInVua25vd24gb3B0aW9uOiAkb3B0IgogbXNnc3RyICJvcHRpb24gaW5jb25udWXCoDogJG9wdCIKIAotIzogZ2l0LXN0YXNoLnNoOjQxNQorIzogZ2l0LXN0YXNoLnNoOjQxNgogbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKIG1zZ3N0ciAiUGFzIGRlIHJlbWlzYWdlIHRyb3V2w6kuIgogCi0jOiBnaXQtc3Rhc2guc2g6NDIyCisjOiBnaXQtc3Rhc2guc2g6NDIzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICJUcm9wIGRlIHLDqXZpc2lvbnMgc3DDqWNpZmnDqWVzIDogJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjQyOAorIzogZ2l0LXN0YXNoLnNoOjQzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiCiBtc2dzdHIgIiRyZWZlcmVuY2Ugbidlc3QgcGFzIHVuZSByw6lmw6lyZW5jZSB2YWxpZGUiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NTYKKyM6IGdpdC1zdGFzaC5zaDo0NjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIickYXJncycgbidlc3QgcGFzIHVuZSB2YWxpZGF0aW9uIGRlIHR5cGUgcmVtaXNhZ2UiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NjcKKyM6IGdpdC1zdGFzaC5zaDo0NzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgogbXNnc3RyICInJGFyZ3MnIG4nZXN0IHBhcyB1bmUgcsOpZsOpcmVuY2UgZGUgcmVtaXNhZ2UiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NzUKKyM6IGdpdC1zdGFzaC5zaDo0ODUKIG1zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByYWZyYcOuY2hpciBsJ2luZGV4IgogCi0jOiBnaXQtc3Rhc2guc2g6NDc5CisjOiBnaXQtc3Rhc2guc2g6NDg5CiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYXBwbGlxdWVyIHVuIHJlbWlzYWdlIGVuIGNvdXJzIGRlIGZ1c2lvbiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ4NworIzogZ2l0LXN0YXNoLnNoOjQ5NwogbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCiBtc2dzdHIgIkNvbmZsaXRzIGRhbnMgbCdpbmRleC4gRXNzYXlleiBzYW5zIC0taW5kZXguIgogCi0jOiBnaXQtc3Rhc2guc2g6NDg5CisjOiBnaXQtc3Rhc2guc2g6NDk5CiBtc2dpZCAiQ291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzYXV2ZWdhcmRlciBsJ2FyYnJlIGQnaW5kZXgiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MjMKKyM6IGdpdC1zdGFzaC5zaDo1MDgKK21zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZXN0YXVyZXIgbGVzIGZpY2hpZXJzIG5vbi1zdWl2aXMgZGVwdWlzIGxlIHJlbWlzYWdlIgorCisjOiBnaXQtc3Rhc2guc2g6NTMzCiBtc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZMOpc2luZGV4ZXIgbGVzIGZpY2hpZXJzIG1vZGlmacOpcyIKIAotIzogZ2l0LXN0YXNoLnNoOjUzOAorIzogZ2l0LXN0YXNoLnNoOjU0OAogbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKIG1zZ3N0ciAiTCdpbmRleCBuJ2EgcGFzIMOpdMOpIHNvcnRpIGRlIHJlbWlzZS4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NjEKKyM6IGdpdC1zdGFzaC5zaDo1NjIKK21zZ2lkICJUaGUgc3Rhc2ggaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKK21zZ3N0ciAiTGUgcmVtaXNhZ2UgZXN0IGNvbnNlcnbDqSBhdSBjYXMgb8O5IHZvdXMgZW4gYXVyaWV6IGVuY29yZSBiZXNvaW4uIgorCisjOiBnaXQtc3Rhc2guc2g6NTcxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgogbXNnc3RyICIke1JFVn0gc3VwcHJpbcOpICgkcykiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NjIKKyM6IGdpdC1zdGFzaC5zaDo1NzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiR7UkVWfTogSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbCfDqWzDqW1lbnQgZGUgc3Rhc2giCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzAKKyM6IGdpdC1zdGFzaC5zaDo1ODAKIG1zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCiBtc2dzdHIgIkF1Y3VuZSBicmFuY2hlIHNww6ljaWZpw6llIgogCi0jOiBnaXQtc3Rhc2guc2g6NjQyCisjOiBnaXQtc3Rhc2guc2g6NjUyCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICIoUG91ciBsZXMgcmVzdGF1cmVyIHRhcGV6IFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIxOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxODQKIG1zZ2lkICJSZWxhdGl2ZSBwYXRoIGNhbiBvbmx5IGJlIHVzZWQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogIlVuIGNoZW1pbiByZWxhdGlmIG5lIHBldXQgw6p0cmUgdXRpbGlzw6kgcXVlIGRlcHVpcyBsYSByYWNpbmUgZGUgbGEgY29waWUgZGUgIgogInRyYXZhaWwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjI5CisjOiBnaXQtc3VibW9kdWxlLnNoOjE5NAogIywgc2gtZm9ybWF0CiBtc2dpZCAicmVwbyBVUkw6ICckcmVwbycgbXVzdCBiZSBhYnNvbHV0ZSBvciBiZWdpbiB3aXRoIC4vfC4uLyIKIG1zZ3N0ciAiTCdVUkwgZGUgZMOpcMO0dCAnJHJlcG8nIGRvaXQgw6p0cmUgYWJzb2x1IG91IGNvbW1lbmNlciBwYXIgLi98Li4vIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI0NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IgogbXNnc3RyICInJHNtX3BhdGgnIGV4aXN0ZSBkw6lqw6AgZGFucyBsJ2luZGV4IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI1MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHBhdGggaXMgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgpAQCAtMTI2NjYsMTAzICsxNDE3NCw5MyBAQAogIiRzbV9wYXRoXG4iCiAiVXRpbGlzZXogLWYgc2kgdm91cyB2b3VsZXogdnJhaW1lbnQgbCdham91dGVyLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgZXhpc3RpbmcgcmVwbyBhdCAnJHNtX3BhdGgnIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiQWpvdXQgZHUgZMOpcMO0dCBleGlzdGFudCDDoCAnJHNtX3BhdGgnIGRhbnMgbCdpbmRleCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYSB2YWxpZCBnaXQgcmVwbyIKIG1zZ3N0ciAiJyRzbV9wYXRoJyBleGlzdGUgZMOpasOgIGV0IG4nZXN0IHBhcyB1biBkw6lww7R0IGdpdCB2YWxpZGUiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mjc4CisjOiBnaXQtc3VibW9kdWxlLnNoOjI0MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQSBnaXQgZGlyZWN0b3J5IGZvciAnJHNtX25hbWUnIGlzIGZvdW5kIGxvY2FsbHkgd2l0aCByZW1vdGUocyk6IgogbXNnc3RyICIiCiAiVW4gcsOpcGVydG9pcmUgZ2l0IHBvdXIgJyRzbV9uYW1lJyBlc3QgdHJvdXbDqSBlbiBsb2NhbCBhdmVjIGxlKHMpIHNlcnZldXIocykgIgogImRpc3RhbnQocykgOiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCi0iSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tIgotbXNnc3RyICIiCi0iU2kgdm91cyB2b3VsZXogcsOpdXRpbGlzZXIgY2UgcsOpcGVydG9pcmUgZ2l0IGxvY2FsIGF1IGxpZXUgZGUgY2xvbmVyIMOgICIKLSJub3V2ZWF1IGRlcHVpcyIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODIKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJ1c2UgdGhlICctLWZvcmNlJyBvcHRpb24uIElmIHRoZSBsb2NhbCBnaXQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgY29ycmVjdCByZXBvIgotbXNnc3RyICIiCi0idXRpbGlzZXogbCdvcHRpb24gJy0tZm9yY2UnLiBTaSBsZSByw6lwZXJ0b2lyZSBsb2NhbCBnaXQgbidlc3QgcGFzIGxlIGTDqXDDtHQgIgotImNvcnJlY3QiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjgzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCisiSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tXG4iCisiICAkcmVhbHJlcG9cbiIKKyJ1c2UgdGhlICctLWZvcmNlJyBvcHRpb24uIElmIHRoZSBsb2NhbCBnaXQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgY29ycmVjdCAiCisicmVwb1xuIgogIm9yIHlvdSBhcmUgdW5zdXJlIHdoYXQgdGhpcyBtZWFucyBjaG9vc2UgYW5vdGhlciBuYW1lIHdpdGggdGhlICctLW5hbWUnICIKICJvcHRpb24uIgogbXNnc3RyICIiCi0ib3Ugdm91cyBuZSBzYXZleiBwYXMgY2UgcXVlIGNlbGEgc2lnbmlmaWUgZGUgY2hvaXNpciB1biBhdXRyZSBub20gYXZlYyAiCi0ibCdvcHRpb24gJy0tbmFtZScuIgorIlNpIHZvdXMgdm91bGV6IHLDqXV0aWxpc2VyIGNlIHLDqXBlcnRvaXJlIGxvY2FsIGdpdCBhdSBsaWV1IGRlIGxlIHJlY2xvbmVyICIKKyJkZXB1aXNcbiIKKyIgICRyZWFscmVwb1xuIgorInV0aWxpc2V6IGwnb3B0aW9uICctLWZvcmNlJy4gU2kgbGUgcsOpcGVydG9pcmUgbG9jYWwgZ2l0IG4nZXN0IHBhcyBsZSBkw6lww7R0ICIKKyJjb3JyZWN0XG4iCisib3Ugc2kgY2VjaSBuJ2VzdCBwYXMgY2xhaXIsIGNob2lzaXNzZXogdW4gYXV0cmUgbm9tIGF2ZWMgbCdvcHRpb24gJy0tbmFtZScuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYWN0aXZhdGluZyBsb2NhbCBnaXQgZGlyZWN0b3J5IGZvciBzdWJtb2R1bGUgJyRzbV9uYW1lJy4iCiBtc2dzdHIgIlLDqWFjdGl2YXRpb24gZHUgcsOpcGVydG9pcmUgZ2l0IGxvY2FsIHBvdXIgbGUgc291cy1tb2R1bGUgJyRzbV9uYW1lJy4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mjk3CisjOiBnaXQtc3VibW9kdWxlLnNoOjI2MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0IHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnZXh0cmFpcmUgbGUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjY4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gYWRkIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICLDiWNoZWMgZCdham91dCBkdSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMxMQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiw4ljaGVjIGQnZW5yZWdpc3RyZW1lbnQgZHUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNTUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzI0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFbnRlcmluZyAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiRW50csOpZSBkYW5zICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM3NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDozNDQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN0b3BwaW5nIGF0ICckZGlzcGxheXBhdGgnOyBzY3JpcHQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzLiIKIG1zZ3N0ciAiQXJyw6p0IHN1ciAnJGRpc3BsYXlwYXRoJyA7IGxlIHNjcmlwdCBhIHJldG91cm7DqSB1biBzdGF0dXQgbm9uIG51bC4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDQ4CisjOiBnaXQtc3VibW9kdWxlLnNoOjQxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgYW5kIC0tYWxsIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgInVuIHNww6ljaWZpY2F0ZXVyIGRlIGNoZW1pbiBldCAtLWFsbCBzb250IGluY29tcGF0aWJsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDUzCisjOiBnaXQtc3VibW9kdWxlLnNoOjQyMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVXNlICctLWFsbCcgaWYgeW91IHJlYWxseSB3YW50IHRvIGRlaW5pdGlhbGl6ZSBhbGwgc3VibW9kdWxlcyIKLW1zZ3N0ciAiVXRpbGlzZXogJy0tYWxsJyBzaSB2b3VzIHZvdWxleiB2cmFpbWVudCByw6lpbml0aWFsaXNlciB0b3VzIGxlcyBzb3VzLW1vZHVsZXMiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDcwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKLSJMYSBjb3BpZSBkZSB0cmF2YWlsIGR1IHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIGNvbnRpZW50IHVuIHLDqXBlcnRvaXJlIC5naXQiCisiVXRpbGlzZXogJy0tYWxsJyBzaSB2b3VzIHZvdWxleiB2cmFpbWVudCByw6lpbml0aWFsaXNlciB0b3VzIGxlcyBzb3VzLW1vZHVsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDcxCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ0MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgorIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeVxuIgogIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKIG1zZ3N0ciAiIgorIkxhIGNvcGllIGRlIHRyYXZhaWwgZHUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgY29udGllbnQgdW4gcsOpcGVydG9pcmUgLiIKKyJnaXRcbiIKICIodXRpbGlzZXogJ3JtIC1yZicgc2kgdm91cyB2b3VsZXogdnJhaW1lbnQgbGUgc3VwcHJpbWVyIGVuIGluY2x1YW50IHRvdXQgc29uICIKICJoaXN0b3JpcXVlKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byAiCkBAIC0xMjc3MSwxMzAgKzE0MjY5LDE0NiBAQAogIkxhIGNvcGllIGRlIHRyYXZhaWwgZHUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgY29udGllbnQgZGVzIG1vZGlmaWNhdGlvbnMgIgogImxvY2FsZXMgOyB1dGlsaXNleiAnLWYnIHBvdXIgbGVzIGFubnVsZXIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIlLDqXBlcnRvaXJlICckZGlzcGxheXBhdGgnIG5ldHRvecOpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ4MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxhIGNvcGllIGRlIHRyYXZhaWwgZHUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDg0CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBlbXB0eSBzdWJtb2R1bGUgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNyw6llciBsZSByw6lwZXJ0b2lyZSB2aWRlIGR1IHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ5MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJMZSBzb3VzLW1vZHVsZSAnJG5hbWUnICgkdXJsKSBuJ2VzdCBwYXMgZW5yZWdpc3Ryw6kgcG91ciBsZSBjaGVtaW4gIgogIickZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYzNQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgcsOpdmlzaW9uIGNvdXJhbnRlIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICIKICInJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NDQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjI3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByYXBhdHJpZXIgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjMyCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgorIickc21fcGF0aCciCittc2dzdHIgIiIKKyJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgcsOpdmlzaW9uIGNvdXJhbnRlICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSBkYW5zIGxlICIKKyJjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByYXBhdHJpZXIgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjY1NgorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIkZldGNoZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcsIGJ1dCBpdCBkaWQgbm90IGNvbnRhaW4gJHNoYTEuICIKKyJEaXJlY3QgZmV0Y2hpbmcgb2YgdGhhdCBjb21taXQgZmFpbGVkLiIKK21zZ3N0ciAiIgorIkNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyByw6ljdXDDqXLDqSwgbWFpcyBpbCBuZSBjb250ZW5haXQgcGFzICIKKyIkc2hhMS4gTGEgcsOpY3Vww6lyYXRpb24gZGlyZWN0ZSBkZSBjZSBjb21taXQgYSDDqWNob3XDqS4iCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjYzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZCdleHRyYWlyZSAnJHNoYTEnIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBjaGVja2VkIG91dCAnJHNoYTEnIgogbXNnc3RyICJDaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgOiAnJHNoYTEnIGV4dHJhaXQiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njg1CisjOiBnaXQtc3VibW9kdWxlLnNoOjY2OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiSW1wb3NzaWJsZSBkZSByZWJhc2VyICckc2hhMScgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njg2CisjOiBnaXQtc3VibW9kdWxlLnNoOjY2OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IHJlYmFzZWQgaW50byAnJHNoYTEnIgogbXNnc3RyICJDaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgOiByZWJhc8OpIGRhbnMgJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gbWVyZ2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZGUgZnVzaW9ubmVyICckc2hhMScgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjkyCisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgogbXNnc3RyICJDaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgOiBmdXNpb25uw6kgZGFucyAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKLW1zZ3N0ciAiTCdleMOpY3V0aW9uIGRlICckY29tbWFuZCAkc2hhMScgYSDDqWNob3XDqSBkYW5zIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiIgorIkwnZXjDqWN1dGlvbiBkZSAnJGNvbW1hbmQgJHNoYTEnIGEgw6ljaG91w6kgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgIgorIickZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICJDaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCcgOiAnJGNvbW1hbmQgJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjcyOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIsOJY2hlYyBkZSBwYXJjb3VycyBkYW5zIGxlIGNoZW1pbiBkdSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODIwCiBtc2dpZCAiVGhlIC0tY2FjaGVkIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSAtLWZpbGVzIG9wdGlvbiIKIG1zZ3N0ciAiTCdvcHRpb24gLS1jYWNoZWQgbmUgcGV1dCBwYXMgw6p0cmUgdXRpbGlzw6llIGF2ZWMgbCdvcHRpb24gLS1maWxlcyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4ODkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCiBtc2dzdHIgIm1vZGUgJG1vZF9kc3QgaW5hdHRlbmR1IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjkwOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKIG1zZ3N0ciAiICBBdHRlbnRpb24gOiAkZGlzcGxheV9uYW1lIG5lIGNvbnRpZW50IHBhcyBsYSB2YWxpZGF0aW9uICRzaGExX3NyYyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAgQXR0ZW50aW9uIDogJGRpc3BsYXlfbmFtZSBuZSBjb250aWVudCBwYXMgbGEgdmFsaWRhdGlvbiAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTE1CisjOiBnaXQtc3VibW9kdWxlLnNoOjg5OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgogbXNnc3RyICIiCiAiICBBdHRlbnRpb24gOiAkZGlzcGxheV9uYW1lIG5lIGNvbnRpZW50IHBhcyBsZXMgdmFsaWRhdGlvbnMgJHNoYTFfc3JjIGV0ICIKICIkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTQwCi1tc2dpZCAiYmxvYiIKLW1zZ3N0ciAiYmxvYiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDU5CisjOiBnaXQtc3VibW9kdWxlLnNoOjEwNDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiw4ljaGVjIGRlIHBhcmNvdXJzIGRhbnMgbGUgY2hlbWluIGR1IHNvdXMtbW9kdWxlICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTEyMworIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTEyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJTeW5jaHJvbmlzYXRpb24gZGUgbCdVUkwgc291cy1tb2R1bGUgcG91ciAnJGRpc3BsYXlwYXRoJyIKQEAgLTEyOTA0LDYgKzE0NDE4LDcxNiBAQAogbXNnaWQgIlNlZSBnaXQtJHtjbWR9KDEpIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiUsOpZsOpcmV6LXZvdXMgw6AgZ2l0LSR7Y21kfSgxKSBwb3VyIGRlIHBsdXMgYW1wbGVzIGTDqXRhaWxzLiIKIAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJSZWJhc2luZyAoJG5ld19jb3VudC8kdG90YWwpIgorbXNnc3RyICJSZWJhc2FnZSAoJG5ld19jb3VudC8kdG90YWwpIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxNDcKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCisiIHAsIHBpY2sgPSB1c2UgY29tbWl0XG4iCisiIHIsIHJld29yZCA9IHVzZSBjb21taXQsIGJ1dCBlZGl0IHRoZSBjb21taXQgbWVzc2FnZVxuIgorIiBlLCBlZGl0ID0gdXNlIGNvbW1pdCwgYnV0IHN0b3AgZm9yIGFtZW5kaW5nXG4iCisiIHMsIHNxdWFzaCA9IHVzZSBjb21taXQsIGJ1dCBtZWxkIGludG8gcHJldmlvdXMgY29tbWl0XG4iCisiIGYsIGZpeHVwID0gbGlrZSBcInNxdWFzaFwiLCBidXQgZGlzY2FyZCB0aGlzIGNvbW1pdCdzIGxvZyBtZXNzYWdlXG4iCisiIHgsIGV4ZWMgPSBydW4gY29tbWFuZCAodGhlIHJlc3Qgb2YgdGhlIGxpbmUpIHVzaW5nIHNoZWxsXG4iCisiIGQsIGRyb3AgPSByZW1vdmUgY29tbWl0XG4iCisiXG4iCisiVGhlc2UgbGluZXMgY2FuIGJlIHJlLW9yZGVyZWQ7IHRoZXkgYXJlIGV4ZWN1dGVkIGZyb20gdG9wIHRvIGJvdHRvbS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbW1hbmRlc8KgOlxuIgorIiBwLCBwaWNrID0gcGljb3JlciBsZSBjb21taXRcbiIKKyIgciwgcmV3b3JkID0gcGljb3JlciBsZSBjb21taXQsIG1haXMgcmVmb3JtdWxlciBzb24gbWVzc2FnZVxuIgorIiBlLCBlZGl0ID0gcGljb3JlciBsZSBjb21taXQsIG1haXMgcydhcnLDqnRlciBwb3VyIGxlIG1vZGlmaWVyXG4iCisiIHMsIHNxdWFzaCA9IHByZW5kcmUgbGUgY29tbWl0LCBtYWlzIGxlIGZ1c2lvbm5lciBhdmVjIGxlIHByw6ljw6lkZW50XG4iCisiIGYsIGZpeHVwID0gY29tbWUgXCJzcXVhc2hcIiwgbWFpcyBlbiDDqWxpbWluYW50IHNvbiBtZXNzYWdlXG4iCisiIHgsIGV4ZWMgPSBsYW5jZXIgbGEgY29tbWFuZGUgKHJlc3RlIGRlIGxhIGxpZ25lKSBkYW5zIHVuIHNoZWxsXG4iCisiIGQsIGRyb3AgPSBzdXBwcmltZXIgbGUgY29tbWl0XG4iCisiXG4iCisiVm91cyBwb3V2ZXogcsOpb3Jkb25uZXIgY2VzIGxpZ25lc8KgOyBlbGxlcyBzb250IGV4w6ljdXTDqWVzIGRlIGhhdXQgZW4gYmFzLlxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxNjIKK21zZ2lkICIiCisiXG4iCisiRG8gbm90IHJlbW92ZSBhbnkgbGluZS4gVXNlICdkcm9wJyBleHBsaWNpdGx5IHRvIHJlbW92ZSBhIGNvbW1pdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIk5lIHN1cHByaW1leiBhdWN1bmUgbGlnbmUuIFV0aWxpc2V6ICdkcm9wJyBleHBsaWNpdGVtZW50IHBvdXIgc3VwcHJpbWVyIHVuICIKKyJjb21taXQuXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE2NgorbXNnaWQgIiIKKyJcbiIKKyJJZiB5b3UgcmVtb3ZlIGEgbGluZSBoZXJlIFRIQVQgQ09NTUlUIFdJTEwgQkUgTE9TVC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlNpIHZvdXMgw6lsaW1pbmV6IHVuZSBsaWduZSBpY2ksIExFIENPTU1JVCBDT1JSRVNQT05EQU5UIFNFUkEgUEVSRFUuXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjIwMgorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIllvdSBjYW4gYW1lbmQgdGhlIGNvbW1pdCBub3csIHdpdGhcbiIKKyJcbiIKKyJcdGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIk9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMsIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisiVm91cyBwb3V2ZXogY29ycmlnZXIgbGUgY29tbWl0IG1haW50ZW5hbnQsIGF2ZWNcbiIKKyJcbiIKKyJcdGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorImFwcsOocyBhdm9pciByw6lhbGlzw6kgdm9zIG1vZGlmaWNhdGlvbnMsIGxhbmNlelxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyMjcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiRzaGExOiBub3QgYSBjb21taXQgdGhhdCBjYW4gYmUgcGlja2VkIgorbXNnc3RyICIkc2hhMSBuJ2VzdCBwYXMgdW4gY29tbWl0IHF1aSBwZXV0IMOqdHJlIHBpY29yZXIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjI2NgorIywgc2gtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjb21taXQgbmFtZTogJHNoYTEiCittc2dzdHIgIk5vbSBkZSBjb21taXQgaW52YWxpZGXCoDogJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjMwOAorbXNnaWQgIkNhbm5vdCB3cml0ZSBjdXJyZW50IGNvbW1pdCdzIHJlcGxhY2VtZW50IHNoYTEiCittc2dzdHIgIkltcG9zc2libGUgZGUgc2F1dmVyIGxlIHNoYTEgZHUgcmVtcGxhw6dhbnQgZHUgY29tbWl0IGVuIGNvdXJzIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozNjAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhc3QtZm9yd2FyZCB0byAkc2hhMSIKK21zZ3N0ciAiQXZhbmNlIHJhcGlkZSBzdXIgJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM2MgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGZhc3QtZm9yd2FyZCB0byAkc2hhMSIKK21zZ3N0ciAiQXZhbmNlIHJhcGlkZSBpbXBvc3NpYmxlIHN1ciAkc2hhMSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MzcxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbW92ZSBIRUFEIHRvICRmaXJzdF9wYXJlbnQiCittc2dzdHIgIkltcG9zc2libGUgZGUgZMOpcGxhY2VyIEhFQUQgc3VyICRmaXJzdF9wYXJlbnQiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM3NgorIywgc2gtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gc3F1YXNoIGEgbWVyZ2U6ICRzaGExIgorbXNnc3RyICJSZWZ1cyBkJ8OpY3Jhc2VyIHVuIGNvbW1pdCBkZSBmdXNpb246ICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozOTAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkVycm9yIHJlZG9pbmcgbWVyZ2UgJHNoYTEiCittc2dzdHIgIkVycmV1ciBsb3JzIGRlIGxhIHLDqWFwcGxpY2F0aW9uIGRlIGxhIGZ1c2lvbiAkc2hhMSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6Mzk4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcGljayAkc2hhMSIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBwaWNvcmVyICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MDcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgdGhlIGNvbW1pdCBtZXNzYWdlICMke259OiIKK21zZ3N0ciAiQ2VjaSBlc3QgbGUgJHtufWnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbsKgOiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDEyCisjLCBzaC1mb3JtYXQKK21zZ2lkICJUaGUgY29tbWl0IG1lc3NhZ2UgIyR7bn0gd2lsbCBiZSBza2lwcGVkOiIKK21zZ3N0ciAiTGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uICR7bn0gc2VyYSBpZ25vcsOpwqA6IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MjMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0LiIKK21zZ2lkX3BsdXJhbCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXRzLiIKK21zZ3N0clswXSAiQ2VjaSBlc3QgbGEgY29tYmluYWlzb24gZGUgJGNvdW50IGNvbW1pdC4iCittc2dzdHJbMV0gIkNlY2kgZXN0IGxhIGNvbWJpbmFpc29uIGRlICRjb3VudCBjb21taXRzLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDMxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgd3JpdGUgJGZpeHVwX21zZyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ8OpY3JpcmUgJGZpeHVwX21zZyIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDM0Cittc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIDIgY29tbWl0cy4iCittc2dzdHIgIkNlY2kgZXN0IGxhIGNvbWJpbmFpc29uIGRlIDIgY29tbWl0cy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQzNQorbXNnaWQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiCittc2dzdHIgIkNlY2kgZXN0IGxlIHByZW1pZXIgbWVzc2FnZSBkZSB2YWxpZGF0aW9uwqA6IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NzUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTE4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1MjEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAkc2hhMS4uLiAkcmVzdCIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FwcGxpcXVlciAkc2hhMS4uLiAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTQ5CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiQ291bGQgbm90IGFtZW5kIGNvbW1pdCBhZnRlciBzdWNjZXNzZnVsbHkgcGlja2luZyAkc2hhMS4uLiAkcmVzdFxuIgorIlRoaXMgaXMgbW9zdCBsaWtlbHkgZHVlIHRvIGFuIGVtcHR5IGNvbW1pdCBtZXNzYWdlLCBvciB0aGUgcHJlLWNvbW1pdCBob29rXG4iCisiZmFpbGVkLiBJZiB0aGUgcHJlLWNvbW1pdCBob29rIGZhaWxlZCwgeW91IG1heSBuZWVkIHRvIHJlc29sdmUgdGhlIGlzc3VlICIKKyJiZWZvcmVcbiIKKyJ5b3UgYXJlIGFibGUgdG8gcmV3b3JkIHRoZSBjb21taXQuIgorbXNnc3RyICIiCisiSW1wb3NzaWJsZSBkZSBjb3JyaWdlciBsZSBjb21taXQgYXByw6hzIGF2b2lyIHLDqXVzc2kgw6AgcGljb3JlciAkc2hhMS4uLiAiCisiJHJlc3RcbiIKKyJDJ2VzdCBwcm9iYWJsZW1lbnQgZMO7IMOgIHVuIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiB2aWRlIG91IGxlIGNyb2NoZXQgcHJlLSIKKyJjb21taXRcbiIKKyJhIMOpY2hvdcOpLiBTaSBsZSBjcm9jaGV0IHByZS1jb21taXQgYSDDqWNob3XDqSwgdm91cyBkZXZleiBwZXV0LcOqdHJlIHLDqXNvdWRyZSAiCisibGVcbiIKKyJwcm9ibMOobWUgYXZhbnQgZGUgcG91dm9pciByZWZvcm11bGVyIGxlIG1lc3NhZ2UgZHUgY29tbWl0LiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTY0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdG9wcGVkIGF0ICRzaGExX2FiYnJldi4uLiAkcmVzdCIKK21zZ3N0ciAiQXJyw6p0w6kgw6AgJHNoYTFfYWJicmV2Li4uICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1NzkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAnJHNxdWFzaF9zdHlsZScgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKK21zZ3N0ciAiJyRzcXVhc2hfc3R5bGUnIGltcG9zc2libGUgYXZlYyBsZSBjb21taXQgcHLDqWPDqWRlbnQiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjYyMQorIywgc2gtZm9ybWF0Cittc2dpZCAiRXhlY3V0aW5nOiAkcmVzdCIKK21zZ3N0ciAiRXjDqWN1dGlvbsKgOiAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjI5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJFeGVjdXRpb24gZmFpbGVkOiAkcmVzdCIKK21zZ3N0ciAiTCdleMOpY3V0aW9uIGEgw6ljaG91w6nCoDogJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjYzMQorbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICJldCBhIG1pcyDDoCBqb3VyIGwnaW5kZXggb3UgbGEgY29waWUgZGUgdHJhdmFpbCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjMzCittc2dpZCAiIgorIllvdSBjYW4gZml4IHRoZSBwcm9ibGVtLCBhbmQgdGhlbiBydW5cbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKK21zZ3N0ciAiIgorIlZvdXMgcG91dmV6IGNvcnJpZ2VyIGxlIHByb2Jsw6htZSwgcHVpcyBsYW5jZXJcbiIKKyJcbiIKKyJnaXQgcmViYXNlIC0tY29udGludWUiCisKKyMuIFRSQU5TTEFUT1JTOiBhZnRlciB0aGVzZSBsaW5lcyBpcyBhIGNvbW1hbmQgdG8gYmUgaXNzdWVkIGJ5IHRoZSB1c2VyCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NDYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJFeGVjdXRpb24gc3VjY2VlZGVkOiAkcmVzdFxuIgorImJ1dCBsZWZ0IGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlXG4iCisiQ29tbWl0IG9yIHN0YXNoIHlvdXIgY2hhbmdlcywgYW5kIHRoZW4gcnVuXG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCittc2dzdHIgIiIKKyJMJ2V4w6ljdXRpb24gYSByw6l1c3NpwqA6ICRyZXN0XG4iCisibWFpcyBhIGxhaXNzw6kgZGVzIG1vZGlmaWNhdGlvbnMgZGFucyBsJ2luZGV4IG91IGxhIGNvcGllIGRlIHRyYXZhaWxcbiIKKyJWYWxpZGV6IG91IHJlbWlzZXogdm9zIG1vZGlmaWNhdGlvbiwgcHVpcyBsYW5jZXpcbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjU3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICRjb21tYW5kICRzaGExICRyZXN0IgorbXNnc3RyICJDb21tYW5kZSBpbmNvbm51ZcKgOiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjU4Cittc2dpZCAiUGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCittc2dzdHIgIlZldWlsbGV6IGNvcnJpZ2VyIGNlY2kgZW4gdXRpbGlzYW50ICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY5MworIywgc2gtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgJGhlYWRfbmFtZS4iCittc2dzdHIgIlJlYmFzYWdlIGV0IG1pc2Ugw6Agam91ciBkZSAkaGVhZF9uYW1lIGF2ZWMgc3VjY8Oocy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjc0MAorbXNnaWQgIkNvdWxkIG5vdCBza2lwIHVubmVjZXNzYXJ5IHBpY2sgY29tbWFuZHMiCittc2dzdHIgIkltcG9zc2libGUgZCfDqXZpdGVyIGxlcyBjb21tYW5kZXMgZGUgcGljb3JhZ2Ugbm9uIG7DqWNlc3NhaXJlcyIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6ODk4CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiV2FybmluZzogdGhlIFNIQS0xIGlzIG1pc3Npbmcgb3IgaXNuJ3QgYSBjb21taXQgaW4gdGhlIGZvbGxvd2luZyBsaW5lOlxuIgorIiAtICRsaW5lIgorbXNnc3RyICIiCisiQXR0ZW50aW9uwqA6IGxlIFNIQS0xIG1hbnF1ZSBvdSBuJ2VzdCBwYXMgdW4gY29tbWl0IGRhbnMgbGEgbGlnbmUgc3VpdmFudGXCoDpcbiIKKyIgLSAkbGluZSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6OTMxCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiV2FybmluZzogdGhlIGNvbW1hbmQgaXNuJ3QgcmVjb2duaXplZCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCisiIC0gJGxpbmUiCittc2dzdHIgIiIKKyJBdHRlbnRpb27CoDogbGEgY29tbWFuZGUgbidlc3QgcGFzIHJlY29ubnVlIGRhbnMgbGUgbGlnbmUgc3VpdmFudGXCoDpcbiIKKyIgLSAkbGluZSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6OTcwCittc2dpZCAiY291bGQgbm90IGRldGFjaCBIRUFEIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGTDqXRhY2hlciBIRUFEIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDA4Cittc2dpZCAiIgorIldhcm5pbmc6IHNvbWUgY29tbWl0cyBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgYWNjaWRlbnRhbGx5LlxuIgorIkRyb3BwZWQgY29tbWl0cyAobmV3ZXIgdG8gb2xkZXIpOiIKK21zZ3N0ciAiIgorIkF0dGVudGlvbsKgOiBjZXJ0YWlucyBjb21taXRzIG9udCBwdSDDqnRyZSBhY2NpZGVudGVsbGVtZW50IHN1cHByaW3DqXMuXG4iCisiQ29tbWl0cyBzdXBwcmltw6lzIChkdSBwbHVzIGpldW5lIGF1IHBsdXMgdmlldXgpwqA6IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDE2Cittc2dpZCAiIgorIlRvIGF2b2lkIHRoaXMgbWVzc2FnZSwgdXNlIFwiZHJvcFwiIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIGEgY29tbWl0LlxuIgorIlxuIgorIlVzZSAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycgdG8gY2hhbmdlIHRoZSBsZXZlbCBvZiAiCisid2FybmluZ3MuXG4iCisiVGhlIHBvc3NpYmxlIGJlaGF2aW91cnMgYXJlOiBpZ25vcmUsIHdhcm4sIGVycm9yLiIKK21zZ3N0ciAiIgorIlBvdXIgw6l2aXRlciBjZSBtZXNzYWdlLCB1dGlsaXNleiBcImRyb3BcIiBwb3VyIHN1cHByaW1lciBleHBsaWNpdGVtZW50IHVuICIKKyJjb21taXQuXG4iCisiXG4iCisiVXRpbGlzZXogJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHBvdXIgY2hhbmdlciBsZSBuaXZlYXUgIgorImQnYXZlcnRpc3NlbWVudHMuXG4iCisiTGVzIGNvbXBvcnRlbWVudHMgZGlzcG9uaWJsZXMgc29udMKgOiBpZ25vcmUsIHdhcm4sIGVycm9yLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTAyNworIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIlVucmVjb2duaXplZCBzZXR0aW5nICRjaGVja19sZXZlbCBmb3Igb3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiAiCisiSWdub3JpbmcuIgorbXNnc3RyICIiCisiUGFyYW3DqHRyZSBub24gcmVjb25udSAkY2hlY2tfbGV2ZWwgcG91ciBsJ29wdGlvbiByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gIgorIklnbm9yw6kuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDQ0Cittc2dpZCAiIgorIllvdSBjYW4gZml4IHRoaXMgd2l0aCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tIgorImNvbnRpbnVlJy4iCittc2dzdHIgIiIKKyJWb3VzIHBvdXZleiBjb3JyaWdlciBjZWNpIGF2ZWMgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIHB1aXMgbGFuY2V6ICdnaXQgIgorInJlYmFzZSAtLWNvbnRpbnVlJy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNDUKK21zZ2lkICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCittc2dzdHIgIk91IGJpZW4gdm91cyBwb3V2ZXogYWJhbmRvbm5lciBsZSByZWJhc2FnZSBhdmVjICdnaXQgcmViYXNlIC0tYWJvcnQnLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA2OQorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgQ0hFUlJZX1BJQ0tfSEVBRCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA3NAorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLlxuIgorIklmIHRoZXNlIGNoYW5nZXMgYXJlIG1lYW50IHRvIGJlXG4iCisic3F1YXNoZWQgaW50byB0aGUgcHJldmlvdXMgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJJZiB0aGV5IGFyZSBtZWFudCB0byBnbyBpbnRvIGEgbmV3IGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIkluIGJvdGggY2FzZXMsIG9uY2UgeW91J3JlIGRvbmUsIGNvbnRpbnVlIHdpdGg6XG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKK21zZ3N0ciAiIgorIlZvdXMgYXZleiBkZXMgbW9kaWZpY2F0aW9ucyBpbmRleMOpZXMgZGFucyB2b3RyZSBjb3BpZSBkZSB0cmF2YWlsLlxuIgorIlNpIGNlcyBtb2RpZmljYXRpb25zIGRldmFpZW50IMOqdHJlIGFqb3V0w6llc1xuIgorImRhbnMgbGUgY29tbWl0IHByw6ljw6lkZW50LCBsYW5jZXrCoDpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIlNpIGVsbGVzIGRldmFpZW50IGFsbGVyIGRhbnMgdW4gbm91dmVhdSBjb21taXQsIGxhbmNlesKgOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIkRhbnMgbGVzIGRldXggY2FzLCB1bmUgZm9pcyBmaW5pLCBjb250aW51ZXogYXZlY8KgOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwOTEKK21zZ2lkICJFcnJvciB0cnlpbmcgdG8gZmluZCB0aGUgYXV0aG9yIGlkZW50aXR5IHRvIGFtZW5kIGNvbW1pdCIKK21zZ3N0ciAiIgorIkVycmV1ciBsb3JzIGRlIGxhIHJlY2hlcmNoZSBkZSBsJ2lkZW50aXTDqSBkZSBsJ2F1dGV1ciBwb3VyIGNvcnJpZ2VyIGxlIGNvbW1pdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA5NgorbXNnaWQgIiIKKyJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UgY29tbWl0IHRoZW1cbiIKKyJmaXJzdCBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScgYWdhaW4uIgorbXNnc3RyICIiCisiVm91cyBhdmV6IGRlcyBtb2RpZmljYXRpb25zIG5vbiB2YWxpZMOpZXMgZGFucyB2b3RyZSBjb3BpZSBkZSB0cmF2YWlsLlxuIgorIlZldWlsbGV6IGxlcyB2YWxpZGVyIGQnYWJvcmQsIHB1aXMgcmVsYW5jZXIgJ2dpdCByZWJhc2UgLS1jb250aW51ZScuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTAxIGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDUKK21zZ2lkICJDb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSB2YWxpZGVyIGxlcyBtb2RpZmljYXRpb25zIGluZGV4w6llcy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMjkKK21zZ2lkICIiCisiXG4iCisiWW91IGFyZSBlZGl0aW5nIHRoZSB0b2RvIGZpbGUgb2YgYW4gb25nb2luZyBpbnRlcmFjdGl2ZSByZWJhc2UuXG4iCisiVG8gY29udGludWUgcmViYXNlIGFmdGVyIGVkaXRpbmcsIHJ1bjpcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJWb3VzIMOqdGVzIGVuIHRyYWluIGQnw6lkaXRlciBsZSBmaWNoaWVyIHRvZG8gZCd1biByZWJhc2FnZSBpbnRlcmFjdGlmIGVuICIKKyJjb3Vycy5cbiIKKyJQb3VyIGNvbnRpbnVlciBsZSByZWJhc2FnZSBhcHLDqHMgw6lkaXRpb24sIGxhbmNlesKgOlxuIgorIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyJcbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEzNyBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjk1Cittc2dpZCAiQ291bGQgbm90IGV4ZWN1dGUgZWRpdG9yIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxhbmNlciBsJ8OpZGl0ZXVyIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTUwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2V4dHJhaXJlICRzd2l0Y2hfdG8iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNTUKK21zZ2lkICJObyBIRUFEPyIKK21zZ3N0ciAiUGFzIGRlIEhFQUTCoD8iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNTYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICRzdGF0ZV9kaXIiCittc2dzdHIgIkltcG9zc2libGUgZGUgY3LDqWVyIHVuIHLDqXBlcnRvaXJlIHRlbXBvcmFpcmUgJHN0YXRlX2RpciIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE1OAorbXNnaWQgIkNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIG1hcnF1ZXIgY29tbWUgaW50ZXJhY3RpZiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2OCBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTczCittc2dpZCAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCittc2dzdHIgIkltcG9zc2libGUgZCdpbml0aWFsaXNlciBsZXMgY29tbWl0cyByw6nDqWNyaXRzIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjczCisjLCBzaC1mb3JtYXQKK21zZ2lkICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kKSIKK21zZ2lkX3BsdXJhbCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZHMpIgorbXNnc3RyWzBdICJSZWJhc2FnZSBkZSAkc2hvcnRyZXZpc2lvbnMgc3VyICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZGUpIgorbXNnc3RyWzFdICJSZWJhc2FnZSBkZSAkc2hvcnRyZXZpc2lvbnMgc3VyICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZGVzKSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI3OAorbXNnaWQgIiIKKyJcbiIKKyJIb3dldmVyLCBpZiB5b3UgcmVtb3ZlIGV2ZXJ5dGhpbmcsIHRoZSByZWJhc2Ugd2lsbCBiZSBhYm9ydGVkLlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiQ2VwZW5kYW50LCBzaSB2b3VzIGVmZmFjZXogdG91dCwgbGUgcmViYXNhZ2Ugc2VyYSBhbm51bMOpLlxuIgorIlxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjg1Cittc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCittc2dzdHIgIlZldWlsbGV6IG5vdGVyIHF1ZSBsZXMgY29tbWl0cyB2aWRlcyBzb250IGVuIGNvbW1lbnRhaXJlIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6ODkgZ2l0LXNoLXNldHVwLnNoOjk0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJ1c2FnZTogJGRhc2hsZXNzICRVU0FHRSIKK21zZ3N0ciAidXNhZ2XCoDogJGRhc2hsZXNzICRVU0FHRSIKKworIzogZ2l0LXNoLXNldHVwLnNoOjE5MAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoZGlyIHRvICRjZHVwLCB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiIgorIkltcG9zc2libGUgZGUgc2UgcGxhY2VyIGRhbnMgbGUgcsOpcGVydG9pcmUgJGNkdXAsIGxhIHJhY2luZSBkZSBsYSBjb3BpZSBkZSAiCisidHJhdmFpbCIKKworIzogZ2l0LXNoLXNldHVwLnNoOjE5OSBnaXQtc2gtc2V0dXAuc2g6MjA2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJmYXRhbDogJHByb2dyYW1fbmFtZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGEgd29ya2luZyB0cmVlLiIKK21zZ3N0ciAiZmF0YWzCoDogJHByb2dyYW1fbmFtZSBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBzYW5zIGNvcGllIGRlIHRyYXZhaWwuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjIwCittc2dpZCAiQ2Fubm90IHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIkltcG9zc2libGUgZGUgcmViYXNlcsKgOiB2b3VzIGF2ZXogZGVzIG1vZGlmaWNhdGlvbnMgbm9uIGluZGV4w6llcy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjMKK21zZ2lkICJDYW5ub3QgcmV3cml0ZSBicmFuY2hlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKyJJbXBvc3NpYmxlIGRlIHLDqcOpY3JpcmUgbGVzIGJyYW5jaGVzwqA6IHZvdXMgYXZleiBkZXMgbW9kaWZpY2F0aW9ucyBub24gIgorImluZGV4w6llcy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjYKK21zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKyJpbXBvc3NpYmxlIGRlIHRpcmVyIGF2ZWMgcmViYXNhZ2UuIFZvdXMgYXZleiBkZXMgbW9kaWZpY2F0aW9ucyBub24gaW5kZXjDqWVzLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyOQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICIkYWN0aW9uIGVzdCBpbXBvc3NpYmxlwqA6IHZvdXMgYXZleiBkZXMgbW9kaWZpY2F0aW9ucyBub24gaW5kZXjDqWVzLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0MgorbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKyJJbXBvc3NpYmxlIGRlIHJlYmFzZXLCoDogdm90cmUgaW5kZXggY29udGllbnQgZGVzIG1vZGlmaWNhdGlvbnMgbm9uIHZhbGlkw6llcy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDUKK21zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorImltcG9zc2libGUgZGUgdGlyZXIgYXZlYyByZWJhc2FnZcKgOiB2b3RyZSBpbmRleCBjb250aWVudCBkZXMgbW9kaWZpY2F0aW9ucyAiCisibm9uIHZhbGlkw6llcy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIiCisiJGFjdGlvbiBlc3QgaW1wb3NzaWJsZcKgOiB2b3RyZSBpbmRleCBjb250aWVudCBkZXMgbW9kaWZpY2F0aW9ucyBub24gdmFsaWTDqWVzLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI1MgorbXNnaWQgIkFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiRGUgcGx1cywgdm90cmUgaW5kZXggY29udGllbnQgZGVzIG1vZGlmaWNhdGlvbnMgbm9uIHZhbGlkw6llcy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzIKK21zZ2lkICJZb3UgbmVlZCB0byBydW4gdGhpcyBjb21tYW5kIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUuIgorbXNnc3RyICIiCisiVm91cyBkZXZleiBsYW5jZXIgY2V0dGUgY29tbWFuZGUgZGVwdWlzIGxhIHJhY2luZSBkZSB2b3RyZSBjb3BpZSBkZSB0cmF2YWlsLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjM3NworbXNnaWQgIlVuYWJsZSB0byBkZXRlcm1pbmUgYWJzb2x1dGUgcGF0aCBvZiBnaXQgZGlyZWN0b3J5IgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGTDqXRlcm1pbmVyIGxlIGNoZW1pbiBhYnNvbHUgZHUgcsOpcGVydG9pcmUgZ2l0IgorCisjfiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBkYW5zICVzIgorCisjfiBtc2dpZCAiRXJyb3Igd3JhcHBpbmcgdXAgJXMuIgorI34gbXNnc3RyICJFcnJldXIgbG9ycyBkZSBsJ2VtYmFsbGFnZSBkZSAlcy4iCisKKyN+IG1zZ2lkICJZb3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlcnJ5LXBpY2suIgorI34gbXNnc3RyICJWb3MgbW9kaWZpY2F0aW9ucyBsb2NhbGVzIHNlcmFpZW50IMOpY3Jhc8OpZXMgcGFyIGNoZXJyeS1waWNrLiIKKworI34gbXNnaWQgIkNhbm5vdCByZXZlcnQgZHVyaW5nIGFub3RoZXIgcmV2ZXJ0LiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FubnVsZXIgdW4gY29tbWl0IHBlbmRhbnQgbCdhbm51bGF0aW9uIGQndW4gY29tbWl0LiIKKworI34gbXNnaWQgIkNhbm5vdCBjaGVycnktcGljayBkdXJpbmcgYW5vdGhlciBjaGVycnktcGljay4iCisjfiBtc2dzdHIgIkltcG9zc2libGUgZGUgcGljb3JlciBwZW5kYW50IHVuIGF1dHJlIHBpY29yYWdlLiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxhIGxpZ25lICVkLiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzIgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyICVzIgorCisjfiBtc2dpZCAiQ291bGQgbm90IHJlYWQgJXMuIgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxpcmUgJXMuIgorCisjfiBtc2dpZCAiQ291bGQgbm90IGZvcm1hdCAlcy4iCisjfiBtc2dzdHIgIkltcG9zc2libGUgZGUgZm9ybWF0ZXIgJXMuIgorCisjfiBtc2dpZCAiJXM6ICVzIgorI34gbXNnc3RyICIlcyA6ICVzIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICVzIDogJXMiCisKKyN+IG1zZ2lkICJZb3UgbmVlZCB0byBzZXQgeW91ciBjb21taXR0ZXIgaW5mbyBmaXJzdCIKKyN+IG1zZ3N0ciAiVm91cyBkZXZleiBkJ2Fib3JkIGTDqWZpbmlyIHZvcyBpbmZvcm1hdGlvbnMgZGUgdmFsaWRhdGV1ciIKKworI34gbXNnaWQgIlRoaXMgaXMgdGhlIDJuZCBjb21taXQgbWVzc2FnZToiCisjfiBtc2dzdHIgIkNlY2kgZXN0IGxlIGRldXhpw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb27CoDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSAzcmQgY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJDZWNpIGVzdCBsZSB0cm9pc2nDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbsKgOiIKKworI34gbXNnaWQgIlRoaXMgaXMgdGhlIDR0aCBjb21taXQgbWVzc2FnZToiCisjfiBtc2dzdHIgIkNlY2kgZXN0IGxlIHF1YXRyacOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uwqA6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgNXRoIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAiQ2VjaSBlc3QgbGUgY2lucXVpw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb27CoDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSA2dGggY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJDZWNpIGVzdCBsZSBzaXhpw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb27CoDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSA3dGggY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJDZWNpIGVzdCBsZSBzZXB0acOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uwqA6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgOHRoIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAiQ2VjaSBlc3QgbGUgaHVpdGnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbsKgOiIKKworI34gbXNnaWQgIlRoaXMgaXMgdGhlIDl0aCBjb21taXQgbWVzc2FnZToiCisjfiBtc2dzdHIgIkNlY2kgZXN0IGxlIG5ldXZpw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb27CoDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSAxMHRoIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAiQ2VjaSBlc3QgbGUgZGl4acOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uwqA6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgJHtufXRoIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAiQ2VjaSBlc3QgbGUgJHtufWnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbsKgOiIKKworI34gbXNnaWQgIlRoaXMgaXMgdGhlICR7bn1zdCBjb21taXQgbWVzc2FnZToiCisjfiBtc2dzdHIgIkNlY2kgZXN0IGxlICR7bn1pw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb27CoDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSAke259bmQgY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJDZWNpIGVzdCBsZSAke259acOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uwqA6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgJHtufXJkIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAiQ2VjaSBlc3QgbGUgJHtufWnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbsKgOiIKKworI34gbXNnaWQgIlRoZSAxc3QgY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiTGUgcHJlbWllciBtZXNzYWdlIGRlIHZhbGlkYXRpb24gc2VyYSBpZ25vcsOpwqA6IgorCisjfiBtc2dpZCAiVGhlIDJuZCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgorI34gbXNnc3RyICJMZSBkZXV4acOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIHNlcmEgaWdub3LDqcKgOiIKKworI34gbXNnaWQgIlRoZSAzcmQgY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiTGUgdHJvaXNpw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gc2VyYSBpZ25vcsOpwqA6IgorCisjfiBtc2dpZCAiVGhlIDR0aCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgorI34gbXNnc3RyICJMZSBxdWF0cmnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBzZXJhIGlnbm9yw6nCoDoiCisKKyN+IG1zZ2lkICJUaGUgNXRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkxlIGNpbnF1acOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIHNlcmEgaWdub3LDqcKgOiIKKworI34gbXNnaWQgIlRoZSA2dGggY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiTGUgc2l4acOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIHNlcmEgaWdub3LDqcKgOiIKKworI34gbXNnaWQgIlRoZSA3dGggY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiTGUgc2VwdGnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBzZXJhIGlnbm9yw6nCoDoiCisKKyN+IG1zZ2lkICJUaGUgOHRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkxlIGh1aXRpw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gc2VyYSBpZ25vcsOpwqA6IgorCisjfiBtc2dpZCAiVGhlIDl0aCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgorI34gbXNnc3RyICJMZSBuZXV2acOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIHNlcmEgaWdub3LDqcKgOiIKKworI34gbXNnaWQgIlRoZSAxMHRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkxlIGRpeGnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBzZXJhIGlnbm9yw6nCoDoiCisKKyN+IG1zZ2lkICJUaGUgJHtufXRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgImxlICR7bn1pw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gc2VyYSBpZ25vcsOpwqA6IgorCisjfiBtc2dpZCAiVGhlICR7bn1zdCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgorI34gbXNnc3RyICJMZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gJHtufSBzZXJhIGlnbm9yw6nCoDoiCisKKyN+IG1zZ2lkICJUaGUgJHtufW5kIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkxlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiAke259IHNlcmEgaWdub3LDqcKgOiIKKworI34gbXNnaWQgIlRoZSAke259cmQgY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiTGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uICR7bn0gc2VyYSBpZ25vcsOpwqA6IgorCisjfiBtc2dpZCAiY291bGQgbm90IHJ1biBncGcuIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxhbmNlciBncGcuIgorCisjfiBtc2dpZCAiZ3BnIGRpZCBub3QgYWNjZXB0IHRoZSBkYXRhIgorI34gbXNnc3RyICJncGcgbidhIHBhcyBhY2NlcHTDqSBsZXMgZG9ubsOpZXMiCisKKyN+IG1zZ2lkICJ1bnN1cHBvcnRlZCBvYmplY3QgdHlwZSBpbiB0aGUgdHJlZSIKKyN+IG1zZ3N0ciAidHlwZSBkJ29iamV0IG5vbiBzdXBwb3J0w6kgZGFucyBsJ2FyYnJlIgorCisjfiBtc2dpZCAiRmF0YWwgbWVyZ2UgZmFpbHVyZSwgc2hvdWxkbid0IGhhcHBlbi4iCisjfiBtc2dzdHIgIsOJY2hlYyBmYXRhbCBkZSBmdXNpb24sIHF1aSBuZSBkZXZyYWl0IGphbWFpcyBhcnJpdmVyLiIKKworI34gbXNnaWQgIlVucHJvY2Vzc2VkIHBhdGg/Pz8gJXMiCisjfiBtc2dzdHIgIkNoZW1pbiBub24gdHJhaXTDqSA/Pz8gJXMiCisKKyN+IG1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcyIKKyN+IG1zZ3N0ciAiRXJyZXVyIMOgIGwnZW1iYWxsYWdlIGRlICVzIgorCisjfiBtc2dpZCAiQ2Fubm90ICVzIGR1cmluZyBhICVzIgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGRlICVzIHBlbmRhbnQgdW4gJXMiCisKKyN+IG1zZ2lkICJDYW4ndCBjaGVycnktcGljayBpbnRvIGVtcHR5IGhlYWQiCisjfiBtc2dzdHIgIkltcG9zc2libGUgZGUgcGljb3JlciB2ZXJzIHVuZSBIRUFEIHZpZGUiCisKKyN+IG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAlcyBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciAnJXMnIGVuIMOpY3JpdHVyZSIKKworI34gbXNnaWQgImJ1ZzogdW5oYW5kbGVkIHVubWVyZ2VkIHN0YXR1cyAleCIKKyN+IG1zZ3N0ciAiYm9ndWUgOiDDqXRhdCBkZSBub24tZnVzaW9uIG5vbiBnw6lyw6kgJXgiCisKKyN+IG1zZ2lkICJidWc6IHVuaGFuZGxlZCBkaWZmIHN0YXR1cyAlYyIKKyN+IG1zZ3N0ciAiYm9ndWUgOiDDqXRhdCBkZSBkaWZmIG5vbiBnw6lyw6kgJWMiCisKKyN+IG1zZ2lkICJyZWFkIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiw6ljaGVjIGRlIGxhIGxlY3R1cmUgZGUgJXMiCisKKyN+IG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgYnJhbmNoIGRlc2NyaXB0aW9uIHRlbXBsYXRlIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBtb2TDqGxlIGRlIGRlc2NyaXB0aW9uIGRlIGJyYW5jaGUiCisKKyN+IG1zZ2lkICJjb3JydXB0IGluZGV4IGZpbGUiCisjfiBtc2dzdHIgImZpY2hpZXIgZCdpbmRleCBjb3Jyb21wdSIKKworI34gbXNnaWQgImRldGFjaCB0aGUgSEVBRCBhdCBuYW1lZCBjb21taXQiCisjfiBtc2dzdHIgImTDqXRhY2hlciBsYSBIRUFEIMOgIGxhIHZhbGlkYXRpb24gbm9tbcOpZSIKKworI34gbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eS4uLiAiCisjfiBtc2dzdHIgIlbDqXJpZmljYXRpb24gZGUgbGEgY29ubmVjdGl2aXTDqS4uLiAiCisKKyN+IG1zZ2lkICIgICh1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZikiCisjfiBtc2dzdHIgIiAgKGltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGEgcsOpZsOpcmVuY2UgbG9jYWxlKSIKKworI34gbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmciCisjfiBtc2dzdHIgImV4aXN0YW50IHLDqWluaXRpYWxpc8OpIgorCisjfiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkiCisjfiBtc2dzdHIgInZpZGUgaW5pdGlhbGlzw6kiCisKKyN+IG1zZ2lkICIgc2hhcmVkIgorI34gbXNnc3RyICIgcGFydGFnw6kiCisKKyN+IG1zZ2lkICJWZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCisjfiBtc2dzdHIgIlbDqXJpZmllciBxdWUgbGEgdmFsaWRhdGlvbiBhIHVuZSBzaWduYXR1cmUgR1BHIHZhbGlkZSIKKworI34gbXNnaWQgIldyaXRpbmcgU1FVQVNIX01TRyIKKyN+IG1zZ3N0ciAiw4ljcml0dXJlIGRlIFNRVUFTSF9NU0ciCisKKyN+IG1zZ2lkICJGaW5pc2hpbmcgU1FVQVNIX01TRyIKKyN+IG1zZ3N0ciAiRmluaXRpb24gZGUgU1FVQVNIX01TRyIKKworI34gbXNnaWQgIiAgIGFuZCB3aXRoIHJlbW90ZSIKKyN+IG1zZ3N0ciAiICAgZXQgYXZlYyBsYSBkaXN0YW50ZSIKKworI34gbXNnaWQgInJlbW92aW5nICclcycgZmFpbGVkIgorI34gbXNnc3RyICJsYSBzdXBwcmVzc2lvbiBkZSAnJXMnIGEgw6ljaG91w6kiCisKKyN+IG1zZ2lkICJwcm9ncmFtIGVycm9yIgorI34gbXNnc3RyICJlcnJldXIgZHUgcHJvZ3JhbW1lIgorCisjfiBtc2dpZCAiUGxlYXNlIGNhbGwgJ2Jpc2VjdF9zdGF0ZScgd2l0aCBhdCBsZWFzdCBvbmUgYXJndW1lbnQuIgorI34gbXNnc3RyICJWZXVpbGxleiBhcHBlbGVyICdiaXNlY3Rfc3RhdGUnIGF2ZWMgYXUgbW9pbnMgdW4gYXJndW1lbnQuIgorCisjfiBtc2dpZCAiIgorI34gIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gIgorI34gImZyb20iCisjfiBtc2dzdHIgIiIKKyN+ICJTaSB2b3VzIHZvdWxleiByw6l1dGlsaXNlciBjZSByw6lwZXJ0b2lyZSBnaXQgbG9jYWwgYXUgbGlldSBkZSBjbG9uZXIgw6AgIgorI34gIm5vdXZlYXUgZGVwdWlzIgorCisjfiBtc2dpZCAiIgorI34gInVzZSB0aGUgJy0tZm9yY2UnIG9wdGlvbi4gSWYgdGhlIGxvY2FsIGdpdCBkaXJlY3RvcnkgaXMgbm90IHRoZSBjb3JyZWN0ICIKKyN+ICJyZXBvIgorI34gbXNnc3RyICIiCisjfiAidXRpbGlzZXogbCdvcHRpb24gJy0tZm9yY2UnLiBTaSBsZSByw6lwZXJ0b2lyZSBsb2NhbCBnaXQgbidlc3QgcGFzIGxlICIKKyN+ICJkw6lww7R0IGNvcnJlY3QiCisKKyN+IG1zZ2lkICIiCisjfiAib3IgeW91IGFyZSB1bnN1cmUgd2hhdCB0aGlzIG1lYW5zIGNob29zZSBhbm90aGVyIG5hbWUgd2l0aCB0aGUgJy0tbmFtZScgIgorI34gIm9wdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJvdSB2b3VzIG5lIHNhdmV6IHBhcyBjZSBxdWUgY2VsYSBzaWduaWZpZSBkZSBjaG9pc2lyIHVuIGF1dHJlIG5vbSBhdmVjICIKKyN+ICJsJ29wdGlvbiAnLS1uYW1lJy4iCisKKyN+IG1zZ2lkICJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnkiCisjfiBtc2dzdHIgIiIKKyN+ICJMYSBjb3BpZSBkZSB0cmF2YWlsIGR1IHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIGNvbnRpZW50IHVuIHLDqXBlcnRvaXJlIC4iCisjfiAiZ2l0IgorCisjfiBtc2dpZCAiIgorI34gIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyAiCisjfiAiaGlzdG9yeSkiCisjfiBtc2dzdHIgIiIKKyN+ICIodXRpbGlzZXogJ3JtIC1yZicgc2kgdm91cyB2b3VsZXogdnJhaW1lbnQgbGUgc3VwcHJpbWVyIGVuIGluY2x1YW50IHRvdXQgIgorI34gInNvbiBoaXN0b3JpcXVlKSIKKwogI34gbXNnaWQgIiclcyc6ICVzIgogI34gbXNnc3RyICInJXMnIDogJXMiCiAKQEAgLTEzMTAwLDkgKzE1MzI0LDYgQEAKICN+IG1zZ2lkICItYiBhbmQgLUIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKICN+IG1zZ3N0ciAiLWIgZXQgLUIgc29udCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzIgogCi0jfiBtc2dpZCAiWW91IG5lZWQgdG8gc2V0IHlvdXIgY29tbWl0dGVyIGluZm8gZmlyc3QiCi0jfiBtc2dzdHIgIlZvdXMgZGV2ZXogZCdhYm9yZCBkw6lmaW5pciB2b3MgaW5mb3JtYXRpb25zIGRlIHZhbGlkYXRldXIiCi0KICN+IG1zZ2lkICIiCiAjfiAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcIiRjbWRsaW5lIC0tY29udGludWVcIi5cbiIKICN+ICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiJGNtZGxpbmUgLS1za2lwXCIgaW5zdGVhZC5cbiIKQEAgLTEzMTQ5LDEwICsxNTM3MCw2IEBACiAjfiAiYWRkL3JtIDxmaWNoaWVyPidcbiIKICN+ICJzaSBuw6ljZXNzYWlyZSBwb3VyIG1hcnF1ZXIgY29tbWUgcsOpc29sdSBldCB2YWxpZGVyLiIKIAotI34gbXNnaWQgIlB1bGwgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgotI34gbXNnc3RyICIiCi0jfiAiTGUgcHVsbCBuJ2VzdCBwYXMgcG9zc2libGUgY2FyIHZvdXMgYXZleiBkZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMuIgotCiAjfiBtc2dpZCAibm8gYnJhbmNoIHNwZWNpZmllZCIKICN+IG1zZ3N0ciAiYXVjdW5lIGJyYW5jaGUgc3DDqWNpZmnDqWUiCiAKQEAgLTEzMjA0LDkgKzE1NDIxLDYgQEAKICN+IG1zZ2lkICJGYWlsZWQgdG8gbG9jayBIRUFEIGR1cmluZyBmYXN0X2ZvcndhcmRfdG8iCiAjfiBtc2dzdHIgIsOJY2hlYyBkdSB2ZXJyb3VpbGxhZ2UgZGUgSEVBRCBwZW5kYW50IGwnYXZhbmNlIHJhcGlkZSIKIAotI34gbXNnaWQgImludmFsaWQgY29tbWl0OiAlcyIKLSN+IG1zZ3N0ciAiY29tbWl0IGludmFsaWRlIDogJXMiCi0KICN+IG1zZ2lkICJjYW5ub3QgbG9jayBIRUFEIHJlZiIKICN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSB2ZXJyb3VpbGxlciBsYSByw6lmw6lyZW5jZSBIRUFEIgogCmRpZmYgLS1naXQgYS9wby9naXQucG90IGIvcG8vZ2l0LnBvdAppbmRleCBjOWJlNWRmLi5lNGUyOWViIDEwMDY0NAotLS0gYS9wby9naXQucG90CisrKyBiL3BvL2dpdC5wb3QKQEAgLTgsNyArOCw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IFBBQ0tBR0UgVkVSU0lPTlxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE2LTA1LTI0IDIzOjQyKzA4MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNi0xMS0yNSAyMjo1MCswODAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogWUVBUi1NTy1EQSBITzpNSStaT05FXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBGVUxMIE5BTUUgPEVNQUlMQEFERFJFU1M+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogTEFOR1VBR0UgPExMQGxpLm9yZz5cbiIKQEAgLTIzLDI0ICsyMyw2NzEgQEAKIG1zZ2lkICJoaW50OiAlLipzXG4iCiBtc2dzdHIgIiIKIAotIzogYWR2aWNlLmM6ODgKKyM6IGFkdmljZS5jOjgzCittc2dpZCAiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIiCisKKyM6IGFkdmljZS5jOjg1Cittc2dpZCAiQ29tbWl0dGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIiIKKworIzogYWR2aWNlLmM6ODcKK21zZ2lkICJNZXJnaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAiIgorCisjOiBhZHZpY2UuYzo4OQorbXNnaWQgIlB1bGxpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIiCisKKyM6IGFkdmljZS5jOjkxCittc2dpZCAiUmV2ZXJ0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAiIgorCisjOiBhZHZpY2UuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICJJdCBpcyBub3QgcG9zc2libGUgdG8gJXMgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIiIKKworIzogYWR2aWNlLmM6MTAxCiBtc2dpZCAiIgogIkZpeCB0aGVtIHVwIGluIHRoZSB3b3JrIHRyZWUsIGFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCiAiYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uIGFuZCBtYWtlIGEgY29tbWl0LiIKIG1zZ3N0ciAiIgogCi0jOiBhZHZpY2UuYzoxMDEgYnVpbHRpbi9tZXJnZS5jOjEyMzgKKyM6IGFkdmljZS5jOjEwOQorbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiBhbiB1bnJlc29sdmVkIGNvbmZsaWN0LiIKK21zZ3N0ciAiIgorCisjOiBhZHZpY2UuYzoxMTQgYnVpbHRpbi9tZXJnZS5jOjExODEKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIiIKIAotIzogYWR2aWNlLmM6MTAzCisjOiBhZHZpY2UuYzoxMTYKIG1zZ2lkICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIG1lcmdpbmcuIgogbXNnc3RyICIiCiAKLSM6IGFkdmljZS5jOjEwNAorIzogYWR2aWNlLmM6MTE3CiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIHVuZmluaXNoZWQgbWVyZ2UuIgogbXNnc3RyICIiCiAKKyM6IGFkdmljZS5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG4iCisiXG4iCisiWW91IGFyZSBpbiAnZGV0YWNoZWQgSEVBRCcgc3RhdGUuIFlvdSBjYW4gbG9vayBhcm91bmQsIG1ha2UgZXhwZXJpbWVudGFsXG4iCisiY2hhbmdlcyBhbmQgY29tbWl0IHRoZW0sIGFuZCB5b3UgY2FuIGRpc2NhcmQgYW55IGNvbW1pdHMgeW91IG1ha2UgaW4gdGhpc1xuIgorInN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBwZXJmb3JtaW5nIGFub3RoZXIgY2hlY2tvdXQuXG4iCisiXG4iCisiSWYgeW91IHdhbnQgdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCB0byByZXRhaW4gY29tbWl0cyB5b3UgY3JlYXRlLCB5b3UgbWF5XG4iCisiZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWIgd2l0aCB0aGUgY2hlY2tvdXQgY29tbWFuZCBhZ2Fpbi4gRXhhbXBsZTpcbiIKKyJcbiIKKyIgIGdpdCBjaGVja291dCAtYiA8bmV3LWJyYW5jaC1uYW1lPlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCittc2dzdHIgIiIKKworIzogYXBwbHkuYzoxMjUKK21zZ2lkICItLXJlamVjdCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjEyNworbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MTMwCittc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MTQxCittc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjE0NAorbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6ODQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6OTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo5NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6OTgzCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6OTg0CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzoxNDg4CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjE1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjE1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgorImNvbXBvbmVudCAobGluZSAlZCkiCittc2dpZF9wbHVyYWwgIiIKKyJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKKyJjb21wb25lbnRzIChsaW5lICVkKSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGFwcGx5LmM6MTU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gKGxpbmUgJWQpIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MTc1OQorbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MTc2MQorbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzoxNzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgcGF0Y2ggYXQgbGluZSAlZCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjE4MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzoxODM0CisjLCBjLWZvcm1hdAorbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzoxODM3CisjLCBjLWZvcm1hdAorbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzoxOTg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzoyMDIxCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjIxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggd2l0aCBvbmx5IGdhcmJhZ2UgYXQgbGluZSAlZCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjIyNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjI5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MzA1MAorIywgYy1mb3JtYXQKK21zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCittc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBhcHBseS5jOjMwNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSB0byBhcHBseSBmcmFnbWVudCBhdCAlZCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjMwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIndoaWxlIHNlYXJjaGluZyBmb3I6XG4iCisiJS4qcyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjMwOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjMwOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJldmVyc2UtYXBwbHkgYSBiaW5hcnkgcGF0Y2ggd2l0aG91dCB0aGUgcmV2ZXJzZSBodW5rIHRvICclcyciCittc2dzdHIgIiIKKworIzogYXBwbHkuYzozMTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhcHBseSBiaW5hcnkgcGF0Y2ggdG8gJyVzJyB3aXRob3V0IGZ1bGwgaW5kZXggbGluZSIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjMxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBwYXRjaCBhcHBsaWVzIHRvICclcycgKCVzKSwgd2hpY2ggZG9lcyBub3QgbWF0Y2ggdGhlIGN1cnJlbnQgY29udGVudHMuIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MzE2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzozMTgwCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBuZWNlc3NhcnkgcG9zdGltYWdlICVzIGZvciAnJXMnIGNhbm5vdCBiZSByZWFkIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MzE5MworIywgYy1mb3JtYXQKK21zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjMxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmluYXJ5IHBhdGNoIHRvICclcycgY3JlYXRlcyBpbmNvcnJlY3QgcmVzdWx0IChleHBlY3RpbmcgJXMsIGdvdCAlcykiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzozMjIwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MzM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzozMzkwIGFwcGx5LmM6MzQwMSBhcHBseS5jOjM0NDcgc2V0dXAuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzozMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRpbmcgZnJvbSAnJXMnIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzozNDI3IGFwcGx5LmM6MzY2NworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjM1MTAgYXBwbHkuYzozNjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjM1MTkgYXBwbHkuYzozNjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjM1NTQKK21zZ2lkICJyZXBvc2l0b3J5IGxhY2tzIHRoZSBuZWNlc3NhcnkgYmxvYiB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MzU1NworIywgYy1mb3JtYXQKK21zZ2lkICJGYWxsaW5nIGJhY2sgdG8gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCittc2dzdHIgIiIKKworIzogYXBwbHkuYzozNTczIGFwcGx5LmM6MzU3NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCB0aGUgY3VycmVudCBjb250ZW50cyBvZiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MzU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gZmFsbCBiYWNrIG9uIHRocmVlLXdheSBtZXJnZS4uLlxuIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MzYwMworIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgd2l0aCBjb25mbGljdHMuXG4iCittc2dzdHIgIiIKKworIzogYXBwbHkuYzozNjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyBjbGVhbmx5LlxuIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MzYzNAorbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzozNzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MzcwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCittc2dzdHIgIiIKKworIzogYXBwbHkuYzozODU5IGFwcGx5LmM6Mzg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjM5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MzkyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzozOTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjM5NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6Mzk2NQorIywgYy1mb3JtYXQKK21zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjM5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6Mzk4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQwNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgZm9yIHN1Ym1vZHVsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQwODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZSBjaGFuZ2UgZm9yICVzLCB3aGljaCBpcyBub3QgaW4gY3VycmVudCBIRUFEIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDA4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQwOTAgYnVpbHRpbi9jaGVja291dC5jOjIzMyBidWlsdGluL3Jlc2V0LmM6MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0MDk0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDEwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdGVtcG9yYXJ5IGluZGV4IHRvICVzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlICVzIGZyb20gaW5kZXgiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDI5NyBhcHBseS5jOjQ0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0MzM4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB3cml0ZSB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDUxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDUxOAorbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDUyMQorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCittc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBhcHBseS5jOjQ1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJ1bmNhdGluZyAucmVqIGZpbGVuYW1lIHRvICUuKnMucmVqIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDU0MCBidWlsdGluL2ZldGNoLmM6NzQwIGJ1aWx0aW4vZmV0Y2guYzo5ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkh1bmsgIyVkIGFwcGxpZWQgY2xlYW5seS4iCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ2NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBlZCBwYXRjaCAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ2NzYKK21zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0Njk1Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ4MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgb3BlbiBwYXRjaCAnJXMnOiAlcyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ4NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCittc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGFwcGx5LmM6NDg2NCBhcHBseS5jOjQ4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgbGluZSBhZGRzIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYWRkIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGFwcGx5LmM6NDg3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBsaW5lIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYXBwbHkuYzo0ODg4IGJ1aWx0aW4vYWRkLmM6NDYzIGJ1aWx0aW4vbXYuYzoyODYgYnVpbHRpbi9ybS5jOjQzMQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5MTkgYXBwbHkuYzo0OTIyIGJ1aWx0aW4vYW0uYzoyMjc3IGJ1aWx0aW4vYW0uYzoyMjgwCisjOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9mZXRjaC5jOjk4IGJ1aWx0aW4vcHVsbC5jOjE4MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTg5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0NworbXNnaWQgInBhdGgiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTIwCittc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5MjMKK21zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDkyNSBidWlsdGluL2FtLmM6MjI4NgorbXNnaWQgIm51bSIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5MjYKK21zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5MjkKK21zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDkzMQorbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5MzUKK21zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDkzNworbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTM5Cittc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5NDEKK21zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTQzCittc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTQ1Cittc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5NDcKK21zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5NDkKK21zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk1MQorbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk1NCBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDUKK21zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5NTYKK21zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTU3IGJ1aWx0aW4vYW0uYzoyMjY1Cittc2dpZCAiYWN0aW9uIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk1OAorbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk2MSBhcHBseS5jOjQ5NjQKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk2NworbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk2OQorbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk3MQorbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk3MworbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk3NCBidWlsdGluL2FkZC5jOjI2NyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzMzkgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTQgYnVpbHRpbi9mc2NrLmM6NTkzCisjOiBidWlsdGluL2xvZy5jOjE4NjAgYnVpbHRpbi9tdi5jOjExMCBidWlsdGluL3JlYWQtdHJlZS5jOjExNAorbXNnaWQgImJlIHZlcmJvc2UiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTc2Cittc2dpZCAidG9sZXJhdGUgaW5jb3JyZWN0bHkgZGV0ZWN0ZWQgbWlzc2luZyBuZXctbGluZSBhdCB0aGUgZW5kIG9mIGZpbGUiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTc5Cittc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk4MSBidWlsdGluL2FtLmM6MjI3NAorbXNnaWQgInJvb3QiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTgyCittc2dpZCAicHJlcGVuZCA8cm9vdD4gdG8gYWxsIGZpbGVuYW1lcyIKK21zZ3N0ciAiIgorCiAjOiBhcmNoaXZlLmM6MTIKIG1zZ2lkICJnaXQgYXJjaGl2ZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICIiCkBAIC01OCw3ICs3MDUsNyBAQAogbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjM0NCBidWlsdGluL2FkZC5jOjEzNyBidWlsdGluL2FkZC5jOjQyMCBidWlsdGluL3JtLmM6MzI3CisjOiBhcmNoaXZlLmM6MzQ0IGJ1aWx0aW4vYWRkLmM6MTUyIGJ1aWx0aW4vYWRkLmM6NDQyIGJ1aWx0aW4vcm0uYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKIG1zZ3N0ciAiIgpAQCAtNzEsNyArNzE4LDcgQEAKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDMwIGJ1aWx0aW4vbG9nLmM6MTM5NQorIzogYXJjaGl2ZS5jOjQzMCBidWlsdGluL2xvZy5jOjE0MjkKIG1zZ2lkICJwcmVmaXgiCiBtc2dzdHIgIiIKIApAQCAtNzksMTEgKzcyNiwxMSBAQAogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjQzMiBidWlsdGluL2FyY2hpdmUuYzo4OCBidWlsdGluL2JsYW1lLmM6MjU0OAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDkgYnVpbHRpbi9jb25maWcuYzo2MCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5IGJ1aWx0aW4vZ3JlcC5jOjcyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDU5IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjIgYnVpbHRpbi9ub3Rlcy5jOjM5OAotIzogYnVpbHRpbi9ub3Rlcy5jOjU2MSBidWlsdGluL3JlYWQtdHJlZS5jOjEwOSBwYXJzZS1vcHRpb25zLmg6MTUzCisjOiBhcmNoaXZlLmM6NDMyIGJ1aWx0aW4vYmxhbWUuYzoyNjAzIGJ1aWx0aW4vYmxhbWUuYzoyNjA0IGJ1aWx0aW4vY29uZmlnLmM6NTkKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OSBidWlsdGluL2dyZXAuYzo3MjMKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEgYnVpbHRpbi9scy1maWxlcy5jOjUzOSBidWlsdGluL2xzLWZpbGVzLmM6NTQyCisjOiBidWlsdGluL25vdGVzLmM6NDAxIGJ1aWx0aW4vbm90ZXMuYzo1NjQgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDkKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNTMKIG1zZ2lkICJmaWxlIgogbXNnc3RyICIiCiAKQEAgLTExNSw4ICs3NjIsOCBAQAogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDUxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4MgotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3NgorIzogYXJjaGl2ZS5jOjQ1MSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODUgYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjAxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTMKIG1zZ2lkICJyZXBvIgogbXNnc3RyICIiCiAKQEAgLTEyNCw3ICs3NzEsNyBAQAogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo0NTMgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4MgorIzogYXJjaGl2ZS5jOjQ1MyBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg1CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAiIgogCkBAIC0xMzIsMTIgKzc3OSwxNDMgQEAKIG1zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAorIzogYXJjaGl2ZS5jOjQ2MQorbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tcmVtb3RlIgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUuYzo0NjMKK21zZ2lkICJPcHRpb24gLS1leGVjIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLXJlbW90ZSIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLmM6NDY1Cittc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1vdXRwdXQiCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGFyY2hpdmUgZm9ybWF0ICclcyciCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS5jOjQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJBcmd1bWVudCBub3Qgc3VwcG9ydGVkIGZvciBmb3JtYXQgJyVzJzogLSVkIgorbXNnc3RyICIiCisKICM6IGF0dHIuYzoyNjMKIG1zZ2lkICIiCiAiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKICJVc2UgJ1xcIScgZm9yIGxpdGVyYWwgbGVhZGluZyBleGNsYW1hdGlvbi4iCiBtc2dzdHIgIiIKIAorIzogYmlzZWN0LmM6NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkbHkgcXVvdGVkIGNvbnRlbnQgaW4gZmlsZSAnJXMnOiAlcyIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2UgY2Fubm90IGJpc2VjdCBtb3JlIVxuIgorbXNnc3RyICIiCisKKyM6IGJpc2VjdC5jOjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYSB2YWxpZCBjb21taXQgbmFtZSAlcyIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo3MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzIGJhZC5cbiIKKyJUaGlzIG1lYW5zIHRoZSBidWcgaGFzIGJlZW4gZml4ZWQgYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzIG5ldy5cbiIKKyJUaGUgcHJvcGVydHkgaGFzIGNoYW5nZWQgYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzICVzLlxuIgorIlRoaXMgbWVhbnMgdGhlIGZpcnN0ICclcycgY29tbWl0IGlzIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgIiIKKworIzogYmlzZWN0LmM6NzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJTb21lICVzIHJldnMgYXJlIG5vdCBhbmNlc3RvciBvZiB0aGUgJXMgcmV2LlxuIgorImdpdCBiaXNlY3QgY2Fubm90IHdvcmsgcHJvcGVybHkgaW4gdGhpcyBjYXNlLlxuIgorIk1heWJlIHlvdSBtaXN0b29rICVzIGFuZCAlcyByZXZzP1xuIgorbXNnc3RyICIiCisKKyM6IGJpc2VjdC5jOjc2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIG1lcmdlIGJhc2UgYmV0d2VlbiAlcyBhbmQgWyVzXSBtdXN0IGJlIHNraXBwZWQuXG4iCisiU28gd2UgY2Fubm90IGJlIHN1cmUgdGhlIGZpcnN0ICVzIGNvbW1pdCBpcyBiZXR3ZWVuICVzIGFuZCAlcy5cbiIKKyJXZSBjb250aW51ZSBhbnl3YXkuIgorbXNnc3RyICIiCisKKyM6IGJpc2VjdC5jOjc5OAorIywgYy1mb3JtYXQKK21zZ2lkICJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIgorbXNnc3RyICIiCisKKyM6IGJpc2VjdC5jOjg0OQorIywgYy1mb3JtYXQKK21zZ2lkICJhICVzIHJldmlzaW9uIGlzIG5lZWRlZCIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo4NjYgYnVpbHRpbi9ub3Rlcy5jOjE3NCBidWlsdGluL3RhZy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZmlsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJpc2VjdC5jOjk0NworbXNnaWQgInJlYWRpbmcgYmlzZWN0IHJlZnMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGJpc2VjdC5jOjk2NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB3YXMgYm90aCAlcyBhbmQgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo5NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vIHRlc3RhYmxlIGNvbW1pdCBmb3VuZC5cbiIKKyJNYXliZSB5b3Ugc3RhcnRlZCB3aXRoIGJhZCBwYXRoIHBhcmFtZXRlcnM/XG4iCittc2dzdHIgIiIKKworIzogYmlzZWN0LmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIihyb3VnaGx5ICVkIHN0ZXApIgorbXNnaWRfcGx1cmFsICIocm91Z2hseSAlZCBzdGVwcykiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjLiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoCisjLiAiKHJvdWdobHkgJWQgc3RlcHMpIiB0cmFuc2xhdGlvbgorIzogYmlzZWN0LmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJpc2VjdGluZzogJWQgcmV2aXNpb24gbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKK21zZ2lkX3BsdXJhbCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKICM6IGJyYW5jaC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTIzNywyNyArMTAxNSwyNyBAQAogIlwiZ2l0IHB1c2ggLXVcIiB0byBzZXQgdGhlIHVwc3RyZWFtIGNvbmZpZyBhcyB5b3UgcHVzaC4iCiBtc2dzdHIgIiIKIAotIzogYnJhbmNoLmM6MjY2CisjOiBicmFuY2guYzoyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjI4NgorIzogYnJhbmNoLmM6Mjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFtYmlndW91cyBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnJhbmNoLmM6MjkxCisjOiBicmFuY2guYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgYnJhbmNoIHBvaW50OiAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBicmFuY2guYzozNDUKKyM6IGJyYW5jaC5jOjM0NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBicmFuY2guYzozNjQKKyM6IGJyYW5jaC5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEIG9mIHdvcmtpbmcgdHJlZSAlcyBpcyBub3QgdXBkYXRlZCIKIG1zZ3N0ciAiIgpAQCAtMjcyLDcgKzEwNTAsNyBAQAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBidW5kbGUuYzo4NyBidWlsdGluL2NvbW1pdC5jOjc3NworIzogYnVuZGxlLmM6ODcgc2VxdWVuY2VyLmM6OTYzIGJ1aWx0aW4vY29tbWl0LmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgIiIKQEAgLTI4MSwxMCArMTA1OSwxMCBAQAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjE2MyByZWYtZmlsdGVyLmM6MTQ2MiBzZXF1ZW5jZXIuYzo2Mjcgc2VxdWVuY2VyLmM6MTA3MwotIzogYnVpbHRpbi9ibGFtZS5jOjI3NTUgYnVpbHRpbi9jb21taXQuYzoxMDU2IGJ1aWx0aW4vbG9nLmM6MzQwCi0jOiBidWlsdGluL2xvZy5jOjg2MyBidWlsdGluL2xvZy5jOjEzMDggYnVpbHRpbi9sb2cuYzoxNjMzIGJ1aWx0aW4vbG9nLmM6MTg3NQotIzogYnVpbHRpbi9tZXJnZS5jOjM2MSBidWlsdGluL3Nob3J0bG9nLmM6MTcwCisjOiBidW5kbGUuYzoxNjMgcmVmLWZpbHRlci5jOjE0NjIgc2VxdWVuY2VyLmM6ODMwIHNlcXVlbmNlci5jOjEzNzQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODE0IGJ1aWx0aW4vY29tbWl0LmM6MTA2MSBidWlsdGluL2xvZy5jOjM0OAorIzogYnVpbHRpbi9sb2cuYzo4OTAgYnVpbHRpbi9sb2cuYzoxMzQwIGJ1aWx0aW4vbG9nLmM6MTY2NiBidWlsdGluL2xvZy5jOjE5MDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozNTYgYnVpbHRpbi9zaG9ydGxvZy5jOjE3MAogbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgogbXNnc3RyICIiCiAKQEAgLTMyMyw3ICsxMTAxLDcgQEAKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidW5kbGUuYzo0NDMgYnVpbHRpbi9sb2cuYzoxNjMgYnVpbHRpbi9sb2cuYzoxNTM4IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKKyM6IGJ1bmRsZS5jOjQ0MyBidWlsdGluL2xvZy5jOjE2NSBidWlsdGluL2xvZy5jOjE1NzIgYnVpbHRpbi9zaG9ydGxvZy5jOjI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICIiCkBAIC0zNDEsMTMgKzExMTksMTMgQEAKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCiBtc2dzdHIgIiIKIAotIzogY29sb3IuYzoyNzUKKyM6IGNvbG9yLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29sb3IgdmFsdWU6ICUuKnMiCiBtc2dzdHIgIiIKIAotIzogY29tbWl0LmM6NDAgYnVpbHRpbi9hbS5jOjQzNyBidWlsdGluL2FtLmM6NDczIGJ1aWx0aW4vYW0uYzoxNTA0Ci0jOiBidWlsdGluL2FtLmM6MjEzNAorIzogY29tbWl0LmM6NDAgYnVpbHRpbi9hbS5jOjQyMSBidWlsdGluL2FtLmM6NDU3IGJ1aWx0aW4vYW0uYzoxNDkzCisjOiBidWlsdGluL2FtLmM6MjEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCiBtc2dzdHIgIiIKQEAgLTM1NywxMzIgKzExMzUsMjM3IEBACiBtc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiIgogCisjOiBjb21taXQuYzoxNTE0Cittc2dpZCAiIgorIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKKyJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgorInZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgdG8gdGhlIGVuY29kaW5nIHlvdXIgcHJvamVjdCB1c2VzLlxuIgorbXNnc3RyICIiCisKICM6IGNvbXBhdC9vYnN0YWNrLmM6NDA2IGNvbXBhdC9vYnN0YWNrLmM6NDA4CiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzo0NzUgY29uZmlnLmM6NDc3CisjOiBjb25maWcuYzo1MTYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluICVzICVzIgorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBibG9iICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjU5MworIzogY29uZmlnLmM6NTIwCiAjLCBjLWZvcm1hdAotbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzICVzOiAlcyIKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gZmlsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzo1OTUKKyM6IGNvbmZpZy5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3RhbmRhcmQgaW5wdXQiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdWJtb2R1bGUtYmxvYiAlcyIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGNvbW1hbmQgbGluZSAlcyIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluICVzIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjY1NQorbXNnaWQgIm91dCBvZiByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzo2NTUKK21zZ2lkICJpbnZhbGlkIHVuaXQiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6NjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzo2ODAKKyM6IGNvbmZpZy5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBibG9iICVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzo2NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gZmlsZSAlczogJXMiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6NjcyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBjb21tYW5kIGxpbmUgJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjY4MQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlczogJXMiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6NzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleHBhbmQgdXNlciBkaXIgaW46ICclcyciCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6NzYxIGNvbmZpZy5jOjc3MgorIzogY29uZmlnLmM6ODUyIGNvbmZpZy5jOjg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgemxpYiBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzo4OTAKKyM6IGNvbmZpZy5jOjk3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgZm9yIG9iamVjdCBjcmVhdGlvbjogJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTIyOAorIzogY29uZmlnLmM6MTMxMgogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjEyODQKLW1zZ2lkICJ1bmtub3duIGVycm9yIG9jY3VyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKKyM6IGNvbmZpZy5jOjEzNjIKK21zZ2lkICJ1bmtub3duIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlYWRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTYyOQorIzogY29uZmlnLmM6MTcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyVzJyBmcm9tIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTYzMQorIzogY29uZmlnLmM6MTcxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIHZhcmlhYmxlICclcycgaW4gZmlsZSAnJXMnIGF0IGxpbmUgJWQiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTY5MAorIzogY29uZmlnLmM6MTc3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbXVsdGlwbGUgdmFsdWVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjIyMjQKKyM6IGNvbmZpZy5jOjIzMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MjIyNgorIzogY29uZmlnLmM6MjMxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0ZWQuYzo2OQorIzogY29ubmVjdC5jOjQ5Cittc2dpZCAiVGhlIHJlbW90ZSBlbmQgaHVuZyB1cCB1cG9uIGluaXRpYWwgY29udGFjdCIKK21zZ3N0ciAiIgorCisjOiBjb25uZWN0LmM6NTEKK21zZ2lkICIiCisiQ291bGQgbm90IHJlYWQgZnJvbSByZW1vdGUgcmVwb3NpdG9yeS5cbiIKKyJcbiIKKyJQbGVhc2UgbWFrZSBzdXJlIHlvdSBoYXZlIHRoZSBjb3JyZWN0IGFjY2VzcyByaWdodHNcbiIKKyJhbmQgdGhlIHJlcG9zaXRvcnkgZXhpc3RzLiIKK21zZ3N0ciAiIgorCisjOiBjb25uZWN0ZWQuYzo2MyBidWlsdGluL2ZzY2suYzoxNzMgYnVpbHRpbi9wcnVuZS5jOjE0MAorbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKK21zZ3N0ciAiIgorCisjOiBjb25uZWN0ZWQuYzo3NQogbXNnaWQgIkNvdWxkIG5vdCBydW4gJ2dpdCByZXYtbGlzdCciCiBtc2dzdHIgIiIKIAotIzogY29ubmVjdGVkLmM6ODkKKyM6IGNvbm5lY3RlZC5jOjk1CiBtc2dpZCAiZmFpbGVkIHdyaXRlIHRvIHJldi1saXN0IgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3RlZC5jOjk2CisjOiBjb25uZWN0ZWQuYzoxMDIKIG1zZ2lkICJmYWlsZWQgdG8gY2xvc2UgcmV2LWxpc3QncyBzdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiBkYXRlLmM6OTUKKyM6IGNvbnZlcnQuYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNSTEYgd2lsbCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy5cbiIKKyJUaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdpbmFsIGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5LiIKK21zZ3N0ciAiIgorCisjOiBjb252ZXJ0LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNSTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuIgorbXNnc3RyICIiCisKKyM6IGNvbnZlcnQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcy5cbiIKKyJUaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdpbmFsIGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5LiIKK21zZ3N0ciAiIgorCisjOiBjb252ZXJ0LmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMiCittc2dzdHIgIiIKKworIzogZGF0ZS5jOjk3CiBtc2dpZCAiaW4gdGhlIGZ1dHVyZSIKIG1zZ3N0ciAiIgogCi0jOiBkYXRlLmM6MTAxCisjOiBkYXRlLmM6MTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSBzZWNvbmQgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgc2Vjb25kcyBhZ28iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBkYXRlLmM6MTA4CisjOiBkYXRlLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSBtaW51dGUgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgbWludXRlcyBhZ28iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBkYXRlLmM6MTE1CisjOiBkYXRlLmM6MTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSBob3VyIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IGhvdXJzIGFnbyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGRhdGUuYzoxMjIKKyM6IGRhdGUuYzoxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IGRheSBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBkYXlzIGFnbyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGRhdGUuYzoxMjgKKyM6IGRhdGUuYzoxMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHdlZWsgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgd2Vla3MgYWdvIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogZGF0ZS5jOjEzNQorIzogZGF0ZS5jOjEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgbW9udGggYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgbW9udGhzIGFnbyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGRhdGUuYzoxNDYKKyM6IGRhdGUuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHllYXIiCiBtc2dpZF9wbHVyYWwgIiVsdSB5ZWFycyIKQEAgLTQ5MCwxNCArMTM3MywxNCBAQAogbXNnc3RyWzFdICIiCiAKICMuIFRSQU5TTEFUT1JTOiAiJXMiIGlzICI8bj4geWVhcnMiCi0jOiBkYXRlLmM6MTQ5CisjOiBkYXRlLmM6MTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCAlbHUgbW9udGggYWdvIgogbXNnaWRfcGx1cmFsICIlcywgJWx1IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBkYXRlLmM6MTU0IGRhdGUuYzoxNTkKKyM6IGRhdGUuYzoxNTYgZGF0ZS5jOjE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgeWVhciBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSB5ZWFycyBhZ28iCkBAIC01MDksMTQwICsxMzkyLDMyMSBAQAogbXNnaWQgImZhaWxlZCB0byByZWFkIG9yZGVyZmlsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGRpZmZjb3JlLXJlbmFtZS5jOjUzOAorIzogZGlmZmNvcmUtcmVuYW1lLmM6NTM2CiBtc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjExNgorIzogZGlmZi5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGEgdmFsdWUiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjEyMQorIzogZGlmZi5jOjEyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzoyMjUKKyM6IGRpZmYuYzoyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB2YWx1ZSBmb3IgJ2RpZmYuc3VibW9kdWxlJyBjb25maWcgdmFyaWFibGU6ICclcyciCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjI3NworIzogZGlmZi5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKICIlcyIKIG1zZ3N0ciAiIgogCi0jOiBkaWZmLmM6MzAwNworIzogZGlmZi5jOjMwODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZGlmZiBkaWVkLCBzdG9wcGluZyBhdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBkaWZmLmM6MzQwNQorIzogZGlmZi5jOjM0MTIKK21zZ2lkICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6MzUwMgogbXNnaWQgIi0tZm9sbG93IHJlcXVpcmVzIGV4YWN0bHkgb25lIHBhdGhzcGVjIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzozNTY4CisjOiBkaWZmLmM6MzY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgogIiVzIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzozNTgyCisjOiBkaWZmLmM6MzY3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBkaXIuYzoxODIzCisjOiBkaWZmLmM6NDcwMAorbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0NzAzCittc2dpZCAib25seSBmb3VuZCBjb3BpZXMgZnJvbSBtb2RpZmllZCBwYXRocyBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0NzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ5b3UgbWF5IHdhbnQgdG8gc2V0IHlvdXIgJXMgdmFyaWFibGUgdG8gYXQgbGVhc3QgJWQgYW5kIHJldHJ5IHRoZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXIuYzoxODY2CiBtc2dpZCAiZmFpbGVkIHRvIGdldCBrZXJuZWwgbmFtZSBhbmQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIiIKIAotIzogZGlyLmM6MTk0MgorIzogZGlyLmM6MTk4NQogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBpcyBkaXNhYmxlZCBvbiB0aGlzIHN5c3RlbSBvciBsb2NhdGlvbi4iCiBtc2dzdHIgIiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE2NiBncGctaW50ZXJmYWNlLmM6MjM1Ci1tc2dpZCAiY291bGQgbm90IHJ1biBncGcuIgorIzogZmV0Y2gtcGFjay5jOjIxMworbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBzaGFsbG93IGxpc3QiCiBtc2dzdHIgIiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE3OAotbXNnaWQgImdwZyBkaWQgbm90IGFjY2VwdCB0aGUgZGF0YSIKKyM6IGZldGNoLXBhY2suYzoyMjUKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IEVPRiIKIG1zZ3N0ciAiIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MTg5CisjOiBmZXRjaC1wYWNrLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6Mjk1Cittc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdW5zaGFsbG93IGxpbmU6ICVzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0IG5vdCBmb3VuZDogJXMiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBpbiBvYmplY3Q6ICVzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc2hhbGxvdyBmb3VuZDogJXMiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJleHBlY3RlZCBzaGFsbG93L3Vuc2hhbGxvdywgZ290ICVzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ290ICVzICVkICVzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb21taXQgJXMiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjQ4MworbXNnaWQgImdpdmluZyB1cCIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6NDkzIHByb2dyZXNzLmM6MjM1Cittc2dpZCAiZG9uZSIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgImdvdCAlcyAoJWQpICVzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo1NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFya2luZyAlcyBhcyBjb21wbGV0ZSIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6Njk3CisjLCBjLWZvcm1hdAorbXNnaWQgImFscmVhZHkgaGF2ZSAlcyAoJXMpIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo3MzUKK21zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6NzQzCittc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBwYWNrIGhlYWRlciIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6Nzk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6ODE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6ODE3Cittc2dpZCAiZXJyb3IgaW4gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6ODQ0Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo4NDgKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrX2RldGFpbGVkIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo4NTEKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZSIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6ODU3Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2FjayIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6ODYxCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZC02NGsiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjg2NQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjg2OQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo4NzMKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6ODgzCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6ODkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlcnZlciB2ZXJzaW9uIGlzICUuKnMiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjg5NgorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1zaW5jZSIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6OTAwCittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjkwMgorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tZGVlcGVuIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo5MTMKK21zZ2lkICJubyBjb21tb24gY29tbWl0cyIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6OTI1Cittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGZldGNoIGZhaWxlZC4iCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjEwODcKK21zZ2lkICJubyBtYXRjaGluZyByZW1vdGUgaGVhZCIKK21zZ3N0ciAiIgorCisjOiBncGctaW50ZXJmYWNlLmM6MTg1CiBtc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgogbXNnc3RyICIiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoyMjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSAnJXMnIgorIzogZ3BnLWludGVyZmFjZS5jOjIxNQorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIyNAorIzogZ3BnLWludGVyZmFjZS5jOjIxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBncmVwLmM6MTcxOAorIzogZ3JlcC5jOjE3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIiIKIAotIzogZ3JlcC5jOjE3MzUgYnVpbHRpbi9jbG9uZS5jOjM4MiBidWlsdGluL2RpZmYuYzo4NCBidWlsdGluL3JtLmM6MTU1CisjOiBncmVwLmM6MTc5OSBidWlsdGluL2Nsb25lLmM6MzgxIGJ1aWx0aW4vZGlmZi5jOjg0IGJ1aWx0aW4vcm0uYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBncmVwLmM6MTc0NgorIzogZ3JlcC5jOjE4MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogc2hvcnQgcmVhZCIKIG1zZ3N0ciAiIgogCi0jOiBoZWxwLmM6MjA1CisjOiBoZWxwLmM6MjAzCiAjLCBjLWZvcm1hdAogbXNnaWQgImF2YWlsYWJsZSBnaXQgY29tbWFuZHMgaW4gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBoZWxwLmM6MjEyCisjOiBoZWxwLmM6MjEwCiBtc2dpZCAiZ2l0IGNvbW1hbmRzIGF2YWlsYWJsZSBmcm9tIGVsc2V3aGVyZSBvbiB5b3VyICRQQVRIIgogbXNnc3RyICIiCiAKLSM6IGhlbHAuYzoyNDQKKyM6IGhlbHAuYzoyNDEKIG1zZ2lkICJUaGVzZSBhcmUgY29tbW9uIEdpdCBjb21tYW5kcyB1c2VkIGluIHZhcmlvdXMgc2l0dWF0aW9uczoiCiBtc2dzdHIgIiIKIAotIzogaGVscC5jOjMwOQorIzogaGVscC5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBhcHBlYXJzIHRvIGJlIGEgZ2l0IGNvbW1hbmQsIGJ1dCB3ZSB3ZXJlIG5vdFxuIgogImFibGUgdG8gZXhlY3V0ZSBpdC4gTWF5YmUgZ2l0LSVzIGlzIGJyb2tlbj8iCiBtc2dzdHIgIiIKIAotIzogaGVscC5jOjM2NgorIzogaGVscC5jOjM2MQogbXNnaWQgIlVoIG9oLiBZb3VyIHN5c3RlbSByZXBvcnRzIG5vIEdpdCBjb21tYW5kcyBhdCBhbGwuIgogbXNnc3RyICIiCiAKLSM6IGhlbHAuYzozODgKKyM6IGhlbHAuYzozODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC5cbiIKICJDb250aW51aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgeW91IG1lYW50ICclcyciCiBtc2dzdHIgIiIKIAotIzogaGVscC5jOjM5MworIzogaGVscC5jOjM4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iCiBtc2dzdHIgIiIKIAotIzogaGVscC5jOjQwMAorIzogaGVscC5jOjM5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQ6ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmQuIFNlZSAnZ2l0IC0taGVscCcuIgogbXNnc3RyICIiCiAKLSM6IGhlbHAuYzo0MDQgaGVscC5jOjQ2NAorIzogaGVscC5jOjM5OSBoZWxwLmM6NDY1CiBtc2dpZCAiIgogIlxuIgogIkRpZCB5b3UgbWVhbiB0aGlzPyIKQEAgLTY1MiwxMSArMTcxNiwyNiBAQAogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogaGVscC5jOjQ2MAorIzogaGVscC5jOjQ2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgLSAlcyIKIG1zZ3N0ciAiIgogCisjOiBpZGVudC5jOjMzNAorbXNnaWQgIiIKKyJcbiIKKyIqKiogUGxlYXNlIHRlbGwgbWUgd2hvIHlvdSBhcmUuXG4iCisiXG4iCisiUnVuXG4iCisiXG4iCisiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgXCJ5b3VAZXhhbXBsZS5jb21cIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJZb3VyIE5hbWVcIlxuIgorIlxuIgorInRvIHNldCB5b3VyIGFjY291bnQncyBkZWZhdWx0IGlkZW50aXR5LlxuIgorIk9taXQgLS1nbG9iYWwgdG8gc2V0IHRoZSBpZGVudGl0eSBvbmx5IGluIHRoaXMgcmVwb3NpdG9yeS5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCiAjOiBsb2NrZmlsZS5jOjE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCkBAIC02NzgsMjU1ICsxNzU3LDI1NCBAQAogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBjYWNoZSIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS5jOjk0IGJ1aWx0aW4vYW0uYzoyMDA3IGJ1aWx0aW4vYW0uYzoyMDQyIGJ1aWx0aW4vY2hlY2tvdXQuYzozNzUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODYgYnVpbHRpbi9jbG9uZS5jOjczMgorIzogbWVyZ2UuYzo5NiBidWlsdGluL2FtLmM6MjAwMCBidWlsdGluL2FtLmM6MjAzNSBidWlsdGluL2NoZWNrb3V0LmM6Mzc0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTg4IGJ1aWx0aW4vY2xvbmUuYzo3MzEKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg5Ci0jLCBjLWZvcm1hdAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA5CiBtc2dpZCAiKGJhZCBjb21taXQpXG4iCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkaW5mb19jYWNoZSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMQogbXNnaWQgImVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjY4OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzAwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMgdG8gbWFrZSByb29tIGZvciBzdWJkaXJlY3RvcnlcbiIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3MTQgbWVyZ2UtcmVjdXJzaXZlLmM6NzM1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NDUgbWVyZ2UtcmVjdXJzaXZlLmM6NzY0CiBtc2dpZCAiOiBwZXJoYXBzIGEgRC9GIGNvbmZsaWN0PyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3MjUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzY1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3OTYgYnVpbHRpbi9jYXQtZmlsZS5jOjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzkwIGJ1aWx0aW4vY2xvbmUuYzozNzYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgyMgogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgorbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyc6ICVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODMzCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyciCittc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODAxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG8gbm90IGtub3cgd2hhdCB0byBkbyB3aXRoICUwNm8gJXMgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5MzkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk3OAogbXNnaWQgIkZhaWxlZCB0byBleGVjdXRlIGludGVybmFsIG1lcmdlIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk0MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTU5Ci1tc2dpZCAidW5zdXBwb3J0ZWQgb2JqZWN0IHR5cGUgaW4gdGhlIHRyZWUiCi1tc2dzdHIgIiIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAzNCBtZXJnZS1yZWN1cnNpdmUuYzoxMDQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgxIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKICJpbiB0cmVlLiIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDQwIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwNTMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODcgbWVyZ2UtcmVjdXJzaXZlLmM6MTEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgogImluIHRyZWUgYXQgJXMuIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNDMKIG1zZ2lkICJyZW5hbWUiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0MwogbXNnaWQgInJlbmFtZWQiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhIGRpcmVjdG9yeSBpbiAlcyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTcyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBcIiVzXCItPlwiJXNcIiBpbiBicmFuY2ggXCIlc1wiIHJlbmFtZSBcIiVzIgogIlwiLT5cIiVzXCIgaW4gXCIlc1wiJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE3NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMAogbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjMxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjYxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzIGFuZCAlcyB0byAlcyBpbnN0ZWFkIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NjAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAlcyBhZGRlZCBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyBtZXJnZWQgJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ3NSBtZXJnZS1yZWN1cnNpdmUuYzoxNjc3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTUzIG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUyNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUyOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgaXMgbm90IGEgYmxvYiIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjY2CiBtc2dpZCAibW9kaWZ5IgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1ODEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NjYKIG1zZ2lkICJtb2RpZmllZCIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTkxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjc2CiBtc2dpZCAiY29udGVudCIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTk4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgzCiBtc2dpZCAiYWRkL2FkZCIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjMyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjQ2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjUwIGdpdC1zdWJtb2R1bGUuc2g6OTQxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM2IGdpdC1zdWJtb2R1bGUuc2g6OTI0CiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCi1tc2dzdHIgIiIKLQogIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNwogIywgYy1mb3JtYXQKK21zZ2lkICJDT05GTElDVCAoJXMpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODMxCisjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NTcKIG1zZ2lkICJmaWxlL2RpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzY4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODYzCiBtc2dpZCAiZGlyZWN0b3J5L2ZpbGUiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc3MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBUaGVyZSBpcyBhIGRpcmVjdG9yeSB3aXRoIG5hbWUgJXMgaW4gJXMuIEFkZGluZyAlcyBhcyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzk4Ci1tc2dpZCAiRmF0YWwgbWVyZ2UgZmFpbHVyZSwgc2hvdWxkbid0IGhhcHBlbi4iCi1tc2dzdHIgIiIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTgxNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkxNAogbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZSEiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTgyNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg1NgotIywgYy1mb3JtYXQKLW1zZ2lkICJVbnByb2Nlc3NlZCBwYXRoPz8/ICVzIgotbXNnc3RyICIiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MDQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMDYKIG1zZ2lkICJNZXJnaW5nOiIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCiBtc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk1NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA1OAogbXNnaWQgIm1lcmdlIHJldHVybmVkIG5vIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDExCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDIyIGJ1aWx0aW4vbWVyZ2UuYzo2NDkgYnVpbHRpbi9tZXJnZS5jOjgzMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEzNSBidWlsdGluL21lcmdlLmM6NjQxIGJ1aWx0aW4vbWVyZ2UuYzo3ODgKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5kZXguIgogbXNnc3RyICIiCiAKKyM6IG5vdGVzLW1lcmdlLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG4iCisiUGxlYXNlLCB1c2UgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcgb3IgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyB0byAiCisiY29tbWl0L2Fib3J0IHRoZSBwcmV2aW91cyBtZXJnZSBiZWZvcmUgeW91IHN0YXJ0IGEgbmV3IG5vdGVzIG1lcmdlLiIKK21zZ3N0ciAiIgorCisjOiBub3Rlcy1tZXJnZS5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuIgorbXNnc3RyICIiCisKICM6IG5vdGVzLXV0aWxzLmM6NDEKIG1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCiBtc2dzdHIgIiIKQEAgLTk4Myw3ICsyMDYxLDcgQEAKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoLmM6Nzk2CisjOiBwYXRoLmM6ODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtYWtlICVzIHdyaXRhYmxlIGJ5IGdyb3VwIgogbXNnc3RyICIiCkBAIC0xMDM3LDEyICsyMTE1LDE4IEBACiBtc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjQzMworIzogcGF0aHNwZWMuYzo0MDgKK21zZ2lkICIiCisiZW1wdHkgc3RyaW5ncyBhcyBwYXRoc3BlY3Mgd2lsbCBiZSBtYWRlIGludmFsaWQgaW4gdXBjb21pbmcgcmVsZWFzZXMuIHBsZWFzZSAiCisidXNlIC4gaW5zdGVhZCBpZiB5b3UgbWVhbnQgdG8gbWF0Y2ggYWxsIHBhdGhzIgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjQ0MgorIzogcGF0aHNwZWMuYzo0NDkKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKICJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgpAQCAtMTA1Miw0MSArMjEzNiwzNiBAQAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAtLXByZXR0eSBmb3JtYXQiCiBtc2dzdHIgIiIKIAotIzogcHJvZ3Jlc3MuYzoyMzUKLW1zZ2lkICJkb25lIgotbXNnc3RyICIiCi0KLSM6IHJlYWQtY2FjaGUuYzoxMjgxCisjOiByZWFkLWNhY2hlLmM6MTMxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiaW5kZXgudmVyc2lvbiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKICJVc2luZyB2ZXJzaW9uICVpIgogbXNnc3RyICIiCiAKLSM6IHJlYWQtY2FjaGUuYzoxMjkxCisjOiByZWFkLWNhY2hlLmM6MTMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiR0lUX0lOREVYX1ZFUlNJT04gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCiAiVXNpbmcgdmVyc2lvbiAlaSIKIG1zZ3N0ciAiIgogCi0jOiByZWZzLmM6NTQzIGJ1aWx0aW4vbWVyZ2UuYzo3NjQgYnVpbHRpbi9tZXJnZS5jOjg4MyBidWlsdGluL21lcmdlLmM6OTg1Ci0jOiBidWlsdGluL21lcmdlLmM6OTk1CisjOiByZWZzLmM6NTc2IGJ1aWx0aW4vbWVyZ2UuYzo4NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyMjQzCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyMjQ2CisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlczogJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjI1NQorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIHJlZmVyZW5jZSAlcyIKIG1zZ3N0ciAiIgpAQCAtMTIxNSwxMiArMjI5NCwxMiBAQAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjE2NTEKKyM6IHJlZi1maWx0ZXIuYzoxNjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIG1pc3NpbmciCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjE3MDUKKyM6IHJlZi1maWx0ZXIuYzoxNjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAiIgpAQCAtMTI0NCw3NCArMjMyMyw3NCBAQAogbXNnaWQgIkludGVybmFsIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE2NzggcmVtb3RlLmM6MTcyMQorIzogcmVtb3RlLmM6MTY3NyByZW1vdGUuYzoxNzIwCiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiByZW1vdGUuYzoxNjg3CisjOiByZW1vdGUuYzoxNjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE2OTAKKyM6IHJlbW90ZS5jOjE2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6MTY5NgorIzogcmVtb3RlLmM6MTY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1cHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiByZW1vdGUuYzoxNzExCisjOiByZW1vdGUuYzoxNzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggZGVzdGluYXRpb24gJyVzJyBvbiByZW1vdGUgJyVzJyBoYXMgbm8gbG9jYWwgdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE3MjYKKyM6IHJlbW90ZS5jOjE3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAiIgogCi0jOiByZW1vdGUuYzoxNzM3CisjOiByZW1vdGUuYzoxNzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggcmVmc3BlY3MgZm9yICclcycgZG8gbm90IGluY2x1ZGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiByZW1vdGUuYzoxNzUwCisjOiByZW1vdGUuYzoxNzQ5CiBtc2dpZCAicHVzaCBoYXMgbm8gZGVzdGluYXRpb24gKHB1c2guZGVmYXVsdCBpcyAnbm90aGluZycpIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE3NzIKKyM6IHJlbW90ZS5jOjE3NzEKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSAnc2ltcGxlJyBwdXNoIHRvIGEgc2luZ2xlIGRlc3RpbmF0aW9uIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjIwNzQKKyM6IHJlbW90ZS5jOjIwNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjIwNzgKKyM6IHJlbW90ZS5jOjIwNzcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKIG1zZ3N0ciAiIgogCi0jOiByZW1vdGUuYzoyMDgxCisjOiByZW1vdGUuYzoyMDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnJXMnLlxuIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjIwODUKKyM6IHJlbW90ZS5jOjIwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IHJlbW90ZS5jOjIwOTEKKyM6IHJlbW90ZS5jOjIwOTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjIwOTQKKyM6IHJlbW90ZS5jOjIwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCkBAIC0xMzE5LDExICsyMzk4LDExIEBACiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiByZW1vdGUuYzoyMTAyCisjOiByZW1vdGUuYzoyMTAxCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6MjEwNQorIzogcmVtb3RlLmM6MjEwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTEzMzQsMjgzICsyNDEzLDMzNSBAQAogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogcmVtb3RlLmM6MjExNQorIzogcmVtb3RlLmM6MjExNAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycylcbiIKIG1zZ3N0ciAiIgogCi0jOiByZXZpc2lvbi5jOjIxNDIKKyM6IHJldmlzaW9uLmM6MjE1OAogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggYXBwZWFycyB0byBiZSBicm9rZW4iCiBtc2dzdHIgIiIKIAotIzogcmV2aXNpb24uYzoyMTQ1CisjOiByZXZpc2lvbi5jOjIxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnIGRvZXMgbm90IGhhdmUgYW55IGNvbW1pdHMgeWV0IgogbXNnc3RyICIiCiAKLSM6IHJldmlzaW9uLmM6MjMzOQorIzogcmV2aXNpb24uYzoyMzU1CiBtc2dpZCAiLS1maXJzdC1wYXJlbnQgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1iaXNlY3QiCiBtc2dzdHIgIiIKIAotIzogcnVuLWNvbW1hbmQuYzo5MgorIzogcnVuLWNvbW1hbmQuYzoxMDYKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogcnVuLWNvbW1hbmQuYzo5NAorIzogcnVuLWNvbW1hbmQuYzoxMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZHVwMiglZCwlZCkgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IHNlbmQtcGFjay5jOjI5NQorIzogc2VuZC1wYWNrLmM6Mjk3CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgIiIKIAotIzogc2VuZC1wYWNrLmM6NDA0CisjOiBzZW5kLXBhY2suYzo0MTAKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIHB1c2giCiBtc2dzdHIgIiIKIAotIzogc2VuZC1wYWNrLmM6NDA2CisjOiBzZW5kLXBhY2suYzo0MTIKIG1zZ2lkICIiCiAibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCiAic2lnbmVkIHB1c2giCiBtc2dzdHIgIiIKIAotIzogc2VuZC1wYWNrLmM6NDE4CisjOiBzZW5kLXBhY2suYzo0MjQKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTc0CisjOiBzZW5kLXBhY2suYzo0MjkKK21zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IHB1c2ggb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoxNzEKK21zZ2lkICJyZXZlcnQiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MTcxCittc2dpZCAiY2hlcnJ5LXBpY2siCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MjI4CiBtc2dpZCAiIgogImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKICJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPiciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTc3CisjOiBzZXF1ZW5jZXIuYzoyMzEKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgogImFuZCBjb21taXQgdGhlIHJlc3VsdCB3aXRoICdnaXQgY29tbWl0JyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTAgc2VxdWVuY2VyLmM6ODMzIHNlcXVlbmNlci5jOjkxMgorIzogc2VxdWVuY2VyLmM6MjQ0IHNlcXVlbmNlci5jOjEyMDkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgorbXNnaWQgImNvdWxkIG5vdCBsb2NrICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTkzCisjOiBzZXF1ZW5jZXIuYzoyNDcgc2VxdWVuY2VyLmM6MTEyNSBzZXF1ZW5jZXIuYzoxMjE0CiAjLCBjLWZvcm1hdAotbXNnaWQgIkVycm9yIHdyYXBwaW5nIHVwICVzIgorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjIwOAotbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVycnktcGljay4iCisjOiBzZXF1ZW5jZXIuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlIGVvbCB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjIxMAotbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSByZXZlcnQuIgorIzogc2VxdWVuY2VyLmM6MjU1IHNlcXVlbmNlci5jOjExMzAgc2VxdWVuY2VyLmM6MTIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjEzCi1tc2dpZCAiQ29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQuIgorIzogc2VxdWVuY2VyLmM6Mjc5IGJ1aWx0aW4vYW0uYzoyNTkgYnVpbHRpbi9jb21taXQuYzo3NDkgYnVpbHRpbi9tZXJnZS5jOjEwMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzLiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozMDkKK21zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIgb3IgImNoZXJyeS1waWNrIgotIzogc2VxdWVuY2VyLmM6MzAwCisjOiBzZXF1ZW5jZXIuYzozOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozMTgKLW1zZ2lkICJDb3VsZCBub3QgcmVzb2x2ZSBIRUFEIGNvbW1pdFxuIgorIzogc2VxdWVuY2VyLmM6NDE4Cittc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozMzgKLW1zZ2lkICJVbmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKKyM6IHNlcXVlbmNlci5jOjQzOAorbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM5MAorIzogc2VxdWVuY2VyLmM6NDgzCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXNcbiIKK21zZ2lkICIiCisieW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWVcbiIKKyJJZiB0aGVzZSBjaGFuZ2VzIGFyZSBtZWFudCB0byBiZSBzcXVhc2hlZCBpbnRvIHRoZSBwcmV2aW91cyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAlc1xuIgorIlxuIgorIklmIHRoZXkgYXJlIG1lYW50IHRvIGdvIGludG8gYSBuZXcgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICVzXG4iCisiXG4iCisiSW4gYm90aCBjYXNlcywgb25jZSB5b3UncmUgZG9uZSwgY29udGludWUgd2l0aDpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM5NQorIzogc2VxdWVuY2VyLmM6NTY3CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzXG4iCittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjQ2MAotbXNnaWQgIllvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NDc5CisjOiBzZXF1ZW5jZXIuYzo1NzIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NDg3CisjOiBzZXF1ZW5jZXIuYzo2NTYKK21zZ2lkICJ5b3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjY3NQogIywgYy1mb3JtYXQKLW1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCittc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjQ5MQorIzogc2VxdWVuY2VyLmM6NjgzCiAjLCBjLWZvcm1hdAotbXNnaWQgIk1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCittc2dpZCAiY29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgogbXNnc3RyICIiCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSAicmV2ZXJ0IiBvcgotIy4gImNoZXJyeS1waWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEKLSM6IHNlcXVlbmNlci5jOjUwNAorIzogc2VxdWVuY2VyLmM6Njg3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyB3aWxsIGJlIGEgInRvZG8iIGNvbW1hbmQgbGlrZQorIy4gInJldmVydCIgb3IgInBpY2siLCB0aGUgc2Vjb25kICVzIGEgU0hBMS4KKyM6IHNlcXVlbmNlci5jOjcwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NTA4CisjOiBzZXF1ZW5jZXIuYzo3MDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCittc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NTk0CisjOiBzZXF1ZW5jZXIuYzo3OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo1OTUKKyM6IHNlcXVlbmNlci5jOjc5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NjMwCisjOiBzZXF1ZW5jZXIuYzo4MzMKIG1zZ2lkICJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo2MzgKKyM6IHNlcXVlbmNlci5jOjg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo2NDIKKyM6IHNlcXVlbmNlci5jOjg1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo3MDIKKyM6IHNlcXVlbmNlci5jOjk0NAogIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3QgJXMgZHVyaW5nIGEgJXMiCittc2dpZCAiaW52YWxpZCBsaW5lICVkOiAlLipzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjcyNAorIzogc2VxdWVuY2VyLmM6OTUwCittc2dpZCAibm8gY29tbWl0cyBwYXJzZWQuIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjk2NgogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgbGluZSAlZC4iCittc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NzI5Ci1tc2dpZCAiTm8gY29tbWl0cyBwYXJzZWQuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjc0MQorIzogc2VxdWVuY2VyLmM6OTcyCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzIgorbXNnaWQgInVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjc0NQorIzogc2VxdWVuY2VyLmM6OTgzCittc2dpZCAiY2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhIHJldmVydC4iCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6OTg1Cittc2dpZCAiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MTAyOAogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcmVhZCAlcy4iCittc2dpZCAiaW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjc1MgorIzogc2VxdWVuY2VyLmM6MTAzMQogIywgYy1mb3JtYXQKLW1zZ2lkICJVbnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJXMiCittc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjc4MgorIzogc2VxdWVuY2VyLmM6MTA2MwogIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGtleTogJXMiCittc2dpZCAibWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Nzg1IGJ1aWx0aW4vcHVsbC5jOjUwIGJ1aWx0aW4vcHVsbC5jOjUyCi0jLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo3OTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICVzIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjgxNAorIzogc2VxdWVuY2VyLmM6MTEwMQogbXNnaWQgImEgY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODE1CisjOiBzZXF1ZW5jZXIuYzoxMTAyCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo4MTkKKyM6IHNlcXVlbmNlci5jOjExMDYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICVzIgorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjgzNSBzZXF1ZW5jZXIuYzo5MTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRXJyb3Igd3JhcHBpbmcgdXAgJXMuIgorIzogc2VxdWVuY2VyLmM6MTEyMAorbXNnaWQgImNvdWxkIG5vdCBsb2NrIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODU0IHNlcXVlbmNlci5jOjk4NgorIzogc2VxdWVuY2VyLmM6MTE1MSBzZXF1ZW5jZXIuYzoxMjg5CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjg1NgorIzogc2VxdWVuY2VyLmM6MTE1MwogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODU4CisjOiBzZXF1ZW5jZXIuYzoxMTU1IHNlcXVlbmNlci5jOjExODkKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzggYnVpbHRpbi9mZXRjaC5jOjYxMCBidWlsdGluL2ZldGNoLmM6ODUxCisjOiBzZXF1ZW5jZXIuYzoxMTc1IGJ1aWx0aW4vZ3JlcC5jOjU3OAogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjg4MAorIzogc2VxdWVuY2VyLmM6MTE3NwogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCAlczogJXMiCittc2dpZCAiY2Fubm90IHJlYWQgJyVzJzogJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODgxCisjOiBzZXF1ZW5jZXIuYzoxMTc4CiBtc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo4ODcKKyM6IHNlcXVlbmNlci5jOjExODQKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjkwOQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgZm9ybWF0ICVzLiIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzoxMDU0CisjOiBzZXF1ZW5jZXIuYzoxMzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjEwNTcKKyM6IHNlcXVlbmNlci5jOjEzNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDkxCi1tc2dpZCAiQ2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgorIzogc2VxdWVuY2VyLmM6MTM5MQorbXNnaWQgImNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDkyCi1tc2dpZCAiQ2FuJ3QgY2hlcnJ5LXBpY2sgaW50byBlbXB0eSBoZWFkIgotbXNnc3RyICIiCi0KLSM6IHNldHVwLmM6MjQ4CisjOiBzZXR1cC5jOjE2MAogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKK21zZ2lkICIiCisiJXM6IG5vIHN1Y2ggcGF0aCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgorIlVzZSAnZ2l0IDxjb21tYW5kPiAtLSA8cGF0aD4uLi4nIHRvIHNwZWNpZnkgcGF0aHMgdGhhdCBkbyBub3QgZXhpc3QgbG9jYWxseS4iCittc2dzdHIgIiIKKworIzogc2V0dXAuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiB1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCisiVXNlICctLScgdG8gc2VwYXJhdGUgcGF0aHMgZnJvbSByZXZpc2lvbnMsIGxpa2UgdGhpczpcbiIKKyInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgorbXNnc3RyICIiCisKKyM6IHNldHVwLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogYm90aCByZXZpc2lvbiBhbmQgZmlsZW5hbWVcbiIKKyJVc2UgJy0tJyB0byBzZXBhcmF0ZSBwYXRocyBmcm9tIHJldmlzaW9ucywgbGlrZSB0aGlzOlxuIgorIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCiBtc2dzdHIgIiIKIAogIzogc2V0dXAuYzo0NjgKQEAgLTE2MjIsMjEgKzI3NTMsODcgQEAKIG1zZ2lkICJ1bmtub3duIHJlcG9zaXRvcnkgZXh0ZW5zaW9ucyBmb3VuZDoiCiBtc2dzdHIgIiIKIAotIzogc2hhMV9maWxlLmM6MTA4MAorIzogc2V0dXAuYzo3NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBvZiB0aGUgcGFyZW50IGRpcmVjdG9yaWVzKTogJXMiCittc2dzdHIgIiIKKworIzogc2V0dXAuYzo3NjQgc2V0dXAuYzo5MTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY0MQorbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgorbXNnc3RyICIiCisKKyM6IHNldHVwLmM6ODQ1Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBzZXR1cC5jOjkyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCisiU3RvcHBpbmcgYXQgZmlsZXN5c3RlbSBib3VuZGFyeSAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSBub3Qgc2V0KS4iCittc2dzdHIgIiIKKworIzogc2V0dXAuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0byAnJXMvLi4nIgorbXNnc3RyICIiCisKKyM6IHNldHVwLmM6OTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQcm9ibGVtIHdpdGggY29yZS5zaGFyZWRSZXBvc2l0b3J5IGZpbGVtb2RlIHZhbHVlICgwJS4zbykuXG4iCisiVGhlIG93bmVyIG9mIGZpbGVzIG11c3QgYWx3YXlzIGhhdmUgcmVhZCBhbmQgd3JpdGUgcGVybWlzc2lvbnMuIgorbXNnc3RyICIiCisKKyM6IHNoYTFfZmlsZS5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoICclcycgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogc2hhMV9maWxlLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgYXMgYSBsaW5rZWQgY2hlY2tvdXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuIgorbXNnc3RyICIiCisKKyM6IHNoYTFfZmlsZS5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgorbXNnc3RyICIiCisKKyM6IHNoYTFfZmlsZS5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCittc2dzdHIgIiIKKworIzogc2hhMV9maWxlLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKK21zZ3N0ciAiIgorCisjOiBzaGExX2ZpbGUuYzoxMTU5CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBlbmQgb2YgcGFja2ZpbGUgKGJyb2tlbiAuaWR4PykiCiBtc2dzdHIgIiIKIAotIzogc2hhMV9maWxlLmM6MjQ1OAorIzogc2hhMV9maWxlLmM6MjU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIHN0YXJ0IG9mIHBhY2sgaW5kZXggZm9yICVzIChjb3JydXB0IGluZGV4PykiCiBtc2dzdHIgIiIKIAotIzogc2hhMV9maWxlLmM6MjQ2MgorIzogc2hhMV9maWxlLmM6MjU5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCiBtc2dzdHIgIiIKIAotIzogc2hhMV9uYW1lLmM6NDYyCisjOiBzaGExX25hbWUuYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hvcnQgU0hBMSAlcyBpcyBhbWJpZ3VvdXMiCittc2dzdHIgIiIKKworIzogc2hhMV9uYW1lLmM6NDE4Cittc2dpZCAiVGhlIGNhbmRpZGF0ZXMgYXJlOiIKK21zZ3N0ciAiIgorCisjOiBzaGExX25hbWUuYzo1NzgKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCkBAIC0xNjcyLDc5ICsyODY5LDEzMiBAQAogbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLmM6MTc3CisjOiBzdWJtb2R1bGUuYzoxNTgKIG1zZ2lkICJuZWdhdGl2ZSB2YWx1ZXMgbm90IGFsbG93ZWQgZm9yIHN1Ym1vZHVsZS5mZXRjaEpvYnMiCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjM1NQorIzogc3VibW9kdWxlLWNvbmZpZy5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFpbGVyLmM6MjM3CisjOiB0cmFpbGVyLmM6MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgdHJhaWxlciBjb21tYW5kICclcycgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IHRyYWlsZXIuYzo0OTIgdHJhaWxlci5jOjQ5NiB0cmFpbGVyLmM6NTAwIHRyYWlsZXIuYzo1NTQgdHJhaWxlci5jOjU1OAotIzogdHJhaWxlci5jOjU2MgorIzogdHJhaWxlci5jOjQ3MSB0cmFpbGVyLmM6NDc1IHRyYWlsZXIuYzo0NzkgdHJhaWxlci5jOjUzMyB0cmFpbGVyLmM6NTM3CisjOiB0cmFpbGVyLmM6NTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFsdWUgJyVzJyBmb3Iga2V5ICclcyciCiBtc2dzdHIgIiIKIAotIzogdHJhaWxlci5jOjU0NCB0cmFpbGVyLmM6NTQ5IGJ1aWx0aW4vcmVtb3RlLmM6Mjg5CisjOiB0cmFpbGVyLmM6NTIzIHRyYWlsZXIuYzo1MjggYnVpbHRpbi9yZW1vdGUuYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIG9uZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFpbGVyLmM6NTgyCisjOiB0cmFpbGVyLmM6NjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImVtcHR5IHRyYWlsZXIgdG9rZW4gaW4gdHJhaWxlciAnJS4qcyciCiBtc2dzdHIgIiIKIAotIzogdHJhaWxlci5jOjcwMgorIzogdHJhaWxlci5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBpbnB1dCBmaWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogdHJhaWxlci5jOjcwNQorIzogdHJhaWxlci5jOjY5OAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgIiIKIAotIzogdHJhaWxlci5jOjg1NyBidWlsdGluL2FtLmM6NDIKKyM6IHRyYWlsZXIuYzo5MjkgYnVpbHRpbi9hbS5jOjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0ICVzIgogbXNnc3RyICIiCiAKLSM6IHRyYWlsZXIuYzo4NTkKKyM6IHRyYWlsZXIuYzo5MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBpcyBub3QgYSByZWd1bGFyIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogdHJhaWxlci5jOjg2MQorIzogdHJhaWxlci5jOjkzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCB3cml0YWJsZSBieSB1c2VyIgogbXNnc3RyICIiCiAKLSM6IHRyYWlsZXIuYzo4NzMKKyM6IHRyYWlsZXIuYzo5NDUKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiB0cmFpbGVyLmM6OTEyCisjOiB0cmFpbGVyLmM6OTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgdGVtcG9yYXJ5IGZpbGUgdG8gJXMiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNDEKKyM6IHRyYW5zcG9ydC5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHNldCB1cHN0cmVhbSBvZiAnJXMnIHRvICclcycgb2YgJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJ0cmFuc3BvcnQ6IGludmFsaWQgZGVwdGggb3B0aW9uICclcyciCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LmM6ODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKKyJub3QgYmUgZm91bmQgb24gYW55IHJlbW90ZTpcbiIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQuYzo4MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlBsZWFzZSB0cnlcbiIKKyJcbiIKKyJcdGdpdCBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzPW9uLWRlbWFuZFxuIgorIlxuIgorIm9yIGNkIHRvIHRoZSBwYXRoIGFuZCB1c2VcbiIKKyJcbiIKKyJcdGdpdCBwdXNoXG4iCisiXG4iCisidG8gcHVzaCB0aGVtIHRvIGEgcmVtb3RlLlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC5jOjgyOQorbXNnaWQgIkFib3J0aW5nLiIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCByZWYgJXMiCiBtc2dzdHIgIiIKIAorIzogdHJlZS13YWxrLmM6MzEKK21zZ2lkICJ0b28tc2hvcnQgdHJlZSBvYmplY3QiCittc2dzdHIgIiIKKworIzogdHJlZS13YWxrLmM6MzcKK21zZ2lkICJtYWxmb3JtZWQgbW9kZSBpbiB0cmVlIGVudHJ5IgorbXNnc3RyICIiCisKKyM6IHRyZWUtd2Fsay5jOjQxCittc2dpZCAiZW1wdHkgZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSIKK21zZ3N0ciAiIgorCisjOiB0cmVlLXdhbGsuYzoxMTMKK21zZ2lkICJ0b28tc2hvcnQgdHJlZSBmaWxlIgorbXNnc3RyICIiCisKICM6IHVucGFjay10cmVlcy5jOjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKLSIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgY2FuIHN3aXRjaCBicmFuY2hlcy4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgIiIKIAogIzogdW5wYWNrLXRyZWVzLmM6NjYKQEAgLTE3NTgsNyArMzAwOCw3IEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKLSIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIKKyIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCiAKICM6IHVucGFjay10cmVlcy5jOjcxCkBAIC0xNzcyLDcgKzMwMjIsNyBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCi0iJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IGNhbiAlcy4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91ICVzLiIKIG1zZ3N0ciAiIgogCiAjOiB1bnBhY2stdHJlZXMuYzo3NgpAQCAtMTc5Myw3ICszMDQzLDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIHN3aXRjaCBicmFuY2hlcy4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgogbXNnc3RyICIiCiAKICM6IHVucGFjay10cmVlcy5jOjg3CkBAIC0xODA3LDcgKzMwNTcsNyBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCiAKICM6IHVucGFjay10cmVlcy5jOjkyCkBAIC0xODIxLDcgKzMwNzEsNyBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gJXMuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgJXMuIgogbXNnc3RyICIiCiAKICM6IHVucGFjay10cmVlcy5jOjk3CkBAIC0xODM2LDcgKzMwODYsNyBAQAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgogImNoZWNrb3V0OlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIHN3aXRjaCBicmFuY2hlcy4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgogbXNnc3RyICIiCiAKICM6IHVucGFjay10cmVlcy5jOjEwNApAQCAtMTg1MSw3ICszMTAxLDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgIiIKIAogIzogdW5wYWNrLXRyZWVzLmM6MTA5CkBAIC0xODY1LDcgKzMxMTUsNyBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuICVzLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIKIG1zZ3N0ciAiIgogCiAjOiB1bnBhY2stdHJlZXMuYzoxMTQKQEAgLTE4OTAsNyArMzE0MCw3IEBACiAjOiB1bnBhY2stdHJlZXMuYzoxMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIlRoZSBmb2xsb3dpbmcgV29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHNwYXJzZSBjaGVja291dCAiCisiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgc3BhcnNlIGNoZWNrb3V0ICIKICJ1cGRhdGU6XG4iCiAiJXMiCiBtc2dzdHIgIiIKQEAgLTE4OTgsNyArMzE0OCw3IEBACiAjOiB1bnBhY2stdHJlZXMuYzoxMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIlRoZSBmb2xsb3dpbmcgV29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgc3BhcnNlIGNoZWNrb3V0ICIKKyJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCiAidXBkYXRlOlxuIgogIiVzIgogbXNnc3RyICIiCkBAIC0xOTQxLDQwNiArMzE5MSw0MDAgQEAKIG1zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgogbXNnc3RyICIiCiAKLSM6IHdyYXBwZXIuYzoyMjIgd3JhcHBlci5jOjM4MQorIzogd29ya3RyZWUuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiB3cmFwcGVyLmM6MjIyIHdyYXBwZXIuYzozOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyIKIG1zZ3N0ciAiIgogCi0jOiB3cmFwcGVyLmM6MjI0IHdyYXBwZXIuYzozODMgYnVpbHRpbi9hbS5jOjc3OQorIzogd3JhcHBlci5jOjIyNCB3cmFwcGVyLmM6Mzk0IGJ1aWx0aW4vYW0uYzo3NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiIgogCi0jOiB3cmFwcGVyLmM6MjI2IHdyYXBwZXIuYzozODUgYnVpbHRpbi9hbS5jOjMyMyBidWlsdGluL2FtLmM6NzcyCi0jOiBidWlsdGluL2FtLmM6ODYwIGJ1aWx0aW4vY29tbWl0LmM6MTcxMSBidWlsdGluL21lcmdlLmM6MTA4NgotIzogYnVpbHRpbi9wdWxsLmM6NDA3CisjOiB3cmFwcGVyLmM6MjI2IHdyYXBwZXIuYzozOTYgYnVpbHRpbi9hbS5jOjMyMCBidWlsdGluL2FtLmM6NzU5CisjOiBidWlsdGluL2FtLmM6ODQ3IGJ1aWx0aW4vY29tbWl0LmM6MTcwNSBidWlsdGluL21lcmdlLmM6MTAyOQorIzogYnVpbHRpbi9wdWxsLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgIiIKIAotIzogd3JhcHBlci5jOjU5NCB3cmFwcGVyLmM6NjE1CisjOiB3cmFwcGVyLmM6NjA1IHdyYXBwZXIuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHdyYXBwZXIuYzo2MjMKKyM6IHdyYXBwZXIuYzo2MzQKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogd3JhcHBlci5jOjY1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgb3BlbiAlcyBmb3Igd3JpdGluZyIKLW1zZ3N0ciAiIgotCi0jOiB3cmFwcGVyLmM6NjYxIGJ1aWx0aW4vYW0uYzo0MTAKKyM6IHdyYXBwZXIuYzo2NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRvICVzIgogbXNnc3RyICIiCiAKLSM6IHdyYXBwZXIuYzo2NjcKKyM6IHdyYXBwZXIuYzo2NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlICVzIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MAorIzogd3Qtc3RhdHVzLmM6MTUxCiBtc2dpZCAiVW5tZXJnZWQgcGF0aHM6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NyB3dC1zdGF0dXMuYzoyMDQKKyM6IHd0LXN0YXR1cy5jOjE3OCB3dC1zdGF0dXMuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE3OSB3dC1zdGF0dXMuYzoyMDYKKyM6IHd0LXN0YXR1cy5jOjE4MCB3dC1zdGF0dXMuYzoyMDcKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTgzCisjOiB3dC1zdGF0dXMuYzoxODQKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTg1IHd0LXN0YXR1cy5jOjE4OQorIzogd3Qtc3RhdHVzLmM6MTg2IHd0LXN0YXR1cy5jOjE5MAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxODcKKyM6IHd0LXN0YXR1cy5jOjE4OAogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE5OCB3dC1zdGF0dXMuYzo4ODEKKyM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzo5NDUKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjE2IHd0LXN0YXR1cy5jOjg5MAorIzogd3Qtc3RhdHVzLmM6MjE3IHd0LXN0YXR1cy5jOjk1NAogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyMjAKKyM6IHd0LXN0YXR1cy5jOjIyMQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMgorIzogd3Qtc3RhdHVzLmM6MjIzCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjIzCisjOiB3dC1zdGF0dXMuYzoyMjQKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjI1CisjOiB3dC1zdGF0dXMuYzoyMjYKIG1zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjM3CisjOiB3dC1zdGF0dXMuYzoyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjUyCisjOiB3dC1zdGF0dXMuYzoyNTMKIG1zZ2lkICJib3RoIGRlbGV0ZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NAorIzogd3Qtc3RhdHVzLmM6MjU1CiBtc2dpZCAiYWRkZWQgYnkgdXM6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NgorIzogd3Qtc3RhdHVzLmM6MjU3CiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyNTgKKyM6IHd0LXN0YXR1cy5jOjI1OQogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MAorIzogd3Qtc3RhdHVzLmM6MjYxCiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjYyCisjOiB3dC1zdGF0dXMuYzoyNjMKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyNjQKKyM6IHd0LXN0YXR1cy5jOjI2NQogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NgotIywgYy1mb3JtYXQKLW1zZ2lkICJidWc6IHVuaGFuZGxlZCB1bm1lcmdlZCBzdGF0dXMgJXgiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6Mjc0CisjOiB3dC1zdGF0dXMuYzoyNzUKIG1zZ2lkICJuZXcgZmlsZToiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc2CisjOiB3dC1zdGF0dXMuYzoyNzcKIG1zZ2lkICJjb3BpZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI3OAorIzogd3Qtc3RhdHVzLmM6Mjc5CiBtc2dpZCAiZGVsZXRlZDoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjgwCisjOiB3dC1zdGF0dXMuYzoyODEKIG1zZ2lkICJtb2RpZmllZDoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjgyCisjOiB3dC1zdGF0dXMuYzoyODMKIG1zZ2lkICJyZW5hbWVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyODQKKyM6IHd0LXN0YXR1cy5jOjI4NQogbXNnaWQgInR5cGVjaGFuZ2U6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NgorIzogd3Qtc3RhdHVzLmM6Mjg3CiBtc2dpZCAidW5rbm93bjoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg4CisjOiB3dC1zdGF0dXMuYzoyODkKIG1zZ2lkICJ1bm1lcmdlZDoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MzcwCisjOiB3dC1zdGF0dXMuYzozNzEKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MgorIzogd3Qtc3RhdHVzLmM6MzczCiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjM3NAorIzogd3Qtc3RhdHVzLmM6Mzc1CiBtc2dpZCAidW50cmFja2VkIGNvbnRlbnQsICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzozOTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYnVnOiB1bmhhbmRsZWQgZGlmZiBzdGF0dXMgJWMiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6NzU1CisjOiB3dC1zdGF0dXMuYzo4MTgKIG1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo3NTcKKyM6IHd0LXN0YXR1cy5jOjgyMAogbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6ODM4CisjOiB3dC1zdGF0dXMuYzo5MDEKIG1zZ2lkICIiCiAiRG8gbm90IHRvdWNoIHRoZSBsaW5lIGFib3ZlLlxuIgogIkV2ZXJ5dGhpbmcgYmVsb3cgd2lsbCBiZSByZW1vdmVkLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5NDkKKyM6IHd0LXN0YXR1cy5jOjEwMTMKIG1zZ2lkICJZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTUyCisjOiB3dC1zdGF0dXMuYzoxMDE2CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5NTYKKyM6IHd0LXN0YXR1cy5jOjEwMTgKK21zZ2lkICIgICh1c2UgXCJnaXQgbWVyZ2UgLS1hYm9ydFwiIHRvIGFib3J0IHRoZSBtZXJnZSkiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTAyMwogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTU5CisjOiB3dC1zdGF0dXMuYzoxMDI2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5NjkKKyM6IHd0LXN0YXR1cy5jOjEwMzYKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTcyCisjOiB3dC1zdGF0dXMuYzoxMDM5CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjk3NgorIzogd3Qtc3RhdHVzLmM6MTA0MwogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTc4CisjOiB3dC1zdGF0dXMuYzoxMDQ1CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6OTgwCisjOiB3dC1zdGF0dXMuYzoxMDQ3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExMDUKKyM6IHd0LXN0YXR1cy5jOjExNzIKIG1zZ2lkICJObyBjb21tYW5kcyBkb25lLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTA4CisjOiB3dC1zdGF0dXMuYzoxMTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxhc3QgY29tbWFuZCBkb25lICglZCBjb21tYW5kIGRvbmUpOiIKIG1zZ2lkX3BsdXJhbCAiTGFzdCBjb21tYW5kcyBkb25lICglZCBjb21tYW5kcyBkb25lKToiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTE5CisjOiB3dC1zdGF0dXMuYzoxMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExMjQKKyM6IHd0LXN0YXR1cy5jOjExOTEKIG1zZ2lkICJObyBjb21tYW5kcyByZW1haW5pbmcuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExMjcKKyM6IHd0LXN0YXR1cy5jOjExOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTmV4dCBjb21tYW5kIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZCk6IgogbXNnaWRfcGx1cmFsICJOZXh0IGNvbW1hbmRzIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZHMpOiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExMzUKKyM6IHd0LXN0YXR1cy5jOjEyMDIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgdG8gdmlldyBhbmQgZWRpdCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTE0OAorIzogd3Qtc3RhdHVzLmM6MTIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTUzCisjOiB3dC1zdGF0dXMuYzoxMjIwCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExNjcKKyM6IHd0LXN0YXR1cy5jOjEyMzQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTY5CisjOiB3dC1zdGF0dXMuYzoxMjM2CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzEKKyM6IHd0LXN0YXR1cy5jOjEyMzgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTE3NworIzogd3Qtc3RhdHVzLmM6MTI0NAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTgxCisjOiB3dC1zdGF0dXMuYzoxMjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTE4NgorIzogd3Qtc3RhdHVzLmM6MTI1MwogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExODkKKyM6IHd0LXN0YXR1cy5jOjEyNTYKIG1zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTkzCisjOiB3dC1zdGF0dXMuYzoxMjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTE5OAorIzogd3Qtc3RhdHVzLmM6MTI2NQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjAxCisjOiB3dC1zdGF0dXMuYzoxMjY4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjAzCisjOiB3dC1zdGF0dXMuYzoxMjcwCiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMTMKKyM6IHd0LXN0YXR1cy5jOjEyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjE4CisjOiB3dC1zdGF0dXMuYzoxMjg1CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMQorIzogd3Qtc3RhdHVzLmM6MTI4OAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjMKKyM6IHd0LXN0YXR1cy5jOjEyOTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjMyCisjOiB3dC1zdGF0dXMuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJldmVydGluZyBjb21taXQgJXMuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzcKKyM6IHd0LXN0YXR1cy5jOjEzMDQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI0MAorIzogd3Qtc3RhdHVzLmM6MTMwNwogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQyCisjOiB3dC1zdGF0dXMuYzoxMzA5CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjUzCisjOiB3dC1zdGF0dXMuYzoxMzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU3CisjOiB3dC1zdGF0dXMuYzoxMzI0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYwCisjOiB3dC1zdGF0dXMuYzoxMzI3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NjAKKyM6IHd0LXN0YXR1cy5jOjE1MjQKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NjYKKyM6IHd0LXN0YXR1cy5jOjE1MzAKIG1zZ2lkICJpbnRlcmFjdGl2ZSByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NjgKKyM6IHd0LXN0YXR1cy5jOjE1MzIKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NzMKKyM6IHd0LXN0YXR1cy5jOjE1MzcKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNDc1CisjOiB3dC1zdGF0dXMuYzoxNTM5CiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNDc4CisjOiB3dC1zdGF0dXMuYzoxNTQyCiBtc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNDk2CisjOiB3dC1zdGF0dXMuYzoxNTYwCiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTUxMAorIzogd3Qtc3RhdHVzLmM6MTU3NAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNTEyCisjOiB3dC1zdGF0dXMuYzoxNTc2CiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNTE2CisjOiB3dC1zdGF0dXMuYzoxNTgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC0yMzQ4LDgyICszNTkyLDk3IEBACiAibmV3IGZpbGVzIHlvdXJzZWxmIChzZWUgJ2dpdCBoZWxwIHN0YXR1cycpLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNTIyCisjOiB3dC1zdGF0dXMuYzoxNTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkJXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTUyNAorIzogd3Qtc3RhdHVzLmM6MTU4OAogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTUzMAorIzogd3Qtc3RhdHVzLmM6MTU5NAogbXNnaWQgIk5vIGNoYW5nZXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTUzNQorIzogd3Qtc3RhdHVzLmM6MTU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM4CisjOiB3dC1zdGF0dXMuYzoxNjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTU0MQorIzogd3Qtc3RhdHVzLmM6MTYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgogInRyYWNrKVxuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDQKKyM6IHd0LXN0YXR1cy5jOjE2MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50XG4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTU0NworIzogd3Qtc3RhdHVzLmM6MTYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAoY3JlYXRlL2NvcHkgZmlsZXMgYW5kIHVzZSBcImdpdCBhZGRcIiB0byB0cmFjaylcbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNTUwIHd0LXN0YXR1cy5jOjE1NTUKKyM6IHd0LXN0YXR1cy5jOjE2MTQgd3Qtc3RhdHVzLmM6MTYxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE1NTMKKyM6IHd0LXN0YXR1cy5jOjE2MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNTU3CisjOiB3dC1zdGF0dXMuYzoxNjIxCiAjLCBjLWZvcm1hdAotbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIGRpcmVjdG9yeSBjbGVhblxuIgorbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNjY0CisjOiB3dC1zdGF0dXMuYzoxNzI4CiBtc2dpZCAiSW5pdGlhbCBjb21taXQgb24gIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjgKKyM6IHd0LXN0YXR1cy5jOjE3MzIKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTcKKyM6IHd0LXN0YXR1cy5jOjE3NjEKIG1zZ2lkICJnb25lIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTkgd3Qtc3RhdHVzLmM6MTcwNworIzogd3Qtc3RhdHVzLmM6MTc2MyB3dC1zdGF0dXMuYzoxNzcxCiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNzAyIHd0LXN0YXR1cy5jOjE3MDUKKyM6IHd0LXN0YXR1cy5jOjE3NjYgd3Qtc3RhdHVzLmM6MTc2OQogbXNnaWQgImFoZWFkICIKIG1zZ3N0ciAiIgogCi0jOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTcgYnVpbHRpbi9jbG9uZS5jOjQxNQorIy4gVFJBTlNMQVRPUlM6IHRoZSBhY3Rpb24gaXMgZS5nLiAicHVsbCB3aXRoIHJlYmFzZSIKKyM6IHd0LXN0YXR1cy5jOjIyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90ICVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoyMjc2Cittc2dpZCAiYWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90ICVzOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIiCisKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1NyBidWlsdGluL2Nsb25lLmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKIG1zZ3N0ciAiIgpAQCAtMjQzMiwyOTIgKzM2OTEsMjkxIEBACiBtc2dpZCAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo2NQorIzogYnVpbHRpbi9hZGQuYzo4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NzAgYnVpbHRpbi9jb21taXQuYzoyODAKKyM6IGJ1aWx0aW4vYWRkLmM6ODUgYnVpbHRpbi9jb21taXQuYzoyOTEKIG1zZ2lkICJ1cGRhdGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo4MAorIzogYnVpbHRpbi9hZGQuYzo5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdmUgJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTM0CisjOiBidWlsdGluL2FkZC5jOjE0OQogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTk0IGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODExCisjOiBidWlsdGluL2FkZC5jOjIwOSBidWlsdGluL3Jldi1wYXJzZS5jOjg0MAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjIwNQorIzogYnVpbHRpbi9hZGQuYzoyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMDkKKyM6IGJ1aWx0aW4vYWRkLmM6MjI0CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjEyCisjOiBidWlsdGluL2FkZC5jOjIyNwogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjE1CisjOiBidWlsdGluL2FkZC5jOjIzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjE3CisjOiBidWlsdGluL2FkZC5jOjIzMgogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjIyMgorIzogYnVpbHRpbi9hZGQuYzoyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzIKKyM6IGJ1aWx0aW4vYWRkLmM6MjQ3CiBtc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ5IGJ1aWx0aW4vY2xlYW4uYzo4NzAgYnVpbHRpbi9mZXRjaC5jOjExMiBidWlsdGluL212LmM6MTExCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU1IGJ1aWx0aW4vcHVsbC5jOjE5NyBidWlsdGluL3B1c2guYzo1MTEKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMzMiBidWlsdGluL3JtLmM6MjY4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCisjOiBidWlsdGluL2FkZC5jOjI2NiBidWlsdGluL2NsZWFuLmM6ODcwIGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9tdi5jOjExMQorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NSBidWlsdGluL3B1bGwuYzoxOTggYnVpbHRpbi9wdXNoLmM6NTIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjYgYnVpbHRpbi9ybS5jOjI2OCBidWlsdGluL3NlbmQtcGFjay5jOjE2MgogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTAgYnVpbHRpbi9hcHBseS5jOjQ1NjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMzMzIGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg1IGJ1aWx0aW4vZnNjay5jOjU1NwotIzogYnVpbHRpbi9sb2cuYzoxODI2IGJ1aWx0aW4vbXYuYzoxMTAgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKLW1zZ2lkICJiZSB2ZXJib3NlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MjUyCisjOiBidWlsdGluL2FkZC5jOjI2OQogbXNnaWQgImludGVyYWN0aXZlIHBpY2tpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTMgYnVpbHRpbi9jaGVja291dC5jOjExNTQgYnVpbHRpbi9yZXNldC5jOjI4NgorIzogYnVpbHRpbi9hZGQuYzoyNzAgYnVpbHRpbi9jaGVja291dC5jOjExNTYgYnVpbHRpbi9yZXNldC5jOjI4NgogbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU0CisjOiBidWlsdGluL2FkZC5jOjI3MQogbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI1NQorIzogYnVpbHRpbi9hZGQuYzoyNzIKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6MjczCiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTcKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc0CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU4CisjOiBidWlsdGluL2FkZC5jOjI3NQogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI2MQorIzogYnVpbHRpbi9hZGQuYzoyNzgKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI2MworIzogYnVpbHRpbi9hZGQuYzoyODAKIG1zZ2lkICJkb24ndCBhZGQsIG9ubHkgcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjQKKyM6IGJ1aWx0aW4vYWRkLmM6MjgxCiBtc2dpZCAianVzdCBza2lwIGZpbGVzIHdoaWNoIGNhbm5vdCBiZSBhZGRlZCBiZWNhdXNlIG9mIGVycm9ycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI2NQorIzogYnVpbHRpbi9hZGQuYzoyODIKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyODcKKyM6IGJ1aWx0aW4vYWRkLmM6MjgzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ3Cittc2dpZCAiKCsvLSl4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MjgzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ4Cittc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzozMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI5NAorIzogYnVpbHRpbi9hZGQuYzozMTIKIG1zZ2lkICJhZGRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzMwCisjOiBidWlsdGluL2FkZC5jOjM0OAogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzM3CisjOiBidWlsdGluL2FkZC5jOjM1NQogbXNnaWQgIk9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWRyeS1ydW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tY2htb2QgcGFyYW0gJyVzJyBtdXN0IGJlIGVpdGhlciAteCBvciAreCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjM1MworIzogYnVpbHRpbi9hZGQuYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWF5YmUgeW91IHdhbnRlZCB0byBzYXkgJ2dpdCBhZGQgLic/XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTggYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIgYnVpbHRpbi9jbGVhbi5jOjkxNAotIzogYnVpbHRpbi9jb21taXQuYzozMzkgYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyOTgKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDAKKyM6IGJ1aWx0aW4vYWRkLmM6MzgwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzIgYnVpbHRpbi9jbGVhbi5jOjkxNCBidWlsdGluL2NvbW1pdC5jOjM1MAorIzogYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyOTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDQKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzkgYnVpbHRpbi9hcHBseS5jOjQ2NjEgYnVpbHRpbi9tdi5jOjI4MyBidWlsdGluL3JtLmM6NDMwCi1tc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYW0uYzoyNTYgYnVpbHRpbi9jb21taXQuYzo3NDkgYnVpbHRpbi9tZXJnZS5jOjEwODkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FtLmM6NDMwCisjOiBidWlsdGluL2FtLmM6NDE0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGF1dGhvciBzY3JpcHQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjUwNworIzogYnVpbHRpbi9hbS5jOjQ5MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1NDggYnVpbHRpbi9ub3Rlcy5jOjMwMAorIzogYnVpbHRpbi9hbS5jOjUzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjU4NSBidWlsdGluL25vdGVzLmM6MzE1CisjOiBidWlsdGluL2FtLmM6NTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo2MTEKKyM6IGJ1aWx0aW4vYW0uYzo1OTUKIG1zZ2lkICJmc2VlayBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjc4OAorIzogYnVpbHRpbi9hbS5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGF0Y2ggJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6ODUzCisjOiBidWlsdGluL2FtLmM6ODQwCiBtc2dpZCAiT25seSBvbmUgU3RHSVQgcGF0Y2ggc2VyaWVzIGNhbiBiZSBhcHBsaWVkIGF0IG9uY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjkwMAorIzogYnVpbHRpbi9hbS5jOjg4NwogbXNnaWQgImludmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5MDMgYnVpbHRpbi9hbS5jOjkxMQorIzogYnVpbHRpbi9hbS5jOjg5MCBidWlsdGluL2FtLmM6ODk4CiBtc2dpZCAiaW52YWxpZCBEYXRlIGxpbmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjkwOAorIzogYnVpbHRpbi9hbS5jOjg5NQogbXNnaWQgImludmFsaWQgdGltZXpvbmUgb2Zmc2V0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5OTUKKyM6IGJ1aWx0aW4vYW0uYzo5ODQKIG1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjEwMDAgYnVpbHRpbi9jbG9uZS5jOjM4MAorIzogYnVpbHRpbi9hbS5jOjk4OSBidWlsdGluL2Nsb25lLmM6Mzc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjEwMDQKKyM6IGJ1aWx0aW4vYW0uYzo5OTMKIG1zZ2lkICJGYWlsZWQgdG8gc3BsaXQgcGF0Y2hlcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjExMzYgYnVpbHRpbi9jb21taXQuYzozNjUKKyM6IGJ1aWx0aW4vYW0uYzoxMTI1IGJ1aWx0aW4vY29tbWl0LmM6Mzc2CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIGluZGV4IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjExODcKKyM6IGJ1aWx0aW4vYW0uYzoxMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCIlcyAtLWNvbnRpbnVlXCIuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTg4CisjOiBidWlsdGluL2FtLmM6MTE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiJXMgLS1za2lwXCIgaW5zdGVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjExODkKKyM6IGJ1aWx0aW4vYW0uYzoxMTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTMyNworIzogYnVpbHRpbi9hbS5jOjEzMTYKIG1zZ2lkICJQYXRjaCBpcyBlbXB0eS4gV2FzIGl0IHNwbGl0IHdyb25nPyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTQwMSBidWlsdGluL2xvZy5jOjE1MTYKKyM6IGJ1aWx0aW4vYW0uYzoxMzkwIGJ1aWx0aW4vbG9nLmM6MTU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNDI4CisjOiBidWlsdGluL2FtLmM6MTQxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjMwCisjOiBidWlsdGluL2FtLmM6MTYxMAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgbmVjZXNzYXJ5IGJsb2JzIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzIKKyM6IGJ1aWx0aW4vYW0uYzoxNjEyCiBtc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTY1MQorIzogYnVpbHRpbi9hbS5jOjE2MzEKIG1zZ2lkICIiCiAiRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKICJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjU3CisjOiBidWlsdGluL2FtLmM6MTYzNwogbXNnaWQgIkZhbGxpbmcgYmFjayB0byBwYXRjaGluZyBiYXNlIGFuZCAzLXdheSBtZXJnZS4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTY3MgorIzogYnVpbHRpbi9hbS5jOjE2NjIKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2UgaW4gdGhlIGNoYW5nZXMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjk2IGJ1aWx0aW4vbWVyZ2UuYzo2MzYKKyM6IGJ1aWx0aW4vYW0uYzoxNjg2IGJ1aWx0aW4vbWVyZ2UuYzo2MjgKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBmYWlsZWQgdG8gd3JpdGUgYSB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzAzCisjOiBidWlsdGluL2FtLmM6MTY5MwogbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE3MTYgYnVpbHRpbi9jb21taXQuYzoxNzc1IGJ1aWx0aW4vbWVyZ2UuYzo4NDEKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjYKKyM6IGJ1aWx0aW4vYW0uYzoxNzA2IGJ1aWx0aW4vY29tbWl0LmM6MTc2OSBidWlsdGluL21lcmdlLmM6Nzk4CisjOiBidWlsdGluL21lcmdlLmM6ODIzCiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE3NDggYnVpbHRpbi9hbS5jOjE3NTIKKyM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxNzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXN1bWU6ICVzIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTc2OAorIzogYnVpbHRpbi9hbS5jOjE3NTkKIG1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE3NzMKKyM6IGJ1aWx0aW4vYW0uYzoxNzY0CiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICIiCiAKQEAgLTI3MjUsNzEyICszOTgzLDIxOSBAQAogIy4gaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCiAjLiBpbnB1dCBhdCB0aGlzIHBvaW50LgogIy4KLSM6IGJ1aWx0aW4vYW0uYzoxNzgzCisjOiBidWlsdGluL2FtLmM6MTc3NAogbXNnaWQgIkFwcGx5PyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsOiAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE4MzMKKyM6IGJ1aWx0aW4vYW0uYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcnR5IGluZGV4OiBjYW5ub3QgYXBwbHkgcGF0Y2hlcyAoZGlydHk6ICVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTg2OCBidWlsdGluL2FtLmM6MTk0MAorIzogYnVpbHRpbi9hbS5jOjE4NjEgYnVpbHRpbi9hbS5jOjE5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmc6ICUuKnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE4ODQKKyM6IGJ1aWx0aW4vYW0uYzoxODc3CiBtc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODkyCisjOiBidWlsdGluL2FtLmM6MTg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJXMgJS4qcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTg5OAorIzogYnVpbHRpbi9hbS5jOjE4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGNvcHkgb2YgdGhlIHBhdGNoIHRoYXQgZmFpbGVkIGlzIGZvdW5kIGluOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTk0MworIzogYnVpbHRpbi9hbS5jOjE5MzYKIG1zZ2lkICIiCiAiTm8gY2hhbmdlcyAtIGRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/XG4iCiAiSWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IHRvIHN0YWdlLCBjaGFuY2VzIGFyZSB0aGF0IHNvbWV0aGluZyBlbHNlXG4iCiAiYWxyZWFkeSBpbnRyb2R1Y2VkIHRoZSBzYW1lIGNoYW5nZXM7IHlvdSBtaWdodCB3YW50IHRvIHNraXAgdGhpcyBwYXRjaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE5NTAKKyM6IGJ1aWx0aW4vYW0uYzoxOTQzCiBtc2dpZCAiIgogIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCiAiRGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIwNTggYnVpbHRpbi9hbS5jOjIwNjIgYnVpbHRpbi9hbS5jOjIwNzQgYnVpbHRpbi9yZXNldC5jOjMwOAorIzogYnVpbHRpbi9hbS5jOjIwNTEgYnVpbHRpbi9hbS5jOjIwNTUgYnVpbHRpbi9hbS5jOjIwNjcgYnVpbHRpbi9yZXNldC5jOjMwOAogIzogYnVpbHRpbi9yZXNldC5jOjMxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTEwCisjOiBidWlsdGluL2FtLmM6MjEwMwogbXNnaWQgImZhaWxlZCB0byBjbGVhbiBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjE0NAorIzogYnVpbHRpbi9hbS5jOjIxMzcKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjIwNQorIzogYnVpbHRpbi9hbS5jOjIyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM4Ci1tc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+fDxNYWlsZGlyPikuLi5dIgorIzogYnVpbHRpbi9hbS5jOjIyMzMKK21zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjIzOQorIzogYnVpbHRpbi9hbS5jOjIyMzQKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NQorIzogYnVpbHRpbi9hbS5jOjIyNDAKIG1zZ2lkICJydW4gaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NworIzogYnVpbHRpbi9hbS5jOjIyNDIKIG1zZ2lkICJoaXN0b3JpY2FsIG9wdGlvbiAtLSBuby1vcCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI0OQorIzogYnVpbHRpbi9hbS5jOjIyNDQKIG1zZ2lkICJhbGxvdyBmYWxsIGJhY2sgb24gM3dheSBtZXJnaW5nIGlmIG5lZWRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MCBidWlsdGluL2luaXQtZGIuYzo0NzggYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NwotIzogYnVpbHRpbi9yZXBhY2suYzoxNzEKKyM6IGJ1aWx0aW4vYW0uYzoyMjQ1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MyBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU3CisjOiBidWlsdGluL3JlcGFjay5jOjE3MgogbXNnaWQgImJlIHF1aWV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUyCisjOiBidWlsdGluL2FtLmM6MjI0NwogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTUKKyM6IGJ1aWx0aW4vYW0uYzoyMjUwCiBtc2dpZCAicmVjb2RlIGludG8gdXRmOCAoZGVmYXVsdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTcKKyM6IGJ1aWx0aW4vYW0uYzoyMjUyCiBtc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI1OQorIzogYnVpbHRpbi9hbS5jOjIyNTQKIG1zZ2lkICJwYXNzIC1iIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjYxCisjOiBidWlsdGluL2FtLmM6MjI1NgogbXNnaWQgInBhc3MgLW0gZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjMKKyM6IGJ1aWx0aW4vYW0uYzoyMjU4CiBtc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI2NgorIzogYnVpbHRpbi9hbS5jOjIyNjEKIG1zZ2lkICJkbyBub3QgcGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGluZGVwZW5kZW50IG9mIGFtLmtlZXBjciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI2OQorIzogYnVpbHRpbi9hbS5jOjIyNjQKIG1zZ2lkICJzdHJpcCBldmVyeXRoaW5nIGJlZm9yZSBhIHNjaXNzb3JzIGxpbmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzAgYnVpbHRpbi9hcHBseS5jOjQ1NDYKLW1zZ2lkICJhY3Rpb24iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hbS5jOjIyNzEgYnVpbHRpbi9hbS5jOjIyNzQgYnVpbHRpbi9hbS5jOjIyNzcgYnVpbHRpbi9hbS5jOjIyODAKLSM6IGJ1aWx0aW4vYW0uYzoyMjgzIGJ1aWx0aW4vYW0uYzoyMjg2IGJ1aWx0aW4vYW0uYzoyMjg5IGJ1aWx0aW4vYW0uYzoyMjkyCi0jOiBidWlsdGluL2FtLmM6MjI5OAorIzogYnVpbHRpbi9hbS5jOjIyNjYgYnVpbHRpbi9hbS5jOjIyNjkgYnVpbHRpbi9hbS5jOjIyNzIgYnVpbHRpbi9hbS5jOjIyNzUKKyM6IGJ1aWx0aW4vYW0uYzoyMjc4IGJ1aWx0aW4vYW0uYzoyMjgxIGJ1aWx0aW4vYW0uYzoyMjg0IGJ1aWx0aW4vYW0uYzoyMjg3CisjOiBidWlsdGluL2FtLmM6MjI5MwogbXNnaWQgInBhc3MgaXQgdGhyb3VnaCBnaXQtYXBwbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzkgYnVpbHRpbi9hcHBseS5jOjQ1NzAKLW1zZ2lkICJyb290IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYW0uYzoyMjgyIGJ1aWx0aW4vYW0uYzoyMjg1IGJ1aWx0aW4vYXBwbHkuYzo0NTA4Ci0jOiBidWlsdGluL2FwcGx5LmM6NDUxMSBidWlsdGluL2Nsb25lLmM6OTAgYnVpbHRpbi9mZXRjaC5jOjk1Ci0jOiBidWlsdGluL3B1bGwuYzoxNzkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI3NwotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDg1Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDg4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzAKLW1zZ2lkICJwYXRoIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYW0uYzoyMjg4IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjkKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNiBidWlsdGluL21lcmdlLmM6MTk5IGJ1aWx0aW4vcHVsbC5jOjEzNAotIzogYnVpbHRpbi9wdWxsLmM6MTkzIGJ1aWx0aW4vcmVwYWNrLmM6MTc4IGJ1aWx0aW4vcmVwYWNrLmM6MTgyCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzUgYnVpbHRpbi90YWcuYzozNDAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxMzIgcGFyc2Utb3B0aW9ucy5oOjEzNCBwYXJzZS1vcHRpb25zLmg6MjQ0CisjOiBidWlsdGluL2FtLmM6MjI4MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjIgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY1CisjOiBidWlsdGluL2dyZXAuYzo3MDcgYnVpbHRpbi9tZXJnZS5jOjIwMCBidWlsdGluL3B1bGwuYzoxMzUKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5NCBidWlsdGluL3JlcGFjay5jOjE4MSBidWlsdGluL3JlcGFjay5jOjE4NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NCBidWlsdGluL3Nob3ctcmVmLmM6MTc1IGJ1aWx0aW4vdGFnLmM6MzQwCisjOiBwYXJzZS1vcHRpb25zLmg6MTMyIHBhcnNlLW9wdGlvbnMuaDoxMzQgcGFyc2Utb3B0aW9ucy5oOjI0NQogbXNnaWQgIm4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTEgYnVpbHRpbi9hcHBseS5jOjQ1MTQKLW1zZ2lkICJudW0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hbS5jOjIyOTQgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3JlcGxhY2UuYzo0MzgKKyM6IGJ1aWx0aW4vYW0uYzoyMjg5IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi9yZXBsYWNlLmM6NDM4CiAjOiBidWlsdGluL3RhZy5jOjM3MgogbXNnaWQgImZvcm1hdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI5NQorIzogYnVpbHRpbi9hbS5jOjIyOTAKIG1zZ2lkICJmb3JtYXQgdGhlIHBhdGNoKGVzKSBhcmUgaW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDEKKyM6IGJ1aWx0aW4vYW0uYzoyMjk2CiBtc2dpZCAib3ZlcnJpZGUgZXJyb3IgbWVzc2FnZSB3aGVuIHBhdGNoIGZhaWx1cmUgb2NjdXJzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzAzCisjOiBidWlsdGluL2FtLmM6MjI5OAogbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDYKKyM6IGJ1aWx0aW4vYW0uYzoyMzAxCiBtc2dpZCAic3lub255bXMgZm9yIC0tY29udGludWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDkKKyM6IGJ1aWx0aW4vYW0uYzoyMzA0CiBtc2dpZCAic2tpcCB0aGUgY3VycmVudCBwYXRjaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjMxMgorIzogYnVpbHRpbi9hbS5jOjIzMDcKIG1zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzE2CisjOiBidWlsdGluL2FtLmM6MjMxMQogbXNnaWQgImxpZSBhYm91dCBjb21taXR0ZXIgZGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjMxOAorIzogYnVpbHRpbi9hbS5jOjIzMTMKIG1zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIwIGJ1aWx0aW4vY29tbWl0LmM6MTYwOSBidWlsdGluL21lcmdlLmM6MjI4Ci0jOiBidWlsdGluL3B1bGwuYzoxNjQgYnVpbHRpbi9yZXZlcnQuYzo5MiBidWlsdGluL3RhZy5jOjM1NQorIzogYnVpbHRpbi9hbS5jOjIzMTUgYnVpbHRpbi9jb21taXQuYzoxNjA1IGJ1aWx0aW4vbWVyZ2UuYzoyMjkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NSBidWlsdGluL3JldmVydC5jOjkyIGJ1aWx0aW4vdGFnLmM6MzU1CiBtc2dpZCAia2V5LWlkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIxCisjOiBidWlsdGluL2FtLmM6MjMxNgogbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjQKKyM6IGJ1aWx0aW4vYW0uYzoyMzE5CiBtc2dpZCAiKGludGVybmFsIHVzZSBmb3IgZ2l0LXJlYmFzZSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMzkKKyM6IGJ1aWx0aW4vYW0uYzoyMzM0CiBtc2dpZCAiIgogIlRoZSAtYi8tLWJpbmFyeSBvcHRpb24gaGFzIGJlZW4gYSBuby1vcCBmb3IgbG9uZyB0aW1lLCBhbmRcbiIKICJpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSBkbyBub3QgdXNlIGl0IGFueW1vcmUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzQ2CisjOiBidWlsdGluL2FtLmM6MjM0MQogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjM2MQorIzogYnVpbHRpbi9hbS5jOjIzNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAlcyBzdGlsbCBleGlzdHMgYnV0IG1ib3ggZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzg1CisjOiBidWlsdGluL2FtLmM6MjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3RyYXkgJXMgZGlyZWN0b3J5IGZvdW5kLlxuIgogIlVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVtb3ZlIGl0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjM5MQorIzogYnVpbHRpbi9hbS5jOjIzODYKIG1zZ2lkICJSZXNvbHZlIG9wZXJhdGlvbiBub3QgaW4gcHJvZ3Jlc3MsIHdlIGFyZSBub3QgcmVzdW1pbmcuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo1OQorIzogYnVpbHRpbi9hcHBseS5jOjgKIG1zZ2lkICJnaXQgYXBwbHkgWzxvcHRpb25zPl0gWzxwYXRjaD4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzoxMTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjEyNgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjgxOAotIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo4MjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5MDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTQyCi0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5NDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjk0OQotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCBvbiBsaW5lICVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNDA2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTQ2MwotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNDgwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKLSJjb21wb25lbnQgKGxpbmUgJWQpIgotbXNnaWRfcGx1cmFsICIiCi0iZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCi0iY29tcG9uZW50cyAobGluZSAlZCkiCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY0NgotbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNjQ4Ci1tc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY3NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE3MTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE3MTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZGVsZXRlZCBmaWxlICVzIHN0aWxsIGhhcyBjb250ZW50cyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTcxNQotIywgYy1mb3JtYXQKLW1zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxODYxCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE4OTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyMDQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjIxMzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjE0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyNzc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mjg5NAotIywgYy1mb3JtYXQKLW1zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCi1tc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjkwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyOTEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgotIiUuKnMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI5MzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzAzMwotIywgYy1mb3JtYXQKLW1zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzAzOQotIywgYy1mb3JtYXQKLW1zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzA2MAotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzE4NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMyMjkgYnVpbHRpbi9hcHBseS5jOjMyNDAgYnVpbHRpbi9hcHBseS5jOjMyODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVhZCBvZiAlcyBmYWlsZWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMyMzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzI2NSBidWlsdGluL2FwcGx5LmM6MzQ4NwotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzM0NiBidWlsdGluL2FwcGx5LmM6MzUwMQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMzNTAgYnVpbHRpbi9hcHBseS5jOjM0OTMgYnVpbHRpbi9hcHBseS5jOjM1MTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMzU1IGJ1aWx0aW4vYXBwbHkuYzozNTA5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzQ1NwotbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM1MjYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IHdyb25nIHR5cGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM1MjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNjg3IGJ1aWx0aW4vYXBwbHkuYzozNjg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzQ0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc0NwotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzcyCi0jLCBjLWZvcm1hdAotbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc5MgotIywgYy1mb3JtYXQKLW1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc5NgotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM4MTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM5MDMgYnVpbHRpbi9jaGVja291dC5jOjIzMyBidWlsdGluL3Jlc2V0LmM6MTM1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwNDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA3OQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA4NAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGJhY2tpbmcgc3RvcmUgZm9yIG5ld2x5IGNyZWF0ZWQgZmlsZSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA4NyBidWlsdGluL2FwcGx5LmM6NDE5NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDEyMAotIywgYy1mb3JtYXQKLW1zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDE2OQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQyNTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQXBwbGllZCBwYXRjaCAlcyBjbGVhbmx5LiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI2NAotbXNnaWQgImludGVybmFsIGVycm9yIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MjY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKLW1zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKLW1zZ3N0clswXSAiIgotbXNnc3RyWzFdICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mjc3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI4NQotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQyOTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDMwMQotIywgYy1mb3JtYXQKLW1zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQzODcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiU2tpcHBlZCBwYXRjaCAnJXMnLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDM5NQotbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDQwNgotbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MDkKLW1zZ2lkICJkb24ndCBhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTEyCi1tc2dpZCAiYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUxNQotbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTE4Ci1tc2dpZCAiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyMAotbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyNAotbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjYKLW1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTI4Ci1tc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzMAotbXNnaWQgIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzMgotbXNnaWQgImFwcGx5IGEgcGF0Y2ggd2l0aG91dCB0b3VjaGluZyB0aGUgd29ya2luZyB0cmVlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTM0Ci1tc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzNgotbXNnaWQgImFsc28gYXBwbHkgdGhlIHBhdGNoICh1c2Ugd2l0aCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTM4Ci1tc2dpZCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU0MAotbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQzIGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjkgYnVpbHRpbi9scy1maWxlcy5jOjQyNQotbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQ1Ci1tc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQ3Ci1tc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NTAgYnVpbHRpbi9hcHBseS5jOjQ1NTMKLW1zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTU2Ci1tc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NTgKLW1zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2MAotbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTYyCi1tc2dpZCAiYWxsb3cgb3ZlcmxhcHBpbmcgaHVua3MiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NjUKLW1zZ2lkICJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2OAotbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU3MQotbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1OTMKLW1zZ2lkICItLTN3YXkgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2MDEKLW1zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NjA0Ci1tc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2MjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2FuJ3Qgb3BlbiBwYXRjaCAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NjM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgotbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDY0MyBidWlsdGluL2FwcGx5LmM6NDY1MwotIywgYy1mb3JtYXQKLW1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnc3RyWzBdICIiCi1tc2dzdHJbMV0gIiIKLQogIzogYnVpbHRpbi9hcmNoaXZlLmM6MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBhcmNoaXZlIGZpbGUgJyVzJyIKQEAgLTM0ODYsMTE2ICs0MjUxLDE2MiBAQAogbXNnaWQgIjxyZXYtb3B0cz4gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxNzgyCisjOiBidWlsdGluL2JsYW1lLmM6MTc4MQogbXNnaWQgIkJsYW1pbmcgbGluZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc3CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzMgorIzogYnVpbHRpbi9ibGFtZS5jOjI1NzgKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTMzCisjOiBidWlsdGluL2JsYW1lLmM6MjU3OQogbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzNAorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODAKIG1zZ2lkICJTaG93IHdvcmsgY29zdCBzdGF0aXN0aWNzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM1CisjOiBidWlsdGluL2JsYW1lLmM6MjU4MQogbXNnaWQgIkZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzNgorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODIKIG1zZ2lkICJTaG93IG91dHB1dCBzY29yZSBmb3IgYmxhbWUgZW50cmllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzNworIzogYnVpbHRpbi9ibGFtZS5jOjI1ODMKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGZpbGVuYW1lIChEZWZhdWx0OiBhdXRvKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzOAorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODQKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg1CiBtc2dpZCAiU2hvdyBpbiBhIGZvcm1hdCBkZXNpZ25lZCBmb3IgbWFjaGluZSBjb25zdW1wdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0MAorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODYKIG1zZ2lkICJTaG93IHBvcmNlbGFpbiBmb3JtYXQgd2l0aCBwZXItbGluZSBjb21taXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg3CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0MgorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODgKIG1zZ2lkICJTaG93IHJhdyB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg5CiBtc2dpZCAiU2hvdyBsb25nIGNvbW1pdCBTSEExIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ0CisjOiBidWlsdGluL2JsYW1lLmM6MjU5MAogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkxCiBtc2dpZCAiU2hvdyBhdXRob3IgZW1haWwgaW5zdGVhZCBvZiBuYW1lIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ2CisjOiBidWlsdGluL2JsYW1lLmM6MjU5MgogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ3CisjOiBidWlsdGluL2JsYW1lLmM6MjU5OQorbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgaW5kZW50LWJhc2VkIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjAwCittc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBibGFuay1saW5lLWJhc2VkIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjAyCiBtc2dpZCAiU3BlbmQgZXh0cmEgY3ljbGVzIHRvIGZpbmQgYmV0dGVyIG1hdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ4CisjOiBidWlsdGluL2JsYW1lLmM6MjYwMwogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0OQorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDQKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUwIGJ1aWx0aW4vYmxhbWUuYzoyNTUxCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNSBidWlsdGluL2JsYW1lLmM6MjYwNgogbXNnaWQgInNjb3JlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUwCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNQogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA2CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU1MgorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDcKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA3CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbi9ibGFtZS5jOjI2NTQKK21zZ2lkICItLXByb2dyZXNzIGNhbid0IGJlIHVzZWQgd2l0aCAtLWluY3JlbWVudGFsIG9yIHBvcmNlbGFpbiBmb3JtYXRzIgorbXNnc3RyICIiCisKICMuIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlIG1heGltdW0KICMuIGRpc3BsYXkgd2lkdGggZm9yIGEgcmVsYXRpdmUgdGltZXN0YW1wIGluICJnaXQgYmxhbWUiCiAjLiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMSBtb250aHMgYWdvIiwgd2hpY2gKICMuIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QgYW1vbmcgdmFyaW91cyBmb3JtcyBvZgogIy4gcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0IHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvcgogIy4gZmV3ZXIgZGlzcGxheSBjb2x1bW5zLgotIzogYnVpbHRpbi9ibGFtZS5jOjI2NDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNzAwCiBtc2dpZCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGluL2JsYW1lLmM6Mjc4MAorbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MDAKK21zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MDUKK21zZ2lkICItLXJldmVyc2UgYW5kIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgc3BlY2lmaWVkIGxhdGVzdCBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MzIKK21zZ2lkICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODQzCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6Mjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODczCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmUiCittc2dpZF9wbHVyYWwgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmVzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKwogIzogYnVpbHRpbi9icmFuY2guYzoyNgogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKIG1zZ3N0ciAiIgpAQCAtMzY4OSwxMTcgKzQ1MDAsMTIxIEBACiBtc2dpZCAiRGVsZXRlZCBicmFuY2ggJXMgKHdhcyAlcykuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogZ29uZV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslc10iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYmVoaW5kICVkXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyMQorIzogYnVpbHRpbi9icmFuY2guYzozMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2JlaGluZCAlZF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWRdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI3CisjOiBidWlsdGluL2JyYW5jaC5jOjMzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWRdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMwCisjOiBidWlsdGluL2JyYW5jaC5jOjMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMzCisjOiBidWlsdGluL2JyYW5jaC5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzozNDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzQ5CiBtc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjM3MgorIzogYnVpbHRpbi9icmFuY2guYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc1CisjOiBidWlsdGluL2JyYW5jaC5jOjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKICMuICJIRUFEIGRldGFjaGVkIGF0ICIgaW4gd3Qtc3RhdHVzLmMKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzgxCisjOiBidWlsdGluL2JyYW5jaC5jOjM4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKICMuICJIRUFEIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzkwCisjOiBidWlsdGluL2JyYW5jaC5jOjM5MwogbXNnaWQgIihubyBicmFuY2gpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQxCisjOiBidWlsdGluL2JyYW5jaC5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgcmViYXNlZCBhdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU0NQorIzogYnVpbHRpbi9icmFuY2guYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIGJpc2VjdGVkIGF0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYwCisjOiBidWlsdGluL2JyYW5jaC5jOjU2MwogbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTcwCisjOiBidWlsdGluL2JyYW5jaC5jOjU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGJyYW5jaCBuYW1lOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg3CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MAogbXNnaWQgIkJyYW5jaCByZW5hbWUgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkxCi0jLCBjLWZvcm1hdAotbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgotbXNnc3RyICIiCi0KICM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CiAjLCBjLWZvcm1hdAorbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk3CisjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA0CiBtc2dpZCAiQnJhbmNoIGlzIHJlbmFtZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIzCi1tc2dpZCAiY291bGQgbm90IHdyaXRlIGJyYW5jaCBkZXNjcmlwdGlvbiB0ZW1wbGF0ZSIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQbGVhc2UgZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2hcbiIKKyIgICVzXG4iCisiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgc3RyaXBwZWQuXG4iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9icmFuY2guYzo2NTEKQEAgLTM4MzAsNiArNDY0NSwxMCBAQAogbXNnaWQgImNoYW5nZSB0aGUgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGluL2JyYW5jaC5jOjY2MAorbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYxCiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICIiCkBAIC0zOTAyLDggKzQ3MjEsOCBAQAogbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDEKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDQgYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL25vdGVzLmM6NTY3CisjOiBidWlsdGluL2JyYW5jaC5jOjY4NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDcgYnVpbHRpbi9ub3Rlcy5jOjU2NyBidWlsdGluL25vdGVzLmM6NTcwCiAjOiBidWlsdGluL3RhZy5jOjM2OQogbXNnaWQgIm9iamVjdCIKIG1zZ3N0ciAiIgpAQCAtMzkxNiw3ICs0NzM1LDcgQEAKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2Nsb25lLmM6NzA3CisjOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2Nsb25lLmM6NzA2CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIiIKIApAQCAtNDAxOSw2MSArNDgzOCw3NSBAQAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDI4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTEzCiBtc2dpZCAiIgotImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXXwtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdfC1lfC1wfCIKLSI8dHlwZT58LS10ZXh0Y29udikgPG9iamVjdD4iCisiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLSIKKyJwIHwgPHR5cGU+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD08cGF0aD5dIDxvYmplY3Q+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0MjkKLW1zZ2lkICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxNAorbXNnaWQgIiIKKyJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIFstLXRleHRjb252IHwgLS0iCisiZmlsdGVyc10iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ2NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MQogbXNnaWQgIjx0eXBlPiBjYW4gYmUgb25lIG9mOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDY3CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTUyCiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDY4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTUzCiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDcwCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU1CiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTYKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDczCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU4CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MAorbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biBmaWx0ZXJzIG9uIG9iamVjdCdzIGNvbnRlbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MSBnaXQtc3VibW9kdWxlLnNoOjkyMworbXNnaWQgImJsb2IiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MgorbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjQKIG1zZ2lkICJhbGxvdyAtcyBhbmQgLXQgdG8gd29yayB3aXRoIGJyb2tlbi9jb3JydXB0IG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NQogbXNnaWQgImJ1ZmZlciAtLWJhdGNoIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDc4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY3CiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0ODEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzAKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ4NAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MwogbXNnaWQgImZvbGxvdyBpbi10cmVlIHN5bWxpbmtzICh1c2VkIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDg2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTc1CiBtc2dpZCAic2hvdyBhbGwgb2JqZWN0cyB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjayIKIG1zZ3N0ciAiIgogCkBAIC00MDkzLDcgKzQ5MjYsNyBAQAogbXNnaWQgInVzZSAuZ2l0YXR0cmlidXRlcyBvbmx5IGZyb20gdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk3CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIyIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAogbXNnaWQgInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIgogbXNnc3RyICIiCiAKQEAgLTQxMDEsNyArNDkzNCw3IEBACiBtc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTEzNSBidWlsdGluL2djLmM6MzI1CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM3IGJ1aWx0aW4vZ2MuYzozMjUKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIiIKIApAQCAtNDE5MSw5ICs1MDI0LDkgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0IGJ1aWx0aW4vY29sdW1uLmM6MzAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTAwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ2OQogbXNnaWQgInN0cmluZyIKIG1zZ3N0ciAiIgogCkBAIC00MjU5LDYzICs1MDkyLDU5IEBACiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzkgYnVpbHRpbi9jaGVja291dC5jOjQ3MwotbXNnaWQgImNvcnJ1cHQgaW5kZXggZmlsZSIKLW1zZ3N0ciAiIgotCiAjOiBidWlsdGluL2NoZWNrb3V0LmM6MzM5IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTQKIG1zZ2lkICJ5b3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjIyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjMKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjY0IGJ1aWx0aW4vY2xvbmUuYzo2NjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjcgYnVpbHRpbi9jbG9uZS5jOjY2MAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjY4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCi1tc2dzdHIgIiIKLQogIzogYnVpbHRpbi9jaGVja291dC5jOjY3MQogIywgYy1mb3JtYXQKK21zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQWxyZWFkeSBvbiAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3OQorIzogYnVpbHRpbi9jaGVja291dC5jOjY4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtNDMzMCw3ICs1MTU5LDcgQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIGtlZXAgaXQgYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgpAQCAtNDM0NywxNjIgKzUxNzYsMTYyIEBACiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzkyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk0CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IgaW4gcmV2aXNpb24gd2FsayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk4CiBtc2dpZCAiUHJldmlvdXMgSEVBRCBwb3NpdGlvbiB3YXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgyMyBidWlsdGluL2NoZWNrb3V0LmM6MTA2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjgyNSBidWlsdGluL2NoZWNrb3V0LmM6MTA2NAogbXNnaWQgIllvdSBhcmUgb24gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjk2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQsICVkIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwOCBidWlsdGluL3dvcmt0cmVlLmM6MjEyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxMCBidWlsdGluL3dvcmt0cmVlLmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAzNworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3OAogbXNnaWQgInBhdGhzIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDgzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4MSBidWlsdGluL2NoZWNrb3V0LmM6MTA4NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODkgYnVpbHRpbi9jaGVja291dC5jOjEwOTIgYnVpbHRpbi9jaGVja291dC5jOjEwOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOCBidWlsdGluL2Nsb25lLmM6ODgKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTY3IGJ1aWx0aW4vd29ya3RyZWUuYzozMjMKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQwIGJ1aWx0aW4vY2xvbmUuYzo5MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjUgYnVpbHRpbi9yZW1vdGUuYzoxNjcgYnVpbHRpbi93b3JrdHJlZS5jOjMyNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNgogbXNnaWQgImJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNworIzogYnVpbHRpbi9jaGVja291dC5jOjExMzkKIG1zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDEKIG1zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MgogbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDEKLW1zZ2lkICJkZXRhY2ggdGhlIEhFQUQgYXQgbmFtZWQgY29tbWl0IgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDMgYnVpbHRpbi93b3JrdHJlZS5jOjMyOAorbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKIG1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDYKIG1zZ2lkICJuZXctYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NgogbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDcKIG1zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CiBtc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUxCiBtc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCiBtc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTEgYnVpbHRpbi9tZXJnZS5jOjIzMAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMgYnVpbHRpbi9tZXJnZS5jOjIzMQogbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MiBidWlsdGluL2xvZy5jOjE0MzIgcGFyc2Utb3B0aW9ucy5oOjI1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTQgYnVpbHRpbi9sb2cuYzoxNDY2IHBhcnNlLW9wdGlvbnMuaDoyNTEKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MworIzogYnVpbHRpbi9jaGVja291dC5jOjExNTUKIG1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjIKIG1zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjEgYnVpbHRpbi9jbG9uZS5jOjYwIGJ1aWx0aW4vZmV0Y2guYzoxMTYKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjcgYnVpbHRpbi9wdWxsLmM6MTE2IGJ1aWx0aW4vcHVzaC5jOjUyNgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjMgYnVpbHRpbi9jbG9uZS5jOjYzIGJ1aWx0aW4vZmV0Y2guYzoxMTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjggYnVpbHRpbi9wdWxsLmM6MTE3IGJ1aWx0aW4vcHVzaC5jOjUzNgogIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk0CiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjA5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxMQogbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTYKIG1zZ2lkICJNaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUyCiBtc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS5cbiIKICJEaWQgeW91IGludGVuZCB0byBjaGVja291dCAnJXMnIHdoaWNoIGNhbiBub3QgYmUgcmVzb2x2ZWQgYXMgY29tbWl0PyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2OAogbXNnaWQgIiIKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKQEAgLTQ2MzIsOCArNTQ2MSw4IEBACiBtc2dpZCAicmVtb3ZlIHdob2xlIGRpcmVjdG9yaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9kZXNjcmliZS5jOjQwNyBidWlsdGluL2dyZXAuYzo3MjQKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTYgYnVpbHRpbi9uYW1lLXJldi5jOjMxNCBidWlsdGluL3Nob3ctcmVmLmM6MTgyCisjOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMgYnVpbHRpbi9zaG93LXJlZi5jOjE4MgogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgIiIKIApAQCAtNDY2OSwyOTAgKzU0OTgsMzA2IEBACiBtc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYyCisjOiBidWlsdGluL2Nsb25lLmM6NjUKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjMgYnVpbHRpbi9jbG9uZS5jOjY1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3MworIzogYnVpbHRpbi9jbG9uZS5jOjY2IGJ1aWx0aW4vY2xvbmUuYzo2OCBidWlsdGluL2luaXQtZGIuYzo0NzgKIG1zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY3CisjOiBidWlsdGluL2Nsb25lLmM6NzAKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MgogbXNnaWQgInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MQorIzogYnVpbHRpbi9jbG9uZS5jOjc0CiBtc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjczCisjOiBidWlsdGluL2Nsb25lLmM6NzYKIG1zZ2lkICJzZXR1cCBhcyBzaGFyZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzUgYnVpbHRpbi9jbG9uZS5jOjc3CisjOiBidWlsdGluL2Nsb25lLmM6NzggYnVpbHRpbi9jbG9uZS5jOjgwCiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MgogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGNsb25lZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODAgYnVpbHRpbi9pbml0LWRiLmM6NDcwCisjOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDc1CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MSBidWlsdGluL2luaXQtZGIuYzo0NzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NCBidWlsdGluL2luaXQtZGIuYzo0NzYKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDk4Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc3CisjOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jbG9uZS5jOjg4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MAogbXNnaWQgInVzZSAtLXJlZmVyZW5jZSBvbmx5IHdoaWxlIGNsb25pbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MgogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NAogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxCisjOiBidWlsdGluL2Nsb25lLmM6OTYKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MiBidWlsdGluL2ZldGNoLmM6MTE3IGJ1aWx0aW4vZ3JlcC5jOjY2NwotIzogYnVpbHRpbi9wdWxsLmM6MjAxCisjOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9mZXRjaC5jOjEyMCBidWlsdGluL2dyZXAuYzo2NjgKKyM6IGJ1aWx0aW4vcHVsbC5jOjIwMgogbXNnaWQgImRlcHRoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MworIzogYnVpbHRpbi9jbG9uZS5jOjk4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NQotbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6OTcKLW1zZ2lkICJhbnkgY2xvbmVkIHN1Ym1vZHVsZXMgd2lsbCBiZSBzaGFsbG93IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OCBidWlsdGluL2luaXQtZGIuYzo0NzkKLW1zZ2lkICJnaXRkaXIiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjk5IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MAotbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCisjOiBidWlsdGluL2Nsb25lLmM6OTkgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDgKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNDIKK21zZ2lkICJ0aW1lIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKK21zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIHNpbmNlIGEgc3BlY2lmaWMgdGltZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vZmV0Y2guYzoxMjQKK21zZ2lkICJyZXZpc2lvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMjUKK21zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIGJ5IGV4Y2x1ZGluZyByZXYiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwNAorbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTA2Cittc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTA3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NAorbXNnaWQgImdpdGRpciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTA4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQorbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwOQogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxCisjOiBidWlsdGluL2Nsb25lLmM6MTEwCiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIgYnVpbHRpbi9mZXRjaC5jOjEzMSBidWlsdGluL3B1c2guYzo1MzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9mZXRjaC5jOjE0MCBidWlsdGluL3B1c2guYzo1NDcKIG1zZ2lkICJ1c2UgSVB2NCBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA0IGJ1aWx0aW4vZmV0Y2guYzoxMzMgYnVpbHRpbi9wdXNoLmM6NTM4CisjOiBidWlsdGluL2Nsb25lLmM6MTEzIGJ1aWx0aW4vZmV0Y2guYzoxNDIgYnVpbHRpbi9wdXNoLmM6NTQ5CiBtc2dpZCAidXNlIElQdjYgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI0MQorIzogYnVpbHRpbi9jbG9uZS5jOjI1MAogbXNnaWQgIiIKICJObyBkaXJlY3RvcnkgbmFtZSBjb3VsZCBiZSBndWVzc2VkLlxuIgogIlBsZWFzZSBzcGVjaWZ5IGEgZGlyZWN0b3J5IG9uIHRoZSBjb21tYW5kIGxpbmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMwNworIzogYnVpbHRpbi9jbG9uZS5jOjMwMwogIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKK21zZ2lkICJpbmZvOiBDb3VsZCBub3QgYWRkIGFsdGVybmF0ZSBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzA5CisjOiBidWlsdGluL2Nsb25lLmM6Mzc1CiAjLCBjLWZvcm1hdAotbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzE0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6MzE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6Mzg0CisjOiBidWlsdGluL2Nsb25lLmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGV4aXN0cyBhbmQgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozOTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzozOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDIwCisjOiBidWlsdGluL2Nsb25lLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MjQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNvcHkgZmlsZSB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NDkgYnVpbHRpbi9jbG9uZS5jOjYzMworIzogYnVpbHRpbi9jbG9uZS5jOjQ0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJkb25lLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgogImFuZCByZXRyeSB0aGUgY2hlY2tvdXQgd2l0aCAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjUzOAorIzogYnVpbHRpbi9jbG9uZS5jOjUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjI4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eS4uLiAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjYzMQorIzogYnVpbHRpbi9jbG9uZS5jOjYzMgogbXNnaWQgInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Njk4CisjOiBidWlsdGluL2Nsb25lLmM6Njk3CiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MjgKIG1zZ2lkICJ1bmFibGUgdG8gY2hlY2tvdXQgd29ya2luZyB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NjgKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcGFyYW1ldGVycyB0byBjb25maWcgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMwCisjOiBidWlsdGluL2Nsb25lLmM6ODMxCiBtc2dpZCAiY2Fubm90IHJlcGFjayB0byBjbGVhbiB1cCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMyCisjOiBidWlsdGluL2Nsb25lLmM6ODMzCiBtc2dpZCAiY2Fubm90IHVubGluayB0ZW1wb3JhcnkgYWx0ZXJuYXRlcyBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjQgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxNzMxCisjOiBidWlsdGluL2Nsb25lLmM6ODY2IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2OAorIzogYnVpbHRpbi9jbG9uZS5jOjg3MAogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODc5CisjOiBidWlsdGluL2Nsb25lLmM6ODgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODgyCisjOiBidWlsdGluL2Nsb25lLmM6ODg2CiBtc2dpZCAiLS1iYXJlIGFuZCAtLXNlcGFyYXRlLWdpdC1kaXIgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5NQorIzogYnVpbHRpbi9jbG9uZS5jOjg5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkwMSBidWlsdGluL2ZldGNoLmM6MTE3NAorIzogYnVpbHRpbi9jbG9uZS5jOjkwNSBidWlsdGluL2ZldGNoLmM6MTMzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXB0aCAlcyBpcyBub3QgYSBwb3NpdGl2ZSBudW1iZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxMQorIzogYnVpbHRpbi9jbG9uZS5jOjkxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MzYgYnVpbHRpbi9jbG9uZS5jOjk0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTQ3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjIwIGJ1aWx0aW4vd29ya3RyZWUuYzoyNDcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NDAgYnVpbHRpbi9jbG9uZS5jOjk1MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjU3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjIyIGJ1aWx0aW4vd29ya3RyZWUuYzoyNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzOQorIzogYnVpbHRpbi9jbG9uZS5jOjk0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTU3CisjOiBidWlsdGluL2Nsb25lLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byBiYXJlIHJlcG9zaXRvcnkgJyVzJy4uLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTk4CisjOiBidWlsdGluL2Nsb25lLmM6OTYzCittc2dpZCAiIgorImNsb25lIC0tcmVjdXJzaXZlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYm90aCAtLXJlZmVyZW5jZSBhbmQgLS1yZWZlcmVuY2UtaWYtIgorImFibGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMTkKIG1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwMjEKK21zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIzCittc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDI2CiBtc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwNgorIzogYnVpbHRpbi9jbG9uZS5jOjEwMzEKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDU5IGJ1aWx0aW4vY2xvbmUuYzoxMDY3CisjOiBidWlsdGluL2Nsb25lLmM6MTA5MCBidWlsdGluL2Nsb25lLmM6MTA5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdGUgYnJhbmNoICVzIG5vdCBmb3VuZCBpbiB1cHN0cmVhbSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA3MAorIzogYnVpbHRpbi9jbG9uZS5jOjExMDEKIG1zZ2lkICJZb3UgYXBwZWFyIHRvIGhhdmUgY2xvbmVkIGFuIGVtcHR5IHJlcG9zaXRvcnkuIgogbXNnc3RyICIiCiAKQEAgLTUwNTUsNDMgKzU5MDAsNDMgQEAKICJ0aGUgcmVtYWluaW5nIGNvbW1pdHMuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzE4CiBtc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjM1OQogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzU0CisjOiBidWlsdGluL2NvbW1pdC5jOjM2NQogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzc4CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzgwCiBtc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBtYWluIGNhY2hlIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozOTMgYnVpbHRpbi9jb21taXQuYzo0MTYgYnVpbHRpbi9jb21taXQuYzo0NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDA0IGJ1aWx0aW4vY29tbWl0LmM6NDI3IGJ1aWx0aW4vY29tbWl0LmM6NDc2CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDQ3CisjOiBidWlsdGluL2NvbW1pdC5jOjQ1OAogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ0OQorIzogYnVpbHRpbi9jb21taXQuYzo0NjAKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDY5CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDc3CisjOiBidWlsdGluL2NvbW1pdC5jOjQ4OAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKIG1zZ3N0ciAiIgogCkBAIC01MTIwLDEyICs1OTY1LDEyIEBACiAiaW4gdGhlIGN1cnJlbnQgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2OTIgYnVpbHRpbi9jb21taXQuYzo3MjUgYnVpbHRpbi9jb21taXQuYzoxMDkxCisjOiBidWlsdGluL2NvbW1pdC5jOjY5MiBidWlsdGluL2NvbW1pdC5jOjcyNSBidWlsdGluL2NvbW1pdC5jOjEwOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDQgYnVpbHRpbi9zaG9ydGxvZy5jOjI4NQorIzogYnVpbHRpbi9jb21taXQuYzo3MDQgYnVpbHRpbi9zaG9ydGxvZy5jOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIocmVhZGluZyBsb2cgbWVzc2FnZSBmcm9tIHN0YW5kYXJkIGlucHV0KVxuIgogbXNnc3RyICIiCkBAIC01MjA1LDMyMiArNjA1MCwzMjYgQEAKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk0OQorIzogYnVpbHRpbi9jb21taXQuYzo5NTQKIG1zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk2NCBidWlsdGluL3RhZy5jOjI2NgorIzogYnVpbHRpbi9jb21taXQuYzo5NjkgYnVpbHRpbi90YWcuYzoyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2NgorIzogYnVpbHRpbi9jb21taXQuYzoxMDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYXV0aG9yICclcycgaXMgbm90ICdOYW1lIDxlbWFpbD4nIGFuZCBtYXRjaGVzIG5vIGV4aXN0aW5nIGF1dGhvciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwODEgYnVpbHRpbi9jb21taXQuYzoxMzIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEwODYgYnVpbHRpbi9jb21taXQuYzoxMzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAogbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NAogbXNnaWQgIlVzaW5nIGJvdGggLS1yZXNldC1hdXRob3IgYW5kIC0tYXV0aG9yIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTU3CisjOiBidWlsdGluL2NvbW1pdC5jOjExNjMKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTYyCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjgKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTcxCiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MQogbXNnaWQgIk9ubHkgb25lIG9mIC1jLy1DLy1GLy0tZml4dXAgY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3NworIzogYnVpbHRpbi9jb21taXQuYzoxMTgzCiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTkxCiBtc2dpZCAiLS1yZXNldC1hdXRob3IgY2FuIGJlIHVzZWQgb25seSB3aXRoIC1DLCAtYyBvciAtLWFtZW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwOAogbXNnaWQgIk9ubHkgb25lIG9mIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMAogbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMgogbXNnaWQgIkNsZXZlci4uLiBhbWVuZGluZyB0aGUgbGFzdCBvbmUgd2l0aCBkaXJ0eSBpbmRleC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMTQKIG1zZ2lkICJFeHBsaWNpdCBwYXRocyBzcGVjaWZpZWQgd2l0aG91dCAtaSBvciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyMCBidWlsdGluL3RhZy5jOjQ3NAorIzogYnVpbHRpbi9jb21taXQuYzoxMjI2IGJ1aWx0aW4vdGFnLmM6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNQorIzogYnVpbHRpbi9jb21taXQuYzoxMjMxCiBtc2dpZCAiUGF0aHMgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzUgYnVpbHRpbi9jb21taXQuYzoxNjIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDEgYnVpbHRpbi9jb21taXQuYzoxNjE3CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNyBidWlsdGluL2NvbW1pdC5jOjE2MjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MyBidWlsdGluL2NvbW1pdC5jOjE2MTkKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzkgYnVpbHRpbi9jb21taXQuYzoxNjI1IGJ1aWx0aW4vcHVzaC5jOjUxMgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQzNworIzogYnVpbHRpbi9jb21taXQuYzoxMzQ1Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDUgYnVpbHRpbi9jb21taXQuYzoxNjIxIGJ1aWx0aW4vcHVzaC5jOjUyMgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MAogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MiBidWlsdGluL2NvbW1pdC5jOjE2MjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OCBidWlsdGluL2NvbW1pdC5jOjE2MjMKIG1zZ2lkICJzaG93IHN0YXR1cyBpbiBsb25nIGZvcm1hdCAoZGVmYXVsdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQ1IGJ1aWx0aW4vY29tbWl0LmM6MTYzMAorIzogYnVpbHRpbi9jb21taXQuYzoxMzUxIGJ1aWx0aW4vY29tbWl0LmM6MTYyNgogbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NyBidWlsdGluL2NvbW1pdC5jOjE2MzMgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MQorIzogYnVpbHRpbi9jb21taXQuYzoxMzUzIGJ1aWx0aW4vY29tbWl0LmM6MTYyOSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgxCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg0IGJ1aWx0aW4vdGFnLmM6MzUzCiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9jb21taXQuYzoxNjMzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTQgYnVpbHRpbi9jb21taXQuYzoxNjI5CiBtc2dpZCAic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MQorIzogYnVpbHRpbi9jb21taXQuYzoxMzU3CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MiBwYXJzZS1vcHRpb25zLmg6MTU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTggcGFyc2Utb3B0aW9ucy5oOjE1NQogbXNnaWQgIndoZW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTkKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjEKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDM3CiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzOQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NAogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDkxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NwogbXNnaWQgInN1cHByZXNzIHN1bW1hcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1ODgKIG1zZ2lkICJzaG93IGRpZmYgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk0CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTAKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NSBidWlsdGluL3RhZy5jOjM1MQorIzogYnVpbHRpbi9jb21taXQuYzoxNTkxIGJ1aWx0aW4vdGFnLmM6MzUxCiBtc2dpZCAicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgogbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NyBidWlsdGluL2djLmM6MzI2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMgYnVpbHRpbi9nYy5jOjMyNgogbXNnaWQgImRhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMKIG1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk4IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9ub3Rlcy5jOjM5NQotIzogYnVpbHRpbi9ub3Rlcy5jOjU1OCBidWlsdGluL3RhZy5jOjM0OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk0IGJ1aWx0aW4vbWVyZ2UuYzoyMjAgYnVpbHRpbi9ub3Rlcy5jOjM5OAorIzogYnVpbHRpbi9ub3Rlcy5jOjU2MSBidWlsdGluL3RhZy5jOjM0OQogbXNnaWQgIm1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk4CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTQKIG1zZ2lkICJjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTkgYnVpbHRpbi9jb21taXQuYzoxNjAwIGJ1aWx0aW4vY29tbWl0LmM6MTYwMQotIzogYnVpbHRpbi9jb21taXQuYzoxNjAyIHBhcnNlLW9wdGlvbnMuaDoyNTYgcmVmLWZpbHRlci5oOjc5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTUgYnVpbHRpbi9jb21taXQuYzoxNTk2IGJ1aWx0aW4vY29tbWl0LmM6MTU5NworIzogYnVpbHRpbi9jb21taXQuYzoxNTk4IHBhcnNlLW9wdGlvbnMuaDoyNTcgcmVmLWZpbHRlci5oOjc5CiBtc2dpZCAiY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk1CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAwCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTYKIG1zZ2lkICJyZXVzZSBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NwogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTgKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQogbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA0IGJ1aWx0aW4vbG9nLmM6MTM4MiBidWlsdGluL3JldmVydC5jOjg2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDAgYnVpbHRpbi9sb2cuYzoxNDEzIGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKIG1zZ2lkICJhZGQgU2lnbmVkLW9mZi1ieToiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDEKIG1zZ2lkICJ1c2Ugc3BlY2lmaWVkIHRlbXBsYXRlIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDIKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMwogbXNnaWQgImRlZmF1bHQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA3IGJ1aWx0aW4vdGFnLmM6MzU0CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDMgYnVpbHRpbi90YWcuYzozNTQKIG1zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjA0CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjEwIGJ1aWx0aW4vbWVyZ2UuYzoyMjkgYnVpbHRpbi9wdWxsLmM6MTY1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDYgYnVpbHRpbi9tZXJnZS5jOjIzMCBidWlsdGluL3B1bGwuYzoxNjYKICM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTMKIG1zZ2lkICJHUEcgc2lnbiBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjEzCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDkKIG1zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMAogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMQogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMgogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNworIzogYnVpbHRpbi9jb21taXQuYzoxNjEzCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTkKLW1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBob29rIgorIzogYnVpbHRpbi9jb21taXQuYzoxNjE1Cittc2dpZCAiYnlwYXNzIHByZS1jb21taXQgYW5kIGNvbW1pdC1tc2cgaG9va3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjIwCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTYKIG1zZ2lkICJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMQorIzogYnVpbHRpbi9jb21taXQuYzoxNjI3CiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMgorIzogYnVpbHRpbi9jb21taXQuYzoxNjI4CiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNworIzogYnVpbHRpbi9jb21taXQuYzoxNjMzCiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNQogbXNnaWQgIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjY4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NjQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzE4CisjOiBidWlsdGluL2NvbW1pdC5jOjE3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxOQogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzQ0CisjOiBidWlsdGluL2NvbW1pdC5jOjE3MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc1NQorIzogYnVpbHRpbi9jb21taXQuYzoxNzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTgwOAorIzogYnVpbHRpbi9jb21taXQuYzoxODAyCiBtc2dpZCAiIgogIlJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgYW5kIHF1b3RhIGlzXG4iCkBAIC01NTMxLDEzOSArNjM4MCwxMzkgQEAKIG1zZ2lkICJnaXQgY29uZmlnIFs8b3B0aW9ucz5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTUKIG1zZ2lkICJDb25maWcgZmlsZSBsb2NhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjU2CiBtc2dpZCAidXNlIGdsb2JhbCBjb25maWcgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4CisjOiBidWlsdGluL2NvbmZpZy5jOjU3CiBtc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU5CisjOiBidWlsdGluL2NvbmZpZy5jOjU4CiBtc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2NvbmZpZy5jOjYwCiBtc2dpZCAiYmxvYi1pZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2NvbmZpZy5jOjYwCiBtc2dpZCAicmVhZCBjb25maWcgZnJvbSBnaXZlbiBibG9iIG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYyCisjOiBidWlsdGluL2NvbmZpZy5jOjYxCiBtc2dpZCAiQWN0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKIG1zZ2lkICJnZXQgdmFsdWU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY0CisjOiBidWlsdGluL2NvbmZpZy5jOjYzCiBtc2dpZCAiZ2V0IGFsbCB2YWx1ZXM6IGtleSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjQKIG1zZ2lkICJnZXQgdmFsdWVzIGZvciByZWdleHA6IG5hbWUtcmVnZXggW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY2CisjOiBidWlsdGluL2NvbmZpZy5jOjY1CiBtc2dpZCAiZ2V0IHZhbHVlIHNwZWNpZmljIGZvciB0aGUgVVJMOiBzZWN0aW9uWy52YXJdIFVSTCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY3CisjOiBidWlsdGluL2NvbmZpZy5jOjY2CiBtc2dpZCAicmVwbGFjZSBhbGwgbWF0Y2hpbmcgdmFyaWFibGVzOiBuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OAorIzogYnVpbHRpbi9jb25maWcuYzo2NwogbXNnaWQgImFkZCBhIG5ldyB2YXJpYWJsZTogbmFtZSB2YWx1ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5CisjOiBidWlsdGluL2NvbmZpZy5jOjY4CiBtc2dpZCAicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwCisjOiBidWlsdGluL2NvbmZpZy5jOjY5CiBtc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3MAogbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcyCisjOiBidWlsdGluL2NvbmZpZy5jOjcxCiBtc2dpZCAicmVtb3ZlIGEgc2VjdGlvbjogbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczCisjOiBidWlsdGluL2NvbmZpZy5jOjcyCiBtc2dpZCAibGlzdCBhbGwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NAorIzogYnVpbHRpbi9jb25maWcuYzo3MwogbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBjb25maWd1cmVkOiBzbG90IFtkZWZhdWx0XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc2CisjOiBidWlsdGluL2NvbmZpZy5jOjc1CiBtc2dpZCAiZmluZCB0aGUgY29sb3Igc2V0dGluZzogc2xvdCBbc3Rkb3V0LWlzLXR0eV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NworIzogYnVpbHRpbi9jb25maWcuYzo3NgogbXNnaWQgIlR5cGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OAorIzogYnVpbHRpbi9jb25maWcuYzo3NwogbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc5CisjOiBidWlsdGluL2NvbmZpZy5jOjc4CiBtc2dpZCAidmFsdWUgaXMgZGVjaW1hbCBudW1iZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MAorIzogYnVpbHRpbi9jb25maWcuYzo3OQogbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgxCisjOiBidWlsdGluL2NvbmZpZy5jOjgwCiBtc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgyCisjOiBidWlsdGluL2NvbmZpZy5jOjgxCiBtc2dpZCAiT3RoZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MworIzogYnVpbHRpbi9jb25maWcuYzo4MgogbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg0CisjOiBidWlsdGluL2NvbmZpZy5jOjgzCiBtc2dpZCAic2hvdyB2YXJpYWJsZSBuYW1lcyBvbmx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NgorIzogYnVpbHRpbi9jb25maWcuYzo4NQogbXNnaWQgInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzozMjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzI3CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGRlZmF1bHQgY29sb3IgdmFsdWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIjIFRoaXMgaXMgR2l0J3MgcGVyLXVzZXIgY29uZmlndXJhdGlvbiBmaWxlLlxuIgpAQCAtNTY3MywxNiArNjUyMiwyMyBAQAogIiNcdGVtYWlsID0gJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxNAorIzogYnVpbHRpbi9jb25maWcuYzo2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBjb25maWd1cmF0aW9uIGZpbGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6NzcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCisiICAgICAgIFVzZSBhIHJlZ2V4cCwgLS1hZGQgb3IgLS1yZXBsYWNlLWFsbCB0byBjaGFuZ2UgJXMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg2CiBtc2dpZCAiZ2l0IGNvdW50LW9iamVjdHMgWy12XSBbLUggfCAtLWh1bWFuLXJlYWRhYmxlXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NworIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTYKIG1zZ2lkICJwcmludCBzaXplcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQiCiBtc2dzdHIgIiIKIApAQCAtNTcwOSw3ICs2NTY1LDcgQEAKIG1zZ2lkICJ0YWcgJyVzJyBpcyByZWFsbHkgJyVzJyBoZXJlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTAgYnVpbHRpbi9sb2cuYzo0NjUKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTAgYnVpbHRpbi9sb2cuYzo0ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIiIKQEAgLTU3OTYsNyArNjY1Miw3IEBACiBtc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTAgYnVpbHRpbi9uYW1lLXJldi5jOjMyMAogbXNnaWQgInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIKIG1zZ3N0ciAiIgogCkBAIC01ODMwLDIxICs2Njg2LDIxIEBACiBtc2dpZCAiaW52YWxpZCBvcHRpb246ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM2MAorIzogYnVpbHRpbi9kaWZmLmM6MzYxCiBtc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDAzCisjOiBidWlsdGluL2RpZmYuYzo0MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDEyCisjOiBidWlsdGluL2RpZmYuYzo0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MTkKKyM6IGJ1aWx0aW4vZGlmZi5jOjQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmhhbmRsZWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICIiCkBAIC01OTAxLDI2MiArNjc1NywyNzUgQEAKIG1zZ2lkICJhbm9ueW1pemUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMAorIzogYnVpbHRpbi9mZXRjaC5jOjIxCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMQorIzogYnVpbHRpbi9mZXRjaC5jOjIyCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIDxncm91cD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIyCisjOiBidWlsdGluL2ZldGNoLmM6MjMKIG1zZ2lkICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wdGlvbnM+XSBbKDxyZXBvc2l0b3J5PiB8IDxncm91cD4pLi4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyNAogbXNnaWQgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIgYnVpbHRpbi9wdWxsLmM6MTc0CisjOiBidWlsdGluL2ZldGNoLmM6OTUgYnVpbHRpbi9wdWxsLmM6MTc1CiBtc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTQgYnVpbHRpbi9wdWxsLmM6MTc3CisjOiBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9wdWxsLmM6MTc4CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NiBidWlsdGluL3B1bGwuYzoxODAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OSBidWlsdGluL3B1bGwuYzoxODEKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vcHVsbC5jOjE4MgorIzogYnVpbHRpbi9mZXRjaC5jOjEwMCBidWlsdGluL3B1bGwuYzoxODMKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMgogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAxIGJ1aWx0aW4vcHVsbC5jOjE4NAorIzogYnVpbHRpbi9mZXRjaC5jOjEwNCBidWlsdGluL3B1bGwuYzoxODUKIG1zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDYKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNQorIzogYnVpbHRpbi9mZXRjaC5jOjEwOAogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGZldGNoZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNyBidWlsdGluL3B1bGwuYzoxODcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTAgYnVpbHRpbi9wdWxsLmM6MTg4CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwOCBidWlsdGluL3B1bGwuYzoxOTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MTkxCiBtc2dpZCAib24tZGVtYW5kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDkgYnVpbHRpbi9wdWxsLmM6MTkxCisjOiBidWlsdGluL2ZldGNoLmM6MTEyIGJ1aWx0aW4vcHVsbC5jOjE5MgogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMyBidWlsdGluL3B1bGwuYzoxOTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9wdWxsLmM6MjAwCiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNQorIzogYnVpbHRpbi9mZXRjaC5jOjExOAogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTggYnVpbHRpbi9wdWxsLmM6MjAyCisjOiBidWlsdGluL2ZldGNoLmM6MTIxIGJ1aWx0aW4vZmV0Y2guYzoxMjcgYnVpbHRpbi9wdWxsLmM6MjAzCiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIwIGJ1aWx0aW4vcHVsbC5jOjIwNQorIzogYnVpbHRpbi9mZXRjaC5jOjEyMworbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgcmVwb3NpdG9yeSBiYXNlZCBvbiB0aW1lIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjkgYnVpbHRpbi9wdWxsLmM6MjA2CiBtc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL2xvZy5jOjEzOTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzEgYnVpbHRpbi9sb2cuYzoxNDMzCiBtc2dpZCAiZGlyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUKIG1zZ2lkICJkZWZhdWx0IG1vZGUgZm9yIHJlY3Vyc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI4IGJ1aWx0aW4vcHVsbC5jOjIwOAorIzogYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL3B1bGwuYzoyMDkKIG1zZ2lkICJhY2NlcHQgcmVmcyB0aGF0IHVwZGF0ZSAuZ2l0L3NoYWxsb3ciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyOSBidWlsdGluL3B1bGwuYzoyMTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzggYnVpbHRpbi9wdWxsLmM6MjExCiBtc2dpZCAicmVmbWFwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzAgYnVpbHRpbi9wdWxsLmM6MjExCisjOiBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVsbC5jOjIxMgogbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozODYKKyM6IGJ1aWx0aW4vZmV0Y2guYzozOTgKIG1zZ2lkICJDb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDY2CisjOiBidWlsdGluL2ZldGNoLmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbmZpZ3VyYXRpb24gZmV0Y2gub3V0cHV0IGNvbnRhaW5zIGludmFsaWQgdmFsdWUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjYwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgbm90IGZvdW5kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0NzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MTEKIG1zZ2lkICJbdXAgdG8gZGF0ZV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ4NQotIywgYy1mb3JtYXQKLW1zZ2lkICIhICUtKnMgJS0qcyAtPiAlcyAgKGNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NDg2IGJ1aWx0aW4vZmV0Y2guYzo1NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjQgYnVpbHRpbi9mZXRjaC5jOjcwNAogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ5NworIzogYnVpbHRpbi9mZXRjaC5jOjYyNQorbXNnaWQgImNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzQKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ5OSBidWlsdGluL2ZldGNoLmM6NTM0IGJ1aWx0aW4vZmV0Y2guYzo1NTIKLW1zZ2lkICIgICh1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZikiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjUxNwotbXNnaWQgIltuZXcgdGFnXSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTIwCi1tc2dpZCAiW25ldyBicmFuY2hdIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MjMKLW1zZ2lkICJbbmV3IHJlZl0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjU2OQorIzogYnVpbHRpbi9mZXRjaC5jOjYzNSBidWlsdGluL2ZldGNoLmM6NjY4IGJ1aWx0aW4vZmV0Y2guYzo2ODQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2OTkKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTY5CisjOiBidWlsdGluL2ZldGNoLmM6NjU0Cittc2dpZCAiW25ldyB0YWddIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTcKK21zZ2lkICJbbmV3IGJyYW5jaF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjY2MAorbXNnaWQgIltuZXcgcmVmXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6Njk5CiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTc2Ci1tc2dpZCAiKG5vbi1mYXN0LWZvcndhcmQpIgorIzogYnVpbHRpbi9mZXRjaC5jOjcwNAorbXNnaWQgIm5vbi1mYXN0LWZvcndhcmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYxOQorIzogYnVpbHRpbi9mZXRjaC5jOjc0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYzNworIzogYnVpbHRpbi9mZXRjaC5jOjc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MjQgYnVpbHRpbi9mZXRjaC5jOjgxNgorIzogYnVpbHRpbi9mZXRjaC5jOjg1NiBidWlsdGluL2ZldGNoLmM6OTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKICIgJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIHRvIHJlbW92ZSBhbnkgb2xkLCBjb25mbGljdGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Nzg3CisjOiBidWlsdGluL2ZldGNoLmM6OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc4OAorIzogYnVpbHRpbi9mZXRjaC5jOjkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgaGFzIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgyMAorIzogYnVpbHRpbi9mZXRjaC5jOjk1NQogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODIxIGJ1aWx0aW4vcmVtb3RlLmM6MTAyNQorIzogYnVpbHRpbi9mZXRjaC5jOjk1NiBidWlsdGluL3JlbW90ZS5jOjEwMjAKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg0MQorIzogYnVpbHRpbi9mZXRjaC5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg2MAorIzogYnVpbHRpbi9mZXRjaC5jOjk5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgaXMgaWdub3JlZCBmb3IgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIwCisjOiBidWlsdGluL2ZldGNoLmM6MTA3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDgwCisjOiBidWlsdGluL2ZldGNoLmM6MTIzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDgyIGJ1aWx0aW4vcmVtb3RlLmM6OTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM5IGJ1aWx0aW4vcmVtb3RlLmM6OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTAwCisjOiBidWlsdGluL2ZldGNoLmM6MTI1NwogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTIzCisjOiBidWlsdGluL2ZldGNoLmM6MTI4MAogbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIyCittc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTMyNAorbXNnaWQgIi0tZGVlcGVuIGFuZCAtLWRlcHRoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEzMjkKIG1zZ2lkICItLWRlcHRoIGFuZCAtLXVuc2hhbGxvdyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE2NworIzogYnVpbHRpbi9mZXRjaC5jOjEzMzEKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4NworIzogYnVpbHRpbi9mZXRjaC5jOjEzNTMKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCB0YWtlIGEgcmVwb3NpdG9yeSBhcmd1bWVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4OQorIzogYnVpbHRpbi9mZXRjaC5jOjEzNTUKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlIG9yIHJlbW90ZSBncm91cDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMDgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzc0CiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICIiCiAKQEAgLTYxNjUsMjMgKzcwMzQsMjMgQEAKICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lc3NhZ2U+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA8ZmlsZT5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzCiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2CiBtc2dpZCAiYWxpYXMgZm9yIC0tbG9nIChkZXByZWNhdGVkKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzMKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2OQogbXNnaWQgInRleHQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc0CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKIG1zZ2lkICJ1c2UgPHRleHQ+IGFzIHN0YXJ0IG9mIG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc1CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzEKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAiIgogCkBAIC02MjQxLDYzICs3MTEwLDYzIEBACiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZzY2suYzoxNTYgYnVpbHRpbi9wcnVuZS5jOjE0MAotbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZzY2suYzo0ODYKKyM6IGJ1aWx0aW4vZnNjay5jOjUxOQogbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NTIKKyM6IGJ1aWx0aW4vZnNjay5jOjU4OAogbXNnaWQgImdpdCBmc2NrIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTU4CisjOiBidWlsdGluL2ZzY2suYzo1OTQKIG1zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTU5CisjOiBidWlsdGluL2ZzY2suYzo1OTUKIG1zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTYwCisjOiBidWlsdGluL2ZzY2suYzo1OTYKIG1zZ2lkICJyZXBvcnQgdGFncyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjEKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NwogbXNnaWQgInJlcG9ydCByb290IG5vZGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MgorIzogYnVpbHRpbi9mc2NrLmM6NTk4CiBtc2dpZCAibWFrZSBpbmRleCBvYmplY3RzIGhlYWQgbm9kZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTYzCisjOiBidWlsdGluL2ZzY2suYzo1OTkKIG1zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY0CisjOiBidWlsdGluL2ZzY2suYzo2MDAKIG1zZ2lkICJhbHNvIGNvbnNpZGVyIHBhY2tzIGFuZCBhbHRlcm5hdGUgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjUKKyM6IGJ1aWx0aW4vZnNjay5jOjYwMQogbXNnaWQgImNoZWNrIG9ubHkgY29ubmVjdGl2aXR5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2NgorIzogYnVpbHRpbi9mc2NrLmM6NjAyCiBtc2dpZCAiZW5hYmxlIG1vcmUgc3RyaWN0IGNoZWNraW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2OAorIzogYnVpbHRpbi9mc2NrLmM6NjA0CiBtc2dpZCAid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY5IGJ1aWx0aW4vcHJ1bmUuYzoxMDcKKyM6IGJ1aWx0aW4vZnNjay5jOjYwNSBidWlsdGluL3BydW5lLmM6MTA3CiBtc2dpZCAic2hvdyBwcm9ncmVzcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MzAKKyM6IGJ1aWx0aW4vZnNjay5jOjYwNgorbXNnaWQgInNob3cgdmVyYm9zZSBuYW1lcyBmb3IgcmVhY2hhYmxlIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NjY1CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCkBAIC02MzgxLDIyNCArNzI1MCwyMTkgQEAKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo0NTIgYnVpbHRpbi9ncmVwLmM6NDg3CisjOiBidWlsdGluL2dyZXAuYzo0NTMgYnVpbHRpbi9ncmVwLmM6NDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo1MDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjUwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ3JlcCBmcm9tIG9iamVjdCBvZiB0eXBlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjU2MAorIzogYnVpbHRpbi9ncmVwLmM6NTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInN3aXRjaCBgJWMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTc3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ncmVwLmM6NjQ2CisjOiBidWlsdGluL2dyZXAuYzo2NDcKIG1zZ2lkICJzZWFyY2ggaW4gaW5kZXggaW5zdGVhZCBvZiBpbiB0aGUgd29yayB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY0OAorIzogYnVpbHRpbi9ncmVwLmM6NjQ5CiBtc2dpZCAiZmluZCBpbiBjb250ZW50cyBub3QgbWFuYWdlZCBieSBnaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjUwCisjOiBidWlsdGluL2dyZXAuYzo2NTEKIG1zZ2lkICJzZWFyY2ggaW4gYm90aCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjUyCisjOiBidWlsdGluL2dyZXAuYzo2NTMKIG1zZ2lkICJpZ25vcmUgZmlsZXMgc3BlY2lmaWVkIHZpYSAnLmdpdGlnbm9yZSciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU1CisjOiBidWlsdGluL2dyZXAuYzo2NTYKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1OAogbXNnaWQgImNhc2UgaW5zZW5zaXRpdmUgbWF0Y2hpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU5CisjOiBidWlsdGluL2dyZXAuYzo2NjAKIG1zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2MgogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIHRleHQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjYzCisjOiBidWlsdGluL2dyZXAuYzo2NjQKIG1zZ2lkICJkb24ndCBtYXRjaCBwYXR0ZXJucyBpbiBiaW5hcnkgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY2CisjOiBidWlsdGluL2dyZXAuYzo2NjcKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY4CisjOiBidWlsdGluL2dyZXAuYzo2NjkKIG1zZ2lkICJkZXNjZW5kIGF0IG1vc3QgPGRlcHRoPiBsZXZlbHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjcyCisjOiBidWlsdGluL2dyZXAuYzo2NzMKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NgogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3OQogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4MQorIzogYnVpbHRpbi9ncmVwLmM6NjgyCiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NAorIzogYnVpbHRpbi9ncmVwLmM6Njg1CiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg1CisjOiBidWlsdGluL2dyZXAuYzo2ODYKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NwogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4OAorIzogYnVpbHRpbi9ncmVwLmM6Njg5CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MQogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MwogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5NQorIzogYnVpbHRpbi9ncmVwLmM6Njk2CiBtc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5NworIzogYnVpbHRpbi9ncmVwLmM6Njk4CiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMAogbXNnaWQgInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAwCisjOiBidWlsdGluL2dyZXAuYzo3MDEKIG1zZ2lkICJoaWdobGlnaHQgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMwogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNAorIzogYnVpbHRpbi9ncmVwLmM6NzA1CiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwOAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMAorIzogYnVpbHRpbi9ncmVwLmM6NzExCiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxMwogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNQogbXNnaWQgInVzZSA8bj4gd29ya2VyIHRocmVhZHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE1CisjOiBidWlsdGluL2dyZXAuYzo3MTYKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9ncmVwLmM6NzE5CiBtc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcyMQogbXNnaWQgInNob3cgdGhlIHN1cnJvdW5kaW5nIGZ1bmN0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyMworIzogYnVpbHRpbi9ncmVwLmM6NzI0CiBtc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2dyZXAuYzo3MjYKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI3CisjOiBidWlsdGluL2dyZXAuYzo3MjgKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczOQorIzogYnVpbHRpbi9ncmVwLmM6NzQwCiBtc2dpZCAiaW5kaWNhdGUgaGl0IHdpdGggZXhpdCBzdGF0dXMgd2l0aG91dCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQxCisjOiBidWlsdGluL2dyZXAuYzo3NDIKIG1zZ2lkICJzaG93IG9ubHkgbWF0Y2hlcyBmcm9tIGZpbGVzIHRoYXQgbWF0Y2ggYWxsIHBhdHRlcm5zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MworIzogYnVpbHRpbi9ncmVwLmM6NzQ0CiBtc2dpZCAic2hvdyBwYXJzZSB0cmVlIGZvciBncmVwIGV4cHJlc3Npb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQ3CisjOiBidWlsdGluL2dyZXAuYzo3NDgKIG1zZ2lkICJwYWdlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0OAogbXNnaWQgInNob3cgbWF0Y2hpbmcgZmlsZXMgaW4gdGhlIHBhZ2VyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc1MAorIzogYnVpbHRpbi9ncmVwLmM6NzUxCiBtc2dpZCAiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxMworIzogYnVpbHRpbi9ncmVwLmM6ODE0CiBtc2dpZCAibm8gcGF0dGVybiBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0NiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc1CisjOiBidWlsdGluL2dyZXAuYzo4NzYKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTAxCisjOiBidWlsdGluL2dyZXAuYzo5MDIKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXguIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwNgorIzogYnVpbHRpbi9ncmVwLmM6OTA3CiBtc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQorIzogYnVpbHRpbi9ncmVwLmM6OTEwCiBtc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkxNworIzogYnVpbHRpbi9ncmVwLmM6OTE4CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuLiIKIG1zZ3N0ciAiIgogCkBAIC02NjEyLDU1MiArNzQ3Niw1NTYgQEAKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjkzCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTQKIG1zZ2lkICJ0eXBlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5MworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CiBtc2dpZCAib2JqZWN0IHR5cGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTYKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NwogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CiBtc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCiBtc2dpZCAiIgogImp1c3QgaGFzaCBhbnkgcmFuZG9tIGdhcmJhZ2UgdG8gY3JlYXRlIGNvcnJ1cHQgb2JqZWN0cyBmb3IgZGVidWdnaW5nIEdpdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCiBtc2dpZCAicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDEKKyM6IGJ1aWx0aW4vaGVscC5jOjQyCiBtc2dpZCAicHJpbnQgYWxsIGF2YWlsYWJsZSBjb21tYW5kcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MgotbXNnaWQgInByaW50IGxpc3Qgb2YgdXNlZnVsIGd1aWRlcyIKLW1zZ3N0ciAiIgotCiAjOiBidWlsdGluL2hlbHAuYzo0MwotbXNnaWQgInNob3cgbWFuIHBhZ2UiCittc2dpZCAiZXhjbHVkZSBndWlkZXMiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9oZWxwLmM6NDQKLW1zZ2lkICJzaG93IG1hbnVhbCBpbiB3ZWIgYnJvd3NlciIKK21zZ2lkICJwcmludCBsaXN0IG9mIHVzZWZ1bCBndWlkZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oZWxwLmM6NDUKK21zZ2lkICJzaG93IG1hbiBwYWdlIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vaGVscC5jOjQ2Cittc2dpZCAic2hvdyBtYW51YWwgaW4gd2ViIGJyb3dzZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oZWxwLmM6NDgKIG1zZ2lkICJzaG93IGluZm8gcGFnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo1MgorIzogYnVpbHRpbi9oZWxwLmM6NTQKIG1zZ2lkICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8Y29tbWFuZD5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjY0CisjOiBidWlsdGluL2hlbHAuYzo2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVscCBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo5MQorIzogYnVpbHRpbi9oZWxwLmM6OTMKIG1zZ2lkICJGYWlsZWQgdG8gc3RhcnQgZW1hY3NjbGllbnQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEwNAorIzogYnVpbHRpbi9oZWxwLmM6MTA2CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjExMgorIzogYnVpbHRpbi9oZWxwLmM6MTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImVtYWNzY2xpZW50IHZlcnNpb24gJyVkJyB0b28gb2xkICg8IDIyKS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTMwIGJ1aWx0aW4vaGVscC5jOjE1MSBidWlsdGluL2hlbHAuYzoxNjAgYnVpbHRpbi9oZWxwLmM6MTY4CisjOiBidWlsdGluL2hlbHAuYzoxMzIgYnVpbHRpbi9oZWxwLmM6MTUzIGJ1aWx0aW4vaGVscC5jOjE2MiBidWlsdGluL2hlbHAuYzoxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGV4ZWMgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMDUKKyM6IGJ1aWx0aW4vaGVscC5jOjIwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogcGF0aCBmb3IgdW5zdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKICJQbGVhc2UgY29uc2lkZXIgdXNpbmcgJ21hbi48dG9vbD4uY21kJyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMTcKKyM6IGJ1aWx0aW4vaGVscC5jOjIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogY21kIGZvciBzdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKICJQbGVhc2UgY29uc2lkZXIgdXNpbmcgJ21hbi48dG9vbD4ucGF0aCcgaW5zdGVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzM0CisjOiBidWlsdGluL2hlbHAuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5rbm93biBtYW4gdmlld2VyLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTEKKyM6IGJ1aWx0aW4vaGVscC5jOjM1MwogbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTkKKyM6IGJ1aWx0aW4vaGVscC5jOjM2MQogbXNnaWQgIm5vIGluZm8gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA4CisjOiBidWlsdGluL2hlbHAuYzo0MDMKIG1zZ2lkICJEZWZpbmluZyBhdHRyaWJ1dGVzIHBlciBwYXRoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwOQorIzogYnVpbHRpbi9oZWxwLmM6NDA0CiBtc2dpZCAiRXZlcnlkYXkgR2l0IFdpdGggMjAgQ29tbWFuZHMgT3IgU28iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDEwCisjOiBidWlsdGluL2hlbHAuYzo0MDUKIG1zZ2lkICJBIEdpdCBnbG9zc2FyeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTEKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNgogbXNnaWQgIlNwZWNpZmllcyBpbnRlbnRpb25hbGx5IHVudHJhY2tlZCBmaWxlcyB0byBpZ25vcmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDEyCisjOiBidWlsdGluL2hlbHAuYzo0MDcKIG1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTMKKyM6IGJ1aWx0aW4vaGVscC5jOjQwOAogbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTQKKyM6IGJ1aWx0aW4vaGVscC5jOjQwOQogbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCAoZm9yIHZlcnNpb24gMS41LjEgb3IgbmV3ZXIpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxNQorIzogYnVpbHRpbi9oZWxwLmM6NDEwCiBtc2dpZCAiQW4gb3ZlcnZpZXcgb2YgcmVjb21tZW5kZWQgd29ya2Zsb3dzIHdpdGggR2l0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyNworIzogYnVpbHRpbi9oZWxwLmM6NDIyCiBtc2dpZCAiVGhlIGNvbW1vbiBHaXQgZ3VpZGVzIGFyZTpcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDggYnVpbHRpbi9oZWxwLmM6NDY1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVzYWdlOiAlcyVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaGVscC5jOjQ4MQorIzogYnVpbHRpbi9oZWxwLmM6NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImBnaXQgJXMnIGlzIGFsaWFzZWQgdG8gYCVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTIKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2MiBidWlsdGluL2hlbHAuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNhZ2U6ICVzJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCB0eXBlIG1pc21hdGNoIGF0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImRpZCBub3QgcmVjZWl2ZSBleHBlY3RlZCBvYmplY3QgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzOiBleHBlY3RlZCB0eXBlICVzLCBmb3VuZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmlsbCAlZCBieXRlIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgZmlsbCAlZCBieXRlcyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc5CiBtc2dpZCAiZWFybHkgRU9GIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgwCiBtc2dpZCAicmVhZCBlcnJvciBvbiBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MgogbXNnaWQgInVzZWQgbW9yZSBieXRlcyB0aGFuIHdlcmUgYXZhaWxhYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjk5CiBtc2dpZCAicGFjayB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiBvZmZfdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6OTIKK21zZ2lkICJwYWNrIGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIHNpemUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrZmlsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM2CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayB2ZXJzaW9uICU8UFJJdTMyPiB1bnN1cHBvcnRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozNTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM1NgogIywgYy1mb3JtYXQKLW1zZ2lkICJwYWNrIGhhcyBiYWQgb2JqZWN0IGF0IG9mZnNldCAlbHU6ICVzIgorbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICU8UFJJdU1BWD46ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluZmxhdGUgcmV0dXJuZWQgJWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjcKIG1zZ2lkICJvZmZzZXQgdmFsdWUgb3ZlcmZsb3cgZm9yIGRlbHRhIGJhc2Ugb2JqZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTM1CiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb2JqZWN0IHR5cGUgJWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzQKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc2CiAjLCBjLWZvcm1hdAotbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlbHUgYnl0ZSBtaXNzaW5nIgotbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJWx1IGJ5dGVzIG1pc3NpbmciCittc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgorbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTk3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo2MDIKIG1zZ2lkICJzZXJpb3VzIGluZmxhdGUgaW5jb25zaXN0ZW5jeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDMgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ5IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc3MgotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODA2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1NCBidWlsdGluL2luZGV4LXBhY2suYzo3NzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxMSBidWlsdGluL2luZGV4LXBhY2suYzo4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2MgotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1MSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODEyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0OAogbXNnaWQgIkVycm9yIGluIG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo5MTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6OTQ4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo5MjIgYnVpbHRpbi9pbmRleC1wYWNrLmM6OTUzCiBtc2dpZCAiZmFpbGVkIHRvIGFwcGx5IGRlbHRhIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjMKIG1zZ2lkICJSZWNlaXZpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTIzCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU1CiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjAKIG1zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MwogbXNnaWQgInBhY2sgaGFzIGp1bmsgYXQgdGhlIGVuZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc0CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk3CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUwCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5leHBlY3RlZCB0YWlsIGNoZWNrc3VtIGZvciAlcyAoZGlzayBjb3JydXB0aW9uPykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzkzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzk2CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUga2VlcCBmaWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDMwCiBtc2dpZCAiY2Fubm90IHN0b3JlIHBhY2sgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDM4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDQxCiBtc2dpZCAiY2Fubm90IHN0b3JlIGluZGV4IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODEgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY3OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4NCBidWlsdGluL2luZGV4LXBhY2suYzoxNjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU4OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3RzIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjM4Ci1tc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5MCBidWlsdGluL2luZGV4LXBhY2suYzoxNjkzCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzA1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxMiBidWlsdGluL2luZGV4LXBhY2suYzoxNzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzIzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzMyCiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0MAogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo2MQorIzogYnVpbHRpbi9pbml0LWRiLmM6NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgdGVtcGxhdGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo2NgorIzogYnVpbHRpbi9pbml0LWRiLmM6NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW5kaXIgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3NworIzogYnVpbHRpbi9pbml0LWRiLmM6NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NzkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzeW1saW5rICclcycgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4NQorIzogYnVpbHRpbi9pbml0LWRiLmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg5CisjOiBidWlsdGluL2luaXQtZGIuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyB0ZW1wbGF0ZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wbGF0ZXMgbm90IGZvdW5kICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNQorIzogYnVpbHRpbi9pbml0LWRiLmM6MTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBmcm9tICclcyc6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMxMiBidWlsdGluL2luaXQtZGIuYzozMTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MzQ0CisjOiBidWlsdGluL2luaXQtZGIuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzQ3CisjOiBidWlsdGluL2luaXQtZGIuYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgIiIKIAotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAnJXMnIGlzIGVpdGhlciAiUmVpbml0aWFsaXplZAotIy4gZXhpc3RpbmciIG9yICJJbml0aWFsaXplZCBlbXB0eSIsIHRoZSBzZWNvbmQgIiBzaGFyZWQiIG9yCi0jLiAiIiwgYW5kIHRoZSBsYXN0ICclcyVzJyBpcyB0aGUgdmVyYmF0aW0gZGlyZWN0b3J5IG5hbWUuCisjOiBidWlsdGluL2luaXQtZGIuYzozNDcgYnVpbHRpbi9pbml0LWRiLmM6MzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwMwogIywgYy1mb3JtYXQKLW1zZ2lkICIlcyVzIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NDA0Ci1tc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA0Ci1tc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkiCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDUKLW1zZ2lkICIgc2hhcmVkIgorIzogYnVpbHRpbi9pbml0LWRiLmM6NDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NTIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ1NwogbXNnaWQgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tIgogInNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDc1CisjOiBidWlsdGluL2luaXQtZGIuYzo0ODAKIG1zZ2lkICJwZXJtaXNzaW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NzYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQogbXNnaWQgInNwZWNpZnkgdGhhdCB0aGUgZ2l0IHJlcG9zaXRvcnkgaXMgdG8gYmUgc2hhcmVkIGFtb25nc3Qgc2V2ZXJhbCB1c2VycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MTAgYnVpbHRpbi9pbml0LWRiLmM6NTE1CisjOiBidWlsdGluL2luaXQtZGIuYzo1MTUgYnVpbHRpbi9pbml0LWRiLmM6NTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBta2RpciAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MTkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTQwCisjOiBidWlsdGluL2luaXQtZGIuYzo1NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzIChvciAtLXdvcmstdHJlZT08ZGlyZWN0b3J5Pikgbm90IGFsbG93ZWQgd2l0aG91dCBzcGVjaWZ5aW5nICVzIChvciAtLWdpdC0iCiAiZGlyPTxkaXJlY3Rvcnk+KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NjgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgYWNjZXNzIHdvcmsgdHJlZSAnJXMnIgogbXNnc3RyICIiCkBAIC03MTg4LDQyMiArODA1Niw0MjcgQEAKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDMKKyM6IGJ1aWx0aW4vbG9nLmM6NDQKIG1zZ2lkICJnaXQgbG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDQKKyM6IGJ1aWx0aW4vbG9nLmM6NDUKIG1zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjgzCisjOiBidWlsdGluL2xvZy5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgLS1kZWNvcmF0ZSBvcHRpb246ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM3CisjOiBidWlsdGluL2xvZy5jOjEzOQogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4CisjOiBidWlsdGluL2xvZy5jOjE0MAogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5CisjOiBidWlsdGluL2xvZy5jOjE0MQogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwCisjOiBidWlsdGluL2xvZy5jOjE0MgogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1CiBtc2dpZCAiUHJvY2VzcyBsaW5lIHJhbmdlIG4sbSBpbiBmaWxlLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoyMzkKKyM6IGJ1aWx0aW4vbG9nLmM6MjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjQ3MQorIzogYnVpbHRpbi9sb2cuYzo0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHNob3cgJXM6IGJhZCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDg1IGJ1aWx0aW4vbG9nLmM6NTc4CisjOiBidWlsdGluL2xvZy5jOjUwMCBidWlsdGluL2xvZy5jOjU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo2MDIKKyM6IGJ1aWx0aW4vbG9nLmM6NjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdHlwZTogJWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo3MjIKKyM6IGJ1aWx0aW4vbG9nLmM6NzM5CiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjgxMgorIzogYnVpbHRpbi9sb2cuYzo4MzkKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo4MjcKKyM6IGJ1aWx0aW4vbG9nLmM6ODU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIHBhdGNoIGZpbGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo4NDEKKyM6IGJ1aWx0aW4vbG9nLmM6ODY4CiBtc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo4NTEKKyM6IGJ1aWx0aW4vbG9nLmM6ODc4CiBtc2dpZCAiTm90IGEgcmFuZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTU3CisjOiBidWlsdGluL2xvZy5jOjk4NAogbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDM2CisjOiBidWlsdGluL2xvZy5jOjEwNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lIGluLXJlcGx5LXRvOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEwNjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTA5MQogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjExMDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTE0MQogbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxNiBidWlsdGluL2xvZy5jOjE4NTcgYnVpbHRpbi9sb2cuYzoxODU5IGJ1aWx0aW4vbG9nLmM6MTg3MQorIzogYnVpbHRpbi9sb2cuYzoxMjQ4IGJ1aWx0aW4vbG9nLmM6MTg5MSBidWlsdGluL2xvZy5jOjE4OTMgYnVpbHRpbi9sb2cuYzoxOTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIyNiBidWlsdGluL25vdGVzLmM6MjUzIGJ1aWx0aW4vbm90ZXMuYzozMDQKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMDYgYnVpbHRpbi9ub3Rlcy5jOjM2OSBidWlsdGluL25vdGVzLmM6NDI0Ci0jOiBidWlsdGluL25vdGVzLmM6NTEwIGJ1aWx0aW4vbm90ZXMuYzo1MTUgYnVpbHRpbi9ub3Rlcy5jOjU5MwotIzogYnVpbHRpbi9ub3Rlcy5jOjY1NiBidWlsdGluL25vdGVzLmM6ODgxIGJ1aWx0aW4vdGFnLmM6NDU1CisjOiBidWlsdGluL2xvZy5jOjEyNTggYnVpbHRpbi9ub3Rlcy5jOjg4NCBidWlsdGluL3RhZy5jOjQ1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2MwogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIzNQorIzogYnVpbHRpbi9sb2cuYzoxMjY3CiBtc2dpZCAiIgogIkZhaWxlZCB0byBnZXQgdXBzdHJlYW0sIGlmIHlvdSB3YW50IHRvIHJlY29yZCBiYXNlIGNvbW1pdCBhdXRvbWF0aWNhbGx5LFxuIgogInBsZWFzZSB1c2UgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byB0byB0cmFjayBhIHJlbW90ZSBicmFuY2guXG4iCiAiT3IgeW91IGNvdWxkIHNwZWNpZnkgYmFzZSBjb21taXQgYnkgLS1iYXNlPTxiYXNlLWNvbW1pdC1pZD4gbWFudWFsbHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1NQorIzogYnVpbHRpbi9sb2cuYzoxMjg3CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTI5OAogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZCBiZSB0aGUgYW5jZXN0b3Igb2YgcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTMwMgogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZG4ndCBiZSBpbiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMxOQorIzogYnVpbHRpbi9sb2cuYzoxMzUxCiBtc2dpZCAiY2Fubm90IGdldCBwYXRjaCBpZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQwOAogbXNnaWQgInVzZSBbUEFUQ0ggbi9tXSBldmVuIHdpdGggYSBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzgwCisjOiBidWlsdGluL2xvZy5jOjE0MTEKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEzODQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxNQogbXNnaWQgInByaW50IHBhdGNoZXMgdG8gc3RhbmRhcmQgb3V0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4NgorIzogYnVpbHRpbi9sb2cuYzoxNDE3CiBtc2dpZCAiZ2VuZXJhdGUgYSBjb3ZlciBsZXR0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg4CisjOiBidWlsdGluL2xvZy5jOjE0MTkKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg5CisjOiBidWlsdGluL2xvZy5jOjE0MjAKIG1zZ2lkICJzZngiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkwCisjOiBidWlsdGluL2xvZy5jOjE0MjEKIG1zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyMwogbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzk0CisjOiBidWlsdGluL2xvZy5jOjE0MjUKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzk2CisjOiBidWlsdGluL2xvZy5jOjE0MjcKK21zZ2lkICJVc2UgW1JGQyBQQVRDSF0gaW5zdGVhZCBvZiBbUEFUQ0hdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzMAogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzMwogbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNgogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwNQorIzogYnVpbHRpbi9sb2cuYzoxNDM5CiBtc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MQogbXNnaWQgIm91dHB1dCBhbGwtemVybyBoYXNoIGluIEZyb20gaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwOQorIzogYnVpbHRpbi9sb2cuYzoxNDQzCiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxMQorIzogYnVpbHRpbi9sb2cuYzoxNDQ1CiBtc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxMworIzogYnVpbHRpbi9sb2cuYzoxNDQ3CiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNAorIzogYnVpbHRpbi9sb2cuYzoxNDQ4CiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNQorIzogYnVpbHRpbi9sb2cuYzoxNDQ5CiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTYgYnVpbHRpbi9sb2cuYzoxNDE4CisjOiBidWlsdGluL2xvZy5jOjE0NTAgYnVpbHRpbi9sb2cuYzoxNDUyCiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE2CisjOiBidWlsdGluL2xvZy5jOjE0NTAKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MgogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMAorIzogYnVpbHRpbi9sb2cuYzoxNDU0CiBtc2dpZCAiaWRlbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIxCisjOiBidWlsdGluL2xvZy5jOjE0NTUKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMworIzogYnVpbHRpbi9sb2cuYzoxNDU3CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1OAogbXNnaWQgIm1ha2UgZmlyc3QgbWFpbCBhIHJlcGx5IHRvIDxtZXNzYWdlLWlkPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjUgYnVpbHRpbi9sb2cuYzoxNDI4CisjOiBidWlsdGluL2xvZy5jOjE0NTkgYnVpbHRpbi9sb2cuYzoxNDYyCiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI2CisjOiBidWlsdGluL2xvZy5jOjE0NjAKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyOQorIzogYnVpbHRpbi9sb2cuYzoxNDYzCiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NwogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNQorIzogYnVpbHRpbi9sb2cuYzoxNDY5CiBtc2dpZCAic2lnbmF0dXJlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNgorIzogYnVpbHRpbi9sb2cuYzoxNDcwCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNworIzogYnVpbHRpbi9sb2cuYzoxNDcxCiBtc2dpZCAiYmFzZS1jb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM4CisjOiBidWlsdGluL2xvZy5jOjE0NzIKIG1zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0MAorIzogYnVpbHRpbi9sb2cuYzoxNDc0CiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIGZyb20gYSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0MQorIzogYnVpbHRpbi9sb2cuYzoxNDc1CiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTU2NQogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzMKLW1zZ2lkICItLXN1YmplY3QtcHJlZml4IGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjE1NDEKLW1zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MwotbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjE1NDUKLW1zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9sb2cuYzoxNTczCi1tc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCisjOiBidWlsdGluL2xvZy5jOjE1NjcKK21zZ2lkICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2xvZy5jOjE1NzUKK21zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3NworbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE1NzkKK21zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNjA5Cittc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjcyCisjOiBidWlsdGluL2xvZy5jOjE3MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc2lnbmF0dXJlIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE3NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTc3NwogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTc5MgorIzogYnVpbHRpbi9sb2cuYzoxODI2CiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODQ2CisjOiBidWlsdGluL2xvZy5jOjE4ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzozNzgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTgKIG1zZ2lkICJnaXQgbHMtZmlsZXMgWzxvcHRpb25zPl0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQyNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUwNwogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQyOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOQogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MzEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTEKIG1zZ2lkICJzaG93IGNhY2hlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IChkZWZhdWx0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDMzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTEzCiBtc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNQogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDM3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE3CiBtc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MzkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTkKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDQyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTIyCiBtc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNAogbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0NgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZXMgb25seSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDQ4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI4CiBtc2dpZCAic2hvdyBsaW5lIGVuZGluZ3Mgb2YgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMAogbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1MworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMwogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDU1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM1CiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1NworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNwogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQwCiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NQogbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OAogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTEKK21zZ2lkICJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTQKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDczCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDc1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3CiBtc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKIG1zZ3N0ciAiIgogCkBAIC03Njg2LDE4NiArODU1OSwxNzIgQEAKIG1zZ2lkICJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAoaW1wbGllcyAtLWZ1bGwtbmFtZSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ1CisjOiBidWlsdGluL21lcmdlLmM6NDYKIG1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gWzxjb21taXQ+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NwogbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSA8bXNnPiBIRUFEIDxjb21taXQ+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NworIzogYnVpbHRpbi9tZXJnZS5jOjQ4CiBtc2dpZCAiZ2l0IG1lcmdlIC0tYWJvcnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwMQorIzogYnVpbHRpbi9tZXJnZS5jOjEwMgogbXNnaWQgInN3aXRjaCBgbScgcmVxdWlyZXMgYSB2YWx1ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCi1tc2dzdHIgIiIKLQogIzogYnVpbHRpbi9tZXJnZS5jOjEzOQogIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZmluZCBtZXJnZSBzdHJhdGVneSAnJXMnLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDAKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ0CisjOiBidWlsdGluL21lcmdlLmM6MTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF2YWlsYWJsZSBjdXN0b20gc3RyYXRlZ2llcyBhcmU6IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTQgYnVpbHRpbi9wdWxsLmM6MTI2CisjOiBidWlsdGluL21lcmdlLmM6MTk1IGJ1aWx0aW4vcHVsbC5jOjEyNwogbXNnaWQgImRvIG5vdCBzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE5NyBidWlsdGluL3B1bGwuYzoxMjkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTggYnVpbHRpbi9wdWxsLmM6MTMwCiBtc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTggYnVpbHRpbi9wdWxsLmM6MTMyCisjOiBidWlsdGluL21lcmdlLmM6MTk5IGJ1aWx0aW4vcHVsbC5jOjEzMwogbXNnaWQgIihzeW5vbnltIHRvIC0tc3RhdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMCBidWlsdGluL3B1bGwuYzoxMzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDEgYnVpbHRpbi9wdWxsLmM6MTM2CiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDMgYnVpbHRpbi9wdWxsLmM6MTM4CisjOiBidWlsdGluL21lcmdlLmM6MjA0IGJ1aWx0aW4vcHVsbC5jOjEzOQogbXNnaWQgImNyZWF0ZSBhIHNpbmdsZSBjb21taXQgaW5zdGVhZCBvZiBkb2luZyBhIG1lcmdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDUgYnVpbHRpbi9wdWxsLmM6MTQxCisjOiBidWlsdGluL21lcmdlLmM6MjA2IGJ1aWx0aW4vcHVsbC5jOjE0MgogbXNnaWQgInBlcmZvcm0gYSBjb21taXQgaWYgdGhlIG1lcmdlIHN1Y2NlZWRzIChkZWZhdWx0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA3IGJ1aWx0aW4vcHVsbC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDUKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwOAorIzogYnVpbHRpbi9tZXJnZS5jOjIwOQogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCAoZGVmYXVsdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxMCBidWlsdGluL3B1bGwuYzoxNTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTEgYnVpbHRpbi9wdWxsLmM6MTUxCiBtc2dpZCAiYWJvcnQgaWYgZmFzdC1mb3J3YXJkIGlzIG5vdCBwb3NzaWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE0Ci1tc2dpZCAiVmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgorIzogYnVpbHRpbi9tZXJnZS5jOjIxNSBidWlsdGluL3B1bGwuYzoxNTQKK21zZ2lkICJ2ZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNSBidWlsdGluL25vdGVzLmM6NzcxIGJ1aWx0aW4vcHVsbC5jOjE1NworIzogYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL25vdGVzLmM6Nzc0IGJ1aWx0aW4vcHVsbC5jOjE1OAogIzogYnVpbHRpbi9yZXZlcnQuYzo4OQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTYgYnVpbHRpbi9wdWxsLmM6MTU4CisjOiBidWlsdGluL21lcmdlLmM6MjE3IGJ1aWx0aW4vcHVsbC5jOjE1OQogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE3IGJ1aWx0aW4vcHVsbC5jOjE2MQorIzogYnVpbHRpbi9tZXJnZS5jOjIxOCBidWlsdGluL3B1bGwuYzoxNjIKIG1zZ2lkICJvcHRpb249dmFsdWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOCBidWlsdGluL3B1bGwuYzoxNjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9wdWxsLmM6MTYzCiBtc2dpZCAib3B0aW9uIGZvciBzZWxlY3RlZCBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIwCisjOiBidWlsdGluL21lcmdlLmM6MjIxCiBtc2dpZCAibWVyZ2UgY29tbWl0IG1lc3NhZ2UgKGZvciBhIG5vbi1mYXN0LWZvcndhcmQgbWVyZ2UpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjUKIG1zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjI2IGJ1aWx0aW4vcHVsbC5jOjE2OQorIzogYnVpbHRpbi9tZXJnZS5jOjIyNyBidWlsdGluL3B1bGwuYzoxNzAKIG1zZ2lkICJhbGxvdyBtZXJnaW5nIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NAorIzogYnVpbHRpbi9tZXJnZS5jOjI1NQogbXNnaWQgImNvdWxkIG5vdCBydW4gc3Rhc2guIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjAKIG1zZ2lkICJzdGFzaCBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2NAorIzogYnVpbHRpbi9tZXJnZS5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSB2YWxpZCBvYmplY3Q6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyODMgYnVpbHRpbi9tZXJnZS5jOjMwMAorIzogYnVpbHRpbi9tZXJnZS5jOjI4NCBidWlsdGluL21lcmdlLmM6MzAxCiBtc2dpZCAicmVhZC10cmVlIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzMwCisjOiBidWlsdGluL21lcmdlLmM6MzMxCiBtc2dpZCAiIChub3RoaW5nIHRvIHNxdWFzaCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM0MworIzogYnVpbHRpbi9tZXJnZS5jOjM0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJTcXVhc2ggY29tbWl0IC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM0NyBidWlsdGluL21lcmdlLmM6NzY3IGJ1aWx0aW4vbWVyZ2UuYzo5ODcKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDAwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNzUKLW1zZ2lkICJXcml0aW5nIFNRVUFTSF9NU0ciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjM3NwotbXNnaWQgIkZpbmlzaGluZyBTUVVBU0hfTVNHIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0MDAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2UgbWVzc2FnZSAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6NTQxCisjOiBidWlsdGluL21lcmdlLmM6NTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBicmFuY2guJXMubWVyZ2VvcHRpb25zIHN0cmluZzogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY2MAorIzogYnVpbHRpbi9tZXJnZS5jOjY1MgogbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY3NAorIzogYnVpbHRpbi9tZXJnZS5jOjY2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3NzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgZnJvbSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3ODUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgpAQCAtNzg3NSwxNjEgKzg3MzQsMTgzIEBACiAidGhlIGNvbW1pdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODE1CisjOiBidWlsdGluL21lcmdlLmM6NzcyCiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIGZhaWxlZDsgZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBjb21taXQgdGhlIHJlc3VsdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTA2CisjOiBidWlsdGluL21lcmdlLmM6ODYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDQKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0OQorIzogYnVpbHRpbi9tZXJnZS5jOjkwNgogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTUxCisjOiBidWlsdGluL21lcmdlLmM6OTA4CiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NTYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTA5MQorIzogYnVpbHRpbi9tZXJnZS5jOjk2MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjE5CisjOiBidWlsdGluL21lcmdlLmM6MTA2MQorIywgYy1mb3JtYXQKK21zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEwOTUKK21zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTE2MgogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIzNQorIzogYnVpbHRpbi9tZXJnZS5jOjExNzgKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjQyCisjOiBidWlsdGluL21lcmdlLmM6MTE4NQogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg4CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU0CisjOiBidWlsdGluL21lcmdlLmM6MTE5NwogbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjYyCisjOiBidWlsdGluL21lcmdlLmM6MTIwNQogbXNnaWQgIk5vIGNvbW1pdCBzcGVjaWZpZWQgYW5kIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG5vdCBzZXQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjc5CisjOiBidWlsdGluL21lcmdlLmM6MTIyMgogbXNnaWQgIlNxdWFzaCBjb21taXQgaW50byBlbXB0eSBoZWFkIG5vdCBzdXBwb3J0ZWQgeWV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjgxCisjOiBidWlsdGluL21lcmdlLmM6MTIyNAogbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg2CisjOiBidWlsdGluL21lcmdlLmM6MTIyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg4CisjOiBidWlsdGluL21lcmdlLmM6MTIzMQogbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYW4gdW50cnVzdGVkIEdQRyBzaWduYXR1cmUsIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzUwCisjOiBidWlsdGluL21lcmdlLmM6MTI5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzUzCisjOiBidWlsdGluL21lcmdlLmM6MTI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzU4CiBtc2dpZCAicmVmdXNpbmcgdG8gbWVyZ2UgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQzOQorIzogYnVpbHRpbi9tZXJnZS5jOjEzNjcKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc2CisjOiBidWlsdGluL21lcmdlLmM6MTQxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgcmVhbGx5IHRyaXZpYWwgaW4taW5kZXggbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ4MworIzogYnVpbHRpbi9tZXJnZS5jOjE0MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm9wZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUxNQorIzogYnVpbHRpbi9tZXJnZS5jOjE0NTAKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIFllZWFoISIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTQ1NgogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUzOCBidWlsdGluL21lcmdlLmM6MTYxNworIzogYnVpbHRpbi9tZXJnZS5jOjE0NzkgYnVpbHRpbi9tZXJnZS5jOjE1NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjA4CisjOiBidWlsdGluL21lcmdlLmM6MTU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBzdHJhdGVneSBoYW5kbGVkIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYxMAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzaW5nIHRoZSAlcyB0byBwcmVwYXJlIHJlc29sdmluZyBieSBoYW5kLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjMxCisjOiBidWlsdGluL21lcmdlLmM6MTU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICIiCkBAIC04MDU0LDIzICs4OTM1LDIzIEBACiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDxyZWY+IFs8Y29tbWl0Pl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE0CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTcKIG1zZ2lkICJvdXRwdXQgYWxsIGNvbW1vbiBhbmNlc3RvcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE2CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTkKIG1zZ2lkICJmaW5kIGFuY2VzdG9ycyBmb3IgYSBzaW5nbGUgbi13YXkgbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE4CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjEKIG1zZ2lkICJsaXN0IHJldnMgbm90IHJlYWNoYWJsZSBmcm9tIG90aGVycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjAKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMwogbXNnaWQgImlzIHRoZSBmaXJzdCBvbmUgYW5jZXN0b3Igb2YgdGhlIG90aGVyPyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjIKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNQogbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgogbXNnc3RyICIiCiAKQEAgLTgxMTIsNiArODk5MywzNyBAQAogbXNnaWQgInNldCBsYWJlbHMgZm9yIGZpbGUxL29yaWctZmlsZS9maWxlMiIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgYmFzZS4gSWdub3JpbmcgJXMuIgorbXNnaWRfcGx1cmFsICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlcy4gSWdub3JpbmcgJXMuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2MworbXNnaWQgIm5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2OSBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIHJlZiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVyZ2luZyAlcyB3aXRoICVzXG4iCittc2dzdHIgIiIKKwogIzogYnVpbHRpbi9ta3RyZWUuYzo2NQogbXNnaWQgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCiBtc2dzdHIgIiIKQEAgLTgxNTQsMTA5ICs5MDY2LDEwOSBAQAogbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNTIKKyM6IGJ1aWx0aW4vbXYuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gJyVzJyBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjE2MworIzogYnVpbHRpbi9tdi5jOjE2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjE2NworIzogYnVpbHRpbi9tdi5jOjE3MAogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjE3MAorIzogYnVpbHRpbi9tdi5jOjE3MwogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjE3MworIzogYnVpbHRpbi9tdi5jOjE3NgogbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjE4MgorIzogYnVpbHRpbi9tdi5jOjE4NQogbXNnaWQgInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjIwNworIzogYnVpbHRpbi9tdi5jOjIxMAogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjIxMAorIzogYnVpbHRpbi9tdi5jOjIxMwogbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MjE4CisjOiBidWlsdGluL212LmM6MjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjIyMQorIzogYnVpbHRpbi9tdi5jOjIyNAogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjIyNAorIzogYnVpbHRpbi9tdi5jOjIyNwogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MjI2CisjOiBidWlsdGluL212LmM6MjI5CiBtc2dpZCAiZGVzdGluYXRpb24gZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzMKKyM6IGJ1aWx0aW4vbXYuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjI1NAorIzogYnVpbHRpbi9tdi5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNjAgYnVpbHRpbi9yZW1vdGUuYzo3MTQgYnVpbHRpbi9yZXBhY2suYzozNjUKKyM6IGJ1aWx0aW4vbXYuYzoyNjMgYnVpbHRpbi9yZW1vdGUuYzo3MTAgYnVpbHRpbi9yZXBhY2suYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1NwogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU4CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tYWxsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNjAKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTkKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1zdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzEyCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzExCiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNAogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTYKIG1zZ2lkICJsaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTcKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAogbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzI1CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzI0CiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbiB0aGUgaW5wdXQgKGludGVybmFsIHVzZSkiCiBtc2dzdHIgIiIKIApAQCAtODM2NSw2ICs5Mjc3LDEwIEBACiBtc2dpZCAiZ2l0IG5vdGVzIGdldC1yZWYiCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbi9ub3Rlcy5jOjk0Cittc2dpZCAiV3JpdGUvZWRpdCB0aGUgbm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgb2JqZWN0OiIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGluL25vdGVzLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzdGFydCAnc2hvdycgZm9yIG9iamVjdCAnJXMnIgpAQCAtODM3OSwzNjYgKzkyOTUsNDU2IEBACiBtc2dpZCAiZmFpbGVkIHRvIGZpbmlzaCAnc2hvdycgZm9yIG9iamVjdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNzQgYnVpbHRpbi90YWcuYzoyNDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciCisjOiBidWlsdGluL25vdGVzLmM6MTk0Cittc2dpZCAicGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxOTMKLW1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBub3RlIGNvbnRlbnRzIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjIwMgorIzogYnVpbHRpbi9ub3Rlcy5jOjIwMwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBub3RlIG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjA0CisjOiBidWlsdGluL25vdGVzLmM6MjA1CiAjLCBjLWZvcm1hdAotbXNnaWQgIlRoZSBub3RlIGNvbnRlbnRzIGhhdmUgYmVlbiBsZWZ0IGluICVzIgorbXNnaWQgInRoZSBub3RlIGNvbnRlbnRzIGhhdmUgYmVlbiBsZWZ0IGluICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMzIgYnVpbHRpbi90YWcuYzo0MzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMzMgYnVpbHRpbi90YWcuYzo0MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjM0IGJ1aWx0aW4vdGFnLmM6NDQyCisjOiBidWlsdGluL25vdGVzLmM6MjM1IGJ1aWx0aW4vdGFnLmM6NDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjU2CisjOiBidWlsdGluL25vdGVzLmM6MjU0IGJ1aWx0aW4vbm90ZXMuYzozMDUgYnVpbHRpbi9ub3Rlcy5jOjMwNworIzogYnVpbHRpbi9ub3Rlcy5jOjM3MiBidWlsdGluL25vdGVzLmM6NDI3IGJ1aWx0aW4vbm90ZXMuYzo1MTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MTggYnVpbHRpbi9ub3Rlcy5jOjU5NiBidWlsdGluL25vdGVzLmM6NjU5CiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjYwCisjOiBidWlsdGluL25vdGVzLmM6MjU3CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCByZWFkIG5vdGUgZGF0YSBmcm9tIG5vbi1ibG9iIG9iamVjdCAnJXMnLiIKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBvYmplY3QgJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM2MiBidWlsdGluL25vdGVzLmM6NDE3IGJ1aWx0aW4vbm90ZXMuYzo0OTMKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDUgYnVpbHRpbi9ub3Rlcy5jOjU4MSBidWlsdGluL25vdGVzLmM6NjQ5Ci0jOiBidWlsdGluL25vdGVzLmM6OTQ2CisjOiBidWlsdGluL25vdGVzLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIG5vdGUgZGF0YSBmcm9tIG5vbi1ibG9iIG9iamVjdCAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGUgZmlyc3QgJXMgd2lsbCBiZSByZXBsYWNlZCBieSBhCisjLiBnaXQgbm90ZXMgY29tbWFuZDogJ2FkZCcsICdtZXJnZScsICdyZW1vdmUnLCBldGMuCisjOiBidWlsdGluL25vdGVzLmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvICVzIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MzY1IGJ1aWx0aW4vbm90ZXMuYzo0MjAgYnVpbHRpbi9ub3Rlcy5jOjQ5NgorIzogYnVpbHRpbi9ub3Rlcy5jOjUwOCBidWlsdGluL25vdGVzLmM6NTg0IGJ1aWx0aW4vbm90ZXMuYzo2NTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDIgYnVpbHRpbi9ub3Rlcy5jOjk0OSBidWlsdGluL25vdGVzLmM6OTcwCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1ldGVycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzc1IGJ1aWx0aW4vbm90ZXMuYzo2NjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjY2NQogIywgYy1mb3JtYXQKLW1zZ2lkICJObyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzozOTYgYnVpbHRpbi9ub3Rlcy5jOjU1OQotbXNnaWQgIm5vdGUgY29udGVudHMgYXMgYSBzdHJpbmciCittc2dpZCAibm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL25vdGVzLmM6Mzk5IGJ1aWx0aW4vbm90ZXMuYzo1NjIKLW1zZ2lkICJub3RlIGNvbnRlbnRzIGluIGEgZmlsZSIKK21zZ2lkICJub3RlIGNvbnRlbnRzIGFzIGEgc3RyaW5nIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQotbXNnaWQgInJldXNlIGFuZCBlZGl0IHNwZWNpZmllZCBub3RlIG9iamVjdCIKK21zZ2lkICJub3RlIGNvbnRlbnRzIGluIGEgZmlsZSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL25vdGVzLmM6NDA1IGJ1aWx0aW4vbm90ZXMuYzo1NjgKLW1zZ2lkICJyZXVzZSBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCittc2dpZCAicmV1c2UgYW5kIGVkaXQgc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQorbXNnaWQgInJldXNlIHNwZWNpZmllZCBub3RlIG9iamVjdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NDExIGJ1aWx0aW4vbm90ZXMuYzo1NzQKIG1zZ2lkICJhbGxvdyBzdG9yaW5nIGVtcHR5IG5vdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwOSBidWlsdGluL25vdGVzLmM6NDgwCisjOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo0ODMKIG1zZ2lkICJyZXBsYWNlIGV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBhZGQgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCiAiZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ0OSBidWlsdGluL25vdGVzLmM6NTI4CisjOiBidWlsdGluL25vdGVzLmM6NDUyIGJ1aWx0aW4vbm90ZXMuYzo1MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NjAgYnVpbHRpbi9ub3Rlcy5jOjYyMSBidWlsdGluL25vdGVzLmM6ODg2CisjOiBidWlsdGluL25vdGVzLmM6NDYzIGJ1aWx0aW4vbm90ZXMuYzo2MjQgYnVpbHRpbi9ub3Rlcy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDgxCisjOiBidWlsdGluL25vdGVzLmM6NDg0CiBtc2dpZCAicmVhZCBvYmplY3RzIGZyb20gc3RkaW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4MworIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NgogbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MDQKIG1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUyMgorIzogYnVpbHRpbi9ub3Rlcy5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGNvcHkgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCiAiZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzNAorIzogYnVpbHRpbi9ub3Rlcy5jOjUzNwogIywgYy1mb3JtYXQKLW1zZ2lkICJNaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKK21zZ2lkICJtaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTg2CisjOiBidWlsdGluL25vdGVzLmM6NTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgLW0vLUYvLWMvLUMgb3B0aW9ucyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlICdlZGl0JyBzdWJjb21tYW5kLlxuIgogIlBsZWFzZSB1c2UgJ2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUMnIGluc3RlYWQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc2OAorIzogYnVpbHRpbi9ub3Rlcy5jOjY4NQorbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjY4NworbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1JFRiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6Njg5Cittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnZ2l0IG5vdGVzIG1lcmdlJyB3b3JrdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NzA5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcxMQorbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTMKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcyNgorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIE5PVEVTX01FUkdFX1JFRiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NzI5Cittc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplIG5vdGVzIG1lcmdlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBub3RlcyBtZXJnZSBzdHJhdGVneSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NzcxCiBtc2dpZCAiR2VuZXJhbCBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzMKIG1zZ2lkICJNZXJnZSBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzUKIG1zZ2lkICIiCiAicmVzb2x2ZSBub3RlcyBjb25mbGljdHMgdXNpbmcgdGhlIGdpdmVuIHN0cmF0ZWd5IChtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vIgogImNhdF9zb3J0X3VuaXEpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzcKIG1zZ2lkICJDb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzkKIG1zZ2lkICJmaW5hbGl6ZSBub3RlcyBtZXJnZSBieSBjb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODU3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkEgbm90ZXMgbWVyZ2UgaW50byAlcyBpcyBhbHJlYWR5IGluLXByb2dyZXNzIGF0ICVzIgorIzogYnVpbHRpbi9ub3Rlcy5jOjc5NAorbXNnaWQgImNhbm5vdCBtaXggLS1jb21taXQsIC0tYWJvcnQgb3IgLXMvLS1zdHJhdGVneSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODg0CisjOiBidWlsdGluL25vdGVzLmM6Nzk5Cittc2dpZCAibXVzdCBzcGVjaWZ5IGEgbm90ZXMgcmVmIHRvIG1lcmdlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biAtcy8tLXN0cmF0ZWd5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgImEgbm90ZXMgbWVyZ2UgaW50byAlcyBpcyBhbHJlYWR5IGluLXByb2dyZXNzIGF0ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHN0b3JlIGxpbmsgdG8gY3VycmVudCBub3RlcyByZWYgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6ODY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJBdXRvbWF0aWMgbm90ZXMgbWVyZ2UgZmFpbGVkLiBGaXggY29uZmxpY3RzIGluICVzIGFuZCBjb21taXQgdGhlIHJlc3VsdCB3aXRoICIKKyInZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0Jywgb3IgYWJvcnQgdGhlIG1lcmdlIHdpdGggJ2dpdCBub3RlcyBtZXJnZSAtLSIKKyJhYm9ydCcuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODk2CisjOiBidWlsdGluL25vdGVzLmM6ODk5CiBtc2dpZCAiYXR0ZW1wdCB0byByZW1vdmUgbm9uLWV4aXN0ZW50IG5vdGUgaXMgbm90IGFuIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDIKIG1zZ2lkICJyZWFkIG9iamVjdCBuYW1lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTgwCisjOiBidWlsdGluL25vdGVzLmM6OTQwIGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyNworbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6OTQxCittc2dpZCAicmVwb3J0IHBydW5lZCBub3RlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6OTgzCiBtc2dpZCAibm90ZXMtcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODQKIG1zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTAxNiBidWlsdGluL3JlbW90ZS5jOjE2MjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDE5CiAjLCBjLWZvcm1hdAotbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOAotbXNnaWQgIiIKLSJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgorbXNnaWQgInVua25vd24gc3ViY29tbWFuZDogJXMiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOQogbXNnaWQgIiIKKyJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAKK21zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPG9wdGlvbnM+Li4uXSA8YmFzZS1uYW1lPiBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3NSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzYzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc2OAogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgcGFja3MgYXJlIHNwbGl0IGR1ZSB0byBwYWNrLnBhY2tTaXplTGltaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzgxCiBtc2dpZCAiV3JpdGluZyBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTAxNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMDcwCiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBhcyBzb21lIG9iamVjdHMgYXJlIG5vdCBiZWluZyBwYWNrZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTc3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzNDYKIG1zZ2lkICJDb21wcmVzc2luZyBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTY3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1OTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MwogbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU5OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk1CiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5NwogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAwCiBtc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAxCiBtc2dpZCAidmVyc2lvblssb2Zmc2V0XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMgogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjA5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDUKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA3CiBtc2dpZCAiaWdub3JlIGJvcnJvd2VkIG9iamVjdHMgZnJvbSBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA5CiBtc2dpZCAiaWdub3JlIHBhY2tlZCBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODExCiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxMwogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjE5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTUKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNwogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxOQogbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjI1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjEKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjI3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjMKIG1zZ2lkICJ1c2UgdGhyZWFkcyB3aGVuIHNlYXJjaGluZyBmb3IgYmVzdCBkZWx0YSBtYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI1CiBtc2dpZCAiZG8gbm90IGNyZWF0ZSBhbiBlbXB0eSBwYWNrIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyNwogbXNnaWQgInJlYWQgcmV2aXNpb24gYXJndW1lbnRzIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjMzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjkKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMgogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM1CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIGJ5IHJlZmxvZyBlbnRyaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM4CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIHRvIGJ5IHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0MQogbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0MwogbXNnaWQgImluY2x1ZGUgdGFnIG9iamVjdHMgdGhhdCByZWZlciB0byBvYmplY3RzIHRvIGJlIHBhY2tlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NQogbXNnaWQgImtlZXAgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTAgcGFyc2Utb3B0aW9ucy5oOjE0MgotbXNnaWQgInRpbWUiCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDcKK21zZ2lkICJwYWNrIGxvb3NlIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDkKIG1zZ2lkICJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1MgogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODU0CiBtc2dpZCAiY3JlYXRlIHBhY2tzIHN1aXRhYmxlIGZvciBzaGFsbG93IGZldGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTYKIG1zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODU4CiBtc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2MAogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODYyCiBtc2dpZCAidXNlIGEgYml0bWFwIGluZGV4IGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCBjb3VudGluZyBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODY0CiBtc2dpZCAid3JpdGUgYSBiaXRtYXAgaW5kZXggdG9nZXRoZXIgd2l0aCB0aGUgcGFjayBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk5MwogbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKIApAQCAtODc2NiwxNSArOTc3MiwxMSBAQAogbXNnaWQgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tZXhwaXJlIDx0aW1lPl0gWy0tXSBbPGhlYWQ+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTA1IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjUKLW1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wcnVuZS5jOjEwNiBidWlsdGluL3dvcmt0cmVlLmM6MTI2CisjOiBidWlsdGluL3BydW5lLmM6MTA2IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjgKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjEwOSBidWlsdGluL3dvcmt0cmVlLmM6MTI4CisjOiBidWlsdGluL3BydW5lLmM6MTA5IGJ1aWx0aW4vd29ya3RyZWUuYzoxMzAKIG1zZ2lkICJleHBpcmUgb2JqZWN0cyBvbGRlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAiIgogCkBAIC04NzgyLDczICs5Nzg0LDYyIEBACiBtc2dpZCAiY2Fubm90IHBydW5lIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjcyCisjOiBidWlsdGluL3B1bGwuYzo1MSBidWlsdGluL3B1bGwuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdWxsLmM6NzMKIG1zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMjAKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyMQogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBtZXJnaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEyMworIzogYnVpbHRpbi9wdWxsLmM6MTI0CiBtc2dpZCAiaW5jb3Jwb3JhdGUgY2hhbmdlcyBieSByZWJhc2luZyByYXRoZXIgdGhhbiBtZXJnaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE0NyBidWlsdGluL3JldmVydC5jOjEwNQorIzogYnVpbHRpbi9wdWxsLmM6MTQ4IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAxCiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1MwotbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1bGwuYzoxNTYKKyM6IGJ1aWx0aW4vcHVsbC5jOjE1NwogbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIgcmViYXNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE3MgorIzogYnVpbHRpbi9wdWxsLmM6MTczCiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIGZldGNoaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5NAorIzogYnVpbHRpbi9wdWxsLmM6MTk1CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgcHVsbGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjI4MworIzogYnVpbHRpbi9wdWxsLmM6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIHB1bGwuZmY6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjM3OQotbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1bGwuYzozODUKLW1zZ2lkICJBZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdWxsLmM6Mzg3Ci1tc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdWxsLmM6NDYzCisjOiBidWlsdGluL3B1bGwuYzozOTcKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm8gY2FuZGlkYXRlIGZvciByZWJhc2luZyBhZ2FpbnN0IGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgIgogImZldGNoZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ2NQorIzogYnVpbHRpbi9wdWxsLmM6Mzk5CiBtc2dpZCAiIgogIlRoZXJlIGFyZSBubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgZmV0Y2hlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDY2CisjOiBidWlsdGluL3B1bGwuYzo0MDAKIG1zZ2lkICIiCiAiR2VuZXJhbGx5IHRoaXMgbWVhbnMgdGhhdCB5b3UgcHJvdmlkZWQgYSB3aWxkY2FyZCByZWZzcGVjIHdoaWNoIGhhZCBub1xuIgogIm1hdGNoZXMgb24gdGhlIHJlbW90ZSBlbmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ2OQorIzogYnVpbHRpbi9wdWxsLmM6NDAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gcHVsbCBmcm9tIHRoZSByZW1vdGUgJyVzJywgYnV0IGRpZCBub3Qgc3BlY2lmeVxuIgpAQCAtODg1Niw1NyArOTg0Nyw2OSBAQAogImZvciB5b3VyIGN1cnJlbnQgYnJhbmNoLCB5b3UgbXVzdCBzcGVjaWZ5IGEgYnJhbmNoIG9uIHRoZSBjb21tYW5kIGxpbmUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3NCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCisjOiBidWlsdGluL3B1bGwuYzo0MDggZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MwogbXNnaWQgIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDc2IGJ1aWx0aW4vcHVsbC5jOjQ5MSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CisjOiBidWlsdGluL3B1bGwuYzo0MTAgYnVpbHRpbi9wdWxsLmM6NDI1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3OCBidWlsdGluL3B1bGwuYzo0OTMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgorIzogYnVpbHRpbi9wdWxsLmM6NDEyIGJ1aWx0aW4vcHVsbC5jOjQyNyBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIG1lcmdlIHdpdGguIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3OSBidWlsdGluL3B1bGwuYzo0OTQKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMyBidWlsdGluL3B1bGwuYzo0MjgKIG1zZ2lkICJTZWUgZ2l0LXB1bGwoMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ4MSBidWlsdGluL3B1bGwuYzo0ODcgYnVpbHRpbi9wdWxsLmM6NDk2CisjOiBidWlsdGluL3B1bGwuYzo0MTUgYnVpbHRpbi9wdWxsLmM6NDIxIGJ1aWx0aW4vcHVsbC5jOjQzMAogIzogZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NAogbXNnaWQgIjxyZW1vdGU+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ4MSBidWlsdGluL3B1bGwuYzo0OTYgYnVpbHRpbi9wdWxsLmM6NTAxCisjOiBidWlsdGluL3B1bGwuYzo0MTUgYnVpbHRpbi9wdWxsLmM6NDMwIGJ1aWx0aW4vcHVsbC5jOjQzNSBnaXQtcmViYXNlLnNoOjQ1MQogIzogZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NQogbXNnaWQgIjxicmFuY2g+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ4OSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CisjOiBidWlsdGluL3B1bGwuYzo0MjMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQogbXNnaWQgIlRoZXJlIGlzIG5vIHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ5OCBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CisjOiBidWlsdGluL3B1bGwuYzo0MzIgZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDoiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NTAzCisjOiBidWlsdGluL3B1bGwuYzo0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgY29uZmlndXJhdGlvbiBzcGVjaWZpZXMgdG8gbWVyZ2Ugd2l0aCB0aGUgcmVmICclcydcbiIKICJmcm9tIHRoZSByZW1vdGUsIGJ1dCBubyBzdWNoIHJlZiB3YXMgZmV0Y2hlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODY0CisjOiBidWlsdGluL3B1bGwuYzo3NTQKK21zZ2lkICJpZ25vcmluZyAtLXZlcmlmeS1zaWduYXR1cmVzIGZvciByZWJhc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdWxsLmM6ODAxCiBtc2dpZCAiLS1bbm8tXWF1dG9zdGFzaCBvcHRpb24gaXMgb25seSB2YWxpZCB3aXRoIC0tcmViYXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NzIKKyM6IGJ1aWx0aW4vcHVsbC5jOjgwOQogbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTAwCisjOiBidWlsdGluL3B1bGwuYzo4MTIKK21zZ2lkICJwdWxsIHdpdGggcmViYXNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjgxMworbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdWxsLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgpAQCAtODkxNCw3ICs5OTE3LDcgQEAKICJjb21taXQgJXMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwNQorIzogYnVpbHRpbi9wdWxsLmM6ODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgZmFzdC1mb3J3YXJkIHlvdXIgd29ya2luZyB0cmVlLlxuIgpAQCAtODkyNSwxMSArOTkyOCwxMSBAQAogInRvIHJlY292ZXIuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkyMAorIzogYnVpbHRpbi9wdWxsLmM6ODU4CiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTI0CisjOiBidWlsdGluL3B1bGwuYzo4NjIKIG1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMuIgogbXNnc3RyICIiCiAKQEAgLTkwNDksMTIgKzEwMDUyLDEyIEBACiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzY1CisjOiBidWlsdGluL3B1c2guYzozNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzozNjYKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NwogbXNnaWQgIiIKICJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCiAiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlICIKQEAgLTkwNjcsMTAzICsxMDA3MCwxMTUgQEAKICIgICAgZ2l0IHB1c2ggPG5hbWU+XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzgxCisjOiBidWlsdGluL3B1c2guYzozODUKIG1zZ2lkICItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzgyCisjOiBidWlsdGluL3B1c2guYzozODYKIG1zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4NworIzogYnVpbHRpbi9wdXNoLmM6MzkxCiBtc2dpZCAiLS1taXJyb3IgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4OAorIzogYnVpbHRpbi9wdXNoLmM6MzkyCiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzozOTMKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5NwogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUwNQorIzogYnVpbHRpbi9wdXNoLmM6NTE1CiBtc2dpZCAicmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1MDYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNiBidWlsdGluL3NlbmQtcGFjay5jOjE2MQogbXNnaWQgInB1c2ggYWxsIHJlZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA3IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCisjOiBidWlsdGluL3B1c2guYzo1MTcgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjMKIG1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA5CisjOiBidWlsdGluL3B1c2guYzo1MTkKIG1zZ2lkICJkZWxldGUgcmVmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1MTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyMAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1MTMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyMyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAogbXNnaWQgImZvcmNlIHVwZGF0ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CisjOiBidWlsdGluL3B1c2guYzo1MjUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKIG1zZ2lkICJyZWZuYW1lPjo8ZXhwZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxNiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgorIzogYnVpbHRpbi9wdXNoLmM6NTI2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CiBtc2dpZCAicmVxdWlyZSBvbGQgdmFsdWUgb2YgcmVmIHRvIGJlIGF0IHRoaXMgdmFsdWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE5CisjOiBidWlsdGluL3B1c2guYzo1MjkKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5CisjOiBidWlsdGluL3B1c2guYzo1MzEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKIG1zZ2lkICJ1c2UgdGhpbiBwYWNrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyMiBidWlsdGluL3B1c2guYzo1MjMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNTgKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzMiBidWlsdGluL3B1c2guYzo1MzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNTgKICM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU5CiBtc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI0CisjOiBidWlsdGluL3B1c2guYzo1MzQKIG1zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjcKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNwogbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyOQorIzogYnVpbHRpbi9wdXNoLmM6NTM5CiBtc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTMwCisjOiBidWlsdGluL3B1c2guYzo1NDAKIG1zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTMzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CisjOiBidWlsdGluL3B1c2guYzo1NDMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKIG1zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NSBidWlsdGluL3NlbmQtcGFjay5jOjE3MAogbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAic2VydmVyLXNwZWNpZmljIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NgorbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo1NjAKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1NTEKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2MgogbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3OQorbXNnaWQgInB1c2ggb3B0aW9ucyBtdXN0IG5vdCBoYXZlIG5ldyBsaW5lIGNoYXJhY3RlcnMiCittc2dzdHIgIiIKKwogIzogYnVpbHRpbi9yZWFkLXRyZWUuYzozNwogbXNnaWQgIiIKICJnaXQgcmVhZC10cmVlIFsoLW0gWy0tdHJpdmlhbF0gWy0tYWdncmVzc2l2ZV0gfCAtLXJlc2V0IHwgLS1wcmVmaXg9PHByZWZpeD4pICIKQEAgLTkyMzUsMTUgKzEwMjUwLDQ0IEBACiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjUKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjYKIG1zZ2lkICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE3MTkKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6NzkzCittc2dpZCAiIgorIkJ5IGRlZmF1bHQsIHVwZGF0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpbiBhIG5vbi1iYXJlIHJlcG9zaXRvcnlcbiIKKyJpcyBkZW5pZWQsIGJlY2F1c2UgaXQgd2lsbCBtYWtlIHRoZSBpbmRleCBhbmQgd29yayB0cmVlIGluY29uc2lzdGVudFxuIgorIndpdGggd2hhdCB5b3UgcHVzaGVkLCBhbmQgd2lsbCByZXF1aXJlICdnaXQgcmVzZXQgLS1oYXJkJyB0byBtYXRjaFxuIgorInRoZSB3b3JrIHRyZWUgdG8gSEVBRC5cbiIKKyJcbiIKKyJZb3UgY2FuIHNldCAncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0b1xuIgorIidpZ25vcmUnIG9yICd3YXJuJyBpbiB0aGUgcmVtb3RlIHJlcG9zaXRvcnkgdG8gYWxsb3cgcHVzaGluZyBpbnRvXG4iCisiaXRzIGN1cnJlbnQgYnJhbmNoOyBob3dldmVyLCB0aGlzIGlzIG5vdCByZWNvbW1lbmRlZCB1bmxlc3MgeW91XG4iCisiYXJyYW5nZWQgdG8gdXBkYXRlIGl0cyB3b3JrIHRyZWUgdG8gbWF0Y2ggd2hhdCB5b3UgcHVzaGVkIGluIHNvbWVcbiIKKyJvdGhlciB3YXkuXG4iCisiXG4iCisiVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UgYW5kIHN0aWxsIGtlZXAgdGhlIGRlZmF1bHQgYmVoYXZpb3VyLCBzZXRcbiIKKyIncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0byAncmVmdXNlJy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4MTMKK21zZ2lkICIiCisiQnkgZGVmYXVsdCwgZGVsZXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGlzIGRlbmllZCwgYmVjYXVzZSB0aGUgbmV4dFxuIgorIidnaXQgY2xvbmUnIHdvbid0IHJlc3VsdCBpbiBhbnkgZmlsZSBjaGVja2VkIG91dCwgY2F1c2luZyBjb25mdXNpb24uXG4iCisiXG4iCisiWW91IGNhbiBzZXQgJ3JlY2VpdmUuZGVueURlbGV0ZUN1cnJlbnQnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG9cbiIKKyInd2Fybicgb3IgJ2lnbm9yZScgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IGRlbGV0aW5nIHRoZVxuIgorImN1cnJlbnQgYnJhbmNoLCB3aXRoIG9yIHdpdGhvdXQgYSB3YXJuaW5nIG1lc3NhZ2UuXG4iCisiXG4iCisiVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UsIHlvdSBjYW4gc2V0IGl0IHRvICdyZWZ1c2UnLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4ODMKIG1zZ2lkICJxdWlldCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE3MzMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSBkaXJlY3RvcnkuIgogbXNnc3RyICIiCiAKQEAgLTkzODgsMTIgKzEwNDMyLDEyIEBACiBtc2dpZCAic3BlY2lmeWluZyBicmFuY2hlcyB0byB0cmFjayBtYWtlcyBzZW5zZSBvbmx5IHdpdGggZmV0Y2ggbWlycm9ycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5MCBidWlsdGluL3JlbW90ZS5jOjYzMworIzogYnVpbHRpbi9yZW1vdGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzo2MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlICVzIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5NCBidWlsdGluL3JlbW90ZS5jOjYzNworIzogYnVpbHRpbi9yZW1vdGUuYzoxOTQgYnVpbHRpbi9yZW1vdGUuYzo2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZW1vdGUgbmFtZSIKIG1zZ3N0ciAiIgpAQCAtOTQxNiwxNyArMTA0NjAsMTcgQEAKIG1zZ2lkICIoZGVsZXRlKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYyNiBidWlsdGluL3JlbW90ZS5jOjc2MSBidWlsdGluL3JlbW90ZS5jOjg1OAorIzogYnVpbHRpbi9yZW1vdGUuYzo2MjIgYnVpbHRpbi9yZW1vdGUuYzo3NTcgYnVpbHRpbi9yZW1vdGUuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGU6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjQzCisjOiBidWlsdGluL3JlbW90ZS5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVuYW1lIGNvbmZpZyBzZWN0aW9uICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY2MworIzogYnVpbHRpbi9yZW1vdGUuYzo2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vdCB1cGRhdGluZyBub24tZGVmYXVsdCBmZXRjaCByZWZzcGVjXG4iCkBAIC05NDM0LDE3ICsxMDQ3OCwxNyBAQAogIlx0UGxlYXNlIHVwZGF0ZSB0aGUgY29uZmlndXJhdGlvbiBtYW51YWxseSBpZiBuZWNlc3NhcnkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk5CisjOiBidWlsdGluL3JlbW90ZS5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjczMworIzogYnVpbHRpbi9yZW1vdGUuYzo3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3JlYXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3OTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzkyCiBtc2dpZCAiIgogIk5vdGU6IEEgYnJhbmNoIG91dHNpZGUgdGhlIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IHdhcyBub3QgcmVtb3ZlZDtcbiIKICJ0byBkZWxldGUgaXQsIHVzZToiCkBAIC05NDU0LDM2MCArMTA0OTgsMzgzIEBACiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgxMAorIzogYnVpbHRpbi9yZW1vdGUuYzo4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTExCisjOiBidWlsdGluL3JlbW90ZS5jOjkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIgbmV3IChuZXh0IGZldGNoIHdpbGwgc3RvcmUgaW4gcmVtb3Rlcy8lcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEwCiBtc2dpZCAiIHRyYWNrZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEyCiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE0CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk1OQorIzogYnVpbHRpbi9yZW1vdGUuYzo5NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBicmFuY2guJXMubWVyZ2U7IGNhbm5vdCByZWJhc2Ugb250byA+IDEgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjk2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgb250byByZW1vdGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3MgotbXNnaWQgIiAgICBhbmQgd2l0aCByZW1vdGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NQotbXNnaWQgIiAgIGFuZCB3aXRoIHJlbW90ZSIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtKnMgICAgYW5kIHdpdGggcmVtb3RlICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMTYKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMTkKIG1zZ2lkICJkZWxldGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjMKIG1zZ2lkICJ1cCB0byBkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE0CiBtc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjExNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjExNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0OCBidWlsdGluL3JlbW90ZS5jOjEzMDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MyBidWlsdGluL3JlbW90ZS5jOjExNTYgYnVpbHRpbi9yZW1vdGUuYzoxMjk1CiBtc2dpZCAiKG5vIFVSTCkiCiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiAnOicgc2hvdWxkIGFsaWduIHdpdGgKICMuIHRoZSBvbmUgaW4gIiAgRmV0Y2ggVVJMOiAlcyIgdHJhbnNsYXRpb24KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OSBidWlsdGluL3JlbW90ZS5jOjExNjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NCBidWlsdGluL3JlbW90ZS5jOjExNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBQdXNoICBVUkw6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MyBidWlsdGluL3JlbW90ZS5jOjExNjUgYnVpbHRpbi9yZW1vdGUuYzoxMTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTggYnVpbHRpbi9yZW1vdGUuYzoxMTYwIGJ1aWx0aW4vcmVtb3RlLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OAorbXNnaWQgIihub3QgcXVlcmllZCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYwCittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiICBIRUFEIGJyYW5jaCAocmVtb3RlIEhFQUQgaXMgYW1iaWd1b3VzLCBtYXkgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcpOlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUmVtb3RlIGJyYW5jaDolcyIKIG1zZ2lkX3BsdXJhbCAiICBSZW1vdGUgYnJhbmNoZXM6JXMiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExODQgYnVpbHRpbi9yZW1vdGUuYzoxMjExCisjOiBidWlsdGluL3JlbW90ZS5jOjExNzkgYnVpbHRpbi9yZW1vdGUuYzoxMjA1CiBtc2dpZCAiIChzdGF0dXMgbm90IHF1ZXJpZWQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5MworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg4CiBtc2dpZCAiICBMb2NhbCBicmFuY2ggY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgYnJhbmNoZXMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NgogbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBMb2NhbCByZWYgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCByZWZzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMwogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyNQogbXNnaWQgImRlbGV0ZSByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDAKIG1zZ2lkICJDYW5ub3QgZGV0ZXJtaW5lIHJlbW90ZSBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQyCiBtc2dpZCAiTXVsdGlwbGUgcmVtb3RlIEhFQUQgYnJhbmNoZXMuIFBsZWFzZSBjaG9vc2Ugb25lIGV4cGxpY2l0bHkgd2l0aDoiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjU4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyBoYXMgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcnVuaW5nICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVSTDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE0CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzNjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM1NgogbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDI1IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OSBidWlsdGluL3JlbW90ZS5jOjE1NDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQxOSBidWlsdGluL3JlbW90ZS5jOjE0NzMgYnVpbHRpbi9yZW1vdGUuYzoxNTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0MzUKIG1zZ2lkICJhZGQgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQyCiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NjUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ1OQogbXNnaWQgInF1ZXJ5IHB1c2ggVVJMcyByYXRoZXIgdGhhbiBmZXRjaCBVUkxzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYxCiBtc2dpZCAicmV0dXJuIGFsbCBVUkxzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MTUKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNwogbXNnaWQgImFkZCBVUkwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MTkKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNgogbXNnaWQgIi0tYWRkIC0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc3CiBtc2dpZCAiV2lsbCBub3QgZGVsZXRlIGFsbCBub24tcHVzaCBVUkxzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkxCiBtc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGluL3JlcGFjay5jOjE3CiBtc2dpZCAiZ2l0IHJlcGFjayBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE1OQorIzogYnVpbHRpbi9yZXBhY2suYzoxNjAKIG1zZ2lkICJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2MQorIzogYnVpbHRpbi9yZXBhY2suYzoxNjIKIG1zZ2lkICJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY0CisjOiBidWlsdGluL3JlcGFjay5jOjE2NQogbXNnaWQgInJlbW92ZSByZWR1bmRhbnQgcGFja3MsIGFuZCBydW4gZ2l0LXBydW5lLXBhY2tlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2NgorIzogYnVpbHRpbi9yZXBhY2suYzoxNjcKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2OAorIzogYnVpbHRpbi9yZXBhY2suYzoxNjkKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcxCiBtc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTczCisjOiBidWlsdGluL3JlcGFjay5jOjE3NAogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc1CisjOiBidWlsdGluL3JlcGFjay5jOjE3NgogbXNnaWQgIndyaXRlIGJpdG1hcCBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NgorIzogYnVpbHRpbi9yZXBhY2suYzoxNzcKIG1zZ2lkICJhcHByb3hpZGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NworIzogYnVpbHRpbi9yZXBhY2suYzoxNzgKIG1zZ2lkICJ3aXRoIC1BLCBkbyBub3QgbG9vc2VuIG9iamVjdHMgb2xkZXIgdGhhbiB0aGlzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc5CisjOiBidWlsdGluL3JlcGFjay5jOjE4MAorbXNnaWQgIndpdGggLWEsIHJlcGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgyCiBtc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgwIGJ1aWx0aW4vcmVwYWNrLmM6MTg0CisjOiBidWlsdGluL3JlcGFjay5jOjE4MyBidWlsdGluL3JlcGFjay5jOjE4NwogbXNnaWQgImJ5dGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgxCisjOiBidWlsdGluL3JlcGFjay5jOjE4NAogbXNnaWQgInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgzCisjOiBidWlsdGluL3JlcGFjay5jOjE4NgogbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NQorIzogYnVpbHRpbi9yZXBhY2suYzoxODgKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NworIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKIG1zZ2lkICJyZXBhY2sgb2JqZWN0cyBpbiBwYWNrcyBtYXJrZWQgd2l0aCAua2VlcCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE5NworIzogYnVpbHRpbi9yZXBhY2suYzoyMDAKIG1zZ2lkICJjYW5ub3QgZGVsZXRlIHBhY2tzIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzgxCisjOiBidWlsdGluL3JlcGFjay5jOjIwNAorbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLUEgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjM5MSBidWlsdGluL3dvcmt0cmVlLmM6MTE1CiAjLCBjLWZvcm1hdAotbXNnaWQgInJlbW92aW5nICclcycgZmFpbGVkIgorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL3JlcGxhY2UuYzoxOQpAQCAtOTkwOCw3ICsxMDk3NSw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9yZXNldC5jOjI3Ci1tc2dpZCAiZ2l0IHJlc2V0IFstcV0gPHRyZWUtaXNoPiBbLS1dIDxwYXRocz4uLi4iCittc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL3Jlc2V0LmM6MjgKQEAgLTEwMDI3LDI3ICsxMTA5NCwyNyBAQAogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1MAorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1NAogbXNnaWQgInJldi1saXN0IGRvZXMgbm90IHN1cHBvcnQgZGlzcGxheSBvZiBub3RlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM1OAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozODYKIG1zZ2lkICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjMKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzkxCiBtc2dpZCAia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzY1CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5MwogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2OAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTYKIG1zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDk5CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjUyNwogbXNnaWQgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl1cbiIKICIgICBvcjogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8YXJnPi4uLl1cbiIKQEAgLTEwMTEzLDMxICsxMTE4MCwyNyBAQAogbXNnaWQgIm9wdGlvbiBmb3IgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAwCiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CisjOiBidWlsdGluL3JldmVydC5jOjEwMgogbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3CisjOiBidWlsdGluL3JldmVydC5jOjEwMwogbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwOAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMgotbXNnaWQgInByb2dyYW0gZXJyb3IiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXZlcnQuYzoxOTcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTkyCiBtc2dpZCAicmV2ZXJ0IGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIxMgorIzogYnVpbHRpbi9yZXZlcnQuYzoyMDUKIG1zZ2lkICJjaGVycnktcGljayBmYWlsZWQiCiBtc2dzdHIgIiIKIApAQCAtMTAyODUsNzAgKzExMzQ4LDEyNCBAQAogbXNnaWQgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPGJhc2U+XV0gWy0tbGlzdF0gWzxyZWY+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Mzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWYiCittc2dpZF9wbHVyYWwgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWZzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0MQorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtYXRjaGluZyByZWZzIHdpdGggJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjYzOQogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQxCiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MwogbXNnaWQgImNvbG9yICcqISstJyBjb3JyZXNwb25kaW5nIHRvIHRoZSBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NQogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDcKIG1zZ2lkICJzeW5vbnltIHRvIG1vcmU9LTEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAogbXNnaWQgInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUyCiBtc2dpZCAibmFtZSBjb21taXRzIHdpdGggdGhlaXIgb2JqZWN0IG5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKIG1zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MQogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjMKIG1zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NQogbXNnaWQgInRvcG9sb2dpY2FsbHkgc29ydCwgbWFpbnRhaW5pbmcgZGF0ZSBvcmRlciB3aGVyZSBwb3NzaWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY4CiBtc2dpZCAiPG4+Wyw8YmFzZT5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzAzCittc2dpZCAiIgorIi0tcmVmbG9nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLXJlbW90ZXMsIC0taW5kZXBlbmRlbnQgb3IgLS1tZXJnZS1iYXNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjcKK21zZ2lkICJubyBicmFuY2hlcyBnaXZlbiwgYW5kIEhFQUQgaXMgbm90IHZhbGlkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzAKK21zZ2lkICItLXJlZmxvZyBvcHRpb24gbmVlZHMgb25lIGJyYW5jaCBuYW1lIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgorbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCByZWYgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgyOQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXYuIgorbXNnaWRfcGx1cmFsICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXZzLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgY29tbWl0ICVzICglcykiCittc2dzdHIgIiIKKwogIzogYnVpbHRpbi9zaG93LXJlZi5jOjEwCiBtc2dpZCAiIgogImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0tIgpAQCAtMTA0MDcsMTIgKzExNTI0LDEyIEBACiBtc2dpZCAicHJlcGVuZCBjb21tZW50IGNoYXJhY3RlciBhbmQgc3BhY2UgdG8gZWFjaCBsaW5lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVmOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RpbmcgYSBmdWxsIHJlZiBuYW1lLCBnb3QgJXMiCiBtc2dzdHIgIiIKQEAgLTEwNDIyLDE2MCArMTE1MzksMjAwIEBACiBtc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNzggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkwCiBtc2dpZCAiYWx0ZXJuYXRpdmUgYW5jaG9yIGZvciByZWxhdGl2ZSBwYXRocyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjgzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mjg3CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMyNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzQwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzI5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIGluIC5naXRtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNjYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzg3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cGRhdGUgbW9kZSBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA5CiBtc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IGZvciBpbml0aWFsaXppbmcgYSBzdWJtb2R1bGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzUKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8cGF0aD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQzOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgJyVzJyBjYW5ub3QgYWRkIGFsdGVybmF0ZTogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBpcyBub3QgcmVjb2duaXplZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiBpcyBub3QgcmVjb2duaXplZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkzCiBtc2dpZCAid2hlcmUgdGhlIG5ldyBzdWJtb2R1bGUgd2lsbCBiZSBjbG9uZWQgdG8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NgogbXNnaWQgIm5hbWUgb2YgdGhlIG5ldyBzdWJtb2R1bGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5OQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUwMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNQogbXNnaWQgImRlcHRoIGZvciBzaGFsbG93IGNsb25lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjQKK21zZ2lkICJmb3JjZSBjbG9uaW5nIHByb2dyZXNzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MTMKIG1zZ2lkICIiCiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08cGF0aD5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgogIjxyZXBvc2l0b3J5Pl0gWy0tbmFtZSA8bmFtZT5dIFstLWRlcHRoIDxkZXB0aD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8cGF0aD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUzMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTM0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTUwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTU1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSBmaWxlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBzdWJtb2R1bGUgZGlyZWN0b3J5IGZvciAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyVzJyBub3QgaW5pdGlhbGl6ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjczMAogbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgdW5tZXJnZWQgc3VibW9kdWxlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgc3VibW9kdWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc2OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkxMworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycgYSBzZWNvbmQgdGltZSwgYWJvcnRpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0NQogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDgKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSwgYWNyb3NzIG5lc3RlZCBzdWJtb2R1bGUgYm91bmRhcmllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUyCiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU2CiBtc2dpZCAiQ3JlYXRlIGEgc2hhbGxvdyBjbG9uZSB0cnVuY2F0ZWQgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgcmV2aXNpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTkKIG1zZ2lkICJwYXJhbGxlbCBqb2JzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjEKK21zZ2lkICJ3aGV0aGVyIHRoZSBpbml0aWFsIGNsb25lIHNob3VsZCBmb2xsb3cgdGhlIHNoYWxsb3cgcmVjb21tZW5kYXRpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2MgogbXNnaWQgImRvbid0IHByaW50IGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2OQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc5OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3OQogbXNnaWQgImJhZCB2YWx1ZSBmb3IgdXBkYXRlIHBhcmFtZXRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODU1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiU3VibW9kdWxlICglcykgYnJhbmNoIGNvbmZpZ3VyZWQgdG8gaW5oZXJpdCBicmFuY2ggZnJvbSBzdXBlcnByb2plY3QsIGJ1dCAiCisidGhlIHN1cGVycHJvamVjdCBpcyBub3Qgb24gYW55IGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwMAogbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg2MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIgogbXNnc3RyICIiCkBAIC0xMDc5OCw3ICsxMTk1NSw3IEBACiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTAKKyM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTMKIG1zZ2lkICJVbnBhY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCkBAIC0xMDg2MCwxMzkgKzEyMDE3LDE0MyBAQAogbXNnaWQgIiBPSyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU3NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjQKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTE5CiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyMgogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNQogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNwogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyOQogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMxCiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM0CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzOAogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKIG1zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MwogbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1OAotbXNnaWQgIigrLy0peCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1OQotbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MgogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTUKIG1zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjEKIG1zZ2lkICJjbGVhciBza2lwLXdvcmt0cmVlIGJpdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjQKIG1zZ2lkICJhZGQgdG8gaW5kZXggb25seTsgZG8gbm90IGFkZCBjb250ZW50IHRvIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OAogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzAKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgdG8gYmUgdXBkYXRlZCBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAogbXNnaWQgImFkZCBlbnRyaWVzIGZyb20gc3RhbmRhcmQgaW5wdXQgdG8gdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3OAogbXNnaWQgInJlcG9wdWxhdGUgc3RhZ2VzICMyIGFuZCAjMyBmb3IgdGhlIGxpc3RlZCBwYXRocyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODIKIG1zZ2lkICJvbmx5IHVwZGF0ZSBlbnRyaWVzIHRoYXQgZGlmZmVyIGZyb20gSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODYKIG1zZ2lkICJpZ25vcmUgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODkKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MQogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTUKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDEwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5OQogbXNnaWQgImVuYWJsZS9kaXNhYmxlIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMQogbXNnaWQgInRlc3QgaWYgdGhlIGZpbGVzeXN0ZW0gc3VwcG9ydHMgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAzCiBtc2dpZCAiZW5hYmxlIHVudHJhY2tlZCBjYWNoZSB3aXRob3V0IHRlc3RpbmcgdGhlIGZpbGVzeXN0ZW0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMTkKK21zZ2lkICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKKyJ0byBkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTIzCiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE0NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMxCittc2dpZCAiIgorImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgorInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZW5hYmxlZCBmb3IgJyVzJyIKIG1zZ3N0ciAiIgpAQCAtMTEwNzAsODIgKzEyMjMxLDEwOSBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNgotbXNnaWQgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKIG1zZ2lkICJnaXQgd29ya3RyZWUgbGlzdCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNworbXNnaWQgImdpdCB3b3JrdHJlZSBsb2NrIFs8b3B0aW9ucz5dIDxwYXRoPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKK21zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE5Cittc2dpZCAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGF0aD4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogbm90IGEgdmFsaWQgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogZ2l0ZGlyIGZpbGUgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiB1bmFibGUgdG8gcmVhZCBnaXRkaXIgZmlsZSAoJXMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogaW52YWxpZCBnaXRkaXIgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIHBvaW50cyB0byBub24tZXhpc3RlbnQgbG9jYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjExMwotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwMgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMzQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3Rvcnkgb2YgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjcwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlByZXBhcmluZyAlcyAoaWRlbnRpZmllciAlcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyMgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyMwogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGV2ZW4gaWYgYWxyZWFkeSBjaGVja2VkIG91dCBpbiBvdGhlciB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI1CiBtc2dpZCAiY3JlYXRlIGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjcKLW1zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyOQogbXNnaWQgInBvcHVsYXRlIHRoZSBuZXcgd29ya2luZyB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzcKIG1zZ2lkICItYiwgLUIsIGFuZCAtLWRldGFjaCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzAKK21zZ2lkICJyZWFzb24gZm9yIGxvY2tpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4MiBidWlsdGluL3dvcmt0cmVlLmM6NTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgd29ya2luZyB0cmVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODQgYnVpbHRpbi93b3JrdHJlZS5jOjUxNworbXNnaWQgIlRoZSBtYWluIHdvcmtpbmcgdHJlZSBjYW5ub3QgYmUgbG9ja2VkIG9yIHVubG9ja2VkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUxOQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBsb2NrZWQiCittc2dzdHIgIiIKKwogIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTMKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHByZWZpeD4vXSIKIG1zZ3N0ciAiIgpAQCAtMTExNjIsNiArMTIzNTAsMzUgQEAKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgogbXNnc3RyICIiCiAKKyM6IHVwbG9hZC1wYWNrLmM6MjIKK21zZ2lkICJnaXQgdXBsb2FkLXBhY2sgWzxvcHRpb25zPl0gPGRpcj4iCittc2dzdHIgIiIKKworIzogdXBsb2FkLXBhY2suYzoxMDI4Cittc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgorbXNnc3RyICIiCisKKyM6IHVwbG9hZC1wYWNrLmM6MTAzMAorbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgaW5pdGlhbCByZWYgYWR2ZXJ0aXNlbWVudCIKK21zZ3N0ciAiIgorCisjOiB1cGxvYWQtcGFjay5jOjEwMzIKK21zZ2lkICJkbyBub3QgdHJ5IDxkaXJlY3Rvcnk+Ly5naXQvIGlmIDxkaXJlY3Rvcnk+IGlzIG5vIEdpdCBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogdXBsb2FkLXBhY2suYzoxMDM0Cittc2dpZCAiaW50ZXJydXB0IHRyYW5zZmVyIGFmdGVyIDxuPiBzZWNvbmRzIG9mIGluYWN0aXZpdHkiCittc2dzdHIgIiIKKworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgcGVybWlzc2lvbnMgb24geW91ciBzb2NrZXQgZGlyZWN0b3J5IGFyZSB0b28gbG9vc2U7IG90aGVyXG4iCisidXNlcnMgbWF5IGJlIGFibGUgdG8gcmVhZCB5b3VyIGNhY2hlZCBjcmVkZW50aWFscy4gQ29uc2lkZXIgcnVubmluZzpcbiIKKyJcbiIKKyJcdGNobW9kIDA3MDAgJXMiCittc2dzdHIgIiIKKwogIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcxCiBtc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKIG1zZ3N0ciAiIgpAQCAtMTExNzMsNyArMTIzOTAsMTEgQEAKICJ0byByZWFkIGFib3V0IGEgc3BlY2lmaWMgc3ViY29tbWFuZCBvciBjb25jZXB0LiIKIG1zZ3N0ciAiIgogCi0jOiBodHRwLmM6MzIyCisjOiBodHRwLmM6MzQyCittc2dpZCAiRGVsZWdhdGlvbiBjb250cm9sIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4yMi4wIgorbXNnc3RyICIiCisKKyM6IGh0dHAuYzozNTEKIG1zZ2lkICJQdWJsaWMga2V5IHBpbm5pbmcgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjQ0LjAiCiBtc2dzdHIgIiIKIApAQCAtMTEyODksMTUgKzEyNTEwLDE1IEBACiBtc2dpZCAibm8tb3AgKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyMzcKKyM6IHBhcnNlLW9wdGlvbnMuaDoyMzgKIG1zZ2lkICJiZSBtb3JlIHZlcmJvc2UiCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzOQorIzogcGFyc2Utb3B0aW9ucy5oOjI0MAogbXNnaWQgImJlIG1vcmUgcXVpZXQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI0NQorIzogcGFyc2Utb3B0aW9ucy5oOjI0NgogbXNnaWQgInVzZSA8bj4gZGlnaXRzIHRvIGRpc3BsYXkgU0hBLTFzIgogbXNnc3RyICIiCiAKQEAgLTExMzA1LDU3ICsxMjUyNiw1OCBAQAogbXNnaWQgInVwZGF0ZSB0aGUgaW5kZXggd2l0aCByZXVzZWQgY29uZmxpY3QgcmVzb2x1dGlvbiBpZiBwb3NzaWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYmlzZWN0LnNoOjU1CisjOiBnaXQtYmlzZWN0LnNoOjU0CiBtc2dpZCAiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIiCiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKICMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKICMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtYmlzZWN0LnNoOjYxCisjOiBnaXQtYmlzZWN0LnNoOjYwCiBtc2dpZCAiRG8geW91IHdhbnQgbWUgdG8gZG8gaXQgZm9yIHlvdSBbWS9uXT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTIyCisjOiBnaXQtYmlzZWN0LnNoOjEyMQogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pc2VkIG9wdGlvbjogJyRhcmcnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTI2CisjOiBnaXQtYmlzZWN0LnNoOjEyNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmcnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIHJldmlzaW9uIgogbXNnc3RyICIiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTU1CisjOiBnaXQtYmlzZWN0LnNoOjE1NAogbXNnaWQgIkJhZCBIRUFEIC0gSSBuZWVkIGEgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYmlzZWN0LnNoOjE2OAorIzogZ2l0LWJpc2VjdC5zaDoxNjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJDaGVja2luZyBvdXQgJyRzdGFydF9oZWFkJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCByZXNldCA8dmFsaWQtYnJhbmNoPicuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTc4CisjOiBnaXQtYmlzZWN0LnNoOjE3NwogbXNnaWQgIndvbid0IGJpc2VjdCBvbiBjZy1zZWVrJ2VkIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWJpc2VjdC5zaDoxODIKKyM6IGdpdC1iaXNlY3Quc2g6MTgxCiBtc2dpZCAiQmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYmlzZWN0LnNoOjIzNAorIzogZ2l0LWJpc2VjdC5zaDoyMzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICRzdGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYmlzZWN0LnNoOjI2MworIzogZ2l0LWJpc2VjdC5zaDoyNjIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRhcmciCiBtc2dzdHIgIiIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNzgKLW1zZ2lkICJQbGVhc2UgY2FsbCAnYmlzZWN0X3N0YXRlJyB3aXRoIGF0IGxlYXN0IG9uZSBhcmd1bWVudC4iCisjOiBnaXQtYmlzZWN0LnNoOjI4MQorIywgc2gtZm9ybWF0Cittc2dpZCAiQmFkIHJldiBpbnB1dDogJGJpc2VjdGVkX2hlYWQiCiBtc2dzdHIgIiIKIAogIzogZ2l0LWJpc2VjdC5zaDoyOTAKQEAgLTExNDg2LDcgKzEyNzA4LDQ1IEBACiAiU3VwcG9ydGVkIG9wdGlvbnMgYXJlOiAtLXRlcm0tZ29vZHwtLXRlcm0tb2xkIGFuZCAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTcKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjQ2Cittc2dpZCAiIgorIkVycm9yOiBZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCisibWVyZ2UiCittc2dzdHIgIiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NjEKK21zZ2lkICJBdXRvbWF0ZWQgbWVyZ2UgZGlkIG5vdCB3b3JrLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo2MgorbXNnaWQgIlNob3VsZCBub3QgYmUgZG9pbmcgYW4gb2N0b3B1cy4iCittc2dzdHIgIiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NzMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBmaW5kIGNvbW1vbiBjb21taXQgd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgIiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NzcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZSB3aXRoICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo4OQorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFzdC1mb3J3YXJkaW5nIHRvOiAkcHJldHR5X25hbWUiCittc2dzdHIgIiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6OTcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRyeWluZyBzaW1wbGUgbWVyZ2Ugd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgIiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6MTAyCittc2dpZCAiU2ltcGxlIG1lcmdlIGRpZCBub3Qgd29yaywgdHJ5aW5nIGF1dG9tYXRpYyBtZXJnZS4iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS5zaDo1NgogbXNnaWQgIiIKICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIuXG4iCiAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcImdpdCByZWJhc2UgLS1za2lwXCIgaW5zdGVhZC5cbiIKQEAgLTExNDk0LDU0ICsxMjc1NCw1NCBAQAogIlwiLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjE2OAorIzogZ2l0LXJlYmFzZS5zaDoxNTYgZ2l0LXJlYmFzZS5zaDozOTUKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLnNoOjE2NwogbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjE3MQorIzogZ2l0LXJlYmFzZS5zaDoxNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjE3MgorIzogZ2l0LXJlYmFzZS5zaDoxNzEKIG1zZ2lkICIiCiAiQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy5cbiIKICJZb3VyIGNoYW5nZXMgYXJlIHNhZmUgaW4gdGhlIHN0YXNoLlxuIgogIllvdSBjYW4gcnVuIFwiZ2l0IHN0YXNoIHBvcFwiIG9yIFwiZ2l0IHN0YXNoIGRyb3BcIiBhdCBhbnkgdGltZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxMQorIzogZ2l0LXJlYmFzZS5zaDoyMTAKIG1zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxNgorIzogZ2l0LXJlYmFzZS5zaDoyMTUKIG1zZ2lkICJJdCBsb29rcyBsaWtlIGdpdC1hbSBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNTcKKyM6IGdpdC1yZWJhc2Uuc2g6MzU2CiBtc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjM2OAorIzogZ2l0LXJlYmFzZS5zaDozNjcKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzUKKyM6IGdpdC1yZWJhc2Uuc2g6Mzc0CiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3OAorIzogZ2l0LXJlYmFzZS5zaDozNzcKIG1zZ2lkICIiCiAiWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCiAibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDozOTYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtcmViYXNlLnNoOjQxNQorIzogZ2l0LXJlYmFzZS5zaDo0MTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKQEAgLTExNTU0LDk3ICsxMjgxNCwxMDEgQEAKICJ2YWx1YWJsZSB0aGVyZS4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NjYKKyM6IGdpdC1yZWJhc2Uuc2g6NDY1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICR1cHN0cmVhbV9uYW1lIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDkwCisjOiBnaXQtcmViYXNlLnNoOjQ4OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTMgZ2l0LXJlYmFzZS5zaDo0OTcKKyM6IGdpdC1yZWJhc2Uuc2g6NDkyIGdpdC1yZWJhc2Uuc2g6NDk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTAyCisjOiBnaXQtcmViYXNlLnNoOjUwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MjUKKyM6IGdpdC1yZWJhc2Uuc2g6NTI0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2g6ICRicmFuY2hfbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjU1OAorIzogZ2l0LXJlYmFzZS5zaDo1NTcKIG1zZ2lkICJDYW5ub3QgYXV0b3N0YXNoIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTYzCisjOiBnaXQtcmViYXNlLnNoOjU2MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjcKKyM6IGdpdC1yZWJhc2Uuc2g6NTY2CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjU4NworIzogZ2l0LXJlYmFzZS5zaDo1ODYKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjU5MQorIzogZ2l0LXJlYmFzZS5zaDo1OTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjYwMgorIzogZ2l0LXJlYmFzZS5zaDo2MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjExCisjOiBnaXQtcmViYXNlLnNoOjYxMAogbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLnNoOjYyMQorIzogZ2l0LXJlYmFzZS5zaDo2MjAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NTEKKyM6IGdpdC1zdGFzaC5zaDo1MAogbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NzQKKyM6IGdpdC1zdGFzaC5zaDo3MwogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo4OQorIzogZ2l0LXN0YXNoLnNoOjg4CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjEyNCBnaXQtc3Rhc2guc2g6MTM3CisjOiBnaXQtc3Rhc2guc2g6MTAzCittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6MTIzIGdpdC1zdGFzaC5zaDoxMzYKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCB3b3JrdHJlZSBzdGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQxCisjOiBnaXQtc3Rhc2guc2g6MTQwCiBtc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQ0CisjOiBnaXQtc3Rhc2guc2g6MTQzCiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgaW5kZXggKGNhbid0IGhhcHBlbikiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjE1NworIzogZ2l0LXN0YXNoLnNoOjE1NgogbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDoxODkKKyM6IGdpdC1zdGFzaC5zaDoxODgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgJHJlZl9zdGFzaCB3aXRoICR3X2NvbW1pdCIKIG1zZ3N0ciAiIgpAQCAtMTE2NTksMTE1ICsxMjkyMywxMzIgQEAKICMuICQgZ2l0IHN0YXNoIHNhdmUgLS1ibGFoLWJsYWggMj4mMSB8IGhlYWQgLW4gMgogIy4gZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6IC0tYmxhaC1ibGFoCiAjLiBUbyBwcm92aWRlIGEgbWVzc2FnZSwgdXNlIGdpdCBzdGFzaCBzYXZlIC0tICctLWJsYWgtYmxhaCcKLSM6IGdpdC1zdGFzaC5zaDoyMzkKKyM6IGdpdC1zdGFzaC5zaDoyMzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogJG9wdGlvblxuIgogIiAgICAgICBUbyBwcm92aWRlIGEgbWVzc2FnZSwgdXNlIGdpdCBzdGFzaCBzYXZlIC0tICckb3B0aW9uJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6MjYwCisjOiBnaXQtc3Rhc2guc2g6MjUxCittc2dpZCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6MjU5CiBtc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjQKKyM6IGdpdC1zdGFzaC5zaDoyNjMKIG1zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6MjY4CisjOiBnaXQtc3Rhc2guc2g6MjY3CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyODYKKyM6IGdpdC1zdGFzaC5zaDoyNjgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAkc3Rhc2hfbXNnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDoyODUKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQwNQorIzogZ2l0LXN0YXNoLnNoOjQwMwogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQxNQorIzogZ2l0LXN0YXNoLnNoOjQxNgogbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NDIyCisjOiBnaXQtc3Rhc2guc2g6NDIzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjgKKyM6IGdpdC1zdGFzaC5zaDo0MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NTYKKyM6IGdpdC1zdGFzaC5zaDo0NjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2NworIzogZ2l0LXN0YXNoLnNoOjQ3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ3NQorIzogZ2l0LXN0YXNoLnNoOjQ4NQogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NzkKKyM6IGdpdC1zdGFzaC5zaDo0ODkKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ4NworIzogZ2l0LXN0YXNoLnNoOjQ5NwogbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ4OQorIzogZ2l0LXN0YXNoLnNoOjQ5OQogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjUyMworIzogZ2l0LXN0YXNoLnNoOjUwOAorbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDo1MzMKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NTM4CisjOiBnaXQtc3Rhc2guc2g6NTQ4CiBtc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NjEKKyM6IGdpdC1zdGFzaC5zaDo1NjIKK21zZ2lkICJUaGUgc3Rhc2ggaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6NTcxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NjIKKyM6IGdpdC1zdGFzaC5zaDo1NzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjU3MAorIzogZ2l0LXN0YXNoLnNoOjU4MAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NjQyCisjOiBnaXQtc3Rhc2guc2g6NjUyCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjE5CisjOiBnaXQtc3VibW9kdWxlLnNoOjE4NAogbXNnaWQgIlJlbGF0aXZlIHBhdGggY2FuIG9ubHkgYmUgdXNlZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjI5CisjOiBnaXQtc3VibW9kdWxlLnNoOjE5NAogIywgc2gtZm9ybWF0CiBtc2dpZCAicmVwbyBVUkw6ICckcmVwbycgbXVzdCBiZSBhYnNvbHV0ZSBvciBiZWdpbiB3aXRoIC4vfC4uLyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI0NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjUwCisjOiBnaXQtc3VibW9kdWxlLnNoOjIxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgcGF0aCBpcyBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCkBAIC0xMTc3NSwyMTIgKzEzMDU2LDIxMCBAQAogIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIGl0LiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI2OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjcwCisjOiBnaXQtc3VibW9kdWxlLnNoOjIzNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGEgdmFsaWQgZ2l0IHJlcG8iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBIGdpdCBkaXJlY3RvcnkgZm9yICckc21fbmFtZScgaXMgZm91bmQgbG9jYWxseSB3aXRoIHJlbW90ZShzKToiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCi0iSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjgyCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0idXNlIHRoZSAnLS1mb3JjZScgb3B0aW9uLiBJZiB0aGUgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpcyBub3QgdGhlIGNvcnJlY3QgcmVwbyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgorIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbVxuIgorIiAgJHJlYWxyZXBvXG4iCisidXNlIHRoZSAnLS1mb3JjZScgb3B0aW9uLiBJZiB0aGUgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpcyBub3QgdGhlIGNvcnJlY3QgIgorInJlcG9cbiIKICJvciB5b3UgYXJlIHVuc3VyZSB3aGF0IHRoaXMgbWVhbnMgY2hvb3NlIGFub3RoZXIgbmFtZSB3aXRoIHRoZSAnLS1uYW1lJyAiCiAib3B0aW9uLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYWN0aXZhdGluZyBsb2NhbCBnaXQgZGlyZWN0b3J5IGZvciBzdWJtb2R1bGUgJyRzbV9uYW1lJy4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyOTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjYzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjY4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gYWRkIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzExCisjOiBnaXQtc3VibW9kdWxlLnNoOjI3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzU1CisjOiBnaXQtc3VibW9kdWxlLnNoOjMyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRW50ZXJpbmcgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNzUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzQ0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGluZyBhdCAnJGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NDgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDE1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyBhbmQgLS1hbGwgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MjAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVzZSAnLS1hbGwnIGlmIHlvdSByZWFsbHkgd2FudCB0byBkZWluaXRpYWxpemUgYWxsIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ3MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKKyJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnlcbiIKICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgaGlzdG9yeSkiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byAiCiAiZGlzY2FyZCB0aGVtIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDUyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIHN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDU1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGVtcHR5IHN1Ym1vZHVsZSBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0OTMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDY0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgdW5yZWdpc3RlcmVkIGZvciBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjM1CisjOiBnaXQtc3VibW9kdWxlLnNoOjYxNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY0NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjY3CisjOiBnaXQtc3VibW9kdWxlLnNoOjYzMgorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgJHtyZW1vdGVfbmFtZX0vJHticmFuY2h9IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICIKKyInJHNtX3BhdGgnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjUwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjU2CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiRmV0Y2hlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJywgYnV0IGl0IGRpZCBub3QgY29udGFpbiAkc2hhMS4gIgorIkRpcmVjdCBmZXRjaGluZyBvZiB0aGF0IGNvbW1pdCBmYWlsZWQuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjYzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBjaGVja2VkIG91dCAnJHNoYTEnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njg1CisjOiBnaXQtc3VibW9kdWxlLnNoOjY2OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njg2CisjOiBnaXQtc3VibW9kdWxlLnNoOjY2OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IHJlYmFzZWQgaW50byAnJHNoYTEnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjkxCisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njc1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogbWVyZ2VkIGluICckc2hhMSciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjgwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjgxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogJyRjb21tYW5kICRzaGExJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjcyOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODIwCiBtc2dpZCAiVGhlIC0tY2FjaGVkIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSAtLWZpbGVzIG9wdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg4OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NzIKICMsIHNoLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjkwOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjkxMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjkxNQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0cyAkc2hhMV9zcmMgYW5kICRzaGExX2RzdCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjk0MAotbXNnaWQgImJsb2IiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDU5CisjOiBnaXQtc3VibW9kdWxlLnNoOjEwNDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTExMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgpAQCAtMTE5ODksMyArMTMyNjgsMzkzIEBACiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTZWUgZ2l0LSR7Y21kfSgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTQwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJSZWJhc2luZyAoJG5ld19jb3VudC8kdG90YWwpIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE1NgorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKKyIgcCwgcGljayA9IHVzZSBjb21taXRcbiIKKyIgciwgcmV3b3JkID0gdXNlIGNvbW1pdCwgYnV0IGVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlXG4iCisiIGUsIGVkaXQgPSB1c2UgY29tbWl0LCBidXQgc3RvcCBmb3IgYW1lbmRpbmdcbiIKKyIgcywgc3F1YXNoID0gdXNlIGNvbW1pdCwgYnV0IG1lbGQgaW50byBwcmV2aW91cyBjb21taXRcbiIKKyIgZiwgZml4dXAgPSBsaWtlIFwic3F1YXNoXCIsIGJ1dCBkaXNjYXJkIHRoaXMgY29tbWl0J3MgbG9nIG1lc3NhZ2VcbiIKKyIgeCwgZXhlYyA9IHJ1biBjb21tYW5kICh0aGUgcmVzdCBvZiB0aGUgbGluZSkgdXNpbmcgc2hlbGxcbiIKKyIgZCwgZHJvcCA9IHJlbW92ZSBjb21taXRcbiIKKyJcbiIKKyJUaGVzZSBsaW5lcyBjYW4gYmUgcmUtb3JkZXJlZDsgdGhleSBhcmUgZXhlY3V0ZWQgZnJvbSB0b3AgdG8gYm90dG9tLlxuIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE3MQorbXNnaWQgIiIKKyJcbiIKKyJEbyBub3QgcmVtb3ZlIGFueSBsaW5lLiBVc2UgJ2Ryb3AnIGV4cGxpY2l0bHkgdG8gcmVtb3ZlIGEgY29tbWl0LlxuIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE3NQorbXNnaWQgIiIKKyJcbiIKKyJJZiB5b3UgcmVtb3ZlIGEgbGluZSBoZXJlIFRIQVQgQ09NTUlUIFdJTEwgQkUgTE9TVC5cbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyMTEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCisiXG4iCisiXHRnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJPbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzLCBydW5cbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyMzYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiRzaGExOiBub3QgYSBjb21taXQgdGhhdCBjYW4gYmUgcGlja2VkIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjI3NQorIywgc2gtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjb21taXQgbmFtZTogJHNoYTEiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MzE3Cittc2dpZCAiQ2Fubm90IHdyaXRlIGN1cnJlbnQgY29tbWl0J3MgcmVwbGFjZW1lbnQgc2hhMSIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozNjkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhc3QtZm9yd2FyZCB0byAkc2hhMSIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozNzEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBmYXN0LWZvcndhcmQgdG8gJHNoYTEiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MzgwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbW92ZSBIRUFEIHRvICRmaXJzdF9wYXJlbnQiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6Mzg1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byBzcXVhc2ggYSBtZXJnZTogJHNoYTEiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6Mzk5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJFcnJvciByZWRvaW5nIG1lcmdlICRzaGExIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQwNworIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHBpY2sgJHNoYTEiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDE2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJHtufToiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDIxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJUaGUgY29tbWl0IG1lc3NhZ2UgIyR7bn0gd2lsbCBiZSBza2lwcGVkOiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MzIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0LiIKK21zZ2lkX3BsdXJhbCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXRzLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0MAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlICRmaXh1cF9tc2ciCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDQzCittc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIDIgY29tbWl0cy4iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDQ0Cittc2dpZCAiVGhpcyBpcyB0aGUgMXN0IGNvbW1pdCBtZXNzYWdlOiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0ODQgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTI3CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1MzAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAkc2hhMS4uLiAkcmVzdCIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1NTgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJDb3VsZCBub3QgYW1lbmQgY29tbWl0IGFmdGVyIHN1Y2Nlc3NmdWxseSBwaWNraW5nICRzaGExLi4uICRyZXN0XG4iCisiVGhpcyBpcyBtb3N0IGxpa2VseSBkdWUgdG8gYW4gZW1wdHkgY29tbWl0IG1lc3NhZ2UsIG9yIHRoZSBwcmUtY29tbWl0IGhvb2tcbiIKKyJmYWlsZWQuIElmIHRoZSBwcmUtY29tbWl0IGhvb2sgZmFpbGVkLCB5b3UgbWF5IG5lZWQgdG8gcmVzb2x2ZSB0aGUgaXNzdWUgIgorImJlZm9yZVxuIgorInlvdSBhcmUgYWJsZSB0byByZXdvcmQgdGhlIGNvbW1pdC4iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTczCisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdG9wcGVkIGF0ICRzaGExX2FiYnJldi4uLiAkcmVzdCIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1ODgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAnJHNxdWFzaF9zdHlsZScgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2MzAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGluZzogJHJlc3QiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjM4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJFeGVjdXRpb24gZmFpbGVkOiAkcmVzdCIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NDAKK21zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NDIKK21zZ2lkICIiCisiWW91IGNhbiBmaXggdGhlIHByb2JsZW0sIGFuZCB0aGVuIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBhZnRlciB0aGVzZSBsaW5lcyBpcyBhIGNvbW1hbmQgdG8gYmUgaXNzdWVkIGJ5IHRoZSB1c2VyCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NTUKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJFeGVjdXRpb24gc3VjY2VlZGVkOiAkcmVzdFxuIgorImJ1dCBsZWZ0IGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlXG4iCisiQ29tbWl0IG9yIHN0YXNoIHlvdXIgY2hhbmdlcywgYW5kIHRoZW4gcnVuXG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjY2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICRjb21tYW5kICRzaGExICRyZXN0IgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY2NworbXNnaWQgIlBsZWFzZSBmaXggdGhpcyB1c2luZyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjcwMgorIywgc2gtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgJGhlYWRfbmFtZS4iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NzQ5Cittc2dpZCAiQ291bGQgbm90IHNraXAgdW5uZWNlc3NhcnkgcGljayBjb21tYW5kcyIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo5MDcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiB0aGUgU0hBLTEgaXMgbWlzc2luZyBvciBpc24ndCBhIGNvbW1pdCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCisiIC0gJGxpbmUiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6OTQwCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiV2FybmluZzogdGhlIGNvbW1hbmQgaXNuJ3QgcmVjb2duaXplZCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCisiIC0gJGxpbmUiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6OTc5Cittc2dpZCAiY291bGQgbm90IGRldGFjaCBIRUFEIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMTcKK21zZ2lkICIiCisiV2FybmluZzogc29tZSBjb21taXRzIG1heSBoYXZlIGJlZW4gZHJvcHBlZCBhY2NpZGVudGFsbHkuXG4iCisiRHJvcHBlZCBjb21taXRzIChuZXdlciB0byBvbGRlcik6IgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMjUKK21zZ2lkICIiCisiVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCisiXG4iCisiVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mICIKKyJ3YXJuaW5ncy5cbiIKKyJUaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMzYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJVbnJlY29nbml6ZWQgc2V0dGluZyAkY2hlY2tfbGV2ZWwgZm9yIG9wdGlvbiByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gIgorIklnbm9yaW5nLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDUzCittc2dpZCAiIgorIllvdSBjYW4gZml4IHRoaXMgd2l0aCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tIgorImNvbnRpbnVlJy4iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA1NAorbXNnaWQgIk9yIHlvdSBjYW4gYWJvcnQgdGhlIHJlYmFzZSB3aXRoICdnaXQgcmViYXNlIC0tYWJvcnQnLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDc4Cittc2dpZCAiQ291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwODMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKKyJJZiB0aGVzZSBjaGFuZ2VzIGFyZSBtZWFudCB0byBiZVxuIgorInNxdWFzaGVkIGludG8gdGhlIHByZXZpb3VzIGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiSWYgdGhleSBhcmUgbWVhbnQgdG8gZ28gaW50byBhIG5ldyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJJbiBib3RoIGNhc2VzLCBvbmNlIHlvdSdyZSBkb25lLCBjb250aW51ZSB3aXRoOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwMAorbXNnaWQgIkVycm9yIHRyeWluZyB0byBmaW5kIHRoZSBhdXRob3IgaWRlbnRpdHkgdG8gYW1lbmQgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDUKK21zZ2lkICIiCisiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlIGNvbW1pdCB0aGVtXG4iCisiZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTEwIGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMTQKK21zZ2lkICJDb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTM4Cittc2dpZCAiIgorIlxuIgorIllvdSBhcmUgZWRpdGluZyB0aGUgdG9kbyBmaWxlIG9mIGFuIG9uZ29pbmcgaW50ZXJhY3RpdmUgcmViYXNlLlxuIgorIlRvIGNvbnRpbnVlIHJlYmFzZSBhZnRlciBlZGl0aW5nLCBydW46XG4iCisiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNDYgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTMwNAorbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTU5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY0Cittc2dpZCAiTm8gSEVBRD8iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2NQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJHN0YXRlX2RpciIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY3Cittc2dpZCAiQ291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE3NyBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTgyCittc2dpZCAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI4MgorIywgc2gtZm9ybWF0Cittc2dpZCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZCkiCittc2dpZF9wbHVyYWwgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmRzKSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyODcKK21zZ2lkICIiCisiXG4iCisiSG93ZXZlciwgaWYgeW91IHJlbW92ZSBldmVyeXRoaW5nLCB0aGUgcmViYXNlIHdpbGwgYmUgYWJvcnRlZC5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjk0Cittc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCittc2dzdHIgIiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjg5IGdpdC1zaC1zZXR1cC5zaDo5NAorIywgc2gtZm9ybWF0Cittc2dpZCAidXNhZ2U6ICRkYXNobGVzcyAkVVNBR0UiCittc2dzdHIgIiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjE5MAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoZGlyIHRvICRjZHVwLCB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MTk5IGdpdC1zaC1zZXR1cC5zaDoyMDYKKyMsIHNoLWZvcm1hdAorbXNnaWQgImZhdGFsOiAkcHJvZ3JhbV9uYW1lIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgYSB3b3JraW5nIHRyZWUuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjAKK21zZ2lkICJDYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjIzCittc2dpZCAiQ2Fubm90IHJld3JpdGUgYnJhbmNoZXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjYKK21zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyOQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDIKK21zZ2lkICJDYW5ub3QgcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDUKK21zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgJGFjdGlvbjogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjUyCittc2dpZCAiQWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzIKK21zZ2lkICJZb3UgbmVlZCB0byBydW4gdGhpcyBjb21tYW5kIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzcKK21zZ2lkICJVbmFibGUgdG8gZGV0ZXJtaW5lIGFic29sdXRlIHBhdGggb2YgZ2l0IGRpcmVjdG9yeSIKK21zZ3N0ciAiIgpkaWZmIC0tZ2l0IGEvcG8vaXMucG8gYi9wby9pcy5wbwppbmRleCA4NjkyYThiLi5iOGIzNGZkIDEwMDY0NAotLS0gYS9wby9pcy5wbworKysgYi9wby9pcy5wbwpAQCAtNywxNCArNywxNSBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBHaXRcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMC0wOS0yMCAxNDo0NCswMDAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxMC0wNi0wNSAxOTowNiArMDAwMFxuIgotIkxhc3QtVHJhbnNsYXRvcjogw4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24gPGF2YXJhYkBnbWFpbC5jb20+XG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTYtMDYtMTcgMTg6NTUrMDAwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMDYtMTcgMTk6MTcrMDAwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogVmFzY28gQWxtZWlkYSA8dmFzY29tYWxtZWlkYUBzYXBvLnB0PlxuIgogIkxhbmd1YWdlLVRlYW06IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCiAiTGFuZ3VhZ2U6IGlzXG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiWC1HZW5lcmF0b3I6IFBvZWRpdCAxLjguNVxuIgogCiAjLiBUUkFOU0xBVE9SUzogVGhpcyBpcyBhIHRlc3QuIFlvdSBkb24ndCBuZWVkIHRvIHRyYW5zbGF0ZSBpdC4KICM6IHQvdDAyMDAvdGVzdC5jOjUKQEAgLTcyLDIyICs3MywzMSBAQAogbXNnaWQgIlRFU1Q6IEEgUGVybCB0ZXN0IHZhcmlhYmxlICVzIgogbXNnc3RyICJUSUxSQVVOOiBQZXJsIHRpbHJhdW5hc3RyZW5ndXIgbWXDsCBicmV5dHVubmkgJXMiCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJyVzJyBpcyBlaXRoZXIgIlJlaW5pdGlhbGl6ZWQKLSMuIGV4aXN0aW5nIiBvciAiSW5pdGlhbGl6ZWQgZW1wdHkiLCB0aGUgc2Vjb25kICIgc2hhcmVkIiBvcgotIy4gIiIsIGFuZCB0aGUgbGFzdCAnJXMlcycgaXMgdGhlIHZlcmJhdGltIGRpcmVjdG9yeSBuYW1lLgotIzogYnVpbHRpbi9pbml0LWRiLmM6MzU1CisjOiBidWlsdGluL2luaXQtZGIuYzo0MDIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMlcyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCi1tc2dzdHIgIiVzJXMgR2l0IGxpbmQgw60gJXMlc1xuIgorbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3Rpbmcgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAiRW5kdXJnZXLDsGkgR2l0IGxpbmQgw60gJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNTYKLW1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIgotbXNnc3RyICJFbmR1cmdlcsOwaSIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAiRW5kdXJnZXLDsGkgR2l0IGxpbmQgw60gJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNTYKLW1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSIKLW1zZ3N0ciAiQmrDsyB0aWwgdMOzbWEiCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAiQmrDsyB0aWwgdMOzbWEgc2FtZWlnaW5sZWdhIEdpdCBsaW5kIMOtICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzU3Ci1tc2dpZCAiIHNoYXJlZCIKLW1zZ3N0ciAiIHNhbWVpZ2lubGVnYSIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCittc2dzdHIgIkJqw7MgdGlsIHTDs21hIEdpdCBsaW5kIMOtICVzJXNcbiIKKworI34gbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmciCisjfiBtc2dzdHIgIkVuZHVyZ2Vyw7BpIgorCisjfiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkiCisjfiBtc2dzdHIgIkJqw7MgdGlsIHTDs21hIgorCisjfiBtc2dpZCAiIHNoYXJlZCIKKyN+IG1zZ3N0ciAiIHNhbWVpZ2lubGVnYSIKZGlmZiAtLWdpdCBhL3BvL2tvLnBvIGIvcG8va28ucG8KaW5kZXggYzlmNDMxYy4uZWU2NDM1NSAxMDA2NDQKLS0tIGEvcG8va28ucG8KKysrIGIvcG8va28ucG8KQEAgLTM5LDYgKzM5LDcgQEAKICMgIHwgbG9nICAgICAgICAgIHwg6riw66GdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAjICB8IG1lcmdlICAgICAgICB8IOuzke2VqSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogIyAgfCBub3RlICAgICAgICAgfCDrhbjtirggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyMgIHwgb2N0b3B1cyAgICAgIHwg7Jil7Yag7Y287IqkICjrs5Htlakg7KCE6561KSAgICAgICAgICAgICAgICAgICAgICAgICB8CiAjICB8IHBhY2sgICAgICAgICB8IOustuydjCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogIyAgfCBwYXRoc3BlYyAgICAgfCDqsr3roZzrqoXshLggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogIyAgfCByZWJhc2UgICAgICAgfCDrpqzrsqDsnbTsiqQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfApAQCAtNTcsOCArNTgsOCBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBnaXRcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNi0wNS0yNCAyMzo0MiswODAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxNi0wNi0xMiAwMToyMCswOTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTYtMTEtMjUgMjI6NTArMDgwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMTEtMjUgMjI6NTYrMDgwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogQ2hhbmd3b28gUnl1IDxjd3J5dUBkZWJpYW4ub3JnPlxuIgogIkxhbmd1YWdlLVRlYW06IEdpdCBLb3JlYW4gdHJhbnNsYXRpb24gPGh0dHA6Ly9naXRodWIuY29tL2NoYW5nd29vL2dpdC1sMTBuLSIKICJrbz5cbiIKQEAgLTczLDcgKzc0LDMyIEBACiBtc2dpZCAiaGludDogJS4qc1xuIgogbXNnc3RyICLtnoztirg6ICUuKnNcbiIKIAotIzogYWR2aWNlLmM6ODgKKyM6IGFkdmljZS5jOjgzCittc2dpZCAiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICLrs5HtlantlZjsp4Ag7JWK7J2AIO2MjOydvOydtCDsnojsnLzrr4DroZwsIOy7pOuwiyDrubzsmKTquLDrpbwg7ZWgIOyImCDsl4bsirXri4jri6QuIgorCisjOiBhZHZpY2UuYzo4NQorbXNnaWQgIkNvbW1pdHRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICLrs5HtlantlZjsp4Ag7JWK7J2AIO2MjOydvOydtCDsnojsnLzrr4DroZwsIOy7pOuwi+2VoCDsiJgg7JeG7Iq164uI64ukLiIKKworIzogYWR2aWNlLmM6ODcKK21zZ2lkICJNZXJnaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAi67OR7ZWp7ZWY7KeAIOyViuydgCDtjIzsnbzsnbQg7J6I7Jy866+A66GcLCDrs5HtlantlaAg7IiYIOyXhuyKteuLiOuLpC4iCisKKyM6IGFkdmljZS5jOjg5Cittc2dpZCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIuuzke2Vqe2VmOyngCDslYrsnYAg7YyM7J287J20IOyeiOycvOuvgOuhnCwg7ZKA7J2EIO2VoCDsiJgg7JeG7Iq164uI64ukLiIKKworIzogYWR2aWNlLmM6OTEKK21zZ2lkICJSZXZlcnRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICLrs5HtlantlZjsp4Ag7JWK7J2AIO2MjOydvOydtCDsnojsnLzrr4DroZwsIOuQmOuPjOumrOq4sOulvCDtlaAg7IiYIOyXhuyKteuLiOuLpC4iCisKKyM6IGFkdmljZS5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkl0IGlzIG5vdCBwb3NzaWJsZSB0byAlcyBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAi67OR7ZWp7ZWY7KeAIOyViuydgCDtjIzsnbzsnbQg7J6I7Jy866+A66GcLCAlcyDtlaAg7IiYIOyXhuyKteuLiOuLpC4iCisKKyM6IGFkdmljZS5jOjEwMQogbXNnaWQgIiIKICJGaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLCBhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+J1xuIgogImFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdC4iCkBAIC04MSwxOCArMTA3LDY1NyBAQAogIuyekeyXhSDtj7TrjZTsl5DshJwg66y47KCc66W8IOuwlOuhnOyeoeydgCDri6TsnYwsICdnaXQgYWRkL3JtIDztjIzsnbw+J+ydhCDsoIHsoIjtnohcbiIKICLsgqzsmqntlbQg7ZW06rKwIO2RnOyLnO2VmOqzoCDsu6TrsIvtlZjsi63si5zsmKQuIgogCi0jOiBhZHZpY2UuYzoxMDEgYnVpbHRpbi9tZXJnZS5jOjEyMzgKKyM6IGFkdmljZS5jOjEwOQorbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiBhbiB1bnJlc29sdmVkIGNvbmZsaWN0LiIKK21zZ3N0ciAi7ZW06rKw7ZWY7KeAIOuqu+2VnCDstqnrj4wg65WM66y47JeQIOuBneuCqeuLiOuLpC4iCisKKyM6IGFkdmljZS5jOjExNCBidWlsdGluL21lcmdlLmM6MTE4MQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAi67OR7ZWpIOyekeyXheydhCDri6Qg66eI7LmY7KeAIOyViuyVmOyKteuLiOuLpCAoTUVSR0VfSEVBRCDtjIzsnbzsnbQg7J6I7Iq164uI64ukKS4iCiAKLSM6IGFkdmljZS5jOjEwMworIzogYWR2aWNlLmM6MTE2CiBtc2dpZCAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSBtZXJnaW5nLiIKIG1zZ3N0ciAi67OR7ZWp7ZWY6riwIOyghOyXkCDrs4Dqsr0g7IKs7ZWt7J2EIOy7pOuwi+2VmOyLreyLnOyYpC4iCiAKLSM6IGFkdmljZS5jOjEwNAorIzogYWR2aWNlLmM6MTE3CiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIHVuZmluaXNoZWQgbWVyZ2UuIgogbXNnc3RyICLrs5HtlansnYQg66eI7LmY7KeAIOuqu+2WiOq4sCDrlYzrrLjsl5Ag64Gd64Kp64uI64ukLiIKIAorIzogYWR2aWNlLmM6MTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3RlOiBjaGVja2luZyBvdXQgJyVzJy5cbiIKKyJcbiIKKyJZb3UgYXJlIGluICdkZXRhY2hlZCBIRUFEJyBzdGF0ZS4gWW91IGNhbiBsb29rIGFyb3VuZCwgbWFrZSBleHBlcmltZW50YWxcbiIKKyJjaGFuZ2VzIGFuZCBjb21taXQgdGhlbSwgYW5kIHlvdSBjYW4gZGlzY2FyZCBhbnkgY29tbWl0cyB5b3UgbWFrZSBpbiB0aGlzXG4iCisic3RhdGUgd2l0aG91dCBpbXBhY3RpbmcgYW55IGJyYW5jaGVzIGJ5IHBlcmZvcm1pbmcgYW5vdGhlciBjaGVja291dC5cbiIKKyJcbiIKKyJJZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBuZXcgYnJhbmNoIHRvIHJldGFpbiBjb21taXRzIHlvdSBjcmVhdGUsIHlvdSBtYXlcbiIKKyJkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYiB3aXRoIHRoZSBjaGVja291dCBjb21tYW5kIGFnYWluLiBFeGFtcGxlOlxuIgorIlxuIgorIiAgZ2l0IGNoZWNrb3V0IC1iIDxuZXctYnJhbmNoLW5hbWU+XG4iCisiXG4iCittc2dzdHIgIiIKKyLso7zsnZg6ICclcycg7LK07YGs7JWE7JuD7ZWY6riwLlxuIgorIlxuIgorIuyngOq4iCAnSEVBROqwgCDrtoTrpqzrkJwnIOyDge2DnOyeheuLiOuLpC4g7J20IOyDge2DnOyXkOyEnOuKlCDsl6zquLDsoIDquLAg64+M7JWE67O06rOgLFxuIgorIuyLpO2XmOyggeycvOuhnCDrsJTqvrzqs6Ag7Luk67CL7ZWY642U652864+ELCDssrTtgazslYTsm4PtlaAg7IiYIOyeh+uKlCDri6Trpbgg67iM656c7LmY7JeQXG4iCisi7JiB7Zal7J2EIOuvuOy5mOyngCDslYrqs6Ag67OA6rK9IOyCrO2VreydhCDsnoPslrTrsoTrprQg7IiYIOyeiOyKteuLiOuLpC5cbiIKKyJcbiIKKyLsu6TrsIvsnYQg7Jyg7KeA7ZWY64qUIOu4jOuenOy5mOulvCDsg4jroZwg66eM65Oc66Ck66m0LCAo7KeA6riI7J2065OgIOuCmOykkeydtOuToCkg7LK07YGs7JWE7JuDXG4iCisi66qF66C57J2EIOuLpOyLnCDtlZjrqbTshJwgLWIg7Ji17IWY7J2EIOyCrOyaqe2VmOuptCDrkKnri4jri6QuIOyYiOulvCDrk6TslrQ6XG4iCisiXG4iCisiICBnaXQgY2hlY2tvdXQgLWIgPOyDiC3ruIzrnpzsuZgt7J2066aEPlxuIgorIlxuIgorCisjOiBhcHBseS5jOjU3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgorbXNnc3RyICLslYwg7IiYIOyXhuuKlCDqs7XrsLEg7Ji17IWYICclcyciCisKKyM6IGFwcGx5LmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgorbXNnc3RyICLslYwg7IiYIOyXhuuKlCDqs7XrsLEg66y07IucIOyYteyFmCAnJXMnIgorCisjOiBhcHBseS5jOjEyNQorbXNnaWQgIi0tcmVqZWN0IGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICItLXJlamVjdCDrsI8gLS0zd2F5IOyYteyFmOydgCDqsJnsnbQg7JO4IOyImCDsl4bsirXri4jri6QuIgorCisjOiBhcHBseS5jOjEyNworbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICItLWNhY2hlZCDrsI8gLS0zd2F5IOyYteyFmOydgCDqsJnsnbQg7JO4IOyImCDsl4bsirXri4jri6QuIgorCisjOiBhcHBseS5jOjEzMAorbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKK21zZ3N0ciAi7KCA7J6l7IaMIOuwluyXkOyEnCAtLTN3YXkg7Ji17IWYIOyCrOyaqSIKKworIzogYXBwbHkuYzoxNDEKK21zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICLsoIDsnqXshowg67CW7JeQ7IScIC0taW5kZXgg7Ji17IWYIOyCrOyaqSIKKworIzogYXBwbHkuYzoxNDQKK21zZ2lkICItLWNhY2hlZCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKK21zZ3N0ciAi7KCA7J6l7IaMIOuwluyXkOyEnCAtLWNhY2hlZCDsmLXshZgg7IKs7JqpIgorCisjOiBhcHBseS5jOjg0NQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgorbXNnc3RyICLtg4DsnoTsiqTtg6ztlIQg7KCV6rec7Iud7J2EIOykgOu5hO2VoCDsiJgg7JeG7Iq164uI64ukICglcykiCisKKyM6IGFwcGx5LmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZ2V4ZWMgcmV0dXJuZWQgJWQgZm9yIGlucHV0OiAlcyIKK21zZ3N0ciAicmVnZXhlYygp7JeQ7IScIOuLpOydjCDsnoXroKXsl5Ag64yA7ZW0ICVk67KI7J2EIOumrO2EtO2WiOyKteuLiOuLpDogJXMiCisKKyM6IGFwcGx5LmM6OTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgIu2MqOy5mOydmCAlZOuyiCDspITsl5Ag7YyM7J28IOydtOumhOydhCDssL7snYQg7IiYIOyXhuyKteuLiOuLpCIKKworIzogYXBwbHkuYzo5NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgorbXNnc3RyICIiCisiZ2l0IGFwcGx5OiDsnpjrqrvrkJwgZ2l0LWRpZmYgLSAlMiRk67KIIOykhOyXkOyEnCAvZGV2L251bGzsnYQg6riw64yA7ZaI7KeA66eMLCAnJTEkcyfsnbQiCisiKOqwgCkg7JmU7Iq164uI64ukIgorCisjOiBhcHBseS5jOjk4MworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKK21zZ3N0ciAiIgorImdpdCBhcHBseTog7J6Y66q765CcIGdpdC1kaWZmIC0gJWTrsogg7KSE7JeQIOyDiCDtjIzsnbwg7J2066aE7J20IOyYrOuwlOultOyngCDslYrsirXri4jri6QiCisKKyM6IGFwcGx5LmM6OTg0CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgorbXNnc3RyICIiCisiZ2l0IGFwcGx5OiDsnpjrqrvrkJwgZ2l0LWRpZmYgLSAlZOuyiCDspITsl5Ag7JiI7KCEIO2MjOydvCDsnbTrpoTsnbQg7Jis67CU66W07KeAIOyViuyKteuLiOuLpCIKKworIzogYXBwbHkuYzo5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwgb24gbGluZSAlZCIKK21zZ3N0ciAiZ2l0IGFwcGx5OiDsnpjrqrvrkJwgZ2l0LWRpZmYgLSAlZOuyiCDspITsl5DshJwgL2Rldi9udWxs7J2EIOq4sOuMgO2WiOyKteuLiOuLpCIKKworIzogYXBwbHkuYzoxNDg4CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKK21zZ3N0ciAicmVjb3VudDog7JiI7IOB7LmYIOuqu+2VnCDspIQ6ICUuKnMiCisKKyM6IGFwcGx5LmM6MTU1NworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgorbXNnc3RyICIlZOuyiCDspITsl5Ag7Zek642UIOyXhuuKlCDtjKjsuZgg67aA67aEOiAlLipzIgorCisjOiBhcHBseS5jOjE1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgorImNvbXBvbmVudCAobGluZSAlZCkiCittc2dpZF9wbHVyYWwgIiIKKyJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKKyJjb21wb25lbnRzIChsaW5lICVkKSIKK21zZ3N0clswXSAiIgorIuqyveuhnCDsnbTrpoQg67aA67aE7JeQ7IScICVk6rCc66W8IOygnOqxsOudvCDrlYwgZ2l0IGRpZmYg7Zek642U7JeQIO2MjOydvCDsnbTrpoQg7KCV67O06rCAIOyXhuyKteuLiCIKKyLri6QuICglZOuyiCDspIQpIgorCisjOiBhcHBseS5jOjE1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIChsaW5lICVkKSIKK21zZ3N0ciAiZ2l0IGRpZmYg7Zek642U7JeQIO2MjOydvCDsnbTrpoQg7KCV67O06rCAIOyXhuyKteuLiOuLpCAoJWTrsogg7KSEKSIKKworIzogYXBwbHkuYzoxNzU5Cittc2dpZCAibmV3IGZpbGUgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCittc2dzdHIgIuyDiCDtjIzsnbzsnbQg7JiI7KCEIOuCtOyaqeyXkCDsnZjsobTtlanri4jri6QiCisKKyM6IGFwcGx5LmM6MTc2MQorbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgIuyCreygnO2VnCDtjIzsnbzsl5Ag7JWE7KeBIOuCtOyaqeydtCDrk6TslrQg7J6I7Iq164uI64ukIgorCisjOiBhcHBseS5jOjE3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICLtjKjsuZjqsIAgJWTrsogg7KSE7JeQ7IScIOunneqwgOyhjOyKteuLiOuLpCIKKworIzogYXBwbHkuYzoxODMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgorbXNnc3RyICLsg4gg7YyM7J28ICVz7J20KOqwgCkg7JiI7KCEIOuCtOyaqeyXkCDsnZjsobTtlanri4jri6QiCisKKyM6IGFwcGx5LmM6MTgzNAorIywgYy1mb3JtYXQKK21zZ2lkICJkZWxldGVkIGZpbGUgJXMgc3RpbGwgaGFzIGNvbnRlbnRzIgorbXNnc3RyICLsgq3soJztlZwg7YyM7J28ICVz7J20KOqwgCkg7JWE7KeBIOuCtOyaqeydtCDrk6TslrQg7J6I7Iq164uI64ukIgorCisjOiBhcHBseS5jOjE4MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiKiogd2FybmluZzogZmlsZSAlcyBiZWNvbWVzIGVtcHR5IGJ1dCBpcyBub3QgZGVsZXRlZCIKK21zZ3N0ciAiKiog6rK96rOgOiAlcyDtjIzsnbzsnZgg64K07Jqp7J20IOu5hOyWtCDsnojsp4Drp4wg7IKt7KCc65CY7KeAIOyViuyVmOyKteuLiOuLpCIKKworIzogYXBwbHkuYzoxOTg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgIiVk67KIIOykhOyXkCDrsJTsnbTrhIjrpqwg7Yyo7LmY6rCAIOyGkOyDgeuQmOyXiOyKteuLiOuLpDogJS4qcyIKKworIzogYXBwbHkuYzoyMDIxCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIKK21zZ3N0ciAiJWTrsogg7KSE7JeQIOuwlOydtOuEiOumrCDtjKjsuZjqsIAg7J207ZW07ZWgIOyImCDsl4bsirXri4jri6QiCisKKyM6IGFwcGx5LmM6MjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgorbXNnc3RyICIlZOuyiCDspITsl5Ag7JOw66CI6riwIOuNsOydtO2EsOunjCDsnojripQg7Yyo7LmYIgorCisjOiBhcHBseS5jOjIyNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKK21zZ3N0ciAiJXMg7Ius67O866atIOunge2BrOulvCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKKworIzogYXBwbHkuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuIG9yIHJlYWQgJXMiCittc2dzdHIgIiVz7J2EKOulvCkg7Je06rGw64KYIOydveydhCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBhcHBseS5jOjI5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgorbXNnc3RyICLspIQg7Iuc7J6R7J20IOyemOuqu+uQqDogJyVjJyIKKworIzogYXBwbHkuYzozMDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmUpLiIKK21zZ2lkX3BsdXJhbCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZXMpLiIKK21zZ3N0clswXSAi7Yyo7LmYICVk67KIIOu2gOu2hCAlZOuyiCDspITsl5DshJwg7ISx6rO1ICjsmKTtlITshYsgJWTrsogg7KSEKSIKKworIzogYXBwbHkuYzozMDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRleHQgcmVkdWNlZCB0byAoJWxkLyVsZCkgdG8gYXBwbHkgZnJhZ21lbnQgYXQgJWQiCittc2dzdHIgIuy7qO2FjeyKpO2KuOqwgCAoJWxkLyVsZCnroZwg7KSE7Ja065Ot64uI64ukLiAoJWTrsogg7KSE7JeQ7IScIOyggeyaqSkiCisKKyM6IGFwcGx5LmM6MzA2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisid2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKKyIlLipzIgorbXNnc3RyICIiCisi64uk7J2M7J2EIOqygOyDie2VmOuNmCDspJE6XG4iCisiJS4qcyIKKworIzogYXBwbHkuYzozMDkwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgYmluYXJ5IHBhdGNoIGRhdGEgZm9yICclcyciCittc2dzdHIgIiclcyfsl5Ag64yA7ZWcIOuwlOydtOuEiOumrCDtjKjsuZgg642w7J207YSw6rCAIOyXhuyKteuLiOuLpCIKKworIzogYXBwbHkuYzozMDk4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZXZlcnNlLWFwcGx5IGEgYmluYXJ5IHBhdGNoIHdpdGhvdXQgdGhlIHJldmVyc2UgaHVuayB0byAnJXMnIgorbXNnc3RyICIiCisi67CY64yAIO2Xne2BrOqwgCDsl4bsnLzrqbQgJyVzJ+yXkCDrjIDtlZwg67CU7J2064SI66asIO2MqOy5mOulvCDrsJjrjIDroZwg7KCB7Jqp7ZWgIOyImCDsl4bsirXri4jri6QiCisKKyM6IGFwcGx5LmM6MzE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYXBwbHkgYmluYXJ5IHBhdGNoIHRvICclcycgd2l0aG91dCBmdWxsIGluZGV4IGxpbmUiCittc2dzdHIgIiIKKyLsoITssrQg7J24642x7IqkIOudvOyduOydtCDsl4bsnLzrqbQgJyVzJ+yXkCDrjIDtlZwg67CU7J2064SI66asIO2MqOy5mOulvCDsoIHsmqntlaAg7IiYIOyXhuyKteuLiOuLpCIKKworIzogYXBwbHkuYzozMTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ0aGUgcGF0Y2ggYXBwbGllcyB0byAnJXMnICglcyksIHdoaWNoIGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50IGNvbnRlbnRzLiIKK21zZ3N0ciAi7Yyo7LmY6rCAICclcycoJXMp7JeQIOyggeyaqeuQmOyngOunjCwg7ZiE7J6sIOuCtOyaqeqzvCDsnbzsuZjtlZjsp4Ag7JWK7Iq164uI64ukLiIKKworIzogYXBwbHkuYzozMTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwYXRjaCBhcHBsaWVzIHRvIGFuIGVtcHR5ICclcycgYnV0IGl0IGlzIG5vdCBlbXB0eSIKK21zZ3N0ciAi7Yyo7LmY64qUIOu5iCAnJXMn7JeQIOyggeyaqeuQmOyngOunjCwg7ZiE7J6sIOu5hOyWtCDsnojsp4Ag7JWK7Iq164uI64ukIgorCisjOiBhcHBseS5jOjMxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG5lY2Vzc2FyeSBwb3N0aW1hZ2UgJXMgZm9yICclcycgY2Fubm90IGJlIHJlYWQiCittc2dzdHIgIiclMiRzJ+yXkCDrjIDtlZwg7ZWE7JqU7ZWcICUxJHMg7Y+s7Iqk7Yq47J2066+47KeA66W8IOydveydhCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBhcHBseS5jOjMxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciCittc2dzdHIgIuuwlOydtOuEiOumrCDtjKjsuZjrpbwgJyVzJ+yXkCDsoIHsmqntlaAg7IiYIOyXhuyKteuLiOuLpCIKKworIzogYXBwbHkuYzozMTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgorbXNnc3RyICIiCisiJyVzJ+yXkCDrjIDtlZwg67CU7J2064SI66asIO2MqOy5mOqwgCDsmKzrsJTrpbTsp4Ag7JWK7J2AIOqysOqzvOulvCDrp4zrk63ri4jri6QuICjquLDrjIDtlZwg6rCSICVzLCDsi6QiCisi7KCcICVzKSIKKworIzogYXBwbHkuYzozMjIwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgorbXNnc3RyICLtjKjsuZgg7Iuk7YyoOiAlczolbGQiCisKKyM6IGFwcGx5LmM6MzM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCittc2dzdHIgIiVz7J2EKOulvCkg6rCA7KC47JisIOyImCDsl4bsirXri4jri6QiCisKKyM6IGFwcGx5LmM6MzM5MCBhcHBseS5jOjM0MDEgYXBwbHkuYzozNDQ3IHNldHVwLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICVzIgorbXNnc3RyICIlc+ydhCjrpbwpIOydveuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCisKKyM6IGFwcGx5LmM6MzM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICLsi6zrs7zrpq0g66eB7YGsIOuSpOyXkCDsnojripQgJyVzJyDsnb3quLAiCisKKyM6IGFwcGx5LmM6MzQyNyBhcHBseS5jOjM2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiCittc2dzdHIgIiVzIOqyveuhnOqwgCDsnbTrpoTsnbQg67CU64CM7JeI6rGw64KYIOyCreygnOuQmOyXiOyKteuLiOuLpCIKKworIzogYXBwbHkuYzozNTEwIGFwcGx5LmM6MzY4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiCittc2dzdHIgIiVzOiDsnbjrjbHsiqTsl5Ag7JeG7Iq164uI64ukIgorCisjOiBhcHBseS5jOjM1MTkgYXBwbHkuYzozNjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKK21zZ3N0ciAiJXM6IOyduOuNseyKpOyZgCDrp57sp4Ag7JWK7Iq164uI64ukIgorCisjOiBhcHBseS5jOjM1NTQKK21zZ2lkICJyZXBvc2l0b3J5IGxhY2tzIHRoZSBuZWNlc3NhcnkgYmxvYiB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgorbXNnc3RyICLsoIDsnqXshozsl5AgMy3rsKntlqUg67OR7ZWp7Jy866GcIOuMgOyLoO2VoCDrlYwg7ZWE7JqU7ZWcIOu4lOuhreydtCDsl4bsirXri4jri6QuIgorCisjOiBhcHBseS5jOjM1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFsbGluZyBiYWNrIHRvIHRocmVlLXdheSBtZXJnZS4uLlxuIgorbXNnc3RyICIzLeuwqe2WpSDrs5HtlansnLzroZwg64yA7Iug7ZWp64uI64ukLi4uXG4iCisKKyM6IGFwcGx5LmM6MzU3MyBhcHBseS5jOjM1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKK21zZ3N0ciAiJyVzJ+ydmCDtmITsnqwg64K07Jqp7J2EIOydveydhCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBhcHBseS5jOjM1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGZhbGwgYmFjayBvbiB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKK21zZ3N0ciAiMy3rsKntlqUg67OR7ZWp7Jy866GcIOuMgOyLoO2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QuLi5cbiIKKworIzogYXBwbHkuYzozNjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyB3aXRoIGNvbmZsaWN0cy5cbiIKK21zZ3N0ciAi7Yyo7LmY66W8ICclcyfsl5Ag7Lap64+M7J20IOyeiOuKlCDsg4Htg5zroZwg7KCB7JqpLlxuIgorCisjOiBhcHBseS5jOjM2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIGNsZWFubHkuXG4iCittc2dzdHIgIu2MqOy5mOulvCAnJXMn7JeQIO2MqOy5mCDrrLjsoJwg7JeG7J20IOyggeyaqS5cbiIKKworIzogYXBwbHkuYzozNjM0Cittc2dpZCAicmVtb3ZhbCBwYXRjaCBsZWF2ZXMgZmlsZSBjb250ZW50cyIKK21zZ3N0ciAi7KCc6rGw7ZWY64qUIO2MqOy5mCDri6TsnYzsl5Ag7YyM7J28IOuCtOyaqeydtCDrgqjslZjsirXri4jri6QiCisKKyM6IGFwcGx5LmM6MzcwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JvbmcgdHlwZSIKK21zZ3N0ciAiJXM6IOyemOuqu+uQnCDsooXrpZgiCisKKyM6IGFwcGx5LmM6MzcwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCittc2dzdHIgIiVz7J2YIOyiheulmOqwgCAlb+ydtOyngOunjCAlb+ydtCjqsIApIOuQmOyWtOyVvCDtlanri4jri6QiCisKKyM6IGFwcGx5LmM6Mzg1OSBhcHBseS5jOjM4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBwYXRoICclcyciCittc2dzdHIgIuyemOuqu+uQnCDqsr3roZwgJyVzJyIKKworIzogYXBwbHkuYzozOTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKK21zZ3N0ciAiJXM6IOydtOuvuCDsnbjrjbHsiqTsl5Ag7J6I7Iq164uI64ukIgorCisjOiBhcHBseS5jOjM5MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICIlczog7J2066+4IOyekeyXhSDrlJTroInthLDrpqzsl5Ag7J6I7Iq164uI64ukIgorCisjOiBhcHBseS5jOjM5NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgorbXNnc3RyICIlMiRz7J2YIOyDiCDrqqjrk5woJTEkbynqsIAg7JiI7KCEIOuqqOuTnCglMyRvKeyZgCDri6TrpoXri4jri6QiCisKKyM6IGFwcGx5LmM6Mzk0NQorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCittc2dzdHIgIiUyJHPsnZgg7IOIIOuqqOuTnCglMSRvKeqwgCAlNCRz7J2YIOyYiOyghCDrqqjrk5woJTMkbynsmYAg64uk66aF64uI64ukIgorCisjOiBhcHBseS5jOjM5NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWZmZWN0ZWQgZmlsZSAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIuyYge2WpSDrsJvripQgJyVzJyDtjIzsnbzsnbQg7Ius67O866atIOunge2BrCDrkqTsl5Ag7J6I7Iq164uI64ukIgorCisjOiBhcHBseS5jOjM5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICIlczog7Yyo7LmY66W8IOyggeyaqe2VmOyngCDslYrsirXri4jri6QiCisKKyM6IGFwcGx5LmM6Mzk4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKK21zZ3N0ciAiJXMg7Yyo7LmY66W8IO2ZleyduO2VmOuKlCDspJHsnoXri4jri6QuLi4iCisKKyM6IGFwcGx5LmM6NDA3NQorIywgYy1mb3JtYXQKK21zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyBmb3Igc3VibW9kdWxlICVzIgorbXNnc3RyICJzaGExIOygleuztOqwgCDsl4bqsbDrgpggJXMg7ZWY7JyEIOuqqOuTiOyXkOyEnCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKKworIzogYXBwbHkuYzo0MDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGUgY2hhbmdlIGZvciAlcywgd2hpY2ggaXMgbm90IGluIGN1cnJlbnQgSEVBRCIKK21zZ3N0ciAiJXPsl5Ag64yA7ZWcIOuqqOuTnCDrs4Dqsr3snbTsp4Drp4wsIO2YhOyerCBIRUFE7JeQIOyXhuyKteuLiOuLpCIKKworIzogYXBwbHkuYzo0MDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzICglcykuIgorbXNnc3RyICJzaGExIOygleuztOqwgCDsl4bqsbDrgpgg7JO4IOyImCDsl4bsirXri4jri6QgKCVzKS4iCisKKyM6IGFwcGx5LmM6NDA5MCBidWlsdGluL2NoZWNrb3V0LmM6MjMzIGJ1aWx0aW4vcmVzZXQuYzoxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKK21zZ3N0ciAi6rK966GcICclcyfsl5Ag64yA7ZW0IG1ha2VfY2FjaGVfZW50cnkg7Iuk7YyoIgorCisjOiBhcHBseS5jOjQwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGFkZCAlcyB0byB0ZW1wb3JhcnkgaW5kZXgiCittc2dzdHIgIuyehOyLnCDsnbjrjbHsiqTsl5AgJXMg7ZWt66qp7J2EIOy2lOqwgO2VoCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBhcHBseS5jOjQxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlIHRlbXBvcmFyeSBpbmRleCB0byAlcyIKK21zZ3N0ciAi7J6E7IucIOyduOuNseyKpOulvCAlc+yXkCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKKworIzogYXBwbHkuYzo0MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKK21zZ3N0ciAi7J24642x7Iqk7JeQ7IScICVz7J2EKOulvCkg7KCc6rGw7ZWgIOyImCDsl4bsirXri4jri6QiCisKKyM6IGFwcGx5LmM6NDI3NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCittc2dzdHIgIu2VmOychCDrqqjrk4ggJXPsl5Ag64yA7ZW0IOyGkOyDgeuQnCDtjKjsuZgiCisKKyM6IGFwcGx5LmM6NDI4MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKK21zZ3N0ciAi7IOI66GcIOunjOuToCDtjIzsnbwgJyVzJ+yXkCDrjIDtlbQgc3RhdCgp7ZWgIOyImCDsl4bsirXri4jri6QiCisKKyM6IGFwcGx5LmM6NDI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGJhY2tpbmcgc3RvcmUgZm9yIG5ld2x5IGNyZWF0ZWQgZmlsZSAlcyIKK21zZ3N0ciAi7IOI66GcIOunjOuToCDtjIzsnbwgJyVzJ+yXkCDrjIDtlbQg7JiI67mEIOyggOyepeyGjOulvCDrp4zrk6Qg7IiYIOyXhuyKteuLiOuLpCIKKworIzogYXBwbHkuYzo0Mjk3IGFwcGx5LmM6NDQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKK21zZ3N0ciAiJXPsl5Ag64yA7ZW0IOy6kOyLnCDtla3rqqnsnYQg7LaU6rCA7ZWgIOyImCDsl4bsirXri4jri6QiCisKKyM6IGFwcGx5LmM6NDMzOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgdG8gJyVzJyIKK21zZ3N0ciAiJyVzJ+yXkCDsk7DripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgorCisjOiBhcHBseS5jOjQzNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyBmaWxlICclcyciCittc2dzdHIgIiclcycg7YyM7J287J2EIOuLq+uKlCDspJHsnoXri4jri6QiCisKKyM6IGFwcGx5LmM6NDQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCittc2dzdHIgIiclcycg7YyM7J287JeQIOyTuCDsiJgg7JeG7Iq164uI64ukICgnJW8nIOuqqOuTnCkiCisKKyM6IGFwcGx5LmM6NDUxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgorbXNnc3RyICIlcyDtjKjsuZgg6rmU64GU7ZWY6rKMIOyggeyaqS4iCisKKyM6IGFwcGx5LmM6NDUxOAorbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICLrgrTrtoAg7Jik66WYIgorCisjOiBhcHBseS5jOjQ1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIgorbXNnaWRfcGx1cmFsICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3RzLi4uIgorbXNnc3RyWzBdICIlJXMg7Yyo7LmY66W8ICglZOqwnCDqsbDrtoApIOyggeyaqS4uLiIKKworIzogYXBwbHkuYzo0NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKK21zZ3N0ciAidHJ1bmNhdGluZyAucmVqIO2MjOydvCDsnbTrpoTsnYQgJyUuKnMucmVqJyjsnLwp66GcIOyekOumhCIKKworIzogYXBwbHkuYzo0NTQwIGJ1aWx0aW4vZmV0Y2guYzo3NDAgYnVpbHRpbi9mZXRjaC5jOjk4OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiJXPsnYQo66W8KSDsl7Qg7IiYIOyXhuyKteuLiOuLpCIKKworIzogYXBwbHkuYzo0NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkh1bmsgIyVkIGFwcGxpZWQgY2xlYW5seS4iCittc2dzdHIgIu2MqOy5mCDrtoDsnIQgIyVkIOq5lOuBlO2VmOqyjCDsoIHsmqkuIgorCisjOiBhcHBseS5jOjQ1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgorbXNnc3RyICLtjKjsuZgg67aA7JyEICMlZCDqsbDrtoDrkKguIgorCisjOiBhcHBseS5jOjQ2NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBlZCBwYXRjaCAnJXMnLiIKK21zZ3N0ciAi7Yyo7LmYICclcycg6rG064SI65yALiIKKworIzogYXBwbHkuYzo0Njc2Cittc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgorbXNnc3RyICLsnbjsi53tlaAg7IiYIOyXhuuKlCDsnoXroKUiCisKKyM6IGFwcGx5LmM6NDY5NQorbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCittc2dzdHIgIuyduOuNseyKpCDtjIzsnbzsnYQg7J297J2EIOyImCDsl4bsirXri4jri6QiCisKKyM6IGFwcGx5LmM6NDgzMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBvcGVuIHBhdGNoICclcyc6ICVzIgorbXNnc3RyICInJXMnIO2MqOy5mOulvCDsl7Qg7IiYIOyXhuyKteuLiOuLpDogJXMiCisKKyM6IGFwcGx5LmM6NDg1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3JzIgorbXNnc3RyWzBdICLqs7XrsLEg7Jik66WYICVk6rCc66W8IOuEmOyWtOqwkeuLiOuLpCIKKworIzogYXBwbHkuYzo0ODY0IGFwcGx5LmM6NDg3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnc3RyWzBdICIlZOuyiCDspITsl5DshJwg6rO167CxIOyYpOulmOulvCDstpTqsIDtlanri4jri6QuIgorCisjOiBhcHBseS5jOjQ4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgbGluZSBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ3N0clswXSAi6rO167CxIOyYpOulmOulvCDrsJTroZzsnqHsnYAg65Kk7JeQICVk67KIIOykhCDsoIHsmqkuIgorCisjOiBhcHBseS5jOjQ4ODggYnVpbHRpbi9hZGQuYzo0NjMgYnVpbHRpbi9tdi5jOjI4NiBidWlsdGluL3JtLmM6NDMxCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgorbXNnc3RyICLsg4gg7J24642x7IqkIO2MjOydvOyXkCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKKworIzogYXBwbHkuYzo0OTE5IGFwcGx5LmM6NDkyMiBidWlsdGluL2FtLmM6MjI3NyBidWlsdGluL2FtLmM6MjI4MAorIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vZmV0Y2guYzo5OCBidWlsdGluL3B1bGwuYzoxODAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU4OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDcKK21zZ2lkICJwYXRoIgorbXNnc3RyICLqsr3roZwiCisKKyM6IGFwcGx5LmM6NDkyMAorbXNnaWQgImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCittc2dzdHIgIuyjvOyWtOynhCDqsr3roZzsl5Ag7ZW064u57ZWY64qUIOuzgOqyvSDsgqztla3snYQg7KCB7Jqp7ZWY7KeAIOyViuyKteuLiOuLpCIKKworIzogYXBwbHkuYzo0OTIzCittc2dpZCAiYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKK21zZ3N0ciAi7KO87Ja07KeEIOqyveuhnOyXkCDtlbTri7ntlZjripQg67OA6rK9IOyCrO2VreydhCDsoIHsmqntlanri4jri6QiCisKKyM6IGFwcGx5LmM6NDkyNSBidWlsdGluL2FtLmM6MjI4NgorbXNnaWQgIm51bSIKK21zZ3N0ciAi6rCc7IiYIgorCisjOiBhcHBseS5jOjQ5MjYKK21zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKK21zZ3N0ciAi7KCE7Ya17KCB7J24IGRpZmYg6rK966GcIOyVnuydmCA86rCc7IiYPuqwnOydmCDslZ4g7Iqs656Y7IucKC8p66W8IOygnOqxsO2VqeuLiOuLpCIKKworIzogYXBwbHkuYzo0OTI5Cittc2dpZCAiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIKK21zZ3N0ciAi7Yyo7LmY7JeQ7IScIOy2lOqwgO2VmOuKlCDtjIzsnbzsnYQg66y07Iuc7ZWp64uI64ukIgorCisjOiBhcHBseS5jOjQ5MzEKK21zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCittc2dzdHIgIu2MqOy5mOulvCDsoIHsmqntlZjripQg64yA7IugLCDsnoXroKXsl5Ag64yA7ZWcIGRpZmZzdGF07J2EIOy2nOugpe2VqeuLiOuLpCIKKworIzogYXBwbHkuYzo0OTM1Cittc2dpZCAic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIKK21zZ3N0ciAi7Iut7KeE7IiY66GcIOy2lOqwgCDrsI8g7IKt7KCc7ZWcIOykhCDsiJjrpbwg7ZGc7Iuc7ZWp64uI64ukIgorCisjOiBhcHBseS5jOjQ5MzcKK21zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgorbXNnc3RyICLtjKjsuZjrpbwg7KCB7Jqp7ZWY64qUIOuMgOyLoCwg7J6F66Cl7JeQIOuMgO2VnCDsmpTslb3snYQg7Lac66Cl7ZWp64uI64ukIgorCisjOiBhcHBseS5jOjQ5MzkKK21zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIgorbXNnc3RyICLtjKjsuZjrpbwg7KCB7Jqp7ZWY64qUIOuMgOyLoCwg7Yyo7LmY66W8IOyggeyaqSDqsIDriqXtlZzsp4Ag7ZmV7J247ZWp64uI64ukIgorCisjOiBhcHBseS5jOjQ5NDEKK21zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCittc2dzdHIgIu2YhOyerCDsnbjrjbHsiqTsl5DshJwg7Yyo7LmY6rCAIOyggeyaqSDqsIDriqXtlZzsp4Ag7ZmV7J247ZWp64uI64ukIgorCisjOiBhcHBseS5jOjQ5NDMKK21zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAi7J6R7JeFIO2PtOuNlOulvCDrsJTqvrjsp4Ag7JWK6rOgIO2MqOy5mOulvCDsoIHsmqntlanri4jri6QiCisKKyM6IGFwcGx5LmM6NDk0NQorbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCittc2dzdHIgIuyekeyXhSDsmIHsl60g67CW7J2YIO2MjOydvOydhCDrsJTqvrjripQg7Yyo7LmY66W8IO2XiOyaqe2VqeuLiOuLpCIKKworIzogYXBwbHkuYzo0OTQ3Cittc2dpZCAiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCittc2dzdHIgIuq3uOumrOqzoCDtjKjsuZjrj4Qg7KCB7Jqp7ZWp64uI64ukICgtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2sg7Ji17IWY6rO8IOqwmeydtCDsgqzsmqkpIgorCisjOiBhcHBseS5jOjQ5NDkKK21zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICLtjKjsuZjrpbwg7KCB7Jqp7ZWY7KeAIOyViuycvOuptCAzLeuwqe2WpSDrs5HtlansnYQg7Iuc64+E7ZWp64uI64ukIgorCisjOiBhcHBseS5jOjQ5NTEKK21zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKK21zZ3N0ciAi64K07J6lIOyduOuNseyKpCDsoJXrs7Trpbwg7IKs7Jqp7ZW0IOyehOyLnCDsnbjrjbHsiqTrpbwg66eM65Ot64uI64ukIgorCisjOiBhcHBseS5jOjQ5NTQgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OSBidWlsdGluL2xzLWZpbGVzLmM6NTA1Cittc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgIuqyveuhnOulvCBOVUwg66y47J6Q66GcIOq1rOu2hO2VqeuLiOuLpCIKKworIzogYXBwbHkuYzo0OTU2Cittc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgorbXNnc3RyICLstZzshoztlZwgPG4+7KSE7J20IOy7qO2FjeyKpO2KuOyZgCDsnbzsuZjtlZjripTsp4Ag7ZmV7J247ZWp64uI64ukIgorCisjOiBhcHBseS5jOjQ5NTcgYnVpbHRpbi9hbS5jOjIyNjUKK21zZ2lkICJhY3Rpb24iCittc2dzdHIgIuuPmeyekSIKKworIzogYXBwbHkuYzo0OTU4Cittc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHIgIuqzteuwsSDsmKTrpZjqsIAg7J6I64qUIOy2lOqwgOuQkOqxsOuCmCDsiJjsoJXrkJwg7KSE7J2EIOywvuyKteuLiOuLpCIKKworIzogYXBwbHkuYzo0OTYxIGFwcGx5LmM6NDk2NAorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiCittc2dzdHIgIuy7qO2FjeyKpO2KuOulvCDssL7snYQg65WMIOqzteuwsSDrs4Dqsr0g7IKs7ZWt7J2EIOustOyLnO2VqeuLiOuLpCIKKworIzogYXBwbHkuYzo0OTY3Cittc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCittc2dzdHIgIu2MqOy5mOulvCDrsJjrjIAg7Iic7ISc66GcIOyggeyaqe2VqeuLiOuLpCIKKworIzogYXBwbHkuYzo0OTY5Cittc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCittc2dzdHIgIuy1nOyGjO2VnOydmCDsu6jthY3siqTtirgg7ZWcIOykhOuPhCDsl4bsnbQg7KCB7Jqp7ZWp64uI64ukIgorCisjOiBhcHBseS5jOjQ5NzEKK21zZ2lkICJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIKK21zZ3N0ciAi6rGw67aA65CcIO2MqOy5mCDrtoDrtoTsnYQg64yA7J2R65CY64qUICoucmVqIO2MjOydvOyXkCDrgqjqsqjrkaHri4jri6QiCisKKyM6IGFwcGx5LmM6NDk3MworbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgorbXNnc3RyICLtjKjsuZgg67aA67aE7J20IOqyueyzkOuPhCDtl4jsmqntlanri4jri6QiCisKKyM6IGFwcGx5LmM6NDk3NCBidWlsdGluL2FkZC5jOjI2NyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzMzkgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTQgYnVpbHRpbi9mc2NrLmM6NTkzCisjOiBidWlsdGluL2xvZy5jOjE4NjAgYnVpbHRpbi9tdi5jOjExMCBidWlsdGluL3JlYWQtdHJlZS5jOjExNAorbXNnaWQgImJlIHZlcmJvc2UiCittc2dzdHIgIuyekOyEuO2eiCDtkZzsi5wiCisKKyM6IGFwcGx5LmM6NDk3NgorbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgorbXNnc3RyICLtjIzsnbwg64Gd7JeQIOykhOuwlOq/iOydtCDruaDsoYzsnYzsnYQg7J6Y66q7IOqygOyDie2VnCDqsr3smrDsl5Ag66y07Iuc7ZWp64uI64ukIgorCisjOiBhcHBseS5jOjQ5NzkKK21zZ2lkICJkbyBub3QgdHJ1c3QgdGhlIGxpbmUgY291bnRzIGluIHRoZSBodW5rIGhlYWRlcnMiCittc2dzdHIgIu2MqOy5mCDrtoDrtoTsnZgg7Zek642U7J2YIOykhCDsiJjrpbwg7Iug7Jqp7ZWY7KeAIOyViuyKteuLiOuLpCIKKworIzogYXBwbHkuYzo0OTgxIGJ1aWx0aW4vYW0uYzoyMjc0Cittc2dpZCAicm9vdCIKK21zZ3N0ciAi7LWc7IOB7JyEIgorCisjOiBhcHBseS5jOjQ5ODIKK21zZ2lkICJwcmVwZW5kIDxyb290PiB0byBhbGwgZmlsZW5hbWVzIgorbXNnc3RyICLrqqjrk6Ag7YyM7J28IOydtOumhOyXkCA87LWc7IOB7JyEPuulvCDslZ7sl5Ag67aZ7J6F64uI64ukIgorCiAjOiBhcmNoaXZlLmM6MTIKIG1zZ2lkICJnaXQgYXJjaGl2ZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgYXJjaGl2ZSBbPOyYteyFmD5dIDztirjrpqwt65Sw7JyEPiBbPOqyveuhnD4uLi5dIgpAQCAtMTEyLDcgKzc3Nyw3IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPOyggOyepeyGjD4gWy0tZXhlYyA866qF66C5Pl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzQ0IGJ1aWx0aW4vYWRkLmM6MTM3IGJ1aWx0aW4vYWRkLmM6NDIwIGJ1aWx0aW4vcm0uYzozMjcKKyM6IGFyY2hpdmUuYzozNDQgYnVpbHRpbi9hZGQuYzoxNTIgYnVpbHRpbi9hZGQuYzo0NDIgYnVpbHRpbi9ybS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgogbXNnc3RyICInJXMnIOqyveuhnOuqheyEuOqwgCDslrTrlqQg7YyM7J286rO864+EIOydvOy5mO2VmOyngCDslYrsirXri4jri6QiCkBAIC0xMjUsNyArNzkwLDcgQEAKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAi7JWV7LaVIO2YleyLnSIKIAotIzogYXJjaGl2ZS5jOjQzMCBidWlsdGluL2xvZy5jOjEzOTUKKyM6IGFyY2hpdmUuYzo0MzAgYnVpbHRpbi9sb2cuYzoxNDI5CiBtc2dpZCAicHJlZml4IgogbXNnc3RyICLsoJHrkZDslrQiCiAKQEAgLTEzMywxMSArNzk4LDExIEBACiBtc2dpZCAicHJlcGVuZCBwcmVmaXggdG8gZWFjaCBwYXRobmFtZSBpbiB0aGUgYXJjaGl2ZSIKIG1zZ3N0ciAi7JWE7Lm07J2067iM7J2YIOqwgSDqsr3roZwg7J2066aE7J2YIOyVnuyXkCDsp4DsoJXtlZwg6rK966Gc66W8IOu2meyeheuLiOuLpCIKIAotIzogYXJjaGl2ZS5jOjQzMiBidWlsdGluL2FyY2hpdmUuYzo4OCBidWlsdGluL2JsYW1lLmM6MjU0OCBidWlsdGluL2JsYW1lLmM6MjU0OQotIzogYnVpbHRpbi9jb25maWcuYzo2MCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwIGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTkKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjIgYnVpbHRpbi9ub3Rlcy5jOjM5OCBidWlsdGluL25vdGVzLmM6NTYxCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEwOSBwYXJzZS1vcHRpb25zLmg6MTUzCisjOiBhcmNoaXZlLmM6NDMyIGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyNjAzCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNCBidWlsdGluL2NvbmZpZy5jOjU5IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkgYnVpbHRpbi9ncmVwLmM6NzIzIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzkgYnVpbHRpbi9scy1maWxlcy5jOjU0MiBidWlsdGluL25vdGVzLmM6NDAxCisjOiBidWlsdGluL25vdGVzLmM6NTY0IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA5IHBhcnNlLW9wdGlvbnMuaDoxNTMKIG1zZ2lkICJmaWxlIgogbXNnc3RyICLtjIzsnbwiCiAKQEAgLTE2OSw4ICs4MzQsOCBAQAogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAi7KeA7JuQ7ZWY64qUIOyVley2lSDtmJXsi53snZgg66qp66Gd7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYXJjaGl2ZS5jOjQ1MSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODIKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzYKKyM6IGFyY2hpdmUuYzo0NTEgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg1IGJ1aWx0aW4vY2xvbmUuYzo4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUzCiBtc2dpZCAicmVwbyIKIG1zZ3N0ciAi7KCA7J6l7IaMIgogCkBAIC0xNzgsNyArODQzLDcgQEAKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAi7JuQ6rKpIOyggOyepeyGjCA87KCA7J6l7IaMPuyXkOyEnCDslYTsubTsnbTruIzrpbwg6rCA7KC47Ji164uI64ukIgogCi0jOiBhcmNoaXZlLmM6NDUzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODIKKyM6IGFyY2hpdmUuYzo0NTMgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NQogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgIuuqheuguSIKIApAQCAtMTg2LDYgKzg1MSwyOCBAQAogbXNnaWQgInBhdGggdG8gdGhlIHJlbW90ZSBnaXQtdXBsb2FkLWFyY2hpdmUgY29tbWFuZCIKIG1zZ3N0ciAi7JuQ6rKpIGdpdC11cGxvYWQtYXJjaGl2ZSDrqoXroLnsnZgg6rK966GcIgogCisjOiBhcmNoaXZlLmM6NDYxCittc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiCittc2dzdHIgIuyYiOyDgey5mCDrqrvtlZwg7Ji17IWYIC0tcmVtb3RlIgorCisjOiBhcmNoaXZlLmM6NDYzCittc2dpZCAiT3B0aW9uIC0tZXhlYyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZW1vdGUiCittc2dzdHIgIi0tZXhlYyDsmLXshZjsnYAgLS1yZW1vdGUg7Ji17IWY6rO8IOqwmeydtCDsgqzsmqntlaAg6rK97Jqw7JeQ66eMIOyTuCDsiJgg7J6I7Iq164uI64ukLiIKKworIzogYXJjaGl2ZS5jOjQ2NQorbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tb3V0cHV0IgorbXNnc3RyICLsmIjsg4HsuZgg66q77ZWcIOyYteyFmCAtLW91dHB1dCIKKworIzogYXJjaGl2ZS5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGFyY2hpdmUgZm9ybWF0ICclcyciCittc2dzdHIgIuyVjCDsiJgg7JeG64qUIOyVhOy5tOydtOu4jCDtmJXsi50gJyVzJyIKKworIzogYXJjaGl2ZS5jOjQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJBcmd1bWVudCBub3Qgc3VwcG9ydGVkIGZvciBmb3JtYXQgJyVzJzogLSVkIgorbXNnc3RyICInJXMnIO2YleyLneyXkOyEnOuKlCDsp4Dsm5DtlZjsp4Ag7JWK64qUIOyduOyekDogLSVkIgorCiAjOiBhdHRyLmM6MjYzCiBtc2dpZCAiIgogIk5lZ2F0aXZlIHBhdHRlcm5zIGFyZSBpZ25vcmVkIGluIGdpdCBhdHRyaWJ1dGVzXG4iCkBAIC0xOTQsNiArODgxLDEyNyBAQAogImdpdCBhdHRyaWJ1dGVz7JeQ7IScIOuwmOuMgCDtjKjthLTsnYAg66y07Iuc65Cp64uI64ukLlxuIgogIuyVnuyXkCDripDrgoztkZzrpbwg7JOw66Ck66m0ICdcXCEn66W8IOyCrOyaqe2VmOyLreyLnOyYpC4iCiAKKyM6IGJpc2VjdC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlICclcyciCittc2dzdHIgIiclcycg7YyM7J287J2EIOyXtCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBiaXNlY3QuYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkbHkgcXVvdGVkIGNvbnRlbnQgaW4gZmlsZSAnJXMnOiAlcyIKK21zZ3N0ciAiJyVzJyDtjIzsnbwg7JWI7JeQIOyemOuqu+uQnCDrlLDsmLTtkZzqsIAg67aZ7J2AIOuCtOyaqTogJXMiCisKKyM6IGJpc2VjdC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJXZSBjYW5ub3QgYmlzZWN0IG1vcmUhXG4iCittc2dzdHIgIuuNlCDsnbTsg4Eg7J2065Ox67aE7ZWgIOyImCDsl4bsirXri4jri6QhXG4iCisKKyM6IGJpc2VjdC5jOjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYSB2YWxpZCBjb21taXQgbmFtZSAlcyIKK21zZ3N0ciAi7Jis67CU66W4IOy7pOuwiyDsnbTrpoTsnbQg7JWE64uZ64uI64ukICglcykiCisKKyM6IGJpc2VjdC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIG1lcmdlIGJhc2UgJXMgaXMgYmFkLlxuIgorIlRoaXMgbWVhbnMgdGhlIGJ1ZyBoYXMgYmVlbiBmaXhlZCBiZXR3ZWVuICVzIGFuZCBbJXNdLlxuIgorbXNnc3RyICIiCisiJXMg67OR7ZWpIOuyoOydtOyKpOqwgCDruYTsoJXsg4HsnoXri4jri6QuXG4iCisi67KE6re46rCAICVzIOuwjyBbJXNdIOyCrOydtOyXkOyEnCDqs6Dss5DsoYzri6TripQg65y77J6F64uI64ukLlxuIgorCisjOiBiaXNlY3QuYzo3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzIG5ldy5cbiIKKyJUaGUgcHJvcGVydHkgaGFzIGNoYW5nZWQgYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIKK21zZ3N0ciAiIgorIiVzIOuzke2VqSDrsqDsnbTsiqTqsIAg7IOI66Gt7Iq164uI64ukLlxuIgorIuyGjeyEseydtCAlcyDrsI8gWyVzXSDsgqzsnbTsl5DshJwg67OA6rK965CY7JeI7Iq164uI64ukLlxuIgorCisjOiBiaXNlY3QuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzICVzLlxuIgorIlRoaXMgbWVhbnMgdGhlIGZpcnN0ICclcycgY29tbWl0IGlzIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgIiIKKyIlcyDrs5Htlakg67Kg7J207Iqk6rCAICVz7J6F64uI64ukLlxuIgorIuyymOydjCAnJXMnIOy7pOuwi+ydtCAlcyDrsI8gWyVzXSDsgqzsnbTrnbzripQg65y77J6F64uI64ukLlxuIgorCisjOiBiaXNlY3QuYzo3NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlNvbWUgJXMgcmV2cyBhcmUgbm90IGFuY2VzdG9yIG9mIHRoZSAlcyByZXYuXG4iCisiZ2l0IGJpc2VjdCBjYW5ub3Qgd29yayBwcm9wZXJseSBpbiB0aGlzIGNhc2UuXG4iCisiTWF5YmUgeW91IG1pc3Rvb2sgJXMgYW5kICVzIHJldnM/XG4iCittc2dzdHIgIiIKKyLsnbzrtoAgJXMg66as67mE7KCE7J20ICVzIOumrOu5hOyghOydmCDqs7zqsbAg7ZWt66qp7J20IOyVhOuLmeuLiOuLpC5cbiIKKyJnaXQgYmlzZWN0IOuqheugueydgCDsnbQg6rK97Jqw7JeQ64qUIOyYrOuwlOultOqyjCDrj5nsnpHtlZjsp4Ag7JWK7Iq164uI64ukLlxuIgorIiVzIOuwjyAlcyDrpqzruYTsoITsnYQg7J6Y66q7IOyTtCDqsoMg7JWE64uZ64uI6rmMP1xuIgorCisjOiBiaXNlY3QuYzo3NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBtZXJnZSBiYXNlIGJldHdlZW4gJXMgYW5kIFslc10gbXVzdCBiZSBza2lwcGVkLlxuIgorIlNvIHdlIGNhbm5vdCBiZSBzdXJlIHRoZSBmaXJzdCAlcyBjb21taXQgaXMgYmV0d2VlbiAlcyBhbmQgJXMuXG4iCisiV2UgY29udGludWUgYW55d2F5LiIKK21zZ3N0ciAiIgorIiVzIOuwjyAlcyDsgqzsnbTsnZgg66i47KeAIOuyoOydtOyKpOulvCDqsbTrhIjrnIHri4jri6QuXG4iCisi6re465+s66+A66GcIOyymOydjCAlcyDsu6TrsIvsnbQgJXMg67CPICVzIOyCrOydtOyXkCDsnojripTsp4Ag7ZmV7Iug7ZWgIOyImCDsl4bsirXri4jri6QuXG4iCisi7Ja07KiM65OgIOqzhOyGje2VqeuLiOuLpC4iCisKKyM6IGJpc2VjdC5jOjc5OAorIywgYy1mb3JtYXQKK21zZ2lkICJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIgorbXNnc3RyICLsnbTrk7HrtoQ6IOuzke2VqSDrsqDsnbTsiqTrpbwg7Iuc7ZeY7ZW07JW8IO2VqeuLiOuLpFxuIgorCisjOiBiaXNlY3QuYzo4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCittc2dzdHIgIu2VmOuCmOydmCAlcyDrpqzruYTsoITsnbQg7ZWE7JqU7ZWp64uI64ukIgorCisjOiBiaXNlY3QuYzo4NjYgYnVpbHRpbi9ub3Rlcy5jOjE3NCBidWlsdGluL3RhZy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKK21zZ3N0ciAiJyVzJyDtjIzsnbzsnYQg66eM65OkIOyImCDsl4bsirXri4jri6QiCisKKyM6IGJpc2VjdC5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBmaWxlICclcyciCittc2dzdHIgIiclcycg7YyM7J287J2EIOydveydhCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBiaXNlY3QuYzo5NDcKK21zZ2lkICJyZWFkaW5nIGJpc2VjdCByZWZzIGZhaWxlZCIKK21zZ3N0ciAi7J2065Ox67aEIOugiO2NvOufsOyKpCDsnb3quLDsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukIgorCisjOiBiaXNlY3QuYzo5NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgd2FzIGJvdGggJXMgYW5kICVzXG4iCittc2dzdHIgIiVz7J2AKOuKlCkgJXMg67CPICVzIOuqqOuRkOyXkCDtlbTri7nrkKnri4jri6RcbiIKKworIzogYmlzZWN0LmM6OTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJObyB0ZXN0YWJsZSBjb21taXQgZm91bmQuXG4iCisiTWF5YmUgeW91IHN0YXJ0ZWQgd2l0aCBiYWQgcGF0aCBwYXJhbWV0ZXJzP1xuIgorbXNnc3RyICIiCisi7Iuc7ZeYIOqwgOuKpe2VnCDsu6TrsIvsnbQg7JeG7Iq164uI64ukLlxuIgorIuyemOuqu+uPhOuLiCDqsr3roZwg7YyM652866+47YSw66GcIOyLnOyeke2VmOyngCDslYrslZjsirXri4jquYw/XG4iCisKKyM6IGJpc2VjdC5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICIocm91Z2hseSAlZCBzdGVwKSIKK21zZ2lkX3BsdXJhbCAiKHJvdWdobHkgJWQgc3RlcHMpIgorbXNnc3RyWzBdICIo64yA6561ICVkIOuLqOqzhCkiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGUgbGFzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIHdpdGgKKyMuICIocm91Z2hseSAlZCBzdGVwcykiIHRyYW5zbGF0aW9uCisjOiBiaXNlY3QuYzo5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbiBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgorbXNnaWRfcGx1cmFsICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9ucyBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgorbXNnc3RyWzBdICLsnbTrk7HrtoQ6ICUyJHMg65Kk7JeQIOyLnO2XmO2VoCDrpqzruYTsoITsnbQgJTEkZOqwnCDrgqjslZjsirXri4jri6RcbiIKKwogIzogYnJhbmNoLmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgpAQCAtMzA5LDI3ICsxMTE3LDI3IEBACiAi7IOIIOuhnOy7rCDruIzrnpzsuZjrpbwg6rGw6riw7JeQIO2VtOuLue2VmOuKlCDrpqzrqqjtirgg67iM656c7LmY66GcIHB1c2jtlZjroKTrqbQsXG4iCiAiXCJnaXQgcHVzaCAtdVwi66GcIHB1c2jtlZjripQg7JeF7Iqk7Yq466a87J2EIOyEpOygle2VoCDsiJgg7J6I7Iq164uI64ukLiIKIAotIzogYnJhbmNoLmM6MjY2CisjOiBicmFuY2guYzoyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICLsmKzrsJTrpbgg7Jik67iM7KCd7Yq4IOydtOumhOydtCDslYTri5nri4jri6Q6ICclcycuIgogCi0jOiBicmFuY2guYzoyODYKKyM6IGJyYW5jaC5jOjI4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJBbWJpZ3VvdXMgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICLslaDrp6TtlZwg7Jik67iM7KCd7Yq4IOydtOumhDogJyVzJy4iCiAKLSM6IGJyYW5jaC5jOjI5MQorIzogYnJhbmNoLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIGJyYW5jaCBwb2ludDogJyVzJy4iCiBtc2dzdHIgIuyYrOuwlOuluCDruIzrnpzsuZgg7JyE7LmY6rCAIOyVhOuLmeuLiOuLpDogJyVzJy4iCiAKLSM6IGJyYW5jaC5jOjM0NQorIzogYnJhbmNoLmM6MzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICInJXMn7J2AKOuKlCkg7J2066+4ICclcycg7JyE7LmY7JeQIOuwm+yVhOyguCDsnojsirXri4jri6QiCiAKLSM6IGJyYW5jaC5jOjM2NAorIzogYnJhbmNoLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgb2Ygd29ya2luZyB0cmVlICVzIGlzIG5vdCB1cGRhdGVkIgogbXNnc3RyICLsnpHsl4Ug7Y+0642UICVz7J2YIO2XpOuTnOqwgCDsl4XrjbDsnbTtirjrkJjsp4Ag7JWK7JWY7Iq164uI64ukIgpAQCAtMzQ0LDcgKzExNTIsNyBAQAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAi7J247Iud7ZWgIOyImCDsl4bripQg7Zek642UOiAlcyVzICglZCkiCiAKLSM6IGJ1bmRsZS5jOjg3IGJ1aWx0aW4vY29tbWl0LmM6Nzc3CisjOiBidW5kbGUuYzo4NyBzZXF1ZW5jZXIuYzo5NjMgYnVpbHRpbi9jb21taXQuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAiJyVzJ+ydhCjrpbwpIOyXtCDsiJgg7JeG7Iq164uI64ukIgpAQCAtMzUzLDEwICsxMTYxLDEwIEBACiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCiBtc2dzdHIgIuyggOyepeyGjOyXkCDtlYTsiJjsoIHsnbgg64uk7J2MIOy7pOuwi+ydtCDsl4bsirXri4jri6Q6IgogCi0jOiBidW5kbGUuYzoxNjMgcmVmLWZpbHRlci5jOjE0NjIgc2VxdWVuY2VyLmM6NjI3IHNlcXVlbmNlci5jOjEwNzMKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNzU1IGJ1aWx0aW4vY29tbWl0LmM6MTA1NiBidWlsdGluL2xvZy5jOjM0MAotIzogYnVpbHRpbi9sb2cuYzo4NjMgYnVpbHRpbi9sb2cuYzoxMzA4IGJ1aWx0aW4vbG9nLmM6MTYzMyBidWlsdGluL2xvZy5jOjE4NzUKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNjEgYnVpbHRpbi9zaG9ydGxvZy5jOjE3MAorIzogYnVuZGxlLmM6MTYzIHJlZi1maWx0ZXIuYzoxNDYyIHNlcXVlbmNlci5jOjgzMCBzZXF1ZW5jZXIuYzoxMzc0CisjOiBidWlsdGluL2JsYW1lLmM6MjgxNCBidWlsdGluL2NvbW1pdC5jOjEwNjEgYnVpbHRpbi9sb2cuYzozNDgKKyM6IGJ1aWx0aW4vbG9nLmM6ODkwIGJ1aWx0aW4vbG9nLmM6MTM0MCBidWlsdGluL2xvZy5jOjE2NjYgYnVpbHRpbi9sb2cuYzoxOTA5CisjOiBidWlsdGluL21lcmdlLmM6MzU2IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNzAKIG1zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKIG1zZ3N0ciAi66as67mE7KCEIHdhbGsg7KSA67mE6rCAIOyLpO2MqO2WiOyKteuLiOuLpCIKIApAQCAtMzkzLDcgKzEyMDEsNyBAQAogbXNnaWQgInJlZiAnJXMnIGlzIGV4Y2x1ZGVkIGJ5IHRoZSByZXYtbGlzdCBvcHRpb25zIgogbXNnc3RyICJyZXYtbGlzdCDsmLXshZjsl5DshJwgJyVzJyDroIjtjbzrn7DsiqTqsIAg7KCc7Jm465CY7JeI7Iq164uI64ukIgogCi0jOiBidW5kbGUuYzo0NDMgYnVpbHRpbi9sb2cuYzoxNjMgYnVpbHRpbi9sb2cuYzoxNTM4IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKKyM6IGJ1bmRsZS5jOjQ0MyBidWlsdGluL2xvZy5jOjE2NSBidWlsdGluL2xvZy5jOjE1NzIgYnVpbHRpbi9zaG9ydGxvZy5jOjI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLslYwg7IiYIOyXhuuKlCDsnbjsnpA6ICVzIgpAQCAtNDExLDEzICsxMjE5LDEzIEBACiBtc2dpZCAiaW5kZXgtcGFjayBkaWVkIgogbXNnc3RyICJpbmRleC1wYWNrIOuqheugueydtCDso73sl4jsirXri4jri6QiCiAKLSM6IGNvbG9yLmM6Mjc1CisjOiBjb2xvci5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbG9yIHZhbHVlOiAlLipzIgogbXNnc3RyICLsnpjrqrvrkJwg7IOJIOqwkjogJS4qcyIKIAotIzogY29tbWl0LmM6NDAgYnVpbHRpbi9hbS5jOjQzNyBidWlsdGluL2FtLmM6NDczIGJ1aWx0aW4vYW0uYzoxNTA0Ci0jOiBidWlsdGluL2FtLmM6MjEzNAorIzogY29tbWl0LmM6NDAgYnVpbHRpbi9hbS5jOjQyMSBidWlsdGluL2FtLmM6NDU3IGJ1aWx0aW4vYW0uYzoxNDkzCisjOiBidWlsdGluL2FtLmM6MjEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCiBtc2dzdHIgInBhcnNlICVz7J2EKOulvCkg7YyM7Iux7ZWgIOyImCDsl4bsirXri4jri6QiCkBAIC00MjcsMTM5ICsxMjM1LDI1NSBAQAogbXNnaWQgIiVzICVzIGlzIG5vdCBhIGNvbW1pdCEiCiBtc2dzdHIgIiVzICVzLCDsu6TrsIvsnbQg7JWE64uZ64uI64ukIgogCisjOiBjb21taXQuYzoxNTE0Cittc2dpZCAiIgorIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKKyJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgorInZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgdG8gdGhlIGVuY29kaW5nIHlvdXIgcHJvamVjdCB1c2VzLlxuIgorbXNnc3RyICIiCisi6rK96rOgOiDsu6TrsIsg66mU7Iuc7KeA6rCAIFVURi04IOyduOy9lOuUqeyXkCDrp57sp4Ag7JWK7Iq164uI64ukLlxuIgorIuuplOyLnOyngOulvCDsiJjsoJXtlZwg64uk7J2MIOy7pOuwi+ydhCDsiJjsoJXtlZjqsbDrgpgsIOyEpOygleydmCBpMThuLmNvbW1pdGVuY29kaW5nXG4iCisi67OA7IiY66W8IO2UhOuhnOygne2KuOqwgCDsgqzsmqkg7KSR7J24IOyduOy9lOuUqeycvOuhnCDrp57stpTsi63si5zsmKQuXG4iCisKICM6IGNvbXBhdC9vYnN0YWNrLmM6NDA2IGNvbXBhdC9vYnN0YWNrLmM6NDA4CiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAi66mU66qo66asIOuwlOuLpeuCqCIKIAotIzogY29uZmlnLmM6NDc1IGNvbmZpZy5jOjQ3NworIzogY29uZmlnLmM6NTE2CiAjLCBjLWZvcm1hdAotbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyAlcyIKLW1zZ3N0ciAiJTIkcyAlMyRzICUxJGTrsogg7KSE7JeQIOyemOuqu+uQnCDshKTsoJUiCittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCittc2dzdHIgIuu4lOuhrSAlMiRzIOyViOyXkCAlMSRk67KIIOykhOyXkCDsnpjrqrvrkJwg7ISk7KCVIgogCi0jOiBjb25maWcuYzo1OTMKKyM6IGNvbmZpZy5jOjUyMAogIywgYy1mb3JtYXQKLW1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlcyAlczogJXMiCi1tc2dzdHIgIuyemOuqu+uQnCDsiJjsuZgg7ISk7KCVIOqwkiAnJXMnICjtgqQgJyVzJywgJXMgJXMpOiAlcyIKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gZmlsZSAlcyIKK21zZ3N0ciAi7YyM7J28ICUyJHMg7JWI7JeQICUxJGTrsogg7KSE7JeQIOyemOuqu+uQnCDshKTsoJUiCiAKLSM6IGNvbmZpZy5jOjU5NQorIzogY29uZmlnLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAi7ZGc7KSAIOyeheugpSDslYjsl5AgJWTrsogg7KSE7JeQIOyemOuqu+uQnCDshKTsoJUiCisKKyM6IGNvbmZpZy5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3VibW9kdWxlLWJsb2IgJXMiCittc2dzdHIgIu2VmOychCDrqqjrk4gg67iU66GtICUyJHMg7JWI7JeQICUxJGTrsogg7KSE7JeQIOyemOuqu+uQnCDshKTsoJUiCisKKyM6IGNvbmZpZy5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gY29tbWFuZCBsaW5lICVzIgorbXNnc3RyICLrqoXroLntlokgJTIkcyDslYjsl5AgJTEkZOuyiCDspITsl5Ag7J6Y66q765CcIOyEpOyglSIKKworIzogY29uZmlnLmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyIKK21zZ3N0ciAiJTIkcyDslYjsl5AgJTEkZOuyiCDspITsl5Ag7J6Y66q765CcIOyEpOyglSIKKworIzogY29uZmlnLmM6NjU1Cittc2dpZCAib3V0IG9mIHJhbmdlIgorbXNnc3RyICLrspTsnITrpbwg67KX7Ja064KoIgorCisjOiBjb25maWcuYzo2NTUKK21zZ2lkICJpbnZhbGlkIHVuaXQiCittc2dzdHIgIuuLqOychOqwgCDsnpjrqrvrkKgiCisKKyM6IGNvbmZpZy5jOjY2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogJXMiCiBtc2dzdHIgIuyemOuqu+uQnCDsiJjsuZgg7ISk7KCVIOqwkiAnJXMnICjtgqQgJyVzJyk6ICVzIgogCi0jOiBjb25maWcuYzo2ODAKKyM6IGNvbmZpZy5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBibG9iICVzOiAlcyIKK21zZ3N0ciAi7J6Y66q765CcIOyImOy5mCDshKTsoJUg6rCSICclcycgKO2CpCAnJXMnLCDruJTroa0gJXMpOiAlcyIKKworIzogY29uZmlnLmM6NjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGZpbGUgJXM6ICVzIgorbXNnc3RyICLsnpjrqrvrkJwg7IiY7LmYIOyEpOyglSDqsJIgJyVzJyAo7YKkICclcycsIO2MjOydvCAlcyk6ICVzIgorCisjOiBjb25maWcuYzo2NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3RhbmRhcmQgaW5wdXQ6ICVzIgorbXNnc3RyICLsnpjrqrvrkJwg7IiY7LmYIOyEpOyglSDqsJIgJyVzJyAo7YKkICclcycsIO2RnOykgOyeheugpSk6ICVzIgorCisjOiBjb25maWcuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6ICVzIgorbXNnc3RyICLsnpjrqrvrkJwg7IiY7LmYIOyEpOyglSDqsJIgJyVzJyAo7YKkICclcycsIO2VmOychCDrqqjrk4gg67iU66GtICVzKTogJXMiCisKKyM6IGNvbmZpZy5jOjY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBjb21tYW5kIGxpbmUgJXM6ICVzIgorbXNnc3RyICLsnpjrqrvrkJwg7IiY7LmYIOyEpOyglSDqsJIgJyVzJyAo7YKkICclcycsIOuqheugue2WiSAlcyk6ICVzIgorCisjOiBjb25maWcuYzo2ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gJXM6ICVzIgorbXNnc3RyICLsnpjrqrvrkJwg7IiY7LmYIOyEpOyglSDqsJIgJyVzJyAo7YKkICclcycsICVzIOyViOyXkCk6ICVzIgorCisjOiBjb25maWcuYzo3NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGV4cGFuZCB1c2VyIGRpciBpbjogJyVzJyIKIG1zZ3N0ciAi64uk7J2M7JeQIOyCrOyaqeyekCDrlJTroInthLDrpqwg7ZmV7J6l7JeQIOyLpO2MqDogJyVzJyIKIAotIzogY29uZmlnLmM6NzYxIGNvbmZpZy5jOjc3MgorIzogY29uZmlnLmM6ODUyIGNvbmZpZy5jOjg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgemxpYiBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAiJWTrsojsnYAg7Jis67CU66W4IHpsaWIg7JWV7LaVIOuLqOqzhOqwgCDslYTri5nri4jri6QiCiAKLSM6IGNvbmZpZy5jOjg5MAorIzogY29uZmlnLmM6OTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbW9kZSBmb3Igb2JqZWN0IGNyZWF0aW9uOiAlcyIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq4IOyDneyEsSDrqqjrk5zqsIAg7Jis67CU66W07KeAIOyViuyKteuLiOuLpDogJXMiCiAKLSM6IGNvbmZpZy5jOjEyMjgKKyM6IGNvbmZpZy5jOjEzMTIKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAi66qF66C57ZaJIOyEpOygleydhCDtjIzsi7HtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogY29uZmlnLmM6MTI4NAotbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJlZCB3aGlsZSByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIgorIzogY29uZmlnLmM6MTM2MgorbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKIG1zZ3N0ciAi7ISk7KCVIO2MjOydvOydhCDsnb3ripQg7KSRIOyVjCDsiJgg7JeG64qUIOyYpOulmOqwgCDsg53qsrzsirXri4jri6QiCiAKLSM6IGNvbmZpZy5jOjE2MjkKKyM6IGNvbmZpZy5jOjE3MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICclcycgZnJvbSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICLrqoXroLntlokg7ISk7KCV7JeQ7IScICclcyfsnYQo66W8KSDshKTsoJXtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogY29uZmlnLmM6MTYzMQorIzogY29uZmlnLmM6MTcxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIHZhcmlhYmxlICclcycgaW4gZmlsZSAnJXMnIGF0IGxpbmUgJWQiCiBtc2dzdHIgIiclMiRzJyDtjIzsnbzsnZggJTMkZOuyiCDspIQgJyUxJHMnIOyEpOyglSDrs4DsiJjqsIAg7J6Y66q765CY7JeI7Iq164uI64ukIgogCi0jOiBjb25maWcuYzoxNjkwCisjOiBjb25maWcuYzoxNzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBtdWx0aXBsZSB2YWx1ZXMiCiBtc2dzdHIgIiVz7J2AKOuKlCkg7Jes65+sIOqwnCDqsJLsnbQg7J6I7Iq164uI64ukIgogCi0jOiBjb25maWcuYzoyMjI0CisjOiBjb25maWcuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzZXQgJyVzJyB0byAnJXMnIgogbXNnc3RyICInJXMn7J2EKOulvCkgJyVzJyjsnLwp66GcIOyEpOygle2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBjb25maWcuYzoyMjI2CisjOiBjb25maWcuYzoyMzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgogbXNnc3RyICInJXMnIOyEpOygleydhCDsp4Dsmrgg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogY29ubmVjdGVkLmM6NjkKKyM6IGNvbm5lY3QuYzo0OQorbXNnaWQgIlRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdXBvbiBpbml0aWFsIGNvbnRhY3QiCittc2dzdHIgIuumrOuqqO2KuCDsuKHsnbQg7LWc7LSIIOyXsOqysO2WiOydhCDrlYwg7Jew6rKw7J2EIOuBiuyXiOyKteuLiOuLpCIKKworIzogY29ubmVjdC5jOjUxCittc2dpZCAiIgorIkNvdWxkIG5vdCByZWFkIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkuXG4iCisiXG4iCisiUGxlYXNlIG1ha2Ugc3VyZSB5b3UgaGF2ZSB0aGUgY29ycmVjdCBhY2Nlc3MgcmlnaHRzXG4iCisiYW5kIHRoZSByZXBvc2l0b3J5IGV4aXN0cy4iCittc2dzdHIgIiIKKyLrpqzrqqjtirgg7KCA7J6l7IaM7JeQ7IScIOydveydhCDsiJgg7JeG7Iq164uI64ukXG4iCisiXG4iCisi7Jis67CU66W4IOygkeq3vCDqtoztlZzsnbQg7J6I64qU7KeALCDqt7jrpqzqs6Ag7KCA7J6l7IaM6rCAIOyeiOuKlOyngFxuIgorIu2ZleyduO2VmOyLreyLnOyYpC4iCisKKyM6IGNvbm5lY3RlZC5jOjYzIGJ1aWx0aW4vZnNjay5jOjE3MyBidWlsdGluL3BydW5lLmM6MTQwCittc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgorbXNnc3RyICLsl7DqsrDsnYQg7ZmV7J247ZWY64qUIOykkeyeheuLiOuLpCIKKworIzogY29ubmVjdGVkLmM6NzUKIG1zZ2lkICJDb3VsZCBub3QgcnVuICdnaXQgcmV2LWxpc3QnIgogbXNnc3RyICInZ2l0IHJldi1saXN0J+ulvCDsi6TtlontlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogY29ubmVjdGVkLmM6ODkKKyM6IGNvbm5lY3RlZC5jOjk1CiBtc2dpZCAiZmFpbGVkIHdyaXRlIHRvIHJldi1saXN0IgogbXNnc3RyICJyZXYtbGlzdCDsk7DquLDsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBjb25uZWN0ZWQuYzo5NgorIzogY29ubmVjdGVkLmM6MTAyCiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgInJldi1saXN07J2YIO2RnOykgOyeheugpeydhCDri6vripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBkYXRlLmM6OTUKKyM6IGNvbnZlcnQuYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNSTEYgd2lsbCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy5cbiIKKyJUaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdpbmFsIGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5LiIKK21zZ3N0ciAiIgorIiVz7JeQ7IScIENSTEbripQgTEbroZwg67CU64Cd64uI64ukLlxuIgorIuyekeyXhSDrlJTroInthLDrpqzsl5DshJzripQg7JuQ656YIOykhCDrsJTqv4gg7ZiV7Iud7J2EIOycoOyngO2VqeuLiOuLpC4iCisKKyM6IGNvbnZlcnQuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy4iCittc2dzdHIgIiVz7JeQ7IScIENSTEbripQgTEbroZwg67CU64Cd64uI64ukLiIKKworIzogY29udmVydC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTEYgd2lsbCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzLlxuIgorIlRoZSBmaWxlIHdpbGwgaGF2ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkuIgorbXNnc3RyICIiCisiJXPsl5DshJwgTEbripQgQ1JMRuuhnCDrsJTrgJ3ri4jri6QuXG4iCisi7J6R7JeFIOuUlOugie2EsOumrOyXkOyEnOuKlCDsm5Drnpgg7KSEIOuwlOq/iCDtmJXsi53snYQg7Jyg7KeA7ZWp64uI64ukLiIKKworIzogY29udmVydC5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzIgorbXNnc3RyICIlc+yXkOyEnCBMRuuKlCBDUkxG66GcIOuwlOuAneuLiOuLpC4iCisKKyM6IGRhdGUuYzo5NwogbXNnaWQgImluIHRoZSBmdXR1cmUiCiBtc2dzdHIgIuuvuOuemOyXkCIKIAotIzogZGF0ZS5jOjEwMQorIzogZGF0ZS5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgc2Vjb25kIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IHNlY29uZHMgYWdvIgogbXNnc3RyWzBdICIlbHXstIgg7KCEIgogCi0jOiBkYXRlLmM6MTA4CisjOiBkYXRlLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSBtaW51dGUgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgbWludXRlcyBhZ28iCiBtc2dzdHJbMF0gIiVsdeu2hCDsoIQiCiAKLSM6IGRhdGUuYzoxMTUKKyM6IGRhdGUuYzoxMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IGhvdXIgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgaG91cnMgYWdvIgogbXNnc3RyWzBdICIlbHXsi5zqsIQg7KCEIgogCi0jOiBkYXRlLmM6MTIyCisjOiBkYXRlLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSBkYXkgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgZGF5cyBhZ28iCiBtc2dzdHJbMF0gIiVsdeydvCDsoIQiCiAKLSM6IGRhdGUuYzoxMjgKKyM6IGRhdGUuYzoxMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHdlZWsgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgd2Vla3MgYWdvIgogbXNnc3RyWzBdICIlbHXso7wg7KCEIgogCi0jOiBkYXRlLmM6MTM1CisjOiBkYXRlLmM6MTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSBtb250aCBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBtb250aHMgYWdvIgogbXNnc3RyWzBdICIlbHXri6wg7KCEIgogCi0jOiBkYXRlLmM6MTQ2CisjOiBkYXRlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSB5ZWFyIgogbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMiCiBtc2dzdHJbMF0gIiVsdeuFhCIKIAogIy4gVFJBTlNMQVRPUlM6ICIlcyIgaXMgIjxuPiB5ZWFycyIKLSM6IGRhdGUuYzoxNDkKKyM6IGRhdGUuYzoxNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsICVsdSBtb250aCBhZ28iCiBtc2dpZF9wbHVyYWwgIiVzLCAlbHUgbW9udGhzIGFnbyIKIG1zZ3N0clswXSAiJXMgJWx164usIOyghCIKIAotIzogZGF0ZS5jOjE1NCBkYXRlLmM6MTU5CisjOiBkYXRlLmM6MTU2IGRhdGUuYzoxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHllYXIgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMgYWdvIgpAQCAtNTcwLDI2ICsxNDk0LDMxIEBACiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgb3JkZXJmaWxlICclcyciCiBtc2dzdHIgIiclcycg7Iic7IScIO2MjOydvOydhCDsnb3ripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBkaWZmY29yZS1yZW5hbWUuYzo1MzgKKyM6IGRpZmZjb3JlLXJlbmFtZS5jOjUzNgogbXNnaWQgIlBlcmZvcm1pbmcgaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uIgogbXNnc3RyICLrtoDsoJXtmZXtlZwg7J2066aEIOuwlOq+uOq4sCDtg5Dsg4nsnYQg7IiY7ZaJ7ZWY64qUIOykkSIKIAotIzogZGlmZi5jOjExNgorIzogZGlmZi5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGEgdmFsdWUiCittc2dzdHIgIiclcycg7Ji17IWY7JeQ64qUIOqwkuydtCDtlYTsmpTtlanri4jri6QiCisKKyM6IGRpZmYuYzoxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgogbXNnc3RyICIgIGRpcnN0YXQg7J6Q66aEIO2NvOyEvO2KuCDqsJIgJyVzJyDtjIzsi7Hsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukXG4iCiAKLSM6IGRpZmYuYzoxMjEKKyM6IGRpZmYuYzoxMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBVbmtub3duIGRpcnN0YXQgcGFyYW1ldGVyICclcydcbiIKIG1zZ3N0ciAiICDslYwg7IiYIOyXhuuKlCBkaXJzdGF0IO2MjOudvOuvuO2EsCAnJXMnXG4iCiAKLSM6IGRpZmYuYzoyMjUKKyM6IGRpZmYuYzoyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB2YWx1ZSBmb3IgJ2RpZmYuc3VibW9kdWxlJyBjb25maWcgdmFyaWFibGU6ICclcyciCiBtc2dzdHIgIidkaWZmLnN1Ym1vZHVsZScg7ISk7KCVIOuzgOyImOyXkCDslYwg7IiYIOyXhuuKlCDqsJI6ICclcyciCiAKLSM6IGRpZmYuYzoyNzcKKyM6IGRpZmYuYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCkBAIC01OTgsMTYgKzE1MjcsMjEgQEAKICInZGlmZi5zdWJtb2R1bGUnIOyEpOyglSDrs4DsiJjsl5Ag7Jik66WYOlxuIgogIiVzJyIKIAotIzogZGlmZi5jOjMwMDcKKyM6IGRpZmYuYzozMDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCiBtc2dzdHIgIuyZuOu2gCBkaWZmIO2UhOuhnOq3uOueqOydtCDso73snYwsICVzIOychOy5mOyXkOyEnCDrqYjstqQiCiAKLSM6IGRpZmYuYzozNDA1CisjOiBkaWZmLmM6MzQxMgorbXNnaWQgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisiXCItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjaywgLXMg7Ji17IWYIOykkSDtlZjrgpjrp4wg7JO4IOyImCDsnojsirXri4jri6QiCisKKyM6IGRpZmYuYzozNTAyCiBtc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCiBtc2dzdHIgIi0tZm9sbG93IOyYteyFmOyXkOuKlCDsoJXtmZXtnogg7ZWY64KY7J2YIOqyveuhnOuqheyEuOqwgCDtlYTsmpTtlanri4jri6QiCiAKLSM6IGRpZmYuYzozNTY4CisjOiBkaWZmLmM6MzY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgpAQCAtNjE2LDcwICsxNTUwLDI0MiBAQAogIi0tZGlyc3RhdC8tWCDsmLXshZgg7YyM652866+47YSw66W8IO2MjOyLse2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6Q6XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzozNTgyCisjOiBkaWZmLmM6MzY3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKIG1zZ3N0ciAiLS1zdWJtb2R1bGUg7Ji17IWYIO2MjOudvOuvuO2EsCDtjIzsi7Hsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukOiAnJXMnIgogCi0jOiBkaXIuYzoxODIzCisjOiBkaWZmLmM6NDcwMAorbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgorbXNnc3RyICLtjIzsnbzsnbQg64SI66y0IOunjuyVhOyEnCDrtoDsoJXtmZXtlZwg7J2066aEIOuwlOq+uOq4sCDqsoDsg4kg6riw64ql7J2EIOqxtOuEiOucgeuLiOuLpC4iCisKKyM6IGRpZmYuYzo0NzAzCittc2dpZCAib25seSBmb3VuZCBjb3BpZXMgZnJvbSBtb2RpZmllZCBwYXRocyBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgorbXNnc3RyICLtjIzsnbzsnbQg64SI66y0IOunjuyVhOyEnCDsiJjsoJXtlZwg6rK966Gc7J2YIOuzteyCrOuzuOunjCDssL7slZjsirXri4jri6QuIgorCisjOiBkaWZmLmM6NDcwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisieW91IG1heSB3YW50IHRvIHNldCB5b3VyICVzIHZhcmlhYmxlIHRvIGF0IGxlYXN0ICVkIGFuZCByZXRyeSB0aGUgY29tbWFuZC4iCittc2dzdHIgIiVzIOuzgOyImOulvCDstZzshoztlZwgJWQo7Jy8KeuhnCDshKTsoJXtlZjqs6Ag66qF66C57J2EIOuLpOyLnCDsi5zrj4TtlbQg67O07Iut7Iuc7JikLiIKKworIzogZGlyLmM6MTg2NgogbXNnaWQgImZhaWxlZCB0byBnZXQga2VybmVsIG5hbWUgYW5kIGluZm9ybWF0aW9uIgogbXNnc3RyICLsu6TrhJAg7J2066aE6rO8IOygleuztOulvCDqsIDsoLjsmKTripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBkaXIuYzoxOTQyCisjOiBkaXIuYzoxOTg1CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGlzIGRpc2FibGVkIG9uIHRoaXMgc3lzdGVtIG9yIGxvY2F0aW9uLiIKIG1zZ3N0ciAi7J20IOyLnOyKpO2FnCDrmJDripQg7JyE7LmY7JeQ7ISc64qUIOy2lOyggeuQmOyngCDslYrripQg7LqQ7Iuc66W8IOyCrOyaqe2VmOyngCDslYrsirXri4jri6QuIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MTY2IGdwZy1pbnRlcmZhY2UuYzoyMzUKLW1zZ2lkICJjb3VsZCBub3QgcnVuIGdwZy4iCi1tc2dzdHIgImdwZ+ulvCDsi6TtlontlaAg7IiYIOyXhuyKteuLiOuLpC4iCisjOiBmZXRjaC1wYWNrLmM6MjEzCittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IOyWleydgCDrqqnroZ3snYQg7JiI7IOB7ZWoIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MTc4Ci1tc2dpZCAiZ3BnIGRpZCBub3QgYWNjZXB0IHRoZSBkYXRhIgotbXNnc3RyICJncGfsl5DshJwg642w7J207YSw66W8IOuwm+yVhOuTpOydtOyngCDslYrsirXri4jri6QiCisjOiBmZXRjaC1wYWNrLmM6MjI1Cittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiCittc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBBQ0svTkFL6rCAIOyZgOyVvCDtlZjsp4Drp4wsIEVPRuulvCDrsJvslZjsirXri4jri6QiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoxODkKKyM6IGZldGNoLXBhY2suYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgorbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogQUNLL05BS+qwgCDsmYDslbwg7ZWY7KeA66eMLCAnJXMn7J2EKOulvCkg67Cb7JWY7Iq164uI64ukIgorCisjOiBmZXRjaC1wYWNrLmM6Mjk1Cittc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKK21zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIOyYteyFmOydgCBtdWx0aV9hY2tfZGV0YWlsZWTqsIAg7ZWE7JqU7ZWp64uI64ukIgorCisjOiBmZXRjaC1wYWNrLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKK21zZ3N0ciAic2hhbGxvdyDspITsnbQg7J6Y66q765CoOiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjM4NworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIKK21zZ3N0ciAidW5zaGFsbG93IOykhOydtCDsnpjrqrvrkKg6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9iamVjdCBub3QgZm91bmQ6ICVzIgorbXNnc3RyICLsmKTruIzsoJ3tirjqsIAg7JeG7Iq164uI64ukOiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBpbiBvYmplY3Q6ICVzIgorbXNnc3RyICLsmKTruIzsoJ3tirjsl5Ag7Jik66WYOiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzaGFsbG93IGZvdW5kOiAlcyIKK21zZ3N0ciAic2hhbGxvd+qwgCDsl4bsirXri4jri6Q6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCittc2dzdHIgInNoYWxsb3cvdW5zaGFsbG936rCAIOyZgOyVvCDtlZjsp4Drp4wsICVz7J2EKOulvCkg67Cb7JWY7Iq164uI64ukIgorCisjOiBmZXRjaC1wYWNrLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgImdvdCAlcyAlZCAlcyIKK21zZ3N0ciAi67Cb7J2MOiAlcyAlZCAlcyIKKworIzogZmV0Y2gtcGFjay5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdCAlcyIKK21zZ3N0ciAi7J6Y66q765CcIOy7pOuwiyAlcyIKKworIzogZmV0Y2gtcGFjay5jOjQ4MworbXNnaWQgImdpdmluZyB1cCIKK21zZ3N0ciAi7Y+s6riw7ZWoIgorCisjOiBmZXRjaC1wYWNrLmM6NDkzIHByb2dyZXNzLmM6MjM1Cittc2dpZCAiZG9uZSIKK21zZ3N0ciAi7JmE66OMIgorCisjOiBmZXRjaC1wYWNrLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgImdvdCAlcyAoJWQpICVzIgorbXNnc3RyICLrsJvsnYw6ICVzICglZCkgJXMiCisKKyM6IGZldGNoLXBhY2suYzo1NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFya2luZyAlcyBhcyBjb21wbGV0ZSIKK21zZ3N0ciAiJXMg7ZWt66qp7J2EIOyZhOujjOuhnCDtkZzsi5wiCisKKyM6IGZldGNoLXBhY2suYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxyZWFkeSBoYXZlICVzICglcykiCittc2dzdHIgIuydtOuvuCAlcyAoJXMpIOyeiOydjCIKKworIzogZmV0Y2gtcGFjay5jOjczNQorbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgorbXNnc3RyICJmZXRjaC1wYWNrOiDsgqzsnbTrk5zrsLTrk5wg65SU66mA7Yuw7ZSM66CJ7ISc66W8IGZvcmvtlaAg7IiYIOyXhuyKteuLiOuLpCIKKworIzogZmV0Y2gtcGFjay5jOjc0MworbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgcGFjayBoZWFkZXIiCittc2dzdHIgIu2UhOuhnO2GoOy9nCDsmKTrpZg6IOyemOuqu+uQnCDrrLbsnYwg7Zek642UIgorCisjOiBmZXRjaC1wYWNrLmM6Nzk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKK21zZ3N0ciAiZmV0Y2gtcGFjazogJXMg66qF66C57J2EIGZvcmvtlaAg7IiYIOyXhuyKteuLiOuLpCIKKworIzogZmV0Y2gtcGFjay5jOjgxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiVzIOyLpO2MqCIKKworIzogZmV0Y2gtcGFjay5jOjgxNworbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCittc2dzdHIgIuyCrOydtOuTnOuwtOuTnCDrlJTrqYDti7DtlIzroInshJzsl5Ag7Jik66WYIgorCisjOiBmZXRjaC1wYWNrLmM6ODQ0Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgorbXNnc3RyICLshJzrsoTsl5DshJwgc2hhbGxvdyDtgbTrnbzsnbTslrjtirjrpbwg7KeA7JuQ7ZWY7KeAIOyViuyKteuLiOuLpCIKKworIzogZmV0Y2gtcGFjay5jOjg0OAorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2tfZGV0YWlsZWQiCittc2dzdHIgIuyEnOuyhOyXkOyEnCBtdWx0aV9hY2tfZGV0YWlsZWTrpbwg7KeA7JuQ7ZWp64uI64ukIgorCisjOiBmZXRjaC1wYWNrLmM6ODUxCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG5vLWRvbmUiCittc2dzdHIgIuyEnOuyhOyXkOyEnCBuby1kb25l7J2EIOyngOybkO2VqeuLiOuLpCIKKworIzogZmV0Y2gtcGFjay5jOjg1NworbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2siCittc2dzdHIgIuyEnOuyhOyXkOyEnCBtdWx0aV9hY2vrpbwg7KeA7JuQ7ZWp64uI64ukIgorCisjOiBmZXRjaC1wYWNrLmM6ODYxCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZC02NGsiCittc2dzdHIgIuyEnOuyhOyXkOyEnCBzaWRlLWJhbmQtNjRr66W8IOyngOybkO2VqeuLiOuLpCIKKworIzogZmV0Y2gtcGFjay5jOjg2NQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQiCittc2dzdHIgIuyEnOuyhOyXkOyEnCBzaWRlLWJhbmTrpbwg7KeA7JuQ7ZWp64uI64ukIgorCisjOiBmZXRjaC1wYWNrLmM6ODY5Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCittc2dzdHIgIuyEnOuyhOyXkOyEnCBhbGxvdy10aXAtc2hhMS1pbi13YW5066W8IOyngOybkO2VqeuLiOuLpCIKKworIzogZmV0Y2gtcGFjay5jOjg3MworbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgorbXNnc3RyICLshJzrsoTsl5DshJwgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudOulvCDsp4Dsm5Dtlanri4jri6QiCisKKyM6IGZldGNoLXBhY2suYzo4ODMKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgb2ZzLWRlbHRhIgorbXNnc3RyICLshJzrsoTsl5DshJwgb2ZzLWRlbHRh66W8IOyngOybkO2VqeuLiOuLpCIKKworIzogZmV0Y2gtcGFjay5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgdmVyc2lvbiBpcyAlLipzIgorbXNnc3RyICLshJzrsoQg67KE7KCE7J20ICUuKnPsnoXri4jri6QiCisKKyM6IGZldGNoLXBhY2suYzo4OTYKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctc2luY2UiCittc2dzdHIgIuyEnOuyhOyXkOyEnCAtLXNoYWxsb3ctc2lnbmVkIOyYteyFmOydhCDsp4Dsm5DtlZjsp4Ag7JWK7Iq164uI64ukIgorCisjOiBmZXRjaC1wYWNrLmM6OTAwCittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiCittc2dzdHIgIuyEnOuyhOyXkOyEnCAtLXNoYWxsb3ctZXhjbHVkZSDsmLXshZjsnYQg7KeA7JuQ7ZWY7KeAIOyViuyKteuLiOuLpCIKKworIzogZmV0Y2gtcGFjay5jOjkwMgorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tZGVlcGVuIgorbXNnc3RyICLshJzrsoTsl5DshJwgLS1kZWVwZW4g7Ji17IWY7J2EIOyngOybkO2VmOyngCDslYrsirXri4jri6QiCisKKyM6IGZldGNoLXBhY2suYzo5MTMKK21zZ2lkICJubyBjb21tb24gY29tbWl0cyIKK21zZ3N0ciAi6rO17Ya1IOy7pOuwiyDsl4bsnYwiCisKKyM6IGZldGNoLXBhY2suYzo5MjUKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IOqwgOyguOyYpOq4sCDsi6TtjKguIgorCisjOiBmZXRjaC1wYWNrLmM6MTA4NworbXNnaWQgIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIgorbXNnc3RyICLtlbTri7ntlZjripQg66as66qo7Yq4IO2XpOuTnOqwgCDsl4bsirXri4jri6QiCisKKyM6IGdwZy1pbnRlcmZhY2UuYzoxODUKIG1zZ2lkICJncGcgZmFpbGVkIHRvIHNpZ24gdGhlIGRhdGEiCiBtc2dzdHIgImdwZ+yXkOyEnCDrjbDsnbTthLDrpbwg7ISc66qF7ZWY64qU642wIOyLpO2MqO2WiOyKteuLiOuLpC4iCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoyMjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSAnJXMnIgotbXNnc3RyICInJXMnIOyehOyLnCDtjIzsnbzsnYQg66eM65OkIOyImCDsl4bsirXri4jri6QiCisjOiBncGctaW50ZXJmYWNlLmM6MjE1Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAi7J6E7IucIO2MjOydvOydhCDrp4zrk6Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIyNAorIzogZ3BnLWludGVyZmFjZS5jOjIxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJyIKIG1zZ3N0ciAi67aE66as65CcIOyEnOuqheydhCAnJXMn7JeQIOyTsOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGdyZXAuYzoxNzE4CisjOiBncmVwLmM6MTc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiJyVzJzogJXPsnYQo66W8KSDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ3JlcC5jOjE3MzUgYnVpbHRpbi9jbG9uZS5jOjM4MiBidWlsdGluL2RpZmYuYzo4NCBidWlsdGluL3JtLmM6MTU1CisjOiBncmVwLmM6MTc5OSBidWlsdGluL2Nsb25lLmM6MzgxIGJ1aWx0aW4vZGlmZi5jOjg0IGJ1aWx0aW4vcm0uYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyVzJyIKIG1zZ3N0ciAiJyVzJ+yXkCDrjIDtlbQgc3RhdCgp7J20IOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogZ3JlcC5jOjE3NDYKKyM6IGdyZXAuYzoxODEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQiCiBtc2dzdHIgIiclcyc6IOydveuLpOqwgCDsnpjrprwiCiAKLSM6IGhlbHAuYzoyMDUKKyM6IGhlbHAuYzoyMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgogbXNnc3RyICInJXMn7JeQIOyeiOuKlCDquYMg66qF66C5IgogCi0jOiBoZWxwLmM6MjEyCisjOiBoZWxwLmM6MjEwCiBtc2dpZCAiZ2l0IGNvbW1hbmRzIGF2YWlsYWJsZSBmcm9tIGVsc2V3aGVyZSBvbiB5b3VyICRQQVRIIgogbXNnc3RyICLri6TrpbggJFBBVEjsl5Ag7J6I64qUIOq5gyDrqoXroLkiCiAKLSM6IGhlbHAuYzoyNDQKKyM6IGhlbHAuYzoyNDEKIG1zZ2lkICJUaGVzZSBhcmUgY29tbW9uIEdpdCBjb21tYW5kcyB1c2VkIGluIHZhcmlvdXMgc2l0dWF0aW9uczoiCiBtc2dzdHIgIuuLpOydjOydgCDsl6zrn6zqsIDsp4Ag7IOB7Zmp7JeQ7IScIOyekOyjvCDsgqzsmqntlZjripQg6rmDIOuqheugueyeheuLiOuLpDoiCiAKLSM6IGhlbHAuYzozMDkKKyM6IGhlbHAuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgYXBwZWFycyB0byBiZSBhIGdpdCBjb21tYW5kLCBidXQgd2Ugd2VyZSBub3RcbiIKQEAgLTY4OCwxMSArMTc5NCwxMSBAQAogIiclcyfsnYAo64qUKSDquYMg66qF66C57Jy866GcIOuztOydtOyngOunjCwg7Iuk7ZaJ7ZWgIOyImFxuIgogIuyXhuyKteuLiOuLpC4g7JWE66eI64+EIGdpdC0lcyDrp53qsIDsp4Qg6rKDIOqwmeyKteuLiOuLpC4iCiAKLSM6IGhlbHAuYzozNjYKKyM6IGhlbHAuYzozNjEKIG1zZ2lkICJVaCBvaC4gWW91ciBzeXN0ZW0gcmVwb3J0cyBubyBHaXQgY29tbWFuZHMgYXQgYWxsLiIKIG1zZ3N0ciAi7Ja065286528LiDsi5zsiqTthZzsl5Ag6rmDIOuqheugueydtCDtlZjrgpjrj4Qg7JeG64uk6rOgIOuCmOyYteuLiOuLpC4iCiAKLSM6IGhlbHAuYzozODgKKyM6IGhlbHAuYzozODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC5cbiIKQEAgLTcwMSwxNyArMTgwNywxNyBAQAogIuqyveqzoDog7J2066aE7J20ICclcyfsnbgg6rmDIOuqheugueydhCDsi6Ttlontlojsp4Drp4wsIOq3uCDrqoXroLnsnbQg7JeG7Iq164uI64ukLlxuIgogIuyekOuPmeycvOuhnCAnJXMnIOuqheugueydtOudvOqzoCDqsIDsoJXtlZjqs6Ag6rOE7IaN7ZWp64uI64ukIgogCi0jOiBoZWxwLmM6MzkzCisjOiBoZWxwLmM6Mzg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluICUwLjFmIHNlY29uZHMgYXV0b21hdGljYWxseS4uLiIKIG1zZ3N0ciAiKCUwLjFm7LSIIOuSpOyXkCkuLi4iCiAKLSM6IGhlbHAuYzo0MDAKKyM6IGhlbHAuYzozOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0OiAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kLiBTZWUgJ2dpdCAtLWhlbHAnLiIKIG1zZ3N0ciAiZ2l0OiAnJXMn7J2AKOuKlCkg6rmDIOuqheugueydtCDslYTri5nri4jri6QuICdnaXQgLS1oZWxwJ+ulvCDssLjqs6DtlZjsi63si5zsmKQuIgogCi0jOiBoZWxwLmM6NDA0IGhlbHAuYzo0NjQKKyM6IGhlbHAuYzozOTkgaGVscC5jOjQ2NQogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC03MjIsMTEgKzE4MjgsMzcgQEAKICJcbiIKICLri6TsnYzsnYQg7J2Y64+E7ZWY7IugIOqygyDslYTri4jsl4jrgpjsmpQ/IgogCi0jOiBoZWxwLmM6NDYwCisjOiBoZWxwLmM6NDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyAtICVzIgogbXNnc3RyICIlczogJXMgLSAlcyIKIAorIzogaWRlbnQuYzozMzQKK21zZ2lkICIiCisiXG4iCisiKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgorIlxuIgorIlJ1blxuIgorIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwieW91QGV4YW1wbGUuY29tXCJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiWW91ciBOYW1lXCJcbiIKKyJcbiIKKyJ0byBzZXQgeW91ciBhY2NvdW50J3MgZGVmYXVsdCBpZGVudGl0eS5cbiIKKyJPbWl0IC0tZ2xvYmFsIHRvIHNldCB0aGUgaWRlbnRpdHkgb25seSBpbiB0aGlzIHJlcG9zaXRvcnkuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiog64K06rCAIOuIhOq1rOyduOyngCDshKTsoJXtlZjsi63si5zsmKQuXG4iCisiXG4iCisi64uk7J2M7J2EIOyLpO2Wie2VmOuptCxcbiIKKyJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCBcInlvdUBleGFtcGxlLmNvbVwiXG4iCisiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSBcIuuCtCDsnbTrpoRcIlxuIgorIlxuIgorIuqzhOygleydmCDquLDrs7gg7Iug7JuQIOygleuztOulvCDshKTsoJXtlanri4jri6QuXG4iCisiLS1nbG9iYWwg7Ji17IWY7J2EIOu5vOuptCDsnbQg7KCA7J6l7IaM7ISc66eMIOyLoOybkCDsoJXrs7Trpbwg7ISk7KCV7ZWp64uI64ukLlxuIgorIlxuIgorCiAjOiBsb2NrZmlsZS5jOjE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCkBAIC03NTUsODMgKzE4ODcsNzggQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgIuy6kOyLnOulvCDsnb3ripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBtZXJnZS5jOjk0IGJ1aWx0aW4vYW0uYzoyMDA3IGJ1aWx0aW4vYW0uYzoyMDQyIGJ1aWx0aW4vY2hlY2tvdXQuYzozNzUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODYgYnVpbHRpbi9jbG9uZS5jOjczMgorIzogbWVyZ2UuYzo5NiBidWlsdGluL2FtLmM6MjAwMCBidWlsdGluL2FtLmM6MjAzNSBidWlsdGluL2NoZWNrb3V0LmM6Mzc0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTg4IGJ1aWx0aW4vY2xvbmUuYzo3MzEKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIuyDiCDsnbjrjbHsiqQg7YyM7J287J2EIOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODkKLSMsIGMtZm9ybWF0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDkKIG1zZ2lkICIoYmFkIGNvbW1pdClcbiIKIG1zZ3N0ciAiKOyemOuqu+uQnCDsu6TrsIspXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZGluZm9fY2FjaGUgZmFpbGVkIGZvciBwYXRoICclcyciCiBtc2dzdHIgIiclcycg6rK966Gc7JeQIOuMgO2VtCBhZGRpbmZvX2NhY2hl6rCAIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDEKIG1zZ2lkICJlcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAi7Yq466asIOu5jOuTnOyXkCDsmKTrpZgiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjY4OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiCiBtc2dzdHIgIiclcycg6rK966GcIOunjOuTpOq4sOyXkCDsi6TtjKjtlojsirXri4jri6QlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzAwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMgdG8gbWFrZSByb29tIGZvciBzdWJkaXJlY3RvcnlcbiIKIG1zZ3N0ciAi7ZWY7JyEIOuUlOugie2EsOumrOyXkCDqs7XqsITsnYQg66eM65Oc66Ck6rOgICVz7J2EKOulvCkg7KCc6rGw7ZWp64uI64ukXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcxNCBtZXJnZS1yZWN1cnNpdmUuYzo3MzUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc0NSBtZXJnZS1yZWN1cnNpdmUuYzo3NjQKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgogbXNnc3RyICI6IOyVhOuniOuPhCBEL0Yg7Lap64+MPyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzI1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAnJXMnIgogbXNnc3RyICInJXMnIOychOy5mOydmCDstpTsoIHrkJjsp4Ag7JWK64qUIO2MjOydvOydhCDsnoPquLDrpbwg6rGw67aA7ZWp64uI64ukIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NjUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5NiBidWlsdGluL2NhdC1maWxlLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzICclcyciCiBtc2dzdHIgIiVzICclcycg7Jik67iM7KCd7Yq466W8IOydveydhCDsiJgg7JeG7J2MIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NjcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICIlcyAnJXMn7JeQIOuMgO2VtCDruJTroa3snYQg7JiI7IOBIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3OTAgYnVpbHRpbi9jbG9uZS5jOjM3NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODIyCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCi1tc2dzdHIgIiclcyfsnYQo66W8KSDsl6zripTrjbAg7Iuk7YyoIgorbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyc6ICVzIgorbXNnc3RyICInJXMn7J2EKOulvCkg7Jes64qU642wIOyLpO2MqDogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODMzCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyciCi1tc2dzdHIgIiclcycg7Ius67O866atIOunge2BrOyXkCDsi6TtjKgiCittc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiCittc2dzdHIgIiclcycg7Ius67O866atIOunge2BrOyXkCDsi6TtjKg6ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo4MDEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJkbyBub3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJTA2byAlcyAnJXMnIgogbXNnc3RyICLri6TsnYzsnYQg7Ja065a76rKMIO2VoOyngCDslYwg7IiYIOyXhuyKteuLiOuLpDogJTA2byAlcyAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5MzkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk3OAogbXNnaWQgIkZhaWxlZCB0byBleGVjdXRlIGludGVybmFsIG1lcmdlIgogbXNnc3RyICLrgrTrtoAg67OR7ZWpIOyLpO2WieyXkCDsi6TtjKgiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk0MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiCiBtc2dzdHIgIiVz7J2EKOulvCkg642w7J207YSw67Kg7J207Iqk7JeQIOy2lOqwgO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5NTkKLW1zZ2lkICJ1bnN1cHBvcnRlZCBvYmplY3QgdHlwZSBpbiB0aGUgdHJlZSIKLW1zZ3N0ciAi7Yq466as7JeQ7IScIOyngOybkO2VmOyngCDslYrripQg7Jik67iM7KCd7Yq4IOyiheulmCIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAzNCBtZXJnZS1yZWN1cnNpdmUuYzoxMDQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgxIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTgzOSw3ICsxOTY2LDcgQEAKIG1zZ3N0ciAiIgogIuy2qeuPjCEgKCVzL+yCreygnCk6ICVzICjsnITsuZggJXMpIOuwjyAlcyAoJXPsl5DshJwpIOyCreygnC4gJXMg67KE7KCE7J2YICVzIO2KuOumrOyXkCDrgqjsnYwuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDQwIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwNTMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODcgbWVyZ2UtcmVjdXJzaXZlLmM6MTEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtODQ4LDIwICsxOTc1LDIwIEBACiAi7Lap64+MISAoJXMv7IKt7KCcKTogJXMgKOychOy5mCAlcykg67CPICVzICjsnITsuZggJXMpIOyCreygnC4gJXMg67KE7KCE7J2YICVzIO2KuOumrOyXkCAiCiAiJXMo7Jy8KeuhnCDrgqjsnYwuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQzCiBtc2dpZCAicmVuYW1lIgogbXNnc3RyICLsnbTrpoTrsJTqvrjquLAiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNDMKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICLsnbTrpoTrsJTqv4giCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgYSBkaXJlY3RvcnkgaW4gJXMgYWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIiVz7J2AKOuKlCkgJXPsl5Ag7J6I64qUIOuUlOugie2EsOumrOuhnCAlcyjsnLwp66GcIOydtOumhOydhCDrsJTqv4nri4jri6QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIFwiJXNcIi0+XCIlc1wiIGluIGJyYW5jaCBcIiVzXCIgcmVuYW1lIFwiJXMiCkBAIC04NzAsMTQ4ICsxOTk3LDE1NSBAQAogIuy2qeuPjCEgKOydtOumhOuwlOq+uOq4sC/snbTrpoTrsJTqvrjquLApOiBcIiUzJHNcIiDruIzrnpzsuZjsl5DshJwg7J2066aE67CU6r646riwIFwiJTEkc1wiLT4iCiAiXCIlMiRzXCIgXCIlNiRzXCIg67iM656c7LmY7JeQ7IScIOydtOumhCDrsJTqvrjquLAgXCIlNCRzXCItPlwiJTUkc1wiJTckcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE3NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMAogbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKIG1zZ3N0ciAiICjtlbTqsrDrkJjsp4Ag7JWK7J2MKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuIFJlbmFtZSAlcy0+JXMgaW4gJXMiCiBtc2dzdHIgIiIKICLstqnrj4whIChyZW5hbWUvcmVuYW1lKTog7J2066aEIOuwlOq+uOq4sCAlcy0+JXMgKOychOy5mCAlcykuIOydtOumhCDrsJTqvrjquLAgJXMtPiVzICjsnIQiCiAi7LmYICVzKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI2MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKIG1zZ3N0ciAi64yA7IugIOydtOumhOydhCAlc+yXkOyEnCAlcyjsnLwp66GcIOuwlOq+uOqzoCAlc+yXkOyEnCAlcyjsnLwp66GcIOuwlOq/ieuLiOuLpCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ2MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICVzIGFkZGVkIGluICVzIgogbXNnc3RyICLstqnrj4whIChyZW5hbWUvYWRkKTog7J2066aEIOuwlOq+uOq4sCAlcy0+JXMgKOychOy5mCAlcykuICVzIOy2lOqwgCAo7JyE7LmYICVzKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ3MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgbWVyZ2VkICVzIgogbXNnc3RyICLrs5HtlanrkJwgJXPsnYQo66W8KSDstpTqsIDtlanri4jri6QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NzUgbWVyZ2UtcmVjdXJzaXZlLmM6MTY3NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU1MyBtZXJnZS1yZWN1cnNpdmUuYzoxNzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICLrjIDsi6AgJXMo7Jy8KeuhnCDstpTqsIDtlanri4jri6QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MjYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICIlcyDsmKTruIzsoJ3tirjrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MjkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGlzIG5vdCBhIGJsb2IiCiBtc2dzdHIgIiVzIOyYpOu4jOygne2KuOuKlCDruJTroa3snbQg7JWE64uZ64uI64ukIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjY2CiBtc2dpZCAibW9kaWZ5IgogbXNnc3RyICLsiJjsoJUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1ODEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NjYKIG1zZ2lkICJtb2RpZmllZCIKIG1zZ3N0ciAi7IiY7KCV65CoIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTkxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjc2CiBtc2dpZCAiY29udGVudCIKIG1zZ3N0ciAi64K07JqpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTk4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgzCiBtc2dpZCAiYWRkL2FkZCIKIG1zZ3N0ciAi7LaU6rCAL+y2lOqwgCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkICVzIChtZXJnZWQgc2FtZSBhcyBleGlzdGluZykiCiBtc2dzdHIgIuqxtOuEiOubsOq4sDogJXMgKOq4sOyhtOqzvCDqsJnqsowg67OR7ZWpKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY0NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczMgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgIuyekOuPmSDrs5Htlak6ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjUwIGdpdC1zdWJtb2R1bGUuc2g6OTQxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM2IGdpdC1zdWJtb2R1bGUuc2g6OTI0CiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICLtlZjsnIQg66qo65OIIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjUxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgogbXNnc3RyICLstqnrj4whICglcyk6ICVz7JeQIOuzke2VqSDstqnrj4wiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMiCiBtc2dzdHIgIuygnOqxsDogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NTcKIG1zZ2lkICJmaWxlL2RpcmVjdG9yeSIKIG1zZ3N0ciAi7YyM7J28L+uUlOugie2EsOumrCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc2OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2MwogbXNnaWQgImRpcmVjdG9yeS9maWxlIgogbXNnc3RyICLrlJTroInthLDrpqwv7YyM7J28IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzczCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICIiCiAi7Lap64+MISAoJXMpOiDsnbTrpoTsnbQgJXPsnbgg65SU66CJ7YSw66as6rCAICVz7JeQIOyeiOyKteuLiOuLpC4gJXPsnYQo66W8KSAlcyjsnLwp66GcIOy2lOqwgO2VqeuLiCIKICLri6QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3ODEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nICVzIgogbXNnc3RyICLstpTqsIA6ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzk4Ci1tc2dpZCAiRmF0YWwgbWVyZ2UgZmFpbHVyZSwgc2hvdWxkbid0IGhhcHBlbi4iCi1tc2dzdHIgIuy5mOuqheyggeyduCDrs5Htlakg7Iuk7YyoLCDsnbzslrTrgqAg7IiYIOyXhuuKlCDsg4HtmakuIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTE0CiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlISIKIG1zZ3N0ciAi7J2066+4IOyXheuNsOydtO2KuCDsg4Htg5zsnoXri4jri6QhIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODI2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKIG1zZ3N0ciAiJXMg67CPICVzIO2KuOumrOydmCDrs5HtlansnbQg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODU2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlVucHJvY2Vzc2VkIHBhdGg/Pz8gJXMiCi1tc2dzdHIgIuyymOumrOuQmOyngCDslYrsnYAg6rK966GcPz8/ICVzIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTA0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDA2CiBtc2dpZCAiTWVyZ2luZzoiCiBtc2dzdHIgIuuzke2VqToiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yOiIKIG1zZ2lkX3BsdXJhbCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yczoiCiBtc2dzdHJbMF0gIuqzvOqxsOydmCDqs7XthrUg7Luk67CLICV16rCcIOuwnOqyrDoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwNTgKIG1zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCiBtc2dzdHIgIuuzke2VqSDqsrDqs7zsl5Ag7Luk67CL7J20IOyXhuyKteuLiOuLpCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIiclcycg7Jik67iM7KCd7Yq466W8IO2MjOyLse2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDIyIGJ1aWx0aW4vbWVyZ2UuYzo2NDkgYnVpbHRpbi9tZXJnZS5jOjgzMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEzNSBidWlsdGluL21lcmdlLmM6NjQxIGJ1aWx0aW4vbWVyZ2UuYzo3ODgKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5kZXguIgogbXNnc3RyICLsnbjrjbHsiqTrpbwg7JO4IOyImCDsl4bsirXri4jri6QuIgogCisjOiBub3Rlcy1tZXJnZS5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIHByZXZpb3VzIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLlxuIgorIlBsZWFzZSwgdXNlICdnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnIG9yICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcgdG8gIgorImNvbW1pdC9hYm9ydCB0aGUgcHJldmlvdXMgbWVyZ2UgYmVmb3JlIHlvdSBzdGFydCBhIG5ldyBub3RlcyBtZXJnZS4iCittc2dzdHIgIiIKKyLsnbTsoITsnZgg64W47Yq4IOuzke2VqeydhCDri6Qg66eI7LmY7KeAIOyViuyVmOyKteuLiOuLpCAoJXMg7J6I7J2MKS5cbiIKKyLsg4jroZwg64W47Yq4IOuzke2VqeydhCDsi5zsnpHtlZjquLAg7KCE7JeQICdnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnXG4iCisi65iQ64qUICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCfroZwg7J207KCEIOuzke2VqeydhCDsu6TrsIsv7KSR7KeA7ZWY7Iut7Iuc7JikLiIKKworIzogbm90ZXMtbWVyZ2UuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLiIKK21zZ3N0ciAi64W47Yq4IOuzke2VqSDsnpHsl4XsnYQg64ukIOuniOy5mOyngCDslYrslZjsirXri4jri6QuICglcyDsnojsnYwpIgorCiAjOiBub3Rlcy11dGlscy5jOjQxCiBtc2dpZCAiQ2Fubm90IGNvbW1pdCB1bmluaXRpYWxpemVkL3VucmVmZXJlbmNlZCBub3RlcyB0cmVlIgogbXNnc3RyICLstIjquLDtmZTtlZjsp4Ag7JWK7JWY6rGw64KYIOugiO2NvOufsOyKpO2VmOyngCDslYrsnYAgbm90ZXMg7Yq466as66W8IOy7pOuwi+2VoCDsiJgg7JeG7Iq164uI64ukIgpAQCAtMTA2OCw3ICsyMjAyLDcgQEAKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJyVzJyIKIG1zZ3N0ciAi7J6Y66q765CcIO2YleyLneydmCDsmKTruIzsoJ3tirgg7J2066aEICclcyciCiAKLSM6IHBhdGguYzo3OTYKKyM6IHBhdGguYzo4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCiBtc2dzdHIgIiVz7J2EKOulvCkg6re466O57JeQ7IScIOyTsOq4sCDqsIDriqXtlZjrj4TroZ0g66eM65OkIOyImCDsl4bsirXri4jri6QiCkBAIC0xMTIzLDEyICsyMjU3LDIwIEBACiBtc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKIG1zZ3N0ciAiJXM6IOqyveuhnOuqheyEuCDsp4Dsi5zslrTqsIAg7J20IOuqheugueyWtOyXkOyEnCDsp4Dsm5DtlZjsp4Ag7JWK7Iq164uI64ukOiAlcyIKIAotIzogcGF0aHNwZWMuYzo0MzMKKyM6IHBhdGhzcGVjLmM6NDA4Cittc2dpZCAiIgorImVtcHR5IHN0cmluZ3MgYXMgcGF0aHNwZWNzIHdpbGwgYmUgbWFkZSBpbnZhbGlkIGluIHVwY29taW5nIHJlbGVhc2VzLiBwbGVhc2UgIgorInVzZSAuIGluc3RlYWQgaWYgeW91IG1lYW50IHRvIG1hdGNoIGFsbCBwYXRocyIKK21zZ3N0ciAiIgorIuqyveuhnOuqheyEuOuhnCDruYgg66y47J6Q7Je07J2EIOuEo+uKlCDsnbzsnYAg64uk7J2MIOumtOumrOyKpOyXkOyEnCDsmKTrpZjroZwg7Leo6riJ7ZWgIOyYiOygleyeheuLiOuLpC4g66qoIgorIuuToCDqsr3roZzrpbwg7KeA7KCV7ZWY66Ck66m0IOygkCguKeydhCDsgqzsmqntlZjsi63si5zsmKQuIgorCisjOiBwYXRoc3BlYy5jOjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgIiclcycg6rK966Gc66qF7IS464qUIOyLrOuzvOumrSDrp4Htgawg7JWE656Y7JeQIOyeiOyKteuLiOuLpCIKIAotIzogcGF0aHNwZWMuYzo0NDIKKyM6IHBhdGhzcGVjLmM6NDQ5CiBtc2dpZCAiIgogIlRoZXJlIGlzIG5vdGhpbmcgdG8gZXhjbHVkZSBmcm9tIGJ5IDooZXhjbHVkZSkgcGF0dGVybnMuXG4iCiAiUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIKQEAgLTExNDAsMTEgKzIyODIsNyBAQAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAtLXByZXR0eSBmb3JtYXQiCiBtc2dzdHIgIi0tcHJldHR5IO2YleyLneydhCDtjIzsi7HtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogcHJvZ3Jlc3MuYzoyMzUKLW1zZ2lkICJkb25lIgotbXNnc3RyICLsmYTro4wiCi0KLSM6IHJlYWQtY2FjaGUuYzoxMjgxCisjOiByZWFkLWNhY2hlLmM6MTMxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiaW5kZXgudmVyc2lvbiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKQEAgLTExNTMsNyArMjI5MSw3IEBACiAiaW5kZXgudmVyc2lvbuydtCDshKTsoJXrkJjsl4jsp4Drp4wsIOydtCDqsJLsnbQg7J6Y66q765CY7JeI7Iq164uI64ukLlxuIgogIiVpIOuyhOyghOydhCDsgqzsmqntlanri4jri6QiCiAKLSM6IHJlYWQtY2FjaGUuYzoxMjkxCisjOiByZWFkLWNhY2hlLmM6MTMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiR0lUX0lOREVYX1ZFUlNJT04gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0xMTYyLDIzICsyMzAwLDIyIEBACiAiR0lUX0lOREVYX1ZFUlNJT07snbQg7ISk7KCV65CY7JeI7KeA66eMLCDsnbQg6rCS7J20IOyemOuqu+uQmOyXiOyKteuLiOuLpC5cbiIKICIlaSDrsoTsoITsnYQg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiByZWZzLmM6NTQzIGJ1aWx0aW4vbWVyZ2UuYzo3NjQgYnVpbHRpbi9tZXJnZS5jOjg4MyBidWlsdGluL21lcmdlLmM6OTg1Ci0jOiBidWlsdGluL21lcmdlLmM6OTk1CisjOiByZWZzLmM6NTc2IGJ1aWx0aW4vbWVyZ2UuYzo4NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiJyVzJ+ydhCjrpbwpIOyTsOq4sOyaqeycvOuhnCDsl7Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjI0MworIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZSAlczogJXMiCiBtc2dzdHIgIiVzIOugiO2NvOufsOyKpOulvCDsgq3soJztlaAg7IiYIOyXhuyKteuLiOuLpDogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjIyNDYKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2VzOiAlcyIKIG1zZ3N0ciAi66CI7Y2865+w7Iqk66W8IOyCreygnO2VoCDsiJgg7JeG7Iq164uI64ukOiAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjI1NQorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIHJlZmVyZW5jZSAlcyIKIG1zZ3N0ciAiJXMg66CI7Y2865+w7Iqk66W8IOygnOqxsO2VoCDsiJgg7JeG7Iq164uI64ukIgpAQCAtMTMwNywxMiArMjQ0NCwxMiBAQAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgIuunneqwgOynhCDroIjtjbzrn7DsiqQgJXMg66y07IucIgogCi0jOiByZWYtZmlsdGVyLmM6MTY1MQorIzogcmVmLWZpbHRlci5jOjE2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gbWlzc2luZyIKIG1zZ3N0ciAi7ZiV7IudOiAlJShlbmQpIOyVhO2GsOydtCDsl4bsirXri4jri6QiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNzA1CisjOiByZWYtZmlsdGVyLmM6MTY4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIuyemOuqu+uQnCDtmJXsi53snZgg7Jik67iM7KCd7Yq4IOydtOumhCAlcyIKQEAgLTEzMzYsODQgKzI0NzMsODQgQEAKIG1zZ2lkICJJbnRlcm5hbCBlcnJvciIKIG1zZ3N0ciAi64K067aAIOyYpOulmCIKIAotIzogcmVtb3RlLmM6MTY3OCByZW1vdGUuYzoxNzIxCisjOiByZW1vdGUuYzoxNjc3IHJlbW90ZS5jOjE3MjAKIG1zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgogbXNnc3RyICJIRUFE6rCAIOu4jOuenOy5mOulvCDqsIDrpqztgqTsp4Ag7JWK7Iq164uI64ukIgogCi0jOiByZW1vdGUuYzoxNjg3CisjOiByZW1vdGUuYzoxNjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoOiAnJXMnIgogbXNnc3RyICLqt7jrn7Ag67iM656c7LmY6rCAIOyXhuyKteuLiOuLpDogJyVzJyIKIAotIzogcmVtb3RlLmM6MTY5MAorIzogcmVtb3RlLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiJyVzJyDruIzrnpzsuZjsl5Ag64yA7ZW0IOyXheyKpO2KuOumvOydhCDshKTsoJXtlZjsp4Ag7JWK7JWY7Iq164uI64ukIgogCi0jOiByZW1vdGUuYzoxNjk2CisjOiByZW1vdGUuYzoxNjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICLsl4XsiqTtirjrprwgJyVzJyDruIzrnpzsuZjqsIAg66as66qo7Yq4IOy2lOyggSDruIzrnpzsuZjroZwg7KCA7J6l65CY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogcmVtb3RlLmM6MTcxMQorIzogcmVtb3RlLmM6MTcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIGRlc3RpbmF0aW9uICclcycgb24gcmVtb3RlICclcycgaGFzIG5vIGxvY2FsIHRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAi66as66qo7Yq4ICclMiRzJ+ydmCDtkbjsi5wg64yA7IOBICclMSRzJ+yXkCDroZzsu6wg7LaU7KCBIOu4jOuenOy5mOqwgCDsl4bsirXri4jri6QiCiAKLSM6IHJlbW90ZS5jOjE3MjYKKyM6IHJlbW90ZS5jOjE3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAiJyVzJyDruIzrnpzsuZjsl5Ag7ZG47IucIOumrOuqqO2KuOqwgCDsl4bsirXri4jri6QiCiAKLSM6IHJlbW90ZS5jOjE3MzcKKyM6IHJlbW90ZS5jOjE3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICInJXMn7JeQIOuMgO2VnCDtkbjsi5wg66CI7Y2865+w7Iqk66qF7IS47JeQICclcyfsnbQo6rCAKSDrk6TslrQg7J6I7KeAIOyViuyKteuLiOuLpCIKIAotIzogcmVtb3RlLmM6MTc1MAorIzogcmVtb3RlLmM6MTc0OQogbXNnaWQgInB1c2ggaGFzIG5vIGRlc3RpbmF0aW9uIChwdXNoLmRlZmF1bHQgaXMgJ25vdGhpbmcnKSIKIG1zZ3N0ciAi7ZG47Iuc7J2YIOuMgOyDgeydtCDsl4bsirXri4jri6QgKHB1c2guZGVmYXVsdOqwgCAnbm90aGluZyfsnoXri4jri6QpIgogCi0jOiByZW1vdGUuYzoxNzcyCisjOiByZW1vdGUuYzoxNzcxCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgJ3NpbXBsZScgcHVzaCB0byBhIHNpbmdsZSBkZXN0aW5hdGlvbiIKIG1zZ3N0ciAi7ZWY64KY7J2YIOuMgOyDgeyXkCDrjIDtlbQgJ3NpbXBsZScg7ZG47Iuc66W8IOyymOumrO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiByZW1vdGUuYzoyMDc0CisjOiByZW1vdGUuYzoyMDczCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIKIG1zZ3N0ciAi7ZiE7J6sIOu4jOuenOy5mOqwgCAnJXMnIOq4sOuwmOydtOyngOunjCwg7JeF7Iqk7Yq466a87J20IOyXhuyWtOyhjOyKteuLiOuLpC5cbiIKIAotIzogcmVtb3RlLmM6MjA3OAorIzogcmVtb3RlLmM6MjA3NwogbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgogbXNnc3RyICIgICjrsJTroZzsnqHsnLzroKTrqbQgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIuydhCDsgqzsmqntlZjsi63si5zsmKQpXG4iCiAKLSM6IHJlbW90ZS5jOjIwODEKKyM6IHJlbW90ZS5jOjIwODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgdXAtdG8tZGF0ZSB3aXRoICclcycuXG4iCiBtc2dzdHIgIuu4jOuenOy5mOqwgCAnJXMn7JeQIOunnuqyjCDsl4XrjbDsnbTtirjrkJwg7IOB7YOc7J6F64uI64ukLlxuIgogCi0jOiByZW1vdGUuYzoyMDg1CisjOiByZW1vdGUuYzoyMDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgogbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCiBtc2dzdHJbMF0gIuu4jOuenOy5mOqwgCAnJXMn67O064ukICVk6rCcIOy7pOuwi+unjO2BvCDslZ7sl5Ag7J6I7Iq164uI64ukLlxuIgogCi0jOiByZW1vdGUuYzoyMDkxCisjOiByZW1vdGUuYzoyMDkwCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1c2hcIiB0byBwdWJsaXNoIHlvdXIgbG9jYWwgY29tbWl0cylcbiIKIG1zZ3N0ciAiICAo66Gc7Lus7JeQIOyeiOuKlCDsu6TrsIvsnYQg7KCc7Lac7ZWY66Ck66m0IFwiZ2l0IHB1c2hcIuulvCDsgqzsmqntlZjsi63si5zsmKQpXG4iCiAKLSM6IHJlbW90ZS5jOjIwOTQKKyM6IHJlbW90ZS5jOjIwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCiAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0cywgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ3N0clswXSAi67iM656c7LmY6rCAICclcyfrs7Tri6QgJWTqsJwg7Luk67CLIOuSpOyXkCDsnojqs6AsIOyVnuycvOuhnCDrj4zrprQg7IiYIOyeiOyKteuLiOuLpC5cbiIKIAotIzogcmVtb3RlLmM6MjEwMgorIzogcmVtb3RlLmM6MjEwMQogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIgICjroZzsu6wg67iM656c7LmY66W8IOyXheuNsOydtO2KuO2VmOugpOuptCBcImdpdCBwdWxsXCLsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikKVxuIgogCi0jOiByZW1vdGUuYzoyMTA1CisjOiByZW1vdGUuYzoyMTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgpAQCAtMTQyNSw1MyArMjU2Miw2NSBAQAogIu2YhOyerCDruIzrnpzsuZjsmYAgJyVzJ+ydtCjqsIApIOqwiOudvOyhjOyKteuLiOuLpCxcbiIKICLri6Trpbgg7Luk67CL7J20IOqwgeqwgSAlZOqwnOyZgCAlZOqwnCDsnojsirXri4jri6QuXG4iCiAKLSM6IHJlbW90ZS5jOjIxMTUKKyM6IHJlbW90ZS5jOjIxMTQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiIKICIgICjrpqzrqqjtirjsnZgg67iM656c7LmY66W8IO2YhOyerCDruIzrnpzsuZjroZwg67OR7ZWp7ZWY66Ck66m0IFwiZ2l0IHB1bGxcIuydhCDsgqzsmqntlZjsi63si5zsmKQpXG4iCiAKLSM6IHJldmlzaW9uLmM6MjE0MgorIzogcmV2aXNpb24uYzoyMTU4CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCBhcHBlYXJzIHRvIGJlIGJyb2tlbiIKIG1zZ3N0ciAi7ZiE7J6sIOu4jOuenOy5mOqwgCDrp53qsIDsp4Qg6rKD7LKY65+8IOuztOyeheuLiOuLpCIKIAotIzogcmV2aXNpb24uYzoyMTQ1CisjOiByZXZpc2lvbi5jOjIxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnIGRvZXMgbm90IGhhdmUgYW55IGNvbW1pdHMgeWV0IgogbXNnc3RyICLtmITsnqwgJyVzJyDruIzrnpzsuZjsl5Ag7JWE7KeBIOyVhOustCDsu6TrsIvrj4Qg7JeG7Iq164uI64ukIgogCi0jOiByZXZpc2lvbi5jOjIzMzkKKyM6IHJldmlzaW9uLmM6MjM1NQogbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgogbXNnc3RyICItLWZpcnN0LXBhcmVudCDsmLXshZjsnYAgLS1iaXNlY3Qg7Ji17IWY6rO8IO2YuO2ZmOuQmOyngCDslYrsirXri4jri6QiCiAKLSM6IHJ1bi1jb21tYW5kLmM6OTIKKyM6IHJ1bi1jb21tYW5kLmM6MTA2CiBtc2dpZCAib3BlbiAvZGV2L251bGwgZmFpbGVkIgogbXNnc3RyICIvZGV2L251bGwg7Je06riwIOyLpO2MqCIKIAotIzogcnVuLWNvbW1hbmQuYzo5NAorIzogcnVuLWNvbW1hbmQuYzoxMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZHVwMiglZCwlZCkgZmFpbGVkIgogbXNnc3RyICJkdXAyKCVkLCVkKSDsi6TtjKgiCiAKLSM6IHNlbmQtcGFjay5jOjI5NQorIzogc2VuZC1wYWNrLmM6Mjk3CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgIu2RuOyLnCDsnbjspp3shJwg7ISc66qF7JeQIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogc2VuZC1wYWNrLmM6NDA0CisjOiBzZW5kLXBhY2suYzo0MTAKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIHB1c2giCiBtc2dzdHIgIuuwm+uKlCDsqr3sl5DshJwgLS1zaWduZWQg7ZG47Iuc66W8IOyngOybkO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IHNlbmQtcGFjay5jOjQwNgorIzogc2VuZC1wYWNrLmM6NDEyCiBtc2dpZCAiIgogIm5vdCBzZW5kaW5nIGEgcHVzaCBjZXJ0aWZpY2F0ZSBzaW5jZSB0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tIgogInNpZ25lZCBwdXNoIgogbXNnc3RyICIiCiAi67Cb64qUIOyqveyXkOyEnCAtLXNpZ25lZCDtkbjsi5zrpbwg7KeA7JuQ7ZWY7KeAIOyViuycvOuvgOuhnCDtkbjsi5wg7J247Kad7ISc66W8IOuztOuCtOyngCDslYrsirXri4jri6QiCiAKLSM6IHNlbmQtcGFjay5jOjQxOAorIzogc2VuZC1wYWNrLmM6NDI0CiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLWF0b21pYyBwdXNoIgogbXNnc3RyICLrsJvripQg7Kq97JeQ7IScIC0tYXRvbWljIO2RuOyLnOulvCDsp4Dsm5DtlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzQKKyM6IHNlbmQtcGFjay5jOjQyOQorbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgorbXNnc3RyICLrsJvripQg7Kq97JeQ7IScIO2RuOyLnCDsmLXshZjsnYQg7KeA7JuQ7ZWY7KeAIOyViuyKteuLiOuLpCIKKworIzogc2VxdWVuY2VyLmM6MTcxCittc2dpZCAicmV2ZXJ0IgorbXNnc3RyICLrkJjrj4zrpqzquLAiCisKKyM6IHNlcXVlbmNlci5jOjE3MQorbXNnaWQgImNoZXJyeS1waWNrIgorbXNnc3RyICLrubzsmKTquLAiCisKKyM6IHNlcXVlbmNlci5jOjIyOAogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgpAQCAtMTQ3OSw3ICsyNjI4LDcgQEAKICLsnbQg7Lap64+M7J2EIO2VtOqysO2VnCDrkqTsl5AsIOuwlOuhnOyeoeydgCDqsr3roZzrpbxcbiIKICInZ2l0IGFkZCA86rK966GcPicg65iQ64qUICdnaXQgcm0gPOqyveuhnD4n66GcIO2RnOyLnO2VmOyLreyLnOyYpCIKIAotIzogc2VxdWVuY2VyLmM6MTc3CisjOiBzZXF1ZW5jZXIuYzoyMzEKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgpAQCAtMTQ4OSwyMjggKzI2MzgsMjg5IEBACiAiJ2dpdCBhZGQgPOqyveuhnD4nIOuYkOuKlCAnZ2l0IHJtIDzqsr3roZw+J+uhnCDtkZzsi5ztlZjsi63si5zsmKQuXG4iCiAi6re466as6rOgIOqysOqzvOusvOydhCAnZ2l0IGNvbW1pdCfsnLzroZwg7Luk67CL7ZWY7Iut7Iuc7JikIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTAgc2VxdWVuY2VyLmM6ODMzIHNlcXVlbmNlci5jOjkxMgorIzogc2VxdWVuY2VyLmM6MjQ0IHNlcXVlbmNlci5jOjEyMDkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgotbXNnc3RyICIlc+yXkCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKK21zZ2lkICJjb3VsZCBub3QgbG9jayAnJXMnIgorbXNnc3RyICInJXMn7J2EKOulvCkg7J6g6riAIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjE5MworIzogc2VxdWVuY2VyLmM6MjQ3IHNlcXVlbmNlci5jOjExMjUgc2VxdWVuY2VyLmM6MTIxNAogIywgYy1mb3JtYXQKLW1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcyIKLW1zZ3N0ciAiJXMg7J6g6re464qU642wIOyYpOulmCIKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKK21zZ3N0ciAiJyVzJ+yXkCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6MjA4Ci1tc2dpZCAiWW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZXJyeS1waWNrLiIKLW1zZ3N0ciAi66Gc7LusIOuzgOqyvSDsgqztla3snYQgY2hlcnJ5LXBpY2sg65WM66y47JeQIOuNruyWtCDsk7Dqsowg65Cp64uI64ukLiIKKyM6IHNlcXVlbmNlci5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZW9sIHRvICclcyciCittc2dzdHIgIiclcyfsl5Ag7KSE67CU6r+I7J2EIOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTAKLW1zZ2lkICJZb3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgcmV2ZXJ0LiIKLW1zZ3N0ciAi66Gc7LusIOuzgOqyvSDsgqztla3snYQgcmV2ZXJ0IOuVjOusuOyXkCDrja7slrQg7JOw6rKMIOuQqeuLiOuLpC4iCisjOiBzZXF1ZW5jZXIuYzoyNTUgc2VxdWVuY2VyLmM6MTEzMCBzZXF1ZW5jZXIuYzoxMjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSAnJXMnLiIKK21zZ3N0ciAiJyVzJyDrp4jsuZjripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTMKLW1zZ2lkICJDb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCi1tc2dzdHIgIuuzgOqyvSDsgqztla3snYQg7Iqk7YWM7J207KeV7ZWY6rGw64KYIOyKpO2DnOyLnO2VnCDri6TsnYwg6rOE7IaN7ZWY7Iut7Iuc7JikLiIKKyM6IHNlcXVlbmNlci5jOjI3OSBidWlsdGluL2FtLmM6MjU5IGJ1aWx0aW4vY29tbWl0LmM6NzQ5IGJ1aWx0aW4vbWVyZ2UuYzoxMDMyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCittc2dzdHIgIiclcyfsl5DshJwg7J297J2EIOyImCDsl4bsirXri4jri6QiCisKKyM6IHNlcXVlbmNlci5jOjMwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXMuIgorbXNnc3RyICLroZzsu6wg67OA6rK9IOyCrO2VreydhCAlcyDrlYzrrLjsl5Ag642u7Ja0IOyTsOqyjCDrkKnri4jri6QuIgorCisjOiBzZXF1ZW5jZXIuYzozMDkKK21zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCittc2dzdHIgIuuzgOqyvSDsgqztla3snYQg7Luk67CL7ZWY6rGw64KYIOyKpO2DnOyLnO2VnCDri6TsnYwg6rOE7IaN7ZWY7Iut7Iuc7JikLiIKKworIzogc2VxdWVuY2VyLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCittc2dzdHIgIiVzOiDsoJXrsKntlqUg7KeE7ZaJIgogCiAjLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiBvciAiY2hlcnJ5LXBpY2siCi0jOiBzZXF1ZW5jZXIuYzozMDAKKyM6IHNlcXVlbmNlci5jOjM5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIlczog7IOIIOyduOuNseyKpCDtjIzsnbzsnYQg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjMxOAotbXNnaWQgIkNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCisjOiBzZXF1ZW5jZXIuYzo0MTgKK21zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSBIRUFEIGNvbW1pdFxuIgogbXNnc3RyICJIRUFEIOy7pOuwi+ydhCDsspjrpqztlaAg7IiYIOyXhuyKteuLiOuLpFxuIgogCi0jOiBzZXF1ZW5jZXIuYzozMzgKLW1zZ2lkICJVbmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKKyM6IHNlcXVlbmNlci5jOjQzOAorbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgogbXNnc3RyICLsupDsi5wg7Yq466as66W8IOyXheuNsOydtO2KuO2VoCDsiJgg7JeG7Iq164uI64ukXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM5MAorIzogc2VxdWVuY2VyLmM6NDgzCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXNcbiIKK21zZ2lkICIiCisieW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWVcbiIKKyJJZiB0aGVzZSBjaGFuZ2VzIGFyZSBtZWFudCB0byBiZSBzcXVhc2hlZCBpbnRvIHRoZSBwcmV2aW91cyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAlc1xuIgorIlxuIgorIklmIHRoZXkgYXJlIG1lYW50IHRvIGdvIGludG8gYSBuZXcgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICVzXG4iCisiXG4iCisiSW4gYm90aCBjYXNlcywgb25jZSB5b3UncmUgZG9uZSwgY29udGludWUgd2l0aDpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorbXNnc3RyICIiCisi7J6R7JeFIO2PtOuNlOyXkCDsiqTthYzsnbTsp5XtlZwg67OA6rK9IOyCrO2VreydtCDsnojsirXri4jri6QuXG4iCisi7J20IOuzgOqyvSDsgqztla3snYQg7J207KCEIOy7pOuwi+yXkCDtlansuZjroKTrqbQsXG4iCisi64uk7J2M7J2EIOyLpO2Wie2VmOyLreyLnOyYpDpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAlc1xuIgorIlxuIgorIuyDiCDsu6TrsIvsnLzroZwg66eM65Oc66Ck66m0IOuLpOydjOydhCDsi6TtlontlZjsi63si5zsmKQ6XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICVzXG4iCisiXG4iCisi7Ja065akIOqyveyasOydtOuToCwg66eI7LmcIOuLpOydjOyXkCDri6TsnYwg66qF66C57Jy866GcIOqzhOyGje2VqeuLiOuLpDpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorCisjOiBzZXF1ZW5jZXIuYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgogbXNnc3RyICIlcyDsu6TrsIvsnYQg7YyM7Iux7ZWgIOyImCDsl4bsirXri4jri6RcbiIKIAotIzogc2VxdWVuY2VyLmM6Mzk1CisjOiBzZXF1ZW5jZXIuYzo1NzIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXNcbiIKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgogbXNnc3RyICIlcyDsnbTsoIQg7Luk67CL7J2EIO2MjOyLse2VoCDsiJgg7JeG7Iq164uI64ukXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQ2MAotbXNnaWQgIllvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCisjOiBzZXF1ZW5jZXIuYzo2NTYKK21zZ2lkICJ5b3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgogbXNnc3RyICLsnbjrjbHsiqQg7YyM7J287J20IOuzke2VqeuQmOyngCDslYrslZjsirXri4jri6QuIgogCi0jOiBzZXF1ZW5jZXIuYzo0NzkKKyM6IHNlcXVlbmNlci5jOjY3NQogIywgYy1mb3JtYXQKLW1zZ2lkICJDb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCittc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICIlcyDsu6TrsIvsnYAg67OR7ZWp7J207KeA66eMIC1tIOyYteyFmOydtCDso7zslrTsp4Dsp4Ag7JWK7JWY7Iq164uI64ukLiIKIAogIyBGSVhNRTogInBhcmVudCAlZCIg67KI7Zi46rCAIOustOyKqCDsnZjrr7g/Ci0jOiBzZXF1ZW5jZXIuYzo0ODcKKyM6IHNlcXVlbmNlci5jOjY4MwogIywgYy1mb3JtYXQKLW1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCi1tc2dzdHIgIkNvbW1pdCAlcyDsu6TrsIvsl5Ag7J207KCEIOy7pOuwiyAlZOydtCjqsIApIOyXhuyKteuLiOuLpCIKK21zZ2lkICJjb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCittc2dzdHIgIiVzIOy7pOuwi+yXkCDsnbTsoIQg7Luk67CLICVk7J20KOqwgCkg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzo0OTEKKyM6IHNlcXVlbmNlci5jOjY4NwogIywgYy1mb3JtYXQKLW1zZ2lkICJNYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgorbXNnaWQgIm1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCiBtc2dzdHIgIuuplOyduOudvOyduOydhCDsp4DsoJXtlojsp4Drp4wgJXMg7Luk67CL7J20IOuzke2VqSDsu6TrsIvsnbQg7JWE64uZ64uI64ukLiIKIAotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyB3aWxsIGJlICJyZXZlcnQiIG9yCi0jLiAiY2hlcnJ5LXBpY2siLCB0aGUgc2Vjb25kICVzIGEgU0hBMQotIzogc2VxdWVuY2VyLmM6NTA0CisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCisjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgorIzogc2VxdWVuY2VyLmM6NzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXM6ICVzIOydtOyghCDsu6TrsIvsnYQg7YyM7Iux7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjUwOAorIzogc2VxdWVuY2VyLmM6NzA1CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgorbXNnaWQgImNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgogbXNnc3RyICIlc+yXkCDrjIDtlZwg7Luk67CLIOuplOyLnOyngOulvCDqsIDsoLjsmKwg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6NTk0CisjOiBzZXF1ZW5jZXIuYzo3OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAi64uk7J2M7J2EIOuQmOuPjOumtChyZXZlcnQpIOyImCDsl4bsirXri4jri6Q6ICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo1OTUKKyM6IHNlcXVlbmNlci5jOjc5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgIuuLpOydjOydhCDsoIHsmqntlaAoYXBwbHkpIOyImCDsl4bsirXri4jri6Q6ICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo2MzAKKyM6IHNlcXVlbmNlci5jOjgzMwogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICLruYgg7Luk67CLIOuqqOydjOydhCDqsbTrhIgg65yB64uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzo2MzgKKyM6IHNlcXVlbmNlci5jOjg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzOiDsnbjrjbHsiqQg7J296riw7JeQIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6NjQyCisjOiBzZXF1ZW5jZXIuYzo4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczog7J24642x7IqkIOyDiOuhnCDqs6Dsuajsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzo3MDIKKyM6IHNlcXVlbmNlci5jOjk0NAogIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3QgJXMgZHVyaW5nIGEgJXMiCi1tc2dzdHIgIiUyJHMg64+Z7JWIICUxJHMg7ZWgIOyImCDsl4bsirXri4jri6QiCittc2dpZCAiaW52YWxpZCBsaW5lICVkOiAlLipzIgorbXNnc3RyICLsnpjrqrvrkJwg7KSEICVkOiAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzo3MjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHBhcnNlIGxpbmUgJWQuIgotbXNnc3RyICIlZOuyiCDspITsnYQg7YyM7Iux7ZWgIOyImCDsl4bsirXri4jri6QuIgotCi0jOiBzZXF1ZW5jZXIuYzo3MjkKLW1zZ2lkICJObyBjb21taXRzIHBhcnNlZC4iCisjOiBzZXF1ZW5jZXIuYzo5NTAKK21zZ2lkICJubyBjb21taXRzIHBhcnNlZC4iCiBtc2dzdHIgIu2MjOyLse2VnCDsu6TrsIvsnbQg7JeG7Iq164uI64ukLiIKIAotIzogc2VxdWVuY2VyLmM6NzQxCisjOiBzZXF1ZW5jZXIuYzo5NjYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG9wZW4gJXMiCi1tc2dzdHIgIiVz7J2EKOulvCkg7Je0IOyImCDsl4bsirXri4jri6QiCittc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJy4iCittc2dzdHIgIiclcyfsl5DshJwg7J297J2EIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBzZXF1ZW5jZXIuYzo3NDUKKyM6IHNlcXVlbmNlci5jOjk3MgogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcmVhZCAlcy4iCi1tc2dzdHIgIiVz7J2EKOulvCkg7J297J2EIOyImCDsl4bsirXri4jri6QuIgorbXNnaWQgInVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAnJXMnIgorbXNnc3RyICLsgqzsmqkg67aI6rCA64qlIOyduOyKpO2KuOufreyFmCDsi5ztirg6ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjc1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJVbnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJXMiCi1tc2dzdHIgIuyCrOyaqSDrtojqsIDriqUg7J247Iqk7Yq465+t7IWYIO2MjOydvDogJXMiCisjOiBzZXF1ZW5jZXIuYzo5ODMKK21zZ2lkICJjYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGEgcmV2ZXJ0LiIKK21zZ3N0ciAi65CY64+M66as6riwKHJldmVydCkg7KSR7JeQIOu5vOyYpOq4sChjaGVycnktcGljaynrpbwg7ZWgIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBzZXF1ZW5jZXIuYzo3ODIKKyM6IHNlcXVlbmNlci5jOjk4NQorbXNnaWQgImNhbm5vdCByZXZlcnQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgorbXNnc3RyICLrubzsmKTquLAoY2hlcnJ5LXBpY2spIOykkeyXkCDrkJjrj4zrpqzquLAocmV2ZXJ0KeulvCDtlaAg7IiYIOyXhuyKteuLiOuLpC4iCisKKyM6IHNlcXVlbmNlci5jOjEwMjgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCBrZXk6ICVzIgorbXNnaWQgImludmFsaWQga2V5OiAlcyIKIG1zZ3N0ciAi7J6Y66q765CcIO2CpDogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjc4NSBidWlsdGluL3B1bGwuYzo1MCBidWlsdGluL3B1bGwuYzo1MgorIzogc2VxdWVuY2VyLmM6MTAzMQogIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCi1tc2dzdHIgIiVz7J2YIOqwkuydtCDsmKzrsJTrpbTsp4Ag7JWK7Iq164uI64ukOiAlcyIKK21zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCittc2dzdHIgIiVz7J2YIOqwkuydtCDsnpjrqrvrkKg6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo3OTUKKyM6IHNlcXVlbmNlci5jOjEwNjMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiTWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICVzIgotbXNnc3RyICLtmJXsi53snbQg7J6Y66q765CcIOyYteyFmCDtjIzsnbw6ICVzIgorbXNnaWQgIm1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAnJXMnIgorbXNnc3RyICLtmJXsi53snbQg7J6Y66q765CcIOyYteyFmCDsi5ztirg6ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjgxNAorIzogc2VxdWVuY2VyLmM6MTEwMQogbXNnaWQgImEgY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgIuydtOuvuCDsu6TrsIsg67m87Jik6riwKGNoZXJyeS1waWNrKSDrmJDripQg65CY64+M66as6riwKHJldmVydCnqsIAg7KeE7ZaJIOykkeyeheuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6ODE1CisjOiBzZXF1ZW5jZXIuYzoxMTAyCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAiXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIOuqheugueydhCDtlbQg67O07Iut7Iuc7JikIgogCi0jOiBzZXF1ZW5jZXIuYzo4MTkKKyM6IHNlcXVlbmNlci5jOjExMDYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICVzIgotbXNnc3RyICIlcyDsi5ztgIDshJwg65SU66CJ7YSw66as66W8IOunjOuTpCDsiJgg7JeG7Iq164uI64ukIgorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAnJXMnIgorbXNnc3RyICInJXMnIOyLnO2AgOyEnCDrlJTroInthLDrpqzrpbwg66eM65OkIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjgzNSBzZXF1ZW5jZXIuYzo5MTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRXJyb3Igd3JhcHBpbmcgdXAgJXMuIgotbXNnc3RyICIlcyDsnqDqt7jripTrjbAg7Jik66WYLiIKKyM6IHNlcXVlbmNlci5jOjExMjAKK21zZ2lkICJjb3VsZCBub3QgbG9jayBIRUFEIgorbXNnc3RyICJIRUFE66W8IOyeoOq4gCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTQgc2VxdWVuY2VyLmM6OTg2CisjOiBzZXF1ZW5jZXIuYzoxMTUxIHNlcXVlbmNlci5jOjEyODkKIG1zZ2lkICJubyBjaGVycnktcGljayBvciByZXZlcnQgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgIuu5vOyYpOq4sChjaGVycnktcGljaykg65iQ64qUIOuQmOuPjOumrOq4sChyZXZlcnQp6rCAIOynhO2WiSDspJHsnbTsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTYKKyM6IHNlcXVlbmNlci5jOjExNTMKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICJIRUFE66W8IOq1rO2VtCDsmKwg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6ODU4CisjOiBzZXF1ZW5jZXIuYzoxMTU1IHNlcXVlbmNlci5jOjExODkKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAi7IOI66GcIOunjOuTpOqzoCDsnojripQg67iM656c7LmY7JeQ7IScIOykkeyngO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzggYnVpbHRpbi9mZXRjaC5jOjYxMCBidWlsdGluL2ZldGNoLmM6ODUxCisjOiBzZXF1ZW5jZXIuYzoxMTc1IGJ1aWx0aW4vZ3JlcC5jOjU3OAogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKLW1zZ3N0ciAiJXPsnYQo66W8KSDsl7Qg7IiYIOyXhuyKteuLiOuLpCIKK21zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgorbXNnc3RyICInJXMn7J2EKOulvCkg7Je0IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjg4MAorIzogc2VxdWVuY2VyLmM6MTE3NwogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCAlczogJXMiCi1tc2dzdHIgIiVz7J2EKOulvCkg7J297J2EIOyImCDsl4bsirXri4jri6Q6ICVzIgorbXNnaWQgImNhbm5vdCByZWFkICclcyc6ICVzIgorbXNnc3RyICInJXMn7J2EKOulvCkg7J297J2EIOyImCDsl4bsirXri4jri6Q6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4ODEKKyM6IHNlcXVlbmNlci5jOjExNzgKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICLsmIjsg4HsuZgg66q77ZWY6rKMIO2MjOydvOydtCDrgZ3rgqzsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjg4NworIzogc2VxdWVuY2VyLmM6MTE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIuu5vOyYpOq4sCDsoITsl5Ag7KCA7J6l7ZWcIEhFQUQg7YyM7J287J20KCclcycpIOyGkOyDgeuQmOyXiOyKteuLiOuLpCIKIAotIzogc2VxdWVuY2VyLmM6OTA5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBmb3JtYXQgJXMuIgotbXNnc3RyICIlc+yXkCDtj6zrp6TtjIXtlaAg7IiYIOyXhuyKteuLiOuLpC4iCi0KLSM6IHNlcXVlbmNlci5jOjEwNTQKKyM6IHNlcXVlbmNlci5jOjEzNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiVzOiAlcyDsu6TrsIvsnYQg67m87JisIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHNlcXVlbmNlci5jOjEwNTcKKyM6IHNlcXVlbmNlci5jOjEzNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiJXM6IOyemOuqu+uQnCDrpqzruYTsoIQiCiAKLSM6IHNlcXVlbmNlci5jOjEwOTEKLW1zZ2lkICJDYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCi1tc2dzdHIgIuy1nOy0iOydmCDsu6TrsIvsnYQg65CY64+M66a0IOyImCDsl4bsirXri4jri6QiCisjOiBzZXF1ZW5jZXIuYzoxMzkxCittc2dpZCAiY2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgorbXNnc3RyICLstZzstIjsnZgg7Luk67CL7Jy866GcIOuQmOuPjOumtCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDkyCi1tc2dpZCAiQ2FuJ3QgY2hlcnJ5LXBpY2sgaW50byBlbXB0eSBoZWFkIgotbXNnc3RyICLruYgg7Zek65Oc66GcIOy7pOuwi+ydhCDrubzsmKwg7IiYIOyXhuyKteuLiOuLpC4iCi0KLSM6IHNldHVwLmM6MjQ4CisjOiBzZXR1cC5jOjE2MAogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKLW1zZ3N0ciAiJXPsnYQo66W8KSDsnb3ripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgorbXNnaWQgIiIKKyIlczogbm8gc3VjaCBwYXRoIGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCisiVXNlICdnaXQgPGNvbW1hbmQ+IC0tIDxwYXRoPi4uLicgdG8gc3BlY2lmeSBwYXRocyB0aGF0IGRvIG5vdCBleGlzdCBsb2NhbGx5LiIKK21zZ3N0ciAiIgorIiVzOiDsnpHsl4Ug7Y+0642U7JeQIOq3uOufsCDqsr3roZzqsIAg7JeG7Iq164uI64ukLlxuIgorIuuhnOy7rOyXkCDsl4bripQg6rK966Gc66W8IOyngOygle2VmOugpOuptCAnZ2l0IDzrqoXroLk+IC0tIDzqsr3roZw+Li4uJyDsi53snLzroZwg7IKs7Jqp7ZWY7Iut7Iuc7JikLiIKKworIzogc2V0dXAuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiB1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCisiVXNlICctLScgdG8gc2VwYXJhdGUgcGF0aHMgZnJvbSByZXZpc2lvbnMsIGxpa2UgdGhpczpcbiIKKyInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgorbXNnc3RyICIiCisi7JWg66ek7ZWcIOyduOyekCAnJXMnOiDslYwg7IiYIOyXhuuKlCDrpqzruYTsoIQg65iQ64qUIOyekeyXhSDtj7TrjZTsl5Ag7JeG64qUIOqyveuhnC5cbiIKKyLqsr3roZzsmYAg66as67mE7KCE7J2EIOq1rOu2hO2VmOugpOuptCDri6TsnYzqs7wg6rCZ7J20ICctLSfrpbwg7IKs7Jqp7ZWY7Iut7Iuc7JikOlxuIgorIidnaXQgPOuqheuguT4gWzzrpqzruYTsoIQ+Li4uXSAtLSBbPO2MjOydvD4uLi5dJyIKKworIzogc2V0dXAuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiBib3RoIHJldmlzaW9uIGFuZCBmaWxlbmFtZVxuIgorIlVzZSAnLS0nIHRvIHNlcGFyYXRlIHBhdGhzIGZyb20gcmV2aXNpb25zLCBsaWtlIHRoaXM6XG4iCisiJ2dpdCA8Y29tbWFuZD4gWzxyZXZpc2lvbj4uLi5dIC0tIFs8ZmlsZT4uLi5dJyIKK21zZ3N0ciAiIgorIuyVoOunpO2VnCDsnbjsnpAgJyVzJzog7JWMIOyImCDsl4bripQg66as67mE7KCEIOuwjyDtjIzsnbwg7J2066aEXG4iCisi6rK966Gc7JmAIOumrOu5hOyghOydhCDqtazrtoTtlZjroKTrqbQg64uk7J2M6rO8IOqwmeydtCAnLS0n66W8IOyCrOyaqe2VmOyLreyLnOyYpDpcbiIKKyInZ2l0IDzrqoXroLk+IFs866as67mE7KCEPi4uLl0gLS0gWzztjIzsnbw+Li4uXSciCiAKICM6IHNldHVwLmM6NDY4CiAjLCBjLWZvcm1hdApAQCAtMTcyMSwyMSArMjkzMSw5MyBAQAogbXNnaWQgInVua25vd24gcmVwb3NpdG9yeSBleHRlbnNpb25zIGZvdW5kOiIKIG1zZ3N0ciAi7JWMIOyImCDsl4bripQg7KCA7J6l7IaMIO2ZleyepeydtCDsnojsirXri4jri6Q6IgogCi0jOiBzaGExX2ZpbGUuYzoxMDgwCisjOiBzZXR1cC5jOjc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKK21zZ3N0ciAiKO2YhOyerCDtj7TrjZQg65iQ64qUIOyDgeychCDtj7TrjZTqsIApIOq5gyDsoIDsnqXshozqsIAg7JWE64uZ64uI64ukOiAlcyIKKworIzogc2V0dXAuYzo3NjQgc2V0dXAuYzo5MTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY0MQorbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgorbXNnc3RyICLtmITsnqwg65SU66CJ7YSw66as66GcIOuPjOyVhOyYrCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBzZXR1cC5jOjg0NQorbXNnaWQgIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIu2YhOyerCDsnpHsl4Ug65SU66CJ7YSw66as66W8IOydveydhCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBzZXR1cC5jOjkyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCisiU3RvcHBpbmcgYXQgZmlsZXN5c3RlbSBib3VuZGFyeSAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSBub3Qgc2V0KS4iCittc2dzdHIgIiIKKyIo7ZiE7J6sIO2PtOuNlCDrmJDripQg66eI7Jq07Yq4IOychOy5mCAlc+q5jOyngCDsg4HsnIQg7Y+0642U6rCAKSDquYMg7KCA7J6l7IaM6rCAIOyVhOuLmeuLiOuLpFxuIgorIu2MjOydvCDsi5zsiqTthZwg6rK96rOE7JeQ7IScIOykkeyngO2VqeuLiOuLpC4gKEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0g7ISk7KCV65CY7KeAIOyViiIKKyLsnYwpIgorCisjOiBzZXR1cC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHRvICclcy8uLiciCittc2dzdHIgIiclcy8uLicg7JyE7LmY66GcIOydtOuPme2VoCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBzZXR1cC5jOjk4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUHJvYmxlbSB3aXRoIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSBmaWxlbW9kZSB2YWx1ZSAoMCUuM28pLlxuIgorIlRoZSBvd25lciBvZiBmaWxlcyBtdXN0IGFsd2F5cyBoYXZlIHJlYWQgYW5kIHdyaXRlIHBlcm1pc3Npb25zLiIKK21zZ3N0ciAiIgorImNvcmUuc2hhcmVkUmVwb3NpdG9yeSDtjIzsnbzrqqjrk5wg6rCS7JeQICgwJS4zbykg66y47KCc6rCAIOyeiOyKteuLiOuLpC5cbiIKKyLtjIzsnbzsnZgg7IaM7Jyg7J6Q7JeQIOydveq4sOyZgCDsk7DquLAg6raM7ZWc7J20IOyeiOyWtOyVvCDtlanri4jri6QuIgorCisjOiBzaGExX2ZpbGUuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICInJXMnIOqyveuhnOqwgCDsl4bsirXri4jri6QiCisKKyM6IHNoYTFfZmlsZS5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKK21zZ3N0ciAiIgorIuugiO2NvOufsOyKpCAnJXMnIOyggOyepeyGjOulvCDsl7DqsrDrkJwg7LK07YGs7JWE7JuD7Jy866GcIOyTsOq4sOuKlCDslYTsp4Eg7KeA7JuQ7ZWY7KeAIOyViuyKteuLiOuLpC4iCisKKyM6IHNoYTFfZmlsZS5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgorbXNnc3RyICLroIjtjbzrn7DsiqQgJyVzJyDsoIDsnqXshozqsIAg66Gc7LusIOyggOyepeyGjOqwgCDslYTri5nri4jri6QuIgorCisjOiBzaGExX2ZpbGUuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgorbXNnc3RyICLroIjtjbzrn7DsiqQgJyVzJyDsoIDsnqXshozqsIAg7JaV7J2AIOyggOyepeyGjOyeheuLiOuLpCIKKworIzogc2hhMV9maWxlLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKK21zZ3N0ciAi66CI7Y2865+w7IqkICclcycg7KCA7J6l7IaM6rCAIOu2meyWtCDsnojripQg7KCA7J6l7IaM7J6F64uI64ukIgorCisjOiBzaGExX2ZpbGUuYzoxMTU5CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBlbmQgb2YgcGFja2ZpbGUgKGJyb2tlbiAuaWR4PykiCiBtc2dzdHIgIuyYpO2UhOyFi+ydtCDrrLbsnYwg7YyM7J28IOyVnuyeheuLiOuLpCAo66ed6rCA7KeEIC5pZHg/KSIKIAotIzogc2hhMV9maWxlLmM6MjQ1OAorIzogc2hhMV9maWxlLmM6MjU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIHN0YXJ0IG9mIHBhY2sgaW5kZXggZm9yICVzIChjb3JydXB0IGluZGV4PykiCiBtc2dzdHIgIuyYpO2UhOyFi+ydtCAlc+ydmCDrrLbsnYwg7J24642x7IqkIOyLnOyekeuztOuLpCDslZ7snoXri4jri6QgKOunneqwgOynhCDsnbjrjbHsiqQ/KSIKIAotIzogc2hhMV9maWxlLmM6MjQ2MgorIzogc2hhMV9maWxlLmM6MjU5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCiBtc2dzdHIgIuyYpO2UhOyFi+ydtCAlc+ydmCDrrLbsnYwg7J24642x7IqkIOuBneuztOuLpCDrkqTsnoXri4jri6QgKOunneqwgOynhCDsnbjrjbHsiqQ/KSIKIAotIzogc2hhMV9uYW1lLmM6NDYyCisjOiBzaGExX25hbWUuYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hvcnQgU0hBMSAlcyBpcyBhbWJpZ3VvdXMiCittc2dzdHIgIuynp+ydgCBTSEExICVz7J2AKOuKlCkg7Jes65+/7JeQIOuMgOydkeuQqeuLiOuLpCIKKworIzogc2hhMV9uYW1lLmM6NDE4Cittc2dpZCAiVGhlIGNhbmRpZGF0ZXMgYXJlOiIKK21zZ3N0ciAi7ZuE67O064qUIOuLpOydjOqzvCDqsJnsirXri4jri6Q6IgorCisjOiBzaGExX25hbWUuYzo1NzgKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCkBAIC0xNzgxLDc5ICszMDYzLDE0NSBAQAogbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCiBtc2dzdHIgIuyXheuNsOydtO2KuO2VnCAuZ2l0bW9kdWxlc+ulvCDsu6TrsIvtlaAg7IKs7ZWt7Jy866GcIO2RnOyLnO2VmOuKlOuNsCDsi6TtjKgiCiAKLSM6IHN1Ym1vZHVsZS5jOjE3NworIzogc3VibW9kdWxlLmM6MTU4CiBtc2dpZCAibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hKb2JzIgogbXNnc3RyICJzdWJtb2R1bGUuZmV0Y2hKb2JzIOqwkuyXkCDsnYzsiJjrpbwg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzozNTUKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXMiCiBtc2dzdHIgIiVz7J2YIOqwkuydtCDsmKzrsJTrpbTsp4Ag7JWK7Iq164uI64ukIgogCi0jOiB0cmFpbGVyLmM6MjM3CisjOiB0cmFpbGVyLmM6MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgdHJhaWxlciBjb21tYW5kICclcycgZmFpbGVkIgogbXNnc3RyICLtirjroIjsnbzrn6wg66qF66C5ICclcycg7Iuk7ZaJIOyLpO2MqCIKIAotIzogdHJhaWxlci5jOjQ5MiB0cmFpbGVyLmM6NDk2IHRyYWlsZXIuYzo1MDAgdHJhaWxlci5jOjU1NCB0cmFpbGVyLmM6NTU4Ci0jOiB0cmFpbGVyLmM6NTYyCisjOiB0cmFpbGVyLmM6NDcxIHRyYWlsZXIuYzo0NzUgdHJhaWxlci5jOjQ3OSB0cmFpbGVyLmM6NTMzIHRyYWlsZXIuYzo1MzcKKyM6IHRyYWlsZXIuYzo1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biB2YWx1ZSAnJXMnIGZvciBrZXkgJyVzJyIKIG1zZ3N0ciAi7JWMIOyImCDsl4bripQg6rCSICclcycsIO2CpCAnJXMnIgogCi0jOiB0cmFpbGVyLmM6NTQ0IHRyYWlsZXIuYzo1NDkgYnVpbHRpbi9yZW1vdGUuYzoyODkKKyM6IHRyYWlsZXIuYzo1MjMgdHJhaWxlci5jOjUyOCBidWlsdGluL3JlbW90ZS5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gb25lICVzIgogbXNnc3RyICIlc+ydtCjqsIApIOyXrOufrOqwnOyeheuLiOuLpCIKIAotIzogdHJhaWxlci5jOjU4MgorIzogdHJhaWxlci5jOjY3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlbXB0eSB0cmFpbGVyIHRva2VuIGluIHRyYWlsZXIgJyUuKnMnIgogbXNnc3RyICLtirjroIjsnbzrn6wgJyUuKnMn7JeQ7IScIOu5iCDtirjroIjsnbzrn6wg7Yag7YGwIgogCi0jOiB0cmFpbGVyLmM6NzAyCisjOiB0cmFpbGVyLmM6Njk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGlucHV0IGZpbGUgJyVzJyIKIG1zZ3N0ciAiJyVzJyDsnoXroKUg7YyM7J287J2EIOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiB0cmFpbGVyLmM6NzA1CisjOiB0cmFpbGVyLmM6Njk4CiBtc2dpZCAiY291bGQgbm90IHJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi7ZGc7KSAIOyeheugpeyXkOyEnCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogdHJhaWxlci5jOjg1NyBidWlsdGluL2FtLmM6NDIKKyM6IHRyYWlsZXIuYzo5MjkgYnVpbHRpbi9hbS5jOjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0ICVzIgogbXNnc3RyICIlc+yXkCDrjIDtlbQgc3RhdCgp7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHRyYWlsZXIuYzo4NTkKKyM6IHRyYWlsZXIuYzo5MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBpcyBub3QgYSByZWd1bGFyIGZpbGUiCiBtc2dzdHIgIiclcycg7YyM7J287J20IOydvOuwmCDtjIzsnbzsnbQg7JWE64uZ64uI64ukIgogCi0jOiB0cmFpbGVyLmM6ODYxCisjOiB0cmFpbGVyLmM6OTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IHdyaXRhYmxlIGJ5IHVzZXIiCiBtc2dzdHIgIuyCrOyaqeyekOqwgCAlcyDtjIzsnbzsl5Ag7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHRyYWlsZXIuYzo4NzMKKyM6IHRyYWlsZXIuYzo5NDUKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKIG1zZ3N0ciAi7J6E7IucIO2MjOydvOydhCDsl7Qg7IiYIOyXhuyKteuLiOuLpDogJXMiCiAKLSM6IHRyYWlsZXIuYzo5MTIKKyM6IHRyYWlsZXIuYzo5ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbmFtZSB0ZW1wb3JhcnkgZmlsZSB0byAlcyIKIG1zZ3N0ciAi7J6E7IucIO2MjOydvCDsnbTrpoTsnYQgJyVzJyjsnLwp66GcIOuwlOq/gCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA0MQorIzogdHJhbnNwb3J0LmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgc2V0IHVwc3RyZWFtIG9mICclcycgdG8gJyVzJyBvZiAnJXMnXG4iCittc2dzdHIgIiclMSRzJ+ydmCDsl4XsiqTtirjrprzsnYQgJyUzJHMn7J2YICclMiRzJyjsnLwp66GcIOyEpOygle2VoCDqsoPsnoXri4jri6RcbiIKKworIzogdHJhbnNwb3J0LmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInRyYW5zcG9ydDogaW52YWxpZCBkZXB0aCBvcHRpb24gJyVzJyIKK21zZ3N0ciAidHJhbnNwb3J0OiDsnpjrqrvrkJwg6rmK7J20IOyYteyFmDogJXMiCisKKyM6IHRyYW5zcG9ydC5jOjgxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgcGF0aHMgY29udGFpbiBjaGFuZ2VzIHRoYXQgY2FuXG4iCisibm90IGJlIGZvdW5kIG9uIGFueSByZW1vdGU6XG4iCittc2dzdHIgIiIKKyLri6TsnYwg7ZWY7JyEIOuqqOuTiCDqsr3roZzsl5Ag66as66qo7Yq4IOyWtOuUlOyXkOuPhCDsl4bripRcbiIKKyLrs4Dqsr0g7IKs7ZWt7J20IOyeiOyKteuLiOuLpDpcbiIKKworIzogdHJhbnNwb3J0LmM6ODIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJQbGVhc2UgdHJ5XG4iCisiXG4iCisiXHRnaXQgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmRcbiIKKyJcbiIKKyJvciBjZCB0byB0aGUgcGF0aCBhbmQgdXNlXG4iCisiXG4iCisiXHRnaXQgcHVzaFxuIgorIlxuIgorInRvIHB1c2ggdGhlbSB0byBhIHJlbW90ZS5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIuumrOuqqO2KuOyXkCDtkbjsi5ztlZjroKTrqbRcbiIKKyJcbiIKKyJcdGdpdCBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzPW9uLWRlbWFuZFxuIgorIlxuIgorIuuYkOuKlCDtlbTri7kg6rK966Gc66GcIGNk7ZWcIOuLpOydjFxuIgorIlxuIgorIlx0Z2l0IHB1c2hcbiIKKyJcbiIKKyLrqoXroLnsnYQg7Iuc64+E7ZW0IOuztOyLreyLnOyYpFxuIgorIlxuIgorCisjOiB0cmFuc3BvcnQuYzo4MjkKK21zZ2lkICJBYm9ydGluZy4iCittc2dzdHIgIuykkeyngO2VqC4iCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHJlZiAlcyIKIG1zZ3N0ciAiJXMg66CI7Y2865+w7Iqk66W8IOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCisjOiB0cmVlLXdhbGsuYzozMQorbXNnaWQgInRvby1zaG9ydCB0cmVlIG9iamVjdCIKK21zZ3N0ciAi64SI66y0IOynp+ydgCDtirjrpqwg7Jik67iM7KCd7Yq4IgorCisjOiB0cmVlLXdhbGsuYzozNworbXNnaWQgIm1hbGZvcm1lZCBtb2RlIGluIHRyZWUgZW50cnkiCittc2dzdHIgIu2KuOumrCDsl5Ttirjrpqzsl5Ag7J6Y66q765CcIO2YleyLneydmCDrqqjrk5wiCisKKyM6IHRyZWUtd2Fsay5jOjQxCittc2dpZCAiZW1wdHkgZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSIKK21zZ3N0ciAi7Yq466asIOyXlO2KuOumrOyXkCDruYgg7YyM7J28IOydtOumhCIKKworIzogdHJlZS13YWxrLmM6MTEzCittc2dpZCAidG9vLXNob3J0IHRyZWUgZmlsZSIKK21zZ3N0ciAi64SI66y0IOynp+ydgCDtirjrpqwg7YyM7J28IgorCiAjOiB1bnBhY2stdHJlZXMuYzo2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCi0iJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IGNhbiBzd2l0Y2ggYnJhbmNoZXMuIgorIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgogbXNnc3RyICIiCiAi64uk7J2MIO2MjOydvOydmCDroZzsu6wg67OA6rK9IOyCrO2VreydhCDssrTtgazslYTsm4Mg65WM66y47JeQIOuNruyWtCDsk7Dqsowg65Cp64uI64ukOlxuIgogIiUlc+u4jOuenOy5mOulvCDsoITtmZjtlZjquLAg7KCE7JeQIOuzgOqyvSDsgqztla3snYQg7Luk67CL7ZWY6rGw64KYIOyKpO2DnOyLnO2VmOyLreyLnOyYpC4iCkBAIC0xODcxLDcgKzMyMTksNyBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCi0iJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAiIgogIuuLpOydjCDtjIzsnbzsnZgg66Gc7LusIOuzgOqyvSDsgqztla3snYQg67OR7ZWpIOuVjOusuOyXkCDrja7slrQg7JOw6rKMIOuQqeuLiOuLpDpcbiIKICIlJXPrs5HtlantlZjquLAg7KCE7JeQIOuzgOqyvSDsgqztla3snYQg7Luk67CL7ZWY6rGw64KYIOyKpO2DnOyLnO2VmOyLreyLnOyYpC4iCkBAIC0xODg3LDcgKzMyMzUsNyBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCi0iJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IGNhbiAlcy4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91ICVzLiIKIG1zZ3N0ciAiIgogIuuLpOydjCDtjIzsnbzsnZgg66Gc7LusIOuzgOqyvSDsgqztla3snYQgJXMg65WM66y47JeQIOuNruyWtCDsk7Dqsowg65Cp64uI64ukOlxuIgogIiUlcyVzIOyghOyXkCDrs4Dqsr0g7IKs7ZWt7J2EIOy7pOuwi+2VmOqxsOuCmCDsiqTtg5zsi5ztlZjsi63si5zsmKQuIgpAQCAtMTkxNCw5ICszMjYyLDkgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIHN3aXRjaCBicmFuY2hlcy4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgogbXNnc3RyICIiCi0i7LK07YGs7JWE7JuDIOuVjOusuOyXkCDstpTsoIHtlZjsp4Ag7JWK64qUIOuLpOydjCDsnpHsl4Ug7Y+0642UIO2MjOydvOydtCDsoJzqsbDrkKnri4jri6Q6XG4iCisi7LK07YGs7JWE7JuDIOuVjOusuOyXkCDstpTsoIHtlZjsp4Ag7JWK64qUIOuLpOydjCDsnpHsl4Ug7Y+0642U7J2YIO2MjOydvOydtCDsoJzqsbDrkKnri4jri6Q6XG4iCiAiJSVz67iM656c7LmY66W8IOyghO2ZmO2VmOq4sCDsoITsl5Ag7J20IO2MjOydvOydhCDsmK7quLDqsbDrgpgg7KCc6rGw7ZWY7Iut7Iuc7JikLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6ODcKQEAgLTE5MzIsOSArMzI4MCw5IEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgIiIKLSLrs5Htlakg65WM66y47JeQIOy2lOygge2VmOyngCDslYrripQg64uk7J2MIOyekeyXhSDtj7TrjZQg7YyM7J287J20IOygnOqxsOuQqeuLiOuLpDpcbiIKKyLrs5Htlakg65WM66y47JeQIOy2lOygge2VmOyngCDslYrripQg64uk7J2MIOyekeyXhSDtj7TrjZTsnZgg7YyM7J287J20IOygnOqxsOuQqeuLiOuLpDpcbiIKICIlJXPrs5HtlantlZjquLAg7KCE7JeQIOydtCDtjIzsnbzsnYQg7Jiu6riw6rGw64KYIOygnOqxsO2VmOyLreyLnOyYpC4iCiAKICM6IHVucGFjay10cmVlcy5jOjkyCkBAIC0xOTUwLDkgKzMyOTgsOSBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gJXMuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgJXMuIgogbXNnc3RyICIiCi0iJXMg65WM66y47JeQIOy2lOygge2VmOyngCDslYrripQg64uk7J2MIOyekeyXhSDtj7TrjZQg7YyM7J287J20IOygnOqxsOuQqeuLiOuLpDpcbiIKKyIlcyDrlYzrrLjsl5Ag7LaU7KCB7ZWY7KeAIOyViuuKlCDri6TsnYwg7J6R7JeFIO2PtOuNlOydmCDtjIzsnbzsnbQg7KCc6rGw65Cp64uI64ukOlxuIgogIiUlcyVzIO2VmOq4sCDsoITsl5Ag7J20IO2MjOydvOydhCDsmK7quLDqsbDrgpgg7KCc6rGw7ZWY7Iut7Iuc7JikLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6OTcKQEAgLTE5NjksOSArMzMxNyw5IEBACiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCiAiY2hlY2tvdXQ6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gc3dpdGNoIGJyYW5jaGVzLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgIiIKLSLssrTtgazslYTsm4Mg65WM66y47JeQIOy2lOygge2VmOyngCDslYrripQg64uk7J2MIOyekeyXhSDtj7TrjZQg7YyM7J287J2EIOuNruyWtOyUgeuLiOuLpDpcbiIKKyLssrTtgazslYTsm4Mg65WM66y47JeQIOy2lOygge2VmOyngCDslYrripQg64uk7J2MIOyekeyXhSDtj7TrjZTsnZgg7YyM7J287J2EIOuNruyWtOyUgeuLiOuLpDpcbiIKICIlJXPruIzrnpzsuZjrpbwg7KCE7ZmY7ZWY6riwIOyghOyXkCDsnbQg7YyM7J287J2EIOyYruq4sOqxsOuCmCDsoJzqsbDtlZjsi63si5zsmKQuIgogCiAjOiB1bnBhY2stdHJlZXMuYzoxMDQKQEAgLTE5ODgsOSArMzMzNiw5IEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCi0i67OR7ZWpIOuVjOusuOyXkCDstpTsoIHtlZjsp4Ag7JWK64qUIOuLpOydjCDsnpHsl4Ug7Y+0642UIO2MjOydvOydhCDrja7slrTslIHri4jri6Q6XG4iCisi67OR7ZWpIOuVjOusuOyXkCDstpTsoIHtlZjsp4Ag7JWK64qUIOuLpOydjCDsnpHsl4Ug7Y+0642U7J2YIO2MjOydvOydhCDrja7slrTslIHri4jri6Q6XG4iCiAiJSVz67OR7ZWp7ZWY6riwIOyghOyXkCDsnbQg7YyM7J287J2EIOyYruq4sOqxsOuCmCDsoJzqsbDtlZjsi63si5zsmKQuIgogCiAjOiB1bnBhY2stdHJlZXMuYzoxMDkKQEAgLTIwMDYsOSArMzM1NCw5IEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gJXMuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgJXMuIgogbXNnc3RyICIiCi0iJXMg65WM66y47JeQIOy2lOygge2VmOyngCDslYrripQg64uk7J2MIOyekeyXhSDtj7TrjZQg7YyM7J287J2EIOuNruyWtOyUgeuLiOuLpDpcbiIKKyIlcyDrlYzrrLjsl5Ag7LaU7KCB7ZWY7KeAIOyViuuKlCDri6TsnYwg7J6R7JeFIO2PtOuNlOydmCDtjIzsnbzsnYQg642u7Ja07JSB64uI64ukOlxuIgogIiUlcyVzIO2VmOq4sCDsoITsl5Ag7J20IO2MjOydvOydhCDsmK7quLDqsbDrgpgg7KCc6rGw7ZWY7Iut7Iuc7JikLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6MTE0CkBAIC0yMDMxLDI3ICszMzc5LDMwIEBACiAiQ2Fubm90IHVwZGF0ZSBzcGFyc2UgY2hlY2tvdXQ6IHRoZSBmb2xsb3dpbmcgZW50cmllcyBhcmUgbm90IHVwLXRvLWRhdGU6XG4iCiAiJXMiCiBtc2dzdHIgIiIKLSLrk5zrrLgg7LK07YGs7JWE7JuD7J2EIOyXheuNsOydtO2KuO2VoCDsiJgg7JeG7Iq164uI64ukOyDri6TsnYwg7ZWt66qp7J20IOy1nOyLoOycvOuhnCDsl4XrjbDsnbTtirjrkJjsp4Ag7JWK7JWY7Iq164uI64ukOlxuIgorIuuTnOusuCDssrTtgazslYTsm4PsnYQg7JeF642w7J207Yq47ZWgIOyImCDsl4bsirXri4jri6QuIOuLpOydjCDtla3rqqnsnbQg7LWc7Iug7Jy866GcIOyXheuNsOydtO2KuOuQmOyngCDslYoiCisi7JWY7Iq164uI64ukOlxuIgogIiVzIgogCiAjOiB1bnBhY2stdHJlZXMuYzoxMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIlRoZSBmb2xsb3dpbmcgV29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHNwYXJzZSBjaGVja291dCAiCisiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgc3BhcnNlIGNoZWNrb3V0ICIKICJ1cGRhdGU6XG4iCiAiJXMiCiBtc2dzdHIgIiIKLSLrk5zrrLgg7LK07YGs7JWE7JuDIOyXheuNsOydtO2KuCDrlYzrrLjsl5Ag7LaU7KCB7ZWY7KeAIOyViuuKlCDri6TsnYwg7J6R7JeFIO2PtOuNlCDtjIzsnbzsnYQg642u7Ja07JSB64uI64ukOlxuIgorIuuTnOusuCDssrTtgazslYTsm4Mg7JeF642w7J207Yq4IOuVjOusuOyXkCDstpTsoIHtlZjsp4Ag7JWK64qUIOuLpOydjCDsnpHsl4Ug7Y+0642UIO2MjOydvOydhCDrja7slrTslIHri4giCisi64ukOlxuIgogIiVzIgogCiAjOiB1bnBhY2stdHJlZXMuYzoxMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIlRoZSBmb2xsb3dpbmcgV29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgc3BhcnNlIGNoZWNrb3V0ICIKKyJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCiAidXBkYXRlOlxuIgogIiVzIgogbXNnc3RyICIiCi0i65Oc66y4IOyytO2BrOyVhOybgyDsl4XrjbDsnbTtirgg65WM66y47JeQIOy2lOygge2VmOyngCDslYrripQg64uk7J2MIOyekeyXhSDtj7TrjZQg7YyM7J287J2EIOygnOqxsO2VqeuLiOuLpDpcbiIKKyLrk5zrrLgg7LK07YGs7JWE7JuDIOyXheuNsOydtO2KuCDrlYzrrLjsl5Ag7LaU7KCB7ZWY7KeAIOyViuuKlCDri6TsnYwg7J6R7JeFIO2PtOuNlCDtjIzsnbzsnYQg7KCc6rGw7ZWp64uIIgorIuuLpDpcbiIKICIlcyIKIAogIzogdW5wYWNrLXRyZWVzLmM6MjA1CkBAIC0yMDkyLDE5NyArMzQ0MywxODcgQEAKIG1zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgogbXNnc3RyICLqsr3roZzsl5DshJwg7J6Y66q765CcICcuLicg67aA67aEIgogCi0jOiB3cmFwcGVyLmM6MjIyIHdyYXBwZXIuYzozODEKKyM6IHdvcmt0cmVlLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICclcyciCittc2dzdHIgIiclcyfsnYQo66W8KSDsnb3ripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgorCisjOiB3cmFwcGVyLmM6MjIyIHdyYXBwZXIuYzozOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyIKIG1zZ3N0ciAi7J296riw7JmAIOyTsOq4sOyaqeycvOuhnCAnJXMn7J2EKOulvCkg7Je0IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHdyYXBwZXIuYzoyMjQgd3JhcHBlci5jOjM4MyBidWlsdGluL2FtLmM6Nzc5CisjOiB3cmFwcGVyLmM6MjI0IHdyYXBwZXIuYzozOTQgYnVpbHRpbi9hbS5jOjc2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICInJXMn7J2EKOulvCkg7JOw6riw7Jqp7Jy866GcIOyXtCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiB3cmFwcGVyLmM6MjI2IHdyYXBwZXIuYzozODUgYnVpbHRpbi9hbS5jOjMyMyBidWlsdGluL2FtLmM6NzcyCi0jOiBidWlsdGluL2FtLmM6ODYwIGJ1aWx0aW4vY29tbWl0LmM6MTcxMSBidWlsdGluL21lcmdlLmM6MTA4NgotIzogYnVpbHRpbi9wdWxsLmM6NDA3CisjOiB3cmFwcGVyLmM6MjI2IHdyYXBwZXIuYzozOTYgYnVpbHRpbi9hbS5jOjMyMCBidWlsdGluL2FtLmM6NzU5CisjOiBidWlsdGluL2FtLmM6ODQ3IGJ1aWx0aW4vY29tbWl0LmM6MTcwNSBidWlsdGluL21lcmdlLmM6MTAyOQorIzogYnVpbHRpbi9wdWxsLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgIiclcyfsnYQo66W8KSDsnb3quLDsmqnsnLzroZwg7Je0IOyImCDsl4bsirXri4jri6QiCiAKLSM6IHdyYXBwZXIuYzo1OTQgd3JhcHBlci5jOjYxNQorIzogd3JhcHBlci5jOjYwNSB3cmFwcGVyLmM6NjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKIG1zZ3N0ciAiJyVzJ+yXkCDsoJHqt7ztlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogd3JhcHBlci5jOjYyMworIzogd3JhcHBlci5jOjYzNAogbXNnaWQgInVuYWJsZSB0byBnZXQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAi7ZiE7J6sIOyekeyXhSDrlJTroInthLDrpqzrpbwg6rCA7KC47JisIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHdyYXBwZXIuYzo2NTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IG9wZW4gJXMgZm9yIHdyaXRpbmciCi1tc2dzdHIgIiVz7J2EKOulvCkg7JOw6riw7Jqp7Jy866GcIOyXtCDsiJgg7JeG7Iq164uI64ukIgotCi0jOiB3cmFwcGVyLmM6NjYxIGJ1aWx0aW4vYW0uYzo0MTAKKyM6IHdyYXBwZXIuYzo2NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRvICVzIgogbXNnc3RyICIlc+yXkCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogd3JhcHBlci5jOjY2NworIzogd3JhcHBlci5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJXMiCiBtc2dzdHIgIiVz7J2EKOulvCkg64ur7J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MAorIzogd3Qtc3RhdHVzLmM6MTUxCiBtc2dpZCAiVW5tZXJnZWQgcGF0aHM6IgogbXNnc3RyICLrs5HtlantlZjsp4Ag7JWK7J2AIOqyveuhnDoiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NyB3dC1zdGF0dXMuYzoyMDQKKyM6IHd0LXN0YXR1cy5jOjE3OCB3dC1zdGF0dXMuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgICjsiqTthYzsnbTsp4Ag7ZW07KCc7ZWY66Ck66m0IFwiZ2l0IHJlc2V0ICVzIDztjIzsnbw+Li4uXCLsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTc5IHd0LXN0YXR1cy5jOjIwNgorIzogd3Qtc3RhdHVzLmM6MTgwIHd0LXN0YXR1cy5jOjIwNwogbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICAo7Iqk7YWM7J207KeAIO2VtOygnO2VmOugpOuptCBcImdpdCBybSAtLWNhY2hlZCA87YyM7J28Pi4uLlwi7J2EIOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MworIzogd3Qtc3RhdHVzLmM6MTg0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICjtlbTqsrDtlojri6Tqs6Ag7ZGc7Iuc7ZWY66Ck66m0IFwiZ2l0IGFkZCA87YyM7J28Pi4uLlwi7J2EIOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NSB3dC1zdGF0dXMuYzoxODkKKyM6IHd0LXN0YXR1cy5jOjE4NiB3dC1zdGF0dXMuYzoxOTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKICIgICjtlbTqsrDtlojri6Tqs6Ag7ZGc7Iuc7ZWY66Ck66m0IOyVjOunnuqyjCBcImdpdCBhZGQvcm0gPO2MjOydvD4uLi5cIuydhCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxODcKKyM6IHd0LXN0YXR1cy5jOjE4OAogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICjtlbTqsrDtlojri6Tqs6Ag7ZGc7Iuc7ZWY66Ck66m0IFwiZ2l0IHJtIDztjIzsnbw+Li4uXCLsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTk4IHd0LXN0YXR1cy5jOjg4MQorIzogd3Qtc3RhdHVzLmM6MTk5IHd0LXN0YXR1cy5jOjk0NQogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAi7Luk67CL7ZWgIOuzgOqyvSDsgqztla06IgogCi0jOiB3dC1zdGF0dXMuYzoyMTYgd3Qtc3RhdHVzLmM6ODkwCisjOiB3dC1zdGF0dXMuYzoyMTcgd3Qtc3RhdHVzLmM6OTU0CiBtc2dpZCAiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6IgogbXNnc3RyICLsu6TrsIvtlZjrj4TroZ0g7KCV7ZWY7KeAIOyViuydgCDrs4Dqsr0g7IKs7ZWtOiIKIAotIzogd3Qtc3RhdHVzLmM6MjIwCisjOiB3dC1zdGF0dXMuYzoyMjEKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiICAo66y07JeH7J2EIOy7pOuwi+2VoOyngCDrsJTqvrjroKTrqbQgXCJnaXQgYWRkIDztjIzsnbw+Li4uXCLsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MjIyCisjOiB3dC1zdGF0dXMuYzoyMjMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiICAo66y07JeH7J2EIOy7pOuwi+2VoOyngCDrsJTqvrjroKTrqbQgXCJnaXQgYWRkL3JtIDztjIzsnbw+Li4uXCLsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MjIzCisjOiB3dC1zdGF0dXMuYzoyMjQKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKICIgICjsnpHsl4Ug7Y+0642U7J2YIOuzgOqyvSDsgqztla3snYQg67KE66as66Ck66m0IFwiZ2l0IGNoZWNrb3V0IC0tIDztjIzsnbw+Li4uXCLsnYQg7IKs7Jqp7ZWY7IutIgogIuyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNQorIzogd3Qtc3RhdHVzLmM6MjI2CiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIiCiAiICAo7ZWY7JyEIOuqqOuTiOydmCDstpTsoIHrkJjsp4Ag7JWK64qUIO2MjOydvOydtOuCmCDsiJjsoJXrkJwg64K07Jqp7J2EIOy7pOuwi+2VmOqxsOuCmCDrsoTrpqzsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoyMzcKKyM6IHd0LXN0YXR1cy5jOjIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiICAo7Luk67CL7ZWgIOyCrO2VreyXkCDtj6ztlajtlZjroKTrqbQgXCJnaXQgJXMgPO2MjOydvD4uLi5cIuydhCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoyNTIKKyM6IHd0LXN0YXR1cy5jOjI1MwogbXNnaWQgImJvdGggZGVsZXRlZDoiCiBtc2dzdHIgIuyWkeyqveyXkOyEnCDsgq3soJw6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTQKKyM6IHd0LXN0YXR1cy5jOjI1NQogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAi7J20IOyqveyXkOyEnCDstpTqsIA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTYKKyM6IHd0LXN0YXR1cy5jOjI1NwogbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCiBtc2dzdHIgIuyggCDsqr3sl5DshJwg7IKt7KCcOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU4CisjOiB3dC1zdGF0dXMuYzoyNTkKIG1zZ2lkICJhZGRlZCBieSB0aGVtOiIKIG1zZ3N0ciAi7KCAIOyqveyXkOyEnCDstpTqsIA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjAKKyM6IHd0LXN0YXR1cy5jOjI2MQogbXNnaWQgImRlbGV0ZWQgYnkgdXM6IgogbXNnc3RyICLsnbQg7Kq97JeQ7IScIOyCreygnDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MgorIzogd3Qtc3RhdHVzLmM6MjYzCiBtc2dpZCAiYm90aCBhZGRlZDoiCiBtc2dzdHIgIuyWkeyqveyXkOyEnCDstpTqsIA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjQKKyM6IHd0LXN0YXR1cy5jOjI2NQogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICLslpHsqr3sl5DshJwg7IiY7KCVOiIKIAotIzogd3Qtc3RhdHVzLmM6MjY2Ci0jLCBjLWZvcm1hdAotbXNnaWQgImJ1ZzogdW5oYW5kbGVkIHVubWVyZ2VkIHN0YXR1cyAleCIKLW1zZ3N0ciAiYnVnOiDrs5HtlantlZjsp4Ag7JWK7J2AIOyDge2DnCAleCDsspjrpqzrkJjsp4Ag7JWK7J2MIgotCi0jOiB3dC1zdGF0dXMuYzoyNzQKKyM6IHd0LXN0YXR1cy5jOjI3NQogbXNnaWQgIm5ldyBmaWxlOiIKIG1zZ3N0ciAi7IOIIO2MjOydvDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI3NgorIzogd3Qtc3RhdHVzLmM6Mjc3CiBtc2dpZCAiY29waWVkOiIKIG1zZ3N0ciAi67O17IKs7ZWoOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc4CisjOiB3dC1zdGF0dXMuYzoyNzkKIG1zZ2lkICJkZWxldGVkOiIKIG1zZ3N0ciAi7IKt7KCc7ZWoOiIKIAotIzogd3Qtc3RhdHVzLmM6MjgwCisjOiB3dC1zdGF0dXMuYzoyODEKIG1zZ2lkICJtb2RpZmllZDoiCiBtc2dzdHIgIuyImOygle2VqDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MgorIzogd3Qtc3RhdHVzLmM6MjgzCiBtc2dpZCAicmVuYW1lZDoiCiBtc2dzdHIgIuydtOumhCDrsJTqv4g6IgogCi0jOiB3dC1zdGF0dXMuYzoyODQKKyM6IHd0LXN0YXR1cy5jOjI4NQogbXNnaWQgInR5cGVjaGFuZ2U6IgogbXNnc3RyICLsooXrpZgg67CU64CcOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg2CisjOiB3dC1zdGF0dXMuYzoyODcKIG1zZ2lkICJ1bmtub3duOiIKIG1zZ3N0ciAi7JWMIOyImCDsl4bsnYw6IgogCi0jOiB3dC1zdGF0dXMuYzoyODgKKyM6IHd0LXN0YXR1cy5jOjI4OQogbXNnaWQgInVubWVyZ2VkOiIKIG1zZ3N0ciAi67OR7ZWp7ZWY7KeAIOyViuydjDoiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MAorIzogd3Qtc3RhdHVzLmM6MzcxCiBtc2dpZCAibmV3IGNvbW1pdHMsICIKIG1zZ3N0ciAi7IOIIOy7pOuwiywgIgogCi0jOiB3dC1zdGF0dXMuYzozNzIKKyM6IHd0LXN0YXR1cy5jOjM3MwogbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKIG1zZ3N0ciAi7IiY7KCV7ZWcIOuCtOyaqSwgIgogCi0jOiB3dC1zdGF0dXMuYzozNzQKKyM6IHd0LXN0YXR1cy5jOjM3NQogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgIuy2lOygge2VmOyngCDslYrsnYAg64K07JqpLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM5MQotIywgYy1mb3JtYXQKLW1zZ2lkICJidWc6IHVuaGFuZGxlZCBkaWZmIHN0YXR1cyAlYyIKLW1zZ3N0ciAi67KE6re4OiDsspjrpqzrkJjsp4Ag7JWK7J2AIGRpZmYg7IOB7YOcICVjIgotCi0jOiB3dC1zdGF0dXMuYzo3NTUKKyM6IHd0LXN0YXR1cy5jOjgxOAogbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgogbXNnc3RyICLrs4Dqsr3rkJjsl4jsp4Drp4wg7JeF642w7J207Yq47ZWY7KeAIOyViuydgCDtlZjsnIQg66qo65OIOiIKIAotIzogd3Qtc3RhdHVzLmM6NzU3CisjOiB3dC1zdGF0dXMuYzo4MjAKIG1zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgogbXNnc3RyICLsu6TrsIvtlaAg7ZWY7JyEIOuqqOuTiOydmCDrs4Dqsr0g7IKs7ZWtOiIKIAotIzogd3Qtc3RhdHVzLmM6ODM4CisjOiB3dC1zdGF0dXMuYzo5MDEKIG1zZ2lkICIiCiAiRG8gbm90IHRvdWNoIHRoZSBsaW5lIGFib3ZlLlxuIgogIkV2ZXJ5dGhpbmcgYmVsb3cgd2lsbCBiZSByZW1vdmVkLiIKQEAgLTIyOTAsMjE1ICszNjMxLDIxOSBAQAogIuychOydmCDspITsnYQg67CU6r647KeAIOuniOyLreyLnOyYpC5cbiIKICLslYTrnpgg7J6I64qUIOuCtOyaqeydgCDrqqjrkZAg7KCc6rGw65Cp64uI64ukLiIKIAotIzogd3Qtc3RhdHVzLmM6OTQ5CisjOiB3dC1zdGF0dXMuYzoxMDEzCiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICLrs5HtlantlZjsp4Ag7JWK7J2AIOqyveuhnOqwgCDsnojsirXri4jri6QuIgogCi0jOiB3dC1zdGF0dXMuYzo5NTIKKyM6IHd0LXN0YXR1cy5jOjEwMTYKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIgICjstqnrj4zsnYQg67CU66Gc7J6h6rOgIFwiZ2l0IGNvbW1pdFwi7J2EIOyLpO2Wie2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjk1NgorIzogd3Qtc3RhdHVzLmM6MTAxOAorbXNnaWQgIiAgKHVzZSBcImdpdCBtZXJnZSAtLWFib3J0XCIgdG8gYWJvcnQgdGhlIG1lcmdlKSIKK21zZ3N0ciAiICAo67OR7ZWp7J2EIOykkeuLqO2VmOugpOuptCBcImdpdCBtZXJnZSAtLWFib3J0XCLrpbwg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKKworIzogd3Qtc3RhdHVzLmM6MTAyMwogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIuuqqOuToCDstqnrj4zsnYQg67CU66Gc7J6h7JWY7KeA66eMIOyVhOyngSDrs5HtlantlZjripQg7KSR7J6F64uI64ukLiIKIAotIzogd3Qtc3RhdHVzLmM6OTU5CisjOiB3dC1zdGF0dXMuYzoxMDI2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAo67OR7ZWp7J2EIOuniOustOumrO2VmOugpOuptCBcImdpdCBjb21taXRcIuydhCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzo5NjkKKyM6IHd0LXN0YXR1cy5jOjEwMzYKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4iCiBtc2dzdHIgImFtIOyEuOyFmCDspJHqsITsl5Ag7J6I7Iq164uI64ukLiIKIAotIzogd3Qtc3RhdHVzLmM6OTcyCisjOiB3dC1zdGF0dXMuYzoxMDM5CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICLtmITsnqwg7Yyo7LmY6rCAIOu5hOyWtCDsnojsirXri4jri6QuIgogCi0jOiB3dC1zdGF0dXMuYzo5NzYKKyM6IHd0LXN0YXR1cy5jOjEwNDMKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICjstqnrj4zsnYQg67CU66Gc7J6h7J2AIOuLpOydjCBcImdpdCBhbSAtLWNvbnRpbnVlXCLrpbwg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6OTc4CisjOiB3dC1zdGF0dXMuYzoxMDQ1CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKOydtCDtjKjsuZjrpbwg6rG064SIIOubsOugpOuptCBcImdpdCBhbSAtLXNraXBcIuydhCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzo5ODAKKyM6IHd0LXN0YXR1cy5jOjEwNDcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKOybkOuzuCDruIzrnpzsuZjrpbwg67O16rWs7ZWY66Ck66m0IFwiZ2l0IGFtIC0tYWJvcnRcIuulvCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTA1CisjOiB3dC1zdGF0dXMuYzoxMTcyCiBtc2dpZCAiTm8gY29tbWFuZHMgZG9uZS4iCiBtc2dzdHIgIuyZhOujjO2VnCDrqoXroLkg7JeG7J2MLiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwOAorIzogd3Qtc3RhdHVzLmM6MTE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCiBtc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgogbXNnc3RyWzBdICLstZzqt7wg7JmE66OM7ZWcIOuqheuguSAoJWTqsJwg66qF66C5IOyZhOujjCk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMTE5CisjOiB3dC1zdGF0dXMuYzoxMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgogbXNnc3RyICIgICjsnpDshLjtlZwg7KCV67O064qUICVzIO2MjOydvCDssLjqs6ApIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI0CisjOiB3dC1zdGF0dXMuYzoxMTkxCiBtc2dpZCAiTm8gY29tbWFuZHMgcmVtYWluaW5nLiIKIG1zZ3N0ciAi66qF66C57J20IOuCqOyVhOyeiOyngCDslYrsnYwuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI3CisjOiB3dC1zdGF0dXMuYzoxMTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5leHQgY29tbWFuZCB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmQpOiIKIG1zZ2lkX3BsdXJhbCAiTmV4dCBjb21tYW5kcyB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmRzKToiCiBtc2dzdHJbMF0gIuuLpOydjOyXkCDtlaAg66qF66C5ICglZOqwnCDrqoXroLkg64Ko7J2MKToiCiAKLSM6IHd0LXN0YXR1cy5jOjExMzUKKyM6IHd0LXN0YXR1cy5jOjEyMDIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgdG8gdmlldyBhbmQgZWRpdCkiCiBtc2dzdHIgIiAgKOuztOqzoCDtjrjsp5HtlZjroKTrqbQgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCLrpbwg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE0OAorIzogd3Qtc3RhdHVzLmM6MTIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAi7ZiE7J6sICclcycg67iM656c7LmY66W8ICclcycg7JyE66GcIOumrOuyoOydtOyKpO2VmOuKlCDspJHsnoXri4jri6QuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTUzCisjOiB3dC1zdGF0dXMuYzoxMjIwCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICLtmITsnqwg66as67Kg7J207Iqk7ZWY64qUIOykkeyeheuLiOuLpC4iCiAKLSM6IHd0LXN0YXR1cy5jOjExNjcKKyM6IHd0LXN0YXR1cy5jOjEyMzQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAo7Lap64+M7J2EIOuwlOuhnOyeoeqzoCBcImdpdCByZWJhc2UgLS1jb250aW51ZVwi66W8IOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjExNjkKKyM6IHd0LXN0YXR1cy5jOjEyMzYKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKOydtCDtjKjsuZjrpbwg6rG064SI65uw66Ck66m0IFwiZ2l0IHJlYmFzZSAtLXNraXBcIuydhCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTcxCisjOiB3dC1zdGF0dXMuYzoxMjM4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgICjsm5Drs7gg67iM656c7LmY66W8IOqwgOyguOyYpOugpOuptCBcImdpdCByZWJhc2UgLS1hYm9ydFwi66W8IOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzcKKyM6IHd0LXN0YXR1cy5jOjEyNDQKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgICjrqqjrk6Ag7Lap64+M7J2EIOuwlOuhnOyeoeyVmOyKteuLiOuLpDogXCJnaXQgcmViYXNlIC0tY29udGludWVcIuulvCDsi6TtlontlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTgxCisjOiB3dC1zdGF0dXMuYzoxMjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIu2YhOyerCAnJXMnIOu4jOuenOy5mOulvCAnJXMnIOychOuhnCDrpqzrsqDsnbTsiqTtlZjripQg7KSRIOy7pOuwi+ydhCDrtoTrpqztlZjripQg7KSR7J6F64uI64ukLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE4NgorIzogd3Qtc3RhdHVzLmM6MTI1MwogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICLtmITsnqwg66as67Kg7J207Iqk7ZWY64qUIOykkSDsu6TrsIvsnYQg67aE66as7ZWY64qUIOykkeyeheuLiOuLpC4iCiAKLSM6IHd0LXN0YXR1cy5jOjExODkKKyM6IHd0LXN0YXR1cy5jOjEyNTYKIG1zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAo7J6R7JeFIO2PtOuNlOqwgCDquajrgZftlbTsp4DrqbQsIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCLrpbwg7Iuk7ZaJ7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE5MworIzogd3Qtc3RhdHVzLmM6MTI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICInJXMnIOu4jOuenOy5mOulvCAnJXMnIOychOuhnCDrpqzrsqDsnbTsiqTtlZjripQg7KSRIOy7pOuwi+ydhCDtjrjsp5HtlZjripQg7KSR7J6F64uI64ukLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE5OAorIzogd3Qtc3RhdHVzLmM6MTI2NQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAi66as67Kg7J207IqkIOykkeyXkCDsu6TrsIvsnYQg7Y647KeR7ZWY64qUIOykkeyeheuLiOuLpC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDEKKyM6IHd0LXN0YXR1cy5jOjEyNjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpIgogbXNnc3RyICIgICjtmITsnqwg7Luk67CL7J2EIOyImOygle2VmOugpOuptCBcImdpdCBjb21taXQgLS1hbWVuZFwi7J2EIOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDMKKyM6IHd0LXN0YXR1cy5jOjEyNzAKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiAgKOuzgOqyvSDsgqztla3sl5Ag66eM7KGx7ZWgIOuVjCBcImdpdCByZWJhc2UgLS1jb250aW51ZVwi66W8IOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMTMKKyM6IHd0LXN0YXR1cy5jOjEyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAi7ZiE7J6sICVzIOy7pOuwi+ydhCDrvZHslYQg64K06rOgIOyeiOyKteuLiOuLpC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMTgKKyM6IHd0LXN0YXR1cy5jOjEyODUKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAo7Lap64+M7J2EIOuwlOuhnOyeoeqzoCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCLrpbwg7Iuk7ZaJ7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMQorIzogd3Qtc3RhdHVzLmM6MTI4OAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAo66qo65OgIOy2qeuPjOydhCDrsJTroZzsnqHslZjsirXri4jri6Q6IFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIuulvCDsi6TtlontlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjIzCisjOiB3dC1zdGF0dXMuYzoxMjkwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiAgKOu9keq4sCDsnpHsl4XsnYQg7Leo7IaM7ZWY66Ck66m0IFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIuulvCDsgqzsmqntlZjsi63si5zsmKQpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjMyCisjOiB3dC1zdGF0dXMuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJldmVydGluZyBjb21taXQgJXMuIgogbXNnc3RyICLtmITsnqwgJXMg7Luk67CL7J2EIOuQmOuPjOumrOuKlCDspJHsnoXri4jri6QuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjM3CisjOiB3dC1zdGF0dXMuYzoxMzA0CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICjstqnrj4zsnYQg67CU66Gc7J6h6rOgIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCLrpbwg7Iuk7ZaJ7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI0MAorIzogd3Qtc3RhdHVzLmM6MTMwNwogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKOuqqOuToCDstqnrj4zsnYQg67CU66Gc7J6h7JWY7Iq164uI64ukOiBcImdpdCByZXZlcnQgLS1jb250aW51ZVwi66W8IOyLpO2Wie2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDIKKyM6IHd0LXN0YXR1cy5jOjEzMDkKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIgICjrkJjrj4zrpqzquLAg7J6R7JeF7J2EIOy3qOyGjO2VmOugpOuptCBcImdpdCByZXZlcnQgLS1hYm9ydFwi66W8IOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTMKKyM6IHd0LXN0YXR1cy5jOjEzMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLCBzdGFydGVkIGZyb20gYnJhbmNoICclcycuIgogbXNnc3RyICIn7J2065Ox67aE7ZWY64qUIOykkeyeheuLiOuLpC4gJyVzJyDruIzrnpzsuZjrtoDthLAg7Iuc7J6RLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NworIzogd3Qtc3RhdHVzLmM6MTMyNAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgIifsnbTrk7HrtoTtlZjripQg7KSR7J6F64uI64ukLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MAorIzogd3Qtc3RhdHVzLmM6MTMyNwogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAo7JuQ656YIOu4jOuenOy5mOuhnCDrj4zslYTqsIDroKTrqbQgXCJnaXQgYmlzZWN0IHJlc2V0XCLsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogd3Qtc3RhdHVzLmM6MTQ2MAorIzogd3Qtc3RhdHVzLmM6MTUyNAogbXNnaWQgIk9uIGJyYW5jaCAiCiBtc2dzdHIgIu2YhOyerCDruIzrnpzsuZggIgogCi0jOiB3dC1zdGF0dXMuYzoxNDY2CisjOiB3dC1zdGF0dXMuYzoxNTMwCiBtc2dpZCAiaW50ZXJhY3RpdmUgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAi64yA7ZmU7ZiVIOumrOuyoOydtOyKpCDsp4Ttlokg7KSRLiDqsIgg7JyE7LmY64qUICIKIAotIzogd3Qtc3RhdHVzLmM6MTQ2OAorIzogd3Qtc3RhdHVzLmM6MTUzMgogbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgIuumrOuyoOydtOyKpCDsp4Ttlokg7KSRLiDqsIgg7JyE7LmY64qUICIKIAotIzogd3Qtc3RhdHVzLmM6MTQ3MworIzogd3Qtc3RhdHVzLmM6MTUzNwogbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgogbXNnc3RyICJIRUFE6rCAIOuLpOydjCDsnITsuZjsl5DshJwg67aE66asOiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NzUKKyM6IHd0LXN0YXR1cy5jOjE1MzkKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgogbXNnc3RyICJIRUFE6rCAIOuLpOydjOycvOuhnOu2gO2EsCDrtoTrpqw6ICIKIAotIzogd3Qtc3RhdHVzLmM6MTQ3OAorIzogd3Qtc3RhdHVzLmM6MTU0MgogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIu2YhOyerCDslrTrlqQg67iM656c7LmY64+EIOyCrOyaqe2VmOyngCDslYrsnYwuIgogCi0jOiB3dC1zdGF0dXMuYzoxNDk2CisjOiB3dC1zdGF0dXMuYzoxNTYwCiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIuy1nOy0iCDsu6TrsIsiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MTAKKyM6IHd0LXN0YXR1cy5jOjE1NzQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIuy2lOygge2VmOyngCDslYrripQg7YyM7J28IgogCi0jOiB3dC1zdGF0dXMuYzoxNTEyCisjOiB3dC1zdGF0dXMuYzoxNTc2CiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAi66y07Iuc7ZWcIO2MjOydvCIKIAotIzogd3Qtc3RhdHVzLmM6MTUxNgorIzogd3Qtc3RhdHVzLmM6MTU4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgpAQCAtMjUwOSwyMCArMzg1NCwyMCBAQAogIidzdGF0dXMgLXVubycg7Ji17IWY7J2EIOyTsOuptCDruajrnbzsp4gg7IiY64+EIOyeiOyngOunjCwg7IOIIO2MjOydvOydhFxuIgogIuyngeygkSDssL7slYTshJwg7LaU6rCA7ZW07JW8IO2VqeuLiOuLpC4gKCdnaXQgaGVscCBzdGF0dXMnIOywuOqzoCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MjIKKyM6IHd0LXN0YXR1cy5jOjE1ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAi7LaU7KCB7ZWY7KeAIOyViuuKlCDtjIzsnbzsnYQg67O07KeAIOyViuyKteuLiOuLpCVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNTI0CisjOiB3dC1zdGF0dXMuYzoxNTg4CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAiICjstpTsoIHtlZjsp4Ag7JWK64qUIO2MjOydvOydhCDrs7TroKTrqbQgLXUg7Ji17IWY7J2EIOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzAKKyM6IHd0LXN0YXR1cy5jOjE1OTQKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICLrs4Dqsr0g7IKs7ZWtIOyXhuydjCIKIAotIzogd3Qtc3RhdHVzLmM6MTUzNQorIzogd3Qtc3RhdHVzLmM6MTU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAiIgpAQCAtMjUzMCwxMiArMzg3NSwxMiBAQAogIlwi66W8XG4iCiAi7IKs7Jqp7ZWY7Iut7Iuc7JikKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM4CisjOiB3dC1zdGF0dXMuYzoxNjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgIuy7pOuwi+2VoCDrs4Dqsr0g7IKs7ZWt7J2EIOy2lOqwgO2VmOyngCDslYrslZjsirXri4jri6RcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU0MQorIzogd3Qtc3RhdHVzLmM6MTYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgpAQCAtMjU0NSw1NSArMzg5MCw3MCBAQAogIlwiZ2l0XG4iCiAiYWRkXCLrpbwg7IKs7Jqp7ZWY7Iut7Iuc7JikKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQ0CisjOiB3dC1zdGF0dXMuYzoxNjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgogbXNnc3RyICLsu6TrsIvtlaAg7IKs7ZWt7J2EIOy2lOqwgO2VmOyngCDslYrslZjsp4Drp4wg7LaU7KCB7ZWY7KeAIOyViuuKlCDtjIzsnbzsnbQg7J6I7Iq164uI64ukXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDcKKyM6IHd0LXN0YXR1cy5jOjE2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCiBtc2dzdHIgIiIKICLsu6TrsIvtlaAg7IKs7ZWtIOyXhuydjCAo7YyM7J287J2EIOunjOuTpOqxsOuCmCDrs7XsgqztlZjqs6AgXCJnaXQgYWRkXCLrpbwg7IKs7Jqp7ZWY66m0IOy2lOygge2VqeuLiCIKICLri6QpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NTAgd3Qtc3RhdHVzLmM6MTU1NQorIzogd3Qtc3RhdHVzLmM6MTYxNCB3dC1zdGF0dXMuYzoxNjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0XG4iCiBtc2dzdHIgIuy7pOuwi+2VoCDsgqztla0g7JeG7J2MXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NTMKKyM6IHd0LXN0YXR1cy5jOjE2MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAiIgogIuy7pOuwi+2VoCDsgqztla0g7JeG7J2MICjstpTsoIHtlZjsp4Ag7JWK64qUIO2MjOydvOydhCDrs7TroKTrqbQgLXUg7Ji17IWY7J2EIOyCrOyaqe2VmOyLreyLnOyYpClcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU1NworIzogd3Qtc3RhdHVzLmM6MTYyMQogIywgYy1mb3JtYXQKLW1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyBkaXJlY3RvcnkgY2xlYW5cbiIKK21zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyB0cmVlIGNsZWFuXG4iCiBtc2dzdHIgIuy7pOuwi+2VoCDsgqztla0g7JeG7J2MLCDsnpHsl4Ug7Y+0642UIOq5qOuBl+2VqFxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjY0CisjOiB3dC1zdGF0dXMuYzoxNzI4CiBtc2dpZCAiSW5pdGlhbCBjb21taXQgb24gIgogbXNnc3RyICLstZzstIgg7Luk67CLLCDruIzrnpzsuZg6ICIKIAotIzogd3Qtc3RhdHVzLmM6MTY2OAorIzogd3Qtc3RhdHVzLmM6MTczMgogbXNnaWQgIkhFQUQgKG5vIGJyYW5jaCkiCiBtc2dzdHIgIkhFQUQgKOu4jOuenOy5mCDsl4bsnYwpIgogCi0jOiB3dC1zdGF0dXMuYzoxNjk3CisjOiB3dC1zdGF0dXMuYzoxNzYxCiBtc2dpZCAiZ29uZSIKIG1zZ3N0ciAi7JeG7J2MIgogCi0jOiB3dC1zdGF0dXMuYzoxNjk5IHd0LXN0YXR1cy5jOjE3MDcKKyM6IHd0LXN0YXR1cy5jOjE3NjMgd3Qtc3RhdHVzLmM6MTc3MQogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgIuuLpOydjCDrkqTsl5A6ICIKIAotIzogd3Qtc3RhdHVzLmM6MTcwMiB3dC1zdGF0dXMuYzoxNzA1CisjOiB3dC1zdGF0dXMuYzoxNzY2IHd0LXN0YXR1cy5jOjE3NjkKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgIuuLpOydjCDslZ7sl5A6ICIKIAotIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU3IGJ1aWx0aW4vY2xvbmUuYzo0MTUKKyMuIFRSQU5TTEFUT1JTOiB0aGUgYWN0aW9uIGlzIGUuZy4gInB1bGwgd2l0aCByZWJhc2UiCisjOiB3dC1zdGF0dXMuYzoyMjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCAlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIiVzIO2VoCDsiJgg7JeG7Iq164uI64ukOiDsiqTthYzsnbTsp5XtlZjsp4Ag7JWK7J2AIOuzgOqyvSDsgqztla3snbQg7J6I7Iq164uI64ukLiIKKworIzogd3Qtc3RhdHVzLmM6MjI3NgorbXNnaWQgImFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAi7LaU6rCA66GcLCDsnbjrjbHsiqTsl5Ag7Luk67CL7ZWY7KeAIOyViuydgCDrs4Dqsr0g7IKs7ZWt7J20IOyeiOyKteuLiOuLpC4iCisKKyM6IHd0LXN0YXR1cy5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90ICVzOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIlcyDtlaAg7IiYIOyXhuyKteuLiOuLpDog7J24642x7Iqk7JeQIOy7pOuwi+2VmOyngCDslYrsnYAg67OA6rK9IOyCrO2VreydtCDsnojsirXri4jri6QuIgorCisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTcgYnVpbHRpbi9jbG9uZS5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCiBtc2dzdHIgIiclcycg7YyM7J28IOyCreygnOyXkCDsi6TtjKjtlojsirXri4jri6QiCkBAIC0yNjAyLDI1OCArMzk2MiwyNTcgQEAKIG1zZ2lkICJnaXQgYWRkIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGFkZCBbPOyYteyFmD5dIFstLV0gPOqyveuhnOuqheyEuD4uLi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NjUKKyM6IGJ1aWx0aW4vYWRkLmM6ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBkaWZmIHN0YXR1cyAlYyIKIG1zZ3N0ciAi7JiI7IOB7LmYIOuqu+2VnCBkaWZmIOyDge2DnCAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzo3MCBidWlsdGluL2NvbW1pdC5jOjI4MAorIzogYnVpbHRpbi9hZGQuYzo4NSBidWlsdGluL2NvbW1pdC5jOjI5MQogbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAi7YyM7J28IOyXheuNsOydtO2KuOqwgCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6ODAKKyM6IGJ1aWx0aW4vYWRkLmM6OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAiJyVzJyDsoJzqsbBcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoxMzQKKyM6IGJ1aWx0aW4vYWRkLmM6MTQ5CiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiCiBtc2dzdHIgIuyduOuNseyKpOulvCDsg4jroZwg6rOg7LmcIOuLpOydjCDsu6TrsIsg7ZGc7Iuc7ZWY7KeAIOyViuydgCDrs4Dqsr0g7IKs7ZWtOiIKIAotIzogYnVpbHRpbi9hZGQuYzoxOTQgYnVpbHRpbi9yZXYtcGFyc2UuYzo4MTEKKyM6IGJ1aWx0aW4vYWRkLmM6MjA5IGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODQwCiBtc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICLsnbjrjbHsiqTrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjA1CisjOiBidWlsdGluL2FkZC5jOjIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAiJyVzJyDtjIzsnbzsnYQg7JOw6riw7Jqp7Jy866GcIOyXtCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMDkKKyM6IGJ1aWx0aW4vYWRkLmM6MjI0CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgogbXNnc3RyICLtjKjsuZjrpbwg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjEyCisjOiBidWlsdGluL2FkZC5jOjIyNwogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICLtjKjsuZgg7Y647KeR7JeQIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMTUKKyM6IGJ1aWx0aW4vYWRkLmM6MjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSBzdGF0KCntlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMTcKKyM6IGJ1aWx0aW4vYWRkLmM6MjMyCiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICLruYgg7Yyo7LmYLiDspJHsp4AuIgogCi0jOiBidWlsdGluL2FkZC5jOjIyMgorIzogYnVpbHRpbi9hZGQuYzoyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSDsoIHsmqntlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzIKKyM6IGJ1aWx0aW4vYWRkLmM6MjQ3CiBtc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgogbXNnc3RyICLri6TsnYwg6rK966Gc64qUIC5naXRpZ25vcmUg7YyM7J28IOykkSDtlZjrgpgg65WM66y47JeQIOustOyLnO2VqeuLiOuLpDpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNDkgYnVpbHRpbi9jbGVhbi5jOjg3MCBidWlsdGluL2ZldGNoLmM6MTEyIGJ1aWx0aW4vbXYuYzoxMTEKLSM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTUgYnVpbHRpbi9wdWxsLmM6MTk3IGJ1aWx0aW4vcHVzaC5jOjUxMQotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzMyIGJ1aWx0aW4vcm0uYzoyNjggYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKKyM6IGJ1aWx0aW4vYWRkLmM6MjY2IGJ1aWx0aW4vY2xlYW4uYzo4NzAgYnVpbHRpbi9mZXRjaC5jOjExNSBidWlsdGluL212LmM6MTExCisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU1IGJ1aWx0aW4vcHVsbC5jOjE5OCBidWlsdGluL3B1c2guYzo1MjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyNiBidWlsdGluL3JtLmM6MjY4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCiBtc2dpZCAiZHJ5IHJ1biIKIG1zZ3N0ciAi6rCA7Kec66GcIOyLpO2WiSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTAgYnVpbHRpbi9hcHBseS5jOjQ1NjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMzMzIGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg1IGJ1aWx0aW4vZnNjay5jOjU1NwotIzogYnVpbHRpbi9sb2cuYzoxODI2IGJ1aWx0aW4vbXYuYzoxMTAgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKLW1zZ2lkICJiZSB2ZXJib3NlIgotbXNnc3RyICLsnpDshLjtnogg7ZGc7IucIgotCi0jOiBidWlsdGluL2FkZC5jOjI1MgorIzogYnVpbHRpbi9hZGQuYzoyNjkKIG1zZ2lkICJpbnRlcmFjdGl2ZSBwaWNraW5nIgogbXNnc3RyICLrjIDtmZTsi53snLzroZwg6rOg66aF64uI64ukIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MyBidWlsdGluL2NoZWNrb3V0LmM6MTE1NCBidWlsdGluL3Jlc2V0LmM6Mjg2CisjOiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrb3V0LmM6MTE1NiBidWlsdGluL3Jlc2V0LmM6Mjg2CiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgIuuMgO2ZlOyLneycvOuhnCDrs4Dqsr3rkJwg67aA67aE7J2EIOyEoO2Dne2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTQKKyM6IGJ1aWx0aW4vYWRkLmM6MjcxCiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICLtmITsnqwgZGlmZuulvCDtjrjsp5HtlZjqs6Ag7KCB7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2FkZC5jOjI1NQorIzogYnVpbHRpbi9hZGQuYzoyNzIKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIuustOyLnO2VmOuKlCDtjIzsnbzsnZgg7LaU6rCA66W8IO2XiOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6MjczCiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIuy2lOyggeuQmOuKlCDtjIzsnbzsnYQg7JeF642w7J207Yq47ZWp64uI64ukIgogCi0jOiBidWlsdGluL2FkZC5jOjI1NworIzogYnVpbHRpbi9hZGQuYzoyNzQKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgIuuCmOykkeyXkCDstpTqsIDtlaAg6rKD7J20652864qUIOyCrOyLpOunjCDquLDroZ3tlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU4CisjOiBidWlsdGluL2FkZC5jOjI3NQogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi7LaU7KCB65CY6rOgIOy2lOyggeuQmOyngCDslYrripQg66qo65OgIO2MjOydvOydmCDrs4Dqsr0g7IKs7ZWt7J2EIOy2lOqwgO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjEKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc4CiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCiBtc2dzdHIgIuyekeyXhSDtj7TrjZTsl5DshJwg7KCc6rGw7ZWcIOqyveuhnOulvCDrrLTsi5ztlanri4jri6QgKC0tbm8tYWxs6rO8IOuPmeydvCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjYzCisjOiBidWlsdGluL2FkZC5jOjI4MAogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAi7LaU6rCA7ZWY7KeAIOyViuqzoCDsnbjrjbHsiqTrp4wg7IOI66GcIOqzoOy5qeuLiOuLpCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjQKKyM6IGJ1aWx0aW4vYWRkLmM6MjgxCiBtc2dpZCAianVzdCBza2lwIGZpbGVzIHdoaWNoIGNhbm5vdCBiZSBhZGRlZCBiZWNhdXNlIG9mIGVycm9ycyIKIG1zZ3N0ciAi7Jik66WYIOuVjOusuOyXkCDstpTqsIDtlaAg7IiYIOyXhuuKlCDtjIzsnbzsnYQg6rG064SI65yB64uI64ukIgogCi0jOiBidWlsdGluL2FkZC5jOjI2NQorIzogYnVpbHRpbi9hZGQuYzoyODIKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgIuqwgOynnOuhnCDsi6TtlontlojsnYQg65WMIO2MjOydvOydhCDrrLTsi5ztlZjripTsp4Ag7ZmV7J247ZWp64uI64ukIgogCi0jOiBidWlsdGluL2FkZC5jOjI4NworIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDcKK21zZ2lkICIoKy8tKXgiCittc2dzdHIgIigrLy0peCIKKworIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDgKK21zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKK21zZ3N0ciAi66qp66Gd7J2YIO2MjOydvOyXkOyEnCDsi6Ttlokg6rCA64qlIOu5hO2KuOulvCDrsJTqv4nri4jri6QiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uXG4iCiBtc2dzdHIgIuygleunkOuhnCDstpTqsIDtlZjroKTrqbQgLWYg7Ji17IWY7J2EIOyCrOyaqe2VmOyLreyLnOyYpC5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTQKKyM6IGJ1aWx0aW4vYWRkLmM6MzEyCiBtc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAi7YyM7J28IOy2lOqwgOqwgCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzMwCisjOiBidWlsdGluL2FkZC5jOjM0OAogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICItQSDrsI8gLXUg7Ji17IWY7J2AIOyEnOuhnCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2FkZC5jOjMzNworIzogYnVpbHRpbi9hZGQuYzozNTUKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgogbXNnc3RyICIiCiAiLS1pZ25vcmUtbWlzc2luZyDsmLXshZjsnYAgLS1kcnktcnVuIOyYteyFmOqzvCDqsJnsnbQg7IKs7Jqp7ZWgIOqyveyasOyXkOunjCDsk7gg7IiYIOyeiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUyCisjOiBidWlsdGluL2FkZC5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCittc2dzdHIgIi0tY2htb2Qg7YyM652866+47YSwICclcyfsnYAo64qUKSAteCDrmJDripQgK3gg7ZiV7Iud7J207Ja07JW8IO2VqeuLiOuLpCIKKworIzogYnVpbHRpbi9hZGQuYzozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIuyVhOustCDqsoPrj4Qg7KeA7KCV7ZWY7KeAIOyViuyVmOycvOuvgOuhnCDslYTrrLQg6rKD64+EIOy2lOqwgO2VmOyngCDslYrsirXri4jri6QuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUzCisjOiBidWlsdGluL2FkZC5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiJ2dpdCBhZGQgLicg66qF66C57J2EIOyLpO2Wie2VmOugpOqzoCDtlZwg6rKDIOyVhOuLiOyXiOyKteuLiOq5jD9cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTggYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIgYnVpbHRpbi9jbGVhbi5jOjkxNAotIzogYnVpbHRpbi9jb21taXQuYzozMzkgYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyOTgKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDAKKyM6IGJ1aWx0aW4vYWRkLmM6MzgwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzIgYnVpbHRpbi9jbGVhbi5jOjkxNCBidWlsdGluL2NvbW1pdC5jOjM1MAorIzogYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyOTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDQKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCiBtc2dzdHIgIuyduOuNseyKpCDtjIzsnbzsnbQg7IaQ7IOB65CY7JeI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2FkZC5jOjQzOSBidWlsdGluL2FwcGx5LmM6NDY2MSBidWlsdGluL212LmM6MjgzIGJ1aWx0aW4vcm0uYzo0MzAKLW1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCi1tc2dzdHIgIuyDiCDsnbjrjbHsiqQg7YyM7J287JeQIOyTuCDsiJgg7JeG7Iq164uI64ukIgotCi0jOiBidWlsdGluL2FtLmM6MjU2IGJ1aWx0aW4vY29tbWl0LmM6NzQ5IGJ1aWx0aW4vbWVyZ2UuYzoxMDg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCi1tc2dzdHIgIiclcyfsl5DshJwg7J297J2EIOyImCDsl4bsirXri4jri6QiCi0KLSM6IGJ1aWx0aW4vYW0uYzo0MzAKKyM6IGJ1aWx0aW4vYW0uYzo0MTQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgYXV0aG9yIHNjcmlwdCIKIG1zZ3N0ciAi7J6R7ISx7J6QIOyKpO2BrOumve2KuOulvCDtjIzsi7HtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjUwNworIzogYnVpbHRpbi9hbS5jOjQ5MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICJhcHBseXBhdGNoLW1zZyDtm4Ug65WM66y47JeQICclcyfsnbQo6rCAKSDsgq3soJzrkJjsl4jsirXri4jri6QuIgogCi0jOiBidWlsdGluL2FtLmM6NTQ4IGJ1aWx0aW4vbm90ZXMuYzozMDAKKyM6IGJ1aWx0aW4vYW0uYzo1MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgogbXNnc3RyICLsnpjrqrvrkJwg7ZiV7Iud7J2YIOyeheugpSDspIQ6ICclcycuIgogCi0jOiBidWlsdGluL2FtLmM6NTg1IGJ1aWx0aW4vbm90ZXMuYzozMTUKKyM6IGJ1aWx0aW4vYW0uYzo1NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIiclcyfsl5DshJwgJyVzJyjsnLwp66GcIOuFuO2KuOulvCDrs7XsgqztlZjripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6NjExCisjOiBidWlsdGluL2FtLmM6NTk1CiBtc2dpZCAiZnNlZWsgZmFpbGVkIgogbXNnc3RyICJmc2VlayDsi6TtjKgiCiAKLSM6IGJ1aWx0aW4vYW0uYzo3ODgKKyM6IGJ1aWx0aW4vYW0uYzo3NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCiBtc2dzdHIgIiclcycg7Yyo7LmY66W8IO2MjOyLse2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6ODUzCisjOiBidWlsdGluL2FtLmM6ODQwCiBtc2dpZCAiT25seSBvbmUgU3RHSVQgcGF0Y2ggc2VyaWVzIGNhbiBiZSBhcHBsaWVkIGF0IG9uY2UiCiBtc2dzdHIgIu2VnOuyiOyXkCDtlZjrgpjsnZggU3RHSVQg7Yyo7LmYIOyLnOumrOymiOunjCDsoIHsmqntlaAg7IiYIOyeiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjkwMAorIzogYnVpbHRpbi9hbS5jOjg4NwogbXNnaWQgImludmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICLsi5zqsIHsnbQg7J6Y66q765CY7JeI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6OTAzIGJ1aWx0aW4vYW0uYzo5MTEKKyM6IGJ1aWx0aW4vYW0uYzo4OTAgYnVpbHRpbi9hbS5jOjg5OAogbXNnaWQgImludmFsaWQgRGF0ZSBsaW5lIgogbXNnc3RyICJEYXRlIOykhOydtCDsnpjrqrvrkJjsl4jsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5MDgKKyM6IGJ1aWx0aW4vYW0uYzo4OTUKIG1zZ2lkICJpbnZhbGlkIHRpbWV6b25lIG9mZnNldCIKIG1zZ3N0ciAi7Iuc6rCE64yAIOyYpO2UhOyFi+ydtCDsnpjrqrvrkJjsl4jsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5OTUKKyM6IGJ1aWx0aW4vYW0uYzo5ODQKIG1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCiBtc2dzdHIgIu2MqOy5mCDtmJXsi50g6rKA7IOJ7J20IOyLpO2MqO2WiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMDAwIGJ1aWx0aW4vY2xvbmUuYzozODAKKyM6IGJ1aWx0aW4vYW0uYzo5ODkgYnVpbHRpbi9jbG9uZS5jOjM3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICInJXMnIOuUlOugie2EsOumrCDrp4zrk6TquLDqsIAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6MTAwNAorIzogYnVpbHRpbi9hbS5jOjk5MwogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAi7Yyo7LmY66W8IOyqvOqwnOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QuIgogCi0jOiBidWlsdGluL2FtLmM6MTEzNiBidWlsdGluL2NvbW1pdC5jOjM2NQorIzogYnVpbHRpbi9hbS5jOjExMjUgYnVpbHRpbi9jb21taXQuYzozNzYKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKIG1zZ3N0ciAi7J24642x7IqkIO2MjOydvOydhCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjExODcKKyM6IGJ1aWx0aW4vYW0uYzoxMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCIlcyAtLWNvbnRpbnVlXCIuIgogbXNnc3RyICLsnbQg66y47KCc66W8IO2VtOqysO2WiOydhCDrlYwgXCIlcyAtLWNvbnRpbnVlXCLrpbwg7Iuk7ZaJ7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9hbS5jOjExODgKKyM6IGJ1aWx0aW4vYW0uYzoxMTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCIlcyAtLXNraXBcIiBpbnN0ZWFkLiIKIG1zZ3N0ciAi7J20IO2MqOy5mOulvCDqsbTrhIjrm7DroKTrqbQsIOq3uCDrjIDsi6AgXCIlcyAtLXNraXBcIuydhCDsi6TtlontlZjsi63si5zsmKQuIgogCi0jOiBidWlsdGluL2FtLmM6MTE4OQorIzogYnVpbHRpbi9hbS5jOjExNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBzdG9wIHBhdGNoaW5nLCBydW4gXCIlcyAtLWFib3J0XCIuIgogbXNnc3RyICIiCiAi7JuQ656YIOu4jOuenOy5mOulvCDrs7XqtaztlZjqs6Ag7Yyo7LmYIOyggeyaqeydhCDspJHsp4DtlZjroKTrqbQgXCIlcyAtLWFib3J0XCLrpbwg7Iuk7ZaJ7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9hbS5jOjEzMjcKKyM6IGJ1aWx0aW4vYW0uYzoxMzE2CiBtc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIFdhcyBpdCBzcGxpdCB3cm9uZz8iCiBtc2dzdHIgIu2MqOy5mOqwgCDruYTslrQg7J6I7Iq164uI64ukLiDsnpjrqrsg7Kq86rCc7KeA7KeAIOyViuyVmOuCmOyalD8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNDAxIGJ1aWx0aW4vbG9nLmM6MTUxNgorIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9sb2cuYzoxNTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCiBtc2dzdHIgIuyemOuqu+uQnCDsi6Dsm5Ag7KSEOiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE0MjgKKyM6IGJ1aWx0aW4vYW0uYzoxNDE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCiBtc2dzdHIgIiVzIOy7pOuwi+ydhCDtjIzsi7HtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzAKKyM6IGJ1aWx0aW4vYW0uYzoxNjEwCiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAi7KCA7J6l7IaM7JeQIDMt67Cp7ZalIOuzke2VqeycvOuhnCDrjIDsi6DtlaAg65WMIO2VhOyalO2VnCDruJTroa3snbQg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzIKKyM6IGJ1aWx0aW4vYW0uYzoxNjEyCiBtc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKIG1zZ3N0ciAi7J24642x7IqkIOygleuztOulvCDsgqzsmqntlbQg6riw67O4IO2KuOumrOulvCDri6Tsi5wg66eM65Ot64uI64ukLi4uIgogCi0jOiBidWlsdGluL2FtLmM6MTY1MQorIzogYnVpbHRpbi9hbS5jOjE2MzEKIG1zZ2lkICIiCiAiRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKICJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgpAQCAtMjg2MSwzOCArNDIyMCwzOCBAQAogIu2MqOy5mOulvCDsp4HsoJEg7Y647KeR7ZWY7IWo7Iq164uI6rmMP1xuIgogIuydtCDtjKjsuZjripQg7J24642x7Iqk7JeQIOq4sOuhneuQnCDruJTroa3sl5DripQg7KCB7Jqp65CY7KeAIOyViuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjU3CisjOiBidWlsdGluL2FtLmM6MTYzNwogbXNnaWQgIkZhbGxpbmcgYmFjayB0byBwYXRjaGluZyBiYXNlIGFuZCAzLXdheSBtZXJnZS4uLiIKIG1zZ3N0ciAi67Kg7J207IqkIO2MqOy5mCDsoIHsmqkg67CPIDMt67Cp7ZalIOuzke2VqeycvOuhnCDrjIDsi6Dtlanri4jri6QuLi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjcyCisjOiBidWlsdGluL2FtLmM6MTY2MgogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCiBtc2dzdHIgIuuzgOqyvSDsgqztla3sl5DshJwg67OR7ZWp7ZWY64qU642wIOyLpO2MqO2WiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjk2IGJ1aWx0aW4vbWVyZ2UuYzo2MzYKKyM6IGJ1aWx0aW4vYW0uYzoxNjg2IGJ1aWx0aW4vbWVyZ2UuYzo2MjgKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBmYWlsZWQgdG8gd3JpdGUgYSB0cmVlIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZeqwgCDtirjrpqzrpbwg7JOw64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjE3MDMKKyM6IGJ1aWx0aW4vYW0uYzoxNjkzCiBtc2dpZCAiYXBwbHlpbmcgdG8gYW4gZW1wdHkgaGlzdG9yeSIKIG1zZ3N0ciAi67mIIOy7pOuwiyDrgrTsl63sl5Ag64yA7ZW0IOyggeyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjE3MTYgYnVpbHRpbi9jb21taXQuYzoxNzc1IGJ1aWx0aW4vbWVyZ2UuYzo4NDEKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjYKKyM6IGJ1aWx0aW4vYW0uYzoxNzA2IGJ1aWx0aW4vY29tbWl0LmM6MTc2OSBidWlsdGluL21lcmdlLmM6Nzk4CisjOiBidWlsdGluL21lcmdlLmM6ODIzCiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiCiBtc2dzdHIgIuy7pOuwiyDsmKTruIzsoJ3tirjrpbwg7JOw64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjE3NDggYnVpbHRpbi9hbS5jOjE3NTIKKyM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxNzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXN1bWU6ICVzIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAi64uk7IucIOyLnOyeke2VoCDsiJgg7JeG7Iq164uI64ukOiAlc+ydtCjqsIApIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzY4CisjOiBidWlsdGluL2FtLmM6MTc1OQogbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKIG1zZ3N0ciAiIgogIu2EsOuvuOuEkOyXkCDtkZzspIAg7J6F66Cl7J20IOyXsOqysOuQmOyngCDslYrsnYAg7IOB7YOc7JeQ7IScIOuMgO2ZlO2YleycvOuhnCDsi6TtlontlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzczCisjOiBidWlsdGluL2FtLmM6MTc2NAogbXNnaWQgIkNvbW1pdCBCb2R5IGlzOiIKIG1zZ3N0ciAi7Luk67CLIOuzuOusuOydgDoiCiAKQEAgLTI5MDAsMzUgKzQyNTksMzUgQEAKICMuIGluIHlvdXIgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaAogIy4gaW5wdXQgYXQgdGhpcyBwb2ludC4KICMuCi0jOiBidWlsdGluL2FtLmM6MTc4MworIzogYnVpbHRpbi9hbS5jOjE3NzQKIG1zZ2lkICJBcHBseT8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbDogIgogbXNnc3RyICLsoIHsmqk/IOyYiFt5XS/slYTri4jsmKRbbl0v7Y647KeRW2VdL+2MqOy5mCDrs7TquLBbdl0v66qo65GQIOyggeyaqVthXTogIgogCi0jOiBidWlsdGluL2FtLmM6MTgzMworIzogYnVpbHRpbi9hbS5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlydHkgaW5kZXg6IGNhbm5vdCBhcHBseSBwYXRjaGVzIChkaXJ0eTogJXMpIgogbXNnc3RyICLrs4Dqsr3rkJwg7J24642x7IqkOiDtjKjsuZjrpbwg7KCB7Jqp7ZWgIOyImCDsl4bsirXri4jri6QgKGRpcnR5OiAlcykiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODY4IGJ1aWx0aW4vYW0uYzoxOTQwCisjOiBidWlsdGluL2FtLmM6MTg2MSBidWlsdGluL2FtLmM6MTkzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZzogJS4qcyIKIG1zZ3N0ciAi7KCB7Jqp7ZWY64qUIOykkTogJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE4ODQKKyM6IGJ1aWx0aW4vYW0uYzoxODc3CiBtc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgogbXNnc3RyICLrs4Dqsr0g7IKs7ZWtIOyXhuydjCAtLSDtjKjsuZjqsIAg7J2066+4IOyggeyaqeuQmOyXiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODkyCisjOiBidWlsdGluL2FtLmM6MTg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJXMgJS4qcyIKIG1zZ3N0ciAi7Yyo7LmY6rCAICVzICUuKnMg7JyE7LmY7JeQ7IScIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjE4OTgKKyM6IGJ1aWx0aW4vYW0uYzoxODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjb3B5IG9mIHRoZSBwYXRjaCB0aGF0IGZhaWxlZCBpcyBmb3VuZCBpbjogJXMiCiBtc2dzdHIgIuyLpO2MqO2VnCDtjKjsuZjsnZgg67O17IKs67O47J20IOuLpOydjCDsnITsuZjsl5Ag7J6I7Iq164uI64ukOiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE5NDMKKyM6IGJ1aWx0aW4vYW0uYzoxOTM2CiBtc2dpZCAiIgogIk5vIGNoYW5nZXMgLSBkaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnP1xuIgogIklmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBzdGFnZSwgY2hhbmNlcyBhcmUgdGhhdCBzb21ldGhpbmcgZWxzZVxuIgpAQCAtMjkzOCw3ICs0Mjk3LDcgQEAKICLsu6TrsIvsnLzroZwg7ZGc7Iuc7ZWgIOyCrO2VreydtCDrgqjslYQg7J6I7KeAIOyViuycvOuptCwg7J2066+4IOqwmeydgCDtjKjsuZjsl5DshJwg7KCB7Jqp65CcXG4iCiAi6rK97Jqw7J28IOyImOuPhCDsnojsirXri4jri6QuIOq3uOufsCDqsr3smrDsl5DripQg7J20IO2MqOy5mOulvCDqsbTrhIjrm7DrqbQg65Cp64uI64ukLiIKIAotIzogYnVpbHRpbi9hbS5jOjE5NTAKKyM6IGJ1aWx0aW4vYW0uYzoxOTQzCiBtc2dpZCAiIgogIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCiAiRGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz8iCkBAIC0yOTQ2LDE3ICs0MzA1LDE3IEBACiAi7J24642x7Iqk7JeQIOuzke2Vqe2VmOyngCDslYrsnYAg6rK966Gc6rCAIOuCqOyVhCDsnojsirXri4jri6QuXG4iCiAiJ2dpdCBhZGQnIOyCrOyaqeydhCDsnorsp4Ag7JWK7Jy87IWo7Iq164uI6rmMPyIKIAotIzogYnVpbHRpbi9hbS5jOjIwNTggYnVpbHRpbi9hbS5jOjIwNjIgYnVpbHRpbi9hbS5jOjIwNzQgYnVpbHRpbi9yZXNldC5jOjMwOAorIzogYnVpbHRpbi9hbS5jOjIwNTEgYnVpbHRpbi9hbS5jOjIwNTUgYnVpbHRpbi9hbS5jOjIwNjcgYnVpbHRpbi9yZXNldC5jOjMwOAogIzogYnVpbHRpbi9yZXNldC5jOjMxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICInJXMnIOyYpOu4jOygne2KuOulvCDtjIzsi7HtlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTEwCisjOiBidWlsdGluL2FtLmM6MjEwMwogbXNnaWQgImZhaWxlZCB0byBjbGVhbiBpbmRleCIKIG1zZ3N0ciAi7J24642x7IqkIOyngOyasOq4sOyXkCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTQ0CisjOiBidWlsdGluL2FtLmM6MjEzNwogbXNnaWQgIiIKICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQgc2luY2UgdGhlIGxhc3QgJ2FtJyBmYWlsdXJlLlxuIgogIk5vdCByZXdpbmRpbmcgdG8gT1JJR19IRUFEIgpAQCAtMjk2NCwxNTcgKzQzMjMsMTM2IEBACiAi66eI7KeA66eJICdhbScg7Iuk7YyoIOydtO2bhCBIRUFE66W8IOyYruq4tCDqsoMg6rCZ7Iq164uI64ukLlxuIgogIk9SSUdfSEVBROuhnCDrkJjrj4zrpqzsp4Ag7JWK7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9hbS5jOjIyMDUKKyM6IGJ1aWx0aW4vYW0uYzoyMjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIC0tcGF0Y2gtZm9ybWF0OiAlcyIKIG1zZ3N0ciAiLS1wYXRjaC1mb3JtYXQg7Ji17IWY7JeQIOuMgO2VtCDsnpjrqrvrkJwg6rCSOiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzgKLW1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD58PE1haWxkaXI+KS4uLl0iCi1tc2dzdHIgImdpdCBhbSBbPOyYteyFmD5dIFsoPG1ib3g+fDxNYWlsZGlyPikuLi5dIgorIzogYnVpbHRpbi9hbS5jOjIyMzMKK21zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKK21zZ3N0ciAiZ2l0IGFtIFs87Ji17IWYPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzkKKyM6IGJ1aWx0aW4vYW0uYzoyMjM0CiBtc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCiBtc2dzdHIgImdpdCBhbSBbPOyYteyFmD5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ1CisjOiBidWlsdGluL2FtLmM6MjI0MAogbXNnaWQgInJ1biBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICLrjIDtmZTtmJXsnLzroZwg7Iuk7ZaJ7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NworIzogYnVpbHRpbi9hbS5jOjIyNDIKIG1zZ2lkICJoaXN0b3JpY2FsIG9wdGlvbiAtLSBuby1vcCIKIG1zZ3N0ciAi7JWE66y0IOuPmeyekeuPhCDtlZjsp4Ag7JWK7Iq164uI64ukICjqs7zqsbDrtoDthLAg7J6I7JeI642YIOyYteyFmCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ5CisjOiBidWlsdGluL2FtLmM6MjI0NAogbXNnaWQgImFsbG93IGZhbGwgYmFjayBvbiAzd2F5IG1lcmdpbmcgaWYgbmVlZGVkIgogbXNnc3RyICLtlYTsmpTtlZjrqbQgMy3rsKntlqUg67OR7ZWp7Jy866GcIOuMgOyLoO2VmOuPhOuhnSDtl4jsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU3Ci0jOiBidWlsdGluL3JlcGFjay5jOjE3MQorIzogYnVpbHRpbi9hbS5jOjIyNDUgYnVpbHRpbi9pbml0LWRiLmM6NDgzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcyCiBtc2dpZCAiYmUgcXVpZXQiCiBtc2dzdHIgIuqwhOuete2eiCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUyCisjOiBidWlsdGluL2FtLmM6MjI0NwogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIuy7pOuwiyDrqZTsi5zsp4Dsl5AgU2lnbmVkLW9mZi1ieSDspITsnYQg64Ko6rmB64uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NQorIzogYnVpbHRpbi9hbS5jOjIyNTAKIG1zZ2lkICJyZWNvZGUgaW50byB1dGY4IChkZWZhdWx0KSIKIG1zZ3N0ciAiVVRGLTgg7J247L2U65Sp7Jy866GcIOuzgO2ZmO2VqeuLiOuLpCAo6riw67O46rCSKSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTcKKyM6IGJ1aWx0aW4vYW0uYzoyMjUyCiBtc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAiZ2l0LW1haWxpbmZv7JeQIC1rIOyYteyFmOydhCDslIHri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU5CisjOiBidWlsdGluL2FtLmM6MjI1NAogbXNnaWQgInBhc3MgLWIgZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgImdpdC1tYWlsaW5mb+yXkCAtYiDsmLXshZjsnYQg7JSB64uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6MjI2MQorIzogYnVpbHRpbi9hbS5jOjIyNTYKIG1zZ2lkICJwYXNzIC1tIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJnaXQtbWFpbGluZm/sl5AgLW0g7Ji17IWY7J2EIOyUgeuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjMKKyM6IGJ1aWx0aW4vYW0uYzoyMjU4CiBtc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKIG1zZ3N0ciAibWJveCDtmJXsi53sl5Ag64yA7ZW0IGdpdC1tYWlsc3BsaXTsl5AgLS1rZWVwLWNyIOyYteyFmOydhCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY2CisjOiBidWlsdGluL2FtLmM6MjI2MQogbXNnaWQgImRvIG5vdCBwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgaW5kZXBlbmRlbnQgb2YgYW0ua2VlcGNyIgogbXNnc3RyICIiCiAiYW0ua2VlcGNy7JeQIOustOq0gO2VmOqyjCBnaXQtbWFpbHNwbGl07JeQIC0ta2VlcC1jciDsmLXshZjsnYQg7IKs7Jqp7ZWY7KeAIOyViuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY5CisjOiBidWlsdGluL2FtLmM6MjI2NAogbXNnaWQgInN0cmlwIGV2ZXJ5dGhpbmcgYmVmb3JlIGEgc2Npc3NvcnMgbGluZSIKIG1zZ3N0ciAi7KCI7Leo7ISgIOyVnuydmCDrqqjrk6Ag7IKs7ZWt7J2EIOustOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzAgYnVpbHRpbi9hcHBseS5jOjQ1NDYKLW1zZ2lkICJhY3Rpb24iCi1tc2dzdHIgIuuPmeyekSIKLQotIzogYnVpbHRpbi9hbS5jOjIyNzEgYnVpbHRpbi9hbS5jOjIyNzQgYnVpbHRpbi9hbS5jOjIyNzcgYnVpbHRpbi9hbS5jOjIyODAKLSM6IGJ1aWx0aW4vYW0uYzoyMjgzIGJ1aWx0aW4vYW0uYzoyMjg2IGJ1aWx0aW4vYW0uYzoyMjg5IGJ1aWx0aW4vYW0uYzoyMjkyCi0jOiBidWlsdGluL2FtLmM6MjI5OAorIzogYnVpbHRpbi9hbS5jOjIyNjYgYnVpbHRpbi9hbS5jOjIyNjkgYnVpbHRpbi9hbS5jOjIyNzIgYnVpbHRpbi9hbS5jOjIyNzUKKyM6IGJ1aWx0aW4vYW0uYzoyMjc4IGJ1aWx0aW4vYW0uYzoyMjgxIGJ1aWx0aW4vYW0uYzoyMjg0IGJ1aWx0aW4vYW0uYzoyMjg3CisjOiBidWlsdGluL2FtLmM6MjI5MwogbXNnaWQgInBhc3MgaXQgdGhyb3VnaCBnaXQtYXBwbHkiCiBtc2dzdHIgImdpdC1hcHBseeyXkCDrhJjquYHri4jri6QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjc5IGJ1aWx0aW4vYXBwbHkuYzo0NTcwCi1tc2dpZCAicm9vdCIKLW1zZ3N0ciAi7LWc7IOB7JyEIgotCi0jOiBidWlsdGluL2FtLmM6MjI4MiBidWlsdGluL2FtLmM6MjI4NSBidWlsdGluL2FwcGx5LmM6NDUwOAotIzogYnVpbHRpbi9hcHBseS5jOjQ1MTEgYnVpbHRpbi9jbG9uZS5jOjkwIGJ1aWx0aW4vZmV0Y2guYzo5NQotIzogYnVpbHRpbi9wdWxsLmM6MTc5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNzcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4NQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzY3Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzcwCi1tc2dpZCAicGF0aCIKLW1zZ3N0ciAi6rK966GcIgotCi0jOiBidWlsdGluL2FtLmM6MjI4OCBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5Ci0jOiBidWlsdGluL2dyZXAuYzo3MDYgYnVpbHRpbi9tZXJnZS5jOjE5OSBidWlsdGluL3B1bGwuYzoxMzQgYnVpbHRpbi9wdWxsLmM6MTkzCi0jOiBidWlsdGluL3JlcGFjay5jOjE3OCBidWlsdGluL3JlcGFjay5jOjE4MiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1Ci0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc1IGJ1aWx0aW4vdGFnLmM6MzQwIHBhcnNlLW9wdGlvbnMuaDoxMzIKLSM6IHBhcnNlLW9wdGlvbnMuaDoxMzQgcGFyc2Utb3B0aW9ucy5oOjI0NAorIzogYnVpbHRpbi9hbS5jOjIyODMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYyIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NQorIzogYnVpbHRpbi9ncmVwLmM6NzA3IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTM1CisjOiBidWlsdGluL3B1bGwuYzoxOTQgYnVpbHRpbi9yZXBhY2suYzoxODEgYnVpbHRpbi9yZXBhY2suYzoxODUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQgYnVpbHRpbi9zaG93LXJlZi5jOjE3NSBidWlsdGluL3RhZy5jOjM0MAorIzogcGFyc2Utb3B0aW9ucy5oOjEzMiBwYXJzZS1vcHRpb25zLmg6MTM0IHBhcnNlLW9wdGlvbnMuaDoyNDUKIG1zZ2lkICJuIgogbXNnc3RyICJuIgogCi0jOiBidWlsdGluL2FtLmM6MjI5MSBidWlsdGluL2FwcGx5LmM6NDUxNAotbXNnaWQgIm51bSIKLW1zZ3N0ciAi6rCc7IiYIgotCi0jOiBidWlsdGluL2FtLmM6MjI5NCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3IGJ1aWx0aW4vcmVwbGFjZS5jOjQzOAorIzogYnVpbHRpbi9hbS5jOjIyODkgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3JlcGxhY2UuYzo0MzgKICM6IGJ1aWx0aW4vdGFnLmM6MzcyCiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICLtmJXsi50iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk1CisjOiBidWlsdGluL2FtLmM6MjI5MAogbXNnaWQgImZvcm1hdCB0aGUgcGF0Y2goZXMpIGFyZSBpbiIKIG1zZ3N0ciAi7Yyo7LmY7J2YIO2YleyLnSIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDEKKyM6IGJ1aWx0aW4vYW0uYzoyMjk2CiBtc2dpZCAib3ZlcnJpZGUgZXJyb3IgbWVzc2FnZSB3aGVuIHBhdGNoIGZhaWx1cmUgb2NjdXJzIgogbXNnc3RyICLtjKjsuZgg7Iuk7Yyo6rCAIOuwnOyDne2WiOydhCDrlYwg7Jik66WYIOuplOyLnOyngCDrjIDsi6Ag7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6MjMwMworIzogYnVpbHRpbi9hbS5jOjIyOTgKIG1zZ2lkICJjb250aW51ZSBhcHBseWluZyBwYXRjaGVzIGFmdGVyIHJlc29sdmluZyBhIGNvbmZsaWN0IgogbXNnc3RyICLstqnrj4zsnYQg7ZW06rKw7ZWcIOuLpOydjCDtjKjsuZgg7KCB7Jqp7J2EIOqzhOyGje2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDYKKyM6IGJ1aWx0aW4vYW0uYzoyMzAxCiBtc2dpZCAic3lub255bXMgZm9yIC0tY29udGludWUiCiBtc2dzdHIgIi0tY29udGludWUg7Ji17IWY6rO8IOuPmeydvCIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDkKKyM6IGJ1aWx0aW4vYW0uYzoyMzA0CiBtc2dpZCAic2tpcCB0aGUgY3VycmVudCBwYXRjaCIKIG1zZ3N0ciAi7ZiE7J6sIO2MqOy5mCDqsbTrhIjrm7DquLAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzEyCisjOiBidWlsdGluL2FtLmM6MjMwNwogbXNnaWQgInJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgYWJvcnQgdGhlIHBhdGNoaW5nIG9wZXJhdGlvbi4iCiBtc2dzdHIgIuybkOuemCDruIzrnpzsuZjrpbwg67O16rWs7ZWY6rOgIO2MqOy5mCDsoIHsmqkg7J6R7JeF7J2EIOykkeyngO2VqeuLiOuLpC4iCiAKICMgTk9URTog7Ji17IWY7J2YIOydmOuvuOuKlCDsnbTqsowg66ee64ukLiDsm5DrrLjsl5DshJzripQg7IKs7Jqp7J6Q6rCACiAjIC0tY29tbWl0dGVyLWRhdGUtaXMtYXV0aG9yLWRhdGXrnbzripQg7Ji17IWY7J2EIOuztOqzoCDsnZjrr7jrpbwg7JWMIOyImCDsnojri6Tqs6Ag6rCA7KCV7ZWY6rOgIOyeiOuLpC4KLSM6IGJ1aWx0aW4vYW0uYzoyMzE2CisjOiBidWlsdGluL2FtLmM6MjMxMQogbXNnaWQgImxpZSBhYm91dCBjb21taXR0ZXIgZGF0ZSIKIG1zZ3N0ciAi7Luk66+47YSwIOyLnOqwgeydhCDsnpHshLHsnpAg7Iuc6rCB7Jy866GcIOuEo+yKteuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTgKKyM6IGJ1aWx0aW4vYW0uYzoyMzEzCiBtc2dpZCAidXNlIGN1cnJlbnQgdGltZXN0YW1wIGZvciBhdXRob3IgZGF0ZSIKIG1zZ3N0ciAi7ZiE7J6sIOyLnOqwgeydhCDsnpHshLHsnpAg7Iuc6rCB7Jy866GcIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjAgYnVpbHRpbi9jb21taXQuYzoxNjA5IGJ1aWx0aW4vbWVyZ2UuYzoyMjgKLSM6IGJ1aWx0aW4vcHVsbC5jOjE2NCBidWlsdGluL3JldmVydC5jOjkyIGJ1aWx0aW4vdGFnLmM6MzU1CisjOiBidWlsdGluL2FtLmM6MjMxNSBidWlsdGluL2NvbW1pdC5jOjE2MDUgYnVpbHRpbi9tZXJnZS5jOjIyOQorIzogYnVpbHRpbi9wdWxsLmM6MTY1IGJ1aWx0aW4vcmV2ZXJ0LmM6OTIgYnVpbHRpbi90YWcuYzozNTUKIG1zZ2lkICJrZXktaWQiCiBtc2dzdHIgIu2CpC1JRCIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjEKKyM6IGJ1aWx0aW4vYW0uYzoyMzE2CiBtc2dpZCAiR1BHLXNpZ24gY29tbWl0cyIKIG1zZ3N0ciAiR1BHIOyEnOuqhSDsu6TrsIsiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzI0CisjOiBidWlsdGluL2FtLmM6MjMxOQogbXNnaWQgIihpbnRlcm5hbCB1c2UgZm9yIGdpdC1yZWJhc2UpIgogbXNnc3RyICIoZ2l0LXJlYmFzZeulvCDsnITtlZwg64K067aAIOyaqeuPhCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzM5CisjOiBidWlsdGluL2FtLmM6MjMzNAogbXNnaWQgIiIKICJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCiAiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKQEAgLTMxMjIsMTYgKzQ0NjAsMTYgQEAKICItYi8tLWJpbmFyeSDsmLXshZjsnYAg7Jik656cIOyLnOqwhCDrj5nslYgg7JWE66y0IOuPmeyekeuPhCDtlZjsp4Ag7JWK7JWY7Jy866+A66GcLCDsnbRcbiIKICLsmLXshZjsnYAg7KCc6rGw65CgIOyYiOygleyeheuLiOuLpC4g7J207KCcIOyCrOyaqe2VmOyngCDrp4jsi63si5zsmKQuIgogCi0jOiBidWlsdGluL2FtLmM6MjM0NgorIzogYnVpbHRpbi9hbS5jOjIzNDEKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIuyduOuNseyKpCDsnb3quLDsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2FtLmM6MjM2MQorIzogYnVpbHRpbi9hbS5jOjIzNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAlcyBzdGlsbCBleGlzdHMgYnV0IG1ib3ggZ2l2ZW4uIgogbXNnc3RyICLsnbTsoIQg66as67Kg7J207IqkIOuUlOugie2EsOumrCAlc+ydtCjqsIApIOyVhOyngSDsnojqs6AgbWJveOulvCDsp4DsoJXtlojsirXri4jri6QuIgogCi0jOiBidWlsdGluL2FtLmM6MjM4NQorIzogYnVpbHRpbi9hbS5jOjIzODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN0cmF5ICVzIGRpcmVjdG9yeSBmb3VuZC5cbiIKQEAgLTMxNDAsNDkxICs0NDc4LDE0IEBACiAi67KX7Ja064KcICVzIOuUlOugie2EsOumrOqwgCDrsJzqsqzrkJjsl4jsirXri4jri6QuXG4iCiAi7KCc6rGw7ZWY66Ck66m0IFwiZ2l0IGFtIC0tYWJvcnRcIuulvCDsgqzsmqntlZjsi63si5zsmKQuIgogCi0jOiBidWlsdGluL2FtLmM6MjM5MQorIzogYnVpbHRpbi9hbS5jOjIzODYKIG1zZ2lkICJSZXNvbHZlIG9wZXJhdGlvbiBub3QgaW4gcHJvZ3Jlc3MsIHdlIGFyZSBub3QgcmVzdW1pbmcuIgogbXNnc3RyICLtlbTshowg7J6R7JeF7J20IOynhO2WiSDspJHsnoXri4jri6QuIOuLpOyLnCDsi5zsnpHtlZjsp4Ag7JWK7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjU5CisjOiBidWlsdGluL2FwcGx5LmM6OAogbXNnaWQgImdpdCBhcHBseSBbPG9wdGlvbnM+XSBbPHBhdGNoPi4uLl0iCiBtc2dzdHIgImdpdCBhcHBseSBbPOyYteyFmD5dIFs87Yyo7LmYPi4uLl0iCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzoxMTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCi1tc2dzdHIgIuyVjCDsiJgg7JeG64qUIOqzteuwsSDsmLXshZggJyVzJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjEyNgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCi1tc2dzdHIgIuyVjCDsiJgg7JeG64qUIOqzteuwsSDrrLTsi5wg7Ji17IWYICclcyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo4MTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKLW1zZ3N0ciAi7YOA7J6E7Iqk7YOs7ZSEIOygleq3nOyLneydhCDspIDruYTtlaAg7IiYIOyXhuyKteuLiOuLpCAoJXMpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6ODI3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlZ2V4ZWMgcmV0dXJuZWQgJWQgZm9yIGlucHV0OiAlcyIKLW1zZ3N0ciAicmVnZXhlYygp7JeQ7IScIOuLpOydjCDsnoXroKXsl5Ag64yA7ZW0ICVk67KI7J2EIOumrO2EtO2WiOyKteuLiOuLpDogJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5MDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKLW1zZ3N0ciAi7Yyo7LmY7J2YICVk67KIIOykhOyXkCDtjIzsnbwg7J2066aE7J2EIOywvuydhCDsiJgg7JeG7Iq164uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIKLW1zZ3N0ciAiIgotImdpdCBhcHBseTog7J6Y66q765CcIGdpdC1kaWZmIC0gJTIkZOuyiCDspITsl5DshJwgL2Rldi9udWxs7J2EIOq4sOuMgO2WiOyngOunjCwgJyUxJHMn7J20IgotIijqsIApIOyZlOyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjk0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKLW1zZ3N0ciAiIgotImdpdCBhcHBseTog7J6Y66q765CcIGdpdC1kaWZmIC0gJWTrsogg7KSE7JeQIOyDiCDtjIzsnbwg7J2066aE7J20IOyYrOuwlOultOyngCDslYrsirXri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5NDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCi1tc2dzdHIgIiIKLSJnaXQgYXBwbHk6IOyemOuqu+uQnCBnaXQtZGlmZiAtICVk67KIIOykhOyXkCDsmIjsoIQg7YyM7J28IOydtOumhOydtCDsmKzrsJTrpbTsp4Ag7JWK7Iq164uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTQ5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCi1tc2dzdHIgImdpdCBhcHBseTog7J6Y66q765CcIGdpdC1kaWZmIC0gJWTrsogg7KSE7JeQ7IScIC9kZXYvbnVsbOydhCDquLDrjIDtlojsirXri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNDA2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKLW1zZ3N0ciAicmVjb3VudDog7JiI7IOB7LmYIOuqu+2VnCDspIQ6ICUuKnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNDYzCi0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCi1tc2dzdHIgIiVk67KIIOykhOyXkCDtl6TrjZQg7JeG64qUIO2MqOy5mCDrtoDrtoQ6ICUuKnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNDgwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKLSJjb21wb25lbnQgKGxpbmUgJWQpIgotbXNnaWRfcGx1cmFsICIiCi0iZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCi0iY29tcG9uZW50cyAobGluZSAlZCkiCi1tc2dzdHJbMF0gIiIKLSLqsr3roZwg7J2066aEIOu2gOu2hOyXkOyEnCAlZOqwnOulvCDsoJzqsbDrnbwg65WMIGdpdCBkaWZmIO2XpOuNlOyXkCDtjIzsnbwg7J2066aEIOygleuztOqwgCDsl4bsirXri4giCi0i64ukLiAoJWTrsogg7KSEKSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE2NDYKLW1zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKLW1zZ3N0ciAi7IOIIO2MjOydvOydtCDsmIjsoIQg64K07Jqp7JeQIOydmOyhtO2VqeuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE2NDgKLW1zZ2lkICJkZWxldGVkIGZpbGUgc3RpbGwgaGFzIGNvbnRlbnRzIgotbXNnc3RyICLsgq3soJztlZwg7YyM7J287JeQIOyVhOyngSDrgrTsmqnsnbQg65Ok7Ja0IOyeiOyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE2NzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgotbXNnc3RyICLtjKjsuZjqsIAgJWTrsogg7KSE7JeQ7IScIOunneqwgOyhjOyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE3MTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCi1tc2dzdHIgIuyDiCDtjIzsnbwgJXPsnbQo6rCAKSDsmIjsoIQg64K07Jqp7JeQIOydmOyhtO2VqeuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE3MTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZGVsZXRlZCBmaWxlICVzIHN0aWxsIGhhcyBjb250ZW50cyIKLW1zZ3N0ciAi7IKt7KCc7ZWcIO2MjOydvCAlc+ydtCjqsIApIOyVhOyngSDrgrTsmqnsnbQg65Ok7Ja0IOyeiOyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE3MTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKiogd2FybmluZzogZmlsZSAlcyBiZWNvbWVzIGVtcHR5IGJ1dCBpcyBub3QgZGVsZXRlZCIKLW1zZ3N0ciAiKiog6rK96rOgOiAlcyDtjIzsnbzsnZgg64K07Jqp7J20IOu5hOyWtCDsnojsp4Drp4wg7IKt7KCc65CY7KeAIOyViuyVmOyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE4NjEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY29ycnVwdCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZDogJS4qcyIKLW1zZ3N0ciAiJWTrsogg7KSE7JeQIOuwlOydtOuEiOumrCDtjKjsuZjqsIAg7IaQ7IOB65CY7JeI7Iq164uI64ukOiAlLipzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTg5NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgIiVk67KIIOykhOyXkCDrsJTsnbTrhIjrpqwg7Yyo7LmY6rCAIOydtO2VtO2VoCDsiJgg7JeG7Iq164uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjA0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgotbXNnc3RyICIlZOuyiCDspITsl5Ag7JOw66CI6riwIOuNsOydtO2EsOunjCDsnojripQg7Yyo7LmYIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjEzOAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzeW1saW5rICVzIgotbXNnc3RyICIlcyDsi6zrs7zrpq0g66eB7YGs66W8IOydveydhCDsiJgg7JeG7Iq164uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjE0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIgotbXNnc3RyICIlc+ydhCjrpbwpIOyXtOqxsOuCmCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI3NzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgotbXNnc3RyICLspIQg7Iuc7J6R7J20IOyemOuqu+uQqDogJyVjJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI4OTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgotbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgotbXNnc3RyWzBdICLtjKjsuZggJWTrsogg67aA67aEICVk67KIIOykhOyXkOyEnCDshLHqs7UgKOyYpO2UhOyFiyAlZOykhCkiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyOTA2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvbnRleHQgcmVkdWNlZCB0byAoJWxkLyVsZCkgdG8gYXBwbHkgZnJhZ21lbnQgYXQgJWQiCi1tc2dzdHIgIuy7qO2FjeyKpO2KuOqwgCAoJWxkLyVsZCnroZwg7KSE7Ja065Ot64uI64ukLiAoJWTrsogg7KSE7JeQ7IScIOyggeyaqSkiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyOTEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgotIiUuKnMiCi1tc2dzdHIgIiIKLSLri6TsnYzsnYQg6rKA7IOJ7ZWY642YIOykkTpcbiIKLSIlLipzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjkzMgotIywgYy1mb3JtYXQKLW1zZ2lkICJtaXNzaW5nIGJpbmFyeSBwYXRjaCBkYXRhIGZvciAnJXMnIgotbXNnc3RyICInJXMn7JeQIOuMgO2VnCDrsJTsnbTrhIjrpqwg7Yyo7LmYIOuNsOydtO2EsOqwgCDsl4bsirXri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMDMzCi0jLCBjLWZvcm1hdAotbXNnaWQgImJpbmFyeSBwYXRjaCBkb2VzIG5vdCBhcHBseSB0byAnJXMnIgotbXNnc3RyICLrsJTsnbTrhIjrpqwg7Yyo7LmY66W8ICclcyfsl5Ag7KCB7Jqp7ZWgIOyImCDsl4bsirXri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMDM5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgotbXNnc3RyICIiCi0iJyVzJ+yXkCDrjIDtlZwg67CU7J2064SI66asIO2MqOy5mOqwgCDsmKzrsJTrpbTsp4Ag7JWK7J2AIOqysOqzvOulvCDrp4zrk63ri4jri6QuICjquLDrjIDtlZwg6rCSICVzLCDsi6QiCi0i7KCcICVzKSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMwNjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0Y2ggZmFpbGVkOiAlczolbGQiCi1tc2dzdHIgIu2MqOy5mCDsi6TtjKg6ICVzOiVsZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMxODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IGNoZWNrb3V0ICVzIgotbXNnc3RyICIlc+ydhCjrpbwpIOqwgOyguOyYrCDsiJgg7JeG7Iq164uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzIyOSBidWlsdGluL2FwcGx5LmM6MzI0MCBidWlsdGluL2FwcGx5LmM6MzI4NQotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWFkIG9mICVzIGZhaWxlZCIKLW1zZ3N0ciAiJXMg7J296riw6rCAIOyLpO2MqO2WiOyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMyMzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAi7Ius67O866atIOunge2BrCDrkqTsl5Ag7J6I64qUICclcycg7J296riwIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzI2NSBidWlsdGluL2FwcGx5LmM6MzQ4NwotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKLW1zZ3N0ciAiJXMg6rK966Gc6rCAIOydtOumhOydtCDrsJTrgIzsl4jqsbDrgpgg7IKt7KCc65CY7JeI7Iq164uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzM0NiBidWlsdGluL2FwcGx5LmM6MzUwMQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiCi1tc2dzdHIgIiVzOiDsnbjrjbHsiqTsl5Ag7JeG7Iq164uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzM1MCBidWlsdGluL2FwcGx5LmM6MzQ5MyBidWlsdGluL2FwcGx5LmM6MzUxNQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogJXMiCi1tc2dzdHIgIiVzOiAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMzNTUgYnVpbHRpbi9hcHBseS5jOjM1MDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgotbXNnc3RyICIlczog7J24642x7Iqk7JmAIOunnuyngCDslYrsirXri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNDU3Ci1tc2dpZCAicmVtb3ZhbCBwYXRjaCBsZWF2ZXMgZmlsZSBjb250ZW50cyIKLW1zZ3N0ciAi7KCc6rGw7ZWY64qUIO2MqOy5mCDri6TsnYzsl5Ag7YyM7J28IOuCtOyaqeydtCDrgqjslZjsirXri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNTI2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgotbXNnc3RyICIlczog7J6Y66q765CcIOyiheulmCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM1MjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgotbXNnc3RyICIlc+ydmCDsooXrpZjqsIAgJW/snbTsp4Drp4wgJW/snbQo6rCAKSDrkJjslrTslbwg7ZWp64uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzY4NyBidWlsdGluL2FwcGx5LmM6MzY4OQotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKLW1zZ3N0ciAi7J6Y66q765CcIOqyveuhnCAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc0NAotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgiCi1tc2dzdHIgIiVzOiDsnbTrr7gg7J24642x7Iqk7JeQIOyeiOyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NDcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgotbXNnc3RyICIlczog7J2066+4IOyekeyXhSDrlJTroInthLDrpqzsl5Ag7J6I7Iq164uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc2NwotIywgYy1mb3JtYXQKLW1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykiCi1tc2dzdHIgIiUyJHPsnZgg7IOIIOuqqOuTnCglMSRvKeqwgCDsmIjsoIQg66qo65OcKCUzJG8p7JmAIOuLpOumheuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIG9mICVzIgotbXNnc3RyICIlMiRz7J2YIOyDiCDrqqjrk5woJTEkbynqsIAgJTQkc+ydmCDsmIjsoIQg66qo65OcKCUzJG8p7JmAIOuLpOumheuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3OTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYWZmZWN0ZWQgZmlsZSAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCi1tc2dzdHIgIuyYge2WpSDrsJvripQgJyVzJyDtjIzsnbzsnbQg7Ius67O866atIOunge2BrCDrkqTsl5Ag7J6I7Iq164uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc5NgotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCi1tc2dzdHIgIiVzOiDtjKjsuZjrpbwg7KCB7Jqp7ZWY7KeAIOyViuyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM4MTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCi1tc2dzdHIgIiVzIO2MqOy5mOulvCDtmZXsnbjtlZjripQg7KSR7J6F64uI64ukLi4uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzkwMyBidWlsdGluL2NoZWNrb3V0LmM6MjMzIGJ1aWx0aW4vcmVzZXQuYzoxMzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKLW1zZ3N0ciAi6rK966GcICclcyfsl5Ag64yA7ZW0IG1ha2VfY2FjaGVfZW50cnkg7Iuk7YyoIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA0NgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlICVzIGZyb20gaW5kZXgiCi1tc2dzdHIgIuyduOuNseyKpOyXkOyEnCAlc+ydhCjrpbwpIOygnOqxsO2VoCDsiJgg7JeG7Iq164uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCi1tc2dzdHIgIu2VmOychCDrqqjrk4ggJXPsl5Ag64yA7ZW0IOyGkOyDgeuQnCDtjKjsuZgiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDc5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBzdGF0IG5ld2x5IGNyZWF0ZWQgZmlsZSAnJXMnIgotbXNnc3RyICLsg4jroZwg66eM65OgIO2MjOydvCAnJXMn7JeQIOuMgO2VtCBzdGF0KCntlaAg7IiYIOyXhuyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCi1tc2dzdHIgIuyDiOuhnCDrp4zrk6Ag7YyM7J28ICclcyfsl5Ag64yA7ZW0IOyYiOu5hCDsoIDsnqXshozrpbwg66eM65OkIOyImCDsl4bsirXri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDg3IGJ1aWx0aW4vYXBwbHkuYzo0MTk1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBhZGQgY2FjaGUgZW50cnkgZm9yICVzIgotbXNnc3RyICIlc+yXkCDrjIDtlbQg7LqQ7IucIO2VreuqqeydhCDstpTqsIDtlaAg7IiYIOyXhuyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQxMjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2xvc2luZyBmaWxlICclcyciCi1tc2dzdHIgIiclcycg7YyM7J287J2EIOuLq+uKlCDspJHsnoXri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MTY5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKLW1zZ3N0ciAiJyVzJyDtjIzsnbzsl5Ag7JO4IOyImCDsl4bsirXri4jri6QgKCclbycg66qo65OcKSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQyNTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQXBwbGllZCBwYXRjaCAlcyBjbGVhbmx5LiIKLW1zZ3N0ciAiJXMg7Yyo7LmYIOq5lOuBlO2VmOqyjCDsoIHsmqkuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI2NAotbXNnaWQgImludGVybmFsIGVycm9yIgotbXNnc3RyICLrgrTrtoAg7Jik66WYIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI2NwotIywgYy1mb3JtYXQKLW1zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCi1tc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCi1tc2dzdHJbMF0gIiUlcyDtjKjsuZjrpbwgKCVk6rCcIOqxsOu2gCkg7KCB7JqpLi4uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI3NwotIywgYy1mb3JtYXQKLW1zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCi1tc2dzdHIgInRydW5jYXRpbmcgLnJlaiDtjIzsnbwg7J2066aE7J2EICclLipzLnJlaico7Jy8KeuhnCDsnpDrpoQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mjg1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKLW1zZ3N0ciAiJXPsnYQo66W8KSDsl7Qg7IiYIOyXhuyKteuLiOuLpDogJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mjk4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkh1bmsgIyVkIGFwcGxpZWQgY2xlYW5seS4iCi1tc2dzdHIgIu2MqOy5mCDrtoDsnIQgIyVkIOq5lOuBlO2VmOqyjCDsoIHsmqkuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDMwMQotIywgYy1mb3JtYXQKLW1zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCi1tc2dzdHIgIu2MqOy5mCDrtoDsnIQgIyVkIOqxsOu2gOuQqC4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzg3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCi1tc2dzdHIgIu2MqOy5mCAnJXMnIOqxtOuEiOucgC4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzk1Ci1tc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgotbXNnc3RyICLsnbjsi53tlaAg7IiYIOyXhuuKlCDsnoXroKUiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDA2Ci1tc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKLW1zZ3N0ciAi7J24642x7IqkIO2MjOydvOydhCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MDkKLW1zZ2lkICJkb24ndCBhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgotbXNnc3RyICLso7zslrTsp4Qg6rK966Gc7JeQIO2VtOuLue2VmOuKlCDrs4Dqsr0g7IKs7ZWt7J2EIOyggeyaqe2VmOyngCDslYrsirXri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTEyCi1tc2dpZCAiYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKLW1zZ3N0ciAi7KO87Ja07KeEIOqyveuhnOyXkCDtlbTri7ntlZjripQg67OA6rK9IOyCrO2VreydhCDsoIHsmqntlanri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTE1Ci1tc2dpZCAicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiCi1tc2dzdHIgIuyghO2GteyggeyduCBkaWZmIOqyveuhnCDslZ7snZggPOqwnOyImD7qsJzsnZgg7JWeIOyKrOuemOyLnCgvKeulvCDsoJzqsbDtlanri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTE4Ci1tc2dpZCAiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIKLW1zZ3N0ciAi7Yyo7LmY7JeQ7IScIOy2lOqwgO2VmOuKlCDtjIzsnbzsnYQg66y07Iuc7ZWp64uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyMAotbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKLW1zZ3N0ciAi7Yyo7LmY66W8IOyggeyaqe2VmOuKlCDrjIDsi6AsIOyeheugpeyXkCDrjIDtlZwgZGlmZnN0YXTsnYQg7Lac66Cl7ZWp64uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyNAotbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCi1tc2dzdHIgIuyLreynhOyImOuhnCDstpTqsIAg67CPIOyCreygnO2VnCDspIQg7IiY66W8IO2RnOyLnO2VqeuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjYKLW1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgotbXNnc3RyICLtjKjsuZjrpbwg7KCB7Jqp7ZWY64qUIOuMgOyLoCwg7J6F66Cl7JeQIOuMgO2VnCDsmpTslb3snYQg7Lac66Cl7ZWp64uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyOAotbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCi1tc2dzdHIgIu2MqOy5mOulvCDsoIHsmqntlZjripQg64yA7IugLCDtjKjsuZjrpbwg7KCB7JqpIOqwgOuKpe2VnOyngCDtmZXsnbjtlanri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTMwCi1tc2dpZCAibWFrZSBzdXJlIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBjdXJyZW50IGluZGV4IgotbXNnc3RyICLtmITsnqwg7J24642x7Iqk7JeQ7IScIO2MqOy5mOqwgCDsoIHsmqkg6rCA64ql7ZWc7KeAIO2ZleyduO2VqeuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzIKLW1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKLW1zZ3N0ciAi7J6R7JeFIO2PtOuNlOulvCDrsJTqvrjsp4Ag7JWK6rOgIO2MqOy5mOulvCDsoIHsmqntlanri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTM0Ci1tc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKLW1zZ3N0ciAi7J6R7JeFIOyYgeyXrSDrsJbsnZgg7YyM7J287J2EIOuwlOq+uOuKlCDtjKjsuZjrpbwg7ZeI7Jqp7ZWp64uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzNgotbXNnaWQgImFsc28gYXBwbHkgdGhlIHBhdGNoICh1c2Ugd2l0aCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgotbXNnc3RyICLqt7jrpqzqs6Ag7Yyo7LmY64+EIOyggeyaqe2VqeuLiOuLpCAoLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrIOyYteyFmOqzvCDqsJnsnbQg7IKs7JqpKSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzgKLW1zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgotbXNnc3RyICLtjKjsuZjrpbwg7KCB7Jqp7ZWY7KeAIOyViuycvOuptCAzLeuwqe2WpSDrs5HtlansnYQg7Iuc64+E7ZWp64uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU0MAotbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgotbXNnc3RyICLrgrTsnqUg7J24642x7IqkIOygleuztOulvCDsgqzsmqntlbQg7J6E7IucIOyduOuNseyKpOulvCDrp4zrk63ri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQzIGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjkgYnVpbHRpbi9scy1maWxlcy5jOjQyNQotbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgotbXNnc3RyICLqsr3roZzrpbwgTlVMIOusuOyekOuhnCDqtazrtoTtlanri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQ1Ci1tc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgotbXNnc3RyICLstZzshoztlZwgPG4+7KSE7J20IOy7qO2FjeyKpO2KuOyZgCDsnbzsuZjtlZjripTsp4Ag7ZmV7J247ZWp64uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU0NwotbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgotbXNnc3RyICLqs7XrsLEg7Jik66WY6rCAIOyeiOuKlCDstpTqsIDrkJDqsbDrgpgg7IiY7KCV65CcIOykhOydhCDssL7sirXri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTUwIGJ1aWx0aW4vYXBwbHkuYzo0NTUzCi1tc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKLW1zZ3N0ciAi7Luo7YWN7Iqk7Yq466W8IOywvuydhCDrlYwg6rO167CxIOuzgOqyvSDsgqztla3snYQg66y07Iuc7ZWp64uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU1NgotbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgotbXNnc3RyICLtjKjsuZjrpbwg67CY64yAIOyInOyEnOuhnCDsoIHsmqntlanri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTU4Ci1tc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCi1tc2dzdHIgIuy1nOyGjO2VnOydmCDsu6jthY3siqTtirgg7ZWcIOykhOuPhCDsl4bsnbQg7KCB7Jqp7ZWp64uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2MAotbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgotbXNnc3RyICLqsbDrtoDrkJwg7Yyo7LmYIOu2gOu2hOydhCDrjIDsnZHrkJjripQgKi5yZWog7YyM7J287JeQIOuCqOqyqOuRoeuLiOuLpCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NjIKLW1zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKLW1zZ3N0ciAi7Yyo7LmYIOu2gOu2hOydtCDqsrnss5Drj4Qg7ZeI7Jqp7ZWp64uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2NQotbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgotbXNnc3RyICLtjIzsnbwg64Gd7JeQIOykhOuwlOq/iOydtCDruaDsoYzsnYzsnYQg7J6Y66q7IOqygOyDie2VnCDqsr3smrDsl5Ag66y07Iuc7ZWp64uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2OAotbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKLW1zZ3N0ciAi7Yyo7LmYIOu2gOu2hOydmCDtl6TrjZTsnZgg7KSEIOyImOulvCDsi6DsmqntlZjsp4Ag7JWK7Iq164uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU3MQotbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCi1tc2dzdHIgIuuqqOuToCDtjIzsnbwg7J2066aE7JeQIDzstZzsg4HsnIQ+66W8IOyVnuyXkCDrtpnsnoXri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTkzCi1tc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgotbXNnc3RyICLsoIDsnqXshowg67CW7JeQ7IScIC0tM3dheSDsmLXshZgg7IKs7JqpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDYwMQotbXNnaWQgIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiCi1tc2dzdHIgIuyggOyepeyGjCDrsJbsl5DshJwgLS1pbmRleCDsmLXshZgg7IKs7JqpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDYwNAotbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgotbXNnc3RyICLsoIDsnqXshowg67CW7JeQ7IScIC0tY2FjaGVkIOyYteyFmCDsgqzsmqkiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NjIzCi0jLCBjLWZvcm1hdAotbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJyIKLW1zZ3N0ciAiJyVzJyDtjKjsuZjrpbwg7Je0IOyImCDsl4bsirXri4jri6QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NjM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgotbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCi1tc2dzdHJbMF0gIuqzteuwsSDsmKTrpZggJWTqsJzrpbwg64SY7Ja06rCR64uI64ukIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDY0MyBidWlsdGluL2FwcGx5LmM6NDY1MwotIywgYy1mb3JtYXQKLW1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnc3RyWzBdICIlZOykhOyXkOyEnCDqs7XrsLEg7Jik66WY66W8IOy2lOqwgO2VqeuLiOuLpC4iCi0KICM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgYXJjaGl2ZSBmaWxlICclcyciCkBAIC0zNjgwLDExNiArNDU0MSwxNjUgQEAKIG1zZ2lkICI8cmV2LW9wdHM+IGFyZSBkb2N1bWVudGVkIGluIGdpdC1yZXYtbGlzdCgxKSIKIG1zZ3N0ciAiPOumrOu5hOyghC3smLXshZg+7J2AIGdpdC1yZXYtbGlzdCgxKeyXkCDshKTrqoXrkJjslrQg7J6I7Iq164uI64ukIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MTc4MgorIzogYnVpbHRpbi9ibGFtZS5jOjE3ODEKIG1zZ2lkICJCbGFtaW5nIGxpbmVzIgogbXNnc3RyICLruJTroIjsnoQg7KSEIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzMQorIzogYnVpbHRpbi9ibGFtZS5jOjI1NzcKIG1zZ2lkICJTaG93IGJsYW1lIGVudHJpZXMgYXMgd2UgZmluZCB0aGVtLCBpbmNyZW1lbnRhbGx5IgogbXNnc3RyICLruJTroIjsnoQg7ZWt66qp7J2EIOywvuyekOuniOyekCDsoJDsp4TsoIHsnLzroZwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzMgorIzogYnVpbHRpbi9ibGFtZS5jOjI1NzgKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLqsIDsnqXsnpDrpqwg7Luk67CL7JeQIOuMgO2VtCDruYggU0hBLTHsnYQg7ZGc7Iuc7ZWp64uI64ukICjquLDrs7jqsJI6IOq6vOynkCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTMzCisjOiBidWlsdGluL2JsYW1lLmM6MjU3OQogbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi7LWc7IOB7JyEIOy7pOuwi+ydhCDqsIDsnqXsnpDrpqwg7Luk67CL7Jy866GcIOy3qOq4ie2VmOyngCDslYrsirXri4jri6QgKOq4sOuzuOqwkjog6rq87KeQKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgwCiBtc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKIG1zZ3N0ciAi7J6R7JeFIOu5hOyaqSDthrXqs4Trpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzNQorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODEKIG1zZ2lkICJGb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIuqwleygnOuhnCDsp4Ttlokg7IOB7Zmp7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgyCiBtc2dpZCAiU2hvdyBvdXRwdXQgc2NvcmUgZm9yIGJsYW1lIGVudHJpZXMiCiBtc2dzdHIgIuu4lOugiOyehCDtla3rqqnsl5Ag64yA7ZW0IOy2nOugpSDsoJDsiJjrpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzNworIzogYnVpbHRpbi9ibGFtZS5jOjI1ODMKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGZpbGVuYW1lIChEZWZhdWx0OiBhdXRvKSIKIG1zZ3N0ciAi7JuQ656YIO2MjOydvCDsnbTrpoQg7ZGc7IucICjquLDrs7jqsJI6IOyekOuPmSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM4CisjOiBidWlsdGluL2JsYW1lLmM6MjU4NAogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi7JuQ656YIOykhCDrsojtmLgg7ZGc7IucICjquLDrs7jqsJI6IO2VmOyngCDslYrsnYwpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzOQorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODUKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICLsu7Ttk6jthLAg7LKY66as7Jqp7Jy866GcIOyEpOqzhOuQnCDtmJXsi53snLzroZwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0MAorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODYKIG1zZ2lkICJTaG93IHBvcmNlbGFpbiBmb3JtYXQgd2l0aCBwZXItbGluZSBjb21taXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIuykhOuniOuLpCDsu6TrsIsg7KCV67O06rCAIO2RnOyLnOuQmOuKlCDsgqzsmqnsnpDsmqkg7ZiV7Iud7Jy866GcIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg3CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiZ2l0LWFubm90YXRl7JmAIOuPmeydvO2VnCDtmJXsi53snYQg7IKs7Jqp7ZWp64uI64ukICjquLDrs7jqsJI6IOq6vOynkCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQyCisjOiBidWlsdGluL2JsYW1lLmM6MjU4OAogbXNnaWQgIlNob3cgcmF3IHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi64K067aAIO2YleyLneycvOuhnCDsi5zqsIHsnYQg7ZGc7Iuc7ZWp64uI64ukICjquLDrs7jqsJI6IOq6vOynkCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQzCisjOiBidWlsdGluL2JsYW1lLmM6MjU4OQogbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi6ri46rKMIOy7pOuwiyBTSEEx7J2EIO2RnOyLnO2VqeuLiOuLpCAo6riw67O46rCSOiDqurzsp5ApIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0NAorIzogYnVpbHRpbi9ibGFtZS5jOjI1OTAKIG1zZ2lkICJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLsnpHshLHsnpAg7J2066aE6rO8IOyLnOqwgeydhCDtkZzsi5ztlZjsp4Ag7JWK7Iq164uI64ukICjquLDrs7jqsJI6IOq6vOynkCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ1CisjOiBidWlsdGluL2JsYW1lLmM6MjU5MQogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi7J6R7ISx7J6QIOydtOumhCDrjIDsi6Dsl5Ag7KCE7J6Q66mU7J287J2EIO2RnOyLnO2VqeuLiOuLpCAo6riw67O46rCSOiDqurzsp5ApIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0NgorIzogYnVpbHRpbi9ibGFtZS5jOjI1OTIKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAi6rO167CxIOusuOyekCDssKjsnbTsoJDsnYQg66y07Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0NworIzogYnVpbHRpbi9ibGFtZS5jOjI1OTkKK21zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGluZGVudC1iYXNlZCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKK21zZ3N0ciAiZGlmZuulvCDtlqXsg4HtlZjripTrjbAg7Iuk7ZeY7KCB7J24IOuTpOyXrOyTsOq4sCDquLDrsJgg7Zy066as7Iqk7Yux7J2EIOyCrOyaqe2VqeuLiOuLpC4iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjAwCittc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBibGFuay1saW5lLWJhc2VkIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgorbXNnc3RyICJkaWZm66W8IO2WpeyDge2VmOuKlOuNsCDsi6Ttl5jsoIHsnbgg67mIIOykhCDquLDrsJgg7Zy066as7Iqk7Yux7J2EIOyCrOyaqe2VqeuLiOuLpC4iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjAyCiBtc2dpZCAiU3BlbmQgZXh0cmEgY3ljbGVzIHRvIGZpbmQgYmV0dGVyIG1hdGNoIgogbXNnc3RyICLrjZQg7J287LmY7ZWY64qUIO2VreuqqeydhCDssL7ripTrjbAg642UIOyLnOqwhOydhCDshozrqqjtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ4CisjOiBidWlsdGluL2JsYW1lLmM6MjYwMwogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAiZ2l0LXJldi1saXN066W8IO2YuOy2nO2VmOuKlCDrjIDsi6AgPO2MjOydvD7sl5DshJwg66as67mE7KCE7J2EIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA0CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAiPO2MjOydvD7snZgg64K07Jqp7J2EIOy1nOyihSDsnbTrr7jsp4DroZwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU1MCBidWlsdGluL2JsYW1lLmM6MjU1MQorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDUgYnVpbHRpbi9ibGFtZS5jOjI2MDYKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAi7KCQ7IiYIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU1MAorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDUKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICLtjIzsnbwg64K067aA7JmAIO2MjOydvCDsgqzsnbTsnZgg67O17IKs65CcIOykhOydhCDssL7sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUxCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNgogbXNnaWQgIkZpbmQgbGluZSBtb3ZlbWVudHMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIu2MjOydvCDrgrTrtoDsmYAg7YyM7J28IOyCrOydtOydmCDsmK7qsqjsp4Qg7KSE7J2EIOywvuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA3CiBtc2dpZCAibixtIgogbXNnc3RyICJuLG0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUyCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNwogbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJuLG3spIQgKDHrsogg7KSE67aA7YSwIOyLnOyekSkg7IKs7J207J2YIOuylOychOunjCDsspjrpqwiCiAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjU0Cittc2dpZCAiLS1wcm9ncmVzcyBjYW4ndCBiZSB1c2VkIHdpdGggLS1pbmNyZW1lbnRhbCBvciBwb3JjZWxhaW4gZm9ybWF0cyIKK21zZ3N0ciAiIgorIi0tcHJvZ3Jlc3Mg7Ji17IWY7J2AIC0taW5jcmVtZW50YWwg7Ji17IWY7J2064KYIO2PrOyKpOugiOyduCDtmJXsi53sl5DshJwg7IKs7Jqp7ZWgIOyImCDsl4bsirXri4jri6QiCisKICMuIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlIG1heGltdW0KICMuIGRpc3BsYXkgd2lkdGggZm9yIGEgcmVsYXRpdmUgdGltZXN0YW1wIGluICJnaXQgYmxhbWUiCiAjLiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMSBtb250aHMgYWdvIiwgd2hpY2gKICMuIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QgYW1vbmcgdmFyaW91cyBmb3JtcyBvZgogIy4gcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0IHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvcgogIy4gZmV3ZXIgZGlzcGxheSBjb2x1bW5zLgotIzogYnVpbHRpbi9ibGFtZS5jOjI2NDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNzAwCiBtc2dpZCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIKIG1zZ3N0ciAiNOuFhCAxMeuLrCDsoIQiCiAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNzgwCittc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKK21zZ3N0ciAiLS1jb250ZW50cyDrsI8gLS1yZXZlcnNlIOyYteyFmOydgCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukLiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MDAKK21zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCittc2dzdHIgIi0tY29udGVudHMg7Ji17IWY7J2EIOuniOyngOuniSDsmKTruIzsoJ3tirgg7J2066aE7JeQIOyCrOyaqe2VoCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjgwNQorbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKK21zZ3N0ciAiIgorIi0tcmV2ZXJzZSDrsI8gLS1maXJzdC1wYXJlbnQg7Ji17IWY7J2EIOqwmeydtCDsk7DrqbQg7LWc6re8IOy7pOuwi+ydhCDsp4DsoJXtlbTslbwg7ZWp64uI64ukIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjgzMgorbXNnaWQgIiIKKyItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCittc2dzdHIgIiIKKyItLXJldmVyc2Ug67CPIC0tZmlyc3QtcGFyZW50IOyYteyFmOydhCDqsJnsnbQg7JOw66m0IOy1nOy0iC3sg4HsnIQg7LK07J246rO8IOuylOychOqwgCDtlYTsmpTtlanri4giCisi64ukIgorCisjOiBidWlsdGluL2JsYW1lLmM6Mjg0MworIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHBhdGggJXMgaW4gJXMiCittc2dzdHIgIiVzIOqyveuhnOqwgCAlcyDslYjsl5Ag7JeG7Iq164uI64ukIgorCisjOiBidWlsdGluL2JsYW1lLmM6Mjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgorbXNnc3RyICIlcyDqsr3roZzsl5Ag64yA7ZW0ICVzIOu4lOuhreydhCDsnb3snYQg7IiYIOyXhuydjCIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZSIKK21zZ2lkX3BsdXJhbCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZXMiCittc2dzdHJbMF0gIiVzIO2MjOydvOyXkOuKlCDspITsnbQgJWx16rCcIOu/kOyeheuLiOuLpCIKKwogIzogYnVpbHRpbi9icmFuY2guYzoyNgogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPOyYteyFmD5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCkBAIC0zODg5LDExOCArNDc5OSwxMjUgQEAKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiJXMg67iM656c7LmYIOyCreygnCAo6rO86rGwICVzKS5cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogZ29uZV0iCiBtc2dzdHIgIlslczog7IKs65287KeQXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslc10iCiBtc2dzdHIgIlslc10iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE5CisjOiBidWlsdGluL2JyYW5jaC5jOjMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogJWTqsJwg65KkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIltiZWhpbmQgJWRdIgogbXNnc3RyICJbJWTqsJwg65KkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWRdIgogbXNnc3RyICJbJXM6ICVk6rCcIOyVnl0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI3CisjOiBidWlsdGluL2JyYW5jaC5jOjMzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWRdIgogbXNnc3RyICJbJWTqsJwg7JWeXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogJWTqsJwg7JWeLCAlZOqwnCDrkqRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMworIzogYnVpbHRpbi9icmFuY2guYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2FoZWFkICVkLCBiZWhpbmQgJWRdIgogbXNnc3RyICJbJWTqsJwg7JWeLCAlZOqwnCDrkqRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjM0NgorIzogYnVpbHRpbi9icmFuY2guYzozNDkKIG1zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgogbXNnc3RyICIgKioqKiDsnpjrqrvrkJwg66CI7Y2865+w7IqkICoqKioiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzcyCisjOiBidWlsdGluL2JyYW5jaC5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCiBtc2dzdHIgIijruIzrnpzsuZgg7JeG7J2MLCAlcyDrpqzrsqDsnbTsiqQpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjM3NQorIzogYnVpbHRpbi9icmFuY2guYzozNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgogbXNnc3RyICIo67iM656c7LmYIOyXhuydjCwg7J2065Ox67aEICVz7JeQ7IScIOyLnOyekSkiCiAKICMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCiAjLiAiSEVBRCBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCi0jOiBidWlsdGluL2JyYW5jaC5jOjM4MQorIzogYnVpbHRpbi9icmFuY2guYzozODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgogbXNnc3RyICIoSEVBRCAlcyDsnITsuZjsl5DshJwg67aE66as65CoKSIKIAogIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKICMuICJIRUFEIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgogbXNnc3RyICIoSEVBRCAlcyjsnLwp66Gc67aA7YSwIOu2hOumrOuQqCkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzkwCisjOiBidWlsdGluL2JyYW5jaC5jOjM5MwogbXNnaWQgIihubyBicmFuY2gpIgogbXNnc3RyICIo67iM656c7LmYIOyXhuydjCkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQxCisjOiBidWlsdGluL2JyYW5jaC5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgcmViYXNlZCBhdCAlcyIKIG1zZ3N0ciAiJXMg67iM656c7LmY66W8ICVzIOychOy5mOyXkCDrpqzrsqDsnbTsiqTtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ1CisjOiBidWlsdGluL2JyYW5jaC5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgYmlzZWN0ZWQgYXQgJXMiCiBtc2dzdHIgIiVzIOu4jOuenOy5mOulvCAlcyDsnITsuZjsl5DshJwgYmlzZWN07ZWp64uI64ukIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU2MAorIzogYnVpbHRpbi9icmFuY2guYzo1NjMKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAi67iM656c7LmYIOychOyXkCDsl4bsnLzrqbTshJwg7ZiE7J6sIOu4jOuenOy5mCDsnbTrpoTsnYQg67CU6r+AIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU3MAorIzogYnVpbHRpbi9icmFuY2guYzo1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAi7J6Y66q765CcIOu4jOuenOy5mCDsnbTrpoQ6ICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg3CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MAogbXNnaWQgIkJyYW5jaCByZW5hbWUgZmFpbGVkIgogbXNnc3RyICLruIzrnpzsuZgg7J2066aEIOuwlOq+uOq4sCDsi6TtjKgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkxCisjOiBidWlsdGluL2JyYW5jaC5jOjU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKIG1zZ3N0ciAi7J2066aE7J20IOyemOuqu+uQnCAnJXMnIOu4jOuenOy5mOydmCDsnbTrpoTsnYQg64uk66W06rKMIOuwlOq/ieuLiOuLpCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgIuu4jOuenOy5mCDsnbTrpoTsnYQgJXMo7Jy8KeuhnCDrsJTqvrjsp4Drp4wsIEhFQUTrpbwg7JeF642w7J207Yq47ZWY7KeAIOyViuyKteuLiOuLpCEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAxCisjOiBidWlsdGluL2JyYW5jaC5jOjYwNAogbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAi67iM656c7LmY7J2YIOydtOumhOydhCDrsJTqvrjsp4Drp4wsIGNvbmZpZy1maWxlIOyXheuNsOydtO2KuOqwgCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIzCi1tc2dpZCAiY291bGQgbm90IHdyaXRlIGJyYW5jaCBkZXNjcmlwdGlvbiB0ZW1wbGF0ZSIKLW1zZ3N0ciAi67iM656c7LmYIOyEpOuqhSDshJzsi53snYQg7JO4IOyImCDsl4bsirXri4jri6QiCisjOiBidWlsdGluL2JyYW5jaC5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGxlYXNlIGVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoXG4iCisiICAlc1xuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIHN0cmlwcGVkLlxuIgorbXNnc3RyICIiCisi64uk7J2MIOu4jOuenOy5mOyXkCDrjIDtlZwg7ISk66qF7J2EIOyTsOyLreyLnOyYpDpcbiIKKyIgICVzXG4iCisiJyVjJyDrrLjsnpDroZwg7Iuc7J6R7ZWY64qUIOykhOydgCDrrLTsi5zrkKnri4jri6QuXG4iCiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUxCiBtc2dpZCAiR2VuZXJpYyBvcHRpb25zIgpAQCAtNDAzMSw2ICs0OTQ4LDEwIEBACiBtc2dpZCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICLsl4XsiqTtirjrprwg7KCV67O066W8IOuwlOq/ieuLiOuLpCIKIAorIzogYnVpbHRpbi9icmFuY2guYzo2NjAKK21zZ2lkICJVbnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKK21zZ3N0ciAi7JeF7Iqk7Yq466a8IOygleuztOulvCDtlbTsoJztlanri4jri6QiCisKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYxCiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICLsl6zrn6wg7IOJ7Jy866GcIOy2nOugpe2VqeuLiOuLpCIKQEAgLTQxMDMsOCArNTAyNCw4IEBACiBtc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgogbXNnc3RyICLsoJXroKztlZwg6riw7KSA7J20IOuQmOuKlCDtlYTrk5wg7J2066aEIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDEKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDQgYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL25vdGVzLmM6NTY3CisjOiBidWlsdGluL2JyYW5jaC5jOjY4NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDcgYnVpbHRpbi9ub3Rlcy5jOjU2NyBidWlsdGluL25vdGVzLmM6NTcwCiAjOiBidWlsdGluL3RhZy5jOjM2OQogbXNnaWQgIm9iamVjdCIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq4IgpAQCAtNDExNyw3ICs1MDM4LDcgQEAKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiSEVBROulvCDsmKzrsJTrpbgg66CI7Y2865+w7Iqk66GcIOq1rO2VtOuCtOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2Nsb25lLmM6NzA3CisjOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2Nsb25lLmM6NzA2CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIuugiO2NvOufsOyKpC/tl6Trk5wg7JWE656Y7JeQIEhFQUTqsIAg7JeG7Iq164uI64ukISIKIApAQCAtNDIyOSw2NCArNTE1MCw4MCBAQAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAi67KI65Ok7J2EIO2VtOygnO2VmOugpOuptCDsoIDsnqXshozqsIAg7ZWE7JqU7ZWp64uI64ukLiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQyOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxMwogbXNnaWQgIiIKLSJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV18LXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXXwtZXwtcHwiCi0iPHR5cGU+fC0tdGV4dGNvbnYpIDxvYmplY3Q+IgorImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCisicCB8IDx0eXBlPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PHBhdGg+XSA8b2JqZWN0PiIKIG1zZ3N0ciAiIgotImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXXwtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdfC1lfC1wfDzsooXrpZgiCi0iPnwtLXRleHRjb252KSA87Jik67iM7KCd7Yq4PiIKKyJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgorInAgfCA87KKF66WYPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9POqyveuhnD5dIDzsmKTruIzsoJ3tirg+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDI5Ci1tc2dpZCAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSIKLW1zZ3N0ciAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MTQKK21zZ2lkICIiCisiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgorImZpbHRlcnNdIgorbXNnc3RyICIiCisiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgorImZpbHRlcnNdIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDY2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTUxCiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICI87KKF66WYPuuKlCDri6TsnYwg7KSRIO2VmOuCmOqwgCDrkKAg7IiYIOyeiOyKteuLiOuLpDogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NjcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTIKIG1zZ2lkICJzaG93IG9iamVjdCB0eXBlIgogbXNnc3RyICLsmKTruIzsoJ3tirgg7KKF66WY66W8IOu0heuLiOuLpCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ2OAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MwogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgIuyYpOu4jOygne2KuCDtgazquLDrpbwg67SF64uI64ukIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDcwCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU1CiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICLsmKTrpZjqsIAg7JeG7J2EIOuVjCAw7J2EIOumrO2EtO2VmOqzoCDrgZ3rg4Xri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTYKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq47J2YIOuCtOyaqeydhCDsmIjsgZjqsowg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDczCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU4CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIuu4lOuhrSDsmKTruIzsoJ3tirjsl5Ag64yA7ZW07ISc64qULCDsmKTruIzsoJ3tirjsnZgg64K07Jqp7JeQIOuMgO2VtCB0ZXh0Y29uduulvCDsi6Ttlontlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjAKK21zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgorbXNnc3RyICLruJTroa0g7Jik67iM7KCd7Yq47JeQIOuMgO2VtOyEnOuKlCwg7Jik67iM7KCd7Yq47J2YIOuCtOyaqeyXkCDrjIDtlbQg7ZWE7YSw66W8IOyLpO2Wie2VqeuLiOuLpCIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MSBnaXQtc3VibW9kdWxlLnNoOjkyMworbXNnaWQgImJsb2IiCittc2dzdHIgIuu4lOuhrSIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MgorbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgorbXNnc3RyICItLXRleHRjb252Ly0tZmlsdGVycyDsmLXshZjsl5Ag6rK966Gc66W8IOyngOygle2VqeuLiOuLpCIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NAogbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKIG1zZ3N0ciAiLXMg67CPIC10IOyYteyFmOydtCDshpDsg4HrkJwg7Jik67iM7KCd7Yq47JeQIOuMgO2VtCDrj5nsnpHtlZjrj4TroZ0g7ZeI7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDc2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY1CiBtc2dpZCAiYnVmZmVyIC0tYmF0Y2ggb3V0cHV0IgogbXNnc3RyICItLWJhdGNoIOy2nOugpeyXkCDrjIDtlbQg67KE7Y2866eB7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDc4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY3CiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLtkZzspIAg7J6F66Cl7JeQ7IScIOyeheugpeuQnCDsmKTruIzsoJ3tirjsnZgg7KCV67O07JmAIOuCtOyaqeydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0ODEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzAKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIu2RnOykgCDsnoXroKXsl5DshJwg7J6F66Cl65CcIOyYpOu4jOygne2KuOydmCDsoJXrs7Trpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDg0CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTczCiBtc2dpZCAiZm9sbG93IGluLXRyZWUgc3ltbGlua3MgKHVzZWQgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2spIgogbXNnc3RyICIiCiAi7Yq466asIOuCtOu2gOydmCDsi6zrs7zrpq0g66eB7YGs66W8IOuUsOudvOqwkeuLiOuLpCAoLS1iYXRjaCDrmJDripQgLS1iYXRjaC1jaGVja+yZgCDqsJnsnbQg7IKs7JqpKSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ4NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NQogbXNnaWQgInNob3cgYWxsIG9iamVjdHMgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2siCiBtc2dzdHIgIi0tYmF0Y2gg65iQ64qUIC0tYmF0Y2gtY2hlY2vsl5DshJwg66qo65OgIOyYpOu4jOygne2KuOulvCDtkZzsi5ztlanri4jri6QiCiAKQEAgLTQzMDYsNyArNTI0Myw3IEBACiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIuyduOuNseyKpOyXkOyEnOunjCAuZ2l0YXR0cmlidXRlc+ulvCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk3CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIyIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAogbXNnaWQgInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIgogbXNnc3RyICLtkZzspIAg7J6F66Cl7JeQ7IScIO2MjOydvCDsnbTrpoTsnYQg7J297Iq164uI64ukIgogCkBAIC00MzE0LDcgKzUyNTEsNyBAQAogbXNnaWQgInRlcm1pbmF0ZSBpbnB1dCBhbmQgb3V0cHV0IHJlY29yZHMgYnkgYSBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICJOVUwg66y47J6Q66W8IOq4sOykgOycvOuhnCDsnpDro4wg7J6F66ClIOuwjyDstpzroKXsnYQg66mI7Lal64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM1IGJ1aWx0aW4vZ2MuYzozMjUKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjExMzcgYnVpbHRpbi9nYy5jOjMyNQogbXNnaWQgInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAi7KeE7ZaJIOyDge2ZqSDtkZzsi5zrpbwg7ZWY7KeAIOyViuyKteuLiOuLpCIKIApAQCAtNDQwNCw5ICs1MzQxLDkgQEAKIG1zZ3N0ciAi64K07Jqp7J2EIOyehOyLnCDtjIzsnbzsl5Ag7JSB64uI64ukIgogCiAjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0IGJ1aWx0aW4vY29sdW1uLmM6MzAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTAwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ2OQogbXNnaWQgInN0cmluZyIKIG1zZ3N0ciAi66y47J6Q7Je0IgogCkBAIC00NDcyLDYzICs1NDA5LDU5IEBACiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgogbXNnc3RyICLqsr3roZzrpbwg7JeF642w7J207Yq47ZWY6rOgICclcycg67iM656c7LmY66GcIOyghO2ZmO2VmOuKlCDsnbzsnYAg64+Z7Iuc7JeQIO2VoCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3OSBidWlsdGluL2NoZWNrb3V0LmM6NDczCi1tc2dpZCAiY29ycnVwdCBpbmRleCBmaWxlIgotbXNnc3RyICLshpDsg4HrkJwg7J24642x7IqkIO2MjOydvCIKLQogIzogYnVpbHRpbi9jaGVja291dC5jOjMzOSBidWlsdGluL2NoZWNrb3V0LmM6MzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKIG1zZ3N0ciAiJyVzJyDqsr3roZzrpbwg67OR7ZWp7ZWY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NQorIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NAogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICLtmITsnqwg7J24642x7Iqk66W8IOuovOyggCDtlbTqsrDtlbTslbwg7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjIyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICInJXMn7JeQIOuMgO2VtCByZWZsb2ftlaAg7IiYIOyXhuyKteuLiOuLpDogJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjY2MwogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFE7J2YIO2YhOyerCDsnITsuZjripQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjQgYnVpbHRpbi9jbG9uZS5jOjY2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjY2NyBidWlsdGluL2Nsb25lLmM6NjYwCiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBIRUFEIgogbXNnc3RyICJIRUFE66W8IOyXheuNsOydtO2KuO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIiclcycg67iM656c7LmYIOumrOyFi1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjcxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICLsnbTrr7ggJyVzJ+yXkCDsnojsirXri4jri6RcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiJyVzJyDruIzrnpzsuZjroZwg7KCE7ZmY7ZWY6rOgIOumrOyFi+2VqeuLiOuLpFxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIuyDiOuhnCDrp4zrk6AgJyVzJyDruIzrnpzsuZjroZwg7KCE7ZmY7ZWp64uI64ukXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiJyVzJyDruIzrnpzsuZjroZwg7KCE7ZmY7ZWp64uI64ukXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiDqt7jrpqzqs6AgJWTqsJwg642ULlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtNDU0Niw3ICs1NDc5LDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTQ1NjcsMTUxICs1NTAwLDE1MSBAQAogIiBnaXQgYnJhbmNoIDzsg4gt67iM656c7LmYLeydtOumhD4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjc5NAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgIuumrOu5hOyghCB3YWxr7JeQIOuCtOu2gCDsmKTrpZgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTgKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAi7J207KCEIEhFQUQg7JyE7LmY64qUIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODIzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODI1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY0CiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAi7ZiE7J6sIOychOy5mOqwgCDrp4zrk6Qg7JiI7KCV7J24IOu4jOuenOy5mOyXkCDsnojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgIu2VmOuCmOydmCDroIjtjbzrn7DsiqTrp4wg7KeA7KCV7ZW07JW8IO2VmOyngOunjCAlZOqwnOulvCDsp4DsoJXtlojsirXri4jri6QuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwOCBidWlsdGluL3dvcmt0cmVlLmM6MjEyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxMCBidWlsdGluL3dvcmt0cmVlLmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAi7J6Y66q765CcIOugiO2NvOufsOyKpDogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgIuugiO2NvOufsOyKpOqwgCDtirjrpqzqsIAg7JWE64uZ64uI64ukOiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc4CiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIuu4jOuenOy5mOulvCDsoITtmZjtlZjripTrjbAg6rK966Gc66W8IOyCrOyaqe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3OSBidWlsdGluL2NoZWNrb3V0LmM6MTA4MworIzogYnVpbHRpbi9jaGVja291dC5jOjEwODEgYnVpbHRpbi9jaGVja291dC5jOjEwODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiJyVzJyDsmLXshZjsnYAg67iM656c7LmY66W8IOyghO2ZmO2VoCDrlYwg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODkgYnVpbHRpbi9jaGVja291dC5jOjEwOTIgYnVpbHRpbi9jaGVja291dC5jOjEwOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICInJXMnIOyYteyFmOydgCAnJXMnIOyYteyFmOqzvCDqsJnsnbQg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKIG1zZ3N0ciAi67iM656c7LmY66W8IOy7pOuwi+ydtCDslYTri4wgJyVzJyjsnLwp66GcIOyghO2ZmO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOCBidWlsdGluL2Nsb25lLmM6ODgKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTY3IGJ1aWx0aW4vd29ya3RyZWUuYzozMjMKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQwIGJ1aWx0aW4vY2xvbmUuYzo5MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjUgYnVpbHRpbi9yZW1vdGUuYzoxNjcgYnVpbHRpbi93b3JrdHJlZS5jOjMyNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNgogbXNnaWQgImJyYW5jaCIKIG1zZ3N0ciAi67iM656c7LmYIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNworIzogYnVpbHRpbi9jaGVja291dC5jOjExMzkKIG1zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi7IOIIOu4jOuenOy5mOulvCDrp4zrk6Tqs6Ag6rCA7KC47Ji164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDEKIG1zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgogbXNnc3RyICLruIzrnpzsuZjrpbwg66eM65Ok6rGw64KYIOumrOyFi+2VmOqzoCDqsIDsoLjsmLXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MgogbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgIuyDiCDruIzrnpzsuZjsl5Ag64yA7ZWcIHJlZmxvZ+ulvCDrp4zrk63ri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQxCi1tc2dpZCAiZGV0YWNoIHRoZSBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKLW1zZ3N0ciAi7KeA7KCV7ZWcIOy7pOuwi+yXkOyEnCBIRUFE66W8IOu2hOumrO2VqeuLiOuLpCIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQzIGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKK21zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCittc2dzdHIgIkhFQUTrpbwg7ZW064u5IOy7pOuwi+yXkOyEnCDrtoTrpqztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NAogbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICLsg4gg67iM656c7LmY7JeQIOuMgO2VnCDsl4XsiqTtirjrprwg7KCV67O066W8IOyEpOygle2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2CiBtc2dpZCAibmV3LWJyYW5jaCIKIG1zZ3N0ciAi7IOILeu4jOuenOy5mCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2CiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICLsg4HsnIQg67iM656c7LmY6rCAIOyXhuuKlCDsg4gg67iM656c7LmYIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDcKIG1zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgIuuzke2VqeuQmOyngCDslYrsnYAg7YyM7J287JeQIOuMgO2VtCDsmrDrpqzsqr0g67KE7KCE7J2EIOqwgOyguOyYteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CiBtc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgIuuzke2VqeuQmOyngCDslYrsnYAg7YyM7J287JeQIOuMgO2VtCDsg4HrjIDtjrgg67KE7KCE7J2EIOqwgOyguOyYteuLiOuLpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUxCiBtc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCiBtc2dzdHIgIuqwleygnOuhnCDssrTtgazslYTsm4Ptlanri4jri6QgKOuhnOy7rOyXkOyEnCDsiJjsoJXtlZwg7IKs7ZWt7J2EIOuyhOumveuLiOuLpCkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MgogbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgogbXNnc3RyICLsg4gg67iM656c7LmY7JeQIOuMgO2VtCAzLeuwqe2WpSDrs5HtlansnYQg7IiY7ZaJ7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MSBidWlsdGluL21lcmdlLmM6MjMwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MyBidWlsdGluL21lcmdlLmM6MjMxCiBtc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgogbXNnc3RyICLrrLTsi5ztlZjripQg7YyM7J287J2EIOyXheuNsOydtO2KuO2VqeuLiOuLpCAo6riw67O46rCSKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTIgYnVpbHRpbi9sb2cuYzoxNDMyIHBhcnNlLW9wdGlvbnMuaDoyNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU0IGJ1aWx0aW4vbG9nLmM6MTQ2NiBwYXJzZS1vcHRpb25zLmg6MjUxCiBtc2dpZCAic3R5bGUiCiBtc2dzdHIgIuyKpO2DgOydvCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU1CiBtc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKIG1zZ3N0ciAi7Lap64+MIOyKpO2DgOydvCAobWVyZ2Ug65iQ64qUIGRpZmYzKSIKIAogIyBGSVhNRTog7J2Y66+4IOu2iOuqhQotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU4CiBtc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgogbXNnc3RyICLqsr3roZzrqoXshLjrpbwg65Oc66y4IO2VreuqqeyXkOunjCDsoJztlZztlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKIG1zZ3N0ciAiJ2dpdCBjaGVja291dCA87JeG64qULeu4jOuenOy5mD4n7JeQIOuMgO2VtCDstpTsuKHtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MgogbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKIG1zZ3N0ciAi64uk66W4IOyekeyXhe2PtOuNlOyXkCDso7zslrTsp4Qg66CI7Y2865+w7Iqk6rCAIOyeiOuKlOyngCDtmZXsnbjtlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MSBidWlsdGluL2Nsb25lLmM6NjAgYnVpbHRpbi9mZXRjaC5jOjExNgotIzogYnVpbHRpbi9tZXJnZS5jOjIyNyBidWlsdGluL3B1bGwuYzoxMTYgYnVpbHRpbi9wdXNoLmM6NTI2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MyBidWlsdGluL2Nsb25lLmM6NjMgYnVpbHRpbi9mZXRjaC5jOjExOQorIzogYnVpbHRpbi9tZXJnZS5jOjIyOCBidWlsdGluL3B1bGwuYzoxMTcgYnVpbHRpbi9wdXNoLmM6NTM2CiAjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2OAogbXNnaWQgImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAi6rCV7KCc66GcIOynhO2WiSDsg4HtmansnYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExOTQKIG1zZ2lkICItYiwgLUIgYW5kIC0tb3JwaGFuIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiDrsI8gLS1vcnBoYW4g7Ji17IWY7J2AIOyEnOuhnCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwOQorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTEKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tdHJhY2sg7Ji17IWY7J2AIOu4jOuenOy5mCDsnbTrpoTsnbQg7ZWE7JqU7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTYKIG1zZ2lkICJNaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiCiBtc2dzdHIgIuu4jOuenOy5mCDsnbTrpoTsnbQg7JeG7Iq164uI64ukLiAtYiDsmLXshZjsnYQg7IKs7Jqp7ZW0IOuztOyLreyLnOyYpCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUyCiBtc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIuqyveuhnCDrqoXshLjqsIAg7J6Y66q765CY7JeI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NworIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLlxuIgpAQCAtNDcyMCwxMiArNTY1MywxMiBAQAogIuuPmeyLnOyXkCDqsr3roZzrpbwg7JeF642w7J207Yq47ZWY6rOgICclcycg67iM656c7LmY66GcIOyghO2ZmO2VoCDsiJgg7JeG7Iq164uI64ukLlxuIgogIuy7pOuwi+ydhCDtmZXsnbjtlaAg7IiYIOyXhuuKlCAnJXMn7J2EKOulvCkg6rCA7KC47Jik66Ck6rOgIO2VmOyFqOyKteuLiOq5jD8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCiBtc2dzdHIgImdpdCBjaGVja291dDogLS1kZXRhY2gg7Ji17IWY7J2AIOqyveuhnCDsnbjsnpDrpbwg67Cb7KeAIOyViuyKteuLiOuLpCAnJXMnIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjgKIG1zZ2lkICIiCiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgYW5kIC0tbWVyZ2UgYXJlIGluY29tcGF0aWJsZSB3aGVuXG4iCiAiY2hlY2tpbmcgb3V0IG9mIHRoZSBpbmRleC4iCkBAIC00ODc2LDggKzU4MDksOCBAQAogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAi7KCE7LK0IOuUlOugie2EsOumrCDsoJzqsbAiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9kZXNjcmliZS5jOjQwNyBidWlsdGluL2dyZXAuYzo3MjQKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTYgYnVpbHRpbi9uYW1lLXJldi5jOjMxNCBidWlsdGluL3Nob3ctcmVmLmM6MTgyCisjOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMgYnVpbHRpbi9zaG93LXJlZi5jOjE4MgogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgIu2MqO2EtCIKIApAQCAtNDkxNywxMTIgKzU4NTAsMTMwIEBACiBtc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbPOyYteyFmD5dIFstLV0gPOyggOyepeyGjD4gWzzrlJTroInthLDrpqw+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYyCisjOiBidWlsdGluL2Nsb25lLmM6NjUKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAi7LK07YGs7JWE7JuD7J2EIOunjOuTpOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MyBidWlsdGluL2Nsb25lLmM6NjUgYnVpbHRpbi9pbml0LWRiLmM6NDczCisjOiBidWlsdGluL2Nsb25lLmM6NjYgYnVpbHRpbi9jbG9uZS5jOjY4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OAogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi6rCE65617ZWcIOyggOyepeyGjOulvCDrp4zrk63ri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NworIzogYnVpbHRpbi9jbG9uZS5jOjcwCiBtc2dpZCAiY3JlYXRlIGEgbWlycm9yIHJlcG9zaXRvcnkgKGltcGxpZXMgYmFyZSkiCiBtc2dzdHIgIuuvuOufrCDsoIDsnqXshozrpbwg66eM65Ot64uI64ukICjqsITrnrXtlZwg7KCA7J6l7IaM66GcIOy3qOq4iSkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2OQorIzogYnVpbHRpbi9jbG9uZS5jOjcyCiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuuhnOy7rCDsoIDsnqXshozsl5DshJwg67O17KCc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NAogbXNnaWQgImRvbid0IHVzZSBsb2NhbCBoYXJkbGlua3MsIGFsd2F5cyBjb3B5IgogbXNnc3RyICLroZzsu6wg7ZWY65Oc66eB7YGs66W8IOyCrOyaqe2VmOyngCDslYrqs6AsIO2VreyDgSDrs7Xsgqztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MworIzogYnVpbHRpbi9jbG9uZS5jOjc2CiBtc2dpZCAic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuqzteycoCDsoIDsnqXshozroZwg7ISk7KCV7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzUgYnVpbHRpbi9jbG9uZS5jOjc3CisjOiBidWlsdGluL2Nsb25lLmM6NzggYnVpbHRpbi9jbG9uZS5jOjgwCiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAi67O17KCc7ZWcIOqysOqzvOusvOyXkOyEnCDtlZjsnIQg66qo65OI7J2EIOy0iOq4sO2ZlO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc5CisjOiBidWlsdGluL2Nsb25lLmM6ODIKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBjbG9uZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIuuzkeugrOyggeycvOuhnCDrs7XsoJztlZjripQg7ZWY7JyE66qo65OIIOqwnOyImCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3MAorIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NQogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAi7ISc7IudLeuUlOugie2EsOumrCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgxIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3MQorIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgIuyEnOyLneydhCDsgqzsmqntlaAg65SU66CJ7YSw66asIOychOy5mCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTgKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2Nsb25lLmM6ODggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1NAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5IgogbXNnc3RyICLroIjtjbzrn7DsiqQg7KCA7J6l7IaMIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MAogbXNnaWQgInVzZSAtLXJlZmVyZW5jZSBvbmx5IHdoaWxlIGNsb25pbmciCiBtc2dzdHIgIuuzteygnO2VoCDqsr3smrDsl5Drp4wgLS1yZWZlcmVuY2Xrpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAorIzogYnVpbHRpbi9jbG9uZS5jOjkxIGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKIG1zZ2lkICJuYW1lIgogbXNnc3RyICLsnbTrpoQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NworIzogYnVpbHRpbi9jbG9uZS5jOjkyCiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgogbXNnc3RyICLsl4XsiqTtirjrprwg7LaU7KCB7JeQICdvcmlnaW4nIOuMgOyLoCA87J2066aEPuydhCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OQorIzogYnVpbHRpbi9jbG9uZS5jOjk0CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAi66as66qo7Yq47J2YIEhFQUQg64yA7IugIDzruIzrnpzsuZg+66W8IOqwgOyguOyYteuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxCisjOiBidWlsdGluL2Nsb25lLmM6OTYKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICLrpqzrqqjtirjsnZggZ2l0LXVwbG9hZC1wYWNrIOqyveuhnCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyIGJ1aWx0aW4vZmV0Y2guYzoxMTcgYnVpbHRpbi9ncmVwLmM6NjY3IGJ1aWx0aW4vcHVsbC5jOjIwMQorIzogYnVpbHRpbi9jbG9uZS5jOjk3IGJ1aWx0aW4vZmV0Y2guYzoxMjAgYnVpbHRpbi9ncmVwLmM6NjY4CisjOiBidWlsdGluL3B1bGwuYzoyMDIKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAi6rmK7J20IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OAogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKIG1zZ3N0ciAi7KeA7KCV7ZWcIOq5iuydtOydmCDslpXsnYAg67O17KCc66W8IOunjOuTreuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1CisjOiBidWlsdGluL2Nsb25lLmM6OTkgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDgKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNDIKK21zZ2lkICJ0aW1lIgorbXNnc3RyICLsi5zqsIEiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKK21zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIHNpbmNlIGEgc3BlY2lmaWMgdGltZSIKK21zZ3N0ciAi7KeA7KCV7ZWcIOyLnOqwhCDsnbTtm4TsnZgg7JaV7J2AIOuzteygnOulvCDrp4zrk63ri4jri6QiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEgYnVpbHRpbi9mZXRjaC5jOjEyNAorbXNnaWQgInJldmlzaW9uIgorbXNnc3RyICLrpqzruYTsoIQiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIgYnVpbHRpbi9mZXRjaC5jOjEyNQorbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUgYnkgZXhjbHVkaW5nIHJldiIKK21zZ3N0ciAi66CI7Y2865+w7Iqk66W8IOygnOyZuO2VtCDslpXsnYAg67O17KCc7J2YIOy7pOuwiyDrgrTsl63snYQg6rmK6rKMIOunjOuTreuLiOuLpCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwNAogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAi7ZWY64KY7J2YIOu4jOuenOy5mOunjCDrs7XsoJztlanri4jri6QgKEhFQUQg65iQ64qUIC0tYnJhbmNo66GcIOyngOyglSkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NworIzogYnVpbHRpbi9jbG9uZS5jOjEwNgogbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIGJlIHNoYWxsb3ciCiBtc2dzdHIgIuuqqOuToCDrs7XsoJztlZwg7ZWY7JyEIOuqqOuTiOydgCDslpXsnYAg66qo65OI7J6F64uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTggYnVpbHRpbi9pbml0LWRiLmM6NDc5CisjOiBidWlsdGluL2Nsb25lLmM6MTA3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NAogbXNnaWQgImdpdGRpciIKIG1zZ3N0ciAiZ2l0ZGlyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkgYnVpbHRpbi9pbml0LWRiLmM6NDgwCisjOiBidWlsdGluL2Nsb25lLmM6MTA4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIuq5gyDrlJTroInthLDrpqzrpbwg7J6R7JeFIO2PtOuNlOyZgCDrs4TqsJzsnZgg7JyE7LmY7JeQIOuGk+yKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMAorIzogYnVpbHRpbi9jbG9uZS5jOjEwOQogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAi7YKkPeqwkiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMQorIzogYnVpbHRpbi9jbG9uZS5jOjExMAogbXNnaWQgInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi7IOIIOyggOyepeyGjCDslYjsl5DshJwg7ISk7KCV7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMzEgYnVpbHRpbi9wdXNoLmM6NTM2CisjOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vZmV0Y2guYzoxNDAgYnVpbHRpbi9wdXNoLmM6NTQ3CiBtc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgIklQdjQg7KO87IaM66eMIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNCBidWlsdGluL2ZldGNoLmM6MTMzIGJ1aWx0aW4vcHVzaC5jOjUzOAorIzogYnVpbHRpbi9jbG9uZS5jOjExMyBidWlsdGluL2ZldGNoLmM6MTQyIGJ1aWx0aW4vcHVzaC5jOjU0OQogbXNnaWQgInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICJJUHY2IOyjvOyGjOunjCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNTAKIG1zZ2lkICIiCiAiTm8gZGlyZWN0b3J5IG5hbWUgY291bGQgYmUgZ3Vlc3NlZC5cbiIKICJQbGVhc2Ugc3BlY2lmeSBhIGRpcmVjdG9yeSBvbiB0aGUgY29tbWFuZCBsaW5lIgpAQCAtNTAzMCw1MyArNTk4MSw0MiBAQAogIuuUlOugie2EsOumrCDsnbTrpoTsnYQg7JWM7JWE64K8IOyImCDsl4bsirXri4jri6QuXG4iCiAi66qF66C57ZaJ7JeQ7IScIOuUlOugie2EsOumrOulvCDsp4DsoJXtlZjsi63si5zsmKQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMDcKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMDMKICMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCi1tc2dzdHIgIiIKLSLroIjtjbzrn7DsiqQgJyVzJyDsoIDsnqXshozrpbwg7Jew6rKw65CcIOyytO2BrOyVhOybg+ycvOuhnCDsk7DquLDripQg7JWE7KeBIOyngOybkO2VmOyngCDslYrsirXri4jri6QuIgorbXNnaWQgImluZm86IENvdWxkIG5vdCBhZGQgYWx0ZXJuYXRlIGZvciAnJXMnOiAlc1xuIgorbXNnc3RyICLsoJXrs7Q6ICclcyfsl5Ag64yA7ZWcIOuztOyhsCDtjIzsnbzsnYQg7LaU6rCA7ZWgIOyImCDsl4bsirXri4jri6Q6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzozNzUKICMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKLW1zZ3N0ciAi66CI7Y2865+w7IqkICclcycg7KCA7J6l7IaM6rCAIOuhnOy7rCDsoIDsnqXshozqsIAg7JWE64uZ64uI64ukLiIKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgorbXNnc3RyICInJXMn7J2EKOulvCkg7Jes64qU642wIOyLpO2MqCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMxNAotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCi1tc2dzdHIgIuugiO2NvOufsOyKpCAnJXMnIOyggOyepeyGjOqwgCDslpXsnYAg7KCA7J6l7IaM7J6F64uI64ukIgotCi0jOiBidWlsdGluL2Nsb25lLmM6MzE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKLW1zZ3N0ciAi66CI7Y2865+w7IqkICclcycg7KCA7J6l7IaM6rCAIOu2meyWtCDsnojripQg7KCA7J6l7IaM7J6F64uI64ukIgotCi0jOiBidWlsdGluL2Nsb25lLmM6Mzg0CisjOiBidWlsdGluL2Nsb25lLmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGV4aXN0cyBhbmQgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICInJXMn7J20KOqwgCkg7J6I7KeA66eMIOuUlOugie2EsOumrOqwgCDslYTri5nri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozOTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzozOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXNcbiIKIG1zZ3N0ciAiJyVzJ+yXkCDrjIDtlbQgc3RhdCgp7J20IOyLpO2MqO2WiOyKteuLiOuLpFxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDIwCisjOiBidWlsdGluL2Nsb25lLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIgogbXNnc3RyICInJXMnIOunge2BrOulvCDrp4zrk5zripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDI0CisjOiBidWlsdGluL2Nsb25lLmM6NDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKIG1zZ3N0ciAi7YyM7J287J2EICclcyco7Jy8KeuhnCDrs7XsgqztlZjripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDQ5IGJ1aWx0aW4vY2xvbmUuYzo2MzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAi7JmE66OMLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDYxCisjOiBidWlsdGluL2Nsb25lLmM6NDYwCiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKQEAgLTUwODYsMTI3ICs2MDI2LDE0MiBAQAogIidnaXQgc3RhdHVzJyDrqoXroLnsnLzroZwg66y07JeH7J2EIOyytO2BrOyVhOybg+2WiOuKlOyngCDsgrTtjrTrs7wg7IiYIOyeiOqzoFxuIgogIidnaXQgY2hlY2tvdXQgLWYgSEVBRCfroZwg7LK07YGs7JWE7JuD7J2EIOuLpOyLnCDtlaAg7IiYIOyeiOyKteuLiOuLpFxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTM4CisjOiBidWlsdGluL2Nsb25lLmM6NTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgogbXNnc3RyICLrs7XsoJztlaAg66as66qo7Yq47J2YICVzIOu4jOuenOy5mOulvCDssL7snYQg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5Li4uICIKLW1zZ3N0ciAi7Jew6rKw7J2EIO2ZleyduO2VmOuKlCDspJHsnoXri4jri6QuLi4iCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2MzIKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAi66as66qo7Yq47JeQ7IScIO2VhOyalO2VnCDsmKTruIzsoJ3tirjrpbwg66qo65GQIOuztOuCtOyngCDslYrslZjsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSAlcyIKIG1zZ3N0ciAiJXPsnYQo66W8KSDsl4XrjbDsnbTtirjtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY5OAorIzogYnVpbHRpbi9jbG9uZS5jOjY5NwogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAi66as66qo7Yq4IEhFQUTqsIAg7JeG64qUIOugiO2NvOufsOyKpOulvCDssLjqs6DtlZjrr4DroZwsIOyytO2BrOyVhOybg+2VoCDsiJgg7JeG7Iq164uI64ukLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzI5CisjOiBidWlsdGluL2Nsb25lLmM6NzI4CiBtc2dpZCAidW5hYmxlIHRvIGNoZWNrb3V0IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi7J6R7JeFIO2PtOuNlOulvCDssrTtgazslYTsm4PtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2NworIzogYnVpbHRpbi9jbG9uZS5jOjc2OAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgogbXNnc3RyICLtjIzrnbzrr7jthLDrpbwg7ISk7KCVIO2MjOydvOyXkCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzMAorIzogYnVpbHRpbi9jbG9uZS5jOjgzMQogbXNnaWQgImNhbm5vdCByZXBhY2sgdG8gY2xlYW4gdXAiCiBtc2dzdHIgIuygleumrOyaqeycvOuhnCByZXBhY2vtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzMgorIzogYnVpbHRpbi9jbG9uZS5jOjgzMwogbXNnaWQgImNhbm5vdCB1bmxpbmsgdGVtcG9yYXJ5IGFsdGVybmF0ZXMgZmlsZSIKIG1zZ3N0ciAi67O07KGwIOyehOyLnCDtjIzsnbzsnYQg7IKt7KCc7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjQgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxNzMxCisjOiBidWlsdGluL2Nsb25lLmM6ODY2IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIuuEiOustCDsnbjsnpDqsIAg66eO7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2OAorIzogYnVpbHRpbi9jbG9uZS5jOjg3MAogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAi67O17KCc7ZWgIOyggOyepeyGjOulvCDsp4DsoJXtlbTslbwg7ZWp64uI64ukLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3OQorIzogYnVpbHRpbi9jbG9uZS5jOjg4MwogIywgYy1mb3JtYXQKIG1zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgIi0tYmFyZSDrsI8gLS1vcmlnaW4gJXMg7Ji17IWY7J2AIO2YuO2ZmOuQmOyngCDslYrsirXri4jri6QuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODgyCisjOiBidWlsdGluL2Nsb25lLmM6ODg2CiBtc2dpZCAiLS1iYXJlIGFuZCAtLXNlcGFyYXRlLWdpdC1kaXIgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgIi0tYmFyZSDrsI8gLS1zZXBhcmF0ZS1naXQtZGlyIOyYteyFmOydgCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5NQorIzogYnVpbHRpbi9jbG9uZS5jOjg5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIiclcycg7KCA7J6l7IaM6rCAIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkwMSBidWlsdGluL2ZldGNoLmM6MTE3NAorIzogYnVpbHRpbi9jbG9uZS5jOjkwNSBidWlsdGluL2ZldGNoLmM6MTMzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXB0aCAlcyBpcyBub3QgYSBwb3NpdGl2ZSBudW1iZXIiCiBtc2dzdHIgIuq5iuydtOqwgCglcykgMOuztOuLpCDtgbAg7IiY6rCAIOyVhOuLmeuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxMQorIzogYnVpbHRpbi9jbG9uZS5jOjkxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgogbXNnc3RyICLrjIDsg4Eg6rK966Gc6rCAKCclcycpIOydtOuvuCDsnojqs6Ag67mIIOuUlOugie2EsOumrOqwgCDslYTri5nri4jri6QuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTIxCisjOiBidWlsdGluL2Nsb25lLmM6OTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAi7J6R7JeFIO2PtOuNlOqwgCgnJXMnKSDsnbTrr7gg7J6I7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzNiBidWlsdGluL2Nsb25lLmM6OTQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NDcKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjAgYnVpbHRpbi93b3JrdHJlZS5jOjI0NworIzogYnVpbHRpbi9jbG9uZS5jOjk0MCBidWlsdGluL2Nsb25lLmM6OTUxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjIgYnVpbHRpbi93b3JrdHJlZS5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKIG1zZ3N0ciAiJyVzJ+ydmCDslZ4g65SU66CJ7YSw66as66W8IOunjOuTpCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTM5CisjOiBidWlsdGluL2Nsb25lLmM6OTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgd29yayB0cmVlIGRpciAnJXMnIgogbXNnc3RyICLsnpHsl4Ug65SU66CJ7YSw66as66W8KCclcycpIOunjOuTpCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTU3CisjOiBidWlsdGluL2Nsb25lLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byBiYXJlIHJlcG9zaXRvcnkgJyVzJy4uLlxuIgogbXNnc3RyICLqsITrnrXtlZwg7KCA7J6l7IaM66GcKCclcycpIOuzteygnO2VqeuLiOuLpC4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTU5CisjOiBidWlsdGluL2Nsb25lLmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byAnJXMnLi4uXG4iCiBtc2dzdHIgIiclcyfsl5Ag67O17KCc7ZWp64uI64ukLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjMKK21zZ2lkICIiCisiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBib3RoIC0tcmVmZXJlbmNlIGFuZCAtLXJlZmVyZW5jZS1pZi0iCisiYWJsZSIKK21zZ3N0ciAiIgorImNsb25lIC0tcmVjdXJzaXZlIOyYteyFmOydgCAtLXJlZmVyZW5jZSDrsI8gLS1yZWZlcmVuY2UtaWYtYWJsZSDsmLXshZjsnYQg6rCZ7J20IOyTsOuKlCAiCisi6rKD6rO8IO2YuO2ZmOuQmOyngCDslYrsirXri4jri6QiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDE5CiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKICItLWRlcHRoIOyYteyFmOydgCDroZzsu6wg67O17KCc7JeQ7IScIOustOyLnOuQqeuLiOuLpC4g64yA7Iug7JeQICdmaWxlOi8vJ+ydhCDsgqzsmqntlZjsi63si5zsmKQuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwMjEKK21zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICIiCisiLS1zaGFsbG93LXNpbmNlIOyYteyFmOydgCDroZzsu6wg67O17KCc7JeQ7IScIOustOyLnOuQqeuLiOuLpC4g64yA7Iug7JeQICdmaWxlOi8vJ+ydhCDsgqzsmqntlZjsi60iCisi7Iuc7JikLiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMjMKK21zZ2lkICItLXNoYWxsb3ctZXhjbHVkZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCittc2dzdHIgIiIKKyItLXNoYWxsb3ctZXhjbHVkZSDsmLXshZjsnYAg66Gc7LusIOuzteygnOyXkOyEnCDrrLTsi5zrkKnri4jri6QuIOuMgOyLoOyXkCAnZmlsZTovLyfsnYQg7IKs7Jqp7ZWYIgorIuyLreyLnOyYpC4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDI2CiBtc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKIG1zZ3N0ciAi7JuQ67O4IOyggOyepeyGjOqwgCDslpXsnYAg7KCA7J6l7IaM7J2066+A66GcLCAtLWxvY2FsIOyYteyFmOydhCDrrLTsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDA2CisjOiBidWlsdGluL2Nsb25lLmM6MTAzMQogbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKIG1zZ3N0ciAiLS1sb2NhbCDsmLXshZjsnYAg66y07Iuc65Cp64uI64ukIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxMAorIzogYnVpbHRpbi9jbG9uZS5jOjEwMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gY2xvbmUgJXMiCiBtc2dzdHIgIiVz7J2YIOuzteygnCDrsKnrspXsnYQg7JWM7KeAIOuqu+2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNTkgYnVpbHRpbi9jbG9uZS5jOjEwNjcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkwIGJ1aWx0aW4vY2xvbmUuYzoxMDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICLrpqzrqqjtirjsnZggJXMg67iM656c7LmY6rCAIOyXheyKpO2KuOumvCAlc+yXkCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcwCisjOiBidWlsdGluL2Nsb25lLmM6MTEwMQogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIuu5iCDsoIDsnqXshozrpbwg67O17KCc7ZWcIOqyg+yymOufvCDrs7TsnoXri4jri6QuIgogCkBAIC01MzQ2LDQzICs2MzAxLDQzIEBACiAi6re4IOuLpOydjOyXkCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCLrpbwg7ZWY66m0IOuCmOuouOyngCDsu6TrsIvsl5BcbiIKICLrjIDtlbQg7Luk67CLIOu5vOyYpOq4sOulvCDri6Tsi5wg7Iuc7J6R7ZWp64uI64ukLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMwNworIzogYnVpbHRpbi9jb21taXQuYzozMTgKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgIkhFQUQg7Yq466asIOyYpOu4jOygne2KuOydmCDrrLbsnYzsnYQg7ZG464qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzU5CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgIuyehOyLnCDsnbjrjbHsiqTrpbwg66eM65OkIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzU0CisjOiBidWlsdGluL2NvbW1pdC5jOjM2NQogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgIuuMgO2ZlO2YlSDstpTqsIDqsIAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM2NworIzogYnVpbHRpbi9jb21taXQuYzozNzgKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAi7J6E7IucIOyduOuNseyKpOulvCDsl4XrjbDsnbTtirjtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzgwCiBtc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBtYWluIGNhY2hlIHRyZWUiCiBtc2dzdHIgIuyjvOyalCDsupDsi5wg7Yq466as66W8IOyXheuNsOydtO2KuO2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzkzIGJ1aWx0aW4vY29tbWl0LmM6NDE2IGJ1aWx0aW4vY29tbWl0LmM6NDY1CisjOiBidWlsdGluL2NvbW1pdC5jOjQwNCBidWlsdGluL2NvbW1pdC5jOjQyNyBidWlsdGluL2NvbW1pdC5jOjQ3NgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKIG1zZ3N0ciAibmV3X2luZGV4IO2MjOydvOyXkCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDU4CiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICLrs5HtlantlZjripQg7KSRIOu2gOu2hCDsu6TrsIvsnYQg7ZWgIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ0OQorIzogYnVpbHRpbi9jb21taXQuYzo0NjAKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIuy7pOuwiyDrubzsmKTquLDrpbwg7ZWY64qUIOykkSDrtoDrtoQg7Luk67CL7J2EIO2VoCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDY5CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICLsnbjrjbHsiqTrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDc3CisjOiBidWlsdGluL2NvbW1pdC5jOjQ4OAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKIG1zZ3N0ciAi7J6E7IucIOyduOuNseyKpCDtjIzsnbzsnYQg7JO4IOyImCDsl4bsirXri4jri6QiCiAKQEAgLTU0MTMsMTIgKzYzNjgsMTIgQEAKICLtmITsnqwg7Luk67CLIOuplOyLnOyngOyXkOyEnCDsgqzsmqnrkJjsp4Ag7JWK64qUIOyjvOyEnSDrrLjsnpDrpbxcbiIKICLshKDtg53tlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2OTIgYnVpbHRpbi9jb21taXQuYzo3MjUgYnVpbHRpbi9jb21taXQuYzoxMDkxCisjOiBidWlsdGluL2NvbW1pdC5jOjY5MiBidWlsdGluL2NvbW1pdC5jOjcyNSBidWlsdGluL2NvbW1pdC5jOjEwOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgIiVzIOy7pOuwi+ydhCDssL7slYTrs7wg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDQgYnVpbHRpbi9zaG9ydGxvZy5jOjI4NQorIzogYnVpbHRpbi9jb21taXQuYzo3MDQgYnVpbHRpbi9zaG9ydGxvZy5jOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIocmVhZGluZyBsb2cgbWVzc2FnZSBmcm9tIHN0YW5kYXJkIGlucHV0KVxuIgogbXNnc3RyICIo7ZGc7KSAIOyeheugpeyXkOyEnCDroZzqt7gg66mU7Iuc7KeA66W8IOydveydjClcbiIKQEAgLTU1MTMsMTMwICs2NDY4LDEzNCBAQAogbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgogbXNnc3RyICLsnbjrjbHsiqTrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjk1NAogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICLtirjrpqzrpbwg66eM65Oc64qU642wIOyYpOulmCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NjQgYnVpbHRpbi90YWcuYzoyNjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTY5IGJ1aWx0aW4vdGFnLmM6MjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG1lc3NhZ2UgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbi5cbiIKIG1zZ3N0ciAi66mU7Iuc7KeA66W8IC1tIOuYkOuKlCAtRiDsmLXshZjsnLzroZwg7J6F66Cl7ZWY7Iut7Iuc7JikLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3MQogIywgYy1mb3JtYXQKIG1zZ2lkICItLWF1dGhvciAnJXMnIGlzIG5vdCAnTmFtZSA8ZW1haWw+JyBhbmQgbWF0Y2hlcyBubyBleGlzdGluZyBhdXRob3IiCiBtc2dzdHIgIiIKICItLWF1dGhvciAnJXMnIOyYteyFmOydtCAn7J2066aEIDzsoITsnpDrqZTsnbw+JyDtmJXsi53snbQg7JWE64uI6rOgIOq4sOyhtCDsnpHshLHsnpDsl5Drj4Qg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwODEgYnVpbHRpbi9jb21taXQuYzoxMzIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEwODYgYnVpbHRpbi9jb21taXQuYzoxMzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAi7LaU7KCB65CY7KeAIOyViuuKlCDtjIzsnbwg66qo65Oc6rCAICgnJXMnKSDsnpjrqrvrkJjsl4jsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExOAorIzogYnVpbHRpbi9jb21taXQuYzoxMTI0CiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWxvbmcg67CPIC16IOyYteyFmOydgCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NAogbXNnaWQgIlVzaW5nIGJvdGggLS1yZXNldC1hdXRob3IgYW5kIC0tYXV0aG9yIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tcmVzZXQtYXV0aG9yIOuwjyAtLWF1dGhvciDsmLXshZjsnYQg66qo65GQIOyCrOyaqe2VmOuptCDslZ7rkqTqsIAg66ee7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTU3CisjOiBidWlsdGluL2NvbW1pdC5jOjExNjMKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKIG1zZ3N0ciAi67CU6r+AIOyCrO2VreydtCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIuuzke2VqSDspJHsl5Ag7J6I7Iq164uI64ukIC0tIOy7pOuwi+ydhCDrsJTqv4Ag7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MgorIzogYnVpbHRpbi9jb21taXQuYzoxMTY4CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hlcnJ5LXBpY2sgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAi7Luk67CLIOu5vOyYpOq4sCDspJHsl5Ag7J6I7Iq164uI64ukIC0tIOy7pOuwi+ydhCDrsJTqv4Ag7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTcxCiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiLS1zcXVhc2gg67CPIC0tZml4dXAg7Ji17IWY7J2AIOqwmeydtCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTc1CisjOiBidWlsdGluL2NvbW1pdC5jOjExODEKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiLWMvLUMvLUYvLS1maXh1cCDsmLXshZgg7KSR7JeQIO2VmOuCmOunjCDsgqzsmqntlaAg7IiYIOyeiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3NworIzogYnVpbHRpbi9jb21taXQuYzoxMTgzCiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgogbXNnc3RyICItbSDsmLXshZjsnYAgLWMvLUMvLUYvLS1maXh1cCDsmLXshZjqs7wg6rCZ7J20IOyTuCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTg1CisjOiBidWlsdGluL2NvbW1pdC5jOjExOTEKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICItLXJlc2V0LWF1dGhvciDsmLXshZjsnYAgLUMsIC1jIOuYkOuKlCAtLWFtZW5kIOyYteyFmOqzvCDqsJnsnbQg7I2o7JW8IO2VqeuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwMgorIzogYnVpbHRpbi9jb21taXQuYzoxMjA4CiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAiLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2gg7Ji17IWYIOykkSDtlZjrgpjrp4wg7IKs7Jqp7ZWgIOyImCDsnojsirXri4giCiAi64ukLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjA0CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMTAKIG1zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIuqyveuhnOqwgCDsl4bsnbQgLS1pbmNsdWRlLy0tb25seSDsmLXshZjsnYQg7JOw66m0IOyVnuuSpOqwgCDrp57sp4Ag7JWK7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjA2CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMTIKIG1zZ2lkICJDbGV2ZXIuLi4gYW1lbmRpbmcgdGhlIGxhc3Qgb25lIHdpdGggZGlydHkgaW5kZXguIgogbXNnc3RyICLquLDrsJztlZjrhKTsmpQuLi4g66eI7KeA66eJ7J2EIOuzgOqyveuQnCDsnbjrjbHsiqTroZwg67CU6r+J64uI64ukLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMTQKIG1zZ2lkICJFeHBsaWNpdCBwYXRocyBzcGVjaWZpZWQgd2l0aG91dCAtaSBvciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgogbXNnc3RyICIiCiAiLWkg65iQ64qUIC1vIOyXhuydtCDrqoXsi5zsoIHsnbgg6rK966Gc66W8IOyngOygle2WiOyKteuLiOuLpC4gLS1vbmx5IOqyveuhnOulvCDqsIDsoJXtlanri4jri6QuLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyMCBidWlsdGluL3RhZy5jOjQ3NAorIzogYnVpbHRpbi9jb21taXQuYzoxMjI2IGJ1aWx0aW4vdGFnLmM6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgogbXNnc3RyICLsnpjrqrvrkJwg7KCV66asIOuqqOuTnCAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjI1CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMzEKIG1zZ2lkICJQYXRocyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICItYSDsmLXshZjqs7wg6rK966Gc66W8IOqwmeydtCDsgqzsmqntlZjrqbQg7JWe65Kk6rCAIOunnuyngCDslYrsirXri4jri6QuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzUgYnVpbHRpbi9jb21taXQuYzoxNjIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDEgYnVpbHRpbi9jb21taXQuYzoxNjE3CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICLsg4Htg5zrpbwg6rCE65617ZWY6rKMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM3IGJ1aWx0aW4vY29tbWl0LmM6MTYyMworIzogYnVpbHRpbi9jb21taXQuYzoxMzQzIGJ1aWx0aW4vY29tbWl0LmM6MTYxOQogbXNnaWQgInNob3cgYnJhbmNoIGluZm9ybWF0aW9uIgogbXNnc3RyICLruIzrnpzsuZgg7KCV67O066W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM5IGJ1aWx0aW4vY29tbWl0LmM6MTYyNSBidWlsdGluL3B1c2guYzo1MTIKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgIuuyhOyghCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzQ1IGJ1aWx0aW4vY29tbWl0LmM6MTYyMSBidWlsdGluL3B1c2guYzo1MjIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDAKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAi7Lu07ZOo7YSw6rCAIOydveydhCDsiJgg7J6I64qUIO2YleyLnSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQyIGJ1aWx0aW4vY29tbWl0LmM6MTYyNworIzogYnVpbHRpbi9jb21taXQuYzoxMzQ4IGJ1aWx0aW4vY29tbWl0LmM6MTYyMwogbXNnaWQgInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIKIG1zZ3N0ciAi6ri0IO2YleyLneycvOuhnCDsg4Htg5zrpbwg7ZGc7Iuc7ZWp64uI64ukICjquLDrs7jqsJIpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDUgYnVpbHRpbi9jb21taXQuYzoxNjMwCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTEgYnVpbHRpbi9jb21taXQuYzoxNjI2CiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgIk5VTCDrrLjsnpDroZwg7ZWt66qp7J2EIOuBneuDheuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQ3IGJ1aWx0aW4vY29tbWl0LmM6MTYzMyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTMgYnVpbHRpbi9jb21taXQuYzoxNjI5IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODEKICM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODQgYnVpbHRpbi90YWcuYzozNTMKIG1zZ2lkICJtb2RlIgogbXNnc3RyICLrqqjrk5wiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OCBidWlsdGluL2NvbW1pdC5jOjE2MzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NCBidWlsdGluL2NvbW1pdC5jOjE2MjkKIG1zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKICLstpTsoIHrkJjsp4Ag7JWK64qUIO2MjOydvOydhCDtkZzsi5ztlanri4jri6QuIOy2lOqwgCDsmLXshZg6IGFsbCwgbm9ybWFsLCBubyAo6riw67O46rCSOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NwogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAi66y07Iuc65CY64qUIO2MjOydvOydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MiBwYXJzZS1vcHRpb25zLmg6MTU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTggcGFyc2Utb3B0aW9ucy5oOjE1NQogbXNnaWQgIndoZW4iCiBtc2dzdHIgIuyWuOygnCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTkKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCkBAIC01NjQ0LDE5OCArNjYwMywxOTggQEAKICLtlZjsnIQg66qo65OI7J2YIOuzgOqyveydhCDrrLTsi5ztlanri4jri6QuIOy2lOqwgCDsmLXshZg6IGFsbCwgZGlydHksIHVudHJhY2tlZC4gKOq4sOuzuOqwkjogIgogImFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NQorIzogYnVpbHRpbi9jb21taXQuYzoxMzYxCiBtc2dpZCAibGlzdCB1bnRyYWNrZWQgZmlsZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAi7LaU7KCB65CY7KeAIOyViuuKlCDtjIzsnbzsnZgg66qp66Gd7J2EIOyXrOufrCDsl7TroZwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzNwogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIuyDiOuhnCDrp4zrk6Ag7Luk67CL7J2EIOywvuyVhOuzvCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQzOQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAi7IOI66GcIOunjOuToCDsu6TrsIvsnYQg7YyM7Iux7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4OAorIzogYnVpbHRpbi9jb21taXQuYzoxNDg0CiBtc2dpZCAiZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAiSEVBRCDrtoTrpqzrkKgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDg3CiBtc2dpZCAiIChyb290LWNvbW1pdCkiCiBtc2dzdHIgIiAo7LWc7IOB7JyELey7pOuwiykiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MQorIzogYnVpbHRpbi9jb21taXQuYzoxNTg3CiBtc2dpZCAic3VwcHJlc3Mgc3VtbWFyeSBhZnRlciBzdWNjZXNzZnVsIGNvbW1pdCIKIG1zZ3N0ciAi7ISx6rO17KCB7J24IOy7pOuwiyDtm4Tsl5Ag7JqU7JW97J2EIO2RnOyLnO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CiBtc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICLsu6TrsIsg66mU7Iuc7KeAIOyEnOyLneyXkCBkaWZm66W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk0CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTAKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICLsu6TrsIsg66mU7Iuc7KeAIOyYteyFmCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vdGFnLmM6MzUxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi90YWcuYzozNTEKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICLtjIzsnbzsl5DshJwg66mU7Iuc7KeA66W8IOydveyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgIuyekeyEseyekCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKIG1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKIG1zZ3N0ciAi7Luk67CL7J2YIOyekeyEseyekOulvCDsp4DsoJXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NyBidWlsdGluL2djLmM6MzI2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMgYnVpbHRpbi9nYy5jOjMyNgogbXNnaWQgImRhdGUiCiBtc2dzdHIgIuyLnOqwgSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMKIG1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCiBtc2dzdHIgIuy7pOuwi+ydmCDsi5zqsIHsnYQg7KeA7KCV7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTggYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL25vdGVzLmM6Mzk1Ci0jOiBidWlsdGluL25vdGVzLmM6NTU4IGJ1aWx0aW4vdGFnLmM6MzQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTQgYnVpbHRpbi9tZXJnZS5jOjIyMCBidWlsdGluL25vdGVzLmM6Mzk4CisjOiBidWlsdGluL25vdGVzLmM6NTYxIGJ1aWx0aW4vdGFnLmM6MzQ5CiBtc2dpZCAibWVzc2FnZSIKIG1zZ3N0ciAi66mU7Iuc7KeAIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NAogbXNnaWQgImNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLsu6TrsIsg66mU7Iuc7KeAIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTkgYnVpbHRpbi9jb21taXQuYzoxNjAwIGJ1aWx0aW4vY29tbWl0LmM6MTYwMQotIzogYnVpbHRpbi9jb21taXQuYzoxNjAyIHBhcnNlLW9wdGlvbnMuaDoyNTYgcmVmLWZpbHRlci5oOjc5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTUgYnVpbHRpbi9jb21taXQuYzoxNTk2IGJ1aWx0aW4vY29tbWl0LmM6MTU5NworIzogYnVpbHRpbi9jb21taXQuYzoxNTk4IHBhcnNlLW9wdGlvbnMuaDoyNTcgcmVmLWZpbHRlci5oOjc5CiBtc2dpZCAiY29tbWl0IgogbXNnc3RyICLsu6TrsIsiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk1CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIuyngOygle2VnCDsu6TrsIvsnZgg66mU7Iuc7KeA66W8IOyerOyCrOyaqe2VmOqzoCDtjrjsp5Htlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMAorIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CiBtc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIuyngOygle2VnCDsu6TrsIvsl5DshJwg66mU7Iuc7KeA66W8IOyerOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICLsp4DsoJXtlZwg7Luk67CL7J2EIOyImOygle2VmOuKlOuNsCBhdXRvc3F1YXNoIO2YleyLnSDrqZTsi5zsp4Drpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OAogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHNxdWFzaCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICLsp4DsoJXtlZwg7Luk67CL7J2EIO2Vqey5mOuKlOuNsCBhdXRvc3F1YXNoIO2YleyLnSDrqZTsi5zsp4Drpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQogbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCiBtc2dzdHIgIuy7pOuwi+ydhCDrgrTqsIAg7J6R7ISx7ZWcIOqyg+ycvOuhnCDrp4zrk63ri4jri6QgKC1DLy1jLy0tYW1lbmTsmYAg6rCZ7J20IOyCrOyaqSkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNCBidWlsdGluL2xvZy5jOjEzODIgYnVpbHRpbi9yZXZlcnQuYzo4NgorIzogYnVpbHRpbi9jb21taXQuYzoxNjAwIGJ1aWx0aW4vbG9nLmM6MTQxMyBidWlsdGluL3JldmVydC5jOjg2CiBtc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgogbXNnc3RyICJTaWduZWQtb2ZmLWJ5OiDspITsnYQg7LaU6rCA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMQogbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKIG1zZ3N0ciAi7KeA7KCV7ZWcIOyEnOyLnSDtjIzsnbzsnYQg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMgogbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgogbXNnc3RyICLsu6TrsIsg7Y647KeR7J2EIOqwleygnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA3CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDMKIG1zZ2lkICJkZWZhdWx0IgogbXNnc3RyICLquLDrs7jqsJIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNyBidWlsdGluL3RhZy5jOjM1NAorIzogYnVpbHRpbi9jb21taXQuYzoxNjAzIGJ1aWx0aW4vdGFnLmM6MzU0CiBtc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKIG1zZ3N0ciAi66mU7Iuc7KeA7JeQ7IScIOqzteuwseqzvCAj7KO87ISd7J2EIOyngOybgeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDQKIG1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAi7Luk67CLIOuplOyLnOyngCDshJzsi53sl5Ag7IOB7YOc66W8IO2PrO2VqO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjEwIGJ1aWx0aW4vbWVyZ2UuYzoyMjkgYnVpbHRpbi9wdWxsLmM6MTY1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDYgYnVpbHRpbi9tZXJnZS5jOjIzMCBidWlsdGluL3B1bGwuYzoxNjYKICM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTMKIG1zZ2lkICJHUEcgc2lnbiBjb21taXQiCiBtc2dzdHIgIkdQRyDshJzrqoUg7Luk67CLIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOQogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICLsu6TrsIsg64K07JqpIOyYteyFmCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTAKIG1zZ2lkICJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiCiBtc2dzdHIgIuuzgOqyveuQnCDtjIzsnbzsnYQg66qo65GQIOy7pOuwi+2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTEKIG1zZ2lkICJhZGQgc3BlY2lmaWVkIGZpbGVzIHRvIGluZGV4IGZvciBjb21taXQiCiBtc2dzdHIgIuyngOygle2VnCDtjIzsnbzsnYQg7Luk67CL7ZWgIOyduOuNseyKpOyXkCDstpTqsIDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNgorIzogYnVpbHRpbi9jb21taXQuYzoxNjEyCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCiBtc2dzdHIgIuuMgO2ZlO2YleycvOuhnCDtjIzsnbzsnYQg7LaU6rCA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMwogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGNoYW5nZXMiCiBtc2dzdHIgIuuMgO2ZlO2YleycvOuhnCDrs4Dqsr0g7IKs7ZWt7J2EIOy2lOqwgO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKIG1zZ2lkICJjb21taXQgb25seSBzcGVjaWZpZWQgZmlsZXMiCiBtc2dzdHIgIuyngOygle2VnCDtjIzsnbzrp4wg7Luk67CL7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTkKLW1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBob29rIgotbXNnc3RyICLsu6TrsIsg7KCEIO2bhO2BrOulvCDqsbTrhIjrnIHri4jri6QiCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTUKK21zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKK21zZ3N0ciAi7Luk67CLIOyghCDtm4TtgazsmYAg7Luk67CLIOuplOyLnOyngCDtm4Ttgazrpbwg6rG064SI65yB64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNgogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgIuustOyXh+ydhCDsu6TrsIvtlaDsp4Ag7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyNwogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAi67CU66GcIOyVniDsu6TrsIvsnYQg67CU6r+J64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyOAogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAi64uk7Iuc7JOw6riwIO2bhCDtm4Ttgazrpbwg6rG064SI65yB64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMwogbXNnaWQgIm9rIHRvIHJlY29yZCBhbiBlbXB0eSBjaGFuZ2UiCiBtc2dzdHIgIuu5iCDrs4Dqsr0g7IKs7ZWt7J2EIOq4sOuhne2VmOuPhOuhnSDtl4jsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzOQorIzogYnVpbHRpbi9jb21taXQuYzoxNjM1CiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAi67mIIOuplOyLnOyngOyZgCDqsJnsnbQg67OA6rK9IOyCrO2VreydhCDquLDroZ3tlZjrj4TroZ0g7ZeI7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2NjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAiSEVBRCDsu6TrsIvsnYQg7YyM7Iux7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxOAorIzogYnVpbHRpbi9jb21taXQuYzoxNzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCiBtc2dzdHIgIuyGkOyDgeuQnCBNRVJHRV9IRUFEIO2MjOydvCAoJXMpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxOQogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgIk1FUkdFX01PREXrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0NAorIzogYnVpbHRpbi9jb21taXQuYzoxNzM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlOiAlcyIKIG1zZ3N0ciAi7Luk67CLIOuplOyLnOyngOulvCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc1NQorIzogYnVpbHRpbi9jb21taXQuYzoxNzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAi7Luk67CL7J2EIOykkeyngO2VqeuLiOuLpC4g66mU7Iuc7KeA66W8IO2OuOynke2VmOyngCDslYrslZjsirXri4jri6QuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc2MAorIzogYnVpbHRpbi9jb21taXQuYzoxNzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdCBkdWUgdG8gZW1wdHkgY29tbWl0IG1lc3NhZ2UuXG4iCiBtc2dzdHIgIuy7pOuwi+ydhCDspJHsp4Dtlanri4jri6QuIOy7pOuwiyDrqZTsi5zsp4DqsIAg67mE7Ja0IOyeiOyKteuLiOuLpC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxODA4CisjOiBidWlsdGluL2NvbW1pdC5jOjE4MDIKIG1zZ2lkICIiCiAiUmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCiAibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBhbmQgcXVvdGEgaXNcbiIKQEAgLTU4NDksMTM5ICs2ODA4LDEzOSBAQAogbXNnaWQgImdpdCBjb25maWcgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBjb25maWcgWzzsmLXshZg+XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NgorIzogYnVpbHRpbi9jb25maWcuYzo1NQogbXNnaWQgIkNvbmZpZyBmaWxlIGxvY2F0aW9uIgogbXNnc3RyICLshKTsoJUg7YyM7J28IOychOy5mCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1NgogbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCiBtc2dzdHIgIuqzte2GtSDshKTsoJUg7YyM7J287J2EIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OAorIzogYnVpbHRpbi9jb25maWcuYzo1NwogbXNnaWQgInVzZSBzeXN0ZW0gY29uZmlnIGZpbGUiCiBtc2dzdHIgIuyLnOyKpO2FnCDshKTsoJUg7YyM7J287J2EIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OQorIzogYnVpbHRpbi9jb25maWcuYzo1OAogbXNnaWQgInVzZSByZXBvc2l0b3J5IGNvbmZpZyBmaWxlIgogbXNnc3RyICLsoIDsnqXshowg7ISk7KCVIO2MjOydvOydhCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKIG1zZ2lkICJ1c2UgZ2l2ZW4gY29uZmlnIGZpbGUiCiBtc2dzdHIgIuyngOygle2VnCDshKTsoJUg7YyM7J287J2EIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgImJsb2ItaWQiCiBtc2dzdHIgIuu4lOuhrS1pZCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCiBtc2dzdHIgIuyngOygle2VnCDruJTroa0g7Jik67iM7KCd7Yq47JeQ7IScIOyEpOygleydhCDsnb3sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKIG1zZ2lkICJBY3Rpb24iCiBtc2dzdHIgIuuPmeyekSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MworIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgImdldCB2YWx1ZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICLqsJLsnYQg6rCA7KC47Ji164uI64ukOiA87J2066aEPiBbPOqwki3soJXqt5zsi50+XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NAorIzogYnVpbHRpbi9jb25maWcuYzo2MwogbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi66qo65OgIOqwkuydhCDqsIDsoLjsmLXri4jri6Q6IDztgqQ+IFs86rCSLeygleq3nOyLnT5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY1CisjOiBidWlsdGluL2NvbmZpZy5jOjY0CiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIuygleq3nOyLneyXkCDrjIDtlZwg6rCS7J2EIOqwgOyguOyYteuLiOuLpDogPOydtOumhC3soJXqt5zsi50+IFs86rCSLeygleq3nOyLnT5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY2CisjOiBidWlsdGluL2NvbmZpZy5jOjY1CiBtc2dpZCAiZ2V0IHZhbHVlIHNwZWNpZmljIGZvciB0aGUgVVJMOiBzZWN0aW9uWy52YXJdIFVSTCIKIG1zZ3N0ciAiPFVSTD7sl5Ag7Yq57KCV65CY64qUIOqwkuydhCDqsIDsoLjsmLXri4jri6Q6IDzshLnshZg+Wy4867OA7IiYPl0gPFVSTD4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKIG1zZ2lkICJyZXBsYWNlIGFsbCBtYXRjaGluZyB2YXJpYWJsZXM6IG5hbWUgdmFsdWUgW3ZhbHVlX3JlZ2V4XSIKIG1zZ3N0ciAi7ZW064u57ZWY64qUIOuzgOyImOulvCDrqqjrkZAg7KCc6rGw7ZWp64uI64ukOiA87J2066aEPiA86rCSPiBbPOqwki3soJXqt5zsi50+XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OAorIzogYnVpbHRpbi9jb25maWcuYzo2NwogbXNnaWQgImFkZCBhIG5ldyB2YXJpYWJsZTogbmFtZSB2YWx1ZSIKIG1zZ3N0ciAi7IOIIOuzgOyImOulvCDstpTqsIDtlanri4jri6Q6IDzsnbTrpoQ+IDzqsJI+IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5CisjOiBidWlsdGluL2NvbmZpZy5jOjY4CiBtc2dpZCAicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi67OA7IiY66W8IOygnOqxsO2VqeuLiOuLpDogPOydtOumhD4gWzzqsJIt7KCV6rec7IudPl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjkKIG1zZ2lkICJyZW1vdmUgYWxsIG1hdGNoZXM6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi7ZW064u57ZWY64qUIO2VreuqqeydhCDrqqjrkZAg7KCc6rGw7ZWp64uI64ukOiA87J2066aEPiBbPOqwki3soJXqt5zsi50+XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3MAogbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKIG1zZ3N0ciAi7IS57IWY7J2YIOydtOumhOydhCDrsJTqv4nri4jri6Q6IDzsmJst7J2066aEPiA87IOILeydtOumhD4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKIG1zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgogbXNnc3RyICLshLnshZjsnYQg7KCc6rGw7ZWp64uI64ukOiA87J2066aEPiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MworIzogYnVpbHRpbi9jb25maWcuYzo3MgogbXNnaWQgImxpc3QgYWxsIgogbXNnc3RyICLsoITssrQg66qp66Gd7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NAorIzogYnVpbHRpbi9jb25maWcuYzo3MwogbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgogbXNnc3RyICLtjrjsp5HquLDrpbwg7Je964uI64ukIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc1CisjOiBidWlsdGluL2NvbmZpZy5jOjc0CiBtc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogc2xvdCBbZGVmYXVsdF0iCiBtc2dzdHIgIuyEpOygle2VnCDsg4nsnYQg7LC+7Iq164uI64ukOiBzbG90IFs86riw67O46rCSPl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBzZXR0aW5nOiBzbG90IFtzdGRvdXQtaXMtdHR5XSIKIG1zZ3N0ciAi7IOJIOyEpOygleydhCDssL7sirXri4jri6Q6IHNsb3QgWzztkZzspIDstpzroKXsnbQtVFRZ7J247KeALeyXrOu2gD5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjc2CiBtc2dpZCAiVHlwZSIKIG1zZ3N0ciAi6rCSIOyiheulmCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OAorIzogYnVpbHRpbi9jb25maWcuYzo3NwogbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKIG1zZ3N0ciAi6rCS7J20IFwidHJ1ZVwiIOuYkOuKlCBcImZhbHNlXCLsnoXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKIG1zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKIG1zZ3N0ciAi6rCS7J20IOyLreynhOyImOyeheuLiOuLpCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MAorIzogYnVpbHRpbi9jb25maWcuYzo3OQogbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKIG1zZ3N0ciAi6rCS7J20IC0tYm9vbCDrmJDripQgLS1pbnTsnoXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODAKIG1zZ2lkICJ2YWx1ZSBpcyBhIHBhdGggKGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUpIgogbXNnc3RyICLqsJLsnbQg6rK966GcKO2MjOydvCDrmJDripQg65SU66CJ7YSw66asIOydtOumhCnsnoXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODEKIG1zZ2lkICJPdGhlciIKIG1zZ3N0ciAi6riw7YOAIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgzCisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICLqsJLsnYQgTlVMIOuwlOydtO2KuOuhnCDrgZ3rg4Xri4jri6QiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODMKIG1zZ2lkICJzaG93IHZhcmlhYmxlIG5hbWVzIG9ubHkiCiBtc2dzdHIgIuuzgOyImCDsnbTrpoTrp4wg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg1CisjOiBidWlsdGluL2NvbmZpZy5jOjg0CiBtc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgogbXNnc3RyICLssL7slYTrs7wg65WMIGluY2x1ZGUg7KeA7Iuc7Ja066W8IOqzoOugpO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NgorIzogYnVpbHRpbi9jb25maWcuYzo4NQogbXNnaWQgInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiCiBtc2dzdHIgIuyEpOygleydmCDstpzsspjrpbwg7ZGc7Iuc7ZWp64uI64ukICjtjIzsnbwsIO2RnOykgCDsnoXroKUsIOu4lOuhrSwg66qF66C57ZaJKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzozMjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzI3CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGRlZmF1bHQgY29sb3IgdmFsdWUiCiBtc2dzdHIgIuq4sOuzuCDsg4kg6rCS7J2EIO2MjOyLse2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQ3MgorIzogYnVpbHRpbi9jb25maWcuYzo0NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiMgVGhpcyBpcyBHaXQncyBwZXItdXNlciBjb25maWd1cmF0aW9uIGZpbGUuXG4iCkBAIC01OTk2LDE2ICs2OTU1LDI2IEBACiAiI1x0bmFtZSA9ICVzXG4iCiAiI1x0ZW1haWwgPSAlc1xuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxNAorIzogYnVpbHRpbi9jb25maWcuYzo2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBjb25maWd1cmF0aW9uIGZpbGUgJXMiCiBtc2dzdHIgIiVzIOyEpOyglSDtjIzsnbzsnYQg66eM65OkIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IG92ZXJ3cml0ZSBtdWx0aXBsZSB2YWx1ZXMgd2l0aCBhIHNpbmdsZSB2YWx1ZVxuIgorIiAgICAgICBVc2UgYSByZWdleHAsIC0tYWRkIG9yIC0tcmVwbGFjZS1hbGwgdG8gY2hhbmdlICVzLiIKK21zZ3N0ciAiIgorIuyXrOufrCDqsJzsnZgg6rCS7J2EIO2VmOuCmOydmCDqsJLsnLzroZwg642u7Ja07JO4IOyImCDsl4bsirXri4jri6QuXG4iCisiJXPsnYQo66W8KSDrs4Dqsr3tlZjroKTrqbQg7KCV6rec7Iud7J2EIOyTsOqxsOuCmCwgLS1hZGQg65iQ64qUIC0tcmVwbGFjZS1hbGwg7Ji17IWY7J2EXG4iCisi7IKs7Jqp7ZWY7Iut7Iuc7JikLiIKKworIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6ODYKIG1zZ2lkICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogbXNnc3RyICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogCi0jOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NworIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTYKIG1zZ2lkICJwcmludCBzaXplcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQiCiBtc2dzdHIgIuyCrOuejOydtCDsnb3quLAg7KKL7J2AIO2YleyLneycvOuhnCDtgazquLDrpbwg7ZGc7Iuc7ZWp64uI64ukIgogCkBAIC02MDMyLDcgKzcwMDEsNyBAQAogbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCiBtc2dzdHIgIiclcycg7YOc6re46rCAIOyLpOygnCDsl6zquLAgJyVzJ+yeheuLiOuLpCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MCBidWlsdGluL2xvZy5jOjQ2NQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MCBidWlsdGluL2xvZy5jOjQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAi7Jis67CU66W4IOyYpOu4jOygne2KuCDsnbTrpoTsnbQg7JWE64uZ64uI64ukICglcykiCkBAIC02MTI1LDcgKzcwOTQsNyBAQAogbXNnaWQgIm9ubHkgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgIjztjKjthLQ+6rO8IOydvOy5mO2VmOuKlCDtg5zqt7jrp4wg6rOg66Ck7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTAgYnVpbHRpbi9uYW1lLXJldi5jOjMyMAogbXNnaWQgInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIKIG1zZ3N0ciAi64yA7JWI7Jy866GcIOyalOyVve2VnCDsu6TrsIsg7Jik67iM7KCd7Yq466W8IO2RnOyLnO2VqeuLiOuLpCIKIApAQCAtNjE1OSwyMSArNzEyOCwyMSBAQAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKIG1zZ3N0ciAi7J6Y66q765CcIOyYteyFmDogJXMiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM2MAorIzogYnVpbHRpbi9kaWZmLmM6MzYxCiBtc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIuq5gyDsoIDsnqXshozqsIAg7JWE64uZ64uI64ukIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MDMKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAi7J6Y66q765CcICclcycg7Jik67iM7KCd7Yq46rCAIOyjvOyWtOyhjOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxMgorIzogYnVpbHRpbi9kaWZmLmM6NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiB0d28gYmxvYnMgZ2l2ZW46ICclcyciCiBtc2dzdHIgIuuRkCDqsJzrs7Tri6Qg66eO7J2AIOu4lOuhreydtCDso7zslrTsoYzsirXri4jri6Q6ICclcyciCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxOQorIzogYnVpbHRpbi9kaWZmLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIuyymOumrO2VmOyngCDslYrsnYAgJyVzJyDsmKTruIzsoJ3tirjqsIAg7KO87Ja07KGM7Iq164uI64ukLiIKQEAgLTYyMzAsMTc2ICs3MTk5LDE4MSBAQAogbXNnaWQgImFub255bWl6ZSBvdXRwdXQiCiBtc2dzdHIgIuy2nOugpeydhCDsnbXrqoXtmZTtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMAorIzogYnVpbHRpbi9mZXRjaC5jOjIxCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgZmV0Y2ggWzzsmLXshZg+XSBbPOyggOyepeyGjD4gWzzroIjtjbzrn7DsiqTrqoXshLg+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMQorIzogYnVpbHRpbi9mZXRjaC5jOjIyCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIDxncm91cD4iCiBtc2dzdHIgImdpdCBmZXRjaCBbPOyYteyFmD5dIDzqt7jro7k+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMwogbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPOyYteyFmD5dIFsoPOyggOyepeyGjD4gfCA86re466O5PikuLi5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyNAogbXNnaWQgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tYWxsIFs87Ji17IWYPl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MiBidWlsdGluL3B1bGwuYzoxNzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NSBidWlsdGluL3B1bGwuYzoxNzUKIG1zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgogbXNnc3RyICLrqqjrk6Ag66as66qo7Yq47JeQ7IScIOqwgOyguOyYteuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk0IGJ1aWx0aW4vcHVsbC5jOjE3NworIzogYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vcHVsbC5jOjE3OAogbXNnaWQgImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIKIG1zZ3N0ciAi642u7Ja07JOw7KeAIOunkOqzoCAuZ2l0L0ZFVENIX0hFQUTsl5Ag642n67aZ7J6F64uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTYgYnVpbHRpbi9wdWxsLmM6MTgwCisjOiBidWlsdGluL2ZldGNoLmM6OTkgYnVpbHRpbi9wdWxsLmM6MTgxCiBtc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgogbXNnc3RyICLrpqzrqqjtirgg7Kq97JeQIOustuydjOydhCDsl4XroZzrk5ztlaAg6rK966GcIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9wdWxsLmM6MTgyCisjOiBidWlsdGluL2ZldGNoLmM6MTAwIGJ1aWx0aW4vcHVsbC5jOjE4MwogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgIuuhnOy7rCDruIzrnpzsuZjrpbwg6rCV7KCc66GcIOuNruyWtOyUgeuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5CisjOiBidWlsdGluL2ZldGNoLmM6MTAyCiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICLsl6zrn6wg66as66qo7Yq47JeQ7IScIOqwgOyguOyYteuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMSBidWlsdGluL3B1bGwuYzoxODQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDQgYnVpbHRpbi9wdWxsLmM6MTg1CiBtc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKIG1zZ3N0ciAi66qo65OgIO2DnOq3uOyZgCDqtIDroKgg7Jik67iM7KCd7Yq466W8IOqwgOyguOyYteuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMworIzogYnVpbHRpbi9mZXRjaC5jOjEwNgogbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKIG1zZ3N0ciAi66qo65OgIO2DnOq3uOulvCDqsIDsoLjsmKTsp4Ag7JWK7Iq164uI64ukICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1CisjOiBidWlsdGluL2ZldGNoLmM6MTA4CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgZmV0Y2hlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAi67OR66Cs7KCB7Jy866GcIOuwm+yVhOyYpOuKlCDtlZjsnITrqqjrk4gg6rCc7IiYIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA3IGJ1aWx0aW4vcHVsbC5jOjE4NworIzogYnVpbHRpbi9mZXRjaC5jOjExMCBidWlsdGluL3B1bGwuYzoxODgKIG1zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAi66as66qo7Yq47JeQIOydtOygnCDsl4bripQg66as66qo7Yq4IOy2lOyggSDruIzrnpzsuZjrpbwg7J6Y652864OF64uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4IGJ1aWx0aW4vcHVsbC5jOjE5MAorIzogYnVpbHRpbi9mZXRjaC5jOjExMSBidWlsdGluL3B1bGwuYzoxOTEKIG1zZ2lkICJvbi1kZW1hbmQiCiBtc2dzdHIgIuyjvOusuO2YlSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwOSBidWlsdGluL3B1bGwuYzoxOTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTIgYnVpbHRpbi9wdWxsLmM6MTkyCiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCDsnqzqt4DsoIHsnLzroZwg6rCA7KC47Jik6riwIOuwqeyLneydhCDshKTsoJXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTMgYnVpbHRpbi9wdWxsLmM6MTk5CisjOiBidWlsdGluL2ZldGNoLmM6MTE2IGJ1aWx0aW4vcHVsbC5jOjIwMAogbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgogbXNnc3RyICLri6TsmrTroZzrk5ztlZwg66y27J2M7J2EIOuztOyhtO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNQorIzogYnVpbHRpbi9mZXRjaC5jOjExOAogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICJIRUFEIOugiO2NvOufsOyKpCDsl4XrjbDsnbTtirjrpbwg7ZeI7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4IGJ1aWx0aW4vcHVsbC5jOjIwMgorIzogYnVpbHRpbi9mZXRjaC5jOjEyMSBidWlsdGluL2ZldGNoLmM6MTI3IGJ1aWx0aW4vcHVsbC5jOjIwMwogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCiBtc2dzdHIgIuyWleydgCDrs7XsoJzsnZgg7Luk67CLIOuCtOyXreydhCDquYrqsowg66eM65Ot64uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIwIGJ1aWx0aW4vcHVsbC5jOjIwNQorIzogYnVpbHRpbi9mZXRjaC5jOjEyMworbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgcmVwb3NpdG9yeSBiYXNlZCBvbiB0aW1lIgorbXNnc3RyICLslpXsnYAg67O17KCc7J2YIOy7pOuwiyDrgrTsl63snYQg7Iuc6rCE7J2EIOq4sOykgOycvOuhnCDquYrqsowg66eM65Ot64uI64ukIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjIwNgogbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgogbXNnc3RyICLsmYTsoITtlZwg7KCA7J6l7IaM66GcIOyghO2ZmO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL2xvZy5jOjEzOTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzEgYnVpbHRpbi9sb2cuYzoxNDMzCiBtc2dpZCAiZGlyIgogbXNnc3RyICLrlJTroInthLDrpqwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgogbXNnc3RyICLtlZjsnIQg66qo65OIIOqyveuhnCDstpzroKXsnZgg7JWe7JeQIOydtCDrlJTroInthLDrpqzrpbwg67aZ7J6F64uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI2CisjOiBidWlsdGluL2ZldGNoLmM6MTM1CiBtc2dpZCAiZGVmYXVsdCBtb2RlIGZvciByZWN1cnNpb24iCiBtc2dzdHIgIuyerOq3gCDquLDrs7gg66qo65OcIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI4IGJ1aWx0aW4vcHVsbC5jOjIwOAorIzogYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL3B1bGwuYzoyMDkKIG1zZ2lkICJhY2NlcHQgcmVmcyB0aGF0IHVwZGF0ZSAuZ2l0L3NoYWxsb3ciCiBtc2dzdHIgIi5naXQvc2hhbGxvd+ulvCDsl4XrjbDsnbTtirjtlZjripQg66CI7Y2865+w7Iqk66W8IO2XiOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyOSBidWlsdGluL3B1bGwuYzoyMTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzggYnVpbHRpbi9wdWxsLmM6MjExCiBtc2dpZCAicmVmbWFwIgogbXNnc3RyICLroIjtjbzrn7DsiqTrp7UiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzAgYnVpbHRpbi9wdWxsLmM6MjExCisjOiBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVsbC5jOjIxMgogbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgogbXNnc3RyICLroIjtjbzrn7DsiqTrp7Ug6rCA7KC47Jik6riw66W8IOyngOygle2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM4NgorIzogYnVpbHRpbi9mZXRjaC5jOjM5OAogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICLrpqzrqqjtirgg66CI7Y2865+w7IqkIEhFQUTrpbwg7LC+7J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0NjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29uZmlndXJhdGlvbiBmZXRjaC5vdXRwdXQgY29udGFpbnMgaW52YWxpZCB2YWx1ZSAlcyIKK21zZ3N0ciAiZmV0Y2gub3V0cHV0IOyEpOygleyXkCDsnpjrqrvrkJwg6rCS7J20IOyeiOyKteuLiOuLpDogJXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXMg7Jik67iM7KCd7Yq46rCAIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ3MQorIzogYnVpbHRpbi9mZXRjaC5jOjYxMQogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW+y1nOyLoCDsg4Htg5xdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDg1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiEgJS0qcyAlLSpzIC0+ICVzICAoY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2gpIgotbXNnc3RyICIhICUtKnMgJS0qcyAtPiAlcyAgKO2YhOyerCDruIzrnpzsuZjsl5DshJwg6rCA7KC47JisIOyImCDsl4bsnYwpIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NDg2IGJ1aWx0aW4vZmV0Y2guYzo1NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjQgYnVpbHRpbi9mZXRjaC5jOjcwNAogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIlvqsbDrtoDrkKhdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDk3CisjOiBidWlsdGluL2ZldGNoLmM6NjI1Cittc2dpZCAiY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2giCittc2dzdHIgIu2YhOyerCDruIzrnpzsuZjsl5DshJwg6rCA7KC47JisIOyImCDsl4bsnYwiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzQKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIlvtg5zqt7gg7JeF642w7J207Yq4XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ5OSBidWlsdGluL2ZldGNoLmM6NTM0IGJ1aWx0aW4vZmV0Y2guYzo1NTIKLW1zZ2lkICIgICh1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZikiCi1tc2dzdHIgIiAgKOuhnOy7rCDroIjtjbzrn7DsiqTrpbwg7JeF642w7J207Yq47ZWgIOyImCDsl4bsnYwpIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTE3Ci1tc2dpZCAiW25ldyB0YWddIgotbXNnc3RyICJb7IOI66Gc7Jq0IO2DnOq3uF0iCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MjAKLW1zZ2lkICJbbmV3IGJyYW5jaF0iCi1tc2dzdHIgIlvsg4jroZzsmrQg67iM656c7LmYXSIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjUyMwotbXNnaWQgIltuZXcgcmVmXSIKLW1zZ3N0ciAiW+yDiOuhnOyatCDroIjtjbzrn7DsiqRdIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTY5CisjOiBidWlsdGluL2ZldGNoLmM6NjM1IGJ1aWx0aW4vZmV0Y2guYzo2NjggYnVpbHRpbi9mZXRjaC5jOjY4NAorIzogYnVpbHRpbi9mZXRjaC5jOjY5OQogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgogbXNnc3RyICLroZzsu6wg66CI7Y2865+w7Iqk66W8IOyXheuNsOydtO2KuO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTY5CisjOiBidWlsdGluL2ZldGNoLmM6NjU0Cittc2dpZCAiW25ldyB0YWddIgorbXNnc3RyICJb7IOI66Gc7Jq0IO2DnOq3uF0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTcKK21zZ2lkICJbbmV3IGJyYW5jaF0iCittc2dzdHIgIlvsg4jroZzsmrQg67iM656c7LmYXSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjY2MAorbXNnaWQgIltuZXcgcmVmXSIKK21zZ3N0ciAiW+yDiOuhnOyatCDroIjtjbzrn7DsiqRdIgorCisjOiBidWlsdGluL2ZldGNoLmM6Njk5CiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAi6rCV7KCcIOyXheuNsOydtO2KuCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU3NgotbXNnaWQgIihub24tZmFzdC1mb3J3YXJkKSIKLW1zZ3N0ciAiKOygleuwqe2WpSDsp4TtlonsnbQg7JWE64uYKSIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3MDQKK21zZ2lkICJub24tZmFzdC1mb3J3YXJkIgorbXNnc3RyICLsoJXrsKntlqUg7KeE7ZaJ7J20IOyVhOuLmCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYxOQorIzogYnVpbHRpbi9mZXRjaC5jOjc0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCiBtc2dzdHIgIiVz7J20KOqwgCkg66qo65OgIO2VhOyalO2VnCDsmKTruIzsoJ3tirjrpbwg67O064K07KeAIOyViuyVmOyKteuLiOuLpFxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjM3CisjOiBidWlsdGluL2ZldGNoLmM6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlamVjdCAlcyBiZWNhdXNlIHNoYWxsb3cgcm9vdHMgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQiCiBtc2dzdHIgIuyWleydgCDstZzsg4HsnITsnZgg7JeF642w7J207Yq46rCAIO2XiOyaqeuQmOyngCDslYrsnLzrr4DroZwgJXPsnYQo66W8KSDqsbDrtoDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MjQgYnVpbHRpbi9mZXRjaC5jOjgxNgorIzogYnVpbHRpbi9mZXRjaC5jOjg1NiBidWlsdGluL2ZldGNoLmM6OTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICIlLipzIFVSTOyXkOyEnFxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzM1CisjOiBidWlsdGluL2ZldGNoLmM6ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJzb21lIGxvY2FsIHJlZnMgY291bGQgbm90IGJlIHVwZGF0ZWQ7IHRyeSBydW5uaW5nXG4iCkBAIC02NDA4LDU1ICs3MzgyLDU1IEBACiAi7JeF642w7J207Yq47ZWgIOyImCDsl4bripQg66Gc7LusIOugiO2NvOufsOyKpOqwgCDsnojsirXri4jri6QuIOqzvOqxsCDstqnrj4wg67iM656c7LmY66W8XG4iCiAiIOygnOqxsO2VmOugpOuptCAnZ2l0IHJlbW90ZSBwcnVuZSAlcycg66qF66C57J2EIOyLpO2Wie2VtCDrs7Tsi63si5zsmKQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3ODcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIOugiO2NvOufsOyKpOqwgCDsl7DqsrDsnbQg64GK7Ja07KeA6rKMIOuQqeuLiOuLpCkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3ODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMg66CI7Y2865+w7Iqk6rCAIOyXsOqysOydtCDrgYrslrTsoYzsirXri4jri6QpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODIwCisjOiBidWlsdGluL2ZldGNoLmM6OTU1CiBtc2dpZCAiW2RlbGV0ZWRdIgogbXNnc3RyICJb7IKt7KCc65CoXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgyMSBidWlsdGluL3JlbW90ZS5jOjEwMjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NTYgYnVpbHRpbi9yZW1vdGUuYzoxMDIwCiBtc2dpZCAiKG5vbmUpIgogbXNnc3RyICIo7JeG7J2MKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg0MQorIzogYnVpbHRpbi9mZXRjaC5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuqwhOuete2VnCDsoIDsnqXshozqsIAg7JWE64uMIOyggOyepeyGjOydmCDtmITsnqwgJXMg67iM656c7LmY66GcIOqwgOyguOyYpOq4sOulvCDqsbDsoIjtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAiXCIlc1wiIOyYteyFmOydmCBcIiVzXCIg6rCS7J2AICVz7JeQIOuMgO2VtCDsmKzrsJTrpbTsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODYzCisjOiBidWlsdGluL2ZldGNoLmM6MTAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCiBtc2dzdHIgIlwiJXNcIiDsmLXshZjsnYAgJyVzJ+yXkCDrjIDtlbQg66y07Iuc65Cp64uI64ukXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCiBtc2dzdHIgIiclcyfsl5DshJwg6rCA7KC47Jik64qUIOuwqeuyleydhCDslYwg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwODAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzXG4iCiBtc2dzdHIgIiVz7J2EKOulvCkg6rCA7KC47Jik64qUIOykkVxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4MiBidWlsdGluL3JlbW90ZS5jOjk2CisjOiBidWlsdGluL2ZldGNoLmM6MTIzOSBidWlsdGluL3JlbW90ZS5jOjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKIG1zZ3N0ciAiJXPsnYQo66W8KSDqsIDsoLjsmKwg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjU3CiBtc2dpZCAiIgogIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgogInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCkBAIC02NDY0LDMzICs3NDM4LDQxIEBACiAi66as66qo7Yq4IOyggOyepeyGjOulvCDsp4DsoJXtlZjsp4Ag7JWK7JWY7Iq164uI64ukLiDsg4gg66as67mE7KCE7J2EIOqwgOyguOyYrCDsiJgg7J6I64qUXG4iCiAiVVJM7J2064KYIOumrOuqqO2KuCDsnbTrpoTsnYQg7KeA7KCV7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjgwCiBtc2dpZCAiWW91IG5lZWQgdG8gc3BlY2lmeSBhIHRhZyBuYW1lLiIKIG1zZ3N0ciAi7YOc6re4IOydtOumhOydhCDsp4DsoJXtlbTslbwg7ZWp64uI64ukLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIyCittc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiLS1kZWVwZW4g7Ji17IWY7JeQIOydjOyImCDquYrsnbTripQg7KeA7JuQ7ZWY7KeAIOyViuyKteuLiOuLpCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEzMjQKK21zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItZGVlcGVuLCAtLWRlcHRoIOyYteyFmCDspJEg7ZWY64KY66eMIOyTuCDsiJgg7J6I7Iq164uI64ukIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTMyOQogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICItLWRlcHRoIOuwjyAtLXVuc2hhbGxvdyDsmLXshZjsnYAg6rCZ7J20IOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE2NworIzogYnVpbHRpbi9mZXRjaC5jOjEzMzEKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogIuyZhOyghO2VnCDsoIDsnqXshozsl5Ag64yA7ZW0IC0tdW5zaGFsbG93IOyYteyFmOydhCDsgqzsmqntlZjripQg6rG0IOyVnuuSpOqwgCDrp57sp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4NworIzogYnVpbHRpbi9mZXRjaC5jOjEzNTMKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCB0YWtlIGEgcmVwb3NpdG9yeSBhcmd1bWVudCIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwg66qF66C57JeQIOyggOyepeyGjCDsnbjsnpDqsIAg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4OQorIzogYnVpbHRpbi9mZXRjaC5jOjEzNTUKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgImZldGNoIC0tYWxsIOuqheugueydgCDroIjtjbzrn7DsiqTrqoXshLgg7J247J6Q7JmAIOqwmeydtCDsk7DrqbQg7JWe65Kk6rCAIOunnuyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjAwCisjOiBidWlsdGluL2ZldGNoLmM6MTM2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICLqt7jrn7Ag66as66qo7Yq464KYIOumrOuqqO2KuCDqt7jro7nsnbQg7JeG7Iq164uI64ukOiAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMDgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzc0CiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLqt7jro7nsnYQg6rCA7KC47Jik6rOgIOugiO2NvOufsOyKpOuqheyEuOulvCDsp4DsoJXtlZjrqbQg7JWe65Kk6rCAIOunnuyngCDslYrsirXri4jri6QiCiAKQEAgLTY1MDAsMjMgKzc0ODIsMjMgQEAKIG1zZ3N0ciAiIgogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA866mU7Iuc7KeAPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPO2MjOydvD5dIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjcKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MwogbXNnaWQgInBvcHVsYXRlIGxvZyB3aXRoIGF0IG1vc3QgPG4+IGVudHJpZXMgZnJvbSBzaG9ydGxvZyIKIG1zZ3N0ciAic2hvcnRsb2fsl5DshJwg7LWc64yAIDxuPuqwnCDroZzqt7jrpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NgogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgIi0tbG9n7JmAIOuPmeydvCAo7JeG7Ja07KeIIOyYiOyglSkiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5CiBtc2dpZCAidGV4dCIKIG1zZ3N0ciAi7YWN7Iqk7Yq4IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzQKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAogbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKIG1zZ3N0ciAiPO2FjeyKpO2KuD7rpbwg7Iuc7J6RIOuplOyLnOyngOuhnCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NQorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCiBtc2dpZCAiZmlsZSB0byByZWFkIGZyb20iCiBtc2dzdHIgIuydveyWtOuTpOydvCDtjIzsnbwiCiAKQEAgLTY1NzQsNjUgKzc1NTYsNjUgQEAKIAogIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NQogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBjb250YWluIHRoZSBjb21taXQiCi1tc2dzdHIgIuy7pOuwi+ydtCDtj6ztlajrkJwg66CI7Y2865+w7Iqk66eMIO2RnOyLnO2VqeuLiOuLpCIKK21zZ3N0ciAi7Luk67CL7J20IOuTpOyWtCDsnojripQg66CI7Y2865+w7Iqk66eMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mc2NrLmM6MTU2IGJ1aWx0aW4vcHJ1bmUuYzoxNDAKLW1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkiCi1tc2dzdHIgIuyXsOqysOydhCDtmZXsnbjtlZjripQg7KSR7J6F64uI64ukIgotCi0jOiBidWlsdGluL2ZzY2suYzo0ODYKKyM6IGJ1aWx0aW4vZnNjay5jOjUxOQogbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq4IOuUlOugie2EsOumrOulvCDtmZXsnbjtlZjripQg7KSR7J6F64uI64ukIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NTIKKyM6IGJ1aWx0aW4vZnNjay5jOjU4OAogbXNnaWQgImdpdCBmc2NrIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgImdpdCBmc2NrIFs87Ji17IWYPl0gWzzsmKTruIzsoJ3tirg+Li4uXSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTU4CisjOiBidWlsdGluL2ZzY2suYzo1OTQKIG1zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCi1tc2dzdHIgIuygkOq3vO2VoCDsiJgg7JeG64qUIOyYpOu4jOygne2KuOulvCDtkZzsi5ztlanri4jri6QiCittc2dzdHIgIuygkeq3vO2VoCDsiJgg7JeG64qUIOyYpOu4jOygne2KuOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU1OQorIzogYnVpbHRpbi9mc2NrLmM6NTk1CiBtc2dpZCAic2hvdyBkYW5nbGluZyBvYmplY3RzIgogbXNnc3RyICLsl7DqsrDsnbQg64GK7Ja07KeEIOyYpOu4jOygne2KuOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MAorIzogYnVpbHRpbi9mc2NrLmM6NTk2CiBtc2dpZCAicmVwb3J0IHRhZ3MiCiBtc2dzdHIgIu2DnOq3uOulvCDslYzrpr3ri4jri6QiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MQorIzogYnVpbHRpbi9mc2NrLmM6NTk3CiBtc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCiBtc2dzdHIgIuy1nOyDgeychCDrhbjrk5zrpbwg7JWM66a964uI64ukIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjIKKyM6IGJ1aWx0aW4vZnNjay5jOjU5OAogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgogbXNnc3RyICLsnbjrjbHsiqQg7Jik67iM7KCd7Yq4IO2XpOuTnCDrhbjrk5zrpbwg66eM65Ot64uI64ukIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjMKKyM6IGJ1aWx0aW4vZnNjay5jOjU5OQogbXNnaWQgIm1ha2UgcmVmbG9ncyBoZWFkIG5vZGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAicmVmbG9nIO2XpOuTnCDrhbjrk5zrpbwg66eM65Ot64uI64ukICjquLDrs7jqsJIpIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjQKKyM6IGJ1aWx0aW4vZnNjay5jOjYwMAogbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgogbXNnc3RyICLrrLbsnYzqs7wg67O07KGwIOyYpOu4jOygne2KuOuPhCDrp4zrk63ri4jri6QiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2NQorIzogYnVpbHRpbi9mc2NrLmM6NjAxCiBtc2dpZCAiY2hlY2sgb25seSBjb25uZWN0aXZpdHkiCiBtc2dzdHIgIuyXsOqysOunjCDtmZXsnbjtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2NgorIzogYnVpbHRpbi9mc2NrLmM6NjAyCiBtc2dpZCAiZW5hYmxlIG1vcmUgc3RyaWN0IGNoZWNraW5nIgogbXNnc3RyICLrjZQg7JeE6rKp7ZWY6rKMIO2ZleyduO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY4CisjOiBidWlsdGluL2ZzY2suYzo2MDQKIG1zZ2lkICJ3cml0ZSBkYW5nbGluZyBvYmplY3RzIGluIC5naXQvbG9zdC1mb3VuZCIKIG1zZ3N0ciAiLmdpdC9sb3N0LWZvdW5kIOyViOyXkCDsl7DqsrDsnbQg64GK7Ja07KeEIOyYpOu4jOygne2KuOulvCDslIHri4jri6QiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2OSBidWlsdGluL3BydW5lLmM6MTA3CisjOiBidWlsdGluL2ZzY2suYzo2MDUgYnVpbHRpbi9wcnVuZS5jOjEwNwogbXNnaWQgInNob3cgcHJvZ3Jlc3MiCiBtc2dzdHIgIuynhO2WiSDsg4HtmansnYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2ZzY2suYzo2MzAKKyM6IGJ1aWx0aW4vZnNjay5jOjYwNgorbXNnaWQgInNob3cgdmVyYm9zZSBuYW1lcyBmb3IgcmVhY2hhYmxlIG9iamVjdHMiCittc2dzdHIgIuygkeq3vO2VoCDsiJgg7JeG64qUIOyYpOu4jOygne2KuOydmCDsnbTrpoTsnYQg7J6Q7IS47Z6IIO2RnOyLnO2VqeuLiOuLpCIKKworIzogYnVpbHRpbi9mc2NrLmM6NjY1CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq466W8IO2ZleyduO2VqeuLiOuLpCIKIApAQCAtNjcyNCwyMjUgKzc3MDYsMjIwIEBACiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSBmb3IgJXMiCiBtc2dzdHIgIuyemOuqu+uQnCDsiqTroIjrk5wg7IiY66W8ICUyJHPsl5Ag64yA7ZW0IOyngOygle2WiOyKteuLiOuLpCAoJTEkZCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ1MiBidWlsdGluL2dyZXAuYzo0ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ1MyBidWlsdGluL2dyZXAuYzo0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICLtirjrpqzrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QgKCVzKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTAyCisjOiBidWlsdGluL2dyZXAuYzo1MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAi7KKF66WY6rCAICVz7J24IOyYpOu4jOygne2KuOyXkOyEnCBncmVw7J2EIO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo1NjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjU2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICJgJWMnIOyYteyFmOyXkOuKlCDsiKvsnpAg6rCS7J20IOyZgOyVvCDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjU3NwotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgotbXNnc3RyICInJXMn7J2EKOulvCkg7Je0IOyImCDsl4bsirXri4jri6QiCi0KLSM6IGJ1aWx0aW4vZ3JlcC5jOjY0NgorIzogYnVpbHRpbi9ncmVwLmM6NjQ3CiBtc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAi7J6R7JeFIO2PtOuNlCDrjIDsi6Dsl5Ag7J24642x7Iqk7JeQ7IScIOqygOyDie2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjQ4CisjOiBidWlsdGluL2dyZXAuYzo2NDkKIG1zZ2lkICJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIKIG1zZ3N0ciAi6rmD7Jy866GcIOq0gOumrO2VmOyngCDslYrsnYAg64K07Jqp7JeQ7IScIOywvuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjUwCisjOiBidWlsdGluL2dyZXAuYzo2NTEKIG1zZ2lkICJzZWFyY2ggaW4gYm90aCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIuy2lOyggeuQmOuKlCDtjIzsnbzqs7wg7LaU7KCB65CY7KeAIOyViuuKlCDtjIzsnbwg66qo65GQ7JeQ7IScIOqygOyDie2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjUyCisjOiBidWlsdGluL2dyZXAuYzo2NTMKIG1zZ2lkICJpZ25vcmUgZmlsZXMgc3BlY2lmaWVkIHZpYSAnLmdpdGlnbm9yZSciCiBtc2dzdHIgIicuZ2l0aWdub3JlJ+uhnCDsp4DsoJXtlZwg7YyM7J287J2EIOustOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU1CisjOiBidWlsdGluL2dyZXAuYzo2NTYKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi7J287LmY7ZWY7KeAIOyViuuKlCDspITsnYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1OAogbXNnaWQgImNhc2UgaW5zZW5zaXRpdmUgbWF0Y2hpbmciCiBtc2dzdHIgIuuMgOyGjOusuOyekCDqtazrs4TtlZjsp4Ag7JWK6rOgIOunnuy2peuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU5CisjOiBidWlsdGluL2dyZXAuYzo2NjAKIG1zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKIG1zZ3N0ciAi64uo7Ja0IOqyveqzhCDrtoDrtoTsl5Ag64yA7ZW07ISc66eMIO2MqO2EtOydhCDrp57stqXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2MQorIzogYnVpbHRpbi9ncmVwLmM6NjYyCiBtc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgYXMgdGV4dCIKIG1zZ3N0ciAi67CU7J2064SI66asIO2MjOydvOydhCDthY3siqTtirjroZwg7LKY66as7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NAogbXNnaWQgImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIKIG1zZ3N0ciAi67CU7J2064SI66asIO2MjOydvOyXkOyEnCDtjKjthLTsnYQg66ee7LaU7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY2CisjOiBidWlsdGluL2dyZXAuYzo2NjcKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCiBtc2dzdHIgInRleHRjb252IO2VhO2EsOulvCDsgqzsmqntlbQg67CU7J2064SI66asIO2MjOydvOydhCDsspjrpqztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2OAorIzogYnVpbHRpbi9ncmVwLmM6NjY5CiBtc2dpZCAiZGVzY2VuZCBhdCBtb3N0IDxkZXB0aD4gbGV2ZWxzIgogbXNnc3RyICLstZzrjIAgPOq5iuydtD4g64uo6rOE66eM7YG8IOuCtOugpOqwkeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjcyCisjOiBidWlsdGluL2dyZXAuYzo2NzMKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAiUE9TSVgg7ZmV7J6lIOygleq3nOyLneydhCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3NQorIzogYnVpbHRpbi9ncmVwLmM6Njc2CiBtc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgogbXNnc3RyICLquLDrs7ggUE9TSVgg7KCV6rec7Iud7J2EIOyCrOyaqe2VqeuLiOuLpCAo6riw67O46rCSKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc4CisjOiBidWlsdGluL2dyZXAuYzo2NzkKIG1zZ2lkICJpbnRlcnByZXQgcGF0dGVybnMgYXMgZml4ZWQgc3RyaW5ncyIKIG1zZ3N0ciAi7Yyo7YS07J2EIOqzoOyglSDrrLjsnpDsl7TroZwg7ZW07ISd7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MgogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAi7Y6E6rO8IO2YuO2ZmOuQmOuKlCDsoJXqt5zsi53snYQg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NQogbXNnaWQgInNob3cgbGluZSBudW1iZXJzIgogbXNnc3RyICLspIQg67KI7Zi466W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg1CisjOiBidWlsdGluL2dyZXAuYzo2ODYKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAi7YyM7J28IOydtOumhOydhCDtkZzsi5ztlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NwogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICLtjIzsnbwg7J2066aE7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg4CisjOiBidWlsdGluL2dyZXAuYzo2ODkKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICLtjIzsnbwg7J2066aE7J2EIOy1nOyDgeychCDrlJTroInthLDrpqwg7IOB64yAIOqyveuhnOuhnCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5MAorIzogYnVpbHRpbi9ncmVwLmM6NjkxCiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICLsnbzsuZjtlZjripQg7KSE7J2EIO2RnOyLnO2VmOyngCDslYrqs6Ag7YyM7J28IOydtOumhOunjCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5MgorIzogYnVpbHRpbi9ncmVwLmM6NjkzCiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgIi0tZmlsZXMtd2l0aC1tYXRjaGVzIOyYteyFmOqzvCDrj5nsnbwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5NQorIzogYnVpbHRpbi9ncmVwLmM6Njk2CiBtc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgogbXNnc3RyICLsnbzsuZjtlZjsp4Ag7JWK64qUIO2MjOydvOydmCDsnbTrpoTrp4wg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCiBtc2dzdHIgIu2MjOydvCDsnbTrpoQg64uk7J2M7JeQIE5VTOydhCDstpzroKXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5OQorIzogYnVpbHRpbi9ncmVwLmM6NzAwCiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi7J287LmY7ZWY64qUIOykhOydhCDtkZzsi5ztlZjsp4Ag7JWK6rOgIOydvOy5mO2VmOuKlCDsiJjrpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMQogbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgogbXNnc3RyICLsnbzsuZjtlZjripQg67aA67aE7J2EIOqwleyhsO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAyCisjOiBidWlsdGluL2dyZXAuYzo3MDMKIG1zZ2lkICJwcmludCBlbXB0eSBsaW5lIGJldHdlZW4gbWF0Y2hlcyBmcm9tIGRpZmZlcmVudCBmaWxlcyIKIG1zZ3N0ciAi64uk66W4IO2MjOydvCDsgqzsnbTsl5Ag7J287LmY7ZWY64qUIOu2gOu2hOydmCDsgqzsnbTsl5Ag67mIIOykhOydhCDstpzroKXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNAorIzogYnVpbHRpbi9ncmVwLmM6NzA1CiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAi6rCZ7J2AIO2MjOydvOyXkOyEnCDsl6zrn6wg6rCc6rCAIOydvOy5mO2VmOuptCDtjIzsnbwg7J2066aE7J2EIO2VnCDrsojrp4wg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwOAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICLsnbzsuZjtlZjripQg67aA67aEIOyVnuuSpOyXkCDsu6jthY3siqTtirjrpbwgPG4+7KSEIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEwCisjOiBidWlsdGluL2dyZXAuYzo3MTEKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICLsnbzsuZjtlZjripQg67aA67aEIOyVnuyXkCDsu6jthY3siqTtirjrpbwgPG4+7KSEIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEyCisjOiBidWlsdGluL2dyZXAuYzo3MTMKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIuydvOy5mO2VmOuKlCDrtoDrtoQg65Kk7JeQIOy7qO2FjeyKpO2KuOulvCA8bj7spIQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNQogbXNnaWQgInVzZSA8bj4gd29ya2VyIHRocmVhZHMiCiBtc2dzdHIgIjxuPuqwnOydmCDsnpHsl4Ug7Iqk66CI65Oc66W8IOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE1CisjOiBidWlsdGluL2dyZXAuYzo3MTYKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgogbXNnc3RyICItQyBOVU0g7Ji17IWY7J2YIOykhOyehCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE4CisjOiBidWlsdGluL2dyZXAuYzo3MTkKIG1zZ2lkICJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICLsnbzsuZgg7ZWt66qpIOyVnuyXkCDtlajsiJgg7J2066aEIOykhOydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyMAorIzogYnVpbHRpbi9ncmVwLmM6NzIxCiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCiBtc2dzdHIgIuuTpOyWtCDsnojripQg7ZWo7IiY66W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzIzCisjOiBidWlsdGluL2dyZXAuYzo3MjQKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAi7YyM7J287JeQ7IScIO2MqO2EtOydhCDsnb3sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyNQorIzogYnVpbHRpbi9ncmVwLmM6NzI2CiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICI87Yyo7YS0PuqzvCDsnbzsuZgiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyNworIzogYnVpbHRpbi9ncmVwLmM6NzI4CiBtc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKIG1zZ3N0ciAiLWUg7Ji17IWY7Jy866GcIOyngOygle2VnCDtjKjthLTsnYQg6rKw7ZWp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MAogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICLstpzroKXtlZjsp4Ag7JWK6rOgIOydvOy5mO2VmOuKlCDtla3rqqnsnYQgZXhpdCgpIOyDge2DnCDrsojtmLjroZwg66as7YS07ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MgogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgIuuqqOuToCDtjKjthLTqs7wg7J287LmY7ZWY64qUIO2MjOydvOydmCDsnbzsuZjtlZjripQg67aA67aE66eMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQzCisjOiBidWlsdGluL2dyZXAuYzo3NDQKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiZ3JlcCDtkZztmITsi53sl5Ag64yA7ZWcIO2MjOyLsSDtirjrpqzrpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0OAogbXNnaWQgInBhZ2VyIgogbXNnc3RyICLtjpjsnbTsoIAiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0NworIzogYnVpbHRpbi9ncmVwLmM6NzQ4CiBtc2dpZCAic2hvdyBtYXRjaGluZyBmaWxlcyBpbiB0aGUgcGFnZXIiCiBtc2dzdHIgIuydvOy5mO2VmOuKlCDtjIzsnbzsnYQg7Y6Y7J207KCAIO2UhOuhnOq3uOueqOyXkOyEnCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc1MAorIzogYnVpbHRpbi9ncmVwLmM6NzUxCiBtc2dpZCAiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIgogbXNnc3RyICJncmVwKDEpIOyLpO2WieydhCDtl4jsmqntlanri4jri6QgKOydtCDruYzrk5zsl5DshJzripQg66y07IucKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODEzCisjOiBidWlsdGluL2dyZXAuYzo4MTQKIG1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuLiIKIG1zZ3N0ciAi7Yyo7YS07J2EIOyngOygle2VmOyngCDslYrslZjsirXri4jri6QuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NworIzogYnVpbHRpbi9ncmVwLmM6ODQ2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAi7J6Y66q765CcIOyKpOugiOuTnCDsiJjrpbwg7KeA7KCV7ZaI7Iq164uI64ukICglZCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg3NQorIzogYnVpbHRpbi9ncmVwLmM6ODc2CiBtc2dpZCAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIG9ubHkgd29ya3Mgb24gdGhlIHdvcmt0cmVlIgogbXNnc3RyICItLW9wZW4tZmlsZXMtaW4tcGFnZXIg7Ji17IWY7J2AIOyekeyXhSDtj7TrjZTsl5DshJzrp4wg64+Z7J6R7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMgogbXNnaWQgIi0tY2FjaGVkIG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1uby1pbmRleC4iCiBtc2dzdHIgIiIKICItLWNhY2hlZCDrmJDripQgLS11bnRyYWNrZWQg7Ji17IWY7J2AIC0tbm8taW5kZXgg7Ji17IWY6rO8IOqwmeydtCDsk7gg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwNgorIzogYnVpbHRpbi9ncmVwLmM6OTA3CiBtc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMuIgogbXNnc3RyICItLW5vLWluZGV4IOuYkOuKlCAtLXVudHJhY2tlZCDsmLXshZjsnYAg66as67mE7KCE6rO8IOqwmeydtCDsk7gg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQorIzogYnVpbHRpbi9ncmVwLmM6OTEwCiBtc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMuIgogbXNnc3RyICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCDsmLXshZjsnYAg7LaU7KCB65CY64qUIOuCtOyaqeyXkCDrjIDtlbQg7JO4IOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxOAogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgIi0tY2FjaGVkIOyYteyFmOqzvCDtirjrpqzrpbwg66qo65GQIOyngOygle2WiOyKteuLiOuLpC4iCiAKQEAgLTY5NTgsODMgKzc5MzUsODcgQEAKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjkzCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTQKIG1zZ2lkICJ0eXBlIgogbXNnc3RyICLsooXrpZgiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5MworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CiBtc2dpZCAib2JqZWN0IHR5cGUiCiBtc2dzdHIgIuyYpOu4jOygne2KuCDsooXrpZgiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk1CiBtc2dpZCAid3JpdGUgdGhlIG9iamVjdCBpbnRvIHRoZSBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIuyYpOu4jOygne2KuOulvCDsmKTruIzsoJ3tirgg642w7J207YSw67Kg7J207Iqk66GcIOyUgeuLiOuLpCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk2CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKIG1zZ2lkICJyZWFkIHRoZSBvYmplY3QgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi7ZGc7KSAIOyeheugpeyXkOyEnCDsmKTruIzsoJ3tirjrpbwg7J297Iq164uI64ukIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQogbXNnaWQgInN0b3JlIGZpbGUgYXMgaXMgd2l0aG91dCBmaWx0ZXJzIgogbXNnc3RyICLtjIzsnbzsnYQg7ZWE7YSwIOyXhuydtCDqt7jrjIDroZwg7KCA7J6l7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTkKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKIG1zZ2lkICIiCiAianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgogbXNnc3RyICLsnoTsnZjsnZgg7JOw66CI6riwIOuNsOydtO2EsOulvCDtlbTsi5ztlbQg7IaQ7IOB65CcIOyYpOu4jOygne2KuOulvCDrp4zrk63ri4jri6QgKOuUlOuyhOq5heyaqSkiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKIG1zZ2lkICJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIKIG1zZ3N0ciAi7YyM7J287J20IOydtCDqsr3roZzsl5DshJwg7JioIOqyg+yymOufvCDsspjrpqztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxCisjOiBidWlsdGluL2hlbHAuYzo0MgogbXNnaWQgInByaW50IGFsbCBhdmFpbGFibGUgY29tbWFuZHMiCiBtc2dzdHIgIuyCrOyaqSDqsIDriqXtlZwg66qo65OgIOuqheugueydmCDrqqnroZ3snYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MgorIzogYnVpbHRpbi9oZWxwLmM6NDMKK21zZ2lkICJleGNsdWRlIGd1aWRlcyIKK21zZ3N0ciAi7ISk66qF7IScIOygnOyZuCIKKworIzogYnVpbHRpbi9oZWxwLmM6NDQKIG1zZ2lkICJwcmludCBsaXN0IG9mIHVzZWZ1bCBndWlkZXMiCiBtc2dzdHIgIuycoOyaqe2VnCDslYjrgrTshJwg66qp66Gd7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDMKKyM6IGJ1aWx0aW4vaGVscC5jOjQ1CiBtc2dpZCAic2hvdyBtYW4gcGFnZSIKIG1zZ3N0ciAi66eoIO2OmOydtOyngOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ0CisjOiBidWlsdGluL2hlbHAuYzo0NgogbXNnaWQgInNob3cgbWFudWFsIGluIHdlYiBicm93c2VyIgogbXNnc3RyICLsm7kg67iM65287Jqw7KCA7JeQ7IScIOyEpOuqheyEnOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ2CisjOiBidWlsdGluL2hlbHAuYzo0OAogbXNnaWQgInNob3cgaW5mbyBwYWdlIgogbXNnc3RyICLsnbjtj6wg7Y6Y7J207KeA66W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NTIKKyM6IGJ1aWx0aW4vaGVscC5jOjU0CiBtc2dpZCAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmQ+XSIKIG1zZ3N0ciAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPOuqheuguT5dIgogCi0jOiBidWlsdGluL2hlbHAuYzo2NAorIzogYnVpbHRpbi9oZWxwLmM6NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGhlbHAgZm9ybWF0ICclcyciCiBtc2dzdHIgIiclcycg64+E7JuA66eQIO2PrOunt+ydhCDsnbjsi53tlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9oZWxwLmM6OTEKKyM6IGJ1aWx0aW4vaGVscC5jOjkzCiBtc2dpZCAiRmFpbGVkIHRvIHN0YXJ0IGVtYWNzY2xpZW50LiIKIG1zZ3N0ciAiZW1hY3NjbGllbnQg7Iuc7J6R7JeQIOyLpO2MqO2WiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEwNAorIzogYnVpbHRpbi9oZWxwLmM6MTA2CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgogbXNnc3RyICJlbWFjc2NsaWVudCDrsoTsoIQg7YyM7Iux7JeQIOyLpO2MqO2WiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjExMgorIzogYnVpbHRpbi9oZWxwLmM6MTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImVtYWNzY2xpZW50IHZlcnNpb24gJyVkJyB0b28gb2xkICg8IDIyKS4iCiBtc2dzdHIgImVtYWNzY2xpZW50ICclZCcg67KE7KCE7J2AIOuEiOustCDqs7zqsbAgKDwgMjIpIOuyhOyghOyeheuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEzMCBidWlsdGluL2hlbHAuYzoxNTEgYnVpbHRpbi9oZWxwLmM6MTYwIGJ1aWx0aW4vaGVscC5jOjE2OAorIzogYnVpbHRpbi9oZWxwLmM6MTMyIGJ1aWx0aW4vaGVscC5jOjE1MyBidWlsdGluL2hlbHAuYzoxNjIgYnVpbHRpbi9oZWxwLmM6MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleGVjICclcyciCiBtc2dzdHIgIuyLpO2WiSDsi6TtjKg6ICclcyciCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIwNQorIzogYnVpbHRpbi9oZWxwLmM6MjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBwYXRoIGZvciB1bnN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtNzA0Myw3ICs4MDI0LDcgQEAKICInJXMnOiDsp4Dsm5DtlZjsp4Ag7JWK64qUIOunqCDtjpjsnbTsp4Ag67O06riwIO2UhOuhnOq3uOueqCDqsr3roZwuXG4iCiAi64yA7Iug7JeQICdtYW4uPOuPhOq1rD4uY21kJyDsmLXshZjsnYQg7IKs7Jqp7ZW0IOuztOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIxNworIzogYnVpbHRpbi9oZWxwLmM6MjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtNzA1Miw0MjUgKzgwMzMsNDI1IEBACiAiJyVzJzog7KeA7JuQ7ZWY7KeAIOyViuuKlCDrp6gg7Y6Y7J207KeAIOuztOq4sCDtlITroZzqt7jrnqgg66qF66C5LlxuIgogIuuMgOyLoOyXkCAnbWFuLjzrj4Tqtaw+LnBhdGgnIOyYteyFmOydhCDsgqzsmqntlbQg67O07Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzM0CisjOiBidWlsdGluL2hlbHAuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5rbm93biBtYW4gdmlld2VyLiIKIG1zZ3N0ciAiJyVzJzog7JWMIOyImCDsl4bripQg66eoIO2OmOydtOyngCDrs7TquLAg7ZSE66Gc6re4656oLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzUxCisjOiBidWlsdGluL2hlbHAuYzozNTMKIG1zZ2lkICJubyBtYW4gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgIuyalOyyreydhCDsspjrpqztlZwg66eoIO2OmOydtOyngCDrs7TquLAg7ZSE66Gc6re4656o7J20IOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzU5CisjOiBidWlsdGluL2hlbHAuYzozNjEKIG1zZ2lkICJubyBpbmZvIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICLsmpTssq3snYQg7LKY66as7ZWcIOyduO2PrCDtjpjsnbTsp4Ag67O06riwIO2UhOuhnOq3uOueqOydtCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwOAorIzogYnVpbHRpbi9oZWxwLmM6NDAzCiBtc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKIG1zZ3N0ciAi6rK966Gc66eI64ukIOyGjeyEsSDsoJXsnZjtlZjquLAiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwOQorIzogYnVpbHRpbi9oZWxwLmM6NDA0CiBtc2dpZCAiRXZlcnlkYXkgR2l0IFdpdGggMjAgQ29tbWFuZHMgT3IgU28iCiBtc2dzdHIgIuunpOydvOunpOydvCDsgqzsmqntlZjripQgMjDqsJwg64K07Jm47J2YIOq5gyDrqoXroLkiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMAorIzogYnVpbHRpbi9oZWxwLmM6NDA1CiBtc2dpZCAiQSBHaXQgZ2xvc3NhcnkiCiBtc2dzdHIgIuq5gyDsmqnslrQg7IKs7KCEIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTEKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNgogbXNnaWQgIlNwZWNpZmllcyBpbnRlbnRpb25hbGx5IHVudHJhY2tlZCBmaWxlcyB0byBpZ25vcmUiCiBtc2dzdHIgIuydmOuPhOyggeycvOuhnCDstpTsoIHtlZjsp4Ag7JWK64qUIO2MjOydvOydhCDrrLTsi5ztlZjqsowg7KeA7KCV7ZWY6riwIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTIKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNwogbXNnaWQgIkRlZmluaW5nIHN1Ym1vZHVsZSBwcm9wZXJ0aWVzIgogbXNnc3RyICLtlZjsnIQg66qo65OIIOyGjeyEsSDsoJXsnZjtlZjquLAiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMworIzogYnVpbHRpbi9oZWxwLmM6NDA4CiBtc2dpZCAiU3BlY2lmeWluZyByZXZpc2lvbnMgYW5kIHJhbmdlcyBmb3IgR2l0IgogbXNnc3RyICLquYPsnZgg66as67mE7KCEIOuwjyDrspTsnITrpbwg7KeA7KCV7ZWY6riwIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTQKKyM6IGJ1aWx0aW4vaGVscC5jOjQwOQogbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCAoZm9yIHZlcnNpb24gMS41LjEgb3IgbmV3ZXIpIgogbXNnc3RyICLquYMg65Sw65287ZWY6riwIOyViOuCtOyEnCAo67KE7KCEIDEuNS4xIOydtO2bhCkiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxNQorIzogYnVpbHRpbi9oZWxwLmM6NDEwCiBtc2dpZCAiQW4gb3ZlcnZpZXcgb2YgcmVjb21tZW5kZWQgd29ya2Zsb3dzIHdpdGggR2l0IgogbXNnc3RyICLstpTsspztlZjripQg6rmDIO2ZnOyaqSDsnpHsl4Ug7Iic7ISc7J2YIOqwnOyalCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDI3CisjOiBidWlsdGluL2hlbHAuYzo0MjIKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOlxuIgogbXNnc3RyICLsnpDso7wg7IKs7Jqp7ZWY64qUIOq5gyDslYjrgrTshJzripQg64uk7J2M6rO8IOqwmeyKteuLiOuLpDpcbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQ4IGJ1aWx0aW4vaGVscC5jOjQ2NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1c2FnZTogJXMlcyIKLW1zZ3N0ciAi7IKs7Jqp67KVOiAlcyVzIgotCi0jOiBidWlsdGluL2hlbHAuYzo0ODEKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCiBtc2dzdHIgImBnaXQgJXMnIOuqheugueydgCBgJXMnIOuqheugueydmCDri6jstpXsnoXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MgorIzogYnVpbHRpbi9oZWxwLmM6NDYyIGJ1aWx0aW4vaGVscC5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2FnZTogJXMlcyIKK21zZ3N0ciAi7IKs7Jqp67KVOiAlcyVzIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCiBtc2dzdHIgIiVz7J2EKOulvCkg7Je0IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCB0eXBlIG1pc21hdGNoIGF0ICVzIgogbXNnc3RyICLsmKTruIzsoJ3tirgg7KKF66WY6rCAIOunnuyngCDslYrsirXri4jri6QgKCVzKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGlkIG5vdCByZWNlaXZlIGV4cGVjdGVkIG9iamVjdCAlcyIKIG1zZ3N0ciAi7JiI7IOB7ZWcICVzIOyYpOu4jOygne2KuOulvCDrsJvsp4Ag7JWK7JWY7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXM6IGV4cGVjdGVkIHR5cGUgJXMsIGZvdW5kICVzIgogbXNnc3RyICIlcyDsmKTruIzsoJ3tirg6IOyYiOyDge2VnCDsooXrpZggJXMsIOyLpOygnCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjY3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCiBtc2dzdHJbMF0gIiVkIOuwlOydtO2KuOulvCDssYTsmrgg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzkKIG1zZ2lkICJlYXJseSBFT0YiCiBtc2dzdHIgIuuEiOustCDruajrpqwg7YyM7J287J20IOuBneuCqCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODAKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgogbXNnc3RyICLsnoXroKXsl5Ag7J296riwIOyYpOulmCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTIKIG1zZ2lkICJ1c2VkIG1vcmUgYnl0ZXMgdGhhbiB3ZXJlIGF2YWlsYWJsZSIKIG1zZ3N0ciAi7J6I64qUIOuwlOydtO2KuOuztOuLpCDrjZQg66eO7J20IOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjk3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTkKIG1zZ2lkICJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IgogbXNnc3RyICLtmITsnqwg7KCV7J2Y65CcIG9mZl907JeQIOu5hO2VtCDrrLbsnYzsnbQg64SI66y0IO2BveuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMDIgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjkyCittc2dpZCAicGFjayBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBzaXplIgorbXNnc3RyICLrrLbsnYwg7YGs6riw6rCAIOy1nOuMgCDtl4jsmqkg7YGs6riw66W8IOuEmOyXiOyKteuLiOuLpCIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAiJyVzJ+ydhCjrpbwpIOunjOuTpCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrZmlsZSAnJXMnIgogbXNnc3RyICInJXMnIOustuydjCDtjIzsnbzsnYQg7Je0IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM2CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgIuustuydjCDshJzrqoXsnbQg66ee7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayB2ZXJzaW9uICU8UFJJdTMyPiB1bnN1cHBvcnRlZCIKIG1zZ3N0ciAi66y27J2M7J2YICU8UFJJdTMyPiDrsoTsoITsnYQg7KeA7JuQ7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzUyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNTYKICMsIGMtZm9ybWF0Ci1tc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJWx1OiAlcyIKLW1zZ3N0ciAi66y27J2M7J2YICVsdSDsmKTtlITshYvsl5Ag7J6Y66q765CcIOyYpOu4jOygne2KuOqwgCDsnojsirXri4jri6Q6ICVzIgorbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICU8UFJJdU1BWD46ICVzIgorbXNnc3RyICLrrLbsnYzsnZggJTxQUkl1TUFYPiDsmKTtlITshYvsl5Ag7J6Y66q765CcIOyYpOu4jOygne2KuOqwgCDsnojsirXri4jri6Q6ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo0NzMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZsYXRlIHJldHVybmVkICVkIgogbXNnc3RyICJpbmZsYXRl6rCAICVk67KI7J2EIOumrO2EtO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjcKIG1zZ2lkICJvZmZzZXQgdmFsdWUgb3ZlcmZsb3cgZm9yIGRlbHRhIGJhc2Ugb2JqZWN0IgogbXNnc3RyICLrjbjtg4Ag67Kg7J207IqkIOyYpOu4jOygne2KuOyXkCDrjIDtlbQg7Jik7ZSE7IWLIOqwkuydtCDsmKTrsoTtlIzroZzsmrAiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTM1CiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgogbXNnc3RyICLrjbjtg4Ag67Kg7J207IqkIOyYpO2UhOyFi+ydtCDrspTsnITrpbwg67KX7Ja064Ks7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgogbXNnc3RyICLslYwg7IiYIOyXhuuKlCDsmKTruIzsoJ3tirgg7KKF66WYICVk67KIIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NAogbXNnaWQgImNhbm5vdCBwcmVhZCBwYWNrIGZpbGUiCiBtc2dzdHIgIuustuydjCDtjIzsnbzsl5Ag64yA7ZW0IHByZWFk66W8IO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NgogIywgYy1mb3JtYXQKLW1zZ2lkICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJWx1IGJ5dGUgbWlzc2luZyIKLW1zZ2lkX3BsdXJhbCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICVsdSBieXRlcyBtaXNzaW5nIgotbXNnc3RyWzBdICLrrLbsnYwg7YyM7J287J20IOuEiOustCDsnbzssI0g64Gd64KoLiAlbHUg67CU7J207Yq4IOu2gOyhsSIKK21zZ2lkICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlIG1pc3NpbmciCittc2dpZF9wbHVyYWwgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGVzIG1pc3NpbmciCittc2dzdHJbMF0gIuustuydjCDtjIzsnbzsnbQg64SI66y0IOydvOywjSDrgZ3rgqguICU8UFJJdU1BWD4g67CU7J207Yq4IOu2gOyhsSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTk3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo2MDIKIG1zZ2lkICJzZXJpb3VzIGluZmxhdGUgaW5jb25zaXN0ZW5jeSIKIG1zZ3N0ciAi7Ius6rCB7ZWcIGluZmxhdGUg67aA7KGw7ZmUIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDMgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ5IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc3MgotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODA2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1NCBidWlsdGluL2luZGV4LXBhY2suYzo3NzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxMSBidWlsdGluL2luZGV4LXBhY2suYzo4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICJTSEExIOy2qeuPjOydtCAlc+yXkOyEnCDrsJzqsqzrkJjsl4jsirXri4jri6QhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjIKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICIlc+ydhCjrpbwpIOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgJXMiCiBtc2dzdHIgIuq4sOyhtCAlcyDsmKTruIzsoJ3tirjrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCiBtc2dzdHIgIuyemOuqu+uQnCDruJTroa0g7Jik67iM7KCd7Yq4ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkICVzIgogbXNnc3RyICLsnpjrqrvrkJwgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ4CiBtc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgogbXNnc3RyICLsmKTruIzsoJ3tirjsl5Ag7Jik66WYIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAiJXPsnZgg66qo65OgIO2VmOychCDsmKTruIzsoJ3tirjsl5Ag7KCR6re87ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxNyBidWlsdGluL2luZGV4LXBhY2suYzo5NDgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkyMiBidWlsdGluL2luZGV4LXBhY2suYzo5NTMKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgIuuNuO2DgOulvCDsoIHsmqntlZjripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTIzCiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIuyYpOu4jOygne2KuOulvCDrsJvripQg7KSRIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTIzCiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq4IOyduOuNseyKpOulvCDrp4zrk5zripQg7KSRIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU1CiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICLrrLbsnYzsnbQg7IaQ7IOB65CY7JeI7Iq164uI64ukIChTSEExIOydvOy5mO2VmOyngCDslYrsnYwpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYwCiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgogbXNnc3RyICLrrLbsnYwg7YyM7J287JeQIOuMgO2VtCBmc3RhdCgp7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjMKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCiBtc2dzdHIgIuustuydjOydmCDrgZ3sl5Ag7JOw66CI6riwIOuNsOydtO2EsOqwgCDsnojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzQKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogbXNnc3RyICJwYXJzZV9wYWNrX29iamVjdHMoKeyXkOyEnCDqt7nsi6ztlZwg7Zi8656AIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk3CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAi64247YOA66W8IOyVjOyVhOuCtOuKlCDspJEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICLsiqTroIjrk5zrpbwg66eM65OkIOyImCDsl4bsirXri4jri6Q6ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUwCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAi6re57Ius7ZWcIO2YvOuegCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdHMiCiBtc2dzdHJbMF0gIuuhnOy7rCDsmKTruIzsoJ3tirggJWTqsJwg66eI7LmoIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICIlc+yXkCDrjIDtlbQg7JiI7IOB7LmYIOuqu+2VnCDthYzsnbwg7LK07YGs7ISsICjrlJTsiqTtgawg7IaQ7IOBPykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKIG1zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCiBtc2dzdHJbMF0gIuustuydjOyXkCDslYzslYTrgrTsp4Ag66q77ZWcIOuNuO2DgCAlZOqwnOqwgCDsnojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCiBtc2dzdHIgIuy2lOqwgO2VnCDsmKTruIzsoJ3tirjrpbwgZGVmbGF0Ze2VoCDsiJgg7JeG7Iq164uI64ukICglZCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9jYWwgb2JqZWN0ICVzIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIiVzIOuhnOy7rCDsmKTruIzsoJ3tirjqsIAg7IaQ7IOB65CY7JeI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzkzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzk2CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgIuustuydjCDtjIzsnbzsnYQg64ur64qU642wIOyYpOulmCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUga2VlcCBmaWxlICclcyciCiBtc2dzdHIgIiclcycg67O07KG0IO2MjOydvOydhCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAi7JO0ICclcycg67O07KG0IO2MjOydvOydhCDri6vsp4Ag66q77ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDMwCiBtc2dpZCAiY2Fubm90IHN0b3JlIHBhY2sgZmlsZSIKIG1zZ3N0ciAi66y27J2MIO2MjOydvOydhCDsoIDsnqXtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0MQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICLsnbjrjbHsiqQg7YyM7J287J2EIOyggOyepe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDcxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiBtc2dzdHIgIuyemOuqu+uQnCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODEgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY3OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4NCBidWlsdGluL2luZGV4LXBhY2suYzoxNjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCiBtc2dzdHIgIuyKpOugiOuTnCDquLDriqXsnbQg7JeG7Iq164uI64ukLiAlcyDrrLTsi5wiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIuq4sOyhtCAnJXMnIOustuydjCDtjIzsnbzsnYQg7Je0IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKIG1zZ3N0ciAiJyVzJ+yXkCDrjIDtlZwg6riw7KG0IOustuydjCBpZHgg7YyM7J287J2EIOyXtCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTg5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vbiBkZWx0YTogJWQgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJub24gZGVsdGE6ICVkIG9iamVjdHMiCiBtc2dzdHJbMF0gIuuNuO2DgCDslYTri5g6IOyYpOu4jOygne2KuCAlZOqwnCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3RzIgogbXNnc3RyWzBdICLssrTsnbgg6ri47J20ID0gJWQ6IOyYpOu4jOygne2KuCAlbHXqsJwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2ZpbGUgbmFtZSAnJXMnIGRvZXMgbm90IGVuZCB3aXRoICcucGFjayciCiBtc2dzdHIgIiclcycg66y27J2M7YyM7J28IOydtOumhOydtCAnLnBhY2sn7Jy866GcIOuBneuCmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MzgKLW1zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKLW1zZ3N0ciAi7ZiE7J6sIOuUlOugie2EsOumrOuhnCDrj4zslYTsmKwg7IiYIOyXhuyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5MCBidWlsdGluL2luZGV4LXBhY2suYzoxNjkzCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzA1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxMiBidWlsdGluL2luZGV4LXBhY2suYzoxNzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKIG1zZ3N0ciAi7J6Y66q765CcICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzIzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzMyCiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIi0tZml4LXRoaW4g7Ji17IWY7J2AIC0tc3RkaW4g7Ji17IWY6rO8IOqwmeydtCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0MAogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAiLS12ZXJpZnkg7Ji17IWY7JeQIOustuydjO2MjOydvCDsnbTrpoTsnYQg7KeA7KCV7ZWY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSBzdGF0KCntlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjEKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0IHRlbXBsYXRlICclcyciCiBtc2dzdHIgIiclcycg7ISc7Iud7J2EIHN0YXQoKe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo2NgorIzogYnVpbHRpbi9pbml0LWRiLmM6NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW5kaXIgJyVzJyIKIG1zZ3N0ciAiJyVzJ+ydhCjrpbwpIG9wZW5kaXIoKe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3NworIzogYnVpbHRpbi9pbml0LWRiLmM6NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSByZWFkbGluaygp7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc5CisjOiBidWlsdGluL2luaXQtZGIuYzo3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3ltbGluayAnJXMnICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSAnJXMn7JeQIHN5bWxpbmsoKe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4NQorIzogYnVpbHRpbi9pbml0LWRiLmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICInJXMn7J2EKOulvCkgJyVzJ+yXkCDrs7XsgqztlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6ODkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHRlbXBsYXRlICVzIgogbXNnc3RyICIlcyDshJzsi53snYQg66y07Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wbGF0ZXMgbm90IGZvdW5kICVzIgogbXNnc3RyICIlc+yXkCDshJzsi53snbQg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMzUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgY29weWluZyB0ZW1wbGF0ZXMgZnJvbSAnJXMnOiAlcyIKIG1zZ3N0ciAiJyVzJ+yXkOyEnCDshJzsi53snYQg67O17IKs7ZWY7KeAIOyViuyKteuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMxMiBidWlsdGluL2luaXQtZGIuYzozMTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCi1tc2dzdHIgIiVzIO2MjOydvOydtCDsnbTrr7gg7J6I7Iq164uI64ukIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzozNDQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gaGFuZGxlIGZpbGUgdHlwZSAlZCIKIG1zZ3N0ciAi7YyM7J28IOyiheulmCAlZOuyiOydhCDsspjrpqztlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzQ3CisjOiBidWlsdGluL2luaXQtZGIuYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgIiVz7J2EKOulvCkgJXMo7Jy8KeuhnCDsmK7quLgg7IiYIOyXhuyKteuLiOuLpCIKIAotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAnJXMnIGlzIGVpdGhlciAiUmVpbml0aWFsaXplZAotIy4gZXhpc3RpbmciIG9yICJJbml0aWFsaXplZCBlbXB0eSIsIHRoZSBzZWNvbmQgIiBzaGFyZWQiIG9yCi0jLiAiIiwgYW5kIHRoZSBsYXN0ICclcyVzJyBpcyB0aGUgdmVyYmF0aW0gZGlyZWN0b3J5IG5hbWUuCisjOiBidWlsdGluL2luaXQtZGIuYzozNDcgYnVpbHRpbi9pbml0LWRiLmM6MzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgorbXNnc3RyICIlcyDtjIzsnbzsnbQg7J2066+4IOyeiOyKteuLiOuLpCIKKwogIzogYnVpbHRpbi9pbml0LWRiLmM6NDAzCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVzJXMgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgotbXNnc3RyICIlcyVzIOq5gyDsoIDsnqXshowsIOychOy5mCAlcyVzXG4iCittc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICIlcyVzIOyViOydmCDquLDsobQg6rO17JygIOq5gyDsoIDsnqXshozrpbwg64uk7IucIOy0iOq4sO2ZlO2WiOyKteuLiOuLpFxuIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo0MDQKLW1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIgotbXNnc3RyICLri6Tsi5wg7LSI6riw7ZmUOiDquLDsobQiCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmcgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICIlcyVzIOyViOydmCDquLDsobQg6rmDIOyggOyepeyGjOulvCDri6Tsi5wg7LSI6riw7ZmU7ZaI7Iq164uI64ukXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNAotbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IgotbXNnc3RyICLstIjquLDtmZQ6IOu5iCIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICIlcyVzIOyViOydmCDruYgg6rO17JygIOq5gyDsoIDsnqXshozrpbwg64uk7IucIOy0iOq4sO2ZlO2WiOyKteuLiOuLpFxuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDUKLW1zZ2lkICIgc2hhcmVkIgotbXNnc3RyICIg6rO17JygIgorIzogYnVpbHRpbi9pbml0LWRiLmM6NDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAiJXMlcyDslYjsnZgg67mIIOq5gyDsoIDsnqXshozrpbwg64uk7IucIOy0iOq4sO2ZlO2WiOyKteuLiOuLpFxuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NTIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ1NwogbXNnaWQgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tIgogInNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCkBAIC03NDc4LDI1ICs4NDU5LDI1IEBACiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9POyEnOyLnS3rlJTroInthLDrpqw+XSBbLS1zaGFyZWRbPTzqtowiCiAi7ZWcPl1dIFs865SU66CJ7YSw66asPl0iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDgwCiBtc2dpZCAicGVybWlzc2lvbnMiCiBtc2dzdHIgIuq2jO2VnCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDc2CisjOiBidWlsdGluL2luaXQtZGIuYzo0ODEKIG1zZ2lkICJzcGVjaWZ5IHRoYXQgdGhlIGdpdCByZXBvc2l0b3J5IGlzIHRvIGJlIHNoYXJlZCBhbW9uZ3N0IHNldmVyYWwgdXNlcnMiCiBtc2dzdHIgIuq5gyDsoIDsnqXshozrpbwg64uk66W4IOyCrOyaqeyekOqwgCDqs7XsnKDtlaAg7IiYIOyeiOqyjCDsp4DsoJUiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxMCBidWlsdGluL2luaXQtZGIuYzo1MTUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxNSBidWlsdGluL2luaXQtZGIuYzo1MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG1rZGlyICVzIgogbXNnc3RyICIlc+yXkCDrjIDtlbQgbWtkaXLrpbwg7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxOQorIzogYnVpbHRpbi9pbml0LWRiLmM6NTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAlcyIKIG1zZ3N0ciAiJXPsl5Ag64yA7ZW0IGNoZGly66W8IO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NDAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKQEAgLTc1MDUsNyArODQ4Niw3IEBACiAiJXMgKOuYkOuKlCAtLXdvcmstdHJlZT0865SU66CJ7YSw66asPikg7ZeI7Jqp65CY7KeAIOyViuydjC4gJXMgKOuYkOuKlCAtLWdpdC0iCiAiZGlyPTxkaXJlY3Rvcnk+KSDsp4DsoJXsnbQg7JeG7Jy866m0IgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NjgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgYWNjZXNzIHdvcmsgdHJlZSAnJXMnIgogbXNnc3RyICLsnpHsl4Ug7Y+0642UICclcyfsl5Ag7KCR6re87ZWgIOyImCDsl4bsirXri4jri6QiCkBAIC03NTM4LDExNSArODUxOSwxMTIgQEAKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICLtjIzsnbwg7KeB7KCRIO2OuOynkeyXkCDsnoXroKUg7YyM7J287J2EIOyngOygle2VmOyngCDslYrslZjsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDMKKyM6IGJ1aWx0aW4vbG9nLmM6NDQKIG1zZ2lkICJnaXQgbG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgbG9nIFs87Ji17IWYPl0gWzzrpqzruYTsoIQt67KU7JyEPl0gW1stLV0gPOqyveuhnD4uLi5dIgogCi0jOiBidWlsdGluL2xvZy5jOjQ0CisjOiBidWlsdGluL2xvZy5jOjQ1CiBtc2dpZCAiZ2l0IHNob3cgWzxvcHRpb25zPl0gPG9iamVjdD4uLi4iCiBtc2dzdHIgImdpdCBzaG93IFs87Ji17IWYPl0gPOyYpOu4jOygne2KuD4uLi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODMKKyM6IGJ1aWx0aW4vbG9nLmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAtLWRlY29yYXRlIG9wdGlvbjogJXMiCiBtc2dzdHIgIuyemOuqu+uQnCAtLWRlY29yYXRlIOyYteyFmDogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM3CisjOiBidWlsdGluL2xvZy5jOjEzOQogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgogbXNnc3RyICJkaWZm66W8IOy2nOugpe2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4CisjOiBidWlsdGluL2xvZy5jOjE0MAogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICLshozsiqTrpbwg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOQorIzogYnVpbHRpbi9sb2cuYzoxNDEKIG1zZ2lkICJVc2UgbWFpbCBtYXAgZmlsZSIKIG1zZ3N0ciAi66mU7J28IOuntSDtjIzsnbzsnYQg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MAorIzogYnVpbHRpbi9sb2cuYzoxNDIKIG1zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgogbXNnc3RyICLqvrjrr7jquLAg7Ji17IWYIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MworIzogYnVpbHRpbi9sb2cuYzoxNDUKIG1zZ2lkICJQcm9jZXNzIGxpbmUgcmFuZ2UgbixtIGluIGZpbGUsIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAi7YyM7J287JeQ7IScIG4sbSDrspTsnITsnZgg7KSE7J2EIOyymOumrO2VqeuLiOuLpCAoMeu2gO2EsCDsi5zsnpEpIgogCi0jOiBidWlsdGluL2xvZy5jOjIzOQorIzogYnVpbHRpbi9sb2cuYzoyNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmluYWwgb3V0cHV0OiAlZCAlc1xuIgogbXNnc3RyICLstZzsooUg7Lac66ClOiAlZCAlc1xuIgogCi0jOiBidWlsdGluL2xvZy5jOjQ3MQorIzogYnVpbHRpbi9sb2cuYzo0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHNob3cgJXM6IGJhZCBmaWxlIgogbXNnc3RyICJnaXQgc2hvdyAlczog7J6Y66q765CcIO2MjOydvCIKIAotIzogYnVpbHRpbi9sb2cuYzo0ODUgYnVpbHRpbi9sb2cuYzo1NzgKKyM6IGJ1aWx0aW4vbG9nLmM6NTAwIGJ1aWx0aW4vbG9nLmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAiJXMg7Jik67iM7KCd7Yq466W8IOydveydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjYwMgorIzogYnVpbHRpbi9sb2cuYzo2MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB0eXBlOiAlZCIKIG1zZ3N0ciAi7JWMIOyImCDsl4bripQg7KKF66WYOiAlZCIKIAotIzogYnVpbHRpbi9sb2cuYzo3MjIKKyM6IGJ1aWx0aW4vbG9nLmM6NzM5CiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiZm9ybWF0LmhlYWRlcnMg7ISk7KCV7JeQIOqwkuydtCDsl4bsnYwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODEyCisjOiBidWlsdGluL2xvZy5jOjgzOQogbXNnaWQgIm5hbWUgb2Ygb3V0cHV0IGRpcmVjdG9yeSBpcyB0b28gbG9uZyIKIG1zZ3N0ciAi7Lac66ClIOuUlOugie2EsOumrOydmCDsnbTrpoTsnbQg64SI66y0IOq5geuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzo4MjcKKyM6IGJ1aWx0aW4vbG9nLmM6ODU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIHBhdGNoIGZpbGUgJXMiCiBtc2dzdHIgIiVzIO2MqOy5mCDtjIzsnbzsnYQg7Je0IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODQxCisjOiBidWlsdGluL2xvZy5jOjg2OAogbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgogbXNnc3RyICLsoJXtmZXtnogg7ZWY64KY7J2YIOuylOychOqwgCDtlYTsmpTtlanri4jri6QuIgogCi0jOiBidWlsdGluL2xvZy5jOjg1MQorIzogYnVpbHRpbi9sb2cuYzo4NzgKIG1zZ2lkICJOb3QgYSByYW5nZS4iCiBtc2dzdHIgIuuylOychOqwgCDslYTri5nri4jri6QuIgogCi0jOiBidWlsdGluL2xvZy5jOjk1NworIzogYnVpbHRpbi9sb2cuYzo5ODQKIG1zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgogbXNnc3RyICLsu6TrsoTroIjthLDripQg7KCE7J6Q66mU7J28IO2YleyLneydtOyWtOyVvCDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTAzNgorIzogYnVpbHRpbi9sb2cuYzoxMDYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgIuygleyLoOuCmOqwhCBpbi1yZXBseS10byDtl6TrjZQ6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEwNjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTA5MQogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKIG1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbPOyYteyFmD5dIFs87Iuc7J6R7Iuc6rCBPiB8IDzrpqzruYTsoIQt67KU7JyEPl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTEwOQorIzogYnVpbHRpbi9sb2cuYzoxMTQxCiBtc2dpZCAiVHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCiBtc2dzdHIgIuy2nOugpSDrlJTroInthLDrpqzqsIAg65GQ6rCcPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjE2IGJ1aWx0aW4vbG9nLmM6MTg1NyBidWlsdGluL2xvZy5jOjE4NTkgYnVpbHRpbi9sb2cuYzoxODcxCisjOiBidWlsdGluL2xvZy5jOjEyNDggYnVpbHRpbi9sb2cuYzoxODkxIGJ1aWx0aW4vbG9nLmM6MTg5MyBidWlsdGluL2xvZy5jOjE5MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBjb21taXQgJXMiCiBtc2dzdHIgIuyVjCDsiJgg7JeG64qUIOy7pOuwiyAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjI2IGJ1aWx0aW4vbm90ZXMuYzoyNTMgYnVpbHRpbi9ub3Rlcy5jOjMwNAotIzogYnVpbHRpbi9ub3Rlcy5jOjMwNiBidWlsdGluL25vdGVzLmM6MzY5IGJ1aWx0aW4vbm90ZXMuYzo0MjQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTAgYnVpbHRpbi9ub3Rlcy5jOjUxNSBidWlsdGluL25vdGVzLmM6NTkzCi0jOiBidWlsdGluL25vdGVzLmM6NjU2IGJ1aWx0aW4vbm90ZXMuYzo4ODEgYnVpbHRpbi90YWcuYzo0NTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1OCBidWlsdGluL25vdGVzLmM6ODg0IGJ1aWx0aW4vdGFnLmM6NDU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICInJXMn7J2EKOulvCkg7Jis67CU66W4IOugiO2NvOufsOyKpOuhnCDslYzslYTrgrTripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjMxCisjOiBidWlsdGluL2xvZy5jOjEyNjMKIG1zZ2lkICJDb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlLiIKIG1zZ3N0ciAi7KCV7ZmV7ZWcIOuzke2VqSDquLDspIDsoJDsnYQg7LC+7J2EIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2NwogbXNnaWQgIiIKICJGYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKICJwbGVhc2UgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gdG8gdHJhY2sgYSByZW1vdGUgYnJhbmNoLlxuIgpAQCAtNzY1NywyMDkgKzg2MzUsMjEzIEBACiAi7JWE64uI66m0IOyngeygkSAnLS1iYXNlPTzquLDspIDsoJAt7Luk67CLLUlEPicg7Ji17IWY7Jy866GcIOq4sOykgOygkCDsu6TrsIvsnYQg7KeA7KCV7ZWgXG4iCiAi7IiY64+EIOyeiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1NQorIzogYnVpbHRpbi9sb2cuYzoxMjg3CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKIG1zZ3N0ciAi7KCV7ZmV7ZWcIOuzke2VqSDquLDspIDsoJDsnYQg7LC+64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjY2CisjOiBidWlsdGluL2xvZy5jOjEyOTgKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGQgYmUgdGhlIGFuY2VzdG9yIG9mIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgIuq4sOykgOygkCDsu6TrsIvsnYAg66as67mE7KCEIOuqqeuhneydmCDsg4HsnIQg7Luk67CL7J207Ja07JW8IO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjcwCisjOiBidWlsdGluL2xvZy5jOjEzMDIKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGRuJ3QgYmUgaW4gcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAi6riw7KSA7KCQIOy7pOuwi+ydgCDrpqzruYTsoIQg66qp66Gd7JeQIOuTpOyWtCDsnojsnLzrqbQg7JWIIOuQqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzE5CisjOiBidWlsdGluL2xvZy5jOjEzNTEKIG1zZ2lkICJjYW5ub3QgZ2V0IHBhdGNoIGlkIgogbXNnc3RyICLtjKjsuZggSUTrpbwg7JWM7JWE64K8IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM3NworIzogYnVpbHRpbi9sb2cuYzoxNDA4CiBtc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAi7ZWY64KY7J2YIO2MqOy5mOyXkCDrjIDtlbTshJzrj4QgW1BBVENoIG4vbV3snYQg67aZ7J6F64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjEzODAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxMQogbXNnaWQgInVzZSBbUEFUQ0hdIGV2ZW4gd2l0aCBtdWx0aXBsZSBwYXRjaGVzIgogbXNnc3RyICLsl6zrn6wg6rCcIO2MqOy5mOyXkCDrjIDtlbTshJzrj4QgW1BBVENIXeulvCDrtpnsnoXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4NAorIzogYnVpbHRpbi9sb2cuYzoxNDE1CiBtc2dpZCAicHJpbnQgcGF0Y2hlcyB0byBzdGFuZGFyZCBvdXQiCiBtc2dzdHIgIu2MqOy5mOulvCDtkZzspIAg7Lac66Cl7Jy866GcIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg2CisjOiBidWlsdGluL2xvZy5jOjE0MTcKIG1zZ2lkICJnZW5lcmF0ZSBhIGNvdmVyIGxldHRlciIKIG1zZ3N0ciAi7Luk67KE66CI7YSw66W8IOunjOuTreuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg4CisjOiBidWlsdGluL2xvZy5jOjE0MTkKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgIuy2nOugpSDtjIzsnbwg7J2066aE7JeQIOqwhOuLqO2VnCDsnbzroKgg67KI7Zi466W8IOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg5CisjOiBidWlsdGluL2xvZy5jOjE0MjAKIG1zZ2lkICJzZngiCiBtc2dzdHIgIu2ZleyepeyekCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkwCisjOiBidWlsdGluL2xvZy5jOjE0MjEKIG1zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKIG1zZ3N0ciAiJy5wYXRjaCcg64yA7IugIDztmZXsnqXsnpA+66W8IOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkyCisjOiBidWlsdGluL2xvZy5jOjE0MjMKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICLtjKjsuZgg67KI7Zi466W8IDEg64yA7IugIDxuPuyXkOyEnCDsi5zsnpHtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5NAorIzogYnVpbHRpbi9sb2cuYzoxNDI1CiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICLsi5zrpqzspojrpbwgTuuyiOynuCByZS1yb2xs66GcIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzk2CisjOiBidWlsdGluL2xvZy5jOjE0MjcKK21zZ2lkICJVc2UgW1JGQyBQQVRDSF0gaW5zdGVhZCBvZiBbUEFUQ0hdIgorbXNnc3RyICJbUEFUQ0hdIOuMgOyLoCBbUkZDIFBBVENIXeulvCDsgqzsmqntlanri4jri6QiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzMAogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAiW1BBVENIXSDrjIDsi6AgWzzsoJHrkZDslrQ+XeulvCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5OQorIzogYnVpbHRpbi9sb2cuYzoxNDMzCiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgogbXNnc3RyICLqsrDqs7wg7YyM7J287J2EIDzrlJTroInthLDrpqw+7JeQIOyggOyepe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDAyCisjOiBidWlsdGluL2xvZy5jOjE0MzYKIG1zZ2lkICJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIKIG1zZ3N0ciAiW1BBVENIXeulvCDsnpDrpbTqsbDrgpgg7LaU6rCA7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDA1CisjOiBidWlsdGluL2xvZy5jOjE0MzkKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICLrsJTsnbTrhIjrpqwgZGlmZuulvCDrp4zrk6Tsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MQogbXNnaWQgIm91dHB1dCBhbGwtemVybyBoYXNoIGluIEZyb20gaGVhZGVyIgogbXNnc3RyICJGcm9tIO2XpOuNlOyXkOyEnCDrqqjrkZAgMOyduCDtlbTsi5zrpbwg7Lac66Cl7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MwogbXNnaWQgImRvbid0IGluY2x1ZGUgYSBwYXRjaCBtYXRjaGluZyBhIGNvbW1pdCB1cHN0cmVhbSIKIG1zZ3N0ciAi7JeF7Iqk7Yq466a87JeQIOyeiOuKlCDtjKjsuZjrpbwg7Y+s7ZWo7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDExCisjOiBidWlsdGluL2xvZy5jOjE0NDUKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgIuq4sOuzuOqwkiAo7Yyo7LmYICsg7Ya16rOEKSDrjIDsi6Ag7Yyo7LmYIO2YleyLneydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxMworIzogYnVpbHRpbi9sb2cuYzoxNDQ3CiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICLrqZTsi5zsp5UiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNAorIzogYnVpbHRpbi9sb2cuYzoxNDQ4CiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICLtl6TrjZQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNQorIzogYnVpbHRpbi9sb2cuYzoxNDQ5CiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAi7KCE7J6Q66mU7J28IO2XpOuNlCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE2IGJ1aWx0aW4vbG9nLmM6MTQxOAorIzogYnVpbHRpbi9sb2cuYzoxNDUwIGJ1aWx0aW4vbG9nLmM6MTQ1MgogbXNnaWQgImVtYWlsIgogbXNnc3RyICLsoITsnpDrqZTsnbwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNgorIzogYnVpbHRpbi9sb2cuYzoxNDUwCiBtc2dpZCAiYWRkIFRvOiBoZWFkZXIiCiBtc2dzdHIgIlRvOiDtl6TrjZTrpbwg7LaU6rCA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MgogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICJDYzog7Zek642U66W8IOy2lOqwgO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIwCisjOiBidWlsdGluL2xvZy5jOjE0NTQKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAi7Iug7JuQIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1NQogbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCiBtc2dzdHIgIjzsi6Dsm5A+7JeQ7IScIEZyb20g7KO87IaM66W8IOyEpOygle2VqeuLiOuLpCAo7JeG7Jy866m0IOy7pOuvuO2EsCDso7zshowg7Iug7JuQIOyCrOyaqSkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMworIzogYnVpbHRpbi9sb2cuYzoxNDU3CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAi66mU7Iuc7KeALUlEIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1OAogbXNnaWQgIm1ha2UgZmlyc3QgbWFpbCBhIHJlcGx5IHRvIDxtZXNzYWdlLWlkPiIKIG1zZ3N0ciAi7LKrIOuplOydvOydhCA866mU7Iuc7KeALUlEPuyXkCDrjIDtlZwg64u17J6lIOuplOydvOuhnCDrp4zrk63ri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNSBidWlsdGluL2xvZy5jOjE0MjgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1OSBidWlsdGluL2xvZy5jOjE0NjIKIG1zZ2lkICJib3VuZGFyeSIKIG1zZ3N0ciAi6rK96rOEIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2MAogbXNnaWQgImF0dGFjaCB0aGUgcGF0Y2giCiBtc2dzdHIgIu2MqOy5mOulvCDssqjrtoDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyOQorIzogYnVpbHRpbi9sb2cuYzoxNDYzCiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAi7Yyo7LmY66W8IOuzuOusuOyXkCDtj6ztlajtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzMworIzogYnVpbHRpbi9sb2cuYzoxNDY3CiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgIuuplOyLnOyngOyXkCDsiqTroIjrk5zrpbwg7IKs7JqpLCDsiqTtg4Dsnbw6IHNoYWxsb3csIGRlZXAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNQorIzogYnVpbHRpbi9sb2cuYzoxNDY5CiBtc2dpZCAic2lnbmF0dXJlIgogbXNnc3RyICLshJzrqoUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNgorIzogYnVpbHRpbi9sb2cuYzoxNDcwCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgogbXNnc3RyICLshJzrqoXsnYQg7LaU6rCA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MQogbXNnaWQgImJhc2UtY29tbWl0IgogbXNnc3RyICLrsqDsnbTsiqQt7Luk67CLIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MgogbXNnaWQgImFkZCBwcmVyZXF1aXNpdGUgdHJlZSBpbmZvIHRvIHRoZSBwYXRjaCBzZXJpZXMiCiBtc2dzdHIgIuyghOygnOyhsOqxtCDtirjrpqwg7KCV67O066W8IO2MqOy5mCDsi5zrpqzspojsl5Ag7LaU6rCA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NAogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSBmcm9tIGEgZmlsZSIKIG1zZ3N0ciAi7YyM7J287JeQ7IScIOyEnOuqheydhCDstpTqsIDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0MQorIzogYnVpbHRpbi9sb2cuYzoxNDc1CiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAi7Yyo7LmYIO2MjOydvCDsnbTrpoTsnYQg7ZGc7Iuc7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMxCisjOiBidWlsdGluL2xvZy5jOjE1NjUKIG1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIi1uIOuwjyAtayDsmLXshZjsnYAg7ZWY64KY66eMIOyNqOyVvCDtlanri4jri6QuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzMKLW1zZ2lkICItLXN1YmplY3QtcHJlZml4IGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKLW1zZ3N0ciAiLS1zdWJqZWN0LXByZWZpeCDrsI8gLWsg7Ji17IWY7J2AIO2VmOuCmOunjCDsjajslbwg7ZWp64uI64ukLiIKKyM6IGJ1aWx0aW4vbG9nLmM6MTU2NworbXNnaWQgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgorbXNnc3RyICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIOuwjyAtayDsmLXshZjsnYAg7ZWY64KY66eMIOyNqOyVvCDtlanri4jri6QuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3NQogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1vbmx5IOyYteyFmOydgCDslZ7rkqTqsIAg66ee7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQzCisjOiBidWlsdGluL2xvZy5jOjE1NzcKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1zdGF0dXMg7Ji17IWY7J2AIOyVnuuSpOqwgCDrp57sp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDUKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3OQogbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1jaGVjayDsmLXshZjsnYAg7JWe65Kk6rCAIOunnuyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3MworIzogYnVpbHRpbi9sb2cuYzoxNjA5CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCiBtc2dzdHIgIu2RnOykgCDstpzroKXsnbTrgpgg65SU66CJ7YSw66asIOykkeyXkCDtlZjrgpjrp4wg7KeA7KCV7ZW07JW8IO2VqeuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NQorIzogYnVpbHRpbi9sb2cuYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIiclcycg65SU66CJ7YSw66as66W8IOunjOuTpCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL2xvZy5jOjE2NzIKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzaWduYXR1cmUgZmlsZSAnJXMnIgogbXNnc3RyICInJXMnIOyEnOuqhSDtjIzsnbzsnYQg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTc0MworIzogYnVpbHRpbi9sb2cuYzoxNzc3CiBtc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCiBtc2dzdHIgIuy2nOugpSDtjIzsnbzsnYQg66eM65Oc64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzkyCisjOiBidWlsdGluL2xvZy5jOjE4MjYKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKIG1zZ3N0ciAiZ2l0IGNoZXJyeSBbLXZdIFs87JeF7Iqk7Yq466a8PiBbPO2XpOuTnD4gWzztlZzqs4TqsJI+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjE4NDYKKyM6IGJ1aWx0aW4vbG9nLmM6MTg4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCkBAIC03ODY3LDk5ICs4ODQ5LDEwMyBAQAogIuy2lOyggeuQmOuKlCDrpqzrqqjtirgg67iM656c7LmY66W8IOywvuydhCDsiJgg7JeG7Iq164uI64ukLiA87JeF7Iqk7Yq466a8PuydhCDsiJjrj5nsnLzroZwg7KeA7KCV7ZWY7Iut7IucIgogIuyYpC5cbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjM3OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1OAogbXNnaWQgImdpdCBscy1maWxlcyBbPG9wdGlvbnM+XSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLWZpbGVzIFs87Ji17IWYPl0gWzztjIzsnbw+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQyNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUwNwogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgIu2MjOydvCDsg4Htg5zrpbwg7YOc6re47JmAIOqwmeydtCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MjkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDkKIG1zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdhc3N1bWUgdW5jaGFuZ2VkJyBmaWxlcyIKIG1zZ3N0ciAiJ+uzgOqyveuQmOyngCDslYrslZjri6Tqs6Ag6rCA7KCVJyDtjIzsnbzsl5Ag7IaM66y47J6Q66W8IOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMQogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICLstpzroKXsl5Ag7LqQ7Iuc65CcIO2MjOydvOydhCDtkZzsi5ztlanri4jri6QgKOq4sOuzuOqwkikiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MzMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTMKIG1zZ2lkICJzaG93IGRlbGV0ZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi7Lac66Cl7JeQIOyCreygnOuQnCDtjIzsnbzsnYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDM1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE1CiBtc2dpZCAic2hvdyBtb2RpZmllZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLstpzroKXsl5Ag7IiY7KCV65CcIO2MjOydvOydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTcKIG1zZ2lkICJzaG93IG90aGVyIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuy2nOugpeyXkCDquLDtg4Ag7YyM7J287J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLstpzroKXsl5Ag66y07Iuc65CcIO2MjOydvOydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NDIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjIKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi7Lac66Cl7JeQIOy7pOuwiyDtkZzsi5zrkJwg64K07Jqp7J2YIOyYpOu4jOygne2KuCDsnbTrpoTsnYQg7ZGc7Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDQ0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI0CiBtc2dpZCAic2hvdyBmaWxlcyBvbiB0aGUgZmlsZXN5c3RlbSB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCIKIG1zZ3N0ciAi7YyM7J28IOyLnOyKpO2FnOyXkOyEnCDsoJzqsbDtlbTslbwg7ZWY64qUIO2MjOydvOydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NDYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjYKIG1zZ2lkICJzaG93ICdvdGhlcicgZGlyZWN0b3JpZXMnIG5hbWVzIG9ubHkiCiBtc2dzdHIgIuq4sO2DgCDrlJTroInthLDrpqzsnZgg7J2066aE66eMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOAogbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgogbXNnc3RyICLtjIzsnbzsnZgg7KSEIOuBneydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzAKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgogbXNnc3RyICLruYgg65SU66CJ7YSw66asIO2RnOyLnO2VmOyngCDslYrquLAiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzMKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuy2nOugpeyXkCDrs5HtlantlZjsp4Ag7JWK7J2AIO2MjOydvOydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzUKIG1zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAicmVzb2x2ZS11bmRvIOygleuztOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzcKIG1zZ2lkICJza2lwIGZpbGVzIG1hdGNoaW5nIHBhdHRlcm4iCiBtc2dzdHIgIu2MqO2EtOyXkCDsnbzsuZjtlZjripQg7YyM7J287J2EIOqxtOuEiOucgeuLiOuLpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MAogbXNnaWQgImV4Y2x1ZGUgcGF0dGVybnMgYXJlIHJlYWQgZnJvbSA8ZmlsZT4iCiBtc2dzdHIgIuygnOyZuO2VoCDtjKjthLTsnYQgPO2MjOydvD7sl5DshJwg7J297Iq164uI64ukIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCi1tc2dzdHIgIjztjIzsnbw+7JeQ7IScIOy2lOqwgOyggeyduCDrlJTroInthqDrpqzrs4Qg7KCc7Jm4IO2MqO2EtOydhCDsnb3sirXri4jri6QiCittc2dzdHIgIjztjIzsnbw+7JeQ7IScIOy2lOqwgOyggeyduCDrlJTroInthLDrpqzrs4Qg7KCc7Jm4IO2MqO2EtOydhCDsnb3sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICLtkZzspIAg6rmDIOygnOyZuCDtjKjthLTsnYQg7LaU6rCA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ4CiBtc2dpZCAibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiCi1tc2dzdHIgIuy1nOyDgeychCDrlJTroInthqDrpqwg7IOB64yAIOqyveuhnOuhnCDstpzroKXtlanri4jri6QiCittc2dzdHIgIuy1nOyDgeychCDrlJTroInthLDrpqwg7IOB64yAIOqyveuhnOuhnCDstpzroKXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTEKK21zZ2lkICJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIKK21zZ3N0ciAi7ZWY7JyEIOuqqOuTiOyXkCDsnqzqt4DsoIHsnLzroZwg7KCB7JqpIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICI87YyM7J28PuydtCDsnbjrjbHsiqQg7JWI7JeQIOyXhuycvOuptCDsmKTrpZjroZwg7Leo6riJ7ZWp64uI64ukIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDcyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU0CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgIu2KuOumrC3rlLDsnIQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTUKIG1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgogbXNnc3RyICI87Yq466asLeuUsOychD4g65Kk66GcIOygnOqxsO2VnCDqsr3roZzqsIAg7J6I64uk6rOgIOqwgOygle2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NwogbXNnaWQgInNob3cgZGVidWdnaW5nIGRhdGEiCiBtc2dzdHIgIuuUlOuyhOq5hSDrjbDsnbTthLDrpbwg7ZGc7Iuc7ZWp64uI64ukIgogCkBAIC04MDQ1LDE4NyArOTAzMSwxNzMgQEAKIG1zZ2lkICJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAoaW1wbGllcyAtLWZ1bGwtbmFtZSkiCiBtc2dzdHIgIuyghOyytCDtirjrpqwg66qp66GdIO2RnOyLnCwg7ZiE7J6sIOuUlOugie2EsOumrOunjCDslYTri4jrnbwgKC0tZnVsbC1uYW1lIOyYteyFmCDtj6ztlagpIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NgogbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgogbXNnc3RyICJnaXQgbWVyZ2UgWzzsmLXshZg+XSBbPOy7pOuwiz4uLi5dIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NwogbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSA8bXNnPiBIRUFEIDxjb21taXQ+IgogbXNnc3RyICJnaXQgbWVyZ2UgWzzsmLXshZg+XSA866mU7Iuc7KeAPiBIRUFEIDzsu6TrsIs+IgogCi0jOiBidWlsdGluL21lcmdlLmM6NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0OAogbXNnaWQgImdpdCBtZXJnZSAtLWFib3J0IgogbXNnc3RyICJnaXQgbWVyZ2UgLS1hYm9ydCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwMQorIzogYnVpbHRpbi9tZXJnZS5jOjEwMgogbXNnaWQgInN3aXRjaCBgbScgcmVxdWlyZXMgYSB2YWx1ZSIKIG1zZ3N0ciAiYG0nIOyYteyFmOyXkOuKlCDqsJLsnbQg7ZWE7JqU7ZWp64uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM4CisjOiBidWlsdGluL21lcmdlLmM6MTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCiBtc2dzdHIgIiclcycg67OR7ZWpIOyghOueteydhCDssL7snYQg7IiYIOyXhuyKteuLiOuLpC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzOQorIzogYnVpbHRpbi9tZXJnZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdmFpbGFibGUgc3RyYXRlZ2llcyBhcmU6IgogbXNnc3RyICLsgqzsmqkg6rCA64ql7ZWcIOyghOueteydgDoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIuyCrOyaqSDqsIDriqXtlZwg7IKs7Jqp7J6QIOyEpOyglSDsoITrnrXsnYA6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk0IGJ1aWx0aW4vcHVsbC5jOjEyNgorIzogYnVpbHRpbi9tZXJnZS5jOjE5NSBidWlsdGluL3B1bGwuYzoxMjcKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICLrs5HtlansnbQg64Gd64KgIOuVjCBkaWZmc3RhdOydhCDtkZzsi5ztlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEyOQorIzogYnVpbHRpbi9tZXJnZS5jOjE5OCBidWlsdGluL3B1bGwuYzoxMzAKIG1zZ2lkICJzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgIuuzke2VqeydtCDrgZ3rgqAg65WMIGRpZmZzdGF07J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE5OCBidWlsdGluL3B1bGwuYzoxMzIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTkgYnVpbHRpbi9wdWxsLmM6MTMzCiBtc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKIG1zZ3N0ciAiKC0tc3RhdCDsmLXshZjqs7wg64+Z7J28KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMCBidWlsdGluL3B1bGwuYzoxMzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDEgYnVpbHRpbi9wdWxsLmM6MTM2CiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLrs5Htlakg7Luk67CL7J2YIOuplOyLnOyngOyXkCBzaG9ydGxvZyDtla3rqqnsnYQgKOy1nOuMgCA8bj7qsJwpIOy2lOqwgO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3B1bGwuYzoxMzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDQgYnVpbHRpbi9wdWxsLmM6MTM5CiBtc2dpZCAiY3JlYXRlIGEgc2luZ2xlIGNvbW1pdCBpbnN0ZWFkIG9mIGRvaW5nIGEgbWVyZ2UiCiBtc2dzdHIgIuuzke2Vqe2VmOuKlCDrjIDsi6Ag7ZWY64KY7J2YIOy7pOuwi+ydhCDrp4zrk63ri4jri6QiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDUgYnVpbHRpbi9wdWxsLmM6MTQxCisjOiBidWlsdGluL21lcmdlLmM6MjA2IGJ1aWx0aW4vcHVsbC5jOjE0MgogbXNnaWQgInBlcmZvcm0gYSBjb21taXQgaWYgdGhlIG1lcmdlIHN1Y2NlZWRzIChkZWZhdWx0KSIKIG1zZ3N0ciAi67OR7ZWp7J20IOyEseqzte2VmOuptCDsu6TrsIvsnYQg7ZWp64uI64ukICjquLDrs7jqsJIpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA3IGJ1aWx0aW4vcHVsbC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDUKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgIuy7pOuwiyDsoITsl5Ag66mU7Iuc7KeA66W8IO2OuOynke2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwOAorIzogYnVpbHRpbi9tZXJnZS5jOjIwOQogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCAoZGVmYXVsdCkiCiBtc2dzdHIgIuygleuwqe2WpSDsp4TtlonsnYQg7ZeI7Jqp7ZWp64uI64ukICjquLDrs7jqsJIpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjEwIGJ1aWx0aW4vcHVsbC5jOjE1MAorIzogYnVpbHRpbi9tZXJnZS5jOjIxMSBidWlsdGluL3B1bGwuYzoxNTEKIG1zZ2lkICJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIgogbXNnc3RyICLsoJXrsKntlqUg7KeE7ZaJ7J20IOu2iOqwgOuKpe2VmOuptCDspJHsp4Dtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTQKLW1zZ2lkICJWZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCi1tc2dzdHIgIuydtOumhCDrtpnsnbgg7Luk67CL7JeQIOyYrOuwlOuluCBHUEcg7ISc66qF7J20IOyeiOuKlOyngCDqsoDspp3tlanri4jri6QiCisjOiBidWlsdGluL21lcmdlLmM6MjE1IGJ1aWx0aW4vcHVsbC5jOjE1NAorbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKK21zZ3N0ciAi7KeA7KCV7ZWcIOy7pOuwi+yXkCDsmKzrsJTrpbggR1BHIOyEnOuqheydtCDsnojripTsp4Ag6rKA7Kad7ZWp64uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE1IGJ1aWx0aW4vbm90ZXMuYzo3NzEgYnVpbHRpbi9wdWxsLmM6MTU3CisjOiBidWlsdGluL21lcmdlLmM6MjE2IGJ1aWx0aW4vbm90ZXMuYzo3NzQgYnVpbHRpbi9wdWxsLmM6MTU4CiAjOiBidWlsdGluL3JldmVydC5jOjg5CiBtc2dpZCAic3RyYXRlZ3kiCiBtc2dzdHIgIuyghOuetSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL3B1bGwuYzoxNTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTU5CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgogbXNnc3RyICLsgqzsmqntlaAg67OR7ZWpIOyghOuetSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNyBidWlsdGluL3B1bGwuYzoxNjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9wdWxsLmM6MTYyCiBtc2dpZCAib3B0aW9uPXZhbHVlIgogbXNnc3RyICLsmLXshZg96rCSIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vcHVsbC5jOjE2MgorIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL3B1bGwuYzoxNjMKIG1zZ2lkICJvcHRpb24gZm9yIHNlbGVjdGVkIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICLshKDtg53tlZwg67OR7ZWpIOyghOueteyXkCDrjIDtlZwg7Ji17IWYIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIwCisjOiBidWlsdGluL21lcmdlLmM6MjIxCiBtc2dpZCAibWVyZ2UgY29tbWl0IG1lc3NhZ2UgKGZvciBhIG5vbi1mYXN0LWZvcndhcmQgbWVyZ2UpIgogbXNnc3RyICLrs5Htlakg7Luk67CLIOuplOyLnOyngCAo7KCV67Cp7Zal7J20IOyVhOuLjCDrs5Htlansl5Ag64yA7ZW0KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyNAorIzogYnVpbHRpbi9tZXJnZS5jOjIyNQogbXNnaWQgImFib3J0IHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgogbXNnc3RyICLtmITsnqwg7KeE7ZaJIOykkeyduCDrs5HtlansnYQg7KSR7KeA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjI2IGJ1aWx0aW4vcHVsbC5jOjE2OQorIzogYnVpbHRpbi9tZXJnZS5jOjIyNyBidWlsdGluL3B1bGwuYzoxNzAKIG1zZ2lkICJhbGxvdyBtZXJnaW5nIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgIuq0gOqzhCDsl4bripQg7Luk67CLIOuCtOyXreydmCDrs5HtlansnYQg7ZeI7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU0CisjOiBidWlsdGluL21lcmdlLmM6MjU1CiBtc2dpZCAiY291bGQgbm90IHJ1biBzdGFzaC4iCiBtc2dzdHIgInN0YXNo66W8IOyLpO2Wie2VoCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1OQorIzogYnVpbHRpbi9tZXJnZS5jOjI2MAogbXNnaWQgInN0YXNoIGZhaWxlZCIKIG1zZ3N0ciAi7Iqk7YOc7IucIOyLpO2MqCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2NAorIzogYnVpbHRpbi9tZXJnZS5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSB2YWxpZCBvYmplY3Q6ICVzIgogbXNnc3RyICLsmKzrsJTrpbgg7Jik67iM7KCd7Yq46rCAIOyVhOuLmeuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyODMgYnVpbHRpbi9tZXJnZS5jOjMwMAorIzogYnVpbHRpbi9tZXJnZS5jOjI4NCBidWlsdGluL21lcmdlLmM6MzAxCiBtc2dpZCAicmVhZC10cmVlIGZhaWxlZCIKIG1zZ3N0ciAicmVhZC10cmVlIOyLpO2MqCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMzMAorIzogYnVpbHRpbi9tZXJnZS5jOjMzMQogbXNnaWQgIiAobm90aGluZyB0byBzcXVhc2gpIgogbXNnc3RyICIgKO2Vqey5oCDrgrTsmqnsnbQg7JeG7Iq164uI64ukKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM0MworIzogYnVpbHRpbi9tZXJnZS5jOjM0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJTcXVhc2ggY29tbWl0IC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIuy7pOuwiyDtlansuZjquLAgLS0gSEVBROulvCDsl4XrjbDsnbTtirjtlZjsp4Ag7JWK7Iq164uI64ukXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNDcgYnVpbHRpbi9tZXJnZS5jOjc2NyBidWlsdGluL21lcmdlLmM6OTg3Ci0jOiBidWlsdGluL21lcmdlLmM6MTAwMAotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKLW1zZ3N0ciAiJyVzJ+yXkCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjM3NQotbXNnaWQgIldyaXRpbmcgU1FVQVNIX01TRyIKLW1zZ3N0ciAiU1FVQVNIX01TR+ulvCDsk7DripQg7KSRIgotCi0jOiBidWlsdGluL21lcmdlLmM6Mzc3Ci1tc2dpZCAiRmluaXNoaW5nIFNRVUFTSF9NU0ciCi1tc2dzdHIgIlNRVUFTSF9NU0frpbwg66eI7LmY64qUIOykkSIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjQwMAorIzogYnVpbHRpbi9tZXJnZS5jOjM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBtZXNzYWdlIC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIuuzke2VqSDrqZTsi5zsp4DqsIAg7JeG7Iq164uI64ukIC0tIEhFQUTrpbwg7JeF642w7J207Yq47ZWY7KeAIOyViuyKteuLiOuLpFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDUxCisjOiBidWlsdGluL21lcmdlLmM6NDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIiclcyfsnbQo6rCAKSDsu6TrsIvsnYQg6rCA66as7YKk7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjU0MQorIzogYnVpbHRpbi9tZXJnZS5jOjUzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBzdHJpbmc6ICVzIgogbXNnc3RyICLsnpjrqrvrkJwgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyDrrLjsnpDsl7Q6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NjYwCisjOiBidWlsdGluL21lcmdlLmM6NjUyCiBtc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKIG1zZ3N0ciAi65GQIOqwnOydmCDtl6Trk5wg67OR7ZWpIOyZuOyXkOuKlCDsspjrpqztlZjsp4Ag7JWK7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY3NAorIzogYnVpbHRpbi9tZXJnZS5jOjY2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogbXNnc3RyICJtZXJnZS1yZWN1cnNpdmXsl5Ag64yA7ZW0IOyVjCDsiJgg7JeG64qUIOyYteyFmDogLVglcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY4NworIzogYnVpbHRpbi9tZXJnZS5jOjY4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCiBtc2dzdHIgIiVz7JeQIOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzc2CisjOiBidWlsdGluL21lcmdlLmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKIG1zZ3N0ciAiJyVzJ+yXkOyEnCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc4NQorIzogYnVpbHRpbi9tZXJnZS5jOjc0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgY29tbWl0dGluZyBtZXJnZTsgdXNlICdnaXQgY29tbWl0JyB0byBjb21wbGV0ZSB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIiIKICLrs5HtlansnYQg7Luk67CL7ZWY7KeAIOyViuyKteuLiOuLpC4g67OR7ZWp7J2EIOuniOy5mOugpOuptCAnZ2l0IGNvbW1pdCfsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzkxCisjOiBidWlsdGluL21lcmdlLmM6NzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgYSBjb21taXQgbWVzc2FnZSB0byBleHBsYWluIHdoeSB0aGlzIG1lcmdlIGlzIG5lY2Vzc2FyeSxcbiIKQEAgLTgyNDEsNTIgKzkyMTMsNjYgQEAKICInJWMnIOusuOyekOuhnCDsi5zsnpHtlZjripQg7KSE7J2AIOustOyLnOuQmOqzoCwg66mU7Iuc7KeA6rCAIOu5hOyWtCDsnojsnLzrqbQg7Luk67CL7J2EXG4iCiAi7KSR7KeA7ZWp64uI64ukLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODE1CisjOiBidWlsdGluL21lcmdlLmM6NzcyCiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICLruYgg7Luk67CLIOuplOyLnOyngC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICLtm4zrpa3tlanri4jri6QuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIGZhaWxlZDsgZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBjb21taXQgdGhlIHJlc3VsdC5cbiIKIG1zZ3N0ciAi7J6Q64+ZIOuzke2VqeydtCDsi6TtjKjtlojsirXri4jri6QuIOy2qeuPjOydhCDrsJTroZzsnqHqs6Ag6rKw6rO866y87J2EIOy7pOuwi+2VmOyLreyLnOyYpC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkwNgorIzogYnVpbHRpbi9tZXJnZS5jOjg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKIG1zZ3N0ciAiJyVzJ+ydgCjripQpIOy7pOuwi+ydtCDslYTri5nri4jri6QiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDQKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIu2YhOyerCDruIzrnpzsuZjqsIAg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0OQorIzogYnVpbHRpbi9tZXJnZS5jOjkwNgogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi7ZiE7J6sIOu4jOuenOy5mOyXkCDrjIDtlZwg66as66qo7Yq46rCAIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDgKIG1zZ2lkICJObyBkZWZhdWx0IHVwc3RyZWFtIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIu2YhOyerCDruIzrnpzsuZjsl5Ag64yA7ZW0IOq4sOuzuCDsl4XsiqTtirjrprzsnYQg7KeA7KCV7ZWY7KeAIOyViuyVmOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NTYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKIG1zZ3N0ciAi66as66qo7Yq4ICUyJHPsl5DshJwgJTEkc+yXkCDrjIDtlZwg66as66qo7Yq4IOy2lOyggSDruIzrnpzsuZjqsIAg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTA5MQorIzogYnVpbHRpbi9tZXJnZS5jOjk2MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIgorbXNnc3RyICLsnpjrqrvrkJwg6rCSICclcycsIO2ZmOqyvSAnJXMnIgorCisjOiBidWlsdGluL21lcmdlLmM6MTAzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKIG1zZ3N0ciAiJyVzJ+ydhCjrpbwpIOuLq+ydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIxOQorIzogYnVpbHRpbi9tZXJnZS5jOjEwNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UgaW4gJXM6ICVzIgorbXNnc3RyICIlcyDslYjsl5DshJwg67OR7ZWp7ZWgIOyImCDsnojripQg7ZWt66qp7J20IOyVhOuLmeuLiOuLpDogJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDk1Cittc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCittc2dzdHIgIuuzke2Vqe2VoCDsiJgg7J6I64qUIO2VreuqqeydtCDslYTri5nri4jri6QiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTYyCiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgdG8gYWJvcnQgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICLspJHsp4DtlaAg67OR7ZWpIOyekeyXheydtCDsl4bsirXri4jri6QuIChNRVJHRV9IRUFE6rCAIOyXhuydjCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjM1CisjOiBidWlsdGluL21lcmdlLmM6MTE3OAogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCkBAIC04Mjk0LDcgKzkyODAsNyBAQAogIuuzke2VqeydhCDrp4jsuZjsp4Ag7JWK7JWY7Iq164uI64ukLiAoTUVSR0VfSEVBRCDsnojsnYwpXG4iCiAi67OR7ZWp7ZWY6riwIOyghOyXkCDrs4Dqsr0g7IKs7ZWt7J2EIOy7pOuwi+2VmOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjQyCisjOiBidWlsdGluL21lcmdlLmM6MTE4NQogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCkBAIC04MzAyLDEwNCArOTI4OCwxMTIgQEAKICLsu6TrsIsg67m87Jik6riw66W8IOuniOy5mOyngCDslYrslZjsirXri4jri6QuIChDT01NSVRfUElDS19IRUFEIOyeiOydjClcbiIKICLrs5HtlantlZjquLAg7KCE7JeQIOuzgOqyvSDsgqztla3snYQg7Luk67CL7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg4CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuIgogbXNnc3RyICLsu6TrsIsg67m87Jik6riw66W8IOuniOy5mOyngCDslYrslZjsirXri4jri6QuIChDSEVSUllfUElDS19IRUFEIOyeiOydjCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU0CisjOiBidWlsdGluL21lcmdlLmM6MTE5NwogbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgogbXNnc3RyICItLXNxdWFzaCDsmLXshZjsnYQgLS1uby1mZiDsmLXshZjqs7wg6rCZ7J20IOyTuCDsiJgg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjA1CiBtc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCiBtc2dzdHIgIuy7pOuwi+ydhCDsp4DsoJXtlZjsp4Ag7JWK7JWY6rOgICBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbeulvCDshKTsoJXtlZjsp4Ag7JWK7JWY7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjIyCiBtc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCiBtc2dzdHIgIuu5iCDtl6Trk5zroZwg7Luk67CL7J2EIO2Vqey5mOq4sOuKlCDsp4Dsm5DtlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4MQorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjQKIG1zZ2lkICJOb24tZmFzdC1mb3J3YXJkIGNvbW1pdCBkb2VzIG5vdCBtYWtlIHNlbnNlIGludG8gYW4gZW1wdHkgaGVhZCIKIG1zZ3N0ciAi7KCV67Cp7Zal7J20IOyVhOuLjCDsu6TrsIvsnYAg67mIIO2XpOuTnOyXkOyEnOuKlCDslZ7rkqTqsIAg66ee7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIiVzIC0g67OR7ZWp7ZWgIOyImCDsnojripQg7ZWt66qp7J20IOyVhOuLmeuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjMxCiBtc2dpZCAiQ2FuIG1lcmdlIG9ubHkgZXhhY3RseSBvbmUgY29tbWl0IGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAi67mIIO2XpOuTnOyXkOuKlCDsoJXtmZXtnogg7ZWY64KY7J2YIOy7pOuwi+unjCDrs5HtlantlaAg7IiYIOyeiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYW4gdW50cnVzdGVkIEdQRyBzaWduYXR1cmUsIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIiVzIOy7pOuwi+yXkCDsi6DrorDtlZjsp4Ag7JWK64qUICjshJzrqoXsnpDqsIAgJXPrnbzqs6Ag7ZWY64qUKSBHUEcg7ISc66qF7J20IOyeiOyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzQ3CisjOiBidWlsdGluL21lcmdlLmM6MTI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgYmFkIEdQRyBzaWduYXR1cmUgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiJXMg7Luk67CL7JeQIOyemOuqu+uQnCAo7ISc66qF7J6Q6rCAICVz65286rOgIO2VmOuKlCkgR1BHIOyEnOuqheydtCDsnojsirXri4jri6QuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM1MAorIzogYnVpbHRpbi9tZXJnZS5jOjEyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgYSBHUEcgc2lnbmF0dXJlLiIKIG1zZ3N0ciAiJXMg7Luk67CL7JeQIEdQRyDshJzrqoXsnbQg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBnb29kIEdQRyBzaWduYXR1cmUgYnkgJXNcbiIKIG1zZ3N0ciAiJXMg7Luk67CL7JeQICVz7J2YIOyYrOuwlOuluCBHUEcg7ISc66qF7J20IOyXhuyKteuLiOuLpFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQxNQorIzogYnVpbHRpbi9tZXJnZS5jOjEzNTgKIG1zZ2lkICJyZWZ1c2luZyB0byBtZXJnZSB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICLqtIDqs4Qg7JeG64qUIOy7pOuwiyDrgrTsl63snZgg67OR7ZWp7J2EIOqxsOu2gO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzY3Cittc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlLiIKK21zZ3N0ciAi7J2066+4IOyXheuNsOydtO2KuCDsg4Htg5zsnoXri4jri6QuIgorCisjOiBidWlsdGluL21lcmdlLmM6MTM3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcy4uJXNcbiIKIG1zZ3N0ciAi7JeF642w7J207Yq4IOykkSAlcy4uJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICLslYTso7wg6rCE64uo7ZWcIOyduOuNseyKpCDrgrTrtoAg67OR7ZWp7J2EIOyLnOuPhO2VqeuLiOuLpC4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ4MworIzogYnVpbHRpbi9tZXJnZS5jOjE0MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm9wZS5cbiIKIG1zZ3N0ciAi7JWE64uYLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUxNQorIzogYnVpbHRpbi9tZXJnZS5jOjE0NTAKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIFllZWFoISIKK21zZ3N0ciAi7J2066+4IOyXheuNsOydtO2KuCDsg4Htg5zsnoXri4jri6QuIOyVvO2YuCEiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDU2CiBtc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgogbXNnc3RyICLsoJXrsKntlqXsnbQg67aI6rCA64ql7ZWY66+A66GcLCDspJHsp4Dtlanri4jri6QuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUzOCBidWlsdGluL21lcmdlLmM6MTYxNworIzogYnVpbHRpbi9tZXJnZS5jOjE0NzkgYnVpbHRpbi9tZXJnZS5jOjE1NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCiBtc2dzdHIgIu2KuOumrOulvCDrs7jrnpgg7JyE7LmY66GcIOuQmOuPjOumveuLiOuLpC4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU0MgorIzogYnVpbHRpbi9tZXJnZS5jOjE0ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIG1lcmdlIHN0cmF0ZWd5ICVzLi4uXG4iCiBtc2dzdHIgIuuzke2VqSDsoITrnrUgJXMg7Iuc64+ELi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjA4CisjOiBidWlsdGluL21lcmdlLmM6MTU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBzdHJhdGVneSBoYW5kbGVkIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAi67OR7ZWp7J2EIOyymOumrO2VnCDsoITrnrXsnbQg7JeG7Iq164uI64ukLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYxMAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCiBtc2dzdHIgIuyghOuetSAlcyjsnLwp66GcIOuzke2VqeydtCDsi6TtjKjtlojsirXri4jri6QuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjE5CisjOiBidWlsdGluL21lcmdlLmM6MTU2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAi7IiY64+ZIO2VtOqysOydmCDspIDruYTrpbwg7JyE7ZW0ICVzIOyghOueteydhCDsgqzsmqntlanri4jri6QuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjMxCisjOiBidWlsdGluL21lcmdlLmM6MTU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICLsnpDrj5kg67OR7ZWp7J20IOyemCDsp4TtlonrkJjsl4jsirXri4jri6QuIOyalOyyre2VnOuMgOuhnCDsu6TrsIsg7KCE7JeQIOykkeyngO2VqeuLiOuLpFxuIgpAQCAtODQyNCwyMyArOTQxOCwyMyBAQAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiBbPGNvbW1pdD5dIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPOugiO2NvOufsOyKpD4gWzzsu6TrsIs+XSIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE0CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTcKIG1zZ2lkICJvdXRwdXQgYWxsIGNvbW1vbiBhbmNlc3RvcnMiCiBtc2dzdHIgIuuqqOuToCDqs7zqsbAg6rO17Ya1IOy7pOuwi+ydhCDstpzroKXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNgorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE5CiBtc2dpZCAiZmluZCBhbmNlc3RvcnMgZm9yIGEgc2luZ2xlIG4td2F5IG1lcmdlIgogbXNnc3RyICLtlZjrgpjsnZggbi3rsKntlqUg67OR7ZWp7JeQIOuMgO2VnCDqs7zqsbAg7Luk67CL7J2EIOywvuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE4CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjEKIG1zZ2lkICJsaXN0IHJldnMgbm90IHJlYWNoYWJsZSBmcm9tIG90aGVycyIKIG1zZ3N0ciAi64uk66W4IOqzs+yXkOyEnCDsoJHqt7wg67aI6rCA64ql7ZWcIOumrOu5hOyghCDrqqnroZ3snYQg7Lac66Cl7ZWp64uI64ukIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjAKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMwogbXNnaWQgImlzIHRoZSBmaXJzdCBvbmUgYW5jZXN0b3Igb2YgdGhlIG90aGVyPyIKIG1zZ3N0ciAi7LKr67KI7Ke46rCAIOuLpOuluCDqsoPsnZgg6rO86rGwIOy7pOuwi+yduOyngCDsl6zrtoA/IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjIKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNQogbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgogbXNnc3RyICI866CI7Y2865+w7IqkPuydmCByZWZsb2fsl5DshJwgPOy7pOuwiz7snbQg67aE66as65CcIOychOy5mOulvCDssL7sirXri4jri6QiCiAKQEAgLTg0ODQsNiArOTQ3OCwzNiBAQAogbXNnaWQgInNldCBsYWJlbHMgZm9yIGZpbGUxL29yaWctZmlsZS9maWxlMiIKIG1zZ3N0ciAiPO2MjOydvDE+Lzzrs7jrnpgt7YyM7J28Pi887YyM7J28Mj7sl5Ag64yA7ZWcIOugiOydtOu4lOydhCDshKTsoJXtlanri4jri6QiCiAKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gJXMiCittc2dzdHIgIuyVjCDsiJgg7JeG64qUIOyYteyFmDogJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgorbXNnc3RyICInJXMnIOyYpOu4jOygne2KuOulvCDtjIzsi7HtlaAg7IiYIOyXhuyKteuLiOuLpCIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlLiBJZ25vcmluZyAlcy4iCittc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2VzLiBJZ25vcmluZyAlcy4iCittc2dzdHJbMF0gIuuyoOydtOyKpOulvCAlZOqwnCDrs7Tri6Qg66eO7J20IOyTuCDsiJgg7JeG7Iq164uI64ukLiAlcyDrrLTsi5ztlanri4jri6QuIgorCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjYzCittc2dpZCAibm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKK21zZ3N0ciAi65GQIOqwnOydmCDtl6Trk5wg67OR7ZWpIOyZuOyXkOuKlCDsspjrpqztlZjsp4Ag7JWK7Iq164uI64ukLiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2OSBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIHJlZiAnJXMnIgorbXNnc3RyICInJXMnIOugiO2NvOufsOyKpOulvCDslYzslYTrgrwg7IiYIOyXhuyKteuLiOuLpCIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJNZXJnaW5nICVzIHdpdGggJXNcbiIKK21zZ3N0ciAiJXMg67OR7ZWpLCAlcyDtla3rqqnqs7xcbiIKKwogIzogYnVpbHRpbi9ta3RyZWUuYzo2NQogbXNnaWQgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCiBtc2dzdHIgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCkBAIC04NTI2LDEwOSArOTU1MCwxMDkgQEAKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKIG1zZ3N0ciAi7Jiu6riw6riwL+ydtOumhCDrsJTqvrjquLAg7Jik66WY66W8IOqxtOuEiCDrnIHri4jri6QiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNTIKKyM6IGJ1aWx0aW4vbXYuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gJyVzJyBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIuuMgOyDgeydtCAoJyVzJykg65SU66CJ7YSw66as6rCAIOyVhOuLmeuLiOuLpCIKIAotIzogYnVpbHRpbi9tdi5jOjE2MworIzogYnVpbHRpbi9tdi5jOjE2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCiBtc2dzdHIgIiclcyfsnYQo66W8KSAnJXMnKOycvCnroZwg7J2066aEIOuwlOq+uOq4sO2VqeuLiOuLpFxuIgogCi0jOiBidWlsdGluL212LmM6MTY3CisjOiBidWlsdGluL212LmM6MTcwCiBtc2dpZCAiYmFkIHNvdXJjZSIKIG1zZ3N0ciAi7J6Y66q765CcIOybkOuzuCIKIAotIzogYnVpbHRpbi9tdi5jOjE3MAorIzogYnVpbHRpbi9tdi5jOjE3MwogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgIuuUlOugie2EsOumrOulvCDsnpDquLAg7J6Q7Iug7Jy866GcIOyYruq4uCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL212LmM6MTczCisjOiBidWlsdGluL212LmM6MTc2CiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAi65SU66CJ7YSw66as66W8IO2MjOydvOuhnCDsmK7quLgg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9tdi5jOjE4MgorIzogYnVpbHRpbi9tdi5jOjE4NQogbXNnaWQgInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiCiBtc2dzdHIgIuybkOuzuCDrlJTroInthLDrpqzqsIAg67mE7Ja0IOyeiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9tdi5jOjIwNworIzogYnVpbHRpbi9tdi5jOjIxMAogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgIuuyhOyghCDsu6jtirjroaQg7KSR7J20IOyVhOuLmeuLiOuLpCIKIAotIzogYnVpbHRpbi9tdi5jOjIxMAorIzogYnVpbHRpbi9tdi5jOjIxMwogbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKIG1zZ3N0ciAi64yA7IOB7J20IOyeiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9tdi5jOjIxOAorIzogYnVpbHRpbi9tdi5jOjIyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJvdmVyd3JpdGluZyAnJXMnIgogbXNnc3RyICInJXMnIOuNruyWtOyTsOq4sCIKIAotIzogYnVpbHRpbi9tdi5jOjIyMQorIzogYnVpbHRpbi9tdi5jOjIyNAogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCiBtc2dzdHIgIuuNruyWtOyTuCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL212LmM6MjI0CisjOiBidWlsdGluL212LmM6MjI3CiBtc2dpZCAibXVsdGlwbGUgc291cmNlcyBmb3IgdGhlIHNhbWUgdGFyZ2V0IgogbXNnc3RyICLrj5nsnbztlZwg64yA7IOB7JeQIOuMgO2VtCDsl6zrn6wg6rCcIOybkOuzuCIKIAotIzogYnVpbHRpbi9tdi5jOjIyNgorIzogYnVpbHRpbi9tdi5jOjIyOQogbXNnaWQgImRlc3RpbmF0aW9uIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi64yA7IOBIOuUlOugie2EsOumrOqwgCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzMKKyM6IGJ1aWx0aW4vbXYuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiBtc2dzdHIgIiVzLCDsm5Drs7g9JXMsIOuMgOyDgT0lcyIKIAotIzogYnVpbHRpbi9tdi5jOjI1NAorIzogYnVpbHRpbi9tdi5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlc1xuIgogbXNnc3RyICLsnbTrpoQg67CU6r646riwLCAnJXMn7JeQ7IScICclcyco7Jy8KeuhnFxuIgogCi0jOiBidWlsdGluL212LmM6MjYwIGJ1aWx0aW4vcmVtb3RlLmM6NzE0IGJ1aWx0aW4vcmVwYWNrLmM6MzY1CisjOiBidWlsdGluL212LmM6MjYzIGJ1aWx0aW4vcmVtb3RlLmM6NzEwIGJ1aWx0aW4vcmVwYWNrLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICInJXMn7J2YIOydtOumhCDrsJTqvrjquLDqsIAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU4CisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU3CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzzsmLXshZg+XSA87Luk67CLPi4uLiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs87Ji17IWYPl0gLS1hbGwiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNjAKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTkKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1zdGRpbiIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs87Ji17IWYPl0gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMQogbXNnaWQgInByaW50IG9ubHkgbmFtZXMgKG5vIFNIQS0xKSIKIG1zZ3N0ciAi7J2066aE66eMIO2RnOyLnCAoU0hBLTEg7JeG7J20KSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMworIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMgogbXNnaWQgIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIKIG1zZ3N0ciAi7Luk67CL7J2EIOyngOygle2VoCDrlYwg7YOc6re466eMIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNAogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICI87Yyo7YS0PuqzvCDsnbzsuZjtlZjripQg66CI7Y2865+w7Iqk66eMIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNworIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNgogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgIuuqqOuToCDroIjtjbzrn7DsiqTsl5DshJwg7KCR6re8IOqwgOuKpe2VnCDrqqjrk6Ag7Luk67CLIOuqqeuhneydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTcKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgIu2RnOykgOyeheugpeyXkOyEnCDsnb3sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTkKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKIG1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCiBtc2dzdHIgImDsoJXsnZjrkJjsp4Ag7JWK7J2AJyDsnbTrpoQg7ZGc7Iuc66W8IO2XiOyaqe2VqeuLiOuLpCAo6riw67O46rCSKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMyNAogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgogbXNnc3RyICLsnoXroKXsnZgg7YOc6re4IOugiO2NvOufsOyKpOulvCDrlLDrnbzqsJHri4jri6QgKOuCtOu2gCDsgqzsmqkpIgogCkBAIC04NzQzLDYgKzk3NjcsMTAgQEAKIG1zZ2lkICJnaXQgbm90ZXMgZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGdldC1yZWYiCiAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NAorbXNnaWQgIldyaXRlL2VkaXQgdGhlIG5vdGVzIGZvciB0aGUgZm9sbG93aW5nIG9iamVjdDoiCittc2dzdHIgIuuLpOydjCDsmKTruIzsoJ3tirjsl5Ag64W47Yq466W8IOyTsOqxsOuCmCDtjrjsp5Htlanri4jri6Q6IgorCiAjOiBidWlsdGluL25vdGVzLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzdGFydCAnc2hvdycgZm9yIG9iamVjdCAnJXMnIgpAQCAtODc1Nyw4MCArOTc4NSw5OSBAQAogbXNnaWQgImZhaWxlZCB0byBmaW5pc2ggJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq4ICclcyfsl5Ag64yA7ZW0ICdzaG93J+ulvCDrp4jsuZjripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTc0IGJ1aWx0aW4vdGFnLmM6MjQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgotbXNnc3RyICInJXMnIO2MjOydvOydhCDrp4zrk6Qg7IiYIOyXhuyKteuLiOuLpCIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjE5MwotbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxOTQKK21zZ2lkICJwbGVhc2Ugc3VwcGx5IHRoZSBub3RlIGNvbnRlbnRzIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24iCiBtc2dzdHIgIuuFuO2KuCDrgrTsmqnsnYQgLW0g65iQ64qUIC1GIOyYteyFmOycvOuhnCDsnoXroKXtlZjsi63si5zsmKQiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDIKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDMKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCiBtc2dzdHIgIuuFuO2KuCDsmKTruIzsoJ3tirjrpbwg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCittc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgIuuFuO2KuCDrgrTsmqnsnYAgJXPsl5Ag64Ko7Iq164uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjMyIGJ1aWx0aW4vdGFnLmM6NDM5CisjOiBidWlsdGluL25vdGVzLmM6MjMzIGJ1aWx0aW4vdGFnLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIzNCBidWlsdGluL3RhZy5jOjQ0MgorIzogYnVpbHRpbi9ub3Rlcy5jOjIzNSBidWlsdGluL3RhZy5jOjQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgIiclcyfsnYQo66W8KSDsl7TqsbDrgpgg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNTQgYnVpbHRpbi9ub3Rlcy5jOjMwNSBidWlsdGluL25vdGVzLmM6MzA3CisjOiBidWlsdGluL25vdGVzLmM6MzcyIGJ1aWx0aW4vbm90ZXMuYzo0MjcgYnVpbHRpbi9ub3Rlcy5jOjUxMworIzogYnVpbHRpbi9ub3Rlcy5jOjUxOCBidWlsdGluL25vdGVzLmM6NTk2IGJ1aWx0aW4vbm90ZXMuYzo2NTkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlYWQgb2JqZWN0ICclcycuIgorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgorbXNnc3RyICInJXMn7J2EKOulvCkg7Jis67CU66W4IOugiO2NvOufsOyKpOuhnCDslYzslYTrgrTripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBvYmplY3QgJyVzJy4iCiBtc2dzdHIgIiclcycg7Jik67iM7KCd7Yq4IOydveq4sOyXkCDsi6TtjKjtlojsirXri4jri6QuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjYwCisjOiBidWlsdGluL25vdGVzLmM6MjYxCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCByZWFkIG5vdGUgZGF0YSBmcm9tIG5vbi1ibG9iIG9iamVjdCAnJXMnLiIKK21zZ2lkICJjYW5ub3QgcmVhZCBub3RlIGRhdGEgZnJvbSBub24tYmxvYiBvYmplY3QgJyVzJy4iCiBtc2dzdHIgIuu4lOuhreydtCDslYTri4wgJyVzJyDsmKTruIzsoJ3tirjsl5Ag64yA7ZW0IOuFuO2KuCDrjbDsnbTthLDrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzYyIGJ1aWx0aW4vbm90ZXMuYzo0MTcgYnVpbHRpbi9ub3Rlcy5jOjQ5MwotIzogYnVpbHRpbi9ub3Rlcy5jOjUwNSBidWlsdGluL25vdGVzLmM6NTgxIGJ1aWx0aW4vbm90ZXMuYzo2NDkKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NDYKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgorbXNnc3RyICLsnpjrqrvrkJwg7ZiV7Iud7J2YIOyeheugpSDspIQ6ICclcycuIgorCisjOiBidWlsdGluL25vdGVzLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgorbXNnc3RyICInJXMn7JeQ7IScICclcyco7Jy8KeuhnCDrhbjtirjrpbwg67O17IKs7ZWY64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKKworIy4gVFJBTlNMQVRPUlM6IHRoZSBmaXJzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEKKyMuIGdpdCBub3RlcyBjb21tYW5kOiAnYWRkJywgJ21lcmdlJywgJ3JlbW92ZScsIGV0Yy4KKyM6IGJ1aWx0aW4vbm90ZXMuYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmdXNpbmcgdG8gJXMgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgorbXNnc3RyICIlc+yXkOyEnCDrhbjtirjrpbwgJXMg7ZWY6riw66W8IOqxsOu2gO2VqeuLiOuLpCAocmVmcy9ub3Rlcy8g67CW7J6EKSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjM2NSBidWlsdGluL25vdGVzLmM6NDIwIGJ1aWx0aW4vbm90ZXMuYzo0OTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MDggYnVpbHRpbi9ub3Rlcy5jOjU4NCBidWlsdGluL25vdGVzLmM6NjUyCisjOiBidWlsdGluL25vdGVzLmM6ODAyIGJ1aWx0aW4vbm90ZXMuYzo5NDkgYnVpbHRpbi9ub3Rlcy5jOjk3MAogbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCiBtc2dzdHIgIu2MjOudvOuvuO2EsOqwgCDrhIjrrLQg66eO7Iq164uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzc1IGJ1aWx0aW4vbm90ZXMuYzo2NjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjY2NQogIywgYy1mb3JtYXQKLW1zZ2lkICJObyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgorbXNnaWQgIm5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCiBtc2dzdHIgIiVzIOyYpOu4jOygne2KuOyXkCDrjIDtlbQg64W47Yq46rCAIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozOTYgYnVpbHRpbi9ub3Rlcy5jOjU1OQorIzogYnVpbHRpbi9ub3Rlcy5jOjM5OSBidWlsdGluL25vdGVzLmM6NTYyCiBtc2dpZCAibm90ZSBjb250ZW50cyBhcyBhIHN0cmluZyIKIG1zZ3N0ciAi66y47J6Q7Je066GcIOuFuO2KuCDrgrTsmqkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozOTkgYnVpbHRpbi9ub3Rlcy5jOjU2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CiBtc2dpZCAibm90ZSBjb250ZW50cyBpbiBhIGZpbGUiCiBtc2dzdHIgIu2MjOydvCDslYjsl5Ag64W47Yq4IOuCtOyaqSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CisjOiBidWlsdGluL25vdGVzLmM6NDA1IGJ1aWx0aW4vbm90ZXMuYzo1NjgKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgIuyngOygle2VnCDrhbjtirgg7Jik67iM7KCd7Yq466W8IOyerOyCrOyaqe2VmOqzoCDtjrjsp5Htlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDUgYnVpbHRpbi9ub3Rlcy5jOjU2OAorIzogYnVpbHRpbi9ub3Rlcy5jOjQwOCBidWlsdGluL25vdGVzLmM6NTcxCiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICLsp4DsoJXtlZwg64W47Yq4IOyYpOu4jOygne2KuOulvCDsnqzsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CiBtc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgogbXNnc3RyICLruYgg64W47Yq4IOyggOyepeydhCDtl4jsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDkgYnVpbHRpbi9ub3Rlcy5jOjQ4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMiBidWlsdGluL25vdGVzLmM6NDgzCiBtc2dpZCAicmVwbGFjZSBleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAi6riw7KG0IOuFuO2KuOulvCDrsJTqv4nri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBhZGQgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCkBAIC04ODM5LDI5ICs5ODg2LDI5IEBACiAi64W47Yq466W8IOy2lOqwgO2VoCDsiJgg7JeG7Iq164uI64ukLiAlcyDsmKTruIzsoJ3tirjsl5Ag64yA7ZWcIOq4sOyhtCDrhbjtirjqsIAg7J6I7Iq164uI64ukLiDquLDsobQg64W47Yq4IgogIuulvCDrja7slrTsk7DroKTrqbQgJy1mJyDsmLXshZjsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDQ5IGJ1aWx0aW4vbm90ZXMuYzo1MjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NTIgYnVpbHRpbi9ub3Rlcy5jOjUzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJPdmVyd3JpdGluZyBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzXG4iCiBtc2dzdHIgIiVzIOyYpOu4jOygne2KuOyXkCDrjIDtlZwg6riw7KG0IOuFuO2KuOulvCDrja7slrTslIHri4jri6RcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MCBidWlsdGluL25vdGVzLmM6NjIxIGJ1aWx0aW4vbm90ZXMuYzo4ODYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjYyNCBidWlsdGluL25vdGVzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICIlcyDsmKTruIzsoJ3tirjsl5Ag64yA7ZWcIOuFuO2KuOulvCDsoJzqsbDtlanri4jri6RcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NAogbXNnaWQgInJlYWQgb2JqZWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICLtkZzspIAg7J6F66Cl7JeQ7IScIOyYpOu4jOygne2KuOulvCDsnb3sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0ODYKIG1zZ2lkICJsb2FkIHJld3JpdGluZyBjb25maWcgZm9yIDxjb21tYW5kPiAoaW1wbGllcyAtLXN0ZGluKSIKIG1zZ3N0ciAiPOuqheuguT7sl5Ag64yA7ZWcIOuLpOyLnOyTsOq4sCDshKTsoJXsnYQg7J297Ja065Ok7J6F64uI64ukICgtLXN0ZGluIOyYteyFmCDtj6ztlagpIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTAxCisjOiBidWlsdGluL25vdGVzLmM6NTA0CiBtc2dpZCAidG9vIGZldyBwYXJhbWV0ZXJzIgogbXNnc3RyICLtjIzrnbzrr7jthLDqsIAg64SI66y0IOyggeyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUyMgorIzogYnVpbHRpbi9ub3Rlcy5jOjUyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGNvcHkgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCkBAIC04ODcwLDEyICs5OTE3LDEyIEBACiAi64W47Yq466W8IOuzteyCrO2VoCDsiJgg7JeG7Iq164uI64ukLiAlcyDsmKTruIzsoJ3tirjsl5Ag64yA7ZWcIOq4sOyhtCDrhbjtirjqsIAg7J6I7Iq164uI64ukLiDquLDsobQg64W47Yq4IgogIuulvCDrja7slrTsk7DroKTrqbQgJy1mJyDsmLXshZjsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTM0CisjOiBidWlsdGluL25vdGVzLmM6NTM3CiAjLCBjLWZvcm1hdAotbXNnaWQgIk1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90IGNvcHkuIgorbXNnaWQgIm1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90IGNvcHkuIgogbXNnc3RyICLsm5Drs7ggJXMg7Jik67iM7KCd7Yq47JeQIOuMgO2VnCDrhbjtirjqsIAg7JeG7Iq164uI64ukLiDrs7XsgqztlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1ODYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCkBAIC04ODg0LDE1ICs5OTMxLDUyIEBACiAiLW0vLUYvLWMvLUMg7Ji17IWY7J2AICdlZGl0JyDtlZjsnIQg66qF66C57JeQIOuMgO2VtCDsgqzsmqnsnYQg6raM7ZWY7KeAIOyViuyKteuLiOuLpC5cbiIKICLrjIDsi6Dsl5AgJ2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUMnIOuqheugueydhCDsgqzsmqntlZjsi63si5zsmKQuXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODUKK21zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgorbXNnc3RyICJOT1RFU19NRVJHRV9QQVJUSUFMIOugiO2NvOufsOyKpCDsgq3soJzsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukIgorCisjOiBidWlsdGluL25vdGVzLmM6Njg3Cittc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUkVGIgorbXNnc3RyICJOT1RFU19NRVJHRV9SRUYg66CI7Y2865+w7IqkIOyCreygnOyXkCDsi6TtjKjtlojsirXri4jri6QiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODkKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICdnaXQgbm90ZXMgbWVyZ2UnIHdvcmt0cmVlIgorbXNnc3RyICInZ2l0IG5vdGVzIG1lcmdlJyDsnpHsl4Xtirjrpqwg7KCc6rGw7JeQIOyLpO2MqO2WiOyKteuLiOuLpCIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcwOQorbXNnaWQgImZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgorbXNnc3RyICJOT1RFU19NRVJHRV9QQVJUSUFMIOugiO2NvOufsOyKpCDsnb3quLDsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukIgorCisjOiBidWlsdGluL25vdGVzLmM6NzExCittc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgIk5PVEVTX01FUkdFX1BBUlRJQUzsl5DshJwg7Luk67CL7J2EIOywvuydhCDsiJgg7JeG7Iq164uI64ukLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcxMworbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKK21zZ3N0ciAiTk9URVNfTUVSR0VfUEFSVElBTOyXkOyEnCDsu6TrsIvsnYQg7YyM7Iux7ZWgIOyImCDsl4bsirXri4jri6QuIgorCisjOiBidWlsdGluL25vdGVzLmM6NzI2Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgTk9URVNfTUVSR0VfUkVGIgorbXNnc3RyICJOT1RFU19NRVJHRV9SRUYg7JWM7JWE64K06riw7JeQIOyLpO2MqO2WiOyKteuLiOuLpCIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcyOQorbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSBub3RlcyBtZXJnZSIKK21zZ3N0ciAi64W47Yq4IOuzke2VqeydhCDrp4jsuZjripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgorCisjOiBidWlsdGluL25vdGVzLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbm90ZXMgbWVyZ2Ugc3RyYXRlZ3kgJXMiCittc2dzdHIgIuyVjCDsiJgg7JeG64qUIOuFuO2KuCDrs5Htlakg7KCE6561ICVzIgorCisjOiBidWlsdGluL25vdGVzLmM6NzcxCiBtc2dpZCAiR2VuZXJhbCBvcHRpb25zIgogbXNnc3RyICLsnbzrsJgg7Ji17IWYIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzcwCisjOiBidWlsdGluL25vdGVzLmM6NzczCiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAi67OR7ZWpIOyYteyFmCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MgorIzogYnVpbHRpbi9ub3Rlcy5jOjc3NQogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCiAiY2F0X3NvcnRfdW5pcSkiCkBAIC04OTAwLDIzNSArOTk4NCwyNzMgQEAKICLso7zslrTsp4Qg7KCE65617J2EIOyCrOyaqe2VtCDrhbjtirgg7Lap64+M7J2EIO2VtOqysO2VqeuLiOuLpCAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uLyIKICJjYXRfc29ydF91bmlxKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NAorIzogYnVpbHRpbi9ub3Rlcy5jOjc3NwogbXNnaWQgIkNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIuuzke2Vqe2VmOyngCDslYrsnYAg64W47Yq4IOy7pOuwiyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NgorIzogYnVpbHRpbi9ub3Rlcy5jOjc3OQogbXNnaWQgImZpbmFsaXplIG5vdGVzIG1lcmdlIGJ5IGNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIuuzke2Vqe2VmOyngCDslYrsnYAg64W47Yq466W8IOy7pOuwi+2VtCDrhbjtirgg67OR7ZWp7J2EIOuniOy5qeuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3OAorIzogYnVpbHRpbi9ub3Rlcy5jOjc4MQogbXNnaWQgIkFib3J0aW5nIG5vdGVzIG1lcmdlIHJlc29sdXRpb24iCiBtc2dzdHIgIuuFuO2KuCDrs5Htlakg7ZW06rKwIOykkeyngCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjc4MwogbXNnaWQgImFib3J0IG5vdGVzIG1lcmdlIgogbXNnc3RyICLrhbjtirgg67OR7ZWp7J2EIOykkeyngO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg1NworIzogYnVpbHRpbi9ub3Rlcy5jOjc5NAorbXNnaWQgImNhbm5vdCBtaXggLS1jb21taXQsIC0tYWJvcnQgb3IgLXMvLS1zdHJhdGVneSIKK21zZ3N0ciAiLS1jb21taXQsIC0tYWJvcnQsIC1zLy0tc3RyYXRlZ3kg7Ji17IWY7J2EIOyEnuyWtCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc5OQorbXNnaWQgIm11c3Qgc3BlY2lmeSBhIG5vdGVzIHJlZiB0byBtZXJnZSIKK21zZ3N0ciAi67OR7ZWp7ZWgIOuFuO2KuCDroIjtjbzrn7DsiqTrpbwg7KeA7KCV7ZW07JW8IO2VqeuLiOuLpCIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjgyMwogIywgYy1mb3JtYXQKLW1zZ2lkICJBIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKK21zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgorbXNnc3RyICLslYwg7IiYIOyXhuuKlCDsoITrnrUoLXMvLS1zdHJhdGVneSk6ICVzIgorCisjOiBidWlsdGluL25vdGVzLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgImEgbm90ZXMgbWVyZ2UgaW50byAlcyBpcyBhbHJlYWR5IGluLXByb2dyZXNzIGF0ICVzIgogbXNnc3RyICIlcyDsnITsuZjroZwg64W47Yq4IOuzke2VqeydtCDsnbTrr7ggJXPsl5DshJwg7KeE7ZaJ7KSR7J6F64uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODg0CisjOiBidWlsdGluL25vdGVzLmM6ODYzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzdG9yZSBsaW5rIHRvIGN1cnJlbnQgbm90ZXMgcmVmICglcykiCittc2dzdHIgIu2YhOyerCDrhbjtirgg66CI7Y2865+w7Iqk7J2YICglcykg66eB7YGs66W8IOyggOyepe2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QuIgorCisjOiBidWlsdGluL25vdGVzLmM6ODY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJBdXRvbWF0aWMgbm90ZXMgbWVyZ2UgZmFpbGVkLiBGaXggY29uZmxpY3RzIGluICVzIGFuZCBjb21taXQgdGhlIHJlc3VsdCB3aXRoICIKKyInZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0Jywgb3IgYWJvcnQgdGhlIG1lcmdlIHdpdGggJ2dpdCBub3RlcyBtZXJnZSAtLSIKKyJhYm9ydCcuXG4iCittc2dzdHIgIiIKKyLsnpDrj5kg64W47Yq4IOuzke2VqeydtCDsi6TtjKjtlojsirXri4jri6QuICVzIOyViOydmCDstqnrj4zsnYQg67CU66Gc7J6h6rOgIOqysOqzvOulvCAnZ2l0IG5vdGVzICIKKyJtZXJnZSAtLWNvbW1pdCcg66qF66C57Jy866GcIOy7pOuwi+2VmOyLreyLnOyYpC4g65iQ64qUICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcg66qF66C57Jy8IgorIuuhnCDrs5HtlansnYQg7KSR7KeA7ZWY7Iut7Iuc7JikLlxuIgorCisjOiBidWlsdGluL25vdGVzLmM6ODg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9iamVjdCAlcyBoYXMgbm8gbm90ZVxuIgogbXNnc3RyICIlcyDsmKTruIzsoJ3tirjsl5Ag64W47Yq46rCAIOyXhuyKteuLiOuLpFxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODk2CisjOiBidWlsdGluL25vdGVzLmM6ODk5CiBtc2dpZCAiYXR0ZW1wdCB0byByZW1vdmUgbm9uLWV4aXN0ZW50IG5vdGUgaXMgbm90IGFuIGVycm9yIgogbXNnc3RyICLsl4bripQg64W47Yq466W8IOygnOqxsO2VmOugpOuKlCDsi5zrj4Trpbwg7Jik66WY6rCAIOyVhOuLjCDqsoPsnLzroZwg7Leo6riJ7ZWp64uI64ukIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODk5CisjOiBidWlsdGluL25vdGVzLmM6OTAyCiBtc2dpZCAicmVhZCBvYmplY3QgbmFtZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIu2RnOykgCDsnoXroKXsl5DshJwg7Jik67iM7KCd7Yq4IOydtOumhOydhCDsnb3sirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NDAgYnVpbHRpbi9wcnVuZS5jOjEwNSBidWlsdGluL3dvcmt0cmVlLmM6MTI3Cittc2dpZCAiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IgorbXNnc3RyICLsoJzqsbDtlZjsp4Ag7JWK6rOgLCDrs7Tsl6zso7zquLDrp4wg7ZWp64uI64ukIgorCisjOiBidWlsdGluL25vdGVzLmM6OTQxCittc2dpZCAicmVwb3J0IHBydW5lZCBub3RlcyIKK21zZ3N0ciAi7J6Y652864K4IOuFuO2KuOulvCDslYzrpr3ri4jri6QiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODMKIG1zZ2lkICJub3Rlcy1yZWYiCiBtc2dzdHIgIuuFuO2KuC3roIjtjbzrn7DsiqQiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODQKIG1zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiPOuFuO2KuC3roIjtjbzrn7DsiqQ+7JeQ7IScIOuFuO2KuOulvCDsgqzsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxMDE2IGJ1aWx0aW4vcmVtb3RlLmM6MTYyOAorIzogYnVpbHRpbi9ub3Rlcy5jOjEwMTkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKK21zZ2lkICJ1bmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICLslYwg7IiYIOyXhuuKlCDtlZjsnIQg66qF66C5OiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOQogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPOyYteyFmD4uLi5dIFs8IDzroIjtjbzrn7DsiqTrqqnroZ0+IHwgPCA87Jik67iM7KCd7Yq466qp66GdPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPG9wdGlvbnM+Li4uXSA8YmFzZS1uYW1lPiBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgWzzsmLXshZg+Li4uXSA867Kg7J207Iqk7J2066aEPiBbPCA866CI7Y2865+w7Iqk66qp66GdPiB8IDwgPOyYpOu4jOygne2KuOuqqeuhnSIKICI+XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTc5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlZmxhdGUgZXJyb3IgKCVkKSIKIG1zZ3N0ciAiZGVmbGF0ZSDsmKTrpZggKCVkKSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzY4CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKLW1zZ3N0ciAi67Cw7Yq466e1IOyTsOq4sOulvCDtlZjsp4Ag7JWK7Iq164uI64ukLiDrrLbsnYzsnYAgcGFjay5wYWNrU2l6ZUxpbWl0IOqwkuyXkCDrlLDrnbwg7Kq86rCc7KeR64uI64ukIgorbXNnc3RyICIiCisi67Cw7Yq466e1IOyTsOq4sOulvCDtlZjsp4Ag7JWK7Iq164uI64ukLiDrrLbsnYzsnYAgcGFjay5wYWNrU2l6ZUxpbWl0IOqwkuyXkCDrlLDrnbwg7Kq86rCc7KeR64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODEKIG1zZ2lkICJXcml0aW5nIG9iamVjdHMiCiBtc2dzdHIgIuyYpOu4jOygne2KuCDsk7DripQg7KSRIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjEwMTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTA3MAogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgYXMgc29tZSBvYmplY3RzIGFyZSBub3QgYmVpbmcgcGFja2VkIgogbXNnc3RyICLrrLbsnYzsl5Ag65Ok7Ja07J6I7KeAIOyViuydgCDsmKTruIzsoJ3tirjqsIAg7J6I7Jy866+A66GcLCDruYTtirjrp7Ug7JOw6riw66W8IO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjE3NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzQ2CiBtc2dpZCAiQ29tcHJlc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq4IOyVley2le2VmOuKlCDspJEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgIuyngOybkO2VmOyngCDslYrripQg7J24642x7IqkIOuyhOyghCAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTY3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAi7J6Y66q765CcIOyduOuNseyKpCDrsoTsoIQgJyVzJyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTk3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTMKIG1zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAi7KeE7ZaJ66Wg7J2EIO2RnOyLnO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU5OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk1CiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAi7KeE7ZaJ66Wg7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTcKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKIG1zZ3N0ciAi7Jik67iM7KCd7Yq4IOyTsOq4sCDri6jqs4Tsl5DshJwg7KeE7ZaJ66Wg7J2EIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjA0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDAKIG1zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCiBtc2dzdHIgIuynhO2WieuloOydtCDtkZzsi5zrkKAg65WMIC0tYWxsLXByb2dyZXNz7JmAIOu5hOyKt+2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjA1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDEKIG1zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgogbXNnc3RyICLrsoTsoIRbLOyYpO2UhOyFi10iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwNgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAyCiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAi7KeA7KCV7ZWcIOuyhOyghOydmCDsnbjrjbHsiqQg7ZiV7Iud7JeQIOuUsOudvCDrrLbsnYwg7J24642x7IqkIO2MjOydvOydhCDslIHri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA1CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAi7Lac66ClIOustuydjCDtjIzsnbzsnZgg7LWc64yAIO2BrOq4sCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjExCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDcKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgIuuztOyhsCDsmKTruIzsoJ3tirgg7KCA7J6l7IaM7JeQ7IScIOu5jOugpOyYqCDsmKTruIzsoJ3tirjrpbwg66y07Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwOQogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAi66y27J2MIOyYpOu4jOygne2KuOulvCDrrLTsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODExCiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAi66y27J2MIOyciOuPhOyasOulvCDsmKTruIzsoJ3tirgg64uo7JyE66GcIOygnO2VnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjE3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTMKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBtZW1vcnkgaW4gYWRkaXRpb24gdG8gb2JqZWN0IGxpbWl0IgogbXNnc3RyICLrrLbsnYwg7JyI64+E7Jqw66W8IOyYpOu4jOygne2KuCDri6jsnITsl5Ag7LaU6rCA66GcIOuplOuqqOumrCDri6jsnITroZwg7KCc7ZWc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNQogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICLqsrDqs7zrrLwg66y27J2M7JeQ7IScIO2XiOyaqeuQmOuKlCDstZzrjIAg6ri47J207J2YIOuNuO2DgCDssrTsnbgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODE3CiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICLquLDsobQg64247YOA66W8IOyerOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjIzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTkKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgogbXNnc3RyICLquLDsobQg7Jik67iM7KCd7Yq466W8IOyerOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjI1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjEKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgIk9GU19ERUxUQSDsmKTruIzsoJ3tirjrpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyMwogbXNnaWQgInVzZSB0aHJlYWRzIHdoZW4gc2VhcmNoaW5nIGZvciBiZXN0IGRlbHRhIG1hdGNoZXMiCiBtc2dzdHIgIuy1nOyDgeydmCDrjbjtg4Ag7J287LmY66W8IOqygOyDie2VmOuKlOuNsCDsiqTroIjrk5zrpbwg7IKs7Jqp7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyNQogbXNnaWQgImRvIG5vdCBjcmVhdGUgYW4gZW1wdHkgcGFjayBvdXRwdXQiCiBtc2dzdHIgIuu5iCDrrLbsnYwg7Lac66Cl7J2EIOunjOuTpOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI3CiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi7ZGc7KSAIOyeheugpeyXkOyEnCDrpqzruYTsoIQg7J247J6Q66W8IOydveyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjMzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjkKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKIG1zZ3N0ciAi66y27KeAIOyViuuKlCDsmKTruIzsoJ3tirgg7IiY66W8IOygnO2VnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjM2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzIKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAi66qo65OgIOugiO2NvOufsOyKpOyXkOyEnCDsoJHqt7wg6rCA64ql7ZWcIOyYpOu4jOygne2KuOulvCDtj6ztlajtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM1CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIGJ5IHJlZmxvZyBlbnRyaWVzIgogbXNnc3RyICJyZWZsb2cg7ZWt66qp7JeQ7IScIOugiO2NvOufsOyKpO2VoCDsiJgg7J6I64qUIOyYpOu4jOygne2KuOulvCDtj6ztlajtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM4CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIHRvIGJ5IHRoZSBpbmRleCIKIG1zZ3N0ciAi7J24642x7Iqk7JeQ7IScPCDroIjtjbzrn7DsiqTtlZjripQg7Jik67iM7KCd7Yq466W8IO2PrO2VqO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDEKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgIuustuydjOydhCDtkZzspIAg7Lac66Cl7Jy866GcIOy2nOugpe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDMKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgIuustuydjOyXkCDrk6TslrTqsIgg7Jik67iM7KCd7Yq466W8IOugiO2NvOufsOyKpO2VmOuKlCDtg5zqt7gg7Jik67iM7KCd7Yq466W8IO2PrO2VqO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDUKIG1zZ2lkICJrZWVwIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIuygkeq3vCDrtojqsIDriqUg7Jik67iM7KCd7Yq466W8IOuztOyhtO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjUwIHBhcnNlLW9wdGlvbnMuaDoxNDIKLW1zZ2lkICJ0aW1lIgotbXNnc3RyICLsi5zqsIEiCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDcKK21zZ2lkICJwYWNrIGxvb3NlIHVucmVhY2hhYmxlIG9iamVjdHMiCittc2dzdHIgIuuKkOyKqO2VnCDsoJHqt7wg67aI6rCA64qlIOyYpOu4jOygne2KuOulvCDrrLbsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ5CiBtc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIjzsi5zqsIE+67O064ukIOyDiOuhnOyatCDsoJHqt7wg67aI6rCA64qlIOyYpOu4jOygne2KuOydmCDrrLbsnYzsnYQg7ZKJ64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1MgogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICLslofsnYAg66y27J2M7J2EIOunjOuTreuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTQKIG1zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKIG1zZ3N0ciAi7JaV7J2AIOqwgOyguOyYpOq4sOyXkCDsoIHtlantlZwg66y27J2M7J2EIOunjOuTreuLiOuLpCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTYKIG1zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgogbXNnc3RyICLtlbTri7ntlZjripQgLmtlZXAg7YyM7J287J20IOyeiOuKlCDrrLbsnYzsnYQg66y07Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1OAogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgIuustuydjCDslZXstpUg64uo6rOEIgogCiAjIEZJWE1FOiBncmFmdD8KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODYwCiBtc2dpZCAiZG8gbm90IGhpZGUgY29tbWl0cyBieSBncmFmdHMiCiBtc2dzdHIgIuu2meyWtCDsnojripQg7Luk67CL7J2EIOyIqOq4sOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODYyCiBtc2dpZCAidXNlIGEgYml0bWFwIGluZGV4IGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCBjb3VudGluZyBvYmplY3RzIgogbXNnc3RyICLqsIDriqXtlZjrqbQg67mE7Yq466e1IOyduOuNseyKpOulvCDsgqzsmqntlbQg7Jik67iM7KCd7Yq4IOyEuOq4sCDsho3rj4Trpbwg64aS7J6F64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2NAogbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IHRvZ2V0aGVyIHdpdGggdGhlIHBhY2sgaW5kZXgiCiBtc2dzdHIgIuustuydjCDsnbjrjbHsiqTsmYAg6rCZ7J20IOu5hO2KuOuntSDsnbjrjbHsiqTrpbwg7JSB64uI64ukIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk5MwogbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgIuyYpOu4jOygne2KuCDqsJzsiJgg7IS464qUIOykkSIKIApAQCAtOTE1NiwxNSArMTAyNzgsMTEgQEAKIG1zZ2lkICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLWV4cGlyZSA8dGltZT5dIFstLV0gWzxoZWFkPi4uLl0iCiBtc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tZXhwaXJlIDzsi5zqsIE+XSBbLS1dIFs87Zek65OcPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyNQotbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKLW1zZ3N0ciAi7KCc6rGw7ZWY7KeAIOyViuqzoCwg67O07Jes7KO86riw66eMIO2VqeuLiOuLpCIKLQotIzogYnVpbHRpbi9wcnVuZS5jOjEwNiBidWlsdGluL3dvcmt0cmVlLmM6MTI2CisjOiBidWlsdGluL3BydW5lLmM6MTA2IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjgKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG9iamVjdHMiCiBtc2dzdHIgIuyemOudvOuCuCDsmKTruIzsoJ3tirjrpbwg7JWM66a964uI64ukIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTA5IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjgKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkgYnVpbHRpbi93b3JrdHJlZS5jOjEzMAogbXNnaWQgImV4cGlyZSBvYmplY3RzIG9sZGVyIHRoYW4gPHRpbWU+IgogbXNnc3RyICI87Iuc6rCBPuuztOuLpCDsmKTrnpgg65CcIOyYpOu4jOygne2KuOqwgCDrp4zro4zrkKnri4jri6QiCiAKQEAgLTkxNzIsNjkgKzEwMjkwLDU2IEBACiBtc2dpZCAiY2Fubm90IHBydW5lIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICJwcmVjaW91cy1vYmplY3RzIOyggOyepeyGjOyXkOyEnCDsnpjrnbzrgrwg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9wdWxsLmM6NzIKKyM6IGJ1aWx0aW4vcHVsbC5jOjUxIGJ1aWx0aW4vcHVsbC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKK21zZ3N0ciAiJXPsnZgg6rCS7J20IOyYrOuwlOultOyngCDslYrsirXri4jri6Q6ICVzIgorCisjOiBidWlsdGluL3B1bGwuYzo3MwogbXNnaWQgImdpdCBwdWxsIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVsbCBbPOyYteyFmD5dIFs87KCA7J6l7IaMPiBbPOugiO2NvOufsOyKpOuqheyEuD4uLi5dXSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTIwCisjOiBidWlsdGluL3B1bGwuYzoxMjEKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZyIKIG1zZ3N0ciAi67OR7ZWpIOq0gOugqCDsmLXshZgiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEyMworIzogYnVpbHRpbi9wdWxsLmM6MTI0CiBtc2dpZCAiaW5jb3Jwb3JhdGUgY2hhbmdlcyBieSByZWJhc2luZyByYXRoZXIgdGhhbiBtZXJnaW5nIgogbXNnc3RyICLrs4Dqsr0g7IKs7ZWt7J2EIOyggeyaqe2VoCDrlYwg67OR7ZWp7ZWY64qUIOuMgOyLoCDrpqzrsqDsnbTsiqTtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE0NyBidWlsdGluL3JldmVydC5jOjEwNQorIzogYnVpbHRpbi9wdWxsLmM6MTQ4IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAxCiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgogbXNnc3RyICLsoJXrsKntlqUg7KeE7ZaJ7J2EIO2XiOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTUzCi1tc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgotbXNnc3RyICLsp4DsoJXtlZwg7Luk67CL7JeQIOyYrOuwlOuluCBHUEcg7ISc66qF7J20IOyeiOuKlOyngCDqsoDspp3tlanri4jri6QiCi0KLSM6IGJ1aWx0aW4vcHVsbC5jOjE1NgorIzogYnVpbHRpbi9wdWxsLmM6MTU3CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciByZWJhc2UiCiBtc2dzdHIgIuumrOuyoOydtOyKpCDsoITqs7wg7ZuE7JeQIHN0YXNoIOuwjyBzdGFzaCBwb3DsnYQg7J6Q64+Z7Jy866GcIO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTcyCisjOiBidWlsdGluL3B1bGwuYzoxNzMKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gZmV0Y2hpbmciCiBtc2dzdHIgIuqwgOyguOyYpOq4sCDqtIDroKgg7Ji17IWYIgogCi0jOiBidWlsdGluL3B1bGwuYzoxOTQKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5NQogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIHB1bGxlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAi67OR66Cs7KCB7Jy866GcIO2SgOydhCDsi6TtlontlaAg7ZWY7JyE66qo65OIIOqwnOyImCIKIAotIzogYnVpbHRpbi9wdWxsLmM6MjgzCisjOiBidWlsdGluL3B1bGwuYzoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgcHVsbC5mZjogJXMiCiBtc2dzdHIgInB1bGwuZmbsl5Ag64yA7ZW0IOyemOuqu+uQnCDqsJI6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzozNzkKLW1zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCi1tc2dzdHIgIiIKLSLrpqzrsqDsnbTsiqTroZwg7ZKA7J2EIO2VoCDsiJgg7JeG7Iq164uI64ukOiDsiqTthYzsnbTsp5XtlZjsp4Ag7JWK7J2AIOuzgOqyvSDsgqztla3snbQg7J6I7Iq164uI64ukLiIKLQotIzogYnVpbHRpbi9wdWxsLmM6Mzg1Ci1tc2dpZCAiQWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgotbXNnc3RyICLstpTqsIDroZwsIOyduOuNseyKpOyXkCDsu6TrsIvtlZjsp4Ag7JWK7J2AIOuzgOqyvSDsgqztla3snbQg7J6I7Iq164uI64ukLiIKLQotIzogYnVpbHRpbi9wdWxsLmM6Mzg3Ci1tc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCi1tc2dzdHIgIiIKLSLrpqzrsqDsnbTsiqTroZwg7ZKA7J2EIO2VoCDsiJgg7JeG7Iq164uI64ukOiDsnbjrjbHsiqTsl5Ag7Luk67CL7ZWY7KeAIOyViuydgCDrs4Dqsr0g7IKs7ZWt7J20IOyeiOyKteuLiOuLpC4iCi0KLSM6IGJ1aWx0aW4vcHVsbC5jOjQ2MworIzogYnVpbHRpbi9wdWxsLmM6Mzk3CiBtc2dpZCAiIgogIlRoZXJlIGlzIG5vIGNhbmRpZGF0ZSBmb3IgcmViYXNpbmcgYWdhaW5zdCBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0ICIKICJmZXRjaGVkLiIKIG1zZ3N0ciAi6rCA7KC47JioIOugiO2NvOufsOyKpCDspJHsl5Ag66as67Kg7J207Iqk7ZWgIOuMgOyDgSDtm4Trs7TqsIAg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDY1CisjOiBidWlsdGluL3B1bGwuYzozOTkKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIG5vIGNhbmRpZGF0ZXMgZm9yIG1lcmdpbmcgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCBmZXRjaGVkLiIKIG1zZ3N0ciAi6rCA7KC47JioIOugiO2NvOufsOyKpCDspJHsl5Ag67OR7ZWp7ZWgIOuMgOyDgSDtm4Trs7TqsIAg7JeG7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDY2CisjOiBidWlsdGluL3B1bGwuYzo0MDAKIG1zZ2lkICIiCiAiR2VuZXJhbGx5IHRoaXMgbWVhbnMgdGhhdCB5b3UgcHJvdmlkZWQgYSB3aWxkY2FyZCByZWZzcGVjIHdoaWNoIGhhZCBub1xuIgogIm1hdGNoZXMgb24gdGhlIHJlbW90ZSBlbmQuIgpAQCAtOTI0Miw3ICsxMDM0Nyw3IEBACiAi67O07Ya1IOydtOufsCDqsr3smrDripQg66as66qo7Yq4IOyqveyXkOuKlCDsl4bripQg7JmA7J2865Oc7Lm065OcIOugiO2NvOufsOyKpOuqheyEuOqwgFxuIgogIuyjvOyWtOyhjOydhCDrlYwg7J287Ja064Kp64uI64ukLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDY5CisjOiBidWlsdGluL3B1bGwuYzo0MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBwdWxsIGZyb20gdGhlIHJlbW90ZSAnJXMnLCBidXQgZGlkIG5vdCBzcGVjaWZ5XG4iCkBAIC05MjUzLDQyICsxMDM1OCw0MiBAQAogIuydtCDrpqzrqqjtirjripQg7ZiE7J6sIOu4jOuenOy5mOyXkCDrjIDtlbQg6riw67O47Jy866GcIOyEpOygleuQnCDrpqzrqqjtirjqsIBcbiIKICLslYTri4jquLAg65WM66y47JeQLCDrqoXroLntlonsl5DshJwg67iM656c7LmY66W8IOyngOygle2VtOyVvCDtlanri4jri6QuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NzQgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MworIzogYnVpbHRpbi9wdWxsLmM6NDA4IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKIG1zZ2lkICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guIgogbXNnc3RyICLtmITsnqwg7Ja065akIOu4jOuenOy5mCDsnITsl5Drj4Qg7J6I7KeAIOyViuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3NiBidWlsdGluL3B1bGwuYzo0OTEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQorIzogYnVpbHRpbi9wdWxsLmM6NDEwIGJ1aWx0aW4vcHVsbC5jOjQyNSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIHJlYmFzZSBhZ2FpbnN0LiIKIG1zZ3N0ciAi7Ja065akIOu4jOuenOy5mOulvCDrjIDsg4HsnLzroZwg66as67Kg7J207Iqk7ZWg7KeAIOyngOygle2VmOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3OCBidWlsdGluL3B1bGwuYzo0OTMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgorIzogYnVpbHRpbi9wdWxsLmM6NDEyIGJ1aWx0aW4vcHVsbC5jOjQyNyBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIG1lcmdlIHdpdGguIgogbXNnc3RyICLslrTrlqQg67iM656c7LmY66W8IOuMgOyDgeycvOuhnCDrs5HtlantlaDsp4Ag7KeA7KCV7ZWY7Iut7Iuc7JikLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDc5IGJ1aWx0aW4vcHVsbC5jOjQ5NAorIzogYnVpbHRpbi9wdWxsLmM6NDEzIGJ1aWx0aW4vcHVsbC5jOjQyOAogbXNnaWQgIlNlZSBnaXQtcHVsbCgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIuyekOyEuO2VnCDsoJXrs7TripQgZ2l0LXB1bGwoMSkg7Y6Y7J207KeA66W8IOywuOqzoO2VmOyLreyLnOyYpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ4MSBidWlsdGluL3B1bGwuYzo0ODcgYnVpbHRpbi9wdWxsLmM6NDk2CisjOiBidWlsdGluL3B1bGwuYzo0MTUgYnVpbHRpbi9wdWxsLmM6NDIxIGJ1aWx0aW4vcHVsbC5jOjQzMAogIzogZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NAogbXNnaWQgIjxyZW1vdGU+IgogbXNnc3RyICI866as66qo7Yq4PiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDgxIGJ1aWx0aW4vcHVsbC5jOjQ5NiBidWlsdGluL3B1bGwuYzo1MDEKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNSBidWlsdGluL3B1bGwuYzo0MzAgYnVpbHRpbi9wdWxsLmM6NDM1IGdpdC1yZWJhc2Uuc2g6NDUxCiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIjzruIzrnpzsuZg+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0ODkgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDIzIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKIG1zZ2lkICJUaGVyZSBpcyBubyB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi7ZiE7J6sIOu4jOuenOy5mOyXkCDstpTsoIEg7KCV67O06rCAIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ5OCBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CisjOiBidWlsdGluL3B1bGwuYzo0MzIgZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDoiCiBtc2dzdHIgIuydtCDruIzrnpzsuZjsl5Ag64yA7ZWcIOy2lOyggSDsoJXrs7Trpbwg7ISk7KCV7ZWY66Ck66m0IOuLpOydjOqzvCDqsJnsnbQg7ZWgIOyImCDsnojsirXri4jri6Q6IgogCi0jOiBidWlsdGluL3B1bGwuYzo1MDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBjb25maWd1cmF0aW9uIHNwZWNpZmllcyB0byBtZXJnZSB3aXRoIHRoZSByZWYgJyVzJ1xuIgpAQCAtOTI5NywxNSArMTA0MDIsMjcgQEAKICLshKTsoJXsl5DshJwg66as66qo7Yq47J2YICclcycg66CI7Y2865+w7Iqk7JmAIOuzke2Vqe2VmOuPhOuhnSDsp4DsoJXtlojsp4Drp4wsXG4iCiAi6re465+wIOugiO2NvOufsOyKpOulvCDqsIDsoLjsmKTsp4Ag7JWK7JWY7Iq164uI64ukLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODY0CisjOiBidWlsdGluL3B1bGwuYzo3NTQKK21zZ2lkICJpZ25vcmluZyAtLXZlcmlmeS1zaWduYXR1cmVzIGZvciByZWJhc2UiCittc2dzdHIgIuumrOuyoOydtOyKpOyXkCDrjIDtlbQgLS12ZXJpZnktc2lnbmF0dXJlcyDsmLXshZjsnYQg66y07Iuc7ZWp64uI64ukIgorCisjOiBidWlsdGluL3B1bGwuYzo4MDEKIG1zZ2lkICItLVtuby1dYXV0b3N0YXNoIG9wdGlvbiBpcyBvbmx5IHZhbGlkIHdpdGggLS1yZWJhc2UuIgogbXNnc3RyICItLVtuby1dYXV0b3N0YXNoIOyYteyFmOydgCAtLXJlYmFzZSDsmLXshZjqs7wg6rCZ7J20IOyNqOyVvCDtlanri4jri6QuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NzIKKyM6IGJ1aWx0aW4vcHVsbC5jOjgwOQogbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCiBtc2dzdHIgIuunjOuTpOyWtOyngOyngCDslYrsnYAg67iM656c7LmY66W8IOyduOuNseyKpOyXkCDstpTqsIDrkJwg67OA6rK9IOyCrO2VreycvOuhnCDsl4XrjbDsnbTtirjtlanri4jri6QuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MDAKKyM6IGJ1aWx0aW4vcHVsbC5jOjgxMgorbXNnaWQgInB1bGwgd2l0aCByZWJhc2UiCittc2dzdHIgIuumrOuyoOydtOyKpOuhnCDtkoDtlZjquLAiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjgxMworbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCittc2dzdHIgIuy7pOuwi+2VmOqxsOuCmCDsiqTtg5zsi5zsl5Ag64Sj7Jy87Iut7Iuc7JikLiIKKworIzogYnVpbHRpbi9wdWxsLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgpAQCAtOTMxNiw3ICsxMDQzMyw3IEBACiAi7J6R7JeFIO2PtOuNlOulvCAlcyDsu6TrsIvsl5DshJwg7KCV67Cp7ZalXG4iCiAi7KeE7ZaJ7ZWp64uI64ukLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTA1CisjOiBidWlsdGluL3B1bGwuYzo4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBmYXN0LWZvcndhcmQgeW91ciB3b3JraW5nIHRyZWUuXG4iCkBAIC05MzMzLDExICsxMDQ1MCwxMSBAQAogIiQgZ2l0IHJlc2V0IC0taGFyZFxuIgogIuuzteq1rOuQqeuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkyMAorIzogYnVpbHRpbi9wdWxsLmM6ODU4CiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZC4iCiBtc2dzdHIgIuyXrOufrCDruIzrnpzsuZjrpbwg67mIIO2XpOuTnOuhnCDrs5HtlantlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkyNAorIzogYnVpbHRpbi9wdWxsLmM6ODYyCiBtc2dpZCAiQ2Fubm90IHJlYmFzZSBvbnRvIG11bHRpcGxlIGJyYW5jaGVzLiIKIG1zZ3N0ciAi7Jes65+sIOu4jOuenOy5mOuhnCDrpqzrsqDsnbTsiqTtlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKQEAgLTk1MDQsMTIgKzEwNjIxLDEyIEBACiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgIuugiO2NvOufsOyKpOulvCAnJXMn7JeQIO2RuOyLnO2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM2NQorIzogYnVpbHRpbi9wdXNoLmM6MzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXBvc2l0b3J5ICclcyciCiBtc2dzdHIgIuyemOuqu+uQnCDsoIDsnqXshowgJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzY2CisjOiBidWlsdGluL3B1c2guYzozNjcKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC05NTMwLDEwMyArMTA2NDcsMTE1IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDxuYW1lPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozODEKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4NQogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwg67CPIC0tdGFncyDsmLXshZjsnYAg7Zi47ZmY65CY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzgyCisjOiBidWlsdGluL3B1c2guYzozODYKIG1zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICItLWFsbCDsmLXshZjsnYAg66CI7Y2865+w7Iqk66qF7IS47JmAIOqwmeydtCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg3CisjOiBidWlsdGluL3B1c2guYzozOTEKIG1zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbWlycm9yIOuwjyAtLXRhZ3Mg7Ji17IWY7J2AIO2YuO2ZmOuQmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4OAorIzogYnVpbHRpbi9wdXNoLmM6MzkyCiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1taXJyb3Ig7Ji17IWY7J2AIOugiO2NvOufsOyKpOuqheyEuOyZgCDqsJnsnbQg7JO4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5MworIzogYnVpbHRpbi9wdXNoLmM6Mzk3CiBtc2dpZCAiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tYWxsIOuwjyAtLW1pcnJvciDsmLXshZjsnYAg7Zi47ZmY65CY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA1CisjOiBidWlsdGluL3B1c2guYzo1MTUKIG1zZ2lkICJyZXBvc2l0b3J5IgogbXNnc3RyICLsoIDsnqXshowiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUwNiBidWlsdGluL3NlbmQtcGFjay5jOjE2MQorIzogYnVpbHRpbi9wdXNoLmM6NTE2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCiBtc2dpZCAicHVzaCBhbGwgcmVmcyIKIG1zZ3N0ciAi66qo65OgIOugiO2NvOufsOyKpCDtkbjsi5ztlZjquLAiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUwNyBidWlsdGluL3NlbmQtcGFjay5jOjE2MworIzogYnVpbHRpbi9wdXNoLmM6NTE3IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCiBtc2dpZCAibWlycm9yIGFsbCByZWZzIgogbXNnc3RyICLrqqjrk6Ag66CI7Y2865+w7IqkIOuvuOufrCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA5CisjOiBidWlsdGluL3B1c2guYzo1MTkKIG1zZ2lkICJkZWxldGUgcmVmcyIKIG1zZ3N0ciAi66CI7Y2865+w7IqkIOyCreygnCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTEwCisjOiBidWlsdGluL3B1c2guYzo1MjAKIG1zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCiBtc2dzdHIgIu2DnOq3uCDtkbjsi5ztlZjquLAgKC0tYWxsIOuYkOuKlCAtLW1pcnJvciDsmLXshZjqs7wg6rCZ7J20IOyTuCDsiJgg7JeG7J2MKSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTEzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CisjOiBidWlsdGluL3B1c2guYzo1MjMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKIG1zZ2lkICJmb3JjZSB1cGRhdGVzIgogbXNnc3RyICLqsJXsoJzroZwg7JeF642w7J207Yq4IgogCi0jOiBidWlsdGluL3B1c2guYzo1MTUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNSBidWlsdGluL3NlbmQtcGFjay5jOjE3NQogbXNnaWQgInJlZm5hbWU+OjxleHBlY3QiCiBtc2dzdHIgIuugiO2NvOufsOyKpOydtOumhD46POyYiOyDgSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CisjOiBidWlsdGluL3B1c2guYzo1MjYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzYKIG1zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKIG1zZ3N0ciAi66CI7Y2865+w7Iqk7J2YIOqzvOqxsCDqsJLsnbQg7J20IOqwkuydtOyWtOyVvCDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxOQorIzogYnVpbHRpbi9wdXNoLmM6NTI5CiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICLsnqzqt4DsoIEg7ZWY7JyEIOuqqOuTiCDtkbjsi5wg67Cp7Iud7J2EIOyEpOygle2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5CisjOiBidWlsdGluL3B1c2guYzo1MzEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKIG1zZ2lkICJ1c2UgdGhpbiBwYWNrIgogbXNnc3RyICLslofsnYAg66y27J2M7J2EIOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIyIGJ1aWx0aW4vcHVzaC5jOjUyMyBidWlsdGluL3NlbmQtcGFjay5jOjE1OAorIzogYnVpbHRpbi9wdXNoLmM6NTMyIGJ1aWx0aW4vcHVzaC5jOjUzMyBidWlsdGluL3NlbmQtcGFjay5jOjE1OAogIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNTkKIG1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKIG1zZ3N0ciAicmVjZWl2ZSBwYWNrIO2UhOuhnOq3uOueqCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI0CisjOiBidWlsdGluL3B1c2guYzo1MzQKIG1zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKIG1zZ3N0ciAiZ2l0IHB1bGwvc3RhdHVz7JeQIOuMgO2VnCDsl4XsiqTtirjrprzsnYQg7ISk7KCV7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjcKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNwogbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgogbXNnc3RyICLroZzsu6zsl5DshJwg7KCc6rGw7ZWcIOugiO2NvOufsOyKpOulvCDsnpjrnbzrg4Xri4jri6QiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyOQorIzogYnVpbHRpbi9wdXNoLmM6NTM5CiBtc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCiBtc2dzdHIgIu2RuOyLnCDsoIQg7ZuE7YGs66W8IOqxtOuEiOucgeuLiOuLpCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTMwCisjOiBidWlsdGluL3B1c2guYzo1NDAKIG1zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCiBtc2dzdHIgIuu5oOyhjOyngOunjCDqtIDroKjrkJwg7YOc6re466W8IO2RuOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTMzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CisjOiBidWlsdGluL3B1c2guYzo1NDMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKIG1zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKIG1zZ3N0ciAi7ZG47Iuc7JeQIEdQRyDshJzrqoUiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzNSBidWlsdGluL3NlbmQtcGFjay5jOjE3MAorIzogYnVpbHRpbi9wdXNoLmM6NTQ1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcwCiBtc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCiBtc2dzdHIgIuumrOuqqO2KuCDsqr3sl5Ag7JuQ7J6QIO2KuOuenOyereyFmOydhCDsmpTssq3tlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAic2VydmVyLXNwZWNpZmljIgorbXNnc3RyICLshJzrsoQt7KCE7JqpLeyYteyFmCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAib3B0aW9uIHRvIHRyYW5zbWl0IgorbXNnc3RyICLsoITshqHtlaAg7Ji17IWYIgorCisjOiBidWlsdGluL3B1c2guYzo1NjAKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKIG1zZ3N0ciAiLS1kZWxldGUg7Ji17IWY7J2AIC0tYWxsLCAtLW1pcnJvciwgLS10YWdzIOyYteyFmOqzvCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL3B1c2guYzo1NTEKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2MgogbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgogbXNnc3RyICItLWRlbGV0ZSDsmLXshZjsnYAg66CI7Y2865+w7IqkIOyXhuydtCDslZ7rkqTqsIAg66ee7KeAIOyViuyKteuLiOuLpCIKIAorIzogYnVpbHRpbi9wdXNoLmM6NTc5Cittc2dpZCAicHVzaCBvcHRpb25zIG11c3Qgbm90IGhhdmUgbmV3IGxpbmUgY2hhcmFjdGVycyIKK21zZ3N0ciAi7ZG47IucIOyYteyFmOyXkOuKlCDspITrsJTqv4gg66y47J6Q6rCAIOuTpOyWtOqwiCDsiJgg7JeG7Iq164uI64ukIgorCiAjOiBidWlsdGluL3JlYWQtdHJlZS5jOjM3CiBtc2dpZCAiIgogImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4PikgIgpAQCAtOTcwMSwxNSArMTA4MzAsNjIgQEAKIG1zZ2lkICJkZWJ1ZyB1bnBhY2stdHJlZXMiCiBtc2dzdHIgInVucGFjay10cmVlcyDrlJTrsoTquYUiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjUKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjYKIG1zZ2lkICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIG1zZ3N0ciAiZ2l0IHJlY2VpdmUtcGFjayA8Z2l0LWRpcj4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTcxOQorIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo3OTMKK21zZ2lkICIiCisiQnkgZGVmYXVsdCwgdXBkYXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGluIGEgbm9uLWJhcmUgcmVwb3NpdG9yeVxuIgorImlzIGRlbmllZCwgYmVjYXVzZSBpdCB3aWxsIG1ha2UgdGhlIGluZGV4IGFuZCB3b3JrIHRyZWUgaW5jb25zaXN0ZW50XG4iCisid2l0aCB3aGF0IHlvdSBwdXNoZWQsIGFuZCB3aWxsIHJlcXVpcmUgJ2dpdCByZXNldCAtLWhhcmQnIHRvIG1hdGNoXG4iCisidGhlIHdvcmsgdHJlZSB0byBIRUFELlxuIgorIlxuIgorIllvdSBjYW4gc2V0ICdyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJyBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHRvXG4iCisiJ2lnbm9yZScgb3IgJ3dhcm4nIGluIHRoZSByZW1vdGUgcmVwb3NpdG9yeSB0byBhbGxvdyBwdXNoaW5nIGludG9cbiIKKyJpdHMgY3VycmVudCBicmFuY2g7IGhvd2V2ZXIsIHRoaXMgaXMgbm90IHJlY29tbWVuZGVkIHVubGVzcyB5b3VcbiIKKyJhcnJhbmdlZCB0byB1cGRhdGUgaXRzIHdvcmsgdHJlZSB0byBtYXRjaCB3aGF0IHlvdSBwdXNoZWQgaW4gc29tZVxuIgorIm90aGVyIHdheS5cbiIKKyJcbiIKKyJUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZSBhbmQgc3RpbGwga2VlcCB0aGUgZGVmYXVsdCBiZWhhdmlvdXIsIHNldFxuIgorIidyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJyBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHRvICdyZWZ1c2UnLiIKK21zZ3N0ciAiIgorIuq4sOuzuOqwkuycvOuhnCDqsITrnrXtlZwg7KCA7J6l7IaM6rCAIOyVhOuLjCDtmITsnqwg67iM656c7LmY7J2YIOyXheuNsOydtO2KuOuKlCDqsbDrtoDrkKnri4jri6QuXG4iCisi7JeF642w7J207Yq47ZWY66m0IOyduOuNseyKpOyZgCDsnpHsl4Ug7Yq466as6rCAIO2RuOyLnO2VnCDrgrTsmqnqs7wg7J287LmY7ZWY7KeAIOyViuqyjCDrkJjrr4DroZwsXG4iCisiJ2dpdCByZXNldCAtLWhhcmQn66GcIOyekeyXhSDtirjrpqzrpbwgSEVBROyXkCDrp57strDslbwg7ZWp64uI64ukLlxuIgorIlxuIgorIuumrOuqqO2KuCDsoIDsnqXshozsl5DshJwgJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIOyEpOyglSDrs4DsiJjrpbwgJ2lnbm9yZSfrgphcbiIKKyInd2FybifsnLzroZwg7ISk7KCV7ZWY66m0IO2YhOyerCDruIzrnpzsuZjroZwg7ZG47Iuc7ZWgIOyImCDsnojsirXri4jri6QuIO2VmOyngOunjCDsnpHsl4VcbiIKKyLtirjrpqzsnZgg64K07Jqp7J2EIO2RuOyLnO2VoCDrgrTsmqnsl5Ag66ee7LaU64qUIOqyjCDslYTri4jrnbzrqbQg7LaU7LKc7ZWY7KeAIOyViuyKteuLiOuLpC5cbiIKKyJcbiIKKyLsnbQg66mU7Iuc7KeA66W8IOuztOyngCDslYrqs6Ag6riw67O4IOuPmeyekeydhCDqs4Tsho0g7ZWY66Ck66m0LFxuIgorIidyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJyDshKTsoJUg67OA7IiY66W8ICdyZWZ1c2Un66GcIOyEpOygle2VmOyLreyLnOyYpC4iCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODEzCittc2dpZCAiIgorIkJ5IGRlZmF1bHQsIGRlbGV0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpcyBkZW5pZWQsIGJlY2F1c2UgdGhlIG5leHRcbiIKKyInZ2l0IGNsb25lJyB3b24ndCByZXN1bHQgaW4gYW55IGZpbGUgY2hlY2tlZCBvdXQsIGNhdXNpbmcgY29uZnVzaW9uLlxuIgorIlxuIgorIllvdSBjYW4gc2V0ICdyZWNlaXZlLmRlbnlEZWxldGVDdXJyZW50JyBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHRvXG4iCisiJ3dhcm4nIG9yICdpZ25vcmUnIGluIHRoZSByZW1vdGUgcmVwb3NpdG9yeSB0byBhbGxvdyBkZWxldGluZyB0aGVcbiIKKyJjdXJyZW50IGJyYW5jaCwgd2l0aCBvciB3aXRob3V0IGEgd2FybmluZyBtZXNzYWdlLlxuIgorIlxuIgorIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlLCB5b3UgY2FuIHNldCBpdCB0byAncmVmdXNlJy4iCittc2dzdHIgIiIKKyLquLDrs7jqsJLsnLzroZwsIO2YhOyerCDruIzrnpzsuZjsnZgg7IKt7KCc64qUIOqxsOu2gOuQqeuLiOuLpC4g64uk7J2M7JeQICdnaXQgY2xvbmUn7ZWgIOuVjFxuIgorIuyVhOustCDtjIzsnbzrj4Qg7LK07YGs7JWE7JuD7ZWY7KeAIOyViuqyjCDrkJjrr4DroZwg7Zi864+Z7J2EIOydvOycvO2CpOq4sCDrlYzrrLjsnoXri4jri6QuXG4iCisiXG4iCisiJ3JlY2VpdmUuZGVueURlbGV0ZUN1cnJlbnQnIOyEpOyglSDrs4DsiJjrpbwgJ2lnbm9yZSfrgpggJ3dhcm4n7Jy866GcIOyEpOygle2VmOuptFxuIgorIijqsr3qs6Ag66mU7Iuc7KeA66W8IO2PrO2VqO2VmOqxsOuCmCDtj6ztlajtlZjsp4Ag7JWK6rOgKSDtmITsnqwg67iM656c7LmY66W8IOyCreygnO2VoCDsiJhcbiIKKyLsnojsirXri4jri6QuXG4iCisiXG4iCisi7J20IOuplOyLnOyngOulvCDrs7Tsp4Ag7JWK7Jy866Ck66m0LCDsnbQg7ISk7KCVIOuzgOyImOulvCAncmVmdXNlJ+uhnCDshKTsoJXtlZjsi63si5zsmKQuIgorCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4ODMKIG1zZ2lkICJxdWlldCIKIG1zZ3N0ciAi7Lac66ClIOyViuq4sCIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxNzMzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4OTcKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5LiIKIG1zZ3N0ciAi65SU66CJ7YSw66as66W8IOyngOygle2VtOyVvCDtlanri4jri6QuIgogCkBAIC05ODU5LDEyICsxMTAzNSwxMiBAQAogbXNnaWQgInNwZWNpZnlpbmcgYnJhbmNoZXMgdG8gdHJhY2sgbWFrZXMgc2Vuc2Ugb25seSB3aXRoIGZldGNoIG1pcnJvcnMiCiBtc2dzdHIgIuuniOyKpO2EsCDruIzrnpzsuZjrpbwg7KeA7KCV7J2AIGZldGNoIOuvuOufrOyXkOyEnOunjCDslZ7rkqTqsIAg66ee7Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5MCBidWlsdGluL3JlbW90ZS5jOjYzMworIzogYnVpbHRpbi9yZW1vdGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzo2MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlICVzIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAiJXMg66as66qo7Yq46rCAIOydtOuvuCDsnojsirXri4jri6QuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5NCBidWlsdGluL3JlbW90ZS5jOjYzNworIzogYnVpbHRpbi9yZW1vdGUuYzoxOTQgYnVpbHRpbi9yZW1vdGUuYzo2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZW1vdGUgbmFtZSIKIG1zZ3N0ciAiJyVzJ+ydgCjripQpIOyYrOuwlOuluCDrpqzrqqjtirgg7J2066aE7J20IOyVhOuLmeuLiOuLpCIKQEAgLTk4ODcsMTcgKzExMDYzLDE3IEBACiBtc2dpZCAiKGRlbGV0ZSkiCiBtc2dzdHIgIijsgq3soJwpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYyNiBidWlsdGluL3JlbW90ZS5jOjc2MSBidWlsdGluL3JlbW90ZS5jOjg1OAorIzogYnVpbHRpbi9yZW1vdGUuYzo2MjIgYnVpbHRpbi9yZW1vdGUuYzo3NTcgYnVpbHRpbi9yZW1vdGUuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGU6ICVzIgogbXNnc3RyICLqt7jrn7Ag66as66qo7Yq46rCAIOyXhuyKteuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjQzCisjOiBidWlsdGluL3JlbW90ZS5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVuYW1lIGNvbmZpZyBzZWN0aW9uICclcycgdG8gJyVzJyIKIG1zZ3N0ciAi7ISk7KCVIOyEueyFmOydhCAnJXMn7JeQ7IScICclcyco7Jy8KeuhnCDrsJTqv4Ag7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgpAQCAtOTkwOCwxNyArMTEwODQsMTcgQEAKICJcdCVzXG4iCiAiXHTtlYTsmpTtlZjrqbQg7ISk7KCV7J2EIOyImOuPmeycvOuhnCDsl4XrjbDsnbTtirjtlZjsi63si5zsmKQuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY5OQorIzogYnVpbHRpbi9yZW1vdGUuYzo2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIiclcycg7IKt7KCc6rCAIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNyZWF0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICInJXMnIOunjOuTpOq4sOqwgCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6Nzk2CisjOiBidWlsdGluL3JlbW90ZS5jOjc5MgogbXNnaWQgIiIKICJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCiAidG8gZGVsZXRlIGl0LCB1c2U6IgpAQCAtOTkzMCwzNjAgKzExMTA2LDM4MyBAQAogIuuLpC5cbiIKICLsgq3soJztlZjroKTrqbQg64uk7J2M7J2EIOyCrOyaqe2VmOyLreyLnOyYpDoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODEwCisjOiBidWlsdGluL3JlbW90ZS5jOjgwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciCiBtc2dzdHIgIuyEpOyglSDshLnshZggJyVzJ+ydhCjrpbwpIOygnOqxsO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxMQorIzogYnVpbHRpbi9yZW1vdGUuYzo5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG5ldyAobmV4dCBmZXRjaCB3aWxsIHN0b3JlIGluIHJlbW90ZXMvJXMpIgogbXNnc3RyICIg7IOIIO2VreuqqSAo64uk7J2MIOqwgOyguOyYpOq4sOuKlCByZW1vdGVzLyVzIOyVhOuemCDsoIDsnqXrkKnri4jri6QpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxNAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTAKIG1zZ2lkICIgdHJhY2tlZCIKIG1zZ3N0ciAiIOy2lOyggeuQqCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEyCiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiDsmKTrnpjrkKggKOygnOqxsO2VmOugpOuptCAnZ2l0IHJlbW90ZSBwcnVuZSfsnYQg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE0CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAi7J6Y66q765CcIGJyYW5jaC4lcy5tZXJnZSDqsJIuIOyXrOufrCDqsJwg67iM656c7LmY66GcIOumrOuyoOydtOyKpO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2NworIzogYnVpbHRpbi9yZW1vdGUuYzo5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBpbnRlcmFjdGl2ZWx5IG9udG8gcmVtb3RlICVzIgogbXNnc3RyICLrpqzrqqjtirggJXMg7JyE66GcIOuMgO2ZlOyLneycvOuhnCDrpqzrsqDsnbTsiqTtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcxCisjOiBidWlsdGluL3JlbW90ZS5jOjk2NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWJhc2VzIG9udG8gcmVtb3RlICVzIgorbXNnc3RyICLrpqzrqqjtirggJXMg7JyE66GcIOumrOuyoOydtOyKpO2VqeuLiOuLpCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIOuzke2VqTog66as66qo7Yq4ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3MgotbXNnaWQgIiAgICBhbmQgd2l0aCByZW1vdGUiCi1tc2dzdHIgIiAgICDqt7jrpqzqs6Ag66as66qo7Yq4IgotCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICLrs5Htlak6IOumrOuqqO2KuCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzUKLW1zZ2lkICIgICBhbmQgd2l0aCByZW1vdGUiCi1tc2dzdHIgIiAgIOq3uOumrOqzoCDrpqzrqqjtirgiCisjOiBidWlsdGluL3JlbW90ZS5jOjk3MworIywgYy1mb3JtYXQKK21zZ2lkICIlLSpzICAgIGFuZCB3aXRoIHJlbW90ZSAlc1xuIgorbXNnc3RyICIlLSpzICAgIOq3uOumrOqzoCDrpqzrqqjtirggJXNcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMTYKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgIuunjOuTpOq4sCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMTkKIG1zZ2lkICJkZWxldGUiCiBtc2dzdHIgIuyCreygnCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjMKIG1zZ2lkICJ1cCB0byBkYXRlIgogbXNnc3RyICLstZzsi6Ag7IOB7YOcIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyNgogbXNnaWQgImZhc3QtZm9yd2FyZGFibGUiCiBtc2dzdHIgIuygleuwqe2WpSDsp4Ttlokg6rCA64qlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICLroZzsu6zsnbQg65Kk65ao7Ja07KeQIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qc+yXkOyEnCAlLSpzKOycvCnroZwg6rCV7KCcICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpz7JeQ7IScICUtKnMo7Jy8KeuhnCDtkbjsi5wgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qc+yXkOyEnCAlcyjsnLwp66GcIOqwleygnCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgogbXNnc3RyICIgICAgJS0qc+yXkOyEnCAlcyjsnLwp66GcIO2RuOyLnCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE5CisjOiBidWlsdGluL3JlbW90ZS5jOjExMTQKIG1zZ2lkICJkbyBub3QgcXVlcnkgcmVtb3RlcyIKIG1zZ3N0ciAi66as66qo7Yq47JeQIOyniOydmO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiogcmVtb3RlICVzIgogbXNnc3RyICIqIOumrOuqqO2KuCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjExNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIgIOqwgOyguOyYpOq4sCBVUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDggYnVpbHRpbi9yZW1vdGUuYzoxMzAxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNDMgYnVpbHRpbi9yZW1vdGUuYzoxMTU2IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NQogbXNnaWQgIihubyBVUkwpIgogbXNnc3RyICIoVVJMIOyXhuydjCkiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gJzonIHNob3VsZCBhbGlnbiB3aXRoCiAjLiB0aGUgb25lIGluICIgIEZldGNoIFVSTDogJXMiIHRyYW5zbGF0aW9uCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTkgYnVpbHRpbi9yZW1vdGUuYzoxMTYxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNTQgYnVpbHRpbi9yZW1vdGUuYzoxMTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUHVzaCAgVVJMOiAlcyIKIG1zZ3N0ciAiICDtkbjsi5wgIFVSTDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MyBidWlsdGluL3JlbW90ZS5jOjExNjUgYnVpbHRpbi9yZW1vdGUuYzoxMTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTggYnVpbHRpbi9yZW1vdGUuYzoxMTYwIGJ1aWx0aW4vcmVtb3RlLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiICBIRUFEIOu4jOuenOy5mDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4Cittc2dpZCAiKG5vdCBxdWVyaWVkKSIKK21zZ3N0ciAiKOyniOydmO2VmOyngCDslYrsnYwpIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjAKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIijslYwg7IiYIOyXhuydjCkiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiICBIRUFEIGJyYW5jaCAocmVtb3RlIEhFQUQgaXMgYW1iaWd1b3VzLCBtYXkgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcpOlxuIgogbXNnc3RyICIgIEhFQUQg67iM656c7LmYICjrpqzrqqjtirggSEVBROuKlCDslaDrp6TtlZjqs6AsIOuLpOydjCDspJEg7ZWY64KY7J28IOyImCDsnojsirXri4jri6QpOlxuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFJlbW90ZSBicmFuY2g6JXMiCiBtc2dpZF9wbHVyYWwgIiAgUmVtb3RlIGJyYW5jaGVzOiVzIgogbXNnc3RyWzBdICIgIOumrOuqqO2KuCDruIzrnpzsuZg6JXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4NCBidWlsdGluL3JlbW90ZS5jOjEyMTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OSBidWlsdGluL3JlbW90ZS5jOjEyMDUKIG1zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCiBtc2dzdHIgIiAo7IOB7YOc66W8IOyniOydmO2VmOyngCDslYrsnYwpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4OAogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIgICdnaXQgcHVsbCfsl5Ag7IKs7Jqp7ZWgIOuhnOy7rCDruIzrnpzsuZjrpbwg7ISk7KCVOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAxCisjOiBidWlsdGluL3JlbW90ZS5jOjExOTYKIG1zZ2lkICIgIExvY2FsIHJlZnMgd2lsbCBiZSBtaXJyb3JlZCBieSAnZ2l0IHB1c2gnIgogbXNnc3RyICIgIOuhnOy7rCDroIjtjbzrn7DsiqTrpbwgJ2dpdCBwdXNoJ+uhnCDrr7jrn6zrp4HtlaAg7JiI7KCVIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIExvY2FsIHJlZiBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIHJlZnMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ3N0clswXSAiICDroZzsu6wg66CI7Y2865+w7Iqk66W8ICdnaXQgcHVzaCfroZwg66+465+s66eBJXM6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMwogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAi66CI7Y2865+w7IqkL+umrOuqqO2KuC887J2066aEPi9IRUFEIOqwkuydhCDrpqzrqqjtirjsl5Ag66ee6rKMIOyEpOygle2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjMxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjUKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICLroIjtjbzrn7DsiqQv66as66qo7Yq4LzzsnbTrpoQ+L0hFQUQg6rCS7J2EIOyCreygnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDAKIG1zZ2lkICJDYW5ub3QgZGV0ZXJtaW5lIHJlbW90ZSBIRUFEIgogbXNnc3RyICLrpqzrqqjtirggSEVBROulvCDqsrDsoJXtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDIKIG1zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKIG1zZ3N0ciAiIgogIuumrOuqqO2KuCBIRUFEIOu4jOuenOy5mOqwgCDsl6zrn6zqsJzsnoXri4jri6QuIOuLpOydjCDspJEg7ZWY64KY66W8IOuqheyLnOyggeycvOuhnCDsp4DsoJXtlZjsi63si5zsmKQ6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICIlc+ydhCjrpbwpIOyCreygnO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICLsmKzrsJTrpbgg66CI7Y2865+w7Iqk6rCAIOyVhOuLmeuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCAlcyIKIG1zZ3N0ciAiJXPsnYQo66W8KSDshKTsoJXtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjg2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIHdpbGwgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVz7J2YIOyXsOqysOydtCDrgYrslrTsp5Hri4jri6QhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgaGFzIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlc+ydmCDsl7DqsrDsnbQg64GK7Ja07KGM7Iq164uI64ukISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk3CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAi7J6Y652864OEOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVVJMOiAlcyIKIG1zZ3N0ciAiVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE0CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiICogW+yemOudvOuCvCDsmIjsoJVdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiICogW+yemOudvOuDhF0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzU2CiBtc2dpZCAicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIKIG1zZ3N0ciAi6rCA7KC47JioIO2bhOyXkCDrpqzrqqjtirjrpbwg7J6Y652864OF64uI64ukIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MjUgYnVpbHRpbi9yZW1vdGUuYzoxNDc5IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDE5IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3MyBidWlsdGluL3JlbW90ZS5jOjE1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgJyVzJyIKIG1zZ3N0ciAi6re465+wIOumrOuqqO2KuOqwgCDsl4bsirXri4jri6QgKCclcycpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNQogbXNnaWQgImFkZCBicmFuY2giCiBtc2dzdHIgIuu4jOuenOy5mOulvCDstpTqsIDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQyCiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAi66as66qo7Yq466W8IOyngOygle2VmOyngCDslYrslZjsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDU5CiBtc2dpZCAicXVlcnkgcHVzaCBVUkxzIHJhdGhlciB0aGFuIGZldGNoIFVSTHMiCiBtc2dzdHIgIuqwgOyguOyYpOq4sCBVUkzsnbQg7JWE64uI6528IO2RuOyLnCBVUkzsnYQg7KeI7J2Y7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MQogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAi66qo65OgIFVSTOydhCDrpqzthLTtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgIiclcycg66as66qo7Yq47JeQIOuMgO2VnCBVUkzsnYQg7ISk7KCV7ZWY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MTUKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAi7ZG47IucIFVSTOydhCDsp4DsoJXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyMworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE3CiBtc2dpZCAiYWRkIFVSTCIKIG1zZ3N0ciAiVVJM7J2EIOy2lOqwgO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MTkKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAiVVJM7J2EIOyCreygnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTMyCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MjYKIG1zZ2lkICItLWFkZCAtLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tYWRkIC0tZGVsZXRlIOyYteyFmOydhCDrkZjri6Qg7JOw66m0IOyViCDrkKnri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgb2xkIFVSTCBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAi7J6Y66q765CcIOyYpOuemOyghCBVUkwg7Yyo7YS0OiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICLqt7jrn7AgVVJM7J20IOyXhuyKteuLiOuLpDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc3CiBtc2dpZCAiV2lsbCBub3QgZGVsZXRlIGFsbCBub24tcHVzaCBVUkxzIgogbXNnc3RyICLtkbjsi5zsmqnsnbQg7JWE64uMIOuqqOuToCBVUkzsnYQg7IKt7KCc7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTk3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTEKIG1zZ2lkICJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIgogbXNnc3RyICLsnpDshLjtnogg7ZGc7Iuc7ZWp64uI64ukICjtlZjsnIQg66qF66C5IOyVnuyXkCDsmYDslbwg7ZWp64uI64ukKSIKIAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dzdHIgIuyVjCDsiJgg7JeG64qUIO2VmOychCDrqoXroLk6ICVzIgorCiAjOiBidWlsdGluL3JlcGFjay5jOjE3CiBtc2dpZCAiZ2l0IHJlcGFjayBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHJlcGFjayBbPOyYteyFmD5dIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE1OQorIzogYnVpbHRpbi9yZXBhY2suYzoxNjAKIG1zZ2lkICJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIKIG1zZ3N0ciAi7ZWY64KY7J2YIOustuydjCDslYjsl5Ag66qo65GQIOustuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYyCiBtc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKIG1zZ3N0ciAiLWHsmYAg64+Z7J287ZWY6rOgLCDsoJHqt7wg67aI6rCA64qlIOyYpOu4jOygne2KuOulvCDripDsiqjtlZjqsowg67CU6r+J64uI64ukIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2NAorIzogYnVpbHRpbi9yZXBhY2suYzoxNjUKIG1zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCiBtc2dzdHIgIuyXrOu2hOydmCDrrLbsnYzsnYQg7KCc6rGw7ZWY6rOgLCBnaXQtcHJ1bmUtcGFja2Vk66W8IOyLpO2Wie2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY3CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgImdpdC1wYWNrLW9iamVjdHPsl5AgLS1uby1yZXVzZS1kZWx0YSDsmLXshZjsnYQg64SY6rmB64uI64ukIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2OAorIzogYnVpbHRpbi9yZXBhY2suYzoxNjkKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgImdpdC1wYWNrLW9iamVjdHPsl5AgLS1uby1yZXVzZS1vYmplY3Qg7Ji17IWY7J2EIOuEmOq5geuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcxCiBtc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogbXNnc3RyICJnaXQtdXBkYXRlLXNlcnZlci1pbmZv66W8IOyLpO2Wie2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTczCisjOiBidWlsdGluL3JlcGFjay5jOjE3NAogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJnaXQtcGFjay1vYmplY3Rz7JeQIC0tbG9jYWwg7Ji17IWY7J2EIOuEmOq5geuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc2CiBtc2dpZCAid3JpdGUgYml0bWFwIGluZGV4IgogbXNnc3RyICLruYTtirjrp7Ug7J24642x7Iqk66W8IOyUgeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc3CiBtc2dpZCAiYXBwcm94aWRhdGUiCiBtc2dzdHIgIuuMgOueteydmOyLnOqwgSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc4CiBtc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKIG1zZ3N0ciAiIgogIi1B7JeQIOy2lOqwgOuhnCwg7KeA7KCV7ZWcIOyLnOqwgeuztOuLpCDsmKTrnpjrkJwg7Jik67iM7KCd7Yq466W8IOuKkOyKqO2VmOqyjCDrp4zrk6Tsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3OQorIzogYnVpbHRpbi9yZXBhY2suYzoxODAKK21zZ2lkICJ3aXRoIC1hLCByZXBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyIKK21zZ3N0ciAiLWHsmYAg6rCZ7J20LCDsoJHqt7wg67aI6rCA64qlIOyYpOu4jOygne2KuOulvCDri6Tsi5wg66y27Iq164uI64ukIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE4MgogbXNnaWQgInNpemUgb2YgdGhlIHdpbmRvdyB1c2VkIGZvciBkZWx0YSBjb21wcmVzc2lvbiIKIG1zZ3N0ciAi64247YOAIOyVley2leyXkCDsgqzsmqntlaAg7JyI64+E7JqwIO2BrOq4sCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODAgYnVpbHRpbi9yZXBhY2suYzoxODQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgzIGJ1aWx0aW4vcmVwYWNrLmM6MTg3CiBtc2dpZCAiYnl0ZXMiCiBtc2dzdHIgIuuwlOydtO2KuOyImCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg0CiBtc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCiBtc2dzdHIgIuychOyZgCDrj5nsnbztlZjsp4Drp4wsIO2VreuqqSDsiJgg64yA7IugIOuplOuqqOumrCDtgazquLDrpbwg7KCc7ZWc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MworIzogYnVpbHRpbi9yZXBhY2suYzoxODYKIG1zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCiBtc2dzdHIgIuy1nOuMgCDrjbjtg4Ag6rmK7J2066W8IOygnO2VnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg4CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggcGFja2ZpbGUiCiBtc2dzdHIgIuustuydjCDtjIzsnbzsnZgg7LWc64yAIO2BrOq4sCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkwCiBtc2dpZCAicmVwYWNrIG9iamVjdHMgaW4gcGFja3MgbWFya2VkIHdpdGggLmtlZXAiCiBtc2dzdHIgIi5rZWVw7Jy866GcIO2RnOyLnOuQnCDrrLbsnYzsnZgg7Jik67iM7KCd7Yq466W8IOuLpOyLnCDrrLbsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk3CisjOiBidWlsdGluL3JlcGFjay5jOjIwMAogbXNnaWQgImNhbm5vdCBkZWxldGUgcGFja3MgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgInByZWNpb3VzLW9iamVjdHMg7KCA7J6l7IaM7J2YIOustuydjOydhCDsgq3soJztlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozODEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjA0Cittc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUg67CPIC1BIOyYteyFmOydgCDtmLjtmZjrkJjsp4Ag7JWK7Iq164uI64ukIgorCisjOiBidWlsdGluL3JlcGFjay5jOjM5MSBidWlsdGluL3dvcmt0cmVlLmM6MTE1CiAjLCBjLWZvcm1hdAotbXNnaWQgInJlbW92aW5nICclcycgZmFpbGVkIgotbXNnc3RyICInJXMnIOygnOqxsOqwgCDsi6TtjKjtlojsirXri4jri6QiCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgorbXNnc3RyICInJXMnIOygnOqxsOyXkCDsi6TtjKjtlojsirXri4jri6QiCiAKICM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE5CiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgpAQCAtMTAzODUsOCArMTE1ODQsOCBAQAogbXNnc3RyICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs87Luk67CLPl0iCiAKICM6IGJ1aWx0aW4vcmVzZXQuYzoyNwotbXNnaWQgImdpdCByZXNldCBbLXFdIDx0cmVlLWlzaD4gWy0tXSA8cGF0aHM+Li4uIgotbXNnc3RyICJnaXQgcmVzZXQgWy1xXSA87Yq466asLeuUsOychD4gWy0tXSA86rK966GcPi4uLiIKK21zZ2lkICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHM+Li4uIgorbXNnc3RyICJnaXQgcmVzZXQgWy1xXSBbPO2KuOumrC3rlLDsnIQ+XSBbLS1dIDzqsr3roZw+Li4uIgogCiAjOiBidWlsdGluL3Jlc2V0LmM6MjgKIG1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCkBAIC0xMDUwNiwyNyArMTE3MDUsMjcgQEAKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgogbXNnc3RyICLsg4gg7J24642x7IqkIO2MjOydvOydhCDsk7gg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzozNTAKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzozNTQKIG1zZ2lkICJyZXYtbGlzdCBkb2VzIG5vdCBzdXBwb3J0IGRpc3BsYXkgb2Ygbm90ZXMiCiBtc2dzdHIgInJldi1saXN064qUIOuFuO2KuCDtkZzsi5zrpbwg7KeA7JuQ7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNTgKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzg2CiBtc2dpZCAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dIgogbXNnc3RyICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzzsmLXshZg+XSAtLSBbPOyduOyekD4uLi5dIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2MworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTEKIG1zZ2lkICJrZWVwIHRoZSBgLS1gIHBhc3NlZCBhcyBhbiBhcmciCiBtc2dzdHIgIuyduOyekOuhnCDrhJjquLQgYC0tYOulvCDsnKDsp4Dtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzY1CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5MwogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAi7LKr67KI7Ke4IOyYteyFmOydtCDslYTri4wg7J247J6QIOuSpOyXkCDtjIzsi7HsnYQg7KSR7KeA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2OAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTYKIG1zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgogbXNnc3RyICJzdHVjayBsb25nIO2YleyLneycvOuhnCDstpzroKXtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDk5CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjUyNwogbXNnaWQgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl1cbiIKICIgICBvcjogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8YXJnPi4uLl1cbiIKQEAgLTEwNTk5LDMxICsxMTc5OCwyNyBAQAogbXNnaWQgIm9wdGlvbiBmb3IgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIuuzke2VqSDsoITrnrUg7Ji17IWYIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKIG1zZ2lkICJhcHBlbmQgY29tbWl0IG5hbWUiCiBtc2dzdHIgIuy7pOuwiyDsnbTrpoTsnYQg65Kk7JeQIOu2meyeheuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDYKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCiBtc2dpZCAicHJlc2VydmUgaW5pdGlhbGx5IGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgIuy1nOy0iCDruYgg7Luk67CL7J2EIOycoOyngO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCiBtc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICLruYgg66mU7Iuc7KeA66GcIOy7pOuwi+ydhCDtl4jsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA4CisjOiBidWlsdGluL3JldmVydC5jOjEwNAogbXNnaWQgImtlZXAgcmVkdW5kYW50LCBlbXB0eSBjb21taXRzIgogbXNnc3RyICLsl6zrtoTsnZgg67mIIOy7pOuwi+ydhCDsnKDsp4Dtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCi1tc2dpZCAicHJvZ3JhbSBlcnJvciIKLW1zZ3N0ciAi7ZSE66Gc6re4656oIOyYpOulmCIKLQotIzogYnVpbHRpbi9yZXZlcnQuYzoxOTcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTkyCiBtc2dpZCAicmV2ZXJ0IGZhaWxlZCIKIG1zZ3N0ciAi65CY64+M66as6riwIOyLpO2MqCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMTIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjA1CiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICJjaGVycnktcGljayDsi6TtjKgiCiAKQEAgLTEwNzg1LDcwICsxMTk4MCwxMjMgQEAKIG1zZ2lkICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCiBtc2dzdHIgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPOuyoOydtOyKpD5dXSBbLS1saXN0XSBbPOugiO2NvOufsOyKpD5dIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Mzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWYiCittc2dpZF9wbHVyYWwgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWZzIgorbXNnc3RyWzBdICIlcyDrrLTsi5wuIOugiO2NvOufsOyKpOulvCAlZOqwnOuztOuLpCDrp47snbQg7LKY66as7ZWgIOyImCDsl4bsirXri4jri6QiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWF0Y2hpbmcgcmVmcyB3aXRoICVzIgorbXNnc3RyICIlc+yZgCjqs7wpIOydvOy5mO2VmOuKlCDroIjtjbzrn7DsiqTqsIAg7JeG7Iq164uI64ukIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICLrpqzrqqjtirgg7LaU7KCBIOuwjyDroZzsu6wg67iM656c7LmY66W8IO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MQogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICLrpqzrqqjtirgg7LaU7KCBIOu4jOuenOy5mOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICLruIzrnpzsuZjsl5Ag65Sw66W4ICcqISstJyDtkZzsi5zsl5Ag7IOJ7J2EIOyehe2emeuLiOuLpCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NQogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICLqs7XthrUg7J207KCEIOy7pOuwiyDrkqTsnZggPG4+6rCc7J2YIOy7pOuwi+ydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDcKIG1zZ2lkICJzeW5vbnltIHRvIG1vcmU9LTEiCiBtc2dzdHIgIi0tbW9yZT0tMSDsmLXshZjqs7wg64+Z7J28IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ4CiBtc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCiBtc2dzdHIgIuydtOumhCDrrLjsnpDsl7TsnYQg7ZGc7Iuc7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAogbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICLtmITsnqwg67iM656c7LmY66W8IO2PrO2VqCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MgogbXNnaWQgIm5hbWUgY29tbWl0cyB3aXRoIHRoZWlyIG9iamVjdCBuYW1lcyIKIG1zZ3N0ciAi7Luk67CL7J2YIOydtOumhOydhCDqt7gg7Jik67iM7KCd7Yq4IOydtOumhOycvOuhnCDrtpnsnoXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICLqsIDriqXtlZwg67OR7ZWpIOq4sOykgOygkOydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKIG1zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgogbXNnc3RyICLri6Trpbgg7Ja065akIOugiO2NvOufsOyKpOyXkOyEnOuPhCDsoJHqt7wg67aI6rCA64ql7ZWcIOugiO2NvOufsOyKpOulvCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgIuychOyDgSDsiJzshJzsl5Ag65Sw6528IOy7pOuwi+ydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKIG1zZ2lkICJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIKIG1zZ3N0ciAi7LKrIOu4jOuenOy5mOyXkCDsl4bripQg7Luk67CL66eMIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MwogbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKIG1zZ3N0ciAi7ZWY64KY7J2YIOuBneyXkOyEnOunjCDsoJHqt7wg6rCA64ql7ZWcIOuzke2VqeydhCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjUKIG1zZ2lkICJ0b3BvbG9naWNhbGx5IHNvcnQsIG1haW50YWluaW5nIGRhdGUgb3JkZXIgd2hlcmUgcG9zc2libGUiCiBtc2dzdHIgIuqwgOuKpe2VmOuptCDsi5zqsIQg7Iic7ISc66W8IOycoOyngO2VmOuptOyEnCDsnITsg4Eg7Iic7ISc66GcIOygleugrCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OAogbXNnaWQgIjxuPlssPGJhc2U+XSIKIG1zZ3N0ciAiPG4+Wyw867Kg7J207IqkPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKIG1zZ3N0ciAi6riw7KSA67aA7YSwIOyLnOyeke2VtCDstZzrjIAgPG4+6rCc7J2YIOy1nOq3vCByZWYtbG9nIO2VreuqqeydhCDtkZzsi5ztlanri4jri6QiCiAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MDMKK21zZ2lkICIiCisiLS1yZWZsb2cgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiCittc2dzdHIgIiIKKyItLXJlZmxvZyDsmLXshZjsnYAgLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCwgLS1tZXJnZS1iYXNlIOyYteyFmOqzvCDtmLjtmZjrkJgiCisi7KeAIOyViuyKteuLiOuLpCIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyNworbXNnaWQgIm5vIGJyYW5jaGVzIGdpdmVuLCBhbmQgSEVBRCBpcyBub3QgdmFsaWQiCittc2dzdHIgIuu4jOuenOy5mOulvCDsp4DsoJXtlZjsp4Ag7JWK7JWY6rOgLCBIRUFE6rCAIOyYrOuwlOultOyngCDslYrsirXri4jri6QiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzAKK21zZ2lkICItLXJlZmxvZyBvcHRpb24gbmVlZHMgb25lIGJyYW5jaCBuYW1lIgorbXNnc3RyICItLXJlZmxvZyDsmLXshZjsnYAg67iM656c7LmYIOydtOumhOydtCDtlYTsmpTtlanri4jri6QiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgorbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKK21zZ3N0clswXSAi7ZWcIOuyiOyXkCAlZOqwnCDtla3rqqnrp4wg7ZGc7Iuc7ZWgIOyImCDsnojsirXri4jri6QuIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcmVmICVzIgorbXNnc3RyICLqt7jrn7Ag66CI7Y2865+w7Iqk6rCAIOyXhuyKteuLiOuLpDogJXMiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2LiIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iCittc2dzdHJbMF0gIuugiO2NvOufsOyKpOulvCAlZOqwnOuztOuLpCDrp47snbQg7LKY66as7ZWgIOyImCDsl4bsirXri4jri6QuIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAiJyVzJ+ydgCjripQpIOyYrOuwlOuluCDroIjtjbzrn7DsiqTqsIAg7JWE64uZ64uI64ukLiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBjb21taXQgJXMgKCVzKSIKK21zZ3N0ciAiJXMg7Luk67CL7J2EIOywvuydhCDsiJgg7JeG7J2MICglcykiCisKICM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMAogbXNnaWQgIiIKICJnaXQgc2hvdy1yZWYgWy1xIHwgLS1xdWlldF0gWy0tdmVyaWZ5XSBbLS1oZWFkXSBbLWQgfCAtLWRlcmVmZXJlbmNlXSBbLXMgfCAtLSIKQEAgLTEwOTA5LDEyICsxMjE1NywxMiBAQAogbXNnaWQgInByZXBlbmQgY29tbWVudCBjaGFyYWN0ZXIgYW5kIHNwYWNlIHRvIGVhY2ggbGluZSIKIG1zZ3N0ciAi6rCBIOykhOydmCDslZ7sl5Ag7KO87ISdIOusuOyekOyZgCDqs7XrsLHsnYQg67aZ7J6F64uI64ukIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlZjogJXMiCiBtc2dzdHIgIuq3uOufsCDroIjtjbzrn7DsiqTqsIAg7JeG7Iq164uI64ukOiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0aW5nIGEgZnVsbCByZWYgbmFtZSwgZ290ICVzIgogbXNnc3RyICLsoITssrQg66CI7Y2865+w7IqkIOydtOumhOydtCDtlYTsmpTtlZjsp4Drp4wsIOyeheugpeydgCAlcyIKQEAgLTEwOTI0LDE2MCArMTIxNzIsMjA0IEBACiBtc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJXMnIgogbXNnc3RyICInJXMnIFVSTCDtlZjrgpjsnZgg64uo6rOE66W8IOyemOudvOuCvCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mjc4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDUKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MAogbXNnaWQgImFsdGVybmF0aXZlIGFuY2hvciBmb3IgcmVsYXRpdmUgcGF0aHMiCiBtc2dzdHIgIuyDgeuMgCDqsr3roZzsl5Ag7IKs7Jqp7ZWgIOuYkOuLpOuluCDquLDspIAiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODcKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTzqsr3roZw+XSBbPOqyveuhnD4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzI2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNDAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMjkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIi5naXRtb2R1bGVz7JeQ7IScIO2VmOychCDrqqjrk4gg6rK966GcICclcyfsl5Ag64yA7ZWcIFVSTOydtCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNjYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCDqsr3roZwgJyVzJ+yXkCDrjIDtlZwgVVJM7J2EIOuTseuhne2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNzAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSByZWdpc3RlcmVkIGZvciBwYXRoICclcydcbiIKIG1zZ3N0ciAiJyUzJHMnIOqyveuhnOyXkCDrjIDtlbQgJyUxJHMnICglMiRzKSDtlZjsnIQg66qo65OIIOuTseuhnVxuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGNvbW1hbmQgdXBkYXRlIG1vZGUgc3VnZ2VzdGVkIGZvciBzdWJtb2R1bGUgJyVzJ1xuIgogbXNnc3RyICLqsr3qs6A6ICclcycg7ZWY7JyEIOuqqOuTiOyXkCDrjIDtlbQg7Luk66eo65OcIOyXheuNsOydtO2KuCDrqqjrk5zqsIAg7KCc7JWI65CY7JeI7Iq164uI64ukXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICInJXMnIO2VmOychCDrqqjrk4jsl5Ag64yA7ZW0IOyXheuNsOydtO2KuCDrqqjrk5wg65Ox66Gd7J20IOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOQogbXNnaWQgIlN1cHByZXNzIG91dHB1dCBmb3IgaW5pdGlhbGl6aW5nIGEgc3VibW9kdWxlIgogbXNnc3RyICLtlZjsnIQg66qo65OIIOy0iOq4sO2ZlOyXkCDstpzroKXsnYQg7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPOqyveuhnD5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDMyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDM1CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA86rK966GcPiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQzOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICLqsr3roZwgJyVzJ+yXkCDrjIDtlbQgLmdpdG1vZHVsZXPsl5Ag7J6I64qUIO2VmOychOuqqOuTiCDrp6TtlZHsnbQg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDg5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VibW9kdWxlICclcycgY2Fubm90IGFkZCBhbHRlcm5hdGU6ICVzIgorbXNnc3RyICInJXMnIO2VmOychCDrqqjrk4jsl5Ag67O07KGwIOyYpOu4jOygne2KuOulvCDstpTqsIDtlaAg7IiYIOyXhuyKteuLiOuLpDogJXMiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgaXMgbm90IHJlY29nbml6ZWQiCittc2dzdHIgInN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd57JeQIOuMgO2VnCDqsJLsnbQoJyVzJykg7JWMIOyImCDsl4bripQg6rCS7J6F64uI64ukIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiBpcyBub3QgcmVjb2duaXplZCIKK21zZ3N0ciAic3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9u7JeQIOuMgO2VnCDqsJLsnbQoJyVzJykg7JWMIOyImCDsl4bripQg6rCS7J6F64uI64ukIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkzCiBtc2dpZCAid2hlcmUgdGhlIG5ldyBzdWJtb2R1bGUgd2lsbCBiZSBjbG9uZWQgdG8iCiBtc2dzdHIgIuyDiCDtlZjsnIQg66qo65OI7J2EIOuzteygnO2VoCDrjIDsg4Eg7JyE7LmYIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk2CiBtc2dpZCAibmFtZSBvZiB0aGUgbmV3IHN1Ym1vZHVsZSIKIG1zZ3N0ciAi7IOIIO2VmOychCDrqqjrk4gg7J2066aEIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDk1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk5CiBtc2dpZCAidXJsIHdoZXJlIHRvIGNsb25lIHRoZSBzdWJtb2R1bGUgZnJvbSIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiOydhCDrs7XsoJztlbQg7JisIFVSTCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUwMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNQogbXNnaWQgImRlcHRoIGZvciBzaGFsbG93IGNsb25lcyIKIG1zZ3N0ciAi7JaV7J2AIOuzteygnOyXkCDsgqzsmqntlaAg6rmK7J20IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjQKK21zZ2lkICJmb3JjZSBjbG9uaW5nIHByb2dyZXNzIgorbXNnc3RyICLrs7XsoJwg7KeE7ZaJIOyDge2ZqeydhCDtla3sg4Eg7ZGc7Iuc7ZWp64uI64ukIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEzCiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS1kZXB0aCA8ZGVwdGg+XSAtLXVybCA8dXJsPiAtLXBhdGggPHBhdGg+IgotbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTzqsr3roZw+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlIDzsoIDsnqXshow+XSBbLS1uYW1lIDzsnbTrpoQ+XSBbLS1kZXB0aCA86rmK7J20Pl0gLS11cmwgPHVybD4gLS1wYXRoIDzqsr3roZw+IgorbXNnc3RyICIiCisiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD086rK966GcPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSA87KCA7J6l7IaMIgorIj5dIFstLW5hbWUgPOydtOumhD5dIFstLWRlcHRoIDzquYrsnbQ+XSAtLXVybCA8dXJsPiAtLXBhdGggPOqyveuhnD4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MzIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUzOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIiclcycg65SU66CJ7YSw66as66W8IOunjOuTpCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTM0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiJyVzJ+yXkOyEnCDtlZjsnIQg66qo65OIIOqyveuhnCAnJXMn7JeQIOuzteygnO2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gZmlsZSAnJXMnIgogbXNnc3RyICInJXMnIO2MjOydvOydhCDsl7Qg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU1NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgZmlsZSAlcyIKIG1zZ3N0ciAiJXMg7YyM7J287J2EIOuLq+ydhCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTYyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgc3VibW9kdWxlIGRpcmVjdG9yeSBmb3IgJyVzJyIKIG1zZ3N0ciAiJyVzJ+yXkCDrjIDtlZwg7ZWY7JyEIOuqqOuTiCDrlJTroInthLDrpqzrpbwg6rCA7KC47JisIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyVzJyBub3QgaW5pdGlhbGl6ZWQiCiBtc2dzdHIgIiclcycg7ZWY7JyEIOuqqOuTiCDqsr3roZzqsIAg7LSI6riw7ZmU65CY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjczMAogbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgogbXNnc3RyICIndXBkYXRlIC0taW5pdCfsnYQg7ZWY66Ck6rOgIO2VnCDqsoMg7JWE64uI7JeI7Iq164uI6rmMPyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIuuzke2Vqe2VmOyngCDtlZjsnIQg66qo65OIICVzIOqxtOuEiOucgCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCAnJXMnIOqxtOuEiOucgCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc2OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkxMworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgorbXNnc3RyICInJXMnIOuzteygnO2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QuIOyerOyLnOuPhCDsmIjsoJUiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycgYSBzZWNvbmQgdGltZSwgYWJvcnRpbmciCittc2dzdHIgIuuRkOuyiOynuCAnJXMnIOuzteygnO2VmOuKlOuNsCDsi6TtjKjtlojsirXri4jri6QuIOykkeyngO2VqeuLiOuLpCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0NQogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICLsnpHsl4Ug7Y+0642U66GcIOqwgOuKlCDqsr3roZwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDgKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSwgYWNyb3NzIG5lc3RlZCBzdWJtb2R1bGUgYm91bmRhcmllcyIKIG1zZ3N0ciAi7J6R7JeFIO2PtOuNlOuhnCDqsIDripQg6rK966GcLCDrgrTsnqXrkJwg7ZWY7JyEIOuqqOuTiOydmCDqsr3qs4Qg7Ya16rO8IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUyCiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQg65iQ64qUIG5vbmUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTYKIG1zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCiBtc2dzdHIgIuyngOygle2VnCDqsJzsiJjsnZgg66as67mE7KCE7JeQ7IScIOyemOumsCDslpXsnYAg67O17KCc66W8IOunjOuTreuLiOuLpCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc4MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1OQogbXNnaWQgInBhcmFsbGVsIGpvYnMiCiBtc2dzdHIgIuuzkeugrCDsnpHsl4Ug6rCc7IiYIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzgzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYxCittc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgorbXNnc3RyICLstZzstIgg67O17KCc6rCAIOyWleydgCDrs7XsoJwg7LaU7LKc7J2EIOuUsOulvOyngCDsl6zrtoAiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjIKIG1zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICLrs7XsoJwg6rO87KCV7J2EIO2RnOyLnO2VmOyngCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjkKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD086rK966GcPl0gWzzqsr3roZw+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc5OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3OQogbXNnaWQgImJhZCB2YWx1ZSBmb3IgdXBkYXRlIHBhcmFtZXRlciIKIG1zZ3N0ciAi7YyM652866+47YSwIOyXheuNsOydtO2KuOyXkCDqsJLsnbQg7J6Y66q765CY7JeI7Iq164uI64ukIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODU1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiU3VibW9kdWxlICglcykgYnJhbmNoIGNvbmZpZ3VyZWQgdG8gaW5oZXJpdCBicmFuY2ggZnJvbSBzdXBlcnByb2plY3QsIGJ1dCAiCisidGhlIHN1cGVycHJvamVjdCBpcyBub3Qgb24gYW55IGJyYW5jaCIKK21zZ3N0ciAiIgorIu2VmOychCDrqqjrk4ggKCVzKSDruIzrnpzsuZjqsIAg7IOB7JyEIO2UhOuhnOygne2KuCDruIzrnpzsuZjrpbwg7J207Ja067Cb64+E66GdIOyEpOygleuQmOyXiOyngOunjCwg7IOB7JyEICIKKyLtlITroZzsoJ3tirjsl5Ag67iM656c7LmY6rCAIOyXhuyKteuLiOuLpCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDAKIG1zZ2lkICJzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIG11c3QgYmUgY2FsbGVkIHdpdGggYSBzdWJjb21tYW5kIgogbXNnc3RyICJzdWJtb2R1bGUtLWhlbHBlciDtlZjsnIQg66qF66C57J2AIO2VmOychCDrqoXroLnsnLzroZwg7Zi47Lac7ZW07JW8IO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg2MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIgogbXNnc3RyICInJXMn7J2AKOuKlCkg7Jis67CU66W4IHN1Ym1vZHVsZS0taGVscGVyIO2VmOychCDrqoXroLnsnbQg7JWE64uZ64uI64ukIgpAQCAtMTEzMDAsNyArMTI1OTIsNyBAQAogIzogYnVpbHRpbi90YWcuYzo0NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0YWcgbmFtZS4iCi1tc2dzdHIgIiclcyfsnYA564qUKSDsmKzrsJTrpbgg7YOc6re4IOydtOumhOydtCDslYTri5nri4jri6QuIgorbXNnc3RyICInJXMn7J2AKOuKlCkg7Jis67CU66W4IO2DnOq3uCDsnbTrpoTsnbQg7JWE64uZ64uI64ukLiIKIAogIzogYnVpbHRpbi90YWcuYzo0NjMKICMsIGMtZm9ybWF0CkBAIC0xMTMxMiw3ICsxMjYwNCw3IEBACiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICLtg5zqt7ggJyVzJyDsl4XrjbDsnbTtirggKOqzvOqxsCAlcylcbiIKIAotIzogYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjQ5MAorIzogYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjQ5MwogbXNnaWQgIlVucGFja2luZyBvYmplY3RzIgogbXNnc3RyICLsmKTruIzsoJ3tirgg66y27J2MIO2RuOuKlCDspJEiCiAKQEAgLTExMzc0LDE0MCArMTI2NjYsMTQ4IEBACiBtc2dpZCAiIE9LIgogbXNnc3RyICIg7Jik7LyA7J20IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU3NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjQKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzzsmLXshZg+XSBbLS1dIFs87YyM7J28Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkxOQogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAi7J24642x7Iqk7JeQIOyXheuNsOydtO2KuOqwgCDtlYTsmpTtlZjrjZTrnbzrj4Qg7IOI66GcIOqzoOy5qOydhCDqs4Tsho3tlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyMgogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICLsg4jroZwg6rOg7LmoOiDtlZjsnIQg66qo65OIIOustOyLnCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI1CiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgIuyDiCDtjIzsnbzsnYQg66y07Iuc7ZWgIOyImCDslYrsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNwogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICLrlJTroInthLDrpqzrpbwg7YyM7J2866GcLCDrmJDripQg6re4IOuwmOuMgOuhnCDrsJTqv4Ag7IiYIOyeiOqyjCDtl4jsmqntlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyOQogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgIuyekeyXhe2PtOuNlOyXkOyEnCDslYzrprwg7YyM7J287J20IOyXhuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMxCiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgIuyduOuNseyKpOyXkCDrs5HtlantlZjsp4Ag7JWK7J2AIO2VreuqqeydtCDsnojslrTrj4Qg7IOI66GcIOqzoOy5qeuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM0CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICLtjIzsnbwg7KCV67O066W8IOyDiOuhnCDqs6Dsuanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzOAogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAiLS1yZWZyZXNo7JmAIOuPmeydvO2VmOyngOunjCwgYXNzdW1lLXVuY2hhbmdlZCDshKTsoJXsnYQg66y07Iuc7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKIG1zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgogbXNnc3RyICI866qo65OcPiw87Jik67iM7KCd7Yq4Piw86rK966GcPiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQzCiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICLsp4DsoJXtlZwg7ZWt66qp7J2EIOyduOuNseyKpOyXkCDstpTqsIDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4Ci1tc2dpZCAiKCsvLSl4IgotbXNnc3RyICIoKy8tKXgiCi0KLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU5Ci1tc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCi1tc2dzdHIgIuuqqeuhneydmCDtjIzsnbzsl5DshJwg7Iuk7ZaJIOqwgOuKpSDruYTtirjrpbwg67CU6r+J64uI64ukIgotCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTIKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgIu2MjOydvOydhCBcIuuwlOq+uOyngCDslYrsnYxcIuycvOuhnCDtkZzsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1NQogbXNnaWQgImNsZWFyIGFzc3VtZWQtdW5jaGFuZ2VkIGJpdCIKIG1zZ3N0ciAi67CU6r647KeAIOyViuydjOycvOuhnCDqsIDsoJUgKGFzc3VtZWQtdW5jaGFuZ2VkKSDruYTtirjrpbwg7KeA7JuB64uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTgKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgogbXNnc3RyICLtjIzsnbzsnYQg7J24642x7IqkIOyghOyaqeycvOuhnCAoXCJpbmRleC1vbmx5XCIpIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYxCiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgIuyekeyXhe2PtOuNlCDqsbTrhIjrm7DquLAgKHNraXAtd29ya3RyZWUpIOu5hO2KuOulvCDsp4Dsm4Hri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NAogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICIiCiAi7J24642x7Iqk7JeQ66eMIOy2lOqwgO2VqeuLiOuLpC4g64K07Jqp7J2EIOyYpOu4jOygne2KuCDrjbDsnbTthLDrsqDsnbTsiqTsl5Ag7LaU6rCA7ZWY7KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY2CiBtc2dpZCAicmVtb3ZlIG5hbWVkIHBhdGhzIGV2ZW4gaWYgcHJlc2VudCBpbiB3b3JrdHJlZSIKIG1zZ3N0ciAi7J6R7JeFIO2PtOuNlOyXkCDsnojslrTrj4Qg7ZW064u5IOqyveuhnOulvCDsoJzqsbDtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OAogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAiLS1zdGRpbuqzvCDqsJnsnbQg7IKs7JqpOiDsnoXroKUg7KSE7J2AIE5VTCDrsJTsnbTtirjroZwg64Gd64Kp64uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzAKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgdG8gYmUgdXBkYXRlZCBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLtkZzspIAg7J6F66Cl7JeQ7IScIOyXheuNsOydtO2KuO2VoCDqsr3roZzsnZgg66qp66Gd7J2EIOydveyKteuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc0CiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIu2RnOykgCDsnoXroKXsl5DshJwg7J297J2AIO2VreuqqeydhCDsnbjrjbHsiqTsl5Ag7LaU6rCA7ZWp64uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzgKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgIuqyveuhnCDrqqnroZ3sl5Ag64yA7ZW0ICMyIOuwjyAjMyDsiqTthYzsnbTsp5XsnYQg64uk7IucIO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgyCiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgIkhFQUTsmYAg64uk66W4IO2VreuqqeunjCDsl4XrjbDsnbTtirjtlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgIuyekeyXhSDtj7TrjZTsl5Ag7JeG64qUIO2MjOydvOydhCDrrLTsi5ztlanri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODkKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgIu2RnOykgCDstpzroKXsl5Ag64+Z7J6R7J2EIOyVjOumveuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MQogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICLsoIDsnqXtlZwg7ZW06rKw65CY7KeAIOyViuydgCDstqnrj4zsnYQg66y07Iuc7ZWp64uI64ukICjsgqzsmqnsnpDsmqkg66qF66C5IOyaqeuPhCkiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTUKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAi7J24642x7Iqk66W8IOydtCDtmJXsi53snLzroZwg7JSB64uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgIuyKpO2UjOumvyDsnbjrjbHsiqTrpbwg7Lyc6rGw64KYIOuBleuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDEwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5OQogbXNnaWQgImVuYWJsZS9kaXNhYmxlIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAi7LaU7KCB7ZWY7KeAIOyViuuKlCDsupDsi5wg7IKs7Jqp7J2EIOy8nOqxsOuCmCDrgZXri4jri6QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAxCiBtc2dpZCAidGVzdCBpZiB0aGUgZmlsZXN5c3RlbSBzdXBwb3J0cyB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgIu2MjOydvCDsi5zsiqTthZzsnbQg7LaU7KCB7ZWY7KeAIOyViuuKlCDsupDsi5zrpbwg7KeA7JuQ7ZWY64qU7KeAIOqygOyCrO2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDMKIG1zZ2lkICJlbmFibGUgdW50cmFja2VkIGNhY2hlIHdpdGhvdXQgdGVzdGluZyB0aGUgZmlsZXN5c3RlbSIKLW1zZ3N0ciAi7YyM7J28IOyLnOyKpO2FnCDthYzsiqTtirgg7JeG7J20IOy2lOygge2VmOyngCDslYrripQg7LqQ7Iuc66W8IOyCrOyaqe2VqeuLiOuLpCIKK21zZ3N0ciAi7YyM7J28IOyLnOyKpO2FnCDsi5ztl5gg7JeG7J20IOy2lOygge2VmOyngCDslYrripQg7LqQ7Iuc66W8IOyCrOyaqe2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMTkKK21zZ2lkICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKKyJ0byBkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCittc2dzdHIgIiIKKyJjb3JlLnVudHJhY2tlZENhY2hl6rCS7J20IOywuOyeheuLiOuLpC4g7KCV66eQ66GcIOy2lOygge2VmOyngCDslYrripQg7YyM7J28IOy6kOyLnOulvCDsgqzsmqntlZjsp4AgIgorIuyViuycvOugpOuptCDsnbQg6rCS7J2EIOygnOqxsO2VmOqxsOuCmCDrsJTqvrjsi63si5zsmKQuIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMjMKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZGlzYWJsZWQiCi1tc2dzdHIgIuy2lOyggeuQmOyngCDslYrripQg7LqQ7Iuc66W8IOyCrOyaqe2VmOyngCDslYrsirXri4jri6QiCittc2dzdHIgIuy2lOyggeuQmOyngCDslYrripQg7YyM7J28IOy6kOyLnOulvCDsgqzsmqntlZjsp4Ag7JWK7Iq164uI64ukIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzMQorbXNnaWQgIiIKKyJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKKyJ0byBlbmFibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKK21zZ3N0ciAiIgorImNvcmUudW50cmFja2VkQ2FjaGXqsJLsnbQg6rGw7KeT7J6F64uI64ukLiDsoJXrp5DroZwg7LaU7KCB7ZWY7KeAIOyViuuKlCDtjIzsnbwg7LqQ7Iuc66W8IOyCrOyaqe2VmOugpCIKKyLrqbQg7J20IOqwkuydhCDsoJzqsbDtlZjqsbDrgpgg67CU6r647Iut7Iuc7JikLiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgogbXNnc3RyICInJXMn7JeQIOuMgO2VtCDstpTsoIHrkJjsp4Ag7JWK64qUIOy6kOyLnOulvCDsgqzsmqntlZjsp4Ag7JWK7Iq164uI64ukIgpAQCAtMTE1ODUsODIgKzEyODg1LDEwOSBAQAogbXNnc3RyICJnaXQgd29ya3RyZWUgYWRkIFs87Ji17IWYPl0gPOqyveuhnD4gWzzruIzrnpzsuZg+XSIKIAogIzogYnVpbHRpbi93b3JrdHJlZS5jOjE2Ci1tc2dpZCAiZ2l0IHdvcmt0cmVlIHBydW5lIFs8b3B0aW9ucz5dIgotbXNnc3RyICJnaXQgd29ya3RyZWUgcHJ1bmUgWzzsmLXshZg+XSIKLQotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSBsaXN0IFs87Ji17IWYPl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3Cittc2dpZCAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxvcHRpb25zPl0gPHBhdGg+IgorbXNnc3RyICJnaXQgd29ya3RyZWUgbG9jayBbPOyYteyFmD5dIDzqsr3roZw+IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKK21zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPOyYteyFmD5dIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTkKK21zZ2lkICJnaXQgd29ya3RyZWUgdW5sb2NrIDxwYXRoPiIKK21zZ3N0ciAiZ2l0IHdvcmt0cmVlIHVubG9jayA86rK966GcPiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogbm90IGEgdmFsaWQgZGlyZWN0b3J5IgogbXNnc3RyICJ3b3JrdHJlZXMvJXMg7KCc6rGwOiDsmKzrsJTrpbgg65SU66CJ7YSw66as6rCAIOyVhOuLmeuCmOuLpCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAid29ya3RyZWVzLyVzIOygnOqxsDogZ2l0ZGlyIO2MjOydvOydtCDsl4bsirXri4jri6QiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogdW5hYmxlIHRvIHJlYWQgZ2l0ZGlyIGZpbGUgKCVzKSIKIG1zZ3N0ciAid29ya3RyZWVzLyVzIOygnOqxsDogZ2l0ZGlyIO2MjOydvOydhCDsnb3snYQg7IiYIOyXhuyKteuLiOuLpCAoJXMpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGludmFsaWQgZ2l0ZGlyIGZpbGUiCiBtc2dzdHIgIndvcmt0cmVlcy8lcyDsoJzqsbA6IGdpdGRpciDtjIzsnbzsnbQg7Jis67CU66W07KeAIOyViuyKteuLiOuLpCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBwb2ludHMgdG8gbm9uLWV4aXN0ZW50IGxvY2F0aW9uIgogbXNnc3RyICJ3b3JrdHJlZXMvJXMg7KCc6rGwOiBnaXRkaXIg7YyM7J287J20IOyXhuuKlCDsnITsuZjrpbwg6rCA66as7YK164uI64ukIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTEzCi0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKLW1zZ3N0ciAiJyVzJyDsoJzqsbDsl5Ag7Iuk7Yyo7ZaI7Iq164uI64ukIgotCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjAyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIiclcyfsnbQo6rCAKSDsnbTrr7gg7J6I7Iq164uI64ukIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjM0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IG9mICclcyciCiBtc2dzdHIgIiclcyfsnZgg65SU66CJ7YSw66as66W8IOunjOuTpCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjcwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlByZXBhcmluZyAlcyAoaWRlbnRpZmllciAlcykiCiBtc2dzdHIgIiVzIOykgOu5hCDspJEgKElEICVzKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyMgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyMwogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGV2ZW4gaWYgYWxyZWFkeSBjaGVja2VkIG91dCBpbiBvdGhlciB3b3JrdHJlZSIKIG1zZ3N0ciAi64uk66W4IOyekeyXhSDtj7TrjZTsl5DshJwg7LK07YGs7JWE7JuD7ZaI642U652864+EIDzruIzrnpzsuZg+66W8IOyytO2BrOyVhOybg+2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNQogbXNnaWQgImNyZWF0ZSBhIG5ldyBicmFuY2giCiBtc2dzdHIgIuyDiCDruIzrnpzsuZjrpbwg66eM65Ot64uI64ukIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICLruIzrnpzsuZjrpbwg66eM65Ok6rGw64KYIOumrOyFi+2VqeuLiOuLpCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNwotbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKLW1zZ3N0ciAiSEVBROulvCDtlbTri7kg7Luk67CL7JeQ7IScIOu2hOumrO2VqeuLiOuLpCIKLQotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyOQogbXNnaWQgInBvcHVsYXRlIHRoZSBuZXcgd29ya2luZyB0cmVlIgogbXNnc3RyICLsg4gg7J6R7JeFIO2PtOuNlOulvCDrp4zrk63ri4jri6QiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzcKIG1zZ2lkICItYiwgLUIsIGFuZCAtLWRldGFjaCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYiwgLUIsIC0tZGV0YWNoIOyYteyFmCDspJEg7ZWY64KY66eMIOyTuCDsiJgg7J6I7Iq164uI64ukIgogCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDcwCittc2dpZCAicmVhc29uIGZvciBsb2NraW5nIgorbXNnc3RyICLsnqDqt7jripQg7J207JygIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDgyIGJ1aWx0aW4vd29ya3RyZWUuYzo1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiclcyfsnYAo64qUKSDsnpHsl4Ug7Y+0642U6rCAIOyVhOuLmeuLiOuLpCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NCBidWlsdGluL3dvcmt0cmVlLmM6NTE3Cittc2dpZCAiVGhlIG1haW4gd29ya2luZyB0cmVlIGNhbm5vdCBiZSBsb2NrZWQgb3IgdW5sb2NrZWQiCittc2dzdHIgIuuplOyduCDsnpHsl4Ug7Y+0642U66W8IOyeoOq3uOqxsOuCmCDsnqDquIgg7ZW07KCc7ZWgIOyImCDsl4bsirXri4jri6QiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIKK21zZ3N0ciAiJyVzJ+ydgCjripQpIOydtOuvuCDsnqDqsrzsirXri4jri6QuIOydtOycoDogJXMiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCIKK21zZ3N0ciAiJyVzJ+ydgCjripQpIOydtOuvuCDsnqDqsrzsirXri4jri6QiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgorbXNnc3RyICInJXMn7J2AKOuKlCkg7J6g6riw7KeAIOyViuyVmOyKteuLiOuLpCIKKwogIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTMKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHByZWZpeD4vXSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTzsoJHrkZDslrQ+L10iCkBAIC0xMTY3Nyw2ICsxMzAwNCw0MCBAQAogbXNnaWQgIm9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmciCiBtc2dzdHIgIuuUlOuyhOq5hSDsmqnrj4TroZzrp4wg7IKs7JqpIgogCisjOiB1cGxvYWQtcGFjay5jOjIyCittc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgorbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzzsmLXshZg+XSA865SU66CJ7YSw66asPiIKKworIzogdXBsb2FkLXBhY2suYzoxMDI4Cittc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgorbXNnc3RyICLtlZjrgpjsnZgg7JqU7LKtL+ydkeuLtSDqtZDtmZgg65Kk7JeQIOuBneuCqeuLiOuLpCIKKworIzogdXBsb2FkLXBhY2suYzoxMDMwCittc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBpbml0aWFsIHJlZiBhZHZlcnRpc2VtZW50IgorbXNnc3RyICLstZzstIgg66CI7Y2865+w7IqkIOyVjOumvCDrkqTsl5Ag7KaJ7IucIOuBneuCqeuLiOuLpCIKKworIzogdXBsb2FkLXBhY2suYzoxMDMyCittc2dpZCAiZG8gbm90IHRyeSA8ZGlyZWN0b3J5Pi8uZ2l0LyBpZiA8ZGlyZWN0b3J5PiBpcyBubyBHaXQgZGlyZWN0b3J5IgorbXNnc3RyICIiCisiPOuUlOugie2EsOumrD7qsIAg6rmDIOuUlOugie2EsOumrOqwgCDslYTri4jrqbQgPOuUlOugie2EsOumrD4vLmdpdC8g7Y+0642U66W8IOyLnOuPhO2VmOyngCDslYrsirXri4jri6QuIgorCisjOiB1cGxvYWQtcGFjay5jOjEwMzQKK21zZ2lkICJpbnRlcnJ1cHQgdHJhbnNmZXIgYWZ0ZXIgPG4+IHNlY29uZHMgb2YgaW5hY3Rpdml0eSIKK21zZ3N0ciAiPG4+7LSIIOuPmeyViCDrsJjsnZHsnbQg7JeG7Jy866m0IOyghOyGoeydhCDspJHsp4Dtlanri4jri6QiCisKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIHBlcm1pc3Npb25zIG9uIHlvdXIgc29ja2V0IGRpcmVjdG9yeSBhcmUgdG9vIGxvb3NlOyBvdGhlclxuIgorInVzZXJzIG1heSBiZSBhYmxlIHRvIHJlYWQgeW91ciBjYWNoZWQgY3JlZGVudGlhbHMuIENvbnNpZGVyIHJ1bm5pbmc6XG4iCisiXG4iCisiXHRjaG1vZCAwNzAwICVzIgorbXNnc3RyICIiCisi7IaM7LyTIOuUlOugie2EsOumrOydmCDqtoztlZzsnbQg64SI66y0IOuKkOyKqO2VqeuLiOuLpC4g64uk66W4IOyCrOyaqeyekOqwgFxuIgorIuy6kOyLnOyXkCDrk6TslrQg7J6I64qUIOu5hOuwgCDsoJXrs7Trpbwg7J297J2EIOyImCDsnojsirXri4jri6QuIOuLpOydjOydhCDsi6TtlontlbQg67O07Iut7Iuc7JikOlxuIgorIlxuIgorIlx0Y2htb2QgMDcwMCAlcyIKKwogIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcxCiBtc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKIG1zZ3N0ciAi65SU67KE6rmFIOuplOyLnOyngOulvCDtkZzspIDsmKTrpZjroZwg7Lac66Cl7ZWp64uI64ukIgpAQCAtMTE2OTEsNyArMTMwNTIsMTIgQEAKICLrqqnroZ3snYQg67O8IOyImCDsnojsirXri4jri6QuIO2KueyglSDtlZjsnIQg66qF66C57Ja064KYIOqwnOuFkOyXkCDrjIDtlbQg7J297Ja0IOuztOugpOuptCAnZ2l0IGhlbHBcbiIKICI866qF66C5Picg65iQ64qUICdnaXQgaGVscCA86rCc64WQPicg66qF66C57J2EIOyLpO2Wie2VmOyLreyLnOyYpC4iCiAKLSM6IGh0dHAuYzozMjIKKyMgSFRUUCBkZWxlZ2F0aW9uCisjOiBodHRwLmM6MzQyCittc2dpZCAiRGVsZWdhdGlvbiBjb250cm9sIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4yMi4wIgorbXNnc3RyICLrlJzrpqzqsozsnbTshZgg7Luo7Yq466Gk7J2AIGNVUkwgNy40NC4wIOyVniDrsoTsoITsl5DshJzripQg7KeA7JuQ7ZWY7KeAIOyViuyKteuLiOuLpCIKKworIzogaHR0cC5jOjM1MQogbXNnaWQgIlB1YmxpYyBrZXkgcGlubmluZyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKIG1zZ3N0ciAi6rO16rCcIO2CpCDqs6DsoJXsnYAgY1VSTCA3LjQ0LjAg7JWeIOuyhOyghOyXkOyEnOuKlCDsp4Dsm5DtlZjsp4Ag7JWK7Iq164uI64ukIgogCkBAIC0xMTgwNywxNSArMTMxNzMsMTUgQEAKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgIuyVhOustCDrj5nsnpHrj4Qg7ZWY7KeAIOyViuydjCAo7Zi47ZmY7JqpKSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzNworIzogcGFyc2Utb3B0aW9ucy5oOjIzOAogbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKIG1zZ3N0ciAi642UIOyekOyEuO2eiCDtkZzsi5ztlanri4jri6QiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyMzkKKyM6IHBhcnNlLW9wdGlvbnMuaDoyNDAKIG1zZ2lkICJiZSBtb3JlIHF1aWV0IgogbXNnc3RyICLrjZQg6rCE65617Z6IIO2RnOyLnO2VqeuLiOuLpCIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI0NQorIzogcGFyc2Utb3B0aW9ucy5oOjI0NgogbXNnaWQgInVzZSA8bj4gZGlnaXRzIHRvIGRpc3BsYXkgU0hBLTFzIgogbXNnc3RyICJTSEEtMSDtkZzsi5zsl5AgPG4+6rCc7J2YIOyIq+yekOulvCDsgqzsmqntlanri4jri6QiCiAKQEAgLTExODIzLDMyICsxMzE4OSwzMiBAQAogbXNnaWQgInVwZGF0ZSB0aGUgaW5kZXggd2l0aCByZXVzZWQgY29uZmxpY3QgcmVzb2x1dGlvbiBpZiBwb3NzaWJsZSIKIG1zZ3N0ciAi6rCA64ql7ZWY66m0IOyduOuNseyKpOulvCDsnqzsgqzsmqntlZwg7Lap64+MIO2VtOqysOuhnCDsl4XrjbDsnbTtirjtlanri4jri6QiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NTUKKyM6IGdpdC1iaXNlY3Quc2g6NTQKIG1zZ2lkICJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIiIKIG1zZ3N0ciAiXCJnaXQgYmlzZWN0IHN0YXJ0XCIg66qF66C57Jy866GcIOyLnOyeke2VtOyVvCDtlanri4jri6QiCiAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LWJpc2VjdC5zaDo2MQorIzogZ2l0LWJpc2VjdC5zaDo2MAogbXNnaWQgIkRvIHlvdSB3YW50IG1lIHRvIGRvIGl0IGZvciB5b3UgW1kvbl0/ICIKIG1zZ3N0ciAi7KeA6riIIO2VmOyLnOqyoOyKteuLiOq5jCBbWS9uXT8gIgogCi0jOiBnaXQtYmlzZWN0LnNoOjEyMgorIzogZ2l0LWJpc2VjdC5zaDoxMjEKICMsIHNoLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXNlZCBvcHRpb246ICckYXJnJyIKIG1zZ3N0ciAi7JWMIOyImCDsl4bripQg7Ji17IWYOiAnJGFyZyciCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTI2CisjOiBnaXQtYmlzZWN0LnNoOjEyNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmcnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIHJldmlzaW9uIgogbXNnc3RyICInJGFyZyfsnYAo64qUKSDsmKzrsJTrpbgg66as67mE7KCE7LKY65+8IOuztOydtOyngCDslYrsirXri4jri6QiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTU1CisjOiBnaXQtYmlzZWN0LnNoOjE1NAogbXNnaWQgIkJhZCBIRUFEIC0gSSBuZWVkIGEgSEVBRCIKIG1zZ3N0ciAi7J6Y66q765CcIEhFQUQgLSBIRUFE6rCAIO2VhOyalO2VqeuLiOuLpCIKIAotIzogZ2l0LWJpc2VjdC5zaDoxNjgKKyM6IGdpdC1iaXNlY3Quc2g6MTY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiQ2hlY2tpbmcgb3V0ICckc3RhcnRfaGVhZCcgZmFpbGVkLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPHZhbGlkLWJyYW5jaD4nLiIKQEAgLTExODU2LDI3ICsxMzIyMiwyOCBAQAogIickc3RhcnRfaGVhZCcg67Cb7JWE7Jik6riw6rCAIOyLpO2MqO2WiOyKteuLiOuLpC4gJ2dpdCBiaXNlY3QgcmVzZXQgPHZhbGlkLWJyYW5jaD4n66W8ICIKICLtlbQg67O07Iut7Iuc7JikLiIKIAotIzogZ2l0LWJpc2VjdC5zaDoxNzgKKyM6IGdpdC1iaXNlY3Quc2g6MTc3CiBtc2dpZCAid29uJ3QgYmlzZWN0IG9uIGNnLXNlZWsnZWQgdHJlZSIKIG1zZ3N0ciAiY2ctc2Vla+2VnCDtirjrpqzsl5DshJwgYmlzZWN066W8IO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtYmlzZWN0LnNoOjE4MgorIzogZ2l0LWJpc2VjdC5zaDoxODEKIG1zZ2lkICJCYWQgSEVBRCAtIHN0cmFuZ2Ugc3ltYm9saWMgcmVmIgogbXNnc3RyICLsnpjrqrvrkJwgSEVBRCAtIOyLrOuzvOumrSDroIjtjbzrn7DsiqTqsIAg7J6Y66q765CY7JeI7Iq164uI64ukIgogCi0jOiBnaXQtYmlzZWN0LnNoOjIzNAorIzogZ2l0LWJpc2VjdC5zaDoyMzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICRzdGF0ZSIKIG1zZ3N0ciAi7J6Y66q765CcIGJpc2VjdF93cml0ZSDsnbjsnpA6ICRzdGF0ZSIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNjMKKyM6IGdpdC1iaXNlY3Quc2g6MjYyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkYXJnIgogbXNnc3RyICLsnpjrqrvrkJwg66as67mE7KCEIOyeheugpTogJGFyZyIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNzgKLW1zZ2lkICJQbGVhc2UgY2FsbCAnYmlzZWN0X3N0YXRlJyB3aXRoIGF0IGxlYXN0IG9uZSBhcmd1bWVudC4iCi1tc2dzdHIgIidiaXNlY3Rfc3RhdGUnIO2YuOy2nOydgCDstZzshoztlZwg7ZWY64KY7J2YIOyduOyekOulvCDsjajslbwg7ZWp64uI64ukLiIKKyM6IGdpdC1iaXNlY3Quc2g6MjgxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJCYWQgcmV2IGlucHV0OiAkYmlzZWN0ZWRfaGVhZCIKK21zZ3N0ciAi7J6Y66q765CcIOumrOu5hOyghCDsnoXroKU6ICRiaXNlY3RlZF9oZWFkIgogCiAjOiBnaXQtYmlzZWN0LnNoOjI5MAogIywgc2gtZm9ybWF0CkBAIC0xMjAxOSw3ICsxMzM4Niw0NSBAQAogIidnaXQgYmlzZWN0IHRlcm1zJ+yXkCDrjIDtlbQg7J6Y66q765CcIOyduOyekCAnJGFyZycuXG4iCiAi7KeA7JuQ7ZWY64qUIOyYteyFmOydgDogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCDrsI8gLS10ZXJtLWJhZHwtLXRlcm0tbmV3LiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NDYKK21zZ2lkICIiCisiRXJyb3I6IFlvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKKyJtZXJnZSIKK21zZ3N0ciAi7Jik66WYOiDri6TsnYwg7YyM7J287J2YIOuhnOy7rCDrs4Dqsr0g7IKs7ZWt7J2EIOuzke2VqSDrlYzrrLjsl5Ag642u7Ja0IOyTsOqyjCDrkKnri4jri6QuIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo2MQorbXNnaWQgIkF1dG9tYXRlZCBtZXJnZSBkaWQgbm90IHdvcmsuIgorbXNnc3RyICLsnpDrj5kg67OR7ZWp7J20IOuPmeyeke2VmOyngCDslYrslZjsirXri4jri6QuIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo2MgorbXNnaWQgIlNob3VsZCBub3QgYmUgZG9pbmcgYW4gb2N0b3B1cy4iCittc2dzdHIgIuyYpe2GoO2NvOyKpCDsoITrnrUg67OR7ZWp7J2EIO2VoCDsiJgg7JeG7Iq164uI64ukLiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NzMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBmaW5kIGNvbW1vbiBjb21taXQgd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgIiRwcmV0dHlfbmFtZSjsnLwp66GcIOqzte2GtSDsu6TrsIvsnYQg7LC+7J2EIOyImCDsl4bsirXri4jri6QiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjc3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUgd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgIuydtOuvuCAkcHJldHR5X25hbWXsl5Ag7JeF642w7J207Yq4IOyDge2DnOyeheuLiOuLpCIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6ODkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhc3QtZm9yd2FyZGluZyB0bzogJHByZXR0eV9uYW1lIgorbXNnc3RyICLri6TsnYzsnLzroZwg7KCV67Cp7ZalIOynhO2WiTogJHByZXR0eV9uYW1lIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo5NworIywgc2gtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHNpbXBsZSBtZXJnZSB3aXRoICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAiJHByZXR0eV9uYW1l7JeQIOqwhOuLqO2VnCDrs5Htlakg7Iuc64+E7ZWp64uI64ukIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDoxMDIKK21zZ2lkICJTaW1wbGUgbWVyZ2UgZGlkIG5vdCB3b3JrLCB0cnlpbmcgYXV0b21hdGljIG1lcmdlLiIKK21zZ3N0ciAi6rCE64uo7ZWcIOuzke2VqeydtCDrj5nsnpHtlZjsp4Ag7JWK7Iq164uI64ukLiDsnpDrj5kg67OR7ZWp7J2EIOyLnOuPhO2VqeuLiOuLpC4iCisKKyM6IGdpdC1yZWJhc2Uuc2g6NTYKIG1zZ2lkICIiCiAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiLlxuIgogIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCJnaXQgcmViYXNlIC0tc2tpcFwiIGluc3RlYWQuXG4iCkBAIC0xMjAzMSwxNiArMTM0MzYsMjEgQEAKICLsm5Drnpgg67iM656c7LmY66W8IOyytO2BrOyVhOybg+2VmOqzoCDrpqzrsqDsnbTsiqTrpbwg7KSR7KeA7ZWY66Ck66m0LCBcImdpdCByZWJhc2UgLS1hYm9ydFwi66W8IOyLpCIKICLtlontlZjsi63si5zsmKQuIgogCi0jOiBnaXQtcmViYXNlLnNoOjE2OAorIzogZ2l0LXJlYmFzZS5zaDoxNTYgZ2l0LXJlYmFzZS5zaDozOTUKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKK21zZ3N0ciAiJyRoZWFkX25hbWUnIOychOy5mOuhnCDrj4zslYTqsIgg7IiYIOyXhuyKteuLiOuLpCIKKworIzogZ2l0LXJlYmFzZS5zaDoxNjcKIG1zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCiBtc2dzdHIgIuyekOuPmeyKpO2DnOyLnCDsoIHsmqkuIgogCi0jOiBnaXQtcmViYXNlLnNoOjE3MQorIzogZ2l0LXJlYmFzZS5zaDoxNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKIG1zZ3N0ciAiXCIkc3Rhc2hfc2hhMVwi7J2EKOulvCkg7KCA7J6l7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTcyCisjOiBnaXQtcmViYXNlLnNoOjE3MQogbXNnaWQgIiIKICJBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLlxuIgogIllvdXIgY2hhbmdlcyBhcmUgc2FmZSBpbiB0aGUgc3Rhc2guXG4iCkBAIC0xMjA1MCwyNyArMTM0NjAsMjcgQEAKICLrs4Dqsr0g7IKs7ZWt7J2AIOyKpO2DnOyLnCDslYjsl5Ag7JWI7KCE7ZWY6rKMIOuTpOyWtCDsnojsirXri4jri6QuXG4iCiAi7Ja47KCc65Og7KeAIFwiZ2l0IHN0YXNoIHBvcFwiIOuYkOuKlCBcImdpdCBzdGFzaCBkcm9wXCLsnYQg7Iuk7ZaJ7ZWgIOyImCDsnojsirXri4jri6QuXG4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MjExCisjOiBnaXQtcmViYXNlLnNoOjIxMAogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICLrpqzrsqDsnbTsiqQg7KCEIO2bhO2BrOyXkOyEnCDrpqzrsqDsnbTsiqTrpbwg6rGw67aA7ZaI7Iq164uI64ukLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoyMTYKKyM6IGdpdC1yZWJhc2Uuc2g6MjE1CiBtc2dpZCAiSXQgbG9va3MgbGlrZSBnaXQtYW0gaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIgogbXNnc3RyICJnaXQtYW3snbQg7KeE7ZaJIOykkeyduCDqsoPsspjrn7wg67O07J6F64uI64ukLiDrpqzrsqDsnbTsiqTtlaAg7IiYIOyXhuyKteuLiOuLpC4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzU3CisjOiBnaXQtcmViYXNlLnNoOjM1NgogbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCiBtc2dzdHIgIuumrOuyoOydtOyKpOqwgCDsp4Ttlokg7KSR7J207KeAIOyViuyKteuLiOuLpCIKIAotIzogZ2l0LXJlYmFzZS5zaDozNjgKKyM6IGdpdC1yZWJhc2Uuc2g6MzY3CiBtc2dpZCAiVGhlIC0tZWRpdC10b2RvIGFjdGlvbiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnRlcmFjdGl2ZSByZWJhc2UuIgogbXNnc3RyICItLWVkaXQtdG9kbyDrj5nsnpHsnYAg64yA7ZmU7ZiVIOumrOuyoOydtOyKpOyXkOyEnOunjCDsgqzsmqntlaAg7IiYIOyeiOyKteuLiOuLpC4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzc1CisjOiBnaXQtcmViYXNlLnNoOjM3NAogbXNnaWQgIkNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIkhFQUTrpbwg7J297J2EIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzc4CisjOiBnaXQtcmViYXNlLnNoOjM3NwogbXNnaWQgIiIKICJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKICJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKQEAgLTEyMDc4LDEyICsxMzQ4OCw3IEBACiAi66qo65OgIOuzke2VqSDstqnrj4zsnYQg7Y647KeR7ZWY6rOgIGdpdCBhZGRcbiIKICLrqoXroLnsnLzroZwg7ZW06rKw65CY7JeI64uk6rOgIO2RnOyLnO2VtOyVvCDtlanri4jri6QiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzk2Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCi1tc2dzdHIgIickaGVhZF9uYW1lJyDsnITsuZjroZwg64+M7JWE6rCIIOyImCDsl4bsirXri4jri6QiCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NDE1CisjOiBnaXQtcmViYXNlLnNoOjQxNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICRzdGF0ZV9kaXJfYmFzZSBkaXJlY3RvcnksIGFuZFxuIgpAQCAtMTIxMDQsOTcgKzEzNTA5LDEwMSBAQAogIuydtCDrqoXroLnsnYQg64uk7IucIOyLpO2Wie2VmOyLreyLnOyYpC4g7KSR7JqU7ZWcIOyCrO2VreydtCDrgqjslYQg7J6I7J2EIOqyveyasOulvFxuIgogIuuMgOu5hO2VtCDsl6zquLDshJwg66mI7Lal64uI64ukLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NjYKKyM6IGdpdC1yZWJhc2Uuc2g6NDY1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICR1cHN0cmVhbV9uYW1lIgogbXNnc3RyICLsnpjrqrvrkJwg7JeF7Iqk7Yq466a8ICR1cHN0cmVhbV9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5MAorIzogZ2l0LXJlYmFzZS5zaDo0ODkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgogbXNnc3RyICIkb250b19uYW1lOiDsl6zrn6wg6rCc7J2YIOuzke2VqSDrsqDsnbTsiqTqsIAg7J6I7Iq164uI64ukIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5MyBnaXQtcmViYXNlLnNoOjQ5NworIzogZ2l0LXJlYmFzZS5zaDo0OTIgZ2l0LXJlYmFzZS5zaDo0OTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGlzIG5vIG1lcmdlIGJhc2UiCiBtc2dzdHIgIiRvbnRvX25hbWU6IOuzke2VqSDrsqDsnbTsiqTqsIAg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtcmViYXNlLnNoOjUwMgorIzogZ2l0LXJlYmFzZS5zaDo1MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0OiAkb250b19uYW1lIgogbXNnc3RyICLsmKzrsJTrpbgg7Luk67CL7J2EIOqwgOumrO2CpOyngCDslYrsirXri4jri6Q6ICRvbnRvX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTI1CisjOiBnaXQtcmViYXNlLnNoOjUyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoOiAkYnJhbmNoX25hbWUiCiBtc2dzdHIgIuy5mOuqheyggSDsnbTsg4E6IOq3uOufsCDruIzrnpzsuZjqsIAg7JeG7Iq164uI64ukOiAkYnJhbmNoX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTU4CisjOiBnaXQtcmViYXNlLnNoOjU1NwogbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCiBtc2dzdHIgIuyekOuPmSDsiqTtg5zsi5zrpbwg7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTYzCisjOiBnaXQtcmViYXNlLnNoOjU2MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiBtc2dzdHIgIuyekOuPmSDsiqTtg5zsi5zrpbwg66eM65Ok7JeI7Iq164uI64ukOiAkc3Rhc2hfYWJicmV2IgogCi0jOiBnaXQtcmViYXNlLnNoOjU2NworIzogZ2l0LXJlYmFzZS5zaDo1NjYKIG1zZ2lkICJQbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgogbXNnc3RyICLsu6TrsIvtlZjqsbDrgpgg7Iqk7YOc7Iuc7JeQIOuEo+ycvOyLreyLnOyYpC4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTg3CisjOiBnaXQtcmViYXNlLnNoOjU4NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUuIgogbXNnc3RyICLtmITsnqwg67iM656c7LmY6rCAICgkYnJhbmNoX25hbWUpIOy1nOyLoCDsg4Htg5zsnoXri4jri6QuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU5MQorIzogZ2l0LXJlYmFzZS5zaDo1OTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAi7ZiE7J6sIOu4jOuenOy5mOqwgCAoJGJyYW5jaF9uYW1lKSDstZzsi6Ag7IOB7YOc7J6F64uI64ukLiDqsJXsoJwg66as67Kg7J207Iqk7ZWp64uI64ukLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MDIKKyM6IGdpdC1yZWJhc2Uuc2g6NjAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIGZyb20gJG1iIHRvICRvbnRvOiIKIG1zZ3N0ciAi67OA6rK9IOyCrO2VrSAnJG1iJ+yXkOyEnCAnJG9udG8nKOycvCnroZw6IgogCi0jOiBnaXQtcmViYXNlLnNoOjYxMQorIzogZ2l0LXJlYmFzZS5zaDo2MTAKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIuyekeyXhSDsgqztla3snYQg64uk7IucIOuEo+q4sCDsnITtlbQg66i87KCAIO2XpOuTnOulvCDrkqTroZwg64+M66a964uI64ukLi4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjYyMQorIzogZ2l0LXJlYmFzZS5zaDo2MjAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAiJGJyYW5jaF9uYW1lIOu4jOuenOy5mOulvCAkb250b19uYW1lIOychOy5mOuhnCDsoJXrsKntlqUg7KeE7ZaJ7ZWp64uI64ukLiIKIAotIzogZ2l0LXN0YXNoLnNoOjUxCisjOiBnaXQtc3Rhc2guc2g6NTAKIG1zZ2lkICJnaXQgc3Rhc2ggY2xlYXIgd2l0aCBwYXJhbWV0ZXJzIGlzIHVuaW1wbGVtZW50ZWQiCiBtc2dzdHIgImdpdCBzdGFzaCBjbGVhciDrqoXroLnsnYQg7YyM652866+47YSw7JmAIOqwmeydtCDsk7DquLDripQg6rWs7ZiE65CY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjc0CisjOiBnaXQtc3Rhc2guc2g6NzMKIG1zZ2lkICJZb3UgZG8gbm90IGhhdmUgdGhlIGluaXRpYWwgY29tbWl0IHlldCIKIG1zZ3N0ciAi7JWE7KeBIOy1nOy0iCDsu6TrsIvsnbQg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc3Rhc2guc2g6ODkKKyM6IGdpdC1zdGFzaC5zaDo4OAogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IGluZGV4IHN0YXRlIgogbXNnc3RyICLtmITsnqwg7J24642x7IqkIOyDge2DnOulvCDsoIDsnqXtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjEyNCBnaXQtc3Rhc2guc2g6MTM3CisjOiBnaXQtc3Rhc2guc2g6MTAzCittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAi7LaU7KCB7ZWY7KeAIOyViuuKlCDtjIzsnbzsnYQg7KCA7J6l7ZWgIOyImCDsl4bsirXri4jri6QiCisKKyM6IGdpdC1zdGFzaC5zaDoxMjMgZ2l0LXN0YXNoLnNoOjEzNgogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgogbXNnc3RyICLtmITsnqwg7J6R7JeFIO2PtOuNlCDsg4Htg5zrpbwg7KCA7J6l7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdGFzaC5zaDoxNDEKKyM6IGdpdC1zdGFzaC5zaDoxNDAKIG1zZ2lkICJObyBjaGFuZ2VzIHNlbGVjdGVkIgogbXNnc3RyICLrs4Dqsr0g7IKs7ZWt7J2EIOyEoO2Dne2VmOyngCDslYrslZjsirXri4jri6QiCiAKLSM6IGdpdC1zdGFzaC5zaDoxNDQKKyM6IGdpdC1zdGFzaC5zaDoxNDMKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBpbmRleCAoY2FuJ3QgaGFwcGVuKSIKIG1zZ3N0ciAi7J6E7IucIOyduOuNseyKpOulvCDsoJzqsbDtlaAg7IiYIOyXhuyKteuLiOuLpCAo7J287Ja064KgIOyImCDsl4bripQg7IOB7ZmpKSIKIAotIzogZ2l0LXN0YXNoLnNoOjE1NworIzogZ2l0LXN0YXNoLnNoOjE1NgogbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgogbXNnc3RyICLsnpHsl4Ug7Y+0642UIOyDge2DnOulvCDquLDroZ3tlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjE4OQorIzogZ2l0LXN0YXNoLnNoOjE4OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSAkcmVmX3N0YXNoIHdpdGggJHdfY29tbWl0IgogbXNnc3RyICIkcmVmX3N0YXNo7J2EKOulvCkgJHdfY29tbWl0KOycvCnroZwg7JeF642w7J207Yq47ZWgIOyImCDsl4bsirXri4jri6QiCkBAIC0xMjIwOSw3ICsxMzYxOCw3IEBACiAjLiAkIGdpdCBzdGFzaCBzYXZlIC0tYmxhaC1ibGFoIDI+JjEgfCBoZWFkIC1uIDIKICMuIGVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAtLWJsYWgtYmxhaAogIy4gVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnLS1ibGFoLWJsYWgnCi0jOiBnaXQtc3Rhc2guc2g6MjM5CisjOiBnaXQtc3Rhc2guc2g6MjM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKQEAgLTEyMjE4LDEwOCArMTM2MjcsMTI2IEBACiAi7Jik66WYOiAnc3Rhc2ggc2F2ZSfsl5Ag64yA7ZW0IOyVjCDsiJgg7JeG64qUIOyYteyFmDogJG9wdGlvblxuIgogIiAgICAgICDrqZTsi5zsp4Drpbwg64SY6riw66Ck66m0LCDri6TsnYzqs7wg6rCZ7J20IOyTsOyLreyLnOyYpDogZ2l0IHN0YXNoIHNhdmUgLS0gJyRvcHRpb24nIgogCi0jOiBnaXQtc3Rhc2guc2g6MjYwCisjOiBnaXQtc3Rhc2guc2g6MjUxCittc2dpZCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKK21zZ3N0ciAiIgorIi0tcGF0Y2gg7Ji17IWY6rO8IC0taW5jbHVkZS11bnRyYWNrZWQg65iQ64qUIC0tYWxsIOyYteyFmOydhCDrj5nsi5zsl5Ag7JO4IOyImCDsl4bsirXri4jri6QiCisKKyM6IGdpdC1zdGFzaC5zaDoyNTkKIG1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCiBtc2dzdHIgIuyggOyepe2VoCDroZzsu6wg67OA6rK9IOyCrO2VreydtCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjQKKyM6IGdpdC1zdGFzaC5zaDoyNjMKIG1zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKIG1zZ3N0ciAi7Iqk7YOc7Iuc66W8IOy0iOq4sO2ZlO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc3Rhc2guc2g6MjY4CisjOiBnaXQtc3Rhc2guc2g6MjY3CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgogbXNnc3RyICLtmITsnqwg7IOB7YOc66W8IOyggOyepe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjg2CisjOiBnaXQtc3Rhc2guc2g6MjY4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJHN0YXNoX21zZyIKK21zZ3N0ciAi7J6R7JeFIO2PtOuNlOyZgCAkc3Rhc2hfbXNnIOyduOuNseyKpCDsg4Htg5zrpbwg7KCA7J6l7ZaI7Iq164uI64ukIgorCisjOiBnaXQtc3Rhc2guc2g6Mjg1CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICLsnpHsl4Xtj7TrjZQg67OA6rK9IOyCrO2VreydhCDsoJzqsbDtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjQwNQorIzogZ2l0LXN0YXNoLnNoOjQwMwogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgIuyVjCDsiJgg7JeG64qUIOyYteyFmDogJG9wdCIKIAotIzogZ2l0LXN0YXNoLnNoOjQxNQorIzogZ2l0LXN0YXNoLnNoOjQxNgogbXNnaWQgIk5vIHN0YXNoIGZvdW5kLiIKIG1zZ3N0ciAi7Iqk7YOc7Iuc6rCAIOyXhuyKteuLiOuLpC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjIKKyM6IGdpdC1zdGFzaC5zaDo0MjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgIuuEiOustCDrp47snYAg66as67mE7KCE7J2EIOyngOygle2WiOyKteuLiOuLpDogJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjQyOAorIzogZ2l0LXN0YXNoLnNoOjQzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiCiBtc2dzdHIgIiRyZWZlcmVuY2XsnYAo64qUKSDsmKzrsJTrpbgg66CI7Y2865+w7Iqk6rCAIOyVhOuLmeuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ1NgorIzogZ2l0LXN0YXNoLnNoOjQ2NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKIG1zZ3N0ciAiJyRhcmdzJ+ydgCjripQpIOyKpO2DnOyLnCDsu6TrsIvsnbQg7JWE64uZ64uI64ukIgogCi0jOiBnaXQtc3Rhc2guc2g6NDY3CisjOiBnaXQtc3Rhc2guc2g6NDc3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJyRhcmdzJ+ydgCjripQpIOyKpO2DnOyLnCDroIjtjbzrn7DsiqTqsIAg7JWE64uZ64uI64ukIgogCi0jOiBnaXQtc3Rhc2guc2g6NDc1CisjOiBnaXQtc3Rhc2guc2g6NDg1CiBtc2dpZCAidW5hYmxlIHRvIHJlZnJlc2ggaW5kZXgiCiBtc2dzdHIgIuyduOuNseyKpOulvCDsg4jroZwg6rOg7LmgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NzkKKyM6IGdpdC1zdGFzaC5zaDo0ODkKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCiBtc2dzdHIgIuuzke2VqSDrj4TspJHsl5Ag7Iqk7YOc7Iuc66W8IOyggeyaqe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc3Rhc2guc2g6NDg3CisjOiBnaXQtc3Rhc2guc2g6NDk3CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAi7J24642x7Iqk7JeQIOy2qeuPjC4gLS1pbmRleCDsl4bsnbQg7Iuc64+E7ZW0IOuztOyLreyLnOyYpC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODkKKyM6IGdpdC1zdGFzaC5zaDo0OTkKIG1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgogbXNnc3RyICLsnbjrjbHsiqQg7Yq466as66W8IOyggOyepe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc3Rhc2guc2g6NTIzCisjOiBnaXQtc3Rhc2guc2g6NTA4Cittc2dpZCAiQ291bGQgbm90IHJlc3RvcmUgdW50cmFja2VkIGZpbGVzIGZyb20gc3Rhc2giCittc2dzdHIgIuyKpO2DnOyLnOyXkOyEnCDstpTsoIHtlZjsp4Ag7JWK64qUIO2MjOydvOydhCDrs7XqtaztlaAg7IiYIOyXhuyKteuLiOuLpCIKKworIzogZ2l0LXN0YXNoLnNoOjUzMwogbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgogbXNnc3RyICLsiJjsoJXtlZwg7YyM7J287J2EIOyKpO2FjOydtOyngOyXkOyEnCDruoQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjUzOAorIzogZ2l0LXN0YXNoLnNoOjU0OAogbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKIG1zZ3N0ciAi7J24642x7Iqk6rCAIOyKpO2DnOyLnOyXkOyEnCDruaDsoYzsirXri4jri6QuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTYxCisjOiBnaXQtc3Rhc2guc2g6NTYyCittc2dpZCAiVGhlIHN0YXNoIGlzIGtlcHQgaW4gY2FzZSB5b3UgbmVlZCBpdCBhZ2Fpbi4iCittc2dzdHIgIuuLpOyLnCDtlYTsmpTtlaAg65WM66W8IOuMgOu5hO2VtCDsiqTtg5zsi5zrpbwg67O06rSA7ZWp64uI64ukLiIKKworIzogZ2l0LXN0YXNoLnNoOjU3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAiJHtSRVZ9IOyngOybgCAoJHMpIgogCi0jOiBnaXQtc3Rhc2guc2g6NTYyCisjOiBnaXQtc3Rhc2guc2g6NTcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIke1JFVn06IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgogbXNnc3RyICIke1JFVn06IOyKpO2DnOyLnCDtla3rqqnsnYQg7KeA7Jq4IOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzAKKyM6IGdpdC1zdGFzaC5zaDo1ODAKIG1zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCiBtc2dzdHIgIuu4jOuenOy5mCDsnbTrpoTsnYQg7KeA7KCV7ZWY7KeAIOyViuyVmOyKteuLiOuLpCIKIAotIzogZ2l0LXN0YXNoLnNoOjY0MgorIzogZ2l0LXN0YXNoLnNoOjY1MgogbXNnaWQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIG1zZ3N0ciAiKOuzteq1rO2VmOugpOuptCBcImdpdCBzdGFzaCBhcHBseVwi66W8IOyLpO2Wie2VmOyLreyLnOyYpCkiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjE5CisjOiBnaXQtc3VibW9kdWxlLnNoOjE4NAogbXNnaWQgIlJlbGF0aXZlIHBhdGggY2FuIG9ubHkgYmUgdXNlZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICLsg4HrjIAg6rK966Gc64qUIOyekeyXhSDtj7TrjZTsnZgg7LWc7IOB7JyE7JeQ7ISc66eMIOyTuCDsiJgg7J6I7Iq164uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIyOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxOTQKICMsIHNoLWZvcm1hdAogbXNnaWQgInJlcG8gVVJMOiAnJHJlcG8nIG11c3QgYmUgYWJzb2x1dGUgb3IgYmVnaW4gd2l0aCAuL3wuLi8iCiBtc2dzdHIgIuyggOyepeyGjCBVUkw6ICckcmVwbycg6rCS7J2AIOygiOuMgCDqsr3roZzqsbDrgpggLi8g65iQ64qUIC4uL+uhnCDsi5zsnpHtlbTslbwg7ZWp64uI64ukLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjExCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAiJyRzbV9wYXRoJ+ydgCjripQpIOydtOuvuCDsnbjrjbHsiqTsl5Ag7J6I7Iq164uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI1MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHBhdGggaXMgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgpAQCAtMTIzMzAsOTMgKzEzNzU3LDg2IEBACiAiJHNtX3BhdGhcbiIKICLsoJXrp5DroZwg7LaU6rCA7ZWY66Ck66m0IC1mIOyYteyFmOydhCDsgqzsmqntlZjsi63si5zsmKQuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI2OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICInJHNtX3BhdGgn7J2YIOq4sOyhtCDsoIDsnqXshozrpbwg7J24642x7Iqk7JeQIOy2lOqwgO2VqeuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYSB2YWxpZCBnaXQgcmVwbyIKIG1zZ3N0ciAiJyRzbV9wYXRoJ+ydtCjqsIApIOydtOuvuCDsnojqs6Ag7Jis67CU66W4IGdpdCDsoIDsnqXshozqsIAg7JWE64uZ64uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKIG1zZ3N0ciAiJyRzbV9uYW1lJ+yXkCDrjIDtlZwg6rmDIOuUlOugie2EsOumrOqwgCDroZzsu6zsl5DshJwg66as66qo7Yq46rCAIOyeiOuKlCDssYTroZwg7J6I7Iq164uI64ukOiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCi0iSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tIgotbXNnc3RyICLri6Tsi5wg67O17KCc7ZWY7KeAIOyViuqzoCDsnbQg66Gc7LusIOq5gyDrlJTroInthLDrpqzrpbwg7J6s7Zmc7Jqp7ZWY66Ck66m0IgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotInVzZSB0aGUgJy0tZm9yY2UnIG9wdGlvbi4gSWYgdGhlIGxvY2FsIGdpdCBkaXJlY3RvcnkgaXMgbm90IHRoZSBjb3JyZWN0IHJlcG8iCi1tc2dzdHIgIiIKLSInLS1mb3JjZScg7Ji17IWY7J2EIOyCrOyaqe2VmOyLreyLnOyYpC4g66Gc7LusIOq5gyDrlJTroInthLDrpqzqsIAg7Jis67CU66W4IOyggOyepeyGjOqwgCDslYTri4jqsbDrgpgiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjgzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCisiSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tXG4iCisiICAkcmVhbHJlcG9cbiIKKyJ1c2UgdGhlICctLWZvcmNlJyBvcHRpb24uIElmIHRoZSBsb2NhbCBnaXQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgY29ycmVjdCAiCisicmVwb1xuIgogIm9yIHlvdSBhcmUgdW5zdXJlIHdoYXQgdGhpcyBtZWFucyBjaG9vc2UgYW5vdGhlciBuYW1lIHdpdGggdGhlICctLW5hbWUnICIKICJvcHRpb24uIgotbXNnc3RyICLrrLTsiqgg7J2Y66+47J247KeAIOyemCDrqqjrpbTqsqDri6TrqbQgJy0tbmFtZScg7Ji17IWY7Jy866GcIOuLpOuluCDsnbTrpoTsnYQg7JOw7Iut7Iuc7JikLiIKK21zZ3N0ciAiIgorIuydtCDroZzsu6wg6rmDIOuUlOugie2EsOumrOulvCDri6TsnYwg7KCA7J6l7IaM7JeQ7IScIOuLpOyLnCDrs7XsoJztlZjripQg64yA7IugIOuLpOyLnCDsgqzsmqntlZjroKTrqbQsXG4iCisiICAkcmVhbHJlcG9cbiIKKyInLS1mb3JjZScg7Ji17IWY7J2EIOyCrOyaqe2VmOyLreyLnOyYpC4g66Gc7LusIOq5gyDrlJTroInthLDrpqzqsIAg7Jis67CU66W4IOyggOyepeyGjOqwgCDslYTri4jqsbDrgphcbiIKKyLrrLTsiqgg7J2Y66+47J247KeAIOyemCDrqqjrpbTqsqDsnLzrqbQgJy0tbmFtZScg7Ji17IWY7Jy866GcIOuLpOuluCDsnbTrpoTsnYQg7ISg7YOd7ZWY7Iut7Iuc7JikLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjUxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWFjdGl2YXRpbmcgbG9jYWwgZ2l0IGRpcmVjdG9yeSBmb3Igc3VibW9kdWxlICckc21fbmFtZScuIgogbXNnc3RyICLroZzsu6wg6rmDIOuUlOugie2EsOumrOulvCAnJHNtX25hbWUnIO2VmOychOuqqOuTiOuhnCDri6Tsi5wg7Zmc7ISx7ZmU7ZWp64uI64ukLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyOTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjYzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIickc21fcGF0aCcg7ZWY7JyEIOuqqOuTiOydhCDssrTtgazslYTsm4PtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjY4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gYWRkIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICInJHNtX3BhdGgnIO2VmOychCDrqqjrk4jsnYQg7LaU6rCA7ZWY64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozMTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Mjc3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIickc21fcGF0aCcg7ZWY7JyEIOuqqOuTiOydhCDrk7HroZ3tlZjripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM1NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDozMjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkVudGVyaW5nICckZGlzcGxheXBhdGgnIgogbXNnc3RyICInJGRpc3BsYXlwYXRoJyDrk6TslrTqsJAiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mzc1CisjOiBnaXQtc3VibW9kdWxlLnNoOjM0NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3RvcHBpbmcgYXQgJyRkaXNwbGF5cGF0aCc7IHNjcmlwdCByZXR1cm5lZCBub24temVybyBzdGF0dXMuIgogbXNnc3RyICInJGRpc3BsYXlwYXRoJ+yXkOyEnCDrqYjstqQuIOyKpO2BrOumve2KuOqwgCAw7J20IOyVhOuLjCDsg4Htg5zrpbwg66as7YS07ZWoLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NDgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDE1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyBhbmQgLS1hbGwgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAi6rK966Gc66qF7IS4IOuwjyAtLWFsbCDsmLXshZjsnYAg7Zi47ZmY65CY7KeAIOyViuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDIwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICLsoJXrp5DroZwg66qo65OgIO2VmOychCDrqqjrk4gg7LSI6riw7ZmU66W8IO2VtOygnO2VmOugpOuptCAnLS1hbGwn7J2EIOyCrOyaqe2VmOyLreyLnOyYpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSIKLW1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCDsnpHsl4Ug7Y+0642U7JeQICgnJGRpc3BsYXlwYXRoJykgLmdpdCDrlJTroInthLDrpqzqsIAg65Ok7Ja0IOyeiOyKteuLiOuLpCIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDQwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCisiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5XG4iCiAiKHVzZSAncm0gLXJmJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzIGhpc3RvcnkpIgotbXNnc3RyICIo7KCV66eQ66GcIOq3uCDsu6TrsIsg64K07Jet6rmM7KeAIO2PrO2VqO2VtCDsoJzqsbDtlZjroKTrqbQgJ3JtIC1yZifrpbwg7IKs7Jqp7ZWY7Iut7Iuc7JikKSIKK21zZ3N0ciAiIgorIu2VmOychCDrqqjrk4gg7J6R7JeFIO2PtOuNlCAnJGRpc3BsYXlwYXRoJ+yXkCAuZ2l0IOuUlOugie2EsOumrOqwgCDrk6TslrQg7J6I7Iq164uI64ukXG4iCisiKOygleunkOuhnCDqt7gg7Luk67CLIOuCtOyXreq5jOyngCDtj6ztlajtlbQg7KCc6rGw7ZWY66Ck66m0ICdybSAtcmYn66W8IOyCrOyaqe2VmOyLreyLnOyYpCkiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDc3CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ0OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgbG9jYWwgbW9kaWZpY2F0aW9uczsgdXNlICctZicgdG8gIgpAQCAtMTI0MjUsMTIyICsxMzg0NSwxMzYgQEAKICLtlZjsnIQg66qo65OIIOyekeyXhSDtj7TrjZTsl5AgKCckZGlzcGxheXBhdGgnKSDroZzsu6wg7IiY7KCVIOyCrO2VreydtCDsnojsirXri4jri6QuIOuyhOumrOugpOuptCAnLSIKICJmJ+ulvCDsgqzsmqntlZjsi63si5zsmKQiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIickZGlzcGxheXBhdGgnIOuUlOugie2EsOumrOulvCDsp4Dsm4Hri4jri6QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDgxCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBzdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLtlZjsnIQg66qo65OIIOuUlOugie2EsOumrOulvCAoJyRkaXNwbGF5cGF0aCcpIOygnOqxsO2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ4NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi67mIIO2VmOychCDrqqjrk4gg65SU66CJ7YSw66as66W8ICgnJGRpc3BsYXlwYXRoJykg66eM65OkIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDkzCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICckbmFtZScgKCR1cmwpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIickbmFtZScg7ZWY7JyEIOuqqOuTiOydtCAoJHVybCkgJyRkaXNwbGF5cGF0aCcg6rK966Gc7JeQIOuMgO2VtCDrk7HroZ3rkJjsp4Ag7JWK7JWY7Iq164uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYzNQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIu2VmOychCDrqqjrk4gg6rK966Gc7JeQ7IScICgnJGRpc3BsYXlwYXRoJykg7ZiE7J6sIOumrOu5hOyghOydhCDssL7snYQg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NDQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjI3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCDqsr3roZwgJyRzbV9wYXRoJ+yXkOyEnCDqsIDsoLjsmKwg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjMyCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgorIickc21fcGF0aCciCittc2dzdHIgIiIKKyLtlZjsnIQg66qo65OIIOqyveuhnCAnJHNtX3BhdGgn7JeQ7IScIO2YhOyerCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0g66as67mE7KCE7J2EIOywvuydhCDsiJggIgorIuyXhuyKteuLiOuLpCIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCDqsr3roZwgJyRkaXNwbGF5cGF0aCfsl5DshJwg6rCA7KC47JisIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjY1NgorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIkZldGNoZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcsIGJ1dCBpdCBkaWQgbm90IGNvbnRhaW4gJHNoYTEuICIKKyJEaXJlY3QgZmV0Y2hpbmcgb2YgdGhhdCBjb21taXQgZmFpbGVkLiIKK21zZ3N0ciAiIgorIickZGlzcGxheXBhdGgnIO2VmOychCDrqqjrk4gg6rK966Gc7JeQ7IScIOqwgOyguOyZlOyngOunjCwgJHNoYTEg7Luk67CL7J20IOuTpOyWtOyeiOyngCDslYrsirXri4giCisi64ukLiDsnbQg7Luk67CL7J2EIOyngeygkSDqsIDsoLjsmKTripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukLiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLtlZjsnIQg66qo65OIIOqyveuhnCAnJGRpc3BsYXlwYXRoJ+yXkOyEnCAnJHNoYTEn7J2EKOulvCkg7LK07YGs7JWE7JuD7ZWgIOyImCDsl4bsirXri4jri6QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgxCisjOiBnaXQtc3VibW9kdWxlLnNoOjY2NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgIu2VmOychCDrqqjrk4gg6rK966GcICckZGlzcGxheXBhdGgnOiAnJHNoYTEnIOyytO2BrOyVhOybgyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjY4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gcmViYXNlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIu2VmOychCDrqqjrk4gg6rK966GcICckZGlzcGxheXBhdGgn7JeQ7IScICckc2hhMSfsnYQo66W8KSDrpqzrsqDsnbTsiqTtlaAg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjY5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCiBtc2dzdHIgIu2VmOychCDrqqjrk4gg6rK966GcICckZGlzcGxheXBhdGgnOiAnJHNoYTEnKOycvCnroZwg66as67Kg7J207IqkIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBtZXJnZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLtlZjsnIQg66qo65OIIOqyveuhnCAnJGRpc3BsYXlwYXRoJ+yXkOyEnCAnJHNoYTEnIOuzke2Vqe2VoCDsiJgg7JeG7Iq164uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzUKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCDqsr3roZwgJyRkaXNwbGF5cGF0aCc6ICckc2hhMSfsl5DshJwg67OR7ZWpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiJyRjb21tYW5kICRzaGExJyDsi6TtlonsnbQg7ZWY7JyEIOuqqOuTiCDqsr3roZwgJyRkaXNwbGF5cGF0aCfsl5DshJwg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICLtlZjsnIQg66qo65OIIOqyveuhnCAnJGRpc3BsYXlwYXRoJzogJyRjb21tYW5kICRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MjkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NzEyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLsnqzqt4DsoIHsnLzroZwg7ZWY7JyEIOuqqOuTiCDqsr3roZwgJyRkaXNwbGF5cGF0aCfsl5Ag65Ok7Ja06rCA64qU642wIOyLpO2MqO2WiOyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODIwCiBtc2dpZCAiVGhlIC0tY2FjaGVkIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSAtLWZpbGVzIG9wdGlvbiIKIG1zZ3N0ciAiLS1jYWNoZWQg7Ji17IWY7J2AIC0tZmlsZXMg7Ji17IWY6rO8IOqwmeydtCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4ODkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCiBtc2dzdHIgIuyYiOyDgey5mCDrqrvtlZwg66qo65OcICRtb2RfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjkwOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKIG1zZ3N0ciAiICDqsr3qs6A6ICckZGlzcGxheV9uYW1lJ+yXkCAnJHNoYTFfc3JjJyDsu6TrsIvsnbQg65Ok7Ja07J6I7KeAIOyViuyKteuLiOuLpCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAg6rK96rOgOiAnJGRpc3BsYXlfbmFtZSfsl5AgJyRzaGExX2RzdCcg7Luk67CL7J20IOuTpOyWtOyeiOyngCDslYrsirXri4jri6QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTE1CisjOiBnaXQtc3VibW9kdWxlLnNoOjg5OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgogbXNnc3RyICIiCiAiICDqsr3qs6A6ICckZGlzcGxheV9uYW1lJ+yXkCAnJHNoYTFfc3JjJyDrsI8gJyRzaGExX2RzdCcg7Luk67CL7J20IOuTpOyWtOyeiOyngCDslYrsirXri4jri6QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTQwCi1tc2dpZCAiYmxvYiIKLW1zZ3N0ciAi67iU66GtIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwNTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA0NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICLsnqzqt4DsoIHsnLzroZwg7ZWY7JyEIOuqqOuTiCDqsr3roZwgJyRzbV9wYXRoJ+yXkCDrk6TslrTqsIDripTrjbAg7Iuk7Yyo7ZaI7Iq164uI64ukIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTExMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi7ZWY7JyEIOuqqOuTiCBVUkzsnYQgJyRkaXNwbGF5cGF0aCfsl5Ag64yA7ZW0IOuPmeq4sO2ZlCIKQEAgLTEyNTQ5LDMgKzEzOTgzLDQ2NSBAQAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU2VlIGdpdC0ke2NtZH0oMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICLsnpDshLjtlZwg7KCV67O064qUIGdpdC0ke2NtZH0oMSkg7Y6Y7J207KeA66W8IOywuOqzoO2VmOyLreyLnOyYpC4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMQorIywgc2gtZm9ybWF0Cittc2dpZCAiUmViYXNpbmcgKCRuZXdfY291bnQvJHRvdGFsKSIKK21zZ3N0ciAi66as67Kg7J207Iqk7KSRICgkbmV3X2NvdW50LyR0b3RhbCkiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE0NworbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKKyIgcCwgcGljayA9IHVzZSBjb21taXRcbiIKKyIgciwgcmV3b3JkID0gdXNlIGNvbW1pdCwgYnV0IGVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlXG4iCisiIGUsIGVkaXQgPSB1c2UgY29tbWl0LCBidXQgc3RvcCBmb3IgYW1lbmRpbmdcbiIKKyIgcywgc3F1YXNoID0gdXNlIGNvbW1pdCwgYnV0IG1lbGQgaW50byBwcmV2aW91cyBjb21taXRcbiIKKyIgZiwgZml4dXAgPSBsaWtlIFwic3F1YXNoXCIsIGJ1dCBkaXNjYXJkIHRoaXMgY29tbWl0J3MgbG9nIG1lc3NhZ2VcbiIKKyIgeCwgZXhlYyA9IHJ1biBjb21tYW5kICh0aGUgcmVzdCBvZiB0aGUgbGluZSkgdXNpbmcgc2hlbGxcbiIKKyIgZCwgZHJvcCA9IHJlbW92ZSBjb21taXRcbiIKKyJcbiIKKyJUaGVzZSBsaW5lcyBjYW4gYmUgcmUtb3JkZXJlZDsgdGhleSBhcmUgZXhlY3V0ZWQgZnJvbSB0b3AgdG8gYm90dG9tLlxuIgorbXNnc3RyICIiCisiXG4iCisi66qF66C57Ja0OlxuIgorIiBwLCBwaWNrID0g7Luk67CLIOyCrOyaqVxuIgorIiByLCByZXdvcmQgPSDsu6TrsIsg7IKs7Jqp7ZWY7KeA66eMLCDsu6TrsIsg66mU7Iuc7KeAIO2OuOynkVxuIgorIiBlLCBlZGl0ID0g7Luk67CLIOyCrOyaqe2VmOyngOunjCwg7Luk67CLIOyImOyglShhbWVuZCnsnYQg7JyE7ZW0IOykkeuLqFxuIgorIiBzLCBzcXVhc2ggPSDsu6TrsIsg7IKs7Jqp7ZWY7KeA66eMLCDsnbTsoIQg7Luk67CL6rO8IO2Vqey5mOq4sFxuIgorIiBmLCBmaXh1cCA9IFwic3F1YXNoXCLsmYAg6rCZ7KeA66eMLCDsnbQg7Luk67CL7J2YIOuhnOq3uCDrqZTsi5zsp4Drpbwg67KE66a8XG4iCisiIHgsIGV4ZWMgPSDshbjsnYQg7IKs7Jqp7ZW0IOuqheuguSDsi6TtlokgKOuSpOyXkCDrqoXroLkg7KeA7KCVKVxuIgorIiBkLCBkcm9wID0g7Luk67CLIOygnOqxsFxuIgorIlxuIgorIuydtCDspITsnYAg7Iic7ISc66W8IOuwlOq/gCDsiJgg7J6I7Iq164uI64ukLiDsnITsl5DshJwg7JWE656YIOyInOyEnOuhnCDsi6Ttlontlanri4jri6QuXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE2MgorbXNnaWQgIiIKKyJcbiIKKyJEbyBub3QgcmVtb3ZlIGFueSBsaW5lLiBVc2UgJ2Ryb3AnIGV4cGxpY2l0bHkgdG8gcmVtb3ZlIGEgY29tbWl0LlxuIgorbXNnc3RyICIiCisiXG4iCisi7KSE7J2EIOygnOqxsO2VmOyngCDslYrsirXri4jri6QuIOy7pOuwi+ydhCDsoJzqsbDtlZjroKTrqbQg66qF7Iuc7KCB7Jy866GcICdkcm9wJ+ydhCDsgqzsmqntlZjsi63si5zsmKQuXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE2NgorbXNnaWQgIiIKKyJcbiIKKyJJZiB5b3UgcmVtb3ZlIGEgbGluZSBoZXJlIFRIQVQgQ09NTUlUIFdJTEwgQkUgTE9TVC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIuyXrOq4sCDspITsnYQg7KCc6rGw7ZWY66m0IO2VtOuLuSDsu6TrsIvsnYQg7J6D7Ja067KE66a964uI64ukIVxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyMDIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCisiXG4iCisiXHRnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJPbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzLCBydW5cbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKK21zZ3N0ciAiIgorIuyngOq4iCDri6TsnYwg66qF66C57Jy866GcIOy7pOuwi+ydhCDsiJjsoJXtlaAg7IiYIOyeiOyKteuLiOuLpDpcbiIKKyJcbiIKKyJcdGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIuuzgOqyvSDsgqztla3sl5Ag66eM7KGx7ZWY66m0LCDri6TsnYzsnYQg7Iuk7ZaJ7ZWY7Iut7Iuc7JikOlxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyMjcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiRzaGExOiBub3QgYSBjb21taXQgdGhhdCBjYW4gYmUgcGlja2VkIgorbXNnc3RyICIkc2hhMTog67m87Jik6riw6rCAIOqwgOuKpe2VnCDsu6TrsIvsnbQg7JWE64uZ64uI64ukIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyNjYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkludmFsaWQgY29tbWl0IG5hbWU6ICRzaGExIgorbXNnc3RyICLsnpjrqrvrkJwg7Luk67CLIOydtOumhDogJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjMwOAorbXNnaWQgIkNhbm5vdCB3cml0ZSBjdXJyZW50IGNvbW1pdCdzIHJlcGxhY2VtZW50IHNoYTEiCittc2dzdHIgIu2YhOyerCDsu6TrsIvsnZgg64yA7LK0IHNoYTHsnYQg7JO4IOyImCDsl4bsirXri4jri6QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM2MAorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFzdC1mb3J3YXJkIHRvICRzaGExIgorbXNnc3RyICLsoJXrsKntlqUg7KeE7ZaJLCAkc2hhMSDsnITsuZjroZwiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM2MgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGZhc3QtZm9yd2FyZCB0byAkc2hhMSIKK21zZ3N0ciAiJHNoYTEg7JyE7LmY66GcIOygleuwqe2WpSDsp4TtlontlaAg7IiYIOyXhuyKteuLiOuLpCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MzcxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbW92ZSBIRUFEIHRvICRmaXJzdF9wYXJlbnQiCittc2dzdHIgIkhFQUTrpbwgJGZpcnN0X3BhcmVudCDsnITsuZjroZwg7Jiu6ri4IOyImCDsl4bsirXri4jri6QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM3NgorIywgc2gtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gc3F1YXNoIGEgbWVyZ2U6ICRzaGExIgorbXNnc3RyICLrs5Htlakgc3F1YXNoIOqxsOu2gDogJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM5MAorIywgc2gtZm9ybWF0Cittc2dpZCAiRXJyb3IgcmVkb2luZyBtZXJnZSAkc2hhMSIKK21zZ3N0ciAiJHNoYTEg67OR7ZWp7J2EIOuLpOyLnCDtlZjripTrjbAg7Jik66WYIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozOTgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBwaWNrICRzaGExIgorbXNnc3RyICIkc2hhMeydhCDrubzsmKTquLAg7ZWgIOyImCDsl4bsirXri4jri6QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQwNworIywgc2gtZm9ybWF0Cittc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyR7bn06IgorbXNnc3RyICLsu6TrsIsg66mU7Iuc7KeAICMke25967KI7J6F64uI64ukOiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDEyCisjLCBzaC1mb3JtYXQKK21zZ2lkICJUaGUgY29tbWl0IG1lc3NhZ2UgIyR7bn0gd2lsbCBiZSBza2lwcGVkOiIKK21zZ3N0ciAiIyR7bn3rsojsp7gg7Luk67CLIOuplOyLnOyngOulvCDqsbTrhIjrnIHri4jri6Q6IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MjMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0LiIKK21zZ2lkX3BsdXJhbCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXRzLiIKK21zZ3N0clswXSAi7Luk67CLICRjb3VudOqwnOqwgCDshJ7snbgg6rKw6rO87J6F64uI64ukLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDMxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgd3JpdGUgJGZpeHVwX21zZyIKK21zZ3N0ciAiJGZpeHVwX21zZ+ulvCDsk7gg7IiYIOyXhuyKteuLiOuLpCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDM0Cittc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIDIgY29tbWl0cy4iCittc2dzdHIgIuy7pOuwiyAy6rCc6rCAIOyEnuyduCDqsrDqs7zsnoXri4jri6QuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MzUKK21zZ2lkICJUaGlzIGlzIHRoZSAxc3QgY29tbWl0IG1lc3NhZ2U6IgorbXNnc3RyICIx67KI7Ke4IOy7pOuwiyDrqZTsi5zsp4DsnoXri4jri6Q6IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NzUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTE4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1MjEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAkc2hhMS4uLiAkcmVzdCIKK21zZ3N0ciAi64uk7J2M7J2EIOyggeyaqe2VoChhcHBseSkg7IiYIOyXhuyKteuLiOuLpDogJHNoYTEuLi4gJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjU0OQorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIkNvdWxkIG5vdCBhbWVuZCBjb21taXQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHBpY2tpbmcgJHNoYTEuLi4gJHJlc3RcbiIKKyJUaGlzIGlzIG1vc3QgbGlrZWx5IGR1ZSB0byBhbiBlbXB0eSBjb21taXQgbWVzc2FnZSwgb3IgdGhlIHByZS1jb21taXQgaG9va1xuIgorImZhaWxlZC4gSWYgdGhlIHByZS1jb21taXQgaG9vayBmYWlsZWQsIHlvdSBtYXkgbmVlZCB0byByZXNvbHZlIHRoZSBpc3N1ZSAiCisiYmVmb3JlXG4iCisieW91IGFyZSBhYmxlIHRvIHJld29yZCB0aGUgY29tbWl0LiIKK21zZ3N0ciAiIgorIuyEseqzteyggeycvOuhnCAkc2hhMS4uLiAkcmVzdCDsu6TrsIvsnYQg67m87JioIOuSpOyXkCDsu6TrsIvsnYQg7IiY7KCV7ZWgIOyImCDsl4bsirXri4jri6QuXG4iCisi64yA67aA67aE7J2YIOqyveyasCDruYgg7Luk67CLIOuplOyLnOyngCDrlYzrrLjsnbTqsbDrgpgsIOuYkOuKlCDsu6TrsIsg7KCEIO2bhO2BrOqwgCDsi6TtjKjtlojquLBcbiIKKyLrlYzrrLjsnoXri4jri6QuIOy7pOuwiyDrqZTsi5zsp4Drpbwg7IiY7KCV7ZWY6riwIOyghOyXkCDsnbQg66y47KCc66W8IOuovOyggCDtlbTqsrDtlbTslbwg7ZWp64uI64ukLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTY0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdG9wcGVkIGF0ICRzaGExX2FiYnJldi4uLiAkcmVzdCIKK21zZ3N0ciAi64uk7J2M7JeQ7IScIOupiOy2peuLiOuLpDogJHNoYTFfYWJicmV2Li4uICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1NzkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAnJHNxdWFzaF9zdHlsZScgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKK21zZ3N0ciAi7J207KCEIOy7pOuwiyDsl4bsnbQgJyRzcXVhc2hfc3R5bGUnIOyImO2Wie2VoCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2MjEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGluZzogJHJlc3QiCittc2dzdHIgIuyLpO2WiSDspJE6ICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2MjkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGlvbiBmYWlsZWQ6ICRyZXN0IgorbXNnc3RyICLsi6Ttlokg7Iuk7YyoOiAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjMxCittc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIuq3uOumrOqzoCDsnbjrjbHsiqQg6re466as6rOgL+uYkOuKlCDsnpHsl4Ug7Y+0642U7JeQIOuzgOqyvSDsgqztla3snbQg7J6I7Iq164uI64ukIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2MzMKK21zZ2lkICIiCisiWW91IGNhbiBmaXggdGhlIHByb2JsZW0sIGFuZCB0aGVuIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisi66y47KCc66W8IOuwlOuhnOyeoeqzoCwg64uk7J2M7J2EIOyLpO2Wie2VmOyLreyLnOyYpFxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjLiBUUkFOU0xBVE9SUzogYWZ0ZXIgdGhlc2UgbGluZXMgaXMgYSBjb21tYW5kIHRvIGJlIGlzc3VlZCBieSB0aGUgdXNlcgorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjQ2CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiRXhlY3V0aW9uIHN1Y2NlZWRlZDogJHJlc3RcbiIKKyJidXQgbGVmdCBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgorIkNvbW1pdCBvciBzdGFzaCB5b3VyIGNoYW5nZXMsIGFuZCB0aGVuIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisi7Iuk7ZaJIOyEseqztTogJHJlc3RcbiIKKyLtlZjsp4Drp4wg67OA6rK9IOyCrO2VreydhCDsnbjrjbHsiqQg67CPL+uYkOuKlCDsnpHsl4Ug7Y+0642U7JeQIOuCqOqyqOuRoeuLiOuLpC5cbiIKKyLrs4Dqsr0g7IKs7ZWt7J2EIOy7pOuwi+2VmOqxsOuCmCDsiqTtg5zsi5zsl5Ag64Sj7Jy866Ck66m0LCDri6TsnYzsnYQg7Iuk7ZaJ7ZWY7Iut7Iuc7JikOlxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NTcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCittc2dzdHIgIuyVjCDsiJgg7JeG64qUIOuqheuguTogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY1OAorbXNnaWQgIlBsZWFzZSBmaXggdGhpcyB1c2luZyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgorbXNnc3RyICInZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycg66qF66C57Jy866GcIOuwlOuhnOyeoeycvOyLreyLnOyYpC4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY5MworIywgc2gtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgJGhlYWRfbmFtZS4iCittc2dzdHIgIuyEseqzteyggeycvOuhnCDrpqzrsqDsnbTsiqTtlojqs6AgJGhlYWRfbmFtZSDsl4XrjbDsnbTtirjtlojsirXri4jri6QuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo3NDAKK21zZ2lkICJDb3VsZCBub3Qgc2tpcCB1bm5lY2Vzc2FyeSBwaWNrIGNvbW1hbmRzIgorbXNnc3RyICLrtojtlYTsmpTtlZwg67m87Jik6riwIOuqheugueydhCDqsbTrhIjrm7gg7IiYIOyXhuyKteuLiOuLpCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6ODk4CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiV2FybmluZzogdGhlIFNIQS0xIGlzIG1pc3Npbmcgb3IgaXNuJ3QgYSBjb21taXQgaW4gdGhlIGZvbGxvd2luZyBsaW5lOlxuIgorIiAtICRsaW5lIgorbXNnc3RyICIiCisi6rK96rOgOiDri6TsnYwg7KSE7JeQ7IScIO2VtOuLuSBTSEEtMeydtCDsl4bqsbDrgpgg7Luk67CL7J20IOyVhOuLmeuLiOuLpDpcbiIKKyIgLSAkbGluZSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6OTMxCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiV2FybmluZzogdGhlIGNvbW1hbmQgaXNuJ3QgcmVjb2duaXplZCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCisiIC0gJGxpbmUiCittc2dzdHIgIiIKKyLqsr3qs6A6IOuLpOydjCDspITsl5DshJwg66qF66C57Ja06rCAIOustOyXh+yduOyngCDslYwg7IiYIOyXhuyKteuLiOuLpDpcbiIKKyIgLSAkbGluZSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6OTcwCittc2dpZCAiY291bGQgbm90IGRldGFjaCBIRUFEIgorbXNnc3RyICJIRUFE64qUIOu2hOumrO2VoCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDA4Cittc2dpZCAiIgorIldhcm5pbmc6IHNvbWUgY29tbWl0cyBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgYWNjaWRlbnRhbGx5LlxuIgorIkRyb3BwZWQgY29tbWl0cyAobmV3ZXIgdG8gb2xkZXIpOiIKK21zZ3N0ciAiIgorIuqyveqzoDog7J2867aAIOy7pOuwi+ydtCDsnZjrj4TsuZgg7JWK6rKMIOuyhOugpOyhjOydhCDsiJjrj4Qg7J6I7Iq164uI64ukLlxuIgorIuuyhOugpOynhCDsu6TrsIsgKOy1nOq3vOyXkOyEnCDqs7zqsbAg7Iic7IScKToiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMTYKK21zZ2lkICIiCisiVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCisiXG4iCisiVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mICIKKyJ3YXJuaW5ncy5cbiIKKyJUaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuIgorbXNnc3RyICIiCisi7J20IOuplOyLnOyngOulvCDrs7Tsp4Ag7JWK7Jy866Ck66m0LCBcImRyb3BcIuydhCDsgqzsmqntlbQg66qF7Iuc7KCB7Jy866GcIOy7pOuwi+ydhCDsoJzqsbDtlZjsi63si5wiCisi7JikLlxuIgorIlxuIgorIidnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyDrqoXroLnsnLzroZwg6rK96rOgIOuLqOqzhOulvCDrsJTqv4Ag7IiYIOyeiOyKteuLiCIKKyLri6QuXG4iCisi6rCA64ql7ZWcIOuPmeyekeydgDogaWdub3JlLCB3YXJuLCBlcnJvciIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTAyNworIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIlVucmVjb2duaXplZCBzZXR0aW5nICRjaGVja19sZXZlbCBmb3Igb3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiAiCisiSWdub3JpbmcuIgorbXNnc3RyICIiCisicmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2sg7Ji17IWY7JeQIOuMgO2VtCDsnbjsi53tlaAg7IiYIOyXhuuKlCAkY2hlY2tfbGV2ZWwg7ISk7KCVLiDrrLTsi5wiCisi7ZWp64uI64ukLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA0NAorbXNnaWQgIiIKKyJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLSIKKyJjb250aW51ZScuIgorbXNnc3RyICIiCisiJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIOuqheugueycvOuhnCDrsJTroZzsnqHsnYQg7IiYIOyeiOqzoCAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyDrqoUiCisi66C57J2EIOyLpO2Wie2VqeuLiOuLpC4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNDUKK21zZ2lkICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCittc2dzdHIgIuyVhOuLiOuptCAnZ2l0IHJlYmFzZSAtLWFib3J0JyDrqoXroLnsnLzroZwg66as67Kg7J207Iqk66W8IOykkeyngO2VoCDsiJjrj4Qg7J6I7Iq164uI64ukLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA2OQorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKK21zZ3N0ciAiQ0hFUlJZX1BJQ0tfSEVBROulvCDsoJzqsbDtlaAg7IiYIOyXhuyKteuLiOuLpCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA3NAorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLlxuIgorIklmIHRoZXNlIGNoYW5nZXMgYXJlIG1lYW50IHRvIGJlXG4iCisic3F1YXNoZWQgaW50byB0aGUgcHJldmlvdXMgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJJZiB0aGV5IGFyZSBtZWFudCB0byBnbyBpbnRvIGEgbmV3IGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIkluIGJvdGggY2FzZXMsIG9uY2UgeW91J3JlIGRvbmUsIGNvbnRpbnVlIHdpdGg6XG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKK21zZ3N0ciAiIgorIuyekeyXhSDtj7TrjZTsl5Ag7Iqk7YWM7J207KeV7ZWcIOuzgOqyvSDsgqztla3snbQg7J6I7Iq164uI64ukLlxuIgorIuydtCDrs4Dqsr0g7IKs7ZWt7J2EIOydtOyghCDsu6TrsIvsl5Ag7ZWp7LmY66Ck66m0LFxuIgorIuuLpOydjOydhCDsi6TtlontlZjsi63si5zsmKQ6XG4iCisiXG4iCisiICBnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyLsg4gg7Luk67CL7Jy866GcIOunjOuTnOugpOuptCDri6TsnYzsnYQg7Iuk7ZaJ7ZWY7Iut7Iuc7JikOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIuyWtOuWpCDqsr3smrDsnbTrk6AsIOuniOy5nCDri6TsnYzsl5Ag64uk7J2MIOuqheugueycvOuhnCDqs4Tsho3tlanri4jri6Q6XG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA5MQorbXNnaWQgIkVycm9yIHRyeWluZyB0byBmaW5kIHRoZSBhdXRob3IgaWRlbnRpdHkgdG8gYW1lbmQgY29tbWl0IgorbXNnc3RyICLsu6TrsIvsnYQg7IiY7KCV7ZWcIOyekeyEseyekCDsi6Dsm5DsnYQg7LC+64qU642wIOyYpOulmCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA5NgorbXNnaWQgIiIKKyJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UgY29tbWl0IHRoZW1cbiIKKyJmaXJzdCBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScgYWdhaW4uIgorbXNnc3RyICIiCisi7J6R7JeFIO2PtOuNlOyXkCDsu6TrsIvtlZjsp4Ag7JWK7J2AIOuzgOqyvSDsgqztla3snbQg7J6I7Iq164uI64ukLiDsnbQg7IKs7ZWt7J2EIOuovOyggFxuIgorIuy7pOuwi+2VmOqzoCAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyDrqoXroLnsnYQg64uk7IucIOyLpO2Wie2VmOyLreyLnOyYpC4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDEgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwNQorbXNnaWQgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICLsiqTthYzsnbTsp5XtlZwg67OA6rK9IOyCrO2VreydgCDsu6TrsIvtlaAg7IiYIOyXhuyKteuLiOuLpC4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMjkKK21zZ2lkICIiCisiXG4iCisiWW91IGFyZSBlZGl0aW5nIHRoZSB0b2RvIGZpbGUgb2YgYW4gb25nb2luZyBpbnRlcmFjdGl2ZSByZWJhc2UuXG4iCisiVG8gY29udGludWUgcmViYXNlIGFmdGVyIGVkaXRpbmcsIHJ1bjpcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyLsp4Ttlokg7KSR7J24IOuMgO2ZlO2YlSDrpqzrsqDsnbTsiqTsnZggVE9ETyDtjIzsnbzsnYQg7Y647KeR7ZWY64qUIOykkeyeheuLiOuLpC5cbiIKKyLtjrjsp5Eg65Kk7JeQIOumrOuyoOydtOyKpOulvCDqs4Tsho3tlZjroKTrqbQg64uk7J2M7J2EIOyLpO2Wie2VmOyLreyLnOyYpDpcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisiXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMzcgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5NQorbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKK21zZ3N0ciAi7Y647KeR6riw66W8IOyLpO2Wie2VoCDsiJgg7JeG7Iq164uI64ukIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTUwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKK21zZ3N0ciAiJHN3aXRjaF90b+ulvCDssrTtgazslYTsm4PtlaAg7IiYIOyXhuyKteuLiOuLpCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE1NQorbXNnaWQgIk5vIEhFQUQ/IgorbXNnc3RyICJIRUFE6rCAIOyXhuyKteuLiOuLpD8iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNTYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICRzdGF0ZV9kaXIiCittc2dzdHIgIuyehOyLnOuhnCAkc3RhdGVfZGlyIOuUlOugie2EsOumrOulvCDrp4zrk6Qg7IiYIOyXhuyKteuLiOuLpCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE1OAorbXNnaWQgIkNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgorbXNnc3RyICLrjIDtmZTtmJXsnLzroZwg7ZGc7Iuc7ZWgIOyImCDsl4bsirXri4jri6QuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY4IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzMKK21zZ2lkICJDb3VsZCBub3QgaW5pdCByZXdyaXR0ZW4gY29tbWl0cyIKK21zZ3N0ciAi64uk7IucIOyekeyEseuQnCDsu6TrsIvsnYQg7LSI6riw7ZmU7ZWgIOyImCDsl4bsirXri4jri6QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyNzMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmQpIgorbXNnaWRfcGx1cmFsICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kcykiCittc2dzdHJbMF0gIuumrOuyoOydtOyKpCAkc2hvcnRyZXZpc2lvbnMsICRzaG9ydG9udG8g7JyE66GcICjrqoXroLkgJHRvZG9jb3VudOqwnCkiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyNzgKK21zZ2lkICIiCisiXG4iCisiSG93ZXZlciwgaWYgeW91IHJlbW92ZSBldmVyeXRoaW5nLCB0aGUgcmViYXNlIHdpbGwgYmUgYWJvcnRlZC5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIu2VmOyngOunjCDrqqjrkZAg7KCc6rGw7ZWgIOqyveyasCwg66as67Kg7J207Iqk66W8IOykkeyngO2VqeuLiOuLpC5cbiIKKyJcbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI4NQorbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgorbXNnc3RyICLri6gg67mIIOy7pOuwi+ydgCDso7zshJ0g7LKY66as65CY7JeI7Iq164uI64ukLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjg5IGdpdC1zaC1zZXR1cC5zaDo5NAorIywgc2gtZm9ybWF0Cittc2dpZCAidXNhZ2U6ICRkYXNobGVzcyAkVVNBR0UiCittc2dzdHIgIuyCrOyaqeuylTogJGRhc2hsZXNzICRVU0FHRSIKKworIzogZ2l0LXNoLXNldHVwLnNoOjE5MAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoZGlyIHRvICRjZHVwLCB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiJGNkdXAg65SU66CJ7YSw66as66GcICjsnpHsl4Xtj7TrjZQg7LWc7IOB7JyEKSDsnbTrj5ntlaAg7IiYIOyXhuyKteuLiOuLpCIKKworIzogZ2l0LXNoLXNldHVwLnNoOjE5OSBnaXQtc2gtc2V0dXAuc2g6MjA2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJmYXRhbDogJHByb2dyYW1fbmFtZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGEgd29ya2luZyB0cmVlLiIKK21zZ3N0ciAi7LmY66qF7KCBOiAkcHJvZ3JhbV9uYW1l7J2AIOyekeyXhSDtj7TrjZQg7JeG7J20IOyCrOyaqe2VoCDsiJgg7JeG7Iq164uI64ukLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyMAorbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICLrpqzrsqDsnbTsiqTtlaAg7IiYIOyXhuyKteuLiOuLpDog7Iqk7YWM7J207KeV7ZWY7KeAIOyViuydgCDrs4Dqsr0g7IKs7ZWt7J20IOyeiOyKteuLiOuLpC4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjMKK21zZ2lkICJDYW5ub3QgcmV3cml0ZSBicmFuY2hlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIuu4jOuenOy5mOulvCDri6Tsi5wg7JO4IOyImCDsl4bsirXri4jri6Q6IOyKpO2FjOydtOynle2VmOyngCDslYrsnYAg67OA6rK9IOyCrO2VreydtCDsnojsirXri4jri6QuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjI2Cittc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICIiCisi66as67Kg7J207Iqk66GcIO2SgOydhCDtlaAg7IiYIOyXhuyKteuLiOuLpDog7Iqk7YWM7J207KeV7ZWY7KeAIOyViuydgCDrs4Dqsr0g7IKs7ZWt7J20IOyeiOyKteuLiOuLpC4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiJGFjdGlvbiDtlaAg7IiYIOyXhuyKteuLiOuLpDog7Iqk7YWM7J207KeV7ZWY7KeAIOyViuydgCDrs4Dqsr0g7IKs7ZWt7J20IOyeiOyKteuLiOuLpC4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDIKK21zZ2lkICJDYW5ub3QgcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICLrpqzrsqDsnbTsiqTtlaAg7IiYIOyXhuyKteuLiOuLpDog7J24642x7Iqk7JeQIOy7pOuwi+2VmOyngCDslYrsnYAg67OA6rK9IOyCrO2VreydtCDsnojsirXri4jri6QuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ1Cittc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKyLrpqzrsqDsnbTsiqTroZwg7ZKA7J2EIO2VoCDsiJgg7JeG7Iq164uI64ukOiDsnbjrjbHsiqTsl5Ag7Luk67CL7ZWY7KeAIOyViuydgCDrs4Dqsr0g7IKs7ZWt7J20IOyeiOyKteuLiOuLpC4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIkYWN0aW9uIO2VoCDsiJgg7JeG7Iq164uI64ukOiDsnbjrjbHsiqTsl5Ag7Luk67CL7ZWY7KeAIOyViuydgCDrs4Dqsr0g7IKs7ZWt7J20IOyeiOyKteuLiOuLpC4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNTIKK21zZ2lkICJBZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIuy2lOqwgOuhnCwg7J24642x7Iqk7JeQIOy7pOuwi+2VmOyngCDslYrsnYAg67OA6rK9IOyCrO2VreydtCDsnojsirXri4jri6QuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MzcyCittc2dpZCAiWW91IG5lZWQgdG8gcnVuIHRoaXMgY29tbWFuZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlLiIKK21zZ3N0ciAi7J20IOuqheugueydgCDsnpHsl4Ug7Y+0642U7J2YIOy1nOyDgeychOyXkOyEnOunjCDsk7gg7IiYIOyeiOyKteuLiOuLpC4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzcKK21zZ2lkICJVbmFibGUgdG8gZGV0ZXJtaW5lIGFic29sdXRlIHBhdGggb2YgZ2l0IGRpcmVjdG9yeSIKK21zZ3N0ciAi6rmDIOuUlOugie2EsOumrOydmCDsoIjrjIAg6rK966Gc66W8IOyVjOyVhOuCvCDsiJgg7JeG7Iq164uI64ukIgpkaWZmIC0tZ2l0IGEvcG8vcHRfUFQucG8gYi9wby9wdF9QVC5wbwppbmRleCBmMmNjOTNmLi5jOGUwOTZlIDEwMDY0NAotLS0gYS9wby9wdF9QVC5wbworKysgYi9wby9wdF9QVC5wbwpAQCAtOSw4ICs5LDggQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogR2l0XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTYtMDUtMjQgMjM6NDIrMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMDUtMzEgMTg6MTcrMDAwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE2LTExLTI1IDIyOjUwKzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE2LTExLTI1IDIyOjU4KzA4MDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IFZhc2NvIEFsbWVpZGEgPHZhc2NvbWFsbWVpZGFAc2Fwby5wdD5cbiIKICJMYW5ndWFnZS1UZWFtOiBQb3J0dWd1ZXNlXG4iCiAiTGFuZ3VhZ2U6IHB0XG4iCkBAIC0yMyw5ICsyMywzNSBAQAogIzogYWR2aWNlLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGludDogJS4qc1xuIgotbXNnc3RyICJzdWdlc3TDo286ICUuKnNcbiIKK21zZ3N0ciAiZGljYTogJS4qc1xuIgogCi0jOiBhZHZpY2UuYzo4OAorIzogYWR2aWNlLmM6ODMKK21zZ2lkICJDaGVycnktcGlja2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIiIKKyJOw6NvIMOpIHBvc3PDrXZlbCBlZmV0dWFyIGNoZXJyeS1waWNrIHBvcnF1ZSB0ZW0gZmljaGVpcm9zIG7Do28gaW50ZWdyYWRvcy4iCisKKyM6IGFkdmljZS5jOjg1Cittc2dpZCAiQ29tbWl0dGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIHN1Ym1ldGVyIHBvcnF1ZSB0ZW0gZmljaGVpcm9zIG7Do28gaW50ZWdyYWRvcy4iCisKKyM6IGFkdmljZS5jOjg3Cittc2dpZCAiTWVyZ2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGludGVncmFyIHBvcnF1ZSB0ZW0gZmljaGVpcm9zIG7Do28gaW50ZWdyYWRvcy4iCisKKyM6IGFkdmljZS5jOjg5Cittc2dpZCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIHB1eGFyIHBvcnF1ZSB0ZW0gZmljaGVpcm9zIG7Do28gaW50ZWdyYWRvcy4iCisKKyM6IGFkdmljZS5jOjkxCittc2dpZCAiUmV2ZXJ0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgcmV2ZXJ0ZSBwb3JxdWUgdGVtIGZpY2hlaXJvcyBuw6NvIGludGVncmFkb3MuIgorCisjOiBhZHZpY2UuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICJJdCBpcyBub3QgcG9zc2libGUgdG8gJXMgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGVmZXR1YXIgJXMgcG9ycXVlIHRlbSBmaWNoZWlyb3MgbsOjbyBpbnRlZ3JhZG9zLiIKKworIzogYWR2aWNlLmM6MTAxCiBtc2dpZCAiIgogIkZpeCB0aGVtIHVwIGluIHRoZSB3b3JrIHRyZWUsIGFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCiAiYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uIGFuZCBtYWtlIGEgY29tbWl0LiIKQEAgLTMzLDE4ICs1OSw2NzQgQEAKICJDb3JyaWphLW9zIG5hIMOhcnZvcmUgZGUgdHJhYmFsaG8gZSB1c2UgJ2dpdCBhZGQvcm0gPGZpY2hlaXJvPidcbiIKICJjb25mb3JtZSBhcHJvcHJpYWRvIHBhcmEgbWFyY8OhLWxvcyBjb21vIHJlc29sdmlkb3MgZSBzdWJtZXRhLiIKIAotIzogYWR2aWNlLmM6MTAxIGJ1aWx0aW4vbWVyZ2UuYzoxMjM4CisjOiBhZHZpY2UuYzoxMDkKK21zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCittc2dzdHIgIkEgdGVybWluYXIgZGV2aWRvIGEgY29uZmxpdG8gbsOjbyByZXNvbHZpZG8uIgorCisjOiBhZHZpY2UuYzoxMTQgYnVpbHRpbi9tZXJnZS5jOjExODEKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIk7Do28gY29uY2x1w61kbyBhIGludGVncmHDp8OjbyAoTUVSR0VfSEVBRCBwcmVzZW50ZSkuIgogCi0jOiBhZHZpY2UuYzoxMDMKKyM6IGFkdmljZS5jOjExNgogbXNnaWQgIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgbWVyZ2luZy4iCiBtc2dzdHIgIlN1Ym1ldGEgYXMgc3VhcyBhbHRlcmHDp8O1ZXMgYW50ZXMgZGUgaW50ZWdyYXIuIgogCi0jOiBhZHZpY2UuYzoxMDQKKyM6IGFkdmljZS5jOjExNwogbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiB1bmZpbmlzaGVkIG1lcmdlLiIKIG1zZ3N0ciAiQSB0ZXJtaW5hciBkZXZpZG8gYSBpbnRlZ3Jhw6fDo28gaW5jb21wbGV0YS4iCiAKKyM6IGFkdmljZS5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG4iCisiXG4iCisiWW91IGFyZSBpbiAnZGV0YWNoZWQgSEVBRCcgc3RhdGUuIFlvdSBjYW4gbG9vayBhcm91bmQsIG1ha2UgZXhwZXJpbWVudGFsXG4iCisiY2hhbmdlcyBhbmQgY29tbWl0IHRoZW0sIGFuZCB5b3UgY2FuIGRpc2NhcmQgYW55IGNvbW1pdHMgeW91IG1ha2UgaW4gdGhpc1xuIgorInN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBwZXJmb3JtaW5nIGFub3RoZXIgY2hlY2tvdXQuXG4iCisiXG4iCisiSWYgeW91IHdhbnQgdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCB0byByZXRhaW4gY29tbWl0cyB5b3UgY3JlYXRlLCB5b3UgbWF5XG4iCisiZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWIgd2l0aCB0aGUgY2hlY2tvdXQgY29tbWFuZCBhZ2Fpbi4gRXhhbXBsZTpcbiIKKyJcbiIKKyIgIGdpdCBjaGVja291dCAtYiA8bmV3LWJyYW5jaC1uYW1lPlxuIgorIlxuIgorbXNnc3RyICIiCisiTm90YTogYSBleHRyYWlyICclcycuXG4iCisiXG4iCisiRW5jb250cmEtc2UgZW0gZXN0YWRvICdIRUFEIGRlc3RhY2FkYScuIFBvZGUgaW5zcGVjaW9uYXIsIGZhemVyIGFsdGVyYcOnw7Vlc1xuIgorImV4cGVyaW1lbnRhaXMgZSBzdWJtZXTDqi1sYXMgZSBwb2RlIGRlc2NhcnRhciBxdWFscXVlciBjb21taXQgcXVlIGZhw6dhIG5lc3RlXG4iCisiZXN0YWRvIHNlbSBpbnRlcmZlcmlyIG91dHJvIHJhbW8gc2UgZXh0cmFpciBvdXRybyByYW1vLlxuIgorIlxuIgorIlNlIGRlc2VqYSBjcmlhciB1bSBub3ZvIHJhbW8gcGFyYSByZXRlciBvcyBjb21taXRzIHF1ZSBjcmlvdSwgcG9kZSBmYXrDqi1sb1xuIgorIihhZ29yYSBvdSBtYWlzIHRhcmRlKSB1c2FuZG8gLWIgY29tIG8gY29tYW5kbyBjaGVja291dCBvdXRyYSB2ZXouIEV4ZW1wbG86XG4iCisiXG4iCisiICBnaXQgY2hlY2tvdXQgLWIgPG5vdm8tbm9tZS1yYW1vPlxuIgorIlxuIgorCisjOiBhcHBseS5jOjU3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgorbXNnc3RyICJvcMOnw6NvIGRlIGVzcGHDp28gZW0gYnJhbmNvIG7Do28gcmVjb25oZWNpZGEgJyVzJyIKKworIzogYXBwbHkuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCittc2dzdHIgIm9ww6fDo28gZGUgaWdub3JhciBlc3Bhw6dvIGVtIGJyYW5jbyBuw6NvIHJlY29uaGVjaWRhICclcyciCisKKyM6IGFwcGx5LmM6MTI1Cittc2dpZCAiLS1yZWplY3QgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCittc2dzdHIgIi0tcmVqZWN0IGUgLS0zd2F5IG7Do28gcG9kZW0gc2VyIHVzYWRvcyBqdW50b3MuIgorCisjOiBhcHBseS5jOjEyNworbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICItLWNhY2hlZCBlIC0tM3dheSBuw6NvIHBvZGVtIHNlciB1c2Fkb3MganVudG9zLiIKKworIzogYXBwbHkuYzoxMzAKK21zZ2lkICItLTN3YXkgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCittc2dzdHIgIi0tM3dheSBmb3JhIGRlIHVtIHJlcG9zaXTDs3JpbyIKKworIzogYXBwbHkuYzoxNDEKK21zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICItLWluZGV4IGZvcmEgZGUgdW0gcmVwb3NpdMOzcmlvIgorCisjOiBhcHBseS5jOjE0NAorbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICItLWNhY2hlZCBmb3JhIGRlIHVtIHJlcG9zaXTDs3JpbyIKKworIzogYXBwbHkuYzo4NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKK21zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgcHJlcGFyYXIgYSByZWdleHAgZGUgY2FyaW1ibyBkZSBkYXRhL2hvcmEgJXMiCisKKyM6IGFwcGx5LmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZ2V4ZWMgcmV0dXJuZWQgJWQgZm9yIGlucHV0OiAlcyIKK21zZ3N0ciAicmVnZXhlYyByZXRvcm5vdSAlZCBwYXJhIGEgZW50cmE6ICVzIgorCisjOiBhcHBseS5jOjkzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmluZCBmaWxlbmFtZSBpbiBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZW5jb250cmFyIG8gbm9tZSBkbyBmaWNoZWlybyBubyBwYXRjaCBuYSBsaW5oYSAlZCIKKworIzogYXBwbHkuYzo5NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgorbXNnc3RyICIiCisiZ2l0IGFwcGx5OiBnaXQtZGlmZiBpbmNvcnJldG8gLSBlc3BlcmF2YS1zZSAvZGV2L251bGwsIG9idGV2ZS1zZSAlcyBuYSBsaW5oYSAiCisiJWQiCisKKyM6IGFwcGx5LmM6OTgzCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgorbXNnc3RyICIiCisiZ2l0IGFwcGx5OiBnaXQtZGlmZiBpbmNvcnJldG8gLSBvIG5vbWUgZG8gbm92byBmaWNoZWlybyBuYSBsaW5oYSAlZCDDqSAiCisiaW5jb25zaXN0ZW50ZSIKKworIzogYXBwbHkuYzo5ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCittc2dzdHIgIiIKKyJnaXQgYXBwbHk6IGdpdC1kaWZmIGluY29ycmV0byAtIG8gbm9tZSBkbyBmaWNoZWlybyBhbnRpZ28gbmEgbGluaGEgJWQgw6kgIgorImluY29uc2lzdGVudGUiCisKKyM6IGFwcGx5LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBseTogZ2l0LWRpZmYgaW5jb3JyZXRvIC0gZXNwZXJhdmEtc2UgL2Rldi9udWxsIG5hIGxpbmhhICVkIgorCisjOiBhcHBseS5jOjE0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgorbXNnc3RyICJyZWNvbnRhZ2VtOiBsaW5oYSBpbmVzcGVyYWRhOiAlLipzIgorCisjOiBhcHBseS5jOjE1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKK21zZ3N0ciAiZnJhZ21lbnRvIGRlIHBhdGNoIHNlbSBjYWJlw6dhbGhvIG5hIGxpbmhhICVkOiAlLipzIgorCisjOiBhcHBseS5jOjE1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgorImNvbXBvbmVudCAobGluZSAlZCkiCittc2dpZF9wbHVyYWwgIiIKKyJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKKyJjb21wb25lbnRzIChsaW5lICVkKSIKK21zZ3N0clswXSAiIgorIm8gY2FiZcOnYWxobyBkbyBnaXQgZGlmZiBuw6NvIHJldmVsb3UgbyBub21lIGRvIGZpY2hlaXJvIGRlcG9pcyBkZSBzZSByZW1vdmVyICIKKyIlZCBjb21wb25lbnRlIGRvIGNhbWluaG8gKGxpbmhhICVkKSIKK21zZ3N0clsxXSAiIgorIm8gY2FiZcOnYWxobyBkbyBnaXQgZGlmZiBuw6NvIHJldmVsb3UgbyBub21lIGRvIGZpY2hlaXJvIGRlcG9pcyBkZSBzZSByZW1vdmVyICIKKyIlZCBjb21wb25lbnRlcyBkZSBjYW1pbmhvIChsaW5oYSAlZCkiCisKKyM6IGFwcGx5LmM6MTU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gKGxpbmUgJWQpIgorbXNnc3RyICJvIGNhYmXDp2FsaG8gZG8gZ2l0IGRpZmYgbsOjbyByZXZlbGEgbyBub21lIGRvIGZpY2hlaXJvIChsaW5oYSAlZCkiCisKKyM6IGFwcGx5LmM6MTc1OQorbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgorbXNnc3RyICJvIG5vdm8gZmljaGVpcm8gZGVwZW5kZSBkZSBjb250ZcO6ZG9zIGFudGlnb3MiCisKKyM6IGFwcGx5LmM6MTc2MQorbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgIm8gZmljaGVpcm8gZWxpbWluYWRvIGFpbmRhIHRlbSBjb250ZcO6ZG9zIgorCisjOiBhcHBseS5jOjE3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICJwYXRjaCBjb3Jyb21waWRvIG5hIGxpbmhhICVkIgorCisjOiBhcHBseS5jOjE4MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCittc2dzdHIgIm8gbm92byBmaWNoZWlybyAlcyBkZXBlbmRlIGRlIGNvbnRlw7pkb3MgYW50aWdvcyIKKworIzogYXBwbHkuYzoxODM0CisjLCBjLWZvcm1hdAorbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgIm8gZmljaGVpcm8gZWxpbWluYWRvICVzIGFpbmRhIHRlbSBjb250ZcO6ZG9zIgorCisjOiBhcHBseS5jOjE4MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiKiogd2FybmluZzogZmlsZSAlcyBiZWNvbWVzIGVtcHR5IGJ1dCBpcyBub3QgZGVsZXRlZCIKK21zZ3N0ciAiKiogYXZpc286IG8gZmljaGVpcm8gJXMgZmljYXLDoSB2YXppbywgbWFzIG7Do28gc2Vyw6EgZWxpbWluYWRvIgorCisjOiBhcHBseS5jOjE5ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29ycnVwdCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZDogJS4qcyIKK21zZ3N0ciAicGF0Y2ggYmluw6FyaW8gY29ycm9tcGlkbyBuYSBsaW5oYSAlZDogJS4qcyIKKworIzogYXBwbHkuYzoyMDIxCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIKK21zZ3N0ciAicGF0Y2ggYmluw6FyaW8gbsOjbyByZWNvbmhlY2lkbyBuYSBsaW5oYSAlZCIKKworIzogYXBwbHkuYzoyMTgyCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCittc2dzdHIgInBhdGNoIGluY29tcHJlZW5zw612ZWwgbmEgbGluaGEgJWQiCisKKyM6IGFwcGx5LmM6MjI3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzeW1saW5rICVzIgorbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBsZXIgYSBsaWdhw6fDo28gc2ltYsOzbGljYSAlcyIKKworIzogYXBwbHkuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuIG9yIHJlYWQgJXMiCittc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFicmlyIG91IGxlciAlcyIKKworIzogYXBwbHkuYzoyOTMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKK21zZ3N0ciAiaW7DrWNpbyBkZSBsaW5oYSBpbnbDoWxpZG86ICclYyciCisKKyM6IGFwcGx5LmM6MzA1MAorIywgYy1mb3JtYXQKK21zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCittc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCittc2dzdHJbMF0gIkV4Y2VydG8gbsK6JWQgYmVtIHN1Y2VkaWRvIG5hIGxpbmhhICVkICglZCBsaW5oYSBkZXNsb2NhZGEpLiIKK21zZ3N0clsxXSAiRXhjZXJ0byBuwrolZCBiZW0gc3VjZWRpZG8gbmEgbGluaGEgJWQgKCVkIGxpbmhhcyBkZXNsb2NhZGFzKS4iCisKKyM6IGFwcGx5LmM6MzA2MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgorbXNnc3RyICJDb250ZXh0byByZWR1emlkbyBwYXJhICglbGQvJWxkKSBwYXJhIGFwbGljYXIgbyBmcmFnbWVudG8gZW0gJWQiCisKKyM6IGFwcGx5LmM6MzA2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisid2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKKyIlLipzIgorbXNnc3RyICIiCisiYW8gcHJvY3VyYSBwb3I6XG4iCisiJS4qcyIKKworIzogYXBwbHkuYzozMDkwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgYmluYXJ5IHBhdGNoIGRhdGEgZm9yICclcyciCittc2dzdHIgImZhbHRhIGRlIGRhZG9zIGRvIHBhdGNoIGJpbsOhcmlvICclcyciCisKKyM6IGFwcGx5LmM6MzA5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmV2ZXJzZS1hcHBseSBhIGJpbmFyeSBwYXRjaCB3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIKK21zZ3N0ciAiIgorIm7Do28gw6kgcG9zc8OtdmVsIGFwbGljYXIgbyByZXZlcnNvIGRlIHVtIHBhdGNoIGJpbsOhcmlvIGEgJyVzJyBzZW0gbyBleGNlcnRvICIKKyJyZXZlcnNvIgorCisjOiBhcHBseS5jOjMxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFwcGx5IGJpbmFyeSBwYXRjaCB0byAnJXMnIHdpdGhvdXQgZnVsbCBpbmRleCBsaW5lIgorbXNnc3RyICIiCisibsOjbyDDqSBwb3Nzw612ZWwgYXBsaWNhciBwYXRjaCBiaW7DoXJpbyBhICclcycgc2VtIGxpbmhhIGRlIMOtbmRpY2UgY29tcGxldGEiCisKKyM6IGFwcGx5LmM6MzE1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIHBhdGNoIGFwcGxpZXMgdG8gJyVzJyAoJXMpLCB3aGljaCBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudCBjb250ZW50cy4iCittc2dzdHIgIiIKKyJvIHBhdGNoIGFwbGljYS1zZSBhICclcycgKCVzKSwgcXVlIG7Do28gY29ycmVzcG9uZGUgYW9zIGNvbnRlw7pkb3MgYXR1YWlzLiIKKworIzogYXBwbHkuYzozMTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwYXRjaCBhcHBsaWVzIHRvIGFuIGVtcHR5ICclcycgYnV0IGl0IGlzIG5vdCBlbXB0eSIKK21zZ3N0ciAibyBwYXRjaCBhcGxpY2Etc2UgYSB1bSAnJXMnIHZhemlvIG1hcyBuw6NvIGVzdMOhIHZhemlvIgorCisjOiBhcHBseS5jOjMxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG5lY2Vzc2FyeSBwb3N0aW1hZ2UgJXMgZm9yICclcycgY2Fubm90IGJlIHJlYWQiCittc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGxlciBhIHBvc3RpbWFnZSBuZWNlc3PDoXJpYSAlcyBkZSAnJXMnIgorCisjOiBhcHBseS5jOjMxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciCittc2dzdHIgIm8gcGF0Y2ggYmluw6FyaW8gbsOjbyBmb2kgYXBsaWNhZG8gY29ycmV0YW1lbnRlIGEgJyVzJyIKKworIzogYXBwbHkuYzozMTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgorbXNnc3RyICIiCisibyBwYXRjaCBiaW7DoXJpbyBhcGxpY2FkbyBhICclcycgZ2VyYSByZXN1bHRhZG9zIGluY29ycmV0b3MgKGVzcGVyYXZhLXNlICVzLCAiCisib2J0ZXZlLXNlICVzKSIKKworIzogYXBwbHkuYzozMjIwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgorbXNnc3RyICJmYWxoYSBhbyBhcGxpY2FyIG8gcGF0Y2g6ICVzOiVsZCIKKworIzogYXBwbHkuYzozMzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZXh0cmFpciAlcyIKKworIzogYXBwbHkuYzozMzkwIGFwcGx5LmM6MzQwMSBhcHBseS5jOjM0NDcgc2V0dXAuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgImZhbGhhIGFvIGxlciAlcyIKKworIzogYXBwbHkuYzozMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRpbmcgZnJvbSAnJXMnIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgImEgbGVyICclcycgaW5kaWNhZG8gcG9yIHVtYSBsaWdhw6fDo28gc2ltYsOzbGljYSIKKworIzogYXBwbHkuYzozNDI3IGFwcGx5LmM6MzY2NworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKK21zZ3N0ciAibyBjYW1pbmhvICVzIGZvaSBlbGltaW5hZG8gb3UgbXVkb3UgZGUgbm9tZSIKKworIzogYXBwbHkuYzozNTEwIGFwcGx5LmM6MzY4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiCittc2dzdHIgIiVzOiBuw6NvIGV4aXN0ZSBubyDDrW5kaWNlIgorCisjOiBhcHBseS5jOjM1MTkgYXBwbHkuYzozNjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKK21zZ3N0ciAiJXM6IG7Do28gdGVtIGNvcnJlc3BvbmTDqm5jaWEgbm8gw61uZGljZSIKKworIzogYXBwbHkuYzozNTU0Cittc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKK21zZ3N0ciAiIgorIm8gcmVwb3NpdMOzcmlvIG7Do28gdGVtIG8gYmxvYiBuZWNlc3PDoXJpbyBwYXJhIHJlY29ycmVyIGEgaW50ZWdyYcOnw6NvIGNvbSAzICIKKyJwb250b3MuIgorCisjOiBhcHBseS5jOjM1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFsbGluZyBiYWNrIHRvIHRocmVlLXdheSBtZXJnZS4uLlxuIgorbXNnc3RyICJBIHJlY29ycmVyIGEgaW50ZWdyYcOnw6NvIGNvbSAzIHBvbnRvcy4uLlxuIgorCisjOiBhcHBseS5jOjM1NzMgYXBwbHkuYzozNTc3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mICclcyciCittc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGxlciBvIGNvbnRlw7pkbyBhdHVhbCBkZSAnJXMnIgorCisjOiBhcHBseS5jOjM1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGZhbGwgYmFjayBvbiB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKK21zZ3N0ciAiRmFsaGEgYSByZWNvcnJlciBhIGludGVncmHDp8OjbyBjb20gMyBwb250b3MuLi5cbiIKKworIzogYXBwbHkuYzozNjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyB3aXRoIGNvbmZsaWN0cy5cbiIKK21zZ3N0ciAiUGF0Y2ggYXBsaWNhZG8gYSAnJXMnIGNvbSBjb25mbGl0b3MuXG4iCisKKyM6IGFwcGx5LmM6MzYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgY2xlYW5seS5cbiIKK21zZ3N0ciAiUGF0Y2ggYXBsaWNhZG8gYSAnJXMnIGNvbSBzdWNlc3NvLlxuIgorCisjOiBhcHBseS5jOjM2MzQKK21zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgorbXNnc3RyICJwYXRjaCBkZSByZW1vw6fDo28gZGVpeGEgY29udGXDumRvcyBubyBmaWNoZWlybyIKKworIzogYXBwbHkuYzozNzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgorbXNnc3RyICIlczogdGlwbyBlcnJhZG8iCisKKyM6IGFwcGx5LmM6MzcwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCittc2dzdHIgIiVzIMOpIGRvIHRpcG8gJW8sIGVzcGVyYWRvICVvIgorCisjOiBhcHBseS5jOjM4NTkgYXBwbHkuYzozODYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgorbXNnc3RyICJjYW1pbmhvIGludsOhbGlkbyAnJXMnIgorCisjOiBhcHBseS5jOjM5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgorbXNnc3RyICIlczogasOhIGV4aXN0ZSBubyDDrW5kaWNlIgorCisjOiBhcHBseS5jOjM5MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICIlczogasOhIGV4aXN0ZSBubyBkaXJldMOzcmlvIGRlIHRyYWJhbGhvIgorCisjOiBhcHBseS5jOjM5NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgorbXNnc3RyICJvIG5vdm8gbW9kbyAoJW8pIGRlICVzIG7Do28gY29ycmVzcG9uZGUgYW8gbW9kbyBhbnRpZ28gKCVvKSIKKworIzogYXBwbHkuYzozOTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKK21zZ3N0ciAibyBub3ZvIG1vZG8gKCVvKSBkZSAlcyBuw6NvIGNvcnJlc3BvbmRlIGFvIG1vZG8gYW50aWdvICglbykgZGUgJXMiCisKKyM6IGFwcGx5LmM6Mzk2NQorIywgYy1mb3JtYXQKK21zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAibyBmaWNoZWlybyBhZmV0YWRvICclcycgw6kgaW5kaWNhZG8gcG9yIHVtYSBsaWdhw6fDo28gc2ltYsOzbGljYSIKKworIzogYXBwbHkuYzozOTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXRjaCBkb2VzIG5vdCBhcHBseSIKK21zZ3N0ciAiJXM6IHBhdGNoIG7Do28gc2UgYXBsaWNhIGNvbSBzdWNlc3NvIgorCisjOiBhcHBseS5jOjM5ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCittc2dzdHIgIkEgdmVyaWZpY2FyIG8gcGF0Y2ggJXMuLi4iCisKKyM6IGFwcGx5LmM6NDA3NQorIywgYy1mb3JtYXQKK21zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyBmb3Igc3VibW9kdWxlICVzIgorbXNnc3RyICJmYWx0YSBpbmZvcm1hw6fDo28gZGUgc2hhMSBvdSBuw6NvIMOpIMO6dGlsIHBhcmEgbyBzdWJtw7NkdWxvICVzIgorCisjOiBhcHBseS5jOjQwODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZSBjaGFuZ2UgZm9yICVzLCB3aGljaCBpcyBub3QgaW4gY3VycmVudCBIRUFEIgorbXNnc3RyICJhbHRlcmHDp8OjbyBkZSBtb2RvIGRlICVzIHF1ZSBuw6NvIGVzdMOhIG5hIEhFQUQgYXR1YWwiCisKKyM6IGFwcGx5LmM6NDA4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyAoJXMpLiIKK21zZ3N0ciAiZmFsdGEgaW5mb3JtYcOnw6NvIGRlIHNoYTEgb3UgbsOjbyDDqSDDunRpbCAoJXMpLiIKKworIzogYXBwbHkuYzo0MDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzMgYnVpbHRpbi9yZXNldC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgorbXNnc3RyICJmYWxoYSBhbyBpbnZvY2FyIG1ha2VfY2FjaGVfZW50cnkgZW0gJyVzJyIKKworIzogYXBwbHkuYzo0MDk0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWRpY2lvbmFyICVzIGFvIMOtbmRpY2UgdGVtcG9yw6FyaW8iCisKKyM6IGFwcGx5LmM6NDEwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdGVtcG9yYXJ5IGluZGV4IHRvICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZXNjcmV2ZXIgw61uZGljZSB0ZW1wb3LDoXJpbyBwYXJhICVzIgorCisjOiBhcHBseS5jOjQyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgorbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCByZW1vdmVyICVzIGRvIMOtbmRpY2UiCisKKyM6IGFwcGx5LmM6NDI3NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCittc2dzdHIgInBhdGNoIGNvcnJvbXBpZG8gbm8gc3VibcOzZHVsbyAlcyIKKworIzogYXBwbHkuYzo0MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBzdGF0IG5ld2x5IGNyZWF0ZWQgZmlsZSAnJXMnIgorbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBvYnRlciBlc3RhZG8gZG8gbm92byBmaWNoZWlybyBjcmlhZG8gJyVzJyIKKworIzogYXBwbHkuYzo0MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgorbXNnc3RyICIiCisibsOjbyDDqSBwb3Nzw612ZWwgY3JpYXIgYXJtYXplbmFtZW50byBkZSBzZWd1cmFuw6dhIGRvIGZpY2hlaXJvIHJlY8OpbS1jcmlhZG8gJXMiCisKKyM6IGFwcGx5LmM6NDI5NyBhcHBseS5jOjQ0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCittc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFkaWNpb25hciAlcyDDoCBjYWNoZSIKKworIzogYXBwbHkuYzo0MzM4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB3cml0ZSB0byAnJXMnIgorbXNnc3RyICJmYWxoYSBhbyBlc2NyZXZlciBwYXJhICclcyciCisKKyM6IGFwcGx5LmM6NDM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKK21zZ3N0ciAiYSBmZWNoYXIgbyBmaWNoZWlybyAnJXMnIgorCisjOiBhcHBseS5jOjQ0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIgorbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBlc2NyZXZlciBvIGZpY2hlaXJvICclcycgY29tIG8gbW9kbyAlbyIKKworIzogYXBwbHkuYzo0NTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggJXMgY2xlYW5seS4iCittc2dzdHIgIlBhdGNoICVzIGFwbGljYWRvIGNvbSBzdWNlc3NvLiIKKworIzogYXBwbHkuYzo0NTE4Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgImVycm8gaW50ZXJubyIKKworIzogYXBwbHkuYzo0NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKK21zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKK21zZ3N0clswXSAiQSBhcGxpY2FyIHBhdGNoICUlcyBjb20gJWQgcmVqZWnDp8Ojby4uLiIKK21zZ3N0clsxXSAiQSBhcGxpY2FyIHBhdGNoICUlcyBjb20gJWQgcmVqZWnDp8O1ZXMuLi4iCisKKyM6IGFwcGx5LmM6NDUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCittc2dzdHIgImEgdHJ1bmNhciBvIG5vbWUgZG8gZmljaGVpcm8gLnJlaiBlbSAlLipzLnJlaiIKKworIzogYXBwbHkuYzo0NTQwIGJ1aWx0aW4vZmV0Y2guYzo3NDAgYnVpbHRpbi9mZXRjaC5jOjk4OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYWJyaXIgJXMiCisKKyM6IGFwcGx5LmM6NDU1NAorIywgYy1mb3JtYXQKK21zZ2lkICJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIgorbXNnc3RyICJFeGNlcnRvIG7CuiVkIGFwbGljYWRvIGNvbSBzdWNlc3NvLiIKKworIzogYXBwbHkuYzo0NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKK21zZ3N0ciAiRXhjZXJ0byBuwrolZCByZWplaXRhZG8uIgorCisjOiBhcHBseS5jOjQ2NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBlZCBwYXRjaCAnJXMnLiIKK21zZ3N0ciAiUGF0Y2ggJyVzJyBpZ25vcmFkby4iCisKKyM6IGFwcGx5LmM6NDY3NgorbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKK21zZ3N0ciAiZW50cmFkYSBuw6NvIHJlY29uaGVjaWRhIgorCisjOiBhcHBseS5jOjQ2OTUKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIG8gZmljaGVpcm8gZGUgw61uZGljZSIKKworIzogYXBwbHkuYzo0ODMzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCittc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFicmlyIG8gcGF0Y2ggJyVzJzogJXMiCisKKyM6IGFwcGx5LmM6NDg1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3JzIgorbXNnc3RyWzBdICIlZCBlcnJvIGRlIGVzcGHDp28gZW0gYnJhbmNvIHJlcHJpbWlkbyIKK21zZ3N0clsxXSAiJWQgZXJyb3MgZGUgZXNwYcOnbyBlbSBicmFuY28gcmVwcmltaWRvcyIKKworIzogYXBwbHkuYzo0ODY0IGFwcGx5LmM6NDg3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnc3RyWzBdICIlZCBsaW5oYSBhZGljaW9uYSBlcnJvcyBkZSBlc3Bhw6dvIGVtIGJyYW5jby4iCittc2dzdHJbMV0gIiVkIGxpbmhhcyBhZGljaW9uYW0gZXJyb3MgZGUgZXNwYcOnbyBlbSBicmFuY28uIgorCisjOiBhcHBseS5jOjQ4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgbGluZSBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ3N0clswXSAiJWQgbGluaGEgYXBsaWNhZGEgZGVwb2lzIGRlIGNvcnJpZ2lyIGVycm9zIGRlIGVzcGHDp28gZW0gYnJhbmNvLiIKK21zZ3N0clsxXSAiJWQgbGluaGFzIGFwbGljYWRhcyBkZXBvaXMgZGUgY29ycmlnaXIgZXJyb3MgZGUgZXNwYcOnbyBlbSBicmFuY28uIgorCisjOiBhcHBseS5jOjQ4ODggYnVpbHRpbi9hZGQuYzo0NjMgYnVpbHRpbi9tdi5jOjI4NiBidWlsdGluL3JtLmM6NDMxCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZXNjcmV2ZXIgbm92byBmaWNoZWlybyBkZSDDrW5kaWNlIgorCisjOiBhcHBseS5jOjQ5MTkgYXBwbHkuYzo0OTIyIGJ1aWx0aW4vYW0uYzoyMjc3IGJ1aWx0aW4vYW0uYzoyMjgwCisjOiBidWlsdGluL2Nsb25lLmM6OTUgYnVpbHRpbi9mZXRjaC5jOjk4IGJ1aWx0aW4vcHVsbC5jOjE4MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTg5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0NworbXNnaWQgInBhdGgiCittc2dzdHIgImNhbWluaG8iCisKKyM6IGFwcGx5LmM6NDkyMAorbXNnaWQgImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCittc2dzdHIgIm7Do28gYXBsaWNhciBhbHRlcmHDp8O1ZXMgcXVlIGNvcnJlc3BvbmRhbSBhbyBjYW1pbmhvIGZvcm5lY2lkbyIKKworIzogYXBwbHkuYzo0OTIzCittc2dpZCAiYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKK21zZ3N0ciAiYXBsaWNhciBhbHRlcmHDp8O1ZXMgcXVlIGNvcnJlc3BvbmRhbSBhbyBjYW1pbmhvIGZvcm5lY2lkbyIKKworIzogYXBwbHkuYzo0OTI1IGJ1aWx0aW4vYW0uYzoyMjg2Cittc2dpZCAibnVtIgorbXNnc3RyICJudW0iCisKKyM6IGFwcGx5LmM6NDkyNgorbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgorbXNnc3RyICJyZW1vdmVyIDxudW0+IGJhcnJhcyDDoCBlc3F1ZXJkYSBkb3MgY2FtaW5ob3MgZGUgZGlmZiB0cmFkaWNpb25hbCIKKworIzogYXBwbHkuYzo0OTI5Cittc2dpZCAiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIKK21zZ3N0ciAiaWdub3JhciBhZGnDp8O1ZXMgZmVpdGFzIHBlbG8gcGF0Y2giCisKKyM6IGFwcGx5LmM6NDkzMQorbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKK21zZ3N0ciAiZW0gdmV6IGRlIGFwbGljYXIgbyBwYXRjaCwgbW9zdHJhciBvIGRpZmZzdGF0IGRhIGVudHJhZGEiCisKKyM6IGFwcGx5LmM6NDkzNQorbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCittc2dzdHIgIm1vc3RyYXIgbsO6bWVybyBkZSBsaW5oYXMgYWRpY2lvbmFkYXMgZSByZW1vdmlkYXMgZW0gbm90YcOnw6NvIGRlY2ltYWwiCisKKyM6IGFwcGx5LmM6NDkzNworbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCittc2dzdHIgImVtIHZleiBkZSBhcGxpY2FyIG8gcGF0Y2gsIG1vc3RyYXIgdW0gcmVzdW1vIGRhIGVudHJhZGEiCisKKyM6IGFwcGx5LmM6NDkzOQorbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCittc2dzdHIgImVtIHZleiBkZSBhcGxpY2FyIG8gcGF0Y2gsIHZlcmlmaWNhciBzZSBvIHBhdGNoIHBvZGUgc2VyIGFwbGljYWRvIgorCisjOiBhcHBseS5jOjQ5NDEKK21zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCittc2dzdHIgImdhcmFudGlyIHF1ZSBvIHBhdGNoIHBvZGUgc2VyIGFwbGljYWRvIGFvIMOtbmRpY2UgYXR1YWwiCisKKyM6IGFwcGx5LmM6NDk0MworbXNnaWQgImFwcGx5IGEgcGF0Y2ggd2l0aG91dCB0b3VjaGluZyB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICJhcGxpY2FyIHVtIHBhdGNoIHNlbSB0b2NhciBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIgorCisjOiBhcHBseS5jOjQ5NDUKK21zZ2lkICJhY2NlcHQgYSBwYXRjaCB0aGF0IHRvdWNoZXMgb3V0c2lkZSB0aGUgd29ya2luZyBhcmVhIgorbXNnc3RyICJhY2VpdGFyIHBhdGNoZXMgcXVlIGFsdGVyYW0gZmljaGVpcm9zIGZvcmEgZGEgw6FyZWEgZGUgdHJhYmFsaG8iCisKKyM6IGFwcGx5LmM6NDk0NworbXNnaWQgImFsc28gYXBwbHkgdGhlIHBhdGNoICh1c2Ugd2l0aCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgorbXNnc3RyICJhcGxpY2FyIG8gcGF0Y2ggdGFtYsOpbSAodXNlIGNvbSAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgorCisjOiBhcHBseS5jOjQ5NDkKK21zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICJ0ZW50YXIgaW50ZWdyYcOnw6NvIGNvbSB0csOqcyBwb250b3Mgc2UgdW0gcGF0Y2ggbsOjbyBzZSBhcGxpY2EgY29tIMOqeGl0byIKKworIzogYXBwbHkuYzo0OTUxCittc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCittc2dzdHIgIiIKKyJjb25zdHJ1aXIgdW0gw61uZGljZSB0ZW1wb3LDoXJpbyBiYXNlYWRvIG5hIGluZm9ybWHDp8OjbyBpbmNvcnBvcmFkYSBkbyDDrW5kaWNlIgorCisjOiBhcHBseS5jOjQ5NTQgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OSBidWlsdGluL2xzLWZpbGVzLmM6NTA1Cittc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgIm9zIGNhbWluaG9zIGVzdMOjbyBzZXBhcmFkb3MgcG9yIGNhcmFjdGVyZXMgTlVMIgorCisjOiBhcHBseS5jOjQ5NTYKK21zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCittc2dzdHIgImdhcmFudGlyIHF1ZSwgcGVsbyBtZW5vcywgPG4+IGxpbmhhcyBkZSBjb250ZXh0byBjb2luY2lkZW0iCisKKyM6IGFwcGx5LmM6NDk1NyBidWlsdGluL2FtLmM6MjI2NQorbXNnaWQgImFjdGlvbiIKK21zZ3N0ciAiYcOnw6NvIgorCisjOiBhcHBseS5jOjQ5NTgKK21zZ2lkICJkZXRlY3QgbmV3IG9yIG1vZGlmaWVkIGxpbmVzIHRoYXQgaGF2ZSB3aGl0ZXNwYWNlIGVycm9ycyIKK21zZ3N0ciAiZGV0ZXRhciBsaW5oYXMgbm92YXMgb3UgbW9kaWZpY2FkYXMgcXVlIHRlbmhhbSBlc3Bhw6dvcyBlbSBicmFuY28iCisKKyM6IGFwcGx5LmM6NDk2MSBhcHBseS5jOjQ5NjQKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgorbXNnc3RyICJpZ25vcmFyIGFsdGVyYcOnw7VlcyBkZSBlc3Bhw6dvIGVtIGJyYW5jbyBhbyBwcm9jdXJhciBjb250ZXh0byIKKworIzogYXBwbHkuYzo0OTY3Cittc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCittc2dzdHIgImFwbGljYXIgbyBwYXRjaCBlbSByZXZlcnNvIgorCisjOiBhcHBseS5jOjQ5NjkKK21zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKK21zZ3N0ciAibsOjbyBlc3BlcmFyIG5lbmh1bWEgbGluaGEgZGUgY29udGV4dG8iCisKKyM6IGFwcGx5LmM6NDk3MQorbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgorbXNnc3RyICJkZWl4YXIgb3MgZXhjZXJ0b3MgcmVqZWl0YWRvcyBub3MgcmVzcGV0aXZvcyBmaWNoZWlyb3MgKi5yZWoiCisKKyM6IGFwcGx5LmM6NDk3MworbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgorbXNnc3RyICJwZXJtaXRpciBhIHNvYnJlcG9zacOnw6NvIGRlIGV4Y2VydG9zIgorCisjOiBhcHBseS5jOjQ5NzQgYnVpbHRpbi9hZGQuYzoyNjcgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQorIzogYnVpbHRpbi9jb21taXQuYzoxMzM5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk0IGJ1aWx0aW4vZnNjay5jOjU5MworIzogYnVpbHRpbi9sb2cuYzoxODYwIGJ1aWx0aW4vbXYuYzoxMTAgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKK21zZ2lkICJiZSB2ZXJib3NlIgorbXNnc3RyICJzZXIgdmVyYm9zbyIKKworIzogYXBwbHkuYzo0OTc2Cittc2dpZCAidG9sZXJhdGUgaW5jb3JyZWN0bHkgZGV0ZWN0ZWQgbWlzc2luZyBuZXctbGluZSBhdCB0aGUgZW5kIG9mIGZpbGUiCittc2dzdHIgIiIKKyJ0b2xlcmFyIGRldGXDp8O1ZXMgaW5jb3JyZXRhcyBkZSBmYWx0YSBkZSBub3ZhIGxpbmhhIG5vIGZpbmFsIGRvIGZpY2hlaXJvIgorCisjOiBhcHBseS5jOjQ5NzkKK21zZ2lkICJkbyBub3QgdHJ1c3QgdGhlIGxpbmUgY291bnRzIGluIHRoZSBodW5rIGhlYWRlcnMiCittc2dzdHIgIm7Do28gY29uZmlhciBuYSBjb250YWdlbSBkZSBsaW5oYXMgbm8gY2FiZcOnYWxobyBkb3MgZXhjZXJ0b3MiCisKKyM6IGFwcGx5LmM6NDk4MSBidWlsdGluL2FtLmM6MjI3NAorbXNnaWQgInJvb3QiCittc2dzdHIgInJhaXoiCisKKyM6IGFwcGx5LmM6NDk4MgorbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCittc2dzdHIgInByZWNlZGVyIDxyb290PiBhIHRvZG9zIG9zIG5vbWVzIGRlIGZpY2hlaXJvIgorCiAjOiBhcmNoaXZlLmM6MTIKIG1zZ2lkICJnaXQgYXJjaGl2ZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgYXJjaGl2ZSBbPG9ww6fDtWVzPl0gPMOhcnZvcmUtZXRjPiBbPGNhbWluaG8+Li4uXSIKQEAgLTY0LDcgKzc0Niw3IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjM0NCBidWlsdGluL2FkZC5jOjEzNyBidWlsdGluL2FkZC5jOjQyMCBidWlsdGluL3JtLmM6MzI3CisjOiBhcmNoaXZlLmM6MzQ0IGJ1aWx0aW4vYWRkLmM6MTUyIGJ1aWx0aW4vYWRkLmM6NDQyIGJ1aWx0aW4vcm0uYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKIG1zZ3N0ciAibyBlc3BlY2lmaWNhZG9yIGRlIGNhbWluaG8gJyVzJyBuw6NvIGNvcnJlc3BvbmRlIGEgbmVuaHVtIGZpY2hlaXJvIgpAQCAtNzcsNyArNzU5LDcgQEAKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAiZm9ybWF0byBkbyBhcnF1aXZvIgogCi0jOiBhcmNoaXZlLmM6NDMwIGJ1aWx0aW4vbG9nLmM6MTM5NQorIzogYXJjaGl2ZS5jOjQzMCBidWlsdGluL2xvZy5jOjE0MjkKIG1zZ2lkICJwcmVmaXgiCiBtc2dzdHIgInByZWZpeG8iCiAKQEAgLTg1LDExICs3NjcsMTEgQEAKIG1zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgogbXNnc3RyICJwcmVjZWRlciBvIHByZWZpeG8gYSBjYWRhIG5vbWUgZGUgY2FtaW5obyBkZW50cm8gZG8gYXJxdWl2byIKIAotIzogYXJjaGl2ZS5jOjQzMiBidWlsdGluL2FyY2hpdmUuYzo4OCBidWlsdGluL2JsYW1lLmM6MjU0OAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDkgYnVpbHRpbi9jb25maWcuYzo2MCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5IGJ1aWx0aW4vZ3JlcC5jOjcyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDU5IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjIgYnVpbHRpbi9ub3Rlcy5jOjM5OAotIzogYnVpbHRpbi9ub3Rlcy5jOjU2MSBidWlsdGluL3JlYWQtdHJlZS5jOjEwOSBwYXJzZS1vcHRpb25zLmg6MTUzCisjOiBhcmNoaXZlLmM6NDMyIGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyNjAzCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNCBidWlsdGluL2NvbmZpZy5jOjU5IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkgYnVpbHRpbi9ncmVwLmM6NzIzIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzkgYnVpbHRpbi9scy1maWxlcy5jOjU0MiBidWlsdGluL25vdGVzLmM6NDAxCisjOiBidWlsdGluL25vdGVzLmM6NTY0IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA5IHBhcnNlLW9wdGlvbnMuaDoxNTMKIG1zZ2lkICJmaWxlIgogbXNnc3RyICJmaWNoZWlybyIKIApAQCAtMTIxLDggKzgwMyw4IEBACiBtc2dpZCAibGlzdCBzdXBwb3J0ZWQgYXJjaGl2ZSBmb3JtYXRzIgogbXNnc3RyICJsaXN0YXIgZm9ybWF0b3MgZGUgYXJxdWl2byBzdXBvcnRhZG9zIgogCi0jOiBhcmNoaXZlLmM6NDUxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4MgotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3NgorIzogYXJjaGl2ZS5jOjQ1MSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODUgYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjAxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTMKIG1zZ2lkICJyZXBvIgogbXNnc3RyICJyZXBvIgogCkBAIC0xMzAsNyArODEyLDcgQEAKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAib2J0ZXIgbyBhcnF1aXZvIGEgcGFydGlyIGRvIHJlcG9zaXTDs3JpbyByZW1vdG8gPHJlcG8+IgogCi0jOiBhcmNoaXZlLmM6NDUzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODIKKyM6IGFyY2hpdmUuYzo0NTMgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NQogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgImNvbWFuZG8iCiAKQEAgLTEzOCw2ICs4MjAsMjggQEAKIG1zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCiBtc2dzdHIgImNhbWluaG8gcGFyYSBvIGNvbWFuZG8gZ2l0LXVwbG9hZC1hcmNoaXZlIG5vIHJlbW90byIKIAorIzogYXJjaGl2ZS5jOjQ2MQorbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tcmVtb3RlIgorbXNnc3RyICJPcMOnw6NvIGluZXNwZXJhZGEgLS1yZW1vdGUiCisKKyM6IGFyY2hpdmUuYzo0NjMKK21zZ2lkICJPcHRpb24gLS1leGVjIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLXJlbW90ZSIKK21zZ3N0ciAiQSBvcMOnw6NvIC0tZXhlYyBzw7MgcG9kZSBzZXIgdXNhZGEgZW0gY29uanVudG8gY29tIC0tcmVtb3RlIgorCisjOiBhcmNoaXZlLmM6NDY1Cittc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1vdXRwdXQiCittc2dzdHIgIk9ww6fDo28gaW5lc3BlcmFkYSAtLW91dHB1dCIKKworIzogYXJjaGl2ZS5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGFyY2hpdmUgZm9ybWF0ICclcyciCittc2dzdHIgIkZvcm1hdG8gZGUgYXJxdWl2byBkZXNjb25oZWNpZG8gJyVzJyIKKworIzogYXJjaGl2ZS5jOjQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJBcmd1bWVudCBub3Qgc3VwcG9ydGVkIGZvciBmb3JtYXQgJyVzJzogLSVkIgorbXNnc3RyICJBcmd1bWVudG8gbsOjbyBzdXBvcnRhZG8gcGFyYSBvIGZvcm1hdG8gJyVzJzogLSVkIgorCiAjOiBhdHRyLmM6MjYzCiBtc2dpZCAiIgogIk5lZ2F0aXZlIHBhdHRlcm5zIGFyZSBpZ25vcmVkIGluIGdpdCBhdHRyaWJ1dGVzXG4iCkBAIC0xNDYsNiArODUwLDEzMCBAQAogIk9zIHBhZHLDtWVzIG5lZ2F0aXZvcyBzw6NvIGlnbm9yYWRvcyBub3MgYXRyaWJ1dG9zIGRvIGdpdFxuIgogIlVzZSAnXFwhJyBwYXJhIHVtYSBleGNsYW1hw6fDo28gbGl0ZXJhbCDDoCBlc3F1ZXJkYS4iCiAKKyM6IGJpc2VjdC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlICclcyciCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBvIGZpY2hlaXJvICclcyciCisKKyM6IGJpc2VjdC5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJCYWRseSBxdW90ZWQgY29udGVudCBpbiBmaWxlICclcyc6ICVzIgorbXNnc3RyICJDb250ZcO6ZG8gaW5jb3JyZXRhbWVudGUgY2l0YWRvIG5vIGZpY2hlaXJvICclcyc6ICVzIgorCisjOiBiaXNlY3QuYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2UgY2Fubm90IGJpc2VjdCBtb3JlIVxuIgorbXNnc3RyICJOw6NvIHNlIGVzdMOhIGEgYmlzc2V0YXIgbWFpcyFcbiIKKworIzogYmlzZWN0LmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhIHZhbGlkIGNvbW1pdCBuYW1lICVzIgorbXNnc3RyICIlcyBuw6NvIMOpIHVtIG5vbWUgZGUgY29tbWl0IHbDoWxpZG8iCisKKyM6IGJpc2VjdC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIG1lcmdlIGJhc2UgJXMgaXMgYmFkLlxuIgorIlRoaXMgbWVhbnMgdGhlIGJ1ZyBoYXMgYmVlbiBmaXhlZCBiZXR3ZWVuICVzIGFuZCBbJXNdLlxuIgorbXNnc3RyICIiCisiQSBiYXNlIGRlIGludGVncmHDp8OjbyAlcyDDqSBtw6EgKGJhZCkuXG4iCisiU2lnbmlmaWNhIHF1ZSBvIGJ1ZyBmb2kgY29ycmlnaWRvIGVudHJlICVzIGUgWyVzXS5cbiIKKworIzogYmlzZWN0LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBuZXcuXG4iCisiVGhlIHByb3BlcnR5IGhhcyBjaGFuZ2VkIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgIiIKKyJBIGJhc2UgZGUgaW50ZWdyYcOnw6NvICVzIMOpIG5vdmEgKG5ldykuXG4iCisiQSBwcm9wcmllZGFkZSBmb2kgbXVkYWRhIGVudHJlICVzIGUgWyVzXS5cbiIKKworIzogYmlzZWN0LmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbWVyZ2UgYmFzZSAlcyBpcyAlcy5cbiIKKyJUaGlzIG1lYW5zIHRoZSBmaXJzdCAnJXMnIGNvbW1pdCBpcyBiZXR3ZWVuICVzIGFuZCBbJXNdLlxuIgorbXNnc3RyICIiCisiQSBiYXNlIGRlIGludGVncmHDp8OjbyAlcyDDqSAlcy5cbiIKKyJTaWduaWZpY2EgcXVlIG8gcHJpbWVpcm8gY29tbWl0ICclcycgZXN0w6EgZW50cmUgJXMgZSBbJXNdLlxuIgorCisjOiBiaXNlY3QuYzo3NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlNvbWUgJXMgcmV2cyBhcmUgbm90IGFuY2VzdG9yIG9mIHRoZSAlcyByZXYuXG4iCisiZ2l0IGJpc2VjdCBjYW5ub3Qgd29yayBwcm9wZXJseSBpbiB0aGlzIGNhc2UuXG4iCisiTWF5YmUgeW91IG1pc3Rvb2sgJXMgYW5kICVzIHJldnM/XG4iCittc2dzdHIgIiIKKyJBbGd1bWFzIHJldmlzw7VlcyAlcyBuw6NvIGFudGVjZWRlbSBhIHJldmlzw6NvICVzLlxuIgorImdpdCBiaXNlY3QgbsOjbyBwb2RlIGZ1bmNpb25hciBjb3JyZXRhbWVudGUgbmVzdGEgc2l0dWHDp8Ojby5cbiIKKyJUYWx2ZXogY29uZnVuZGl1IHJldmlzw7VlcyAlcyBlICVzP1xuIgorCisjOiBiaXNlY3QuYzo3NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBtZXJnZSBiYXNlIGJldHdlZW4gJXMgYW5kIFslc10gbXVzdCBiZSBza2lwcGVkLlxuIgorIlNvIHdlIGNhbm5vdCBiZSBzdXJlIHRoZSBmaXJzdCAlcyBjb21taXQgaXMgYmV0d2VlbiAlcyBhbmQgJXMuXG4iCisiV2UgY29udGludWUgYW55d2F5LiIKK21zZ3N0ciAiIgorInRlbS1zZSBxdWUgc2FsdGFyIGEgYmFzZSBkZSBpbnRlZ3Jhw6fDo28gZW50cmUgJXMgZSBbJXNdLlxuIgorIlBvcnRhbnRvIG7Do28gc2UgcG9kZSB0ZXIgYSBjZXJ0ZXphIHF1ZSBvIHByaW1laXJvIGNvbW1pdCAlcyBlc3TDoSBlbnRyZSAlcyBlICIKKyIlcy5cbiIKKyJDb250aW51YS1zZSBkZSBxdWFscXVlciBtYW5laXJhLiIKKworIzogYmlzZWN0LmM6Nzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJpc2VjdGluZzogYSBtZXJnZSBiYXNlIG11c3QgYmUgdGVzdGVkXG4iCittc2dzdHIgIkEgYmlzc2V0YXI6IHVtYSBiYXNlIGRlIGludGVncmHDp8OjbyB0ZW0gZGUgc2VyIHRlc3RhZGFcbiIKKworIzogYmlzZWN0LmM6ODQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImEgJXMgcmV2aXNpb24gaXMgbmVlZGVkIgorbXNnc3RyICJwcmVjaXNhLXNlIGRlIHVtYSByZXZpc8OjbyAlcyIKKworIzogYmlzZWN0LmM6ODY2IGJ1aWx0aW4vbm90ZXMuYzoxNzQgYnVpbHRpbi90YWcuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciBvIGZpY2hlaXJvICclcyciCisKKyM6IGJpc2VjdC5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBmaWxlICclcyciCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgbyBmaWNoZWlybyAnJXMnIgorCisjOiBiaXNlY3QuYzo5NDcKK21zZ2lkICJyZWFkaW5nIGJpc2VjdCByZWZzIGZhaWxlZCIKK21zZ3N0ciAiZmFsaGEgYW8gbGVyIHJlZmVyw6puY2lhcyBiaXNzZXRhZGFzIgorCisjOiBiaXNlY3QuYzo5NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgd2FzIGJvdGggJXMgYW5kICVzXG4iCittc2dzdHIgIiVzIGVyYSAlcyBlICVzIGVtIHNpbXVsdMOibmVvXG4iCisKKyM6IGJpc2VjdC5jOjk3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm8gdGVzdGFibGUgY29tbWl0IGZvdW5kLlxuIgorIk1heWJlIHlvdSBzdGFydGVkIHdpdGggYmFkIHBhdGggcGFyYW1ldGVycz9cbiIKK21zZ3N0ciAiIgorIk5lbmh1bSBjb21taXQgdGVzdMOhdmVsIGVuY29udHJhZG8uXG4iCisiVGFsdmV6IHRlbmhhIGNvbWXDp2FkbyBjb20gcGFyw6JtZXRyb3MgZGUgY2FtaW5obyBpbmNvcnJldG9zP1xuIgorCisjOiBiaXNlY3QuYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHJvdWdobHkgJWQgc3RlcCkiCittc2dpZF9wbHVyYWwgIihyb3VnaGx5ICVkIHN0ZXBzKSIKK21zZ3N0clswXSAiKGFwcm94aW1hZGFtZW50ZSAlZCBwYXNzbykiCittc2dzdHJbMV0gIihhcHJveGltYWRhbWVudGUgJWQgcGFzc29zKSIKKworIy4gVFJBTlNMQVRPUlM6IHRoZSBsYXN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aAorIy4gIihyb3VnaGx5ICVkIHN0ZXBzKSIgdHJhbnNsYXRpb24KKyM6IGJpc2VjdC5jOjk5OAorIywgYy1mb3JtYXQKK21zZ2lkICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9uIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iCittc2dpZF9wbHVyYWwgIkJpc2VjdGluZzogJWQgcmV2aXNpb25zIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iCittc2dzdHJbMF0gIkEgYmlzc2V0YXI6IGZhbHRhICVkIHJldmlzw6NvIHBhcmEgdGVzdGFyIGRlcG9pcyBkZXN0YSAlc1xuIgorbXNnc3RyWzFdICJBIGJpc3NldGFyOiBmYWx0YW0gJWQgcmV2aXPDtWVzIHBhcmEgdGVzdGFyIGRlcG9pcyBkZXN0YSAlc1xuIgorCiAjOiBicmFuY2guYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCkBAIC0yNTgsMjcgKzEwODYsMjcgQEAKICJvIHNldSBob23Ds2xvZ28gcmVtb3RvLCBwb2RlIHVzYXIgXCJnaXQgcHVzaCAtdVwiIHBhcmEgY29uZmlndXJhclxuIgogIm8gcmVzcGV0aXZvIHJhbW8gYSBtb250YW50ZSwgYW8gbWVzbW8gdGVtcG8gcXVlIHB1YmxpY2EuIgogCi0jOiBicmFuY2guYzoyNjYKKyM6IGJyYW5jaC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIk5vbWUgZGUgb2JqZXRvIGludsOhbGlkbzogJyVzJy4iCiAKLSM6IGJyYW5jaC5jOjI4NgorIzogYnJhbmNoLmM6Mjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFtYmlndW91cyBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIk5vbWUgZGUgb2JqZXRvIGFtYsOtZ3VvOiAnJXMnLiIKIAotIzogYnJhbmNoLmM6MjkxCisjOiBicmFuY2guYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgYnJhbmNoIHBvaW50OiAnJXMnLiIKIG1zZ3N0ciAiUG9udG8gbm8gcmFtbyBpbnbDoWxpZG86ICclcycuIgogCi0jOiBicmFuY2guYzozNDUKKyM6IGJyYW5jaC5jOjM0NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiJyVzJyBmb2kgasOhIGV4dHJhw61kbyBlbSAnJXMnIgogCi0jOiBicmFuY2guYzozNjQKKyM6IGJyYW5jaC5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEIG9mIHdvcmtpbmcgdHJlZSAlcyBpcyBub3QgdXBkYXRlZCIKIG1zZ3N0ciAiSEVBRCBkYSDDoXJ2b3JlIGRlIHRyYWJhbGhvICVzIG7Do28gZXN0w6EgYXR1YWxpemFkYSIKQEAgLTI5Myw3ICsxMTIxLDcgQEAKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVhZGVyOiAlcyVzICglZCkiCiBtc2dzdHIgImNhYmXDp2FsaG8gbsOjbyByZWNvbmhlY2lkbzogJXMlcyAoJWQpIgogCi0jOiBidW5kbGUuYzo4NyBidWlsdGluL2NvbW1pdC5jOjc3NworIzogYnVuZGxlLmM6ODcgc2VxdWVuY2VyLmM6OTYzIGJ1aWx0aW4vY29tbWl0LmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAnJXMnIgpAQCAtMzAyLDEwICsxMTMwLDEwIEBACiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCiBtc2dzdHIgIk8gcmVwb3NpdMOzcmlvIG7Do28gcG9zc3XDrSBlc3RlcyBjb21taXRzIHByw6ktcmVxdWlzaXRhZG9zOiIKIAotIzogYnVuZGxlLmM6MTYzIHJlZi1maWx0ZXIuYzoxNDYyIHNlcXVlbmNlci5jOjYyNyBzZXF1ZW5jZXIuYzoxMDczCi0jOiBidWlsdGluL2JsYW1lLmM6Mjc1NSBidWlsdGluL2NvbW1pdC5jOjEwNTYgYnVpbHRpbi9sb2cuYzozNDAKLSM6IGJ1aWx0aW4vbG9nLmM6ODYzIGJ1aWx0aW4vbG9nLmM6MTMwOCBidWlsdGluL2xvZy5jOjE2MzMgYnVpbHRpbi9sb2cuYzoxODc1Ci0jOiBidWlsdGluL21lcmdlLmM6MzYxIGJ1aWx0aW4vc2hvcnRsb2cuYzoxNzAKKyM6IGJ1bmRsZS5jOjE2MyByZWYtZmlsdGVyLmM6MTQ2MiBzZXF1ZW5jZXIuYzo4MzAgc2VxdWVuY2VyLmM6MTM3NAorIzogYnVpbHRpbi9ibGFtZS5jOjI4MTQgYnVpbHRpbi9jb21taXQuYzoxMDYxIGJ1aWx0aW4vbG9nLmM6MzQ4CisjOiBidWlsdGluL2xvZy5jOjg5MCBidWlsdGluL2xvZy5jOjEzNDAgYnVpbHRpbi9sb2cuYzoxNjY2IGJ1aWx0aW4vbG9nLmM6MTkwOQorIzogYnVpbHRpbi9tZXJnZS5jOjM1NiBidWlsdGluL3Nob3J0bG9nLmM6MTcwCiBtc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCiBtc2dzdHIgImZhbGhhIGFvIGNvbmZpZ3VyYXIgcGVyY3Vyc28gZGUgcmV2aXPDtWVzIgogCkBAIC0zNDQsNyArMTE3Miw3IEBACiBtc2dpZCAicmVmICclcycgaXMgZXhjbHVkZWQgYnkgdGhlIHJldi1saXN0IG9wdGlvbnMiCiBtc2dzdHIgImEgcmVmZXLDqm5jaWEgJyVzJyDDqSBleGNsdcOtZGEgcGVsYXMgb3DDp8O1ZXMgZGUgcmV2LWxpc3QiCiAKLSM6IGJ1bmRsZS5jOjQ0MyBidWlsdGluL2xvZy5jOjE2MyBidWlsdGluL2xvZy5jOjE1MzggYnVpbHRpbi9zaG9ydGxvZy5jOjI3MworIzogYnVuZGxlLmM6NDQzIGJ1aWx0aW4vbG9nLmM6MTY1IGJ1aWx0aW4vbG9nLmM6MTU3MiBidWlsdGluL3Nob3J0bG9nLmM6MjczCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgImFyZ3VtZW50byBuw6NvIHJlY29uaGVjaWRvOiAlcyIKQEAgLTM2MiwxMyArMTE5MCwxMyBAQAogbXNnaWQgImluZGV4LXBhY2sgZGllZCIKIG1zZ3N0ciAiaW5kZXgtcGFjayB0ZXJtaW5vdSBpbmVzcGVyYWRhbWVudGUiCiAKLSM6IGNvbG9yLmM6Mjc1CisjOiBjb2xvci5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbG9yIHZhbHVlOiAlLipzIgogbXNnc3RyICJ2YWxvciBkZSBjb3IgaW52w6FsaWRvOiAlLipzIgogCi0jOiBjb21taXQuYzo0MCBidWlsdGluL2FtLmM6NDM3IGJ1aWx0aW4vYW0uYzo0NzMgYnVpbHRpbi9hbS5jOjE1MDQKLSM6IGJ1aWx0aW4vYW0uYzoyMTM0CisjOiBjb21taXQuYzo0MCBidWlsdGluL2FtLmM6NDIxIGJ1aWx0aW4vYW0uYzo0NTcgYnVpbHRpbi9hbS5jOjE0OTMKKyM6IGJ1aWx0aW4vYW0uYzoyMTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFuYWxpc2FyICVzIgpAQCAtMzc4LDEzMyArMTIwNiwyNTQgQEAKIG1zZ2lkICIlcyAlcyBpcyBub3QgYSBjb21taXQhIgogbXNnc3RyICIlcyAlcyBuw6NvIMOpIHVtIGNvbW1pdCEiCiAKKyM6IGNvbW1pdC5jOjE1MTQKK21zZ2lkICIiCisiV2FybmluZzogY29tbWl0IG1lc3NhZ2UgZGlkIG5vdCBjb25mb3JtIHRvIFVURi04LlxuIgorIllvdSBtYXkgd2FudCB0byBhbWVuZCBpdCBhZnRlciBmaXhpbmcgdGhlIG1lc3NhZ2UsIG9yIHNldCB0aGUgY29uZmlnXG4iCisidmFyaWFibGUgaTE4bi5jb21taXRlbmNvZGluZyB0byB0aGUgZW5jb2RpbmcgeW91ciBwcm9qZWN0IHVzZXMuXG4iCittc2dzdHIgIiIKKyJhdmlzbzogYSBtZW5zYWdlbSBkZSBjb21taXQgbsOjbyBjb25mb3JtYSBjb20gVVRGLTguXG4iCisiUG9kZSBxdWVyZXIgZW1lbmTDoS1sbyBkZXBvaXMgZGUgY29ycmlnaXIgYSBtZW5zYWdlbSBvdSBkZWZpbmlyIGFcbiIKKyJ2YXJpw6F2ZWwgZGUgY29uZmlndXJhw6fDo28gaTE4bi5jb21taXRlbmNvZGluZyBjb20gYSBjb2RpZmljYcOnw6NvIHF1ZVxuIgorIm8gc2V1IHByb2pldG8gdXRpbGl6YS5cbiIKKwogIzogY29tcGF0L29ic3RhY2suYzo0MDYgY29tcGF0L29ic3RhY2suYzo0MDgKIG1zZ2lkICJtZW1vcnkgZXhoYXVzdGVkIgogbXNnc3RyICJtZW3Ds3JpYSBlc2dvdGFkYSIKIAotIzogY29uZmlnLmM6NDc1IGNvbmZpZy5jOjQ3NwotIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluICVzICVzIgotbXNnc3RyICJsaW5oYSAlZCBkZSBjb25maWd1cmHDp8OjbyBpbmNvcnJldGEgZW0gJXMgJXMiCisjOiBjb25maWcuYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCittc2dzdHIgImxpbmhhIGRlIGNvbmZpZ3VyYcOnw6NvICVkIGluY29ycmV0YSBubyBibG9iICVzIgogCi0jOiBjb25maWcuYzo1OTMKLSMsIGMtZm9ybWF0LCBmdXp6eQotbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzICVzOiAlcyIKLW1zZ3N0ciAidmFsb3IgbnVtw6lyaWNvICclcycgZGEgY29uZmlndXJhw6fDo28gJyVzJyBlbSAlcyAlcyBpbmNvcnJldG86ICVzIgorIzogY29uZmlnLmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBmaWxlICVzIgorbXNnc3RyICJsaW5oYSBkZSBjb25maWd1cmHDp8OjbyAlZCBpbmNvcnJldGEgbm8gZmljaGVpcm8gJXMiCiAKLSM6IGNvbmZpZy5jOjU5NQorIzogY29uZmlnLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAibGluaGEgZGUgY29uZmlndXJhw6fDo28gJWQgaW5jb3JyZXRhIG5hIGVudHJhZGEgcGFkcsOjbyIKKworIzogY29uZmlnLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdWJtb2R1bGUtYmxvYiAlcyIKK21zZ3N0ciAibGluaGEgZGUgY29uZmlndXJhw6fDo28gJWQgaW5jb3JyZXRhIG5vIHN1Ym3Ds2R1bG8tYmxvYiAlcyIKKworIzogY29uZmlnLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCittc2dzdHIgImxpbmhhIGRlIGNvbmZpZ3VyYcOnw6NvICVkIGluY29ycmV0YSBuYSBsaW5oYSBkZSBjb21hbmRvcyAlcyIKKworIzogY29uZmlnLmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyIKK21zZ3N0ciAibGluaGEgZGUgY29uZmlndXJhw6fDo28gJWQgaW5jb3JyZXRhIGVtICVzIgorCisjOiBjb25maWcuYzo2NTUKK21zZ2lkICJvdXQgb2YgcmFuZ2UiCittc2dzdHIgImZvcmEgZGUgaW50ZXJ2YWxvIgorCisjOiBjb25maWcuYzo2NTUKK21zZ2lkICJpbnZhbGlkIHVuaXQiCittc2dzdHIgInVuaWRhZGUgaW52w6FsaWRhIgorCisjOiBjb25maWcuYzo2NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcyc6ICVzIgogbXNnc3RyICJ2YWxvciBudW3DqXJpY28gJyVzJyBkYSBjb25maWd1cmHDp8OjbyAnJXMnIGluY29ycmV0bzogJXMiCiAKLSM6IGNvbmZpZy5jOjY4MAorIzogY29uZmlnLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGJsb2IgJXM6ICVzIgorbXNnc3RyICJ2YWxvciBudW3DqXJpY28gJyVzJyBkYSBjb25maWd1cmHDp8OjbyAnJXMnIGluY29ycmV0byBubyBibG9iICVzOiAlcyIKKworIzogY29uZmlnLmM6NjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGZpbGUgJXM6ICVzIgorbXNnc3RyICJ2YWxvciBudW3DqXJpY28gJyVzJyBkYSBjb25maWd1cmHDp8OjbyAnJXMnIGluY29ycmV0byBubyBmaWNoZWlybyAlczogJXMiCisKKyM6IGNvbmZpZy5jOjY3MgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdGFuZGFyZCBpbnB1dDogJXMiCittc2dzdHIgIiIKKyJ2YWxvciBudW3DqXJpY28gJyVzJyBkYSBjb25maWd1cmHDp8OjbyAnJXMnIGluY29ycmV0byBuYSBlbnRyYWRhIHBhZHLDo286ICVzIgorCisjOiBjb25maWcuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6ICVzIgorbXNnc3RyICIiCisidmFsb3IgbnVtw6lyaWNvICclcycgZGEgY29uZmlndXJhw6fDo28gJyVzJyBpbmNvcnJldG8gbm8gc3VibcOzZHVsby1ibG9iICVzOiAlcyIKKworIzogY29uZmlnLmM6Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiCittc2dzdHIgIiIKKyJ2YWxvciBudW3DqXJpY28gJyVzJyBkYSBjb25maWd1cmHDp8OjbyAnJXMnIGluY29ycmV0byBuYSBsaW5oYSBkZSBjb21hbmRvcyAlczogIgorIiVzIgorCisjOiBjb25maWcuYzo2ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gJXM6ICVzIgorbXNnc3RyICJ2YWxvciBudW3DqXJpY28gJyVzJyBkYSBjb25maWd1cmHDp8OjbyAnJXMnIGluY29ycmV0byBlbSAlczogJXMiCisKKyM6IGNvbmZpZy5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhwYW5kIHVzZXIgZGlyIGluOiAnJXMnIgogbXNnc3RyICJmYWxoYSBhbyBleHBhbmRpciBkaXJldMOzcmlvIGRlIHV0aWxpemFkb3IgZW06ICclcyciCiAKLSM6IGNvbmZpZy5jOjc2MSBjb25maWcuYzo3NzIKKyM6IGNvbmZpZy5jOjg1MiBjb25maWcuYzo4NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHpsaWIgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIm7DrXZlbCBkZSBjb21wcmVzc8OjbyB6bGliICVkIGluY29ycmV0byIKIAotIzogY29uZmlnLmM6ODkwCisjOiBjb25maWcuYzo5NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBtb2RlIGZvciBvYmplY3QgY3JlYXRpb246ICVzIgogbXNnc3RyICJtb2RvIGludsOhbGlkbyBwYXJhIGNyaWHDp8OjbyBkZSBvYmpldG86ICVzIgogCi0jOiBjb25maWcuYzoxMjI4CisjOiBjb25maWcuYzoxMzEyCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFuYWxpc2FyIGNvbmZpZ3VyYcOnw6NvIGRlIGxpbmhhIGRlIGNvbWFuZG9zIgogCi0jOiBjb25maWcuYzoxMjg0Ci1tc2dpZCAidW5rbm93biBlcnJvciBvY2N1cmVkIHdoaWxlIHJlYWRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMiCisjOiBjb25maWcuYzoxMzYyCittc2dpZCAidW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIgogbXNnc3RyICIiCiAib2NvcnJldSB1bSBlcnJvIGRlc2NvbmhlY2lkbyBkdXJhbnRlIGEgbGVpdHVyYSBkb3MgZmljaGVpcm9zIGRlIGNvbmZpZ3VyYcOnw6NvIgogCi0jOiBjb25maWcuYzoxNjI5CisjOiBjb25maWcuYzoxNzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJXMnIGZyb20gY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYW5hbGlzYXIgJyVzJyBkYSBjb25maWd1cmHDp8OjbyBkZSBsaW5oYSBkZSBjb21hbmRvcyIKIAotIzogY29uZmlnLmM6MTYzMQorIzogY29uZmlnLmM6MTcxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIHZhcmlhYmxlICclcycgaW4gZmlsZSAnJXMnIGF0IGxpbmUgJWQiCiBtc2dzdHIgInZhcmnDoXZlbCBkZSBjb25maWd1cmHDp8OjbyAnJXMnIGluY29ycmV0YSBubyBmaWNoZWlybyAnJXMnIG5hIGxpbmhhICVkIgogCi0jOiBjb25maWcuYzoxNjkwCisjOiBjb25maWcuYzoxNzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBtdWx0aXBsZSB2YWx1ZXMiCiBtc2dzdHIgIiVzIHRlbSBtw7psdGlwbG9zIHZhbG9yZXMiCiAKLSM6IGNvbmZpZy5jOjIyMjQKKyM6IGNvbmZpZy5jOjIzMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBkZWZpbmlyICclcycgY29tbyAnJXMnIgogCi0jOiBjb25maWcuYzoyMjI2CisjOiBjb25maWcuYzoyMzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcmVpbmljaWFyICclcyciCiAKLSM6IGNvbm5lY3RlZC5jOjY5CisjOiBjb25uZWN0LmM6NDkKK21zZ2lkICJUaGUgcmVtb3RlIGVuZCBodW5nIHVwIHVwb24gaW5pdGlhbCBjb250YWN0IgorbXNnc3RyICJPIHJlbW90byBkZXNsaWdvdSBhcMOzcyBjb250YWN0byBpbmljaWFsIgorCisjOiBjb25uZWN0LmM6NTEKK21zZ2lkICIiCisiQ291bGQgbm90IHJlYWQgZnJvbSByZW1vdGUgcmVwb3NpdG9yeS5cbiIKKyJcbiIKKyJQbGVhc2UgbWFrZSBzdXJlIHlvdSBoYXZlIHRoZSBjb3JyZWN0IGFjY2VzcyByaWdodHNcbiIKKyJhbmQgdGhlIHJlcG9zaXRvcnkgZXhpc3RzLiIKK21zZ3N0ciAiIgorIk7Do28gZm9pIHBvc3PDrXZlbCBsZXIgZG8gcmVwb3NpdMOzcmlvIHJlbW90by5cbiIKKyJcbiIKKyJDZXJ0aWZpY2Etc2UgcXVlIHRlbSBvcyBkaXJlaXRvcyBkZSBhY2Vzc28gY29ycmV0b3NcbiIKKyJlIHF1ZSBvIHJlcG9zaXTDs3JpbyBleGlzdGUuIgorCisjOiBjb25uZWN0ZWQuYzo2MyBidWlsdGluL2ZzY2suYzoxNzMgYnVpbHRpbi9wcnVuZS5jOjE0MAorbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKK21zZ3N0ciAiQSB2ZXJpZmljYXIgY29uZWN0aXZpZGFkZSIKKworIzogY29ubmVjdGVkLmM6NzUKIG1zZ2lkICJDb3VsZCBub3QgcnVuICdnaXQgcmV2LWxpc3QnIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZXhlY3V0YXIgJ2dpdCByZXYtbGlzdCciCiAKLSM6IGNvbm5lY3RlZC5jOjg5CisjOiBjb25uZWN0ZWQuYzo5NQogbXNnaWQgImZhaWxlZCB3cml0ZSB0byByZXYtbGlzdCIKIG1zZ3N0ciAiZmFsaGEgYW8gZXNjcmV2ZXIgcGFyYSByZXYtbGlzdCIKIAotIzogY29ubmVjdGVkLmM6OTYKKyM6IGNvbm5lY3RlZC5jOjEwMgogbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluIgogbXNnc3RyICJmYWxoYSBhbyBmZWNoYXIgZW50cmFkYSBwYWRyw6NvIGRlIHJldi1saXN0IgogCi0jOiBkYXRlLmM6OTUKKyM6IGNvbnZlcnQuYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNSTEYgd2lsbCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy5cbiIKKyJUaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdpbmFsIGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5LiIKK21zZ3N0ciAiIgorIkNSTEYgc2Vyw6Egc3Vic3RpdHXDrWRvIHBvciBMRiBlbSAlcy5cbiIKKyJPIGZpbmFsIGRlIGxpbmhhIG9yaWdpbmFsIHNlcsOhIG1hbnRpZG8gbm8gZmljaGVpcm8gZGEgc3VhIMOhcnZvcmUgZGUgdHJhYmFsaG8uIgorCisjOiBjb252ZXJ0LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNSTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuIgorbXNnc3RyICJDUkxGIHNlcsOhIHN1YnN0aXR1w61kbyBwb3IgTEYgZW0gJXMuIgorCisjOiBjb252ZXJ0LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMuXG4iCisiVGhlIGZpbGUgd2lsbCBoYXZlIGl0cyBvcmlnaW5hbCBsaW5lIGVuZGluZ3MgaW4geW91ciB3b3JraW5nIGRpcmVjdG9yeS4iCittc2dzdHIgIiIKKyJMRiBzZXLDoSBzdWJzdGl0dcOtZG8gcG9yIENSTEYgZW0gJXMuXG4iCisiTyBmaW5hbCBkZSBsaW5oYSBvcmlnaW5hbCBzZXLDoSBtYW50aWRvIG5vIGZpY2hlaXJvIGRhIHN1YSDDoXJ2b3JlIGRlIHRyYWJhbGhvLiIKKworIzogY29udmVydC5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzIgorbXNnc3RyICJMRiBzZXLDoSBzdWJzdGl0dcOtZG8gcG9yIENSTEYgZW0gJXMuIgorCisjOiBkYXRlLmM6OTcKIG1zZ2lkICJpbiB0aGUgZnV0dXJlIgogbXNnc3RyICJubyBmdXR1cm8iCiAKLSM6IGRhdGUuYzoxMDEKKyM6IGRhdGUuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHNlY29uZCBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBzZWNvbmRzIGFnbyIKLW1zZ3N0clswXSAiaMOhICVsdSBzZWd1bmRvIGF0csOhcyIKLW1zZ3N0clsxXSAiaMOhICVsdSBzZWd1bmRvcyBhdHLDoXMiCittc2dzdHJbMF0gImjDoSAlbHUgc2VndW5kbyIKK21zZ3N0clsxXSAiaMOhICVsdSBzZWd1bmRvcyIKIAotIzogZGF0ZS5jOjEwOAorIzogZGF0ZS5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgbWludXRlIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IG1pbnV0ZXMgYWdvIgotbXNnc3RyWzBdICJow6EgJWx1IG1pbnV0byBhdHLDoXMiCi1tc2dzdHJbMV0gImjDoSAlbHUgbWludXRvcyBhdHLDoXMiCittc2dzdHJbMF0gImjDoSAlbHUgbWludXRvIgorbXNnc3RyWzFdICJow6EgJWx1IG1pbnV0b3MiCiAKLSM6IGRhdGUuYzoxMTUKKyM6IGRhdGUuYzoxMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IGhvdXIgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgaG91cnMgYWdvIgotbXNnc3RyWzBdICJow6EgJWx1IGhvcmEgYXRyw6FzIgotbXNnc3RyWzFdICJow6EgJWx1IGhvcmFzIGF0csOhcyIKK21zZ3N0clswXSAiaMOhICVsdSBob3JhIgorbXNnc3RyWzFdICJow6EgJWx1IGhvcmFzIgogCi0jOiBkYXRlLmM6MTIyCisjOiBkYXRlLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSBkYXkgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgZGF5cyBhZ28iCi1tc2dzdHJbMF0gImjDoSAlbHUgZGlhIGF0csOhcyIKLW1zZ3N0clsxXSAiaMOhICVsdSBkaWFzIGF0csOhcyIKK21zZ3N0clswXSAiaMOhICVsdSBkaWEiCittc2dzdHJbMV0gImjDoSAlbHUgZGlhcyIKIAotIzogZGF0ZS5jOjEyOAorIzogZGF0ZS5jOjEzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgd2VlayBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSB3ZWVrcyBhZ28iCi1tc2dzdHJbMF0gImjDoSAlbHUgc2VtYW5hIGF0csOhcyIKLW1zZ3N0clsxXSAiaMOhICVsdSBzZW1hbmFzIGF0csOhcyIKK21zZ3N0clswXSAiaMOhICVsdSBzZW1hbmEiCittc2dzdHJbMV0gImjDoSAlbHUgc2VtYW5hcyIKIAotIzogZGF0ZS5jOjEzNQorIzogZGF0ZS5jOjEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgbW9udGggYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgbW9udGhzIGFnbyIKLW1zZ3N0clswXSAiaMOhICVsdSBtw6pzIGF0csOhcyIKLW1zZ3N0clsxXSAiaMOhICVsdSBtZXNlcyBhdHLDoXMiCittc2dzdHJbMF0gImjDoSAlbHUgbcOqcyIKK21zZ3N0clsxXSAiaMOhICVsdSBtZXNlcyIKIAotIzogZGF0ZS5jOjE0NgorIzogZGF0ZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgeWVhciIKIG1zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIgpAQCAtNTEyLDQ1ICsxNDYxLDUwIEBACiBtc2dzdHJbMV0gIiVsdSBhbm9zIgogCiAjLiBUUkFOU0xBVE9SUzogIiVzIiBpcyAiPG4+IHllYXJzIgotIzogZGF0ZS5jOjE0OQorIzogZGF0ZS5jOjE1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgJWx1IG1vbnRoIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJXMsICVsdSBtb250aHMgYWdvIgogbXNnc3RyWzBdICJow6EgJXMgZSAlbHUgbcOqcyIKIG1zZ3N0clsxXSAiaMOhICVzIGUgJWx1IG1lc2VzIgogCi0jOiBkYXRlLmM6MTU0IGRhdGUuYzoxNTkKKyM6IGRhdGUuYzoxNTYgZGF0ZS5jOjE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgeWVhciBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSB5ZWFycyBhZ28iCi1tc2dzdHJbMF0gImjDoSAlbHUgYW5vIGF0csOhcyIKLW1zZ3N0clsxXSAiaMOhICVsdSBhbm9zIGF0csOhcyIKK21zZ3N0clswXSAiaMOhICVsdSBhbm8iCittc2dzdHJbMV0gImjDoSAlbHUgYW5vcyIKIAogIzogZGlmZmNvcmUtb3JkZXIuYzoyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvcmRlcmZpbGUgJyVzJyIKIG1zZ3N0ciAiZmFsaGEgYW8gbGVyIG8gZmljaGVpcm8gZGUgY29tYW5kbyAnJXMnIgogCi0jOiBkaWZmY29yZS1yZW5hbWUuYzo1MzgKKyM6IGRpZmZjb3JlLXJlbmFtZS5jOjUzNgogbXNnaWQgIlBlcmZvcm1pbmcgaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uIgogbXNnc3RyICJEZXRlw6fDo28gZGUgbXVkYW7Dp2EgZGUgbm9tZSBpbmV4YXRhIGVtIGN1cnNvIgogCi0jOiBkaWZmLmM6MTE2CisjOiBkaWZmLmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAiYSBvcMOnw6NvICclcycgcmVxdWVyIHVtIHZhbG9yIgorCisjOiBkaWZmLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmFpbGVkIHRvIHBhcnNlIGRpcnN0YXQgY3V0LW9mZiBwZXJjZW50YWdlICclcydcbiIKIG1zZ3N0ciAiICBGYWxoYSBhbyBhbmFsaXNhciBwZXJjZW50YWdlbSBsaW1pdGUgZGUgZGlyc3RhdCAnJXMnXG4iCiAKLSM6IGRpZmYuYzoxMjEKKyM6IGRpZmYuYzoxMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBVbmtub3duIGRpcnN0YXQgcGFyYW1ldGVyICclcydcbiIKIG1zZ3N0ciAiICBQYXLDom1ldHJvIGRlIGRpcnN0YXQgZGVzY29uaGVjaWRvICclcydcbiIKIAotIzogZGlmZi5jOjIyNQorIzogZGlmZi5jOjI4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHZhbHVlIGZvciAnZGlmZi5zdWJtb2R1bGUnIGNvbmZpZyB2YXJpYWJsZTogJyVzJyIKIG1zZ3N0ciAiVmFsb3IgZGVzY29uaGVjaWRvIG5hIHZhcmnDoXZlbCBkZSBjb25maWd1cmHDp8OjbyAnZGlmZi5zdWJtb2R1bGUnOiAnJXMnIgogCi0jOiBkaWZmLmM6Mjc3CisjOiBkaWZmLmM6MzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGb3VuZCBlcnJvcnMgaW4gJ2RpZmYuZGlyc3RhdCcgY29uZmlnIHZhcmlhYmxlOlxuIgpAQCAtNTU5LDE2ICsxNTEzLDIwIEBACiAiRXJyb3MgZW5jb250cmFkb3MgbmEgdmFyacOhdmVsIGRlIGNvbmZpZ3VyYcOnw6NvICdkaWZmLmRpcnN0YXQnOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzAwNworIzogZGlmZi5jOjMwODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZGlmZiBkaWVkLCBzdG9wcGluZyBhdCAlcyIKIG1zZ3N0ciAibyBkaWZmIGV4dGVybm8gdGVybWlub3UgaW5lc3BlcmFkYW1lbnRlLCBpbnRlcnJvbXBpZG8gZW0gJXMiCiAKLSM6IGRpZmYuYzozNDA1CisjOiBkaWZmLmM6MzQxMgorbXNnaWQgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayBlIC1zIHPDo28gbXV0dWFtZW50ZSBleGNsdXNpdm9zIgorCisjOiBkaWZmLmM6MzUwMgogbXNnaWQgIi0tZm9sbG93IHJlcXVpcmVzIGV4YWN0bHkgb25lIHBhdGhzcGVjIgogbXNnc3RyICItLWZvbGxvdyByZXF1ZXIgZXhhdGFtZW50ZSB1bSDDum5pY28gZXNwZWNpZmljYWRvciBkZSBjYW1pbmhvIgogCi0jOiBkaWZmLmM6MzU2OAorIzogZGlmZi5jOjM2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKQEAgLTU3Nyw3MCArMTUzNSwyNDcgQEAKICJGYWxoYSBhbyBhbmFsaXNhciBwYXLDom1ldHJvIGRhIG9ww6fDo28gLS1kaXJzdGF0Ly1YOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzU4MgorIzogZGlmZi5jOjM2NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgIkZhbGhhIGFvIGFuYWxpc2FyIHBhcsOibWV0cm8gZGEgb3DDp8OjbyAtLXN1Ym1vZHVsZTogJyVzJyIKIAotIzogZGlyLmM6MTgyMworIzogZGlmZi5jOjQ3MDAKK21zZ2lkICJpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24gd2FzIHNraXBwZWQgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKK21zZ3N0ciAiIgorImEgZGV0ZcOnw6NvIG11ZGFuw6dhIGRlIG5vbWUgaW5leGF0YSBmb2kgb21pdGlkYSBkZXZpZG8gYSBkZW1hc2lhZG9zIGZpY2hlaXJvcy4iCisKKyM6IGRpZmYuYzo0NzAzCittc2dpZCAib25seSBmb3VuZCBjb3BpZXMgZnJvbSBtb2RpZmllZCBwYXRocyBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgorbXNnc3RyICIiCisic8OzIGZvcmFtIGVuY29udHJhZGFzIGPDs3BpYXMgZGUgY2FtaW5ob3MgbW9kaWZpY2Fkb3MgZGV2aWRvIGEgZGVtYXNpYWRvcyAiCisiZmljaGVpcm9zLiIKKworIzogZGlmZi5jOjQ3MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInlvdSBtYXkgd2FudCB0byBzZXQgeW91ciAlcyB2YXJpYWJsZSB0byBhdCBsZWFzdCAlZCBhbmQgcmV0cnkgdGhlIGNvbW1hbmQuIgorbXNnc3RyICIiCisicG9kZSB0ZW50YXIgZGVmaW5pciBhIHZhcmnDoXZlbCAlcyBwYXJhLCBwZWxvIG1lbm9zLCAlZCBlIHJlcGV0aXIgbyBjb21hbmRvLiIKKworIzogZGlyLmM6MTg2NgogbXNnaWQgImZhaWxlZCB0byBnZXQga2VybmVsIG5hbWUgYW5kIGluZm9ybWF0aW9uIgogbXNnc3RyICJmYWxoYSBhbyBvYnRlciBub21lIGUgaW5mb3JtYcOnw6NvIGRvIGtlcm5lbCIKIAotIzogZGlyLmM6MTk0MgorIzogZGlyLmM6MTk4NQogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBpcyBkaXNhYmxlZCBvbiB0aGlzIHN5c3RlbSBvciBsb2NhdGlvbi4iCiBtc2dzdHIgIkEgY2FjaGUgbsOjbyBjb250cm9sYWRhIGVzdMOhIGRlc2F0aXZhZGEgbmVzdGUgc2lzdGVtYSBvdSBsb2NhbGl6YcOnw6NvLiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE2NiBncGctaW50ZXJmYWNlLmM6MjM1Ci1tc2dpZCAiY291bGQgbm90IHJ1biBncGcuIgotbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZXhlY3V0YXIgZ3BnLiIKKyM6IGZldGNoLXBhY2suYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGVzcGVyYXZhLXNlIGxpc3RhIHJhc2EiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoxNzgKLW1zZ2lkICJncGcgZGlkIG5vdCBhY2NlcHQgdGhlIGRhdGEiCi1tc2dzdHIgImdwZyBuw6NvIGFjZWl0b3Ugb3MgZGFkb3MiCisjOiBmZXRjaC1wYWNrLmM6MjI1Cittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiCittc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBlc3BlcmF2YS1zZSBBQ0svTkFLLCBvYnRldmUtc2UgRU9GIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MTg5CisjOiBmZXRjaC1wYWNrLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgJyVzJyIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGVzcGVyYXZhLXNlIEFDSy9OQUssIG9idGV2ZS1zZSAnJXMnIgorCisjOiBmZXRjaC1wYWNrLmM6Mjk1Cittc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKK21zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVlciBtdWx0aV9hY2tfZGV0YWlsZWQiCisKKyM6IGZldGNoLXBhY2suYzozODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKK21zZ3N0ciAibGluaGEgcmFzYSBpbnbDoWxpZGE6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6Mzg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIKK21zZ3N0ciAibGluaGEgcGFyYSBhcHJvZnVuZGFyIGludsOhbGlkYTogJXMiCisKKyM6IGZldGNoLXBhY2suYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0IG5vdCBmb3VuZDogJXMiCittc2dzdHIgIm9iamV0byBuw6NvIGVuY29udHJhZG86ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGluIG9iamVjdDogJXMiCittc2dzdHIgImVycm8gbm8gb2JqZXRvOiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjM5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gc2hhbGxvdyBmb3VuZDogJXMiCittc2dzdHIgInJhc28gbsOjbyBlbmNvbnRyYWRvOiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjM5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0ZWQgc2hhbGxvdy91bnNoYWxsb3csIGdvdCAlcyIKK21zZ3N0ciAiZXNwZXJhdmEtc2UgcmFzby9hcHJvZnVuZGFyLCBvYnRldmUtc2UgJXMiCisKKyM6IGZldGNoLXBhY2suYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ290ICVzICVkICVzIgorbXNnc3RyICJvYnRldmUtc2UgJXMgJWQgJXMiCisKKyM6IGZldGNoLXBhY2suYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb21taXQgJXMiCittc2dzdHIgImNvbW1pdCBpbnbDoWxpZG8gJXMiCisKKyM6IGZldGNoLXBhY2suYzo0ODMKK21zZ2lkICJnaXZpbmcgdXAiCittc2dzdHIgImRlc2lzdMOqbmNpYSIKKworIzogZmV0Y2gtcGFjay5jOjQ5MyBwcm9ncmVzcy5jOjIzNQorbXNnaWQgImRvbmUiCittc2dzdHIgImNvbmNsdcOtZG8iCisKKyM6IGZldGNoLXBhY2suYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ290ICVzICglZCkgJXMiCittc2dzdHIgIm9idGV2ZS1zZSAlcyAoJWQpICVzIgorCisjOiBmZXRjaC1wYWNrLmM6NTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1hcmtpbmcgJXMgYXMgY29tcGxldGUiCittc2dzdHIgIk1hcmNhZG8gJXMgY29tbyBjb21wbGV0byIKKworIzogZmV0Y2gtcGFjay5jOjY5NworIywgYy1mb3JtYXQKK21zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKK21zZ3N0ciAiasOhIHNlIHRlbSAlcyAoJXMpIgorCisjOiBmZXRjaC1wYWNrLmM6NzM1Cittc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjc0MworbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgcGFjayBoZWFkZXIiCittc2dzdHIgImVycm8gZGUgcHJvdG9jb2xvOiBjYWJlw6dhbGhvIGRlIHBhY290ZSBpbmNvcnJldG8iCisKKyM6IGZldGNoLXBhY2suYzo3OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmICVzIgorbXNnc3RyICJmZXRjaC1wYWNrOiBuw6NvIMOpIHBvc3PDrXZlbCBjcmlhciBwcm9jZXNzbyBmaWxobyAlcyIKKworIzogZmV0Y2gtcGFjay5jOjgxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiVzIGZhbGhvdSIKKworIzogZmV0Y2gtcGFjay5jOjgxNworbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjg0NAorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2xpZW50cyIKK21zZ3N0ciAiTyBzZXJ2aWRvciBuw6NvIHN1cG9ydGEgY2xpZW50ZXMgcmFzb3MiCisKKyM6IGZldGNoLXBhY2suYzo4NDgKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrX2RldGFpbGVkIgorbXNnc3RyICJPIHNlcnZpZG9yIHN1cG9ydGEgbXVsdGlfYWNrX2RldGFpbGVkIgorCisjOiBmZXRjaC1wYWNrLmM6ODUxCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG5vLWRvbmUiCittc2dzdHIgIk8gc2Vydmlkb3Igc3Vwb3J0YSBuby1kb25lIgorCisjOiBmZXRjaC1wYWNrLmM6ODU3Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2FjayIKK21zZ3N0ciAiTyBzZXJ2aWRvciBzdXBvcnRhIG11aWx0aV9hY2siCisKKyM6IGZldGNoLXBhY2suYzo4NjEKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0ayIKK21zZ3N0ciAiTyBzZXJ2aWRvciBzdXBvcnRhIHNpZGUtYmFuZC02NGsiCisKKyM6IGZldGNoLXBhY2suYzo4NjUKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgorbXNnc3RyICJPIHNlcnZpZG9yIHN1cG9ydGEgc2lkZS1iYW5kIgorCisjOiBmZXRjaC1wYWNrLmM6ODY5Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCittc2dzdHIgIk8gc2Vydmlkb3Igc3Vwb3J0YSBhbGxvdy10aXAtc2hhMS1pbi13YW50IgorCisjOiBmZXRjaC1wYWNrLmM6ODczCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCittc2dzdHIgIk8gc2Vydmlkb3Igc3Vwb3J0YSBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgorCisjOiBmZXRjaC1wYWNrLmM6ODgzCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKK21zZ3N0ciAiTyBzZXJ2aWRvciBzdXBvcnRhIG9mcy1kZWx0YSIKKworIzogZmV0Y2gtcGFjay5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgdmVyc2lvbiBpcyAlLipzIgorbXNnc3RyICJBIHZlcnPDo28gZG8gc2Vydmlkb3Igw6kgJS4qcyIKKworIzogZmV0Y2gtcGFjay5jOjg5NgorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1zaW5jZSIKK21zZ3N0ciAiTyBzZXJ2aWRvciBuw6NvIHN1cG9ydGEgLS1zaGFsbG93LXNpbmNlIgorCisjOiBmZXRjaC1wYWNrLmM6OTAwCittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiCittc2dzdHIgIk8gc2Vydmlkb3IgbsOjbyBzdXBvcnRhIC0tc2hhbGxvdy1leGNsdWRlIgorCisjOiBmZXRjaC1wYWNrLmM6OTAyCittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1kZWVwZW4iCittc2dzdHIgIk8gc2Vydmlkb3IgbsOjbyBzdXBvcnRhIC0tZGVlcGVuIgorCisjOiBmZXRjaC1wYWNrLmM6OTEzCittc2dpZCAibm8gY29tbW9uIGNvbW1pdHMiCittc2dzdHIgIm5lbmh1bSBjb21taXQgZW0gY29tdW0iCisKKyM6IGZldGNoLXBhY2suYzo5MjUKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGZhbGhhIGFvIG9idGVyLiIKKworIzogZmV0Y2gtcGFjay5jOjEwODcKK21zZ2lkICJubyBtYXRjaGluZyByZW1vdGUgaGVhZCIKK21zZ3N0ciAibmVuaHVtYSBjYWJlw6dhIHJlbW90YSBjb3JyZXNwb25kZW50ZSIKKworIzogZ3BnLWludGVyZmFjZS5jOjE4NQogbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKIG1zZ3N0ciAiZ3BnIG7Do28gYXNzaW5vdSBvcyBkYWRvcyIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIyMgotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlICclcyciCi1tc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciBmaWNoZWlybyB0ZW1wb3LDoXJpbyAnJXMnIgorIzogZ3BnLWludGVyZmFjZS5jOjIxNQorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciBmaWNoZWlybyB0ZW1wb3LDoXJpbyIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIyNAorIzogZ3BnLWludGVyZmFjZS5jOjIxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJyIKIG1zZ3N0ciAiZmFsaGEgYW8gZXNjcmV2ZXIgYXNzaW5hdHVyYSBkZXN0YWNhZGEgZW0gJyVzJyIKIAotIzogZ3JlcC5jOjE3MTgKKyM6IGdyZXAuYzoxNzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICInJXMnOiBuw6NvIGZvaSBwb3Nzw612ZWwgbGVyICVzIgogCi0jOiBncmVwLmM6MTczNSBidWlsdGluL2Nsb25lLmM6MzgyIGJ1aWx0aW4vZGlmZi5jOjg0IGJ1aWx0aW4vcm0uYzoxNTUKKyM6IGdyZXAuYzoxNzk5IGJ1aWx0aW4vY2xvbmUuYzozODEgYnVpbHRpbi9kaWZmLmM6ODQgYnVpbHRpbi9ybS5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICJmYWxoYSBhbyBpbnZvY2FyIHN0YXQgZGUgJyVzJyIKIAotIzogZ3JlcC5jOjE3NDYKKyM6IGdyZXAuYzoxODEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQiCiBtc2dzdHIgIiclcyc6IGxlaXR1cmEgdHJ1bmNhZGEiCiAKLSM6IGhlbHAuYzoyMDUKKyM6IGhlbHAuYzoyMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgogbXNnc3RyICJjb21hbmRvcyBkbyBnaXQgZGlzcG9uw612ZWwgZW0gJyVzJyIKIAotIzogaGVscC5jOjIxMgorIzogaGVscC5jOjIxMAogbXNnaWQgImdpdCBjb21tYW5kcyBhdmFpbGFibGUgZnJvbSBlbHNld2hlcmUgb24geW91ciAkUEFUSCIKIG1zZ3N0ciAiY29tYW5kb3MgZG8gZ2l0IGRpc3BvbsOtdmVpcyBub3V0cmFzIGxvY2FsaXphw6fDtWVzIGVtICRQQVRIIgogCi0jOiBoZWxwLmM6MjQ0CisjOiBoZWxwLmM6MjQxCiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICJFc3RlcyBzw6NvIGNvbWFuZG9zIGRvIEdpdCBjb211bnMgdXNhZG9zIGVtIGRpdmVyc2FzIHNpdHVhw6fDtWVzOiIKIAotIzogaGVscC5jOjMwOQorIzogaGVscC5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBhcHBlYXJzIHRvIGJlIGEgZ2l0IGNvbW1hbmQsIGJ1dCB3ZSB3ZXJlIG5vdFxuIgpAQCAtNjQ5LDExICsxNzg0LDExIEBACiAiJyVzJyBwYXJlY2Ugc2VyIHVtIGNvbWFuZG8gZG8gZ2l0LCBtYXMgbsOjbyDDqSBwb3Nzw612ZWxcbiIKICJleGVjdXTDoS1sby4gVGFsdmV6IGdpdC0lcyBlc3RlamEgZGFuaWZpY2Fkbz8iCiAKLSM6IGhlbHAuYzozNjYKKyM6IGhlbHAuYzozNjEKIG1zZ2lkICJVaCBvaC4gWW91ciBzeXN0ZW0gcmVwb3J0cyBubyBHaXQgY29tbWFuZHMgYXQgYWxsLiIKIG1zZ3N0ciAiT2ggbsOjby4gTsOjbyBow6EgbmVuaHVtIGNvbWFuZG8gZG8gR2l0IGRpc3BvbsOtdmVsIG5vIHNpc3RlbWEuIgogCi0jOiBoZWxwLmM6Mzg4CisjOiBoZWxwLmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuXG4iCkBAIC02NjIsMTcgKzE3OTcsMTcgQEAKICJBVklTTzogSW52b2NvdSB1bSBjb21hbmRvIGRvIEdpdCBkZXNpZ25hZG8gJyVzJyBxdWUgbsOjbyBleGlzdGUuXG4iCiAiQ29udGludWFuZG8sIGFzc3VtaW5kbyBxdWUgcXVlcmlhIGRpemVyICclcyciCiAKLSM6IGhlbHAuYzozOTMKKyM6IGhlbHAuYzozODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW4gJTAuMWYgc2Vjb25kcyBhdXRvbWF0aWNhbGx5Li4uIgogbXNnc3RyICJhdXRvbWF0aWNhbWVudGUgZW0gJTAuMWYuLi4iCiAKLSM6IGhlbHAuYzo0MDAKKyM6IGhlbHAuYzozOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0OiAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kLiBTZWUgJ2dpdCAtLWhlbHAnLiIKIG1zZ3N0ciAiZ2l0OiAnJXMnIG7Do28gw6kgdW0gY29tYW5kbyBkbyBnaXQuIENvbnN1bHRlICdnaXQgLS1oZWxwJy4iCiAKLSM6IGhlbHAuYzo0MDQgaGVscC5jOjQ2NAorIzogaGVscC5jOjM5OSBoZWxwLmM6NDY1CiBtc2dpZCAiIgogIlxuIgogIkRpZCB5b3UgbWVhbiB0aGlzPyIKQEAgLTY4NiwxMSArMTgyMSwzNyBAQAogIlxuIgogIlF1ZXJpYSBkaXplciBkZXN0ZT8iCiAKLSM6IGhlbHAuYzo0NjAKKyM6IGhlbHAuYzo0NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIC0gJXMiCiBtc2dzdHIgIiVzOiAlcyAtICVzIgogCisjOiBpZGVudC5jOjMzNAorbXNnaWQgIiIKKyJcbiIKKyIqKiogUGxlYXNlIHRlbGwgbWUgd2hvIHlvdSBhcmUuXG4iCisiXG4iCisiUnVuXG4iCisiXG4iCisiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgXCJ5b3VAZXhhbXBsZS5jb21cIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJZb3VyIE5hbWVcIlxuIgorIlxuIgorInRvIHNldCB5b3VyIGFjY291bnQncyBkZWZhdWx0IGlkZW50aXR5LlxuIgorIk9taXQgLS1nbG9iYWwgdG8gc2V0IHRoZSBpZGVudGl0eSBvbmx5IGluIHRoaXMgcmVwb3NpdG9yeS5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiBQb3IgZmF2b3IgZGlnYSBxdWUgw6kuXG4iCisiXG4iCisiRXhlY3V0ZVxuIgorIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwiZXVAZXhlbXBsby5jb21cIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJNZXUgTm9tZVwiXG4iCisiXG4iCisicGFyYSBkZWZpbmlyIGEgaWRlbnRpZGFkZSBwcmVkZWZpbmlkYSBkYSBzdWEgY29udGEuXG4iCisiT21pdGEgLS1nbG9iYWwgcGFyYSBkZWZpbmlyIGEgaWRlbnRpZGFkZSBhcGVuYXMgbmVzdGUgcmVwb3NpdMOzcmlvLlxuIgorIlxuIgorCiAjOiBsb2NrZmlsZS5jOjE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCkBAIC03MTksODMgKzE4ODAsNzggQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgImZhbGhhIGFvIGxlciBhIGNhY2hlIgogCi0jOiBtZXJnZS5jOjk0IGJ1aWx0aW4vYW0uYzoyMDA3IGJ1aWx0aW4vYW0uYzoyMDQyIGJ1aWx0aW4vY2hlY2tvdXQuYzozNzUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODYgYnVpbHRpbi9jbG9uZS5jOjczMgorIzogbWVyZ2UuYzo5NiBidWlsdGluL2FtLmM6MjAwMCBidWlsdGluL2FtLmM6MjAzNSBidWlsdGluL2NoZWNrb3V0LmM6Mzc0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTg4IGJ1aWx0aW4vY2xvbmUuYzo3MzEKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBlc2NyZXZlciBub3ZvIGZpY2hlaXJvIGRlIMOtbmRpY2UiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4OQotIywgYy1mb3JtYXQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwOQogbXNnaWQgIihiYWQgY29tbWl0KVxuIgogbXNnc3RyICIoY29tbWl0IGluY29ycmV0bylcbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkaW5mb19jYWNoZSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiYWRkaW5mb19jYWNoZSBmYWxob3Ugbm8gY2FtaW5obyAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMQogbXNnaWQgImVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICJlcnJvIGFvIGNvbnN0cnVpciDDoXJ2b3JlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6Njg5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwYXRoICclcyclcyIKIG1zZ3N0ciAiZmFsaGEgYW8gY3JpYXIgbyBjYW1pbmhvICclcyclcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzAwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMgdG8gbWFrZSByb29tIGZvciBzdWJkaXJlY3RvcnlcbiIKIG1zZ3N0ciAiQSByZW1vdmVyICVzIHBhcmEgY3JpYXIgZXNwYcOnbyBwYXJhIG8gc3ViZGlyZXTDs3Jpb1xuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3MTQgbWVyZ2UtcmVjdXJzaXZlLmM6NzM1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NDUgbWVyZ2UtcmVjdXJzaXZlLmM6NzY0CiBtc2dpZCAiOiBwZXJoYXBzIGEgRC9GIGNvbmZsaWN0PyIKIG1zZ3N0ciAiOiB0YWx2ZXogdW0gY29uZmxpdG8gRC9GPyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzI1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAnJXMnIgogbXNnc3RyICJwZXJkYSBkZSBmaWNoZWlybyBuw6NvIGNvbnRyb2xhZG8gZW0gJyVzJyByZWN1c2FkYSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzY1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3OTYgYnVpbHRpbi9jYXQtZmlsZS5jOjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyAnJXMnIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBsZXIgbyBvYmpldG8gJXM6ICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciCiBtc2dzdHIgImJsb2IgcGFyYSAlcyAnJXMnIGVzcGVyYWRvIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3OTAgYnVpbHRpbi9jbG9uZS5jOjM3NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODIyCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCi1tc2dzdHIgImZhbGhhIGFvIGFicmlyICclcyciCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiCittc2dzdHIgImZhbGhhIGFvIGFicmlyICclcyc6ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3OTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgzMwogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gc3ltbGluayAnJXMnIgotbXNnc3RyICJmYWxoYSBhbyBjcmlhciBhIGxpZ2HDp8OjbyBzaW1iw7NsaWNhICclcyciCittc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiCittc2dzdHIgImZhbGhhIGFvIGNyaWFyIGEgbGlnYcOnw6NvIHNpbWLDs2xpY2EgJyVzJzogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCiBtc2dzdHIgIm7Do28gc2VpIG8gcXVlIGZhemVyIGNvbSAlMDZvICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkzOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTc4CiBtc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCiBtc2dzdHIgIkZhbGhhIGFvIGV4ZWN1dGFyIGludGVncmHDp8OjbyBpbnRlcm5hIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5NDMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkICVzIHRvIGRhdGFiYXNlIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBhZGljaW9uYXIgJXMgw6AgYmFzZSBkZSBkYWRvcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTU5Ci1tc2dpZCAidW5zdXBwb3J0ZWQgb2JqZWN0IHR5cGUgaW4gdGhlIHRyZWUiCi1tc2dzdHIgInRpcG8gZGUgb2JqZXRvIHNlbSBzdXBvcnRlIGVuY29udHJhZG8gbmEgw6Fydm9yZSIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAzNCBtZXJnZS1yZWN1cnNpdmUuYzoxMDQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgxIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTgwNCw3ICsxOTYwLDcgQEAKICJDT05GTElUTyAoJXMvZWxpbWluYXIpOiAlcyBlbGltaW5hZG8gZW0gJXMgZSAlcyBlbSAlcy4gVmVyc8OjbyBkZSAlcyBkZSAlcyAiCiAiZGVpeGFkYSBuYSDDoXJ2b3JlLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA0MCBtZXJnZS1yZWN1cnNpdmUuYzoxMDUzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDg3IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTgxMywyMCArMTk2OSwyMCBAQAogIkNPTkZMSVRPICglcy9lbGltaW5hcik6ICVzIGVsaW1pbmFkbyBlbSAlcyBlICVzIGVtICVzLiBWZXJzw6NvIGRlICVzIGRlICVzICIKICJkZWl4YWRhIG5hIMOhcnZvcmUgZW0gJXMuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQzCiBtc2dpZCAicmVuYW1lIgogbXNnc3RyICJtdWRhciBub21lIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQzCiBtc2dpZCAicmVuYW1lZCIKIG1zZ3N0ciAibm9tZSBtdWRhZG8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgYSBkaXJlY3RvcnkgaW4gJXMgYWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIiVzIMOpIHVtIGRpcmV0w7NyaW8gZW0gJXMgYWRpY2lvbmFuZG8gJXMgbm8gc2V1IGx1Z2FyIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTcyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBcIiVzXCItPlwiJXNcIiBpbiBicmFuY2ggXCIlc1wiIHJlbmFtZSBcIiVzIgpAQCAtODM1LDE1MCArMTk5MSwxNTcgQEAKICJDT05GTElUTyAobXVkYXIgbm9tZS9tdWRhciBub21lKTogTXVkYXIgbyBub21lIFwiJXNcIi0+XCIlc1wiIG5vIHJhbW8gXCIlc1wiICIKICJtdWRhciBvIG5vbWUgXCIlc1wiLT5cIiVzXCIgZW0gXCIlc1wiJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzAKIG1zZ2lkICIgKGxlZnQgdW5yZXNvbHZlZCkiCiBtc2dzdHIgIiAocG9yIHJlc29sdmVyKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuIFJlbmFtZSAlcy0+JXMgaW4gJXMiCiBtc2dzdHIgIiIKICJDT05GTElUTyAobXVkYXIgbm9tZS9tdWRhciBub21lKTogTXVkYXIgZGUgbm9tZSAlcy0+JXMgZW0gJXMuIE11ZGFyIG8gbm9tZSAiCiAiJXMtPiVzIGVtICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjYxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzIGFuZCAlcyB0byAlcyBpbnN0ZWFkIgogbXNnc3RyICJBIG11ZGFyIG8gbm9tZSBkZSAlcyBwYXJhICVzIGUgZGUgJXMgcGFyYSAlcywgZW0gYWx0ZXJuYXRpdmEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NjAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAlcyBhZGRlZCBpbiAlcyIKIG1zZ3N0ciAiIgogIkNPTkZMSVRPIChtdWRhciBub21lL2FkaWNpb25hcik6IE11ZGFyIG8gbm9tZSAlcy0+JXMgZW0gJXMuICVzIGFkaWNpb25hZG8gZW0gIgogIiVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyBtZXJnZWQgJXMiCiBtc2dzdHIgIkEgYWRpY2lvbmFyICVzIGludGVncmFkbyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ3NSBtZXJnZS1yZWN1cnNpdmUuYzoxNjc3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTUzIG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIkEgYWRpY2lvbmFyIGNvbW8gJXMsIGVtIGFsdGVybmF0aXZhLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUyNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgbyBvYmpldG8gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MjkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGlzIG5vdCBhIGJsb2IiCiBtc2dzdHIgIm8gb2JqZXRvICVzIG7Do28gw6kgdW0gYmxvYiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU4MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY2NgogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAibW9kaWZpY2FyIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjY2CiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgIm1vZGlmaWNhZG8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1OTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzYKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICJjb250ZcO6ZG8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1OTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODMKIG1zZ2lkICJhZGQvYWRkIgogbXNnc3RyICJhZGljaW9uYXIvYWRpY2lvbmFyIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjMyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIKIG1zZ3N0ciAiJXMgaWdub3JhZG8gKGludGVncmFkbyDDqSBpZ3VhbCBhbyBleGlzdGVudGUpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjQ2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKIG1zZ3N0ciAiQSBpbnRlZ3JhciBhdXRvbWF0aWNhbWVudGUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NTAgZ2l0LXN1Ym1vZHVsZS5zaDo5NDEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzYgZ2l0LXN1Ym1vZHVsZS5zaDo5MjQKIG1zZ2lkICJzdWJtb2R1bGUiCiBtc2dzdHIgInN1Ym3Ds2R1bG8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCiBtc2dzdHIgIkNPTkZMSVRPICglcyk6IGNvbmZsaXRvIGRlIGludGVncmHDp8OjbyBlbSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlcyIKIG1zZ3N0ciAiQSByZW1vdmVyICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzYyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODU3CiBtc2dpZCAiZmlsZS9kaXJlY3RvcnkiCiBtc2dzdHIgImZpY2hlaXJvL2RpcmV0w7NyaW8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NjMKIG1zZ2lkICJkaXJlY3RvcnkvZmlsZSIKIG1zZ3N0ciAiZGlyZXTDs3Jpby9maWNoZWlybyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc3MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBUaGVyZSBpcyBhIGRpcmVjdG9yeSB3aXRoIG5hbWUgJXMgaW4gJXMuIEFkZGluZyAlcyBhcyAlcyIKIG1zZ3N0ciAiIgogIkNPTkZMSVRPICglcyk6IEjDoSB1bSBkaXJldMOzcmlvIGRlc2lnbmFkbyAlcyBlbSAlcy4gQSBhZGljaW9uYXIgJXMgY29tbyAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc4MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgJXMiCiBtc2dzdHIgIkEgYWRpY2lvbmFyICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzk4Ci1tc2dpZCAiRmF0YWwgbWVyZ2UgZmFpbHVyZSwgc2hvdWxkbid0IGhhcHBlbi4iCi1tc2dzdHIgIkZhbGhhIGRlIGludGVncmHDp8OjbyBmYXRhbCwgbsOjbyBkZXZpYSBhY29udGVjZXIuIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTE0CiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlISIKIG1zZ3N0ciAiSsOhIGVzdMOhIGF0dWFsaXphZG8hIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODI2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKIG1zZ3N0ciAiZmFsaGEgYW8gaW50ZWdyYXIgYXMgw6Fydm9yZXMgJXMgZSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg1NgotIywgYy1mb3JtYXQKLW1zZ2lkICJVbnByb2Nlc3NlZCBwYXRoPz8/ICVzIgotbXNnc3RyICJDYW1pbmhvIG7Do28gcHJvY2Vzc2Fkbz8/PyAlcyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkwNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAwNgogbXNnaWQgIk1lcmdpbmc6IgogbXNnc3RyICJBIGludGVncmFyOiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkxNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IgogbXNnaWRfcGx1cmFsICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3JzOiIKIG1zZ3N0clswXSAiJXUgYW50ZWNlc3NvciBjb211bSBlbmNvbnRyYWRvOiIKIG1zZ3N0clsxXSAiJXUgYW50ZWNlc3NvcmVzIGNvbXVucyBlbmNvbnRyYWRvczoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwNTgKIG1zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCiBtc2dzdHIgImEgaW50ZWdyYcOnw6NvIG7Do28gcmV0b3Jub3UgbmVuaHVtIGNvbW1pdCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhbmFsaXNhciBvIG9iamV0byAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDIyIGJ1aWx0aW4vbWVyZ2UuYzo2NDkgYnVpbHRpbi9tZXJnZS5jOjgzMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEzNSBidWlsdGluL21lcmdlLmM6NjQxIGJ1aWx0aW4vbWVyZ2UuYzo3ODgKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5kZXguIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBlc2NyZXZlciBubyDDrW5kaWNlLiIKIAorIzogbm90ZXMtbWVyZ2UuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBwcmV2aW91cyBub3RlcyBtZXJnZSAoJXMgZXhpc3RzKS5cbiIKKyJQbGVhc2UsIHVzZSAnZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0JyBvciAnZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQnIHRvICIKKyJjb21taXQvYWJvcnQgdGhlIHByZXZpb3VzIG1lcmdlIGJlZm9yZSB5b3Ugc3RhcnQgYSBuZXcgbm90ZXMgbWVyZ2UuIgorbXNnc3RyICIiCisiTsOjbyBjb25jbHXDrXUgYSBpbnRlZ3Jhw6fDo28gZGUgbm90YXMgYW50ZXJpb3IgKCVzIGV4aXN0ZSkuXG4iCisiVXNlICdnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnIG91ICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcgcGFyYSBzdWJtZXRlci8iCisiYWJvcnRhciBhIGludGVncmHDp8OjbyBhbnRlcmlvciBhbnRlcyBkZSBjb21lw6dhciB1bWEgbm92YSBpbnRlZ3Jhw6fDo28gZGUgbm90YXMuIgorCisjOiBub3Rlcy1tZXJnZS5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuIgorbXNnc3RyICJOw6NvIGNvbmNsdcOtZG8gYSBpbnRlZ3Jhw6fDo28gZGUgaW50ZWdyYcOnw6NvIGRlIG5vdGFzICglcyBwcmVzZW50ZSkuIgorCiAjOiBub3Rlcy11dGlscy5jOjQxCiBtc2dpZCAiQ2Fubm90IGNvbW1pdCB1bmluaXRpYWxpemVkL3VucmVmZXJlbmNlZCBub3RlcyB0cmVlIgogbXNnc3RyICIiCkBAIC0xMDM2LDcgKzIxOTksNyBAQAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAnJXMnIgogbXNnc3RyICJub21lIGRvIG9iamV0byBtYWxmb3JtYWRvICclcyciCiAKLSM6IHBhdGguYzo3OTYKKyM6IHBhdGguYzo4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBkYXIgcGVybWlzc8OjbyBkZSBlc2NyaXRhIGFvIGdydXBvIGEgJXMiCkBAIC0xMDk1LDEyICsyMjU4LDIwIEBACiBtc2dzdHIgIiIKICIlczogbcOhZ2ljYSBkZSBlc3BlY2lmaWNhZG9yIGRlIGNhbWluaG8gbsOjbyBzdXBvcnRhZGEgcG9yIGVzdGUgY29tYW5kbzogJXMiCiAKLSM6IHBhdGhzcGVjLmM6NDMzCisjOiBwYXRoc3BlYy5jOjQwOAorbXNnaWQgIiIKKyJlbXB0eSBzdHJpbmdzIGFzIHBhdGhzcGVjcyB3aWxsIGJlIG1hZGUgaW52YWxpZCBpbiB1cGNvbWluZyByZWxlYXNlcy4gcGxlYXNlICIKKyJ1c2UgLiBpbnN0ZWFkIGlmIHlvdSBtZWFudCB0byBtYXRjaCBhbGwgcGF0aHMiCittc2dzdHIgIiIKKyJjYWRlaWFzIGRlIGNhcmFjdGVyZXMgdmF6aWFzIGNvbW8gZXNwZWNpZmljYWRvcmVzIGRlIGNhbWluaG8gdG9ybmFyLXNlLcOjbyAiCisiaW52w6FsaWRhcyBuYXMgcHLDs3hpbWFzIHZlcnPDtWVzLiBVc2UgLiBwYXJhIGNvcnJlc3BvbmRlciBhIHRvZG9zIG9zIGNhbWluaG9zIgorCisjOiBwYXRoc3BlYy5jOjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgIm8gZXNwZWNpZmljYWRvciBkZSBjYW1pbmhvICclcycgw6kgaW5kaWNhZG8gcG9yIHVtYSBsaWdhw6fDo28gc2ltYsOzbGljYSIKIAotIzogcGF0aHNwZWMuYzo0NDIKKyM6IHBhdGhzcGVjLmM6NDQ5CiBtc2dpZCAiIgogIlRoZXJlIGlzIG5vdGhpbmcgdG8gZXhjbHVkZSBmcm9tIGJ5IDooZXhjbHVkZSkgcGF0dGVybnMuXG4iCiAiUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIKQEAgLTExMTIsMTEgKzIyODMsNyBAQAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAtLXByZXR0eSBmb3JtYXQiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhbmFsaXNhciBvIGZvcm1hdG8gZGUgLS1wcmV0dHkiCiAKLSM6IHByb2dyZXNzLmM6MjM1Ci1tc2dpZCAiZG9uZSIKLW1zZ3N0ciAiY29uY2x1w61kbyIKLQotIzogcmVhZC1jYWNoZS5jOjEyODEKKyM6IHJlYWQtY2FjaGUuYzoxMzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbmRleC52ZXJzaW9uIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMTEyNSw3ICsyMjkyLDcgQEAKICJpbmRleC52ZXJzaW9uIGRlZmluaWRvLCBtYXMgY29tIHZhbG9yIGludsOhbGlkby5cbiIKICJBIHVzYXIgYSB2ZXJzw6NvICVpIgogCi0jOiByZWFkLWNhY2hlLmM6MTI5MQorIzogcmVhZC1jYWNoZS5jOjEzMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkdJVF9JTkRFWF9WRVJTSU9OIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMTEzNCwyMyArMjMwMSwyMiBAQAogIkdJVF9JTkRFWF9WRVJTSU9OIGRlZmluaWRvLCBtYXMgY29tIHZhbG9yIGludsOhbGlkby5cbiIKICJBIHVzYXIgYSB2ZXJzw6NvICVpIgogCi0jOiByZWZzLmM6NTQzIGJ1aWx0aW4vbWVyZ2UuYzo3NjQgYnVpbHRpbi9tZXJnZS5jOjg4MyBidWlsdGluL21lcmdlLmM6OTg1Ci0jOiBidWlsdGluL21lcmdlLmM6OTk1CisjOiByZWZzLmM6NTc2IGJ1aWx0aW4vbWVyZ2UuYzo4NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICclcycgcGFyYSBlc2NyaXRhIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyMjQzCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlICVzOiAlcyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGVsaW1pbmFyIGEgcmVmZXLDqm5jaWEgJXM6ICVzIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyMjQ2CisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlczogJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBlbGltaW5hciBhcyByZWZlcsOqbmNpYXM6ICVzIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyMjU1CisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgcmVmZXJlbmNlICVzIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZWxpbWluYXIgYSByZWZlcsOqbmNpYSAlcyIKQEAgLTEyNzksMTIgKzI0NDUsMTIgQEAKIG1zZ2lkICJpZ25vcmluZyBicm9rZW4gcmVmICVzIgogbXNnc3RyICJhIHJlZmVyw6puY2lhICVzIGRhbmlmaWNhZGEgZm9pIGlnbm9yYWRhIgogCi0jOiByZWYtZmlsdGVyLmM6MTY1MQorIzogcmVmLWZpbHRlci5jOjE2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gbWlzc2luZyIKIG1zZ3N0ciAiZm9ybWF0bzogZmFsdGEgw6F0b21vICUlKGVuZCkiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNzA1CisjOiByZWYtZmlsdGVyLmM6MTY4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIm5vbWUgZGUgb2JqZXRvIG1hbGZvcm1hZG8gJXMiCkBAIC0xMzA4LDc5ICsyNDc0LDc5IEBACiBtc2dpZCAiSW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgIkVycm8gaW50ZXJubyIKIAotIzogcmVtb3RlLmM6MTY3OCByZW1vdGUuYzoxNzIxCisjOiByZW1vdGUuYzoxNjc3IHJlbW90ZS5jOjE3MjAKIG1zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgogbXNnc3RyICJIRUFEIG7Do28gYXBvbnRhIHBhcmEgdW0gcmFtbyIKIAotIzogcmVtb3RlLmM6MTY4NworIzogcmVtb3RlLmM6MTY4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaDogJyVzJyIKIG1zZ3N0ciAicmFtbyBpbmV4aXN0ZW50ZTogJyVzJyIKIAotIzogcmVtb3RlLmM6MTY5MAorIzogcmVtb3RlLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAibmVuaHVtIHJhbW8gYSBtb250YW50ZSBjb25maWd1cmFkbyBwYXJhIG8gcmFtbyAnJXMnIgogCi0jOiByZW1vdGUuYzoxNjk2CisjOiByZW1vdGUuYzoxNjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICIiCiAibyByYW1vIGEgbW9udGFudGUgJyVzJyBuw6NvIGVzdMOhIGd1YXJkYWRvIGNvbW8gdW0gcmFtbyBkZSBtb25pdG9yaXphw6fDo28gcmVtb3RvIgogCi0jOiByZW1vdGUuYzoxNzExCisjOiByZW1vdGUuYzoxNzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggZGVzdGluYXRpb24gJyVzJyBvbiByZW1vdGUgJyVzJyBoYXMgbm8gbG9jYWwgdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICIiCiAibyBkZXN0aW5vIGRlIHB1YmxpY2HDp8OjbyAnJXMnIG5vIHJlbW90byAnJXMnIG7Do28gw6kgc2VndWlkbyBwb3IgbmVuaHVtIHJhbW8gIgogImxvY2FsIgogCi0jOiByZW1vdGUuYzoxNzI2CisjOiByZW1vdGUuYzoxNzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGhhcyBubyByZW1vdGUgZm9yIHB1c2hpbmciCiBtc2dzdHIgIm8gcmFtbyAnJXMnIG7Do28gdGVtIG5lbmh1bSByZW1vdG8gcGFyYSBwdWJsaWNhciIKIAotIzogcmVtb3RlLmM6MTczNworIzogcmVtb3RlLmM6MTczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIHJlZnNwZWNzIGZvciAnJXMnIGRvIG5vdCBpbmNsdWRlICclcyciCiBtc2dzdHIgIiIKICInJTIkcycgbsOjbyBmYXogcGFydGUgZG9zIGVzcGVjaWZpY2Fkb3JlcyBkZSByZWZlcsOqbmNpYSBkZSAnJTEkcycgcGFyYSAiCiAicHVibGljYcOnw6NvIgogCi0jOiByZW1vdGUuYzoxNzUwCisjOiByZW1vdGUuYzoxNzQ5CiBtc2dpZCAicHVzaCBoYXMgbm8gZGVzdGluYXRpb24gKHB1c2guZGVmYXVsdCBpcyAnbm90aGluZycpIgogbXNnc3RyICJwdWJsaWNhw6fDo28gc2VtIGRlc3Rpbm8gKHB1c2guZGVmYXVsdCDDqSAnbm90aGluZycpIgogCi0jOiByZW1vdGUuYzoxNzcyCisjOiByZW1vdGUuYzoxNzcxCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgJ3NpbXBsZScgcHVzaCB0byBhIHNpbmdsZSBkZXN0aW5hdGlvbiIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgcmVzb2x2ZXIgYSBwdWJsaWNhw6fDo28gJ3NpbXBsZScgbnVtIMO6bmljbyBkZXN0aW5vIgogCi0jOiByZW1vdGUuYzoyMDc0CisjOiByZW1vdGUuYzoyMDczCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIKIG1zZ3N0ciAiQSBiYXNlIGRvIHNldSByYW1vIMOpICclcycsIG1hcyBvIHJhbW8gYSBtb250YW50ZSBkZXNhcGFyZWNldS5cbiIKIAotIzogcmVtb3RlLmM6MjA3OAorIzogcmVtb3RlLmM6MjA3NwogbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgogbXNnc3RyICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiBwYXJhIGNvcnJpZ2lyKVxuIgogCi0jOiByZW1vdGUuYzoyMDgxCisjOiByZW1vdGUuYzoyMDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwLXRvLWRhdGUgd2l0aCAnJXMnLlxuIgogbXNnc3RyICJPIHNldSByYW1vIGVzdMOhIGF0dWFsaXphZG8gY29tICclcycuXG4iCiAKLSM6IHJlbW90ZS5jOjIwODUKKyM6IHJlbW90ZS5jOjIwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKIG1zZ3N0clswXSAiTyBzZXUgcmFtbyBlc3TDoSDDoCBmcmVudGUgZGUgJyVzJyBwb3IgJWQgY29tbWl0LlxuIgogbXNnc3RyWzFdICJPIHNldSByYW1vIGVzdMOhIMOgIGZyZW50ZSBkZSAnJXMnIHBvciAlZCBjb21taXRzLlxuIgogCi0jOiByZW1vdGUuYzoyMDkxCisjOiByZW1vdGUuYzoyMDkwCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1c2hcIiB0byBwdWJsaXNoIHlvdXIgbG9jYWwgY29tbWl0cylcbiIKIG1zZ3N0ciAiICAodXNlIFwiZ2l0IHB1c2hcIiBwYXJhIHB1YmxpY2FyIG9zIGNvbW1pdHMgbG9jYWlzKVxuIgogCi0jOiByZW1vdGUuYzoyMDk0CisjOiByZW1vdGUuYzoyMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ2lkX3BsdXJhbCAiIgpAQCAtMTM5MiwxMSArMjU1OCwxMSBAQAogIk8gc2V1IHJhbW8gZXN0w6EgYXRyw6FzIGRlICclcycgcG9yICVkIGNvbW1pdHMsIHBvZGVuZG8gc2VyIGF0dWFsaXphZG8gY29tICIKICJhdmFuw6dvIHLDoXBpZG8uXG4iCiAKLSM6IHJlbW90ZS5jOjIxMDIKKyM6IHJlbW90ZS5jOjIxMDEKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIHVwZGF0ZSB5b3VyIGxvY2FsIGJyYW5jaClcbiIKIG1zZ3N0ciAiICAodXNlIFwiZ2l0IHB1bGxcIiBwYXJhIGF0dWFsaXphciBvIHNldSByYW1vIGxvY2FsKVxuIgogCi0jOiByZW1vdGUuYzoyMTA1CisjOiByZW1vdGUuYzoyMTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgpAQCAtMTQxMSw0MSArMjU3Nyw0MSBAQAogIk8gc2V1IHJhbW8gZSAnJXMnIGRpdmVyZ2lyYW0sXG4iCiAidGVuZG8gY2FkYSB1bSAlZCBlICVkIGNvbW1pdHMgZGlmZXJlbnRlcywgcmVzcGV0aXZhbWVudGUuXG4iCiAKLSM6IHJlbW90ZS5jOjIxMTUKKyM6IHJlbW90ZS5jOjIxMTQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiAgKHVzZSBcImdpdCBwdWxsXCIgcGFyYSBpbnRlZ3JhciBvIHJhbW8gcmVtb3RvIG5vIHNldSByYW1vKVxuIgogCi0jOiByZXZpc2lvbi5jOjIxNDIKKyM6IHJldmlzaW9uLmM6MjE1OAogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggYXBwZWFycyB0byBiZSBicm9rZW4iCiBtc2dzdHIgIm8gcmFtbyBhdHVhbCBwYXJlY2UgZXN0YXIgZGFuaWZpY2FkbyIKIAotIzogcmV2aXNpb24uYzoyMTQ1CisjOiByZXZpc2lvbi5jOjIxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnIGRvZXMgbm90IGhhdmUgYW55IGNvbW1pdHMgeWV0IgogbXNnc3RyICJvIHJhbW8gYXR1YWwgJyVzJyBhaW5kYSBuw6NvIGNvbnTDqW0gbmVuaHVtIGNvbW1pdCIKIAotIzogcmV2aXNpb24uYzoyMzM5CisjOiByZXZpc2lvbi5jOjIzNTUKIG1zZ2lkICItLWZpcnN0LXBhcmVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWJpc2VjdCIKIG1zZ3N0ciAiLS1maXJzdC1wYXJlbnQgw6kgaW5jb21wYXTDrXZlbCBjb20gLS1iaXNlY3QiCiAKLSM6IHJ1bi1jb21tYW5kLmM6OTIKKyM6IHJ1bi1jb21tYW5kLmM6MTA2CiBtc2dpZCAib3BlbiAvZGV2L251bGwgZmFpbGVkIgogbXNnc3RyICJmYWxoYSBhbyBhYnJpciAvZGV2L251bGwiCiAKLSM6IHJ1bi1jb21tYW5kLmM6OTQKKyM6IHJ1bi1jb21tYW5kLmM6MTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKIG1zZ3N0ciAiZHVwMiglZCwlZCkgZmFsaG91IgogCi0jOiBzZW5kLXBhY2suYzoyOTUKKyM6IHNlbmQtcGFjay5jOjI5NwogbXNnaWQgImZhaWxlZCB0byBzaWduIHRoZSBwdXNoIGNlcnRpZmljYXRlIgogbXNnc3RyICJmYWxoYSBhbyBhc3NpbmFyIG8gY2VydGlmaWNhZG8gZGUgcHVibGljYcOnw6NvIgogCi0jOiBzZW5kLXBhY2suYzo0MDQKKyM6IHNlbmQtcGFjay5jOjQxMAogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKIG1zZ3N0ciAibyByZWNldG9yIG7Do28gc3Vwb3J0YSBwdWJsaWNhw6fDo28gY29tIC0tc2lnbmVkIgogCi0jOiBzZW5kLXBhY2suYzo0MDYKKyM6IHNlbmQtcGFjay5jOjQxMgogbXNnaWQgIiIKICJub3Qgc2VuZGluZyBhIHB1c2ggY2VydGlmaWNhdGUgc2luY2UgdGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLSIKICJzaWduZWQgcHVzaCIKQEAgLTE0NTMsMTEgKzI2MTksMjMgQEAKICJjZXJ0aWZpY2FkbyBkZSBwdWJsaWNhw6fDo28gbsOjbyBlbnZpYWRvIHVtYSB2ZXogcXVlIG8gcmVjZXRvciBuw6NvIHN1cG9ydGEgIgogInB1YmxpY2HDp8OjbyBjb20gLS1zaWduZWQiCiAKLSM6IHNlbmQtcGFjay5jOjQxOAorIzogc2VuZC1wYWNrLmM6NDI0CiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLWF0b21pYyBwdXNoIgogbXNnc3RyICJvIHJlY2V0b3IgbsOjbyBzdXBvcnRhIHB1YmxpY2HDp8OjbyBjb20gLS1hdG9taWMiCiAKLSM6IHNlcXVlbmNlci5jOjE3NAorIzogc2VuZC1wYWNrLmM6NDI5Cittc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCBwdXNoIG9wdGlvbnMiCittc2dzdHIgIm8gcmVjZXRvciBuw6NvIHN1cG9ydGEgb3DDp8O1ZXMgZGUgcHVibGljYcOnw6NvIgorCisjOiBzZXF1ZW5jZXIuYzoxNzEKK21zZ2lkICJyZXZlcnQiCittc2dzdHIgInJldmVydGVyIgorCisjOiBzZXF1ZW5jZXIuYzoxNzEKK21zZ2lkICJjaGVycnktcGljayIKK21zZ3N0ciAiY2hlcnJ5LXBpY2siCisKKyM6IHNlcXVlbmNlci5jOjIyOAogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgpAQCAtMTQ2NSw3ICsyNjQzLDcgQEAKICJkZXBvaXMgZGUgcmVzb2x2ZXIgb3MgY29uZmxpdG9zLCBtYXJxdWUgb3MgY2FtaW5ob3MgY29ycmlnaWRvc1xuIgogImNvbSAnZ2l0IGFkZCA8Y2FtaW5ob3M+JyBvdSAnZ2l0IHJtIDxjYW1pbmhvcz4nIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzcKKyM6IHNlcXVlbmNlci5jOjIzMQogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nXG4iCkBAIC0xNDc1LDIyOCArMjY1MywyOTAgQEAKICJjb20gJ2dpdCBhZGQgPGNhbWluaG9zPicgb3UgJ2dpdCBybSA8Y2FtaW5ob3M+J1xuIgogImUgc3VibWV0YSBvIHJlc3VsdGFkbyBjb20gJ2dpdCBjb21taXQnIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTAgc2VxdWVuY2VyLmM6ODMzIHNlcXVlbmNlci5jOjkxMgorIzogc2VxdWVuY2VyLmM6MjQ0IHNlcXVlbmNlci5jOjEyMDkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgotbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZXNjcmV2ZXIgZW0gJXMiCittc2dpZCAiY291bGQgbm90IGxvY2sgJyVzJyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGJsb3F1ZWFyICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjE5MworIzogc2VxdWVuY2VyLmM6MjQ3IHNlcXVlbmNlci5jOjExMjUgc2VxdWVuY2VyLmM6MTIxNAogIywgYy1mb3JtYXQKLW1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcyIKLW1zZ3N0ciAiRXJybyBhbyByZW1hdGFyICVzLiIKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGVzY3JldmVyIGVtICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjIwOAotbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVycnktcGljay4iCi1tc2dzdHIgIkFzIHN1YXMgYWx0ZXJhw6fDtWVzIGxvY2FpcyBzZXLDo28gc3Vic3RpdHXDrWRhcyBwb3IgY2hlcnJ5LXBpY2suIgorIzogc2VxdWVuY2VyLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGVzY3JldmVyIGZpbSBkZSBsaW5oYSBlbSAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTAKLW1zZ2lkICJZb3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgcmV2ZXJ0LiIKLW1zZ3N0ciAiQXMgc3VhcyBhbHRlcmHDp8O1ZXMgbG9jYWlzIHNlcsOjbyBzdWJzdGl0dcOtZGFzIHBvciByZXZlcnQuIgorIzogc2VxdWVuY2VyLmM6MjU1IHNlcXVlbmNlci5jOjExMzAgc2VxdWVuY2VyLmM6MTIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJy4iCittc2dzdHIgImZhbGhhIGFvIGZpbmFsaXphciAnJXMnLiIKIAotIzogc2VxdWVuY2VyLmM6MjEzCi1tc2dpZCAiQ29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQuIgotbXNnc3RyICJTdWJtZXRhIG91IGVtcGlsaGUgKHN0YXNoKSBhcyBzdWFzIGFsdGVyYcOnw7VlcyBwYXJhIGNvbnRpbnVhci4iCisjOiBzZXF1ZW5jZXIuYzoyNzkgYnVpbHRpbi9hbS5jOjI1OSBidWlsdGluL2NvbW1pdC5jOjc0OSBidWlsdGluL21lcmdlLmM6MTAzMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyICclcyciCisKKyM6IHNlcXVlbmNlci5jOjMwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXMuIgorbXNnc3RyICJhcyBzdWFzIGFsdGVyYcOnw7VlcyBsb2NhaXMgc2Vyw6NvIHN1YnN0aXR1w61kYXMgYW8gJXMuIgorCisjOiBzZXF1ZW5jZXIuYzozMDkKK21zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCittc2dzdHIgInN1Ym1ldGEgb3UgZXNjb25kYSBhcyBzdWFzIGFsdGVyYcOnw7VlcyBwYXJhIGNvbnRpbnVhci4iCisKKyM6IHNlcXVlbmNlci5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFzdC1mb3J3YXJkIgorbXNnc3RyICIlczogYXZhbsOnbyByw6FwaWRvIgogCiAjLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiBvciAiY2hlcnJ5LXBpY2siCi0jOiBzZXF1ZW5jZXIuYzozMDAKKyM6IHNlcXVlbmNlci5jOjM5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIlczogTsOjbyBmb2kgcG9zc8OtdmVsIGVzY3JldmVyIG5vdm8gZmljaGVpcm8gZGUgw61uZGljZSIKIAotIzogc2VxdWVuY2VyLmM6MzE4Ci1tc2dpZCAiQ291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIKLW1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIHJlc29sdmVyIG8gY29tbWl0IEhFQURcbiIKKyM6IHNlcXVlbmNlci5jOjQxOAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCByZXNvbHZlciBvIGNvbW1pdCBIRUFEXG4iCiAKLSM6IHNlcXVlbmNlci5jOjMzOAotbXNnaWQgIlVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgotbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYXR1YWxpemFyIGEgw6Fydm9yZSBkZSBjYWNoZVxuIgorIzogc2VxdWVuY2VyLmM6NDM4Cittc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlXG4iCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhdHVhbGl6YXIgYSDDoXJ2b3JlIGRlIGNhY2hlXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM5MAorIzogc2VxdWVuY2VyLmM6NDgzCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXNcbiIKLW1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFuYWxpc2FyIG8gY29tbWl0ICVzXG4iCi0KLSM6IHNlcXVlbmNlci5jOjM5NQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgotbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYW5hbGlzYXIgbyBjb21taXQgcGFpICVzXG4iCi0KLSM6IHNlcXVlbmNlci5jOjQ2MAotbXNnaWQgIllvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCi1tc2dzdHIgIkZpY2hlaXJvIGRlIMOtbmRpY2UgbsOjbyBpbnRlZ3JhZG8uIgotCi0jOiBzZXF1ZW5jZXIuYzo0NzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgotbXNnc3RyICJPIGNvbW1pdCAlcyDDqSB1bWEgaW50ZWdyYcOnw6NvIG1hcyBuw6NvIGZvaSBmb3JuZWNpZGEgbmVuaHVtYSBvcMOnw6NvIC1tLiIKLQotIzogc2VxdWVuY2VyLmM6NDg3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKLW1zZ3N0ciAiTyBjb21taXQgJXMgbsOjbyB0ZW0gbyBwYWkgJWQiCi0KLSM6IHNlcXVlbmNlci5jOjQ5MQotIywgYy1mb3JtYXQKLW1zZ2lkICJNYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgorbXNnaWQgIiIKKyJ5b3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZVxuIgorIklmIHRoZXNlIGNoYW5nZXMgYXJlIG1lYW50IHRvIGJlIHNxdWFzaGVkIGludG8gdGhlIHByZXZpb3VzIGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisiSWYgdGhleSBhcmUgbWVhbnQgdG8gZ28gaW50byBhIG5ldyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJXNcbiIKKyJcbiIKKyJJbiBib3RoIGNhc2VzLCBvbmNlIHlvdSdyZSBkb25lLCBjb250aW51ZSB3aXRoOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiBtc2dzdHIgIiIKLSJBIGxpbmhhIHByaW5jaXBhbCBmb2kgZXNwZWNpZmljYWRhIG1hcyBvIGNvbW1pdCAlcyBuw6NvIMOpIHVtYSBpbnRlZ3Jhw6fDo28uIgorInRlbSBhbHRlcmHDp8O1ZXMgcHJlcGFyYWRhcyBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvXG4iCisiU2UgdGVuY2lvbmEgZXNtYWdhciBlc3RhcyBhbHRlcmHDp8O1ZXMgbm8gY29tbWl0IGFudGVyaW9yLCBleGVjdXRlOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisiU2UgdGVuY2lvbmEgcMO0LWxhcyBudW0gbm92byBjb21taXQsIGV4ZWN1dGU6XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICVzXG4iCisiXG4iCisiRW0gYW1ib3Mgb3MgY2Fzb3MsIHF1YW5kbyBlc3RpdmVyIHByb250bywgY29udGludWUgY29tOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSAicmV2ZXJ0IiBvcgotIy4gImNoZXJyeS1waWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEKLSM6IHNlcXVlbmNlci5jOjUwNAorIzogc2VxdWVuY2VyLmM6NTY3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXNcbiIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFuYWxpc2FyIG8gY29tbWl0ICVzXG4iCisKKyM6IHNlcXVlbmNlci5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYW5hbGlzYXIgbyBjb21taXQgcGFpICVzXG4iCisKKyM6IHNlcXVlbmNlci5jOjY1NgorbXNnaWQgInlvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCittc2dzdHIgImZpY2hlaXJvIGRlIMOtbmRpY2UgbsOjbyBpbnRlZ3JhZG8uIgorCisjOiBzZXF1ZW5jZXIuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgorbXNnc3RyICJvIGNvbW1pdCAlcyDDqSB1bWEgaW50ZWdyYcOnw6NvIG1hcyBuw6NvIGZvaSBmb3JuZWNpZGEgYSBvcMOnw6NvIC1tLiIKKworIzogc2VxdWVuY2VyLmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKK21zZ3N0ciAibyBjb21taXQgJXMgbsOjbyB0ZW0gbyBwYWkgJWQiCisKKyM6IHNlcXVlbmNlci5jOjY4NworIywgYy1mb3JtYXQKK21zZ2lkICJtYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgorbXNnc3RyICIiCisiYSBsaW5oYSBwcmluY2lwYWwgZm9pIGVzcGVjaWZpY2FkYSBtYXMgbyBjb21taXQgJXMgbsOjbyDDqSB1bWEgaW50ZWdyYcOnw6NvLiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyB3aWxsIGJlIGEgInRvZG8iIGNvbW1hbmQgbGlrZQorIy4gInJldmVydCIgb3IgInBpY2siLCB0aGUgc2Vjb25kICVzIGEgU0hBMS4KKyM6IHNlcXVlbmNlci5jOjcwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgYW5hbGlzYXIgbyBjb21taXQgcGFpICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo1MDgKKyM6IHNlcXVlbmNlci5jOjcwNQogIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKLW1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgb2J0ZXIgYSBtZW5zYWdlbSBkZSBjb21taXQgZGUgJXMiCittc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCittc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIG9idGVyIGEgbWVuc2FnZW0gZGUgY29tbWl0IGRlICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo1OTQKKyM6IHNlcXVlbmNlci5jOjc5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmV2ZXJ0ICVzLi4uICVzIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcmV2ZXJ0ZXIgJXMuLi4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjU5NQorIzogc2VxdWVuY2VyLmM6Nzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFwbGljYXIgJXMuLi4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjYzMAorIzogc2VxdWVuY2VyLmM6ODMzCiBtc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCiBtc2dzdHIgIm8gY29uanVudG8gZGUgY29tbWl0cyBlc3BlY2lmaWNhZG8gZXN0w6EgdmF6aW8iCiAKLSM6IHNlcXVlbmNlci5jOjYzOAorIzogc2VxdWVuY2VyLmM6ODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IGZhbGhhIGFvIGxlciBvIMOtbmRpY2UiCiAKLSM6IHNlcXVlbmNlci5jOjY0MgorIzogc2VxdWVuY2VyLmM6ODUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IGZhbGhhIGFvIGF0dWFsaXphciBvIMOtbmRpY2UiCiAKLSM6IHNlcXVlbmNlci5jOjcwMgorIzogc2VxdWVuY2VyLmM6OTQ0CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCAlcyBkdXJpbmcgYSAlcyIKLW1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGVmZXR1YXIgJXMgZHVyYW50ZSAlcyIKK21zZ2lkICJpbnZhbGlkIGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgImxpbmhhICVkIGludsOhbGlkYTogJS4qcyIKIAotIzogc2VxdWVuY2VyLmM6NzI0CisjOiBzZXF1ZW5jZXIuYzo5NTAKK21zZ2lkICJubyBjb21taXRzIHBhcnNlZC4iCittc2dzdHIgIm5lbmh1bSBjb21taXQgYW5hbGlzYWRvLiIKKworIzogc2VxdWVuY2VyLmM6OTY2CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKLW1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFuYWxpc2FyIGEgbGluaGEgJWQuIgorbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyICclcycuIgogCi0jOiBzZXF1ZW5jZXIuYzo3MjkKLW1zZ2lkICJObyBjb21taXRzIHBhcnNlZC4iCi1tc2dzdHIgIk5lbmh1bSBjb21taXQgYW5hbGlzYWRvLiIKLQotIzogc2VxdWVuY2VyLmM6NzQxCisjOiBzZXF1ZW5jZXIuYzo5NzIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG9wZW4gJXMiCi1tc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlcyIKK21zZ2lkICJ1bnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJyVzJyIKK21zZ3N0ciAiZm9saGEgZGUgaW5zdHJ1w6fDtWVzIGludXRpbGl6w6F2ZWw6ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjc0NQorIzogc2VxdWVuY2VyLmM6OTgzCittc2dpZCAiY2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhIHJldmVydC4iCittc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGVmZXR1YXIgY2hlcnJ5LXBpY2sgZHVyYW50ZSB1bWEgcmV2ZXJzw6NvLiIKKworIzogc2VxdWVuY2VyLmM6OTg1Cittc2dpZCAiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iCittc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIHJldmVydGVyIGR1cmFudGUgdW0gY2hlcnJ5LXBpY2suIgorCisjOiBzZXF1ZW5jZXIuYzoxMDI4CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKLW1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGxlciAlcy4iCittc2dpZCAiaW52YWxpZCBrZXk6ICVzIgorbXNnc3RyICJjaGF2ZSBpbnbDoWxpZGE6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo3NTIKKyM6IHNlcXVlbmNlci5jOjEwMzEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICVzIgotbXNnc3RyICJGb2xoYSBkZSBpbnN0cnXDp8O1ZXMgaW51dGlsaXrDoXZlbDogJXMiCittc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgorbXNnc3RyICJ2YWxvciBpbnbDoWxpZG8gZGUgJXM6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo3ODIKKyM6IHNlcXVlbmNlci5jOjEwNjMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCBrZXk6ICVzIgotbXNnc3RyICJDaGF2ZSBpbnbDoWxpZGE6ICVzIgorbXNnaWQgIm1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAnJXMnIgorbXNnc3RyICJmb2xoYSBkZSBvcMOnw7VlcyBtYWxmb3JtYWRhOiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzo3ODUgYnVpbHRpbi9wdWxsLmM6NTAgYnVpbHRpbi9wdWxsLmM6NTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgotbXNnc3RyICJWYWxvciBpbnbDoWxpZG8gZGUgJXM6ICVzIgotCi0jOiBzZXF1ZW5jZXIuYzo3OTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICVzIgotbXNnc3RyICJGb2xoYSBkZSBvcMOnw7VlcyBtYWxmb3JtYWRhOiAlcyIKLQotIzogc2VxdWVuY2VyLmM6ODE0CisjOiBzZXF1ZW5jZXIuYzoxMTAxCiBtc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAiY2hlcnJ5LXBpY2sgb3UgcmV2ZXJ0IGVtIGN1cnNvIgogCi0jOiBzZXF1ZW5jZXIuYzo4MTUKKyM6IHNlcXVlbmNlci5jOjExMDIKIG1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogbXNnc3RyICJ0ZW50ZSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8LS1hYm9ydClcIiIKIAotIzogc2VxdWVuY2VyLmM6ODE5CisjOiBzZXF1ZW5jZXIuYzoxMTA2CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAlcyIKLW1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGNyaWFyIG8gZGlyZXTDs3JpbyBkbyBzZXF1ZW5jaWFkb3IgJXMiCittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICclcyciCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciBvIGRpcmV0w7NyaW8gZG8gc2VxdWVuY2lhZG9yICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjgzNSBzZXF1ZW5jZXIuYzo5MTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRXJyb3Igd3JhcHBpbmcgdXAgJXMuIgotbXNnc3RyICJFcnJvIGFvIHJlbWF0YXIgJXMuIgorIzogc2VxdWVuY2VyLmM6MTEyMAorbXNnaWQgImNvdWxkIG5vdCBsb2NrIEhFQUQiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBibG9xdWVhciBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTQgc2VxdWVuY2VyLmM6OTg2CisjOiBzZXF1ZW5jZXIuYzoxMTUxIHNlcXVlbmNlci5jOjEyODkKIG1zZ2lkICJubyBjaGVycnktcGljayBvciByZXZlcnQgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgIm5lbmh1bSBjaGVycnktcGljayBvdSByZXZlcnQgZW0gY3Vyc28iCiAKLSM6IHNlcXVlbmNlci5jOjg1NgorIzogc2VxdWVuY2VyLmM6MTE1MwogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIHJlc29sdmVyIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjg1OAorIzogc2VxdWVuY2VyLmM6MTE1NSBzZXF1ZW5jZXIuYzoxMTg5CiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFib3J0YXIgdW0gcmFtbyBhaW5kYSBuw6NvIGNyaWFkbyIKIAotIzogc2VxdWVuY2VyLmM6ODc4IGJ1aWx0aW4vZmV0Y2guYzo2MTAgYnVpbHRpbi9mZXRjaC5jOjg1MQorIzogc2VxdWVuY2VyLmM6MTE3NSBidWlsdGluL2dyZXAuYzo1NzgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IG9wZW4gJXMiCi1tc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFicmlyICVzIgorbXNnaWQgImNhbm5vdCBvcGVuICclcyciCittc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFicmlyICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjg4MAorIzogc2VxdWVuY2VyLmM6MTE3NwogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCAlczogJXMiCi1tc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGxlciAlczogJXMiCittc2dpZCAiY2Fubm90IHJlYWQgJyVzJzogJXMiCittc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGxlciAnJXMnOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODgxCisjOiBzZXF1ZW5jZXIuYzoxMTc4CiBtc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiZmltIGRlIGZpY2hlaXJvIGluZXNwZXJhZG8iCiAKLSM6IHNlcXVlbmNlci5jOjg4NworIzogc2VxdWVuY2VyLmM6MTE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIm8gZmljaGVpcm8gSEVBRCBkZSBwcmUtY2hlcnJ5LXBpY2sgJyVzJyBlc3TDoSBjb3Jyb21waWRvIgogCi0jOiBzZXF1ZW5jZXIuYzo5MDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGZvcm1hdCAlcy4iCi1tc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBmb3JtYXRhciAlcy4iCi0KLSM6IHNlcXVlbmNlci5jOjEwNTQKKyM6IHNlcXVlbmNlci5jOjEzNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiVzOiBuw6NvIMOpIHBvc3PDrXZlbCBlZmV0dWFyIGNoZXJyeS1waWNrIGRlICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDU3CisjOiBzZXF1ZW5jZXIuYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVzOiByZXZpc8OjbyBpbmNvcnJldGEiCiAKLSM6IHNlcXVlbmNlci5jOjEwOTEKLW1zZ2lkICJDYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCi1tc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIHJldmVydGVyIGNvbW8gY29tbWl0IGluaWNpYWwiCisjOiBzZXF1ZW5jZXIuYzoxMzkxCittc2dpZCAiY2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgorbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCByZXZlcnRlciBjb21vIGNvbW1pdCBpbmljaWFsIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDkyCi1tc2dpZCAiQ2FuJ3QgY2hlcnJ5LXBpY2sgaW50byBlbXB0eSBoZWFkIgotbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBlZmV0dWFyIGNoZXJyeS1waWNrIG51bWEgY2FiZcOnYSB2YXppYSIKLQotIzogc2V0dXAuYzoyNDgKKyM6IHNldHVwLmM6MTYwCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byByZWFkICVzIgotbXNnc3RyICJmYWxoYSBhbyBsZXIgJXMiCittc2dpZCAiIgorIiVzOiBubyBzdWNoIHBhdGggaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKKyJVc2UgJ2dpdCA8Y29tbWFuZD4gLS0gPHBhdGg+Li4uJyB0byBzcGVjaWZ5IHBhdGhzIHRoYXQgZG8gbm90IGV4aXN0IGxvY2FsbHkuIgorbXNnc3RyICIiCisiJXM6IG7Do28gaMOhIHRhbCBjYW1pbmhvIG5hIMOhcnZvcmUgZGUgdHJhYmFsaG8uXG4iCisiVXNlICdnaXQgPGNvbWFuZG8+IC0tIDxjYW1pbmhvPi4uLicgcGFyYSBlc3BlY2lmaWNhciBjYW1pbmhvcyBxdWUgbsOjbyAiCisiZXhpc3RlbSBsb2NhbG1lbnRlLiIKKworIzogc2V0dXAuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiB1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCisiVXNlICctLScgdG8gc2VwYXJhdGUgcGF0aHMgZnJvbSByZXZpc2lvbnMsIGxpa2UgdGhpczpcbiIKKyInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgorbXNnc3RyICIiCisiYXJndW1lbnRvIGFtYsOtZ3VvICclcyc6IHJldmlzw6NvIG91IGNhbWluaG8gZGVzY29uaGVjaWRvcyBuw6NvIGVuY29udHJhZG8gbmEgIgorIsOhcnZvcmUgZGUgdHJhYmFsaG8uXG4iCisiVXNlICctLScgcGFyYSBzZXBhcmFyIGNhbWluaG9zIGRlIHJldmlzw7VlcywgYXNzaW06XG4iCisiJ2dpdCA8Y29tYW5kbz4gWzxyZXZpc8Ojbz4uLi5dIC0tIFs8ZmljaGVpcm8+Li4uXSciCisKKyM6IHNldHVwLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogYm90aCByZXZpc2lvbiBhbmQgZmlsZW5hbWVcbiIKKyJVc2UgJy0tJyB0byBzZXBhcmF0ZSBwYXRocyBmcm9tIHJldmlzaW9ucywgbGlrZSB0aGlzOlxuIgorIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCittc2dzdHIgIiIKKyJhcmd1bWVudG8gYW1iw61ndW8gJyVzJzogcmV2aXPDo28gZSBub21lIGRlIGZpY2hlaXJvXG4iCisiVXNlICctLScgcGFyYSBzZXBhcmFyIGNhbWluaG9zIGRlIHJldmlzw7VlcywgYXNzaW06XG4iCisiJ2dpdCA8Y29tYW5kbz4gWzxyZXZpc8Ojbz4uLi5dIC0tIFs8ZmljaGVpcm8+Li4uXSciCiAKICM6IHNldHVwLmM6NDY4CiAjLCBjLWZvcm1hdApAQCAtMTcwNywyMSArMjk0Nyw5NCBAQAogbXNnaWQgInVua25vd24gcmVwb3NpdG9yeSBleHRlbnNpb25zIGZvdW5kOiIKIG1zZ3N0ciAiZXh0ZW5zw7VlcyBkZSByZXBvc2l0w7NyaW8gZGVzY29uaGVjaWRhcyBlbmNvbnRyYWRhczoiCiAKLSM6IHNoYTFfZmlsZS5jOjEwODAKKyM6IHNldHVwLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgorbXNnc3RyICJOw6NvIMOpIHVtIHJlcG9zaXTDs3JpbyBnaXQgKG91IHVtIGRvcyBkaXJldMOzcmlvcyBwYWkpOiAlcyIKKworIzogc2V0dXAuYzo3NjQgc2V0dXAuYzo5MTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY0MQorbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgorbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCB2b2x0YXIgYW8gZGlyZXTDs3JpbyBkZSB0cmFiYWxobyBhdHVhbCIKKworIzogc2V0dXAuYzo4NDUKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBsZXIgbyBkaXJldMOzcmlvIGRlIHRyYWJhbGhvIGF0dWFsIgorCisjOiBzZXR1cC5jOjkyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCisiU3RvcHBpbmcgYXQgZmlsZXN5c3RlbSBib3VuZGFyeSAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSBub3Qgc2V0KS4iCittc2dzdHIgIiIKKyJOw6NvIMOpIHVtIHJlcG9zaXTDs3JpbyBnaXQgKG91IHVtIGRpcmV0w7NyaW8gcGFpIGF0w6kgYW8gcG9udG8gZGUgbW9udGFnZW0gJXMpXG4iCisiSW50ZXJyb21waWRvIG5vIGxpbWl0ZSBkbyBzaXN0ZW1hIGRlIGZpY2hlaXJvcyAiCisiKEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0gbsOjbyBkZWZpbmlkbykuIgorCisjOiBzZXR1cC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHRvICclcy8uLiciCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIG11ZGFyIHBhcmEgJyVzLy4uJyIKKworIzogc2V0dXAuYzo5ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlByb2JsZW0gd2l0aCBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgZmlsZW1vZGUgdmFsdWUgKDAlLjNvKS5cbiIKKyJUaGUgb3duZXIgb2YgZmlsZXMgbXVzdCBhbHdheXMgaGF2ZSByZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucy4iCittc2dzdHIgIiIKKyJQcm9ibGVtYSBjb20gbyB2YWxvciBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgbW9kbyBkZSBmaWNoZWlybyAoMCUuM28pLlxuIgorIk8gZG9ubyBkb3MgZmljaGVpcm9zIHRlbSBkZSB0ZXIgc2VtcHJlIHBlcm1pc3PDtWVzIGRlIGxlaXR1cmEgZSBlc2NyaXRhLiIKKworIzogc2hhMV9maWxlLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibyBjYW1pbmhvICclcycgbsOjbyBleGlzdGUiCisKKyM6IHNoYTFfZmlsZS5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKK21zZ3N0ciAiIgorImFpbmRhIG7Do28gw6kgc3Vwb3J0YWRhIGEgZnVuY2lvbmFsaWRhZGUgcXVlIHBlcm1pdGUgdGVyIG8gcmVwb3NpdMOzcmlvIGRlICIKKyJyZWZlcsOqbmNpYSAnJXMnIGNvbW8gdW1hIGV4dHJhw6fDo28gbGlnYWRhLiIKKworIzogc2hhMV9maWxlLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCittc2dzdHIgIm8gcmVwb3NpdMOzcmlvIGRlIHJlZmVyw6puY2lhICclcycgbsOjbyDDqSB1bSByZXBvc2l0w7NyaW8gbG9jYWwuIgorCisjOiBzaGExX2ZpbGUuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgorbXNnc3RyICJvIHJlcG9zaXTDs3JpbyBkZSByZWZlcsOqbmNpYSAnJXMnIMOpIHJhc28iCisKKyM6IHNoYTFfZmlsZS5jOjUxOQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCittc2dzdHIgIm8gcmVwb3NpdMOzcmlvIGRlIHJlZmVyw6puY2lhICclcycgZXN0w6EgZW54ZXJ0YWRvIgorCisjOiBzaGExX2ZpbGUuYzoxMTU5CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBlbmQgb2YgcGFja2ZpbGUgKGJyb2tlbiAuaWR4PykiCiBtc2dzdHIgIm9mZnNldCBhbnRlcyBkbyBmaW0gZG8gZmljaGVpcm8gZGUgcGFjb3RlICguaWR4IGRhbmlmaWNhZG8/KSIKIAotIzogc2hhMV9maWxlLmM6MjQ1OAorIzogc2hhMV9maWxlLmM6MjU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIHN0YXJ0IG9mIHBhY2sgaW5kZXggZm9yICVzIChjb3JydXB0IGluZGV4PykiCiBtc2dzdHIgIm9mZnNldCBhbnRlcyBkbyBpbsOtY2lvIGRvIMOtbmRpY2UgZG8gcGFjb3RlICVzICjDrW5kaWNlIGNvcnJvbXBpZG8/KSIKIAotIzogc2hhMV9maWxlLmM6MjQ2MgorIzogc2hhMV9maWxlLmM6MjU5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCiBtc2dzdHIgIm9mZnNldCBkZXBvaXMgZG8gZmltIGRvIMOtbmRpY2UgZG8gcGFjb3RlICVzICjDrW5kaWNlIHRydW5jYWRvPykiCiAKLSM6IHNoYTFfbmFtZS5jOjQ2MgorIzogc2hhMV9uYW1lLmM6NDA3CisjLCBjLWZvcm1hdAorbXNnaWQgInNob3J0IFNIQTEgJXMgaXMgYW1iaWd1b3VzIgorbXNnc3RyICJTSEExIGN1cnRvICVzIMOpIGFtYsOtZ3VvIgorCisjOiBzaGExX25hbWUuYzo0MTgKK21zZ2lkICJUaGUgY2FuZGlkYXRlcyBhcmU6IgorbXNnc3RyICJPcyBjYW5kaWRhdG9zIHPDo286IgorCisjOiBzaGExX25hbWUuYzo1NzgKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCkBAIC0xNzcxLDgzICszMDg0LDE0OSBAQAogbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCiBtc2dzdHIgImZhbGhhIGFvIHByZXBhcmFyIC5naXRtb2R1bGVzIGF0dWFsaXphZG8iCiAKLSM6IHN1Ym1vZHVsZS5jOjE3NworIzogc3VibW9kdWxlLmM6MTU4CiBtc2dpZCAibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hKb2JzIgogbXNnc3RyICJuw6NvIMOpIHBlcm1pdGlkbyB2YWxvcmVzIG5lZ2F0aXZvcyBlbSBzdWJtb2R1bGUuZmV0Y2hKb2JzIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6MzU1CisjOiBzdWJtb2R1bGUtY29uZmlnLmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzIgotbXNnc3RyICJWYWxvciBpbnbDoWxpZG8gZGUgJXMiCittc2dzdHIgInZhbG9yIGludsOhbGlkbyBkZSAlcyIKIAotIzogdHJhaWxlci5jOjIzNworIzogdHJhaWxlci5jOjIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5uaW5nIHRyYWlsZXIgY29tbWFuZCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiZmFsaGEgYW8gZXhlY3V0YXIgbyBjb21hbmRvIHRyYWlsZXIgJyVzJyIKIAotIzogdHJhaWxlci5jOjQ5MiB0cmFpbGVyLmM6NDk2IHRyYWlsZXIuYzo1MDAgdHJhaWxlci5jOjU1NCB0cmFpbGVyLmM6NTU4Ci0jOiB0cmFpbGVyLmM6NTYyCisjOiB0cmFpbGVyLmM6NDcxIHRyYWlsZXIuYzo0NzUgdHJhaWxlci5jOjQ3OSB0cmFpbGVyLmM6NTMzIHRyYWlsZXIuYzo1MzcKKyM6IHRyYWlsZXIuYzo1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biB2YWx1ZSAnJXMnIGZvciBrZXkgJyVzJyIKIG1zZ3N0ciAidmFsb3IgZGVzY29uaGVjaWRvICclcycgZGEgY2hhdmUgJyVzJyIKIAotIzogdHJhaWxlci5jOjU0NCB0cmFpbGVyLmM6NTQ5IGJ1aWx0aW4vcmVtb3RlLmM6Mjg5CisjOiB0cmFpbGVyLmM6NTIzIHRyYWlsZXIuYzo1MjggYnVpbHRpbi9yZW1vdGUuYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIG9uZSAlcyIKIG1zZ3N0ciAibWFpcyBkbyBxdWUgdW0gJXMiCiAKLSM6IHRyYWlsZXIuYzo1ODIKKyM6IHRyYWlsZXIuYzo2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1wdHkgdHJhaWxlciB0b2tlbiBpbiB0cmFpbGVyICclLipzJyIKIG1zZ3N0ciAidG9rZW4gdGVybWluYWRvciB2YXppbyBubyB0ZXJtaW5hZG9yICclLipzJyIKIAotIzogdHJhaWxlci5jOjcwMgorIzogdHJhaWxlci5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBpbnB1dCBmaWxlICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgbyBmaWNoZWlybyBkZSBlbnRyYWRhICclcyciCiAKLSM6IHRyYWlsZXIuYzo3MDUKKyM6IHRyYWlsZXIuYzo2OTgKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIGRhIGVudHJhZGEgcGFkcsOjbyIKIAotIzogdHJhaWxlci5jOjg1NyBidWlsdGluL2FtLmM6NDIKKyM6IHRyYWlsZXIuYzo5MjkgYnVpbHRpbi9hbS5jOjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0ICVzIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgc3RhdCBkZSAlcyIKIAotIzogdHJhaWxlci5jOjg1OQorIzogdHJhaWxlci5jOjkzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCBhIHJlZ3VsYXIgZmlsZSIKIG1zZ3N0ciAibyBmaWNoZWlybyAlcyBuw6NvIMOpIHVtIGZpY2hlaXJvIHJlZ3VsYXIiCiAKLSM6IHRyYWlsZXIuYzo4NjEKKyM6IHRyYWlsZXIuYzo5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBpcyBub3Qgd3JpdGFibGUgYnkgdXNlciIKIG1zZ3N0ciAibyBmaWNoZWlybyAlcyBuw6NvIHBvZGUgc2VyIGVzY3JpdG8gcGVsbyB1dGlsaXphZG9yIgogCi0jOiB0cmFpbGVyLmM6ODczCisjOiB0cmFpbGVyLmM6OTQ1CiBtc2dpZCAiY291bGQgbm90IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBmaWNoZWlybyB0ZW1wb3LDoXJpbyIKIAotIzogdHJhaWxlci5jOjkxMgorIzogdHJhaWxlci5jOjk4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVuYW1lIHRlbXBvcmFyeSBmaWxlIHRvICVzIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbXVkYXIgbyBub21lIGRvIGZpY2hlaXJvIHRlbXBvcsOhcmlvIHBhcmEgJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDQxCisjOiB0cmFuc3BvcnQuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCBzZXQgdXBzdHJlYW0gb2YgJyVzJyB0byAnJXMnIG9mICclcydcbiIKK21zZ3N0ciAiSXJpYSBkZWZpbmlyIG8gcmFtbyBhIG1vbnRhbnRlIGRlICclcycgY29tbyAnJXMnIGRlICclcydcbiIKKworIzogdHJhbnNwb3J0LmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInRyYW5zcG9ydDogaW52YWxpZCBkZXB0aCBvcHRpb24gJyVzJyIKK21zZ3N0ciAidHJhbnNwb3J0ZTogb3DDp8OjbyBkZSBwcm9mdW5kaWRhZGUgJyVzJyBpbnbDoWxpZGEiCisKKyM6IHRyYW5zcG9ydC5jOjgxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgcGF0aHMgY29udGFpbiBjaGFuZ2VzIHRoYXQgY2FuXG4iCisibm90IGJlIGZvdW5kIG9uIGFueSByZW1vdGU6XG4iCittc2dzdHIgIiIKKyJPcyBzZWd1aW50ZXMgY2FtaW5ob3MgZGUgc3VibcOzZHVsbyBjb250w6ptIGFsdGVyYcOnw7VlcyBxdWVcbiIKKyJuw6NvIHB1ZGVyYW0gc2VyIGVuY29udHJhZGFzIGEgbmVuaHVtIHJlbW90bzpcbiIKKworIzogdHJhbnNwb3J0LmM6ODIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJQbGVhc2UgdHJ5XG4iCisiXG4iCisiXHRnaXQgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmRcbiIKKyJcbiIKKyJvciBjZCB0byB0aGUgcGF0aCBhbmQgdXNlXG4iCisiXG4iCisiXHRnaXQgcHVzaFxuIgorIlxuIgorInRvIHB1c2ggdGhlbSB0byBhIHJlbW90ZS5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBvciBmYXZvciB0ZW50ZVxuIgorIlxuIgorIlx0Z2l0IHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kXG4iCisiXG4iCisib3UgY2QgcGFyYSBvIGNhbWluaG8gZSB1c2VcbiIKKyJcbiIKKyJcdGdpdCBwdXNoXG4iCisiXG4iCisicGFyYSBwdWJsaWPDoS1sYXMgbm8gcmVtb3RvLlxuIgorIlxuIgorCisjOiB0cmFuc3BvcnQuYzo4MjkKK21zZ2lkICJBYm9ydGluZy4iCittc2dzdHIgIkFib3J0YWRvLiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgcmVmICVzIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgbGVyIGEgcmVmZXLDqm5jaWEgJXMiCiAKKyM6IHRyZWUtd2Fsay5jOjMxCittc2dpZCAidG9vLXNob3J0IHRyZWUgb2JqZWN0IgorbXNnc3RyICJvYmpldG8gw6Fydm9yZSBkZW1hc2lhZG8gY3VydG8iCisKKyM6IHRyZWUtd2Fsay5jOjM3Cittc2dpZCAibWFsZm9ybWVkIG1vZGUgaW4gdHJlZSBlbnRyeSIKK21zZ3N0ciAibW9kbyBuYSBlbnRyYWRhIGRlIMOhcnZvcmUgbWFsZm9ybWFkbyIKKworIzogdHJlZS13YWxrLmM6NDEKK21zZ2lkICJlbXB0eSBmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IgorbXNnc3RyICJub21lIGRlIGZpY2hlaXJvIHZhemlvIG5hIGVudHJhZGEgZGUgw6Fydm9yZSIKKworIzogdHJlZS13YWxrLmM6MTEzCittc2dpZCAidG9vLXNob3J0IHRyZWUgZmlsZSIKK21zZ3N0ciAiZmljaGVpcm8gZGUgw6Fydm9yZSBkZW1hc2lhZG8gY3VydG8iCisKICM6IHVucGFjay10cmVlcy5jOjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKLSIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgY2FuIHN3aXRjaCBicmFuY2hlcy4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgIiIKICJBcyBzdWFzIGFsdGVyYcOnw7VlcyBsb2NhaXMgbm9zIHNlZ3VpbnRlcyBmaWNoZWlyb3Mgc2VyaWFtIHN1YnN0aXR1w61kYXMgYW8gIgogImV4dHJhaXI6XG4iCi0iJSVzU3VibWV0YSBhcyBzdWFzIGFsdGVyYcOnw7VlcyBvdSBlbXBpbGhlLWFzIChzdGFzaCkgYW50ZXMgZGUgdHJvY2FyIGRlIHJhbW8uIgorIiUlc1N1Ym1ldGEgYXMgc3VhcyBhbHRlcmHDp8O1ZXMgb3UgZXNjb25kYS1hcyBhbnRlcyBkZSB0cm9jYXIgZGUgcmFtby4iCiAKICM6IHVucGFjay10cmVlcy5jOjY2CiAjLCBjLWZvcm1hdApAQCAtMTg2MywxMSArMzI0MiwxMSBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCi0iJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAiIgogIkFzIHN1YXMgYWx0ZXJhw6fDtWVzIGxvY2FpcyBub3Mgc2VndWludGVzIGZpY2hlaXJvcyBzZXJpYW0gc3Vic3RpdHXDrWRhcyBhbyAiCiAiaW50ZWdyYXI6XG4iCi0iJSVzU3VibWV0YSBhcyBzdWFzIGFsdGVyYcOnw7VlcyBvdSBlbXBpbGhlLWFzIChzdGFzaCkgYW50ZXMgZGUgaW50ZWdyYXIuIgorIiUlc1N1Ym1ldGEgYXMgc3VhcyBhbHRlcmHDp8O1ZXMgb3UgZXNjb25kYS1hcyBhbnRlcyBkZSBpbnRlZ3Jhci4iCiAKICM6IHVucGFjay10cmVlcy5jOjcxCiAjLCBjLWZvcm1hdApAQCAtMTg4MywxMSArMzI2MiwxMSBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCi0iJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IGNhbiAlcy4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91ICVzLiIKIG1zZ3N0ciAiIgotIkFzIHN1YXMgYWx0ZXJhw6fDtWVzIGxvY2FpcyBub3Mgc2VndWludGVzIGZpY2hlaXJvcyBzZXJpYW0gc3Vic3RpdHXDrWRhcyBwb3IgJXM6IgotIlxuIgotIiUlc1N1Ym1ldGEgYXMgc3VhcyBhbHRlcmHDp8O1ZXMgb3UgZW1waWxoZS1hcyAoc3Rhc2gpIGFudGVzIGRlIGVmZXR1YXIgJXMuIgorIkFzIHN1YXMgYWx0ZXJhw6fDtWVzIGxvY2FpcyBub3Mgc2VndWludGVzIGZpY2hlaXJvcyBzZXJpYW0gc3Vic3RpdHXDrWRhcyBwb3IgIgorIiVzOlxuIgorIiUlc1N1Ym1ldGEgYXMgc3VhcyBhbHRlcmHDp8O1ZXMgb3UgZXNjb25kYS1hcyBhbnRlcyBkZSBlZmV0dWFyICVzLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6NzYKICMsIGMtZm9ybWF0CkBAIC0xODk1LDggKzMyNzQsOCBAQAogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgogIiUlcyIKIG1zZ3N0ciAiIgotIkFzIHN1YXMgYWx0ZXJhw6fDtWVzIGxvY2FpcyBub3Mgc2VndWludGVzIGZpY2hlaXJvcyBzZXJpYW0gc3Vic3RpdHXDrWRhcyBwb3IgJXM6IgotIlxuIgorIkFzIHN1YXMgYWx0ZXJhw6fDtWVzIGxvY2FpcyBub3Mgc2VndWludGVzIGZpY2hlaXJvcyBzZXJpYW0gc3Vic3RpdHXDrWRhcyBwb3IgIgorIiVzOlxuIgogIiUlcyIKIAogIzogdW5wYWNrLXRyZWVzLmM6ODEKQEAgLTE5MDUsMTUgKzMyODQsMTUgQEAKICJVcGRhdGluZyB0aGUgZm9sbG93aW5nIGRpcmVjdG9yaWVzIHdvdWxkIGxvc2UgdW50cmFja2VkIGZpbGVzIGluIGl0OlxuIgogIiVzIgogbXNnc3RyICIiCi0iUGVyZGVyLXNlLWlhbSBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcyBhbyBhdHVhbGl6YXIgb3Mgc2VndWludGVzIGRpcmV0w7NyaW9zOiIKLSJcbiIKKyJQZXJkZXItc2UtaWFtIGZpY2hlaXJvcyBuw6NvIGNvbnRyb2xhZG9zIGFvIGF0dWFsaXphciBvcyBzZWd1aW50ZXMgIgorImRpcmV0w7NyaW9zOlxuIgogIiVzIgogCiAjOiB1bnBhY2stdHJlZXMuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gc3dpdGNoIGJyYW5jaGVzLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgIiIKICJPcyBzZWd1aW50ZXMgZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgbmEgw6Fydm9yZSBkZSB0cmFiYWxobyBzZXJpYW0gIgogInJlbW92aWRvcyBhbyBleHRyYWlyOlxuIgpAQCAtMTkzMyw3ICszMzEyLDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAiIgogIk9zIHNlZ3VpbnRlcyBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcyBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIHNlcmlhbSAiCiAicmVtb3ZpZG9zIGFvIGludGVncmFyOlxuIgpAQCAtMTk1Myw3ICszMzMyLDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuICVzLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIKIG1zZ3N0ciAiIgogIk9zIHNlZ3VpbnRlcyBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcyBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIHNlcmlhbSAiCiAicmVtb3ZpZG9zIHBvciAlczpcbiIKQEAgLTE5NzQsNyArMzM1Myw3IEBACiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCiAiY2hlY2tvdXQ6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gc3dpdGNoIGJyYW5jaGVzLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgIiIKICJPcyBzZWd1aW50ZXMgZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgZGEgw6Fydm9yZSBkZSB0cmFiYWxobyBzZXJpYW0gIgogInN1YnN0aXR1w61kb3MgYW8gZXh0cmFpcjpcbiIKQEAgLTE5OTUsNyArMzM3NCw3IEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCiAiT3Mgc2VndWludGVzIGZpY2hlaXJvcyBuw6NvIGNvbnRyb2xhZG9zIGRhIMOhcnZvcmUgZGUgdHJhYmFsaG8gc2VyaWFtICIKICJzdWJzdGl0dcOtZG9zIGFvIGludGVncmFyOlxuIgpAQCAtMjAxNSw3ICszMzk0LDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiAlcy4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSAlcy4iCiBtc2dzdHIgIiIKICJPcyBzZWd1aW50ZXMgZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgZGEgw6Fydm9yZSBkZSB0cmFiYWxobyBzZXJpYW0gIgogInN1YnN0aXR1w61kb3MgcG9yICVzOlxuIgpAQCAtMjA0OSw3ICszNDI4LDcgQEAKICM6IHVucGFjay10cmVlcy5jOjEyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iVGhlIGZvbGxvd2luZyBXb3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgc3BhcnNlIGNoZWNrb3V0ICIKKyJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgogInVwZGF0ZTpcbiIKICIlcyIKIG1zZ3N0ciAiIgpAQCAtMjA2MCw3ICszNDM5LDcgQEAKICM6IHVucGFjay10cmVlcy5jOjEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iVGhlIGZvbGxvd2luZyBXb3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBzcGFyc2UgY2hlY2tvdXQgIgorIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgc3BhcnNlIGNoZWNrb3V0ICIKICJ1cGRhdGU6XG4iCiAiJXMiCiBtc2dzdHIgIiIKQEAgLTIxMDYsMjAwICszNDg1LDE5MCBAQAogbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCiBtc2dzdHIgInNlZ21lbnRvIGRlIGNhbWluaG8gJy4uJyBpbnbDoWxpZG8iCiAKLSM6IHdyYXBwZXIuYzoyMjIgd3JhcHBlci5jOjM4MQorIzogd29ya3RyZWUuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKK21zZ3N0ciAiZmFsaGEgYW8gbGVyICclcyciCisKKyM6IHdyYXBwZXIuYzoyMjIgd3JhcHBlci5jOjM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIGFuZCB3cml0aW5nIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJyVzJyBwYXJhIGxlaXR1cmEgZSBlc2NyaXRhIgogCi0jOiB3cmFwcGVyLmM6MjI0IHdyYXBwZXIuYzozODMgYnVpbHRpbi9hbS5jOjc3OQorIzogd3JhcHBlci5jOjIyNCB3cmFwcGVyLmM6Mzk0IGJ1aWx0aW4vYW0uYzo3NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICclcycgcGFyYSBlc2NyaXRhIgogCi0jOiB3cmFwcGVyLmM6MjI2IHdyYXBwZXIuYzozODUgYnVpbHRpbi9hbS5jOjMyMyBidWlsdGluL2FtLmM6NzcyCi0jOiBidWlsdGluL2FtLmM6ODYwIGJ1aWx0aW4vY29tbWl0LmM6MTcxMSBidWlsdGluL21lcmdlLmM6MTA4NgotIzogYnVpbHRpbi9wdWxsLmM6NDA3CisjOiB3cmFwcGVyLmM6MjI2IHdyYXBwZXIuYzozOTYgYnVpbHRpbi9hbS5jOjMyMCBidWlsdGluL2FtLmM6NzU5CisjOiBidWlsdGluL2FtLmM6ODQ3IGJ1aWx0aW4vY29tbWl0LmM6MTcwNSBidWlsdGluL21lcmdlLmM6MTAyOQorIzogYnVpbHRpbi9wdWxsLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAnJXMnIHBhcmEgbGVpdHVyYSIKIAotIzogd3JhcHBlci5jOjU5NCB3cmFwcGVyLmM6NjE1CisjOiB3cmFwcGVyLmM6NjA1IHdyYXBwZXIuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBhY2VkZXIgYSAnJXMnIgogCi0jOiB3cmFwcGVyLmM6NjIzCisjOiB3cmFwcGVyLmM6NjM0CiBtc2dpZCAidW5hYmxlIHRvIGdldCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBkZSBvYnRlciBvIGRpcmV0w7NyaW8gZGUgdHJhYmFsaG8gYXR1YWwiCiAKLSM6IHdyYXBwZXIuYzo2NTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IG9wZW4gJXMgZm9yIHdyaXRpbmciCi1tc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlcyBwYXJhIGVzY3JpdGEiCi0KLSM6IHdyYXBwZXIuYzo2NjEgYnVpbHRpbi9hbS5jOjQxMAorIzogd3JhcHBlci5jOjY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBlc2NyZXZlciBwYXJhICVzIgogCi0jOiB3cmFwcGVyLmM6NjY3CisjOiB3cmFwcGVyLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAlcyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGZlY2hhciAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MTUwCisjOiB3dC1zdGF0dXMuYzoxNTEKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIkNhbWluaG9zIG7Do28gaW50ZWdyYWRvczoiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NyB3dC1zdGF0dXMuYzoyMDQKKyM6IHd0LXN0YXR1cy5jOjE3OCB3dC1zdGF0dXMuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgICh1c2UgXCJnaXQgcmVzZXQgJXMgPGZpY2hlaXJvPi4uLlwiIHBhcmEgZGVzcHJlcGFyYXIpIgogCi0jOiB3dC1zdGF0dXMuYzoxNzkgd3Qtc3RhdHVzLmM6MjA2CisjOiB3dC1zdGF0dXMuYzoxODAgd3Qtc3RhdHVzLmM6MjA3CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpY2hlaXJvPi4uLlwiIHBhcmEgZGVzcHJlcGFyYXIpIgogCi0jOiB3dC1zdGF0dXMuYzoxODMKKyM6IHd0LXN0YXR1cy5jOjE4NAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAodXNlIFwiZ2l0IGFkZCA8ZmljaGVpcm8+Li4uXCIgcGFyYSBtYXJjYXIgY29tbyByZXNvbHZpZG8pIgogCi0jOiB3dC1zdGF0dXMuYzoxODUgd3Qtc3RhdHVzLmM6MTg5CisjOiB3dC1zdGF0dXMuYzoxODYgd3Qtc3RhdHVzLmM6MTkwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmljaGVpcm8+Li4uXCIgY29uZm9ybWUgYXByb3ByaWFkbyBwYXJhIG1hcmNhciBjb21vICIKICJyZXNvbHZpZG8pIgogCi0jOiB3dC1zdGF0dXMuYzoxODcKKyM6IHd0LXN0YXR1cy5jOjE4OAogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICh1c2UgXCJnaXQgcm0gPGZpY2hlaXJvPi4uLlwiIHBhcmEgbWFyY2FyIGNvbW8gcmVzb2x2aWRvKSIKIAotIzogd3Qtc3RhdHVzLmM6MTk4IHd0LXN0YXR1cy5jOjg4MQorIzogd3Qtc3RhdHVzLmM6MTk5IHd0LXN0YXR1cy5jOjk0NQogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiQWx0ZXJhw6fDtWVzIHBhcmEgc2VyZW0gc3VibWV0aWRhczoiCiAKLSM6IHd0LXN0YXR1cy5jOjIxNiB3dC1zdGF0dXMuYzo4OTAKKyM6IHd0LXN0YXR1cy5jOjIxNyB3dC1zdGF0dXMuYzo5NTQKIG1zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCiBtc2dzdHIgIkFsdGVyYcOnw7VlcyBuw6NvIHByZXBhcmFkYXMgcGFyYSBzdWJtZXRlcjoiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMAorIzogd3Qtc3RhdHVzLmM6MjIxCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAgKHVzZSBcImdpdCBhZGQgPGZpY2hlaXJvPi4uLlwiIHBhcmEgYXR1YWxpemFyIG8gcXVlIHNlcsOhIHN1Ym1ldGlkbykiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMgorIzogd3Qtc3RhdHVzLmM6MjIzCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWNoZWlybz4uLi5cIiBwYXJhIGF0dWFsaXphciBvIHF1ZSBzZXLDoSBzdWJtZXRpZG8pIgogCi0jOiB3dC1zdGF0dXMuYzoyMjMKKyM6IHd0LXN0YXR1cy5jOjIyNAogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKIG1zZ3N0ciAiIgogIiAgKHVzZSBcImdpdCBjaGVja291dCAtLSA8ZmljaGVpcm8+Li4uXCIgcGFyYSBkZXNjYXJ0YXIgYWx0ZXJhw6fDtWVzIG5vICIKICJkaXJldMOzcmlvIGRlIHRyYWJhbGhvKSIKIAotIzogd3Qtc3RhdHVzLmM6MjI1CisjOiB3dC1zdGF0dXMuYzoyMjYKIG1zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCiBtc2dzdHIgIiIKICIgIChzdWJtZXRhIG91IGRlc2NhcnRlIG8gY29udGXDumRvIG1vZGlmaWNhZG8gb3UgbsOjbyBjb250cm9sYWRvIG5vcyAiCiAic3VibcOzZHVsb3MpIgogCi0jOiB3dC1zdGF0dXMuYzoyMzcKKyM6IHd0LXN0YXR1cy5jOjIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiICAodXNlIFwiZ2l0ICVzIDxmaWNoZWlybz4uLi5cIiBwYXJhIGluY2x1aXIgbm8gcXVlIHNlcsOhIHN1Ym1ldGlkbykiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MgorIzogd3Qtc3RhdHVzLmM6MjUzCiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAiZWxpbWluYWRvIHBvciBhbWJvczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NAorIzogd3Qtc3RhdHVzLmM6MjU1CiBtc2dpZCAiYWRkZWQgYnkgdXM6IgogbXNnc3RyICJhZGljaW9uYWRvIHBvciBuw7NzOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU2CisjOiB3dC1zdGF0dXMuYzoyNTcKIG1zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgogbXNnc3RyICJlbGltaW5hZG8gcG9yIGVsZXM6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTgKKyM6IHd0LXN0YXR1cy5jOjI1OQogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICJhZGljaW9uYWRvIHBvciBlbGVzOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYwCisjOiB3dC1zdGF0dXMuYzoyNjEKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAiZWxpbWluYWRvIHBvciBuw7NzOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYyCisjOiB3dC1zdGF0dXMuYzoyNjMKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAiYWRpY2lvbmFkbyBwb3IgYW1ib3M6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjQKKyM6IHd0LXN0YXR1cy5jOjI2NQogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICJtb2RpZmljYWRvIHBvciBhbWJvczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NgotIywgYy1mb3JtYXQKLW1zZ2lkICJidWc6IHVuaGFuZGxlZCB1bm1lcmdlZCBzdGF0dXMgJXgiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6Mjc0CisjOiB3dC1zdGF0dXMuYzoyNzUKIG1zZ2lkICJuZXcgZmlsZToiCiBtc2dzdHIgIm5vdm8gZmljaGVpcm86IgogCi0jOiB3dC1zdGF0dXMuYzoyNzYKKyM6IHd0LXN0YXR1cy5jOjI3NwogbXNnaWQgImNvcGllZDoiCiBtc2dzdHIgImNvcGlhZG86IgogCi0jOiB3dC1zdGF0dXMuYzoyNzgKKyM6IHd0LXN0YXR1cy5jOjI3OQogbXNnaWQgImRlbGV0ZWQ6IgogbXNnc3RyICJlbGltaW5hZG86IgogCi0jOiB3dC1zdGF0dXMuYzoyODAKKyM6IHd0LXN0YXR1cy5jOjI4MQogbXNnaWQgIm1vZGlmaWVkOiIKIG1zZ3N0ciAibW9kaWZpY2FkbzoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MgorIzogd3Qtc3RhdHVzLmM6MjgzCiBtc2dpZCAicmVuYW1lZDoiCiBtc2dzdHIgIm5vbWUgbXVkYWRvOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg0CisjOiB3dC1zdGF0dXMuYzoyODUKIG1zZ2lkICJ0eXBlY2hhbmdlOiIKIG1zZ3N0ciAidGlwbyBhbHRlcmFkbzoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NgorIzogd3Qtc3RhdHVzLmM6Mjg3CiBtc2dpZCAidW5rbm93bjoiCiBtc2dzdHIgImRlc2NvbmhlY2lkbzoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4OAorIzogd3Qtc3RhdHVzLmM6Mjg5CiBtc2dpZCAidW5tZXJnZWQ6IgogbXNnc3RyICJuw6NvIGludGVncmFkbzoiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MAorIzogd3Qtc3RhdHVzLmM6MzcxCiBtc2dpZCAibmV3IGNvbW1pdHMsICIKIG1zZ3N0ciAibm92b3MgY29tbWl0cywgIgogCi0jOiB3dC1zdGF0dXMuYzozNzIKKyM6IHd0LXN0YXR1cy5jOjM3MwogbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKIG1zZ3N0ciAiY29udGXDumRvIG1vZGlmaWNhZG8sICIKIAotIzogd3Qtc3RhdHVzLmM6Mzc0CisjOiB3dC1zdGF0dXMuYzozNzUKIG1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgogbXNnc3RyICJjb250ZcO6ZG8gbsOjbyBjb250cm9sYWRvLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM5MQotIywgYy1mb3JtYXQKLW1zZ2lkICJidWc6IHVuaGFuZGxlZCBkaWZmIHN0YXR1cyAlYyIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3NTUKKyM6IHd0LXN0YXR1cy5jOjgxOAogbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgogbXNnc3RyICJTdWJtw7NkdWxvcyBhbHRlcmFkb3MgbWFzIG7Do28gYXR1YWxpemFkb3M6IgogCi0jOiB3dC1zdGF0dXMuYzo3NTcKKyM6IHd0LXN0YXR1cy5jOjgyMAogbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIkFsdGVyYcOnw7VlcyBlbSBzdWJtw7NkdWxvcyBwYXJhIHNlcmVtIHN1Ym1ldGlkYXM6IgogCi0jOiB3dC1zdGF0dXMuYzo4MzgKKyM6IHd0LXN0YXR1cy5jOjkwMQogbXNnaWQgIiIKICJEbyBub3QgdG91Y2ggdGhlIGxpbmUgYWJvdmUuXG4iCiAiRXZlcnl0aGluZyBiZWxvdyB3aWxsIGJlIHJlbW92ZWQuIgpAQCAtMjMwNywxMDAgKzM2NzYsMTA0IEBACiAiTsOjbyBhbHRlcmUgYSBsaW5oYSBhY2ltYS5cbiIKICJUdWRvIG8gcXVlIGVzdGl2ZXIgYWJhaXhvIHNlcsOhIHJlbW92aWRvLiIKIAotIzogd3Qtc3RhdHVzLmM6OTQ5CisjOiB3dC1zdGF0dXMuYzoxMDEzCiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICJIw6EgY2FtaW5ob3MgbsOjbyBpbnRlZ3JhZG9zLiIKIAotIzogd3Qtc3RhdHVzLmM6OTUyCisjOiB3dC1zdGF0dXMuYzoxMDE2CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKIG1zZ3N0ciAiICAoY29ycmlqYSBvcyBjb25mbGl0b3MgZSBleGVjdXRlIFwiZ2l0IGNvbW1pdFwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTU2CisjOiB3dC1zdGF0dXMuYzoxMDE4Cittc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgorbXNnc3RyICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHBhcmEgYWJvcnRhciBhIGludGVncmHDp8OjbykiCisKKyM6IHd0LXN0YXR1cy5jOjEwMjMKIG1zZ2lkICJBbGwgY29uZmxpY3RzIGZpeGVkIGJ1dCB5b3UgYXJlIHN0aWxsIG1lcmdpbmcuIgogbXNnc3RyICJUb2RvcyBvcyBjb25mbGl0b3MgZm9yYW0gY29ycmlnaWRvcyBtYXMgYWluZGEgZXN0w6EgYSBpbnRlZ3Jhci4iCiAKLSM6IHd0LXN0YXR1cy5jOjk1OQorIzogd3Qtc3RhdHVzLmM6MTAyNgogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXRcIiB0byBjb25jbHVkZSBtZXJnZSkiCiBtc2dzdHIgIiAgKHVzZSBcImdpdCBjb21taXRcIiBwYXJhIGNvbmNsdWlyIGEgaW50ZWdyYcOnw6NvKSIKIAotIzogd3Qtc3RhdHVzLmM6OTY5CisjOiB3dC1zdGF0dXMuYzoxMDM2CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICJTZXNzw6NvIGFtIGVtIGN1cnNvLiIKIAotIzogd3Qtc3RhdHVzLmM6OTcyCisjOiB3dC1zdGF0dXMuYzoxMDM5CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJPIHBhdGNoIGF0dWFsIGVzdMOhIHZhemlvLiIKIAotIzogd3Qtc3RhdHVzLmM6OTc2CisjOiB3dC1zdGF0dXMuYzoxMDQzCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoY29ycmlqYSBvcyBjb25mbGl0b3MgZSBleGVjdXRlIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjk3OAorIzogd3Qtc3RhdHVzLmM6MTA0NQogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgcGFyYSBpZ25vcmFyIGVzdGUgcGF0Y2gpIgogCi0jOiB3dC1zdGF0dXMuYzo5ODAKKyM6IHd0LXN0YXR1cy5jOjEwNDcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgcGFyYSByZXN0YXVyYXIgbyByYW1vIG9yaWdpbmFsKSIKIAotIzogd3Qtc3RhdHVzLmM6MTEwNQorIzogd3Qtc3RhdHVzLmM6MTE3MgogbXNnaWQgIk5vIGNvbW1hbmRzIGRvbmUuIgogbXNnc3RyICJOZW5odW0gY29tYW5kbyBjb25jbHXDrWRvLiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwOAorIzogd3Qtc3RhdHVzLmM6MTE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCiBtc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgogbXNnc3RyWzBdICLDmmx0aW1vIGNvbWFuZG8gY29uY2x1w61kbyAoJWQgY29tYW5kbyBjb25jbHXDrWRvKToiCiBtc2dzdHJbMV0gIsOabHRpbW9zIGNvbWFuZG9zIGNvbmNsdcOtZG9zICglZCBjb21hbmRvcyBjb25jbHXDrWRvcyk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMTE5CisjOiB3dC1zdGF0dXMuYzoxMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgogbXNnc3RyICIgICh2ZWphIG1haXMgbm8gZmljaGVpcm8gJXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI0CisjOiB3dC1zdGF0dXMuYzoxMTkxCiBtc2dpZCAiTm8gY29tbWFuZHMgcmVtYWluaW5nLiIKIG1zZ3N0ciAiTmVuaHVtIGNvbWFuZG8gcG9yIGNvbmNsdWlyLiIKIAotIzogd3Qtc3RhdHVzLmM6MTEyNworIzogd3Qtc3RhdHVzLmM6MTE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJOZXh0IGNvbW1hbmQgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kKToiCiBtc2dpZF9wbHVyYWwgIk5leHQgY29tbWFuZHMgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kcyk6IgogbXNnc3RyWzBdICJQcsOzeGltbyBjb21hbmRvIGEgZXhlY3V0YXIgKCVkIGNvbWFuZG8gcmVzdGFudGUpOiIKIG1zZ3N0clsxXSAiUHLDs3hpbW9zIGNvbWFuZG9zIGEgZXhlY3V0YXIgKCVkIGNvbWFuZG9zIHJlc3RhbnRlcyk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMTM1CisjOiB3dC1zdGF0dXMuYzoxMjAyCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHRvIHZpZXcgYW5kIGVkaXQpIgogbXNnc3RyICIgICh1c2UgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgcGFyYSB2aXN1YWxpemFyIGUgZWRpdGFyKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE0OAorIzogd3Qtc3RhdHVzLmM6MTIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiRXN0w6EgYSByZWFsaXphciByZWJhc2UgZG8gcmFtbyAnJXMnIHNvYnJlICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTUzCisjOiB3dC1zdGF0dXMuYzoxMjIwCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICJFc3TDoSBhIHJlYmFzZWFyIG5lc3RlIG1vbWVudG8uIgogCi0jOiB3dC1zdGF0dXMuYzoxMTY3CisjOiB3dC1zdGF0dXMuYzoxMjM0CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGNvcnJpamEgb3MgY29uZmxpdG9zIGUgZXhlY3V0ZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE2OQorIzogd3Qtc3RhdHVzLmM6MTIzNgogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBwYXJhIGlnbm9yYXIgZXN0ZSBwYXRjaCkiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzEKKyM6IHd0LXN0YXR1cy5jOjEyMzgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHBhcmEgcmVzdGF1cmFyIG8gcmFtbyBvcmlnaW5hbCkiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzcKKyM6IHd0LXN0YXR1cy5jOjEyNDQKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgICh0b2RvcyBvcyBjb25mbGl0b3MgZm9yYW0gY29ycmlnaWRvczogZXhlY3V0ZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE4MQorIzogd3Qtc3RhdHVzLmM6MTI0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgpAQCAtMjQwOCwxMjYgKzM3ODEsMTI2IEBACiAiRXN0w6EgYSBkaXZpZGlyIHVtIGNvbW1pdCBhbyBtZXNtbyB0ZW1wbyBxdWUgc2UgZWZldHVhIHJlYmFzZSBkbyByYW1vICclcycgIgogInNvYnJlICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTg2CisjOiB3dC1zdGF0dXMuYzoxMjUzCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIkVzdMOhIGEgZGl2aWRpciB1bSBjb21taXQgZHVyYW50ZSB1bSByZWJhc2UuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTg5CisjOiB3dC1zdGF0dXMuYzoxMjU2CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChBc3NpbSBxdWUgbyBkaXJldMOzcmlvIGRlIHRyYWJhbGhvIGVzdGl2ZXIgbGltcG8sIGV4ZWN1dGUgXCJnaXQgcmViYXNlIC0tIgogImNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTkzCisjOiB3dC1zdGF0dXMuYzoxMjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIiIKICJFc3TDoSBhIGVkaXRhciB1bSBjb21taXQgYW8gbWVzbW8gdGVtcG8gcXVlIGVmZXR1YSByZWJhc2UgZG8gcmFtbyAnJXMnIHNvYnJlICIKICInJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE5OAorIzogd3Qtc3RhdHVzLmM6MTI2NQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiRXN0w6EgYSBlZGl0YXIgdW0gY29tbWl0IGR1cmFudGUgdW0gcmViYXNlLiIKIAotIzogd3Qtc3RhdHVzLmM6MTIwMQorIzogd3Qtc3RhdHVzLmM6MTI2OAogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCiBtc2dzdHIgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHBhcmEgZW1lbmRhciBvIGNvbW1pdCBhdHVhbCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDMKKyM6IHd0LXN0YXR1cy5jOjEyNzAKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiIKICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBhc3NpbSBxdWUgZXN0aXZlciBzYXRpc2ZlaXRvIGNvbSBhcyAiCiAiYWx0ZXJhw6fDtWVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIxMworIzogd3Qtc3RhdHVzLmM6MTI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICJFc3TDoSBhIHJlYWxpemFyIGNoZXJyeS1waWNrIGRvIGNvbW1pdCAlcy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMTgKKyM6IHd0LXN0YXR1cy5jOjEyODUKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoY29ycmlqYSBvcyBjb25mbGl0b3MgZSBleGVjdXRlIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjEKKyM6IHd0LXN0YXR1cy5jOjEyODgKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKHRvZG9zIG9zIGNvbmZsaXRvcyBmb3JhbSBjb3JyaWdpZG9zOiBleGVjdXRlIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWUiCiAiXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjIzCisjOiB3dC1zdGF0dXMuYzoxMjkwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiIKICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHBhcmEgY2FuY2VsYXIgYSBvcGVyYcOnw6NvIGRlIGNoZXJyeS1waWNrKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIzMgorIzogd3Qtc3RhdHVzLmM6MTI5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiRXN0w6EgYSByZXZlcnRlciBvIGNvbW1pdCAlcyBuZXN0ZSBjb21lbnRvLiIKIAotIzogd3Qtc3RhdHVzLmM6MTIzNworIzogd3Qtc3RhdHVzLmM6MTMwNAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoY29ycmlqYSBkb3MgY29uZmxpdG9zIGUgZXhlY3V0ZSBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI0MAorIzogd3Qtc3RhdHVzLmM6MTMwNwogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKHRvZG9zIG9zIGNvbmZsaXRvcyBmb3JhbSBjb3JyaWdpZG9zOiBleGVjdXRlIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQyCisjOiB3dC1zdGF0dXMuYzoxMzA5CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiICAodXNlIFwiZ2l0IHJldmVyIC0tYWJvcnRcIiBwYXJhIGNhbmNlbGFyIGEgb3BlcmHDp8OjbyBkZSByZXZlcnPDo28pIgogCi0jOiB3dC1zdGF0dXMuYzoxMjUzCisjOiB3dC1zdGF0dXMuYzoxMzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiRXN0w6EgYSBiaXNzZXRhciwgaW5pY2lhZG8gYSBwYXJ0aXIgZG8gcmFtbyAnJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NworIzogd3Qtc3RhdHVzLmM6MTMyNAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgIkVzdMOhIGEgYmlzc2V0YXIgbmVzdGUgbW9tZW50by4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjAKKyM6IHd0LXN0YXR1cy5jOjEzMjcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdG8gZ2V0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiBwYXJhIHZvbHRhciBhbyByYW1vIG9yaWdpbmFsKSIKIAotIzogd3Qtc3RhdHVzLmM6MTQ2MAorIzogd3Qtc3RhdHVzLmM6MTUyNAogbXNnaWQgIk9uIGJyYW5jaCAiCiBtc2dzdHIgIk5vIHJhbW8gIgogCi0jOiB3dC1zdGF0dXMuYzoxNDY2CisjOiB3dC1zdGF0dXMuYzoxNTMwCiBtc2dpZCAiaW50ZXJhY3RpdmUgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAicmViYXNlIGludGVyYXRpdm8gZW0gY3Vyc287IHNvYnJlICIKIAotIzogd3Qtc3RhdHVzLmM6MTQ2OAorIzogd3Qtc3RhdHVzLmM6MTUzMgogbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgInJlYmFzZSBlbSBjdXJzbzsgc29icmUgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDczCisjOiB3dC1zdGF0dXMuYzoxNTM3CiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBhdCAiCiBtc2dzdHIgIkhFQUQgZGVzdGFjYWRhIGVtICIKIAotIzogd3Qtc3RhdHVzLmM6MTQ3NQorIzogd3Qtc3RhdHVzLmM6MTUzOQogbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCiBtc2dzdHIgIkhFQUQgZGVzdGFjYWRhIGRlICIKIAotIzogd3Qtc3RhdHVzLmM6MTQ3OAorIzogd3Qtc3RhdHVzLmM6MTU0MgogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIk7Do28gc2UgZW5jb250cmEgZW0gbmVuaHVtIHJhbW8gbmVzdGUgbW9tZW50by4iCiAKLSM6IHd0LXN0YXR1cy5jOjE0OTYKKyM6IHd0LXN0YXR1cy5jOjE1NjAKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiQ29tbWl0IGluaWNpYWwiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MTAKKyM6IHd0LXN0YXR1cy5jOjE1NzQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIkZpY2hlaXJvcyBuw6NvIGNvbnRyb2xhZG9zIgogCi0jOiB3dC1zdGF0dXMuYzoxNTEyCisjOiB3dC1zdGF0dXMuYzoxNTc2CiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiRmljaGVpcm9zIGlnbm9yYWRvcyIKIAotIzogd3Qtc3RhdHVzLmM6MTUxNgorIzogd3Qtc3RhdHVzLmM6MTU4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgpAQCAtMjUzOSwzMiArMzkxMiwzMiBAQAogImN1aWRhZG8gZGUgbsOjbyBzZSBlc3F1ZWNlciBkZSBhZGljaW9uYXIgbm92b3MgZmljaGVpcm9zXG4iCiAiKGNvbnN1bHRlICdnaXQgaGVscCBzdGF0dXMnKS4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1MjIKKyM6IHd0LXN0YXR1cy5jOjE1ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAiRmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgbsOjbyBsaXN0YWRvcyVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNTI0CisjOiB3dC1zdGF0dXMuYzoxNTg4CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAiICh1c2UgYSBvcMOnw6NvIC11IHBhcmEgbW9zdHJhciBvcyBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcykiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzAKKyM6IHd0LXN0YXR1cy5jOjE1OTQKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICJTZW0gYWx0ZXJhw6fDtWVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM1CisjOiB3dC1zdGF0dXMuYzoxNTk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgXCJnaXQgYWRkXCIgYW5kL29yIFwiZ2l0IGNvbW1pdCAtYVwiKVxuIgogbXNnc3RyICIiCiAibmVuaHVtYSBhbHRlcmHDp8OjbyBhZGljaW9uYWRhIHBhcmEgc3VibWV0ZXIgKHVzZSBcImdpdCBhZGRcIiBlL291IFwiZ2l0ICIKICJjb21taXQgLWFcIilcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTUzOAorIzogd3Qtc3RhdHVzLmM6MTYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdFxuIgogbXNnc3RyICJuZW5odW1hIGFsdGVyYcOnw6NvIGFkaWNpb25hZGEgcGFyYSBzdWJtZXRlclxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQxCisjOiB3dC1zdGF0dXMuYzoxNjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnQgKHVzZSBcImdpdCBhZGRcIiB0byAiCkBAIC0yNTczLDU4ICszOTQ2LDczIEBACiAibsOjbyBmb2kgYWRpY2lvbmFkbyBuYWRhIHBhcmEgc3VibWV0ZXIsIG1hcyBleGlzdGVtIGZpY2hlaXJvcyBuw6NvIGNvbnRyb2xhZG9zICIKICIodXNlIFwiZ2l0IGFkZFwiIHBhcmEgY29udHJvbMOhLWxvcylcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU0NAorIzogd3Qtc3RhdHVzLmM6MTYwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKIG1zZ3N0ciAiIgogIm7Do28gZm9pIGFkaWNpb25hZG8gbmFkYSBwYXJhIHN1Ym1ldGVyLCBtYXMgZXhpc3RlbSBmaWNoZWlyb3MgbsOjbyAiCiAiY29udHJvbGFkb3NcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU0NworIzogd3Qtc3RhdHVzLmM6MTYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAoY3JlYXRlL2NvcHkgZmlsZXMgYW5kIHVzZSBcImdpdCBhZGRcIiB0byB0cmFjaylcbiIKIG1zZ3N0ciAiIgogIm7Do28gaMOhIG5hZGEgcGFyYSBzdWJtZXRlciAoY3JpZS9jb3BpZSBmaWNoZWlyb3MgZSB1c2UgXCJnaXQgYWRkXCIgcGFyYSAiCiAiY29udHJvbMOhLWxvcylcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU1MCB3dC1zdGF0dXMuYzoxNTU1CisjOiB3dC1zdGF0dXMuYzoxNjE0IHd0LXN0YXR1cy5jOjE2MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXRcbiIKIG1zZ3N0ciAibsOjbyBow6EgbmFkYSBwYXJhIHN1Ym1ldGVyXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NTMKKyM6IHd0LXN0YXR1cy5jOjE2MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAiIgotIm7Do28gaMOhIG5hZGEgcGFyYSBzdWJtZXRlciAodXNlIC11IHBhcmEgbW9zdHJhciBvcyBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcykiCi0iXG4iCisibsOjbyBow6EgbmFkYSBwYXJhIHN1Ym1ldGVyICh1c2UgLXUgcGFyYSBtb3N0cmFyIG9zIGZpY2hlaXJvcyBuw6NvICIKKyJjb250cm9sYWRvcylcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU1NworIzogd3Qtc3RhdHVzLmM6MTYyMQogIywgYy1mb3JtYXQKLW1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyBkaXJlY3RvcnkgY2xlYW5cbiIKLW1zZ3N0ciAibsOjbyBow6EgbmFkYSBwYXJhIHN1Ym1ldGVyLCBkaXJldMOzcmlvIGRlIHRyYWJhbGhvIGxpbXBvXG4iCittc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhblxuIgorbXNnc3RyICJuw6NvIGjDoSBuYWRhIHBhcmEgc3VibWV0ZXIsIMOhcnZvcmUgZGUgdHJhYmFsaG8gbGltcGFcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTY2NAorIzogd3Qtc3RhdHVzLmM6MTcyOAogbXNnaWQgIkluaXRpYWwgY29tbWl0IG9uICIKIG1zZ3N0ciAiQ29tbWl0IGluaWNpYWwgZW0gIgogCi0jOiB3dC1zdGF0dXMuYzoxNjY4CisjOiB3dC1zdGF0dXMuYzoxNzMyCiBtc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKIG1zZ3N0ciAiSEVBRCAobmVuaHVtIHJhbW8pIgogCi0jOiB3dC1zdGF0dXMuYzoxNjk3CisjOiB3dC1zdGF0dXMuYzoxNzYxCiBtc2dpZCAiZ29uZSIKIG1zZ3N0ciAiZGVzYXBhcmVjaWRvIgogCi0jOiB3dC1zdGF0dXMuYzoxNjk5IHd0LXN0YXR1cy5jOjE3MDcKKyM6IHd0LXN0YXR1cy5jOjE3NjMgd3Qtc3RhdHVzLmM6MTc3MQogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgImF0csOhcyAiCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDIgd3Qtc3RhdHVzLmM6MTcwNQorIzogd3Qtc3RhdHVzLmM6MTc2NiB3dC1zdGF0dXMuYzoxNzY5CiBtc2dpZCAiYWhlYWQgIgogbXNnc3RyICLDoCBmcmVudGUgIgogCi0jOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTcgYnVpbHRpbi9jbG9uZS5jOjQxNQorIy4gVFJBTlNMQVRPUlM6IHRoZSBhY3Rpb24gaXMgZS5nLiAicHVsbCB3aXRoIHJlYmFzZSIKKyM6IHd0LXN0YXR1cy5jOjIyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90ICVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZWZldHVhciAlczogdGVtIGFsdGVyYcOnw7VlcyBuw6NvIHByZXBhcmFkYXMuIgorCisjOiB3dC1zdGF0dXMuYzoyMjc2Cittc2dpZCAiYWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICJhbMOpbSBkaXNzbywgbyDDrW5kaWNlIGNvbnTDqW0gYWx0ZXJhw6fDtWVzIG7Do28gc3VibWV0aWRhcy4iCisKKyM6IHd0LXN0YXR1cy5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90ICVzOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBlZmV0dWFyICVzOiBvIMOtbmRpY2UgY29udMOpbSBhbHRlcmHDp8O1ZXMgbsOjbyBzdWJtZXRpZGFzLiIKKworIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU3IGJ1aWx0aW4vY2xvbmUuYzo0MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgogbXNnc3RyICJmYWxoYSBhbyBpbnZvY2FyIHVubGluayBkZSAnJXMnIgpAQCAtMjYzMywyNjIgKzQwMjEsMjYxIEBACiBtc2dpZCAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBhZGQgWzxvcMOnw7Vlcz5dIFstLV0gPGNhbWluaG8+Li4uIgogCi0jOiBidWlsdGluL2FkZC5jOjY1CisjOiBidWlsdGluL2FkZC5jOjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgImRpZmYgc3RhdHVzIGluZXNwZXJhZG8gJWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NzAgYnVpbHRpbi9jb21taXQuYzoyODAKKyM6IGJ1aWx0aW4vYWRkLmM6ODUgYnVpbHRpbi9jb21taXQuYzoyOTEKIG1zZ2lkICJ1cGRhdGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgImZhbGhhIGFvIGF0dWFsaXphciBvcyBmaWNoZWlyb3MiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6ODAKKyM6IGJ1aWx0aW4vYWRkLmM6OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAicmVtb3ZlciAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTM0CisjOiBidWlsdGluL2FkZC5jOjE0OQogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgogbXNnc3RyICJBbHRlcmHDp8O1ZXMgbsOjbyBwcmVwYXJhZGFzIGRlcG9pcyBkZSBhdHVhbGl6YXIgbyDDrW5kaWNlOiIKIAotIzogYnVpbHRpbi9hZGQuYzoxOTQgYnVpbHRpbi9yZXYtcGFyc2UuYzo4MTEKKyM6IGJ1aWx0aW4vYWRkLmM6MjA5IGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODQwCiBtc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgbGVyIG8gw61uZGljZSIKIAotIzogYnVpbHRpbi9hZGQuYzoyMDUKKyM6IGJ1aWx0aW4vYWRkLmM6MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJyVzJyBwYXJhIGVzY3JpdGEuIgogCi0jOiBidWlsdGluL2FkZC5jOjIwOQorIzogYnVpbHRpbi9hZGQuYzoyMjQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBlc2NyZXZlciBwYXRjaCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMTIKKyM6IGJ1aWx0aW4vYWRkLmM6MjI3CiBtc2dpZCAiZWRpdGluZyBwYXRjaCBmYWlsZWQiCiBtc2dzdHIgImZhbGhhIGFvIGVkaXRhciBwYXRjaCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMTUKKyM6IGJ1aWx0aW4vYWRkLmM6MjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBzdGF0IGRlICclcyciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjE3CisjOiBidWlsdGluL2FkZC5jOjIzMgogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAiUGF0Y2ggdmF6aW8uIEFib3J0YWRvLiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMjIKKyM6IGJ1aWx0aW4vYWRkLmM6MjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAnJXMnIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYXBsaWNhciAnJXMnIgogCi0jOiBidWlsdGluL2FkZC5jOjIzMgorIzogYnVpbHRpbi9hZGQuYzoyNDcKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCiBtc2dzdHIgIk9zIHNlZ3VpbnRlcyBjYW1pbmhvcyBlc3TDo28gaWdub3JhZG9zIHBvciBhbGd1bSBmaWNoZWlybyAuZ2l0aWdub3JlOlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjI0OSBidWlsdGluL2NsZWFuLmM6ODcwIGJ1aWx0aW4vZmV0Y2guYzoxMTIgYnVpbHRpbi9tdi5jOjExMQotIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NSBidWlsdGluL3B1bGwuYzoxOTcgYnVpbHRpbi9wdXNoLmM6NTExCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMzIgYnVpbHRpbi9ybS5jOjI2OCBidWlsdGluL3NlbmQtcGFjay5jOjE2MgorIzogYnVpbHRpbi9hZGQuYzoyNjYgYnVpbHRpbi9jbGVhbi5jOjg3MCBidWlsdGluL2ZldGNoLmM6MTE1IGJ1aWx0aW4vbXYuYzoxMTEKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTUgYnVpbHRpbi9wdWxsLmM6MTk4IGJ1aWx0aW4vcHVzaC5jOjUyMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI2IGJ1aWx0aW4vcm0uYzoyNjggYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKIG1zZ2lkICJkcnkgcnVuIgogbXNnc3RyICJzaW11bGFyIGHDp8OjbyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTAgYnVpbHRpbi9hcHBseS5jOjQ1NjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMzMzIGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg1IGJ1aWx0aW4vZnNjay5jOjU1NwotIzogYnVpbHRpbi9sb2cuYzoxODI2IGJ1aWx0aW4vbXYuYzoxMTAgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKLW1zZ2lkICJiZSB2ZXJib3NlIgotbXNnc3RyICJzZXIgdmVyYm9zbyIKLQotIzogYnVpbHRpbi9hZGQuYzoyNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MjY5CiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAic2VsZcOnw6NvIGludGVyYXRpdmEiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjUzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU0IGJ1aWx0aW4vcmVzZXQuYzoyODYKKyM6IGJ1aWx0aW4vYWRkLmM6MjcwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU2IGJ1aWx0aW4vcmVzZXQuYzoyODYKIG1zZ2lkICJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAic2VsZWNpb25hciBibG9jb3MgaW50ZXJhdGl2YW1lbnRlIgogCi0jOiBidWlsdGluL2FkZC5jOjI1NAorIzogYnVpbHRpbi9hZGQuYzoyNzEKIG1zZ2lkICJlZGl0IGN1cnJlbnQgZGlmZiBhbmQgYXBwbHkiCiBtc2dzdHIgImVkaXRhciBvIGRpZmYgYXR1YWwgZSBhcGxpY8OhLWxvIgogCi0jOiBidWlsdGluL2FkZC5jOjI1NQorIzogYnVpbHRpbi9hZGQuYzoyNzIKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgInBlcm1pdGlyIGFkaWNpb25hciBmaWNoZWlyb3MgaWdub3JhZG9zIgogCi0jOiBidWlsdGluL2FkZC5jOjI1NgorIzogYnVpbHRpbi9hZGQuYzoyNzMKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiYXR1YWxpemFyIGZpY2hlaXJvcyBjb250cm9sYWRvcyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTcKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc0CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICJyZWdpc3RhciBhcGVuYXMgbyBmYWN0byBkZSBxdWUgbyBjYW1pbmhvIHNlcsOhIGFkaWNpb25hZG8gbWFpcyB0YXJkZSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTgKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICIiCiAiYWRpY2lvbmFyIGFsdGVyYcOnw7VlcyBkZSB0b2RvcyBvcyBmaWNoZWlyb3MgY29udHJvbGFkb3Mgb3UgbsOjbyBjb250cm9sYWRvcyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjEKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc4CiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCiBtc2dzdHIgIiIKICJpZ25vcmFyIGNhbWluaG9zIHJlbW92aWRvcyBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIChvIG1lc21vIHF1ZSAtLW5vLWFsbCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjYzCisjOiBidWlsdGluL2FkZC5jOjI4MAogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAibsOjbyBhZGljaW9uYXIsIGFwZW5hcyBhdHVhbGl6YXIgbyDDrW5kaWNlIgogCi0jOiBidWlsdGluL2FkZC5jOjI2NAorIzogYnVpbHRpbi9hZGQuYzoyODEKIG1zZ2lkICJqdXN0IHNraXAgZmlsZXMgd2hpY2ggY2Fubm90IGJlIGFkZGVkIGJlY2F1c2Ugb2YgZXJyb3JzIgogbXNnc3RyICJpZ25vcmFyIGZpY2hlaXJvcyBxdWUgbsOjbyBwb2RlbSBzZXIgYWRpY2lvbmFkb3MgcG9yIGNhdXNhIGRlIGVycm9zIgogCi0jOiBidWlsdGluL2FkZC5jOjI2NQorIzogYnVpbHRpbi9hZGQuYzoyODIKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgInZlcmlmaWNhciBxdWFpcyBvcyBmaWNoZWlyb3MgaWdub3JhZG9zIG5hIHNpbXVsYcOnw6NvIgogCi0jOiBidWlsdGluL2FkZC5jOjI4NworIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDcKK21zZ2lkICIoKy8tKXgiCittc2dzdHIgIigrLy0peCIKKworIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDgKK21zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKK21zZ3N0ciAic3Vic3RpdHVpciBvIGJpdCBleGVjdXTDoXZlbCBkb3MgZmljaGVpcm9zIGxpc3RhZG9zIgorCisjOiBidWlsdGluL2FkZC5jOjMwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICJVc2UgLWYgc2UgZGVzZWphIG1lc21vIGFkaWNpb27DoS1sb3MuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk0CisjOiBidWlsdGluL2FkZC5jOjMxMgogbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgImZhbGhhIGFvIGFkaWNpb25hciBmaWNoZWlyb3MiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzMwCisjOiBidWlsdGluL2FkZC5jOjM0OAogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICItQSBlIC11IHPDo28gbXV0dWFtZW50ZSBpbmNvbXBhdMOtdmVpcyIKIAotIzogYnVpbHRpbi9hZGQuYzozMzcKKyM6IGJ1aWx0aW4vYWRkLmM6MzU1CiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAiQSBvcMOnw6NvIC0taWdub3JlLW1pc3Npbmcgc8OzIHBvZGUgc2VyIHVzYWRhIGVtIGNvbmp1bnRvIGNvbSAtLWRyeS1ydW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUyCisjOiBidWlsdGluL2FkZC5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCittc2dzdHIgIm8gcGFyw6JtZXRybyAnJXMnIGRlIC0tY2htb2QgdGVtIGRlIHNlciAteCBvdSAreCIKKworIzogYnVpbHRpbi9hZGQuYzozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIk7Do28gZm9pIGVzcGVjaWZpY2FkbyBuYWRhLCBuYWRhIGFkaWNpb25hZG8uXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUzCisjOiBidWlsdGluL2FkZC5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiUXVlcmlhIGRpemVyICdnaXQgYWRkIC4nP1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjM1OCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NsZWFuLmM6OTE0Ci0jOiBidWlsdGluL2NvbW1pdC5jOjMzOSBidWlsdGluL212LmM6MTMxIGJ1aWx0aW4vcmVzZXQuYzoyMzUgYnVpbHRpbi9ybS5jOjI5OAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0MAorIzogYnVpbHRpbi9hZGQuYzozODAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIgYnVpbHRpbi9jaGVja291dC5jOjI3OQorIzogYnVpbHRpbi9jaGVja291dC5jOjQ3MiBidWlsdGluL2NsZWFuLmM6OTE0IGJ1aWx0aW4vY29tbWl0LmM6MzUwCisjOiBidWlsdGluL212LmM6MTMxIGJ1aWx0aW4vcmVzZXQuYzoyMzUgYnVpbHRpbi9ybS5jOjI5OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0NAogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKIG1zZ3N0ciAiZmljaGVpcm8gZGUgw61uZGljZSBjb3Jyb21waWRvIgogCi0jOiBidWlsdGluL2FkZC5jOjQzOSBidWlsdGluL2FwcGx5LmM6NDY2MSBidWlsdGluL212LmM6MjgzIGJ1aWx0aW4vcm0uYzo0MzAKLW1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCi1tc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBlc2NyZXZlciBub3ZvIGZpY2hlaXJvIGRlIMOtbmRpY2UiCi0KLSM6IGJ1aWx0aW4vYW0uYzoyNTYgYnVpbHRpbi9jb21taXQuYzo3NDkgYnVpbHRpbi9tZXJnZS5jOjEwODkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKLW1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxlciAnJXMnIgotCi0jOiBidWlsdGluL2FtLmM6NDMwCisjOiBidWlsdGluL2FtLmM6NDE0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGF1dGhvciBzY3JpcHQiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhbmFsaXNhciBvIGF1dG9yIGRvIHNjcmlwdCIKIAotIzogYnVpbHRpbi9hbS5jOjUwNworIzogYnVpbHRpbi9hbS5jOjQ5MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICInJXMnIGZvaSBlbGltaW5hZG8gcGVsbyBob29rIGFwcGx5cGF0Y2gtbXNnIgogCi0jOiBidWlsdGluL2FtLmM6NTQ4IGJ1aWx0aW4vbm90ZXMuYzozMDAKKyM6IGJ1aWx0aW4vYW0uYzo1MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgogbXNnc3RyICJMaW5oYSBkZSBlbnRyYWRhIG1hbGZvcm1hZGE6ICclcycuIgogCi0jOiBidWlsdGluL2FtLmM6NTg1IGJ1aWx0aW4vbm90ZXMuYzozMTUKKyM6IGJ1aWx0aW4vYW0uYzo1NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIkZhbGhhIGFvIGNvcGlhciBub3RhcyBkZSAnJXMnIHBhcmEgJyVzJyIKIAotIzogYnVpbHRpbi9hbS5jOjYxMQorIzogYnVpbHRpbi9hbS5jOjU5NQogbXNnaWQgImZzZWVrIGZhaWxlZCIKIG1zZ3N0ciAiZmFsaGEgYW8gaW52b2NhciBmc2VlayIKIAotIzogYnVpbHRpbi9hbS5jOjc4OAorIzogYnVpbHRpbi9hbS5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGF0Y2ggJyVzJyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFuYWxpc2FyIG8gcGF0Y2ggJyVzJyIKIAotIzogYnVpbHRpbi9hbS5jOjg1MworIzogYnVpbHRpbi9hbS5jOjg0MAogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgogbXNnc3RyICJTw7MgcG9kZSBzZXIgYXBsaWNhZGEgdW1hIHPDqXJpZSBkZSBwYXRjaGVzIFN0R0lUIGR1bWEgc8OzIHZleiIKIAotIzogYnVpbHRpbi9hbS5jOjkwMAorIzogYnVpbHRpbi9hbS5jOjg4NwogbXNnaWQgImludmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICJjYXJpbWJvIGRlIGRhdGEvaG9yYSBpbnbDoWxpZG8iCiAKLSM6IGJ1aWx0aW4vYW0uYzo5MDMgYnVpbHRpbi9hbS5jOjkxMQorIzogYnVpbHRpbi9hbS5jOjg5MCBidWlsdGluL2FtLmM6ODk4CiBtc2dpZCAiaW52YWxpZCBEYXRlIGxpbmUiCiBtc2dzdHIgImxpbmhhIGRlIERhdGEgaW52w6FsaWRhIgogCi0jOiBidWlsdGluL2FtLmM6OTA4CisjOiBidWlsdGluL2FtLmM6ODk1CiBtc2dpZCAiaW52YWxpZCB0aW1lem9uZSBvZmZzZXQiCiBtc2dzdHIgIm11ZGFuw6dhIGRlIGZ1c28gaG9yw6FyaW8gaW52w6FsaWRhIgogCi0jOiBidWlsdGluL2FtLmM6OTk1CisjOiBidWlsdGluL2FtLmM6OTg0CiBtc2dpZCAiUGF0Y2ggZm9ybWF0IGRldGVjdGlvbiBmYWlsZWQuIgogbXNnc3RyICJGYWxoYSBhbyBkZXRldGFyIG8gZm9ybWF0byBkbyBwYXRjaC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMDAwIGJ1aWx0aW4vY2xvbmUuYzozODAKKyM6IGJ1aWx0aW4vYW0uYzo5ODkgYnVpbHRpbi9jbG9uZS5jOjM3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJmYWxoYSBhbyBjcmlhciBvIGRpcmV0w7NyaW8gJyVzJyIKIAotIzogYnVpbHRpbi9hbS5jOjEwMDQKKyM6IGJ1aWx0aW4vYW0uYzo5OTMKIG1zZ2lkICJGYWlsZWQgdG8gc3BsaXQgcGF0Y2hlcy4iCiBtc2dzdHIgIkZhbGhhIGFvIGRpdmlkaXIgcGF0Y2hlcy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTM2IGJ1aWx0aW4vY29tbWl0LmM6MzY1CisjOiBidWlsdGluL2FtLmM6MTEyNSBidWlsdGluL2NvbW1pdC5jOjM3NgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBpbmRleCBmaWxlIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBlc2NyZXZlciBvIGZpY2hlaXJvIGRlIMOtbmRpY2UiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTg3CisjOiBidWlsdGluL2FtLmM6MTE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJXMgLS1jb250aW51ZVwiLiIKIG1zZ3N0ciAiQXDDs3MgcmVzb2x2ZXIgZXN0ZSBwcm9ibGVtYSwgZXhlY3V0ZSBcIiVzIC0tY29udGludWVcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTg4CisjOiBidWlsdGluL2FtLmM6MTE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiJXMgLS1za2lwXCIgaW5zdGVhZC4iCiBtc2dzdHIgIlNlIHByZWZlcmlyIGlnbm9yYXIgZXN0ZSBwYXRjaCwgZXhlY3V0ZSBcIiVzIC0tc2tpcFwiLiIKIAotIzogYnVpbHRpbi9hbS5jOjExODkKKyM6IGJ1aWx0aW4vYW0uYzoxMTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKIG1zZ3N0ciAiIgogIlBhcmEgcmVzdGF1cmFyIG8gcmFtbyBvcmlnaW5hbCBlIGludGVycm9tcGVyIGEgYXBsaWNhw6fDo28gZG9zIHBhdGNoZXMsICIKICJleGVjdXRlIFwiJXMgLS1hYm9ydFwiLiIKIAotIzogYnVpbHRpbi9hbS5jOjEzMjcKKyM6IGJ1aWx0aW4vYW0uYzoxMzE2CiBtc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIFdhcyBpdCBzcGxpdCB3cm9uZz8iCiBtc2dzdHIgIk8gcGF0Y2ggZXN0w6EgdmF6aW8uIEZvaSBkaXZpZGlkbyBpbmNvcnJldGFtZW50ZT8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNDAxIGJ1aWx0aW4vbG9nLmM6MTUxNgorIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9sb2cuYzoxNTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCiBtc2dzdHIgImxpbmhhIGRlIGlkZW50aWRhZGUgaW52w6FsaWRhOiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE0MjgKKyM6IGJ1aWx0aW4vYW0uYzoxNDE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhbmFsaXNhciBvIGNvbW1pdCAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzAKKyM6IGJ1aWx0aW4vYW0uYzoxNjEwCiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiIgogIk8gcmVwb3NpdMOzcmlvIG7Do28gdGVtIG9zIGJsb2JzIG5lY2Vzc8OhcmlvcyBwYXJhIHJlY29ycmVyIGEgaW50ZWdyYcOnw6NvIGNvbSAzICIKICJwb250b3MuIgogCi0jOiBidWlsdGluL2FtLmM6MTYzMgorIzogYnVpbHRpbi9hbS5jOjE2MTIKIG1zZ2lkICJVc2luZyBpbmRleCBpbmZvIHRvIHJlY29uc3RydWN0IGEgYmFzZSB0cmVlLi4uIgogbXNnc3RyICJBIHVzYXIgaW5mb3JtYcOnw6NvIGRvIMOtbmRpY2UgcGFyYSByZWNvbnN0cnVpciB1bWEgw6Fydm9yZSBkZSBiYXNlLi4uIgogCi0jOiBidWlsdGluL2FtLmM6MTY1MQorIzogYnVpbHRpbi9hbS5jOjE2MzEKIG1zZ2lkICIiCiAiRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKICJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgpAQCAtMjg5Niw0MSArNDI4Myw0MSBAQAogIkVkaXRvdSBvIHBhdGNoIG1hbnVhbG1lbnRlP1xuIgogIk7Do28gw6kgcG9zc8OtdmVsIGFwbGljw6EtbG8gYW9zIGJsb2JzIHJlZ2lzdGFkb3Mgbm8gw61uZGljZS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjU3CisjOiBidWlsdGluL2FtLmM6MTYzNwogbXNnaWQgIkZhbGxpbmcgYmFjayB0byBwYXRjaGluZyBiYXNlIGFuZCAzLXdheSBtZXJnZS4uLiIKIG1zZ3N0ciAiIgogIkEgcmVjb3JyZXIgYSB1bWEgZGUgYmFzZSBwYXJhIGFwbGljYcOnw6NvIGRlIHBhdGNoZXMgZSBpbnRlZ3Jhw6fDo28gY29tIDMgIgogInBvbnRvcy4uLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NzIKKyM6IGJ1aWx0aW4vYW0uYzoxNjYyCiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIGluIHRoZSBjaGFuZ2VzLiIKIG1zZ3N0ciAiRmFsaGEgYW8gaW50ZWdyYXIgYXMgYWx0ZXJhw6fDtWVzLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2OTYgYnVpbHRpbi9tZXJnZS5jOjYzNgorIzogYnVpbHRpbi9hbS5jOjE2ODYgYnVpbHRpbi9tZXJnZS5jOjYyOAogbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIGZhbGhvdSBhbyBlc2NyZXZlciB1bWEgw6Fydm9yZSIKIAotIzogYnVpbHRpbi9hbS5jOjE3MDMKKyM6IGJ1aWx0aW4vYW0uYzoxNjkzCiBtc2dpZCAiYXBwbHlpbmcgdG8gYW4gZW1wdHkgaGlzdG9yeSIKIG1zZ3N0ciAiYSBhcGxpY2FyIGEgdW0gaGlzdMOzcmljbyB2YXppbyIKIAotIzogYnVpbHRpbi9hbS5jOjE3MTYgYnVpbHRpbi9jb21taXQuYzoxNzc1IGJ1aWx0aW4vbWVyZ2UuYzo4NDEKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjYKKyM6IGJ1aWx0aW4vYW0uYzoxNzA2IGJ1aWx0aW4vY29tbWl0LmM6MTc2OSBidWlsdGluL21lcmdlLmM6Nzk4CisjOiBidWlsdGluL21lcmdlLmM6ODIzCiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiCiBtc2dzdHIgImZhbGhhIGFvIGVzY3JldmVyIG9iamV0byBkZSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzQ4IGJ1aWx0aW4vYW0uYzoxNzUyCisjOiBidWlsdGluL2FtLmM6MTczOSBidWlsdGluL2FtLmM6MTc0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzdW1lOiAlcyBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGNvbnRpbnVhcjogJXMgbsOjbyBleGlzdGUuIgogCi0jOiBidWlsdGluL2FtLmM6MTc2OAorIzogYnVpbHRpbi9hbS5jOjE3NTkKIG1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCiBtc2dzdHIgIiIKICJuw6NvIMOpIHBvc3PDrXZlbCBlbnRyYXIgZW0gbW9kbyBpbnRlcmF0aXZvIHNlbSB1bSBlbnRyYWRhIHBhZHLDo28gY29uZWN0YWRhIGEgIgogInVtIHRlcm1pbmFsLiIKIAotIzogYnVpbHRpbi9hbS5jOjE3NzMKKyM6IGJ1aWx0aW4vYW0uYzoxNzY0CiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICJDb3JwbyBkbyBjb21taXQ6IgogCkBAIC0yOTM4LDM1ICs0MzI1LDM1IEBACiAjLiBpbiB5b3VyIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2gKICMuIGlucHV0IGF0IHRoaXMgcG9pbnQuCiAjLgotIzogYnVpbHRpbi9hbS5jOjE3ODMKKyM6IGJ1aWx0aW4vYW0uYzoxNzc0CiBtc2dpZCAiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKIG1zZ3N0ciAiQXBsaWNhcj8gW3ldc2ltL1tuXcOjby9bZV1kaXRhci9bdl1lciBwYXRjaC9bYV1jZWl0YXIgdG9kb3M6ICIKIAotIzogYnVpbHRpbi9hbS5jOjE4MzMKKyM6IGJ1aWx0aW4vYW0uYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcnR5IGluZGV4OiBjYW5ub3QgYXBwbHkgcGF0Y2hlcyAoZGlydHk6ICVzKSIKIG1zZ3N0ciAiw41uZGljZSBtb2RpZmljYWRvOiBuw6NvIMOpIHBvc3PDrXZlbCBhcGxpY2FyIHBhdGNoZXMgKG1vZGlmaWNhZG86ICVzKSIKIAotIzogYnVpbHRpbi9hbS5jOjE4NjggYnVpbHRpbi9hbS5jOjE5NDAKKyM6IGJ1aWx0aW4vYW0uYzoxODYxIGJ1aWx0aW4vYW0uYzoxOTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nOiAlLipzIgogbXNnc3RyICJBIGFwbGljYXI6ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODg0CisjOiBidWlsdGluL2FtLmM6MTg3NwogbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKIG1zZ3N0ciAiTmVuaHVtYSBhbHRlcmHDp8OjbyAtLSBKw6EgZm9pIGFwbGljYWRvIG8gcGF0Y2guIgogCi0jOiBidWlsdGluL2FtLmM6MTg5MgorIzogYnVpbHRpbi9hbS5jOjE4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGF0Y2ggZmFpbGVkIGF0ICVzICUuKnMiCiBtc2dzdHIgIkZhbGhhIGFvIGFwbGljYXIgbyBwYXRjaCBlbSAlcyAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTg5OAorIzogYnVpbHRpbi9hbS5jOjE4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGNvcHkgb2YgdGhlIHBhdGNoIHRoYXQgZmFpbGVkIGlzIGZvdW5kIGluOiAlcyIKIG1zZ3N0ciAiQSBjw7NwaWEgZG8gcGF0Y2ggcXVlIGZhbGhvdSBlbmNvbnRyYS1zZSBlbTogJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxOTQzCisjOiBidWlsdGluL2FtLmM6MTkzNgogbXNnaWQgIiIKICJObyBjaGFuZ2VzIC0gZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz9cbiIKICJJZiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gc3RhZ2UsIGNoYW5jZXMgYXJlIHRoYXQgc29tZXRoaW5nIGVsc2VcbiIKQEAgLTI5NzYsNyArNDM2Myw3IEBACiAiU2UgbsOjbyBow6EgbmFkYSBwb3IgcHJlcGFyYXIsIHByb3ZhdmVsbWVudGUgZXNzYXMgbWVzbWFzIGFsdGVyYcOnw7Vlc1xuIgogImrDoSBmb3JhbSBpbnRyb2R1emlkYXM7IHBvZGUgcXVlcmVyIGlnbm9yYXIgZXN0ZSBwYXRjaC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxOTUwCisjOiBidWlsdGluL2FtLmM6MTk0MwogbXNnaWQgIiIKICJZb3Ugc3RpbGwgaGF2ZSB1bm1lcmdlZCBwYXRocyBpbiB5b3VyIGluZGV4LlxuIgogIkRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/IgpAQCAtMjk4NCwxNyArNDM3MSwxNyBAQAogIkFpbmRhIGjDoSBjYW1pbmhvcyBuw6NvIGludGVncmFkb3Mgbm8gw61uZGljZS5cbiIKICJFc3F1ZWNldS1zZSBkZSB1c2FyICdnaXQgYWRkJz8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMDU4IGJ1aWx0aW4vYW0uYzoyMDYyIGJ1aWx0aW4vYW0uYzoyMDc0IGJ1aWx0aW4vcmVzZXQuYzozMDgKKyM6IGJ1aWx0aW4vYW0uYzoyMDUxIGJ1aWx0aW4vYW0uYzoyMDU1IGJ1aWx0aW4vYW0uYzoyMDY3IGJ1aWx0aW4vcmVzZXQuYzozMDgKICM6IGJ1aWx0aW4vcmVzZXQuYzozMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFuYWxpc2FyIG8gb2JqZXRvICclcycuIgogCi0jOiBidWlsdGluL2FtLmM6MjExMAorIzogYnVpbHRpbi9hbS5jOjIxMDMKIG1zZ2lkICJmYWlsZWQgdG8gY2xlYW4gaW5kZXgiCiBtc2dzdHIgImZhbGhhIGFvIGxpbXBhciBvIMOtbmRpY2UiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTQ0CisjOiBidWlsdGluL2FtLmM6MjEzNwogbXNnaWQgIiIKICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQgc2luY2UgdGhlIGxhc3QgJ2FtJyBmYWlsdXJlLlxuIgogIk5vdCByZXdpbmRpbmcgdG8gT1JJR19IRUFEIgpAQCAtMzAwMiwxNTUgKzQzODksMTM0IEBACiAiUGFyZWNlIHF1ZSBhIEhFQUQgZm9pIG1vdmlkYSBkZXNkZSBhIMO6bHRpbWEgdmV6IHF1ZSBvICdhbScgZmFsaG91LlxuIgogIk7Do28gcmVjdWFuZG8gYSBPUklHX0hFQUQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjA1CisjOiBidWlsdGluL2FtLmM6MjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAtLXBhdGNoLWZvcm1hdDogJXMiCiBtc2dzdHIgIlZhbG9yIGludsOhbGlkbyBkZSAtLXBhdGNoLWZvcm1hdDogJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM4Ci1tc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+fDxNYWlsZGlyPikuLi5dIgotbXNnc3RyICJnaXQgYW0gWzxvcMOnw7Vlcz5dIFsoPG1ib3g+fDxNYWlsZGlyPikuLi5dIgorIzogYnVpbHRpbi9hbS5jOjIyMzMKK21zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKK21zZ3N0ciAiZ2l0IGFtIFs8b3DDp8O1ZXM+XSBbKDxtYm94PiB8IDxNYWlsZGlyPikuLi5dIgogCi0jOiBidWlsdGluL2FtLmM6MjIzOQorIzogYnVpbHRpbi9hbS5jOjIyMzQKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIG1zZ3N0ciAiZ2l0IGFtIFs8b3DDp8O1ZXM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NQorIzogYnVpbHRpbi9hbS5jOjIyNDAKIG1zZ2lkICJydW4gaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAiZXhlY3V0YXIgaW50ZXJhdGl2YW1lbnRlIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NworIzogYnVpbHRpbi9hbS5jOjIyNDIKIG1zZ2lkICJoaXN0b3JpY2FsIG9wdGlvbiAtLSBuby1vcCIKIG1zZ3N0ciAib3DDp8OjbyBoaXN0w7NyaWNhIC0tIHNlbS1hw6fDo28iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ5CisjOiBidWlsdGluL2FtLmM6MjI0NAogbXNnaWQgImFsbG93IGZhbGwgYmFjayBvbiAzd2F5IG1lcmdpbmcgaWYgbmVlZGVkIgogbXNnc3RyICJwZXJtaXRpciByZWNvcnJlciBhIGludGVncmHDp8OjbyBjb20gMyBwb250b3Mgc2UgbmVjZXNzw6FyaW8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU3Ci0jOiBidWlsdGluL3JlcGFjay5jOjE3MQorIzogYnVpbHRpbi9hbS5jOjIyNDUgYnVpbHRpbi9pbml0LWRiLmM6NDgzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcyCiBtc2dpZCAiYmUgcXVpZXQiCiBtc2dzdHIgInNpbGVuY2lvc28iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUyCisjOiBidWlsdGluL2FtLmM6MjI0NwogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgImFkaWNpb25hciB1bWEgbGluaGEgY29tIFNpZ25lZC1vZi1ieSBubyBmaW0gZGEgbWVuc2FnZW0gZGUgY29tbWl0IgogCi0jOiBidWlsdGluL2FtLmM6MjI1NQorIzogYnVpbHRpbi9hbS5jOjIyNTAKIG1zZ2lkICJyZWNvZGUgaW50byB1dGY4IChkZWZhdWx0KSIKIG1zZ3N0ciAicmVjb2RpZmljYXIgZW0gdXRmOCAocHJlZGVmaW5pw6fDo28pIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NworIzogYnVpbHRpbi9hbS5jOjIyNTIKIG1zZ2lkICJwYXNzIC1rIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJwYXNzYXIgYSBvcMOnw6NvIC1rIGFvIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTkKKyM6IGJ1aWx0aW4vYW0uYzoyMjU0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAicGFzc2FyIGEgb3DDp8OjbyAtYiBhbyBnaXQtbWFpbGluZm8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjYxCisjOiBidWlsdGluL2FtLmM6MjI1NgogbXNnaWQgInBhc3MgLW0gZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgInBhc3NhciBhIG9ww6fDo28gLW0gYW8gZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjI2MworIzogYnVpbHRpbi9hbS5jOjIyNTgKIG1zZ2lkICJwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgZm9yIG1ib3ggZm9ybWF0IgogbXNnc3RyICJwYXNzYXIgYSBvcMOnw6NvIC0ta2VlcC1jciBhbyBnaXRtYWlsc3BsaXQgcGFyYSBmb3JtYXRvIGRlIG1ib3giCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY2CisjOiBidWlsdGluL2FtLmM6MjI2MQogbXNnaWQgImRvIG5vdCBwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgaW5kZXBlbmRlbnQgb2YgYW0ua2VlcGNyIgogbXNnc3RyICIiCiAibsOjbyBwYXNzYXIgYSBvcMOnw6NvIC0ta2VlcC1jciBhbyBnaXQtbWFpbHNwbGl0IGluZGVwZW5kZW50ZW1lbnRlIGRlIGFtLmtlZXBjciIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjkKKyM6IGJ1aWx0aW4vYW0uYzoyMjY0CiBtc2dpZCAic3RyaXAgZXZlcnl0aGluZyBiZWZvcmUgYSBzY2lzc29ycyBsaW5lIgogbXNnc3RyICJyZXRpcmFyIHRvZG8gbyBjb250ZcO6ZG8gYW50ZXMgZGEgbGluaGEgZGUgdGVzb3VyYSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzAgYnVpbHRpbi9hcHBseS5jOjQ1NDYKLW1zZ2lkICJhY3Rpb24iCi1tc2dzdHIgImHDp8OjbyIKLQotIzogYnVpbHRpbi9hbS5jOjIyNzEgYnVpbHRpbi9hbS5jOjIyNzQgYnVpbHRpbi9hbS5jOjIyNzcgYnVpbHRpbi9hbS5jOjIyODAKLSM6IGJ1aWx0aW4vYW0uYzoyMjgzIGJ1aWx0aW4vYW0uYzoyMjg2IGJ1aWx0aW4vYW0uYzoyMjg5IGJ1aWx0aW4vYW0uYzoyMjkyCi0jOiBidWlsdGluL2FtLmM6MjI5OAorIzogYnVpbHRpbi9hbS5jOjIyNjYgYnVpbHRpbi9hbS5jOjIyNjkgYnVpbHRpbi9hbS5jOjIyNzIgYnVpbHRpbi9hbS5jOjIyNzUKKyM6IGJ1aWx0aW4vYW0uYzoyMjc4IGJ1aWx0aW4vYW0uYzoyMjgxIGJ1aWx0aW4vYW0uYzoyMjg0IGJ1aWx0aW4vYW0uYzoyMjg3CisjOiBidWlsdGluL2FtLmM6MjI5MwogbXNnaWQgInBhc3MgaXQgdGhyb3VnaCBnaXQtYXBwbHkiCiBtc2dzdHIgInRyYW5zbWl0aXIgYW8gZ2l0LWFwcGx5IgogCi0jOiBidWlsdGluL2FtLmM6MjI3OSBidWlsdGluL2FwcGx5LmM6NDU3MAotbXNnaWQgInJvb3QiCi1tc2dzdHIgInJhaXoiCi0KLSM6IGJ1aWx0aW4vYW0uYzoyMjgyIGJ1aWx0aW4vYW0uYzoyMjg1IGJ1aWx0aW4vYXBwbHkuYzo0NTA4Ci0jOiBidWlsdGluL2FwcGx5LmM6NDUxMSBidWlsdGluL2Nsb25lLmM6OTAgYnVpbHRpbi9mZXRjaC5jOjk1Ci0jOiBidWlsdGluL3B1bGwuYzoxNzkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI3NwotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDg1Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDg4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzAKLW1zZ2lkICJwYXRoIgotbXNnc3RyICJjYW1pbmhvIgotCi0jOiBidWlsdGluL2FtLmM6MjI4OCBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5Ci0jOiBidWlsdGluL2dyZXAuYzo3MDYgYnVpbHRpbi9tZXJnZS5jOjE5OSBidWlsdGluL3B1bGwuYzoxMzQKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5MyBidWlsdGluL3JlcGFjay5jOjE3OCBidWlsdGluL3JlcGFjay5jOjE4MgotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NSBidWlsdGluL3Nob3ctcmVmLmM6MTc1IGJ1aWx0aW4vdGFnLmM6MzQwCi0jOiBwYXJzZS1vcHRpb25zLmg6MTMyIHBhcnNlLW9wdGlvbnMuaDoxMzQgcGFyc2Utb3B0aW9ucy5oOjI0NAorIzogYnVpbHRpbi9hbS5jOjIyODMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYyIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NQorIzogYnVpbHRpbi9ncmVwLmM6NzA3IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTM1CisjOiBidWlsdGluL3B1bGwuYzoxOTQgYnVpbHRpbi9yZXBhY2suYzoxODEgYnVpbHRpbi9yZXBhY2suYzoxODUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQgYnVpbHRpbi9zaG93LXJlZi5jOjE3NSBidWlsdGluL3RhZy5jOjM0MAorIzogcGFyc2Utb3B0aW9ucy5oOjEzMiBwYXJzZS1vcHRpb25zLmg6MTM0IHBhcnNlLW9wdGlvbnMuaDoyNDUKIG1zZ2lkICJuIgogbXNnc3RyICJuIgogCi0jOiBidWlsdGluL2FtLmM6MjI5MSBidWlsdGluL2FwcGx5LmM6NDUxNAotbXNnaWQgIm51bSIKLW1zZ3N0ciAibnVtIgotCi0jOiBidWlsdGluL2FtLmM6MjI5NCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3IGJ1aWx0aW4vcmVwbGFjZS5jOjQzOAorIzogYnVpbHRpbi9hbS5jOjIyODkgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3JlcGxhY2UuYzo0MzgKICM6IGJ1aWx0aW4vdGFnLmM6MzcyCiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICJmb3JtYXRvIgogCi0jOiBidWlsdGluL2FtLmM6MjI5NQorIzogYnVpbHRpbi9hbS5jOjIyOTAKIG1zZ2lkICJmb3JtYXQgdGhlIHBhdGNoKGVzKSBhcmUgaW4iCiBtc2dzdHIgImZvcm1hdG8gZGUgYXByZXNlbnRhw6fDo28gZGUgcGF0Y2hlcyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDEKKyM6IGJ1aWx0aW4vYW0uYzoyMjk2CiBtc2dpZCAib3ZlcnJpZGUgZXJyb3IgbWVzc2FnZSB3aGVuIHBhdGNoIGZhaWx1cmUgb2NjdXJzIgogbXNnc3RyICJzdWJzdGl0dWlyIGEgbWVuc2FnZW0gZGUgZXJybyBxdWFuZG8gYSBhcGxpY2HDp8OjbyBkbyBwYXRjaCBmYWxoYSIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDMKKyM6IGJ1aWx0aW4vYW0uYzoyMjk4CiBtc2dpZCAiY29udGludWUgYXBwbHlpbmcgcGF0Y2hlcyBhZnRlciByZXNvbHZpbmcgYSBjb25mbGljdCIKIG1zZ3N0ciAiY29udGludWFyIGEgYXBsaWNhciBvcyBwYXRjaGVzIGRlcG9pcyBkZSByZXNvbHZlciBvcyBjb25mbGl0b3MiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzA2CisjOiBidWlsdGluL2FtLmM6MjMwMQogbXNnaWQgInN5bm9ueW1zIGZvciAtLWNvbnRpbnVlIgogbXNnc3RyICJzaW7Ds25pbW8gZGUgLS1jb250aW51ZSIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDkKKyM6IGJ1aWx0aW4vYW0uYzoyMzA0CiBtc2dpZCAic2tpcCB0aGUgY3VycmVudCBwYXRjaCIKIG1zZ3N0ciAiaWdub3JhciBvIHBhdGNoIGF0dWFsIgogCi0jOiBidWlsdGluL2FtLmM6MjMxMgorIzogYnVpbHRpbi9hbS5jOjIzMDcKIG1zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgogbXNnc3RyICJyZXN0YXVyYXIgbyByYW1vIG9yaWdpbmFsIGUgYWJvcnRhciBhIG9wZXJhw6fDo28gZGUgcGF0Y2guIgogCi0jOiBidWlsdGluL2FtLmM6MjMxNgorIzogYnVpbHRpbi9hbS5jOjIzMTEKIG1zZ2lkICJsaWUgYWJvdXQgY29tbWl0dGVyIGRhdGUiCiBtc2dzdHIgIm1lbnRpciBzb2JyZSBhIGRhdGEgZGUgY29tbWl0IgogCi0jOiBidWlsdGluL2FtLmM6MjMxOAorIzogYnVpbHRpbi9hbS5jOjIzMTMKIG1zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgogbXNnc3RyICJ1c2FyIGEgZGF0YSBlIGhvcmEgYXR1YWwgY29tbyBkYXRhIGRlIGF1dG9yIgogCi0jOiBidWlsdGluL2FtLmM6MjMyMCBidWlsdGluL2NvbW1pdC5jOjE2MDkgYnVpbHRpbi9tZXJnZS5jOjIyOAotIzogYnVpbHRpbi9wdWxsLmM6MTY0IGJ1aWx0aW4vcmV2ZXJ0LmM6OTIgYnVpbHRpbi90YWcuYzozNTUKKyM6IGJ1aWx0aW4vYW0uYzoyMzE1IGJ1aWx0aW4vY29tbWl0LmM6MTYwNSBidWlsdGluL21lcmdlLmM6MjI5CisjOiBidWlsdGluL3B1bGwuYzoxNjUgYnVpbHRpbi9yZXZlcnQuYzo5MiBidWlsdGluL3RhZy5jOjM1NQogbXNnaWQgImtleS1pZCIKIG1zZ3N0ciAiaWQtY2hhdmUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIxCisjOiBidWlsdGluL2FtLmM6MjMxNgogbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCiBtc2dzdHIgImFzc2luYXIgb3MgY29tbWl0cyBjb20gR1BHIgogCi0jOiBidWlsdGluL2FtLmM6MjMyNAorIzogYnVpbHRpbi9hbS5jOjIzMTkKIG1zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKIG1zZ3N0ciAiKHVzbyBpbnRlcm5vIGRlIGdpdC1yZWJhc2UpIgogCi0jOiBidWlsdGluL2FtLmM6MjMzOQorIzogYnVpbHRpbi9hbS5jOjIzMzQKIG1zZ2lkICIiCiAiVGhlIC1iLy0tYmluYXJ5IG9wdGlvbiBoYXMgYmVlbiBhIG5vLW9wIGZvciBsb25nIHRpbWUsIGFuZFxuIgogIml0IHdpbGwgYmUgcmVtb3ZlZC4gUGxlYXNlIGRvIG5vdCB1c2UgaXQgYW55bW9yZS4iCkBAIC0zMTU4LDE3ICs0NTI0LDE3IEBACiAiQSBvcMOnw6NvIC1iLy0tYmluYXJ5IGjDoSBtdWl0byBxdWUgw6kgaWdub3JhZGEgZSBzZXLDoVxuIgogImZ1dHVyYW1lbnRlIHJlbW92aWRhLiBQb3IgZmF2b3IgbsOjbyBhIHVzZS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzQ2CisjOiBidWlsdGluL2FtLmM6MjM0MQogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiZmFsaGEgYW8gbGVyIG8gw61uZGljZSIKIAotIzogYnVpbHRpbi9hbS5jOjIzNjEKKyM6IGJ1aWx0aW4vYW0uYzoyMzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZXZpb3VzIHJlYmFzZSBkaXJlY3RvcnkgJXMgc3RpbGwgZXhpc3RzIGJ1dCBtYm94IGdpdmVuLiIKIG1zZ3N0ciAiIgogIm8gZGlyZXTDs3JpbyBkZSByZWJlc2EgYW50ZXJpb3IgJXMgYWluZGEgZXhpc3RlLCBtYXMgZm9pIGZvcm5lY2lkYSB1bWEgbWJveC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzg1CisjOiBidWlsdGluL2FtLmM6MjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3RyYXkgJXMgZGlyZWN0b3J5IGZvdW5kLlxuIgpAQCAtMzE3Nyw1MDQgKzQ1NDMsMTQgQEAKICJEaXJldMOzcmlvIGFiYW5kb25hZG8gJXMgZW5jb250cmFkby5cbiIKICJVc2UgXCJnaXQgYW0gLS1hYm9ydFwiIHBhcmEgbyByZW1vdmVyLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzOTEKKyM6IGJ1aWx0aW4vYW0uYzoyMzg2CiBtc2dpZCAiUmVzb2x2ZSBvcGVyYXRpb24gbm90IGluIHByb2dyZXNzLCB3ZSBhcmUgbm90IHJlc3VtaW5nLiIKIG1zZ3N0ciAiQSBvcGVyYcOnw6NvIGRlIHJlc29sdcOnw6NvIG7Do28gZXN0w6EgZW0gY3Vyc28sIG7Do28gcmV0b21hbmRvLiIKIAotIzogYnVpbHRpbi9hcHBseS5jOjU5CisjOiBidWlsdGluL2FwcGx5LmM6OAogbXNnaWQgImdpdCBhcHBseSBbPG9wdGlvbnM+XSBbPHBhdGNoPi4uLl0iCiBtc2dzdHIgImdpdCBhcHBseSBbPG9ww6fDtWVzPl0gWzxwYXRjaD4uLi5dIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MTExCi0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgotbXNnc3RyICJvcMOnw6NvIGRlIGVzcGHDp28gZW0gYnJhbmNvIG7Do28gcmVjb25oZWNpZGEgJyVzJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjEyNgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCi1tc2dzdHIgIm9ww6fDo28gZGUgaWdub3JhciBlc3Bhw6dvIGVtIGJyYW5jbyBuw6NvIHJlY29uaGVjaWRhICclcyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo4MTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKLW1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgcHJlcGFyYXIgYSByZWdleHAgZGUgY2FyaW1ibyBkZSBkYXRhL2hvcmEgJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo4MjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgotbXNnc3RyICJyZWdleGVjIHJldG9ybm91ICVkIHBhcmEgYSBlbnRyYTogJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5MDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKLW1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGVuY29udHJhciBvIG5vbWUgZG8gZmljaGVpcm8gbm8gcGF0Y2ggbmEgbGluaGEgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgotbXNnc3RyICIiCi0iZ2l0IGFwcGx5OiBnaXQtZGlmZiBpbmNvcnJldG8gLSBlc3BlcmF2YS1zZSAvZGV2L251bGwsIG9idGV2ZS1zZSAlcyBuYSBsaW5oYSAiCi0iJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5NDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiCi1tc2dzdHIgIiIKLSJnaXQgYXBwbHk6IGdpdC1kaWZmIGluY29ycmV0byAtIG8gbm9tZSBkbyBub3ZvIGZpY2hlaXJvIG5hIGxpbmhhICVkIMOpICIKLSJpbmNvbnNpc3RlbnRlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTQzCi0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgotbXNnc3RyICIiCi0iZ2l0IGFwcGx5OiBnaXQtZGlmZiBpbmNvcnJldG8gLSBvIG5vbWUgZG8gZmljaGVpcm8gYW50aWdvIG5hIGxpbmhhICVkIMOpICIKLSJpbmNvbnNpc3RlbnRlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTQ5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCi1tc2dzdHIgImdpdCBhcHBseTogZ2l0LWRpZmYgaW5jb3JyZXRvIC0gZXNwZXJhdmEtc2UgL2Rldi9udWxsIG5hIGxpbmhhICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTQwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWNvdW50OiB1bmV4cGVjdGVkIGxpbmU6ICUuKnMiCi1tc2dzdHIgInJlY29udGFnZW06IGxpbmhhIGluZXNwZXJhZGE6ICUuKnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNDYzCi0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCi1tc2dzdHIgImZyYWdtZW50byBkZSBwYXRjaCBzZW0gY2FiZcOnYWxobyBuYSBsaW5oYSAlZDogJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE0ODAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgotImNvbXBvbmVudCAobGluZSAlZCkiCi1tc2dpZF9wbHVyYWwgIiIKLSJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKLSJjb21wb25lbnRzIChsaW5lICVkKSIKLW1zZ3N0clswXSAiIgotIm8gY2FiZcOnYWxobyBkbyBnaXQgZGlmZiBuw6NvIHJldmVsb3UgbyBub21lIGRvIGZpY2hlaXJvIGRlcG9pcyBkZSBzZSByZW1vdmVyICIKLSIlZCBjb21wb25lbnRlIGRvIGNhbWluaG8gKGxpbmhhICVkKSIKLW1zZ3N0clsxXSAiIgotIm8gY2FiZcOnYWxobyBkbyBnaXQgZGlmZiBuw6NvIHJldmVsb3UgbyBub21lIGRvIGZpY2hlaXJvIGRlcG9pcyBkZSBzZSByZW1vdmVyICIKLSIlZCBjb21wb25lbnRlcyBkZSBjYW1pbmhvIChsaW5oYSAlZCkiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNjQ2Ci1tc2dpZCAibmV3IGZpbGUgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCi1tc2dzdHIgIm8gbm92byBmaWNoZWlybyBkZXBlbmRlIGRlIGNvbnRlw7pkb3MgYW50aWdvcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE2NDgKLW1zZ2lkICJkZWxldGVkIGZpbGUgc3RpbGwgaGFzIGNvbnRlbnRzIgotbXNnc3RyICJvIGZpY2hlaXJvIGVsaW1pbmFkbyBhaW5kYSB0ZW0gY29udGXDumRvcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE2NzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgotbXNnc3RyICJwYXRjaCBjb3Jyb21waWRvIG5hIGxpbmhhICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTcxMAotIywgYy1mb3JtYXQKLW1zZ2lkICJuZXcgZmlsZSAlcyBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKLW1zZ3N0ciAibyBub3ZvIGZpY2hlaXJvICVzIGRlcGVuZGUgZGUgY29udGXDumRvcyBhbnRpZ29zIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTcxMgotIywgYy1mb3JtYXQKLW1zZ2lkICJkZWxldGVkIGZpbGUgJXMgc3RpbGwgaGFzIGNvbnRlbnRzIgotbXNnc3RyICJvIGZpY2hlaXJvIGVsaW1pbmFkbyAlcyBhaW5kYSB0ZW0gY29udGXDumRvcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE3MTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKiogd2FybmluZzogZmlsZSAlcyBiZWNvbWVzIGVtcHR5IGJ1dCBpcyBub3QgZGVsZXRlZCIKLW1zZ3N0ciAiKiogYXZpc286IG8gZmljaGVpcm8gJXMgZmljYXLDoSB2YXppbywgbWFzIG7Do28gc2Vyw6EgZWxpbWluYWRvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTg2MQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIgotbXNnc3RyICJwYXRjaCBiaW7DoXJpbyBjb3Jyb21waWRvIG5hIGxpbmhhICVkOiAlLipzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTg5NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgInBhdGNoIGJpbsOhcmlvIG7Do28gcmVjb25oZWNpZG8gbmEgbGluaGEgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyMDQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCi1tc2dzdHIgInBhdGNoIGluY29tcHJlZW5zw612ZWwgbmEgbGluaGEgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyMTM4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byByZWFkIHN5bWxpbmsgJXMiCi1tc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGxlciBhIGxpZ2HDp8OjbyBzaW1iw7NsaWNhICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjE0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIgotbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBhYnJpciBvdSBsZXIgJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyNzc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKLW1zZ3N0ciAiaW7DrWNpbyBkZSBsaW5oYSBpbnbDoWxpZG86ICclYyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyODk0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmUpLiIKLW1zZ2lkX3BsdXJhbCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZXMpLiIKLW1zZ3N0clswXSAiRXhjZXJ0byBuwrolZCBiZW0gc3VjZWRpZG8gbmEgbGluaGEgJWQgKCVkIGxpbmhhIGRlc2xvY2FkYSkuIgotbXNnc3RyWzFdICJFeGNlcnRvIG7CuiVkIGJlbSBzdWNlZGlkbyBuYSBsaW5oYSAlZCAoJWQgbGluaGFzIGRlc2xvY2FkYXMpLiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI5MDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSB0byBhcHBseSBmcmFnbWVudCBhdCAlZCIKLW1zZ3N0ciAiQ29udGV4dG8gcmVkdXppZG8gcGFyYSAoJWxkLyVsZCkgcGFyYSBhcGxpY2FyIG8gZnJhZ21lbnRvIGVtICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjkxMgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0id2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKLSIlLipzIgotbXNnc3RyICIiCi0iYW8gcHJvY3VyYSBwb3I6XG4iCi0iJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI5MzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKLW1zZ3N0ciAiZmFsdGEgZGUgZGFkb3MgZG8gcGF0Y2ggYmluw6FyaW8gJyVzJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMwMzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciCi1tc2dzdHIgIm8gcGF0Y2ggYmluw6FyaW8gbsOjbyBmb2kgYXBsaWNhZG8gY29ycmV0YW1lbnRlIGEgJyVzJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMwMzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmluYXJ5IHBhdGNoIHRvICclcycgY3JlYXRlcyBpbmNvcnJlY3QgcmVzdWx0IChleHBlY3RpbmcgJXMsIGdvdCAlcykiCi1tc2dzdHIgIiIKLSJvIHBhdGNoIGJpbsOhcmlvIGFwbGljYWRvIGEgJyVzJyBnZXJhIHJlc3VsdGFkb3MgaW5jb3JyZXRvcyAoZXNwZXJhdmEtc2UgJXMsICIKLSJvYnRldmUtc2UgJXMpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzA2MAotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKLW1zZ3N0ciAiZmFsaGEgYW8gYXBsaWNhciBvIHBhdGNoOiAlczolbGQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMTg0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKLW1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZXh0cmFpciAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMyMjkgYnVpbHRpbi9hcHBseS5jOjMyNDAgYnVpbHRpbi9hcHBseS5jOjMyODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVhZCBvZiAlcyBmYWlsZWQiCi1tc2dzdHIgImZhbGhhIGFvIGxlciAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMyMzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAiYSBsZXIgJyVzJyBpbmRpY2FkbyBwb3IgdW1hIGxpZ2HDp8OjbyBzaW1iw7NsaWNhIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzI2NSBidWlsdGluL2FwcGx5LmM6MzQ4NwotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKLW1zZ3N0ciAibyBjYW1pbmhvICVzIGZvaSBlbGltaW5hZG8gb3UgbXVkb3UgZGUgbm9tZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMzNDYgYnVpbHRpbi9hcHBseS5jOjM1MDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgotbXNnc3RyICIlczogbsOjbyBleGlzdGUgbm8gw61uZGljZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMzNTAgYnVpbHRpbi9hcHBseS5jOjM0OTMgYnVpbHRpbi9hcHBseS5jOjM1MTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6ICVzIgotbXNnc3RyICIlczogJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMzU1IGJ1aWx0aW4vYXBwbHkuYzozNTA5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKLW1zZ3N0ciAiJXM6IG7Do28gdGVtIGNvcnJlc3BvbmTDqm5jaWEgbm8gw61uZGljZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM0NTcKLW1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgotbXNnc3RyICJwYXRjaCBkZSByZW1vw6fDo28gZGVpeGEgY29udGXDumRvcyBubyBmaWNoZWlybyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM1MjYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IHdyb25nIHR5cGUiCi1tc2dzdHIgIiVzOiB0aXBvIGVycmFkbyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM1MjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgotbXNnc3RyICIlcyDDqSBkbyB0aXBvICVvLCBlc3BlcmFkbyAlbyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM2ODcgYnVpbHRpbi9hcHBseS5jOjM2ODkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBwYXRoICclcyciCi1tc2dzdHIgImNhbWluaG8gaW52w6FsaWRvICclcyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzQ0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKLW1zZ3N0ciAiJXM6IGrDoSBleGlzdGUgbm8gw61uZGljZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NDcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgotbXNnc3RyICIlczogasOhIGV4aXN0ZSBubyBkaXJldMOzcmlvIGRlIHRyYWJhbGhvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc2NwotIywgYy1mb3JtYXQKLW1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykiCi1tc2dzdHIgIm8gbm92byBtb2RvICglbykgZGUgJXMgbsOjbyBjb3JyZXNwb25kZSBhbyBtb2RvIGFudGlnbyAoJW8pIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc3MgotIywgYy1mb3JtYXQKLW1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCi1tc2dzdHIgIm8gbm92byBtb2RvICglbykgZGUgJXMgbsOjbyBjb3JyZXNwb25kZSBhbyBtb2RvIGFudGlnbyAoJW8pIGRlICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc5MgotIywgYy1mb3JtYXQKLW1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAibyBmaWNoZWlybyBhZmV0YWRvICclcycgw6kgaW5kaWNhZG8gcG9yIHVtYSBsaWdhw6fDo28gc2ltYsOzbGljYSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3OTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgotbXNnc3RyICIlczogcGF0Y2ggbsOjbyBzZSBhcGxpY2EgY29tIHN1Y2Vzc28iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozODEwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgotbXNnc3RyICJBIHZlcmlmaWNhciBvIHBhdGNoICVzLi4uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzkwMyBidWlsdGluL2NoZWNrb3V0LmM6MjMzIGJ1aWx0aW4vcmVzZXQuYzoxMzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKLW1zZ3N0ciAiZmFsaGEgYW8gaW52b2NhciBtYWtlX2NhY2hlX2VudHJ5IGVtICclcyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDQ2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKLW1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgcmVtb3ZlciAlcyBkbyDDrW5kaWNlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCi1tc2dzdHIgInBhdGNoIGNvcnJvbXBpZG8gbm8gc3VibcOzZHVsbyAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwNzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCi1tc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIG9idGVyIGVzdGFkbyBkbyBub3ZvIGZpY2hlaXJvIGNyaWFkbyAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA4NAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGJhY2tpbmcgc3RvcmUgZm9yIG5ld2x5IGNyZWF0ZWQgZmlsZSAlcyIKLW1zZ3N0ciAiIgotIm7Do28gw6kgcG9zc8OtdmVsIGNyaWFyIGFybWF6ZW5hbWVudG8gZGUgc2VndXJhbsOnYSBkbyBmaWNoZWlybyByZWPDqW0tY3JpYWRvICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA4NyBidWlsdGluL2FwcGx5LmM6NDE5NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKLW1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYWRpY2lvbmFyICVzIMOgIGNhY2hlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDEyMAotIywgYy1mb3JtYXQKLW1zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKLW1zZ3N0ciAiYSBmZWNoYXIgbyBmaWNoZWlybyAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDE2OQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCi1tc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGVzY3JldmVyIG8gZmljaGVpcm8gJyVzJyBjb20gbyBtb2RvICVvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI1NgotIywgYy1mb3JtYXQKLW1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgotbXNnc3RyICJQYXRjaCAlcyBhcGxpY2FkbyBjb20gc3VjZXNzby4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MjY0Ci1tc2dpZCAiaW50ZXJuYWwgZXJyb3IiCi1tc2dzdHIgImVycm8gaW50ZXJubyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQyNjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIgotbXNnaWRfcGx1cmFsICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3RzLi4uIgotbXNnc3RyWzBdICJBIGFwbGljYXIgcGF0Y2ggJSVzIGNvbSAlZCByZWplacOnw6NvLi4uIgotbXNnc3RyWzFdICJBIGFwbGljYXIgcGF0Y2ggJSVzIGNvbSAlZCByZWplacOnw7Vlcy4uLiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQyNzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidHJ1bmNhdGluZyAucmVqIGZpbGVuYW1lIHRvICUuKnMucmVqIgotbXNnc3RyICJhIHRydW5jYXIgbyBub21lIGRvIGZpY2hlaXJvIC5yZWogZW0gJS4qcy5yZWoiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mjg1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKLW1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYWJyaXIgJXM6ICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI5OAotIywgYy1mb3JtYXQKLW1zZ2lkICJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIgotbXNnc3RyICJFeGNlcnRvIG7CuiVkIGFwbGljYWRvIGNvbSBzdWNlc3NvLiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQzMDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgotbXNnc3RyICJFeGNlcnRvIG7CuiVkIHJlamVpdGFkby4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzg3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCi1tc2dzdHIgIlBhdGNoICclcycgaWdub3JhZG8uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDM5NQotbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKLW1zZ3N0ciAiZW50cmFkYSBuw6NvIHJlY29uaGVjaWRhIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDQwNgotbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCi1tc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgbyBmaWNoZWlybyBkZSDDrW5kaWNlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUwOQotbXNnaWQgImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCi1tc2dzdHIgIm7Do28gYXBsaWNhciBhbHRlcmHDp8O1ZXMgcXVlIGNvcnJlc3BvbmRhbSBhbyBjYW1pbmhvIGZvcm5lY2lkbyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MTIKLW1zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgotbXNnc3RyICJhcGxpY2FyIGFsdGVyYcOnw7VlcyBxdWUgY29ycmVzcG9uZGFtIGFvIGNhbWluaG8gZm9ybmVjaWRvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUxNQotbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgotbXNnc3RyICJyZW1vdmVyIDxudW0+IGJhcnJhcyDDoCBlc3F1ZXJkYSBkb3MgY2FtaW5ob3MgZGUgZGlmZiB0cmFkaWNpb25hbCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MTgKLW1zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgotbXNnc3RyICJpZ25vcmFyIGFkacOnw7VlcyBmZWl0YXMgcGVsbyBwYXRjaCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjAKLW1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCi1tc2dzdHIgImVtIHZleiBkZSBhcGxpY2FyIG8gcGF0Y2gsIG1vc3RyYXIgbyBkaWZmc3RhdCBkYSBlbnRyYWRhIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyNAotbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCi1tc2dzdHIgIm1vc3RyYXIgbsO6bWVybyBkZSBsaW5oYXMgYWRpY2lvbmFkYXMgZSByZW1vdmlkYXMgZW0gbm90YcOnw6NvIGRlY2ltYWwiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTI2Ci1tc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIKLW1zZ3N0ciAiZW0gdmV6IGRlIGFwbGljYXIgbyBwYXRjaCwgbW9zdHJhciB1bSByZXN1bW8gZGEgZW50cmFkYSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjgKLW1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIgotbXNnc3RyICJlbSB2ZXogZGUgYXBsaWNhciBvIHBhdGNoLCB2ZXJpZmljYXIgc2UgbyBwYXRjaCBwb2RlIHNlciBhcGxpY2FkbyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzAKLW1zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCi1tc2dzdHIgImdhcmFudGlyIHF1ZSBvIHBhdGNoIHBvZGUgc2VyIGFwbGljYWRvIGFvIMOtbmRpY2UgYXR1YWwiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTMyCi1tc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCi1tc2dzdHIgImFwbGljYXIgdW0gcGF0Y2ggc2VtIHRvY2FyIG5hIMOhcnZvcmUgZGUgdHJhYmFsaG8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTM0Ci1tc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKLW1zZ3N0ciAiYWNlaXRhciBwYXRjaGVzIHF1ZSBhbHRlcmFtIGZpY2hlaXJvcyBmb3JhIGRhIMOhcmVhIGRlIHRyYWJhbGhvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzNgotbXNnaWQgImFsc28gYXBwbHkgdGhlIHBhdGNoICh1c2Ugd2l0aCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgotbXNnc3RyICJhcGxpY2FyIG8gcGF0Y2ggdGFtYsOpbSAodXNlIGNvbSAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzOAotbXNnaWQgImF0dGVtcHQgdGhyZWUtd2F5IG1lcmdlIGlmIGEgcGF0Y2ggZG9lcyBub3QgYXBwbHkiCi1tc2dzdHIgIiIKLSJ0ZW50YXIgaW50ZWdyYcOnw6NvIGNvbSB0csOqcyBwb250b3Mgc2UgdW0gcGF0Y2ggbsOjbyBzZSBzZSBhcGxpY2EgY29tIMOqeGl0byIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NDAKLW1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKLW1zZ3N0ciAiIgotImNvbnN0cnVpciB1bSDDrW5kaWNlIHRlbXBvcsOhcmlvIGJhc2VhZG8gbmEgaW5mb3JtYcOnw6NvIGluY29ycG9yYWRhIGRvIMOtbmRpY2UiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQzIGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjkgYnVpbHRpbi9scy1maWxlcy5jOjQyNQotbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgotbXNnc3RyICJvcyBjYW1pbmhvcyBlc3TDo28gc2VwYXJhZG9zIHBvciBjYXJhY3RlcmVzIE5VTCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NDUKLW1zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCi1tc2dzdHIgImdhcmFudGlyIHF1ZSwgcGVsbyBtZW5vcywgPG4+IGxpbmhhcyBkZSBjb250ZXh0byBjb2luY2lkZW0iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQ3Ci1tc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCi1tc2dzdHIgImRldGV0YXIgbGluaGFzIG5vdmFzIG91IG1vZGlmaWNhZGFzIHF1ZSB0ZW5oYW0gZXNwYcOnb3MgZW0gYnJhbmNvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU1MCBidWlsdGluL2FwcGx5LmM6NDU1MwotbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiCi1tc2dzdHIgImlnbm9yYXIgYWx0ZXJhw6fDtWVzIGRlIGVzcGHDp28gZW0gYnJhbmNvIGFvIHByb2N1cmFyIGNvbnRleHRvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU1NgotbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgotbXNnc3RyICJhcGxpY2FyIG8gcGF0Y2ggZW0gcmV2ZXJzbyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NTgKLW1zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKLW1zZ3N0ciAibsOjbyBlc3BlcmFyIG5lbmh1bWEgbGluaGEgZGUgY29udGV4dG8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTYwCi1tc2dpZCAibGVhdmUgdGhlIHJlamVjdGVkIGh1bmtzIGluIGNvcnJlc3BvbmRpbmcgKi5yZWogZmlsZXMiCi1tc2dzdHIgImRlaXhhciBvcyBleGNlcnRvcyByZWplaXRhZG9zIG5vcyByZXNwZXRpdm9zIGZpY2hlaXJvcyAqLnJlaiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NjIKLW1zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKLW1zZ3N0ciAicGVybWl0aXIgYSBzb2JyZXBvc2nDp8OjbyBkZSBleGNlcnRvcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NjUKLW1zZ2lkICJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIKLW1zZ3N0ciAiIgotInRvbGVyYXIgZGV0ZcOnw7VlcyBpbmNvcnJldGFzIGRlIGZhbHRhIGRlIG5vdmEgbGluaGEgbm8gZmluYWwgZG8gZmljaGVpcm8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTY4Ci1tc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgotbXNnc3RyICJuw6NvIGNvbmZpYXIgbmEgY29udGFnZW0gZGUgbGluaGFzIG5vIGNhYmXDp2FsaG8gZG9zIGV4Y2VydG9zIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU3MQotbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCi1tc2dzdHIgInByZWNlZGVyIDxyb290PiBhIHRvZG9zIG9zIG5vbWVzIGRlIGZpY2hlaXJvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU5MwotbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiLS0zd2F5IGZvcmEgZGUgdW0gcmVwb3NpdMOzcmlvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDYwMQotbXNnaWQgIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiCi1tc2dzdHIgIi0taW5kZXggZm9yYSBkZSB1bSByZXBvc2l0w7NyaW8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NjA0Ci1tc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCi1tc2dzdHIgIi0tY2FjaGVkIGZvcmEgZGUgdW0gcmVwb3NpdMOzcmlvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDYyMwotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW4ndCBvcGVuIHBhdGNoICclcyciCi1tc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFicmlyIG8gcGF0Y2ggJyVzJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCi1tc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKLW1zZ3N0clswXSAiJWQgZXJybyBkZSBlc3Bhw6dvIGVtIGJyYW5jbyByZXByaW1pZG8iCi1tc2dzdHJbMV0gIiVkIGVycm9zIGRlIGVzcGHDp28gZW0gYnJhbmNvIHJlcHJpbWlkb3MiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NjQzIGJ1aWx0aW4vYXBwbHkuYzo0NjUzCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVkIGxpbmUgYWRkcyB3aGl0ZXNwYWNlIGVycm9ycy4iCi1tc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFkZCB3aGl0ZXNwYWNlIGVycm9ycy4iCi1tc2dzdHJbMF0gIiVkIGxpbmhhIGFkaWNpb25hIGVycm9zIGRlIGVzcGHDp28gZW0gYnJhbmNvLiIKLW1zZ3N0clsxXSAiJWQgbGluaGFzIGFkaWNpb25hbSBlcnJvcyBkZSBlc3Bhw6dvIGVtIGJyYW5jby4iCi0KICM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgYXJjaGl2ZSBmaWxlICclcyciCkBAIC0zNzMwLDExOCArNDYwNiwxNzAgQEAKIG1zZ2lkICI8cmV2LW9wdHM+IGFyZSBkb2N1bWVudGVkIGluIGdpdC1yZXYtbGlzdCgxKSIKIG1zZ3N0ciAiPHJldi1vcMOnw7Vlcz4gZXN0w6NvIGRvY3VtZW50YWRhcyBlbSBnaXQtcmV2LWxpc3QoMSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxNzgyCisjOiBidWlsdGluL2JsYW1lLmM6MTc4MQogbXNnaWQgIkJsYW1pbmcgbGluZXMiCiBtc2dzdHIgIkxpbmhhcyBkZSBjdWxwYSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc3CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiIgogIk1vc3RyYXIgZW50cmFkYXMgZGUgY3VscGEgw6AgbWVkaWRhIHF1ZSBmb3JlbSBlbmNvbnRyYWRhcywgaW5jcmVtZW50YWxtZW50ZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc4CiBtc2dpZCAiU2hvdyBibGFuayBTSEEtMSBmb3IgYm91bmRhcnkgY29tbWl0cyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiTW9zdGFyIFNIQS0xIGRvcyBjb21taXRzIGxpbWl0ZSBlbSBicmFuY28gKFByZWRlZmluacOnw6NvOiBkZXNhdGl2YWRvKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc5CiBtc2dpZCAiRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJOw6NvIHRyYXRhciBvcyBjb21taXRzIHJhaXogY29tbyBsaW1pdGVzIChQcmVkZWZpbmnDp8OjbzogZGVzYXRpdmFkbykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM0CisjOiBidWlsdGluL2JsYW1lLmM6MjU4MAogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIk1vc3RyYXIgZXN0YXTDrXN0aWNhcyBkZSBjdXN0byBkZSBhdGl2aWRhZGUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM1CisjOiBidWlsdGluL2JsYW1lLmM6MjU4MQogbXNnaWQgIkZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiRm9yw6dhciBpbmZvcm1hw6fDo28gZGUgcHJvZ3Jlc3NvIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzNgorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODIKIG1zZ2lkICJTaG93IG91dHB1dCBzY29yZSBmb3IgYmxhbWUgZW50cmllcyIKIG1zZ3N0ciAiTW9zdHJhciBhIHBvbnR1YcOnw6NvIGRhcyBlbnRyYWRhcyBkZSBjdWxwYSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgzCiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIk1vc3RyYXIgbyBub21lIGRvIGZpY2hlaXJvIG9yaWdpbmFsIChQcmVkZWZpbmnDp8OjbzogYXV0bykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM4CisjOiBidWlsdGluL2JsYW1lLmM6MjU4NAogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiTW9zdHJhciBuw7ptZXJvcyBkZSBsaW5oYSBvcmlnaW5haXMgKFByZWRlZmluacOnw6NvOiBkZXNhdGl2YWRvKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg1CiBtc2dpZCAiU2hvdyBpbiBhIGZvcm1hdCBkZXNpZ25lZCBmb3IgbWFjaGluZSBjb25zdW1wdGlvbiIKIG1zZ3N0ciAiTW9zdHJhciBlbSBmb3JtYXRvIHByw7NwcmlvIHBhcmEgc2VyIGNvbnN1bW8gcG9yIHVtYSBtw6FxdWluYSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg2CiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICJNb3N0cmFyIGVtIGZvcm1hdG8gZGUgcG9yY2VsYW5hIGNvbSBpbmZvcm1hw6fDtWVzIGRlIGNvbW1pdCBwb3IgbGluaGEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQxCisjOiBidWlsdGluL2JsYW1lLmM6MjU4NwogbXNnaWQgIlVzZSB0aGUgc2FtZSBvdXRwdXQgbW9kZSBhcyBnaXQtYW5ub3RhdGUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlVzYXIgbyBtZXNtbyBtb2RvIGRlIHNhw61kYSBxdWUgZ2l0LWFubm90YXRlIChQcmVkZWZpbmnDp8OjbzogZGVzYXRpdmFkbykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQyCisjOiBidWlsdGluL2JsYW1lLmM6MjU4OAogbXNnaWQgIlNob3cgcmF3IHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiTW9zdHJhciBjYXJpbWJvIGRlIGRhdGEvaG9yYSBlbSBicnV0byAoUHJlZGVmaW5pw6fDo286IGRlc2F0aXZhZG8pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0MworIzogYnVpbHRpbi9ibGFtZS5jOjI1ODkKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIk1vc3RyYXIgU0hBMSBsb25nbyBkZSBjb21taXQgKFByZWRlZmluacOnw6NvOiBkZXNhdGl2YWRvKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkwCiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogIlN1cHJpbWlyIG5vbWUgZGUgYXV0b3IgZSBjYXJpbWJvIGRlIGRhdGEvaG9yYSAoUHJlZGVmaW5pw6fDo286IGRlc2F0aXZhZG8pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0NQorIzogYnVpbHRpbi9ibGFtZS5jOjI1OTEKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIk1vc3RyYXIgbyBlbWFpbCBkbyBhdXRvciBlbSB2ZXogZG8gbm9tZSAoUHJlZGVmaW5pw6fDo286IGRlc2F0aXZhZG8pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0NgorIzogYnVpbHRpbi9ibGFtZS5jOjI1OTIKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAiSWdub3JhciBhcyBkaWZlcmVuw6dhcyBkZSBlc3Bhw6dvIGVtIGJyYW5jbyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk5Cittc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBpbmRlbnQtYmFzZWQgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCittc2dzdHIgIiIKKyJVc2FyIHVtIGhldXLDrXN0aWNhIGV4cGVyaW1lbnRhbCBiYXNlYWRhIGVtIGluZGVudGHDp8OjbyBwYXJhIG1lbGhvcmFyIGRpZmZzIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjYwMAorbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgYmxhbmstbGluZS1iYXNlZCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKK21zZ3N0ciAiIgorIlVzYXIgdW1hIGhldXLDrXN0aWNhIGV4cGVyaW1lbnRhbCBiYXNlYWRhIGVtIGxpbmhhcyBicmFuY2FzIHBhcmEgbWVsaG9yYXIgIgorImRpZmZzIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjYwMgogbXNnaWQgIlNwZW5kIGV4dHJhIGN5Y2xlcyB0byBmaW5kIGJldHRlciBtYXRjaCIKIG1zZ3N0ciAiRGVzcGVuZGVyIGNpY2xvcyBleHRyYSBwYXJhIGVuY29udHJhciB1bWEgbWVsaG9yIGNvcnJlc3BvbmTDqm5jaWEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ4CisjOiBidWlsdGluL2JsYW1lLmM6MjYwMwogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAiVXNhciByZXZpc8O1ZXMgZG8gPGZpY2hlaXJvPiBlbSB2ZXogZGUgaW52b2NhciBnaXQtcmV2LWxpc3QiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ5CisjOiBidWlsdGluL2JsYW1lLmM6MjYwNAogbXNnaWQgIlVzZSA8ZmlsZT4ncyBjb250ZW50cyBhcyB0aGUgZmluYWwgaW1hZ2UiCiBtc2dzdHIgIlVzYXIgbyBjb250ZcO6ZG8gZG8gPGZpY2hlaXJvPiBjb21vIGltYWdlbSBmaW5hbCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTAgYnVpbHRpbi9ibGFtZS5jOjI1NTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA1IGJ1aWx0aW4vYmxhbWUuYzoyNjA2CiBtc2dpZCAic2NvcmUiCiBtc2dzdHIgInBvbnR1YcOnw6NvIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU1MAorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDUKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJMb2NhbGl6YXIgbGluaGFzIGNvcGlhZGFzIGRlbnRybyBlIGVudHJlIGZpY2hlaXJvcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA2CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiTG9jYWxpemFyIGxpbmhhcyBtb3ZpZGFzIGRlbnRybyBlIGVudHJlIGZpY2hlaXJvcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA3CiBtc2dpZCAibixtIgogbXNnc3RyICJuLG0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUyCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNwogbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJQcm9jZXNzYXIgYXBlbmFzIG8gaW50ZXJ2YWxvIGRlIGxpbmhhcyBuLG0sIGEgY2FudGFyIGRlIDEiCiAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjU0Cittc2dpZCAiLS1wcm9ncmVzcyBjYW4ndCBiZSB1c2VkIHdpdGggLS1pbmNyZW1lbnRhbCBvciBwb3JjZWxhaW4gZm9ybWF0cyIKK21zZ3N0ciAiIgorIi0tcHJvZ3Jlc3MgbsOjbyBwb2RlIHNlciB1c2FkbyBjb20gLS1pbmNyZW1lbnRhbCBvdSBmb3JtYXRvcyBkZSBwb3JjZWxhbmEiCisKICMuIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlIG1heGltdW0KICMuIGRpc3BsYXkgd2lkdGggZm9yIGEgcmVsYXRpdmUgdGltZXN0YW1wIGluICJnaXQgYmxhbWUiCiAjLiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMSBtb250aHMgYWdvIiwgd2hpY2gKICMuIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QgYW1vbmcgdmFyaW91cyBmb3JtcyBvZgogIy4gcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0IHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvcgogIy4gZmV3ZXIgZGlzcGxheSBjb2x1bW5zLgotIzogYnVpbHRpbi9ibGFtZS5jOjI2NDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNzAwCiBtc2dpZCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIKIG1zZ3N0ciAiaMOhIDQgYW5vcyBlIDExIG1lc2VzIGF0csOhcyIKIAorIzogYnVpbHRpbi9ibGFtZS5jOjI3ODAKK21zZ2lkICItLWNvbnRlbnRzIGFuZCAtLXJldmVyc2UgZG8gbm90IGJsZW5kIHdlbGwuIgorbXNnc3RyICItLWNvbnRlbnRzIGUgLS1yZXZlcnNlIG7Do28gc2UgbWlzdHVyYW0gYmVtLiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MDAKK21zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCittc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIHVzYXIgLS1jb250ZW50cyBjb20gbm9tZSBkZSBvYmpldG8gY29tbWl0IGZpbmFsIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjgwNQorbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKK21zZ3N0ciAiIgorIi0tcmV2ZXJzZSBlIC0tZmlyc3QtcGFyZW50IGp1bnRvcyByZXF1ZXIgcXVlIHNlIGVzcGVjaWZpcXVlIG8gw7psdGltbyBjb21taXQiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODMyCittc2dpZCAiIgorIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHJhbmdlIGFsb25nIGZpcnN0LXBhcmVudCBjaGFpbiIKK21zZ3N0ciAiIgorIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCBqdW50b3MgcmVxdWVyIGludGVydmFsbyBhbyBsb25nbyBkbyBwcmltZWlyby1wYWkiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODQzCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKK21zZ3N0ciAibyBjYW1pbmhvICVzIG7Do28gZXhpc3RlIGVtICVzIgorCisjOiBidWlsdGluL2JsYW1lLmM6Mjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgorbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBsZXIgbyBibG9iICVzIGRvIGNhbWluaG8gJXMiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODczCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmUiCittc2dpZF9wbHVyYWwgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmVzIgorbXNnc3RyWzBdICJvIGZpY2hlaXJvICVzIHPDsyB0ZW0gJWx1IGxpbmhhIgorbXNnc3RyWzFdICJvIGZpY2hlaXJvICVzIHPDsyB0ZW0gJWx1IGxpbmhhcyIKKwogIzogYnVpbHRpbi9icmFuY2guYzoyNgogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPG9ww6fDtWVzPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKQEAgLTM5NDEsMTIwICs0ODY5LDEyNyBAQAogbXNnaWQgIkRlbGV0ZWQgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICJSYW1vICVzIGVsaW1pbmFkbyAoZXJhICVzKS5cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogZ29uZV0iCiBtc2dzdHIgIlslczogZGVzYXBhcmVjaWRvXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslc10iCiBtc2dzdHIgIlslc10iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE5CisjOiBidWlsdGluL2JyYW5jaC5jOjMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogYXRyw6FzICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIltiZWhpbmQgJWRdIgogbXNnc3RyICJbYXRyw6FzICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWRdIgogbXNnc3RyICJbJXM6IMOgIGZyZW50ZSAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI3CisjOiBidWlsdGluL2JyYW5jaC5jOjMzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWRdIgogbXNnc3RyICJbw6AgZnJlbnRlICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogw6AgZnJlbnRlICVkLCBhdHLDoXMgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMworIzogYnVpbHRpbi9icmFuY2guYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2FoZWFkICVkLCBiZWhpbmQgJWRdIgogbXNnc3RyICJbw6AgZnJlbnRlICVkLCBhdHLDoXMgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjM0NgorIzogYnVpbHRpbi9icmFuY2guYzozNDkKIG1zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgogbXNnc3RyICIgKioqKiByZWZlcsOqbmNpYXMgaW52w6FsaWRhICoqKioiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzcyCisjOiBidWlsdGluL2JyYW5jaC5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCiBtc2dzdHIgIihuZW5odW0gcmFtbywgYSBlZmV0dWFyIHJlYmFzZSBkZSAlcykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc1CisjOiBidWlsdGluL2JyYW5jaC5jOjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCiBtc2dzdHIgIihuZW5odW0gcmFtbywgYmlzc2Vjw6fDo28gaW5pY2lhZGEgZW0gJXMpIgogCiAjLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwogIy4gIkhFQUQgZGV0YWNoZWQgYXQgIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIihIRUFEIGRldGFjaGVkIGF0ICVzKSIKIG1zZ3N0ciAiKEhFQUQgZGVzdGFjYWRhIGVtICVzKSIKIAogIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKICMuICJIRUFEIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgogbXNnc3RyICIoSEVBRCBkZXN0YWNhZGEgZGUgJXMpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjM5MAorIzogYnVpbHRpbi9icmFuY2guYzozOTMKIG1zZ2lkICIobm8gYnJhbmNoKSIKIG1zZ3N0ciAiKG5lbmh1bSByYW1vKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NDEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgogbXNnc3RyICJPIHJhbW8gJXMgZXN0w6EgYSBzZXIgcmViYXNlYWRvIGVtICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU0NQorIzogYnVpbHRpbi9icmFuY2guYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIGJpc2VjdGVkIGF0ICVzIgogbXNnc3RyICJPIHJhbW8gJXMgZXN0w6EgYSBzZXIgYmlzc2V0YWRvIGVtICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU2MAorIzogYnVpbHRpbi9icmFuY2guYzo1NjMKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAiIgogIm7Do28gw6kgcG9zc8OtdmVsIG11ZGFyIG8gbm9tZSBkbyByYW1vIGF0dWFsIHZpc3RhIHF1ZSBuw6NvIHNlIGVuY29udHJhIG51bSByYW1vLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIk5vbWUgZGUgcmFtbyBpbnbDoWxpZG86ICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg3CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MAogbXNnaWQgIkJyYW5jaCByZW5hbWUgZmFpbGVkIgogbXNnc3RyICJGYWxoYSBhbyBtdWRhciBvIG5vbWUgZG8gcmFtbyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICJPIHJhbW8gaW5jb3JyZXRhbWVudGUgZGVub21pbmFkbyAnJXMnIG11ZG91IGRlIG5vbWUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgogbXNnc3RyICJPIG5vbWUgZG8gcmFtbyBtdWRvdSBwYXJhICVzLCBtYXMgYSBIRUFEIG7Do28gZXN0w6EgYXR1YWxpemFkYSEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAxCisjOiBidWlsdGluL2JyYW5jaC5jOjYwNAogbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiIgogIk8gcmFtbyBtdWRvdSBkZSBub21lLCBtYXMgYSBhdHVhbGl6YcOnw6NvIGRvIGZpY2hlaXJvIGRlIGNvbmZpZ3VyYcOnw6NvIGZhbGhvdSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjMKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgYnJhbmNoIGRlc2NyaXB0aW9uIHRlbXBsYXRlIgotbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZXNjcmV2ZXIgbyBtb2RlbG8gZGEgZGVzY3Jpw6fDo28gZG8gcmFtbyIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQbGVhc2UgZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2hcbiIKKyIgICVzXG4iCisiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgc3RyaXBwZWQuXG4iCittc2dzdHIgIiIKKyJFZGl0ZSBhIGRlc2NyacOnw6NvIGRvIHJhbW86XG4iCisiICAlc1xuIgorIkxpbmhhIGNvbWXDp2FkYXMgY29tICclYycgc2Vyw6NvIGlnbm9yYWRhcy5cbiIKIAogIzogYnVpbHRpbi9icmFuY2guYzo2NTEKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCkBAIC00MDg0LDYgKzUwMTksMTAgQEAKIG1zZ2lkICJjaGFuZ2UgdGhlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgImFsdGVyYXIgYSBpbmZvcm1hw6fDo28gZG8gcmFtbyBhIG1vbnRhbnRlIgogCisjOiBidWlsdGluL2JyYW5jaC5jOjY2MAorbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgorbXNnc3RyICJSZW1vdmVyIGEgaW5mb3JtYcOnw6NvIGRvIHJhbW8gYSBtb250YW50ZSIKKwogIzogYnVpbHRpbi9icmFuY2guYzo2NjEKIG1zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCiBtc2dzdHIgInVzYXIgc2HDrWRhIGNvbG9yaWRhIgpAQCAtNDE1Niw4ICs1MDk1LDggQEAKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCiBtc2dzdHIgIm5vbWUgZG8gY2FtcG8gcGVsbyBxdWFsIG9yZGVybmFyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDEKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDQgYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL25vdGVzLmM6NTY3CisjOiBidWlsdGluL2JyYW5jaC5jOjY4NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDcgYnVpbHRpbi9ub3Rlcy5jOjU2NyBidWlsdGluL25vdGVzLmM6NTcwCiAjOiBidWlsdGluL3RhZy5jOjM2OQogbXNnaWQgIm9iamVjdCIKIG1zZ3N0ciAib2JqZXRvIgpAQCAtNDE3MCw3ICs1MTA5LDcgQEAKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiRmFsaGEgYW8gcmVzb2x2ZXIgSEVBRCBudW1hIHJlZmVyw6puY2lhIHbDoWxpZGEuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2Nsb25lLmM6NzA3CisjOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2Nsb25lLmM6NzA2CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQgbsOjbyBlbmNvbnRyYWRhIGVtIHJlZnMvaGVhZHMhIgogCkBAIC00MjQ3LDcgKzUxODYsOCBAQAogCiAjOiBidWlsdGluL2JyYW5jaC5jOjg0NgogbXNnaWQgIi1hIGFuZCAtciBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgbWFrZSBzZW5zZSB3aXRoIGEgYnJhbmNoIG5hbWUiCi1tc2dzdHIgImFzIG9ww6fDtWVzIC1hIGUgLXIgZGUgJ2dpdCBicmFuY2gnIG7Do28gZmF6ZW0gc2VudGlkbyBjb20gdW0gbm9tZSBkZSByYW1vIgorbXNnc3RyICIiCisiYXMgb3DDp8O1ZXMgLWEgZSAtciBkZSAnZ2l0IGJyYW5jaCcgbsOjbyBmYXplbSBzZW50aWRvIGNvbSB1bSBub21lIGRlIHJhbW8iCiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ5CiAjLCBjLWZvcm1hdApAQCAtNDI4Miw2NSArNTIyMiw4MSBAQAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiw4kgcHJlY2lzbyB1bSByZXBvc2l0w7NyaW8gcGFyYSBkZXNlbXBhY290YXIuIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDI4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTEzCiBtc2dpZCAiIgotImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXXwtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdfC1lfC1wfCIKLSI8dHlwZT58LS10ZXh0Y29udikgPG9iamVjdD4iCisiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLSIKKyJwIHwgPHR5cGU+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD08cGF0aD5dIDxvYmplY3Q+IgogbXNnc3RyICIiCi0iZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdfC1zIFstLWFsbG93LXVua25vd24tIgotInR5cGVdfC1lfC1wfDx0aXBvPnwtLXRleHRjb252KSA8b2JqZXRvPiIKKyJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgorInAgfCA8dGlwbz4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxjYW1pbmhvPl0gPG9iamV0bz4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0MjkKLW1zZ2lkICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIgotbXNnc3RyICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxNAorbXNnaWQgIiIKKyJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIFstLXRleHRjb252IHwgLS0iCisiZmlsdGVyc10iCittc2dzdHIgIiIKKyJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIFstLXRleHRjb252IHwgLS0iCisiZmlsdGVyc10iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NjYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTEKIG1zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiBtc2dzdHIgIjx0aXBvPiBwb2RlIHNlciB1bSBkZTogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NjcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTIKIG1zZ2lkICJzaG93IG9iamVjdCB0eXBlIgogbXNnc3RyICJtb3N0cmFyIHRpcG8gZG8gb2JqZXRvIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDY4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTUzCiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAibW9zdHJhciB0YW1hbmhvIGRvIG9iamV0byIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3MAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NQogbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKIG1zZ3N0ciAic2FpciBjb20gcmV0b3JubyB6ZXJvIHF1YW5kbyBuw6NvIGhvdXZlciBlcnJvcyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3MQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NgogbXNnaWQgInByZXR0eS1wcmludCBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJtb3N0cmFyIGNvbnRlw7pkbyBkbyBvYmpldG8gY29tIGltcHJlc3PDo28gYm9uaXRhIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDczCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU4CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImV4ZWN1dGFyIHRleHRjb252IG5vIGNvbnRlw7pkbyBkZSBvYmpldG9zIGJsb2IiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjAKK21zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgorbXNnc3RyICJwYXJhIG9iamV0b3MgYmxvYiwgY29ycmVyIGZpbHRyb3Mgc29icmUgbyBjb250ZcO6ZG8gZG8gb2JqZXRvIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYxIGdpdC1zdWJtb2R1bGUuc2g6OTIzCittc2dpZCAiYmxvYiIKK21zZ3N0ciAiYmxvYiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MgorbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgorbXNnc3RyICJ1c2FyIHVtIGNhbWluaG8gZXNwZWPDrWZpY28gcGFyYSAtLXRleHRjb252Ly0tZmlsdGVycyIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NAogbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKIG1zZ3N0ciAicGVybWl0aXIgcXVlIC1zIGUgLXQgZnVuY2lvbmVtIGNvbSBvYmpldG9zIGRhbmlmaWNhZG9zL2NvcnJvbXBpZG9zIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDc2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY1CiBtc2dpZCAiYnVmZmVyIC0tYmF0Y2ggb3V0cHV0IgogbXNnc3RyICJjYXJyZWdhciBhIHNhw61kYSBkZSAtLWJhdGNoIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDc4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY3CiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJtb3N0cmFyIGluZm9ybWHDp8OjbyBlIGNvbnRlw7pkbyBkb3Mgb2JqZXRvcyBmb3JuZWNpZG9zIG5hIGVudHJhZGEgcGFkcsOjbyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ4MQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MAogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibW9zdHJhciBpbmZvcm1hw6fDo28gc29icmUgb3Mgb2JqZXRvcyBmb3JuZWNpZG9zIG5hIGVudHJhZGEgcGFkcsOjbyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ4NAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MwogbXNnaWQgImZvbGxvdyBpbi10cmVlIHN5bWxpbmtzICh1c2VkIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrKSIKIG1zZ3N0ciAiIgogInNlZ3VpciBsaWdhw6fDtWVzIHNpbWLDs2xpY2Egbm8gaW50ZXJpb3IgZGEgw6Fydm9yZSAodXNhZG8gY29tIC0tYmF0Y2ggb3UgLS0iCiAiYmF0Y2gtY2hlY2spIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDg2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTc1CiBtc2dpZCAic2hvdyBhbGwgb2JqZWN0cyB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjayIKIG1zZ3N0ciAibW9zdHJhciB0b2RvcyBvcyBvYmpldG9zIGNvbSAtLWJhdGNoIG91IC0tYmF0Y2gtY2hlY2siCiAKQEAgLTQzNjAsNyArNTMxNiw3IEBACiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgInVzYXIgLmdpdGF0dHJpYnV0ZXMgYXBlbmFzIGEgcGFydGlyIGRvIMOtbmRpY2UiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk3CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIyIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAogbXNnaWQgInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIgogbXNnc3RyICJsZXIgb3Mgbm9tZXMgZG9zIGZpY2hlaXJvcyBkYSBlbnRyYWRhIHBhZHLDo28iCiAKQEAgLTQzNjgsNyArNTMyNCw3IEBACiBtc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgInRlcm1pbmFyIHJlZ2lzdG9zIGRhIGVudHJhZGEgZSBkYSBzYcOtZGEgY29tIHVtIGNhcsOhY3RlciBOVUwiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjExMzUgYnVpbHRpbi9nYy5jOjMyNQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTEzNyBidWlsdGluL2djLmM6MzI1CiBtc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJzdXByaW1pciBpbmZvcm1hw6fDo28gZGUgcHJvZ3Jlc3NvIgogCkBAIC00NDYwLDkgKzU0MTYsOSBAQAogbXNnc3RyICJlc2NyZXZlciBvIGNvbnRlw7pkbyBlbSBmaWNoZWlyb3MgdGVtcG9yw6FyaW9zIgogCiAjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0IGJ1aWx0aW4vY29sdW1uLmM6MzAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTAwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ2OQogbXNnaWQgInN0cmluZyIKIG1zZ3N0ciAiY2FkZWlhIgogCkBAIC00NTI5LDYzICs1NDg1LDU5IEBACiBtc2dzdHIgIiIKICJOw6NvIMOpIHBvc3PDrXZlbCBhdHVhbGl6YXIgb3MgY2FtaW5ob3MgZSBtdWRhciBwYXJhIG8gcmFtbyAnJXMnIGFvIG1lc21vIHRlbXBvLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3OSBidWlsdGluL2NoZWNrb3V0LmM6NDczCi1tc2dpZCAiY29ycnVwdCBpbmRleCBmaWxlIgotbXNnc3RyICJmaWNoZWlybyBkZSDDrW5kaWNlIGNvcnJvbXBpZG8iCi0KICM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzkgYnVpbHRpbi9jaGVja291dC5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgIm8gY2FtaW5obyAnJXMnIG7Do28gZm9pIGludGVncmFkbyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NQorIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NAogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICJwcmltZWlybyBkZXZlIHJlc29sdmVyIG8gw61uZGljZSBhdHVhbCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYyMgorIzogYnVpbHRpbi9jaGVja291dC5jOjYyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZWZldHVhciByZWZsb2cgZGUgJyVzJzogJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjY2MwogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFEIGVzdMOhIGFnb3JhIGVtIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjY0IGJ1aWx0aW4vY2xvbmUuYzo2NjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjcgYnVpbHRpbi9jbG9uZS5jOjY2MAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgSEVBRCIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGF0dWFsaXphciBIRUFEIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlJlcG9yIHJhbW8gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjcxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICJKw6EgZW0gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJNdWRvdSBwYXJhIGUgcmVww7RzIG8gcmFtbyAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzcgYnVpbHRpbi9jaGVja291dC5jOjEwNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODAgYnVpbHRpbi9jaGVja291dC5jOjEwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiTXVkb3UgcGFyYSBvIG5vdm8gcmFtbyAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiTXVkb3UgcGFyYSBvIHJhbW8gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzMxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAuLi4gYW5kICVkIG1vcmUuXG4iCiBtc2dzdHIgIiAuLi4gZSBtYWlzICVkLlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtNDYwNiw3ICs1NTU4LDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTQ2MzMsMTY2ICs1NTg1LDE2NiBAQAogIiBnaXQgYnJhbmNoIDxub21lLWRvLW5vdm8tcmFtbz4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjc5NAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgImVycm8gaW50ZXJubyBkdXJhbnRlIG8gY3Vyc28gZGUgcmV2aXPDtWVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk4CiBtc2dpZCAiUHJldmlvdXMgSEVBRCBwb3NpdGlvbiB3YXMiCiBtc2dzdHIgIkEgcG9zacOnw6NvIGFudGVyaW9yIGRlIEhFQUQgZXJhIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODIzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODI1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY0CiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAiRXN0w6EgbnVtIHJhbW8gYWluZGEgbsOjbyBjcmlhZG8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgImVzcGVyYXZhLXNlIGFwZW5hcyB1bWEgcmVmZXLDqm5jaWEsICVkIGZvcm5lY2lkYXMuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwOCBidWlsdGluL3dvcmt0cmVlLmM6MjEyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxMCBidWlsdGluL3dvcmt0cmVlLmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAicmVmZXLDqm5jaWEgaW52w6FsaWRhOiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSBpcyBub3QgYSB0cmVlOiAlcyIKIG1zZ3N0ciAiYSByZWZlcsOqbmNpYSBuw6NvIMOpIHVtYSDDoXJ2b3JlOiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc4CiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIm7Do28gcG9kZW0gc2VyIHVzYWRvcyBjYW1pbmhvcyBhbyBtdWRhciBkZSByYW1vIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3OSBidWlsdGluL2NoZWNrb3V0LmM6MTA4MworIzogYnVpbHRpbi9jaGVja291dC5jOjEwODEgYnVpbHRpbi9jaGVja291dC5jOjEwODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiJyVzJyBuw6NvIHBvZGUgc2VyIHVzYWRvIGFvIG11ZGFyIGRlIHJhbW8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODkgYnVpbHRpbi9jaGVja291dC5jOjEwOTIgYnVpbHRpbi9jaGVja291dC5jOjEwOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICInJXMnIG7Do28gcG9kZSBzZXIgdXNhZG8gY29tICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgbXVkYXIgZGUgcmFtbyBwYXJhICclcycsIHZpc3RvIHF1ZSBuw6NvIMOpIHVtIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzYgYnVpbHRpbi9jaGVja291dC5jOjExMzggYnVpbHRpbi9jbG9uZS5jOjg4Ci0jOiBidWlsdGluL3JlbW90ZS5jOjE2NSBidWlsdGluL3JlbW90ZS5jOjE2NyBidWlsdGluL3dvcmt0cmVlLmM6MzIzCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOCBidWlsdGluL2NoZWNrb3V0LmM6MTE0MCBidWlsdGluL2Nsb25lLmM6OTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTY3IGJ1aWx0aW4vd29ya3RyZWUuYzozMjQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjYKIG1zZ2lkICJicmFuY2giCiBtc2dzdHIgInJhbW8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOQogbXNnaWQgImNyZWF0ZSBhbmQgY2hlY2tvdXQgYSBuZXcgYnJhbmNoIgogbXNnc3RyICJjcmlhciBlIGV4dHJhaXIgdW0gbm92byByYW1vIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDEKIG1zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgogbXNnc3RyICJjcmlhci9yZXBvciBlIGV4dHJhaXIgdW0gcmFtbyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQyCiBtc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAiY3JpYXIgcmVmbG9nIGRvIG5vdm8gcmFtbyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDEKLW1zZ2lkICJkZXRhY2ggdGhlIEhFQUQgYXQgbmFtZWQgY29tbWl0IgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDMgYnVpbHRpbi93b3JrdHJlZS5jOjMyOAorbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKIG1zZ3N0ciAiZGVzdGFjYXIgSEVBRCBubyBjb21taXQgaW5kaWNhZG8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NAogbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICJkZWZpbmlyIGEgaW5mb3JtYcOnw6NvIGRvIHJhbW8gYSBtb250YW50ZSBkbyBub3ZvIHJhbW8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NgogbXNnaWQgIm5ldy1icmFuY2giCiBtc2dzdHIgIm5vdm8tcmFtbyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2CiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICJub3ZvIHJhbW8gc2VtIHBhaSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ3CiBtc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICJleHRyYWlyIGEgbm9zc2EgdmVyc8OjbyBkb3MgZmljaGVpcm9zIG7Do28gaW50ZWdyYWRvcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CiBtc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgImV4dHJhaXIgYSB2ZXJzw6NvIGRlbGVzIGRvcyBmaWNoZWlyb3MgbsOjbyBpbnRlZ3JhZG9zIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTEKIG1zZ2lkICJmb3JjZSBjaGVja291dCAodGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zKSIKIG1zZ3N0ciAiZm9yw6dhciBleHRyYcOnw6NvIChkZXNjYXJ0YXIgbW9kaWZpY2HDp8O1ZXMgbG9jYWlzKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCiBtc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCiBtc2dzdHIgInJlYWxpemFyIHVtYSBpbnRlZ3Jhw6fDo28gY29tIDMgcG9udG9zIGNvbSBvIG5vdm8gcmFtbyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTEgYnVpbHRpbi9tZXJnZS5jOjIzMAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMgYnVpbHRpbi9tZXJnZS5jOjIzMQogbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiYXR1YWxpemFyIGZpY2hlaXJvcyBpZ25vcmFkb3MgKHByZWRlZmluacOnw6NvKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTIgYnVpbHRpbi9sb2cuYzoxNDMyIHBhcnNlLW9wdGlvbnMuaDoyNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU0IGJ1aWx0aW4vbG9nLmM6MTQ2NiBwYXJzZS1vcHRpb25zLmg6MjUxCiBtc2dpZCAic3R5bGUiCiBtc2dzdHIgImVzdGlsbyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU1CiBtc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKIG1zZ3N0ciAiZXN0aWxvIGRlIGNvbmZsaXRvIChtZXJnZSBvdSBkaWZmMykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKIG1zZ3N0ciAibsOjbyByZXN0cmluZ2lyIGVzcGVjaWZpY2Fkb3JlcyBkZSBjYW1pbmhvIGEgZW50cmFkYXMgZXNwYXJzYXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MAogbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IDxuby1zdWNoLWJyYW5jaD4nIgogbXNnc3RyICJ0ZW50YXIgYWRpdmluaGFyICdnaXQgY2hlY2tvdXQgPHJhbW8taW5leGlzdGVudGU+JyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYyCiBtc2dpZCAiZG8gbm90IGNoZWNrIGlmIGFub3RoZXIgd29ya3RyZWUgaXMgaG9sZGluZyB0aGUgZ2l2ZW4gcmVmIgogbXNnc3RyICIiCiAibsOjbyB2ZXJpZmljYXIgc2Ugb3V0cmEgw6Fydm9yZSBkZSB0cmFiYWxobyBjb250w6ltIGEgcmVmZXLDqm5jaWEgZm9ybmVjaWRhIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MSBidWlsdGluL2Nsb25lLmM6NjAgYnVpbHRpbi9mZXRjaC5jOjExNgotIzogYnVpbHRpbi9tZXJnZS5jOjIyNyBidWlsdGluL3B1bGwuYzoxMTYgYnVpbHRpbi9wdXNoLmM6NTI2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MyBidWlsdGluL2Nsb25lLmM6NjMgYnVpbHRpbi9mZXRjaC5jOjExOQorIzogYnVpbHRpbi9tZXJnZS5jOjIyOCBidWlsdGluL3B1bGwuYzoxMTcgYnVpbHRpbi9wdXNoLmM6NTM2CiAjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2OAogbXNnaWQgImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiZm9yw6dhciBpbmZvcm1hw6fDo28gZGUgcHJvZ3Jlc3NvIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExOTQKIG1zZ2lkICItYiwgLUIgYW5kIC0tb3JwaGFuIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiBlIC0tb3JwaGFuIHPDo28gbXV0dWFtZW50ZSBleGNsdXNpdm9zIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwOQorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTEKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tdHJhY2sgcmVxdWVyIHVtIG5vbWUgZHVtIHJhbW8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjE0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxNgogbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAiRmFsdGEgdW0gbm9tZSBkdW0gcmFtbzsgdGVudGUgLWIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MgogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJlc3BlY2lmaWNhw6fDo28gZGUgY2FtaW5obyBpbnbDoWxpZGEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCiAiRGlkIHlvdSBpbnRlbmQgdG8gY2hlY2tvdXQgJyVzJyB3aGljaCBjYW4gbm90IGJlIHJlc29sdmVkIGFzIGNvbW1pdD8iCiBtc2dzdHIgIiIKLSJOw6NvIMOpIHBvc3PDrXZlbCBhdHVhbGl6YXIgb3MgY2FtaW5obyBlIG11ZGFyIHBhcmEgbyByYW1vICclcycgYW8gbWVzbW8gdGVtcG8uIgotIlxuIgorIk7Do28gw6kgcG9zc8OtdmVsIGF0dWFsaXphciBvcyBjYW1pbmhvIGUgbXVkYXIgcGFyYSBvIHJhbW8gJyVzJyBhbyBtZXNtbyAiCisidGVtcG8uXG4iCiAiUHJldGVuZGlhIGV4dHJhaXIgJyVzJyBvIHF1YWwgbsOjbyBwb2RlIHNlciByZXNvbHZpZG8gY29tbyBjb21taXQ/IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgogbXNnc3RyICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIG7Do28gYWNlaXRhIHVtIGNhbWluaG8gY29tbyBhcmd1bWVudG8gJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtNDk0NCw4ICs1ODk2LDggQEAKIG1zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCiBtc2dzdHIgInJlbW92ZXIgZGlyZXTDs3Jpb3MgaW50ZWlyb3MiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9kZXNjcmliZS5jOjQwNyBidWlsdGluL2dyZXAuYzo3MjQKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTYgYnVpbHRpbi9uYW1lLXJldi5jOjMxNCBidWlsdGluL3Nob3ctcmVmLmM6MTgyCisjOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMgYnVpbHRpbi9zaG93LXJlZi5jOjE4MgogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgInBhZHLDo28iCiAKQEAgLTQ5ODUsMTEzICs1OTM3LDEzMCBAQAogbXNnaWQgImdpdCBjbG9uZSBbPG9wdGlvbnM+XSBbLS1dIDxyZXBvPiBbPGRpcj5dIgogbXNnc3RyICJnaXQgY2xvbmUgWzxvcMOnw7Vlcz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MgorIzogYnVpbHRpbi9jbG9uZS5jOjY1CiBtc2dpZCAiZG9uJ3QgY3JlYXRlIGEgY2hlY2tvdXQiCiBtc2dzdHIgIm7Do28gY3JpYXIgdW1hIGV4dHJhw6fDo28iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MyBidWlsdGluL2Nsb25lLmM6NjUgYnVpbHRpbi9pbml0LWRiLmM6NDczCisjOiBidWlsdGluL2Nsb25lLmM6NjYgYnVpbHRpbi9jbG9uZS5jOjY4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OAogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiY3JpYXIgdW0gcmVwb3NpdMOzcmlvIG51IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MAogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgogbXNnc3RyICJjcmlhciB1bSByZXBvc2l0w7NyaW8gZXNwZWxoYWRvIChpbXBsaWNhIHJlcG9zaXTDs3JpbyBudSkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2OQorIzogYnVpbHRpbi9jbG9uZS5jOjcyCiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgInBhcmEgY2xvbmFyIGRlIHVtIHJlcG9zaXTDs3JpbyBsb2NhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcxCisjOiBidWlsdGluL2Nsb25lLmM6NzQKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAibsOjbyB1c2FyIGxpZ2HDp8O1ZXMgZml4YXMsIGNvcGlhciBzZW1wcmUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MworIzogYnVpbHRpbi9jbG9uZS5jOjc2CiBtc2dpZCAic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgImNvbmZpZ3VyYXIgY29tbyByZXBvc2l0w7NyaW8gcGFydGlsaGFkbyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc1IGJ1aWx0aW4vY2xvbmUuYzo3NworIzogYnVpbHRpbi9jbG9uZS5jOjc4IGJ1aWx0aW4vY2xvbmUuYzo4MAogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgImluaWNpYWxpemFyIHN1Ym3Ds2R1bG9zIG5vIGNsb25lIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MgogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGNsb25lZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAibsO6bWVybyBkZSBzdWJtw7NkdWxvcyBjbG9uYWRvcyBlbSBwYXJhbGVsbyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3MAorIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NQogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAiZGlyZXTDs3Jpby1tb2RlbG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MSBidWlsdGluL2luaXQtZGIuYzo0NzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NCBidWlsdGluL2luaXQtZGIuYzo0NzYKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICJkaXJldMOzcmlvIHF1ZSBjb250w6ltIG9zIG1vZGVsb3MgdXNhZG9zIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5OAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3NworIzogYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vY2xvbmUuYzo4OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjAyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgInJlcG9zaXTDs3JpbyBkZSByZWZlcsOqbmNpYSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg1CisjOiBidWlsdGluL2Nsb25lLmM6OTAKIG1zZ2lkICJ1c2UgLS1yZWZlcmVuY2Ugb25seSB3aGlsZSBjbG9uaW5nIgogbXNnc3RyICJ1c2FyIC0tcmVmZXJlbmNlIGFwZW5hcyBwYXJhIGNsb25hciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAibm9tZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3CisjOiBidWlsdGluL2Nsb25lLmM6OTIKIG1zZ2lkICJ1c2UgPG5hbWU+IGluc3RlYWQgb2YgJ29yaWdpbicgdG8gdHJhY2sgdXBzdHJlYW0iCiBtc2dzdHIgInVzYXIgPG5vbWU+IGVtIHZleiBkZSAnb3JpZ2luJyBwYXJhIHNlZ3VpciBvIHJhbW8gYSBtb250YW50ZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5CisjOiBidWlsdGluL2Nsb25lLmM6OTQKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBpbnN0ZWFkIG9mIHRoZSByZW1vdGUncyBIRUFEIgogbXNnc3RyICJleHRyYWlyIDxyYW1vPiBlbSB2ZXogZGEgSEVBRCBkbyByZW1vdG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MQorIzogYnVpbHRpbi9jbG9uZS5jOjk2CiBtc2dpZCAicGF0aCB0byBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSIKIG1zZ3N0ciAiY2FtaW5obyBwYXJhIGdpdC11cGxvYWQtcGFjayBubyByZW1vdG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MiBidWlsdGluL2ZldGNoLmM6MTE3IGJ1aWx0aW4vZ3JlcC5jOjY2NwotIzogYnVpbHRpbi9wdWxsLmM6MjAxCisjOiBidWlsdGluL2Nsb25lLmM6OTcgYnVpbHRpbi9mZXRjaC5jOjEyMCBidWlsdGluL2dyZXAuYzo2NjgKKyM6IGJ1aWx0aW4vcHVsbC5jOjIwMgogbXNnaWQgImRlcHRoIgogbXNnc3RyICJwcm9mdW5kaWRhZGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MworIzogYnVpbHRpbi9jbG9uZS5jOjk4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICJjcmlhciB1bSBjbG9uZSByYXNvIGNvbSBlc3NhIHByb2Z1bmRpZGFkZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1CisjOiBidWlsdGluL2Nsb25lLmM6OTkgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDgKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNDIKK21zZ2lkICJ0aW1lIgorbXNnc3RyICJob3JhIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAwCittc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCittc2dzdHIgImNyaWFyIHVtIGNsb25lIHJhc28gZGVzZGUgdW1hIGRhdGEgZXNwZWPDrWZpY2EiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEgYnVpbHRpbi9mZXRjaC5jOjEyNAorbXNnaWQgInJldmlzaW9uIgorbXNnc3RyICJyZXZpc8OjbyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMiBidWlsdGluL2ZldGNoLmM6MTI1Cittc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSBieSBleGNsdWRpbmcgcmV2IgorbXNnc3RyICJhcHJvZnVuZGFyIG8gaGlzdMOzcmljbyBkZSB1bSBjbG9uZSByYXNvIGFvIGV4Y2x1aXIgdW1hIHJldmlzw6NvIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTA0CiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICJjbG9uYXIgYXBlbmFzIHVtIHJhbW8sIEhFQUQgb3UgLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NworIzogYnVpbHRpbi9jbG9uZS5jOjEwNgogbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIGJlIHNoYWxsb3ciCiBtc2dzdHIgInF1YWxxdWVyIHN1Ym3Ds2R1bG8gY2xvbmFkbyBzZXLDoSByYXNvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTggYnVpbHRpbi9pbml0LWRiLmM6NDc5CisjOiBidWlsdGluL2Nsb25lLmM6MTA3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NAogbXNnaWQgImdpdGRpciIKIG1zZ3N0ciAiZ2l0ZGlyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkgYnVpbHRpbi9pbml0LWRiLmM6NDgwCisjOiBidWlsdGluL2Nsb25lLmM6MTA4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NQogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgInNlcGFyYXIgbyByZXBvc2l0w7NyaW8gZ2l0IGRhIMOhcnZvcmUgZGUgdHJhYmFsaG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkKIG1zZ2lkICJrZXk9dmFsdWUiCiBtc2dzdHIgImNoYXZlPXZhbG9yIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxCisjOiBidWlsdGluL2Nsb25lLmM6MTEwCiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICJkZWZpbmlyIGNvbmZpZ3VyYcOnw6NvIGRlbnRybyBkbyBub3ZvIHJlcG9zaXTDs3JpbyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMiBidWlsdGluL2ZldGNoLmM6MTMxIGJ1aWx0aW4vcHVzaC5jOjUzNgorIzogYnVpbHRpbi9jbG9uZS5jOjExMSBidWlsdGluL2ZldGNoLmM6MTQwIGJ1aWx0aW4vcHVzaC5jOjU0NwogbXNnaWQgInVzZSBJUHY0IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICJ1c2FyIGFwZW5hcyBlbmRlcmXDp29zIElQdjQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDQgYnVpbHRpbi9mZXRjaC5jOjEzMyBidWlsdGluL3B1c2guYzo1MzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTMgYnVpbHRpbi9mZXRjaC5jOjE0MiBidWlsdGluL3B1c2guYzo1NDkKIG1zZ2lkICJ1c2UgSVB2NiBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAidXNhciBhcGVuYXMgZW5kZXJlw6dvcyBJUHY2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MjQxCisjOiBidWlsdGluL2Nsb25lLmM6MjUwCiBtc2dpZCAiIgogIk5vIGRpcmVjdG9yeSBuYW1lIGNvdWxkIGJlIGd1ZXNzZWQuXG4iCiAiUGxlYXNlIHNwZWNpZnkgYSBkaXJlY3Rvcnkgb24gdGhlIGNvbW1hbmQgbGluZSIKQEAgLTUwOTksNTQgKzYwNjgsNDIgQEAKICJOw6NvIGZvaSBwb3Nzw612ZWwgYWRpdmluaGFyIG8gbm9tZSBkbyBkaXJldMOzcmlvLlxuIgogIkVzcGVjaWZpcXVlIHVtIGRpcmV0w7NyaW8gbmEgbGluaGEgZGUgY29tYW5kb3MiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMDcKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMDMKICMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCi1tc2dzdHIgIiIKLSJhaW5kYSBuw6NvIMOpIHN1cG9ydGFkYSBhIGZ1bmNpb25hbGlkYWRlIHF1ZSBwZXJtaXRlIHRlciBvIHJlcG9zaXTDs3JpbyBkZSAiCi0icmVmZXLDqm5jaWEgJyVzJyBjb21vIHVtYSBleHRyYcOnw6NvIGxpZ2FkYS4iCittc2dpZCAiaW5mbzogQ291bGQgbm90IGFkZCBhbHRlcm5hdGUgZm9yICclcyc6ICVzXG4iCittc2dzdHIgImluZm86IE7Do28gZm9pIHBvc3PDrXZlbCBhZGljaW9uYXIgc29icmVzc2FsZW50ZSBkZSAnJXMnOiAlc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzA5CisjOiBidWlsdGluL2Nsb25lLmM6Mzc1CiAjLCBjLWZvcm1hdAotbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCi1tc2dzdHIgIm8gcmVwb3NpdMOzcmlvIGRlIHJlZmVyw6puY2lhICclcycgbsOjbyDDqSB1bSByZXBvc2l0w7NyaW8gbG9jYWwuIgorbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCittc2dzdHIgImZhbGhhIGFvIGFicmlyICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgotbXNnc3RyICJvIHJlcG9zaXTDs3JpbyBkZSByZWZlcsOqbmNpYSAnJXMnIMOpIHJhc28iCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgotbXNnc3RyICJvIHJlcG9zaXTDs3JpbyBkZSByZWZlcsOqbmNpYSAnJXMnIGVzdMOhIGVueGVydGFkbyIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjM4NAorIzogYnVpbHRpbi9jbG9uZS5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgZXhpc3RlIGUgbsOjbyDDqSB1bSBkaXJldMOzcmlvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzk4CisjOiBidWlsdGluL2Nsb25lLmM6Mzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgImZhbGhhIGFvIGludm9jYXIgc3RhdCBkZSAlc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDIwCisjOiBidWlsdGluL2Nsb25lLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIgogbXNnc3RyICJmYWxoYSBhbyBjcmlhciBhIGxpZ2HDp8OjbyAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDI0CisjOiBidWlsdGluL2Nsb25lLmM6NDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKIG1zZ3N0ciAiZmFsaGEgYW8gY29waWFyIG8gZmljaGVpcm8gcGFyYSAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDQ5IGJ1aWx0aW4vY2xvbmUuYzo2MzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAiY29uY2x1w61kby5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ2MQorIzogYnVpbHRpbi9jbG9uZS5jOjQ2MAogbXNnaWQgIiIKICJDbG9uZSBzdWNjZWVkZWQsIGJ1dCBjaGVja291dCBmYWlsZWQuXG4iCiAiWW91IGNhbiBpbnNwZWN0IHdoYXQgd2FzIGNoZWNrZWQgb3V0IHdpdGggJ2dpdCBzdGF0dXMnXG4iCkBAIC01MTU2LDEyOCArNjExMywxNDAgQEAKICJQb2RlIGluc3BlY2lvbmFyIG8gcXVlIGZvaSBleHRyYcOtZG8gY29tICdnaXQgc3RhdHVzJ1xuIgogImUgcmVwZXRpciBhIGV4dHJhw6fDo28gY29tICdnaXQgY2hlY2tvdXQgLWYgSEVBRCdcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjUzOAorIzogYnVpbHRpbi9jbG9uZS5jOjUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKIG1zZ3N0ciAiUmFtbyByZW1vdG8gJXMgbsOjbyBlbmNvbnRyYWRvIHBhcmEgY2xvbmFyLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkuLi4gIgotbXNnc3RyICJBIHZlcmlmaWNhciBhIGNvbmVjdGl2aWRhZGUuLi4gIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjMxCisjOiBidWlsdGluL2Nsb25lLmM6NjMyCiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgIm8gcmVtb3RvIG7Do28gZW52aW91IHRvZG9zIG9zIG9iamV0b3MgbmVjZXNzw6FyaW9zIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjQ5CisjOiBidWlsdGluL2Nsb25lLmM6NjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhdHVhbGl6YXIgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2OTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2OTcKIG1zZ2lkICJyZW1vdGUgSEVBRCByZWZlcnMgdG8gbm9uZXhpc3RlbnQgcmVmLCB1bmFibGUgdG8gY2hlY2tvdXQuXG4iCiBtc2dzdHIgIiIKLSJhIEhFQUQgcmVtb3RhIHJlZmVyZW5jaWEgdW1hIHJlZmVyw6puY2lhIGluZXhpc3RlbnRlLCBuw6NvIMOpIHBvc3PDrXZlbCBleHRyYWlyLiIKLSJcbiIKKyJhIEhFQUQgcmVtb3RhIHJlZmVyZW5jaWEgdW1hIHJlZmVyw6puY2lhIGluZXhpc3RlbnRlLCBuw6NvIMOpIHBvc3PDrXZlbCAiCisiZXh0cmFpci5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyOQorIzogYnVpbHRpbi9jbG9uZS5jOjcyOAogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBleHRyYWlyIGEgw6Fydm9yZSBkZSB0cmFiYWxobyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2NworIzogYnVpbHRpbi9jbG9uZS5jOjc2OAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZXNjcmV2ZXIgb3MgcGFyw6JtZXRyb3Mgbm8gZmljaGVpcm8gZGUgY29uZmlndXJhw6fDo28iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MzEKIG1zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCByZWVtcGFjb3RhciBwYXJhIGxpbXBhciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzMgorIzogYnVpbHRpbi9jbG9uZS5jOjgzMwogbXNnaWQgImNhbm5vdCB1bmxpbmsgdGVtcG9yYXJ5IGFsdGVybmF0ZXMgZmlsZSIKLW1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgaW52b2NhciB1bmxpbmsgc29icmUgbyBmaWNoZWlybyBzb2JyZXNzYWxlbnRlIHRlbXBvcsOhcmlvIgorbXNnc3RyICIiCisibsOjbyDDqSBwb3Nzw612ZWwgaW52b2NhciB1bmxpbmsgc29icmUgbyBmaWNoZWlybyBzb2JyZXNzYWxlbnRlIHRlbXBvcsOhcmlvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODY0IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTczMQorIzogYnVpbHRpbi9jbG9uZS5jOjg2NiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4OTUKIG1zZ2lkICJUb28gbWFueSBhcmd1bWVudHMuIgogbXNnc3RyICJEZW1hc2lhZG9zIGFyZ3VtZW50b3MuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODY4CisjOiBidWlsdGluL2Nsb25lLmM6ODcwCiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICJEZXZlIGVzcGVjaWZpY2FyIHVtIHJlcG9zaXTDs3JpbyBwYXJhIGNsb25hci4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NzkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICJhcyBvcMOnw7VlcyAtLWJhcmUgZSAtLW9yaWdpbiAlcyBzw6NvIGluY29tcGF0w612ZWlzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4MgorIzogYnVpbHRpbi9jbG9uZS5jOjg4NgogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICItLWJhcmUgZSAtLXNlcGFyYXRlLWdpdC1kaXIgc8OjbyBpbmNvbXBhdMOtdmVpcy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJvIHJlcG9zaXTDs3JpbyAnJXMnIG7Do28gZXhpc3RlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTAxIGJ1aWx0aW4vZmV0Y2guYzoxMTc0CisjOiBidWlsdGluL2Nsb25lLmM6OTA1IGJ1aWx0aW4vZmV0Y2guYzoxMzM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKIG1zZ3N0ciAicHJvZnVuZGlkYWRlICVzIG7Do28gw6kgdW0gbsO6bWVybyBwb3NpdGl2byIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxMQorIzogYnVpbHRpbi9jbG9uZS5jOjkxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgogbXNnc3RyICJvIGNhbWluaG8gZGUgZGVzdGlubyAnJXMnIGrDoSBleGlzdGUgZSBuw6NvIMOpIHVtIGRpcmV0w7NyaW8gdmF6aW8uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTIxCisjOiBidWlsdGluL2Nsb25lLmM6OTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAiYSDDoXJ2b3JlIGRlIHRyYWJhbGhvICclcycgasOhIGV4aXN0ZS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MzYgYnVpbHRpbi9jbG9uZS5jOjk0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTQ3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjIwIGJ1aWx0aW4vd29ya3RyZWUuYzoyNDcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NDAgYnVpbHRpbi9jbG9uZS5jOjk1MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjU3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjIyIGJ1aWx0aW4vd29ya3RyZWUuYzoyNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciBvcyBkaXJldMOzcmlvcyBzdXBlcmlvcmVzIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MzkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciBvIGRpcmV0w7NyaW8gZGUgw6Fydm9yZSBkZSB0cmFiYWxobyAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTU3CisjOiBidWlsdGluL2Nsb25lLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byBiYXJlIHJlcG9zaXRvcnkgJyVzJy4uLlxuIgogbXNnc3RyICJBIGNsb25hciBubyByZXBvc2l0w7NyaW8gbnUgJyVzJy4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTU5CisjOiBidWlsdGluL2Nsb25lLmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byAnJXMnLi4uXG4iCiBtc2dzdHIgIkEgY2xvbmFyIGVtICclcycuLi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5OAorIzogYnVpbHRpbi9jbG9uZS5jOjk2MworbXNnaWQgIiIKKyJjbG9uZSAtLXJlY3Vyc2l2ZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGJvdGggLS1yZWZlcmVuY2UgYW5kIC0tcmVmZXJlbmNlLWlmLSIKKyJhYmxlIgorbXNnc3RyICIiCisiY2xvbmUgLS1yZWN1cnNpdmUgbsOjbyDDqSBjb21wYXTDrXZlbCBjb20gYW1ib3MgLS1yZWZlcmVuY2UgZSAtLXJlZmVyZW5jZS1pZi0iCisiYWJsZSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMTkKIG1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1kZXB0aCDDqSBpZ25vcmFkbyBlbSBjbG9uZXMgbG9jYWlzOyB1c2UgZmlsZTovLyAuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwMjEKK21zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICItLXNoYWxsb3ctc2luY2Ugw6kgaWdub3JhZG8gZW0gY2xvbmVzIGxvY2FpczsgdXNlIGZpbGU6Ly8gLiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMjMKK21zZ2lkICItLXNoYWxsb3ctZXhjbHVkZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCittc2dzdHIgIi0tc2hhbGxvdy1leGNsdWRlIMOpIGlnbm9yYWRvIGVtIGNsb25lcyBsb2NhaXM7IHVzZSBmaWxlOi8vIC4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDI2CiBtc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKIG1zZ3N0ciAibyByZXBvc2l0w7NyaW8gZGUgb3JpZ2VtIMOpIHJhc28sIC0tbG9jYWwgaWdub3JhZG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDA2CisjOiBidWlsdGluL2Nsb25lLmM6MTAzMQogbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKIG1zZ3N0ciAiLS1sb2NhbCBpZ25vcmFkbyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIgogbXNnc3RyICJOw6NvIHNlaSBjb21vIGNsb25hciAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNTkgYnVpbHRpbi9jbG9uZS5jOjEwNjcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkwIGJ1aWx0aW4vY2xvbmUuYzoxMDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICJPIHJhbW8gcmVtb3RvICVzIG7Do28gZm9pIGVuY29udHJhZG8gbm8gcmVwb3NpdMOzcmlvIGEgbW9udGFudGUgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcwCisjOiBidWlsdGluL2Nsb25lLmM6MTEwMQogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIlBhcmVjZSBmb2kgY2xvbmFkbyB1bSByZXBvc2l0w7NyaW8gdmF6aW8uIgogCkBAIC01NDE2LDQzICs2Mzg1LDQzIEBACiAiRGVwb2lzIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiBpcsOhIHJldG9tYXIgbyBjaGVycnktcGlja1xuIgogImRvcyByZXN0YW50ZXMgY29tbWl0cy5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzE4CiBtc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgogbXNnc3RyICJmYWxoYSBhbyBkZXNjb21wYWN0YXIgbyBvYmpldG8gw6Fydm9yZSBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM0OAorIzogYnVpbHRpbi9jb21taXQuYzozNTkKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGNyaWFyIMOtbmRpY2UgdGVtcG9yw6FyaW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzU0CisjOiBidWlsdGluL2NvbW1pdC5jOjM2NQogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgImZhbGhhIGFvIGFkaWNpb25hciBpbnRlcmF0aXZhbWVudGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY3CisjOiBidWlsdGluL2NvbW1pdC5jOjM3OAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBhdHVhbGl6YXIgbyDDrW5kaWNlIHRlbXBvcsOhcmlvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM2OQorIzogYnVpbHRpbi9jb21taXQuYzozODAKIG1zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIG1haW4gY2FjaGUgdHJlZSIKIG1zZ3N0ciAiRmFsaGEgYW8gYXR1YWxpemFyIGEgw6Fydm9yZSBkZSBjYWNoZSBwcmluY2lwYWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzkzIGJ1aWx0aW4vY29tbWl0LmM6NDE2IGJ1aWx0aW4vY29tbWl0LmM6NDY1CisjOiBidWlsdGluL2NvbW1pdC5jOjQwNCBidWlsdGluL2NvbW1pdC5jOjQyNyBidWlsdGluL2NvbW1pdC5jOjQ3NgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZXNjcmV2ZXIgbyBmaWNoZWlybyBuZXdfaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDQ3CisjOiBidWlsdGluL2NvbW1pdC5jOjQ1OAogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZmF6ZXIgdW0gY29tbWl0IHBhcmNpYWwgZHVyYW50ZSB1bWEgaW50ZWdyYcOnw6NvLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYwCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBmYXplciB1bSBjb21taXQgcGFyY2lhbCBkdXJhbnRlIHVtIGNoZXJyeS1waWNrLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDY5CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBsZXIgbyDDrW5kaWNlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ3NworIzogYnVpbHRpbi9jb21taXQuYzo0ODgKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGVzY3JldmVyIGZpY2hlaXJvIGRlIMOtbmRpY2UgdGVtcG9yw6FyaW8iCiAKQEAgLTU0ODMsMTIgKzY0NTIsMTIgQEAKICJuw6NvIGZvaSBwb3Nzw612ZWwgc2VsZWNpb25hciB1bSBjYXLDoWN0ZXIgZGUgY29tZW50w6FyaW8gcXVlXG4iCiAibsOjbyBlc3RpdmVzc2UgasOhIGEgc2VyIHVzYWRvIG5hIG1lbnNhZ2VtIGRlIGNvbW1pdCBhdHVhbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2OTIgYnVpbHRpbi9jb21taXQuYzo3MjUgYnVpbHRpbi9jb21taXQuYzoxMDkxCisjOiBidWlsdGluL2NvbW1pdC5jOjY5MiBidWlsdGluL2NvbW1pdC5jOjcyNSBidWlsdGluL2NvbW1pdC5jOjEwOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjb25zdWx0YXIgbyBjb21taXQgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA0IGJ1aWx0aW4vc2hvcnRsb2cuYzoyODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzA0IGJ1aWx0aW4vc2hvcnRsb2cuYzoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiKGEgbGVyIG1lbnNhZ2VtIGRlIGxvZyBkYSBlbnRyYWRhIHBhZHLDo28pXG4iCkBAIC01NTg0LDEzMCArNjU1MywxMzQgQEAKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgbGVyIG8gw61uZGljZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTU0CiBtc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIkVycm8gYW8gY29uc3RydWlyIMOhcnZvcmVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk2NCBidWlsdGluL3RhZy5jOjI2NgorIzogYnVpbHRpbi9jb21taXQuYzo5NjkgYnVpbHRpbi90YWcuYzoyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgogbXNnc3RyICJJbmRpcXVlIGEgbWVuc2FnZW0gdXNhbmRvIGFzIG9ww6fDtWVzIC1tIG91IC1GLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3MQogIywgYy1mb3JtYXQKIG1zZ2lkICItLWF1dGhvciAnJXMnIGlzIG5vdCAnTmFtZSA8ZW1haWw+JyBhbmQgbWF0Y2hlcyBubyBleGlzdGluZyBhdXRob3IiCiBtc2dzdHIgIiIKICItLWF1dGhvciAnJXMnIG7Do28gw6kgZG8gdGlwbyAnTm9tZSA8ZW1haWw+JyBlIG7Do28gY29ycmVzcG9uZGUgYSB1bSBhdXRvciAiCiAiZXhpc3RlbnRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwODEgYnVpbHRpbi9jb21taXQuYzoxMzIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEwODYgYnVpbHRpbi9jb21taXQuYzoxMzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiTW9kbyBpbnbDoWxpZG8gZGUgZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgJyVzJyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTE4CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjQKIG1zZ2lkICItLWxvbmcgYW5kIC16IGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbG9uZyBlIC16IHPDo28gaW5jb21wYXTDrXZlaXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE0OAorIzogYnVpbHRpbi9jb21taXQuYzoxMTU0CiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiTsOjbyBmYXogc2VudGlkbyB1c2FyIC0tcmVzZXQtYXV0aG9yIGUgLS1hdXRob3IgYW8gbWVzbW8gdGVtcG8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NworIzogYnVpbHRpbi9jb21taXQuYzoxMTYzCiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgIk7Do28gaMOhIG5hZGEgcGFyYSBlbWVuZGFyLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTYwCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjYKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJJbnRlZ3Jhw6fDo28gZW0gY3Vyc28gLS0gbsOjbyDDqSBwb3Nzw612ZWwgZW1lbmRhci4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MgorIzogYnVpbHRpbi9jb21taXQuYzoxMTY4CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hlcnJ5LXBpY2sgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiQ2hlcnJ5LXBpY2sgZW0gY3Vyc28gLS0gbsOjbyDDqSBwb3Nzw612ZWwgZW1lbmRhci4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTcxCiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiQXMgb3DDp8O1ZXMgLS1zcXVhc2ggZSAtLWZpeHVwIG7Do28gcG9kZW0gc2VyIHVzYWRhcyBqdW50YXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTgxCiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIkFwZW5hcyB1bSBlbnRyZSAtYy8tQy8tRi8tLWZpeHVwIHBvZGUgc2VyIHVzYWRvLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTc3CisjOiBidWlsdGluL2NvbW1pdC5jOjExODMKIG1zZ2lkICJPcHRpb24gLW0gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLWMvLUMvLUYvLS1maXh1cC4iCiBtc2dzdHIgIkEgb3DDp8OjbyAtbSBuw6NvIHBvZGUgc2VyIGNvbWJpbmFkYSBjb20gLWMvQy8tRi8tLWZpeHVwLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTg1CisjOiBidWlsdGluL2NvbW1pdC5jOjExOTEKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICItLXJlc2V0LWF1dGhvciBzw7MgcG9kZSBzZXIgdXNhZG8gY29tIC1DLCAtYyBvdSAtLWFtZW5kLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjAyCisjOiBidWlsdGluL2NvbW1pdC5jOjEyMDgKIG1zZ2lkICJPbmx5IG9uZSBvZiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIiIKICJBcGVuYXMgdW0gZW50cmUgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggcG9kZSBzZXIgdXNhZG8uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMAogbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiQXMgb3DDp8O1ZXMgLS1pbmNsdWRlLy0tb25seSBuw6NvIGZhemVtIHNlbnRpZG8gc2VtIGluZGljYXIgY2FtaW5ob3MuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMgogbXNnaWQgIkNsZXZlci4uLiBhbWVuZGluZyB0aGUgbGFzdCBvbmUgd2l0aCBkaXJ0eSBpbmRleC4iCiBtc2dzdHIgIkludGVsaWdlbnRlLi4uIGEgZW1lbmRhciBvIMO6bHRpbW8gY29tbWl0IGNvbSBvIMOtbmRpY2Ugc3Vqby4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwOAorIzogYnVpbHRpbi9jb21taXQuYzoxMjE0CiBtc2dpZCAiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgb3IgLW87IGFzc3VtaW5nIC0tb25seSBwYXRocy4uLiIKIG1zZ3N0ciAiQ2FtaW5ob3MgZXhwbMOtY2l0b3MgZXNwZWNpZmljYWRvcyBzZW0gLWkgb3UgLW87IGFzc3VtaW5kbyAtLW9ubHkuLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyMCBidWlsdGluL3RhZy5jOjQ3NAorIzogYnVpbHRpbi9jb21taXQuYzoxMjI2IGJ1aWx0aW4vdGFnLmM6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgogbXNnc3RyICJNb2RvIGRlIGxpbXBlemEgaW52w6FsaWRvICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzMQogbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIkluZGljYXIgY2FtaW5ob3MgY29tIC1hIG7Do28gZmF6IHNlbnRpZG8uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzUgYnVpbHRpbi9jb21taXQuYzoxNjIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDEgYnVpbHRpbi9jb21taXQuYzoxNjE3CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICJtb3N0cmFyIHN0YXR1cyBkZSBmb3JtYSBjb25jaXNhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzcgYnVpbHRpbi9jb21taXQuYzoxNjIzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDMgYnVpbHRpbi9jb21taXQuYzoxNjE5CiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgIm1vc3RyYXIgaW5mb3JtYcOnw6NvIGRvIHJhbW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzOSBidWlsdGluL2NvbW1pdC5jOjE2MjUgYnVpbHRpbi9wdXNoLmM6NTEyCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDM3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDUKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICJ2ZXJzw6NvIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDUgYnVpbHRpbi9jb21taXQuYzoxNjIxIGJ1aWx0aW4vcHVzaC5jOjUyMgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MAogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICJzYcOtZGEgaW50ZWxpZ8OtdmVsIHBvciBtw6FxdWluYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQyIGJ1aWx0aW4vY29tbWl0LmM6MTYyNworIzogYnVpbHRpbi9jb21taXQuYzoxMzQ4IGJ1aWx0aW4vY29tbWl0LmM6MTYyMwogbXNnaWQgInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIKIG1zZ3N0ciAiYXByZXNlbnRhciBzdGF0dXMgZW0gZm9ybWF0byBsb25nbyAocHJlZGVmaW5pw6fDo28pIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDUgYnVpbHRpbi9jb21taXQuYzoxNjMwCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTEgYnVpbHRpbi9jb21taXQuYzoxNjI2CiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgInRlcm1pbmFyIGVudHJhZGFzIGNvbSBOVUwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NyBidWlsdGluL2NvbW1pdC5jOjE2MzMgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MQorIzogYnVpbHRpbi9jb21taXQuYzoxMzUzIGJ1aWx0aW4vY29tbWl0LmM6MTYyOSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgxCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg0IGJ1aWx0aW4vdGFnLmM6MzUzCiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAibW9kbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQ4IGJ1aWx0aW4vY29tbWl0LmM6MTYzMworIzogYnVpbHRpbi9jb21taXQuYzoxMzU0IGJ1aWx0aW4vY29tbWl0LmM6MTYyOQogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAiIgogIm1vc3RyYXIgZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MsIG1vZG8gw6kgb3BjaW9uYWw6IGFsbCwgbm9ybWFsLCBuby4gIgogIihQcmVkZWZpbmnDp8OjbzogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTcKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIm1vc3RyYXIgZmljaGVpcm9zIGlnbm9yYWRvcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUyIHBhcnNlLW9wdGlvbnMuaDoxNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OCBwYXJzZS1vcHRpb25zLmg6MTU1CiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAicXVhbmRvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OQogbXNnaWQgIiIKICJpZ25vcmUgY2hhbmdlcyB0byBzdWJtb2R1bGVzLCBvcHRpb25hbCB3aGVuOiBhbGwsIGRpcnR5LCB1bnRyYWNrZWQuICIKICIoRGVmYXVsdDogYWxsKSIKQEAgLTU3MTUsMTk5ICs2Njg4LDIwMCBAQAogImlnbm9yYXIgYWx0ZXJhw6fDtWVzIGVtIHN1Ym3Ds2R1bG9zLCBxdWFuZG8gw6kgb3BjaW9uYWw6IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihQcmVkZWZpbmnDp8OjbzogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjEKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJsaXN0YXIgZmljaGVpcm9zIG7Do28gY29udHJvbGFkb3MgZW0gY29sdW5hcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0MzcKIG1zZ2lkICJjb3VsZG4ndCBsb29rIHVwIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgY29uc3VsdGFyIG8gY29tbWl0IHJlY8OpbS1jcmlhZG8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MworIzogYnVpbHRpbi9jb21taXQuYzoxNDM5CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYW5hbGlzYXIgbyBjb21taXQgcmVjw6ltLWNyaWFkbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODQKIG1zZ2lkICJkZXRhY2hlZCBIRUFEIgogbXNnc3RyICJIRUFEIGRlc3RhY2FkYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDkxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAiIChjb21taXQtcmFpeikiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MQorIzogYnVpbHRpbi9jb21taXQuYzoxNTg3CiBtc2dpZCAic3VwcHJlc3Mgc3VtbWFyeSBhZnRlciBzdWNjZXNzZnVsIGNvbW1pdCIKIG1zZ3N0ciAic3VwcmltaXIgbyByZXN1bW8gZGVwb2lzIGRlIHN1Ym1ldGVyIGNvbSBzdWNlc3NvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OAogbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAibW9zdHJhciBkaWZmIG5vIG1vZGVsbyBkYSBtZW5zYWdlbSBkZSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTkwCiBtc2dpZCAiQ29tbWl0IG1lc3NhZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiT3DDp8O1ZXMgZGUgbWVuc2FnZW0gZGUgY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTUgYnVpbHRpbi90YWcuYzozNTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MSBidWlsdGluL3RhZy5jOjM1MQogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgImxlciBtZW5zYWdlbSBkZSB1bSBmaWNoZWlybyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgImF1dG9yIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgogbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgogbXNnc3RyICJzdWJzdGl0dWlyIGF1dG9yIGRvIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk3IGJ1aWx0aW4vZ2MuYzozMjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MyBidWlsdGluL2djLmM6MzI2CiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAiZGF0YSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMKIG1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCiBtc2dzdHIgInN1YnN0aXR1aXIgZGF0YSBkbyBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vbm90ZXMuYzozOTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NTggYnVpbHRpbi90YWcuYzozNDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NCBidWlsdGluL21lcmdlLmM6MjIwIGJ1aWx0aW4vbm90ZXMuYzozOTgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjEgYnVpbHRpbi90YWcuYzozNDkKIG1zZ2lkICJtZXNzYWdlIgogbXNnc3RyICJtZW5zYWdlbSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk4CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTQKIG1zZ2lkICJjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAibWVuc2FnZW0gZGUgY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTkgYnVpbHRpbi9jb21taXQuYzoxNjAwIGJ1aWx0aW4vY29tbWl0LmM6MTYwMQotIzogYnVpbHRpbi9jb21taXQuYzoxNjAyIHBhcnNlLW9wdGlvbnMuaDoyNTYgcmVmLWZpbHRlci5oOjc5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTUgYnVpbHRpbi9jb21taXQuYzoxNTk2IGJ1aWx0aW4vY29tbWl0LmM6MTU5NworIzogYnVpbHRpbi9jb21taXQuYzoxNTk4IHBhcnNlLW9wdGlvbnMuaDoyNTcgcmVmLWZpbHRlci5oOjc5CiBtc2dpZCAiY29tbWl0IgogbXNnc3RyICJjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk1CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgInJldXRpbGl6YXIgZSBlZGl0YXIgYSBtZW5zYWdlbSBkZSB1bSBjb21taXQgZXNwZWNpZmljYWRvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICJyZXV0aWxpemFyIGEgbWVuc2FnZW0gZGUgdW0gY29tbWl0IGVzcGVjaWZpY2FkbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAidXNhciBtZW5zYWdlbSBjb20gZm9ybWF0byBhdXRvc3F1YXNoIHBhcmEgY29ycmlnaXIgbyBjb21taXQgZXNwZWNpZmljYWRvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OAogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHNxdWFzaCBzcGVjaWZpZWQgY29tbWl0IgotbXNnc3RyICJ1c2FyIG1lbnNhZ2VtIGNvbSBmb3JtYXRvIGF1dG9zcXVhc2ggcGFyYSBlc21hZ2FyIG8gY29tbWl0IGVzcGVjaWZpY2FkbyIKK21zZ3N0ciAiIgorInVzYXIgbWVuc2FnZW0gY29tIGZvcm1hdG8gYXV0b3NxdWFzaCBwYXJhIGVzbWFnYXIgbyBjb21taXQgZXNwZWNpZmljYWRvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQogbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCiBtc2dzdHIgImFnb3JhIHNvdSBldSBvIGF1dG9yIGRvIGNvbW1pdCAodXNhZG8gY29tIEMvLWMvLS1hbWVuZCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNCBidWlsdGluL2xvZy5jOjEzODIgYnVpbHRpbi9yZXZlcnQuYzo4NgorIzogYnVpbHRpbi9jb21taXQuYzoxNjAwIGJ1aWx0aW4vbG9nLmM6MTQxMyBidWlsdGluL3JldmVydC5jOjg2CiBtc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgogbXNnc3RyICJhZGljaW9uYXIgU2lnbmVkLW9mZi1ieToiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNQorIzogYnVpbHRpbi9jb21taXQuYzoxNjAxCiBtc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgogbXNnc3RyICJ1c2FyIGZpY2hlaXJvIGRlIG1vZGVsbyBlc3BlY2lmaWNhZG8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNgorIzogYnVpbHRpbi9jb21taXQuYzoxNjAyCiBtc2dpZCAiZm9yY2UgZWRpdCBvZiBjb21taXQiCiBtc2dzdHIgImZvcsOnYXIgZWRpw6fDo28gZG8gY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMwogbXNnaWQgImRlZmF1bHQiCiBtc2dzdHIgInByZWRlZmluacOnw6NvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDcgYnVpbHRpbi90YWcuYzozNTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMyBidWlsdGluL3RhZy5jOjM1NAogbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCiBtc2dzdHIgImNvbW8gcmV0aXJhciBlc3Bhw6dvcyBlICNjb21lbnTDoXJpb3MgZGEgbWVuc2FnZW0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjA0CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgImluY2x1aXIgc3RhdHVzIG5vIG1vZGVsbyBkYSBtZW5zYWdlbSBkZSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMCBidWlsdGluL21lcmdlLmM6MjI5IGJ1aWx0aW4vcHVsbC5jOjE2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNjA2IGJ1aWx0aW4vbWVyZ2UuYzoyMzAgYnVpbHRpbi9wdWxsLmM6MTY2CiAjOiBidWlsdGluL3JldmVydC5jOjkzCiBtc2dpZCAiR1BHIHNpZ24gY29tbWl0IgogbXNnc3RyICJhc3NpbmFyIG8gY29tbWl0IGNvbSBHUEciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMworIzogYnVpbHRpbi9jb21taXQuYzoxNjA5CiBtc2dpZCAiQ29tbWl0IGNvbnRlbnRzIG9wdGlvbnMiCiBtc2dzdHIgIk9ww6fDtWVzIGRlIGNvbnRlw7pkbyBkbyBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAorIzogYnVpbHRpbi9jb21taXQuYzoxNjEwCiBtc2dpZCAiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIgogbXNnc3RyICJzdWJtZXRlciB0b2RvcyBvcyBmaWNoZWlyb3MgYWx0ZXJhZG9zIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMQogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAiYWRpY2lvbmFyIGZpY2hlaXJvcyBlc3BlY2lmaWNhZG9zIGFvIMOtbmRpY2UgcGFyYSBzdWJtZXRlciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTIKIG1zZ2lkICJpbnRlcmFjdGl2ZWx5IGFkZCBmaWxlcyIKIG1zZ3N0ciAiYWRpY2lvbmFyIGZpY2hlaXJvcyBpbnRlcmF0aXZhbWVudGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNworIzogYnVpbHRpbi9jb21taXQuYzoxNjEzCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAiYWRpY2lvbmFyIGFsdGVyYcOnw7VlcyBpbnRlcmF0aXZhbWVudGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CiBtc2dpZCAiY29tbWl0IG9ubHkgc3BlY2lmaWVkIGZpbGVzIgogbXNnc3RyICJzdWJtZXRlciBzb21lbnRlIG9zIGZpY2hlaXJvcyBlc3BlY2lmaWNhZG9zIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTkKLW1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBob29rIgotbXNnc3RyICJpZ25vcmFyIHByZS1jb21taXQgaG9vayIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNQorbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgorbXNnc3RyICJpZ25vcmFyIHByZS1jb21taXQgZSBjb21taXQtbXNnIGhvb2tzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNgogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgIm1vc3RyYXIgbyBxdWUgc2VyaWEgc3VibWV0aWRvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyNwogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAiZW1lbmRhciBvIGNvbW1pdCBhbnRlcmlvciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjMyCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjgKIG1zZ2lkICJieXBhc3MgcG9zdC1yZXdyaXRlIGhvb2siCiBtc2dzdHIgImlnbm9yYXIgcG9zdC1yZXdyaXRlIGhvb2siCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNworIzogYnVpbHRpbi9jb21taXQuYzoxNjMzCiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAiYWNlaXRhciBvIHJlZ2lzdG8gZHVtYSBhbHRlcmHDp8OjbyB2YXppYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjM5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MzUKIG1zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICJhY2VpdGFyIG8gcmVnaXN0byBkdW1hIGFsdGVyYcOnw6NvIGNvbSB1bWEgbWVuc2FnZW0gdmF6aWEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjY0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYW5hbGlzYXIgbyBjb21taXQgSEVBRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzE4CisjOiBidWlsdGluL2NvbW1pdC5jOjE3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAiRmljaGVpcm8gTUVSR0VfSEVBRCBjb3Jyb21waWRvICglcykiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTcyNQorIzogYnVpbHRpbi9jb21taXQuYzoxNzE5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxlciBNRVJHRV9NT0RFIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTczOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZTogJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgYSBtZW5zYWdlbSBkZSBjb21taXQ6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCiBtc2dzdHIgIkEgYWJvcnRhciBvIGNvbW1pdDsgbsOjbyBlZGl0b3UgYSBtZW5zYWdlbS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzYwCisjOiBidWlsdGluL2NvbW1pdC5jOjE3NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0IGR1ZSB0byBlbXB0eSBjb21taXQgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiQSBhYm9ydGFyIG8gY29tbWl0IHVtYSB2ZXogcXVlIGEgbWVuc2FnZW0gZGUgY29tbWl0IGVzdMOhIHZhemlhLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE4MDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTgwMgogbXNnaWQgIiIKICJSZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKICJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIGFuZCBxdW90YSBpc1xuIgpAQCAtNTkyMSwxNDIgKzY4OTUsMTQyIEBACiBtc2dpZCAiZ2l0IGNvbmZpZyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGNvbmZpZyBbPG9ww6fDtWVzPl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTUKIG1zZ2lkICJDb25maWcgZmlsZSBsb2NhdGlvbiIKIG1zZ3N0ciAiTG9jYWxpemHDp8OjbyBkbyBmaWNoZWlybyBkZSBjb25maWd1cmHDp8OjbyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1NgogbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCiBtc2dzdHIgInVzYXIgZmljaGVpcm8gZGUgY29uZmlndXJhw6fDo28gZ2xvYmFsIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4CisjOiBidWlsdGluL2NvbmZpZy5jOjU3CiBtc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKIG1zZ3N0ciAidXNhciBmaWNoZWlybyBkZSBjb25maWd1cmHDp8OjbyBkbyBzaXN0ZW1hIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU5CisjOiBidWlsdGluL2NvbmZpZy5jOjU4CiBtc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCiBtc2dzdHIgInVzYXIgZmljaGVpcm8gZGUgY29uZmlndXJhw6fDo28gZG8gcmVwb3NpdMOzcmlvIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYwCisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAidXNlIGdpdmVuIGNvbmZpZyBmaWxlIgogbXNnc3RyICJ1c2FyIGZpY2hlaXJvIGRlIGNvbmZpZ3VyYcOnw6NvIGZvcm5lY2lkbyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgImJsb2ItaWQiCiBtc2dzdHIgImlkLWJsb2IiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKIG1zZ2lkICJyZWFkIGNvbmZpZyBmcm9tIGdpdmVuIGJsb2Igb2JqZWN0IgogbXNnc3RyICJsZXIgY29uZmlndXJhw6fDo28gYSBwYXJ0aXIgZG8gb2JqZXRvIGJsb2IgZm9ybmVjaWRvIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYyCisjOiBidWlsdGluL2NvbmZpZy5jOjYxCiBtc2dpZCAiQWN0aW9uIgogbXNnc3RyICJBw6fDo28iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKIG1zZ2lkICJnZXQgdmFsdWU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAib2J0ZXIgdmFsb3I6IG5vbWUgW3JlZ2V4LWRvLXZhbG9yXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NAorIzogYnVpbHRpbi9jb25maWcuYzo2MwogbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAib2J0ZXIgdG9kb3Mgb3MgdmFsb3JlczogY2hhdmUgW3JlZ2V4LWRvLXZhbG9yXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NQorIzogYnVpbHRpbi9jb25maWcuYzo2NAogbXNnaWQgImdldCB2YWx1ZXMgZm9yIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJvYnRlciB2YWxvcmVzIHBhcmEgYSByZWdleHA6IHJlZ2V4LWRvLW5vbWUgW3JlZ2V4LWRvLXZhbG9yXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NgorIzogYnVpbHRpbi9jb25maWcuYzo2NQogbXNnaWQgImdldCB2YWx1ZSBzcGVjaWZpYyBmb3IgdGhlIFVSTDogc2VjdGlvblsudmFyXSBVUkwiCiBtc2dzdHIgIm9idGVyIHZhbG9yIGRvIFVSTCBlc3BlY2lmaWNhZG86IHNlY3Rpb25bLnZhcl0gVVJMIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY3CisjOiBidWlsdGluL2NvbmZpZy5jOjY2CiBtc2dpZCAicmVwbGFjZSBhbGwgbWF0Y2hpbmcgdmFyaWFibGVzOiBuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iCiBtc2dzdHIgIiIKICJzdWJzdGl0dWlyIHRvZG9zIGFzIHZhcmnDoXZlaXMgY29ycmVzcG9uZGVudGVzOiBub21lIHZhbG9yIFtyZWdleC1kby12YWxvcl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKIG1zZ2lkICJhZGQgYSBuZXcgdmFyaWFibGU6IG5hbWUgdmFsdWUiCiBtc2dzdHIgImFkaWNpb25hciB1bWEgbm92YSB2YXJpw6F2ZWw6IG5vbWUgdmFsb3IiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjgKIG1zZ2lkICJyZW1vdmUgYSB2YXJpYWJsZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJyZW1vdmVyIHVtYSB2YXJpw6F2ZWw6IG5vbWUgW3JlZ2V4LWRvLXZhbG9yXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MAorIzogYnVpbHRpbi9jb25maWcuYzo2OQogbXNnaWQgInJlbW92ZSBhbGwgbWF0Y2hlczogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJyZW1vdmVyIHRvZGFzIGFzIGNvcnJlc3BvbmTDqm5jaWFzOiBub21lIFtyZWdleC1kby12YWxvcl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKIG1zZ2lkICJyZW5hbWUgc2VjdGlvbjogb2xkLW5hbWUgbmV3LW5hbWUiCiBtc2dzdHIgIm11ZGFyIG8gbm9tZSBkYSBzZWPDp8Ojbzogbm9tZS1hbnRpZ28gbm92by1ub21lIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcyCisjOiBidWlsdGluL2NvbmZpZy5jOjcxCiBtc2dpZCAicmVtb3ZlIGEgc2VjdGlvbjogbmFtZSIKIG1zZ3N0ciAicmVtb3ZlciB1bWEgc2Vjw6fDo286IG5vbWUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKIG1zZ2lkICJsaXN0IGFsbCIKIG1zZ3N0ciAibGlzdGFyIHRvZG9zIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0CisjOiBidWlsdGluL2NvbmZpZy5jOjczCiBtc2dpZCAib3BlbiBhbiBlZGl0b3IiCiBtc2dzdHIgImFicmlyIHVtIGVkaXRvciIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NQorIzogYnVpbHRpbi9jb25maWcuYzo3NAogbXNnaWQgImZpbmQgdGhlIGNvbG9yIGNvbmZpZ3VyZWQ6IHNsb3QgW2RlZmF1bHRdIgogbXNnc3RyICJlbmNvbnRyYXIgYSBjb3IgY29uZmlndXJhZGE6IHNsb3QgW3ByZWRlZmluacOnw6NvXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NgorIzogYnVpbHRpbi9jb25maWcuYzo3NQogbXNnaWQgImZpbmQgdGhlIGNvbG9yIHNldHRpbmc6IHNsb3QgW3N0ZG91dC1pcy10dHldIgogbXNnc3RyICJlbmNvbnRyYXIgYSBkZWZpbmnDp8OjbyBkZSBjb3I6IHNsb3QgW3N0ZG91dC3DqS10dHldIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjc2CiBtc2dpZCAiVHlwZSIKIG1zZ3N0ciAiVGlwbyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OAorIzogYnVpbHRpbi9jb25maWcuYzo3NwogbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKIG1zZ3N0ciAibyB2YWxvciDDqSBcInRydWVcIiAodmVyZGFkZWlybykgb3UgXCJmYWxzZVwiIChmYWxzbykiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKIG1zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKIG1zZ3N0ciAibyB2YWxvciDDqSB1bSBuw7ptZXJvIGRlY2ltYWwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKIG1zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCiBtc2dzdHIgIm8gdmFsb3Igw6kgLS1ib29sIG91IC0taW50IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgxCisjOiBidWlsdGluL2NvbmZpZy5jOjgwCiBtc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKIG1zZ3N0ciAibyB2YWxvciDDqSB1bSBjYW1pbmhvIChub21lIGR1bSBmaWNoZWlybyBvdSBkaXJldMOzcmlvKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MgorIzogYnVpbHRpbi9jb25maWcuYzo4MQogbXNnaWQgIk90aGVyIgogbXNnc3RyICJPdXRybyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MworIzogYnVpbHRpbi9jb25maWcuYzo4MgogbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAidGVybWluYXIgdmFsb3JlcyBjb20gbyBieXRlIE5VTCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NAorIzogYnVpbHRpbi9jb25maWcuYzo4MwogbXNnaWQgInNob3cgdmFyaWFibGUgbmFtZXMgb25seSIKIG1zZ3N0ciAibW9zdHJhciBhcGVuYXMgb3Mgbm9tZXMgZGFzIHZhcmnDoXZlaXMiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCiBtc2dzdHIgInJlc3BlaXRhciBkaXJldGl2YXMgZGUgaW5jbHVzw6NvIGFvIHBlc3F1aXNhciIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NgorIzogYnVpbHRpbi9jb25maWcuYzo4NQogbXNnaWQgInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiCiBtc2dzdHIgIiIKICJtb3N0cmFyIGEgb3JpZ2VtIGRhIGNvbmZpZ3VyYcOnw6NvIChmaWNoZWlybywgZW50cmFkYSBwYWRyw6NvLCBibG9iLCBsaW5oYSBkZSAiCiAiY29tYW5kb3MpIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjMyOAorIzogYnVpbHRpbi9jb25maWcuYzozMjcKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgZGVmYXVsdCBjb2xvciB2YWx1ZSIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYW5hbGlzYXIgbyB2YWxvciBkZSBjb3IgcG9yIG9taXNzw6NvIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQ3MgorIzogYnVpbHRpbi9jb25maWcuYzo0NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiMgVGhpcyBpcyBHaXQncyBwZXItdXNlciBjb25maWd1cmF0aW9uIGZpbGUuXG4iCkBAIC02MDcxLDE2ICs3MDQ1LDI1IEBACiAiI1x0bmFtZSA9ICVzXG4iCiAiI1x0ZW1haWwgPSAlc1xuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxNAorIzogYnVpbHRpbi9jb25maWcuYzo2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBjb25maWd1cmF0aW9uIGZpbGUgJXMiCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGNyaWFyIG8gZmljaGVpcm8gZGUgY29uZmlndXJhw6fDo28gJXMiCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IG92ZXJ3cml0ZSBtdWx0aXBsZSB2YWx1ZXMgd2l0aCBhIHNpbmdsZSB2YWx1ZVxuIgorIiAgICAgICBVc2UgYSByZWdleHAsIC0tYWRkIG9yIC0tcmVwbGFjZS1hbGwgdG8gY2hhbmdlICVzLiIKK21zZ3N0ciAiIgorIm7Do28gw6kgcG9zc8OtdmVsIHN1YnN0aXR1aXIgbcO6bHRpcGxvcyB2YWxvcmVzIHBvciB1bSDDum5pY28gdmFsb3JcbiIKKyJcdFVzZSB1bWEgcmVnZXhwLCAtLWFkZCBvdSAtLXJlcGxhY2UtYWxsIHBhcmEgYWx0ZXJhciAlcy4iCisKKyM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg2CiBtc2dpZCAiZ2l0IGNvdW50LW9iamVjdHMgWy12XSBbLUggfCAtLWh1bWFuLXJlYWRhYmxlXSIKIG1zZ3N0ciAiZ2l0IGNvdW50LW9iamVjdHMgWy12XSBbLUggfCAtLWh1bWFuLXJlYWRhYmxlXSIKIAotIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6ODcKKyM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk2CiBtc2dpZCAicHJpbnQgc2l6ZXMgaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0IgogbXNnc3RyICJpbXByaW1pciBkaW1lbnPDtWVzIGVtIGZvcm1hdG8gaW50ZWxpZ8OtdmVsIHBvciBodW1hbm9zIgogCkBAIC02MTA3LDcgKzcwOTAsNyBAQAogbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCiBtc2dzdHIgImEgdGFnICclcycgZXN0w6EgZGUgZmFjdG8gZW0gJyVzJyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MCBidWlsdGluL2xvZy5jOjQ2NQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MCBidWlsdGluL2xvZy5jOjQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAiJXMgbsOjbyDDqSB1bSBub21lIGRlIG9iamV0byB2w6FsaWRvIgpAQCAtNjIwMCw3ICs3MTgzLDcgQEAKIG1zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJhcGVuYXMgY29uc2lkZXJhciB0YWdzIHF1ZSBjb3JyZXNwb25kYW0gYW8gPHBhZHLDo28+IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTAgYnVpbHRpbi9uYW1lLXJldi5jOjMyMAogbXNnaWQgInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIKIG1zZ3N0ciAibW9zdHJhciBvYmpldG9zIGRlIGNvbW1pdCBhYnJldmlhZG9zIGVtIHJlY3Vyc28iCiAKQEAgLTYyMzYsMjEgKzcyMTksMjEgQEAKIG1zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCiBtc2dzdHIgIm9ww6fDo28gaW52w6FsaWRhOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzYwCisjOiBidWlsdGluL2RpZmYuYzozNjEKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiTsOjbyDDqSB1bSByZXBvc2l0w7NyaW8gZ2l0IgogCi0jOiBidWlsdGluL2RpZmYuYzo0MDMKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAib2JqZXRvIGludsOhbGlkbyAnJXMnIGZvcm5lY2lkby4iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxMgorIzogYnVpbHRpbi9kaWZmLmM6NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiB0d28gYmxvYnMgZ2l2ZW46ICclcyciCiBtc2dzdHIgIm1haXMgZG8gcXVlIGRvaXMgYmxvYnMgZm9ybmVjaWRvczogJyVzJyIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDE5CisjOiBidWlsdGluL2RpZmYuYzo0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5oYW5kbGVkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAib2JqZXRvIHNlbSB0cmF0YW1lbnRvICclcycgZm9ybmVjaWRvLiIKQEAgLTYzMDcsMTc2ICs3MjkwLDE4MyBAQAogbXNnaWQgImFub255bWl6ZSBvdXRwdXQiCiBtc2dzdHIgImFub25pbWl6YXIgc2HDrWRhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjAKLW1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCi1tc2dzdHIgImdpdCBmZXRjaCBbPG9ww6fDtWVzPl0gWzxyZXBvc2l0w7NyaW8+IFs8ZXNwZWNpZmljYWRvci1kZS1yZWZlcsOqbmNpYT4uLi5dXSIKLQogIzogYnVpbHRpbi9mZXRjaC5jOjIxCittc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgorbXNnc3RyICIiCisiZ2l0IGZldGNoIFs8b3DDp8O1ZXM+XSBbPHJlcG9zaXTDs3Jpbz4gWzxlc3BlY2lmaWNhZG9yLWRlLXJlZmVyw6puY2lhPi4uLl1dIgorCisjOiBidWlsdGluL2ZldGNoLmM6MjIKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwPiIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs8b3DDp8O1ZXM+XSA8Z3J1cG8+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMwogbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9ww6fDtWVzPl0gWyg8cmVwb3NpdMOzcmlvPiB8IDxncnVwbz4pLi4uXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIzCisjOiBidWlsdGluL2ZldGNoLmM6MjQKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPG9ww6fDtWVzPl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MiBidWlsdGluL3B1bGwuYzoxNzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NSBidWlsdGluL3B1bGwuYzoxNzUKIG1zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgogbXNnc3RyICJvYnRlciBkZSB0b2RvcyBvcyByZW1vdG9zIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTQgYnVpbHRpbi9wdWxsLmM6MTc3CisjOiBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9wdWxsLmM6MTc4CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICJhY3Jlc2NlbnRhciBhIC5naXQvRkVUQ0hfSEVBRCBlbSB2ZXogZGUgc3Vic3RpdHVpciIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk2IGJ1aWx0aW4vcHVsbC5jOjE4MAorIzogYnVpbHRpbi9mZXRjaC5jOjk5IGJ1aWx0aW4vcHVsbC5jOjE4MQogbXNnaWQgInBhdGggdG8gdXBsb2FkIHBhY2sgb24gcmVtb3RlIGVuZCIKIG1zZ3N0ciAiY2FtaW5obyBwYXJhIG8gY29tYW5kbyB1cGxvYWQgcGFjayBubyByZW1vdG8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NyBidWlsdGluL3B1bGwuYzoxODIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAgYnVpbHRpbi9wdWxsLmM6MTgzCiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIKIG1zZ3N0ciAiZm9yw6dhciBhIHN1YnN0aXR1acOnw6NvIGRvIHJhbW8gbG9jYWwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMgogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAib2J0ZXIgZGUgbcO6bHRpcGxvcyByZW1vdG9zIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAxIGJ1aWx0aW4vcHVsbC5jOjE4NAorIzogYnVpbHRpbi9mZXRjaC5jOjEwNCBidWlsdGluL3B1bGwuYzoxODUKIG1zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICJvYnRlciB0b2RhcyBhcyB0YWdzIGUgb2JqZXRvcyBhc3NvY2lhZG9zIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAzCisjOiBidWlsdGluL2ZldGNoLmM6MTA2CiBtc2dpZCAiZG8gbm90IGZldGNoIGFsbCB0YWdzICgtLW5vLXRhZ3MpIgogbXNnc3RyICJuw6NvIG9idGVyIHRvZGFzIGFzIHRhZ3MgKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDgKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBmZXRjaGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJuw7ptZXJvIGRlIHN1Ym3Ds2R1bG9zIG9idGlkb3MgZW0gcGFyYWxlbG8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDcgYnVpbHRpbi9wdWxsLmM6MTg3CisjOiBidWlsdGluL2ZldGNoLmM6MTEwIGJ1aWx0aW4vcHVsbC5jOjE4OAogbXNnaWQgInBydW5lIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBubyBsb25nZXIgb24gcmVtb3RlIgotbXNnc3RyICJlbGltaW5hciBvcyByYW1vcyBkZSBtb25pdG9yaXphw6fDo28gcmVtb3RvcyBxdWUgasOhIG7Do28gZXhpc3RlbSBubyByZW1vdG8iCittc2dzdHIgIiIKKyJlbGltaW5hciBvcyByYW1vcyBkZSBtb25pdG9yaXphw6fDo28gcmVtb3RvcyBxdWUgasOhIG7Do28gZXhpc3RlbSBubyByZW1vdG8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDggYnVpbHRpbi9wdWxsLmM6MTkwCisjOiBidWlsdGluL2ZldGNoLmM6MTExIGJ1aWx0aW4vcHVsbC5jOjE5MQogbXNnaWQgIm9uLWRlbWFuZCIKIG1zZ3N0ciAib24tZGVtYW5kIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA5IGJ1aWx0aW4vcHVsbC5jOjE5MQorIzogYnVpbHRpbi9mZXRjaC5jOjExMiBidWlsdGluL3B1bGwuYzoxOTIKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICJjb250cm9sYXIgYSBvYnRlbsOnw6NvIHJlY3Vyc2l2YSBkZSBzdWJtw7NkdWxvcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMyBidWlsdGluL3B1bGwuYzoxOTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9wdWxsLmM6MjAwCiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgIm1hbnRlciBvIHBhY290ZSB0cmFuc2ZlcmlkbyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNQorIzogYnVpbHRpbi9mZXRjaC5jOjExOAogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICJwZXJtaXRpciBhIGF0dWFsaXphw6fDo28gZGEgcmVmZXLDqm5jaWEgSEVBRCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExOCBidWlsdGluL3B1bGwuYzoyMDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjEyNyBidWlsdGluL3B1bGwuYzoyMDMKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICJhcHJvZnVuZGFyIG8gaGlzdMOzcmljbyBkZSB1bSBjbG9uZSByYXNvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIwIGJ1aWx0aW4vcHVsbC5jOjIwNQorIzogYnVpbHRpbi9mZXRjaC5jOjEyMworbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgcmVwb3NpdG9yeSBiYXNlZCBvbiB0aW1lIgorbXNnc3RyICJhcHJvZnVuZGFyIG8gaGlzdMOzcmljbyBkZSByZXBvc2l0w7NyaW8gcmFzbyBjb20gYmFzZSBuYSBkYXRhIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjIwNgogbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgogbXNnc3RyICJjb252ZXJ0ZXIgbnVtIHJlcG9zaXTDs3JpbyBjb21wbGV0byIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL2xvZy5jOjEzOTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzEgYnVpbHRpbi9sb2cuYzoxNDMzCiBtc2dpZCAiZGlyIgogbXNnc3RyICJkaXIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgogbXNnc3RyICJwcmVjZWRlciBpc3RvIGFvIGNhbWluaG8gZG8gc3VibcOzZHVsbyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNgorIzogYnVpbHRpbi9mZXRjaC5jOjEzNQogbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgogbXNnc3RyICJtb2RvIHJlY3Vyc2l2byBwb3Igb21pc3PDo28iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjggYnVpbHRpbi9wdWxsLmM6MjA4CisjOiBidWlsdGluL2ZldGNoLmM6MTM3IGJ1aWx0aW4vcHVsbC5jOjIwOQogbXNnaWQgImFjY2VwdCByZWZzIHRoYXQgdXBkYXRlIC5naXQvc2hhbGxvdyIKIG1zZ3N0ciAiYWNlaXRhciByZWZlcsOqbmNpYSBxdWUgYXR1YWxpemVtIC5naXQvc2hhbGxvdyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyOSBidWlsdGluL3B1bGwuYzoyMTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzggYnVpbHRpbi9wdWxsLmM6MjExCiBtc2dpZCAicmVmbWFwIgogbXNnc3RyICJtYXBhIGRlIHJlZmVyw6puY2lhcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMCBidWlsdGluL3B1bGwuYzoyMTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdWxsLmM6MjEyCiBtc2dpZCAic3BlY2lmeSBmZXRjaCByZWZtYXAiCiBtc2dzdHIgImVzcGVjaWZpY2FyIG1hcGEgZGUgcmVmZXLDqm5jaWFzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzg2CisjOiBidWlsdGluL2ZldGNoLmM6Mzk4CiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCiBtc2dzdHIgIlJlZmVyw6puY2lhIHJlbW90YSBIRUFEIG7Do28gZW5jb250cmFkYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ2NgorIzogYnVpbHRpbi9mZXRjaC5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250YWlucyBpbnZhbGlkIHZhbHVlICVzIgorbXNnc3RyICJhIGNvbmZpZ3VyYcOnw6NvIGZldGNoLm91cHV0IGNvbnTDqW0gbyB2YWxvciBpbnbDoWxpZG8gJXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAib2JqZXRvICVzIG7Do28gZW5jb250cmFkbyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ3MQorIzogYnVpbHRpbi9mZXRjaC5jOjYxMQogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW2F0dWFsaXphZG9dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDg1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiEgJS0qcyAlLSpzIC0+ICVzICAoY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2gpIgotbXNnc3RyICIhICUtKnMgJS0qcyAtPiAlcyAgKG7Do28gw6kgcG9zc8OtdmVsIG9idGVyIG5vIHJhbW8gYXR1YWwpIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NDg2IGJ1aWx0aW4vZmV0Y2guYzo1NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjQgYnVpbHRpbi9mZXRjaC5jOjcwNAogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIltyZWplaXRhZG9dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDk3CisjOiBidWlsdGluL2ZldGNoLmM6NjI1Cittc2dpZCAiY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2giCittc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIG9idGVyIG5vIHJhbW8gYXR1YWwiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzQKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIlt0YWcgYXR1YWxpemFkYV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0OTkgYnVpbHRpbi9mZXRjaC5jOjUzNCBidWlsdGluL2ZldGNoLmM6NTUyCi1tc2dpZCAiICAodW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYpIgotbXNnc3RyICIgIChuw6NvIMOpIHBvc3PDrXZlbCBhdHVhbGl6YXIgYSByZWZlcsOqbmNpYSBsb2NhbCkiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MTcKLW1zZ2lkICJbbmV3IHRhZ10iCi1tc2dzdHIgIltub3ZhIHRhZ10iCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MjAKLW1zZ2lkICJbbmV3IGJyYW5jaF0iCi1tc2dzdHIgIltub3ZvIHJhbW9dIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTIzCi1tc2dpZCAiW25ldyByZWZdIgotbXNnc3RyICJbbm92YSByZWZlcsOqbmNpYV0iCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1NjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzUgYnVpbHRpbi9mZXRjaC5jOjY2OCBidWlsdGluL2ZldGNoLmM6Njg0CisjOiBidWlsdGluL2ZldGNoLmM6Njk5CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGF0dWFsaXphciBhIHJlZmVyw6puY2lhIGxvY2FsIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTY5CisjOiBidWlsdGluL2ZldGNoLmM6NjU0Cittc2dpZCAiW25ldyB0YWddIgorbXNnc3RyICJbbm92YSB0YWddIgorCisjOiBidWlsdGluL2ZldGNoLmM6NjU3Cittc2dpZCAiW25ldyBicmFuY2hdIgorbXNnc3RyICJbbm92byByYW1vXSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjY2MAorbXNnaWQgIltuZXcgcmVmXSIKK21zZ3N0ciAiW25vdmEgcmVmZXLDqm5jaWFdIgorCisjOiBidWlsdGluL2ZldGNoLmM6Njk5CiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAiYXR1YWxpemHDp8OjbyBmb3LDp2FkYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU3NgotbXNnaWQgIihub24tZmFzdC1mb3J3YXJkKSIKLW1zZ3N0ciAiKHNlbSBhdmFuw6dvIHLDoXBpZG8pIgorIzogYnVpbHRpbi9mZXRjaC5jOjcwNAorbXNnaWQgIm5vbi1mYXN0LWZvcndhcmQiCittc2dzdHIgInNlbSBhdmFuw6dvLXLDoXBpZG8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIlcyBuw6NvIGVudmlvdSB0b2RvcyBvcyBvYmpldG9zIG5lY2Vzc8Ohcmlvc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjM3CisjOiBidWlsdGluL2ZldGNoLmM6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlamVjdCAlcyBiZWNhdXNlIHNoYWxsb3cgcm9vdHMgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQiCiBtc2dzdHIgIiVzIHJlamVpdGFkbywgcG9ycXVlIGFzIHJhw616ZXMgcmFzYXMgbsOjbyBwb2RlbSBzZXIgYXR1YWxpemFkYXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MjQgYnVpbHRpbi9mZXRjaC5jOjgxNgorIzogYnVpbHRpbi9mZXRjaC5jOjg1NiBidWlsdGluL2ZldGNoLmM6OTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICJEZSAlLipzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKQEAgLTY0ODUsNTUgKzc0NzUsNTUgQEAKICJhbGd1bWFzIHJlZmVyw6puY2lhcyBsb2NhaXMgbsOjbyBwdWRlcmFtIHNlciBhdHVhbGl6YWRhczsgdGVudGUgZXhlY3V0YXJcbiIKICIgJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIHBhcmEgcmVtb3ZlciBhbGd1bSByYW1vIGFudGlnbyBlbSBjb25mbGl0byIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc4NworIzogYnVpbHRpbi9mZXRjaC5jOjkyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMgZmljYXLDoSBzdXNwZW5zbykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3ODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMgZmljb3Ugc3VzcGVuc28pIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODIwCisjOiBidWlsdGluL2ZldGNoLmM6OTU1CiBtc2dpZCAiW2RlbGV0ZWRdIgogbXNnc3RyICJbZWxpbWluYWRvXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgyMSBidWlsdGluL3JlbW90ZS5jOjEwMjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NTYgYnVpbHRpbi9yZW1vdGUuYzoxMDIwCiBtc2dpZCAiKG5vbmUpIgogbXNnc3RyICIobmVuaHVtKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg0MQorIzogYnVpbHRpbi9mZXRjaC5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIk9idGVuw6fDo28gZGUgb2JqZXRvcyBubyByYW1vIGF0dWFsICVzIGRlIHVtIHJlcG9zaXTDs3JpbyBuw6NvIG51IHJlY3VzYWRhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODYwCisjOiBidWlsdGluL2ZldGNoLmM6OTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgdmFsdWUgXCIlc1wiIGlzIG5vdCB2YWxpZCBmb3IgJXMiCiBtc2dzdHIgIk8gdmFsb3IgXCIlMiRzXCIgZGEgb3DDp8OjbyBcIiUxJHNcIiBuw6NvIMOpIHbDoWxpZG8gZW0gJTMkcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg2MworIzogYnVpbHRpbi9mZXRjaC5jOjEwMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICJPcMOnw6NvIFwiJXNcIiBpZ25vcmFkYSBlbSAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIwCisjOiBidWlsdGluL2ZldGNoLmM6MTA3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgogbXNnc3RyICJOw6NvIHNlaSBjb21vIG9idGVyIGRlICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4MAorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKIG1zZ3N0ciAiQSBvYnRlciBkZSAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4MiBidWlsdGluL3JlbW90ZS5jOjk2CisjOiBidWlsdGluL2ZldGNoLmM6MTIzOSBidWlsdGluL3JlbW90ZS5jOjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIGRlICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEwMAorIzogYnVpbHRpbi9mZXRjaC5jOjEyNTcKIG1zZ2lkICIiCiAiTm8gcmVtb3RlIHJlcG9zaXRvcnkgc3BlY2lmaWVkLiAgUGxlYXNlLCBzcGVjaWZ5IGVpdGhlciBhIFVSTCBvciBhXG4iCiAicmVtb3RlIG5hbWUgZnJvbSB3aGljaCBuZXcgcmV2aXNpb25zIHNob3VsZCBiZSBmZXRjaGVkLiIKQEAgLTY1NDEsMzIgKzc1MzEsNDAgQEAKICJOZW5odW0gcmVwb3NpdMOzcmlvIHJlbW90byBlc3BlY2lmaWNhZG8uIEVzcGVjaWZpcXVlIHVtIFVSTCBvdVxuIgogIm8gbm9tZSByZW1vdG8gYSBwYXJ0aXIgZG8gcXVhbCBhcyBub3ZhcyByZXZpc8O1ZXMgZGV2ZW0gc2VyIG9idGlkYXMuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEyMworIzogYnVpbHRpbi9mZXRjaC5jOjEyODAKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICJEZXZlIGVzcGVjaWZpY2FyIHVtIG5vbWUgcGFyYSBhIHRhZy4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTY1CisjOiBidWlsdGluL2ZldGNoLmM6MTMyMgorbXNnaWQgIk5lZ2F0aXZlIGRlcHRoIGluIC0tZGVlcGVuIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIk7Do28gw6kgc3Vwb3J0YWRhIHByb2Z1bmRpZGFkZSBuZWdhdGl2YSBlbSAtLWRlZXBlbiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEzMjQKK21zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLWRlZXBlbiBlIC0tZGVwdGggc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2b3MiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI5CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi0tZGVwdGggZSAtLXVuc2hhbGxvdyBuw6NvIHBvZGVtIHNlciB1c2Fkb3MganVudG9zIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE2NworIzogYnVpbHRpbi9mZXRjaC5jOjEzMzEKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAidXNhciAtLXVuc2hhbGxvdyBudW0gcmVwb3NpdMOzcmlvIGNvbXBsZXRvIG7Do28gZmF6IHNlbnRpZG8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTg3CisjOiBidWlsdGluL2ZldGNoLmM6MTM1MwogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICJmZXRjaCAtLWFsbCBuw6NvIGxldmEgdW0gcmVwb3NpdMOzcmlvIGNvbW8gYXJndW1lbnRvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4OQorIzogYnVpbHRpbi9mZXRjaC5jOjEzNTUKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgImZldGNoIC0tYWxsIG7Do28gZmF6IHNlbnRpZG8gY29tIGVzcGVjaWZpY2Fkb3JlcyBkZSByZWZlcsOqbmNpYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlIG9yIHJlbW90ZSBncm91cDogJXMiCiBtc2dzdHIgIk8gcmVtb3RvIG91IGdydXBvIHJlbW90byBuw6NvIGV4aXN0ZTogJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjA4CisjOiBidWlsdGluL2ZldGNoLmM6MTM3NAogbXNnaWQgIkZldGNoaW5nIGEgZ3JvdXAgYW5kIHNwZWNpZnlpbmcgcmVmc3BlY3MgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiTsOjbyBmYXogc2VudGlkbyBvYnRlciB1bSBncnVwbyBlIGVzcGVjaWZpY2FyIHVtYSByZWZlcsOqbmNpYSIKIApAQCAtNjU3NywyMyArNzU3NSwyMyBAQAogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVuc2FnZW0+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSAiCiAiPGZpY2hlaXJvPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzCiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICJwb3ZvYXIgbyByZWdpc3RvIGNvbSwgbm8gbcOheGltbywgPG4+IGVudHJhZGFzIGRvIHNob3J0bG9nIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NgogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgImFsaWFzIGRlIC0tbG9nIChvYnNvbGV0bykiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5CiBtc2dpZCAidGV4dCIKIG1zZ3N0ciAidGV4dG8iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcwCiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgogbXNnc3RyICJ1c2FyIDx0ZXh0bz4gbm8gaW7DrWNpbyBkYSBtZW5zYWdlbSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc1CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzEKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAiZmljaGVpcm8gYSBsZXIiCiAKQEAgLTY2NTYsNjMgKzc2NTQsNjMgQEAKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJpbXByaW1pciBhcGVuYXMgcmVmZXLDqm5jaWFzIHF1ZSBjb250ZW5oYW0gbyBjb21taXQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjE1NiBidWlsdGluL3BydW5lLmM6MTQwCi1tc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgotbXNnc3RyICJBIHZlcmlmaWNhciBjb25lY3RpdmlkYWRlIgotCi0jOiBidWlsdGluL2ZzY2suYzo0ODYKKyM6IGJ1aWx0aW4vZnNjay5jOjUxOQogbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiQSB2ZXJpZmljYXIgZGlyZXTDs3Jpb3MgZGUgb2JqZXRvcyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTUyCisjOiBidWlsdGluL2ZzY2suYzo1ODgKIG1zZ2lkICJnaXQgZnNjayBbPG9wdGlvbnM+XSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICJnaXQgZnNjayBbPG9ww6fDtWVzPl0gWzxvYmpldG8+Li4uXSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTU4CisjOiBidWlsdGluL2ZzY2suYzo1OTQKIG1zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIm1vc3RyYXIgb2JqZXRvcyBpbmFsY2Fuw6fDoXZlaXMiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU1OQorIzogYnVpbHRpbi9mc2NrLmM6NTk1CiBtc2dpZCAic2hvdyBkYW5nbGluZyBvYmplY3RzIgogbXNnc3RyICJtb3N0cmFyIG9iamV0b3Mgc3VzcGVuc29zIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjAKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NgogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICJtb3N0cmFyIHRhZ3MiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MQorIzogYnVpbHRpbi9mc2NrLmM6NTk3CiBtc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCiBtc2dzdHIgIm1vc3RyYXIgbsOzcyByYWl6IgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjIKKyM6IGJ1aWx0aW4vZnNjay5jOjU5OAogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgogbXNnc3RyICJjb25zaWRlcmFyIG9iamV0b3MgZG8gw61uZGljZSBjb21vIG7Ds3MgY2FiZcOnYSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTYzCisjOiBidWlsdGluL2ZzY2suYzo1OTkKIG1zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCiBtc2dzdHIgImNvbnNpZGVyYXIgb3MgcmVmbG9ncyBjb21vIG7Ds3MgY2FiZcOnYSAocHJlZGVmaW5pw6fDo28pIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjQKKyM6IGJ1aWx0aW4vZnNjay5jOjYwMAogbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgogbXNnc3RyICJjb25zaWRlcmFyIHRhbWLDqW0gcGFjb3RlcyBlIG9iamV0b3Mgc29icmVzc2FsZW50ZSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY1CisjOiBidWlsdGluL2ZzY2suYzo2MDEKIG1zZ2lkICJjaGVjayBvbmx5IGNvbm5lY3Rpdml0eSIKIG1zZ3N0ciAidmVyaWZpY2FyIHPDsyBhIGNvbmV0aXZpZGFkZSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY2CisjOiBidWlsdGluL2ZzY2suYzo2MDIKIG1zZ2lkICJlbmFibGUgbW9yZSBzdHJpY3QgY2hlY2tpbmciCiBtc2dzdHIgImF0aXZhciB2ZXJpZmljYcOnw6NvIG1haXMgcmlnb3Jvc2EiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2OAorIzogYnVpbHRpbi9mc2NrLmM6NjA0CiBtc2dpZCAid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiCiBtc2dzdHIgImVzY3JldmVyIG9iamV0b3Mgc3VzcGVuc29zIGVtIC5naXQvbG9zdC1mb3VuZCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY5IGJ1aWx0aW4vcHJ1bmUuYzoxMDcKKyM6IGJ1aWx0aW4vZnNjay5jOjYwNSBidWlsdGluL3BydW5lLmM6MTA3CiBtc2dpZCAic2hvdyBwcm9ncmVzcyIKIG1zZ3N0ciAibW9zdHJhciBwcm9ncmVzc28iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYzMAorIzogYnVpbHRpbi9mc2NrLmM6NjA2Cittc2dpZCAic2hvdyB2ZXJib3NlIG5hbWVzIGZvciByZWFjaGFibGUgb2JqZWN0cyIKK21zZ3N0ciAibW9zdHJhciBub21lcyB2ZXJib3NvcyBkZSBvYmpldG9zIGluYWxjYW7Dp8OhdmVpcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NjY1CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiQSB2ZXJpZmljYXIgb2JqZXRvcyIKIApAQCAtNjgwNywyMjkgKzc4MDUsMjI0IEBACiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSBmb3IgJXMiCiBtc2dzdHIgIm8gbsO6bWVybyBkZSB0aHJlYWRzIGVzcGVjaWZpY2FkbyBlbSAlMiRzIMOpIGludsOhbGlkbyAoJTEkZCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ1MiBidWlsdGluL2dyZXAuYzo0ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ1MyBidWlsdGluL2dyZXAuYzo0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIGEgw6Fydm9yZSAoJXMpIgogCi0jOiBidWlsdGluL2dyZXAuYzo1MDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjUwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ3JlcCBmcm9tIG9iamVjdCBvZiB0eXBlICVzIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZWZldHVhciBncmVwIGRlIG9iamV0b3MgZG8gdGlwbyAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTYwCisjOiBidWlsdGluL2dyZXAuYzo1NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAiYSBvcMOnw6NvICclYycgZXNwZXJhIHVtIHZhbG9yIG51bcOpcmljbyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTc3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuICclcyciCi1tc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFicmlyICclcyciCi0KLSM6IGJ1aWx0aW4vZ3JlcC5jOjY0NgorIzogYnVpbHRpbi9ncmVwLmM6NjQ3CiBtc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAicHJvY3VyYXIgbm8gw61uZGljZSBlbSB2ZXogZGUgcHJvY3VyYXIgbmEgw6Fydm9yZSBkZSB0cmFiYWxobyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjQ4CisjOiBidWlsdGluL2dyZXAuYzo2NDkKIG1zZ2lkICJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIKIG1zZ3N0ciAicHJvY3VyYXIgZW0gY29udGXDumRvcyBuw6NvIGdlcmlkb3MgcGVsbyBnaXQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1MAorIzogYnVpbHRpbi9ncmVwLmM6NjUxCiBtc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJwcm9jdXJhciBlbSBmaWNoZWlyb3MgY29udHJvbGFkb3MgZSBuw6NvIGNvbnRyb2xhZG9zIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1MwogbXNnaWQgImlnbm9yZSBmaWxlcyBzcGVjaWZpZWQgdmlhICcuZ2l0aWdub3JlJyIKIG1zZ3N0ciAiaWdub3JhciBmaWNoZWlyb3MgZXNwZWNpZmljYWRvcyB2aWEgJy5naXRpZ25vcmUnIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1NgogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJtb3N0cmFyIGxpbmhhcyBuw6NvIGNvcnJlc3BvbmRpZGFzIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1OAogbXNnaWQgImNhc2UgaW5zZW5zaXRpdmUgbWF0Y2hpbmciCiBtc2dzdHIgIm7Do28gZGlmZXJlbmNpYXIgbWFpw7pzY3VsYXMgZGUgbWluw7pzY3VsYXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1OQorIzogYnVpbHRpbi9ncmVwLmM6NjYwCiBtc2dpZCAibWF0Y2ggcGF0dGVybnMgb25seSBhdCB3b3JkIGJvdW5kYXJpZXMiCiBtc2dzdHIgImNvcnJlc3BvbmRlciBwYWRyw7VlcyBhcGVuYXMgYSBwYWxhdnJhcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjYxCisjOiBidWlsdGluL2dyZXAuYzo2NjIKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgogbXNnc3RyICJwcm9jZXNzYXIgZmljaGVpcm9zIGJpbsOhcmlvcyBjb21vIHRleHRvIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NAogbXNnaWQgImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIKIG1zZ3N0ciAiaWdub3JhciBmaWNoZWlyb3MgYmluw6FyaW9zIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NwogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKIG1zZ3N0ciAicHJvY2Vzc2FyIGZpY2hlaXJvcyBiaW7DoXJpb3MgY29tIGZpbHRyb3MgdGV4dGNvbnYiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2OAorIzogYnVpbHRpbi9ncmVwLmM6NjY5CiBtc2dpZCAiZGVzY2VuZCBhdCBtb3N0IDxkZXB0aD4gbGV2ZWxzIgogbXNnc3RyICJkZXNjZXIgbm8gbcOheGltbyBhdMOpIDxwcm9mdW5kaWRhZGU+IgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3MwogbXNnaWQgInVzZSBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJ1c2FyIGV4cHJlc3PDtWVzIHJlZ3VsYXJlcyBlc3RlbmRpZGFzIGRvIFBPU0lYIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NgogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAidXNhciBleHByZXNzw7VlcyByZWd1bGFyZXMgYsOhc2ljYXMgZG8gUE9TSVggKHByZWRlZmluacOnw6NvKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc4CisjOiBidWlsdGluL2dyZXAuYzo2NzkKIG1zZ2lkICJpbnRlcnByZXQgcGF0dGVybnMgYXMgZml4ZWQgc3RyaW5ncyIKIG1zZ3N0ciAiaW50ZXJwcmV0YXIgcGFkcsO1ZXMgY29tbyBjYWRlaWFzIGRlIGNhcmFjdGVyZXMgZml4YXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4MQorIzogYnVpbHRpbi9ncmVwLmM6NjgyCiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJ1c2FyIGV4cHJlc3PDtWVzIHJlZ3VsYXJlcyBjb21wYXTDrXZlaXMgY29tIFBlcmwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NAorIzogYnVpbHRpbi9ncmVwLmM6Njg1CiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgIm1vc3RyYXIgbsO6bWVyb3MgZGUgbGluaGEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NQorIzogYnVpbHRpbi9ncmVwLmM6Njg2CiBtc2dpZCAiZG9uJ3Qgc2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgIm7Do28gbW9zdHJhciBub21lcyBkZSBmaWNoZWlybyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg2CisjOiBidWlsdGluL2dyZXAuYzo2ODcKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAibW9zdHJhciBub21lcyBkZSBmaWNoZWlybyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg4CisjOiBidWlsdGluL2dyZXAuYzo2ODkKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJtb3N0cmFyIG5vbWVzIGRlIGZpY2hlaXJvIHJlbGF0aXZhbWVudGUgYW8gZGlyZXTDs3JpbyBzdXBlcmlvciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkwCisjOiBidWlsdGluL2dyZXAuYzo2OTEKIG1zZ2lkICJzaG93IG9ubHkgZmlsZW5hbWVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIm1vc3RyYXIgYXBlbmFzIG5vbWVzIGRlIGZpY2hlaXJvIGVtIHZleiBkZSBsaW5oYXMgY29ycmVzcG9uZGlkYXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5MgorIzogYnVpbHRpbi9ncmVwLmM6NjkzCiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgInNpbsOzbmltbyBkZSAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk1CisjOiBidWlsdGluL2dyZXAuYzo2OTYKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgIm1vc3RyYXIgYXBlbmFzIG5vbWVzIGRlIGZpY2hlaXJvIHNlbSBjb3JyZXNwb25kw6puY2lhIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCiBtc2dzdHIgImltcHJpbWlyIE5VTCBkZXBvaXMgZG9zIG5vbWVzIGRlIGZpY2hlaXJvIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMAogbXNnaWQgInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIm1vc3RyYXIgbyBuw7ptZXJvIGRlIGNvcnJlc3BvbmTDqm5jaWFzIGVtIHZleiBkYXMgbGluaGEgY29ycmVzcG9uZGlkYXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwMAorIzogYnVpbHRpbi9ncmVwLmM6NzAxCiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgInJlYWzDp2FyIGNvcnJlc3BvbmTDqm5jaWFzIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMwogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICIiCiAiaW1wcmltaXIgdW1hIGxpbmhhIGVtIGJyYW5jbyBlbnRyZSBjb3JyZXNwb25kw6puY2lhcyBkZSBkaWZlcmVudGVzIGZpY2hlaXJvcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA0CisjOiBidWlsdGluL2dyZXAuYzo3MDUKIG1zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgogbXNnc3RyICIiCiAibW9zdHJhciBzw7MgdW1hIHZleiBvIG5vbWUgZG8gZmljaGVpcm8gYWNpbWEgZGFzIGNvcnJlc3BvbmTDqm5jaWFzIGRlbnRybyBkbyAiCiAibWVzbW8gZmljaGVpcm8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNworIzogYnVpbHRpbi9ncmVwLmM6NzA4CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIm1vc3RyYXIgPG4+IGxpbmhhcyBkZSBjb250ZXh0byBhbnRlcyBlIGRlcG9pcyBkYXMgY29ycmVzcG9uZMOqbmNpYXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMAorIzogYnVpbHRpbi9ncmVwLmM6NzExCiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAibW9zdHJhciA8bj4gbGluaGFzIGRlIGNvbnRleHRvIGFudGVzIGRhcyBjb3JyZXNwb25kw6puY2lhcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEyCisjOiBidWlsdGluL2dyZXAuYzo3MTMKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIm1vc3RyYXIgPG4+IGxpbmhhcyBkZSBjb250ZXh0byBkZXBvaXMgZGFzIGNvcnJlc3BvbmTDqm5jaWFzIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNQogbXNnaWQgInVzZSA8bj4gd29ya2VyIHRocmVhZHMiCiBtc2dzdHIgInVzYXIgPG4+IHRocmVhZHMgZGUgdHJhYmFsaG8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxNQorIzogYnVpbHRpbi9ncmVwLmM6NzE2CiBtc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKIG1zZ3N0ciAiYXRhbGhvIHBhcmEgLUMgTlVNIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxOQogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgIm1vc3RyYXIgdW1hIGxpbmhhIGNvbSBvIG5vbWUgZGEgZnVuw6fDo28gYW50ZXMgZGFzIGNvcnJlc3BvbmTDqm5jaWFzIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcyMQogbXNnaWQgInNob3cgdGhlIHN1cnJvdW5kaW5nIGZ1bmN0aW9uIgogbXNnc3RyICJtb3N0cmFyIGEgZnVuw6fDo28gY2lyY3VuZGFudGUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyMworIzogYnVpbHRpbi9ncmVwLmM6NzI0CiBtc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCiBtc2dzdHIgImxlciBwYWRyw7VlcyBkbyBmaWNoZWlybyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2dyZXAuYzo3MjYKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgInByb2N1cmFyIDxwYWRyw6NvPiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI3CisjOiBidWlsdGluL2dyZXAuYzo3MjgKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICJjb21iaW5hciBwYWRyw7VlcyBlc3BlY2lmaWNhZG9zIGNvbSAtZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzM5CisjOiBidWlsdGluL2dyZXAuYzo3NDAKIG1zZ2lkICJpbmRpY2F0ZSBoaXQgd2l0aCBleGl0IHN0YXR1cyB3aXRob3V0IG91dHB1dCIKIG1zZ3N0ciAiaW5kaWNhciBwYWRyw6NvIGVuY29udHJhZG8gbm8gdmFsb3IgZGUgc2HDrWRhLCBtYXMgbsOjbyBpbXByaW1pciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQxCisjOiBidWlsdGluL2dyZXAuYzo3NDIKIG1zZ2lkICJzaG93IG9ubHkgbWF0Y2hlcyBmcm9tIGZpbGVzIHRoYXQgbWF0Y2ggYWxsIHBhdHRlcm5zIgogbXNnc3RyICIiCiAibW9zdHJhciBhcGVuYXMgY29ycmVzcG9uZMOqbmNpYXMgZGUgZmljaGVpcm8gcXVlIHRlbmhhbSB0b2RvcyBvcyBwYWRyw7VlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQzCisjOiBidWlsdGluL2dyZXAuYzo3NDQKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAibW9zdHJhciDDoXJ2b3JlIGRlIGFuYWxpc2UgZGEgZXhwcmVzc8O1ZXMgZ3JlcCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQ3CisjOiBidWlsdGluL2dyZXAuYzo3NDgKIG1zZ2lkICJwYWdlciIKIG1zZ3N0ciAicGFnaW5hZG9yIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0OAogbXNnaWQgInNob3cgbWF0Y2hpbmcgZmlsZXMgaW4gdGhlIHBhZ2VyIgogbXNnc3RyICJtb3N0cmFyIGZpY2hlaXJvcyBjb20gY29ycmVzcG9uZMOqbmNpYXMgbm8gcGFnaW5hZG9yIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc1MQogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAicGVybWl0aXIgaW52b2NhciBncmVwKDEpIChpZ25vcmFkbyBuZXN0YSBjb21waWxhw6fDo28pIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxNAogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4uIgogbXNnc3RyICJuZW5odW0gcGFkcsOjbyBmb3JuZWNpZG8uIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NworIzogYnVpbHRpbi9ncmVwLmM6ODQ2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAibsO6bWVybyBkZSB0aHJlYWRzIGVzcGVjaWZpY2FkbyBpbnbDoWxpZG8gKCVkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc1CisjOiBidWlsdGluL2dyZXAuYzo4NzYKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBzw7MgZnVuY2lvbmEgbmEgw6Fydm9yZSBkZSB0cmFiYWxobyIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTAxCisjOiBidWlsdGluL2dyZXAuYzo5MDIKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXguIgogbXNnc3RyICItLWNhY2hlZCBvdSAtLXVudHJhY2tlZCBuw6NvIHBvZGVtIHNlciB1c2Fkb3MgY29tIC0tbm8taW5kZXguIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwNwogbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKIG1zZ3N0ciAiLS1uby1pbmRleCBvdSAtLXVudHJhY2tlZCBuw6NvIHBvZGVtIHNlciB1c2Fkb3MgZW0gcmV2aXPDtWVzLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA5CisjOiBidWlsdGluL2dyZXAuYzo5MTAKIG1zZ2lkICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBjYW5ub3QgYmUgdXNlZCBmb3IgdHJhY2tlZCBjb250ZW50cy4iCiBtc2dzdHIgIiIKICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBuw6NvIHBvZGVtIHNlciB1c2Fkb3MgZW0gY29udGXDumRvcyBuw6NvIGNvbnRyb2xhZG9zLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTE3CisjOiBidWlsdGluL2dyZXAuYzo5MTgKIG1zZ2lkICJib3RoIC0tY2FjaGVkIGFuZCB0cmVlcyBhcmUgZ2l2ZW4uIgogbXNnc3RyICItLWNhY2hlZCBlIMOhcnZvcmVzIGZvcmFtIGZvcm5lY2lkb3Mgc2ltdWx0YW5lYW1lbnRlLiIKIApAQCAtNzAzOCw5MiArODAzMSw5NiBAQAogImdpdCBoYXNoLW9iamVjdCBbLXQgPHR5cGU+XSBbLXddIFstLXBhdGg9PGZpbGU+IHwgLS1uby1maWx0ZXJzXSBbLS1zdGRpbl0gIgogIlstLV0gPGZpbGU+Li4uIgogbXNnc3RyICIiCi0iZ2l0IGhhc2gtb2JqZWN0IFstdCA8dGlwbz5dIFstd10gWy0tcGF0aD08ZmljaGVpcm8+IHwgLS1uby1maWx0ZXJzXSBbLS1zdGRpbl0iCi0iIFstLV0gPGZpY2hlaXJvPi4uLiIKKyJnaXQgaGFzaC1vYmplY3QgWy10IDx0aXBvPl0gWy13XSBbLS1wYXRoPTxmaWNoZWlybz4gfCAtLW5vLWZpbHRlcnNdIFstLSIKKyJzdGRpbl0gWy0tXSA8ZmljaGVpcm8+Li4uIgogCiAjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODIKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjkzCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTQKIG1zZ2lkICJ0eXBlIgogbXNnc3RyICJ0aXBvIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTMKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NAogbXNnaWQgIm9iamVjdCB0eXBlIgogbXNnc3RyICJ0aXBvIGRvIG9iamV0byIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAiZXNjcmV2ZXIgbyBvYmpldG8gbmEgYmFzZSBkZSBkYWRvcyBkZSBvYmpldG9zIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTYKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NwogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgogbXNnc3RyICJsZXIgbyBvYmpldG8gZGEgZW50cmFkYSBwYWRyw6NvIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQogbXNnaWQgInN0b3JlIGZpbGUgYXMgaXMgd2l0aG91dCBmaWx0ZXJzIgogbXNnc3RyICJndWFyZGFyIG8gZmljaGVpcm8gdGFsIGNvbW8gZXN0w6EsIHNlbSBmaWx0cm9zIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTkKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKIG1zZ2lkICIiCiAianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgogbXNnc3RyICIiCiAib2J0ZXIgaGFzaCBkZSBsaXhvIGFsZWF0w7NyaW8gcGFyYSBjcmlhciBvYmpldG9zIGNvcnJvbXBpZG9zIHBhcmEgZGVwdXJhciBvICIKICJHaXQiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKIG1zZ2lkICJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIKIG1zZ3N0ciAicHJvY2Vzc2FyIG8gZmljaGVpcm8gY29tbyBzZSBlc3RlIGZvc3NlIGRvIGNhbWluaG8gaW5kaWNhZG8iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxCisjOiBidWlsdGluL2hlbHAuYzo0MgogbXNnaWQgInByaW50IGFsbCBhdmFpbGFibGUgY29tbWFuZHMiCiBtc2dzdHIgImltcHJpbWlyIHRvZG9zIG9zIGNvbWFuZG9zIGRpc3BvbsOtdmVpcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDIKKyM6IGJ1aWx0aW4vaGVscC5jOjQzCittc2dpZCAiZXhjbHVkZSBndWlkZXMiCittc2dzdHIgImV4Y2x1aXIgZ3VpYXMiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0CiBtc2dpZCAicHJpbnQgbGlzdCBvZiB1c2VmdWwgZ3VpZGVzIgogbXNnc3RyICJpbXByaW1pciBsaXN0YSBkZSBndWlhcyDDunRlaXMiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQzCisjOiBidWlsdGluL2hlbHAuYzo0NQogbXNnaWQgInNob3cgbWFuIHBhZ2UiCiBtc2dzdHIgIm1vc3RyYXIgcMOhZ2luYSBkbyBtYW51YWwiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ0CisjOiBidWlsdGluL2hlbHAuYzo0NgogbXNnaWQgInNob3cgbWFudWFsIGluIHdlYiBicm93c2VyIgogbXNnc3RyICJtb3N0cmFyIG8gbWFudWFsIG5vIG5hdmVnYWRvciB3ZWIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ2CisjOiBidWlsdGluL2hlbHAuYzo0OAogbXNnaWQgInNob3cgaW5mbyBwYWdlIgogbXNnc3RyICJtb3N0cmFyIHDDoWdpbmEgaW5mbyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NTIKKyM6IGJ1aWx0aW4vaGVscC5jOjU0CiBtc2dpZCAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmQ+XSIKIG1zZ3N0ciAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbWFuZG8+XSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NjQKKyM6IGJ1aWx0aW4vaGVscC5jOjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWxwIGZvcm1hdCAnJXMnIgogbXNnc3RyICJmb3JtYXRvIGRlIGFqdWRhIG7Do28gcmVjb25oZWNpZG8gJyVzJyIKIAotIzogYnVpbHRpbi9oZWxwLmM6OTEKKyM6IGJ1aWx0aW4vaGVscC5jOjkzCiBtc2dpZCAiRmFpbGVkIHRvIHN0YXJ0IGVtYWNzY2xpZW50LiIKIG1zZ3N0ciAiRmFsaGEgYW8gaW5pY2lhciBlbWFjc2NsaWVudC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEwNAorIzogYnVpbHRpbi9oZWxwLmM6MTA2CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgogbXNnc3RyICJGYWxoYSBhbyBhbmFsaXNhciBhIHZlcnPDo28gZG8gZW1hY3NjbGllbnQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMTIKKyM6IGJ1aWx0aW4vaGVscC5jOjExNAogIywgYy1mb3JtYXQKIG1zZ2lkICJlbWFjc2NsaWVudCB2ZXJzaW9uICclZCcgdG9vIG9sZCAoPCAyMikuIgogbXNnc3RyICJhIHZlcnPDo28gZG8gZW1hY3NjbGllbnQgJyVkJyDDqSBkZW1hc2lhZG8gYW50aWdhICg8IDIyKS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEzMCBidWlsdGluL2hlbHAuYzoxNTEgYnVpbHRpbi9oZWxwLmM6MTYwIGJ1aWx0aW4vaGVscC5jOjE2OAorIzogYnVpbHRpbi9oZWxwLmM6MTMyIGJ1aWx0aW4vaGVscC5jOjE1MyBidWlsdGluL2hlbHAuYzoxNjIgYnVpbHRpbi9oZWxwLmM6MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleGVjICclcyciCiBtc2dzdHIgImZhbGhhIGFvIGV4ZWN1dGFyICclcyciCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIwNQorIzogYnVpbHRpbi9oZWxwLmM6MjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBwYXRoIGZvciB1bnN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtNzEzMiw3ICs4MTI5LDcgQEAKICInJXMnOiBjYW1pbmhvIHBhcmEgdmlzdWFsaXphZG9yIGRlIG1hbnVhbCBuw6NvIHN1cG9ydGFkby5cbiIKICJDb25zaWRlcmUgdXNhciAnbWFuLjxmZXJyYW1lbnRhPi5jbWQnLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjE3CisjOiBidWlsdGluL2hlbHAuYzoyMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IGNtZCBmb3Igc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC03MTQxLDQ1OSArODEzOCw0NTkgQEAKICInJXMnOiBjb21hbmRvIGRlIHZpc3VhbGl6YWRvciBkZSBtYW51YWwgc3Vwb3J0YWRvLlxuIgogIkNvbnNpZGVyZSB1c2FyICdtYW4uPGZlcnJhbWVudGE+LnBhdGgnLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzM0CisjOiBidWlsdGluL2hlbHAuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5rbm93biBtYW4gdmlld2VyLiIKIG1zZ3N0ciAiJyVzJzogdmlzdWFsaXphZG9yIGRlIG1hbnVhbCBkZXNjb25oZWNpZG8uIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTEKKyM6IGJ1aWx0aW4vaGVscC5jOjM1MwogbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAibmVuaHVtIHZpc3VhbGl6YWRvciBkZSBtYW51YWwgYXRlbmRldSBvIHBlZGlkbyIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzU5CisjOiBidWlsdGluL2hlbHAuYzozNjEKIG1zZ2lkICJubyBpbmZvIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICJuZW5odW0gdmlzdWFsaXphZG9yIGRlIGluZm8gYXRlbmRldSBvIHBlZGlkbyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA4CisjOiBidWlsdGluL2hlbHAuYzo0MDMKIG1zZ2lkICJEZWZpbmluZyBhdHRyaWJ1dGVzIHBlciBwYXRoIgogbXNnc3RyICJEZWZpbmlyIGF0cmlidXRvcyBwb3IgY2FtaW5obyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA5CisjOiBidWlsdGluL2hlbHAuYzo0MDQKIG1zZ2lkICJFdmVyeWRheSBHaXQgV2l0aCAyMCBDb21tYW5kcyBPciBTbyIKIG1zZ3N0ciAiRGnDoXJpbyBHaXQgY29tIG1haXMgb3UgbWVub3MgMjAgQ29tYW5kb3MiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMAorIzogYnVpbHRpbi9oZWxwLmM6NDA1CiBtc2dpZCAiQSBHaXQgZ2xvc3NhcnkiCiBtc2dzdHIgIlVtIEdsb3Nzw6FyaW8gZG8gR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTEKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNgogbXNnaWQgIlNwZWNpZmllcyBpbnRlbnRpb25hbGx5IHVudHJhY2tlZCBmaWxlcyB0byBpZ25vcmUiCiBtc2dzdHIgIiIKICJFc3BlY2lmaWNhciBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcyBwYXJhIHNlcmVtIGludGVuY2lvbmFsbWVudGUgaWdub3JhZG9zIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTIKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNwogbXNnaWQgIkRlZmluaW5nIHN1Ym1vZHVsZSBwcm9wZXJ0aWVzIgogbXNnc3RyICJEZWZpbmlyIHByb3ByaWVkYWRlcyBkZSBzdWJtw7NkdWxvcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDEzCisjOiBidWlsdGluL2hlbHAuYzo0MDgKIG1zZ2lkICJTcGVjaWZ5aW5nIHJldmlzaW9ucyBhbmQgcmFuZ2VzIGZvciBHaXQiCiBtc2dzdHIgIkVzcGVjaWZpY2FyIHJldmlzw7VlcyBlIGludGVydmFsb3MgZG8gR2l0IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTQKKyM6IGJ1aWx0aW4vaGVscC5jOjQwOQogbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCAoZm9yIHZlcnNpb24gMS41LjEgb3IgbmV3ZXIpIgogbXNnc3RyICJVbWEgaW50cm9kdcOnw6NvIGFvIEdpdCAodmVyc8OjbyAxLjUuMSBvdSBtYWlzIHJlY2VudGUpIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTUKKyM6IGJ1aWx0aW4vaGVscC5jOjQxMAogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKIG1zZ3N0ciAiVW1hIGRlc2NyacOnw6NvIGdlcmFsIGRvcyBmbHV4b3MgZGUgdHJhYmFsaG8gcmVjb21lbmRhZG9zIHBhcmEgbyBHaXQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyNworIzogYnVpbHRpbi9oZWxwLmM6NDIyCiBtc2dpZCAiVGhlIGNvbW1vbiBHaXQgZ3VpZGVzIGFyZTpcbiIKIG1zZ3N0ciAiT3MgZ3VpYXMgY29tdW5zIGRvIEdpdDpcbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQ4IGJ1aWx0aW4vaGVscC5jOjQ2NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1c2FnZTogJXMlcyIKLW1zZ3N0ciAidXRpbGl6YcOnw6NvOiAlcyVzIgotCi0jOiBidWlsdGluL2hlbHAuYzo0ODEKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCiBtc2dzdHIgIidnaXQgJXMnIMOpIHVtIGFsaWFzIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MgorIzogYnVpbHRpbi9oZWxwLmM6NDYyIGJ1aWx0aW4vaGVscC5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2FnZTogJXMlcyIKK21zZ3N0ciAidXRpbGl6YcOnw6NvOiAlcyVzIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjAyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IHR5cGUgbWlzbWF0Y2ggYXQgJXMiCiBtc2dzdHIgImluY29tcGF0aWJpbGlkYWRlIGRlIHRpcG8gZGUgb2JqZXRvIGVtICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJkaWQgbm90IHJlY2VpdmUgZXhwZWN0ZWQgb2JqZWN0ICVzIgogbXNnc3RyICJvIG9iamV0byBlc3BlcmFkbyAlcyBuw6NvIGZvaSByZWNlYmlkbyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzOiBleHBlY3RlZCB0eXBlICVzLCBmb3VuZCAlcyIKIG1zZ3N0ciAib2JqZXRvICVzOiB0aXBvIGVzcGVyYWRvICVzLCBvYnRpZG8gJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaWxsICVkIGJ5dGUiCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBmaWxsICVkIGJ5dGVzIgogbXNnc3RyWzBdICJuw6NvIMOpIHBvc3PDrXZlbCBwcmVlbmNoZXIgJWQgYnl0ZSIKIG1zZ3N0clsxXSAibsOjbyDDqSBwb3Nzw612ZWwgcHJlZW5jaGVyICVkIGJ5dGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3OQogbXNnaWQgImVhcmx5IEVPRiIKIG1zZ3N0ciAiZmltIGRlIGZpY2hlaXJvIChFT0YpIHByZW1hdHVybyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODAKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgogbXNnc3RyICJlcnJvIGRlIGxlaXR1cmEgZGEgZW50cmFkYSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTIKIG1zZ2lkICJ1c2VkIG1vcmUgYnl0ZXMgdGhhbiB3ZXJlIGF2YWlsYWJsZSIKIG1zZ3N0ciAiZm9yYW0gdXNhZG9zIG1haXMgYnl0ZXMgZG9zIHF1ZSBlc3RhdmFtIGRpc3BvbsOtdmVpcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjk3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTkKIG1zZ2lkICJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IgogbXNnc3RyICJwYWNvdGUgZGVtYXNpYWRvIGdyYW5kZSBwYXJhIGEgZGVmaW5pw6fDo28gYXR1YWwgZGUgb2ZmX3QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAyIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5MgorbXNnaWQgInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIKK21zZ3N0ciAibyBwYWNvdGUgZXhjZWRlIG8gdGFtYW5obyBtw6F4aW1vIHBlcm1pdGlkbyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGNyaWFyICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFicmlyIG8gZmljaGVpcm8gZGUgcGFjb3RlICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM2CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgImEgYXNzaW5hdHVyYSBkbyBwYWNvdGUgbsOjbyBjb3JyZXNwb25kZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayB2ZXJzaW9uICU8UFJJdTMyPiB1bnN1cHBvcnRlZCIKIG1zZ3N0ciAidmVyc8OjbyBkZSBwYWNvdGUgJTxQUkl1MzI+IG7Do28gc3Vwb3J0YWRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozNTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM1NgogIywgYy1mb3JtYXQKLW1zZ2lkICJwYWNrIGhhcyBiYWQgb2JqZWN0IGF0IG9mZnNldCAlbHU6ICVzIgotbXNnc3RyICJwYWNvdGUgY29tIG9iamV0byBpbmNvcnJldG8gbm8gb2Zmc2V0ICVsdTogJXMiCittc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCittc2dzdHIgInBhY290ZSBjb20gb2JqZXRvIGluY29ycmV0byBubyBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluZmxhdGUgcmV0dXJuZWQgJWQiCiBtc2dzdHIgImEgZGVzY29tcGFjdGHDp8OjbyByZXRvcm5vdSAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjcKIG1zZ2lkICJvZmZzZXQgdmFsdWUgb3ZlcmZsb3cgZm9yIGRlbHRhIGJhc2Ugb2JqZWN0IgogbXNnc3RyICJkZWx0YSBkZSBvYmpldG8gYmFzZSBjb20gY2FwYWNpZGFkZSBleGNlZGlkYSBubyB2YWxvciBkZSBvZmZzZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTM1CiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgogbXNnc3RyICJvZmZzZXQgZGEgYmFzZSBkZWx0YSBlc3TDoSBmb3JhIGRvIGxpbWl0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTM4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvYmplY3QgdHlwZSAlZCIKIG1zZ3N0ciAib2JqZXRvIGRlIHRpcG8gZGVzY29uaGVjaWRvICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NAogbXNnaWQgImNhbm5vdCBwcmVhZCBwYWNrIGZpbGUiCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGludm9jYXIgcHJlYWQgc29icmUgbyBmaWNoZWlybyBkZSBwYWNvdGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc2CiAjLCBjLWZvcm1hdAotbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlbHUgYnl0ZSBtaXNzaW5nIgotbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJWx1IGJ5dGVzIG1pc3NpbmciCi1tc2dzdHJbMF0gImZpbSBkZSBmaWNoZWlybyBkZSBwYWNvdGUgcHJlbWF0dXJvLCBmYWx0YSAlbHUgYnl0ZSIKLW1zZ3N0clsxXSAiZmltIGRlIGZpY2hlaXJvIGRlIHBhY290ZSBwcmVtYXR1cm8sIGZhbHRhbSAlbHUgYnl0ZXMiCittc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgorbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgorbXNnc3RyWzBdICJmaW0gcHJlbWF0dXJvIGRlIGZpY2hlaXJvIGRlIHBhY290ZSwgZmFsdGEgJTxQUkl1TUFYPiBieXRlIgorbXNnc3RyWzFdICJmaW0gcHJlbWF0dXJvIGRlIGZpY2hlaXJvIGRlIHBhY290ZSwgZmFsdGFtICU8UFJJdU1BWD4gYnl0ZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU5NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjAyCiBtc2dpZCAic2VyaW91cyBpbmZsYXRlIGluY29uc2lzdGVuY3kiCiBtc2dzdHIgImluY29uc2lzdMOqbmNpYSBkZSBkZXNjb21wYWN0YcOnw6NvIGdyYXZlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDMgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ5IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc3MgotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODA2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1NCBidWlsdGluL2luZGV4LXBhY2suYzo3NzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxMSBidWlsdGluL2luZGV4LXBhY2suYzo4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICJDT0xJU8ODTyBERSBTSEExIENPTSAlcyBFTkNPTlRSQURBISIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ2IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTYyCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzUxIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTY2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxlciAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODEyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0ICVzIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBsZXIgbyBvYmpldG8gZXhpc3RlbnRlICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJsb2Igb2JqZWN0ICVzIgogbXNnc3RyICJvYmpldG8gYmxvYiBpbnbDoWxpZG8gJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgJXMiCiBtc2dzdHIgImludsOhbGlkbyAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDgKIG1zZ2lkICJFcnJvciBpbiBvYmplY3QiCiBtc2dzdHIgIkVycm8gbm8gb2JqZXRvIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAiTmVtIHRvZG9zIG9zIG9iamV0b3MgZmlsaG9zIGRlICVzIHPDo28gYWxjYW7Dp8OhdmVpcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTE3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk0OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTIyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk1MwogbXNnaWQgImZhaWxlZCB0byBhcHBseSBkZWx0YSIKIG1zZ3N0ciAiZmFsaGEgYW8gYXBsaWNhciBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyMwogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgogbXNnc3RyICJBIHJlY2ViZXIgb2JqZXRvcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyMwogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgIkEgaW5kZXhhciBvYmpldG9zIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU1CiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICJwYWNvdGUgY29ycm9tcGlkbyAoU0hBMSBuw6NvIGNvcnJlc3BvbmRlKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MAogbXNnaWQgImNhbm5vdCBmc3RhdCBwYWNrZmlsZSIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgaW52b2NhciBmc3RhdCBzb2JyZSBvIGZpY2hlaXJvIGRlIHBhY290ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MwogbXNnaWQgInBhY2sgaGFzIGp1bmsgYXQgdGhlIGVuZCIKIG1zZ3N0ciAicGFjb3RlIGNvbSBsaXhvIG5vIGZpbmFsIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc0CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAiZXh0cmVtYSBjb25mdXPDo28gZW0gcGFyc2VfcGFja19vYmplY3RzKCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTcKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICJBIHJlc29sdmVyIGRlbHRhcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIwNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciB0aHJlYWQ6ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUwCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAiZXh0cmVtYSBjb25mdXPDo28iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgogbXNnc3RyWzBdICJjb25jbHXDrWRvIGNvbSAlZCBvYmpldG8gbG9jYWwiCiBtc2dzdHJbMV0gImNvbmNsdcOtZG8gY29tICVkIG9iamV0b3MgbG9jYWlzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICJTb21hIGRlIHZlcmlmaWNhw6fDo28gaW5lc3BlcmFkYSBubyBmaW5hbCBkZSAlcyAoY29ycnVww6fDo28gbm8gZGlzY28/KSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAicGFjb3RlIGNvbSAlZCBkZWx0YSBuw6NvIHJlc29sdmlkbyIKIG1zZ3N0clsxXSAicGFjb3RlIGNvbSAlZCBkZWx0YXMgbsOjbyByZXNvbHZpZG9zIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjkzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIGFwcGVuZGVkIG9iamVjdCAoJWQpIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBjb21wYWN0YXIgb2JqZXRvIGFjcmVzY2VudGFkbyAoJWQpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgogbXNnc3RyICJvYmpldG8gbG9jYWwgJXMgY29ycm9tcGlkbyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM5MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM5NgogbXNnaWQgImVycm9yIHdoaWxlIGNsb3NpbmcgcGFjayBmaWxlIgogbXNnc3RyICJlcnJvIGFvIGZlY2hhciBmaWNoZWlybyBkZSBwYWNvdGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBlc2NyZXZlciBvIGZpY2hlaXJvIGRlIGNvbnNlcnZhw6fDo28gJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZmVjaGFyIG8gZmljaGVpcm8gZGUgY29uc2VydmHDp8OjbyAnJXMnIGVzY3JpdG8iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MzAKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBndWFyZGFyIGZpY2hlaXJvIGRlIHBhY290ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0MQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBndWFyZGFyIG8gZmljaGVpcm8gw61uZGljZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICJwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4gaW5jb3JyZXRvIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgxIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgogbXNnc3RyICJzZW0gc3Vwb3J0ZSBkZSB0aHJlYWRzLCAlcyBpZ25vcmFkbyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGZpbGUgJyVzJyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgYWJyaXIgbyBmaWNoZWlybyBkZSBwYWNvdGUgJyVzJyBleGlzdGVudGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgYWJyaXIgbyBmaWNoZWlybyBkZSDDrW5kaWNlIGRvIHBhY290ZSBleGlzdGVudGUgZGUgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU4OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICIlZCBvYmpldG8gbsOjbyBkZWx0YSIKIG1zZ3N0clsxXSAiJWQgb2JqZXRvcyBuw6NvIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCiBtc2dzdHJbMF0gImNvbXByaW1lbnRvIGRlIGNhZGVpYSA9ICVkOiAlbHUgb2JqZXRvIgogbXNnc3RyWzFdICJjb21wcmltZW50byBkZSBjYWRlaWEgPSAlZDogJWx1IG9iamV0b3MiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2ZpbGUgbmFtZSAnJXMnIGRvZXMgbm90IGVuZCB3aXRoICcucGFjayciCiBtc2dzdHIgIm8gbm9tZSBkbyBmaWNoZWlybyBkZSBwYWNvdGUgJyVzJyBuw6NvIHRlcm1pbmEgZW0gJy5wYWNrJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYzOAotbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgotbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCB2b2x0YXIgYW8gZGlyZXTDs3JpbyBkZSB0cmFiYWxobyBhdHVhbCIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5MCBidWlsdGluL2luZGV4LXBhY2suYzoxNjkzCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzA1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxMiBidWlsdGluL2luZGV4LXBhY2suYzoxNzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKIG1zZ3N0ciAiJXMgaW5jb3JyZXRvIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzIzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzMyCiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIi0tZml4LXRoaW4gbsOjbyBwb2RlIHNlciB1c2FkbyBzZW0gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0MAogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAiLS12ZXJpZnkgc2VtIG5vbWUgZG8gZmljaGVpcm8gZGUgcGFjb3RlIGluZGljYWRvIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgaW52b2NhciBzdGF0IHNvYnJlICclcyciCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYxCisjOiBidWlsdGluL2luaXQtZGIuYzo2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCB0ZW1wbGF0ZSAnJXMnIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBpbnZvY2FyIHN0YXQgc29icmUgbyBtb2RlbG8gJyVzJyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGFicmlyIChvcGVuZGlyKSAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3NworIzogYnVpbHRpbi9pbml0LWRiLmM6NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGxlciAocmVhZGxpbmspICclcyciCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc5CisjOiBidWlsdGluL2luaXQtZGIuYzo3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3ltbGluayAnJXMnICclcyciCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGNyaWFyIGEgbGlnYcOnw6NvIHNpbWLDs2xpY2EgJyVzJyAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4NQorIzogYnVpbHRpbi9pbml0LWRiLmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBjb3BpYXIgJyVzJyBwYXJhICclcyciCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg5CisjOiBidWlsdGluL2luaXQtZGIuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyB0ZW1wbGF0ZSAlcyIKIG1zZ3N0ciAibW9kZWxvICVzIGlnbm9yYWRvIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wbGF0ZXMgbm90IGZvdW5kICVzIgogbXNnc3RyICJtb2RlbG9zIG7Do28gZW5jb250cmFkb3MgZW0gJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNQorIzogYnVpbHRpbi9pbml0LWRiLmM6MTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBmcm9tICclcyc6ICVzIgogbXNnc3RyICJtb2RlbG9zIG7Do28gY29waWFkb3MgZGUgJyVzJzogJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMxMiBidWlsdGluL2luaXQtZGIuYzozMTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCi1tc2dzdHIgIiVzIGrDoSBleGlzdGUiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NAorIzogYnVpbHRpbi9pbml0LWRiLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBoYW5kbGUgZmlsZSB0eXBlICVkIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcHJvY2Vzc2FyIG8gdGlwbyBkZSBmaWNoZWlybyAlZCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzQ3CisjOiBidWlsdGluL2luaXQtZGIuYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBtb3ZlciAlcyBwYXJhICVzIgogCi0jLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICclcycgaXMgZWl0aGVyICJSZWluaXRpYWxpemVkCi0jLiBleGlzdGluZyIgb3IgIkluaXRpYWxpemVkIGVtcHR5IiwgdGhlIHNlY29uZCAiIHNoYXJlZCIgb3IKLSMuICIiLCBhbmQgdGhlIGxhc3QgJyVzJXMnIGlzIHRoZSB2ZXJiYXRpbSBkaXJlY3RvcnkgbmFtZS4KKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NyBidWlsdGluL2luaXQtZGIuYzozNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIiVzIGrDoSBleGlzdGUiCisKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwMwogIywgYy1mb3JtYXQKLW1zZ2lkICIlcyVzIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKLW1zZ3N0ciAiUmVwb3NpdMOzcmlvIEdpdCAlcyVzIGVtICVzJXNcbiIKK21zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCittc2dzdHIgIlJlcG9zaXTDs3JpbyBHaXQgcGFydGlsaGFkbyBlIGV4aXN0ZW50ZSByZWluaWNpYWxpemFkbyBlbSAlcyVzXG4iCiAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNAotbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmciCi1tc2dzdHIgImV4aXN0ZW50ZSByZWluaWNpYWxpemFkbyIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCittc2dzdHIgIlJlcG9zaXTDs3JpbyBHaXQgZXhpc3RlbSByZWluaWNpYWxpemFkbyBlbSAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNAotbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IgotbXNnc3RyICJ2YXppbyBpbmljaWFsaXphZG8iCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAiUmVwb3NpdMOzcmlvIEdpdCB2YXppbyBlIHBhcnRpbGhhZG8gaW5pY2lhbGl6YWRvIGVtICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA1Ci1tc2dpZCAiIHNoYXJlZCIKLW1zZ3N0ciAiIHBhcnRpbGhhZG8iCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICJSZXBvc2l0w7NyaW8gR2l0IHZhemlvIGluaWNpYWxpemFkbyBlbSAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ1MgorIzogYnVpbHRpbi9pbml0LWRiLmM6NDU3CiBtc2dpZCAiIgogImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTx0ZW1wbGF0ZS1kaXJlY3Rvcnk+XSBbLS0iCiAic2hhcmVkWz08cGVybWlzc2lvbnM+XV0gWzxkaXJlY3Rvcnk+XSIKIG1zZ3N0ciAiIgotImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTxkaXJldMOzcmlvLW1vZGVsbz5dICIKLSJbLS1zaGFyZWRbPTxwZXJtaXNzw7Vlcz5dXSBbPGRpcmV0w7NyaW8+XSIKKyJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08ZGlyZXTDs3Jpby1tb2RlbG8+XSBbLS0iCisic2hhcmVkWz08cGVybWlzc8O1ZXM+XV0gWzxkaXJldMOzcmlvPl0iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDgwCiBtc2dpZCAicGVybWlzc2lvbnMiCiBtc2dzdHIgInBlcm1pc3PDtWVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NzYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQogbXNnaWQgInNwZWNpZnkgdGhhdCB0aGUgZ2l0IHJlcG9zaXRvcnkgaXMgdG8gYmUgc2hhcmVkIGFtb25nc3Qgc2V2ZXJhbCB1c2VycyIKIG1zZ3N0ciAiIgogImVzcGVjaWZpY2FyIHF1ZSBvIHJlcG9zaXTDs3JpbyBnaXQgc2Vyw6EgcGFydGlsaGFkbyBwb3IgdsOhcmlvcyB1dGlsaXphZG9yZXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxMCBidWlsdGluL2luaXQtZGIuYzo1MTUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxNSBidWlsdGluL2luaXQtZGIuYzo1MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG1rZGlyICVzIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBjcmlhciBvIGRpcmV0w7NyaW8gJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxOQorIzogYnVpbHRpbi9pbml0LWRiLmM6NTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAlcyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgbXVkYXIgcGFyYSBvIGRpcmV0w7NyaW8gJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0MAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlcyAob3IgLS13b3JrLXRyZWU9PGRpcmVjdG9yeT4pIG5vdCBhbGxvd2VkIHdpdGhvdXQgc3BlY2lmeWluZyAlcyAob3IgLS1naXQtIgpAQCAtNzYwMiw3ICs4NTk5LDcgQEAKICIlcyAob3UgLS13b3JrLXRyZWU9PGRpcmV0w7NyaW8+KSBuw6NvIMOpIHBlcm1pdGlkbyBzZW0gZXNwZWNpZmljYXIgJXMgKG91IC0tZ2l0LSIKICJkaXI9PGRpcmV0w7NyaW8+KSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTY4CisjOiBidWlsdGluL2luaXQtZGIuYzo1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgYWNlZGVyIMOgIMOhcnZvcmUgZGUgdHJhYmFsaG8gJyVzJyIKQEAgLTc2MzUsMzMyICs4NjMyLDMzMyBAQAogbXNnaWQgIm5vIGlucHV0IGZpbGUgZ2l2ZW4gZm9yIGluLXBsYWNlIGVkaXRpbmciCiBtc2dzdHIgIm5lbmh1bSBmaWNoZWlybyBkZSBlbnRyYWRhIGZvcm5lY2lkbyBwYXJhIGVkacOnw6NvIG5vIGxvY2FsIgogCi0jOiBidWlsdGluL2xvZy5jOjQzCisjOiBidWlsdGluL2xvZy5jOjQ0CiBtc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxvZyBbPG9ww6fDtWVzPl0gWzxpbnRlcnZhbG8tZGUtcmV2aXPDtWVzPl0gW1stLV0gPGNhbWluaG8+Li4uXSIKIAotIzogYnVpbHRpbi9sb2cuYzo0NAorIzogYnVpbHRpbi9sb2cuYzo0NQogbXNnaWQgImdpdCBzaG93IFs8b3B0aW9ucz5dIDxvYmplY3Q+Li4uIgogbXNnc3RyICJnaXQgc2hvdyBbPG9ww6fDtWVzPl0gPG9iamV0bz4uLi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODMKKyM6IGJ1aWx0aW4vbG9nLmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAtLWRlY29yYXRlIG9wdGlvbjogJXMiCiBtc2dzdHIgIm9ww6fDo28gLS1kZWNvcmF0ZSBpbnbDoWxpZGE6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNworIzogYnVpbHRpbi9sb2cuYzoxMzkKIG1zZ2lkICJzdXBwcmVzcyBkaWZmIG91dHB1dCIKIG1zZ3N0ciAic3VwcmltaXIgc2HDrWRhIGRvIGRpZmYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4CisjOiBidWlsdGluL2xvZy5jOjE0MAogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICJtb3N0cmFyIG9yaWdlbSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxCiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgInVzYXIgZmljaGVpcm8gZGUgbWFwZWFtZW50byBkZSBjb3JyZWlvIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MAorIzogYnVpbHRpbi9sb2cuYzoxNDIKIG1zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgogbXNnc3RyICJvcMOnw7VlcyBkZSBkZWNvcmHDp8OjbyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1CiBtc2dpZCAiUHJvY2VzcyBsaW5lIHJhbmdlIG4sbSBpbiBmaWxlLCBjb3VudGluZyBmcm9tIDEiCi1tc2dzdHIgInByb2Nlc3NhciBpbnRlcnZhbG8gZGUgbGluaGFzIG4sbSwgYSBjYW50YXIgYSBwYXJ0aXIgZGUgMSIKK21zZ3N0ciAicHJvY2Vzc2FyIGludGVydmFsbyBkZSBsaW5oYXMgbixtLCBhIGNvbnRhciBhIHBhcnRpciBkZSAxIgogCi0jOiBidWlsdGluL2xvZy5jOjIzOQorIzogYnVpbHRpbi9sb2cuYzoyNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmluYWwgb3V0cHV0OiAlZCAlc1xuIgogbXNnc3RyICJSZXN1bHRhZG8gZmluYWw6ICVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDcxCisjOiBidWlsdGluL2xvZy5jOjQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgc2hvdyAlczogYmFkIGZpbGUiCiBtc2dzdHIgImdpdCBzaG93ICVzOiBmaWNoZWlybyBpbmNvcnJldG8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDg1IGJ1aWx0aW4vbG9nLmM6NTc4CisjOiBidWlsdGluL2xvZy5jOjUwMCBidWlsdGluL2xvZy5jOjU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBsZXIgbyBvYmpldG8gJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NjAyCisjOiBidWlsdGluL2xvZy5jOjYxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgogbXNnc3RyICJUaXBvIGRlc2NvbmhlY2lkbzogJWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzIyCisjOiBidWlsdGluL2xvZy5jOjczOQogbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCiBtc2dzdHIgImZvcm1hdC5oZWFkZXJzIHNlbSB2YWxvciIKIAotIzogYnVpbHRpbi9sb2cuYzo4MTIKKyM6IGJ1aWx0aW4vbG9nLmM6ODM5CiBtc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgogbXNnc3RyICJvIG5vbWUgZG8gZGlyZXTDs3JpbyBkZSBzYcOtZGEgw6kgZGVtYXNpYWRvIGxvbmdvIgogCi0jOiBidWlsdGluL2xvZy5jOjgyNworIzogYnVpbHRpbi9sb2cuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgYWJyaXIgbyBmaWNoZWlybyBkZSBwYXRjaCAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo4NDEKKyM6IGJ1aWx0aW4vbG9nLmM6ODY4CiBtc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCiBtc2dzdHIgIsOJIG5lY2Vzc8OhcmlvIGV4YXRhbWVudGUgdW0gaW50ZXJ2YWxvLiIKIAotIzogYnVpbHRpbi9sb2cuYzo4NTEKKyM6IGJ1aWx0aW4vbG9nLmM6ODc4CiBtc2dpZCAiTm90IGEgcmFuZ2UuIgogbXNnc3RyICJOw6NvIMOpIHVtIGludGVydmFsby4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTU3CisjOiBidWlsdGluL2xvZy5jOjk4NAogbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCiBtc2dzdHIgIkEgY2FydGEgZGUgYXByZXNlbnRhw6fDo28gcHJlY2lzYSBkZSB1bSBmb3JtYXRvIGRlIGUtbWFpbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDM2CisjOiBidWlsdGluL2xvZy5jOjEwNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lIGluLXJlcGx5LXRvOiAlcyIKIG1zZ3N0ciAiaW4tcmVwbHktdG8gaW5jb3JyZXRvOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDY0CisjOiBidWlsdGluL2xvZy5jOjEwOTEKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFs8b3B0aW9ucz5dIFs8c2luY2U+IHwgPHJldmlzaW9uLXJhbmdlPl0iCiBtc2dzdHIgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcMOnw7Vlcz5dIFs8ZGVzZGU+IHwgPGludGVydmFsby1kZS1yZXZpc8O1ZXM+XSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTA5CisjOiBidWlsdGluL2xvZy5jOjExNDEKIG1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKIG1zZ3N0ciAiRG9pcyBkaXJldMOzcmlvcyBkZSBzYcOtZGE/IgogCi0jOiBidWlsdGluL2xvZy5jOjEyMTYgYnVpbHRpbi9sb2cuYzoxODU3IGJ1aWx0aW4vbG9nLmM6MTg1OSBidWlsdGluL2xvZy5jOjE4NzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTI0OCBidWlsdGluL2xvZy5jOjE4OTEgYnVpbHRpbi9sb2cuYzoxODkzIGJ1aWx0aW4vbG9nLmM6MTkwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKIG1zZ3N0ciAiQ29tbWl0IGRlc2NvbmhlY2lkbyAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjI2IGJ1aWx0aW4vbm90ZXMuYzoyNTMgYnVpbHRpbi9ub3Rlcy5jOjMwNAotIzogYnVpbHRpbi9ub3Rlcy5jOjMwNiBidWlsdGluL25vdGVzLmM6MzY5IGJ1aWx0aW4vbm90ZXMuYzo0MjQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTAgYnVpbHRpbi9ub3Rlcy5jOjUxNSBidWlsdGluL25vdGVzLmM6NTkzCi0jOiBidWlsdGluL25vdGVzLmM6NjU2IGJ1aWx0aW4vbm90ZXMuYzo4ODEgYnVpbHRpbi90YWcuYzo0NTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1OCBidWlsdGluL25vdGVzLmM6ODg0IGJ1aWx0aW4vdGFnLmM6NDU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJGYWxoYSBhbyByZXNvbHZlciAnJXMnIG51bWEgcmVmZXLDqm5jaWEgdsOhbGlkYS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIzMQorIzogYnVpbHRpbi9sb2cuYzoxMjYzCiBtc2dpZCAiQ291bGQgbm90IGZpbmQgZXhhY3QgbWVyZ2UgYmFzZS4iCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBlbmNvbnRyYXIgYSBiYXNlIGV4YXRhIGRlIGludGVncmHDp8Ojby4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIzNQorIzogYnVpbHRpbi9sb2cuYzoxMjY3CiBtc2dpZCAiIgogIkZhaWxlZCB0byBnZXQgdXBzdHJlYW0sIGlmIHlvdSB3YW50IHRvIHJlY29yZCBiYXNlIGNvbW1pdCBhdXRvbWF0aWNhbGx5LFxuIgogInBsZWFzZSB1c2UgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byB0byB0cmFjayBhIHJlbW90ZSBicmFuY2guXG4iCiAiT3IgeW91IGNvdWxkIHNwZWNpZnkgYmFzZSBjb21taXQgYnkgLS1iYXNlPTxiYXNlLWNvbW1pdC1pZD4gbWFudWFsbHkuIgogbXNnc3RyICIiCi0iRmFsaGEgYW8gb2J0ZXIgcmFtbyBhIG1vbnRhbnRlLCBzZSBxdWVyIGdyYXZhciBvIGNvbW1pdCBiYXNlIGF1dG9tYXRpY2FtZW50ZSwiCi0iXG4iCisiRmFsaGEgYW8gb2J0ZXIgcmFtbyBhIG1vbnRhbnRlLCBzZSBxdWVyIGdyYXZhciBvIGNvbW1pdCBiYXNlICIKKyJhdXRvbWF0aWNhbWVudGUsXG4iCiAidXNlIGJyYW5jaCAtLXNldC11cHN0cmVhbS10byBwYXJhIHNlZ3VpciB1bSByYW1vIHJlbW90by5cbiIKICJPdSBwb2RlIGVzcGVjaWZpY2FyIG8gY29tbWl0IGJhc2UgY29tIC0tYmFzZT08YmFzZS1jb21taXQtaWQ+IG1hbnVhbG1lbnRlLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjU1CisjOiBidWlsdGluL2xvZy5jOjEyODcKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgogbXNnc3RyICJGYWxoYSBhbyBwcm9jdXJhciBiYXNlIGV4YXRhIGRlIGludGVncmHDp8OjbyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjY2CisjOiBidWlsdGluL2xvZy5jOjEyOTgKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGQgYmUgdGhlIGFuY2VzdG9yIG9mIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgIm8gY29tbWl0IGJhc2UgZGV2ZSBzZXIgbyBhbnRlY2Vzc29yIGRhIGxpc3RhIGRlIHJldmlzw7VlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjcwCisjOiBidWlsdGluL2xvZy5jOjEzMDIKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGRuJ3QgYmUgaW4gcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAibyBjb21taXQgYmFzZSBuw6NvIGRldmUgZmF6ZXIgcGFydGUgZGEgbGlzdGEgZGUgcmV2aXPDtWVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTM1MQogbXNnaWQgImNhbm5vdCBnZXQgcGF0Y2ggaWQiCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIG9idGVyIG8gaWQgZG8gcGF0Y2giCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM3NworIzogYnVpbHRpbi9sb2cuYzoxNDA4CiBtc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAidXNhciBbUEFUQ0ggbi9tXSBtZXNtbyBjb20gdW0gw7puaWNvIHBhdGNoIgogCi0jOiBidWlsdGluL2xvZy5jOjEzODAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxMQogbXNnaWQgInVzZSBbUEFUQ0hdIGV2ZW4gd2l0aCBtdWx0aXBsZSBwYXRjaGVzIgogbXNnc3RyICJ1c2FyIFtQQVRDSF0gbWVzbW8gY29tIG3Dumx0aXBsb3MgcGF0Y2hlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg0CisjOiBidWlsdGluL2xvZy5jOjE0MTUKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAiaW1wcmltaXIgcGF0Y2hlcyBwYXJhIGEgc2HDrWRhIHBhZHLDo28iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4NgorIzogYnVpbHRpbi9sb2cuYzoxNDE3CiBtc2dpZCAiZ2VuZXJhdGUgYSBjb3ZlciBsZXR0ZXIiCiBtc2dzdHIgImdlcmFyIHVtYSBjYXJ0YSBkZSBhcHJlc2VudGHDp8OjbyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg4CisjOiBidWlsdGluL2xvZy5jOjE0MTkKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgIiIKICJ1c2FyIHVtYSBzZXF1w6puY2lhIGRlIG7Dum1lcm9zIHNpbXBsZXMgcGFyYSBkZW5vbWluYXIgb3MgZmljaGVpcm9zIGdlcmFkb3MiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4OQorIzogYnVpbHRpbi9sb2cuYzoxNDIwCiBtc2dpZCAic2Z4IgogbXNnc3RyICJzZngiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5MAorIzogYnVpbHRpbi9sb2cuYzoxNDIxCiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgInVzYXIgPHNmeD4gZW0gdmV6IGRlICcucGF0Y2gnIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyMwogbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCiBtc2dzdHIgImNvbWXDp2FyIGEgbnVtZXJhciBvcyBwYXRjaGVzIGVtIDxuPiBlbSB2ZXogZGUgMSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzk0CisjOiBidWlsdGluL2xvZy5jOjE0MjUKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgIm1hcmNhciBhIHPDqXJpZSBjb21vIGEgbi3DqXNpbWEgcmVpdGVyYcOnw6NvIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOTYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyNworbXNnaWQgIlVzZSBbUkZDIFBBVENIXSBpbnN0ZWFkIG9mIFtQQVRDSF0iCittc2dzdHIgIlVzYXIgW1JGQyBQQVRDSF0gZW0gdmV6IGRlIFtQQVRDSF0iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzMAogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAidXNhciBbPHByZWZpeG8+XSBlbSB2ZXogZGUgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzk5CisjOiBidWlsdGluL2xvZy5jOjE0MzMKIG1zZ2lkICJzdG9yZSByZXN1bHRpbmcgZmlsZXMgaW4gPGRpcj4iCiBtc2dzdHIgImd1YXJkYXIgb3MgZmljaGVpcm9zIHJlc3VsdGFudGVzIGVtIDxkaXI+IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNgogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgogbXNnc3RyICJuw6NvIHRpcmFyL2luc2VyaXIgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDA1CisjOiBidWlsdGluL2xvZy5jOjE0MzkKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICJuw6NvIGdlcmFyIGRpZmZzIGJpbsOhcmlvcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDA3CisjOiBidWlsdGluL2xvZy5jOjE0NDEKIG1zZ2lkICJvdXRwdXQgYWxsLXplcm8gaGFzaCBpbiBGcm9tIGhlYWRlciIKIG1zZ3N0ciAicHJlZW5jaGVyIG8gY2FiZcOnYWxobyBGcm9tIGNvbSBoYXNoIGRlIHplcm9zIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MwogbXNnaWQgImRvbid0IGluY2x1ZGUgYSBwYXRjaCBtYXRjaGluZyBhIGNvbW1pdCB1cHN0cmVhbSIKIG1zZ3N0ciAibsOjbyBpbmNsdWlyIHVtIHBhdGNoIHF1ZSBjb2luY2lkYSBjb20gdW0gY29tbWl0IGEgbW9udGFudGUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxMQorIzogYnVpbHRpbi9sb2cuYzoxNDQ1CiBtc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgogbXNnc3RyICIiCiAibW9zdHJhciBubyBmb3JtYXRvIGRlIHBhdGNoIGVtIHZleiBkZSBubyBmb3JtYXRvIHBvciBvbWlzc8OjbyAocGF0Y2ggKyBzdGF0KSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDEzCisjOiBidWlsdGluL2xvZy5jOjE0NDcKIG1zZ2lkICJNZXNzYWdpbmciCiBtc2dzdHIgIk1lbnNhZ2VtIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0OAogbXNnaWQgImhlYWRlciIKIG1zZ3N0ciAiY2FiZcOnYWxobyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE1CisjOiBidWlsdGluL2xvZy5jOjE0NDkKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICJhZGljaW9uYXIgY2FiZcOnYWxobyBkZSBlLW1haWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNiBidWlsdGluL2xvZy5jOjE0MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MCBidWlsdGluL2xvZy5jOjE0NTIKIG1zZ2lkICJlbWFpbCIKIG1zZ3N0ciAiZS1tYWlsIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MAogbXNnaWQgImFkZCBUbzogaGVhZGVyIgogbXNnc3RyICJhZGljaW9uYXIgY2FiZcOnYWxobyBUbzoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxOAorIzogYnVpbHRpbi9sb2cuYzoxNDUyCiBtc2dpZCAiYWRkIENjOiBoZWFkZXIiCiBtc2dzdHIgImFkaWNpb25hciBjYWJlw6dhbGhvIENjOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIwCisjOiBidWlsdGluL2xvZy5jOjE0NTQKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAiaWRlbnRpZGFkZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIxCisjOiBidWlsdGluL2xvZy5jOjE0NTUKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICIiCiAiZGVmaW5pciBvIGVuZGVyZcOnbyBGcm9tIGNvbW8gPGlkZW50aWRhZGU+IChvdSBjb21vIGlkZW50aWRhZGUgZG8gY29tbWl0dGVyICIKICJzZSBuw6NvIGluZGljYWRvKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIzCisjOiBidWlsdGluL2xvZy5jOjE0NTcKIG1zZ2lkICJtZXNzYWdlLWlkIgogbXNnc3RyICJpZC1tZW5zYWdlbSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI0CisjOiBidWlsdGluL2xvZy5jOjE0NTgKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgInVzYXIgbyBwcmltZWlybyBlbWFpbCBwYXJhIHJlc3BvbmRlciBhIDxpZC1tZW5zYWdlbT4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNSBidWlsdGluL2xvZy5jOjE0MjgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1OSBidWlsdGluL2xvZy5jOjE0NjIKIG1zZ2lkICJib3VuZGFyeSIKIG1zZ3N0ciAibGltaXRlIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2MAogbXNnaWQgImF0dGFjaCB0aGUgcGF0Y2giCiBtc2dzdHIgImFuZXhhciBvIHBhdGNoIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2MwogbXNnaWQgImlubGluZSB0aGUgcGF0Y2giCiBtc2dzdHIgImluY29ycG9yYXIgbyBwYXRjaCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDMzCisjOiBidWlsdGluL2xvZy5jOjE0NjcKIG1zZ2lkICJlbmFibGUgbWVzc2FnZSB0aHJlYWRpbmcsIHN0eWxlczogc2hhbGxvdywgZGVlcCIKIG1zZ3N0ciAiYXRpdmFyIG1lbnNhZ2VucyBwb3IgdMOzcGljb3MsIGVzdGlsb3M6IHNoYWxsb3cgKHJhc28pLCBkZWVwIChwcm9mdW5kbykiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNQorIzogYnVpbHRpbi9sb2cuYzoxNDY5CiBtc2dpZCAic2lnbmF0dXJlIgogbXNnc3RyICJhc3NpbmF0dXJhIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MAogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAiYWRpY2lvbmFyIHVtYSBhc3NpbmF0dXJhIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MQogbXNnaWQgImJhc2UtY29tbWl0IgogbXNnc3RyICJjb21taXQtYmFzZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM4CisjOiBidWlsdGluL2xvZy5jOjE0NzIKIG1zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgogbXNnc3RyICJhZGljaW9uYXIgaW5mb3JtYcOnw6NvIHByw6ktcmVxdWlzaXRvIGRhIMOhcnZvcmUgw6Agc8OpcmllIGRlIHBhdGNoZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0MAorIzogYnVpbHRpbi9sb2cuYzoxNDc0CiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIGZyb20gYSBmaWxlIgogbXNnc3RyICJhZGljaW9uYXIgdW1hIGFzc2luYXR1cmEgZGUgdW0gZmljaGVpcm8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0MQorIzogYnVpbHRpbi9sb2cuYzoxNDc1CiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAibsOjbyBpbXByaW1pciBvcyBub21lcyBkb3MgZmljaGVpcm9zIGRlIHBhdGNoIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTU2NQogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiLW4gZSAtayBzw6NvIG11dHVhbWVudGUgZXhjbHVzaXZvcy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzMwotbXNnaWQgIi0tc3ViamVjdC1wcmVmaXggYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgotbXNnc3RyICItLXN1YmplY3QtcHJlZml4IGUgLWsgc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2b3MuIgorIzogYnVpbHRpbi9sb2cuYzoxNTY3Cittc2dpZCAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCittc2dzdHIgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgZSAtayBzw6NvIG11dHVhbWVudGUgZXhjbHVzaXZvcy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MQorIzogYnVpbHRpbi9sb2cuYzoxNTc1CiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLW9ubHkgbsOjbyBmYXogc2VudGlkbyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQzCisjOiBidWlsdGluL2xvZy5jOjE1NzcKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1zdGF0dXMgbsOjbyBmYXogc2VudGlkbyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQ1CisjOiBidWlsdGluL2xvZy5jOjE1NzkKIG1zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tY2hlY2sgbsOjbyBmYXogc2VudGlkbyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTczCisjOiBidWlsdGluL2xvZy5jOjE2MDkKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAic2HDrWRhIHBhZHLDo28sIG91IGRpcmV0w7NyaW8sIHF1YWwgZGVsZXM/IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgY3JpYXIgbyBkaXJldMOzcmlvICclcyciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY3MgorIzogYnVpbHRpbi9sb2cuYzoxNzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHNpZ25hdHVyZSBmaWxlICclcyciCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGxlciBvIGZpY2hlaXJvIGRlIGFzc2luYXR1cmEgJyVzJyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzQzCisjOiBidWlsdGluL2xvZy5jOjE3NzcKIG1zZ2lkICJGYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBmaWxlcyIKIG1zZ3N0ciAiRmFsaGEgYW8gY3JpYXIgb3MgZmljaGVpcm9zIGRlIHNhw61kYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzkyCisjOiBidWlsdGluL2xvZy5jOjE4MjYKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKIG1zZ3N0ciAiZ2l0IGNoZXJyeSBbLXZdIFs8cmFtby1hLW1vbnRhbnRlPiBbPGhlYWQ+IFs8bGltaXRlPl1dXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxODQ2CisjOiBidWlsdGluL2xvZy5jOjE4ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgpAQCAtNzk2OCwxMDMgKzg5NjYsMTA3IEBACiAiTyByYW1vIHJlbW90byBzZWd1aWRvIG7Do28gZm9pIGVuY29udHJhZG8sIGVzcGVjaWZpcXVlIDxyYW1vLWEtbW9udGFudGU+ICIKICJtYW51YWxtZW50ZS5cbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjM3OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1OAogbXNnaWQgImdpdCBscy1maWxlcyBbPG9wdGlvbnM+XSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLWZpbGVzIFs8b3DDp8O1ZXM+XSBbPGZpY2hlaXJvPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MjcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MDcKIG1zZ2lkICJpZGVudGlmeSB0aGUgZmlsZSBzdGF0dXMgd2l0aCB0YWdzIgogbXNnc3RyICJpZGVudGlmaWNhciBvIGVzdGFkbyBkbyBmaWNoZWlybyBjb20gdGFncyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQyOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOQogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICIiCiAidXNhciBsZXRyYXMgbWluw7pzY3VsYXMgcGFyYSBmaWNoZWlyb3MgJ2Fzc3VtaWRvIG7Do28gYWx0ZXJhZG8nICgnYXNzdW1lICIKICJ1bmNoYW5nZWQnKSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMQogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICJtb3N0cmFyIGZpY2hlaXJvcyBlbSBjYWNoZSBuYSBzYcOtZGEgKHByZWRlZmluacOnw6NvKSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzMworIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMwogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJtb3N0cmFyIGZpY2hlaXJvcyBlbGltaW5hZG9zIG5hIHNhw61kYSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNQogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhciBmaWNoZWlyb3MgbW9kaWZpY2Fkb3MgbmEgc2HDrWRhIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDM3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE3CiBtc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJtb3N0cmFyIG91dHJvcyBmaWNoZWlyb3MgbmEgc2HDrWRhIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDM5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE5CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIm1vc3RyYXIgZmljaGVpcm9zIGlnbm9yYWRvcyBuYSBzYcOtZGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NDIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjIKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhciBub21lIGRlIG9iamV0b3MgY29tIGNvbnRlw7pkbyBwcmVwYXJhZG8sIG5hIHNhw61kYSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNAogbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCiBtc2dzdHIgIiIKICJtb3N0cmFyIGZpY2hlaXJvcyBubyBzaXN0ZW1hIGRlIGZpY2hlaXJvcyBxdWUgcHJlY2lzYW0gZGUgc2VyIHJlbW92aWRvcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0NgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZXMgb25seSIKIG1zZ3N0ciAibW9zdHJhciBub21lcyBkZSBkaXJldMOzcmlvcyAnb3RoZXInIChvdXRybykiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NDgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjgKIG1zZ2lkICJzaG93IGxpbmUgZW5kaW5ncyBvZiBmaWxlcyIKIG1zZ3N0ciAibW9zdHJhciBmaW5haXMgZGUgbGluaGEgZG9zIGZpY2hlaXJvcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMAogbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIm7Do28gbW9zdHJhciBkaXJldMOzcmlvcyB2YXppb3MiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzMKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIm1vc3RyYXIgZmljaGVpcm9zIG7Do28gaW50ZWdyYWRvcyBuYSBzYcOtZGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzUKIG1zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAibW9zdHJhciBpbmZvcm1hw6fDo28gZGUgcmVzb2x2ZXItZGVzZmF6ZXIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzcKIG1zZ2lkICJza2lwIGZpbGVzIG1hdGNoaW5nIHBhdHRlcm4iCiBtc2dzdHIgImlnbm9yYXIgZmljaGVpcm9zIHF1ZSBjb3JyZXNwb25kYW0gYW8gcGFkcsOjbyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MAogbXNnaWQgImV4Y2x1ZGUgcGF0dGVybnMgYXJlIHJlYWQgZnJvbSA8ZmlsZT4iCiBtc2dzdHIgImxlciBwYWRyw7VlcyBkZSBleGNsdXPDo28gZG8gPGZpY2hlaXJvPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MwogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgogbXNnc3RyICJsZXIgcGFkcsO1ZXMgZGUgZXhjbHVzw6NvIHBvciBkaXJldMOzcmlvIGRvIDxmaWNoZWlybz4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICJpbmNsdWlyIGFzIGV4Y2x1c8O1ZXMgc3RhbmRhcmQgZG8gZ2l0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ4CiBtc2dpZCAibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgIm1vc3RyYXIgb3MgY2FtaW5ob3MgcmVsYXRpdmFtZW50ZSBhbyBkaXJldMOzcmlvIHN1cGVyaW9yIGRvIHByb2pldG8iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTEKK21zZ2lkICJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIKK21zZ3N0ciAicGVyY29ycmVyIHN1Ym3Ds2R1bG9zIHJlY3Vyc2l2YW1lbnRlIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICJzZSB1bSA8ZmljaGVpcm8+IG7Do28gZXN0aXZlciBubyDDrW5kaWNlLCB0cmF0YXIgY29tbyBlcnJvIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDcyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU0CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgIsOhcnZvcmUtZXRjIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDczCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAiIgogImZpbmdpciBxdWUgb3MgY2FtaW5ob3MgcmVtb3ZpZG9zIGRlc2RlIDzDoXJ2b3JlLWV0Yz4gYWluZGEgZXN0w6NvIHByZXNlbnRlcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NwogbXNnaWQgInNob3cgZGVidWdnaW5nIGRhdGEiCiBtc2dzdHIgIm1vc3RyYXIgZGFkb3MgZGUgZGVwdXJhw6fDo28iCiAKQEAgLTgxNTEsMTkwICs5MTUzLDE3NiBAQAogbXNnc3RyICIiCiAibW9zdHJhciBhIMOhcnZvcmUgY29tcGxldGE7IG7Do28gYXBlbmFzIG8gZGlyZXTDs3JpbyBhdHVhbCAoaW1wbGljYSAtLWZ1bGwtbmFtZSkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NQorIzogYnVpbHRpbi9tZXJnZS5jOjQ2CiBtc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIFs8Y29tbWl0Pi4uLl0iCiBtc2dzdHIgImdpdCBtZXJnZSBbPG9ww6fDtWVzPl0gWzxjb21taXQ+Li4uXSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ2CisjOiBidWlsdGluL21lcmdlLmM6NDcKIG1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gPG1zZz4gSEVBRCA8Y29tbWl0PiIKIG1zZ3N0ciAiZ2l0IG1lcmdlIFs8b3DDp8O1ZXM+XSA8bXNnPiBIRUFEIDxjb21taXQ+IgogCi0jOiBidWlsdGluL21lcmdlLmM6NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0OAogbXNnaWQgImdpdCBtZXJnZSAtLWFib3J0IgogbXNnc3RyICJnaXQgbWVyZ2UgLS1hYm9ydCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwMQorIzogYnVpbHRpbi9tZXJnZS5jOjEwMgogbXNnaWQgInN3aXRjaCBgbScgcmVxdWlyZXMgYSB2YWx1ZSIKIG1zZ3N0ciAiYSBvcMOnw6NvICdtJyByZXF1ZXIgdW0gdmFsb3IiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgbWVyZ2Ugc3RyYXRlZ3kgJyVzJy5cbiIKIG1zZ3N0ciAiRXN0cmF0w6lnaWEgZGUgaW50ZWdyYcOnw6NvICclcycgbsOjbyBlbmNvbnRyYWRhLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM5CisjOiBidWlsdGluL21lcmdlLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF2YWlsYWJsZSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIkVzdHJhdMOpZ2lhcyBkaXNwb27DrXZlaXM6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ0CisjOiBidWlsdGluL21lcmdlLmM6MTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF2YWlsYWJsZSBjdXN0b20gc3RyYXRlZ2llcyBhcmU6IgogbXNnc3RyICJFc3RyYXTDqWdpYXMgcGVyc29uYWxpemFkYXMgZGlzcG9uw612ZWlzOiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE5NCBidWlsdGluL3B1bGwuYzoxMjYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTUgYnVpbHRpbi9wdWxsLmM6MTI3CiBtc2dpZCAiZG8gbm90IHNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAibsOjbyBhcHJlc2VudGFyIHVtIGRpZmZzdGF0IGFvIGZpbSBkYSBpbnRlZ3Jhw6fDo28iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTcgYnVpbHRpbi9wdWxsLmM6MTI5CisjOiBidWlsdGluL21lcmdlLmM6MTk4IGJ1aWx0aW4vcHVsbC5jOjEzMAogbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAibW9zdHJhciB1bSBkaWZmc3RhdCBhbyBmaW0gZGEgaW50ZWdyYcOnw6NvIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk4IGJ1aWx0aW4vcHVsbC5jOjEzMgorIzogYnVpbHRpbi9tZXJnZS5jOjE5OSBidWlsdGluL3B1bGwuYzoxMzMKIG1zZ2lkICIoc3lub255bSB0byAtLXN0YXQpIgogbXNnc3RyICIoc2luw7NuaW1vIGRlIC0tc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTM1CisjOiBidWlsdGluL21lcmdlLmM6MjAxIGJ1aWx0aW4vcHVsbC5jOjEzNgogbXNnaWQgImFkZCAoYXQgbW9zdCA8bj4pIGVudHJpZXMgZnJvbSBzaG9ydGxvZyB0byBtZXJnZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgogImFkaWNpb25hciAobm8gbcOheGltbyA8bj4pIGVudHJhZGFzIGRvIHNob3J0bG9nIMOgIG1lbnNhZ2VtIGRlIGNvbW1pdCBkYSAiCiAiaW50ZWdyYcOnw6NvIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAzIGJ1aWx0aW4vcHVsbC5jOjEzOAorIzogYnVpbHRpbi9tZXJnZS5jOjIwNCBidWlsdGluL3B1bGwuYzoxMzkKIG1zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKIG1zZ3N0ciAiY3JpYXIgdW0gw7puaWNvIGNvbW1pdCBlbSB2ZXogZGUgcmVhbGl6YXIgdW1hIGludGVncmHDp8OjbyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwNSBidWlsdGluL3B1bGwuYzoxNDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDYgYnVpbHRpbi9wdWxsLmM6MTQyCiBtc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgogbXNnc3RyICJyZWFsaXphciB1bSBjb21taXQgc2UgYSBpbnRlZ3Jhw6fDo28gZm9yIGJlbSBzdWNlZGlkYSAocHJlZGVmaW5pw6fDo28pIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA3IGJ1aWx0aW4vcHVsbC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDUKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgImVkaXRhciBhIG1lbnNhZ2VtIGFudGVzIGRlIHN1Ym1ldGVyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA4CisjOiBidWlsdGluL21lcmdlLmM6MjA5CiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKIG1zZ3N0ciAicGVybWl0aXIgYXZhbsOnbyByw6FwaWRvIChwcmVkZWZpbmnDp8OjbykiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTAgYnVpbHRpbi9wdWxsLmM6MTUwCisjOiBidWlsdGluL21lcmdlLmM6MjExIGJ1aWx0aW4vcHVsbC5jOjE1MQogbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCiBtc2dzdHIgImFib3J0YXIgc2UgbsOjbyDDqSBwb3Nzw612ZWwgZWZldHVhciBhdmFuw6dvIHLDoXBpZG8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTQKLW1zZ2lkICJWZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCisjOiBidWlsdGluL21lcmdlLmM6MjE1IGJ1aWx0aW4vcHVsbC5jOjE1NAorbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKIG1zZ3N0ciAidmVyaWZpY2FyIHNlIG8gY29tbWl0IHRlbSB1bWEgYXNzaW5hdHVyYSBHUEcgdsOhbGlkYSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNSBidWlsdGluL25vdGVzLmM6NzcxIGJ1aWx0aW4vcHVsbC5jOjE1NworIzogYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL25vdGVzLmM6Nzc0IGJ1aWx0aW4vcHVsbC5jOjE1OAogIzogYnVpbHRpbi9yZXZlcnQuYzo4OQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICJlc3RyYXTDqWdpYSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL3B1bGwuYzoxNTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTU5CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgogbXNnc3RyICJlc3RyYXTDqWdpYSBkZSBpbnRlZ3Jhw6fDo28gYSB1c2FyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE3IGJ1aWx0aW4vcHVsbC5jOjE2MQorIzogYnVpbHRpbi9tZXJnZS5jOjIxOCBidWlsdGluL3B1bGwuYzoxNjIKIG1zZ2lkICJvcHRpb249dmFsdWUiCiBtc2dzdHIgIm9ww6fDo289dmFsb3IiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9wdWxsLmM6MTYyCisjOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vcHVsbC5jOjE2MwogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIm9ww6fDtWVzIGRhIGVzdHJhdMOpZ2lhIGRlIGludGVncmHDp8OjbyBzZWxlY2lvbmFkYSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyMAorIzogYnVpbHRpbi9tZXJnZS5jOjIyMQogbXNnaWQgIm1lcmdlIGNvbW1pdCBtZXNzYWdlIChmb3IgYSBub24tZmFzdC1mb3J3YXJkIG1lcmdlKSIKIG1zZ3N0ciAibWVuc2FnZW0gZGUgY29tbWl0IChkZSBpbnRlZ3Jhw6fDo28gbsOjbyBzdXNjZXTDrXZlbCBhIGF2YW7Dp28gcsOhcGlkbykiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjUKIG1zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiYWJvcnRhciBpbnRlZ3Jhw6fDo28gZW0gY3Vyc28iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjYgYnVpbHRpbi9wdWxsLmM6MTY5CisjOiBidWlsdGluL21lcmdlLmM6MjI3IGJ1aWx0aW4vcHVsbC5jOjE3MAogbXNnaWQgImFsbG93IG1lcmdpbmcgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAicGVybWl0aXIgaW50ZWdyYcOnw6NvIGRlIGhpc3TDs3JpY29zIG7Do28gcmVsYWNpb25hZG9zIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU0CisjOiBidWlsdGluL21lcmdlLmM6MjU1CiBtc2dpZCAiY291bGQgbm90IHJ1biBzdGFzaC4iCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBleGVjdXRhciBvIGNvbWFuZG8gc3Rhc2guIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU5CisjOiBidWlsdGluL21lcmdlLmM6MjYwCiBtc2dpZCAic3Rhc2ggZmFpbGVkIgogbXNnc3RyICJmYWxoYSBhbyBleGVjdXRhciBvIGNvbWFuZG8gc3Rhc2giCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0OiAlcyIKIG1zZ3N0ciAibm9tZSBkZSBvYmpldG8gaW52w6FsaWRvOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI4MyBidWlsdGluL21lcmdlLmM6MzAwCisjOiBidWlsdGluL21lcmdlLmM6Mjg0IGJ1aWx0aW4vbWVyZ2UuYzozMDEKIG1zZ2lkICJyZWFkLXRyZWUgZmFpbGVkIgogbXNnc3RyICJmYWxoYSBhbyBleGVjdXRhciBvIGNvbWFuZG8gcmVhZC10cmVlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzMwCisjOiBidWlsdGluL21lcmdlLmM6MzMxCiBtc2dpZCAiIChub3RoaW5nIHRvIHNxdWFzaCkiCiBtc2dzdHIgIiAobsOjbyBow6EgbmFkYSBwYXJhIGVzbWFnYXIpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzQzCisjOiBidWlsdGluL21lcmdlLmM6MzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNxdWFzaCBjb21taXQgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAiQ29tbWl0IGVzbWFnYWRvIC0tIEhFQUQgbsOjbyBhdHVhbGl6YWRhXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNDcgYnVpbHRpbi9tZXJnZS5jOjc2NyBidWlsdGluL21lcmdlLmM6OTg3Ci0jOiBidWlsdGluL21lcmdlLmM6MTAwMAotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKLW1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGVzY3JldmVyIGVtICclcyciCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNzUKLW1zZ2lkICJXcml0aW5nIFNRVUFTSF9NU0ciCi1tc2dzdHIgIkEgZXNjcmV2ZXIgU1FVQVNIX01TRyIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjM3NwotbXNnaWQgIkZpbmlzaGluZyBTUVVBU0hfTVNHIgotbXNnc3RyICJBIGNvbmNsdWlyIFNRVUFTSF9NU0ciCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0MDAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2UgbWVzc2FnZSAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICJOZW5odW1hIG1lbnNhZ2VtIGRlIGludGVncmHDp8OjbyAtLSBIRUFEIG7Do28gYXR1YWxpemFkYVxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDUxCisjOiBidWlsdGluL21lcmdlLmM6NDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIiclcycgbsOjbyBhcG9udGEgcGFyYSB1bSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1NDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAiVmFsb3IgZGUgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBpbmNvcnJldG86ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NjYwCisjOiBidWlsdGluL21lcmdlLmM6NjUyCiBtc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKIG1zZ3N0ciAiTsOjbyBzZSBwcm9jZXNzYSBvdXRyYSBjb2lzYSBzZW7Do28gaW5jb3Jwb3Jhw6fDo28gZGUgZHVhcyBjYWJlw6dhcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NzQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBvcHRpb24gZm9yIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIG1zZ3N0ciAiT3DDp8OjbyBkZXNjb25oZWNpZGEgZGUgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6Njg3CisjOiBidWlsdGluL21lcmdlLmM6NjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGVzY3JldmVyICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzc2CisjOiBidWlsdGluL21lcmdlLmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGxlciAnJXMnIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzg1CisjOiBidWlsdGluL21lcmdlLmM6NzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogIkNvbW1pdCBkZSBpbnRlZ3Jhw6fDo28gbsOjbyByZWFsaXphZG87IHVzZSAnZ2l0IGNvbW1pdCcgcGFyYSBjb25jbHVpciBhICIKICJpbnRlZ3Jhw6fDo28uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgpAQCAtODM1MCw1NCArOTMzOCw2OCBAQAogIkxpbmhhcyBjb21lw6dhZGFzIGNvbSAnJWMnIHPDo28gaWdub3JhZGFzIGUgdW1hIG1lbnNhZ2VtIHZhemlhXG4iCiAiYWJvcnRhIG8gY29tbWl0LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODE1CisjOiBidWlsdGluL21lcmdlLmM6NzcyCiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICJNZW5zYWdlbSBkZSBjb21taXQgdmF6aWEuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODM1CisjOiBidWlsdGluL21lcmdlLmM6NzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvbmRlcmZ1bC5cbiIKIG1zZ3N0ciAiTWFyYXZpbGhvc28uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIGZhaWxlZDsgZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBjb21taXQgdGhlIHJlc3VsdC5cbiIKIG1zZ3N0ciAiIgogIkZhbGhhIGFvIHJlYWxpemFyIGludGVncmHDp8OjbyBhdXRvbcOhdGljYTsgY29ycmlqYSBvcyBjb25mbGl0b3MgZSBzdWJtZXRhIG8gIgogInJlc3VsdGFkby5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkwNgorIzogYnVpbHRpbi9tZXJnZS5jOjg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKIG1zZ3N0ciAiJyVzJyBuw6NvIMOpIHVtIGNvbW1pdCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0NworIzogYnVpbHRpbi9tZXJnZS5jOjkwNAogbXNnaWQgIk5vIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiTmVuaHVtIHJhbW8gYXR1YWwuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTQ5CisjOiBidWlsdGluL21lcmdlLmM6OTA2CiBtc2dpZCAiTm8gcmVtb3RlIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJOw6NvIGjDoSB1bSByZW1vdG8gcGFyYSBvIHJhbW8gYXR1YWwuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTUxCisjOiBidWlsdGluL21lcmdlLmM6OTA4CiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJOw6NvIGVzdMOhIGRlZmluaWRvIG5lbmh1bSByYW1vIGEgbW9udGFudGUgcGFyYSBvIHJhbW8gYXR1YWwuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTU2CisjOiBidWlsdGluL21lcmdlLmM6OTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHJlbW90ZS10cmFja2luZyBicmFuY2ggZm9yICVzIGZyb20gJXMiCiBtc2dzdHIgIk5lbmh1bSByYW1vIGRlIG1vbml0b3JpemHDp8OjbyByZW1vdG8gc2VndWlkbyBwb3IgJXMgZGUgJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDkxCisjOiBidWlsdGluL21lcmdlLmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB2YWx1ZSAnJXMnIGluIGVudmlyb25tZW50ICclcyciCittc2dzdHIgIlZhbG9yICclcycgaW5jb3JyZXRvIG5vIGFtYmllbnRlICclcyciCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZmVjaGFyICclcyciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjE5CisjOiBidWlsdGluL21lcmdlLmM6MTA2MQorIywgYy1mb3JtYXQKK21zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCittc2dzdHIgIm7Do28gc2UgcG9kZSBpbnRlZ3JhciBlbSAlczogJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDk1Cittc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCittc2dzdHIgIm7Do28gc2UgcG9kZSBpbnRlZ3JhciIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExNjIKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIk7Do28gaMOhIG5lbmh1bWEgaW50ZWdyYcOnw6NvIHBhcmEgc2UgYWJvcnRhciAoTUVSR0VfSEVBRCBuw6NvIHByZXNlbnRlKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjM1CisjOiBidWlsdGluL21lcmdlLmM6MTE3OAogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCkBAIC04NDA1LDcgKzk0MDcsNyBAQAogIk7Do28gY29uY2x1aXUgYSBpbnRlZ3Jhw6fDo28gKE1FUkdFX0hFQUQgcHJlc2VudGUpLlxuIgogIlN1Ym1ldGEgYXMgc3VhcyBhbHRlcmHDp8O1ZXMgYW50ZXMgZGUgaW50ZWdyYXIuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI0MgorIzogYnVpbHRpbi9tZXJnZS5jOjExODUKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtODQxMywxMDkgKzk0MTUsMTE3IEBACiAiQ2hlcnJ5LXBpY2sgbsOjbyBjb25jbHXDrWRvIChDSEVSUllfUElDS19IRUFEIHByZXNlbnRlKS5cbiIKICJTdWJtZXRhIGFzIHN1YXMgYWx0ZXJhw6fDtWVzIGFudGVzIGRlIGludGVncmFyLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg4CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuIgogbXNnc3RyICJDaGVycnktcGljayBuw6NvIGNvbmNsdcOtZG8gKENIRVJSWV9QSUNLX0hFQUQgcHJlc2VudGUpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTk3CiBtc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1uby1mZi4iCiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGNvbWJpbmFyIC0tc3F1YXNoIGUgLS1uby1mZi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjYyCisjOiBidWlsdGluL21lcmdlLmM6MTIwNQogbXNnaWQgIk5vIGNvbW1pdCBzcGVjaWZpZWQgYW5kIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG5vdCBzZXQuIgogbXNnc3RyICJOZW5odW0gY29tbWl0IGVzcGVjaWZpY2FkbyBlIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG7Do28gZGVmaW5pZG8uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI3OQorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjIKIG1zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKIG1zZ3N0ciAiRXNtYWdhciB1bSBjb21taXQgbnVtYSBjYWJlw6dhIHZhemlhIGFpbmRhIG7Do28gw6kgc3Vwb3J0YWRvIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4MQorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjQKIG1zZ2lkICJOb24tZmFzdC1mb3J3YXJkIGNvbW1pdCBkb2VzIG5vdCBtYWtlIHNlbnNlIGludG8gYW4gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiIgogIk7Do28gZmF6IHNlbnRpZG8gc3VibWV0ZXIgZGUgbW9kbyBuw6NvIHN1c2NldMOtdmVsIGEgYXZhbsOnbyByw6FwaWRvLCBudW1hIGNhYmXDp2EgIgogInZhemlhIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4NgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgLSBub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKIG1zZ3N0ciAiJXMgLSBuw6NvIMOpIGFsZ28gc2UgcG9zc2EgaW50ZWdyYXIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg4CisjOiBidWlsdGluL21lcmdlLmM6MTIzMQogbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIlPDsyBzZSBwb2RlIGludGVncmFyIGV4YXRhbWVudGUgdW0gY29tbWl0IG51bWEgY2FiZcOnYSB2YXppYSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYW4gdW50cnVzdGVkIEdQRyBzaWduYXR1cmUsIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIiIKICJBIGFzc2luYXR1cmEgR1BHIGRvIGNvbW1pdCAlcywgYWxlZ2FkYW1lbnRlIGFzc2luYWRhIHBvciAlcywgbsOjbyDDqSBkZSAiCiAiY29uZmlhbsOnYS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzQ3CisjOiBidWlsdGluL21lcmdlLmM6MTI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgYmFkIEdQRyBzaWduYXR1cmUgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiIgogIkEgYXNzaW5hdHVyYSBHUEcgZG8gY29tbWl0ICVzLCBhbGVnYWRhbWVudGUgYXNzaW5hZGEgcG9yICVzLCBlc3TDoSBpbmNvcnJldGEuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM1MAorIzogYnVpbHRpbi9tZXJnZS5jOjEyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgYSBHUEcgc2lnbmF0dXJlLiIKIG1zZ3N0ciAiTyBjb21taXQgJXMgbsOjbyB0ZW0gdW1hIGFzc2luYXR1cmEgR1BHLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBnb29kIEdQRyBzaWduYXR1cmUgYnkgJXNcbiIKIG1zZ3N0ciAiQSBhc3NpbmF0dXJhIEdQRyBkbyBjb21taXQgJXMgcG9yICVzIGVzdMOhIGNvcnJldGFcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzU4CiBtc2dpZCAicmVmdXNpbmcgdG8gbWVyZ2UgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAiaW50ZWdyYcOnw6NvIGRlIGhpc3TDs3JpY29zIG7Do28gcmVsYWNpb25hZG9zIHJlY3VzYWRhIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQzOQorIzogYnVpbHRpbi9tZXJnZS5jOjEzNjcKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIgorbXNnc3RyICJKw6EgZXN0w6EgYXR1YWxpemFkby4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgogbXNnc3RyICJBIGF0dWFsaXphciAlcy4uJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICJBIHRlbnRhciBpbnRlZ3Jhw6fDo28gbWVzbW8gdHJpdmlhbCBubyBpbnRlcmlvciBkbyDDrW5kaWNlLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDgzCisjOiBidWlsdGluL21lcmdlLmM6MTQyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3BlLlxuIgogbXNnc3RyICJOw6NvLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUxNQorIzogYnVpbHRpbi9tZXJnZS5jOjE0NTAKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIFllZWFoISIKK21zZ3N0ciAiSsOhIGVzdMOhIGF0dWFsaXphZG8uIFNpbSEiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDU2CiBtc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBhdmFuw6dhciByYXBpZGFtZW50ZSwgYSBhYm9ydGFyLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MzggYnVpbHRpbi9tZXJnZS5jOjE2MTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc5IGJ1aWx0aW4vbWVyZ2UuYzoxNTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgogbXNnc3RyICJBIHJlY3VhciBhIMOhcnZvcmUgYW8gc2V1IGVzdGFkbyBvcmlnaW5hbC4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU0MgorIzogYnVpbHRpbi9tZXJnZS5jOjE0ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIG1lcmdlIHN0cmF0ZWd5ICVzLi4uXG4iCiBtc2dzdHIgIkEgdGVudGFyIGEgZXN0cmF0w6lnaWEgZGUgaW50ZWdyYcOnw6NvICVzLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjA4CisjOiBidWlsdGluL21lcmdlLmM6MTU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBzdHJhdGVneSBoYW5kbGVkIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiTmVuaHVtYSBlc3RyYXTDqWdpYSBkZSBpbnRlZ3Jhw6fDo28gY29uc2VndWl1IHByb2Nlc3NhciBhIGludGVncmHDp8Ojby5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgogbXNnc3RyICJGYWxoYSBhbyBpbnRlZ3JhciBjb20gYSBlc3RyYXTDqWdpYSAlcy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzaW5nIHRoZSAlcyB0byBwcmVwYXJlIHJlc29sdmluZyBieSBoYW5kLlxuIgogbXNnc3RyICJBIHVzYXIgJXMgcGFyYSBwcmVwYXJhciByZXNvbHXDp8OjbyBtYW51YWwuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjMxCisjOiBidWlsdGluL21lcmdlLmM6MTU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICIiCkBAIC04NTQyLDIzICs5NTUyLDIzIEBACiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDxyZWY+IFs8Y29tbWl0Pl0iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmZXLDqm5jaWE+IFs8Y29tbWl0Pl0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE3CiBtc2dpZCAib3V0cHV0IGFsbCBjb21tb24gYW5jZXN0b3JzIgogbXNnc3RyICJtb3N0cmFyIHRvZG9zIG9zIGFudGVjZXNzb3JlcyIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE2CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTkKIG1zZ2lkICJmaW5kIGFuY2VzdG9ycyBmb3IgYSBzaW5nbGUgbi13YXkgbWVyZ2UiCiBtc2dzdHIgImVuY29udHJhciBhbnRlY2Vzc29yZXMgZGUgdW1hIMO6bmljYSBpbnRlZ3Jhw6fDo28gY29tIG4gcG9udG9zIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTgKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMQogbXNnaWQgImxpc3QgcmV2cyBub3QgcmVhY2hhYmxlIGZyb20gb3RoZXJzIgogbXNnc3RyICJsaXN0YXIgcmV2aXPDtWVzIG7Do28gYWxjYW7Dp8OhdmVpcyBhIHBhcnRpciBkZSBvdXRyYXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIzCiBtc2dpZCAiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IgogbXNnc3RyICJvIHByaW1laXJvIMOpIGFudGVjZXNzb3IgZG8gc2VndW5kbz8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMgorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjI1CiBtc2dpZCAiZmluZCB3aGVyZSA8Y29tbWl0PiBmb3JrZWQgZnJvbSByZWZsb2cgb2YgPHJlZj4iCiBtc2dzdHIgIiIKICJkZXNjb2JyaXIgb25kZSBmb2kgcXVlIG8gPGNvbW1pdD4gZGl2ZXJnaXUgdXNhbmRvIG8gcmVmbG9nIGRhIDxyZWZlcsOqbmNpYT4iCkBAIC04NjAzLDYgKzk2MTMsMzcgQEAKIG1zZ2lkICJzZXQgbGFiZWxzIGZvciBmaWxlMS9vcmlnLWZpbGUvZmlsZTIiCiBtc2dzdHIgImRlZmluaXIgaWRlbnRpZmljYXJlcyBwYXJhIGZpY2hlaXJvMS9maWNoZWlyby1vcmlnL2ZpY2hlaXJvMiIKIAorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAlcyIKK21zZ3N0ciAib3DDp8OjbyBkZXNjb25oZWNpZG8gJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYW5hbGlzYXIgbyBvYmpldG8gJyVzJyIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlLiBJZ25vcmluZyAlcy4iCittc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2VzLiBJZ25vcmluZyAlcy4iCittc2dzdHJbMF0gIm7Do28gw6kgcG9zc8OtdmVsIHByb2Nlc3NhciBtYWlzIGRvIHF1ZSAlZCBiYXNlLiBJZ25vcmFyICVzLiIKK21zZ3N0clsxXSAibsOjbyDDqSBwb3Nzw612ZWwgcHJvY2Vzc2FyIG1haXMgZG8gcXVlICVkIGJhc2VzLiBJZ25vcmFyICVzLiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2MworbXNnaWQgIm5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCittc2dzdHIgIm7Do28gc2UgcG9kZSBwcm9jZXNzYXIgb3V0cmEgY29pc2Egc2Vuw6NvIGludGVncmHDp8OjbyBkZSBkdWFzIGNhYmXDp2FzLiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2OSBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIHJlZiAnJXMnIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcmVzb2x2ZXIgYSByZWZlcsOqbmNpYSAlcyIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJNZXJnaW5nICVzIHdpdGggJXNcbiIKK21zZ3N0ciAiQSBpbnRlZ3JhciAlcyBjb20gJXNcbiIKKwogIzogYnVpbHRpbi9ta3RyZWUuYzo2NQogbXNnaWQgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCiBtc2dzdHIgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCkBAIC04NjI0LDE1ICs5NjY1LDE0IEBACiBtc2dzdHIgImdpdCBtdiBbPG9ww6fDtWVzPl0gPG9yaWdlbT4uLi4gPGRlc3Rpbm8+IgogCiAjOiBidWlsdGluL212LmM6NzAKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCi1tc2dzdHIgIk8gZGlyZXTDs3JpbyAlcyBlc3TDoSBubyDDrW5kaWNlIG1hcyBuw6NvIGVtIG5lbmh1bSBzdWJtw7NkdWxvPyIKK21zZ3N0ciAiTyBkaXJldMOzcmlvICVzIGVzdMOhIG5vIMOtbmRpY2UgcG9yw6ltIG5lbmh1bSBzdWJtw7NkdWxvPyIKIAogIzogYnVpbHRpbi9tdi5jOjcyIGJ1aWx0aW4vcm0uYzozMTcKIG1zZ2lkICJQbGVhc2Ugc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKIG1zZ3N0ciAiIgotIlByZXBhcmUgYXMgc3VhcyBhbHRlcmHDp8O1ZXMgZW0gLmdpdG1vZHVsZXMgb3UgZW1waWxoZS1hcyAoc3Rhc2gpIHBhcmEgIgotInByb3NzZWd1aXIiCisiUHJlcGFyZSBhcyBzdWFzIGFsdGVyYcOnw7VlcyBlbSAuZ2l0bW9kdWxlcyBvdSBlc2NvbmRhLWFzIHBhcmEgcHJvc3NlZ3VpciIKIAogIzogYnVpbHRpbi9tdi5jOjkwCiAjLCBjLWZvcm1hdApAQCAtODY0NywxMDkgKzk2ODcsMTA5IEBACiBtc2dpZCAic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiCiBtc2dzdHIgImlnbm9yYXIgZXJyb3MgYW8gbW92ZXIvbXVkYXIgbyBub21lIgogCi0jOiBidWlsdGluL212LmM6MTUyCisjOiBidWlsdGluL212LmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICJvIGRlc3Rpbm8gJyVzJyBuw6NvIMOpIHVtIGRpcmV0w7NyaW8iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNjMKKyM6IGJ1aWx0aW4vbXYuYzoxNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICJBIHZlcmlmaWNhciBhIG11ZGFuw6dhIGRlIG5vbWUgZGUgJyVzJyBwYXJhICclcydcbiIKIAotIzogYnVpbHRpbi9tdi5jOjE2NworIzogYnVpbHRpbi9tdi5jOjE3MAogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgIm9yaWdlbSBpbmNvcnJldGEiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzAKKyM6IGJ1aWx0aW4vbXYuYzoxNzMKIG1zZ2lkICJjYW4gbm90IG1vdmUgZGlyZWN0b3J5IGludG8gaXRzZWxmIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBtb3ZlciB1bSBkaXJldMOzcmlvIHBhcmEgZGVudHJvIGRlIHNpIHByw7NwcmlvIgogCi0jOiBidWlsdGluL212LmM6MTczCisjOiBidWlsdGluL212LmM6MTc2CiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgbW92ZXIgdW0gZGlyZXTDs3JpbyBwYXJhIHVtIGZpY2hlaXJvIgogCi0jOiBidWlsdGluL212LmM6MTgyCisjOiBidWlsdGluL212LmM6MTg1CiBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKIG1zZ3N0ciAibyBkaXJldMOzcmlvIGRlIG9yaWdlbSBlc3TDoSB2YXppbyIKIAotIzogYnVpbHRpbi9tdi5jOjIwNworIzogYnVpbHRpbi9tdi5jOjIxMAogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgIm7Do28gZXN0w6Egbm8gY29udHJvbG8gZGUgdmVyc8O1ZXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTAKKyM6IGJ1aWx0aW4vbXYuYzoyMTMKIG1zZ2lkICJkZXN0aW5hdGlvbiBleGlzdHMiCiBtc2dzdHIgIm8gZGVzdGlubyBqw6EgZXhpc3RlIgogCi0jOiBidWlsdGluL212LmM6MjE4CisjOiBidWlsdGluL212LmM6MjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgImEgc3Vic3RpdHVpciAnJXMnIgogCi0jOiBidWlsdGluL212LmM6MjIxCisjOiBidWlsdGluL212LmM6MjI0CiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgc3Vic3RpdHVpciIKIAotIzogYnVpbHRpbi9tdi5jOjIyNAorIzogYnVpbHRpbi9tdi5jOjIyNwogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAibcO6bHRpcGxhcyBvcmlnZW5zIHBhcmEgbyBtZXNtbyBkZXN0aW5vIgogCi0jOiBidWlsdGluL212LmM6MjI2CisjOiBidWlsdGluL212LmM6MjI5CiBtc2dpZCAiZGVzdGluYXRpb24gZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJvIGRpcmV0w7NyaW8gZGUgZGVzdGlubyBuw6NvIGV4aXN0ZSIKIAotIzogYnVpbHRpbi9tdi5jOjIzMworIzogYnVpbHRpbi9tdi5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiJXMsIG9yaWdlbT0lcywgZGVzdGlubz0lcyIKIAotIzogYnVpbHRpbi9tdi5jOjI1NAorIzogYnVpbHRpbi9tdi5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlc1xuIgogbXNnc3RyICJBIG11ZGFyIGRlIG5vbWUgZGUgJXMgcGFyYSAlc1xuIgogCi0jOiBidWlsdGluL212LmM6MjYwIGJ1aWx0aW4vcmVtb3RlLmM6NzE0IGJ1aWx0aW4vcmVwYWNrLmM6MzY1CisjOiBidWlsdGluL212LmM6MjYzIGJ1aWx0aW4vcmVtb3RlLmM6NzEwIGJ1aWx0aW4vcmVwYWNrLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICJmYWxoYSBhbyBtdWRhciBvIG5vbWUgZGUgJyVzJyIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1NwogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8b3DDp8O1ZXM+XSA8Y29tbWl0Pi4uLiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8b3DDp8O1ZXM+XSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI2MAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLXN0ZGluIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxvcMOnw7Vlcz5dIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTEKIG1zZ2lkICJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiCiBtc2dzdHIgImltcHJpbWlyIGFwZW5hcyBub21lcyAoc2VtIFNIQS0xKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMworIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMgogbXNnaWQgIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIKIG1zZ3N0ciAidXNhciBhcGVuYXMgdGFncyBwYXJhIGRlc2lnbmFyIGNvbW1pdHMiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTUKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTQKIG1zZ2lkICJvbmx5IHVzZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAidXNhciBhcGVuYXMgcmVmZXLDqm5jaWEgcXVlIGNvcnJlc3BvbmRhbSBhbyA8cGFkcsOjbz4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTYKIG1zZ2lkICJsaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzIgogbXNnc3RyICJsaXN0YXIgdG9kb3Mgb3MgY29tbWl0cyBhbGNhbsOnw6F2ZWlzIGEgcGFydGlyIGRlIHRvZGFzIGFzIHJlZmVyw6puY2lhcyIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNwogbXNnaWQgInJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAibGVyIGRhIGVudHJhZGEgcGFkcsOjbyIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAogbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKIG1zZ3N0ciAicGVybWl0aXIgaW1wcmltaXIgbm9tZXMgJ2luZGVmaW5pZG9zJyAocHJlZGVmaW5pw6fDo28pIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzI1CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzI0CiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbiB0aGUgaW5wdXQgKGludGVybmFsIHVzZSkiCiBtc2dzdHIgImRlc3JlZmVyZW5jaWFyIHRhZ3MgbmEgZW50cmFkYSAodXNvIGludGVybm8pIgogCkBAIC04ODYzLDYgKzk5MDMsMTAgQEAKIG1zZ2lkICJnaXQgbm90ZXMgZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGdldC1yZWYiCiAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NAorbXNnaWQgIldyaXRlL2VkaXQgdGhlIG5vdGVzIGZvciB0aGUgZm9sbG93aW5nIG9iamVjdDoiCittc2dzdHIgIkVzY3JldmEvZWRpdGUgYXMgbm90YXMgZG8gc2VndWludGUgb2JqZXRvOiIKKwogIzogYnVpbHRpbi9ub3Rlcy5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhcnQgJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKQEAgLTg4NzcsODAgKzk5MjEsOTkgQEAKIG1zZ2lkICJmYWlsZWQgdG8gZmluaXNoICdzaG93JyBmb3Igb2JqZWN0ICclcyciCiBtc2dzdHIgImZhbGhhIGFvIGNvbmNsdWlyIG8gY29tYW5kbyAnc2hvdycgc29icmUgbyBvYmpldG8gJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE3NCBidWlsdGluL3RhZy5jOjI0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKLW1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGNyaWFyIG8gZmljaGVpcm8gJyVzJyIKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxOTQKK21zZ2lkICJwbGVhc2Ugc3VwcGx5IHRoZSBub3RlIGNvbnRlbnRzIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24iCittc2dzdHIgImZvcm5lw6dhIG8gY29udGXDumRvIGRhIG5vdGEgdXNhbmRvIGEgb3DDp8OjbyAtbSBvdSAtRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE5MwotbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKLW1zZ3N0ciAiRm9ybmXDp2EgbyBjb250ZcO6ZG8gZGEgbm90YSB1c2FuZG8gYSBvcMOnw6NvIC1tIG91IC1GIgotCi0jOiBidWlsdGluL25vdGVzLmM6MjAyCisjOiBidWlsdGluL25vdGVzLmM6MjAzCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5vdGUgb2JqZWN0IgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBlc2NyZXZlciBvIG9iamV0byBkZSBub3RhIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjA0CisjOiBidWlsdGluL25vdGVzLmM6MjA1CiAjLCBjLWZvcm1hdAotbXNnaWQgIlRoZSBub3RlIGNvbnRlbnRzIGhhdmUgYmVlbiBsZWZ0IGluICVzIgotbXNnc3RyICJPIGNvbnRlw7pkbyBkYSBub3RhIGZvaSBndWFyZGFkbyBlbSAlcyIKK21zZ2lkICJ0aGUgbm90ZSBjb250ZW50cyBoYXZlIGJlZW4gbGVmdCBpbiAlcyIKK21zZ3N0ciAibyBjb250ZcO6ZG8gZGEgbm90YSBmb2kgY29sb2NhZG8gZW0gJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMzIgYnVpbHRpbi90YWcuYzo0MzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMzMgYnVpbHRpbi90YWcuYzo0MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgbGVyICclcyciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMzQgYnVpbHRpbi90YWcuYzo0NDIKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMzUgYnVpbHRpbi90YWcuYzo0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gb3IgcmVhZCAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgb3UgbGVyICclcyciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNTQgYnVpbHRpbi9ub3Rlcy5jOjMwNSBidWlsdGluL25vdGVzLmM6MzA3CisjOiBidWlsdGluL25vdGVzLmM6MzcyIGJ1aWx0aW4vbm90ZXMuYzo0MjcgYnVpbHRpbi9ub3Rlcy5jOjUxMworIzogYnVpbHRpbi9ub3Rlcy5jOjUxOCBidWlsdGluL25vdGVzLmM6NTk2IGJ1aWx0aW4vbm90ZXMuYzo2NTkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlYWQgb2JqZWN0ICclcycuIgotbXNnc3RyICJGYWxoYSBhbyBsZXIgbyBvYmpldG8gJyVzJy4iCittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCittc2dzdHIgImZhbGhhIGFvIHJlc29sdmVyICclcycgY29tbyB1bWEgcmVmZXLDqm5jaWEgdsOhbGlkYS4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNjAKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNTcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIgotbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBsZXIgb3MgZGFkb3MgZGEgbm90YSBkZSB1bSBvYmpldG8gbsOjby1ibG9iICclcycuIgorbXNnaWQgImZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKK21zZ3N0ciAiZmFsaGEgYW8gbGVyIG8gb2JqZXRvICclcycuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzYyIGJ1aWx0aW4vbm90ZXMuYzo0MTcgYnVpbHRpbi9ub3Rlcy5jOjQ5MwotIzogYnVpbHRpbi9ub3Rlcy5jOjUwNSBidWlsdGluL25vdGVzLmM6NTgxIGJ1aWx0aW4vbm90ZXMuYzo2NDkKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NDYKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIgorbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBsZXIgb3MgZGFkb3MgZGEgbm90YSBkZSB1bSBvYmpldG8gbsOjby1ibG9iICclcycuIgorCisjOiBidWlsdGluL25vdGVzLmM6MzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKK21zZ3N0ciAibGluaGEgZGUgZW50cmFkYSBtYWxmb3JtYWRhOiAnJXMnLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKK21zZ3N0ciAiZmFsaGEgYW8gY29waWFyIG5vdGFzIGRlICclcycgcGFyYSAnJXMnIgorCisjLiBUUkFOU0xBVE9SUzogdGhlIGZpcnN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgYnkgYQorIy4gZ2l0IG5vdGVzIGNvbW1hbmQ6ICdhZGQnLCAnbWVyZ2UnLCAncmVtb3ZlJywgZXRjLgorIzogYnVpbHRpbi9ub3Rlcy5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZ1c2luZyB0byAlcyBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCittc2dzdHIgImZvaSByZWN1c2FkbyBlZmV0dWFyICVzIGRlIG5vdGFzIGVtICVzIChmb3JhIGRlIHJlZnMvbm90ZXMvKSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjM2NSBidWlsdGluL25vdGVzLmM6NDIwIGJ1aWx0aW4vbm90ZXMuYzo0OTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MDggYnVpbHRpbi9ub3Rlcy5jOjU4NCBidWlsdGluL25vdGVzLmM6NjUyCisjOiBidWlsdGluL25vdGVzLmM6ODAyIGJ1aWx0aW4vbm90ZXMuYzo5NDkgYnVpbHRpbi9ub3Rlcy5jOjk3MAogbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCiBtc2dzdHIgImRlbWFzaWFkb3MgcGFyw6JtZXRyb3MiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzUgYnVpbHRpbi9ub3Rlcy5jOjY2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjM3OCBidWlsdGluL25vdGVzLmM6NjY1CiAjLCBjLWZvcm1hdAotbXNnaWQgIk5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCi1tc2dzdHIgIkEgbm90YSBkbyBvYmpldG8gJXMgbsOjbyBmb2kgZW5jb250cmFkYS4iCittc2dpZCAibm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIKK21zZ3N0ciAibmVuaHVtYSBub3RhIGVuY29udHJhZGEgcGFyYSBvIG9iamV0byAlcy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozOTYgYnVpbHRpbi9ub3Rlcy5jOjU1OQorIzogYnVpbHRpbi9ub3Rlcy5jOjM5OSBidWlsdGluL25vdGVzLmM6NTYyCiBtc2dpZCAibm90ZSBjb250ZW50cyBhcyBhIHN0cmluZyIKIG1zZ3N0ciAiY29udGXDumRvIGRhIG5vdGEgc29iIGEgZm9ybWEgZGUgY2FkZWlhIGRlIGNhcmFjdGVyZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozOTkgYnVpbHRpbi9ub3Rlcy5jOjU2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CiBtc2dpZCAibm90ZSBjb250ZW50cyBpbiBhIGZpbGUiCiBtc2dzdHIgImNvbnRlw7pkbyBkYSBub3RhIGRlIHVtIGZpY2hlaXJvIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDAyIGJ1aWx0aW4vbm90ZXMuYzo1NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDUgYnVpbHRpbi9ub3Rlcy5jOjU2OAogbXNnaWQgInJldXNlIGFuZCBlZGl0IHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAicmV1dGlsaXphciBlIGVkaXRhciBvIG9iamV0byBkZSBub3RhIGVzcGVjaWZpY2FkbyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CisjOiBidWlsdGluL25vdGVzLmM6NDA4IGJ1aWx0aW4vbm90ZXMuYzo1NzEKIG1zZ2lkICJyZXVzZSBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgInJldXRpbGl6YXIgbyBvYmpldG8gZGUgbm90YSBlc3BlY2lmaWNhZG8iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CiBtc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgogbXNnc3RyICJwZXJtaXRpciBndWFyZGFyIHVtYSBub3RhIHZhemlhIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDA5IGJ1aWx0aW4vbm90ZXMuYzo0ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjQ4MwogbXNnaWQgInJlcGxhY2UgZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgInN1YnN0aXR1aXIgbm90YXMgZXhpc3RlbnRlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQzNAorIzogYnVpbHRpbi9ub3Rlcy5jOjQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGFkZCBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKQEAgLTg5NTksMjkgKzEwMDIyLDI5IEBACiAiTsOjbyDDqSBwb3Nzw612ZWwgYWRpY2lvbmFyIG5vdGFzLiBOb3RhcyBkbyBvYmpldG8gJXMgZW5jb250cmFkYXMuIFVzZSAnLWYnICIKICJwYXJhIHN1YnN0aXR1w60tbGFzLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ0OSBidWlsdGluL25vdGVzLmM6NTI4CisjOiBidWlsdGluL25vdGVzLmM6NDUyIGJ1aWx0aW4vbm90ZXMuYzo1MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICJBIHN1YnN0aXR1aXIgYXMgbm90YXMgZXhpc3RlbnRlcyBkbyBvYmpldG8gJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MCBidWlsdGluL25vdGVzLmM6NjIxIGJ1aWx0aW4vbm90ZXMuYzo4ODYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjYyNCBidWlsdGluL25vdGVzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICJBIHJlbW92ZXIgYSBub3RhIGRvIG9iamV0byAlc1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDgxCisjOiBidWlsdGluL25vdGVzLmM6NDg0CiBtc2dpZCAicmVhZCBvYmplY3RzIGZyb20gc3RkaW4iCiBtc2dzdHIgImxlciBvYmpldG9zIGRhIGVudHJhZGEgcGFkcsOjbyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4MworIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NgogbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgogbXNnc3RyICJjYXJyZWdhciBjb25maWd1cmHDp8OjbyBkZSByZWVzY3JpdGEgZG8gPGNvbWFuZG8+IChpbXBsaWNhIC0tc3RkaW4pIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTAxCisjOiBidWlsdGluL25vdGVzLmM6NTA0CiBtc2dpZCAidG9vIGZldyBwYXJhbWV0ZXJzIgogbXNnc3RyICJwYXLDom1ldHJvcyBpbnN1ZmljaWVudGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTIyCisjOiBidWlsdGluL25vdGVzLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgY29weSBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKQEAgLTg5OTAsMTIgKzEwMDUzLDEyIEBACiAiTsOjbyDDqSBwb3Nzw612ZWwgY29waWFyIG5vdGFzLiBOb3RhcyBkbyBvYmpldG8gJXMgZW5jb250cmFkYXMuIFVzZSAnLWYnIHBhcmEgIgogInN1YnN0aXR1w60tbGFzLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzNAorIzogYnVpbHRpbi9ub3Rlcy5jOjUzNwogIywgYy1mb3JtYXQKLW1zZ2lkICJNaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKLW1zZ3N0ciAiTsOjbyBleGlzdGVtIG5vdGFzIG5vIG9iamV0byBkZSBvcmlnZW0gJXMuIE7Do28gw6kgcG9zc8OtdmVsIGNvcGlhci4iCittc2dpZCAibWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCittc2dzdHIgImZhbHRhbSBub3RhcyBubyBvYmpldG8gZGUgb3JpZ2VtICVzLiBOw6NvIMOpIHBvc3PDrXZlbCBjb3BpYXIuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTg2CisjOiBidWlsdGluL25vdGVzLmM6NTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgLW0vLUYvLWMvLUMgb3B0aW9ucyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlICdlZGl0JyBzdWJjb21tYW5kLlxuIgpAQCAtOTAwNCwyNTkgKzEwMDY3LDMzMyBAQAogIkFzIG9ww6fDtWVzIC1tLy1GLy1jLy1DIHPDo28gb2Jzb2xldGFzIG5vIHN1YmNvbWFuZG8gJ2VkaXQnLlxuIgogIlVzZSAnZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQycgZW0gc2V1IGx1Z2FyLlxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzY4CisjOiBidWlsdGluL25vdGVzLmM6Njg1Cittc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKK21zZ3N0ciAiZmFsaGEgYW8gZWxpbWluYXIgYSByZWZlcsOqbmNpYSBOT1RFU19NRVJHRV9QQVJUSUFMIgorCisjOiBidWlsdGluL25vdGVzLmM6Njg3Cittc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUkVGIgorbXNnc3RyICJmYWxoYSBhbyBlbGltaW5hciBhIHJlZmVyw6puY2lhIE5PVEVTX01FUkdFX1JFRiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjY4OQorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJ2dpdCBub3RlcyBtZXJnZScgd29ya3RyZWUiCittc2dzdHIgImZhbGhhIGFvIHJlbW92ZXIgYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIGRlICdnaXQgbm90ZXMgbWVyZ2UnIgorCisjOiBidWlsdGluL25vdGVzLmM6NzA5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCittc2dzdHIgImZhbGhhIGFvIGxlciByZWZlcsOqbmNpYSBOT1RFU19NRVJHRV9QQVJUSUFMIgorCisjOiBidWlsdGluL25vdGVzLmM6NzExCittc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBlbmNvbnRyYXIgbyBjb21taXQgZGUgTk9URVNfTUVSR0VfUEFSVElBTC4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTMKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhbmFsaXNhciBvIGNvbW1pdCBkZSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcyNgorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIE5PVEVTX01FUkdFX1JFRiIKK21zZ3N0ciAiZmFsaGEgYW8gcmVzb2x2ZXIgTk9URVNfTUVSR0VfUkVGIgorCisjOiBidWlsdGluL25vdGVzLmM6NzI5Cittc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplIG5vdGVzIG1lcmdlIgorbXNnc3RyICJmYWxoYSBhbyBmaW5hbGl6YXIgaW50ZWdyYcOnw6NvIGRlIG5vdGFzIgorCisjOiBidWlsdGluL25vdGVzLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbm90ZXMgbWVyZ2Ugc3RyYXRlZ3kgJXMiCittc2dzdHIgImVzdHJhdMOpZ2lhIGRlIGludGVncmHDp8OjbyBkZSBub3RhcyAlcyBkZXNjb25oZWNpZGEiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzEKIG1zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCiBtc2dzdHIgIk9ww6fDtWVzIGdlcmFpcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjc3MwogbXNnaWQgIk1lcmdlIG9wdGlvbnMiCiBtc2dzdHIgIk9ww6fDtWVzIGRlIGludGVncmHDp8OjbyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MgorIzogYnVpbHRpbi9ub3Rlcy5jOjc3NQogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCiAiY2F0X3NvcnRfdW5pcSkiCiBtc2dzdHIgIiIKLSJyZXNvbHZlciBjb25mbGl0b3MgbmFzIG5vdGFzIHVzYW5kbyBhIGVzdHJhdMOpZ2lhIGluZGljYWRhICIKLSIobWFudWFsL291cnMvdGhlaXJzL3VuaW9uL2NhdF9zb3J0X3VuaXEpIgorInJlc29sdmVyIGNvbmZsaXRvcyBuYXMgbm90YXMgdXNhbmRvIGEgZXN0cmF0w6lnaWEgaW5kaWNhZGEgKG1hbnVhbC9vdXJzLyIKKyJ0aGVpcnMvdW5pb24vY2F0X3NvcnRfdW5pcSkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzcKIG1zZ2lkICJDb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICJBIHN1Ym1ldGVyIG5vdGFzIG7Do28gaW50ZWdyYWRhcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NgorIzogYnVpbHRpbi9ub3Rlcy5jOjc3OQogbXNnaWQgImZpbmFsaXplIG5vdGVzIG1lcmdlIGJ5IGNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgImNvbmNsdWlyIGludGVncmHDp8OjbyBkZSBub3Rhcywgc3VibWV0ZW5kbyBub3RhcyBuw6NvIGludGVncmFkYXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgogbXNnc3RyICJBIGFib3J0YXIgcmVzb2x1w6fDo28gZGUgaW50ZWdyYcOnw6NvIGRhcyBub3RhcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjc4MwogbXNnaWQgImFib3J0IG5vdGVzIG1lcmdlIgogbXNnc3RyICJhYm9ydGFyIGludGVncmHDp8OjbyBkYXMgbm90YXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiCi1tc2dzdHIgIlVtYSBpbnRlZ3Jhw6fDo28gZGFzIG5vdGFzIGVtICVzIGrDoSBlc3TDoSBlbSBjdXJzbyBlbSAlcyIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTQKK21zZ2lkICJjYW5ub3QgbWl4IC0tY29tbWl0LCAtLWFib3J0IG9yIC1zLy0tc3RyYXRlZ3kiCittc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIG1pc3R1cmFyIC0tY29tbWl0LCAtLWFib3J0IG91IC1zLy0tc3RyYXRlZ3kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTkKK21zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCittc2dzdHIgInRlbSBkZSBlc3BlY2lmaWNhciB1bWEgcmVmZXLDqm5jaWEgZGUgbm90YXMgcGFyYSBpbnRlZ3JhciIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjgyMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgorbXNnc3RyICItcy8tLXN0cmF0ZWd5IGRlc2NvbmhlY2lkYTogJXMiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiCittc2dzdHIgInVtYSBpbnRlZ3Jhw6fDo28gZGFzIG5vdGFzIGVtICVzIGrDoSBlc3TDoSBlbSBjdXJzbyBlbSAlcyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg2MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIgorbXNnc3RyICJmYWxoYSBhbyBndWFyZGFyIGxpZ2HDp8OjbyDDoCByZWZlcsOqbmNpYSBkZSBub3RhcyBhdHVhbCAoJXMpIgorCisjOiBidWlsdGluL25vdGVzLmM6ODY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJBdXRvbWF0aWMgbm90ZXMgbWVyZ2UgZmFpbGVkLiBGaXggY29uZmxpY3RzIGluICVzIGFuZCBjb21taXQgdGhlIHJlc3VsdCB3aXRoICIKKyInZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0Jywgb3IgYWJvcnQgdGhlIG1lcmdlIHdpdGggJ2dpdCBub3RlcyBtZXJnZSAtLSIKKyJhYm9ydCcuXG4iCittc2dzdHIgIiIKKyJBIGludGVncmHDp8OjbyBhdXRvbcOhdGljYSBkZSBub3RhcyBmYWxob3UuIENvcnJpamEgb3MgY29uZmxpdG9zIGVtICVzIGUgIgorInN1Ym1ldGEgbyByZXN1bHRhZG8gY29tICdnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnIG91IGFib3J0ZSBhIGludGVncmHDp8OjbyAiCisiY29tICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcuXG4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiT2JqZWN0ICVzIGhhcyBubyBub3RlXG4iCiBtc2dzdHIgIk8gb2JqZXRvICVzIG7Do28gdGVtIG5lbmh1bWEgbm90YVxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODk2CisjOiBidWlsdGluL25vdGVzLmM6ODk5CiBtc2dpZCAiYXR0ZW1wdCB0byByZW1vdmUgbm9uLWV4aXN0ZW50IG5vdGUgaXMgbm90IGFuIGVycm9yIgogbXNnc3RyICJuw6NvIGNvbnNpZGVyYXIgY29tbyBlcnJvIGEgcmVtb8Onw6NvIGRlIHVtYSBub3RhIG7Do28gZXhpc3RlbnRlIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODk5CisjOiBidWlsdGluL25vdGVzLmM6OTAyCiBtc2dpZCAicmVhZCBvYmplY3QgbmFtZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxlciBub21lIGRvcyBvYmpldG9zIGRhIGVudHJhZGEgcGFkcsOjbyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjk0MCBidWlsdGluL3BydW5lLmM6MTA1IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjcKK21zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCittc2dzdHIgIm7Do28gcmVtb3ZlciwgbW9zdHJhciBhcGVuYXMiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NDEKK21zZ2lkICJyZXBvcnQgcHJ1bmVkIG5vdGVzIgorbXNnc3RyICJyZXBvcnRhciBub3RhcyBwb2RhZGFzIgorCisjOiBidWlsdGluL25vdGVzLmM6OTgzCiBtc2dpZCAibm90ZXMtcmVmIgogbXNnc3RyICJub3Rlcy1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODQKIG1zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAidXNhciBub3RhcyBkZSA8bm90ZXMtcmVmPiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjEwMTYgYnVpbHRpbi9yZW1vdGUuYzoxNjI4CisjOiBidWlsdGluL25vdGVzLmM6MTAxOQogIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgotbXNnc3RyICJTdWJjb21hbmRvIGRlc2NvbmhlY2lkbzogJXMiCittc2dpZCAidW5rbm93biBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAic3ViY29tYW5kbyBkZXNjb25oZWNpZG86ICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5CiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzxvcHRpb25zPi4uLl0gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3DDp8O1ZXM+Li4uXSBbPCA8bGlzdGEtcmVmZXLDqm5jaWFzPiB8IDwgPGxpc3RhLSIKICJvYmpldG9zPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPG9wdGlvbnM+Li4uXSA8YmFzZS1uYW1lPiBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxvcMOnw7Vlcz4uLi5dIDxub21lLWJhc2U+IFs8IDxsaXN0YS1yZWZlcsOqbmNpYXM+IHwgPCA8bGlzdGEtIgogIm9iamV0b3M+XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTc5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlZmxhdGUgZXJyb3IgKCVkKSIKIG1zZ3N0ciAiZXJybyBhbyBjb21wYWN0YXIgKCVkKSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzY4CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKIG1zZ3N0ciAiIgotImEgZGVzYXRpdmFyIGVzY3JpdGEgZGUgbWFwYSBkZSBiaXRzLCBvcyBwYWNvdGVzIHPDo28gZGl2aWRpZG9zIGRldmlkbyBhICIKLSJwYWNrLnBhY2tTaXplTGltaXQiCisiYSBkZXNhdGl2YXIgZXNjcml0YSBkZSBtYXBhIGRlIGJpdHMsIG9zIHBhY290ZXMgc8OjbyBkaXZpZGlkb3MgZGV2aWRvIGEgcGFjay4iCisicGFja1NpemVMaW1pdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzgxCiBtc2dpZCAiV3JpdGluZyBvYmplY3RzIgogbXNnc3RyICJBIGVzY3JldmVyIG9iamV0b3MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTAxNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMDcwCiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBhcyBzb21lIG9iamVjdHMgYXJlIG5vdCBiZWluZyBwYWNrZWQiCiBtc2dzdHIgIiIKICJhIGRlc2F0aXZhciBlc2NyaXRhIGRlIG1hcGEgZGUgYml0cywgdmlzdG8gcXVlIGFsZ3VucyBvYmpldG9zIG7Do28gZXN0w6NvIGEgIgogInNlciBjb21wYWN0YWRvcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTc3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzNDYKIG1zZ2lkICJDb21wcmVzc2luZyBvYmplY3RzIgogbXNnc3RyICJBIGNvbXByaW1pciBvYmpldG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBpbmRleCB2ZXJzaW9uICVzIgogbXNnc3RyICJ2ZXJzw6NvIGRlIMOtbmRpY2UgJXMgbsOjbyBzdXBvcnRhZGEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICclcyciCiBtc2dzdHIgInZlcnPDo28gZGUgw61uZGljZSAnJXMnIGluY29ycmV0YSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTk3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTMKIG1zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAibsOjbyBtb3N0cmFyIG1lZGlkb3IgZGUgcHJvZ3Jlc3NvIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1OTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5NQogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgIm1vc3RyYXIgbWVkaWRvciBkZSBwcm9ncmVzc28iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk3CiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCiBtc2dzdHIgIm1vc3RyYXIgbWVkaWRvciBkZSBwcm9ncmVzc28gZHVyYW50ZSBhIGZhc2UgZGUgZXNjcml0YSBkZSBvYmpldG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMAogbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKIG1zZ3N0ciAic2VtZWxoYW50ZSBhIC0tYWxsLXByb2dyZXNzIHF1YW5kbyBvIG1lZGlkb3IgZGUgcHJvZ3Jlc3NvIMOpIG1vc3RyYWRvIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMQogbXNnaWQgInZlcnNpb25bLG9mZnNldF0iCiBtc2dzdHIgInZlcnPDo29bLG9mZnNldF0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwNgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAyCiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogImVzY3JldmVyIG8gZmljaGVpcm8gZGUgw61uZGljZSBkbyBwYWNvdGUgbmEgdmVyc8OjbyBkZSBmb3JtYXRvIGVzcGVjaWZpY2FkYSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjA5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDUKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgogbXNnc3RyICJ0YW1hbmhvIG3DoXhpbW8gZGUgY2FkYSBmaWNoZWlybyBkZSBwYWNvdGUgZ2VyYWRvIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNwogbXNnaWQgImlnbm9yZSBib3Jyb3dlZCBvYmplY3RzIGZyb20gYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSIKIG1zZ3N0ciAiaWdub3JhciBvYmpldG9zIGVtcHJlc3RhZG9zIGRvIGFycXVpdm8gZGUgb2JqZXRvcyBzb2JyZXNzYWxlbnRlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDkKIG1zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCiBtc2dzdHIgImlnbm9yYXIgb2JqZXRvcyBjb21wYWN0YWRvcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjE1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTEKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgogbXNnc3RyICJsaW1pdGFyIGEgamFuZWxhIGRlIGNvbXBhY3Rhw6fDo28gcG9yIG9iamV0b3MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODEzCiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAiIgogImxpbWl0YXIgYSBqYW5lbGEgZGUgY29tcGFjdGHDp8OjbyBwb3IgbWVtw7NyaWEgZW0gYWRpw6fDo28gYW8gbGltaXRlIHBvciBvYmpldG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNQogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICJ0YW1hbmhvIG3DoXhpbW8gZGUgY2FkZWlhcyBkZWx0YSBwZXJtaXRpZGFzIG5vIHBhY290ZSByZXN1bHRhbnRlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNwogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKIG1zZ3N0ciAicmV1dGlsaXphciBkZWx0YXMgZXhpc3RlbnRlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjIzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTkKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgogbXNnc3RyICJyZXV0aWxpemFyIG9iamV0b3MgZXhpc3RlbnRlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjI1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjEKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgInVzYXIgb2JqZXRvcyBPRlNfREVMVEEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIzCiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAidXNhciB0aHJlYWRzIGFvIHByb2N1cmFyIHBlbGEgbWVsaG9yIGNvcnJlc3BvbmTDqm5jaWEgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI1CiBtc2dpZCAiZG8gbm90IGNyZWF0ZSBhbiBlbXB0eSBwYWNrIG91dHB1dCIKIG1zZ3N0ciAibsOjbyBjcmlhciB1bSBwYWNvdGUgdmF6aW8iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI3CiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGVyIGFyZ3VtZW50b3MgZGUgcmV2aXPDo28gZGEgZW50cmFkYSBwYWRyw6NvIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyOQogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICJyZXN0cmluZ2lyLXNlIGFvcyBvYmpldG9zIHF1ZSBhaW5kYSBuw6NvIGZvcmFtIGNvbXBhY3RhZG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMgogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICJpbmNsdWlyIG9iamV0b3MgYWxjYW7Dp8OhdmVpcyBhIHBhcnRpciBkZSBxdWFscXVlciByZWZlcsOqbmNpYSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjM5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzUKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCiBtc2dzdHIgImluY2x1aXIgb2JqZXRvcyByZWZlcmVuY2lhZG9zIHBvciBlbnRyYWRhcyBkbyByZWZsb2ciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM4CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIHRvIGJ5IHRoZSBpbmRleCIKIG1zZ3N0ciAiaW5jbHVpciBvYmpldG9zIHJlZmVyZW5jaWFkb3MgcGVsbyDDrW5kaWNlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0MQogbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKIG1zZ3N0ciAiZ2VyYXIgcGFjb3RlIHBhcmEgYSBzYcOtZGEgcGFkcsOjbyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDMKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgImluY2x1aXIgb2JqZXRvcyB0YWcgcXVlIHJlZmlyYW0gb2JqZXRvcyBhIGNvbXBhY3RhciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDUKIG1zZ2lkICJrZWVwIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIm1hbnRlciBvYmpldG9zIGluYWxjYW7Dp8OhdmVpcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjUwIHBhcnNlLW9wdGlvbnMuaDoxNDIKLW1zZ2lkICJ0aW1lIgotbXNnc3RyICJob3JhIgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ3Cittc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICJlbXBhY290YXIgb2JqZXRvcyBzb2x0b3MgaW5hbGNhbsOnw6F2ZWlzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0OQogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICJkZXNjb21wYWN0YXIgb2JqZXRvcyBpbmFsY2Fuw6fDoXZlaXMgbWFpcyByZWNlbnRlcyBxdWUgPGhvcmE+IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1MgogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICJjcmlhciBwYWNvdGVzIGZpbm9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1NAogbXNnaWQgImNyZWF0ZSBwYWNrcyBzdWl0YWJsZSBmb3Igc2hhbGxvdyBmZXRjaGVzIgogbXNnc3RyICJjcmlhciBwYWNvdGVzIGFkZXF1YWRvcyBwYXJhIG9idGVyIGVtIHJlcG9zaXTDs3Jpb3MgcG91Y28gcHJvZnVuZG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1NgogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCiBtc2dzdHIgImlnbm9yYXIgcGFjb3RlcyBxdWUgdGVuaGFtIHVtIGZpY2hlaXJvIC5rZWVwIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1OAogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgIm7DrXZlbCBkZSBjb21wYWN0YcOnw6NvIGRvIHBhY290ZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjYyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NjAKIG1zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKIG1zZ3N0ciAibsOjbyBlc2NvbmRlciBjb21taXRzIGludHJvZHV6aWRvcyBwb3IgZW54ZXJ0b3MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODYyCiBtc2dpZCAidXNlIGEgYml0bWFwIGluZGV4IGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCBjb3VudGluZyBvYmplY3RzIgogbXNnc3RyICIiCiAidXNhciB1bSDDrW5kaWNlIGRlIG1hcGEgZGUgYml0cyBzZSBkaXNwb27DrXZlbCwgcGFyYSBhY2VsZXJhciBhIGNvbnRhZ2VtIGRlICIKICJvYmpldG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2NAogbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IHRvZ2V0aGVyIHdpdGggdGhlIHBhY2sgaW5kZXgiCiBtc2dzdHIgImVzY3JldmVyIHVtIMOtbmRpY2UgZGUgbWFwYSBkZSBiaXRzIGp1bnRhbWVudGUgY29tIG8gw61uZGljZSBkbyBwYWNvdGUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc1NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTkzCiBtc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiQSBjb250YXIgb2JqZXRvcyIKIApAQCAtOTI4NCwxNSArMTA0MjEsMTEgQEAKIG1zZ2lkICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLWV4cGlyZSA8dGltZT5dIFstLV0gWzxoZWFkPi4uLl0iCiBtc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tZXhwaXJlIDxob3JhPl0gWy0tXSBbPGhlYWQ+Li4uXSIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjEwNSBidWlsdGluL3dvcmt0cmVlLmM6MTI1Ci1tc2dpZCAiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IgotbXNnc3RyICJuw6NvIHJlbW92ZXIsIG1vc3RyYXIgYXBlbmFzIgotCi0jOiBidWlsdGluL3BydW5lLmM6MTA2IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjYKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDYgYnVpbHRpbi93b3JrdHJlZS5jOjEyOAogbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKIG1zZ3N0ciAiYXByZXNlbnRhciBvYmpldG9zIGVsaW1pbmFkb3MiCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkgYnVpbHRpbi93b3JrdHJlZS5jOjEyOAorIzogYnVpbHRpbi9wcnVuZS5jOjEwOSBidWlsdGluL3dvcmt0cmVlLmM6MTMwCiBtc2dpZCAiZXhwaXJlIG9iamVjdHMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgImV4cGlyYXIgb2JqZXRvcyBtYWlzIGFudGlnb3MgcXVlIDxob3JhPiIKIApAQCAtOTMwMCw1NyArMTA0MzMsNDUgQEAKIG1zZ2lkICJjYW5ub3QgcHJ1bmUgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGxpbXBhciBudW0gcmVwb3NpdMOzcmlvIGRlIG9iamV0b3MtcHJlY2lvc29zIgogCi0jOiBidWlsdGluL3B1bGwuYzo3MgorIzogYnVpbHRpbi9wdWxsLmM6NTEgYnVpbHRpbi9wdWxsLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgorbXNnc3RyICJWYWxvciBpbnbDoWxpZG8gZGUgJXM6ICVzIgorCisjOiBidWlsdGluL3B1bGwuYzo3MwogbXNnaWQgImdpdCBwdWxsIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVsbCBbPG9ww6fDtWVzPl0gWzxyZXBvc2l0w7NyaW8+IFs8ZXNwZWNpZmljYWRvci1kZS1yZWZlcsOqbmNpYT4uLi5dXSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTIwCisjOiBidWlsdGluL3B1bGwuYzoxMjEKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZyIKIG1zZ3N0ciAiT3DDp8O1ZXMgcmVsYXRpdmFzIGEgaW50ZWdyYcOnw6NvIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMjMKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyNAogbXNnaWQgImluY29ycG9yYXRlIGNoYW5nZXMgYnkgcmViYXNpbmcgcmF0aGVyIHRoYW4gbWVyZ2luZyIKIG1zZ3N0ciAiaW5jb3Jwb3JhciBhbHRlcmHDp8O1ZXMgcG9yIHJlYmFzZSBlbSB2ZXogZGUgaW50ZWdyYXIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE0NyBidWlsdGluL3JldmVydC5jOjEwNQorIzogYnVpbHRpbi9wdWxsLmM6MTQ4IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAxCiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgogbXNnc3RyICJwZXJtaXRpciBhdmFuw6dvIHLDoXBpZG8iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1MwotbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKLW1zZ3N0ciAidmVyaWZpY2FyIHNlIG8gY29tbWl0IHRlbSB1bWEgYXNzaW5hdHVyYSBHUEcgdsOhbGlkYSIKLQotIzogYnVpbHRpbi9wdWxsLmM6MTU2CisjOiBidWlsdGluL3B1bGwuYzoxNTcKIG1zZ2lkICJhdXRvbWF0aWNhbGx5IHN0YXNoL3N0YXNoIHBvcCBiZWZvcmUgYW5kIGFmdGVyIHJlYmFzZSIKIG1zZ3N0ciAiZW1waWxoYXIvZGVzZW1waWxoYXIgYXV0b21hdGljYW1lbnRlIGFudGVzIGRlIGRlcG9pcyBkZSByZWJhc2UiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE3MgorIzogYnVpbHRpbi9wdWxsLmM6MTczCiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIGZldGNoaW5nIgogbXNnc3RyICJPcMOnw7VlcyByZWxhY2lvbmFkYXMgY29tIG9idGVuw6fDo28gZGUgb2JqZXRvcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTk0CisjOiBidWlsdGluL3B1bGwuYzoxOTUKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBwdWxsZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIm7Dum1lcm8gZGUgc3VibcOzZHVsb3MgcHV4YWRvcyBlbSBwYXJhbGVsbyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MjgzCisjOiBidWlsdGluL3B1bGwuYzoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgcHVsbC5mZjogJXMiCiBtc2dzdHIgIlZhbG9yIGludsOhbGlkbyBkZSBwdWxsLmZmOiAlcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6Mzc5Ci1tc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgotbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBwdXhhciBjb20gcmViYXNlOiB0ZW0gYWx0ZXJhw6fDtWVzIG7Do28gcHJlcGFyYWRhcy4iCi0KLSM6IGJ1aWx0aW4vcHVsbC5jOjM4NQotbXNnaWQgIkFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKLW1zZ3N0ciAiQWzDqW0gZGlzc28sIG8gw61uZGljZSBjb250w6ltIGFsdGVyYcOnw7VlcyBuw6NvIHN1Ym1ldGlkYXMuIgotCi0jOiBidWlsdGluL3B1bGwuYzozODcKLW1zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKLW1zZ3N0ciAiIgotIk7Do28gw6kgcG9zc8OtdmVsIHB1eGFyIGNvbSByZWJhc2U6IG8gw61uZGljZSBjb250w6ltIGFsdGVyYcOnw7VlcyBuw6NvIHN1Ym1ldGlkYXMuIgotCi0jOiBidWlsdGluL3B1bGwuYzo0NjMKKyM6IGJ1aWx0aW4vcHVsbC5jOjM5NwogbXNnaWQgIiIKICJUaGVyZSBpcyBubyBjYW5kaWRhdGUgZm9yIHJlYmFzaW5nIGFnYWluc3QgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCAiCiAiZmV0Y2hlZC4iCkBAIC05MzU4LDE0ICsxMDQ3OSwxNCBAQAogIk7Do28gaMOhIG5lbmh1bSBjYW5kaWRhdG8gY29tIG8gcXVhbCByZWFsaXphciByZWJhc2UgZGUgZW50cmUgYXMgcmVmZXLDqm5jaWFzICIKICJxdWUgc2UgYWNhYmFyYW0gZGUgb2J0ZXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NjUKKyM6IGJ1aWx0aW4vcHVsbC5jOjM5OQogbXNnaWQgIiIKICJUaGVyZSBhcmUgbm8gY2FuZGlkYXRlcyBmb3IgbWVyZ2luZyBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0IGZldGNoZWQuIgogbXNnc3RyICIiCiAiTsOjbyBow6EgbmVuaHVtIGNhbmRpZGF0byBjb20gbyBxdWFsIGludGVncmFyIGRlIGVudHJlIGFzIHJlZmVyw6puY2lhcyBxdWUgc2UgIgogImFjYWJhcmFtIG9idGVyLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDY2CisjOiBidWlsdGluL3B1bGwuYzo0MDAKIG1zZ2lkICIiCiAiR2VuZXJhbGx5IHRoaXMgbWVhbnMgdGhhdCB5b3UgcHJvdmlkZWQgYSB3aWxkY2FyZCByZWZzcGVjIHdoaWNoIGhhZCBub1xuIgogIm1hdGNoZXMgb24gdGhlIHJlbW90ZSBlbmQuIgpAQCAtOTM3Myw3ICsxMDQ5NCw3IEBACiAiR2VyYWxtZW50ZSwgc2lnbmlmaWNhIHF1ZSBmb3JuZWNldSB1bSBlc3BlY2lmaWNhZG9yIGRlIHJlZmVyw6puY2lhXG4iCiAiY29tIHVtIGNhcsOhY3RlciB1bml2ZXJzYWwgKHdpbGRjYXJkKSBxdWUgbsOjbyBjb3JyZXNwb25kZSBhIG5lbmh1bSByZW1vdG8uIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NjkKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIHB1bGwgZnJvbSB0aGUgcmVtb3RlICclcycsIGJ1dCBkaWQgbm90IHNwZWNpZnlcbiIKQEAgLTkzODQsNDQgKzEwNTA1LDQ0IEBACiAiVW1hIHZleiBxdWUgZXN0ZSBuw6NvIMOpIG8gcmVtb3RvIGNvbmZpZ3VyYWRvIHBvciBwcmVkZWZpbmnDp8Ojb1xuIgogImRvIHJhbW8gYXR1YWwsIGRldmUgZXNwZWNpZmljYXIgdW0gcmFtbyBuYSBsaW5oYSBkZSBjb21hbmRvcy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3NCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCisjOiBidWlsdGluL3B1bGwuYzo0MDggZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MwogbXNnaWQgIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC4iCiBtc2dzdHIgIk7Do28gc2UgZW5jb250cmEgZW0gbmVuaHVtIHJhbW8gZGUgbW9tZW50by4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3NiBidWlsdGluL3B1bGwuYzo0OTEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQorIzogYnVpbHRpbi9wdWxsLmM6NDEwIGJ1aWx0aW4vcHVsbC5jOjQyNSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIHJlYmFzZSBhZ2FpbnN0LiIKIG1zZ3N0ciAiRXNwZWNpZmlxdWUgbyByYW1vIHNvYnJlIG8gcXVhbCBwcmV0ZW5kZSByZWFsaXphciByZWJhc2UuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NzggYnVpbHRpbi9wdWxsLmM6NDkzIGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMiBidWlsdGluL3B1bGwuYzo0MjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byBtZXJnZSB3aXRoLiIKIG1zZ3N0ciAiRXNwZWNpZmlxdWUgbyByYW1vIGNvbSBvIHF1YWwgcHJldGVuZGUgaW50ZWdyYXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NzkgYnVpbHRpbi9wdWxsLmM6NDk0CisjOiBidWlsdGluL3B1bGwuYzo0MTMgYnVpbHRpbi9wdWxsLmM6NDI4CiBtc2dpZCAiU2VlIGdpdC1wdWxsKDEpIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiQ29uc3VsdGUgZ2l0LXB1bGwoMSkgcGFyYSBvYnRlciBtYWlzIGRldGFsaGVzLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDgxIGJ1aWx0aW4vcHVsbC5jOjQ4NyBidWlsdGluL3B1bGwuYzo0OTYKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNSBidWlsdGluL3B1bGwuYzo0MjEgYnVpbHRpbi9wdWxsLmM6NDMwCiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CiBtc2dpZCAiPHJlbW90ZT4iCiBtc2dzdHIgIjxyZW1vdG8+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0ODEgYnVpbHRpbi9wdWxsLmM6NDk2IGJ1aWx0aW4vcHVsbC5jOjUwMQorIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMCBidWlsdGluL3B1bGwuYzo0MzUgZ2l0LXJlYmFzZS5zaDo0NTEKICM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKIG1zZ2lkICI8YnJhbmNoPiIKIG1zZ3N0ciAiPHJhbW8+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0ODkgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDIzIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKIG1zZ2lkICJUaGVyZSBpcyBubyB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiTyByYW1vIGF0dWFsIG7Do28gc2VndWUgbmVuaHVtIHJhbW8uIgogCi0jOiBidWlsdGluL3B1bGwuYzo0OTggZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQorIzogYnVpbHRpbi9wdWxsLmM6NDMyIGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKIG1zZ2lkICIiCiAiSWYgeW91IHdpc2ggdG8gc2V0IHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGJyYW5jaCB5b3UgY2FuIGRvIHNvIHdpdGg6IgogbXNnc3RyICIiCiAiU2UgZGVzZWphIGRlZmluaXIgbyByYW1vIHF1ZSBkZXZlIHNlciBzZWd1aWRvIHBvciBlc3RlIHJhbW8sIHBvZGUgZmF6w6otbG8gIgogImNvbToiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjUwMworIzogYnVpbHRpbi9wdWxsLmM6NDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVzIHRvIG1lcmdlIHdpdGggdGhlIHJlZiAnJXMnXG4iCkBAIC05NDMwLDE3ICsxMDU1MSwyOSBAQAogIkEgY29uZmlndXJhw6fDo28gaW5kaWNhIHBhcmEgaW50ZWdyYXIgY29tIGEgcmVmZXLDqm5jaWEgJyVzJ1xuIgogImRvIHJlbW90bywgbWFzIGFxdWVsYSByZWZlcsOqbmNpYSBuw6NvIGZvaSBvYnRpZGEuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NjQKKyM6IGJ1aWx0aW4vcHVsbC5jOjc1NAorbXNnaWQgImlnbm9yaW5nIC0tdmVyaWZ5LXNpZ25hdHVyZXMgZm9yIHJlYmFzZSIKK21zZ3N0ciAiaWdub3JhZG8gLS12ZXJpZnktc2lnbmF0dXJlcyBwYXJhIHJlYmFzZSIKKworIzogYnVpbHRpbi9wdWxsLmM6ODAxCiBtc2dpZCAiLS1bbm8tXWF1dG9zdGFzaCBvcHRpb24gaXMgb25seSB2YWxpZCB3aXRoIC0tcmViYXNlLiIKIG1zZ3N0ciAiYSBvcMOnw6NvIC0tW25vLV1hdXRvc3Rhc2ggc8OzIMOpIHbDoWxpZGEgY29tIC0tcmViYXNlLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODcyCisjOiBidWlsdGluL3B1bGwuYzo4MDkKIG1zZ2lkICJVcGRhdGluZyBhbiB1bmJvcm4gYnJhbmNoIHdpdGggY2hhbmdlcyBhZGRlZCB0byB0aGUgaW5kZXguIgogbXNnc3RyICIiCiAiQSBhdHVhbGl6YXIgdW0gcmFtbyBxdWUgYWluZGEgbsOjbyBmb2kgY3JpYWRvIGUgY29tIGFsdGVyYcOnw7VlcyBhZGljaW9uYWRhcyBhbyAiCiAiw61uZGljZS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwMAorIzogYnVpbHRpbi9wdWxsLmM6ODEyCittc2dpZCAicHVsbCB3aXRoIHJlYmFzZSIKK21zZ3N0ciAicHV4YXIgY29tIHJlYmFzZSIKKworIzogYnVpbHRpbi9wdWxsLmM6ODEzCittc2dpZCAicGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKK21zZ3N0ciAic3VibWV0YSBvdSBlc2NvbmRhLWFzLiIKKworIzogYnVpbHRpbi9wdWxsLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgpAQCAtOTQ1MSw3ICsxMDU4NCw3IEBACiAiYSBhdmFuw6dhciBhIMOhcnZvcmUgZGUgdHJhYmFsaG8gYSBwYXJ0aXIgZG9cbiIKICJjb21taXQgJXMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MDUKKyM6IGJ1aWx0aW4vcHVsbC5jOjg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTk0NjgsMTEgKzEwNjAxLDExIEBACiAiJCBnaXQgcmVzZXQgLS1oYXJkXG4iCiAicGFyYSByZWN1cGVyYXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MjAKKyM6IGJ1aWx0aW4vcHVsbC5jOjg1OAogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQuIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBpbnRlZ3JhciBtw7psdGlwbG9zIHJhbW9zIG51bWEgY2FiZcOnYSB2YXppYS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkyNAorIzogYnVpbHRpbi9wdWxsLmM6ODYyCiBtc2dpZCAiQ2Fubm90IHJlYmFzZSBvbnRvIG11bHRpcGxlIGJyYW5jaGVzLiIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZWZldHVhciByZWJhc2Ugc29icmUgbcO6bHRpcGxvcyByYW1vcy4iCiAKQEAgLTk2MzUsMTIgKzEwNzY4LDEyIEBACiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgImZhbGhhIGFvIHB1YmxpY2FyIGFsZ3VtYXMgcmVmZXLDqm5jaWFzIGVtICclcyciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM2NQorIzogYnVpbHRpbi9wdXNoLmM6MzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXBvc2l0b3J5ICclcyciCiBtc2dzdHIgInJlcG9zaXTDs3JpbyAnJXMnIGluY29ycmV0byIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzY2CisjOiBidWlsdGluL3B1c2guYzozNjcKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC05NjYyLDExMyArMTA3OTUsMTI1IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDxub21lPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozODEKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4NQogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwgZSAtLXRhZ3Mgc8OjbyBpbmNvbXBhdMOtdmVpcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzgyCisjOiBidWlsdGluL3B1c2guYzozODYKIG1zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICItLWFsbCBuw6NvIHBvZGUgc2VyIGNvbWJpbmFkbyBjb20gZXNwZWNpZmljYWRvcmVzIGRlIHJlZmVyw6puY2lhcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg3CisjOiBidWlsdGluL3B1c2guYzozOTEKIG1zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbWlycm9yIGUgLS10YWdzIHPDo28gaW5jb21wYXTDrXZlaXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4OAorIzogYnVpbHRpbi9wdXNoLmM6MzkyCiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1taXJyb3IgbsOjbyBwb2RlIHNlciBjb21iaW5hZG8gY29tIGVzcGVjaWZpY2Fkb3JlcyBkZSByZWZlcsOqbmNpYXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5MworIzogYnVpbHRpbi9wdXNoLmM6Mzk3CiBtc2dpZCAiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tYWxsIGUgLS1taXJyb3Igc8OjbyBpbmNvbXBhdMOtdmVpcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA1CisjOiBidWlsdGluL3B1c2guYzo1MTUKIG1zZ2lkICJyZXBvc2l0b3J5IgogbXNnc3RyICJyZXBvc2l0w7NyaW8iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUwNiBidWlsdGluL3NlbmQtcGFjay5jOjE2MQorIzogYnVpbHRpbi9wdXNoLmM6NTE2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCiBtc2dpZCAicHVzaCBhbGwgcmVmcyIKIG1zZ3N0ciAicHVibGljYXIgdG9kYXMgYXMgcmVmZXLDqm5jaWFzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MDcgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjMKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNyBidWlsdGluL3NlbmQtcGFjay5jOjE2MwogbXNnaWQgIm1pcnJvciBhbGwgcmVmcyIKIG1zZ3N0ciAicmVwbGljYXIgdG9kYXMgYXMgcmVmZXLDqm5jaWFzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxOQogbXNnaWQgImRlbGV0ZSByZWZzIgogbXNnc3RyICJlbGltaW5hciByZWZlcsOqbmNpYXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxMAorIzogYnVpbHRpbi9wdXNoLmM6NTIwCiBtc2dpZCAicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIgogbXNnc3RyICJwdWJsaWNhciB0YWdzIChuw6NvIHBvZGUgc2VyIHVzYWRvIGNvbSAtLWFsbCBvdSAtLW1pcnJvcikiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxMyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorIzogYnVpbHRpbi9wdXNoLmM6NTIzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CiBtc2dpZCAiZm9yY2UgdXBkYXRlcyIKIG1zZ3N0ciAiZm9yw6dhciBhdHVhbGl6YcOnw6NvIgogCi0jOiBidWlsdGluL3B1c2guYzo1MTUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNSBidWlsdGluL3NlbmQtcGFjay5jOjE3NQogbXNnaWQgInJlZm5hbWU+OjxleHBlY3QiCiBtc2dzdHIgIm5vbWUgZGEgcmVmZXLDqm5jaWE+Ojxlc3BlcmFkbyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CisjOiBidWlsdGluL3B1c2guYzo1MjYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzYKIG1zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKIG1zZ3N0ciAiZXhpZ2lyIHF1ZSBvIGFudGlnbyB2YWxvciBkYSByZWZlcsOqbmNpYSB0ZW5oYSBlc3RlIHZhbG9yIgogCi0jOiBidWlsdGluL3B1c2guYzo1MTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyOQogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAiY29udHJvbGFyIGEgcHVibGljYcOnw6NvIHJlY3Vyc2l2YSBkZSBzdWJtw7NkdWxvcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5CisjOiBidWlsdGluL3B1c2guYzo1MzEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKIG1zZ2lkICJ1c2UgdGhpbiBwYWNrIgogbXNnc3RyICJ1c2FyIHBhY290ZSBmaW5vIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjIgYnVpbHRpbi9wdXNoLmM6NTIzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU4CisjOiBidWlsdGluL3B1c2guYzo1MzIgYnVpbHRpbi9wdXNoLmM6NTMzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU4CiAjOiBidWlsdGluL3NlbmQtcGFjay5jOjE1OQogbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgogbXNnc3RyICJwcm9ncmFtYSByZWNlaXZlIHBhY2siCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyNAorIzogYnVpbHRpbi9wdXNoLmM6NTM0CiBtc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCiBtc2dzdHIgImRlZmluaXIgbyByYW1vIGEgbW9udGFudGUgdXNhZG8gY29tIGdpdCBwdWxsL3N0YXR1cyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI3CisjOiBidWlsdGluL3B1c2guYzo1MzcKIG1zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKIG1zZ3N0ciAiZWxpbWluYXIgcmVmZXLDqm5jaWFzIHJlbW92aWRhcyBsb2NhbG1lbnRlIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzOQogbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgogbXNnc3RyICJpZ25vcmFyIHByZS1wdXNoIGhvb2siCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzMAorIzogYnVpbHRpbi9wdXNoLmM6NTQwCiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgogbXNnc3RyICJwdWJsaWNhciB0YWdzIHBlcmRpZGFzIG1hcyByZWxldmFudGVzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NgogbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgogbXNnc3RyICJhc3NpbmFyIHB1YmxpY2HDp8OjbyBjb20gR1BHIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NSBidWlsdGluL3NlbmQtcGFjay5jOjE3MAogbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgogbXNnc3RyICJzb2xpY2l0YXIgdHJhbnNhw6fDo28gYXTDs21pY2Egbm8gc2Vydmlkb3IgcmVtb3RvIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NgorbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKK21zZ3N0ciAiZXNwZWPDrWZpY28gZG8gc2Vydmlkb3IiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NgorbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKK21zZ3N0ciAib3DDp8OjbyBwYXJhIHRyYW5zbWl0aXIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2MAogbXNnaWQgIi0tZGVsZXRlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLW1pcnJvciBhbmQgLS10YWdzIgogbXNnc3RyICItLWRlbGV0ZSDDqSBpbmNvbXBhdMOtdmVsIGNvbSAtLWFsbCwgLS1taXJyb3IgZSAtLXRhZ3MiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MQorIzogYnVpbHRpbi9wdXNoLmM6NTYyCiBtc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCiBtc2dzdHIgIi0tZGVsZXRlIG7Do28gZmF6IHNlbnRpZG8gc2VtIHVtYSByZWZlcsOqbmNpYSIKIAorIzogYnVpbHRpbi9wdXNoLmM6NTc5Cittc2dpZCAicHVzaCBvcHRpb25zIG11c3Qgbm90IGhhdmUgbmV3IGxpbmUgY2hhcmFjdGVycyIKK21zZ3N0ciAiYXMgb3DDp8O1ZXMgZGUgcHVibGljYcOnw6NvIG7Do28gcG9kZW0gdGVyIGNhcmF0ZXJlcyBkZSBub3ZhIGxpbmhhIgorCiAjOiBidWlsdGluL3JlYWQtdHJlZS5jOjM3CiBtc2dpZCAiIgogImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4PikgIgogIlstdSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdIFstLSIKICJpbmRleC1vdXRwdXQ9PGZpbGU+XSAoLS1lbXB0eSB8IDx0cmVlLWlzaDE+IFs8dHJlZS1pc2gyPiBbPHRyZWUtaXNoMz5dXSkiCiBtc2dzdHIgIiIKLSJnaXQgcmVhZC10cmVlIFsoLW0gWy0tdHJpdmlhbF0gWy0tYWdncmVzc2l2ZV0gfCAtLXJlc2V0IHwgLS1wcmVmaXg9PHByZWZpeG8+KSIKLSIgWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gIgotIlstLWluZGV4LW91dHB1dD08ZmljaGVpcm8+XSAoLS1lbXB0eSB8IDzDoXJ2b3JlLWV0YzE+IFs8w6Fydm9yZS1ldGMyPiBbPMOhcnZvcmUtIgotImV0YzM+XV0pIgorImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLSIKKyJwcmVmaXg9PHByZWZpeG8+KSBbLXUgWy0tZXhjbHVkZS1wZXItZGlyZWN0b3J5PTxnaXRpZ25vcmU+XSB8IC1pXV0gWy0tbm8tIgorInNwYXJzZS1jaGVja291dF0gWy0taW5kZXgtb3V0cHV0PTxmaWNoZWlybz5dICgtLWVtcHR5IHwgPMOhcnZvcmUtZXRjMT4gIgorIls8w6Fydm9yZS1ldGMyPiBbPMOhcnZvcmUtZXRjMz5dXSkiCiAKICM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTEwCiBtc2dpZCAid3JpdGUgcmVzdWx0aW5nIGluZGV4IHRvIDxmaWxlPiIKQEAgLTk4MzYsMTUgKzEwOTgxLDY1IEBACiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICJkZXB1cmFyIHVucGFjay10cmVlcyIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoyNQorIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoyNgogbXNnaWQgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IgogbXNnc3RyICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxNzE5CisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjc5MworbXNnaWQgIiIKKyJCeSBkZWZhdWx0LCB1cGRhdGluZyB0aGUgY3VycmVudCBicmFuY2ggaW4gYSBub24tYmFyZSByZXBvc2l0b3J5XG4iCisiaXMgZGVuaWVkLCBiZWNhdXNlIGl0IHdpbGwgbWFrZSB0aGUgaW5kZXggYW5kIHdvcmsgdHJlZSBpbmNvbnNpc3RlbnRcbiIKKyJ3aXRoIHdoYXQgeW91IHB1c2hlZCwgYW5kIHdpbGwgcmVxdWlyZSAnZ2l0IHJlc2V0IC0taGFyZCcgdG8gbWF0Y2hcbiIKKyJ0aGUgd29yayB0cmVlIHRvIEhFQUQuXG4iCisiXG4iCisiWW91IGNhbiBzZXQgJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG9cbiIKKyInaWdub3JlJyBvciAnd2FybicgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IHB1c2hpbmcgaW50b1xuIgorIml0cyBjdXJyZW50IGJyYW5jaDsgaG93ZXZlciwgdGhpcyBpcyBub3QgcmVjb21tZW5kZWQgdW5sZXNzIHlvdVxuIgorImFycmFuZ2VkIHRvIHVwZGF0ZSBpdHMgd29yayB0cmVlIHRvIG1hdGNoIHdoYXQgeW91IHB1c2hlZCBpbiBzb21lXG4iCisib3RoZXIgd2F5LlxuIgorIlxuIgorIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlIGFuZCBzdGlsbCBrZWVwIHRoZSBkZWZhdWx0IGJlaGF2aW91ciwgc2V0XG4iCisiJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG8gJ3JlZnVzZScuIgorbXNnc3RyICIiCisiUG9yIHByZWRlZmluacOnw6NvLCBhdHVhbGl6YXIgbyByYW1vIGF0dWFsIG51bSByZXBvc2l0w7NyaW8gbsOjby1udVxuIgorIsOpIHByb2liaWRvLCBwb3JxdWUgdG9ybmFyw6EgbyDDrW5kaWNlIGUgYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIGluY29uc2lzdGVudGVzXG4iCisiY29tIG8gcXVlIHB1YmxpY291IGUgcmVxdWVyZXLDoSAnZ2l0IHJlc2V0IC0taGFyZCcgcGFyYSBpZ3VhbGFyIGFcbiIKKyLDoXJ2b3JlIGRlIHRyYWJhbGhvIMOgIEhFQUQuXG4iCisiXG4iCisiUG9kZSBkZWZpbmlyIGEgdmFyacOhdmVsIGNvbmZpZ3VyYcOnw6NvICdyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJ1xuIgorImNvbW8gJ2lnbm9yZScgb3UgJ3dhcm4nIG5vIHJlcG9zaXTDs3JpbyByZW1vdG8gcGFyYSBwZXJtaXRpciBwdWJsaWNhclxuIgorInBhcmEgbyByYW1vIGF0dWFsIGRlbGU7IG5vIGVudGFudG8sIG7Do28gw6kgcmVjb21lbmRhbmRvIGEgbWVub3MgcXVlXG4iCisiY29uc2lnYSBkZSBvdXRyYSBmb3JtYSBhdHVhbGl6YXIgYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIGRlbGUgcGFyYVxuIgorInJlZmxldGlyIG8gcXVlIHB1YmxpY291LlxuIgorIlxuIgorIlBhcmEgc3VwcmltaXIgZXN0YSBtZW5zYWdlbSBlIG1hbnRlciBvIGNvbXBvcnRhbWVudG8gcHJlZGVmaW5pZG8sIGRlZmluYSBhICIKKyJ2YXJpw6F2ZWwgZGUgY29uZmlndXJhw6fDo28gJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbW8gJ3JlZnVzZScuIgorCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjgxMworbXNnaWQgIiIKKyJCeSBkZWZhdWx0LCBkZWxldGluZyB0aGUgY3VycmVudCBicmFuY2ggaXMgZGVuaWVkLCBiZWNhdXNlIHRoZSBuZXh0XG4iCisiJ2dpdCBjbG9uZScgd29uJ3QgcmVzdWx0IGluIGFueSBmaWxlIGNoZWNrZWQgb3V0LCBjYXVzaW5nIGNvbmZ1c2lvbi5cbiIKKyJcbiIKKyJZb3UgY2FuIHNldCAncmVjZWl2ZS5kZW55RGVsZXRlQ3VycmVudCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0b1xuIgorIid3YXJuJyBvciAnaWdub3JlJyBpbiB0aGUgcmVtb3RlIHJlcG9zaXRvcnkgdG8gYWxsb3cgZGVsZXRpbmcgdGhlXG4iCisiY3VycmVudCBicmFuY2gsIHdpdGggb3Igd2l0aG91dCBhIHdhcm5pbmcgbWVzc2FnZS5cbiIKKyJcbiIKKyJUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZSwgeW91IGNhbiBzZXQgaXQgdG8gJ3JlZnVzZScuIgorbXNnc3RyICIiCisiUG9yIHByZWRlZmluacOnw6NvLCBlbGltaW5hciBvIHJhbW8gYXR1YWwgw6kgcHJvaWJpZG8sIHBvcnF1ZSBvIHByw7N4aW1vXG4iCisiJ2dpdCBjbG9uZScgbsOjbyByZXN1bHRhcsOhIGVtIG5lbmh1bSBmaWNoZWlybyBleHRyYcOtZG8sIGNhdXNhbmRvIGNvbmZ1c8Ojby5cbiIKKyJcbiIKKyJQb2RlIGRlZmluaXIgYSB2YXJpw6F2ZWwgZGUgY29uZmlndXJhw6fDo28gJ3JlY2VpdmUuZGVueURlbGV0ZUN1cnJlbnQnIGNvbW9cbiIKKyInd2Fybicgb3UgJ2lnbm9yZScgbm8gcmVwb3NpdMOzcmlvIHJlbW90byBwYXJhIHBlcm1pdGlyIGVsaW1pbmFyIG9cbiIKKyJyYW1vIGF0dWFsLCBjb20gb3Ugc2VtIHVtYSBtZW5zYWdlbSBkZSBhdmlzby5cbiIKKyJcbiIKKyJQYXJhIHN1cHJpbWlyIGVzdGEgbWVuc2FnZW0sIHBvZGUgZGVmaW7DrS1sYSBjb21vICdyZWZ1c2UnLiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODgzCiBtc2dpZCAicXVpZXQiCiBtc2dzdHIgInNpbGVuY2lvc28iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTczMworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODk3CiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIGRpcmVjdG9yeS4iCiBtc2dzdHIgIkRldmUgZXNwZWNpZmljYXIgdW0gZGlyZXTDs3Jpby4iCiAKQEAgLTk4NjcsOCArMTEwNjIsOCBAQAogImdpdCByZW1vdGUgYWRkIFstdCA8YnJhbmNoPl0gWy1tIDxtYXN0ZXI+XSBbLWZdIFstLXRhZ3MgfCAtLW5vLXRhZ3NdIFstLSIKICJtaXJyb3I9PGZldGNofHB1c2g+XSA8bmFtZT4gPHVybD4iCiBtc2dzdHIgIiIKLSJnaXQgcmVtb3RlIGFkZCBbLXQgPHJhbW8+XSBbLW0gPG1lc3RyZT5dIFstZl0gWy0tdGFncyB8IC0tbm8tdGFnc10gIgotIlstLW1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxub21lPiA8dXJsPiIKKyJnaXQgcmVtb3RlIGFkZCBbLXQgPHJhbW8+XSBbLW0gPG1lc3RyZT5dIFstZl0gWy0tdGFncyB8IC0tbm8tdGFnc10gWy0tIgorIm1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxub21lPiA8dXJsPiIKIAogIzogYnVpbHRpbi9yZW1vdGUuYzoxNCBidWlsdGluL3JlbW90ZS5jOjM0CiBtc2dpZCAiZ2l0IHJlbW90ZSByZW5hbWUgPG9sZD4gPG5ldz4iCkBAIC05OTk0LDEyICsxMTE4OSwxMiBAQAogbXNnaWQgInNwZWNpZnlpbmcgYnJhbmNoZXMgdG8gdHJhY2sgbWFrZXMgc2Vuc2Ugb25seSB3aXRoIGZldGNoIG1pcnJvcnMiCiBtc2dzdHIgImVzcGVjaWZpY2FyIHJhbW9zIHBhcmEgc2VndWlyIHPDsyBmYXogc2VudGlkbyBjb20gZmV0Y2ggbWlycm9ycyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzo2MzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkwIGJ1aWx0aW4vcmVtb3RlLmM6NjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZSAlcyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIm8gcmVtb3RvICVzIGrDoSBleGlzdGUuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5NCBidWlsdGluL3JlbW90ZS5jOjYzNworIzogYnVpbHRpbi9yZW1vdGUuYzoxOTQgYnVpbHRpbi9yZW1vdGUuYzo2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZW1vdGUgbmFtZSIKIG1zZ3N0ciAiJyVzJyBuw6NvIMOpIHVtIG5vbWUgZGUgcmVtb3RvIHbDoWxpZG8iCkBAIC0xMDAyMywxOCArMTEyMTgsMTggQEAKIG1zZ2lkICIoZGVsZXRlKSIKIG1zZ3N0ciAiKGVsaW1pbmFkbykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjI2IGJ1aWx0aW4vcmVtb3RlLmM6NzYxIGJ1aWx0aW4vcmVtb3RlLmM6ODU4CisjOiBidWlsdGluL3JlbW90ZS5jOjYyMiBidWlsdGluL3JlbW90ZS5jOjc1NyBidWlsdGluL3JlbW90ZS5jOjg1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZTogJXMiCiBtc2dzdHIgIlJlbW90byBpbmV4aXN0ZW50ZTogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjQzCisjOiBidWlsdGluL3JlbW90ZS5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVuYW1lIGNvbmZpZyBzZWN0aW9uICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiIgogIk7Do28gZm9pIHBvc3PDrXZlbCBtdWRhciBvIG5vbWUgZGEgc2Vjw6fDo28gZGUgY29uZmlndXJhw6fDo28gZGUgJyVzJyBwYXJhICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjYzCisjOiBidWlsdGluL3JlbW90ZS5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90IHVwZGF0aW5nIG5vbi1kZWZhdWx0IGZldGNoIHJlZnNwZWNcbiIKQEAgLTEwMDQ2LDE3ICsxMTI0MSwxNyBAQAogIlx0JXNcbiIKICJcdEF0dWFsaXplIGEgY29uZmlndXJhw6fDo28gbWFudWFsbWVudGUgc2UgbmVjZXNzw6FyaW8uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY5OQorIzogYnVpbHRpbi9yZW1vdGUuYzo2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgImZhbGhhIGFvIGVsaW1pbmFyICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzMzCisjOiBidWlsdGluL3JlbW90ZS5jOjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjcmVhdGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiZmFsaGEgYW8gY3JpYXIgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3OTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzkyCiBtc2dpZCAiIgogIk5vdGU6IEEgYnJhbmNoIG91dHNpZGUgdGhlIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IHdhcyBub3QgcmVtb3ZlZDtcbiIKICJ0byBkZWxldGUgaXQsIHVzZToiCkBAIC0xMDA3MCwzNjQgKzExMjY1LDM4NiBAQAogIk5vdGE6IGFsZ3VucyByYW1vcyBmb3JhIGRhIGhpZXJhcnF1aWEgcmVmcy9yZW1vdGVzLyBuw6NvIGZvcmFtIHJlbW92aWRvcztcbiIKICJwYXJhIG9zIHJlbW92ZXIsIHVzZToiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODEwCisjOiBidWlsdGluL3JlbW90ZS5jOjgwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCByZW1vdmVyIGEgc2Vjw6fDo28gZGUgY29uZmlndXJhw6fDo28gJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKIG1zZ3N0ciAiIG5vdm8gKG9zIHByw7N4aW1hIG9iamV0b3Mgb2J0aWRvcyBzZXLDo28gZ3VhcmRhZG9zIGVtIHJlbW90ZXMvJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxNAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTAKIG1zZ2lkICIgdHJhY2tlZCIKIG1zZ3N0ciAiIHNlZ3VpZG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE2CisjOiBidWlsdGluL3JlbW90ZS5jOjkxMgogbXNnaWQgIiBzdGFsZSAodXNlICdnaXQgcmVtb3RlIHBydW5lJyB0byByZW1vdmUpIgogbXNnc3RyICIgb2Jzb2xldG8gKHVzZSAnZ2l0IHJlbW90ZSBwcnVuZScgcGFyYSByZW1vdmVyKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE0CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAiIgotImJyYW5jaC4lcy5tZXJnZSBpbnbDoWxpZG87IG7Do28gw6kgcG9zc8OtdmVsIHJlYWxpemFyIHJlYmFzZSBzb2JyZSBtYWlzIGRvIHF1ZSAiCi0idW0gcmFtbyIKKyJicmFuY2guJXMubWVyZ2UgaW52w6FsaWRvOyBuw6NvIMOpIHBvc3PDrXZlbCByZWJhc2VhciBzb2JyZSBtYWlzIGRvIHF1ZSB1bSByYW1vIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2NworIzogYnVpbHRpbi9yZW1vdGUuYzo5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBpbnRlcmFjdGl2ZWx5IG9udG8gcmVtb3RlICVzIgotbXNnc3RyICJyZWFsaXphIHJlYmFzZSBpbnRlcmF0aXZvIHNvYnJlICVzIGRvIHJlbW90byIKK21zZ3N0ciAicmViYXNlaWEgaW50ZXJhdGl2YW1lbnRlIHNvYnJlICVzIGRvIHJlbW90byIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCittc2dzdHIgInJlYmFzZWlhIHNvYnJlICVzIGRvIHJlbW90byIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIGludGVncmEgY29tICVzIGRvIHJlbW90byIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzIKLW1zZ2lkICIgICAgYW5kIHdpdGggcmVtb3RlIgotbXNnc3RyICIgICAgZSBjb20gbyByZW1vdG8iCi0KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc0CisjOiBidWlsdGluL3JlbW90ZS5jOjk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgImludGVncmEgY29tICVzIGRvIHJlbW90byIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzUKLW1zZ2lkICIgICBhbmQgd2l0aCByZW1vdGUiCi1tc2dzdHIgIiAgIGUgY29tIG8gcmVtb3RvIgorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0qcyAgICBhbmQgd2l0aCByZW1vdGUgJXNcbiIKK21zZ3N0ciAiJS0qcyAgICBlIGNvbSBvICVzIGRvIHJlbW90b1xuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxNgogbXNnaWQgImNyZWF0ZSIKIG1zZ3N0ciAiY3JpYWRvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxOQogbXNnaWQgImRlbGV0ZSIKIG1zZ3N0ciAiZWxpbWluYWRvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMwogbXNnaWQgInVwIHRvIGRhdGUiCiBtc2dzdHIgImF0dWFsaXphZG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAicG9kZSBzZXIgYXZhbsOnYWRvIHJhcGlkYW1lbnRlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICJsb2NhbCBkZXNhdHVhbGl6YWRvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyBmb3LDp2EgZW0gJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyBwdWJsaWNhIGVtICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyBmb3LDp2EgZW0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMgcHVibGljYSBlbSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE5CisjOiBidWlsdGluL3JlbW90ZS5jOjExMTQKIG1zZ2lkICJkbyBub3QgcXVlcnkgcmVtb3RlcyIKIG1zZ3N0ciAibsOjbyBjb25zdWx0YXIgcmVtb3RvcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjExNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiogcmVtb3RvICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZldGNoIFVSTDogJXMiCiBtc2dzdHIgIiAgT2J0ZXIgICAgZG8gVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ4IGJ1aWx0aW4vcmVtb3RlLmM6MTMwMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQzIGJ1aWx0aW4vcmVtb3RlLmM6MTE1NiBidWlsdGluL3JlbW90ZS5jOjEyOTUKIG1zZ2lkICIobm8gVVJMKSIKIG1zZ3N0ciAiKG5lbmh1bSBVUkwpIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24gd2l0aAogIy4gdGhlIG9uZSBpbiAiICBGZXRjaCBVUkw6ICVzIiB0cmFuc2xhdGlvbgotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU0IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFB1c2ggIFVSTDogJXMiCiBtc2dzdHIgIiAgUHVibGljYXIgbm8gVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYzIGJ1aWx0aW4vcmVtb3RlLmM6MTE2NSBidWlsdGluL3JlbW90ZS5jOjExNjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OCBidWlsdGluL3JlbW90ZS5jOjExNjAgYnVpbHRpbi9yZW1vdGUuYzoxMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgSEVBRCBicmFuY2g6ICVzIgogbXNnc3RyICIgIFJhbW8gSEVBRDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4Cittc2dpZCAiKG5vdCBxdWVyaWVkKSIKK21zZ3N0ciAiKG7Do28gY29uc3VsdGFkbykiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKGRlc2NvbmhlY2lkbykiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiICBIRUFEIGJyYW5jaCAocmVtb3RlIEhFQUQgaXMgYW1iaWd1b3VzLCBtYXkgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcpOlxuIgogbXNnc3RyICIgIFJhbW8gSEVBRCAobyByZW1vdG8gSEVBRCDDqSBhbWLDrWd1bywgcG9kZSBzZXIgdW0gZG9zIHNlZ3VpbnRlcyk6XG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUmVtb3RlIGJyYW5jaDolcyIKIG1zZ2lkX3BsdXJhbCAiICBSZW1vdGUgYnJhbmNoZXM6JXMiCiBtc2dzdHJbMF0gIiAgUmFtbyByZW1vdG86JXMiCiBtc2dzdHJbMV0gIiAgUmFtb3MgcmVtb3RvczolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg0IGJ1aWx0aW4vcmVtb3RlLmM6MTIxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNQogbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiIChlc3RhZG8gbsOjbyBjb25zdWx0YWRvKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTkzCisjOiBidWlsdGluL3JlbW90ZS5jOjExODgKIG1zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clswXSAiICBSYW1vIGxvY2FsIGNvbmZpZ3VyYWRvIHBhcmEgJ2dpdCBwdWxsJzoiCiBtc2dzdHJbMV0gIiAgUmFtb3MgbG9jYWlzIGNvbmZpZ3VyYWRvcyBwYXJhICdnaXQgcHVsbCc6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NgogbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCiBtc2dzdHIgIiAgUmVmZXLDqm5jaWFzIGxvY2FpcyBzZXLDo28gcmVmbGV0aWRhcyAobWlycm9yKSBwb3IgJ2dpdCBwdXNoJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBMb2NhbCByZWYgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCByZWZzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dzdHJbMF0gIiAgUmVmZXLDqm5jaWEgbG9jYWwgY29uZmlndXJhZGEgcGFyYSAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzFdICIgIFJlZmVyw6puY2lhcyBsb2NhaXMgY29uZmlndXJhZGFzIHBhcmEgJ2dpdCBwdXNoJyVzOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI5CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjMKIG1zZ2lkICJzZXQgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIGFjY29yZGluZyB0byByZW1vdGUiCiBtc2dzdHIgImRlZmluaXIgcmVmcy9yZW1vdGVzLzxub21lPi9IRUFEIGRlIGFjb3JkbyBjb20gbyByZW1vdG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIzMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI1CiBtc2dpZCAiZGVsZXRlIHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCIKIG1zZ3N0ciAiZWxpbWluYXIgcmVmcy9yZW1vdGVzLzxub21lPi9IRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MAogbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGRldGVybWluYXIgbyByZW1vdG8gSEVBRCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDIKIG1zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKIG1zZ3N0ciAiTcO6bHRpcGxvcyByYW1vcyBIRUFEIHJlbW90b3MuIEVzY29saGEgdW0gZXhwbGljaXRhbWVudGUgY29tOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjU4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGVsaW1pbmFyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICJSZWZlcsOqbmNpYSBpbnbDoWxpZGE6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgJXMiCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBjb25maWd1cmFyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMgZmljYXLDoSBzdXNwZW5zbyEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyBoYXMgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIGZpY291IHN1c3BlbnNvISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk3CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAiQSBlbGltaW5hciAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVVJMOiAlcyIKIG1zZ3N0ciAiVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE0CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiICogW2VsaW1pbmFyaWFdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiICogW2VsaW1pbmFkb10gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzU2CiBtc2dpZCAicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIKIG1zZ3N0ciAiZWxpbWluYXIgcmVtb3RvcyBkZXBvaXMgZGUgb2J0ZXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQyNSBidWlsdGluL3JlbW90ZS5jOjE0NzkgYnVpbHRpbi9yZW1vdGUuYzoxNTQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjE0MTkgYnVpbHRpbi9yZW1vdGUuYzoxNDczIGJ1aWx0aW4vcmVtb3RlLmM6MTU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSAnJXMnIgogbXNnc3RyICJSZW1vdG8gaW5leGlzdGVudGUgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0MzUKIG1zZ2lkICJhZGQgYnJhbmNoIgogbXNnc3RyICJhZGljaW9uYXIgcmFtbyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NDIKIG1zZ2lkICJubyByZW1vdGUgc3BlY2lmaWVkIgogbXNnc3RyICJuZW5odW0gcmVtb3RvIGVzcGVjaWZpY2FkbyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDY1CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NTkKIG1zZ2lkICJxdWVyeSBwdXNoIFVSTHMgcmF0aGVyIHRoYW4gZmV0Y2ggVVJMcyIKIG1zZ3N0ciAiY29uc3VsdGFyIFVSTHMgZGUgcHVibGljYcOnw6NvIGVtIHZleiBkZSBVUkxzIHV0aWxpemFkb3MgcGFyYSBvYnRlciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDY3CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjEKIG1zZ2lkICJyZXR1cm4gYWxsIFVSTHMiCiBtc2dzdHIgInJldG9ybmFyIHRvZG9zIG9zIFVSTHMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgIm8gcmVtb3RvICclcycgbsOjbyB0ZW0gbmVuaHVtIFVSTCBjb25maWd1cmFkbyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MTUKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAibWFuaXB1bGFyIFVSTHMgZGUgcHVibGljYcOnw6NvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNwogbXNnaWQgImFkZCBVUkwiCiBtc2dzdHIgImFkaWNpb25hciBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE5CiBtc2dpZCAiZGVsZXRlIFVSTHMiCiBtc2dzdHIgImVsaW1pbmFyIFVSTHMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI2CiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWFkZCAtLWRlbGV0ZSBuw6NvIGZheiBzZW50aWRvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgIlBhZHLDo28gZGUgVVJMIGFudGlnbyBpbnbDoWxpZG86ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1ODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIFVSTCBmb3VuZDogJXMiCiBtc2dzdHIgIlVSTCBuw6NvIGVuY29udHJhZG86ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1ODMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NwogbXNnaWQgIldpbGwgbm90IGRlbGV0ZSBhbGwgbm9uLXB1c2ggVVJMcyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgcmVtb3ZlciB0b2RvcyBvcyBVUkxzIGRlIG7Do28gcHVibGljYcOnw6NvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MQogbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgInNlciB2ZXJib3NvOyBkZXZlIHNlciBjb2xvY2FkbyBhbnRlcyBkZSB1bSBzdWJjb21hbmRvIgogCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAiU3ViY29tYW5kbyBkZXNjb25oZWNpZG86ICVzIgorCiAjOiBidWlsdGluL3JlcGFjay5jOjE3CiBtc2dpZCAiZ2l0IHJlcGFjayBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHJlcGFjayBbPG9ww6fDtWVzPl0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU5CisjOiBidWlsdGluL3JlcGFjay5jOjE2MAogbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgogbXNnc3RyICJjb21wYWN0YXIgdHVkbyBudW0gw7puaWNvIHBhY290ZSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYyCiBtc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKIG1zZ3N0ciAibyBtZXNtbyBxdWUgLWEsIGUgc29sdGFyIG9iamV0b3MgaW5hbGNhbsOnw6F2ZWlzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2NAorIzogYnVpbHRpbi9yZXBhY2suYzoxNjUKIG1zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCiBtc2dzdHIgInJlbW92ZXIgcGFjb3RlcyByZWR1bmRhbnRlcyBlIGV4ZWN1dGFyIGdpdC1wcnVuZS1wYWNrZWQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY2CisjOiBidWlsdGluL3JlcGFjay5jOjE2NwogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJwYXNzYXIgLS1uby1yZXVzZS1kZWx0YSBhbyBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2OAorIzogYnVpbHRpbi9yZXBhY2suYzoxNjkKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgInBhc3NhciAtLW5vLXJldXNlLW9iamVjdCBhbyBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3MAorIzogYnVpbHRpbi9yZXBhY2suYzoxNzEKIG1zZ2lkICJkbyBub3QgcnVuIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiBtc2dzdHIgIm7Do28gZXhlY3V0YXIgZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc0CiBtc2dpZCAicGFzcyAtLWxvY2FsIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgInBhc3NhciAtLWxvY2FsIGFvIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc1CisjOiBidWlsdGluL3JlcGFjay5jOjE3NgogbXNnaWQgIndyaXRlIGJpdG1hcCBpbmRleCIKIG1zZ3N0ciAiZXNjcmV2ZXIgw61uZGljZSBkZSBtYXBhIGRlIGJpdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc2CisjOiBidWlsdGluL3JlcGFjay5jOjE3NwogbXNnaWQgImFwcHJveGlkYXRlIgogbXNnc3RyICJhcHJveGltYXIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc3CisjOiBidWlsdGluL3JlcGFjay5jOjE3OAogbXNnaWQgIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiCiBtc2dzdHIgImNvbSAtQSwgbsOjbyBzb2x0YXIgbWFpcyBvYmpldG9zIGFsw6ltIGRlc3RlcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzkKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgwCittc2dpZCAid2l0aCAtYSwgcmVwYWNrIHVucmVhY2hhYmxlIG9iamVjdHMiCittc2dzdHIgImNvbSAtYSwgcmVlbXBhY290YXIgb2JqZXRvcyBpbmFsY2Fuw6fDoXZlaXMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgyCiBtc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICJkaW1lbnPDo28gZGEgamFuZWxhIHVzYWRhIGVtIGNvbXByZXNzw6NvIGRlIGRlbHRhcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODAgYnVpbHRpbi9yZXBhY2suYzoxODQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgzIGJ1aWx0aW4vcmVwYWNrLmM6MTg3CiBtc2dpZCAiYnl0ZXMiCiBtc2dzdHIgImJ5dGVzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MQorIzogYnVpbHRpbi9yZXBhY2suYzoxODQKIG1zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKIG1zZ3N0ciAiIgogIm8gbWVzbW8gcXVlIG8gYW50ZXJpb3IsIG1hcyBsaW1pdGFyIGEgbWVtw7NyaWEgdXNhZGEgZW0gdmV6IGRvIG7Dum1lcm8gZGUgIgogImVudHJhZGFzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MworIzogYnVpbHRpbi9yZXBhY2suYzoxODYKIG1zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCiBtc2dzdHIgImxpbWl0YXIgYSBwcm9mdW5kaWRhZGUgbcOheGltYSBkZSBkZWx0YSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg4CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggcGFja2ZpbGUiCiBtc2dzdHIgInRhbWFuaG8gbcOheGltbyBkZSBjYWRhIGZpY2hlaXJvIGRlIHBhY290ZSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkwCiBtc2dpZCAicmVwYWNrIG9iamVjdHMgaW4gcGFja3MgbWFya2VkIHdpdGggLmtlZXAiCiBtc2dzdHIgInJlZW1wYWNvdGFyIG9iamV0b3MgZW0gcGFjb3RlcyBtYXJjYWRvcyBjb20gLmtlZXAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk3CisjOiBidWlsdGluL3JlcGFjay5jOjIwMAogbXNnaWQgImNhbm5vdCBkZWxldGUgcGFja3MgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGVsaW1pbmFyIHBhY290ZXMgbnVtIHJlcG9zaXTDs3JpbyBkZSBvYmpldG9zLXByZWNpb3NvcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozODEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjA0Cittc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUgZSAtQSBzw6NvIGluY29tcGF0w612ZWlzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjM5MSBidWlsdGluL3dvcmt0cmVlLmM6MTE1CiAjLCBjLWZvcm1hdAotbXNnaWQgInJlbW92aW5nICclcycgZmFpbGVkIgorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKIG1zZ3N0ciAiZmFsaGEgYW8gcmVtb3ZlciAnJXMnIgogCiAjOiBidWlsdGluL3JlcGxhY2UuYzoxOQpAQCAtMTA1MzIsOCArMTE3NDksOCBAQAogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxjb21taXQ+XSIKIAogIzogYnVpbHRpbi9yZXNldC5jOjI3Ci1tc2dpZCAiZ2l0IHJlc2V0IFstcV0gPHRyZWUtaXNoPiBbLS1dIDxwYXRocz4uLi4iCi1tc2dzdHIgImdpdCByZXNldCBbLXFdIDzDoXJ2b3JlLWV0Yz4gWy0tXSA8Y2FtaW5ob3M+Li4uIgorbXNnaWQgImdpdCByZXNldCBbLXFdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRocz4uLi4iCittc2dzdHIgImdpdCByZXNldCBbLXFdIFs8w6Fydm9yZS1ldGM+XSBbLS1dIDxjYW1pbmhvcz4uLi4iCiAKICM6IGJ1aWx0aW4vcmVzZXQuYzoyOAogbXNnaWQgImdpdCByZXNldCAtLXBhdGNoIFs8dHJlZS1pc2g+XSBbLS1dIFs8cGF0aHM+Li4uXSIKQEAgLTEwNjUyLDI3ICsxMTg2OSwyNyBAQAogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBlc2NyZXZlciBub3ZvIGZpY2hlaXJvIGRlIMOtbmRpY2UuIgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6MzUwCisjOiBidWlsdGluL3Jldi1saXN0LmM6MzU0CiBtc2dpZCAicmV2LWxpc3QgZG9lcyBub3Qgc3VwcG9ydCBkaXNwbGF5IG9mIG5vdGVzIgogbXNnc3RyICJyZXYtbGlzdCBuw6NvIHN1cG9ydGEgYXByZXNlbnRhw6fDo28gZGUgbm90YXMiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzU4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM4NgogbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3DDp8O1ZXM+XSAtLSBbPGFyZ3VtZW50b3M+Li4uXSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjMKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzkxCiBtc2dpZCAia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIgogbXNnc3RyICJjb25zZXJ2YXIgJy0tJyBwYXNzYWRvIGNvbW8gYXJndW1lbnRvIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2NQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTMKIG1zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCiBtc2dzdHIgInBhcmFyIGRlIGFuYWxpc2FyIGRlcG9pcyBkbyBwcmltZWlybyBhcmd1bWVudG8gcXVlIG7Do28gc2VqYSB1bWEgb3DDp8OjbyIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjgKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzk2CiBtc2dpZCAib3V0cHV0IGluIHN0dWNrIGxvbmcgZm9ybSIKIG1zZ3N0ciAibW9zdHJhciBlbSBmb3JtYXRvIGZpeG8gZSBsb25nbyIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0OTkKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTI3CiBtc2dpZCAiIgogImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXVxuIgogIiAgIG9yOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmc+Li4uXVxuIgpAQCAtMTA3NDQsMzEgKzExOTYxLDI3IEBACiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAib3DDp8OjbyBkZSBlc3RyYXTDqWdpYSBkZSBpbnRlZ3Jhw6fDo28iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CisjOiBidWlsdGluL3JldmVydC5jOjEwMAogbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKIG1zZ3N0ciAiYWNyZXNjZW50YXIgbm9tZSBkbyBjb21taXQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CisjOiBidWlsdGluL3JldmVydC5jOjEwMgogbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgogbXNnc3RyICJwcmVzZXJ2YXIgY29tbWl0cyBpbmljaWFsbWVudGUgdmF6aW9zIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCiBtc2dzdHIgInBlcm1pdGlyIGNvbW1pdHMgY29tIG1lbnNhZ2VucyB2YXppYXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA4CisjOiBidWlsdGluL3JldmVydC5jOjEwNAogbXNnaWQgImtlZXAgcmVkdW5kYW50LCBlbXB0eSBjb21taXRzIgogbXNnc3RyICJtYW50ZXIgY29tbWl0cyByZWR1bmRhbnRlcyBlIHZhemlvcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKLW1zZ2lkICJwcm9ncmFtIGVycm9yIgotbXNnc3RyICJlcnJvIGRvIHByb2dyYW1hIgotCi0jOiBidWlsdGluL3JldmVydC5jOjE5NworIzogYnVpbHRpbi9yZXZlcnQuYzoxOTIKIG1zZ2lkICJyZXZlcnQgZmFpbGVkIgogbXNnc3RyICJmYWxoYSBhbyByZXZlcnRlciIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMTIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjA1CiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICJmYWxoYSBhbyBlZmV0dWFyIGNoZXJyeS1waWNrIgogCkBAIC0xMDkwMSw3ICsxMjExNCw4IEBACiAKICM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxMwogbXNnaWQgImdpdCBzaG9ydGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gWzxwYXRoPi4uLl1dIgotbXNnc3RyICJnaXQgc2hvcnRsb2cgWzxvcMOnw7Vlcz5dIFs8aW50ZXJ2YWxvLWRlLXJldmlzw7Vlcz5dIFtbLS1dIFs8Y2FtaW5obz4uLi5dXSIKK21zZ3N0ciAiIgorImdpdCBzaG9ydGxvZyBbPG9ww6fDtWVzPl0gWzxpbnRlcnZhbG8tZGUtcmV2aXPDtWVzPl0gW1stLV0gWzxjYW1pbmhvPi4uLl1dIgogCiAjOiBidWlsdGluL3Nob3J0bG9nLmM6MjQyCiBtc2dpZCAic29ydCBvdXRwdXQgYWNjb3JkaW5nIHRvIHRoZSBudW1iZXIgb2YgY29tbWl0cyBwZXIgYXV0aG9yIgpAQCAtMTA5MzksNzggKzEyMTUzLDEzMyBAQAogbXNnaWQgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPGJhc2U+XV0gWy0tbGlzdF0gWzxyZWY+XSIKIG1zZ3N0ciAiZ2l0IHNob3ctYnJhbmNoICgtZyB8IC0tcmVmbG9nKVs9PG4+Wyw8YmFzZT5dXSBbLS1saXN0XSBbPHJlZmVyw6puY2lhPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZiIKK21zZ2lkX3BsdXJhbCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZnMiCittc2dzdHJbMF0gImlnbm9yYXIgJXM7IG7Do28gw6kgcG9zc8OtdmVsIHByb2Nlc3NhciBtYWlzIGRvIHF1ZSAlZCByZWZlcsOqbmNpYSIKK21zZ3N0clsxXSAiaW5nb3JhciAlczsgbsOjbyDDqSBwb3Nzw612ZWwgcHJvY2Vzc2FyIG1haXMgZG8gcXVlICVkIHJlZmVyw6puY2lhcyIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0MQorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtYXRjaGluZyByZWZzIHdpdGggJXMiCittc2dzdHIgIm5lbmh1bWEgcmVmZXLDqm5jaWEgY29ycmVzcG9uZGUgY29tICVzIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICJtb3N0cmFyIG9zIHJhbW9zIGRlIG1vbml0b3JpemHDp8OjbyByZW1vdG9zIGUgb3MgcmFtb3MgbG9jYWlzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQxCiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIm1vc3RyYXIgb3MgcmFtb3MgZGUgbW9uaXRvcml6YcOnw6NvIHJlbW90b3MiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICJjb2xvcmlyICcqISstJyBjb3JyZXNwb25kZW5kbyBhbyByYW1vIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1CiBtc2dpZCAic2hvdyA8bj4gbW9yZSBjb21taXRzIGFmdGVyIHRoZSBjb21tb24gYW5jZXN0b3IiCiBtc2dzdHIgIm1vc3RyYXIgbWFpcyA8bj4gY29tbWl0cyBkZXBvaXMgZG8gYW50ZWNlc3NvciBjb211bSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NwogbXNnaWQgInN5bm9ueW0gdG8gbW9yZT0tMSIKIG1zZ3N0ciAic2luw7NuaW1vIGRlIG1vcmU9LTEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKIG1zZ2lkICJzdXBwcmVzcyBuYW1pbmcgc3RyaW5ncyIKIG1zZ3N0ciAic3VwcmltaXIgYSBjYWRlaWFzIGRlIGNhcmFjdGVyZXMgZGUgbm9tZXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAiaW5jbHVpciBvIHJhbW8gYXR1YWwiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKIG1zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCiBtc2dzdHIgImRlc2lnbmFyIGNvbW1pdHMgcGVsb3Mgc2V1cyBub21lcyBkZSBvYmpldG8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICJtb3N0cmFyIHBvc3PDrXZlaXMgYmFzZXMgZGUgaW50ZWdyYcOnw6NvIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU2CiBtc2dpZCAic2hvdyByZWZzIHVucmVhY2hhYmxlIGZyb20gYW55IG90aGVyIHJlZiIKIG1zZ3N0ciAibW9zdHJhciByZWZlcsOqbmNpYXMgaW5hbGNhbsOnw6F2ZWlzIGEgcGFydGlyIGRlIG91dHJhcyByZWZlcsOqbmNpYXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgIm1vc3RyYXIgY29tbWl0cyBlbSBvcmRlbSB0b3BvbMOzZ2ljYSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MQogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgogbXNnc3RyICJtb3N0cmFyIGFwZW5hcyBjb21taXRzIG7Do28gcHJlc2VudGVzIG5vIHByaW1laXJvIHJhbW8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjMKIG1zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCiBtc2dzdHIgIm1vc3RyYXIgaW50ZWdyYcOnw7VlcyBhbGNhbsOnw6F2ZWlzIGEgcGFydGlyIGR1bWEgw7puaWNhIHBvbnRhIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY1CiBtc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgogbXNnc3RyICIiCiAib3JkZW5hciB0b3BvbG9naWNhbWVudGUsIG1hbnRlbmRvIGEgb3JkZW5hw6fDo28gcG9yIGRhdGEgc2VtcHJlIHF1ZSBwb3Nzw612ZWwiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKIG1zZ2lkICI8bj5bLDxiYXNlPl0iCiBtc2dzdHIgIjxuPlssPGJhc2U+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQogbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgogbXNnc3RyICJtb3N0cmFyIGFzIDxuPiBlbnRyYWRhcyBkZSByZWYtbG9nIG1haXMgcmVjZW50ZSBhIHBhcnRpciBkYSBiYXNlIgogCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzAzCittc2dpZCAiIgorIi0tcmVmbG9nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLXJlbW90ZXMsIC0taW5kZXBlbmRlbnQgb3IgLS1tZXJnZS1iYXNlIgorbXNnc3RyICIiCisiLS1yZWZsb2cgw6kgaW5jb21wYXTDrXZlbCBjb20gLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjcKK21zZ2lkICJubyBicmFuY2hlcyBnaXZlbiwgYW5kIEhFQUQgaXMgbm90IHZhbGlkIgorbXNnc3RyICJuZW5odW0gcmFtbyBmb3JuZWNpZG8gZSBIRUFEIG7Do28gw6kgdsOhbGlkYSIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMAorbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCittc2dzdHIgImEgb3DDp8OjbyAtLXJlZmxvZyBwcmVjaXNhIGRvIG5vbWUgZGUgdW0gcmFtbyIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5ICVkIGVudHJ5IGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCittc2dpZF9wbHVyYWwgIm9ubHkgJWQgZW50cmllcyBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgorbXNnc3RyWzBdICJhcGVuYXMgJWQgZW50cmFkYSBwb2RlbSBzZXIgbW9zdHJhZGFzIG5lc3RlIG1vbWVudG8uIgorbXNnc3RyWzFdICJhcGVuYXMgJWQgZW50cmFkYXMgcG9kZW0gc2VyIG1vc3RyYWRhcyBuZXN0ZSBtb21lbnRvLiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNworIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZiAlcyIKK21zZ3N0ciAicmVmZXLDqm5jaWEgaW5leGlzdGVudGUgJXMiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2LiIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iCittc2dzdHJbMF0gIm7Do28gw6kgcG9zc8OtdmVsIHByb2Nlc3NhciBtYWlzIGRvIHF1ZSAlZCByZXZpc8Ojby4iCittc2dzdHJbMV0gIm7Do28gw6kgcG9zc8OtdmVsIHByb2Nlc3NhciBtYWlzIGRvIHF1ZSAlZCByZXZpc8O1ZXMuIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAiJyVzJyBuw6NvIMOpIHVtYSByZWZlcsOqbmNpYSB2w6FsaWRhLiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBjb21taXQgJXMgKCVzKSIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZW5jb250cmFyIG8gY29tbWl0ICVzICglcykiCisKICM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMAogbXNnaWQgIiIKICJnaXQgc2hvdy1yZWYgWy1xIHwgLS1xdWlldF0gWy0tdmVyaWZ5XSBbLS1oZWFkXSBbLWQgfCAtLWRlcmVmZXJlbmNlXSBbLXMgfCAtLSIKICJoYXNoWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFs8cGF0dGVybj4uLi5dIgogbXNnc3RyICIiCi0iZ2l0IHNob3ctcmVmIFstcSB8IC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kIHwgLS1kZXJlZmVyZW5jZV0gWy1zIHwgIgotIi0taGFzaFs9PG4+XV0gWy0tYWJicmV2Wz08bj5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBbPHBhZHLDo28+Li4uXSIKKyJnaXQgc2hvdy1yZWYgWy1xIHwgLS1xdWlldF0gWy0tdmVyaWZ5XSBbLS1oZWFkXSBbLWQgfCAtLWRlcmVmZXJlbmNlXSBbLXMgfCAtLSIKKyJoYXNoWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFs8cGFkcsOjbz4uLi5dIgogCiAjOiBidWlsdGluL3Nob3ctcmVmLmM6MTEKIG1zZ2lkICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz08cGF0dGVybj5dIgpAQCAtMTEwNjcsMTIgKzEyMzM2LDEyIEBACiBtc2dpZCAicHJlcGVuZCBjb21tZW50IGNoYXJhY3RlciBhbmQgc3BhY2UgdG8gZWFjaCBsaW5lIgogbXNnc3RyICJwcmVjZWRlciBjYWRhIGxpbmhhIGNvbSB1bSBjYXLDoWN0ZXIgZGUgY29tZW50w6FyaW8gZSB1bSBlc3Bhw6dvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlZjogJXMiCiBtc2dzdHIgIlJlZmVyw6puY2lhIGluZXhpc3RlbnRlOiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0aW5nIGEgZnVsbCByZWYgbmFtZSwgZ290ICVzIgogbXNnc3RyICJFc3BlcmF2YS1zZSB1bSBub21lIGNvbXBsZXRvIGRlIHVtYSByZWZlcsOqbmNpYSwgb2J0ZXZlLXNlICVzIgpAQCAtMTEwODIsNzUgKzEyMzUxLDk0IEBACiBtc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJXMnIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCB0aXJhciB1bSBjb21wb25lbnRlIGRvIFVSTCAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mjc4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDUKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MAogbXNnaWQgImFsdGVybmF0aXZlIGFuY2hvciBmb3IgcmVsYXRpdmUgcGF0aHMiCiBtc2dzdHIgIsOibmNvcmEgYWx0ZXJuYXRpdmEgcGFyYSBjYW1pbmhvcyByZWxhdGl2b3MiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODcKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxjYW1pbmhvPl0gWzxjYW1pbmhvPi4uLl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMjYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM0MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMyOSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyBpbiAuZ2l0bW9kdWxlcyIKIG1zZ3N0ciAiTmVuaHVtIFVSTCBlbmNvbnRyYWRvIHBhcmEgbyBjYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyVzJyBlbSAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICJGYWxoYSBhbyByZWdpc3RhciBvIFVSTCBkbyBjYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyVzJ1xuIgogbXNnc3RyICJTdWJtw7NkdWxvICclcycgKCVzKSByZWdpc3RhZG8gY29tIGNhbWluaG8gJyVzJ1xuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGNvbW1hbmQgdXBkYXRlIG1vZGUgc3VnZ2VzdGVkIGZvciBzdWJtb2R1bGUgJyVzJ1xuIgogbXNnc3RyICJhdmlzbzogbW9kbyBkZSBhdHVhbGl6YcOnw6NvIGRvIGNvbWFuZG8gc3VnZXJpZG8gcGFyYSBvIHN1Ym3Ds2R1bG8gJyVzJ1xuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzg3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cGRhdGUgbW9kZSBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiRmFsaGEgYW8gcmVnaXN0YXIgbyBtb2RvIGRlIGF0dWFsaXphw6fDo28gZG8gY2FtaW5obyBkZSBzdWJtw7NkdWxvICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDkKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiU3VwcmltaXIgYSBzYcOtZGEgYW8gaW5pY2lhbGl6YXIgdW0gc3VibcOzZHVsbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPGNhbWluaG8+XSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQzMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQzNQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPGNhbWluaG8+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Ym1vZHVsZSBtYXBwaW5nIGZvdW5kIGluIC5naXRtb2R1bGVzIGZvciBwYXRoICclcyciCiBtc2dzdHIgIiIKICJuZW5odW0gbWFwZWFtZW50byBkZSBzdWJtw7NkdWxvIGRvIGNhbWluaG8gJyVzJyBlbmNvbnRyYWRvIGVtIC5naXRtb2R1bGVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDg5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VibW9kdWxlICclcycgY2Fubm90IGFkZCBhbHRlcm5hdGU6ICVzIgorbXNnc3RyICJvIHN1Ym3Ds2R1bG8gJyVzJyBuw6NvIHBvZGUgYWRpY2lvbmFyIHNvYnJlc3NhbGVudGU6ICVzIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IGlzIG5vdCByZWNvZ25pemVkIgorbXNnc3RyICJPIHZhbG9yICclcycgZGUgc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgbsOjbyDDqSByZWNvbmhlY2lkbyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCittc2dzdHIgIk8gdmFsb3IgJyVzJyBkZSBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gbsOjbyDDqSByZWNvbmhlY2lkbyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MwogbXNnaWQgIndoZXJlIHRoZSBuZXcgc3VibW9kdWxlIHdpbGwgYmUgY2xvbmVkIHRvIgogbXNnc3RyICJzw610aW8gcGFyYSBhb25kZSBvIG5vdm8gc3VibcOzZHVsbyBzZXLDoSBjbG9uYWRvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk2CiBtc2dpZCAibmFtZSBvZiB0aGUgbmV3IHN1Ym1vZHVsZSIKIG1zZ3N0ciAibm9tZSBkbyBub3ZvIHN1Ym3Ds2R1bG8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTkKIG1zZ2lkICJ1cmwgd2hlcmUgdG8gY2xvbmUgdGhlIHN1Ym1vZHVsZSBmcm9tIgogbXNnc3RyICJ1cmwgZG9uZGUgY2xvbmFyIG8gc3VibcOzZHVsb3MiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MDEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDUKIG1zZ2lkICJkZXB0aCBmb3Igc2hhbGxvdyBjbG9uZXMiCiBtc2dzdHIgInByb2Z1bmRpZGFkZSBkZSBjbG9uZXMgcmFzb3MiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2NAorbXNnaWQgImZvcmNlIGNsb25pbmcgcHJvZ3Jlc3MiCittc2dzdHIgImZvcsOnYXIgcHJvZ3Jlc3NvIGRhIGNsb25hZ2VtIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEzCiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS1kZXB0aCA8ZGVwdGg+XSAtLXVybCA8dXJsPiAtLXBhdGggPHBhdGg+IgpAQCAtMTExNTgsODkgKzEyNDQ2LDExMiBAQAogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PGNhbWluaG8+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8cmVwb3NpdMOzcmlvPl0gWy0tbmFtZSA8bm9tZT5dIFstLWRlcHRoIDxkZXB0aD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8Y2FtaW5obz4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MzIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUzOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciBvIGRpcmV0w7NyaW8gJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUzNAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjbG9uZSBvZiAnJXMnIGludG8gc3VibW9kdWxlIHBhdGggJyVzJyBmYWlsZWQiCiBtc2dzdHIgImZhbGhhIGFvIGNsb25hciAnJXMnIG5vIGNhbWluaG8gZGUgc3VibcOzZHVsbyAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTUwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKIG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYWJyaXIgbyBmaWNoZWlybyAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTU1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSBmaWxlICVzIgogbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBmZWNoYXIgbyBmaWNoZWlybyAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZ2V0IHN1Ym1vZHVsZSBkaXJlY3RvcnkgZm9yICclcyciCiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBvIGRpcmV0w7NyaW8gZG8gc3VibcOzZHVsbyBkZSAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICclcycgbm90IGluaXRpYWxpemVkIgogbXNnc3RyICJDYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyVzJyBuw6NvIGluaWNpYWxpemFkbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjczMAogbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgogbXNnc3RyICJQcmV0ZW5kaWEgdXNhciAndXBkYXRlIC0taW5pdCc/IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHVubWVyZ2VkIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAiQSBpZ25vcmFyIHN1Ym3Ds2R1bG8gJXMgbsOjbyBpbnRlZ3JhZG8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgc3VibW9kdWxlICclcyciCiBtc2dzdHIgIkEgaWdub3JhciBzdWJtw7NkdWxvICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycuIFJldHJ5IHNjaGVkdWxlZCIKK21zZ3N0ciAiRmFsaGEgYW8gY2xvbmFyICclcycuIE5vdmEgdGVudGF0aXZhIGFnZW5kYWRhIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnIGEgc2Vjb25kIHRpbWUsIGFib3J0aW5nIgorbXNnc3RyICJGYWxoYSBhbyBjbG9uYXIgJyVzJyBwZWxhIHNlZ3VuZGEgdmV6LCBhYm9ydGFkbyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0NQogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICJjYW1pbmhvIHBhcmEgYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ4CiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUsIGFjcm9zcyBuZXN0ZWQgc3VibW9kdWxlIGJvdW5kYXJpZXMiCiBtc2dzdHIgIiIKICJjYW1pbmhvIHBhcmEgYSDDoXJ2b3JlIGRlIHRyYWJhbGhvLCBhdHJhdmVzc2FuZG8gbGltaXRlcyBkZSBzdWJtw7NkdWxvcyAiCiAiYW5pbmhhZG9zIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUyCiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Ugbm9uZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1NgogbXNnaWQgIkNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgdHJ1bmNhdGVkIHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHJldmlzaW9ucyIKIG1zZ3N0ciAiY3JpYXIgdW0gY2xvbmUgcmFzbywgdHJ1bmNhZG8gYW8gbsO6bWVybyBlc3BlY2lmaWNhZG8gZGUgcmV2aXPDtWVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzgyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU5CiBtc2dpZCAicGFyYWxsZWwgam9icyIKIG1zZ3N0ciAidHJhYmFsaG9zIGVtIHBhcmFsZWxvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzgzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYxCittc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgorbXNnc3RyICJzZSBvIGNsb25lIGluaWNpYWwgZGV2ZSBzZWd1aXIgYSByZWNvbWVuZGHDp8OjbyByYXNhIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYyCiBtc2dpZCAiZG9uJ3QgcHJpbnQgY2xvbmluZyBwcm9ncmVzcyIKIG1zZ3N0ciAibsOjbyBpbXByaW1pciBwcm9ncmVzc28gZGEgY2xvbmFnZW0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjkKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08Y2FtaW5obz5dIFs8Y2FtaW5obz4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzk4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc5CiBtc2dpZCAiYmFkIHZhbHVlIGZvciB1cGRhdGUgcGFyYW1ldGVyIgogbXNnc3RyICJ2YWxvciBpbmNvcnJldG8gbm8gcGFyw6JtZXRybyB1cGRhdGUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0ICIKKyJ0aGUgc3VwZXJwcm9qZWN0IGlzIG5vdCBvbiBhbnkgYnJhbmNoIgorbXNnc3RyICIiCisiTyByYW1vIGRvIHN1Ym3Ds2R1bG8gKCVzKSBmb2kgY29uZmlndXJhZG8gcGFyYSBoZXJkYXIgbyByYW1vIGRvIHN1cGVycHJvamV0bywgIgorIm1hcyBvIHN1cGVycHJvamV0byBuw6NvIGVzdMOhIGVtIG5lbmh1bSByYW1vIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwMAogbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgIm8gc3ViY29tYW5kbyBzdWJtb2R1bGUtLWhlbHBlciBkZXZlIHNlciBpbnZvY2FkbyBjb20gdW0gc3ViY29tYW5kbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg2MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIgogbXNnc3RyICInJXMnIG7Do28gw6kgdW0gc3ViY29tYW5kbyB2w6FsaWRvIGRlIHN1Ym1vZHVsZS0taGVscGVyIgpAQCAtMTE0NzYsNyArMTI3ODcsNyBAQAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiVGFnICclcycgYXR1YWxpemFkYSAoZXJhICVzKVxuIgogCi0jOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NDkwCisjOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NDkzCiBtc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIkEgZGVzY29tcGFjdGFyIG9iamV0b3MiCiAKQEAgLTExNTQ2LDE0MyArMTI4NTcsMTUxIEBACiBtc2dpZCAiIE9LIgogbXNnc3RyICIgT0siCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTc1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU2NAogbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1pbmRleCBbPG9ww6fDtWVzPl0gWy0tXSBbPGZpY2hlaXJvPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkxOQogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAiY29udGludWFyIGEgcmVmcmVzY2FyIG1lc21vIHF1YW5kbyBvIMOtbmRpY2UgcHJlY2lzZSBkZSBzZXIgYXR1YWxpemFkbyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTIyCiBtc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInJlZnJlc2NhcjogaWdub3JhciBzdWJtw7NkdWxvcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI1CiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgIm7Do28gaWdub3JhciBub3ZvcyBmaWNoZWlyb3MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNwogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICJkZWl4YXIgcXVlIG9zIGZpY2hlaXJvcyBzdWJzdGl0dWFtIG9zIGRpcmV0w7NyaW9zIGUgdmljZS12ZXJzYSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI5CiBtc2dpZCAibm90aWNlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiYXZpc2FyIHNvYnJlIGZpY2hlaXJvcyBxdWUgZmFsdGVtIG5hIMOhcnZvcmUgZGUgdHJhYmFsaG8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMQogbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICJyZWZyZXNjYXIgbWVzbW8gcXVlIG8gw61uZGljZSBjb250ZW5oYSBlbnRyYWRhcyBuw6NvIGludGVncmFkYXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNAogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAicmVmcmVzY2FyIGluZm9ybWHDp8OjbyBkZSBzdGF0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzgKIG1zZ2lkICJsaWtlIC0tcmVmcmVzaCwgYnV0IGlnbm9yZSBhc3N1bWUtdW5jaGFuZ2VkIHNldHRpbmciCiBtc2dzdHIgImNvbW8gLS1yZWZyZXNoLCBtYXMgaWdub3JhciBhIGRlZmluacOnw6NvIGFzc3VtZS11bmNoYW5nZWQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MgogbXNnaWQgIjxtb2RlPiw8b2JqZWN0Piw8cGF0aD4iCiBtc2dzdHIgIjxtb2RvPiw8b2JqZXRvPiw8Y2FtaW5obz4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MwogbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiYWRpY2lvbmFyIG8gZWxlbWVudG8gZXNwZWNpZmljYWRvIGFvIMOtbmRpY2UiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4Ci1tc2dpZCAiKCsvLSl4IgotbXNnc3RyICIoKy8tKXgiCi0KLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU5Ci1tc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCi1tc2dzdHIgInN1YnN0aXR1aXIgbyBiaXQgZXhlY3V0w6F2ZWwgZG9zIGZpY2hlaXJvcyBsaXN0YWRvcyIKLQotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUyCiBtc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgogbXNnc3RyICJtYXJjYXIgZmljaGVpcm9zIGNvbW8gXCJuw6NvIGFsdGVyYWRvc1wiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTUKIG1zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCiBtc2dzdHIgImxpbXBhciBvIGJpdCBhc3N1bWVkLXVuY2hhbmdlZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAibWFyY2FyIGZpY2hlaXJvcyBjb21vIFwiw7puaWNvcyBkbyDDrW5kaWNlXCIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MQogbXNnaWQgImNsZWFyIHNraXAtd29ya3RyZWUgYml0IgogbXNnc3RyICJsaW1wYXIgbyBiaXQgaWdub3Jhci3DoXJ2b3JlLWRlLXRyYWJhbGhvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjQKIG1zZ2lkICJhZGQgdG8gaW5kZXggb25seTsgZG8gbm90IGFkZCBjb250ZW50IHRvIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAiIgogInPDsyBhZGljaW9uYXIgYW8gw61uZGljZTsgbsOjbyBhZGljaW9uYXIgbyBjb250ZcO6ZG8gw6AgYmFzZSBkZSBkYWRvcyBkZSBvYmpldG9zIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICIiCiAicmVtb3ZlciBvcyBjYW1pbmhvcyBtZW5jaW9uYWRvIG1lc21vIHNlIGVzdGl2ZXJlbSBwcmVzZW50ZXMgbmEgw6Fydm9yZSBkZSAiCiAidHJhYmFsaG8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OAogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAiY29tIC0tc3RkaW46IGFzIGxpbmhhcyBkYSBlbnRyYWRhIHPDo28gdGVybWluYWRhcyBjb20gYnl0ZXMgbnVsb3MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MAogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxlciBsaXN0YSBkZSBjYW1pbmhvIGEgYXR1YWxpemFyIGRhIGVudHJhZGEgcGFkcsOjbyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc0CiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgImFkaWNpb25hciBlbGVtZW50b3MgZGEgZW50cmFkYSBwYWRyw6NvIGFvIMOtbmRpY2UiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3OAogbXNnaWQgInJlcG9wdWxhdGUgc3RhZ2VzICMyIGFuZCAjMyBmb3IgdGhlIGxpc3RlZCBwYXRocyIKIG1zZ3N0ciAicmVwb3ZvYXIgYXMgZmFzZXMgbsK6MiBlIG7CujMgZG9zIGNhbWluaG9zIGxpc3RhZG9zIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODIKIG1zZ2lkICJvbmx5IHVwZGF0ZSBlbnRyaWVzIHRoYXQgZGlmZmVyIGZyb20gSEVBRCIKIG1zZ3N0ciAiYXR1YWxpemFyIGFwZW5hcyBlbGVtZW50b3MgcXVlIGRpZmlyYW0gZGUgSEVBRCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg2CiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiaWdub3JhciBmaWNoZWlyb3MgbsOjbyBwcmVzZW50ZXMgbmEgw6Fydm9yZSBkZSB0cmFiYWxobyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQogbXNnaWQgInJlcG9ydCBhY3Rpb25zIHRvIHN0YW5kYXJkIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhciBhw6fDtWVzIG5hIHNhw61kYSBwYWRyw6NvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkxCiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIiIKICIocGFyYSBwb3JjZWxhbmFzKSBlc3F1ZWNlciBjb25mbGl0b3MgZ3VhcmRhZG9zIHF1ZSBuw6NvIGZvcmFtIHJlc29sdmlkb3MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTUKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiZXNjcmV2ZXIgbyDDrW5kaWNlIG5lc3RlIGZvcm1hdG8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKIG1zZ2lkICJlbmFibGUgb3IgZGlzYWJsZSBzcGxpdCBpbmRleCIKIG1zZ3N0ciAiYXRpdmFyIG91IGRlc2F0aXZhciBhIGRpdmlzw6NvIGRvIMOtbmRpY2UiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTkKIG1zZ2lkICJlbmFibGUvZGlzYWJsZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgImF0aXZhciBvdSBkZXNhdGl2YXIgY2FjaGUgbsOjbyBjb250cm9sYWRhIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMQogbXNnaWQgInRlc3QgaWYgdGhlIGZpbGVzeXN0ZW0gc3VwcG9ydHMgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICJ0ZXN0YXIgc2UgbyBzaXN0ZW1hIGRlIGZpY2hlaXJvcyBzdXBvcnRhIGNhY2hlIG7Do28gY29udHJvbGFkYSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDMKIG1zZ2lkICJlbmFibGUgdW50cmFja2VkIGNhY2hlIHdpdGhvdXQgdGVzdGluZyB0aGUgZmlsZXN5c3RlbSIKIG1zZ3N0ciAiYXRpdmFyIGNhY2hlIG7Do28gY29udHJvbGFkYSBzZW0gdGVzdGFyIG8gc2lzdGVtYSBkZSBmaWNoZWlyb3MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTE5Cittc2dpZCAiIgorImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCisidG8gZGlzYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgorbXNnc3RyICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSBlc3TDoSBkZWZpbmlkYSBjb21vIHRydWU7IHJlbW92YSBvdSBhbHRlcmUtYSBzZSBwcmV0ZW5kZSAiCisibWVzbW8gZGVzYXRpdmFyIGEgY2FjaGUgbsOjbyBjb250cm9sYWRhIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMjMKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZGlzYWJsZWQiCiBtc2dzdHIgIkEgY2FjaGUgbsOjbyBjb250cm9sYWRhIGVzdMOhIGRlc2F0aXZhZGEiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE0NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMxCittc2dpZCAiIgorImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgorInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgorbXNnc3RyICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSBlc3TDoSBkZWZpbmlkYSBjb21vIGZhbHNlOyByZW1vdmEgb3UgYWx0ZXJlLWEgc2UgcHJldGVuZGUgIgorIm1lc21vIGF0aXZhciBhIGNhY2hlIG7Do28gY29udHJvbGFkYSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgogbXNnc3RyICJBIGNhY2hlIG7Do28gY29udHJvbGFkYSBkZSAnJXMnIGZvaSBhdGl2YWRhLiIKQEAgLTExNzA4LDggKzEzMDI3LDcgQEAKICM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NQogbXNnaWQgInVwZGF0ZSA8cmVmbmFtZT4gbm90IHRoZSBvbmUgaXQgcG9pbnRzIHRvIgogbXNnc3RyICIiCi0iYXR1YWxpemFyIGEgcmVmZXLDqm5jaWEgPG5vbWUtZGEtcmVmZXLDqm5jaWE+LCBlIG7Do28gYSByZWZlcsOqbmNpYSBhcG9udGEgcG9yICIKLSJlc3RhIgorImF0dWFsaXphciBhIHJlZmVyw6puY2lhIDxub21lLWRhLXJlZmVyw6puY2lhPiwgbsOjbyBhIHJlZmVyw6puY2lhIHF1ZSBlc3RhIGFwb250YSIKIAogIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY2CiBtc2dpZCAic3RkaW4gaGFzIE5VTC10ZXJtaW5hdGVkIGFyZ3VtZW50cyIKQEAgLTExNzY0LDg1ICsxMzA4MiwxMTIgQEAKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGFkZCBbPG9ww6fDtWVzPl0gPGNhbWluaG8+IFs8cmFtbz5dIgogCiAjOiBidWlsdGluL3dvcmt0cmVlLmM6MTYKLW1zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9ww6fDtWVzPl0iCi0KLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNwogbXNnaWQgImdpdCB3b3JrdHJlZSBsaXN0IFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgbGlzdCBbPG9ww6fDtWVzPl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3Cittc2dpZCAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxvcHRpb25zPl0gPHBhdGg+IgorbXNnc3RyICJnaXQgd29ya3RyZWUgbG9jayBbPG9ww6fDtWVzPl0gPGNhbWluaG8+IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKK21zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9ww6fDtWVzPl0iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOQorbXNnaWQgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHBhdGg+IgorbXNnc3RyICJnaXQgd29ya3RyZWUgdW5sb2NrIDxjYW1pbmhvPiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogbm90IGEgdmFsaWQgZGlyZWN0b3J5IgogbXNnc3RyICJBIHJlbW92ZXIgd29ya3RyZWVzLyVzOiBkaXJldMOzcmlvIGludsOhbGlkbyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiQSByZW1vdmVyIHdvcmt0cmVlcy8lczogbyBmaWNoZWlybyBnaXRkaXIgbsOjbyBleGlzdGUiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogdW5hYmxlIHRvIHJlYWQgZ2l0ZGlyIGZpbGUgKCVzKSIKIG1zZ3N0ciAiQSByZW1vdmVyIHdvcmt0cmVlcy8lczogbsOjbyDDqSBwb3Nzw612ZWwgbGVyIG8gZmljaGVpcm8gZ2l0ZGlyICglcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogaW52YWxpZCBnaXRkaXIgZmlsZSIKIG1zZ3N0ciAiQSByZW1vdmVyIHdvcmt0cmVlcy8lczogZmljaGVpcm8gZ2l0ZGlyIGludsOhbGlkbyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBwb2ludHMgdG8gbm9uLWV4aXN0ZW50IGxvY2F0aW9uIgogbXNnc3RyICIiCiAiQSByZW1vdmVyIHdvcmt0cmVlcy8lczogbyBmaWNoZWlybyBnaXRkaXIgYXBvbnRhIHBhcmEgdW1hIGxvY2FsaXphw6fDo28gIgogImluZXhpc3RlbnRlIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTEzCi0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKLW1zZ3N0ciAiZmFsaGEgYW8gcmVtb3ZlciAnJXMnIgotCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjAyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIiclcycgasOhIGV4aXN0ZSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjIzNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBvZiAnJXMnIgogbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgY3JpYXIgbyBkaXJldMOzcmlvIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nICVzIChpZGVudGlmaWVyICVzKSIKIG1zZ3N0ciAiQSBwcmVwYXJhciAlcyAoaWRlbnRpZmljYWRvciAlcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjMKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBldmVuIGlmIGFscmVhZHkgY2hlY2tlZCBvdXQgaW4gb3RoZXIgd29ya3RyZWUiCiBtc2dzdHIgIiIKICJleHRyYWlyIG8gPHJhbW8+IG1lc21vIHNlIGrDoSB0ZW5oYSBzaWRvIGV4dHJhw61kbyBub3V0cmEgw6Fydm9yZSBkZSB0cmFiYWxobyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNQogbXNnaWQgImNyZWF0ZSBhIG5ldyBicmFuY2giCiBtc2dzdHIgImNyaWFyIHVtIG5vdm8gcmFtbyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNwogbXNnaWQgImNyZWF0ZSBvciByZXNldCBhIGJyYW5jaCIKIG1zZ3N0ciAiY3JpYXIgb3UgcmVwb3IgdW0gcmFtbyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNwotbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKLW1zZ3N0ciAiZGVzdGFjYXIgSEVBRCBubyBjb21taXQgaW5kaWNhZG8iCi0KLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKIG1zZ2lkICJwb3B1bGF0ZSB0aGUgbmV3IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAicG92b2FyIGEgbm92YSDDoXJ2b3JlIGRlIHRyYWJhbGhvIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzM2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzM3CiBtc2dpZCAiLWIsIC1CLCBhbmQgLS1kZXRhY2ggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLWIsIC1CIGUgLS1kZXRhY2ggc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2b3MiCiAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzAKK21zZ2lkICJyZWFzb24gZm9yIGxvY2tpbmciCittc2dzdHIgInJhesOjbyBkZSB0cmFuY2FyIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDgyIGJ1aWx0aW4vd29ya3RyZWUuYzo1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiclcycgbsOjbyDDqSB1bWEgw6Fydm9yZSBkZSB0cmFiYWxobyIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NCBidWlsdGluL3dvcmt0cmVlLmM6NTE3Cittc2dpZCAiVGhlIG1haW4gd29ya2luZyB0cmVlIGNhbm5vdCBiZSBsb2NrZWQgb3IgdW5sb2NrZWQiCittc2dzdHIgIkEgw6Fydm9yZSBkZSB0cmFiYWxobyBwcmluY2lwYWwgbsOjbyBwb2RlIHNlciB0cmFuY2FkYSBuZW0gZGVzdHJhbmNhZGEiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIKK21zZ3N0ciAiJyVzJyBqw6EgZXN0w6EgdHJhbmNhZGEsIHJhesOjbzogJXMiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCIKK21zZ3N0ciAiJyVzJyBqw6EgZXN0w6EgdHJhbmNhZGEiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgorbXNnc3RyICInJXMnIG7Do28gZXN0w6EgdHJhbmNhZGEiCisKICM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjEzCiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4bz4vXSIKQEAgLTExODU5LDYgKzEzMjA0LDQwIEBACiBtc2dpZCAib25seSB1c2VmdWwgZm9yIGRlYnVnZ2luZyIKIG1zZ3N0ciAiYXBlbmFzIMO6dGlsIHBhcmEgZGVwdXJhw6fDo28iCiAKKyM6IHVwbG9hZC1wYWNrLmM6MjIKK21zZ2lkICJnaXQgdXBsb2FkLXBhY2sgWzxvcHRpb25zPl0gPGRpcj4iCittc2dzdHIgImdpdCB1cGxvYWQtcGFjayBbPG9ww6fDtWVzPl0gPGRpcj4iCisKKyM6IHVwbG9hZC1wYWNrLmM6MTAyOAorbXNnaWQgInF1aXQgYWZ0ZXIgYSBzaW5nbGUgcmVxdWVzdC9yZXNwb25zZSBleGNoYW5nZSIKK21zZ3N0ciAidGVybWluYXIgZGVwb2lzIGRlIHVtYSDDum5pY2EgdHJvY2EgZGUgcGVkaWRvL3Jlc3Bvc3RhIgorCisjOiB1cGxvYWQtcGFjay5jOjEwMzAKK21zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGluaXRpYWwgcmVmIGFkdmVydGlzZW1lbnQiCittc2dzdHIgInNhaXIgaW1lZGlhdGFtZW50ZSBkZXBvaXMgZG8gYW7Dum5jaW8gaW5pY2lhbCBkYSByZWZlcsOqbmNpYSIKKworIzogdXBsb2FkLXBhY2suYzoxMDMyCittc2dpZCAiZG8gbm90IHRyeSA8ZGlyZWN0b3J5Pi8uZ2l0LyBpZiA8ZGlyZWN0b3J5PiBpcyBubyBHaXQgZGlyZWN0b3J5IgorbXNnc3RyICJuw6NvIHRlbnRhciA8ZGlyZXTDs3Jpbz4vLmdpdC8gc2UgbyA8ZGlyZXTDs3Jpbz4gbsOjbyBmb3IgdW0gZGlyZXTDs3JpbyBHaXQiCisKKyM6IHVwbG9hZC1wYWNrLmM6MTAzNAorbXNnaWQgImludGVycnVwdCB0cmFuc2ZlciBhZnRlciA8bj4gc2Vjb25kcyBvZiBpbmFjdGl2aXR5IgorbXNnc3RyICJpbnRlcnJvbXBlciB0cmFuc2ZlcsOqbmNpYSBkZXBvaXMgZGUgPG4+IHNlZ3VuZG9zIGRlIGluYXRpdmlkYWRlIgorCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBwZXJtaXNzaW9ucyBvbiB5b3VyIHNvY2tldCBkaXJlY3RvcnkgYXJlIHRvbyBsb29zZTsgb3RoZXJcbiIKKyJ1c2VycyBtYXkgYmUgYWJsZSB0byByZWFkIHlvdXIgY2FjaGVkIGNyZWRlbnRpYWxzLiBDb25zaWRlciBydW5uaW5nOlxuIgorIlxuIgorIlx0Y2htb2QgMDcwMCAlcyIKK21zZ3N0ciAiIgorIkFzIHBlcm1pc3PDtWVzIGRvIGRpcmV0w7NyaW8gZG8gc29ja2V0IHPDo28gZGVtYXNpYWRvIGZyYWNhczsgb3V0cm9zXG4iCisidXRpbGl6YWRvcmVzIHBvZGVyw6NvIGNvbnNlZ3VpciBhcyBzdWFzIGNyZWRlbmNpYWlzIGVtIGNhY2hlLiBDb25zaWRlcmUgIgorImV4ZWN1dGFyOlxuIgorIlxuIgorIlx0Y2htb2QgMDcwMCAlcyIKKwogIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcxCiBtc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKIG1zZ3N0ciAiaW1wcmltaXIgbWVuc2FnZW5zIGRlIGRlcHVyYcOnw6NvIG5vIHN0ZGVyciIKQEAgLTExODczLDcgKzEzMjUyLDExIEBACiAiZ3VpYXMgZGUgY29uY2VpdG9zLiBDb25zdWx0ZSAnZ2l0IGhlbHAgPGNvbWFuZG8+JyBvdSAnZ2l0IGhlbHAgPGNvbmNlaXRvPidcbiIKICJwYXJhIGxlciBzb2JyZSB1bSBzdWJjb21hbmRvIG91IGNvbmNlaXRvIGVzcGVjw61maWNvLiIKIAotIzogaHR0cC5jOjMyMgorIzogaHR0cC5jOjM0MgorbXNnaWQgIkRlbGVnYXRpb24gY29udHJvbCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuMjIuMCIKK21zZ3N0ciAiTsOjbyDDqSBzdXBvcnRhZG8gZGVsZWdhciBjb250cm9sbyBjb20gY1VSTCA8IDcuMjIuMCIKKworIzogaHR0cC5jOjM1MQogbXNnaWQgIlB1YmxpYyBrZXkgcGlubmluZyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKIG1zZ3N0ciAiTsOjbyDDqSBzdXBvcnRhZG8gYWZpeGFyIGNoYXZlcyBww7pibGljYXMgY29tIGNVUkwgPCA3LjQ0LjAiCiAKQEAgLTExOTkwLDE1ICsxMzM3MywxNSBAQAogbXNnaWQgIm5vLW9wIChiYWNrd2FyZCBjb21wYXRpYmlsaXR5KSIKIG1zZ3N0ciAic2VtLWHDp8OjbyAocmV0cm9jb21wYXRpYmlsaWRhZGUpIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjM3CisjOiBwYXJzZS1vcHRpb25zLmg6MjM4CiBtc2dpZCAiYmUgbW9yZSB2ZXJib3NlIgogbXNnc3RyICJzZXIgbWFpcyB2ZXJib3NvIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjM5CisjOiBwYXJzZS1vcHRpb25zLmg6MjQwCiBtc2dpZCAiYmUgbW9yZSBxdWlldCIKIG1zZ3N0ciAic2VyIG1haXMgc2lsZW5jaW9zbyIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI0NQorIzogcGFyc2Utb3B0aW9ucy5oOjI0NgogbXNnaWQgInVzZSA8bj4gZGlnaXRzIHRvIGRpc3BsYXkgU0hBLTFzIgogbXNnc3RyICJ1c2FyIDxuPiBkw61naXRvcyBwYXJhIG1vc3RyYXIgU0hBLTFzIgogCkBAIC0xMjAwNyw1OCArMTMzOTAsNjAgQEAKIG1zZ3N0ciAiIgogImF0dWFsaXphciBvIMOtbmRpY2UgY29tIHJlc29sdcOnw7VlcyBkZSBjb25mbGl0b3MgcmV1dGlsaXphZGFzIHNlIHBvc3PDrXZlbCIKIAotIzogZ2l0LWJpc2VjdC5zaDo1NQorIzogZ2l0LWJpc2VjdC5zaDo1NAogbXNnaWQgIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiIgogbXNnc3RyICJEZXZlIGNvbWXDp2FyIHBvciBleGVjdXRhciBcImdpdCBiaXNlY3Qgc3RhcnRcIiIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKICMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKICMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtYmlzZWN0LnNoOjYxCisjOiBnaXQtYmlzZWN0LnNoOjYwCiBtc2dpZCAiRG8geW91IHdhbnQgbWUgdG8gZG8gaXQgZm9yIHlvdSBbWS9uXT8gIgogbXNnc3RyICJRdWVyIHF1ZSBvIEdpdCBvIGZhw6dhIHBvciBzaSBbWS9uXT8gIgogCi0jOiBnaXQtYmlzZWN0LnNoOjEyMgorIzogZ2l0LWJpc2VjdC5zaDoxMjEKICMsIHNoLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXNlZCBvcHRpb246ICckYXJnJyIKIG1zZ3N0ciAib3DDp8OjbyBuw6NvIHJlY29uaGVjaWRhOiAnJGFyZyciCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTI2CisjOiBnaXQtYmlzZWN0LnNoOjEyNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmcnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIHJldmlzaW9uIgogbXNnc3RyICInJGFyZycgbsOjbyBwYXJlY2VyIHNlciB1bWEgcmV2aXPDo28gdsOhbGlkYSIKIAotIzogZ2l0LWJpc2VjdC5zaDoxNTUKKyM6IGdpdC1iaXNlY3Quc2g6MTU0CiBtc2dpZCAiQmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIgogbXNnc3RyICJIRUFEIGluY29ycmV0YSAtIMOpIG5lY2Vzc8OhcmlvIHVtYSBIRUFEIgogCi0jOiBnaXQtYmlzZWN0LnNoOjE2OAorIzogZ2l0LWJpc2VjdC5zaDoxNjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJDaGVja2luZyBvdXQgJyRzdGFydF9oZWFkJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCByZXNldCA8dmFsaWQtYnJhbmNoPicuIgotbXNnc3RyICJGYWxoYSBhbyBleHRyYWlyICckc3RhcnRfaGVhZCcuIFRlbnRlICdnaXQgYmlzZWN0IHJlc2V0IDxyYW1vLXbDoWxpZG8+Jy4iCittc2dzdHIgIiIKKyJGYWxoYSBhbyBleHRyYWlyICckc3RhcnRfaGVhZCcuIFRlbnRlICdnaXQgYmlzZWN0IHJlc2V0IDxyYW1vLXbDoWxpZG8+Jy4iCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTc4CisjOiBnaXQtYmlzZWN0LnNoOjE3NwogbXNnaWQgIndvbid0IGJpc2VjdCBvbiBjZy1zZWVrJ2VkIHRyZWUiCiBtc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGJpc3NldGFyIG51bWEgw6Fydm9yZSBcImNnLXNlZWsnZWRcIiIKIAotIzogZ2l0LWJpc2VjdC5zaDoxODIKKyM6IGdpdC1iaXNlY3Quc2g6MTgxCiBtc2dpZCAiQmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKIG1zZ3N0ciAiSEVBRCBpbmNvcnJldGEgLSByZWZlcsOqbmNpYSBzaW1iw7NsaWNhIGRlc2NvbmhlY2lkYSIKIAotIzogZ2l0LWJpc2VjdC5zaDoyMzQKKyM6IGdpdC1iaXNlY3Quc2g6MjMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgYmlzZWN0X3dyaXRlIGFyZ3VtZW50OiAkc3RhdGUiCiBtc2dzdHIgIkFyZ3VtZW50byBkZSBiaXNlY3Rfd3JpdGUgaW5jb3JyZXRvOiAkc3RhdGUiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MjYzCisjOiBnaXQtYmlzZWN0LnNoOjI2MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQmFkIHJldiBpbnB1dDogJGFyZyIKIG1zZ3N0ciAiUmV2aXPDo28gaW5jb3JyZXRhIG5hIGVudHJhZGE6ICRhcmciCiAKLSM6IGdpdC1iaXNlY3Quc2g6Mjc4Ci1tc2dpZCAiUGxlYXNlIGNhbGwgJ2Jpc2VjdF9zdGF0ZScgd2l0aCBhdCBsZWFzdCBvbmUgYXJndW1lbnQuIgotbXNnc3RyICJJbnZvcXVlICdiaXNlY3Rfc3RhdGUnIGNvbSBwZWxvIG1lbm9zIHVtIGFyZ3VtZW50by4iCisjOiBnaXQtYmlzZWN0LnNoOjI4MQorIywgc2gtZm9ybWF0Cittc2dpZCAiQmFkIHJldiBpbnB1dDogJGJpc2VjdGVkX2hlYWQiCittc2dzdHIgIlJldmlzw6NvIGluY29ycmV0YSBuYSBlbnRyYWRhOiAkYmlzZWN0ZWRfaGVhZCIKIAogIzogZ2l0LWJpc2VjdC5zaDoyOTAKICMsIHNoLWZvcm1hdApAQCAtMTIyMDIsNyArMTM1ODcsNDcgQEAKICJhcmd1bWVudG8gaW52w6FsaWRvICRhcmcgZGUgJ2dpdCBiaXNlY3QgdGVybXMnLlxuIgogIk9ww6fDtWVzIHN1cG9ydGFkYXM6IC0tdGVybS1nb29kfC0tdGVybS1vbGQgZSAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU3CisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo0NgorbXNnaWQgIiIKKyJFcnJvcjogWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgorIm1lcmdlIgorbXNnc3RyICIiCisiRXJybzogQXMgc3VhcyBhbHRlcmHDp8O1ZXMgbG9jYWlzIG5vcyBzZWd1aW50ZXMgZmljaGVpcm9zIHNlcmlhbSBzdWJzdGl0dcOtZGFzICIKKyJhbyBpbnRlZ3JhciIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NjEKK21zZ2lkICJBdXRvbWF0ZWQgbWVyZ2UgZGlkIG5vdCB3b3JrLiIKK21zZ3N0ciAiQSBpbnRlZ3Jhw6fDo28gYXV0b23DoXRpY2EgbsOjbyBmdW5jaW9ub3UuIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo2MgorbXNnaWQgIlNob3VsZCBub3QgYmUgZG9pbmcgYW4gb2N0b3B1cy4iCittc2dzdHIgIk7Do28gc2UgZGV2aXJpYSBlc3RhciBhIGZhemVyIHVtIHBvbHZvLiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NzMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBmaW5kIGNvbW1vbiBjb21taXQgd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGVuY29udHJhciBjb21taXQgY29tdW0gY29tICRwcmV0dHlfbmFtZSIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NzcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZSB3aXRoICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAiSsOhIGVzdMOhIGF0dWFsaXphZG8gY29tICRwcmV0dHlfbmFtZSIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6ODkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhc3QtZm9yd2FyZGluZyB0bzogJHByZXR0eV9uYW1lIgorbXNnc3RyICJBIGF2YW7Dp2FyIHJhcGlkYW1lbnRlIHBhcmE6ICRwcmV0dHlfbmFtZSIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6OTcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRyeWluZyBzaW1wbGUgbWVyZ2Ugd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgIkEgdGVudGFyIGludGVncmHDp8OjbyBzaW1wbGVzIGNvbSAkcHJldHR5X25hbWUiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjEwMgorbXNnaWQgIlNpbXBsZSBtZXJnZSBkaWQgbm90IHdvcmssIHRyeWluZyBhdXRvbWF0aWMgbWVyZ2UuIgorbXNnc3RyICJBIGludGVncmHDp8OjbyBzaW1wbGVzIG7Do28gZnVuY2lvbm91LCBhIHRlbnRhciBpbnRlZ3Jhw6fDo28gYXV0b23DoXRpY2EuIgorCisjOiBnaXQtcmViYXNlLnNoOjU2CiBtc2dpZCAiIgogIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBpbnN0ZWFkLlxuIgpAQCAtMTIyMTQsMTYgKzEzNjM5LDIxIEBACiAiUGFyYSBleHRyYWlyIG8gcmFtbyBvcmlnaW5hbCBlIGludGVycm9tcGVyIG8gcmViYXNlLCBleGVjdXRlIFwiZ2l0IHJlYmFzZSAtLSIKICJhYm9ydFwiLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNjgKKyM6IGdpdC1yZWJhc2Uuc2g6MTU2IGdpdC1yZWJhc2Uuc2g6Mzk1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCB2b2x0YXIgcGFyYSAkaGVhZF9uYW1lIgorCisjOiBnaXQtcmViYXNlLnNoOjE2NwogbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKIG1zZ3N0ciAiUGlsaGEgYXV0b23DoXRpY2EgKGF1dG9zdGFzaCkgYXBsaWNhZGEuIgogCi0jOiBnaXQtcmViYXNlLnNoOjE3MQorIzogZ2l0LXJlYmFzZS5zaDoxNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZ3VhcmRhciAkc3Rhc2hfc2hhMSIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNzIKKyM6IGdpdC1yZWJhc2Uuc2g6MTcxCiBtc2dpZCAiIgogIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCiAiWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC5cbiIKQEAgLTEyMjMzLDI3ICsxMzY2MywyNyBAQAogIkFzIHN1YXMgYWx0ZXJhw6fDtWVzIGVzdMOjbyBndWFyZGFkYXMgbmEgcGlsaGEuXG4iCiAiUG9kZSBleGVjdXRhciBcImdpdCBzdGFzaCBwb3BcIiBvdSBcImdpdCBzdGFzaCBkcm9wXCIgb3BvcnR1bmFtZW50ZS5cbiIKIAotIzogZ2l0LXJlYmFzZS5zaDoyMTEKKyM6IGdpdC1yZWJhc2Uuc2g6MjEwCiBtc2dpZCAiVGhlIHByZS1yZWJhc2UgaG9vayByZWZ1c2VkIHRvIHJlYmFzZS4iCiBtc2dzdHIgIlJlYmFzZSByZWN1c2FkbyBwZWxvIGhvb2sgcHJlLXJlYmFzZS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MjE2CisjOiBnaXQtcmViYXNlLnNoOjIxNQogbXNnaWQgIkl0IGxvb2tzIGxpa2UgZ2l0LWFtIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAiUGFyZWNlIHF1ZSBvIGdpdC1hbSBlc3TDoSBlbSBjdXJzby4gTsOjbyDDqSBwb3Nzw612ZWwgZWZldHVhciByZWJhc2UuIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1NworIzogZ2l0LXJlYmFzZS5zaDozNTYKIG1zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgogbXNnc3RyICJSZWJhc2UgbsOjbyBlc3TDoSBlbSBjdXJzbz8iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MzY4CisjOiBnaXQtcmViYXNlLnNoOjM2NwogbXNnaWQgIlRoZSAtLWVkaXQtdG9kbyBhY3Rpb24gY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgaW50ZXJhY3RpdmUgcmViYXNlLiIKIG1zZ3N0ciAiQSBhw6fDo28gLS1lZGl0LXRvZG8gc8OzIHBvZGUgc2VyIHVzYWRhIGR1cmFudGUgdW0gcmViYXNlIGludGVyYXRpdm8uIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3NQorIzogZ2l0LXJlYmFzZS5zaDozNzQKIG1zZ2lkICJDYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBsZXIgSEVBRCIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzgKKyM6IGdpdC1yZWJhc2Uuc2g6Mzc3CiBtc2dpZCAiIgogIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgogIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgpAQCAtMTIyNjEsMTIgKzEzNjkxLDcgQEAKICJEZXZlIGVkaXRhciB0b2RvcyBvcyBjb25mbGl0b3MgZGEgaW50ZWdyYcOnw6NvXG4iCiAiZSBtYXJjw6EtbG9zIGNvbW8gcmVzb2x2aWRvcyB1c2FuZG8gZ2l0IGFkZCIKIAotIzogZ2l0LXJlYmFzZS5zaDozOTYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKLW1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIHZvbHRhciBwYXJhICRoZWFkX25hbWUiCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NDE1CisjOiBnaXQtcmViYXNlLnNoOjQxNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICRzdGF0ZV9kaXJfYmFzZSBkaXJlY3RvcnksIGFuZFxuIgpAQCAtMTIyODcsOTggKzEzNzEyLDEwMiBAQAogImUgZXhlY3V0ZSBvIGNvbWFuZG8gZGUgbm92by4gQSBleGVjdcOnw6NvIGZvaSBpbnRlcnJvbXBpZGEgbm8gY2FzbyBkZVxuIgogImFpbmRhIHRlciBhbGdvIGltcG9ydGFudGUgbmVzc2Ugc8OtdGlvLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0NjYKKyM6IGdpdC1yZWJhc2Uuc2g6NDY1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICR1cHN0cmVhbV9uYW1lIgogbXNnc3RyICIkdXBzdHJlYW1fbmFtZSBhIG1vbnRhbnRlIGludsOhbGlkbyIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTAKKyM6IGdpdC1yZWJhc2Uuc2g6NDg5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiJG9udG9fbmFtZTogaMOhIG1haXMgZG8gcXVlIHVtYSBiYXNlIGRlIGludGVncmHDp8OjbyIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTMgZ2l0LXJlYmFzZS5zaDo0OTcKKyM6IGdpdC1yZWJhc2Uuc2g6NDkyIGdpdC1yZWJhc2Uuc2g6NDk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgogbXNnc3RyICIkb250b19uYW1lOiBuw6NvIGjDoSBuZW5odW1hIGJhc2UgZGUgaW50ZWdyYcOnw6NvIgogCi0jOiBnaXQtcmViYXNlLnNoOjUwMgorIzogZ2l0LXJlYmFzZS5zaDo1MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0OiAkb250b19uYW1lIgogbXNnc3RyICJOw6NvIGFwb250YSBwYXJhIHVtIGNvbW1pdCB2w6FsaWRvOiAkb250b19uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjUyNQorIzogZ2l0LXJlYmFzZS5zaDo1MjQKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaDogJGJyYW5jaF9uYW1lIgogbXNnc3RyICJmYXRhbDogcmFtbyBpbmV4aXN0ZW50ZTogJGJyYW5jaF9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjU1OAorIzogZ2l0LXJlYmFzZS5zaDo1NTcKIG1zZ2lkICJDYW5ub3QgYXV0b3N0YXNoIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBlbXBpbGhhciBhdXRvbWF0aWNhbWVudGUgKGF1dG9zdGFzaCkiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTYzCisjOiBnaXQtcmViYXNlLnNoOjU2MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiBtc2dzdHIgIlBpbGhhIGF1dG9tw6F0aWNhIChhdXRvc3Rhc2gpIGNyaWFkYTogJHN0YXNoX2FiYnJldiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjcKKyM6IGdpdC1yZWJhc2Uuc2g6NTY2CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKLW1zZ3N0ciAiU3VibWV0YSBvdSBlbXBpbGhlLWFzIChzdGFzaCkuIgorbXNnc3RyICJTdWJtZXRhIG91IGVzY29uZGEtYXMuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU4NworIzogZ2l0LXJlYmFzZS5zaDo1ODYKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiTyByYW1vIGF0dWFsICRicmFuY2hfbmFtZSBlc3TDoSBhdHVhbGl6YWRvLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1OTEKKyM6IGdpdC1yZWJhc2Uuc2g6NTkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCiBtc2dzdHIgIk8gcmFtbyBhdHVhbCAkYnJhbmNoX25hbWUgZXN0w6EgYXR1YWxpemFkbywgcmViYXNlIGZvcsOnYWRvLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MDIKKyM6IGdpdC1yZWJhc2Uuc2g6NjAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIGZyb20gJG1iIHRvICRvbnRvOiIKIG1zZ3N0ciAiQWx0ZXJhw6fDtWVzIGRlICRtYiBwYXJhICRvbnRvOiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MTEKKyM6IGdpdC1yZWJhc2Uuc2g6NjEwCiBtc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIgogbXNnc3RyICIiCi0iUHJpbWVpcm8sIGEgcmVjdWFyIGEgY2FiZcOnYSBwYXJhIHJlcGxpY2FyIGFzIHN1YXMgYWx0ZXJhw6fDtWVzIG5vIHRvcG8gZGVzdGEuLi4iCisiUHJpbWVpcm8sIGEgcmVjdWFyIGEgY2FiZcOnYSBwYXJhIHJlcGxpY2FyIGFzIHN1YXMgYWx0ZXJhw6fDtWVzIG5vIHRvcG8gZGVsYS4uLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MjEKKyM6IGdpdC1yZWJhc2Uuc2g6NjIwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRlZCAkYnJhbmNoX25hbWUgdG8gJG9udG9fbmFtZS4iCiBtc2dzdHIgIiRicmFuY2hfbmFtZSBhdmFuw6dhZG8gcmFwaWRhbWVudGUgcGFyYSAkb250b19uYW1lLiIKIAotIzogZ2l0LXN0YXNoLnNoOjUxCisjOiBnaXQtc3Rhc2guc2g6NTAKIG1zZ2lkICJnaXQgc3Rhc2ggY2xlYXIgd2l0aCBwYXJhbWV0ZXJzIGlzIHVuaW1wbGVtZW50ZWQiCiBtc2dzdHIgIm7Do28gZXN0w6EgaW1wbGVtZW50YWRvIGdpdCBzdGFzaCBjbGVhciBjb20gcGFyw6JtZXRyb3MiCiAKLSM6IGdpdC1zdGFzaC5zaDo3NAorIzogZ2l0LXN0YXNoLnNoOjczCiBtc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCiBtc2dzdHIgIk8gY29tbWl0IGluaWNpYWwgYWluZGEgbsOjbyBleGlzdGUiCiAKLSM6IGdpdC1zdGFzaC5zaDo4OQorIzogZ2l0LXN0YXNoLnNoOjg4CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGd1YXJkYXIgbyBlc3RhZG8gYXR1YWwgZG8gw61uZGljZSIKIAotIzogZ2l0LXN0YXNoLnNoOjEyNCBnaXQtc3Rhc2guc2g6MTM3CisjOiBnaXQtc3Rhc2guc2g6MTAzCittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZ3VhcmRhciBvcyBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcyIKKworIzogZ2l0LXN0YXNoLnNoOjEyMyBnaXQtc3Rhc2guc2g6MTM2CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGd1YXJkYXIgbyBlc3RhZG8gYXR1YWwgZGEgw6Fydm9yZSBkZSB0cmFiYWxobyIKIAotIzogZ2l0LXN0YXNoLnNoOjE0MQorIzogZ2l0LXN0YXNoLnNoOjE0MAogbXNnaWQgIk5vIGNoYW5nZXMgc2VsZWN0ZWQiCiBtc2dzdHIgIk5lbmh1bWEgYWx0ZXJhw6fDo28gc2VsZWNpb25hZGEiCiAKLSM6IGdpdC1zdGFzaC5zaDoxNDQKKyM6IGdpdC1zdGFzaC5zaDoxNDMKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBpbmRleCAoY2FuJ3QgaGFwcGVuKSIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgcmVtb3ZlciBvIMOtbmRpY2UgdGVtcG9yw6FyaW8gKG7Do28gcG9kZSBhY29udGVjZXIpIgogCi0jOiBnaXQtc3Rhc2guc2g6MTU3CisjOiBnaXQtc3Rhc2guc2g6MTU2CiBtc2dpZCAiQ2Fubm90IHJlY29yZCB3b3JraW5nIHRyZWUgc3RhdGUiCiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGdyYXZhciBvIGVzdGFkbyBkYSDDoXJ2b3JlIGRlIHRyYWJhbGhvIgogCi0jOiBnaXQtc3Rhc2guc2g6MTg5CisjOiBnaXQtc3Rhc2guc2g6MTg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlICRyZWZfc3Rhc2ggd2l0aCAkd19jb21taXQiCiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGF0dWFsaXphciAkcmVmX3N0YXNoIGNvbSAkd19jb21taXQiCkBAIC0xMjM5Myw3ICsxMzgyMiw3IEBACiAjLiAkIGdpdCBzdGFzaCBzYXZlIC0tYmxhaC1ibGFoIDI+JjEgfCBoZWFkIC1uIDIKICMuIGVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAtLWJsYWgtYmxhaAogIy4gVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnLS1ibGFoLWJsYWgnCi0jOiBnaXQtc3Rhc2guc2g6MjM5CisjOiBnaXQtc3Rhc2guc2g6MjM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKQEAgLTEyNDAyLDExMCArMTM4MzEsMTI4IEBACiAiZXJybzogb3DDp8OjbyBkZXNjb25oZWNpZGEgZGUgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCiAiICAgICAgUGFyYSBmb3JuZWNlciB1bWEgbWVuc2FnZW0sIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnJG9wdGlvbiciCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjAKKyM6IGdpdC1zdGFzaC5zaDoyNTEKK21zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgorbXNnc3RyICIiCisiTsOjbyDDqSBwb3Nzw612ZWwgdXNhciAtLXBhdGNoIGUgLS1pbmNsdWRlLXVudHJhY2tlZCBvdSAtLWFsbCBhbyBtZXNtbyB0ZW1wbyIKKworIzogZ2l0LXN0YXNoLnNoOjI1OQogbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKIG1zZ3N0ciAiTsOjbyBow6EgYWx0ZXJhw6fDtWVzIGxvY2FpcyBwYXJhIGd1YXJkYXIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjQKKyM6IGdpdC1zdGFzaC5zaDoyNjMKIG1zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgaW5pY2lhbGl6YXIgYSBwaWxoYSIKIAotIzogZ2l0LXN0YXNoLnNoOjI2OAorIzogZ2l0LXN0YXNoLnNoOjI2NwogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZ3VhcmRhciBvIGVzdGFkbyBhdHVhbCIKIAotIzogZ2l0LXN0YXNoLnNoOjI4NgorIzogZ2l0LXN0YXNoLnNoOjI2OAorIywgc2gtZm9ybWF0Cittc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCittc2dzdHIgIkRpcmV0w7NyaW8gZGUgdHJhYmFsaG8gZSBlc3RhZG8gZG8gw61uZGljZSAkc3Rhc2hfbXNnIGd1YXJkYWRvcyIKKworIzogZ2l0LXN0YXNoLnNoOjI4NQogbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgcmVtb3ZlciBhcyBhbHRlcmHDp8O1ZXMgZGEgw6Fydm9yZSBkZSB0cmFiYWxobyIKIAotIzogZ2l0LXN0YXNoLnNoOjQwNQorIzogZ2l0LXN0YXNoLnNoOjQwMwogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgIm9ww6fDo28gZGVzY29uaGVjaWRvOiAkb3B0IgogCi0jOiBnaXQtc3Rhc2guc2g6NDE1CisjOiBnaXQtc3Rhc2guc2g6NDE2CiBtc2dpZCAiTm8gc3Rhc2ggZm91bmQuIgogbXNnc3RyICJOZW5odW1hIHBpbGhhIGVuY29udHJhZGEuIgogCi0jOiBnaXQtc3Rhc2guc2g6NDIyCisjOiBnaXQtc3Rhc2guc2g6NDIzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICJEZW1hc2lhZGFzIHJldmlzw7VlcyBlc3BlY2lmaWNhZGFzOiAkUkVWIgogCi0jOiBnaXQtc3Rhc2guc2g6NDI4CisjOiBnaXQtc3Rhc2guc2g6NDM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkcmVmZXJlbmNlIGlzIG5vdCBhIHZhbGlkIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJHJlZmVyZW5jZSBuw6NvIMOpIHVtYSByZWZlcsOqbmNpYSB2w6FsaWRhIgogCi0jOiBnaXQtc3Rhc2guc2g6NDU2CisjOiBnaXQtc3Rhc2guc2g6NDY2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgogbXNnc3RyICInJGFyZ3MnIG7Do28gw6kgdW0gY29tbWl0IHNlbWVsaGFudGUgYSBwaWxoYSIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2NworIzogZ2l0LXN0YXNoLnNoOjQ3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIickYXJncycgbsOjbyDDqSB1bWEgcmVmZXLDqm5jaWEgZGUgcGlsaGEiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NzUKKyM6IGdpdC1zdGFzaC5zaDo0ODUKIG1zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHJlZnJlc2NhciBvIMOtbmRpY2UiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NzkKKyM6IGdpdC1zdGFzaC5zaDo0ODkKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGFwbGljYXIgdW1hIHBpbGhhIGR1cmFudGUgdW1hIGludGVncmHDp8OjbyIKIAotIzogZ2l0LXN0YXNoLnNoOjQ4NworIzogZ2l0LXN0YXNoLnNoOjQ5NwogbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCiBtc2dzdHIgIkNvbmZsaXRvcyBubyDDrW5kaWNlLiBUZW50ZSBzZW0gLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODkKKyM6IGdpdC1zdGFzaC5zaDo0OTkKIG1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZ3VhcmRhciDDoXJ2b3JlIGRvIMOtbmRpY2UiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MjMKKyM6IGdpdC1zdGFzaC5zaDo1MDgKK21zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIHJlc3RhdXJhciBvcyBmaWNoZWlyb3MgbsOjbyBjb250cm9sYWRvcyBkYSBwaWxoYSIKKworIzogZ2l0LXN0YXNoLnNoOjUzMwogbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgogbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBkZXNwcmVwYXJhciBvcyBmaWNoZWlyb3MgbW9kaWZpY2FkbyIKIAotIzogZ2l0LXN0YXNoLnNoOjUzOAorIzogZ2l0LXN0YXNoLnNoOjU0OAogbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKIG1zZ3N0ciAiTyDDrW5kaWNlIG7Do28gZm9pIHJlcG9zdG8uIgogCi0jOiBnaXQtc3Rhc2guc2g6NTYxCisjOiBnaXQtc3Rhc2guc2g6NTYyCittc2dpZCAiVGhlIHN0YXNoIGlzIGtlcHQgaW4gY2FzZSB5b3UgbmVlZCBpdCBhZ2Fpbi4iCittc2dzdHIgIkEgcGlsaGEgw6kgZ3VhcmRhIG5vIGNhc28gZGUgcHJlY2lzYXIgZGVsYSBkZSBub3ZvLiIKKworIzogZ2l0LXN0YXNoLnNoOjU3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAiQSBkZXNjYXJ0YXIgJHtSRVZ9ICgkcykiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NjIKKyM6IGdpdC1zdGFzaC5zaDo1NzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiR7UkVWfTogTsOjbyBmb2kgcG9zc8OtdmVsIGRlc2NhcnRhciBlbGVtZW50byBkYSBwaWxoYSIKIAotIzogZ2l0LXN0YXNoLnNoOjU3MAorIzogZ2l0LXN0YXNoLnNoOjU4MAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKIG1zZ3N0ciAiTmVuaHVtIG5vbWUgZGUgcmFtbyBlc3BlY2lmaWNhZG8iCiAKLSM6IGdpdC1zdGFzaC5zaDo2NDIKKyM6IGdpdC1zdGFzaC5zaDo2NTIKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIihQYXJhIG9zIHJlc3RhdXJhciBleGVjdXRlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIxOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxODQKIG1zZ2lkICJSZWxhdGl2ZSBwYXRoIGNhbiBvbmx5IGJlIHVzZWQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogIk9zIGNhbWluaG9zIHJlbGF0aXZvcyBzw7MgcG9kZW0gc2VyIHVzYWRvcyBhIHBhcnRpciBkbyB0b3BvIGRhIMOhcnZvcmUgZGUgIgogInRyYWJhbGhvIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIyOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxOTQKICMsIHNoLWZvcm1hdAogbXNnaWQgInJlcG8gVVJMOiAnJHJlcG8nIG11c3QgYmUgYWJzb2x1dGUgb3IgYmVnaW4gd2l0aCAuL3wuLi8iCiBtc2dzdHIgIlVSTCBkbyByZXBvc2l0w7NyaW86ICckcmVwbycgZGV2ZSBzZXIgYWJzb2x1dG8gb3UgY29tZcOnYXIgY29tIC4vfC4uLyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjExCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAiJyRzbV9wYXRoJyBqw6EgZXhpc3RlIG5vIMOtbmRpY2UiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjUwCisjOiBnaXQtc3VibW9kdWxlLnNoOjIxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgcGF0aCBpcyBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCkBAIC0xMjUxNiwxMDEgKzEzOTYzLDkwIEBACiAiJHNtX3BhdGhcbiIKICJVc2UgLWYgc2UgcHJldGVuZGUgbWVzbW8gYWRpY2lvbsOhLWxvLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgZXhpc3RpbmcgcmVwbyBhdCAnJHNtX3BhdGgnIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiQSBhZGljaW9uYXIgcmVwb3NpdMOzcmlvIGV4aXN0ZW50ZSBlbSAnJHNtX3BhdGgnIGFvIMOtbmRpY2UiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjcwCisjOiBnaXQtc3VibW9kdWxlLnNoOjIzNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGEgdmFsaWQgZ2l0IHJlcG8iCiBtc2dzdHIgIickc21fcGF0aCcgasOhIGV4aXN0ZSBlIG7Do28gw6kgdW1hIHJlcG9zaXTDs3JpbyBnaXQgdsOhbGlkbyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBIGdpdCBkaXJlY3RvcnkgZm9yICckc21fbmFtZScgaXMgZm91bmQgbG9jYWxseSB3aXRoIHJlbW90ZShzKToiCiBtc2dzdHIgIiIKICJVbSBkaXJldMOzcmlvIGdpdCBkZSAnJHNtX25hbWUnIGZvaSBlbmNvbnRyYWRvIGxvY2FsbWVudGUgY29tIG9zIHJlbW90b3M6IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKLSJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb20iCi1tc2dzdHIgIiIKLSJTZSBkZXNlamEgcmV1dGlsaXphciBlc3RlIGRpcmV0w7NyaW8gZ2l0IGxvY2FsIGVtIHZleiBkZSBjbG9uYXIgZGUgbm92byBkZSIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODIKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJ1c2UgdGhlICctLWZvcmNlJyBvcHRpb24uIElmIHRoZSBsb2NhbCBnaXQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgY29ycmVjdCByZXBvIgotbXNnc3RyICIiCi0idXNlIGEgb3DDp8OjbyAnLS1mb3JjZScuIFNlIG8gZGlyZXTDs3JpbyBnaXQgbG9jYWwgbsOjbyDDqSBvIHJlcG9zaXTDs3JpbyBjb3JyZXRvIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgorIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbVxuIgorIiAgJHJlYWxyZXBvXG4iCisidXNlIHRoZSAnLS1mb3JjZScgb3B0aW9uLiBJZiB0aGUgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpcyBub3QgdGhlIGNvcnJlY3QgIgorInJlcG9cbiIKICJvciB5b3UgYXJlIHVuc3VyZSB3aGF0IHRoaXMgbWVhbnMgY2hvb3NlIGFub3RoZXIgbmFtZSB3aXRoIHRoZSAnLS1uYW1lJyAiCiAib3B0aW9uLiIKIG1zZ3N0ciAiIgotIm91IHNlIG7Do28gdGVtIGEgY2VydGV6YSBkbyBxdWUgaXN0byBzaWduaWZpY2EsIGVzY29saGEgb3V0cm8gbm9tZSBjb20gYSAiCi0ib3DDp8OjbyAnLS1uYW1lJy4iCisiU2UgcXVlciByZXV0aWxpemFyIGVzdGUgZGlyZXTDs3JpbyBnaXQgbG9jYWwgZW0gdmV6IGRlIGNsb25hciBkZSBub3ZvIGRlXG4iCisiICAkcmVhbHJlcG9cbiIKKyJ1c2UgYSBvcMOnw6NvICctLWZvcmNlJy4gU2UgbyBkaXJldMOzcmlvIGdpdCBsb2NhbCBuw6NvIMOpIG8gcmVwbyBjb3JyZXRvXG4iCisib3UgbsOjbyB0ZW0gYSBjZXJ0ZXphIG8gcXVlIGlzdG8gc2lnbmlmaWNhIGVzY29saGEgb3V0cm8gbm9tZSBjb20gYSBvcMOnw6NvICctLSIKKyJuYW1lJy4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mjg1CisjOiBnaXQtc3VibW9kdWxlLnNoOjI1MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnJHNtX25hbWUnLiIKIG1zZ3N0ciAiQSByZWF0aXZhciBvIGRpcmV0w7NyaW8gZ2l0IGxvY2FsIGRvIHN1Ym3Ds2R1bG8gJyRzbV9uYW1lJy4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mjk3CisjOiBnaXQtc3VibW9kdWxlLnNoOjI2MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0IHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZXh0cmFpciBvIHN1Ym3Ds2R1bG8gJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjY4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gYWRkIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICJGYWxoYSBhbyBhZGljaW9uYXIgbyBzdWJtw7NkdWxvICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzExCisjOiBnaXQtc3VibW9kdWxlLnNoOjI3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICJGYWxoYSBhbyByZWdpc3RhciBvIHN1Ym3Ds2R1bG8gJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNTUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzI0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFbnRlcmluZyAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiQSBlbnRyYXIgZW0gJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mzc1CisjOiBnaXQtc3VibW9kdWxlLnNoOjM0NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3RvcHBpbmcgYXQgJyRkaXNwbGF5cGF0aCc7IHNjcmlwdCByZXR1cm5lZCBub24temVybyBzdGF0dXMuIgogbXNnc3RyICIiCiAiSW50ZXJyb21waWRvIGVtICckZGlzcGxheXBhdGgnOyBvIHNjcmlwdCByZXRvcm5vdSB1bSB2YWxvciBkaWZlcmVudGUgZGUgemVyby4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDQ4CisjOiBnaXQtc3VibW9kdWxlLnNoOjQxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgYW5kIC0tYWxsIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgImVzcGVjaWZpY2Fkb3IgZGUgY2FtaW5obyBlIC0tYWxsIHPDo28gaW5jb21wYXTDrXZlaXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDUzCisjOiBnaXQtc3VibW9kdWxlLnNoOjQyMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVXNlICctLWFsbCcgaWYgeW91IHJlYWxseSB3YW50IHRvIGRlaW5pdGlhbGl6ZSBhbGwgc3VibW9kdWxlcyIKIG1zZ3N0ciAiIgogIlVzZSAnLS1hbGwnIHNlIHByZXRlbmRlIG1lc21vIGFudWxhciBhIGluaWNpYWxpemHDp8OjbyB0b2RvcyBvcyBzdWJtw7NkdWxvcyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSIKLW1zZ3N0ciAiIgotIkEgw6Fydm9yZSBkZSB0cmFiYWxobyBkbyBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIGNvbnTDqW0gdW0gZGlyZXTDs3JpbyAuZ2l0IgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ3MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKKyJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnlcbiIKICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgaGlzdG9yeSkiCiBtc2dzdHIgIiIKKyJBIMOhcnZvcmUgZGUgdHJhYmFsaG8gZG8gc3VibcOzZHVsbyAnJGRpc3BsYXlwYXRoJyBjb250ZW0gdW0gZGlyZXTDs3JpbyAuZ2l0XG4iCiAiKHVzZSAncm0gLXJmJyBzZSBwcmV0ZW5kZSBtZXNtbyByZW1vdsOqLWxvLCBpbmNsdWluZG8gdG9kbyBvIHNldSBoaXN0w7NyaWNvKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byAiCkBAIC0xMjYxOSwxMjcgKzE0MDU1LDE0MSBAQAogIkEgw6Fydm9yZSBkZSB0cmFiYWxobyBkbyBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIGNvbnTDqW0gYWx0ZXJhw6fDtWVzIGxvY2FpczsgIgogInVzZSAnLWYnIHBhcmEgYXMgZGVzY2FydGFyIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNsZWFyZWQgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJEaXJldMOzcmlvICckZGlzcGxheXBhdGgnIGxpbXBvIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ4MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIk7Do28gZm9pIHBvc3PDrXZlbCByZW1vdmVyIGEgw6Fydm9yZSBkZSB0cmFiYWxobyBkbyBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ4NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGNyaWFyIG8gZGlyZXTDs3JpbyB2YXppbyBkbyBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ5MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJPIHJlZ2lzdG8gZG8gc3VibcOzZHVsbyAnJG5hbWUnICgkdXJsKSBmb2kgcmVtb3ZpZG8gZG8gY2FtaW5obyAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjE3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiTsOjbyBmb2kgcG9zc8OtdmVsIGVuY29udHJhciBhIHJldmlzw6NvIGF0dWFsIG5vIGNhbWluaG8gZGUgc3VibcOzZHVsbyAiCiAiJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjQ0CisjOiBnaXQtc3VibW9kdWxlLnNoOjYyNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBubyBjYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjMyCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgorIickc21fcGF0aCciCittc2dzdHIgIiIKKyJOw6NvIGZvaSBwb3Nzw612ZWwgZW5jb250cmFyIGEgcmV2aXPDo28gYXR1YWwgJHtyZW1vdGVfbmFtZX0vJHticmFuY2h9IG5vICIKKyJjYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyRzbV9wYXRoJyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgb2J0ZXIgbm8gY2FtaW5obyBkZSBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJGZXRjaGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnLCBidXQgaXQgZGlkIG5vdCBjb250YWluICRzaGExLiAiCisiRGlyZWN0IGZldGNoaW5nIG9mIHRoYXQgY29tbWl0IGZhaWxlZC4iCittc2dzdHIgIiIKKyJPYnRldmUtc2Ugbm8gY2FtaW5obyBkZSBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnLCBtYXMgbsOjbyBjb250aW5oYSAkc2hhMS4gIgorIkZhbGhhIGFvIG9idGVyIGFxdWVsZSBjb21taXQgZGlyZXRhbWVudGUuIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjY2MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGV4dHJhaXIgJyRzaGExJyBubyBjYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgxCisjOiBnaXQtc3VibW9kdWxlLnNoOjY2NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgIkNhbWluaG8gZGUgc3VibcOzZHVsbyAnJGRpc3BsYXlwYXRoJzogJyRzaGExJyBleHRyYcOtZG8iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njg1CisjOiBnaXQtc3VibW9kdWxlLnNoOjY2OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiTsOjbyBmb2kgcG9zc8OtdmVsIGVmZXR1YXIgcmViYXNlIGRlICckc2hhMScgbm8gY2FtaW5obyBkZSBzdWJtw7NkdWxvICIKICInJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjY5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCiBtc2dzdHIgIkNhbWluaG8gZGUgc3VibcOzZHVsbyAnJGRpc3BsYXlwYXRoJzogcmViYXNlIGNvbmNsdcOtZG8gZW0gJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njc0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gbWVyZ2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgaW50ZWdyYXIgJyRzaGExJyBubyBjYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjkyCisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgogbXNnc3RyICJDYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCc6IGludGVncmFkbyBlbSAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIkZhbGhhIGFvIGV4ZWN1dGFyICckY29tbWFuZCAkc2hhMScgbm8gY2FtaW5obyBkZSBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICJDYW1pbmhvIGRlIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzI5CisjOiBnaXQtc3VibW9kdWxlLnNoOjcxMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiRmFsaGEgYW8gcGVyY29ycmVyIG8gY2FtaW5obyBkZSBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgzNworIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MjAKIG1zZ2lkICJUaGUgLS1jYWNoZWQgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhlIC0tZmlsZXMgb3B0aW9uIgogbXNnc3RyICJBIG9ww6fDo28gLS1jYWNoZWQgbsOjbyBwb2RlIHNlciB1c2FkYSBjb20gYSBvcMOnw6NvIC0tZmlsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODg5CisjOiBnaXQtc3VibW9kdWxlLnNoOjg3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICJtb2RvIGluZXNwZXJhZG8gJG1vZF9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTA5CisjOiBnaXQtc3VibW9kdWxlLnNoOjg5MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgogbXNnc3RyICIgIEF2aXNvOiAkZGlzcGxheV9uYW1lIG7Do28gY29udMOpbSBvIGNvbW1pdCAkc2hhMV9zcmMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTEyCisjOiBnaXQtc3VibW9kdWxlLnNoOjg5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfZHN0IgogbXNnc3RyICIgIFdhcm46ICRkaXNwbGF5X25hbWUgbsOjbyBjb250w6ltIG8gY29tbWl0ICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODk4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBjb250w6ltIG9zIGNvbW1pdHMgJHNoYTFfc3JjIGUgJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjk0MAotbXNnaWQgImJsb2IiCi1tc2dzdHIgImJsb2IiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA1OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDQ1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIkZhbGhhIGFvIHBlcmNvcnJlciByZWN1cnNpdmFtZW50ZSBvIGNhbWluaG8gZGUgc3VibcOzZHVsbyAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTExMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiQSBzaW5jcm9uaXphciBvIFVSTCBkbyBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIgpAQCAtMTI3NDksNiArMTQxOTksNzM1IEBACiBtc2dpZCAiU2VlIGdpdC0ke2NtZH0oMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICJDb25zdWx0ZSBnaXQtJHtjbWR9KDEpIHBhcmEgb2J0ZXIgbWFpcyBkZXRhbGhlcy4iCiAKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMQorIywgc2gtZm9ybWF0Cittc2dpZCAiUmViYXNpbmcgKCRuZXdfY291bnQvJHRvdGFsKSIKK21zZ3N0ciAiQSByZWJhc2VhciAoJG5ld19jb3VudC8kdG90YWwpIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxNDcKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCisiIHAsIHBpY2sgPSB1c2UgY29tbWl0XG4iCisiIHIsIHJld29yZCA9IHVzZSBjb21taXQsIGJ1dCBlZGl0IHRoZSBjb21taXQgbWVzc2FnZVxuIgorIiBlLCBlZGl0ID0gdXNlIGNvbW1pdCwgYnV0IHN0b3AgZm9yIGFtZW5kaW5nXG4iCisiIHMsIHNxdWFzaCA9IHVzZSBjb21taXQsIGJ1dCBtZWxkIGludG8gcHJldmlvdXMgY29tbWl0XG4iCisiIGYsIGZpeHVwID0gbGlrZSBcInNxdWFzaFwiLCBidXQgZGlzY2FyZCB0aGlzIGNvbW1pdCdzIGxvZyBtZXNzYWdlXG4iCisiIHgsIGV4ZWMgPSBydW4gY29tbWFuZCAodGhlIHJlc3Qgb2YgdGhlIGxpbmUpIHVzaW5nIHNoZWxsXG4iCisiIGQsIGRyb3AgPSByZW1vdmUgY29tbWl0XG4iCisiXG4iCisiVGhlc2UgbGluZXMgY2FuIGJlIHJlLW9yZGVyZWQ7IHRoZXkgYXJlIGV4ZWN1dGVkIGZyb20gdG9wIHRvIGJvdHRvbS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbWFuZG9zOlxuIgorIiBwLCBwaWNrID0gdXNhciBjb21taXRcbiIKKyIgciwgcmV3b3JkID0gdXNhciBjb21taXQsIG1hcyBlZGl0YXIgYSBtZW5zYWdlbSBkZSBjb21taXRcbiIKKyIgZSwgZWRpdCA9IHVzYXIgY29tbWl0LCBtYXMgcGFyYXIgcGFyYSBlbWVuZGFyXG4iCisiIHMsIHNxdWFzaCA9IHVzYXIgY29tbWl0LCBtYXMgZnVuZGlyIGNvbSBvIGNvbW1pdCBhbnRlcmlvclxuIgorIiBmLCBmaXh1cCA9IGNvbW8gXCJzcXVhc2hcIiwgbWFzIGRlc2NhcnRhciBhIG1lbnNhZ2VtIGRlc3RlIGNvbW1pdFxuIgorIiB4LCBleGVjID0gZXhlY3V0YXIgbyBjb21hbmRvIChvIHJlc3RvIGRhIGxpbmhhKSB1c2FuZG8gYSBzaGVsbFxuIgorIiBkLCBkcm9wID0gcmVtb3ZlciBjb21taXRcbiIKKyJcbiIKKyJFc3RhcyBsaW5oYXMgcG9kZSBzZXIgcmVvcmRlbmFkYXM7IHPDo28gZXhlY3V0YWRhcyBkZSBjaW1hIHBhcmEgYmFpeG8uXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE2MgorbXNnaWQgIiIKKyJcbiIKKyJEbyBub3QgcmVtb3ZlIGFueSBsaW5lLiBVc2UgJ2Ryb3AnIGV4cGxpY2l0bHkgdG8gcmVtb3ZlIGEgY29tbWl0LlxuIgorbXNnc3RyICIiCisiXG4iCisiTsOjbyByZW1vdmVyIG5lbmh1bSBsaW5oYS4gVXNlICdkcm9wJyBleHBsaWNpdGFtZW50ZSBwYXJhIHJlbW92ZXIgdW0gY29tbWl0LlxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxNjYKK21zZ2lkICIiCisiXG4iCisiSWYgeW91IHJlbW92ZSBhIGxpbmUgaGVyZSBUSEFUIENPTU1JVCBXSUxMIEJFIExPU1QuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZSByZW1vdmVyIHVtYSBsaW5oYSBkYXF1aSBBUVVFTEUgQ09NTUlUIFNFUsOBIFBFUkRJRE8uXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjIwMgorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIllvdSBjYW4gYW1lbmQgdGhlIGNvbW1pdCBub3csIHdpdGhcbiIKKyJcbiIKKyJcdGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIk9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMsIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisiUG9kZSBlbWVuZGFyIG8gY29tbWl0IGFnb3JhLCBjb21cbiIKKyJcbiIKKyJcdGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIkFzc2ltIHF1ZSBlc3RpdmVyIHNhdGlzZmVpdG8gY29tIGFzIGFsdGVyYcOnw7VlcywgZXhlY3V0ZVxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyMjcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiRzaGExOiBub3QgYSBjb21taXQgdGhhdCBjYW4gYmUgcGlja2VkIgorbXNnc3RyICIkc2hhMTogbsOjbyDDqSB1bSBjb21taXQgcXVlIHNlIHBvc3NhIGFwYW5oYXIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjI2NgorIywgc2gtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjb21taXQgbmFtZTogJHNoYTEiCittc2dzdHIgIk5vbWUgZGUgY29tbWl0IGludsOhbGlkbzogJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjMwOAorbXNnaWQgIkNhbm5vdCB3cml0ZSBjdXJyZW50IGNvbW1pdCdzIHJlcGxhY2VtZW50IHNoYTEiCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGVzY3JldmVyIG8gc2hhMSBzdWJzdGl0dXRvIGRvIGNvbW1pdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MzYwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJGYXN0LWZvcndhcmQgdG8gJHNoYTEiCittc2dzdHIgIkF2YW7Dp28tcsOhcGlkbyBwYXJhICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozNjIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBmYXN0LWZvcndhcmQgdG8gJHNoYTEiCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGF2YW7Dp2FyIHJhcGlkYW1lbnRlIHBhcmEgJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM3MQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG1vdmUgSEVBRCB0byAkZmlyc3RfcGFyZW50IgorbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBtb3ZlciBIRUFEIHBhcmEgJGZpcnN0X3BhcmVudCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6Mzc2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byBzcXVhc2ggYSBtZXJnZTogJHNoYTEiCittc2dzdHIgIlJlY3VzYS1zZSBhIGVzbWFnYXIgdW1hIGludGVncmHDp8OjbzogJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM5MAorIywgc2gtZm9ybWF0Cittc2dpZCAiRXJyb3IgcmVkb2luZyBtZXJnZSAkc2hhMSIKK21zZ3N0ciAiRXJybyBhbyByZWZhemVyIGludGVncmHDp8OjbyAkc2hhMSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6Mzk4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcGljayAkc2hhMSIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFwYW5oYXIgJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQwNworIywgc2gtZm9ybWF0Cittc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyR7bn06IgorbXNnc3RyICJFc3RhIMOpIGEgbWVuc2FnZW0gZGUgY29tbWl0IG7CuiR7bn06IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MTIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJHtufSB3aWxsIGJlIHNraXBwZWQ6IgorbXNnc3RyICJBIG1lbnNhZ2VtIGRlIGNvbW1pdCBuwroke259IHNlcsOhIGlnbm9yYWRhOiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDIzCisjLCBzaC1mb3JtYXQKK21zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJGNvdW50IGNvbW1pdC4iCittc2dpZF9wbHVyYWwgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0cy4iCittc2dzdHJbMF0gIklzdG8gw6kgYSBjb21iaW5hw6fDo28gZGUgJGNvdW50IGNvbW1pdC4iCittc2dzdHJbMV0gIklzdG8gw6kgYSBjb21iaW5hw6fDo28gZGUgJGNvdW50IGNvbW1pdHMuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MzEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSAkZml4dXBfbXNnIgorbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBlc2NyZXZlciAkZml4dXBfbXNnIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MzQKK21zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgMiBjb21taXRzLiIKK21zZ3N0ciAiSXN0byDDqSBhIGNvbWJpbmHDp8OjbyBkZSAyIGNvbW1pdHMuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MzUKK21zZ2lkICJUaGlzIGlzIHRoZSAxc3QgY29tbWl0IG1lc3NhZ2U6IgorbXNnc3RyICJFc3RhIMOpIGEgMcKqIG1lbnNhZ2VtIGRlIGNvbW1pdDoiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ3NSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1MTgKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjUyMQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGFwcGx5ICRzaGExLi4uICRyZXN0IgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYXBsaWNhciAkc2hhMS4uLiAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTQ5CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiQ291bGQgbm90IGFtZW5kIGNvbW1pdCBhZnRlciBzdWNjZXNzZnVsbHkgcGlja2luZyAkc2hhMS4uLiAkcmVzdFxuIgorIlRoaXMgaXMgbW9zdCBsaWtlbHkgZHVlIHRvIGFuIGVtcHR5IGNvbW1pdCBtZXNzYWdlLCBvciB0aGUgcHJlLWNvbW1pdCBob29rXG4iCisiZmFpbGVkLiBJZiB0aGUgcHJlLWNvbW1pdCBob29rIGZhaWxlZCwgeW91IG1heSBuZWVkIHRvIHJlc29sdmUgdGhlIGlzc3VlICIKKyJiZWZvcmVcbiIKKyJ5b3UgYXJlIGFibGUgdG8gcmV3b3JkIHRoZSBjb21taXQuIgorbXNnc3RyICIiCisiTsOjbyBmb2kgcG9zc8OtdmVsIGVtZW5kYXIgbyBjb21taXQgZGVwb2lzIGRlIGFwYW5oYXIgY29tIHN1Y2Vzc28gJHNoYTEuLi4gIgorIiRyZXN0XG4iCisiRGV2ZS1zZSBwcm92YXZlbG1lbnRlIGEgdW1hIG1lbnNhZ2VtIGRlIGNvbW1pdCB2YXppYSBvdSBvIHByZS1jb21taXQgaG9vayAiCisiZmFsaG91LlxuIgorIlNlIG8gcHJlLWNvbW1pdCBob29rIGZhbGhvdSwgcG9kZSBwcmVjaXNhciBkZSByZXNvbHZlciBvIHByb2JsZW1hIGFudGUgZGUgIgorInBvZGVyXG4iCisicmVmb3JtdWxhciBhIG1lbnNhZ2VtIGRvIGNvbW1pdC4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjU2NAorIywgc2gtZm9ybWF0Cittc2dpZCAiU3RvcHBlZCBhdCAkc2hhMV9hYmJyZXYuLi4gJHJlc3QiCittc2dzdHIgIlBhcm91IGVtICRzaGExX2FiYnJldi4uLiAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTc5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgJyRzcXVhc2hfc3R5bGUnIHdpdGhvdXQgYSBwcmV2aW91cyBjb21taXQiCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGVmZXR1YXIgJyRzcXVhc2hfc3R5bGUnIHNlbSB1bSBjb21taXQgYW50ZXJpb3IiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjYyMQorIywgc2gtZm9ybWF0Cittc2dpZCAiRXhlY3V0aW5nOiAkcmVzdCIKK21zZ3N0ciAiQSBleGVjdXRhcjogJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjYyOQorIywgc2gtZm9ybWF0Cittc2dpZCAiRXhlY3V0aW9uIGZhaWxlZDogJHJlc3QiCittc2dzdHIgIkZhbGhhIGFvIGV4ZWN1dGFyOiAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjMxCittc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgImUgZmV6IGFsdGVyYcOnw7VlcyBhbyDDrW5kaWNlIGUvb3Ugw6Agw6Fydm9yZSBkZSB0cmFiYWxobyIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjMzCittc2dpZCAiIgorIllvdSBjYW4gZml4IHRoZSBwcm9ibGVtLCBhbmQgdGhlbiBydW5cbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKK21zZ3N0ciAiIgorIlBvZGUgY29ycmlnaXIgbyBwcm9ibGVtYSBlIGV4ZWN1dGFyXG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCisKKyMuIFRSQU5TTEFUT1JTOiBhZnRlciB0aGVzZSBsaW5lcyBpcyBhIGNvbW1hbmQgdG8gYmUgaXNzdWVkIGJ5IHRoZSB1c2VyCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NDYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJFeGVjdXRpb24gc3VjY2VlZGVkOiAkcmVzdFxuIgorImJ1dCBsZWZ0IGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlXG4iCisiQ29tbWl0IG9yIHN0YXNoIHlvdXIgY2hhbmdlcywgYW5kIHRoZW4gcnVuXG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCittc2dzdHIgIiIKKyJFeGVjdXRhZG8gY29tIHN1Y2Vzc286ICRyZXN0XG4iCisibWFzIGRlaXhvdSBhbHRlcmHDp8O1ZXMgbm8gw61uZGljZSBlL291IG5hIMOhcnZvcmUgZGUgdHJhYmFsaG9cbiIKKyJTdWJtZXRhIG91IGVzY29uZGEgYXMgYWx0ZXJhw6fDtWVzIGUgZXhlY3V0ZVxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NTcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCittc2dzdHIgIkNvbWFuZG8gZGVzY29uaGVjaWRvOiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjU4Cittc2dpZCAiUGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCittc2dzdHIgIkNvcnJpamEtbyB1c2FuZG8gJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjkzCisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgcmViYXNlZCBhbmQgdXBkYXRlZCAkaGVhZF9uYW1lLiIKK21zZ3N0ciAiJGhlYWRfbmFtZSByZWJhc2VhZG8gZSBhdHVhbGl6YWRvIGNvbSBzdWNlc3NvLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NzQwCittc2dpZCAiQ291bGQgbm90IHNraXAgdW5uZWNlc3NhcnkgcGljayBjb21tYW5kcyIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIHNhbHRhciBjb21hbmRvcyBwaWNrIGRlc25lY2Vzc8OhcmlvcyIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6ODk4CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiV2FybmluZzogdGhlIFNIQS0xIGlzIG1pc3Npbmcgb3IgaXNuJ3QgYSBjb21taXQgaW4gdGhlIGZvbGxvd2luZyBsaW5lOlxuIgorIiAtICRsaW5lIgorbXNnc3RyICIiCisiQXZpc286IGZhbHRhIG8gU0hBLTEgb3UgYSBzZWd1aW50ZSBsaW5oYSBuw6NvIHRlbSB1bSBjb21taXQ6XG4iCisiIC0gJGxpbmUiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjkzMQorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIldhcm5pbmc6IHRoZSBjb21tYW5kIGlzbid0IHJlY29nbml6ZWQgaW4gdGhlIGZvbGxvd2luZyBsaW5lOlxuIgorIiAtICRsaW5lIgorbXNnc3RyICIiCisiQXZpc286IG8gY29tYW5kbyBuw6NvIMOpIHJlY29uaGVjaWRvIG5hIHNlZ3VpbnRlIGxpbmhhOlxuIgorIiAtICRsaW5lIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo5NzAKK21zZ2lkICJjb3VsZCBub3QgZGV0YWNoIEhFQUQiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBkZXN0YWNhciBIRUFEIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDA4Cittc2dpZCAiIgorIldhcm5pbmc6IHNvbWUgY29tbWl0cyBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgYWNjaWRlbnRhbGx5LlxuIgorIkRyb3BwZWQgY29tbWl0cyAobmV3ZXIgdG8gb2xkZXIpOiIKK21zZ3N0ciAiIgorIkF2aXNvOiBhbGd1bnMgY29tbWl0cyBwb2RlbSB0ZXIgc2lkbyBkZXNjYXJ0YWRvcyBhY2lkZW50YWxtZW50ZS5cbiIKKyJDb21taXRzIGRlc2NhcnRhZG9zIChtYWlzIG5vdm8gcGFyYSBvIG1haXMgdmVsaG8pOiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTAxNgorbXNnaWQgIiIKKyJUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC5cbiIKKyJcbiIKKyJVc2UgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHRvIGNoYW5nZSB0aGUgbGV2ZWwgb2YgIgorIndhcm5pbmdzLlxuIgorIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci4iCittc2dzdHIgIiIKKyJQYXJhIGV2aXRhciBlc3RhIG1lbnNhZ2VtLCB1c2UgXCJkcm9wXCIgcGFyYSByZW1vdmVyIHVtIGNvbW1pdCAiCisiZXhwbGljaXRhbWVudGUuXG4iCisiXG4iCisiVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyBwYXJhIG11ZGFyIG8gbsOtdmVsIGRlIGF2aXNvcy5cbiIKKyJPIGNvbXBvcnRhbWVudG9zIHBvc3PDrXZlaXMgc8OjbzogaWdub3JlLCB3YXJuLCBlcnJvci4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMjcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJVbnJlY29nbml6ZWQgc2V0dGluZyAkY2hlY2tfbGV2ZWwgZm9yIG9wdGlvbiByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gIgorIklnbm9yaW5nLiIKK21zZ3N0ciAiIgorIkRlZmluacOnw6NvICRjaGVja19sZXZlbCBkZXNjb25oZWNpZGEgZGEgb3DDp8OjbyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gIgorIklnbm9yYWRvLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA0NAorbXNnaWQgIiIKKyJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLSIKKyJjb250aW51ZScuIgorbXNnc3RyICIiCisiUG9kZSBjb3Jyw60tbG8gY29tICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyBlIGRlcG9pcyBleGVjdXRhciAnZ2l0IHJlYmFzZSAtLSIKKyJjb250aW51ZScuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDQ1Cittc2dpZCAiT3IgeW91IGNhbiBhYm9ydCB0aGUgcmViYXNlIHdpdGggJ2dpdCByZWJhc2UgLS1hYm9ydCcuIgorbXNnc3RyICJPdSBwb2RlIGFib3J0YXIgbyByZWJhc2UgY29tICdnaXQgcmViYXNlIC0tYWJvcnQnLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA2OQorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIHJlbW92ZXIgQ0hFUlJZX1BJQ0tfSEVBRCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA3NAorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLlxuIgorIklmIHRoZXNlIGNoYW5nZXMgYXJlIG1lYW50IHRvIGJlXG4iCisic3F1YXNoZWQgaW50byB0aGUgcHJldmlvdXMgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJJZiB0aGV5IGFyZSBtZWFudCB0byBnbyBpbnRvIGEgbmV3IGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIkluIGJvdGggY2FzZXMsIG9uY2UgeW91J3JlIGRvbmUsIGNvbnRpbnVlIHdpdGg6XG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKK21zZ3N0ciAiIgorIlRlbSBhbHRlcmHDp8O1ZXMgcHJlcGFyYWRhcyBuYSDDoXJ2b3JlIGRlIHRyYWJhbGhvLlxuIgorIlNlIHRlbmNpb25hIGVzbWFnYXIgZXN0YXMgYWx0ZXJhw6fDtWVzXG4iCisibm8gY29tbWl0IGFudGVyaW9yLCBleGVjdXRlOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiU2UgdGVuY2lvbmEgcMO0LWxhcyBudW0gbm92byBjb21taXQsIGV4ZWN1dGU6XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiRW0gYW1ib3Mgb3MgY2Fzb3MsIHF1YW5kbyBlc3RpdmVyIHByb250bywgY29udGludWUgY29tOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwOTEKK21zZ2lkICJFcnJvciB0cnlpbmcgdG8gZmluZCB0aGUgYXV0aG9yIGlkZW50aXR5IHRvIGFtZW5kIGNvbW1pdCIKK21zZ3N0ciAiRXJybyBhbyB0ZW50YXIgZW5jb250cmFyIGEgaWRlbnRpZGFkZSBkbyBhdXRvciBwYXJhIGVtZW5kYXIgbyBjb21taXQiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwOTYKK21zZ2lkICIiCisiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlIGNvbW1pdCB0aGVtXG4iCisiZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIKK21zZ3N0ciAiIgorIlRlbSBhbHRlcmHDp8O1ZXMgcG9yIHN1Ym1ldGVyIG5hIMOhcnZvcmUgZGUgdHJhYmFsaG8uIFN1Ym1ldGEtYXMgcHJpbWVpcm9cbiIKKyJlIGV4ZWN1dGUgJ2dpdCByZWJhc2UgLS1jb250aW51ZScgZGUgbm92by4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDEgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwNQorbXNnaWQgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgc3VibWV0ZXIgYXMgYWx0ZXJhw6fDtWVzIHByZXBhcmFkYXMuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTI5Cittc2dpZCAiIgorIlxuIgorIllvdSBhcmUgZWRpdGluZyB0aGUgdG9kbyBmaWxlIG9mIGFuIG9uZ29pbmcgaW50ZXJhY3RpdmUgcmViYXNlLlxuIgorIlRvIGNvbnRpbnVlIHJlYmFzZSBhZnRlciBlZGl0aW5nLCBydW46XG4iCisiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiRXN0w6EgYSBlZGl0YXIgbyBmaWNoZWlybyBkZSB0YXJlZmEgZGUgdW0gcmViYXNlIGludGVyYXRpdm8gZW0gY3Vyc28uXG4iCisiUGFyYSBjb250aW51YXIgbyByZWJhc2UgZGVwb2lzIGRlIGVkaXRhciwgZXhlY3V0ZTpcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisiXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMzcgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5NQorbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGV4ZWN1dGFyIG8gZWRpdG9yIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTUwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGV4dHJhaXIgJHN3aXRjaF90byIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE1NQorbXNnaWQgIk5vIEhFQUQ/IgorbXNnc3RyICJTZW0gSEVBRD8iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNTYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICRzdGF0ZV9kaXIiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciAkc3RhdGVfZGlyIHRlbXBvcsOhcmlvIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTU4Cittc2dpZCAiQ291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBtYXJjYXIgY29tbyBpbnRlcmF0aXZvIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTY4IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNzMKK21zZ2lkICJDb3VsZCBub3QgaW5pdCByZXdyaXR0ZW4gY29tbWl0cyIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGluaWNpYWxpemFyIGNvbW1pdHMgcmVlc2NyaXRvcyIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI3MworIywgc2gtZm9ybWF0Cittc2dpZCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZCkiCittc2dpZF9wbHVyYWwgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmRzKSIKK21zZ3N0clswXSAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBzb2JyZSAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbWFuZG8pIgorbXNnc3RyWzFdICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIHNvYnJlICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tYW5kb3MpIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjc4Cittc2dpZCAiIgorIlxuIgorIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJObyBlbnRhbnRvLCBzZSByZW1vdmVyIHR1ZG8sIG8gcmViYXNlIHNlcsOhIGFib3J0YWRvLlxuIgorIlxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjg1Cittc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCittc2dzdHIgIk5vdGUgcXVlIGNvbW1pdHMgdmF6aW9zIHPDo28gY29tZW50YWRvcyIKKworIzogZ2l0LXNoLXNldHVwLnNoOjg5IGdpdC1zaC1zZXR1cC5zaDo5NAorIywgc2gtZm9ybWF0Cittc2dpZCAidXNhZ2U6ICRkYXNobGVzcyAkVVNBR0UiCittc2dzdHIgInV0aWxpemHDp8OjbzogJGRhc2hsZXNzICRVU0FHRSIKKworIzogZ2l0LXNoLXNldHVwLnNoOjE5MAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoZGlyIHRvICRjZHVwLCB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiIgorIk7Do28gw6kgcG9zc8OtdmVsIG11ZGFyIGRlIGRpcmV0w7NyaW8gcGFyYSAkY2R1cCwgbyB0b3BvIGRhIMOhcnZvcmUgZGUgdHJhYmFsaG8iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoxOTkgZ2l0LXNoLXNldHVwLnNoOjIwNgorIywgc2gtZm9ybWF0Cittc2dpZCAiZmF0YWw6ICRwcm9ncmFtX25hbWUgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBhIHdvcmtpbmcgdHJlZS4iCittc2dzdHIgImZhdGFsOiAkcHJvZ3JhbV9uYW1lIG7Do28gcG9kZSBzZXIgdXNhZG8gc2VtIHVtYSDDoXJ2b3JlIGRlIHRyYWJhbGhvLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyMAorbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCByZWJhc2VhcjogdGVtIGFsdGVyYcOnw7VlcyBuw6NvIHByZXBhcmFkYXMuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjIzCittc2dpZCAiQ2Fubm90IHJld3JpdGUgYnJhbmNoZXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCByZWVzY3JldmVyIHJhbW9zOiB0ZW0gYWx0ZXJhw6fDtWVzIG7Do28gcHJlcGFyYWRhcy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjYKK21zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIHB1eGFyIGNvbSByZWJhc2U6IHRlbSBhbHRlcmHDp8O1ZXMgbsOjbyBwcmVwYXJhZGFzLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyOQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBlZmV0dWFyICRhY3Rpb246IHRlbSBhbHRlcmHDp8O1ZXMgbsOjbyBwcmVwYXJhZGFzLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0MgorbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIHJlYmFzZWFyOiBvIMOtbmRpY2UgY29udMOpbSBhbHRlcmHDp8O1ZXMgbsOjbyBzdWJtZXRpZGFzLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0NQorbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIiCisiTsOjbyDDqSBwb3Nzw612ZWwgcHV4YXIgY29tIHJlYmFzZTogbyDDrW5kaWNlIGNvbnTDqW0gYWx0ZXJhw6fDtWVzIG7Do28gc3VibWV0aWRhcy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIiCisiTsOjbyDDqSBwb3Nzw612ZWwgZWZldHVhciAkYWN0aW9uOiBvIMOtbmRpY2UgY29udMOpbSBhbHRlcmHDp8O1ZXMgbsOjbyBzdWJtZXRpZGFzLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI1MgorbXNnaWQgIkFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiQWzDqW0gZGlzc28sIG8gw61uZGljZSBjb250w6ltIGFsdGVyYcOnw7VlcyBuw6NvIHN1Ym1ldGlkYXMuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MzcyCittc2dpZCAiWW91IG5lZWQgdG8gcnVuIHRoaXMgY29tbWFuZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlLiIKK21zZ3N0ciAiIgorIlByZWNpc2EgZGUgZXhlY3V0YXIgZXN0ZSBjb21hbmRvIGEgcGFydGlyIGRvIHRvcG8gZGEgw6Fydm9yZSBkZSB0cmFiYWxoby4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzcKK21zZ2lkICJVbmFibGUgdG8gZGV0ZXJtaW5lIGFic29sdXRlIHBhdGggb2YgZ2l0IGRpcmVjdG9yeSIKK21zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZGV0ZXJtaW5hciBvIGNhbWluaG8gYWJzb2x1dG8gZG8gZGlyZXTDs3JpbyBnaXQiCisKKyN+IG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgdG8gJXMiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBlc2NyZXZlciBlbSAlcyIKKworI34gbXNnaWQgIkVycm9yIHdyYXBwaW5nIHVwICVzLiIKKyN+IG1zZ3N0ciAiRXJybyBhbyByZW1hdGFyICVzLiIKKworI34gbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVycnktcGljay4iCisjfiBtc2dzdHIgIkFzIHN1YXMgYWx0ZXJhw6fDtWVzIGxvY2FpcyBzZXLDo28gc3Vic3RpdHXDrWRhcyBwb3IgY2hlcnJ5LXBpY2suIgorCisjfiBtc2dpZCAiQ2Fubm90IHJldmVydCBkdXJpbmcgYW5vdGhlciByZXZlcnQuIgorI34gbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCByZXZlcnRlciBkdXJhbnRlIG91dHJhIHJldmVyc8Ojby4iCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGFub3RoZXIgY2hlcnJ5LXBpY2suIgorI34gbXNnc3RyICIiCisjfiAiTsOjbyDDqSBwb3Nzw612ZWwgZWZldHVhciBjaGVycnktcGljayBkdXJhbnRlIG91dHJvIGNoZXJyeS1waWNrLiBkdXJhbnRlIHVtICIKKyN+ICJjaGVycnktcGljay4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgcGFyc2UgbGluZSAlZC4iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhbmFsaXNhciBhIGxpbmhhICVkLiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzIgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJXMiCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgcmVhZCAlcy4iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBsZXIgJXMuIgorCisjfiBtc2dpZCAiQ291bGQgbm90IGZvcm1hdCAlcy4iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBmb3JtYXRhciAlcy4iCisKKyN+IG1zZ2lkICIlczogJXMiCisjfiBtc2dzdHIgIiVzOiAlcyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYWJyaXIgJXM6ICVzIgorCisjfiBtc2dpZCAiWW91IG5lZWQgdG8gc2V0IHlvdXIgY29tbWl0dGVyIGluZm8gZmlyc3QiCisjfiBtc2dzdHIgIlByaW1laXJvIHRlbSBkZSBkZWZpbmlyIGEgc3VhIGluZm9ybWHDp8OjbyBkZSBjb21taXR0ZXIiCisKKyN+IG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogaW52YWxpZCB1bml0IgorI34gbXNnc3RyICIiCisjfiAidmFsb3IgbnVtw6lyaWNvICclcycgZGEgY29uZmlndXJhw6fDo28gJyVzJyBpbmNvcnJldG86IHVuaWRhZGUgaW52w6FsaWRhIgorCisjfiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gYmxvYiAlczogaW52YWxpZCB1bml0IgorI34gbXNnc3RyICIiCisjfiAidmFsb3IgbnVtw6lyaWNvICclcycgZGEgY29uZmlndXJhw6fDo28gJyVzJyBpbmNvcnJldG8gbm8gYmxvYiAlczogdW5pZGFkZSAiCisjfiAiaW52w6FsaWRhIgorCisjfiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gZmlsZSAlczogaW52YWxpZCB1bml0IgorI34gbXNnc3RyICIiCisjfiAidmFsb3IgbnVtw6lyaWNvICclcycgZGEgY29uZmlndXJhw6fDo28gJyVzJyBpbmNvcnJldG8gbm8gZmljaGVpcm8gJXM6ICIKKyN+ICJ1bmlkYWRlIGludsOhbGlkYSIKKworI34gbXNnaWQgIiIKKyN+ICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdGFuZGFyZCBpbnB1dDogaW52YWxpZCB1bml0IgorI34gbXNnc3RyICIiCisjfiAidmFsb3IgbnVtw6lyaWNvICclcycgZGEgY29uZmlndXJhw6fDo28gJyVzJyBpbmNvcnJldG8gbmEgZW50cmFkYSBwYWRyw6NvOiAiCisjfiAidW5pZGFkZSBpbnbDoWxpZGEiCisKKyN+IG1zZ2lkICIiCisjfiAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6IGludmFsaWQgdW5pdCIKKyN+IG1zZ3N0ciAiIgorI34gInZhbG9yIG51bcOpcmljbyAnJXMnIGRhIGNvbmZpZ3VyYcOnw6NvICclcycgaW5jb3JyZXRvIG5vIHN1Ym3Ds2R1bG8tYmxvYiAlczogIgorI34gInVuaWRhZGUgaW52w6FsaWRhIgorCisjfiBtc2dpZCAiIgorI34gImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogaW52YWxpZCB1bml0IgorI34gbXNnc3RyICIiCisjfiAidmFsb3IgbnVtw6lyaWNvICclcycgZGEgY29uZmlndXJhw6fDo28gJyVzJyBpbmNvcnJldG8gbmEgbGluaGEgZGUgY29tYW5kb3MgIgorI34gIiVzOiB1bmlkYWRlIGludsOhbGlkYSIKKworI34gbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiBpbnZhbGlkIHVuaXQiCisjfiBtc2dzdHIgIiIKKyN+ICJ2YWxvciBudW3DqXJpY28gJyVzJyBkYSBjb25maWd1cmHDp8OjbyAnJXMnIGluY29ycmV0byBlbSAlczogdW5pZGFkZSBpbnbDoWxpZGEiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSAybmQgY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJFc3RhIMOpIGEgMsKqIG1lbnNhZ2VtIGRlIGNvbW1pdDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSAzcmQgY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJFc3RhIMOpIGEgM8KqIG1lbnNhZ2VtIGRlIGNvbW1pdDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSA0dGggY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJFc3RhIMOpIGEgNMKqIG1lbnNhZ2VtIGRlIGNvbW1pdDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSA1dGggY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJFc3RhIMOpIGEgNcKqIG1lbnNhZ2VtIGRlIGNvbW1pdDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSA2dGggY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJFc3RhIMOpIGEgNsKqIG1lbnNhZ2VtIGRlIGNvbW1pdDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSA3dGggY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJFc3RhIMOpIGEgN8KqIG1lbnNhZ2VtIGRlIGNvbW1pdDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSA4dGggY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJFc3RhIMOpIGEgOMKqIG1lbnNhZ2VtIGRlIGNvbW1pdDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSA5dGggY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJFc3RhIMOpIGEgOcKqIG1lbnNhZ2VtIGRlIGNvbW1pdDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSAxMHRoIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAiRXN0YSDDqSBhIDEwwqogbWVuc2FnZW0gZGUgY29tbWl0OiIKKworI34gbXNnaWQgIlRoaXMgaXMgdGhlICR7bn10aCBjb21taXQgbWVzc2FnZToiCisjfiBtc2dzdHIgIkVzdGEgw6kgYSAke259wqogbWVuc2FnZW0gZGUgY29tbWl0OiIKKworI34gbXNnaWQgIlRoaXMgaXMgdGhlICR7bn1zdCBjb21taXQgbWVzc2FnZToiCisjfiBtc2dzdHIgIkVzdMOhIMOpIGEgJHtufcKqIG1lbnNhZ2VtIGRlIGNvbW1pdDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSAke259bmQgY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJFc3RhIMOpIGEgJHtufcKqIG1lbnNhZ2VtIGRlIGNvbW1pdDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSAke259cmQgY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJFc3RhIMOpIGEgJHtufcKqIG1lbnNhZ2VtIGRlIGNvbW1pdDoiCisKKyN+IG1zZ2lkICJUaGUgMXN0IGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkEgMcKqIG1lbnNhZ2VtIGRlIGNvbW1pdCBzZXLDoSBpZ25vcmFkYToiCisKKyN+IG1zZ2lkICJUaGUgMm5kIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkEgMsKqIG1lbnNhZ2VtIGRlIGNvbW1pdCBzZXLDoSBpZ25vcmFkYToiCisKKyN+IG1zZ2lkICJUaGUgM3JkIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkEgM8KqIG1lbnNhZ2VtIGRlIGNvbW1pdCBzZXLDoSBpZ25vcmFkYToiCisKKyN+IG1zZ2lkICJUaGUgNHRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkEgNMKqIG1lbnNhZ2VtIGRlIGNvbW1pdCBzZXLDoSBpZ25vcmFkYToiCisKKyN+IG1zZ2lkICJUaGUgNXRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkEgNcKqIG1lbnNhZ2VtIGRlIGNvbW1pdCBzZXLDoSBpZ25vcmFkYToiCisKKyN+IG1zZ2lkICJUaGUgNnRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkEgNsKqIG1lbnNhZ2VtIGRlIGNvbW1pdCBzZXLDoSBpZ25vcmFkYToiCisKKyN+IG1zZ2lkICJUaGUgN3RoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkEgN8KqIG1lbnNhZ2VtIGRlIGNvbW1pdCBzZXLDoSBpZ25vcmFkYToiCisKKyN+IG1zZ2lkICJUaGUgOHRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkEgOMKqIG1lbnNhZ2VtIGRlIGNvbW1pdCBzZXLDoSBpZ25vcmFkYToiCisKKyN+IG1zZ2lkICJUaGUgOXRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkEgOcKqIG1lbnNhZ2VtIGRlIGNvbW1pdCBzZXLDoSBpZ25vcmFkYToiCisKKyN+IG1zZ2lkICJUaGUgMTB0aCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgorI34gbXNnc3RyICJBIDEwwqogbWVuc2FnZW0gZGUgY29tbWl0IHNlcsOhIGlnbm9yYWRhOiIKKworI34gbXNnaWQgIlRoZSAke259dGggY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiQSAke259wqogbWVuc2FnZW0gZGUgY29tbWl0IHNlcsOhIGlnbm9yYWRhOiIKKworI34gbXNnaWQgIlRoZSAke259c3QgY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiQSAke259wqogbWVuc2FnZW0gZGUgY29tbWl0IHNlcsOhIGlnbm9yYWRhOiIKKworI34gbXNnaWQgIlRoZSAke259bmQgY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiQSAke259wqogbWVuc2FnZW0gZGUgY29tbWl0IHNlcsOhIGlnbm9yYWRhOiIKKworI34gbXNnaWQgIlRoZSAke259cmQgY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiQSAke259wqogbWVuc2FnZW0gZGUgY29tbWl0IHNlcsOhIGlnbm9yYWRhOiIKKworI34gbXNnaWQgImNvdWxkIG5vdCBydW4gZ3BnLiIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGV4ZWN1dGFyIGdwZy4iCisKKyN+IG1zZ2lkICJncGcgZGlkIG5vdCBhY2NlcHQgdGhlIGRhdGEiCisjfiBtc2dzdHIgImdwZyBuw6NvIGFjZWl0b3Ugb3MgZGFkb3MiCisKKyN+IG1zZ2lkICJ1bnN1cHBvcnRlZCBvYmplY3QgdHlwZSBpbiB0aGUgdHJlZSIKKyN+IG1zZ3N0ciAidGlwbyBkZSBvYmpldG8gc2VtIHN1cG9ydGUgZW5jb250cmFkbyBuYSDDoXJ2b3JlIgorCisjfiBtc2dpZCAiRmF0YWwgbWVyZ2UgZmFpbHVyZSwgc2hvdWxkbid0IGhhcHBlbi4iCisjfiBtc2dzdHIgIkZhbGhhIGRlIGludGVncmHDp8OjbyBmYXRhbCwgbsOjbyBkZXZpYSBhY29udGVjZXIuIgorCisjfiBtc2dpZCAiVW5wcm9jZXNzZWQgcGF0aD8/PyAlcyIKKyN+IG1zZ3N0ciAiQ2FtaW5obyBuw6NvIHByb2Nlc3NhZG8/Pz8gJXMiCisKKyN+IG1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcyIKKyN+IG1zZ3N0ciAiRXJybyBhbyByZW1hdGFyICVzLiIKKworI34gbXNnaWQgIkNhbm5vdCAlcyBkdXJpbmcgYSAlcyIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGVmZXR1YXIgJXMgZHVyYW50ZSAlcyIKKworI34gbXNnaWQgIkNhbid0IGNoZXJyeS1waWNrIGludG8gZW1wdHkgaGVhZCIKKyN+IG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZWZldHVhciBjaGVycnktcGljayBudW1hIGNhYmXDp2EgdmF6aWEiCisKKyN+IG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAlcyBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzIHBhcmEgZXNjcml0YSIKKworI34gbXNnaWQgInJlYWQgb2YgJXMgZmFpbGVkIgorI34gbXNnc3RyICJmYWxoYSBhbyBsZXIgJXMiCisKKyN+IG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgYnJhbmNoIGRlc2NyaXB0aW9uIHRlbXBsYXRlIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZXNjcmV2ZXIgbyBtb2RlbG8gZGEgZGVzY3Jpw6fDo28gZG8gcmFtbyIKKworI34gbXNnaWQgImNvcnJ1cHQgaW5kZXggZmlsZSIKKyN+IG1zZ3N0ciAiZmljaGVpcm8gZGUgw61uZGljZSBjb3Jyb21waWRvIgorCisjfiBtc2dpZCAiZGV0YWNoIHRoZSBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKKyN+IG1zZ3N0ciAiZGVzdGFjYXIgSEVBRCBubyBjb21taXQgaW5kaWNhZG8iCisKKyN+IG1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkuLi4gIgorI34gbXNnc3RyICJBIHZlcmlmaWNhciBhIGNvbmVjdGl2aWRhZGUuLi4gIgorCisjfiBtc2dpZCAiICAodW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYpIgorI34gbXNnc3RyICIgIChuw6NvIMOpIHBvc3PDrXZlbCBhdHVhbGl6YXIgYSByZWZlcsOqbmNpYSBsb2NhbCkiCisKKyN+IG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIgorI34gbXNnc3RyICJleGlzdGVudGUgcmVpbmljaWFsaXphZG8iCisKKyN+IG1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSIKKyN+IG1zZ3N0ciAidmF6aW8gaW5pY2lhbGl6YWRvIgorCisjfiBtc2dpZCAiIHNoYXJlZCIKKyN+IG1zZ3N0ciAiIHBhcnRpbGhhZG8iCisKKyN+IG1zZ2lkICJWZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCisjfiBtc2dzdHIgInZlcmlmaWNhciBzZSBvIGNvbW1pdCB0ZW0gdW1hIGFzc2luYXR1cmEgR1BHIHbDoWxpZGEiCisKKyN+IG1zZ2lkICJXcml0aW5nIFNRVUFTSF9NU0ciCisjfiBtc2dzdHIgIkEgZXNjcmV2ZXIgU1FVQVNIX01TRyIKKworI34gbXNnaWQgIkZpbmlzaGluZyBTUVVBU0hfTVNHIgorI34gbXNnc3RyICJBIGNvbmNsdWlyIFNRVUFTSF9NU0ciCisKKyN+IG1zZ2lkICIgICBhbmQgd2l0aCByZW1vdGUiCisjfiBtc2dzdHIgIiAgIGUgY29tIG8gcmVtb3RvIgorCisjfiBtc2dpZCAicmVtb3ZpbmcgJyVzJyBmYWlsZWQiCisjfiBtc2dzdHIgImZhbGhhIGFvIHJlbW92ZXIgJyVzJyIKKworI34gbXNnaWQgInByb2dyYW0gZXJyb3IiCisjfiBtc2dzdHIgImVycm8gZG8gcHJvZ3JhbWEiCisKKyN+IG1zZ2lkICJQbGVhc2UgY2FsbCAnYmlzZWN0X3N0YXRlJyB3aXRoIGF0IGxlYXN0IG9uZSBhcmd1bWVudC4iCisjfiBtc2dzdHIgIkludm9xdWUgJ2Jpc2VjdF9zdGF0ZScgY29tIHBlbG8gbWVub3MgdW0gYXJndW1lbnRvLiIKKworI34gbXNnaWQgIiIKKyN+ICJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluICIKKyN+ICJmcm9tIgorI34gbXNnc3RyICIiCisjfiAiU2UgZGVzZWphIHJldXRpbGl6YXIgZXN0ZSBkaXJldMOzcmlvIGdpdCBsb2NhbCBlbSB2ZXogZGUgY2xvbmFyIGRlIG5vdm8gZGUiCisKKyN+IG1zZ2lkICIiCisjfiAidXNlIHRoZSAnLS1mb3JjZScgb3B0aW9uLiBJZiB0aGUgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpcyBub3QgdGhlIGNvcnJlY3QgIgorI34gInJlcG8iCisjfiBtc2dzdHIgIiIKKyN+ICJ1c2UgYSBvcMOnw6NvICctLWZvcmNlJy4gU2UgbyBkaXJldMOzcmlvIGdpdCBsb2NhbCBuw6NvIMOpIG8gcmVwb3NpdMOzcmlvICIKKyN+ICJjb3JyZXRvIgorCisjfiBtc2dpZCAiIgorI34gIm9yIHlvdSBhcmUgdW5zdXJlIHdoYXQgdGhpcyBtZWFucyBjaG9vc2UgYW5vdGhlciBuYW1lIHdpdGggdGhlICctLW5hbWUnICIKKyN+ICJvcHRpb24uIgorI34gbXNnc3RyICIiCisjfiAib3Ugc2UgbsOjbyB0ZW0gYSBjZXJ0ZXphIGRvIHF1ZSBpc3RvIHNpZ25pZmljYSwgZXNjb2xoYSBvdXRybyBub21lIGNvbSBhICIKKyN+ICJvcMOnw6NvICctLW5hbWUnLiIKKworI34gbXNnaWQgIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAiIgorI34gIkEgw6Fydm9yZSBkZSB0cmFiYWxobyBkbyBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIGNvbnTDqW0gdW0gZGlyZXTDs3JpbyAuZ2l0IgorCisjfiBtc2dpZCAiIgorI34gIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyAiCisjfiAiaGlzdG9yeSkiCisjfiBtc2dzdHIgIiIKKyN+ICIodXNlICdybSAtcmYnIHNlIHByZXRlbmRlIG1lc21vIHJlbW92w6otbG8sIGluY2x1aW5kbyB0b2RvIG8gc2V1IGhpc3TDs3JpY28pIgorCiAjfiBtc2dpZCAiJyVzJzogJXMiCiAjfiBtc2dzdHIgIiclcyc6ICVzIgogCkBAIC0xMjgzNiw4ICsxNTAxNSw4IEBACiAjfiAiUXVhbmRvIHB1c2guZGVmYXVsdCBlc3TDoSBkZWZpbmlkbyBjb21vICdtYXRjaGluZycsIG8gR2l0IHB1YmxpY2FcbiIKICN+ICJvcyByYW1vcyBsb2NhaXMgbm9zIHJhbW9zIHJlbW90b3MgcXVlIGrDoSBleGlzdGFtIGNvbSBvIG1lc21vIG5vbWUuXG4iCiAjfiAiXG4iCi0jfiAiRGVzZGUgYSB2ZXJzw6NvIDIuMCwgbyBHaXQgYXNzdW1lIG8gY29tcG9ydGFtZW50byBtYWlzIGNvbnNlcnZhdGl2byAnc2ltcGxlJywiCi0jfiAiXG4iCisjfiAiRGVzZGUgYSB2ZXJzw6NvIDIuMCwgbyBHaXQgYXNzdW1lIG8gY29tcG9ydGFtZW50byBtYWlzIGNvbnNlcnZhdGl2byAiCisjfiAiJ3NpbXBsZScsXG4iCiAjfiAicHVibGljYW5kbyBzw7MgbyByYW1vIGF0dWFsIG5vIHJhbW8gcmVtb3RvIGNvcnJlc3BvbmRlbnRlLCBxdWUgw6kgdXNhZG9cbiIKICN+ICJwYXJhIGF0dWFsaXphciBvIHJhbW8gYXR1YWwgY29tICdnaXQgcHVsbCcuXG4iCiAjfiAiQ29uc3VsdGUgJ2dpdCBoZWxwIGNvbmZpZycgZSBwcm9jdXJlIHBvciAncHVzaC5kZWZhdWx0JyBwYXJhIG1haXMgIgpAQCAtMTI5MTMsOCArMTUwOTIsNSBAQAogI34gbXNnaWQgIi0tIgogI34gbXNnc3RyICItLSIKIAotI34gbXNnaWQgImNoZXJyeS1waWNrIgotI34gbXNnc3RyICJjaGVycnktcGljayIKLQogI34gbXNnaWQgIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4iCiAjfiBtc2dzdHIgIlBvciBmYXZvciBpbnNpcmEgYSBtZW5zYWdlbSBkZSBjb21taXQgZGFzIHN1YXMgYWx0ZXJhw6fDtWVzLiIKZGlmZiAtLWdpdCBhL3BvL3J1LnBvIGIvcG8vcnUucG8KaW5kZXggNjE3ZTVmNTQuLmE5MmRkY2YgMTAwNjQ0Ci0tLSBhL3BvL3J1LnBvCisrKyBiL3BvL3J1LnBvCkBAIC0xMCw4ICsxMCw4IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IEdpdCBSdXNzaWFuIExvY2FsaXphdGlvbiBQcm9qZWN0XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTYtMDUtMjQgMjM6NDIrMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMDYtMTEgMDk6MzcrMDAwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE2LTExLTI1IDIyOjUwKzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE2LTExLTI4IDIzOjU4KzAwMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IERpbWl0cml5IFJ5YXphbnRjZXYgPERKbTAwbkBtYWlsLnJ1PlxuIgogIkxhbmd1YWdlLVRlYW06IFJ1c3NpYW4gKGh0dHA6Ly93d3cudHJhbnNpZmV4LmNvbS9kam0wMG4vZ2l0LXBvLXJ1L2xhbmd1YWdlL3J1LylcbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgpAQCAtMjUsMjQgKzI1LDY4MyBAQAogbXNnaWQgImhpbnQ6ICUuKnNcbiIKIG1zZ3N0ciAi0L/QvtC00YHQutCw0LfQutCwOiAlLipzXG4iCiAKLSM6IGFkdmljZS5jOjg4CisjOiBhZHZpY2UuYzo4MworbXNnaWQgIkNoZXJyeS1waWNraW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C/0L7Qu9C90LjRgtGMINC60L7Qv9C40YDQvtCy0LDQvdC40LUg0LrQvtC80LzQuNGC0LAg0LIg0YLQtdC60YPRidGD0Y4g0LLQtdGC0LrRgywg0YLQsNC6INC60LDQuiDRgyDQstCw0YEg0LjQvNC10Y7RgtGB0Y8g0L3QtSDRgdC70LjRgtGL0LUg0YTQsNC50LvRiy4iCisKKyM6IGFkdmljZS5jOjg1Cittc2dpZCAiQ29tbWl0dGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC30LDQutC+0LzQvNC40YLQuNGC0YwsINGC0LDQuiDQutCw0Log0YMg0LLQsNGBINC40LzQtdGO0YLRgdGPINC90LUg0YHQu9C40YLRi9C1INGE0LDQudC70YsuIgorCisjOiBhZHZpY2UuYzo4NworbXNnaWQgIk1lcmdpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0L/QvtC70L3QuNGC0Ywg0YHQu9C40Y/QvdC40LUsINGC0LDQuiDQutCw0Log0YMg0LLQsNGBINC40LzQtdGO0YLRgdGPINC90LUg0YHQu9C40YLRi9C1INGE0LDQudC70YsuIgorCisjOiBhZHZpY2UuYzo4OQorbXNnaWQgIlB1bGxpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0L/QvtC70L3QuNGC0Ywg0L/QvtC70YPRh9C10L3QuNC1LCDRgtCw0Log0LrQsNC6INGDINCy0LDRgSDQuNC80LXRjtGC0YHRjyDQvdC1INGB0LvQuNGC0YvQtSDRhNCw0LnQu9GLLiIKKworIzogYWR2aWNlLmM6OTEKK21zZ2lkICJSZXZlcnRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQvtCx0YDQsNGC0LjRgtGMINC40LfQvNC10L3QtdC90LjRjywg0YLQsNC6INC60LDQuiDRgyDQstCw0YEg0LjQvNC10Y7RgtGB0Y8g0L3QtSDRgdC70LjRgtGL0LUg0YTQsNC50LvRiy4iCisKKyM6IGFkdmljZS5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkl0IGlzIG5vdCBwb3NzaWJsZSB0byAlcyBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C/0L7Qu9C90LjRgtGMICVzLCDRgtCw0Log0LrQsNC6INGDINCy0LDRgSDQuNC80LXRjtGC0YHRjyDQvdC1INGB0LvQuNGC0YvQtSDRhNCw0LnQu9GLLiIKKworIzogYWR2aWNlLmM6MTAxCiBtc2dpZCAiIgogIkZpeCB0aGVtIHVwIGluIHRoZSB3b3JrIHRyZWUsIGFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCiAiYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uIGFuZCBtYWtlIGEgY29tbWl0LiIKIG1zZ3N0ciAi0JjRgdC/0YDQsNCy0YzRgtC1INC40YUg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSwg0LfQsNGC0LXQvCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgYWRkL3JtIDzRhNCw0LnQuz7CuyxcbtGH0YLQvtCx0Ysg0L/QvtC80LXRgtC40YLRjCDQuNGB0L/RgNCw0LLQu9C10L3QuNC1INC4INGB0LTQtdC70LDQudGC0LUg0LrQvtC80LzQuNGCLiIKIAotIzogYWR2aWNlLmM6MTAxIGJ1aWx0aW4vbWVyZ2UuYzoxMjM4CisjOiBhZHZpY2UuYzoxMDkKK21zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCittc2dzdHIgItCS0YvRhdC+0LQg0LjQty3Qt9CwINC90LXRgNCw0LfRgNC10YjQtdC90L3QvtCz0L4g0LrQvtC90YTQu9C40LrRgtCwLiIKKworIzogYWR2aWNlLmM6MTE0IGJ1aWx0aW4vbWVyZ2UuYzoxMTgxCiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgogbXNnc3RyICLQktGLINC90LUg0LfQsNCy0LXRgNGI0LjQu9C4INGB0LvQuNGP0L3QuNC1ICjQv9GA0LjRgdGD0YLRgdGC0LLRg9C10YIg0YTQsNC50LsgTUVSR0VfSEVBRCkuIgogCi0jOiBhZHZpY2UuYzoxMDMKKyM6IGFkdmljZS5jOjExNgogbXNnaWQgIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgbWVyZ2luZy4iCiBtc2dzdHIgItCf0LXRgNC10LQg0YHQu9C40Y/QvdC40LXQvCwg0LLRi9C/0L7Qu9C90LjRgtC1INC60L7QvNC80LjRgiDQstCw0YjQuNGFINC40LfQvNC10L3QtdC90LjQuS4iCiAKLSM6IGFkdmljZS5jOjEwNAorIzogYWR2aWNlLmM6MTE3CiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIHVuZmluaXNoZWQgbWVyZ2UuIgogbXNnc3RyICLQktGL0YXQvtC0INC40Lct0LfQsCDQvdC10LfQsNCy0LXRgNGI0LXQvdC90L7Qs9C+INGB0LvQuNGP0L3QuNGPLiIKIAorIzogYWR2aWNlLmM6MTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3RlOiBjaGVja2luZyBvdXQgJyVzJy5cbiIKKyJcbiIKKyJZb3UgYXJlIGluICdkZXRhY2hlZCBIRUFEJyBzdGF0ZS4gWW91IGNhbiBsb29rIGFyb3VuZCwgbWFrZSBleHBlcmltZW50YWxcbiIKKyJjaGFuZ2VzIGFuZCBjb21taXQgdGhlbSwgYW5kIHlvdSBjYW4gZGlzY2FyZCBhbnkgY29tbWl0cyB5b3UgbWFrZSBpbiB0aGlzXG4iCisic3RhdGUgd2l0aG91dCBpbXBhY3RpbmcgYW55IGJyYW5jaGVzIGJ5IHBlcmZvcm1pbmcgYW5vdGhlciBjaGVja291dC5cbiIKKyJcbiIKKyJJZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBuZXcgYnJhbmNoIHRvIHJldGFpbiBjb21taXRzIHlvdSBjcmVhdGUsIHlvdSBtYXlcbiIKKyJkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYiB3aXRoIHRoZSBjaGVja291dCBjb21tYW5kIGFnYWluLiBFeGFtcGxlOlxuIgorIlxuIgorIiAgZ2l0IGNoZWNrb3V0IC1iIDxuZXctYnJhbmNoLW5hbWU+XG4iCisiXG4iCittc2dzdHIgItCf0YDQuNC80LXRh9Cw0L3QuNC1OiDQv9C10YDQtdGF0L7QtCDQvdCwIMKrJXPCuy5cblxu0JLRiyDRgdC10LnRh9Cw0YEg0LIg0YHQvtGB0YLQvtGP0L3QuNC4IMKr0L7RgtC00LXQu9GR0L3QvdC+0LPQviBIRUFEwrsuINCS0Ysg0LzQvtC20LXRgtC1INC+0YHQvNC+0YLRgNC10YLRjNGB0Y8sINGB0LTQtdC70LDRgtGMXG7RjdC60YHQv9C10YDQuNC80LXQvdGC0LDQu9GM0L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQuCDQt9Cw0LrQvtC80LzQuNGC0LjRgtGMINC40YUsINGC0LDQutC20LUg0LLRiyDQvNC+0LbQtdGC0LUg0L7RgtC80LXQvdC40YLRjFxu0LjQt9C80LXQvdC10L3QuNGPINC70Y7QsdGL0YUg0LrQvtC80LzQuNGC0L7QsiDQsiDRjdGC0L7QvCDRgdC+0YHRgtC+0Y/QvdC40Lgg0L3QtSDQt9Cw0YLRgNCw0LPQuNCy0LDRjyDQu9GO0LHRi9C1INCy0LXRgtC60Lgg0LhcbtC90LUg0L/QtdGA0LXRhdC+0LTRjyDQvdCwINC90LjRhS5cblxu0JXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUg0YHQvtC30LTQsNGC0Ywg0L3QvtCy0YPRjiDQstC10YLQutGDINC4INGB0L7RhdGA0LDQvdC40YLRjCDRgdCy0L7QuCDQutC+0LzQvNC40YLRiywg0YLQviDQstGLXG7QvNC+0LbQtdGC0LUg0YHQtNC10LvQsNGC0Ywg0Y3RgtC+ICjRgdC10LnRh9Cw0YEg0LjQu9C4INC/0L7Qt9C20LUpINCy0YvQt9Cy0LDQsiDQutC+0LzQsNC90LTRgyBjaGVja291dCDRgdC90L7QstCwLFxu0L3QviDRgSDQv9Cw0YDQsNC80LXRgtGA0L7QvCAtYi4g0J3QsNC/0YDQuNC80LXRgDpcblxuICBnaXQgY2hlY2tvdXQgLWIgPNC40LzRjy3QvdC+0LLQvtC5LdCy0LXRgtC60Lg+XG5cbiIKKworIzogYXBwbHkuYzo1NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBvcHRpb24gJyVzJyIKK21zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3QsNGPINC+0L/RhtC40Y8g0LTQu9GPINC/0YDQvtCx0LXQu9C+0LIgwqslc8K7IgorCisjOiBhcHBseS5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIGlnbm9yZSBvcHRpb24gJyVzJyIKK21zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3QsNGPINC+0L/RhtC40Y8g0LTQu9GPINC40LPQvdC+0YDQuNGA0L7QstCw0L3QuNGPINC/0YDQvtCx0LXQu9C+0LIgwqslc8K7IgorCisjOiBhcHBseS5jOjEyNQorbXNnaWQgIi0tcmVqZWN0IGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICItLXJlamVjdCDQuCAtLTN3YXkg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4uIgorCisjOiBhcHBseS5jOjEyNworbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICItLWNhY2hlZCDQuCAtLTN3YXkg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4uIgorCisjOiBhcHBseS5jOjEzMAorbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKK21zZ3N0ciAiLS0zd2F5INCy0L3QtSDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgorCisjOiBhcHBseS5jOjE0MQorbXNnaWQgIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiCittc2dzdHIgIi0taW5kZXgg0LLQvdC1INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCisKKyM6IGFwcGx5LmM6MTQ0Cittc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCittc2dzdHIgIi0tY2FjaGVkINCy0L3QtSDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgorCisjOiBhcHBseS5jOjg0NQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0L7QtNCz0L7RgtC+0LLQuNGC0Ywg0YDQtdCz0YPQu9GP0YDQvdC+0LUg0LLRi9GA0LDQttC10L3QuNC1INC00LvRjyDQvNC10YLQutC4INCy0YDQtdC80LXQvdC4ICVzIgorCisjOiBhcHBseS5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCittc2dzdHIgInJlZ2V4ZWMg0LLQvtC30LLRgNCw0YLQuNC7ICVkINC00LvRjyDQstCy0L7QtNCwOiAlcyIKKworIzogYXBwbHkuYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INC40LzRjyDRhNCw0LnQu9CwINCyINGB0YLRgNC+0LrQtSDQv9Cw0YLRh9CwICVkIgorCisjOiBhcHBseS5jOjk3NworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBseTog0L/Qu9C+0YXQvtC5IGdpdC1kaWZmIOKAlCDQvtC20LjQtNCw0LvQvtGB0YwgL2Rldi9udWxsLCDQv9C+0LvRg9GH0LXQvdC+ICVzINC90LAg0YHRgtGA0L7QutC1ICVkIgorCisjOiBhcHBseS5jOjk4MworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKK21zZ3N0ciAiZ2l0IGFwcGx5OiDQv9C70L7RhdC+0LkgZ2l0LWRpZmYg4oCUINC90LUg0YHQvtCz0LvQsNGB0YPRjtGJ0LXQtdGB0Y8g0L3QvtCy0L7QtSDQuNC80Y8g0YTQsNC50LvQsCDQvdCwINGB0YLRgNC+0LrQtSAlZCIKKworIzogYXBwbHkuYzo5ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBseTog0L/Qu9C+0YXQvtC5IGdpdC1kaWZmIOKAlCDQvdC1INGB0L7Qs9C70LDRgdGD0Y7RidC10LXRgdGPINGB0YLQsNGA0L7QtSDQuNC80Y8g0YTQsNC50LvQsCDQvdCwINGB0YLRgNC+0LrQtSAlZCIKKworIzogYXBwbHkuYzo5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwgb24gbGluZSAlZCIKK21zZ3N0ciAiZ2l0IGFwcGx5OiDQv9C70L7RhdC+0LkgZ2l0LWRpZmYgIOKAlCDQvtC20LjQtNCw0LvQvtGB0YwgL2Rldi9udWxsINC90LAg0YHRgtGA0L7QutC1ICVkIgorCisjOiBhcHBseS5jOjE0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgorbXNnc3RyICJyZWNvdW50OiDQvdC1INC+0LbQuNC00LDQtdC80LDRjyDRgdGC0YDQvtC60LA6ICUuKnMiCisKKyM6IGFwcGx5LmM6MTU1NworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgorbXNnc3RyICLRhNGA0LDQs9C80LXQvdGCINC40LfQvNC10L3QtdC90LjQuSDQsdC10Lcg0LfQsNCz0L7Qu9C+0LLQutCwINC90LAg0YHRgtGA0L7QutC1ICVkOiAlLipzIgorCisjOiBhcHBseS5jOjE1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUiCisiIGNvbXBvbmVudCAobGluZSAlZCkiCittc2dpZF9wbHVyYWwgIiIKKyJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lIgorIiBjb21wb25lbnRzIChsaW5lICVkKSIKK21zZ3N0clswXSAi0LfQsNCz0L7Qu9C+0LLQvtC6IGdpdCBkaWZmINC90LUg0L3QsNGI0LXQuyDQuNC90YTQvtGA0LzQsNGG0LjRjiDQvtCxINC40LzQtdC90Lgg0YTQsNC50LvQsCDQv9GA0Lgg0YPQtNCw0LvQtdC90LjQuCAlZCDQstC10LTRg9GJ0LXQs9C+INC60L7QvNC/0L7QvdC10L3RgtCwINC/0YPRgtC4INC6INGE0LDQudC70YMgKNGB0YLRgNC+0LrQsCAlZCkiCittc2dzdHJbMV0gItC30LDQs9C+0LvQvtCy0L7QuiBnaXQgZGlmZiDQvdC1INC90LDRiNC10Lsg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDQuNC80LXQvdC4INGE0LDQudC70LAg0L/RgNC4INGD0LTQsNC70LXQvdC40LggJWQg0LLQtdC00YPRidC40YUg0LrQvtC80L/QvtC90LXQvdGCINC/0YPRgtC4INC6INGE0LDQudC70YMgKNGB0YLRgNC+0LrQsCAlZCkiCittc2dzdHJbMl0gItC30LDQs9C+0LvQvtCy0L7QuiBnaXQgZGlmZiDQvdC1INC90LDRiNC10Lsg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDQuNC80LXQvdC4INGE0LDQudC70LAg0L/RgNC4INGD0LTQsNC70LXQvdC40LggJWQg0LLQtdC00YPRidC40YUg0LrQvtC80L/QvtC90LXQvdGCINC/0YPRgtC4INC6INGE0LDQudC70YMgKNGB0YLRgNC+0LrQsCAlZCkiCittc2dzdHJbM10gItC30LDQs9C+0LvQvtCy0L7QuiBnaXQgZGlmZiDQvdC1INC90LDRiNC10Lsg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDQuNC80LXQvdC4INGE0LDQudC70LAg0L/RgNC4INGD0LTQsNC70LXQvdC40LggJWQg0LLQtdC00YPRidC40YUg0LrQvtC80L/QvtC90LXQvdGCINC/0YPRgtC4INC6INGE0LDQudC70YMgKNGB0YLRgNC+0LrQsCAlZCkiCisKKyM6IGFwcGx5LmM6MTU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gKGxpbmUgJWQpIgorbXNnc3RyICLQt9Cw0LPQvtC70L7QstC+0LogZ2l0IGRpZmYg0L3QtSDRgdC+0LTQtdGA0LbQuNGCINC40L3RhNC+0YDQvNCw0YbQuNC4INC+0LEg0LjQvNC10L3QuCDRhNCw0LnQu9CwICjRgdGC0YDQvtC60LAgJWQpIgorCisjOiBhcHBseS5jOjE3NTkKK21zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKK21zZ3N0ciAi0L3QvtCy0YvQuSDRhNCw0LnQuyDQt9Cw0LLQuNGB0LjRgiDQvtGCINGB0YLQsNGA0L7Qs9C+INGB0L7QtNC10YDQttC40LzQvtCz0L4iCisKKyM6IGFwcGx5LmM6MTc2MQorbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgItGD0LTQsNC70LXQvdC90YvQuSDRhNCw0LnQuyDQstGB0LUg0LXRidC1INC40LzQtdC10YIg0YHQvtC00LXRgNC20LjQvNC+0LUiCisKKyM6IGFwcGx5LmM6MTc5NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgItC/0LDRgtGHINC/0L7QstGA0LXQttC00LXQvSDQvdCwINGB0YLRgNC+0LrQtSAlZCIKKworIzogYXBwbHkuYzoxODMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgorbXNnc3RyICLQvdC+0LLRi9C5INGE0LDQudC7ICVzINC30LDQstC40YHQuNGCINC+0YIg0YHRgtCw0YDQvtCz0L4g0YHQvtC00LXRgNC20LjQvNC+0LPQviIKKworIzogYXBwbHkuYzoxODM0CisjLCBjLWZvcm1hdAorbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgItGD0LTQsNC70LXQvdC90YvQuSDRhNCw0LnQuyAlcyDQstGB0LUg0LXRidC1INC40LzQtdC10YIg0YHQvtC00LXRgNC20LjQvNC+0LUiCisKKyM6IGFwcGx5LmM6MTgzNworIywgYy1mb3JtYXQKK21zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgorbXNnc3RyICIqKiDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDRhNCw0LnQuyAlcyDRgdGC0LDQvdC+0LLQuNGC0YHRjyDQv9GD0YHRgtGL0LwsINC90L4g0L3QtSDRg9C00LDQu9GP0LXRgtGB0Y8iCisKKyM6IGFwcGx5LmM6MTk4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIgorbXNnc3RyICLQv9C+0LLRgNC10LbQtNC10L3QvdGL0Lkg0LTQstC+0LjRh9C90YvQuSDQv9Cw0YLRhyDQvdCwINGB0YLRgNC+0LrQtSAlZDogJS4qcyIKKworIzogYXBwbHkuYzoyMDIxCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIKK21zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3Ri9C5INC00LLQvtC40YfQvdGL0Lkg0L/QsNGC0Ycg0L3QsCDRgdGC0YDQvtC60LUgJWQiCisKKyM6IGFwcGx5LmM6MjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgorbXNnc3RyICLQv9Cw0YLRhyDRgSDQvNGD0YHQvtGA0L7QvCDQvdCwINGB0YLRgNC+0LrQtSAlZCIKKworIzogYXBwbHkuYzoyMjc0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWFkIHN5bWxpbmsgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGB0LjQvNCy0L7Qu9GM0L3Rg9GOINGB0YHRi9C70LrRgyAlcyIKKworIzogYXBwbHkuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuIG9yIHJlYWQgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywg0LjQu9C4INC/0YDQvtGH0LXRgdGC0YwgJXMiCisKKyM6IGFwcGx5LmM6MjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IG9mIGxpbmU6ICclYyciCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDQvdCw0YfQsNC70L4g0YHRgtGA0L7QutC4OiDCqyVjwrsiCisKKyM6IGFwcGx5LmM6MzA1MAorIywgYy1mb3JtYXQKK21zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCittc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCittc2dzdHJbMF0gItCn0LDRgdGC0YwgIyVkINGD0YHQv9C10YjQvdC+INC/0YDQuNC80LXQvdC10L3QsCDQvdCwICVkICjRgdC+INGB0LTQstC40LPQvtC8INCyICVkINGB0YLRgNC+0LrRgykuIgorbXNnc3RyWzFdICLQp9Cw0YHRgtGMICMlZCDRg9GB0L/QtdGI0L3QviDQv9GA0LjQvNC10L3QtdC90LAg0L3QsCAlZCAo0YHQviDRgdC00LLQuNCz0L7QvCDQsiAlZCDRgdGC0YDQvtC60LgpLiIKK21zZ3N0clsyXSAi0KfQsNGB0YLRjCAjJWQg0YPRgdC/0LXRiNC90L4g0L/RgNC40LzQtdC90LXQvdCwINC90LAgJWQgKNGB0L4g0YHQtNCy0LjQs9C+0Lwg0LIgJWQg0YHRgtGA0L7QuikuIgorbXNnc3RyWzNdICLQp9Cw0YHRgtGMICMlZCDRg9GB0L/QtdGI0L3QviDQv9GA0LjQvNC10L3QtdC90LAg0L3QsCAlZCAo0YHQviDRgdC00LLQuNCz0L7QvCDQsiAlZCDRgdGC0YDQvtC6KS4iCisKKyM6IGFwcGx5LmM6MzA2MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgorbXNnc3RyICLQmtC+0L3RgtC10LrRgdGCINGB0YPQttC10L0g0LTQviAoJWxkLyVsZCksINGH0YLQvtCx0Ysg0L/RgNC40LzQtdC90LjRgtGMINGE0YDQsNCz0LzQtdC90YIg0L3QsCAlZCDRgdGC0YDQvtC60LUiCisKKyM6IGFwcGx5LmM6MzA2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisid2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKKyIlLipzIgorbXNnc3RyICLQv9GA0Lgg0L/QvtC40YHQutC1OlxuJS4qcyIKKworIzogYXBwbHkuYzozMDkwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgYmluYXJ5IHBhdGNoIGRhdGEgZm9yICclcyciCittc2dzdHIgItC/0YDQvtC/0YPRidC10L3RiyDQtNCw0L3QvdGL0LUg0LTQstC+0LjRh9C90L7Qs9C+INC/0LDRgtGH0LAg0LTQu9GPIMKrJXPCuyIKKworIzogYXBwbHkuYzozMDk4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZXZlcnNlLWFwcGx5IGEgYmluYXJ5IHBhdGNoIHdpdGhvdXQgdGhlIHJldmVyc2UgaHVuayB0byAnJXMnIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQstGL0L/QvtC70L3QuNGC0YwgcmV2ZXJzZS1hcHBseSDQtNC70Y8g0LTQstC+0LjRh9C90L7Qs9C+INC/0LDRgtGH0LAsINCx0LXQtyDQvtCx0YDQsNGJ0LXQvdC40Y8g0LjQt9C80LXQvdC10L3QuNC5INCx0LvQvtC60LAgwqslc8K7IgorCisjOiBhcHBseS5jOjMxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFwcGx5IGJpbmFyeSBwYXRjaCB0byAnJXMnIHdpdGhvdXQgZnVsbCBpbmRleCBsaW5lIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9GA0LjQvNC10L3QuNGC0Ywg0LTQstC+0LjRh9C90YvQuSDQv9Cw0YLRhyDCqyVzwrsg0LHQtdC3INGB0YLRgNC+0LrQuCDRgSDRg9C60LDQt9Cw0L3QvdC+0Lkg0L/QvtC70L3QvtC5INCy0LXRgNGB0LjQtdC5INC40L3QtNC10LrRgdCwIgorCisjOiBhcHBseS5jOjMxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBwYXRjaCBhcHBsaWVzIHRvICclcycgKCVzKSwgd2hpY2ggZG9lcyBub3QgbWF0Y2ggdGhlIGN1cnJlbnQgY29udGVudHMuIgorbXNnc3RyICLQv9Cw0YLRhyDQv9GA0LjQvNC10L3Rj9GC0YHRjyDQuiDRhNCw0LnQu9GDIMKrJXPCuyAoJXMpLCDQvdC+INC10LPQviDRgtC10LrRg9GJ0LXQtSDRgdC+0LTQtdGA0LbQuNC80L7QtSDQvdC1INGB0L7QvtGC0LLQtdGB0YLQstGD0LXRgiDQvtC20LjQtNCw0LXQvNC+0LzRgy4iCisKKyM6IGFwcGx5LmM6MzE2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCittc2dzdHIgItC/0LDRgtGHINC/0YDQuNC80LXQvdGP0LXRgtGB0Y8g0Log0L/Rg9GB0YLQvtC80YMg0YTQsNC50LvRgyDCqyVzwrssINC90L4g0YTQsNC50Lsg0L3QtSDQv9GD0YHRgtC+0LkiCisKKyM6IGFwcGx5LmM6MzE4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbmVjZXNzYXJ5IHBvc3RpbWFnZSAlcyBmb3IgJyVzJyBjYW5ub3QgYmUgcmVhZCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0L3QtdC+0LHRhdC+0LTQuNC80YPRjiDQv9C+0YHRi9C70LrRgyAlcyDQtNC70Y8gwqslc8K7IgorCisjOiBhcHBseS5jOjMxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC40LzQtdC90LjRgtGMINC00LLQvtC40YfQvdGL0Lkg0L/QsNGC0Ycg0Logwqslc8K7IgorCisjOiBhcHBseS5jOjMxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmluYXJ5IHBhdGNoIHRvICclcycgY3JlYXRlcyBpbmNvcnJlY3QgcmVzdWx0IChleHBlY3RpbmcgJXMsIGdvdCAlcykiCittc2dzdHIgItC/0L7RgdC70LUg0L/RgNC40LzQtdC90LXQvdC40Y8g0LTQstC+0LjRh9C90L7Qs9C+INC/0LDRgtGH0LAg0LTQu9GPIMKrJXPCuyDQsdGL0Lsg0L/QvtC70YPRh9C10L0g0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGA0LXQt9GD0LvRjNGC0LDRgiAo0L7QttC40LTQsNC70L7RgdGMICVzLCDQv9C+0LvRg9GH0LXQvdC+ICVzKSIKKworIzogYXBwbHkuYzozMjIwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0L/RgNC40LzQtdC90LXQvdC40Y8g0LjQt9C80LXQvdC10L3QuNC5OiAlczolbGQiCisKKyM6IGFwcGx5LmM6MzM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQutC70Y7Rh9C40YLRjCDRgdC+0YHRgtC+0Y/QvdC40LUg0L3QsCAlcyIKKworIzogYXBwbHkuYzozMzkwIGFwcGx5LmM6MzQwMSBhcHBseS5jOjM0NDcgc2V0dXAuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMICVzIgorCisjOiBhcHBseS5jOjMzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAi0YfRgtC10L3QuNC1INC40Lcgwqslc8K7INC30LAg0YHQuNC80LLQvtC70LjRh9C10YHQutC+0Lkg0YHRgdGL0LvQutC+0LkiCisKKyM6IGFwcGx5LmM6MzQyNyBhcHBseS5jOjM2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiCittc2dzdHIgItC/0YPRgtGMICVzINCx0YvQuyDQv9C10YDQtdC40LzQtdC90L7QstCw0L0v0YPQtNCw0LvQtdC9IgorCisjOiBhcHBseS5jOjM1MTAgYXBwbHkuYzozNjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKK21zZ3N0ciAiJXM6INC90LXRgiDQsiDQuNC90LTQtdC60YHQtSIKKworIzogYXBwbHkuYzozNTE5IGFwcGx5LmM6MzY4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiCittc2dzdHIgIiVzOiDQvdC1INGB0L7QstC/0LDQtNCw0LXRgiDRgSDQuNC90LTQtdC60YHQvtC8IgorCisjOiBhcHBseS5jOjM1NTQKK21zZ2lkICJyZXBvc2l0b3J5IGxhY2tzIHRoZSBuZWNlc3NhcnkgYmxvYiB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgorbXNnc3RyICLQsiDRgNC10L/QvtC30LjRgtC+0YDQuNC4INC+0YLRgdGD0YLRgdGC0LLRg9C10YIg0L3QtdC+0LHRhdC+0LTQuNC80YvQuSDQtNCy0L7QuNGH0L3Ri9C5INC+0LHRitC10LrRgiDQtNC70Y8g0L7RgtC60LDRgtCwINC6INGC0YDRkdGF0YXQvtC00L7QstC+0LzRgyDRgdC70LjRj9C90LjRji4iCisKKyM6IGFwcGx5LmM6MzU1NworIywgYy1mb3JtYXQKK21zZ2lkICJGYWxsaW5nIGJhY2sgdG8gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCittc2dzdHIgItCe0YLQutCw0YIg0Log0YLRgNGR0YXRhdC+0LTQvtCy0L7QvNGDINGB0LvQuNGP0L3QuNGO4oCmXG4iCisKKyM6IGFwcGx5LmM6MzU3MyBhcHBseS5jOjM1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YLQtdC60YPRidC10LUg0YHQvtC00LXRgNC20LjQvNC+0LUgwqslc8K7IgorCisjOiBhcHBseS5jOjM1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGZhbGwgYmFjayBvbiB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrQsNGC0LjRgtGM0YHRjyDQuiDRgtGA0ZHRhdGF0L7QtNC+0LLQvtC80YMg0YHQu9C40Y/QvdC40Y7igKZcbiIKKworIzogYXBwbHkuYzozNjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyB3aXRoIGNvbmZsaWN0cy5cbiIKK21zZ3N0ciAi0J/QsNGC0Ycg0L/RgNC40LzQtdC90LXQvSDQuiDCqyVzwrsg0YEg0LrQvtC90YTQu9C40LrRgtCw0LzQuC5cbiIKKworIzogYXBwbHkuYzozNjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyBjbGVhbmx5LlxuIgorbXNnc3RyICLQn9Cw0YLRhyDQv9GA0LjQvNC10L3QtdC9INC6IMKrJXPCuyDQsdC10Lcg0L7RiNC40LHQvtC6LlxuIgorCisjOiBhcHBseS5jOjM2MzQKK21zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgorbXNnc3RyICLQv9Cw0YLRhyDRg9C00LDQu9C10L3QuNGPINC90LUg0YPQtNCw0LvQuNC7INGB0L7QtNC10YDQttC40LzQvtC1INGE0LDQudC70LAiCisKKyM6IGFwcGx5LmM6MzcwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JvbmcgdHlwZSIKK21zZ3N0ciAiJXM6INC90LXQv9GA0LDQstC40LvRjNC90YvQuSDRgtC40L8iCisKKyM6IGFwcGx5LmM6MzcwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCittc2dzdHIgIiVzINC40LzQtdC10YIg0YLQuNC/ICVvLCDQsCDQvtC20LjQtNCw0LvRgdGPICVvIgorCisjOiBhcHBseS5jOjM4NTkgYXBwbHkuYzozODYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0L/Rg9GC0Ywgwqslc8K7IgorCisjOiBhcHBseS5jOjM5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgorbXNnc3RyICIlczog0YPQttC1INGB0L7QtNC10YDQttC40YLRgdGPINCyINC40L3QtNC10LrRgdC1IgorCisjOiBhcHBseS5jOjM5MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICIlczog0YPQttC1INGB0L7QtNC10YDQttC40YLRgdGPINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUiCisKKyM6IGFwcGx5LmM6Mzk0MAorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykiCittc2dzdHIgItC90L7QstGL0Lkg0YDQtdC20LjQvCDQtNC+0YHRgtGD0L/QsCAoJW8pINC00LvRjyAlcyDQvdC1INGB0L7QvtGC0LLQtdGC0YHRgtCy0YPQtdGCINGB0YLQsNGA0L7QvNGDINGA0LXQttC40LzRgyDQtNC+0YHRgtGD0L/QsCAoJW8pIgorCisjOiBhcHBseS5jOjM5NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIG9mICVzIgorbXNnc3RyICLQvdC+0LLRi9C5INGA0LXQttC40Lwg0LTQvtGB0YLRg9C/0LAgKCVvKSDQtNC70Y8gJXMg0L3QtSDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0LXRgiDRgdGC0LDRgNC+0LzRgyDRgNC10LbQuNC80YMg0LTQvtGB0YLRg9C/0LAgKCVvKSDQtNC70Y8gJXMiCisKKyM6IGFwcGx5LmM6Mzk2NQorIywgYy1mb3JtYXQKK21zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAi0LfQsNGC0YDQvtC90YPRgtGL0Lkg0YTQsNC50Lsgwqslc8K7INC90LDRhdC+0LTQuNGC0YHRjyDQt9CwINGB0LjQvNCy0L7Qu9C40YfQtdGB0LrQvtC5INGB0YHRi9C70LrQvtC5IgorCisjOiBhcHBseS5jOjM5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0LjQvNC10L3QuNGC0Ywg0L/QsNGC0YciCisKKyM6IGFwcGx5LmM6Mzk4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKK21zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQv9Cw0YLRh9CwICVz4oCmIgorCisjOiBhcHBseS5jOjQwNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgZm9yIHN1Ym1vZHVsZSAlcyIKK21zZ3N0ciAi0LjQvdGE0L7RgNC80LDRhtC40Y8g0L7QsSBzaGExINC+0YLRgdGD0YLRgdGC0LLRg9C10YIg0LjQu9C4INCx0LXRgdC/0L7Qu9C10LfQvdCwINC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8gJXMiCisKKyM6IGFwcGx5LmM6NDA4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlIGNoYW5nZSBmb3IgJXMsIHdoaWNoIGlzIG5vdCBpbiBjdXJyZW50IEhFQUQiCittc2dzdHIgItC40LfQvNC10L3QtdC9INGA0LXQttC40Lwg0LTQu9GPICVzLCDQutC+0YLQvtGA0YvQuSDQvdC1INC90LDRhdC+0LTQuNGC0YHRjyDQsiDRgtC10LrRg9GJ0LXQvCBIRUFEIgorCisjOiBhcHBseS5jOjQwODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgKCVzKS4iCittc2dzdHIgItC40L3RhNC+0YDQvNCw0YbQuNGPINC+0LEgc2hhMSDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCINC40LvQuCDQsdC10YHQv9C+0LvQtdC30L3QsCAoJXMpLiIKKworIzogYXBwbHkuYzo0MDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzMgYnVpbHRpbi9yZXNldC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgorbXNnc3RyICLRgdCx0L7QuSBtYWtlX2NhY2hlX2VudHJ5INC00LvRjyDQv9GD0YLQuCDCqyVzwrsiCisKKyM6IGFwcGx5LmM6NDA5NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgYWRkICVzIHRvIHRlbXBvcmFyeSBpbmRleCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQtNC+0LHQsNCy0LjRgtGMICVzINCy0L4g0LLRgNC10LzQtdC90L3Ri9C5INC40L3QtNC10LrRgSIKKworIzogYXBwbHkuYzo0MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggdG8gJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDQstGA0LXQvNC10L3QvdGL0Lkg0LjQvdC00LrQtdC60YEg0LIgJXMiCisKKyM6IGFwcGx5LmM6NDI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlICVzIGZyb20gaW5kZXgiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0YwgJXMg0LjQtyDQuNC90LTQtdC60YHQsCIKKworIzogYXBwbHkuYzo0Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKK21zZ3N0ciAi0L/QvtCy0YDQtdC20LTQtdC90L3Ri9C5INC/0LDRgtGHINC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8gJXMiCisKKyM6IGFwcGx5LmM6NDI4MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywgc3RhdCDQtNC70Y8g0YHQvtC30LTQsNC90L3QvtCz0L4g0YTQsNC50LvQsCDCqyVzwrsiCisKKyM6IGFwcGx5LmM6NDI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGJhY2tpbmcgc3RvcmUgZm9yIG5ld2x5IGNyZWF0ZWQgZmlsZSAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQstGB0L/QvtC80L7Qs9Cw0YLQtdC70YzQvdGL0Lkg0YTQsNC50Lsg0LTQu9GPINGB0L7Qt9C00LDQvdC90L7Qs9C+INGE0LDQudC70LAgJXMiCisKKyM6IGFwcGx5LmM6NDI5NyBhcHBseS5jOjQ0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LfQsNC/0LjRgdGMINCyINC60Y3RiNC1INC00LvRjyAlcyIKKworIzogYXBwbHkuYzo0MzM4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB3cml0ZSB0byAnJXMnIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0LIgwqslc8K7IgorCisjOiBhcHBseS5jOjQzNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyBmaWxlICclcyciCittc2dzdHIgItC30LDQutGA0YvRgtC40LUg0YTQsNC50LvQsCDCqyVzwrsiCisKKyM6IGFwcGx5LmM6NDQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDRhNCw0LnQuyDCqyVzwrsg0YEg0YDQtdC20LjQvNC+0Lwg0LTQvtGB0YLRg9C/0LAgJW8iCisKKyM6IGFwcGx5LmM6NDUxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgorbXNnc3RyICLQn9Cw0YLRhyAlcyDQv9GA0LjQvNC10L3QtdC9INCx0LXQtyDQvtGI0LjQsdC+0LouIgorCisjOiBhcHBseS5jOjQ1MTgKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAi0LLQvdGD0YLRgNC10L3QvdGP0Y8g0L7RiNC40LHQutCwIgorCisjOiBhcHBseS5jOjQ1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIgorbXNnaWRfcGx1cmFsICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3RzLi4uIgorbXNnc3RyWzBdICLQn9GA0LjQvNC10L3QtdC90LjQtSDQv9Cw0YLRh9CwICUlcyDRgSAlZCDQvtGC0LrQsNC30L7QvOKApiIKK21zZ3N0clsxXSAi0J/RgNC40LzQtdC90LXQvdC40LUg0L/QsNGC0YfQsCAlJXMg0YEgJWQg0L7RgtC60LDQt9Cw0LzQuOKApiIKK21zZ3N0clsyXSAi0J/RgNC40LzQtdC90LXQvdC40LUg0L/QsNGC0YfQsCAlJXMg0YEgJWQg0L7RgtC60LDQt9Cw0LzQuOKApiIKK21zZ3N0clszXSAi0J/RgNC40LzQtdC90LXQvdC40LUg0L/QsNGC0YfQsCAlJXMg0YEgJWQg0L7RgtC60LDQt9Cw0LzQuOKApiIKKworIzogYXBwbHkuYzo0NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKK21zZ3N0ciAi0YPRgdC10YfQtdC90LjQtSDQuNC80LXQvdC4IC5yZWog0YTQsNC50LvQsCDQtNC+ICUuKnMucmVqIgorCisjOiBhcHBseS5jOjQ1NDAgYnVpbHRpbi9mZXRjaC5jOjc0MCBidWlsdGluL2ZldGNoLmM6OTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMICVzIgorCisjOiBhcHBseS5jOjQ1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKK21zZ3N0ciAi0JHQu9C+0Log4oSWJWQg0L/RgNC40LzQtdC90LXQvSDQsdC10Lcg0L7RiNC40LHQvtC6LiIKKworIzogYXBwbHkuYzo0NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKK21zZ3N0ciAi0JHQu9C+0Log4oSWJWQg0L7RgtC60LvQvtC90LXQvS4iCisKKyM6IGFwcGx5LmM6NDY2OAorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGVkIHBhdGNoICclcycuIgorbXNnc3RyICLQn9Cw0YLRhyDCqyVzwrsg0L/RgNC+0L/Rg9GJ0LXQvS4iCisKKyM6IGFwcGx5LmM6NDY3NgorbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKK21zZ3N0ciAi0L3QtSDRgNCw0YHQv9C+0LfQvdCw0L3QvdGL0Lkg0LLQstC+0LQiCisKKyM6IGFwcGx5LmM6NDY5NQorbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGE0LDQudC7INC40L3QtNC10LrRgdCwIgorCisjOiBhcHBseS5jOjQ4MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgb3BlbiBwYXRjaCAnJXMnOiAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDQv9Cw0YLRhyDCqyVzwrs6ICVzIgorCisjOiBhcHBseS5jOjQ4NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCittc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKK21zZ3N0clswXSAi0L/RgNC+0L/Rg9GJ0LXQvdCwICVkINC+0YjQuNCx0LrQsCDQsiDQv9GA0L7QsdC10LvRjNC90YvRhSDRgdC40LzQstC+0LvQsNGFIgorbXNnc3RyWzFdICLQv9GA0L7Qv9GD0YnQtdC90L4gJWQg0L7RiNC40LHQutC4INCyINC/0YDQvtCx0LXQu9GM0L3Ri9GFINGB0LjQvNCy0L7Qu9Cw0YUiCittc2dzdHJbMl0gItC/0YDQvtC/0YPRidC10L3QviAlZCDQvtGI0LjQsdC+0Log0LIg0L/RgNC+0LHQtdC70YzQvdGL0YUg0YHQuNC80LLQvtC70LDRhSIKK21zZ3N0clszXSAi0L/RgNC+0L/Rg9GJ0LXQvdC+ICVkINC+0YjQuNCx0L7QuiDQsiDQv9GA0L7QsdC10LvRjNC90YvRhSDRgdC40LzQstC+0LvQsNGFIgorCisjOiBhcHBseS5jOjQ4NjQgYXBwbHkuYzo0ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGxpbmUgYWRkcyB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFkZCB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dzdHJbMF0gIiVkINGB0YLRgNC+0LrQsCDQtNC+0LHQsNCy0LjQu9CwINC+0YjQuNCx0LrQuCDQsiDQv9GA0L7QsdC10LvRjNC90YvRhSDRgdC40LzQstC+0LvQsNGFLiIKK21zZ3N0clsxXSAiJWQg0YHRgtGA0L7QutC4INC00L7QsdCw0LLQuNC70Lgg0L7RiNC40LHQutC4INCyINC/0YDQvtCx0LXQu9GM0L3Ri9GFINGB0LjQvNCy0L7Qu9Cw0YUuIgorbXNnc3RyWzJdICIlZCDRgdGC0YDQvtC6INC00L7QsdCw0LLQuNC70Lgg0L7RiNC40LHQutC4INCyINC/0YDQvtCx0LXQu9GM0L3Ri9GFINGB0LjQvNCy0L7Qu9Cw0YUuIgorbXNnc3RyWzNdICIlZCDRgdGC0YDQvtC6INC00L7QsdCw0LLQuNC70Lgg0L7RiNC40LHQutC4INCyINC/0YDQvtCx0LXQu9GM0L3Ri9GFINGB0LjQvNCy0L7Qu9Cw0YUuIgorCisjOiBhcHBseS5jOjQ4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgbGluZSBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ3N0clswXSAiJWQg0YHRgtGA0L7QutCwINC00L7QsdCw0LLQu9C10L3QsCDQv9C+0YHQu9C1INC40YHQv9GA0LDQstC70LXQvdC40Y8g0L7RiNC40LHQvtC6INCyINC/0YDQvtCx0LXQu9Cw0YUuIgorbXNnc3RyWzFdICIlZCDRgdGC0YDQvtC60Lgg0LTQvtCx0LDQstC70LXQvdC+INC/0L7RgdC70LUg0LjRgdC/0YDQsNCy0LvQtdC90LjRjyDQvtGI0LjQsdC+0Log0LIg0L/RgNC+0LHQtdC70LDRhS4iCittc2dzdHJbMl0gIiVkINGB0YLRgNC+0Log0LTQvtCx0LDQstC70LXQvdC+INC/0L7RgdC70LUg0LjRgdC/0YDQsNCy0LvQtdC90LjRjyDQvtGI0LjQsdC+0Log0LIg0L/RgNC+0LHQtdC70LDRhS4iCittc2dzdHJbM10gIiVkINGB0YLRgNC+0LrQuCDQtNC+0LHQsNCy0LvQtdC90L4g0L/QvtGB0LvQtSDQuNGB0L/RgNCw0LLQu9C10L3QuNGPINC+0YjQuNCx0L7QuiDQsiDQv9GA0L7QsdC10LvQsNGFLiIKKworIzogYXBwbHkuYzo0ODg4IGJ1aWx0aW4vYWRkLmM6NDYzIGJ1aWx0aW4vbXYuYzoyODYgYnVpbHRpbi9ybS5jOjQzMQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC90L7QstGL0Lkg0YTQsNC50Lsg0LjQvdC00LXQutGB0LAiCisKKyM6IGFwcGx5LmM6NDkxOSBhcHBseS5jOjQ5MjIgYnVpbHRpbi9hbS5jOjIyNzcgYnVpbHRpbi9hbS5jOjIyODAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NSBidWlsdGluL2ZldGNoLmM6OTggYnVpbHRpbi9wdWxsLmM6MTgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjgxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1ODkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ3Cittc2dpZCAicGF0aCIKK21zZ3N0ciAi0L/Rg9GC0YwiCisKKyM6IGFwcGx5LmM6NDkyMAorbXNnaWQgImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCittc2dzdHIgItC90LUg0L/RgNC40LzQtdC90Y/RgtGMINC40LfQvNC10L3QtdC90LjRjyDQv9C+INGD0LrQsNC30LDQvdC90L7QvNGDINC/0YPRgtC4IgorCisjOiBhcHBseS5jOjQ5MjMKK21zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgorbXNnc3RyICLQv9GA0LjQvNC10L3Rj9GC0Ywg0LjQt9C80LXQvdC10L3QuNGPINC/0L4g0YPQutCw0LfQsNC90L3QvtC80YMg0L/Rg9GC0LgiCisKKyM6IGFwcGx5LmM6NDkyNSBidWlsdGluL2FtLmM6MjI4NgorbXNnaWQgIm51bSIKK21zZ3N0ciAi0LrQvtC70LjRh9C10YHRgtCy0L4iCisKKyM6IGFwcGx5LmM6NDkyNgorbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgorbXNnc3RyICLRg9C00LDQu9C40YLRjCA80LrQvtC70LjRh9C10YHRgtCy0L4+INCy0LXQtNGD0YnQuNGFINC60L7RgdGL0YUg0YfQtdGA0YIg0LjQtyDRgtGA0LDQtNC40YbQuNC+0L3QvdGL0YUg0L/Rg9GC0LXQuSDRgdC/0LjRgdC60LAg0LjQt9C80LXQvdC10L3QuNC5IgorCisjOiBhcHBseS5jOjQ5MjkKK21zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgorbXNnc3RyICLQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0LTQvtCx0LDQstC70LXQvdC40Y8sINGB0LTQtdC70LDQvdC90YvQtSDRjdGC0LjQvCDQv9Cw0YLRh9C10LwiCisKKyM6IGFwcGx5LmM6NDkzMQorbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKK21zZ3N0ciAi0LLQvNC10YHRgtC+INC/0YDQuNC80LXQvdC10L3QuNGPINC/0LDRgtGH0LAg0LLRi9Cy0LXRgdGC0Lgg0YHRgtCw0YLQuNGB0YLQuNC60YMg0LTQvtCx0LDQstC70LXQvdC40Lkg0Lgg0YPQtNCw0LvQtdC90LjQuSDQtNC70Y8g0LLQstC+0LTQsCIKKworIzogYXBwbHkuYzo0OTM1Cittc2dpZCAic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIKK21zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQutC+0LvQuNGH0LXRgdGC0LLQviDQtNC+0LHQsNCy0LvQtdC90L3Ri9GFINC4INGD0LTQsNC70LXQvdC90YvRhSDRgdGC0YDQvtC6INCyINC00LXRgdGP0YLQuNGH0L3QvtC8INC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC4IgorCisjOiBhcHBseS5jOjQ5MzcKK21zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgorbXNnc3RyICLQstC80LXRgdGC0L4g0L/RgNC40LzQtdC90LXQvdC40Y8g0L/QsNGC0YfQsCDQstGL0LLQtdGB0YLQuCDRgdGC0LDRgtC40YHRgtC40LrRgyDQuNC30LzQtdC90LXQvdC40Lkg0LTQu9GPINCy0LLQvtC00LAiCisKKyM6IGFwcGx5LmM6NDkzOQorbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCittc2dzdHIgItCy0LzQtdGB0YLQviDQv9GA0LjQvNC10L3QtdC90LjRjyDQv9Cw0YLRh9CwINC/0YDQvtCy0LXRgNC40YLRjCDQv9C+0LTRhdC+0LTQuNGCINC70Lgg0L7QvSIKKworIzogYXBwbHkuYzo0OTQxCittc2dpZCAibWFrZSBzdXJlIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBjdXJyZW50IGluZGV4IgorbXNnc3RyICLQv9GA0L7QstC10YDQuNGC0YwsINGH0YLQviDQv9Cw0YLRhyDQv9GA0LjQvNC10L3Rj9C10YLRgdGPINC6INGC0LXQutGD0YnQtdC80YMg0LjQvdC00LXQutGB0YMiCisKKyM6IGFwcGx5LmM6NDk0MworbXNnaWQgImFwcGx5IGEgcGF0Y2ggd2l0aG91dCB0b3VjaGluZyB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICLQv9GA0LjQvNC10L3QuNGC0Ywg0L/QsNGC0YcsINC90LUg0LjQt9C80LXQvdGP0Y8g0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMiCisKKyM6IGFwcGx5LmM6NDk0NQorbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCittc2dzdHIgItC/0YDQuNC90Y/RgtGMINC/0LDRgtGHLCDQutC+0YLQvtGA0YvQuSDQt9Cw0YLRgNCw0LPQuNCy0LDQtdGCINGE0LDQudC70Ysg0LfQsCDRgNCw0LHQvtGH0LjQvCDQutCw0YLQsNC70L7Qs9C+0LwiCisKKyM6IGFwcGx5LmM6NDk0NworbXNnaWQgImFsc28gYXBwbHkgdGhlIHBhdGNoICh1c2Ugd2l0aCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgorbXNnc3RyICLQsCDRgtCw0LrQttC1INC/0YDQuNC80LXQvdC40YLRjCDQv9Cw0YLRhyAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRgSAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgorCisjOiBhcHBseS5jOjQ5NDkKK21zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICLQv9C+0L/Ri9GC0LDRgtGM0YHRjyDRgdC00LXQu9Cw0YLRjCDRgtGA0LXRhdGF0L7QtNC+0LLQvtC1INGB0LvQuNGP0L3QuNC1LCDQtdGB0LvQuCDQv9Cw0YLRhyDQvdC1INC/0YDQuNC80LXQvdGP0LXRgtGB0Y8iCisKKyM6IGFwcGx5LmM6NDk1MQorbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgorbXNnc3RyICLQv9C+0YHRgtGA0L7QuNGC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INC40L3QtNC10LrRgSwg0L7RgdC90L7QstCw0L3QvdGL0Lkg0L3QsCDQstGB0YLRgNC+0LXQvdC90L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQuCDQvtCxINC40L3QtNC10LrRgdC1IgorCisjOiBhcHBseS5jOjQ5NTQgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OSBidWlsdGluL2xzLWZpbGVzLmM6NTA1Cittc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgItC/0YPRgtC4LCDQvtGC0LTQtdC70ZHQvdC90YvQtSDQndCj0JvQldCS0KvQnCDRgdC40LzQstC+0LvQvtC8IgorCisjOiBhcHBseS5jOjQ5NTYKK21zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCittc2dzdHIgItGD0LTQvtGB0YLQvtCy0LXRgNC40YLRjNGB0Y8sINGH0YLQviDQv9C+INC60YDQsNC50L3QtdC5INC80LXRgNC1IDxuPiDRgdGC0YDQvtC6INC60L7QvdGC0LXQutGB0YLQsCDRgdC+0LLQv9Cw0LTQsNGO0YIiCisKKyM6IGFwcGx5LmM6NDk1NyBidWlsdGluL2FtLmM6MjI2NQorbXNnaWQgImFjdGlvbiIKK21zZ3N0ciAi0LTQtdC50YHRgtCy0LjQtSIKKworIzogYXBwbHkuYzo0OTU4Cittc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHIgItC+0L/RgNC10LTQtdC70Y/RgtGMINC90L7QstGL0LUg0LjQu9C4INC80L7QtNC40YTQuNGG0LjRgNC+0LLQsNC90L3Ri9C1INGB0YLRgNC+0LrQuCwg0YMg0LrQvtGC0L7RgNGL0YUg0LXRgdGC0Ywg0L7RiNC40LHQutC4INCyINC/0YDQvtCx0LXQu9GM0L3Ri9GFINGB0LjQvNCy0L7Qu9Cw0YUiCisKKyM6IGFwcGx5LmM6NDk2MSBhcHBseS5jOjQ5NjQKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgorbXNnc3RyICLQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINCyINC/0YDQvtCx0LXQu9GM0L3Ri9GFINGB0LjQvNCy0L7Qu9Cw0YUg0L/RgNC4INC/0L7QuNGB0LrQtSDQutC+0L3RgtC10LrRgdGC0LAiCisKKyM6IGFwcGx5LmM6NDk2NworbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgorbXNnc3RyICLQv9GA0LjQvNC10L3QuNGC0Ywg0L/QsNGC0Ycg0YEg0L7QsdGA0LDRidC10L3QuNC10Lwg0LjQt9C80LXQvdC10L3QuNC5IgorCisjOiBhcHBseS5jOjQ5NjkKK21zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKK21zZ3N0ciAi0L3QtSDQvtC20LjQtNCw0YLRjCDQutCw0Log0LzQuNC90LjQvNGD0Lwg0L7QtNC90L7QuSDRgdGC0YDQvtC60Lgg0LrQvtC90YLQtdC60YHRgtCwIgorCisjOiBhcHBseS5jOjQ5NzEKK21zZ2lkICJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIKK21zZ3N0ciAi0L7RgdGC0LDQstC40YLRjCDQvtGC0LrQu9C+0L3QtdC90L3Ri9C1INCx0LvQvtC60Lgg0LjQt9C80LXQvdC10L3QuNC5INCyINGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjRhSAqLnJlaiDRhNCw0LnQu9Cw0YUiCisKKyM6IGFwcGx5LmM6NDk3MworbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgorbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0L/QtdGA0LXQutGA0YvQstCw0Y7RidC40LXRgdGPINCx0LvQvtC60Lgg0LjQt9C80LXQvdC10L3QuNC5IgorCisjOiBhcHBseS5jOjQ5NzQgYnVpbHRpbi9hZGQuYzoyNjcgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQorIzogYnVpbHRpbi9jb21taXQuYzoxMzM5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk0IGJ1aWx0aW4vZnNjay5jOjU5MworIzogYnVpbHRpbi9sb2cuYzoxODYwIGJ1aWx0aW4vbXYuYzoxMTAgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKK21zZ2lkICJiZSB2ZXJib3NlIgorbXNnc3RyICLQsdGL0YLRjCDQvNC90L7Qs9C+0YHQu9C+0LLQvdC10LUiCisKKyM6IGFwcGx5LmM6NDk3NgorbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgorbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0L3QtdC60L7RgNGA0LXQutGC0L3QviDQvtC/0YDQtdC00LXQu9C10L3QvdGL0LUg0L/RgNC+0L/Rg9GJ0LXQvdC90YvQtSDQv9GD0YHRgtGL0LUg0YHRgtGA0L7QutC4INCyINC60L7QvdGG0LUg0YTQsNC50LvQsCIKKworIzogYXBwbHkuYzo0OTc5Cittc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgorbXNnc3RyICLQvdC1INC00L7QstC10YDRj9GC0Ywg0LrQvtC70LjRh9C10YHRgtCy0YMg0YHRgtGA0L7QuiDQuNC3INC30LDQs9C+0LvQvtCy0LrQsCDQsdC70L7QutCwINC40LfQvNC10L3QtdC90LjQuSIKKworIzogYXBwbHkuYzo0OTgxIGJ1aWx0aW4vYW0uYzoyMjc0Cittc2dpZCAicm9vdCIKK21zZ3N0ciAi0LrQvtGA0LXQvdGMIgorCisjOiBhcHBseS5jOjQ5ODIKK21zZ2lkICJwcmVwZW5kIDxyb290PiB0byBhbGwgZmlsZW5hbWVzIgorbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMIDzQutC+0YDQtdC90Yw+INGB0L/QtdGA0LXQtNC4INC60L4g0LLRgdC10Lwg0LjQvNC10L3QsNC8INGE0LDQudC70L7QsiIKKwogIzogYXJjaGl2ZS5jOjEyCiBtc2dpZCAiZ2l0IGFyY2hpdmUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgWzzQvtC/0YbQuNC4Pl0gPNGD0LrQsNC30LDRgtC10LvRjC3QtNC10YDQtdCy0LA+IFs80L/Rg9GC0Yw+4oCmXSIKQEAgLTYxLDcgKzcyMCw3IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPNGA0LXQv9C+0LfQuNGC0L7RgNC40Lk+IFstLWV4ZWMgPNC60L7QvNCw0L3QtNCwPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzQ0IGJ1aWx0aW4vYWRkLmM6MTM3IGJ1aWx0aW4vYWRkLmM6NDIwIGJ1aWx0aW4vcm0uYzozMjcKKyM6IGFyY2hpdmUuYzozNDQgYnVpbHRpbi9hZGQuYzoxNTIgYnVpbHRpbi9hZGQuYzo0NDIgYnVpbHRpbi9ybS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgogbXNnc3RyICLRgdC/0LXRhtC40YTQuNC60LDRhtC40Y8g0L/Rg9GC0Lggwqslc8K7INC90LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9C10YIg0L3QuCDQvtC00L3QvtC80YMg0YTQsNC50LvRgyIKQEAgLTc0LDcgKzczMyw3IEBACiBtc2dpZCAiYXJjaGl2ZSBmb3JtYXQiCiBtc2dzdHIgItGE0L7RgNC80LDRgiDQsNGA0YXQuNCy0LAiCiAKLSM6IGFyY2hpdmUuYzo0MzAgYnVpbHRpbi9sb2cuYzoxMzk1CisjOiBhcmNoaXZlLmM6NDMwIGJ1aWx0aW4vbG9nLmM6MTQyOQogbXNnaWQgInByZWZpeCIKIG1zZ3N0ciAi0L/RgNC10YTQuNC60YEiCiAKQEAgLTgyLDExICs3NDEsMTEgQEAKIG1zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgogbXNnc3RyICLQtNC+0LHQsNCy0LvRj9GC0Ywg0L/RgNC10YTQuNC60YEg0L/QtdGA0LXQtCDQutCw0LbQtNGL0Lwg0L/Rg9GC0LXQvCDRhNCw0LnQu9CwINCyINCw0YDRhdC40LLQtSIKIAotIzogYXJjaGl2ZS5jOjQzMiBidWlsdGluL2FyY2hpdmUuYzo4OCBidWlsdGluL2JsYW1lLmM6MjU0OAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDkgYnVpbHRpbi9jb25maWcuYzo2MCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5IGJ1aWx0aW4vZ3JlcC5jOjcyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDU5IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjIgYnVpbHRpbi9ub3Rlcy5jOjM5OAotIzogYnVpbHRpbi9ub3Rlcy5jOjU2MSBidWlsdGluL3JlYWQtdHJlZS5jOjEwOSBwYXJzZS1vcHRpb25zLmg6MTUzCisjOiBhcmNoaXZlLmM6NDMyIGJ1aWx0aW4vYmxhbWUuYzoyNjAzIGJ1aWx0aW4vYmxhbWUuYzoyNjA0IGJ1aWx0aW4vY29uZmlnLmM6NTkKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OSBidWlsdGluL2dyZXAuYzo3MjMKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEgYnVpbHRpbi9scy1maWxlcy5jOjUzOSBidWlsdGluL2xzLWZpbGVzLmM6NTQyCisjOiBidWlsdGluL25vdGVzLmM6NDAxIGJ1aWx0aW4vbm90ZXMuYzo1NjQgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDkKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNTMKIG1zZ2lkICJmaWxlIgogbXNnc3RyICLRhNCw0LnQuyIKIApAQCAtMTE4LDggKzc3Nyw4IEBACiBtc2dpZCAibGlzdCBzdXBwb3J0ZWQgYXJjaGl2ZSBmb3JtYXRzIgogbXNnc3RyICLQv9C10YDQtdGH0LjRgdC70LjRgtGMINC/0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0LUg0YTQvtGA0LzQsNGC0Ysg0LDRgNGF0LjQstC+0LIiCiAKLSM6IGFyY2hpdmUuYzo0NTEgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjgyCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc2CisjOiBhcmNoaXZlLmM6NDUxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NSBidWlsdGluL2Nsb25lLmM6ODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MwogbXNnaWQgInJlcG8iCiBtc2dzdHIgItGA0LXQv9C+0LfQuNGC0L7RgNC40LkiCiAKQEAgLTEyNyw3ICs3ODYsNyBAQAogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINCw0YDRhdC40LIg0LjQtyDQstC90LXRiNC90LXQs9C+IDzRgNC10L/QvtC30LjRgtC+0YDQuNGPPiIKIAotIzogYXJjaGl2ZS5jOjQ1MyBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDgyCisjOiBhcmNoaXZlLmM6NDUzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODUKIG1zZ2lkICJjb21tYW5kIgogbXNnc3RyICLQutC+0LzQsNC90LTQsCIKIApAQCAtMTM1LDEyICs3OTQsMTQ3IEBACiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICLQv9GD0YLRjCDQuiDQutC+0LzQsNC90LTQtSBnaXQtdXBsb2FkLWFyY2hpdmUg0L3QsCDQvNCw0YjQuNC90LUg0YEg0LLQvdC10YjQvdC40Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdC8IgogCisjOiBhcmNoaXZlLmM6NDYxCittc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiCittc2dzdHIgItCd0LXQvtC20LjQtNCw0L3QvdCw0Y8g0L7Qv9GG0LjRjyAtLXJlbW90ZSIKKworIzogYXJjaGl2ZS5jOjQ2MworbXNnaWQgIk9wdGlvbiAtLWV4ZWMgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tcmVtb3RlIgorbXNnc3RyICLQntC/0YbQuNGPIC0tZXhlYyDQvNC+0LbQtdGCINC40YHQv9C+0LvRjNC30L7QstCw0YLRjNGB0Y8g0YLQvtC70YzQutC+INCy0LzQtdGB0YLQtSDRgSAtLXJlbW90ZSIKKworIzogYXJjaGl2ZS5jOjQ2NQorbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tb3V0cHV0IgorbXNnc3RyICLQndC10L7QttC40LTQsNC90L3QsNGPINC+0L/RhtC40Y8gLS1vdXRwdXQiCisKKyM6IGFyY2hpdmUuYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBhcmNoaXZlIGZvcm1hdCAnJXMnIgorbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0L3Ri9C5INGE0L7RgNC80LDRgiDQsNGA0YXQuNCy0LAgwqslc8K7IgorCisjOiBhcmNoaXZlLmM6NDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkFyZ3VtZW50IG5vdCBzdXBwb3J0ZWQgZm9yIGZvcm1hdCAnJXMnOiAtJWQiCittc2dzdHIgItCQ0YDQs9GD0LzQtdC90YIg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPINC00LvRjyDRhNC+0YDQvNCw0YLQsCDCqyVzwrs6IC0lZCIKKwogIzogYXR0ci5jOjI2MwogbXNnaWQgIiIKICJOZWdhdGl2ZSBwYXR0ZXJucyBhcmUgaWdub3JlZCBpbiBnaXQgYXR0cmlidXRlc1xuIgogIlVzZSAnXFwhJyBmb3IgbGl0ZXJhbCBsZWFkaW5nIGV4Y2xhbWF0aW9uLiIKIG1zZ3N0ciAi0J7RgtGA0LjRhtCw0Y7RidC40LUg0YjQsNCx0LvQvtC90Ysg0LIg0LDRgtGA0LjQsdGD0YLQsNGFIGdpdCDQuNCz0L3QvtGA0LjRgNGD0Y7RgtGB0Y8uXG7QmNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrXFwhwrsg0LTQu9GPINCx0YPQutCy0LDQu9GM0L3QvtCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0YHQuNC80LLQvtC70LAg0LIg0LfQvdCw0YfQtdC90LjQuCDCq9Cy0L7RgdC60LvQuNGG0LDRgtC10LvRjNC90YvQuSDQt9C90LDQusK7LiIKIAorIzogYmlzZWN0LmM6NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgJyVzJyIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDRhNCw0LnQuyDCqyVzwrsiCisKKyM6IGJpc2VjdC5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJCYWRseSBxdW90ZWQgY29udGVudCBpbiBmaWxlICclcyc6ICVzIgorbXNnc3RyICLQn9C70L7RhdC+0LUg0YHQvtC00LXRgNC20LjQvNC+0LUg0YTQsNC50LvQsCDCqyVzwrs6ICVzIgorCisjOiBiaXNlY3QuYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2UgY2Fubm90IGJpc2VjdCBtb3JlIVxuIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9GA0L7QtNC+0LvQttC40YLRjCDQsdC40L3QsNGA0L3Ri9C5INC/0L7QuNGB0LohXG4iCisKKyM6IGJpc2VjdC5jOjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYSB2YWxpZCBjb21taXQgbmFtZSAlcyIKK21zZ3N0ciAi0J3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INC40LzRjyDQutC+0LzQvNC40YLQsCAlcyIKKworIzogYmlzZWN0LmM6NzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBiYWQuXG4iCisiVGhpcyBtZWFucyB0aGUgYnVnIGhhcyBiZWVuIGZpeGVkIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgItCR0LDQt9CwINGB0LvQuNGP0L3QuNGPICVzINGP0LLQu9GP0LXRgtGB0Y8g0L/Qu9C+0YXQuNC8INC60L7QvNC80LjRgtC+0LwuXG7QrdGC0L4g0LfQvdCw0YfQuNGCLCDRh9GC0L4g0L7RiNC40LHQutCwINCx0YvQu9CwINC40YHQv9GA0LDQstC70LXQvdCwINCz0LTQtS3RgtC+INC80LXQttC00YMgJXMg0LggWyVzXS5cbiIKKworIzogYmlzZWN0LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBuZXcuXG4iCisiVGhlIHByb3BlcnR5IGhhcyBjaGFuZ2VkIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgItCR0LDQt9CwINGB0LvQuNGP0L3QuNGPICVzINGP0LLQu9GP0LXRgtGB0Y8g0L3QvtCy0L7QuS5cbtCh0LLQvtC50YHRgtCy0L4g0LHRi9C70L4g0LjQt9C80LXQvdC10L3QviDQs9C00LUt0YLQviDQvNC10LbQtNGDICVzINC4IFslc10uXG4iCisKKyM6IGJpc2VjdC5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIG1lcmdlIGJhc2UgJXMgaXMgJXMuXG4iCisiVGhpcyBtZWFucyB0aGUgZmlyc3QgJyVzJyBjb21taXQgaXMgYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIKK21zZ3N0ciAi0JHQsNC30LAg0YHQu9C40Y/QvdC40Y8gJXMg0Y/QstC70Y/QtdGC0YHRjyAlcy5cbtCt0YLQviDQt9C90LDRh9C40YIsINGH0YLQviDCqyVzwrsg0LrQvtC80LzQuNGCINC90LDRhdC+0LTQuNGC0YHRjyDQs9C00LUt0YLQviDQvNC10LbQtNGDICVzINC4IFslc10uXG4iCisKKyM6IGJpc2VjdC5jOjc1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiU29tZSAlcyByZXZzIGFyZSBub3QgYW5jZXN0b3Igb2YgdGhlICVzIHJldi5cbiIKKyJnaXQgYmlzZWN0IGNhbm5vdCB3b3JrIHByb3Blcmx5IGluIHRoaXMgY2FzZS5cbiIKKyJNYXliZSB5b3UgbWlzdG9vayAlcyBhbmQgJXMgcmV2cz9cbiIKK21zZ3N0ciAi0J3QtdGB0LrQvtC70YzQutC+ICVzINC60L7QvNC80LjRgtC+0LIg0L3QtSDRj9Cy0LvRj9GO0YLRgdGPINC/0YDQtdC00LrQsNC80LggJXMg0LrQvtC80LzQuNGC0LAuXG7QkiDRjdGC0L7QvCDRgdC70YPRh9Cw0LUgZ2l0IGJpc2VjdCDQvdC1INC80L7QttC10YIg0YDQsNCx0L7RgtCw0YLRjCDQv9GA0LDQstC40LvRjNC90L4uXG7QktC+0LfQvNC+0LbQvdC+LCDQstGLINC/0LXRgNC10L/Rg9GC0LDQu9C4INGA0LXQtNCw0LrRhtC40LggJXMg0LggJXMg0LzQtdGB0YLQsNC80Lg/XG4iCisKKyM6IGJpc2VjdC5jOjc2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIG1lcmdlIGJhc2UgYmV0d2VlbiAlcyBhbmQgWyVzXSBtdXN0IGJlIHNraXBwZWQuXG4iCisiU28gd2UgY2Fubm90IGJlIHN1cmUgdGhlIGZpcnN0ICVzIGNvbW1pdCBpcyBiZXR3ZWVuICVzIGFuZCAlcy5cbiIKKyJXZSBjb250aW51ZSBhbnl3YXkuIgorbXNnc3RyICLQkdCw0LfQsCDRgdC70LjRj9C90LjRjyDQvNC10LbQtNGDICVzINC4IFslc10g0LTQvtC70LbQvdC+INCx0YvRgtGMINC/0YDQvtC/0YPRidC10L3QsC5cbtCf0L7RjdGC0L7QvNGDINC80Ysg0L3QtSDQvNC+0LbQtdC8INCx0YvRgtGMINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0L/QtdGA0LLRi9C5ICVzINC60L7QvNC80LjRgiDQvdCw0YXQvtC00LjRgtGB0Y8g0LzQtdC20LTRgyAlcyDQuCAlcy5cbtCd0L4g0LLRgdC1INC20LUg0L/RgNC+0LTQvtC70LbQsNC10Lwg0L/QvtC40YHQui4iCisKKyM6IGJpc2VjdC5jOjc5OAorIywgYy1mb3JtYXQKK21zZ2lkICJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIgorbXNnc3RyICLQkdC40L3QsNGA0L3Ri9C5INC/0L7QuNGB0Lo6INCx0LDQt9CwINGB0LvQuNGP0L3QuNGPINC00L7Qu9C20L3QsCDQsdGL0YLRjCDQv9GA0L7QstC10YDQtdC90LBcbiIKKworIzogYmlzZWN0LmM6ODQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImEgJXMgcmV2aXNpb24gaXMgbmVlZGVkIgorbXNnc3RyICLQvdGD0LbQvdC+INGD0LrQsNC30LDRgtGMICVzINGA0LXQtNCw0LrRhtC40Y4iCisKKyM6IGJpc2VjdC5jOjg2NiBidWlsdGluL25vdGVzLmM6MTc0IGJ1aWx0aW4vdGFnLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGE0LDQudC7IMKrJXPCuyIKKworIzogYmlzZWN0LmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGZpbGUgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YTQsNC50Lsgwqslc8K7IgorCisjOiBiaXNlY3QuYzo5NDcKK21zZ2lkICJyZWFkaW5nIGJpc2VjdCByZWZzIGZhaWxlZCIKK21zZ3N0ciAi0YHQsdC+0Lkg0L/RgNC4INGH0YLQtdC90LjQuCDRgdGB0YvQu9C+0Log0LTQstC+0LjRh9C90L7Qs9C+INC/0L7QuNGB0LrQsCIKKworIzogYmlzZWN0LmM6OTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHdhcyBib3RoICVzIGFuZCAlc1xuIgorbXNnc3RyICIlcyDQsdGL0LvQsCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0LggJXMg0LggJXNcbiIKKworIzogYmlzZWN0LmM6OTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJObyB0ZXN0YWJsZSBjb21taXQgZm91bmQuXG4iCisiTWF5YmUgeW91IHN0YXJ0ZWQgd2l0aCBiYWQgcGF0aCBwYXJhbWV0ZXJzP1xuIgorbXNnc3RyICLQotC10YHRgtC40YDRg9C10LzRi9C5INC60L7QvNC80LjRgiDQvdC1INC90LDQudC00LXQvS5cbtCS0L7Qt9C80L7QttC90L4sINCy0Ysg0L3QsNGH0LDQu9C4INC/0L7QuNGB0Log0YEg0YPQutCw0LfQsNC90LjQtdC8INC90LXQv9GA0LDQstC40LvRjNC90L7Qs9C+INC/0LDRgNCw0LzQtdGC0YDQsCDQv9GD0YLQuD9cbiIKKworIzogYmlzZWN0LmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIihyb3VnaGx5ICVkIHN0ZXApIgorbXNnaWRfcGx1cmFsICIocm91Z2hseSAlZCBzdGVwcykiCittc2dzdHJbMF0gIijQv9GA0LjQvNC10YDQvdC+ICVkINGI0LDQsykiCittc2dzdHJbMV0gIijQv9GA0LjQvNC10YDQvdC+ICVkINGI0LDQs9CwKSIKK21zZ3N0clsyXSAiKNC/0YDQuNC80LXRgNC90L4gJWQg0YjQsNCz0L7QsikiCittc2dzdHJbM10gIijQv9GA0LjQvNC10YDQvdC+ICVkINGI0LDQs9C+0LIpIgorCisjLiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoCisjLiAiKHJvdWdobHkgJWQgc3RlcHMpIiB0cmFuc2xhdGlvbgorIzogYmlzZWN0LmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJpc2VjdGluZzogJWQgcmV2aXNpb24gbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKK21zZ2lkX3BsdXJhbCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKK21zZ3N0clswXSAi0JHQuNC90LDRgNC90YvQuSDQv9C+0LjRgdC6OiAlZCDRgNC10LTQsNC60YbQuNGOINC+0YHRgtCw0LvQvtGB0Ywg0L/RgNC+0LLQtdGA0LjRgtGMINC/0L7RgdC70LUg0Y3RgtC+0LkgJXNcbiIKK21zZ3N0clsxXSAi0JHQuNC90LDRgNC90YvQuSDQv9C+0LjRgdC6OiAlZCDRgNC10LTQsNC60YbQuNC4INC+0YHRgtCw0LvQvtGB0Ywg0L/RgNC+0LLQtdGA0LjRgtGMINC/0L7RgdC70LUg0Y3RgtC+0LkgJXNcbiIKK21zZ3N0clsyXSAi0JHQuNC90LDRgNC90YvQuSDQv9C+0LjRgdC6OiAlZCDRgNC10LTQsNC60YbQuNC5INC+0YHRgtCw0LvQvtGB0Ywg0L/RgNC+0LLQtdGA0LjRgtGMINC/0L7RgdC70LUg0Y3RgtC+0LkgJXNcbiIKK21zZ3N0clszXSAi0JHQuNC90LDRgNC90YvQuSDQv9C+0LjRgdC6OiAlZCDRgNC10LTQsNC60YbQuNC5INC+0YHRgtCw0LvQvtGB0Ywg0L/RgNC+0LLQtdGA0LjRgtGMINC/0L7RgdC70LUg0Y3RgtC+0LkgJXNcbiIKKwogIzogYnJhbmNoLmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgpAQCAtMjQxLDI3ICsxMDM1LDI3IEBACiAiXCJnaXQgcHVzaCAtdVwiIHRvIHNldCB0aGUgdXBzdHJlYW0gY29uZmlnIGFzIHlvdSBwdXNoLiIKIG1zZ3N0ciAiXG7QldGB0LvQuCDQstGLINC/0LvQsNC90LjRgNGD0LXRgtC1INC+0YHQvdC+0LLRi9Cy0LDRgtGMINGB0LLQvtGOINGA0LDQsdC+0YLRgyDQvdCwINCy0YvRiNC10YHRgtC+0Y/RidC10Lkg0LLQtdGC0LrQtSwg0LrQvtGC0L7RgNCw0Y8g0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCINCy0L4g0LLQvdC10YjQvdC10Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCwg0LLQsNC8INC80L7QttC10YIg0L/QvtGC0YDQtdCx0L7QstCw0YLRjNGB0Y8g0LfQsNC/0YPRgdGC0LjRgtGMIMKrZ2l0IGZldGNowrsg0LTQu9GPINC10LUg0L/QvtC70YPRh9C10L3QuNGPLlxuXG7QldGB0LvQuCDQstGLINC/0LvQsNC90LjRgNGD0LXRgtC1INC+0YLQv9GA0LDQstC40YLRjCDQvdC+0LLRg9GOINC70L7QutCw0LvRjNC90YPRjiDQstC10YLQutGDLCDQutC+0YLQvtGA0LDRjyDQsdGD0LTQtdGCINC+0YLRgdC70LXQttC40LLQsNGC0YzRgdGPLCDQstC+INCy0L3QtdGI0L3QuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LksINCy0LDQvCDQvNC+0LbQtdGCINC/0L7RgtGA0LXQsdC+0LLQsNGC0YzRgdGPINC30LDQv9GD0YHRgtC40YLRjCDCq2dpdCBwdXNoIC11wrsg4oCUINGH0YLQvtCx0Ysg0YHQvtGF0YDQsNC90LjRgtGMINC90LDRgdGC0YDQvtC50LrRgyDQstGL0YjQtdGB0YLQvtGP0YnQtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyDQtNC70Y8g0L7RgtC/0YDQsNCy0LrQuC4iCiAKLSM6IGJyYW5jaC5jOjI2NgorIzogYnJhbmNoLmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAi0J3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INC40LzRjyDQvtCx0YrQtdC60YLQsDogwqslc8K7LiIKIAotIzogYnJhbmNoLmM6Mjg2CisjOiBicmFuY2guYzoyODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQW1iaWd1b3VzIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAi0J3QtdC+0LTQvdC+0LfQvdCw0YfQvdC+0LUg0LjQvNGPINC+0LHRitC10LrRgtCwOiDCqyVzwrsuIgogCi0jOiBicmFuY2guYzoyOTEKKyM6IGJyYW5jaC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICLQndC10LTQvtC/0YPRgdGC0LjQvNCw0Y8g0YLQvtGH0LrQsCDQstC10YLQutC4OiDCqyVzwrsuIgogCi0jOiBicmFuY2guYzozNDUKKyM6IGJyYW5jaC5jOjM0NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiwqslc8K7INGD0LbQtSDQvdCw0YXQvtC00LjRgtGB0Y8g0L3QsCDCqyVzwrsiCiAKLSM6IGJyYW5jaC5jOjM2NAorIzogYnJhbmNoLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgb2Ygd29ya2luZyB0cmVlICVzIGlzIG5vdCB1cGRhdGVkIgogbXNnc3RyICJIRUFEINGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCAlcyDQvdC1INC+0LHQvdC+0LLQu9GR0L0iCkBAIC0yNzYsNyArMTA3MCw3IEBACiBtc2dpZCAidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIgogbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdGL0Lkg0LfQsNCz0L7Qu9C+0LLQvtC6OiAlcyVzICglZCkiCiAKLSM6IGJ1bmRsZS5jOjg3IGJ1aWx0aW4vY29tbWl0LmM6Nzc3CisjOiBidW5kbGUuYzo4NyBzZXF1ZW5jZXIuYzo5NjMgYnVpbHRpbi9jb21taXQuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDCqyVzwrsiCkBAIC0yODUsMTAgKzEwNzksMTAgQEAKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKIG1zZ3N0ciAi0JIg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCDQvtGC0YHRg9GC0YHRgtCy0YPRjtGCINC90LXQvtCx0YXQvtC00LjQvNGL0LUg0LrQvtC80LzQuNGC0Ys6IgogCi0jOiBidW5kbGUuYzoxNjMgcmVmLWZpbHRlci5jOjE0NjIgc2VxdWVuY2VyLmM6NjI3IHNlcXVlbmNlci5jOjEwNzMKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNzU1IGJ1aWx0aW4vY29tbWl0LmM6MTA1NiBidWlsdGluL2xvZy5jOjM0MAotIzogYnVpbHRpbi9sb2cuYzo4NjMgYnVpbHRpbi9sb2cuYzoxMzA4IGJ1aWx0aW4vbG9nLmM6MTYzMyBidWlsdGluL2xvZy5jOjE4NzUKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNjEgYnVpbHRpbi9zaG9ydGxvZy5jOjE3MAorIzogYnVuZGxlLmM6MTYzIHJlZi1maWx0ZXIuYzoxNDYyIHNlcXVlbmNlci5jOjgzMCBzZXF1ZW5jZXIuYzoxMzc0CisjOiBidWlsdGluL2JsYW1lLmM6MjgxNCBidWlsdGluL2NvbW1pdC5jOjEwNjEgYnVpbHRpbi9sb2cuYzozNDgKKyM6IGJ1aWx0aW4vbG9nLmM6ODkwIGJ1aWx0aW4vbG9nLmM6MTM0MCBidWlsdGluL2xvZy5jOjE2NjYgYnVpbHRpbi9sb2cuYzoxOTA5CisjOiBidWlsdGluL21lcmdlLmM6MzU2IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNzAKIG1zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Lgg0L/RgNC+0YXQvtC00LAg0L/QviDRgNC10LTQsNC60YbQuNGP0LwiCiAKQEAgLTMzMSw3ICsxMTI1LDcgQEAKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAi0YHRgdGL0LvQutCwIMKrJXPCuyDQuNGB0LrQu9GO0YfQtdC90LAg0LIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNC4INGBINC+0L/RhtC40Y/QvNC4IHJldi1saXN0IgogCi0jOiBidW5kbGUuYzo0NDMgYnVpbHRpbi9sb2cuYzoxNjMgYnVpbHRpbi9sb2cuYzoxNTM4IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKKyM6IGJ1bmRsZS5jOjQ0MyBidWlsdGluL2xvZy5jOjE2NSBidWlsdGluL2xvZy5jOjE1NzIgYnVpbHRpbi9zaG9ydGxvZy5jOjI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdGL0Lkg0LDRgNCz0YPQvNC10L3RgjogJXMiCkBAIC0zNDksMTMgKzExNDMsMTMgQEAKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCiBtc2dzdHIgItC60YDQuNGC0LjRh9C10YHQutCw0Y8g0L7RiNC40LHQutCwIGluZGV4LXBhY2siCiAKLSM6IGNvbG9yLmM6Mjc1CisjOiBjb2xvci5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbG9yIHZhbHVlOiAlLipzIgogbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0LfQvdCw0YfQtdC90LjQtSDRhtCy0LXRgtCwOiAlLipzIgogCi0jOiBjb21taXQuYzo0MCBidWlsdGluL2FtLmM6NDM3IGJ1aWx0aW4vYW0uYzo0NzMgYnVpbHRpbi9hbS5jOjE1MDQKLSM6IGJ1aWx0aW4vYW0uYzoyMTM0CisjOiBjb21taXQuYzo0MCBidWlsdGluL2FtLmM6NDIxIGJ1aWx0aW4vYW0uYzo0NTcgYnVpbHRpbi9hbS5jOjE0OTMKKyM6IGJ1aWx0aW4vYW0uYzoyMTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0YwgJXMiCkBAIC0zNjUsOTAgKzExNTksMTk1IEBACiBtc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiJXMgJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60L7QvNC80LjRgtC+0LwhIgogCisjOiBjb21taXQuYzoxNTE0Cittc2dpZCAiIgorIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKKyJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgorInZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgdG8gdGhlIGVuY29kaW5nIHlvdXIgcHJvamVjdCB1c2VzLlxuIgorbXNnc3RyICLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0L3QtSDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0LXRgiBVVEYtOC5cbtCS0L7Qt9C80L7QttC90L4sINCy0Ysg0LfQsNGF0L7RgtC40YLQtSDQuNGB0L/RgNCw0LLQuNGC0Ywg0LXQs9C+INC/0L7RgdC70LUg0LjRgdC/0YDQsNCy0LvQtdC90LjRjyDRgdC+0L7QsdGJ0LXQvdC40Y9cbtC40LvQuCDQvdCw0YHRgtGA0L7QuNGC0Ywg0L7Qv9GG0LjRjiBpMThuLmNvbW1pdGVuY29kaW5nINC4INGD0LrQsNC30LDRgtGMINC60L7QtNC40YDQvtCy0LrRg1xu0YHQvtC+0LHRidC10L3QuNC5LCDQutC+0YLQvtGA0YPRjiDQuNGB0L/QvtC70YzQt9GD0LXRgiDQstCw0Ygg0L/RgNC+0LXQutGCLlxuIgorCiAjOiBjb21wYXQvb2JzdGFjay5jOjQwNiBjb21wYXQvb2JzdGFjay5jOjQwOAogbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCiBtc2dzdHIgItC/0LDQvNGP0YLRjCDQuNGB0YfQtdGA0L/QsNC90LAiCiAKLSM6IGNvbmZpZy5jOjQ3NSBjb25maWcuYzo0NzcKKyM6IGNvbmZpZy5jOjUxNgogIywgYy1mb3JtYXQKLW1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMgJXMiCi1tc2dzdHIgItC+0YjQuNCx0LrQsCDQsiAlZCDRgdGC0YDQvtC60LUg0YTQsNC50LvQsCDQutC+0L3RhNC40LPRg9GA0LDRhtC40Lgg0LIgJXMgJXMiCittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQsiAlZCDRgdGC0YDQvtC60LUg0LTQstC+0LjRh9C90L7Qs9C+INC+0LHRitC10LrRgtCwICVzIgogCi0jOiBjb25maWcuYzo1OTMKKyM6IGNvbmZpZy5jOjUyMAogIywgYy1mb3JtYXQKLW1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlcyAlczogJXMiCi1tc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDRh9C40YHQu9C+0LLQvtC1INC30L3QsNGH0LXQvdC40LUgwqslc8K7INC00LvRjyDCqyVzwrsg0LIgJXMgJXM6ICVzIgorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBmaWxlICVzIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0LIgJWQg0YHRgtGA0L7QutC1INGE0LDQudC70LAgJXMiCiAKLSM6IGNvbmZpZy5jOjU5NQorIzogY29uZmlnLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAi0L7RiNC40LHQutCwINCyICVkINGB0YLRgNC+0LrQtSDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCIKKworIzogY29uZmlnLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdWJtb2R1bGUtYmxvYiAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwINCyICVkINGB0YLRgNC+0LrQtSDQtNCy0L7QuNGH0L3QvtCz0L4g0L7QsdGK0LXQutGC0LAg0L/QvtC00LzQvtC00YPQu9GPICVzIgorCisjOiBjb25maWcuYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGNvbW1hbmQgbGluZSAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwINCyICVkINGB0YLRgNC+0LrQtSDQutC+0LzQvNCw0L3QtNC90L7QuSDRgdGC0YDQvtC60LggJXMiCisKKyM6IGNvbmZpZy5jOjUzNgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQsiAlZCDRgdGC0YDQvtC60LUg0LIgJXMiCisKKyM6IGNvbmZpZy5jOjY1NQorbXNnaWQgIm91dCBvZiByYW5nZSIKK21zZ3N0ciAi0LLQvdC1INC00LjQsNC/0LDQt9C+0L3QsCIKKworIzogY29uZmlnLmM6NjU1Cittc2dpZCAiaW52YWxpZCB1bml0IgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0YfQuNGB0LvQviIKKworIzogY29uZmlnLmM6NjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INGH0LjRgdC70L7QstC+0LUg0LfQvdCw0YfQtdC90LjQtSDCqyVzwrsg0LTQu9GPIMKrJXPCuzogJXMiCiAKLSM6IGNvbmZpZy5jOjY4MAorIzogY29uZmlnLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGJsb2IgJXM6ICVzIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0YfQuNGB0LvQvtCy0L7QtSDQt9C90LDRh9C10L3QuNC1IMKrJXPCuyDQtNC70Y8gwqslc8K7INCyINC00LLQvtC40YfQvdC+0Lwg0L7QsdGK0LXQutGC0LUgJXM6ICVzIgorCisjOiBjb25maWcuYzo2NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gZmlsZSAlczogJXMiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDRh9C40YHQu9C+0LLQvtC1INC30L3QsNGH0LXQvdC40LUgwqslc8K7INC00LvRjyDCqyVzwrsg0LIg0YTQsNC50LvQtSAlczogJXMiCisKKyM6IGNvbmZpZy5jOjY3MgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdGFuZGFyZCBpbnB1dDogJXMiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDRh9C40YHQu9C+0LLQvtC1INC30L3QsNGH0LXQvdC40LUgwqslc8K7INC00LvRjyDCqyVzwrsg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QvtC8INCy0LLQvtC00LU6ICVzIgorCisjOiBjb25maWcuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6ICVzIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0YfQuNGB0LvQvtCy0L7QtSDQt9C90LDRh9C10L3QuNC1IMKrJXPCuyDQtNC70Y8gwqslc8K7INCyINC00LLQvtC40YfQvdC+0Lwg0L7QsdGK0LXQutGC0LUg0L/QvtC00LzQvtC00YPQu9GPICVzOiAlcyIKKworIzogY29uZmlnLmM6Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDRh9C40YHQu9C+0LLQvtC1INC30L3QsNGH0LXQvdC40LUgwqslc8K7INC00LvRjyDCqyVzwrsg0L3QsCDQutC+0LzQvNCw0L3QtNC90L7QuSDRgdGC0YDQvtC60LUgJXM6ICVzIgorCisjOiBjb25maWcuYzo2ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gJXM6ICVzIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0YfQuNGB0LvQvtCy0L7QtSDQt9C90LDRh9C10L3QuNC1IMKrJXPCuyDQtNC70Y8gwqslc8K7INCyICVzOiAlcyIKKworIzogY29uZmlnLmM6NzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleHBhbmQgdXNlciBkaXIgaW46ICclcyciCiBtc2dzdHIgItGB0LHQvtC5INGA0LDQt9Cy0L7RgNCw0YfQuNCy0LDQvdC40Y8g0L/Rg9GC0Lgg0LrQsNGC0LDQu9C+0LPQsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y86IMKrJXPCuyIKIAotIzogY29uZmlnLmM6NzYxIGNvbmZpZy5jOjc3MgorIzogY29uZmlnLmM6ODUyIGNvbmZpZy5jOjg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgemxpYiBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGD0YDQvtCy0LXQvdGMINGB0LbQsNGC0LjRjyB6bGliICVkIgogCi0jOiBjb25maWcuYzo4OTAKKyM6IGNvbmZpZy5jOjk3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgZm9yIG9iamVjdCBjcmVhdGlvbjogJXMiCiBtc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDRgNC10LbQuNC8INGB0L7Qt9C00LDQvdC40Y8g0L7QsdGK0LXQutGC0LA6ICVzIgogCi0jOiBjb25maWcuYzoxMjI4CisjOiBjb25maWcuYzoxMzEyCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINC60L7QvdGE0LjQs9GD0YDQsNGG0LjRjiDQuNC3INC60L7QvNCw0L3QtNC90L7QuSDRgdGC0YDQvtC60LgiCiAKLSM6IGNvbmZpZy5jOjEyODQKLW1zZ2lkICJ1bmtub3duIGVycm9yIG9jY3VyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKKyM6IGNvbmZpZy5jOjEzNjIKK21zZ2lkICJ1bmtub3duIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlYWRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMiCiBtc2dzdHIgItC/0YDQvtC40LfQvtGI0LvQsCDQvdC10LjQt9Cy0LXRgdGC0L3QsNGPINC+0YjQuNCx0LrQsCDQv9GA0Lgg0YfRgtC10L3QuNC4INGE0LDQudC70L7QsiDQutC+0L3RhNC40LPRg9GA0LDRhtC40LgiCiAKLSM6IGNvbmZpZy5jOjE2MjkKKyM6IGNvbmZpZy5jOjE3MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICclcycgZnJvbSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDCqyVzwrsg0LIg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4INC40Lcg0LrQvtC80LDQvdC00L3QvtC5INGB0YLRgNC+0LrQuCIKIAotIzogY29uZmlnLmM6MTYzMQorIzogY29uZmlnLmM6MTcxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIHZhcmlhYmxlICclcycgaW4gZmlsZSAnJXMnIGF0IGxpbmUgJWQiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LDRjyDQv9C10YDQtdC80LXQvdC90LDRjyDQutC+0L3RhNC40LPRg9GA0LDRhtC40Lggwqslc8K7INCyINGE0LDQudC70LUgwqslc8K7INC90LAg0YHRgtGA0L7QutC1ICVkIgogCi0jOiBjb25maWcuYzoxNjkwCisjOiBjb25maWcuYzoxNzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBtdWx0aXBsZSB2YWx1ZXMiCiBtc2dzdHIgIiVzINC40LzQtdC10YIg0L3QtdGB0LrQvtC70YzQutC+INC30L3QsNGH0LXQvdC40LkiCiAKLSM6IGNvbmZpZy5jOjIyMjQKKyM6IGNvbmZpZy5jOjIzMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPRgdGC0LDQvdC+0LLQuNGC0Ywgwqslc8K7INCyIMKrJXPCuyIKIAotIzogY29uZmlnLmM6MjIyNgorIzogY29uZmlnLmM6MjMxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdCx0YDQvtGB0LjRgtGMINC30L3QsNGH0LXQvdC40LUg0LTQu9GPIMKrJXPCuyIKIAotIzogY29ubmVjdGVkLmM6NjkKKyM6IGNvbm5lY3QuYzo0OQorbXNnaWQgIlRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdXBvbiBpbml0aWFsIGNvbnRhY3QiCittc2dzdHIgItCS0L3QtdGI0L3QuNC5INGB0LXRgNCy0LXRgCDQvtGC0YHQvtC10LTQuNC90LjQu9GB0Y8g0LTQviDQvdCw0YfQsNC70LAg0YHQtdCw0L3RgdCwINGB0LLRj9C30LgiCisKKyM6IGNvbm5lY3QuYzo1MQorbXNnaWQgIiIKKyJDb3VsZCBub3QgcmVhZCBmcm9tIHJlbW90ZSByZXBvc2l0b3J5LlxuIgorIlxuIgorIlBsZWFzZSBtYWtlIHN1cmUgeW91IGhhdmUgdGhlIGNvcnJlY3QgYWNjZXNzIHJpZ2h0c1xuIgorImFuZCB0aGUgcmVwb3NpdG9yeSBleGlzdHMuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQuNC3INCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjy5cblxu0KPQtNC+0YHRgtC+0LLQtdGA0YzRgtC10YHRjCwg0YfRgtC+INGDINCy0LDRgSDQtdGB0YLRjCDQvdC10L7QsdGF0L7QtNC40LzRi9C1INC/0YDQsNCy0LAg0LTQvtGB0YLRg9C/0LBcbtC4INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0YHRg9GJ0LXRgdGC0LLRg9C10YIuIgorCisjOiBjb25uZWN0ZWQuYzo2MyBidWlsdGluL2ZzY2suYzoxNzMgYnVpbHRpbi9wcnVuZS5jOjE0MAorbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKK21zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyIKKworIzogY29ubmVjdGVkLmM6NzUKIG1zZ2lkICJDb3VsZCBub3QgcnVuICdnaXQgcmV2LWxpc3QnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9GD0YHRgtC40YLRjCDCq2dpdCByZXYtbGlzdMK7IgogCi0jOiBjb25uZWN0ZWQuYzo4OQorIzogY29ubmVjdGVkLmM6OTUKIG1zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3QiCiBtc2dzdHIgItGB0LHQvtC5INC30LDQv9C40YHQuCDQsiByZXYtbGlzdCIKIAotIzogY29ubmVjdGVkLmM6OTYKKyM6IGNvbm5lY3RlZC5jOjEwMgogbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluIgogbXNnc3RyICLRgdCx0L7QuSDQt9Cw0LrRgNGL0YLQuNGPINGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwINGDIHJldi1saXN0IgogCi0jOiBkYXRlLmM6OTUKKyM6IGNvbnZlcnQuYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNSTEYgd2lsbCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy5cbiIKKyJUaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdpbmFsIGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5LiIKK21zZ3N0ciAiQ1JMRiDQsdGD0LTQtdGCINC30LDQvNC10L3QtdC9INC90LAgTEYg0LIgJXMuXG7QpNCw0LnQuyDQsdGD0LTQtdGCINC40LzQtdGC0Ywg0YHQstC+0Lgg0L7RgNC40LPQuNC90LDQu9GM0L3Ri9C1INC60L7QvdGG0Ysg0YHRgtGA0L7QuiDQsiDRgNCw0YjQtdC5INGA0LDQsdC+0YfQtdC5INC60L7Qv9C40LguIgorCisjOiBjb252ZXJ0LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNSTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuIgorbXNnc3RyICJDUkxGINCx0YPQtNC10YIg0LfQsNC80LXQvdC10L0g0L3QsCBMRiDQsiAlcy4iCisKKyM6IGNvbnZlcnQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcy5cbiIKKyJUaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdpbmFsIGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5LiIKK21zZ3N0ciAiTEYg0LHRg9C00LXRgiDQt9Cw0LzQtdC90LXQvSDQvdCwIENSTEYg0LIgJXMuXG7QpNCw0LnQuyDQsdGD0LTQtdGCINC40LzQtdGC0Ywg0YHQstC+0Lgg0L7RgNC40LPQuNC90LDQu9GM0L3Ri9C1INC60L7QvdGG0Ysg0YHRgtGA0L7QuiDQsiDRgNCw0YjQtdC5INGA0LDQsdC+0YfQtdC5INC60L7Qv9C40LguIgorCisjOiBjb252ZXJ0LmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMiCittc2dzdHIgIkxGINCx0YPQtNC10YIg0LfQsNC80LXQvdC10L0g0L3QsCBDUkxGINCyICVzIgorCisjOiBkYXRlLmM6OTcKIG1zZ2lkICJpbiB0aGUgZnV0dXJlIgogbXNnc3RyICLQsiDQsdGD0LTRg9GJ0LXQvCIKIAotIzogZGF0ZS5jOjEwMQorIzogZGF0ZS5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgc2Vjb25kIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IHNlY29uZHMgYWdvIgpAQCAtNDU3LDcgKzEzNTYsNyBAQAogbXNnc3RyWzJdICIlbHUg0YHQtdC60YPQvdC0INC90LDQt9Cw0LQiCiBtc2dzdHJbM10gIiVsdSDRgdC10LrRg9C90LQg0L3QsNC30LDQtCIKIAotIzogZGF0ZS5jOjEwOAorIzogZGF0ZS5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgbWludXRlIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IG1pbnV0ZXMgYWdvIgpAQCAtNDY2LDcgKzEzNjUsNyBAQAogbXNnc3RyWzJdICIlbHUg0LzQuNC90YPRgiDQvdCw0LfQsNC0IgogbXNnc3RyWzNdICIlbHUg0LzQuNC90YPRgiDQvdCw0LfQsNC0IgogCi0jOiBkYXRlLmM6MTE1CisjOiBkYXRlLmM6MTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSBob3VyIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IGhvdXJzIGFnbyIKQEAgLTQ3NSw3ICsxMzc0LDcgQEAKIG1zZ3N0clsyXSAiJWx1INGH0LDRgdC+0LIg0L3QsNC30LDQtCIKIG1zZ3N0clszXSAiJWx1INGH0LDRgdC+0LIg0L3QsNC30LDQtCIKIAotIzogZGF0ZS5jOjEyMgorIzogZGF0ZS5jOjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgZGF5IGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IGRheXMgYWdvIgpAQCAtNDg0LDcgKzEzODMsNyBAQAogbXNnc3RyWzJdICIlbHUg0LTQvdC10Lkg0L3QsNC30LDQtCIKIG1zZ3N0clszXSAiJWx1INC00L3QtdC5INC90LDQt9Cw0LQiCiAKLSM6IGRhdGUuYzoxMjgKKyM6IGRhdGUuYzoxMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHdlZWsgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgd2Vla3MgYWdvIgpAQCAtNDkzLDcgKzEzOTIsNyBAQAogbXNnc3RyWzJdICIlbHUg0L3QtdC00LXQu9GMINC90LDQt9Cw0LQiCiBtc2dzdHJbM10gIiVsdSDQvdC10LTQtdC70Ywg0L3QsNC30LDQtCIKIAotIzogZGF0ZS5jOjEzNQorIzogZGF0ZS5jOjEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgbW9udGggYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgbW9udGhzIGFnbyIKQEAgLTUwMiw3ICsxNDAxLDcgQEAKIG1zZ3N0clsyXSAiJWx1INC80LXRgdGP0YbQtdCyINC90LDQt9Cw0LQiCiBtc2dzdHJbM10gIiVsdSDQvNC10YHRj9GG0LXQsiDQvdCw0LfQsNC0IgogCi0jOiBkYXRlLmM6MTQ2CisjOiBkYXRlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSB5ZWFyIgogbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMiCkBAIC01MTIsNyArMTQxMSw3IEBACiBtc2dzdHJbM10gIiVsdSDQu9C10YIiCiAKICMuIFRSQU5TTEFUT1JTOiAiJXMiIGlzICI8bj4geWVhcnMiCi0jOiBkYXRlLmM6MTQ5CisjOiBkYXRlLmM6MTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCAlbHUgbW9udGggYWdvIgogbXNnaWRfcGx1cmFsICIlcywgJWx1IG1vbnRocyBhZ28iCkBAIC01MjEsNyArMTQyMCw3IEBACiBtc2dzdHJbMl0gIiVzINC4ICVsdSDQvNC10YHRj9GG0LXQsiDQvdCw0LfQsNC0IgogbXNnc3RyWzNdICIlcyDQuCAlbHUg0LzQtdGB0Y/RhtC10LIg0L3QsNC30LDQtCIKIAotIzogZGF0ZS5jOjE1NCBkYXRlLmM6MTU5CisjOiBkYXRlLmM6MTU2IGRhdGUuYzoxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHllYXIgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMgYWdvIgpAQCAtNTM1LDE0MCArMTQzNCwzMjEgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvcmRlcmZpbGUgJyVzJyIKIG1zZ3N0ciAi0YHQsdC+0Lkg0YfRgtC10L3QuNGPIG9yZGVyZmlsZSDCqyVzwrsiCiAKLSM6IGRpZmZjb3JlLXJlbmFtZS5jOjUzOAorIzogZGlmZmNvcmUtcmVuYW1lLmM6NTM2CiBtc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCiBtc2dzdHIgItCS0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0L3QtdGC0L7Rh9C90L7QtSDQvtC/0YDQtdC00LXQu9C10L3QuNC1INC/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40Y8iCiAKLSM6IGRpZmYuYzoxMTYKKyM6IGRpZmYuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhIHZhbHVlIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAIMKrJXPCuyDRgtGA0LXQsdGD0LXRgiDRg9C60LDQt9Cw0L3QuNGPINC30L3QsNGH0LXQvdC40Y8iCisKKyM6IGRpZmYuYzoxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgogbXNnc3RyICIgINCh0LHQvtC5INGA0LDQt9Cx0L7RgNCwINCy0LXQu9C40YfQuNC90Ysg0YHRgNC10LfQsCAoY3V0LW9mZikg0YMgZGlyc3RhdCDCqyVzwrtcbiIKIAotIzogZGlmZi5jOjEyMQorIzogZGlmZi5jOjEyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyVzJ1xuIgogbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YAgZGlyc3RhdDogwqslc8K7XG4iCiAKLSM6IGRpZmYuYzoyMjUKKyM6IGRpZmYuYzoyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB2YWx1ZSBmb3IgJ2RpZmYuc3VibW9kdWxlJyBjb25maWcgdmFyaWFibGU6ICclcyciCiBtc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdC+0LUg0LfQvdCw0YfQtdC90LjRjyDQtNC70Y8g0L/QtdGA0LXQvNC10L3QvdC+0LkgwqtkaWZmLnN1Ym1vZHVsZcK7OiDCqyVzwrsiCiAKLSM6IGRpZmYuYzoyNzcKKyM6IGRpZmYuYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCiAiJXMiCiBtc2dzdHIgItCd0LDQudC00LXQvdGLINC+0YjQuNCx0LrQuCDQsiDQv9C10YDQtdC80LXQvdC90L7QuSDCq2RpZmYuZGlyc3RhdMK7OlxuJXMiCiAKLSM6IGRpZmYuYzozMDA3CisjOiBkaWZmLmM6MzA4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHRlcm5hbCBkaWZmIGRpZWQsIHN0b3BwaW5nIGF0ICVzIgogbXNnc3RyICLQutGA0LjRgtC40YfQtdGB0LrQsNGPINC+0YjQuNCx0LrQsCDQv9GA0Lgg0LLQvdC10YjQvdC10Lwg0YHRgNCw0LLQvdC10L3QuNC4LCDQvtGB0YLQsNC90L7QsiDQvdCwICVzIgogCi0jOiBkaWZmLmM6MzQwNQorIzogZGlmZi5jOjM0MTIKK21zZ2lkICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sg0LggLXMg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCisKKyM6IGRpZmYuYzozNTAyCiBtc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCiBtc2dzdHIgIi0tZm9sbG93INGC0YDQtdCx0YPQtdGCINGA0L7QstC90L4g0L7QtNC90L7QuSDRgdC/0LXRhtC40YTQuNC60LDRhtC40Lgg0L/Rg9GC0LgiCiAKLSM6IGRpZmYuYzozNTY4CisjOiBkaWZmLmM6MzY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgogIiVzIgogbXNnc3RyICLQodCx0L7QuSDRgNCw0LfQsdC+0YDQsCDQv9Cw0YDQsNC80LXRgtGA0LAg0L7Qv9GG0LjQuCAtLWRpcnN0YXQvLVggOlxuJXMiCiAKLSM6IGRpZmYuYzozNTgyCisjOiBkaWZmLmM6MzY3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKIG1zZ3N0ciAi0KHQsdC+0Lkg0YDQsNC30LHQvtGA0LAg0L/QsNGA0LDQvNC10YLRgNCwINC+0L/RhtC40LggLS1zdWJtb2R1bGU6IMKrJXPCuyIKIAotIzogZGlyLmM6MTgyMworIzogZGlmZi5jOjQ3MDAKK21zZ2lkICJpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24gd2FzIHNraXBwZWQgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKK21zZ3N0ciAi0L3QtdGC0L7Rh9C90L7QtSDQvtC/0YDQtdC00LXQu9C10L3QuNC1INC/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40Y8g0LHRi9C70L4g0L/RgNC+0L/Rg9GJ0LXQvdC+INC40Lct0LfQsCDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7Qs9C+INC60L7Qu9C40YfQtdGB0YLQstCwINGE0LDQudC70L7Qsi4iCisKKyM6IGRpZmYuYzo0NzAzCittc2dpZCAib25seSBmb3VuZCBjb3BpZXMgZnJvbSBtb2RpZmllZCBwYXRocyBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgorbXNnc3RyICLQvdCw0LnQtNC10L3RiyDRgtC+0LvRjNC60L4g0LrQvtC/0LjQuCDQuNC3INC40LfQvNC10L3QtdC90L3Ri9GFINC/0YPRgtC10Lkg0LjQty3Qt9CwINGB0LvQuNGI0LrQvtC8INCx0L7Qu9GM0YjQvtCz0L4g0LrQvtC70LjRh9C10YHRgtCy0LAg0YTQsNC50LvQvtCyLiIKKworIzogZGlmZi5jOjQ3MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInlvdSBtYXkgd2FudCB0byBzZXQgeW91ciAlcyB2YXJpYWJsZSB0byBhdCBsZWFzdCAlZCBhbmQgcmV0cnkgdGhlIGNvbW1hbmQuIgorbXNnc3RyICLQstC+0LfQvNC+0LbQvdC+INCy0Ysg0LfQsNGF0L7RgtC40YLQtSDRg9GB0YLQsNC90L7QstC40YLRjCDQv9C10YDQtdC80LXQvdC90YPRjiAlcyDQsiDQutCw0Log0LzQuNC90LjQvNGD0Lwg0LfQvdCw0YfQtdC90LjQtSAlZCDQuCDQv9C+0LLRgtC+0YDQuNGC0Ywg0LLRi9C30L7QsiDQutC+0LzQsNC90LTRiy4iCisKKyM6IGRpci5jOjE4NjYKIG1zZ2lkICJmYWlsZWQgdG8gZ2V0IGtlcm5lbCBuYW1lIGFuZCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINC40LzRjyDRj9C00YDQsCDQuCDQuNC90YTQvtGA0LzQsNGG0LjRjiIKIAotIzogZGlyLmM6MTk0MgorIzogZGlyLmM6MTk4NQogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBpcyBkaXNhYmxlZCBvbiB0aGlzIHN5c3RlbSBvciBsb2NhdGlvbi4iCiBtc2dzdHIgItCa0Y3RiCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0YTQsNC50LvQvtCyINC+0YLQutC70Y7Rh9C10L0g0L3QsCDRjdGC0L7QuSDRgdC40YHRgtC10LzQtSDQuNC70Lgg0LIg0Y3RgtC+0Lwg0LzQtdGB0YLQtS4iCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoxNjYgZ3BnLWludGVyZmFjZS5jOjIzNQotbXNnaWQgImNvdWxkIG5vdCBydW4gZ3BnLiIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/Rg9GB0YLQuNGC0YwgZ3BnLiIKKyM6IGZldGNoLXBhY2suYzoyMTMKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgc2hhbGxvdyBsaXN0IgorbXNnc3RyICJnaXQgZmV0Y2gtcGFjazog0L7QttC40LTQsNC10YLRgdGPINC/0LXRgNC10LTQsNGH0LAg0YHQv9C40YHQutCwINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40LUg0YfQsNGB0YLQuCIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE3OAotbXNnaWQgImdwZyBkaWQgbm90IGFjY2VwdCB0aGUgZGF0YSIKLW1zZ3N0ciAiZ3BnINC90LUg0L/RgNC40L3Rj9C7INC00LDQvdC90YvQtSIKKyM6IGZldGNoLXBhY2suYzoyMjUKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IEVPRiIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6INC+0LbQuNC00LDQtdGC0YHRjyBBQ0svTkFLLCDQsCDQv9C+0LvRg9GH0LXQvdC+IEVPRiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE4OQorIzogZmV0Y2gtcGFjay5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290ICclcyciCittc2dzdHIgImdpdCBmZXRjaC1wYWNrOiDQvtC20LjQtNCw0LXRgtGB0Y8gQUNLL05BSywg0LAg0L/QvtC70YPRh9C10L3QviDCqyVzwrsiCisKKyM6IGZldGNoLXBhY2suYzoyOTUKK21zZ2lkICItLXN0YXRlbGVzcy1ycGMgcmVxdWlyZXMgbXVsdGlfYWNrX2RldGFpbGVkIgorbXNnc3RyICItLXN0YXRlbGVzcy1ycGMg0YLRgNC10LHRg9C10YIgbXVsdGlfYWNrX2RldGFpbGVkIgorCisjOiBmZXRjaC1wYWNrLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINGB0YLRgNC+0LrQsCDRh9Cw0YHRgtC40YfQvdC+0LPQviDQv9C+0LvRg9GH0LXQvdC40Y86ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdW5zaGFsbG93IGxpbmU6ICVzIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0YHRgtGA0L7QutCwINC/0L7Qu9C90L7Qs9C+INC/0L7Qu9GD0YfQtdC90LjRjzogJXMiCisKKyM6IGZldGNoLXBhY2suYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0IG5vdCBmb3VuZDogJXMiCittc2dzdHIgItC+0LHRitC10LrRgiDQvdC1INC90LDQudC00LXQvTogJXMiCisKKyM6IGZldGNoLXBhY2suYzozOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgaW4gb2JqZWN0OiAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwINCyINC+0LHRitC10LrRgtC1OiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzaGFsbG93IGZvdW5kOiAlcyIKK21zZ3N0ciAi0YfQsNGB0YLQuNGH0L3Ri9C5INC60LvQvtC9INC90LUg0L3QsNC50LTQtdC9OiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJleHBlY3RlZCBzaGFsbG93L3Vuc2hhbGxvdywgZ290ICVzIgorbXNnc3RyICLQvtC20LjQtNCw0LvQvtGB0Ywgc2hhbGxvdy91bnNoYWxsb3csINCwINC/0L7Qu9GD0YfQtdC90L4gJXMiCisKKyM6IGZldGNoLXBhY2suYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ290ICVzICVkICVzIgorbXNnc3RyICLQv9C+0LvRg9GH0LXQvdC+ICVzICVkICVzIgorCisjOiBmZXRjaC1wYWNrLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29tbWl0ICVzIgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LrQvtC80LzQuNGCICVzIgorCisjOiBmZXRjaC1wYWNrLmM6NDgzCittc2dpZCAiZ2l2aW5nIHVwIgorbXNnc3RyICLQvtGB0YLQsNC90LDQstC70LjQstCw0Y4g0LTQsNC70YzQvdC10LnRiNC40LUg0L/QvtC/0YvRgtC60LgiCisKKyM6IGZldGNoLXBhY2suYzo0OTMgcHJvZ3Jlc3MuYzoyMzUKK21zZ2lkICJkb25lIgorbXNnc3RyICLQs9C+0YLQvtCy0L4iCisKKyM6IGZldGNoLXBhY2suYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ290ICVzICglZCkgJXMiCittc2dzdHIgItC/0L7Qu9GD0YfQtdC90L4gJXMgKCVkKSAlcyIKKworIzogZmV0Y2gtcGFjay5jOjU1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNYXJraW5nICVzIGFzIGNvbXBsZXRlIgorbXNnc3RyICLQn9C+0LzQtdGH0LDRjiAlcyDQutCw0Log0LfQsNCy0LXRgNGI0LXQvdC90YvQuSIKKworIzogZmV0Y2gtcGFjay5jOjY5NworIywgYy1mb3JtYXQKK21zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKK21zZ3N0ciAi0YPQttC1INC10YHRgtGMICVzICglcykiCisKKyM6IGZldGNoLXBhY2suYzo3MzUKK21zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKK21zZ3N0ciAiZmV0Y2gtcGFjazog0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L/RgNC+0LPRgNCw0LzQvNGDINGA0LDQt9Cx0L7RgNCwINC00LDQvdC90YvRhSIKKworIzogZmV0Y2gtcGFjay5jOjc0MworbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgcGFjayBoZWFkZXIiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQv9GA0L7RgtC+0LrQvtC70LA6INC90LXQv9GA0LDQstC40LvRjNC90YvQuSDQt9Cw0LPQvtC70L7QstC+0Log0L/QvtGC0L7QutCwIgorCisjOiBmZXRjaC1wYWNrLmM6Nzk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKK21zZ3N0ciAiZmV0Y2gtcGFjazog0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L/RgNC+0LPRgNCw0LzQvNGDICVzIgorCisjOiBmZXRjaC1wYWNrLmM6ODE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMg0LfQsNCy0LXRgNGI0LXQvSDRgSDQvtGI0LjQsdC60L7QuSIKKworIzogZmV0Y2gtcGFjay5jOjgxNworbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCittc2dzdHIgItC/0YDQvtC40LfQvtGI0LvQsCAg0L7RiNC40LHQutCwINCyICDQv9GA0L7Qs9GA0LDQvNC80LUg0YDQsNC30LHQvtGA0LAg0LTQsNC90L3Ri9GFIgorCisjOiBmZXRjaC1wYWNrLmM6ODQ0Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgorbXNnc3RyICLQodC10YDQstC10YAg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0LrQu9C40LXQvdGC0L7QsiDRgSDRh9Cw0YHRgtC40YfQvdGL0Lwg0LrQu9C+0L3QuNGA0L7QstCw0L3QuNC10LwiCisKKyM6IGZldGNoLXBhY2suYzo4NDgKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrX2RldGFpbGVkIgorbXNnc3RyICLQodC10YDQstC10YAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIG11bHRpX2Fja19kZXRhaWxlZCIKKworIzogZmV0Y2gtcGFjay5jOjg1MQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIgorbXNnc3RyICLQodC10YDQstC10YAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIG5vLWRvbmUiCisKKyM6IGZldGNoLXBhY2suYzo4NTcKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgorbXNnc3RyICLQodC10YDQstC10YAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIG11bHRpX2FjayIKKworIzogZmV0Y2gtcGFjay5jOjg2MQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQtNjRrIgorbXNnc3RyICLQodC10YDQstC10YAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIHNpZGUtYmFuZC02NGsiCisKKyM6IGZldGNoLXBhY2suYzo4NjUKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgorbXNnc3RyICLQodC10YDQstC10YAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIHNpZGUtYmFuZCIKKworIzogZmV0Y2gtcGFjay5jOjg2OQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgorbXNnc3RyICLQodC10YDQstC10YAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCisKKyM6IGZldGNoLXBhY2suYzo4NzMKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKK21zZ3N0ciAi0KHQtdGA0LLQtdGAINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgorCisjOiBmZXRjaC1wYWNrLmM6ODgzCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKK21zZ3N0ciAi0KHQtdGA0LLQtdGAINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiBvZnMtZGVsdGEiCisKKyM6IGZldGNoLXBhY2suYzo4OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VydmVyIHZlcnNpb24gaXMgJS4qcyIKK21zZ3N0ciAi0JLQtdGA0YHQuNGPINGB0LXRgNCy0LXRgNCwICUuKnMiCisKKyM6IGZldGNoLXBhY2suYzo4OTYKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctc2luY2UiCittc2dzdHIgItCh0LXRgNCy0LXRgCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgiAtLXNoYWxsb3ctc2luY2UiCisKKyM6IGZldGNoLXBhY2suYzo5MDAKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctZXhjbHVkZSIKK21zZ3N0ciAi0KHQtdGA0LLQtdGAINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIC0tc2hhbGxvdy1leGNsdWRlIgorCisjOiBmZXRjaC1wYWNrLmM6OTAyCittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1kZWVwZW4iCittc2dzdHIgItCh0LXRgNCy0LXRgCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgiAtLWRlZXBlbiIKKworIzogZmV0Y2gtcGFjay5jOjkxMworbXNnaWQgIm5vIGNvbW1vbiBjb21taXRzIgorbXNnc3RyICLQvdC1INC+0LHRidC40YUg0LrQvtC80LzQuNGC0L7QsiIKKworIzogZmV0Y2gtcGFjay5jOjkyNQorbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBmYWlsZWQuIgorbXNnc3RyICJnaXQgZmV0Y2gtcGFjazog0L7RiNC40LHQutCwINC/0YDQuCDQv9C+0LvRg9GH0LXQvdC40Lgg0LTQsNC90L3Ri9GFLiIKKworIzogZmV0Y2gtcGFjay5jOjEwODcKK21zZ2lkICJubyBtYXRjaGluZyByZW1vdGUgaGVhZCIKK21zZ3N0ciAi0L3QtdGCINGB0L7QvtGC0LLQtdGB0YLQstGD0Y7RidC10LPQviDQstC90LXRiNC90LXQs9C+INGD0LrQsNC30LDRgtC10LvRjyDQvdCwINCy0LXRgtC60YMiCisKKyM6IGdwZy1pbnRlcmZhY2UuYzoxODUKIG1zZ2lkICJncGcgZmFpbGVkIHRvIHNpZ24gdGhlIGRhdGEiCiBtc2dzdHIgImdwZyDQvdC1INGD0LTQsNC70L7RgdGMINC/0L7QtNC/0LjRgdCw0YLRjCDQtNCw0L3QvdGL0LUiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoyMjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSAnJXMnIgotbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINCy0YDQtdC80LXQvdC90YvQuSDRhNCw0LnQuyDCqyVzwrsiCisjOiBncGctaW50ZXJmYWNlLmM6MjE1Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQstGA0LXQvNC10L3QvdGL0Lkg0YTQsNC50LsiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoyMjQKKyM6IGdwZy1pbnRlcmZhY2UuYzoyMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHdyaXRpbmcgZGV0YWNoZWQgc2lnbmF0dXJlIHRvICclcyciCiBtc2dzdHIgItGB0LHQvtC5INC30LDQv9C40YHQuCDQvtGC0YHQvtC10LTQuNC90LXQvdC90L7QuSDQv9C+0LTQv9C40YHQuCDQsiDCqyVzwrsiCiAKLSM6IGdyZXAuYzoxNzE4CisjOiBncmVwLmM6MTc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiwqslc8K7OiDQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LXRgdGC0YwgJXMiCiAKLSM6IGdyZXAuYzoxNzM1IGJ1aWx0aW4vY2xvbmUuYzozODIgYnVpbHRpbi9kaWZmLmM6ODQgYnVpbHRpbi9ybS5jOjE1NQorIzogZ3JlcC5jOjE3OTkgYnVpbHRpbi9jbG9uZS5jOjM4MSBidWlsdGluL2RpZmYuYzo4NCBidWlsdGluL3JtLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXQgwqslc8K7IgogCi0jOiBncmVwLmM6MTc0NgorIzogZ3JlcC5jOjE4MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogc2hvcnQgcmVhZCIKIG1zZ3N0ciAiwqslc8K7OiDRgdC70LjRiNC60L7QvCDQvNCw0LvQviDQtNCw0L3QvdGL0YUg0L/RgNC+0YfQuNGC0LDQvdC+IgogCi0jOiBoZWxwLmM6MjA1CisjOiBoZWxwLmM6MjAzCiAjLCBjLWZvcm1hdAogbXNnaWQgImF2YWlsYWJsZSBnaXQgY29tbWFuZHMgaW4gJyVzJyIKIG1zZ3N0ciAi0LTQvtGB0YLRg9C/0L3Ri9C1INC60L7QvNCw0L3QtNGLIGdpdCDQsiDCqyVzwrsiCiAKLSM6IGhlbHAuYzoyMTIKKyM6IGhlbHAuYzoyMTAKIG1zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCiBtc2dzdHIgItC60L7QvNCw0L3QtNGLIGdpdCwg0LTQvtGB0YLRg9C/0L3Ri9C1INCyINC00YDRg9Cz0LjRhSDQvNC10YHRgtCw0YUg0LLQsNGI0LXQs9C+ICRQQVRIIgogCi0jOiBoZWxwLmM6MjQ0CisjOiBoZWxwLmM6MjQxCiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICLQodGC0LDQvdC00LDRgNGC0L3Ri9C1INC60L7QvNCw0L3QtNGLIEdpdCDQuNGB0L/QvtC70YzQt9GD0LXQvNGL0LUg0LIg0YDQsNC30LvQuNGH0L3Ri9GFINGB0LjRgtGD0LDRhtC40Y/RhToiCiAKLSM6IGhlbHAuYzozMDkKKyM6IGhlbHAuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgYXBwZWFycyB0byBiZSBhIGdpdCBjb21tYW5kLCBidXQgd2Ugd2VyZSBub3RcbiIKICJhYmxlIHRvIGV4ZWN1dGUgaXQuIE1heWJlIGdpdC0lcyBpcyBicm9rZW4/IgogbXNnc3RyICLCqyVzwrsg0L/QvtGF0L7QttC1INC90LAg0LrQvtC80LDQvdC00YMgZ2l0LCDQvdC+INC90LDQvCDQvdC1INGD0LTQsNC70L7RgdGMINC10LUg0LfQsNC/0YPRgdGC0LjRgtGMLiDQktC+0LfQvNC+0LbQvdC+LCBnaXQtJXMgINC90LUg0YDQsNCx0L7RgtCw0LXRgj8iCiAKLSM6IGhlbHAuYzozNjYKKyM6IGhlbHAuYzozNjEKIG1zZ2lkICJVaCBvaC4gWW91ciBzeXN0ZW0gcmVwb3J0cyBubyBHaXQgY29tbWFuZHMgYXQgYWxsLiIKIG1zZ3N0ciAi0J7QuS3RkdC5ISDQktCw0YjQsCDRgdC40YHRgtC10LzQsCDQvdC1INGB0L7QvtCx0YnQsNC10YIg0L3QuCDQviDQutCw0LrQuNGFINC60L7QvNCw0L3QtNCw0YUgR2l0INCy0L7QvtCx0YnQtS4iCiAKLSM6IGhlbHAuYzozODgKKyM6IGhlbHAuYzozODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC5cbiIKICJDb250aW51aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgeW91IG1lYW50ICclcyciCiBtc2dzdHIgItCS0J3QmNCc0JDQndCY0JU6INCS0Ysg0LLRi9C30LLQsNC70Lgg0LrQvtC80LDQvdC00YMgR2l0IMKrJXPCuywg0L3QviDRgtCw0LrQvtC5INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuXG7Qn9GA0L7QtNC+0LvQttCw0LXQvCDRgSDQv9GA0LXQtNC/0L7Qu9C+0LbQtdC90LjQtdC8LCDRh9GC0L4g0LLRiyDQuNC80LXQu9C4INCyINCy0LjQtNGDIMKrJXPCuyIKIAotIzogaGVscC5jOjM5MworIzogaGVscC5jOjM4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iCiBtc2dzdHIgItGH0LXRgNC10LcgJTAuMWYg0YHQtdC60YPQvdC0INCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC44oCmIgogCi0jOiBoZWxwLmM6NDAwCisjOiBoZWxwLmM6Mzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdDogJyVzJyBpcyBub3QgYSBnaXQgY29tbWFuZC4gU2VlICdnaXQgLS1oZWxwJy4iCiBtc2dzdHIgImdpdDogwqslc8K7INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQutC+0LzQsNC90LTQvtC5IGdpdC4g0KHQvNC+0YLRgNC40YLQtSDCq2dpdCAtLWhlbHDCuy4iCiAKLSM6IGhlbHAuYzo0MDQgaGVscC5jOjQ2NAorIzogaGVscC5jOjM5OSBoZWxwLmM6NDY1CiBtc2dpZCAiIgogIlxuIgogIkRpZCB5b3UgbWVhbiB0aGlzPyIKQEAgLTY4MCwxMSArMTc2MCwyNiBAQAogbXNnc3RyWzJdICJcbtCS0L7Qt9C80L7QttC90L4sINCy0Ysg0LjQvNC10LvQuCDQsiDQstC40LTRgyDRh9GC0L4t0YLQviDQuNC3INGN0YLQvtCz0L4/IgogbXNnc3RyWzNdICJcbtCS0L7Qt9C80L7QttC90L4sINCy0Ysg0LjQvNC10LvQuCDQsiDQstC40LTRgyDRh9GC0L4t0YLQviDQuNC3INGN0YLQvtCz0L4/IgogCi0jOiBoZWxwLmM6NDYwCisjOiBoZWxwLmM6NDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyAtICVzIgogbXNnc3RyICIlczogJXMg4oCUICVzIgogCisjOiBpZGVudC5jOjMzNAorbXNnaWQgIiIKKyJcbiIKKyIqKiogUGxlYXNlIHRlbGwgbWUgd2hvIHlvdSBhcmUuXG4iCisiXG4iCisiUnVuXG4iCisiXG4iCisiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgXCJ5b3VAZXhhbXBsZS5jb21cIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJZb3VyIE5hbWVcIlxuIgorIlxuIgorInRvIHNldCB5b3VyIGFjY291bnQncyBkZWZhdWx0IGlkZW50aXR5LlxuIgorIk9taXQgLS1nbG9iYWwgdG8gc2V0IHRoZSBpZGVudGl0eSBvbmx5IGluIHRoaXMgcmVwb3NpdG9yeS5cbiIKKyJcbiIKK21zZ3N0ciAiXG4qKiog0J/QvtC20LDQu9GD0LnRgdGC0LAsINGB0LrQsNC20LjRgtC1INC80L3QtSDQutGC0L4g0LLRiyDQtdGB0YLRjC5cblxu0JfQsNC/0YPRgdGC0LjRgtC1XG5cbiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwieW91QGV4YW1wbGUuY29tXCJcbiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCLQktCw0YjQtSDQmNC80Y9cIlxuXG7QtNC70Y8g0YPQutCw0LfQsNC90LjRjyDQuNC00LXQvdGC0LjRhNC40LrQsNGG0LjQvtC90L3Ri9GFINC00LDQvdC90YvRhSDQsNC60LrQsNGD0L3RgtCwINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOLlxu0J/RgNC+0L/Rg9GB0YLQuNGC0LUg0L/QsNGA0LDQvNC10YLRgCAtLWdsb2JhbCDQtNC70Y8g0YPQutCw0LfQsNC90LjRjyDQtNCw0L3QvdGL0YUg0YLQvtC70YzQutC+INC00LvRjyDRjdGC0L7Qs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8uXG5cbiIKKwogIzogbG9ja2ZpbGUuYzoxNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgpAQCAtNzA2LDIzNyArMTgwMSwyMjMgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgItGB0LHQvtC5INGH0YLQtdC90LjRjyDQutGN0YjQsCIKIAotIzogbWVyZ2UuYzo5NCBidWlsdGluL2FtLmM6MjAwNyBidWlsdGluL2FtLmM6MjA0MiBidWlsdGluL2NoZWNrb3V0LmM6Mzc1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTg2IGJ1aWx0aW4vY2xvbmUuYzo3MzIKKyM6IG1lcmdlLmM6OTYgYnVpbHRpbi9hbS5jOjIwMDAgYnVpbHRpbi9hbS5jOjIwMzUgYnVpbHRpbi9jaGVja291dC5jOjM3NAorIzogYnVpbHRpbi9jaGVja291dC5jOjU4OCBidWlsdGluL2Nsb25lLmM6NzMxCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0L3QvtCy0YvQuSDRhNCw0LnQuyDQuNC90LTQtdC60YHQsCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg5Ci0jLCBjLWZvcm1hdAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA5CiBtc2dpZCAiKGJhZCBjb21taXQpXG4iCiBtc2dzdHIgIijQv9C70L7RhdC+0Lkg0LrQvtC80LzQuNGCKVxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRpbmZvX2NhY2hlIGZhaWxlZCBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICLRgdCx0L7QuSBhZGRpbmZvX2NhY2hlINC00LvRjyDQv9GD0YLQuCDCqyVzwrsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI3MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAxCiBtc2dpZCAiZXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgItC+0YjQuNCx0LrQsCDQv9GA0Lgg0L/QvtGB0YLRgNC+0LXQvdC40Lgg0LTQtdGA0LXQstGM0LXQsiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6Njg5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwYXRoICclcyclcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQv9GD0YLRjCDCqyVzwrslcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzAwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMgdG8gbWFrZSByb29tIGZvciBzdWJkaXJlY3RvcnlcbiIKIG1zZ3N0ciAi0KPQtNCw0LvQtdC90LjQtSAlcywg0YfRgtC+0LHRiyDQvtGB0LLQvtCx0L7QtNC40YLRjCDQvNC10YHRgtC+INC00LvRjyDQv9C+0LTQutCw0YLQsNC70L7Qs9C+0LJcbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzE0IG1lcmdlLXJlY3Vyc2l2ZS5jOjczNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzQ1IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2NAogbXNnaWQgIjogcGVyaGFwcyBhIEQvRiBjb25mbGljdD8iCiBtc2dzdHIgIjog0LLQvtC30LzQvtC20L3Qviwg0LrQvtC90YTQu9C40LrRgiDQutCw0YLQsNC70L7Qs9C+0LIv0YTQsNC50LvQvtCyPyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzI1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAnJXMnIgogbXNnc3RyICLQvtGC0LrQsNC3INC/0L7RgtC10YDQuCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNC+0LPQviDRhNCw0LnQu9CwINCyIMKrJXPCuyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzY1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3OTYgYnVpbHRpbi9jYXQtZmlsZS5jOjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyAnJXMnIgogbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C40YLQsNGC0Ywg0L7QsdGK0LXQutGCICVzIMKrJXPCuyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzY3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKIG1zZ3N0ciAi0L7QttC40LTQsNC10YLRgdGPINC00LLQvtC40YfQvdGL0Lkg0L7QsdGK0LXQutGCINC00LvRjyAlcyDCqyVzwrsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5MCBidWlsdGluL2Nsb25lLmM6Mzc2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MjIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDCqyVzwrsiCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywgwqslc8K7OiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzk4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MzMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDRgdC40LzQstC+0LvRjNC90YPRjiDRgdGB0YvQu9C60YMgwqslc8K7IgorbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyc6ICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGB0LjQvNCy0L7Qu9GM0L3Rg9GOINGB0YHRi9C70LrRgyDCqyVzwrs6ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo4MDEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJkbyBub3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJTA2byAlcyAnJXMnIgogbXNnc3RyICLQvdC1INC/0L7QvdGP0YLQvdC+LCDRh9GC0L4g0LTQtdC70LDRgtGMINGBICUwNm8gJXMgwqslc8K7IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5MzkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk3OAogbXNnaWQgIkZhaWxlZCB0byBleGVjdXRlIGludGVybmFsIG1lcmdlIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9GD0YHRgtC40YLRjCDQstC90YPRgtGA0LXQvdC90LXQtSDRgdC70LjRj9C90LjQtSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTQzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQtNC+0LHQsNCy0LjRgtGMICVzINCyINCx0LDQt9GDINC00LDQvdC90YvRhSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTU5Ci1tc2dpZCAidW5zdXBwb3J0ZWQgb2JqZWN0IHR5cGUgaW4gdGhlIHRyZWUiCi1tc2dzdHIgItC+0LHRitC10LrRgiDQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80L7Qs9C+INGC0LjQv9CwINCyINC00LXRgNC10LLQtSIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAzNCBtZXJnZS1yZWN1cnNpdmUuYzoxMDQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgxIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKICJpbiB0cmVlLiIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAoJXMv0YPQtNCw0LvQtdC90LjQtSk6ICVzINGD0LTQsNC70LXQvdC+INCyICVzINC4ICVzINCyICVzLiDQktC10YDRgdC40Y8gJXMg0LjQtyAlcyDQvtGB0YLQsNCy0LvQtdC90LAg0LIg0LTQtdGA0LXQstC1LiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA0MCBtZXJnZS1yZWN1cnNpdmUuYzoxMDUzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDg3IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKICJpbiB0cmVlIGF0ICVzLiIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAoJXMv0YPQtNCw0LvQtdC90LjQtSk6ICVzINGD0LTQsNC70LXQvdC+INCyICVzINC4ICVzINCyICVzLiDQktC10YDRgdC40Y8gJXMg0LjQtyAlcyDQvtGB0YLQsNCy0LvQtdC90LAg0LIg0LTQtdGA0LXQstC1INC90LAgJXMuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQzCiBtc2dpZCAicmVuYW1lIgogbXNnc3RyICLQv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQzCiBtc2dpZCAicmVuYW1lZCIKIG1zZ3N0ciAi0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90L4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgYSBkaXJlY3RvcnkgaW4gJXMgYWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIiVzIOKAlCDRjdGC0L4g0LrQsNGC0LDQu9C+0LMg0LIgJXMsINC00L7QsdCw0LLQu9GP0LXQvCDQutCw0LogJXMg0LLQvNC10YHRgtC+INGN0YLQvtCz0L4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIFwiJXNcIi0+XCIlc1wiIGluIGJyYW5jaCBcIiVzXCIgcmVuYW1lICIKICJcIiVzXCItPlwiJXNcIiBpbiBcIiVzXCIlcyIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAo0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtS/Qv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC1KTog0J/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtSDCqyVzwrvihpLCqyVzwrsg0LIg0LLQtdGC0LrQtSDCqyVzwrsg0Lgg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtSDCqyVzwrvihpLCqyVzwrsg0LIg0LLQtdGC0LrQtSDCqyVzwrslcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE3NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMAogbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKIG1zZ3N0ciAiICjQvtGB0YLQsNCy0LvQtdC90L4g0L3QtdGA0LDQt9GA0LXRiNC10L3QvdGL0LwpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjMxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAo0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtS/Qv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC1KTog0J/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtSDCqyVzwrvihpLCqyVzwrsg0LIg0LLQtdGC0LrQtSDCqyVzwrsg0Lgg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtSDCqyVzwrvihpLCqyVzwrsg0LIg0LLQtdGC0LrQtSDCqyVzwrsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNjEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXMgYW5kICVzIHRvICVzIGluc3RlYWQiCiBtc2dzdHIgItCf0LXRgNC10LjQvNC10L3QvtCy0YvQstCw0Y4gJXMg0LIgJXMg0LggJXMg0LIgJXMg0LLQvNC10YHRgtC+INGN0YLQvtCz0L4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NjAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAlcyBhZGRlZCBpbiAlcyIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAo0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtS/QtNC+0LHQsNCy0LvQtdC90LjQtSk6INCf0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40LUgwqslc8K74oaSwqslc8K7INCyINCy0LXRgtC60LUgwqslc8K7INC4INC00L7QsdCw0LLQu9C10L3QuNC1IMKrJXPCuyDQsiDQstC10YLQutC1IMKrJXPCuyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ3MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgbWVyZ2VkICVzIgogbXNnc3RyICLQlNC+0LHQsNCy0LvQtdC90LjQtSDRgdC70LjRgtC+0LPQviAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ3NSBtZXJnZS1yZWN1cnNpdmUuYzoxNjc3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTUzIG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgItCU0L7QsdCw0LLQu9C10L3QuNC1INCy0LzQtdGB0YLQviDRjdGC0L7Qs9C+INC60LDQuiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUyNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCDQvtCx0YrQtdC60YIgwqslc8K7IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTI5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIgogbXNnc3RyICLQvtCx0YrQtdC60YIgJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00LLQvtC40YfQvdGL0Lwg0L7QsdGK0LXQutGC0L7QvCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU4MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY2NgogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjY2CiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgItC40LfQvNC10L3QtdC90L4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1OTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzYKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICLRgdC+0LTQtdGA0LbQuNC80L7QtSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU5OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MwogbXNnaWQgImFkZC9hZGQiCiBtc2dzdHIgItC00L7QsdCw0LLQu9C10L3QuNC1L9C00L7QsdCw0LLQu9C10L3QuNC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjMyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIKIG1zZ3N0ciAi0J/RgNC+0L/Rg9GB0LogJXMgKNGB0LvQuNGC0Ysg0L7QtNC40L3QsNC60L7QstGL0LUg0LjQt9C80LXQvdC10L3QuNGPINC60LDQuiDRgdGD0YnQtdGB0YLQstGD0Y7RidC40LUpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjQ2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKIG1zZ3N0ciAi0JDQstGC0L7RgdC70LjRj9C90LjQtSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY1MCBnaXQtc3VibW9kdWxlLnNoOjk0MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNiBnaXQtc3VibW9kdWxlLnNoOjkyNAogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAi0L/QvtC00LzQvtC00YPQu9GMIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjUxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgogbXNnc3RyICLQmtCe0J3QpNCb0JjQmtCiICglcyk6INCa0L7QvdGE0LvQuNC60YIg0YHQu9C40Y/QvdC40Y8g0LIgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMiCiBtc2dzdHIgItCj0LTQsNC70LXQvdC40LUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NTcKIG1zZ2lkICJmaWxlL2RpcmVjdG9yeSIKIG1zZ3N0ciAi0YTQsNC50Lsv0LrQsNGC0LDQu9C+0LMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NjMKIG1zZ2lkICJkaXJlY3RvcnkvZmlsZSIKIG1zZ3N0ciAi0LrQsNGC0LDQu9C+0LMv0YTQsNC50LsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NzMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICLQmtCe0J3QpNCb0JjQmtCiICglcyk6INCj0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiDQutCw0YLQsNC70L7QsyDRgSDQuNC80LXQvdC10Lwgwqslc8K7INCyIMKrJXPCuy4g0JTQvtCx0LDQstC70LXQvdC40LUgwqslc8K7INC60LDQuiDCqyVzwrsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3ODEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nICVzIgogbXNnc3RyICLQlNC+0LHQsNCy0LvQtdC90LjQtSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc5OAotbXNnaWQgIkZhdGFsIG1lcmdlIGZhaWx1cmUsIHNob3VsZG4ndCBoYXBwZW4uIgotbXNnc3RyICLQmtGA0LjRgtC40YfQtdGB0LrQsNGPINC+0YjQuNCx0LrQsCDRgdC70LjRj9C90LjRjywg0YLQsNC60L7Qs9C+INC90LUg0LTQvtC70LbQvdC+INGB0LvRg9GH0LDRgtGM0YHRjy4iCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MTQKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUhIgogbXNnc3RyICLQo9C20LUg0L7QsdC90L7QstC70LXQvdC+ISIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTgyNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INGB0LvQuNGP0L3QuNGPINC00LXRgNC10LLRjNC10LIgwqslc8K7INC4IMKrJXPCuyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg1NgotIywgYy1mb3JtYXQKLW1zZ2lkICJVbnByb2Nlc3NlZCBwYXRoPz8/ICVzIgotbXNnc3RyICLQndC10L7QsdGA0LDQsdC+0YLQsNC90L3Ri9C5INC/0YPRgtGMPz8/ICVzIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTA0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDA2CiBtc2dpZCAiTWVyZ2luZzoiCiBtc2dzdHIgItCh0LvQuNGP0L3QuNC1OiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkxNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IgogbXNnaWRfcGx1cmFsICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3JzOiIKQEAgLTk0NSwxOSArMjAyNiwzMSBAQAogbXNnc3RyWzJdICLQvdCw0LnQtNC10L3QviAldSDQvtCx0YnQuNGFINC/0YDQtdC00LrQvtCyOiIKIG1zZ3N0clszXSAi0L3QsNC50LTQtdC90L4gJXUg0L7QsdGJ0LjRhSDQv9GA0LXQtNC60L7QsjoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwNTgKIG1zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCiBtc2dzdHIgItGB0LvQuNGP0L3QuNC1INC90LUg0LLQtdGA0L3Rg9C70L4g0LrQvtC80LzQuNGCIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDExCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0L7QsdGK0LXQutGCIMKrJXPCuyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAyMiBidWlsdGluL21lcmdlLmM6NjQ5IGJ1aWx0aW4vbWVyZ2UuYzo4MzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMzUgYnVpbHRpbi9tZXJnZS5jOjY0MSBidWlsdGluL21lcmdlLmM6Nzg4CiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGluZGV4LiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQtdGC0YHRjyDQt9Cw0L/QuNGB0LDRgtGMINC40L3QtNC10LrRgS4iCiAKKyM6IG5vdGVzLW1lcmdlLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG4iCisiUGxlYXNlLCB1c2UgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcgb3IgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyB0byBjb21taXQvYWJvcnQgdGhlIHByZXZpb3VzIG1lcmdlIGJlZm9yZSB5b3Ugc3RhcnQgYSBuZXcgbm90ZXMgbWVyZ2UuIgorbXNnc3RyICLQktGLINC90LUg0LfQsNC60L7QvdGH0LjQu9C4INC/0YDQtdC00YvQtNGD0YnQtdC1INGB0LvQuNGP0L3QuNC1INC30LDQvNC10YLQvtC6ICglcyDRgdGD0YnQtdGB0YLQstGD0LXRgikuXG7Ql9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXTCuyDQuNC70LggwqtnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydMK7INC00LvRjyDQutC+0LzQvNC40YLQsCDQuNC70Lgg0L7RgtC80LXQvdGLINC/0YDQtdC00YvQtNGD0YnQtdCz0L4g0YHQu9C40Y/QvdC40Y8g0Lgg0LfQsNC/0YPRgdC60LAg0L3QvtCy0L7Qs9C+INGB0LvQuNGP0L3QuNGPINC30LDQvNC10YLQvtC6LiIKKworIzogbm90ZXMtbWVyZ2UuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLiIKK21zZ3N0ciAi0JLRiyDQvdC1INC30LDQutC+0L3Rh9C40LvQuCDQv9GA0LXQtNGL0LTRg9GJ0LXQtSDRgdC70LjRj9C90LjQtSDQt9Cw0LzQtdGC0L7QuiAoJXMg0YHRg9GJ0LXRgdGC0LLRg9C10YIpLiIKKwogIzogbm90ZXMtdXRpbHMuYzo0MQogbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKIG1zZ3N0ciAi0J3QtdC70YzQt9GPINC30LDQutC+0LzQvNC40YLQuNGC0Ywg0L3QtdC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDQvdC90L7QtSDQuNC70Lgg0L3QtSDQuNC80LXRjtGJ0LXQtSDRgdGB0YvQu9C+0Log0LTQtdGA0LXQstC+INC30LDQvNC10YLQvtC6IgpAQCAtMTAxNCw3ICsyMTA3LDcgQEAKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJyVzJyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC40LzRjyDQvtCx0YrQtdC60YLQsCDCqyVzwrsiCiAKLSM6IHBhdGguYzo3OTYKKyM6IHBhdGguYzo4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC10LTQvtGB0YLQsNCy0LjRgtGMINC00L7RgdGC0YPQvyDQuiAlcyDQvdCwINC30LDQv9C40YHRjCIKQEAgLTEwNjgsMTIgKzIxNjEsMTggQEAKIG1zZ2lkICIlczogcGF0aHNwZWMgbWFnaWMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvbW1hbmQ6ICVzIgogbXNnc3RyICIlczog0LzQsNCz0LjRh9C10YHQutC40LUg0YHQu9C+0LLQsCDQsiDRgdC/0LXRhtC40YTQuNC60LDRhtC40Lgg0L/Rg9GC0Lgg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNGO0YLRgdGPINC60L7QvNCw0L3QtNC+0Lk6ICVzIgogCi0jOiBwYXRoc3BlYy5jOjQzMworIzogcGF0aHNwZWMuYzo0MDgKK21zZ2lkICIiCisiZW1wdHkgc3RyaW5ncyBhcyBwYXRoc3BlY3Mgd2lsbCBiZSBtYWRlIGludmFsaWQgaW4gdXBjb21pbmcgcmVsZWFzZXMuIHBsZWFzZSIKKyIgdXNlIC4gaW5zdGVhZCBpZiB5b3UgbWVhbnQgdG8gbWF0Y2ggYWxsIHBhdGhzIgorbXNnc3RyICLQv9GD0YHRgtGL0LUg0YHRgtGA0L7QutC4INC60LDQuiDRgdC/0LXRhtC40YTQuNC60LDRgtC+0YDRiyDQv9GD0YLQuCDQsdGD0LTRg9GCINGB0LTQtdC70LDQvdGLINC90LXQtNC+0L/Rg9GB0YLQuNC80YvQvNC4INCyINGB0LvQtdC00YPRjtGJ0LjRhSDQstC10YDRgdC40Y/RhS4g0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQstC80LXRgdGC0L4g0L3QuNGFIMKrLsK7LCDRh9GC0L4g0LfQvdCw0YfQuNGCINGB0L7QvtGC0LLQtdGB0YLQstC40LUg0LLRgdC10Lwg0L/Rg9GC0Y/QvCIKKworIzogcGF0aHNwZWMuYzo0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICLRgdC/0LXRhtC40YTQuNC60LDRhtC40Y8g0L/Rg9GC0Lggwqslc8K7INC90LDRhdC+0LTQuNGC0YHRjyDQt9CwINGB0LjQvNCy0L7Qu9C40YfQtdGB0LrQvtC5INGB0YHRi9C70LrQvtC5IgogCi0jOiBwYXRoc3BlYy5jOjQ0MgorIzogcGF0aHNwZWMuYzo0NDkKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKICJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgpAQCAtMTA4Myw0MSArMjE4MiwzNiBAQAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAtLXByZXR0eSBmb3JtYXQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINGE0L7RgNC80LDRgiDQtNC70Y8gLS1wcmV0dHkiCiAKLSM6IHByb2dyZXNzLmM6MjM1Ci1tc2dpZCAiZG9uZSIKLW1zZ3N0ciAi0LPQvtGC0L7QstC+IgotCi0jOiByZWFkLWNhY2hlLmM6MTI4MQorIzogcmVhZC1jYWNoZS5jOjEzMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImluZGV4LnZlcnNpb24gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCiAiVXNpbmcgdmVyc2lvbiAlaSIKIG1zZ3N0ciAiaW5kZXgudmVyc2lvbiDRg9C60LDQt9Cw0L0sINC90L4g0LfQvdCw0YfQtdC90LjQtSDQvdC10LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L7QtS5cbtCY0YHQv9C+0LvRjNC30YPRjiDQstC10YDRgdC40Y4gJWkiCiAKLSM6IHJlYWQtY2FjaGUuYzoxMjkxCisjOiByZWFkLWNhY2hlLmM6MTMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiR0lUX0lOREVYX1ZFUlNJT04gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCiAiVXNpbmcgdmVyc2lvbiAlaSIKIG1zZ3N0ciAiR0lUX0lOREVYX1ZFUlNJT04g0YPQutCw0LfQsNC9LCDQvdC+INC30L3QsNGH0LXQvdC40LUg0L3QtdC00LXQudGB0YLQstC40YLQtdC70YzQvdC+0LUuXG7QmNGB0L/QvtC70YzQt9GD0Y4g0LLQtdGA0YHQuNGOICVpIgogCi0jOiByZWZzLmM6NTQzIGJ1aWx0aW4vbWVyZ2UuYzo3NjQgYnVpbHRpbi9tZXJnZS5jOjg4MyBidWlsdGluL21lcmdlLmM6OTg1Ci0jOiBidWlsdGluL21lcmdlLmM6OTk1CisjOiByZWZzLmM6NTc2IGJ1aWx0aW4vbWVyZ2UuYzo4NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDCqyVzwrsg0LTQu9GPINC30LDQv9C40YHQuCIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjI0MworIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZSAlczogJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YHRgdGL0LvQutGDICVzOiAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjI0NgorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZXM6ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMINGB0YHRi9C70LrQuDogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjIyNTUKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YHRgdGL0LvQutC4ICVzIgpAQCAtMTI0NiwxMiArMjM0MCwxMiBAQAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0YPRjiDQvdC10L/RgNCw0LLQuNC70YzQvdGD0Y4g0YHRgdGL0LvQutGDICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTY1MQorIzogcmVmLWZpbHRlci5jOjE2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gbWlzc2luZyIKIG1zZ3N0ciAiZm9ybWF0OiDQv9GA0L7Qv9GD0YnQtdC90LAg0YfQsNGB0YLQuNGG0LAgJSUoZW5kKSIKIAotIzogcmVmLWZpbHRlci5jOjE3MDUKKyM6IHJlZi1maWx0ZXIuYzoxNjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC40LzRjyDQvtCx0YrQtdC60YLQsCAlcyIKQEAgLTEyNzUsNjMgKzIzNjksNjMgQEAKIG1zZ2lkICJJbnRlcm5hbCBlcnJvciIKIG1zZ3N0ciAi0JLQvdGD0YLRgNC10L3QvdGP0Y8g0L7RiNC40LHQutCwIgogCi0jOiByZW1vdGUuYzoxNjc4IHJlbW90ZS5jOjE3MjEKKyM6IHJlbW90ZS5jOjE2NzcgcmVtb3RlLmM6MTcyMAogbXNnaWQgIkhFQUQgZG9lcyBub3QgcG9pbnQgdG8gYSBicmFuY2giCiBtc2dzdHIgIkhFQUQg0L3QtSDRg9C60LDQt9GL0LLQsNC10YIg0L3QsCDQstC10YLQutGDIgogCi0jOiByZW1vdGUuYzoxNjg3CisjOiByZW1vdGUuYzoxNjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoOiAnJXMnIgogbXNnc3RyICLQvdC10YIg0YLQsNC60L7QuSDQstC10YLQutC4OiDCqyVzwrsiCiAKLSM6IHJlbW90ZS5jOjE2OTAKKyM6IHJlbW90ZS5jOjE2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgItCy0YvRiNC10YHRgtC+0Y/RidCw0Y8g0LLQtdGC0LrQsCDQvdC1INC90LDRgdGC0YDQvtC10L3QsCDQtNC70Y8g0LLQtdGC0LrQuCDCqyVzwrsiCiAKLSM6IHJlbW90ZS5jOjE2OTYKKyM6IHJlbW90ZS5jOjE2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidXBzdHJlYW0gYnJhbmNoICclcycgbm90IHN0b3JlZCBhcyBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgItCy0YvRiNC10YHRgtC+0Y/RidCw0Y8g0LLQtdGC0LrQsCDCqyVzwrsg0L3QtSDRgdC+0YXRgNCw0L3QtdC90LAg0LrQsNC6INC+0YLRgdC70LXQttC40LLQsNC10LzQsNGPINCy0LXRgtC60LAiCiAKLSM6IHJlbW90ZS5jOjE3MTEKKyM6IHJlbW90ZS5jOjE3MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCBkZXN0aW5hdGlvbiAnJXMnIG9uIHJlbW90ZSAnJXMnIGhhcyBubyBsb2NhbCB0cmFja2luZyBicmFuY2giCiBtc2dzdHIgItC90LDQt9C90LDRh9C10L3QuNC1INC00LvRjyDQvtGC0L/RgNCw0LLQutC4IMKrJXPCuyDQvdCwINCy0L3QtdGI0L3QtdC8INGB0LXRgNCy0LXRgNC1IMKrJXPCuyDQvdC1INC40LzQtdC10YIg0LvQvtC60LDQu9GM0L3QvtC5INC+0YLRgdC70LXQttC40LLQsNC10LzQvtC5INCy0LXRgtC60LgiCiAKLSM6IHJlbW90ZS5jOjE3MjYKKyM6IHJlbW90ZS5jOjE3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAi0LLQtdGC0LrQsCDCqyVzwrsg0L3QtSDQuNC80LXQtdGCINCy0L3QtdGI0L3QtdCz0L4g0YHQtdGA0LLQtdGA0LAg0LTQu9GPINC+0YLQv9GA0LDQstC60LgiCiAKLSM6IHJlbW90ZS5jOjE3MzcKKyM6IHJlbW90ZS5jOjE3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICLRgdC/0LXRhtC40YTQuNC60LDRhtC40Lgg0L/Rg9GC0Lgg0LTQu9GPINC+0YLQv9GA0LDQstC60Lggwqslc8K7INC90LUg0LLQutC70Y7Rh9Cw0Y7RgiDQsiDRgdC10LHRjyDCqyVzwrsiCiAKLSM6IHJlbW90ZS5jOjE3NTAKKyM6IHJlbW90ZS5jOjE3NDkKIG1zZ2lkICJwdXNoIGhhcyBubyBkZXN0aW5hdGlvbiAocHVzaC5kZWZhdWx0IGlzICdub3RoaW5nJykiCiBtc2dzdHIgItC+0YLQv9GA0LDQstC60LAg0L3QtSDQuNC80LXQtdGCINGC0L7Rh9C60Lgg0L3QsNC30L3QsNGH0LXQvdC40Y8gKHB1c2guZGVmYXVsdCDQstGL0YHRgtCw0LLQu9C10L0g0LIgwqtub3RoaW5nwrspIgogCi0jOiByZW1vdGUuYzoxNzcyCisjOiByZW1vdGUuYzoxNzcxCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgJ3NpbXBsZScgcHVzaCB0byBhIHNpbmdsZSBkZXN0aW5hdGlvbiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0YwgwqtzaW1wbGXCuyDQvtGC0L/RgNCw0LLQutGDINCyINC10LTQuNC90YHRgtCy0LXQvdC90YPRjiDRgtC+0YfQutGDINC90LDQt9C90LDRh9C10L3QuNGPIgogCi0jOiByZW1vdGUuYzoyMDc0CisjOiByZW1vdGUuYzoyMDczCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIKIG1zZ3N0ciAi0JLQsNGI0LAg0LLQtdGC0LrQsCDQsdCw0LfQuNGA0YPQtdGC0YHRjyDQvdCwIMKrJXPCuywg0L3QviDQstGL0YjQtdGB0YLQvtGP0YnQuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0LjRgdGH0LXQty5cbiIKIAotIzogcmVtb3RlLmM6MjA3OAorIzogcmVtb3RlLmM6MjA3NwogbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgogbXNnc3RyICIo0LTQu9GPINC40YHQv9GA0LDQstC70LXQvdC40Y8g0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtwrspXG4iCiAKLSM6IHJlbW90ZS5jOjIwODEKKyM6IHJlbW90ZS5jOjIwODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgdXAtdG8tZGF0ZSB3aXRoICclcycuXG4iCiBtc2dzdHIgItCS0LDRiNCwINCy0LXRgtC60LAg0L7QsdC90L7QstC70LXQvdCwINCyINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjQuCDRgSDCqyVzwrsuXG4iCiAKLSM6IHJlbW90ZS5jOjIwODUKKyM6IHJlbW90ZS5jOjIwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKQEAgLTEzNDAsMTEgKzI0MzQsMTEgQEAKIG1zZ3N0clsyXSAi0JLQsNGI0LAg0LLQtdGC0LrQsCDQvtC/0LXRgNC10LbQsNC10YIgwqslc8K7INC90LAgJWQg0LrQvtC80LzQuNGC0L7Qsi5cbiIKIG1zZ3N0clszXSAi0JLQsNGI0LAg0LLQtdGC0LrQsCDQvtC/0LXRgNC10LbQsNC10YIgwqslc8K7INC90LAgJWQg0LrQvtC80LzQuNGC0L7Qsi5cbiIKIAotIzogcmVtb3RlLmM6MjA5MQorIzogcmVtb3RlLmM6MjA5MAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgcHVzaMK7LCDRh9GC0L7QsdGLINC+0L/Rg9Cx0LvQuNC60L7QstCw0YLRjCDQstCw0YjQuCDQu9C+0LrQsNC70YzQvdGL0LUg0LrQvtC80LzQuNGC0YspXG4iCiAKLSM6IHJlbW90ZS5jOjIwOTQKKyM6IHJlbW90ZS5jOjIwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCkBAIC0xMzU0LDExICsyNDQ4LDExIEBACiBtc2dzdHJbMl0gItCS0LDRiNCwINCy0LXRgtC60LAg0L7RgtGB0YLQsNC10YIg0L7RgiDCqyVzwrsg0L3QsCAlZCDQutC+0LzQvNC40YLQvtCyINC4INC80L7QttC10YIg0LHRi9GC0Ywg0L/QtdGA0LXQvNC+0YLQsNC90LAg0LLQv9C10YDQtdC0LlxuIgogbXNnc3RyWzNdICLQktCw0YjQsCDQstC10YLQutCwINC+0YLRgdGC0LDQtdGCINC+0YIgwqslc8K7INC90LAgJWQg0LrQvtC80LzQuNGC0L7QsiDQuCDQvNC+0LbQtdGCINCx0YvRgtGMINC/0LXRgNC10LzQvtGC0LDQvdCwINCy0L/QtdGA0LXQtC5cbiIKIAotIzogcmVtb3RlLmM6MjEwMgorIzogcmVtb3RlLmM6MjEwMQogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHB1bGzCuywg0YfRgtC+0LHRiyDQvtCx0L3QvtCy0LjRgtGMINCy0LDRiNGDINC70L7QutCw0LvRjNC90YPRjiDQstC10YLQutGDKVxuIgogCi0jOiByZW1vdGUuYzoyMTA1CisjOiByZW1vdGUuYzoyMTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgpAQCAtMTM3MSwyODQgKzI0NjUsMzM2IEBACiBtc2dzdHJbMl0gItCS0LDRiNCwINCy0LXRgtC60LAg0Lggwqslc8K7INGA0LDQt9C00LXQu9C40LvQuNGB0YxcbtC4INGC0LXQv9C10YDRjCDQuNC80LXRjtGCICVkINC4ICVkINGA0LDQt9C90YvRhSDQutC+0LzQvNC40YLQvtCyINCyINC60LDQttC00L7QuSDRgdC+0L7RgtCy0LXRgtGB0YLQstC10L3QvdC+LlxuIgogbXNnc3RyWzNdICLQktCw0YjQsCDQstC10YLQutCwINC4IMKrJXPCuyDRgNCw0LfQtNC10LvQuNC70LjRgdGMXG7QuCDRgtC10L/QtdGA0Ywg0LjQvNC10Y7RgiAlZCDQuCAlZCDRgNCw0LfQvdGL0YUg0LrQvtC80LzQuNGC0L7QsiDQsiDQutCw0LbQtNC+0Lkg0YHQvtC+0YLQstC10YLRgdGC0LLQtdC90L3Qvi5cbiIKIAotIzogcmVtb3RlLmM6MjExNQorIzogcmVtb3RlLmM6MjExNAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycylcbiIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBwdWxswrssINGH0YLQvtCx0Ysg0YHQu9C40YLRjCDQstC90LXRiNC90Y7RjiDQstC10YLQutGDINCyINCy0LDRiNGDKVxuIgogCi0jOiByZXZpc2lvbi5jOjIxNDIKKyM6IHJldmlzaW9uLmM6MjE1OAogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggYXBwZWFycyB0byBiZSBicm9rZW4iCiBtc2dzdHIgItC/0L7RhdC+0LbQtSwg0LLQsNGI0LAg0YLQtdC60YPRidCw0Y8g0LLQtdGC0LrQsCDQv9C+0LLRgNC10LbQtNC10L3QsCIKIAotIzogcmV2aXNpb24uYzoyMTQ1CisjOiByZXZpc2lvbi5jOjIxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnIGRvZXMgbm90IGhhdmUgYW55IGNvbW1pdHMgeWV0IgogbXNnc3RyICLQstCw0YjQsCDRgtC10LrRg9GJ0LDRjyDQstC10YLQutCwIMKrJXPCuyDQtdGJ0LUg0L3QtSDRgdC+0LTQtdGA0LbQuNGCINC90Lgg0L7QtNC90L7Qs9C+INC60L7QvNC80LjRgtCwIgogCi0jOiByZXZpc2lvbi5jOjIzMzkKKyM6IHJldmlzaW9uLmM6MjM1NQogbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgogbXNnc3RyICLQvtC/0YbQuNGOIC0tZmlyc3QtcGFyZW50INC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INGBIC0tYmlzZWN0IgogCi0jOiBydW4tY29tbWFuZC5jOjkyCisjOiBydW4tY29tbWFuZC5jOjEwNgogbXNnaWQgIm9wZW4gL2Rldi9udWxsIGZhaWxlZCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L7RgtC60YDRi9GC0LjRjyAvZGV2L251bGwiCiAKLSM6IHJ1bi1jb21tYW5kLmM6OTQKKyM6IHJ1bi1jb21tYW5kLmM6MTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKIG1zZ3N0ciAiZHVwMiglZCwlZCkg0YHQsdC+0LkiCiAKLSM6IHNlbmQtcGFjay5jOjI5NQorIzogc2VuZC1wYWNrLmM6Mjk3CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgItGB0LHQvtC5INC/0L7QtNC/0LjRgdCw0L3QuNGPINGB0LXRgNGC0LjRhNC40LrQsNGC0LAg0L7RgtC/0YDQsNCy0LrQuCIKIAotIzogc2VuZC1wYWNrLmM6NDA0CisjOiBzZW5kLXBhY2suYzo0MTAKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIHB1c2giCiBtc2dzdHIgItC/0YDQuNC90LjQvNCw0Y7RidCw0Y8g0YHRgtC+0YDQvtC90LAg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0L7RgtC/0YDQsNCy0LrRgyDRgSDQvtC/0YbQuNC10LkgLS1zaWduZWQiCiAKLSM6IHNlbmQtcGFjay5jOjQwNgorIzogc2VuZC1wYWNrLmM6NDEyCiBtc2dpZCAiIgogIm5vdCBzZW5kaW5nIGEgcHVzaCBjZXJ0aWZpY2F0ZSBzaW5jZSB0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0ICIKICItLXNpZ25lZCBwdXNoIgogbXNnc3RyICLQvdC1INC+0YLQv9GA0LDQstC70Y/QtdC8INGB0LXRgNGC0LjRhNC40LrQsNGCINC00LvRjyDQvtGC0L/RgNCw0LLQutC4LCDRgtCw0Log0LrQsNC6INC/0YDQuNC90LjQvNCw0Y7RidCw0Y8g0YHRgtC+0YDQvtC90LAg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0L7RgtC/0YDQsNCy0LrRgyDRgSDQvtC/0YbQuNC10LkgLS1zaWduZWQiCiAKLSM6IHNlbmQtcGFjay5jOjQxOAorIzogc2VuZC1wYWNrLmM6NDI0CiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLWF0b21pYyBwdXNoIgogbXNnc3RyICLQv9GA0LjQvdC40LzQsNGO0YnQsNGPINGB0YLQvtGA0L7QvdCwINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINC+0YLQv9GA0LDQstC60YMg0YEg0L7Qv9GG0LjQtdC5IC0tYXRvbWljIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzQKKyM6IHNlbmQtcGFjay5jOjQyOQorbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgorbXNnc3RyICLQv9GA0LjQvdC40LzQsNGO0YnQsNGPINGB0YLQvtGA0L7QvdCwINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINC+0YLQv9GA0LDQstC60YMg0YEg0L7Qv9GG0LjRj9C80LgiCisKKyM6IHNlcXVlbmNlci5jOjE3MQorbXNnaWQgInJldmVydCIKK21zZ3N0ciAi0L7QsdGA0LDRgtC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8iCisKKyM6IHNlcXVlbmNlci5jOjE3MQorbXNnaWQgImNoZXJyeS1waWNrIgorbXNnc3RyICLQutC+0L/QuNGA0L7QstCw0YLRjCDQutC+0LzQvNC40YIiCisKKyM6IHNlcXVlbmNlci5jOjIyOAogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgogbXNnc3RyICLQv9C+0YHQu9C1INGA0LDQt9GA0LXRiNC10L3QuNGPINC60L7QvdGE0LvQuNC60YLQvtCyLCDQv9C+0LzQtdGC0YzRgtC1INC40YHQv9GA0LDQstC70LXQvdC90YvQtSDQv9GD0YLQuFxu0YEg0L/QvtC80L7RidGM0Y4gwqtnaXQgYWRkIDzQv9GD0YLQuD7CuyDQuNC70LggwqtnaXQgcm0gPNC/0YPRgtC4PsK7IgogCi0jOiBzZXF1ZW5jZXIuYzoxNzcKKyM6IHNlcXVlbmNlci5jOjIzMQogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nXG4iCiAiYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggJ2dpdCBjb21taXQnIgogbXNnc3RyICLQv9C+0YHQu9C1INGA0LDQt9GA0LXRiNC10L3QuNGPINC60L7QvdGE0LvQuNC60YLQvtCyLCDQv9C+0LzQtdGC0YzRgtC1INC40YHQv9GA0LDQstC70LXQvdC90YvQtSDQv9GD0YLQuFxu0YEg0L/QvtC80L7RidGM0Y4gwqtnaXQgYWRkIDzQv9GD0YLQuD7CuyDQuNC70LggwqtnaXQgcm0gPNC/0YPRgtC4PsK7XG7QuCDRgdC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDRgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCBjb21taXTCuyIKIAotIzogc2VxdWVuY2VyLmM6MTkwIHNlcXVlbmNlci5jOjgzMyBzZXF1ZW5jZXIuYzo5MTIKKyM6IHNlcXVlbmNlci5jOjI0NCBzZXF1ZW5jZXIuYzoxMjA5CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAlcyIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINCyICVzIgorbXNnaWQgImNvdWxkIG5vdCBsb2NrICclcyciCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNCx0LvQvtC60LjRgNC+0LLQsNGC0Ywgwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzoxOTMKKyM6IHNlcXVlbmNlci5jOjI0NyBzZXF1ZW5jZXIuYzoxMTI1IHNlcXVlbmNlci5jOjEyMTQKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRXJyb3Igd3JhcHBpbmcgdXAgJXMiCi1tc2dzdHIgItCe0YjQuNCx0LrQsCDQvtCx0L7RgNCw0YfQuNCy0LDQvdC40Y8gJXMiCittc2dpZCAiY291bGQgbm90IHdyaXRlIHRvICclcyciCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDQsiDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjIwOAotbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVycnktcGljay4iCi1tc2dzdHIgItCS0LDRiNC4INC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40LUg0LHRg9C00YPRgiDQv9C10YDQtdC30LDQv9C40YHQsNC90Ysg0L7RgtCx0L7RgNC+0Lwg0LvRg9GH0YjQtdCz0L4uIgorIzogc2VxdWVuY2VyLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMIGVvbCDQsiDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjIxMAotbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSByZXZlcnQuIgotbXNnc3RyICLQktCw0YjQuCDQu9C+0LrQsNC70YzQvdGL0LUg0LjQt9C80LXQvdC10L3QuNC1INCx0YPQtNGD0YIg0L/QtdGA0LXQt9Cw0L/QuNGB0LDQvdGLINCy0L7Qt9Cy0YDQsNGC0L7QvCDQutC+0LzQvNC40YLQsC4iCisjOiBzZXF1ZW5jZXIuYzoyNTUgc2VxdWVuY2VyLmM6MTEzMCBzZXF1ZW5jZXIuYzoxMjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSAnJXMnLiIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LLQtdGA0YjQuNGC0Ywgwqslc8K7LiIKIAotIzogc2VxdWVuY2VyLmM6MjEzCi1tc2dpZCAiQ29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQuIgotbXNnc3RyICLQodC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDQuNC70Lgg0YHQv9GA0Y/Rh9GM0YLQtSDQstCw0YjQuCDQuNC30LzQtdC90LXQvdC40Y8g0LTQu9GPINC/0YDQvtC00L7Qu9C20LXQvdC40Y8uIgorIzogc2VxdWVuY2VyLmM6Mjc5IGJ1aWx0aW4vYW0uYzoyNTkgYnVpbHRpbi9jb21taXQuYzo3NDkgYnVpbHRpbi9tZXJnZS5jOjEwMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywgwqslc8K7IgorCisjOiBzZXF1ZW5jZXIuYzozMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzLiIKK21zZ3N0ciAi0LLQsNGI0Lgg0LvQvtC60LDQu9GM0L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyAlcy4iCisKKyM6IHNlcXVlbmNlci5jOjMwOQorbXNnaWQgImNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKK21zZ3N0ciAi0LTQu9GPINC/0YDQvtC00L7Qu9C20LXQvdC40Y8g0LfQsNC60L7QvNC80LjRgtGM0YLQtSDQstCw0YjQuCDQuNC30LzQtdC90LXQvdC40Y8g0LjQu9C4INGB0L/RgNGP0YfRjNGC0LUg0LjRhS4iCisKKyM6IHNlcXVlbmNlci5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFzdC1mb3J3YXJkIgorbXNnc3RyICIlczog0L/QtdGA0LXQvNC+0YLQutCwINCy0L/QtdGA0LXQtCIKIAogIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIgb3IgImNoZXJyeS1waWNrIgotIzogc2VxdWVuY2VyLmM6MzAwCisjOiBzZXF1ZW5jZXIuYzozOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6INCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDRhNCw0LnQuyDQuNC90LTQtdC60YHQsCIKIAotIzogc2VxdWVuY2VyLmM6MzE4Ci1tc2dpZCAiQ291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCBIRUFEINC60L7QvNC80LjRglxuIgorIzogc2VxdWVuY2VyLmM6NDE4Cittc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0YHQv9C+0LfQvdCw0YLRjCBIRUFEINC60L7QvNC80LjRglxuIgogCi0jOiBzZXF1ZW5jZXIuYzozMzgKLW1zZ2lkICJVbmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINC00LXRgNC10LLQviDQutGN0YjQsFxuIgorIzogc2VxdWVuY2VyLmM6NDM4Cittc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlXG4iCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDQtNC10YDQtdCy0L4g0LrRjdGI0LBcbiIKIAotIzogc2VxdWVuY2VyLmM6MzkwCisjOiBzZXF1ZW5jZXIuYzo0ODMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQutC+0LzQvNC40YIgJXNcbiIKK21zZ2lkICIiCisieW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWVcbiIKKyJJZiB0aGVzZSBjaGFuZ2VzIGFyZSBtZWFudCB0byBiZSBzcXVhc2hlZCBpbnRvIHRoZSBwcmV2aW91cyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAlc1xuIgorIlxuIgorIklmIHRoZXkgYXJlIG1lYW50IHRvIGdvIGludG8gYSBuZXcgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICVzXG4iCisiXG4iCisiSW4gYm90aCBjYXNlcywgb25jZSB5b3UncmUgZG9uZSwgY29udGludWUgd2l0aDpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorbXNnc3RyICLRgyDQstCw0YEg0LjQvNC10Y7RgtGB0Y8g0L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1LiDQldGB0LvQuCDRjdGC0Lgg0LjQt9C80LXQvdC10L3QuNGPINC00L7Qu9C20L3RiyDQsdGL0YLRjCDQvtCx0YrQtdC00LXQvdC10L3RiyDRgSDQv9GA0LXQtNGL0LTRg9GJ0LjQvCDQutC+0LzQvNC40YLQvtC8LCDRgtC+INC30LDQv9GD0YHRgtC40YLQtTpcblxuICBnaXQgY29tbWl0IC0tYW1lbmQgJXNcblxu0JXRgdC70Lgg0LbQtSDQvtC90Lgg0LTQvtC70LbQvdGLINCx0YvRgtGMINC/0L7QvNC10YnQtdC90Ysg0LIg0L3QvtCy0YvQuSDQutC+0LzQvNC40YIsINGC0L4g0LfQsNC/0YPRgdGC0LjRgtC1OlxuXG4gIGdpdCBjb21taXQgJXNcblxu0JIg0LvRjtCx0L7QvCDRgdC70YPRh9Cw0LUsINC/0L7RgdC70LUg0YLQvtCz0L4g0LrQsNC6INCy0Ysg0LfQsNC60L7QvdGH0LjRgtC1LCDQv9GA0L7QtNC+0LvQttC40YLRjCDQv9C10YDQtdC80LXRidC10L3QuNC1INC80L7QttC90L4g0LLRi9C/0L7Qu9C90LjQsjpcblxuICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogc2VxdWVuY2VyLmM6Mzk1CisjOiBzZXF1ZW5jZXIuYzo1NjcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXNcbiIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60L7QvNC80LjRgiAlc1xuIgorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXNcbiIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0LrQvtC80LzQuNGCICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQ2MAotbXNnaWQgIllvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCi1tc2dzdHIgItCS0LDRiCDRhNCw0LnQuyDQuNC90LTQtdC60YHQsCDQvdC1INGB0LvQuNGCLiIKLQotIzogc2VxdWVuY2VyLmM6NDc5CisjOiBzZXF1ZW5jZXIuYzo1NzIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgotbXNnc3RyICLQmtC+0LzQvNC40YIgJXMg4oCUINGN0YLQviDQutC+0LzQvNC40YIt0YHQu9C40Y/QvdC40LUsINC90L4g0L7Qv9GG0LjRjyAtbSDQvdC1INGD0LrQsNC30LDQvdCwLiIKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDRgNC+0LTQuNGC0LXQu9GM0YHQutC40Lkg0LrQvtC80LzQuNGCICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQ4NworIzogc2VxdWVuY2VyLmM6NjU2Cittc2dpZCAieW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKK21zZ3N0ciAi0LLQsNGIINC40L3QtNC10LrRgSDQvdC1INGB0LvQuNGCLiIKKworIzogc2VxdWVuY2VyLmM6Njc1CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKLW1zZ3N0ciAi0KMg0LrQvtC80LzQuNGC0LAgJXMg0L3QtdGCINC/0YDQtdC00LrQsCAlZCIKK21zZ2lkICJjb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCittc2dzdHIgItC60L7QvNC80LjRgiAlcyDigJQg0Y3RgtC+INC60L7QvNC80LjRgi3RgdC70LjRj9C90LjQtSwg0L3QviDQvtC/0YbQuNGPIC1tINC90LUg0YPQutCw0LfQsNC90LAuIgogCi0jOiBzZXF1ZW5jZXIuYzo0OTEKKyM6IHNlcXVlbmNlci5jOjY4MwogIywgYy1mb3JtYXQKLW1zZ2lkICJNYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgotbXNnc3RyICLQntGB0L3QvtCy0L3QsNGPINCy0LXRgtC60LAg0YPQutCw0LfQsNC90LAsINC90L4g0LrQvtC80LzQuNGCICVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDRgdC70LjRj9C90LjQtdC8LiIKK21zZ2lkICJjb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCittc2dzdHIgItGDINC60L7QvNC80LjRgtCwICVzINC90LXRgiDQv9GA0LXQtNC60LAgJWQiCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSAicmV2ZXJ0IiBvcgotIy4gImNoZXJyeS1waWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEKLSM6IHNlcXVlbmNlci5jOjUwNAorIzogc2VxdWVuY2VyLmM6Njg3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCittc2dzdHIgItC+0YHQvdC+0LLQvdCw0Y8g0LLQtdGC0LrQsCDRg9C60LDQt9Cw0L3QsCwg0L3QviDQutC+0LzQvNC40YIgJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINGB0LvQuNGP0L3QuNC10LwuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCisjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgorIzogc2VxdWVuY2VyLmM6NzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINGA0L7QtNC40YLQtdC70YzRgdC60LjQuSDQutC+0LzQvNC40YIg0LTQu9GPICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo1MDgKKyM6IHNlcXVlbmNlci5jOjcwNQogIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsCDQtNC70Y8gJXMiCittc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0LTQu9GPICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo1OTQKKyM6IHNlcXVlbmNlci5jOjc5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmV2ZXJ0ICVzLi4uICVzIgotbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0L7Qt9Cy0YDQsNGC0LjRgtGMINC60L7QvNC80LjRgiAlc+KApiAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0YDQsNGC0LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDQutC+0LzQvNC40YLQsCAlc+KApiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NTk1CisjOiBzZXF1ZW5jZXIuYzo3OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGFwcGx5ICVzLi4uICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQuNC80LXQvdC40YLRjCDQutC+0LzQvNC40YIgJXPigKYgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjYzMAorIzogc2VxdWVuY2VyLmM6ODMzCiBtc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCiBtc2dzdHIgItC/0LXRgNC10LTQsNC9INC/0YPRgdGC0L7QuSDQvdCw0LHQvtGAINC60L7QvNC80LjRgtC+0LIiCiAKLSM6IHNlcXVlbmNlci5jOjYzOAorIzogc2VxdWVuY2VyLmM6ODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6INGB0LHQvtC5INGH0YLQtdC90LjRjyDQuNC90LTQtdC60YHQsCIKIAotIzogc2VxdWVuY2VyLmM6NjQyCisjOiBzZXF1ZW5jZXIuYzo4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczog0YHQsdC+0Lkg0L7QsdC90L7QstC70LXQvdC40Y8g0LjQvdC00LXQutGB0LAiCiAKLSM6IHNlcXVlbmNlci5jOjcwMgorIzogc2VxdWVuY2VyLmM6OTQ0CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCAlcyBkdXJpbmcgYSAlcyIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCAlcyDQstC+INCy0YDQtdC80Y8gJXMiCittc2dpZCAiaW52YWxpZCBsaW5lICVkOiAlLipzIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0YHRgtGA0L7QutCwICVkOiAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzo3MjQKKyM6IHNlcXVlbmNlci5jOjk1MAorbXNnaWQgIm5vIGNvbW1pdHMgcGFyc2VkLiIKK21zZ3N0ciAi0LrQvtC80LzQuNGC0Ysg0L3QtSDRgNCw0LfQvtCx0YDQsNC90YsuIgorCisjOiBzZXF1ZW5jZXIuYzo5NjYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHBhcnNlIGxpbmUgJWQuIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDRgdGC0YDQvtC60YMgJWQuIgorbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDCqyVzwrsuIgogCi0jOiBzZXF1ZW5jZXIuYzo3MjkKLW1zZ2lkICJObyBjb21taXRzIHBhcnNlZC4iCi1tc2dzdHIgItCa0L7QvNC80LjRgtGLINC90LUg0YDQsNC30L7QsdGA0LDQvdGLLiIKLQotIzogc2VxdWVuY2VyLmM6NzQxCisjOiBzZXF1ZW5jZXIuYzo5NzIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG9wZW4gJXMiCi1tc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0YwgJXMiCittc2dpZCAidW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICclcyciCittc2dzdHIgItC90LXQv9GA0LjQs9C+0LTQvdCw0Y8g0LTQu9GPINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPINC60LDRgNGC0LAg0YEg0LjQvdGB0YLRgNGD0LrRhtC40Y/QvNC4OiDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjc0NQorIzogc2VxdWVuY2VyLmM6OTgzCittc2dpZCAiY2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhIHJldmVydC4iCittc2dzdHIgItC90LXQu9GM0LfRjyDRgdC60L7Qv9C40YDQvtCy0LDRgtGMINC60L7QvNC80LjRgiDQstC+INCy0YDQtdC80Y8g0L/RgNC+0YbQtdGB0YHQsCDQvtCx0YDQsNGJ0LXQvdC40Y8g0LrQvtC80LzQuNGC0LAuIgorCisjOiBzZXF1ZW5jZXIuYzo5ODUKK21zZ2lkICJjYW5ub3QgcmV2ZXJ0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKK21zZ3N0ciAi0L3QtdC70YzQt9GPINC+0LHRgNCw0YLQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINC60L7QvNC80LjRgtCwINCy0L4g0LLRgNC10LzRjyDQutC+0L/QuNGA0L7QstCw0L3QuNGPINC60L7QvNC80LjRgtCwLiIKKworIzogc2VxdWVuY2VyLmM6MTAyOAogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcmVhZCAlcy4iCi1tc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMICVzLiIKK21zZ2lkICJpbnZhbGlkIGtleTogJXMiCittc2dzdHIgItC90LXQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Ri9C5INC60LvRjtGHOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NzUyCisjOiBzZXF1ZW5jZXIuYzoxMDMxCiAjLCBjLWZvcm1hdAotbXNnaWQgIlVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAlcyIKLW1zZ3N0ciAi0J3QtdC/0YDQuNCz0L7QtNC90LDRjyDQtNC70Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0LrQsNGA0YLQsCDRgSDQuNC90YHRgtGA0YPQutGG0LjRj9C80Lg6ICVzIgorbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUgJXM6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo3ODIKKyM6IHNlcXVlbmNlci5jOjEwNjMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCBrZXk6ICVzIgotbXNnc3RyICLQndC10LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQuSDQutC70Y7RhzogJXMiCittc2dpZCAibWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICclcyciCittc2dzdHIgItC40YHQv9C+0YDRh9C10L3QvdCw0Y8g0LrQsNGA0YLQsCDRgSDQvtC/0YbQuNGP0LzQuDogwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzo3ODUgYnVpbHRpbi9wdWxsLmM6NTAgYnVpbHRpbi9wdWxsLmM6NTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgotbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSAlczogJXMiCi0KLSM6IHNlcXVlbmNlci5jOjc5NQotIywgYy1mb3JtYXQKLW1zZ2lkICJNYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJXMiCi1tc2dzdHIgItCf0L7QstGA0LXQttC00ZHQvdC90LDRjyDQutCw0YDRgtCwINGBINC+0L/RhtC40Y/QvNC4OiAlcyIKLQotIzogc2VxdWVuY2VyLmM6ODE0CisjOiBzZXF1ZW5jZXIuYzoxMTAxCiBtc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKLW1zZ3N0ciAi0L7RgtCx0L7RgCDQu9GD0YfRiNC10LPQviDQuNC70Lgg0LLQvtC30LLRgNCw0YIg0LrQvtC80LzQuNGC0LAg0YPQttC1INCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8iCittc2dzdHIgItC60L7Qv9C40YDQvtCy0LDQvdC40LUg0LjQu9C4INC+0LHRgNCw0YnQtdC90LjQtSDQuNC30LzQtdC90LXQvdC40Lkg0LrQvtC80LzQuNGC0LAg0YPQttC1INCy0YvQv9C+0LvQvdGP0Y7RgtGB0Y8iCiAKLSM6IHNlcXVlbmNlci5jOjgxNQorIzogc2VxdWVuY2VyLmM6MTEwMgogbXNnaWQgInRyeSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCiBtc2dzdHIgItC/0L7Qv9GA0L7QsdGD0LnRgtC1IMKrZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydCnCuyIKIAotIzogc2VxdWVuY2VyLmM6ODE5CisjOiBzZXF1ZW5jZXIuYzoxMTA2CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAlcyIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQutCw0YLQsNC70L7QsyDQtNC70Y8g0YPQutCw0LfQsNGC0LXQu9GPINGB0LvQtdC00L7QstCw0L3QuNGPINC60L7QvNC80LjRgtC+0LIgJXMiCittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICclcyciCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LrQsNGC0LDQu9C+0LMg0LTQu9GPINGD0LrQsNC30LDRgtC10LvRjyDRgdC70LXQtNC+0LLQsNC90LjRjyDQutC+0LzQvNC40YLQvtCyIMKrJXPCuyIKIAotIzogc2VxdWVuY2VyLmM6ODM1IHNlcXVlbmNlci5jOjkxNgotIywgYy1mb3JtYXQKLW1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcy4iCi1tc2dzdHIgItCe0YjQuNCx0LrQsCDQvtCx0L7RgNCw0YfQuNCy0LDQvdC40Y8gJXMuIgorIzogc2VxdWVuY2VyLmM6MTEyMAorbXNnaWQgImNvdWxkIG5vdCBsb2NrIEhFQUQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNCx0LvQvtC60LjRgNC+0LLQsNGC0YwgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6ODU0IHNlcXVlbmNlci5jOjk4NgorIzogc2VxdWVuY2VyLmM6MTE1MSBzZXF1ZW5jZXIuYzoxMjg5CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgotbXNnc3RyICLQvtGC0LHQvtGAINC70YPRh9GI0LXQs9C+INC40LvQuCDQstC+0LfQstGA0LDRgiDQutC+0LzQvNC40YLQsCDQvdC1INCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8iCittc2dzdHIgItC60L7Qv9C40YDQvtCy0LDQvdC40LUg0LjQu9C4INC+0LHRgNCw0YnQtdC90LjQtSDQuNC30LzQtdC90LXQvdC40Lkg0LrQvtC80LzQuNGC0LAg0YPQttC1INCy0YvQv9C+0LvQvdGP0Y7RgtGB0Y8iCiAKLSM6IHNlcXVlbmNlci5jOjg1NgorIzogc2VxdWVuY2VyLmM6MTE1MwogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0YwgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6ODU4CisjOiBzZXF1ZW5jZXIuYzoxMTU1IHNlcXVlbmNlci5jOjExODkKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC+0YLQvNC10L3QuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINGBINCy0LXRgtC60LgsINC60L7RgtC+0YDQsNGPINC10YnQtSDQvdC1INGB0L7Qt9C00LDQvdCwIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzggYnVpbHRpbi9mZXRjaC5jOjYxMCBidWlsdGluL2ZldGNoLmM6ODUxCisjOiBzZXF1ZW5jZXIuYzoxMTc1IGJ1aWx0aW4vZ3JlcC5jOjU3OAogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCAlcyIKK21zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMIMKrJXPCuyIKIAotIzogc2VxdWVuY2VyLmM6ODgwCisjOiBzZXF1ZW5jZXIuYzoxMTc3CiAjLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkICVzOiAlcyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0YwgJXM6ICVzIgorbXNnaWQgImNhbm5vdCByZWFkICclcyc6ICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDCqyVzwrs6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4ODEKKyM6IHNlcXVlbmNlci5jOjExNzgKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICLQvdC10L7QttC40LTQsNC90L3Ri9C5INC60L7QvdC10YYg0YTQsNC50LvQsCIKIAotIzogc2VxdWVuY2VyLmM6ODg3CisjOiBzZXF1ZW5jZXIuYzoxMTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKLW1zZ3N0ciAi0YHQvtGF0YDQsNC90LXQvdC90YvQuSDRhNCw0LnQuyDRgSBIRUFEINC/0LXRgNC10LQg0L7RgtCx0L7RgNC+0Lwg0LvRg9GH0YjQtdCz0L4gwqslc8K7INC/0L7QstGA0LXQttC00LXQvSIKK21zZ3N0ciAi0YHQvtGF0YDQsNC90LXQvdC90YvQuSDRhNCw0LnQuyDRgSBIRUFEINC/0LXRgNC10LQg0LrQvtC/0LjRgNC+0LLQsNC90LjQtdC8INC60L7QvNC80LjRgtCwIMKrJXPCuyDQv9C+0LLRgNC10LbQtNC10L0iCiAKLSM6IHNlcXVlbmNlci5jOjkwOQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgZm9ybWF0ICVzLiIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNGC0YwgJXMuIgotCi0jOiBzZXF1ZW5jZXIuYzoxMDU0CisjOiBzZXF1ZW5jZXIuYzoxMzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgotbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0L7QsdGA0LDRgtGMICVzIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC60L7Qv9C40YDQvtCy0LDRgtGMINC60L7QvNC80LjRgiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTA1NworIzogc2VxdWVuY2VyLmM6MTM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHJldmlzaW9uIgogbXNnc3RyICIlczog0L/Qu9C+0YXQsNGPINGA0LXQtNCw0LrRhtC40Y8iCiAKLSM6IHNlcXVlbmNlci5jOjEwOTEKLW1zZ2lkICJDYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCi1tc2dzdHIgItCd0LXQu9GM0LfRjyDQstC+0LfQstGA0LDRgtC40YLRjCDQuNC30L3QsNGH0LDQu9GM0L3Ri9C5INC60L7QvNC80LjRgiIKKyM6IHNlcXVlbmNlci5jOjEzOTEKK21zZ2lkICJjYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCittc2dzdHIgItC90LXQu9GM0LfRjyDQstC+0LfQstGA0LDRgtC40YLRjCDQuNC30L3QsNGH0LDQu9GM0L3Ri9C5INC60L7QvNC80LjRgiIKIAotIzogc2VxdWVuY2VyLmM6MTA5MgotbXNnaWQgIkNhbid0IGNoZXJyeS1waWNrIGludG8gZW1wdHkgaGVhZCIKLW1zZ3N0ciAi0J3QtdC70YzQt9GPINC+0YLQvtCx0YDQsNGC0Ywg0LvRg9GH0YjQtdC1INCyINC/0YPRgdGC0YPRjiDQstC10YLQutGDIgotCi0jOiBzZXR1cC5jOjI0OAorIzogc2V0dXAuYzoxNjAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXMiCi1tc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMICVzIgorbXNnaWQgIiIKKyIlczogbm8gc3VjaCBwYXRoIGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCisiVXNlICdnaXQgPGNvbW1hbmQ+IC0tIDxwYXRoPi4uLicgdG8gc3BlY2lmeSBwYXRocyB0aGF0IGRvIG5vdCBleGlzdCBsb2NhbGx5LiIKK21zZ3N0ciAiJXM6INC90LXRgiDRgtCw0LrQvtCz0L4g0L/Rg9GC0Lgg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtS5cbtCY0YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgPNC60L7QvNCw0L3QtNCwPiAtLSA80L/Rg9GC0Yw+4oCmwrsg0LTQu9GPINGD0LrQsNC30LDQvdC40Y8g0L/Rg9GC0LXQuSwg0LrQvtGC0L7RgNGL0LUg0L3QtSDRgdGD0YnQtdGB0YLQstGD0Y7RgiDQu9C+0LrQsNC70YzQvdC+LiIKKworIzogc2V0dXAuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiB1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCisiVXNlICctLScgdG8gc2VwYXJhdGUgcGF0aHMgZnJvbSByZXZpc2lvbnMsIGxpa2UgdGhpczpcbiIKKyInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgorbXNnc3RyICLQvdC10L7QtNC90L7Qt9C90LDRh9C90YvQuSDQsNGA0LPRg9C80LXQvdGCIMKrJXPCuzog0L3QtdC40LfQstC10YHRgtC90LDRjyDRgNC10LTQsNC60YbQuNGPINC40LvQuCDQvdC1INC/0YPRgtGMINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUuXG7QmNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrLS3CuyDQtNC70Y8g0L7RgtC00LXQu9C10L3QuNGPINC/0YPRgtC10Lkg0L7RgiDRgNC10LTQsNC60YbQuNC5LCDQstC+0YIg0YLQsNC6OlxuwqtnaXQgPNC60L7QvNCw0L3QtNCwPiBbPNGA0LXQtNCw0LrRhtC40Y8+4oCmXSAtLSBbPNGE0LDQudC7PuKApl3CuyIKKworIzogc2V0dXAuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiBib3RoIHJldmlzaW9uIGFuZCBmaWxlbmFtZVxuIgorIlVzZSAnLS0nIHRvIHNlcGFyYXRlIHBhdGhzIGZyb20gcmV2aXNpb25zLCBsaWtlIHRoaXM6XG4iCisiJ2dpdCA8Y29tbWFuZD4gWzxyZXZpc2lvbj4uLi5dIC0tIFs8ZmlsZT4uLi5dJyIKK21zZ3N0ciAi0L3QtdC+0LTQvdC+0LfQvdCw0YfQvdGL0Lkg0LDRgNCz0YPQvNC10L3RgiDCqyVzwrs6INGP0LLQu9GP0LXRgtGB0Y8g0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INC4INGA0LXQtNCw0LrRhtC40LXQuSDQuCDQuNC80LXQvdC10Lwg0YTQsNC50LvQsC5cbtCY0YHQv9C+0LvRjNC30YPQudGC0LUgwqstLcK7INC00LvRjyDQvtGC0LTQtdC70LXQvdC40Y8g0L/Rg9GC0LXQuSDQvtGCINGA0LXQtNCw0LrRhtC40LksINCy0L7RgiDRgtCw0Lo6XG7Cq2dpdCA80LrQvtC80LDQvdC00LA+IFs80YDQtdC00LDQutGG0LjRjz7igKZdIC0tIFs80YTQsNC50Ls+4oCmXcK7IgogCiAjOiBzZXR1cC5jOjQ2OAogIywgYy1mb3JtYXQKQEAgLTE2NTksMjEgKzI4MDUsODcgQEAKIG1zZ2lkICJ1bmtub3duIHJlcG9zaXRvcnkgZXh0ZW5zaW9ucyBmb3VuZDoiCiBtc2dzdHIgItC+0LHQvdCw0YDRg9C20LXQvdGLINC90LXQuNC30LLQtdGB0YLQvdGL0LUg0YDQsNGB0YjQuNGA0LXQvdC40Y8g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjzoiCiAKLSM6IHNoYTFfZmlsZS5jOjEwODAKKyM6IHNldHVwLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgorbXNnc3RyICLQndC1INC90LDQudC00LXQvSBnaXQg0YDQtdC/0L7Qt9C40YLQvtC40LkgKNC40LvQuCDQvtC00LjQvSDQuNC3INC10LPQviDQutCw0YLQsNC70L7Qs9C+0LIpOiAlcyIKKworIzogc2V0dXAuYzo3NjQgc2V0dXAuYzo5MTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY0MQorbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0LXRgNC90YPRgtGM0YHRjyDQsiDRgtC10LrRg9GJ0LjQuSDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyIKKworIzogc2V0dXAuYzo4NDUKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgtC10LrRg9GJ0LjQuSDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyIKKworIzogc2V0dXAuYzo5MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgcGFyZW50IHVwIHRvIG1vdW50IHBvaW50ICVzKVxuIgorIlN0b3BwaW5nIGF0IGZpbGVzeXN0ZW0gYm91bmRhcnkgKEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0gbm90IHNldCkuIgorbXNnc3RyICLQndC1INC90LDQudC00LXQvSBnaXQg0YDQtdC/0L7Qt9C40YLQvtC40LkgKNC40LvQuCDQvtC00LjQvSDQuNC3INC10LPQviDQutCw0YLQsNC70L7Qs9C+0LIg0LLQv9C70L7RgtGMINC00L4g0YLQvtGH0LrQuCDQvNC+0L3RgtC40YDQvtCy0LDQvdC40Y8gJXMpXG7QntGB0YLQsNC90LDQstC70LjQstCw0Y4g0L/QvtC40YHQuiDQvdCwINCz0YDQsNC90LjRhtC1INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsgKNGC0LDQuiDQutCw0LogR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSDQvdC1INGD0YHRgtCw0L3QvtCy0LvQtdC9KS4iCisKKyM6IHNldHVwLmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdG8gJyVzLy4uJyIKK21zZ3N0ciAi0J/QtdGA0LXQudGC0Lgg0LIgwqslcy8uLsK7IgorCisjOiBzZXR1cC5jOjk4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUHJvYmxlbSB3aXRoIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSBmaWxlbW9kZSB2YWx1ZSAoMCUuM28pLlxuIgorIlRoZSBvd25lciBvZiBmaWxlcyBtdXN0IGFsd2F5cyBoYXZlIHJlYWQgYW5kIHdyaXRlIHBlcm1pc3Npb25zLiIKK21zZ3N0ciAi0J/RgNC+0LHQu9C10LzQsCDRgdC+INC30L3QsNGH0LXQvdC40LXQvCDRgNC10LbQuNC80LAg0LTQvtGB0YLRg9C/0LAg0Log0YTQsNC50LvRgyBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgKDAlLjNvKS5cbtCS0LvQsNC00LXQu9C10YYg0YTQsNC50LvQvtCyINC00L7Qu9C20LXQvSDQstGB0LXQs9C00LAg0LjQvNC10YLRjCDQv9GA0LDQstCwINC90LAg0YfRgtC10L3QuNC1INC4INC90LAg0LfQsNC/0LjRgdGMLiIKKworIzogc2hhMV9maWxlLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi0L/Rg9GC0Ywgwqslc8K7INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCisKKyM6IHNoYTFfZmlsZS5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKK21zZ3N0ciAi0YHRgdGL0LvQsNC10LzRi9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkgwqslc8K7INC60LDQuiDRgdCy0Y/Qt9Cw0L3QvdC+0LUg0YHQvtGB0YLQvtGP0L3QuNC1LCDQv9C+0LrQsCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8uIgorCisjOiBzaGExX2ZpbGUuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKK21zZ3N0ciAi0YHRgdGL0LvQsNC10LzRi9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkgwqslc8K7INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQu9C+0LrQsNC70YzQvdGL0LwuIgorCisjOiBzaGExX2ZpbGUuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgorbXNnc3RyICLRgdGB0YvQu9Cw0LXQvNGL0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDCqyVzwrsg0Y/QstC70Y/QtdGC0YHRjyDRh9Cw0YHRgtC40YfQvdGL0LwiCisKKyM6IHNoYTFfZmlsZS5jOjUxOQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCittc2dzdHIgItGB0YHRi9C70LDQtdC80YvQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IMKrJXPCuyDRj9Cy0LvRj9C10YLRgdGPINGB0YDQsNGJ0LXQvdC90YvQvCIKKworIzogc2hhMV9maWxlLmM6MTE1OQogbXNnaWQgIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIgogbXNnc3RyICLRgdC00LLQuNCzINC00L4g0LrQvtC90YbQsCDRhNCw0LnQu9CwINC/0LDQutC10YLQsCAo0LLQvtC30LzQvtC20L3Qviwg0L/QvtCy0YDQtdC20LTRkdC9INGE0LDQudC7IC5pZHg/KSIKIAotIzogc2hhMV9maWxlLmM6MjQ1OAorIzogc2hhMV9maWxlLmM6MjU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIHN0YXJ0IG9mIHBhY2sgaW5kZXggZm9yICVzIChjb3JydXB0IGluZGV4PykiCiBtc2dzdHIgItGB0LTQstC40LMg0LTQviDQvdCw0YfQsNC70LAg0LjQvdC00LXQutGB0LAg0L/QsNC60LXRgtCwINC00LvRjyAlcyAo0L/QvtCy0YDQtdC20LTRkdC9INC40L3QtNC10LrRgT8pIgogCi0jOiBzaGExX2ZpbGUuYzoyNDYyCisjOiBzaGExX2ZpbGUuYzoyNTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZXlvbmQgZW5kIG9mIHBhY2sgaW5kZXggZm9yICVzICh0cnVuY2F0ZWQgaW5kZXg/KSIKIG1zZ3N0ciAi0YHQtNCy0LjQsyDQt9CwINC/0YDQtdC00LXQu9Cw0LzQuCDQuNC90LTQtdC60YHQsCDQv9Cw0LrQtdGC0LAg0LTQu9GPICVzICjQvtCx0YDQtdC30LDQvSDQuNC90LTQtdC60YE/KSIKIAotIzogc2hhMV9uYW1lLmM6NDYyCisjOiBzaGExX25hbWUuYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hvcnQgU0hBMSAlcyBpcyBhbWJpZ3VvdXMiCittc2dzdHIgItGB0L7QutGA0LDRidGR0L3QvdGL0LkgU0hBMSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCAlcyDQvdC10L7QtNC90L7Qt9C90LDRh9C10L0iCisKKyM6IHNoYTFfbmFtZS5jOjQxOAorbXNnaWQgIlRoZSBjYW5kaWRhdGVzIGFyZToiCittc2dzdHIgItCS0L7Qt9C80L7QttC90L4sINCy0Ysg0LjQvNC10LvQuCDQsiDQstC40LTRgzoiCisKKyM6IHNoYTFfbmFtZS5jOjU3OAogbXNnaWQgIiIKICJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgogImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKQEAgLTE3MDksNzkgKzI5MjEsMTMyIEBACiBtc2dpZCAic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90LjRjyDQvtCx0L3QvtCy0LvQtdC90L3QvtCz0L4gLmdpdG1vZHVsZXMiCiAKLSM6IHN1Ym1vZHVsZS5jOjE3NworIzogc3VibW9kdWxlLmM6MTU4CiBtc2dpZCAibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hKb2JzIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0YLQv9GA0LjRhtCw0YLQtdC70YzQvdGL0LUg0LfQvdCw0YfQtdC90LjRjyDQtNC70Y8gc3VibW9kdWxlLmZldGNoSm9icyIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjM1NQorIzogc3VibW9kdWxlLWNvbmZpZy5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUgJXMiCiAKLSM6IHRyYWlsZXIuYzoyMzcKKyM6IHRyYWlsZXIuYzoyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVubmluZyB0cmFpbGVyIGNvbW1hbmQgJyVzJyBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC/0YDQuCDQt9Cw0L/Rg9GB0LrQtSDQutC+0LzQsNC90LTRiyDQt9Cw0LLQtdGA0YjQuNGC0LXQu9GPIMKrJXPCuyIKIAotIzogdHJhaWxlci5jOjQ5MiB0cmFpbGVyLmM6NDk2IHRyYWlsZXIuYzo1MDAgdHJhaWxlci5jOjU1NCB0cmFpbGVyLmM6NTU4Ci0jOiB0cmFpbGVyLmM6NTYyCisjOiB0cmFpbGVyLmM6NDcxIHRyYWlsZXIuYzo0NzUgdHJhaWxlci5jOjQ3OSB0cmFpbGVyLmM6NTMzIHRyYWlsZXIuYzo1MzcKKyM6IHRyYWlsZXIuYzo1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biB2YWx1ZSAnJXMnIGZvciBrZXkgJyVzJyIKIG1zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90L7QtSDQt9C90LDRh9C10L3QuNC1IMKrJXPCuyDQtNC70Y8g0LrQu9GO0YfQsCDCqyVzwrsiCiAKLSM6IHRyYWlsZXIuYzo1NDQgdHJhaWxlci5jOjU0OSBidWlsdGluL3JlbW90ZS5jOjI4OQorIzogdHJhaWxlci5jOjUyMyB0cmFpbGVyLmM6NTI4IGJ1aWx0aW4vcmVtb3RlLmM6Mjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiBvbmUgJXMiCiBtc2dzdHIgItCx0L7Qu9GM0YjQtSDQvtC00L3QvtCz0L4gJXMiCiAKLSM6IHRyYWlsZXIuYzo1ODIKKyM6IHRyYWlsZXIuYzo2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1wdHkgdHJhaWxlciB0b2tlbiBpbiB0cmFpbGVyICclLipzJyIKIG1zZ3N0ciAi0L/Rg9GB0YLQsNGPINC/0L7RgdC70LXQtNC90Y/RjyDQu9C10LrRgdC10LzQsCDQsiDQt9Cw0LLQtdGA0YjQuNGC0LXQu9C1IMKrJS4qc8K7IgogCi0jOiB0cmFpbGVyLmM6NzAyCisjOiB0cmFpbGVyLmM6Njk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGlucHV0IGZpbGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0LLRhdC+0LTQvdC+0Lkg0YTQsNC50Lsgwqslc8K7IgogCi0jOiB0cmFpbGVyLmM6NzA1CisjOiB0cmFpbGVyLmM6Njk4CiBtc2dpZCAiY291bGQgbm90IHJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0LjQtyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCIKIAotIzogdHJhaWxlci5jOjg1NyBidWlsdGluL2FtLmM6NDIKKyM6IHRyYWlsZXIuYzo5MjkgYnVpbHRpbi9hbS5jOjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBzdGF0INC00LvRjyAlcyIKIAotIzogdHJhaWxlci5jOjg1OQorIzogdHJhaWxlci5jOjkzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCBhIHJlZ3VsYXIgZmlsZSIKIG1zZ3N0ciAi0YTQsNC50LsgJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC+0LHRi9GH0L3Ri9C8INGE0LDQudC70L7QvCIKIAotIzogdHJhaWxlci5jOjg2MQorIzogdHJhaWxlci5jOjkzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCB3cml0YWJsZSBieSB1c2VyIgogbXNnc3RyICLRhNCw0LnQuyAlcyDQvdC1INC00L7RgdGC0YPQv9C10L0g0L3QsCDQt9Cw0L/QuNGB0Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GOIgogCi0jOiB0cmFpbGVyLmM6ODczCisjOiB0cmFpbGVyLmM6OTQ1CiBtc2dpZCAiY291bGQgbm90IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INGE0LDQudC7IgogCi0jOiB0cmFpbGVyLmM6OTEyCisjOiB0cmFpbGVyLmM6OTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgdGVtcG9yYXJ5IGZpbGUgdG8gJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INGE0LDQudC7INCyICVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA0MQorIzogdHJhbnNwb3J0LmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgc2V0IHVwc3RyZWFtIG9mICclcycgdG8gJyVzJyBvZiAnJXMnXG4iCittc2dzdHIgItCR0YPQtNC10YIg0YPRgdGC0LDQvdC+0LLQu9C10L0g0LLRi9GI0LXRgdGC0L7Rj9GJ0LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5INC00LvRjyDCqyVzwrsg0L3QsCDCqyVzwrsg0YEgwqslc8K7XG4iCisKKyM6IHRyYW5zcG9ydC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJ0cmFuc3BvcnQ6IGludmFsaWQgZGVwdGggb3B0aW9uICclcyciCittc2dzdHIgItGC0YDQsNC90YHQv9C+0YDRgjog0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YAg0LPQu9GD0LHQuNC90Ysgwqslc8K7IgorCisjOiB0cmFuc3BvcnQuYzo4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIHBhdGhzIGNvbnRhaW4gY2hhbmdlcyB0aGF0IGNhblxuIgorIm5vdCBiZSBmb3VuZCBvbiBhbnkgcmVtb3RlOlxuIgorbXNnc3RyICLQn9C+0LTQvNC+0LTRg9C70Lgg0L/QviDRg9C60LDQt9Cw0L3QvdGL0Lwg0L/Rg9GC0Y/QvCDRgdC+0LTQtdGA0LbQsNGCINC40LfQvNC10L3QtdC90LjRjywg0LrQvtGC0L7RgNGL0LUg0L3QtSDQvdCw0LnQtNC10L3RiyDQvdC4INC90LAg0L7QtNC90L7QvCDQuNC3INCy0L3QtdGI0L3QuNGFINGA0LXQv9C+0LfQuNGC0L7RgNC40LXQsjpcbiIKKworIzogdHJhbnNwb3J0LmM6ODIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJQbGVhc2UgdHJ5XG4iCisiXG4iCisiXHRnaXQgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmRcbiIKKyJcbiIKKyJvciBjZCB0byB0aGUgcGF0aCBhbmQgdXNlXG4iCisiXG4iCisiXHRnaXQgcHVzaFxuIgorIlxuIgorInRvIHB1c2ggdGhlbSB0byBhIHJlbW90ZS5cbiIKKyJcbiIKK21zZ3N0ciAiXG7Qn9C+0L/RgNC+0LHRg9C50YLQtSDQstGL0L/QvtC70L3QuNGC0YxcblxuXHRnaXQgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmRcblxu0LjQu9C4INC/0LXRgNC10LnRgtC4INCyINC60LDRgtCw0LvQvtCzINGBINC/0L7QvNC+0YnRjNGOINC60L7QvNCw0L3QtNGLIGNkINC4INCy0YvQv9C+0LvQvdC40YLRjFxuXG5cdGdpdCBwdXNoXG5cbtC00LvRjyDQuNGFINC+0YLQv9GA0LDQstC60Lgg0L3QsCDQstC90LXRiNC90LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5LlxuIgorCisjOiB0cmFuc3BvcnQuYzo4MjkKK21zZ2lkICJBYm9ydGluZy4iCittc2dzdHIgItCf0YDQtdGA0YvQstCw0Y4uIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCByZWYgJXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGB0YHRi9C70LrRgyAlcyIKIAorIzogdHJlZS13YWxrLmM6MzEKK21zZ2lkICJ0b28tc2hvcnQgdHJlZSBvYmplY3QiCittc2dzdHIgItGB0LvQuNGI0LrQvtC8ICDQutC+0YDQvtGC0LrQuNC5INC+0LHRitC10LrRgiDQtNC10YDQtdCy0LAiCisKKyM6IHRyZWUtd2Fsay5jOjM3Cittc2dpZCAibWFsZm9ybWVkIG1vZGUgaW4gdHJlZSBlbnRyeSIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGA0LXQttC40Lwg0LIg0LfQsNC/0LjRgdC4INC00LXRgNC10LLQsCIKKworIzogdHJlZS13YWxrLmM6NDEKK21zZ2lkICJlbXB0eSBmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IgorbXNnc3RyICLQv9GD0YHRgtC+0LUg0LjQvNGPINGE0LDQudC70LAg0LIg0LfQsNC/0LjRgdC4INC00LXRgNC10LLQsCIKKworIzogdHJlZS13YWxrLmM6MTEzCittc2dpZCAidG9vLXNob3J0IHRyZWUgZmlsZSIKK21zZ3N0ciAi0YHQu9C40YjQutC+0LwgINC60L7RgNC+0YLQutC40Lkg0YTQsNC50Lsg0LTQtdGA0LXQstCwIgorCiAjOiB1bnBhY2stdHJlZXMuYzo2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCi0iJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IGNhbiBzd2l0Y2ggYnJhbmNoZXMuIgorIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgogbXNnc3RyICLQktCw0YjQuCDQu9C+0LrQsNC70YzQvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPINCyINGD0LrQsNC30LDQvdC90YvRhSDRhNCw0LnQu9Cw0YUg0LHRg9C00YPRgiDQv9C10YDQtdC30LDQv9C40YHQsNC90Ysg0L/RgNC4INC/0LXRgNC10LrQu9GO0YfQtdC90LjQuCDQvdCwINGB0L7RgdGC0L7Rj9C90LjQtTpcbiUlc9Ch0LTQtdC70LDQudGC0LUg0LrQvtC80LzQuNGCINC40LvQuCDRgdC/0YDRj9GH0YzRgtC1INCy0LDRiNC4INC40LfQvNC10L3QtdC90LjRjyDQv9C10YDQtdC0INC/0LXRgNC10LrQu9GO0YfQtdC90LjQtdC8INCy0LXRgtC+0LouIgogCiAjOiB1bnBhY2stdHJlZXMuYzo2NgpAQCAtMTc5NSw3ICszMDYwLDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgotIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgorIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgItCS0LDRiNC4INC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0LIg0YPQutCw0LfQsNC90L3Ri9GFINGE0LDQudC70LDRhSDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyDQv9GA0Lgg0YHQu9C40Y/QvdC40Lg6XG4lJXPQodC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDQuNC70Lgg0YHQv9GA0Y/Rh9GM0YLQtSDQstCw0YjQuCDQuNC30LzQtdC90LXQvdC40Y8g0L/QtdGA0LXQtCDRgdC70LjRj9C90LjQtdC8INCy0LXRgtC+0LouIgogCiAjOiB1bnBhY2stdHJlZXMuYzo3MQpAQCAtMTgwOSw3ICszMDc0LDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgotIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBjYW4gJXMuIgorIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSAlcy4iCiBtc2dzdHIgItCS0LDRiNC4INC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0LIg0YPQutCw0LfQsNC90L3Ri9GFINGE0LDQudC70LDRhSDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyDQv9GA0LggJXM6XG4lJXPQodC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDQuNC70Lgg0YHQv9GA0Y/Rh9GM0YLQtSDQstCw0YjQuCDQuNC30LzQtdC90LXQvdC40Y8g0L/QtdGA0LXQtCAlcy4iCiAKICM6IHVucGFjay10cmVlcy5jOjc2CkBAIC0xODMwLDcgKzMwOTUsNyBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gc3dpdGNoIGJyYW5jaGVzLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgItCj0LrQsNC30LDQvdC90YvQtSDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1INCx0YPQtNGD0YIg0YPQtNCw0LvQtdC90Ysg0L/RgNC4INC/0LXRgNC10LrQu9GO0YfQtdC90LjQuCDQvdCwINGB0L7RgdGC0L7Rj9C90LjQtTpcbiUlc9Cf0LXRgNC10LzQtdGB0YLQuNGC0LUg0Y3RgtC4INGE0LDQudC70Ysg0LjQu9C4INGD0LTQsNC70LjRgtC1INC40YUg0L/QtdGA0LXQtCDQv9C10YDQtdC60LvRjtGH0LXQvdC40LXQvCDQstC10YLQvtC6LiIKIAogIzogdW5wYWNrLXRyZWVzLmM6ODcKQEAgLTE4NDQsNyArMzEwOSw3IEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgItCj0LrQsNC30LDQvdC90YvQtSDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1INCx0YPQtNGD0YIg0YPQtNCw0LvQtdC90Ysg0L/RgNC4INGB0LvQuNGP0L3QuNC4OlxuJSVz0J/QtdGA0LXQvNC10YHRgtC40YLQtSDRjdGC0Lgg0YTQsNC50LvRiyDQuNC70Lgg0YPQtNCw0LvQuNGC0LUg0LjRhSDQv9C10YDQtdC0INC/0LXRgNC10LrQu9GO0YfQtdC90LjQtdC8INCy0LXRgtC+0LouIgogCiAjOiB1bnBhY2stdHJlZXMuYzo5MgpAQCAtMTg1OCw3ICszMTIzLDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuICVzLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0LHRg9C00YPRgiDRg9C00LDQu9C10L3RiyDQv9GA0LggJXM6XG4lJXPQn9C10YDQtdC80LXRgdGC0LjRgtC1INGN0YLQuCDRhNCw0LnQu9GLINC40LvQuCDRg9C00LDQu9C40YLQtSDQuNGFINC/0LXRgNC10LQgJXMuIgogCiAjOiB1bnBhY2stdHJlZXMuYzo5NwpAQCAtMTg3Miw3ICszMTM3LDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBzd2l0Y2ggYnJhbmNoZXMuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0LHRg9C00YPRgiDQv9C10YDQtdC30LDQv9C40YHQsNC90Ysg0L/RgNC4INC/0LXRgNC10LrQu9GO0YfQtdC90LjQuCDQvdCwINGB0L7RgdGC0L7Rj9C90LjQtTpcbiUlc9Cf0LXRgNC10LzQtdGB0YLQuNGC0LUg0Y3RgtC4INGE0LDQudC70Ysg0LjQu9C4INGD0LTQsNC70LjRgtC1INC40YUg0L/QtdGA0LXQtCDQv9C10YDQtdC60LvRjtGH0LXQvdC40LXQvCDQstC10YLQvtC6LiIKIAogIzogdW5wYWNrLXRyZWVzLmM6MTA0CkBAIC0xODg2LDcgKzMxNTEsNyBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0LHRg9C00YPRgiDQv9C10YDQtdC30LDQv9C40YHQsNC90Ysg0L/RgNC4INGB0LvQuNGP0L3QuNC4OlxuJSVz0J/QtdGA0LXQvNC10YHRgtC40YLQtSDRjdGC0Lgg0YTQsNC50LvRiyDQuNC70Lgg0YPQtNCw0LvQuNGC0LUg0LjRhSDQv9C10YDQtdC0INC/0LXRgNC10LrQu9GO0YfQtdC90LjQtdC8INCy0LXRgtC+0LouIgogCiAjOiB1bnBhY2stdHJlZXMuYzoxMDkKQEAgLTE5MDAsNyArMzE2NSw3IEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gJXMuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgJXMuIgogbXNnc3RyICLQo9C60LDQt9Cw0L3QvdGL0LUg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70Ysg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyDQv9GA0LggJXM6XG4lJXPQn9C10YDQtdC80LXRgdGC0LjRgtC1INGN0YLQuCDRhNCw0LnQu9GLINC40LvQuCDRg9C00LDQu9C40YLQtSDQuNGFINC/0LXRgNC10LQgJXMuIgogCiAjOiB1bnBhY2stdHJlZXMuYzoxMTQKQEAgLTE5MjUsMTQgKzMxOTAsMTQgQEAKICM6IHVucGFjay10cmVlcy5jOjEyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iVGhlIGZvbGxvd2luZyBXb3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgc3BhcnNlIGNoZWNrb3V0IHVwZGF0ZTpcbiIKKyJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgdXBkYXRlOlxuIgogIiVzIgogbXNnc3RyICLQo9C60LDQt9Cw0L3QvdGL0LUg0YTQsNC50LvRiyDQuNC3INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyDQv9GA0Lgg0L7QsdC90L7QstC70LXQvdC40Lgg0YfQsNGB0YLQuNGH0L3QvtCz0L4g0YHQvtGB0YLQvtGP0L3QuNGPOlxuJXMiCiAKICM6IHVucGFjay10cmVlcy5jOjEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iVGhlIGZvbGxvd2luZyBXb3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBzcGFyc2UgY2hlY2tvdXQgdXBkYXRlOlxuIgorIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgc3BhcnNlIGNoZWNrb3V0IHVwZGF0ZTpcbiIKICIlcyIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INGE0LDQudC70Ysg0LjQtyDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAg0LHRg9C00YPRgiDRg9C00LDQu9C10L3RiyDQv9GA0Lgg0L7QsdC90L7QstC70LXQvdC40Lgg0YfQsNGB0YLQuNGH0L3QvtCz0L4g0YHQvtGB0YLQvtGP0L3QuNGPOlxuJXMiCiAKQEAgLTE5NzQsMjQwICszMjM5LDIzNCBAQAogbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LDRjyDRh9Cw0YHRgtGMINC/0YPRgtC4IMKrLi7CuyIKIAotIzogd3JhcHBlci5jOjIyMiB3cmFwcGVyLmM6MzgxCisjOiB3b3JrdHJlZS5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAnJXMnIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDCqyVzwrsiCisKKyM6IHdyYXBwZXIuYzoyMjIgd3JhcHBlci5jOjM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIGFuZCB3cml0aW5nIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMIMKrJXPCuyDQtNC70Y8g0YfRgtC10L3QuNGPINC4INC30LDQv9C40YHQuCIKIAotIzogd3JhcHBlci5jOjIyNCB3cmFwcGVyLmM6MzgzIGJ1aWx0aW4vYW0uYzo3NzkKKyM6IHdyYXBwZXIuYzoyMjQgd3JhcHBlci5jOjM5NCBidWlsdGluL2FtLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywgwqslc8K7INC00LvRjyDQt9Cw0L/QuNGB0LgiCiAKLSM6IHdyYXBwZXIuYzoyMjYgd3JhcHBlci5jOjM4NSBidWlsdGluL2FtLmM6MzIzIGJ1aWx0aW4vYW0uYzo3NzIKLSM6IGJ1aWx0aW4vYW0uYzo4NjAgYnVpbHRpbi9jb21taXQuYzoxNzExIGJ1aWx0aW4vbWVyZ2UuYzoxMDg2Ci0jOiBidWlsdGluL3B1bGwuYzo0MDcKKyM6IHdyYXBwZXIuYzoyMjYgd3JhcHBlci5jOjM5NiBidWlsdGluL2FtLmM6MzIwIGJ1aWx0aW4vYW0uYzo3NTkKKyM6IGJ1aWx0aW4vYW0uYzo4NDcgYnVpbHRpbi9jb21taXQuYzoxNzA1IGJ1aWx0aW4vbWVyZ2UuYzoxMDI5CisjOiBidWlsdGluL3B1bGwuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDCqyVzwrsg0LTQu9GPINGH0YLQtdC90LjRjyIKIAotIzogd3JhcHBlci5jOjU5NCB3cmFwcGVyLmM6NjE1CisjOiB3cmFwcGVyLmM6NjA1IHdyYXBwZXIuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICLCqyVzwrsg0L3QtdC00L7RgdGC0YPQv9C90L4iCiAKLSM6IHdyYXBwZXIuYzo2MjMKKyM6IHdyYXBwZXIuYzo2MzQKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDRgtC10LrRg9GJ0LjQuSDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyIKIAotIzogd3JhcHBlci5jOjY1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgb3BlbiAlcyBmb3Igd3JpdGluZyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDCqyVzwrsg0LTQu9GPINC30LDQv9C40YHQuCIKLQotIzogd3JhcHBlci5jOjY2MSBidWlsdGluL2FtLmM6NDEwCisjOiB3cmFwcGVyLmM6NjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINCyICVzIgogCi0jOiB3cmFwcGVyLmM6NjY3CisjOiB3cmFwcGVyLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LrRgNGL0YLRjCAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MTUwCisjOiB3dC1zdGF0dXMuYzoxNTEKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgItCd0LUg0YHQu9C40YLRi9C1INC/0YPRgtC4OiIKIAotIzogd3Qtc3RhdHVzLmM6MTc3IHd0LXN0YXR1cy5jOjIwNAorIzogd3Qtc3RhdHVzLmM6MTc4IHd0LXN0YXR1cy5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmVzZXQgJXMgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgcmVzZXQgJXMgPNGE0LDQudC7PuKApsK7LCDRh9GC0L7QsdGLINGD0LHRgNCw0YLRjCDQuNC3INC40L3QtNC10LrRgdCwKSIKIAotIzogd3Qtc3RhdHVzLmM6MTc5IHd0LXN0YXR1cy5jOjIwNgorIzogd3Qtc3RhdHVzLmM6MTgwIHd0LXN0YXR1cy5jOjIwNwogbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBybSAtLWNhY2hlZCA80YTQsNC50Ls+4oCmwrssINGH0YLQvtCx0Ysg0YPQsdGA0LDRgtGMINC40Lcg0LjQvdC00LXQutGB0LApIgogCi0jOiB3dC1zdGF0dXMuYzoxODMKKyM6IHd0LXN0YXR1cy5jOjE4NAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBhZGQgPNGE0LDQudC7PuKApsK7LCDRh9GC0L7QsdGLINC/0L7QvNC10YLQuNGC0Ywg0YDQsNC30YDQtdGI0LXQvdC40LUg0LrQvtC90YTQu9C40LrRgtCwKSIKIAotIzogd3Qtc3RhdHVzLmM6MTg1IHd0LXN0YXR1cy5jOjE4OQorIzogd3Qtc3RhdHVzLmM6MTg2IHd0LXN0YXR1cy5jOjE5MAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBhZGQvcm0gPNGE0LDQudC7PuKApsK7LCDRh9GC0L7QsdGLINC/0L7QvNC10YLQuNGC0Ywg0LLRi9Cx0YDQsNC90L3QvtC1INGA0LDQt9GA0LXRiNC10L3QuNC1INC60L7QvdGE0LvQuNC60YLQsCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NworIzogd3Qtc3RhdHVzLmM6MTg4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgcm0gPNGE0LDQudC7PuKApsK7LCDRh9GC0L7QsdGLINC/0L7QvNC10YLQuNGC0Ywg0YDQsNC30YDQtdGI0LXQvdC40LUg0LrQvtC90YTQu9C40LrRgtCwKSIKIAotIzogd3Qtc3RhdHVzLmM6MTk4IHd0LXN0YXR1cy5jOjg4MQorIzogd3Qtc3RhdHVzLmM6MTk5IHd0LXN0YXR1cy5jOjk0NQogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAi0JjQt9C80LXQvdC10L3QuNGPLCDQutC+0YLQvtGA0YvQtSDQsdGD0LTRg9GCINCy0LrQu9GO0YfQtdC90Ysg0LIg0LrQvtC80LzQuNGCOiIKIAotIzogd3Qtc3RhdHVzLmM6MjE2IHd0LXN0YXR1cy5jOjg5MAorIzogd3Qtc3RhdHVzLmM6MjE3IHd0LXN0YXR1cy5jOjk1NAogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAi0JjQt9C80LXQvdC10L3QuNGPLCDQutC+0YLQvtGA0YvQtSDQvdC1INCyINC40L3QtNC10LrRgdC1INC00LvRjyDQutC+0LzQvNC40YLQsDoiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMAorIzogd3Qtc3RhdHVzLmM6MjIxCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgYWRkIDzRhNCw0LnQuz7igKbCuywg0YfRgtC+0LHRiyDQtNC+0LHQsNCy0LjRgtGMINGE0LDQudC7INCyINC40L3QtNC10LrRgSkiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMgorIzogd3Qtc3RhdHVzLmM6MjIzCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgYWRkL3JtIDzRhNCw0LnQuz7igKbCuywg0YfRgtC+0LHRiyDQtNC+0LHQsNCy0LjRgtGMINC40LvQuCDRg9C00LDQu9C40YLRjCDRhNCw0LnQuyDQuNC3INC40L3QtNC10LrRgdCwKSIKIAotIzogd3Qtc3RhdHVzLmM6MjIzCisjOiB3dC1zdGF0dXMuYzoyMjQKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nICIKICJkaXJlY3RvcnkpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGNoZWNrb3V0IC0tIDzRhNCw0LnQuz7igKbCuywg0YfRgtC+0LHRiyDQvtGC0LzQtdC90LjRgtGMINC40LfQvNC10L3QtdC90LjRj1xuICAg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSkiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNQorIzogd3Qtc3RhdHVzLmM6MjI2CiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIgICjRgdC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDQuNC70Lgg0L7RgtC80LXQvdC40YLQtSDQuNC30LzQtdC90LXQvdC40Y8g0LIg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzQvtC8INC40LvQuCDQuNC30LzQtdC90LXQvdC90L7QvCDRgdC+0LTQtdGA0LbQuNC80L7QvCDQsiDQv9C+0LTQvNC+0LTRg9C70Y/RhSkiCiAKLSM6IHd0LXN0YXR1cy5jOjIzNworIzogd3Qtc3RhdHVzLmM6MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0ICVzIDzRhNCw0LnQuz7igKbCuywg0YfRgtC+0LHRiyDQtNC+0LHQsNCy0LjRgtGMINCyINGC0L4sINGH0YLQviDQsdGD0LTQtdGCINCy0LrQu9GO0YfQtdC90L4g0LIg0LrQvtC80LzQuNGCKSIKIAotIzogd3Qtc3RhdHVzLmM6MjUyCisjOiB3dC1zdGF0dXMuYzoyNTMKIG1zZ2lkICJib3RoIGRlbGV0ZWQ6IgogbXNnc3RyICLQvtCx0LAg0YPQtNCw0LvQtdC90Ys6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTQKKyM6IHd0LXN0YXR1cy5jOjI1NQogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAi0LTQvtCx0LDQstC70LXQvdC+INC90LDQvNC4OiIKIAotIzogd3Qtc3RhdHVzLmM6MjU2CisjOiB3dC1zdGF0dXMuYzoyNTcKIG1zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgogbXNnc3RyICLRg9C00LDQu9C10L3QviDQuNC80Lg6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTgKKyM6IHd0LXN0YXR1cy5jOjI1OQogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICLQtNC+0LHQsNCy0LvQtdC90L4g0LjQvNC4OiIKIAotIzogd3Qtc3RhdHVzLmM6MjYwCisjOiB3dC1zdGF0dXMuYzoyNjEKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAi0YPQtNCw0LvQtdC90L4g0L3QsNC80Lg6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjIKKyM6IHd0LXN0YXR1cy5jOjI2MwogbXNnaWQgImJvdGggYWRkZWQ6IgogbXNnc3RyICLQvtCx0LAg0LTQvtCx0LDQstC70LXQvdGLOiIKIAotIzogd3Qtc3RhdHVzLmM6MjY0CisjOiB3dC1zdGF0dXMuYzoyNjUKIG1zZ2lkICJib3RoIG1vZGlmaWVkOiIKIG1zZ3N0ciAi0L7QsdCwINC40LfQvNC10L3RizoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NgotIywgYy1mb3JtYXQKLW1zZ2lkICJidWc6IHVuaGFuZGxlZCB1bm1lcmdlZCBzdGF0dXMgJXgiCi1tc2dzdHIgItC+0YjQuNCx0LrQsDog0L3QtdC+0LHRgNCw0LHQvtGC0LDQvdC90YvQuSDRgdGC0LDRgtGD0YEg0L3QtSDRgdC70LjRgtGL0YUg0LjQt9C80LXQvdC10L3QuNC5ICV4IgotCi0jOiB3dC1zdGF0dXMuYzoyNzQKKyM6IHd0LXN0YXR1cy5jOjI3NQogbXNnaWQgIm5ldyBmaWxlOiIKIG1zZ3N0ciAi0L3QvtCy0YvQuSDRhNCw0LnQuzoiCiAKLSM6IHd0LXN0YXR1cy5jOjI3NgorIzogd3Qtc3RhdHVzLmM6Mjc3CiBtc2dpZCAiY29waWVkOiIKIG1zZ3N0ciAi0YHQutC+0L/QuNGA0L7QstCw0L3QvjoiCiAKLSM6IHd0LXN0YXR1cy5jOjI3OAorIzogd3Qtc3RhdHVzLmM6Mjc5CiBtc2dpZCAiZGVsZXRlZDoiCiBtc2dzdHIgItGD0LTQsNC70LXQvdC+OiIKIAotIzogd3Qtc3RhdHVzLmM6MjgwCisjOiB3dC1zdGF0dXMuYzoyODEKIG1zZ2lkICJtb2RpZmllZDoiCiBtc2dzdHIgItC40LfQvNC10L3QtdC90L46IgogCi0jOiB3dC1zdGF0dXMuYzoyODIKKyM6IHd0LXN0YXR1cy5jOjI4MwogbXNnaWQgInJlbmFtZWQ6IgogbXNnc3RyICLQv9C10YDQtdC40LzQtdC90L7QstCw0L3QvjoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NAorIzogd3Qtc3RhdHVzLmM6Mjg1CiBtc2dpZCAidHlwZWNoYW5nZToiCiBtc2dzdHIgItC40LfQvNC10L3QtdC9INGC0LjQvzoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NgorIzogd3Qtc3RhdHVzLmM6Mjg3CiBtc2dpZCAidW5rbm93bjoiCiBtc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdC+OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg4CisjOiB3dC1zdGF0dXMuYzoyODkKIG1zZ2lkICJ1bm1lcmdlZDoiCiBtc2dzdHIgItC90LUg0YHQu9C40YLRi9C1OiIKIAotIzogd3Qtc3RhdHVzLmM6MzcwCisjOiB3dC1zdGF0dXMuYzozNzEKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICLQvdC+0LLRi9C1INC60L7QvNC80LjRgtGLLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MgorIzogd3Qtc3RhdHVzLmM6MzczCiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICLQuNC30LzQtdC90LXQvdC+INGB0L7QtNC10YDQttC40LzQvtC1LCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3NAorIzogd3Qtc3RhdHVzLmM6Mzc1CiBtc2dpZCAidW50cmFja2VkIGNvbnRlbnQsICIKIG1zZ3N0ciAi0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzQvtC1INGB0L7QtNC10YDQttC40LzQvtC1LCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM5MQotIywgYy1mb3JtYXQKLW1zZ2lkICJidWc6IHVuaGFuZGxlZCBkaWZmIHN0YXR1cyAlYyIKLW1zZ3N0ciAi0L7RiNC40LHQutCwOiDQvdC10L7QsdGA0LDQsdC+0YLQsNC90L3Ri9C5INGB0YLQsNGC0YPRgSDQuNC30LzQtdC90LXQvdC40LkgJWMiCi0KLSM6IHd0LXN0YXR1cy5jOjc1NQorIzogd3Qtc3RhdHVzLmM6ODE4CiBtc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCiBtc2dzdHIgItCY0LfQvNC10L3QtdC90L3Ri9C1LCDQvdC+INC90LUg0L7QsdC90L7QstC70LXQvdC90YvQtSDQv9C+0LTQvNC+0LTRg9C70Lg6IgogCi0jOiB3dC1zdGF0dXMuYzo3NTcKKyM6IHd0LXN0YXR1cy5jOjgyMAogbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgItCY0LfQvNC10L3QtdC90LjRjyDQsiDQv9C+0LTQvNC+0LTRg9C70Y/RhSwg0LrQvtGC0L7RgNGL0LUg0LHRg9C00YPRgiDQt9Cw0LrQvtC80LzQuNGH0LXQvdGLOiIKIAotIzogd3Qtc3RhdHVzLmM6ODM4CisjOiB3dC1zdGF0dXMuYzo5MDEKIG1zZ2lkICIiCiAiRG8gbm90IHRvdWNoIHRoZSBsaW5lIGFib3ZlLlxuIgogIkV2ZXJ5dGhpbmcgYmVsb3cgd2lsbCBiZSByZW1vdmVkLiIKIG1zZ3N0ciAi0J3QtSDRgtGA0L7Qs9Cw0LnRgtC1INGB0YLRgNC+0LrRgyDQstGL0YjQtSDRjdGC0L7QuS5cbtCS0YHRkSwg0YfRgtC+INC90LjQttC1IOKAlCDQsdGD0LTQtdGCINGD0LTQsNC70LXQvdC+LiIKIAotIzogd3Qtc3RhdHVzLmM6OTQ5CisjOiB3dC1zdGF0dXMuYzoxMDEzCiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICLQoyDQstCw0YEg0LXRgdGC0Ywg0L3QtSDRgdC70LjRgtGL0LUg0L/Rg9GC0LguIgogCi0jOiB3dC1zdGF0dXMuYzo5NTIKKyM6IHd0LXN0YXR1cy5jOjEwMTYKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIgICjRgNCw0LfRgNC10YjQuNGC0LUg0LrQvtC90YTQu9C40LrRgtGLLCDQt9Cw0YLQtdC8INC30LDQv9GD0YHRgtC40YLQtSDCq2dpdCBjb21taXTCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjk1NgorIzogd3Qtc3RhdHVzLmM6MTAxOAorbXNnaWQgIiAgKHVzZSBcImdpdCBtZXJnZSAtLWFib3J0XCIgdG8gYWJvcnQgdGhlIG1lcmdlKSIKK21zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBtZXJnZSAtLWFib3J0wrssINGH0YLQvtCx0Ysg0L7RgdGC0LDQvdC+0LLQuNGC0Ywg0L7Qv9C10YDQsNGG0LjRjiDRgdC70LjRj9C90LjRjykiCisKKyM6IHd0LXN0YXR1cy5jOjEwMjMKIG1zZ2lkICJBbGwgY29uZmxpY3RzIGZpeGVkIGJ1dCB5b3UgYXJlIHN0aWxsIG1lcmdpbmcuIgogbXNnc3RyICLQktGB0LUg0LrQvtC90YTQu9C40LrRgtGLINC40YHQv9GA0LDQstC70LXQvdGLLCDQvdC+INCy0Ysg0LLRgdC1INC10YnQtSDQsiDQv9GA0L7RhtC10YHRgdC1INGB0LvQuNGP0L3QuNGPLiIKIAotIzogd3Qtc3RhdHVzLmM6OTU5CisjOiB3dC1zdGF0dXMuYzoxMDI2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBjb21taXTCuywg0YfRgtC+0LHRiyDQt9Cw0LLQtdGA0YjQuNGC0Ywg0YHQu9C40Y/QvdC40LUpIgogCi0jOiB3dC1zdGF0dXMuYzo5NjkKKyM6IHd0LXN0YXR1cy5jOjEwMzYKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4iCiBtc2dzdHIgItCS0Ysg0LIg0L/RgNC+0YbQtdGB0YHQtSDRgdC10YHRgdC40LggYW0uIgogCi0jOiB3dC1zdGF0dXMuYzo5NzIKKyM6IHd0LXN0YXR1cy5jOjEwMzkKIG1zZ2lkICJUaGUgY3VycmVudCBwYXRjaCBpcyBlbXB0eS4iCiBtc2dzdHIgItCi0LXQutGD0YnQuNC5INC/0LDRgtGHINC/0YPRgdGC0L7QuS4iCiAKLSM6IHd0LXN0YXR1cy5jOjk3NgorIzogd3Qtc3RhdHVzLmM6MTA0MwogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNGA0LDQt9GA0LXRiNC40YLQtSDQutC+0L3RhNC70LjQutGC0YssINC30LDRgtC10Lwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IGFtIC0tY29udGludWXCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjk3OAorIzogd3Qtc3RhdHVzLmM6MTA0NQogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGFtIC0tc2tpcMK7LCDRh9GC0L7QsdGLINC/0YDQvtC/0YPRgdGC0LjRgtGMINGN0YLQvtGCINC/0LDRgtGHKSIKIAotIzogd3Qtc3RhdHVzLmM6OTgwCisjOiB3dC1zdGF0dXMuYzoxMDQ3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGFtIC0tYWJvcnTCuywg0YfRgtC+0LHRiyDQstC+0YHRgdGC0LDQvdC+0LLQuNGC0Ywg0L7RgNC40LPQuNC90LDQu9GM0L3Rg9GOINCy0LXRgtC60YMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTA1CisjOiB3dC1zdGF0dXMuYzoxMTcyCiBtc2dpZCAiTm8gY29tbWFuZHMgZG9uZS4iCiBtc2dzdHIgItCa0L7QvNCw0L3QtNGLINC90LUg0LLRi9C/0L7Qu9C90LXQvdGLLiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwOAorIzogd3Qtc3RhdHVzLmM6MTE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCiBtc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgpAQCAtMjIxNiwxNiArMzQ3NSwxNiBAQAogbXNnc3RyWzJdICLQn9C+0YHQu9C10LTQvdGP0Y8g0LrQvtC80LDQvdC00LAg0LLRi9C/0L7Qu9C90LXQvdCwICglZCDQutC+0LzQsNC90LQg0LLRi9C/0L7Qu9C90LXQvdC+KToiCiBtc2dzdHJbM10gItCf0L7RgdC70LXQtNC90Y/RjyDQutC+0LzQsNC90LTQsCDQstGL0L/QvtC70L3QtdC90LAgKCVkINC60L7QvNCw0L3QtCDQstGL0L/QvtC70L3QtdC90L4pOiIKIAotIzogd3Qtc3RhdHVzLmM6MTExOQorIzogd3Qtc3RhdHVzLmM6MTE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIChzZWUgbW9yZSBpbiBmaWxlICVzKSIKIG1zZ3N0ciAiICAo0YHQvNC+0YLRgNC40YLQtSDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QviDQsiDRhNCw0LnQu9C1ICVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTEyNAorIzogd3Qtc3RhdHVzLmM6MTE5MQogbXNnaWQgIk5vIGNvbW1hbmRzIHJlbWFpbmluZy4iCiBtc2dzdHIgItCa0L7QvNCw0L3QtCDQsdC+0LvRjNGI0LUg0L3QtSDQvtGB0YLQsNC70L7RgdGMLiIKIAotIzogd3Qtc3RhdHVzLmM6MTEyNworIzogd3Qtc3RhdHVzLmM6MTE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJOZXh0IGNvbW1hbmQgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kKToiCiBtc2dpZF9wbHVyYWwgIk5leHQgY29tbWFuZHMgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kcyk6IgpAQCAtMjIzNCwxNTAgKzM0OTMsMTUwIEBACiBtc2dzdHJbMl0gItCh0LvQtdC00YPRjtGJ0LDRjyDQutC+0LzQsNC90LTQsCDQtNC70Y8g0LLRi9C/0L7Qu9C90LXQvdC40Y8gKCVkINC60L7QvNCw0L3QtCDQvtGB0YLQsNC70L7RgdGMKToiCiBtc2dzdHJbM10gItCh0LvQtdC00YPRjtGJ0LDRjyDQutC+0LzQsNC90LTQsCDQtNC70Y8g0LLRi9C/0L7Qu9C90LXQvdC40Y8gKCVkINC60L7QvNCw0L3QtCDQvtGB0YLQsNC70L7RgdGMKToiCiAKLSM6IHd0LXN0YXR1cy5jOjExMzUKKyM6IHd0LXN0YXR1cy5jOjEyMDIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgdG8gdmlldyBhbmQgZWRpdCkiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgcmViYXNlIC0tZWRpdC10b2RvwrssINGH0YLQvtCx0Ysg0L/RgNC+0YHQvNC+0YLRgNC10YLRjCDQuCDQuNC30LzQtdC90LjRgtGMKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE0OAorIzogd3Qtc3RhdHVzLmM6MTIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAi0JLRiyDRgdC10LnRh9Cw0YEg0L/QtdGA0LXQvNC10YnQsNC10YLQtSDQstC10YLQutGDIMKrJXPCuyDQvdCw0LQgwqslc8K7LiIKIAotIzogd3Qtc3RhdHVzLmM6MTE1MworIzogd3Qtc3RhdHVzLmM6MTIyMAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nLiIKIG1zZ3N0ciAi0JLRiyDRgdC10LnRh9Cw0YEg0L/QtdGA0LXQvNC10YnQsNC10YLQtSDQstC10YLQutGDLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE2NworIzogd3Qtc3RhdHVzLmM6MTIzNAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICjRgNCw0LfRgNC10YjQuNGC0LUg0LrQvtC90YTQu9C40LrRgtGLLCDQt9Cw0YLQtdC8INC30LDQv9GD0YHRgtC40YLQtSDCq2dpdCByZWJhc2UgLS1jb250aW51ZcK7KSIKIAotIzogd3Qtc3RhdHVzLmM6MTE2OQorIzogd3Qtc3RhdHVzLmM6MTIzNgogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCByZWJhc2UgLS1za2lwwrssINGH0YLQvtCx0Ysg0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0Y3RgtC+0YIg0L/QsNGC0YcpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTcxCisjOiB3dC1zdGF0dXMuYzoxMjM4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJlYmFzZSAtLWFib3J0wrssINGH0YLQvtCx0Ysg0L/QtdGA0LXQudGC0Lgg0L3QsCDQvtGA0LjQs9C40L3QsNC70YzQvdGD0Y4g0LLQtdGC0LrRgykiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzcKKyM6IHd0LXN0YXR1cy5jOjEyNDQKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNCy0YHQtSDQutC+0L3RhNC70LjQutGC0Ysg0YDQsNC30YDQtdGI0LXQvdGLOiDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgcmViYXNlIC0tY29udGludWXCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjExODEKKyM6IHd0LXN0YXR1cy5jOjEyNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAi0JLRiyDRgdC10LnRh9Cw0YEg0YDQsNC30LTQtdC70Y/QtdGC0LUg0LrQvtC80LzQuNGCINC/0YDQuCDQv9C10YDQtdC80LXRidC10L3QuNC4INCy0LXRgtC60LggIMKrJXPCuyDQvdCw0LQgwqslc8K7LiIKIAotIzogd3Qtc3RhdHVzLmM6MTE4NgorIzogd3Qtc3RhdHVzLmM6MTI1MwogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICLQktGLINGB0LXQudGH0LDRgSDRgNCw0LfQtNC10LvRj9C10YLQtSDQutC+0LzQvNC40YIg0L/RgNC4INC/0LXRgNC10LzQtdGJ0LXQvdC40Lgg0LLQtdGC0LrQuC4iCiAKLSM6IHd0LXN0YXR1cy5jOjExODkKKyM6IHd0LXN0YXR1cy5jOjEyNTYKIG1zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiKNCa0LDQuiDRgtC+0LvRjNC60L4g0LLQsNGIINGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzINCx0YPQtNC10YIg0YfQuNGB0YLRi9C5LCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgcmViYXNlIC0tY29udGludWXCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjExOTMKKyM6IHd0LXN0YXR1cy5jOjEyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAi0JLRiyDRgdC10LnRh9Cw0YEg0YDQtdC00LDQutGC0LjRgNGD0LXRgtC1INC60L7QvNC80LjRgiDQv9GA0Lgg0L/QtdGA0LXQvNC10YnQtdC90LjQuCDQstC10YLQutC4ICDCqyVzwrsg0L3QsNC0IMKrJXPCuy4iCiAKLSM6IHd0LXN0YXR1cy5jOjExOTgKKyM6IHd0LXN0YXR1cy5jOjEyNjUKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINGA0LXQtNCw0LrRgtC40YDRg9C10YLQtSDQutC+0LzQvNC40YIg0L/RgNC4INC/0LXRgNC10LzQtdGJ0LXQvdC40Lgg0LLQtdGC0LrQuC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDEKKyM6IHd0LXN0YXR1cy5jOjEyNjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGNvbW1pdCAtLWFtZW5kwrssINGH0YLQvtCx0Ysg0LjRgdC/0YDQsNCy0LjRgtGMINGC0LXQutGD0YnQuNC5INC60L7QvNC80LjRgikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDMKKyM6IHd0LXN0YXR1cy5jOjEyNzAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCByZWJhc2UgLS1jb250aW51ZcK7LCDQutC+0LPQtNCwINCx0YPQtNC10YLQtSDQtNC+0LLQvtC70YzQvdGLINC40LfQvNC10L3QtdC90LjRj9C80LgpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjEzCisjOiB3dC1zdGF0dXMuYzoxMjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nIGNvbW1pdCAlcy4iCi1tc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINC+0YLQsdC40YDQsNC10YLQtSDQu9GD0YfRiNC40Lkg0LrQvtC80LzQuNGCICVzLiIKK21zZ3N0ciAi0JLRiyDQutC+0L/QuNGA0YPQtdGC0LUg0LrQvtC80LzQuNGCICVzLiIKIAotIzogd3Qtc3RhdHVzLmM6MTIxOAorIzogd3Qtc3RhdHVzLmM6MTI4NQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICjRgNCw0LfRgNC10YjQuNGC0LUg0LrQvtC90YTQu9C40LrRgtGLLCDQt9Cw0YLQtdC8INC30LDQv9GD0YHRgtC40YLQtSDCq2dpdCBjaGVycnktcGljayAtLWNvbnRpbnVlwrspIgogCi0jOiB3dC1zdGF0dXMuYzoxMjIxCisjOiB3dC1zdGF0dXMuYzoxMjg4CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNCy0YHQtSDQutC+0L3RhNC70LjQutGC0Ysg0YDQsNC30YDQtdGI0LXQvdGLOiDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZcK7KSIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMworIzogd3Qtc3RhdHVzLmM6MTI5MAogbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSBjaGVycnktcGljayBvcGVyYXRpb24pIgotbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnTCuywg0YfRgtC+0LHRiyDQvtGC0LzQtdC90LjRgtGMINC+0L/QtdGA0LDRhtC40Y4g0L7RgtCx0L7RgNCwINC70YPRh9GI0LXQs9C+KSIKK21zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBjaGVycnktcGljayAtLWFib3J0wrssINGH0YLQvtCx0Ysg0L7RgtC80LXQvdC40YLRjCDQutC+0L/QuNGA0L7QstCw0L3QuNGPINC60L7QvNC80LjRgtCwKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIzMgorIzogd3Qtc3RhdHVzLmM6MTI5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKLW1zZ3N0ciAi0JLRiyDRgdC10LnRh9Cw0YEg0LLQvtC30LLRgNCw0YnQsNC10YLQtSDQutC+0LzQvNC40YIgJXMuIgorbXNnc3RyICLQktGLINGB0LXQudGH0LDRgSDQvtCx0YDQsNGJ0LDQtdGC0LUg0LjQt9C80LXQvdC10L3QuNGPINC60L7QvNC80LjRgtCwICVzLiIKIAotIzogd3Qtc3RhdHVzLmM6MTIzNworIzogd3Qtc3RhdHVzLmM6MTMwNAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAo0YDQsNC30YDQtdGI0LjRgtC1INC60L7QvdGE0LvQuNC60YLRiywg0LfQsNGC0LXQvCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgcmV2ZXJ0IC0tY29udGludWXCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDAKKyM6IHd0LXN0YXR1cy5jOjEzMDcKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNCy0YHQtSDQutC+0L3RhNC70LjQutGC0Ysg0YDQsNC30YDQtdGI0LXQvdGLOiDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgcmV2ZXJ0IC0tY29udGludWXCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDIKKyM6IHd0LXN0YXR1cy5jOjEzMDkKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgotbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJldmVydCAtLWFib3J0wrssINGH0YLQvtCx0Ysg0L7RgtC80LXQvdC40YLRjCDQvtC/0LXRgNCw0YbQuNGOINCy0L7Qt9Cy0YDQsNGC0LApIgorbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJldmVydCAtLWFib3J0wrssINGH0YLQvtCx0Ysg0L7RgtC80LXQvdC40YLRjCDQvtC/0LXRgNCw0YbQuNGOINC+0LHRgNCw0YnQtdC90LjRjyDQuNC30LzQtdC90LXQvdC40Lkg0LrQvtC80LzQuNGC0LApIgogCi0jOiB3dC1zdGF0dXMuYzoxMjUzCisjOiB3dC1zdGF0dXMuYzoxMzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAi0JLRiyDRgdC10LnRh9Cw0YEg0LIg0L/RgNC+0YbQtdGB0YHQtSDQtNCy0L7QuNGH0L3QvtCz0L4g0L/QvtC40YHQutCwLCDQvdCw0YfQsNGC0L7Qs9C+INGBINCy0LXRgtC60Lggwqslc8K7LiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NworIzogd3Qtc3RhdHVzLmM6MTMyNAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINCyINC/0YDQvtGG0LXRgdGB0LUg0LTQstC+0LjRh9C90L7Qs9C+INC/0L7QuNGB0LrQsC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjAKKyM6IHd0LXN0YXR1cy5jOjEzMjcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdG8gZ2V0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgYmlzZWN0IHJlc2V0wrssINGH0YLQvtCx0Ysg0LLQtdGA0L3Rg9GC0YzRgdGPINC90LAg0LjRgdGF0L7QtNC90YPRjiDQstC10YLQutGDKSIKIAotIzogd3Qtc3RhdHVzLmM6MTQ2MAorIzogd3Qtc3RhdHVzLmM6MTUyNAogbXNnaWQgIk9uIGJyYW5jaCAiCiBtc2dzdHIgItCd0LAg0LLQtdGC0LrQtSAiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NjYKKyM6IHd0LXN0YXR1cy5jOjE1MzAKIG1zZ2lkICJpbnRlcmFjdGl2ZSByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICLQuNC90YLQtdGA0LDQutGC0LjQstC90L7QtSDQv9C10YDQtdC80LXRidC10L3QuNC1INCyINC/0YDQvtGG0LXRgdGB0LU7INC90LDQtCAiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NjgKKyM6IHd0LXN0YXR1cy5jOjE1MzIKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICLQv9C10YDQtdC80LXRidC10L3QuNC1INCyINC/0YDQvtGG0LXRgdGB0LU7INC90LDQtCAiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NzMKKyM6IHd0LXN0YXR1cy5jOjE1MzcKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKIG1zZ3N0ciAiSEVBRCDQvtGC0LTQtdC70ZHQvSDQvdCwICIKIAotIzogd3Qtc3RhdHVzLmM6MTQ3NQorIzogd3Qtc3RhdHVzLmM6MTUzOQogbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCiBtc2dzdHIgIkhFQUQg0L7RgtC00LXQu9GR0L0g0L3QsNGH0LjQvdCw0Y8g0YEgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDc4CisjOiB3dC1zdGF0dXMuYzoxNTQyCiBtc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAi0KHQtdC50YfQsNGBINC90Lgg0L3QsCDQvtC00L3QvtC5INC40Lcg0LLQtdGC0L7QuiIKIAotIzogd3Qtc3RhdHVzLmM6MTQ5NgorIzogd3Qtc3RhdHVzLmM6MTU2MAogbXNnaWQgIkluaXRpYWwgY29tbWl0IgogbXNnc3RyICLQndCw0YfQsNC70YzQvdGL0Lkg0LrQvtC80LzQuNGCIgogCi0jOiB3dC1zdGF0dXMuYzoxNTEwCisjOiB3dC1zdGF0dXMuYzoxNTc0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIgogbXNnc3RyICLQndC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyIKIAotIzogd3Qtc3RhdHVzLmM6MTUxMgorIzogd3Qtc3RhdHVzLmM6MTU3NgogbXNnaWQgIklnbm9yZWQgZmlsZXMiCiBtc2dzdHIgItCY0LPQvdC+0YDQuNGA0YPQtdC80YvQtSDRhNCw0LnQu9GLIgogCi0jOiB3dC1zdGF0dXMuYzoxNTE2CisjOiB3dC1zdGF0dXMuYzoxNTgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC0yMzg1LDgyICszNjQ0LDk3IEBACiAibmV3IGZpbGVzIHlvdXJzZWxmIChzZWUgJ2dpdCBoZWxwIHN0YXR1cycpLiIKIG1zZ3N0ciAiJS4yZiDRgdC10LrRg9C90LTRiyDQt9Cw0L3Rj9C7INCy0YvQstC+0LQg0YHQv9C40YHQutCwINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIuIMKrc3RhdHVzIC11bm/CuyDQstC+0LfQvNC+0LbQvdC+INC80L7QttC10YIg0YPRgdC60L7RgNC40YLRjCDRjdGC0L4sINC90L4g0LHRg9C00YzRgtC1INCy0L3QuNC80LDRgtC10LvRjNC90YssINC4INC90LUg0LfQsNCx0YPQtNGM0YLQtSDQtNC+0LHQsNCy0LjRgtGMINC90L7QstGL0LUg0YTQsNC50LvRiyDQstGA0YPRh9C90YPRjiAo0YHQvNC+0YLRgNC40YLQtSDCq2dpdCBoZWxwIHN0YXR1c8K7INC00LvRjyDQv9C+0LTRgNC+0LHQvdC+0YHRgtC10LkpLiIKIAotIzogd3Qtc3RhdHVzLmM6MTUyMgorIzogd3Qtc3RhdHVzLmM6MTU4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgogbXNnc3RyICLQndC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyDQvdC1INC/0L7QutCw0LfQsNC90YslcyIKIAotIzogd3Qtc3RhdHVzLmM6MTUyNAorIzogd3Qtc3RhdHVzLmM6MTU4OAogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIijQuNGB0L/QvtC70YzQt9GD0LnRgtC1INC+0L/RhtC40Y4gwqstdcK7LCDRh9GC0L7QsdGLINC/0L7QutCw0LfQsNGC0Ywg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70YspIgogCi0jOiB3dC1zdGF0dXMuYzoxNTMwCisjOiB3dC1zdGF0dXMuYzoxNTk0CiBtc2dpZCAiTm8gY2hhbmdlcyIKIG1zZ3N0ciAi0J3QtdGCINC40LfQvNC10L3QtdC90LjQuSIKIAotIzogd3Qtc3RhdHVzLmM6MTUzNQorIzogd3Qtc3RhdHVzLmM6MTU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAi0L3QtdGCINC40LfQvNC10L3QtdC90LjQuSDQtNC+0LHQsNCy0LvQtdC90L3Ri9GFINC00LvRjyDQutC+0LzQvNC40YLQsFxuKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgYWRkwrsg0Lgv0LjQu9C4IMKrZ2l0IGNvbW1pdCAtYcK7KVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTM4CisjOiB3dC1zdGF0dXMuYzoxNjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgItC90LXRgiDQuNC30LzQtdC90LXQvdC40Lkg0LTQvtCx0LDQstC70LXQvdC90YvRhSDQtNC70Y8g0LrQvtC80LzQuNGC0LBcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU0MQorIzogd3Qtc3RhdHVzLmM6MTYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgogInRyYWNrKVxuIgogbXNnc3RyICLQvdC40YfQtdCz0L4g0L3QtSDQtNC+0LHQsNCy0LvQtdC90L4g0LIg0LrQvtC80LzQuNGCLCDQvdC+INC10YHRgtGMINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGFkZMK7LCDRh9GC0L7QsdGLINC+0YLRgdC70LXQttC40LLQsNGC0Ywg0LjRhSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU0NAorIzogd3Qtc3RhdHVzLmM6MTYwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKIG1zZ3N0ciAi0L3QuNGH0LXQs9C+INC90LUg0LTQvtCx0LDQstC70LXQvdC+INCyINC60L7QvNC80LjRgiwg0L3QviDQtdGB0YLRjCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRi1xuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQ3CisjOiB3dC1zdGF0dXMuYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICLQvdC10YfQtdCz0L4g0LrQvtC80LzQuNGC0LjRgtGMICjRgdC+0LfQtNCw0LnRgtC1L9GB0LrQvtC/0LjRgNGD0LnRgtC1INGE0LDQudC70YssINC30LDRgtC10Lwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IGFkZMK7LCDRh9GC0L7QsdGLINC+0YLRgdC70LXQttC40LLQsNGC0Ywg0LjRhSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU1MCB3dC1zdGF0dXMuYzoxNTU1CisjOiB3dC1zdGF0dXMuYzoxNjE0IHd0LXN0YXR1cy5jOjE2MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXRcbiIKIG1zZ3N0ciAi0L3QtdGH0LXQs9C+INC60L7QvNC80LjRgtC40YLRjFxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTUzCisjOiB3dC1zdGF0dXMuYzoxNjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpXG4iCiBtc2dzdHIgItC90LXRh9C10LPQviDQutC+0LzQvNC40YLQuNGC0YwgKNC40YHQv9C+0LvRjNC30YPQudGC0LUg0L7Qv9GG0LjRjiDCqy11wrssINGH0YLQvtCx0Ysg0L/QvtC60LDQt9Cw0YLRjCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiylcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU1NworIzogd3Qtc3RhdHVzLmM6MTYyMQogIywgYy1mb3JtYXQKLW1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyBkaXJlY3RvcnkgY2xlYW5cbiIKK21zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyB0cmVlIGNsZWFuXG4iCiBtc2dzdHIgItC90LXRh9C10LPQviDQutC+0LzQvNC40YLQuNGC0YwsINC90LXRgiDQuNC30LzQtdC90LXQvdC40Lkg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjY0CisjOiB3dC1zdGF0dXMuYzoxNzI4CiBtc2dpZCAiSW5pdGlhbCBjb21taXQgb24gIgogbXNnc3RyICLQndCw0YfQsNC70YzQvdGL0Lkg0LrQvtC80LzQuNGCINC90LAgIgogCi0jOiB3dC1zdGF0dXMuYzoxNjY4CisjOiB3dC1zdGF0dXMuYzoxNzMyCiBtc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKIG1zZ3N0ciAiSEVBRCAo0L3QtdGCINCy0LXRgtC60LgpIgogCi0jOiB3dC1zdGF0dXMuYzoxNjk3CisjOiB3dC1zdGF0dXMuYzoxNzYxCiBtc2dpZCAiZ29uZSIKIG1zZ3N0ciAi0LjRgdGH0LXQtyIKIAotIzogd3Qtc3RhdHVzLmM6MTY5OSB3dC1zdGF0dXMuYzoxNzA3CisjOiB3dC1zdGF0dXMuYzoxNzYzIHd0LXN0YXR1cy5jOjE3NzEKIG1zZ2lkICJiZWhpbmQgIgogbXNnc3RyICLQv9C+0LfQsNC00LgiCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDIgd3Qtc3RhdHVzLmM6MTcwNQorIzogd3Qtc3RhdHVzLmM6MTc2NiB3dC1zdGF0dXMuYzoxNzY5CiBtc2dpZCAiYWhlYWQgIgogbXNnc3RyICLQstC/0LXRgNC10LTQuCAiCiAKLSM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1NyBidWlsdGluL2Nsb25lLmM6NDE1CisjLiBUUkFOU0xBVE9SUzogdGhlIGFjdGlvbiBpcyBlLmcuICJwdWxsIHdpdGggcmViYXNlIgorIzogd3Qtc3RhdHVzLmM6MjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgJXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCAlczog0KMg0LLQsNGBINC10YHRgtGMINC90LXQv9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPLiIKKworIzogd3Qtc3RhdHVzLmM6MjI3NgorbXNnaWQgImFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAi0Log0YLQvtC80YMg0LbQtSwg0LIg0LLQsNGI0LXQvCDQuNC90LTQtdC60YHQtSDQtdGB0YLRjCDQvdC10LfQsNC60L7QvNC80LjRh9C10L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPLiIKKworIzogd3Qtc3RhdHVzLmM6MjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgJXM6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMICVzOiDQkiDQstCw0YjQtdC8INC40L3QtNC10LrRgdC1INC10YHRgtGMINC90LXQt9Cw0LrQvtC80LzQuNGH0LXQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgorCisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTcgYnVpbHRpbi9jbG9uZS5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCiBtc2dzdHIgItGB0LHQvtC5INC+0YLRgdC+0LXQtNC40L3QtdC90LjRjyDCqyVzwrsiCkBAIC0yNDY5LDEwMTQgKzM3NDMsNTEwIEBACiBtc2dpZCAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBhZGQgWzzQvtC/0YbQuNC4Pl0gWy0tXSA80YHQv9C10YbQuNGE0LjQutCw0YbQuNGPLdC/0YPRgtC4PuKApiIKIAotIzogYnVpbHRpbi9hZGQuYzo2NQorIzogYnVpbHRpbi9hZGQuYzo4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICLQvdC10L7QttC40LTQsNC90L3Ri9C5INGB0YLQsNGC0YPRgSDRgNCw0LfQu9C40YfQuNC5ICVjIgogCi0jOiBidWlsdGluL2FkZC5jOjcwIGJ1aWx0aW4vY29tbWl0LmM6MjgwCisjOiBidWlsdGluL2FkZC5jOjg1IGJ1aWx0aW4vY29tbWl0LmM6MjkxCiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICLRgdCx0L7QuSDQv9GA0Lgg0L7QsdC90L7QstC70LXQvdC40Lgg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2FkZC5jOjgwCisjOiBidWlsdGluL2FkZC5jOjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMIMKrJXPCu1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjEzNAorIzogYnVpbHRpbi9hZGQuYzoxNDkKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAi0J3QtdC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0L/QvtGB0LvQtSDQvtCx0L3QvtCy0LvQtdC90LjRjyDQuNC90LTQtdC60YHQsDoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTk0IGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODExCisjOiBidWlsdGluL2FkZC5jOjIwOSBidWlsdGluL3Jldi1wYXJzZS5jOjg0MAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL2FkZC5jOjIwNQorIzogYnVpbHRpbi9hZGQuYzoyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywgwqslc8K7INC00LvRjyDQt9Cw0L/QuNGB0LguIgogCi0jOiBidWlsdGluL2FkZC5jOjIwOQorIzogYnVpbHRpbi9hZGQuYzoyMjQKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDQv9Cw0YLRhyIKIAotIzogYnVpbHRpbi9hZGQuYzoyMTIKKyM6IGJ1aWx0aW4vYWRkLmM6MjI3CiBtc2dpZCAiZWRpdGluZyBwYXRjaCBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC/0YDQuCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC4INC/0LDRgtGH0LAiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjE1CisjOiBidWlsdGluL2FkZC5jOjIzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBzdGF0INC00LvRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjE3CisjOiBidWlsdGluL2FkZC5jOjIzMgogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAi0J/Rg9GB0YLQvtC5INC/0LDRgtGHLiDQntC/0LXRgNCw0YbQuNGPINC/0YDQtdGA0LLQsNC90LAuIgogCi0jOiBidWlsdGluL2FkZC5jOjIyMgorIzogYnVpbHRpbi9hZGQuYzoyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC40LzQtdC90LjRgtGMIMKrJXPCuyIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzIKKyM6IGJ1aWx0aW4vYWRkLmM6MjQ3CiBtc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgogbXNnc3RyICLQodC70LXQtNGD0Y7RidC40LUg0L/Rg9GC0Lgg0LjQs9C90L7RgNC40YDRg9GO0YLRgdGPINC+0LTQvdC40Lwg0LjQtyDQstCw0YjQuNGFINGE0LDQudC70L7QsiAuZ2l0aWdub3JlOlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjI0OSBidWlsdGluL2NsZWFuLmM6ODcwIGJ1aWx0aW4vZmV0Y2guYzoxMTIgYnVpbHRpbi9tdi5jOjExMQotIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NSBidWlsdGluL3B1bGwuYzoxOTcgYnVpbHRpbi9wdXNoLmM6NTExCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMzIgYnVpbHRpbi9ybS5jOjI2OCBidWlsdGluL3NlbmQtcGFjay5jOjE2MgorIzogYnVpbHRpbi9hZGQuYzoyNjYgYnVpbHRpbi9jbGVhbi5jOjg3MCBidWlsdGluL2ZldGNoLmM6MTE1IGJ1aWx0aW4vbXYuYzoxMTEKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTUgYnVpbHRpbi9wdWxsLmM6MTk4IGJ1aWx0aW4vcHVzaC5jOjUyMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI2IGJ1aWx0aW4vcm0uYzoyNjggYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKIG1zZ2lkICJkcnkgcnVuIgogbXNnc3RyICLQv9GA0L7QsdC90YvQuSDQt9Cw0L/Rg9GB0LoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjUwIGJ1aWx0aW4vYXBwbHkuYzo0NTYzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzMyBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NSBidWlsdGluL2ZzY2suYzo1NTcKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyNiBidWlsdGluL212LmM6MTEwIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE0Ci1tc2dpZCAiYmUgdmVyYm9zZSIKLW1zZ3N0ciAi0LHRi9GC0Ywg0LzQvdC+0LPQvtGB0LvQvtCy0L3QtdC1IgotCi0jOiBidWlsdGluL2FkZC5jOjI1MgorIzogYnVpbHRpbi9hZGQuYzoyNjkKIG1zZ2lkICJpbnRlcmFjdGl2ZSBwaWNraW5nIgogbXNnc3RyICLQuNC90YLQtdGA0LDQutGC0LjQstC90YvQuSDQstGL0LHQvtGAIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MyBidWlsdGluL2NoZWNrb3V0LmM6MTE1NCBidWlsdGluL3Jlc2V0LmM6Mjg2CisjOiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrb3V0LmM6MTE1NiBidWlsdGluL3Jlc2V0LmM6Mjg2CiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgItC40L3RgtC10YDQsNC60YLQuNCy0L3Ri9C5INCy0YvQsdC+0YAg0LHQu9C+0LrQvtCyIgogCi0jOiBidWlsdGluL2FkZC5jOjI1NAorIzogYnVpbHRpbi9hZGQuYzoyNzEKIG1zZ2lkICJlZGl0IGN1cnJlbnQgZGlmZiBhbmQgYXBwbHkiCiBtc2dzdHIgItC+0YLRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRgtC10LrRg9GJ0LjQuSDRhNCw0LnQuyDRgNCw0LfQu9C40YfQuNC5INC4INC/0YDQuNC80LXQvdC40YLRjCDQtdCz0L4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU1CisjOiBidWlsdGluL2FkZC5jOjI3MgogbXNnaWQgImFsbG93IGFkZGluZyBvdGhlcndpc2UgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC00L7QsdCw0LLQu9C10L3QuNC1INC40LPQvdC+0YDQuNGA0YPQtdC80YvRhSDQuNC90LDRh9C1INGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6MjczCiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgItC+0LHQvdC+0LLQuNGC0Ywg0L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTcKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc0CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICLQt9Cw0L/QuNGB0LDRgtGMINGC0L7Qu9GM0LrQviDRhNCw0LrRgiwg0YfRgtC+INC/0YPRgtGMINCx0YPQtNC10YIg0LTQvtCx0LDQstC70LXQvSDQv9C+0LfQttC1IgogCi0jOiBidWlsdGluL2FkZC5jOjI1OAorIzogYnVpbHRpbi9hZGQuYzoyNzUKIG1zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINC40Lcg0LLRgdC10YUg0L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0Lgg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjEKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc4CiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQv9GD0YLQuCDRg9C00LDQu9C10L3QvdGL0LUg0LjQtyDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAgKNGC0L7QttC1LCDRh9GC0L4g0LggLS1uby1hbGwpIgogCi0jOiBidWlsdGluL2FkZC5jOjI2MworIzogYnVpbHRpbi9hZGQuYzoyODAKIG1zZ2lkICJkb24ndCBhZGQsIG9ubHkgcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgItC90LUg0LTQvtCx0LDQstC70Y/RgtGMLCDRgtC+0LvRjNC60L4g0L7QsdC90L7QstC40YLRjCDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY0CisjOiBidWlsdGluL2FkZC5jOjI4MQogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgItC/0YDQvtC/0YPRgdC60LDRgtGMINGE0LDQudC70YssINC60L7RgtC+0YDRi9C1INC90LUg0LzQvtCz0YPRgiDQsdGL0YLRjCDQtNC+0LHQsNCy0LvQtdC90Ysg0LjQty3Qt9CwINC+0YjQuNCx0L7QuiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjUKKyM6IGJ1aWx0aW4vYWRkLmM6MjgyCiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICLRg9C00L7RgdGC0L7QstC10YDQuNGC0YzRgdGPLCDRh9GC0L4g0LTQsNC20LUg0L3QtdC00L7RgdGC0LDRjtGJ0LjQtSDRhNCw0LnQu9GLINCx0YPQtNGD0YIg0L/RgNC+0LjQs9C90L7RgNC40YDQvtCy0LDQvdGLINC/0YDQuCAg0L/RgNC+0LHQvdC+0Lwg0LfQsNC/0YPRgdC60LUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjg3CisjOiBidWlsdGluL2FkZC5jOjI4MyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0NworbXNnaWQgIigrLy0peCIKK21zZ3N0ciAiKCsvLSl4IgorCisjOiBidWlsdGluL2FkZC5jOjI4MyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0OAorbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgorbXNnc3RyICLQv9C10YDQtdC+0L/RgNC10LTQtdC70LjRgtGMINCx0LjRgiDQstGL0L/QvtC70L3QtdC90LjRjyDQvdCwINGD0LrQsNC30LDQvdC90YvRhSDRhNCw0LnQu9Cw0YUiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uXG4iCiBtc2dzdHIgItCY0YHQv9C+0LvRjNC30YPQudGC0LUgLWYsINC10YHQu9C4INCy0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INC00L7QsdCw0LLQuNGC0Ywg0LjRhS5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTQKKyM6IGJ1aWx0aW4vYWRkLmM6MzEyCiBtc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAi0L7RiNC40LHQutCwINC/0YDQuCDQtNC+0LHQsNCy0LvQtdC90LjQuCDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzMwCisjOiBidWlsdGluL2FkZC5jOjM0OAogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICItQSDQuCAtdSDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogYnVpbHRpbi9hZGQuYzozMzcKKyM6IGJ1aWx0aW4vYWRkLmM6MzU1CiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAi0J7Qv9GG0LjRjyAtLWlnbm9yZS1taXNzaW5nINC80L7QttC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGM0YHRjyDRgtC+0LvRjNC60L4g0LLQvNC10YHRgtC1INGBIC0tZHJ5LXJ1biIKIAotIzogYnVpbHRpbi9hZGQuYzozNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tY2htb2QgcGFyYW0gJyVzJyBtdXN0IGJlIGVpdGhlciAteCBvciAreCIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCAtLWNobW9kIMKrJXPCuyDQtNC+0LvQttC10L0g0LHRi9GC0YwgLXgg0LjQu9C4ICt4IgorCisjOiBidWlsdGluL2FkZC5jOjM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKIG1zZ3N0ciAi0J3QuNGH0LXQs9C+INC90LUg0YPQutCw0LfQsNC90L4sINC90LjRh9C10LPQviDQvdC1INC00L7QsdCw0LLQu9C10L3Qvi5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTMKKyM6IGJ1aWx0aW4vYWRkLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgogbXNnc3RyICLQktC+0LfQvNC+0LbQvdC+LCDQstGLINC40LzQtdC70Lgg0LIg0LLQuNC00YMgwqtnaXQgYWRkIC7Cuz9cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTggYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIgYnVpbHRpbi9jbGVhbi5jOjkxNAotIzogYnVpbHRpbi9jb21taXQuYzozMzkgYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyOTgKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDAKKyM6IGJ1aWx0aW4vYWRkLmM6MzgwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzIgYnVpbHRpbi9jbGVhbi5jOjkxNCBidWlsdGluL2NvbW1pdC5jOjM1MAorIzogYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyOTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDQKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCiBtc2dzdHIgItGE0LDQudC7INC40L3QtNC10LrRgdCwINC/0L7QstGA0LXQttC00LXQvSIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzkgYnVpbHRpbi9hcHBseS5jOjQ2NjEgYnVpbHRpbi9tdi5jOjI4MyBidWlsdGluL3JtLmM6NDMwCi1tc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0L3QvtCy0YvQuSDRhNCw0LnQuyDQuNC90LTQtdC60YHQsCIKLQotIzogYnVpbHRpbi9hbS5jOjI1NiBidWlsdGluL2NvbW1pdC5jOjc0OSBidWlsdGluL21lcmdlLmM6MTA4OQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgotbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDCqyVzwrsiCi0KLSM6IGJ1aWx0aW4vYW0uYzo0MzAKKyM6IGJ1aWx0aW4vYW0uYzo0MTQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgYXV0aG9yIHNjcmlwdCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0YHRhtC10L3QsNGA0LjQuSDQsNCy0YLQvtGA0YHRgtCy0LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1MDcKKyM6IGJ1aWx0aW4vYW0uYzo0OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyB3YXMgZGVsZXRlZCBieSB0aGUgYXBwbHlwYXRjaC1tc2cgaG9vayIKIG1zZ3N0ciAiwqslc8K7INCx0YvQuyDRg9C00LDQu9C10L0g0L/QtdGA0LXRhdCy0LDRgtGH0LjQutC+0LwgYXBwbHlwYXRjaC1tc2ciCiAKLSM6IGJ1aWx0aW4vYW0uYzo1NDggYnVpbHRpbi9ub3Rlcy5jOjMwMAorIzogYnVpbHRpbi9hbS5jOjUzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90LDRjyDRgdGC0YDQvtC60LAg0LLQstC+0LTQsDogwqslc8K7LiIKIAotIzogYnVpbHRpbi9hbS5jOjU4NSBidWlsdGluL25vdGVzLmM6MzE1CisjOiBidWlsdGluL2FtLmM6NTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0LrQvtC/0LjRgNC+0LLQsNGC0Ywg0LfQsNC80LXRgtC60YMg0LjQtyDCqyVzwrsg0LIgwqslc8K7IgogCi0jOiBidWlsdGluL2FtLmM6NjExCisjOiBidWlsdGluL2FtLmM6NTk1CiBtc2dpZCAiZnNlZWsgZmFpbGVkIgogbXNnc3RyICLRgdCx0L7QuSDQv9GA0Lgg0LLRi9C/0L7Qu9C90LXQvdC40LggZnNlZWsiCiAKLSM6IGJ1aWx0aW4vYW0uYzo3ODgKKyM6IGJ1aWx0aW4vYW0uYzo3NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINC/0LDRgtGHIMKrJXPCuyIKIAotIzogYnVpbHRpbi9hbS5jOjg1MworIzogYnVpbHRpbi9hbS5jOjg0MAogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgogbXNnc3RyICLQotC+0LvRjNC60L4g0YHQtdGA0LjRjyDQv9Cw0YLRh9C10LkgU3RHSVQg0LzQvtC20LXRgiDQsdGL0YLRjCDQv9GA0LjQvNC10L3QtdC90LAg0LfQsCDRgNCw0LciCiAKLSM6IGJ1aWx0aW4vYW0uYzo5MDAKKyM6IGJ1aWx0aW4vYW0uYzo4ODcKIG1zZ2lkICJpbnZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzQsNGPINC80LXRgtC60LAg0LTQsNGC0Ysv0LLRgNC10LzQtdC90LgiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5MDMgYnVpbHRpbi9hbS5jOjkxMQorIzogYnVpbHRpbi9hbS5jOjg5MCBidWlsdGluL2FtLmM6ODk4CiBtc2dpZCAiaW52YWxpZCBEYXRlIGxpbmUiCiBtc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80LDRjyDRgdGC0YDQvtC60LAg0LTQsNGC0YsiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5MDgKKyM6IGJ1aWx0aW4vYW0uYzo4OTUKIG1zZ2lkICJpbnZhbGlkIHRpbWV6b25lIG9mZnNldCIKIG1zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INGB0LzQtdGJ0LXQvdC40LUg0YfQsNGB0L7QstC+0LPQviDQv9C+0Y/RgdCwIgogCi0jOiBidWlsdGluL2FtLmM6OTk1CisjOiBidWlsdGluL2FtLmM6OTg0CiBtc2dpZCAiUGF0Y2ggZm9ybWF0IGRldGVjdGlvbiBmYWlsZWQuIgogbXNnc3RyICLQodCx0L7QuSDQvtC/0YDQtdC00LXQu9C10L3QuNGPINGE0L7RgNC80LDRgtCwINC/0LDRgtGH0LAuIgogCi0jOiBidWlsdGluL2FtLmM6MTAwMCBidWlsdGluL2Nsb25lLmM6MzgwCisjOiBidWlsdGluL2FtLmM6OTg5IGJ1aWx0aW4vY2xvbmUuYzozNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQutCw0YLQsNC70L7QsyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMDA0CisjOiBidWlsdGluL2FtLmM6OTkzCiBtc2dpZCAiRmFpbGVkIHRvIHNwbGl0IHBhdGNoZXMuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C00LXQu9C40YLRjCDQv9Cw0YLRh9C4INC90LAg0YfQsNGB0YLQuC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTM2IGJ1aWx0aW4vY29tbWl0LmM6MzY1CisjOiBidWlsdGluL2FtLmM6MTEyNSBidWlsdGluL2NvbW1pdC5jOjM3NgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBpbmRleCBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL2FtLmM6MTE4NworIzogYnVpbHRpbi9hbS5jOjExNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcIiVzIC0tY29udGludWVcIi4iCiBtc2dzdHIgItCa0L7Qs9C00LAg0LLRiyDRg9GB0YLRgNCw0L3QuNGC0LUg0Y3RgtGDINC/0YDQvtCx0LvQtdC80YMsINC30LDQv9GD0YHRgtC40YLQtSDCqyVzIC0tY29udGludWXCuy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTg4CisjOiBidWlsdGluL2FtLmM6MTE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiJXMgLS1za2lwXCIgaW5zdGVhZC4iCiBtc2dzdHIgItCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1INC/0YDQvtC/0YPRgdGC0LjRgtGMINGN0YLQvtGCINC/0LDRgtGHLCDRgtC+INC30LDQv9GD0YHRgtC40YLQtSDCqyVzIC0tc2tpcMK7LiIKIAotIzogYnVpbHRpbi9hbS5jOjExODkKKyM6IGJ1aWx0aW4vYW0uYzoxMTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKIG1zZ3N0ciAi0KfRgtC+0LHRiyDQstC10YDQvdGD0YLRjNGB0Y8g0L3QsCDQv9GA0LXQtNGL0LTRg9GJ0YPRjiDQstC10YLQutGDINC4INC+0YHRgtCw0L3QvtCy0LjRgtGMINC/0YDQuNC80LXQvdC10L3QuNC1INC40LfQvNC10L3QtdC90LjQuSwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrJXMgLS1hYm9ydMK7LiIKIAotIzogYnVpbHRpbi9hbS5jOjEzMjcKKyM6IGJ1aWx0aW4vYW0uYzoxMzE2CiBtc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIFdhcyBpdCBzcGxpdCB3cm9uZz8iCiBtc2dzdHIgItCf0LDRgtGHINC/0YPRgdGCLiDQktC+0LfQvNC+0LbQvdC+LCDQvtC9INCx0YvQuyDQvdC10L/RgNCw0LLQuNC70YzQvdC+INGA0LDQt9C00LXQu9GR0L0/IgogCi0jOiBidWlsdGluL2FtLmM6MTQwMSBidWlsdGluL2xvZy5jOjE1MTYKKyM6IGJ1aWx0aW4vYW0uYzoxMzkwIGJ1aWx0aW4vbG9nLmM6MTU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0YHRgtGA0L7QutCwINC40LTQtdC90YLQuNGE0LjQutCw0YbQuNC4OiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE0MjgKKyM6IGJ1aWx0aW4vYW0uYzoxNDE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINC60L7QvNC80LjRgiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzAKKyM6IGJ1aWx0aW4vYW0uYzoxNjEwCiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAi0JIg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCDQvtGC0YHRg9GC0YHRgtCy0YPRjtGCINC00LLQvtC40YfQvdGL0LUg0L7QsdGK0LXQutGC0YssINC90LXQvtCx0YXQvtC00LjQvNGL0LUg0LTQu9GPINC+0YLQutCw0YLQsCDQuiDRgtGA0LXRhdGF0L7QtNC+0LLQvtC80YMg0YHQu9C40Y/QvdC40Y4uIgogCi0jOiBidWlsdGluL2FtLmM6MTYzMgorIzogYnVpbHRpbi9hbS5jOjE2MTIKIG1zZ2lkICJVc2luZyBpbmRleCBpbmZvIHRvIHJlY29uc3RydWN0IGEgYmFzZSB0cmVlLi4uIgogbXNnc3RyICLQmNGB0L/QvtC70YzQt9GD0Y4g0LjQvdC00LXQutGBINC00LvRjyDRgNC10LrQvtC90YHRgtGA0YPQutGG0LjQuCDQsdCw0LfQvtCy0L7Qs9C+INC00LXRgNC10LLQsOKApiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NTEKKyM6IGJ1aWx0aW4vYW0uYzoxNjMxCiBtc2dpZCAiIgogIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCiAiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKIG1zZ3N0ciAi0JLRiyDQstGA0YPRh9C90YPRjiDQuNC30LzQtdC90Y/Qu9C4INC/0LDRgtGHP1xu0J7QvSDQvdC1INC90LDQutC70LDQtNGL0LLQsNC10YLRgdGPINCx0LXQtyDQvtGI0LjQsdC+0Log0L3QsCDQtNCy0L7QuNGH0L3Ri9C1INC+0LHRitC10LrRgtGLLCDQt9Cw0L/QuNGB0LDQvdC90YvQtSDQsiDQtdCz0L4g0LfQsNCz0L7Qu9C+0LLQutC1LiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NTcKKyM6IGJ1aWx0aW4vYW0uYzoxNjM3CiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgogbXNnc3RyICLQntGC0LrQsNGCINC6INC/0YDQuNC80LXQvdC10L3QuNGOINC40LfQvNC10L3QtdC90LjQuSDQuiDQsdCw0LfQvtCy0L7QvNGDINC60L7QvNC80LjRgtGDINGBINC/0L7QvNC+0YnRjNGOINGC0YDQtdGF0YXQvtC00L7QstC+0LPQviDRgdC70LjRj9C90LjRj+KApiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NzIKKyM6IGJ1aWx0aW4vYW0uYzoxNjYyCiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIGluIHRoZSBjaGFuZ2VzLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC70LjRgtGMINC40LfQvNC10L3QtdC90LjRjy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjk2IGJ1aWx0aW4vbWVyZ2UuYzo2MzYKKyM6IGJ1aWx0aW4vYW0uYzoxNjg2IGJ1aWx0aW4vbWVyZ2UuYzo2MjgKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBmYWlsZWQgdG8gd3JpdGUgYSB0cmVlIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSDQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0LTQtdGA0LXQstC+IgogCi0jOiBidWlsdGluL2FtLmM6MTcwMworIzogYnVpbHRpbi9hbS5jOjE2OTMKIG1zZ2lkICJhcHBseWluZyB0byBhbiBlbXB0eSBoaXN0b3J5IgogbXNnc3RyICLQv9GA0LjQvNC10L3QtdC90LjQtSDQuiDQv9GD0YHRgtC+0Lkg0LjRgdGC0L7RgNC40LgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzE2IGJ1aWx0aW4vY29tbWl0LmM6MTc3NSBidWlsdGluL21lcmdlLmM6ODQxCi0jOiBidWlsdGluL21lcmdlLmM6ODY2CisjOiBidWlsdGluL2FtLmM6MTcwNiBidWlsdGluL2NvbW1pdC5jOjE3NjkgYnVpbHRpbi9tZXJnZS5jOjc5OAorIzogYnVpbHRpbi9tZXJnZS5jOjgyMwogbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IgogbXNnc3RyICLRgdCx0L7QuSDQt9Cw0L/QuNGB0Lgg0L7QsdGK0LXQutGC0LAg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzQ4IGJ1aWx0aW4vYW0uYzoxNzUyCisjOiBidWlsdGluL2FtLmM6MTczOSBidWlsdGluL2FtLmM6MTc0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzdW1lOiAlcyBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQv9GA0L7QtNC+0LvQttC90LjRgtGMOiAlcyDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCICIKIAotIzogYnVpbHRpbi9hbS5jOjE3NjgKKyM6IGJ1aWx0aW4vYW0uYzoxNzU5CiBtc2dpZCAiY2Fubm90IGJlIGludGVyYWN0aXZlIHdpdGhvdXQgc3RkaW4gY29ubmVjdGVkIHRvIGEgdGVybWluYWwuIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQuNC90YLQtdGA0LDQutGC0LjQstC90L7QtSDQv9C+0LLQtdC00LXQvdC40LUsINCx0LXQtyBzdGRpbiDQv9C+0LTQutC70Y7Rh9C10L3QvdC+0LPQviDQuiDRgtC10YDQvNC40L3QsNC70YMuIgogCi0jOiBidWlsdGluL2FtLmM6MTc3MworIzogYnVpbHRpbi9hbS5jOjE3NjQKIG1zZ2lkICJDb21taXQgQm9keSBpczoiCiBtc2dzdHIgItCi0LXQu9C+INC60L7QvNC80LjRgtCwOiIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFt5XSwgW25dLCBbZV0sIFt2XSBhbmQgW2FdCiAjLiBpbiB5b3VyIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2gKICMuIGlucHV0IGF0IHRoaXMgcG9pbnQuCi0jOiBidWlsdGluL2FtLmM6MTc4MworIzogYnVpbHRpbi9hbS5jOjE3NzQKIG1zZ2lkICJBcHBseT8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbDogIgogbXNnc3RyICLQn9GA0LjQvNC10L3QuNGC0Yw/IFt5XSAtINC00LAvW25dIC0g0L3QtdGCL1tlXSAtINGA0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGML1t2XSAtINC/0YDQvtGB0LzQvtGC0YDQtdGC0Ywg0L/QsNGC0YcvW2FdIC0g0L/RgNC40LzQtdC90LjRgtGMINCy0YHRkTogIgogCi0jOiBidWlsdGluL2FtLmM6MTgzMworIzogYnVpbHRpbi9hbS5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlydHkgaW5kZXg6IGNhbm5vdCBhcHBseSBwYXRjaGVzIChkaXJ0eTogJXMpIgogbXNnc3RyICLQmNC90LTQtdC60YEg0L3QtSDQv9GD0YHRgtC+0Lk6INC90LXQu9GM0LfRjyDQv9GA0LjQvNC10L3Rj9GC0Ywg0L/QsNGC0YfQuCAo0LIg0LjQvdC00LXQutGB0LU6ICVzKSIKIAotIzogYnVpbHRpbi9hbS5jOjE4NjggYnVpbHRpbi9hbS5jOjE5NDAKKyM6IGJ1aWx0aW4vYW0uYzoxODYxIGJ1aWx0aW4vYW0uYzoxOTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nOiAlLipzIgogbXNnc3RyICLQn9GA0LjQvNC10L3QtdC90LjQtTogJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE4ODQKKyM6IGJ1aWx0aW4vYW0uYzoxODc3CiBtc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgogbXNnc3RyICLQndC10YIg0LjQt9C80LXQvdC10L3QuNC5IOKAlCDQn9Cw0YLRhyDRg9C20LUg0L/RgNC40LzQtdC90LXQvS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODkyCisjOiBidWlsdGluL2FtLmM6MTg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJXMgJS4qcyIKIG1zZ3N0ciAi0J7RiNC40LHQutCwINC/0YDQuNC80LXQvdC10L3QuNGPINC40LfQvNC10L3QtdC90LjQuSDQvdCwICVzICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODk4CisjOiBidWlsdGluL2FtLmM6MTg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY29weSBvZiB0aGUgcGF0Y2ggdGhhdCBmYWlsZWQgaXMgZm91bmQgaW46ICVzIgogbXNnc3RyICLQmtC+0L/QuNGOINC40LfQvNC10L3QtdC90LjQuSwg0LrQvtGC0L7RgNGL0LUg0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0LjQvNC10L3QuNGC0YwsINCy0Ysg0LzQvtC20LXRgtC1INC90LDQudGC0Lgg0LI6ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MTk0MworIzogYnVpbHRpbi9hbS5jOjE5MzYKIG1zZ2lkICIiCiAiTm8gY2hhbmdlcyAtIGRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/XG4iCiAiSWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IHRvIHN0YWdlLCBjaGFuY2VzIGFyZSB0aGF0IHNvbWV0aGluZyBlbHNlXG4iCiAiYWxyZWFkeSBpbnRyb2R1Y2VkIHRoZSBzYW1lIGNoYW5nZXM7IHlvdSBtaWdodCB3YW50IHRvIHNraXAgdGhpcyBwYXRjaC4iCiBtc2dzdHIgItCd0LXRgiDQuNC30LzQtdC90LXQvdC40Lkg4oCUINCy0L7Qt9C80L7QttC90L4sINCy0Ysg0LfQsNCx0YvQu9C4INCy0YvQt9Cy0LDRgtGMIMKrZ2l0IGFkZMK7P1xu0JXRgdC70Lgg0L3QuNGH0LXQs9C+INC90LUg0L7RgdGC0LDQu9C+0YHRjCDQtNC70Y8g0LjQvdC00LXQutGB0LDRhtC40LgsINGC0L4sINGB0LrQvtGA0LXQtSDQstGB0LXQs9C+LCDRh9GC0L4t0YLQviDQtNGA0YPQs9C+0LUg0YPQttC1INGB0LTQtdC70LDQu9C+INGC0LUg0LbQtSDQuNC30LzQtdC90LXQvdC40Y87INCy0L7Qt9C80L7QttC90L4sINCy0LDQvCDRgdC70LXQtNGD0LXRgiDQv9GA0L7Qv9GD0YHRgtC40YLRjCDRjdGC0L7RgiDQv9Cw0YLRhy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxOTUwCisjOiBidWlsdGluL2FtLmM6MTk0MwogbXNnaWQgIiIKICJZb3Ugc3RpbGwgaGF2ZSB1bm1lcmdlZCBwYXRocyBpbiB5b3VyIGluZGV4LlxuIgogIkRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/IgogbXNnc3RyICLQoyDQstCw0YEg0LLRgdC1INC10YnQtSDQuNC80LXRjtGC0YHRjyDQvdC1INGB0LvQuNGC0YvQtSDQv9GD0YLQuCDQsiDQuNC90LTQtdC60YHQtS5cbtCS0L7Qt9C80L7QttC90L4sINCy0Ysg0LfQsNCx0YvQu9C4INCy0YvQt9Cy0LDRgtGMIMKrZ2l0IGFkZMK7PyIKIAotIzogYnVpbHRpbi9hbS5jOjIwNTggYnVpbHRpbi9hbS5jOjIwNjIgYnVpbHRpbi9hbS5jOjIwNzQgYnVpbHRpbi9yZXNldC5jOjMwOAorIzogYnVpbHRpbi9hbS5jOjIwNTEgYnVpbHRpbi9hbS5jOjIwNTUgYnVpbHRpbi9hbS5jOjIwNjcgYnVpbHRpbi9yZXNldC5jOjMwOAogIzogYnVpbHRpbi9yZXNldC5jOjMxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQvtCx0YrQtdC60YIgwqslc8K7LiIKIAotIzogYnVpbHRpbi9hbS5jOjIxMTAKKyM6IGJ1aWx0aW4vYW0uYzoyMTAzCiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YfQuNGB0YLQuNGC0Ywg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL2FtLmM6MjE0NAorIzogYnVpbHRpbi9hbS5jOjIxMzcKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKIG1zZ3N0ciAi0J/QvtGF0L7QttC1LCDRh9GC0L4g0LLRiyDQv9C10YDQtdC80LXRgdGC0LjQu9C4IEhFQUQg0YEg0LzQvtC80LXQvdGC0LAg0L/QvtGB0LvQtdC00L3QtdC5INC+0YjQuNCx0LrQuCDQstGL0L/QvtC70L3QtdC90LjRjyDCq2FtwrsuXG7Qn9C10YDQtdC80L7RgtC60LAg0L3QsCBPUklHX0hFQUQg0L3QtSDQstGL0L/QvtC70L3Rj9C10YLRgdGPIgogCi0jOiBidWlsdGluL2FtLmM6MjIwNQorIzogYnVpbHRpbi9hbS5jOjIyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8gLS1wYXRjaC1mb3JtYXQ6ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MjIzOAotbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSBbKDxtYm94Pnw8TWFpbGRpcj4pLi4uXSIKLW1zZ3N0ciAiZ2l0IGFtIFs80L7Qv9GG0LjQuD5dIFsoPG1ib3g+fDxNYWlsZGlyPinigKZdIgorIzogYnVpbHRpbi9hbS5jOjIyMzMKK21zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKK21zZ3N0ciAiZ2l0IGFtIFs80L7Qv9GG0LjQuD5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KeKApl0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM5CisjOiBidWlsdGluL2FtLmM6MjIzNAogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogbXNnc3RyICJnaXQgYW0gWzzQvtC/0YbQuNC4Pl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDUKKyM6IGJ1aWx0aW4vYW0uYzoyMjQwCiBtc2dpZCAicnVuIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgItC30LDQv9GD0YHRgtC40YLRjCDQsiDQuNC90YLQtdGA0LDQutGC0LjQstC90L7QvCDRgNC10LbQuNC80LUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ3CisjOiBidWlsdGluL2FtLmM6MjI0MgogbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgogbXNnc3RyICLQuNGB0YLQvtGA0LjRh9C10YHQutCw0Y8g0L7Qv9GG0LjRjyDigJQg0L3QuNGH0LXQs9C+INC90LUg0LTQtdC70LDQtdGCIgogCi0jOiBidWlsdGluL2FtLmM6MjI0OQorIzogYnVpbHRpbi9hbS5jOjIyNDQKIG1zZ2lkICJhbGxvdyBmYWxsIGJhY2sgb24gM3dheSBtZXJnaW5nIGlmIG5lZWRlZCIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC+0YLQutCw0YLQuNGC0YzRgdGPINC6INGC0YDQtdGF0YXQvtC00L7QstC+0LzRgyDRgdC70LjRj9C90LjRjiwg0LXRgdC70Lgg0L3Rg9C20L3QviIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTAgYnVpbHRpbi9pbml0LWRiLmM6NDc4IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTcKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcxCisjOiBidWlsdGluL2FtLmM6MjI0NSBidWlsdGluL2luaXQtZGIuYzo0ODMgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NworIzogYnVpbHRpbi9yZXBhY2suYzoxNzIKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAi0YLQuNGF0LjQuSDRgNC10LbQuNC8IgogCi0jOiBidWlsdGluL2FtLmM6MjI1MgorIzogYnVpbHRpbi9hbS5jOjIyNDcKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5IGxpbmUgdG8gdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINGB0YLRgNC+0LrRgyBTaWduZWQtb2ZmLWJ5INC6INGB0L7QvtCx0YnQtdC90LjRjiDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTUKKyM6IGJ1aWx0aW4vYW0uYzoyMjUwCiBtc2dpZCAicmVjb2RlIGludG8gdXRmOCAoZGVmYXVsdCkiCiBtc2dzdHIgItC/0LXRgNC10LrQvtC00LjRgNC+0LLQsNGC0Ywg0LIgdXRmOCAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NworIzogYnVpbHRpbi9hbS5jOjIyNTIKIG1zZ2lkICJwYXNzIC1rIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICLQv9C10YDQtdC00LDRgtGMINGE0LvQsNCzIC1rINCyIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTkKKyM6IGJ1aWx0aW4vYW0uYzoyMjU0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0YLRjCDRhNC70LDQsyAtYiDQsiBnaXQtbWFpbGluZm8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjYxCisjOiBidWlsdGluL2FtLmM6MjI1NgogbXNnaWQgInBhc3MgLW0gZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgItC/0LXRgNC10LTQsNGC0Ywg0YTQu9Cw0LMgLW0g0LIgZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjI2MworIzogYnVpbHRpbi9hbS5jOjIyNTgKIG1zZ2lkICJwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgZm9yIG1ib3ggZm9ybWF0IgogbXNnc3RyICLQv9C10YDQtdC00LDRgtGMINGE0LvQsNCzIC0ta2VlcC1jciDQsiBnaXQtbWFpbHNwbGl0INC00LvRjyDRhNC+0YDQvNCw0YLQsCBtYm94IgogCi0jOiBidWlsdGluL2FtLmM6MjI2NgorIzogYnVpbHRpbi9hbS5jOjIyNjEKIG1zZ2lkICJkbyBub3QgcGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGluZGVwZW5kZW50IG9mIGFtLmtlZXBjciIKIG1zZ3N0ciAi0L3QtSDQv9C10YDQtdC00LDQstCw0YLRjCAtLWtlZXAtY3Ig0YTQu9Cw0LMg0LIgZ2l0LW1haWxzcGxpdCDQstC90LUg0LfQsNCy0LjRgdC40LzQvtGB0YLQuCDQvtGCIGFtLmtlZXBjciIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjkKKyM6IGJ1aWx0aW4vYW0uYzoyMjY0CiBtc2dpZCAic3RyaXAgZXZlcnl0aGluZyBiZWZvcmUgYSBzY2lzc29ycyBsaW5lIgogbXNnc3RyICLQvtCx0YDQtdC30LDRgtGMINCy0YHQtSDQtNC+INGB0YLRgNC+0LrQuCDQvtCx0YDQtdC30LrQuCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzAgYnVpbHRpbi9hcHBseS5jOjQ1NDYKLW1zZ2lkICJhY3Rpb24iCi1tc2dzdHIgItC00LXQudGB0YLQstC40LUiCi0KLSM6IGJ1aWx0aW4vYW0uYzoyMjcxIGJ1aWx0aW4vYW0uYzoyMjc0IGJ1aWx0aW4vYW0uYzoyMjc3IGJ1aWx0aW4vYW0uYzoyMjgwCi0jOiBidWlsdGluL2FtLmM6MjI4MyBidWlsdGluL2FtLmM6MjI4NiBidWlsdGluL2FtLmM6MjI4OSBidWlsdGluL2FtLmM6MjI5MgotIzogYnVpbHRpbi9hbS5jOjIyOTgKKyM6IGJ1aWx0aW4vYW0uYzoyMjY2IGJ1aWx0aW4vYW0uYzoyMjY5IGJ1aWx0aW4vYW0uYzoyMjcyIGJ1aWx0aW4vYW0uYzoyMjc1CisjOiBidWlsdGluL2FtLmM6MjI3OCBidWlsdGluL2FtLmM6MjI4MSBidWlsdGluL2FtLmM6MjI4NCBidWlsdGluL2FtLmM6MjI4NworIzogYnVpbHRpbi9hbS5jOjIyOTMKIG1zZ2lkICJwYXNzIGl0IHRocm91Z2ggZ2l0LWFwcGx5IgogbXNnc3RyICLQv9C10YDQtdC00LDRgtGMINC10LPQviDQsiBnaXQtYXBwbHkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjc5IGJ1aWx0aW4vYXBwbHkuYzo0NTcwCi1tc2dpZCAicm9vdCIKLW1zZ3N0ciAi0LrQvtGA0LXQvdGMIgotCi0jOiBidWlsdGluL2FtLmM6MjI4MiBidWlsdGluL2FtLmM6MjI4NSBidWlsdGluL2FwcGx5LmM6NDUwOAotIzogYnVpbHRpbi9hcHBseS5jOjQ1MTEgYnVpbHRpbi9jbG9uZS5jOjkwIGJ1aWx0aW4vZmV0Y2guYzo5NQotIzogYnVpbHRpbi9wdWxsLmM6MTc5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNzcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4NQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzY3Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzcwCi1tc2dpZCAicGF0aCIKLW1zZ3N0ciAi0L/Rg9GC0YwiCi0KLSM6IGJ1aWx0aW4vYW0uYzoyMjg4IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjkKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNiBidWlsdGluL21lcmdlLmM6MTk5IGJ1aWx0aW4vcHVsbC5jOjEzNAotIzogYnVpbHRpbi9wdWxsLmM6MTkzIGJ1aWx0aW4vcmVwYWNrLmM6MTc4IGJ1aWx0aW4vcmVwYWNrLmM6MTgyCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ1IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzUgYnVpbHRpbi90YWcuYzozNDAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxMzIgcGFyc2Utb3B0aW9ucy5oOjEzNCBwYXJzZS1vcHRpb25zLmg6MjQ0CisjOiBidWlsdGluL2FtLmM6MjI4MyBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjIgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY1CisjOiBidWlsdGluL2dyZXAuYzo3MDcgYnVpbHRpbi9tZXJnZS5jOjIwMCBidWlsdGluL3B1bGwuYzoxMzUKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5NCBidWlsdGluL3JlcGFjay5jOjE4MSBidWlsdGluL3JlcGFjay5jOjE4NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NCBidWlsdGluL3Nob3ctcmVmLmM6MTc1IGJ1aWx0aW4vdGFnLmM6MzQwCisjOiBwYXJzZS1vcHRpb25zLmg6MTMyIHBhcnNlLW9wdGlvbnMuaDoxMzQgcGFyc2Utb3B0aW9ucy5oOjI0NQogbXNnaWQgIm4iCiBtc2dzdHIgIm4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjkxIGJ1aWx0aW4vYXBwbHkuYzo0NTE0Ci1tc2dpZCAibnVtIgotbXNnc3RyICLQutC+0LvQuNGH0LXRgdGC0LLQviIKLQotIzogYnVpbHRpbi9hbS5jOjIyOTQgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3JlcGxhY2UuYzo0MzgKKyM6IGJ1aWx0aW4vYW0uYzoyMjg5IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi9yZXBsYWNlLmM6NDM4CiAjOiBidWlsdGluL3RhZy5jOjM3MgogbXNnaWQgImZvcm1hdCIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGCIgogCi0jOiBidWlsdGluL2FtLmM6MjI5NQorIzogYnVpbHRpbi9hbS5jOjIyOTAKIG1zZ2lkICJmb3JtYXQgdGhlIHBhdGNoKGVzKSBhcmUgaW4iCiBtc2dzdHIgItGE0L7RgNC80LDRgiwg0LIg0LrQvtGC0L7RgNC+0Lwg0L3QsNGF0L7QtNGP0YLRgdGPINC/0LDRgtGH0LgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzAxCisjOiBidWlsdGluL2FtLmM6MjI5NgogbXNnaWQgIm92ZXJyaWRlIGVycm9yIG1lc3NhZ2Ugd2hlbiBwYXRjaCBmYWlsdXJlIG9jY3VycyIKIG1zZ3N0ciAi0L/QtdGA0LXQvtC/0YDQtdC00LXQu9C40YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0L7QsSDQvtGI0LjQsdC60LUsINC10YHQu9C4INC90LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC70L7QttC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzAzCisjOiBidWlsdGluL2FtLmM6MjI5OAogbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCiBtc2dzdHIgItC/0YDQvtC00L7Qu9C20LjRgtGMINC/0YDQuNC80LXQvdC10L3QuNC1INC40LfQvNC10L3QtdC90LjQuSDQv9C+0YHQu9C1INGA0LDQt9GA0LXRiNC10L3QuNGPINC60L7QvdGE0LjQu9C40LrRgtCwIgogCi0jOiBidWlsdGluL2FtLmM6MjMwNgorIzogYnVpbHRpbi9hbS5jOjIzMDEKIG1zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKIG1zZ3N0ciAi0YHQuNC90L7QvdC40Lwg0LTQu9GPIC0tY29udGludWUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzA5CisjOiBidWlsdGluL2FtLmM6MjMwNAogbXNnaWQgInNraXAgdGhlIGN1cnJlbnQgcGF0Y2giCiBtc2dzdHIgItC/0YDQvtC/0YPRgdGC0LjRgtGMINGC0LXQutGD0YnQuNC5INC/0LDRgtGHIgogCi0jOiBidWlsdGluL2FtLmM6MjMxMgorIzogYnVpbHRpbi9hbS5jOjIzMDcKIG1zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgogbXNnc3RyICLQstC+0YHRgdGC0LDQvdC+0LLQuNGC0Ywg0L7RgNC40LPQuNC90LDQu9GM0L3Rg9GOINCy0LXRgtC60YMg0Lgg0L7RgtC80LXQvdC40YLRjCDQvtC/0LXRgNCw0YbQuNGOINC/0YDQuNC80LXQvdC10L3QuNGPINC40LfQvNC10L3QtdC90LjQuS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzE2CisjOiBidWlsdGluL2FtLmM6MjMxMQogbXNnaWQgImxpZSBhYm91dCBjb21taXR0ZXIgZGF0ZSIKIG1zZ3N0ciAi0YHQvtCy0YDQsNGC0Ywg0L4g0LTQsNGC0LUg0LrQvtC80LzQuNGC0LXRgNCwIgogCi0jOiBidWlsdGluL2FtLmM6MjMxOAorIzogYnVpbHRpbi9hbS5jOjIzMTMKIG1zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQtdC60YPRidC10LUg0LLRgNC10LzRjyDQutCw0Log0LLRgNC10LzRjyDQsNCy0YLQvtGA0YHRgtCy0LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIwIGJ1aWx0aW4vY29tbWl0LmM6MTYwOSBidWlsdGluL21lcmdlLmM6MjI4Ci0jOiBidWlsdGluL3B1bGwuYzoxNjQgYnVpbHRpbi9yZXZlcnQuYzo5MiBidWlsdGluL3RhZy5jOjM1NQorIzogYnVpbHRpbi9hbS5jOjIzMTUgYnVpbHRpbi9jb21taXQuYzoxNjA1IGJ1aWx0aW4vbWVyZ2UuYzoyMjkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NSBidWlsdGluL3JldmVydC5jOjkyIGJ1aWx0aW4vdGFnLmM6MzU1CiBtc2dpZCAia2V5LWlkIgogbXNnc3RyICJrZXktaWQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIxCisjOiBidWlsdGluL2FtLmM6MjMxNgogbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCiBtc2dzdHIgItC/0L7QtNC/0LjRgdCw0YLRjCDQutC+0LzQvNC40YLRiyDRgSDQv9C+0LzQvtGJ0YzRjiBHUEciCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzI0CisjOiBidWlsdGluL2FtLmM6MjMxOQogbXNnaWQgIihpbnRlcm5hbCB1c2UgZm9yIGdpdC1yZWJhc2UpIgogbXNnc3RyICIo0LLQvdGD0YLRgNC10L3QvdC10LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0LTQu9GPIGdpdC1yZWJhc2UpIgogCi0jOiBidWlsdGluL2FtLmM6MjMzOQorIzogYnVpbHRpbi9hbS5jOjIzMzQKIG1zZ2lkICIiCiAiVGhlIC1iLy0tYmluYXJ5IG9wdGlvbiBoYXMgYmVlbiBhIG5vLW9wIGZvciBsb25nIHRpbWUsIGFuZFxuIgogIml0IHdpbGwgYmUgcmVtb3ZlZC4gUGxlYXNlIGRvIG5vdCB1c2UgaXQgYW55bW9yZS4iCiBtc2dzdHIgItCe0L/RhtC40Y8gLWIvLS1iaW5hcnkg0YPQttC1INC00L7Qu9Cz0L7QtSDQstGA0LXQvNGPINC90LjRh9C10LPQviDQvdC1INC00LXQu9Cw0LXRgiDQuCDQsdGD0LTQtdGCINGD0LTQsNC70LXQvdCwINGBINGB0LvQtdC00YPRjtGJ0LjRhSDQstC10YDRgdC40Y/RhSBHaXQuINCf0L7QttCw0LvRg9C50YHRgtCwLCDQvdC1INC40YHQv9C+0LvRjNC30YPQudGC0LUg0LXQtS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzQ2CisjOiBidWlsdGluL2FtLmM6MjM0MQogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0YfRgtC10L3QuNGPINC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL2FtLmM6MjM2MQorIzogYnVpbHRpbi9hbS5jOjIzNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAlcyBzdGlsbCBleGlzdHMgYnV0IG1ib3ggZ2l2ZW4uIgogbXNnc3RyICLQv9GA0LXQtNGL0LTRg9GJ0LjQuSDQutCw0YLQsNC70L7QsyDQv9C10YDQtdC80LXRidC10L3QuNGPICVzINC10YnQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiwg0L3QviDQv9C10YDQtdC00LDQvSBtYm94LiIKIAotIzogYnVpbHRpbi9hbS5jOjIzODUKKyM6IGJ1aWx0aW4vYW0uYzoyMzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdHJheSAlcyBkaXJlY3RvcnkgZm91bmQuXG4iCiAiVXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZW1vdmUgaXQuIgogbXNnc3RyICLQndCw0LnQtNC10L0g0LfQsNCx0YvRgtGL0Lkg0LrQsNGC0LDQu9C+0LMgJXMuXG7QmNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGFtIC0tYWJvcnTCuywg0YfRgtC+0LHRiyDRg9C00LDQu9C40YLRjCDQtdCz0L4uIgogCi0jOiBidWlsdGluL2FtLmM6MjM5MQorIzogYnVpbHRpbi9hbS5jOjIzODYKIG1zZ2lkICJSZXNvbHZlIG9wZXJhdGlvbiBub3QgaW4gcHJvZ3Jlc3MsIHdlIGFyZSBub3QgcmVzdW1pbmcuIgogbXNnc3RyICLQntC/0LXRgNCw0YbQuNGPINGA0LDQt9GA0LXRiNC10L3QuNGPINC60L7QvdGE0LvQuNC60YLQvtCyINC90LUg0LIg0L/RgNC+0YbQtdGB0YHQtSDQstGL0L/QvtC70L3QtdC90LjRjywg0L3QtSDQv9GA0L7QtNC+0LvQttCw0LXQvC4iCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo1OQorIzogYnVpbHRpbi9hcHBseS5jOjgKIG1zZ2lkICJnaXQgYXBwbHkgWzxvcHRpb25zPl0gWzxwYXRjaD4uLi5dIgogbXNnc3RyICJnaXQgYXBwbHkgWzzQvtC/0YbQuNC4Pl0gWzzQv9Cw0YLRhz7igKZdIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MTExCi0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgotbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdCw0Y8g0L7Qv9GG0LjRjyDQtNC70Y8g0L/RgNC+0LHQtdC70L7QsiDCqyVzwrsiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxMjYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgotbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdCw0Y8g0L7Qv9GG0LjRjyDQtNC70Y8g0LjQs9C90L7RgNC40YDQvtCy0LDQvdC40Y8g0L/RgNC+0LHQtdC70L7QsiDCqyVzwrsiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo4MTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LTQs9C+0YLQvtCy0LjRgtGMINGA0LXQs9GD0LvRj9GA0L3QvtC1INCy0YvRgNCw0LbQtdC90LjQtSDQtNC70Y8g0LzQtdGC0LrQuCDQstGA0LXQvNC10L3QuCAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjgyNwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCi1tc2dzdHIgInJlZ2V4ZWMg0LLQvtC30LLRgNCw0YLQuNC7ICVkINC00LvRjyDQstCy0L7QtNCwOiAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjkwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gZmluZCBmaWxlbmFtZSBpbiBwYXRjaCBhdCBsaW5lICVkIgotbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0LjQvNGPINGE0LDQudC70LAg0LIg0YHRgtGA0L7QutC1INC/0LDRgtGH0LAgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgotbXNnc3RyICJnaXQgYXBwbHk6INC/0LvQvtGF0L7QuSBnaXQtZGlmZiDigJQg0L7QttC40LTQsNC70L7RgdGMIC9kZXYvbnVsbCwg0L/QvtC70YPRh9C10L3QviAlcyDQvdCwINGB0YLRgNC+0LrQtSAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjk0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKLW1zZ3N0ciAiZ2l0IGFwcGx5OiDQv9C70L7RhdC+0LkgZ2l0LWRpZmYg4oCUINC90LUg0YHQvtCz0LvQsNGB0YPRjtGJ0LXQtdGB0Y8g0L3QvtCy0L7QtSDQuNC80Y8g0YTQsNC50LvQsCDQvdCwINGB0YLRgNC+0LrQtSAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjk0MwotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBvbGQgZmlsZW5hbWUgb24gbGluZSAlZCIKLW1zZ3N0ciAiZ2l0IGFwcGx5OiDQv9C70L7RhdC+0LkgZ2l0LWRpZmYg4oCUINC90LUg0YHQvtCz0LvQsNGB0YPRjtGJ0LXQtdGB0Y8g0YHRgtCw0YDQvtC1INC40LzRjyDRhNCw0LnQu9CwINC90LAg0YHRgtGA0L7QutC1ICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTQ5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCi1tc2dzdHIgImdpdCBhcHBseTog0L/Qu9C+0YXQvtC5IGdpdC1kaWZmICDigJQg0L7QttC40LTQsNC70L7RgdGMIC9kZXYvbnVsbCDQvdCwINGB0YLRgNC+0LrQtSAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE0MDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgotbXNnc3RyICJyZWNvdW50OiDQvdC1INC+0LbQuNC00LDQtdC80LDRjyDRgdGC0YDQvtC60LA6ICUuKnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNDYzCi0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCi1tc2dzdHIgItGE0YDQsNCz0LzQtdC90YIg0LjQt9C80LXQvdC10L3QuNC5INCx0LXQtyDQt9Cw0LPQvtC70L7QstC60LAg0L3QsCDRgdGC0YDQvtC60LUgJWQ6ICUuKnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNDgwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lIgotIiBjb21wb25lbnQgKGxpbmUgJWQpIgotbXNnaWRfcGx1cmFsICIiCi0iZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSIKLSIgY29tcG9uZW50cyAobGluZSAlZCkiCi1tc2dzdHJbMF0gItC30LDQs9C+0LvQvtCy0L7QuiBnaXQgZGlmZiDQvdC1INC90LDRiNC10Lsg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDQuNC80LXQvdC4INGE0LDQudC70LAg0L/RgNC4INGD0LTQsNC70LXQvdC40LggJWQg0LLQtdC00YPRidC10LPQviDQutC+0LzQv9C+0L3QtdC90YLQsCDQv9GD0YLQuCDQuiDRhNCw0LnQu9GDICjRgdGC0YDQvtC60LAgJWQpIgotbXNnc3RyWzFdICLQt9Cw0LPQvtC70L7QstC+0LogZ2l0IGRpZmYg0L3QtSDQvdCw0YjQtdC7INC40L3RhNC+0YDQvNCw0YbQuNGOINC+0LEg0LjQvNC10L3QuCDRhNCw0LnQu9CwINC/0YDQuCDRg9C00LDQu9C10L3QuNC4ICVkINCy0LXQtNGD0YnQuNGFINC60L7QvNC/0L7QvdC10L3RgiDQv9GD0YLQuCDQuiDRhNCw0LnQu9GDICjRgdGC0YDQvtC60LAgJWQpIgotbXNnc3RyWzJdICLQt9Cw0LPQvtC70L7QstC+0LogZ2l0IGRpZmYg0L3QtSDQvdCw0YjQtdC7INC40L3RhNC+0YDQvNCw0YbQuNGOINC+0LEg0LjQvNC10L3QuCDRhNCw0LnQu9CwINC/0YDQuCDRg9C00LDQu9C10L3QuNC4ICVkINCy0LXQtNGD0YnQuNGFINC60L7QvNC/0L7QvdC10L3RgiDQv9GD0YLQuCDQuiDRhNCw0LnQu9GDICjRgdGC0YDQvtC60LAgJWQpIgotbXNnc3RyWzNdICLQt9Cw0LPQvtC70L7QstC+0LogZ2l0IGRpZmYg0L3QtSDQvdCw0YjQtdC7INC40L3RhNC+0YDQvNCw0YbQuNGOINC+0LEg0LjQvNC10L3QuCDRhNCw0LnQu9CwINC/0YDQuCDRg9C00LDQu9C10L3QuNC4ICVkINCy0LXQtNGD0YnQuNGFINC60L7QvNC/0L7QvdC10L3RgiDQv9GD0YLQuCDQuiDRhNCw0LnQu9GDICjRgdGC0YDQvtC60LAgJWQpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY0NgotbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgotbXNnc3RyICLQvdC+0LLRi9C5INGE0LDQudC7INC30LDQstC40YHQuNGCINC+0YIg0YHRgtCw0YDQvtCz0L4g0YHQvtC00LXRgNC20LjQvNC+0LPQviIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE2NDgKLW1zZ2lkICJkZWxldGVkIGZpbGUgc3RpbGwgaGFzIGNvbnRlbnRzIgotbXNnc3RyICLRg9C00LDQu9C10L3QvdGL0Lkg0YTQsNC50Lsg0LLRgdC1INC10YnQtSDQuNC80LXQtdGCINGB0L7QtNC10YDQttC40LzQvtC1IgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY3NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgItC/0LDRgtGHINC/0L7QstGA0LXQttC00LXQvSDQvdCwINGB0YLRgNC+0LrQtSAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE3MTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCi1tc2dzdHIgItC90L7QstGL0Lkg0YTQsNC50LsgJXMg0LfQsNCy0LjRgdC40YIg0L7RgiDRgdGC0LDRgNC+0LPQviDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+IgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTcxMgotIywgYy1mb3JtYXQKLW1zZ2lkICJkZWxldGVkIGZpbGUgJXMgc3RpbGwgaGFzIGNvbnRlbnRzIgotbXNnc3RyICLRg9C00LDQu9C10L3QvdGL0Lkg0YTQsNC50LsgJXMg0LLRgdC1INC10YnQtSDQuNC80LXQtdGCINGB0L7QtNC10YDQttC40LzQvtC1IgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTcxNQotIywgYy1mb3JtYXQKLW1zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgotbXNnc3RyICIqKiDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDRhNCw0LnQuyAlcyDRgdGC0LDQvdC+0LLQuNGC0YHRjyDQv9GD0YHRgtGL0LwsINC90L4g0L3QtSDRg9C00LDQu9GP0LXRgtGB0Y8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxODYxCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCi1tc2dzdHIgItC/0L7QstGA0LXQttC00LXQvdC90YvQuSDQtNCy0L7QuNGH0L3Ri9C5INC/0LDRgtGHINC90LAg0YHRgtGA0L7QutC1ICVkOiAlLipzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTg5NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgItC90LXQvtC/0L7Qt9C90LDQvdC90YvQuSDQtNCy0L7QuNGH0L3Ri9C5INC/0LDRgtGHINC90LAg0YHRgtGA0L7QutC1ICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjA0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgotbXNnc3RyICLQv9Cw0YLRhyDRgSDQvNGD0YHQvtGA0L7QvCDQvdCwINGB0YLRgNC+0LrQtSAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjIxMzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YHQuNC80LLQvtC70YzQvdGD0Y4g0YHRgdGL0LvQutGDICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjE0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIgotbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMINC40LvQuCDQv9GA0L7Rh9C10YHRgtGMICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mjc3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHN0YXJ0IG9mIGxpbmU6ICclYyciCi1tc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDQvdCw0YfQsNC70L4g0YHRgtGA0L7QutC4OiDCqyVjwrsiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyODk0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmUpLiIKLW1zZ2lkX3BsdXJhbCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZXMpLiIKLW1zZ3N0clswXSAi0KfQsNGB0YLRjCAjJWQg0YPRgdC/0LXRiNC90L4g0L/RgNC40LzQtdC90LXQvdCwINC90LAgJWQgKNGB0L4g0YHQtNCy0LjQs9C+0Lwg0LIgJWQg0YHRgtGA0L7QutGDKS4iCi1tc2dzdHJbMV0gItCn0LDRgdGC0YwgIyVkINGD0YHQv9C10YjQvdC+INC/0YDQuNC80LXQvdC10L3QsCDQvdCwICVkICjRgdC+INGB0LTQstC40LPQvtC8INCyICVkINGB0YLRgNC+0LrQuCkuIgotbXNnc3RyWzJdICLQp9Cw0YHRgtGMICMlZCDRg9GB0L/QtdGI0L3QviDQv9GA0LjQvNC10L3QtdC90LAg0L3QsCAlZCAo0YHQviDRgdC00LLQuNCz0L7QvCDQsiAlZCDRgdGC0YDQvtC6KS4iCi1tc2dzdHJbM10gItCn0LDRgdGC0YwgIyVkINGD0YHQv9C10YjQvdC+INC/0YDQuNC80LXQvdC10L3QsCDQvdCwICVkICjRgdC+INGB0LTQstC40LPQvtC8INCyICVkINGB0YLRgNC+0LopLiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI5MDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSB0byBhcHBseSBmcmFnbWVudCBhdCAlZCIKLW1zZ3N0ciAi0JrQvtC90YLQtdC60YHRgiDRgdGD0LbQtdC9INC00L4gKCVsZC8lbGQpLCDRh9GC0L7QsdGLINC/0YDQuNC80LXQvdC40YLRjCDRhNGA0LDQs9C80LXQvdGCINC90LAgJWQg0YHRgtGA0L7QutC1IgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjkxMgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0id2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKLSIlLipzIgotbXNnc3RyICLQv9GA0Lgg0L/QvtC40YHQutC1OlxuJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI5MzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKLW1zZ3N0ciAi0L/RgNC+0L/Rg9GJ0LXQvdGLINC00LDQvdC90YvQtSDQtNCy0L7QuNGH0L3QvtCz0L4g0L/QsNGC0YfQsCDQtNC70Y8gwqslc8K7IgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzAzMwotIywgYy1mb3JtYXQKLW1zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0LjQvNC10L3QuNGC0Ywg0LTQstC+0LjRh9C90YvQuSDQv9Cw0YLRhyDQuiDCqyVzwrsiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMDM5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgotbXNnc3RyICLQv9C+0YHQu9C1INC/0YDQuNC80LXQvdC10L3QuNGPINC00LLQvtC40YfQvdC+0LPQviDQv9Cw0YLRh9CwINC00LvRjyDCqyVzwrsg0LHRi9C7INC/0L7Qu9GD0YfQtdC9INC90LXQv9GA0LDQstC40LvRjNC90YvQuSDRgNC10LfRg9C70YzRgtCw0YIgKNC+0LbQuNC00LDQu9C+0YHRjCAlcywg0L/QvtC70YPRh9C10L3QviAlcykiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMDYwCi0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgotbXNnc3RyICLQvtGI0LjQsdC60LAg0L/RgNC40LzQtdC90LXQvdC40Y8g0LjQt9C80LXQvdC10L3QuNC5OiAlczolbGQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMTg0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC60LvRjtGH0LjRgtGMINGB0L7RgdGC0L7Rj9C90LjQtSDQvdCwICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzIyOSBidWlsdGluL2FwcGx5LmM6MzI0MCBidWlsdGluL2FwcGx5LmM6MzI4NQotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWFkIG9mICVzIGZhaWxlZCIKLW1zZ3N0ciAi0L7RiNC40LHQutCwINGH0YLQtdC90LjRjyAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMyMzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAi0YfRgtC10L3QuNC1INC40Lcgwqslc8K7INC30LAg0YHQuNC80LLQvtC70LjRh9C10YHQutC+0Lkg0YHRgdGL0LvQutC+0LkiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMjY1IGJ1aWx0aW4vYXBwbHkuYzozNDg3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIgotbXNnc3RyICLQv9GD0YLRjCAlcyDQsdGL0Lsg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC9L9GD0LTQsNC70LXQvSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMzNDYgYnVpbHRpbi9hcHBseS5jOjM1MDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgotbXNnc3RyICIlczog0L3QtdGCINCyINC40L3QtNC10LrRgdC1IgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzM1MCBidWlsdGluL2FwcGx5LmM6MzQ5MyBidWlsdGluL2FwcGx5LmM6MzUxNQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogJXMiCi1tc2dzdHIgIiVzOiAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMzNTUgYnVpbHRpbi9hcHBseS5jOjM1MDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgotbXNnc3RyICIlczog0L3QtSDRgdC+0LLQv9Cw0LTQsNC10YIg0YEg0LjQvdC00LXQutGB0L7QvCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM0NTcKLW1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgotbXNnc3RyICLQv9Cw0YLRhyDRg9C00LDQu9C10L3QuNGPINC90LUg0YPQtNCw0LvQuNC7INGB0L7QtNC10YDQttC40LzQvtC1INGE0LDQudC70LAiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNTI2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgotbXNnc3RyICIlczog0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGC0LjQvyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM1MjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgotbXNnc3RyICIlcyDQuNC80LXQtdGCINGC0LjQvyAlbywg0LAg0L7QttC40LTQsNC70YHRjyAlbyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM2ODcgYnVpbHRpbi9hcHBseS5jOjM2ODkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBwYXRoICclcyciCi1tc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90YvQuSDQv9GD0YLRjCDCqyVzwrsiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzQ0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKLW1zZ3N0ciAiJXM6INGD0LbQtSDRgdC+0LTQtdGA0LbQuNGC0YHRjyDQsiDQuNC90LTQtdC60YHQtSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NDcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgotbXNnc3RyICIlczog0YPQttC1INGB0L7QtNC10YDQttC40YLRgdGPINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKLW1zZ3N0ciAi0L3QvtCy0YvQuSDRgNC10LbQuNC8INC00L7RgdGC0YPQv9CwICglbykg0LTQu9GPICVzINC90LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9C10YIg0YHRgtCw0YDQvtC80YMg0YDQtdC20LjQvNGDINC00L7RgdGC0YPQv9CwICglbykiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzcyCi0jLCBjLWZvcm1hdAotbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKLW1zZ3N0ciAi0L3QvtCy0YvQuSDRgNC10LbQuNC8INC00L7RgdGC0YPQv9CwICglbykg0LTQu9GPICVzINC90LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9C10YIg0YHRgtCw0YDQvtC80YMg0YDQtdC20LjQvNGDINC00L7RgdGC0YPQv9CwICglbykg0LTQu9GPICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc5MgotIywgYy1mb3JtYXQKLW1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKLW1zZ3N0ciAi0LfQsNGC0YDQvtC90YPRgtGL0Lkg0YTQsNC50Lsgwqslc8K7INC90LDRhdC+0LTQuNGC0YHRjyDQt9CwINGB0LjQvNCy0L7Qu9C40YfQtdGB0LrQvtC5INGB0YHRi9C70LrQvtC5IgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc5NgotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCi1tc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQuNC80LXQvdC40YLRjCDQv9Cw0YLRhyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM4MTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCi1tc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0L/QsNGC0YfQsCAlc+KApiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM5MDMgYnVpbHRpbi9jaGVja291dC5jOjIzMyBidWlsdGluL3Jlc2V0LmM6MTM1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCi1tc2dzdHIgItGB0LHQvtC5IG1ha2VfY2FjaGVfZW50cnkg0LTQu9GPINC/0YPRgtC4IMKrJXPCuyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwNDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgotbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMICVzINC40Lcg0LjQvdC00LXQutGB0LAiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKLW1zZ3N0ciAi0L/QvtCy0YDQtdC20LTQtdC90L3Ri9C5INC/0LDRgtGHINC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8gJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDc5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBzdGF0IG5ld2x5IGNyZWF0ZWQgZmlsZSAnJXMnIgotbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBzdGF0INC00LvRjyDRgdC+0LfQtNCw0L3QvdC+0LPQviDRhNCw0LnQu9CwIMKrJXPCuyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCi1tc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LLRgdC/0L7QvNC+0LPQsNGC0LXQu9GM0L3Ri9C5INGE0LDQudC7INC00LvRjyDRgdC+0LfQtNCw0L3QvdC+0LPQviDRhNCw0LnQu9CwICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA4NyBidWlsdGluL2FwcGx5LmM6NDE5NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQt9Cw0L/QuNGB0Ywg0LIg0LrRjdGI0LUg0LTQu9GPICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDEyMAotIywgYy1mb3JtYXQKLW1zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKLW1zZ3N0ciAi0LfQsNC60YDRi9GC0LjQtSDRhNCw0LnQu9CwIMKrJXPCuyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQxNjkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIgotbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0YTQsNC50Lsgwqslc8K7INGBINGA0LXQttC40LzQvtC8INC00L7RgdGC0YPQv9CwICVvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI1NgotIywgYy1mb3JtYXQKLW1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgotbXNnc3RyICLQn9Cw0YLRhyAlcyDQv9GA0LjQvNC10L3QtdC9INCx0LXQtyDQvtGI0LjQsdC+0LouIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI2NAotbXNnaWQgImludGVybmFsIGVycm9yIgotbXNnc3RyICLQstC90YPRgtGA0LXQvdC90Y/RjyDQvtGI0LjQsdC60LAiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MjY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKLW1zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKLW1zZ3N0clswXSAi0J/RgNC40LzQtdC90LXQvdC40LUg0L/QsNGC0YfQsCAlJXMg0YEgJWQg0L7RgtC60LDQt9C+0LzigKYiCi1tc2dzdHJbMV0gItCf0YDQuNC80LXQvdC10L3QuNC1INC/0LDRgtGH0LAgJSVzINGBICVkINC+0YLQutCw0LfQsNC80LjigKYiCi1tc2dzdHJbMl0gItCf0YDQuNC80LXQvdC10L3QuNC1INC/0LDRgtGH0LAgJSVzINGBICVkINC+0YLQutCw0LfQsNC80LjigKYiCi1tc2dzdHJbM10gItCf0YDQuNC80LXQvdC10L3QuNC1INC/0LDRgtGH0LAgJSVzINGBICVkINC+0YLQutCw0LfQsNC80LjigKYiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mjc3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKLW1zZ3N0ciAi0YPRgdC10YfQtdC90LjQtSDQuNC80LXQvdC4IC5yZWog0YTQsNC50LvQsCDQtNC+ICUuKnMucmVqIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI4NQotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCi1tc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0YwgJXM6ICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI5OAotIywgYy1mb3JtYXQKLW1zZ2lkICJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIgotbXNnc3RyICLQkdC70L7QuiDihJYlZCDQv9GA0LjQvNC10L3QtdC9INCx0LXQtyDQvtGI0LjQsdC+0LouIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDMwMQotIywgYy1mb3JtYXQKLW1zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCi1tc2dzdHIgItCR0LvQvtC6IOKEliVkINC+0YLQutC70L7QvdC10L0uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDM4NwotIywgYy1mb3JtYXQKLW1zZ2lkICJTa2lwcGVkIHBhdGNoICclcycuIgotbXNnc3RyICLQn9Cw0YLRhyDCqyVzwrsg0L/RgNC+0L/Rg9GJ0LXQvS4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzk1Ci1tc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgotbXNnc3RyICLQvdC1INGA0LDRgdC/0L7Qt9C90LDQvdC90YvQuSDQstCy0L7QtCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ0MDYKLW1zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgotbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRhNCw0LnQuyDQuNC90LTQtdC60YHQsCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MDkKLW1zZ2lkICJkb24ndCBhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgotbXNnc3RyICLQvdC1INC/0YDQuNC80LXQvdGP0YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0L/QviDRg9C60LDQt9Cw0L3QvdC+0LzRgyDQv9GD0YLQuCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MTIKLW1zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgotbXNnc3RyICLQv9GA0LjQvNC10L3Rj9GC0Ywg0LjQt9C80LXQvdC10L3QuNGPINC/0L4g0YPQutCw0LfQsNC90L3QvtC80YMg0L/Rg9GC0LgiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTE1Ci1tc2dpZCAicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiCi1tc2dzdHIgItGD0LTQsNC70LjRgtGMIDzQutC+0LvQuNGH0LXRgdGC0LLQvj4g0LLQtdC00YPRidC40YUg0LrQvtGB0YvRhSDRh9C10YDRgiDQuNC3INGC0YDQsNC00LjRhtC40L7QvdC90YvRhSDQv9GD0YLQtdC5INGB0L/QuNGB0LrQsCDQuNC30LzQtdC90LXQvdC40LkiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTE4Ci1tc2dpZCAiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIKLW1zZ3N0ciAi0LjQs9C90L7RgNC40YDQvtCy0LDRgtGMINC00L7QsdCw0LLQu9C10L3QuNGPLCDRgdC00LXQu9Cw0L3QvdGL0LUg0Y3RgtC40Lwg0L/QsNGC0YfQtdC8IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyMAotbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKLW1zZ3N0ciAi0LLQvNC10YHRgtC+INC/0YDQuNC80LXQvdC10L3QuNGPINC/0LDRgtGH0LAg0LLRi9Cy0LXRgdGC0Lgg0YHRgtCw0YLQuNGB0YLQuNC60YMg0LTQvtCx0LDQstC70LXQvdC40Lkg0Lgg0YPQtNCw0LvQtdC90LjQuSDQtNC70Y8g0LLQstC+0LTQsCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjQKLW1zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgotbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC60L7Qu9C40YfQtdGB0YLQstC+INC00L7QsdCw0LLQu9C10L3QvdGL0YUg0Lgg0YPQtNCw0LvQtdC90L3Ri9GFINGB0YLRgNC+0Log0LIg0LTQtdGB0Y/RgtC40YfQvdC+0Lwg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40LgiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTI2Ci1tc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIKLW1zZ3N0ciAi0LLQvNC10YHRgtC+INC/0YDQuNC80LXQvdC10L3QuNGPINC/0LDRgtGH0LAg0LLRi9Cy0LXRgdGC0Lgg0YHRgtCw0YLQuNGB0YLQuNC60YMg0LjQt9C80LXQvdC10L3QuNC5INC00LvRjyDQstCy0L7QtNCwIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyOAotbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCi1tc2dzdHIgItCy0LzQtdGB0YLQviDQv9GA0LjQvNC10L3QtdC90LjRjyDQv9Cw0YLRh9CwINC/0YDQvtCy0LXRgNC40YLRjCDQv9C+0LTRhdC+0LTQuNGCINC70Lgg0L7QvSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzAKLW1zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCi1tc2dzdHIgItC/0YDQvtCy0LXRgNC40YLRjCwg0YfRgtC+INC/0LDRgtGHINC/0YDQuNC80LXQvdGP0LXRgtGB0Y8g0Log0YLQtdC60YPRidC10LzRgyDQuNC90LTQtdC60YHRgyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzIKLW1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKLW1zZ3N0ciAi0L/RgNC40LzQtdC90LjRgtGMINC/0LDRgtGHLCDQvdC1INC40LfQvNC10L3Rj9GPINGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzNAotbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCi1tc2dzdHIgItC/0YDQuNC90Y/RgtGMINC/0LDRgtGHLCDQutC+0YLQvtGA0YvQuSDQt9Cw0YLRgNCw0LPQuNCy0LDQtdGCINGE0LDQudC70Ysg0LfQsCDRgNCw0LHQvtGH0LjQvCDQutCw0YLQsNC70L7Qs9C+0LwiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTM2Ci1tc2dpZCAiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCi1tc2dzdHIgItCwINGC0LDQutC20LUg0L/RgNC40LzQtdC90LjRgtGMINC/0LDRgtGHICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1INGBIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTM4Ci1tc2dpZCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIKLW1zZ3N0ciAi0L/QvtC/0YvRgtCw0YLRjNGB0Y8g0YHQtNC10LvQsNGC0Ywg0YLRgNC10YXRhdC+0LTQvtCy0L7QtSDRgdC70LjRj9C90LjQtSwg0LXRgdC70Lgg0L/QsNGC0Ycg0L3QtSDQv9GA0LjQvNC10L3Rj9C10YLRgdGPIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU0MAotbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgotbXNnc3RyICLQv9C+0YHRgtGA0L7QuNGC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INC40L3QtNC10LrRgSwg0L7RgdC90L7QstCw0L3QvdGL0Lkg0L3QsCDQstGB0YLRgNC+0LXQvdC90L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQuCDQvtCxINC40L3QtNC10LrRgdC1IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU0MyBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MjUKLW1zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKLW1zZ3N0ciAi0L/Rg9GC0LgsINC+0YLQtNC10LvRkdC90L3Ri9C1INCd0KPQm9CV0JLQq9CcINGB0LjQvNCy0L7Qu9C+0LwiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQ1Ci1tc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgotbXNnc3RyICLRg9C00L7RgdGC0L7QstC10YDQuNGC0YzRgdGPLCDRh9GC0L4g0L/QviDQutGA0LDQudC90LXQuSDQvNC10YDQtSA8bj4g0YHRgtGA0L7QuiDQutC+0L3RgtC10LrRgdGC0LAg0YHQvtCy0L/QsNC00LDRjtGCIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU0NwotbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgotbXNnc3RyICLQvtC/0YDQtdC00LXQu9GP0YLRjCDQvdC+0LLRi9C1INC40LvQuCDQvNC+0LTQuNGE0LjRhtC40YDQvtCy0LDQvdC90YvQtSDRgdGC0YDQvtC60LgsINGDINC60L7RgtC+0YDRi9GFINC10YHRgtGMINC+0YjQuNCx0LrQuCDQsiDQv9GA0L7QsdC10LvRjNC90YvRhSDRgdC40LzQstC+0LvQsNGFIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU1MCBidWlsdGluL2FwcGx5LmM6NDU1MwotbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiCi1tc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0LIg0L/RgNC+0LHQtdC70YzQvdGL0YUg0YHQuNC80LLQvtC70LDRhSDQv9GA0Lgg0L/QvtC40YHQutC1INC60L7QvdGC0LXQutGB0YLQsCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NTYKLW1zZ2lkICJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIKLW1zZ3N0ciAi0L/RgNC40LzQtdC90LjRgtGMINC/0LDRgtGHINGBINC+0LHRgNCw0YnQtdC90LjQtdC8INC40LfQvNC10L3QtdC90LjQuSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NTgKLW1zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKLW1zZ3N0ciAi0L3QtSDQvtC20LjQtNCw0YLRjCDQutCw0Log0LzQuNC90LjQvNGD0Lwg0L7QtNC90L7QuSDRgdGC0YDQvtC60Lgg0LrQvtC90YLQtdC60YHRgtCwIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2MAotbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgotbXNnc3RyICLQvtGB0YLQsNCy0LjRgtGMINC+0YLQutC70L7QvdC10L3QvdGL0LUg0LHQu9C+0LrQuCDQuNC30LzQtdC90LXQvdC40Lkg0LIg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNGFICoucmVqINGE0LDQudC70LDRhSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NjIKLW1zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKLW1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC/0LXRgNC10LrRgNGL0LLQsNGO0YnQuNC10YHRjyDQsdC70L7QutC4INC40LfQvNC10L3QtdC90LjQuSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NjUKLW1zZ2lkICJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIKLW1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC90LXQutC+0YDRgNC10LrRgtC90L4g0L7Qv9GA0LXQtNC10LvQtdC90L3Ri9C1INC/0YDQvtC/0YPRidC10L3QvdGL0LUg0L/Rg9GB0YLRi9C1INGB0YLRgNC+0LrQuCDQsiDQutC+0L3RhtC1INGE0LDQudC70LAiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTY4Ci1tc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgotbXNnc3RyICLQvdC1INC00L7QstC10YDRj9GC0Ywg0LrQvtC70LjRh9C10YHRgtCy0YMg0YHRgtGA0L7QuiDQuNC3INC30LDQs9C+0LvQvtCy0LrQsCDQsdC70L7QutCwINC40LfQvNC10L3QtdC90LjQuSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NzEKLW1zZ2lkICJwcmVwZW5kIDxyb290PiB0byBhbGwgZmlsZW5hbWVzIgotbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMIDzQutC+0YDQtdC90Yw+INGB0L/QtdGA0LXQtNC4INC60L4g0LLRgdC10Lwg0LjQvNC10L3QsNC8INGE0LDQudC70L7QsiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1OTMKLW1zZ2lkICItLTN3YXkgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCi1tc2dzdHIgIi0tM3dheSDQstC90LUg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2MDEKLW1zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgotbXNnc3RyICItLWluZGV4INCy0L3QtSDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDYwNAotbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgotbXNnc3RyICItLWNhY2hlZCDQstC90LUg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2MjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2FuJ3Qgb3BlbiBwYXRjaCAnJXMnIgotbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMINC/0LDRgtGHIMKrJXPCuyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCi1tc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKLW1zZ3N0clswXSAi0L/RgNC+0L/Rg9GJ0LXQvdCwICVkINC+0YjQuNCx0LrQsCDQsiDQv9GA0L7QsdC10LvRjNC90YvRhSDRgdC40LzQstC+0LvQsNGFIgotbXNnc3RyWzFdICLQv9GA0L7Qv9GD0YnQtdC90L4gJWQg0L7RiNC40LHQutC4INCyINC/0YDQvtCx0LXQu9GM0L3Ri9GFINGB0LjQvNCy0L7Qu9Cw0YUiCi1tc2dzdHJbMl0gItC/0YDQvtC/0YPRidC10L3QviAlZCDQvtGI0LjQsdC+0Log0LIg0L/RgNC+0LHQtdC70YzQvdGL0YUg0YHQuNC80LLQvtC70LDRhSIKLW1zZ3N0clszXSAi0L/RgNC+0L/Rg9GJ0LXQvdC+ICVkINC+0YjQuNCx0L7QuiDQsiDQv9GA0L7QsdC10LvRjNC90YvRhSDRgdC40LzQstC+0LvQsNGFIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDY0MyBidWlsdGluL2FwcGx5LmM6NDY1MwotIywgYy1mb3JtYXQKLW1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnc3RyWzBdICIlZCDRgdGC0YDQvtC60LAg0LTQvtCx0LDQstC40LvQsCDQvtGI0LjQsdC60Lgg0LIg0L/RgNC+0LHQtdC70YzQvdGL0YUg0YHQuNC80LLQvtC70LDRhS4iCi1tc2dzdHJbMV0gIiVkINGB0YLRgNC+0LrQuCDQtNC+0LHQsNCy0LjQu9C4INC+0YjQuNCx0LrQuCDQsiDQv9GA0L7QsdC10LvRjNC90YvRhSDRgdC40LzQstC+0LvQsNGFLiIKLW1zZ3N0clsyXSAiJWQg0YHRgtGA0L7QuiDQtNC+0LHQsNCy0LjQu9C4INC+0YjQuNCx0LrQuCDQsiDQv9GA0L7QsdC10LvRjNC90YvRhSDRgdC40LzQstC+0LvQsNGFLiIKLW1zZ3N0clszXSAiJWQg0YHRgtGA0L7QuiDQtNC+0LHQsNCy0LjQu9C4INC+0YjQuNCx0LrQuCDQsiDQv9GA0L7QsdC10LvRjNC90YvRhSDRgdC40LzQstC+0LvQsNGFLiIKLQogIzogYnVpbHRpbi9hcmNoaXZlLmM6MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBhcmNoaXZlIGZpbGUgJyVzJyIKQEAgLTM1MzIsMTE2ICs0MzAyLDE2NCBAQAogbXNnaWQgIjxyZXYtb3B0cz4gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICI80L7Qv9GG0LjQuC1yZXYtbGlzdD4g0LTQvtC60YPQvNC10L3RgtC40YDQvtCy0LDQvdGLINCyIGdpdC1yZXYtbGlzdCgxKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjE3ODIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoxNzgxCiBtc2dpZCAiQmxhbWluZyBsaW5lcyIKIG1zZ3N0ciAi0J/RgNC+0YHQvNC+0YLRgCDQsNCy0YLQvtGA0L7QsiDRgdGC0YDQvtC6IgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzMQorIzogYnVpbHRpbi9ibGFtZS5jOjI1NzcKIG1zZ2lkICJTaG93IGJsYW1lIGVudHJpZXMgYXMgd2UgZmluZCB0aGVtLCBpbmNyZW1lbnRhbGx5IgogbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINC30LDQv9C40YHQuCDQsNCy0YLQvtGA0YHRgtCy0LAg0L/QvtGB0YLQtdC/0LXQvdC90L4sINCyINC/0YDQvtGG0LXRgdGB0LUg0L3QsNGF0L7QttC00LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTMyCisjOiBidWlsdGluL2JsYW1lLmM6MjU3OAogbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgItCd0LUg0L/QvtC60LDQt9GL0LLQsNGC0YwgU0hBLTEg0LTQu9GPINC60L7QvNC80LjRgtC+0LIsINC90LUg0LLRhdC+0LTRj9GJ0LjRhSDQsiDQs9GA0LDQvdC40YbRiyDQt9Cw0L/RgNC+0YHQsCAo0J/QviDRg9C80L7Qu9GH0LDQvdC40Y46INC+0YLQutC70Y7Rh9C10L3QvikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTMzCisjOiBidWlsdGluL2JsYW1lLmM6MjU3OQogbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi0J3QtSDQstC+0YHQv9GA0LjQvdC40LzQsNGC0Ywg0LrQvtGA0L3QtdCy0YvQtSDQutC+0LzQvNC40YLRiyDQutCw0Log0LPRgNCw0L3QuNGH0L3Ri9C1ICjQn9C+INGD0LzQvtC70YfQsNC90LjRjjog0L7RgtC60LvRjtGH0LXQvdC+KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgwCiBtc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKIG1zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDRgdGC0LDRgtC40YHRgtC40LrRgyDRgNCw0YHRhdC+0LTQvtCyINC90LAg0LLRi9C/0L7Qu9C90LXQvdC40LUg0LfQsNC/0YDQvtGB0LAiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM1CisjOiBidWlsdGluL2JsYW1lLmM6MjU4MQogbXNnaWQgIkZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAi0J/RgNC40L3Rg9C00LjRgtC10LvRjNC90L4g0LLRi9Cy0L7QtNC40YLRjCDQv9GA0L7Qs9GA0LXRgdGBINCy0YvQv9C+0LvQvdC10L3QuNGPIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzNgorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODIKIG1zZ2lkICJTaG93IG91dHB1dCBzY29yZSBmb3IgYmxhbWUgZW50cmllcyIKIG1zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQvtGG0LXQvdC60YMg0LTQu9GPINC30LDQv9C40YHQtdC5INCw0LLRgtC+0YDRgdGC0LLQsCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgzCiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0L7RgNC40LPQuNC90LDQu9GM0L3QvtC1INC40LzRjyDRhNCw0LnQu9CwICjQn9C+INGD0LzQvtC70YfQsNC90LjRjjog0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LgpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzOAorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODQKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0L7RgNC40LPQuNC90LDQu9GM0L3Ri9C1INC90L7QvNC10YDQsCDRgdGC0YDQvtC6ICjQn9C+INGD0LzQvtC70YfQsNC90LjRjjog0L7RgtC60LvRjtGH0LXQvdC+KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg1CiBtc2dpZCAiU2hvdyBpbiBhIGZvcm1hdCBkZXNpZ25lZCBmb3IgbWFjaGluZSBjb25zdW1wdGlvbiIKIG1zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQsiDRhNC+0YDQvNCw0YLQtSDQtNC70Y8g0L/RgNC+0LPRgNCw0LzQvNC90L7Qs9C+INGA0LDQt9Cx0L7RgNCwIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0MAorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODYKIG1zZ2lkICJTaG93IHBvcmNlbGFpbiBmb3JtYXQgd2l0aCBwZXItbGluZSBjb21taXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0LIg0LzQsNGI0LjQvdC+0YfQuNGC0LDQtdC80L7QvCDRhNC+0YDQvNCw0YLQtSwg0YEg0L/QvtGB0YLRgNC+0YfQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40LXQuSDQviDQutC+0LzQvNC40YLQtSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg3CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0LDQutC+0Lkg0LbQtSDRhNC+0YDQvNCw0YIg0LLRi9Cy0L7QtNCwLCDQutCw0Log0LggZ2l0LWFubm90YXRlICjQn9C+INGD0LzQvtC70YfQsNC90LjRjjog0L7RgtC60LvRjtGH0LXQvdC+KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg4CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINC90LXQvtCx0YDQsNCx0L7RgtCw0L3QvdGL0LUg0LLRgNC10LzQtdC90L3Ri9C1INC80LXRgtC60LggKNCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOOiDQvtGC0LrQu9GO0YfQtdC90L4pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0MworIzogYnVpbHRpbi9ibGFtZS5jOjI1ODkKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0LTQu9C40L3QvdGL0LkgU0hBMSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutC+0LzQvNC40YLQsCAo0J/QviDRg9C80L7Qu9GH0LDQvdC40Y46INC+0YLQutC70Y7Rh9C10L3QvikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ0CisjOiBidWlsdGluL2JsYW1lLmM6MjU5MAogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgItCd0LUg0L/QvtC60LDQt9GL0LLQsNGC0Ywg0LjQvNGPINCw0LLRgtC+0YDQsCDQuCDQstGA0LXQvNC10L3QvdGL0LUg0LzQtdGC0LrQuCAo0J/QviDRg9C80L7Qu9GH0LDQvdC40Y46INC+0YLQutC70Y7Rh9C10L3QvikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ1CisjOiBidWlsdGluL2JsYW1lLmM6MjU5MQogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQv9C+0YfRgtGDINCw0LLRgtC+0YDQsCDQstC80LXRgdGC0L4g0LjQvNC10L3QuCAo0J/QviDRg9C80L7Qu9GH0LDQvdC40Y46INC+0YLQutC70Y7Rh9C10L3QvikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ2CisjOiBidWlsdGluL2JsYW1lLmM6MjU5MgogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICLQmNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0YDQsNC30LvQuNGH0LjRjyDQsiDQv9GA0L7QsdC10LvQsNGFIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0NworIzogYnVpbHRpbi9ibGFtZS5jOjI1OTkKK21zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGluZGVudC1iYXNlZCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGN0LrRgdC/0LXRgNC10LzQtdC90YLQsNC70YzQvdGD0Y4g0Y3QstGA0LjRgdGC0LjQutGDLCDQvtGB0L3QvtCy0LDQvdC90YPRjiDQvdCwINC+0YLRgdGC0YPQv9Cw0YUsINGH0YLQvtCx0Ysg0YPQu9GD0YfRiNC40YLRjCDRhNCw0LnQu9GLINGA0LDQt9C70LjRh9C40LkiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjAwCittc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBibGFuay1saW5lLWJhc2VkIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0Y3QutGB0L/QtdGA0LXQvNC10L3RgtCw0LvRjNC90YPRjiDRjdCy0YDQuNGB0YLQuNC60YMsINC+0YHQvdC+0LLQsNC90L3Rg9GOINC90LAg0L/Rg9GB0YLRi9GFINGB0YLRgNC+0LrQsNGFLCDRh9GC0L7QsdGLINGD0LvRg9GH0YjQuNGC0Ywg0YTQsNC50LvRiyDRgNCw0LfQu9C40YfQuNC5IgorCisjOiBidWlsdGluL2JsYW1lLmM6MjYwMgogbXNnaWQgIlNwZW5kIGV4dHJhIGN5Y2xlcyB0byBmaW5kIGJldHRlciBtYXRjaCIKIG1zZ3N0ciAi0J/QvtGC0YDQsNGC0LjRgtGMINCx0L7Qu9GM0YjQtSDQstGA0LXQvNC10L3QuCwg0LTQu9GPINC90LDRhdC+0LbQtNC10L3QuNGPINC70YPRh9GI0LjRhSDRgdC+0LLQv9Cw0LTQtdC90LjQuSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDgKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjAzCiBtc2dpZCAiVXNlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIGNhbGxpbmcgZ2l0LXJldi1saXN0IgogbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YDQtdC00LDQutGG0LjQuCDQuNC3IDzRhNCw0LnQu9CwPiDQstC80LXRgdGC0L4g0LLRi9C30L7QstCwIGdpdC1yZXYtbGlzdCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA0CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGB0L7QtNC10YDQttC40LzQvtC1IDzRhNCw0LnQu9CwPiDQutCw0Log0YTQuNC90LDQu9GM0L3Ri9C5INGB0L3QuNC80L7QuiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTAgYnVpbHRpbi9ibGFtZS5jOjI1NTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA1IGJ1aWx0aW4vYmxhbWUuYzoyNjA2CiBtc2dpZCAic2NvcmUiCiBtc2dzdHIgItC80LjQvS3QtNC70LjQvdCwIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU1MAorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDUKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICLQndCw0LnRgtC4INC60L7Qv9C40YDQvtCy0LDQvdC40LUg0YHRgtGA0L7QuiDQsiDQv9GA0LXQtNC10LvQsNGFINC4INC80LXQttC00YMg0YTQsNC50LvQsNC80LgiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUxCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNgogbXNnaWQgIkZpbmQgbGluZSBtb3ZlbWVudHMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgItCd0LDQudGC0Lgg0L/QtdGA0LXQvNC10YnQtdC90LjRjyDRgdGC0YDQvtC6INCyINC/0YDQtdC00LXQu9Cw0YUg0Lgg0LzQtdC20LTRgyDRhNCw0LnQu9Cw0LzQuCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA3CiBtc2dpZCAibixtIgogbXNnc3RyICLQvdCw0YfQsNC70L4s0LrQvtC90LXRhiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA3CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgItCe0LHRgNCw0LHQvtGC0LDRgtGMINGC0L7Qu9GM0LrQviDRgdGC0YDQvtC60Lgg0LIg0LTQuNCw0L/QsNC30L7QvdC1INC90LDRh9Cw0LvQvizQutC+0L3QtdGGLCDQvdCw0YfQuNC90LDRjyDRgSAxIgogCisjOiBidWlsdGluL2JsYW1lLmM6MjY1NAorbXNnaWQgIi0tcHJvZ3Jlc3MgY2FuJ3QgYmUgdXNlZCB3aXRoIC0taW5jcmVtZW50YWwgb3IgcG9yY2VsYWluIGZvcm1hdHMiCittc2dzdHIgIi0tcHJvZ3Jlc3Mg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0YEgLS1pbmNyZW1lbnRhbCDQuNC70Lgg0LzQsNGI0LjQvdC+0YfQuNGC0LDQtdC80YvQvCAocG9yY2VsYWluKSDRhNC+0YDQvNCw0YLQvtC8IgorCiAjLiBUUkFOU0xBVE9SUzogVGhpcyBzdHJpbmcgaXMgdXNlZCB0byB0ZWxsIHVzIHRoZSBtYXhpbXVtCiAjLiBkaXNwbGF5IHdpZHRoIGZvciBhIHJlbGF0aXZlIHRpbWVzdGFtcCBpbiAiZ2l0IGJsYW1lIgogIy4gb3V0cHV0LiAgRm9yIEMgbG9jYWxlLCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIsIHdoaWNoCiAjLiB0YWtlcyAyMiBwbGFjZXMsIGlzIHRoZSBsb25nZXN0IGFtb25nIHZhcmlvdXMgZm9ybXMgb2YKICMuIHJlbGF0aXZlIHRpbWVzdGFtcHMsIGJ1dCB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IKICMuIGZld2VyIGRpc3BsYXkgY29sdW1ucy4KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjQxCisjOiBidWlsdGluL2JsYW1lLmM6MjcwMAogbXNnaWQgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iCiBtc2dzdHIgIjQg0LPQvtC00LAg0LggMTEg0LzQtdGB0Y/RhtC10LIg0L3QsNC30LDQtCIKIAorIzogYnVpbHRpbi9ibGFtZS5jOjI3ODAKK21zZ2lkICItLWNvbnRlbnRzIGFuZCAtLXJldmVyc2UgZG8gbm90IGJsZW5kIHdlbGwuIgorbXNnc3RyICItLWNvbnRlbnRzINC4IC0tcmV2ZXJzZSDQvdC1INC+0YfQtdC90Ywg0YHQvtGH0LXRgtCw0Y7RgtGB0Y8uIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjgwMAorbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKK21zZ3N0ciAi0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCAtLWNvbnRlbnRzINGBINGD0LrQsNC30LDQvdC40LXQvCDRhNC40L3QsNC70YzQvdC+0LPQviDQuNC80LXQvdC4INC+0LHRitC10LrRgtCwIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjgwNQorbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKK21zZ3N0ciAi0L/RgNC4IC0tcmV2ZXJzZSDQuCAtLWZpcnN0LXBhcmVudCDQstC80LXRgdGC0LUg0L3Rg9C20L3QviDRg9C60LDQt9GL0LLQsNGC0Ywg0LrQvtC90LrRgNC10YLQvdGL0Lkg0L/QvtGB0LvQtdC00L3QuNC5INC60L7QvNC80LjRgiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MzIKK21zZ2lkICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgorbXNnc3RyICLQv9GA0Lgg0YPQutCw0LfQsNC90LjQuCAtLXJldmVyc2Ug0LggLS1maXJzdC1wYXJlbnQg0LLQvNC10YHRgtC1LCDRgtGA0LXQsdGD0LXRgtGB0Y8g0YLQsNC60LbQtSDRg9C60LDQt9Cw0YLRjCDQtNC40LDQv9Cw0LfQvtC9INC/0L4g0YbQtdC/0L7Rh9C60LUg0L/QtdGA0LLQvtCz0L4g0YDQvtC00LjRgtC10LvRjyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCBwYXRoICVzIGluICVzIgorbXNnc3RyICLQvdC10YIg0YLQsNC60L7Qs9C+INC/0YPRgtC4ICVzINCyICVzIgorCisjOiBidWlsdGluL2JsYW1lLmM6Mjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C40YLQsNGC0Ywg0L7QsdGK0LXQutGCICVzINC00LvRjyDQv9GD0YLQuCAlcyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZSIKK21zZ2lkX3BsdXJhbCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZXMiCittc2dzdHJbMF0gItGE0LDQudC7ICVzINGB0L7QtNC10YDQttC40YIg0YLQvtC70YzQutC+ICVsdSDRgdGC0YDQvtC60YMiCittc2dzdHJbMV0gItGE0LDQudC7ICVzINGB0L7QtNC10YDQttC40YIg0YLQvtC70YzQutC+ICVsdSDRgdGC0YDQvtC60LgiCittc2dzdHJbMl0gItGE0LDQudC7ICVzINGB0L7QtNC10YDQttC40YIg0YLQvtC70YzQutC+ICVsdSDRgdGC0YDQvtC6IgorbXNnc3RyWzNdICLRhNCw0LnQuyAlcyDRgdC+0LTQtdGA0LbQuNGCINGC0L7Qu9GM0LrQviAlbHUg0YHRgtGA0L7QutC4IgorCiAjOiBidWlsdGluL2JyYW5jaC5jOjI2CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgogbXNnc3RyICJnaXQgYnJhbmNoIFs80L7Qv9GG0LjQuD5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCkBAIC0zNzM1LDExOCArNDU1MywxMjIgQEAKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAi0JLQtdGC0LrQsCAlcyDRg9C00LDQu9C10L3QsCAo0LHRi9C70LAgJXMpLlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMwOQorIzogYnVpbHRpbi9icmFuY2guYzozMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBnb25lXSIKIG1zZ3N0ciAiWyVzOiDQv9GA0L7Qv9Cw0LtdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMxNAorIzogYnVpbHRpbi9icmFuY2guYzozMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzXSIKIG1zZ3N0ciAiWyVzXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYmVoaW5kICVkXSIKIG1zZ3N0ciAiWyVzOiDQv9C+0LfQsNC00LggJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyMQorIzogYnVpbHRpbi9icmFuY2guYzozMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2JlaGluZCAlZF0iCiBtc2dzdHIgIlvQv9C+0LfQsNC00LggJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyNQorIzogYnVpbHRpbi9icmFuY2guYzozMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBhaGVhZCAlZF0iCiBtc2dzdHIgIlslczog0LLQv9C10YDQtdC00LggJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyNworIzogYnVpbHRpbi9icmFuY2guYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2FoZWFkICVkXSIKIG1zZ3N0ciAiW9Cy0L/QtdGA0LXQtNC4ICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczog0LLQv9C10YDQtdC00LggJWQsINC/0L7Qt9Cw0LTQuCAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMzCisjOiBidWlsdGluL2JyYW5jaC5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIlvQstC/0LXRgNC10LTQuCAlZCwg0L/QvtC30LDQtNC4ICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozNDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzQ5CiBtc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKIG1zZ3N0ciAiICoqKiog0L3QtdC00LXQudGB0YLQstC40YLQtdC70YzQvdCw0Y8g0YHRgdGL0LvQutCwICoqKioiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzcyCisjOiBidWlsdGluL2JyYW5jaC5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCiBtc2dzdHIgIijQvdC10YIg0LLQtdGC0LrQuCwg0L/QtdGA0LXQvNC10YnQtdC90LjQtSAlcykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc1CisjOiBidWlsdGluL2JyYW5jaC5jOjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCiBtc2dzdHIgIijQvdC10YIg0LLQtdGC0LrQuCwg0LTQstC+0LjRh9C90YvQuSDQv9C+0LjRgdC6INC90LDRh9Cw0YIg0L3QsCAlcykiCiAKICMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzCiAjLiAiSEVBRCBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCi0jOiBidWlsdGluL2JyYW5jaC5jOjM4MQorIzogYnVpbHRpbi9icmFuY2guYzozODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgogbXNnc3RyICIoSEVBRCDQvtGC0LTQtdC70ZHQvSDQvdCwICVzKSIKIAogIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKICMuICJIRUFEIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgogbXNnc3RyICIoSEVBRCDQvtGC0LTQtdC70ZHQvSDQvdCw0YfQuNC90LDRjyDRgSAlcykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzkwCisjOiBidWlsdGluL2JyYW5jaC5jOjM5MwogbXNnaWQgIihubyBicmFuY2gpIgogbXNnc3RyICIo0L3QtdGCINCy0LXRgtC60LgpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU0MQorIzogYnVpbHRpbi9icmFuY2guYzo1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIHJlYmFzZWQgYXQgJXMiCiBtc2dzdHIgItCf0YDQvtC40LfQstC+0LTQuNGC0YHRjyDQv9C10YDQtdC80LXRidC10L3QuNC1INCy0LXRgtC60LggJXMg0L3QsCAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyBiaXNlY3RlZCBhdCAlcyIKIG1zZ3N0ciAi0J/RgNC+0LjQt9Cy0L7QtNC40YLRgdGPINC00LLQvtC40YfQvdGL0Lkg0L/QvtC40YHQuiDQsiDQstC10YLQutC1ICVzINC90LAgJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYwCisjOiBidWlsdGluL2JyYW5jaC5jOjU2MwogbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgogbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9C10YDQtdC40LzQtdC90L7QstCw0YLRjCDRgtC10LrRg9GJ0YPRjiDQstC10YLQutGDLCDQtdGB0LvQuCDQstGLINC90LUg0L3QsNGF0L7QtNC40YLQtdGB0Ywg0L3QuCDQvdCwINC+0LTQvdC+0Lkg0LjQtyDQvdC40YUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU3MAorIzogYnVpbHRpbi9icmFuY2guYzo1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAi0J3QtdC00LXQudGB0YLQstC40YLQtdC70YzQvdC+0LUg0LjQvNGPINCy0LXRgtC60Lg6IMKrJXPCuyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1ODcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkwCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgItCh0LHQvtC5INC/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40Y8g0LLQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICLQn9C10YDQtdC40LzQtdC90L7QstCw0L3QsCDQvdC10L/RgNCw0LLQuNC70YzQvdC+INC90LDQt9Cy0LDQvdC90LDRjyDQstC10YLQutCwIMKrJXPCuyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgItCS0LXRgtC60LAg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LAg0LIgJXMsINC90L4gSEVBRCDQvdC1INC+0LHQvdC+0LLQu9C10L0hIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMQorIzogYnVpbHRpbi9icmFuY2guYzo2MDQKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgItCS0LXRgtC60LAg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LAsINC90L4g0L/RgNC+0LjQt9C+0YjQtdC7INGB0LHQvtC5INC+0LHQvdC+0LLQu9C10L3QuNGPINGE0LDQudC70LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMwotbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBicmFuY2ggZGVzY3JpcHRpb24gdGVtcGxhdGUiCi1tc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDRiNCw0LHQu9C+0L0g0L7Qv9C40YHQsNC90LjRjyDQstC10YLQutC4IgorIzogYnVpbHRpbi9icmFuY2guYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlBsZWFzZSBlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaFxuIgorIiAgJXNcbiIKKyJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBzdHJpcHBlZC5cbiIKK21zZ3N0ciAi0JjQt9C80LXQvdC40YLQtSDQvtC/0LjRgdCw0L3QuNC1INC00LvRjyDQstC10YLQutC4OlxuICAlc1xu0KHRgtGA0L7QutC4LCDQvdCw0YfQuNC90LDRjtGJ0LjQtdGB0Y8g0YEgwqslY8K7INCx0YPQtNGD0YIg0LLRi9GA0LXQt9Cw0L3Riy5cbiIKIAogIzogYnVpbHRpbi9icmFuY2guYzo2NTEKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCkBAIC0zODc2LDYgKzQ2OTgsMTAgQEAKIG1zZ2lkICJjaGFuZ2UgdGhlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgItC40LfQvNC10L3QuNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0LLRi9GI0LXRgdGC0L7Rj9GJ0LXQuSDQstC10YLQutC1IgogCisjOiBidWlsdGluL2JyYW5jaC5jOjY2MAorbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgorbXNnc3RyICLQo9Cx0YDQsNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0LLRi9GI0LXRgdGC0L7Rj9GJ0LXQuSDQstC10YLQutC1IgorCiAjOiBidWlsdGluL2JyYW5jaC5jOjY2MQogbXNnaWQgInVzZSBjb2xvcmVkIG91dHB1dCIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGG0LLQtdGC0L3QvtC5INCy0YvQstC+0LQiCkBAIC0zOTQ4LDggKzQ3NzQsOCBAQAogbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKIG1zZ3N0ciAi0LjQvNGPINC/0L7Qu9GPLCDQv9C+INC60L7RgtC+0YDQvtC80YMg0LLRi9C/0L7Qu9C90LjRgtGMINGB0L7RgNGC0LjRgNC+0LLQutGDIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDEKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDQgYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL25vdGVzLmM6NTY3CisjOiBidWlsdGluL2JyYW5jaC5jOjY4NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDcgYnVpbHRpbi9ub3Rlcy5jOjU2NyBidWlsdGluL25vdGVzLmM6NTcwCiAjOiBidWlsdGluL3RhZy5jOjM2OQogbXNnaWQgIm9iamVjdCIKIG1zZ3N0ciAi0L7QsdGK0LXQutGCIgpAQCAtMzk2Miw3ICs0Nzg4LDcgQEAKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCBIRUFEINC60LDQuiDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Rg9GOINGB0YHRi9C70LrRgy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzA5IGJ1aWx0aW4vY2xvbmUuYzo3MDcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzA5IGJ1aWx0aW4vY2xvbmUuYzo3MDYKIG1zZ2lkICJIRUFEIG5vdCBmb3VuZCBiZWxvdyByZWZzL2hlYWRzISIKIG1zZ3N0ciAiSEVBRCDQvdC1INC90LDQudC00LXQvSDQsiByZWZzL2hlYWRzISIKIApAQCAtNDA2NSw2MSArNDg5MSw3NSBAQAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAi0KLRgNC10LHRg9C10YLRgdGPINGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0LTQu9GPINGA0LDRgdC/0LDQutC+0LLQutC4LiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQyOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxMwogbXNnaWQgIiIKLSJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV18LXMgWy0tYWxsb3ctdW5rbm93bi0iCi0idHlwZV18LWV8LXB8PHR5cGU+fC0tdGV4dGNvbnYpIDxvYmplY3Q+IgotbXNnc3RyICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV18LXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXXwtZXwtcHw80YLQuNC/PnwtLXRleHRjb252KSA80L7QsdGK0LXQutGCPiIKKyJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAiCisiLXAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCittc2dzdHIgImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC1wIHwgPNGC0LjQvz4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTzQv9GD0YLRjD5dIDzQvtCx0YrQtdC60YI+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDI5Ci1tc2dpZCAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSIKLW1zZ3N0ciAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MTQKK21zZ2lkICIiCisiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8ICIKKyItLWZpbHRlcnNdIgorbXNnc3RyICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIFstLXRleHRjb252IHwgLS1maWx0ZXJzXSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ2NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MQogbXNnaWQgIjx0eXBlPiBjYW4gYmUgb25lIG9mOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIG1zZ3N0ciAiPNGC0LjQvz4g0LzQvtC20LXRgiDQsdGL0YLRjCDQvtC00L3QuNC8INC40Lc6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDY3CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTUyCiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDRgtC40L8g0L7QsdGK0LXQutGC0LAiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NjgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTMKIG1zZ2lkICJzaG93IG9iamVjdCBzaXplIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINGA0LDQt9C80LXRgCDQvtCx0YrQtdC60YLQsCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3MAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NQogbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKIG1zZ3N0ciAi0LLRi9C50YLQuCDRgSDQvdGD0LvQtdCy0YvQvCDQutC+0LTQvtC8INCy0L7Qt9Cy0YDQsNGC0LAsINC10YHQu9C4INC90LXRgiDQvtGI0LjQsdC60LgiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTYKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAi0YHRgtGA0YPQutGC0YPRgNC40YDQvtCy0LDQvdC90YvQuSDQstGL0LLQvtC0INGB0L7QtNC10YDQttC40LzQvtCz0L4g0L7QsdGK0LXQutGC0LAiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTgKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAi0LfQsNC/0YPRgdGC0LjRgtGMIHRleGNvbnYg0L3QsCDRgdC+0LTQtdGA0LbQuNC80L7QvCDQtNCy0L7QuNGH0L3Ri9GFINC+0LHRitC10LrRgtC+0LIgIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDc1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYwCittc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIGZpbHRlcnMgb24gb2JqZWN0J3MgY29udGVudCIKK21zZ3N0ciAi0LfQsNC/0YPRgdC6INGE0LjQu9GM0YLRgNC+0LIg0L3QsCDRgdC+0LTQtdGA0LbQuNC80L7QvCDQtNCy0L7QuNGH0L3Ri9GFINC+0LHRitC10LrRgtC+0LIgIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYxIGdpdC1zdWJtb2R1bGUuc2g6OTIzCittc2dpZCAiYmxvYiIKK21zZ3N0ciAi0LTQstC+0LjRh9C90YvQuSDQvtCx0YrQtdC60YIiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjIKK21zZ2lkICJ1c2UgYSBzcGVjaWZpYyBwYXRoIGZvciAtLXRleHRjb252Ly0tZmlsdGVycyIKK21zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0L/RgNC10LTQtdC70LXQvdC90YvQuSDQv9GD0YLRjCDQtNC70Y8gLS10ZXh0Y29udi8tLWZpbHRlcnMiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjQKIG1zZ2lkICJhbGxvdyAtcyBhbmQgLXQgdG8gd29yayB3aXRoIGJyb2tlbi9jb3JydXB0IG9iamVjdHMiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNC40YLRjCAtcyDQuCAtdCDRgNCw0LHQvtGC0LDRgtGMINGBINC/0L7QstGA0LXQttC00ZHQvdC90YvQvNC4INC+0LHRitC10LrRgtCw0LzQuCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NQogbXNnaWQgImJ1ZmZlciAtLWJhdGNoIG91dHB1dCIKIG1zZ3N0ciAi0LHRg9GE0YTQtdGA0LjRgNC+0LLQsNGC0Ywg0LLRi9Cy0L7QtCAtLWJhdGNoIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDc4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY3CiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC4INGB0L7QtNC10YDQttC40LzQvtC1INC+0LHRitC10LrRgtC+0LIsINC/0LXRgNC10LTQsNC90L3Ri9GFINC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0ODEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzAKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDQvtCx0YrQtdC60YLQsNGFLCDQv9C10YDQtdC00LDQvdC90YvRhSDQuNC3INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDg0CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTczCiBtc2dpZCAiZm9sbG93IGluLXRyZWUgc3ltbGlua3MgKHVzZWQgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2spIgogbXNnc3RyICLQv9C10YDQtdGF0L7QtNC40YLRjCDQv9C+INGB0LjQvNCy0L7Qu9GM0L3Ri9C8INGB0YHRi9C70LrQsNC8INCy0L3Rg9GC0YDQuCDQtNC10YDQtdCy0LAgKNC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDRgSDQvtC/0YbQuNGP0LzQuCAtLWJhdGNoINC4IC0tYmF0Y2gtY2hlY2spIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDg2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTc1CiBtc2dpZCAic2hvdyBhbGwgb2JqZWN0cyB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjayIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQstGB0LUg0L7QsdGK0LXQutGC0Ysg0YEg0L7Qv9GG0LjRj9C80LggLS1iYXRjaCDQuNC70LggLS1iYXRjaC1jaGVjayIKIApAQCAtNDEzOSw3ICs0OTc5LDcgQEAKIG1zZ2lkICJ1c2UgLmdpdGF0dHJpYnV0ZXMgb25seSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviAuZ2l0YXR0cmlidXRlcyDQuNC3INC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIyIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NworIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKIG1zZ2lkICJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINC40LzQtdC90LAg0YTQsNC50LvQvtCyINC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAiCiAKQEAgLTQxNDcsNyArNDk4Nyw3IEBACiBtc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgItC+0LrQvtC90YfQsNC90LjQtSDQstCy0L7QtNCwINC4INCy0YvQstC+0LTQsCDQt9Cw0L/QuNGB0LXQuSDQv9C+INCd0KPQm9CV0JLQntCc0KMg0YHQuNC80LLQvtC70YMiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjExMzUgYnVpbHRpbi9nYy5jOjMyNQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTEzNyBidWlsdGluL2djLmM6MzI1CiBtc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0L/RgNC+0LPRgNC10YHRgSDQstGL0L/QvtC70L3QtdC90LjRjyIKIApAQCAtNDIzNyw5ICs1MDc3LDkgQEAKIG1zZ3N0ciAi0LfQsNC/0LjRgdCw0YLRjCDRgdC+0LTQtdGA0LbQuNC80L7QtSDQstC+INCy0YDQtdC80LXQvdC90YvQtSDRhNCw0LnQu9GLIgogCiAjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0IGJ1aWx0aW4vY29sdW1uLmM6MzAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTAwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ2OQogbXNnaWQgInN0cmluZyIKIG1zZ3N0ciAi0YHRgtGA0L7QutCwIgogCkBAIC00MzA1LDYzICs1MTQ1LDU5IEBACiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgogbXNnc3RyICLQndC10LvRjNC30Y8g0L7QsdC90L7QstC70Y/RgtGMINC/0YPRgtC4INC4INC/0LXRgNC10LrQu9GO0YfQsNGC0YzRgdGPINC90LAg0LLQtdGC0LrRgyDCqyVzwrsg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3OSBidWlsdGluL2NoZWNrb3V0LmM6NDczCi1tc2dpZCAiY29ycnVwdCBpbmRleCBmaWxlIgotbXNnc3RyICLRhNCw0LnQuyDQuNC90LTQtdC60YHQsCDQv9C+0LLRgNC10LbQtNC10L0iCi0KICM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzkgYnVpbHRpbi9jaGVja291dC5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgItC/0YPRgtGMIMKrJXPCuyDQvdC1INGB0LvQuNGCIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NDk1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDk0CiBtc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCiBtc2dzdHIgItGB0L3QsNGH0LDQu9CwINC90YPQttC90L4g0YDQsNC30YDQtdGI0LjRgtGMINC60L7QvdGE0LvQuNC60YLRiyDQsiDQstCw0YjQtdC8INGC0LXQutGD0YnQtdC8INC40L3QtNC10LrRgdC1IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjIyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINC20YPRgNC90LDQuyDRgdGB0YvQu9C+0Log0LTQu9GPIMKrJXPCuzogJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjY2MwogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFEINGB0LXQudGH0LDRgSDQvdCwIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjY0IGJ1aWx0aW4vY2xvbmUuYzo2NjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjcgYnVpbHRpbi9jbG9uZS5jOjY2MAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgSEVBRCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAi0KHQsdGA0L7RgSDQstC10YLQutC4IMKrJXPCu1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjcxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICLQo9C20LUg0L3QsCDCqyVzwrtcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAi0J/QtdGA0LXQutC70Y7Rh9C10L3QuNC1INC4INGB0LHRgNC+0YEg0LLQtdGC0LrQuCDCqyVzwrtcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3NyBidWlsdGluL2NoZWNrb3V0LmM6MTA2NworIzogYnVpbHRpbi9jaGVja291dC5jOjY4MCBidWlsdGluL2NoZWNrb3V0LmM6MTA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLQn9C10YDQtdC60LvRjtGH0LXQvdC+INC90LAg0L3QvtCy0YPRjiDQstC10YLQutGDIMKrJXPCu1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgItCf0LXRgNC10LrQu9GO0YfQtdC90L4g0L3QsCDQstC10YLQutGDIMKrJXPCu1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzMxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAuLi4gYW5kICVkIG1vcmUuXG4iCiBtc2dzdHIgIiDigKYg0Lgg0LXRidC1ICVkLlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtNDM3OCw3ICs1MjE0LDcgQEAKIG1zZ3N0clsyXSAi0J/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0LLRiyDQvtGB0YLQsNCy0LvRj9C10YLQtSDQv9C+0LfQsNC00LggJWQg0LrQvtC80LzQuNGC0L7QsiDQvdC1INGB0L7QtdC00LjQvdC10L3QvdGL0LUg0L3QuCDRgSDQvtC00L3QvtC5INC40Lcg0LLQsNGI0LjRhSDQstC10YLQvtC6OlxuXG4lc1xuIgogbXNnc3RyWzNdICLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQstGLINC+0YHRgtCw0LLQu9GP0LXRgtC1INC/0L7Qt9Cw0LTQuCAlZCDQutC+0LzQvNC40YLQvtCyINC90LUg0YHQvtC10LTQuNC90LXQvdC90YvQtSDQvdC4INGBINC+0LTQvdC+0Lkg0LjQtyDQstCw0YjQuNGFINCy0LXRgtC+0Lo6XG5cbiVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIGtlZXAgaXQgYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgpAQCAtNDM5NywxNjIgKzUyMzMsMTYyIEBACiBtc2dzdHJbMl0gItCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1INGB0L7RhdGA0LDQvdC40YLRjCDQuNGFINGBINC/0L7QvNC+0YnRjNGOINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7QuSDQstC10YLQutC4LCDRgtC+INGB0LXQudGH0LDRgSDRgdCw0LzQvtC1INCy0YDQtdC80Y9cbtGB0LTQtdC70LDRgtGMINGN0YLQviDRgSDQv9C+0LzQvtGJ0YzRjjpcblxuIGdpdCBicmFuY2ggPNC40LzRjy3QvdC+0LLQvtC5LdCy0LXRgtC60Lg+ICVzXG4iCiBtc2dzdHJbM10gItCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1INGB0L7RhdGA0LDQvdC40YLRjCDQuNGFINGBINC/0L7QvNC+0YnRjNGOINGB0L7Qt9C00LDQvdC40Y8g0L3QvtCy0L7QuSDQstC10YLQutC4LCDRgtC+INGB0LXQudGH0LDRgSDRgdCw0LzQvtC1INCy0YDQtdC80Y9cbtGB0LTQtdC70LDRgtGMINGN0YLQviDRgSDQv9C+0LzQvtGJ0YzRjjpcblxuIGdpdCBicmFuY2ggPNC40LzRjy3QvdC+0LLQvtC5LdCy0LXRgtC60Lg+ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTQKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgogbXNnc3RyICLQstC90YPRgtGA0LXQvdC90Y/RjyDQvtGI0LjQsdC60LAg0L/RgNC4INGF0L7QttC00LXQvdC40Lgg0L/QviDRgNC10LTQsNC60YbQuNGP0LwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTgKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAi0J/RgNC10LTRi9C00YPRidCw0Y8g0L/QvtC30LjRhtC40Y8gSEVBRCDQsdGL0LvQsCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgyMyBidWlsdGluL2NoZWNrb3V0LmM6MTA2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjgyNSBidWlsdGluL2NoZWNrb3V0LmM6MTA2NAogbXNnaWQgIllvdSBhcmUgb24gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgItCS0Ysg0L3QsNGF0L7QtNC40YLQtdGB0Ywg0L3QsCDQtdGJ0LUg0L3QtSDRgdC+0LfQtNCw0L3QvdC+0Lkg0LLQtdGC0LrQtSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjk2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQsICVkIGdpdmVuLiIKIG1zZ3N0ciAi0L7QttC40LTQsNC10YLRgdGPINGC0L7Qu9GM0LrQviDQvtC00L3QsCDRgdGB0YvQu9C60LAsINCwINC/0LXRgNC10LTQsNC90L4gJWQuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwOCBidWlsdGluL3dvcmt0cmVlLmM6MjEyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxMCBidWlsdGluL3dvcmt0cmVlLmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINGB0YHRi9C70LrQsDogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgItCyINC00LXRgNC10LLQtSDQvdC10YIg0YLQsNC60L7QuSDRgdGB0YvQu9C60Lg6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3NgorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzgKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQv9GD0YLQuCDQv9GA0Lgg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC4INCy0LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDgzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4MSBidWlsdGluL2NoZWNrb3V0LmM6MTA4NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIMKrJXPCuyDQv9GA0Lgg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC4INCy0LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODkgYnVpbHRpbi9jaGVja291dC5jOjEwOTIgYnVpbHRpbi9jaGVja291dC5jOjEwOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICLCqyVzwrsg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0YEgwqslc8K7IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMworIzogYnVpbHRpbi9jaGVja291dC5jOjExMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0ICclcyciCiBtc2dzdHIgItCd0LXQu9GM0LfRjyDQv9C10YDQtdC60LvRjtGH0LjRgtGMINCy0LXRgtC60YMg0L3QsCDQvdC1INC60L7QvNC80LjRgiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM4IGJ1aWx0aW4vY2xvbmUuYzo4OAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjUgYnVpbHRpbi9yZW1vdGUuYzoxNjcgYnVpbHRpbi93b3JrdHJlZS5jOjMyMwotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMzggYnVpbHRpbi9jaGVja291dC5jOjExNDAgYnVpbHRpbi9jbG9uZS5jOjkzCisjOiBidWlsdGluL3JlbW90ZS5jOjE2NSBidWlsdGluL3JlbW90ZS5jOjE2NyBidWlsdGluL3dvcmt0cmVlLmM6MzI0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI2CiBtc2dpZCAiYnJhbmNoIgogbXNnc3RyICLQstC10YLQutCwIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNworIzogYnVpbHRpbi9jaGVja291dC5jOjExMzkKIG1zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi0YHQvtC30LTQsNGC0Ywg0Lgg0L/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCDQvdC+0LLRg9GOINCy0LXRgtC60YMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MQogbXNnaWQgImNyZWF0ZS9yZXNldCBhbmQgY2hlY2tvdXQgYSBicmFuY2giCiBtc2dzdHIgItGB0L7Qt9C00LDRgtGML9GB0LHRgNC+0YHQuNGC0Ywg0Lgg0L/QtdGA0LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0L3QvtCy0YPRjiDQstC10YLQutGDIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDIKIG1zZ2lkICJjcmVhdGUgcmVmbG9nIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDQttGD0YDQvdCw0Lsg0YHRgdGL0LvQvtC6INC00LvRjyDQvdC+0LLQvtC5INCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQxCi1tc2dpZCAiZGV0YWNoIHRoZSBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQzIGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKK21zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCiBtc2dzdHIgItC+0YLRgdC+0LXQtNC40L3QuNGC0YwgSEVBRCDQvdCwINGD0LrQsNC30LDQvdC90L7QvCDQutC+0LzQvNC40YLQtSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0CiBtc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgItGD0YHRgtCw0L3QvtCy0LjRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INCy0YvRiNC10YHRgtC+0Y/RidC10Lkg0LLQtdGC0LrQtSDQtNC70Y8g0L3QvtCy0L7QuSDQstC10YLQutC4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDYKIG1zZ2lkICJuZXctYnJhbmNoIgogbXNnc3RyICLQvdC+0LLQsNGPLdCy0LXRgtC60LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NgogbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKIG1zZ3N0ciAi0L3QvtCy0LDRjyDQstC10YLQutCwINCx0LXQtyDRgNC+0LTQuNGC0LXQu9C10LkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NwogbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAi0L/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCDQvdCw0YjRgyDQstC10YDRgdC40Y4g0LTQu9GPINC90LUg0YHQu9C40YLRi9GFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CiBtc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgItC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0LjRhSDQstC10YDRgdC40Y4g0LTQu9GPINC90LUg0YHQu9C40YLRi9GFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUxCiBtc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCiBtc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+0LUg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC1INC90LAg0YHQvtGB0YLQvtGP0L3QuNC1ICjQvtGC0LHRgNCw0YHRi9Cy0LDQtdGCINCy0YHQtSDQu9C+0LrQsNC70YzQvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCiBtc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCiBtc2dzdHIgItCy0YvQv9C+0LvQvdC40YLRjCDRgtGA0LXRhdGF0L7QtNC+0LLQvtC1INGB0LvQuNGP0L3QuNC1INGBINC90L7QstC+0Lkg0LLQtdGC0LrQvtC5IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MSBidWlsdGluL21lcmdlLmM6MjMwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MyBidWlsdGluL21lcmdlLmM6MjMxCiBtc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgogbXNnc3RyICLQvtCx0L3QvtCy0LjRgtGMINC40LPQvdC+0YDQuNGA0YPQtdC80YvQtSDRhNCw0LnQu9GLICjQv9C+INGD0LzQvtC70YfQsNC90LjRjikiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyIGJ1aWx0aW4vbG9nLmM6MTQzMiBwYXJzZS1vcHRpb25zLmg6MjUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NCBidWlsdGluL2xvZy5jOjE0NjYgcGFyc2Utb3B0aW9ucy5oOjI1MQogbXNnaWQgInN0eWxlIgogbXNnc3RyICLRgdGC0LjQu9GMIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MworIzogYnVpbHRpbi9jaGVja291dC5jOjExNTUKIG1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgogbXNnc3RyICLRgdGC0LjQu9GMINC60L7QvdGE0LvQuNC60YLQvtCyINGB0LvQuNGP0L3QuNGPIChtZXJnZSDQuNC70LggZGlmZjMpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTgKIG1zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCiBtc2dzdHIgItC90LUg0L7Qs9GA0LDQvdC40YfQuNCy0LDRgtGMINGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgNGLINC/0YPRgtC4INGC0L7Qu9GM0LrQviDRh9Cw0YHRgtC40YfQvdGL0LzQuCDQt9Cw0L/QuNGB0Y/QvNC4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKIG1zZ3N0ciAi0L/QtdGA0LXRgdC80L7RgtGAIMKrZ2l0IGNoZWNrb3V0IDzQvdC10YIt0YLQsNC60L7QuS3QstC10YLQutC4PsK7IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjIKIG1zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCiBtc2dzdHIgItC90LUg0L/RgNC+0LLQtdGA0Y/RgtGMLCDRh9GC0L4g0LTRgNGD0LPQvtC1INC00LXRgNC10LLQviDRg9C20LUg0YHQvtC00LXRgNC20LjRgiDRg9C60LDQt9Cw0L3QvdGD0Y4g0YHRgdGL0LvQutGDIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MSBidWlsdGluL2Nsb25lLmM6NjAgYnVpbHRpbi9mZXRjaC5jOjExNgotIzogYnVpbHRpbi9tZXJnZS5jOjIyNyBidWlsdGluL3B1bGwuYzoxMTYgYnVpbHRpbi9wdXNoLmM6NTI2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MyBidWlsdGluL2Nsb25lLmM6NjMgYnVpbHRpbi9mZXRjaC5jOjExOQorIzogYnVpbHRpbi9tZXJnZS5jOjIyOCBidWlsdGluL3B1bGwuYzoxMTcgYnVpbHRpbi9wdXNoLmM6NTM2CiAjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2OAogbXNnaWQgImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L4g0LLRi9Cy0L7QtNC40YLRjCDQv9GA0L7Qs9GA0LXRgdGBIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExOTQKIG1zZ2lkICItYiwgLUIgYW5kIC0tb3JwaGFuIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiDQuCAtLW9ycGhhbiDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjExCiBtc2dpZCAiLS10cmFjayBuZWVkcyBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICItLXRyYWNrINGC0YDQtdCx0YPQtdGCINC40LzRjyDQstC10YLQutC4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTYKIG1zZ2lkICJNaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiCiBtc2dzdHIgItCf0YDQvtC/0YPRidC10L3QviDQuNC80Y8g0LLQtdGC0LrQuDsg0L/QvtC/0YDQvtCx0YPQudGC0LUgLWIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MgogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0YHQv9C10YbQuNGE0LjQutCw0YbQuNGPINC/0YPRgtC4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NworIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLlxuIgogIkRpZCB5b3UgaW50ZW5kIHRvIGNoZWNrb3V0ICclcycgd2hpY2ggY2FuIG5vdCBiZSByZXNvbHZlZCBhcyBjb21taXQ/IgogbXNnc3RyICLQndC10LvRjNC30Y8g0L7QsdC90L7QstC40YLRjCDQv9GD0YLQuCDQuCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0L/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCDQstC10YLQutGDIMKrJXPCuy5cbtCS0Ysg0YXQvtGC0LXQu9C4INC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAgwqslc8K7LCDRh9GC0L4g0L3QtSDQvNC+0LbQtdGCINCx0YvRgtGMINC+0L/RgNC10LTQtdC70LXQvdC+INC60LDQuiDQutC+0LzQvNC40YI/IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgogbXNnc3RyICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoINC90LUg0L/RgNC40L3QuNC80LDQtdGCINC/0YPRgtGMIMKrJXPCuyDQutCw0Log0LDRgNCz0YPQvNC10L3RgiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtNDY4NCw4ICs1NTIwLDggQEAKIG1zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMINC60LDRgtCw0LvQvtCz0Lgg0L/QvtC70L3QvtGB0YLRjNGOIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6NzI0Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDU2IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTQgYnVpbHRpbi9zaG93LXJlZi5jOjE4MgorIzogYnVpbHRpbi9jbGVhbi5jOjg3NSBidWlsdGluL2Rlc2NyaWJlLmM6NDA3IGJ1aWx0aW4vZ3JlcC5jOjcyNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNiBidWlsdGluL25hbWUtcmV2LmM6MzEzIGJ1aWx0aW4vc2hvdy1yZWYuYzoxODIKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICLRiNCw0LHQu9C+0L0iCiAKQEAgLTQ3MjEsMjkwICs1NTU3LDMwNiBAQAogbXNnaWQgImdpdCBjbG9uZSBbPG9wdGlvbnM+XSBbLS1dIDxyZXBvPiBbPGRpcj5dIgogbXNnc3RyICJnaXQgY2xvbmUgWzzQvtC/0YbQuNC4Pl0gWy0tXSA80YDQtdC/0L7Qt9C40YLQvtGA0LjQuT4gWzzQutCw0YLQsNC70L7Qsz5dIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NQogbXNnaWQgImRvbid0IGNyZWF0ZSBhIGNoZWNrb3V0IgogbXNnc3RyICLQvdC1INC/0LXRgNC10LrQu9GO0YfQsNGC0Ywg0YDQsNCx0L7Rh9GD0Y4g0LrQvtC/0LjRjiDQvdCwIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MyBidWlsdGluL2Nsb25lLmM6NjUgYnVpbHRpbi9pbml0LWRiLmM6NDczCisjOiBidWlsdGluL2Nsb25lLmM6NjYgYnVpbHRpbi9jbG9uZS5jOjY4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OAogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0YHQvtC30LTQsNGC0Ywg0LPQvtC70YvQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MAogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDQt9C10YDQutCw0LvQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPICjQstC60LvRjtGH0LDQtdGCINCyINGB0LXQsdGPINC4INC/0LDRgNCw0LzQtdGC0YAgYmFyZSkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2OQorIzogYnVpbHRpbi9jbG9uZS5jOjcyCiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgItC00LvRjyDQutC70L7QvdC40YDQvtCy0LDQvdC40Y8g0LjQtyDQu9C+0LrQsNC70YzQvdC+0LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NAogbXNnaWQgImRvbid0IHVzZSBsb2NhbCBoYXJkbGlua3MsIGFsd2F5cyBjb3B5IgogbXNnc3RyICLQvdC1INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQttC10YHRgtC60LjQtSDRgdGB0YvQu9C60LgsINCy0YHQtdCz0LTQsCDQutC+0L/QuNGA0L7QstCw0YLRjCDRhNCw0LnQu9GLIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NgogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICLQvdCw0YHRgtGA0L7QuNGC0Ywg0LrQsNC6INC+0LHRidC10LTQvtGB0YLRg9C/0L3Ri9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NSBidWlsdGluL2Nsb25lLmM6NzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3OCBidWlsdGluL2Nsb25lLmM6ODAKIG1zZ2lkICJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIgogbXNnc3RyICLQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0YLRjCDQv9C+0LTQvNC+0LTRg9C70Lgg0LIg0LrQu9C+0L3QtSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc5CisjOiBidWlsdGluL2Nsb25lLmM6ODIKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBjbG9uZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgItC60L7Qu9C40YfQtdGB0YLQstC+INC/0L7QtNC80L7QtNGD0LvQtdC5LCDQutC+0YLQvtGA0YvQtSDQsdGD0LTRg9GCINC60LvQvtC90LjRgNC+0LLQsNC90Ysg0L/QsNGA0YDQsNC70LXQu9GM0L3QviIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3MAorIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NQogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAi0LrQsNGC0LDQu9C+0LMt0YjQsNCx0LvQvtC90L7QsiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgxIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3MQorIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgItC60LDRgtCw0LvQvtCzLCDRiNCw0LHQu9C+0L3RiyDQuNC3INC60L7RgtC+0YDQvtCz0L4g0LHRg9C00YPRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNC90YsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDk4Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc3CisjOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jbG9uZS5jOjg4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0YHRgdGL0LvQsNC10LzRi9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NQorIzogYnVpbHRpbi9jbG9uZS5jOjkwCiBtc2dpZCAidXNlIC0tcmVmZXJlbmNlIG9ubHkgd2hpbGUgY2xvbmluZyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSAtLXJlZmVyZW5jZSDRgtC+0LvRjNC60L4g0L/RgNC4INC60LvQvtC90LjRgNC+0LLQsNC90LjQuCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAi0LjQvNGPIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MgogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIDzQuNC80Y8+INCy0LzQtdGB0YLQviDCq29yaWdpbsK7INC00LvRjyDQvtGC0YHQu9C10LbQuNCy0LDQvdC40Y8g0LLRi9GI0LXRgdGC0L7Rj9GJ0LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OQorIzogYnVpbHRpbi9jbG9uZS5jOjk0CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAi0L/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCA80LLQtdGC0LrRgz4sINCy0LzQtdGB0YLQviBIRUFEINCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxCisjOiBidWlsdGluL2Nsb25lLmM6OTYKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICLQv9GD0YLRjCDQuiBnaXQtdXBsb2FkLXBhY2sg0L3QsCDQstC90LXRiNC90LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9mZXRjaC5jOjExNyBidWlsdGluL2dyZXAuYzo2NjcKLSM6IGJ1aWx0aW4vcHVsbC5jOjIwMQorIzogYnVpbHRpbi9jbG9uZS5jOjk3IGJ1aWx0aW4vZmV0Y2guYzoxMjAgYnVpbHRpbi9ncmVwLmM6NjY4CisjOiBidWlsdGluL3B1bGwuYzoyMDIKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAi0LPQu9GD0LHQuNC90LAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MworIzogYnVpbHRpbi9jbG9uZS5jOjk4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICLRgdC00LXQu9Cw0YLRjCDRh9Cw0YHRgtC40YfQvdGL0Lkg0LrQu9C+0L0g0YPQutCw0LfQsNC90L3QvtC5INCz0LvRg9Cx0LjQvdGLIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OSBidWlsdGluL2ZldGNoLmM6MTIyIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0OAorIzogcGFyc2Utb3B0aW9ucy5oOjE0MgorbXNnaWQgInRpbWUiCittc2dzdHIgItCy0YDQtdC80Y8iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKK21zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIHNpbmNlIGEgc3BlY2lmaWMgdGltZSIKK21zZ3N0ciAi0YHQtNC10LvQsNGC0Ywg0YfQsNGB0YLQuNGH0L3Ri9C5INC60LvQvtC9INC00L4g0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4g0LLRgNC10LzQtdC90LgiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEgYnVpbHRpbi9mZXRjaC5jOjEyNAorbXNnaWQgInJldmlzaW9uIgorbXNnc3RyICLRgNC10LTQsNC60YbQuNGPIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMjUKK21zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIGJ5IGV4Y2x1ZGluZyByZXYiCittc2dzdHIgItGD0LPQu9GD0LHQuNGC0Ywg0LjRgdGC0L7RgNC40Y4g0YfQsNGB0YLQuNGH0L3QvtCz0L4g0LrQu9C+0L3QsCDQuNGB0LrQu9GO0YfQsNGPINGA0LXQtNCw0LrRhtC40Y4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDQKIG1zZ2lkICJjbG9uZSBvbmx5IG9uZSBicmFuY2gsIEhFQUQgb3IgLS1icmFuY2giCiBtc2dzdHIgItC60LvQvtC90LjRgNC+0LLQsNGC0Ywg0YLQvtC70YzQutC+INC+0LTQvdGDINCy0LXRgtC60YMsIEhFQUQg0LjQu9C4IC0tYnJhbmNoIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDYKIG1zZ2lkICJhbnkgY2xvbmVkIHN1Ym1vZHVsZXMgd2lsbCBiZSBzaGFsbG93IgogbXNnc3RyICLQstGB0LUg0YHQutC70L7QvdC40YDQvtCy0LDQvdC90YvQtSDQv9C+0LTQvNC+0LTRg9C70Lgg0LHRg9C00YPRgiDRh9Cw0YHRgtC40YfQvdGL0LzQuCDQutC70L7QvdCw0LzQuCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNyBidWlsdGluL2luaXQtZGIuYzo0ODQKIG1zZ2lkICJnaXRkaXIiCiBtc2dzdHIgItC60LDRgtCw0LvQvtCzLWdpdCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwOCBidWlsdGluL2luaXQtZGIuYzo0ODUKIG1zZ2lkICJzZXBhcmF0ZSBnaXQgZGlyIGZyb20gd29ya2luZyB0cmVlIgogbXNnc3RyICLRgNCw0LfQvNC10YHRgtC40YLRjCDQutCw0YLQsNC70L7QsyBnaXQg0L7RgtC00LXQu9GM0L3QviDQvtGCINGA0LDQsdC+0YfQtdC5INC60L7Qv9C40LgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkKIG1zZ2lkICJrZXk9dmFsdWUiCiBtc2dzdHIgItC60LvRjtGHPdC30L3QsNGH0LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKIG1zZ2lkICJzZXQgY29uZmlnIGluc2lkZSB0aGUgbmV3IHJlcG9zaXRvcnkiCiBtc2dzdHIgItGD0YHRgtCw0L3QvtCy0LjRgtGMINC/0LDRgNCw0LzQtdGC0YDRiyDQstC90YPRgtGA0Lgg0L3QvtCy0L7Qs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIgYnVpbHRpbi9mZXRjaC5jOjEzMSBidWlsdGluL3B1c2guYzo1MzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9mZXRjaC5jOjE0MCBidWlsdGluL3B1c2guYzo1NDcKIG1zZ2lkICJ1c2UgSVB2NCBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviBJUHY0INCw0LTRgNC10YHQsCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNCBidWlsdGluL2ZldGNoLmM6MTMzIGJ1aWx0aW4vcHVzaC5jOjUzOAorIzogYnVpbHRpbi9jbG9uZS5jOjExMyBidWlsdGluL2ZldGNoLmM6MTQyIGJ1aWx0aW4vcHVzaC5jOjU0OQogbXNnaWQgInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+IElQdjYg0LDQtNGA0LXRgdCwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MjQxCisjOiBidWlsdGluL2Nsb25lLmM6MjUwCiBtc2dpZCAiIgogIk5vIGRpcmVjdG9yeSBuYW1lIGNvdWxkIGJlIGd1ZXNzZWQuXG4iCiAiUGxlYXNlIHNwZWNpZnkgYSBkaXJlY3Rvcnkgb24gdGhlIGNvbW1hbmQgbGluZSIKIG1zZ3N0ciAi0JjQvNGPINC60LDRgtCw0LvQvtCz0LAg0L3QtSDQvNC+0LbQtdGCINCx0YvRgtGMINGD0LPQsNC00LDQvdC+Llxu0KPQutCw0LbQuNGC0LUg0LjQvNGPINC60LDRgtCw0LvQvtCz0LAg0YEg0L/QvtC80L7RidGM0Y4g0L/QsNGA0LDQvNC10YLRgNCwINC60L7QvNCw0L3QtNC90L7QuSDRgdGC0YDQvtC60LgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMDcKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMDMKICMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCi1tc2dzdHIgItGB0YHRi9C70LDQtdC80YvQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IMKrJXPCuyDQutCw0Log0YHQstGP0LfQsNC90L3QvtC1INGB0L7RgdGC0L7Rj9C90LjQtSwg0L/QvtC60LAg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPLiIKK21zZ2lkICJpbmZvOiBDb3VsZCBub3QgYWRkIGFsdGVybmF0ZSBmb3IgJyVzJzogJXNcbiIKK21zZ3N0ciAi0LjQvdGE0L7RgNC80LDRhtC40Y86INCd0LUg0YPQtNCw0LvQvtGB0Ywg0LTQvtCx0LDQstC40YLRjCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0YMg0LTQu9GPIMKrJXPCuzogJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMwOQorIzogYnVpbHRpbi9jbG9uZS5jOjM3NQogIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgotbXNnc3RyICLRgdGB0YvQu9Cw0LXQvNGL0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDCqyVzwrsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC70L7QutCw0LvRjNC90YvQvC4iCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgotbXNnc3RyICLRgdGB0YvQu9Cw0LXQvNGL0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDCqyVzwrsg0Y/QstC70Y/QtdGC0YHRjyDRh9Cw0YHRgtC40YfQvdGL0LwiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgotbXNnc3RyICLRgdGB0YvQu9Cw0LXQvNGL0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDCqyVzwrsg0Y/QstC70Y/QtdGC0YHRjyDRgdGA0LDRidC10L3QvdGL0LwiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozODQKKyM6IGJ1aWx0aW4vY2xvbmUuYzozODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzINGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiDQuCDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LrQsNGC0LDQu9C+0LPQvtC8IgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzk4CisjOiBidWlsdGluL2Nsb25lLmM6Mzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXQgJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQyMAorIzogYnVpbHRpbi9jbG9uZS5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGxpbmsgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDRgdGB0YvQu9C60YMgwqslc8K7IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDI0CisjOiBidWlsdGluL2Nsb25lLmM6NDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQutC+0L/QuNGA0L7QstCw0YLRjCDRhNCw0LnQuyDQsiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NDkgYnVpbHRpbi9jbG9uZS5jOjYzMworIzogYnVpbHRpbi9jbG9uZS5jOjQ0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJkb25lLlxuIgogbXNnc3RyICLQs9C+0YLQvtCy0L4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgogImFuZCByZXRyeSB0aGUgY2hlY2tvdXQgd2l0aCAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCiBtc2dzdHIgItCa0LvQvtC90LjRgNC+0LLQsNC90LjQtSDQv9GA0L7RiNC70L4g0YPRgdC/0LXRiNC90L4sINC90L4g0LLQviDQstGA0LXQvNGPINC/0LXRgNC10LrQu9GO0YfQtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0L/RgNC+0LjQt9C+0YjQu9CwINC+0YjQuNCx0LrQsC5cbtChINC/0L7QvNC+0YnRjCDQutC+0LzQsNC90LTRiyDCq2dpdCBzdGF0dXPCuyDQstGLINC80L7QttC10YLQtSDQv9GA0L7RgdC80L7RgtGA0LXRgtGMLCDQutCw0LrQuNC1INGE0LDQudC70Ysg0LHRi9C70Lgg0L7QsdC90L7QstC70LXQvdGLLCDQsCDQv9C+0LLRgtC+0YDQuNGC0Ywg0L/QvtC/0YvRgtC60YMg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINC90LAg0LLQtdGC0LrRgyDRgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCBjaGVja291dCAtZiBIRUFEwrtcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjUzOAorIzogYnVpbHRpbi9jbG9uZS5jOjUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INCy0L3QtdGI0L3RjtGOINCy0LXRgtC60YMgJXMg0LTQu9GPINC60LvQvtC90LjRgNC+0LLQsNC90LjRjy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5Li4uICIKLW1zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRj+KApiAiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2MzIKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAi0LLQvdC10YjQvdC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDQv9GA0LjRgdC70LDQuyDQvdC1INCy0YHQtSDQvdC10L7QsdGF0L7QtNC40LzRi9C1INC+0LHRitC10LrRgtGLIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjQ5CisjOiBidWlsdGluL2Nsb25lLmM6NjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY5OAorIzogYnVpbHRpbi9jbG9uZS5jOjY5NwogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAi0LLQvdC10YjQvdC40LkgSEVBRCDRgdGB0YvQu9Cw0LXRgtGB0Y8g0L3QsCDQvdC10YHRg9GJ0LXRgdGC0LLRg9GO0YnRg9GOINGB0YHRi9C70LrRgywg0L3QtdC70YzQt9GPINC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0YLQsNC60YPRjiDQstC10YDRgdC40Y4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MjgKIG1zZ2lkICJ1bmFibGUgdG8gY2hlY2tvdXQgd29ya2luZyB0cmVlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0LLQtdGA0YHQuNGOINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NjgKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcGFyYW1ldGVycyB0byBjb25maWcgZmlsZSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC/0LDRgNCw0LzQtdGC0YDRiyDQsiDRhNCw0LnQuyDQutC+0L3RhNC40LPRg9GA0LDRhtC40LgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MzEKIG1zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCDQv9C10YDQtdC/0LDQutC+0LLQutGDINC00LvRjyDQvtGH0LjRgdGC0LrQuCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzMgorIzogYnVpbHRpbi9jbG9uZS5jOjgzMwogbXNnaWQgImNhbm5vdCB1bmxpbmsgdGVtcG9yYXJ5IGFsdGVybmF0ZXMgZmlsZSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0YHQvtC10LTQuNC90LjRgtGMINCy0YDQtdC80LXQvdC90YvQtSDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3Ri9C1INGE0LDQudC70YsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjQgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxNzMxCisjOiBidWlsdGluL2Nsb25lLmM6ODY2IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgItCh0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0LDRgNCz0YPQvNC10L3RgtC+0LIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODY4CisjOiBidWlsdGluL2Nsb25lLmM6ODcwCiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICLQktGLINC00L7Qu9C20L3RiyDRg9C60LDQt9Cw0YLRjCDRgNC10L/QvtC30LjRgtC+0YDQuNC5INC00LvRjyDQutC70L7QvdC40YDQvtCy0LDQvdC40Y8uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODc5CisjOiBidWlsdGluL2Nsb25lLmM6ODgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiLS1iYXJlINC4IC0tb3JpZ2luICVzINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4MgorIzogYnVpbHRpbi9jbG9uZS5jOjg4NgogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICItLWJhcmUg0LggLS1zZXBhcmF0ZS1naXQtZGlyINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5NQorIzogYnVpbHRpbi9jbG9uZS5jOjg5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgItGA0LXQv9C+0LfQuNGC0L7RgNC40Lkgwqslc8K7INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MDEgYnVpbHRpbi9mZXRjaC5jOjExNzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MDUgYnVpbHRpbi9mZXRjaC5jOjEzMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIgogbXNnc3RyICLQs9C70YPQsdC40L3QsCAlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0L/QvtC70L7QttC40YLQtdC70YzQvdGL0Lwg0YfQuNGB0LvQvtC8IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTExCisjOiBidWlsdGluL2Nsb25lLmM6OTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgItGG0LXQu9C10LLQvtC5INC/0YPRgtGMIMKrJXPCuyDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIg0Lgg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC/0YPRgdGC0YvQvCDQutCw0YLQsNC70L7Qs9C+0LwuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTIxCisjOiBidWlsdGluL2Nsb25lLmM6OTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAi0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMgwqslc8K7INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MzYgYnVpbHRpbi9jbG9uZS5jOjk0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTQ3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjIwIGJ1aWx0aW4vd29ya3RyZWUuYzoyNDcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NDAgYnVpbHRpbi9jbG9uZS5jOjk1MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjU3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjIyIGJ1aWx0aW4vd29ya3RyZWUuYzoyNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YDQvtC00LjRgtC10LvRjNGB0LrQuNC1INC60LDRgtCw0LvQvtCz0Lgg0LTQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzOQorIzogYnVpbHRpbi9jbG9uZS5jOjk0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCiBtc2dzdHIgItCa0LvQvtC90LjRgNC+0LLQsNC90LjQtSDQsiDQs9C+0LvRi9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkgwqslc8K74oCmXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAi0JrQu9C+0L3QuNGA0L7QstCw0L3QuNC1INCyIMKrJXPCu+KAplxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTk4CisjOiBidWlsdGluL2Nsb25lLmM6OTYzCittc2dpZCAiIgorImNsb25lIC0tcmVjdXJzaXZlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYm90aCAtLXJlZmVyZW5jZSBhbmQgLS1yZWZlcmVuY2UtIgorImlmLWFibGUiCittc2dzdHIgItC60LvQvtC90LjRgNC+0LLQsNC90LjQtSDRgSDQv9Cw0YDQsNC80LXRgtGA0L7QvCAtLXJlY3Vyc2l2ZSDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDQvdC4INGBIC0tcmVmZXJlbmNlLCDQvdC4INGBIC0tcmVmZXJlbmNlLWlmLWFibGUiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDE5CiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tZGVwdGgg0LjQs9C90L7RgNC40YDRg9C10YLRgdGPINC90LAg0LvQvtC60LDQu9GM0L3Ri9GFINC60LvQvtC90LDRhTsg0LLQvNC10YHRgtC+INGN0YLQvtCz0L4g0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSBmaWxlOi8vLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIxCittc2dpZCAiLS1zaGFsbG93LXNpbmNlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKK21zZ3N0ciAiLS1zaGFsbG93LXNpbmNlINC40LPQvdC+0YDQuNGA0YPQtdGC0YHRjyDQvdCwINC70L7QutCw0LvRjNC90YvRhSDQutC70L7QvdCw0YU7INC40YHQv9C+0LvRjNC30YPQudGC0LUgZmlsZTovLyDQstC80LXRgdGC0L4g0Y3RgtC+0LPQvi4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIzCittc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICItLXNoYWxsb3ctZXhjbHVkZSDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8g0L3QsCDQu9C+0LrQsNC70YzQvdGL0YUg0LrQu9C+0L3QsNGFOyDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IGZpbGU6Ly8g0LLQvNC10YHRgtC+INGN0YLQvtCz0L4uIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAyNgogbXNnaWQgInNvdXJjZSByZXBvc2l0b3J5IGlzIHNoYWxsb3csIGlnbm9yaW5nIC0tbG9jYWwiCiBtc2dzdHIgItC40YHRhdC+0LTQvdGL0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDRj9Cy0LvRj9C10YLRgdGPINGH0LDRgdGC0LjRh9C90YvQvCwgLS1sb2NhbCDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDA2CisjOiBidWlsdGluL2Nsb25lLmM6MTAzMQogbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKIG1zZ3N0ciAiLS1sb2NhbCDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEwCisjOiBidWlsdGluL2Nsb25lLmM6MTAzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBjbG9uZSAlcyIKIG1zZ3N0ciAi0J3QtSDQt9C90LDRjiDQutCw0Log0LrQu9C+0L3QuNGA0L7QstCw0YLRjCAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNTkgYnVpbHRpbi9jbG9uZS5jOjEwNjcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkwIGJ1aWx0aW4vY2xvbmUuYzoxMDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICLQktC90LXRiNC90Y/RjyDQstC10YLQutCwICVzINC90LUg0L3QsNC50LTQtdC90LAg0LIg0LLRi9GI0LXRgdGC0L7Rj9GJ0LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4ICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA3MAorIzogYnVpbHRpbi9jbG9uZS5jOjExMDEKIG1zZ2lkICJZb3UgYXBwZWFyIHRvIGhhdmUgY2xvbmVkIGFuIGVtcHR5IHJlcG9zaXRvcnkuIgogbXNnc3RyICLQn9C+0YXQvtC20LUsINGH0YLQviDQstGLINC60LvQvtC90LjRgNC+0LLQsNC70Lgg0L/Rg9GB0YLQvtC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkuIgogCkBAIC01MDkxLDcgKzU5NDMsNyBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHlcbiIKICJcbiIKLW1zZ3N0ciAi0J/RgNC10LTRi9C00YPRidC40Lkg0L7RgtCx0L7RgCDQu9GD0YfRiNC10LPQviDRgtC10L/QtdGA0Ywg0L/Rg9GB0YIsINCy0L7Qt9C80L7QttC90L4g0L/QvtGB0LvQtSDRgNCw0LfRgNC10YjQtdC90LjRjyDQutC+0L3RhNC70LjQutGC0L7Qsi5cbtCV0YHQu9C4INCy0Ysg0LLRgdC1INGA0LDQstC90L4g0YXQvtGC0LjRgtC1INGB0LTQtdC70LDRgtGMINC/0YPRgdGC0L7QuSDQutC+0LzQvNC40YIsINC40YHQv9C+0LvRjNC30YPQudGC0LU6XG5cbiAgICBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHlcblxuIgorbXNnc3RyICLQmtC+0L/QuNGA0YPQtdC80YvQuSDQutC+0LzQvNC40YIg0YLQtdC/0LXRgNGMINC/0YPRgdGCLCDQstC+0LfQvNC+0LbQvdC+INC/0L7RgdC70LUg0YDQsNC30YDQtdGI0LXQvdC40Y8g0LrQvtC90YTQu9C40LrRgtC+0LIuXG7QldGB0LvQuCDQstGLINCy0YHQtSDRgNCw0LLQvdC+INGF0L7RgtC40YLQtSDRgdC00LXQu9Cw0YLRjCDQv9GD0YHRgtC+0Lkg0LrQvtC80LzQuNGCLCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1OlxuXG4gICAgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5XG5cbiIKIAogIzogYnVpbHRpbi9jb21taXQuYzo4NQogbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgpAQCAtNTEwNSw0NSArNTk1Nyw0NSBAQAogIlxuIgogIlRoZW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHdpbGwgcmVzdW1lIGNoZXJyeS1waWNraW5nXG4iCiAidGhlIHJlbWFpbmluZyBjb21taXRzLlxuIgotbXNnc3RyICLQldGB0LvQuCDQstGLINGF0L7RgtC40YLQtSDQv9GA0L7Qv9GD0YHRgtC40YIg0Y3RgtC+0YIg0LrQvtC80LzQuNGCLCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1INC60L7QvNCw0L3QtNGDOlxuXG4gICAgZ2l0IHJlc2V0XG5cbtCf0L7RgdC70LUg0Y3RgtC+0LPQviDCq2dpdCBjaGVycnktcGljayAtLWNvbnRpbnVlwrsg0L/RgNC+0LTQvtC70LbQuNGCINC+0YLQsdC+0YAg0LvRg9GH0YjQtdCz0L5cbtCyINC+0YHRgtCw0LLRiNC40YXRgdGPINC60L7QvNC80LjRgtCw0YUuXG4iCittc2dzdHIgItCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1INC/0YDQvtC/0YPRgdGC0LjRgiDRjdGC0L7RgiDQutC+0LzQvNC40YIsINC40YHQv9C+0LvRjNC30YPQudGC0LUg0LrQvtC80LDQvdC00YM6XG5cbiAgICBnaXQgcmVzZXRcblxu0J/QvtGB0LvQtSDRjdGC0L7Qs9C+IMKrZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWXCuyDQv9GA0L7QtNC+0LvQttC40YIg0LrQvtC/0LjRgNC+0LLQsNC90LjQtSDQvtGB0YLQsNCy0YjQuNGF0YHRjyDQutC+0LzQvNC40YLQvtCyLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMwNworIzogYnVpbHRpbi9jb21taXQuYzozMTgKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgItGB0LHQvtC5INGA0LDRgdC/0LDQutC+0LLQutC4INC+0LHRitC10LrRgtCwINC00LXRgNC10LLQsCBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM0OAorIzogYnVpbHRpbi9jb21taXQuYzozNTkKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQstGA0LXQvNC10L3QvdGL0Lkg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1NAorIzogYnVpbHRpbi9jb21taXQuYzozNjUKIG1zZ2lkICJpbnRlcmFjdGl2ZSBhZGQgZmFpbGVkIgogbXNnc3RyICLRgdCx0L7QuSDQuNC90YLQtdGA0LDQutGC0LjQstC90L7Qs9C+INC00L7QsdCw0LLQu9C10L3QuNGPIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM2NworIzogYnVpbHRpbi9jb21taXQuYzozNzgKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINCy0YDQtdC80LXQvdC90YvQuSDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY5CisjOiBidWlsdGluL2NvbW1pdC5jOjM4MAogbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgbWFpbiBjYWNoZSB0cmVlIgogbXNnc3RyICLQodCx0L7QuSDQv9GA0Lgg0L7QsdC90L7QstC70LXQvdC40Lgg0L7RgdC90L7QstC90L7Qs9C+INC60Y3RiNCwINC00LXRgNC10LLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozOTMgYnVpbHRpbi9jb21taXQuYzo0MTYgYnVpbHRpbi9jb21taXQuYzo0NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDA0IGJ1aWx0aW4vY29tbWl0LmM6NDI3IGJ1aWx0aW4vY29tbWl0LmM6NDc2CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0YTQsNC50LsgbmV3X2luZGV4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ0NworIzogYnVpbHRpbi9jb21taXQuYzo0NTgKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBtZXJnZS4iCiBtc2dzdHIgItC90LXQu9GM0LfRjyDRgdC+0LfQtNCw0YLRjCDRh9Cw0YHRgtC40YfQvdGL0Lkg0LrQvtC80LzQuNGCINCy0L4g0LLRgNC10LzRjyDRgdC70LjRj9C90LjRjy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjQ2MAogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKLW1zZ3N0ciAi0L3QtdC70YzQt9GPINGB0L7Qt9C00LDRgtGMINGH0LDRgdGC0LjRh9C90YvQuSDQutC+0LzQvNC40YIg0LLQviDQstGA0LXQvNGPINC+0YLQsdC+0YDQsCDQu9GD0YfRiNC10LPQviDQutC+0LzQvNC40YLQsC4iCittc2dzdHIgItC90LXQu9GM0LfRjyDRgdC+0LfQtNCw0YLRjCDRh9Cw0YHRgtC40YfQvdGL0Lkg0LrQvtC80LzQuNGCINCy0L4g0LLRgNC10LzRjyDQutC+0L/QuNGA0L7QstCw0L3QuNGPINC60L7QvNC80LjRgtCwLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDY5CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDc3CisjOiBidWlsdGluL2NvbW1pdC5jOjQ4OAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINCy0YDQtdC80LXQvdC90YvQuSDRhNCw0LnQuyDQuNC90LTQtdC60YHQsCIKIApAQCAtNTE3MiwxMiArNjAyNCwxMiBAQAogImluIHRoZSBjdXJyZW50IGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0LLRi9Cx0YDQsNGC0Ywg0YHQuNC80LLQvtC7INC60L7QvNC80LXQvdGC0LDRgNC40Y8sINC60L7RgtC+0YDRi9C5XG7QvdC1INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQsiDRgtC10LrRg9GJ0LXQvCDRgdC+0L7QsdGJ0LXQvdC40Lgg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjkyIGJ1aWx0aW4vY29tbWl0LmM6NzI1IGJ1aWx0aW4vY29tbWl0LmM6MTA5MQorIzogYnVpbHRpbi9jb21taXQuYzo2OTIgYnVpbHRpbi9jb21taXQuYzo3MjUgYnVpbHRpbi9jb21taXQuYzoxMDk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9GA0L7RgdC40YLRjCDQutC+0LzQvNC40YIgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA0IGJ1aWx0aW4vc2hvcnRsb2cuYzoyODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzA0IGJ1aWx0aW4vc2hvcnRsb2cuYzoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiKNGH0YLQtdC90LjQtSDRhNCw0LnQu9CwINC20YPRgNC90LDQu9CwINC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LApXG4iCkBAIC01MjIxLDcgKzYwNzMsNyBAQAogIklmIHRoaXMgaXMgbm90IGNvcnJlY3QsIHBsZWFzZSByZW1vdmUgdGhlIGZpbGVcbiIKICJcdCVzXG4iCiAiYW5kIHRyeSBhZ2Fpbi5cbiIKLW1zZ3N0ciAiXG7Qn9C+0YXQvtC20LUsINGH0YLQviDQstGLINC/0YvRgtCw0LXRgtC10YHRjCDQt9Cw0LrQvtC80LzQuNGC0LjRgtGMINC+0YLQsdC+0YAg0LvRg9GH0YjQtdCz0L4uXG7QldGB0LvQuCDRjdGC0L4g0L7RiNC40LHQutCwLCDQv9C+0LbQsNC70YPQudGB0YLQsCDRg9C00LDQu9C40YLQtSDRhNCw0LnQu1xuXHQlc1xu0Lgg0L/QvtC/0YDQvtCx0YPQudGC0LUg0YHQvdC+0LLQsC5cbiIKK21zZ3N0ciAiXG7Qn9C+0YXQvtC20LUsINGH0YLQviDQstGLINC/0YvRgtCw0LXRgtC10YHRjCDQt9Cw0LrQvtC80LzQuNGC0LjRgtGMINC/0YDQuCDQutC+0L/QuNGA0L7QstCw0L3QuNC4INC60L7QvNC80LjRgtCwLlxu0JXRgdC70Lgg0Y3RgtC+INC90LUg0YLQsNC6LCDRgtC+INGD0LTQsNC70LjRgtC1INGE0LDQudC7XG5cdCVzXG7QuCDQv9C+0L/RgNC+0LHRg9C50YLQtSDRgdC90L7QstCwLlxuIgogCiAjOiBidWlsdGluL2NvbW1pdC5jOjgzMgogIywgYy1mb3JtYXQKQEAgLTUyNTcsMzIyICs2MTA5LDMyNiBAQAogbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjk1NAogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICLQntGI0LjQsdC60LAg0L/RgNC4INC/0L7RgdGC0YDQvtC10L3QuNC4INC00LXRgNC10LLRjNC10LIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTY0IGJ1aWx0aW4vdGFnLmM6MjY2CisjOiBidWlsdGluL2NvbW1pdC5jOjk2OSBidWlsdGluL3RhZy5jOjI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgItCf0L7QttCw0LvRg9C50YHRgtCwLCDRg9C60LDQttC40YLQtSDRgdC+0L7QsdGJ0LXQvdC40LUsINC/0YDQuCDRg9C60LDQt9Cw0L3QuNC4INC+0L/RhtC40LkgLW0g0LjQu9C4IC1GLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3MQogIywgYy1mb3JtYXQKIG1zZ2lkICItLWF1dGhvciAnJXMnIGlzIG5vdCAnTmFtZSA8ZW1haWw+JyBhbmQgbWF0Y2hlcyBubyBleGlzdGluZyBhdXRob3IiCiBtc2dzdHIgIi0tYXV0aG9yIMKrJXPCuyDQvdC1INCyINGE0L7RgNC80LDRgtC1IMKr0JjQvNGPIDzQv9C+0YfRgtCwPsK7INC4INC90LUg0YHQvtCy0L/QsNC00LDQtdGCINGBINGB0YPRidC10YHRgtCy0YPRjtGJ0LjQvCDQsNCy0YLQvtGA0L7QvCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDgxIGJ1aWx0aW4vY29tbWl0LmM6MTMyMQorIzogYnVpbHRpbi9jb21taXQuYzoxMDg2IGJ1aWx0aW4vY29tbWl0LmM6MTMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHVudHJhY2tlZCBmaWxlcyBtb2RlICclcyciCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90YvQuSDRgNC10LbQuNC8INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIgwqslc8K7IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAogbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1sb25nINC4IC16INC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NAogbXNnaWQgIlVzaW5nIGJvdGggLS1yZXNldC1hdXRob3IgYW5kIC0tYXV0aG9yIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgItCj0LrQsNC30LDQvdC40LUg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INC+0L/RhtC40LkgLS1yZXNldC1hdXRob3Ig0LggLS1hdXRob3Ig0L3QtSDQuNC80LXQtdGCINGB0LzRi9GB0LvQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTU3CisjOiBidWlsdGluL2NvbW1pdC5jOjExNjMKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKIG1zZ3N0ciAi0J3QtdGH0LXQs9C+INC40YHQv9GA0LDQstC70Y/RgtGMLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTYwCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjYKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICLQktGLINCyINC/0YDQvtGG0LXRgdGB0LUg0YHQu9C40Y/QvdC40Y8g4oCUICDRgdC10LnRh9Cw0YEg0L3QtdC70YzQt9GPINC40YHQv9GA0LDQstC70Y/RgtGMLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTYyCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjgKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgotbXNnc3RyICLQktGLINCyINC/0YDQvtGG0LXRgdGB0LUg0L7RgtCx0L7RgNCwINC70YPRh9GI0LXQs9C+IOKAlCAg0YHQtdC50YfQsNGBINC90LXQu9GM0LfRjyDQuNGB0L/RgNCw0LLQu9GP0YLRjC4iCittc2dzdHIgItCS0Ysg0LIg0L/RgNC+0YbQtdGB0YHQtSDQutC+0L/QuNGA0L7QstCw0L3QuNGPINC60L7QvNC80LjRgtCwIOKAlCAg0YHQtdC50YfQsNGBINC90LXQu9GM0LfRjyDQuNGB0L/RgNCw0LLQu9GP0YLRjC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTcxCiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCAtLXNxdWFzaCDQuCAtLWZpeHVwINC90LUg0LzQvtCz0YPRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTc1CisjOiBidWlsdGluL2NvbW1pdC5jOjExODEKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAi0JzQvtC20LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINGC0L7Qu9GM0LrQviDQvtC00L3QsCDQuNC3INC+0L/RhtC40LkgLWMvLUMvLUYvLS1maXh1cC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3NworIzogYnVpbHRpbi9jb21taXQuYzoxMTgzCiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgogbXNnc3RyICLQntC/0YbQuNGPIC1tINC90LUg0LzQvtC20LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINGBIC1jLy1DLy1GLy0tZml4dXAuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE5MQogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIi0tcmVzZXQtYXV0aG9yINC80L7QttC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGM0YHRjyDRgtC+0LvRjNC60L4g0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INGBINC+0L/RhtC40Y/QvNC4IC1DLCAtYyDQuNC70LggLS1hbWVuZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwMgorIzogYnVpbHRpbi9jb21taXQuYzoxMjA4CiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICLQnNC+0LbQtdGCINC40YHQv9C+0LvRjNC30L7QstCw0YLRjNGB0Y8g0YLQvtC70YzQutC+INC+0LTQvdCwINC40Lcg0L7Qv9GG0LjQuSAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwNAorIzogYnVpbHRpbi9jb21taXQuYzoxMjEwCiBtc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICLQo9C60LDQt9Cw0L3QuNC1INC/0YPRgtC10Lkg0LrQsNGC0LDQu9C+0LPQvtCyINGBINC+0L/RhtC40Y/QvNC4IC0taW5jbHVkZS8tLW9ubHkg0L3QtSDQuNC80LXQtdGCINGB0LzRi9GB0LvQsC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwNgorIzogYnVpbHRpbi9jb21taXQuYzoxMjEyCiBtc2dpZCAiQ2xldmVyLi4uIGFtZW5kaW5nIHRoZSBsYXN0IG9uZSB3aXRoIGRpcnR5IGluZGV4LiIKIG1zZ3N0ciAi0KPQvNC90L7igKYg0L7RgtC80LXQvdCwINC/0L7RgdC70LXQtNC90LXQs9C+INGBINC40LfQvNC10L3QtdC90L3Ri9C8INC40L3QtNC10LrRgdC+0LwuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxNAogbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG9yIC1vOyBhc3N1bWluZyAtLW9ubHkgcGF0aHMuLi4iCiBtc2dzdHIgItCf0YPRgtC4INGP0LLQvdC+INGD0LrQsNC30LDQvdGLINC/0YPRgtC4INCx0LXQtyDQvtC/0YbQuNC5IC1pINC40LvQuCAtbzsg0L/RgNC10LTQv9C+0LvQsNCz0LDRjiDQvtC/0YbQuNGOIC0tb25seeKApiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjIwIGJ1aWx0aW4vdGFnLmM6NDc0CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMjYgYnVpbHRpbi90YWcuYzo0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1INGA0LXQttC40LzQsCDQvtGH0LjRgdGC0LrQuCAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjI1CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMzEKIG1zZ2lkICJQYXRocyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICLQoSDQvtC/0YbQuNC10LkgLWEg0YPQutCw0LfQsNC90LjQtSDQv9GD0YLQuCDQvdC1INC40LzQtdC10YIg0YHQvNGL0YHQu9CwLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM1IGJ1aWx0aW4vY29tbWl0LmM6MTYyMQorIzogYnVpbHRpbi9jb21taXQuYzoxMzQxIGJ1aWx0aW4vY29tbWl0LmM6MTYxNwogbXNnaWQgInNob3cgc3RhdHVzIGNvbmNpc2VseSIKIG1zZ3N0ciAi0LrRgNCw0YLQutC+INC/0L7QutCw0LfQsNGC0Ywg0YHRgtCw0YLRg9GBIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzcgYnVpbHRpbi9jb21taXQuYzoxNjIzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDMgYnVpbHRpbi9jb21taXQuYzoxNjE5CiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0LLQtdGA0YHQuNC4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzkgYnVpbHRpbi9jb21taXQuYzoxNjI1IGJ1aWx0aW4vcHVzaC5jOjUxMgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQzNworIzogYnVpbHRpbi9jb21taXQuYzoxMzQ1Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAi0LLQtdGA0YHQuNGPIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDUgYnVpbHRpbi9jb21taXQuYzoxNjIxIGJ1aWx0aW4vcHVzaC5jOjUyMgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MAogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICLQvNCw0YjQuNC90L7Rh9C40YLQsNC10LzRi9C5INCy0YvQstC+0LQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MiBidWlsdGluL2NvbW1pdC5jOjE2MjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OCBidWlsdGluL2NvbW1pdC5jOjE2MjMKIG1zZ2lkICJzaG93IHN0YXR1cyBpbiBsb25nIGZvcm1hdCAoZGVmYXVsdCkiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0YHRgtCw0YLRg9GBINCyINC00LvQuNC90L3QvtC8INGE0L7RgNC80LDRgtC1ICjQv9C+INGD0LzQvtC70YfQsNC90LjRjikiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NSBidWlsdGluL2NvbW1pdC5jOjE2MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MSBidWlsdGluL2NvbW1pdC5jOjE2MjYKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAi0LfQsNCy0LXRgNGI0LDRgtGMINC30LDQv9C40YHQuCDQndCj0JvQldCS0KvQnCDQsdCw0LnRgtC+0LwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NyBidWlsdGluL2NvbW1pdC5jOjE2MzMgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MQorIzogYnVpbHRpbi9jb21taXQuYzoxMzUzIGJ1aWx0aW4vY29tbWl0LmM6MTYyOSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgxCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg0IGJ1aWx0aW4vdGFnLmM6MzUzCiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAi0YDQtdC20LjQvCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQ4IGJ1aWx0aW4vY29tbWl0LmM6MTYzMworIzogYnVpbHRpbi9jb21taXQuYzoxMzU0IGJ1aWx0aW4vY29tbWl0LmM6MTYyOQogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiywg0L7Qv9GG0LjQvtC90LDQu9GM0L3Ri9C1INGA0LXQttC40LzRizogYWxsICjQstGB0LUpLCBub3JtYWwgKNC60LDQuiDQvtCx0YvRh9C90L4pLCBubyAo0L3QtdGCKS4gKNCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NwogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQuNCz0L3QvtGA0LjRgNGD0LXQvNGL0LUg0YTQsNC50LvRiyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUyIHBhcnNlLW9wdGlvbnMuaDoxNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OCBwYXJzZS1vcHRpb25zLmg6MTU1CiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAi0LrQvtCz0LTQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTkKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0LIg0L/QvtC00LzQvtC00YPQu9GP0YUsINC+0L/RhtC40L7QvdCw0LvRjNC90L4g0LrQvtCz0LTQsDogYWxsICjQstGB0LXQs9C00LApLCBkaXJ0eSAo0LjQt9C80LXQvdC10L3QvdGL0LUpLCB1bnRyYWNrZWQgKNC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSkuICjQn9C+INGD0LzQvtC70YfQsNC90LjRjjogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjEKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINC/0L4g0YHRgtC+0LvQsdGG0LDQvCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0MzcKIG1zZ2lkICJjb3VsZG4ndCBsb29rIHVwIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICLQvdC10LvRjNC30Y8g0LfQsNC/0YDQvtGB0LjRgtGMINC90L7QstC+0YHQvtC30LTQsNC90L3Ri9C5INC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQzCisjOiBidWlsdGluL2NvbW1pdC5jOjE0MzkKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgItC90LXQu9GM0LfRjyDRgNCw0LfQvtCx0YDQsNGC0Ywg0L3QvtCy0L7RgdC+0LfQtNCw0L3QvdGL0Lkg0LrQvtC80LzQuNGCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NAogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgItC+0YLQtNC10LvRkdC90L3Ri9C5IEhFQUQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDg3CiBtc2dpZCAiIChyb290LWNvbW1pdCkiCiBtc2dzdHIgIiAo0LrQvtGA0L3QtdCy0L7QuSDQutC+0LzQvNC40YIpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NwogbXNnaWQgInN1cHByZXNzIHN1bW1hcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21taXQiCiBtc2dzdHIgItC90LUg0LLRi9Cy0L7QtNC40YLRjCDRgdCy0L7QtNC60YMg0L/QvtGB0LvQtSDRg9GB0L/QtdGI0L3QvtCz0L4g0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CiBtc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINGB0L/QuNGB0L7QuiDQuNC30LzQtdC90LXQvdC40Lkg0LIg0YjQsNCx0LvQvtC9INGB0L7QvtCx0YnQtdC90LjRjyDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk0CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTAKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICLQntC/0YbQuNC4INGB0L7QvtCx0YnQtdC90LjRjyDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vdGFnLmM6MzUxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTEgYnVpbHRpbi90YWcuYzozNTEKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0YHQvtC+0LHRidC10L3QuNC1INC40Lcg0YTQsNC50LvQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgItCw0LLRgtC+0YAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgorIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgItC/0L7QtNC80LXQvdC40YLRjCDQsNCy0YLQvtGA0LAg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NyBidWlsdGluL2djLmM6MzI2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTMgYnVpbHRpbi9nYy5jOjMyNgogbXNnaWQgImRhdGUiCiBtc2dzdHIgItC00LDRgtCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MwogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKIG1zZ3N0ciAi0L/QvtC00LzQtdC90LjRgtGMINC00LDRgtGDINC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTggYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL25vdGVzLmM6Mzk1Ci0jOiBidWlsdGluL25vdGVzLmM6NTU4IGJ1aWx0aW4vdGFnLmM6MzQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTQgYnVpbHRpbi9tZXJnZS5jOjIyMCBidWlsdGluL25vdGVzLmM6Mzk4CisjOiBidWlsdGluL25vdGVzLmM6NTYxIGJ1aWx0aW4vdGFnLmM6MzQ5CiBtc2dpZCAibWVzc2FnZSIKIG1zZ3N0ciAi0YHQvtC+0LHRidC10L3QuNC1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NAogbXNnaWQgImNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OSBidWlsdGluL2NvbW1pdC5jOjE2MDAgYnVpbHRpbi9jb21taXQuYzoxNjAxCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDIgcGFyc2Utb3B0aW9ucy5oOjI1NiByZWYtZmlsdGVyLmg6NzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NSBidWlsdGluL2NvbW1pdC5jOjE1OTYgYnVpbHRpbi9jb21taXQuYzoxNTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTggcGFyc2Utb3B0aW9ucy5oOjI1NyByZWYtZmlsdGVyLmg6NzkKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgItC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTUKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC4INC+0YLRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0L7RgiDRg9C60LDQt9Cw0L3QvdC+0LPQviDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAwCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTYKIG1zZ2lkICJyZXVzZSBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGB0L7QvtCx0YnQtdC90LjQtSDRg9C60LDQt9Cw0L3QvdC+0LPQviDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90L3QvtC1INGB0L7QvtCx0YnQtdC90LjQtSDQsNCy0YLQvtGD0L/Qu9C+0YLQvdC10L3QuNGPINC00LvRjyDQuNGB0L/RgNCw0LLQu9C10L3QuNGPINGD0LrQsNC30LDQvdC90L7Qs9C+INC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OAogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHNxdWFzaCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90L3QvtC1INGB0L7QvtCx0YnQtdC90LjQtSDQsNCy0YLQvtGD0L/Qu9C+0YLQvdC10L3QuNGPINC00LvRjyDRg9C/0LvQvtGC0L3QtdC90LjRjyDRg9C60LDQt9Cw0L3QvdC+0LPQviDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTkKIG1zZ2lkICJ0aGUgY29tbWl0IGlzIGF1dGhvcmVkIGJ5IG1lIG5vdyAodXNlZCB3aXRoIC1DLy1jLy0tYW1lbmQpIgogbXNnc3RyICLQutC+0LzQvNC40YIg0YLQtdC/0LXRgNGMINC30LAg0LzQvtC40Lwg0LDQstGC0L7RgNGB0YLQstC+0LwgKNGBINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC10LwgLUMvLWMvLS1hbWVuZCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNCBidWlsdGluL2xvZy5jOjEzODIgYnVpbHRpbi9yZXZlcnQuYzo4NgorIzogYnVpbHRpbi9jb21taXQuYzoxNjAwIGJ1aWx0aW4vbG9nLmM6MTQxMyBidWlsdGluL3JldmVydC5jOjg2CiBtc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMIFNpZ25lZC1vZmYtYnk6IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMQogbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGD0LrQsNC30LDQvdC90YvQuSDRhNCw0LnQuyDRiNCw0LHQu9C+0L3QsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDIKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L4g0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0LrQvtC80LzQuNGCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMwogbXNnaWQgImRlZmF1bHQiCiBtc2dzdHIgItC/0L4t0YPQvNC+0LvRh9Cw0L3QuNGOIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDcgYnVpbHRpbi90YWcuYzozNTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMyBidWlsdGluL3RhZy5jOjM1NAogbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCiBtc2dzdHIgItC60LDQuiDRg9C00LDQu9GP0YLRjCDQv9GA0L7QsdC10LvRiyDQuCAj0LrQvtC80LzQtdC90YLQsNGA0LjQuCDQuNC3INGB0L7QvtCx0YnQtdC90LjRjyDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDQKIG1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAi0LLQutC70Y7Rh9C40YLRjCDRgdGC0LDRgtGD0YEg0YTQsNC50LvQvtCyINCyINGI0LDQsdC70L7QvSDRgdC+0L7QsdGJ0LXQvdC40Y8g0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMCBidWlsdGluL21lcmdlLmM6MjI5IGJ1aWx0aW4vcHVsbC5jOjE2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNjA2IGJ1aWx0aW4vbWVyZ2UuYzoyMzAgYnVpbHRpbi9wdWxsLmM6MTY2CiAjOiBidWlsdGluL3JldmVydC5jOjkzCiBtc2dpZCAiR1BHIHNpZ24gY29tbWl0IgogbXNnc3RyICLQv9C+0LTQv9C40YHQsNGC0Ywg0LrQvtC80LzQuNGCINGBINC/0L7QvNC+0YnRjNGOIEdQRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjEzCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDkKIG1zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMAogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAi0LfQsNC60L7QvNC80LjRgtC40YLRjCDQstGB0LUg0LjQt9C80LXQvdC10L3QvdGL0LUg0YTQsNC50LvRiyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTEKIG1zZ2lkICJhZGQgc3BlY2lmaWVkIGZpbGVzIHRvIGluZGV4IGZvciBjb21taXQiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0YPQutCw0LfQsNC90L3Ri9C1INGE0LDQudC70Ysg0LIg0LjQvdC00LXQutGBINC00LvRjyDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTIKIG1zZ2lkICJpbnRlcmFjdGl2ZWx5IGFkZCBmaWxlcyIKIG1zZ3N0ciAi0LjQvdGC0LXRgNCw0LrRgtC40LLQvdC+0LUg0LTQvtCx0LDQstC70LXQvdC40LUg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMwogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGNoYW5nZXMiCiBtc2dzdHIgItC40L3RgtC10YDQsNC60YLQuNCy0L3QvtC1INC00L7QsdCw0LLQu9C10L3QuNC1INC40LfQvNC10L3QtdC90LjQuSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKIG1zZ2lkICJjb21taXQgb25seSBzcGVjaWZpZWQgZmlsZXMiCiBtc2dzdHIgItC30LDQutC+0LzQvNC40YLQuNGC0Ywg0YLQvtC70YzQutC+INGD0LrQsNC30LDQvdC90YvQtSDRhNCw0LnQu9GLIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTkKLW1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBob29rIgotbXNnc3RyICLQv9GA0L7Qv9GD0YHRgtC40YLRjCDQv9C10YDQtdGF0LLQsNGC0YfQuNC6INC/0LXRgNC10LQt0LrQvtC80LzQuNGC0L7QvCIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNQorbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgorbXNnc3RyICLQv9GA0L7Qv9GD0YHRgtC40YLRjCDQv9C10YDQtdGF0LLQsNGC0YfQuNC6IHByZS1jb21taXQg0LggY29tbWl0LW1zZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjIwCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTYKIG1zZ2lkICJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMLCDRh9GC0L4g0LHRg9C00LXRgiDQt9Cw0LrQvtC80LzQuNGH0LXQvdC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyNwogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAi0LjRgdC/0YDQsNCy0LjRgtGMINC/0YDQtdC00YvQtNGD0YnQuNC5INC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjMyCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjgKIG1zZ2lkICJieXBhc3MgcG9zdC1yZXdyaXRlIGhvb2siCi1tc2dzdHIgItC/0YDQvtC/0YPRgdGC0LjRgtGMINC/0LXRgNC10YXQstCw0YLRh9C40Log0L/QvtGB0LvQtS3Qv9C10YDQtdC30LDQv9C40YHQuCIKK21zZ3N0ciAi0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0L/QtdGA0LXRhdCy0LDRgtGH0LjQuiBwb3N0LXJld3JpdGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNworIzogYnVpbHRpbi9jb21taXQuYzoxNjMzCiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC30LDQv9C40YHRjCDQv9GD0YHRgtC+0LPQviDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjM5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MzUKIG1zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0LfQsNC/0LjRgdGMINC40LfQvNC10L3QtdC90LjQuSDRgSDQv9GD0YHRgtGL0Lwg0YHQvtC+0LHRidC10L3QuNC10LwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjY0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCBIRUFEINC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzE4CisjOiBidWlsdGluL2NvbW1pdC5jOjE3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAi0KTQsNC50LsgTUVSR0VfSEVBRCDQv9C+0LLRgNC10LbQtNC10L0gKCVzKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzI1CisjOiBidWlsdGluL2NvbW1pdC5jOjE3MTkKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NT0RFIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCBNRVJHRV9NT0RFIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTczOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZTogJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywg0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzU1CisjOiBidWlsdGluL2NvbW1pdC5jOjE3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0OyB5b3UgZGlkIG5vdCBlZGl0IHRoZSBtZXNzYWdlLlxuIgogbXNnc3RyICLQntGC0LzQtdC90LAg0LrQvtC80LzQuNGC0LA7INCy0Ysg0L3QtSDQuNC30LzQtdC90LjQu9C4INGB0L7QvtCx0YnQtdC90LjQtS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzYwCisjOiBidWlsdGluL2NvbW1pdC5jOjE3NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0IGR1ZSB0byBlbXB0eSBjb21taXQgbWVzc2FnZS5cbiIKIG1zZ3N0ciAi0J7RgtC80LXQvdCwINC60L7QvNC80LjRgtCwINC40Lct0LfQsCDQv9GD0YHRgtC+0LPQviDRgdC+0L7QsdGJ0LXQvdC40Y8g0LrQvtC80LzQuNGC0LAuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTgwOAorIzogYnVpbHRpbi9jb21taXQuYzoxODAyCiBtc2dpZCAiIgogIlJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgYW5kIHF1b3RhIGlzXG4iCkBAIC01NTgzLDEzOSArNjQzOSwxMzkgQEAKIG1zZ2lkICJnaXQgY29uZmlnIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgY29uZmlnIFs80L7Qv9GG0LjQuD5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU2CisjOiBidWlsdGluL2NvbmZpZy5jOjU1CiBtc2dpZCAiQ29uZmlnIGZpbGUgbG9jYXRpb24iCiBtc2dzdHIgItCg0LDQt9C80LXRidC10L3QuNC1INGE0LDQudC70LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjU2CiBtc2dpZCAidXNlIGdsb2JhbCBjb25maWcgZmlsZSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCz0LvQvtCx0LDQu9GM0L3Ri9C5INGE0LDQudC7INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OAorIzogYnVpbHRpbi9jb25maWcuYzo1NwogbXNnaWQgInVzZSBzeXN0ZW0gY29uZmlnIGZpbGUiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgdC40YHRgtC10LzQvdGL0Lkg0YTQsNC50Lsg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU5CisjOiBidWlsdGluL2NvbmZpZy5jOjU4CiBtc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRhNCw0LnQuyDQutC+0L3RhNC40LPRg9GA0LDRhtC40Lgg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGD0LrQsNC30LDQvdC90YvQuSDRhNCw0LnQuyDQutC+0L3RhNC40LPRg9GA0LDRhtC40LgiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKIG1zZ2lkICJibG9iLWlkIgogbXNnc3RyICLQuNC00LXQvdGCLdC00LLQvtC40YfQvS3QvtCx0YrQtdC60YLQsCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCiBtc2dzdHIgItC/0YDQvtGH0LjRgtCw0YLRjCDQvdCw0YHRgtGA0L7QudC60Lgg0LjQtyDRg9C60LDQt9Cw0L3QvdC+0LPQviDQtNCy0L7QuNGH0L3QvtCz0L4g0L7QsdGK0LXQutGC0LAiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKIG1zZ2lkICJBY3Rpb24iCiBtc2dzdHIgItCU0LXQudGB0YLQstC40LUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKIG1zZ2lkICJnZXQgdmFsdWU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi0L/QvtC70YPRh9C40YLRjCDQt9C90LDRh9C10L3QuNC1OiDQuNC80Y8gW9GI0LDQsdC70L7QvS3Qt9C90LDRh9C10L3QuNC5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NAorIzogYnVpbHRpbi9jb25maWcuYzo2MwogbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi0L/QvtC70YPRh9C40YLRjCDQstGB0LUg0LfQvdCw0YfQtdC90LjRjzog0LrQu9GO0YcgW9GI0LDQsdC70L7QvS3Qt9C90LDRh9C10L3QuNC5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NQorIzogYnVpbHRpbi9jb25maWcuYzo2NAogbXNnaWQgImdldCB2YWx1ZXMgZm9yIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINC30L3QsNGH0LXQvdC40Y8g0L/QviDRiNCw0LHQu9C+0L3Rgzog0YjQsNCx0LvQvtC9LdC40LzQtdC9IFvRiNCw0LHQu9C+0L0t0LfQvdCw0YfQtdC90LjQuV0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjUKIG1zZ2lkICJnZXQgdmFsdWUgc3BlY2lmaWMgZm9yIHRoZSBVUkw6IHNlY3Rpb25bLnZhcl0gVVJMIgogbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINC30L3QsNGH0LXQvdC40LUsINGB0L/QtdGG0LjRhNC40YfQvdC+0LUg0LTQu9GPIFVSTDog0YDQsNC30LTQtdC7Wy7Qv9C10YDQtdC80LXQvdC90LDRj10gVVJMIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY3CisjOiBidWlsdGluL2NvbmZpZy5jOjY2CiBtc2dpZCAicmVwbGFjZSBhbGwgbWF0Y2hpbmcgdmFyaWFibGVzOiBuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iCiBtc2dzdHIgItC30LDQvNC10L3QuNGC0Ywg0LLRgdC1INGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjQtSDQv9C10YDQtdC80LXQvdC90YvQtTog0LjQvNGPINC30L3QsNGH0LXQvdC40LUgW9GI0LDQsdC70L7QvS3Qt9C90LDRh9C10L3QuNC5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OAorIzogYnVpbHRpbi9jb25maWcuYzo2NwogbXNnaWQgImFkZCBhIG5ldyB2YXJpYWJsZTogbmFtZSB2YWx1ZSIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCDQvdC+0LLRg9GOINC/0LXRgNC10LzQtdC90L3Rg9GOOiDQuNC80Y8g0LfQvdCw0YfQtdC90LjQtSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OQorIzogYnVpbHRpbi9jb25maWcuYzo2OAogbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMINC/0LXRgNC10LzQtdC90L3Rg9GOOiDQuNC80Y8gW9GI0LDQsdC70L7QvS3Qt9C90LDRh9C10L3QuNC5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MAorIzogYnVpbHRpbi9jb25maWcuYzo2OQogbXNnaWQgInJlbW92ZSBhbGwgbWF0Y2hlczogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICLRg9C00LDQu9C40YLRjCDQstGB0LUg0YHQvtCy0L/QsNC00LDRjtGJ0LjQtTog0LjQvNGPIFvRiNCw0LHQu9C+0L0t0LfQvdCw0YfQtdC90LjQuV0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzAKIG1zZ2lkICJyZW5hbWUgc2VjdGlvbjogb2xkLW5hbWUgbmV3LW5hbWUiCiBtc2dzdHIgItC/0LXRgNC10LjQvNC10L3QvtCy0LDRgtGMINGA0LDQt9C00LXQuzog0YHRgtCw0YDQvtC1LdC40LzRjyDQvdC+0LLQvtC1LdC40LzRjyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MgorIzogYnVpbHRpbi9jb25maWcuYzo3MQogbXNnaWQgInJlbW92ZSBhIHNlY3Rpb246IG5hbWUiCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMINGA0LDQt9C00LXQuzog0LjQvNGPIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczCisjOiBidWlsdGluL2NvbmZpZy5jOjcyCiBtc2dpZCAibGlzdCBhbGwiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0LLQtdGB0Ywg0YHQv9C40YHQvtC6IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0CisjOiBidWlsdGluL2NvbmZpZy5jOjczCiBtc2dpZCAib3BlbiBhbiBlZGl0b3IiCiBtc2dzdHIgItC+0YLQutGA0YvRgtGMINCyINGA0LXQtNCw0LrRgtC+0YDQtSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NQorIzogYnVpbHRpbi9jb25maWcuYzo3NAogbXNnaWQgImZpbmQgdGhlIGNvbG9yIGNvbmZpZ3VyZWQ6IHNsb3QgW2RlZmF1bHRdIgogbXNnc3RyICLQvdCw0LnRgtC4INC90LDRgdGC0YDQvtC10L3QvdGL0Lkg0YbQstC10YI6INGA0LDQt9C00LXQuyBb0L/Qvi3Rg9C80L7Qu9GH0LDQvdC40Y5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc2CisjOiBidWlsdGluL2NvbmZpZy5jOjc1CiBtc2dpZCAiZmluZCB0aGUgY29sb3Igc2V0dGluZzogc2xvdCBbc3Rkb3V0LWlzLXR0eV0iCiBtc2dzdHIgItC/0YDQvtCy0LXRgNC40YLRjCwg0YHRg9GJ0LXRgdGC0LLRg9C10YIg0LvQuCDQvdCw0YHRgtGA0L7QtdC90L3Ri9C5INGG0LLQtdGCOiDRgNCw0LfQtNC10LsgW3N0ZG91dC3QtdGB0YLRjC10dHldIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjc2CiBtc2dpZCAiVHlwZSIKIG1zZ3N0ciAi0KLQuNC/IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc4CisjOiBidWlsdGluL2NvbmZpZy5jOjc3CiBtc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgogbXNnc3RyICLQt9C90LDRh9C10L3QuNC1IOKAlCDRjdGC0L4gwqt0cnVlwrsgKNC/0YDQsNCy0LTQsCkg0LjQu9C4IMKrZmFsc2XCuyAo0LvQvtC20YwpIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc5CisjOiBidWlsdGluL2NvbmZpZy5jOjc4CiBtc2dpZCAidmFsdWUgaXMgZGVjaW1hbCBudW1iZXIiCiBtc2dzdHIgItC30L3QsNGH0LXQvdC40LUg4oCUINGN0YLQviDQtNC10YHRj9GC0LjRh9C90L7QtSDRh9C40YHQu9C+IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgwCisjOiBidWlsdGluL2NvbmZpZy5jOjc5CiBtc2dpZCAidmFsdWUgaXMgLS1ib29sIG9yIC0taW50IgogbXNnc3RyICLQt9C90LDRh9C10L3QuNC1IOKAlCDRjdGC0L4gLS1ib29sINC40LvQuCAtLWludCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MQorIzogYnVpbHRpbi9jb25maWcuYzo4MAogbXNnaWQgInZhbHVlIGlzIGEgcGF0aCAoZmlsZSBvciBkaXJlY3RvcnkgbmFtZSkiCiBtc2dzdHIgItC30L3QsNGH0LXQvdC40LUg4oCUINGN0YLQviDQv9GD0YLRjCAo0Log0YTQsNC50LvRgyDQuNC70Lgg0LrQsNGC0LDQu9C+0LPRgykiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODEKIG1zZ2lkICJPdGhlciIKIG1zZ3N0ciAi0JTRgNGD0LPQvtC1IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgzCisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICLQt9Cw0LLQtdGA0YjQsNGC0Ywg0LfQvdCw0YfQtdC90LjRjyDQndCj0JvQldCS0KvQnCDQsdCw0LnRgtC+0LwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODMKIG1zZ2lkICJzaG93IHZhcmlhYmxlIG5hbWVzIG9ubHkiCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINGC0L7Qu9GM0LrQviDQuNC80LXQvdCwINC/0LXRgNC10LzQtdC90L3Ri9GFIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg1CisjOiBidWlsdGluL2NvbmZpZy5jOjg0CiBtc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgogbXNnc3RyICLRg9GH0LjRgtGL0LLQsNGC0Ywg0LTQuNGA0LXQutGC0LjQstGLIGluY2x1ZGUgKNCy0LrQu9GO0YfQtdC90LjRjyDRhNCw0LnQu9C+0LIpINC/0YDQuCDQt9Cw0L/RgNC+0YHQtSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NgorIzogYnVpbHRpbi9jb25maWcuYzo4NQogbXNnaWQgInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0LjRgdGC0L7Rh9C90LjQuiDQvdCw0YHRgtGA0L7QudC60LggKNGE0LDQudC7LCDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0LLQvtC0LCDQtNCy0L7QuNGH0L3Ri9C5INC+0LHRitC10LrRgiwg0LrQvtC80LDQvdC00L3QsNGPINGB0YLRgNC+0LrQsCkiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MzI4CisjOiBidWlsdGluL2NvbmZpZy5jOjMyNwogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBkZWZhdWx0IGNvbG9yIHZhbHVlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQt9C90LDRh9C10L3QuNC1INGG0LLQtdGC0LAg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NDcyCisjOiBidWlsdGluL2NvbmZpZy5jOjQ3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiIyBUaGlzIGlzIEdpdCdzIHBlci11c2VyIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiIKQEAgLTU3MjUsMTYgKzY1ODEsMjMgQEAKICIjXHRlbWFpbCA9ICVzXG4iCiBtc2dzdHIgIiMg0K3RgtC+INGE0LDQudC7INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8gR2l0LlxuW3VzZXJdXG4jINCf0L7QttCw0LvRg9C50YHRgtCwLCDQsNC00LDQv9GC0LjRgNGD0LnRgtC1INC4INGA0LDRgdC60L7QvNC80LXQvdGC0LjRgNGD0LnRgtC1INGB0LvQtdC00YPRjtGJ0LjQtSDRgdGC0YDQvtC60Lg6XG4jXHR1c2VyID0gJXNcbiNcdGVtYWlsID0gJXNcbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgY29uZmlndXJhdGlvbiBmaWxlICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGE0LDQudC7INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCAlcyIKIAotIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6NzcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCisiICAgICAgIFVzZSBhIHJlZ2V4cCwgLS1hZGQgb3IgLS1yZXBsYWNlLWFsbCB0byBjaGFuZ2UgJXMuIgorbXNnc3RyICLQvdC10LvRjNC30Y8g0L/QtdGA0LXQt9Cw0L/QuNGB0LDRgtGMINC90LXRgdC60L7Qu9GM0LrQviDQt9C90LDRh9C10L3QuNC5INC+0LTQvdC40LxcbiAgICAgICDQmNGB0L/QvtC70YzQt9GD0LnRgtC1INGA0LXQs9GD0LvRj9GA0L3Ri9C1INCy0YvRgNCw0LbQtdC90LjRjywg0L/QsNGA0LDQvNC10YLRgNGLIC0tYWRkINC40LvQuCAtLXJlcGxhY2UtYWxsLCDRh9GC0L7QsdGLINC40LfQvNC10L3QuNGC0YwgJXMuIgorCisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NgogbXNnaWQgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiBtc2dzdHIgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg3CisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NgogbXNnaWQgInByaW50IHNpemVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCIKIG1zZ3N0ciAi0LLRi9Cy0L7QtCDRgNCw0LfQvNC10YDQvtCyINCyINGD0LTQvtCx0L7Rh9C40YLQsNC10LzQvtC8INC00LvRjyDRh9C10LvQvtCy0LXQutCwINCy0LjQtNC1IgogCkBAIC01NzYxLDEwICs2NjI0LDEwIEBACiBtc2dpZCAidGFnICclcycgaXMgcmVhbGx5ICclcycgaGVyZSIKIG1zZ3N0ciAi0LzQtdGC0LrQsCDCqyVzwrsg0YPQttC1INC30LTQtdGB0Ywgwqslc8K7IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUwIGJ1aWx0aW4vbG9nLmM6NDY1CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUwIGJ1aWx0aW4vbG9nLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgotbXNnc3RyICLQndC10LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L7QtSDQuNC80Y8g0L7QsdGK0LXQutGC0LAgJXMiCittc2dzdHIgItCd0LXQtNC+0L/Rg9GB0YLQuNC80L7QtSDQuNC80Y8g0L7QsdGK0LXQutGC0LAgJXMiCiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTMKICMsIGMtZm9ybWF0CkBAIC01ODQ4LDcgKzY3MTEsNyBAQAogbXNnaWQgIm9ubHkgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgItGA0LDRgdGB0LzQsNGC0YDQuNCy0LDRgtGMINGC0L7Qu9GM0LrQviDQvNC10YLQutC4INC/0L4gPNGI0LDQsdC70L7QvdGDPiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMCBidWlsdGluL25hbWUtcmV2LmM6MzIxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKIG1zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCiBtc2dzdHIgItC10YHQu9C4INC90LUg0L3QsNC50LTQtdC90L4sINC/0L7QutCw0LfQsNGC0Ywg0YHQvtC60YDQsNGJ0LXQvdC90YvQuSDQvdC+0LzQtdGAINGA0LXQtNCw0LrRhtC40Lgg0LrQvtC80LzQuNGC0LAiCiAKQEAgLTU4ODIsMjEgKzY3NDUsMjEgQEAKIG1zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90YvQuSDQv9Cw0YDQsNC80LXRgtGAOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzYwCisjOiBidWlsdGluL2RpZmYuYzozNjEKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKLW1zZ3N0ciAi0J3QtSDRj9Cy0LvRj9C10YLRgdGPINGA0LXQv9C+0LfQuNGC0L7RgNC40LXQvCBnaXQiCittc2dzdHIgItCd0LUg0L3QsNC50LTQtdC9IGdpdCDRgNC10L/QvtC30LjRgtC+0LjQuSIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDAzCisjOiBidWlsdGluL2RpZmYuYzo0MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgItC/0LXRgNC10LTQsNC9INC90LXQv9GA0LDQstC40LvRjNC90YvQuSDQvtCx0YrQtdC60YIgwqslc8K7LiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDEyCisjOiBidWlsdGluL2RpZmYuYzo0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0L3QviDQsdC+0LvRjNGI0LUg0LTQstGD0YUg0LTQstC+0LjRh9C90YvRhSDQvtCx0YrQtdC60YLQvtCyOiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxOQorIzogYnVpbHRpbi9kaWZmLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgItC/0LXRgNC10LTQsNC9INC90LXQvtCx0YDQsNCx0L7RgtCw0L3QvdGL0Lkg0L7QsdGK0LXQutGCIMKrJXPCuy4iCkBAIC01OTUzLDI2MiArNjgxNiwyNzUgQEAKIG1zZ2lkICJhbm9ueW1pemUgb3V0cHV0IgogbXNnc3RyICLRgdC00LXQu9Cw0YLRjCDQstGL0LLQvtC0INCw0L3QvtC90LjQvNC90YvQvCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIwCisjOiBidWlsdGluL2ZldGNoLmM6MjEKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBmZXRjaCBbPNC+0L/RhtC40Lg+XSBbPNGA0LXQv9C+0LfQuNGC0L7RgNC40Lk+IFs80YHQv9C10YbQuNGE0LjQutCw0YbQuNGPLdGB0YHRi9C70LrQuD7igKZdXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIxCisjOiBidWlsdGluL2ZldGNoLmM6MjIKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwPiIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs80L7Qv9GG0LjQuD5dIDzQs9GA0YPQv9C/0LA+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMwogbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPNC+0L/RhtC40Lg+XSBbKDzRgNC10L/QvtC30LjRgtC+0YDQuNC5PiB8IDzQs9GA0YPQv9C/0LA+KeKApl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMworIzogYnVpbHRpbi9mZXRjaC5jOjI0CiBtc2dpZCAiZ2l0IGZldGNoIC0tYWxsIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1hbGwgWzzQvtC/0YbQuNC4Pl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MiBidWlsdGluL3B1bGwuYzoxNzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NSBidWlsdGluL3B1bGwuYzoxNzUKIG1zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgogbXNnc3RyICLQuNC30LLQu9C10YfRjCDRgdC+INCy0YHQtdGFINCy0L3QtdGI0L3QuNGFINGA0LXQv9C+0LfQuNGC0L7RgNC40LXQsiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk0IGJ1aWx0aW4vcHVsbC5jOjE3NworIzogYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vcHVsbC5jOjE3OAogbXNnaWQgImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIKIG1zZ3N0ciAi0LTQvtC/0LjRgdCw0YLRjCDQuiAuZ2l0L0ZFVENIX0hFQUQg0LLQvNC10YHRgtC+INC/0LXRgNC10LfQsNC/0LjRgdC4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTYgYnVpbHRpbi9wdWxsLmM6MTgwCisjOiBidWlsdGluL2ZldGNoLmM6OTkgYnVpbHRpbi9wdWxsLmM6MTgxCiBtc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgogbXNnc3RyICLQv9GD0YLRjCDQuiDQv9GA0L7Qs9GA0LDQvNC80LUg0YPQv9Cw0LrQvtCy0LrQuCDQv9Cw0LrQtdGC0LAg0L3QsCDQvNCw0YjQuNC90LUg0YEg0LLQvdC10YjQvdC40Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdC8IgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9wdWxsLmM6MTgyCisjOiBidWlsdGluL2ZldGNoLmM6MTAwIGJ1aWx0aW4vcHVsbC5jOjE4MwogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70YzQvdCw0Y8g0L/QtdGA0LXQt9Cw0L/QuNGB0Ywg0LvQvtC60LDQu9GM0L3QvtC5INCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMgogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAi0LjQt9Cy0LvQtdGH0Ywg0YEg0L3QtdGB0LrQvtC70YzQutC40YUg0LLQvdC10YjQvdC40YUg0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdCyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAxIGJ1aWx0aW4vcHVsbC5jOjE4NAorIzogYnVpbHRpbi9mZXRjaC5jOjEwNCBidWlsdGluL3B1bGwuYzoxODUKIG1zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICLQuNC30LLQu9C10YfRjCDQstGB0LUg0LzQtdGC0LrQuCDQuCDRgdCy0Y/Qt9Cw0L3QvdGL0LUg0L7QsdGK0LXQutGC0YsiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDYKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgItC90LUg0LjQt9Cy0LvQtdC60LDRgtGMINCy0YHQtSDQvNC10YLQutC4ICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1CisjOiBidWlsdGluL2ZldGNoLmM6MTA4CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgZmV0Y2hlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAi0LrQvtC70LjRh9C10YHRgtCy0L4g0L/QvtC00LzQvtC00YPQu9C10LksINC60L7RgtC+0YDRi9C1INCx0YPQtNGD0YIg0YHQutCw0YfQsNC90Ysg0L/QsNGA0YDQsNC70LXQu9GM0L3QviIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNyBidWlsdGluL3B1bGwuYzoxODcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTAgYnVpbHRpbi9wdWxsLmM6MTg4CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgItC/0L7Rh9C40YHRgtC40YLRjCDQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDQstC90LXRiNC90LjQtSDQstC10YLQutC4LCDQutC+0YLQvtGA0YvRhSDRg9C20LUg0L3QtdGCINC90LAg0LLQvdC10YjQvdC10Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwOCBidWlsdGluL3B1bGwuYzoxOTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MTkxCiBtc2dpZCAib24tZGVtYW5kIgogbXNnc3RyICLQv9C+INGC0YDQtdCx0L7QstCw0L3QuNGOIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA5IGJ1aWx0aW4vcHVsbC5jOjE5MQorIzogYnVpbHRpbi9mZXRjaC5jOjExMiBidWlsdGluL3B1bGwuYzoxOTIKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICLRg9C/0YDQsNCy0LvQtdC90LjQtSDRgNC10LrRg9GA0YHQuNCy0L3Ri9C8INC40LfQstC70LXRh9C10L3QuNC10Lwg0L/QvtC00LzQvtC00YPQu9C10LkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTMgYnVpbHRpbi9wdWxsLmM6MTk5CisjOiBidWlsdGluL2ZldGNoLmM6MTE2IGJ1aWx0aW4vcHVsbC5jOjIwMAogbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgogbXNnc3RyICLQvtGB0YLQsNCy0LjRgtGMINC30LDQs9GA0YPQttC10L3QvdGL0Lkg0L/QsNC60LXRgiDQtNCw0L3QvdGL0YUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTgKIG1zZ2lkICJhbGxvdyB1cGRhdGluZyBvZiBIRUFEIHJlZiIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC+0LHQvdC+0LLQu9C10L3QuNC1INGB0YHRi9C70LrQuCBIRUFEIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4IGJ1aWx0aW4vcHVsbC5jOjIwMgorIzogYnVpbHRpbi9mZXRjaC5jOjEyMSBidWlsdGluL2ZldGNoLmM6MTI3IGJ1aWx0aW4vcHVsbC5jOjIwMwogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCi1tc2dzdHIgItCz0LvRg9Cx0L7QutCw0Y8g0LjRgdGC0L7RgNC40Y8g0YfQsNGB0YLQuNGH0L3QvtCz0L4g0LrQu9C+0L3QsCIKK21zZ3N0ciAi0YPQu9GD0LPRg9Cx0LjRgtGMINC40YHRgtC+0YDQuNGOINGH0LDRgdGC0LjRh9C90L7Qs9C+INC60LvQvtC90LAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjAgYnVpbHRpbi9wdWxsLmM6MjA1CisjOiBidWlsdGluL2ZldGNoLmM6MTIzCittc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyByZXBvc2l0b3J5IGJhc2VkIG9uIHRpbWUiCittc2dzdHIgItGD0LPQu9GD0LHQuNGC0Ywg0LjRgdGC0L7RgNC40Y4g0YfQsNGB0YLQuNGH0L3QvtCz0L4g0LrQu9C+0L3QsCDQvtGB0L3QvtCy0YvQstCw0Y/RgdGMINC90LAg0LLRgNC10LzQtdC90LgiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjkgYnVpbHRpbi9wdWxsLmM6MjA2CiBtc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgItC/0YDQtdC+0LHRgNCw0LfQvtCy0LDRgtGMINCyINC/0L7Qu9C90YvQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIyIGJ1aWx0aW4vbG9nLmM6MTM5OQorIzogYnVpbHRpbi9mZXRjaC5jOjEzMSBidWlsdGluL2xvZy5jOjE0MzMKIG1zZ2lkICJkaXIiCiBtc2dzdHIgItC60LDRgtCw0LvQvtCzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIzCisjOiBidWlsdGluL2ZldGNoLmM6MTMyCiBtc2dpZCAicHJlcGVuZCB0aGlzIHRvIHN1Ym1vZHVsZSBwYXRoIG91dHB1dCIKIG1zZ3N0ciAi0L/RgNC40YHQvtC10LTQuNC90Y/RgtGMINGN0YLQviDRgdC/0LXRgNC10LTQuCDQuiDQstGL0LLQvtC00YMg0L/Rg9GC0LXQuSDQv9C+0LTQvNC+0LTRg9C70Y8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUKIG1zZ2lkICJkZWZhdWx0IG1vZGUgZm9yIHJlY3Vyc2lvbiIKIG1zZ3N0ciAi0YDQtdC20LjQvCDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQtNC70Y8g0YDQtdC60YPRgNGB0LjQuCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyOCBidWlsdGluL3B1bGwuYzoyMDgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9wdWxsLmM6MjA5CiBtc2dpZCAiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IgogbXNnc3RyICLQv9GA0LjQvdC40LzQsNGC0Ywg0YHRgdGL0LvQutC4LCDQutC+0YLQvtGA0YvQtSDQvtCx0L3QvtCy0LvRj9GO0YIgLmdpdC9zaGFsbG93IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjIxMAorIzogYnVpbHRpbi9mZXRjaC5jOjEzOCBidWlsdGluL3B1bGwuYzoyMTEKIG1zZ2lkICJyZWZtYXAiCiBtc2dzdHIgItGB0L7QvtGC0LLQtdGC0YHRgtCy0LjQtS3RgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzAgYnVpbHRpbi9wdWxsLmM6MjExCisjOiBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVsbC5jOjIxMgogbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgogbXNnc3RyICLRg9C60LDQt9Cw0YLRjCDRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUg0YHRgdGL0LvQvtC6INC/0YDQuCDQuNC30LLQu9C10YfQtdC90LjQuCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM4NgorIzogYnVpbHRpbi9mZXRjaC5jOjM5OAogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0YHRgdGL0LvQutGDIEhFQUQg0L3QsCDQstC90LXRiNC90LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDY2CisjOiBidWlsdGluL2ZldGNoLmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbmZpZ3VyYXRpb24gZmV0Y2gub3V0cHV0IGNvbnRhaW5zIGludmFsaWQgdmFsdWUgJXMiCittc2dzdHIgItC+0L/RhtC40Y8gZmV0Y2gub3V0cHV0INGB0L7QtNC10YDQttC40YIg0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0LTQu9GPICVzIgorCisjOiBidWlsdGluL2ZldGNoLmM6NjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgItC+0LHRitC10LrRgiAlcyDQvdC1INC90LDQudC00LXQvSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ3MQorIzogYnVpbHRpbi9mZXRjaC5jOjYxMQogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW9Cw0LrRgtGD0LDQu9GM0L3Qvl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0ODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiISAlLSpzICUtKnMgLT4gJXMgIChjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCkiCi1tc2dzdHIgIiEgJS0qcyAlLSpzIOKGkiAlcyAgKNC90LUg0YPQtNCw0LvQvtGB0Ywg0LjQt9Cy0LvQtdGH0Ywg0LIg0YLQtdC60YPRidGD0Y4g0LLQtdGC0LrRgykiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo0ODYgYnVpbHRpbi9mZXRjaC5jOjU3NAorIzogYnVpbHRpbi9mZXRjaC5jOjYyNCBidWlsdGluL2ZldGNoLmM6NzA0CiBtc2dpZCAiW3JlamVjdGVkXSIKIG1zZ3N0ciAiW9C+0YLQutC70L7QvdC10L3Qvl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0OTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjUKK21zZ2lkICJjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCIKK21zZ3N0ciAi0L3QtdC70YzQt9GPINC40LfQstC70LXRh9GMINGC0LXQutGD0YnRg9GOINCy0LXRgtC60YMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzQKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIlvQvtCx0L3QvtCy0LvQtdC90LjQtSDQvNC10YLQutC4XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ5OSBidWlsdGluL2ZldGNoLmM6NTM0IGJ1aWx0aW4vZmV0Y2guYzo1NTIKLW1zZ2lkICIgICh1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZikiCi1tc2dzdHIgIiAgKNC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDQu9C+0LrQsNC70YzQvdGD0Y4g0YHRgdGL0LvQutGDKSIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjUxNwotbXNnaWQgIltuZXcgdGFnXSIKLW1zZ3N0ciAiW9C90L7QstCw0Y8g0LzQtdGC0LrQsF0iCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MjAKLW1zZ2lkICJbbmV3IGJyYW5jaF0iCi1tc2dzdHIgIlvQvdC+0LLQsNGPINCy0LXRgtC60LBdIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTIzCi1tc2dpZCAiW25ldyByZWZdIgotbXNnc3RyICJb0L3QvtCy0LDRjyDRgdGB0YvQu9C60LBdIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTY5CisjOiBidWlsdGluL2ZldGNoLmM6NjM1IGJ1aWx0aW4vZmV0Y2guYzo2NjggYnVpbHRpbi9mZXRjaC5jOjY4NAorIzogYnVpbHRpbi9mZXRjaC5jOjY5OQogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0Ywg0LvQvtC60LDQu9GM0L3Rg9GOINGB0YHRi9C70LrRgyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU2OQorIzogYnVpbHRpbi9mZXRjaC5jOjY1NAorbXNnaWQgIltuZXcgdGFnXSIKK21zZ3N0ciAiW9C90L7QstCw0Y8g0LzQtdGC0LrQsF0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTcKK21zZ2lkICJbbmV3IGJyYW5jaF0iCittc2dzdHIgIlvQvdC+0LLQsNGPINCy0LXRgtC60LBdIgorCisjOiBidWlsdGluL2ZldGNoLmM6NjYwCittc2dpZCAiW25ldyByZWZdIgorbXNnc3RyICJb0L3QvtCy0LDRjyDRgdGB0YvQu9C60LBdIgorCisjOiBidWlsdGluL2ZldGNoLmM6Njk5CiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L7QtSDQvtCx0L3QvtCy0LvQtdC90LjQtSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU3NgotbXNnaWQgIihub24tZmFzdC1mb3J3YXJkKSIKLW1zZ3N0ciAiKNCx0LXQtyDQv9C10YDQtdC80L7RgtC60Lgg0LLQv9C10YDQtdC0KSIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3MDQKK21zZ2lkICJub24tZmFzdC1mb3J3YXJkIgorbXNnc3RyICLQsdC10Lcg0L/QtdGA0LXQvNC+0YLQutC4INCy0L/QtdGA0LXQtCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYxOQorIzogYnVpbHRpbi9mZXRjaC5jOjc0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCiBtc2dzdHIgIiVzINC90LUg0L7RgtC/0YDQsNCy0LjQuyDQstGB0LUg0L3QtdC+0LHRhdC+0LTQuNC80YvQtSDQvtCx0YrQtdC60YLRi1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjM3CisjOiBidWlsdGluL2ZldGNoLmM6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlamVjdCAlcyBiZWNhdXNlIHNoYWxsb3cgcm9vdHMgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQiCiBtc2dzdHIgIiVzINC+0YLQutC70L7QvdC10L3QviDQuNC3LdC30LAg0YLQvtCz0L4sINGH0YLQviDRh9Cw0YHRgtC40YfQvdGL0LUg0LrQvtGA0L3QuCDQvdC1INGA0LDQt9GA0LXRiNC10L3QviDQvtCx0L3QvtCy0LvRj9GC0YwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MjQgYnVpbHRpbi9mZXRjaC5jOjgxNgorIzogYnVpbHRpbi9mZXRjaC5jOjg1NiBidWlsdGluL2ZldGNoLmM6OTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICLQmNC3ICUuKnNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjczNQorIzogYnVpbHRpbi9mZXRjaC5jOjg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgogIiAnZ2l0IHJlbW90ZSBwcnVuZSAlcycgdG8gcmVtb3ZlIGFueSBvbGQsIGNvbmZsaWN0aW5nIGJyYW5jaGVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0Ywg0L3QtdC60L7RgtC+0YDRi9C1INC70L7QutCw0LvRjNC90YvQtSDRgdGB0YvQu9C60Lg7INC/0L7Qv9GA0L7QsdGD0LnRgtC1INC30LDQv9GD0YHRgtC40YLRjCDCq2dpdCByZW1vdGUgcHJ1bmUgJXPCuywg0YfRgtC+0LHRiyDQv9C+0YfQuNGB0YLQuNGC0Ywg0YHRgtCw0YDRi9C1LCDQutC+0L3RhNC70LjQutGC0YPRjtGJ0LjQtSDQstC10YLQutC4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6Nzg3CisjOiBidWlsdGluL2ZldGNoLmM6OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyDQsdGD0LTQtdGCINCy0LjRgdGP0YnQtdC5INCy0LXRgtC60L7QuSkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3ODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMg0YHRgtCw0LvQsCDQstC40YHRj9GJ0LXQuSDQstC10YLQutC+0LkpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODIwCisjOiBidWlsdGluL2ZldGNoLmM6OTU1CiBtc2dpZCAiW2RlbGV0ZWRdIgogbXNnc3RyICJb0YPQtNCw0LvQtdC90L5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODIxIGJ1aWx0aW4vcmVtb3RlLmM6MTAyNQorIzogYnVpbHRpbi9mZXRjaC5jOjk1NiBidWlsdGluL3JlbW90ZS5jOjEwMjAKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIijQvdC10YIpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODQxCisjOiBidWlsdGluL2ZldGNoLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0J7RgtC60LDQtyDQv9C+0LvRg9GH0LXQvdC40Y8g0LIg0YLQtdC60YPRidGD0Y4g0LLQtdGC0LrRgyAlcyDQvdC1INCz0L7Qu9C+0LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODYwCisjOiBidWlsdGluL2ZldGNoLmM6OTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgdmFsdWUgXCIlc1wiIGlzIG5vdCB2YWxpZCBmb3IgJXMiCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1IMKrJTIkc8K7INC00LvRjyDQv9Cw0YDQsNC80LXRgtGA0LAgwqslMSRzwrsg0LTQu9GPICUzJHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgaXMgaWdub3JlZCBmb3IgJXNcbiIKIG1zZ3N0ciAi0J/QsNGA0LDQvNC10YLRgCDCqyVzwrsg0LjQs9C90L7RgNC40YDRg9C10YLRgdGPINC00LvRjyAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIwCisjOiBidWlsdGluL2ZldGNoLmM6MTA3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgogbXNnc3RyICLQndC1INC30L3QsNGOINC60LDQuiDQuNC30LLQu9C10YfRjCDRgSAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwODAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzXG4iCiBtc2dzdHIgItCY0LfQstC70LXRh9C10L3QuNC1INC40LcgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwODIgYnVpbHRpbi9yZW1vdGUuYzo5NgorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzkgYnVpbHRpbi9yZW1vdGUuYzo5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmV0Y2ggJXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LjQt9Cy0LvQtdGH0YwgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTAwCisjOiBidWlsdGluL2ZldGNoLmM6MTI1NwogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgogbXNnc3RyICLQndC1INGD0LrQsNC30LDQvSDQstC90LXRiNC90LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5LiDQo9C60LDQttC40YLQtSBVUkwg0LjQu9C4INC40LzRjyDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8g0LjQtyDQutC+0YLQvtGA0L7Qs9C+INC00L7Qu9C20L3RiyDQuNC30LLQu9C10LrQsNGC0YzRgdGPINC90L7QstGL0LUg0YDQtdC00LDQutGG0LjQuC4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTIzCisjOiBidWlsdGluL2ZldGNoLmM6MTI4MAogbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCiBtc2dzdHIgItCS0LDQvCDQvdGD0LbQvdC+INGD0LrQsNC30LDRgtGMINC40LzRjyDQvNC10YLQutC4LiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIyCittc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAi0J7RgtGA0LjRhtCw0YLQtdC70YzQvdCw0Y8g0LPRgNGD0LHQuNC90LAg0LTQu9GPIC0tZGVlcGVuINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEzMjQKK21zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLWRlZXBlbiDQuCAtLWRlcHRoINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgorCisjOiBidWlsdGluL2ZldGNoLmM6MTMyOQogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviAtLWRlcHRoINC4IC0tdW5zaGFsbG93IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE2NworIzogYnVpbHRpbi9mZXRjaC5jOjEzMzEKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS11bnNoYWxsb3cg0L3QtSDQuNC80LXQtdGCINGB0LzRi9GB0LvQsCDQvdCwINC/0L7Qu9C90L7QvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4NworIzogYnVpbHRpbi9mZXRjaC5jOjEzNTMKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCB0YWtlIGEgcmVwb3NpdG9yeSBhcmd1bWVudCIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwg0L3QtSDQv9GA0LjQvdC40LzQsNC10YIg0LjQvNGPINGA0LXQv9C+0LfQuNGC0L7RgNC40Y8g0LrQsNC6INCw0YDQs9GD0LzQtdC90YIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTg5CisjOiBidWlsdGluL2ZldGNoLmM6MTM1NQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwg0L3QtSDQuNC80LXQtdGCINGB0LzRi9GB0LvQsCDQv9GA0Lgg0YPQutCw0LfQsNC90LjQuCDRgdC/0LXRhtC40YTQuNC60LDRhtC40Lkg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIwMAorIzogYnVpbHRpbi9mZXRjaC5jOjEzNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKIG1zZ3N0ciAi0J3QtdGCINGC0LDQutC+0LPQviDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8g0LjQu9C4INCz0YDRg9C/0L/RizogJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjA4CisjOiBidWlsdGluL2ZldGNoLmM6MTM3NAogbXNnaWQgIkZldGNoaW5nIGEgZ3JvdXAgYW5kIHNwZWNpZnlpbmcgcmVmc3BlY3MgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAi0J/QvtC70YPRh9C10L3QuNC1INCz0YDRg9C/0L/RiyDQuCDRg9C60LDQt9Cw0L3QuNC1INGB0L/QtdGG0LjRhNC40LrQsNGG0LjQuSDRgdGB0YvQu9C+0Log0L3QtSDQuNC80LXQtdGCINGB0LzRi9GB0LvQsCIKIApAQCAtNjIxNywyMyArNzA5MywyMyBAQAogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVzc2FnZT5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlIDxmaWxlPl0iCiBtc2dzdHIgImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA80YHQvtC+0LHRidC10L3QuNC1Pl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPNGE0LDQudC7Pl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzCiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICLQvtGC0L/RgNCw0LLQuNGC0Ywg0LIg0LbRg9GA0L3QsNC7IDxuPiDQt9Cw0L/QuNGB0LXQuSDQuNC3INC60L7RgNC+0YLQutC+0LPQviDQttGD0YDQvdCw0LvQsCIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcwCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYKIG1zZ2lkICJhbGlhcyBmb3IgLS1sb2cgKGRlcHJlY2F0ZWQpIgogbXNnc3RyICLRgdC+0LrRgNCw0YnQtdC90LjQtSDQtNC70Y8gLS1sb2cgKNGD0YHRgtCw0YDQtdCy0YjQtdC1KSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjczCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjkKIG1zZ2lkICJ0ZXh0IgogbXNnc3RyICLRgtC10LrRgdGCIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzQKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAogbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIDzRgtC10LrRgdGCPiDQutCw0Log0L3QsNGH0LDQu9GM0L3QvtC1INGB0L7QvtCx0YnQtdC90LjQtSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc1CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzEKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAi0YTQsNC50Lsg0LTQu9GPINGH0YLQtdC90LjRjyIKIApAQCAtNjI5Myw2MyArNzE2OSw2MyBAQAogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgItCy0YvQstC+0LQg0YLQvtC70YzQutC+INGB0YHRi9C70L7Quiwg0LrQvtGC0L7RgNGL0LUg0YHQvtC00LXRgNC20LDRgiDQutC+0LzQvNC40YIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjE1NiBidWlsdGluL3BydW5lLmM6MTQwCi1tc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgotbXNnc3RyICLQn9GA0L7QstC10YDQutCwINGB0L7QtdC00LjQvdC10L3QuNGPIgotCi0jOiBidWlsdGluL2ZzY2suYzo0ODYKKyM6IGJ1aWx0aW4vZnNjay5jOjUxOQogbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQutCw0YLQsNC70L7Qs9C+0LIg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTUyCisjOiBidWlsdGluL2ZzY2suYzo1ODgKIG1zZ2lkICJnaXQgZnNjayBbPG9wdGlvbnM+XSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICJnaXQgZnNjayBbPNC+0L/RhtC40Lg+XSBbPNC+0LHRitC10LrRgj7igKZdIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NTgKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NAogbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQvdC10LTQvtGB0YLRg9C/0L3Ri9C1INC+0LHRitC10LrRgtGLIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NTkKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NQogbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQvtCx0YrQtdC60YLRiywg0L3QsCDQutC+0YLQvtGA0YvQtSDQvdC10YIg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjAKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NgogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQvtGC0YfQtdGCINC/0L4g0LzQtdGC0LrQsNC8IgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjEKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NwogbXNnaWQgInJlcG9ydCByb290IG5vZGVzIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQvtGC0YfQtdGCINC/0L4g0LrQvtGA0L3QtdCy0YvQvCDRg9C30LvQsNC8IgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjIKKyM6IGJ1aWx0aW4vZnNjay5jOjU5OAogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgogbXNnc3RyICLQstC+0YHQv9GA0LjQvdC40LzQsNGC0Ywg0L7QsdGK0LXQutGC0Ysg0LIg0LjQvdC00LXQutGB0LUg0LrQsNC6INC60L7RgNC90LXQstGL0LUg0YPQt9C70YsiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MworIzogYnVpbHRpbi9mc2NrLmM6NTk5CiBtc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDQutC+0YDQvdC10LLRi9C1INGD0LfQu9GLINC20YPRgNC90LDQu9C+0LIg0YHRgdGL0LvQvtC6ICjQv9C+INGD0LzQvtC70YfQsNC90LjRjikiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2NAorIzogYnVpbHRpbi9mc2NrLmM6NjAwCiBtc2dpZCAiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiCiBtc2dzdHIgItGC0LDQutC20LUg0L/RgNC+0LLQtdGA0Y/RgtGMINC/0LDQutC10YLRiyDQuCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3Ri9C1INC+0LHRitC10LrRgtGLIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjUKKyM6IGJ1aWx0aW4vZnNjay5jOjYwMQogbXNnaWQgImNoZWNrIG9ubHkgY29ubmVjdGl2aXR5IgogbXNnc3RyICLRgtC+0LvRjNC60L4g0L/RgNC+0LLQtdGA0LjRgtGMINGB0L7QtdC00LjQvdC10L3QuNC1IgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjYKKyM6IGJ1aWx0aW4vZnNjay5jOjYwMgogbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCx0L7Qu9C10LUg0YHRgtGA0L7Qs9GD0Y4g0L/RgNC+0LLQtdGA0LrRgyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY4CisjOiBidWlsdGluL2ZzY2suYzo2MDQKIG1zZ2lkICJ3cml0ZSBkYW5nbGluZyBvYmplY3RzIGluIC5naXQvbG9zdC1mb3VuZCIKIG1zZ3N0ciAi0LfQsNC/0LjRgdCw0YLRjCDQvtCx0YrQtdC60YLRiyDQvdCwINC60L7RgtC+0YDRi9C1INC90LXRgiDRgdGB0YvQu9C+0Log0LIgLmdpdC9sb3N0LWZvdW5kIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjkgYnVpbHRpbi9wcnVuZS5jOjEwNworIzogYnVpbHRpbi9mc2NrLmM6NjA1IGJ1aWx0aW4vcHJ1bmUuYzoxMDcKIG1zZ2lkICJzaG93IHByb2dyZXNzIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC/0YDQvtCz0YDQtdGB0YEg0LLRi9C/0L7Qu9C90LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYzMAorIzogYnVpbHRpbi9mc2NrLmM6NjA2Cittc2dpZCAic2hvdyB2ZXJib3NlIG5hbWVzIGZvciByZWFjaGFibGUgb2JqZWN0cyIKK21zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQv9C+0LTRgNC+0LHQvdGL0LUg0LjQvNC10L3QsCDQtNC70Y8g0L3QtdC00L7RgdGC0YPQv9C90YvRhSDQvtCx0YrQtdC60YLQvtCyIgorCisjOiBidWlsdGluL2ZzY2suYzo2NjUKIG1zZ2lkICJDaGVja2luZyBvYmplY3RzIgogbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC+0LHRitC10LrRgtC+0LIiCiAKQEAgLTY0MzQsMjI0ICs3MzEwLDIxOSBAQAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkgZm9yICVzIgogbXNnc3RyICLRg9C60LDQt9Cw0L3QviDQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0L/QvtGC0L7QutC+0LIgKCVkKSDQtNC70Y8gJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ1MiBidWlsdGluL2dyZXAuYzo0ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ1MyBidWlsdGluL2dyZXAuYzo0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQtNC10YDQtdCy0L4gKCVzKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTAyCisjOiBidWlsdGluL2dyZXAuYzo1MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0YwgZ3JlcCDQuNC3INC+0LHRitC10LrRgtCwINGC0LjQv9CwICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo1NjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjU2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAIMKrJWPCuyDQvtC20LjQtNCw0LXRgiDRh9C40YHQu9C+0LLQvtC1INC30L3QsNGH0LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjU3NwotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgotbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMIMKrJXPCuyIKLQotIzogYnVpbHRpbi9ncmVwLmM6NjQ2CisjOiBidWlsdGluL2dyZXAuYzo2NDcKIG1zZ2lkICJzZWFyY2ggaW4gaW5kZXggaW5zdGVhZCBvZiBpbiB0aGUgd29yayB0cmVlIgogbXNnc3RyICLQuNGB0LrQsNGC0Ywg0LIg0LjQvdC00LXQutGB0LUsINCwINC90LUg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjQ4CisjOiBidWlsdGluL2dyZXAuYzo2NDkKIG1zZ2lkICJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIKIG1zZ3N0ciAi0LjRgdC60LDRgtGMINCyINGB0L7QtNC10YDQttC40LzQvtC8INC90LUg0YPQv9GA0LDQstC70Y/QtdC80YvQvCBnaXQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1MAorIzogYnVpbHRpbi9ncmVwLmM6NjUxCiBtc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICLQuNGB0LrQsNGC0Ywg0Lgg0LIg0L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUsINC4INCyINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9Cw0YUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1MgorIzogYnVpbHRpbi9ncmVwLmM6NjUzCiBtc2dpZCAiaWdub3JlIGZpbGVzIHNwZWNpZmllZCB2aWEgJy5naXRpZ25vcmUnIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0YTQsNC50LvRiyDRg9C60LDQt9Cw0L3QvdGL0LUg0LIgwqsuZ2l0aWdub3JlwrsiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1NQorIzogYnVpbHRpbi9ncmVwLmM6NjU2CiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgItC40YHQutCw0YLRjCDQsiDQvdC10YHQvtCy0L/QsNC00LDRjtGJ0LjRhSDRgdGC0YDQvtC60LDRhSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU3CisjOiBidWlsdGluL2dyZXAuYzo2NTgKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgogbXNnc3RyICLQsdC10Lcg0YPRh9C10YLQsCDRgNC10LPQuNGB0YLRgNCwIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2MAogbXNnaWQgIm1hdGNoIHBhdHRlcm5zIG9ubHkgYXQgd29yZCBib3VuZGFyaWVzIgogbXNnc3RyICLQuNGB0LrQsNGC0Ywg0YHQvtCy0L/QsNC00LXQvdC40Y8g0YjQsNCx0LvQvtC90LAg0YLQvtC70YzQutC+INC90LAg0LPRgNCw0L3QuNGG0LDRhSDRgdC70L7QsiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjYxCisjOiBidWlsdGluL2dyZXAuYzo2NjIKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgogbXNnc3RyICLQvtCx0YDQsNCx0L7RgtC60LAg0LTQstC+0LjRh9C90YvRhSDRhNCw0LnQu9C+0LIg0LrQsNC6INGC0LXQutGB0YLQsCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjYzCisjOiBidWlsdGluL2dyZXAuYzo2NjQKIG1zZ2lkICJkb24ndCBtYXRjaCBwYXR0ZXJucyBpbiBiaW5hcnkgZmlsZXMiCiBtc2dzdHIgItC90LUg0LjRgdC60LDRgtGMINGB0L7QstC/0LDQtNC10L3QuNGPINGI0LDQsdC70L7QvdCwINCyINC00LLQvtC40YfQvdGL0YUg0YTQsNC50LvQsNGFIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NwogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKIG1zZ3N0ciAi0L7QsdGA0LDQsdCw0YLRi9Cy0LDRgtGM0YHRjyDQtNCy0L7QuNGH0L3Ri9C1INGE0LDQudC70Ysg0YEg0L/QvtC80L7RidGM0Y4g0YTQuNC70YzRgtGA0L7QsiB0ZXh0Y29udiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY4CisjOiBidWlsdGluL2dyZXAuYzo2NjkKIG1zZ2lkICJkZXNjZW5kIGF0IG1vc3QgPGRlcHRoPiBsZXZlbHMiCiBtc2dzdHIgItC90LAg0LPQu9GD0LHQuNC90LUg0LzQsNC60YHQuNC80YMgPNCz0LvRg9Cx0LjQvdCwPiDRg9GA0L7QstC90LXQuSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjcyCisjOiBidWlsdGluL2dyZXAuYzo2NzMKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGA0LDRgdGI0LjRgNC10L3QvdGL0LUg0YDQtdCz0YPQu9GP0YDQvdGL0LUg0LLRi9GA0LDQttC10L3QuNGPIFBPU0lYIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3NgogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCx0LDQt9C+0LLRi9C1INGA0LXQs9GD0LvRj9GA0L3Ri9C1INCy0YvRgNCw0LbQtdC90LjRjyBQT1NJWCAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3OQogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICLQuNC90YLQtdGA0L/RgNC10YLQuNGA0L7QstCw0YLRjCDRiNCw0LHQu9C+0L3RiyDQutCw0Log0YTQuNC60YHQuNGA0L7QstCw0L3QvdGL0LUg0YHRgtGA0L7QutC4IgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MgogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIFBlcmwt0YHQvtCy0LzQtdGB0YLQuNC80YvQtSDRgNC10LPRg9C70Y/RgNC90YvQtSDQstGL0YDQsNC20LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NAorIzogYnVpbHRpbi9ncmVwLmM6Njg1CiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INC90L7QvNC10YDQsCDRgdGC0YDQvtC6IgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NgogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0LjQvNC10L3QsCDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NgorIzogYnVpbHRpbi9ncmVwLmM6Njg3CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0LjQvNC10L3QsCDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4OAorIzogYnVpbHRpbi9ncmVwLmM6Njg5CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDQuNC80LXQvdCwINGE0LDQudC70L7QsiDQvtGC0L3QvtGB0LjRgtC10LvRjNC90L4g0LrQsNGC0LDQu9C+0LPQsCDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MQogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDRgtC+0LvRjNC60L4g0LjQvNC10L3QsCDRhNCw0LnQu9C+0LIsINCwINC90LUg0YHQvtCy0L/QsNC00LDRjtGJ0LjQtSDRgdGC0YDQvtC60LgiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5MgorIzogYnVpbHRpbi9ncmVwLmM6NjkzCiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgItGB0LjQvdC+0L3QuNC8INC00LvRjyAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk1CisjOiBidWlsdGluL2dyZXAuYzo2OTYKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0YLQvtC70YzQutC+INC90LXRgdC+0LLQv9Cw0LTQsNGO0YnQuNC1INC40LzQtdC90LAg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0LTQstC+0LjRh9C90YvQuSDQndCe0JvQrCDQv9C+0YHQu9C1INGB0L/QuNGB0LrQsCDQuNC80LXQvSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5OQorIzogYnVpbHRpbi9ncmVwLmM6NzAwCiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDQutC+0LvQuNGH0LXRgdGC0LLQviDRgdC+0LLQv9Cw0LTQtdC90LjQuSwg0LAg0L3QtSDRgdC+0LLQv9Cw0LTQsNGO0YnQuNC1INGB0YLRgNC+0LrQuCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAwCisjOiBidWlsdGluL2dyZXAuYzo3MDEKIG1zZ2lkICJoaWdobGlnaHQgbWF0Y2hlcyIKIG1zZ3N0ciAi0L/QvtC00YHQstC10YfQuNCy0LDRgtGMINGB0L7QstC/0LDQtNC10L3QuNGPIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMwogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINC/0YPRgdGC0YPRjiDRgdGC0YDQvtC60YMg0L/QvtGB0LvQtSDRgdC+0LLQv9Cw0LTQtdC90LjQuSDQuNC3INGA0LDQt9C90YvRhSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNAorIzogYnVpbHRpbi9ncmVwLmM6NzA1CiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDQuNC80Y8g0YTQsNC50LvQsCDRgtC+0LvRjNC60L4g0YDQsNC3INC90LAg0L3QtdGB0LrQvtC70YzQutC+INGB0L7QstC/0LDQtNC10L3QuNC5INCyINC+0LTQvdC+0Lwg0YTQsNC50LvQtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA3CisjOiBidWlsdGluL2dyZXAuYzo3MDgKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCA8bj4g0YHRgtGA0L7QuiDQutC+0L3RgtC10LrRgdGC0LAg0L/QtdGA0LXQtCDQuCDQv9C+0YHQu9C1INGB0L7QstC/0LDQtNC10L3QuNGPIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxMQogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0YwgPG4+INGB0YLRgNC+0Log0LrQvtC90YLQtdC60YHRgtCwINC/0LXRgNC10LQg0YHQvtCy0L/QsNC00LXQvdC40LXQvCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEyCisjOiBidWlsdGluL2dyZXAuYzo3MTMKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0YwgPG4+INGB0YLRgNC+0Log0LrQvtC90YLQtdC60YHRgtCwINC/0L7RgdC70LUg0YHQvtCy0L/QsNC00LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxNAorIzogYnVpbHRpbi9ncmVwLmM6NzE1CiBtc2dpZCAidXNlIDxuPiB3b3JrZXIgdGhyZWFkcyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIDzQutC+0Ls+INGA0LDQsdC+0YfQuNGFINC/0L7RgtC+0LrQvtCyIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNgogbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCiBtc2dzdHIgItGC0L7QttC1LCDRh9GC0L4g0LggLUMg0JrQntCb0JjQp9CV0KHQotCS0J4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9ncmVwLmM6NzE5CiBtc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDRgdGC0YDQvtC60YMg0YEg0LjQvNC10L3QtdC8INGE0YPQvdC60YbQuNC4INC/0LXRgNC10LQg0YHQvtCy0L/QsNC00LXQvdC40LXQvCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzIwCisjOiBidWlsdGluL2dyZXAuYzo3MjEKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQvtC60YDRg9C20LDRjtGJ0YPRjiDRhNGD0L3QutGG0LjRjiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzIzCisjOiBidWlsdGluL2dyZXAuYzo3MjQKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINGI0LDQsdC70L7QvdGLINC40Lcg0YTQsNC50LvQsCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2dyZXAuYzo3MjYKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgItC/0L7QuNGB0Log0YHQvtC+0YLQstC10YLRgdGC0LLQuNC5INGBIDzRiNCw0LHQu9C+0L3QvtC8PiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI3CisjOiBidWlsdGluL2dyZXAuYzo3MjgKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICLQvtCx0YrQtdC00LjQvdC40YLRjCDRiNCw0LHQu9C+0L3RiyDRg9C60LDQt9Cw0L3QvdGL0LUg0YEg0L/QvtC80L7RidGM0Y4gLWUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjczOQorIzogYnVpbHRpbi9ncmVwLmM6NzQwCiBtc2dpZCAiaW5kaWNhdGUgaGl0IHdpdGggZXhpdCBzdGF0dXMgd2l0aG91dCBvdXRwdXQiCiBtc2dzdHIgItC90LjRh9C10LPQviDQvdC1INCy0YvQstC+0LTQuNGC0YwsINGD0LrQsNC30LDRgtGMINC90LAg0YHQvtCy0L/QsNC00LXQvdC40LUg0YEg0L/QvtC80L7RidGM0Y4g0LrQvtC00LAg0LLRi9GF0L7QtNCwIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MgogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0YLQvtC70YzQutC+INGB0L7QstC/0LDQtNC10L3QuNGPINC40Lcg0YTQsNC50LvQvtCyINCyINC60L7RgtC+0YDRi9GFINGB0L7QstC/0LDQtNCw0Y7RgiDQstGB0LUg0YjQsNCx0LvQvtC90YsiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MworIzogYnVpbHRpbi9ncmVwLmM6NzQ0CiBtc2dpZCAic2hvdyBwYXJzZSB0cmVlIGZvciBncmVwIGV4cHJlc3Npb24iCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0LTQtdGA0LXQstC+INGA0LDQt9Cx0L7RgNCwINC00LvRjyDQstGL0YDQsNC20LXQvdC40Y8g0L/QvtC40YHQutCwIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0OAogbXNnaWQgInBhZ2VyIgogbXNnc3RyICLQv9C10LnQtNC20LXRgCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQ3CisjOiBidWlsdGluL2dyZXAuYzo3NDgKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDRgdC+0LLQv9Cw0LTQsNGO0YnQuNC1INGE0LDQudC70Ysg0YEg0L/QvtC80L7RidGM0Y4g0L/RgNC+0LPRgNCw0LzQvNGLLdC/0LXQudC00LbQtdGA0LAiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc1MAorIzogYnVpbHRpbi9ncmVwLmM6NzUxCiBtc2dpZCAiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0LLRi9C30L7QsiBncmVwKDEpICjQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8g0LIg0Y3RgtC+0Lkg0YHQsdC+0YDQutC1KSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODEzCisjOiBidWlsdGluL2dyZXAuYzo4MTQKIG1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuLiIKIG1zZ3N0ciAi0L3QtSDQt9Cw0LTQsNC9INGI0LDQsdC70L7QvS4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0NSBidWlsdGluL2luZGV4LXBhY2suYzoxNDc3CisjOiBidWlsdGluL2dyZXAuYzo4NDYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIgogbXNnc3RyICLRg9C60LDQt9Cw0L3QviDQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0L/QvtGC0L7QutC+0LIgKCVkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc1CisjOiBidWlsdGluL2dyZXAuYzo4NzYKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciDRgNCw0LHQvtGC0LDQtdGCINGC0L7Qu9GM0LrQviDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1IgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMgogbXNnaWQgIi0tY2FjaGVkIG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1uby1pbmRleC4iCiBtc2dzdHIgIi0tY2FjaGVkINC40LvQuCAtLXVudHJhY2tlZCDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDRgSAtLW5vLWluZGV4LiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA2CisjOiBidWlsdGluL2dyZXAuYzo5MDcKIG1zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cy4iCiBtc2dzdHIgIi0tbm8taW5kZXgg0LjQu9C4IC0tdW50cmFja2VkINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INGBINGD0LrQsNC30LDQvdC40LXQvCDRgNC10LTQsNC60YbQuNC4LiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA5CisjOiBidWlsdGluL2dyZXAuYzo5MTAKIG1zZ2lkICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBjYW5ub3QgYmUgdXNlZCBmb3IgdHJhY2tlZCBjb250ZW50cy4iCiBtc2dzdHIgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkINC90LUg0LzQvtC20LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINC00LvRjyDQvtGC0YHQu9C10LbQuNCy0LDQtdC80L7Qs9C+INGB0L7QtNC10YDQttC40LzQvtCz0L4uIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxOAogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgItGD0LrQsNC30LDQvdC+INC+0LTQvdC+0LLRgNC10LzQtdC90L3QviAtLWNhY2hlZCDQuCDQtNC10YDQtdCy0L4uIgogCkBAIC02NjY1LDE3NiArNzUzNiwxODAgQEAKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjkzCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTQKIG1zZ2lkICJ0eXBlIgogbXNnc3RyICLRgtC40L8iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5MworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CiBtc2dpZCAib2JqZWN0IHR5cGUiCiBtc2dzdHIgItGC0LjQvyDQvtCx0YrQtdC60YLQsCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAi0LfQsNC/0LjRgdGMINC+0LHRitC10LrRgtCwINCyINCx0LDQt9GDINC00LDQvdC90YvRhSDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTYKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NwogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0L7QsdGK0LXQutGCINC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CiBtc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCiBtc2dzdHIgItGB0L7RhdGA0LDQvdC40YLRjCDRhNCw0LnQuyDQsdC10Lcg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0YTQuNC70YzRgtGA0L7QsiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCiBtc2dpZCAiIgogImp1c3QgaGFzaCBhbnkgcmFuZG9tIGdhcmJhZ2UgdG8gY3JlYXRlIGNvcnJ1cHQgb2JqZWN0cyBmb3IgZGVidWdnaW5nIEdpdCIKIG1zZ3N0ciAi0YXRjdGI0LjRgNC+0LLQsNGC0Ywg0LvRjtCx0L7QuSDQvNGD0YHQvtGAINC4INGB0L7Qt9C00LDQstCw0YLRjCDQv9C+0LLRgNC10LbQtNC10L3QvdGL0LUg0L7QsdGK0LXQutGC0Ysg0LTQu9GPINC+0YLQu9Cw0LTQutC4IEdpdCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQogbXNnaWQgInByb2Nlc3MgZmlsZSBhcyBpdCB3ZXJlIGZyb20gdGhpcyBwYXRoIgogbXNnc3RyICLQvtCx0YDQsNCx0L7RgtCw0YLRjCDRhNCw0LnQuyDRgtCw0LosINCx0YPQtNGC0L4g0L7QvSDQvdCw0YXQvtC00LjRgtGB0Y8g0L/QviDRg9C60LDQt9Cw0L3QvdC+0LzRgyDQv9GD0YLQuCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDEKKyM6IGJ1aWx0aW4vaGVscC5jOjQyCiBtc2dpZCAicHJpbnQgYWxsIGF2YWlsYWJsZSBjb21tYW5kcyIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INCy0YHQtdGFINC00L7RgdGC0YPQv9C90YvRhSDQutC+0LzQsNC90LQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyCisjOiBidWlsdGluL2hlbHAuYzo0MworbXNnaWQgImV4Y2x1ZGUgZ3VpZGVzIgorbXNnc3RyICLQuNGB0LrQu9GO0YfQuNGC0Ywg0YDRg9C60L7QstC+0LTRgdGC0LLQsCIKKworIzogYnVpbHRpbi9oZWxwLmM6NDQKIG1zZ2lkICJwcmludCBsaXN0IG9mIHVzZWZ1bCBndWlkZXMiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGB0L/QuNGB0L7QuiDQv9C+0LvQtdC30L3Ri9GFINGA0YPQutC+0LLQvtC00YHRgtCyIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MworIzogYnVpbHRpbi9oZWxwLmM6NDUKIG1zZ2lkICJzaG93IG1hbiBwYWdlIgogbXNnc3RyICLQvtGC0LrRgNGL0YLRjCDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INCyINGE0L7RgNC80LDRgtC1IG1hbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2CiBtc2dpZCAic2hvdyBtYW51YWwgaW4gd2ViIGJyb3dzZXIiCiBtc2dzdHIgItC+0YLQutGA0YvRgtGMINGA0YPQutC+0LLQvtC00YHRgtCy0L4g0LIg0LLQtdCxLdCx0YDQsNGD0LfQtdGA0LUiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ2CisjOiBidWlsdGluL2hlbHAuYzo0OAogbXNnaWQgInNob3cgaW5mbyBwYWdlIgogbXNnc3RyICLQvtGC0LrRgNGL0YLRjCDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INCyINGE0L7RgNC80LDRgtC1IGluZm8iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjUyCisjOiBidWlsdGluL2hlbHAuYzo1NAogbXNnaWQgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzxjb21tYW5kPl0iCiBtc2dzdHIgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzzQutC+0LzQsNC90LTQsD5dIgogCi0jOiBidWlsdGluL2hlbHAuYzo2NAorIzogYnVpbHRpbi9oZWxwLmM6NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGhlbHAgZm9ybWF0ICclcyciCiBtc2dzdHIgItC90LXQvtC/0L7Qt9C90LDQvdC90YvQuSDRhNC+0YDQvNCw0YIg0YDRg9C60L7QstC+0LTRgdGC0LLQsCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjkxCisjOiBidWlsdGluL2hlbHAuYzo5MwogbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCiBtc2dzdHIgItCh0LHQvtC5INC/0YDQuCDQt9Cw0L/Rg9GB0LrQtSBlbWFjc2NsaWVudC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEwNAorIzogYnVpbHRpbi9oZWxwLmM6MTA2CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgogbXNnc3RyICLQodCx0L7QuSDQv9GA0Lgg0L7Qv9GA0LXQtNC10LvQtdC90LjQuCDQstC10YDRgdC40LggZW1hY3NjbGllbnQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMTIKKyM6IGJ1aWx0aW4vaGVscC5jOjExNAogIywgYy1mb3JtYXQKIG1zZ2lkICJlbWFjc2NsaWVudCB2ZXJzaW9uICclZCcgdG9vIG9sZCAoPCAyMikuIgogbXNnc3RyICLQstC10YDRgdC40Y8gZW1hY3NjbGllbnQgwqslZMK7INGB0LvQuNGI0LrQvtC8INGB0YLQsNGA0LDRjyAoPCAyMikuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzAgYnVpbHRpbi9oZWxwLmM6MTUxIGJ1aWx0aW4vaGVscC5jOjE2MCBidWlsdGluL2hlbHAuYzoxNjgKKyM6IGJ1aWx0aW4vaGVscC5jOjEzMiBidWlsdGluL2hlbHAuYzoxNTMgYnVpbHRpbi9oZWxwLmM6MTYyIGJ1aWx0aW4vaGVscC5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgogbXNnc3RyICLRgdCx0L7QuSDQv9GA0Lgg0LfQsNC/0YPRgdC60LUgwqslc8K7IgogCi0jOiBidWlsdGluL2hlbHAuYzoyMDUKKyM6IGJ1aWx0aW4vaGVscC5jOjIwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogcGF0aCBmb3IgdW5zdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKICJQbGVhc2UgY29uc2lkZXIgdXNpbmcgJ21hbi48dG9vbD4uY21kJyBpbnN0ZWFkLiIKIG1zZ3N0ciAiwqslc8K7OiDQv9GD0YLRjCDQtNC70Y8g0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNC+0Lkg0L/RgNC+0LPRgNCw0LzQvNGLINC/0YDQvtGB0LzQvtGC0YDQsCBtYW4uXG7QktC80LXRgdGC0L4g0Y3RgtC+0LPQviDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrbWFuLjzQv9GA0L7Qs9GA0LDQvNC80LA+LmNtZMK7LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjE3CisjOiBidWlsdGluL2hlbHAuYzoyMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IGNtZCBmb3Igc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCiAiUGxlYXNlIGNvbnNpZGVyIHVzaW5nICdtYW4uPHRvb2w+LnBhdGgnIGluc3RlYWQuIgogbXNnc3RyICLCqyVzwrs6INC60L7QvNCw0L3QtNCwINC00LvRjyDQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80L7QuSDQv9GA0L7Qs9GA0LDQvNC80Ysg0L/RgNC+0YHQvNC+0YLRgNCwIG1hbi5cbtCS0LzQtdGB0YLQviDRjdGC0L7Qs9C+INC40YHQv9C+0LvRjNC30YPQudGC0LUgwqttYW4uPNC/0YDQvtCz0YDQsNC80LzQsD4ucGF0aMK7LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzM0CisjOiBidWlsdGluL2hlbHAuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5rbm93biBtYW4gdmlld2VyLiIKIG1zZ3N0ciAiwqslc8K7OiDQvdC10LjQt9Cy0LXRgdGC0L3QsNGPINC/0YDQvtCz0YDQsNC80LzQsCDQv9GA0L7RgdC80L7RgtGA0LAgbWFuLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzUxCisjOiBidWlsdGluL2hlbHAuYzozNTMKIG1zZ2lkICJubyBtYW4gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgItC/0YDQvtCz0YDQsNC80LzQsCDQv9GA0L7RgdC80L7RgtGA0LAgbWFuINC90LUg0L7QsdGA0LDQsdC+0YLQsNC70LAg0LfQsNC/0YDQvtGBIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTkKKyM6IGJ1aWx0aW4vaGVscC5jOjM2MQogbXNnaWQgIm5vIGluZm8gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgItC/0YDQvtCz0YDQsNC80LzQsCDQv9GA0L7RgdC80L7RgtGA0LAgaW5mbyDQvdC1INC+0LHRgNCw0LHQvtGC0LDQu9CwINC30LDQv9GA0L7RgSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA4CisjOiBidWlsdGluL2hlbHAuYzo0MDMKIG1zZ2lkICJEZWZpbmluZyBhdHRyaWJ1dGVzIHBlciBwYXRoIgogbXNnc3RyICLQntC/0YDQtdC00LXQu9C10L3QuNC1INCw0YLRgNC40LHRg9GC0L7QsiDQtNC70Y8g0L/Rg9GC0LXQuSDRhNCw0LnQu9C+0LIg0LjQu9C4INC60LDRgtCw0LvQvtCz0L7QsiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA5CisjOiBidWlsdGluL2hlbHAuYzo0MDQKIG1zZ2lkICJFdmVyeWRheSBHaXQgV2l0aCAyMCBDb21tYW5kcyBPciBTbyIKIG1zZ3N0ciAi0J/QvtCy0YHQtdC00L3QtdCy0L3Ri9C5IEdpdCDRgSAyMCDQutC+0LzQsNC90LTQsNC80Lgg0LjQu9C4INC+0LrQvtC70L4g0YLQvtCz0L4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMAorIzogYnVpbHRpbi9oZWxwLmM6NDA1CiBtc2dpZCAiQSBHaXQgZ2xvc3NhcnkiCiBtc2dzdHIgItCT0LvQvtGB0YHQsNGA0LjQuSBHaXQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMQorIzogYnVpbHRpbi9oZWxwLmM6NDA2CiBtc2dpZCAiU3BlY2lmaWVzIGludGVudGlvbmFsbHkgdW50cmFja2VkIGZpbGVzIHRvIGlnbm9yZSIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90LjQtSDRgdC/0LXRhtC40LDQu9GM0L3QviDQuNCz0L3QvtGA0LjRgNGD0LXQvNGL0YUg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTIKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNwogbXNnaWQgIkRlZmluaW5nIHN1Ym1vZHVsZSBwcm9wZXJ0aWVzIgogbXNnc3RyICLQntC/0YDQtdC00LXQu9C10L3QuNC1INGB0LLQvtC50YHRgtCyINC/0L7QtNC80L7QtNGD0LvQtdC5IgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTMKKyM6IGJ1aWx0aW4vaGVscC5jOjQwOAogbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90LjQtSDRgNC10LTQsNC60YbQuNC5INC4INC00LjQsNC/0LDQt9C+0L3QvtCyINC00LvRjyBHaXQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxNAorIzogYnVpbHRpbi9oZWxwLmM6NDA5CiBtc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0IChmb3IgdmVyc2lvbiAxLjUuMSBvciBuZXdlcikiCiBtc2dzdHIgItCj0YfQtdCx0L3QvtC1INCy0LLQtdC00LXQvdC40LUg0LIgR2l0ICjQtNC70Y8g0LLQtdGA0YHQuNC4IDEuNS4xINC40LvQuCDQvdC+0LLQtdC1KSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDE1CisjOiBidWlsdGluL2hlbHAuYzo0MTAKIG1zZ2lkICJBbiBvdmVydmlldyBvZiByZWNvbW1lbmRlZCB3b3JrZmxvd3Mgd2l0aCBHaXQiCiBtc2dzdHIgItCe0LHQt9C+0YAg0YDQtdC60L7QvNC10L3QtNGD0LXQvNGL0YUg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtC10Lkg0LLRi9C/0L7Qu9C90Y/QtdC80YvRhSDQtNC10LnRgdGC0LLQuNC5INGBIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDI3CisjOiBidWlsdGluL2hlbHAuYzo0MjIKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOlxuIgogbXNnc3RyICLQntGB0L3QvtCy0L3Ri9C1INGA0YPQutC+0LLQvtC00YHRgtCy0LAgR2l0OlxuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDggYnVpbHRpbi9oZWxwLmM6NDY1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVzYWdlOiAlcyVzIgotbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMlcyIKLQotIzogYnVpbHRpbi9oZWxwLmM6NDgxCisjOiBidWlsdGluL2hlbHAuYzo0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYGdpdCAlcycgaXMgYWxpYXNlZCB0byBgJXMnIgogbXNnc3RyICLCq2dpdCAlc8K7IOKAlCDRjdGC0L4g0YHQvtC60YDQsNGJ0LXQvdC40LUg0LTQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUyCisjOiBidWlsdGluL2hlbHAuYzo0NjIgYnVpbHRpbi9oZWxwLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVzYWdlOiAlcyVzIgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMlcyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgdHlwZSBtaXNtYXRjaCBhdCAlcyIKIG1zZ3N0ciAi0L3QtdGB0L7QvtGC0LLQtdGC0YHRgtCy0LjQtSDRgtC40L/QsCDQvtCx0YrQtdC60YLQsCDQvdCwICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJkaWQgbm90IHJlY2VpdmUgZXhwZWN0ZWQgb2JqZWN0ICVzIgogbXNnc3RyICLQvtC20LjQtNCw0LXQvNGL0Lkg0L7QsdGK0LXQutGCINC90LUg0L/QvtC70YPRh9C10L0g0L3QsCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzOiBleHBlY3RlZCB0eXBlICVzLCBmb3VuZCAlcyIKIG1zZ3N0ciAi0L7QsdGK0LXQutGCICVzOiDQvtC20LjQtNCw0LXQvNGL0Lkg0YLQuNC/ICVzLCDQv9C+0LvRg9GH0LXQvSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjY3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCkBAIC02ODQzLDE1OSArNzcxOCwxNjMgQEAKIG1zZ3N0clsyXSAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QvtC70L3QuNGC0YwgJWQg0LHQsNC50YLQvtCyIgogbXNnc3RyWzNdICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C+0LvQvdC40YLRjCAlZCDQsdCw0LnRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc5CiBtc2dpZCAiZWFybHkgRU9GIgogbXNnc3RyICLQvdC10L7QttC40LTQsNC90L3Ri9C5INC60L7QvdC10YYg0YTQsNC50LvQsCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODAKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgogbXNnc3RyICLQvtGI0LjQsdC60LAg0YfRgtC10L3QuNGPINCy0LLQvtC00LAiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkyCiBtc2dpZCAidXNlZCBtb3JlIGJ5dGVzIHRoYW4gd2VyZSBhdmFpbGFibGUiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QviDQsdC+0LvRjNGI0LUg0LHQsNC50YIsINGH0LXQvCDQsdGL0LvQviDQtNC+0YHRgtGD0L/QvdC+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5OQogbXNnaWQgInBhY2sgdG9vIGxhcmdlIGZvciBjdXJyZW50IGRlZmluaXRpb24gb2Ygb2ZmX3QiCiBtc2dzdHIgItC/0LDQutC10YIg0YHQu9C40YjQutC+0Lwg0LHQvtC70YzRiNC+0Lkg0LTQu9GPINGC0LXQutGD0YnQtdCz0L4g0L7Qv9GA0LXQtNC10LvQtdC90LjRjyBvZmZfdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMDIgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjkyCittc2dpZCAicGFjayBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBzaXplIgorbXNnc3RyICLRgNCw0LfQvNC10YAg0L/QsNC60LXRgtCwINC/0YDQtdCy0YvRiNCw0LXRgiDQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0LTQvtC/0YPRgdGC0LjQvNGL0LkiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywgwqslc8K7IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrZmlsZSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMINGE0LDQudC7INC/0LDQutC10YLQsCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM2CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgItC90LXRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUg0L/QvtC00L/QuNGB0Lgg0L/QsNC60LXRgtCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIHZlcnNpb24gJTxQUkl1MzI+IHVuc3VwcG9ydGVkIgogbXNnc3RyICLQstC10YDRgdC40Y8g0L/QsNC60LXRgtCwICU8UFJJdTMyPiDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM1MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzU2CiAjLCBjLWZvcm1hdAotbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICVsdTogJXMiCi1tc2dzdHIgItCyINC/0LDQutC10YLQtSDRgdC+0LTQtdGA0LbQuNGC0YHRjyDQv9C+0LLRgNC10LbQtNC10L3QvdGL0Lkg0L7QsdGK0LXQutGCINC/0L4g0YHQvNC10YnQtdC90LjRjiAlbHU6ICVzIgorbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICU8UFJJdU1BWD46ICVzIgorbXNnc3RyICLQv9Cw0LrQtdGCINGB0L7QtNC10YDQttC40YIg0L/Qu9C+0YXQvtC5INC+0LHRitC10LrRgiDQv9C+INGB0LzQtdGJ0LXQvdC40Y4gJTxQUkl1TUFYPjogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluZmxhdGUgcmV0dXJuZWQgJWQiCiBtc2dzdHIgItC/0YDQvtCz0YDQsNC80LzQsCDRgdC20LDRgtC40Y8g0LLQtdGA0L3Rg9C70LAgJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTI3CiBtc2dpZCAib2Zmc2V0IHZhbHVlIG92ZXJmbG93IGZvciBkZWx0YSBiYXNlIG9iamVjdCIKIG1zZ3N0ciAi0L/QtdGA0LXQv9C+0LvQvdC10L3QuNC1INC30L3QsNGH0LXQvdC40Y8g0YHQvNC10YnQtdC90LjRjyDRgyDQsdCw0LfQvtCy0L7Qs9C+INC+0LHRitC10LrRgtCwINC00LXQu9GM0YLRiyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTMwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzUKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBpcyBvdXQgb2YgYm91bmQiCiBtc2dzdHIgItGB0LzQtdGJ0LXQvdC40LUg0LHQsNC30L7QstC+0Lkg0LTQtdC70YzRgtGLINCy0YvRiNC70L4g0LfQsCDQtNC+0L/Rg9GB0YLQuNC80YvQtSDQv9GA0LXQtNC10LvRiyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTM4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvYmplY3QgdHlwZSAlZCIKIG1zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90YvQuSDRgtC40L8g0L7QsdGK0LXQutGC0LAgJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc0CiBtc2dpZCAiY2Fubm90IHByZWFkIHBhY2sgZmlsZSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0YwgcHJlYWQg0LTQu9GPINGE0LDQudC70LAg0L/QsNC60LXRgtCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NgogIywgYy1mb3JtYXQKLW1zZ2lkICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJWx1IGJ5dGUgbWlzc2luZyIKLW1zZ2lkX3BsdXJhbCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICVsdSBieXRlcyBtaXNzaW5nIgotbXNnc3RyWzBdICLQv9GA0LXQttC00LXQstGA0LXQvNC10L3QvdC+0LUg0L7QutC+0L3Rh9Cw0L3QuNC1INGE0LDQudC70LAg0L/QsNC60LXRgtCwLCAlbHUg0LHQsNC50YIg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiIKLW1zZ3N0clsxXSAi0L/RgNC10LbQtNC10LLRgNC10LzQtdC90L3QvtC1INC+0LrQvtC90YfQsNC90LjQtSDRhNCw0LnQu9CwINC/0LDQutC10YLQsCwgJWx1INCx0LDQudGC0LAg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiIKLW1zZ3N0clsyXSAi0L/RgNC10LbQtNC10LLRgNC10LzQtdC90L3QvtC1INC+0LrQvtC90YfQsNC90LjQtSDRhNCw0LnQu9CwINC/0LDQutC10YLQsCwgJWx1INCx0LDQudGC0L7QsiDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCIgotbXNnc3RyWzNdICLQv9GA0LXQttC00LXQstGA0LXQvNC10L3QvdC+0LUg0L7QutC+0L3Rh9Cw0L3QuNC1INGE0LDQudC70LAg0L/QsNC60LXRgtCwLCAlbHUg0LHQsNC50YLQvtCyINC+0YLRgdGD0YLRgdGC0LLRg9C10YIiCittc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgorbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgorbXNnc3RyWzBdICLQv9GA0LXQttC00LXQstGA0LXQvNC10L3QvdC+0LUg0L7QutC+0L3Rh9Cw0L3QuNC1INGE0LDQudC70LAg0L/QsNC60LXRgtCwLCAlPFBSSXVNQVg+INCx0LDQudGCINC+0YLRgdGD0YLRgdGC0LLRg9C10YIiCittc2dzdHJbMV0gItC/0YDQtdC20LTQtdCy0YDQtdC80LXQvdC90L7QtSDQvtC60L7QvdGH0LDQvdC40LUg0YTQsNC50LvQsCDQv9Cw0LrQtdGC0LAsICU8UFJJdU1BWD4g0LHQsNC50YLQsCDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCIgorbXNnc3RyWzJdICLQv9GA0LXQttC00LXQstGA0LXQvNC10L3QvdC+0LUg0L7QutC+0L3Rh9Cw0L3QuNC1INGE0LDQudC70LAg0L/QsNC60LXRgtCwLCAlPFBSSXVNQVg+INCx0LDQudGC0L7QsiDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCIgorbXNnc3RyWzNdICLQv9GA0LXQttC00LXQstGA0LXQvNC10L3QvdC+0LUg0L7QutC+0L3Rh9Cw0L3QuNC1INGE0LDQudC70LAg0L/QsNC60LXRgtCwLCAlPFBSSXVNQVg+INCx0LDQudGC0L7QsiDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1OTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjYwMgogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgogbXNnc3RyICLRgdC10YDRjNC10LfQvdC+0LUg0L3QtdGB0L7QvtGC0LLQtdGC0YHRgtCy0LjQtSDQv9GA0Lgg0YDQsNGB0L/QsNC60L7QstC60LUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0MyBidWlsdGluL2luZGV4LXBhY2suYzo3NDkgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzcyCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDYgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDggYnVpbHRpbi9pbmRleC1wYWNrLmM6NzU0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc3NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODExIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJTSEExIENPTExJU0lPTiBGT1VORCBXSVRIICVzICEiCiBtc2dzdHIgItCd0JDQmdCU0JXQndCQINCa0J7Qm9Cb0JjQl9CY0K8gU0hBMSDQoSAlcyAhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjIKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODEyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgdGD0YnQtdGB0YLQstGD0Y7RidC40Lkg0L7QsdGK0LXQutGCICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJsb2Igb2JqZWN0ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YTQsNC50Lsg0LTQstC+0LjRh9C90L7Qs9C+INC+0LHRitC10LrRgtCwICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0LkgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ4CiBtc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgogbXNnc3RyICLQntGI0LjQsdC60LAg0LIg0L7QsdGK0LXQutGC0LUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhbGwgY2hpbGQgb2JqZWN0cyBvZiAlcyBhcmUgcmVhY2hhYmxlIgogbXNnc3RyICLQndC1INCy0YHQtSDQtNC+0YfQtdGA0L3QuNC1INC+0LHRitC10LrRgtGLICVzINC00L7RgdGC0LjQttC40LzRiyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTE3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk0OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTIyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk1MwogbXNnaWQgImZhaWxlZCB0byBhcHBseSBkZWx0YSIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L/RgNC4INC/0YDQuNC80LXQvdC10L3QuNC4INC00LXQu9GM0YLRiyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyMwogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgogbXNnc3RyICLQn9C+0LvRg9GH0LXQvdC40LUg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyMwogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgItCY0L3QtNC10LrRgdC40YDQvtCy0LDQvdC40LUg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NQogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAi0L/QsNC60LXRgiDQv9C+0LLRgNC10LbQtNC10L0gKNC90LXRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUgU0hBMSkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjAKIG1zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIGZzdGF0INC00LvRjyDRhNCw0LnQu9CwINC/0LDQutC10YLQsCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MwogbXNnaWQgInBhY2sgaGFzIGp1bmsgYXQgdGhlIGVuZCIKIG1zZ3N0ciAi0YTQsNC50Lsg0L/QsNC60LXRgtCwINGB0L7QtNC10YDQttC40YIg0LzRg9GB0L7RgCDQsiDQutC+0L3RhtC1IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc0CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAi0LHQtdC30YPQvNC90LDRjyDQv9GD0YLQsNC90LjRhtCwINCyIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk3CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAi0J7Qv9GA0LXQtNC10LvQtdC90LjQtSDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINC/0L7RgtC+0Lo6ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUwCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAi0LHQtdC30YPQvNC90LDRjyDQv9GD0YLQsNC90LjRhtCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKQEAgLTcwMDQsMTIgKzc4ODMsMTIgQEAKIG1zZ3N0clsyXSAi0LfQsNCy0LXRgNGI0LXQvdC+INGBICVkINC70L7QutCw0LvRjNC90YvQvNC4INC+0LHRitC10LrRgtCw0LzQuCIKIG1zZ3N0clszXSAi0LfQsNCy0LXRgNGI0LXQvdC+INGBICVkINC70L7QutCw0LvRjNC90YvQvNC4INC+0LHRitC10LrRgtCw0LzQuCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHRhaWwgY2hlY2tzdW0gZm9yICVzIChkaXNrIGNvcnJ1cHRpb24/KSIKIG1zZ3N0ciAi0J3QtdC+0LbQuNC00LDQvdC90LDRjyDQutC+0L3RgtGA0L7Qu9GM0L3QsNGPINGB0YPQvNC80LAg0LIg0LrQvtC90YbQtSAlcyAo0LTQuNGB0Log0L/QvtCy0YDQtdC20LTQtdC9PykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKIG1zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCkBAIC03MDE4LDU5ICs3ODk3LDU5IEBACiBtc2dzdHJbMl0gItC/0LDQutC10YIg0YHQvtC00LXRgNC20LjRgiAlZCDQvdC10YDQsNC30YDQtdGI0LXQvdC90YvRhSDQtNC10LvRjNGCIgogbXNnc3RyWzNdICLQv9Cw0LrQtdGCINGB0L7QtNC10YDQttC40YIgJWQg0L3QtdGA0LDQt9GA0LXRiNC10L3QvdGL0YUg0LTQtdC70YzRgiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINGB0LbQsNGC0Ywg0L/RgNC40YHQvtC10LTQuNC90LXQvdC90YvQuSDQvtCx0YrQtdC60YIgKCVkKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAi0LvQvtC60LDQu9GM0L3Ri9C5INC+0LHRitC10LrRgiAlcyDQv9C+0LLRgNC10LbQtNC10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzOTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzOTYKIG1zZ2lkICJlcnJvciB3aGlsZSBjbG9zaW5nIHBhY2sgZmlsZSIKIG1zZ3N0ciAi0L7RiNC40LHQutCwINC/0YDQuCDQt9Cw0LrRgNGL0YLQuNC4INGE0LDQudC70LAg0L/QsNC60LXRgtCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDA2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINGE0LDQudC7INGD0LTQtdGA0LbQsNC90LjRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNsb3NlIHdyaXR0ZW4ga2VlcCBmaWxlICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC60YDRi9GC0Ywg0LfQsNC/0LjRgdCw0L3QvdGL0Lkg0YTQsNC50Lsg0YPQtNC10YDQttCw0L3QuNGPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzMAogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtGF0YDQsNC90LjRgtGMINGE0LDQudC7INC/0LDQutC10YLQsCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0MQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCDRhNCw0LnQuyDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICLQv9C70L7RhdC+0LkgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgxIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgogbXNnc3RyICLQvdC10YIg0L/QvtC00LTQtdGA0LbQutC4INC/0L7RgtC+0LrQvtCyLCDQuNCz0L3QvtGA0LjRgNC+0LLQsNC90LjQtSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDRgdGD0YnQtdGB0YLQstGD0Y7RidC40Lkg0YTQsNC50Lsg0L/QsNC60LXRgtCwIMKrJXPCuyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGlkeCBmaWxlIGZvciAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMINGB0YPRidC10YHRgtCy0YPRjtGJ0LjQuSDRhNCw0LnQuyDQuNC90LTQtdC60YHQsCDQtNC70Y8gwqslc8K7IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTg5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vbiBkZWx0YTogJWQgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJub24gZGVsdGE6ICVkIG9iamVjdHMiCkBAIC03MDc5LDcgKzc5NTgsNyBAQAogbXNnc3RyWzJdICLQvdC1INC00LXQu9GM0YLRizogJWQg0L7QsdGK0LXQutGC0L7QsiIKIG1zZ3N0clszXSAi0L3QtSDQtNC10LvRjNGC0Ys6ICVkINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKQEAgLTcwODgsMTQxICs3OTY3LDEzNyBAQAogbXNnc3RyWzJdICLQtNC70LjQvdCwINGG0LXQv9C+0YfQutC4ID0gJWQ6ICVsdSDQvtCx0YrQtdC60YLQvtCyIgogbXNnc3RyWzNdICLQtNC70LjQvdCwINGG0LXQv9C+0YfQutC4ID0gJWQ6ICVsdSDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgogbXNnc3RyICLQuNC80Y8g0L/QsNC60LXRgtCwIMKrJXPCuyDQvdC1INC+0LrQsNC90YfQuNCy0LDQtdGC0YHRjyDQvdCwIMKrLnBhY2vCuyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYzOAotbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0LXRgNC90YPRgtGM0YHRjyDQsiDRgtC10LrRg9GJ0LjQuSDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5MCBidWlsdGluL2luZGV4LXBhY2suYzoxNjkzCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzA1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxMiBidWlsdGluL2luZGV4LXBhY2suYzoxNzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKIG1zZ3N0ciAi0L/Qu9C+0YXQvtC5ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzIzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzMyCiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIi0tZml4LXRoaW4g0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQsdC10LcgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0MAogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAiLS12ZXJpZnkg0LHQtdC3INGD0LrQsNC30LDQvdC40Y8g0LjQvNC10L3QuCDRhNCw0LnQu9CwINC/0LDQutC10YLQsCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXQg0LTQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjEKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0IHRlbXBsYXRlICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXQg0LTQu9GPINGI0LDQsdC70L7QvdCwIMKrJXPCuyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIG9wZW5kaXIg0LTQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NzcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkbGluayAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCByZWFkbGluayDQtNC70Y8gwqslc8K7IgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3OQorIzogYnVpbHRpbi9pbml0LWRiLmM6NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN5bWxpbmsgJyVzJyAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGB0LjQvNCy0L7Qu9GM0L3Rg9GOINGB0YHRi9C70LrRgyDCqyVzwrsg0L3QsCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg1CisjOiBidWlsdGluL2luaXQtZGIuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQutC+0L/QuNGA0L7QstCw0YLRjCDRhNCw0LnQuyDCqyVzwrsg0LIgwqslc8K7IgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4OQorIzogYnVpbHRpbi9pbml0LWRiLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdGVtcGxhdGUgJXMiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0L3QuNC1INGI0LDQsdC70L7QvdCwICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wbGF0ZXMgbm90IGZvdW5kICVzIgogbXNnc3RyICLRiNCw0LHQu9C+0L3RiyDQvdC1INC90LDQudC00LXQvdGLICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMzUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgY29weWluZyB0ZW1wbGF0ZXMgZnJvbSAnJXMnOiAlcyIKIG1zZ3N0ciAi0L3QtSDQutC+0L/QuNGA0YPRjiDRiNCw0LHQu9C+0L3RiyDQuNC3IMKrJXPCuzogJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMxMiBidWlsdGluL2luaXQtZGIuYzozMTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCi1tc2dzdHIgIiVzINGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MzQ0CisjOiBidWlsdGluL2luaXQtZGIuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LXRgtGB0Y8g0L7QsdGA0LDQsdC+0YLQsNGC0Ywg0YTQsNC50Lsg0YLQuNC/0LAgJWQiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NworIzogYnVpbHRpbi9pbml0LWRiLmM6MzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC10YLRgdGPINC/0LXRgNC10LzQtdGB0YLQuNGC0Ywg0YTQsNC50LsgJXMg0LIgJXMiCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJyVzJyBpcyBlaXRoZXIgIlJlaW5pdGlhbGl6ZWQKLSMuIGV4aXN0aW5nIiBvciAiSW5pdGlhbGl6ZWQgZW1wdHkiLCB0aGUgc2Vjb25kICIgc2hhcmVkIiBvcgotIy4gIiIsIGFuZCB0aGUgbGFzdCAnJXMlcycgaXMgdGhlIHZlcmJhdGltIGRpcmVjdG9yeSBuYW1lLgorIzogYnVpbHRpbi9pbml0LWRiLmM6MzQ3IGJ1aWx0aW4vaW5pdC1kYi5jOjM1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGV4aXN0cyIKK21zZ3N0ciAiJXMg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCIgorCiAjOiBidWlsdGluL2luaXQtZGIuYzo0MDMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMlcyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCi1tc2dzdHIgIiVzJXMg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSBHaXQg0LIgJXMlc1xuIgorbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3Rpbmcgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAi0J/QtdGA0LXQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0L0g0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNC5INC+0LHRidC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSBHaXQg0LIgJXMlc1xuIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo0MDQKLW1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIgotbXNnc3RyICLQn9C10YDQtdC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNGPINGB0YPRidC10YHRgtCy0YPRjtGJ0LXQs9C+IgorIywgYy1mb3JtYXQKK21zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAi0J/QtdGA0LXQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0L0g0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgR2l0INCyICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA0Ci1tc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkiCi1tc2dzdHIgItCY0L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDQvSDQv9GD0YHRgtC+0LkiCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAi0JjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNC9INC/0YPRgdGC0L7QuSDQvtCx0YnQuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgR2l0INCyICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA1Ci1tc2dpZCAiIHNoYXJlZCIKLW1zZ3N0ciAiINC+0LHRidC40LkiCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICLQmNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0L0g0L/Rg9GB0YLQvtC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgR2l0INCyICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDUyCisjOiBidWlsdGluL2luaXQtZGIuYzo0NTcKIG1zZ2lkICIiCiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHRlbXBsYXRlLWRpcmVjdG9yeT5dICIKICJbLS1zaGFyZWRbPTxwZXJtaXNzaW9ucz5dXSBbPGRpcmVjdG9yeT5dIgogbXNnc3RyICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT080LrQsNGC0LDQu9C+0LMt0YjQsNCx0LvQvtC90L7Qsj5dIFstLXNoYXJlZFs9PNC/0YDQsNCy0LAt0LTQvtGB0YLRg9C/0LA+XV0gWzzQutCw0YLQsNC70L7Qsz5dIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NzUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MAogbXNnaWQgInBlcm1pc3Npb25zIgogbXNnc3RyICLQv9GA0LDQstCwLdC00L7RgdGC0YPQv9CwIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NzYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQogbXNnaWQgInNwZWNpZnkgdGhhdCB0aGUgZ2l0IHJlcG9zaXRvcnkgaXMgdG8gYmUgc2hhcmVkIGFtb25nc3Qgc2V2ZXJhbCB1c2VycyIKIG1zZ3N0ciAi0YPQutCw0LbQuNGC0LUsINC10YHQu9C4INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgZ2l0INCx0YPQtNC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGM0YHRjyDQvdC10YHQutC+0LvRjNC60LjQvNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj9C80LgiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxMCBidWlsdGluL2luaXQtZGIuYzo1MTUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxNSBidWlsdGluL2luaXQtZGIuYzo1MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG1rZGlyICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBta2RpciAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTE5CisjOiBidWlsdGluL2luaXQtZGIuYzo1MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZGlyIHRvICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBjaGRpciDQsiAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTQwCisjOiBidWlsdGluL2luaXQtZGIuYzo1NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzIChvciAtLXdvcmstdHJlZT08ZGlyZWN0b3J5Pikgbm90IGFsbG93ZWQgd2l0aG91dCBzcGVjaWZ5aW5nICVzIChvciAtLWdpdC0iCiAiZGlyPTxkaXJlY3Rvcnk+KSIKIG1zZ3N0ciAiJXMgKNC40LvQuCAtLXdvcmstdHJlZT080LrQsNGC0LDQu9C+0LM+KSDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCx0LXQtyDRg9C60LDQt9Cw0L3QuNGPICVzICjQuNC70LggLS1naXQtZGlyPTzQutCw0YLQsNC70L7Qsz4pIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NjgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgYWNjZXNzIHdvcmsgdHJlZSAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LTQvtGB0YLRg9C/INC6INGA0LDQsdC+0YfQtdC80YMg0LrQsNGC0LDQu9C+0LPRgyDCqyVzwrsiCkBAIC03MjUzLDQyMyArODEyOCw0MjggQEAKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICLQvdC40YfQtdCz0L4g0L3QtSDQv9C10YDQtdC00LDQvdC+LCDQtNC70Y8g0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjRjyDRhNCw0LnQu9C+0LIg0L3QsCDQvNC10YHRgtC1IgogCi0jOiBidWlsdGluL2xvZy5jOjQzCisjOiBidWlsdGluL2xvZy5jOjQ0CiBtc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxvZyBbPNC+0L/RhtC40Lg+XSBbPNC00LjQsNC/0LDQt9C+0L0t0YDQtdC00LDQutGG0LjQuT5dIFtbLS1dIDzQv9GD0YLRjD7igKZdIgogCi0jOiBidWlsdGluL2xvZy5jOjQ0CisjOiBidWlsdGluL2xvZy5jOjQ1CiBtc2dpZCAiZ2l0IHNob3cgWzxvcHRpb25zPl0gPG9iamVjdD4uLi4iCiBtc2dzdHIgImdpdCBzaG93IFs80L7Qv9GG0LjQuD5dIDzQvtCx0YrQtdC60YI+4oCmIgogCi0jOiBidWlsdGluL2xvZy5jOjgzCisjOiBidWlsdGluL2xvZy5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgLS1kZWNvcmF0ZSBvcHRpb246ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0L/QsNGA0LDQvNC10YLRgCDQtNC70Y8gLS1kZWNvcmF0ZTogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM3CisjOiBidWlsdGluL2xvZy5jOjEzOQogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0YDQsNC30LvQuNGH0LjRjyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQwCiBtc2dpZCAic2hvdyBzb3VyY2UiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0LjRgdGC0L7Rh9C90LjQuiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxCiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0YLRjCDRhNCw0LnQuyDRgdC+0L7RgtCy0LXRgtGB0YLQstC40Y8g0L/QvtGH0YLQvtCy0YvRhSDQsNC00YDQtdGB0L7QsiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyCiBtc2dpZCAiZGVjb3JhdGUgb3B0aW9ucyIKIG1zZ3N0ciAi0L7Qv9GG0LjQuCDRhNC+0YDQvNCw0YLQsCDQstGL0LLQvtC00LAg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MworIzogYnVpbHRpbi9sb2cuYzoxNDUKIG1zZ2lkICJQcm9jZXNzIGxpbmUgcmFuZ2UgbixtIGluIGZpbGUsIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAi0J7QsdGA0LDQsdC+0YLQsNGC0Ywg0LTQuNCw0L/QsNC30L7QvSDRgdGC0YDQvtC6IG4sbSDQuNC3INGE0LDQudC70LAsINC90LDRh9C40L3QsNGPINGBIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjM5CisjOiBidWlsdGluL2xvZy5jOjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgItCk0LjQvdCw0LvRjNC90YvQuSDQstGL0LLQvtC0OiAlZCAlc1xuIgogCi0jOiBidWlsdGluL2xvZy5jOjQ3MQorIzogYnVpbHRpbi9sb2cuYzo0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHNob3cgJXM6IGJhZCBmaWxlIgogbXNnc3RyICJnaXQgc2hvdyAlczog0L/Qu9C+0YXQvtC5INGE0LDQudC7IgogCi0jOiBidWlsdGluL2xvZy5jOjQ4NSBidWlsdGluL2xvZy5jOjU3OAorIzogYnVpbHRpbi9sb2cuYzo1MDAgYnVpbHRpbi9sb2cuYzo1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQvtCx0YrQtdC60YIgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NjAyCisjOiBidWlsdGluL2xvZy5jOjYxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgogbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0L3Ri9C5INGC0LjQvyDQvtCx0YrQtdC60YLQsDogJWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzIyCisjOiBidWlsdGluL2xvZy5jOjczOQogbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCiBtc2dzdHIgItCyIGZvcm1hdC5oZWFkZXJzINC90LUg0YPQutCw0LfQsNC90L4g0LfQvdCw0YfQtdC90LjQtSIKIAotIzogYnVpbHRpbi9sb2cuYzo4MTIKKyM6IGJ1aWx0aW4vbG9nLmM6ODM5CiBtc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgogbXNnc3RyICLRgdC70LjRiNC60L7QvCDQtNC70LjQvdC90L7QtSDQuNC80Y8g0LLRi9GF0L7QtNC90L7Qs9C+INC60LDRgtCw0LvQvtCz0LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODI3CisjOiBidWlsdGluL2xvZy5jOjg1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICLQndGDINGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMINGE0LDQudC7INC40LfQvNC10L3QtdC90LjQuSAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo4NDEKKyM6IGJ1aWx0aW4vbG9nLmM6ODY4CiBtc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCiBtc2dzdHIgItCd0YPQttC10L0g0YLQvtC70YzQutC+INC+0LTQuNC9INC00LjQsNC/0LDQt9C+0L0uIgogCi0jOiBidWlsdGluL2xvZy5jOjg1MQorIzogYnVpbHRpbi9sb2cuYzo4NzgKIG1zZ2lkICJOb3QgYSByYW5nZS4iCiBtc2dzdHIgItCd0LUg0Y/QstC70Y/QtdGC0YHRjyDQtNC40LDQv9Cw0LfQvtC90L7QvC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTU3CisjOiBidWlsdGluL2xvZy5jOjk4NAogbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCiBtc2dzdHIgItCh0L7Qv9GA0L7QstC+0LTQuNGC0LXQu9GM0L3QvtC1INC/0LjRgdGM0LzQviDQtNC+0LvQttC90L4g0LHRi9GC0Ywg0LIg0YTQvtGA0LzQsNGC0LUg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLIgogCi0jOiBidWlsdGluL2xvZy5jOjEwMzYKKyM6IGJ1aWx0aW4vbG9nLmM6MTA2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgogbXNnc3RyICLQvtGI0LjQsdC60LAg0LIg0L/QvtC70LUgaW4tcmVwbHktdG86ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEwNjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTA5MQogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKIG1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbPNC+0L/RhtC40Lg+XSBbPNC90LDRh9C40L3QsNGPLdGBPiB8IDzQtNC40LDQv9Cw0LfQvtC9LdGA0LXQtNCw0LrRhtC40Lk+XSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTA5CisjOiBidWlsdGluL2xvZy5jOjExNDEKIG1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKIG1zZ3N0ciAi0JTQstCwINCy0YvRhdC+0LTQvdGL0YUg0LrQsNGC0LDQu9C+0LPQsD8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxNiBidWlsdGluL2xvZy5jOjE4NTcgYnVpbHRpbi9sb2cuYzoxODU5IGJ1aWx0aW4vbG9nLmM6MTg3MQorIzogYnVpbHRpbi9sb2cuYzoxMjQ4IGJ1aWx0aW4vbG9nLmM6MTg5MSBidWlsdGluL2xvZy5jOjE4OTMgYnVpbHRpbi9sb2cuYzoxOTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgogbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0L3Ri9C5INC60L7QvNC80LjRgiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjI2IGJ1aWx0aW4vbm90ZXMuYzoyNTMgYnVpbHRpbi9ub3Rlcy5jOjMwNAotIzogYnVpbHRpbi9ub3Rlcy5jOjMwNiBidWlsdGluL25vdGVzLmM6MzY5IGJ1aWx0aW4vbm90ZXMuYzo0MjQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTAgYnVpbHRpbi9ub3Rlcy5jOjUxNSBidWlsdGluL25vdGVzLmM6NTkzCi0jOiBidWlsdGluL25vdGVzLmM6NjU2IGJ1aWx0aW4vbm90ZXMuYzo4ODEgYnVpbHRpbi90YWcuYzo0NTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1OCBidWlsdGluL25vdGVzLmM6ODg0IGJ1aWx0aW4vdGFnLmM6NDU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGA0LDQt9GA0LXRiNC40YLRjCDCqyVzwrsg0LrQsNC6INGB0YHRi9C70LrRgy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIzMQorIzogYnVpbHRpbi9sb2cuYzoxMjYzCiBtc2dpZCAiQ291bGQgbm90IGZpbmQgZXhhY3QgbWVyZ2UgYmFzZS4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDRgtC+0YfQvdGD0Y4g0LHQsNC30YMg0YHQu9C40Y/QvdC40Y8uIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2NwogbXNnaWQgIiIKICJGYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKICJwbGVhc2UgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gdG8gdHJhY2sgYSByZW1vdGUgYnJhbmNoLlxuIgogIk9yIHlvdSBjb3VsZCBzcGVjaWZ5IGJhc2UgY29tbWl0IGJ5IC0tYmFzZT08YmFzZS1jb21taXQtaWQ+IG1hbnVhbGx5LiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINCy0YvRiNC10YHRgtC+0Y/RidGD0Y4g0LLQtdGC0LrRgy4g0JXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUg0LfQsNC/0LjRgdCw0YLRjCDQsdCw0LfQvtCy0YvQuSDQutC+0LzQvNC40YIg0LDQstGC0L7QvNC40YLQuNGH0LXRgdC60LgsINGC0L4g0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvINC00LvRjyDQvtGC0YHQu9C10LbQuNCy0LDQvdC40Y8g0LLQvdC10YjQvdC10Lkg0LLQtdGC0LrQuC5cbtCY0LvQuCDQttC1INCy0Ysg0LzQvtC20LXRgtC1INGD0LrQsNC30LDRgtGMINCx0LDQt9C+0LLRi9C5INC60L7QvNC80LjRgiDRg9C60LDQt9Cw0L3QuNC10LwgLS1iYXNlPTzQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgC3QsdCw0LfQvtCy0L7Qs9C+LdC60L7QvNC80LjRgtCwPiDQstGA0YPRh9C90YPRji4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI1NQorIzogYnVpbHRpbi9sb2cuYzoxMjg3CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INGC0L7Rh9C90YPRjiDQsdCw0LfRgyDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjY2CisjOiBidWlsdGluL2xvZy5jOjEyOTgKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGQgYmUgdGhlIGFuY2VzdG9yIG9mIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgItCx0LDQt9C+0LLRi9C5INC60L7QvNC80LjRgiDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0L/RgNC10LTQutC+0Lwg0YHQv9C40YHQutCwINGA0LXQtNCw0LrRhtC40LkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI3MAorIzogYnVpbHRpbi9sb2cuYzoxMzAyCiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkbid0IGJlIGluIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgItCx0LDQt9C+0LLRi9C5INC60L7QvNC80LjRgiDQvdC1INC00L7Qu9C20LXQvSDQsdGL0YLRjCDQsiDRgdC/0LjRgdC60LUg0YDQtdC00LDQutGG0LjQuSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzE5CisjOiBidWlsdGluL2xvZy5jOjEzNTEKIG1zZ2lkICJjYW5ub3QgZ2V0IHBhdGNoIGlkIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/QsNGC0YfQsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzc3CisjOiBidWlsdGluL2xvZy5jOjE0MDgKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMIFtQQVRDSCBuL21dINC00LDQttC1INC60L7Qs9C00LAg0L7QtNC40L0g0L/QsNGC0YciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4MAorIzogYnVpbHRpbi9sb2cuYzoxNDExCiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0YwgW1BBVENIXSDQtNCw0LbQtSDQutC+0LPQtNCwINC90LXRgdC60L7Qu9GM0LrQviDQv9Cw0YLRh9C10LkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4NAorIzogYnVpbHRpbi9sb2cuYzoxNDE1CiBtc2dpZCAicHJpbnQgcGF0Y2hlcyB0byBzdGFuZGFyZCBvdXQiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0L/QsNGC0YfQuCDQvdCwINGB0YLQsNC90LTQsNGA0YLQvdGL0Lkg0LLRi9Cy0L7QtCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg2CisjOiBidWlsdGluL2xvZy5jOjE0MTcKIG1zZ2lkICJnZW5lcmF0ZSBhIGNvdmVyIGxldHRlciIKIG1zZ3N0ciAi0LPQtdC90LXRgNC40YDQvtCy0LDRgtGMINGB0L7Qv9GA0L7QstC+0LTQuNGC0LXQu9GM0L3QvtC1INC/0LjRgdGM0LzQviIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg4CisjOiBidWlsdGluL2xvZy5jOjE0MTkKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQv9GA0L7RgdGC0YPRjiDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0Ywg0YfQuNGB0LXQuyDQtNC70Y8g0LjQvNC10L0g0LLRi9GF0L7QtNC90YvRhSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4OQorIzogYnVpbHRpbi9sb2cuYzoxNDIwCiBtc2dpZCAic2Z4IgogbXNnc3RyICLRgdGD0YTRhNC40LrRgSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkwCisjOiBidWlsdGluL2xvZy5jOjE0MjEKIG1zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGB0YPRhNGE0LjQutGBIDzRgdGD0YTRhNC40LrRgT4g0LLQvNC10YHRgtC+IMKrLnBhdGNowrsiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5MgorIzogYnVpbHRpbi9sb2cuYzoxNDIzCiBtc2dpZCAic3RhcnQgbnVtYmVyaW5nIHBhdGNoZXMgYXQgPG4+IGluc3RlYWQgb2YgMSIKIG1zZ3N0ciAi0L3QsNGH0LDRgtGMINC90YPQvNC10YDQsNGG0LjRjiDQv9Cw0YLRh9C10Lkg0YEgPG4+LCDQsCDQvdC1INGBIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5NAorIzogYnVpbHRpbi9sb2cuYzoxNDI1CiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICLQv9C+0LzQtdGC0LjRgtGMINGB0LXRgNC40Y4g0LrQsNC6INGN0L3QvdGD0Y4g0L/QvtC/0YvRgtC60YMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5NgorIzogYnVpbHRpbi9sb2cuYzoxNDI3Cittc2dpZCAiVXNlIFtSRkMgUEFUQ0hdIGluc3RlYWQgb2YgW1BBVENIXSIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIFtSRkMgUEFUQ0hdINCy0LzQtdGB0YLQviBbUEFUQ0hdIgorCisjOiBidWlsdGluL2xvZy5jOjE0MzAKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0YLRjCBbPNC/0YDQtdGE0LjQutGBPl0g0LLQvNC10YHRgtC+IFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5OQorIzogYnVpbHRpbi9sb2cuYzoxNDMzCiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgogbXNnc3RyICLRgdC+0YXRgNCw0L3QuNGC0Ywg0YDQtdC30YPQu9GM0YLQuNGA0YPRjtGJ0LjQtSDRhNCw0LnQu9GLINCyIDzQutCw0YLQsNC70L7Qsz4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwMgorIzogYnVpbHRpbi9sb2cuYzoxNDM2CiBtc2dpZCAiZG9uJ3Qgc3RyaXAvYWRkIFtQQVRDSF0iCiBtc2dzdHIgItC90LUg0L7QsdGA0LXQt9Cw0YLRjC/QtNC+0LHQsNCy0LvRj9GC0YwgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDA1CisjOiBidWlsdGluL2xvZy5jOjE0MzkKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0LTQstC+0LjRh9C90YvQtSDRgNCw0LfQu9C40YfQuNGPIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MQogbXNnaWQgIm91dHB1dCBhbGwtemVybyBoYXNoIGluIEZyb20gaGVhZGVyIgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINC90YPQu9C10LLRg9GOINGF0Y3RiC3RgdGD0LzQvNGDINCyINC30LDQs9C+0LvQvtCy0LrQtSBGcm9tIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MwogbXNnaWQgImRvbid0IGluY2x1ZGUgYSBwYXRjaCBtYXRjaGluZyBhIGNvbW1pdCB1cHN0cmVhbSIKIG1zZ3N0ciAi0L3QtSDQstC60LvRjtGH0LDRgtGMINC/0LDRgtGHLCDQtdGB0LvQuCDQutC+0LzQvNC40YIg0YPQttC1INC10YHRgtGMINCyINCy0YvRiNC10YHRgtC+0Y/RidC10Lkg0LLQtdGC0LrQtSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDExCisjOiBidWlsdGluL2xvZy5jOjE0NDUKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0LIg0YTQvtGA0LzQsNGC0LUg0L/QsNGC0YfQsCwg0LAg0L3QtSDQsiDRgdGC0LDQvdC00LDRgNGC0L3QvtC8ICjQv9Cw0YLRhyArINGB0YLQsNGC0LjRgdGC0LjQutCwKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDEzCisjOiBidWlsdGluL2xvZy5jOjE0NDcKIG1zZ2lkICJNZXNzYWdpbmciCiBtc2dzdHIgItCf0LXRgNC10LTQsNGH0LAg0YHQvtC+0LHRidC10L3QuNC5IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0OAogbXNnaWQgImhlYWRlciIKIG1zZ3N0ciAi0LfQsNCz0L7Qu9C+0LLQvtC6IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0OQogbXNnaWQgImFkZCBlbWFpbCBoZWFkZXIiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0LfQsNCz0L7Qu9C+0LLQvtC6INGB0L7QvtCx0YnQtdC90LjRjyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE2IGJ1aWx0aW4vbG9nLmM6MTQxOAorIzogYnVpbHRpbi9sb2cuYzoxNDUwIGJ1aWx0aW4vbG9nLmM6MTQ1MgogbXNnaWQgImVtYWlsIgogbXNnc3RyICLQv9C+0YfRgtCwIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MAogbXNnaWQgImFkZCBUbzogaGVhZGVyIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINC30LDQs9C+0LvQvtCy0L7QuiBUbzoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxOAorIzogYnVpbHRpbi9sb2cuYzoxNDUyCiBtc2dpZCAiYWRkIENjOiBoZWFkZXIiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0LfQsNCz0L7Qu9C+0LLQvtC6IENjOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIwCisjOiBidWlsdGluL2xvZy5jOjE0NTQKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAi0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMQorIzogYnVpbHRpbi9sb2cuYzoxNDU1CiBtc2dpZCAic2V0IEZyb20gYWRkcmVzcyB0byA8aWRlbnQ+IChvciBjb21taXR0ZXIgaWRlbnQgaWYgYWJzZW50KSIKIG1zZ3N0ciAi0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LDQtNGA0LXRgSDQvtGC0L/RgNCw0LLQuNGC0LXQu9GPINC90LAgPNC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAPiAo0LjQu9C4INC90LAg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC80LzQuNGC0LXRgNCwLCDQtdGB0LvQuCDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIzCisjOiBidWlsdGluL2xvZy5jOjE0NTcKIG1zZ2lkICJtZXNzYWdlLWlkIgogbXNnc3RyICLQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgC3RgdC+0L7QsdGJ0LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNAorIzogYnVpbHRpbi9sb2cuYzoxNDU4CiBtc2dpZCAibWFrZSBmaXJzdCBtYWlsIGEgcmVwbHkgdG8gPG1lc3NhZ2UtaWQ+IgogbXNnc3RyICLRgdC00LXQu9Cw0YLRjCDQv9C10YDQstC+0LUg0L/QuNGB0YzQvNC+INC+0YLQstC10YLQvtC8INC90LAgPNC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGALdGB0L7QvtCx0YnQtdC90LjRjz4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNSBidWlsdGluL2xvZy5jOjE0MjgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1OSBidWlsdGluL2xvZy5jOjE0NjIKIG1zZ2lkICJib3VuZGFyeSIKIG1zZ3N0ciAi0LLQu9C+0LbQtdC90LjQtSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI2CisjOiBidWlsdGluL2xvZy5jOjE0NjAKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICLQv9GA0LjQu9C+0LbQuNGC0Ywg0L/QsNGC0YciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyOQorIzogYnVpbHRpbi9sb2cuYzoxNDYzCiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAi0LLQutC70Y7Rh9C40YLRjCDQv9Cw0YLRhyDQsiDRgtC10LrRgdGCINC/0LjRgdGM0LzQsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDMzCisjOiBidWlsdGluL2xvZy5jOjE0NjcKIG1zZ2lkICJlbmFibGUgbWVzc2FnZSB0aHJlYWRpbmcsIHN0eWxlczogc2hhbGxvdywgZGVlcCIKIG1zZ3N0ciAi0LLQutC70Y7Rh9C40YLRjCDQsiDQv9C40YHRjNC80LDRhSDQuNC10YDQsNGA0YXQuNGH0L3QvtGB0YLRjCwg0YHRgtC40LvQuDogc2hhbGxvdyAo0YfQsNGB0YLQuNGH0L3Rg9GOKSwgZGVlcCAo0LPQu9GD0LHQvtC60YPRjikiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNQorIzogYnVpbHRpbi9sb2cuYzoxNDY5CiBtc2dpZCAic2lnbmF0dXJlIgogbXNnc3RyICLQv9C+0LTQv9C40YHRjCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM2CisjOiBidWlsdGluL2xvZy5jOjE0NzAKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0L/QvtC00L/QuNGB0YwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNworIzogYnVpbHRpbi9sb2cuYzoxNDcxCiBtc2dpZCAiYmFzZS1jb21taXQiCiBtc2dzdHIgItCx0LDQt9C+0LLRi9C5INC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM4CisjOiBidWlsdGluL2xvZy5jOjE0NzIKIG1zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGC0YDQtdCx0L7QstCw0L3QuNC4INC00LXRgNC10LLQsCDQuiDRgdC10YDQuNC4INC/0LDRgtGH0LXQuSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQwCisjOiBidWlsdGluL2xvZy5jOjE0NzQKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUgZnJvbSBhIGZpbGUiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0L/QvtC00L/QuNGB0Ywg0LjQtyDRhNCw0LnQu9CwIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NQogbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCiBtc2dzdHIgItC90LUg0LLRi9Cy0L7QtNC40YLRjCDQuNC80LXQvdCwINGE0LDQudC70L7QsiDQv9Cw0YLRh9C10LkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzMQorIzogYnVpbHRpbi9sb2cuYzoxNTY1CiBtc2dpZCAiLW4gYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICItbiDQuCAtayDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMzCi1tc2dpZCAiLS1zdWJqZWN0LXByZWZpeCBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCi1tc2dzdHIgIi0tc3ViamVjdC1wcmVmaXgg0LggLWsg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4uIgorIzogYnVpbHRpbi9sb2cuYzoxNTY3Cittc2dpZCAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCittc2dzdHIgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMg0LggLWsg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4uIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3NQogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1vbmx5INC90LUg0LjQvNC10LXRgiDRgdC80YvRgdC70LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MworIzogYnVpbHRpbi9sb2cuYzoxNTc3CiBtc2dpZCAiLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLW5hbWUtc3RhdHVzINC90LUg0LjQvNC10LXRgiDRgdC80YvRgdC70LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0NQorIzogYnVpbHRpbi9sb2cuYzoxNTc5CiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWNoZWNrINC90LUg0LjQvNC10LXRgiDRgdC80YvRgdC70LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3MworIzogYnVpbHRpbi9sb2cuYzoxNjA5CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCiBtc2dzdHIgItGB0YLQsNC90LTQsNGA0YLQvdGL0Lkg0LLRi9Cy0L7QtCDQuNC70Lgg0LrQsNGC0LDQu9C+0LM/IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINC60LDRgtCw0LvQvtCzIMKrJXPCuyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjcyCisjOiBidWlsdGluL2xvZy5jOjE3MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc2lnbmF0dXJlIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YTQsNC50Lsg0L/QvtC00L/QuNGB0Lggwqslc8K7IgogCi0jOiBidWlsdGluL2xvZy5jOjE3NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTc3NwogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICLQodCx0L7QuSDQv9GA0Lgg0YHQvtC30LTQsNC90LjQuCDQstGL0YXQvtC00L3Ri9GFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzkyCisjOiBidWlsdGluL2xvZy5jOjE4MjYKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKIG1zZ3N0ciAiZ2l0IGNoZXJyeSBbLXZdIFs80LLRi9GI0LXRgdGC0L7Rj9GJ0LDRjy3QstC10YLQutCwPiBbPNCz0L7Qu9C+0LLQsD4gWzzQvtCz0YDQsNC90LjRh9C10L3QuNC1Pl1dXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxODQ2CisjOiBidWlsdGluL2xvZy5jOjE4ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+ICIKICJtYW51YWxseS5cbiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INC+0YLRgdC70LXQttC40LLQsNC10LzRg9GOINCy0L3QtdGI0L3RjtGOINCy0LXRgtC60YMsINGD0LrQsNC20LjRgtC1IDzQstGL0YjQtdGB0YLQvtGP0YnRg9GOLdCy0LXRgtC60YM+INCy0YDRg9GH0L3Rg9GOLlxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6Mzc4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzzQvtC/0YbQuNC4Pl0gWzzRhNCw0LnQuz7igKZdIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDI3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTA3CiBtc2dpZCAiaWRlbnRpZnkgdGhlIGZpbGUgc3RhdHVzIHdpdGggdGFncyIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDQuNC80LXQvdCwINGE0LDQudC70L7QsiDRgSDQvNC10YLQutCw0LzQuCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQyOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOQogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YHQuNC80LLQvtC70Ysg0LIg0L3QuNC20L3QtdC8INGA0LXQs9C40YHRgtGA0LUg0LTQu9GPIMKr0L/RgNC10LTQv9C+0LvQvtC20LjRgtC10LvRjNC90L4g0LHQtdC3INC40LfQvNC10L3QtdC90LjQucK7INGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMQogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICLQv9C+0LrQsNC30YvQstCw0YLRjCDQutGN0YjQuNGA0L7QstCw0L3QvdGL0LUg0YTQsNC50LvRiyDQv9GA0Lgg0LLRi9Cy0L7QtNC1ICjQv9C+INGD0LzQvtC70YfQsNC90LjRjikiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MzMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTMKIG1zZ2lkICJzaG93IGRlbGV0ZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi0L/QvtC60LDQt9GL0LLQsNGC0Ywg0YPQtNCw0LvQtdC90L3Ri9C1INGE0LDQudC70Ysg0L/RgNC4INCy0YvQstC+0LTQtSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNQogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi0L/QvtC60LDQt9GL0LLQsNGC0Ywg0LjQt9C80LXQvdC10L3QvdGL0LUg0YTQsNC50LvRiyDQv9GA0Lgg0LLRi9Cy0L7QtNC1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDM3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE3CiBtc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLQv9C+0LrQsNC30YvQstCw0YLRjCDQtNGA0YPQs9C40LUg0YTQsNC50LvRiyDQv9GA0Lgg0LLRi9Cy0L7QtNC1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDM5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE5CiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINC40LPQvdC+0YDQuNGA0YPQtdC80YvQtSDRhNCw0LnQu9GLINC/0YDQuCDQstGL0LLQvtC00LUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NDIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjIKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi0L/QvtC60LDQt9GL0LLQsNGC0Ywg0LjQvNGPINC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90L7Qs9C+INC+0LHRitC10LrRgtCwINC90LAg0LLRi9Cy0L7QtNC1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDQ0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI0CiBtc2dpZCAic2hvdyBmaWxlcyBvbiB0aGUgZmlsZXN5c3RlbSB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCIKIG1zZ3N0ciAi0L/QvtC60LDQt9GL0LLQsNGC0Ywg0YTQsNC50LvRiyDQsiDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNC1LCDQutC+0YLQvtGA0YvQtSDQtNC+0LvQttC90Ysg0LHRi9GC0Ywg0YPQtNCw0LvQtdC90YsiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NDYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjYKIG1zZ2lkICJzaG93ICdvdGhlcicgZGlyZWN0b3JpZXMnIG5hbWVzIG9ubHkiCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINGC0L7Qu9GM0LrQviDQuNC80LXQvdCwINGDIMKr0LTRgNGD0LPQuNGFwrsg0LrQsNGC0LDQu9C+0LPQvtCyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDQ4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI4CiBtc2dpZCAic2hvdyBsaW5lIGVuZGluZ3Mgb2YgZmlsZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0LrQvtC90YbRiyDRgdGC0YDQvtC6INGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMAogbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCiBtc2dzdHIgItC90LUg0L/QvtC60LDQt9GL0LLQsNGC0Ywg0L/Rg9GB0YLRi9C1INC60LDRgtCw0LvQvtCz0LgiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzMKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINC90LUg0YHQu9C40YLRi9C1INGE0LDQudC70Ysg0L3QsCDQstGL0LLQvtC00LUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzUKIG1zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi0L/QvtC60LDQt9GL0LLQsNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0YDQsNC30YDQtdGI0LXQvdC40Lgg0LrQvtC90YTQu9C40LrRgtC+0LIg0Lgg0L7RgtC80LXQvdC1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDU3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM3CiBtc2dpZCAic2tpcCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIgogbXNnc3RyICLQv9GA0L7Qv9GD0YHRgtC40YLRjCDRhNCw0LnQu9GLLCDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40LUg0YjQsNCx0LvQvtC90YMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDAKIG1zZ2lkICJleGNsdWRlIHBhdHRlcm5zIGFyZSByZWFkIGZyb20gPGZpbGU+IgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0YjQsNCx0LvQvtC90Ysg0LjRgdC60LvRjtGH0LXQvdC40Y8g0LjQtyA80YTQsNC50Ls+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgItC/0YDQvtGH0LjRgtCw0YLRjCDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C1INC/0L7QutCw0YLQsNC70L7QttC90YvQtSDRiNCw0LHQu9C+0L3RiyDQuNGB0LrQu9GO0YfQtdC90LjRjyDQuNC3IDzRhNCw0LnQuz4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINGB0YLQsNC90LTQsNGA0YLQvdGL0LUg0LjRgdC60LvRjtGH0LXQvdC40Y8gZ2l0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ4CiBtc2dpZCAibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0L/Rg9GC0Lgg0L7RgtC90L7RgdC40YLQtdC70YzQvdC+INC60L7RgNC90LXQstC+0LPQviDQutCw0YLQsNC70L7Qs9CwINC/0YDQvtC10LrRgtCwIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDcxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUxCittc2dpZCAicmVjdXJzZSB0aHJvdWdoIHN1Ym1vZHVsZXMiCittc2dzdHIgItGA0LXQutGD0YDRgdC40LLQvdC+INC/0L4g0L/QvtC00LzQvtC00YPQu9GP0LwiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTMKIG1zZ2lkICJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiCiBtc2dzdHIgItC10YHQu9C4INC60LDQutC+0Lkt0LvQuNCx0L4gPNGE0LDQudC7PiDQvdC1INCyINC40L3QtNC10LrRgdC1LCDRgdGH0LjRgtCw0YLRjCDRjdGC0L4g0L7RiNC40LHQutC+0LkiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTQKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GMLdC00LXRgNC10LLQsCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NQogbXNnaWQgInByZXRlbmQgdGhhdCBwYXRocyByZW1vdmVkIHNpbmNlIDx0cmVlLWlzaD4gYXJlIHN0aWxsIHByZXNlbnQiCiBtc2dzdHIgItC/0YDQuNGC0LLQvtGA0LjRgtGM0YHRjywg0YfRgtC+INC/0YPRgtC4INGD0LTQsNC70LXQvdGLLCDRgi7Qui4gPNGD0LrQsNC30LDRgtC10LvRjC3QtNC10YDQtdCy0LA+INC10YnQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NwogbXNnaWQgInNob3cgZGVidWdnaW5nIGRhdGEiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0L7RgtC70LDQtNC+0YfQvdGD0Y4g0LjQvdGE0L7RgNC80LDRhtC40Y4iCiAKQEAgLTc3NTIsMTg2ICs4NjMyLDE3MiBAQAogbXNnaWQgImxpc3QgZW50aXJlIHRyZWU7IG5vdCBqdXN0IGN1cnJlbnQgZGlyZWN0b3J5IChpbXBsaWVzIC0tZnVsbC1uYW1lKSIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0L/QvtC70L3QvtC1INC00LXRgNC10LLQvjsg0L3QtSDRgtC+0LvRjNC60L4g0YLQtdC60YPRidC40Lkg0LrQsNGC0LDQu9C+0LMgKNCy0LrQu9GO0YfQsNC10YIg0LIg0YHQtdCx0Y8gLS1mdWxsLW5hbWUpIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NgogbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgogbXNnc3RyICJnaXQgbWVyZ2UgWzzQvtC/0YbQuNC4Pl0gWzzQutC+0LzQvNC40YI+4oCmXSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ2CisjOiBidWlsdGluL21lcmdlLmM6NDcKIG1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gPG1zZz4gSEVBRCA8Y29tbWl0PiIKIG1zZ3N0ciAiZ2l0IG1lcmdlIFs80L7Qv9GG0LjQuD5dIDzRgdC+0L7QsdGJ0LXQvdC40LU+IEhFQUQgPNC60L7QvNC80LjRgj4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NworIzogYnVpbHRpbi9tZXJnZS5jOjQ4CiBtc2dpZCAiZ2l0IG1lcmdlIC0tYWJvcnQiCiBtc2dzdHIgImdpdCBtZXJnZSAtLWFib3J0IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTAxCisjOiBidWlsdGluL21lcmdlLmM6MTAyCiBtc2dpZCAic3dpdGNoIGBtJyByZXF1aXJlcyBhIHZhbHVlIgogbXNnc3RyICLQv9GA0Lgg0YPQutCw0LfQsNC90LjQuCDQv9Cw0YDQsNC80LXRgtGA0LAgwqttwrsg0YLRgNC10LHRg9C10YLRgdGPINGD0LrQsNC30LDRgtGMINC30L3QsNGH0LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgbWVyZ2Ugc3RyYXRlZ3kgJyVzJy5cbiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INGB0YLRgNCw0YLQtdCz0LjRjiDRgdC70LjRj9C90LjRjyDCqyVzwrsuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAi0JTQvtGB0YLRg9C/0L3Ri9C1INGB0YLRgNCw0YLQtdCz0LjQuDoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgItCU0L7RgdGC0YPQv9C90YvQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60LjQtSDRgdGC0YDQsNGC0LXQs9C40Lg6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk0IGJ1aWx0aW4vcHVsbC5jOjEyNgorIzogYnVpbHRpbi9tZXJnZS5jOjE5NSBidWlsdGluL3B1bGwuYzoxMjcKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0YHRgtCw0YLQuNGB0YLQuNC60YMg0LjQt9C80LXQvdC10L3QuNC5INC/0L7RgdC70LUg0L7QutC+0L3Rh9Cw0L3QuNGPINGB0LvQuNGP0L3QuNGPIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEyOQorIzogYnVpbHRpbi9tZXJnZS5jOjE5OCBidWlsdGluL3B1bGwuYzoxMzAKIG1zZ2lkICJzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGB0YLQsNGC0LjRgdGC0LjQutGDINC40LfQvNC10L3QtdC90LjQuSDQv9C+0YHQu9C1INC+0LrQvtC90YfQsNC90LjRjyDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE5OCBidWlsdGluL3B1bGwuYzoxMzIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTkgYnVpbHRpbi9wdWxsLmM6MTMzCiBtc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKIG1zZ3N0ciAiKNGB0LjQvdC+0L3QuNC8INC00LvRjyAtLXN0YXQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAwIGJ1aWx0aW4vcHVsbC5jOjEzNQorIzogYnVpbHRpbi9tZXJnZS5jOjIwMSBidWlsdGluL3B1bGwuYzoxMzYKIG1zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0YwgKNC80LDQutGB0LjQvNGD0LwgPG4+KSDQt9Cw0L/QuNGB0LXQuSDQuNC3INC60L7RgNC+0YLQutC+0LPQviDQttGD0YDQvdCw0LvQsCDQsiDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0YMg0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDMgYnVpbHRpbi9wdWxsLmM6MTM4CisjOiBidWlsdGluL21lcmdlLmM6MjA0IGJ1aWx0aW4vcHVsbC5jOjEzOQogbXNnaWQgImNyZWF0ZSBhIHNpbmdsZSBjb21taXQgaW5zdGVhZCBvZiBkb2luZyBhIG1lcmdlIgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDQvtC00LjQvSDQutC+0LzQvNC40YIsINCy0LzQtdGB0YLQviDQstGL0L/QvtC70L3QtdC90LjRjyDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwNSBidWlsdGluL3B1bGwuYzoxNDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDYgYnVpbHRpbi9wdWxsLmM6MTQyCiBtc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgogbXNnc3RyICLRgdC00LXQu9Cw0YLRjCDQutC+0LzQvNC40YIsINC10YHQu9C4INGB0LvQuNGP0L3QuNC1INC/0YDQvtGI0LvQviDRg9GB0L/QtdGI0L3QviAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA3IGJ1aWx0aW4vcHVsbC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDUKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgItC+0YLRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0L/QtdGA0LXQtCDQstGL0L/QvtC70L3QtdC90LjQtdC8INC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA4CisjOiBidWlsdGluL21lcmdlLmM6MjA5CiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC/0LXRgNC10LzQvtGC0LrRgyDQstC/0LXRgNC10LQgKNC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxMCBidWlsdGluL3B1bGwuYzoxNTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTEgYnVpbHRpbi9wdWxsLmM6MTUxCiBtc2dpZCAiYWJvcnQgaWYgZmFzdC1mb3J3YXJkIGlzIG5vdCBwb3NzaWJsZSIKIG1zZ3N0ciAi0L7RgtC80LXQvdC40YLRjCDQstGL0L/QvtC70L3QtdC90LjQtSDRgdC70LjRj9C90LjRjywg0LXRgdC70Lgg0L/QtdGA0LXQvNC+0YLQutCwINCy0L/QtdGA0LXQtCDQvdC10LLQvtC30LzQvtC20L3QsCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNAotbXNnaWQgIlZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKLW1zZ3N0ciAi0J/RgNC+0LLQtdGA0LjRgtGMLCDRh9GC0L4g0YPQutCw0LfQsNC90L3Ri9C5INC60L7QvNC80LjRgiDQuNC80LXQtdGCINCy0LXRgNC90YPRjiDRjdC70LXQutGC0YDQvtC90L3Rg9GOINC/0L7QtNC/0LjRgdGMIEdQRyIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTUgYnVpbHRpbi9wdWxsLmM6MTU0Cittc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgorbXNnc3RyICLQv9GA0L7QstC10YDQuNGC0YwsINGH0YLQviDRg9C60LDQt9Cw0L3QvdGL0Lkg0LrQvtC80LzQuNGCINC40LzQtdC10YIg0LLQtdGA0L3Rg9GOINGN0LvQtdC60YLRgNC+0L3QvdGD0Y4g0L/QvtC00L/QuNGB0YwgR1BHIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE1IGJ1aWx0aW4vbm90ZXMuYzo3NzEgYnVpbHRpbi9wdWxsLmM6MTU3CisjOiBidWlsdGluL21lcmdlLmM6MjE2IGJ1aWx0aW4vbm90ZXMuYzo3NzQgYnVpbHRpbi9wdWxsLmM6MTU4CiAjOiBidWlsdGluL3JldmVydC5jOjg5CiBtc2dpZCAic3RyYXRlZ3kiCiBtc2dzdHIgItGB0YLRgNCw0YLQtdCz0LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL3B1bGwuYzoxNTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTU5CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9GD0LXQvNCw0Y8g0YHRgtGA0LDRgtC10LPQuNGPINGB0LvQuNGP0L3QuNGPIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE3IGJ1aWx0aW4vcHVsbC5jOjE2MQorIzogYnVpbHRpbi9tZXJnZS5jOjIxOCBidWlsdGluL3B1bGwuYzoxNjIKIG1zZ2lkICJvcHRpb249dmFsdWUiCiBtc2dzdHIgItC+0L/RhtC40Y890LfQvdCw0YfQtdC90LjQtSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOCBidWlsdGluL3B1bGwuYzoxNjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9wdWxsLmM6MTYzCiBtc2dpZCAib3B0aW9uIGZvciBzZWxlY3RlZCBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAi0L7Qv9GG0LjQuCDQtNC70Y8g0LLRi9Cx0YDQsNC90L3QvtC5INGB0YLRgNCw0YLQtdCz0LjQuCDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyMAorIzogYnVpbHRpbi9tZXJnZS5jOjIyMQogbXNnaWQgIm1lcmdlIGNvbW1pdCBtZXNzYWdlIChmb3IgYSBub24tZmFzdC1mb3J3YXJkIG1lcmdlKSIKIG1zZ3N0ciAi0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwINC00LvRjyDRgdC70LjRj9C90LjRjyAo0LTQu9GPINGB0LvQuNGP0L3QuNGPINCx0LXQtyDQv9C10YDQtdC80L7RgtC60Lgg0LLQv9C10YDQtdC0KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyNAorIzogYnVpbHRpbi9tZXJnZS5jOjIyNQogbXNnaWQgImFib3J0IHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgogbXNnc3RyICLQvtGC0LzQtdC90LjRgtGMINCy0YvQv9C+0LvQvdC10L3QuNC1INC/0YDQvtC40YHRhdC+0LTRj9GJ0LXQs9C+INGB0LvQuNGP0L3QuNGPIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjI2IGJ1aWx0aW4vcHVsbC5jOjE2OQorIzogYnVpbHRpbi9tZXJnZS5jOjIyNyBidWlsdGluL3B1bGwuYzoxNzAKIG1zZ2lkICJhbGxvdyBtZXJnaW5nIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNC40YLRjCDRgdC70LjRj9C90LjQtSDQvdC10YHQstGP0LfQsNC90L3Ri9GFINC40YHRgtC+0YDQuNC5INC40LfQvNC10L3QtdC90LjQuSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NAorIzogYnVpbHRpbi9tZXJnZS5jOjI1NQogbXNnaWQgImNvdWxkIG5vdCBydW4gc3Rhc2guIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBzdGFzaC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjAKIG1zZ2lkICJzdGFzaCBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC/0YDQuCDQstGL0L/QvtC70L3QtdC90LjQuCBzdGFzaCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2NAorIzogYnVpbHRpbi9tZXJnZS5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSB2YWxpZCBvYmplY3Q6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0L7QsdGK0LXQutGCOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI4MyBidWlsdGluL21lcmdlLmM6MzAwCisjOiBidWlsdGluL21lcmdlLmM6Mjg0IGJ1aWx0aW4vbWVyZ2UuYzozMDEKIG1zZ2lkICJyZWFkLXRyZWUgZmFpbGVkIgogbXNnc3RyICLRgdCx0L7QuSDQv9GA0Lgg0LLRi9C/0L7Qu9C90LXQvdC40LggcmVhZC10cmVlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzMwCisjOiBidWlsdGluL21lcmdlLmM6MzMxCiBtc2dpZCAiIChub3RoaW5nIHRvIHNxdWFzaCkiCiBtc2dzdHIgIiAo0L3QtdGH0LXQs9C+INGD0L/Qu9C+0YLQvdGP0YLRjCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICLQo9C/0LvQvtGC0L3QtdC90LjQtSDQutC+0LzQvNC40YLQsCDigJQg0L3QtSDQvtCx0L3QvtCy0LvRj9GPIEhFQURcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM0NyBidWlsdGluL21lcmdlLmM6NzY3IGJ1aWx0aW4vbWVyZ2UuYzo5ODcKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDAwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0LIgwqslc8K7IgotCi0jOiBidWlsdGluL21lcmdlLmM6Mzc1Ci1tc2dpZCAiV3JpdGluZyBTUVVBU0hfTVNHIgotbXNnc3RyICLQl9Cw0L/QuNGB0YwgU1FVQVNIX01TRyIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjM3NwotbXNnaWQgIkZpbmlzaGluZyBTUVVBU0hfTVNHIgotbXNnc3RyICLQl9Cw0LLQtdGA0YjQtdC90LjQtSBTUVVBU0hfTVNHIgotCi0jOiBidWlsdGluL21lcmdlLmM6NDAwCisjOiBidWlsdGluL21lcmdlLmM6MzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIG1lc3NhZ2UgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAi0J3QtdGCINGB0L7QvtCx0YnQtdC90LjRjyDRgdC70LjRj9C90LjRjyDigJQg0L3QtSDQvtCx0L3QvtCy0LvRj9C10LwgSEVBRFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDUxCisjOiBidWlsdGluL21lcmdlLmM6NDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIsKrJXPCuyDQvdC1INGD0LrQsNC30YvQstCw0LXRgiDQvdCwINC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjU0MQorIzogYnVpbHRpbi9tZXJnZS5jOjUzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBzdHJpbmc6ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0YHRgtGA0L7QutCwIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnM6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NjYwCisjOiBidWlsdGluL21lcmdlLmM6NjUyCiBtc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKIG1zZ3N0ciAi0J3QtSDQvtCx0YDQsNCx0LDRgtGL0LLQsNGOINC90LjRh9C10LPQviwg0LrRgNC+0LzQtSDRgdC70LjRj9C90LjRjyDQtNCy0YPRhSDRg9C60LDQt9Cw0YLQtdC70LXQuSDQvdCwINCy0LXRgtC60LguIgogCi0jOiBidWlsdGluL21lcmdlLmM6Njc0CisjOiBidWlsdGluL21lcmdlLmM6NjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gb3B0aW9uIGZvciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiBtc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdGL0Lkg0L/QsNGA0LDQvNC10YLRgCBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0YwgJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3NzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgZnJvbSAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LXRgdGC0Ywg0LjQtyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3ODUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgogbXNnc3RyICLQndC1INCy0YvQv9C+0LvQvdGP0Y4g0LrQvtC80LzQuNGCINGB0LvQuNGP0L3QuNGPOyDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGNvbW1pdMK7INC00LvRjyDQt9Cw0LLQtdGA0YjQtdC90LjRjyDRgdC70LjRj9C90LjRjy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc5MQorIzogYnVpbHRpbi9tZXJnZS5jOjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCkBAIC03OTQxLDE2MSArODgwNywxODMgQEAKICJ0aGUgY29tbWl0LlxuIgogbXNnc3RyICLQn9C+0LbQsNC70YPQudGB0YLQsCwg0LLQstC10LTQuNGC0LUg0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwLCDQtNC70Y8g0L7QsdGK0Y/RgdC90LXQvdC40Y8sINC30LDRh9C10Lwg0L3Rg9C20L3Qvlxu0Y3RgtC+INGB0LvQuNGP0L3QuNC1LCDQvtGB0L7QsdC10L3QvdC+LCDQtdGB0LvQuCDRjdGC0L4g0YHQu9C40Y/QvdC40LUg0L7QsdC90L7QstC70LXQvdC90L7QuSDQstGL0YjQtdGB0YLQvtGP0YnQtdC5XG7QstC10YLQutC4INCyINGC0LXQvNCw0YLQuNGH0LXRgdC60YPRjiDQstC10YLQutGDLlxuXG7QodGC0YDQvtC60LgsINC90LDRh9C40L3QsNGO0YnQuNC10YHRjyDRgSDCqyVjwrsg0LHRg9C00YPRgiDQv9GA0L7QuNCz0L3QvtGA0LjRgNC+0LLQsNC90YssINCwINC/0YPRgdGC0L7QtVxu0YHQvtC+0LHRidC10L3QuNC1INC+0YLQvNC10L3Rj9C10YIg0L/RgNC+0YbQtdGB0YEg0LrQvtC80LzQuNGC0LAuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NzIKIG1zZ2lkICJFbXB0eSBjb21taXQgbWVzc2FnZS4iCiBtc2dzdHIgItCf0YPRgdGC0L7QtSDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODM1CisjOiBidWlsdGluL21lcmdlLmM6NzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvbmRlcmZ1bC5cbiIKIG1zZ3N0ciAi0J/RgNC10LrRgNCw0YHQvdC+LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODkwCisjOiBidWlsdGluL21lcmdlLmM6ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0LLQtdGB0YLQuCDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQvtC1INGB0LvQuNGP0L3QuNC1OyDQuNGB0L/RgNCw0LLRjNGC0LUg0LrQvtC90YTQu9C40LrRgtGLINC4INGB0LTQtdC70LDQudGC0LUg0LrQvtC80LzQuNGCINGA0LXQt9GD0LvRjNGC0LDRgtCwLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTA2CisjOiBidWlsdGluL21lcmdlLmM6ODYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IgogbXNnc3RyICLCqyVzwrsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60L7QvNC80LjRgtC+0LwiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDQKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgItCd0LXRgiDRgtC10LrRg9GJ0LXQuSDQstC10YLQutC4LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0OQorIzogYnVpbHRpbi9tZXJnZS5jOjkwNgogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi0KMg0YLQtdC60YPRidC10Lkg0LLQtdGC0LrQuCDQvdC10YIg0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk1MQorIzogYnVpbHRpbi9tZXJnZS5jOjkwOAogbXNnaWQgIk5vIGRlZmF1bHQgdXBzdHJlYW0gZGVmaW5lZCBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi0JTQu9GPINGC0LXQutGD0YnQtdC5INCy0LXRgtC60Lgg0L3QtSDRg9C60LDQt9Cw0L3QsCDQstGL0YjQtdGB0YLQvtGP0YnQsNGPINCy0LXRgtC60LAg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTU2CisjOiBidWlsdGluL21lcmdlLmM6OTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHJlbW90ZS10cmFja2luZyBicmFuY2ggZm9yICVzIGZyb20gJXMiCiBtc2dzdHIgItCd0LUg0YPQutCw0LfQsNC90LAg0LLQvdC10YjQvdGP0Y8g0L7RgtGB0LvQtdC20LjQstCw0LXQvNCw0Y8g0LLQtdGC0LrQsCDQtNC70Y8gJXMg0L3QsCAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwOTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHZhbHVlICclcycgaW4gZW52aXJvbm1lbnQgJyVzJyIKK21zZ3N0ciAi0J/Qu9C+0YXQvtC1INC30L3QsNGH0LXQvdC40LUgwqslc8K7INCyINC/0LXRgNC10LzQtdC90L3QvtC5INC+0LrRgNGD0LbQtdC90LjRjyDCqyVzwrsiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQutGA0YvRgtGMIMKrJXPCuyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIGluICVzOiAlcyIKK21zZ3N0ciAi0L3QtSDRj9Cy0LvRj9C10YLRgdGPINGC0LXQvCwg0YfRgtC+INC80L7QttC90L4g0YHQu9C40YLRjCDQsiAlczogJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDk1Cittc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCittc2dzdHIgItC90LUg0Y/QstC70Y/QtdGC0YHRjyDRgtC10LwsINGH0YLQviDQvNC+0LbQvdC+INGB0LvQuNGC0YwiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTYyCiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgdG8gYWJvcnQgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICLQndC10YIg0YHQu9C40Y/QvdC40Y8sINC60L7RgtC+0YDQvtC1INC80L7QttC90L4g0L7RgtC80LXQvdC40YLRjCAo0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDRhNCw0LnQuyBNRVJHRV9IRUFEKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjM1CisjOiBidWlsdGluL21lcmdlLmM6MTE3OAogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgItCS0Ysg0L3QtSDQt9Cw0LLQtdGA0YjQuNC70Lgg0YHQu9C40Y/QvdC40LUgKNC/0YDQuNGB0YPRgtGB0YLQstGD0LXRgiDRhNCw0LnQuyBNRVJHRV9IRUFEKS5cbtCS0YvQv9C+0LvQvdC40YLQtSDQutC+0LzQvNC40YIg0LLQsNGI0LjRhSDQuNC30LzQtdC90LXQvdC40LksINC/0LXRgNC10LQg0YHQu9C40Y/QvdC40LXQvC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjQyCisjOiBidWlsdGluL21lcmdlLmM6MTE4NQogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCi1tc2dzdHIgItCS0Ysg0L3QtSDQt9Cw0LLQtdGA0YjQuNC70Lgg0L7RgtCx0L7RgCDQu9GD0YfRiNC10LPQviAo0L/RgNC40YHRg9GC0YHRgtCy0YPQtdGCINGE0LDQudC7IENIRVJSWV9QSUNLX0hFQUQpLlxu0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0YvQv9C+0LvQvdC40YLQtSDQutC+0LzQvNC40YIg0LLQsNGI0LjRhSDQuNC30LzQtdC90LXQvdC40LksINC/0LXRgNC10LQg0YHQu9C40Y/QvdC40LXQvC4iCittc2dzdHIgItCS0Ysg0L3QtSDQt9Cw0LLQtdGA0YjQuNC70Lgg0LrQvtC/0LjRgNC+0LLQsNC90LjQtSDQutC+0LzQvNC40YLQsCAo0L/RgNC40YHRg9GC0YHRgtCy0YPQtdGCINGE0LDQudC7IENIRVJSWV9QSUNLX0hFQUQpLlxu0J/QvtC20LDQu9GD0LnRgdGC0LAsINC30LDQutC+0LzQvNC40YLRjNGC0LUg0LLQsNGI0Lgg0LjQt9C80LXQvdC10L3QuNGPLCDQv9C10YDQtdC0INGB0LvQuNGP0L3QuNC10LwuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI0NQorIzogYnVpbHRpbi9tZXJnZS5jOjExODgKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCi1tc2dzdHIgItCS0Ysg0L3QtSDQt9Cw0LLQtdGA0YjQuNC70Lgg0L7RgtCx0L7RgCDQu9GD0YfRiNC10LPQviAo0L/RgNC40YHRg9GC0YHRgtCy0YPQtdGCINGE0LDQudC7IENIRVJSWV9QSUNLX0hFQUQpLiIKK21zZ3N0ciAi0JLRiyDQvdC1INC30LDQstC10YDRiNC40LvQuCDQutC+0L/QuNGA0L7QstCw0L3QuNC1INC60L7QvNC80LjRgtCwICjQv9GA0LjRgdGD0YLRgdGC0LLRg9C10YIg0YTQsNC50LsgQ0hFUlJZX1BJQ0tfSEVBRCkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NAorIzogYnVpbHRpbi9tZXJnZS5jOjExOTcKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKIG1zZ3N0ciAi0J3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4gLS1zcXVhc2gg0LggLS1uby1mZi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjYyCisjOiBidWlsdGluL21lcmdlLmM6MTIwNQogbXNnaWQgIk5vIGNvbW1pdCBzcGVjaWZpZWQgYW5kIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG5vdCBzZXQuIgogbXNnc3RyICLQmtC+0LzQvNC40YIg0L3QtSDRg9C60LDQt9Cw0L0g0Lgg0L/QsNGA0LDQvNC10YLRgCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSDQvdC1INGD0YHRgtCw0L3QvtCy0LvQtdC9LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjIyCiBtc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCiBtc2dzdHIgItCj0L/Qu9C+0YLQvdC10L3QuNC1INC60L7QvNC80LjRgtCwINCyINC/0YPRgdGC0YPRjiDQstC10YLQutGDINC10YnQtSDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjgxCisjOiBidWlsdGluL21lcmdlLmM6MTIyNAogbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgogbXNnc3RyICLQmtC+0LzQvNC40YIsINC90LUg0Y/QstC70Y/RjtGJ0LjQudGB0Y8g0L/QtdGA0LXQvNC+0YLQutC+0Lkg0LLQv9C10YDQtdC0LCDQvdC10YIg0YHQvNGL0YHQu9CwINC00LXQu9Cw0YLRjCDQsiDQv9GD0YHRgtGD0Y4g0LLQtdGC0LrRgy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg2CisjOiBidWlsdGluL21lcmdlLmM6MTIyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0YLQtdC8LCDRh9GC0L4g0LzQvtC20L3QviDRgdC70LjRgtGMIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4OAorIzogYnVpbHRpbi9tZXJnZS5jOjEyMzEKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICLQnNC+0LbQvdC+INGC0L7Qu9GM0LrQviDQvtC00LjQvSDQutC+0LzQvNC40YIg0LIg0L/Rg9GB0YLRg9GOINCy0LXRgtC60YMuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM0NAorIzogYnVpbHRpbi9tZXJnZS5jOjEyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSwgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAi0JrQvtC80LzQuNGCICVzINGB0L7QtNC10YDQttC40YIg0L3QtSDQtNC+0LLQtdGA0LXQvdC90YPRjiBHUEcg0L/QvtC00L/QuNGB0YwsINC/0YDQtdC00L/QvtC70L7QttC40YLQtdC70YzQvdC+INC+0YIgJXMuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM0NworIzogYnVpbHRpbi9tZXJnZS5jOjEyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgItCa0L7QvNC80LjRgiAlcyDRgdC+0LTQtdGA0LbQuNGCINC/0LvQvtGF0YPRjiBHUEcg0L/QvtC00L/QuNGB0YwsINC/0YDQtdC00L/QvtC70L7QttC40YLQtdC70YzQvdC+INC+0YIgJXMuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM1MAorIzogYnVpbHRpbi9tZXJnZS5jOjEyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgYSBHUEcgc2lnbmF0dXJlLiIKIG1zZ3N0ciAi0JrQvtC80LzQuNGCICVzINC90LUg0YHQvtC00LXRgNC20LjRgiBHUEcg0L/QvtC00L/QuNGB0YwuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM1MworIzogYnVpbHRpbi9tZXJnZS5jOjEyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGdvb2QgR1BHIHNpZ25hdHVyZSBieSAlc1xuIgogbXNnc3RyICLQmtC+0LzQvNC40YIgJXMg0YHQvtC00LXRgNC20LjRgiDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Rg9GOIEdQRyDQv9C+0LTQv9C40YHRjCwg0L7RgiAlcy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzU4CiBtc2dpZCAicmVmdXNpbmcgdG8gbWVyZ2UgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAi0L7RgtC60LDQtyDRgdC70LjRj9C90LjRjyDQvdC10YHQstGP0LfQsNC90L3Ri9GFINC40YHRgtC+0YDQuNC5INC40LfQvNC10L3QtdC90LjQuSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzY3Cittc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlLiIKK21zZ3N0ciAi0KPQttC1INC+0LHQvdC+0LLQu9C10L3Qvi4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgogbXNnc3RyICLQntCx0L3QvtCy0LvQtdC90LjQtSAlcy4uJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICLQn9C+0L/Ri9GC0LrQsCDRgtGA0LjQstC40LDQu9GM0L3QvtCz0L4g0YHQu9C40Y/QvdC40Y8g0LIg0LjQvdC00LXQutGB0LXigKZcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vcGUuXG4iCiBtc2dzdHIgItCd0LUg0LLRi9GI0LvQvi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDUwCittc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlLiBZZWVhaCEiCittc2dzdHIgItCj0LbQtSDQvtCx0L3QvtCy0LvQtdC90L4uINCa0YDRg9GC0L4hIgorCisjOiBidWlsdGluL21lcmdlLmM6MTQ1NgogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKIG1zZ3N0ciAi0J/QtdGA0LXQvNC+0YLQutCwINCy0L/QtdGA0LXQtCDQvdC10LLQvtC30LzQvtC20L3QsCwg0L7RgtC80LXQvdCwLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MzggYnVpbHRpbi9tZXJnZS5jOjE2MTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc5IGJ1aWx0aW4vbWVyZ2UuYzoxNTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgogbXNnc3RyICLQn9C10YDQtdC80L7RgtC60LAg0LTQtdGA0LXQstCwINC6INC40YHRhdC+0LTQvdC+0LzRgyDRgdC+0YHRgtC+0Y/QvdC40Y7igKZcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICLQn9C+0L/Ri9GC0LrQsCDRgdC70LjRj9C90LjRjyDRgSDQv9C+0LzQvtGJ0YzRjiDRgdGC0YDQsNGC0LXQs9C40LggJXPigKZcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgogbXNnc3RyICLQndC4INC+0LTQvdCwINGB0YLRgNCw0YLQtdCz0LjRjyDRgdC70LjRj9C90LjRjyDQvdC1INC+0LHRgNCw0LHQvtGC0LDQu9CwINGB0LvQuNGP0L3QuNC1LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYxMAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCiBtc2dzdHIgItCh0LHQvtC5INC/0YDQuCDRgdC70LjRj9C90LjQuCDRgSDQv9C+0LzQvtGJ0YzRjiDRgdGC0YDQsNGC0LXQs9C40LggJXMuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjE5CisjOiBidWlsdGluL21lcmdlLmM6MTU2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfRg9GOICVzINC00LvRjyDQv9C+0LTQs9C+0YLQvtCy0LrQuCDRgNGD0YfQvdC+0LPQviDRgNCw0LfRgNC10YjQtdC90LjRjyDQutC+0L3RhNC70LjQutGC0L7Qsi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MzEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSB3ZW50IHdlbGw7IHN0b3BwZWQgYmVmb3JlIGNvbW1pdHRpbmcgYXMgcmVxdWVzdGVkXG4iCiBtc2dzdHIgItCQ0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LUg0YHQu9C40Y/QvdC40LUg0L/RgNC+0YjQu9C+INGD0YHQv9C10YjQvdC+OyDQutCw0Log0Lgg0LfQsNC/0YDQsNGI0LjQstCw0LvQuCwg0L7RgdGC0LDQvdC+0LLQu9C10L3QviDQv9C10YDQtdC0INCy0YvQv9C+0LvQvdC10L3QuNC10Lwg0LrQvtC80LzQuNGC0LBcbiIKQEAgLTgxMjAsMjMgKzkwMDgsMjMgQEAKIG1zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHJlZj4gWzxjb21taXQ+XSIKIG1zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDzRgdGB0YvQu9C60LA+IFs80LrQvtC80LzQuNGCPl0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE3CiBtc2dpZCAib3V0cHV0IGFsbCBjb21tb24gYW5jZXN0b3JzIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQstGB0LXRhSDQvtCx0YnQuNGFINC/0YDQtdC00LrQvtCyIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTYKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOQogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0L/RgNC10LTQutC+0LIg0LTQu9GPINC+0LTQvdC+0LPQviDQvNC90L7Qs9C+0YXQvtC00L7QstC+0LPQviDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE4CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjEKIG1zZ2lkICJsaXN0IHJldnMgbm90IHJlYWNoYWJsZSBmcm9tIG90aGVycyIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INGA0LXQtNCw0YbQuNC5LCDQutC+0YLQvtGA0YvQtSDQvdC1INC00L7RgdGC0LjQttC40LzRiyDQuNC3INC00YDRg9CzINC00YDRg9Cz0LAiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIzCiBtc2dpZCAiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IgogbXNnc3RyICLRj9Cy0LvRj9C10YLRgdGPINC/0LXRgNCy0YvQvCDQv9GA0LXQtNC60L7QvCDQstGC0L7RgNC+0LPQviDRg9C60LDQt9Cw0L3QvdC+0LPQviDQutC+0LzQvNC40YLQsD8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMgorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjI1CiBtc2dpZCAiZmluZCB3aGVyZSA8Y29tbWl0PiBmb3JrZWQgZnJvbSByZWZsb2cgb2YgPHJlZj4iCiBtc2dzdHIgItC90LDQudGC0Lgg0LbRg9GA0L3QsNC70LUg0YHRgdGL0LvQvtC6IDzRgdGB0YvQu9C60LA+INCz0LTQtSDQuNC80LXQvdC90L4gPNC60L7QvNC80LjRgj4g0YDQsNC30LLQtdGC0LLQuNC70YHRjyIKIApAQCAtODE3OCw2ICs5MDY2LDM5IEBACiBtc2dpZCAic2V0IGxhYmVscyBmb3IgZmlsZTEvb3JpZy1maWxlL2ZpbGUyIgogbXNnc3RyICLRg9GB0YLQsNC90L7QstC40YLRjCDQvNC10YLQutC4INC00LvRjyDRhNCw0LnQuzEv0L7RgNC40LMt0YTQsNC50Lsv0YTQsNC50LsyIgogCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uICVzIgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QsNGPINC+0L/RhtC40Y8gJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQvtCx0YrQtdC60YIgwqslc8K7IgorCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2UuIElnbm9yaW5nICVzLiIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgYmFzZXMuIElnbm9yaW5nICVzLiIKK21zZ3N0clswXSAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7QsdGA0LDQsdC+0YLQsNGC0Ywg0LHQvtC70YzRiNC1ICVkINCx0LDQt9GLLiDQmNCz0L3QvtGA0LjRgNGD0Y4gJXMuIgorbXNnc3RyWzFdICLQvdC10LLQvtC30LzQvtC20L3QviDQvtCx0YDQsNCx0L7RgtCw0YLRjCDQsdC+0LvRjNGI0LUgJWQg0LHQsNC3LiDQmNCz0L3QvtGA0LjRgNGD0Y4gJXMuIgorbXNnc3RyWzJdICLQvdC10LLQvtC30LzQvtC20L3QviDQvtCx0YDQsNCx0L7RgtCw0YLRjCDQsdC+0LvRjNGI0LUgJWQg0LHQsNC3LiDQmNCz0L3QvtGA0LjRgNGD0Y4gJXMuIgorbXNnc3RyWzNdICLQvdC10LLQvtC30LzQvtC20L3QviDQvtCx0YDQsNCx0L7RgtCw0YLRjCDQsdC+0LvRjNGI0LUgJWQg0LHQsNC30YsuINCY0LPQvdC+0YDQuNGA0YPRjiAlcy4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjMKK21zZ2lkICJub3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgorbXNnc3RyICLQvdC1INC+0LHRgNCw0LHQsNGC0YvQstCw0Y4g0L3QuNGH0LXQs9C+LCDQutGA0L7QvNC1INGB0LvQuNGP0L3QuNGPINC00LLRg9GFINGD0LrQsNC30LDRgtC10LvQtdC5INC90LAg0LLQtdGC0LrQuC4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjkgYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSByZWYgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0YHQv9C+0LfQvdCw0YLRjCDRgdGB0YvQu9C60YMgwqslc8K7IgorCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIk1lcmdpbmcgJXMgd2l0aCAlc1xuIgorbXNnc3RyICLQodC70LjRj9C90LjQtSAlcyDQuCAlc1xuIgorCiAjOiBidWlsdGluL21rdHJlZS5jOjY1CiBtc2dpZCAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKIG1zZ3N0ciAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKQEAgLTgyMjAsMTA5ICs5MTQxLDEwOSBAQAogbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgogbXNnc3RyICLQv9GA0L7Qv9GD0YHQutCw0YLRjCDQvtGI0LjQsdC60Lgg0L/RgNC4INC/0LXRgNC10LzQtdGJ0LXQvdC40Lgv0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQuCIKIAotIzogYnVpbHRpbi9tdi5jOjE1MgorIzogYnVpbHRpbi9tdi5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiAnJXMnIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAi0YbQtdC70LXQstC+0Lkg0L/Rg9GC0Ywgwqslc8K7INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQutCw0YLQsNC70L7Qs9C+0LwiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNjMKKyM6IGJ1aWx0aW4vbXYuYzoxNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40Y8g0LjQtyDCqyVzwrsg0LIgwqslc8K7XG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNjcKKyM6IGJ1aWx0aW4vbXYuYzoxNzAKIG1zZ2lkICJiYWQgc291cmNlIgogbXNnc3RyICLQv9C70L7RhdC+0Lkg0LjRgdGC0L7Rh9C90LjQuiIKIAotIzogYnVpbHRpbi9tdi5jOjE3MAorIzogYnVpbHRpbi9tdi5jOjE3MwogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQv9C10YDQtdC80LXRgdGC0LjRgtGMINC60LDRgtCw0LvQvtCzINCyINGB0LDQvNC+0LPQviDRgdC10LHRjyIKIAotIzogYnVpbHRpbi9tdi5jOjE3MworIzogYnVpbHRpbi9tdi5jOjE3NgogbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQv9C10YDQtdC80LXRgdGC0LjRgtGMINC60LDRgtCw0LvQvtCzINCyINGE0LDQudC7IgogCi0jOiBidWlsdGluL212LmM6MTgyCisjOiBidWlsdGluL212LmM6MTg1CiBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKIG1zZ3N0ciAi0LjRgdGF0L7QtNC90YvQuSDQutCw0YLQsNC70L7QsyDQv9GD0YHRgiIKIAotIzogYnVpbHRpbi9tdi5jOjIwNworIzogYnVpbHRpbi9tdi5jOjIxMAogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgItC90LUg0L/QvtC0INCy0LXRgNGB0LjQvtC90L3Ri9C8INC60L7QvdGC0YDQvtC70LXQvCIKIAotIzogYnVpbHRpbi9tdi5jOjIxMAorIzogYnVpbHRpbi9tdi5jOjIxMwogbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKIG1zZ3N0ciAi0YbQtdC70LXQstC+0Lkg0L/Rg9GC0Ywg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCIgogCi0jOiBidWlsdGluL212LmM6MjE4CisjOiBidWlsdGluL212LmM6MjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgItC/0LXRgNC10LfQsNC/0LjRgdGMIMKrJXPCuyIKIAotIzogYnVpbHRpbi9tdi5jOjIyMQorIzogYnVpbHRpbi9tdi5jOjIyNAogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQt9Cw0L/QuNGB0LDRgtGMIgogCi0jOiBidWlsdGluL212LmM6MjI0CisjOiBidWlsdGluL212LmM6MjI3CiBtc2dpZCAibXVsdGlwbGUgc291cmNlcyBmb3IgdGhlIHNhbWUgdGFyZ2V0IgogbXNnc3RyICLQvdC10YHQutC+0LvRjNC60L4g0LjRgdGC0L7Rh9C90LjQutC+0LIg0LTQu9GPINC+0LTQvdC+0LPQviDRhtC10LvQtdCy0L7Qs9C+INC/0YPRgtC4IgogCi0jOiBidWlsdGluL212LmM6MjI2CisjOiBidWlsdGluL212LmM6MjI5CiBtc2dpZCAiZGVzdGluYXRpb24gZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICLRhtC10LvQtdCy0L7QuSDQutCw0YLQsNC70L7QsyDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCIgogCi0jOiBidWlsdGluL212LmM6MjMzCisjOiBidWlsdGluL212LmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogbXNnc3RyICIlcywg0L7RgtC60YPQtNCwPSVzLCDQutGD0LTQsD0lcyIKIAotIzogYnVpbHRpbi9tdi5jOjI1NAorIzogYnVpbHRpbi9tdi5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlc1xuIgogbXNnc3RyICLQn9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC1ICVzINCyICVzXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNjAgYnVpbHRpbi9yZW1vdGUuYzo3MTQgYnVpbHRpbi9yZXBhY2suYzozNjUKKyM6IGJ1aWx0aW4vbXYuYzoyNjMgYnVpbHRpbi9yZW1vdGUuYzo3MTAgYnVpbHRpbi9yZXBhY2suYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC/0YDQuCDQv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC4IMKrJXPCuyIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1NwogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs80L7Qv9GG0LjQuD5dIDzQutC+0LzQvNC40YI+4oCmIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU4CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tYWxsIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzzQvtC/0YbQuNC4Pl0gLS1hbGwiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNjAKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTkKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1zdGRpbiIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs80L7Qv9GG0LjQuD5dIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTEKIG1zZ2lkICJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0YLQvtC70YzQutC+INC40LzQtdC90LAgKNCx0LXQtyBTSEEtMSkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4g0LzQtdGC0LrQuCDQtNC70Y8g0LjQvNC10L3QvtCy0LDQvdC40Y8g0LrQvtC80LzQuNGC0L7QsiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNAogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+INGB0YHRi9C70LrQuCwg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC1IDzRiNCw0LHQu9C+0L3Rgz4gIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE3CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE2CiBtc2dpZCAibGlzdCBhbGwgY29tbWl0cyByZWFjaGFibGUgZnJvbSBhbGwgcmVmcyIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INCy0YHQtdGFINC60L7QvNC80LjRgtC+0LIsINC00L7RgdGC0LjQttC40LzRi9GFINGB0L4g0LLRgdC10YUg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE4CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE3CiBtc2dpZCAicmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0LjQtyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAogbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINCy0YvQstC+0LQgwqt1bmRlZmluZWTCuywg0LXRgdC70Lgg0L3QtSDQvdCw0LnQtNC10L3QviAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzI1CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzI0CiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbiB0aGUgaW5wdXQgKGludGVybmFsIHVzZSkiCiBtc2dzdHIgItGA0LDQt9GL0LzQtdC90L7QstGL0LLQsNGC0Ywg0LLQstC10LTQtdC90L3Ri9C1INC80LXRgtC60LggKNC00LvRjyDQstC90YPRgtGA0LXQvdC90LXQs9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPKSIKIApAQCAtODQzMSw2ICs5MzUyLDEwIEBACiBtc2dpZCAiZ2l0IG5vdGVzIGdldC1yZWYiCiBtc2dzdHIgImdpdCBub3RlcyBnZXQtcmVmIgogCisjOiBidWlsdGluL25vdGVzLmM6OTQKK21zZ2lkICJXcml0ZS9lZGl0IHRoZSBub3RlcyBmb3IgdGhlIGZvbGxvd2luZyBvYmplY3Q6IgorbXNnc3RyICLQl9Cw0L/QuNGB0LDRgtGML9C40LfQvNC10L3QuNGC0Ywg0LfQsNC80LXRgtC60Lgg0LTQu9GPINGB0LvQtdC00YPRjtGJ0LXQs9C+INC+0LHRitC10LrRgtCwOiIKKwogIzogYnVpbHRpbi9ub3Rlcy5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhcnQgJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKQEAgLTg0NDUsMzY2ICs5MzcwLDQ1NiBAQAogbXNnaWQgImZhaWxlZCB0byBmaW5pc2ggJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LLQtdGA0YjQuNGC0YwgwqtzaG93wrsg0LTQu9GPINC+0LHRitC10LrRgtCwIMKrJXPCuyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE3NCBidWlsdGluL3RhZy5jOjI0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDRhNCw0LnQuyDCqyVzwrsiCisjOiBidWlsdGluL25vdGVzLmM6MTk0Cittc2dpZCAicGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgorbXNnc3RyICLQv9C+0LbQsNC70YPQudGB0YLQsCwg0YPQutCw0LbQuNGC0LUg0YHQvtC00LXRgNC20LjQvNC+0LUg0LfQsNC80LXRgtC60LgsINC40YHQv9C+0LvRjNC30YPRjyDQvtC/0YbQuNGOIC1tINC40LvQuCAtRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE5MwotbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKLW1zZ3N0ciAi0J/QvtC20LDQu9GD0LnRgdGC0LAsINGD0LrQsNC20LjRgtC1INGB0L7QtNC10YDQttC40LzQvtC1INC30LDQvNC10YLQutC4LCDQuNGB0L/QvtC70YzQt9GD0Y8g0L7Qv9GG0LjRjiAtbSDQuNC70LggLUYiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDIKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDMKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDQvtCx0YrQtdC60YIg0LfQsNC80LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCi1tc2dzdHIgItCh0L7QtNC10YDQttC40LzQvtC1INC30LDQvNC10YLQutC4INC+0YHRgtCw0LvQvtGB0Ywg0LIgJXMiCittc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCittc2dzdHIgItGB0L7QtNC10YDQttC40LzQvtC1INC30LDQvNC10YLQutC4INC+0YHRgtCw0LvQvtGB0Ywg0LIgJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMzIgYnVpbHRpbi90YWcuYzo0MzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMzMgYnVpbHRpbi90YWcuYzo0MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywgwqslc8K7IgogCi0jOiBidWlsdGluL25vdGVzLmM6MjM0IGJ1aWx0aW4vdGFnLmM6NDQyCisjOiBidWlsdGluL25vdGVzLmM6MjM1IGJ1aWx0aW4vdGFnLmM6NDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDQuNC70Lgg0L/RgNC+0YfQuNGC0LDRgtGMIMKrJXPCuyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI1NgorIzogYnVpbHRpbi9ub3Rlcy5jOjI1NCBidWlsdGluL25vdGVzLmM6MzA1IGJ1aWx0aW4vbm90ZXMuYzozMDcKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzIgYnVpbHRpbi9ub3Rlcy5jOjQyNyBidWlsdGluL25vdGVzLmM6NTEzCisjOiBidWlsdGluL25vdGVzLmM6NTE4IGJ1aWx0aW4vbm90ZXMuYzo1OTYgYnVpbHRpbi9ub3Rlcy5jOjY1OQogIywgYy1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gcmVhZCBvYmplY3QgJyVzJy4iCi1tc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINC+0LHRitC10LrRgiDCqyVzwrsuIgorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9GA0LXRiNC40YLRjCDCqyVzwrsg0LrQsNC6INGB0YHRi9C70LrRgy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNjAKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNTcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQtNCw0L3QvdGL0LUg0LfQsNC80LXRgtC60Lgg0LjQtyDQvdC10LTQstC+0LjRh9C90L7Qs9C+INC+0LHRitC10LrRgtCwIMKrJXPCuy4iCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgb2JqZWN0ICclcycuIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQvtCx0YrQtdC60YIgwqslc8K7LiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM2MiBidWlsdGluL25vdGVzLmM6NDE3IGJ1aWx0aW4vbm90ZXMuYzo0OTMKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDUgYnVpbHRpbi9ub3Rlcy5jOjU4MSBidWlsdGluL25vdGVzLmM6NjQ5Ci0jOiBidWlsdGluL25vdGVzLmM6OTQ2CisjOiBidWlsdGluL25vdGVzLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIG5vdGUgZGF0YSBmcm9tIG5vbi1ibG9iIG9iamVjdCAnJXMnLiIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0LTQsNC90L3Ri9C1INC30LDQvNC10YLQutC4INC40Lcg0L3QtdC00LLQvtC40YfQvdC+0LPQviDQvtCx0YrQtdC60YLQsCDCqyVzwrsuIgorCisjOiBidWlsdGluL25vdGVzLmM6MzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINCy0LLQtdC00LXQvdC90LDRjyDRgdGC0YDQvtC60LA6IMKrJXPCuy4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQutC+0L/QuNGA0L7QstCw0YLRjCDQt9Cw0LzQtdGC0LrRgyDQuNC3IMKrJXPCuyDQsiDCqyVzwrsiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGUgZmlyc3QgJXMgd2lsbCBiZSByZXBsYWNlZCBieSBhCisjLiBnaXQgbm90ZXMgY29tbWFuZDogJ2FkZCcsICdtZXJnZScsICdyZW1vdmUnLCBldGMuCisjOiBidWlsdGluL25vdGVzLmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvICVzIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKK21zZ3N0ciAi0L7RgtC60LDQtyDQsiDQv9C10YDQtdC30LDQv9C40YHQuCAlcyDQt9Cw0LzQtdGC0L7QuiDQsiAlcyAo0LfQsCDQv9GA0LXQtNC10LvQsNC80LggcmVmcy9ub3Rlcy8pIgorCisjOiBidWlsdGluL25vdGVzLmM6MzY1IGJ1aWx0aW4vbm90ZXMuYzo0MjAgYnVpbHRpbi9ub3Rlcy5jOjQ5NgorIzogYnVpbHRpbi9ub3Rlcy5jOjUwOCBidWlsdGluL25vdGVzLmM6NTg0IGJ1aWx0aW4vbm90ZXMuYzo2NTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDIgYnVpbHRpbi9ub3Rlcy5jOjk0OSBidWlsdGluL25vdGVzLmM6OTcwCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1ldGVycyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0L3QviDRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INC/0LDRgNCw0LzQtdGC0YDQvtCyIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzc1IGJ1aWx0aW4vbm90ZXMuYzo2NjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjY2NQogIywgYy1mb3JtYXQKLW1zZ2lkICJObyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgotbXNnc3RyICLQndC1INC90LDQudC00LXQvdCwINC30LDQvNC10YLQutCwINC00LvRjyDQvtCx0YrQtdC60YLQsCAlcy4iCittc2dpZCAibm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIKK21zZ3N0ciAi0L3QtSDQvdCw0LnQtNC10L3QsCDQt9Cw0LzQtdGC0LrQsCDQtNC70Y8g0L7QsdGK0LXQutGC0LAgJXMuIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzk2IGJ1aWx0aW4vbm90ZXMuYzo1NTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzozOTkgYnVpbHRpbi9ub3Rlcy5jOjU2MgogbXNnaWQgIm5vdGUgY29udGVudHMgYXMgYSBzdHJpbmciCiBtc2dzdHIgItGC0LXQutGB0YLQvtCy0L7QtSDRgdC+0LTQtdGA0LbQuNC80L7QtSDQt9Cw0LzQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM5OSBidWlsdGluL25vdGVzLmM6NTYyCisjOiBidWlsdGluL25vdGVzLmM6NDAyIGJ1aWx0aW4vbm90ZXMuYzo1NjUKIG1zZ2lkICJub3RlIGNvbnRlbnRzIGluIGEgZmlsZSIKIG1zZ3N0ciAi0YHQvtC00LXRgNC20LjQvNC+0LUg0LfQsNC80LXRgtC60Lgg0LIg0YTQsNC50LvQtSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CisjOiBidWlsdGluL25vdGVzLmM6NDA1IGJ1aWx0aW4vbm90ZXMuYzo1NjgKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQuCDQvtGC0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0YPQutCw0LfQsNC90L3Ri9C5INC+0LHRitC10LrRgiDQt9Cw0LzQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CisjOiBidWlsdGluL25vdGVzLmM6NDA4IGJ1aWx0aW4vbm90ZXMuYzo1NzEKIG1zZ2lkICJyZXVzZSBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRg9C60LDQt9Cw0L3QvdGL0Lkg0L7QsdGK0LXQutGCINC30LDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDA4IGJ1aWx0aW4vbm90ZXMuYzo1NzEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTEgYnVpbHRpbi9ub3Rlcy5jOjU3NAogbXNnaWQgImFsbG93IHN0b3JpbmcgZW1wdHkgbm90ZSIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINGB0L7RhdGA0LDQvdC10L3QuNC1INC/0YPRgdGC0L7QuSDQt9Cw0LzQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwOSBidWlsdGluL25vdGVzLmM6NDgwCisjOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo0ODMKIG1zZ2lkICJyZXBsYWNlIGV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICLQt9Cw0LzQtdC90LjRgtGMINGB0YPRidC10YHRgtCy0YPRjtGJ0LjQtSDQt9Cw0LzQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQzNAorIzogYnVpbHRpbi9ub3Rlcy5jOjQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGFkZCBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKICJleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQtNC+0LHQsNCy0LjRgtGMINC30LDQvNC10YLQutGDLiDQndCw0LnQtNC10L3QsCDRgdGD0YnQtdGB0YLQstGD0Y7RidCw0Y8g0LfQsNC80LXRgtC60LAg0YMg0L7QsdGK0LXQutGC0LAgJXMuINCY0YHQv9C+0LvRjNC30YPQudGC0LUg0L/QsNGA0LDQvNC10YLRgCDCqy1mwrsg0LTQu9GPINC/0LXRgNC10LfQsNC/0LjRgdC4INGB0YPRidC10YHRgtCy0YPRjtGJ0LjRhSDQt9Cw0LzQtdGC0L7Qui4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NDkgYnVpbHRpbi9ub3Rlcy5jOjUyOAorIzogYnVpbHRpbi9ub3Rlcy5jOjQ1MiBidWlsdGluL25vdGVzLmM6NTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAi0J/QtdGA0LXQt9Cw0L/QuNGB0Ywg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNGFINC30LDQvNC10YLQvtC6INGDINC+0LHRitC10LrRgtCwICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NjAgYnVpbHRpbi9ub3Rlcy5jOjYyMSBidWlsdGluL25vdGVzLmM6ODg2CisjOiBidWlsdGluL25vdGVzLmM6NDYzIGJ1aWx0aW4vbm90ZXMuYzo2MjQgYnVpbHRpbi9ub3Rlcy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAi0KPQtNCw0LvQtdC90LjQtSDQt9Cw0LzQtdGC0LrQuCDRgyDQvtCx0YrQtdC60YLQsCAlc1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDgxCisjOiBidWlsdGluL25vdGVzLmM6NDg0CiBtc2dpZCAicmVhZCBvYmplY3RzIGZyb20gc3RkaW4iCiBtc2dzdHIgItC/0YDQvtGH0LjRgtCw0YLRjCDQvtCx0YrQtdC60YLRiyDQuNC3INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDgzCisjOiBidWlsdGluL25vdGVzLmM6NDg2CiBtc2dpZCAibG9hZCByZXdyaXRpbmcgY29uZmlnIGZvciA8Y29tbWFuZD4gKGltcGxpZXMgLS1zdGRpbikiCiBtc2dzdHIgItC30LDQs9GA0YPQt9C40YLRjCDQvdCw0YHRgtGA0L7QudC60Lgg0L/QtdGA0LXQt9Cw0L/QuNGB0Lgg0LTQu9GPINC60L7QvNCw0L3QtNGLIDzQutC+0LzQsNC90LTQsD4gKNCy0LrQu9GO0YfQsNC10YIg0LIg0YHQtdCx0Y8gLS1zdGRpbikiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MDQKIG1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCiBtc2dzdHIgItC/0LXRgNC10LTQsNC90L4g0YHQu9C40YjQutC+0Lwg0LzQsNC70L4g0L/QsNGA0LDQvNC10YLRgNC+0LIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUiCiAiIGV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0LrQvtC/0LjRgNC+0LLQsNGC0Ywg0LfQsNC80LXRgtC60YMuINCd0LDQudC00LXQvdCwINGB0YPRidC10YHRgtCy0YPRjtGJ0LDRjyDQt9Cw0LzQtdGC0LrQsCDRgyDQvtCx0YrQtdC60YLQsCAlcy4g0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQv9Cw0YDQsNC80LXRgtGAIMKrLWbCuyDQtNC70Y8g0L/QtdGA0LXQt9Cw0L/QuNGB0Lgg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNGFINC30LDQvNC10YLQvtC6LiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzNAorIzogYnVpbHRpbi9ub3Rlcy5jOjUzNwogIywgYy1mb3JtYXQKLW1zZ2lkICJNaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKLW1zZ3N0ciAi0J3QtdGCINC30LDQvNC10YLQvtC6INGDINC40YHRhdC+0LTQvdC+0LPQviDQvtCx0YrQtdC60YLQsCAlcy4g0J3QtdC70YzQt9GPINGB0LrQvtC/0LjRgNC+0LLQsNGC0YwuIgorbXNnaWQgIm1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90IGNvcHkuIgorbXNnc3RyICLQvdC10YIg0LfQsNC80LXRgtC+0Log0YMg0LjRgdGF0L7QtNC90L7Qs9C+INC+0LHRitC10LrRgtCwICVzLiDQndC10LvRjNC30Y8g0YHQutC+0L/QuNGA0L7QstCw0YLRjC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1ODYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCiAiUGxlYXNlIHVzZSAnZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQycgaW5zdGVhZC5cbiIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCAtbS8tRi8tYy8tQyDQtNC70Y8g0L/QvtC00LrQvtC80LDQvdC00YsgwqtlZGl0wrsg0YPRgdGC0LDRgNC10LvQuC5cbtCY0YHQv9C+0LvRjNC30YPQudGC0LUg0LLQvNC10YHRgtC+INC90LjRhSDCq2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUPCuy5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc2OAorIzogYnVpbHRpbi9ub3Rlcy5jOjY4NQorbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YHRgdGL0LvQutGDIE5PVEVTX01FUkdFX1BBUlRJQUwiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODcKK21zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9SRUYiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YHRgdGL0LvQutGDIE5PVEVTX01FUkdFX1JFRiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjY4OQorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJ2dpdCBub3RlcyBtZXJnZScgd29ya3RyZWUiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMgwqtnaXQgbm90ZXMgbWVyZ2XCuyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcwOQorbXNnaWQgImZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgdGB0YvQu9C60YMgTk9URVNfTUVSR0VfUEFSVElBTCIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcxMQorbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0LrQvtC80LzQuNGCINC40LcgTk9URVNfTUVSR0VfUEFSVElBTC4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTMKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINC60L7QvNC80LjRgiDQuNC3IE5PVEVTX01FUkdFX1BBUlRJQUwuIgorCisjOiBidWlsdGluL25vdGVzLmM6NzI2Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgTk9URVNfTUVSR0VfUkVGIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9GA0LXRiNC40YLRjCBOT1RFU19NRVJHRV9SRUYiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjkKK21zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNCy0LXRgNGI0LjRgtGMINGB0LvQuNC90LjQtSDQt9Cw0LzQtdGC0L7QuiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5vdGVzIG1lcmdlIHN0cmF0ZWd5ICVzIgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QsNGPINGB0YLRgNCw0YLQtdCz0LjRjyDRgdC70LjRj9C90LjRjyDQt9Cw0LzQtdGC0L7QuiAlcyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc3MQogbXNnaWQgIkdlbmVyYWwgb3B0aW9ucyIKIG1zZ3N0ciAi0J7QsdGJ0LjQtSDQvtC/0YbQuNC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6NzcwCisjOiBidWlsdGluL25vdGVzLmM6NzczCiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MgorIzogYnVpbHRpbi9ub3Rlcy5jOjc3NQogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgIgogIihtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vY2F0X3NvcnRfdW5pcSkiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNC40YLRjCDQutC+0L3RhNC70LjQutGC0Ysg0LfQsNC80LXRgtC+0Log0YEg0L/QvtC80L7RidGM0Y4g0YPQutCw0LfQsNC90L3QvtC5INGB0YLRgNCw0YLQtdCz0LjQuCAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uL2NhdF9zb3J0X3VuaXEpIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc0CisjOiBidWlsdGluL25vdGVzLmM6Nzc3CiBtc2dpZCAiQ29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAi0JrQvtC80LzQuNGCINC90LUg0YHQu9C40YLRi9GFINC30LDQvNC10YLQvtC6IgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc2CisjOiBidWlsdGluL25vdGVzLmM6Nzc5CiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAi0LfQsNCy0LXRgNGI0LjRgtGMINGB0LvQuNGP0L3QuNC1INC30LDQvNC10YLQvtC6INC60L7QvNC80LjRgtC+0Lwg0L3QtSDRgdC70LjRgtGL0YUg0LfQsNC80LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgogbXNnc3RyICLQntGC0LzQtdC90LAg0YDQsNC30YDQtdGI0LXQvdC40Y8g0YHQu9C40Y/QvdC40Y8g0LfQsNC80LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKIG1zZ3N0ciAi0L7RgtC80LXQvdC40YLRjCDRgdC70LjRj9C90LjQtSDQt9Cw0LzQtdGC0L7QuiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg1NwotIywgYy1mb3JtYXQKLW1zZ2lkICJBIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKLW1zZ3N0ciAi0KHQu9C40Y/QvdC40LUg0LfQsNC80LXRgtC+0Log0LIgJXMg0YPQttC1INCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0L3QsCAlcyIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTQKK21zZ2lkICJjYW5ub3QgbWl4IC0tY29tbWl0LCAtLWFib3J0IG9yIC1zLy0tc3RyYXRlZ3kiCittc2dzdHIgItC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IC0tY29tbWl0LCAtLWFib3J0INC4IC1zLy0tc3RyYXRlZ3kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTkKK21zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCittc2dzdHIgItCy0Ysg0LTQvtC70LbQvdGLINGD0LrQsNC30LDRgtGMINGB0YHRi9C70LrRgyDQt9Cw0LzQtdGC0LrQuCDQtNC70Y8g0YHQu9C40Y/QvdC40Y8iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biAtcy8tLXN0cmF0ZWd5OiAlcyIKK21zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90YvQuSDQv9Cw0YDQsNC80LXRgtGAINC00LvRjyAtcy8tLXN0cmF0ZWd5OiAlcyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJhIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKK21zZ3N0ciAi0YHQu9C40Y/QvdC40LUg0LfQsNC80LXRgtC+0Log0LIgJXMg0YPQttC1INCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0L3QsCAlcyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg2MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCDQsNC00YDQtdGBINGC0LXQutGD0YnQtdC5INGB0YHRi9C70LrQuCDQvdCwINC30LDQvNC10YLQutGDICglcykiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkF1dG9tYXRpYyBub3RlcyBtZXJnZSBmYWlsZWQuIEZpeCBjb25mbGljdHMgaW4gJXMgYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGgiCisiICdnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnLCBvciBhYm9ydCB0aGUgbWVyZ2Ugd2l0aCAnZ2l0IG5vdGVzIG1lcmdlICIKKyItLWFib3J0Jy5cbiIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDRgdC70LjRgtGMINC30LDQvNC10YLQutC4LiDQmNGB0L/RgNCw0LLRjNGC0LUg0LrQvtC90YTQu9C40LrRgtGLINCyICVzINC4INC30LDQutC+0LzQvNC40YLRjNGC0LUg0YDQtdC30YPQu9GM0YLQsNGCINGBINC/0L7QvNC+0YnRjNGOIMKrZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0wrssINC40LvQuCDQv9GA0LXRgNCy0LjRgtC1INC/0YDQvtGG0LXRgdGBINGB0LvQuNGP0L3QuNGPINGBINC/0L7QvNC+0YnRjNGOIMKrZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnTCuy5cbiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKIG1zZ3N0ciAi0KMg0L7QsdGK0LXQutGC0LAgJXMg0L3QtdGCINC30LDQvNC10YLQutC4XG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4OTkKIG1zZ2lkICJhdHRlbXB0IHRvIHJlbW92ZSBub24tZXhpc3RlbnQgbm90ZSBpcyBub3QgYW4gZXJyb3IiCiBtc2dzdHIgItC/0L7Qv9GL0YLQutCwINGD0LTQsNC70LXQvdC40Y8g0L3QtdGB0YPRidC10YHRgtCy0YPRjtGJ0LXQuSDQt9Cw0LzQtdGC0LrQuCDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0L7RiNC40LHQutC+0LkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDIKIG1zZ2lkICJyZWFkIG9iamVjdCBuYW1lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINC40LzQtdC90LAg0L7QsdGK0LXQutGC0L7QsiDQuNC3INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTgwCisjOiBidWlsdGluL25vdGVzLmM6OTQwIGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyNworbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9GP0YLRjCwg0YLQvtC70YzQutC+INC/0L7QutCw0LfQsNGC0Ywg0YHQv9C40YHQvtC6IgorCisjOiBidWlsdGluL25vdGVzLmM6OTQxCittc2dpZCAicmVwb3J0IHBydW5lZCBub3RlcyIKK21zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INGD0LTQsNC70LXQvdC90YvRhSDQt9Cw0LzQtdGC0L7QuiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjk4MwogbXNnaWQgIm5vdGVzLXJlZiIKIG1zZ3N0ciAi0YHRgdGL0LvQutCwLdC90LAt0LfQsNC80LXRgtC60YMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODQKIG1zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC30LDQvNC10YLQutGDINC40LcgPNGB0YHRi9C70LrQsC3QvdCwLdC30LDQvNC10YLQutGDPiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjEwMTYgYnVpbHRpbi9yZW1vdGUuYzoxNjI4CisjOiBidWlsdGluL25vdGVzLmM6MTAxOQogIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgotbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0L3QsNGPINC/0L7QtNC60L7QvNCw0L3QtNCwOiAlcyIKK21zZ2lkICJ1bmtub3duIHN1YmNvbW1hbmQ6ICVzIgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QsNGPINC/0L7QtNC60L7QvNCw0L3QtNCwOiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOQogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs80L7Qv9GG0LjQuD7igKZdIFs8IDzRgdC/0LjRgdC+0Lot0YHRgdGL0LvQvtC6PiB8IDwgPNGB0L/QuNGB0L7Qui3QvtCx0YrQtdC60YLQvtCyPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPG9wdGlvbnM+Li4uXSA8YmFzZS1uYW1lPiBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiZ2l0IHBhY2stb2JqZWN0cyBbPNC+0L/RhtC40Lg+4oCmXSA80LjQvNGPLdCx0LDQt9GLPiBbPCA80YHQv9C40YHQvtC6LdGB0YHRi9C70L7Quj4gfCA8IDzRgdC/0LjRgdC+0Lot0L7QsdGK0LXQutGC0L7Qsj5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3NSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICLQvtGI0LjQsdC60LAg0YHQttCw0YLQuNGPICglZCkiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzYzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc2OAogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgcGFja3MgYXJlIHNwbGl0IGR1ZSB0byBwYWNrLnBhY2tTaXplTGltaXQiCiBtc2dzdHIgItC+0YLQutC70Y7Rh9C10L3QuNC1INC30LDQv9C40YHQuCDQsdC40YLQvtCy0YvRhSDQutCw0YDRgiwg0YLQsNC6INC60LDQuiDQutCw0YDRgtGLINCx0YvQu9C4INGA0LDQt9Cx0LjRgtGLINC90LAg0YfQsNGB0YLQuCDQuNC3LdC30LAgcGFjay5wYWNrU2l6ZUxpbWl0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODEKIG1zZ2lkICJXcml0aW5nIG9iamVjdHMiCiBtc2dzdHIgItCX0LDQv9C40YHRjCDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjEwMTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTA3MAogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgYXMgc29tZSBvYmplY3RzIGFyZSBub3QgYmVpbmcgcGFja2VkIgogbXNnc3RyICLQvtGC0LrQu9GO0YfQtdC90LjQtSDQt9Cw0L/QuNGB0Lgg0LHQuNGC0L7QstGL0YUg0LrQsNGA0YIsINGC0LDQuiDQutCw0Log0L3QtdC60L7RgtC+0YDRi9C1INC+0LHRitC10LrRgtGLINC90LUg0LHRi9C70Lgg0YPQv9Cw0LrQvtCy0LDQvdGLIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxNzcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjM0NgogbXNnaWQgIkNvbXByZXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgItCh0LbQsNGC0LjQtSDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBpbmRleCB2ZXJzaW9uICVzIgogbXNnc3RyICLQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80LDRjyDQstC10YDRgdC40Y8g0LjQvdC00LXQutGB0LAgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICclcyciCiBtc2dzdHIgItC/0LvQvtGF0LDRjyDQstC10YDRgdC40Y8g0LjQvdC00LXQutGB0LAgwqslc8K7IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1OTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MwogbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0L/RgNC+0LPRgNC10YHRgSDQstGL0L/QvtC70L3QtdC90LjRjyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTk5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTUKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC/0YDQvtCz0YDQtdGB0YEg0LLRi9C/0L7Qu9C90LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk3CiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0L/RgNC+0LPRgNC10YHRgSDQstGL0L/QvtC70L3QtdC90LjRjyDQstC+INCy0YDQtdC80Y8g0LfQsNC/0LjRgdC4INC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAwCiBtc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgogbXNnc3RyICLQv9C+0YXQvtC20LUg0L3QsCAtLWFsbC1wcm9ncmVzcyDQv9GA0Lgg0LLQutC70Y7Rh9C10L3QvdC+0Lwg0L/RgNC+0LPRgNC10YHRgdC1INCy0YvQv9C+0LvQvdC10L3QuNGPIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMQogbXNnaWQgInZlcnNpb25bLG9mZnNldF0iCiBtc2dzdHIgItCy0LXRgNGB0LjRj1ss0YHQvNC10YnQtdC90LjQtV0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwNgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAyCiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAi0LfQsNC/0LjRgdCw0YLRjCDRhNCw0LnQuyDQuNC90LTQtdC60YHQsCDQv9Cw0LrQtdGC0LAg0LIg0YPQutCw0LfQsNC90L3QvtC5INCy0LXRgNGB0LjQuCDRhNC+0YDQvNCw0YLQsCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjA5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDUKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgogbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINC60LDQttC00L7Qs9C+INCy0YvRhdC+0LTQvdC+0LPQviDRhNCw0LnQu9CwINC/0LDQutC10YLQsCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjExCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDcKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDRh9GD0LbQuNC1INC+0LHRitC10LrRgtGLLCDQstC30Y/RgtGL0LUg0LjQtyDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3QvtCz0L4g0YXRgNCw0L3QuNC70LjRidCwINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA5CiBtc2dpZCAiaWdub3JlIHBhY2tlZCBvYmplY3RzIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0YPQv9Cw0LrQvtCy0LDQvdC90YvQtSDQvtCx0YrQtdC60YLRiyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjE1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTEKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgogbXNnc3RyICLQvtCz0YDQsNC90LjRh9C40YLRjCDQvtC60L3QviDQv9Cw0LrQtdGC0LAg0L/QviDQutC+0LvQuNGH0LXRgdGC0LLRgyDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxMwogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgItC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+INC6INC60L7Qu9C40YfQtdGB0YLQstGDINC+0LHRitC10LrRgtC+0LIg0L7Qs9GA0LDQvdC40YfQuNGC0Ywg0L7QutC90L4g0L/QsNC60LXRgtCwINC/0L4g0L/QsNC80Y/RgtC4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNQogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdCw0Y8g0YDQsNC30YDQtdGI0LXQvdC90LDRjyDQtNC70LjQvdCwINGG0LXQv9C+0YfQutC4INC00LXQu9GM0YIg0LIg0YDQtdC30YPQu9GM0YLQuNGA0YPRjtGJ0LXQvCDQv9Cw0LrQtdGC0LUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODE3CiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L/QvtCy0YLQvtGA0L3QviDRgdGD0YnQtdGB0YLQstGD0Y7RidC40LUg0LTQtdC70YzRgtGLIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxOQogbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQv9C+0LLRgtC+0YDQvdC+INGB0YPRidC10YHRgtCy0YPRjtGJ0LjQtSDQvtCx0YrQtdC60YLRiyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjI1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjEKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtCx0YrQtdC60YLRiyBPRlNfREVMVEEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIzCiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC80L3QvtCz0L7Qv9C+0YLQvtGH0L3QvtGB0YLRjCDQv9GA0Lgg0L/QvtC40YHQutC1INC70YPRh9GI0LjRhSDRgdC+0LLQv9Cw0LTQtdC90LjQuSDQtNC10LvRjNGCIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyNQogbXNnaWQgImRvIG5vdCBjcmVhdGUgYW4gZW1wdHkgcGFjayBvdXRwdXQiCiBtc2dzdHIgItC90LUg0YHQvtC30LTQsNCy0LDRgtGMINC/0YPRgdGC0YvQtSDQstGL0YXQvtC00L3Ri9C1INC/0LDQutC10YLRiyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjMxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjcKIG1zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0LDRgNCz0YPQvNC10L3RgtGLINGA0LXQtNCw0LrRhtC40Lkg0LjQtyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjMzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjkKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKIG1zZ3N0ciAi0L7Qs9GA0LDQvdC40YfQuNGC0YzRgdGPINC+0LHRitC10LrRgtCw0LzQuCwg0LrQvtGC0L7RgNGL0LUg0LXRidC1INC90LUg0YPQv9Cw0LrQvtCy0LDQvdGLIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMgogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICLQstC60LvRjtGH0LjRgtGMINC+0LHRitC10LrRgtGLLCDQutC+0YLQvtGA0YvQtSDQtNC+0YHRgtC40LbQuNC80Ysg0L/QviDQu9GO0LHQvtC5INC40Lcg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNQogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAi0LLQutC70Y7Rh9C40YLRjCDQvtCx0YrQtdC60YLRiywg0L3QsCDQutC+0YLQvtGA0YvQtSDRgdGB0YvQu9Cw0Y7RgtGB0Y8g0LfQsNC/0LjRgdC4INC20YPRgNC90LDQu9CwINGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzgKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICLQstC60LvRjtGH0LjRgtGMINC+0LHRitC10LrRgtGLLCDQvdCwINC60L7RgtC+0YDRi9C1INGB0YHRi9C70LDQtdGC0YHRjyDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQxCiBtc2dpZCAib3V0cHV0IHBhY2sgdG8gc3Rkb3V0IgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQv9Cw0LrQtdGCINC90LAgINGB0YLQsNC90LTQsNGA0YLQvdGL0Lkg0LLRi9Cy0L7QtCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDMKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgItCy0LrQu9GO0YfQuNGC0Ywg0L7QsdGK0LXQutGC0Ysg0LzQtdGC0L7Quiwg0LrQvtGC0L7RgNGL0LUg0YHRgdGL0LvQsNGO0YLRgdGPINC90LAg0YPQv9Cw0LrQvtCy0YvQstCw0LXQvNGL0LUg0L7QsdGK0LXQutGC0YsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ1CiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICLRgdC+0YXRgNCw0L3Rj9GC0Ywg0YHRgdGL0LvQutC4INC90LAg0L3QtdC00L7RgdGC0YPQv9C90YvQtSDQvtCx0YrQtdC60YLRiyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjUwIHBhcnNlLW9wdGlvbnMuaDoxNDIKLW1zZ2lkICJ0aW1lIgotbXNnc3RyICLQstGA0LXQvNGPIgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ3Cittc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICLQv9Cw0LrQvtCy0LDRgtGMINC90LXQtNC+0YHRgtC40LbQuNC80YvQtSDQvtCx0YrQtdC60YLRiyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDkKIG1zZ2lkICJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAi0YDQsNGB0L/QsNC60L7QstCw0YLRjCDQvdC10LTQvtGB0YLRg9C/0L3Ri9C1INC+0LHRitC10LrRgtGLLCDQutC+0YLQvtGA0YvQtSDQvdC+0LLQtdC1LCDRh9C10LwgPNCy0YDQtdC80Y8+IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1MgogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICLRgdC+0LfQtNCw0LLQsNGC0Ywg0YLQvtC90LrQuNC1INC/0LDQutC10YLRiyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTQKIG1zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKIG1zZ3N0ciAi0YHQvtC30LTQsNCy0LDRgtGMINC/0LDQutC10YLRiywg0L/QvtC00YXQvtC00Y/RidC40LUg0LTQu9GPINGH0LDRgdGC0LjRh9C90YvRhSDQuNC30LLQu9C10YfQtdC90LjQuSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTYKIG1zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0L/QsNC60LXRgtGLLCDRgNGP0LTQvtC8INGBINC60L7RgtC+0YDRi9C80Lgg0LvQtdC20LjRgiAua2VlcCDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjYwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTgKIG1zZ2lkICJwYWNrIGNvbXByZXNzaW9uIGxldmVsIgogbXNnc3RyICLRg9GA0L7QstC10L3RjCDRgdC20LDRgtC40Y8g0L/QsNC60LXRgtCwIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2MAogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICLQvdC1INGB0LrRgNGL0LLQsNGC0Ywg0LrQvtC80LzQuNGC0Ysg0YHRgNCw0YnQtdC90LjRj9C80LgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODYyCiBtc2dpZCAidXNlIGEgYml0bWFwIGluZGV4IGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCBjb3VudGluZyBvYmplY3RzIgogbXNnc3RyICLQv9C+INCy0L7Qt9C80L7QttC90L7RgdGC0Lgg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC40L3QtNC10LrRgSDQsiDQsdC40YLQvtCy0YvRhSDQutCw0YDRgtCw0YUsINC00LvRjyDRg9GB0LrQvtGA0LXQvdC40Y8g0L/QvtC00YHRh9C10YLQsCDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2NAogbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IHRvZ2V0aGVyIHdpdGggdGhlIHBhY2sgaW5kZXgiCiBtc2dzdHIgItC30LDQv9C40YHRjCDQuNC90LTQtdC60YHQsCDQsiDQsdC40YLQvtCy0YvRhSDQutCw0YDRgtCw0YUg0LLQvNC10YHRgtC1INGBINC40L3QtNC10LrRgdC+0Lwg0L/QsNC60LXRgtCwIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk5MwogbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgItCf0L7QtNGB0YfQtdGCINC+0LHRitC10LrRgtC+0LIiCiAKQEAgLTg4MzIsMTUgKzk4NDcsMTEgQEAKIG1zZ2lkICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLWV4cGlyZSA8dGltZT5dIFstLV0gWzxoZWFkPi4uLl0iCiBtc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tZXhwaXJlIDzQstGA0LXQvNGPPl0gWy0tXSBbPNC40LzRjy3QstC10YLQutC4PuKApl0iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyNQotbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9GP0YLRjCwg0YLQvtC70YzQutC+INC/0L7QutCw0LfQsNGC0Ywg0YHQv9C40YHQvtC6IgotCi0jOiBidWlsdGluL3BydW5lLmM6MTA2IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjYKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDYgYnVpbHRpbi93b3JrdHJlZS5jOjEyOAogbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INGD0LTQsNC70LXQvdC90YvRhSDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTA5IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjgKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkgYnVpbHRpbi93b3JrdHJlZS5jOjEzMAogbXNnaWQgImV4cGlyZSBvYmplY3RzIG9sZGVyIHRoYW4gPHRpbWU+IgogbXNnc3RyICLRg9C00LDQu9C40YLRjCDQvtCx0YrQtdC60YLRiyDRgdGC0LDRgNC10LUg0YfQtdC8IDzQtNCw0YLQsC3QvtC60L7QvdGH0LDQvdC40Y8+IgogCkBAIC04ODQ4LDczICs5ODU5LDYyIEBACiBtc2dpZCAiY2Fubm90IHBydW5lIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0L/QvtGH0LjRgdGC0LjRgtGMINC90LXQuNGB0L/QvtC70YzQt9GD0LXQvNGL0LUg0L7QsdGK0LXQutGC0Ysg0LIgcHJlY2lvdXMtb2JqZWN0cyDRgNC10L/QvtC30LjRgtC+0YDQuNC4IgogCi0jOiBidWlsdGluL3B1bGwuYzo3MgorIzogYnVpbHRpbi9wdWxsLmM6NTEgYnVpbHRpbi9wdWxsLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgorbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSAlczogJXMiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjczCiBtc2dpZCAiZ2l0IHB1bGwgWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBwdWxsIFs80L7Qv9GG0LjQuD5dIFs80YDQtdC/0L7Qt9C40YLQvtGA0LjQuT4gWzzRgdC/0LXRhtC40YTQuNC60LDRhtC40Y8t0YHRgdGL0LvQutC4PuKApl1dIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMjAKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyMQogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBtZXJnaW5nIgogbXNnc3RyICLQntC/0YbQuNC4LCDRgdCy0Y/Qt9Cw0L3QvdGL0LUg0YHQviDRgdC70LjRj9C90LjQtdC8IgogCi0jOiBidWlsdGluL3B1bGwuYzoxMjMKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyNAogbXNnaWQgImluY29ycG9yYXRlIGNoYW5nZXMgYnkgcmViYXNpbmcgcmF0aGVyIHRoYW4gbWVyZ2luZyIKIG1zZ3N0ciAi0LfQsNCx0YDQsNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINGBINC/0L7QvNC+0YnRjNGOINC/0LXRgNC10LHQsNC30LjRgNC+0LLQsNC90LjRjywg0LAg0L3QtSDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTQ3IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CisjOiBidWlsdGluL3B1bGwuYzoxNDggYnVpbHRpbi9yZXZlcnQuYzoxMDEKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNC40YLRjCDQv9C10YDQtdC80L7RgtC60YMg0LLQv9C10YDQtdC0IgogCi0jOiBidWlsdGluL3B1bGwuYzoxNTMKLW1zZ2lkICJ2ZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCi1tc2dzdHIgItC/0YDQvtCy0LXRgNC40YLRjCwg0YfRgtC+INGD0LrQsNC30LDQvdC90YvQuSDQutC+0LzQvNC40YIg0LjQvNC10LXRgiDQstC10YDQvdGD0Y4g0Y3Qu9C10LrRgtGA0L7QvdC90YPRjiDQv9C+0LTQv9C40YHRjCBHUEciCi0KLSM6IGJ1aWx0aW4vcHVsbC5jOjE1NgorIzogYnVpbHRpbi9wdWxsLmM6MTU3CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciByZWJhc2UiCiBtc2dzdHIgItCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4INCy0YvQv9C+0LvQvdGP0YLRjCBzdGFzaC9zdGFzaCBwb3Ag0LTQviDQuCDQv9C+0YHQu9C1INC/0LXRgNC10LzQtdGJ0LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE3MgorIzogYnVpbHRpbi9wdWxsLmM6MTczCiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIGZldGNoaW5nIgogbXNnc3RyICLQntC/0YbQuNC4LCDRgdCy0Y/Qt9Cw0L3QvdGL0LUg0YEg0LjQt9Cy0LvQtdGH0LXQvdC40LXQvCDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5NAorIzogYnVpbHRpbi9wdWxsLmM6MTk1CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgcHVsbGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICLQutC+0LvQuNGH0LXRgdGC0LLQviDQv9C+0LTQvNC+0LTRg9C70LXQuSwg0LrQvtGC0L7RgNGL0LUg0LHRg9C00YPRgiDQv9C+0LvRg9GH0LXQvdGLINC/0LDRgNGA0LDQu9C10LvRjNC90L4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjI4MworIzogYnVpbHRpbi9wdWxsLmM6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIHB1bGwuZmY6ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8gcHVsbC5mZjogJXMiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjM3OQotbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINGBINC/0LXRgNC10LzQtdGJ0LXQvdC40LXQvDog0KMg0LLQsNGBINC10YHRgtGMINC90LXQv9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPLiIKLQotIzogYnVpbHRpbi9wdWxsLmM6Mzg1Ci1tc2dpZCAiQWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgotbXNnc3RyICLQmiDRgtC+0LzRgyDQttC1LCDQsiDQstCw0YjQtdC8INC40L3QtNC10LrRgdC1INC10YHRgtGMINC90LXQt9Cw0LrQvtC80LzQuNGH0LXQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgotCi0jOiBidWlsdGluL3B1bGwuYzozODcKLW1zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINGBINC/0LXRgNC10LzQtdGJ0LXQvdC40LXQvDog0JIg0LLQsNGI0LXQvCDQuNC90LTQtdC60YHQtSDQtdGB0YLRjCDQvdC10LfQsNC60L7QvNC80LjRh9C10L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPLiIKLQotIzogYnVpbHRpbi9wdWxsLmM6NDYzCisjOiBidWlsdGluL3B1bGwuYzozOTcKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm8gY2FuZGlkYXRlIGZvciByZWJhc2luZyBhZ2FpbnN0IGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgIgogImZldGNoZWQuIgogbXNnc3RyICLQndC10YIg0L/RgNC10YLQtdC90LTQtdC90YLQvtCyINC00LvRjyDQv9C10YDQtdC80LXRidC10L3QuNGPINGB0YDQtdC00Lgg0YHRgdGL0LvQvtC6LCDQutC+0YLQvtGA0YvQtSDQstGLINGC0L7Qu9GM0LrQviDRh9GC0L4g0L/QvtC70YPRh9C40LvQuC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ2NQorIzogYnVpbHRpbi9wdWxsLmM6Mzk5CiBtc2dpZCAiIgogIlRoZXJlIGFyZSBubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgZmV0Y2hlZC4iCiBtc2dzdHIgItCd0LXRgiDQv9GA0LXRgtC10L3QtNC10L3RgtC+0LIg0LTQu9GPINGB0LvQuNGP0L3QuNGPINGB0YDQtdC00Lgg0YHRgdGL0LvQvtC6LCDQutC+0YLQvtGA0YvQtSDQstGLINGC0L7Qu9GM0LrQviDRh9GC0L4g0L/QvtC70YPRh9C40LvQuC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ2NgorIzogYnVpbHRpbi9wdWxsLmM6NDAwCiBtc2dpZCAiIgogIkdlbmVyYWxseSB0aGlzIG1lYW5zIHRoYXQgeW91IHByb3ZpZGVkIGEgd2lsZGNhcmQgcmVmc3BlYyB3aGljaCBoYWQgbm9cbiIKICJtYXRjaGVzIG9uIHRoZSByZW1vdGUgZW5kLiIKIG1zZ3N0ciAi0J7QsdGL0YfQvdC+INGN0YLQviDQvtC30L3QsNGH0LDQtdGCLCDRh9GC0L4g0LLRiyDQv9C10YDQtdC00LDQu9C4INGB0L/QtdGG0LjRhNC40LrQsNGG0LjRjiDRgdGB0YvQu9C60Lgg0YEg0L/QvtC80L7RidGM0Y4g0YjQsNCx0LvQvtC90LAg0Lgg0Y3RgtC+0YIg0YjQsNCx0LvQvtC9INC90Lgg0YEg0YfQtdC8INC90LUg0YHQvtCy0L/QsNC7INC90LAg0LLQvdC10YjQvdC10Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ2OQorIzogYnVpbHRpbi9wdWxsLmM6NDAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gcHVsbCBmcm9tIHRoZSByZW1vdGUgJyVzJywgYnV0IGRpZCBub3Qgc3BlY2lmeVxuIgpAQCAtODkyMiw1NyArOTkyMiw2OSBAQAogImZvciB5b3VyIGN1cnJlbnQgYnJhbmNoLCB5b3UgbXVzdCBzcGVjaWZ5IGEgYnJhbmNoIG9uIHRoZSBjb21tYW5kIGxpbmUuIgogbXNnc3RyICLQktGLINC/0L7Qv9GA0L7RgdC40LvQuCDQv9C+0LvRg9GH0LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDRgdC+INCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyDCqyVzwrssINC90L4g0L3QtSDRg9C60LDQt9Cw0LvQuCDQstC10YLQutGDLiDQotCw0Log0LrQsNC6INGN0YLQviDQvdC1INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0LTQu9GPICDQstCw0YjQtdC5INGC0LXQutGD0YnQtdC5INCy0LXRgtC60LgsINCy0Ysg0LTQvtC70LbQvdGLINGD0LrQsNC30LDRgtGMINCy0LXRgtC60YMg0LIg0LrQvtC80LDQvdC00L3QvtC5INGB0YLRgNC+0LrQtS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3NCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCisjOiBidWlsdGluL3B1bGwuYzo0MDggZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MwogbXNnaWQgIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINC90Lgg0L3QsCDQvtC00L3QvtC5INC40Lcg0LLQtdGC0L7Qui4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3NiBidWlsdGluL3B1bGwuYzo0OTEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQorIzogYnVpbHRpbi9wdWxsLmM6NDEwIGJ1aWx0aW4vcHVsbC5jOjQyNSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIHJlYmFzZSBhZ2FpbnN0LiIKIG1zZ3N0ciAi0J/QvtC20LDQu9GD0LnRgdGC0LAsINGD0LrQsNC20LjRgtC1INC90LAg0LrQsNC60YPRjiDQstC10YLQutGDINCy0Ysg0YXQvtGC0LjRgtC1INC/0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDc4IGJ1aWx0aW4vcHVsbC5jOjQ5MyBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCisjOiBidWlsdGluL3B1bGwuYzo0MTIgYnVpbHRpbi9wdWxsLmM6NDI3IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gbWVyZ2Ugd2l0aC4iCiBtc2dzdHIgItCf0L7QttCw0LvRg9C50YHRgtCwLCDRg9C60LDQttC40YLQtSDRgSDQutCw0LrQvtC5INCy0LXRgtC60L7QuSDQstGLINGF0L7RgtC40YLQtSDRgdC70LjRgtGMINC40LfQvNC10L3QtdC90LjRjy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3OSBidWlsdGluL3B1bGwuYzo0OTQKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMyBidWlsdGluL3B1bGwuYzo0MjgKIG1zZ2lkICJTZWUgZ2l0LXB1bGwoMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICLQlNC70Y8g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQuCwg0YHQvNC+0YLRgNC40YLQtSBnaXQtcHVsbCgxKS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ4MSBidWlsdGluL3B1bGwuYzo0ODcgYnVpbHRpbi9wdWxsLmM6NDk2CisjOiBidWlsdGluL3B1bGwuYzo0MTUgYnVpbHRpbi9wdWxsLmM6NDIxIGJ1aWx0aW4vcHVsbC5jOjQzMAogIzogZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NAogbXNnaWQgIjxyZW1vdGU+IgogbXNnc3RyICI80LLQvdC10YjQvdC40Lkt0YDQtdC/0L7Qt9C40YLQvtGA0LjQuT4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ4MSBidWlsdGluL3B1bGwuYzo0OTYgYnVpbHRpbi9wdWxsLmM6NTAxCisjOiBidWlsdGluL3B1bGwuYzo0MTUgYnVpbHRpbi9wdWxsLmM6NDMwIGJ1aWx0aW4vcHVsbC5jOjQzNSBnaXQtcmViYXNlLnNoOjQ1MQogIzogZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NQogbXNnaWQgIjxicmFuY2g+IgogbXNnc3RyICI80LLQtdGC0LrQsD4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ4OSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CisjOiBidWlsdGluL3B1bGwuYzo0MjMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQogbXNnaWQgIlRoZXJlIGlzIG5vIHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLQoyDRgtC10LrRg9GJ0LXQuSDQstC10YLQutC4INC90LXRgiDQuNC90YTQvtGA0LzQsNGG0LjQuCDQvtCxINC+0YLRgdC70LXQttC40LLQsNC90LjQuC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ5OCBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CisjOiBidWlsdGluL3B1bGwuYzo0MzIgZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDoiCiBtc2dzdHIgItCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1INGD0LrQsNC30LDRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INC+0YLRgdC70LXQttC40LLQsNC10LzQvtC5INCy0LXRgtC60LUsINCy0YvQv9C+0LvQvdC40YLQtToiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjUwMworIzogYnVpbHRpbi9wdWxsLmM6NDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVzIHRvIG1lcmdlIHdpdGggdGhlIHJlZiAnJXMnXG4iCiAiZnJvbSB0aGUgcmVtb3RlLCBidXQgbm8gc3VjaCByZWYgd2FzIGZldGNoZWQuIgogbXNnc3RyICLQktCw0YjQsCDQutC+0L3RhNC40LPRg9GA0LDRhtC40Y8g0YPQutCw0LfRi9Cy0LDQtdGCLCDRh9GC0L4g0L3Rg9C20L3QviDRgdC70LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDRgdC+INGB0YHRi9C70LrQvtC5XG7CqyVzwrsg0LjQtyDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8sINC90L4g0YLQsNC60LDRjyDRgdGB0YvQu9C60LAg0L3QtSDQsdGL0LvQsCDQv9C+0LvRg9GH0LXQvdCwLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODY0CisjOiBidWlsdGluL3B1bGwuYzo3NTQKK21zZ2lkICJpZ25vcmluZyAtLXZlcmlmeS1zaWduYXR1cmVzIGZvciByZWJhc2UiCittc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0L3QuNC1IC0tdmVyaWZ5LXNpZ25hdHVyZXMg0L/RgNC4INC/0LXRgNC10LzQtdGJ0LXQvdC40LgiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjgwMQogbXNnaWQgIi0tW25vLV1hdXRvc3Rhc2ggb3B0aW9uIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXJlYmFzZS4iCiBtc2dzdHIgIi0tW25vLV1hdXRvc3Rhc2gg0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+INCy0LzQtdGB0YLQtSDRgSAtLXJlYmFzZS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg3MgorIzogYnVpbHRpbi9wdWxsLmM6ODA5CiBtc2dpZCAiVXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4LiIKIG1zZ3N0ciAi0J7QsdC90L7QstC70LXQvdC40LUg0LXRidC1INC90LUg0L3QsNGH0LDQstGI0LXQudGB0Y8g0LLQtdGC0LrQuCDRgSDQuNC30LzQtdC90LXQvdC40Y/QvNC4LCDQtNC+0LHQsNCy0LvQtdC90L3Ri9C80Lgg0LIg0LjQvdC00LXQutGBLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTAwCisjOiBidWlsdGluL3B1bGwuYzo4MTIKK21zZ2lkICJwdWxsIHdpdGggcmViYXNlIgorbXNnc3RyICLQv9C+0LvRg9GH0LXQvdC40LUg0YEg0L/QtdGA0LXQvNC10YnQtdC90LjQtdC8IgorCisjOiBidWlsdGluL3B1bGwuYzo4MTMKK21zZ2lkICJwbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgorbXNnc3RyICLRgdC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDQuNC70Lgg0YHQv9GA0Y/Rh9GM0YLQtSDQuNGFLiIKKworIzogYnVpbHRpbi9wdWxsLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgpAQCAtODk4MCw3ICs5OTkyLDcgQEAKICJjb21taXQgJXMuIgogbXNnc3RyICLQuNC30LLQu9C10YfQtdC90LjQtSDQvtCx0L3QvtCy0LjQu9C+INGD0LrQsNC30LDRgtC10LvRjCDQvdCwINCy0LDRiNGDINGC0LXQutGD0YnRg9GOINCy0LXRgtC60YMuXG7Qv9C10YDQtdC80L7RgtC60LAg0LLQsNGI0LXQs9C+INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsFxu0YEg0LrQvtC80LzQuNGC0LAgJXMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MDUKKyM6IGJ1aWx0aW4vcHVsbC5jOjg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTg5OTEsMTEgKzEwMDAzLDExIEBACiAidG8gcmVjb3Zlci4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQvNC+0YLQsNGC0Ywg0LLQv9C10YDRkdC0INC40LfQvNC10L3QtdC90LjRjyDQsiDQstCw0YjQtdC8INGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUuXG7Qn9C+0YHQu9C1INGC0L7Qs9C+LCDQutCw0Log0LLRiyDRg9Cx0LXQtNC40YLQtdGB0YwsINGH0YLQviDQstGLINGB0L7RhdGA0LDQvdC40LvQuCDQstGB0ZEg0L3QtdC+0LHRhdC+0LTQuNC80L7QtSDQuNC3INCy0YvQstC+0LTQsFxuJCBnaXQgZGlmZiAlc1xuLCDQt9Cw0L/Rg9GB0YLQuNGC0LVcbiQgZ2l0IHJlc2V0IC0taGFyZFxu0LTQu9GPINCy0L7RgdGB0YLQsNC90L7QstC70LXQvdC40Y8g0LjRgdGF0L7QtNC90L7Qs9C+INGB0L7RgdGC0L7Rj9C90LjRjy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkyMAorIzogYnVpbHRpbi9wdWxsLmM6ODU4CiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZC4iCiBtc2dzdHIgItCd0LXQu9GM0LfRjyDRgdC70LjRgtGMINC90LXRgdC60L7Qu9GM0LrQviDQstC10YLQvtC6INCyINC/0YPRgdGC0L7QuSDRg9C60LDQt9Cw0YLQtdC70Ywg0L3QsCDQstC10YLQutGDLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTI0CisjOiBidWlsdGluL3B1bGwuYzo4NjIKIG1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMuIgogbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9C10YDQtdC80LXRgdGC0LjRgtGMINC90LDQtCDQvdC10YHQutC+0LvRjNC60LjQvNC4INCy0LXRgtC60LDQvNC4LiIKIApAQCAtOTExNSwxMiArMTAxMjcsMTIgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0L/RgNCw0LLQuNGC0Ywg0L3QtdC60L7RgtC+0YDRi9C1INGB0YHRi9C70LrQuCDQsiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM2NQorIzogYnVpbHRpbi9wdXNoLmM6MzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXBvc2l0b3J5ICclcyciCiBtc2dzdHIgItC/0LvQvtGF0L7QuSDRgNC10L/QvtC30LjRgtC+0YDQuNGPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzY2CisjOiBidWlsdGluL3B1c2guYzozNjcKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSByZXBvc2l0b3J5IHVzaW5nXG4iCkBAIC05MTMyLDEwMyArMTAxNDQsMTE1IEBACiAiICAgIGdpdCBwdXNoIDxuYW1lPlxuIgogbXNnc3RyICLQndC1INC90LDRgdGC0YDQvtC10L3QsCDRgtC+0YfQutCwINC90LDQt9C90LDRh9C10L3QuNGPINC00LvRjyDQvtGC0L/RgNCw0LLQutC4Llxu0JvQuNCx0L4g0YPQutCw0LbQuNGC0LUgVVJMINGBINC/0L7QvNC+0YnRjNGOINC60L7QvNCw0L3QtNC90L7QuSDRgdGC0YDQvtC60LgsINC70LjQsdC+INC90LDRgdGC0YDQvtC50YLQtSDQstC90LXRiNC90LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5INGBINC/0L7QvNC+0YnRjNGOXG5cbiAgICBnaXQgcmVtb3RlIGFkZCA80LjQvNGPPiA80LDQtNGA0LXRgT5cblxu0LAg0LfQsNGC0LXQvCDQvtGC0L/RgNCw0LLRjNGC0LUg0LjQt9C80LXQvdC10L3QuNGPINGBINC/0L7QvNC+0YnRjNGOINC40LzQtdC90Lgg0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPXG5cbiAgICBnaXQgcHVzaCA80LjQvNGPPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozODEKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4NQogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwg0LggLS10YWdzINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgogCi0jOiBidWlsdGluL3B1c2guYzozODIKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4NgogbXNnaWQgIi0tYWxsIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tYWxsINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LLQvNC10YHRgtC1INGB0L4g0YHQv9C10YbQuNGE0LjQutCw0YbQuNGP0LzQuCDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4NworIzogYnVpbHRpbi9wdXNoLmM6MzkxCiBtc2dpZCAiLS1taXJyb3IgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLW1pcnJvciDQuCAtLXRhZ3Mg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4OAorIzogYnVpbHRpbi9wdXNoLmM6MzkyCiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1taXJyb3Ig0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQstC80LXRgdGC0LUg0YHQviDRgdC/0LXRhtC40YTQuNC60LDRhtC40Y/QvNC4INGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzkzCisjOiBidWlsdGluL3B1c2guYzozOTcKIG1zZ2lkICItLWFsbCBhbmQgLS1taXJyb3IgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwg0LggLS1taXJyb3Ig0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUwNQorIzogYnVpbHRpbi9wdXNoLmM6NTE1CiBtc2dpZCAicmVwb3NpdG9yeSIKIG1zZ3N0ciAi0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCisjOiBidWlsdGluL3B1c2guYzo1MTYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKIG1zZ2lkICJwdXNoIGFsbCByZWZzIgogbXNnc3RyICLQvtGC0L/RgNCw0LLQuNGC0Ywg0LLRgdC1INGB0YHRi9C70LrQuCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA3IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCisjOiBidWlsdGluL3B1c2guYzo1MTcgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjMKIG1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCiBtc2dzdHIgItGB0LTQtdC70LDRgtGMINC30LXRgNC60LDQu9C+INCy0YHQtdGFINGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA5CisjOiBidWlsdGluL3B1c2guYzo1MTkKIG1zZ2lkICJkZWxldGUgcmVmcyIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywg0YHRgdGL0LvQutC4IgogCi0jOiBidWlsdGluL3B1c2guYzo1MTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyMAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAi0L7RgtC/0YDQsNCy0LjRgtGMINC80LXRgtC60LggKNC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LLQvNC10YHRgtC1INGBIC0tYWxsINC40LvQuCAtLW1pcnJvcikiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxMyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorIzogYnVpbHRpbi9wdXNoLmM6NTIzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CiBtc2dpZCAiZm9yY2UgdXBkYXRlcyIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L7QtSDQvtCx0L3QvtCy0LvQtdC90LjQtSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CisjOiBidWlsdGluL3B1c2guYzo1MjUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKIG1zZ2lkICJyZWZuYW1lPjo8ZXhwZWN0IgogbXNnc3RyICLQuNC80Y8t0YHRgdGL0LvQutC4Pjo80L7QttC40LTQsNC10YLRgdGPIgogCi0jOiBidWlsdGluL3B1c2guYzo1MTYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgogbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgogbXNnc3RyICLRgtGA0LXQsdC+0LLQsNGC0YwsINGH0YLQvtCx0Ysg0YHRgtCw0YDQvtC1INC30L3QsNGH0LXQvdC40LUg0YHRgdGL0LvQutC4INCx0YvQu9C+INC+0LbQuNC00LDQtdC80YvQvCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE5CisjOiBidWlsdGluL3B1c2guYzo1MjkKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgItGD0L/RgNCw0LLQu9C10L3QuNC1INGA0LXQutGD0YDRgdC40LLQvdC+0Lkg0L7RgtC/0YDQsNCy0LrQvtC5INC/0L7QtNC80L7QtNGD0LvQtdC5IgogCi0jOiBidWlsdGluL3B1c2guYzo1MjEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzMSBidWlsdGluL3NlbmQtcGFjay5jOjE2OQogbXNnaWQgInVzZSB0aGluIHBhY2siCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0L3QutC40LUg0L/QsNC60LXRgtGLIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjIgYnVpbHRpbi9wdXNoLmM6NTIzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU4CisjOiBidWlsdGluL3B1c2guYzo1MzIgYnVpbHRpbi9wdXNoLmM6NTMzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU4CiAjOiBidWlsdGluL3NlbmQtcGFjay5jOjE1OQogbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgogbXNnc3RyICLQv9GD0YLRjCDQuiDQv9GA0L7Qs9GA0LDQvNC80LUg0YPQv9Cw0LrQvtCy0LrQuCDQvdCwINGB0LXRgNCy0LXRgNC1IgogCi0jOiBidWlsdGluL3B1c2guYzo1MjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNAogbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgogbXNnc3RyICLRg9GB0YLQsNC90L7QstC40YLRjCDQstGL0YjQtdGB0YLQvtGP0YnRg9GOINCy0LXRgtC60YMg0LTQu9GPIGdpdCBwdWxsL3N0YXR1cyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI3CisjOiBidWlsdGluL3B1c2guYzo1MzcKIG1zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKIG1zZ3N0ciAi0L/QvtGH0LjRgdGC0LjRgtGMINC70L7QutCw0LvRjNC90L4g0YPQtNCw0LvQtdC90L3Ri9C1INGB0YHRi9C70LrQuCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI5CisjOiBidWlsdGluL3B1c2guYzo1MzkKIG1zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKLW1zZ3N0ciAi0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0L/QtdGA0LXRhdCy0LDRgtGH0LjQuiDQv9C10YDQtdC0LdC+0YLQv9GA0LDQstC60L7QuSIKK21zZ3N0ciAi0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0L/QtdGA0LXRhdCy0LDRgtGH0LjQuiBwcmUtcHVzaCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTMwCisjOiBidWlsdGluL3B1c2guYzo1NDAKIG1zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCiBtc2dzdHIgItC+0YLQv9GA0LDQstC40YLRjCDQv9GA0L7Qv9GD0YnQtdC90L3Ri9C1LCDQvdC+INC90YPQttC90YvQtSDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL3B1c2guYzo1MzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NgogbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgogbXNnc3RyICLQv9C+0LTQv9C40YHQsNGC0Ywg0L7RgtC/0YDQsNCy0LrRgyDRgSDQv9C+0LzQvtGJ0YzRjiBHUEciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzNSBidWlsdGluL3NlbmQtcGFjay5jOjE3MAorIzogYnVpbHRpbi9wdXNoLmM6NTQ1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcwCiBtc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCiBtc2dzdHIgItC30LDQv9GA0L7RgdC40YLRjCDQstGL0L/QvtC70L3QtdC90LjQtSDQsNGC0L7QvNCw0YDQvdC+0Lkg0YLRgNCw0L3Qt9Cw0LrRhtC40Lgg0L3QsCDQstC90LXRiNC90LXQuSDRgdGC0L7RgNC+0L3QtSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTQ5CisjOiBidWlsdGluL3B1c2guYzo1NDYKK21zZ2lkICJzZXJ2ZXItc3BlY2lmaWMiCittc2dzdHIgItC30LDQstC40YHQuNGCLdC+0YIt0YHQtdGA0LLQtdGA0LAiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NgorbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKK21zZ3N0ciAi0L/QtdGA0LXQtNCw0LLQsNC10LzRi9C1INC+0L/RhtC40LgiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2MAogbXNnaWQgIi0tZGVsZXRlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLW1pcnJvciBhbmQgLS10YWdzIgogbXNnc3RyICItLWRlbGV0ZSDQvdC10YHQvtCy0LzQtdGB0YLQuNC80L4g0YEgIC0tYWxsLCAtLW1pcnJvciDQuCAtLXRhZ3MiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MQorIzogYnVpbHRpbi9wdXNoLmM6NTYyCiBtc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCiBtc2dzdHIgIi0tZGVsZXRlINC90LUg0LjQvNC10LXRgiDRgdC80YvRgdC70LAg0LHQtdC3INGD0LrQsNC30LDQvdC40Y8g0YHRgdGL0LvQvtC6IgogCisjOiBidWlsdGluL3B1c2guYzo1NzkKK21zZ2lkICJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIgorbXNnc3RyICLQvtC/0YbQuNC4INC00LvRjyDQvtGC0L/RgNCw0LLQutC4INC90LUg0LTQvtC70LbQvdGLINGB0L7QtNC10YDQttCw0YLRjCDRgdC40LzQstC+0LvRiyDQv9C10YDQtdCy0L7QtNCwINGB0YLRgNC+0LoiCisKICM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MzcKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSIKQEAgLTkzMDAsMTUgKzEwMzI0LDQ0IEBACiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICLQvtGC0LvQsNC00LrQsCB1bnBhY2stdHJlZXMiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjUKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjYKIG1zZ2lkICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIG1zZ3N0ciAiZ2l0IHJlY2VpdmUtcGFjayA80LrQsNGC0LDQu9C+0LMtZ2l0PiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxNzE5CisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjc5MworbXNnaWQgIiIKKyJCeSBkZWZhdWx0LCB1cGRhdGluZyB0aGUgY3VycmVudCBicmFuY2ggaW4gYSBub24tYmFyZSByZXBvc2l0b3J5XG4iCisiaXMgZGVuaWVkLCBiZWNhdXNlIGl0IHdpbGwgbWFrZSB0aGUgaW5kZXggYW5kIHdvcmsgdHJlZSBpbmNvbnNpc3RlbnRcbiIKKyJ3aXRoIHdoYXQgeW91IHB1c2hlZCwgYW5kIHdpbGwgcmVxdWlyZSAnZ2l0IHJlc2V0IC0taGFyZCcgdG8gbWF0Y2hcbiIKKyJ0aGUgd29yayB0cmVlIHRvIEhFQUQuXG4iCisiXG4iCisiWW91IGNhbiBzZXQgJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG9cbiIKKyInaWdub3JlJyBvciAnd2FybicgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IHB1c2hpbmcgaW50b1xuIgorIml0cyBjdXJyZW50IGJyYW5jaDsgaG93ZXZlciwgdGhpcyBpcyBub3QgcmVjb21tZW5kZWQgdW5sZXNzIHlvdVxuIgorImFycmFuZ2VkIHRvIHVwZGF0ZSBpdHMgd29yayB0cmVlIHRvIG1hdGNoIHdoYXQgeW91IHB1c2hlZCBpbiBzb21lXG4iCisib3RoZXIgd2F5LlxuIgorIlxuIgorIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlIGFuZCBzdGlsbCBrZWVwIHRoZSBkZWZhdWx0IGJlaGF2aW91ciwgc2V0XG4iCisiJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG8gJ3JlZnVzZScuIgorbXNnc3RyICLQn9C+INGD0LzQvtC70YfQsNC90LjRjiwg0L7QsdC90L7QstC70Y/RgtGMINGC0LXQutGD0YnRg9GOINCy0LXRgtC60YMg0LIg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCDRgSDRgNCw0LHQvtGH0LXQuVxu0LrQvtC/0LjQtdC5ICjQvdC1INCz0L7Qu9C+0LwpINC30LDQv9GA0LXRidC10L3Qviwg0YLQsNC6INC60LDQuiDRjdGC0L4g0YHQtNC10LvQsNC10YIg0YHQvtGB0YLQvtGP0L3QuNC1INC40L3QtNC10LrRgdCwXG7QuCDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAg0L/RgNC+0YLQuNCy0L7RgNC10YfQuNCy0YvQvCwg0Lgg0LLQsNC8INC/0YDQuNC50LTQtdGC0YHRjyDQstGL0L/QvtC70L3QuNGC0YxcbsKrZ2l0IHJlc2V0IC0taGFyZMK7LCDRh9GC0L7QsdGLINGB0L7RgdGC0L7Rj9C90LjQtSDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAg0YHQvdC+0LLQsFxu0YHQvtC+0YLQstC10YLRgdGC0LLQvtCy0LDQu9C+IEhFQUQuXG5cbtCS0Ysg0LzQvtC20LXRgtC1INGD0YHRgtCw0L3QvtCy0LjRgtGMINC30L3QsNGH0LXQvdC40LUg0L7Qv9GG0LjQuCDCq3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2jCu1xu0LIgwqtpZ25vcmXCuyDQuNC70Lggwqt3YXJuwrsg0LLQviDQstC90LXRiNC90LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4LCDRh9GC0L7QsdGLINGA0LDQt9GA0LXRiNC40YLRjFxu0L7RgtC/0YDQsNCy0LrRgyDQsiDQtdCz0L4g0YLQtdC60YPRidGD0Y4g0LLQtdGC0LrRgzsg0L3QviDRjdGC0L4g0L3QtSDRgNC10LrQvtC80LXQvdC00YPQtdGC0YHRjywg0LXRgdC70Lgg0YLQvtC70YzQutC+XG7QstGLINC90LUg0L3QsNC80LXRgNC10L3RiyDQvtCx0L3QvtCy0LjRgtGMINC10LPQviDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDRgdC/0L7RgdC+0LHQvtC8INC/0L7QtNC+0LHQvdGL0LxcbtCy0YvRiNC10L7Qv9C40YHQsNC90L3QvtC80YMuXG5cbtCn0YLQvtCx0Ysg0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0Y3RgtC+INGB0L7QvtCx0YnQtdC90LjQtSDQuCDQstGB0LUg0YDQsNCy0L3QviDQvtGB0YLQsNCy0LjRgtGMINC/0L7QstC10LTQtdC90LjQtVxu0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4sINGD0YHRgtCw0L3QvtCy0LjRgtC1INC30L3QsNGH0LXQvdC40LUg0L7Qv9GG0LjQuCDCq3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2jCu1xu0LIgwqtyZWZ1c2XCuy4iCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODEzCittc2dpZCAiIgorIkJ5IGRlZmF1bHQsIGRlbGV0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpcyBkZW5pZWQsIGJlY2F1c2UgdGhlIG5leHRcbiIKKyInZ2l0IGNsb25lJyB3b24ndCByZXN1bHQgaW4gYW55IGZpbGUgY2hlY2tlZCBvdXQsIGNhdXNpbmcgY29uZnVzaW9uLlxuIgorIlxuIgorIllvdSBjYW4gc2V0ICdyZWNlaXZlLmRlbnlEZWxldGVDdXJyZW50JyBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHRvXG4iCisiJ3dhcm4nIG9yICdpZ25vcmUnIGluIHRoZSByZW1vdGUgcmVwb3NpdG9yeSB0byBhbGxvdyBkZWxldGluZyB0aGVcbiIKKyJjdXJyZW50IGJyYW5jaCwgd2l0aCBvciB3aXRob3V0IGEgd2FybmluZyBtZXNzYWdlLlxuIgorIlxuIgorIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlLCB5b3UgY2FuIHNldCBpdCB0byAncmVmdXNlJy4iCittc2dzdHIgItCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOLCDRg9C00LDQu9C10L3QuNC1INGC0LXQutGD0YnQtdC5INCy0LXRgtC60Lgg0LfQsNC/0YDQtdGJ0LXQvdC+LCDRgtCw0Log0LrQsNC6INC/0L7RgdC70LXQtNGD0Y7RidC40LlcbsKrZ2l0IGNsb25lwrsg0L3QtSDRgdC80L7QttC10YIg0L/QvtC70YPRh9C40YLRjCDQvdC40LrQsNC60LjRhSDRhNCw0LnQu9C+0LIsINGH0YLQviDQv9GA0LjQstC10LTQtdGCINC6INC/0YPRgtCw0L3QuNGG0LUuXG5cbtCS0Ysg0LzQvtC20LXRgtC1INGD0YHRgtCw0L3QvtCy0LjRgtGMINC30L3QsNGH0LXQvdC40LUg0L7Qv9GG0LjQuCDCq3JlY2VpdmUuZGVueURlbGV0ZUN1cnJlbnTCu1xu0LIgwqt3YXJuwrsg0LjQu9C4IMKraWdub3JlwrssINCy0L4g0LLQvdC10YjQvdC10Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCwgINGH0YLQvtCx0Ysg0YDQsNC30YDQtdGI0LjRgtGMXG7Rg9C00LDQu9C10L3QuNC1INGC0LXQutGD0YnQtdC5INCy0LXRgtC60Lgg0YEg0LjQu9C4INCx0LXQtyDQv9GA0LXQtNGD0L/RgNC10LbQtNCw0Y7RidC10LPQviDRgdC+0L7QsdGJ0LXQvdC40Y8uXG5cbtCn0YLQvtCx0Ysg0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0Y3RgtC+INGB0L7QvtCx0YnQtdC90LjQtSwg0LLRiyDQvNC+0LbQtdGC0LUg0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LfQvdCw0YfQtdC90LjQtSDQvtC/0YbQuNC4XG7QsiDCq3JlZnVzZcK7LiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODgzCiBtc2dpZCAicXVpZXQiCiBtc2dzdHIgItGC0LjRhdC40Lkg0YDQtdC20LjQvCIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxNzMzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4OTcKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5LiIKIG1zZ3N0ciAi0JLRiyDQtNC+0LvQttC90Ysg0YPQutCw0LfQsNGC0Ywg0LrQsNGC0LDQu9C+0LMuIgogCkBAIC05NDUzLDEyICsxMDUwNiwxMiBAQAogbXNnaWQgInNwZWNpZnlpbmcgYnJhbmNoZXMgdG8gdHJhY2sgbWFrZXMgc2Vuc2Ugb25seSB3aXRoIGZldGNoIG1pcnJvcnMiCiBtc2dzdHIgItGD0LrQsNC30LDQvdC40LUg0L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0LLQtdGC0L7QuiDQuNC80LXQtdGCINGB0LzRi9GB0Lsg0YLQvtC70YzQutC+INC/0YDQuCDQt9C10YDQutCw0LvRjNC90L7QvCDQuNC30LLQu9C10YfQtdC90LjQuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzo2MzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkwIGJ1aWx0aW4vcmVtb3RlLmM6NjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZSAlcyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgItCy0L3QtdGI0L3QuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgJXMg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5NCBidWlsdGluL3JlbW90ZS5jOjYzNworIzogYnVpbHRpbi9yZW1vdGUuYzoxOTQgYnVpbHRpbi9yZW1vdGUuYzo2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZW1vdGUgbmFtZSIKIG1zZ3N0ciAiwqslc8K7INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQtNC+0L/Rg9GB0YLQuNC80YvQvCDQuNC80LXQvdC10Lwg0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPLiIKQEAgLTk0ODEsMTcgKzEwNTM0LDE3IEBACiBtc2dpZCAiKGRlbGV0ZSkiCiBtc2dzdHIgIijRg9C00LDQu9C10L3QvdCw0Y8pIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYyNiBidWlsdGluL3JlbW90ZS5jOjc2MSBidWlsdGluL3JlbW90ZS5jOjg1OAorIzogYnVpbHRpbi9yZW1vdGUuYzo2MjIgYnVpbHRpbi9yZW1vdGUuYzo3NTcgYnVpbHRpbi9yZW1vdGUuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGU6ICVzIgogbXNnc3RyICLQndC10YIg0YLQsNC60L7Qs9C+INCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjzogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjQzCisjOiBidWlsdGluL3JlbW90ZS5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVuYW1lIGNvbmZpZyBzZWN0aW9uICclcycgdG8gJyVzJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC40LzQtdC90L7QstCw0YLRjCDRgdC10LrRhtC40Y4g0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4INGBIMKrJXPCuyDQvdCwIMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgpAQCAtOTQ5OSwxNyArMTA1NTIsMTcgQEAKICJcdFBsZWFzZSB1cGRhdGUgdGhlIGNvbmZpZ3VyYXRpb24gbWFudWFsbHkgaWYgbmVjZXNzYXJ5LiIKIG1zZ3N0ciAi0J3QtSDQvtCx0L3QvtCy0LvRj9GOINC90LXRgdGC0LDQvdC00LDRgNGC0L3Rg9GOINGB0L/QtdGG0LjRhNC40LrQsNGG0LjRjiDRgdGB0YvQu9C60Lgg0LTQu9GPINC40LfQstC70LXRh9C10L3QuNGPXG5cdCVzXG5cdNCf0L7QttCw0LvRg9C50YHRgtCwLCDQtdGB0LvQuCDRgtGA0LXQsdGD0LXRgtGB0Y8sINC+0LHQvdC+0LLQuNGC0LUg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNGOINCy0YDRg9GH0L3Rg9GOLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2OTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMIMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNyZWF0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMIMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3OTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzkyCiBtc2dpZCAiIgogIk5vdGU6IEEgYnJhbmNoIG91dHNpZGUgdGhlIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IHdhcyBub3QgcmVtb3ZlZDtcbiIKICJ0byBkZWxldGUgaXQsIHVzZToiCkBAIC05NTIxLDE0NSArMTA1NzQsMTU1IEBACiBtc2dzdHJbMl0gItCf0YDQuNC80LXRh9Cw0L3QuNC1OiDQndC10LrQvtGC0L7RgNGL0LUg0LLQtdGC0LrQuCDQstC90LUg0LjQtdGA0LDRgNGF0LjQuCByZWZzL3JlbW90ZXMvINC90LUg0LHRg9C00YPRgiDRg9C00LDQu9C10L3RiztcbtGH0YLQvtCx0Ysg0YPQtNCw0LvQuNGC0Ywg0LjRhSwg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtToiCiBtc2dzdHJbM10gItCf0YDQuNC80LXRh9Cw0L3QuNC1OiDQndC10LrQvtGC0L7RgNGL0LUg0LLQtdGC0LrQuCDQstC90LUg0LjQtdGA0LDRgNGF0LjQuCByZWZzL3JlbW90ZXMvINC90LUg0LHRg9C00YPRgiDRg9C00LDQu9C10L3RiztcbtGH0YLQvtCx0Ysg0YPQtNCw0LvQuNGC0Ywg0LjRhSwg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtToiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODEwCisjOiBidWlsdGluL3JlbW90ZS5jOjgwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YHQtdC60YbQuNGOINGE0LDQudC70LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKIG1zZ3N0ciAiINC90L7QstCw0Y8gKNGB0LvQtdC00YPRjtGJ0LXQtSDQuNC30LLQu9C10YfQtdC90LjQtSDRgdC+0YXRgNCw0L3QuNGCINC10LUg0LIgcmVtb3Rlcy8lcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE0CisjOiBidWlsdGluL3JlbW90ZS5jOjkxMAogbXNnaWQgIiB0cmFja2VkIgogbXNnc3RyICIg0L7RgtGB0LvQtdC20LjQstCw0LXRgtGB0Y8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE2CisjOiBidWlsdGluL3JlbW90ZS5jOjkxMgogbXNnaWQgIiBzdGFsZSAodXNlICdnaXQgcmVtb3RlIHBydW5lJyB0byByZW1vdmUpIgogbXNnc3RyICIg0L3QtdC00LXQudGB0YLQstC40YLQtdC70YzQvdCwICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJlbW90ZSBwcnVuZcK7LCDRh9GC0L7QsdGLINGD0LTQsNC70LjRgtGMKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE0CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IGJyYW5jaC4lcy5tZXJnZTsg0L3QtdCy0L7Qt9C80L7QttC90L4g0L/QtdGA0LXQvNC10YHRgtC40YLRjCDQsdC+0LvQtdC1INGH0LXQvCDQvdCw0LQgMSDQstC10YLQutC+0LkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjk2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgb250byByZW1vdGUgJXMiCiBtc2dzdHIgItC/0LXRgNC10LzQtdGJ0LDQtdGC0YHRjyDQuNC90YLQtdGA0LDQutGC0LjQstC90L4g0L3QsNC0INCy0L3QtdGI0L3QtdC5INCy0LXRgtC60L7QuSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCittc2dzdHIgItC/0LXRgNC10LzQtdGJ0LDQtdGC0YHRjyDQvdCw0LQg0LLQvdC10YjQvdC10Lkg0LLQtdGC0LrQvtC5ICVzIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjk2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICIg0LHRg9C00LXRgiDRgdC70LjRgtCwINGBINCy0L3QtdGI0L3QtdC5INCy0LXRgtC60L7QuSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzIKLW1zZ2lkICIgICAgYW5kIHdpdGggcmVtb3RlIgotbXNnc3RyICIgICAg0Lgg0YEg0LLQvdC10YjQvdC10Lkg0LLQtdGC0LrQvtC5IgotCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICLQsdGD0LTQtdGCINGB0LvQuNGC0LAg0YEg0LLQvdC10YjQvdC10Lkg0LLQtdGC0LrQvtC5ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NQotbXNnaWQgIiAgIGFuZCB3aXRoIHJlbW90ZSIKLW1zZ3N0ciAiICAg0Lgg0YEg0LLQvdC10YjQvdC10Lkg0LLQtdGC0LrQvtC5IgorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0qcyAgICBhbmQgd2l0aCByZW1vdGUgJXNcbiIKK21zZ3N0ciAiJS0qcyAgICDQuCDRgSDQstC90LXRiNC90LXQuSDQstC10YLQutC+0LkgJXNcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMTYKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgItGB0L7Qt9C00LDQvdCwIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxOQogbXNnaWQgImRlbGV0ZSIKIG1zZ3N0ciAi0YPQtNCw0LvQtdC90LAiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIzCiBtc2dpZCAidXAgdG8gZGF0ZSIKIG1zZ3N0ciAi0YPQttC1INCw0LrRgtGD0LDQu9GM0L3QsCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjYKIG1zZ2lkICJmYXN0LWZvcndhcmRhYmxlIgogbXNnc3RyICLQstC+0LfQvNC+0LbQvdCwINC/0LXRgNC10LzQvtGC0LrQsCDQstC/0LXRgNC10LQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI5CiBtc2dpZCAibG9jYWwgb3V0IG9mIGRhdGUiCiBtc2dzdHIgItC70L7QutCw0LvRjNC90LDRjyDQstC10YLQutCwINGD0YHRgtCw0YDQtdC70LAiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzINCx0YPQtNC10YIg0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L4g0L7RgtC/0YDQsNCy0LvQtdC90LAg0LIgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyDQsdGD0LTQtdGCINC+0YLQv9GA0LDQstC70LXQvdCwINCyICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyDQsdGD0LTQtdGCINC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+INC+0YLQv9GA0LDQstC70LXQvdCwINCyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzINCx0YPQtNC10YIg0L7RgtC/0YDQsNCy0LvQtdC90LAg0LIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE0CiBtc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCiBtc2dzdHIgItC90LUg0L7Qv9GA0LDRiNC40LLQsNGC0Ywg0LLQvdC10YjQvdC40LUg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjExNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiog0LLQvdC10YjQvdC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjExNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIgIFVSTCDQtNC70Y8g0LjQt9Cy0LvQtdGH0LXQvdC40Y86ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDggYnVpbHRpbi9yZW1vdGUuYzoxMzAxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNDMgYnVpbHRpbi9yZW1vdGUuYzoxMTU2IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NQogbXNnaWQgIihubyBVUkwpIgogbXNnc3RyICIo0L3QtdGCIFVSTCkiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gJzonIHNob3VsZCBhbGlnbiB3aXRoCiAjLiB0aGUgb25lIGluICIgIEZldGNoIFVSTDogJXMiIHRyYW5zbGF0aW9uCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTkgYnVpbHRpbi9yZW1vdGUuYzoxMTYxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNTQgYnVpbHRpbi9yZW1vdGUuYzoxMTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUHVzaCAgVVJMOiAlcyIKLW1zZ3N0ciAiICBVUkwg0LTQu9GPINC+0YLQv9GA0LDQstC60Lg6ICVzIgorbXNnc3RyICIgICAgVVJMINC00LvRjyDQvtGC0L/RgNCw0LLQutC4OiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYzIGJ1aWx0aW4vcmVtb3RlLmM6MTE2NSBidWlsdGluL3JlbW90ZS5jOjExNjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OCBidWlsdGluL3JlbW90ZS5jOjExNjAgYnVpbHRpbi9yZW1vdGUuYzoxMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgSEVBRCBicmFuY2g6ICVzIgogbXNnc3RyICIgIEhFQUQg0LLQtdGC0LrQsDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4Cittc2dpZCAiKG5vdCBxdWVyaWVkKSIKK21zZ3N0ciAiKNC90LUg0LfQsNC/0YDQsNGI0LjQstCw0LvRgdGPKSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYwCittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICIo0L3QtdC40LfQstC10YHRgtC90L4pIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBIRUFEIGJyYW5jaCAocmVtb3RlIEhFQUQgaXMgYW1iaWd1b3VzLCBtYXkgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcpOlxuIgogbXNnc3RyICIgIEhFQUQg0LLQtdGC0LrQsCAoSEVBRCDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8g0L3QtdC+0LTQvdC+0LfQvdCw0YfQvdGL0LksINC80L7QttC10YIg0LHRi9GC0Ywg0L7QtNC90LjQvCDQuNC3KTpcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBSZW1vdGUgYnJhbmNoOiVzIgogbXNnaWRfcGx1cmFsICIgIFJlbW90ZSBicmFuY2hlczolcyIKLW1zZ3N0clswXSAiICAgINCS0L3QtdGI0L3Rj9GPINCy0LXRgtC60LA6JXMiCi1tc2dzdHJbMV0gIiAgICDQktC90LXRiNC90LjQtSDQstC10YLQutC4OiVzIgotbXNnc3RyWzJdICIgICAg0JLQvdC10YjQvdC40LUg0LLQtdGC0LrQuDolcyIKLW1zZ3N0clszXSAiICAgINCS0L3QtdGI0L3QuNC1INCy0LXRgtC60Lg6JXMiCittc2dzdHJbMF0gIiAg0JLQvdC10YjQvdGP0Y8g0LLQtdGC0LrQsDolcyIKK21zZ3N0clsxXSAiICDQktC90LXRiNC90LjQtSDQstC10YLQutC4OiVzIgorbXNnc3RyWzJdICIgINCS0L3QtdGI0L3QuNC1INCy0LXRgtC60Lg6JXMiCittc2dzdHJbM10gIiAg0JLQvdC10YjQvdC40LUg0LLQtdGC0LrQuDolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg0IGJ1aWx0aW4vcmVtb3RlLmM6MTIxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNQogbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKLW1zZ3N0ciAiICjRgdGC0LDRgtGD0YEg0L3QtSDQt9Cw0L/RgNC+0YjQtdC9KSIKK21zZ3N0ciAiICjRgdGC0LDRgtGD0YEg0L3QtSDQt9Cw0L/RgNCw0YjQuNCy0LDQu9GB0Y8pIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4OAogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIgINCb0L7QutCw0LvRjNC90LDRjyDQstC10YLQutCwLCDQvdCw0YHRgtGA0L7QtdC90L3QsNGPINC00LvRjyDCq2dpdCBwdWxswrs6IgpAQCAtOTY2NywxMSArMTA3MzAsMTEgQEAKIG1zZ3N0clsyXSAiICDQm9C+0LrQsNC70YzQvdGL0LUg0LLQtdGC0LrQuCwg0L3QsNGB0YLRgNC+0LXQvdC90YvQtSDQtNC70Y8gwqtnaXQgcHVsbMK7OiIKIG1zZ3N0clszXSAiICDQm9C+0LrQsNC70YzQvdGL0LUg0LLQtdGC0LrQuCwg0L3QsNGB0YLRgNC+0LXQvdC90YvQtSDQtNC70Y8gwqtnaXQgcHVsbMK7OiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAxCisjOiBidWlsdGluL3JlbW90ZS5jOjExOTYKIG1zZ2lkICIgIExvY2FsIHJlZnMgd2lsbCBiZSBtaXJyb3JlZCBieSAnZ2l0IHB1c2gnIgogbXNnc3RyICIg0JvQvtC60LDQu9GM0L3Ri9C1INGB0YHRi9C70LrQuCwg0LfQtdGA0LrQsNC70LjRgNGD0LXQvNGL0LUg0YEg0L/QvtC80L7RidGM0Y4gwqtnaXQgcHVzaMK7IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIExvY2FsIHJlZiBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIHJlZnMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKQEAgLTk2ODAsMjA3ICsxMDc0MywyMjAgQEAKIG1zZ3N0clsyXSAiICDQm9C+0LrQsNC70YzQvdGL0LUg0YHRgdGL0LvQutC4LCDQvdCw0YHRgtGA0L7QtdC90L3Ri9C1INC00LvRjyDCq2dpdCBwdXNowrslczoiCiBtc2dzdHJbM10gIiAg0JvQvtC60LDQu9GM0L3Ri9C1INGB0YHRi9C70LrQuCwg0L3QsNGB0YLRgNC+0LXQvdC90YvQtSDQtNC70Y8gwqtnaXQgcHVzaMK7JXM6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMwogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAi0YPRgdGC0LDQvdC+0LLQuNGC0YwgcmVmcy9yZW1vdGVzLzzQuNC80Y8+L0hFQUQg0LIg0LfQsNCy0LjRgdC40LzQvtGB0YLQuCDQvtGCINCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjMxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjUKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICLRg9C00LDQu9C40YLRjCByZWZzL3JlbW90ZXMvPNC40LzRjz4vSEVBRCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDAKIG1zZ2lkICJDYW5ub3QgZGV0ZXJtaW5lIHJlbW90ZSBIRUFEIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINCy0L3QtdGI0L3QuNC5IEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQyCiBtc2dpZCAiTXVsdGlwbGUgcmVtb3RlIEhFQUQgYnJhbmNoZXMuIFBsZWFzZSBjaG9vc2Ugb25lIGV4cGxpY2l0bHkgd2l0aDoiCiBtc2dzdHIgItCd0LXRgdC60L7Qu9GM0LrQviDQstC90LXRiNC90LjRhSBIRUFEINCy0LXRgtC+0LouINCj0LrQsNC20LjRgtC1INGP0LLQvdC+INC+0LTQvdGDINC40Lcg0L3QuNGFOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjU4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjY2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgcmVmOiAlcyIKLW1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINGB0YHRi9C70LrQsDogJXMiCittc2dzdHIgItCd0LXQtNC+0L/Rg9GB0YLQuNC80LDRjyDRgdGB0YvQu9C60LA6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgJXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNGB0YLRgNC+0LjRgtGMICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMg0LHRg9C00LXRgiDQstC40YHRj9GJ0LXQuSDQstC10YLQutC+0LkhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgaGFzIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyDRgdGC0LDQu9CwINCy0LjRgdGP0YnQtdC5INCy0LXRgtC60L7QuSEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlBydW5pbmcgJXMiCi1tc2dzdHIgItCj0LTQsNC70LXQvdC40LUgJXMiCittc2dzdHIgItCe0YfQuNGB0YLQutCwICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVUkw6ICVzIgogbXNnc3RyICJVUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgogbXNnc3RyICIgKiBb0LHRg9C00LXRgiDRg9C00LDQu9C10L3QsF0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFtwcnVuZWRdICVzIgogbXNnc3RyICIgKiBb0YPQtNCw0LvQtdC90LBdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzNjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM1NgogbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCiBtc2dzdHIgItC/0L7Rh9C40YHRgtC40YLRjCDQstC90LXRiNC90LjQtSDRgNC10L/QvtC30LjRgtC+0YDQuNC4INC/0L7RgdC70LUg0LjQt9Cy0LvQtdGH0LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQyNSBidWlsdGluL3JlbW90ZS5jOjE0NzkgYnVpbHRpbi9yZW1vdGUuYzoxNTQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjE0MTkgYnVpbHRpbi9yZW1vdGUuYzoxNDczIGJ1aWx0aW4vcmVtb3RlLmM6MTU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSAnJXMnIgogbXNnc3RyICLQndC10YIg0YLQsNC60L7Qs9C+INCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM1CiBtc2dpZCAiYWRkIGJyYW5jaCIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCDQstC10YLQutGDIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0MgogbXNnaWQgIm5vIHJlbW90ZSBzcGVjaWZpZWQiCiBtc2dzdHIgItC90LUg0YPQutCw0LfQsNC9INCy0L3QtdGI0L3QuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDU5CiBtc2dpZCAicXVlcnkgcHVzaCBVUkxzIHJhdGhlciB0aGFuIGZldGNoIFVSTHMiCiBtc2dzdHIgItC30LDQv9GA0L7RgdC40YLRjCBVUkwg0L7RgtC/0YDQsNCy0LrQuCwg0LLQvNC10YHRgtC+IFVSTCDQuNC30LLQu9C10YfQtdC90LjRjyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDY3CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjEKIG1zZ2lkICJyZXR1cm4gYWxsIFVSTHMiCiBtc2dzdHIgItCy0LXRgNC90YPRgtGMINCy0YHQtSBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgIlVSTCDQvdC1INC90LDRgdGC0YDQvtC10L3RiyDQtNC70Y8g0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MTUKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAi0YPQv9GA0LDQstC70LXQvdC40LUgVVJMINC+0YLQv9GA0LDQstC60LgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyMworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE3CiBtc2dpZCAiYWRkIFVSTCIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE5CiBtc2dpZCAiZGVsZXRlIFVSTHMiCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMIFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTMyCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MjYKIG1zZ2lkICItLWFkZCAtLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tYWRkINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INGBIC0tZGVsZXRlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90YvQuSDRiNCw0LHQu9C+0L0g0YHRgtCw0YDQvtCz0L4gVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICLQndC1INC90LDQudC00LXQvdGLINGB0L7QstC/0LDQtNC10L3QuNGPIFVSTDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc3CiBtc2dpZCAiV2lsbCBub3QgZGVsZXRlIGFsbCBub24tcHVzaCBVUkxzIgogbXNnc3RyICLQndC10LvRjNC30Y8g0YPQtNCw0LvQuNGC0Ywg0LLRgdC1IFVSTCDQvdC1LdC+0YLQv9GA0LDQstC60LgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkxCiBtc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKIG1zZ3N0ciAi0LHRi9GC0Ywg0LzQvdC+0LPQvtGB0LvQvtCy0L3QtdC1OyDQtNC+0LvQttC90L4g0YHRgtC+0Y/RgtGMINC/0LXRgNC10LQg0L/QvtC00LrQvtC80LDQvdC00L7QuSIKIAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdCw0Y8g0L/QvtC00LrQvtC80LDQvdC00LA6ICVzIgorCiAjOiBidWlsdGluL3JlcGFjay5jOjE3CiBtc2dpZCAiZ2l0IHJlcGFjayBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHJlcGFjayBbPNC+0L/RhtC40Lg+XSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNTkKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYwCiBtc2dpZCAicGFjayBldmVyeXRoaW5nIGluIGEgc2luZ2xlIHBhY2siCiBtc2dzdHIgItGD0L/QsNC60L7QstCw0YLRjCDQstGB0ZEg0LIg0L7QtNC40L0g0L/QsNC60LXRgiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYyCiBtc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKIG1zZ3N0ciAi0YLQvtC20LUsINGH0YLQviDQuCAtYSwg0L3QviDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QviDQvtGC0LHRgNC+0YHQuNGC0Ywg0L3QtdC00L7RgdGC0LjQttC40LzRi9C1INC+0LHRitC10LrRgtGLIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2NAorIzogYnVpbHRpbi9yZXBhY2suYzoxNjUKIG1zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCiBtc2dzdHIgItGD0LTQsNC70LjRgtC1INC70LjRiNC90LjQtSDQv9Cw0LrQtdGC0Ysg0Lgg0LfQsNC/0YPRgdGC0LjRgtC1IGdpdC1wcnVuZS1wYWNrZWQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY2CisjOiBidWlsdGluL3JlcGFjay5jOjE2NwogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICLQv9C10YDQtdC00LDRgtGMINC+0L/RhtC40Y4gLS1uby1yZXVzZS1kZWx0YSDQsiBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2OAorIzogYnVpbHRpbi9yZXBhY2suYzoxNjkKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgItC/0LXRgNC10LTQsNGC0Ywg0L7Qv9GG0LjRjiAtLW5vLXJldXNlLW9iamVjdCDQsiBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3MAorIzogYnVpbHRpbi9yZXBhY2suYzoxNzEKIG1zZ2lkICJkbyBub3QgcnVuIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiBtc2dzdHIgItC90LUg0LfQsNC/0YPRgdC60LDRgtGMIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTczCisjOiBidWlsdGluL3JlcGFjay5jOjE3NAogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICLQv9C10YDQtdC00LDRgtGMINC+0L/RhtC40Y4gLS1sb2NhbCDQsiBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NQorIzogYnVpbHRpbi9yZXBhY2suYzoxNzYKIG1zZ2lkICJ3cml0ZSBiaXRtYXAgaW5kZXgiCiBtc2dzdHIgItC30LDQv9C40YHRjCDQuNC90LTQtdC60YHQsCDQsiDQsdC40YLQvtCy0YvRhSDQutCw0YDRgtCw0YUiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc2CisjOiBidWlsdGluL3JlcGFjay5jOjE3NwogbXNnaWQgImFwcHJveGlkYXRlIgogbXNnc3RyICLQv9GA0LjQvNC10YDQvdCw0Y8t0LTQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc3CisjOiBidWlsdGluL3JlcGFjay5jOjE3OAogbXNnaWQgIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiCiBtc2dzdHIgItGBINC+0L/RhtC40LXQuSAtQSwg0L3QtSDQvtGC0LHRgNCw0YHRi9Cy0LDRgtGMINC+0LHRitC10LrRgtGLINGB0YLQsNGA0LXQtSwg0YfQtdC8INGD0LrQsNC30LDQvdC+IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3OQorIzogYnVpbHRpbi9yZXBhY2suYzoxODAKK21zZ2lkICJ3aXRoIC1hLCByZXBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyIKK21zZ3N0ciAi0YEg0L/QsNGA0LDQvNC10YLRgNC+0LwgLWEsINC/0LXRgNC10L/QsNC60L7QstCw0YLRjCDQvdC10LTQvtGB0YLRg9C/0L3Ri9C1INC+0LHRitC10LrRgtGLIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE4MgogbXNnaWQgInNpemUgb2YgdGhlIHdpbmRvdyB1c2VkIGZvciBkZWx0YSBjb21wcmVzc2lvbiIKIG1zZ3N0ciAi0YDQsNC30LzQtdGAINC+0LrQvdCwLCDQuNGB0L/QvtC70YzQt9GD0LXQvNGL0Lkg0LTQu9GPINC60L7QvNC/0YDQtdGB0YHQuNC4INC00LXQu9GM0YIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgwIGJ1aWx0aW4vcmVwYWNrLmM6MTg0CisjOiBidWlsdGluL3JlcGFjay5jOjE4MyBidWlsdGluL3JlcGFjay5jOjE4NwogbXNnaWQgImJ5dGVzIgogbXNnc3RyICLQutC+0LvQuNGH0LXRgdGC0LLQvi3QsdCw0LnRgiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg0CiBtc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCiBtc2dzdHIgItGC0L7QttC1LCDRh9GC0L4g0Lgg0LLRi9GI0LUsINC90L4g0L7Qs9GA0LDQvdC40YfQuNGC0Ywg0YDQsNC30LzQtdGAINC/0LDQvNGP0YLQuCwg0LAg0L3QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQt9Cw0L/QuNGB0LXQuSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg2CiBtc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgogbXNnc3RyICLQvtCz0YDQsNC90LjRh9C10L3QuNC1INC90LAg0LzQsNC60YHQuNC80LDQu9GM0L3Rg9GOINCz0LvRg9Cx0LjQvdGDINC00LXQu9GM0YIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg1CisjOiBidWlsdGluL3JlcGFjay5jOjE4OAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgogbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINC60LDQttC00L7Qs9C+INC40Lcg0YTQsNC50LvQvtCyINC/0LDQutC10YLQsCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkwCiBtc2dpZCAicmVwYWNrIG9iamVjdHMgaW4gcGFja3MgbWFya2VkIHdpdGggLmtlZXAiCiBtc2dzdHIgItC/0LXRgNC10YPQv9Cw0LrQvtCy0LDRgtGMINC+0LHRitC10LrRgtGLINCyINC/0LDQutC10YLRiywg0L/QvtC80LXRh9C10L3QvdGL0LUg0YTQsNC50LvQvtC8IC5rZWVwIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE5NworIzogYnVpbHRpbi9yZXBhY2suYzoyMDAKIG1zZ2lkICJjYW5ub3QgZGVsZXRlIHBhY2tzIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0YPQtNCw0LvRj9GC0Ywg0L/QsNC60LXRgtGLINCyIHByZWNpb3VzLW9iamVjdHMg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozODEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjA0Cittc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUg0LggLUEg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzkxIGJ1aWx0aW4vd29ya3RyZWUuYzoxMTUKICMsIGMtZm9ybWF0Ci1tc2dpZCAicmVtb3ZpbmcgJyVzJyBmYWlsZWQiCi1tc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywgwqslc8K7IgorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKK21zZ3N0ciAi0YHQsdC+0Lkg0YPQtNCw0LvQtdC90LjRjyDCqyVzwrsiCiAKICM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE5CiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgpAQCAtOTk4MCw4ICsxMTA1Niw4IEBACiBtc2dzdHIgImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzzQutC+0LzQvNC40YI+XSIKIAogIzogYnVpbHRpbi9yZXNldC5jOjI3Ci1tc2dpZCAiZ2l0IHJlc2V0IFstcV0gPHRyZWUtaXNoPiBbLS1dIDxwYXRocz4uLi4iCi1tc2dzdHIgImdpdCByZXNldCBbLXFdIDzRg9C60LDQt9Cw0YLQtdC70Ywt0LTQtdGA0LXQstCwPiBbLS1dIDzQv9GD0YLQuD7igKYiCittc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzPi4uLiIKK21zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzzRg9C60LDQt9Cw0YLQtdC70Ywt0LTQtdGA0LXQstCwPl0gWy0tXSA80L/Rg9GC0Lg+4oCmIgogCiAjOiBidWlsdGluL3Jlc2V0LmM6MjgKIG1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCkBAIC0xMDA5OSwyNyArMTExNzUsMjcgQEAKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0L3QvtCy0YvQuSDRhNCw0LnQuyDQuNC90LTQtdC60YHQsC4iCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzozNTAKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzozNTQKIG1zZ2lkICJyZXYtbGlzdCBkb2VzIG5vdCBzdXBwb3J0IGRpc3BsYXkgb2Ygbm90ZXMiCiBtc2dzdHIgInJldi1saXN0INC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINC+0YLQvtCx0YDQsNC20LXQvdC40LUg0LfQsNC80LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzU4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM4NgogbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs80L7Qv9GG0LjQuD5dIC0tIFs80LDRgNCz0YPQvNC10L3RgtGLPuKApl0iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzYzCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5MQogbXNnaWQgImtlZXAgdGhlIGAtLWAgcGFzc2VkIGFzIGFuIGFyZyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0LLQsNGC0Ywg0LTQsNC70LXQtSDCqy0twrsg0LrQsNC6INCw0YDQs9GD0LzQtdC90YIiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzY1CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5MwogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAi0L7RgdGC0LDQvdC+0LLQuNGC0Ywg0YDQsNC30LHQvtGAINC/0L7RgdC70LUg0L/QtdGA0LLQvtCz0L4g0LDRgNCz0YPQvNC10L3RgtCwINC90LUg0Y/QstC70Y/RjtGJ0LXQs9C+0YHRjyDQvtC/0YbQuNC10LkiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzY4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NgogbXNnaWQgIm91dHB1dCBpbiBzdHVjayBsb25nIGZvcm0iCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0LDRgNCz0YPQvNC10L3RgtGLINCyINC00LvQuNC90L3QvtC8INGE0L7RgNC80LDRgtC1IgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQ5OQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1MjcKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC0xMDE1MSwxNSArMTEyMjcsMTUgQEAKIAogIzogYnVpbHRpbi9yZXZlcnQuYzo4MAogbXNnaWQgImVuZCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCi1tc2dzdHIgItC60L7QvdC10YYg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtC4INC+0YLQsdC+0YDQsCDQu9GD0YfRiNC10LPQviDQuNC70Lgg0LLQvtC30LLRgNCw0YLQsCDQutC+0LzQvNC40YLQsCIKK21zZ3N0ciAi0LrQvtC90LXRhiDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0Lgg0LrQvtC/0LjRgNC+0LLQsNC90LjRjyDQuNC70Lgg0L7QsdGA0LDRidC10L3QuNGPINC40LfQvNC10L3QtdC90LjQuSDQutC+0LzQvNC40YLQvtCyIgogCiAjOiBidWlsdGluL3JldmVydC5jOjgxCiBtc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKLW1zZ3N0ciAi0L/RgNC+0LTQvtC70LbQuNGC0Ywg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtGMINC+0YLQsdC+0YDQsCDQu9GD0YfRiNC10LPQviDQuNC70Lgg0LLQvtC30LLRgNCw0YLQsCDQutC+0LzQvNC40YLQsCIKK21zZ3N0ciAi0L/RgNC+0LTQvtC70LbQuNGC0Ywg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtGMINC60L7Qv9C40YDQvtCy0LDQvdC40Y8g0LjQu9C4INC+0LHRgNCw0YnQtdC90LjRjyDQuNC30LzQtdC90LXQvdC40Lkg0LrQvtC80LzQuNGC0L7QsiIKIAogIzogYnVpbHRpbi9yZXZlcnQuYzo4MgogbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCi1tc2dzdHIgItC+0YLQvNC10L3QsCDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0Lgg0L7RgtCx0L7RgNCwINC70YPRh9GI0LXQs9C+INC40LvQuCDQstC+0LfQstGA0LDRgtCwINC60L7QvNC80LjRgtCwIgorbXNnc3RyICLQvtGC0LzQtdC90LAg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtC4INC60L7Qv9C40YDQvtCy0LDQvdC40Y8g0LjQu9C4INC+0LHRgNCw0YnQtdC90LjRjyDQuNC30LzQtdC90LXQvdC40Lkg0LrQvtC80LzQuNGC0L7QsiIKIAogIzogYnVpbHRpbi9yZXZlcnQuYzo4MwogbXNnaWQgImRvbid0IGF1dG9tYXRpY2FsbHkgY29tbWl0IgpAQCAtMTAxODUsMzMgKzExMjYxLDI5IEBACiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAi0L7Qv9GG0LjRjyDQtNC70Y8g0YHRgtGA0LDRgtC10LPQuNC4INGB0LvQuNGP0L3QuNGPIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKIG1zZ2lkICJhcHBlbmQgY29tbWl0IG5hbWUiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0LjQvNGPINC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAi0YHQvtGF0YDQsNC90LjRgtGMINC40LfQvdCw0YfQsNC70YzQvdC+INC/0YPRgdGC0YvQtSDQutC+0LzQvNC40YLRiyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCiBtc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0LrQvtC80LzQuNGC0Ysg0YEg0L/Rg9GB0YLRi9C80Lgg0YHQvtC+0LHRidC10L3QuNGP0LzQuCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgItC+0YHRgtCw0LLQuNGC0Ywg0LjQt9Cx0YvRgtC+0YfQvdGL0LUsINC/0YPRgdGC0YvQtSDQutC+0LzQvNC40YLRiyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKLW1zZ2lkICJwcm9ncmFtIGVycm9yIgotbXNnc3RyICLQvtGI0LjQsdC60LAg0LIg0L/RgNC+0LPRgNCw0LzQvNC1IgotCi0jOiBidWlsdGluL3JldmVydC5jOjE5NworIzogYnVpbHRpbi9yZXZlcnQuYzoxOTIKIG1zZ2lkICJyZXZlcnQgZmFpbGVkIgotbXNnc3RyICLRgdCx0L7QuSDQstC+0LfQstGA0LDRgtCwINC60L7QvNC80LjRgtCwIgorbXNnc3RyICLRgdCx0L7QuSDQvtCx0YDQsNGJ0LXQvdC40Y8g0LjQt9C80LXQvdC10L3QuNC5INC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIxMgorIzogYnVpbHRpbi9yZXZlcnQuYzoyMDUKIG1zZ2lkICJjaGVycnktcGljayBmYWlsZWQiCi1tc2dzdHIgItGB0LHQvtC5INC/0YDQuCDQvtGC0LHQvtGA0LUg0LvRg9GH0YjQtdCz0L4iCittc2dzdHIgItGB0LHQvtC5INC/0YDQuCDQutC+0L/QuNGA0L7QstCw0L3QuNC4INC60L7QvNC80LjRgtCwIgogCiAjOiBidWlsdGluL3JtLmM6MTcKIG1zZ2lkICJnaXQgcm0gWzxvcHRpb25zPl0gWy0tXSA8ZmlsZT4uLi4iCkBAIC0xMDM2Myw3MCArMTE0MzUsMTMxIEBACiBtc2dpZCAiZ2l0IHNob3ctYnJhbmNoICgtZyB8IC0tcmVmbG9nKVs9PG4+Wyw8YmFzZT5dXSBbLS1saXN0XSBbPHJlZj5dIgogbXNnc3RyICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDzQsdCw0LfQsD5dXSBbLS1saXN0XSBbPNGB0YHRi9C70LrQsD5dIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Mzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWYiCittc2dpZF9wbHVyYWwgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWZzIgorbXNnc3RyWzBdICLQuNCz0L3QvtGA0LjRgNC+0LLQsNC90LjQtSAlczsg0L3QtdCy0L7Qt9C80L7QttC90L4g0L7QsdGA0LDQsdC+0YLQsNGC0Ywg0LHQvtC70YzRiNC1ICVkINGB0YHRi9C70LrQuCIKK21zZ3N0clsxXSAi0LjQs9C90L7RgNC40YDQvtCy0LDQvdC40LUgJXM7INC90LXQstC+0LfQvNC+0LbQvdC+INC+0LHRgNCw0LHQvtGC0LDRgtGMINCx0L7Qu9GM0YjQtSAlZCDRgdGB0YvQu9C+0LoiCittc2dzdHJbMl0gItC40LPQvdC+0YDQuNGA0L7QstCw0L3QuNC1ICVzOyDQvdC10LLQvtC30LzQvtC20L3QviDQvtCx0YDQsNCx0L7RgtCw0YLRjCDQsdC+0LvRjNGI0LUgJWQg0YHRgdGL0LvQvtC6IgorbXNnc3RyWzNdICLQuNCz0L3QvtGA0LjRgNC+0LLQsNC90LjQtSAlczsg0L3QtdCy0L7Qt9C80L7QttC90L4g0L7QsdGA0LDQsdC+0YLQsNGC0Ywg0LHQvtC70YzRiNC1ICVkINGB0YHRi9C70LrQuCIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0MQorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtYXRjaGluZyByZWZzIHdpdGggJXMiCittc2dzdHIgItC90LXRgiDRgdC+0LLQv9Cw0LTQsNGO0YnQuNGFINC30LDQv9C40YHQtdC5INGBICVzIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiDQuCDQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDQstC90LXRiNC90LjRhSDQuCDQu9C+0LrQsNC70YzQvdGL0YUg0LLQtdGC0L7QuiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MQogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiDQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDQstC90LXRiNC90LjRhSDQstC10YLQvtC6IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQzCiBtc2dpZCAiY29sb3IgJyohKy0nIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJyYW5jaCIKIG1zZ3N0ciAi0L7QutGA0LDRiNC40LLQsNGC0YwgwqsqISstwrsg0LIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNC4INGBINCy0LXRgtC60L7QuSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NQogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMIDxuPiDQutC+0LzQvNC40YLQvtCyINC/0L7RgdC70LUg0L7QsdGJ0LXQs9C+INC/0YDQtdC00LrQsCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NwogbXNnaWQgInN5bm9ueW0gdG8gbW9yZT0tMSIKIG1zZ3N0ciAi0YHQuNC90L7QvdC40Lwg0LTQu9GPIG1vcmU9LTEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKIG1zZ2lkICJzdXBwcmVzcyBuYW1pbmcgc3RyaW5ncyIKIG1zZ3N0ciAi0L3QtSDQstGL0LLQvtC00LjRgtGMINC40LzQtdC90L7QstCw0L3QvdGL0LUg0YHRgtGA0L7QutC4IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUwCiBtc2dpZCAiaW5jbHVkZSB0aGUgY3VycmVudCBicmFuY2giCiBtc2dzdHIgItCy0LrQu9GO0YfQuNGC0Ywg0LIg0LLRi9Cy0L7QtCDRgtC10LrRg9GJ0YPRjiDQstC10YLQutGDIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUyCiBtc2dpZCAibmFtZSBjb21taXRzIHdpdGggdGhlaXIgb2JqZWN0IG5hbWVzIgogbXNnc3RyICLQuNC80LXQvdC+0LLQsNGC0Ywg0LrQvtC80LzQuNGC0Ysg0LjRhSDQuNC80LXQvdCw0LzQuCDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0CiBtc2dpZCAic2hvdyBwb3NzaWJsZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0LLQvtC30LzQvtC20L3Ri9C1INCx0LDQt9GLINGB0LvQuNGP0L3QuNGPIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU2CiBtc2dpZCAic2hvdyByZWZzIHVucmVhY2hhYmxlIGZyb20gYW55IG90aGVyIHJlZiIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHRgdGL0LvQutC4LCDQvdC10LTQvtGB0YLRg9C/0L3Ri9C1INC40Lcg0LvRjtCx0YvRhSDQtNGA0YPQs9C40YUg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU4CiBtc2dpZCAic2hvdyBjb21taXRzIGluIHRvcG9sb2dpY2FsIG9yZGVyIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQutC+0LzQvNC40YLRiyDQsiDRgtC+0L/QvtC70L7Qs9C40YfQtdGB0LrQvtC8INC/0L7RgNGP0LTQutC1IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYxCiBtc2dpZCAic2hvdyBvbmx5IGNvbW1pdHMgbm90IG9uIHRoZSBmaXJzdCBicmFuY2giCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGC0L7Qu9GM0LrQviDQutC+0LzQvNC40YLRiywg0L7RgtGB0YPRgtGB0YLQstGD0Y7RidC40LUg0LIg0L/QtdGA0LLQvtC5INCy0LXRgtC60LUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjMKIG1zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGB0LvQuNGP0L3QuNGPLCDQtNC+0YHRgtC40LbQuNC80YvQtSDRgtC+0LvRjNC60L4g0LjQtyDQvtC00L3QvtC5INC40Lcg0LLQtdGA0YXRg9GI0LXQuiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NQogbXNnaWQgInRvcG9sb2dpY2FsbHkgc29ydCwgbWFpbnRhaW5pbmcgZGF0ZSBvcmRlciB3aGVyZSBwb3NzaWJsZSIKIG1zZ3N0ciAi0YLQvtC/0L7Qu9C+0LPQuNGH0LXRgdC60LDRjyDRgdC+0YDRgtC40YDQvtCy0LrQsCwg0YEg0YHQvtGF0YDQsNC90LXQvdC40LXQvCDQv9C+0YDRj9C00LrQsCDQtNCw0YIsINC10YHQu9C4INCy0L7Qt9C80L7QttC90L4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKIG1zZ2lkICI8bj5bLDxiYXNlPl0iCiBtc2dzdHIgIjxuPlssPNCx0LDQt9CwPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCA8bj4g0L/QvtGB0LvQtdC00L3QuNGFINC30LDQv9C40YHQtdC5INCyINC20YPRgNC90LDQu9C1INGB0YHRi9C70L7Quiwg0L3QsNGH0LjQvdCw0Y8g0YEg0LHQsNC30YsiCiAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MDMKK21zZ2lkICIiCisiLS1yZWZsb2cgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLSIKKyJiYXNlIgorbXNnc3RyICItLXJlZmxvZyDQvdC10YHQvtCy0LzQtdGB0YLQuNC80L4g0YEgLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCDQuCAtLW1lcmdlLWJhc2UiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjcKK21zZ2lkICJubyBicmFuY2hlcyBnaXZlbiwgYW5kIEhFQUQgaXMgbm90IHZhbGlkIgorbXNnc3RyICLQvdC1INGD0LrQsNC30LDQvdGLINCy0LXRgtC60Lgg0LggSEVBRCDQvdC1INC00LXQudGB0YLQstC40YLQtdC70YzQvdGL0LkiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzAKK21zZ2lkICItLXJlZmxvZyBvcHRpb24gbmVlZHMgb25lIGJyYW5jaCBuYW1lIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAIC0tcmVmbG9nINGC0YDQtdCx0YPQtdGCINGD0LrQsNC30LDQvdC40Y8g0LjQvNC10L3QuCDQvtC00L3QvtC5INCy0LXRgtC60LgiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgorbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKK21zZ3N0clswXSAi0YLQvtC70YzQutC+ICVkINC30LDQv9C40YHRjCDQvNC+0LbQtdGCINCx0YvRgtGMINC/0L7QutCw0LfQsNC90LAg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKK21zZ3N0clsxXSAi0YLQvtC70YzQutC+ICVkINC30LDQv9C40YHQuCDQvNC+0LPRg9GCINCx0YvRgtGMINC/0L7QutCw0LfQsNC90Ysg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKK21zZ3N0clsyXSAi0YLQvtC70YzQutC+ICVkINC30LDQv9C40YHQtdC5INC80L7Qs9GD0YIg0LHRi9GC0Ywg0L/QvtC60LDQt9Cw0L3RiyDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4uIgorbXNnc3RyWzNdICLRgtC+0LvRjNC60L4gJWQg0LfQsNC/0LjRgdC4INC80L7Qs9GD0YIg0LHRi9GC0Ywg0L/QvtC60LDQt9Cw0L3RiyDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4uIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcmVmICVzIgorbXNnc3RyICLQvdC10YIg0YLQsNC60L7QuSDRgdGB0YvQu9C60LggJXMiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2LiIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iCittc2dzdHJbMF0gItC90LXQstC+0LfQvNC+0LbQvdC+INC+0LHRgNCw0LHQvtGC0LDRgtGMINCx0L7Qu9GM0YjQtSAlZCDRgNC10LTQsNC60YbQuNC4LiIKK21zZ3N0clsxXSAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7QsdGA0LDQsdC+0YLQsNGC0Ywg0LHQvtC70YzRiNC1ICVkINGA0LXQtNCw0LrRhtC40LkuIgorbXNnc3RyWzJdICLQvdC10LLQvtC30LzQvtC20L3QviDQvtCx0YDQsNCx0L7RgtCw0YLRjCDQsdC+0LvRjNGI0LUgJWQg0YDQtdC00LDQutGG0LjQuS4iCittc2dzdHJbM10gItC90LXQstC+0LfQvNC+0LbQvdC+INC+0LHRgNCw0LHQvtGC0LDRgtGMINCx0L7Qu9GM0YjQtSAlZCDRgNC10LTQsNC60YbQuNC4LiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzMworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZi4iCittc2dzdHIgIsKrJXPCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LTQvtC/0YPRgdGC0LjQvNC+0Lkg0YHRgdGL0LvQutC+0Lkg0L3QsCDQutC+0LzQvNC40YIuIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIGNvbW1pdCAlcyAoJXMpIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0LrQvtC80LzQuNGCICVzICglcykiCisKICM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMAogbXNnaWQgIiIKICJnaXQgc2hvdy1yZWYgWy1xIHwgLS1xdWlldF0gWy0tdmVyaWZ5XSBbLS1oZWFkXSBbLWQgfCAtLWRlcmVmZXJlbmNlXSBbLXMgfCAiCkBAIC0xMDQ4NSwxMiArMTE2MTgsMTIgQEAKIG1zZ2lkICJwcmVwZW5kIGNvbW1lbnQgY2hhcmFjdGVyIGFuZCBzcGFjZSB0byBlYWNoIGxpbmUiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0L/QtdGA0LXQtCDQutCw0LbQtNC+0Lkg0YHRgtGA0L7QutC+0Lkg0YHQuNC80LLQvtC7INC60L7QvNC80LXRgtCw0YDQuNGPINC4INC/0YDQvtCx0LXQuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZWY6ICVzIgogbXNnc3RyICLQndC10YIg0YLQsNC60L7QuSDRgdGB0YvQu9C60Lg6ICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RpbmcgYSBmdWxsIHJlZiBuYW1lLCBnb3QgJXMiCiBtc2dzdHIgItCe0LbQuNC00LDQu9C+0YHRjCDQv9C+0LvQvdC+0LUg0LjQvNGPINGB0YHRi9C70LrQuCwg0LAg0L/QvtC70YPRh9C10L3QviAlcyIKQEAgLTEwNTAwLDE2MCArMTE2MzMsMjAwIEBACiBtc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0LHRgNC10LfQsNGC0Ywg0L7QtNC40L0g0LrQvtC80L/QvtC90LXQvdGCIHVybCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNzggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI4MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkwCiBtc2dpZCAiYWx0ZXJuYXRpdmUgYW5jaG9yIGZvciByZWxhdGl2ZSBwYXRocyIKIG1zZ3N0ciAi0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90YvQuSDRgdC40LzQstC+0Lsg0LTQu9GPINC+0YLQvdC+0YHQuNGC0LXQu9GM0L3Ri9GFINC/0YPRgtC10LkiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODcKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTzQv9GD0YLRjD5dIFs80L/Rg9GC0Yw+4oCmXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMyNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzQwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzI5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIGluIC5naXRtb2R1bGVzIgogbXNnc3RyICJVUkwg0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDQv9C+INC/0YPRgtC4IMKrJXPCuyDQvdC1INC90LDQudC00LXQvSDQsiAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICLQodCx0L7QuSDRgNC10LPQuNGB0YLRgNCw0YbQuNC4INCw0LTRgNC10YHQsCDQtNC70Y8g0L/Rg9GC0Lgg0L/QvtC00LzQvtC00YPQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyVzJ1xuIgogbXNnc3RyICLQn9C+0LTQvNC+0LTRg9C70Ywgwqslc8K7ICglcykg0LfQsNGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNC9INC/0L4g0L/Rg9GC0Lggwqslc8K7XG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODMKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogY29tbWFuZCB1cGRhdGUgbW9kZSBzdWdnZXN0ZWQgZm9yIHN1Ym1vZHVsZSAnJXMnXG4iCiBtc2dzdHIgItCy0L3QuNC80LDQvdC40LU6INC/0YDQtdC00L/QvtC70LDQs9Cw0LXQvNGL0Lkg0YDQtdC20LjQvCDQvtCx0L3QvtCy0LvQtdC90LjRjyDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPIMKrJXPCu1xuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzg3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cGRhdGUgbW9kZSBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAi0KHQsdC+0Lkg0YDQtdCz0LjRgdGC0YDQsNGG0LjQuCDRgNC10LbQuNC80LAg0L7QsdC90L7QstC70LXQvdC40Y8g0LTQu9GPINC/0YPRgtC4INC/0L7QtNC80L7QtNGD0LvRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDkKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAi0J3QtSDQstGL0LLQvtC00LjRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4INC/0L7QtNC80L7QtNGD0LvRjyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPNC/0YPRgtGMPl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzUKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8cGF0aD4iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDzQv9GD0YLRjD4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VibW9kdWxlIG1hcHBpbmcgZm91bmQgaW4gLmdpdG1vZHVsZXMgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAi0L3QtSDQvdCw0LnQtNC10L3QviDRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUg0L/QvtC00LzQvtC00YPQu9C10Lkg0LIgLmdpdG1vZHVsZXMg0LTQu9GPINC/0YPRgtC4IMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIKK21zZ3N0ciAi0L/QvtC00LzQvtC00YPQu9GOIMKrJXPCuyDQvdC1INGD0LTQsNC70L7RgdGMINC00L7QsdCw0LLQuNGC0Ywg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstGDOiAlcyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBpcyBub3QgcmVjb2duaXplZCIKK21zZ3N0ciAi0JfQvdCw0YfQtdC90LjQtSDCqyVzwrsg0LTQu9GPINC/0LDRgNCw0LzQtdGC0YDQsCBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSDQvdC1INGA0LDQv9C+0LfQvdCw0L3QviIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCittc2dzdHIgItCX0L3QsNGH0LXQvdC40LUgwqslc8K7INC00LvRjyDQv9Cw0YDQsNC80LXRgtGA0LAgc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uINC90LUg0YDQsNC/0L7Qt9C90LDQvdC+IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkzCiBtc2dpZCAid2hlcmUgdGhlIG5ldyBzdWJtb2R1bGUgd2lsbCBiZSBjbG9uZWQgdG8iCiBtc2dzdHIgItC60YPQtNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRgdC60LvQvtC90LjRgNC+0LLQsNC9INC90L7QstGL0Lkg0L/QvtC00LzQvtC00YPQu9GMIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk2CiBtc2dpZCAibmFtZSBvZiB0aGUgbmV3IHN1Ym1vZHVsZSIKIG1zZ3N0ciAi0LjQvNGPINC90L7QstC+0LPQviDQv9C+0LTQvNC+0LTRg9C70Y8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTkKIG1zZ2lkICJ1cmwgd2hlcmUgdG8gY2xvbmUgdGhlIHN1Ym1vZHVsZSBmcm9tIgogbXNnc3RyICJ1cmwg0L7RgtC60YPQtNCwINC00L7Qu9C20LXQvSDQsdGL0Lsg0YHQutC70L7QvdC40YDQvtCy0LDQvSDQvdC+0LLRi9C5INC/0L7QtNC80L7QtNGD0LvRjCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUwMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNQogbXNnaWQgImRlcHRoIGZvciBzaGFsbG93IGNsb25lcyIKIG1zZ3N0ciAi0LPQu9GD0LHQuNC90LAg0LTQu9GPINGH0LDRgdGC0LjRh9C90L7Qs9C+INC60LvQvtC90LAiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2NAorbXNnaWQgImZvcmNlIGNsb25pbmcgcHJvZ3Jlc3MiCittc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+INCy0YvQstC+0LTQuNGC0Ywg0L/RgNC+0LPRgNC10YHRgSDQutC70L7QvdC40YDQvtCy0LDQvdC40Y8iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MTMKIG1zZ2lkICIiCiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08cGF0aD5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgogIjxyZXBvc2l0b3J5Pl0gWy0tbmFtZSA8bmFtZT5dIFstLWRlcHRoIDxkZXB0aD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8cGF0aD4iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PNC/0YPRgtGMPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSA80YDQtdC/0L7Qt9C40YLQvtGA0LjQuT5dIFstLW5hbWUgPNC40LzRjz5dIFstLWRlcHRoIDzQs9C70YPQsdC40L3QsD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA80L/Rg9GC0Yw+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTMyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINC60LDRgtCw0LvQvtCzIMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUzNAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjbG9uZSBvZiAnJXMnIGludG8gc3VibW9kdWxlIHBhdGggJyVzJyBmYWlsZWQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LrQu9C+0L3QuNGA0L7QstCw0YLRjCDCqyVzwrsg0LIg0L/QvtC00LzQvtC00YPQu9GMINC/0L4g0L/Rg9GC0Lggwqslc8K7IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTUwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDRhNCw0LnQuyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlIGZpbGUgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC60YDRi9GC0Ywg0YTQsNC50LsgJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBzdWJtb2R1bGUgZGlyZWN0b3J5IGZvciAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LrQsNGC0LDQu9C+0LMg0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyVzJyBub3QgaW5pdGlhbGl6ZWQiCiBtc2dzdHIgItCf0L7QtNC80L7QtNGD0LvRjCDQv9C+INC/0YPRgtC4IMKrJXPCuyDQvdC1INC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDQvSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjczMAogbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgogbXNnc3RyICLQktC+0LfQvNC+0LbQvdC+LCDQstGLINGF0L7RgtC10LvQuCDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywgwqt1cGRhdGUgLS1pbml0wrs/IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHVubWVyZ2VkIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAi0J/RgNC+0L/Rg9GB0Log0L3QtSDRgdC70LjRgtC+0LPQviDQv9C+0LTQvNC+0LTRg9C70Y8gJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgc3VibW9kdWxlICclcyciCiBtc2dzdHIgItCf0YDQvtC/0YPRgdC6INC/0L7QtNC80L7QtNGD0LvRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycuIFJldHJ5IHNjaGVkdWxlZCIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQutC70L7QvdC40YDQvtCy0LDRgtGMIMKrJXPCuy4g0JfQsNC/0LvQsNC90LjRgNC+0LLQsNC90LAg0L/QvtCy0YLQvtGA0L3QsNGPINC/0L7Qv9GL0YLQutCwIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnIGEgc2Vjb25kIHRpbWUsIGFib3J0aW5nIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC60LvQvtC90LjRgNC+0LLQsNGC0Ywgwqslc8K7INGB0L4g0LLRgtC+0YDQvtC5INC/0L7Qv9GL0YLQutC4LCDQvtGC0LzQtdC90LAiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDUKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi0L/Rg9GC0Ywg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0OAogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlLCBhY3Jvc3MgbmVzdGVkIHN1Ym1vZHVsZSBib3VuZGFyaWVzIgogbXNnc3RyICLQv9GD0YLRjCDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1LCDQsiDQv9GA0LXQtNC10LvQsNGFINCz0YDQsNC90LjRhiDQv9C+0LTQvNC+0LTRg9C70Y8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTIKIG1zZ2lkICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBvciBub25lIgogbXNnc3RyICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCDQuNC70Lggbm9uZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1NgogbXNnaWQgIkNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgdHJ1bmNhdGVkIHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHJldmlzaW9ucyIKIG1zZ3N0ciAi0KHQvtC30LTQsNGC0Ywg0YfQsNGB0YLQuNGH0L3Ri9C5INC60LvQvtC9LCDQvtCz0YDQsNC90LjRh9C10L3QvdGL0Lkg0YPQutCw0LfQsNC90L3Ri9C8INC60L7Qu9C40YfQtdGB0YLQstC+0Lwg0YDQtdC00LDQutGG0LjQuSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc4MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1OQogbXNnaWQgInBhcmFsbGVsIGpvYnMiCiBtc2dzdHIgItC/0LDRgNCw0LvQu9C10LvRjNC90YvQtSDQt9Cw0LTQsNGH0LgiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjEKK21zZ2lkICJ3aGV0aGVyIHRoZSBpbml0aWFsIGNsb25lIHNob3VsZCBmb2xsb3cgdGhlIHNoYWxsb3cgcmVjb21tZW5kYXRpb24iCittc2dzdHIgItC00L7Qu9C20LXQvSDQu9C4INC40LfQvdCw0YfQsNC70YzQvdGL0Lkg0L/RgNC+0YbQtdGB0YEg0LrQu9C+0L3QuNGA0L7QstCw0L3QuNGPINGB0LvQtdC00L7QstCw0YLRjCDRgNC10LrQvtC80LXQvdC00LDRhtC40Lgg0L4g0YfQsNGB0YLQuNGH0L3QvtGB0YLQuCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2MgogbXNnaWQgImRvbid0IHByaW50IGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgItCy0Ysg0LLRi9Cy0L7QtNC40YLRjCDQv9GA0L7Qs9GA0LXRgdGBINC60LvQvtC90LjRgNC+0LLQsNC90LjRjyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2OQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTzQv9GD0YLRjD5dIFs80L/Rg9GC0Yw+4oCmXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc5OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3OQogbXNnaWQgImJhZCB2YWx1ZSBmb3IgdXBkYXRlIHBhcmFtZXRlciIKIG1zZ3N0ciAi0L/Qu9C+0YXQvtC1INC30L3QsNGH0LXQvdC40LUg0LTQu9GPINC/0LDRgNCw0LzQtdGC0YDQsCB1cGRhdGUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0ICIKKyJ0aGUgc3VwZXJwcm9qZWN0IGlzIG5vdCBvbiBhbnkgYnJhbmNoIgorbXNnc3RyICLQktC10YLQutCwINC/0L7QtNC80L7QtNGD0LvRjyAoJXMpINC90LDRgdGC0YDQvtC10L3QsCDQvdCwINC90LDRgdC70LXQtNC+0LLQsNC90LjQtSDQstC10YLQutC4INC40Lcg0YDQvtC00LjRgtC10LvRjNGB0LrQvtCz0L4g0L/RgNC+0LXQutGC0LAsINC90L4g0L7QvSDQvdC1INC90LDRhdC+0LTQuNGC0YHRjyDQvdC4INC90LAg0L7QtNC90L7QuSDQstC10YLQutC1IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwMAogbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgItC/0L7QtNC60L7QvNCw0L3QtNCwIHN1Ym1vZHVsZS0taGVscGVyINC00L7Qu9C20L3QsCDQstGL0LfRi9Cy0LDRgtGM0YHRjyDRgSDRg9C60LDQt9Cw0L3QuNC10Lwg0L/QvtC00LrQvtC80LDQvdC00YsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NjIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgc3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCIKIG1zZ3N0ciAiwqslc8K7INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQv9C+0LTQutC+0LzQsNC90LTQvtC5IHN1Ym1vZHVsZS0taGVscGVyIgpAQCAtMTA4NzUsNyArMTIwNDgsNyBAQAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAi0JzQtdGC0LrQsCDCqyVzwrsg0L7QsdC90L7QstC70LXQvdCwICjQsdGL0LvQsCAlcylcbiIKIAotIzogYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjQ5MAorIzogYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjQ5MwogbXNnaWQgIlVucGFja2luZyBvYmplY3RzIgogbXNnc3RyICLQoNCw0YHQv9Cw0LrQvtCy0LrQsCDQvtCx0YrQtdC60YLQvtCyIgogCkBAIC0xMDkzNywxMzkgKzEyMTEwLDE0MyBAQAogbXNnaWQgIiBPSyIKIG1zZ3N0ciAiIE9LIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU3NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjQKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzzQvtC/0YbQuNC4Pl0gWy0tXSBbPNGE0LDQudC7PuKApl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkxOQogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAi0L/RgNC+0LTQvtC70LbQuNGC0Ywg0L7QsdC90L7QstC70LXQvdC40LUsINC00LDQttC1INC10YHQu9C4INC40L3QtNC10LrRgSDRgtGA0LXQsdGD0LXRgiDQvtCx0L3QvtCy0LvQtdC90LjRjyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTIyCiBtc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCiBtc2dzdHIgItC+0LHQvdC+0LLQu9C10L3QuNC1OiDQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0L/QvtC00LzQvtC00YPQu9C4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjUKIG1zZ2lkICJkbyBub3QgaWdub3JlIG5ldyBmaWxlcyIKIG1zZ3N0ciAi0L3QtSDQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0L3QvtCy0YvQtSDRhNCw0LnQu9GLIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjcKIG1zZ2lkICJsZXQgZmlsZXMgcmVwbGFjZSBkaXJlY3RvcmllcyBhbmQgdmljZS12ZXJzYSIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINGE0LDQudC70LDQvCDQt9Cw0LzQtdC90Y/RgtGMINC60LDRgtCw0LvQvtCz0Lgg0Lgg0L3QsNC+0LHQvtGA0L7RgiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI5CiBtc2dpZCAibm90aWNlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAi0LfQsNC80LXRh9Cw0YLRjCDRhNCw0LnQu9GLINC+0YLRgdGD0YLRgdGC0LLRg9GO0YnQuNC1INCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMQogbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICLQvtCx0L3QvtCy0LjRgtGMLCDQtNCw0LbQtSDQtdGB0LvQuCDQsiDQuNC90LTQtdC60YHQtSDQuNC80LXRjtGC0YHRjyDQvdC1INGB0LvQuNGC0YvQtSDQt9Cw0L/QuNGB0LgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNAogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi0L7QsdC90L7QstC40YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDRgdGC0LDRgtGD0YHQtSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzOAogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAi0LrQsNC6IC0tcmVmcmVzaCwg0L3QviDQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0L3QsNGB0YLRgNC+0LnQutGDIGFzc3VtZS11bmNoYW5nZWQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MgogbXNnaWQgIjxtb2RlPiw8b2JqZWN0Piw8cGF0aD4iCiBtc2dzdHIgIjzRgNC10LbQuNC8INC00L7RgdGC0YPQv9CwPiw80L7QsdGK0LXQutGCPiw80L/Rg9GC0Yw+IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDMKIG1zZ2lkICJhZGQgdGhlIHNwZWNpZmllZCBlbnRyeSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0YPQutCw0LfQsNC90L3Rg9GOINC30LDQv9C40YHRjCDQsiDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4Ci1tc2dpZCAiKCsvLSl4IgotbXNnc3RyICIoKy8tKXgiCi0KLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU5Ci1tc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCi1tc2dzdHIgItC/0LXRgNC10L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LHQuNGCINCy0YvQv9C+0LvQvdC10L3QuNGPINC90LAg0YPQutCw0LfQsNC90L3Ri9GFINGE0LDQudC70LDRhSIKLQotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUyCiBtc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgogbXNnc3RyICLQv9C+0LzQtdGC0LjRgtGMINGE0LDQudC70Ysg0LrQsNC6IMKr0L3QtSDQuNC30LzQtdC90LXQvdC90YvQtcK7IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTUKIG1zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCiBtc2dzdHIgItGD0LHRgNCw0YLRjCDQv9C+0LzQtdGC0LrRgyBhc3N1bWVkLXVuY2hhbmdlZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAi0L/QvtC80LXRgtC40YLRjCDRhNCw0LnQu9GLINC60LDQuiDCq9GC0L7Qu9GM0LrQviDQsiDQuNC90LTQtdC60YHQtcK7IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjEKIG1zZ2lkICJjbGVhciBza2lwLXdvcmt0cmVlIGJpdCIKIG1zZ3N0ciAi0YPQsdGA0LDRgtGMINC/0L7QvNC10YLQutGDIHNraXAtd29ya3RyZWUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NAogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICLRgtC+0LvRjNC60L4g0LTQvtCx0LDQstC40YLRjCDQsiDQuNC90LTQtdC60YE7INC90LUg0LTQvtCx0LDQstC70Y/RgtGMINGB0L7QtNC10YDQttC40LzQvtC1INCyINCx0LDQt9GDINC00LDQvdC90YvRhSDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICLRg9C00LDQu9C40YLRjCDRg9C60LDQt9Cw0L3QvdGL0LUg0L/Rg9GC0LgsINC00LDQttC1INC10YHQu9C4INC+0L3QuCDRgdGD0YnQtdGB0YLQstGD0Y7RgiDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjgKIG1zZ2lkICJ3aXRoIC0tc3RkaW46IGlucHV0IGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG51bGwgYnl0ZXMiCiBtc2dzdHIgItGBINC+0L/RhtC40LXQuSAtLXN0ZGluOiDRgdGC0YDQvtC60Lgg0L3QsCDQstCy0L7QtNC1INC+0YLQtNC10LvRj9GO0YLRgdGPINCd0KPQm9CV0JLQq9CcINCx0LDQudGC0L7QvCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcwCiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINGB0L/QuNGB0L7QuiDQvtCx0L3QvtCy0LvRj9C10LzRi9GFINC/0YPRgtC10Lkg0LjQtyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc0CiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0LfQsNC/0LjRgdC4INC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAg0LIg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzgKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgItC30LDQvdC+0LLQviDQt9Cw0L/QvtC70L3QuNGC0Ywg0LjQvdC00LXQutGBICMyINC4ICMzINC00LvRjyDRg9C60LDQt9Cw0L3QvdGL0YUg0L/Rg9GC0LXQuSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgyCiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgItC+0LHQvdC+0LLQuNGC0Ywg0YLQvtC70YzQutC+INC30LDQv9C40YHQuCwg0LrQvtGC0L7RgNGL0LUg0L7RgtC70LjRh9Cw0Y7RgtGB0Y8g0L7RgiBIRUFEIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODYKIG1zZ2lkICJpZ25vcmUgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0YTQsNC50LvRiywg0L7RgtGB0YPRgtGB0YLQstGD0Y7RidC40LUg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQogbXNnaWQgInJlcG9ydCBhY3Rpb25zIHRvIHN0YW5kYXJkIG91dHB1dCIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0LLRi9C/0L7Qu9C90Y/QtdC80YvQtSDQtNC10LnRgdGC0LLQuNGPINC90LAg0YHRgtCw0L3QtNCw0YDRgtC90YvQuSDQstGL0LLQvtC0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkxCiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIijQtNC70Y8g0LzQsNGI0LjQvdC90L7QuSDQvtCx0YDQsNCx0L7RgtC60LgpINC30LDQsdGL0YLRjCDRgdC+0YXRgNCw0L3QtdC90L3Ri9C1INC90LXRgNCw0LfRgNC10YjQtdC90L3Ri9C1INC60L7QvdGE0LvQuNC60YLRiyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NQogbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgogbXNnc3RyICLQt9Cw0L/QuNGB0LDRgtGMINC40L3QtNC10LrRgSDQsiDRg9C60LDQt9Cw0L3QvdC+0Lwg0YTQvtGA0LzQsNGC0LUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKIG1zZ2lkICJlbmFibGUgb3IgZGlzYWJsZSBzcGxpdCBpbmRleCIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC40LvQuCDQt9Cw0L/RgNC10YLQuNGC0Ywg0YDQsNC30LTQtdC70YzQvdGL0Lkg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk5CiBtc2dpZCAiZW5hYmxlL2Rpc2FibGUgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICLQstC60LvRjtGH0LjRgtGML9C+0YLQutC70Y7Rh9C40YLRjCDQutGN0Ygg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDEyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDEKIG1zZ2lkICJ0ZXN0IGlmIHRoZSBmaWxlc3lzdGVtIHN1cHBvcnRzIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAi0L/RgNC+0LLQtdGA0LjRgtGMLCDRh9GC0L4g0YTQsNC50LvQvtCy0LDRjyDRgdC40YHRgtC10LzQsCDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0LrRjdGIINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAzCiBtc2dpZCAiZW5hYmxlIHVudHJhY2tlZCBjYWNoZSB3aXRob3V0IHRlc3RpbmcgdGhlIGZpbGVzeXN0ZW0iCiBtc2dzdHIgItCy0LrQu9GO0YfQuNGC0Ywg0LrRjdGIINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIg0LHQtdC3INC/0YDQvtCy0LXRgNC60Lgg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMTkKK21zZ2lkICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKKyJ0byBkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgY29yZS51bnRyYWNrZWRDYWNoZSDRg9GB0YLQsNC90L7QstC70LXQvSB0cnVlOyDRg9C00LDQu9C40YLQtSDQuNC70Lgg0LjQt9C80LXQvdC40YLQtSDQtdCz0L4sINC10YHQu9C4INCy0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINC60Y3RiCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0YTQsNC50LvQvtCyIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMjMKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZGlzYWJsZWQiCiBtc2dzdHIgItCa0Y3RiCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0YTQsNC50LvQvtCyINC+0YLQutC70Y7Rh9C10L0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE0NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMxCittc2dpZCAiIgorImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQiCisiIHRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAIGNvcmUudW50cmFja2VkQ2FjaGUg0YPRgdGC0LDQvdC+0LLQu9C10L0gZmFsc2U7INGD0LTQsNC70LjRgtC1INC40LvQuCDQuNC30LzQtdC90LjRgtC1INC10LPQviwg0LXRgdC70Lgg0LLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0LLQutC70Y7Rh9C40YLRjCDQutGN0Ygg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgogbXNnc3RyICLQmtGN0Ygg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiDQstC60LvRjtGH0LXQvSDQtNC70Y8gwqslc8K7IgpAQCAtMTExNDcsODIgKzEyMzI0LDEwOSBAQAogbXNnc3RyICJnaXQgd29ya3RyZWUgYWRkIFs80L7Qv9GG0LjQuD5dIDzQv9GD0YLRjD4gWzzQstC10YLQutCwPl0iCiAKICM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNgotbXNnaWQgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKLW1zZ3N0ciAiZ2l0IHdvcmt0cmVlIHBydW5lIFs80L7Qv9GG0LjQuD5dIgotCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKIG1zZ2lkICJnaXQgd29ya3RyZWUgbGlzdCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxpc3QgWzzQvtC/0YbQuNC4Pl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3Cittc2dpZCAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxvcHRpb25zPl0gPHBhdGg+IgorbXNnc3RyICJnaXQgd29ya3RyZWUgbG9jayBbPNC+0L/RhtC40Lg+XSA80L/Rg9GC0Yw+IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKK21zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPNC+0L/RhtC40Lg+XSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE5Cittc2dpZCAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGF0aD4iCittc2dzdHIgImdpdCB3b3JrdHJlZSB1bmxvY2sgPNC/0YPRgtGMPiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogbm90IGEgdmFsaWQgZGlyZWN0b3J5IgogbXNnc3RyICLQo9C00LDQu9C10L3QuNC1INGA0LDQsdC+0YfQuNGFINC60LDRgtCw0LvQvtCz0L7Qsi8lczog0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60LDRgtCw0LvQvtCz0L7QvCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi0KPQtNCw0LvQtdC90LjQtSDRgNCw0LHQvtGH0LjRhSDQutCw0YLQsNC70L7Qs9C+0LIvJXM6INGE0LDQudC7IGdpdGRpciDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IHVuYWJsZSB0byByZWFkIGdpdGRpciBmaWxlICglcykiCiBtc2dzdHIgItCj0LTQsNC70LXQvdC40LUg0YDQsNCx0L7Rh9C40YUg0LrQsNGC0LDQu9C+0LPQvtCyLyVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRhNCw0LnQuyBnaXRkaXIgKCVzKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjYyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBpbnZhbGlkIGdpdGRpciBmaWxlIgogbXNnc3RyICLQo9C00LDQu9C10L3QuNC1INGA0LDQsdC+0YfQuNGFINC60LDRgtCw0LvQvtCz0L7Qsi8lczog0L3QtdC00LXQudGB0YLQstC40YLQtdC70YzQvdGL0Lkg0YTQsNC50LsgZ2l0ZGlyIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIHBvaW50cyB0byBub24tZXhpc3RlbnQgbG9jYXRpb24iCiBtc2dzdHIgItCj0LTQsNC70LXQvdC40LUg0YDQsNCx0L7Rh9C40YUg0LrQsNGC0LDQu9C+0LPQvtCyLyVzOiBnaXRkaXIg0YPQutCw0LfRi9Cy0LDQtdGCINC90LAg0L3QtdGB0YPRidC10YHRgtCy0YPRjtGJ0LXQtSDRgNCw0YHQv9C+0LvQvtC20LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgotbXNnc3RyICLRgdCx0L7QuSDRg9C00LDQu9C10L3QuNGPIMKrJXPCuyIKLQotIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwMgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICLCqyVzwrsg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjM0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IG9mICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LrQsNGC0LDQu9C+0LMgwqslc8K7IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjcwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlByZXBhcmluZyAlcyAoaWRlbnRpZmllciAlcykiCiBtc2dzdHIgItCf0L7QtNCz0L7RgtC+0LLQutCwICVzICjQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCAlcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjMKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBldmVuIGlmIGFscmVhZHkgY2hlY2tlZCBvdXQgaW4gb3RoZXIgd29ya3RyZWUiCiBtc2dzdHIgItC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAgPNCy0LXRgtC60LA+INC00LDQttC1INC10YHQu9C4INC+0L3QsCDRg9C20LUg0LDQutGC0LjQstC90LAg0LIg0LTRgNGD0LPQvtC8INGA0LDQsdC+0YfQtdGB0Lwg0LrQsNGC0LDQu9C+0LPQtSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNQogbXNnaWQgImNyZWF0ZSBhIG5ldyBicmFuY2giCiBtc2dzdHIgItGB0L7Qt9C00LDRgtGMINC90L7QstGD0Y4g0LLQtdGC0LrRgyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNwogbXNnaWQgImNyZWF0ZSBvciByZXNldCBhIGJyYW5jaCIKIG1zZ3N0ciAi0YHQvtC30LTQsNGC0Ywg0LjQu9C4INC/0LXRgNC10LnRgtC4INC90LAg0LLQtdGC0LrRgyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNwotbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKLW1zZ3N0ciAi0L7RgtGB0L7QtdC00LjQvdC40YLRjCBIRUFEINC90LAg0YPQutCw0LfQsNC90L3QvtC8INC60L7QvNC80LjRgtC1IgotCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI5CiBtc2dpZCAicG9wdWxhdGUgdGhlIG5ldyB3b3JraW5nIHRyZWUiCiBtc2dzdHIgItC90LDQv9C+0LvQvdC40YLRjCDQvdC+0LLRi9C5INGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzM2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzM3CiBtc2dpZCAiLWIsIC1CLCBhbmQgLS1kZXRhY2ggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLWIsIC1CINC4IC0tZGV0YWNoINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgogCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDcwCittc2dpZCAicmVhc29uIGZvciBsb2NraW5nIgorbXNnc3RyICLQv9GA0LjRh9C40L3QsCDQsdC70L7QutC40YDQvtCy0LrQuCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4MiBidWlsdGluL3dvcmt0cmVlLmM6NTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgd29ya2luZyB0cmVlIgorbXNnc3RyICLCqyVzwrsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINGA0LDQsdC+0YfQuNC8INC60LDRgtCw0LvQvtCz0L7QvCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NCBidWlsdGluL3dvcmt0cmVlLmM6NTE3Cittc2dpZCAiVGhlIG1haW4gd29ya2luZyB0cmVlIGNhbm5vdCBiZSBsb2NrZWQgb3IgdW5sb2NrZWQiCittc2dzdHIgItCT0LvQsNCy0L3Ri9C5INGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzINC90LUg0LzQvtC20LXRgiDQsdGL0YLRjCDQt9Cw0LHQu9C+0LrQuNGA0L7QstCw0L0g0LjQu9C4INGA0LDQt9Cx0LvQvtC60LjRgNC+0LLQsNC9IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQsIHJlYXNvbjogJXMiCittc2dzdHIgIsKrJXPCuyDRg9C20LUg0LfQsNCx0LvQvtC60LjRgNC+0LLQsNC9LCDQv9GA0LjRh9C40L3QsDogJXMiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCIKK21zZ3N0ciAiwqslc8K7INGD0LbQtSDQt9Cw0LHQu9C+0LrQuNGA0L7QstCw0L0iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgorbXNnc3RyICLCqyVzwrsg0L3QtSDQt9Cw0LHQu9C+0LrQuNGA0L7QstCw0L0iCisKICM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjEzCiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD080L/RgNC10YTQuNC60YE+L10iCkBAIC0xMTIzOSw2ICsxMjQ0MywzNSBAQAogbXNnaWQgIm9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmciCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDRgtC+0LvRjNC60L4g0L/RgNC4INC+0YLQu9Cw0LTQutC1IgogCisjOiB1cGxvYWQtcGFjay5jOjIyCittc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgorbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzzQvtC/0YbQuNC4Pl0gPNC60LDRgtCw0LvQvtCzPiIKKworIzogdXBsb2FkLXBhY2suYzoxMDI4Cittc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgorbXNnc3RyICLQstGL0YXQvtC0INC/0L7RgdC70LUg0L7QsdC80LXQvdCwINC+0LTQvdC40Lwg0LfQsNC/0YDQvtGB0L7QvC/QvtGC0LLQtdGC0L7QvCIKKworIzogdXBsb2FkLXBhY2suYzoxMDMwCittc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBpbml0aWFsIHJlZiBhZHZlcnRpc2VtZW50IgorbXNnc3RyICLQstGL0YXQvtC00LjRgtGMINGB0YDQsNC30YMg0L/QvtGB0LvQtSDQvdCw0YfQsNC70YzQvdC+0LPQviDQvtCx0YrRj9Cy0LvQtdC90LjRjyDRgdC/0LjRgdC60LAg0YHRgdGL0LvQvtC6IgorCisjOiB1cGxvYWQtcGFjay5jOjEwMzIKK21zZ2lkICJkbyBub3QgdHJ5IDxkaXJlY3Rvcnk+Ly5naXQvIGlmIDxkaXJlY3Rvcnk+IGlzIG5vIEdpdCBkaXJlY3RvcnkiCittc2dzdHIgItC90LUg0L/RgNC+0LLQtdGA0Y/RgtGMIDzQutCw0YLQsNC70L7Qsz4vLmdpdC8g0LXRgdC70LggPNC60LDRgtCw0LvQvtCzPiDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LrQsNGC0LDQu9C+0LPQvtC8IEdpdCIKKworIzogdXBsb2FkLXBhY2suYzoxMDM0Cittc2dpZCAiaW50ZXJydXB0IHRyYW5zZmVyIGFmdGVyIDxuPiBzZWNvbmRzIG9mIGluYWN0aXZpdHkiCittc2dzdHIgItC/0YDQtdGA0LLQsNGC0Ywg0L/QtdGA0LXQtNCw0YfRgyDQv9C+0YHQu9C1IDzQutC+0Ls+INGB0LXQutGD0L3QtCDQv9GA0L7RgdGC0L7RjyIKKworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgcGVybWlzc2lvbnMgb24geW91ciBzb2NrZXQgZGlyZWN0b3J5IGFyZSB0b28gbG9vc2U7IG90aGVyXG4iCisidXNlcnMgbWF5IGJlIGFibGUgdG8gcmVhZCB5b3VyIGNhY2hlZCBjcmVkZW50aWFscy4gQ29uc2lkZXIgcnVubmluZzpcbiIKKyJcbiIKKyJcdGNobW9kIDA3MDAgJXMiCittc2dzdHIgItCf0YDQsNCy0LAg0LTQvtGB0YLRg9C/0LAg0Log0LLQsNGI0LXQvNGDINC60LDRgtCw0LvQvtCz0YMg0YHQvtC60LXRgtC+0LIg0YHQu9C40YjQutC+0Lwg0YHQstC+0LHQvtC00L3Rizsg0LTRgNGD0LPQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Lgg0LzQvtCz0YPQuCDRh9C40YLQsNGC0Ywg0LLQsNGI0Lgg0LfQsNC60Y3RiNC40YDQvtCy0LDQvdC90YvQtSDQv9Cw0YDQvtC70Lgg0LTQvtGB0YLRg9C/0LAuINCe0LHQtNGD0LzQsNC50YLQtSDQt9Cw0L/Rg9GB0Log0LrQvtC80LDQvdC00Ys6XG5cblx0Y2htb2QgMDcwMCAlcyIKKwogIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcxCiBtc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKIG1zZ3N0ciAi0LLRi9Cy0L7QtCDQvtGC0LvQsNC00L7Rh9C90YvRhSDRgdC+0L7QsdGJ0LXQvdC40Lkg0L3QsCBzdGRlcnIiCkBAIC0xMTI1MCw3ICsxMjQ4MywxMSBAQAogInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuIgogbXNnc3RyICLCq2dpdCBoZWxwIC3QsMK7INC4IMKrZ2l0IGhlbHAgLWfCuyDQstGL0LLQvtC00LjRgiDRgdC/0LjRgdC+0Log0LTQvtGB0YLRg9C/0L3Ri9GFINC/0L7QtNC60L7QvNCw0L3QtCDQuFxu0L3QtdC60L7RgtC+0YDRi9C1INGA0YPQutC+0LLQvtC00YHRgtCy0LAg0L/QviDRgtC10LzQsNC8LiDQl9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgaGVscCA80LrQvtC80LDQvdC00LA+wrsg0LjQu9C4XG7Cq2dpdCBoZWxwIDzRgtC10YDQvNC40L0+wrssINGH0YLQvtCx0Ysg0L/RgNC+0YfQtdGB0YLRjCDQviDQutC+0L3QutGA0LXRgtC90YvRhSDQv9C+0LTQutC+0LzQsNC90LTQtSDQuNC70Lgg0YLQtdC80LUuIgogCi0jOiBodHRwLmM6MzIyCisjOiBodHRwLmM6MzQyCittc2dpZCAiRGVsZWdhdGlvbiBjb250cm9sIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4yMi4wIgorbXNnc3RyICLQlNC10LvQtdCz0LDRhtC40Y8g0L/RgNC+0LLQtdGA0LrQuCDQv9C+0LvQvdC+0LzQvtGH0LjQuSDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8g0YEgY1VSTCA8IDcuMjIuMCIKKworIzogaHR0cC5jOjM1MQogbXNnaWQgIlB1YmxpYyBrZXkgcGlubmluZyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKIG1zZ3N0ciAiUHVibGljIGtleSBwaW5uaW5nINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjyDRgSBjVVJMIDwgNy40NC4wIgogCkBAIC0xMTM2NiwxNSArMTI2MDMsMTUgQEAKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgItC90LjRh9C10LPQviDQvdC1INC00LXQu9Cw0LXRgiAo0L7RgdGC0LDQstC70LXQvdC+INC00LvRjyDQvtCx0YDQsNGC0L3QvtC5INGB0L7QstC80LXRgdGC0LjQvNC+0YHRgtC4KSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzNworIzogcGFyc2Utb3B0aW9ucy5oOjIzOAogbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKIG1zZ3N0ciAi0LHRi9GC0Ywg0LzQvdC+0LPQvtGB0LvQvtCy0L3QtdC1IgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjM5CisjOiBwYXJzZS1vcHRpb25zLmg6MjQwCiBtc2dpZCAiYmUgbW9yZSBxdWlldCIKIG1zZ3N0ciAi0YLQuNGF0LjQuSDRgNC10LbQuNC8IgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjQ1CisjOiBwYXJzZS1vcHRpb25zLmg6MjQ2CiBtc2dpZCAidXNlIDxuPiBkaWdpdHMgdG8gZGlzcGxheSBTSEEtMXMiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCA8bj4g0YbQuNGE0YAg0LTQu9GPINCy0YvQstC+0LTQsCBTSEEtMSIKIApAQCAtMTEzODIsNTggKzEyNjE5LDU5IEBACiBtc2dpZCAidXBkYXRlIHRoZSBpbmRleCB3aXRoIHJldXNlZCBjb25mbGljdCByZXNvbHV0aW9uIGlmIHBvc3NpYmxlIgogbXNnc3RyICLQvtCx0L3QvtCy0LjRgtGMINC40L3QtNC10LrRgSDRgSDQv9C+0LzQvtGJ0YzRjiDQv9C10YDQtdC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPINGA0LDQt9GA0LXRiNC10L3QuNGPINC60L7QvdGE0LvQuNC60YLQsCwg0LXRgdC70Lgg0LLQvtC30LzQvtC20L3QviIKIAotIzogZ2l0LWJpc2VjdC5zaDo1NQorIzogZ2l0LWJpc2VjdC5zaDo1NAogbXNnaWQgIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiIgogbXNnc3RyICLQktCw0Lwg0L3Rg9C20L3QviDQvdCw0YfQsNGC0Ywg0YEg0L/QvtC80L7RidGM0Y4gwqtnaXQgYmlzZWN0IHN0YXJ0wrsiCiAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LWJpc2VjdC5zaDo2MQorIzogZ2l0LWJpc2VjdC5zaDo2MAogbXNnaWQgIkRvIHlvdSB3YW50IG1lIHRvIGRvIGl0IGZvciB5b3UgW1kvbl0/ICIKIG1zZ3N0ciAi0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSwg0YfRgtC+0LHRiyDRjyDRgdC00LXQu9Cw0Lsg0Y3RgtC+IFtZIC0g0LTQsC9uIC0g0L3QtdGCXT8gIgogCi0jOiBnaXQtYmlzZWN0LnNoOjEyMgorIzogZ2l0LWJpc2VjdC5zaDoxMjEKICMsIHNoLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXNlZCBvcHRpb246ICckYXJnJyIKIG1zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3QsNGPINC+0L/RhtC40Y86IMKrJGFyZ8K7IgogCi0jOiBnaXQtYmlzZWN0LnNoOjEyNgorIzogZ2l0LWJpc2VjdC5zaDoxMjUKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJnJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSB2YWxpZCByZXZpc2lvbiIKIG1zZ3N0ciAiwqskYXJnwrsg0L3QtSDQv9C+0YXQvtC20LUg0L3QsCDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Rg9GOINGA0LXQtNCw0LrRhtC40Y4iCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTU1CisjOiBnaXQtYmlzZWN0LnNoOjE1NAogbXNnaWQgIkJhZCBIRUFEIC0gSSBuZWVkIGEgSEVBRCIKIG1zZ3N0ciAi0J/Qu9C+0YXQvtC5INGD0LrQsNC30LDRgtC10LvRjCBIRUFEIOKAlCDQndC10L7QsdGF0L7QtNC40Lwg0YPQutCw0LfQsNGC0LXQu9GMIEhFQUQiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTY4CisjOiBnaXQtYmlzZWN0LnNoOjE2NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkNoZWNraW5nIG91dCAnJHN0YXJ0X2hlYWQnIGZhaWxlZC4gVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDx2YWxpZC1icmFuY2g+Jy4iCiBtc2dzdHIgItCh0LHQvtC5INC/0LXRgNC10YXQvtC00LAg0L3QsCDCqyRzdGFydF9oZWFkwrsuINCf0L7Qv9GA0L7QsdGD0LnRgtC1INCy0YvQv9C+0LvQvdC40YLRjCDCq2dpdCBiaXNlY3QgcmVzZXQgPNGB0YPRidC10YHRgtCy0YPRjtGJ0LDRjy3QstC10YLQutCwPsK7LiIKIAotIzogZ2l0LWJpc2VjdC5zaDoxNzgKKyM6IGdpdC1iaXNlY3Quc2g6MTc3CiBtc2dpZCAid29uJ3QgYmlzZWN0IG9uIGNnLXNlZWsnZWQgdHJlZSIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINCy0YvQv9C+0LvQvdC40YLRjCDQtNCy0L7QuNGH0L3Ri9C5INC/0L7QuNGB0Log0L3QsCDQtNC10YDQtdCy0LUg0L/QvtGB0LvQtSBjZy1zZWVrIgogCi0jOiBnaXQtYmlzZWN0LnNoOjE4MgorIzogZ2l0LWJpc2VjdC5zaDoxODEKIG1zZ2lkICJCYWQgSEVBRCAtIHN0cmFuZ2Ugc3ltYm9saWMgcmVmIgogbXNnc3RyICLQn9C70L7RhdC+0Lkg0YPQutCw0LfQsNGC0LXQu9GMIEhFQUQg4oCUINGB0YLRgNCw0L3QvdCw0Y8g0YHQuNC80LLQvtC70YzQvdCw0Y8g0YHRgdGL0LvQutCwIgogCi0jOiBnaXQtYmlzZWN0LnNoOjIzNAorIzogZ2l0LWJpc2VjdC5zaDoyMzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICRzdGF0ZSIKIG1zZ3N0ciAi0J/Qu9C+0YXQvtC5INCw0YDQs9GD0LzQtdC90YIgYmlzZWN0X3dyaXRlOiAkc3RhdGUiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MjYzCisjOiBnaXQtYmlzZWN0LnNoOjI2MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQmFkIHJldiBpbnB1dDogJGFyZyIKIG1zZ3N0ciAi0J/Qu9C+0YXQvtC5INCy0LLQvtC0INC90L7QvNC10YDQsCDRgNC10LTQsNC60YbQuNC4OiAkYXJnIgogCi0jOiBnaXQtYmlzZWN0LnNoOjI3OAotbXNnaWQgIlBsZWFzZSBjYWxsICdiaXNlY3Rfc3RhdGUnIHdpdGggYXQgbGVhc3Qgb25lIGFyZ3VtZW50LiIKLW1zZ3N0ciAi0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0YvQt9GL0LLQsNC50YLQtSDCq2Jpc2VjdF9zdGF0ZcK7INC60LDQuiDQvNC40L3QuNC80YPQvCDRgSDQvtC00L3QuNC8INCw0YDQs9GD0LzQtdC90YLQvtC8LiIKKyM6IGdpdC1iaXNlY3Quc2g6MjgxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJCYWQgcmV2IGlucHV0OiAkYmlzZWN0ZWRfaGVhZCIKK21zZ3N0ciAi0J/Qu9C+0YXQvtC5INCy0LLQvtC0INC90L7QvNC10YDQsCDRgNC10LTQsNC60YbQuNC4OiAkYmlzZWN0ZWRfaGVhZCIKIAogIzogZ2l0LWJpc2VjdC5zaDoyOTAKICMsIHNoLWZvcm1hdApAQCAtMTE1NjMsNjEgKzEyODAxLDk5IEBACiAiU3VwcG9ydGVkIG9wdGlvbnMgYXJlOiAtLXRlcm0tZ29vZHwtLXRlcm0tb2xkIGFuZCAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgogbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiAkYXJnINC00LvRjyDCq2dpdCBiaXNlY3QgdGVybXPCuy5cbtCf0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0LUg0L/QsNGA0LDQvNC10YLRgNGLOiAtLXRlcm0tZ29vZHwtLXRlcm0tb2xkINC4IC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTcKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjQ2Cittc2dpZCAiIgorIkVycm9yOiBZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCisibWVyZ2UiCittc2dzdHIgItCe0YjQuNCx0LrQsDog0JLQsNGI0Lgg0LvQvtC60LDQu9GM0L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQsiDRg9C60LDQt9Cw0L3QvdGL0YUg0YTQsNC50LvQsNGFINCx0YPQtNGD0YIg0L/QtdGA0LXQt9Cw0L/QuNGB0LDQvdGLINC/0YDQuCDRgdC70LjRj9C90LjQuCIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NjEKK21zZ2lkICJBdXRvbWF0ZWQgbWVyZ2UgZGlkIG5vdCB3b3JrLiIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDRgdC70LjRgtGMINC40LfQvNC10L3QtdC90LjRjy4iCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjYyCittc2dpZCAiU2hvdWxkIG5vdCBiZSBkb2luZyBhbiBvY3RvcHVzLiIKK21zZ3N0ciAi0JTQvtC70LbQvdC+INCx0YvRgtGMIG9jdG9wdXMg0L3QtSDQv9C+0LTRhdC+0LTQuNGCLiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NzMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBmaW5kIGNvbW1vbiBjb21taXQgd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDQvtCx0YnQuNC5INC60L7QvNC80LjRgiDRgSAkcHJldHR5X25hbWUiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjc3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUgd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgItCj0LbQtSDQvtCx0L3QvtCy0LvQtdC90L4g0LIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNC4INGBICRwcmV0dHlfbmFtZSIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6ODkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhc3QtZm9yd2FyZGluZyB0bzogJHByZXR0eV9uYW1lIgorbXNnc3RyICLQn9C10YDQtdC80L7RgtC60LAg0LLQv9C10YDQtdC0INC00L46ICRwcmV0dHlfbmFtZSIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6OTcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRyeWluZyBzaW1wbGUgbWVyZ2Ugd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgItCf0L7Qv9GL0YLQutCwINC/0YDQvtGB0YLQvtCz0L4g0YHQu9C40Y/QvdC40Y8g0YEgJHByZXR0eV9uYW1lIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDoxMDIKK21zZ2lkICJTaW1wbGUgbWVyZ2UgZGlkIG5vdCB3b3JrLCB0cnlpbmcgYXV0b21hdGljIG1lcmdlLiIKK21zZ3N0ciAi0J/RgNC+0YHRgtC+0LUg0YHQu9C40Y/QvdC40LUg0L3QtSDRg9C00LDQu9C+0YHRjCwg0L/QvtC/0YvRgtC60LAg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60L7Qs9C+INGB0LvQuNGP0L3QuNGPLiIKKworIzogZ2l0LXJlYmFzZS5zaDo1NgogbXNnaWQgIiIKICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIuXG4iCiAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcImdpdCByZWJhc2UgLS1za2lwXCIgaW5zdGVhZC5cbiIKICJUbyBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCByZWJhc2luZywgcnVuIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIuIgogbXNnc3RyICLQmtC+0LPQtNCwINCy0Ysg0YDQsNC30YDQtdGI0LjRgtC1INGN0YLQvtGCINC60L7QvdGE0LvQuNC60YIsINC30LDQv9GD0YHRgtC40YLQtSDCq2dpdCByZWJhc2UgLS1jb250aW51ZcK7Llxu0JXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUg0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0Y3RgtC+0YIg0L/QsNGC0YcsINGC0L4g0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHJlYmFzZSAtLXNraXDCuy5cbtCn0YLQvtCx0Ysg0L/QtdGA0LXQudGC0Lgg0L3QsCDQvtGA0LjQs9C40L3QsNC70YzQvdGD0Y4g0LLQtdGC0LrRgyDQuCDQvtGB0YLQsNC90L7QstC40YLRjCDQv9C10YDQtdC80LXRidC10L3QuNC1LCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgcmViYXNlIC0tYWJvcnTCuy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTY4CisjOiBnaXQtcmViYXNlLnNoOjE1NiBnaXQtcmViYXNlLnNoOjM5NQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG1vdmUgYmFjayB0byAkaGVhZF9uYW1lIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LnRgtC4INC90LDQt9Cw0LQg0L3QsCAkaGVhZF9uYW1lIgorCisjOiBnaXQtcmViYXNlLnNoOjE2NwogbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKIG1zZ3N0ciAi0J/RgNC40LzQtdC90LXQvdC+INCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LUg0L/RgNGP0YLQsNC90YzQtS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTcxCisjOiBnaXQtcmViYXNlLnNoOjE3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCAkc3Rhc2hfc2hhMSIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNzIKKyM6IGdpdC1yZWJhc2Uuc2g6MTcxCiBtc2dpZCAiIgogIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCiAiWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC5cbiIKICJZb3UgY2FuIHJ1biBcImdpdCBzdGFzaCBwb3BcIiBvciBcImdpdCBzdGFzaCBkcm9wXCIgYXQgYW55IHRpbWUuXG4iCiBtc2dzdHIgItCf0YDQuNC80LXQvdC10L3QuNC1INCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LPQviDQv9GA0Y/RgtCw0L3RjNGPINCy0YvQt9Cy0LDQu9C+INC60L7QvdGE0LvQuNC60YLRiy5cbtCS0LDRiNC4INC40LfQvNC10L3QtdC90LjRjyDRgdC/0YDRj9GC0LDQvdGLINC4INCyINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuC5cbtCS0Ysg0LzQvtC20LXRgtC1INCy0YvQv9C+0LvQvdC40YLRjCDCq2dpdCBzdGFzaCBwb3DCuyDQuNC70LggwqtnaXQgc3Rhc2ggZHJvcMK7INCyINC70Y7QsdC+0Lkg0LzQvtC80LXQvdGCLlxuIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxMQorIzogZ2l0LXJlYmFzZS5zaDoyMTAKIG1zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKLW1zZ3N0ciAi0J/QtdGA0LXRhdCy0LDRgtGH0LjQuiDQv9GA0LUt0L/QtdGA0LXQvNC10YnQtdC90LjRjyDQvtGC0LrQsNC30LDQuyDQsiDQv9C10YDQtdC80LXRidC10L3QuNC4LiIKK21zZ3N0ciAi0J/QtdGA0LXRhdCy0LDRgtGH0LjQuiBwcmUtcmViYXNlINC+0YLQutCw0LfQsNC7INCyINC/0LXRgNC10LzQtdGJ0LXQvdC40LguIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxNgorIzogZ2l0LXJlYmFzZS5zaDoyMTUKIG1zZ2lkICJJdCBsb29rcyBsaWtlIGdpdC1hbSBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCiBtc2dzdHIgItCf0L7RhdC+0LbQtSwgZ2l0LWFtINCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8uINCf0LXRgNC10LzQtdGJ0LXQvdC40LUg0L3QtdCy0L7Qt9C80L7QttC90L4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjM1NworIzogZ2l0LXJlYmFzZS5zaDozNTYKIG1zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgogbXNnc3RyICLQndC10YIg0L/QtdGA0LXQvNC10YnQtdC90LjRjyDQsiDQv9GA0L7RhtC10YHRgdC1PyIKIAotIzogZ2l0LXJlYmFzZS5zaDozNjgKKyM6IGdpdC1yZWJhc2Uuc2g6MzY3CiBtc2dpZCAiVGhlIC0tZWRpdC10b2RvIGFjdGlvbiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnRlcmFjdGl2ZSByZWJhc2UuIgogbXNnc3RyICLQlNC10LnRgdGC0LLQuNC1IC0tZWRpdC10b2RvINC80L7QttC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGM0YHRjyDRgtC+0LvRjNC60L4g0L/RgNC4INC40L3RgtC10YDQsNC60YLQuNCy0L3QvtC8INC/0LXRgNC10LzQtdGJ0LXQvdC40LguIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3NQorIzogZ2l0LXJlYmFzZS5zaDozNzQKIG1zZ2lkICJDYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCBIRUFEIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3OAorIzogZ2l0LXJlYmFzZS5zaDozNzcKIG1zZ2lkICIiCiAiWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCiAibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCiBtc2dzdHIgItCS0Ysg0LTQvtC70LbQvdGLINC+0YLRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQstGB0LVcbtC60L7QvdGE0LvQuNC60YLRiyDRgdC70LjRj9C90LjRjywg0LAg0L/QvtGC0L7QvCDQv9C+0LzQtdGC0LjRgtGMXG7QuNGFINC60LDQuiDRgNCw0LfRgNC10YjQtdC90L3Ri9C1INGBINC/0L7QvNC+0YnRjNGOIGdpdCBhZGQiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzk2Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCi1tc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQudGC0Lgg0L3QsNC30LDQtCDQvdCwICRoZWFkX25hbWUiCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NDE1CisjOiBnaXQtcmViYXNlLnNoOjQxNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICRzdGF0ZV9kaXJfYmFzZSBkaXJlY3RvcnksIGFuZFxuIgpAQCAtMTE2MzAsOTcgKzEyOTA2LDEwMSBAQAogInZhbHVhYmxlIHRoZXJlLiIKIG1zZ3N0ciAi0J/QvtGF0L7QttC1LCDQutCw0YLQsNC70L7QsyAkc3RhdGVfZGlyX2Jhc2Ug0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCINC4INGPINC/0YDQtdC00L/QvtC70LDQs9Cw0Y4sINGH0YLQviDQstGLINCyINC/0YDQvtGG0LXRgdGB0LUg0LTRgNGD0LPQvtCz0L4g0L/QtdGA0LXQvNC10YnQtdC90LjRjy4gINCV0YHQu9C4INGN0YLQviDRgtCw0LosINC/0L7Qv9GA0L7QsdGD0LnRgtC1XG5cdCRjbWRfbGl2ZV9yZWJhc2VcbtCV0YHQu9C4INC90LXRglxuXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxu0Lgg0LfQsNC/0YPRgdGC0LjRgtC1INC80LXQvdGPINGB0L3QvtCy0LAuICDQryDQvtGB0YLQsNC90LDQstC70LjQstCw0Y7RgdGMLCDRh9GC0L7QsdGLINCy0Ysg0L3QtSDQv9C+0YLQtdGA0Y/Qu9C4INGH0YLQvi3RgtC+INCy0LDQttC90L7QtS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDY2CisjOiBnaXQtcmViYXNlLnNoOjQ2NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAkdXBzdHJlYW1fbmFtZSIKIG1zZ3N0ciAi0L3QtdC00LXQudGB0YLQstC40YLQtdC70YzQvdCw0Y8g0LLRi9GI0LXRgdGC0L7Rj9GJ0LDRjyDQstC10YLQutCwICR1cHN0cmVhbV9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5MAorIzogZ2l0LXJlYmFzZS5zaDo0ODkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgogbXNnc3RyICIkb250b19uYW1lOiDQuNC80LXQtdGC0YHRjyDQsdC+0LvRjNGI0LUg0L7QtNC90L7QuSDQsdCw0LfRiyDRgdC70LjRj9C90LjRjyIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTMgZ2l0LXJlYmFzZS5zaDo0OTcKKyM6IGdpdC1yZWJhc2Uuc2g6NDkyIGdpdC1yZWJhc2Uuc2g6NDk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgogbXNnc3RyICIkb250b19uYW1lOiDQvdC10YIg0LHQsNC30Ysg0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTAyCisjOiBnaXQtcmViYXNlLnNoOjUwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCiBtc2dzdHIgItCd0LUg0YPQutCw0LfRi9Cy0LDQtdGCINC90LAg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQuSDQutC+0LzQvNC40YI6ICRvbnRvX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTI1CisjOiBnaXQtcmViYXNlLnNoOjUyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoOiAkYnJhbmNoX25hbWUiCiBtc2dzdHIgItC60YDQuNGC0LjRh9C10YHQutCw0Y8g0L7RiNC40LHQutCwOiDQvdC10YIg0YLQsNC60L7QuSDQstC10YLQutC4OiAkYnJhbmNoX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTU4CisjOiBnaXQtcmViYXNlLnNoOjU1NwogbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LUg0L/RgNGP0YLQsNC90YzQtSIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjMKKyM6IGdpdC1yZWJhc2Uuc2g6NTYyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKIG1zZ3N0ciAi0JjQt9C80LXQvdC10L3QuNGPINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4INGB0L/RgNGP0YLQsNC90Ys6ICRzdGFzaF9hYmJyZXYiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTY3CisjOiBnaXQtcmViYXNlLnNoOjU2NgogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgItCh0LTQtdC70LDQudGC0LUg0LrQvtC80LzQuNGCINC40LvQuCDRgdC/0YDRj9GH0YzRgtC1INC40YUuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU4NworIzogZ2l0LXJlYmFzZS5zaDo1ODYKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAi0KLQtdC60YPRidCw0Y8g0LLQtdGC0LrQsCAkYnJhbmNoX25hbWUg0YPQttC1INGB0LLQtdC20LDRjy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTkxCisjOiBnaXQtcmViYXNlLnNoOjU5MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgogbXNnc3RyICLQotC10LrRg9GJ0LDRjyDQstC10YLQutCwICRicmFuY2hfbmFtZSDRg9C20LUg0YHQstC10LbQsNGPLCDQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QvtC1INC/0LXRgNC10LzQtdGJ0LXQvdC40LUuIgogCi0jOiBnaXQtcmViYXNlLnNoOjYwMgorIzogZ2l0LXJlYmFzZS5zaDo2MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgogbXNnc3RyICLQmNC30LzQtdC90LXQvdC40Y8g0L7RgiAkbWIg0LTQviAkb250bzoiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjExCisjOiBnaXQtcmViYXNlLnNoOjYxMAogbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLiIKIG1zZ3N0ciAi0KHQvdCw0YfQsNC70LAg0L/QtdGA0LXQvNCw0YLRi9Cy0LDQtdC8INGD0LrQsNC30LDRgtC10LvRjCDRgtC10LrRg9GJ0LXQs9C+INC60L7QvNC80LjRgtCwLCDRh9GC0L7QsdGLINC/0YDQuNC80LXQvdC40YLRjCDQstCw0YjQuCDQuNC30LzQtdC90LXQvdC40Y8g0L/QvtCy0LXRgNGFINC90LXQs9C+4oCmIgogCi0jOiBnaXQtcmViYXNlLnNoOjYyMQorIzogZ2l0LXJlYmFzZS5zaDo2MjAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAi0J/QtdGA0LXQvNC+0YLQsNC90LAg0LLQv9C10YDQtdC0ICRicmFuY2hfbmFtZSDQtNC+ICRvbnRvX25hbWUuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTEKKyM6IGdpdC1zdGFzaC5zaDo1MAogbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKIG1zZ3N0ciAiZ2l0IHN0YXNoINC+0YfQuNGB0YLQutCwINGBINC/0LDRgNCw0LzQtdGC0YDQsNC80Lgg0L3QtSDRgNC10LDQu9C40LfQvtCy0LDQvdCwIgogCi0jOiBnaXQtc3Rhc2guc2g6NzQKKyM6IGdpdC1zdGFzaC5zaDo3MwogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgogbXNnc3RyICLQoyDQstCw0YEg0LXRidC1INC90LXRgiDQvdCw0YfQsNC70YzQvdC+0LPQviDQutC+0LzQvNC40YLQsCIKIAotIzogZ2l0LXN0YXNoLnNoOjg5CisjOiBnaXQtc3Rhc2guc2g6ODgKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0YXRgNCw0L3QuNGC0Ywg0YLQtdC60YPRidC10LUg0YHQvtGB0YLQvtGP0L3QuNC1INC40L3QtNC10LrRgdCwIgogCi0jOiBnaXQtc3Rhc2guc2g6MTI0IGdpdC1zdGFzaC5zaDoxMzcKKyM6IGdpdC1zdGFzaC5zaDoxMDMKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDRgdC+0YXRgNCw0L3QuNGC0Ywg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70YsiCisKKyM6IGdpdC1zdGFzaC5zaDoxMjMgZ2l0LXN0YXNoLnNoOjEzNgogbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCDRgtC10LrRg9GJ0LXQtSDRgdC+0YHRgtC+0Y/QvdC40LUg0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQxCisjOiBnaXQtc3Rhc2guc2g6MTQwCiBtc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKIG1zZ3N0ciAi0JjQt9C80LXQvdC10L3QuNGPINC90LUg0LLRi9Cx0YDQsNC90YsiCiAKLSM6IGdpdC1zdGFzaC5zaDoxNDQKKyM6IGdpdC1zdGFzaC5zaDoxNDMKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBpbmRleCAoY2FuJ3QgaGFwcGVuKSIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDQstGA0LXQvNC10L3QvdGL0Lkg0LjQvdC00LXQutGBICjQvdC1INC00L7Qu9C20L3QviDRgdC70YPRh9Cw0YLRjNGB0Y8pIgogCi0jOiBnaXQtc3Rhc2guc2g6MTU3CisjOiBnaXQtc3Rhc2guc2g6MTU2CiBtc2dpZCAiQ2Fubm90IHJlY29yZCB3b3JraW5nIHRyZWUgc3RhdGUiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDRgdC+0YHRgtC+0Y/QvdC40LUg0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwIgogCi0jOiBnaXQtc3Rhc2guc2g6MTg5CisjOiBnaXQtc3Rhc2guc2g6MTg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlICRyZWZfc3Rhc2ggd2l0aCAkd19jb21taXQiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCAkcmVmX3N0YXNoINGBINC/0L7QvNC+0YnRjNGOICR3X2NvbW1pdCIKQEAgLTExNzM0LDExNSArMTMwMTQsMTMyIEBACiAjLiAkIGdpdCBzdGFzaCBzYXZlIC0tYmxhaC1ibGFoIDI+JjEgfCBoZWFkIC1uIDIKICMuIGVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAtLWJsYWgtYmxhaAogIy4gVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnLS1ibGFoLWJsYWgnCi0jOiBnaXQtc3Rhc2guc2g6MjM5CisjOiBnaXQtc3Rhc2guc2g6MjM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKICIgICAgICAgVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnJG9wdGlvbiciCiBtc2dzdHIgItC+0YjQuNCx0LrQsDog0L3QtdC40LfQstC10YHRgtC90LDRjyDQvtC/0YbQuNGPINC00LvRjyDCq3N0YXNoIHNhdmXCuzogJG9wdGlvblxuICAgICAgICDQlNC70Y8g0L/RgNC10LTQvtGB0YLQsNCy0LvQtdC90LjRjyDRgdC+0L7QsdGJ0LXQvdC40Y8sINC40YHQv9C+0LvRjNC30YPQudGC0LUgZ2l0IHN0YXNoIHNhdmUgLS0gwqskb3B0aW9uwrsiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjAKKyM6IGdpdC1zdGFzaC5zaDoyNTEKK21zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgorbXNnc3RyICLQndC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIC0tcGF0Y2gg0LggLS1pbmNsdWRlLXVudHJhY2tlZCDQuNC70LggLS1hbGwg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgorCisjOiBnaXQtc3Rhc2guc2g6MjU5CiBtc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgogbXNnc3RyICLQndC10YIg0LvQvtC60LDQu9GM0L3Ri9GFINC40LfQvNC10L3QtdC90LjQuSDQtNC70Y8g0YHQvtGF0YDQsNC90LXQvdC40Y8iCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjQKKyM6IGdpdC1zdGFzaC5zaDoyNjMKIG1zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0YLRjCDRgdC/0YDRj9GC0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8iCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjgKKyM6IGdpdC1zdGFzaC5zaDoyNjcKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtGF0YDQsNC90LjRgtGMINGC0LXQutGD0YnQuNC5INGB0YLQsNGC0YPRgSIKIAotIzogZ2l0LXN0YXNoLnNoOjI4NgorIzogZ2l0LXN0YXNoLnNoOjI2OAorIywgc2gtZm9ybWF0Cittc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCittc2dzdHIgItCg0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzINC4INGB0L7RgdGC0L7Rj9C90LjQtSDQuNC90LTQtdC60YHQsCDRgdC+0YXRgNCw0L3QtdC90YsgJHN0YXNoX21zZyIKKworIzogZ2l0LXN0YXNoLnNoOjI4NQogbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwIgogCi0jOiBnaXQtc3Rhc2guc2g6NDA1CisjOiBnaXQtc3Rhc2guc2g6NDAzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbjogJG9wdCIKIG1zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90LDRjyDQvtC/0YbQuNGPOiAkb3B0IgogCi0jOiBnaXQtc3Rhc2guc2g6NDE1CisjOiBnaXQtc3Rhc2guc2g6NDE2CiBtc2dpZCAiTm8gc3Rhc2ggZm91bmQuIgogbXNnc3RyICLQndC1INC90LDQudC00LXQvdGLINGB0L/RgNGP0YLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjIKKyM6IGdpdC1zdGFzaC5zaDo0MjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgItCf0LXRgNC10LTQsNC90L4g0YHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviDRgNC10LTQsNC60YbQuNC5OiAkUkVWIgogCi0jOiBnaXQtc3Rhc2guc2g6NDI4CisjOiBnaXQtc3Rhc2guc2g6NDM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkcmVmZXJlbmNlIGlzIG5vdCBhIHZhbGlkIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJHJlZmVyZW5jZSDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L7QuSDRgdGB0YvQu9C60L7QuSIKIAotIzogZ2l0LXN0YXNoLnNoOjQ1NgorIzogZ2l0LXN0YXNoLnNoOjQ2NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKIG1zZ3N0ciAiwqskYXJnc8K7INC90LUg0L/QvtGF0L7QttC1INC90LAg0LrQvtC80LzQuNGCINGB0L4g0YHQv9GA0Y/RgtCw0L3QvdGL0LzQuCDQuNC30LzQtdC90LXQvdC40Y/QvNC4IgogCi0jOiBnaXQtc3Rhc2guc2g6NDY3CisjOiBnaXQtc3Rhc2guc2g6NDc3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKIG1zZ3N0ciAiwqskYXJnc8K7INC90LUg0Y/QstC70Y/QtdGC0YHRjyDRgdGB0YvQu9C60L7QuSDQvdCwINGB0L/RgNGP0YLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyIKIAotIzogZ2l0LXN0YXNoLnNoOjQ3NQorIzogZ2l0LXN0YXNoLnNoOjQ4NQogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0Ywg0LjQvdC00LXQutGBIgogCi0jOiBnaXQtc3Rhc2guc2g6NDc5CisjOiBnaXQtc3Rhc2guc2g6NDg5CiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICLQndC10LvRjNC30Y8g0L/RgNC40LzQtdC90LjRgtGMINGB0L/RgNGP0YLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQstC+INCy0YDQtdC80Y8g0LLRi9C/0L7Qu9C90LXQvdC40Y8g0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODcKKyM6IGdpdC1zdGFzaC5zaDo0OTcKIG1zZ2lkICJDb25mbGljdHMgaW4gaW5kZXguIFRyeSB3aXRob3V0IC0taW5kZXguIgogbXNnc3RyICLQmtC+0L3RhNC70LjQutGC0Ysg0LIg0LjQvdC00LXQutGB0LUuINCf0L7Qv9GA0L7QsdGD0LnRgtC1INCx0LXQtyAtLWluZGV4LiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ4OQorIzogZ2l0LXN0YXNoLnNoOjQ5OQogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtGF0YDQsNC90LjRgtGMINC00LXRgNC10LLQviDQuNC90LTQtdC60YHQsCIKIAotIzogZ2l0LXN0YXNoLnNoOjUyMworIzogZ2l0LXN0YXNoLnNoOjUwOAorbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstC+0YHRgdGC0LDQvdC+0LLQuNGC0Ywg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70Ysg0LjQtyDRgdC/0Y/RgtCw0L3QvdGL0YUg0YTQsNC50LvQvtCyIgorCisjOiBnaXQtc3Rhc2guc2g6NTMzCiBtc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCiBtc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INGD0LHRgNCw0YLRjCDQuNC3INC40L3QtNC10LrRgdCwINC40LfQvNC10L3QtdC90L3Ri9C1INGE0LDQudC70YsiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MzgKKyM6IGdpdC1zdGFzaC5zaDo1NDgKIG1zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCiBtc2dzdHIgItCY0L3QtNC10LrRgSDQvdC1INCx0YvQuyDQuNC30LLQu9C10YfRkdC9INC40Lcg0YHQv9GA0Y/RgtCw0L3QvdGL0YUg0LjQt9C80LXQvdC10L3QuNC5LiIKIAotIzogZ2l0LXN0YXNoLnNoOjU2MQorIzogZ2l0LXN0YXNoLnNoOjU2MgorbXNnaWQgIlRoZSBzdGFzaCBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorbXNnc3RyICLQodC/0YDRj9GC0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGF0YDQsNC90LXQvdGLLCDQvdCwINGB0LvRg9GH0LDQuSDQtdGB0LvQuCDQvtC90Lgg0YHQvdC+0LLQsCDQstCw0Lwg0L/QvtC90LDQtNC+0LHRj9GC0YHRjy4iCisKKyM6IGdpdC1zdGFzaC5zaDo1NzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgItCe0YLQsdGA0L7RiNC10L3QviAke1JFVn0gKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjU2MgorIzogZ2l0LXN0YXNoLnNoOjU3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ9OiDQndC1INGD0LTQsNC70L7RgdGMINC+0YLQsdGA0L7RgdC40YLRjCDQt9Cw0L/QuNGB0Ywg0LjQtyDRgdC/0YDRj9GC0LDQvdC90YvRhSDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzAKKyM6IGdpdC1zdGFzaC5zaDo1ODAKIG1zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCiBtc2dzdHIgItCd0LUg0YPQutCw0LfQsNC90L4g0LjQvNGPINCy0LXRgtC60LgiCiAKLSM6IGdpdC1zdGFzaC5zaDo2NDIKKyM6IGdpdC1zdGFzaC5zaDo2NTIKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIijQp9GC0L7QsdGLINCy0L7RgdGB0YLQsNC90L7QstC40YLRjCDQuNGFLCDQvdCw0LHQtdGA0LjRgtC1IMKrZ2l0IHN0YXNoIGFwcGx5wrspIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIxOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxODQKIG1zZ2lkICJSZWxhdGl2ZSBwYXRoIGNhbiBvbmx5IGJlIHVzZWQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi0J7RgtC90L7RgdC40YLQtdC70YzQvdGL0Lkg0L/Rg9GC0Ywg0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+INC90LDRhdC+0LTRj9GB0Ywg0L3QsCDQstC10YDRiNC40L3QtSDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjI5CisjOiBnaXQtc3VibW9kdWxlLnNoOjE5NAogIywgc2gtZm9ybWF0CiBtc2dpZCAicmVwbyBVUkw6ICckcmVwbycgbXVzdCBiZSBhYnNvbHV0ZSBvciBiZWdpbiB3aXRoIC4vfC4uLyIKIG1zZ3N0ciAiVVJMINGA0LXQv9C+0LfQuNGC0L7RgNC40Y86IMKrJHJlcG/CuyDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0LDQsdGB0L7Qu9GO0YLQvdGL0Lwg0LjQu9C4INC90LDRh9C40L3QsNGC0YzRgdGPINGBIC4vfC4uLyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjExCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAiwqskc21fcGF0aMK7INGD0LbQtSDRgdC+0LTQtdGA0LbQuNGC0YHRjyDQsiDQuNC90LTQtdC60YHQtSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjE1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBwYXRoIGlzIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKQEAgLTExODUwLDIxMiArMTMxNDcsMjA4IEBACiAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgaXQuIgogbXNnc3RyICLQodC70LXQtNGD0Y7RidC40LUg0L/Rg9GC0Lgg0LjQs9C90L7RgNC40YDRg9GO0YLRgdGPINC+0LTQvdC40Lwg0LjQtyDQstCw0YjQuNGFINGE0LDQudC70L7QsiAuZ2l0aWdub3JlOlxuJHNtX3BhdGhcbtCY0YHQv9C+0LvRjNC30YPQudGC0LUg0L7Qv9GG0LjRjiAtZiwg0LXRgdC70Lgg0LLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0LXQs9C+INC00L7QsdCw0LLQuNGC0YwuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI2OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICLQlNC+0LHQsNCy0LvRj9GOINGB0YPRidC10YHRgtCy0YPRjtGJ0LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5INC40Lcgwqskc21fcGF0aMK7INCyINC40L3QtNC10LrRgSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYSB2YWxpZCBnaXQgcmVwbyIKIG1zZ3N0ciAiwqskc21fcGF0aMK7INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiDQuCDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC10LwgZ2l0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKIG1zZ3N0ciAi0JrQsNGC0LDQu9C+0LMgZ2l0INC00LvRjyDCqyRzbV9uYW1lwrsg0L3QsNC50LTQtdC9INC70L7QutCw0LvRjNC90L4g0L3QsCDQstC90LXRiNC90LjRhSDRgNC10L/QvtC30LjRgtC+0YDQuNGP0YU6IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKLSJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb20iCi1tc2dzdHIgItCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1INC/0LXRgNC10LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC70L7QutCw0LvRjNC90YvQuSDQutCw0YLQsNC70L7QsyBnaXQg0LLQvNC10YHRgtC+INC/0L7QstGC0L7RgNC90L7Qs9C+INC60LvQvtC90LjRgNC+0LLQsNC90LjRjyDQuNC3IgorIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbVxuIgorIiAgJHJlYWxyZXBvXG4iCisidXNlIHRoZSAnLS1mb3JjZScgb3B0aW9uLiBJZiB0aGUgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpcyBub3QgdGhlIGNvcnJlY3QgcmVwb1xuIgorIm9yIHlvdSBhcmUgdW5zdXJlIHdoYXQgdGhpcyBtZWFucyBjaG9vc2UgYW5vdGhlciBuYW1lIHdpdGggdGhlICctLW5hbWUnIG9wdGlvbi4iCittc2dzdHIgItCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1INC/0L7QstGC0L7RgNC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC70L7QutCw0LvRjNC90YvQuSDQutCw0YLQsNC70L7QsyBnaXQg0LLQvNC10YHRgtC+INC/0L7QstGC0L7RgNC90L7Qs9C+INC60LvQvtC90LjRgNC+0LLQsNC90LjRjyDQuNC3XG4gICRyZWFscmVwb1xu0YLQviDQuNGB0L/QvtC70YzQt9GD0LnRgtC1INC/0LDRgNCw0LzQtdGC0YAgwqstLWZvcmNlwrsuINCV0YHQu9C4INC20LUg0LvQvtC60LDQu9GM0L3Ri9C5INC60LDRgtCw0LvQvtCzIGdpdCDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0L3Rg9C20L3Ri9C8INGA0LXQv9C+0LfQuNGC0L7RgNC40LXQvCDQuNC70Lgg0LXRgdC70Lgg0LLRiyDQvdC1INGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0Y3RgtC+INC30L3QsNGH0LjRgiwg0YLQviDRg9C60LDQttC40YLQtSDQtNGA0YPQs9C+0LUg0LjQvNGPINC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8g0YEg0L/QvtC80L7RidGM0Y4g0L/QsNGA0LDQvNC10YLRgNCwIMKrLS1uYW1lwrsuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotInVzZSB0aGUgJy0tZm9yY2UnIG9wdGlvbi4gSWYgdGhlIGxvY2FsIGdpdCBkaXJlY3RvcnkgaXMgbm90IHRoZSBjb3JyZWN0IHJlcG8iCi1tc2dzdHIgIiwg0YLQviDQuNGB0L/QvtC70YzQt9GD0LnRgtC1INC+0L/RhtC40Y4gwqstLWZvcmNlwrsuINCV0YHQu9C4INC70L7QutCw0LvRjNC90YvQuSDQutCw0YLQsNC70L7QsyBnaXQg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00LXQudGB0YLQstC40YLQtdC70YzQvdGL0Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdC8IgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIm9yIHlvdSBhcmUgdW5zdXJlIHdoYXQgdGhpcyBtZWFucyBjaG9vc2UgYW5vdGhlciBuYW1lIHdpdGggdGhlICctLW5hbWUnICIKLSJvcHRpb24uIgotbXNnc3RyICLQuNC70Lgg0LXRgdC70Lgg0LLRiyDQvdC1INC/0L7QvdGP0LvQuCwg0YfRgtC+INGN0YLQviDQt9C90LDRh9C40YIsINGC0L4g0L/RgNC+0YHRgtC+INC40YHQv9C+0LvRjNC30YPQudGC0LUg0LTRgNGD0LPQvtC1INC40LzRjyDRgSDQv9C+0LzQvtGJ0YzRjiDQvtC/0YbQuNC4IMKrLS1uYW1lwrsuIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYWN0aXZhdGluZyBsb2NhbCBnaXQgZGlyZWN0b3J5IGZvciBzdWJtb2R1bGUgJyRzbV9uYW1lJy4iCiBtc2dzdHIgItCS0L7RgdGB0YLQsNC90L7QstC70LXQvdC40LUg0LvQvtC60LDQu9GM0L3QvtCz0L4g0LrQsNGC0LDQu9C+0LPQsCBnaXQg0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDCqyRzbV9uYW1lwrsuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI5NworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC60LvRjtGH0LjRgtGM0YHRjyDQvdCwINGB0L7RgdGC0L7Rj9C90LjQtSDRgyDQv9C+0LTQvNC+0LTRg9C70Y8gwqskc21fcGF0aMK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgItCh0LHQvtC5INC00L7QsdCw0LLQu9C10L3QuNGPINC/0L7QtNC80L7QtNGD0LvRjyDCqyRzbV9wYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzExCisjOiBnaXQtc3VibW9kdWxlLnNoOjI3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC30LDRgNC10LPQuNGB0YLRgNC40YDQvtCy0LDRgtGMINC/0L7QtNC80L7QtNGD0LvRjCDCqyRzbV9wYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzU1CisjOiBnaXQtc3VibW9kdWxlLnNoOjMyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRW50ZXJpbmcgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgItCX0LDRhdC+0LTQuNC8INCyIMKrJGRpc3BsYXlwYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mzc1CisjOiBnaXQtc3VibW9kdWxlLnNoOjM0NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3RvcHBpbmcgYXQgJyRkaXNwbGF5cGF0aCc7IHNjcmlwdCByZXR1cm5lZCBub24temVybyBzdGF0dXMuIgogbXNnc3RyICLQntGB0YLQsNC90LDQstC70LjQstCw0LXQvNGB0Y8g0L3QsCDCqyRkaXNwbGF5cGF0aMK7OyDRgdGG0LXQvdCw0YDQuNC5INCy0LXRgNC90YPQuyDQvdC1INC90YPQu9C10LLQvtC5INC60L7QtCDQstC+0LfQstGA0LDRgtCwLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NDgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDE1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyBhbmQgLS1hbGwgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAi0YHQv9C10YbQuNGE0LjQutCw0YbQuNGOINC/0YPRgtC4INC4IC0tYWxsINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ1MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MjAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVzZSAnLS1hbGwnIGlmIHlvdSByZWFsbHkgd2FudCB0byBkZWluaXRpYWxpemUgYWxsIHN1Ym1vZHVsZXMiCiBtc2dzdHIgItCY0YHQv9C+0LvRjNC30YPQudGC0LUgwqstLWFsbMK7LCDQtdGB0LvQuCDQstGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDQtNC10LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNGC0Ywg0LLRgdC1INC/0L7QtNC80L7QtNGD0LvQuCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSIKLW1zZ3N0ciAi0KDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMg0L/QvtC00LzQvtC00YPQu9GPIMKrJGRpc3BsYXlwYXRowrsg0YHQvtC00LXRgNC20LjRgiDQutCw0YLQsNC70L7QsyAuZ2l0IgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ3MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKKyJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnlcbiIKICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgaGlzdG9yeSkiCi1tc2dzdHIgIijQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrcm0gLXJmwrssINC10YHQu9C4INCy0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINC10LPQviwg0LLQutC70Y7Rh9Cw0Y8g0LLRgdGOINC10LPQviDQuNGB0YLQvtGA0LjRjikiCittc2dzdHIgItCg0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzINC/0L7QtNC80L7QtNGD0LvRjyDCqyRkaXNwbGF5cGF0aMK7INGD0LbQtSDRgdC+0LTQtdGA0LbQuNGCINC60LDRgtCw0LvQvtCzIC5naXRcbijQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrcm0gLXJmwrssINC10YHQu9C4INCy0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINC10LPQviDRgdC+INCy0YHQtdC5INC40YHRgtC+0YDQuNC10Lkg0LjQt9C80LXQvdC10L3QuNC5KSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byIKICIgZGlzY2FyZCB0aGVtIgogbXNnc3RyICLQoNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDQv9C+0LTQvNC+0LTRg9C70Y8gwqskZGlzcGxheXBhdGjCuyDRgdC+0LTQtdGA0LbQuNGCINC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y87INC40YHQv9C+0LvRjNC30YPQudGC0LUgwqstZsK7LCDRh9GC0L7QsdGLINC+0YLQvNC10L3QuNGC0Ywg0LjRhSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDUxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi0J7Rh9C40YnQtdC9INC60LDRgtCw0LvQvtCzIMKrJGRpc3BsYXlwYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDgxCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBzdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMINGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzINC/0L7QtNC80L7QtNGD0LvRjyDCqyRkaXNwbGF5cGF0aMK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ4NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQv9GD0YHRgtC+0Lkg0LrQsNGC0LDQu9C+0LMg0L/QvtC00LzQvtC00YPQu9GPIMKrJGRpc3BsYXlwYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDkzCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICckbmFtZScgKCR1cmwpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi0J/QvtC00LzQvtC00YPQu9GMIMKrJG5hbWXCuyAoJHVybCkg0LHRi9C7INGB0L3Rj9GCINGBINGA0LXQs9C40YHRgtGA0LDRhtC40Lgg0L/QviDQv9GD0YLQuCDCqyRkaXNwbGF5cGF0aMK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYzNQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDRgtC10LrRg9GJ0YPRjiDRgNC10LTQsNC60YbQuNGOINC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8g0L/QviDQv9GD0YLQuCDCqyRkaXNwbGF5cGF0aMK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY0NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCDQuNC30LLQu9C10YfQtdC90LjQtSDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPINC/0L4g0L/Rg9GC0Lggwqskc21fcGF0aMK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY2NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJVbmFibGUgdG8gZmluZCBjdXJyZW50ICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAiCisiJyRzbV9wYXRoJyIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INGC0LXQutGD0YnRg9GOINGA0LXQtNCw0LrRhtC40Y4gJHtyZW1vdGVfbmFtZX0vJHticmFuY2h9INC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8g0L/QviDQv9GD0YLQuCDCqyRzbV9wYXRowrsiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjUwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMINC40LfQstC70LXRh9C10L3QuNC1INC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8g0L/QviDQv9GD0YLQuCDCqyRkaXNwbGF5cGF0aMK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJGZXRjaGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnLCBidXQgaXQgZGlkIG5vdCBjb250YWluICRzaGExLiAiCisiRGlyZWN0IGZldGNoaW5nIG9mIHRoYXQgY29tbWl0IGZhaWxlZC4iCittc2dzdHIgItCf0L7Qu9GD0YfQtdC9INC/0L4g0L/Rg9GC0Lgg0L/QvtC00LzQvtC00YPQu9GPIMKrJGRpc3BsYXlwYXRowrssINC90L4g0L3QtSDRgdC+0LTQtdGA0LbQuNGCICRzaGExLiDQodCx0L7QuSDQv9GA0Lgg0L/RgNGP0LzQvtC8INC/0L7Qu9GD0YfQtdC90LjQuCDQutC+0LzQvNC40YLQsC4iCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjYzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC60LvRjtGH0LjRgtGM0YHRjyDQvdCwINGB0L7RgdGC0L7Rj9C90LjQtSDCqyRzaGExwrsg0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDQv9C+INC/0YPRgtC4IMKrJGRpc3BsYXlwYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgxCisjOiBnaXQtc3VibW9kdWxlLnNoOjY2NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgItCf0L7QtNC80L7QtNGD0LvRjCDQv9C+INC/0YPRgtC4IMKrJGRpc3BsYXlwYXRowrs6INC30LDQsdGA0LDQvdC+INGB0L7RgdGC0L7Rj9C90LjQtSDCqyRzaGExwrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njg1CisjOiBnaXQtc3VibW9kdWxlLnNoOjY2OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LzQtdGB0YLQuNGC0Ywgwqskc2hhMcK7INC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8g0L/QviDQv9GD0YLQuCDCqyRkaXNwbGF5cGF0aMK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKIG1zZ3N0ciAi0J/QvtC00LzQvtC00YPQu9GMINC/0L4g0L/Rg9GC0LggwqskZGlzcGxheXBhdGjCuzog0L/QtdGA0LXQvNC10YnQtdC9INC90LDQtCDCqyRzaGExwrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjkxCisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMINGB0LvQuNGP0L3QuNC1INGBIMKrJHNoYTHCuyDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPINC/0L4g0L/Rg9GC0LggwqskZGlzcGxheXBhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njc1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogbWVyZ2VkIGluICckc2hhMSciCiBtc2dzdHIgItCf0L7QtNC80L7QtNGD0LvRjCDQv9C+INC/0YPRgtC4IMKrJGRpc3BsYXlwYXRowrs6INGB0LvQuNGC0L4g0YEgwqskc2hhMcK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi0KHQsdC+0Lkg0LLRi9C/0L7Qu9C90LXQvdC40Y8gwqskY29tbWFuZCAkc2hhMcK7INC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8g0L/QviDQv9GD0YLQuCDCqyRkaXNwbGF5cGF0aMK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICLQn9C+0LTQvNC+0LTRg9C70Ywg0L/QviDQv9GD0YLQuCDCqyRkaXNwbGF5cGF0aMK7OiDCqyRjb21tYW5kICRzaGExwrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzI5CisjOiBnaXQtc3VibW9kdWxlLnNoOjcxMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0YDQtdC60YPRgNGB0LjQstC90L4g0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDQv9C+INC/0YPRgtC4IMKrJGRpc3BsYXlwYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODM3CisjOiBnaXQtc3VibW9kdWxlLnNoOjgyMAogbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCiBtc2dzdHIgItCe0L/RhtC40Y4gLS1jYWNoZWQg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0YEg0L7Qv9GG0LjQtdC5IC0tZmlsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODg5CisjOiBnaXQtc3VibW9kdWxlLnNoOjg3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INGA0LXQttC40LwgJG1vZF9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTA5CisjOiBnaXQtc3VibW9kdWxlLnNoOjg5MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgogbXNnc3RyICIgINCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6ICRkaXNwbGF5X25hbWUg0L3QtSDRgdC+0LTQtdGA0LbQuNGCINC60L7QvNC80LjRgiAkc2hhMV9zcmMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTEyCisjOiBnaXQtc3VibW9kdWxlLnNoOjg5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfZHN0IgogbXNnc3RyICIgINCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6ICRkaXNwbGF5X25hbWUg0L3QtSDRgdC+0LTQtdGA0LbQuNGCINC60L7QvNC80LjRgiAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTE1CisjOiBnaXQtc3VibW9kdWxlLnNoOjg5OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgogbXNnc3RyICIgINCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6ICRkaXNwbGF5X25hbWUg0L3QtSDRgdC+0LTQtdGA0LbQuNGCINC60L7QvNC80LjRgtGLICRzaGExX3NyYyDQuCAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTQwCi1tc2dpZCAiYmxvYiIKLW1zZ3N0ciAi0LTQstC+0LjRh9C90YvQuSDQvtCx0YrQtdC60YIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA1OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDQ1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMINGA0LXQutGD0YDRgdC40LLQvdC+INC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8g0L/QviDQv9GD0YLQuCDCqyRzbV9wYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTEyMworIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTEyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLQodC40L3RhdGA0L7QvdC40LfQsNGG0LjRjyB1cmwg0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDCqyRkaXNwbGF5cGF0aMK7IgpAQCAtMTIwNjQsMyArMTMzNTcsMzk1IEBACiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTZWUgZ2l0LSR7Y21kfSgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgItCU0LvRjyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtC5INC40L3RhNC+0YDQvNCw0YbQuNC4LCDRgdC80L7RgtGA0LjRgtC1IGdpdC0ke2NtZH0oMSkuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxNDAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlJlYmFzaW5nICgkbmV3X2NvdW50LyR0b3RhbCkiCittc2dzdHIgItCf0LXRgNC10LzQtdGJ0LXQvdC40LUgKCRuZXdfY291bnQvJHRvdGFsKSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTU2Cittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorIiBwLCBwaWNrID0gdXNlIGNvbW1pdFxuIgorIiByLCByZXdvcmQgPSB1c2UgY29tbWl0LCBidXQgZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2VcbiIKKyIgZSwgZWRpdCA9IHVzZSBjb21taXQsIGJ1dCBzdG9wIGZvciBhbWVuZGluZ1xuIgorIiBzLCBzcXVhc2ggPSB1c2UgY29tbWl0LCBidXQgbWVsZCBpbnRvIHByZXZpb3VzIGNvbW1pdFxuIgorIiBmLCBmaXh1cCA9IGxpa2UgXCJzcXVhc2hcIiwgYnV0IGRpc2NhcmQgdGhpcyBjb21taXQncyBsb2cgbWVzc2FnZVxuIgorIiB4LCBleGVjID0gcnVuIGNvbW1hbmQgKHRoZSByZXN0IG9mIHRoZSBsaW5lKSB1c2luZyBzaGVsbFxuIgorIiBkLCBkcm9wID0gcmVtb3ZlIGNvbW1pdFxuIgorIlxuIgorIlRoZXNlIGxpbmVzIGNhbiBiZSByZS1vcmRlcmVkOyB0aGV5IGFyZSBleGVjdXRlZCBmcm9tIHRvcCB0byBib3R0b20uXG4iCittc2dzdHIgIlxu0JrQvtC80LDQvdC00Ys6XG4gcCwgcGljayA9INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQutC+0LzQvNC40YJcbiByLCByZXdvcmQgPSDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LrQvtC80LzQuNGCLCDQvdC+INC40LfQvNC10L3QuNGC0Ywg0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwXG4gZSwgZWRpdCA9INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQutC+0LzQvNC40YIsINC90L4g0L7RgdGC0LDQvdC+0LLQuNGC0YzRgdGPINC00LvRjyDQstC90LXRgdC10L3QuNGPINC/0YDQsNCy0L7QulxuIHMsIHNxdWFzaCA9INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQutC+0LzQvNC40YIsINC90L4g0L7QsdGK0LXQtNC40L3QuNGC0Ywg0LXQs9C+INGBINC/0YDQtdC00YvQtNGD0YnQuNC8INC60L7QvNC80LjRgtC+0LxcbiBmLCBmaXh1cCA9INC60LDQuiDCq3NxdWFzaMK7LCDQvdC+INC+0YLQsdGA0L7RgdC40YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0Y3RgtC+0LPQviDQutC+0LzQvNC40YLQsFxuIHgsIGV4ZWMgPSDQstGL0L/QvtC70L3QuNGC0Ywg0LrQvtC80LDQvdC00YMgKNC+0YHRgtCw0YLQvtC6INGB0YLRgNC+0LrQuCkg0YEg0L/QvtC80L7RidGM0Y4g0LrQvtC80LDQvdC00L3QvtC5INC+0LHQvtC70L7Rh9C60LhcbiBkLCBkcm9wID0g0YPQtNCw0LvQuNGC0Ywg0LrQvtC80LzQuNGCXG5cbtCt0YLQuCDRgdGC0YDQvtC60Lgg0LzQvtCz0YPRgiDQsdGL0YLRjCDQv9C10YDQtdC80LXRidC10L3Rizsg0LLRi9C/0L7Qu9C90Y/RjtGC0YHRjyDQv9C+INC+0YfQtdGA0LXQtNC4INGB0LLQtdGA0YXRgyDQstC90LjQty5cbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTcxCittc2dpZCAiIgorIlxuIgorIkRvIG5vdCByZW1vdmUgYW55IGxpbmUuIFVzZSAnZHJvcCcgZXhwbGljaXRseSB0byByZW1vdmUgYSBjb21taXQuXG4iCittc2dzdHIgIlxu0J3QtSDRg9C00LDQu9GP0LnRgtC1INGB0YLRgNC+0LrQuC4g0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2Ryb3DCuywg0YfRgtC+0LHRiyDRj9Cy0L3QviDRg9C00LDQu9C40YLRjCDQutC+0LzQvNC40YIuXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE3NQorbXNnaWQgIiIKKyJcbiIKKyJJZiB5b3UgcmVtb3ZlIGEgbGluZSBoZXJlIFRIQVQgQ09NTUlUIFdJTEwgQkUgTE9TVC5cbiIKK21zZ3N0ciAiXG7QldGB0LvQuCDQstGLINGD0LTQsNC70LjRgtC1INGB0YLRgNC+0LrRgyDQt9C00LXRgdGMLCDRgtC+INCj0JrQkNCX0JDQndCd0KvQmSDQmtCe0JzQnNCY0KIg0JHQo9CU0JXQoiDQo9Ci0JXQoNCv0J0uXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjIxMQorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIllvdSBjYW4gYW1lbmQgdGhlIGNvbW1pdCBub3csIHdpdGhcbiIKKyJcbiIKKyJcdGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIk9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMsIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICLQotC10L/QtdGA0Ywg0LLRiyDQvNC+0LbQtdGC0LUg0LjRgdC/0YDQsNCy0LjRgtGMINC60L7QvNC80LjRgiDRgSDQv9C+0LzQvtGJ0YzRjlxuXG5cdGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuXG7QmtCw0Log0YLQvtC70YzQutC+INCy0Ysg0LHRg9C00LXRgtC1INC00L7QstC+0LvRjNC90Ysg0YDQtdC30YPQu9GM0YLQsNGC0L7QvCwg0LfQsNC/0YPRgdGC0LjRgtC1XG5cblx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyMzYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiRzaGExOiBub3QgYSBjb21taXQgdGhhdCBjYW4gYmUgcGlja2VkIgorbXNnc3RyICIkc2hhMTog0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60L7QvNC80LjRgtC+0LwsINC60L7RgtC+0YDRi9C5INC80L7QttC90L4g0LLQt9GP0YLRjCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6Mjc1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGNvbW1pdCBuYW1lOiAkc2hhMSIKK21zZ3N0ciAi0J3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INC40LzRjyDQutC+0LzQvNC40YLQsDogJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjMxNworbXNnaWQgIkNhbm5vdCB3cml0ZSBjdXJyZW50IGNvbW1pdCdzIHJlcGxhY2VtZW50IHNoYTEiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDQt9Cw0LzQtdC90YMgc2hhMSDRgtC10LrRg9GJ0LXQs9C+INC60L7QvNC80LjRgtCwIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozNjkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhc3QtZm9yd2FyZCB0byAkc2hhMSIKK21zZ3N0ciAi0J/QtdGA0LXQvNC+0YLQutCwINCy0L/QtdGA0LXQtCDQtNC+ICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozNzEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBmYXN0LWZvcndhcmQgdG8gJHNoYTEiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQvNC+0YLQsNGC0Ywg0LLQv9C10YDQtdC0INC00L4gJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM4MAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG1vdmUgSEVBRCB0byAkZmlyc3RfcGFyZW50IgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LzQtdGB0YLQuNGC0YwgSEVBRCDQvdCwICRmaXJzdF9wYXJlbnQiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM4NQorIywgc2gtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gc3F1YXNoIGEgbWVyZ2U6ICRzaGExIgorbXNnc3RyICLQndC10LvRjNC30Y8g0YPQv9C70L7RgtC90LjRgtGMINGB0LvQuNGP0L3QuNC1OiAkc2hhMSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6Mzk5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJFcnJvciByZWRvaW5nIG1lcmdlICRzaGExIgorbXNnc3RyICLQntGI0LjQsdC60LAg0L/RgNC4INC/0L7QstGC0L7RgNC10L3QuNC4INGB0LvQuNGP0L3QuNGPICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MDcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBwaWNrICRzaGExIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0LfRj9GC0YwgJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQxNgorIywgc2gtZm9ybWF0Cittc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyR7bn06IgorbXNnc3RyICLQrdGC0L4g0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwINC90L7QvNC10YAgIyR7bn06IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MjEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJHtufSB3aWxsIGJlIHNraXBwZWQ6IgorbXNnc3RyICLQodC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0L3QvtC80LXRgCAjJHtufSDQsdGD0LTQtdGCINC/0YDQvtC/0YPRidC10L3QvjoiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQzMgorIywgc2gtZm9ybWF0Cittc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXQuIgorbXNnaWRfcGx1cmFsICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJGNvdW50IGNvbW1pdHMuIgorbXNnc3RyWzBdICLQrdGC0L4g0L7QsdGK0LXQtNC40L3QtdC90LjQtSAkY291bnQg0LrQvtC80LzQuNGC0LAiCittc2dzdHJbMV0gItCt0YLQviDQvtCx0YrQtdC00LjQvdC10L3QuNC1ICRjb3VudCDQutC+0LzQvNC40YLQvtCyIgorbXNnc3RyWzJdICLQrdGC0L4g0L7QsdGK0LXQtNC40L3QtdC90LjQtSAkY291bnQg0LrQvtC80LzQuNGC0L7QsiIKK21zZ3N0clszXSAi0K3RgtC+INC+0LHRitC10LTQuNC90LXQvdC40LUgJGNvdW50INC60L7QvNC80LjRgtC+0LIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQ0MAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlICRmaXh1cF9tc2ciCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCAkZml4dXBfbXNnIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NDMKK21zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgMiBjb21taXRzLiIKK21zZ3N0ciAi0K3RgtC+INC+0LHRitC10LTQuNC90LXQvdC40LUgMiDQutC+0LzQvNC40YLQvtCyIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NDQKK21zZ2lkICJUaGlzIGlzIHRoZSAxc3QgY29tbWl0IG1lc3NhZ2U6IgorbXNnc3RyICLQrdGC0L4gMS3QtSDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LA6IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0ODQgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTI3CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1MzAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAkc2hhMS4uLiAkcmVzdCIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0LjQvNC10L3QuNGC0YwgJHNoYTHigKYgJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjU1OAorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIkNvdWxkIG5vdCBhbWVuZCBjb21taXQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHBpY2tpbmcgJHNoYTEuLi4gJHJlc3RcbiIKKyJUaGlzIGlzIG1vc3QgbGlrZWx5IGR1ZSB0byBhbiBlbXB0eSBjb21taXQgbWVzc2FnZSwgb3IgdGhlIHByZS1jb21taXQgaG9va1xuIgorImZhaWxlZC4gSWYgdGhlIHByZS1jb21taXQgaG9vayBmYWlsZWQsIHlvdSBtYXkgbmVlZCB0byByZXNvbHZlIHRoZSBpc3N1ZSBiZWZvcmVcbiIKKyJ5b3UgYXJlIGFibGUgdG8gcmV3b3JkIHRoZSBjb21taXQuIgorbXNnc3RyICLQndC1INGD0LTQvtC70L7RgdGMINC40YHQv9GA0LDQstC40YLRjCDQutC+0LzQvNC40YIg0L/QvtGB0LvQtSDRg9GB0L/QtdGI0L3QvtCz0L4g0L/QtdGA0LXRhdC+0LTQsCDQvdCwICRzaGEx4oCmICRyZXN0XG7QrdGC0L4g0L/RgNC+0LjQt9C+0YjQu9C+LCDRgdC60L7RgNC10LUg0LLRgdC10LPQviwg0LjQty3Qt9CwINC/0YPRgdGC0L7Qs9C+INGB0L7QvtCx0YnQtdC90LjRjyDQutC+0LzQvNC40YLQsCDQuNC70Lgg0LjQty3Qt9CwINC/0LXRgNC10YXQstCw0YLRh9C40LrQsCDQv9C10YDQtdC0INC60L7QvNC80LjRgtC+0LwuINCV0YHQu9C4INC20LUg0Y3RgtC+INC/0YDQvtC40LfQvtGI0LvQviDQuNC3LdC30LAg0L/QtdGA0LXRhdCy0LDRgtGH0LjQutCwINC/0LXRgNC10LQg0LrQvtC80LzQuNGC0L7QvCwg0YLQviDQstCw0Lwg0L3Rg9C20L3QviDRgNC10YjQuNGC0Ywg0YEg0L3QuNC8INC/0YDQvtCx0LvQtdC80YMg0Lgg0L/QvtCy0YLQvtGA0LjRgtGMINC/0L7Qv9GL0YLQutGDINGB0L3QvtCy0LAuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1NzMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlN0b3BwZWQgYXQgJHNoYTFfYWJicmV2Li4uICRyZXN0IgorbXNnc3RyICLQntGB0YLQsNC90L7QstC70LXQvdC+INC90LAgJHNoYTFfYWJicmV24oCmICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1ODgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAnJHNxdWFzaF9zdHlsZScgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKK21zZ3N0ciAi0J3QtdC70YzQt9GPINGB0LTQtdC70LDRgtGMIMKrJHNxdWFzaF9zdHlsZcK7INCx0LXQtyDRg9C60LDQt9Cw0L3QuNGPINC/0YDQtdC00YvQtNGD0YnQtdCz0L4g0LrQvtC80LzQuNGC0LAiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjYzMAorIywgc2gtZm9ybWF0Cittc2dpZCAiRXhlY3V0aW5nOiAkcmVzdCIKK21zZ3N0ciAi0JLRi9C/0L7Qu9C90LXQvdC40LU6ICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2MzgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGlvbiBmYWlsZWQ6ICRyZXN0IgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjDogJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY0MAorbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICLQuCDQsdGL0LvQuCDRgdC00LXQu9Cw0L3RiyDQuNC30LzQtdC90LXQvdC40Y8g0LIg0LjQvdC00LXQutGB0LUg0Lgv0LjQu9C4INCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY0MgorbXNnaWQgIiIKKyJZb3UgY2FuIGZpeCB0aGUgcHJvYmxlbSwgYW5kIHRoZW4gcnVuXG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCittc2dzdHIgItCS0Ysg0LzQvtC20LXRgtC1INC40YHQv9GA0LDQstC40YLRjCDQvtGI0LjQsdC60YMsINCwINC30LDRgtC10Lwg0LfQsNC/0YPRgdGC0LjRgtGMXG5cblx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjLiBUUkFOU0xBVE9SUzogYWZ0ZXIgdGhlc2UgbGluZXMgaXMgYSBjb21tYW5kIHRvIGJlIGlzc3VlZCBieSB0aGUgdXNlcgorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjU1CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiRXhlY3V0aW9uIHN1Y2NlZWRlZDogJHJlc3RcbiIKKyJidXQgbGVmdCBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgorIkNvbW1pdCBvciBzdGFzaCB5b3VyIGNoYW5nZXMsIGFuZCB0aGVuIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICLQo9GB0L/QtdGI0L3QvtC1INCy0YvQv9C+0LvQvdC10L3QuNC1OiAkcmVzdFxu0L3QviDQvtGB0YLQsNC70LjRgdGMINC40LfQvNC10L3QtdC90LjRjyDQsiDQuNC90LTQtdC60YHQtSDQuC/QuNC70Lgg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtVxu0KHQtNC10LvQsNC50YLQtSDQutC+0LzQvNC40YIg0LjQu9C4INGB0L/RgNGP0YfRjNGC0LUg0LLQsNGI0Lgg0LjQt9C80LXQvdC10L3QuNGPLCDQsCDQt9Cw0YLQtdC8INCy0YvQv9C+0LvQvdC40YLQtVxuXG5cdGdpdCByZWJhc2UgLS1jb250aW51ZSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjY2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICRjb21tYW5kICRzaGExICRyZXN0IgorbXNnc3RyICLQndC10L7Qv9C+0LfQvdCw0L3QvdCw0Y8g0LrQvtC80LDQvdC00LA6ICRjb21tYW5kICRzaGExICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NjcKK21zZ2lkICJQbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKK21zZ3N0ciAi0J/QvtC20LDQu9GD0LnRgdGC0LAg0LjRgdC/0YDQsNCy0YzRgtC1INGN0YLQviDRgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCByZWJhc2UgLS1lZGl0LXRvZG/Cuy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjcwMgorIywgc2gtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgJGhlYWRfbmFtZS4iCittc2dzdHIgItCj0YHQv9C10YjQvdC+INC/0LXRgNC10LHQsNC30LjRgNC+0LLQsNC9INC4INC+0LHQvdC+0LLQu9GR0L0gJGhlYWRfbmFtZS4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjc0OQorbXNnaWQgIkNvdWxkIG5vdCBza2lwIHVubmVjZXNzYXJ5IHBpY2sgY29tbWFuZHMiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0L3QtdC90YPQttC90YvQtSDQutC+0LzQsNC90LTRiyDQvtGC0LHQvtGA0LAgKHBpY2spIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo5MDcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiB0aGUgU0hBLTEgaXMgbWlzc2luZyBvciBpc24ndCBhIGNvbW1pdCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCisiIC0gJGxpbmUiCittc2dzdHIgItCS0L3QuNC80LDQvdC40LU6INC90LUg0L3QsNC50LTQtdC9IFNIQS0xINC40LvQuCDQvtC9INC90LUg0YPQutCw0LfRi9Cy0LDQtdGCINC90LAg0LrQvtC80LzQuNGCLiDQndCwINGB0YLRgNC+0LrQtTpcbiAtICRsaW5lIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo5NDAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiB0aGUgY29tbWFuZCBpc24ndCByZWNvZ25pemVkIGluIHRoZSBmb2xsb3dpbmcgbGluZTpcbiIKKyIgLSAkbGluZSIKK21zZ3N0ciAi0JLQvdC40LzQsNC90LjQtTog0LrQvtC80LDQvdC00LAg0L3QtSDRgNCw0YHQv9C+0LfQvdCw0L3QsCDQvdCwINGB0YLRgNC+0LrQtTpcbiAtICRsaW5lIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo5NzkKK21zZ2lkICJjb3VsZCBub3QgZGV0YWNoIEhFQUQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC00LXQu9C40YLRjCBIRUFEIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDE3Cittc2dpZCAiIgorIldhcm5pbmc6IHNvbWUgY29tbWl0cyBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgYWNjaWRlbnRhbGx5LlxuIgorIkRyb3BwZWQgY29tbWl0cyAobmV3ZXIgdG8gb2xkZXIpOiIKK21zZ3N0ciAi0JLQvdC40LzQsNC90LjQtTog0L3QtdC60L7RgtC+0YDRi9C1INC60L7QvNC80LjRgtGLINC80L7Qs9C70Lgg0LHRi9GC0Ywg0L7RgtCx0YDQvtGI0LXQvdGLINC/0L4g0L7RiNC40LHQutC1Llxu0J7RgtCx0YDQvtGI0LXQvdC90YvQtSDQutC+0LzQvNC40YLRiyAo0L7RgiDQvdC+0LLRi9GFINC6INGB0YLQsNGA0YvQvCk6IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDI1Cittc2dpZCAiIgorIlRvIGF2b2lkIHRoaXMgbWVzc2FnZSwgdXNlIFwiZHJvcFwiIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIGEgY29tbWl0LlxuIgorIlxuIgorIlVzZSAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycgdG8gY2hhbmdlIHRoZSBsZXZlbCBvZiB3YXJuaW5ncy5cbiIKKyJUaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuIgorbXNnc3RyICLQlNC70Y8g0LjQt9Cx0LXQttCw0L3QuNGPINGN0YLQvtCz0L4g0YHQvtC+0LHRidC10L3QuNGPLCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZHJvcMK7INGH0YLQvtCx0Ysg0Y/QstC90L4g0YPQtNCw0LvQuNGC0Ywg0LrQvtC80LzQuNGCLlxuXG7QmNGB0L/QvtC70YzQt9GD0LnRgtC1INC+0L/RhtC40Y4gwqtnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrwrsg0LTQu9GPINC40LfQvNC10L3QtdC90LjRjyDQutC+0LvQuNGH0LXRgdGC0LLQsCDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC5Llxu0JLQvtC30LzQvtC20L3Ri9C1INC30L3QsNGH0LXQvdC40Y86IGlnbm9yZSwgd2FybiwgZXJyb3IuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDM2CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiVW5yZWNvZ25pemVkIHNldHRpbmcgJGNoZWNrX2xldmVsIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suICIKKyJJZ25vcmluZy4iCittc2dzdHIgItCd0LXRgNCw0YHQv9C+0LfQvdCw0L3QvdCw0Y8g0L3QsNGB0YLRgNC+0LnQutCwICRjaGVja19sZXZlbCDQtNC70Y8g0L7Qv9GG0LjQuCByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4g0JjQs9C90L7RgNC40YDRg9GOLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA1MworbXNnaWQgIiIKKyJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAiCisiLS1jb250aW51ZScuIgorbXNnc3RyICLQktGLINC80L7QttC10YLQtSDQuNGB0L/RgNCw0LLQuNGC0Ywg0Y3RgtC+INGBINC/0L7QvNC+0YnRjNGOIMKrZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb8K7LCDQsCDQv9C+0YLQvtC8INC30LDQv9GD0YHRgtC40LIgwqtnaXQgcmViYXNlIC0tY29udGludWXCuy4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNTQKK21zZ2lkICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy4iCittc2dzdHIgItCY0LvQuCDQstGLINC80L7QttC10YLQtSDQvtGC0LzQtdC90LjRgtGMINC/0YDQvtGG0LXRgdGBINC/0LXRgNC10LHQsNC30LjRgNC+0LLQsNC90LjRjyDRgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCByZWJhc2UgLS1hYm9ydMK7LiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA3OAorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCBDSEVSUllfUElDS19IRUFEIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDgzCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuXG4iCisiSWYgdGhlc2UgY2hhbmdlcyBhcmUgbWVhbnQgdG8gYmVcbiIKKyJzcXVhc2hlZCBpbnRvIHRoZSBwcmV2aW91cyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIklmIHRoZXkgYXJlIG1lYW50IHRvIGdvIGludG8gYSBuZXcgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiSW4gYm90aCBjYXNlcywgb25jZSB5b3UncmUgZG9uZSwgY29udGludWUgd2l0aDpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorbXNnc3RyICLQoyDQstCw0YEg0LjQvNC10Y7RgtGB0Y8g0L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1Llxu0JXRgdC70Lgg0Y3RgtC4INC40LfQvNC10L3QtdC90LjRjyDQtNC+0LvQttC90Ysg0LHRi9GC0Ywg0L7QsdGK0LXQtNC10L3QtdC90Ysg0YEg0L/RgNC10LTRi9C00YPRidC40Lwg0LrQvtC80LzQuNGC0L7QvCwg0YLQviDQt9Cw0L/Rg9GB0YLQuNGC0LU6XG5cbiAgZ2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkXG5cbtCV0YHQu9C4INC20LUg0L7QvdC4INC00L7Qu9C20L3RiyDQsdGL0YLRjCDQv9C+0LzQtdGJ0LXQvdGLINCyINC90L7QstGL0Lkg0LrQvtC80LzQuNGCLCDRgtC+INC30LDQv9GD0YHRgtC40YLQtTpcblxuICBnaXQgY29tbWl0ICRncGdfc2lnbl9vcHRfcXVvdGVkXG5cbtCSINC70Y7QsdC+0Lwg0YHQu9GD0YfQsNC1LCDQv9C+0YHQu9C1INGC0L7Qs9C+INC60LDQuiDQstGLINC30LDQutC+0L3Rh9C40YLQtSwg0L/RgNC+0LTQvtC70LbQuNGC0Ywg0L/QtdGA0LXQvNC10YnQtdC90LjQtSDQvNC+0LbQvdC+INCy0YvQv9C+0LvQvdC40LI6XG5cbiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDAKK21zZ2lkICJFcnJvciB0cnlpbmcgdG8gZmluZCB0aGUgYXV0aG9yIGlkZW50aXR5IHRvIGFtZW5kIGNvbW1pdCIKK21zZ3N0ciAi0J/RgNC+0LjQt9C+0YjQu9CwINC+0YjQuNCx0LrQsCDQv9GA0Lgg0L/QvtC40YHQutC1INCw0LLRgtC+0YDQsCDQtNC70Y8g0LjRgdC/0YDQsNCy0LvQtdC90LjRjyDQutC+0LzQvNC40YLQsCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwNQorbXNnaWQgIiIKKyJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UgY29tbWl0IHRoZW1cbiIKKyJmaXJzdCBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScgYWdhaW4uIgorbXNnc3RyICLQoyDQstCw0YEg0LjQvNC10Y7RgtGB0Y8g0L3QtdC30LDQutC+0LzQvNC40YfQtdC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1LiDQodC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiwg0LAg0LfQsNGC0LXQvCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgcmViYXNlIC0tY29udGludWXCuyDRgdC90L7QstCwLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTExMCBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTE0Cittc2dpZCAiQ291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC60L7QvNC80LjRgtC40YLRjCDQv9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEzOAorbXNnaWQgIiIKKyJcbiIKKyJZb3UgYXJlIGVkaXRpbmcgdGhlIHRvZG8gZmlsZSBvZiBhbiBvbmdvaW5nIGludGVyYWN0aXZlIHJlYmFzZS5cbiIKKyJUbyBjb250aW51ZSByZWJhc2UgYWZ0ZXIgZWRpdGluZywgcnVuOlxuIgorIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyJcbiIKK21zZ3N0ciAiXG7QktGLINGB0LXQudGH0LDRgSDRgNC10LTQsNC60YLQuNGA0YPQtdGC0LUg0YTQsNC50Lsg0YHQviDRgdC/0LjRgdC60L7QvCDQtNC10Lsg0LTQu9GPINC40L3RgtC10YDQsNC60YLQuNCy0L3QvtCz0L4g0L/QtdGA0LXQvNC10YnQtdC90LjRjy5cbtCU0LvRjyDQv9GA0L7QtNC+0LvQttC10L3QuNGPINC/0LXRgNC10LzQtdGJ0LXQvdC40Y8sINC/0L7RgdC70LUg0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjRjyDRhNCw0LnQu9CwINC30LDQv9GD0YHRgtC40YLQtTpcbiAgICBnaXQgcmViYXNlIC0tY29udGludWVcblxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTQ2IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMDQKK21zZ2lkICJDb3VsZCBub3QgZXhlY3V0ZSBlZGl0b3IiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0YPRgdGC0LjRgtGMINGA0LXQtNCw0LrRgtC+0YAiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNTkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjaGVja291dCAkc3dpdGNoX3RvIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LnRgtC4INC90LAg0LLQtdGA0YHQuNGOICRzd2l0Y2hfdG8iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjQKK21zZ2lkICJObyBIRUFEPyIKK21zZ3N0ciAi0J3QtdGCINGD0LrQsNC30LDRgtC10LvRjyBIRUFEPyIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2NQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJHN0YXRlX2RpciIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQstGA0LXQvNC10L3QvdGL0Lkg0LrQsNGC0LDQu9C+0LMgJHN0YXRlX2RpciIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2NworbXNnaWQgIkNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0L7QvNC10YLQuNGC0Ywg0LrQsNC6INC40L3RgtC10YDQsNC60YLQuNCy0L3Ri9C5IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTc3IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExODIKK21zZ2lkICJDb3VsZCBub3QgaW5pdCByZXdyaXR0ZW4gY29tbWl0cyIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0YLRjCDQv9C10YDQtdC30LDQv9C40YHQsNC90L3Ri9C1INC60L7QvNC80LjRgtGLIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjgyCisjLCBzaC1mb3JtYXQKK21zZ2lkICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kKSIKK21zZ2lkX3BsdXJhbCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZHMpIgorbXNnc3RyWzBdICLQn9C10YDQtdC80LXRidC10L3QuNC1ICRzaG9ydHJldmlzaW9ucyDQvdCw0LQgJHNob3J0b250byAoJHRvZG9jb3VudCDQutC+0LzQsNC90LTQsCkiCittc2dzdHJbMV0gItCf0LXRgNC10LzQtdGJ0LXQvdC40LUgJHNob3J0cmV2aXNpb25zINC90LDQtCAkc2hvcnRvbnRvICgkdG9kb2NvdW50INC60L7QvNCw0L3QtNGLKSIKK21zZ3N0clsyXSAi0J/QtdGA0LXQvNC10YnQtdC90LjQtSAkc2hvcnRyZXZpc2lvbnMg0L3QsNC0ICRzaG9ydG9udG8gKCR0b2RvY291bnQg0LrQvtC80LDQvdC0KSIKK21zZ3N0clszXSAi0J/QtdGA0LXQvNC10YnQtdC90LjQtSAkc2hvcnRyZXZpc2lvbnMg0L3QsNC0ICRzaG9ydG9udG8gKCR0b2RvY291bnQg0LrQvtC80LDQvdC0KSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI4NworbXNnaWQgIiIKKyJcbiIKKyJIb3dldmVyLCBpZiB5b3UgcmVtb3ZlIGV2ZXJ5dGhpbmcsIHRoZSByZWJhc2Ugd2lsbCBiZSBhYm9ydGVkLlxuIgorIlxuIgorbXNnc3RyICJcbtCd0L4g0LXRgdC70Lgg0LLRiyDRg9C00LDQu9C40YLQtSDQstGB0LUsINGC0L4g0L/RgNC+0YbQtdGB0YEg0L/QtdGA0LXQvNC10YnQtdC90LjRjyDQsdGD0LTQtdGCINCx0YPQtNC10YIg0L/RgNC10YDQstCw0L0uXG5cbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5NAorbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgorbXNnc3RyICLQl9Cw0LzQtdGC0YzRgtC1LCDRh9GC0L4g0L/Rg9GB0YLRi9C1INC60L7QvNC80LjRgtGLINC30LDQutC+0LzQvNC10L3RgtC40YDQvtCy0LDQvdC90YsiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDo4OSBnaXQtc2gtc2V0dXAuc2g6OTQKKyMsIHNoLWZvcm1hdAorbXNnaWQgInVzYWdlOiAkZGFzaGxlc3MgJFVTQUdFIgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJGRhc2hsZXNzICRVU0FHRSIKKworIzogZ2l0LXNoLXNldHVwLnNoOjE5MAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoZGlyIHRvICRjZHVwLCB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0YwgY2hkaXIg0LIgJGNkdXAsINCy0LXRgNGI0LjQvdGDINGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCIKKworIzogZ2l0LXNoLXNldHVwLnNoOjE5OSBnaXQtc2gtc2V0dXAuc2g6MjA2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJmYXRhbDogJHByb2dyYW1fbmFtZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGEgd29ya2luZyB0cmVlLiIKK21zZ3N0ciAi0LrRgNC40YLQuNGH0LXRgdC60LDRjyDQvtGI0LjQsdC60LA6ICRwcm9ncmFtX25hbWUg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvdC1INC40LzQtdGPINGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsC4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjAKK21zZ2lkICJDYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0L/QtdGA0LXQvNC10YnQtdC90LjQtSDQutC+0LzQvNC40YLQvtCyOiDQoyDQstCw0YEg0LXRgdGC0Ywg0L3QtdC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjIzCittc2dpZCAiQ2Fubm90IHJld3JpdGUgYnJhbmNoZXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCDQv9C10YDQtdC30LDQv9C40YHRjCDQstC10YLQvtC6OiDQoyDQstCw0YEg0LXRgdGC0Ywg0L3QtdC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjI2Cittc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0YEg0L/QtdGA0LXQvNC10YnQtdC90LjQtdC8OiDQoyDQstCw0YEg0LXRgdGC0Ywg0L3QtdC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjI5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgJGFjdGlvbjogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMICRhY3Rpb246INCjINCy0LDRgSDQtdGB0YLRjCDQvdC10L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDIKK21zZ2lkICJDYW5ub3QgcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCDQv9C10YDQtdC80LXRidC10L3QuNC1INC60L7QvNC80LjRgtC+0LI6INCSINCy0LDRiNC10Lwg0LjQvdC00LXQutGB0LUg0LXRgdGC0Ywg0L3QtdC30LDQutC+0LzQvNC40YfQtdC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDUKK21zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINGBINC/0LXRgNC10LzQtdGJ0LXQvdC40LXQvDog0JIg0LLQsNGI0LXQvCDQuNC90LTQtdC60YHQtSDQtdGB0YLRjCDQvdC10LfQsNC60L7QvNC80LjRh9C10L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0OAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMICRhY3Rpb246INCSINCy0LDRiNC10Lwg0LjQvdC00LXQutGB0LUg0LXRgdGC0Ywg0L3QtdC30LDQutC+0LzQvNC40YfQtdC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNTIKK21zZ2lkICJBZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgItCaINGC0L7QvNGDINC20LUsINCyINCy0LDRiNC10Lwg0LjQvdC00LXQutGB0LUg0LXRgdGC0Ywg0L3QtdC30LDQutC+0LzQvNC40YfQtdC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzIKK21zZ2lkICJZb3UgbmVlZCB0byBydW4gdGhpcyBjb21tYW5kIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUuIgorbXNnc3RyICLQktCw0Lwg0L3Rg9C20L3QviDQt9Cw0L/Rg9GB0LrQsNGC0Ywg0Y3RgtGDINC60L7QvNCw0L3QtNGDINC90LDRhdC+0LTRj9GB0Ywg0L3QsCDQstC10YDRiNC40L3QtSDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6Mzc3Cittc2dpZCAiVW5hYmxlIHRvIGRldGVybWluZSBhYnNvbHV0ZSBwYXRoIG9mIGdpdCBkaXJlY3RvcnkiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LDQsdGB0L7Qu9GO0YLQvdGL0Lkg0L/Rg9GC0Ywg0Log0LrQsNGC0LDQu9C+0LPRgyBnaXQiCmRpZmYgLS1naXQgYS9wby9zdi5wbyBiL3BvL3N2LnBvCmluZGV4IGU3NDE2YWYuLjE0YTU1NWMgMTAwNjQ0Ci0tLSBhL3BvL3N2LnBvCisrKyBiL3BvL3N2LnBvCkBAIC01LDEyICs1LDEyIEBACiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBnaXQgMi44LjBcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGdpdCAyLjExLjBcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNi0wNS0yNCAyMzo0MiswODAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxNi0wNS0yNyAxNDowNCswMTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTYtMTEtMjUgMjI6NTArMDgwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMTEtMjUgMjI6NTkrMDgwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogUGV0ZXIgS3JlZnRpbmcgPHBldGVyQHNvZnR3b2x2ZXMucHAuc2U+XG4iCi0iTGFuZ3VhZ2UtVGVhbTogU3dlZGlzaCA8dHAtc3ZAbGlzdG9yLnRwLXN2LnNlPlxuIgorIkxhbmd1YWdlLVRlYW06IFN2ZW5za2EgPHRwLXN2QGxpc3Rvci50cC1zdi5zZT5cbiIKICJMYW5ndWFnZTogc3ZcbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgpAQCAtMjMsNyArMjMsNDIgQEAKIG1zZ2lkICJoaW50OiAlLipzXG4iCiBtc2dzdHIgInRpcHM6ICUuKnNcbiIKIAotIzogYWR2aWNlLmM6ODgKKyM6IGFkdmljZS5jOjgzCittc2dpZCAiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIiCisiRHUga2FuIGludGUgdXRmw7ZyYSBlbiBjaGVycnktcGljayBlZnRlcnNvbSBkdSBoYXIgZmlsZXIgc29tIGludGUgc2xhZ2l0cyAiCisic2FtbWFuLiIKKworIzogYWR2aWNlLmM6ODUKK21zZ2lkICJDb21taXR0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAiIgorIkR1IGthbiBpbnRlIHV0ZsO2cmEgZW4gaW5jaGVja25pbmcgZWZ0ZXJzb20gZHUgaGFyIGZpbGVyIHNvbSBpbnRlIHNsYWdpdHMgIgorInNhbW1hbi4iCisKKyM6IGFkdmljZS5jOjg3Cittc2dpZCAiTWVyZ2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIiIKKyJEdSBrYW4gaW50ZSB1dGbDtnJhIGVuIHNhbW1hbnNsYWduaW5nIGVmdGVyc29tIGR1IGhhciBmaWxlciBzb20gaW50ZSBzbGFnaXRzICIKKyJzYW1tYW4uIgorCisjOiBhZHZpY2UuYzo4OQorbXNnaWQgIlB1bGxpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIiCisiRHUga2FuIGludGUgdXRmw7ZyYSBlbiBcInB1bGxcIiBlZnRlcnNvbSBkdSBoYXIgZmlsZXIgc29tIGludGUgc2xhZ2l0cyBzYW1tYW4uIgorCisjOiBhZHZpY2UuYzo5MQorbXNnaWQgIlJldmVydGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIiIKKyJEdSBrYW4gaW50ZSB1dGbDtnJhIGVuIFwicmV2ZXJ0XCIgZWZ0ZXJzb20gZHUgaGFyIGZpbGVyIHNvbSBpbnRlIHNsYWdpdHMgIgorInNhbW1hbi4iCisKKyM6IGFkdmljZS5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkl0IGlzIG5vdCBwb3NzaWJsZSB0byAlcyBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAiIgorIkR1IGthbiBpbnRlIHV0ZsO2cmEgZW4gXCIlc1wiIGVmdGVyc29tIGR1IGhhciBmaWxlciBzb20gaW50ZSBzbGFnaXRzIHNhbW1hbi4iCisKKyM6IGFkdmljZS5jOjEwMQogbXNnaWQgIiIKICJGaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLCBhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+J1xuIgogImFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdC4iCkBAIC0zMSwxOCArNjYsNjY3IEBACiAiUsOkdHRhIGRlbSBpIGRpbiBhcmJldHNrYXRhbG9nIG9jaCBhbnbDpG5kIHNlZGFuIFwiZ2l0IGFkZC9ybSA8ZmlsPlwiXG4iCiAic29tIGzDpG1wbGlndCBmw7ZyIGF0dCBhbmdlIGzDtnNuaW5nIG9jaCBjaGVja2EgaW4uIgogCi0jOiBhZHZpY2UuYzoxMDEgYnVpbHRpbi9tZXJnZS5jOjEyMzgKKyM6IGFkdmljZS5jOjEwOQorbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiBhbiB1bnJlc29sdmVkIGNvbmZsaWN0LiIKK21zZ3N0ciAiQXZzbHV0YXIgcMOlIGdydW5kIGF2IG9sw7ZzdCBrb25mbGlrZ3QuIgorCisjOiBhZHZpY2UuYzoxMTQgYnVpbHRpbi9tZXJnZS5jOjExODEKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIkR1IGhhciBpbnRlIGF2c2x1dGF0IHNhbW1hbnNsYWduaW5nZW4gKE1FUkdFX0hFQUQgZmlubnMpLiIKIAotIzogYWR2aWNlLmM6MTAzCisjOiBhZHZpY2UuYzoxMTYKIG1zZ2lkICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIG1lcmdpbmcuIgogbXNnc3RyICJDaGVja2EgaW4gZGluYSDDpG5kcmluZ2FyIGlubmFuIGR1IHV0ZsO2ciBzYW1tYW5zbGFnbmluZ2VuLiIKIAotIzogYWR2aWNlLmM6MTA0CisjOiBhZHZpY2UuYzoxMTcKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgdW5maW5pc2hlZCBtZXJnZS4iCiBtc2dzdHIgIkF2c2x1dGFyIHDDpSBncnVuZCBhdiBvZnVsbGJvcmRhZCBzYW1tYW5zbGFnbmluZy4iCiAKKyM6IGFkdmljZS5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG4iCisiXG4iCisiWW91IGFyZSBpbiAnZGV0YWNoZWQgSEVBRCcgc3RhdGUuIFlvdSBjYW4gbG9vayBhcm91bmQsIG1ha2UgZXhwZXJpbWVudGFsXG4iCisiY2hhbmdlcyBhbmQgY29tbWl0IHRoZW0sIGFuZCB5b3UgY2FuIGRpc2NhcmQgYW55IGNvbW1pdHMgeW91IG1ha2UgaW4gdGhpc1xuIgorInN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBwZXJmb3JtaW5nIGFub3RoZXIgY2hlY2tvdXQuXG4iCisiXG4iCisiSWYgeW91IHdhbnQgdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCB0byByZXRhaW4gY29tbWl0cyB5b3UgY3JlYXRlLCB5b3UgbWF5XG4iCisiZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWIgd2l0aCB0aGUgY2hlY2tvdXQgY29tbWFuZCBhZ2Fpbi4gRXhhbXBsZTpcbiIKKyJcbiIKKyIgIGdpdCBjaGVja291dCAtYiA8bmV3LWJyYW5jaC1uYW1lPlxuIgorIlxuIgorbXNnc3RyICIiCisiT2JzZXJ2ZXJhOiBjaGVja2FyIHV0IFwiJXNcIi5cbiIKKyJcbiIKKyJEdSBoYXIgbnUgZXR0IFwiZnLDpW5rb3BwbGF0IEhFQURcIi4gRHUga2FuIHNlIGRpZyBvbWtyaW5nLCBleHBlcmltZW50ZXJhXG4iCisibWVkIMOkbmRyaW5nYXIgb2NoIGNoZWNrYSBpbiBkZW0sIG9jaCBkdSBrYW4ga2FzdGEgaW5jaGVja25pbmdhciBkdSBnw7ZyXG4iCisiaSBkZXQgaMOkciBsw6RnZXQgdXRhbiBhdHQgZGV0IHDDpXZlcmthciBncmVuYXIgZ2Vub20gYXR0IGNoZWNrYSB1dCBww6VcbiIKKyJueXR0LlxuIgorIlxuIgorIk9tIGR1IHZpbGwgc2thcGEgZW4gbnkgZ3JlbiBmw7ZyIGF0dCBiZWjDpWxsYSDDpG5kcmluZ2FybmEgZHUgc2thcGFyLCBrYW5cbiIKKyJkdSBnw7ZyYSBkZXQgKG51IGVsbGVyIHNlbmFyZSkgZ2Vub20gYXR0IGFudsOkbmRhIGNoZWNrb3V0LWtvbW1hbmRvdCBpZ2VuXG4iCisibWVkIC1iLiBUaWxsIGV4ZW1wZWw6XG4iCisiXG4iCisiICBnaXQgY2hlY2tvdXQgLWIgPG5hbW4tcMOlLW55LWdyZW4+XG4iCisiXG4iCisKKyM6IGFwcGx5LmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCittc2dzdHIgIm9rw6RudCBhbHRlcm5hdGl2IGbDtnIgd2hpdGVzcGFjZTogXCIlc1wiIgorCisjOiBhcHBseS5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIGlnbm9yZSBvcHRpb24gJyVzJyIKK21zZ3N0ciAib2vDpG50IGFsdGVybmF0aXYgZsO2ciBpZ25vcmUtd2hpdGVzcGFjZTogXCIlc1wiIgorCisjOiBhcHBseS5jOjEyNQorbXNnaWQgIi0tcmVqZWN0IGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICItLXJlamVjdCBvY2ggLS0zd2F5IGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QiCisKKyM6IGFwcGx5LmM6MTI3Cittc2dpZCAiLS1jYWNoZWQgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCittc2dzdHIgIi0tY2FjaGVkIG9jaCAtLTN3YXkga2FuIGludGUgYW52w6RuZGFzIHNhbXRpZGlndCIKKworIzogYXBwbHkuYzoxMzAKK21zZ2lkICItLTN3YXkgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCittc2dzdHIgIi0tM3dheSB1dGFuZsO2ciBhcmtpdiIKKworIzogYXBwbHkuYzoxNDEKK21zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICItLWluZGV4IHV0YW5mw7ZyIGFya2l2IgorCisjOiBhcHBseS5jOjE0NAorbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICItLWNhY2hlZCB1dGFuZsO2ciBhcmtpdiIKKworIzogYXBwbHkuYzo4NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKK21zZ3N0ciAiS2FuIGludGUgZsO2cmJlcmVkYSByZWd1bGrDpHJ0IHV0dHJ5Y2sgZsO2ciB0aWRzc3TDpG1wZWxuICVzIgorCisjOiBhcHBseS5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCittc2dzdHIgInJlZ2V4ZWMgcmV0dXJuZXJhZGUgJWQgZsO2ciBpbmRhdGE6ICVzIgorCisjOiBhcHBseS5jOjkzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmluZCBmaWxlbmFtZSBpbiBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICJrYW4gaW50ZSBoaXR0YSBmaWxuYW1uIGkgcGF0Y2hlbiBww6UgcmFkICVkIgorCisjOiBhcHBseS5jOjk3NworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBseTogZMOlbGlnIGdpdC1kaWZmIC0gZsO2cnbDpG50YWRlIC9kZXYvbnVsbCwgZmljayAlcyBww6UgcmFkICVkIgorCisjOiBhcHBseS5jOjk4MworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKK21zZ3N0ciAiZ2l0IGFwcGx5OiBkw6VsaWcgZ2l0LWRpZmYgLSBtb3Rzw6RnYW5kZSBueXR0IGZpbG5hbW4gcMOlIHJhZCAlZCIKKworIzogYXBwbHkuYzo5ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBseTogZMOlbGlnIGdpdC1kaWZmIC0gbW90c8OkZ2FuZGUgZ2FtbWFsdCBmaWxuYW1uIHDDpSByYWQgJWQiCisKKyM6IGFwcGx5LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBseTogZMOlbGlnIGdpdC1kaWZmIC0gZsO2cnbDpG50YWRlIC9kZXYvbnVsbCBww6UgcmFkICVkIgorCisjOiBhcHBseS5jOjE0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgorbXNnc3RyICJyZWNvdW50OiBmw7ZydsOkbnRhZGUgcmFkOiAlLipzIgorCisjOiBhcHBseS5jOjE1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKK21zZ3N0ciAicGF0Y2gtZnJhZ21lbnQgdXRhbiBodXZ1ZCBww6UgcmFkICVkOiAlLipzIgorCisjOiBhcHBseS5jOjE1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgorImNvbXBvbmVudCAobGluZSAlZCkiCittc2dpZF9wbHVyYWwgIiIKKyJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKKyJjb21wb25lbnRzIChsaW5lICVkKSIKK21zZ3N0clswXSAiIgorImdpdC1kaWZmLWh1dnVkZXQgc2FrbmFyIGZpbG5hbW5zaW5mb3JtYXRpb24gbsOkciAlZCBsZWRhbmRlIHPDtmt2w6Rnc2tvbXBvbmVudFxuIgorInRhcyBib3J0IChyYWQgJWQpIgorbXNnc3RyWzFdICIiCisiZ2l0LWRpZmYtaHV2dWRldCBzYWtuYXIgZmlsbmFtbnNpbmZvcm1hdGlvbiBuw6RyICVkIGxlZGFuZGUgIgorInPDtmt2w6Rnc2tvbXBvbmVudGVyXG4iCisidGFzIGJvcnQgKHJhZCAlZCkiCisKKyM6IGFwcGx5LmM6MTU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gKGxpbmUgJWQpIgorbXNnc3RyICJnaXQtZGlmZi1odXZ1ZGV0IHNha25hciBmaWxuYW1uc2luZm9ybWF0aW9uIChyYWQgJWQpIgorCisjOiBhcHBseS5jOjE3NTkKK21zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKK21zZ3N0ciAibnkgZmlsIGJlcm9yIHDDpSBnYW1tYWx0IGlubmVow6VsbCIKKworIzogYXBwbHkuYzoxNzYxCittc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKK21zZ3N0ciAiYm9ydHRhZ2VuIGZpbCBoYXIgZm9ydGZhcmFuZGUgaW5uZWjDpWxsIgorCisjOiBhcHBseS5jOjE3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICJ0cmFzaWcgcGF0Y2ggcMOlIHJhZCAlZCIKKworIzogYXBwbHkuYzoxODMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgorbXNnc3RyICJueWEgZmlsZW4gJXMgYmVyb3IgcMOlIGdhbW1hbHQgaW5uZWjDpWxsIgorCisjOiBhcHBseS5jOjE4MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVsZXRlZCBmaWxlICVzIHN0aWxsIGhhcyBjb250ZW50cyIKK21zZ3N0ciAiYm9ydHRhZ25hIGZpbGVuICVzIGhhciBmb3J0ZmFyYW5kZSBpbm5laMOlbGwiCisKKyM6IGFwcGx5LmM6MTgzNworIywgYy1mb3JtYXQKK21zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgorbXNnc3RyICIqKiB2YXJuaW5nOiBmaWxlbiAlcyBibGlyIHRvbSBtZW4gaGFyIGludGUgdGFnaXRzIGJvcnQiCisKKyM6IGFwcGx5LmM6MTk4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIgorbXNnc3RyICJ0cmFzaWcgYmluw6RycGF0Y2ggcMOlIHJhZCAlZDogJS4qcyIKKworIzogYXBwbHkuYzoyMDIxCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIKK21zZ3N0ciAiYmluw6RycGF0Y2hlbiBww6UgcmFkICVkIGvDpG5ucyBpbnRlIGlnZW4iCisKKyM6IGFwcGx5LmM6MjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgorbXNnc3RyICJwYXRjaCBtZWQgYmFyYSBza3LDpHAgcMOlIHJhZCAlZCIKKworIzogYXBwbHkuYzoyMjc0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWFkIHN5bWxpbmsgJXMiCittc2dzdHIgImt1bmRlIGludGUgbMOkc2Egc3ltYm9saXNrYSBsw6Rua2VuICVzIgorCisjOiBhcHBseS5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKK21zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgZWxsZXIgbMOkc2EgJXMiCisKKyM6IGFwcGx5LmM6MjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IG9mIGxpbmU6ICclYyciCittc2dzdHIgImZlbGFrdGlnIGlubGVkbmluZyBww6UgcmFkOiBcIiVjXCIiCisKKyM6IGFwcGx5LmM6MzA1MAorIywgYy1mb3JtYXQKK21zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCittc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCittc2dzdHJbMF0gIlN0eWNrZSAlZCBseWNrYWRlcyBww6UgJWQgKG9mZnNldCAlZCByYWQpLiIKK21zZ3N0clsxXSAiU3R5Y2tlICVkIGx5Y2thZGVzIHDDpSAlZCAob2Zmc2V0ICVkIHJhZGVyKS4iCisKKyM6IGFwcGx5LmM6MzA2MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgorbXNnc3RyICJTYW1tYW5oYW5nIHJlZHVjZXJhdCB0aWxsICglbGQvJWxkKSBmw7ZyIGF0dCB0aWxsw6RtcGEgZnJhZ21lbnQgdmlkICVkIgorCisjOiBhcHBseS5jOjMwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIndoaWxlIHNlYXJjaGluZyBmb3I6XG4iCisiJS4qcyIKK21zZ3N0ciAiIgorInZpZCBzw7ZrbmluZyBlZnRlcjpcbiIKKyIlLipzIgorCisjOiBhcHBseS5jOjMwOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKK21zZ3N0ciAic2FrbmFyIGJpbsOkcmEgcGF0Y2hkYXRhIGbDtnIgXCIlc1wiIgorCisjOiBhcHBseS5jOjMwOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJldmVyc2UtYXBwbHkgYSBiaW5hcnkgcGF0Y2ggd2l0aG91dCB0aGUgcmV2ZXJzZSBodW5rIHRvICclcyciCittc2dzdHIgIiIKKyJrYW4gaW50ZSBhcHBsaWNlcmEgZW4gYmluw6RycGF0Y2ggYmFrbMOkbmdlcyB1dGFuIGRlbiBvbXbDpG5kYSBwYXRjaGVuIGbDtnIgXCIlcyIKKyJcIiIKKworIzogYXBwbHkuYzozMTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhcHBseSBiaW5hcnkgcGF0Y2ggdG8gJyVzJyB3aXRob3V0IGZ1bGwgaW5kZXggbGluZSIKK21zZ3N0ciAiIgorImthbiBpbnRlIGFwcGxpY2VyYSBiaW7DpHJwYXRjaCBww6UgXCIlc1wiIHV0YW4gZGVuIGZ1bGxzdMOkbmRpZ2EgaW5kZXhyYWRlbiIKKworIzogYXBwbHkuYzozMTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ0aGUgcGF0Y2ggYXBwbGllcyB0byAnJXMnICglcyksIHdoaWNoIGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50IGNvbnRlbnRzLiIKK21zZ3N0ciAiIgorInBhdGNoZW4gYXBwbGljZXJhcyBww6UgXCIlc1wiICglcyksIHNvbSBpbnRlIG1vdHN2YXJhciBkZXQgbnV2YXJhbmRlICIKKyJpbm5laMOlbGxldC4iCisKKyM6IGFwcGx5LmM6MzE2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCittc2dzdHIgInBhdGNoZW4gYXBwbGljZXJhcyBww6UgZW4gdG9tIFwiJXNcIiwgbWVuIGRlbiDDpHIgaW50ZSB0b20iCisKKyM6IGFwcGx5LmM6MzE4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbmVjZXNzYXJ5IHBvc3RpbWFnZSAlcyBmb3IgJyVzJyBjYW5ub3QgYmUgcmVhZCIKK21zZ3N0ciAibsO2ZHbDpG5kaWcgZWZ0ZXJiaWxkICVzIGbDtnIgXCIlc1wiIGthbiBpbnRlIGzDpHNhcyIKKworIzogYXBwbHkuYzozMTkzCisjLCBjLWZvcm1hdAorbXNnaWQgImJpbmFyeSBwYXRjaCBkb2VzIG5vdCBhcHBseSB0byAnJXMnIgorbXNnc3RyICJiaW7DpHJwYXRjaGVuIGthbiBpbnRlIHRpbGzDpG1wYXMgcMOlIFwiJXNcIiIKKworIzogYXBwbHkuYzozMTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgorbXNnc3RyICJiaW7DpHJwYXRjaGVuIHDDpSBcIiVzXCIgZ2VyIGZlbGFrdGlndCByZXN1bHRhdCAoZsO2cnbDpG50YWRlICVzLCBmaWNrICVzKSIKKworIzogYXBwbHkuYzozMjIwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgorbXNnc3RyICJwYXRjaCBtaXNzbHlja2FkZXM6ICVzOiVsZCIKKworIzogYXBwbHkuYzozMzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKK21zZ3N0ciAia2FuIGludGUgY2hlY2thIHV0ICVzIgorCisjOiBhcHBseS5jOjMzOTAgYXBwbHkuYzozNDAxIGFwcGx5LmM6MzQ0NyBzZXR1cC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIGzDpHNhICVzIgorCisjOiBhcHBseS5jOjMzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAibMOkc2VyIGZyw6VuIFwiJXNcIiBzb20gw6RyIHDDpSBhbmRyYSBzaWRhbiBhdiBlbiBzeW1ib2xpc2sgbMOkbmsiCisKKyM6IGFwcGx5LmM6MzQyNyBhcHBseS5jOjM2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiCittc2dzdHIgInPDtmt2w6RnZW4gJXMgaGFyIMOkbmRyYXQgbmFtbi90YWdpdHMgYm9ydCIKKworIzogYXBwbHkuYzozNTEwIGFwcGx5LmM6MzY4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiCittc2dzdHIgIiVzOiBmaW5ucyBpbnRlIGkgaW5kZXhldCIKKworIzogYXBwbHkuYzozNTE5IGFwcGx5LmM6MzY4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiCittc2dzdHIgIiVzOiBtb3RzdmFyYXIgaW50ZSBpbmRleGV0IgorCisjOiBhcHBseS5jOjM1NTQKK21zZ2lkICJyZXBvc2l0b3J5IGxhY2tzIHRoZSBuZWNlc3NhcnkgYmxvYiB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgorbXNnc3RyICIiCisiYXJraXZldCBzYWtuYXIgb2JqZWt0IHNvbSBiZWjDtnZzIGbDtnIgYXR0IGZhbGxhIHRpbGxiYWthIHDDpSAzLSIKKyJ2w6Rnc3NhbW1hbnNsYWduaW5nLiIKKworIzogYXBwbHkuYzozNTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhbGxpbmcgYmFjayB0byB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKK21zZ3N0ciAiRmFsbGVyIHRpbGxiYWthIHDDpSB0cmV2w6Rnc3NhbW1hbnNsYWduaW5nLi4uXG4iCisKKyM6IGFwcGx5LmM6MzU3MyBhcHBseS5jOjM1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKK21zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBha3R1ZWxsdCBpbm5laMOlbGwgaSBcIiVzXCIiCisKKyM6IGFwcGx5LmM6MzU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gZmFsbCBiYWNrIG9uIHRocmVlLXdheSBtZXJnZS4uLlxuIgorbXNnc3RyICJNaXNzbHlja2FkZXMgZmFsbGEgdGlsbGJha2EgcMOlIHRyZXbDpGdzc2FtbWFuc2xhZ25pbmcuLi5cbiIKKworIzogYXBwbHkuYzozNjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyB3aXRoIGNvbmZsaWN0cy5cbiIKK21zZ3N0ciAiQXBwbGljZXJhZGUgcGF0Y2hlbiBww6UgXCIlc1wiIG1lZCBrb25mbGlrdGVyLlxuIgorCisjOiBhcHBseS5jOjM2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIGNsZWFubHkuXG4iCittc2dzdHIgIlRpbGzDpG1wYWRlIHBhdGNoZW4gcMOlICBcIiVzXCIgcmVudC5cbiIKKworIzogYXBwbHkuYzozNjM0Cittc2dpZCAicmVtb3ZhbCBwYXRjaCBsZWF2ZXMgZmlsZSBjb250ZW50cyIKK21zZ3N0ciAicGF0Y2ggZsO2ciBib3J0dGFnbmluZyBsw6RtbmFyIGt2YXIgZmlsaW5uZWjDpWxsIgorCisjOiBhcHBseS5jOjM3MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyb25nIHR5cGUiCittc2dzdHIgIiVzOiBmZWwgdHlwIgorCisjOiBhcHBseS5jOjM3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgorbXNnc3RyICIlcyBoYXIgdHlwZW4gJW8sIGbDtnJ2w6RudGFkZSAlbyIKKworIzogYXBwbHkuYzozODU5IGFwcGx5LmM6Mzg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKK21zZ3N0ciAib2dpbHRpZyBzw7ZrdsOkZzogJXMiCisKKyM6IGFwcGx5LmM6MzkxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgiCittc2dzdHIgIiVzOiBmaW5ucyByZWRhbiBpIGluZGV4ZXQiCisKKyM6IGFwcGx5LmM6MzkyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBmaW5ucyByZWRhbiBpIGFyYmV0c2thdGFsb2dlbiIKKworIzogYXBwbHkuYzozOTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKK21zZ3N0ciAibnl0dCBsw6RnZSAoJW8pIGbDtnIgJXMgbW90c3ZhcmFyIGludGUgZ2FtbWFsdCBsw6RnZSAoJW8pIgorCisjOiBhcHBseS5jOjM5NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIG9mICVzIgorbXNnc3RyICJueXR0IGzDpGdlICglbykgZsO2ciAlcyBtb3RzdmFyYXIgaW50ZSBnYW1tYWx0IGzDpGdlICglbykgZsO2ciAlcyIKKworIzogYXBwbHkuYzozOTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImFmZmVjdGVkIGZpbGUgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICJkZW4gYmVyw7ZyZGEgZmlsZW4gXCIlc1wiIMOkciBww6UgYW5kcmEgc2lkYW4gYXYgZW4gc3ltYm9saXNrIGzDpG5rIgorCisjOiBhcHBseS5jOjM5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICIlczogcGF0Y2hlbiBrYW4gaW50ZSB0aWxsw6RtcGFzIgorCisjOiBhcHBseS5jOjM5ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCittc2dzdHIgIktvbnRyb2xsZXJhciBwYXRjaGVuICVzLi4uIgorCisjOiBhcHBseS5jOjQwNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgZm9yIHN1Ym1vZHVsZSAlcyIKK21zZ3N0ciAic2hhMS1pbmZvcm1hdGlvbmVuIHNha25hcyBlbGxlciDDpHIgb2FudsOkbmRiYXIgZsO2ciB1bmRlcm1vZHVsZW4gJXMiCisKKyM6IGFwcGx5LmM6NDA4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlIGNoYW5nZSBmb3IgJXMsIHdoaWNoIGlzIG5vdCBpbiBjdXJyZW50IEhFQUQiCittc2dzdHIgIm55dHQgbMOkZ2UgZsO2ciAlcywgc29tIGludGUgZmlubnMgaSBudXZhcmFuZGUgSEVBRCIKKworIzogYXBwbHkuYzo0MDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzICglcykuIgorbXNnc3RyICJzaGExLWluZm9ybWF0aW9uZW4gc2FrbmFzIGVsbGVyIMOkciBvYW52w6RuZGJhciAoJXMpLiIKKworIzogYXBwbHkuYzo0MDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzMgYnVpbHRpbi9yZXNldC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgorbXNnc3RyICJtYWtlX2NhY2hlX2VudHJ5IG1pc3NseWNrYWRlcyBmw7ZyIHPDtmt2w6RnZW4gXCIlc1wiIgorCisjOiBhcHBseS5jOjQwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGFkZCAlcyB0byB0ZW1wb3JhcnkgaW5kZXgiCittc2dzdHIgImt1bmRlIGludGUgbMOkZ2dhIHRpbGwgJXMgdGlsbCB0ZW1wb3LDpHJ0IGluZGV4IgorCisjOiBhcHBseS5jOjQxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlIHRlbXBvcmFyeSBpbmRleCB0byAlcyIKK21zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgdGVtcG9yw6RydCBpbmRleCB0aWxsICVzIgorCisjOiBhcHBseS5jOjQyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgorbXNnc3RyICJrYW4gaW50ZSB0YSBib3J0ICVzIGZyw6VuIGluZGV4ZXQiCisKKyM6IGFwcGx5LmM6NDI3NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCittc2dzdHIgInRyYXNpZyBwYXRjaCBmw7ZyIHVuZGVybW9kdWxlbiAlcyIKKworIzogYXBwbHkuYzo0MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBzdGF0IG5ld2x5IGNyZWF0ZWQgZmlsZSAnJXMnIgorbXNnc3RyICJrYW4gaW50ZSB0YSBzdGF0dXMgcMOlIG55bGlnZW4gc2thcGFkZSBmaWxlbiBcIiVzXCIiCisKKyM6IGFwcGx5LmM6NDI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGJhY2tpbmcgc3RvcmUgZm9yIG5ld2x5IGNyZWF0ZWQgZmlsZSAlcyIKK21zZ3N0ciAia2FuIGludGUgc2thcGEgc8Oka2VyaGV0c21pbm5lIGbDtnIgbnlsaWdlbiBza2FwYWRlIGZpbGVuICVzIgorCisjOiBhcHBseS5jOjQyOTcgYXBwbHkuYzo0NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhZGQgY2FjaGUgZW50cnkgZm9yICVzIgorbXNnc3RyICJrYW4gaW50ZSBsw6RnZ2EgdGlsbCBjYWNoZXBvc3QgZsO2ciAlcyIKKworIzogYXBwbHkuYzo0MzM4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB3cml0ZSB0byAnJXMnIgorbXNnc3RyICJtaXNzbHlja2FkZXMgc2tyaXZhIHRpbGwgXCIlc1wiIgorCisjOiBhcHBseS5jOjQzNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyBmaWxlICclcyciCittc2dzdHIgInN0w6RuZ2VyIGZpbGVuIFwiJXNcIiIKKworIzogYXBwbHkuYzo0NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKK21zZ3N0ciAia2FuIGludGUgc2tyaXZhIGZpbGVuIFwiJXNcIiBsw6RnZSAlbyIKKworIzogYXBwbHkuYzo0NTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggJXMgY2xlYW5seS4iCittc2dzdHIgIlRpbGzDpG1wYWRlIHBhdGNoZW4gJXMgcmVudC4iCisKKyM6IGFwcGx5LmM6NDUxOAorbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICJpbnRlcm50IGZlbCIKKworIzogYXBwbHkuYzo0NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKK21zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKK21zZ3N0clswXSAiVGlsbMOkbXBhZGUgcGF0Y2hlbiAlJXMgbWVkICVkIHJlZnVzZXJhZC4uLiIKK21zZ3N0clsxXSAiVGlsbMOkbXBhZGUgcGF0Y2hlbiAlJXMgbWVkICVkIHJlZnVzZXJhZGUuLi4iCisKKyM6IGFwcGx5LmM6NDUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCittc2dzdHIgInRydW5rZXJhciAucmVqLWZpbG5hbW5ldCB0aWxsICUuKnMucmVqIgorCisjOiBhcHBseS5jOjQ1NDAgYnVpbHRpbi9mZXRjaC5jOjc0MCBidWlsdGluL2ZldGNoLmM6OTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgJXMiCisKKyM6IGFwcGx5LmM6NDU1NAorIywgYy1mb3JtYXQKK21zZ2lkICJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIgorbXNnc3RyICJTdHlja2UgJWQgdGlsbMOkbXBhZGVzIHJlbnQuIgorCisjOiBhcHBseS5jOjQ1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgorbXNnc3RyICJSZWZ1c2VyYXIgc3R5Y2tlICVkLiIKKworIzogYXBwbHkuYzo0NjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCittc2dzdHIgIklnbm9yZXJhciBwYXRjaCBcIiVzXCIuIgorCisjOiBhcHBseS5jOjQ2NzYKK21zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQiCittc2dzdHIgImluZGF0YSBrw6RubnMgaW50ZSBpZ2VuIgorCisjOiBhcHBseS5jOjQ2OTUKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgorbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBpbmRleGZpbGVuIgorCisjOiBhcHBseS5jOjQ4MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgb3BlbiBwYXRjaCAnJXMnOiAlcyIKK21zZ3N0ciAia2FuIGludGUgw7ZwcG5hIHBhdGNoZW4gXCIlc1wiOiAlcyIKKworIzogYXBwbHkuYzo0ODU4CisjLCBjLWZvcm1hdAorbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgorbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHJbMF0gInVuZGVydHJ5Y2t0ZSAlZCBmZWwgaSBibGFua3N0ZWciCittc2dzdHJbMV0gInVuZGVydHJ5Y2t0ZSAlZCBmZWwgaSBibGFua3N0ZWciCisKKyM6IGFwcGx5LmM6NDg2NCBhcHBseS5jOjQ4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgbGluZSBhZGRzIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYWRkIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ3N0clswXSAiJWQgcmFkIGzDpGdnZXIgdGlsbCBmZWwgaSBibGFua3N0ZWcuIgorbXNnc3RyWzFdICIlZCByYWRlciBsw6RnZ2VyIHRpbGwgZmVsIGkgYmxhbmtzdGVnLiIKKworIzogYXBwbHkuYzo0ODcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGxpbmUgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dzdHJbMF0gIiVkIHJhZCBhcHBsaWNlcmFkZSBlZnRlciBhdHQgaGEgcsOkdHRhdCBmZWwgaSBibGFua3N0ZWcuIgorbXNnc3RyWzFdICIlZCByYWRlciBhcHBsaWNlcmFkZSBlZnRlciBhdHQgaGEgcsOkdHRhdCBmZWwgaSBibGFua3N0ZWcuIgorCisjOiBhcHBseS5jOjQ4ODggYnVpbHRpbi9hZGQuYzo0NjMgYnVpbHRpbi9tdi5jOjI4NiBidWlsdGluL3JtLmM6NDMxCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgorbXNnc3RyICJLdW5kZSBpbnRlIHNrcml2YSBueSBpbmRleGZpbCIKKworIzogYXBwbHkuYzo0OTE5IGFwcGx5LmM6NDkyMiBidWlsdGluL2FtLmM6MjI3NyBidWlsdGluL2FtLmM6MjI4MAorIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vZmV0Y2guYzo5OCBidWlsdGluL3B1bGwuYzoxODAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU4OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDcKK21zZ2lkICJwYXRoIgorbXNnc3RyICJzw7ZrdsOkZyIKKworIzogYXBwbHkuYzo0OTIwCittc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKK21zZ3N0ciAidGlsbMOkbXBhIGludGUgw6RuZHJpbmdhciBzb20gbW90c3ZhcmFyIGdpdmVuIHPDtmt2w6RnIgorCisjOiBhcHBseS5jOjQ5MjMKK21zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgorbXNnc3RyICJ0aWxsw6RtcGEgw6RuZHJpbmdhciBzb20gbW90c3ZhcmFyIGdpdmVuIHPDtmt2w6RnIgorCisjOiBhcHBseS5jOjQ5MjUgYnVpbHRpbi9hbS5jOjIyODYKK21zZ2lkICJudW0iCittc2dzdHIgImFudGFsIgorCisjOiBhcHBseS5jOjQ5MjYKK21zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKK21zZ3N0ciAidGEgYm9ydCA8YW50YWw+IGlubGVkYW5kZSBzbmVkc3RyZWNrIGZyw6VuIHRyYWRpdGlvbmVsbGEgZGlmZi1zw7ZrdsOkZ2FyIgorCisjOiBhcHBseS5jOjQ5MjkKK21zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgorbXNnc3RyICJpZ25vcmVyYSB0aWxsw6RnZyBnam9yZGEgYXYgcGF0Y2hlbiIKKworIzogYXBwbHkuYzo0OTMxCittc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBkaWZmc3RhdCBmb3IgdGhlIGlucHV0IgorbXNnc3RyICJpc3TDpGxsZXQgZsO2ciBhdHQgdGlsbMOkbXBhIHBhdGNoZW4sIHNrcml2IHV0IGRpZmZzdGF0IGbDtnIgaW5kYXRhIgorCisjOiBhcHBseS5jOjQ5MzUKK21zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgorbXNnc3RyICJ2aXNhIGFudGFsIHRpbGxhZ2RhIG9jaCBib3J0dGFnbmEgcmFkZXIgZGVjaW1hbHQiCisKKyM6IGFwcGx5LmM6NDkzNworbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCittc2dzdHIgImlzdMOkbGxldCBmw7ZyIGF0dCB0aWxsw6RtcGEgcGF0Y2hlbiwgc2tyaXYgdXQgZW4gc3VtbWVyaW5nIGF2IGluZGF0YSIKKworIzogYXBwbHkuYzo0OTM5Cittc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKK21zZ3N0ciAiaXN0w6RsbGV0IGbDtnIgYXR0IHRpbGzDpG1wYSBwYXRjaGVuLCBzZSBvbSBwYXRjaGVuIGthbiB0aWxsw6RtcGFzIgorCisjOiBhcHBseS5jOjQ5NDEKK21zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCittc2dzdHIgInNlIHRpbGwgYXR0IHBhdGNoZW4ga2FuIHRpbGzDpG1wYXMgcMOlIGFrdHVlbGx0IGluZGV4IgorCisjOiBhcHBseS5jOjQ5NDMKK21zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAidGlsbMOkbXBhIGVuIHBhdGNoIHV0YW4gYXR0IHLDtnJhIGFyYmV0c2thdGFsb2dlbiIKKworIzogYXBwbHkuYzo0OTQ1Cittc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKK21zZ3N0ciAiZ29kdGEgZW4gcGF0Y2ggc29tIHLDtnIgZmlsZXIgdXRhbmbDtnIgYXJiZXRza2F0YWxvZ2VuIgorCisjOiBhcHBseS5jOjQ5NDcKK21zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKK21zZ3N0ciAidGlsbMOkbXBhIG9ja3PDpSBwYXRjaGVuIChhbnbDpG5kIG1lZCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgorCisjOiBhcHBseS5jOjQ5NDkKK21zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICJmw7Zyc8O2ayBlbiB0cmV2w6Rnc3NhbW1hbnNsYWduaW5nIG9tIHBhdGNoZW4gaW50ZSBrYW4gdGlsbMOkbXBhcyIKKworIzogYXBwbHkuYzo0OTUxCittc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCittc2dzdHIgImJ5Z2cgZXR0IHRlbXBvcsOkcnQgaW5kZXggYmFzZXJhdCBww6UgaW5ieWdnZCBpbmRleGluZm9ybWF0aW9uIgorCisjOiBhcHBseS5jOjQ5NTQgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OSBidWlsdGluL2xzLWZpbGVzLmM6NTA1Cittc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgInPDtmt2w6RnYXIgYXZkZWxhcyBtZWQgTlVMLXRlY2tlbiIKKworIzogYXBwbHkuYzo0OTU2Cittc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgorbXNnc3RyICJzZSB0aWxsIGF0dCDDpXRtaW5zdG9uZSA8bj4gcmFkZXIgc2FtbWFuaGFuZyDDpHIgbGlrYSIKKworIzogYXBwbHkuYzo0OTU3IGJ1aWx0aW4vYW0uYzoyMjY1Cittc2dpZCAiYWN0aW9uIgorbXNnc3RyICLDpXRnw6RyZCIKKworIzogYXBwbHkuYzo0OTU4Cittc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHIgImRldGVrdGVyYSBueWEgZWxsZXIgw6RuZHJhZGUgcmFkZXIgc29tIGhhciBmZWwgaSBibGFua3RlY2tlbiIKKworIzogYXBwbHkuYzo0OTYxIGFwcGx5LmM6NDk2NAorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiCittc2dzdHIgImlnbm9yZXJhIMOkbmRyaW5nYXIgaSBibGFua3RlY2tlbiBmw7ZyIHNhbW1hbmhhbmciCisKKyM6IGFwcGx5LmM6NDk2NworbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgorbXNnc3RyICJ0aWxsw6RtcGEgcGF0Y2hlbiBiYWtsw6RuZ2VzIgorCisjOiBhcHBseS5jOjQ5NjkKK21zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKK21zZ3N0ciAiZsO2cnbDpG50YSBpbnRlIG1pbnN0IGVuIHJhZCBzYW1tYW5oYW5nIgorCisjOiBhcHBseS5jOjQ5NzEKK21zZ2lkICJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIKK21zZ3N0ciAibMOkbW5hIHJlZnVzZXJhZGUgc3R5Y2tlbiBpIG1vdHN2YXJhbmRlICoucmVqLWZpbGVyIgorCisjOiBhcHBseS5jOjQ5NzMKK21zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKK21zZ3N0ciAidGlsbMOldCDDtnZlcmxhcHBhbmRlIHN0eWNrZW4iCisKKyM6IGFwcGx5LmM6NDk3NCBidWlsdGluL2FkZC5jOjI2NyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzMzkgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTQgYnVpbHRpbi9mc2NrLmM6NTkzCisjOiBidWlsdGluL2xvZy5jOjE4NjAgYnVpbHRpbi9tdi5jOjExMCBidWlsdGluL3JlYWQtdHJlZS5jOjExNAorbXNnaWQgImJlIHZlcmJvc2UiCittc2dzdHIgInZhciBwcmF0c2FtIgorCisjOiBhcHBseS5jOjQ5NzYKK21zZ2lkICJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIKK21zZ3N0ciAidG9sZXJlcmEgZmVsYWt0aWd0IGRldGVrdGVyYWRlIHNha25hZGUgbnlyYWRzdGVja2VuIHZpZCBmaWxzbHV0IgorCisjOiBhcHBseS5jOjQ5NzkKK21zZ2lkICJkbyBub3QgdHJ1c3QgdGhlIGxpbmUgY291bnRzIGluIHRoZSBodW5rIGhlYWRlcnMiCittc2dzdHIgImxpdGUgaW50ZSBww6UgYW50YWxldCBsaW5qZXIgaSBzdHlja2VodXZ1ZGVuIgorCisjOiBhcHBseS5jOjQ5ODEgYnVpbHRpbi9hbS5jOjIyNzQKK21zZ2lkICJyb290IgorbXNnc3RyICJyb3QiCisKKyM6IGFwcGx5LmM6NDk4MgorbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCittc2dzdHIgImzDpGdnIHRpbGwgPHJvdD4gaSBhbGxhIGZpbG5hbW4iCisKICM6IGFyY2hpdmUuYzoxMgogbXNnaWQgImdpdCBhcmNoaXZlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBhcmNoaXZlIFs8ZmxhZ2dvcj5dIDx0csOkZC1pZ3Q+IFs8c8O2a3bDpGc+Li4uXSIKQEAgLTYyLDcgKzc0Niw3IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGFya2l2PiBbLS1leGVjIDxrbWQ+XSAtLWxpc3QiCiAKLSM6IGFyY2hpdmUuYzozNDQgYnVpbHRpbi9hZGQuYzoxMzcgYnVpbHRpbi9hZGQuYzo0MjAgYnVpbHRpbi9ybS5jOjMyNworIzogYXJjaGl2ZS5jOjM0NCBidWlsdGluL2FkZC5jOjE1MiBidWlsdGluL2FkZC5jOjQ0MiBidWlsdGluL3JtLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiCiBtc2dzdHIgInPDtmt2w6Rnc2FuZ2l2ZWxzZW4gXCIlc1wiIG1vdHN2YXJhZGUgaW50ZSBuw6VncmEgZmlsZXIiCkBAIC03NSw3ICs3NTksNyBAQAogbXNnaWQgImFyY2hpdmUgZm9ybWF0IgogbXNnc3RyICJhcmtpdmZvcm1hdCIKIAotIzogYXJjaGl2ZS5jOjQzMCBidWlsdGluL2xvZy5jOjEzOTUKKyM6IGFyY2hpdmUuYzo0MzAgYnVpbHRpbi9sb2cuYzoxNDI5CiBtc2dpZCAicHJlZml4IgogbXNnc3RyICJwcmVmaXgiCiAKQEAgLTgzLDExICs3NjcsMTEgQEAKIG1zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgogbXNnc3RyICJsw6RnZyB0aWxsIHByZWZpeCB0aWxsIHZhcmplIHPDtmt2w6RnIGkgYXJraXZldCIKIAotIzogYXJjaGl2ZS5jOjQzMiBidWlsdGluL2FyY2hpdmUuYzo4OCBidWlsdGluL2JsYW1lLmM6MjU0OAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDkgYnVpbHRpbi9jb25maWcuYzo2MCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5IGJ1aWx0aW4vZ3JlcC5jOjcyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDU5IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjIgYnVpbHRpbi9ub3Rlcy5jOjM5OAotIzogYnVpbHRpbi9ub3Rlcy5jOjU2MSBidWlsdGluL3JlYWQtdHJlZS5jOjEwOSBwYXJzZS1vcHRpb25zLmg6MTUzCisjOiBhcmNoaXZlLmM6NDMyIGJ1aWx0aW4vYXJjaGl2ZS5jOjg4IGJ1aWx0aW4vYmxhbWUuYzoyNjAzCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNCBidWlsdGluL2NvbmZpZy5jOjU5IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODcKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo5ODkgYnVpbHRpbi9ncmVwLmM6NzIzIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzkgYnVpbHRpbi9scy1maWxlcy5jOjU0MiBidWlsdGluL25vdGVzLmM6NDAxCisjOiBidWlsdGluL25vdGVzLmM6NTY0IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTA5IHBhcnNlLW9wdGlvbnMuaDoxNTMKIG1zZ2lkICJmaWxlIgogbXNnc3RyICJmaWwiCiAKQEAgLTExOSw4ICs4MDMsOCBAQAogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAidmlzYSB1bmRlcnN0w7ZkZGEgYXJraXZmb3JtYXQiCiAKLSM6IGFyY2hpdmUuYzo0NTEgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjgyCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc2CisjOiBhcmNoaXZlLmM6NDUxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4NSBidWlsdGluL2Nsb25lLmM6ODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MwogbXNnaWQgInJlcG8iCiBtc2dzdHIgImFya2l2IgogCkBAIC0xMjgsNyArODEyLDcgQEAKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAiaMOkbXRhIGFya2l2ZXQgZnLDpW4gZmrDpHJyYXJraXZldCA8YXJraXY+IgogCi0jOiBhcmNoaXZlLmM6NDUzIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vbm90ZXMuYzo0ODIKKyM6IGFyY2hpdmUuYzo0NTMgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4NQogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgImtvbW1hbmRvIgogCkBAIC0xMzYsNiArODIwLDI4IEBACiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICJzw7ZrdsOkZyB0aWxsIGtvbW1hbmRvdCBnaXQtdXBsb2FkLWFyY2hpdmUgcMOlIGZqw6RycmVuIgogCisjOiBhcmNoaXZlLmM6NDYxCittc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiCittc2dzdHIgIk92w6RudGFkIGZsYWdnYSAtLXJlbW90ZSIKKworIzogYXJjaGl2ZS5jOjQ2MworbXNnaWQgIk9wdGlvbiAtLWV4ZWMgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tcmVtb3RlIgorbXNnc3RyICJGbGFnZ2FuIC0tZXhlYyBrYW4gZW5kYXN0IGFudsOkbmRhcyB0aWxsc2FtbWFucyBtZWQgLS1yZW1vdGUiCisKKyM6IGFyY2hpdmUuYzo0NjUKK21zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLW91dHB1dCIKK21zZ3N0ciAiT3bDpG50YWQgZmxhZ2dhIC0tb3V0cHV0IgorCisjOiBhcmNoaXZlLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gYXJjaGl2ZSBmb3JtYXQgJyVzJyIKK21zZ3N0ciAiT2vDpG50IGFya2l2Zm9ybWF0IFwiJXNcIiIKKworIzogYXJjaGl2ZS5jOjQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJBcmd1bWVudCBub3Qgc3VwcG9ydGVkIGZvciBmb3JtYXQgJyVzJzogLSVkIgorbXNnc3RyICJBcmd1bWVudGV0IHN0w7ZkIGludGUgZsO2ciBmb3JtYXRldCBcIiVzXCI6IC0lZCIKKwogIzogYXR0ci5jOjI2MwogbXNnaWQgIiIKICJOZWdhdGl2ZSBwYXR0ZXJucyBhcmUgaWdub3JlZCBpbiBnaXQgYXR0cmlidXRlc1xuIgpAQCAtMTQ0LDYgKzg1MCwxMzAgQEAKICJOZWdhdGl2YSBtw7Zuc3RlciBpZ25vcmVyYXMgaSBnaXQtYXR0cmlidXRcbiIKICJBbnbDpG5kICdcXCEnIGbDtnIgYXR0IGlubGVkYSBtZWQgZXR0IHV0cm9wc3RlY2tlbi4iCiAKKyM6IGJpc2VjdC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlICclcyciCittc2dzdHIgIkt1bmRlIGludGUgw7ZwcG5hIGZpbGVuIFwiJXNcIiIKKworIzogYmlzZWN0LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZGx5IHF1b3RlZCBjb250ZW50IGluIGZpbGUgJyVzJzogJXMiCittc2dzdHIgIkZlbGFrdGlndCBjaXRlcmF0IGlubmVow6VsbCBpIGZpbGVuIFwiJXNcIjogJXMiCisKKyM6IGJpc2VjdC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJXZSBjYW5ub3QgYmlzZWN0IG1vcmUhXG4iCittc2dzdHIgIkRldCBmaW5ucyBpbnRlIG1lciBhdHQgZ8O2cmEgXCJiaXNlY3RcIiBww6UhXG4iCisKKyM6IGJpc2VjdC5jOjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYSB2YWxpZCBjb21taXQgbmFtZSAlcyIKK21zZ3N0ciAiTmFtbmV0IHDDpSBpbmNoZWNrbmluZ2VuIMOkciBpbnRlIGdpbHRpZ3Q6ICVzIgorCisjOiBiaXNlY3QuYzo3MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzIGJhZC5cbiIKKyJUaGlzIG1lYW5zIHRoZSBidWcgaGFzIGJlZW4gZml4ZWQgYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIKK21zZ3N0ciAiIgorIlNhbW1hbnNsYWduaW5nc2Jhc2VuICVzIMOkciB0cmFzaWcuXG4iCisiRGV0IGJldHlkZXIgYXR0IGZlbGV0IGhhciByw6R0dGF0cyBtZWxsYW4gJXMgb2NoIFslc10uXG4iCisKKyM6IGJpc2VjdC5jOjczNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIG1lcmdlIGJhc2UgJXMgaXMgbmV3LlxuIgorIlRoZSBwcm9wZXJ0eSBoYXMgY2hhbmdlZCBiZXR3ZWVuICVzIGFuZCBbJXNdLlxuIgorbXNnc3RyICIiCisiU2FtbWFuc2xhZ25pbmdzYmFzZW4gJXMgw6RyIG55LlxuIgorIkVnZW5za2FwZW4gaGFyIMOkbmRyYXRzIG1lbGxhbiAlcyBvY2ggWyVzXS5cbiIKKworIzogYmlzZWN0LmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbWVyZ2UgYmFzZSAlcyBpcyAlcy5cbiIKKyJUaGlzIG1lYW5zIHRoZSBmaXJzdCAnJXMnIGNvbW1pdCBpcyBiZXR3ZWVuICVzIGFuZCBbJXNdLlxuIgorbXNnc3RyICIiCisiU2FtbWFuc2xhZ25pbmdzYmFzZW4gJXMgw6RyICVzLlxuIgorIkRldCBiZXR5ZGVyIGF0dCBkZW4gZsO2cnN0YSBcIiVzXCIgaW5jaGVja25pbmdlbiDDpHIgbWVsbGFuICVzIG9jaCBbJXNdLlxuIgorCisjOiBiaXNlY3QuYzo3NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlNvbWUgJXMgcmV2cyBhcmUgbm90IGFuY2VzdG9yIG9mIHRoZSAlcyByZXYuXG4iCisiZ2l0IGJpc2VjdCBjYW5ub3Qgd29yayBwcm9wZXJseSBpbiB0aGlzIGNhc2UuXG4iCisiTWF5YmUgeW91IG1pc3Rvb2sgJXMgYW5kICVzIHJldnM/XG4iCittc2dzdHIgIiIKKyJOw6VncmEgJXMtcmV2aXNpb25lciDDpHIgaW50ZSBmw7Zyw6RsZHJhciB0aWxsICVzLXJldmlzaW9uZW4uXG4iCisiZ2l0IGJpc2VjdCBrYW4gaW50ZSBhcmJldGEga29ycmVrdCBpIGRldHRhIGZhbGwuXG4iCisiS2Fuc2tlIGR1IHNrcmV2IGZlbCAlcy0gb2NoICVzLXJldmlzaW9uZXI/XG4iCisKKyM6IGJpc2VjdC5jOjc2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIG1lcmdlIGJhc2UgYmV0d2VlbiAlcyBhbmQgWyVzXSBtdXN0IGJlIHNraXBwZWQuXG4iCisiU28gd2UgY2Fubm90IGJlIHN1cmUgdGhlIGZpcnN0ICVzIGNvbW1pdCBpcyBiZXR3ZWVuICVzIGFuZCAlcy5cbiIKKyJXZSBjb250aW51ZSBhbnl3YXkuIgorbXNnc3RyICIiCisic2FtbWFuc2xhZ25pbmdzYmFzZW4gbWVsbGFuICVzIG9jaCBbJXNdIG3DpXN0ZSBob3BwYXMgw7Z2ZXIuXG4iCisiVmkga2FuIGludGUgdmFyYSBzw6RrcmEgcMOlIGF0dCBkZW4gZsO2cnN0YSAlcyBpbmNoZWNrbmluZ2VuIMOkciBtZWxsYW4gJXMgb2NoICIKKyIlcy5cbiIKKyJWaSBmb3J0c8OkdHRlciDDpG5kw6UuIgorCisjOiBiaXNlY3QuYzo3OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmlzZWN0aW5nOiBhIG1lcmdlIGJhc2UgbXVzdCBiZSB0ZXN0ZWRcbiIKK21zZ3N0ciAiQmlzZWN0OiBlbiBzYW1tYW5zbGFnbmluZ3NiYXMgbcOlc3RlIHRlc3Rhc1xuIgorCisjOiBiaXNlY3QuYzo4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCittc2dzdHIgImVuICVzLXJldmlzaW9uIGJlaMO2dnMiCisKKyM6IGJpc2VjdC5jOjg2NiBidWlsdGluL25vdGVzLmM6MTc0IGJ1aWx0aW4vdGFnLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgorbXNnc3RyICJrdW5kZSBpbnRlIHNrYXBhIGZpbGVuIFwiJXNcIiIKKworIzogYmlzZWN0LmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGZpbGUgJyVzJyIKK21zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBmaWxlbiBcIiVzXCIiCisKKyM6IGJpc2VjdC5jOjk0NworbXNnaWQgInJlYWRpbmcgYmlzZWN0IHJlZnMgZmFpbGVkIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbMOkc2EgYmlzZWN0LXJlZmVyZW5zZXIiCisKKyM6IGJpc2VjdC5jOjk2NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB3YXMgYm90aCAlcyBhbmQgJXNcbiIKK21zZ3N0ciAiJXMgdmFyIGLDpWRlICVzIG9jaCAlc1xuIgorCisjOiBiaXNlY3QuYzo5NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vIHRlc3RhYmxlIGNvbW1pdCBmb3VuZC5cbiIKKyJNYXliZSB5b3Ugc3RhcnRlZCB3aXRoIGJhZCBwYXRoIHBhcmFtZXRlcnM/XG4iCittc2dzdHIgIiIKKyJJbmdlbiB0ZXN0YmFyIGluY2hlY2tuaW5nIGhpdHRhZGVzLlxuIgorIkthbnNrZSBkdSBzdGFydGFkZSBtZWQgZmVsYWt0aWdhIHPDtmt2w6Rnc3BhcmFtZXRyYXI/XG4iCisKKyM6IGJpc2VjdC5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICIocm91Z2hseSAlZCBzdGVwKSIKK21zZ2lkX3BsdXJhbCAiKHJvdWdobHkgJWQgc3RlcHMpIgorbXNnc3RyWzBdICIodW5nZWbDpHIgJWQgc3RlZykiCittc2dzdHJbMV0gIih1bmdlZsOkciAlZCBzdGVnKSIKKworIy4gVFJBTlNMQVRPUlM6IHRoZSBsYXN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aAorIy4gIihyb3VnaGx5ICVkIHN0ZXBzKSIgdHJhbnNsYXRpb24KKyM6IGJpc2VjdC5jOjk5OAorIywgYy1mb3JtYXQKK21zZ2lkICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9uIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iCittc2dpZF9wbHVyYWwgIkJpc2VjdGluZzogJWQgcmV2aXNpb25zIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iCittc2dzdHJbMF0gIkJpc2VjdDogJWQgcmV2aXNpb24ga3ZhciBhdHQgdGVzdGEgZWZ0ZXIgZGVubmEgJXNcbiIKK21zZ3N0clsxXSAiQmlzZWN0OiAlZCByZXZpc2lvbmVyIGt2YXIgYXR0IHRlc3RhIGVmdGVyIGRlbm5hICVzXG4iCisKICM6IGJyYW5jaC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTI1NywyNyArMTA4NywyNyBAQAogInNww6VyYSBkZXNzIGZqw6Rycm1vdHN2YXJpZ2hldCBrYW4gZHUgYW52w6RuZGEgXCJnaXQgcHVzaCAtdVwiXG4iCiAiZsO2ciBhdHQgc3TDpGxsYSBpbiB1cHBzdHLDtm1za29uZmlndXJhdGlvbmVuIG7DpHIgZHUgc8OkbmRlciBpbi4iCiAKLSM6IGJyYW5jaC5jOjI2NgorIzogYnJhbmNoLmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAiT2JqZWt0bmFtbmV0IMOkciBpbnRlIGdpbHRpZ3Q6IFwiJXNcIi4iCiAKLSM6IGJyYW5jaC5jOjI4NgorIzogYnJhbmNoLmM6Mjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFtYmlndW91cyBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIk9iamVrdG5hbW5ldCDDpHIgdHZldHlkaWd0OiBcIiVzXCIuIgogCi0jOiBicmFuY2guYzoyOTEKKyM6IGJyYW5jaC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICJBdmdyZW5pbmdzcHVua3RlbiDDpHIgaW50ZSBnaWx0aWc6IFwiJXNcIiIKIAotIzogYnJhbmNoLmM6MzQ1CisjOiBicmFuY2guYzozNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGNoZWNrZWQgb3V0IGF0ICclcyciCiBtc2dzdHIgIlwiJXNcIiDDpHIgcmVkYW4gdXRjaGVja2FkIHDDpSBcIiVzXCIiCiAKLSM6IGJyYW5jaC5jOjM2NAorIzogYnJhbmNoLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgb2Ygd29ya2luZyB0cmVlICVzIGlzIG5vdCB1cGRhdGVkIgogbXNnc3RyICJIRUFEIGkgYXJiZXRza2F0YWxvZ2VuICVzIGhhciBpbnRlIHVwcGRhdGVyYXRzIgpAQCAtMjkyLDcgKzExMjIsNyBAQAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAib2vDpG50IGh1dnVkOiAlcyVzICglZCkiCiAKLSM6IGJ1bmRsZS5jOjg3IGJ1aWx0aW4vY29tbWl0LmM6Nzc3CisjOiBidW5kbGUuYzo4NyBzZXF1ZW5jZXIuYzo5NjMgYnVpbHRpbi9jb21taXQuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgXCIlc1wiIgpAQCAtMzAxLDEwICsxMTMxLDEwIEBACiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCiBtc2dzdHIgIkFya2l2ZXQgc2FrbmFyIGRlc3NhIG7DtmR2w6RuZGlnYSBpbmNoZWNrbmluZ2FyOiIKIAotIzogYnVuZGxlLmM6MTYzIHJlZi1maWx0ZXIuYzoxNDYyIHNlcXVlbmNlci5jOjYyNyBzZXF1ZW5jZXIuYzoxMDczCi0jOiBidWlsdGluL2JsYW1lLmM6Mjc1NSBidWlsdGluL2NvbW1pdC5jOjEwNTYgYnVpbHRpbi9sb2cuYzozNDAKLSM6IGJ1aWx0aW4vbG9nLmM6ODYzIGJ1aWx0aW4vbG9nLmM6MTMwOCBidWlsdGluL2xvZy5jOjE2MzMgYnVpbHRpbi9sb2cuYzoxODc1Ci0jOiBidWlsdGluL21lcmdlLmM6MzYxIGJ1aWx0aW4vc2hvcnRsb2cuYzoxNzAKKyM6IGJ1bmRsZS5jOjE2MyByZWYtZmlsdGVyLmM6MTQ2MiBzZXF1ZW5jZXIuYzo4MzAgc2VxdWVuY2VyLmM6MTM3NAorIzogYnVpbHRpbi9ibGFtZS5jOjI4MTQgYnVpbHRpbi9jb21taXQuYzoxMDYxIGJ1aWx0aW4vbG9nLmM6MzQ4CisjOiBidWlsdGluL2xvZy5jOjg5MCBidWlsdGluL2xvZy5jOjEzNDAgYnVpbHRpbi9sb2cuYzoxNjY2IGJ1aWx0aW4vbG9nLmM6MTkwOQorIzogYnVpbHRpbi9tZXJnZS5jOjM1NiBidWlsdGluL3Nob3J0bG9nLmM6MTcwCiBtc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSByZXZpc2lvbnN0cmF2ZXJzZXJpbmciCiAKQEAgLTM0Myw3ICsxMTczLDcgQEAKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAicmVmZXJlbnNlbiBcIiVzXCIgZXhrbHVkZXJhcyBhdiBhcmd1bWVudGVuIHRpbGwgcmV2LWxpc3QiCiAKLSM6IGJ1bmRsZS5jOjQ0MyBidWlsdGluL2xvZy5jOjE2MyBidWlsdGluL2xvZy5jOjE1MzggYnVpbHRpbi9zaG9ydGxvZy5jOjI3MworIzogYnVuZGxlLmM6NDQzIGJ1aWx0aW4vbG9nLmM6MTY1IGJ1aWx0aW4vbG9nLmM6MTU3MiBidWlsdGluL3Nob3J0bG9nLmM6MjczCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm9rw6RudCBhcmd1bWVudDogJXMiCkBAIC0zNjEsMTMgKzExOTEsMTMgQEAKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCiBtc2dzdHIgImluZGV4LXBhY2sgZG9nIgogCi0jOiBjb2xvci5jOjI3NQorIzogY29sb3IuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKIG1zZ3N0ciAiZmVsYWt0aWd0IGbDpHJndsOkcmRlOiAlLipzIgogCi0jOiBjb21taXQuYzo0MCBidWlsdGluL2FtLmM6NDM3IGJ1aWx0aW4vYW0uYzo0NzMgYnVpbHRpbi9hbS5jOjE1MDQKLSM6IGJ1aWx0aW4vYW0uYzoyMTM0CisjOiBjb21taXQuYzo0MCBidWlsdGluL2FtLmM6NDIxIGJ1aWx0aW4vYW0uYzo0NTcgYnVpbHRpbi9hbS5jOjE0OTMKKyM6IGJ1aWx0aW4vYW0uYzoyMTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSAlcyIKQEAgLTM3NywxMzIgKzEyMDcsMjU3IEBACiBtc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiJXMgJXMgw6RyIGludGUgZW4gaW5jaGVja25pbmchIgogCisjOiBjb21taXQuYzoxNTE0Cittc2dpZCAiIgorIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKKyJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgorInZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgdG8gdGhlIGVuY29kaW5nIHlvdXIgcHJvamVjdCB1c2VzLlxuIgorbXNnc3RyICIiCisiVmFybmluZzogaW5jaGVja25pbmdzbWVkZGVsYW5kZXQgw6RyIGludGUga29ycmVrdCBVVEYtOC5cbiIKKyJVcHBkYXRlcmEgZGV0IGVmdGVyIGF0dCBoYSByw6R0dGF0IG1lZGRlbGFuZGV0LCBlbGxlciDDpG5kcmEgdmFyaWFiZWxuXG4iCisiaTE4bi5jb21taXRlbmNvZGluZyB0aWxsIGRlbiB0ZWNrZW5rb2RuaW5nIHNvbSBhbnbDpG5kcyBpIGRpdHQgcHJvamVrdC5cbiIKKwogIzogY29tcGF0L29ic3RhY2suYzo0MDYgY29tcGF0L29ic3RhY2suYzo0MDgKIG1zZ2lkICJtZW1vcnkgZXhoYXVzdGVkIgogbXNnc3RyICJtaW5uZXQgc2x1dCIKIAotIzogY29uZmlnLmM6NDc1IGNvbmZpZy5jOjQ3NworIzogY29uZmlnLmM6NTE2CiAjLCBjLWZvcm1hdAotbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyAlcyIKLW1zZ3N0ciAiZmVsYWt0aWcga29uZmlndXJhdGlvbnNmaWwgcmFkICVkIGkgJXMgJXMiCittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCittc2dzdHIgImZlbGFrdGlnIGtvbmZpZ3VyYXRpb25zZmlsIHJhZCAlZCBpIGJsb2I6ZW4gJXMiCiAKLSM6IGNvbmZpZy5jOjU5MworIzogY29uZmlnLmM6NTIwCiAjLCBjLWZvcm1hdAotbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzICVzOiAlcyIKLW1zZ3N0ciAiZmVsYWt0aWd0IG51bWVyaXNrdCBrb25maWd1cmF0aW9uc3bDpHJkZSBcIiVzXCIgZsO2ciBcIiVzXCIgaSAlcyAlczogJXMiCittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGZpbGUgJXMiCittc2dzdHIgImZlbGFrdGlnIGtvbmZpZ3VyYXRpb25zZmlsIHJhZCAlZCBpIGZpbGVuICVzIgogCi0jOiBjb25maWcuYzo1OTUKKyM6IGNvbmZpZy5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3RhbmRhcmQgaW5wdXQiCittc2dzdHIgImZlbGFrdGlnIGtvbmZpZ3VyYXRpb25zZmlsIHJhZCAlZCBpIHN0YW5kYXJkIGluIgorCisjOiBjb25maWcuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN1Ym1vZHVsZS1ibG9iICVzIgorbXNnc3RyICJmZWxha3RpZyBrb25maWd1cmF0aW9uc2ZpbCByYWQgJWQgaSB1bmRlcm1vZHVscy1ibG9iOmVuICVzIgorCisjOiBjb25maWcuYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGNvbW1hbmQgbGluZSAlcyIKK21zZ3N0ciAiZmVsYWt0aWcga29uZmlndXJhdGlvbnNmaWwgcmFkICVkIGkga29tbWFuZG9yYWRlbiAlcyIKKworIzogY29uZmlnLmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyIKK21zZ3N0ciAiZmVsYWt0aWcga29uZmlndXJhdGlvbnNmaWwgcmFkICVkIGkgJXMiCisKKyM6IGNvbmZpZy5jOjY1NQorbXNnaWQgIm91dCBvZiByYW5nZSIKK21zZ3N0ciAidXRhbmbDtnIgaW50ZXJ2YWxsZXQiCisKKyM6IGNvbmZpZy5jOjY1NQorbXNnaWQgImludmFsaWQgdW5pdCIKK21zZ3N0ciAib2dpbHRpZyBlbmhldCIKKworIzogY29uZmlnLmM6NjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWd0IG51bWVyaXNrdCBrb25maWd1cmF0aW9uc3bDpHJkZSBcIiVzXCIgZsO2ciBcIiVzXCI6ICVzIgogCi0jOiBjb25maWcuYzo2ODAKKyM6IGNvbmZpZy5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBibG9iICVzOiAlcyIKK21zZ3N0ciAiIgorImZlbGFrdGlndCBudW1lcmlza3Qga29uZmlndXJhdGlvbnN2w6RyZGUgXCIlc1wiIGbDtnIgXCIlc1wiIGkgYmxvYjplbiAlczogJXMiCisKKyM6IGNvbmZpZy5jOjY2OQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiAlcyIKK21zZ3N0ciAiIgorImZlbGFrdGlndCBudW1lcmlza3Qga29uZmlndXJhdGlvbnN2w6RyZGUgXCIlc1wiIGbDtnIgXCIlc1wiIGkgZmlsZW4gJXM6ICVzIgorCisjOiBjb25maWcuYzo2NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3RhbmRhcmQgaW5wdXQ6ICVzIgorbXNnc3RyICIiCisiZmVsYWt0aWd0IG51bWVyaXNrdCBrb25maWd1cmF0aW9uc3bDpHJkZSBcIiVzXCIgZsO2ciBcIiVzXCIgaSBzdGFuZGFyZCBpbjogJXMiCisKKyM6IGNvbmZpZy5jOjY3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdWJtb2R1bGUtYmxvYiAlczogJXMiCittc2dzdHIgIiIKKyJmZWxha3RpZ3QgbnVtZXJpc2t0IGtvbmZpZ3VyYXRpb25zdsOkcmRlIFwiJXNcIiBmw7ZyIFwiJXNcIiBpIHVuZGVybW9kdWwtYmxvYjoiCisiZW4gJXM6ICVzIgorCisjOiBjb25maWcuYzo2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gY29tbWFuZCBsaW5lICVzOiAlcyIKK21zZ3N0ciAiIgorImZlbGFrdGlndCBudW1lcmlza3Qga29uZmlndXJhdGlvbnN2w6RyZGUgXCIlc1wiIGbDtnIgXCIlc1wiIGkga29tbWFuZG9yYWRlbiAiCisiJXM6ICVzIgorCisjOiBjb25maWcuYzo2ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gJXM6ICVzIgorbXNnc3RyICJmZWxha3RpZ3QgbnVtZXJpc2t0IGtvbmZpZ3VyYXRpb25zdsOkcmRlIFwiJXNcIiBmw7ZyIFwiJXNcIiBpICVzOiAlcyIKKworIzogY29uZmlnLmM6NzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleHBhbmQgdXNlciBkaXIgaW46ICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBleHBhbmRlcmEgYW52w6RuZGFya2F0YWxvZyBpOiBcIiVzXCIiCiAKLSM6IGNvbmZpZy5jOjc2MSBjb25maWcuYzo3NzIKKyM6IGNvbmZpZy5jOjg1MiBjb25maWcuYzo4NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHpsaWIgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgImZlbGFrdGlndCB6bGliLWtvbXByaW1lcmluZ3NncmFkICVkIgogCi0jOiBjb25maWcuYzo4OTAKKyM6IGNvbmZpZy5jOjk3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgZm9yIG9iamVjdCBjcmVhdGlvbjogJXMiCiBtc2dzdHIgImZlbGFrdGlndCBsw6RnZSBmw7ZyIHNrYXBhbmRlIGF2IG9iamVrdDogJXMiCiAKLSM6IGNvbmZpZy5jOjEyMjgKKyM6IGNvbmZpZy5jOjEzMTIKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAia2FuIGludGUgdG9sa2Ega29tbWFuZG9yYWRza29uZmlndXJhdGlvbiIKIAotIzogY29uZmlnLmM6MTI4NAotbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJlZCB3aGlsZSByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIgorIzogY29uZmlnLmM6MTM2MgorbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKIG1zZ3N0ciAib2vDpG50IGZlbCB1cHBzdG9kIHZpZCBsw6RzbmluZyBhdiBrb25maWd1cmF0aW9uc2ZpbGVybmEiCiAKLSM6IGNvbmZpZy5jOjE2MjkKKyM6IGNvbmZpZy5jOjE3MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICclcycgZnJvbSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIHbDpHJkZXQgXCIlc1wiIGZyw6VuIGtvbW1hbmRvcmFkc2tvbmZpZ3VyYXRpb24iCiAKLSM6IGNvbmZpZy5jOjE2MzEKKyM6IGNvbmZpZy5jOjE3MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyB2YXJpYWJsZSAnJXMnIGluIGZpbGUgJyVzJyBhdCBsaW5lICVkIgogbXNnc3RyICJmZWxha3RpZyBrb25maWd1cmF0aW9uc3ZhcmlhYmVsIFwiJXNcIiBpIGZpbGVuIFwiJXNcIiBww6UgcmFkICVkIgogCi0jOiBjb25maWcuYzoxNjkwCisjOiBjb25maWcuYzoxNzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBtdWx0aXBsZSB2YWx1ZXMiCiBtc2dzdHIgIiVzIGhhciBmbGVyYSB2w6RyZGVuIgogCi0jOiBjb25maWcuYzoyMjI0CisjOiBjb25maWcuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzZXQgJyVzJyB0byAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHN0w6RsbGEgaW4gXCIlc1wiIHRpbGwgXCIlc1wiIgogCi0jOiBjb25maWcuYzoyMjI2CisjOiBjb25maWcuYzoyMzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHRhIGJvcnQgaW5zdMOkbGxuaW5nIGbDtnIgXCIlc1wiIgogCi0jOiBjb25uZWN0ZWQuYzo2OQorIzogY29ubmVjdC5jOjQ5Cittc2dpZCAiVGhlIHJlbW90ZSBlbmQgaHVuZyB1cCB1cG9uIGluaXRpYWwgY29udGFjdCIKK21zZ3N0ciAiRmrDpHJyZW4gbGFkZSBww6UgdmlkIGlubGVkYW5kZSBrb250YWt0IgorCisjOiBjb25uZWN0LmM6NTEKK21zZ2lkICIiCisiQ291bGQgbm90IHJlYWQgZnJvbSByZW1vdGUgcmVwb3NpdG9yeS5cbiIKKyJcbiIKKyJQbGVhc2UgbWFrZSBzdXJlIHlvdSBoYXZlIHRoZSBjb3JyZWN0IGFjY2VzcyByaWdodHNcbiIKKyJhbmQgdGhlIHJlcG9zaXRvcnkgZXhpc3RzLiIKK21zZ3N0ciAiIgorIkt1bmRlIGludGUgbMOkc2EgZnLDpW4gZmrDpHJyYXJraXYuXG4iCisiXG4iCisiU2UgdGlsbCBhdHQgZHUgaGFyIGtvcnJla3Qgw6V0a29tc3RiZWjDtnJpZ2hldFxuIgorIm9jaCBhdHQgYXJraXZldCBleGlzdGVyYXIuIgorCisjIFZhZ3VlIG9yaWdpbmFsLCBub3QgbmV0d29ya2luZy1yZWxhdGVkLCBidXQgcmF0aGVyIHJlbGF0ZWQgdG8gdGhlIGFjdHVhbAorIyBvYmplY3RzIGluIHRoZSBkYXRhYmFzZS4KKyM6IGNvbm5lY3RlZC5jOjYzIGJ1aWx0aW4vZnNjay5jOjE3MyBidWlsdGluL3BydW5lLmM6MTQwCittc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgorbXNnc3RyICJLb250cm9sbGVyYXIga29ubmVrdGl2aXRldCIKKworIzogY29ubmVjdGVkLmM6NzUKIG1zZ2lkICJDb3VsZCBub3QgcnVuICdnaXQgcmV2LWxpc3QnIgogbXNnc3RyICJLdW5kZSBpbnRlIGvDtnJhIFwiZ2l0IHJldi1saXN0XCIiCiAKLSM6IGNvbm5lY3RlZC5jOjg5CisjOiBjb25uZWN0ZWQuYzo5NQogbXNnaWQgImZhaWxlZCB3cml0ZSB0byByZXYtbGlzdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgdGlsbCByZXYtbGlzdCIKIAotIzogY29ubmVjdGVkLmM6OTYKKyM6IGNvbm5lY3RlZC5jOjEwMgogbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluIgogbXNnc3RyICJrdW5kZSBpbnRlIHN0w6RuZ2EgcmV2LWxpc3Q6cyBzdGFuZGFyZCBpbiIKIAotIzogZGF0ZS5jOjk1CisjOiBjb252ZXJ0LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDUkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuXG4iCisiVGhlIGZpbGUgd2lsbCBoYXZlIGl0cyBvcmlnaW5hbCBsaW5lIGVuZGluZ3MgaW4geW91ciB3b3JraW5nIGRpcmVjdG9yeS4iCittc2dzdHIgIiIKKyJDUkxGIGtvbW1lciBhdHQgZXJzw6R0dGFzIGF2IExGIGkgJXMuXG4iCisiRmlsZW4ga29tbWVyIGF0dCBoYSBzaW5hIHVyc3BydW5nbGlnYSByYWRicnl0bmluZ2FyIGkgZGluIGFyYmV0c2thdGFsb2cuIgorCisjOiBjb252ZXJ0LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNSTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuIgorbXNnc3RyICJDUkxGIHNrdWxsZSBlcnPDpHR0YXMgYXYgTEYgaSAlcy4iCisKKyM6IGNvbnZlcnQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcy5cbiIKKyJUaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdpbmFsIGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5LiIKK21zZ3N0ciAiIgorIkxGIGtvbW1lciBhdHQgZXJzw6R0dGFzIGF2IENSTEYgaSAlcy5cbiIKKyJGaWxlbiBrb21tZXIgYXR0IGhhIHNpbmEgdXJzcHJ1bmdsaWdhIHJhZGJyeXRuaW5nYXIgaSBkaW4gYXJiZXRza2F0YWxvZy4iCisKKyM6IGNvbnZlcnQuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcyIKK21zZ3N0ciAiTEYgc2t1bGxlIGVyc8OkdHRhcyBhdiBDUkxGIGkgJXMuIgorCisjOiBkYXRlLmM6OTcKIG1zZ2lkICJpbiB0aGUgZnV0dXJlIgogbXNnc3RyICJpIGZyYW10aWRlbiIKIAotIzogZGF0ZS5jOjEwMQorIzogZGF0ZS5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgc2Vjb25kIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IHNlY29uZHMgYWdvIgogbXNnc3RyWzBdICIlbHUgc2VrdW5kIHNlZGFuIgogbXNnc3RyWzFdICIlbHUgc2VrdW5kZXIgc2VkYW4iCiAKLSM6IGRhdGUuYzoxMDgKKyM6IGRhdGUuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IG1pbnV0ZSBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBtaW51dGVzIGFnbyIKIG1zZ3N0clswXSAiJWx1IG1pbnV0IHNlZGFuIgogbXNnc3RyWzFdICIlbHUgbWludXRlciBzZWRhbiIKIAotIzogZGF0ZS5jOjExNQorIzogZGF0ZS5jOjExNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgaG91ciBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBob3VycyBhZ28iCiBtc2dzdHJbMF0gIiVsdSB0aW1tZSBzZWRhbiIKIG1zZ3N0clsxXSAiJWx1IHRpbW1hciBzZWRhbiIKIAotIzogZGF0ZS5jOjEyMgorIzogZGF0ZS5jOjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgZGF5IGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IGRheXMgYWdvIgogbXNnc3RyWzBdICIlbHUgZGFnIHNlZGFuIgogbXNnc3RyWzFdICIlbHUgZGFnYXIgc2VkYW4iCiAKLSM6IGRhdGUuYzoxMjgKKyM6IGRhdGUuYzoxMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHdlZWsgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgd2Vla3MgYWdvIgogbXNnc3RyWzBdICIlbHUgdmVja2Egc2VkYW4iCiBtc2dzdHJbMV0gIiVsdSB2ZWNrb3Igc2VkYW4iCiAKLSM6IGRhdGUuYzoxMzUKKyM6IGRhdGUuYzoxMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IG1vbnRoIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gIiVsdSBtw6VuYWQgc2VkYW4iCiBtc2dzdHJbMV0gIiVsdSBtw6VuYWRlciBzZWRhbiIKIAotIzogZGF0ZS5jOjE0NgorIzogZGF0ZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgeWVhciIKIG1zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIgpAQCAtNTEwLDE0ICsxNDY1LDE0IEBACiBtc2dzdHJbMV0gIiVsdSDDpXIiCiAKICMuIFRSQU5TTEFUT1JTOiAiJXMiIGlzICI8bj4geWVhcnMiCi0jOiBkYXRlLmM6MTQ5CisjOiBkYXRlLmM6MTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCAlbHUgbW9udGggYWdvIgogbXNnaWRfcGx1cmFsICIlcywgJWx1IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gIiVzLCAlbHUgbcOlbmFkIHNlZGFuIgogbXNnc3RyWzFdICIlcywgJWx1IG3DpW5hZGVyIHNlZGFuIgogCi0jOiBkYXRlLmM6MTU0IGRhdGUuYzoxNTkKKyM6IGRhdGUuYzoxNTYgZGF0ZS5jOjE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgeWVhciBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSB5ZWFycyBhZ28iCkBAIC01MjksMjYgKzE0ODQsMzEgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvcmRlcmZpbGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBvcmRlcmZpbGVuIFwiJXNcIiIKIAotIzogZGlmZmNvcmUtcmVuYW1lLmM6NTM4CisjOiBkaWZmY29yZS1yZW5hbWUuYzo1MzYKIG1zZ2lkICJQZXJmb3JtaW5nIGluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiIKIG1zZ3N0ciAiVXRmw7ZyIG9uw7ZqYWt0aWcgbmFtbmJ5dGVzZGV0ZWt0ZXJpbmciCiAKLSM6IGRpZmYuYzoxMTYKKyM6IGRpZmYuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhIHZhbHVlIgorbXNnc3RyICJmbGFnZ2FuIFwiJXNcIiBiZWjDtnZlciBldHQgdsOkcmRlIgorCisjOiBkaWZmLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmFpbGVkIHRvIHBhcnNlIGRpcnN0YXQgY3V0LW9mZiBwZXJjZW50YWdlICclcydcbiIKIG1zZ3N0ciAiICBNaXNzbHlja2FkZXMgdG9sa2EgZGlyc3RhdC1hdnNrw6RybmluZ3Nwcm9jZW50YW5kZWwgXCIlc1wiXG4iCiAKLSM6IGRpZmYuYzoxMjEKKyM6IGRpZmYuYzoxMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBVbmtub3duIGRpcnN0YXQgcGFyYW1ldGVyICclcydcbiIKIG1zZ3N0ciAiICBPa8OkbmQgZGlyc3RhdC1wYXJhbWV0ZXIgXCIlc1wiXG4iCiAKLSM6IGRpZmYuYzoyMjUKKyM6IGRpZmYuYzoyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB2YWx1ZSBmb3IgJ2RpZmYuc3VibW9kdWxlJyBjb25maWcgdmFyaWFibGU6ICclcyciCiBtc2dzdHIgIk9rw6RudCB2w6RyZGUgZsO2ciBrb25maWd1cmF0aW9uc3ZhcmlhYmVsbiBcImRpZmYuc3VibW9kdWxlXCI6IFwiJXNcIiIKIAotIzogZGlmZi5jOjI3NworIzogZGlmZi5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKQEAgLTU1NywxNiArMTUxNywyMCBAQAogIkhpdHRhZGUgZmVsIGkga29uZmlndXJhdGlvbnN2YXJpYWJlbG4gXCJkaWZmLmRpcnN0YXRcIjpcbiIKICIlcyIKIAotIzogZGlmZi5jOjMwMDcKKyM6IGRpZmYuYzozMDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCiBtc2dzdHIgImV4dGVybiBkaWZmIGRvZywgc3Rhbm5hciB2aWQgJXMiCiAKLSM6IGRpZmYuYzozNDA1CisjOiBkaWZmLmM6MzQxMgorbXNnaWQgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLWNoZWNrIG9jaCAtcyDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUiCisKKyM6IGRpZmYuYzozNTAyCiBtc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCiBtc2dzdHIgIi0tZm9sbG93IGtyw6R2ZXIgZXhha3QgZW4gc8O2a3bDpGdzYW5naXZlbHNlIgogCi0jOiBkaWZmLmM6MzU2OAorIzogZGlmZi5jOjM2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKQEAgLTU3NSw3MCArMTUzOSwyNDQgQEAKICJNaXNzbHlja2FkZXMgdG9sa2EgYXJndW1lbnQgdGlsbCBmbGFnZ2FuIC0tZGlyc3RhdC8tWDtcbiIKICIlcyIKIAotIzogZGlmZi5jOjM1ODIKKyM6IGRpZmYuYzozNjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgogbXNnc3RyICJNaXNzbHlja2FkZXMgdG9sa2EgYXJndW1lbnQgdGlsbCBmbGFnZ2FuIC0tc3VibW9kdWxlOiBcIiVzXCIiCiAKLSM6IGRpci5jOjE4MjMKKyM6IGRpZmYuYzo0NzAwCittc2dpZCAiaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uIHdhcyBza2lwcGVkIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCittc2dzdHIgIiIKKyJvbsO2amFrdGlnIG5hbW5ieXRlc2RldGVrdGVyaW5nIHV0ZsO2cmRlcyBpbnRlIHDDpSBncnVuZCBhdiBmw7ZyIG3DpW5nYSBmaWxlciIKKworIzogZGlmZi5jOjQ3MDMKK21zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCittc2dzdHIgImhpdHRhZGUgYmFyYSBrb3Bpb3IgZnLDpW4gw6RuZHJhZGUgc8O2a3bDpGdhciBww6UgZ3J1bmQgYXYgZsO2ciBtw6VuZ2EgZmlsZXIuIgorCisjOiBkaWZmLmM6NDcwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisieW91IG1heSB3YW50IHRvIHNldCB5b3VyICVzIHZhcmlhYmxlIHRvIGF0IGxlYXN0ICVkIGFuZCByZXRyeSB0aGUgY29tbWFuZC4iCittc2dzdHIgIiIKKyJkdSBrYW4gc8OkdHRhIHZhcmlhYmVsbiAlcyB0aWxsIMOldG1pbnN0b25lICVkIG9jaCBmw7Zyc8O2a2Ega29tbWFuZG90IHDDpSBueXR0LiIKKworIzogZGlyLmM6MTg2NgogbXNnaWQgImZhaWxlZCB0byBnZXQga2VybmVsIG5hbWUgYW5kIGluZm9ybWF0aW9uIgogbXNnc3RyICJtaXNzbHlja2FkZXMgaMOkbXRhIGvDpHJuYW5zIG5hbW4gb2NoIGluZm9ybWF0aW9uIgogCi0jOiBkaXIuYzoxOTQyCisjOiBkaXIuYzoxOTg1CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGlzIGRpc2FibGVkIG9uIHRoaXMgc3lzdGVtIG9yIGxvY2F0aW9uLiIKIG1zZ3N0ciAiT3Nww6VyYWQgY2FjaGUgw6RyIGluYWt0aXZlcmFkIHDDpSBzeXN0ZW1ldCBlbGxlciBwbGF0c2VuLiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE2NiBncGctaW50ZXJmYWNlLmM6MjM1Ci1tc2dpZCAiY291bGQgbm90IHJ1biBncGcuIgotbXNnc3RyICJrdW5kZSBpbnRlIGvDtnJhIGdwZy4iCisjOiBmZXRjaC1wYWNrLmM6MjEzCittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGbDtnJ2w6RudGFkZSBncnVuZCBsaXN0YSIKIAotIzogZ3BnLWludGVyZmFjZS5jOjE3OAotbXNnaWQgImdwZyBkaWQgbm90IGFjY2VwdCB0aGUgZGF0YSIKLW1zZ3N0ciAiZ3BnIGdvZHRvZyBpbnRlIGRhdGEiCisjOiBmZXRjaC1wYWNrLmM6MjI1Cittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiCittc2dzdHIgImdpdCBmZXRjaC1wYXRjaDogZsO2cnbDpG50YWRlIEFDSy9OQUssIGZpY2sgRU9GIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MTg5CisjOiBmZXRjaC1wYWNrLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgJyVzJyIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGbDtnJ2w6RudGFkZSBBQ0svTkFLLCBmaWNrIFwiJXNcIiIKKworIzogZmV0Y2gtcGFjay5jOjI5NQorbXNnaWQgIi0tc3RhdGVsZXNzLXJwYyByZXF1aXJlcyBtdWx0aV9hY2tfZGV0YWlsZWQiCittc2dzdHIgIi0tc3RhdGVsZXNzLXJwYyBrcsOkdmVyIFwibXVsdGkgYWNrIGRldGFpbGVkXCIiCisKKyM6IGZldGNoLXBhY2suYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaGFsbG93IGxpbmU6ICVzIgorbXNnc3RyICJvZ2lsdGlnIFwic2hhbGxvd1wiLXJhZDogJXMiCisKKyM6IGZldGNoLXBhY2suYzozODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB1bnNoYWxsb3cgbGluZTogJXMiCittc2dzdHIgIm9naWx0aWcgXCJ1bnNoYWxsb3dcIi1yYWQ6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9iamVjdCBub3QgZm91bmQ6ICVzIgorbXNnc3RyICJvYmpla3RldCBoaXR0YWRlcyBpbnRlOiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBpbiBvYmplY3Q6ICVzIgorbXNnc3RyICJmZWwgaSBvYmpla3Q6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6Mzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHNoYWxsb3cgZm91bmQ6ICVzIgorbXNnc3RyICJpbmdlbiBcInNoYWxsb3dcIiBoaXR0YWRlczogJXMiCisKKyM6IGZldGNoLXBhY2suYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0ZWQgc2hhbGxvdy91bnNoYWxsb3csIGdvdCAlcyIKK21zZ3N0ciAiZsO2cnbDpG50YWRlIHNoYWxsb3cvdW5zaGFsbG93LCBmaWNrICVzIgorCisjOiBmZXRjaC1wYWNrLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgImdvdCAlcyAlZCAlcyIKK21zZ3N0ciAiZmljayAlcyAlZCAlcyIKKworIzogZmV0Y2gtcGFjay5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdCAlcyIKK21zZ3N0ciAib2dpbHRpZyBpbmNoZWNrbmluZyAlcyIKKworIzogZmV0Y2gtcGFjay5jOjQ4MworbXNnaWQgImdpdmluZyB1cCIKK21zZ3N0ciAiZ2VyIHVwcCIKKworIzogZmV0Y2gtcGFjay5jOjQ5MyBwcm9ncmVzcy5jOjIzNQorbXNnaWQgImRvbmUiCittc2dzdHIgImtsYXJ0IgorCisjOiBmZXRjaC1wYWNrLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgImdvdCAlcyAoJWQpICVzIgorbXNnc3RyICJmaWNrICVzICglZCkgJXMiCisKKyM6IGZldGNoLXBhY2suYzo1NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFya2luZyAlcyBhcyBjb21wbGV0ZSIKK21zZ3N0ciAiTWFya2VyYXIgJXMgc29tIGtvbXBsZXR0IgorCisjOiBmZXRjaC1wYWNrLmM6Njk3CisjLCBjLWZvcm1hdAorbXNnaWQgImFscmVhZHkgaGF2ZSAlcyAoJXMpIgorbXNnc3RyICJoYXIgcmVkYW4gJXMgKCVzKSIKKworIzogZmV0Y2gtcGFjay5jOjczNQorbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgorbXNnc3RyICJmZXRjaC1wYXRjaDoga3VuZGUgaW50ZSBncmVuYSBhdiBzaWRiYW5kc211bHRpcGxleGFyZSIKKworIzogZmV0Y2gtcGFjay5jOjc0MworbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgcGFjayBoZWFkZXIiCittc2dzdHIgInByb3Rva29sbGZlbDogZmVsYWt0aWd0IHBhY2todXZ1ZCIKKworIzogZmV0Y2gtcGFjay5jOjc5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgJXMiCittc2dzdHIgImZldGNoLXBhdGNoOiBrdW5kZSBpbnRlIGdyZW5hIGF2ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6ODE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgbWlzc2x5Y2thZGVzIgorCisjOiBmZXRjaC1wYWNrLmM6ODE3Cittc2dpZCAiZXJyb3IgaW4gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKK21zZ3N0ciAiZmVsIGkgc2lkYmFuZHMtYXZtdWx0aXBsZXhhcmUiCisKKyM6IGZldGNoLXBhY2suYzo4NDQKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNsaWVudHMiCittc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBpbnRlIGtsaWVudGVyIG1lZCBncnVuZGEgYXJraXYiCisKKyM6IGZldGNoLXBhY2suYzo4NDgKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrX2RldGFpbGVkIgorbXNnc3RyICJTZXJ2ZXJuIHN0w7ZkZXIgXCJtdWx0aV9hY2tfZGV0YWlsZWRcIiIKKworIzogZmV0Y2gtcGFjay5jOjg1MQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIgorbXNnc3RyICJTZXJ2ZXJuIHN0w7ZkZXIgXCJuby1kb25lXCIiCisKKyM6IGZldGNoLXBhY2suYzo4NTcKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgorbXNnc3RyICJTZXJ2ZXJuIHN0w7ZkZXIgXCJtdWx0aV9hY2tcIiIKKworIzogZmV0Y2gtcGFjay5jOjg2MQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQtNjRrIgorbXNnc3RyICJTZXJ2ZXJuIHN0w7ZkZXIgXCJzaWRlLWJhbmQtNjRrXCIiCisKKyM6IGZldGNoLXBhY2suYzo4NjUKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgorbXNnc3RyICJTZXJ2ZXJuIHN0w7ZkZXIgXCJzaWRlLWJhbmRcIiIKKworIzogZmV0Y2gtcGFjay5jOjg2OQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgorbXNnc3RyICJTZXJ2ZXJuIHN0w7ZkZXIgXCJhbGxvdy10aXAtc2hhMS1pbi13YW50XCIiCisKKyM6IGZldGNoLXBhY2suYzo4NzMKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKK21zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIFwiYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudFwiIgorCisjOiBmZXRjaC1wYWNrLmM6ODgzCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKK21zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIFwib2ZzLWRlbHRhXCIiCisKKyM6IGZldGNoLXBhY2suYzo4OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VydmVyIHZlcnNpb24gaXMgJS4qcyIKK21zZ3N0ciAiU2VydmVydmVyc2lvbmVuIMOkciAlLipzIgorCisjOiBmZXRjaC1wYWNrLmM6ODk2Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LXNpbmNlIgorbXNnc3RyICJTZXJ2ZXJuIHN0w7ZkZXIgaW50ZSAtLXNoYWxsb3ctc2luY2UiCisKKyM6IGZldGNoLXBhY2suYzo5MDAKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctZXhjbHVkZSIKK21zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIGludGUgLS1zaGFsbG93LWV4Y2x1ZGUiCisKKyM6IGZldGNoLXBhY2suYzo5MDIKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLWRlZXBlbiIKK21zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIGludGUgLS1kZWVwZW4iCisKKyM6IGZldGNoLXBhY2suYzo5MTMKK21zZ2lkICJubyBjb21tb24gY29tbWl0cyIKK21zZ3N0ciAiaW5nYSBnZW1lbnNhbW1hIGluY2hlY2tuaW5nYXIiCisKKyM6IGZldGNoLXBhY2suYzo5MjUKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhdGNoOiBow6RtdG5pbmcgbWlzc2x5Y2thZGVzLiIKKworIzogZmV0Y2gtcGFjay5jOjEwODcKK21zZ2lkICJubyBtYXRjaGluZyByZW1vdGUgaGVhZCIKK21zZ3N0ciAiaW5nZXQgbW90c3ZhcmFuZGUgZmrDpHJyaHV2dWQiCisKKyM6IGdwZy1pbnRlcmZhY2UuYzoxODUKIG1zZ2lkICJncGcgZmFpbGVkIHRvIHNpZ24gdGhlIGRhdGEiCiBtc2dzdHIgImdwZyBtaXNzbHlja2FkZXMgc2lnbmVyYSBkYXRhIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjIyCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJyVzJyIKLW1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSB0ZW1wb3LDpHJhIGZpbGVuIFwiJXNcIiIKKyM6IGdwZy1pbnRlcmZhY2UuYzoyMTUKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJrdW5kZSBpbnRlIHNrYXBhIHRlbXBvcsOkcmEgZmlsIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjI0CisjOiBncGctaW50ZXJmYWNlLmM6MjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgc2tyaXZhIGZyaXN0w6VlbmRlIHNpZ25hdHVyIHRpbGwgXCIlc1wiIgogCi0jOiBncmVwLmM6MTcxOAorIzogZ3JlcC5jOjE3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIlwiJXNcIiBrdW5kZSBpbnRlIGzDpHNhICVzIgogCi0jOiBncmVwLmM6MTczNSBidWlsdGluL2Nsb25lLmM6MzgyIGJ1aWx0aW4vZGlmZi5jOjg0IGJ1aWx0aW4vcm0uYzoxNTUKKyM6IGdyZXAuYzoxNzk5IGJ1aWx0aW4vY2xvbmUuYzozODEgYnVpbHRpbi9kaWZmLmM6ODQgYnVpbHRpbi9ybS5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgc3RhdHVzIHDDpSBcIiVzXCIiCiAKLSM6IGdyZXAuYzoxNzQ2CisjOiBncmVwLmM6MTgxMAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkIgogbXNnc3RyICJcIiVzXCI6IGtvcnQgbMOkc25pbmciCiAKLSM6IGhlbHAuYzoyMDUKKyM6IGhlbHAuYzoyMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgogbXNnc3RyICJnaXQta29tbWFuZG9uIHRpbGxnw6RuZ2xpZ2EgaSBcIiVzXCIiCiAKLSM6IGhlbHAuYzoyMTIKKyM6IGhlbHAuYzoyMTAKIG1zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCiBtc2dzdHIgImdpdC1rb21tYW5kb24gZnLDpW4gYW5kcmEgcGxhdHNlciBpIGRpbiAkUEFUSCIKIAotIzogaGVscC5jOjI0NAorIzogaGVscC5jOjI0MQogbXNnaWQgIlRoZXNlIGFyZSBjb21tb24gR2l0IGNvbW1hbmRzIHVzZWQgaW4gdmFyaW91cyBzaXR1YXRpb25zOiIKIG1zZ3N0ciAiRGVzc2EgdmFubGlnYSBHaXQta29tbWFuZG9uIGFudsOkbmRzIGkgb2xpa2Egc2l0dWF0aW9uZXI6IgogCi0jOiBoZWxwLmM6MzA5CisjOiBoZWxwLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnIGFwcGVhcnMgdG8gYmUgYSBnaXQgY29tbWFuZCwgYnV0IHdlIHdlcmUgbm90XG4iCkBAIC02NDcsMTEgKzE3ODUsMTEgQEAKICJcIiVzXCIgdmVya2FyIHZhcmEgZXR0IGdpdC1rb21tYW5kbywgbWVuIHZpIGthbiBpbnRlXG4iCiAia8O2cmEgZGV0LiBLYW5za2UgZ2l0LSVzIMOkciB0cmFzaWd0PyIKIAotIzogaGVscC5jOjM2NgorIzogaGVscC5jOjM2MQogbXNnaWQgIlVoIG9oLiBZb3VyIHN5c3RlbSByZXBvcnRzIG5vIEdpdCBjb21tYW5kcyBhdCBhbGwuIgogbXNnc3RyICJPaiBkw6UuIERpdHQgc3lzdGVtIHJhcHBvcnRlcmFyIGluZ2EgR2l0LWtvbW1hbmRvbiBhbGxzLiIKIAotIzogaGVscC5jOjM4OAorIzogaGVscC5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LlxuIgpAQCAtNjYwLDE3ICsxNzk4LDE3IEBACiAiVkFSTklORzogRHUgYW5yb3BhZGUgZXR0IEdpdC1rb21tYW5kbyB2aWQgbmFtbiBcIiVzXCIsIHNvbSBpbnRlIGZpbm5zLlxuIgogIkZvcnRzw6R0dGVyIHVuZGVyIGbDtnJ1dHPDpHR0bmluZ2VuIGF0dCBkdSBtZW5hZGUgXCIlc1wiIgogCi0jOiBoZWxwLmM6MzkzCisjOiBoZWxwLmM6Mzg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluICUwLjFmIHNlY29uZHMgYXV0b21hdGljYWxseS4uLiIKIG1zZ3N0ciAiYXV0b21hdGlza3Qgb20gJTAuMWYgc2VrdW5kZXIuLi4iCiAKLSM6IGhlbHAuYzo0MDAKKyM6IGhlbHAuYzozOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0OiAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kLiBTZWUgJ2dpdCAtLWhlbHAnLiIKIG1zZ3N0ciAiZ2l0OiBcIiVzXCIgw6RyIGludGUgZXR0IGdpdC1rb21tYW5kby4gU2UgXCJnaXQgLS1oZWxwXCIuIgogCi0jOiBoZWxwLmM6NDA0IGhlbHAuYzo0NjQKKyM6IGhlbHAuYzozOTkgaGVscC5jOjQ2NQogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC02ODQsMTEgKzE4MjIsMzcgQEAKICJcbiIKICJNZW5hZGUgZHUgZXR0IGF2IGRlc3NhPyIKIAotIzogaGVscC5jOjQ2MAorIzogaGVscC5jOjQ2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgLSAlcyIKIG1zZ3N0ciAiJXM6ICVzIC0gJXMiCiAKKyM6IGlkZW50LmM6MzM0Cittc2dpZCAiIgorIlxuIgorIioqKiBQbGVhc2UgdGVsbCBtZSB3aG8geW91IGFyZS5cbiIKKyJcbiIKKyJSdW5cbiIKKyJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCBcInlvdUBleGFtcGxlLmNvbVwiXG4iCisiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSBcIllvdXIgTmFtZVwiXG4iCisiXG4iCisidG8gc2V0IHlvdXIgYWNjb3VudCdzIGRlZmF1bHQgaWRlbnRpdHkuXG4iCisiT21pdCAtLWdsb2JhbCB0byBzZXQgdGhlIGlkZW50aXR5IG9ubHkgaW4gdGhpcyByZXBvc2l0b3J5LlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqIFbDpG5saWdlbiBiZXLDpHR0YSB2ZW0gZHUgw6RyLlxuIgorIlxuIgorIkvDtnJcbiIKKyJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCBcImR1QGV4YW1wbGUuY29tXCJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiRGl0dCBOYW1uXCJcbiIKKyJcbiIKKyJmw7ZyIGF0dCBzdMOkbGxhIGluIGRpdHQga29udG9zIHN0YW5kYXJkaWRlbnRpdGV0LlxuIgorIkvDtnIgdXRhbiAtLWdsb2JhbCBmw7ZyIGF0dCBlbmRhc3Qgw6RuZHJhIGkgYWt0dWVsbHQgYXJraXYuXG4iCisiXG4iCisKICM6IGxvY2tmaWxlLmM6MTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTcxOCw4MyArMTg4Miw3OCBAQAogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBjYWNoZSIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGzDpHNhIGNhY2hlbiIKIAotIzogbWVyZ2UuYzo5NCBidWlsdGluL2FtLmM6MjAwNyBidWlsdGluL2FtLmM6MjA0MiBidWlsdGluL2NoZWNrb3V0LmM6Mzc1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTg2IGJ1aWx0aW4vY2xvbmUuYzo3MzIKKyM6IG1lcmdlLmM6OTYgYnVpbHRpbi9hbS5jOjIwMDAgYnVpbHRpbi9hbS5jOjIwMzUgYnVpbHRpbi9jaGVja291dC5jOjM3NAorIzogYnVpbHRpbi9jaGVja291dC5jOjU4OCBidWlsdGluL2Nsb25lLmM6NzMxCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSBueSBpbmRleGZpbCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg5Ci0jLCBjLWZvcm1hdAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA5CiBtc2dpZCAiKGJhZCBjb21taXQpXG4iCiBtc2dzdHIgIihmZWxha3RpZyBpbmNoZWNrbmluZylcbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkaW5mb19jYWNoZSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiYWRkaW5mb19jYWNoZSBtaXNzbHlja2FkZXMgZsO2ciBzw7ZrdsOkZ2VuIFwiJXNcIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDEKIG1zZ2lkICJlcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiZmVsIHZpZCBieWdnYW5kZSBhdiB0csOkZCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6Njg5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwYXRoICclcyclcyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHNrYXBhIHPDtmt2w6RnZW4gXCIlc1wiJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcwMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCiBtc2dzdHIgIlRhciBib3J0ICVzIGbDtnIgYXR0IGfDtnJhIHBsYXRzIGbDtnIgdW5kZXJrYXRhbG9nXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcxNCBtZXJnZS1yZWN1cnNpdmUuYzo3MzUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc0NSBtZXJnZS1yZWN1cnNpdmUuYzo3NjQKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgogbXNnc3RyICI6IGthbnNrZSBlbiBLL0Yta29uZmxpa3Q/IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3MjUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciCiBtc2dzdHIgInbDpGdyYXIgZsO2cmxvcmEgb3Nww6VyYWQgZmlsIHZpZCBcIiVzXCIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzk2IGJ1aWx0aW4vY2F0LWZpbGUuYzozNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMgJyVzJyIKIG1zZ3N0ciAia2FuIGludGUgbMOkc2Egb2JqZWt0ZXQgJXM6IFwiJXNcIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzY3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKIG1zZ3N0ciAiYmxvYiBmw7ZydsOkbnRhZGVzIGbDtnIgJXMgXCIlc1wiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3OTAgYnVpbHRpbi9jbG9uZS5jOjM3NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODIyCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCi1tc2dzdHIgIm1pc3NseWNrYWRlcyDDtnBwbmEgXCIlc1wiIgorbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyc6ICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgw7ZwcG5hIFwiJXNcIjogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODMzCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyciCi1tc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSBzeW1ib2xpc2thIGzDpG5rZW4gXCIlc1wiIgorbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyc6ICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgc2thcGEgc3ltYm9saXNrYSBsw6Rua2VuIFwiJXNcIjogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCiBtc2dzdHIgInZldCBpbnRlIGh1ciAlMDZvICVzIFwiJXNcIiBza2FsbCBoYW50ZXJhcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTM5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5NzgKIG1zZ2lkICJGYWlsZWQgdG8gZXhlY3V0ZSBpbnRlcm5hbCBtZXJnZSIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIGV4ZWt2ZXJhIGludGVybiBzYW1tYW5zbGFnbmluZyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTQzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBsw6RnZ2EgdGlsbCAlcyB0aWxsIGRhdGFiYXNlbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTU5Ci1tc2dpZCAidW5zdXBwb3J0ZWQgb2JqZWN0IHR5cGUgaW4gdGhlIHRyZWUiCi1tc2dzdHIgIm9iamVrdHR5cCBzb20gZWogc3TDtmRzIHVwcHTDpGNrdGVzIGkgdHLDpGRldCIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAzNCBtZXJnZS1yZWN1cnNpdmUuYzoxMDQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgxIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTgwMyw3ICsxOTYyLDcgQEAKICJLT05GTElLVCAoJXMvcmFkZXJhKTogJXMgcmFkZXJhZCBpICVzIG9jaCAlcyBpICVzLiBWZXJzaW9uZW4gJXMgYXYgJXMgbMOkbW5hZCAiCiAiaSB0csOkZGV0LiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA0MCBtZXJnZS1yZWN1cnNpdmUuYzoxMDUzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDg3IG1lcmdlLXJlY3Vyc2l2ZS5jOjExMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTgxMiwyMCArMTk3MSwyMCBAQAogIktPTkZMSUtUICglcy9yYWRlcmEpOiAlcyByYWRlcmFkIGkgJXMgb2NoICVzIGkgJXMuIFZlcnNpb25lbiAlcyBhdiAlcyBsw6RtbmFkICIKICJpIHRyw6RkZXQgdmlkICVzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0MwogbXNnaWQgInJlbmFtZSIKIG1zZ3N0ciAibmFtbmJ5dGUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNDMKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICJuYW1uYnl0dCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhIGRpcmVjdG9yeSBpbiAlcyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiJXMgw6RyIGVuIGthdGFsb2cgaSAlcyBsw6RnZ2VyIHRpbGwgc29tICVzIGlzdMOkbGxldCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE3MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgXCIlc1wiLT5cIiVzXCIgaW4gYnJhbmNoIFwiJXNcIiByZW5hbWUgXCIlcyIKQEAgLTgzNCwxNDcgKzE5OTMsMTU1IEBACiAiS09ORkxJS1QgKG5hbW5ieXRlL25hbW5ieXRlKTogTmFtbmJ5dGUgXCIlc1wiLT5cIiVzXCIgcMOlIGdyZW5lbiBcIiVzXCIgIgogIm5hbW5ieXRlIFwiJXNcIi0+XCIlc1wiIGkgXCIlc1wiJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzAKIG1zZ2lkICIgKGxlZnQgdW5yZXNvbHZlZCkiCiBtc2dzdHIgIiAobMOkbW5hZCBvbMO2c3QpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjMxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAiIgogIktPTkZMSUtUIChuYW1uYnl0ZS9uYW1uYnl0ZSk6IE5hbW5ieXRlICVzLT4lcyBpICVzLiBOYW1uYnl0ZSAlcy0+JXMgaSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI2MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKIG1zZ3N0ciAiQnl0ZXIgbmFtbiBww6UgJXMgdGlsbCAlcyBvY2ggJXMgdGlsbCAlcyBpc3TDpGxsZXQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NjAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAlcyBhZGRlZCBpbiAlcyIKIG1zZ3N0ciAiS09ORkxJS1QgKG5hbW5ieXRlL3RpbGzDpGdnKTogTmFtbmJ5dGUgJXMtPiVzIGkgJXMuICVzIHRpbGxhZ2QgaSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ3MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgbWVyZ2VkICVzIgogbXNnc3RyICJMw6RnZ2VyIHRpbGwgc2FtbWFuc2xhZ2VuICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDc1IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTMgbWVyZ2UtcmVjdXJzaXZlLmM6MTc2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiTMOkZ2dlciB0aWxsIHNvbSAlcyBpc3TDpGxsZXQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MjYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBvYmpla3RldCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUyOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgaXMgbm90IGEgYmxvYiIKIG1zZ3N0ciAib2JqZWt0ZXQgJXMgw6RyIGludGUgZW4gYmxvYiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU4MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY2NgogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAiw6RuZHJhIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjY2CiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgIsOkbmRyYWQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1OTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzYKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICJpbm5laMOlbGwiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1OTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODMKIG1zZ2lkICJhZGQvYWRkIgogbXNnc3RyICJ0aWxsw6RnZy90aWxsw6RnZyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkICVzIChtZXJnZWQgc2FtZSBhcyBleGlzdGluZykiCiBtc2dzdHIgIkhvcHBhZGUgw7Z2ZXIgJXMgKHNhbW1hbnNsYWdlbiBzYW1tYSBzb20gYmVmaW50bGlnKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY0NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczMgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgIlNsw6VyIGlob3AgJXMgYXV0b21hdGlza3QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NTAgZ2l0LXN1Ym1vZHVsZS5zaDo5NDEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzYgZ2l0LXN1Ym1vZHVsZS5zaDo5MjQKIG1zZ2lkICJzdWJtb2R1bGUiCiBtc2dzdHIgInVuZGVybW9kdWwiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCiBtc2dzdHIgIktPTkZMSUtUICglcyk6IFNhbW1hbnNsYWduaW5nc2tvbmZsaWt0IGkgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMiCiBtc2dzdHIgIlRhciBib3J0ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzYyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODU3CiBtc2dpZCAiZmlsZS9kaXJlY3RvcnkiCiBtc2dzdHIgImZpbC9rYXRhbG9nIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzY4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODYzCiBtc2dpZCAiZGlyZWN0b3J5L2ZpbGUiCiBtc2dzdHIgImthdGFsb2cvZmlsIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzczCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICIiCiAiS09ORkxJS1QgKCVzKTogRGV0IGZpbm5zIGVuIGthdGFsb2cgbWVkIG5hbW5ldCAlcyBpICVzLiBMw6RnZ2VyIHRpbGwgJXMgc29tICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyAlcyIKIG1zZ3N0ciAiTMOkZ2dlciB0aWxsICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzk4Ci1tc2dpZCAiRmF0YWwgbWVyZ2UgZmFpbHVyZSwgc2hvdWxkbid0IGhhcHBlbi4iCi1tc2dzdHIgIsOWZGVzZGlnZXJ0IHNhbW1hbnNsYWduaW5nc2ZlbCwgYm9yZGUgaW50ZSBpbnRyw6RmZmEuIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTE0CiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlISIKIG1zZ3N0ciAiUmVkYW4gw6Agam91ciEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MjYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIgogbXNnc3RyICJzYW1tYW5zbGFnbmluZyBhdiB0csOkZGVuICVzIG9jaCAlcyBtaXNzbHlja2FkZXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5wcm9jZXNzZWQgcGF0aD8/PyAlcyIKLW1zZ3N0ciAiT2JlaGFuZGxhZCBzw7ZrdsOkZz8/PyAlcyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkwNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAwNgogbXNnaWQgIk1lcmdpbmc6IgogbXNnc3RyICJTbMOlciBpaG9wOiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkxNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IgogbXNnaWRfcGx1cmFsICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3JzOiIKIG1zZ3N0clswXSAiaGl0dGFkZSAldSBnZW1lbnNhbSBmw7ZyZmFkZXI6IgogbXNnc3RyWzFdICJoaXR0YWRlICV1IGdlbWVuc2FtbWEgZsO2cmbDpGRlcjoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwNTgKIG1zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCiBtc2dzdHIgInNhbW1hbnNsYWduaW5nZW4gcmV0dXJuZXJhZGUgaW5nZW4gaW5jaGVja25pbmciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICJLdW5kZSBpbnRlIHRvbGthIG9iamVrdGV0IFwiJXNcIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAyMiBidWlsdGluL21lcmdlLmM6NjQ5IGJ1aWx0aW4vbWVyZ2UuYzo4MzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMzUgYnVpbHRpbi9tZXJnZS5jOjY0MSBidWlsdGluL21lcmdlLmM6Nzg4CiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGluZGV4LiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBza3JpdmEgaW5kZXhldC4iCiAKKyM6IG5vdGVzLW1lcmdlLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG4iCisiUGxlYXNlLCB1c2UgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcgb3IgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyB0byAiCisiY29tbWl0L2Fib3J0IHRoZSBwcmV2aW91cyBtZXJnZSBiZWZvcmUgeW91IHN0YXJ0IGEgbmV3IG5vdGVzIG1lcmdlLiIKK21zZ3N0ciAiIgorIkR1IGhhciBpbnRlIGF2c2x1dGF0IGbDtnJlZ8OlZW5kZSBhbnRlY2tuaW5ncy1zYW1tYW5zbGFnbmluZyAoJXMgZmlubnMpLlxuIgorIkFudsOkbmQgXCJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXRcIiBlbGxlciBcImdpdCBub3RlcyBtZXJnZSAtLWFib3J0XCIgZsO2ciAiCisiYXR0IGNoZWNrYSBpbiBlbGxlciBhdmJyeXRhIGbDtnJlZ8OlZW5kZSBzYW1tYW5zbGFnbmluZyBpbm5hbiBkdSBww6Viw7ZyamFyIGVuICIKKyJueSBhbnRlY2tuaW5ncy1zYW1tYW5zbGFnbmluZy4iCisKKyM6IG5vdGVzLW1lcmdlLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBub3RlcyBtZXJnZSAoJXMgZXhpc3RzKS4iCittc2dzdHIgIkR1IGhhciBpbnRlIGF2c2x1dGF0IGFudGVja25pbmdzLXNhbW1hbnNsYWduaW5nZW4gKCVzIGZpbm5zKS4iCisKICM6IG5vdGVzLXV0aWxzLmM6NDEKIG1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCiBtc2dzdHIgIkthbiBpbnRlIGNoZWNrYSBpbiBvaW5pdGllcmF0L29yZWZlcmVyYXQgYW50ZWNrbmluZ3N0csOkZCIKQEAgLTEwMzEsNyArMjE5OCw3IEBACiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCiBtc2dzdHIgImZlbGZvcm1hdCBvYmpla3RuYW1uIFwiJXNcIiIKIAotIzogcGF0aC5jOjc5NgorIzogcGF0aC5jOjgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWFrZSAlcyB3cml0YWJsZSBieSBncm91cCIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBnw7ZyYSAlcyBza3JpdmJhciBmw7ZyIGdydXBwZW4iCkBAIC0xMDg4LDEyICsyMjU1LDIwIEBACiBtc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKIG1zZ3N0ciAiJXM6IHPDtmt2w6Rnc3V0dHJ5Y2tldCBoYW50ZXJhcyBpbnRlIGF2IGRldCBow6RyIGtvbW1hbmRvdDogJXMiCiAKLSM6IHBhdGhzcGVjLmM6NDMzCisjOiBwYXRoc3BlYy5jOjQwOAorbXNnaWQgIiIKKyJlbXB0eSBzdHJpbmdzIGFzIHBhdGhzcGVjcyB3aWxsIGJlIG1hZGUgaW52YWxpZCBpbiB1cGNvbWluZyByZWxlYXNlcy4gcGxlYXNlICIKKyJ1c2UgLiBpbnN0ZWFkIGlmIHlvdSBtZWFudCB0byBtYXRjaCBhbGwgcGF0aHMiCittc2dzdHIgIiIKKyJ0b21tYSBzdHLDpG5nYXIgc29tIHPDtmt2w6Rnc2FuZ2l2ZWxzZXIga29tbWVyIGJsaSBvZ2lsdGlnYSBpIGVuIGtvbW1hbmRlICIKKyJ1dGfDpXZhLiBhbnbDpG5kIGlzdMOkbGxldCAuIG9tIGR1IHZpbGwgdHLDpGZmYSBhbGxhIHPDtmt2w6RnYXIiCisKKyM6IHBhdGhzcGVjLmM6NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAic8O2a3bDpGdzYW5naXZlbHNlbiBcIiVzXCIgw6RyIHDDpSBhbmRyYSBzaWRhbiBhdiBlbiBzeW1ib2xpc2sgbMOkbmsiCiAKLSM6IHBhdGhzcGVjLmM6NDQyCisjOiBwYXRoc3BlYy5jOjQ0OQogbXNnaWQgIiIKICJUaGVyZSBpcyBub3RoaW5nIHRvIGV4Y2x1ZGUgZnJvbSBieSA6KGV4Y2x1ZGUpIHBhdHRlcm5zLlxuIgogIlBlcmhhcHMgeW91IGZvcmdvdCB0byBhZGQgZWl0aGVyICc6Lycgb3IgJy4nID8iCkBAIC0xMTA1LDExICsyMjgwLDcgQEAKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgLS1wcmV0dHkgZm9ybWF0IgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGZvcm1hdCBmw7ZyIC0tcHJldHR5IgogCi0jOiBwcm9ncmVzcy5jOjIzNQotbXNnaWQgImRvbmUiCi1tc2dzdHIgImtsYXJ0IgotCi0jOiByZWFkLWNhY2hlLmM6MTI4MQorIzogcmVhZC1jYWNoZS5jOjEzMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImluZGV4LnZlcnNpb24gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0xMTE4LDcgKzIyODksNyBAQAogImluZGV4LnZlcnNpb24gc2F0dCwgbWVuIHbDpHJkZXQgw6RyIG9naWx0aWd0LlxuIgogIkFudsOkbmRlciB2ZXJzaW9uICVpIgogCi0jOiByZWFkLWNhY2hlLmM6MTI5MQorIzogcmVhZC1jYWNoZS5jOjEzMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkdJVF9JTkRFWF9WRVJTSU9OIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMTEyNywyMyArMjI5OCwyMiBAQAogIkdJVF9JTkRFWF9WRVJTSU9OIHNhdHQsIG1lbiB2w6RyZGV0IMOkciBvZ2lsdGlndC5cbiIKICJBbnbDpG5kZXIgdmVyc2lvbiAlaSIKIAotIzogcmVmcy5jOjU0MyBidWlsdGluL21lcmdlLmM6NzY0IGJ1aWx0aW4vbWVyZ2UuYzo4ODMgYnVpbHRpbi9tZXJnZS5jOjk4NQotIzogYnVpbHRpbi9tZXJnZS5jOjk5NQorIzogcmVmcy5jOjU3NiBidWlsdGluL21lcmdlLmM6ODQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIkt1bmRlIGludGUgw7ZwcG5hIFwiJXNcIiBmw7ZyIHNrcml2bmluZyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjI0MworIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZSAlczogJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdGEgYm9ydCByZWZlcmVuc2VuICVzOiAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjI0NgorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZXM6ICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHRhIGJvcnQgcmVmZXJlbnNlcjogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjIyNTUKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdGEgYm9ydCByZWZlcmVuc2VuICVzIgpAQCAtMTI3MiwxMiArMjQ0MiwxMiBAQAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgImlnbm9yZXJhciB0cmFzaWcgcmVmZXJlbnMgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjUxCisjOiByZWYtZmlsdGVyLmM6MTYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICJmb3JtYXQ6IGF0b21lbiAlJShlbmQpIHNha25hcyIKIAotIzogcmVmLWZpbHRlci5jOjE3MDUKKyM6IHJlZi1maWx0ZXIuYzoxNjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAiZmVsZm9ybWF0IG9iamVrdG5hbW4gJXMiCkBAIC0xMzAxLDc0ICsyNDcxLDc0IEBACiBtc2dpZCAiSW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgIkludGVybnQgZmVsIgogCi0jOiByZW1vdGUuYzoxNjc4IHJlbW90ZS5jOjE3MjEKKyM6IHJlbW90ZS5jOjE2NzcgcmVtb3RlLmM6MTcyMAogbXNnaWQgIkhFQUQgZG9lcyBub3QgcG9pbnQgdG8gYSBicmFuY2giCiBtc2dzdHIgIkhFQUQgcGVrYXIgaW50ZSBww6UgZW4gZ3JlbiIKIAotIzogcmVtb3RlLmM6MTY4NworIzogcmVtb3RlLmM6MTY4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaDogJyVzJyIKIG1zZ3N0ciAib2vDpG5kIGdyZW46IFwiJXNcIiIKIAotIzogcmVtb3RlLmM6MTY5MAorIzogcmVtb3RlLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiaW5nZW4gc3RhbmRhcmR1cHBzdHLDtm0gYW5naXZlbiBmw7ZyIGdyZW5lbiBcIiVzXCIiCiAKLSM6IHJlbW90ZS5jOjE2OTYKKyM6IHJlbW90ZS5jOjE2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidXBzdHJlYW0gYnJhbmNoICclcycgbm90IHN0b3JlZCBhcyBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgInVwcHN0csO2bXNncmVuZW4gXCIlc1wiIMOkciBpbnRlIGxhZ3JhZCBzb20gZW4gZmrDpHJyc3DDpXJhbmRlIGdyZW4iCiAKLSM6IHJlbW90ZS5jOjE3MTEKKyM6IHJlbW90ZS5jOjE3MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCBkZXN0aW5hdGlvbiAnJXMnIG9uIHJlbW90ZSAnJXMnIGhhcyBubyBsb2NhbCB0cmFja2luZyBicmFuY2giCiBtc2dzdHIgInB1c2gtbcOlbGV0IFwiJXNcIiBww6UgZmrDpHJyZW4gXCIlc1wiIGhhciBpbmdlbiBsb2thbHQgc3DDpXJhbmRlIGdyZW4iCiAKLSM6IHJlbW90ZS5jOjE3MjYKKyM6IHJlbW90ZS5jOjE3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAiZ3JlbmVuIFwiJXNcIiBoYXIgaW5nZW4gZmrDpHJyIGbDtnIgXCJwdXNoXCIiCiAKLSM6IHJlbW90ZS5jOjE3MzcKKyM6IHJlbW90ZS5jOjE3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICJcInB1c2hcIi1yZWZlcmVuc3NwZWNpZmlrYXRpb24gZsO2ciBcIiVzXCIgaW5uZWjDpWxsZXIgaW50ZSBcIiVzXCIiCiAKLSM6IHJlbW90ZS5jOjE3NTAKKyM6IHJlbW90ZS5jOjE3NDkKIG1zZ2lkICJwdXNoIGhhcyBubyBkZXN0aW5hdGlvbiAocHVzaC5kZWZhdWx0IGlzICdub3RoaW5nJykiCiBtc2dzdHIgIlwicHVzaFwiIGhhciBpbmdldCBtw6VsIChwdXNoLmRlZmF1bHQgw6RyIFwiaW5nZW50aW5nXCIpIgogCi0jOiByZW1vdGUuYzoxNzcyCisjOiByZW1vdGUuYzoxNzcxCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgJ3NpbXBsZScgcHVzaCB0byBhIHNpbmdsZSBkZXN0aW5hdGlvbiIKIG1zZ3N0ciAiXCJlbmtlbCBwdXNoXCIgbW90c3ZhcmFyIGZsZXJhIG9saWthIG3DpWwiCiAKLSM6IHJlbW90ZS5jOjIwNzQKKyM6IHJlbW90ZS5jOjIwNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgogbXNnc3RyICJEaW4gZ3JlbiDDpHIgYmFzZXJhZCBww6UgXCIlc1wiLCBtZW4gZGVuIGhhciBmw7Zyc3Z1bm5pdCB1cHBzdHLDtm1zLlxuIgogCi0jOiByZW1vdGUuYzoyMDc4CisjOiByZW1vdGUuYzoyMDc3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgdG8gZml4dXApXG4iCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiBmw7ZyIGF0dCByw6R0dGEpXG4iCiAKLSM6IHJlbW90ZS5jOjIwODEKKyM6IHJlbW90ZS5jOjIwODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgdXAtdG8tZGF0ZSB3aXRoICclcycuXG4iCiBtc2dzdHIgIkRpbiBncmVuIMOkciDDoCBqb3VyIG1lZCBcIiVzXCIuXG4iCiAKLSM6IHJlbW90ZS5jOjIwODUKKyM6IHJlbW90ZS5jOjIwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKIG1zZ3N0clswXSAiRGluIGdyZW4gbGlnZ2VyIGbDtnJlIFwiJXNcIiBtZWQgJWQgaW5jaGVja25pbmcuXG4iCiBtc2dzdHJbMV0gIkRpbiBncmVuIGxpZ2dlciBmw7ZyZSBcIiVzXCIgbWVkICVkIGluY2hlY2tuaW5nYXIuXG4iCiAKLSM6IHJlbW90ZS5jOjIwOTEKKyM6IHJlbW90ZS5jOjIwOTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHB1c2hcIiBmw7ZyIGF0dCBwdWJsaWNlcmEgZGluYSBsb2thbGEgaW5jaGVja25pbmdhcilcbiIKIAotIzogcmVtb3RlLmM6MjA5NAorIzogcmVtb3RlLmM6MjA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXQsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCiBtc2dpZF9wbHVyYWwgIiIKQEAgLTEzNzgsMTEgKzI1NDgsMTEgQEAKIG1zZ3N0clsxXSAiIgogIkRpbiBncmVuIGxpZ2dlciBlZnRlciBcIiVzXCIgbWVkICVkIGluY2hlY2tuaW5nYXIsIG9jaCBrYW4gc25hYmJzcG9sYXMuXG4iCiAKLSM6IHJlbW90ZS5jOjIxMDIKKyM6IHJlbW90ZS5jOjIxMDEKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIHVwZGF0ZSB5b3VyIGxvY2FsIGJyYW5jaClcbiIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBwdWxsXCIgZsO2ciBhdHQgdXBwZGF0ZXJhIGRpbiBsb2thbGEgZ3JlbilcbiIKIAotIzogcmVtb3RlLmM6MjEwNQorIzogcmVtb3RlLmM6MjEwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTEzOTcsNDEgKzI1NjcsNDEgQEAKICJEaW4gZ3JlbiBvY2ggXCIlc1wiIGhhciBkaXZlcmdlcmF0LFxuIgogIm9jaCBoYXIgJWQgcmVzcGVrdGl2ZSAlZCBvbGlrYSBpbmNoZWNrbmluZ2FyLlxuIgogCi0jOiByZW1vdGUuYzoyMTE1CisjOiByZW1vdGUuYzoyMTE0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHB1bGxcIiBmw7ZyIGF0dCBzbMOlIGlob3AgZmrDpHJyZ3JlbmVuIG1lZCBkaW4gZWdlbilcbiIKIAotIzogcmV2aXNpb24uYzoyMTQyCisjOiByZXZpc2lvbi5jOjIxNTgKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoIGFwcGVhcnMgdG8gYmUgYnJva2VuIgogbXNnc3RyICJkaW4gbnV2YXJhbmRlIGdyZW4gdmVya2FyIHZhcmEgdHJhc2lnIgogCi0jOiByZXZpc2lvbi5jOjIxNDUKKyM6IHJldmlzaW9uLmM6MjE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWl0cyB5ZXQiCiBtc2dzdHIgImRpbiBudXZhcmFuZGUgZ3JlbiBcIiVzXCIgaW5uZWjDpWxsZXIgw6RubnUgaW50ZSBuw6VncmEgaW5jaGVja25pbmdhciIKIAotIzogcmV2aXNpb24uYzoyMzM5CisjOiByZXZpc2lvbi5jOjIzNTUKIG1zZ2lkICItLWZpcnN0LXBhcmVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWJpc2VjdCIKIG1zZ3N0ciAiLS1maXJzdC1wYXJlbnQgw6RyIGlua29tcGF0aWJlbHQgbWVkIC0tYmlzZWN0IgogCi0jOiBydW4tY29tbWFuZC5jOjkyCisjOiBydW4tY29tbWFuZC5jOjEwNgogbXNnaWQgIm9wZW4gL2Rldi9udWxsIGZhaWxlZCIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIMO2cHBuYSAvZGV2L251bGwiCiAKLSM6IHJ1bi1jb21tYW5kLmM6OTQKKyM6IHJ1bi1jb21tYW5kLmM6MTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKIG1zZ3N0ciAiZHVwMiglZCwlZCkgbWlzc2x5Y2thZGVzIgogCi0jOiBzZW5kLXBhY2suYzoyOTUKKyM6IHNlbmQtcGFjay5jOjI5NwogbXNnaWQgImZhaWxlZCB0byBzaWduIHRoZSBwdXNoIGNlcnRpZmljYXRlIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdW5kZXJ0ZWNrbmEgcHVzaC1jZXJ0aWZpa2F0ZXQiCiAKLSM6IHNlbmQtcGFjay5jOjQwNAorIzogc2VuZC1wYWNrLmM6NDEwCiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZCBwdXNoIgogbXNnc3RyICJtb3R0YWdhcnNpZGFuIHN0w7ZkZXIgaW50ZSBwdXNoIG1lZCAtLXNpZ25lZCIKIAotIzogc2VuZC1wYWNrLmM6NDA2CisjOiBzZW5kLXBhY2suYzo0MTIKIG1zZ2lkICIiCiAibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCiAic2lnbmVkIHB1c2giCkBAIC0xNDM5LDExICsyNjA5LDIzIEBACiAic8OkbmRlciBpbnRlIHB1c2gtY2VydGlmaWthdCBlZnRlcnNvbSBtb3R0YWdhcnNpZGFuIGludGUgc3RsZGVyIHB1c2ggbWVkIC0tIgogInNpZ25lZCIKIAotIzogc2VuZC1wYWNrLmM6NDE4CisjOiBzZW5kLXBhY2suYzo0MjQKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgIm1vdHRhZ2Fyc2lkYW4gc3TDtmRlciBpbnRlIHB1c2ggbWVkIC0tYXRvbWljIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzQKKyM6IHNlbmQtcGFjay5jOjQyOQorbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgorbXNnc3RyICJtb3R0YWdhcnNpZGFuIHN0w7ZkZXIgaW50ZSBwdXNoLWZsYWdnb3IiCisKKyM6IHNlcXVlbmNlci5jOjE3MQorbXNnaWQgInJldmVydCIKK21zZ3N0ciAicmV2ZXJ0IgorCisjOiBzZXF1ZW5jZXIuYzoxNzEKK21zZ2lkICJjaGVycnktcGljayIKK21zZ3N0ciAiY2hlcnJ5LXBpY2siCisKKyM6IHNlcXVlbmNlci5jOjIyOAogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgpAQCAtMTQ1MSw3ICsyNjMzLDcgQEAKICJlZnRlciBhdHQgaGEgbMO2c3Qga29uZmxpa3Rlcm5hLCBtYXJrZXJhIGRlIHLDpHR0YWRlIHPDtmt2w6RnYXJuYVxuIgogIm1lZCBcImdpdCBhZGQgPHPDtmt2w6RnYXI+XCIgZWxsZXIgXCJnaXQgcm0gPHPDtmt2w6RnYXI+XCIiCiAKLSM6IHNlcXVlbmNlci5jOjE3NworIzogc2VxdWVuY2VyLmM6MjMxCiBtc2dpZCAiIgogImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKICJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPidcbiIKQEAgLTE0NjEsMjI3ICsyNjQzLDI4OSBAQAogIm1lZCBcImdpdCBhZGQgPHPDtmt2w6RnYXI+XCIgZWxsZXIgXCJnaXQgcm0gPHPDtmt2w6RnYXI+XCJcbiIKICJvY2ggY2hlY2thIGluIHJlc3VsdGF0ZXQgbWVkIFwiZ2l0IGNvbW1pdFwiIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTAgc2VxdWVuY2VyLmM6ODMzIHNlcXVlbmNlci5jOjkxMgorIzogc2VxdWVuY2VyLmM6MjQ0IHNlcXVlbmNlci5jOjEyMDkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgotbXNnc3RyICJLdW5kZSBpbnRlIHNrcml2YSB0aWxsICVzIgorbXNnaWQgImNvdWxkIG5vdCBsb2NrICclcyciCittc2dzdHIgImt1bmRlIGludGUgbMOlc2EgXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTMKKyM6IHNlcXVlbmNlci5jOjI0NyBzZXF1ZW5jZXIuYzoxMTI1IHNlcXVlbmNlci5jOjEyMTQKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRXJyb3Igd3JhcHBpbmcgdXAgJXMiCi1tc2dzdHIgIkZlbCB2aWQgb21icnl0bmluZyBhdiAlcyIKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKK21zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgdGlsbCBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjIwOAotbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVycnktcGljay4iCi1tc2dzdHIgIkRpbmEgbG9rYWxhIMOkbmRyaW5nYXIgc2t1bGxlIHNrcml2YXMgw7Z2ZXIgYXYgXCJjaGVycnktcGlja1wiLiIKKyM6IHNlcXVlbmNlci5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZW9sIHRvICclcyciCittc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIHJhZHNsdXQgdGlsbCBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjIxMAotbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSByZXZlcnQuIgotbXNnc3RyICJEaW5hIGxva2FsYSDDpG5kcmluZ2FyIHNrdWxsZSBza3JpdmFzIMO2dmVyIGF2IFwicmV2ZXJ0XCIuIgorIzogc2VxdWVuY2VyLmM6MjU1IHNlcXVlbmNlci5jOjExMzAgc2VxdWVuY2VyLmM6MTIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJy4iCittc2dzdHIgIm1pc3NseWNrYWRlcyBmw6RyZGlnc3TDpGxsYSBcIiVzXCIuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTMKLW1zZ2lkICJDb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCi1tc2dzdHIgIkNoZWNrYSBpbiBkaW5hIMOkbmRyaW5nYXIgZWxsZXIgYW52w6RuZCBcInN0YXNoXCIgZsO2ciBhdHQgZm9ydHPDpHR0YS4iCisjOiBzZXF1ZW5jZXIuYzoyNzkgYnVpbHRpbi9hbS5jOjI1OSBidWlsdGluL2NvbW1pdC5jOjc0OSBidWlsdGluL21lcmdlLmM6MTAzMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgorbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIFwiJXNcIiIKKworIzogc2VxdWVuY2VyLmM6MzA1CisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iCittc2dzdHIgImRpbmEgbG9rYWxhIMOkbmRyaW5nYXIgc2t1bGxlIHNrcml2YXMgw7Z2ZXIgYXYgJXMuIgorCisjOiBzZXF1ZW5jZXIuYzozMDkKK21zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCittc2dzdHIgImNoZWNrYSBpbiBkaW5hIMOkbmRyaW5nYXIgZWxsZXIgYW52w6RuZCBcInN0YXNoXCIgZsO2ciBhdHQgZm9ydHPDpHR0YS4iCisKKyM6IHNlcXVlbmNlci5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFzdC1mb3J3YXJkIgorbXNnc3RyICIlczogc25hYmJzcG9sYSIKIAogIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIgb3IgImNoZXJyeS1waWNrIgotIzogc2VxdWVuY2VyLmM6MzAwCisjOiBzZXF1ZW5jZXIuYzozOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6IEt1bmRlIGludGUgc2tyaXZhIG55IGluZGV4ZmlsIgogCi0jOiBzZXF1ZW5jZXIuYzozMTgKLW1zZ2lkICJDb3VsZCBub3QgcmVzb2x2ZSBIRUFEIGNvbW1pdFxuIgotbXNnc3RyICJLdW5kZSBpbnRlIGJlc3TDpG1tYSBIRUFEOnMgaW5jaGVja25pbmdcbiIKKyM6IHNlcXVlbmNlci5jOjQxOAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCittc2dzdHIgImt1bmRlIGludGUgYmVzdMOkbW1hIEhFQUQ6cyBpbmNoZWNrbmluZ1xuIgogCi0jOiBzZXF1ZW5jZXIuYzozMzgKLW1zZ2lkICJVbmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWVcbiIKLW1zZ3N0ciAiS2FuIGludGUgdXBwZGF0ZXJhIGNhY2hldHLDpGRcbiIKKyM6IHNlcXVlbmNlci5jOjQzOAorbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgorbXNnc3RyICJrYW4gaW50ZSB1cHBkYXRlcmEgY2FjaGV0csOkZFxuIgogCi0jOiBzZXF1ZW5jZXIuYzozOTAKKyM6IHNlcXVlbmNlci5jOjQ4MwogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCi1tc2dzdHIgIkt1bmRlIGludGUgdG9sa2EgaW5jaGVja25pbmdlbiAlc1xuIgorbXNnaWQgIiIKKyJ5b3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZVxuIgorIklmIHRoZXNlIGNoYW5nZXMgYXJlIG1lYW50IHRvIGJlIHNxdWFzaGVkIGludG8gdGhlIHByZXZpb3VzIGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisiSWYgdGhleSBhcmUgbWVhbnQgdG8gZ28gaW50byBhIG5ldyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJXNcbiIKKyJcbiIKKyJJbiBib3RoIGNhc2VzLCBvbmNlIHlvdSdyZSBkb25lLCBjb250aW51ZSB3aXRoOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCittc2dzdHIgIiIKKyJkdSBoYXIga8O2YWRlIMOkbmRyaW5nYXIgaSBkaW4gYXJiZXRza2F0YWxvZy5cbiIKKyJPbSDDpG5kcmluZ2FybmEgc2thbGwgbMOkZ2dhcyBpbiBpIGbDtnJlZ8OlZW5kZSBpbmNoZWNrbmluZywga8O2cjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAlc1xuIgorIlxuIgorIk9tIGRlIHNrYWxsIGNoZWNrYXMgaW4gaSBlbiBlZ2VuIGluY2hlY2tuaW5nLCBrw7ZyOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAlc1xuIgorIlxuIgorIk9hdnNldHQgdmlsa2V0LCBuw6RyIGR1IMOkciBmw6RyZGlnIGZvcnRzw6R0dGVyIGR1IG1lZDpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzozOTUKKyM6IHNlcXVlbmNlci5jOjU2NwogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgotbXNnc3RyICJLdW5kZSBpbnRlIHRvbGthIGbDtnLDpGxkcmFpbmNoZWNrbmluZ2VuICVzXG4iCittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIgorbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGluY2hlY2tuaW5nZW4gJXNcbiIKIAotIzogc2VxdWVuY2VyLmM6NDYwCi1tc2dpZCAiWW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKLW1zZ3N0ciAiRGluIGluZGV4ZmlsIGhhciBpbnRlIHNsYWdpdHMgaWhvcC4iCi0KLSM6IHNlcXVlbmNlci5jOjQ3OQorIzogc2VxdWVuY2VyLmM6NTcyCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKLW1zZ3N0ciAiSW5jaGVja25pbmcgJXMgw6RyIGVuIHNhbW1hbnNsYWduaW5nLCBtZW4gZmxhZ2dhbiAtbSBhbmdhdnMgaW50ZS4iCittc2dpZCAiY291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXNcbiIKK21zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBmw7Zyw6RsZHJhaW5jaGVja25pbmdlbiAlc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzo0ODcKKyM6IHNlcXVlbmNlci5jOjY1NgorbXNnaWQgInlvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCittc2dzdHIgImRpbiBpbmRleGZpbCBoYXIgaW50ZSBzbGFnaXRzIGlob3AuIgorCisjOiBzZXF1ZW5jZXIuYzo2NzUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgotbXNnc3RyICJJbmNoZWNrbmluZyAlcyBoYXIgaW50ZSBmw7Zyw6RsZGVyICVkIgorbXNnaWQgImNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKK21zZ3N0ciAiaW5jaGVja25pbmcgJXMgw6RyIGVuIHNhbW1hbnNsYWduaW5nLCBtZW4gZmxhZ2dhbiAtbSBhbmdhdnMgaW50ZS4iCiAKLSM6IHNlcXVlbmNlci5jOjQ5MQorIzogc2VxdWVuY2VyLmM6NjgzCiAjLCBjLWZvcm1hdAotbXNnaWQgIk1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCi1tc2dzdHIgIkh1dnVkbGluamUgYW5nYXZzLCBtZW4gaW5jaGVja25pbmdlbiAlcyDDpHIgaW50ZSBlbiBzYW1tYW5zbGFnbmluZyIKK21zZ2lkICJjb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCittc2dzdHIgImluY2hlY2tuaW5nICVzIGhhciBpbnRlIGbDtnLDpGxkZXIgJWQiCiAKLSMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSAicmV2ZXJ0IiBvcgotIy4gImNoZXJyeS1waWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEKLSM6IHNlcXVlbmNlci5jOjUwNAorIzogc2VxdWVuY2VyLmM6Njg3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCittc2dzdHIgImh1dnVkbGluamUgYW5nYXZzLCBtZW4gaW5jaGVja25pbmdlbiAlcyDDpHIgaW50ZSBlbiBzYW1tYW5zbGFnbmluZyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyB3aWxsIGJlIGEgInRvZG8iIGNvbW1hbmQgbGlrZQorIy4gInJldmVydCIgb3IgInBpY2siLCB0aGUgc2Vjb25kICVzIGEgU0hBMS4KKyM6IHNlcXVlbmNlci5jOjcwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgIiVzOiBrYW4gaW50ZSB0b2xrYSBmw7Zyw6RsZHJhaW5jaGVja25pbmdlbiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NTA4CisjOiBzZXF1ZW5jZXIuYzo3MDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCi1tc2dzdHIgIkthbiBpbnRlIGjDpG10YSBpbmNoZWNrbmluZ3NtZWRkZWxhbmRlIGbDtnIgJXMiCittc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCittc2dzdHIgImthbiBpbnRlIGjDpG10YSBpbmNoZWNrbmluZ3NtZWRkZWxhbmRlIGbDtnIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjU5NAorIzogc2VxdWVuY2VyLmM6Nzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgImt1bmRlIGludGUgw6VuZ3JhICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo1OTUKKyM6IHNlcXVlbmNlci5jOjc5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdGlsbMOkbXBhICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo2MzAKKyM6IHNlcXVlbmNlci5jOjgzMwogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICJkZW4gYW5naXZuYSB1cHBzw6R0dG5pbmdlbiBpbmNoZWNrbmluZ2FyIMOkciB0b20iCiAKLSM6IHNlcXVlbmNlci5jOjYzOAorIzogc2VxdWVuY2VyLmM6ODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IG1pc3NseWNrYWRlcyBsw6RzYSBpbmRleGV0IgogCi0jOiBzZXF1ZW5jZXIuYzo2NDIKKyM6IHNlcXVlbmNlci5jOjg1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzOiBtaXNzbHlja2FkZXMgdXBwZGF0ZXJhIGluZGV4ZXQiCiAKLSM6IHNlcXVlbmNlci5jOjcwMgorIzogc2VxdWVuY2VyLmM6OTQ0CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCAlcyBkdXJpbmcgYSAlcyIKLW1zZ3N0ciAia2FuIGludGUgJXMgdW5kZXIgZW4gJXMiCittc2dpZCAiaW52YWxpZCBsaW5lICVkOiAlLipzIgorbXNnc3RyICJvZ2lsdGlnIHJhZCAlZDogJS4qcyIKIAotIzogc2VxdWVuY2VyLmM6NzI0CisjOiBzZXF1ZW5jZXIuYzo5NTAKK21zZ2lkICJubyBjb21taXRzIHBhcnNlZC4iCittc2dzdHIgImluZ2EgaW5jaGVja25pbmdhciBsw6RzdGVzLiIKKworIzogc2VxdWVuY2VyLmM6OTY2CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKLW1zZ3N0ciAiS2FuIGludGUgdG9sa2EgcmFkICVkLiIKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKK21zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBcIiVzXCIuIgogCi0jOiBzZXF1ZW5jZXIuYzo3MjkKLW1zZ2lkICJObyBjb21taXRzIHBhcnNlZC4iCi1tc2dzdHIgIkluZ2EgaW5jaGVja25pbmdhciBsw6RzdGVzLiIKLQotIzogc2VxdWVuY2VyLmM6NzQxCisjOiBzZXF1ZW5jZXIuYzo5NzIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG9wZW4gJXMiCi1tc2dzdHIgIkt1bmRlIGludGUgw7ZwcG5hICVzIgorbXNnaWQgInVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAnJXMnIgorbXNnc3RyICJvYW52w6RuZGJhcnQgbWFudXM6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo3NDUKKyM6IHNlcXVlbmNlci5jOjk4MworbXNnaWQgImNhbm5vdCBjaGVycnktcGljayBkdXJpbmcgYSByZXZlcnQuIgorbXNnc3RyICJrYW4gaW50ZSB1dGbDtnJhIFwiY2hlcnJ5LXBpY2tcIiB1bmRlciBlbiBcInJldmVydFwiLiIKKworIzogc2VxdWVuY2VyLmM6OTg1Cittc2dpZCAiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iCittc2dzdHIgImthbiBpbnRlIHV0ZsO2cmEgXCJyZXZlcnRcIiB1bmRlciBlbiBcImNoZXJyeS1waWNrXCIuIgorCisjOiBzZXF1ZW5jZXIuYzoxMDI4CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKLW1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSAlcy4iCittc2dpZCAiaW52YWxpZCBrZXk6ICVzIgorbXNnc3RyICJmZWxha3RpZyBueWNrZWw6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo3NTIKKyM6IHNlcXVlbmNlci5jOjEwMzEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICVzIgotbXNnc3RyICJPYW52w6RuZGJhcnQgbWFudXM6ICVzIgorbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKK21zZ3N0ciAiZmVsYWt0aWd0IHbDpHJkZSBmw7ZyICVzOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NzgyCisjOiBzZXF1ZW5jZXIuYzoxMDYzCiAjLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQga2V5OiAlcyIKLW1zZ3N0ciAiRmVsYWt0aWcgbnlja2VsOiAlcyIKK21zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKK21zZ3N0ciAidHJhc2lndCBtYW51czogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjc4NSBidWlsdGluL3B1bGwuYzo1MCBidWlsdGluL3B1bGwuYzo1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCi1tc2dzdHIgIkZlbGFrdGlndCB2w6RyZGUgZsO2ciAlczogJXMiCi0KLSM6IHNlcXVlbmNlci5jOjc5NQotIywgYy1mb3JtYXQKLW1zZ2lkICJNYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJXMiCi1tc2dzdHIgIlRyYXNpZ3QgbWFudXM6ICVzIgotCi0jOiBzZXF1ZW5jZXIuYzo4MTQKKyM6IHNlcXVlbmNlci5jOjExMDEKIG1zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgogbXNnc3RyICJlbiBcImNoZXJyeS1waWNrXCIgZWxsZXIgXCJyZXZlcnRcIiBww6Vnw6VyIHJlZGFuIgogCi0jOiBzZXF1ZW5jZXIuYzo4MTUKKyM6IHNlcXVlbmNlci5jOjExMDIKIG1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogbXNnc3RyICJ0ZXN0YSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCiAKLSM6IHNlcXVlbmNlci5jOjgxOQorIzogc2VxdWVuY2VyLmM6MTEwNgogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJXMiCi1tc2dzdHIgIkt1bmRlIGludGUgc2thcGEgXCJzZXF1ZW5jZXJcIi1rYXRhbG9nZW4gXCIlc1wiIgorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAnJXMnIgorbXNnc3RyICJrdW5kZSBpbnRlIHNrYXBhIFwic2VxdWVuY2VyXCIta2F0YWxvZ2VuIFwiJXNcIiIKIAotIzogc2VxdWVuY2VyLmM6ODM1IHNlcXVlbmNlci5jOjkxNgotIywgYy1mb3JtYXQKLW1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcy4iCi1tc2dzdHIgIkZlbCB2aWQgb21icnl0bmluZyBhdiAlcy4iCisjOiBzZXF1ZW5jZXIuYzoxMTIwCittc2dpZCAiY291bGQgbm90IGxvY2sgSEVBRCIKK21zZ3N0ciAia3VuZGUgaW50ZSBsw6VzYSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTQgc2VxdWVuY2VyLmM6OTg2CisjOiBzZXF1ZW5jZXIuYzoxMTUxIHNlcXVlbmNlci5jOjEyODkKIG1zZ2lkICJubyBjaGVycnktcGljayBvciByZXZlcnQgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgImluZ2VuIFwiY2hlcnJ5LXBpY2tcIiBlbGxlciBcInJldmVydFwiIHDDpWfDpXIiCiAKLSM6IHNlcXVlbmNlci5jOjg1NgorIzogc2VxdWVuY2VyLmM6MTE1MwogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgImthbiBpbnRlIGJlc3TDpG1tYSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTgKKyM6IHNlcXVlbmNlci5jOjExNTUgc2VxdWVuY2VyLmM6MTE4OQogbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJrYW4gaW50ZSBhdmJyeXRhIGZyw6VuIGVuIGdyZW4gc29tIMOkbm51IGludGUgw6RyIGbDtmRkIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzggYnVpbHRpbi9mZXRjaC5jOjYxMCBidWlsdGluL2ZldGNoLmM6ODUxCisjOiBzZXF1ZW5jZXIuYzoxMTc1IGJ1aWx0aW4vZ3JlcC5jOjU3OAogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKLW1zZ3N0ciAia2FuIGludGUgw7ZwcG5hICVzIgorbXNnaWQgImNhbm5vdCBvcGVuICclcyciCittc2dzdHIgImthbiBpbnRlIMO2cHBuYSBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjg4MAorIzogc2VxdWVuY2VyLmM6MTE3NwogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCAlczogJXMiCi1tc2dzdHIgImthbiBpbnRlIGzDpHNhICVzOiAlcyIKK21zZ2lkICJjYW5ub3QgcmVhZCAnJXMnOiAlcyIKK21zZ3N0ciAia2FuIGludGUgbMOkc2EgXCIlc1wiOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6ODgxCisjOiBzZXF1ZW5jZXIuYzoxMTc4CiBtc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAib3bDpG50YXQgZmlsc2x1dCIKIAotIzogc2VxdWVuY2VyLmM6ODg3CisjOiBzZXF1ZW5jZXIuYzoxMTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAic3BhcmFkIEhFQUQtZmlsIGZyw6VuIGbDtnJlIFwiY2hlcnJ5LXBpY2tcIiwgXCIlc1wiLCDDpHIgdHJhc2lnIgogCi0jOiBzZXF1ZW5jZXIuYzo5MDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGZvcm1hdCAlcy4iCi1tc2dzdHIgIkt1bmRlIGludGUgZm9ybWF0ZXJhICVzLiIKLQotIzogc2VxdWVuY2VyLmM6MTA1NAorIzogc2VxdWVuY2VyLmM6MTM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2FuJ3QgY2hlcnJ5LXBpY2sgYSAlcyIKIG1zZ3N0ciAiJXM6IGthbiBpbnRlIGfDtnJhIFwiY2hlcnJ5LXBpY2tcIiBww6UgdHlwZW4gXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDU3CisjOiBzZXF1ZW5jZXIuYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVzOiBmZWxha3RpZyByZXZpc2lvbiIKIAotIzogc2VxdWVuY2VyLmM6MTA5MQotbXNnaWQgIkNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKLW1zZ3N0ciAiS2FuIGludGUgw6VuZ3JhIHNvbSBmw7Zyc3RhIGluY2hlY2tuaW5nIgorIzogc2VxdWVuY2VyLmM6MTM5MQorbXNnaWQgImNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKK21zZ3N0ciAia2FuIGludGUgw6VuZ3JhIHNvbSBmw7Zyc3RhIGluY2hlY2tuaW5nIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDkyCi1tc2dpZCAiQ2FuJ3QgY2hlcnJ5LXBpY2sgaW50byBlbXB0eSBoZWFkIgotbXNnc3RyICJLYW4gaW50ZSBnw7ZyYSBcImNoZXJyeS1waWNrXCIgaSBldHQgdG9tdCBodXZ1ZCIKLQotIzogc2V0dXAuYzoyNDgKKyM6IHNldHVwLmM6MTYwCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byByZWFkICVzIgotbXNnc3RyICJtaXNzbHlja2FkZXMgbMOkc2EgJXMiCittc2dpZCAiIgorIiVzOiBubyBzdWNoIHBhdGggaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKKyJVc2UgJ2dpdCA8Y29tbWFuZD4gLS0gPHBhdGg+Li4uJyB0byBzcGVjaWZ5IHBhdGhzIHRoYXQgZG8gbm90IGV4aXN0IGxvY2FsbHkuIgorbXNnc3RyICIiCisiJXM6IHPDtmt2w6RnZW4gZmlubnMgaW50ZSBpIGFyYmV0c2thdGFsb2dlbi5cbiIKKyJBbnbDpG5kIFwiZ2l0IDxrb21tYW5kbz4gLS0gPHPDtmt2w6RnPi4uXCIgZsO2ciBhdHQgYW5nZSBzw7ZrdsOkZ2FyIHNvbSBpbnRlIGZpbm5zICIKKyJsb2thbHQuIgorCisjOiBzZXR1cC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IHVua25vd24gcmV2aXNpb24gb3IgcGF0aCBub3QgaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKKyJVc2UgJy0tJyB0byBzZXBhcmF0ZSBwYXRocyBmcm9tIHJldmlzaW9ucywgbGlrZSB0aGlzOlxuIgorIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCittc2dzdHIgIiIKKyJ0dmV0eWRpZ3QgYXJndW1lbnQgXCIlc1wiOiBva8OkbmQgcmV2aXNpb24gZWxsZXIgc8O2a3bDpGcgaW50ZSBpICIKKyJhcmJldHNrYXRhbG9nZW4uXG4iCisiQW52w6RuZCBcIi0tXCIgZsO2ciBhdHQgc2tpbGphIHPDtmt2w6RnYXIgZnLDpW4gcmV2aXNpb25lciwgc8OlIGjDpHI6XG4iCisiXCJnaXQgPGtvbW1hbmRvPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWw+Li4uXVwiIgorCisjOiBzZXR1cC5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IGJvdGggcmV2aXNpb24gYW5kIGZpbGVuYW1lXG4iCisiVXNlICctLScgdG8gc2VwYXJhdGUgcGF0aHMgZnJvbSByZXZpc2lvbnMsIGxpa2UgdGhpczpcbiIKKyInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgorbXNnc3RyICIiCisidHZldHlkaWd0IGFyZ3VtZW50IFwiJXNcIjogYsOlZGUgcmV2aXNpb24gb2NoIGZpbG5hbW5cbiIKKyJBbnbDpG5kIFwiLS1cIiBmw7ZyIGF0dCBza2lsamEgc8O2a3bDpGdhciBmcsOlbiByZXZpc2lvbmVyLCBzw6UgaMOkcjpcbiIKKyJcImdpdCA8a29tbWFuZG8+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbD4uLi5dXCIiCiAKICM6IHNldHVwLmM6NDY4CiAjLCBjLWZvcm1hdApAQCAtMTY5MiwyMSArMjkzNiw5MiBAQAogbXNnaWQgInVua25vd24gcmVwb3NpdG9yeSBleHRlbnNpb25zIGZvdW5kOiIKIG1zZ3N0ciAib2vDpG5kYSBhcmtpdnV0w7ZrbmluZ2FyIGhpdHRhZGVzOiIKIAotIzogc2hhMV9maWxlLmM6MTA4MAorIzogc2V0dXAuYzo3NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBvZiB0aGUgcGFyZW50IGRpcmVjdG9yaWVzKTogJXMiCittc2dzdHIgIkludGUgZXR0IGdpdC1hcmtpdiAoZWxsZXIgbsOlZ29uIGF2IGbDtnLDpGxkcmFrYXRhbG9nZXJuYSk6ICVzIgorCisjOiBzZXR1cC5jOjc2NCBzZXR1cC5jOjkxNSBidWlsdGluL2luZGV4LXBhY2suYzoxNjQxCittc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCittc2dzdHIgIkthbiBpbnRlIGfDpSB0aWxsYmFrYSB0aWxsIGFyYmV0c2thdGFsb2dlbiAoY3dkKSIKKworIzogc2V0dXAuYzo4NDUKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJLYW4gaW50ZSBsw6RzYSBha3R1ZWxsIGFyYmV0c2thdGFsb2ciCisKKyM6IHNldHVwLmM6OTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IHBhcmVudCB1cCB0byBtb3VudCBwb2ludCAlcylcbiIKKyJTdG9wcGluZyBhdCBmaWxlc3lzdGVtIGJvdW5kYXJ5IChHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNIG5vdCBzZXQpLiIKK21zZ3N0ciAiIgorIkludGUgZXR0IGdpdC1hcmtpdiAoZWxsZXIgbsOlZ29uIGF2IGbDtnLDpGxkcmFrYXRhbG9nZXJuYSB1cHAgdGlsbCAiCisibW9udGVyaW5nc3B1bmt0ZW4gJXMpXG4iCisiU3RvcHBhciB2aWQgZmlsc3lzdGVtc2dyw6RucyAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSDDpHIgaW50ZSBzYXR0KS4iCisKKyM6IHNldHVwLmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdG8gJyVzLy4uJyIKK21zZ3N0ciAia2FuIGludGUgYnl0YSB0aWxsIFwiJXMvLi5cIiIKKworIzogc2V0dXAuYzo5ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlByb2JsZW0gd2l0aCBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgZmlsZW1vZGUgdmFsdWUgKDAlLjNvKS5cbiIKKyJUaGUgb3duZXIgb2YgZmlsZXMgbXVzdCBhbHdheXMgaGF2ZSByZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucy4iCittc2dzdHIgIiIKKyJQcm9ibGVtIG1lZCBmaWxsw6RnZXMtdsOkcmRldCBpIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSAoMCUuM28pLlxuIgorIsOEZ2FyZW4gYXYgZmlsZXJuYSBtw6VzdGUgYWxsdGlkIGhhIGzDpHMtIG9jaCBza3JpdmJlaMO2cmlnaGV0LiIKKworIzogc2hhMV9maWxlLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAic8O2a3bDpGdlbiBcIiVzXCIgZmlubnMgaW50ZSIKKworIzogc2hhMV9maWxlLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgYXMgYSBsaW5rZWQgY2hlY2tvdXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuIgorbXNnc3RyICJyZWZlcmVuc2Fya2l2ZXQgXCIlc1wiIHNvbSBlbiBsw6Rua2FkIHV0Y2hlY2tuaW5nIHN0w7ZkcyBpbnRlIMOkbm51LiIKKworIzogc2hhMV9maWxlLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCittc2dzdHIgInJlZmVyZW5zYXJraXZldCBcIiVzXCIgw6RyIGludGUgZXR0IGxva2FsdCBhcmtpdi4iCisKKyM6IHNoYTFfZmlsZS5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCittc2dzdHIgInJlZmVyZW5zYXJraXZldCBcIiVzXCIgw6RyIGdydW50IgorCisjOiBzaGExX2ZpbGUuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgorbXNnc3RyICJyZWZlcmVuc2Fya2l2ZXQgXCIlc1wiIMOkciB5bXBhdCIKKworIzogc2hhMV9maWxlLmM6MTE1OQogbXNnaWQgIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIgogbXNnc3RyICJvZmZzZXQgZsO2cmUgc2x1dGV0IGF2IHBhY2tmaWxlbiAodHJhc2lnIC5pZHg/KSIKIAotIzogc2hhMV9maWxlLmM6MjQ1OAorIzogc2hhMV9maWxlLmM6MjU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIHN0YXJ0IG9mIHBhY2sgaW5kZXggZm9yICVzIChjb3JydXB0IGluZGV4PykiCiBtc2dzdHIgIm9mZnNldCBmw7ZyZSBzbHV0ZXQgYXYgcGFja2luZGV4IGbDtnIgJXMgKHRyYXNpZ3QgaW5kZXg/KSIKIAotIzogc2hhMV9maWxlLmM6MjQ2MgorIzogc2hhMV9maWxlLmM6MjU5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCiBtc2dzdHIgIm9mZnNldCBib3J0b24gc2x1dGV0IGF2IHBhY2tpbmRleCBmw7ZyICVzICh0cnVua2VyYXQgaW5kZXg/KSIKIAotIzogc2hhMV9uYW1lLmM6NDYyCisjOiBzaGExX25hbWUuYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hvcnQgU0hBMSAlcyBpcyBhbWJpZ3VvdXMiCittc2dzdHIgImtvcnQgU0hBMSAlcyDDpHIgdHZldHlkaWciCisKKyM6IHNoYTFfbmFtZS5jOjQxOAorbXNnaWQgIlRoZSBjYW5kaWRhdGVzIGFyZToiCittc2dzdHIgIkthbmRpZGF0ZXJuYSDDpHI6IgorCisjOiBzaGExX25hbWUuYzo1NzgKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCkBAIC0xNzUzLDc5ICszMDY4LDE0NSBAQAogbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBrw7ZhIHVwcGRhdGVyYWQgLmdpdG1vZHVsZXMiCiAKLSM6IHN1Ym1vZHVsZS5jOjE3NworIzogc3VibW9kdWxlLmM6MTU4CiBtc2dpZCAibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hKb2JzIgogbXNnc3RyICJuZWdhdGl2YSB2w6RyZGVuIMOkciBpbnRlIHRpbGzDpXRuYSBmw7ZyIHN1Ym1vZHVsZS5mZXRjaEpvYnMiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzozNTUKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXMiCiBtc2dzdHIgIm9naWx0aWd0IHbDpHJkZSBmw7ZyICVzIgogCi0jOiB0cmFpbGVyLmM6MjM3CisjOiB0cmFpbGVyLmM6MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgdHJhaWxlciBjb21tYW5kICclcycgZmFpbGVkIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdXRmw7ZyYSBcInRyYWlsZXJcIi1rb21tYW5kb3QgXCIlc1wiIgogCi0jOiB0cmFpbGVyLmM6NDkyIHRyYWlsZXIuYzo0OTYgdHJhaWxlci5jOjUwMCB0cmFpbGVyLmM6NTU0IHRyYWlsZXIuYzo1NTgKLSM6IHRyYWlsZXIuYzo1NjIKKyM6IHRyYWlsZXIuYzo0NzEgdHJhaWxlci5jOjQ3NSB0cmFpbGVyLmM6NDc5IHRyYWlsZXIuYzo1MzMgdHJhaWxlci5jOjUzNworIzogdHJhaWxlci5jOjU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHZhbHVlICclcycgZm9yIGtleSAnJXMnIgogbXNnc3RyICJva8OkbnQgdsOkcmRlIFwiJXNcIiBmw7ZyIG55Y2tlbG4gXCIlc1wiIgogCi0jOiB0cmFpbGVyLmM6NTQ0IHRyYWlsZXIuYzo1NDkgYnVpbHRpbi9yZW1vdGUuYzoyODkKKyM6IHRyYWlsZXIuYzo1MjMgdHJhaWxlci5jOjUyOCBidWlsdGluL3JlbW90ZS5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gb25lICVzIgogbXNnc3RyICJtZXIgw6RuIGVuICVzIgogCi0jOiB0cmFpbGVyLmM6NTgyCisjOiB0cmFpbGVyLmM6NjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImVtcHR5IHRyYWlsZXIgdG9rZW4gaW4gdHJhaWxlciAnJS4qcyciCiBtc2dzdHIgInRvbSBzbMOkcHJhZHNzeW1ib2wgaSBzbMOkcHJhZGVuIFwiJS4qc1wiIgogCi0jOiB0cmFpbGVyLmM6NzAyCisjOiB0cmFpbGVyLmM6Njk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGlucHV0IGZpbGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBpbmRhdGFmaWxlbiBcIiVzXCIiCiAKLSM6IHRyYWlsZXIuYzo3MDUKKyM6IHRyYWlsZXIuYzo2OTgKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICJLdW5kZSBpbnRlIGzDpHNhIGZyw6VuIHN0YW5kYXJkIGluIgogCi0jOiB0cmFpbGVyLmM6ODU3IGJ1aWx0aW4vYW0uYzo0MgorIzogdHJhaWxlci5jOjkyOSBidWlsdGluL2FtLmM6NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdGEgc3RhdHVzIHDDpSAlcyIKIAotIzogdHJhaWxlci5jOjg1OQorIzogdHJhaWxlci5jOjkzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCBhIHJlZ3VsYXIgZmlsZSIKIG1zZ3N0ciAiZmlsZW4gJXMgw6RyIGludGUgZW4gbm9ybWFsIGZpbCIKIAotIzogdHJhaWxlci5jOjg2MQorIzogdHJhaWxlci5jOjkzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCB3cml0YWJsZSBieSB1c2VyIgogbXNnc3RyICJmaWxlbiAlcyDDpHIgaW50ZSBza3JpdmJhciBhdiBhbnbDpG5kYXJlbiIKIAotIzogdHJhaWxlci5jOjg3MworIzogdHJhaWxlci5jOjk0NQogbXNnaWQgImNvdWxkIG5vdCBvcGVuIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSB0ZW1wb3LDpHIgZmlsZSIKIAotIzogdHJhaWxlci5jOjkxMgorIzogdHJhaWxlci5jOjk4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVuYW1lIHRlbXBvcmFyeSBmaWxlIHRvICVzIgotbXNnc3RyICJrdW5kZSBpbnRlIGJ5dGEgbm1hbiBww6UgdGVtcG9yw6RyYSBmaWxlIHRpbGwgJXMiCittc2dzdHIgImt1bmRlIGludGUgYnl0YSBuYW1uIHDDpSB0ZW1wb3LDpHIgZmlsIHRpbGwgJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDQxCisjOiB0cmFuc3BvcnQuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCBzZXQgdXBzdHJlYW0gb2YgJyVzJyB0byAnJXMnIG9mICclcydcbiIKK21zZ3N0ciAiU2t1bGxlIHPDpHR0YSB1cHBzdHLDtm1zIGbDtnIgXCIlc1wiIHRpbGwgXCIlc1wiIGZyw6VuIFwiJXNcIlxuIgorCisjOiB0cmFuc3BvcnQuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgorbXNnc3RyICJ0cmFuc3BvcnQ6IG9naWx0aWcgZmxhZ2dhIGbDtnIgZGVwdGg6ICVzIgorCisjOiB0cmFuc3BvcnQuYzo4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIHBhdGhzIGNvbnRhaW4gY2hhbmdlcyB0aGF0IGNhblxuIgorIm5vdCBiZSBmb3VuZCBvbiBhbnkgcmVtb3RlOlxuIgorbXNnc3RyICIiCisiRsO2bGphbmRlIHVuZGVybW9kdWxzw7ZrdsOkZ2FyIGlubmVow6VsbGVyIMOkbmRyaW5nYXIgc29tXG4iCisiaW50ZSBrYW4gaGl0dGFzIGF2IGZqw6RycmFybmE6XG4iCisKKyM6IHRyYW5zcG9ydC5jOjgyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiUGxlYXNlIHRyeVxuIgorIlxuIgorIlx0Z2l0IHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kXG4iCisiXG4iCisib3IgY2QgdG8gdGhlIHBhdGggYW5kIHVzZVxuIgorIlxuIgorIlx0Z2l0IHB1c2hcbiIKKyJcbiIKKyJ0byBwdXNoIHRoZW0gdG8gYSByZW1vdGUuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJUZXN0YVxuIgorIlxuIgorIlx0Z2l0IHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kXG4iCisiXG4iCisiZWxsZXIgY2QgdGlsbCBzw7ZrdsOkZ2VuIG9jaCBhbnbDpG5kXG4iCisiXG4iCisiXHRnaXQgcHVzaFxuIgorIlxuIgorImbDtnIgYXR0IHPDpG5kYSBkZW0gdGlsbCBmasOkcnJlbi5cbiIKKyJcbiIKKworIzogdHJhbnNwb3J0LmM6ODI5Cittc2dpZCAiQWJvcnRpbmcuIgorbXNnc3RyICJBdmJyeXRlci4iCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHJlZiAlcyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBsw6RzYSByZWZlcmVuc2VuICVzIgogCisjOiB0cmVlLXdhbGsuYzozMQorbXNnaWQgInRvby1zaG9ydCB0cmVlIG9iamVjdCIKK21zZ3N0ciAidHLDpGRvYmpla3QgZsO2ciBrb3J0IgorCisjOiB0cmVlLXdhbGsuYzozNworbXNnaWQgIm1hbGZvcm1lZCBtb2RlIGluIHRyZWUgZW50cnkiCittc2dzdHIgImZlbGZvcm1hdCBsw6RnZSBpIHRyw6RkcG9zdCIKKworIzogdHJlZS13YWxrLmM6NDEKK21zZ2lkICJlbXB0eSBmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IgorbXNnc3RyICJ0b210IGZpbG5hbW4gaSB0csOkZHBvc3QiCisKKyM6IHRyZWUtd2Fsay5jOjExMworbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCittc2dzdHIgInRyw6RkZmlsIGbDtnIga29ydCIKKwogIzogdW5wYWNrLXRyZWVzLmM6NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgotIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBjYW4gc3dpdGNoIGJyYW5jaGVzLiIKKyIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKIG1zZ3N0ciAiIgogIkRpbmEgbG9rYWxhIMOkbmRyaW5nYXIgYXYgZsO2bGphbmRlIGZpbGVyIHNrdWxsZSBza3JpdmFzIMO2dmVyIGF2IHV0Y2hlY2tuaW5nOlxuIgogIiUlc0NoZWNrYSBpbiBkaW5hIMOkbmRyaW5nYXIgZWxsZXIgYW52w6RuZCBcInN0YXNoXCIgaW5uYW4gZHUgYnl0ZXIgZ3Jlbi4iCkBAIC0xODQzLDcgKzMyMjQsNyBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCi0iJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAiIgogIkRpbmEgbG9rYWxhIMOkbmRyaW5nYXIgYXYgZsO2bGphbmRlIGZpbGVyIHNrdWxsZSBza3JpdmFzIMO2dmVyIGF2ICIKICJzYW1tYW5zbGFnbmluZzpcbiIKQEAgLTE4NjMsMTEgKzMyNDQsMTAgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgotIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBjYW4gJXMuIgorIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSAlcy4iCiBtc2dzdHIgIiIKICJEaW5hIGxva2FsYSDDpG5kcmluZ2FyIGF2IGbDtmxqYW5kZSBmaWxlciBza3VsbGUgc2tyaXZhcyDDtnZlciBhdiBcIiVzXCI6XG4iCi0iJSVzQ2hlY2thIGluIGRpbmEgw6RuZHJpbmdhciBlbGxlciBhbnbDpG5kIFwic3Rhc2hcIiBpbm5hbiBkdSBrYW4gdXRmw7ZyYSBcIiVzIgotIlwiLiIKKyIlJXNDaGVja2EgaW4gZGluYSDDpG5kcmluZ2FyIGVsbGVyIGFudsOkbmQgXCJzdGFzaFwiIGlubmFuIGR1IFwiJXNcIi4iCiAKICM6IHVucGFjay10cmVlcy5jOjc2CiAjLCBjLWZvcm1hdApAQCAtMTg5Miw3ICszMjcyLDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIHN3aXRjaCBicmFuY2hlcy4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgogbXNnc3RyICIiCiAiRsO2bGphbmRlIG9zcMOlcmFkZSBmaWxlciBpIGFyYmV0c2thdGFsb2dlbiBza3VsbGUgdGFzIGJvcnQgYXYgdXRjaGVja25pbmdlbjpcbiIKICIlJXNGbHl0dGEgZWxsZXIgdGEgYm9ydCBkZW0gaW5uYW4gZHUgYnl0ZXIgZ3Jlbi4iCkBAIC0xOTEwLDExICszMjkwLDExIEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgIiIKICJGw7ZsamFuZGUgb3Nww6VyYWRlIGZpbGVyIGkgYXJiZXRza2F0YWxvZ2VuIHNrdWxsZSB0YXMgYm9ydCBhdiAiCiAic2FtbWFuc2xhZ25pbmdlbjpcbiIKLSIlJXNGbHl0dGEgZWxsZXIgdGEgYm9ydCBkZW0gaW5uYW4gZHUgYnl0ZXIgZ3Jlbi4iCisiJSVzRmx5dHRhIGVsbGVyIHRhIGJvcnQgZGVtIGlubmFuIGR1IHNsw6VyIHNhbW1hbi4iCiAKICM6IHVucGFjay10cmVlcy5jOjkyCiAjLCBjLWZvcm1hdApAQCAtMTkzMCwxMCArMzMxMCwxMCBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gJXMuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgJXMuIgogbXNnc3RyICIiCiAiRsO2bGphbmRlIG9zcMOlcmFkZSBmaWxlciBpIGFyYmV0c2thdGFsb2dlbiBza3VsbGUgdGFzIGJvcnQgYXYgXCIlc1wiOlxuIgotIiUlc0ZseXR0YSBlbGxlciB0YSBib3J0IGRlbSBpbm5hbiBkdSBrYW4gdXRmw7ZyYSBcIiVzXCIuIgorIiUlc0ZseXR0YSBlbGxlciB0YSBib3J0IGRlbSBpbm5hbiBkdSBcIiVzXCIuIgogCiAjOiB1bnBhY2stdHJlZXMuYzo5NwogIywgYy1mb3JtYXQKQEAgLTE5NDksNyArMzMyOSw3IEBACiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCiAiY2hlY2tvdXQ6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gc3dpdGNoIGJyYW5jaGVzLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgIiIKICJGw7ZsamFuZGUgb3Nww6VyYWRlIGZpbGVyIGkgYXJiZXRza2F0YWxvZ2VuIHNrdWxsZSBza3JpdmFzIMO2dmVyIGF2ICIKICJ1dGNoZWNrbmluZ2VuOlxuIgpAQCAtMTk3MCw3ICszMzUwLDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgIiIKICJGw7ZsamFuZGUgb3Nww6VyYWRlIGZpbGVyIGkgYXJiZXRza2F0YWxvZ2VuIHNrdWxsZSBza3JpdmFzIMO2dmVyIGF2ICIKICJzYW1tYW5zbGFnbmluZ2VuOlxuIgpAQCAtMTk5MCwxMCArMzM3MCwxMCBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuICVzLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIKIG1zZ3N0ciAiIgogIkbDtmxqYW5kZSBvc3DDpXJhZGUgZmlsZXIgaSBhcmJldHNrYXRhbG9nZW4gc2t1bGxlIHNrcml2YXMgw7Z2ZXIgYXYgXCIlc1wiOlxuIgotIiUlc0ZseXR0YSBlbGxlciB0YSBib3J0IGRlbSBpbm5hbiBkdSBrYW4gXCIlc1wiLiIKKyIlJXNGbHl0dGEgZWxsZXIgdGEgYm9ydCBkZW0gaW5uYW4gZHUgXCIlc1wiLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6MTE0CiAjLCBjLWZvcm1hdApAQCAtMjAyMSw3ICszNDAxLDcgQEAKICM6IHVucGFjay10cmVlcy5jOjEyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iVGhlIGZvbGxvd2luZyBXb3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgc3BhcnNlIGNoZWNrb3V0ICIKKyJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgogInVwZGF0ZTpcbiIKICIlcyIKIG1zZ3N0ciAiIgpAQCAtMjAzMiw3ICszNDEyLDcgQEAKICM6IHVucGFjay10cmVlcy5jOjEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iVGhlIGZvbGxvd2luZyBXb3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBzcGFyc2UgY2hlY2tvdXQgIgorIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgc3BhcnNlIGNoZWNrb3V0ICIKICJ1cGRhdGU6XG4iCiAiJXMiCiBtc2dzdHIgIiIKQEAgLTIwNzgsMTk5ICszNDU4LDE4OSBAQAogbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCiBtc2dzdHIgImZlbGFrdGlndCBcIi4uXCItc8O2a3bDpGdzc2VnbWVudCIKIAotIzogd3JhcHBlci5jOjIyMiB3cmFwcGVyLmM6MzgxCisjOiB3b3JrdHJlZS5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAnJXMnIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbMOkc2EgXCIlc1wiIgorCisjOiB3cmFwcGVyLmM6MjIyIHdyYXBwZXIuYzozOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyIKIG1zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgXCIlc1wiIGbDtnIgbMOkc25pbmcgb2NoIHNrcml2bmluZyIKIAotIzogd3JhcHBlci5jOjIyNCB3cmFwcGVyLmM6MzgzIGJ1aWx0aW4vYW0uYzo3NzkKKyM6IHdyYXBwZXIuYzoyMjQgd3JhcHBlci5jOjM5NCBidWlsdGluL2FtLmM6NzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgImt1bmRlIGludGUgw7ZwcG5hIFwiJXNcIiBmw7ZyIHNrcml2bmluZyIKIAotIzogd3JhcHBlci5jOjIyNiB3cmFwcGVyLmM6Mzg1IGJ1aWx0aW4vYW0uYzozMjMgYnVpbHRpbi9hbS5jOjc3MgotIzogYnVpbHRpbi9hbS5jOjg2MCBidWlsdGluL2NvbW1pdC5jOjE3MTEgYnVpbHRpbi9tZXJnZS5jOjEwODYKLSM6IGJ1aWx0aW4vcHVsbC5jOjQwNworIzogd3JhcHBlci5jOjIyNiB3cmFwcGVyLmM6Mzk2IGJ1aWx0aW4vYW0uYzozMjAgYnVpbHRpbi9hbS5jOjc1OQorIzogYnVpbHRpbi9hbS5jOjg0NyBidWlsdGluL2NvbW1pdC5jOjE3MDUgYnVpbHRpbi9tZXJnZS5jOjEwMjkKKyM6IGJ1aWx0aW4vcHVsbC5jOjM0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIgogbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSBcIiVzXCIgZsO2ciBsw6RzbmluZyIKIAotIzogd3JhcHBlci5jOjU5NCB3cmFwcGVyLmM6NjE1CisjOiB3cmFwcGVyLmM6NjA1IHdyYXBwZXIuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSBrb21tYSDDpXQgXCIlc1wiIgogCi0jOiB3cmFwcGVyLmM6NjIzCisjOiB3cmFwcGVyLmM6NjM0CiBtc2dpZCAidW5hYmxlIHRvIGdldCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgYWt0dWVsbCBhcmJldHNrYXRhbG9nIgogCi0jOiB3cmFwcGVyLmM6NjUwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBvcGVuICVzIGZvciB3cml0aW5nIgotbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSAlcyBmw7ZyIHNrcml2bmluZyIKLQotIzogd3JhcHBlci5jOjY2MSBidWlsdGluL2FtLmM6NDEwCisjOiB3cmFwcGVyLmM6NjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgdGlsbCAlcyIKIAotIzogd3JhcHBlci5jOjY2NworIzogd3JhcHBlci5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgc3TDpG5nYSAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MTUwCisjOiB3dC1zdGF0dXMuYzoxNTEKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIkVqIHNhbW1hbnNsYWduYSBzw7ZrdsOkZ2FyOiIKIAotIzogd3Qtc3RhdHVzLmM6MTc3IHd0LXN0YXR1cy5jOjIwNAorIzogd3Qtc3RhdHVzLmM6MTc4IHd0LXN0YXR1cy5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmVzZXQgJXMgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcmVzZXQgJXMgPGZpbD4uLi5cIiBmw7ZyIGF0dCB0YSBib3J0IGZyw6VuIGvDtikiCiAKLSM6IHd0LXN0YXR1cy5jOjE3OSB3dC1zdGF0dXMuYzoyMDYKKyM6IHd0LXN0YXR1cy5jOjE4MCB3dC1zdGF0dXMuYzoyMDcKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbD4uLi5cIiBmw7ZyIGF0dCB0YSBib3J0IGZyw6VuIGvDtikiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MworIzogd3Qtc3RhdHVzLmM6MTg0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IGFkZCA8ZmlsPi4uLlwiIGbDtnIgYXR0IGFuZ2UgbMO2c25pbmcpIgogCi0jOiB3dC1zdGF0dXMuYzoxODUgd3Qtc3RhdHVzLmM6MTg5CisjOiB3dC1zdGF0dXMuYzoxODYgd3Qtc3RhdHVzLmM6MTkwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IGFkZC9ybSA8ZmlsPi4uLlwiIHNvbSBsw6RtcGxpZ3QgZsO2ciBhdHQgYW5nZSBsw7ZzbmluZykiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NworIzogd3Qtc3RhdHVzLmM6MTg4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcm0gPGZpbD4uLi5cIiBmw7ZyIGF0dCBhbmdlIGzDtnNuaW5nKSIKIAotIzogd3Qtc3RhdHVzLmM6MTk4IHd0LXN0YXR1cy5jOjg4MQorIzogd3Qtc3RhdHVzLmM6MTk5IHd0LXN0YXR1cy5jOjk0NQogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiw4RuZHJpbmdhciBhdHQgY2hlY2thIGluOiIKIAotIzogd3Qtc3RhdHVzLmM6MjE2IHd0LXN0YXR1cy5jOjg5MAorIzogd3Qtc3RhdHVzLmM6MjE3IHd0LXN0YXR1cy5jOjk1NAogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiw4RuZHJpbmdhciBlaiBpIGluY2hlY2tuaW5nc2vDtm46IgogCi0jOiB3dC1zdGF0dXMuYzoyMjAKKyM6IHd0LXN0YXR1cy5jOjIyMQogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoYW52w6RuZCBcImdpdCBhZGQgPGZpbD4uLi5cIiBmw7ZyIGF0dCB1cHBkYXRlcmEgdmFkIHNvbSBza2FsbCBjaGVja2FzIGluKSIKIAotIzogd3Qtc3RhdHVzLmM6MjIyCisjOiB3dC1zdGF0dXMuYzoyMjMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKGFudsOkbmQgXCJnaXQgYWRkL3JtIDxmaWw+Li4uXCIgZsO2ciBhdHQgdXBwZGF0ZXJhIHZhZCBzb20gc2thbGwgY2hlY2thcyBpbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMworIzogd3Qtc3RhdHVzLmM6MjI0CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgogbXNnc3RyICIiCiAiICAoYW52w6RuZCBcImdpdCBjaGVja291dCAtLSA8ZmlsPi4uLlwiIGbDtnIgYXR0IGbDtnJrYXN0YSDDpG5kcmluZ2FyIGkgIgogImFyYmV0c2thdGFsb2dlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNQorIzogd3Qtc3RhdHVzLmM6MjI2CiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIiCiAiICAoY2hlY2thIGluIGVsbGVyIGbDtnJrYXN0YSBvc3DDpXJhdCBlbGxlciDDpG5kcmF0IGlubmVow6VsbCBpIHVuZGVybW9kdWxlcikiCiAKLSM6IHd0LXN0YXR1cy5jOjIzNworIzogd3Qtc3RhdHVzLmM6MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoYW52w6RuZCBcImdpdCAlcyA8ZmlsPi4uLlwiIGbDtnIgYXR0IHRhIG1lZCBpIGRldCBzb20gc2thbGwgY2hlY2thcyBpbikiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MgorIzogd3Qtc3RhdHVzLmM6MjUzCiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAiYm9ydHRhZ2V0IGF2IGLDpGdnZToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NAorIzogd3Qtc3RhdHVzLmM6MjU1CiBtc2dpZCAiYWRkZWQgYnkgdXM6IgogbXNnc3RyICJ0aWxsYWd0IGF2IG9zczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NgorIzogd3Qtc3RhdHVzLmM6MjU3CiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAiYm9ydHRhZ2V0IGF2IGRlbToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1OAorIzogd3Qtc3RhdHVzLmM6MjU5CiBtc2dpZCAiYWRkZWQgYnkgdGhlbToiCiBtc2dzdHIgInRpbGxhZ3QgYXYgZGVtOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYwCisjOiB3dC1zdGF0dXMuYzoyNjEKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAiYm9ydHRhZ2V0IGF2IG9zczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MgorIzogd3Qtc3RhdHVzLmM6MjYzCiBtc2dpZCAiYm90aCBhZGRlZDoiCiBtc2dzdHIgInRpbGxhZ3QgYXYgYsOkZ2dlOiIKIAotIzogd3Qtc3RhdHVzLmM6MjY0CisjOiB3dC1zdGF0dXMuYzoyNjUKIG1zZ2lkICJib3RoIG1vZGlmaWVkOiIKIG1zZ3N0ciAiw6RuZHJhdCBhdiBiw6RnZ2U6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYnVnOiB1bmhhbmRsZWQgdW5tZXJnZWQgc3RhdHVzICV4IgotbXNnc3RyICJwcm9ncmFtZmVsOiBlaiBoYW50ZXJhZCBcInVubWVyZ2VkXCItc3RhdHVzICV4IgotCi0jOiB3dC1zdGF0dXMuYzoyNzQKKyM6IHd0LXN0YXR1cy5jOjI3NQogbXNnaWQgIm5ldyBmaWxlOiIKIG1zZ3N0ciAibnkgZmlsOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc2CisjOiB3dC1zdGF0dXMuYzoyNzcKIG1zZ2lkICJjb3BpZWQ6IgogbXNnc3RyICJrb3BpZXJhZDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI3OAorIzogd3Qtc3RhdHVzLmM6Mjc5CiBtc2dpZCAiZGVsZXRlZDoiCiBtc2dzdHIgImJvcnR0YWdlbjoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MAorIzogd3Qtc3RhdHVzLmM6MjgxCiBtc2dpZCAibW9kaWZpZWQ6IgogbXNnc3RyICLDpG5kcmFkOiIKIAotIzogd3Qtc3RhdHVzLmM6MjgyCisjOiB3dC1zdGF0dXMuYzoyODMKIG1zZ2lkICJyZW5hbWVkOiIKIG1zZ3N0ciAibmFtbmJ5dHQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyODQKKyM6IHd0LXN0YXR1cy5jOjI4NQogbXNnaWQgInR5cGVjaGFuZ2U6IgogbXNnc3RyICJ0eXBieXRlOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg2CisjOiB3dC1zdGF0dXMuYzoyODcKIG1zZ2lkICJ1bmtub3duOiIKIG1zZ3N0ciAib2vDpG5kOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg4CisjOiB3dC1zdGF0dXMuYzoyODkKIG1zZ2lkICJ1bm1lcmdlZDoiCiBtc2dzdHIgIm9zYW1tYW5zbGFnZW46IgogCi0jOiB3dC1zdGF0dXMuYzozNzAKKyM6IHd0LXN0YXR1cy5jOjM3MQogbXNnaWQgIm5ldyBjb21taXRzLCAiCiBtc2dzdHIgIm55YSBpbmNoZWNrbmluZ2FyLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MgorIzogd3Qtc3RhdHVzLmM6MzczCiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICLDpG5kcmF0IGlubmVow6VsbCwgIgogCi0jOiB3dC1zdGF0dXMuYzozNzQKKyM6IHd0LXN0YXR1cy5jOjM3NQogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgIm9zcMOlcmF0IGlubmVow6VsbCwgIgogCi0jOiB3dC1zdGF0dXMuYzozOTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYnVnOiB1bmhhbmRsZWQgZGlmZiBzdGF0dXMgJWMiCi1tc2dzdHIgInByb2dyYW1mZWw6IGRpZmYtc3RhdHVzICVjIGVqIGhhbnRlcmFkIgotCi0jOiB3dC1zdGF0dXMuYzo3NTUKKyM6IHd0LXN0YXR1cy5jOjgxOAogbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgogbXNnc3RyICJVbmRlcm1vZHVsZXIgw6RuZHJhZGUgbWVuIGludGUgdXBwZGF0ZXJhZGU6IgogCi0jOiB3dC1zdGF0dXMuYzo3NTcKKyM6IHd0LXN0YXR1cy5jOjgyMAogbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIlVuZGVybW9kdWxlcnMgw6RuZHJpbmdhciBhdHQgY2hlY2thIGluOiIKIAotIzogd3Qtc3RhdHVzLmM6ODM4CisjOiB3dC1zdGF0dXMuYzo5MDEKIG1zZ2lkICIiCiAiRG8gbm90IHRvdWNoIHRoZSBsaW5lIGFib3ZlLlxuIgogIkV2ZXJ5dGhpbmcgYmVsb3cgd2lsbCBiZSByZW1vdmVkLiIKQEAgLTIyNzgsOTkgKzM2NDgsMTAzIEBACiAiUsO2ciBpbnRlIHJhZGVuIG92YW4uXG4iCiAiQWxsdCBuZWRhbiBrb21tZXIgdGFzIGJvcnQuIgogCi0jOiB3dC1zdGF0dXMuYzo5NDkKKyM6IHd0LXN0YXR1cy5jOjEwMTMKIG1zZ2lkICJZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4iCiBtc2dzdHIgIkR1IGhhciBlaiBzYW1tYW5zbGFnbmEgc8O2a3bDpGdhci4iCiAKLSM6IHd0LXN0YXR1cy5jOjk1MgorIzogd3Qtc3RhdHVzLmM6MTAxNgogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjb21taXRcIikiCiBtc2dzdHIgIiAgKHLDpHR0YSBrb25mbGlrdGVyIG9jaCBrw7ZyIFwiZ2l0IGNvbW1pdFwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTU2CisjOiB3dC1zdGF0dXMuYzoxMDE4Cittc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgorbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiBmw7ZyIGF0dCBhdmJyeXRhIHNhbW1hbnNsYWduaW5nZW4pIgorCisjOiB3dC1zdGF0dXMuYzoxMDIzCiBtc2dpZCAiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIKIG1zZ3N0ciAiQWxsYSBrb25mbGlrdGVyIGhhciByw6R0dGF0cyBtZW4gZHUgw6RyIGZvcnRmYXJhbmRlIGkgZW4gc2FtbWFuc2xhZ25pbmcuIgogCi0jOiB3dC1zdGF0dXMuYzo5NTkKKyM6IHd0LXN0YXR1cy5jOjEwMjYKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0XCIgdG8gY29uY2x1ZGUgbWVyZ2UpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IGNvbW1pdFwiIGbDtnIgYXR0IHNsdXRmw7ZyYSBzYW1tYW5zbGFnbmluZ2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6OTY5CisjOiB3dC1zdGF0dXMuYzoxMDM2CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICJEdSDDpHIgaSBtaXR0ZW4gYXYgZW4ga8O2cm5pbmcgYXYgXCJnaXQgYW1cIi4iCiAKLSM6IHd0LXN0YXR1cy5jOjk3MgorIzogd3Qtc3RhdHVzLmM6MTAzOQogbXNnaWQgIlRoZSBjdXJyZW50IHBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAiQWt0dWVsbCBwYXRjaCDDpHIgdG9tLiIKIAotIzogd3Qtc3RhdHVzLmM6OTc2CisjOiB3dC1zdGF0dXMuYzoxMDQzCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAocsOkdHRhIGtvbmZsaWt0ZXIgb2NoIGvDtnIgc2VkYW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6OTc4CisjOiB3dC1zdGF0dXMuYzoxMDQ1CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgYW0gLS1za2lwXCIgZsO2ciBhdHQgaG9wcGEgw7Z2ZXIgcGF0Y2hlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjk4MAorIzogd3Qtc3RhdHVzLmM6MTA0NwogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBhbSAtLWFib3J0XCIgZsO2ciBhdHQgw6V0ZXJzdMOkbGxhIHVyc3BydW5nc2dyZW5lbikiCiAKLSM6IHd0LXN0YXR1cy5jOjExMDUKKyM6IHd0LXN0YXR1cy5jOjExNzIKIG1zZ2lkICJObyBjb21tYW5kcyBkb25lLiIKIG1zZ3N0ciAiSW5nYSBrb21tYW5kb24gdXRmw7ZyZGEuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTA4CisjOiB3dC1zdGF0dXMuYzoxMTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxhc3QgY29tbWFuZCBkb25lICglZCBjb21tYW5kIGRvbmUpOiIKIG1zZ2lkX3BsdXJhbCAiTGFzdCBjb21tYW5kcyBkb25lICglZCBjb21tYW5kcyBkb25lKToiCiBtc2dzdHJbMF0gIlNpc3RhIGtvbW1hbmRvdCB1dGbDtnJ0ICglZCBrb21tYW5kbyB1dGbDtnJ0KToiCiBtc2dzdHJbMV0gIlNpc3RhIGtvbW1hbmRvdCB1dGbDtnJ0ICglZCBrb21tYW5kb24gdXRmw7ZydCk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMTE5CisjOiB3dC1zdGF0dXMuYzoxMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgogbXNnc3RyICIgIChzZSBmbGVyIGkgZmlsZW4gJXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI0CisjOiB3dC1zdGF0dXMuYzoxMTkxCiBtc2dpZCAiTm8gY29tbWFuZHMgcmVtYWluaW5nLiIKIG1zZ3N0ciAiSW5nYSBrb21tYW5kb24gw6V0ZXJzdMOlci4iCiAKLSM6IHd0LXN0YXR1cy5jOjExMjcKKyM6IHd0LXN0YXR1cy5jOjExOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTmV4dCBjb21tYW5kIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZCk6IgogbXNnaWRfcGx1cmFsICJOZXh0IGNvbW1hbmRzIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZHMpOiIKIG1zZ3N0clswXSAiTsOkc3RhIGtvbW1hbmRvIGF0dCB1dGbDtnJhICglZCBrb21tYW5kbyDDpXRlcnN0w6VyKToiCiBtc2dzdHJbMV0gIkbDtmxqYW5kZSBrb21tYW5kb24gYXR0IHV0ZsO2cmEgKCVkIGtvbW1hbmRvbiDDpXRlcnN0w6VyKToiCiAKLSM6IHd0LXN0YXR1cy5jOjExMzUKKyM6IHd0LXN0YXR1cy5jOjEyMDIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgdG8gdmlldyBhbmQgZWRpdCkiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgZsO2ciBhdHQgdmlzYSBvY2ggcmVkaWdlcmEpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTQ4CisjOiB3dC1zdGF0dXMuYzoxMjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICJEdSBow6VsbGVyIHDDpSBhdHQgb21iYXNlcmEgZ3JlbmVuIFwiJXNcIiBvdmFucMOlIFwiJXNcIi4iCiAKLSM6IHd0LXN0YXR1cy5jOjExNTMKKyM6IHd0LXN0YXR1cy5jOjEyMjAKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCiBtc2dzdHIgIkR1IGjDpWxsZXIgcMOlIG1lZCBlbiBvbWJhc2VyaW5nLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE2NworIzogd3Qtc3RhdHVzLmM6MTIzNAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChyw6R0dGEga29uZmxpa3RlciBvY2gga8O2ciBzZWRhbiBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE2OQorIzogd3Qtc3RhdHVzLmM6MTIzNgogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCByZWJhc2UgLS1za2lwXCIgZsO2ciBhdHQgaG9wcGEgw7Z2ZXIgcGF0Y2hlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjExNzEKKyM6IHd0LXN0YXR1cy5jOjEyMzgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiBmw7ZyIGF0dCBjaGVja2EgdXQgdXJzcHJ1bmdzZ3JlbmVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE3NworIzogd3Qtc3RhdHVzLmM6MTI0NAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoYWxsYSBrb25mbGlrdGVyIHLDpHR0YWRlOiBrw7ZyIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTgxCisjOiB3dC1zdGF0dXMuYzoxMjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCkBAIC0yMzc4LDEyMiArMzc1MiwxMjIgQEAKICJEdSBow6VsbGVyIHDDpSBhdHQgZGVsYSB1cHAgZW4gaW5jaGVja25pbmcgbWVkYW4gZHUgb21iYXNlcmFyIGdyZW5lbiBcIiVzXCIgIgogIm92YW5ww6UgXCIlc1wiLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE4NgorIzogd3Qtc3RhdHVzLmM6MTI1MwogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICJEdSBow6VsbGVyIHDDpSBhdHQgZGVsYSB1cHAgZW4gaW5jaGVja25pbmcgaSBlbiBvbWJhc2VyaW5nLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE4OQorIzogd3Qtc3RhdHVzLmM6MTI1NgogbXNnaWQgIiAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChTw6UgZm9ydCBkaW4gYXJiZXRza2F0YWxvZyDDpHIgcmVuLCBrw7ZyIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTkzCisjOiB3dC1zdGF0dXMuYzoxMjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIiIKICJEdSBow6VsbGVyIHDDpSBhdHQgcmVkaWdlcmEgZW4gaW5jaGVja25pbmcgbWVkYW4gZHUgb21iYXNlcmFyIGdyZW5lbiBcIiVzXCIgIgogIm92YW5ww6UgXCIlc1wiLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE5OAorIzogd3Qtc3RhdHVzLmM6MTI2NQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgYXR0IHJlZGlnZXJhIGVuIGluY2hlY2tuaW5nIHVuZGVyIGVuIG9tYmFzZXJpbmcuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjAxCisjOiB3dC1zdGF0dXMuYzoxMjY4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiIgogIiAgKGFudsOkbmQgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiBmw7ZyIGF0dCBsw6RnZ2EgdGlsbCBww6UgYWt0dWVsbCBpbmNoZWNrbmluZykiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDMKKyM6IHd0LXN0YXR1cy5jOjEyNzAKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBuw6RyIGR1IMOkciBuw7ZqZCBtZWQgZGluYSDDpG5kcmluZ2FyKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIxMworIzogd3Qtc3RhdHVzLmM6MTI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICJEdSBow6VsbGVyIHDDpSBtZWQgZW4gXCJjaGVycnktcGlja1wiIGF2IGluY2hlY2tuaW5nZW4gJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjE4CisjOiB3dC1zdGF0dXMuYzoxMjg1CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHLDpHR0YSBrb25mbGlrdGVyIG9jaCBrw7ZyIHNlZGFuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjEKKyM6IHd0LXN0YXR1cy5jOjEyODgKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoYWxsYSBrb25mbGlrdGVyIHLDpHR0YWRlOiBrw7ZyIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMjMKKyM6IHd0LXN0YXR1cy5jOjEyOTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKGFudsOkbmQgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIGbDtnIgYXR0IGF2YnJ5dGEgXCJjaGVycnktcGlja1wiLSIKICJvcGVyYXRpb25lbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzIKKyM6IHd0LXN0YXR1cy5jOjEyOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIkR1IGjDpWxsZXIgcMOlIG1lZCBhdHQgw6VuZ3JhIGluY2hlY2tuaW5nZW4gJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjM3CisjOiB3dC1zdGF0dXMuYzoxMzA0CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChyw6R0dGEga29uZmxpa3RlciBvY2gga8O2ciBzZWRhbiBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI0MAorIzogd3Qtc3RhdHVzLmM6MTMwNwogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoYWxsYSBrb25mbGlrdGVyIHLDpHR0YWRlOiBrw7ZyIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjQyCisjOiB3dC1zdGF0dXMuYzoxMzA5CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCByZXZlcnQgLS1hYm9ydFwiIGbDtnIgYXR0IGF2YnJ5dGEgw6VuZ3JhbmRldCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTMKKyM6IHd0LXN0YXR1cy5jOjEzMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLCBzdGFydGVkIGZyb20gYnJhbmNoICclcycuIgogbXNnc3RyICJEdSBow6VsbGVyIHDDpSBtZWQgZW4gXCJiaXNlY3RcIiwgc3RhcnRhZCBmcsOlbiBncmVuZW4gXCIlc1wiLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NworIzogd3Qtc3RhdHVzLmM6MTMyNAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgIkR1IGjDpWxsZXIgcMOlIG1lZCBlbiBcImJpc2VjdFwiLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MAorIzogd3Qtc3RhdHVzLmM6MTMyNwogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogIiAgKGFudsOkbmQgXCJnaXQgYmlzZWN0IHJlc2V0XCIgZsO2ciBhdHQga29tbWEgdGlsbGJha2EgdGlsbCB1cnNwcnVuZ3NncmVuZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxNDYwCisjOiB3dC1zdGF0dXMuYzoxNTI0CiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAiUMOlIGdyZW5lbiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NjYKKyM6IHd0LXN0YXR1cy5jOjE1MzAKIG1zZ2lkICJpbnRlcmFjdGl2ZSByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICJpbnRlcmFrdGl2IG9tYmFzZXJpbmcgcMOlZ8Olcjsgb3ZhbnDDpSIKIAotIzogd3Qtc3RhdHVzLmM6MTQ2OAorIzogd3Qtc3RhdHVzLmM6MTUzMgogbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgIm9tYmFzZXJpbmcgcMOlZ8Olcjsgb3ZhbnDDpSIKIAotIzogd3Qtc3RhdHVzLmM6MTQ3MworIzogd3Qtc3RhdHVzLmM6MTUzNwogbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgogbXNnc3RyICJIRUFEIGZyw6Vua29wcGxhZCB2aWQgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDc1CisjOiB3dC1zdGF0dXMuYzoxNTM5CiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKIG1zZ3N0ciAiSEVBRCBmcsOlbmtvcHBsYWQgZnLDpW4gIgogCi0jOiB3dC1zdGF0dXMuYzoxNDc4CisjOiB3dC1zdGF0dXMuYzoxNTQyCiBtc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiSW50ZSBww6UgbsOlZ29uIGdyZW4gZsO2ciBuw6RydmFyYW5kZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjE0OTYKKyM6IHd0LXN0YXR1cy5jOjE1NjAKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiRsO2cnN0YSBpbmNoZWNrbmluZyIKIAotIzogd3Qtc3RhdHVzLmM6MTUxMAorIzogd3Qtc3RhdHVzLmM6MTU3NAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiT3Nww6VyYWRlIGZpbGVyIgogCi0jOiB3dC1zdGF0dXMuYzoxNTEyCisjOiB3dC1zdGF0dXMuYzoxNTc2CiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiSWdub3JlcmFkZSBmaWxlciIKIAotIzogd3Qtc3RhdHVzLmM6MTUxNgorIzogd3Qtc3RhdHVzLmM6MTU4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgpAQCAtMjUwNSwzMiArMzg3OSwzMiBAQAogImzDpGdnYSB0aWxsIG55YSBmaWxlciBzasOkbHYgKHNlIFwiZ2l0IGhlbHAgc3RhdHVzXCIpLiIKIAogIyAlcyDDpHIgbsOkc3RhIHN0csOkbmcgZWxsZXIgdG9tLgotIzogd3Qtc3RhdHVzLmM6MTUyMgorIzogd3Qtc3RhdHVzLmM6MTU4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgogbXNnc3RyICJPc3DDpXJhZGUgZmlsZXIgdmlzYXMgZWolcyIKIAotIzogd3Qtc3RhdHVzLmM6MTUyNAorIzogd3Qtc3RhdHVzLmM6MTU4OAogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIiAoYW52w6RuZCBmbGFnZ2FuIC11IGbDtnIgYXR0IHZpc2Egb3Nww6VyYWRlIGZpbGVyKSIKIAotIzogd3Qtc3RhdHVzLmM6MTUzMAorIzogd3Qtc3RhdHVzLmM6MTU5NAogbXNnaWQgIk5vIGNoYW5nZXMiCiBtc2dzdHIgIkluZ2Egw6RuZHJpbmdhciIKIAotIzogd3Qtc3RhdHVzLmM6MTUzNQorIzogd3Qtc3RhdHVzLmM6MTU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAiIgogImluZ2Egw6RuZHJpbmdhciBhdHQgY2hlY2thIGluIChhbnbDpG5kIFwiZ2l0IGFkZFwiIG9jaC9lbGxlciBcImdpdCBjb21taXQgLWEiCiAiXCIpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzgKKyM6IHd0LXN0YXR1cy5jOjE2MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKIG1zZ3N0ciAiaW5nYSDDpG5kcmluZ2FyIGF0dCBjaGVja2EgaW5cbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU0MQorIzogd3Qtc3RhdHVzLmM6MTYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgpAQCAtMjUzOSw1MiArMzkxMyw2NyBAQAogImluZ2V0IGvDtmF0IGbDtnIgaW5jaGVja25pbmcsIG1lbiBvc3DDpXJhZGUgZmlsZXIgZmlubnMgKHNww6VyYSBtZWQgXCJnaXQgYWRkIgogIlwiKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQ0CisjOiB3dC1zdGF0dXMuYzoxNjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgogbXNnc3RyICJpbmdldCBrw7ZhdCBmw7ZyIGluY2hlY2tuaW5nLCBtZW4gb3Nww6VyYWRlIGZpbGVyIGZpbm5zXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDcKKyM6IHd0LXN0YXR1cy5jOjE2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCiBtc2dzdHIgImluZ2V0IGF0dCBjaGVja2EgaW4gKHNrYXBhL2tvcGllcmEgZmlsZXIgb2NoIHNww6VyYSBtZWQgXCJnaXQgYWRkXCIpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NTAgd3Qtc3RhdHVzLmM6MTU1NQorIzogd3Qtc3RhdHVzLmM6MTYxNCB3dC1zdGF0dXMuYzoxNjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0XG4iCiBtc2dzdHIgImluZ2V0IGF0dCBjaGVja2EgaW5cbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU1MworIzogd3Qtc3RhdHVzLmM6MTYxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgogbXNnc3RyICJpbmdldCBhdHQgY2hlY2thIGluIChhbnbDpG5kIC11IGbDtnIgYXR0IHZpc2Egb3Nww6VyYWRlIGZpbGVyKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTU3CisjOiB3dC1zdGF0dXMuYzoxNjIxCiAjLCBjLWZvcm1hdAotbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIGRpcmVjdG9yeSBjbGVhblxuIgorbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKIG1zZ3N0ciAiaW5nZXQgYXR0IGNoZWNrYSBpbiwgYXJiZXRza2F0YWxvZ2VuIHJlblxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjY0CisjOiB3dC1zdGF0dXMuYzoxNzI4CiBtc2dpZCAiSW5pdGlhbCBjb21taXQgb24gIgogbXNnc3RyICJGw7Zyc3RhIGluY2hlY2tuaW5nIHDDpSAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjgKKyM6IHd0LXN0YXR1cy5jOjE3MzIKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEIChpbmdlbiBncmVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTY5NworIzogd3Qtc3RhdHVzLmM6MTc2MQogbXNnaWQgImdvbmUiCiBtc2dzdHIgImbDtnJzdnVubmVuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjk5IHd0LXN0YXR1cy5jOjE3MDcKKyM6IHd0LXN0YXR1cy5jOjE3NjMgd3Qtc3RhdHVzLmM6MTc3MQogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgImVmdGVyICIKIAotIzogd3Qtc3RhdHVzLmM6MTcwMiB3dC1zdGF0dXMuYzoxNzA1CisjOiB3dC1zdGF0dXMuYzoxNzY2IHd0LXN0YXR1cy5jOjE3NjkKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgImbDtnJlICIKIAotIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU3IGJ1aWx0aW4vY2xvbmUuYzo0MTUKKyMuIFRSQU5TTEFUT1JTOiB0aGUgYWN0aW9uIGlzIGUuZy4gInB1bGwgd2l0aCByZWJhc2UiCisjOiB3dC1zdGF0dXMuYzoyMjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCAlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgImthbiBpbnRlICVzOiBEdSBoYXIgb2vDtmFkZSDDpG5kcmluZ2FyLiIKKworIzogd3Qtc3RhdHVzLmM6MjI3NgorbXNnaWQgImFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiZGVzc3V0b20gaW5uZWjDpWxsZXIgZGl0IGluZGV4IMOkbmRyaW5nYXIgc29tIGludGUgaGFyIGNoZWNrYXRzIGluLiIKKworIzogd3Qtc3RhdHVzLmM6MjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgJXM6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgImthbiBpbnRlICVzOiBEaXR0IGluZGV4IGlubmVow6VsbGVyIMOkbmRyaW5nYXIgc29tIGludGUgY2hlY2thdHMgaW4uIgorCisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTcgYnVpbHRpbi9jbG9uZS5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBib3J0IGzDpG5rZW4gXCIlc1wiIgpAQCAtMjU5MywyNTkgKzM5ODIsMjU4IEBACiBtc2dpZCAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBhZGQgWzxmbGFnZ29yPl0gWy0tXSA8c8O2a3bDpGc+Li4uIgogCi0jOiBidWlsdGluL2FkZC5jOjY1CisjOiBidWlsdGluL2FkZC5jOjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgImRpZmYtc3RhdHVzICVjIGbDtnJ2w6RudGFkZXMgaW50ZSIKIAotIzogYnVpbHRpbi9hZGQuYzo3MCBidWlsdGluL2NvbW1pdC5jOjI4MAorIzogYnVpbHRpbi9hZGQuYzo4NSBidWlsdGluL2NvbW1pdC5jOjI5MQogbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHVwcGRhdGVyYSBmaWxlciIKIAotIzogYnVpbHRpbi9hZGQuYzo4MAorIzogYnVpbHRpbi9hZGQuYzo5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdmUgJyVzJ1xuIgogbXNnc3RyICJ0YSBib3J0IFwiJXNcIlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjEzNAorIzogYnVpbHRpbi9hZGQuYzoxNDkKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAiT2vDtmFkZSDDpG5kcmluZ2FyIGVmdGVyIGF0dCBoYSB1cHBkYXRlcmF0IGluZGV4ZXQ6IgogCi0jOiBidWlsdGluL2FkZC5jOjE5NCBidWlsdGluL3Jldi1wYXJzZS5jOjgxMQorIzogYnVpbHRpbi9hZGQuYzoyMDkgYnVpbHRpbi9yZXYtcGFyc2UuYzo4NDAKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIkt1bmRlIGludGUgbMOkc2EgaW5kZXhldCIKIAotIzogYnVpbHRpbi9hZGQuYzoyMDUKKyM6IGJ1aWx0aW4vYWRkLmM6MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIgogbXNnc3RyICJLdW5kZSBpbnRlIMO2cHBuYSBcIiVzXCIgZsO2ciBza3Jpdm5pbmciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjA5CisjOiBidWlsdGluL2FkZC5jOjIyNAogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBza3JpdmEgcGF0Y2giCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjEyCisjOiBidWlsdGluL2FkZC5jOjIyNwogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICJyZWRpZ2VyaW5nIGF2IHBhdGNoIG1pc3NseWNrYWRlcyIKIAotIzogYnVpbHRpbi9hZGQuYzoyMTUKKyM6IGJ1aWx0aW4vYWRkLmM6MjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgIkt1bmRlIGludGUgdGEgc3RhdHVzIHDDpSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjE3CisjOiBidWlsdGluL2FkZC5jOjIzMgogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAiVG9tIHBhdGNoLiBBdmJyeXRlci4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjIyCisjOiBidWlsdGluL2FkZC5jOjIzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB0aWxsw6RtcGEgXCIlc1wiIgogCi0jOiBidWlsdGluL2FkZC5jOjIzMgorIzogYnVpbHRpbi9hZGQuYzoyNDcKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCiBtc2dzdHIgIkbDtmxqYW5kZSBzw7ZrdsOkZ2FyIGlnbm9yZXJhcyBhdiBlbiBhdiBkaW5hIC5naXRpZ25vcmUtZmlsZXI6XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ5IGJ1aWx0aW4vY2xlYW4uYzo4NzAgYnVpbHRpbi9mZXRjaC5jOjExMiBidWlsdGluL212LmM6MTExCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU1IGJ1aWx0aW4vcHVsbC5jOjE5NyBidWlsdGluL3B1c2guYzo1MTEKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMzMiBidWlsdGluL3JtLmM6MjY4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCisjOiBidWlsdGluL2FkZC5jOjI2NiBidWlsdGluL2NsZWFuLmM6ODcwIGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9tdi5jOjExMQorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NSBidWlsdGluL3B1bGwuYzoxOTggYnVpbHRpbi9wdXNoLmM6NTIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjYgYnVpbHRpbi9ybS5jOjI2OCBidWlsdGluL3NlbmQtcGFjay5jOjE2MgogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgInRlc3Rrw7ZybmluZyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTAgYnVpbHRpbi9hcHBseS5jOjQ1NjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMzMzIGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg1IGJ1aWx0aW4vZnNjay5jOjU1NwotIzogYnVpbHRpbi9sb2cuYzoxODI2IGJ1aWx0aW4vbXYuYzoxMTAgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKLW1zZ2lkICJiZSB2ZXJib3NlIgotbXNnc3RyICJ2YXIgcHJhdHNhbSIKLQotIzogYnVpbHRpbi9hZGQuYzoyNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MjY5CiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAicGxvY2thIGludGVyYWt0aXZ0IgogCi0jOiBidWlsdGluL2FkZC5jOjI1MyBidWlsdGluL2NoZWNrb3V0LmM6MTE1NCBidWlsdGluL3Jlc2V0LmM6Mjg2CisjOiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrb3V0LmM6MTE1NiBidWlsdGluL3Jlc2V0LmM6Mjg2CiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgInbDpGxqIHN0eWNrZW4gaW50ZXJha3RpdnQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU0CisjOiBidWlsdGluL2FkZC5jOjI3MQogbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKIG1zZ3N0ciAicmVkaWdlcmEgYWt0dWVsbCBkaWZmIG9jaCBhcHBsaWNlcmEiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU1CisjOiBidWlsdGluL2FkZC5jOjI3MgogbXNnaWQgImFsbG93IGFkZGluZyBvdGhlcndpc2UgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAidGlsbMOldCBsw6RnZ2EgdGlsbCBhbm5hcnMgaWdub3JlcmFkZSBmaWxlciIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6MjczCiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgInVwcGRhdGVyYSBzcMOlcmFkZSBmaWxlciIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTcKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc0CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICJyZWdpc3RyZXJhIGVuZGFzdCBhdHQgc8O2a3bDpGdlbiBrb21tZXIgbMOkZ2dhcyB0aWxsIHNlbmFyZSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTgKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJsw6RnZyB0aWxsIMOkbmRyaW5nYXIgZnLDpW4gYWxsYSBzcMOlcmFkZSBvY2ggb3Nww6VyYWRlIGZpbGVyIgogCi0jOiBidWlsdGluL2FkZC5jOjI2MQorIzogYnVpbHRpbi9hZGQuYzoyNzgKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKIG1zZ3N0ciAiaWdub3JlcmEgc8O2a3bDpGdhciBib3J0dGFnbmEgaSBhcmJldHNrYXRhbG9nZW4gKHNhbW1hIHNvbSAtLW5vLWFsbCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjYzCisjOiBidWlsdGluL2FkZC5jOjI4MAogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAibMOkZ2cgaW50ZSB0aWxsLCB1cHBkYXRlcmEgZW5kYXN0IGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY0CisjOiBidWlsdGluL2FkZC5jOjI4MQogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgImhvcHBhIGJhcmEgw7Z2ZXIgZmlsZXIgc29tIGludGUga2FuIGzDpGdnYXMgdGlsbCBww6UgZ3J1bmQgYXYgZmVsIgogCi0jOiBidWlsdGluL2FkZC5jOjI2NQorIzogYnVpbHRpbi9hZGQuYzoyODIKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgInNlIG9tIC0gw6R2ZW4gc2FrbmFkZSAtIGZpbGVyIGlnbm9yZXJhcyBpIHRlc3Rrw7ZybmluZyIKIAotIzogYnVpbHRpbi9hZGQuYzoyODcKKyM6IGJ1aWx0aW4vYWRkLmM6MjgzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ3Cittc2dpZCAiKCsvLSl4IgorbXNnc3RyICIoKy8tKXgiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MjgzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ4Cittc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCittc2dzdHIgIsO2dmVyc3R5ciBleGVrdmVyaW5nc2JpdGVuIGbDtnIgYW5naXZuYSBmaWxlciIKKworIzogYnVpbHRpbi9hZGQuYzozMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKIG1zZ3N0ciAiQW52w6RuZCAtZiBvbSBkdSB2ZXJrbGlnZW4gdmlsbCBsw6RnZ2EgdGlsbCBkZW0uXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk0CisjOiBidWlsdGluL2FkZC5jOjMxMgogbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBsw6RnZ2EgdGlsbCBmaWxlciIKIAotIzogYnVpbHRpbi9hZGQuYzozMzAKKyM6IGJ1aWx0aW4vYWRkLmM6MzQ4CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi1BIG9jaCAtdSDDpHIgw7Ztc2VzaWRpZ3QgaW5rb21wYXRpYmxhIgogCi0jOiBidWlsdGluL2FkZC5jOjMzNworIzogYnVpbHRpbi9hZGQuYzozNTUKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgogbXNnc3RyICJGbGFnZ2FuIC0taWdub3JlLW1pc3Npbmcga2FuIGVuZGFzdCBhbnbDpG5kYXMgdGlsbHNhbW1hbnMgbWVkIC0tZHJ5LXJ1biIKIAotIzogYnVpbHRpbi9hZGQuYzozNTIKKyM6IGJ1aWx0aW4vYWRkLmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tY2htb2QgcGFyYW0gJyVzJyBtdXN0IGJlIGVpdGhlciAteCBvciAreCIKK21zZ3N0ciAiLS1jaG1vZC1wYXJhbWV0ZXJuIFwiJXNcIiBtw6VzdGUgYW50aW5nZW4gdmFyYSAteCBlbGxlciAreCIKKworIzogYnVpbHRpbi9hZGQuYzozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIkluZ2V0IGFuZ2l2ZXQsIGluZ2V0IHRpbGxhZ3QuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUzCisjOiBidWlsdGluL2FkZC5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiS2Fuc2tlIG1lbmFkZSBkdSBhdHQgc2tyaXZhIFwiZ2l0IGFkZCAuXCI/XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzU4IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcyIGJ1aWx0aW4vY2xlYW4uYzo5MTQKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzM5IGJ1aWx0aW4vbXYuYzoxMzEgYnVpbHRpbi9yZXNldC5jOjIzNSBidWlsdGluL3JtLmM6Mjk4Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQwCisjOiBidWlsdGluL2FkZC5jOjM4MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MiBidWlsdGluL2NoZWNrb3V0LmM6Mjc5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDcyIGJ1aWx0aW4vY2xlYW4uYzo5MTQgYnVpbHRpbi9jb21taXQuYzozNTAKKyM6IGJ1aWx0aW4vbXYuYzoxMzEgYnVpbHRpbi9yZXNldC5jOjIzNSBidWlsdGluL3JtLmM6Mjk4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQ0CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICJpbmRleGZpbGVuIHRyYXNpZyIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzkgYnVpbHRpbi9hcHBseS5jOjQ2NjEgYnVpbHRpbi9tdi5jOjI4MyBidWlsdGluL3JtLmM6NDMwCi1tc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgotbXNnc3RyICJLdW5kZSBpbnRlIHNrcml2YSBueSBpbmRleGZpbCIKLQotIzogYnVpbHRpbi9hbS5jOjI1NiBidWlsdGluL2NvbW1pdC5jOjc0OSBidWlsdGluL21lcmdlLmM6MTA4OQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgotbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIFwiJXNcIiIKLQotIzogYnVpbHRpbi9hbS5jOjQzMAorIzogYnVpbHRpbi9hbS5jOjQxNAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBhdXRob3Igc2NyaXB0IgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGbDtnJmYXR0YXJza3JpcHQiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1MDcKKyM6IGJ1aWx0aW4vYW0uYzo0OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyB3YXMgZGVsZXRlZCBieSB0aGUgYXBwbHlwYXRjaC1tc2cgaG9vayIKIG1zZ3N0ciAiXCIlc1wiIHRvZ3MgYm9ydCBhdiBrcm9rZW4gYXBwbHlwYXRjaC1tc2ciCiAKLSM6IGJ1aWx0aW4vYW0uYzo1NDggYnVpbHRpbi9ub3Rlcy5jOjMwMAorIzogYnVpbHRpbi9hbS5jOjUzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgIkZlbGFrdGlnIGluZGF0YXJhZDogXCIlc1wiLiIKIAotIzogYnVpbHRpbi9hbS5jOjU4NSBidWlsdGluL25vdGVzLmM6MzE1CisjOiBidWlsdGluL2FtLmM6NTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICJNaXNzbHlja2FkZXMga29waWVyYSBhbnRlY2tuaW5nYXIgZnLDpW4gXCIlc1wiIHRpbGwgXCIlc1wiIgogCi0jOiBidWlsdGluL2FtLmM6NjExCisjOiBidWlsdGluL2FtLmM6NTk1CiBtc2dpZCAiZnNlZWsgZmFpbGVkIgogbXNnc3RyICJcImZzZWVrXCIgbWlzc2x5Y2thZGVzIgogCi0jOiBidWlsdGluL2FtLmM6Nzg4CisjOiBidWlsdGluL2FtLmM6Nzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXRjaCAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIHBhdGNoZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL2FtLmM6ODUzCisjOiBidWlsdGluL2FtLmM6ODQwCiBtc2dpZCAiT25seSBvbmUgU3RHSVQgcGF0Y2ggc2VyaWVzIGNhbiBiZSBhcHBsaWVkIGF0IG9uY2UiCiBtc2dzdHIgIkVuZGFzdCBlbiBTdEdJVC1wYXRjaHNlcmllIGthbiB0aWxsw6RtcGFzIMOldCBnw6VuZ2VuIgogCi0jOiBidWlsdGluL2FtLmM6OTAwCisjOiBidWlsdGluL2FtLmM6ODg3CiBtc2dpZCAiaW52YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIm9naWx0aWcgdGlkc3N0w6RtcGVsIgogCi0jOiBidWlsdGluL2FtLmM6OTAzIGJ1aWx0aW4vYW0uYzo5MTEKKyM6IGJ1aWx0aW4vYW0uYzo4OTAgYnVpbHRpbi9hbS5jOjg5OAogbXNnaWQgImludmFsaWQgRGF0ZSBsaW5lIgogbXNnc3RyICJvZ2lsdGlnIFwiRGF0ZVwiLXJhZCIKIAotIzogYnVpbHRpbi9hbS5jOjkwOAorIzogYnVpbHRpbi9hbS5jOjg5NQogbXNnaWQgImludmFsaWQgdGltZXpvbmUgb2Zmc2V0IgogbXNnc3RyICJvZ2lsdGlnIHRpZHN6b25zLW9mZnNldCIKIAotIzogYnVpbHRpbi9hbS5jOjk5NQorIzogYnVpbHRpbi9hbS5jOjk4NAogbXNnaWQgIlBhdGNoIGZvcm1hdCBkZXRlY3Rpb24gZmFpbGVkLiIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIGRldGVrdGVyYSBwYXRjaGZvcm1hdC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMDAwIGJ1aWx0aW4vY2xvbmUuYzozODAKKyM6IGJ1aWx0aW4vYW0uYzo5ODkgYnVpbHRpbi9jbG9uZS5jOjM3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgc2thcGEga2F0YWxvZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9hbS5jOjEwMDQKKyM6IGJ1aWx0aW4vYW0uYzo5OTMKIG1zZ2lkICJGYWlsZWQgdG8gc3BsaXQgcGF0Y2hlcy4iCiBtc2dzdHIgIk1pc3NseWNrYWRlcyBkZWxhIHBhdGNoYXIuIgogCi0jOiBidWlsdGluL2FtLmM6MTEzNiBidWlsdGluL2NvbW1pdC5jOjM2NQorIzogYnVpbHRpbi9hbS5jOjExMjUgYnVpbHRpbi9jb21taXQuYzozNzYKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKIG1zZ3N0ciAia2FuIGludGUgc2tyaXZhIGluZGV4ZmlsIgogCi0jOiBidWlsdGluL2FtLmM6MTE4NworIzogYnVpbHRpbi9hbS5jOjExNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcIiVzIC0tY29udGludWVcIi4iCiBtc2dzdHIgIk7DpHIgZHUgaGFyIGzDtnN0IHByb2JsZW1ldCwga8O2ciBcIiVzIC0tY29udGludWVcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTg4CisjOiBidWlsdGluL2FtLmM6MTE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiJXMgLS1za2lwXCIgaW5zdGVhZC4iCiBtc2dzdHIgIk9tIGR1IGhlbGxyZSB2aWxsIGhvcHBhIMO2dmVyIHBhdGNoZW4sIGvDtnIgXCIlcyAtLXNraXBcIiBpIHN0w6RsbGV0LiIKIAotIzogYnVpbHRpbi9hbS5jOjExODkKKyM6IGJ1aWx0aW4vYW0uYzoxMTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKIG1zZ3N0ciAiIgogIkbDtnIgYXR0IMOldGVyZ8OlIHRpbGwgdXJzcHJ1bmdsaWcgZ3JlbiBvY2ggc2x1dGEgcGF0Y2hhLCBrw7ZyIFwiJXMgLS1hYm9ydFwiLiIKIAotIzogYnVpbHRpbi9hbS5jOjEzMjcKKyM6IGJ1aWx0aW4vYW0uYzoxMzE2CiBtc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIFdhcyBpdCBzcGxpdCB3cm9uZz8iCiBtc2dzdHIgIlBhdGNoZW4gw6RyIHRvbS4gRGVsYWRlcyBkZW4gdXBwIGZlbGFrdGlndD8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNDAxIGJ1aWx0aW4vbG9nLmM6MTUxNgorIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9sb2cuYzoxNTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCiBtc2dzdHIgIm9naWx0aWcgaWRlbnQtcmFkOiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE0MjgKKyM6IGJ1aWx0aW4vYW0uYzoxNDE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdG9sa2EgaW5jaGVja25pbmdlbiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzAKKyM6IGJ1aWx0aW4vYW0uYzoxNjEwCiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiIgogIkFya2l2ZXQgc2FrbmFyIG9iamVrdCBzb20gYmVow7Z2cyBmw7ZyIGF0dCBmYWxsYSB0aWxsYmFrYSBww6UgMy0iCiAidsOkZ3NzYW1tYW5zbGFnbmluZy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjMyCisjOiBidWlsdGluL2FtLmM6MTYxMgogbXNnaWQgIlVzaW5nIGluZGV4IGluZm8gdG8gcmVjb25zdHJ1Y3QgYSBiYXNlIHRyZWUuLi4iCiBtc2dzdHIgIkFudsOkbmRlciBpbmRleGluZm8gZsO2ciBhdHQgw6V0ZXJza2FwYSBldHQgYmFzdHLDpGQuLi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjUxCisjOiBidWlsdGluL2FtLmM6MTYzMQogbXNnaWQgIiIKICJEaWQgeW91IGhhbmQgZWRpdCB5b3VyIHBhdGNoP1xuIgogIkl0IGRvZXMgbm90IGFwcGx5IHRvIGJsb2JzIHJlY29yZGVkIGluIGl0cyBpbmRleC4iCkBAIC0yODUzLDM5ICs0MjQxLDM5IEBACiAiSGFyIGR1IGhhbmRyZWRpZ2VyYXQgZGluIHBhdGNoP1xuIgogIkRlbiBrYW4gaW50ZSB0aWxsw6RtcGFzIHDDpSBibG9iYmFyIHNvbSBhbnRlY2tuYXRzIGkgZGVzcyBpbmRleC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjU3CisjOiBidWlsdGluL2FtLmM6MTYzNwogbXNnaWQgIkZhbGxpbmcgYmFjayB0byBwYXRjaGluZyBiYXNlIGFuZCAzLXdheSBtZXJnZS4uLiIKIG1zZ3N0ciAiIgogIkZhbGxlciB0aWxsYmFrYSBww6UgYXR0IHBhdGNoYSBncnVuZHZlcnNpb25lbiBvY2ggdHJldsOkZ3NzYW1tYW5zbGFnbmluZy4uLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NzIKKyM6IGJ1aWx0aW4vYW0uYzoxNjYyCiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIGluIHRoZSBjaGFuZ2VzLiIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHNsw6UgaWhvcCDDpG5kcmluZ2FybmEuIgogCi0jOiBidWlsdGluL2FtLmM6MTY5NiBidWlsdGluL21lcmdlLmM6NjM2CisjOiBidWlsdGluL2FtLmM6MTY4NiBidWlsdGluL21lcmdlLmM6NjI4CiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgbWlzc2x5Y2thZGVzIHNrcml2YSBldHQgdHLDpGQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzAzCisjOiBidWlsdGluL2FtLmM6MTY5MwogbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCiBtc2dzdHIgInRpbGzDpG1wYXIgcMOlIGVuIHRvbSBoaXN0b3JpayIKIAotIzogYnVpbHRpbi9hbS5jOjE3MTYgYnVpbHRpbi9jb21taXQuYzoxNzc1IGJ1aWx0aW4vbWVyZ2UuYzo4NDEKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjYKKyM6IGJ1aWx0aW4vYW0uYzoxNzA2IGJ1aWx0aW4vY29tbWl0LmM6MTc2OSBidWlsdGluL21lcmdlLmM6Nzk4CisjOiBidWlsdGluL21lcmdlLmM6ODIzCiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIGluY2hlY2tuaW5nc29iamVrdCIKIAotIzogYnVpbHRpbi9hbS5jOjE3NDggYnVpbHRpbi9hbS5jOjE3NTIKKyM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxNzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXN1bWU6ICVzIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAia2FuIGludGUgw6V0ZXJ1cHB0YTogJXMgZmlubnMgaW50ZS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzY4CisjOiBidWlsdGluL2FtLmM6MTc1OQogbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKIG1zZ3N0ciAiIgogImthbiBpbnRlIHZhcmEgaW50ZXJha3RpdiBvbSBzdGFuZGFyZCBpbiBpbnRlIMOkciBhbnNsdXRlbiB0aWxsIGVuIHRlcm1pbmFsLiIKIAotIzogYnVpbHRpbi9hbS5jOjE3NzMKKyM6IGJ1aWx0aW4vYW0uYzoxNzY0CiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICJJbmNoZWNrbmluZ3Nrcm9wcGVuIMOkcjoiCiAKQEAgLTI4OTMsMzUgKzQyODEsMzUgQEAKICMuIGluIHlvdXIgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaAogIy4gaW5wdXQgYXQgdGhpcyBwb2ludC4KICMuCi0jOiBidWlsdGluL2FtLmM6MTc4MworIzogYnVpbHRpbi9hbS5jOjE3NzQKIG1zZ2lkICJBcHBseT8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbDogIgogbXNnc3RyICJUaWxsw6RtcGE/IFk9amEvTj1uZWovRT1yZWRpZ2VyYS9WPXZpc2EgcGF0Y2gvQT1nb2R0YSBhbGxhOiAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODMzCisjOiBidWlsdGluL2FtLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAlcykiCiBtc2dzdHIgIlNtdXRzaWd0IGluZGV4OiBrYW4gaW50ZSB0aWxsw6RtcGEgcGF0Y2hhciAoc211dHNpZ2E6ICVzKSIKIAotIzogYnVpbHRpbi9hbS5jOjE4NjggYnVpbHRpbi9hbS5jOjE5NDAKKyM6IGJ1aWx0aW4vYW0uYzoxODYxIGJ1aWx0aW4vYW0uYzoxOTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nOiAlLipzIgogbXNnc3RyICJUaWxsw6RtcGFyOiAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTg4NAorIzogYnVpbHRpbi9hbS5jOjE4NzcKIG1zZ2lkICJObyBjaGFuZ2VzIC0tIFBhdGNoIGFscmVhZHkgYXBwbGllZC4iCiBtc2dzdHIgIkluZ2Egw6RuZHJpbmdhciAtLSBQYXRjaGVuIGhhciByZWRhbiB0aWxsw6RtcGF0cy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODkyCisjOiBidWlsdGluL2FtLmM6MTg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJXMgJS4qcyIKIG1zZ3N0ciAiUGF0Y2ggbWlzc2x5Y2thZGVzIHDDpSAlcyAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTg5OAorIzogYnVpbHRpbi9hbS5jOjE4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGNvcHkgb2YgdGhlIHBhdGNoIHRoYXQgZmFpbGVkIGlzIGZvdW5kIGluOiAlcyIKIG1zZ3N0ciAiRW4ga29waWEgYXYgcGF0Y2hlbiBzb20gbWlzc2x5Y2thZGVzIGZpbm5zIGk6ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MTk0MworIzogYnVpbHRpbi9hbS5jOjE5MzYKIG1zZ2lkICIiCiAiTm8gY2hhbmdlcyAtIGRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/XG4iCiAiSWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IHRvIHN0YWdlLCBjaGFuY2VzIGFyZSB0aGF0IHNvbWV0aGluZyBlbHNlXG4iCkBAIC0yOTMxLDcgKzQzMTksNyBAQAogIk9tIGRldCBpbnRlIMOkciBuw6Vnb3Qga3ZhciBhdHQga8O2YSBrYW4gZGV0IGjDpG5kYSBhdHQgbsOlZ290IGFubmF0IHJlZGFuXG4iCiAiaW50cm9kdWNlcmF0IHNhbW1hIMOkbmRyaW5nYXI7IGthbnNrZSBkdSBiw7ZyIGhvcHBhIMO2dmVyIHBhdGNoZW4uIgogCi0jOiBidWlsdGluL2FtLmM6MTk1MAorIzogYnVpbHRpbi9hbS5jOjE5NDMKIG1zZ2lkICIiCiAiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKICJEaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnPyIKQEAgLTI5MzksMTcgKzQzMjcsMTcgQEAKICJEdSBoYXIgZm9ydGZhcmFuZGUgc8O2a3bDpGdhciBzb20gaW50ZSBzbGFnaXRzIHNhbW1hbiBpIGRpdHQgaW5kZXguXG4iCiAiR2zDtm1kZSBkdSBhbnbDpG5kYSBcImdpdCBhZGRcIj8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMDU4IGJ1aWx0aW4vYW0uYzoyMDYyIGJ1aWx0aW4vYW0uYzoyMDc0IGJ1aWx0aW4vcmVzZXQuYzozMDgKKyM6IGJ1aWx0aW4vYW0uYzoyMDUxIGJ1aWx0aW4vYW0uYzoyMDU1IGJ1aWx0aW4vYW0uYzoyMDY3IGJ1aWx0aW4vcmVzZXQuYzozMDgKICM6IGJ1aWx0aW4vcmVzZXQuYzozMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAiS2FuIGludGUgdG9sa2Egb2JqZWt0ZXQgXCIlc1wiIgogCi0jOiBidWlsdGluL2FtLmM6MjExMAorIzogYnVpbHRpbi9hbS5jOjIxMDMKIG1zZ2lkICJmYWlsZWQgdG8gY2xlYW4gaW5kZXgiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBzdMOkZGEgdXBwIGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTQ0CisjOiBidWlsdGluL2FtLmM6MjEzNwogbXNnaWQgIiIKICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQgc2luY2UgdGhlIGxhc3QgJ2FtJyBmYWlsdXJlLlxuIgogIk5vdCByZXdpbmRpbmcgdG8gT1JJR19IRUFEIgpAQCAtMjk1NywxNTQgKzQzNDUsMTMzIEBACiAiRHUgdmVya2FyIGhhIGZseXR0YXQgSEVBRCBzZWRhbiBcImFtXCIgc2lzdCBtaXNzbHlja2FkZXMuXG4iCiAiw4V0ZXJzdMOkbGxlciBpbnRlIHRpbGwgT1JJR19IRUFEIgogCi0jOiBidWlsdGluL2FtLmM6MjIwNQorIzogYnVpbHRpbi9hbS5jOjIyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICJGZWxha3RpZ3QgdsOkcmRlIGbDtnIgLS1wYXRjaC1mb3JtYXQ6ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MjIzOAotbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSBbKDxtYm94Pnw8TWFpbGRpcj4pLi4uXSIKLW1zZ3N0ciAiZ2l0IGFtIFs8ZmxhZ2dvcj5dIFsoPG1ib3g+fDxNYWlsZGlyPikuLi5dIgorIzogYnVpbHRpbi9hbS5jOjIyMzMKK21zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKK21zZ3N0ciAiZ2l0IGFtIFs8ZmxhZ2dvcj5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM5CisjOiBidWlsdGluL2FtLmM6MjIzNAogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogbXNnc3RyICJnaXQgYW0gWzxmbGFnZ29yPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDUKKyM6IGJ1aWx0aW4vYW0uYzoyMjQwCiBtc2dpZCAicnVuIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgImvDtnIgaW50ZXJha3RpdnQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ3CisjOiBidWlsdGluL2FtLmM6MjI0MgogbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgogbXNnc3RyICJoaXN0b3Jpc2sgZmxhZ2dhIC0tIG5vLW9wIgogCi0jOiBidWlsdGluL2FtLmM6MjI0OQorIzogYnVpbHRpbi9hbS5jOjIyNDQKIG1zZ2lkICJhbGxvdyBmYWxsIGJhY2sgb24gM3dheSBtZXJnaW5nIGlmIG5lZWRlZCIKIG1zZ3N0ciAidGlsbMOldCBmYWxsYSB0aWxsYmFrYSBww6UgdHJldsOkZ3NzYW1tYW5zbGFnbmluZyBvbSBuw7ZkdsOkbmRpZ3QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU3Ci0jOiBidWlsdGluL3JlcGFjay5jOjE3MQorIzogYnVpbHRpbi9hbS5jOjIyNDUgYnVpbHRpbi9pbml0LWRiLmM6NDgzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcyCiBtc2dpZCAiYmUgcXVpZXQiCiBtc2dzdHIgInZhciB0eXN0IgogCi0jOiBidWlsdGluL2FtLmM6MjI1MgorIzogYnVpbHRpbi9hbS5jOjIyNDcKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5IGxpbmUgdG8gdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJsw6RnZyB0aWxsIFwiU2lnbmVkLW9mZi1ieVwiLXJhZCBpIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IgogCi0jOiBidWlsdGluL2FtLmM6MjI1NQorIzogYnVpbHRpbi9hbS5jOjIyNTAKIG1zZ2lkICJyZWNvZGUgaW50byB1dGY4IChkZWZhdWx0KSIKIG1zZ3N0ciAia29kYSBvbSB0aWxsIHV0ZjggKHN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTcKKyM6IGJ1aWx0aW4vYW0uYzoyMjUyCiBtc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAic8OkbmQgZmxhZ2dhbiAtayB0aWxsIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTkKKyM6IGJ1aWx0aW4vYW0uYzoyMjU0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAic8OkbmQgZmxhZ2dhbiAtYiB0aWxsIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjEKKyM6IGJ1aWx0aW4vYW0uYzoyMjU2CiBtc2dpZCAicGFzcyAtbSBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAic8OkbmQgZmxhZ2dhbiAtbSB0aWxsIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjMKKyM6IGJ1aWx0aW4vYW0uYzoyMjU4CiBtc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKIG1zZ3N0ciAic8OkbmQgZmxhZ2dhbiAtLWtlZXAtY3IgdGlsbCBnaXQtbWFpbHNwbGl0IGbDtnIgbWJveC1mb3JtYXRldCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjYKKyM6IGJ1aWx0aW4vYW0uYzoyMjYxCiBtc2dpZCAiZG8gbm90IHBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBpbmRlcGVuZGVudCBvZiBhbS5rZWVwY3IiCiBtc2dzdHIgInPDpG5kIGludGUgZmxhZ2dhbiAtLWtlZXAtY3IgdGlsbCBnaXQtbWFpbHNwbGl0IG9iZXJvZW5kZSBhdiBhbS5rZWVwY3IiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY5CisjOiBidWlsdGluL2FtLmM6MjI2NAogbXNnaWQgInN0cmlwIGV2ZXJ5dGhpbmcgYmVmb3JlIGEgc2Npc3NvcnMgbGluZSIKIG1zZ3N0ciAidGEgYm9ydCBhbGx0aW5nIGbDtnJlIGVuIHNheGxpbmplIgogCi0jOiBidWlsdGluL2FtLmM6MjI3MCBidWlsdGluL2FwcGx5LmM6NDU0NgotbXNnaWQgImFjdGlvbiIKLW1zZ3N0ciAiw6V0Z8OkcmQiCi0KLSM6IGJ1aWx0aW4vYW0uYzoyMjcxIGJ1aWx0aW4vYW0uYzoyMjc0IGJ1aWx0aW4vYW0uYzoyMjc3IGJ1aWx0aW4vYW0uYzoyMjgwCi0jOiBidWlsdGluL2FtLmM6MjI4MyBidWlsdGluL2FtLmM6MjI4NiBidWlsdGluL2FtLmM6MjI4OSBidWlsdGluL2FtLmM6MjI5MgotIzogYnVpbHRpbi9hbS5jOjIyOTgKKyM6IGJ1aWx0aW4vYW0uYzoyMjY2IGJ1aWx0aW4vYW0uYzoyMjY5IGJ1aWx0aW4vYW0uYzoyMjcyIGJ1aWx0aW4vYW0uYzoyMjc1CisjOiBidWlsdGluL2FtLmM6MjI3OCBidWlsdGluL2FtLmM6MjI4MSBidWlsdGluL2FtLmM6MjI4NCBidWlsdGluL2FtLmM6MjI4NworIzogYnVpbHRpbi9hbS5jOjIyOTMKIG1zZ2lkICJwYXNzIGl0IHRocm91Z2ggZ2l0LWFwcGx5IgogbXNnc3RyICJzw6RuZCBkZXQgZ2Vub20gZ2l0LWFwcGx5IgogCi0jOiBidWlsdGluL2FtLmM6MjI3OSBidWlsdGluL2FwcGx5LmM6NDU3MAotbXNnaWQgInJvb3QiCi1tc2dzdHIgInJvdCIKLQotIzogYnVpbHRpbi9hbS5jOjIyODIgYnVpbHRpbi9hbS5jOjIyODUgYnVpbHRpbi9hcHBseS5jOjQ1MDgKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTExIGJ1aWx0aW4vY2xvbmUuYzo5MCBidWlsdGluL2ZldGNoLmM6OTUKLSM6IGJ1aWx0aW4vcHVsbC5jOjE3OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mjc3Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODUKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc2NwotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3MAotbXNnaWQgInBhdGgiCi1tc2dzdHIgInPDtmt2w6RnIgotCi0jOiBidWlsdGluL2FtLmM6MjI4OCBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5Ci0jOiBidWlsdGluL2dyZXAuYzo3MDYgYnVpbHRpbi9tZXJnZS5jOjE5OSBidWlsdGluL3B1bGwuYzoxMzQKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5MyBidWlsdGluL3JlcGFjay5jOjE3OCBidWlsdGluL3JlcGFjay5jOjE4MgotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NSBidWlsdGluL3Nob3ctcmVmLmM6MTc1IGJ1aWx0aW4vdGFnLmM6MzQwCi0jOiBwYXJzZS1vcHRpb25zLmg6MTMyIHBhcnNlLW9wdGlvbnMuaDoxMzQgcGFyc2Utb3B0aW9ucy5oOjI0NAorIzogYnVpbHRpbi9hbS5jOjIyODMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYyIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NQorIzogYnVpbHRpbi9ncmVwLmM6NzA3IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTM1CisjOiBidWlsdGluL3B1bGwuYzoxOTQgYnVpbHRpbi9yZXBhY2suYzoxODEgYnVpbHRpbi9yZXBhY2suYzoxODUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQgYnVpbHRpbi9zaG93LXJlZi5jOjE3NSBidWlsdGluL3RhZy5jOjM0MAorIzogcGFyc2Utb3B0aW9ucy5oOjEzMiBwYXJzZS1vcHRpb25zLmg6MTM0IHBhcnNlLW9wdGlvbnMuaDoyNDUKIG1zZ2lkICJuIgogbXNnc3RyICJuIgogCi0jOiBidWlsdGluL2FtLmM6MjI5MSBidWlsdGluL2FwcGx5LmM6NDUxNAotbXNnaWQgIm51bSIKLW1zZ3N0ciAiYW50YWwiCi0KLSM6IGJ1aWx0aW4vYW0uYzoyMjk0IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi9yZXBsYWNlLmM6NDM4CisjOiBidWlsdGluL2FtLmM6MjI4OSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3IGJ1aWx0aW4vcmVwbGFjZS5jOjQzOAogIzogYnVpbHRpbi90YWcuYzozNzIKIG1zZ2lkICJmb3JtYXQiCiBtc2dzdHIgImZvcm1hdCIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTUKKyM6IGJ1aWx0aW4vYW0uYzoyMjkwCiBtc2dpZCAiZm9ybWF0IHRoZSBwYXRjaChlcykgYXJlIGluIgogbXNnc3RyICJmb3JtYXQgZsO2ciBwYXRjaChhcikiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzAxCisjOiBidWlsdGluL2FtLmM6MjI5NgogbXNnaWQgIm92ZXJyaWRlIGVycm9yIG1lc3NhZ2Ugd2hlbiBwYXRjaCBmYWlsdXJlIG9jY3VycyIKIG1zZ3N0ciAiw7Z2ZXJzdHlyIGZlbG1lZGRlbGFuZGVuIG7DpHIgcGF0Y2hmZWwgdXBwc3TDpXIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzAzCisjOiBidWlsdGluL2FtLmM6MjI5OAogbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCiBtc2dzdHIgImZvcnRzw6R0dCBhcHBsaWNlcmEgcGF0Y2hhciBlZnRlciBhdHQgaGEgbMO2c3QgZW4ga29uZmxpa3QiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzA2CisjOiBidWlsdGluL2FtLmM6MjMwMQogbXNnaWQgInN5bm9ueW1zIGZvciAtLWNvbnRpbnVlIgogbXNnc3RyICJzeW5vbnltZXIgdGlsbCAtLWNvbnRpbnVlIgogCi0jOiBidWlsdGluL2FtLmM6MjMwOQorIzogYnVpbHRpbi9hbS5jOjIzMDQKIG1zZ2lkICJza2lwIHRoZSBjdXJyZW50IHBhdGNoIgogbXNnc3RyICJob3BwYSDDtnZlciBkZW4gYWt0dWVsbGEgZ3JlbmVuIgogCi0jOiBidWlsdGluL2FtLmM6MjMxMgorIzogYnVpbHRpbi9hbS5jOjIzMDcKIG1zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgogbXNnc3RyICLDpXRlcnN0w6RsbCBvcmlnaW5hbGdyZW5lbiBvY2ggYXZicnl0IHBhdGNobmluZ2VuLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTYKKyM6IGJ1aWx0aW4vYW0uYzoyMzExCiBtc2dpZCAibGllIGFib3V0IGNvbW1pdHRlciBkYXRlIgogbXNnc3RyICJsanVnIG9tIGluY2hlY2tuaW5nc2RhdHVtIgogCi0jOiBidWlsdGluL2FtLmM6MjMxOAorIzogYnVpbHRpbi9hbS5jOjIzMTMKIG1zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgogbXNnc3RyICJhbnbDpG5kIG51dmFyYW5kZSB0aWRzc3TDpG1wZWwgZsO2ciBmw7ZyZmF0dGFyZGF0dW0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIwIGJ1aWx0aW4vY29tbWl0LmM6MTYwOSBidWlsdGluL21lcmdlLmM6MjI4Ci0jOiBidWlsdGluL3B1bGwuYzoxNjQgYnVpbHRpbi9yZXZlcnQuYzo5MiBidWlsdGluL3RhZy5jOjM1NQorIzogYnVpbHRpbi9hbS5jOjIzMTUgYnVpbHRpbi9jb21taXQuYzoxNjA1IGJ1aWx0aW4vbWVyZ2UuYzoyMjkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NSBidWlsdGluL3JldmVydC5jOjkyIGJ1aWx0aW4vdGFnLmM6MzU1CiBtc2dpZCAia2V5LWlkIgogbXNnc3RyICJueWNrZWwtaWQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIxCisjOiBidWlsdGluL2FtLmM6MjMxNgogbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCiBtc2dzdHIgIkdQRy1zaWduZXJhIGluY2hlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzI0CisjOiBidWlsdGluL2FtLmM6MjMxOQogbXNnaWQgIihpbnRlcm5hbCB1c2UgZm9yIGdpdC1yZWJhc2UpIgogbXNnc3RyICIoYW52w6RuZHMgaW50ZXJudCBhdiBnaXQtcmViYXNlKSIKIAotIzogYnVpbHRpbi9hbS5jOjIzMzkKKyM6IGJ1aWx0aW4vYW0uYzoyMzM0CiBtc2dpZCAiIgogIlRoZSAtYi8tLWJpbmFyeSBvcHRpb24gaGFzIGJlZW4gYSBuby1vcCBmb3IgbG9uZyB0aW1lLCBhbmRcbiIKICJpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSBkbyBub3QgdXNlIGl0IGFueW1vcmUuIgpAQCAtMzExMiwxNiArNDQ3OSwxNiBAQAogIkZsYWdnYW4gLWIvLS1iaW5hcnkgaGFyIHZhcml0IHV0YW4gZnVua3Rpb24gbMOkbmdlLCBvY2hcbiIKICJrb21tZXIgdGFzIGJvcnQuIFZpIGJlciBkaWcgYXR0IGludGUgYW52w6RuZGEgZGVuIGzDpG5ncmUuIgogCi0jOiBidWlsdGluL2FtLmM6MjM0NgorIzogYnVpbHRpbi9hbS5jOjIzNDEKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBsw6RzYSBpbmRleGV0IgogCi0jOiBidWlsdGluL2FtLmM6MjM2MQorIzogYnVpbHRpbi9hbS5jOjIzNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAlcyBzdGlsbCBleGlzdHMgYnV0IG1ib3ggZ2l2ZW4uIgogbXNnc3RyICJ0aWRpZ2FyZSByZWJhc2Uta2F0YWxvZyAlcyBmaW5ucyBmb3J0ZmFyYW5kZSwgbWVuIG1ib3ggYW5nYXZzLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzODUKKyM6IGJ1aWx0aW4vYW0uYzoyMzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdHJheSAlcyBkaXJlY3RvcnkgZm91bmQuXG4iCkBAIC0zMTMwLDQ5MyArNDQ5NywxNCBAQAogIkt2YXJibGl2ZW4ga2F0YWxvZyAlcyBoaXR0YWRlcy5cbiIKICJBbnbDpG5kIFwiZ2l0IGFtIC0tYWJvcnRcIiBmw7ZyIGF0dCB0YSBib3J0IGRlbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzkxCisjOiBidWlsdGluL2FtLmM6MjM4NgogbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCiBtc2dzdHIgIkzDtnNuaW5nc29wZXJhdGlvbiBww6Vnw6VyIGludGUsIHZpIMOldGVydXBwdGFyIGludGUuIgogCi0jOiBidWlsdGluL2FwcGx5LmM6NTkKKyM6IGJ1aWx0aW4vYXBwbHkuYzo4CiBtc2dpZCAiZ2l0IGFwcGx5IFs8b3B0aW9ucz5dIFs8cGF0Y2g+Li4uXSIKIG1zZ3N0ciAiZ2l0IGFwcGx5IFs8ZmxhZ2dvcj5dIFs8cGF0Y2g+Li4uXSIKIAotIzogYnVpbHRpbi9hcHBseS5jOjExMQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBvcHRpb24gJyVzJyIKLW1zZ3N0ciAib2vDpG50IGFsdGVybmF0aXYgZsO2ciB3aGl0ZXNwYWNlOiBcIiVzXCIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxMjYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgotbXNnc3RyICJva8OkbnQgYWx0ZXJuYXRpdiBmw7ZyIGlnbm9yZS13aGl0ZXNwYWNlOiBcIiVzXCIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo4MTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKLW1zZ3N0ciAiS2FuIGludGUgZsO2cmJlcmVkYSByZWd1bGrDpHJ0IHV0dHJ5Y2sgZsO2ciB0aWRzc3TDpG1wZWxuICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6ODI3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlZ2V4ZWMgcmV0dXJuZWQgJWQgZm9yIGlucHV0OiAlcyIKLW1zZ3N0ciAicmVnZXhlYyByZXR1cm5lcmFkZSAlZCBmw7ZyIGluZGF0YTogJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5MDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKLW1zZ3N0ciAia2FuIGludGUgaGl0dGEgZmlsbmFtbiBpIHBhdGNoZW4gcMOlIHJhZCAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjkzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCi1tc2dzdHIgImdpdCBhcHBseTogZMOlbGlnIGdpdC1kaWZmIC0gZsO2cnbDpG50YWRlIC9kZXYvbnVsbCwgZmljayAlcyBww6UgcmFkICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTQyCi0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgotbXNnc3RyICJnaXQgYXBwbHk6IGTDpWxpZyBnaXQtZGlmZiAtIG1vdHPDpGdhbmRlIG55dHQgZmlsbmFtbiBww6UgcmFkICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTQzCi0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgotbXNnc3RyICJnaXQgYXBwbHk6IGTDpWxpZyBnaXQtZGlmZiAtIG1vdHPDpGdhbmRlIGdhbW1hbHQgZmlsbmFtbiBww6UgcmFkICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTQ5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCi1tc2dzdHIgImdpdCBhcHBseTogZMOlbGlnIGdpdC1kaWZmIC0gZsO2cnbDpG50YWRlIC9kZXYvbnVsbCBww6UgcmFkICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTQwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWNvdW50OiB1bmV4cGVjdGVkIGxpbmU6ICUuKnMiCi1tc2dzdHIgInJlY291bnQ6IGbDtnJ2w6RudGFkZSByYWQ6ICUuKnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNDYzCi0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCi1tc2dzdHIgInBhdGNoLWZyYWdtZW50IHV0YW4gaHV2dWQgcMOlIHJhZCAlZDogJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE0ODAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgotImNvbXBvbmVudCAobGluZSAlZCkiCi1tc2dpZF9wbHVyYWwgIiIKLSJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKLSJjb21wb25lbnRzIChsaW5lICVkKSIKLW1zZ3N0clswXSAiIgotImdpdC1kaWZmLWh1dnVkZXQgc2FrbmFyIGZpbG5hbW5zaW5mb3JtYXRpb24gbsOkciAlZCBsZWRhbmRlIHPDtmt2w6Rnc2tvbXBvbmVudFxuIgotInRhcyBib3J0IChyYWQgJWQpIgotbXNnc3RyWzFdICIiCi0iZ2l0LWRpZmYtaHV2dWRldCBzYWtuYXIgZmlsbmFtbnNpbmZvcm1hdGlvbiBuw6RyICVkIGxlZGFuZGUgIgotInPDtmt2w6Rnc2tvbXBvbmVudGVyXG4iCi0idGFzIGJvcnQgKHJhZCAlZCkiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNjQ2Ci1tc2dpZCAibmV3IGZpbGUgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCi1tc2dzdHIgIm55IGZpbCBiZXJvciBww6UgZ2FtbWFsdCBpbm5laMOlbGwiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNjQ4Ci1tc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKLW1zZ3N0ciAiYm9ydHRhZ2VuIGZpbCBoYXIgZm9ydGZhcmFuZGUgaW5uZWjDpWxsIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY3NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgInRyYXNpZyBwYXRjaCBww6UgcmFkICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTcxMAotIywgYy1mb3JtYXQKLW1zZ2lkICJuZXcgZmlsZSAlcyBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKLW1zZ3N0ciAibnlhIGZpbGVuICVzIGJlcm9yIHDDpSBnYW1tYWx0IGlubmVow6VsbCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE3MTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZGVsZXRlZCBmaWxlICVzIHN0aWxsIGhhcyBjb250ZW50cyIKLW1zZ3N0ciAiYm9ydHRhZ25hIGZpbGVuICVzIGhhciBmb3J0ZmFyYW5kZSBpbm5laMOlbGwiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNzE1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCi1tc2dzdHIgIioqIHZhcm5pbmc6IGZpbGVuICVzIGJsaXIgdG9tIG1lbiBoYXIgaW50ZSB0YWdpdHMgYm9ydCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE4NjEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY29ycnVwdCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZDogJS4qcyIKLW1zZ3N0ciAidHJhc2lnIGJpbsOkcnBhdGNoIHDDpSByYWQgJWQ6ICUuKnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxODk1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIKLW1zZ3N0ciAiYmluw6RycGF0Y2hlbiBww6UgcmFkICVkIGvDpG5ucyBpbnRlIGlnZW4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyMDQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCi1tc2dzdHIgInBhdGNoIG1lZCBiYXJhIHNrcsOkcCBww6UgcmFkICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjEzOAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzeW1saW5rICVzIgotbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIHN5bWJvbGlza2EgbMOkbmtlbiAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjIxNDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKLW1zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgZWxsZXIgbMOkc2EgJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyNzc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKLW1zZ3N0ciAiZmVsYWt0aWcgaW5sZWRuaW5nIHDDpSByYWQ6IFwiJWNcIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI4OTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgotbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgotbXNnc3RyWzBdICJTdHlja2UgJWQgbHlja2FkZXMgcMOlICVkIChvZmZzZXQgJWQgcmFkKS4iCi1tc2dzdHJbMV0gIlN0eWNrZSAlZCBseWNrYWRlcyBww6UgJWQgKG9mZnNldCAlZCByYWRlcikuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjkwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgotbXNnc3RyICJTYW1tYW5oYW5nIHJlZHVjZXJhdCB0aWxsICglbGQvJWxkKSBmw7ZyIGF0dCB0aWxsw6RtcGEgZnJhZ21lbnQgdmlkICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjkxMgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0id2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKLSIlLipzIgotbXNnc3RyICIiCi0idmlkIHPDtmtuaW5nIGVmdGVyOlxuIgotIiUuKnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyOTMyCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1pc3NpbmcgYmluYXJ5IHBhdGNoIGRhdGEgZm9yICclcyciCi1tc2dzdHIgInNha25hciBiaW7DpHJhIHBhdGNoZGF0YSBmw7ZyIFwiJXNcIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMwMzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciCi1tc2dzdHIgImJpbsOkcnBhdGNoZW4ga2FuIGludGUgdGlsbMOkbXBhcyBww6UgXCIlc1wiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzAzOQotIywgYy1mb3JtYXQKLW1zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKLW1zZ3N0ciAiYmluw6RycGF0Y2hlbiBww6UgXCIlc1wiIGdlciBmZWxha3RpZ3QgcmVzdWx0YXQgKGbDtnJ2w6RudGFkZSAlcywgZmljayAlcykiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMDYwCi0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgotbXNnc3RyICJwYXRjaCBtaXNzbHlja2FkZXM6ICVzOiVsZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMxODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IGNoZWNrb3V0ICVzIgotbXNnc3RyICJrYW4gaW50ZSBjaGVja2EgdXQgJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMjI5IGJ1aWx0aW4vYXBwbHkuYzozMjQwIGJ1aWx0aW4vYXBwbHkuYzozMjg1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlYWQgb2YgJXMgZmFpbGVkIgotbXNnc3RyICJtaXNzbHlja2FkZXMgbMOkc2EgJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMjM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlYWRpbmcgZnJvbSAnJXMnIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCi1tc2dzdHIgImzDpHNlciBmcsOlbiBcIiVzXCIgc29tIMOkciBww6UgYW5kcmEgc2lkYW4gYXYgZW4gc3ltYm9saXNrIGzDpG5rIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzI2NSBidWlsdGluL2FwcGx5LmM6MzQ4NwotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKLW1zZ3N0ciAic8O2a3bDpGdlbiAlcyBoYXIgw6RuZHJhdCBuYW1uL3RhZ2l0cyBib3J0IgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzM0NiBidWlsdGluL2FwcGx5LmM6MzUwMQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiCi1tc2dzdHIgIiVzOiBmaW5ucyBpbnRlIGkgaW5kZXhldCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMzNTAgYnVpbHRpbi9hcHBseS5jOjM0OTMgYnVpbHRpbi9hcHBseS5jOjM1MTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6ICVzIgotbXNnc3RyICIlczogJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMzU1IGJ1aWx0aW4vYXBwbHkuYzozNTA5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKLW1zZ3N0ciAiJXM6IG1vdHN2YXJhciBpbnRlIGluZGV4ZXQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNDU3Ci1tc2dpZCAicmVtb3ZhbCBwYXRjaCBsZWF2ZXMgZmlsZSBjb250ZW50cyIKLW1zZ3N0ciAicGF0Y2ggZsO2ciBib3J0dGFnbmluZyBsw6RtbmFyIGt2YXIgZmlsaW5uZWjDpWxsIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzUyNgotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogd3JvbmcgdHlwZSIKLW1zZ3N0ciAiJXM6IGZlbCB0eXAiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNTI4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzIGhhcyB0eXBlICVvLCBleHBlY3RlZCAlbyIKLW1zZ3N0ciAiJXMgaGFyIHR5cGVuICVvLCBmw7ZydsOkbnRhZGUgJW8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNjg3IGJ1aWx0aW4vYXBwbHkuYzozNjg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgotbXNnc3RyICJvZ2lsdGlnIHPDtmt2w6RnOiAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NDQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgotbXNnc3RyICIlczogZmlubnMgcmVkYW4gaSBpbmRleGV0IgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc0NwotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCi1tc2dzdHIgIiVzOiBmaW5ucyByZWRhbiBpIGFyYmV0c2thdGFsb2dlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgotbXNnc3RyICJueXR0IGzDpGdlICglbykgZsO2ciAlcyBtb3RzdmFyYXIgaW50ZSBnYW1tYWx0IGzDpGdlICglbykiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzcyCi0jLCBjLWZvcm1hdAotbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKLW1zZ3N0ciAibnl0dCBsw6RnZSAoJW8pIGbDtnIgJXMgbW90c3ZhcmFyIGludGUgZ2FtbWFsdCBsw6RnZSAoJW8pIGbDtnIgJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzkyCi0jLCBjLWZvcm1hdAotbXNnaWQgImFmZmVjdGVkIGZpbGUgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgotbXNnc3RyICJkZW4gYmVyw7ZyZGEgZmlsZW4gXCIlc1wiIMOkciBww6UgYW5kcmEgc2lkYW4gYXYgZW4gc3ltYm9saXNrIGzDpG5rIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc5NgotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCi1tc2dzdHIgIiVzOiBwYXRjaGVuIGthbiBpbnRlIHRpbGzDpG1wYXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozODEwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgotbXNnc3RyICJLb250cm9sbGVyYXIgcGF0Y2hlbiAlcy4uLiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM5MDMgYnVpbHRpbi9jaGVja291dC5jOjIzMyBidWlsdGluL3Jlc2V0LmM6MTM1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCi1tc2dzdHIgIm1ha2VfY2FjaGVfZW50cnkgbWlzc2x5Y2thZGVzIGbDtnIgc8O2a3bDpGdlbiBcIiVzXCIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDQ2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKLW1zZ3N0ciAia2FuIGludGUgdGEgYm9ydCAlcyBmcsOlbiBpbmRleGV0IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCi1tc2dzdHIgInRyYXNpZyBwYXRjaCBmw7ZyIHVuZGVybW9kdWxlbiAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwNzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCi1tc2dzdHIgImthbiBpbnRlIHRhIHN0YXR1cyBww6UgbnlsaWdlbiBza2FwYWRlIGZpbGVuIFwiJXNcIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCi1tc2dzdHIgImthbiBpbnRlIHNrYXBhIHPDpGtlcmhldHNtaW5uZSBmw7ZyIG55bGlnZW4gc2thcGFkZSBmaWxlbiAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwODcgYnVpbHRpbi9hcHBseS5jOjQxOTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCi1tc2dzdHIgImthbiBpbnRlIGzDpGdnYSB0aWxsIGNhY2hlcG9zdCBmw7ZyICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDEyMAotIywgYy1mb3JtYXQKLW1zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKLW1zZ3N0ciAic3TDpG5nZXIgZmlsZW4gXCIlc1wiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDE2OQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCi1tc2dzdHIgImthbiBpbnRlIHNrcml2YSBmaWxlbiBcIiVzXCIgbMOkZ2UgJW8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MjU2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkFwcGxpZWQgcGF0Y2ggJXMgY2xlYW5seS4iCi1tc2dzdHIgIlRpbGzDpG1wYWRlIHBhdGNoZW4gJXMgcmVudC4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MjY0Ci1tc2dpZCAiaW50ZXJuYWwgZXJyb3IiCi1tc2dzdHIgImludGVybnQgZmVsIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI2NwotIywgYy1mb3JtYXQKLW1zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCi1tc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCi1tc2dzdHJbMF0gIlRpbGzDpG1wYWRlIHBhdGNoZW4gJSVzIG1lZCAlZCByZWZ1c2VyYWQuLi4iCi1tc2dzdHJbMV0gIlRpbGzDpG1wYWRlIHBhdGNoZW4gJSVzIG1lZCAlZCByZWZ1c2VyYWRlLi4uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI3NwotIywgYy1mb3JtYXQKLW1zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCi1tc2dzdHIgInRydW5rZXJhciAucmVqLWZpbG5hbW5ldCB0aWxsICUuKnMucmVqIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI4NQotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCi1tc2dzdHIgImthbiBpbnRlIMO2cHBuYSAlczogJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mjk4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkh1bmsgIyVkIGFwcGxpZWQgY2xlYW5seS4iCi1tc2dzdHIgIlN0eWNrZSAlZCB0aWxsw6RtcGFkZXMgcmVudC4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MzAxCi0jLCBjLWZvcm1hdAotbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKLW1zZ3N0ciAiUmVmdXNlcmFyIHN0eWNrZSAlZC4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzg3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCi1tc2dzdHIgIklnbm9yZXJhciBwYXRjaCBcIiVzXCIuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDM5NQotbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKLW1zZ3N0ciAiaW5kYXRhIGvDpG5ucyBpbnRlIGlnZW4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDA2Ci1tc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKLW1zZ3N0ciAia2FuIGludGUgbMOkc2EgaW5kZXhmaWxlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MDkKLW1zZ2lkICJkb24ndCBhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgotbXNnc3RyICJ0aWxsw6RtcGEgaW50ZSDDpG5kcmluZ2FyIHNvbSBtb3RzdmFyYXIgZ2l2ZW4gc8O2a3bDpGciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTEyCi1tc2dpZCAiYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKLW1zZ3N0ciAidGlsbMOkbXBhIMOkbmRyaW5nYXIgc29tIG1vdHN2YXJhciBnaXZlbiBzw7ZrdsOkZyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MTUKLW1zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKLW1zZ3N0ciAidGEgYm9ydCA8YW50YWw+IGlubGVkYW5kZSBzbmVkc3RyZWNrIGZyw6VuIHRyYWRpdGlvbmVsbGEgZGlmZi1zw7ZrdsOkZ2FyIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUxOAotbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCi1tc2dzdHIgImlnbm9yZXJhIHRpbGzDpGdnIGdqb3JkYSBhdiBwYXRjaGVuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyMAotbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKLW1zZ3N0ciAiaXN0w6RsbGV0IGbDtnIgYXR0IHRpbGzDpG1wYSBwYXRjaGVuLCBza3JpdiB1dCBkaWZmc3RhdCBmw7ZyIGluZGF0YSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjQKLW1zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgotbXNnc3RyICJ2aXNhIGFudGFsIHRpbGxhZ2RhIG9jaCBib3J0dGFnbmEgcmFkZXIgZGVjaW1hbHQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTI2Ci1tc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIKLW1zZ3N0ciAiaXN0w6RsbGV0IGbDtnIgYXR0IHRpbGzDpG1wYSBwYXRjaGVuLCBza3JpdiB1dCBlbiBzdW1tZXJpbmcgYXYgaW5kYXRhIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyOAotbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCi1tc2dzdHIgImlzdMOkbGxldCBmw7ZyIGF0dCB0aWxsw6RtcGEgcGF0Y2hlbiwgc2Ugb20gcGF0Y2hlbiBrYW4gdGlsbMOkbXBhcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzAKLW1zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCi1tc2dzdHIgInNlIHRpbGwgYXR0IHBhdGNoZW4ga2FuIHRpbGzDpG1wYXMgcMOlIGFrdHVlbGx0IGluZGV4IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzMgotbXNnaWQgImFwcGx5IGEgcGF0Y2ggd2l0aG91dCB0b3VjaGluZyB0aGUgd29ya2luZyB0cmVlIgotbXNnc3RyICJ0aWxsw6RtcGEgZW4gcGF0Y2ggdXRhbiBhdHQgcsO2cmEgYXJiZXRza2F0YWxvZ2VuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzNAotbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCi1tc2dzdHIgImdvZHRhIGVuIHBhdGNoIHNvbSByw7ZyIGZpbGVyIHV0YW5mw7ZyIGFyYmV0c2thdGFsb2dlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzYKLW1zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKLW1zZ3N0ciAidGlsbMOkbXBhIG9ja3PDpSBwYXRjaGVuIChhbnbDpG5kIG1lZCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzOAotbXNnaWQgImF0dGVtcHQgdGhyZWUtd2F5IG1lcmdlIGlmIGEgcGF0Y2ggZG9lcyBub3QgYXBwbHkiCi1tc2dzdHIgImbDtnJzw7ZrIGVuIHRyZXbDpGdzc2FtbWFuc2xhZ25pbmcgb20gcGF0Y2hlbiBpbnRlIGthbiB0aWxsw6RtcGFzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU0MAotbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgotbXNnc3RyICJieWdnIGV0dCB0ZW1wb3LDpHJ0IGluZGV4IGJhc2VyYXQgcMOlIGluYnlnZ2QgaW5kZXhpbmZvcm1hdGlvbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NDMgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OSBidWlsdGluL2xzLWZpbGVzLmM6NDI1Ci1tc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCi1tc2dzdHIgInPDtmt2w6RnYXIgYXZkZWxhcyBtZWQgTlVMLXRlY2tlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NDUKLW1zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCi1tc2dzdHIgInNlIHRpbGwgYXR0IMOldG1pbnN0b25lIDxuPiByYWRlciBzYW1tYW5oYW5nIMOkciBsaWthIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU0NwotbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgotbXNnc3RyICJkZXRla3RlcmEgbnlhIGVsbGVyIMOkbmRyYWRlIHJhZGVyIHNvbSBoYXIgZmVsIGkgYmxhbmt0ZWNrZW4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTUwIGJ1aWx0aW4vYXBwbHkuYzo0NTUzCi1tc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKLW1zZ3N0ciAiaWdub3JlcmEgw6RuZHJpbmdhciBpIGJsYW5rdGVja2VuIGbDtnIgc2FtbWFuaGFuZyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NTYKLW1zZ2lkICJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIKLW1zZ3N0ciAidGlsbMOkbXBhIHBhdGNoZW4gYmFrbMOkbmdlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NTgKLW1zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKLW1zZ3N0ciAiZsO2cnbDpG50YSBpbnRlIG1pbnN0IGVuIHJhZCBzYW1tYW5oYW5nIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2MAotbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgotbXNnc3RyICJsw6RtbmEgcmVmdXNlcmFkZSBzdHlja2VuIGkgbW90c3ZhcmFuZGUgKi5yZWotZmlsZXIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTYyCi1tc2dpZCAiYWxsb3cgb3ZlcmxhcHBpbmcgaHVua3MiCi1tc2dzdHIgInRpbGzDpXQgw7Z2ZXJsYXBwYW5kZSBzdHlja2VuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2NQotbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgotbXNnc3RyICJ0b2xlcmVyYSBmZWxha3RpZ3QgZGV0ZWt0ZXJhZGUgc2FrbmFkZSBueXJhZHN0ZWNrZW4gdmlkIGZpbHNsdXQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTY4Ci1tc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgotbXNnc3RyICJsaXRlIGludGUgcMOlIGFudGFsZXQgbGluamVyIGkgc3R5Y2tlaHV2dWRlbiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NzEKLW1zZ2lkICJwcmVwZW5kIDxyb290PiB0byBhbGwgZmlsZW5hbWVzIgotbXNnc3RyICJsw6RnZyB0aWxsIDxyb3Q+IGkgYWxsYSBmaWxuYW1uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU5MwotbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiLS0zd2F5IHV0YW5mw7ZyIGFya2l2IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDYwMQotbXNnaWQgIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiCi1tc2dzdHIgIi0taW5kZXggdXRhbmbDtnIgYXJraXYiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NjA0Ci1tc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCi1tc2dzdHIgIi0tY2FjaGVkIHV0YW5mw7ZyIGFya2l2IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDYyMwotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW4ndCBvcGVuIHBhdGNoICclcyciCi1tc2dzdHIgImthbiBpbnRlIMO2cHBuYSBwYXRjaGVuIFwiJXNcIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCi1tc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKLW1zZ3N0clswXSAidW5kZXJ0cnlja3RlICVkIGZlbCBpIGJsYW5rc3RlZyIKLW1zZ3N0clsxXSAidW5kZXJ0cnlja3RlICVkIGZlbCBpIGJsYW5rc3RlZyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2NDMgYnVpbHRpbi9hcHBseS5jOjQ2NTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJWQgbGluZSBhZGRzIHdoaXRlc3BhY2UgZXJyb3JzLiIKLW1zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYWRkIHdoaXRlc3BhY2UgZXJyb3JzLiIKLW1zZ3N0clswXSAiJWQgcmFkIGzDpGdnZXIgdGlsbCBmZWwgaSBibGFua3N0ZWcuIgotbXNnc3RyWzFdICIlZCByYWRlciBsw6RnZ2VyIHRpbGwgZmVsIGkgYmxhbmtzdGVnLiIKLQogIzogYnVpbHRpbi9hcmNoaXZlLmM6MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBhcmNoaXZlIGZpbGUgJyVzJyIKQEAgLTM2NzIsMTE2ICs0NTYwLDE2OSBAQAogbXNnaWQgIjxyZXYtb3B0cz4gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICI8cmV2LWZsYWdnb3I+IGRva3VtZW50ZXJhcyBpIGdpdC1yZXYtbGlzdCgxKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjE3ODIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoxNzgxCiBtc2dpZCAiQmxhbWluZyBsaW5lcyIKIG1zZ3N0ciAiS2xhbmRyYSByYWRlciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc3CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiVmlzYSBrbGFuZHJpbmdzcG9zdGVyIG7DpHIgdmkgaGl0dGFyIGRlbSwgaW50ZXJha3RpdnQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTMyCisjOiBidWlsdGluL2JsYW1lLmM6MjU3OAogbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlZpc2EgYmxhbmsgU0hBLTEgZsO2ciBncsOkbnNpbmNoZWNrbmluZ2FyIChTdGFuZGFyZDogYXYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzMworIzogYnVpbHRpbi9ibGFtZS5jOjI1NzkKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkJlaGFuZGxhIGludGUgcm90aW5jaGVja25pbmdhciBzb20gZ3LDpG5zZXIgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM0CisjOiBidWlsdGluL2JsYW1lLmM6MjU4MAogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIlZpc2Egc3RhdGlzdGlrIMO2dmVyIGFyYmV0c2tvc3RuYWQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM1CisjOiBidWlsdGluL2JsYW1lLmM6MjU4MQogbXNnaWQgIkZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiVHZpbmdhIGbDtnJsb3Bwc3JhcHBvcnRlcmluZyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgyCiBtc2dpZCAiU2hvdyBvdXRwdXQgc2NvcmUgZm9yIGJsYW1lIGVudHJpZXMiCiBtc2dzdHIgIlZpc2EgdXRkYXRhcG/DpG5nIGbDtnIga2xhbmRyaW5nc3Bvc3RlciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgzCiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIlZpc2Egb3JpZ2luYWxmaWxuYW1uIChTdGFuZGFyZDogYXV0bykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM4CisjOiBidWlsdGluL2JsYW1lLmM6MjU4NAogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiVmlzYSB1cnNwcnVuZ2xpZ3QgcmFkbnVtbWVyIChTdGFuZGFyZDogYXYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzOQorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODUKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICJWaXNhIGkgZXR0IGZvcm1hdCBhdnNldHQgZsO2ciBtYXNraW5rb25zdW10aW9uIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0MAorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODYKIG1zZ2lkICJTaG93IHBvcmNlbGFpbiBmb3JtYXQgd2l0aCBwZXItbGluZSBjb21taXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIlZpc2EgcG9yc2xpbnNmb3JtYXQgbWVkIHBlci1yYWQtaW5jaGVja25pbmdzaW5mb3JtYXRpb24iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQxCisjOiBidWlsdGluL2JsYW1lLmM6MjU4NwogbXNnaWQgIlVzZSB0aGUgc2FtZSBvdXRwdXQgbW9kZSBhcyBnaXQtYW5ub3RhdGUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkFudsOkbmQgc2FtbWEgdXRkYXRhbMOkZ2Ugc29tIGdpdC1hbm5vdGF0ZSAoU3RhbmRhcmQ6IGF2KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg4CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJWaXNhIHLDpSB0aWRzc3TDpG1wZWwgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQzCisjOiBidWlsdGluL2JsYW1lLmM6MjU4OQogbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiVmlzYSBsw6VuZyBpbmNoZWNrbmluZ3MtU0hBMSAoU3RhbmRhcmQ6IGF2KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkwCiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiVW5kZXJ0cnljayBmw7ZyZmF0dGFybmFtbiBvY2ggdGlkc3N0w6RtcGVsIChTdGFuZGFyZDogYXYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0NQorIzogYnVpbHRpbi9ibGFtZS5jOjI1OTEKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlZpc2EgZsO2cmZhdHRhcmVucyBlLXBvc3QgaXN0w6RsbGV0IGbDtnIgbmFtbiAoU3RhbmRhcmQ6IGF2KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkyCiBtc2dpZCAiSWdub3JlIHdoaXRlc3BhY2UgZGlmZmVyZW5jZXMiCiBtc2dzdHIgIklnbm9yZXJhIMOkbmRyaW5nYXIgaSBibGFua3N0ZWciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ3CisjOiBidWlsdGluL2JsYW1lLmM6MjU5OQorbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgaW5kZW50LWJhc2VkIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgorbXNnc3RyICIiCisiQW52w6RuZCBlbiBleHBlcmltZW50ZWxsIGluZGVudGVyaW5nc2Jhc2VyYWQgYWxnb3JpdG0gZsO2ciBhdHQgZsO2cmLDpHR0cmEgZGlmZmFyIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjYwMAorbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgYmxhbmstbGluZS1iYXNlZCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKK21zZ3N0ciAiIgorIkFudsOkbmQgZW4gZXhwZXJpbWVudGVsbCBhbGdvcml0bSBiYXNlcmFkIHDDpSB0b21tYSByYWRlciBmw7ZyIGF0dCBmw7ZyYsOkdHRyYSAiCisiZGlmZmFyIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjYwMgogbXNnaWQgIlNwZW5kIGV4dHJhIGN5Y2xlcyB0byBmaW5kIGJldHRlciBtYXRjaCIKIG1zZ3N0ciAiU2zDtnNhIGV4dHJhIGN5a2xlciBtZWQgYXR0IGhpdHRhIGLDpHR0cmUgdHLDpGZmIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0OAorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDMKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCiBtc2dzdHIgIkFudsOkbmQgcmV2aXNpb25lciBmcsOlbiA8ZmlsPiBpc3TDpGxsZXQgZsO2ciBhdHQgYW5yb3BhIGdpdC1yZXYtbGlzdCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA0CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAiQW52w6RuZCA8ZmlsPnMgaW5uZWjDpWxsIHNvbSBzbHV0Z2lsdGlnIGJpbGQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUwIGJ1aWx0aW4vYmxhbWUuYzoyNTUxCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNSBidWlsdGluL2JsYW1lLmM6MjYwNgogbXNnaWQgInNjb3JlIgogbXNnc3RyICJwb8OkbmciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUwCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNQogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIkhpdHRhIGtvcGllcmFkZSByYWRlciBpbnV0aSBvY2ggbWVsbGFuIGZpbGVyIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU1MQorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDYKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJIaXR0YSBmbHl0dGFkZSByYWRlciBpbnV0aSBvY2ggbWVsbGFuIGZpbGVyIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU1MgorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDcKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIm4sbSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA3CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIkJlaGFuZGxhIGVuZGFzdCByYWRpbnRlcnZhbGxldCBuLG0sIG1lZCBiw7ZyamFuIHDDpSAxIgogCisjOiBidWlsdGluL2JsYW1lLmM6MjY1NAorbXNnaWQgIi0tcHJvZ3Jlc3MgY2FuJ3QgYmUgdXNlZCB3aXRoIC0taW5jcmVtZW50YWwgb3IgcG9yY2VsYWluIGZvcm1hdHMiCittc2dzdHIgIi0tcHJvZ3Jlc3Mga2FuIGludGUgYW52w6RuZGFzIG1lZCAtLWluY3JlbWVudGFsIGVsbGVyIHBvcnNsaW5zZm9ybWF0IgorCiAjLiBUUkFOU0xBVE9SUzogVGhpcyBzdHJpbmcgaXMgdXNlZCB0byB0ZWxsIHVzIHRoZSBtYXhpbXVtCiAjLiBkaXNwbGF5IHdpZHRoIGZvciBhIHJlbGF0aXZlIHRpbWVzdGFtcCBpbiAiZ2l0IGJsYW1lIgogIy4gb3V0cHV0LiAgRm9yIEMgbG9jYWxlLCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIsIHdoaWNoCiAjLiB0YWtlcyAyMiBwbGFjZXMsIGlzIHRoZSBsb25nZXN0IGFtb25nIHZhcmlvdXMgZm9ybXMgb2YKICMuIHJlbGF0aXZlIHRpbWVzdGFtcHMsIGJ1dCB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IKICMuIGZld2VyIGRpc3BsYXkgY29sdW1ucy4KLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNjQxCisjOiBidWlsdGluL2JsYW1lLmM6MjcwMAogbXNnaWQgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iCiBtc2dzdHIgIjQgw6VyLCAxMSBtw6VuYWRlciBzZWRhbiIKIAorIzogYnVpbHRpbi9ibGFtZS5jOjI3ODAKK21zZ2lkICItLWNvbnRlbnRzIGFuZCAtLXJldmVyc2UgZG8gbm90IGJsZW5kIHdlbGwuIgorbXNnc3RyICItLWNvbnRlbnRzIG9jaCAtLXJldmVyc2UgZnVuZ2VyYXIgaW50ZSBzw6UgYnJhIHRpbGxzYW1tYW5zLiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MDAKK21zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCittc2dzdHIgImthbiBpbnRlIGFudsOkbmRhIC0tY29udGVudHMgbWVkIG5hbW4gcMOlIHNsdXRnaWx0aWd0IGluY2hlY2tuaW5nc29iamVrdCIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MDUKK21zZ2lkICItLXJldmVyc2UgYW5kIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgc3BlY2lmaWVkIGxhdGVzdCBjb21taXQiCittc2dzdHIgIiIKKyItLXJldmVyc2Ugb2NoIC0tZmlyc3QtcGFyZW50IHRpbGxzYW1tYW5zIGtyw6R2ZXIgYXR0IGR1IGFuZ2VyIHNlbmFzdGUgIgorImluY2hlY2tuaW5nZW4iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODMyCittc2dpZCAiIgorIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHJhbmdlIGFsb25nIGZpcnN0LXBhcmVudCBjaGFpbiIKK21zZ3N0ciAiIgorIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0aWxsc2FtbWFucyBrcsOkdmVyIGV0dCBpbnRlcnZhbGwgcMOlIGbDtnJzdGEtZsO2csOkbGRlci0iCisia2VkamFuIgorCisjOiBidWlsdGluL2JsYW1lLmM6Mjg0MworIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHBhdGggJXMgaW4gJXMiCittc2dzdHIgInPDtmt2w6RnZW4gJXMgaSAlcyBmaW5ucyBpbnRlIgorCisjOiBidWlsdGluL2JsYW1lLmM6Mjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgorbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBvYmpla3RldCAlcyBmw7ZyIHPDtmt2w6RnZW4gJXMiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODczCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmUiCittc2dpZF9wbHVyYWwgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmVzIgorbXNnc3RyWzBdICJmaWxlbiAlcyBoYXIgYmFyYSAlbHUgcmFkIgorbXNnc3RyWzFdICJmaWxlbiAlcyBoYXIgYmFyYSAlbHUgcmFkZXIiCisKICM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCiBtc2dzdHIgImdpdCBicmFuY2ggWzxmbGFnZ29yPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKQEAgLTM4ODEsMTE5ICs0ODIyLDEyNiBAQAogbXNnaWQgIkRlbGV0ZWQgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICJUb2cgYm9ydCBncmVuZW4gJXMgKHZhciAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzA5CisjOiBidWlsdGluL2JyYW5jaC5jOjMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGdvbmVdIgogbXNnc3RyICJbJXM6IGbDtnJzdnVubmVuXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslc10iCiBtc2dzdHIgIlslc10iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE5CisjOiBidWlsdGluL2JyYW5jaC5jOjMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogYmFrb20gJWRdICIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIltiZWhpbmQgJWRdIgogbXNnc3RyICJbYmFrb20gJWRdICIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWRdIgogbXNnc3RyICJbJXM6IGbDtnJlICVkXSAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI3CisjOiBidWlsdGluL2JyYW5jaC5jOjMzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWRdIgogbXNnc3RyICJbZsO2cmUgJWRdICIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogZsO2cmUgJWQsIGJha29tICVkXSAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMzCisjOiBidWlsdGluL2JyYW5jaC5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWQsIGJlaGluZCAlZF0iCiBtc2dzdHIgIltmw7ZyZSAlZCwgYmFrb20gJWRdICIKIAotIzogYnVpbHRpbi9icmFuY2guYzozNDYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzQ5CiBtc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKIG1zZ3N0ciAiICoqKiogb2dpbHRpZyByZWYgKioqKiIKIAotIzogYnVpbHRpbi9icmFuY2guYzozNzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKIG1zZ3N0ciAiKGluZ2VuIGdyZW4sIG9tYmFzZXJhciAlcykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc1CisjOiBidWlsdGluL2JyYW5jaC5jOjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCiBtc2dzdHIgIihpbmdlbiBncmVuLCBcImJpc2VjdFwiIHN0YXJ0YWQgcMOlICVzKSIKIAogIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKICMuICJIRUFEIGRldGFjaGVkIGF0ICIgaW4gd3Qtc3RhdHVzLmMKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzgxCisjOiBidWlsdGluL2JyYW5jaC5jOjM4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCiBtc2dzdHIgIihIRUFEIGZyw6Vua29wcGxhdCB2aWQgJXMpIgogCiAjLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwogIy4gIkhFQUQgZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCi0jOiBidWlsdGluL2JyYW5jaC5jOjM4NgorIzogYnVpbHRpbi9icmFuY2guYzozODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCiBtc2dzdHIgIihIRUFEIGZyw6Vua29wcGxhdCBmcsOlbiAlcykiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzkwCisjOiBidWlsdGluL2JyYW5jaC5jOjM5MwogbXNnaWQgIihubyBicmFuY2gpIgogbXNnc3RyICIoaW5nZW4gZ3JlbikiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQxCisjOiBidWlsdGluL2JyYW5jaC5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgcmViYXNlZCBhdCAlcyIKIG1zZ3N0ciAiR3JlbmVuICVzIG9tYmFzZXJhcyBww6UgJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ1CisjOiBidWlsdGluL2JyYW5jaC5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgYmlzZWN0ZWQgYXQgJXMiCiBtc2dzdHIgIkdyZW5lbiAlcyDDpHIgaSBlbiBcImJpc2VjdFwiIHDDpSAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NjAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYzCiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgIiIKICJrdW5kZSBpbnRlIGJ5dGEgbmFtbiBww6UgYWt0dWVsbCBncmVuIG7DpHIgZHUgaW50ZSBiZWZpbm5lciBkaWcgcMOlIG7DpWdvbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTcwCisjOiBidWlsdGluL2JyYW5jaC5jOjU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGJyYW5jaCBuYW1lOiAnJXMnIgogbXNnc3RyICJGZWxha3RpZ3QgbmFtbiBww6UgZ3JlbjogXCIlc1wiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4NworIzogYnVpbHRpbi9icmFuY2guYzo1OTAKIG1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIGJ5dGEgbmFtbiBww6UgZ3JlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICJCeXR0ZSBib3J0IG5hbW4gcMOlIGVuIGZlbGFrdGlndCBuYW1uZ2l2ZW4gZ3JlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgogbXNnc3RyICJHcmVuZW4gbmFtbmJ5dHQgdGlsbCAlcywgbWVuIEhFQUQgaGFyIGludGUgdXBwZGF0ZXJhdHMhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMQorIzogYnVpbHRpbi9icmFuY2guYzo2MDQKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIkdyZW5lbiBuYW1uYnl0dCwgbWVuIG1pc3NseWNrYWRlcyB1cHBkYXRlcmEga29uZmlndXJhdGlvbnNmaWxlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjMKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgYnJhbmNoIGRlc2NyaXB0aW9uIHRlbXBsYXRlIgotbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSBncmVuYmVza3Jpdm5pbmdzbWFsbCIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQbGVhc2UgZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2hcbiIKKyIgICVzXG4iCisiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgc3RyaXBwZWQuXG4iCittc2dzdHIgIiIKKyJSZWRpZ2VyYSBiZXNrcml2bmluZ2VuIGbDtnIgZ3JlbmVuXG4iCisiICAlc1xuIgorIlJhZGVyIHNvbSBpbmxlZHMgbWVkIFwiJWNcIiBpZ25vcmVyYXMuXG4iCiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUxCiBtc2dpZCAiR2VuZXJpYyBvcHRpb25zIgpAQCAtNDAyMyw2ICs0OTcxLDEwIEBACiBtc2dpZCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICLDpG5kcmEgdXBwc3Ryw7Ztc2luZm9ybWF0aW9uZW4iCiAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwCittc2dpZCAiVW5zZXQgdGhlIHVwc3RyZWFtIGluZm8iCittc2dzdHIgInRhIGJvcnQgdXBwc3Ryw7Ztc2luZm9ybWF0aW9uZW4iCisKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYxCiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICJhbnbDpG5kIGbDpHJnYWQgdXRkYXRhIgpAQCAtNDA5NSw4ICs1MDQ3LDggQEAKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCiBtc2dzdHIgImbDpGx0bmFtbiBhdHQgc29ydGVyYSBww6UiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njg2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEgYnVpbHRpbi9ub3Rlcy5jOjQwMQotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNCBidWlsdGluL25vdGVzLmM6NTY0IGJ1aWx0aW4vbm90ZXMuYzo1NjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njg2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEgYnVpbHRpbi9ub3Rlcy5jOjQwNAorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNyBidWlsdGluL25vdGVzLmM6NTY3IGJ1aWx0aW4vbm90ZXMuYzo1NzAKICM6IGJ1aWx0aW4vdGFnLmM6MzY5CiBtc2dpZCAib2JqZWN0IgogbXNnc3RyICJvYmpla3QiCkBAIC00MTA5LDcgKzUwNjEsNyBAQAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJNaXNzbHlja2FkZXMgc2zDpSB1cHAgSEVBRCBzb20gZ2lsdGlnIHJlZmVyZW5zIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2Nsb25lLmM6NzA3CisjOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2Nsb25lLmM6NzA2CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQgaGl0dGFkZXMgaW50ZSB1bmRlciByZWZzL2hlYWRzISIKIApAQCAtNDIyMSw2NCArNTE3Myw4MCBAQAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiQmVow7Z2ZXIgZXR0IGFya2l2IGbDtnIgYXR0IHBhY2thIHVwcCBldHQgcGFrZXQgKGJ1bmRsZSkuIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDI4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTEzCiBtc2dpZCAiIgotImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXXwtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdfC1lfC1wfCIKLSI8dHlwZT58LS10ZXh0Y29udikgPG9iamVjdD4iCisiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLSIKKyJwIHwgPHR5cGU+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD08cGF0aD5dIDxvYmplY3Q+IgogbXNnc3RyICIiCi0iZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdfC1zIFstLWFsbG93LXVua25vd24tdHlwZV18LWV8LXB8IgotIjx0eXA+fC0tdGV4dGNvbnYpIDxvYmpla3Q+IgorImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCisicCB8IDx0eXA+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD08c8O2a3bDpGc+XSA8b2JqZWt0PiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQyOQotbXNnaWQgImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10iCi1tc2dzdHIgImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10iCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTE0Cittc2dpZCAiIgorImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKKyJmaWx0ZXJzXSIKK21zZ3N0ciAiIgorImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKKyJmaWx0ZXJzXSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ2NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MQogbXNnaWQgIjx0eXBlPiBjYW4gYmUgb25lIG9mOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIG1zZ3N0ciAiPHR5cD4ga2FuIHZhcmEgZW4gYXY6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDY3CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTUyCiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAidmlzYSBvYmpla3R0eXAiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NjgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTMKIG1zZ2lkICJzaG93IG9iamVjdCBzaXplIgogbXNnc3RyICJ2aXNhIG9iamVrdHN0b3JsZWsiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTUKIG1zZ2lkICJleGl0IHdpdGggemVybyB3aGVuIHRoZXJlJ3Mgbm8gZXJyb3IiCiBtc2dzdHIgImF2c2x1dGEgbWVkIG5vbGwgbsOkciBkZXQgaW50ZSB1cHBzdMOldHQgbsOlZ290IGZlbCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3MQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NgogbXNnaWQgInByZXR0eS1wcmludCBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJ2aXNhIG9iamVrdGV0cyBpbm5laMOlbGwgc255Z2d0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDczCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU4CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCi1tc2dzdHIgImbDtnIgYmxvYi1vYmpla3QsIGvDtnIgdGV4dGNvbnYgcMOlIG9iamVrdGV0cyBpbm5laMOlbGwiCittc2dzdHIgImbDtnIgYmxvYi1vYmpla3QsIGvDtnIgZmlsdGVyIHDDpSBvYmpla3RldHMgaW5uZWjDpWxsIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDc1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYwCittc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIGZpbHRlcnMgb24gb2JqZWN0J3MgY29udGVudCIKK21zZ3N0ciAiZsO2ciBibG9iLW9iamVrdCwga8O2ciBmaWxnZXIgcMOlIG9iamVrdGV0cyBpbm5laMOlbGwiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjEgZ2l0LXN1Ym1vZHVsZS5zaDo5MjMKK21zZ2lkICJibG9iIgorbXNnc3RyICJibG9iIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYyCittc2dpZCAidXNlIGEgc3BlY2lmaWMgcGF0aCBmb3IgLS10ZXh0Y29udi8tLWZpbHRlcnMiCittc2dzdHIgImFudsOkbmQgc3BlY2lmaWsgc8O2a3bDpGcgZsO2ciAtLXRleHRjb252Ly0tZmlsdGVycyIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NAogbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKIG1zZ3N0ciAibMOldGVyIC1zIG9jaCAtdCBhdHQgZnVuZ2VyYSBtZWQgdHJhc2lnYS9zw7ZuZGVyc2tyaXZuYSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjUKIG1zZ2lkICJidWZmZXIgLS1iYXRjaCBvdXRwdXQiCiBtc2dzdHIgImJ1ZmZyYSB1dGRhdGEgZnLDpW4gLS1iYXRjaCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3OAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NwogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAidmlzYSBpbmZvcm1hdGlvbiBvY2ggaW5uZWjDpWxsIGbDtnIgb2JqZWt0IHNvbSBsaXN0YXMgcMOlIHN0YW5kYXJkIGluIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDgxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTcwCiBtc2dpZCAic2hvdyBpbmZvIGFib3V0IG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJ2aXNhIGluZm9ybWF0aW9uIGbDtnIgb2JqZWt0IHNvbSBsaXN0YXMgcMOlIHN0YW5kYXJkIGluIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDg0CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTczCiBtc2dpZCAiZm9sbG93IGluLXRyZWUgc3ltbGlua3MgKHVzZWQgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2spIgogbXNnc3RyICIiCiAiZsO2bGogc3ltYm9saXNrYSBsw6Rua2FyIGkgdHLDpGRldCAoYW52w6RuZCBtZWQgLS1iYXRjaCBlbGxlciAtLWJhdGNoLWNoZWNrKSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ4NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NQogbXNnaWQgInNob3cgYWxsIG9iamVjdHMgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2siCiBtc2dzdHIgInZpc2EgYWxsYSBvYmpla3QgbWVkIC0tYmF0Y2ggZWxsZXIgLS1iYXRjaC1jaGVjayIKIApAQCAtNDI5OCw3ICs1MjY2LDcgQEAKIG1zZ2lkICJ1c2UgLmdpdGF0dHJpYnV0ZXMgb25seSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAiYW52w6RuZCAuZ2l0YXR0cmlidXRlcyBlbmRhc3QgZnLDpW4gaW5kZXhldCIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CiBtc2dpZCAicmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4iCiBtc2dzdHIgImzDpHMgZmlsbmFtbiBmcsOlbiBzdGFuZGFyZCBpbiIKIApAQCAtNDMwNiw3ICs1Mjc0LDcgQEAKIG1zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAiYXZzbHV0YSBpbi0gb2NoIHV0ZGF0YXBvc3RlciBtZWQgTlVMLXRlY2tlbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOCBidWlsdGluL2NoZWNrb3V0LmM6MTEzNSBidWlsdGluL2djLmM6MzI1CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM3IGJ1aWx0aW4vZ2MuYzozMjUKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgInVuZGVydHJ5Y2sgZsO2cmxvcHBzcmFwcG9ydGVyaW5nIgogCkBAIC00Mzk2LDkgKzUzNjQsOSBAQAogbXNnc3RyICJza3JpdiBpbm5laMOlbGwgdGlsbCB0ZW1wb3LDpHJhIGZpbGVyIgogCiAjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0IGJ1aWx0aW4vY29sdW1uLmM6MzAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTAwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ2OQogbXNnaWQgInN0cmluZyIKIG1zZ3N0ciAic3Ryw6RuZyIKIApAQCAtNDQ2NCw2MyArNTQzMiw1OSBAQAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKIG1zZ3N0ciAiS2FuIGludGUgdXBwZGF0ZXJhIHPDtmt2w6RnYXIgb2NoIHbDpHhsYSB0aWxsIGdyZW5lbiBcIiVzXCIgc2FtdGlkaWd0LiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3OSBidWlsdGluL2NoZWNrb3V0LmM6NDczCi1tc2dpZCAiY29ycnVwdCBpbmRleCBmaWxlIgotbXNnc3RyICJpbmRleGZpbGVuIMOkciB0cmFzaWciCi0KICM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzkgYnVpbHRpbi9jaGVja291dC5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgInPDtmt2w6RnZW4gXCIlc1wiIGhhciBpbnRlIHNsYWdpdHMgaWhvcCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NQorIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NAogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICJkdSBtw6VzdGUgbMO2c2EgZGl0dCBiZWZpbnRsaWdhIGluZGV4IGbDtnJzdCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYyMgorIzogYnVpbHRpbi9jaGVja291dC5jOjYyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiS2FuIGludGUgc2thcGEgcmVmZXJlbnNsb2dnIGbDtnIgXCIlc1wiOiAlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjYzCiBtc2dpZCAiSEVBRCBpcyBub3cgYXQiCiBtc2dzdHIgIkhFQUQgw6RyIG51IHDDpSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY2NCBidWlsdGluL2Nsb25lLmM6NjYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjY3IGJ1aWx0aW4vY2xvbmUuYzo2NjAKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIEhFQUQiCiBtc2dzdHIgImthbiBpbnRlIHVwcGRhdGVyYSBIRUFEIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIsOFdGVyc3TDpGxsIGdyZW4gXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWxyZWFkeSBvbiAnJXMnXG4iCiBtc2dzdHIgIlJlZGFuIHDDpSBcIiVzXCJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiVsOkeGxhZGUgdGlsbCBvY2ggbm9sbHN0w6RsbGRlIGdyZW5lbiBcIiVzXCJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3NyBidWlsdGluL2NoZWNrb3V0LmM6MTA2NworIzogYnVpbHRpbi9jaGVja291dC5jOjY4MCBidWlsdGluL2NoZWNrb3V0LmM6MTA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJWw6R4bGFkZSB0aWxsIGVuIG55IGdyZW4gXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiVsOkeGxhZGUgdGlsbCBncmVuZW4gXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiBvY2ggJWQgdGlsbC5cbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjczNworIzogYnVpbHRpbi9jaGVja291dC5jOjczOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogeW91IGFyZSBsZWF2aW5nICVkIGNvbW1pdCBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKQEAgLTQ1NDMsNyArNTUwNyw3IEBACiAiXG4iCiAiJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc1NgorIzogYnVpbHRpbi9jaGVja291dC5jOjc1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8ga2VlcCBpdCBieSBjcmVhdGluZyBhIG5ldyBicmFuY2gsIHRoaXMgbWF5IGJlIGEgZ29vZCB0aW1lXG4iCkBAIC00NTcwLDE1MSArNTUzNCwxNTEgQEAKICIgZ2l0IGJyYW5jaCA8bnl0dF9ncmVubmFtbj4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjc5NAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgImludGVybnQgZmVsIHZpZCBnZW5vbWfDpW5nIGF2IHJldmlzaW9uZXIgKHJldmlzaW9uIHdhbGspIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk4CiBtc2dpZCAiUHJldmlvdXMgSEVBRCBwb3NpdGlvbiB3YXMiCiBtc2dzdHIgIlRpZGlnYXJlIHBvc2l0aW9uIGbDtnIgSEVBRCB2YXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MjMgYnVpbHRpbi9jaGVja291dC5jOjEwNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MjUgYnVpbHRpbi9jaGVja291dC5jOjEwNjQKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJEdSDDpHIgcMOlIGVuIGdyZW4gc29tIMOkbm51IGludGUgw6RyIGbDtmRkIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgogbXNnc3RyICJlbmRhc3QgZW4gcmVmZXJlbnMgZsO2cnbDpG50YWRlcywgJWQgZ2F2cy4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA4IGJ1aWx0aW4vd29ya3RyZWUuYzoyMTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDEwIGJ1aWx0aW4vd29ya3RyZWUuYzoyMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCByZWZlcmVuY2U6ICVzIgogbXNnc3RyICJmZWxha3RpZyByZWZlcmVuczogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgInJlZmVyZW5zZW4gw6RyIGludGUgZXR0IHRyw6RkOiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc4CiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgInPDtmt2w6RnYXIga2FuIGludGUgYW52w6RuZGFzIHZpZCBieXRlIGF2IGdyZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDc5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDgzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4MSBidWlsdGluL2NoZWNrb3V0LmM6MTA4NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICJcIiVzXCIga2FuIGludGUgYW52w6RuZGFzIHZpZCBieXRlIGF2IGdyZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODkgYnVpbHRpbi9jaGVja291dC5jOjEwOTIgYnVpbHRpbi9jaGVja291dC5jOjEwOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICJcIiVzXCIga2FuIGludGUgYW52w6RuZGFzIG1lZCBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKIG1zZ3N0ciAiS2FuIGludGUgdsOkeGxhIGdyZW4gdGlsbCBpY2tlLWluY2hlY2tuaW5nZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOCBidWlsdGluL2Nsb25lLmM6ODgKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTY3IGJ1aWx0aW4vd29ya3RyZWUuYzozMjMKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQwIGJ1aWx0aW4vY2xvbmUuYzo5MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjUgYnVpbHRpbi9yZW1vdGUuYzoxNjcgYnVpbHRpbi93b3JrdHJlZS5jOjMyNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNgogbXNnaWQgImJyYW5jaCIKIG1zZ3N0ciAiZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM5CiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgInNrYXBhIG9jaCBjaGVja2EgdXQgZW4gbnkgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQxCiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAic2thcGEvbm9sbHN0w6RsbCBvY2ggY2hlY2thIHV0IGVuIGdyZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MgogbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgInNrYXBhIHJlZmxvZ2cgZsO2ciBueSBncmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MQotbXNnaWQgImRldGFjaCB0aGUgSEVBRCBhdCBuYW1lZCBjb21taXQiCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MyBidWlsdGluL3dvcmt0cmVlLmM6MzI4Cittc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgogbXNnc3RyICJrb3BwbGEgZnLDpW4gSEVBRCB2aWQgbmFtbmdpdmVuIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKIG1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAic8OkdHQgdXBwc3Ryw7Ztc2luZm9ybWF0aW9uIGbDtnIgbnkgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2CiBtc2dpZCAibmV3LWJyYW5jaCIKIG1zZ3N0ciAibnktZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ2CiBtc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgogbXNnc3RyICJueSBncmVuIHV0YW4gZsO2csOkbGRlciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ3CiBtc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICJjaGVja2EgdXQgdsOlciB2ZXJzaW9uIGbDtnIgZWogc2FtbWFuc2xhZ25hIGZpbGVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NworIzogYnVpbHRpbi9jaGVja291dC5jOjExNDkKIG1zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiY2hlY2thIHV0IGRlcmFzIHZlcnNpb24gZsO2ciBlaiBzYW1tYW5zbGFnbmEgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MQogbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgogbXNnc3RyICJ0dmluZ2EgdXRjaGVja25pbmcgKGthc3RhIGJvcnQgbG9rYWxhIMOkbmRyaW5nYXIpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTIKIG1zZ2lkICJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIKIG1zZ3N0ciAidXRmw7ZyIGVuIDMtdsOkZ3NzYW1tYW5zbGFnbmluZyBmw7ZyIGRlbiBueWEgZ3JlbmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MSBidWlsdGluL21lcmdlLmM6MjMwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MyBidWlsdGluL21lcmdlLmM6MjMxCiBtc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgogbXNnc3RyICJ1cHBkYXRlcmEgaWdub3JlcmFkZSBmaWxlciAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MiBidWlsdGluL2xvZy5jOjE0MzIgcGFyc2Utb3B0aW9ucy5oOjI1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTQgYnVpbHRpbi9sb2cuYzoxNDY2IHBhcnNlLW9wdGlvbnMuaDoyNTEKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAic3RpbCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU1CiBtc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKIG1zZ3N0ciAia29uZmxpa3RzdGlsIChtZXJnZSBlbGxlciBkaWZmMykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKIG1zZ3N0ciAiYmVncsOkbnNhIGludGUgc8O2a3bDpGdhciB0aWxsIGVuZGFzdCBnbGVzYSBwb3N0ZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MAogbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IDxuby1zdWNoLWJyYW5jaD4nIgogbXNnc3RyICJmw7ZydXRzcMOlIFwiZ2l0IGNoZWNrb3V0IDxncmVuLXNha25hcz5cIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYyCiBtc2dpZCAiZG8gbm90IGNoZWNrIGlmIGFub3RoZXIgd29ya3RyZWUgaXMgaG9sZGluZyB0aGUgZ2l2ZW4gcmVmIgogbXNnc3RyICIiCiAia29udHJvbGxlcmEgaW50ZSBvbSBlbiBhbm5hbiBhcmJldHNrYXRhbG9nIGjDpWxsZXIgZGVuIGFuZ2l2bmEgcmVmZXJlbnNlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjEgYnVpbHRpbi9jbG9uZS5jOjYwIGJ1aWx0aW4vZmV0Y2guYzoxMTYKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjcgYnVpbHRpbi9wdWxsLmM6MTE2IGJ1aWx0aW4vcHVzaC5jOjUyNgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjMgYnVpbHRpbi9jbG9uZS5jOjYzIGJ1aWx0aW4vZmV0Y2guYzoxMTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjggYnVpbHRpbi9wdWxsLmM6MTE3IGJ1aWx0aW4vcHVzaC5jOjUzNgogIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgInR2aW5nYSBmw7ZybG9wcHNyYXBwb3J0ZXJpbmciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTkyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5NAogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLWIsIC1CIG9jaCAtLW9ycGhhbiDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjA5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxMQogbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiLS10cmFjayBiZWjDtnZlciBldHQgbmFtbiBww6UgZW4gZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjE2CiBtc2dpZCAiTWlzc2luZyBicmFuY2ggbmFtZTsgdHJ5IC1iIgogbXNnc3RyICJHcmVubmFtbiBzYWtuYXM7IGbDtnJzw7ZrIG1lZCAtYiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUyCiBtc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgImZlbGFrdGlnIHPDtmt2w6Rnc2FuZ2l2ZWxzZSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS5cbiIKQEAgLTQ3MjMsMTIgKzU2ODcsMTIgQEAKICJLYW4gaW50ZSB1cHBkYXRlcmEgc8O2a3bDpGdhciBvY2ggdsOkeGxhIHRpbGwgZ3JlbmVuIFwiJXNcIiBzYW10aWRpZ3QuXG4iCiAiVmlsbGUgZHUgY2hlY2thIHV0IFwiJXNcIiBzb20gaW50ZSBrYW4gbMO2c2FzIHNvbSBlbiB1dGNoZWNrbmluZz8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCiBtc2dzdHIgImdpdCBjaGVja291dDogLS1kZXRhY2ggdGFyIGludGUgZW4gc8O2a3bDpGcgc29tIGFyZ3VtZW50IFwiJXNcIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtNDg4MSw4ICs1ODQ1LDggQEAKIG1zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCiBtc2dzdHIgInRhIGJvcnQgaGVsYSBrYXRhbG9nZXIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9kZXNjcmliZS5jOjQwNyBidWlsdGluL2dyZXAuYzo3MjQKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTYgYnVpbHRpbi9uYW1lLXJldi5jOjMxNCBidWlsdGluL3Nob3ctcmVmLmM6MTgyCisjOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMgYnVpbHRpbi9zaG93LXJlZi5jOjE4MgogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgIm3Dtm5zdGVyIgogCkBAIC00OTIyLDExMyArNTg4NiwxMzAgQEAKIG1zZ2lkICJnaXQgY2xvbmUgWzxvcHRpb25zPl0gWy0tXSA8cmVwbz4gWzxkaXI+XSIKIG1zZ3N0ciAiZ2l0IGNsb25lIFs8ZmxhZ2dvcj5dIFstLV0gPGFya2l2PiBbPGthdD5dIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NQogbXNnaWQgImRvbid0IGNyZWF0ZSBhIGNoZWNrb3V0IgogbXNnc3RyICJza2FwYSBpbnRlIG7DpWdvbiB1dGNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYzIGJ1aWx0aW4vY2xvbmUuYzo2NSBidWlsdGluL2luaXQtZGIuYzo0NzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NiBidWlsdGluL2Nsb25lLmM6NjggYnVpbHRpbi9pbml0LWRiLmM6NDc4CiBtc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJza2FwYSBldHQgbmFrZXQgKFwiYmFyZVwiKSBhcmtpdiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY3CisjOiBidWlsdGluL2Nsb25lLmM6NzAKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAic2thcGEgZXR0IHNwZWdlbGFya2l2IChpbXBsaWNlcmFyIFwiYmFyZVwiKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY5CisjOiBidWlsdGluL2Nsb25lLmM6NzIKIG1zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiZsO2ciBhdHQga2xvbmEgZnLDpW4gZXR0IGxva2FsdCBhcmtpdiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcxCisjOiBidWlsdGluL2Nsb25lLmM6NzQKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAic2thcGEgaW50ZSBsb2thbGEgaMOlcmRhIGzDpG5rYXIsIGtvcGllcmEgYWxsdGlkIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NgogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICJza2FwYSBzb20gZXR0IGRlbGF0IGFya2l2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzUgYnVpbHRpbi9jbG9uZS5jOjc3CisjOiBidWlsdGluL2Nsb25lLmM6NzggYnVpbHRpbi9jbG9uZS5jOjgwCiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAiaW5pdGllcmEgdW5kZXJtb2R1bGVyIGkga2xvbmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MgogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGNsb25lZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAiYW50YWwgdW5kZXJtb2R1bGVyIHNvbSBrbG9uYXMgcGFyYWxsZWxsdCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3MAorIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NQogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAibWFsbGthdGFsb2ciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MSBidWlsdGluL2luaXQtZGIuYzo0NzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NCBidWlsdGluL2luaXQtZGIuYzo0NzYKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICJrYXRhbG9nIGF0dCBhbnbDpG5kYSBtYWxsYXIgZnLDpW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDk4Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc3CisjOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jbG9uZS5jOjg4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKIG1zZ3N0ciAicmVmZXJlbnNhcmtpdiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg1CisjOiBidWlsdGluL2Nsb25lLmM6OTAKIG1zZ2lkICJ1c2UgLS1yZWZlcmVuY2Ugb25seSB3aGlsZSBjbG9uaW5nIgogbXNnc3RyICJhbnbDpG5kIC0tcmVmZXJlbmNlIGVuZGFzdCB1bmRlciBrbG9uaW5nZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CisjOiBidWlsdGluL2Nsb25lLmM6OTEgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAogbXNnaWQgIm5hbWUiCiBtc2dzdHIgIm5hbW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NworIzogYnVpbHRpbi9jbG9uZS5jOjkyCiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgogbXNnc3RyICJhbnbDpG5kIDxuYW1uPiBpc3TDpGxsZXQgZsO2ciBcIm9yaWdpblwiIGbDtnIgYXR0IHNww6VyYSB1cHBzdHLDtm1zIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NAogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCiBtc2dzdHIgImNoZWNrYSB1dCA8Z3Jlbj4gaXN0w6RsbGV0IGbDtnIgZmrDpHJyZW5zIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MQorIzogYnVpbHRpbi9jbG9uZS5jOjk2CiBtc2dpZCAicGF0aCB0byBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSIKIG1zZ3N0ciAic8O2a3bDpGcgdGlsbCBnaXQtdXBsb2FkLXBhY2sgcMOlIGZqw6RycmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9mZXRjaC5jOjExNyBidWlsdGluL2dyZXAuYzo2NjcKLSM6IGJ1aWx0aW4vcHVsbC5jOjIwMQorIzogYnVpbHRpbi9jbG9uZS5jOjk3IGJ1aWx0aW4vZmV0Y2guYzoxMjAgYnVpbHRpbi9ncmVwLmM6NjY4CisjOiBidWlsdGluL3B1bGwuYzoyMDIKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAiZGp1cCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzCisjOiBidWlsdGluL2Nsb25lLmM6OTgKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIG9mIHRoYXQgZGVwdGgiCiBtc2dzdHIgInNrYXBhIGVuIGdydW5kIGtsb24gcMOlIGRldHRhIGRqdXAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NQorIzogYnVpbHRpbi9jbG9uZS5jOjk5IGJ1aWx0aW4vZmV0Y2guYzoxMjIgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ4CisjOiBwYXJzZS1vcHRpb25zLmg6MTQyCittc2dpZCAidGltZSIKK21zZ3N0ciAidGlkIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAwCittc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCittc2dzdHIgInNrYXBhIGVuIGdydW5kIGtsb24gZnLDpW4gZW4gYW5naXZlbiB0aWRwdW5rdCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMSBidWlsdGluL2ZldGNoLmM6MTI0Cittc2dpZCAicmV2aXNpb24iCittc2dzdHIgInJldmlzaW9uIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMjUKK21zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIGJ5IGV4Y2x1ZGluZyByZXYiCittc2dzdHIgImbDtnJkanVwYSBoaXN0b3JpayBmw7ZyIGdydW5kIGtsb24gZ2Vub20gYXR0IGV4a2x1ZGVyYSByZXZpc2lvbiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwNAogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAia2xvbmEgZW5kYXN0IGVuIGdyZW4sIEhFQUQgZWxsZXIgLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NworIzogYnVpbHRpbi9jbG9uZS5jOjEwNgogbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIGJlIHNoYWxsb3ciCiBtc2dzdHIgImtsb25hZGUgdW5kZXJtb2R1bGVyIGtvbW1lciB2YXJhIGdydW5kYSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNyBidWlsdGluL2luaXQtZGIuYzo0ODQKIG1zZ2lkICJnaXRkaXIiCiBtc2dzdHIgImdpdGthdCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwOCBidWlsdGluL2luaXQtZGIuYzo0ODUKIG1zZ2lkICJzZXBhcmF0ZSBnaXQgZGlyIGZyb20gd29ya2luZyB0cmVlIgogbXNnc3RyICJzZXBhcmVyYSBnaXRrYXRhbG9nZW4gZnLDpW4gYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwCisjOiBidWlsdGluL2Nsb25lLmM6MTA5CiBtc2dpZCAia2V5PXZhbHVlIgogbXNnc3RyICJueWNrZWw9dsOkcmRlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxCisjOiBidWlsdGluL2Nsb25lLmM6MTEwCiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICJzdMOkbGwgaW4ga29uZmlndXJhdGlvbiBpIGRldCBueWEgYXJraXZldCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMiBidWlsdGluL2ZldGNoLmM6MTMxIGJ1aWx0aW4vcHVzaC5jOjUzNgorIzogYnVpbHRpbi9jbG9uZS5jOjExMSBidWlsdGluL2ZldGNoLmM6MTQwIGJ1aWx0aW4vcHVzaC5jOjU0NwogbXNnaWQgInVzZSBJUHY0IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICJhbnbDpG5kIGVuZGFzdCBJUHY0LWFkcmVzc2VyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA0IGJ1aWx0aW4vZmV0Y2guYzoxMzMgYnVpbHRpbi9wdXNoLmM6NTM4CisjOiBidWlsdGluL2Nsb25lLmM6MTEzIGJ1aWx0aW4vZmV0Y2guYzoxNDIgYnVpbHRpbi9wdXNoLmM6NTQ5CiBtc2dpZCAidXNlIElQdjYgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgImFudsOkbmQgZW5kYXN0IElQdjYtYWRyZXNzZXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNTAKIG1zZ2lkICIiCiAiTm8gZGlyZWN0b3J5IG5hbWUgY291bGQgYmUgZ3Vlc3NlZC5cbiIKICJQbGVhc2Ugc3BlY2lmeSBhIGRpcmVjdG9yeSBvbiB0aGUgY29tbWFuZCBsaW5lIgpAQCAtNTAzNiw1MiArNjAxNyw0MiBAQAogIkt1bmRlIGludGUgZ2lzc2Ega2F0YWxvZ25hbW4uXG4iCiAiQW5nZSBlbiBrYXRhbG9nIHDDpSBrb21tYW5kb3JhZGVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzA3CisjOiBidWlsdGluL2Nsb25lLmM6MzAzCiAjLCBjLWZvcm1hdAotbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgYXMgYSBsaW5rZWQgY2hlY2tvdXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuIgotbXNnc3RyICJyZWZlcmVuc2Fya2l2ZXQgXCIlc1wiIHNvbSBlbiBsw6Rua2FkIHV0Y2hlY2tuaW5nIHN0w7ZkcyBpbnRlIMOkbm51LiIKK21zZ2lkICJpbmZvOiBDb3VsZCBub3QgYWRkIGFsdGVybmF0ZSBmb3IgJyVzJzogJXNcbiIKK21zZ3N0ciAiaW5mbzogS2FuIGludGUgc2thcGEgYWx0ZXJuYXRpdiBmw7ZyIFwiJXNcIjogJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMwOQorIzogYnVpbHRpbi9jbG9uZS5jOjM3NQogIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgotbXNnc3RyICJyZWZlcmVuc2Fya2l2ZXQgXCIlc1wiIMOkciBpbnRlIGV0dCBsb2thbHQgYXJraXYuIgorbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCittc2dzdHIgIm1pc3NseWNrYWRlcyDDtnBwbmEgXCIlc1wiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzE0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKLW1zZ3N0ciAicmVmZXJlbnNhcmtpdmV0IFwiJXNcIiDDpHIgZ3J1bnQiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgotbXNnc3RyICJyZWZlcmVuc2Fya2l2ZXQgXCIlc1wiIMOkciB5bXBhdCIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjM4NAorIzogYnVpbHRpbi9jbG9uZS5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgZmlubnMgb2NoIMOkciBpbmdlbiBrYXRhbG9nIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzk4CisjOiBidWlsdGluL2Nsb25lLmM6Mzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBzdGF0dXMgcMOlICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSBsw6Rua2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQyNAorIzogYnVpbHRpbi9jbG9uZS5jOjQyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBrb3BpZXJhIGZpbGVuIHRpbGwgXCIlc1wiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDQ5IGJ1aWx0aW4vY2xvbmUuYzo2MzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAia2xhcnQuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgpAQCAtNTA5MSwxMjkgKzYwNjIsMTM4IEBACiAiRHUga2FuIGluc3Bla3RlcmEgZGV0IHNvbSBjaGVja2FkZXMgdXQgbWVkIFwiZ2l0IHN0YXR1c1wiXG4iCiAib2NoIGbDtnJzw7ZrYSBjaGVja2EgdXQgaWdlbiBtZWQgXCJnaXQgY2hlY2tvdXQgLWYgSEVBRFwiXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1MzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgZmrDpHJyZ3JlbmVuICVzIGbDtnIgYXR0IGtsb25hLiIKIAotIyBWYWd1ZSBvcmlnaW5hbCwgbm90IG5ldHdvcmtpbmctcmVsYXRlZCwgYnV0IHJhdGhlciByZWxhdGVkIHRvIHRoZSBhY3R1YWwKLSMgb2JqZWN0cyBkb3dubG9hZGVkLgotIzogYnVpbHRpbi9jbG9uZS5jOjYyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkuLi4gIgotbXNnc3RyICJLb250cm9sbGVyYXIgb20gdmkgZmljayBhbGxhIG9iamVrdC4uLiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjYzMQorIzogYnVpbHRpbi9jbG9uZS5jOjYzMgogbXNnaWQgInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIgogbXNnc3RyICJmasOkcnJlbiBzw6RuZGUgaW50ZSBhbGxhIG7DtmR2w6RuZGlnYSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSAlcyIKIG1zZ3N0ciAia2FuIGludGUgdXBwZGF0ZXJhICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Njk4CisjOiBidWlsdGluL2Nsb25lLmM6Njk3CiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICIiCiAiSEVBRCBob3MgZmrDpHJyZW4gcGVrYXIgcMOlIGVuIG9iZWZpbnRsaWcgcmVmZXJlbnMsIGthbiBpbnRlIGNoZWNrYSB1dC5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcyOQorIzogYnVpbHRpbi9jbG9uZS5jOjcyOAogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImt1bmRlIGludGUgY2hlY2thIHV0IGFyYmV0c2thdGFsb2dlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2NworIzogYnVpbHRpbi9jbG9uZS5jOjc2OAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSBwYXJhbWV0cmFyIHRpbGwga29uZmlndXJhdGlvbnNmaWxlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgzMAorIzogYnVpbHRpbi9jbG9uZS5jOjgzMQogbXNnaWQgImNhbm5vdCByZXBhY2sgdG8gY2xlYW4gdXAiCiBtc2dzdHIgImthbiBpbnRlIHBhY2thIG9tIGbDtnIgYXR0IHN0w6RkYSB1cHAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MzMKIG1zZ2lkICJjYW5ub3QgdW5saW5rIHRlbXBvcmFyeSBhbHRlcm5hdGVzIGZpbGUiCiBtc2dzdHIgImt1bmRlIGludGUgdGEgYm9ydCB0ZW1wb3LDpHIgXCJhbHRlcm5hdGVzXCItZmlsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODY0IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTczMQorIzogYnVpbHRpbi9jbG9uZS5jOjg2NiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4OTUKIG1zZ2lkICJUb28gbWFueSBhcmd1bWVudHMuIgogbXNnc3RyICJGw7ZyIG3DpW5nYSBhcmd1bWVudC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NzAKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgcmVwb3NpdG9yeSB0byBjbG9uZS4iCiBtc2dzdHIgIkR1IG3DpXN0ZSBhbmdlIGV0dCBhcmtpdiBhdHQga2xvbmEuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODc5CisjOiBidWlsdGluL2Nsb25lLmM6ODgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiZmxhZ2dvcm5hIC0tYmFyZSBvY2ggLS1vcmlnaW4gJXMgw6RyIGlua29tcGF0aWJsYS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4ODIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4ODYKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiZmxhZ2dvcm5hIC0tYmFyZSBvY2ggLS1zZXBhcmF0ZS1naXQtZGlyIMOkciBpbmtvbXBhdGlibGEuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODk1CisjOiBidWlsdGluL2Nsb25lLmM6ODk5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiYXJraXZldCBcIiVzXCIgZmlubnMgaW50ZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkwMSBidWlsdGluL2ZldGNoLmM6MTE3NAorIzogYnVpbHRpbi9jbG9uZS5jOjkwNSBidWlsdGluL2ZldGNoLmM6MTMzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXB0aCAlcyBpcyBub3QgYSBwb3NpdGl2ZSBudW1iZXIiCiBtc2dzdHIgImRqdXBldCAlcyDDpHIgaW50ZSBldHQgcG9zaXRpdnQgdGFsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTExCisjOiBidWlsdGluL2Nsb25lLmM6OTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgImRlc3RpbmF0aW9uc3PDtmt2w6RnZW4gXCIlc1wiIGZpbm5zIHJlZGFuIG9jaCDDpHIgaW50ZSBlbiB0b20ga2F0YWxvZy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJhcmJldHN0csOkZGV0IFwiJXNcIiBmaW5ucyByZWRhbi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MzYgYnVpbHRpbi9jbG9uZS5jOjk0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTQ3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjIwIGJ1aWx0aW4vd29ya3RyZWUuYzoyNDcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NDAgYnVpbHRpbi9jbG9uZS5jOjk1MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjU3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjIyIGJ1aWx0aW4vd29ya3RyZWUuYzoyNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEgaW5sZWRhbmRlIGthdGFsb2dlciBmw7ZyIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzOQorIzogYnVpbHRpbi9jbG9uZS5jOjk0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSBhcmJldHNrYXRhbG9nZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTU3CisjOiBidWlsdGluL2Nsb25lLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byBiYXJlIHJlcG9zaXRvcnkgJyVzJy4uLlxuIgogbXNnc3RyICJLbG9uYXIgdGlsbCBldHQgbmFrZXQgYXJraXYgXCIlc1wiLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAiS2xvbmFyIHRpbGwgXCIlc1wiLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjMKK21zZ2lkICIiCisiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBib3RoIC0tcmVmZXJlbmNlIGFuZCAtLXJlZmVyZW5jZS1pZi0iCisiYWJsZSIKK21zZ3N0ciAiIgorImNsb25lIC0tcmVjdXJzaXZlIMOkciBpbnRlIGtvbXBhdGliZWwgbWVkIC0tcmVmZXJlbmNlIG9jaCAtLXJlZmVyZW5jZS1pZi1hYmxlIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAxOQogbXNnaWQgIi0tZGVwdGggaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICItLWRlcHRoIGlnbm9yZXJhcyBpIGxva2FsYSBrbG9uaW5nYXI7IGFudsOkbmQgZmlsZTovLyBpc3TDpGxsZXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAxCisjOiBidWlsdGluL2Nsb25lLmM6MTAyMQorbXNnaWQgIi0tc2hhbGxvdy1zaW5jZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCittc2dzdHIgIi0tc2hhbGxvdy1zaW5jZSBpZ25vcmVyYXMgaSBsb2thbGEga2xvbmluZ2FyOyBhbnbDpG5kIGZpbGU6Ly8gaXN0w6RsbGV0IgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAyMworbXNnaWQgIi0tc2hhbGxvdy1leGNsdWRlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKK21zZ3N0ciAiIgorIi0tc2hhbGxvdy1leGNsdWRlIGlnbm9yZXJhcyBpIGxva2FsYSBrbG9uaW5nYXI7IGFudsOkbmQgZmlsZTovLyBpc3TDpGxsZXQiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDI2CiBtc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKIG1zZ3N0ciAia8OkbGxhcmtpdmV0IMOkciBncnVudCwgaWdub3JlcmFyIC0tbG9jYWwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDA2CisjOiBidWlsdGluL2Nsb25lLmM6MTAzMQogbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKIG1zZ3N0ciAiLS1sb2NhbCBpZ25vcmVyYXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEwCisjOiBidWlsdGluL2Nsb25lLmM6MTAzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBjbG9uZSAlcyIKIG1zZ3N0ciAiVmV0IGludGUgaHVyIG1hbiBrbG9uYXIgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDU5IGJ1aWx0aW4vY2xvbmUuYzoxMDY3CisjOiBidWlsdGluL2Nsb25lLmM6MTA5MCBidWlsdGluL2Nsb25lLmM6MTA5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdGUgYnJhbmNoICVzIG5vdCBmb3VuZCBpbiB1cHN0cmVhbSAlcyIKIG1zZ3N0ciAiRmrDpHJyZ3JlbmVuICVzIGhpdHRhZGVzIGludGUgaSB1cHBzdHLDtm1zYXJraXZldCAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAxCiBtc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKIG1zZ3N0ciAiRHUgdmVya2FyIGhhIGtsb25hdCBldHQgdG9tdCBhcmtpdi4iCiAKQEAgLTUzNTMsNDMgKzYzMzMsNDMgQEAKICJcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIga29tbWVyIGTDpHJlZnRlciBhdHQgw6V0ZXJ1cHB0YVxuIgogImNoZXJyeS1waWNrIGbDtnIgw6V0ZXJzdMOlZW5kZSBpbmNoZWNrbmluZ2FyLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMwNworIzogYnVpbHRpbi9jb21taXQuYzozMTgKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBwYWNrYSB1cHAgSEVBRDpzIHRyw6Rkb2JqZWt0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM0OAorIzogYnVpbHRpbi9jb21taXQuYzozNTkKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSB0ZW1wb3LDpHIgaW5kZXhmaWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzU0CisjOiBidWlsdGluL2NvbW1pdC5jOjM2NQogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgImludGVyYWt0aXYgdGlsbMOkZ2duaW5nIG1pc3NseWNrYWRlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzc4CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgImthbiBpbnRlIHVwcGRhdGVyYSB0ZW1wb3LDpHJ0IGluZGV4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM2OQorIzogYnVpbHRpbi9jb21taXQuYzozODAKIG1zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIG1haW4gY2FjaGUgdHJlZSIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHVwcGRhdGVyYSBodXZ1ZC1jYWNoZXRyw6RkZXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzkzIGJ1aWx0aW4vY29tbWl0LmM6NDE2IGJ1aWx0aW4vY29tbWl0LmM6NDY1CisjOiBidWlsdGluL2NvbW1pdC5jOjQwNCBidWlsdGluL2NvbW1pdC5jOjQyNyBidWlsdGluL2NvbW1pdC5jOjQ3NgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgZmlsZW4gbmV3X2luZGV4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ0NworIzogYnVpbHRpbi9jb21taXQuYzo0NTgKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBtZXJnZS4iCiBtc2dzdHIgImthbiBpbnRlIHV0ZsO2cmEgZW4gZGVsdmlzIGluY2hlY2tuaW5nIHVuZGVyIGVuIHNhbW1hbnNsYWduaW5nLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYwCiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICJrYW4gaW50ZSB1dGbDtnJhIGVuIGRlbHZpcyBpbmNoZWNrbmluZyB1bmRlciBlbiBjaGVycnktcGljay4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDU4CisjOiBidWlsdGluL2NvbW1pdC5jOjQ2OQogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAia2FuIGludGUgbMOkc2EgaW5kZXhldCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDg4CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRlbXBvcmFyeSBpbmRleCBmaWxlIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSB0ZW1wb3LDpHIgaW5kZXhmaWwiCiAKQEAgLTU0MjAsMTIgKzY0MDAsMTIgQEAKICJrdW5kZSBpbnRlIHbDpGxqYSBldHQga29tbWVudGFyc3RlY2tlbiBzb20gaW50ZSBhbnbDpG50c1xuIgogImkgZGV0IGJlZmludGxpZ2EgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjkyIGJ1aWx0aW4vY29tbWl0LmM6NzI1IGJ1aWx0aW4vY29tbWl0LmM6MTA5MQorIzogYnVpbHRpbi9jb21taXQuYzo2OTIgYnVpbHRpbi9jb21taXQuYzo3MjUgYnVpbHRpbi9jb21taXQuYzoxMDk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHNsw6UgdXBwIGluY2hlY2tuaW5nZW4gJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA0IGJ1aWx0aW4vc2hvcnRsb2cuYzoyODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzA0IGJ1aWx0aW4vc2hvcnRsb2cuYzoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiKGzDpHNlciBsb2dnbWVkZGVsYW5kZSBmcsOlbiBzdGFuZGFyZCBpbilcbiIKQEAgLTU1MjEsMTI3ICs2NTAxLDEzMSBAQAogbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgogbXNnc3RyICJLYW4gaW50ZSBsw6RzYSBpbmRleGV0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk0OQorIzogYnVpbHRpbi9jb21taXQuYzo5NTQKIG1zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiRmVsIHZpZCBieWdnYW5kZSBhdiB0csOkZCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NjQgYnVpbHRpbi90YWcuYzoyNjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTY5IGJ1aWx0aW4vdGFnLmM6MjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG1lc3NhZ2UgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbi5cbiIKIG1zZ3N0ciAiQW5nZSBtZWRkZWxhbmRldCBlbiBhdiBmbGFnZ29ybmEgLW0gZWxsZXIgLUYuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2NgorIzogYnVpbHRpbi9jb21taXQuYzoxMDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYXV0aG9yICclcycgaXMgbm90ICdOYW1lIDxlbWFpbD4nIGFuZCBtYXRjaGVzIG5vIGV4aXN0aW5nIGF1dGhvciIKIG1zZ3N0ciAiIgogIi0tYXV0aG9yICclcycgw6RyIGludGUgJ05hbW4gPGVwb3N0Picgb2NoIG1hdGNoYXIgaW5nZW4gYmVmaW50bGlnIGbDtnJmYXR0YXJlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwODEgYnVpbHRpbi9jb21taXQuYzoxMzIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEwODYgYnVpbHRpbi9jb21taXQuYzoxMzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiT2dpbHRpZ3QgbMOkZ2UgZsO2ciBvc3DDpXJhZGUgZmlsZXI6IFwiJXNcIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTE4CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjQKIG1zZ2lkICItLWxvbmcgYW5kIC16IGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbG9uZyBvY2ggLXogw6RyIGlua29tcGF0aWJsYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjExNTQKIG1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJLYW4gaW50ZSBhbnbDpG5kYSBiw6VkZSAtLXJlc2V0LWF1dGhvciBvY2ggLS1hdXRob3IiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NworIzogYnVpbHRpbi9jb21taXQuYzoxMTYzCiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgIkR1IGhhciBpbmdldCBhdHQgdXTDtmthLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTYwCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjYKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJEdSDDpHIgaSBtaXR0ZW4gYXYgZW4gc2FtbWFuc2xhZ25pbmcgLS0ga2FuIGludGUgdXTDtmthLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTYyCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjgKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJEdSDDpHIgaSBtaXR0ZW4gYXYgZW4gY2hlcnJ5LXBpY2sgLS0ga2FuIGludGUgdXTDtmthLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY1CisjOiBidWlsdGluL2NvbW1pdC5jOjExNzEKIG1zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICJGbGFnZ29ybmEgLS1zcXVhc2ggb2NoIC0tZml4dXAga2FuIGludGUgYW52w6RuZGFzIHNhbXRpZGlndCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTc1CisjOiBidWlsdGluL2NvbW1pdC5jOjExODEKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiRW5kYXN0IGVuIGF2IC1jLy1DLy1GLy0tZml4dXAga2FuIGFudsOkbmRhcy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3NworIzogYnVpbHRpbi9jb21taXQuYzoxMTgzCiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgogbXNnc3RyICJGbGFnZ2FuIC1tIGthbiBpbnRlIGtvbWJpbmVyYXMgbWVkIC1jLy1DLy1GLy0tZml4dXAuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE5MQogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIi0tcmVzZXQtYXV0aG9yIGthbiBlbmRhc3QgYW52w6RuZGFzIG1lZCAtQywgLWMgZWxsZXIgLS1hbWVuZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwMgorIzogYnVpbHRpbi9jb21taXQuYzoxMjA4CiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAiRW5kYXN0IGVuIGF2IC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGthbiBhbnbDpG5kYXMuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMAogbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAiRHUgbcOlc3RlIGFuZ2Ugc8O2a3bDpGdhciB0aWxsc2FtbWFucyBtZWQgLS1pbmNsdWRlLy0tb25seS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwNgorIzogYnVpbHRpbi9jb21taXQuYzoxMjEyCiBtc2dpZCAiQ2xldmVyLi4uIGFtZW5kaW5nIHRoZSBsYXN0IG9uZSB3aXRoIGRpcnR5IGluZGV4LiIKIG1zZ3N0ciAiU21hcnQuLi4gdXTDtmthIGRlbiBzZW5hc3RlIG1lZCBzbXV0c2lndCBpbmRleC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwOAorIzogYnVpbHRpbi9jb21taXQuYzoxMjE0CiBtc2dpZCAiRXhwbGljaXQgcGF0aHMgc3BlY2lmaWVkIHdpdGhvdXQgLWkgb3IgLW87IGFzc3VtaW5nIC0tb25seSBwYXRocy4uLiIKIG1zZ3N0ciAiRXhwbGljaXRhIHPDtmt2w6RnYXIgYW5nYXZzIHV0YW4gLWkgZWxsZXIgLW87IGFudGFyIC0tb25seSBzw7ZrdsOkZ2FyLi4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjAgYnVpbHRpbi90YWcuYzo0NzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNiBidWlsdGluL3RhZy5jOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKIG1zZ3N0ciAiRmVsYWt0aWd0IHN0w6RkbmluZ3Nsw6RnZSAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjI1CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMzEKIG1zZ2lkICJQYXRocyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICJLYW4gaW50ZSBhbmdlIHPDtmt2w6RnYXIgbWVkIC1hLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM1IGJ1aWx0aW4vY29tbWl0LmM6MTYyMQorIzogYnVpbHRpbi9jb21taXQuYzoxMzQxIGJ1aWx0aW4vY29tbWl0LmM6MTYxNwogbXNnaWQgInNob3cgc3RhdHVzIGNvbmNpc2VseSIKIG1zZ3N0ciAidmlzYSBrb25jaXMgc3RhdHVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzcgYnVpbHRpbi9jb21taXQuYzoxNjIzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDMgYnVpbHRpbi9jb21taXQuYzoxNjE5CiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgInZpc2EgaW5mb3JtYXRpb24gb20gZ3JlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM5IGJ1aWx0aW4vY29tbWl0LmM6MTYyNSBidWlsdGluL3B1c2guYzo1MTIKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgInZlcnNpb24iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NSBidWlsdGluL2NvbW1pdC5jOjE2MjEgYnVpbHRpbi9wdXNoLmM6NTIyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDQwCiBtc2dpZCAibWFjaGluZS1yZWFkYWJsZSBvdXRwdXQiCiBtc2dzdHIgIm1hc2tpbmzDpHNiYXIgdXRkYXRhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDIgYnVpbHRpbi9jb21taXQuYzoxNjI3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9jb21taXQuYzoxNjIzCiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICJ2aXNhIHN0YXR1cyBpIGzDpW5ndCBmb3JtYXQgKHN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQ1IGJ1aWx0aW4vY29tbWl0LmM6MTYzMAorIzogYnVpbHRpbi9jb21taXQuYzoxMzUxIGJ1aWx0aW4vY29tbWl0LmM6MTYyNgogbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIgogbXNnc3RyICJ0ZXJtaW5lcmEgcG9zdGVyIG1lZCBOVUwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NyBidWlsdGluL2NvbW1pdC5jOjE2MzMgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MQorIzogYnVpbHRpbi9jb21taXQuYzoxMzUzIGJ1aWx0aW4vY29tbWl0LmM6MTYyOSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgxCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg0IGJ1aWx0aW4vdGFnLmM6MzUzCiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAibMOkZ2UiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OCBidWlsdGluL2NvbW1pdC5jOjE2MzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NCBidWlsdGluL2NvbW1pdC5jOjE2MjkKIG1zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgInZpc2Egb3Nww6VyYWRlIGZpbGVyLCB2YWxmcmlhIGzDpGdlbjogYWxsYSwgbm9ybWFsLCBuby4gKFN0YW5kYXJkOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NwogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAidmlzYSBpZ25vcmVyYWRlIGZpbGVyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTIgcGFyc2Utb3B0aW9ucy5oOjE1NQorIzogYnVpbHRpbi9jb21taXQuYzoxMzU4IHBhcnNlLW9wdGlvbnMuaDoxNTUKIG1zZ2lkICJ3aGVuIgogbXNnc3RyICJuw6RyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OQogbXNnaWQgIiIKICJpZ25vcmUgY2hhbmdlcyB0byBzdWJtb2R1bGVzLCBvcHRpb25hbCB3aGVuOiBhbGwsIGRpcnR5LCB1bnRyYWNrZWQuICIKICIoRGVmYXVsdDogYWxsKSIKQEAgLTU2NDksMjAxICs2NjMzLDIwMSBAQAogImlnbm9yZXJhIMOkbmRyaW5nYXIgaSB1bmRlcm1vZHVsZXIsIHZhbGZyaXR0IG7DpHI6IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihEZWZhdWx0OiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MQogbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgInZpc2Egb3Nww6VyYWRlIGZpbGVyIGkgc3BhbHRlciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0MzcKIG1zZ2lkICJjb3VsZG4ndCBsb29rIHVwIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJrdW5kZSBpbnRlIHNsw6UgdXBwIGVuIHByZWNpcyBza2FwYWQgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MworIzogYnVpbHRpbi9jb21taXQuYzoxNDM5CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGVuIHByZWNpcyBza2FwYWQgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4OAorIzogYnVpbHRpbi9jb21taXQuYzoxNDg0CiBtc2dpZCAiZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAiZnLDpW5rb3BwbGFkIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDg3CiBtc2dpZCAiIChyb290LWNvbW1pdCkiCiBtc2dzdHIgIiAocm90aW5jaGVja25pbmcpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4NwogbXNnaWQgInN1cHByZXNzIHN1bW1hcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21taXQiCiBtc2dzdHIgInVuZGVydHJ5Y2sgc2FtbWFuZmF0dG5pbmcgZWZ0ZXIgZnJhbWfDpW5nc3JpayBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1ODgKIG1zZ2lkICJzaG93IGRpZmYgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgInZpc2EgZGlmZiBpIG1hbGxlbiBmw7ZyIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MAogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgIkFsdGVybmF0aXYgZsO2ciBpbmNoZWNrbmluZ3NtZWRkZWxhbmRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTUgYnVpbHRpbi90YWcuYzozNTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MSBidWlsdGluL3RhZy5jOjM1MQogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgImzDpHMgbWVkZGVsYW5kZSBmcsOlbiBmaWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgorIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCiBtc2dpZCAiYXV0aG9yIgogbXNnc3RyICJmw7ZyZmF0dGFyZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKIG1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKIG1zZ3N0ciAiw7Z2ZXJzdHlyIGbDtnJmYXR0YXJlIGbDtnIgaW5jaGVja25pbmdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk3IGJ1aWx0aW4vZ2MuYzozMjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MyBidWlsdGluL2djLmM6MzI2CiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAiZGF0dW0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NworIzogYnVpbHRpbi9jb21taXQuYzoxNTkzCiBtc2dpZCAib3ZlcnJpZGUgZGF0ZSBmb3IgY29tbWl0IgogbXNnc3RyICLDtnZlcnN0eXIgZGF0dW0gZsO2ciBpbmNoZWNrbmluZ2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTggYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL25vdGVzLmM6Mzk1Ci0jOiBidWlsdGluL25vdGVzLmM6NTU4IGJ1aWx0aW4vdGFnLmM6MzQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTQgYnVpbHRpbi9tZXJnZS5jOjIyMCBidWlsdGluL25vdGVzLmM6Mzk4CisjOiBidWlsdGluL25vdGVzLmM6NTYxIGJ1aWx0aW4vdGFnLmM6MzQ5CiBtc2dpZCAibWVzc2FnZSIKIG1zZ3N0ciAibWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk4CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTQKIG1zZ2lkICJjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiaW5jaGVja25pbmdzbWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk5IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL2NvbW1pdC5jOjE2MDEKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMiBwYXJzZS1vcHRpb25zLmg6MjU2IHJlZi1maWx0ZXIuaDo3OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vY29tbWl0LmM6MTU5NiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBwYXJzZS1vcHRpb25zLmg6MjU3IHJlZi1maWx0ZXIuaDo3OQogbXNnaWQgImNvbW1pdCIKIG1zZ3N0ciAiaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk1CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIsOldGVyYW52w6RuZCBvY2ggcmVkaWdlcmEgbWVkZGVsYW5kZSBmcsOlbiBhbmdpdmVuIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICLDpXRlcmFudsOkbmQgbWVkZGVsYW5kZSBmcsOlbiBhbmdpdmVuIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NwogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICJhbnbDpG5kIGF1dG9zcXVhc2gtZm9ybWF0ZXJhdCBtZWRkZWxhbmRlIGbDtnIgYXR0IGZpeGEgYW5naXZlbiBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTgKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogImFudsOkbmQgYXV0b3NxdWFzaC1mb3JtYXRlcmF0IG1lZGRlbGFuZGUgZsO2ciBhdHQgc2zDpSBpaG9wIG1lZCBhbmdpdmVuICIKICJpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTkKIG1zZ2lkICJ0aGUgY29tbWl0IGlzIGF1dGhvcmVkIGJ5IG1lIG5vdyAodXNlZCB3aXRoIC1DLy1jLy0tYW1lbmQpIgogbXNnc3RyICJqYWcgw6RyIG51IGbDtnJmYXR0YXJlIGF2IGluY2hlY2tuaW5nZW4gKGFudsOkbmRzIG1lZCAtQy8tYy8tLWFtZW5kKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA0IGJ1aWx0aW4vbG9nLmM6MTM4MiBidWlsdGluL3JldmVydC5jOjg2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDAgYnVpbHRpbi9sb2cuYzoxNDEzIGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKIG1zZ2lkICJhZGQgU2lnbmVkLW9mZi1ieToiCiBtc2dzdHIgImzDpGdnIHRpbGwgU2lnbmVkLW9mZi1ieToiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNQorIzogYnVpbHRpbi9jb21taXQuYzoxNjAxCiBtc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgogbXNnc3RyICJhbnbDpG5kIGFuZ2l2ZW4gbWFsbGZpbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA2CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDIKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKIG1zZ3N0ciAidHZpbmdhIHJlZGlnZXJpbmcgYXYgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNworIzogYnVpbHRpbi9jb21taXQuYzoxNjAzCiBtc2dpZCAiZGVmYXVsdCIKIG1zZ3N0ciAic3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNyBidWlsdGluL3RhZy5jOjM1NAorIzogYnVpbHRpbi9jb21taXQuYzoxNjAzIGJ1aWx0aW4vdGFnLmM6MzU0CiBtc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKIG1zZ3N0ciAiaHVyIGJsYW5rc3RlZyBvY2ggI2tvbW1lbnRhcmVyIHNrYWxsIHRhcyBib3J0IGZyw6VuIG1lZGRlbGFuZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOAorIzogYnVpbHRpbi9jb21taXQuYzoxNjA0CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgImlua2x1ZGVyYSBzdGF0dXMgaSBtYWxsZW4gZsO2ciBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjEwIGJ1aWx0aW4vbWVyZ2UuYzoyMjkgYnVpbHRpbi9wdWxsLmM6MTY1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDYgYnVpbHRpbi9tZXJnZS5jOjIzMCBidWlsdGluL3B1bGwuYzoxNjYKICM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTMKIG1zZ2lkICJHUEcgc2lnbiBjb21taXQiCiBtc2dzdHIgIkdQRy1zaWduZXJhIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOQogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICJBbHRlcm5hdGl2IGbDtnIgaW5jaGVja25pbmdlbnMgaW5uZWjDpWxsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMAogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAiY2hlY2thIGluIGFsbGEgw6RuZHJhZGUgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNQorIzogYnVpbHRpbi9jb21taXQuYzoxNjExCiBtc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgogbXNnc3RyICJsw6RnZyB0aWxsIGFuZ2l2bmEgZmlsZXIgdGlsbCBpbmRleGV0IGbDtnIgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNgorIzogYnVpbHRpbi9jb21taXQuYzoxNjEyCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCiBtc2dzdHIgImzDpGdnIHRpbGwgZmlsZXIgaW50ZXJha3RpdnQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNworIzogYnVpbHRpbi9jb21taXQuYzoxNjEzCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAibMOkZ2cgdGlsbCDDpG5kcmluZ2FyIGludGVyYWt0aXZ0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAiY2hlY2thIGVuZGFzdCBpbiBhbmdpdm5hIGZpbGVyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTkKLW1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBob29rIgotbXNnc3RyICJmw7ZyYmlnw6UgcHJlLWNvbW1pdC1rcm9rIgorIzogYnVpbHRpbi9jb21taXQuYzoxNjE1Cittc2dpZCAiYnlwYXNzIHByZS1jb21taXQgYW5kIGNvbW1pdC1tc2cgaG9va3MiCittc2dzdHIgImbDtnJiaWfDpSBwcmUtY29tbWl0LSBvY2ggY29tbWl0LW1zZy1rcm9rYXIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyMAorIzogYnVpbHRpbi9jb21taXQuYzoxNjE2CiBtc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKIG1zZ3N0ciAidmlzYSB2YWQgc29tIHNrdWxsZSBjaGVja2FzIGluIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyNwogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBmw7ZyZWfDpWVuZGUgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMgorIzogYnVpbHRpbi9jb21taXQuYzoxNjI4CiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICJmw7ZyYmlnw6UgcG9zdC1yZXdyaXRlLWtyb2siCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNworIzogYnVpbHRpbi9jb21taXQuYzoxNjMzCiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAib2sgYXR0IHJlZ2lzdHJlcmEgZW4gdG9tIMOkbmRyaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNQogbXNnaWQgIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgIm9rIGF0dCByZWdpc3RyZXJhIGVuIMOkbmRyaW5nIG1lZCB0b210IG1lZGRlbGFuZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjY0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIEhFQUQ6cyBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNzE4CisjOiBidWlsdGluL2NvbW1pdC5jOjE3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAiVHJhc2lnIE1FUkdFX0hFQUQtZmlsICglcykiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTcyNQorIzogYnVpbHRpbi9jb21taXQuYzoxNzE5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBNRVJHRV9NT0RFIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTczOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZTogJXMiCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgaW5jaGVja25pbmdzbWVkZGVsYW5kZTogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc1NQorIzogYnVpbHRpbi9jb21taXQuYzoxNzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiQXZicnl0ZXIgaW5jaGVja25pbmc7IG1lZGRlbGFuZGV0IGludGUgcmVkaWdlcmF0LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICJBdmJyeXRlciBww6UgZ3J1bmQgYXYgdG9tdCBpbmNoZWNrbmluZ3NtZWRkZWxhbmRlLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE4MDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTgwMgogbXNnaWQgIiIKICJSZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKICJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIGFuZCBxdW90YSBpc1xuIgpAQCAtNTg1OCwxMzkgKzY4NDIsMTM5IEBACiBtc2dpZCAiZ2l0IGNvbmZpZyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGNvbmZpZyBbPGZsYWdnb3I+XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NgorIzogYnVpbHRpbi9jb25maWcuYzo1NQogbXNnaWQgIkNvbmZpZyBmaWxlIGxvY2F0aW9uIgogbXNnc3RyICJLb25maWd1cmF0aW9uc2ZpbGVucyBwbGF0cyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1NgogbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCiBtc2dzdHIgImFudsOkbmQgZ2xvYmFsIGtvbmZpZ3VyYXRpb25zZmlsIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4CisjOiBidWlsdGluL2NvbmZpZy5jOjU3CiBtc2dpZCAidXNlIHN5c3RlbSBjb25maWcgZmlsZSIKIG1zZ3N0ciAiYW52w6RuZCBzeXN0ZW1ldHMga29uZmlndXJhdGlvbnNmaWwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKIG1zZ2lkICJ1c2UgcmVwb3NpdG9yeSBjb25maWcgZmlsZSIKIG1zZ3N0ciAiYW52w6RuZCBhcmtpdmV0cyBrb25maWd1cmF0aW9uc2ZpbCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKIG1zZ3N0ciAiYW52w6RuZCBhbmdpdmVuIGtvbmZpZ3VyYXRpb25zZmlsIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2NvbmZpZy5jOjYwCiBtc2dpZCAiYmxvYi1pZCIKIG1zZ3N0ciAiYmxvYi1pZCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCiBtc2dzdHIgImzDpHMga29uZmlndXJhdGlvbiBmcsOlbiBnaXZldCBibG9iLW9iamVrdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MgorIzogYnVpbHRpbi9jb25maWcuYzo2MQogbXNnaWQgIkFjdGlvbiIKIG1zZ3N0ciAiw4V0Z8OkcmQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKIG1zZ2lkICJnZXQgdmFsdWU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAiaMOkbXRhIHbDpHJkZTogbmFtbiBbdsOkcmRlLXJlZ3V0dHJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY0CisjOiBidWlsdGluL2NvbmZpZy5jOjYzCiBtc2dpZCAiZ2V0IGFsbCB2YWx1ZXM6IGtleSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJow6RtdGEgYWxsYSB2w6RyZGVuOiBueWNrZWwgW3bDpHJkZS1yZWd1dHRyXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NQorIzogYnVpbHRpbi9jb25maWcuYzo2NAogbXNnaWQgImdldCB2YWx1ZXMgZm9yIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJow6RtdGEgdsOkcmRlbiBmw7ZyIHJlZ3V0dHI6IG5hbW4tcmVndXR0ciBbdsOkcmRlLXJlZ3V0dHJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY2CisjOiBidWlsdGluL2NvbmZpZy5jOjY1CiBtc2dpZCAiZ2V0IHZhbHVlIHNwZWNpZmljIGZvciB0aGUgVVJMOiBzZWN0aW9uWy52YXJdIFVSTCIKIG1zZ3N0ciAiaMOkbXRhIHbDpHJkZSBzcGVjaWZpa3QgVVJMOmVuOiBzZWt0aW9uWy52YXJdIFVSTCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NworIzogYnVpbHRpbi9jb25maWcuYzo2NgogbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgogbXNnc3RyICJlcnPDpHR0IGFsbGEgbW90c3ZhcmFuZGUgdmFyaWFibGVyOiBuYW1uIHbDpHJkZSBbdsOkcmRlLXJlZ3V0dHJdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY4CisjOiBidWlsdGluL2NvbmZpZy5jOjY3CiBtc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgogbXNnc3RyICJsw6RnZyB0aWxsIGVuIG55IHZhcmlhYmVsOiBuYW1uIHbDpHJkZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OQorIzogYnVpbHRpbi9jb25maWcuYzo2OAogbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgInRhIGJvcnQgZW4gdmFyaWFiZWw6IG5hbW4gW3bDpHJkZS1yZWd1dHRyXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MAorIzogYnVpbHRpbi9jb25maWcuYzo2OQogbXNnaWQgInJlbW92ZSBhbGwgbWF0Y2hlczogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJ0YSBib3J0IGFsbGEgdHLDpGZmYXI6IG5hbW4gW3bDpHJkZS1yZWd1dHRyXSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3MAogbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKIG1zZ3N0ciAiYnl0IG5hbW4gcMOlIHNla3Rpb246IGdhbW1hbHQtbmFtbiBueXR0LW5hbW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKIG1zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgogbXNnc3RyICJ0YSBib3J0IGVuIHNla3Rpb246IG5hbW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKIG1zZ2lkICJsaXN0IGFsbCIKIG1zZ3N0ciAidmlzYSBhbGxhIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0CisjOiBidWlsdGluL2NvbmZpZy5jOjczCiBtc2dpZCAib3BlbiBhbiBlZGl0b3IiCiBtc2dzdHIgIsO2cHBuYSB0ZXh0cmVkaWdlcmluZ3Nwcm9ncmFtIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc1CisjOiBidWlsdGluL2NvbmZpZy5jOjc0CiBtc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogc2xvdCBbZGVmYXVsdF0iCiBtc2dzdHIgImhpdHRhIGRlbiBpbnN0w6RsbGRhIGbDpHJnZW46IHNsb3QgW2RlZmF1bHRdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc2CisjOiBidWlsdGluL2NvbmZpZy5jOjc1CiBtc2dpZCAiZmluZCB0aGUgY29sb3Igc2V0dGluZzogc2xvdCBbc3Rkb3V0LWlzLXR0eV0iCiBtc2dzdHIgImhpdHRhIGbDpHJnaW5zdMOkbGxuaW5nZW46IHNsb3QgW3N0ZG91dC1pcy10dHldIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjc2CiBtc2dpZCAiVHlwZSIKIG1zZ3N0ciAiVHlwIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc4CisjOiBidWlsdGluL2NvbmZpZy5jOjc3CiBtc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgogbXNnc3RyICJ2w6RyZGV0IMOkciBcInRydWVcIiBlbGxlciBcImZhbHNlXCIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKIG1zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKIG1zZ3N0ciAidsOkcmRldCDDpHIgZXR0IGRlY2ltYWx0IHRhbCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MAorIzogYnVpbHRpbi9jb25maWcuYzo3OQogbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKIG1zZ3N0ciAidsOkcmRldCDDpHIgLS1ib29sIGVsbGVyIC0taW50IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgxCisjOiBidWlsdGluL2NvbmZpZy5jOjgwCiBtc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKIG1zZ3N0ciAidsOkcmRldCDDpHIgZW4gc8O2a3bDpGcgKGZpbC0gZWxsZXIga2F0YWxvZ25hbW4pIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgyCisjOiBidWlsdGluL2NvbmZpZy5jOjgxCiBtc2dpZCAiT3RoZXIiCiBtc2dzdHIgIkFuZHJhIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjgzCisjOiBidWlsdGluL2NvbmZpZy5jOjgyCiBtc2dpZCAidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIgogbXNnc3RyICJ0ZXJtaW5lcmEgdsOkcmRlbiBtZWQgTlVMLWJ5dGUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODMKIG1zZ2lkICJzaG93IHZhcmlhYmxlIG5hbWVzIG9ubHkiCiBtc2dzdHIgInZpc2EgZW5kYXN0IHZhcmlhYmVsbmFtbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NQorIzogYnVpbHRpbi9jb25maWcuYzo4NAogbXNnaWQgInJlc3BlY3QgaW5jbHVkZSBkaXJlY3RpdmVzIG9uIGxvb2t1cCIKIG1zZ3N0ciAicmVzcGVrdGVyYSBpbmtsdWRlcmluZ3NkaXJla3RpdiB2aWQgdXBwc2xhZyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NgorIzogYnVpbHRpbi9jb25maWcuYzo4NQogbXNnaWQgInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiCiBtc2dzdHIgInZpc2Ega29uZmlndXJhdGlvbnNrw6RsbGEgKGZpbCwgc3RhbmRhcmQgaW4sIGJsb2IsIGtvbW1hbmRvcmFkKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzozMjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzI3CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGRlZmF1bHQgY29sb3IgdmFsdWUiCiBtc2dzdHIgImthbiBpbnRlIHRvbGthIHN0YW5kYXJkZsOkcmd2w6RyZGUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NDcyCisjOiBidWlsdGluL2NvbmZpZy5jOjQ3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiIyBUaGlzIGlzIEdpdCdzIHBlci11c2VyIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiIKQEAgLTYwMDUsMTYgKzY5ODksMjUgQEAKICIjXHRuYW1lID0gJXNcbiIKICIjXHRlbWFpbCA9ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjE0CisjOiBidWlsdGluL2NvbmZpZy5jOjYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAia2FuIGludGUgc2thcGEga29uZmlndXJhdGlvbnNmaWxlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IG92ZXJ3cml0ZSBtdWx0aXBsZSB2YWx1ZXMgd2l0aCBhIHNpbmdsZSB2YWx1ZVxuIgorIiAgICAgICBVc2UgYSByZWdleHAsIC0tYWRkIG9yIC0tcmVwbGFjZS1hbGwgdG8gY2hhbmdlICVzLiIKK21zZ3N0ciAiIgorImthbiBpbnRlIHNrcml2YSDDtnZlciBmbGVyYSB2w6RyZGVuIG1lZCBldHQgZW5zYW10IHbDpHJkZVxuIgorIiAgICAgICBBbnbDpG5kIGVuIHJlZ2V4cCwgLS1hZGQgZWxsZXIgLS1yZXBsYWNlLWFsbCBmw7ZyIGF0dCDDpG5kcmEgJXMuIgorCisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NgogbXNnaWQgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiBtc2dzdHIgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg3CisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5NgogbXNnaWQgInByaW50IHNpemVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCIKIG1zZ3N0ciAic2tyaXYgc3Rvcmxla2FyIGkgbcOkbm5pc2tvbMOkc2JhcnQgZm9ybWF0IgogCkBAIC02MDQxLDcgKzcwMzQsNyBAQAogbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCiBtc2dzdHIgInRhZ2dlbiBcIiVzXCIgw6RyIGkgdmVya2xpZ2hldGVuIFwiJXNcIiBow6RyIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUwIGJ1aWx0aW4vbG9nLmM6NDY1CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjUwIGJ1aWx0aW4vbG9nLmM6NDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICJPYmpla3RuYW1uZXQgw6RyIGludGUgZ2lsdGlndDogJXMiCkBAIC02MTM0LDcgKzcxMjcsNyBAQAogbXNnaWQgIm9ubHkgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgIsO2dmVydsOkZyBlbmRhc3QgdGFnZ2FyIHNvbSBtb3RzdmFyYXIgPG3Dtm5zdGVyPiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMCBidWlsdGluL25hbWUtcmV2LmM6MzIxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKIG1zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCiBtc2dzdHIgInZpc2EgZsO2cmtvcnRhZGUgaW5jaGVja25pbmdzb2JqZWt0IHNvbSBzdGFuZGFyZCIKIApAQCAtNjE2OCwyMSArNzE2MSwyMSBAQAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKIG1zZ3N0ciAib2dpbHRpZyBmbGFnZ2E6ICVzIgogCi0jOiBidWlsdGluL2RpZmYuYzozNjAKKyM6IGJ1aWx0aW4vZGlmZi5jOjM2MQogbXNnaWQgIk5vdCBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICJJbnRlIGV0dCBnaXQtYXJraXYiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQwMworIzogYnVpbHRpbi9kaWZmLmM6NDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICJvYmpla3RldCBcIiVzXCIgc29tIGFuZ2F2cyDDpHIgZmVsYWt0aWd0LiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDEyCisjOiBidWlsdGluL2RpZmYuYzo0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKIG1zZ3N0ciAibWVyIMOkbiB0dsOlIGJsb2JiYXIgYW5nYXZzOiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxOQorIzogYnVpbHRpbi9kaWZmLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgImVqIGhhbnRlcmF0IG9iamVrdCBcIiVzXCIgYW5nYXZzLiIKQEAgLTYyMzksMTc2ICs3MjMyLDE4MSBAQAogbXNnaWQgImFub255bWl6ZSBvdXRwdXQiCiBtc2dzdHIgImFub255bWlzZXJhIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIwCisjOiBidWlsdGluL2ZldGNoLmM6MjEKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBmZXRjaCBbPGZsYWdnb3I+XSBbPGFya2l2PiBbPHJlZnNwZWM+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMQorIzogYnVpbHRpbi9mZXRjaC5jOjIyCiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIDxncm91cD4iCiBtc2dzdHIgImdpdCBmZXRjaCBbPGZsYWdnb3I+XSA8Z3J1cHA+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMwogbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPGZsYWdnb3I+XSBbKDxhcmtpdj4gfCA8Z3J1cHA+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyMworIzogYnVpbHRpbi9mZXRjaC5jOjI0CiBtc2dpZCAiZ2l0IGZldGNoIC0tYWxsIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1hbGwgWzxmbGFnZ29yPl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MiBidWlsdGluL3B1bGwuYzoxNzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NSBidWlsdGluL3B1bGwuYzoxNzUKIG1zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgogbXNnc3RyICJow6RtdGEgZnLDpW4gYWxsYSBmasOkcnJhciIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk0IGJ1aWx0aW4vcHVsbC5jOjE3NworIzogYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vcHVsbC5jOjE3OAogbXNnaWQgImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBpIC5naXQvRkVUQ0hfSEVBRCBpc3TDpGxsZXQgZsO2ciBhdHQgc2tyaXZhIMO2dmVyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTYgYnVpbHRpbi9wdWxsLmM6MTgwCisjOiBidWlsdGluL2ZldGNoLmM6OTkgYnVpbHRpbi9wdWxsLmM6MTgxCiBtc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgogbXNnc3RyICJzw7ZrdsOkZyB0aWxsIHVwbG9hZCBwYWNrIHDDpSBmasOkcnJlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk3IGJ1aWx0aW4vcHVsbC5jOjE4MgorIzogYnVpbHRpbi9mZXRjaC5jOjEwMCBidWlsdGluL3B1bGwuYzoxODMKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgYnJhbmNoIgogbXNnc3RyICJ0dmluZ2Egw7Z2ZXJza3Jpdm5pbmcgYXYgbG9rYWwgZ3JlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5CisjOiBidWlsdGluL2ZldGNoLmM6MTAyCiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICJow6RtdGEgZnLDpW4gZmxlcmEgZmrDpHJyYXIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDEgYnVpbHRpbi9wdWxsLmM6MTg0CisjOiBidWlsdGluL2ZldGNoLmM6MTA0IGJ1aWx0aW4vcHVsbC5jOjE4NQogbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCiBtc2dzdHIgImjDpG10YSBhbGxhIHRhZ2dhciBvY2ggYXNzb2NpZXJhZGUgb2JqZWt0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAzCisjOiBidWlsdGluL2ZldGNoLmM6MTA2CiBtc2dpZCAiZG8gbm90IGZldGNoIGFsbCB0YWdzICgtLW5vLXRhZ3MpIgogbXNnc3RyICJow6RtdGEgaW50ZSBhbGxhIHRhZ2dhciAoLS1uby10YWdzKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNQorIzogYnVpbHRpbi9mZXRjaC5jOjEwOAogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGZldGNoZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgImFudGFsIHVuZGVybW9kdWxlciBzb20gaMOkbXRhcyBwYXJhbGxlbGx0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA3IGJ1aWx0aW4vcHVsbC5jOjE4NworIzogYnVpbHRpbi9mZXRjaC5jOjExMCBidWlsdGluL3B1bGwuYzoxODgKIG1zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAicmVuc2EgZmrDpHJyc3DDpXJhbmRlIGdyZW5hciBlaiBsw6RuZ3JlIHDDpSBmasOkcnJlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwOCBidWlsdGluL3B1bGwuYzoxOTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MTkxCiBtc2dpZCAib24tZGVtYW5kIgogbXNnc3RyICJvbi1kZW1hbmQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDkgYnVpbHRpbi9wdWxsLmM6MTkxCisjOiBidWlsdGluL2ZldGNoLmM6MTEyIGJ1aWx0aW4vcHVsbC5jOjE5MgogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInN0eXIgcmVrdXJzaXYgaMOkbXRuaW5nIGF2IHVuZGVybW9kdWxlciIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMyBidWlsdGluL3B1bGwuYzoxOTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9wdWxsLmM6MjAwCiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgImJlaMOlbGwgaMOkbXRhZGUgcGFrZXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTgKIG1zZ2lkICJhbGxvdyB1cGRhdGluZyBvZiBIRUFEIHJlZiIKIG1zZ3N0ciAidGlsbMOldCB1cHBkYXRlcmluZyBhdiBIRUFELXJlZmVyZW5zIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4IGJ1aWx0aW4vcHVsbC5jOjIwMgorIzogYnVpbHRpbi9mZXRjaC5jOjEyMSBidWlsdGluL2ZldGNoLmM6MTI3IGJ1aWx0aW4vcHVsbC5jOjIwMwogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCiBtc2dzdHIgImbDtnJkanVwYSBoaXN0b3JpayBmw7ZyIGdydW5kIGtsb24iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjAgYnVpbHRpbi9wdWxsLmM6MjA1CisjOiBidWlsdGluL2ZldGNoLmM6MTIzCittc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyByZXBvc2l0b3J5IGJhc2VkIG9uIHRpbWUiCittc2dzdHIgImbDtnJkanVwYSBoaXN0b3JpayBmw7ZyIGdydW5kIGtsb24gYmFzZXJhZCBww6UgdGlkIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjIwNgogbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgogbXNnc3RyICJrb252ZXJ0ZXJhIHRpbGwga29tcGxldHQgYXJraXYiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjIgYnVpbHRpbi9sb2cuYzoxMzk5CisjOiBidWlsdGluL2ZldGNoLmM6MTMxIGJ1aWx0aW4vbG9nLmM6MTQzMwogbXNnaWQgImRpciIKIG1zZ3N0ciAia2F0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIzCisjOiBidWlsdGluL2ZldGNoLmM6MTMyCiBtc2dpZCAicHJlcGVuZCB0aGlzIHRvIHN1Ym1vZHVsZSBwYXRoIG91dHB1dCIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBpIGLDtnJqYW4gYXYgdW5kZXJtb2R1bGVucyBzw7ZrdsOkZ3N1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUKIG1zZ2lkICJkZWZhdWx0IG1vZGUgZm9yIHJlY3Vyc2lvbiIKIG1zZ3N0ciAic3RhbmRhcmRsw6RnZSBmw7ZyIHJla3Vyc2lvbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyOCBidWlsdGluL3B1bGwuYzoyMDgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9wdWxsLmM6MjA5CiBtc2dpZCAiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IgogbXNnc3RyICJ0YXIgZW1vdCByZWZlcmVuc2VyIHNvbSB1cHBkYXRlcmFyIC5naXQvc2hhbGxvdyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyOSBidWlsdGluL3B1bGwuYzoyMTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzggYnVpbHRpbi9wdWxsLmM6MjExCiBtc2dpZCAicmVmbWFwIgogbXNnc3RyICJyZWZlcmVuc2thcnRhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMwIGJ1aWx0aW4vcHVsbC5jOjIxMQorIzogYnVpbHRpbi9mZXRjaC5jOjEzOSBidWlsdGluL3B1bGwuYzoyMTIKIG1zZ2lkICJzcGVjaWZ5IGZldGNoIHJlZm1hcCIKIG1zZ3N0ciAiYW5nZSByZWZlcmVuc2thcnRhIGbDtnIgXCJmZXRjaFwiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mzg2CisjOiBidWlsdGluL2ZldGNoLmM6Mzk4CiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgZmrDpHJyLXJlZmVyZW5zZW4gSEVBRCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ2NgorIzogYnVpbHRpbi9mZXRjaC5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250YWlucyBpbnZhbGlkIHZhbHVlICVzIgorbXNnc3RyICJrb25maWd1cmF0aW9uZW4gZsO2ciBmZXRjaC5vdXRwdXQgaW5uZWjDpWxsZXIgb2dpbHRpZ3QgdsOkcmRlICVzIgorCisjOiBidWlsdGluL2ZldGNoLmM6NjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgIm9iamVrdGV0ICVzIGhpdHRhZGVzIGludGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0NzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MTEKIG1zZ2lkICJbdXAgdG8gZGF0ZV0iCiBtc2dzdHIgIlvDoGpvdXJdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDg1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiEgJS0qcyAlLSpzIC0+ICVzICAoY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2gpIgotbXNnc3RyICIhICUtKnMgJS0qcyAtPiAlcyAgKGthbiBpbnRlIGjDpG10YSBpIGFrdHVlbGwgZ3JlbikiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo0ODYgYnVpbHRpbi9mZXRjaC5jOjU3NAorIzogYnVpbHRpbi9mZXRjaC5jOjYyNCBidWlsdGluL2ZldGNoLmM6NzA0CiBtc2dpZCAiW3JlamVjdGVkXSIKIG1zZ3N0ciAiW3JlZnVzZXJhZF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0OTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjUKK21zZ2lkICJjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCIKK21zZ3N0ciAia2FuIGludGUgaMOkbXRhIGkgYWt0dWVsbCBncmVuIgorCisjOiBidWlsdGluL2ZldGNoLmM6NjM0CiBtc2dpZCAiW3RhZyB1cGRhdGVdIgogbXNnc3RyICJbdXBwZGF0ZXJhZCB0YWdnXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ5OSBidWlsdGluL2ZldGNoLmM6NTM0IGJ1aWx0aW4vZmV0Y2guYzo1NTIKLW1zZ2lkICIgICh1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZikiCi1tc2dzdHIgIiAgKGt1bmRlIGludGUgdXBwZGF0ZXJhIGxva2FsIHJlZikiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MTcKLW1zZ2lkICJbbmV3IHRhZ10iCi1tc2dzdHIgIltueSB0YWdnXSIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjUyMAotbXNnaWQgIltuZXcgYnJhbmNoXSIKLW1zZ3N0ciAiW255IGdyZW5dIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTIzCi1tc2dpZCAiW25ldyByZWZdIgotbXNnc3RyICJbbnkgcmVmXSIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjU2OQorIzogYnVpbHRpbi9mZXRjaC5jOjYzNSBidWlsdGluL2ZldGNoLmM6NjY4IGJ1aWx0aW4vZmV0Y2guYzo2ODQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2OTkKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAia3VuZGUgaW50ZSB1cHBkYXRlcmEgbG9rYWwgcmVmIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTY5CisjOiBidWlsdGluL2ZldGNoLmM6NjU0Cittc2dpZCAiW25ldyB0YWddIgorbXNnc3RyICJbbnkgdGFnZ10iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTcKK21zZ2lkICJbbmV3IGJyYW5jaF0iCittc2dzdHIgIltueSBncmVuXSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjY2MAorbXNnaWQgIltuZXcgcmVmXSIKK21zZ3N0ciAiW255IHJlZl0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2OTkKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICJ0dmluZ2FkIHVwcGRhdGVyaW5nIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTc2Ci1tc2dpZCAiKG5vbi1mYXN0LWZvcndhcmQpIgotbXNnc3RyICIoZWogc25hYmJzcG9sYWQpIgorIzogYnVpbHRpbi9mZXRjaC5jOjcwNAorbXNnaWQgIm5vbi1mYXN0LWZvcndhcmQiCittc2dzdHIgImVqIHNuYWJic3BvbGFkIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjE5CisjOiBidWlsdGluL2ZldGNoLmM6NzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAiJXMgc8OkbmRlIGludGUgYWxsYSBuw7ZkdsOkbmRpZ2Egb2JqZWt0XG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MzcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVqZWN0ICVzIGJlY2F1c2Ugc2hhbGxvdyByb290cyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgdXBkYXRlZCIKIG1zZ3N0ciAiYXZ2aXNhICVzIGTDpSBncnVuZGEgcsO2dHRlciBpbnRlIGthbiB1cHBkYXRlcmFzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzI0IGJ1aWx0aW4vZmV0Y2guYzo4MTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTYgYnVpbHRpbi9mZXRjaC5jOjk1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGcm9tICUuKnNcbiIKIG1zZ3N0ciAiRnLDpW4gJS4qc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzM1CisjOiBidWlsdGluL2ZldGNoLmM6ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJzb21lIGxvY2FsIHJlZnMgY291bGQgbm90IGJlIHVwZGF0ZWQ7IHRyeSBydW5uaW5nXG4iCkBAIC02NDE3LDU1ICs3NDE1LDU1IEBACiAidmlzc2EgbG9rYWxhIHJlZmVyZW5zZXIga3VuZGUgaW50ZSB1cHBkYXRlcmFzOyB0ZXN0YSBhdHQga8O2cmFcbiIKICIgXCJnaXQgcmVtb3RlIHBydW5lICVzXCIgZsO2ciBhdHQgdGEgYm9ydCBnYW1sYSBncmVuYXIgc29tIHN0w6VyIGkga29uZmxpa3QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3ODcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIGtvbW1lciBibGkgZGluZ2xhbmRlKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc4OAorIzogYnVpbHRpbi9mZXRjaC5jOjkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgaGFzIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyBoYXIgYmxpdml0IGRpbmdsYW5kZSkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NTUKIG1zZ2lkICJbZGVsZXRlZF0iCiBtc2dzdHIgIltib3J0dGFnZW5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODIxIGJ1aWx0aW4vcmVtb3RlLmM6MTAyNQorIzogYnVpbHRpbi9mZXRjaC5jOjk1NiBidWlsdGluL3JlbW90ZS5jOjEwMjAKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIihpbmdlbikiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NDEKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gZmV0Y2ggaW50byBjdXJyZW50IGJyYW5jaCAlcyBvZiBub24tYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJWw6RncmFyIGjDpG10YSB0aWxsIGFrdHVlbGwgZ3JlbiAlcyBpIGV0dCBpY2tlLW5ha2V0IGFya2l2IgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODYwCisjOiBidWlsdGluL2ZldGNoLmM6OTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgdmFsdWUgXCIlc1wiIGlzIG5vdCB2YWxpZCBmb3IgJXMiCiBtc2dzdHIgIkZsYWdnYW4gXCIlc1wiIG9jaCB2w6RyZGV0IFwiJXNcIiDDpHIgaW50ZSBnaWx0aWd0IGbDtnIgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgaXMgaWdub3JlZCBmb3IgJXNcbiIKIG1zZ3N0ciAiRmxhZ2dhbiBcIiVzXCIgaWdub3JlcmFzIGbDtnIgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkyMAorIzogYnVpbHRpbi9mZXRjaC5jOjEwNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZmV0Y2ggZnJvbSAlcyIKIG1zZ3N0ciAiVmV0IGludGUgaHVyIG1hbiBow6RtdGFyIGZyw6VuICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4MAorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKIG1zZ3N0ciAiSMOkbXRhciAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4MiBidWlsdGluL3JlbW90ZS5jOjk2CisjOiBidWlsdGluL2ZldGNoLmM6MTIzOSBidWlsdGluL3JlbW90ZS5jOjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBow6RtdGEgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTAwCisjOiBidWlsdGluL2ZldGNoLmM6MTI1NwogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtNjQ3MywzMiArNzQ3MSw0MCBAQAogIkluZ2V0IGZqw6RycmFya2l2IGFuZ2F2cy4gQW5nZSBhbnRpbmdlbiBlbiBVUkwgZWxsZXIgbmFtbmV0IHDDpSBldHRcbiIKICJmasOkcnJhcmtpdiBzb20gbnlhIGluY2hlY2tuaW5nYXIgc2thbGwgaMOkbXRhcyBmcsOlbi4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTIzCisjOiBidWlsdGluL2ZldGNoLmM6MTI4MAogbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCiBtc2dzdHIgIkR1IG3DpXN0ZSBhbmdlIG5hbW5ldCBww6UgZW4gdGFnZy4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTY1CisjOiBidWlsdGluL2ZldGNoLmM6MTMyMgorbXNnaWQgIk5lZ2F0aXZlIGRlcHRoIGluIC0tZGVlcGVuIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIk5lZ2F0aXZhIGRqdXAgc3TDtmRzIGludGUgaSAtLWRlZXBlbiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEzMjQKK21zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLWRlZXBlbiBvY2ggLS1kZXB0aCDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI5CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi0tZGVwdGggb2NoIC0tdW5zaGFsbG93IGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTY3CisjOiBidWlsdGluL2ZldGNoLmM6MTMzMQogbXNnaWQgIi0tdW5zaGFsbG93IG9uIGEgY29tcGxldGUgcmVwb3NpdG9yeSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLXVuc2hhbGxvdyBrYW4gaW50ZSBhbnbDpG5kYXMgcMOlIGV0dCBrb21wbGV0dCBhcmtpdiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExODcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUzCiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCiBtc2dzdHIgImZldGNoIC0tYWxsIHRhciBpbnRlIG5hbW5ldCBww6UgZXR0IGFya2l2IHNvbSBhcmd1bWVudCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExODkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzU1CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICJmZXRjaCAtLWFsbCBrYW4gaW50ZSBhbmdlcyBtZWQgcmVmZXJlbnNzcGVjaWZpa2F0aW9uZXIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjAwCisjOiBidWlsdGluL2ZldGNoLmM6MTM2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICJGasOkcnJlbiBlbGxlciBmasOkcnJncnVwcGVuIGZpbm5zIGludGU6ICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIwOAorIzogYnVpbHRpbi9mZXRjaC5jOjEzNzQKIG1zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIkthbiBpbnRlIGjDpG10YSBmcsOlbiBncnVwcCBvY2ggYW5nZSByZWZlcmVuc3NwZWNpZmlrYXRpb25lciIKIApAQCAtNjUwOCwyMyArNzUxNCwyMyBAQAogbXNnc3RyICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZWRkZWxhbmRlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbD5dIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjcKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MwogbXNnaWQgInBvcHVsYXRlIGxvZyB3aXRoIGF0IG1vc3QgPG4+IGVudHJpZXMgZnJvbSBzaG9ydGxvZyIKIG1zZ3N0ciAiZnlsbCBpIGxvZ2dlbiBtZWQgc29tIG1lc3QgPG4+IHBvc3RlciBmcsOlbiBzaG9ydGxvZyIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcwCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjYKIG1zZ2lkICJhbGlhcyBmb3IgLS1sb2cgKGRlcHJlY2F0ZWQpIgogbXNnc3RyICJhbGlhcyBmw7ZyIC0tbG9nIChhdnLDpWRzKSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjczCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjkKIG1zZ2lkICJ0ZXh0IgogbXNnc3RyICJ0ZXh0IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzQKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAogbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKIG1zZ3N0ciAiaW5sZWQgbWVkZGVsYW5kZSBtZWQgPHRleHQ+IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzUKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICJmaWwgYXR0IGzDpHNhIGZyw6VuIgogCkBAIC02NTg0LDY3ICs3NTkwLDY1IEBACiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgcmVmZXJlbnNlciBzb20gaW5uZWjDpWxsZXIgaW5jaGVja25pbmdlbiIKIAotIyBWYWd1ZSBvcmlnaW5hbCwgbm90IG5ldHdvcmtpbmctcmVsYXRlZCwgYnV0IHJhdGhlciByZWxhdGVkIHRvIHRoZSBhY3R1YWwKLSMgb2JqZWN0cyBpbiB0aGUgZGF0YWJhc2UuCi0jOiBidWlsdGluL2ZzY2suYzoxNTYgYnVpbHRpbi9wcnVuZS5jOjE0MAotbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKLW1zZ3N0ciAiS29udHJvbGxlcmFyIGtvbm5la3Rpdml0ZXQiCi0KLSM6IGJ1aWx0aW4vZnNjay5jOjQ4NgorIzogYnVpbHRpbi9mc2NrLmM6NTE5CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yaWVzIgogbXNnc3RyICJLb250cm9sbGVyYXIgb2JqZWt0a2F0YWxvZ2VyIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NTIKKyM6IGJ1aWx0aW4vZnNjay5jOjU4OAogbXNnaWQgImdpdCBmc2NrIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgImdpdCBmc2NrIFs8ZmxhZ2dvcj5dIFs8b2JqZWt0Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU1OAorIzogYnVpbHRpbi9mc2NrLmM6NTk0CiBtc2dpZCAic2hvdyB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJ2aXNhIG9uw6ViYXJhIG9iamVrdCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTU5CisjOiBidWlsdGluL2ZzY2suYzo1OTUKIG1zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCiBtc2dzdHIgInZpc2EgZGluZ2xhbmRlIG9iamVrdCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTYwCisjOiBidWlsdGluL2ZzY2suYzo1OTYKIG1zZ2lkICJyZXBvcnQgdGFncyIKIG1zZ3N0ciAicmFwcG9ydGVyYSB0YWdnYXIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MQorIzogYnVpbHRpbi9mc2NrLmM6NTk3CiBtc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCiBtc2dzdHIgInJhcHBvcnRlcmEgcm90bm9kZXIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MgorIzogYnVpbHRpbi9mc2NrLmM6NTk4CiBtc2dpZCAibWFrZSBpbmRleCBvYmplY3RzIGhlYWQgbm9kZXMiCiBtc2dzdHIgImfDtnIgaW5kZXhvamVrdCB0aWxsIGh1dnVkbm9kZXIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MworIzogYnVpbHRpbi9mc2NrLmM6NTk5CiBtc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgogbXNnc3RyICJnw7ZyIHJlZmxvZ2dhciB0aWxsIGh1dnVkbm9kZXIgKHN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY0CisjOiBidWlsdGluL2ZzY2suYzo2MDAKIG1zZ2lkICJhbHNvIGNvbnNpZGVyIHBhY2tzIGFuZCBhbHRlcm5hdGUgb2JqZWN0cyIKIG1zZ3N0ciAidGEgw6R2ZW4gaMOkbnN5biB0aWxsIHBha2V0IG9jaCBhbHRlcm5hdGl2YSBvYmpla3QiCiAKICMgVmFndWUgb3JpZ2luYWwsIG5vdCBuZXR3b3JraW5nLXJlbGF0ZWQsIGJ1dCByYXRoZXIgcmVsYXRlZCB0byB0aGUgYWN0dWFsCiAjIG9iamVjdHMgaW4gdGhlIGRhdGFiYXNlLgotIzogYnVpbHRpbi9mc2NrLmM6NTY1CisjOiBidWlsdGluL2ZzY2suYzo2MDEKIG1zZ2lkICJjaGVjayBvbmx5IGNvbm5lY3Rpdml0eSIKIG1zZ3N0ciAia29udHJvbGxlcmEgZW5kYXN0IGtvbm5la3Rpdml0ZXQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2NgorIzogYnVpbHRpbi9mc2NrLmM6NjAyCiBtc2dpZCAiZW5hYmxlIG1vcmUgc3RyaWN0IGNoZWNraW5nIgogbXNnc3RyICJha3RpdmVyYSBzdHJpa3RhcmUga29udHJvbGwiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2OAorIzogYnVpbHRpbi9mc2NrLmM6NjA0CiBtc2dpZCAid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiCiBtc2dzdHIgInNrcml2IGRpbmdsYW5kZSBvYmpla3QgaSAuZ2l0L2xvc3QtZm91bmQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2OSBidWlsdGluL3BydW5lLmM6MTA3CisjOiBidWlsdGluL2ZzY2suYzo2MDUgYnVpbHRpbi9wcnVuZS5jOjEwNwogbXNnaWQgInNob3cgcHJvZ3Jlc3MiCiBtc2dzdHIgInZpc2EgZsO2cmxvcHAiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYzMAorIzogYnVpbHRpbi9mc2NrLmM6NjA2Cittc2dpZCAic2hvdyB2ZXJib3NlIG5hbWVzIGZvciByZWFjaGFibGUgb2JqZWN0cyIKK21zZ3N0ciAidmlzYSBvcmRyaWthIG5hbW4gZsO2ciBuw6ViYXJhIG9iamVrdCIKKworIzogYnVpbHRpbi9mc2NrLmM6NjY1CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiS29udHJvbGxlcmFyIG9iamVrdCIKIApAQCAtNjczNywyMjQgKzc3NDEsMjE5IEBACiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSBmb3IgJXMiCiBtc2dzdHIgImZlbGFrdGlndCBhbnRhbCB0csOlZGFyIGFuZ2l2ZXQgKCVkKSBmw7ZyICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo0NTIgYnVpbHRpbi9ncmVwLmM6NDg3CisjOiBidWlsdGluL2dyZXAuYzo0NTMgYnVpbHRpbi9ncmVwLmM6NDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSB0csOkZCAoJXMpIgogCi0jOiBidWlsdGluL2dyZXAuYzo1MDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjUwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ3JlcCBmcm9tIG9iamVjdCBvZiB0eXBlICVzIgogbXNnc3RyICJLdW5kZSBpbnRlIFwiZ3JlcFwiIGZyw6VuIG9iamVrdCBhdiB0eXBlbiAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTYwCisjOiBidWlsdGluL2dyZXAuYzo1NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAiZmxhZ2dhbiBcIiVjXCIgYW50YXIgZXR0IG51bWVyaXNrdCB2w6RyZGUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjU3NwotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgotbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgXCIlc1wiIgotCi0jOiBidWlsdGluL2dyZXAuYzo2NDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY0NwogbXNnaWQgInNlYXJjaCBpbiBpbmRleCBpbnN0ZWFkIG9mIGluIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgInPDtmsgaSBpbmRleGV0IGlzdMOkbGxldCBmw7ZyIGkgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NDgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY0OQogbXNnaWQgImZpbmQgaW4gY29udGVudHMgbm90IG1hbmFnZWQgYnkgZ2l0IgogbXNnc3RyICJzw7ZrIGkgaW5uZWjDpWxsIHNvbSBpbnRlIGhhbnRlcmFzIGF2IGdpdCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjUwCisjOiBidWlsdGluL2dyZXAuYzo2NTEKIG1zZ2lkICJzZWFyY2ggaW4gYm90aCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgInPDtmsgaSBiw6VkZSBzcMOlcmFkZSBvY2ggb3Nww6VyYWRlIGZpbGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1MwogbXNnaWQgImlnbm9yZSBmaWxlcyBzcGVjaWZpZWQgdmlhICcuZ2l0aWdub3JlJyIKIG1zZ3N0ciAiaWdub3JlcmEgZmlsZXIgYW5naXZuYSBpIFwiLmdpdGlnbm9yZVwiIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1NgogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJ2aXNhIHJhZGVyIHNvbSBpbnRlIHRyw6RmZmFzIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1OAogbXNnaWQgImNhc2UgaW5zZW5zaXRpdmUgbWF0Y2hpbmciCiBtc2dzdHIgInNraWZ0bMOkZ2Vzb2vDpG5zbGlnIHPDtmtuaW5nIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2MAogbXNnaWQgIm1hdGNoIHBhdHRlcm5zIG9ubHkgYXQgd29yZCBib3VuZGFyaWVzIgogbXNnc3RyICJtYXRjaGEgZW5kYXN0IG3Dtm5zdGVyIHZpZCBvcmRncsOkbnNlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjYxCisjOiBidWlsdGluL2dyZXAuYzo2NjIKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgogbXNnc3RyICJoYW50ZXJhIGJpbsOkcmZpbGVyIHNvbSB0ZXh0IgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NAogbXNnaWQgImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIKIG1zZ3N0ciAidHLDpGZmYSBpbnRlIG3Dtm5zdGVyIGkgYmluw6RyZmlsZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2NgorIzogYnVpbHRpbi9ncmVwLmM6NjY3CiBtc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgd2l0aCB0ZXh0Y29udiBmaWx0ZXJzIgogbXNnc3RyICJoYW50ZXJhIGJpbsOkcmZpbGVyIG1lZCB0ZXh0Y29udi1maWx0ZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2OAorIzogYnVpbHRpbi9ncmVwLmM6NjY5CiBtc2dpZCAiZGVzY2VuZCBhdCBtb3N0IDxkZXB0aD4gbGV2ZWxzIgogbXNnc3RyICJnw6Ugc29tIG1lc3QgbmVkIDxkanVwPiBuaXbDpWVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3MwogbXNnaWQgInVzZSBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJhbnbDpG5kIHV0w7ZrYWRlIFBPU0lYLXJlZ3VsasOkcmEgdXR0cnljayIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc1CisjOiBidWlsdGluL2dyZXAuYzo2NzYKIG1zZ2lkICJ1c2UgYmFzaWMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyAoZGVmYXVsdCkiCiBtc2dzdHIgImFudsOkbmQgZ3J1bmRsw6RnZ2FuZGUgUE9TSVgtcmVndWxqw6RyYSB1dHRyeWNrIChzdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3OAorIzogYnVpbHRpbi9ncmVwLmM6Njc5CiBtc2dpZCAiaW50ZXJwcmV0IHBhdHRlcm5zIGFzIGZpeGVkIHN0cmluZ3MiCiBtc2dzdHIgInRvbGthIG3Dtm5zdGVyIHNvbSBmaXhlcmFkZSBzdHLDpG5nYXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4MQorIzogYnVpbHRpbi9ncmVwLmM6NjgyCiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJhbnbDpG5kIFBlcmxrb21wYXRpYmxhIHJlZ3VsasOkcmEgdXR0cnljayIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg0CisjOiBidWlsdGluL2dyZXAuYzo2ODUKIG1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKIG1zZ3N0ciAidmlzYSByYWRudW1tZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NQorIzogYnVpbHRpbi9ncmVwLmM6Njg2CiBtc2dpZCAiZG9uJ3Qgc2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgInZpc2EgaW50ZSBmaWxuYW1uIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NwogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJ2aXNhIGZpbG5hbW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4OAorIzogYnVpbHRpbi9ncmVwLmM6Njg5CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAidmlzYSBmaWxuYW1uIHJlbGF0aXZhIHRpbGwgdG9wcGthdGFsb2dlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjkwCisjOiBidWlsdGluL2dyZXAuYzo2OTEKIG1zZ2lkICJzaG93IG9ubHkgZmlsZW5hbWVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgInZpc2EgZW5kYXN0IGZpbG5hbW4gaXN0w6RsbGV0IGbDtnIgdHLDpGZmYWRlIHJhZGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MwogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICJzeW5vbnltIGbDtnIgLS1maWxlcy13aXRoLW1hdGNoZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY5NQorIzogYnVpbHRpbi9ncmVwLmM6Njk2CiBtc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgogbXNnc3RyICJ2aXNhIGVuZGFzdCBuYW1uIHDDpSBmaWxlciB1dGFuIHRyw6RmZmFyIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCiBtc2dzdHIgInNrcml2IE5VTCBlZnRlciBmaWxuYW1uIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMAogbXNnaWQgInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgInZpc2EgYW50YWwgdHLDpGZmYXIgaXN0w6RsbGV0IGbDtnIgdHLDpGZmYWRlIHJhZGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMQogbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgogbXNnc3RyICJsanVzbWFya2VyYSB0csOkZmZhciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAyCisjOiBidWlsdGluL2dyZXAuYzo3MDMKIG1zZ2lkICJwcmludCBlbXB0eSBsaW5lIGJldHdlZW4gbWF0Y2hlcyBmcm9tIGRpZmZlcmVudCBmaWxlcyIKIG1zZ3N0ciAic2tyaXYgdG9tbWEgcmFkZXIgbWVsbGFuIHRyw6RmZmFyIGZyw6VuIG9saWthIGZpbGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwNQogbXNnaWQgInNob3cgZmlsZW5hbWUgb25seSBvbmNlIGFib3ZlIG1hdGNoZXMgZnJvbSBzYW1lIGZpbGUiCiBtc2dzdHIgInZpc2EgZmlsbmFtbiBlbmRhc3QgZW4gZ8Olbmcgb3ZhbmbDtnIgdHLDpGZmYXIgZnLDpW4gc2FtbWEgZmlsIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwOAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJ2aXNhIDxuPiByYWRlciBzYW1tYW5oYW5nIGbDtnJlIG9jaCBlZnRlciB0csOkZmZhciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEwCisjOiBidWlsdGluL2dyZXAuYzo3MTEKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICJ2aXNhIDxuPiByYWRlciBzYW1tYW5oYW5nIGbDtnJlIHRyw6RmZmFyIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxMwogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAidmlzYSA8bj4gcmFkZXIgc2FtbWFuaGFuZyBlZnRlciB0csOkZmZhciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE0CisjOiBidWlsdGluL2dyZXAuYzo3MTUKIG1zZ2lkICJ1c2UgPG4+IHdvcmtlciB0aHJlYWRzIgogbXNnc3RyICJhbnbDpG5kIDxuPiBqb2JidHLDpWRhciIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE1CisjOiBidWlsdGluL2dyZXAuYzo3MTYKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgogbXNnc3RyICJnZW52w6RnIGbDtnIgLUMgTlVNIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxOQogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgInZpc2EgZW4gcmFkIG1lZCBmdW5rdGlvbnNuYW1uZXQgZsO2cmUgdHLDpGZmZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyMAorIzogYnVpbHRpbi9ncmVwLmM6NzIxCiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCiBtc2dzdHIgInZpc2EgZGVuIG9ta3JpbmdsaWdnYW5kZSBmdW5rdGlvbmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MjMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcyNAogbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBmaWxlIgogbXNnc3RyICJsw6RzIG3Dtm5zdGVyIGZyw6VuIGZpbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2dyZXAuYzo3MjYKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgInRyw6RmZmEgPG3Dtm5zdGVyPiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI3CisjOiBidWlsdGluL2dyZXAuYzo3MjgKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICJrb21iaW5lcmEgbcO2bnN0ZXIgc29tIGFuZ2VzIG1lZCAtZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzM5CisjOiBidWlsdGluL2dyZXAuYzo3NDAKIG1zZ2lkICJpbmRpY2F0ZSBoaXQgd2l0aCBleGl0IHN0YXR1cyB3aXRob3V0IG91dHB1dCIKIG1zZ3N0ciAiYW5nZSB0csOkZmYgbWVkIHNsdXRzdGF0dXNrb2QgdXRhbiB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQorIzogYnVpbHRpbi9ncmVwLmM6NzQyCiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgdHLDpGZmYXIgZnLDpW4gZmlsZXIgc29tIHRyw6RmZmFyIGFsbGEgbcO2bnN0ZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MworIzogYnVpbHRpbi9ncmVwLmM6NzQ0CiBtc2dpZCAic2hvdyBwYXJzZSB0cmVlIGZvciBncmVwIGV4cHJlc3Npb24iCiBtc2dzdHIgInZpc2EgYW5hbHlzdHLDpGQgZsO2ciBncmVwLXV0dHJ5Y2siCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0NworIzogYnVpbHRpbi9ncmVwLmM6NzQ4CiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgImJsw6RkZHJhcmUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0NworIzogYnVpbHRpbi9ncmVwLmM6NzQ4CiBtc2dpZCAic2hvdyBtYXRjaGluZyBmaWxlcyBpbiB0aGUgcGFnZXIiCiBtc2dzdHIgInZpc2EgdHLDpGZmYWRlIGZpbGVyIGkgZmlsYmzDpGRkcmFyZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc1MAorIzogYnVpbHRpbi9ncmVwLmM6NzUxCiBtc2dpZCAiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIgogbXNnc3RyICJ0aWxsw6V0IGFucm9wYSBncmVwKDEpIChpZ25vcmVyYXMgYXYgZGV0dGEgYnlnZ2UpIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxNAogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4uIgogbXNnc3RyICJpbmdldCBtw7Zuc3RlciBhbmdhdnMuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NworIzogYnVpbHRpbi9ncmVwLmM6ODQ2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAiZmVsYWt0aWd0IGFudGFsIHRyw6VkYXIgYW5naXZldCAoJWQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NgogbXNnaWQgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBvbmx5IHdvcmtzIG9uIHRoZSB3b3JrdHJlZSIKIG1zZ3N0ciAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIGZ1bmdlcmFyIGVuZGFzdCBpIGFyYmV0c2thdGFsb2dlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTAxCisjOiBidWlsdGluL2dyZXAuYzo5MDIKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXguIgogbXNnc3RyICItLWNhY2hlZCBvY2ggLS11bnRyYWNrZWQga2FuIGludGUgYW52w6RuZGFzIG1lZCAtLW5vLWluZGV4LiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA2CisjOiBidWlsdGluL2dyZXAuYzo5MDcKIG1zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cy4iCiBtc2dzdHIgIi0tbm8taW5kZXggb2NoIC0tdW50cmFja2VkIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgcmV2aXNpb25lci4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQorIzogYnVpbHRpbi9ncmVwLmM6OTEwCiBtc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMuIgogbXNnc3RyICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBrYW4gaW50ZSBhbnbDpG5kYXMgZsO2ciBzcMOlcmF0IGlubmVow6VsbC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkxNworIzogYnVpbHRpbi9ncmVwLmM6OTE4CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuLiIKIG1zZ3N0ciAiYsOlZGUgLS1jYWNoZWQgb2NoIHRyw6RkIGFuZ2F2cy4iCiAKQEAgLTY5NzAsODQgKzc5NjksODggQEAKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjkzCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTQKIG1zZ2lkICJ0eXBlIgogbXNnc3RyICJ0eXAiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5MworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CiBtc2dpZCAib2JqZWN0IHR5cGUiCiBtc2dzdHIgIm9iamVrdHR5cCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAic2tyaXYgb2JqZWt0ZXQgdGlsbCBvYmpla3RkYXRhYmFzZW4iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NgorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk3CiBtc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCiBtc2dzdHIgImzDpHMgb2JqZWt0ZXQgZnLDpW4gc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CiBtc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCiBtc2dzdHIgInNwYXJhIGZpbGVuIHNvbSBkZW4gw6RyIHV0YW4gZmlsZXIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAogbXNnaWQgIiIKICJqdXN0IGhhc2ggYW55IHJhbmRvbSBnYXJiYWdlIHRvIGNyZWF0ZSBjb3JydXB0IG9iamVjdHMgZm9yIGRlYnVnZ2luZyBHaXQiCiBtc2dzdHIgIiIKICJoYXNoYSBzbHVtcG3DpHNzaWd0IHNrcsOkcCBmw7ZyIGF0dCBza2FwYSBrb3JydXB0YSBvYmpla3QgZsO2ciBmZWxzw7ZrbmluZyBhdiBHaXQiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKIG1zZ2lkICJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIKIG1zZ3N0ciAiaGFudGVyYSBmaWxlbiBzb20gb20gZGVuIGtvbSBmcsOlbiBzw7ZrdsOkZ2VuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MQorIzogYnVpbHRpbi9oZWxwLmM6NDIKIG1zZ2lkICJwcmludCBhbGwgYXZhaWxhYmxlIGNvbW1hbmRzIgogbXNnc3RyICJ2aXNhIGFsbGEgdGlsbGfDpG5nbGlnYSBrb21tYW5kb24iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyCisjOiBidWlsdGluL2hlbHAuYzo0MworbXNnaWQgImV4Y2x1ZGUgZ3VpZGVzIgorbXNnc3RyICJ1dGVzbHV0IHbDpGdsZWRuaW5nYXIiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0CiBtc2dpZCAicHJpbnQgbGlzdCBvZiB1c2VmdWwgZ3VpZGVzIgogbXNnc3RyICJsaXN0YSBhbnbDpG5kYmFyYSB2w6RnbGVkbmluZ2FyIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MworIzogYnVpbHRpbi9oZWxwLmM6NDUKIG1zZ2lkICJzaG93IG1hbiBwYWdlIgogbXNnc3RyICJ2aXNhIG1hbnVhbHNpZGEiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ0CisjOiBidWlsdGluL2hlbHAuYzo0NgogbXNnaWQgInNob3cgbWFudWFsIGluIHdlYiBicm93c2VyIgogbXNnc3RyICJ2aXNhIG1hbnVhbCBpIHdlYmJsw6RzYXJlIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NgorIzogYnVpbHRpbi9oZWxwLmM6NDgKIG1zZ2lkICJzaG93IGluZm8gcGFnZSIKIG1zZ3N0ciAidmlzYSBpbmZvLXNpZGEiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjUyCisjOiBidWlsdGluL2hlbHAuYzo1NAogbXNnaWQgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzxjb21tYW5kPl0iCiBtc2dzdHIgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzxrb21tYW5kbz5dIgogCi0jOiBidWlsdGluL2hlbHAuYzo2NAorIzogYnVpbHRpbi9oZWxwLmM6NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGhlbHAgZm9ybWF0ICclcyciCiBtc2dzdHIgIm9rw6RudCBoasOkbHBmb3JtYXQ6ICVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo5MQorIzogYnVpbHRpbi9oZWxwLmM6OTMKIG1zZ2lkICJGYWlsZWQgdG8gc3RhcnQgZW1hY3NjbGllbnQuIgogbXNnc3RyICJNaXNzbHlja2FkZXMgc3RhcnRhIGVtYWNzY2xpZW50LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTA0CisjOiBidWlsdGluL2hlbHAuYzoxMDYKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW1hY3NjbGllbnQgdmVyc2lvbi4iCiBtc2dzdHIgIkt1bmRlIGludGUgdG9sa2EgZW1hY3NjbGllbnQtdmVyc2lvbi4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjExMgorIzogYnVpbHRpbi9oZWxwLmM6MTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImVtYWNzY2xpZW50IHZlcnNpb24gJyVkJyB0b28gb2xkICg8IDIyKS4iCiBtc2dzdHIgImVtYWNzY2xpZW50IHZlcnNpb24gXCIlZFwiIGbDtnIgZ2FtbWFsICg8IDIyKS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEzMCBidWlsdGluL2hlbHAuYzoxNTEgYnVpbHRpbi9oZWxwLmM6MTYwIGJ1aWx0aW4vaGVscC5jOjE2OAorIzogYnVpbHRpbi9oZWxwLmM6MTMyIGJ1aWx0aW4vaGVscC5jOjE1MyBidWlsdGluL2hlbHAuYzoxNjIgYnVpbHRpbi9oZWxwLmM6MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleGVjICclcyciCiBtc2dzdHIgImV4ZWMgbWlzc2x5Y2thZGVzIGbDtnIgXCIlc1wiIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMDUKKyM6IGJ1aWx0aW4vaGVscC5jOjIwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogcGF0aCBmb3IgdW5zdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTcwNTYsNyArODA1OSw3IEBACiAiXCIlc1wiOiBzw7ZrdsOkZyBmw7ZyIG1hbi12aXNhcmUgc29tIGVqIHN0w7Zkcy5cbiIKICJBbnbDpG5kIFwibWFuLjx2ZXJrdHlnPi5jbWRcIiBpc3TDpGxsZXQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMTcKKyM6IGJ1aWx0aW4vaGVscC5jOjIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogY21kIGZvciBzdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTcwNjUsNDMxICs4MDY4LDQzMSBAQAogIlwiJXNcIjoga29tbWFuZG8gZsO2ciBtYW4tdmlzYXJlIHNvbSBzdMO2ZHMuXG4iCiAiQW52w6RuZCBcIm1hbi48dmVya3R5Zz4ucGF0aFwiIGlzdMOkbGxldC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjMzNAorIzogYnVpbHRpbi9oZWxwLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVua25vd24gbWFuIHZpZXdlci4iCiBtc2dzdHIgIlwiJXNcIjogb2vDpG5kIG1hbi12aXNhcmUuIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTEKKyM6IGJ1aWx0aW4vaGVscC5jOjM1MwogbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAiaW5nZW4gbWFuLXZpc2FyZSBoYW50ZXJhZGUgZsO2cmZyw6VnYW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM1OQorIzogYnVpbHRpbi9oZWxwLmM6MzYxCiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAiaW5nZW4gaW5mby12aXNhcmUgaGFudGVyYWRlIGbDtnJmcsOlZ2FuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDgKKyM6IGJ1aWx0aW4vaGVscC5jOjQwMwogbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCiBtc2dzdHIgIkRlZmluaWVyYXIgYXR0cmlidXQgcGVyIHPDtmt2w6RnIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDkKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNAogbXNnaWQgIkV2ZXJ5ZGF5IEdpdCBXaXRoIDIwIENvbW1hbmRzIE9yIFNvIgogbXNnc3RyICJHaXQgZsO2ciBkYWdsaWd0IGJydWsgaSB1bmdlZsOkciAyMCBrb21tYW5kb24iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMAorIzogYnVpbHRpbi9oZWxwLmM6NDA1CiBtc2dpZCAiQSBHaXQgZ2xvc3NhcnkiCiBtc2dzdHIgIkVuIEdpdC1vcmRsaXN0YSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDExCisjOiBidWlsdGluL2hlbHAuYzo0MDYKIG1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgogbXNnc3RyICJBbmdlIGF2c2lrdGxpZ2VuIG9zcMOlcmFkZSBmaWxlciBhdHQgaWdub3JlcmEiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMgorIzogYnVpbHRpbi9oZWxwLmM6NDA3CiBtc2dpZCAiRGVmaW5pbmcgc3VibW9kdWxlIHByb3BlcnRpZXMiCiBtc2dzdHIgIkFuZ2UgZWdlbnNrYXBlciBmw7ZyIHVuZGVybW9kdWxlciIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDEzCisjOiBidWlsdGluL2hlbHAuYzo0MDgKIG1zZ2lkICJTcGVjaWZ5aW5nIHJldmlzaW9ucyBhbmQgcmFuZ2VzIGZvciBHaXQiCiBtc2dzdHIgIkFuZ2UgdmVyc2lvbmVyIG9jaCBpbnRlcnZhbGwgaSBHaXQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxNAorIzogYnVpbHRpbi9oZWxwLmM6NDA5CiBtc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0IChmb3IgdmVyc2lvbiAxLjUuMSBvciBuZXdlcikiCiBtc2dzdHIgIkludHJvZHVrdGlvbiB0aWxsIEdpdCAoZsO2ciB2ZXJzaW9uIDEuNS4xIG9jaCBzZW5hcmUpIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTUKKyM6IGJ1aWx0aW4vaGVscC5jOjQxMAogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKIG1zZ3N0ciAiw5Z2ZXJzaWt0IMO2dmVyIHJla29tbWVuZGVyYWRlIGFyYmV0c2Zsw7ZkZW4gbWVkIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDI3CisjOiBidWlsdGluL2hlbHAuYzo0MjIKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOlxuIgogbXNnc3RyICJEZSB2YW5saWdhIEdpdC12w6RnbGVkbmluZ2FybmEgw6RyOlxuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDggYnVpbHRpbi9oZWxwLmM6NDY1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVzYWdlOiAlcyVzIgotbXNnc3RyICJhbnbDpG5kbmluZzogJXMlcyIKLQotIzogYnVpbHRpbi9oZWxwLmM6NDgxCisjOiBidWlsdGluL2hlbHAuYzo0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYGdpdCAlcycgaXMgYWxpYXNlZCB0byBgJXMnIgogbXNnc3RyICJcImdpdCAlc1wiIMOkciBldHQgYWxpYXMgZsO2ciBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MgorIzogYnVpbHRpbi9oZWxwLmM6NDYyIGJ1aWx0aW4vaGVscC5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2FnZTogJXMlcyIKK21zZ3N0ciAiYW52w6RuZG5pbmc6ICVzJXMiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCB0eXBlIG1pc21hdGNoIGF0ICVzIgogbXNnc3RyICJvYmpla3R0eXAgc3TDpG1tZXIgaW50ZSDDtnZlcmVucyB2aWQgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImRpZCBub3QgcmVjZWl2ZSBleHBlY3RlZCBvYmplY3QgJXMiCiBtc2dzdHIgImVtb3R0b2cgaW50ZSBkZXQgZsO2cnbDpG50YWRlIG9iamVrdGV0ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXM6IGV4cGVjdGVkIHR5cGUgJXMsIGZvdW5kICVzIgogbXNnc3RyICJvYmpla3RldCAlczogZsO2cnbDpG50YWQgdHlwICVzLCBzw6VnICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmlsbCAlZCBieXRlIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgZmlsbCAlZCBieXRlcyIKIG1zZ3N0clswXSAia2FuIGludGUgZnlsbGEgJWQgYnl0ZSIKIG1zZ3N0clsxXSAia2FuIGludGUgZnlsbGEgJWQgYnl0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzkKIG1zZ2lkICJlYXJseSBFT0YiCiBtc2dzdHIgInRpZGlndCBmaWxzbHV0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MAogbXNnaWQgInJlYWQgZXJyb3Igb24gaW5wdXQiCiBtc2dzdHIgImluZGF0YWzDpHNmZWwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkyCiBtc2dpZCAidXNlZCBtb3JlIGJ5dGVzIHRoYW4gd2VyZSBhdmFpbGFibGUiCiBtc2dzdHIgImFudsOkbmRlIGZsZXIgYnl0ZSDDpG4gdGlsbGfDpG5nbGlndCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjk3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTkKIG1zZ2lkICJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IgogbXNnc3RyICJwYWtldCBmw7ZyIHN0b3J0IGbDtnIgbnV2YXJhbmRlIGRlZmluaXRpb24gYXYgb2ZmX3QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAyIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5MgorbXNnaWQgInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIKK21zZ3N0ciAicGFrZXQgw6RyIHN0w7ZycmUgw6RuIHRpbGzDpXRlbiBtYXhpbWFsIHN0b3JsZWsiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEgXCIlc1wiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrZmlsZSAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgcGFrZXRmaWxlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM2CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgInBha2V0c2lnbmF0dXIgc3TDpG1tZXIgaW50ZSDDtnZlcmVucyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayB2ZXJzaW9uICU8UFJJdTMyPiB1bnN1cHBvcnRlZCIKIG1zZ3N0ciAicGFrZXR2ZXJzaW9uICU8UFJJdTMyPiBzdMO2ZHMgZWoiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM1MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzU2CiAjLCBjLWZvcm1hdAotbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICVsdTogJXMiCi1tc2dzdHIgInBha2V0ZXQgaGFyIGZlbGFrdGlndCBvYmpla3QgdmlkIGluZGV4ICVsdTogJXMiCittc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCittc2dzdHIgInBha2V0ZXQgaGFyIGZlbGFrdGlndCBvYmpla3QgdmlkIGluZGV4ICU8UFJJdU1BWD46ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo0NzMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZsYXRlIHJldHVybmVkICVkIgogbXNnc3RyICJpbmZsYXRlIHJldHVybmVyYWRlICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyNwogbXNnaWQgIm9mZnNldCB2YWx1ZSBvdmVyZmxvdyBmb3IgZGVsdGEgYmFzZSBvYmplY3QiCiBtc2dzdHIgImluZGV4dsOkcmRlc3BpbGwgZsO2ciBkZWx0YWJhc29iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTMwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzUKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBpcyBvdXQgb2YgYm91bmQiCiBtc2dzdHIgImRlbHRhYmFzaW5kZXggdXRhbmbDtnIgZ3LDpG5zZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb2JqZWN0IHR5cGUgJWQiCiBtc2dzdHIgIm9rw6RuZCBvYmpla3R0eXAgJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc0CiBtc2dpZCAiY2Fubm90IHByZWFkIHBhY2sgZmlsZSIKIG1zZ3N0ciAia2FuIGludGUgdXRmw7ZyYSBcInByZWFkXCIgcMOlIHBha2V0ZmlsIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NgogIywgYy1mb3JtYXQKLW1zZ2lkICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJWx1IGJ5dGUgbWlzc2luZyIKLW1zZ2lkX3BsdXJhbCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICVsdSBieXRlcyBtaXNzaW5nIgotbXNnc3RyWzBdICJmw7ZyIHRpZGlndCBzbHV0IHDDpSBwYWtldGZpbGVuLCAlbHUgYnl0ZSBzYWtuYXMiCi1tc2dzdHJbMV0gImbDtnIgdGlkaWd0IHNsdXQgcMOlIHBha2V0ZmlsZW4sICVsdSBieXRlIHNha25hcyIKK21zZ2lkICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlIG1pc3NpbmciCittc2dpZF9wbHVyYWwgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGVzIG1pc3NpbmciCittc2dzdHJbMF0gImbDtnIgdGlkaWd0IHNsdXQgcMOlIHBha2V0ZmlsZW4sICU8UFJJdU1BWD4gYnl0ZSBzYWtuYXMiCittc2dzdHJbMV0gImbDtnIgdGlkaWd0IHNsdXQgcMOlIHBha2V0ZmlsZW4sICU8UFJJdU1BWD4gYnl0ZSBzYWtuYXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU5NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjAyCiBtc2dpZCAic2VyaW91cyBpbmZsYXRlIGluY29uc2lzdGVuY3kiCiBtc2dzdHIgImFsbHZhcmxpZyBpbmZsYXRlLWlua29uc2VrdmVucyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0OSBidWlsdGluL2luZGV4LXBhY2suYzo3NzIKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwNiBidWlsdGluL2luZGV4LXBhY2suYzo4MTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0OCBidWlsdGluL2luZGV4LXBhY2suYzo3NTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6Nzc3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTEgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKIG1zZ3N0ciAiU0hBMS1LT0xMSVNJT04gVVBQVMOEQ0tUIFZJRCAlcyAhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjIKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgJXMiCiBtc2dzdHIgImthbiBpbnRlIGzDpHNhIGJlZmludGxpZ3Qgb2JqZWt0ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJsb2Igb2JqZWN0ICVzIgogbXNnc3RyICJvZ2lsdGlndCBibG9iLW9iamVrdCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAlcyIKIG1zZ3N0ciAib2dpbHRpZ3QgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ4CiBtc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgogbXNnc3RyICJGZWwgaSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhbGwgY2hpbGQgb2JqZWN0cyBvZiAlcyBhcmUgcmVhY2hhYmxlIgogbXNnc3RyICJJbnRlIGFsbGEgYmFybm9iamVrdCBmw7ZyICVzIGthbiBuw6VzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo5MTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6OTQ4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo5MjIgYnVpbHRpbi9pbmRleC1wYWNrLmM6OTUzCiBtc2dpZCAiZmFpbGVkIHRvIGFwcGx5IGRlbHRhIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGlsbMOkbXBhIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTIzCiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIlRhciBlbW90IG9iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyMwogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgIlNrYXBhciBpbmRleCBmw7ZyIG9iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NQogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAicGFrZXRldCDDpHIgdHJhc2lndCAoU0hBMSBzdMOkbW1lciBpbnRlKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MAogbXNnaWQgImNhbm5vdCBmc3RhdCBwYWNrZmlsZSIKIG1zZ3N0ciAia2FuIGludGUgdXRmw7ZyYSBcImZzdGF0XCIgcMOlIHBha2V0ZmlsIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYzCiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgogbXNnc3RyICJwYWtldCBoYXIgc2tyw6RwIGkgc2x1dGV0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc0CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAiZsO2cnZpcnJhZCBib3J0b20gdmFudmV0dCBpIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk3CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAiQW5hbHlzZXJhciBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIwNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEgdHLDpWQ6ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUwCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAiZsO2cnZpcnJhZCBib3J0b20gdmFudmV0dCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdHMiCiBtc2dzdHJbMF0gInNsdXRmw7ZyZGVzIG1lZCAlZCBsb2thbHQgb2JqZWt0IgogbXNnc3RyWzFdICJzbHV0ZsO2cmRlcyBtZWQgJWQgbG9rYWxhIG9iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHRhaWwgY2hlY2tzdW0gZm9yICVzIChkaXNrIGNvcnJ1cHRpb24/KSIKIG1zZ3N0ciAiT3bDpG50YWQgc3ZhbnNjaGVja3N1bW1hIGbDtnIgJXMgKHRyYXNpZyBkaXNrPykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKIG1zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCiBtc2dzdHJbMF0gInBha2V0ZXQgaGFyICVkIG9hbmFseXNlcmF0IGRlbHRhIgogbXNnc3RyWzFdICJwYWtldGV0IGhhciAlZCBvYW5hbHlzZXJhZGUgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCiBtc2dzdHIgImt1bmRlIGludGUgdXRmw7ZyYSBcImRlZmxhdGVcIiBww6UgdGlsbGFndCBvYmpla3QgKCVkKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAibG9rYWx0IG9iamVrdCAlcyDDpHIgdHJhc2lndCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM5MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM5NgogbXNnaWQgImVycm9yIHdoaWxlIGNsb3NpbmcgcGFjayBmaWxlIgogbXNnc3RyICJmZWwgdmlkIHN0w6RuZ25pbmcgYXYgcGFrZXRmaWwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSB0YSBza3JpdmEgXCJrZWVwXCItZmlsIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAiYWtuIGludGUgc3TDpG5nYSBza3JpdmVuIFwia2VlcFwiLWZpbCBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MzAKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgogbXNnc3RyICJrYW4gaW50ZSBzcGFyYSBwYWtldGZpbCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0MQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICJrYW4gaW50ZSBzcGFyYSBpbmRleGZpbCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICJmZWxha3RpZyBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODEgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY3OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4NCBidWlsdGluL2luZGV4LXBhY2suYzoxNjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCiBtc2dzdHIgInRyw6Vkc3TDtmQgc2FrbmFzLCBpZ25vcmVyYXIgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIkthbiBpbnRlIMO2cHBuYSBiZWZpbnRsaWcgcGFrZXRmaWwgXCIlc1wiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIkthbiBpbnRlIMO2cHBuYSBiZWZpbnRsaWcgcGFrZXQtaWR4LWZpbCBmw7ZyIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU4OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICJpY2tlLWRlbHRhOiAlZCBvYmpla3QiCiBtc2dzdHJbMV0gImlja2UtZGVsdGE6ICVkIG9iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3RzIgogbXNnc3RyWzBdICJrZWRqZWzDpG5nZCA9ICVkOiAlbHUgb2JqZWt0IgogbXNnc3RyWzFdICJrZWRqZWzDpG5nZCA9ICVkOiAlbHUgb2JqZWt0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgogbXNnc3RyICJwYWtldGZpbG5hbW5ldCBcIiVzXCIgc2x1dGFyIGludGUgbWVkIFwiLnBhY2tcIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYzOAotbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgotbXNnc3RyICJLYW4gaW50ZSBnw6UgdGlsbGJha2EgdGlsbCBhcmJldHNrYXRhbG9nZW4gKGN3ZCkiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTAgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5MwotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwNSBidWlsdGluL2luZGV4LXBhY2suYzoxNzA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjkzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgImZlbGFrdGlnICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzIzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzMyCiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIi0tZml4LXRoaW4ga2FuIGludGUgYW52w6RuZGFzIG1lZCAtLXN0ZGluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQwCiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgogbXNnc3RyICItLXZlcmlmeSBhbmdhdnMgdXRhbiBwYWtldGZpbG5hbW4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1CisjOiBidWlsdGluL2luaXQtZGIuYzo1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSB0YSBzdGF0dXMgcMOlIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjEKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0IHRlbXBsYXRlICclcyciCiBtc2dzdHIgImthbiBpbnRlIHRhIHN0YXR1cyBww6UgbWFsbGVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSBrYXRhbG9nZW4gKG9wZW5kaXIpIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NzcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkbGluayAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBsw6RuayAocmVhZGxpbmspIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NzkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzeW1saW5rICclcycgJyVzJyIKIG1zZ3N0ciAia2FuIGludGUgc2thcGEgc3ltYm9saXNrIGzDpG5rIFwiJXNcIiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg1CisjOiBidWlsdGluL2luaXQtZGIuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgImthbiBpbnRlIGtvcGllcmEgXCIlc1wiIHRpbGwgXCIlc1wiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4OQorIzogYnVpbHRpbi9pbml0LWRiLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdGVtcGxhdGUgJXMiCiBtc2dzdHIgImlnbm9yZXJhciBtYWxsZW4gJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEyMAorIzogYnVpbHRpbi9pbml0LWRiLmM6MTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRlbXBsYXRlcyBub3QgZm91bmQgJXMiCiBtc2dzdHIgIm1hbGxhcm5hIGhpdHRhZGVzIGludGUgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNQorIzogYnVpbHRpbi9pbml0LWRiLmM6MTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBmcm9tICclcyc6ICVzIgogbXNnc3RyICJrb3BpZXJhZGUgaW50ZSBtYWxsYXIgZnLDpW4gXCIlc1wiOiAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzEyIGJ1aWx0aW4vaW5pdC1kYi5jOjMxNQotIywgYy1mb3JtYXQKLW1zZ2lkICIlcyBhbHJlYWR5IGV4aXN0cyIKLW1zZ3N0ciAiJXMgZmlubnMgcmVkYW4iCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NAorIzogYnVpbHRpbi9pbml0LWRiLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBoYW5kbGUgZmlsZSB0eXBlICVkIgogbXNnc3RyICJrYW4gaW50ZSBoYW50ZXJhIGZpbHR5cCAlZCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzQ3CisjOiBidWlsdGluL2luaXQtZGIuYzozMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgImthbiBpbnRlIGZseXR0YSAlcyB0aWxsICVzIgogCi0jLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICclcycgaXMgZWl0aGVyICJSZWluaXRpYWxpemVkCi0jLiBleGlzdGluZyIgb3IgIkluaXRpYWxpemVkIGVtcHR5IiwgdGhlIHNlY29uZCAiIHNoYXJlZCIgb3IKLSMuICIiLCBhbmQgdGhlIGxhc3QgJyVzJXMnIGlzIHRoZSB2ZXJiYXRpbSBkaXJlY3RvcnkgbmFtZS4KKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NyBidWlsdGluL2luaXQtZGIuYzozNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIiVzIGZpbm5zIHJlZGFuIgorCiAjOiBidWlsdGluL2luaXQtZGIuYzo0MDMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMlcyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCi1tc2dzdHIgIiVzJXMgR2l0LWFya2l2IGkgJXMlc1xuIgorbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3Rpbmcgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAiT21pbml0aWVyYWRlIGJlZmludGxpZ3QgZGVsYXQgR2l0LWFya2l2IGkgJXMlc1xuIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo0MDQKLW1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIgotbXNnc3RyICJPbWluaXRpZXJhZGUgYmVmaW50bGlndCIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCittc2dzdHIgIk9taW5pdGllcmFkZSBiZWZpbnRsaWd0IEdpdC1hcmtpdiBpICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA0Ci1tc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkiCi1tc2dzdHIgIkluaXRpZXJhZGUgdG9tdCIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICJJbml0aWVyYWRlIHRvbXQgZGVsYXQgR2l0LWFya2l2IGkgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDUKLW1zZ2lkICIgc2hhcmVkIgotbXNnc3RyICIgZGVsYXQiCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICJJbml0aWVyYWRlIHRvbXQgR2l0LWFya2l2IGkgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NTIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ1NwogbXNnaWQgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tIgogInNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCkBAIC03NDk3LDI1ICs4NTAwLDI1IEBACiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PG1hbGxrYXRhbG9nPl0gWy0tIgogInNoYXJlZFs9PGJlaMO2cmlnaGV0ZXI+XV0gWzxrYXRhbG9nPl0iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDgwCiBtc2dpZCAicGVybWlzc2lvbnMiCiBtc2dzdHIgImJlaMO2cmlnaGV0ZXIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgorIzogYnVpbHRpbi9pbml0LWRiLmM6NDgxCiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICJhbmdlIGF0dCBnaXQtYXJraXZldCBza2FsbCBkZWxhcyBibGFuZCBmbGVyYSBhbnbDpG5kYXJlIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MTAgYnVpbHRpbi9pbml0LWRiLmM6NTE1CisjOiBidWlsdGluL2luaXQtZGIuYzo1MTUgYnVpbHRpbi9pbml0LWRiLmM6NTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBta2RpciAlcyIKIG1zZ3N0ciAia2FuIGludGUgc2thcGEga2F0YWxvZ2VuIChta2RpcikgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxOQorIzogYnVpbHRpbi9pbml0LWRiLmM6NTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAlcyIKIG1zZ3N0ciAia2FuIGludGUgYnl0YSBrYXRhbG9nIChjaGRpcikgdGlsbCAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTQwCisjOiBidWlsdGluL2luaXQtZGIuYzo1NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzIChvciAtLXdvcmstdHJlZT08ZGlyZWN0b3J5Pikgbm90IGFsbG93ZWQgd2l0aG91dCBzcGVjaWZ5aW5nICVzIChvciAtLWdpdC0iCkBAIC03NTI0LDcgKzg1MjcsNyBAQAogIiVzIChlbGxlciAtLXdvcmstdHJlZT08a2F0YWxvZz4pIGludGUgdGlsbMOldGV0IHV0YW4gYXR0IGFuZ2UgJXMgKGVsbGVyIC0tZ2l0LSIKICJkaXI9PGthdGFsb2c+KSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTY4CisjOiBidWlsdGluL2luaXQtZGIuYzo1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKIG1zZ3N0ciAiS2FuIGludGUga29tbWEgw6V0IGFyYmV0c2thdGFsb2dlbiBcIiVzXCIiCkBAIC03NTU3LDExNSArODU2MCwxMTIgQEAKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICJpbmdlbiBpbmRhdGFmaWwgYW5naXZlbiBmw7ZyIHJlZGlnZXJpbmcgcMOlIHBsYXRzIgogCi0jOiBidWlsdGluL2xvZy5jOjQzCisjOiBidWlsdGluL2xvZy5jOjQ0CiBtc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxvZyBbPGZsYWdnb3I+XSBbPHZlcnNpb25zaW50ZXJ2YWxsPl0gW1stLV0gPHPDtmt2w6RnPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDQKKyM6IGJ1aWx0aW4vbG9nLmM6NDUKIG1zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHNob3cgWzxmbGFnZ29yPl0gPG9iamVrdD4uLi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODMKKyM6IGJ1aWx0aW4vbG9nLmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAtLWRlY29yYXRlIG9wdGlvbjogJXMiCiBtc2dzdHIgIm9naWx0aWcgZmxhZ2dhIGbDtnIgLS1kZWNvcmF0ZTogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM3CisjOiBidWlsdGluL2xvZy5jOjEzOQogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgogbXNnc3RyICJ1bmRlcnRyeWNrIGRpZmYtdXRkYXRhIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOAorIzogYnVpbHRpbi9sb2cuYzoxNDAKIG1zZ2lkICJzaG93IHNvdXJjZSIKIG1zZ3N0ciAidmlzYSBrw6RsbGtvZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxCiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgIkFudsOkbmQgZS1wb3N0bWFwcG5pbmdzZmlsIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MAorIzogYnVpbHRpbi9sb2cuYzoxNDIKIG1zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgogbXNnc3RyICJkZWtvcmVyaW5nc2ZsYWdnb3IiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzCisjOiBidWlsdGluL2xvZy5jOjE0NQogbXNnaWQgIlByb2Nlc3MgbGluZSByYW5nZSBuLG0gaW4gZmlsZSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJCZWhhbmRsYSByYWRpbnRlcnZhbGxldCBuLG0gaSBmaWxlbiwgbWVkIGLDtnJqYW4gcMOlIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjM5CisjOiBidWlsdGluL2xvZy5jOjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgIlNsdXR1dGRhdGE6ICVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDcxCisjOiBidWlsdGluL2xvZy5jOjQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgc2hvdyAlczogYmFkIGZpbGUiCiBtc2dzdHIgImdpdCBzaG93ICVzOiBmZWxha3RpZyBmaWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDg1IGJ1aWx0aW4vbG9nLmM6NTc4CisjOiBidWlsdGluL2xvZy5jOjUwMCBidWlsdGluL2xvZy5jOjU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIkt1bmRlIGludGUgbMOkc2Egb2JqZWt0ZXQgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NjAyCisjOiBidWlsdGluL2xvZy5jOjYxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgogbXNnc3RyICJPa8OkbmQgdHlwOiAlZCIKIAotIzogYnVpbHRpbi9sb2cuYzo3MjIKKyM6IGJ1aWx0aW4vbG9nLmM6NzM5CiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiZm9ybWF0LmhlYWRlcnMgdXRhbiB2w6RyZGUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODEyCisjOiBidWlsdGluL2xvZy5jOjgzOQogbXNnaWQgIm5hbWUgb2Ygb3V0cHV0IGRpcmVjdG9yeSBpcyB0b28gbG9uZyIKIG1zZ3N0ciAibmFtbmV0IHDDpSB1dGRhdGFrYXRhbG9nZW4gw6RyIGbDtnIgbMOlbmd0IgogCi0jOiBidWlsdGluL2xvZy5jOjgyNworIzogYnVpbHRpbi9sb2cuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKIG1zZ3N0ciAiS2FuIGludGUgw7ZwcG5hIHBhdGNoZmlsZW4gJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODQxCisjOiBidWlsdGluL2xvZy5jOjg2OAogbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgogbXNnc3RyICJCZWjDtnZlciBwcmVjaXMgZXR0IGludGVydmFsbC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODUxCisjOiBidWlsdGluL2xvZy5jOjg3OAogbXNnaWQgIk5vdCBhIHJhbmdlLiIKIG1zZ3N0ciAiSW50ZSBldHQgaW50ZXJ2YWxsLiIKIAotIzogYnVpbHRpbi9sb2cuYzo5NTcKKyM6IGJ1aWx0aW4vbG9nLmM6OTg0CiBtc2dpZCAiQ292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKIG1zZ3N0ciAiT21zbGFnc2JyZXZldCBiZWjDtnZlciBlLXBvc3Rmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTAzNgorIzogYnVpbHRpbi9sb2cuYzoxMDYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgInRva2lndCBpbi1yZXBseS10bzogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA2NAorIzogYnVpbHRpbi9sb2cuYzoxMDkxCiBtc2dpZCAiZ2l0IGZvcm1hdC1wYXRjaCBbPG9wdGlvbnM+XSBbPHNpbmNlPiB8IDxyZXZpc2lvbi1yYW5nZT5dIgogbXNnc3RyICJnaXQgZm9ybWF0LXBhdGNoIFs8ZmxhZ2dvcj5dIFs8c2VkYW4+IHwgPHJldmlzaW9uc2ludGVydmFsbD5dIgogCi0jOiBidWlsdGluL2xvZy5jOjExMDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTE0MQogbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgogbXNnc3RyICJUdsOlIHV0ZGF0YWthdGFsb2dlcj8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIxNiBidWlsdGluL2xvZy5jOjE4NTcgYnVpbHRpbi9sb2cuYzoxODU5IGJ1aWx0aW4vbG9nLmM6MTg3MQorIzogYnVpbHRpbi9sb2cuYzoxMjQ4IGJ1aWx0aW4vbG9nLmM6MTg5MSBidWlsdGluL2xvZy5jOjE4OTMgYnVpbHRpbi9sb2cuYzoxOTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgogbXNnc3RyICJPa8OkbmQgaW5jaGVja25pbmcgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIyNiBidWlsdGluL25vdGVzLmM6MjUzIGJ1aWx0aW4vbm90ZXMuYzozMDQKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMDYgYnVpbHRpbi9ub3Rlcy5jOjM2OSBidWlsdGluL25vdGVzLmM6NDI0Ci0jOiBidWlsdGluL25vdGVzLmM6NTEwIGJ1aWx0aW4vbm90ZXMuYzo1MTUgYnVpbHRpbi9ub3Rlcy5jOjU5MwotIzogYnVpbHRpbi9ub3Rlcy5jOjY1NiBidWlsdGluL25vdGVzLmM6ODgxIGJ1aWx0aW4vdGFnLmM6NDU1CisjOiBidWlsdGluL2xvZy5jOjEyNTggYnVpbHRpbi9ub3Rlcy5jOjg4NCBidWlsdGluL3RhZy5jOjQ1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBzbMOlIHVwcCBcIiVzXCIgc29tIGVuIGdpbHRpZyByZWZlcmVucy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIzMQorIzogYnVpbHRpbi9sb2cuYzoxMjYzCiBtc2dpZCAiQ291bGQgbm90IGZpbmQgZXhhY3QgbWVyZ2UgYmFzZS4iCiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgZXhha3Qgc2FtbWFuc2xhZ25pbmdzYmFzLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjM1CisjOiBidWlsdGluL2xvZy5jOjEyNjcKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCiAicGxlYXNlIHVzZSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHRvIHRyYWNrIGEgcmVtb3RlIGJyYW5jaC5cbiIKQEAgLTc2NzYsMzA3ICs4Njc2LDMxNSBAQAogIkVsbGVyIHPDpSBrYW4gZHUgYW5nZSBiYXNpbmNoZWNrbmluZyBtZWQgLS1iYXNlPTxiYXMtaW5jaGVja25pbmdzLWlkPiAiCiAibWFudWVsbHQuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4NwogbXNnaWQgIkZhaWxlZCB0byBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgZXhha3Qgc2FtbWFuc2xhZ25pbmdzYmFzIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTI5OAogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZCBiZSB0aGUgYW5jZXN0b3Igb2YgcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAiYmFzaW5jaGVja25pbmdlbiBiw7ZyIHZhcmEgZsO2cmZhZGVyIHRpbGwgcmV2aXNpb25zbGlzdGFuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTMwMgogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZG4ndCBiZSBpbiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICJiYXNpbmNoZWNrbmluZ2VuIGLDtnIgaW50ZSB2YXJhIGkgcmV2aXNpb25zbGlzdGFuIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTM1MQogbXNnaWQgImNhbm5vdCBnZXQgcGF0Y2ggaWQiCiBtc2dzdHIgImthbiBpbnRlIGjDpG10YSBwYXRjaC1pZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzc3CisjOiBidWlsdGluL2xvZy5jOjE0MDgKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICJhbnbDpG5kIFtQQVRDSCBuL21dIMOkdmVuIGbDtnIgZW4gZW5zYW0gcGF0Y2giCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4MAorIzogYnVpbHRpbi9sb2cuYzoxNDExCiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgImFudsOkbmQgW1BBVENIXSDDpHZlbiBmw7ZyIGZsZXJhIHBhdGNoYXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4NAorIzogYnVpbHRpbi9sb2cuYzoxNDE1CiBtc2dpZCAicHJpbnQgcGF0Y2hlcyB0byBzdGFuZGFyZCBvdXQiCiBtc2dzdHIgInNrcml2IHBhdGNoYXJuYSBww6Ugc3RhbmRhcmQgdXQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4NgorIzogYnVpbHRpbi9sb2cuYzoxNDE3CiBtc2dpZCAiZ2VuZXJhdGUgYSBjb3ZlciBsZXR0ZXIiCiBtc2dzdHIgImdlbmVyZXJhIGV0dCBmw7ZsamVicmV2IgogCi0jOiBidWlsdGluL2xvZy5jOjEzODgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxOQogbXNnaWQgInVzZSBzaW1wbGUgbnVtYmVyIHNlcXVlbmNlIGZvciBvdXRwdXQgZmlsZSBuYW1lcyIKIG1zZ3N0ciAiYW52w6RuZCBlbmtlbCBudW1tZXJzZWt2ZW5zIGbDtnIgdXRkYXRhZmlsbmFtbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg5CisjOiBidWlsdGluL2xvZy5jOjE0MjAKIG1zZ2lkICJzZngiCiBtc2dzdHIgInNmeCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkwCisjOiBidWlsdGluL2xvZy5jOjE0MjEKIG1zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKIG1zZ3N0ciAiYW52w6RuZCA8c2Z4PiBpc3TDpGxsZXQgZsO2ciBcIi5wYXRjaFwiIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyMwogbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCiBtc2dzdHIgImLDtnJqYSBudW1yZXJhIHBhdGNoYXIgcMOlIDxuPiBpc3TDpGxsZXQgZsO2ciAxIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyNQogbXNnaWQgIm1hcmsgdGhlIHNlcmllcyBhcyBOdGggcmUtcm9sbCIKIG1zZ3N0ciAibWFya2VyYSBzZXJpZW4gc29tIE46dGUgZsO2cnPDtmsiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5NgorIzogYnVpbHRpbi9sb2cuYzoxNDI3Cittc2dpZCAiVXNlIFtSRkMgUEFUQ0hdIGluc3RlYWQgb2YgW1BBVENIXSIKK21zZ3N0ciAiQW52w6RuZCAgW1JGQyBQQVRDSF0gaXN0w6RsbGV0IGbDtnIgW1BBVENIXSIKKworIzogYnVpbHRpbi9sb2cuYzoxNDMwCiBtc2dpZCAiVXNlIFs8cHJlZml4Pl0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICJBbnbDpG5kIFs8cHJlZml4Pl0gaXN0w6RsbGV0IGbDtnIgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzk5CisjOiBidWlsdGluL2xvZy5jOjE0MzMKIG1zZ2lkICJzdG9yZSByZXN1bHRpbmcgZmlsZXMgaW4gPGRpcj4iCiBtc2dzdHIgInNwYXJhIGZpbGVybmEgaSA8a2F0YWxvZz4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwMgorIzogYnVpbHRpbi9sb2cuYzoxNDM2CiBtc2dpZCAiZG9uJ3Qgc3RyaXAvYWRkIFtQQVRDSF0iCiBtc2dzdHIgInRhIGludGUgYm9ydCBlbGxlciBsw6RnZyB0aWxsIFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwNQorIzogYnVpbHRpbi9sb2cuYzoxNDM5CiBtc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKIG1zZ3N0ciAic2tyaXYgaW50ZSBiaW7DpHJhIGRpZmZhciIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDA3CisjOiBidWlsdGluL2xvZy5jOjE0NDEKIG1zZ2lkICJvdXRwdXQgYWxsLXplcm8gaGFzaCBpbiBGcm9tIGhlYWRlciIKIG1zZ3N0ciAiYW52w6RuZCBoYXNodsOkcmRlIG1lZCBub2xsb3IgaSBGcm9tLWh1dnVkIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MwogbXNnaWQgImRvbid0IGluY2x1ZGUgYSBwYXRjaCBtYXRjaGluZyBhIGNvbW1pdCB1cHN0cmVhbSIKIG1zZ3N0ciAidGEgaW50ZSBtZWQgcGF0Y2hhciBzb20gbW90c3ZhcmFyIGVuIHVwcHN0csO2bXNpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDExCisjOiBidWlsdGluL2xvZy5jOjE0NDUKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgInZpc2EgcGF0Y2hmb3JtYXQgaXN0w6RsbGV0IGbDtnIgc3RhbmRhcmQgKHBhdGNoICsgc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxMworIzogYnVpbHRpbi9sb2cuYzoxNDQ3CiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICJFLXBvc3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNAorIzogYnVpbHRpbi9sb2cuYzoxNDQ4CiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICJodXZ1ZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE1CisjOiBidWlsdGluL2xvZy5jOjE0NDkKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICJsw6RnZyB0aWxsIGUtcG9zdGh1dnVkIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTYgYnVpbHRpbi9sb2cuYzoxNDE4CisjOiBidWlsdGluL2xvZy5jOjE0NTAgYnVpbHRpbi9sb2cuYzoxNDUyCiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgImVwb3N0IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MAogbXNnaWQgImFkZCBUbzogaGVhZGVyIgogbXNnc3RyICJMw6RnZyB0aWxsIG1vdHRhZ2FyaHV2dWQgKFwiVG86XCIpIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MgogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICJMw6RnZyB0aWxsIGtvcGllaHV2dWQgKFwiQ2M6XCIpIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1NAogbXNnaWQgImlkZW50IgogbXNnc3RyICJpZGVudCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIxCisjOiBidWlsdGluL2xvZy5jOjE0NTUKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICJzw6R0dCBGcsOlbi1hZHJlc3MgdGlsbCA8aWRlbnQ+IChlbGxlciBpbmNoZWNrYXJlIG9tIGlkZW50IHNha25hcykiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMworIzogYnVpbHRpbi9sb2cuYzoxNDU3CiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAibWVkZGVsYW5kZS1pZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI0CisjOiBidWlsdGluL2xvZy5jOjE0NTgKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgIkfDtnIgZGV0IGbDtnJzdGEgYnJldmV0IGV0dCBzdmFyIHRpbGwgPG1lZGRlbGFuZGUtaWQ+IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjUgYnVpbHRpbi9sb2cuYzoxNDI4CisjOiBidWlsdGluL2xvZy5jOjE0NTkgYnVpbHRpbi9sb2cuYzoxNDYyCiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgImdyw6RucyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI2CisjOiBidWlsdGluL2xvZy5jOjE0NjAKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICJiaWZvZ2EgcGF0Y2hlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI5CisjOiBidWlsdGluL2xvZy5jOjE0NjMKIG1zZ2lkICJpbmxpbmUgdGhlIHBhdGNoIgogbXNnc3RyICJnw7ZyIHBhdGNoZW4gZXR0IGlubGluZS1vYmpla3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzMworIzogYnVpbHRpbi9sb2cuYzoxNDY3CiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgImFrdGl2ZXJhIGJyZXZ0csOlZG5pbmcsIHR5cGVyOiBzaGFsbG93LCBkZWVwIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2OQogbXNnaWQgInNpZ25hdHVyZSIKIG1zZ3N0ciAic2lnbmF0dXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNgorIzogYnVpbHRpbi9sb2cuYzoxNDcwCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgogbXNnc3RyICJsw6RnZyB0aWxsIHNpZ25hdHVyIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3MQogbXNnaWQgImJhc2UtY29tbWl0IgogbXNnc3RyICJiYXNpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM4CisjOiBidWlsdGluL2xvZy5jOjE0NzIKIG1zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgogbXNnc3RyICJsw6RnZyB0aWxsIGbDtnJoYW5kc2tyw6R2ZCB0csOkZGluZm8gaSBwYXRjaHNlcmllbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQwCisjOiBidWlsdGluL2xvZy5jOjE0NzQKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUgZnJvbSBhIGZpbGUiCiBtc2dzdHIgImzDpGdnIHRpbGwgc2lnbmF0dXIgZnLDpW4gZmlsIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NQogbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCiBtc2dzdHIgInZpc2EgaW50ZSBmaWxuYW1uIGbDtnIgcGF0Y2hhciIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMxCisjOiBidWlsdGluL2xvZy5jOjE1NjUKIG1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIi1uIG9jaCAtayBrYW4gaW50ZSBhbnbDpG5kYXMgc2FtdGlkaWd0LiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMzCi1tc2dpZCAiLS1zdWJqZWN0LXByZWZpeCBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCi1tc2dzdHIgIi0tc3ViamVjdC1wcmVmaXggb2NoIC1rIGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QuIgorIzogYnVpbHRpbi9sb2cuYzoxNTY3Cittc2dpZCAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCittc2dzdHIgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgb2NoIC1rIGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3NQogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgImthbiBpbnRlIGFudsOkbmRhIC0tbmFtZS1vbmx5IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3NwogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAia2FuIGludGUgYW52w6RuZGEgLS1uYW1lLXN0YXR1cyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQ1CisjOiBidWlsdGluL2xvZy5jOjE1NzkKIG1zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgImthbiBpbnRlIGFudsOkbmRhIC0tY2hlY2siCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3MworIzogYnVpbHRpbi9sb2cuYzoxNjA5CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCiBtc2dzdHIgInN0YW5kYXJkIHV0LCBlbGxlciBrYXRhbG9nLCB2aWxrZW4gc2thbGwgZGV0IHZhcmE/IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJLdW5kZSBpbnRlIHNrYXBhIGthdGFsb2dlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY3MgorIzogYnVpbHRpbi9sb2cuYzoxNzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHNpZ25hdHVyZSBmaWxlICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2Egc2lnbmF0dXJmaWwgXCIlc1wiIgogCi0jOiBidWlsdGluL2xvZy5jOjE3NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTc3NwogbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgogbXNnc3RyICJNaXNzbHlja2FkZXMgc2thcGEgdXRkYXRhZmlsZXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTc5MgorIzogYnVpbHRpbi9sb2cuYzoxODI2CiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPHVwcHN0csO2bT4gWzxodXZ1ZD4gWzxncsOkbnM+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjE4NDYKKyM6IGJ1aWx0aW4vbG9nLmM6MTg4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgZW4gc3DDpXJhZCBmasOkcnJncmVuLCBhbmdlIDx1cHBzdHLDtm0+IG1hbnVlbGx0LlxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6Mzc4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzxmbGFnZ29yPl0gWzxmaWw+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQyNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUwNwogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgImlkZW50aWZpZXJhIGZpbHN0YXR1cyBtZWQgdGFnZ2FyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDI5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTA5CiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgImFudsOkbmQgc23DpSBib2tzdMOkdmVyIGbDtnIgXCJhbnRhIG9mw7Zyw6RuZHJhZGVcIi1maWxlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMQogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICJ2aXNhIGNhY2hhZGUgZmlsZXIgaSB1dGRhdGEgKHN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzMworIzogYnVpbHRpbi9scy1maWxlcy5jOjUxMwogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJ2aXNhIGJvcnR0YWduYSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNQogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBtb2RpZmllcmFkZSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNwogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBhbmRyYSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJ2aXNhIGlnbm9yZXJhZGUgZmlsZXIgaSB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NDIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjIKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBrw7ZhdCBpbm5laMOlbGxzIG9iamVrdG5hbW4gaSB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NDQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjQKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICJ2aXNhIGZpbGVyIGkgZmlsc3lzdGVtZXQgc29tIGJlaMO2dmVyIHRhcyBib3J0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDQ2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI2CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lcyBvbmx5IgogbXNnc3RyICJ2aXNhIGVuZGFzdCBuYW1uIGbDtnIgXCJhbmRyYVwiIGthdGFsb2dlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOAogbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgogbXNnc3RyICJ2aXNhIHJhZHNsdXQgaSBmaWxlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMAogbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCiBtc2dzdHIgInZpc2EgaW50ZSB0b21tYSBrYXRhbG9nZXIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzMKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgInZpc2EgZWogc2FtbWFuc2xhZ25hIGZpbGVyIGkgdXRkYXRhIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDU1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM1CiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgInZpc2EgXCJyZXNvbHZlLXVuZG9cIi1pbmZvcm1hdGlvbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1NworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNwogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAiaG9wcGEgw7Z2ZXIgZmlsZXIgc29tIG1vdHN2YXJhciBtw7Zuc3RlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MAogbXNnaWQgImV4Y2x1ZGUgcGF0dGVybnMgYXJlIHJlYWQgZnJvbSA8ZmlsZT4iCiBtc2dzdHIgImV4a2x1ZGVyYSBtw7Zuc3RlciBzb20gbMOkc2VzIGZyw6VuIDxmaWw+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgImzDpHMgeXR0ZXJsaWdhcmUgcGVyLWthdGFsb2ctZXhrbHVkZXJpbmdzbcO2bnN0ZXIgZnLDpW4gPGZpbD4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICJsw6RnZyB0aWxsIGdpdDpzIHN0YW5kYXJkZXhrbHVkZXJpbmdhciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OAogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJnw7ZyIHV0ZGF0YSByZWxhdGl2IHRpbGwgcHJvamVrdGV0cyB0b3Bwa2F0YWxvZyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MQorbXNnaWQgInJlY3Vyc2UgdGhyb3VnaCBzdWJtb2R1bGVzIgorbXNnc3RyICJyZWt1cnNlcmEgbmVyIGkgdW5kZXJtb2R1bGVyIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICJvbSBlbiA8ZmlsPiBpbnRlIMOkciBpbmRleGV0LCBiZXRyYWt0YSBkZXQgc29tIGV0dCBmZWwiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTQKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAidHLDpGQtaWd0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDczCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAibMOldHNhcyBhdHQgc8O2a3bDpGdhciBib3J0dGFnbmEgc2VkYW4gPHRyw6RkLWlndD4gZm9ydGZhcmFuZGUgZmlubnMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTcKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICJ2aXNhIGZlbHPDtmtuaW5nc3V0ZGF0YSIKIApAQCAtODA2MiwxODkgKzkwNzAsMTc1IEBACiBtc2dpZCAibGlzdCBlbnRpcmUgdHJlZTsgbm90IGp1c3QgY3VycmVudCBkaXJlY3RvcnkgKGltcGxpZXMgLS1mdWxsLW5hbWUpIgogbXNnc3RyICJ2aXNhIGhlbGEgdHLDpGRldDsgaW50ZSBiYXJhIGFrdHVlbGwga2F0YWxvZyAoaW1wbGljZXJhciAtLWZ1bGwtbmFtZSkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NQorIzogYnVpbHRpbi9tZXJnZS5jOjQ2CiBtc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIFs8Y29tbWl0Pi4uLl0iCiBtc2dzdHIgImdpdCBtZXJnZSBbPGZsYWdnb3I+XSBbPGluY2hlY2tuaW5nPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NgorIzogYnVpbHRpbi9tZXJnZS5jOjQ3CiBtc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIDxtc2c+IEhFQUQgPGNvbW1pdD4iCiBtc2dzdHIgImdpdCBtZXJnZSBbPGZsYWdnb3I+XSA8bWVkZGVsYW5kZT4gSEVBRCA8aW5jaGVja25pbmc+IgogCi0jOiBidWlsdGluL21lcmdlLmM6NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0OAogbXNnaWQgImdpdCBtZXJnZSAtLWFib3J0IgogbXNnc3RyICJnaXQgbWVyZ2UgLS1hYm9ydCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwMQorIzogYnVpbHRpbi9tZXJnZS5jOjEwMgogbXNnaWQgInN3aXRjaCBgbScgcmVxdWlyZXMgYSB2YWx1ZSIKIG1zZ3N0ciAiZmxhZ2dhbiBcIm1cIiBiZWjDtnZlciBldHQgdsOkcmRlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM4CisjOiBidWlsdGluL21lcmdlLmM6MTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgc2FtbWFuc2xhZ25pbmdzc3RyYXRlZ2luIFwiJXNcIi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzOQorIzogYnVpbHRpbi9tZXJnZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdmFpbGFibGUgc3RyYXRlZ2llcyBhcmU6IgogbXNnc3RyICJUaWxsZ8OkbmdsaWdhIHN0cmF0ZWdpZXIgw6RyOiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJBdmFpbGFibGUgY3VzdG9tIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAiVGlsbGfDpG5nbGlnYSBza3LDpGRkYXJzeWRkYSBzdHJhdGVnaWVyIMOkcjoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTQgYnVpbHRpbi9wdWxsLmM6MTI2CisjOiBidWlsdGluL21lcmdlLmM6MTk1IGJ1aWx0aW4vcHVsbC5jOjEyNwogbXNnaWQgImRvIG5vdCBzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgInZpc2EgaW50ZSBlbiBkaWZmc3RhdCBuw6RyIHNhbW1hbnNsYWduaW5nZW4gw6RyIGbDpHJkaWciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTcgYnVpbHRpbi9wdWxsLmM6MTI5CisjOiBidWlsdGluL21lcmdlLmM6MTk4IGJ1aWx0aW4vcHVsbC5jOjEzMAogbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAidmlzYSBlbiBkaWZmc3RhdCBuw6RyIHNhbW1hbnNsYWduaW5nZW4gw6RyIGbDpHJkaWciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTggYnVpbHRpbi9wdWxsLmM6MTMyCisjOiBidWlsdGluL21lcmdlLmM6MTk5IGJ1aWx0aW4vcHVsbC5jOjEzMwogbXNnaWQgIihzeW5vbnltIHRvIC0tc3RhdCkiCiBtc2dzdHIgIihzeW5vbnltIHRpbGwgLS1zdGF0KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMCBidWlsdGluL3B1bGwuYzoxMzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDEgYnVpbHRpbi9wdWxsLmM6MTM2CiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAibMOkZ2cgdGlsbCAoc29tIG1lc3QgPG4+KSBwb3N0ZXIgZnLDpW4gc2hvcnRsb2cgdGlsbCBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3B1bGwuYzoxMzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDQgYnVpbHRpbi9wdWxsLmM6MTM5CiBtc2dpZCAiY3JlYXRlIGEgc2luZ2xlIGNvbW1pdCBpbnN0ZWFkIG9mIGRvaW5nIGEgbWVyZ2UiCiBtc2dzdHIgInNrYXBhIGVuIGVuc2FtIGluY2hlY2tuaW5nIGlzdMOkbGxldCBmw7ZyIGVuIHNhbW1hbnNsYWduaW5nIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA1IGJ1aWx0aW4vcHVsbC5jOjE0MQorIzogYnVpbHRpbi9tZXJnZS5jOjIwNiBidWlsdGluL3B1bGwuYzoxNDIKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgInV0ZsO2ciBlbiBpbmNoZWNrbmluZyBvbSBzYW1tYW5zbGFnbmluZ2VuIGx5Y2thZGVzIChzdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDcgYnVpbHRpbi9wdWxsLmM6MTQ0CisjOiBidWlsdGluL21lcmdlLmM6MjA4IGJ1aWx0aW4vcHVsbC5jOjE0NQogbXNnaWQgImVkaXQgbWVzc2FnZSBiZWZvcmUgY29tbWl0dGluZyIKIG1zZ3N0ciAicmVkaWdlcmEgbWVkZGVsYW5kZSBpbm5hbiBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwOAorIzogYnVpbHRpbi9tZXJnZS5jOjIwOQogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCAoZGVmYXVsdCkiCiBtc2dzdHIgInRpbGzDpXQgc25hYmJzcG9sbmluZyAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjEwIGJ1aWx0aW4vcHVsbC5jOjE1MAorIzogYnVpbHRpbi9tZXJnZS5jOjIxMSBidWlsdGluL3B1bGwuYzoxNTEKIG1zZ2lkICJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIgogbXNnc3RyICJhdmJyeXQgb20gc25hYmJzcG9sbmluZyBpbnRlIMOkciBtw7ZqbGlnIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE0Ci1tc2dpZCAiVmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgotbXNnc3RyICJCZWtyw6RmdGEgYXR0IGRlbiBuYW1uZ2l2bmEgaW5jaGVja25pbmdlbiBoYXIgZW4gZ2lsdGlnIEdQRy1zaWduYXR1ciIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTUgYnVpbHRpbi9wdWxsLmM6MTU0Cittc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgorbXNnc3RyICJiZWtyw6RmdGEgYXR0IGRlbiBuYW1uZ2l2bmEgaW5jaGVja25pbmdlbiBoYXIgZW4gZ2lsdGlnIEdQRy1zaWduYXR1ciIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNSBidWlsdGluL25vdGVzLmM6NzcxIGJ1aWx0aW4vcHVsbC5jOjE1NworIzogYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL25vdGVzLmM6Nzc0IGJ1aWx0aW4vcHVsbC5jOjE1OAogIzogYnVpbHRpbi9yZXZlcnQuYzo4OQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICJzdHJhdGVnaSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL3B1bGwuYzoxNTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTU5CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgogbXNnc3RyICJzYW1tYW5zbGFnbmluZ3NzdHJhdGVnaSBhdHQgYW52w6RuZGEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTYxCisjOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vcHVsbC5jOjE2MgogbXNnaWQgIm9wdGlvbj12YWx1ZSIKIG1zZ3N0ciAiYWx0ZXJuYXRpdj12w6RyZGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTggYnVpbHRpbi9wdWxsLmM6MTYyCisjOiBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vcHVsbC5jOjE2MwogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgImFsdGVybmF0aXYgZsO2ciB2YWxkIHNhbW1hbnNsYWduaW5nc3N0cmF0ZWdpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjIwCisjOiBidWlsdGluL21lcmdlLmM6MjIxCiBtc2dpZCAibWVyZ2UgY29tbWl0IG1lc3NhZ2UgKGZvciBhIG5vbi1mYXN0LWZvcndhcmQgbWVyZ2UpIgogbXNnc3RyICJpbmNoZWNrbmluZ3NtZWRkZWxhbmRlIGbDtnIgKGlja2Ugc25hYmJzcG9sYW5kZSkgc2FtbWFuc2xhZ25pbmciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjUKIG1zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiYXZicnl0IGRlbiBww6Vnw6VlbmRlIHNhbW1hbnNsYWduaW5nZW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjYgYnVpbHRpbi9wdWxsLmM6MTY5CisjOiBidWlsdGluL21lcmdlLmM6MjI3IGJ1aWx0aW4vcHVsbC5jOjE3MAogbXNnaWQgImFsbG93IG1lcmdpbmcgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAidGlsbMOldCBzYW1tYW5zbGFnbmluZyBhdiBvcmVsYXRlcmFkZSBoaXN0b3JpZXIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTUKIG1zZ2lkICJjb3VsZCBub3QgcnVuIHN0YXNoLiIKIG1zZ3N0ciAia3VuZGUga8O2cmEgc3Rhc2guIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU5CisjOiBidWlsdGluL21lcmdlLmM6MjYwCiBtc2dpZCAic3Rhc2ggZmFpbGVkIgogbXNnc3RyICJzdGFzaCBtaXNzbHlja2FkZXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0OiAlcyIKIG1zZ3N0ciAiaW50ZSBldHQgZ2lsdGlndCBvYmpla3Q6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjgzIGJ1aWx0aW4vbWVyZ2UuYzozMDAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODQgYnVpbHRpbi9tZXJnZS5jOjMwMQogbXNnaWQgInJlYWQtdHJlZSBmYWlsZWQiCiBtc2dzdHIgInJlYWQtdHJlZSBtaXNzbHlja2FkZXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMzEKIG1zZ2lkICIgKG5vdGhpbmcgdG8gc3F1YXNoKSIKIG1zZ3N0ciAiIChpbmdldCBhdHQgcGxhdHRhIHRpbGwpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzQzCisjOiBidWlsdGluL21lcmdlLmM6MzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNxdWFzaCBjb21taXQgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAiVGlsbHBsYXR0bmluZ3NpbmNoZWNrbmluZyAtLSB1cHBkYXRlcmFyIGludGUgSEVBRFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzQ3IGJ1aWx0aW4vbWVyZ2UuYzo3NjcgYnVpbHRpbi9tZXJnZS5jOjk4NwotIzogYnVpbHRpbi9tZXJnZS5jOjEwMDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICclcyciCi1tc2dzdHIgIkt1bmRlIGludGUgc2tyaXZhIHRpbGwgXCIlc1wiIgotCi0jOiBidWlsdGluL21lcmdlLmM6Mzc1Ci1tc2dpZCAiV3JpdGluZyBTUVVBU0hfTVNHIgotbXNnc3RyICJTa3JpdmVyIFNRVUFTSF9NU0ciCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNzcKLW1zZ2lkICJGaW5pc2hpbmcgU1FVQVNIX01TRyIKLW1zZ3N0ciAiQXZzbHV0YXIgU1FVQVNIX01TRyIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjQwMAorIzogYnVpbHRpbi9tZXJnZS5jOjM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBtZXNzYWdlIC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIkluZ2V0IHNhbW1hbnNsYWduaW5nc21lZGRlbGFuZGUgLS0gdXBwZGF0ZXJhciBpbnRlIEhFQURcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ1MQorIzogYnVpbHRpbi9tZXJnZS5jOjQ0MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgY29tbWl0IgogbXNnc3RyICJcIiVzXCIgdmVya2FyIGludGUgcGVrYSBww6UgZW4gaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1NDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAiRmVsYWt0aWcgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucy1zdHLDpG5nOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY2MAorIzogYnVpbHRpbi9tZXJnZS5jOjY1MgogbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCiBtc2dzdHIgIkhhbnRlcmFyIGludGUgbsOlZ290IGFubmF0IMOkbiBlbiBzYW1tYW5zbGFnbmluZyBhdiB0dsOlIGh1dnVkZW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6Njc0CisjOiBidWlsdGluL21lcmdlLmM6NjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gb3B0aW9uIGZvciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiBtc2dzdHIgIkZlbGFrdGlnIGZsYWdnYSBmw7ZyIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY4NworIzogYnVpbHRpbi9tZXJnZS5jOjY4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzc2CisjOiBidWlsdGluL21lcmdlLmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBsw6RzYSBmcsOlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3ODUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgogbXNnc3RyICIiCiAiQ2hlY2thciBpbnRlIGluIHNhbW1hbnNsYWduaW5nZW47IGFudsOkbmQgXCJnaXQgY29tbWl0XCIgZsO2ciBhdHQgc2x1dGbDtnJhICIKICJkZW4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgpAQCAtODI2MCw1MyArOTI1NCw2NyBAQAogIlJhZGVyIHNvbSBpbmxlZHMgbWVkIFwiJWNcIiBrb21tZXIgaWdub3JlcmFzLCBvY2ggZXR0IHRvbXQgbWVkZGVsYW5kZVxuIgogImF2YnJ5dGVyIGluY2hlY2tuaW5nZW4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NzIKIG1zZ2lkICJFbXB0eSBjb21taXQgbWVzc2FnZS4iCiBtc2dzdHIgIlRvbXQgaW5jaGVja25pbmdzbWVkZGVsYW5kZS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICJVbmRlcmJhcnQuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4OTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIGZhaWxlZDsgZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBjb21taXQgdGhlIHJlc3VsdC5cbiIKIG1zZ3N0ciAiIgogIkt1bmRlIGludGUgc2zDpSBpaG9wIGF1dG9tYXRpc2t0OyBmaXhhIGtvbmZsaWt0ZXIgb2NoIGNoZWNrYSBpbiByZXN1bHRhdGV0LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTA2CisjOiBidWlsdGluL21lcmdlLmM6ODYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IgogbXNnc3RyICJcIiVzXCIgw6RyIGludGUgZW4gaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDQKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIkludGUgcMOlIG7DpWdvbiBncmVuLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0OQorIzogYnVpbHRpbi9tZXJnZS5jOjkwNgogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiSW5nZW4gZmrDpHJyIGbDtnIgYWt0dWVsbCBncmVuLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk1MQorIzogYnVpbHRpbi9tZXJnZS5jOjkwOAogbXNnaWQgIk5vIGRlZmF1bHQgdXBzdHJlYW0gZGVmaW5lZCBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiSW5nZW4gc3RhbmRhcmR1cHBzdHLDtm0gYW5naXZlbiBmw7ZyIGFrdHVlbGwgZ3Jlbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NTYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKIG1zZ3N0ciAiSW5nZW4gZmrDpHJyc3DDpXJhbmRlIGdyZW4gZsO2ciAlcyBmcsOlbiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwOTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHZhbHVlICclcycgaW4gZW52aXJvbm1lbnQgJyVzJyIKK21zZ3N0ciAiRmVsYWt0aWd0IHbDpHJkZSBcIiVzXCIgaSBtaWxqw7Z2YXJpYWJlbG4gXCIlc1wiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTAzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzdMOkbmdhIFwiJXNcIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyMTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIGluICVzOiAlcyIKK21zZ3N0ciAiaW50ZSBuw6Vnb3Qgdmkga2FuIHNsw6UgaWhvcCBtZWQgJXM6ICVzIgorCisjOiBidWlsdGluL21lcmdlLmM6MTA5NQorbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgorbXNnc3RyICJpbnRlIG7DpWdvdCB2aSBrYW4gc2zDpSBpaG9wIgorCisjOiBidWlsdGluL21lcmdlLmM6MTE2MgogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAiRGV0IGZpbm5zIGluZ2VuIHNhbW1hbnNsYWduaW5nIGF0dCBhdmJyeXRhIChNRVJHRV9IRUFEIHNha25hcykuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIzNQorIzogYnVpbHRpbi9tZXJnZS5jOjExNzgKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtODMxNCw3ICs5MzIyLDcgQEAKICJEdSBoYXIgaW50ZSBhdnNsdXRhdCBzYW1tYW5zbGFnbmluZ2VuIChNRVJHRV9IRUFEIGZpbm5zKS5cbiIKICJDaGVja2EgaW4gZGluYSDDpG5kcmluZ2FyIGlubmFuIGR1IHNsw6VyIGlob3AuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI0MgorIzogYnVpbHRpbi9tZXJnZS5jOjExODUKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtODMyMiwxMDYgKzkzMzAsMTE0IEBACiAiRHUgaGFyIGludGUgYXZzbHV0YXQgZGluIFwiY2hlcnJ5LXBpY2tcIiAoQ0hFUlJZX1BJQ0tfSEVBRCBmaW5ucykuXG4iCiAiQ2hlY2thIGluIGRpbmEgw6RuZHJpbmdhciBpbm5hbiBkdSBzbMOlciBpaG9wLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg4CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuIgogbXNnc3RyICJEdSBoYXIgaW50ZSBhdnNsdXRhdCBkaW4gXCJjaGVycnktcGlja1wiIChDSEVSUllfUElDS19IRUFEIGZpbm5zKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU0CisjOiBidWlsdGluL21lcmdlLmM6MTE5NwogbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgogbXNnc3RyICJEdSBrYW4gaW50ZSBrb21iaW5lcmEgLS1zcXVhc2ggbWVkIC0tbm8tZmYuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI2MgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMDUKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAiSW5nZW4gaW5jaGVja25pbmcgYW5naXZlbiBvY2ggbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gw6RyIGVqIHNhdHQuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI3OQorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjIKIG1zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKIG1zZ3N0ciAiU3TDtmRlciBpbnRlIGVuIHRpbGxwbGF0dG5pbmdzaW5jaGVja25pbmcgcMOlIGV0dCB0b210IGh1dnVkIMOkbm51IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4MQorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjQKIG1zZ2lkICJOb24tZmFzdC1mb3J3YXJkIGNvbW1pdCBkb2VzIG5vdCBtYWtlIHNlbnNlIGludG8gYW4gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiSWNrZS1zbmFiYnNwb2xhZCBpbmNoZWNrbmluZyBrYW4gaW50ZSBhbnbDpG5kYXMgbWVkIGV0dCB0b210IGh1dnVkIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4NgorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgLSBub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKIG1zZ3N0ciAiJXMgLSBpbnRlIG7DpWdvdCB2aSBrYW4gc2zDpSBpaG9wIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4OAorIzogYnVpbHRpbi9tZXJnZS5jOjEyMzEKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICJLYW4gZW5kYXN0IHNsw6UgaWhvcCBlbiBlbmRhIGluY2hlY2tuaW5nIGkgZXR0IHRvbXQgaHV2dWQuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM0NAorIzogYnVpbHRpbi9tZXJnZS5jOjEyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSwgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiIgogIkluY2hlY2tuaW5nZW4gJXMgaGFyIGVuIG9iZXRyb2RkIEdQRy1zaWduYXR1ciBzb20gcMOlc3TDpXMgdmFyYSBnam9yZCBhdiAlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzQ3CisjOiBidWlsdGluL21lcmdlLmM6MTI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgYmFkIEdQRyBzaWduYXR1cmUgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiIgogIkluY2hlY2tuaW5nZW4gJXMgaGFyIGVuIGZlbGFrdGlnIEdQRy1zaWduYXR1ciBzb20gcMOlc3TDpXMgdmFyYSBnam9yZCBhdiAlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzUwCisjOiBidWlsdGluL21lcmdlLmM6MTI5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUuIgogbXNnc3RyICJJbmNoZWNrbmluZyAlcyBoYXIgaW50ZSBuw6Vnb24gR1BHLXNpZ25hdHVyLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBnb29kIEdQRyBzaWduYXR1cmUgYnkgJXNcbiIKIG1zZ3N0ciAiSW5jaGVja25pbmdlbiAlcyBoYXIgZW4ga29ycmVrdCBHUEctc2lnbmF0dXIgYXYgJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzU4CiBtc2dpZCAicmVmdXNpbmcgdG8gbWVyZ2UgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAidsOkZ3JhciBzbMOlIHNhbW1hbiBvcmVsYXRlcmFkIGhpc3RvcmlrIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQzOQorIzogYnVpbHRpbi9tZXJnZS5jOjEzNjcKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIgorbXNnc3RyICJSZWRhbiDDoCBqb3VyLiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMuLiVzXG4iCiBtc2dzdHIgIlVwcGRhdGVyYXIgJXMuLiVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc2CisjOiBidWlsdGluL21lcmdlLmM6MTQxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgcmVhbGx5IHRyaXZpYWwgaW4taW5kZXggbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiRsO2cnPDtmtlciByaWt0aWd0IGVua2VsIHNhbW1hbnNsYWduaW5nIGkgaW5kZXhldC4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ4MworIzogYnVpbHRpbi9tZXJnZS5jOjE0MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm9wZS5cbiIKIG1zZ3N0ciAiTmVqLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUxNQorIzogYnVpbHRpbi9tZXJnZS5jOjE0NTAKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIFllZWFoISIKK21zZ3N0ciAiUmVkYW4gw6Agam91ci4gVG9wcGVuISIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE0NTYKIG1zZ2lkICJOb3QgcG9zc2libGUgdG8gZmFzdC1mb3J3YXJkLCBhYm9ydGluZy4iCiBtc2dzdHIgIkthbiBpbnRlIHNuYWJic3BvbGEsIGF2YnJ5dGVyLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MzggYnVpbHRpbi9tZXJnZS5jOjE2MTcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc5IGJ1aWx0aW4vbWVyZ2UuYzoxNTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgogbXNnc3RyICLDhXRlcnNwb2xhciB0csOkZGV0IHRpbGwgb3LDtnJ0Li4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQyCisjOiBidWlsdGluL21lcmdlLmM6MTQ4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgbWVyZ2Ugc3RyYXRlZ3kgJXMuLi5cbiIKIG1zZ3N0ciAiRsO2cnPDtmtlciBzYW1tYW5zbGFnbmluZ3NzdHJhdGVnaW4gJXMuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgogbXNnc3RyICJJbmdlbiBzYW1tYW5zbGFnbmluZ3NzdHJhdGVnaSBoYW50ZXJhZGUgc2FtbWFuc2xhZ25pbmdlbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgogbXNnc3RyICJTYW1tYW5zbGFnbmluZyBtZWQgc3RyYXRlZ2luICVzIG1pc3NseWNrYWRlcy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzaW5nIHRoZSAlcyB0byBwcmVwYXJlIHJlc29sdmluZyBieSBoYW5kLlxuIgogbXNnc3RyICJBbnbDpG5kZXIgJXMgZsO2ciBhdHQgZsO2cmJlcmVkYSBsw7ZzbmluZyBmw7ZyIGhhbmQuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjMxCisjOiBidWlsdGluL21lcmdlLmM6MTU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICIiCkBAIC04NDQ3LDIzICs5NDYzLDIzIEBACiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDxyZWY+IFs8Y29tbWl0Pl0iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiA8aW5jaGVja25pbmc+IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTQKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNwogbXNnaWQgIm91dHB1dCBhbGwgY29tbW9uIGFuY2VzdG9ycyIKIG1zZ3N0ciAic2tyaXYgdXQgYWxsYSBnZW1lbnNhbW1hIGFuZsOkZGVyIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTYKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOQogbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKIG1zZ3N0ciAiaGl0dGEgYW5mYWRlciBmw7ZyIGVua2VsIG4tdsOkZ3NzYW1tYW5zbGFnbmluZyIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE4CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjEKIG1zZ2lkICJsaXN0IHJldnMgbm90IHJlYWNoYWJsZSBmcm9tIG90aGVycyIKIG1zZ3N0ciAidmlzYSByZXZpc2lvbmVyIHNvbSBpbnRlIGthbiBuw6VzIGZyw6VuIGFuZHJhIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjAKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMwogbXNnaWQgImlzIHRoZSBmaXJzdCBvbmUgYW5jZXN0b3Igb2YgdGhlIG90aGVyPyIKIG1zZ3N0ciAiw6RyIGRlbiBmw7Zyc3RhIGFuZmFkZXIgdGlsbCBkZW4gYW5kcmE/IgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjIKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNQogbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgogbXNnc3RyICJzZSB2YXIgPGluY2hlY2tuaW5nPiBncmVuYWRlcyBhdiBmcsOlbiByZWZlcmVuc2xvZ2dlbiBmcsOlbiA8cmVmPiIKIApAQCAtODUwNyw2ICs5NTIzLDM3IEBACiBtc2dpZCAic2V0IGxhYmVscyBmb3IgZmlsZTEvb3JpZy1maWxlL2ZpbGUyIgogbXNnc3RyICJzw6R0dCBldGlrZXR0ZXIgZsO2ciBmaWwxL29yaWdmaWwvZmlsMiIKIAorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAlcyIKK21zZ3N0ciAib2vDpG5kIGZsYWdnYSAlcyIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCittc2dzdHIgImt1bmRlIGludGUgdG9sa2Egb2JqZWt0ZXQgXCIlc1wiIgorCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2UuIElnbm9yaW5nICVzLiIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgYmFzZXMuIElnbm9yaW5nICVzLiIKK21zZ3N0clswXSAia2FuIGludGUgaGFudGVyYSBtZXIgw6RuICVkIGJhcy4gSWdub3JlcmFyICVzLiIKK21zZ3N0clsxXSAia2FuIGludGUgaGFudGVyYSBtZXIgw6RuICVkIGJhc2VyLiBJZ25vcmVyYXIgJXMuIgorCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjYzCittc2dpZCAibm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKK21zZ3N0ciAiaGFudGVyYXIgaW50ZSBuw6Vnb3QgYW5uYXQgw6RuIGVuIHNhbW1hbnNsYWduaW5nIGF2IHR2w6UgaHV2dWRlbi4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjkgYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSByZWYgJyVzJyIKK21zZ3N0ciAia3VuZGUgaW50ZSBiZXN0w6RtbWEgcmVmZXJlbnNlbiAlcyIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJNZXJnaW5nICVzIHdpdGggJXNcbiIKK21zZ3N0ciAiU2zDpXIgaWhvcCAlcyBtZWQgJXNcbiIKKwogIzogYnVpbHRpbi9ta3RyZWUuYzo2NQogbXNnaWQgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCiBtc2dzdHIgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCkBAIC04NTUwLDEwOSArOTU5NywxMDkgQEAKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKIG1zZ3N0ciAiaG9wcGEgw7Z2ZXIgZmVsIHZpZCBmbHl0dC9uYW1uw6RuZHJpbmciCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNTIKKyM6IGJ1aWx0aW4vbXYuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gJyVzJyBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgImRlc3RpbmF0aW9uZW4gXCIlc1wiIMOkciBpbmdlbiBrYXRhbG9nIgogCi0jOiBidWlsdGluL212LmM6MTYzCisjOiBidWlsdGluL212LmM6MTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHJlbmFtZSBvZiAnJXMnIHRvICclcydcbiIKIG1zZ3N0ciAiS29udHJvbGxlcmFyIG5hbW5ieXRlIGF2IFwiJXNcIiB0aWxsIFwiJXNcIlxuIgogCi0jOiBidWlsdGluL212LmM6MTY3CisjOiBidWlsdGluL212LmM6MTcwCiBtc2dpZCAiYmFkIHNvdXJjZSIKIG1zZ3N0ciAiZmVsYWt0aWcga8OkbGxhIgogCi0jOiBidWlsdGluL212LmM6MTcwCisjOiBidWlsdGluL212LmM6MTczCiBtc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKIG1zZ3N0ciAia2FuIGludGUgZmx5dHRhIGthdGFsb2cgdGlsbCBzaWcgc2rDpGx2IgogCi0jOiBidWlsdGluL212LmM6MTczCisjOiBidWlsdGluL212LmM6MTc2CiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAia2FuIGludGUgZmx5dHRhIGthdGFsb2cgw7Z2ZXIgZmlsIgogCi0jOiBidWlsdGluL212LmM6MTgyCisjOiBidWlsdGluL212LmM6MTg1CiBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKIG1zZ3N0ciAia8OkbGxrYXRhbG9nZW4gw6RyIHRvbSIKIAotIzogYnVpbHRpbi9tdi5jOjIwNworIzogYnVpbHRpbi9tdi5jOjIxMAogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgImludGUgdmVyc2lvbnNoYW50ZXJhZCIKIAotIzogYnVpbHRpbi9tdi5jOjIxMAorIzogYnVpbHRpbi9tdi5jOjIxMwogbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKIG1zZ3N0ciAiZGVzdGluYXRpb25lbiBmaW5ucyIKIAotIzogYnVpbHRpbi9tdi5jOjIxOAorIzogYnVpbHRpbi9tdi5jOjIyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJvdmVyd3JpdGluZyAnJXMnIgogbXNnc3RyICJza3JpdmVyIMO2dmVyIFwiJXNcIiIKIAotIzogYnVpbHRpbi9tdi5jOjIyMQorIzogYnVpbHRpbi9tdi5jOjIyNAogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCiBtc2dzdHIgIkthbiBpbnRlIHNrcml2YSDDtnZlciIKIAotIzogYnVpbHRpbi9tdi5jOjIyNAorIzogYnVpbHRpbi9tdi5jOjIyNwogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAiZmxlcmEga8OkbGxvciBmw7ZyIHNhbW1hIG3DpWwiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjYKKyM6IGJ1aWx0aW4vbXYuYzoyMjkKIG1zZ2lkICJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImRlc3RpbmF0aW9uc2thdGFsb2dlbiBmaW5ucyBpbnRlIgogCi0jOiBidWlsdGluL212LmM6MjMzCisjOiBidWlsdGluL212LmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogbXNnc3RyICIlcywga8OkbGxhPSVzLCBtw6VsPSVzIgogCi0jOiBidWlsdGluL212LmM6MjU0CisjOiBidWlsdGluL212LmM6MjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCiBtc2dzdHIgIkJ5dGVyIG5hbW4gcMOlICVzIHRpbGwgJXNcbiIKIAotIzogYnVpbHRpbi9tdi5jOjI2MCBidWlsdGluL3JlbW90ZS5jOjcxNCBidWlsdGluL3JlcGFjay5jOjM2NQorIzogYnVpbHRpbi9tdi5jOjI2MyBidWlsdGluL3JlbW90ZS5jOjcxMCBidWlsdGluL3JlcGFjay5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW5hbWluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGJ5dGEgbmFtbiBww6UgXCIlc1wiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU4CisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU3CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxmbGFnZ29yPl0gPGluY2hlY2tuaW5nPi4uLiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8ZmxhZ2dvcj5dIC0tYWxsIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjYwCisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tc3RkaW4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPGZsYWdnb3I+XSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzEyCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzExCiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICJza3JpdiBlbmRhc3QgbmFtbiAoaW5nZW4gU0hBLTEpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzEzCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzEyCiBtc2dpZCAib25seSB1c2UgdGFncyB0byBuYW1lIHRoZSBjb21taXRzIgogbXNnc3RyICJhbnbDpG5kIGVuZGFzdCB0YWdnYXIgZsO2ciBhdHQgbmFtbmdlIGluY2hlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTUKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTQKIG1zZ2lkICJvbmx5IHVzZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiYW52w6RuZCBlbmRhc3QgcmVmZXJlbnNlciBzb20gbW90c3ZhcmFyIDxtw7Zuc3Rlcj4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTYKIG1zZ2lkICJsaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzIgogbXNnc3RyICJsaXN0YSBhbGxhIGluY2hlY2tuaW5nYXIgc29tIGthbiBuw6VzIGFsbGEgcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNwogbXNnaWQgInJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAibMOkcyBmcsOlbiBzdGFuZGFyZCBpbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxOAogbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKIG1zZ3N0ciAidGlsbMOldCBhdHQgc2tyaXZhIFwib2RlZmluaWVyYWRlXCIgbmFtbiAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzI1CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzI0CiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbiB0aGUgaW5wdXQgKGludGVybmFsIHVzZSkiCiBtc2dzdHIgImF2cmVmZXJlcmEgdGFnZ2FyIGkgaW5kYXRhIChhbnbDpG5kcyBpbnRlcm50KSIKIApAQCAtODc2OCw2ICs5ODE1LDEwIEBACiBtc2dpZCAiZ2l0IG5vdGVzIGdldC1yZWYiCiBtc2dzdHIgImdpdCBub3RlcyBnZXQtcmVmIgogCisjOiBidWlsdGluL25vdGVzLmM6OTQKK21zZ2lkICJXcml0ZS9lZGl0IHRoZSBub3RlcyBmb3IgdGhlIGZvbGxvd2luZyBvYmplY3Q6IgorbXNnc3RyICJTa3Jpdi9yZWRpZ2VyYSBhbnRlY2tuaW5nYXIgZsO2ciBmw7ZsamFuZGUgb2JqZWt0OiIKKwogIzogYnVpbHRpbi9ub3Rlcy5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhcnQgJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKQEAgLTg3ODIsODAgKzk4MzMsOTkgQEAKIG1zZ2lkICJmYWlsZWQgdG8gZmluaXNoICdzaG93JyBmb3Igb2JqZWN0ICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgYXZzbHV0YSBcInNob3dcIiBmw7ZyIG9iamVrdGV0IFwiJXNcIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE3NCBidWlsdGluL3RhZy5jOjI0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKLW1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSBmaWxlbiBcIiVzXCIiCisjOiBidWlsdGluL25vdGVzLmM6MTk0Cittc2dpZCAicGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgorbXNnc3RyICJhbmdlIGlubmVow6VsbCBmw7ZyIGFudGVja25pbmdlbiBtZWQgYW50aW5nZW4gLW0gZWxsZXIgLUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxOTMKLW1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBub3RlIGNvbnRlbnRzIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24iCi1tc2dzdHIgIkFuZ2UgaW5uZWjDpWxsIGbDtnIgYW50ZWNrbmluZ2VuIG1lZCBhbnRpbmdlbiAtbSBlbGxlciAtRiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjIwMgorIzogYnVpbHRpbi9ub3Rlcy5jOjIwMwogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBub3RlIG9iamVjdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgYW50ZWNrbmluZ3NvYmpla3QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCi1tc2dzdHIgIkFudGVja25pbmdlbnMgaW5uZWjDpWxsIGhhciBsw6RtbmF0cyBrdmFyIGkgJXMiCittc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCittc2dzdHIgImFudGVja25pbmdlbnMgaW5uZWjDpWxsIGhhciBsw6RtbmF0cyBrdmFyIGkgJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMzIgYnVpbHRpbi90YWcuYzo0MzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMzMgYnVpbHRpbi90YWcuYzo0MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMzQgYnVpbHRpbi90YWcuYzo0NDIKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMzUgYnVpbHRpbi90YWcuYzo0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gb3IgcmVhZCAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSBlbGxlciBsw6RzYSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNTQgYnVpbHRpbi9ub3Rlcy5jOjMwNSBidWlsdGluL25vdGVzLmM6MzA3CisjOiBidWlsdGluL25vdGVzLmM6MzcyIGJ1aWx0aW4vbm90ZXMuYzo0MjcgYnVpbHRpbi9ub3Rlcy5jOjUxMworIzogYnVpbHRpbi9ub3Rlcy5jOjUxOCBidWlsdGluL25vdGVzLmM6NTk2IGJ1aWx0aW4vbm90ZXMuYzo2NTkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlYWQgb2JqZWN0ICclcycuIgotbXNnc3RyICJLdW5kZSBpbnRlIGzDpHNhIG9iamVrdGV0IFwiJXNcIi4iCittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCittc2dzdHIgImt1bmRlIGludGUgc2zDpSB1cHAgXCIlc1wiIHNvbSBlbiBnaWx0aWcgcmVmZXJlbnMuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjYwCisjOiBidWlsdGluL25vdGVzLmM6MjU3CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCByZWFkIG5vdGUgZGF0YSBmcm9tIG5vbi1ibG9iIG9iamVjdCAnJXMnLiIKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBvYmplY3QgJyVzJy4iCittc2dzdHIgImt1bmRlIGludGUgbMOkc2Egb2JqZWt0ZXQgXCIlc1wiLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBub3RlIGRhdGEgZnJvbSBub24tYmxvYiBvYmplY3QgJyVzJy4iCiBtc2dzdHIgImthbiBpbnRlIGzDpHNhIGFudGVja25pbmdzZGF0YSBmcsOlbiBpY2tlLWJsb2Itb2JqZWt0ZXQgXCIlc1wiLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM2MiBidWlsdGluL25vdGVzLmM6NDE3IGJ1aWx0aW4vbm90ZXMuYzo0OTMKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDUgYnVpbHRpbi9ub3Rlcy5jOjU4MSBidWlsdGluL25vdGVzLmM6NjQ5Ci0jOiBidWlsdGluL25vdGVzLmM6OTQ2CisjOiBidWlsdGluL25vdGVzLmM6MzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKK21zZ3N0ciAiZmVsYWt0aWcgaW5kYXRhcmFkOiBcIiVzXCIuIgorCisjOiBidWlsdGluL25vdGVzLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgorbXNnc3RyICJtaXNzbHlja2FkZXMga29waWVyYSBhbnRlY2tuaW5nYXIgZnLDpW4gXCIlc1wiIHRpbGwgXCIlc1wiIgorCisjLiBUUkFOU0xBVE9SUzogdGhlIGZpcnN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgYnkgYQorIy4gZ2l0IG5vdGVzIGNvbW1hbmQ6ICdhZGQnLCAnbWVyZ2UnLCAncmVtb3ZlJywgZXRjLgorIzogYnVpbHRpbi9ub3Rlcy5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZ1c2luZyB0byAlcyBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCittc2dzdHIgInbDpGdyYXIgdXRmw7ZyYSBcIiVzXCIgcMOlIGFudGVja25pbmdhciBpICVzICh1dGFuZsO2ciByZWZzL25vdGVzLykiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNjUgYnVpbHRpbi9ub3Rlcy5jOjQyMCBidWlsdGluL25vdGVzLmM6NDk2CisjOiBidWlsdGluL25vdGVzLmM6NTA4IGJ1aWx0aW4vbm90ZXMuYzo1ODQgYnVpbHRpbi9ub3Rlcy5jOjY1MgorIzogYnVpbHRpbi9ub3Rlcy5jOjgwMiBidWlsdGluL25vdGVzLmM6OTQ5IGJ1aWx0aW4vbm90ZXMuYzo5NzAKIG1zZ2lkICJ0b28gbWFueSBwYXJhbWV0ZXJzIgogbXNnc3RyICJmw7ZyIG3DpW5nYSBwYXJhbWV0cmFyIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzc1IGJ1aWx0aW4vbm90ZXMuYzo2NjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjY2NQogIywgYy1mb3JtYXQKLW1zZ2lkICJObyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgotbXNnc3RyICJJbmdhIGFudGVja25pbmdhciBoaXR0YWRlcyBmw7ZyIG9iamVrdGV0ICVzLiIKK21zZ2lkICJubyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgorbXNnc3RyICJpbmdhIGFudGVja25pbmdhciBoaXR0YWRlcyBmw7ZyIG9iamVrdGV0ICVzLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM5NiBidWlsdGluL25vdGVzLmM6NTU5CisjOiBidWlsdGluL25vdGVzLmM6Mzk5IGJ1aWx0aW4vbm90ZXMuYzo1NjIKIG1zZ2lkICJub3RlIGNvbnRlbnRzIGFzIGEgc3RyaW5nIgogbXNnc3RyICJhbnRlY2tuaW5nc2lubmVow6VsbCBzb20gc3Ryw6RuZyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM5OSBidWlsdGluL25vdGVzLmM6NTYyCisjOiBidWlsdGluL25vdGVzLmM6NDAyIGJ1aWx0aW4vbm90ZXMuYzo1NjUKIG1zZ2lkICJub3RlIGNvbnRlbnRzIGluIGEgZmlsZSIKIG1zZ3N0ciAiYW50ZWNrbmluZ3Npbm5laMOlbGwgaSBlbiBmaWwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICLDpXRlcmFudsOkbmQgb2NoIHJlZGlnZXJhIGFuZ2l2ZXQgYW50ZWNrbmluZ3NvYmpla3QiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDUgYnVpbHRpbi9ub3Rlcy5jOjU2OAorIzogYnVpbHRpbi9ub3Rlcy5jOjQwOCBidWlsdGluL25vdGVzLmM6NTcxCiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICLDpXRlcmFudsOkbmQgYW5naXZldCBhbnRlY2tuaW5nc29iamVrdCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwOCBidWlsdGluL25vdGVzLmM6NTcxCisjOiBidWlsdGluL25vdGVzLmM6NDExIGJ1aWx0aW4vbm90ZXMuYzo1NzQKIG1zZ2lkICJhbGxvdyBzdG9yaW5nIGVtcHR5IG5vdGUiCiBtc2dzdHIgInRpbGzDpXQgbGFncmEgdG9tIGFudGVja25pbmciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDkgYnVpbHRpbi9ub3Rlcy5jOjQ4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMiBidWlsdGluL25vdGVzLmM6NDgzCiBtc2dpZCAicmVwbGFjZSBleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAiZXJzw6R0dCBiZWZpbnRsaWdhIGFudGVja25pbmdhciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQzNAorIzogYnVpbHRpbi9ub3Rlcy5jOjQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGFkZCBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKQEAgLTg4NjQsMjkgKzk5MzQsMjkgQEAKICJLYW4gaW50ZSBsw6RnZ2EgdGlsbCBhbnRlY2tuaW5nYXIuIEhpdHRhZGUgYmVmaW50bGlnYSBhbnRlY2tuaW5nYXIgZsO2ciAiCiAib2JqZWt0ZXQgJXMuIEFudsOkbmQgXCItZlwiIGbDtnIgYXR0IHNrcml2YSDDtnZlciBiZWZpbnRsaWdhIGFudGVja25pbmdhciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ0OSBidWlsdGluL25vdGVzLmM6NTI4CisjOiBidWlsdGluL25vdGVzLmM6NDUyIGJ1aWx0aW4vbm90ZXMuYzo1MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICJTa3JpdmVyIMO2dmVyIGJlZmludGxpZ2EgYW50ZWNrbmluZ2FyIGbDtnIgb2JqZWt0ZXQgJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MCBidWlsdGluL25vdGVzLmM6NjIxIGJ1aWx0aW4vbm90ZXMuYzo4ODYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjYyNCBidWlsdGluL25vdGVzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICJUYXIgYm9ydCBhbnRlY2tuaW5nIGbDtnIgb2JqZWt0ZXQgJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NAogbXNnaWQgInJlYWQgb2JqZWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICJsw6RzIG9iamVrdCBmcsOlbiBzdGFuZGFyZCBpbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ4MworIzogYnVpbHRpbi9ub3Rlcy5jOjQ4NgogbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgogbXNnc3RyICJsw6RzIG9tc2tyaXZuaW5nc2luc3TDpGxsbmluZyBmw7ZyIDxrb21tYW5kbz4gKGltcGxpY2VyYXIgLS1zdGRpbikiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MDQKIG1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCiBtc2dzdHIgImbDtnIgZsOlIHBhcmFtZXRyYXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtODg5NSwxMiArOTk2NSwxMiBAQAogIkthbiBpbnRlIGtvcGllcmEgYW50ZWNrbmluZ2FyLiBIaXR0YWRlIGJlZmludGxpZ2EgYW50ZWNrbmluZ2FyIGbDtnIgb2JqZWt0ZXQgIgogIiVzLiBBbnbDpG5kIFwiLWZcIiBmw7ZyIGF0dCBza3JpdmEgw7Z2ZXIgYmVmaW50bGlnYSBhbnRlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiTWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCi1tc2dzdHIgIkFudGVja25pbmdhciBww6Uga8OkbGxvYmpla3RldCAlcyBzYWtuYXMuIEthbiBpbnRlIGtvcGllcmEuIgorbXNnaWQgIm1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90IGNvcHkuIgorbXNnc3RyICJhbnRlY2tuaW5nYXIgcMOlIGvDpGxsb2JqZWt0ZXQgJXMgc2FrbmFzLiBLYW4gaW50ZSBrb3BpZXJhLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU4NgorIzogYnVpbHRpbi9ub3Rlcy5jOjU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC1tLy1GLy1jLy1DIG9wdGlvbnMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZSAnZWRpdCcgc3ViY29tbWFuZC5cbiIKQEAgLTg5MDksMTUgKzk5NzksNTIgQEAKICJGbGFnZ29ybmEgLW0vLUYvLWMvLUMgcmVrb21tZW5kZXJhcyBpbnRlIGbDtnIgdW5kZXJrb21tYW5kb3QgXCJlZGl0XCIuXG4iCiAiQW52w6RuZCBcImdpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUNcIiBpc3TDpGxsZXQuXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODUKK21zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgorbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydCByZWZlcmVuc2VuIE5PVEVTX01FUkdFX1BBUlRJQUwiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODcKK21zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9SRUYiCittc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBib3J0IHJlZmVyZW5zZW4gTk9URVNfTUVSR0VfUkVGIgorCisjOiBidWlsdGluL25vdGVzLmM6Njg5Cittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnZ2l0IG5vdGVzIG1lcmdlJyB3b3JrdHJlZSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIHRhIGJvcnQgYXJiZXRza2F0YWxvZ2VuIGbDtnIgXCJnaXQgbm90ZXMgbWVyZ2VcIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcwOQorbXNnaWQgImZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbMOkc2EgcmVmZXJlbmNlcyBOT1RFU19NRVJHRV9QQVJUSUFMIgorCisjOiBidWlsdGluL25vdGVzLmM6NzExCittc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgImt1bmRlIGludGUgaGl0dGEgaW5jaGVja25pbmcgZnLDpW4gTk9URVNfTUVSR0VfUEFSVElBTC4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTMKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgImt1bmRlIGludGUgdG9sa2EgaW5jaGVja25pbmcgZnLDpW4gTk9URVNfTUVSR0VfUEFSVElBTC4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjYKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBOT1RFU19NRVJHRV9SRUYiCittc2dzdHIgIm1pc3NseWNrYWRlcyBiZXN0w6RtbWEgTk9URVNfTUVSR0VfUkVGIgorCisjOiBidWlsdGluL25vdGVzLmM6NzI5Cittc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplIG5vdGVzIG1lcmdlIgorbXNnc3RyICJtaXNzbHlja2FkZXMgZsOkcmRpZ3N0w6RsbGEgc2FtbWFuc2xhZ25pbmcgYXYgYW50ZWNrbmluZ2FyIgorCisjOiBidWlsdGluL25vdGVzLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbm90ZXMgbWVyZ2Ugc3RyYXRlZ3kgJXMiCittc2dzdHIgIm9rw6RuZCBzYW1tYW5zbGFnbmluZ3NzdHJhdGVnaSBmw7ZyIGFudGVja25pbmdhcjogJXMiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzEKIG1zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCiBtc2dzdHIgIkFsbG3DpG5uYSBmbGFnZ29yIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzcwCisjOiBidWlsdGluL25vdGVzLmM6NzczCiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiRmxhZ2dvciBmw7ZyIHNhbW1hbnNsYWduaW5nIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzcyCisjOiBidWlsdGluL25vdGVzLmM6Nzc1CiBtc2dpZCAiIgogInJlc29sdmUgbm90ZXMgY29uZmxpY3RzIHVzaW5nIHRoZSBnaXZlbiBzdHJhdGVneSAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uLyIKICJjYXRfc29ydF91bmlxKSIKQEAgLTg5MjUsMjM2ICsxMDAzMiwyNzMgQEAKICJsw6RzIGtvbmZsaWt0ZXIgaSBhbnRlY2tuaW5nYXIgbWVkIGFuZ2l2ZW4gc3RyYXRlZ2kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCiAiY2F0X3NvcnRfdW5pcSkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzcKIG1zZ2lkICJDb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICJDaGVja2FyIGluIGVqIHNhbW1hbnNsYWduYSBhbnRlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzkKIG1zZ2lkICJmaW5hbGl6ZSBub3RlcyBtZXJnZSBieSBjb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICIiCiAiZsOkcmRpZ3N0w6RsbCBzYW1tYW5zbGFnbmluZyBhdiBhbnRlY2tuaW5nYXIgZ2Vub20gYXR0IGNoZWNrYSBpbiBlaiAiCiAic2FtbWFuc2xhZ25hIGFudGVja25pbmdhciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3OAorIzogYnVpbHRpbi9ub3Rlcy5jOjc4MQogbXNnaWQgIkFib3J0aW5nIG5vdGVzIG1lcmdlIHJlc29sdXRpb24iCiBtc2dzdHIgIkF2YnJ5dCBsw7ZzbmluZyBhdiBzYW1tYW5zbGFnbmluZyBhdiBhbnRlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKIG1zZ3N0ciAiYXZicnl0IHNhbW1hbnNsYWduaW5nIGF2IGFudGVja25pbmdhciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg1NwotIywgYy1mb3JtYXQKLW1zZ2lkICJBIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKLW1zZ3N0ciAiU2FtbWFuc2xhZ25pbmcgYXYgYW50ZWNrbmluZ2FyIHRpbGwgJXMgw6RyIHJlZGFuIGlnw6VuZ3NhdHQgcMOlICVzIgorIzogYnVpbHRpbi9ub3Rlcy5jOjc5NAorbXNnaWQgImNhbm5vdCBtaXggLS1jb21taXQsIC0tYWJvcnQgb3IgLXMvLS1zdHJhdGVneSIKK21zZ3N0ciAia2FuIGludGUgYmxhbmRhIC0tY29tbWl0LCAtLWFib3J0IGVsbGVyIC1zLy0tc3RyYXRlZ3kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTkKK21zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCittc2dzdHIgIm3DpXN0ZSBhbmdlIGVuIGFudGVja25pbmdzLXJlZmVyZW5zIGF0dCBzbMOlIGlob3AiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biAtcy8tLXN0cmF0ZWd5OiAlcyIKK21zZ3N0ciAib2vDpG5kIC1zLy0tc3RyYXRlZ3k6ICVzIgorCisjOiBidWlsdGluL25vdGVzLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgImEgbm90ZXMgbWVyZ2UgaW50byAlcyBpcyBhbHJlYWR5IGluLXByb2dyZXNzIGF0ICVzIgorbXNnc3RyICJzYW1tYW5zbGFnbmluZyBhdiBhbnRlY2tuaW5nYXIgdGlsbCAlcyDDpHIgcmVkYW4gaWfDpW5nc2F0dCBww6UgJXMiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHN0b3JlIGxpbmsgdG8gY3VycmVudCBub3RlcyByZWYgKCVzKSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIGxhZ3JhIGzDpG5rIHRpbGwgYWt0dWVsbCBhbnRlY2tuaW5nc3JlZmVyZW5zICglcykiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkF1dG9tYXRpYyBub3RlcyBtZXJnZSBmYWlsZWQuIEZpeCBjb25mbGljdHMgaW4gJXMgYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggIgorIidnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnLCBvciBhYm9ydCB0aGUgbWVyZ2Ugd2l0aCAnZ2l0IG5vdGVzIG1lcmdlIC0tIgorImFib3J0Jy5cbiIKK21zZ3N0ciAiIgorIkF1dG9tYXRpc2sgc2FtbWFuc2xhZ25pbmcgYXYgYW50ZWNrbmluZ2FyIG1pc3NseWNrYWRlcy4gUsOkdHRhIGtvbmZsaWt0ZXIgaSAiCisiJXMgb2NoIGNoZWNrYSBpbiByZXN1bHRhdGV0IG1lZCBcImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdFwiLCBlbGxlciBhdmJyeXQgIgorInNhbW1hbnNsYWduaW5nZW4gbWVkIFwiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnRcIi5cbiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKIG1zZ3N0ciAiT2JqZWt0ZXQgJXMgaGFyIGluZ2VuIGFudGVja25pbmdcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5NgorIzogYnVpbHRpbi9ub3Rlcy5jOjg5OQogbXNnaWQgImF0dGVtcHQgdG8gcmVtb3ZlIG5vbi1leGlzdGVudCBub3RlIGlzIG5vdCBhbiBlcnJvciIKIG1zZ3N0ciAiZsO2cnPDtmsgYXR0IHRhIGJvcnQgaWNrZS1leGlzdGVyYW5kZSBhbnRlY2tuaW5nYXIgw6RyIGludGUgZXR0IGZlbCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjkwMgogbXNnaWQgInJlYWQgb2JqZWN0IG5hbWVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJsw6RzIG9iamVrdG5hbW4gZnLDpW4gc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NDAgYnVpbHRpbi9wcnVuZS5jOjEwNSBidWlsdGluL3dvcmt0cmVlLmM6MTI3Cittc2dpZCAiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IgorbXNnc3RyICJ0YSBpbnRlIGJvcnQsIGJhcmEgdmlzYSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjk0MQorbXNnaWQgInJlcG9ydCBwcnVuZWQgbm90ZXMiCittc2dzdHIgInJhcHBvcnRlcmEgYm9ydHRhZ25hIGFudGVja25pbmdhciIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjk4MwogbXNnaWQgIm5vdGVzLXJlZiIKIG1zZ3N0ciAiYW50ZWNrbmluZ2FyLXJlZiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk4MQorIzogYnVpbHRpbi9ub3Rlcy5jOjk4NAogbXNnaWQgInVzZSBub3RlcyBmcm9tIDxub3Rlcy1yZWY+IgogbXNnc3RyICJhbnbDpG5kIGFudGVja25pbmdhciBmcsOlbiA8YW50ZWNrbmluZ3NyZWY+IgogCi0jOiBidWlsdGluL25vdGVzLmM6MTAxNiBidWlsdGluL3JlbW90ZS5jOjE2MjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDE5CiAjLCBjLWZvcm1hdAotbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCi1tc2dzdHIgIk9rw6RudCB1bmRlcmtvbW1hbmRvOiAlcyIKK21zZ2lkICJ1bmtub3duIHN1YmNvbW1hbmQ6ICVzIgorbXNnc3RyICJva8OkbnQgdW5kZXJrb21tYW5kbzogJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPG9wdGlvbnM+Li4uXSBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzxmbGFnZ29yPi4uLl0gWzwgPHJlZmxpc3RhPiB8IDwgPG9iamVrdGxpc3RhPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPG9wdGlvbnM+Li4uXSA8YmFzZS1uYW1lPiBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxmbGFnZ29yPi4uLl0gPGJhc25hbW4+IFs8IDxyZWZsaXN0YT4gfCA8IDxvYmpla3RsaXN0YT5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3NSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICJmZWwgaSBkZWZsYXRlICglZCkiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzYzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc2OAogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgcGFja3MgYXJlIHNwbGl0IGR1ZSB0byBwYWNrLnBhY2tTaXplTGltaXQiCiBtc2dzdHIgIiIKICJpbmFrdGl2ZXJhciBza3Jpdm5pbmcgYXYgYml0a2FydGEsIHBha2V0IGRlbGFzIHDDpSBncnVuZCBhdiBwYWNrLnBhY2tTaXplTGltaXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzc2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc4MQogbXNnaWQgIldyaXRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiU2tyaXZlciBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTAxNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMDcwCiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBhcyBzb21lIG9iamVjdHMgYXJlIG5vdCBiZWluZyBwYWNrZWQiCiBtc2dzdHIgImluYWt0aXZlcmFyIHNrcml2bmluZyBhdiBiaXRrYXJ0YSBkw6UgbsOlZ3JhIG9iamVrdCBpbnRlIHBhY2thcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTc3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzNDYKIG1zZ2lkICJDb21wcmVzc2luZyBvYmplY3RzIgogbXNnc3RyICJLb21wcmltZXJhciBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgImluZGV4dmVyc2lvbmVuICVzIHN0w7ZkcyBlaiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTY3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAiZmVsYWt0aWcgaW5kZXh2ZXJzaW9uIFwiJXNcIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTk3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTMKIG1zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAidmlzYSBpbnRlIGbDtnJsb3Bwc2luZGlrYXRvciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTk5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTUKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICJ2aXNhIGbDtnJsb3Bwc2luZGlrYXRvciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTcKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKIG1zZ3N0ciAidmlzYSBmw7ZybG9wcHNpbmRpa2F0b3IgdW5kZXIgb2JqZWt0c2tyaXZuaW5nc2Zhc2VuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMAogbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKIG1zZ3N0ciAic29tIC0tYWxsLXByb2dyZXNzIG7DpHIgZsO2cmxvcHBzaW5kaWthdG9ybiB2aXNhcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjA1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDEKIG1zZ2lkICJ2ZXJzaW9uWyxvZmZzZXRdIgogbXNnc3RyICJ2ZXJzaW9uWyxvZmZzZXRdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMgogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgInNrcml2IHBha2V0aW5kZXhmaWxlbiBpIGFuZ2l2ZW4gaW5kZXhmb3JtYXR2ZXJzaW9uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNQogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCiBtc2dzdHIgIm1heGltYWwgc3RvcmxlayBww6UgdmFyamUgdXRkYXRhcGFrZXRmaWwiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA3CiBtc2dpZCAiaWdub3JlIGJvcnJvd2VkIG9iamVjdHMgZnJvbSBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIgogbXNnc3RyICJpZ25vcmVyYSBsw6VuYWRlIG9iamVrdCBmcsOlbiBhbHRlcm5hdGl2YSBvYmpla3RsYWdlciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDkKIG1zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCiBtc2dzdHIgImlnbm9yZXJhIHBhY2thZGUgb2JqZWt0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxMQogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG9iamVjdHMiCiBtc2dzdHIgImJlZ3LDpG5zYSBwYWtldGbDtm5zdGVyIGVmdGVyIG9iamVrdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjE3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTMKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBtZW1vcnkgaW4gYWRkaXRpb24gdG8gb2JqZWN0IGxpbWl0IgogbXNnc3RyICJiZWdyw6Ruc2EgcGFrZXRmw7Zuc3RlciBlZnRlciBtaW5uZSBmw7ZydXRvbSBvYmpla3RncsOkbnMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODE1CiBtc2dpZCAibWF4aW11bSBsZW5ndGggb2YgZGVsdGEgY2hhaW4gYWxsb3dlZCBpbiB0aGUgcmVzdWx0aW5nIHBhY2siCiBtc2dzdHIgIm1heGltYWwgbMOkbmdkIHDDpSBkZWx0YWtlZGphIHRpbGzDpXRlbiBpIHNsdXRsaWd0IHBha2V0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNwogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKIG1zZ3N0ciAiw6V0ZXJhbnbDpG5kIGJlZmludGxpZ2EgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODE5CiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiw6V0ZXJhbnbDpG5kIGJlZmludGxpZ2Egb2JqZWt0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyMQogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKIG1zZ3N0ciAiYW52w6RuZCBPRlNfREVMVEEtb2JqZWt0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyMwogbXNnaWQgInVzZSB0aHJlYWRzIHdoZW4gc2VhcmNoaW5nIGZvciBiZXN0IGRlbHRhIG1hdGNoZXMiCiBtc2dzdHIgImFudsOkbmQgdHLDpWRhciB2aWQgc8O2a25pbmcgZWZ0ZXIgYsOkc3RhIGRlbHRhdHLDpGZmYXIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI1CiBtc2dpZCAiZG8gbm90IGNyZWF0ZSBhbiBlbXB0eSBwYWNrIG91dHB1dCIKIG1zZ3N0ciAiZsO2cnPDtmsgaW50ZSBza2FwYSB0b20gcGFrZXR1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI3CiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibMOkcyByZXZpc2lvbnNhcmd1bWVudCBmcsOlbiBzdGFuZGFyZCBpbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjMzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjkKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKIG1zZ3N0ciAiYmVncsOkbnNhIG9iamVrdCB0aWxsIGRlIHNvbSDDpG5udSBpbnRlIHBhY2thdHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzNgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODMyCiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIGFueSByZWZlcmVuY2UiCiBtc2dzdHIgImlua2x1ZGVyYSBvYmpla3Qgc29tIGthbiBuw6VzIGZyw6VuIG7DpWdvbiByZWZlcmVucyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjM5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzUKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCiBtc2dzdHIgImlua2x1ZGVyYSBvYmpla3Qgc29tIHJlZmVyZXJhcyBmcsOlbiByZWZlcmVuc2xvZ2dwb3N0ZXIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM4CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIHRvIGJ5IHRoZSBpbmRleCIKIG1zZ3N0ciAiaW5rbHVkZXJhIG9iamVrdCBzb20gcmVmZXJlcmFzIGZyw6VuIGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQxCiBtc2dpZCAib3V0cHV0IHBhY2sgdG8gc3Rkb3V0IgogbXNnc3RyICJza3JpdiBwYWtldCBww6Ugc3RhbmRhcmQgdXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQzCiBtc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgogbXNnc3RyICJpbmtsdWRlcmEgdGFnZ29iamVrdCBzb20gcmVmZXJlcmFyIG9iamVrdCBzb20gc2thbGwgcGFja2FzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NQogbXNnaWQgImtlZXAgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiYmVow6VsbCBvbsOlYmFyYSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1MCBwYXJzZS1vcHRpb25zLmg6MTQyCi1tc2dpZCAidGltZSIKLW1zZ3N0ciAidGlkIgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ3Cittc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICJwYWNrYSBsw7ZzYSBvbsOlYmFyYSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ5CiBtc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgInBhY2thIHVwcCBvbsOlYmFyYSBvYmpla3QgbnlhcmUgw6RuIDx0aWQ+IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1MgogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICJza2FwYSB0dW5uYSBwYWtldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTQKIG1zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKIG1zZ3N0ciAic2thcGEgcGFja2ZpbGVyIGzDpG1wYWRlIGbDtnIgZ3J1bmRhIGjDpG10bmluZ2FyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1NgogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCiBtc2dzdHIgImlnbm9yZXJhIHBha2V0IHNvbSBoYXIgdGlsbGjDtnJhbmRlIC5rZWVwLWZpbCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjYwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTgKIG1zZ2lkICJwYWNrIGNvbXByZXNzaW9uIGxldmVsIgogbXNnc3RyICJrb21wcmltZXJpbmdzZ3JhZCBmw7ZyIHBha2V0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2MAogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICJnw7ZtIGludGUgaW5jaGVja25pbmdhciBtZWQgeW1wbmluZ2FyIChcImdyYWZ0c1wiKSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjY0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NjIKIG1zZ2lkICJ1c2UgYSBiaXRtYXAgaW5kZXggaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIGNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgImFudsOkbmQgYml0a2FydGluZGV4IG9tIHRpbGxnw6RuZ2xpZ3QgZsO2ciBhdHQgcsOka25hIG9iamVrdCBzbmFiYmFyZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjY2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NjQKIG1zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCB0b2dldGhlciB3aXRoIHRoZSBwYWNrIGluZGV4IgogbXNnc3RyICJhbnbDpG5kIGJpdGthcnRpbmRleCB0aWxsc2FtbWFucyBtZWQgcGFja2luZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc1NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTkzCiBtc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiUsOka25hciBvYmpla3QiCiAKQEAgLTkxODIsMTUgKzEwMzI2LDExIEBACiBtc2dpZCAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1leHBpcmUgPHRpbWU+XSBbLS1dIFs8aGVhZD4uLi5dIgogbXNnc3RyICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLWV4cGlyZSA8dGlkPl0gWy0tXSBbPGh1dnVkPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyNQotbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKLW1zZ3N0ciAidGEgaW50ZSBib3J0LCBiYXJhIHZpc2EiCi0KLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDYgYnVpbHRpbi93b3JrdHJlZS5jOjEyNgorIzogYnVpbHRpbi9wcnVuZS5jOjEwNiBidWlsdGluL3dvcmt0cmVlLmM6MTI4CiBtc2dpZCAicmVwb3J0IHBydW5lZCBvYmplY3RzIgogbXNnc3RyICJyYXBwb3J0ZXJhIGJvcnR0YWduYSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkgYnVpbHRpbi93b3JrdHJlZS5jOjEyOAorIzogYnVpbHRpbi9wcnVuZS5jOjEwOSBidWlsdGluL3dvcmt0cmVlLmM6MTMwCiBtc2dpZCAiZXhwaXJlIG9iamVjdHMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgImzDpXQgdGlkIGfDpSB1dCBmw7ZyIG9iamVrdCDDpGxkcmUgw6RuIDx0aWQ+IgogCkBAIC05MTk4LDU3ICsxMDMzOCw0NSBAQAogbXNnaWQgImNhbm5vdCBwcnVuZSBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAia2FuIGludGUgcmVuc2EgaSBldHQgXCJwcmVjaW91cy1vYmpla3RcIi1hcmtpdiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NzIKKyM6IGJ1aWx0aW4vcHVsbC5jOjUxIGJ1aWx0aW4vcHVsbC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKK21zZ3N0ciAiRmVsYWt0aWd0IHbDpHJkZSBmw7ZyICVzOiAlcyIKKworIzogYnVpbHRpbi9wdWxsLmM6NzMKIG1zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1bGwgWzxmbGFnZ29yPl0gWzxhcmtpdj4gWzxyZWZzcGVjPi4uLl1dIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMjAKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyMQogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBtZXJnaW5nIgogbXNnc3RyICJBbHRlcm5hdGl2IGfDpGxsYW5kZSBzYW1tYW5zbGFnbmluZyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTIzCisjOiBidWlsdGluL3B1bGwuYzoxMjQKIG1zZ2lkICJpbmNvcnBvcmF0ZSBjaGFuZ2VzIGJ5IHJlYmFzaW5nIHJhdGhlciB0aGFuIG1lcmdpbmciCiBtc2dzdHIgImlubGVtbWEgw6RuZHJpbmdhciBnZW5vbSBvbWJhc2VyaW5nIGkgc3TDpGxsZXQgZsO2ciBzYW1tYW5zbGFnbmluZyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTQ3IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CisjOiBidWlsdGluL3B1bGwuYzoxNDggYnVpbHRpbi9yZXZlcnQuYzoxMDEKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQiCiBtc2dzdHIgInRpbGzDpXQgc25hYmJzcG9sbmluZyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTUzCi1tc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgotbXNnc3RyICJiZWtyw6RmdGEgYXR0IGRlbiBuYW1uZ2l2bmEgaW5jaGVja25pbmdlbiBoYXIgZW4gZ2lsdGlnIEdQRy1zaWduYXR1ciIKLQotIzogYnVpbHRpbi9wdWxsLmM6MTU2CisjOiBidWlsdGluL3B1bGwuYzoxNTcKIG1zZ2lkICJhdXRvbWF0aWNhbGx5IHN0YXNoL3N0YXNoIHBvcCBiZWZvcmUgYW5kIGFmdGVyIHJlYmFzZSIKIG1zZ3N0ciAidXRmw7ZyIGF1dG9tYXRpc2t0IHN0YXNoL3N0YXNoIHBvcCBmw7ZyZSBvY2ggZWZ0ZXIgb21iYXNlcmluZyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTcyCisjOiBidWlsdGluL3B1bGwuYzoxNzMKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gZmV0Y2hpbmciCiBtc2dzdHIgIkFsdGVybmF0aXYgZ8OkbGxhbmRlIGjDpG10bmluZ2FyIgogCi0jOiBidWlsdGluL3B1bGwuYzoxOTQKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5NQogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIHB1bGxlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAiYW50YWwgdW5kZXJtb2R1bGVyIHNvbSBow6RtdGFzIHBhcmFsbGVsbHQiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjI4MworIzogYnVpbHRpbi9wdWxsLmM6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIHB1bGwuZmY6ICVzIgogbXNnc3RyICJGZWxha3RpZ3QgdsOkcmRlIGbDtnIgcHVsbC5mZjogJXMiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjM3OQotbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKLW1zZ3N0ciAiS2FuIGludGUgaMOkbXRhIG1lZCBvbWJhc2VyaW5nOiBEdSBoYXIgb2vDtmFkZSDDpG5kcmluZ2FyLiIKLQotIzogYnVpbHRpbi9wdWxsLmM6Mzg1Ci1tc2dpZCAiQWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgotbXNnc3RyICJEZXNzdXRvbSBpbm5laMOlbGxlciBkaXQgaW5kZXggw6RuZHJpbmdhciBzb20gaW50ZSBoYXIgY2hlY2thdHMgaW4uIgotCi0jOiBidWlsdGluL3B1bGwuYzozODcKLW1zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKLW1zZ3N0ciAiIgotIkthbiBpbnRlIGjDpG10YSBtZWQgb21iYXNlcmluZzogRGl0dCBpbmRleCBpbm5laMOlbGxlciBvaW5jaGVja2FkZSDDpG5kcmluZ2FyLiIKLQotIzogYnVpbHRpbi9wdWxsLmM6NDYzCisjOiBidWlsdGluL3B1bGwuYzozOTcKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm8gY2FuZGlkYXRlIGZvciByZWJhc2luZyBhZ2FpbnN0IGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgIgogImZldGNoZWQuIgpAQCAtOTI1NiwxNCArMTAzODQsMTQgQEAKICJEZXQgZmlubnMgaW5nZW4ga2FuZGlkYXQgZsO2ciBvbWJhc2VyaW5nIGJsYW5kIHJlZmVyZW5zZXJuYSBkdSBwcmVjaXMgaGFyICIKICJow6RtdGF0LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDY1CisjOiBidWlsdGluL3B1bGwuYzozOTkKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIG5vIGNhbmRpZGF0ZXMgZm9yIG1lcmdpbmcgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCBmZXRjaGVkLiIKIG1zZ3N0ciAiIgogIkRldCBmaW5ucyBpbmdlbiBrYW5kaWRhdCBmw7ZyIHNhbW1hbnNsYWduaW5nIGJsYW5kIHJlZmVyZW5zZXJuYSBkdSBwcmVjaXMgaGFyICIKICJow6RtdGF0LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDY2CisjOiBidWlsdGluL3B1bGwuYzo0MDAKIG1zZ2lkICIiCiAiR2VuZXJhbGx5IHRoaXMgbWVhbnMgdGhhdCB5b3UgcHJvdmlkZWQgYSB3aWxkY2FyZCByZWZzcGVjIHdoaWNoIGhhZCBub1xuIgogIm1hdGNoZXMgb24gdGhlIHJlbW90ZSBlbmQuIgpAQCAtOTI3MSw3ICsxMDM5OSw3IEBACiAiRGV0IGJldHlkZXIgdmFubGlndHZpcyBhdHQgZHUgYW52w6RudCBlbiBqb2tlcnRlY2tlbi1yZWZzcGVjIHNvbSBpbnRlXG4iCiAibW90c3ZhcmFkZSBuw6Vnb3QgaSBmasOkcnLDpG5kZW4uIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NjkKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIHB1bGwgZnJvbSB0aGUgcmVtb3RlICclcycsIGJ1dCBkaWQgbm90IHNwZWNpZnlcbiIKQEAgLTkyODIsNDIgKzEwNDEwLDQyIEBACiAiZ3Jlbi4gRWZ0ZXJzb20gZGV0IGludGUgw6RyIGRlbiBmasOkcnIgc29tIMOkciBrb25maWd1cmVyYWQgc29tXG4iCiAic3RhbmRhcmQgZsO2ciBha3R1ZWxsIGdyZW4gbcOlc3RlIGR1IGFuZ2UgZW4gZ3JlbiBww6Uga29tbWFuZG9yYWRlbi4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3NCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCisjOiBidWlsdGluL3B1bGwuYzo0MDggZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MwogbXNnaWQgIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC4iCiBtc2dzdHIgIkR1IMOkciBpbnRlIHDDpSBuw6Vnb24gZ3JlbiBmw7ZyIG7DpHJ2YXJhbmRlLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDc2IGJ1aWx0aW4vcHVsbC5jOjQ5MSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CisjOiBidWlsdGluL3B1bGwuYzo0MTAgYnVpbHRpbi9wdWxsLmM6NDI1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuIgogbXNnc3RyICJBbmdlIHZpbGtlbiBncmVuIGR1IHZpbGwgb21iYXNlcmEgbW90LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDc4IGJ1aWx0aW4vcHVsbC5jOjQ5MyBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCisjOiBidWlsdGluL3B1bGwuYzo0MTIgYnVpbHRpbi9wdWxsLmM6NDI3IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gbWVyZ2Ugd2l0aC4iCiBtc2dzdHIgIkFuZ2Ugdmlsa2VuIGdyZW4gZHUgdmlsbCBzbMOlIHNhbW1hbiBtZWQuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NzkgYnVpbHRpbi9wdWxsLmM6NDk0CisjOiBidWlsdGluL3B1bGwuYzo0MTMgYnVpbHRpbi9wdWxsLmM6NDI4CiBtc2dpZCAiU2VlIGdpdC1wdWxsKDEpIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiU2UgZ2l0LXB1bGwoMSkgZsO2ciBkZXRhbGplci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ4MSBidWlsdGluL3B1bGwuYzo0ODcgYnVpbHRpbi9wdWxsLmM6NDk2CisjOiBidWlsdGluL3B1bGwuYzo0MTUgYnVpbHRpbi9wdWxsLmM6NDIxIGJ1aWx0aW4vcHVsbC5jOjQzMAogIzogZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NAogbXNnaWQgIjxyZW1vdGU+IgogbXNnc3RyICI8ZmrDpHJyPiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDgxIGJ1aWx0aW4vcHVsbC5jOjQ5NiBidWlsdGluL3B1bGwuYzo1MDEKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNSBidWlsdGluL3B1bGwuYzo0MzAgYnVpbHRpbi9wdWxsLmM6NDM1IGdpdC1yZWJhc2Uuc2g6NDUxCiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIjxncmVuPiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDg5IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQyMyBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CiBtc2dpZCAiVGhlcmUgaXMgbm8gdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIkRldCBmaW5ucyBpbmdlbiBzcMOlcm5pbmdzaW5mb3JtYXRpb24gZsO2ciBha3R1ZWxsIGdyZW4uIgogCi0jOiBidWlsdGluL3B1bGwuYzo0OTggZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQorIzogYnVpbHRpbi9wdWxsLmM6NDMyIGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKIG1zZ2lkICIiCiAiSWYgeW91IHdpc2ggdG8gc2V0IHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGJyYW5jaCB5b3UgY2FuIGRvIHNvIHdpdGg6IgogbXNnc3RyICJPbSBkdSB2aWxsIGFuZ2Ugc3DDpXJuaW5nc2luZm9ybWF0aW9uIGbDtnIgZ3JlbmVuIGthbiBkdSBnw7ZyYSBkZXQgbWVkOiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NTAzCisjOiBidWlsdGluL3B1bGwuYzo0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgY29uZmlndXJhdGlvbiBzcGVjaWZpZXMgdG8gbWVyZ2Ugd2l0aCB0aGUgcmVmICclcydcbiIKQEAgLTkzMjYsMTUgKzEwNDU0LDI3IEBACiAiRGluYSBpbnN0w6RsbG5pbmdhciBhbmdlciBzYW1tYW5zbGFnbmluZyBtZWQgcmVmZXJlbnNlbiBcIiVzXCJcbiIKICJmcsOlbiBmasOkcnJlbiwgbWVuIG7DpWdvbiBzw6VkYW4gcmVmZXJlbnMgdG9ncyBpbnRlIGVtb3QuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NjQKKyM6IGJ1aWx0aW4vcHVsbC5jOjc1NAorbXNnaWQgImlnbm9yaW5nIC0tdmVyaWZ5LXNpZ25hdHVyZXMgZm9yIHJlYmFzZSIKK21zZ3N0ciAiaWdub3JlcmEgLS12ZXJpZnktc2lnbmF0dXJlcyBmw7ZyIG9tYmFzZXJpbmciCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjgwMQogbXNnaWQgIi0tW25vLV1hdXRvc3Rhc2ggb3B0aW9uIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXJlYmFzZS4iCiBtc2dzdHIgIi0tW25vLV1hdXRvc3Rhc2ggw6RyIGVuZGFzdCBnaWx0aWcgbWVkIC0tcmViYXNlLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODcyCisjOiBidWlsdGluL3B1bGwuYzo4MDkKIG1zZ2lkICJVcGRhdGluZyBhbiB1bmJvcm4gYnJhbmNoIHdpdGggY2hhbmdlcyBhZGRlZCB0byB0aGUgaW5kZXguIgogbXNnc3RyICJVcHBkYXRlcmFyIGVuIG9mw7ZkZCBncmVuIG1lZCDDpG5kcmluZ2FyIHNvbSBsYWd0cyB0aWxsIGkgaW5kZXhldC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwMAorIzogYnVpbHRpbi9wdWxsLmM6ODEyCittc2dpZCAicHVsbCB3aXRoIHJlYmFzZSIKK21zZ3N0ciAicHVsbCBtZWQgb21iYXNlcmluZyIKKworIzogYnVpbHRpbi9wdWxsLmM6ODEzCittc2dpZCAicGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKK21zZ3N0ciAiY2hlY2thIGluIGVsbGVyIGFudsOkbmQgXCJzdGFzaFwiIHDDpSBkZW0uIgorCisjOiBidWlsdGluL3B1bGwuYzo4MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC05MzQ1LDcgKzEwNDg1LDcgQEAKICJzbmFiYnNwb2xhciBkaW4gYXJiZXRza2F0YWxvZyBmcsOlblxuIgogImluY2hlY2tuaW5nZW4gJXMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MDUKKyM6IGJ1aWx0aW4vcHVsbC5jOjg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTkzNjIsMTEgKzEwNTAyLDExIEBACiAiJCBnaXQgcmVzZXQgLS1oYXJkXG4iCiAiZsO2ciBhdHQgw6V0ZXJnw6UuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MjAKKyM6IGJ1aWx0aW4vcHVsbC5jOjg1OAogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQuIgogbXNnc3RyICJLYW4gaW50ZSBzbMOlIGlob3AgZmxlcmEgZ3JlbmFyIGkgZXR0IHRvbXQgaHV2dWQuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MjQKKyM6IGJ1aWx0aW4vcHVsbC5jOjg2MgogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcy4iCiBtc2dzdHIgIkthbiBpbnRlIG9tYmFzZXJhIG92YW5ww6UgZmxlcmEgZ3JlbmFyLiIKIApAQCAtOTUzMCwxMiArMTA2NzAsMTIgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHPDpG5kYSB2aXNzYSByZWZlcmVuc2VyIHRpbGwgXCIlc1wiIgogCi0jOiBidWlsdGluL3B1c2guYzozNjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICJmZWxha3RpZ3QgYXJraXYgXCIlc1wiIgogCi0jOiBidWlsdGluL3B1c2guYzozNjYKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NwogbXNnaWQgIiIKICJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCiAiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlICIKQEAgLTk1NTYsMTAzICsxMDY5NiwxMTcgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggPG5hbW4+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4MQorIzogYnVpbHRpbi9wdXNoLmM6Mzg1CiBtc2dpZCAiLS1hbGwgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCBvY2ggLS10YWdzIMOkciBpbmtvbXBhdGlibGEiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4MgorIzogYnVpbHRpbi9wdXNoLmM6Mzg2CiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1hbGwga2FuIGludGUga29tYmluZXJhcyBtZWQgcmVmZXJlbnNzcGVjaWZpa2F0aW9uZXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4NworIzogYnVpbHRpbi9wdXNoLmM6MzkxCiBtc2dpZCAiLS1taXJyb3IgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLW1pcnJvciBvY2ggLS10YWdzIMOkciBpbmtvbXBhdGlibGEiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4OAorIzogYnVpbHRpbi9wdXNoLmM6MzkyCiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1taXJyb3Iga2FuIGludGUga29tYmluZXJhcyBtZWQgcmVmZXJlbnNzcGVjaWZpa2F0aW9uZXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5MworIzogYnVpbHRpbi9wdXNoLmM6Mzk3CiBtc2dpZCAiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tYWxsIG9jaCAtLW1pcnJvciDDpHIgaW5rb21wYXRpYmxhIgogCi0jOiBidWlsdGluL3B1c2guYzo1MDUKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNQogbXNnaWQgInJlcG9zaXRvcnkiCiBtc2dzdHIgImFya2l2IgogCi0jOiBidWlsdGluL3B1c2guYzo1MDYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNiBidWlsdGluL3NlbmQtcGFjay5jOjE2MQogbXNnaWQgInB1c2ggYWxsIHJlZnMiCiBtc2dzdHIgInPDpG5kIGFsbGEgcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA3IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCisjOiBidWlsdGluL3B1c2guYzo1MTcgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjMKIG1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCiBtc2dzdHIgInNwZWdsYSBhbGxhIHJlZmVyZW5zZXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUwOQorIzogYnVpbHRpbi9wdXNoLmM6NTE5CiBtc2dpZCAiZGVsZXRlIHJlZnMiCiBtc2dzdHIgInRhIGJvcnQgcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTEwCisjOiBidWlsdGluL3B1c2guYzo1MjAKIG1zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCiBtc2dzdHIgInPDpG5kIHRhZ2dhciAoa2FuIGludGUgYW52w6RuZGFzIG1lZCAtLWFsbCBlbGxlciAtLW1pcnJvcikiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxMyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorIzogYnVpbHRpbi9wdXNoLmM6NTIzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CiBtc2dpZCAiZm9yY2UgdXBkYXRlcyIKIG1zZ3N0ciAidHZpbmdhIHVwcGRhdGVyaW5nYXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxNSBidWlsdGluL3NlbmQtcGFjay5jOjE3NQorIzogYnVpbHRpbi9wdXNoLmM6NTI1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CiBtc2dpZCAicmVmbmFtZT46PGV4cGVjdCIKIG1zZ3N0ciAicmVmbmFtbj46PGbDtnJ2w6RudGEiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxNiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgorIzogYnVpbHRpbi9wdXNoLmM6NTI2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CiBtc2dpZCAicmVxdWlyZSBvbGQgdmFsdWUgb2YgcmVmIHRvIGJlIGF0IHRoaXMgdmFsdWUiCiBtc2dzdHIgImtyw6R2IGF0dCByZWY6cyB0aWRpZ2FyZSB2w6RyZGUgw6RyIGRldHRhIgogCi0jOiBidWlsdGluL3B1c2guYzo1MTkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyOQogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAic3R5ciByZWt1cnNpdiBpbnPDpG5kbmluZyBhdiB1bmRlcm1vZHVsZXIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyMSBidWlsdGluL3NlbmQtcGFjay5jOjE2OQorIzogYnVpbHRpbi9wdXNoLmM6NTMxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5CiBtc2dpZCAidXNlIHRoaW4gcGFjayIKIG1zZ3N0ciAiYW52w6RuZCB0dW5uYSBwYWtldCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIyIGJ1aWx0aW4vcHVzaC5jOjUyMyBidWlsdGluL3NlbmQtcGFjay5jOjE1OAorIzogYnVpbHRpbi9wdXNoLmM6NTMyIGJ1aWx0aW4vcHVzaC5jOjUzMyBidWlsdGluL3NlbmQtcGFjay5jOjE1OAogIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNTkKIG1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKIG1zZ3N0ciAicHJvZ3JhbSBmw7ZyIGF0dCB0YSBlbW90IHBha2V0IgogCi0jOiBidWlsdGluL3B1c2guYzo1MjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNAogbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgogbXNnc3RyICJzdMOkbGwgaW4gdXBwc3Ryw7ZtIGbDtnIgZ2l0IHB1bGwvc3RhdHVzIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjcKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNwogbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgogbXNnc3RyICJ0YSBib3J0IGxva2FsdCBib3J0dGFnbmEgcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI5CisjOiBidWlsdGluL3B1c2guYzo1MzkKIG1zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKIG1zZ3N0ciAiZsO2cmJpZ8OlIHByZS1wdXNoLWtyb2siCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzMAorIzogYnVpbHRpbi9wdXNoLmM6NTQwCiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgogbXNnc3RyICJzw6RuZCBpbiBzYWtuYWRlIG1lbiByZWxldmFudGEgdGFnZ2FyIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NgogbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgogbXNnc3RyICJHUEctc2lnbmVyYSBpbnPDpG5kbmluZ2VuIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NSBidWlsdGluL3NlbmQtcGFjay5jOjE3MAogbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgogbXNnc3RyICJiZWfDpHIgYXRvbWlza2EgdHJhbnNha3Rpb25lciBww6UgZmrDpHJyc2lkYW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAic2VydmVyLXNwZWNpZmljIgorbXNnc3RyICJzZXJ2ZXJzcGVjaWZpayIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAib3B0aW9uIHRvIHRyYW5zbWl0IgorbXNnc3RyICIiCisiaW5nZXQgYXR0IGNoZWNrYSBpblxuIgorImZsYWdnYSBhdHQgc8OkbmRhIgorCisjOiBidWlsdGluL3B1c2guYzo1NjAKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKIG1zZ3N0ciAiLS1kZWxldGUgw6RyIGlua29tcGF0aWJlbCBtZWQgLS1hbGwsIC0tbWlycm9yIG9jaCAtLXRhZ3MiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MQorIzogYnVpbHRpbi9wdXNoLmM6NTYyCiBtc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCiBtc2dzdHIgIi0tZGVsZXRlIGthbiBpbnRlIGFudsOkbmRhcyB1dGFuIHJlZmVyZW5zZXIiCiAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3OQorbXNnaWQgInB1c2ggb3B0aW9ucyBtdXN0IG5vdCBoYXZlIG5ldyBsaW5lIGNoYXJhY3RlcnMiCittc2dzdHIgInB1c2gtZmxhZ2dvciBrYW4gaW50ZSBpbm5laMOlbGxhIHJhZGJyeXRuaW5nIgorCiAjOiBidWlsdGluL3JlYWQtdHJlZS5jOjM3CiBtc2dpZCAiIgogImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4PikgIgpAQCAtOTcyNywxNSArMTA4ODEsNjYgQEAKIG1zZ2lkICJkZWJ1ZyB1bnBhY2stdHJlZXMiCiBtc2dzdHIgImZlbHPDtmsgdW5wYWNrLXRyZWVzIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjI1CisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjI2CiBtc2dpZCAiZ2l0IHJlY2VpdmUtcGFjayA8Z2l0LWRpcj4iCiBtc2dzdHIgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1rYXRhbG9nPiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxNzE5CisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjc5MworbXNnaWQgIiIKKyJCeSBkZWZhdWx0LCB1cGRhdGluZyB0aGUgY3VycmVudCBicmFuY2ggaW4gYSBub24tYmFyZSByZXBvc2l0b3J5XG4iCisiaXMgZGVuaWVkLCBiZWNhdXNlIGl0IHdpbGwgbWFrZSB0aGUgaW5kZXggYW5kIHdvcmsgdHJlZSBpbmNvbnNpc3RlbnRcbiIKKyJ3aXRoIHdoYXQgeW91IHB1c2hlZCwgYW5kIHdpbGwgcmVxdWlyZSAnZ2l0IHJlc2V0IC0taGFyZCcgdG8gbWF0Y2hcbiIKKyJ0aGUgd29yayB0cmVlIHRvIEhFQUQuXG4iCisiXG4iCisiWW91IGNhbiBzZXQgJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG9cbiIKKyInaWdub3JlJyBvciAnd2FybicgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IHB1c2hpbmcgaW50b1xuIgorIml0cyBjdXJyZW50IGJyYW5jaDsgaG93ZXZlciwgdGhpcyBpcyBub3QgcmVjb21tZW5kZWQgdW5sZXNzIHlvdVxuIgorImFycmFuZ2VkIHRvIHVwZGF0ZSBpdHMgd29yayB0cmVlIHRvIG1hdGNoIHdoYXQgeW91IHB1c2hlZCBpbiBzb21lXG4iCisib3RoZXIgd2F5LlxuIgorIlxuIgorIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlIGFuZCBzdGlsbCBrZWVwIHRoZSBkZWZhdWx0IGJlaGF2aW91ciwgc2V0XG4iCisiJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG8gJ3JlZnVzZScuIgorbXNnc3RyICIiCisiTm9ybWFsdCB0aWxsw6V0cyBpbnRlIHVwcGRhdGVyaW5nIGF2IGFrdHVlbGwgZ3JlbiBpIGV0dCBpY2tlLW5ha2V0XG4iCisiYXJraXYsIGTDpSBpbmRleCBvY2ggYXJiZXRza2F0YWxvZyBpbnRlIGtvbW1lciBzdMOkbW1hIG1lZCBkZXQgZHVcbiIKKyJzw6RuZGUgb2NoIFwiZ2l0IHJlc2V0IC0taGFyZFwiIGtyw6R2cyBmw7ZyIGF0dCBmw6UgYXJiZXRza2F0YWxvZ2VuIG9jaFxuIgorIkhFQUQgYXR0IHN0w6RtbWEgw7Z2ZXJlbnMuXG4iCisiXG4iCisiRHUga2FuIHN0w6RsbGEgaW4gdmFyaWFiZWxuIFwicmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaFwiIHRpbGxcbiIKKyJcImlnbm9yZVwiIGVsbGVyIFwid2FyblwiIGkgZmrDpHJyYXJraXZldCBmw7ZyIGF0dCB0aWxsw6V0YSBzw6RuZG5pbmcgdGlsbFxuIgorImRlc3MgYWt0dWVsbGEgZ3JlbjsgZGV0dGEgcmVrb21tZW5kZXJhcyBkb2NrIGludGUgc8OldmlkYSBkdSBpbnRlXG4iCisic2V0dCB0aWxsIGF0dCBkZXNzIGFyYmV0c2thdGFsb2cgdXBwZGF0ZXJhcyB0aWxsIGRldCB0dSBzw6RuZGUgaW5cbiIKKyJww6UgYW5uYXQgc8OkdHQuXG4iCisiXG4iCisiRsO2ciBhdHQgdW5kdmlrYSBkZXR0YSBtZWRkZWxhbmRlIG9jaCBmb3J0ZmFyYW5kZSBiZWjDpWxsYSBkZXRcbiIKKyJub3JtYWxhIGJldGVlbmRldCwgc8OkdHQgXCJyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoXCIgdGlsbCBcInJlZnVzZVwiLiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4MTMKK21zZ2lkICIiCisiQnkgZGVmYXVsdCwgZGVsZXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGlzIGRlbmllZCwgYmVjYXVzZSB0aGUgbmV4dFxuIgorIidnaXQgY2xvbmUnIHdvbid0IHJlc3VsdCBpbiBhbnkgZmlsZSBjaGVja2VkIG91dCwgY2F1c2luZyBjb25mdXNpb24uXG4iCisiXG4iCisiWW91IGNhbiBzZXQgJ3JlY2VpdmUuZGVueURlbGV0ZUN1cnJlbnQnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG9cbiIKKyInd2Fybicgb3IgJ2lnbm9yZScgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IGRlbGV0aW5nIHRoZVxuIgorImN1cnJlbnQgYnJhbmNoLCB3aXRoIG9yIHdpdGhvdXQgYSB3YXJuaW5nIG1lc3NhZ2UuXG4iCisiXG4iCisiVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UsIHlvdSBjYW4gc2V0IGl0IHRvICdyZWZ1c2UnLiIKK21zZ3N0ciAiIgorIk5vcm1hbHQgdGlsbMOldHMgaW50ZSByYWRlcmluZyBhdiBha3R1ZWxsIGdyZW4sIGVmdGVyc29tIG7DpHN0YVxuIgorIlwiZ2l0IGNsb25lXCIgaW50ZSBrb21tZXIgaW5uZWLDpHJhIGF0dCBuw6VncmEgZmlsZXIgY2hlY2thcyB1dCxcbiIKKyJ2aWxrZXQgw6RyIGbDtnJ2aXJyYW5kZS5cbiIKKyJcbiIKKyJEdSBrYW4gc3TDpGxsYSBpbiB2YXJpYWJlbG4gXCJyZWNlaXZlLmRlbnlEZWxldGVDdXJyZW50XCIgdGlsbFxuIgorIlwid2FyblwiIGVsbGVyIFwiaWdub3JlXCIgaSBmasOkcnJhcmtpdmV0IGbDtnIgYXR0IHRpbGzDpXRhIGJvcnR0YWduaW5nXG4iCisiYXYgYWt0dWVsbCBncmVuLCBtZWQgZWxsZXIgdXRhbiB2YXJuaW5nc21lZGRlbGFuZGUuXG4iCisiXG4iCisiRsO2ciBhdHQgdW5kdmlrYSBkZXR0YSBtZWRkZWxhbmRlIGthbiBkdSBzw6R0dGEgZGV0IHRpbGwgXCJyZWZ1c2VcIi4iCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg4MwogbXNnaWQgInF1aWV0IgogbXNnc3RyICJ0eXN0IgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE3MzMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSBkaXJlY3RvcnkuIgogbXNnc3RyICJEdSBtw6VzdGUgYW5nZSBlbiBrYXRhbG9nLiIKIApAQCAtOTg4NSwxMiArMTEwOTAsMTIgQEAKIG1zZ2lkICJzcGVjaWZ5aW5nIGJyYW5jaGVzIHRvIHRyYWNrIG1ha2VzIHNlbnNlIG9ubHkgd2l0aCBmZXRjaCBtaXJyb3JzIgogbXNnc3RyICJhdHQgYW5nZSBncmVuYXIgYXR0IHNww6VyYSBnZXIgbWVuaW5nIGJhcmEgbWVkIGjDpG10bmluZ3NzcGVnbGFyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5MCBidWlsdGluL3JlbW90ZS5jOjYzMworIzogYnVpbHRpbi9yZW1vdGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzo2MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlICVzIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAiZmrDpHJyYXJraXZldCAlcyBmaW5ucyByZWRhbi4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk0IGJ1aWx0aW4vcmVtb3RlLmM6NjM3CisjOiBidWlsdGluL3JlbW90ZS5jOjE5NCBidWlsdGluL3JlbW90ZS5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlbW90ZSBuYW1lIgogbXNnc3RyICJcIiVzXCIgw6RyIGludGUgZXR0IGdpbHRpZ3QgbmFtbiBww6UgZmrDpHJyYXJraXYiCkBAIC05OTEzLDE3ICsxMTExOCwxNyBAQAogbXNnaWQgIihkZWxldGUpIgogbXNnc3RyICIodGEgYm9ydCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjI2IGJ1aWx0aW4vcmVtb3RlLmM6NzYxIGJ1aWx0aW4vcmVtb3RlLmM6ODU4CisjOiBidWlsdGluL3JlbW90ZS5jOjYyMiBidWlsdGluL3JlbW90ZS5jOjc1NyBidWlsdGluL3JlbW90ZS5jOjg1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZTogJXMiCiBtc2dzdHIgIkluZ2V0IHPDpWRhbnQgZmrDpHJyYXJraXY6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY0MworIzogYnVpbHRpbi9yZW1vdGUuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCiBtc2dzdHIgIkt1bmRlIGludGUgYnl0YSBuYW1uIHDDpSBrb25maWd1cmF0aW9uc3Nla3Rpb25lbiBcIiVzXCIgdGlsbCBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjYzCisjOiBidWlsdGluL3JlbW90ZS5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90IHVwZGF0aW5nIG5vbi1kZWZhdWx0IGZldGNoIHJlZnNwZWNcbiIKQEAgLTk5MzQsMTcgKzExMTM5LDE3IEBACiAiXHQlc1xuIgogIlx0VXBwZGF0ZXJhIGtvbmZpZ3VyYXRpb25lbiBtYW51ZWxsdCBvbSBuw7ZkdsOkbmRpZ3QuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY5OQorIzogYnVpbHRpbi9yZW1vdGUuYzo2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBib3J0IFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNyZWF0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICJtaXNzbHlja2FkZXMgc2thcGEgXCIlc1wiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjc5NgorIzogYnVpbHRpbi9yZW1vdGUuYzo3OTIKIG1zZ2lkICIiCiAiTm90ZTogQSBicmFuY2ggb3V0c2lkZSB0aGUgcmVmcy9yZW1vdGVzLyBoaWVyYXJjaHkgd2FzIG5vdCByZW1vdmVkO1xuIgogInRvIGRlbGV0ZSBpdCwgdXNlOiIKQEAgLTk5NTgsMzYwICsxMTE2MywzODMgQEAKICJPYnNlcnZlcmE6IE7DpWdyYSBncmVuYXIgdXRhbmbDtnIgaGllcmFya2luIHJlZnMvcmVtb3Rlcy8gdG9ncyBpbnRlIGJvcnQ7XG4iCiAiZsO2ciBhdHQgdGEgYm9ydCBkZW0sIGFudsOkbmQ6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgxMAorIzogYnVpbHRpbi9yZW1vdGUuYzo4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICJLdW5kZSBpbnRlIHRhIGJvcnQga29uZmlndXJhdGlvbnNzZWt0aW9uZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxMQorIzogYnVpbHRpbi9yZW1vdGUuYzo5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG5ldyAobmV4dCBmZXRjaCB3aWxsIHN0b3JlIGluIHJlbW90ZXMvJXMpIgogbXNnc3RyICIgbnkgKG7DpHN0YSBow6RtdG5pbmcgc3BhcmFyIGkgcmVtb3Rlcy8lcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE0CisjOiBidWlsdGluL3JlbW90ZS5jOjkxMAogbXNnaWQgIiB0cmFja2VkIgogbXNnc3RyICIgc3DDpXJhZCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEyCiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiBmw7ZybGVnYWQgKGFudsOkbmQgXCJnaXQgcmVtb3RlIHBydW5lXCIgZsO2ciBhdHQgdGEgYm9ydCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE4CisjOiBidWlsdGluL3JlbW90ZS5jOjkxNAogbXNnaWQgIiA/Pz8iCiBtc2dzdHIgIiA/Pz8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU5CisjOiBidWlsdGluL3JlbW90ZS5jOjk1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJyYW5jaC4lcy5tZXJnZTsgY2Fubm90IHJlYmFzZSBvbnRvID4gMSBicmFuY2giCiBtc2dzdHIgIm9naWx0aWcgYnJhbmNoLiVzLm1lcmdlOyBrYW4gaW50ZSBvbWJhc2VyYSDDtnZlciA+IDEgZ3JlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAib21iYXNlcmFzIGludGVyYWt0aXZ0IHDDpSBmasOkcnJlbiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCittc2dzdHIgIm9tYmFzZXJhcyBww6UgZmrDpHJyZW4gJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgIiBzYW1tYW5zbMOlcyBtZWQgZmrDpHJyZW4gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcyCi1tc2dpZCAiICAgIGFuZCB3aXRoIHJlbW90ZSIKLW1zZ3N0ciAiICAgIG9jaCBtZWQgZmrDpHJyZW4iCi0KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc0CisjOiBidWlsdGluL3JlbW90ZS5jOjk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgInNhbW1hbnNsw6VzIG1lZCBmasOkcnJlbiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzUKLW1zZ2lkICIgICBhbmQgd2l0aCByZW1vdGUiCi1tc2dzdHIgIiAgIG9jaCBtZWQgZmrDpHJyZW4iCisjOiBidWlsdGluL3JlbW90ZS5jOjk3MworIywgYy1mb3JtYXQKK21zZ2lkICIlLSpzICAgIGFuZCB3aXRoIHJlbW90ZSAlc1xuIgorbXNnc3RyICIlLSpzICAgIG9jaCBtZWQgZmrDpHJyZW4gJXNcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMTYKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgInNrYXBhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAxOQogbXNnaWQgImRlbGV0ZSIKIG1zZ3N0ciAidGEgYm9ydCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjMKIG1zZ2lkICJ1cCB0byBkYXRlIgogbXNnc3RyICLDoGpvdXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAia2FuIHNuYWJic3BvbGFzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICJsb2thbCBmw7Zyw6VsZHJhZCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgdHZpbmdhciB0aWxsICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgc8OkbmRlciB0aWxsICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyB0dmluZ2FyIHRpbGwgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMgc8OkbmRlciB0aWxsICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTExNAogbXNnaWQgImRvIG5vdCBxdWVyeSByZW1vdGVzIgogbXNnc3RyICJmcsOlZ2EgaW50ZSBmasOkcnJhciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjExNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiogZmrDpHJyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZldGNoIFVSTDogJXMiCiBtc2dzdHIgIiAgSMOkbXQtVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ4IGJ1aWx0aW4vcmVtb3RlLmM6MTMwMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQzIGJ1aWx0aW4vcmVtb3RlLmM6MTE1NiBidWlsdGluL3JlbW90ZS5jOjEyOTUKIG1zZ2lkICIobm8gVVJMKSIKIG1zZ3N0ciAiKGluZ2VuIFVSTCkiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gJzonIHNob3VsZCBhbGlnbiB3aXRoCiAjLiB0aGUgb25lIGluICIgIEZldGNoIFVSTDogJXMiIHRyYW5zbGF0aW9uCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTkgYnVpbHRpbi9yZW1vdGUuYzoxMTYxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNTQgYnVpbHRpbi9yZW1vdGUuYzoxMTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUHVzaCAgVVJMOiAlcyIKIG1zZ3N0ciAiICBTw6RuZC1VUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNjMgYnVpbHRpbi9yZW1vdGUuYzoxMTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MCBidWlsdGluL3JlbW90ZS5jOjExNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBIRUFEIGJyYW5jaDogJXMiCiBtc2dzdHIgIiAgSEVBRC1ncmVuOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY5CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTgKK21zZ2lkICIobm90IHF1ZXJpZWQpIgorbXNnc3RyICIoaW50ZSBmw7ZyZnLDpWdhZCkiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKG9rw6RuZCkiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiICBIRUFEIGJyYW5jaCAocmVtb3RlIEhFQUQgaXMgYW1iaWd1b3VzLCBtYXkgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcpOlxuIgogbXNnc3RyICIgIEhFQUQtZ3JlbiAoSEVBRCBww6UgZmrDpHJyIMOkciB0dmV0eWRpZywga2FuIHZhcmEgZW4gYXYgZsO2bGphbmRlKTpcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBSZW1vdGUgYnJhbmNoOiVzIgogbXNnaWRfcGx1cmFsICIgIFJlbW90ZSBicmFuY2hlczolcyIKIG1zZ3N0clswXSAiICBGasOkcnJncmVuOiVzIgogbXNnc3RyWzFdICIgIEZqw6RycmdyZW5hcjolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg0IGJ1aWx0aW4vcmVtb3RlLmM6MTIxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNQogbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiIChzdGF0dXMgaW50ZSBmw7ZyZnLDpWdhZCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5MworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg4CiBtc2dpZCAiICBMb2NhbCBicmFuY2ggY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgYnJhbmNoZXMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dzdHJbMF0gIiAgTG9rYWwgZ3JlbiBrb25maWd1cmVyYWQgZsO2ciBcImdpdCBwdWxsXCI6IgogbXNnc3RyWzFdICIgIExva2FsYSBncmVuYXIga29uZmlndXJlcmFkZSBmw7ZyIFwiZ2l0IHB1bGxcIjoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk2CiBtc2dpZCAiICBMb2NhbCByZWZzIHdpbGwgYmUgbWlycm9yZWQgYnkgJ2dpdCBwdXNoJyIKIG1zZ3N0ciAiICBMb2thbGEgcmVmZXJlbnNlciBzcGVnbGFzIGF2IFwiZ2l0IHB1c2hcIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBMb2NhbCByZWYgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCByZWZzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dzdHJbMF0gIiAgTG9rYWwgcmVmZXJlbnMga29uZmlndXJlcmFkIGbDtnIgXCJnaXQgcHVzaFwiJXM6IgogbXNnc3RyWzFdICIgIExva2FsYSByZWZlcmVuc2VyIGtvbmZpZ3VyZXJhZGUgZsO2ciBcImdpdCBwdXNoXCIlczoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIzCiBtc2dpZCAic2V0IHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCBhY2NvcmRpbmcgdG8gcmVtb3RlIgogbXNnc3RyICJzw6R0dCByZWZzL3JlbW90ZXMvPG5hbW4+L0hFQUQgZW5saWd0IGZqw6RycmVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyNQogbXNnaWQgImRlbGV0ZSByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQiCiBtc2dzdHIgInRhIGJvcnQgcmVmcy9yZW1vdGVzLzxuYW1uPi9IRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MAogbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCiBtc2dzdHIgIkthbiBpbnRlIGJlc3TDpG1tYSBIRUFEIHDDpSBmasOkcnJlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDIKIG1zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKIG1zZ3N0ciAiRmxlcmEgSEVBRC1ncmVuYXIgcMOlIGZqw6RycmVuLiBWw6RsaiBlbiBleHBsaWNpdCBtZWQ6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICJLdW5kZSBpbnRlIHRhIGJvcnQgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIHJlZjogJXMiCiBtc2dzdHIgIkludGUgZW4gZ2lsdGlnIHJlZmVyZW5zOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjY4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwICVzIgogbXNnc3RyICJLdW5kZSBpbnRlIHN0w6RsbGEgaW4gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyB3aWxsIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyBrb21tZXIgYmxpIGRpbmdsYW5kZSEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyBoYXMgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIGhhciBibGl2aXQgZGluZ2xhbmRlISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk3CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAiUmVuc2FyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVUkw6ICVzIgogbXNnc3RyICJVUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgogbXNnc3RyICIgKiBbc2t1bGxlIHJlbnNhXSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE3CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3BydW5lZF0gJXMiCiBtc2dzdHIgIiAqIFtyZW5zYWRdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzNjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM1NgogbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCiBtc2dzdHIgInJlbnNhIGZqw6RycmFyIGVmdGVyIGjDpG10bmluZyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDI1IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OSBidWlsdGluL3JlbW90ZS5jOjE1NDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQxOSBidWlsdGluL3JlbW90ZS5jOjE0NzMgYnVpbHRpbi9yZW1vdGUuYzoxNTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIkluZ2VuIHPDpWRhbiBmasOkcnIgXCIlc1wiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNQogbXNnaWQgImFkZCBicmFuY2giCiBtc2dzdHIgImzDpGdnIHRpbGwgZ3JlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NDIKIG1zZ2lkICJubyByZW1vdGUgc3BlY2lmaWVkIgogbXNnc3RyICJpbmdlbiBmasOkcnIgYW5nYXZzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NjUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ1OQogbXNnaWQgInF1ZXJ5IHB1c2ggVVJMcyByYXRoZXIgdGhhbiBmZXRjaCBVUkxzIgogbXNnc3RyICJmcsOlZ2Egc8OkbmQtVVJMOmVyIGlzdMOkbGxldCBmw7ZyIGjDpG10YS1VUkw6ZXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYxCiBtc2dpZCAicmV0dXJuIGFsbCBVUkxzIgogbXNnc3RyICJyZXR1cm5lcmEgYWxsYSBVUkw6ZXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgImluZ2VuIFVSTDplciBhbmdpdm5hIGbDtnIgZmrDpHJyZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNQogbXNnaWQgIm1hbmlwdWxhdGUgcHVzaCBVUkxzIgogbXNnc3RyICJtYW5pcHVsZXJhIFVSTDphciBmw7ZyIHPDpG5kbmluZyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIzCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MTcKIG1zZ2lkICJhZGQgVVJMIgogbXNnc3RyICJsw6RnZyB0aWxsIFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MTkKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAidGEgYm9ydCBVUkw6YXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI2CiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWFkZCAtLWRlbGV0ZSBnZXIgaW5nZW4gbWVuaW5nIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgIkZlbGFrdGlnIGdhbW1hbHQgVVJMLW3Dtm5zdGVyOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICJJbmdlbiBzw6VkYW4gVVJMIGhpdHRhZGVzOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzcKIG1zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCiBtc2dzdHIgIktvbW1lciBpbnRlIHRhIGJvcnQgYWxsYSBpY2tlLXPDpG5kLVVSTDplciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTk3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTEKIG1zZ2lkICJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIgogbXNnc3RyICJ2YXIgcHJhdHNhbTsgbcOlc3RlIHNrcml2YXMgZsO2cmUgZXR0IHVuZGVya29tbWFuZG8iCiAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgorbXNnc3RyICJPa8OkbnQgdW5kZXJrb21tYW5kbzogJXMiCisKICM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcKIG1zZ2lkICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcmVwYWNrIFs8ZmxhZ2dvcj5dIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE1OQorIzogYnVpbHRpbi9yZXBhY2suYzoxNjAKIG1zZ2lkICJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIKIG1zZ3N0ciAicGFja2EgYWxsdCBpIGV0dCBlbmRhIHBha2V0IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2MQorIzogYnVpbHRpbi9yZXBhY2suYzoxNjIKIG1zZ2lkICJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIgogbXNnc3RyICJzYW1tYSBzb20gLWEsIG9jaCBnw7ZyIG9uw6ViYXJhIG9iamVrdCBsw7ZzYSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY1CiBtc2dpZCAicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIgogbXNnc3RyICJ0YSBib3J0IMO2dmVyZmzDtmRpZ2EgcGFrZXQsIG9jaCBrw7ZyIGdpdC1wcnVuZS1wYWNrZWQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY2CisjOiBidWlsdGluL3JlcGFjay5jOjE2NwogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJzw6RuZCAtLW5vLXJldXNlLWRlbHRhIHRpbGwgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY5CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJzw6RuZCAtLW5vLXJldXNlLW9iamVjdCB0aWxsIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcwCisjOiBidWlsdGluL3JlcGFjay5jOjE3MQogbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIG1zZ3N0ciAia8O2ciBpbnRlIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTczCisjOiBidWlsdGluL3JlcGFjay5jOjE3NAogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJzw6RuZCAtLWxvY2FsIHRpbGwgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc2CiBtc2dpZCAid3JpdGUgYml0bWFwIGluZGV4IgogbXNnc3RyICJza3JpdiBiaXRrYXJ0aW5kZXgiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc2CisjOiBidWlsdGluL3JlcGFjay5jOjE3NwogbXNnaWQgImFwcHJveGlkYXRlIgogbXNnc3RyICJjaXJrYWRhdHVtIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NworIzogYnVpbHRpbi9yZXBhY2suYzoxNzgKIG1zZ2lkICJ3aXRoIC1BLCBkbyBub3QgbG9vc2VuIG9iamVjdHMgb2xkZXIgdGhhbiB0aGlzIgogbXNnc3RyICJtZWQgLUEsIGzDtnMgaW50ZSB1cHAgb2JqZWt0IMOkbGRyZSDDpG4gZGV0dGEiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc5CisjOiBidWlsdGluL3JlcGFjay5jOjE4MAorbXNnaWQgIndpdGggLWEsIHJlcGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICJtZWQgLWEsIHBhY2thIG9tIG9uw6ViYXJhIG9iamVrdCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxODIKIG1zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgInN0b3JsZWsgcMOlIGbDtm5zdGVyIGFudsOkbnQgZsO2ciBkZWx0YWtvbXByaW1lcmluZyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODAgYnVpbHRpbi9yZXBhY2suYzoxODQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgzIGJ1aWx0aW4vcmVwYWNrLmM6MTg3CiBtc2dpZCAiYnl0ZXMiCiBtc2dzdHIgImJ5dGUiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgxCisjOiBidWlsdGluL3JlcGFjay5jOjE4NAogbXNnaWQgInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IgogbXNnc3RyICJzYW1tYSBzb20gb3ZhbiwgbWVuIGJlZ3LDpG5zYSBtaW5uZXNzdG9ybGVrZW4gaXN0w6RsbGV0IGbDtnIgcG9zdGFudGFsIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MworIzogYnVpbHRpbi9yZXBhY2suYzoxODYKIG1zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCiBtc2dzdHIgImJlZ3LDpG5zYSBtYXhpbWFsdCBkZWx0YWRqdXAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg1CisjOiBidWlsdGluL3JlcGFjay5jOjE4OAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgogbXNnc3RyICJtYXhpbWFsIHN0b3JsZWsgcMOlIHZhcmplIHBha2V0ZmlsIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NworIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKIG1zZ2lkICJyZXBhY2sgb2JqZWN0cyBpbiBwYWNrcyBtYXJrZWQgd2l0aCAua2VlcCIKIG1zZ3N0ciAicGFja2Egb20gb2JqZWt0IGkgcGFrZXQgbcOkcmt0YSBtZWQgLmtlZXAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTk3CisjOiBidWlsdGluL3JlcGFjay5jOjIwMAogbXNnaWQgImNhbm5vdCBkZWxldGUgcGFja3MgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgImthbiBpbnRlIHRhIGJvcnQgcGFrZXQgaSBldHQgXCJwcmVjaW91cy1vYmplY3RzXCItYXJraXYiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzgxCisjOiBidWlsdGluL3JlcGFjay5jOjIwNAorbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLUEgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiLS1rZWVwLXVucmVhY2hhYmxlIG9jaCAtQSBrYW4gaW50ZSBhbnbDpG5kYXMgc2FtdGlkaWd0IgorCisjOiBidWlsdGluL3JlcGFjay5jOjM5MSBidWlsdGluL3dvcmt0cmVlLmM6MTE1CiAjLCBjLWZvcm1hdAotbXNnaWQgInJlbW92aW5nICclcycgZmFpbGVkIgorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHRhIGJvcnQgXCIlc1wiIgogCiAjOiBidWlsdGluL3JlcGxhY2UuYzoxOQpAQCAtMTA0MTUsOCArMTE2NDMsOCBAQAogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxpbmNoZWNrbmluZz5dIgogCiAjOiBidWlsdGluL3Jlc2V0LmM6MjcKLW1zZ2lkICJnaXQgcmVzZXQgWy1xXSA8dHJlZS1pc2g+IFstLV0gPHBhdGhzPi4uLiIKLW1zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gPHRyw6RkLWlndD4gWy0tXSA8c8O2a3bDpGdhcj4uLi4iCittc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzPi4uLiIKK21zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzx0csOkZC1pZ3Q+XSBbLS1dIDxzw7ZrdsOkZ2FyPi4uLiIKIAogIzogYnVpbHRpbi9yZXNldC5jOjI4CiBtc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgpAQCAtMTA1MzUsMjcgKzExNzYzLDI3IEBACiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBza3JpdmEgbnkgaW5kZXhmaWwuIgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6MzUwCisjOiBidWlsdGluL3Jldi1saXN0LmM6MzU0CiBtc2dpZCAicmV2LWxpc3QgZG9lcyBub3Qgc3VwcG9ydCBkaXNwbGF5IG9mIG5vdGVzIgogbXNnc3RyICJyZXYtbGlzdCBzdMO2ZGVyIGludGUgdmlzbmluZyBhdiBhbnRlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzU4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM4NgogbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJndW1lbnQ+Li4uXSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjMKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzkxCiBtc2dpZCAia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIgogbXNnc3RyICJiZWjDpWxsIFwiLS1cIiBzw6RudCBzb20gYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzY1CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5MwogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAic2x1dGEgdG9sa2EgZWZ0ZXIgZsO2cnN0YSBhcmd1bWVudCBzb20gaW50ZSDDpHIgZmxhZ2dhIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2OAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTYKIG1zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgogbXNnc3RyICJ1dGRhdGEgZmFzdCBpIGzDpW5nIGZvcm0iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDk5CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjUyNwogbXNnaWQgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl1cbiIKICIgICBvcjogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8YXJnPi4uLl1cbiIKQEAgLTEwNjI3LDMxICsxMTg1NSwyNyBAQAogbXNnaWQgIm9wdGlvbiBmb3IgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgImFsdGVybmF0aXYgZm/MiHIgc2FtbWFuc2xhZ25pbmdzc3RyYXRlZ2kiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CisjOiBidWlsdGluL3JldmVydC5jOjEwMAogbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBpbmNoZWNrbmluZ3NuYW1uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAiYmVow6VsbCBpbmNoZWNrbmluZ2FyIHNvbSBiw7ZyamFyIHNvbSB0b21tYSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCiBtc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICJ0aWxsw6V0IGluY2hlY2tuaW5nYXIgbWVkIHRvbXQgbWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgImJlaMOlbGwgcmVkdW5kYW50YSwgdG9tbWEgaW5jaGVja25pbmdhciIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKLW1zZ2lkICJwcm9ncmFtIGVycm9yIgotbXNnc3RyICJwcm9ncmFtZmVsIgotCi0jOiBidWlsdGluL3JldmVydC5jOjE5NworIzogYnVpbHRpbi9yZXZlcnQuYzoxOTIKIG1zZ2lkICJyZXZlcnQgZmFpbGVkIgogbXNnc3RyICJcInJldmVydFwiIG1pc3NseWNrYWRlcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMTIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjA1CiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICJcImNoZXJyeS1waWNrXCIgbWlzc2x5Y2thZGVzIgogCkBAIC0xMDgxOSw3MCArMTIwNDMsMTI2IEBACiBtc2dpZCAiZ2l0IHNob3ctYnJhbmNoICgtZyB8IC0tcmVmbG9nKVs9PG4+Wyw8YmFzZT5dXSBbLS1saXN0XSBbPHJlZj5dIgogbXNnc3RyICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXM+XV0gWy0tbGlzdF0gWzxyZWY+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmIgorbXNnaWRfcGx1cmFsICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmcyIKK21zZ3N0clswXSAiaWdub3JlcmFyICVzOyBrYW4gaW50ZSBoYW50ZXJhIG1lciDDpG4gJWQgcmVmZXJlbnMiCittc2dzdHJbMV0gImlnbm9yZXJhciAlczsga2FuIGludGUgaGFudGVyYSBtZXIgw6RuICVkIHJlZmVyZW5zZXIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWF0Y2hpbmcgcmVmcyB3aXRoICVzIgorbXNnc3RyICJpbmdhIG1vdHN2YXJhbmRlIHJlZmVyZW5zZXIgbWVkICVzIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICJ2aXNhIGZqw6RycnNww6VyYW5kZSBvY2ggbG9rYWxhIGdyZW5hciIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MQogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICJ2aXNhIGZqw6RycnNww6VyYW5kZSBncmVuYXIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICJmw6RyZ2EgXCIqISstXCIgZW5saWd0IGdyZW5lbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NQogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICJ2aXNhIDxuPiB5dHRlcmxpZ2FyZSBpbmNoZWNrbmluZ2FyIGVmdGVyIGdlbWVuc2FtIGFuZmFkZXIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDcKIG1zZ2lkICJzeW5vbnltIHRvIG1vcmU9LTEiCiBtc2dzdHIgInN5bm9ueW0gdGlsbCBtb3JlPS0xIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ4CiBtc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCiBtc2dzdHIgInVuZGVydHljayBuYW1uc3Ryw6RuZ2FyIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUwCiBtc2dpZCAiaW5jbHVkZSB0aGUgY3VycmVudCBicmFuY2giCiBtc2dzdHIgImlua2x1ZGVyYSBha3R1ZWxsIGdyZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKIG1zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCiBtc2dzdHIgIm5hbW5nZSBpbmNoZWNrbmluZ2FyIG1lZCBkZXJhcyBvYmpla3RuYW1uIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0CiBtc2dpZCAic2hvdyBwb3NzaWJsZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAidmlzYSBtw7ZqbGlnYSBzYW1tYW5zbGFnbmluZ3NiYXNlciIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgogbXNnaWQgInNob3cgcmVmcyB1bnJlYWNoYWJsZSBmcm9tIGFueSBvdGhlciByZWYiCiBtc2dzdHIgInZpc2EgcmVmZXJlbnNlciBzb20gaW50ZSBrYW4gbsOlcyBmcsOlbiBuw6Vnb24gYW5uYW4gcmVmZXJlbnMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgInZpc2EgaW5jaGVja25pbmdhciBpIHRvcG9sb2dpc2sgb3JkbmluZyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MQogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgogbXNnc3RyICJ2aXNhIGVuZGFzdCBpbmNoZWNrbmluZ2FyIGludGUgcMOlIGRlbiBmw7Zyc3RhIGdyZW5lbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MwogbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKIG1zZ3N0ciAidmlzYSBzYW1tYW5zbGFnbmluZ2FyIHNvbSBlbmRhc3Qga2FuIG7DpXMgZnLDpW4gZW4gc3BldHMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjUKIG1zZ2lkICJ0b3BvbG9naWNhbGx5IHNvcnQsIG1haW50YWluaW5nIGRhdGUgb3JkZXIgd2hlcmUgcG9zc2libGUiCiBtc2dzdHIgInNvcnRlcmEgdG9wb2xvZ2lza3QsIGJlaMOlbGwgZGF0dW1vcmRuaW5nIG7DpHIgbcO2amxpZ3QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKIG1zZ2lkICI8bj5bLDxiYXNlPl0iCiBtc2dzdHIgIjxuPlssPGJhcz5dIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY5CiBtc2dpZCAic2hvdyA8bj4gbW9zdCByZWNlbnQgcmVmLWxvZyBlbnRyaWVzIHN0YXJ0aW5nIGF0IGJhc2UiCiBtc2dzdHIgInZpc2EgPG4+IG55YXN0ZSByZWZsb2dncG9zdGVyIG1lZCBiw7ZyamFuIHDDpSBiYXMiCiAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MDMKK21zZ2lkICIiCisiLS1yZWZsb2cgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiCittc2dzdHIgIiIKKyItLXJlZmxvZyDDpHIgaW5rb21wYXRpYmVsIG1lZCAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IGVsbGVyIC0tbWVyZ2UtIgorImJhc2UiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MjcKK21zZ2lkICJubyBicmFuY2hlcyBnaXZlbiwgYW5kIEhFQUQgaXMgbm90IHZhbGlkIgorbXNnc3RyICJpbmdhIGdyZW5hciBhbmdhdnMsIG9jaCBIRUFEIMOkciBpbnRlIGdpbHRpZ3QiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzAKK21zZ2lkICItLXJlZmxvZyBvcHRpb24gbmVlZHMgb25lIGJyYW5jaCBuYW1lIgorbXNnc3RyICItLXJlZmxvZyBiZWjDtnZlciBldHQgbmFtbiBww6UgZW4gZ3JlbiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5ICVkIGVudHJ5IGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCittc2dpZF9wbHVyYWwgIm9ubHkgJWQgZW50cmllcyBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgorbXNnc3RyWzBdICJtYXhpbWFsdCAlZCBwb3N0ZXIga2FuIHZpc2FzIHNhbXRpZGlndC4iCittc2dzdHJbMV0gIm1heGltYWx0ICVkIHBvc3RlciBrYW4gdmlzYXMgc2FtdGlkaWd0LiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNworIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZiAlcyIKK21zZ3N0ciAiaW5nZW4gc8OlZGFuIHJlZmVyZW5zICVzIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODI5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldi4iCittc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldnMuIgorbXNnc3RyWzBdICJrYW4gaW50ZSBoYW50ZXJhIG1lciDDpG4gJWQgcmV2aXNpb24uIgorbXNnc3RyWzFdICJrYW4gaW50ZSBoYW50ZXJhIG1lciDDpG4gJWQgcmV2aXNpb25lci4iCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYuIgorbXNnc3RyICJcIiVzXCIgw6RyIGludGUgZW4gZ2lsdGlnIHJlZmVyZW5zLiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBjb21taXQgJXMgKCVzKSIKK21zZ3N0ciAiaGl0dGFyIGludGUgaW5jaGVja25pbmcgJXMgKCVzKSIKKwogIzogYnVpbHRpbi9zaG93LXJlZi5jOjEwCiBtc2dpZCAiIgogImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0tIgpAQCAtMTA5NDMsMTIgKzEyMjIzLDEyIEBACiBtc2dpZCAicHJlcGVuZCBjb21tZW50IGNoYXJhY3RlciBhbmQgc3BhY2UgdG8gZWFjaCBsaW5lIgogbXNnc3RyICJsw6RnZyBpbiBrb21tZW50YXJzdGVja2VuIG9jaCBibGFua3N0ZWcgZsO2cnN0IHDDpSB2YXJqZSByYWQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVmOiAlcyIKIG1zZ3N0ciAiSW5nZW4gc8OlZGFuIHJlZmVyZW5zOiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0aW5nIGEgZnVsbCByZWYgbmFtZSwgZ290ICVzIgogbXNnc3RyICJGw7ZydsOkbnRhZGUgZnVsbHQgcmVmZXJlbnNuYW1uLCBmaWNrICVzIgpAQCAtMTA5NTgsNzQgKzEyMjM4LDkzIEBACiBtc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSB0YSBib3J0IGVuIGtvbXBvbmVudCBmcsOlbiB1cmw6ZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mjc4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDUKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MAogbXNnaWQgImFsdGVybmF0aXZlIGFuY2hvciBmb3IgcmVsYXRpdmUgcGF0aHMiCiBtc2dzdHIgImFsdGVybmF0aXZhIGFua2FyZSBmw7ZyIHJlbGF0aXZhIHPDtmt2w6RnYXIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODcKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxzw7ZrdsOkZz5dIFs8c8O2a3bDpGc+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMyNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzQwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzI5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIGluIC5naXRtb2R1bGVzIgogbXNnc3RyICJIaXR0YWRlIGluZ2VuIHVybCBmw7ZyIHVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJXNcIiBpIC5naXRtb2R1bGVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzY2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cmwgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIk1pc3NseWNrYWRlcyByZWdpc3RyZXJhIHVybCBmw7ZyIHVuZGVybW9kdWxzw7ZrdsOkZyBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNzAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSByZWdpc3RlcmVkIGZvciBwYXRoICclcydcbiIKIG1zZ3N0ciAiVW5kZXJtb2R1bGVuIFwiJXNcIiAoJXMpIHJlZ2lzdHJlcmFkIGbDtnIgc8O2a3bDpGdlbiBcIiVzXCJcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKIG1zZ3N0ciAidmFybmluZzoga29tbWFuZG91cHBkYXRlcmluZ3Nsw6RnZSBmw7ZyZXNsb2dzIGbDtnIgdW5kZXJtb2R1bGVuIFwiJXNcIlxuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mzg3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cGRhdGUgbW9kZSBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHJlZ2lzdHJlcmEgdXBwZGF0ZXJpbmdzbMOkZ2UgZsO2ciB1bmRlcm1vZHVsc8O2a3bDpGcgXCIlc1wiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA5CiBtc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IGZvciBpbml0aWFsaXppbmcgYSBzdWJtb2R1bGUiCiBtc2dzdHIgIkTDtmxqIHV0ZGF0YSBmcsOlbiBpbml0aWVyaW5nIGF2IHVuZGVybW9kdWwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTQKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPHBhdGg+XSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxzw7ZrdsOkZz5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDMyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDM1CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8c8O2a3bDpGc+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Ym1vZHVsZSBtYXBwaW5nIGZvdW5kIGluIC5naXRtb2R1bGVzIGZvciBwYXRoICclcyciCiBtc2dzdHIgImhpdHRhZGUgaW5nZW4gdW5kZXJtb2R1bG1hcHBuaW5nIGkgLmdpdG1vZHVsZXMgZsO2ciBzw7ZrdsOkZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIKK21zZ3N0ciAidW5kZXJtb2R1bGVuIFwiJXNcIiBrYW4gaW50ZSBsw6RnZ2EgdGlsbCBhbHRlcm5hdGl2OiAlcyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBpcyBub3QgcmVjb2duaXplZCIKK21zZ3N0ciAiVsOkcmRldCBcIiVzXCIgaSBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBmw7Zyc3TDpXMgaW50ZSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCittc2dzdHIgIlbDpHJkZXQgXCIlc1wiIGkgc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGbDtnJzdMOlcyBpbnRlIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkzCiBtc2dpZCAid2hlcmUgdGhlIG5ldyBzdWJtb2R1bGUgd2lsbCBiZSBjbG9uZWQgdG8iCiBtc2dzdHIgInZhciBkZW4gbnlhIHVuZGVybW9kdWxlbiBza2FsbCBrbG9uYXMgdGlsbCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NgogbXNnaWQgIm5hbWUgb2YgdGhlIG5ldyBzdWJtb2R1bGUiCiBtc2dzdHIgIm5hbW4gcMOlIGRlbiBueWEgdW5kZXJtb2R1bGVuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDk1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk5CiBtc2dpZCAidXJsIHdoZXJlIHRvIGNsb25lIHRoZSBzdWJtb2R1bGUgZnJvbSIKIG1zZ3N0ciAiVVJMIGF0dCBrbG9uYSB1bmRlcm1vZHVsZW4gZnLDpW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MDEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDUKIG1zZ2lkICJkZXB0aCBmb3Igc2hhbGxvdyBjbG9uZXMiCiBtc2dzdHIgImRqdXAgZsO2ciBncnVuZGEga2xvbmVyIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjQKK21zZ2lkICJmb3JjZSBjbG9uaW5nIHByb2dyZXNzIgorbXNnc3RyICJ0dmluZ2Ega2xvbmluZ3Nmw7ZybG9wcCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMwogbXNnaWQgIiIKICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSAiCiAiPHJlcG9zaXRvcnk+XSBbLS1uYW1lIDxuYW1lPl0gWy0tZGVwdGggPGRlcHRoPl0gLS11cmwgPHVybD4gLS1wYXRoIDxwYXRoPiIKQEAgLTExMDMzLDg3ICsxMjMzMiwxMTAgQEAKICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxzw7ZrdsOkZz5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgogIjxhcmt2aT5dIFstLW5hbWUgPG5hbW4+XSBbLS1kZXB0aCA8ZGp1cD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8c8O2a3bDpGc+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTMyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrYXBhIGthdGFsb2dlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvbmUgb2YgJyVzJyBpbnRvIHN1Ym1vZHVsZSBwYXRoICclcycgZmFpbGVkIgogbXNnc3RyICJtaXNzbHlja2FkZXMga2xvbmEgXCIlc1wiIHRpbGwgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTUwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKIG1zZ3N0ciAia2FuIGludGUgw7ZwcG5hIGZpbGVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU1NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgZmlsZSAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzdMOkbmdhIGZpbGVuICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTYyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgc3VibW9kdWxlIGRpcmVjdG9yeSBmb3IgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBmw6UgdGFnIGkgdW5kZXJtb2R1bGthdGFsb2cgZsO2ciBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyVzJyBub3QgaW5pdGlhbGl6ZWQiCiBtc2dzdHIgIlVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJXNcIiBoYXIgaW50ZSBpbml0aWVyYXRzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzMwCiBtc2dpZCAiTWF5YmUgeW91IHdhbnQgdG8gdXNlICd1cGRhdGUgLS1pbml0Jz8iCiBtc2dzdHIgIkthbnNrZSBtZW5hZGUgZHUgYXR0IGFudsOkbmRhIFwidXBkYXRlIC0taW5pdFwiPyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIkhvcHBhciDDtnZlciBlaiBzYW1tYW5zbGFnZW4gdW5kZXJtb2R1bCAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiSG9wcGFyIMO2dmVyIHVuZGVybW9kdWxlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycuIFJldHJ5IHNjaGVkdWxlZCIKK21zZ3N0ciAiTWlzc2x5Y2thZGVzIGtsb25hIFwiJXNcIi4gTnl0dCBmw7Zyc8O2ayBwbGFubGFndCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkyNAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJyBhIHNlY29uZCB0aW1lLCBhYm9ydGluZyIKK21zZ3N0ciAiTWlzc2x5Y2thZGVzIGtsb25hIFwiJXNcIiBmw7ZyIGFuZHJhIGfDpW5nZW4sIGF2YnJ5dGVyIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ1CiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgInPDtmt2w6RnIGludXRpIGFyYmV0c2thdGFsb2dlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0OAogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlLCBhY3Jvc3MgbmVzdGVkIHN1Ym1vZHVsZSBib3VuZGFyaWVzIgogbXNnc3RyICJzw7ZrdsOkZyBpbnV0aSBhcmJldHNrYXRhbG9nZW4sIGdlbm9tIG7DpHN0bGFkZSB1bmRlcm1vZHVsZ3LDpG5zZXIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTIKIG1zZ2lkICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBvciBub25lIgogbXNnc3RyICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBlbGxlciBub25lIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU2CiBtc2dpZCAiQ3JlYXRlIGEgc2hhbGxvdyBjbG9uZSB0cnVuY2F0ZWQgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgcmV2aXNpb25zIgogbXNnc3RyICJTa2FwYSBlbiBncnVuZCBrbG9uIHRydW5rZXJhZCB0aWxsIGFuZ2l2ZXQgYW50YWwgcmV2aXNpb25lciIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc4MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1OQogbXNnaWQgInBhcmFsbGVsIGpvYnMiCiBtc2dzdHIgInBhcmFsbGVsbGEgam9iYiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc4MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2MQorbXNnaWQgIndoZXRoZXIgdGhlIGluaXRpYWwgY2xvbmUgc2hvdWxkIGZvbGxvdyB0aGUgc2hhbGxvdyByZWNvbW1lbmRhdGlvbiIKK21zZ3N0ciAib20gZGVuIGbDtnJzdGEga2xvbmVuIHNrYWxsIGbDtmxqYSByZWtvbW1lbmRhdGlvbiBmw7ZyIGdydW5kIGtsb25pbmciCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjIKIG1zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICJza3JpdiBpbnRlIGtsb25mw7ZybG9wcCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2OQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxzw7ZrdsOkZz5dIFs8c8O2a3bDpGc+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc5OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3OQogbXNnaWQgImJhZCB2YWx1ZSBmb3IgdXBkYXRlIHBhcmFtZXRlciIKIG1zZ3N0ciAiZmVsYWt0aWd0IHbDpHJkZSBmw7ZyIHBhcmFtZXRlcm4gdXBkYXRlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODU1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiU3VibW9kdWxlICglcykgYnJhbmNoIGNvbmZpZ3VyZWQgdG8gaW5oZXJpdCBicmFuY2ggZnJvbSBzdXBlcnByb2plY3QsIGJ1dCAiCisidGhlIHN1cGVycHJvamVjdCBpcyBub3Qgb24gYW55IGJyYW5jaCIKK21zZ3N0ciAiIgorIlVuZGVybW9kdWxlbnMgKCVzKSBncmVuIGluc3TDpGxsZCBww6UgYXR0IMOkcnZhIGdyZW4gZnLDpW4gaHV2dWRwcm9qZWt0ZXQsIG1lbiAiCisiaHV2dWRwcm9qZWt0ZXQgw6RyIGludGUgcMOlIG7DpWdvbiBncmVuIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwMAogbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgInVuZGVya29tbWFuZG90IHN1Ym1vZHVsZS0taGVscGVyIG3DpXN0ZSBhbnJvcGFzIG1lZCBldHQgdW5kZXJrb21tYW5kbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg2MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIgogbXNnc3RyICJcIiVzXCIgw6RyIGludGUgZXR0IGdpbHRpZ3QgdW5kZXJrb21tYW5kbyB0aWxsIHN1Ym1vZHVsZS0taGVscGVyIgpAQCAtMTEzNTAsNyArMTI2NzIsNyBAQAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiVXBwZGF0ZXJhZCB0YWdnIFwiJXNcIiAodmFyICVzKVxuIgogCi0jOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NDkwCisjOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NDkzCiBtc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIlBhY2thciB1cHAgb2JqZWt0IgogCkBAIC0xMTQxNSwxMzkgKzEyNzM3LDE0NyBAQAogbXNnaWQgIiBPSyIKIG1zZ3N0ciAiIE9LIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU3NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjQKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzxmbGFnZ29yPl0gWy0tXSBbPGZpbD4uLi5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MTkKIG1zZ2lkICJjb250aW51ZSByZWZyZXNoIGV2ZW4gd2hlbiBpbmRleCBuZWVkcyB1cGRhdGUiCiBtc2dzdHIgImZvcnRzw6R0dCB1cHBkYXRlcmEgw6R2ZW4gbsOkciBpbmRleCBpbnRlIMOkciDDoGpvdXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyMgogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICJyZWZyZXNoOiBpZ25vcmVyYSB1bmRlcm1vZHVsZXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkyNQogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICJpZ25vcmVyYSBpbnRlIG55YSBmaWxlciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI3CiBtc2dpZCAibGV0IGZpbGVzIHJlcGxhY2UgZGlyZWN0b3JpZXMgYW5kIHZpY2UtdmVyc2EiCiBtc2dzdHIgImzDpXQgZmlsZXIgZXJzw6R0dGEga2F0YWxvZ2VyIG9jaCBvbXbDpG50IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjkKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJsw6RnZyBtw6Rya2UgdGlsbCBmaWxlciBzb20gc2FrbmFzIGkgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzEKIG1zZ2lkICJyZWZyZXNoIGV2ZW4gaWYgaW5kZXggY29udGFpbnMgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAidXBwZGF0ZXJhIMOkdmVuIG9tIGluZGV4ZXQgaW5uZWjDpWxsZXIgZWogc2FtbWFuc2xhZ25hIHBvc3RlciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM0CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICJ1cHBkYXRlcmEgc3RhdHVzaW5mb3JtYXRpb24iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzOAogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAic29tIC0tcmVmcmVzaCwgbWVuIGlnbm9yZXJhIGFzc3VtZS11bmNoYW5nZWQtaW5zdMOkbGxuaW5nIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDIKIG1zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgogbXNnc3RyICI8bMOkZ2U+LDxvYmpla3Q+LDxzw7ZrdsOkZz4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MwogbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBhbmdpdmVuIHBvc3QgaSBpbmRleGV0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1OAotbXNnaWQgIigrLy0peCIKLW1zZ3N0ciAiKCsvLSl4IgotCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1OQotbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgotbXNnc3RyICLDtnZlcnN0eXIgZXhla3ZlcmluZ3NiaXRlbiBmw7ZyIGFuZ2l2bmEgZmlsZXIiCi0KLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MgogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKIG1zZ3N0ciAibWFya2VyYSBmaWxlciBzb20gXCLDpG5kcmFzIGludGVcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU1CiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICJyZW5zYSBcImFzc3VtZS11bmNoYW5nZWRcIi1iaXRlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAibWFya2VyYSBmaWxlciBzb20gXCJlbmRhc3QgaW5kZXhcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYxCiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgInTDtm0gXCJza2lwLXdvcmt0cmVlXCItYml0ZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NAogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICJsw6RnZyBlbmRhc3QgdGlsbCBpbmRleGV0OyBsw6RnZyBpbnRlIHRpbGwgaW5uZWjDpWxsZXQgaSBvYmpla3RkYXRhYmFzZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NgogbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCiBtc2dzdHIgInRhIGJvcnQgbmFtbmdpdm5hIHPDtmt2w6RnYXIgw6R2ZW4gb20gZGUgZmlubnMgaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OAogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAibWVkIC0tc3RkaW46IGluZGF0YXJhZGVyIHRlcm1pbmVyYXMgbWVkIG51bGwtYnl0ZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcwCiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibMOkcyBsaXN0YSDDtnZlciBzw7ZrdsOkZ2FyIGF0dCB1cHBkYXRlcmEgZnLDpW4gc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAogbXNnaWQgImFkZCBlbnRyaWVzIGZyb20gc3RhbmRhcmQgaW5wdXQgdG8gdGhlIGluZGV4IgogbXNnc3RyICJsw6RnZyBwb3N0ZXIgZnLDpW4gc3RhbmRhcmQgaW4gdGlsbCBpbmRleGV0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzgKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgIsOldGVyZnlsbCBldGFwcCAyIG9jaCAzIGZyw6VuIGFuZ2l2bmEgc8O2a3bDpGdhciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgyCiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgInVwcGRhdGVyYSBlbmRhc3QgcG9zdGVyIHNvbSBza2lsamVyIHNpZyBmcsOlbiBIRUFEIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODYKIG1zZ2lkICJpZ25vcmUgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJpZ25vcmVyYSBmaWxlciBzb20gc2FrbmFzIGkgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5CiBtc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICJyYXBwb3J0ZXJhIMOldGfDpHJkZXIgcMOlIHN0YW5kYXJkIHV0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkxCiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIihmw7ZyIHBvcnNsaW4pIGdsw7ZtIHNwYXJhZGUgb2zDtnN0YSBrb25mbGlrdGVyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk1CiBtc2dpZCAid3JpdGUgaW5kZXggaW4gdGhpcyBmb3JtYXQiCiBtc2dzdHIgInNrcml2IGluZGV4IGkgZGV0dGEgZm9ybWF0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgImFrdGl2ZXJhIGVsbGVyIGluYWt0aXZlcmEgZGVsYXQgaW5kZXgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTkKIG1zZ2lkICJlbmFibGUvZGlzYWJsZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgImFrdGl2ZXJhL2luYWt0aXZlcmEgb3Nww6VyYWQgY2FjaGUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAxCiBtc2dpZCAidGVzdCBpZiB0aGUgZmlsZXN5c3RlbSBzdXBwb3J0cyB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgInRlc3RhIG9tIGZpbHN5c3RlbWV0IHN0w7ZkZXIgb3Nww6VyYWQgY2FjaGUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAzCiBtc2dpZCAiZW5hYmxlIHVudHJhY2tlZCBjYWNoZSB3aXRob3V0IHRlc3RpbmcgdGhlIGZpbGVzeXN0ZW0iCiBtc2dzdHIgImFrdGl2ZXJhIG9zcMOlcmFkIGNhY2hlIHV0YW4gYXR0IHRlc3RhIGZpbHN5c3RlbWV0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMzQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTExOQorbXNnaWQgIiIKKyJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgorInRvIGRpc2FibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKK21zZ3N0ciAiIgorImNvcmUudW50cmFja2VkQ2FjaGUgw6RyIHNhdHQgdGlsbCB0cnVlOyB0YSBib3J0IGVsbGVyIMOkbmRyYSBkZXQgb20gZHUgIgorInZlcmtsaWdlbiB2aWxsIGluYWt0aXZlcmEgZGVuIG9zcMOlcmFkZSBjYWNoZW4iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEyMwogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBkaXNhYmxlZCIKIG1zZ3N0ciAiT3Nww6VyYWQgY2FjaGUgw6RyIGluYWt0aXZlcmFkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzMQorbXNnaWQgIiIKKyJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKKyJ0byBlbmFibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKK21zZ3N0ciAiIgorImNvcmUudW50cmFja2VkQ2FjaGUgw6RyIHNhdHQgdGlsbCBmYWxzZTsgdGEgYm9ydCBlbGxlciDDpG5kcmEgZGV0IG9tIGR1ICIKKyJ2ZXJrbGlnZW4gdmlsbCBha3RpdmVyYSBkZW4gb3Nww6VyYWRlIGNhY2hlbiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgogbXNnc3RyICJPc3DDpXJhZCBjYWNoZSDDpHIgYWt0aXZlcmFkIGbDtnIgXCIlc1wiIgpAQCAtMTE2MjUsODMgKzEyOTU1LDExMCBAQAogbXNnc3RyICJnaXQgd29ya3RyZWUgYWRkIFs8ZmxhZ2dvcj5dIDxzw7ZrdsOkZz4gWzxncmVuPl0iCiAKICM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNgotbXNnaWQgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKLW1zZ3N0ciAiZ2l0IHdvcmt0cmVlIHBydW5lIFs8ZmxhZ2dvcj5dIgotCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKIG1zZ2lkICJnaXQgd29ya3RyZWUgbGlzdCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxmbGFnZ29yPl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3Cittc2dpZCAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxvcHRpb25zPl0gPHBhdGg+IgorbXNnc3RyICJnaXQgd29ya3RyZWUgbG9jayBbPGZsYWdnb3I+XSA8c8O2a3bDpGc+IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKK21zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPGZsYWdnb3I+XSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE5Cittc2dpZCAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGF0aD4iCittc2dzdHIgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHPDtmt2w6RnPiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogbm90IGEgdmFsaWQgZGlyZWN0b3J5IgogbXNnc3RyICJUYXIgYm9ydCB3b3JrdHJlZXMvJXM6IGludGUgZW4gZ2lsdGlnIGthdGFsb2ciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogZ2l0ZGlyIGZpbGUgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIlRhciBib3J0IHdvcmt0cmVlcy8lczogZ2l0ZGlyLWZpbGVuIGV4aXN0ZXJhciBpbnRlIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IHVuYWJsZSB0byByZWFkIGdpdGRpciBmaWxlICglcykiCiBtc2dzdHIgIlRhciBib3J0IHdvcmt0cmVlcy8lczoga2FuIGludGUgbMOkc2EgZ2l0ZGlyLWZpbGVuICglcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogaW52YWxpZCBnaXRkaXIgZmlsZSIKIG1zZ3N0ciAiVGFyIGJvcnQgd29ya3RyZWVzLyVzOiBmZWxha3RpZyBnaXRkaXItZmlsIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIHBvaW50cyB0byBub24tZXhpc3RlbnQgbG9jYXRpb24iCiBtc2dzdHIgIlRhciBib3J0IHdvcmt0cmVlcy8lczogZ2l0ZGlyLWZpbGVuIHBla2FyIHDDpSBlbiBpY2tlZXhpc3RlcmFuZGUgcGxhdHMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgotbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydCBcIiVzXCIiCi0KLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiXCIlc1wiIGZpbm5zIHJlZGFuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjM0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IG9mICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEga2F0YWxvZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjI3MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjI3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgJXMgKGlkZW50aWZpZXIgJXMpIgogbXNnc3RyICJGw7ZyYmVyZWRlciAlcyAoaWRlbnRpZmllcmFyZW4gJXMpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzIyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzIzCiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gZXZlbiBpZiBhbHJlYWR5IGNoZWNrZWQgb3V0IGluIG90aGVyIHdvcmt0cmVlIgogbXNnc3RyICIiCiAiY2hlY2thIHV0IDxncmVuPiDDpHZlbiBvbSBkZW4gcmVkYW4gw6RyIHV0Y2hlY2thZCBpIGVuIGFubmFuIGFyYmV0c2thdGFsb2ciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKIG1zZ2lkICJjcmVhdGUgYSBuZXcgYnJhbmNoIgogbXNnc3RyICJza2FwYSBlbiBueSBncmVuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3CiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICJza2FwYSBlbGxlciDDpXRlcnN0w6RsbCBlbiBncmVuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3Ci1tc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgotbXNnc3RyICJrb3BwbGEgZnLDpW4gSEVBRCB2aWQgbmFtbmdpdmVuIGluY2hlY2tuaW5nIgotCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI5CiBtc2dpZCAicG9wdWxhdGUgdGhlIG5ldyB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImJlZm9sa2EgZGVuIG55YSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzcKIG1zZ2lkICItYiwgLUIsIGFuZCAtLWRldGFjaCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYiwgLUIgb2NoIC0tZGV0YWNoIMOkciDDtm1zZXNpZGlndCB1dGVzbHV0YW5kZSIKIAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3MAorbXNnaWQgInJlYXNvbiBmb3IgbG9ja2luZyIKK21zZ3N0ciAib3JzYWsgdGlsbCBsw6VzIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDgyIGJ1aWx0aW4vd29ya3RyZWUuYzo1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB3b3JraW5nIHRyZWUiCittc2dzdHIgIlwiJXNcIiDDpHIgaW50ZSBlbiBhcmJldHNrYXRhbG9nIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDg0IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTcKK21zZ2lkICJUaGUgbWFpbiB3b3JraW5nIHRyZWUgY2Fubm90IGJlIGxvY2tlZCBvciB1bmxvY2tlZCIKK21zZ3N0ciAiSHV2dWRhcmJldHNrYXRhbG9nZW4ga2FuIGludGUgbMOlc2FzIGVsbGVyIGzDpXNhcyB1cHAiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIKK21zZ3N0ciAiXCIlc1wiIMOkciByZWRhbiBsw6VzdCwgb3JzYWs6ICVzIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiCittc2dzdHIgIlwiJXNcIiDDpHIgcmVkYW4gbMOlc3QiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgorbXNnc3RyICJcIiVzXCIgw6RyIGludGUgbMOlc3QiCisKICM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjEzCiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgpAQCAtMTE3MTgsNiArMTMwNzUsMzkgQEAKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgogbXNnc3RyICJlbmRhc3QgYW52w6RuZGJhcnQgdmlkIGZlbHPDtmtuaW5nIgogCisjOiB1cGxvYWQtcGFjay5jOjIyCittc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgorbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzxmbGFnZ29yPl0gPGthdGFsb2c+IgorCisjOiB1cGxvYWQtcGFjay5jOjEwMjgKK21zZ2lkICJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiCittc2dzdHIgImF2c2x1dGEgb21lZGVsYmFydCBlZnRlciBmw7Zyc3RhIGFucm9wL3N2YXItdXR2w6R4bGluZyIKKworIzogdXBsb2FkLXBhY2suYzoxMDMwCittc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBpbml0aWFsIHJlZiBhZHZlcnRpc2VtZW50IgorbXNnc3RyICJhdnNsdXRhIG9tZWRlbGJhcnQgZWZ0ZXIgaW5sZWRhbmRlIGt1bmfDtnJlbHNlIGF2IHJlZmVyZW5zZXIiCisKKyM6IHVwbG9hZC1wYWNrLmM6MTAzMgorbXNnaWQgImRvIG5vdCB0cnkgPGRpcmVjdG9yeT4vLmdpdC8gaWYgPGRpcmVjdG9yeT4gaXMgbm8gR2l0IGRpcmVjdG9yeSIKK21zZ3N0ciAidGVzdGEgaW50ZSA8a2F0YWxvZz4vLmdpdC8gb20gPGthdGFsb2c+IGludGUgw6RyIGVuIEdpdC1rYXRhbG9nIgorCisjOiB1cGxvYWQtcGFjay5jOjEwMzQKK21zZ2lkICJpbnRlcnJ1cHQgdHJhbnNmZXIgYWZ0ZXIgPG4+IHNlY29uZHMgb2YgaW5hY3Rpdml0eSIKK21zZ3N0ciAiYXZicnl0IMO2dmVyZsO2cmluZ2VuIGVmdGVyIDxuPiBzZWt1bmRlcnMgaW5ha3Rpdml0ZXQiCisKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIHBlcm1pc3Npb25zIG9uIHlvdXIgc29ja2V0IGRpcmVjdG9yeSBhcmUgdG9vIGxvb3NlOyBvdGhlclxuIgorInVzZXJzIG1heSBiZSBhYmxlIHRvIHJlYWQgeW91ciBjYWNoZWQgY3JlZGVudGlhbHMuIENvbnNpZGVyIHJ1bm5pbmc6XG4iCisiXG4iCisiXHRjaG1vZCAwNzAwICVzIgorbXNnc3RyICIiCisiQmVow7ZyaWdoZXRlbiBww6UgZGluIHV0dGFncy1rYXRhbG9nIChzb2NrZXQpIMOkciBmw7ZyIGzDtnM7IGFuZHJhXG4iCisiYW52w6RuZGFyZSBrYW4gbMOkc2EgZGluYSBjYWNoYWRlIGlubG9nZ25pbmdzdXBwZ2lmdGVyLiBEdSBiw7ZyIGvDtnJhOlxuIgorIlxuIgorIlx0Y2htb2QgMDcwMCAlcyIKKwogIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcxCiBtc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKIG1zZ3N0ciAic2tyaXYgZmVsc8O2a25pbmdzbWVkZGVsYW5kZW4gcMOlIHN0YW5kYXJkIGZlbCIKQEAgLTExNzMyLDcgKzEzMTIyLDExIEBACiAibsOlZ3JhIGtvbmNlcHR2w6RnbGVkbmluZ2FyLiBTZSBcImdpdCBoZWxwIDxrb21tYW5kbz5cIiBlbGxlciBcImdpdCBoZWxwXG4iCiAiPGtvbmNlcHQ+XCIgZsO2ciBhdHQgbMOkc2EgbWVyIG9tIHNwZWNpZmlrYSB1bmRlcmtvbW1hbmRvbiBvY2gga29uY2VwdC4iCiAKLSM6IGh0dHAuYzozMjIKKyM6IGh0dHAuYzozNDIKK21zZ2lkICJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiCittc2dzdHIgIkRlbGVnZXJhZCBzdHlybmluZyBzdMO2ZHMgaW50ZSBhdiBjVVJMIDwgNy4yMi4wIgorCisjOiBodHRwLmM6MzUxCiBtc2dpZCAiUHVibGljIGtleSBwaW5uaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICJGYXN0bsOlbG5pbmcgYXYgw7ZwcGVuIG55Y2tlbCBzdMO2ZHMgaW50ZSBhdiBjVVJMIDwgNy40NC4wIgogCkBAIC0xMTg0OCwxNSArMTMyNDIsMTUgQEAKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgImluZ2VuIGZ1bmt0aW9uIChiYWvDpXRrb21wYXRpYmlsaXRldCkiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyMzcKKyM6IHBhcnNlLW9wdGlvbnMuaDoyMzgKIG1zZ2lkICJiZSBtb3JlIHZlcmJvc2UiCiBtc2dzdHIgInZhciBtZXIgcHJhdHNhbSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzOQorIzogcGFyc2Utb3B0aW9ucy5oOjI0MAogbXNnaWQgImJlIG1vcmUgcXVpZXQiCiBtc2dzdHIgInZhciBtZXIgdHlzdCIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI0NQorIzogcGFyc2Utb3B0aW9ucy5oOjI0NgogbXNnaWQgInVzZSA8bj4gZGlnaXRzIHRvIGRpc3BsYXkgU0hBLTFzIgogbXNnc3RyICJhbnbDpG5kIDxuPiBzaWZmcm9yIGbDtnIgYXR0IHZpc2EgU0hBLTE6b3IiCiAKQEAgLTExODY0LDMyICsxMzI1OCwzMiBAQAogbXNnaWQgInVwZGF0ZSB0aGUgaW5kZXggd2l0aCByZXVzZWQgY29uZmxpY3QgcmVzb2x1dGlvbiBpZiBwb3NzaWJsZSIKIG1zZ3N0ciAidXBwZGF0ZXJhIGluZGV4ZXQgbWVkIMOldGVyYW52w6RuZCBrb25mbGlrdGzDtnNuaW5nIG9tIG3DtmpsaWd0IgogCi0jOiBnaXQtYmlzZWN0LnNoOjU1CisjOiBnaXQtYmlzZWN0LnNoOjU0CiBtc2dpZCAiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIiCiBtc2dzdHIgIkR1IG3DpXN0ZSBzdGFydGEgbWVkIFwiZ2l0IGJpc2VjdCBzdGFydFwiIgogCiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW1ldIGFuZCBbbl0gaW4geW91cgogIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAogIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1iaXNlY3Quc2g6NjEKKyM6IGdpdC1iaXNlY3Quc2g6NjAKIG1zZ2lkICJEbyB5b3Ugd2FudCBtZSB0byBkbyBpdCBmb3IgeW91IFtZL25dPyAiCiBtc2dzdHIgIlZpbGwgZHUgYXR0IGphZyBza2EgZ8O2cmEgZGV0IMOldCBkaWcgW1k9amEvTj1uZWpdPyIKIAotIzogZ2l0LWJpc2VjdC5zaDoxMjIKKyM6IGdpdC1iaXNlY3Quc2g6MTIxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbmlzZWQgb3B0aW9uOiAnJGFyZyciCiBtc2dzdHIgImZsYWdnYW4ga8Okbm5zIGludGUgaWdlbjogXCIkYXJnXCIiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTI2CisjOiBnaXQtYmlzZWN0LnNoOjEyNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmcnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIHJldmlzaW9uIgogbXNnc3RyICJcIiRhcmdcIiB2ZXJrYXIgaW50ZSB2YXJhIGVuIGdpbHRpZyByZXZpc2lvbiIKIAotIzogZ2l0LWJpc2VjdC5zaDoxNTUKKyM6IGdpdC1iaXNlY3Quc2g6MTU0CiBtc2dpZCAiQmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIgogbXNnc3RyICJGZWxha3RpZ3QgSEVBRCAtIEphZyBiZWjDtnZlciBldHQgSEVBRCIKIAotIzogZ2l0LWJpc2VjdC5zaDoxNjgKKyM6IGdpdC1iaXNlY3Quc2g6MTY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiQ2hlY2tpbmcgb3V0ICckc3RhcnRfaGVhZCcgZmFpbGVkLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPHZhbGlkLWJyYW5jaD4nLiIKQEAgLTExODk4LDI3ICsxMzI5MiwyOCBAQAogIjxnaWx0aWdfZ3Jlbj5cIiIKIAogIyBjb2dpdG8tcmVsYXRlcmF0Ci0jOiBnaXQtYmlzZWN0LnNoOjE3OAorIzogZ2l0LWJpc2VjdC5zaDoxNzcKIG1zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgogbXNnc3RyICJrw7ZyIGludGUgXCJiaXNlY3RcIiBww6UgdHLDpGQgZMOkciBcImNnLXNlZWtcIiBhbnbDpG50cyIKIAotIzogZ2l0LWJpc2VjdC5zaDoxODIKKyM6IGdpdC1iaXNlY3Quc2g6MTgxCiBtc2dpZCAiQmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKIG1zZ3N0ciAiRmVsYWt0aWd0IEhFQUQgLSBrb25zdGlnIHN5bWJvbGlzayByZWZlcmVucyIKIAotIzogZ2l0LWJpc2VjdC5zaDoyMzQKKyM6IGdpdC1iaXNlY3Quc2g6MjMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgYmlzZWN0X3dyaXRlIGFyZ3VtZW50OiAkc3RhdGUiCiBtc2dzdHIgIkZlbGFrdGlndCBhcmd1bWVudCB0aWxsIGJpc2VjdF93cml0ZTogJHN0YXRlIgogCi0jOiBnaXQtYmlzZWN0LnNoOjI2MworIzogZ2l0LWJpc2VjdC5zaDoyNjIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRhcmciCiBtc2dzdHIgIkZlbGFrdGlnIHJldi1pbmRhdGE6ICRhcmciCiAKLSM6IGdpdC1iaXNlY3Quc2g6Mjc4Ci1tc2dpZCAiUGxlYXNlIGNhbGwgJ2Jpc2VjdF9zdGF0ZScgd2l0aCBhdCBsZWFzdCBvbmUgYXJndW1lbnQuIgotbXNnc3RyICJBbnJvcGEgXCJiaXNlY3Rfc3RhdGVcIiBtZWQgbWluc3QgZXR0IGFyZ3VtZW50LiIKKyM6IGdpdC1iaXNlY3Quc2g6MjgxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJCYWQgcmV2IGlucHV0OiAkYmlzZWN0ZWRfaGVhZCIKK21zZ3N0ciAiRmVsYWt0aWcgcmV2LWluZGF0YTogJGJpc2VjdGVkX2hlYWQiCiAKICM6IGdpdC1iaXNlY3Quc2g6MjkwCiAjLCBzaC1mb3JtYXQKQEAgLTEyMDY3LDcgKzEzNDYyLDQ3IEBACiAib2dpbHRpZ3QgYXJndW1lbnQgJGFyZyBmw7ZyIFwiZ2l0IGJpc2VjdCB0ZXJtc1wiLlxuIgogIkZsYWdnb3Igc29tIHN0w7ZkcyDDpHI6IC0tdGVybS1nb29kfC0tdGVybS1vbGQgb2NoIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTcKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjQ2Cittc2dpZCAiIgorIkVycm9yOiBZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCisibWVyZ2UiCittc2dzdHIgIiIKKyJGZWw6IERpbmEgbG9rYWxhIMOkbmRyaW5nYXIgYXYgZsO2bGphbmRlIGZpbGVyIHNrdWxsZSBza3JpdmFzIMO2dmVyIGF2ICIKKyJzYW1tYW5zbGFnbmluZyIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NjEKK21zZ2lkICJBdXRvbWF0ZWQgbWVyZ2UgZGlkIG5vdCB3b3JrLiIKK21zZ3N0ciAiQXV0b21hdGlzayBzYW1tYW5zbGFnbmluZyBtaXNzbHlja2FkZXMuIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo2MgorbXNnaWQgIlNob3VsZCBub3QgYmUgZG9pbmcgYW4gb2N0b3B1cy4iCittc2dzdHIgIkJvcmRlIGludGUgYW52w6RuZGEgb2N0b3B1cy4iCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjczCisjLCBzaC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gZmluZCBjb21tb24gY29tbWl0IHdpdGggJHByZXR0eV9uYW1lIgorbXNnc3RyICJLdW5kZSBpbnRlIGhpdHRhIGdlbWVuc2FtIGluY2hlY2tuaW5nIG1lZCAkcHJldHR5X25hbWUiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjc3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUgd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgIlJlZGFuIMOgIGpvdXIgbWVkICRwcmV0dHlfbmFtZSIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6ODkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhc3QtZm9yd2FyZGluZyB0bzogJHByZXR0eV9uYW1lIgorbXNnc3RyICJTbmFiYnNwb2xhciB0aWxsOiAkcHJldHR5X25hbWUiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjk3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJUcnlpbmcgc2ltcGxlIG1lcmdlIHdpdGggJHByZXR0eV9uYW1lIgorbXNnc3RyICJGw7Zyc8O2ayBlbmtlbCBzYW1tYW5zbGFnbmluZyBtZWQgJHByZXR0eV9uYW1lIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDoxMDIKK21zZ2lkICJTaW1wbGUgbWVyZ2UgZGlkIG5vdCB3b3JrLCB0cnlpbmcgYXV0b21hdGljIG1lcmdlLiIKK21zZ3N0ciAiRW5rZWwgc2FtbWFuc2xhZ25pbmcgbWlzc2x5Y2thZGVzLCBmw7Zyc8O2a2VyIGF1dG9tYXRpc2sgc2FtbWFuc2xhZ25pbmcuIgorCisjOiBnaXQtcmViYXNlLnNoOjU2CiBtc2dpZCAiIgogIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBpbnN0ZWFkLlxuIgpAQCAtMTIwNzgsMTYgKzEzNTEzLDIxIEBACiAiT20gZHUgdmlsbCBob3BwYSDDtnZlciBwYXRjaGVuIGvDtnIgZHUgaXN0w6RsbGV0IFwiZ2l0IHJlYmFzZSAtLXNraXBcIi5cbiIKICJGw7ZyIGF0dCDDpXRlcnN0w6RsbGEgb3JpZ2luYWxncmVuZW4gb2NoIGF2YnJ5dGEga8O2ciBkdSBcImdpdCByZWJhc2UgLS1hYm9ydFwiLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNjgKKyM6IGdpdC1yZWJhc2Uuc2g6MTU2IGdpdC1yZWJhc2Uuc2g6Mzk1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCittc2dzdHIgIkt1bmRlIGludGUgZmx5dHRhIHRpbGxiYWthIHRpbGwgJGhlYWRfbmFtZSIKKworIzogZ2l0LXJlYmFzZS5zaDoxNjcKIG1zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCiBtc2dzdHIgIlRpbGzDpG1wYWRlIGF1dG9zdGFzaC4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTcxCisjOiBnaXQtcmViYXNlLnNoOjE3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgogbXNnc3RyICJLYW4gaW50ZSBzcGFyYSAkc3Rhc2hfc2hhMSIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNzIKKyM6IGdpdC1yZWJhc2Uuc2g6MTcxCiBtc2dpZCAiIgogIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCiAiWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC5cbiIKQEAgLTEyMDk3LDI3ICsxMzUzNywyNyBAQAogIkRpbmEgw6RuZHJpbmdhciDDpHIgc8Oka3JhIGkgc3Rhc2hlbi5cbiIKICJEdSBrYW4gbsOkciBzb20gaGVsc3QgYW52w6RuZGEgXCJnaXQgc3Rhc2ggcG9wXCIgZWxsZXIgXCJnaXQgc3Rhc2ggZHJvcFwiLlxuIgogCi0jOiBnaXQtcmViYXNlLnNoOjIxMQorIzogZ2l0LXJlYmFzZS5zaDoyMTAKIG1zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKIG1zZ3N0ciAiS3Jva2VuIHByZS1yZWJhc2UgdsOkZ3JhZGUgb21iYXNlcmluZ2VuLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoyMTYKKyM6IGdpdC1yZWJhc2Uuc2g6MjE1CiBtc2dpZCAiSXQgbG9va3MgbGlrZSBnaXQtYW0gaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIgogbXNnc3RyICJEZXQgdmVya2FyIHNvbSBlbiBnaXQtYW0ga8O2cnMuIEthbiBpbnRlIG9tYmFzZXJhLiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNTcKKyM6IGdpdC1yZWJhc2Uuc2g6MzU2CiBtc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKIG1zZ3N0ciAiSW5nZW4gb21iYXNlcmluZyBww6Vnw6VyPyIKIAotIzogZ2l0LXJlYmFzZS5zaDozNjgKKyM6IGdpdC1yZWJhc2Uuc2g6MzY3CiBtc2dpZCAiVGhlIC0tZWRpdC10b2RvIGFjdGlvbiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnRlcmFjdGl2ZSByZWJhc2UuIgogbXNnc3RyICLDhXRnw6RyZGVuIC0tZWRpdC10b2RvIGthbiBlbmRhc3QgYW52w6RuZGFzIHVuZGVyIGludGVyYWt0aXYgb21iYXNlcmluZy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzc1CisjOiBnaXQtcmViYXNlLnNoOjM3NAogbXNnaWQgIkNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIkthbiBpbnRlIGzDpHNhIEhFQUQiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzc4CisjOiBnaXQtcmViYXNlLnNoOjM3NwogbXNnaWQgIiIKICJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKICJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKQEAgLTEyMTI1LDEyICsxMzU2NSw3IEBACiAiRHUgbcOlc3RlIHJlZGlnZXJhIGFsbGEgc2FtbWFuc2xhZ25pbmdza29uZmxpa3RlciBvY2hcbiIKICJkw6RyZWZ0ZXIgbWFya2VyYSBkZW0gc29tIGzDtnN0YSBtZWQgZ2l0IGFkZCIKIAotIzogZ2l0LXJlYmFzZS5zaDozOTYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKLW1zZ3N0ciAiS3VuZGUgaW50ZSBmbHl0dGEgdGlsbGJha2EgdGlsbCAkaGVhZF9uYW1lIgotCi0jOiBnaXQtcmViYXNlLnNoOjQxNQorIzogZ2l0LXJlYmFzZS5zaDo0MTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKQEAgLTEyMTUxLDk4ICsxMzU4NiwxMDIgQEAKICJvY2gga8O2ciBwcm9ncmFtbWV0IGlnZW4uIEphZyBhdnNsdXRhciBpZmFsbCBkdSBmb3J0ZmFyYW5kZSBoYXJcbiIKICJuw6Vnb3QgYXYgdsOkcmRlIGTDpHIuIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ2NgorIzogZ2l0LXJlYmFzZS5zaDo0NjUKICMsIHNoLWZvcm1hdAogbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJHVwc3RyZWFtX25hbWUiCiBtc2dzdHIgIm9naWx0aWcgdXBwc3Ryw7ZtICR1cHN0cmVhbV9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5MAorIzogZ2l0LXJlYmFzZS5zaDo0ODkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgogbXNnc3RyICIkb250b19uYW1lOiBtZXIgw6RuIGVuIHNhbW1hbnNsYWduaW5nc2JhcyBmaW5ucyIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTMgZ2l0LXJlYmFzZS5zaDo0OTcKKyM6IGdpdC1yZWJhc2Uuc2g6NDkyIGdpdC1yZWJhc2Uuc2g6NDk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgogbXNnc3RyICIkb250b19uYW1lOiBpbmdlbiBzYW1tYW5zbGFnbmluZ3NiYXMgZmlubnMiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTAyCisjOiBnaXQtcmViYXNlLnNoOjUwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCiBtc2dzdHIgIlBla2EgcMOlIGVuIGdpbHRpZyBpbmNoZWNrbmluZzogJG9udG9fbmFtZSIKIAotIzogZ2l0LXJlYmFzZS5zaDo1MjUKKyM6IGdpdC1yZWJhc2Uuc2g6NTI0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2g6ICRicmFuY2hfbmFtZSIKIG1zZ3N0ciAiw7ZkZXNkaWdlcnQ6IGluZ2VuIHPDpWRhbiBncmVuOiAkYnJhbmNoX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTU4CisjOiBnaXQtcmViYXNlLnNoOjU1NwogbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCiBtc2dzdHIgIkthbiBpbnRlIHV0ZsO2cmEgXCJhdXRvc3Rhc2hcIiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjMKKyM6IGdpdC1yZWJhc2Uuc2g6NTYyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKIG1zZ3N0ciAiU2thcGFkZSBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTY3CisjOiBnaXQtcmViYXNlLnNoOjU2NgogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIkNoZWNrYSBpbiBlbGxlciBhbnbDpG5kIFwic3Rhc2hcIiBww6UgZGVtLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1ODcKKyM6IGdpdC1yZWJhc2Uuc2g6NTg2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIkFrdHVlbGwgZ3JlbiAkYnJhbmNoX25hbWUgw6RyIMOgIGpvdXIuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU5MQorIzogZ2l0LXJlYmFzZS5zaDo1OTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAiQWt0dWVsbCBncmVuICRicmFuY2hfbmFtZSDDpHIgw6Agam91ciwgb21iYXNlcmluZyBmcmFtdHZpbmdhZC4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjAyCisjOiBnaXQtcmViYXNlLnNoOjYwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCiBtc2dzdHIgIsOEbmRyaW5nYXIgZnLDpW4gJG1iIHRpbGwgJG9udG86IgogCi0jOiBnaXQtcmViYXNlLnNoOjYxMQorIzogZ2l0LXJlYmFzZS5zaDo2MTAKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIiIKICJGw7Zyc3QsIHNwb2xhciB0aWxsYmFrYSBodXZ1ZGV0IGbDtnIgYXR0IHNwZWxhIGF2IGRpdHQgYXJiZXRlIG92YW5ww6UgZGV0Li4uIgogCi0jOiBnaXQtcmViYXNlLnNoOjYyMQorIzogZ2l0LXJlYmFzZS5zaDo2MjAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAiU25hYmJzcG9sYWRlICRicmFuY2hfbmFtZSB0aWxsICRvbnRvX25hbWUuIgogCi0jOiBnaXQtc3Rhc2guc2g6NTEKKyM6IGdpdC1zdGFzaC5zaDo1MAogbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKIG1zZ3N0ciAiXCJnaXQgc3Rhc2ggY2xlYXJcIiBtZWQgcGFyYW1ldHJhciBoYXIgaW50ZSBpbXBsZW1lbnRlcmF0cyIKIAotIzogZ2l0LXN0YXNoLnNoOjc0CisjOiBnaXQtc3Rhc2guc2g6NzMKIG1zZ2lkICJZb3UgZG8gbm90IGhhdmUgdGhlIGluaXRpYWwgY29tbWl0IHlldCIKIG1zZ3N0ciAiRHUgaGFyIGludGUgZGVuIGbDtnJzdGEgaW5jaGVja25pbmdlbiDDpG5udSIKIAotIzogZ2l0LXN0YXNoLnNoOjg5CisjOiBnaXQtc3Rhc2guc2g6ODgKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKIG1zZ3N0ciAiS2FuIGludGUgc3BhcmEgYWt0dWVsbHQgdGlsbHN0w6VuZCBmw7ZyIGluZGV4ZXQiCiAKLSM6IGdpdC1zdGFzaC5zaDoxMjQgZ2l0LXN0YXNoLnNoOjEzNworIzogZ2l0LXN0YXNoLnNoOjEwMworbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSB1bnRyYWNrZWQgZmlsZXMiCittc2dzdHIgIkthbiBpbnRlIHNwYXJhIG9zcMOlcmFkZSBmaWxlciIKKworIzogZ2l0LXN0YXNoLnNoOjEyMyBnaXQtc3Rhc2guc2g6MTM2CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCiBtc2dzdHIgIkthbiBpbnRlIHNwYXJhIGFrdHVlbGx0IHRpbGxzdMOlbmQgZsO2ciBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGdpdC1zdGFzaC5zaDoxNDEKKyM6IGdpdC1zdGFzaC5zaDoxNDAKIG1zZ2lkICJObyBjaGFuZ2VzIHNlbGVjdGVkIgogbXNnc3RyICJJbmdhIMOkbmRyaW5nYXIgdmFsZGEiCiAKLSM6IGdpdC1zdGFzaC5zaDoxNDQKKyM6IGdpdC1zdGFzaC5zaDoxNDMKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBpbmRleCAoY2FuJ3QgaGFwcGVuKSIKIG1zZ3N0ciAiS2FuIGludGUgdGEgYm9ydCB0ZW1wb3LDpHJ0IGluZGV4IChrYW4gaW50ZSBpbnRyw6RmZmEpIgogCi0jOiBnaXQtc3Rhc2guc2g6MTU3CisjOiBnaXQtc3Rhc2guc2g6MTU2CiBtc2dpZCAiQ2Fubm90IHJlY29yZCB3b3JraW5nIHRyZWUgc3RhdGUiCiBtc2dzdHIgIkthbiBpbnRlIHJlZ2lzdHJlcmEgdGlsbHN0w6VuZCBmw7ZyIGFyYmV0c2thdGFsb2ciCiAKLSM6IGdpdC1zdGFzaC5zaDoxODkKKyM6IGdpdC1zdGFzaC5zaDoxODgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgJHJlZl9zdGFzaCB3aXRoICR3X2NvbW1pdCIKIG1zZ3N0ciAiS2FuIGludGUgdXBwZGF0ZXJhICRyZWZfc3Rhc2ggbWVkICR3X2NvbW1pdCIKQEAgLTEyMjU3LDcgKzEzNjk2LDcgQEAKICMuICQgZ2l0IHN0YXNoIHNhdmUgLS1ibGFoLWJsYWggMj4mMSB8IGhlYWQgLW4gMgogIy4gZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6IC0tYmxhaC1ibGFoCiAjLiBUbyBwcm92aWRlIGEgbWVzc2FnZSwgdXNlIGdpdCBzdGFzaCBzYXZlIC0tICctLWJsYWgtYmxhaCcKLSM6IGdpdC1zdGFzaC5zaDoyMzkKKyM6IGdpdC1zdGFzaC5zaDoyMzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogJG9wdGlvblxuIgpAQCAtMTIyNjYsMTA4ICsxMzcwNSwxMjYgQEAKICJmZWw6IGZlbGFrdGlnIGZsYWdnYSBmw7ZyIFwic3Rhc2ggc2F2ZVwiOiAkb3B0aW9uXG4iCiAiICAgICBGw7ZyIGF0dCBhbmdlIGV0dCBtZWRkZWxhbmRlLCBhbnbDpG5kIGdpdCBzdGFzaCBzYXZlIC0tIFwiJG9wdGlvblwiIgogCi0jOiBnaXQtc3Rhc2guc2g6MjYwCisjOiBnaXQtc3Rhc2guc2g6MjUxCittc2dpZCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKK21zZ3N0ciAiIgorIkthbiBpbnRlIGFudsOkbmRhIC0tcGF0Y2ggb2NoIC0taW5jbHVkZS11bnRyYWNrZWQgZWxsZXIgLS1hbGwgc2FtdGlkaWd0LiIKKworIzogZ2l0LXN0YXNoLnNoOjI1OQogbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKIG1zZ3N0ciAiSW5nYSBsb2thbGEgw6RuZHJpbmdhciBhdHQgc3BhcmEiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjQKKyM6IGdpdC1zdGFzaC5zaDoyNjMKIG1zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKIG1zZ3N0ciAiS2FuIGludGUgaW5pdGllcmEgXCJzdGFzaFwiIgogCi0jOiBnaXQtc3Rhc2guc2g6MjY4CisjOiBnaXQtc3Rhc2guc2g6MjY3CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgogbXNnc3RyICJLYW4gaW50ZSBzcGFyYSBha3R1ZWxsIHN0YXR1cyIKIAotIzogZ2l0LXN0YXNoLnNoOjI4NgorIzogZ2l0LXN0YXNoLnNoOjI2OAorIywgc2gtZm9ybWF0Cittc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCittc2dzdHIgIlNwYXJhZGUgYXJiZXRza2F0YWxvZ2VuIG9jaCBpbmRleHN0YXR1cyAkc3Rhc2hfbXNnIgorCisjOiBnaXQtc3Rhc2guc2g6Mjg1CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICJLYW4gaW50ZSB0YSBib3J0IMOkbmRyaW5nYXIgaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0MDUKKyM6IGdpdC1zdGFzaC5zaDo0MDMKICMsIHNoLWZvcm1hdAogbXNnaWQgInVua25vd24gb3B0aW9uOiAkb3B0IgogbXNnc3RyICJva8OkbmQgZmxhZ2dhOiAkb3B0IgogCi0jOiBnaXQtc3Rhc2guc2g6NDE1CisjOiBnaXQtc3Rhc2guc2g6NDE2CiBtc2dpZCAiTm8gc3Rhc2ggZm91bmQuIgogbXNnc3RyICJJbmdlbiBcInN0YXNoXCIgaGl0dGFkZXMuIgogCi0jOiBnaXQtc3Rhc2guc2g6NDIyCisjOiBnaXQtc3Rhc2guc2g6NDIzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICJGw7ZyIG3DpW5nYSByZXZpc2lvbmVyIGFuZ2l2bmE6ICRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjgKKyM6IGdpdC1zdGFzaC5zaDo0MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIMOkciBpbnRlIGVuIGdpbHRpZyByZWZlcmVucyIKIAotIzogZ2l0LXN0YXNoLnNoOjQ1NgorIzogZ2l0LXN0YXNoLnNoOjQ2NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKIG1zZ3N0ciAiXCIkYXJnc1wiIMOkciBpbnRlIGVuIFwic3Rhc2hcIi1saWtuYW5kZSBpbmNoZWNrbmluZyIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2NworIzogZ2l0LXN0YXNoLnNoOjQ3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIlwiJGFyZ3NcIiDDpHIgaW50ZSBlbiBcInN0YXNoXCItcmVmZXJlbnMiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NzUKKyM6IGdpdC1zdGFzaC5zaDo0ODUKIG1zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAia2FuIGludGUgdXBwZGF0ZXJhIGluZGV4ZXQiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NzkKKyM6IGdpdC1zdGFzaC5zaDo0ODkKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCiBtc2dzdHIgIkthbiBpbnRlIHRpbGzDpG1wYSBlbiBcInN0YXNoXCIgbWl0dCBpIGVuIHNhbW1hbnNsYWduaW5nIgogCi0jOiBnaXQtc3Rhc2guc2g6NDg3CisjOiBnaXQtc3Rhc2guc2g6NDk3CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiS29uZmxpa3RlciBpIGluZGV4ZXQuIFRlc3RhIHV0YW4gLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODkKKyM6IGdpdC1zdGFzaC5zaDo0OTkKIG1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgogbXNnc3RyICJLdW5kZSBpbnRlIHNwYXJhIGluZGV4dHLDpGQiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MjMKKyM6IGdpdC1zdGFzaC5zaDo1MDgKK21zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKK21zZ3N0ciAiS3VuZGUgaW50ZSDDpXRlcnN0w6RsbGEgb3Nww6VyYWRlIGZpbGVyIGZyw6VuIHN0YXNoIgorCisjOiBnaXQtc3Rhc2guc2g6NTMzCiBtc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCiBtc2dzdHIgIkthbiBpbnRlIHRhIGJvcnQgw6RuZHJhZGUgZmlsZXIgdXIga8O2biIKIAotIzogZ2l0LXN0YXNoLnNoOjUzOAorIzogZ2l0LXN0YXNoLnNoOjU0OAogbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKIG1zZ3N0ciAiSW5kZXhldCBoYXIgaW50ZSB0YWdpdHMgdXIga8O2bi4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NjEKKyM6IGdpdC1zdGFzaC5zaDo1NjIKK21zZ2lkICJUaGUgc3Rhc2ggaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKK21zZ3N0ciAiXCJTdGFzaFwiOmVuIGJlaMOlbGxzIGlmYWxsIGR1IGJlaMO2dmVyIGRlbiBpZ2VuLiIKKworIzogZ2l0LXN0YXNoLnNoOjU3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAiS2FzdGFkZSAke1JFVn0gKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjU2MgorIzogZ2l0LXN0YXNoLnNoOjU3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ9OiBLdW5kZSBpbnRlIGthc3RhIFwic3Rhc2hcIi1wb3N0IgogCi0jOiBnaXQtc3Rhc2guc2g6NTcwCisjOiBnaXQtc3Rhc2guc2g6NTgwCiBtc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgogbXNnc3RyICJJbmdldCBncmVubmFtbiBhbmdhdnMiCiAKLSM6IGdpdC1zdGFzaC5zaDo2NDIKKyM6IGdpdC1zdGFzaC5zaDo2NTIKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIihGw7ZyIGF0dCDDpXRlcnN0w6RsbGEgZGVtLCBza3JpdiBcImdpdCBzdGFzaCBhcHBseVwiKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTg0CiBtc2dpZCAiUmVsYXRpdmUgcGF0aCBjYW4gb25seSBiZSB1c2VkIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIlJlbGF0aXYgc8O2a3bDpGcga2FuIGVuZGFzdCBhbnbDpG5kYXMgZnLDpW4gYXJiZXRza2F0YWxvZ2VucyB0b3Bwbml2w6UiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjI5CisjOiBnaXQtc3VibW9kdWxlLnNoOjE5NAogIywgc2gtZm9ybWF0CiBtc2dpZCAicmVwbyBVUkw6ICckcmVwbycgbXVzdCBiZSBhYnNvbHV0ZSBvciBiZWdpbiB3aXRoIC4vfC4uLyIKIG1zZ3N0ciAiYXJraXYtVVJMOiBcIiRyZXBvXCIgbcOlc3RlIHZhcmEgYWJzb2x1dCBlbGxlciBiw7ZyamEgbWVkIC4vfC4uLyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjExCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAiXCIkc21fcGF0aFwiIGZpbm5zIHJlZGFuIGkgaW5kZXhldCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjE1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBwYXRoIGlzIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKQEAgLTEyMzc4LDEwMCArMTM4MzUsOTAgQEAKICIkc21fcGF0aFxuIgogIkFudsOkbmQgLWYgb20gZHUgdmVya2xpZ2VuIHZpbGwgbMOkZ2dhIHRpbGwgZGVuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI2OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICJMw6RnZ2VyIHRpbGwgYmVmaW50bGlndCBhcmtpdiBpIFwiJHNtX3BhdGhcIiBpIGluZGV4ZXQiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjcwCisjOiBnaXQtc3VibW9kdWxlLnNoOjIzNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGEgdmFsaWQgZ2l0IHJlcG8iCiBtc2dzdHIgIlwiJHNtX3BhdGhcIiBmaW5ucyByZWRhbiBvY2ggw6RyIGludGUgZXR0IGdpbHRpZ3QgZ2l0LWFya2l2IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKIG1zZ3N0ciAiRW4gZ2l0LWthdGFsb2cgZsO2ciBcIiRzbV9uYW1lXCIgaGl0dGFkZXMgbG9rYWx0IG1lZCBmasOkcnIoYXIpOiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCi0iSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tIgotbXNnc3RyICIiCi0iRsO2ciBhdHQgw6V0ZXJhbnbDpG5kYSBkZW4gbG9rYWxhIGdpdC1rYXRhbG9nZW4gaXN0w6RsbGV0IGbDtnIgYXR0IHDDpSBueXR0IGtsb25hICIKLSJmcsOlbiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODIKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJ1c2UgdGhlICctLWZvcmNlJyBvcHRpb24uIElmIHRoZSBsb2NhbCBnaXQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgY29ycmVjdCByZXBvIgotbXNnc3RyICIiCi0iYW52w6RuZCBmbGFnZ2FuIFwiLS1mb3JjZVwiLiBPbSBkZW4gbG9rYWxhIGdpdC1rYXRhbG9nZW4gaW50ZSDDpHIgcmlrdGlndCBhcmtpdiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKKyJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb21cbiIKKyIgICRyZWFscmVwb1xuIgorInVzZSB0aGUgJy0tZm9yY2UnIG9wdGlvbi4gSWYgdGhlIGxvY2FsIGdpdCBkaXJlY3RvcnkgaXMgbm90IHRoZSBjb3JyZWN0ICIKKyJyZXBvXG4iCiAib3IgeW91IGFyZSB1bnN1cmUgd2hhdCB0aGlzIG1lYW5zIGNob29zZSBhbm90aGVyIG5hbWUgd2l0aCB0aGUgJy0tbmFtZScgIgogIm9wdGlvbi4iCiBtc2dzdHIgIiIKLSJlbGxlciBvbSBkdSDDpHIgb3PDpGtlciBww6UgdmFkIGRldCBpbm5lYsOkciwgdsOkbGogbnl0dCBuYW1uIG1lZCBmbGFnZ2FuIFwiLS1uYW1lIgotIlwiLiIKKyJPbSBkdSB2aWxsIMOldGVyYW52w6RuZGEgZGVuIGxva2FsYSBnaXQta2F0YWxvZ2VuIGluc3TDpGxsZXQgZsO2ciBhdHQga2xvbmEgcMOlICIKKyJueXR0IGZyw6VuXG4iCisiICAkcmVhbHJlcG9cbiIKKyJrYW4gZHUgYW52w6RuZGEgZmxhZ2dhbiBcIi0tZm9yY2VcIi4gT20gZGVuIGxva2FsYSBnaXQta2F0YWxvZ2VuIGludGUgw6RyICIKKyJrb3JyZWt0XG4iCisiYXJraXYgZWxsZXIgb20gZHUgw6RyIG9zw6RrZXIgcMOlIHZhZCBkZXQgaMOkciBiZXR5ZGVyLCB2w6RsaiBldHQgYW5uYXQgbmFtbiBtZWRcbiIKKyJmbGFnZ2FuIFwiLS1uYW1lXCIuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYWN0aXZhdGluZyBsb2NhbCBnaXQgZGlyZWN0b3J5IGZvciBzdWJtb2R1bGUgJyRzbV9uYW1lJy4iCiBtc2dzdHIgIkFrdGl2ZXJhciBsb2thbCBnaXQta2F0YWxvZyBmw7ZyIHVuZGVybW9kdWxlbiBcIiRzbV9uYW1lXCIgcMOlIG55dHQuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI5NworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiS2FuIGludGUgY2hlY2thIHV0IHVuZGVybW9kdWxlbiBcIiRzbV9wYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzAyCisjOiBnaXQtc3VibW9kdWxlLnNoOjI2OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGFkZCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIGzDpGdnYSB0aWxsIHVuZGVybW9kdWxlbiBcIiRzbV9wYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzExCisjOiBnaXQtc3VibW9kdWxlLnNoOjI3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICJNaXNzbHlja2FkZXMgcmVnaXN0cmVyYSB1bmRlcm1vZHVsZW4gXCIkc21fcGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM1NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDozMjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkVudGVyaW5nICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJHw6VyIGluIGkgXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNzUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzQ0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGluZyBhdCAnJGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCiBtc2dzdHIgIiIKICJTdG9wcGFyIHDDpSBcIiRkaXNwbGF5cGF0aFwiOyBza3JpcHRldCByZXR1cm5lcmFkZSBlbiBzdGF0dXMgc2tpbGQgZnLDpW4gbm9sbC4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDQ4CisjOiBnaXQtc3VibW9kdWxlLnNoOjQxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgYW5kIC0tYWxsIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgInPDtmt2w6Rnc2FuZ2l2ZWxzZSBvY2ggLS1hbGwgw6RyIGlua29tcGF0aWJsYSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDIwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICJBbnbDpG5kIFwiLS1hbGxcIiBvbSBkdSB2ZXJrbGlnZW4gdmlsbCBhdmluaXRpZXJhIGFsbGEgdW5kZXJtb2R1bGVyIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ3MAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5IgotbXNnc3RyICIiCi0iVW5kZXJtb2R1bGVucyBhcmJldHNrYXRhbG9nIFwiJGRpc3BsYXlwYXRoXCIgaW5uZWjDpWxsZXIga2F0YWxvZ2VuIFwiLmdpdFwiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ3MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKKyJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnlcbiIKICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgaGlzdG9yeSkiCiBtc2dzdHIgIiIKKyJVbmRlcm1vZHVsc2FyYmV0c2thdGFsb2dlbiBcIiRkaXNwbGF5cGF0aFwiIGlubmVow6VsbGVyIGVuIC5naXQta2F0YWxvZ1xuIgogIihhbnbDpG5kIFwicm0gLXJmXCIgb20gZHUgdmVya2xpZ2VuIHZpbGwgdGEgYm9ydCBkZW4gb2NoIGFsbCBkZXNzIGhpc3RvcmlrKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDQ4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byAiCkBAIC0xMjQ4MCwxMjQgKzEzOTI3LDEzOCBAQAogIlVuZGVybW9kdWxlbnMgYXJiZXRza2F0YWxvZyBcIiRkaXNwbGF5cGF0aFwiIGhhciBsb2thbGEgw6RuZHJpbmdhcjsgXCItZlwiICIKICJrYXN0YXIgYm9ydCBkZW0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIlJlbnNhZGUga2F0YWxvZ2VuIFwiJGRpc3BsYXlwYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDgxCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBzdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLdW5kZSBpbnRlIHRhIGJvcnQgdW5kZXJtb2R1bGVucyBhcmJldHNrYXRhbG9nIFwiJGRpc3BsYXlwYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDg0CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBlbXB0eSBzdWJtb2R1bGUgZGlyZWN0b3J5ICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLdW5kZSBpbnRlIHNrYXBhIHRvbSB1bmRlcm1vZHVsc2thdGFsb2cgXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0OTMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDY0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgdW5yZWdpc3RlcmVkIGZvciBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiVW5kZXJtb2R1bGVuIFwiJG5hbWVcIiAoJHVybCkgYXZyZWdpc3RyZXJhZCBmw7ZyIHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjE3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLYW4gaW50ZSBoaXR0YSBha3R1ZWxsIHJldmlzaW9uIGkgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NDQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjI3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiS2FuIGludGUgaMOkbXRhIGkgdW5kZXJtb2R1bHPDtmt2w6RnIFwiJHNtX3BhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjMyCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgorIickc21fcGF0aCciCittc2dzdHIgIiIKKyJLYW4gaW50ZSBoaXR0YSBha3R1ZWxsIHJldmlzaW9uIGbDtnIgJHtyZW1vdGVfbmFtZX0vJHticmFuY2h9IGkgIgorInVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJHNtX3BhdGhcIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiS2FuIGludGUgaMOkbXRhIGkgdW5kZXJtb2R1bHPDtmt2w6RnIFwiJGRpc3BsYXlwYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjY1NgorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIkZldGNoZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcsIGJ1dCBpdCBkaWQgbm90IGNvbnRhaW4gJHNoYTEuICIKKyJEaXJlY3QgZmV0Y2hpbmcgb2YgdGhhdCBjb21taXQgZmFpbGVkLiIKK21zZ3N0ciAiIgorIkjDpG10YWRlIGkgdW5kZXJtb2R1bHNzw7ZrdsOkZ2VuIFwiJGRpc3BsYXlwYXRoXCIsIG1lbiBkZW4gaW5uZWjDtmxsIGludGUgJHNoYTEuICIKKyJEaXJla3QgaMOkbXRuaW5nIGF2IGluY2hlY2tuaW5nZW4gbWlzc2x5Y2thZGVzLiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLYW4gaW50ZSBjaGVja2EgdXQgXCIkc2hhMVwiIGkgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjY0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKIG1zZ3N0ciAiVW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIjogY2hlY2thZGUgdXQgXCIkc2hhMVwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiS2FuIGludGUgb21iYXNlcmEgXCIkc2hhMVwiIGkgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjY5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCiBtc2dzdHIgIlVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJGRpc3BsYXlwYXRoXCI6IG9tYmFzZXJhZGUgaW4gaSBcIiRzaGExXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjkxCisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIkthbiBpbnRlIHNsw6UgaWhvcCBcIiRzaGExXCIgaSB1bmRlcm1vZHVsc8O2a3bDpGdlbiBcIiRkaXNwbGF5cGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5MgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzUKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKIG1zZ3N0ciAiVW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIjogc2FtbWFuc2xhZ2VuIGkgXCIkc2hhMVwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIk1pc3NseWNrYWRlcyBrw7ZyYSBcIiRjb21tYW5kICRzaGExXCIgaSB1bmRlcm1vZHVsc8O2a3bDpGdlbiBcIiRkaXNwbGF5cGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICJVbmRlcm1vZHVsc8O2a3bDpGdlbiBcIiRkaXNwbGF5cGF0aFwiOiBcIiRjb21tYW5kICRzaGExXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzI5CisjOiBnaXQtc3VibW9kdWxlLnNoOjcxMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHJla3Vyc2VyYSBpbiBpIHVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJGRpc3BsYXlwYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODM3CisjOiBnaXQtc3VibW9kdWxlLnNoOjgyMAogbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCiBtc2dzdHIgIkZsYWdnYW4gLS1jYWNoZWQga2FuIGludGUgYW52w6RuZGFzIG1lZCBmbGFnZ2FuIC0tZmlsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODg5CisjOiBnaXQtc3VibW9kdWxlLnNoOjg3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICJvdsOkbnRhdCBsw6RnZSAkbW9kX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MDkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODkyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCiBtc2dzdHIgIiAgVmFybmluZzogJGRpc3BsYXlfbmFtZSBpbm5laMOlbGxlciBpbnRlIGluY2hlY2tuaW5nZW4gJHNoYTFfc3JjIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjkxMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiICBWYXJuaW5nOiAkZGlzcGxheV9uYW1lIGlubmVow6VsbGVyIGludGUgaW5jaGVja25pbmdlbiAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTE1CisjOiBnaXQtc3VibW9kdWxlLnNoOjg5OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgogbXNnc3RyICIiCiAiICBWYXJuaW5nOiAkZGlzcGxheV9uYW1lIGlubmVow6VsbGVyIGludGUgaW5jaGVja25pbmdhcm5hICRzaGExX3NyYyBvY2ggIgogIiRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NDAKLW1zZ2lkICJibG9iIgotbXNnc3RyICJibG9iIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwNTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA0NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICJNaXNzbHlja2FkZXMgcmVrdXJzZXJhIGluIGkgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkc21fcGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTExMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiU3lua3JvbmlzZXJhciB1bmRlcm1vZHVsLXVybCBmw7ZyIFwiJGRpc3BsYXlwYXRoXCIiCkBAIC0xMjYwNyw2ICsxNDA2OCw3NDIgQEAKIG1zZ2lkICJTZWUgZ2l0LSR7Y21kfSgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIlNlIGdpdC0ke2NtZH0oMSkgZsO2ciBkZXRhbGplci4iCiAKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMQorIywgc2gtZm9ybWF0Cittc2dpZCAiUmViYXNpbmcgKCRuZXdfY291bnQvJHRvdGFsKSIKK21zZ3N0ciAiT21iYXNlcmFyICgkbmV3X2NvdW50LyR0b3RhbCkiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE0NworbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKKyIgcCwgcGljayA9IHVzZSBjb21taXRcbiIKKyIgciwgcmV3b3JkID0gdXNlIGNvbW1pdCwgYnV0IGVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlXG4iCisiIGUsIGVkaXQgPSB1c2UgY29tbWl0LCBidXQgc3RvcCBmb3IgYW1lbmRpbmdcbiIKKyIgcywgc3F1YXNoID0gdXNlIGNvbW1pdCwgYnV0IG1lbGQgaW50byBwcmV2aW91cyBjb21taXRcbiIKKyIgZiwgZml4dXAgPSBsaWtlIFwic3F1YXNoXCIsIGJ1dCBkaXNjYXJkIHRoaXMgY29tbWl0J3MgbG9nIG1lc3NhZ2VcbiIKKyIgeCwgZXhlYyA9IHJ1biBjb21tYW5kICh0aGUgcmVzdCBvZiB0aGUgbGluZSkgdXNpbmcgc2hlbGxcbiIKKyIgZCwgZHJvcCA9IHJlbW92ZSBjb21taXRcbiIKKyJcbiIKKyJUaGVzZSBsaW5lcyBjYW4gYmUgcmUtb3JkZXJlZDsgdGhleSBhcmUgZXhlY3V0ZWQgZnJvbSB0b3AgdG8gYm90dG9tLlxuIgorbXNnc3RyICIiCisiXG4iCisiS29tbWFuZG9uOlxuIgorIiBwLCBwaWNrID0gYW52w6RuZCBpbmNoZWNrbmluZ1xuIgorIiByLCByZXdvcmQgPSBhbnbDpG5kIGluY2hlY2tuaW5nLCBtZW4gcmVkaWdlcmEgaW5jaGVja25pbmdzbWVkZGVsYW5kZXRcbiIKKyIgZSwgZWRpdCA9IGFudsOkbmQgaW5jaGVja25pbmcsIG1lbiBzdGFubmEgZsO2ciB0aWxsw6RnZ1xuIgorIiBzLCBzcXVhc2ggPSBhbnbDpG5kIGluY2hlY2tuaW5nLCBtZW4gaW5mb2dhIGkgZsO2cmVnw6VlbmRlIGluY2hlY2tuaW5nXG4iCisiIGYsIGZpeHVwID0gc29tIFwic3F1YXNoXCIsIG1lbiBmw7Zya2FzdGEgaW5jaGVja25pbmdzbWVkZGVsYW5kZXRcbiIKKyIgeCwgZXhlYyA9IGvDtnIga29tbWFuZG8gKHJlc3RlbiBhdiByYWRlbikgaSBza2FsZXRcbiIKKyIgZCwgZHJvcCA9IHRhIGJvcnQgaW5jaGVja25pbmdcbiIKKyJcbiIKKyJEdSBrYW4gYnl0YSBvcmRuaW5nIHDDpSByYWRlcm5hLCBkZSB1dGbDtnJzIHVwcGlmcsOlbiBvY2ggbmVkLlxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxNjIKK21zZ2lkICIiCisiXG4iCisiRG8gbm90IHJlbW92ZSBhbnkgbGluZS4gVXNlICdkcm9wJyBleHBsaWNpdGx5IHRvIHJlbW92ZSBhIGNvbW1pdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlRhIGludGUgYm9ydCByYWRlci4gQW52w6RuZCBcImRyb3BcIiBmw7ZyIGF0dCBzcGVjaWZpa3QgZsO2cmthc3RhIGVuICIKKyJpbmNoZWNrbmluZy5cbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTY2Cittc2dpZCAiIgorIlxuIgorIklmIHlvdSByZW1vdmUgYSBsaW5lIGhlcmUgVEhBVCBDT01NSVQgV0lMTCBCRSBMT1NULlxuIgorbXNnc3RyICIiCisiXG4iCisiT20gZHUgdGFyIGJvcnQgZW4gcmFkIEtPTU1FUiBERU4gSU5DSEVDS05JTkdFTiBBVFQgRsOWUkxPUkFTLlxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyMDIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCisiXG4iCisiXHRnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJPbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzLCBydW5cbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKK21zZ3N0ciAiIgorIkR1IGthbiB1dMO2a2EgaW5jaGVja25pbmdlbiBudSwgbWVkXG4iCisiXG4iCisiXHRnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJOw6RyIGR1IMOkciBuw7ZqZCBtZWQgZGluYSDDpG5kcmluZ2FyIGvDtnIgZHVcbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MjI3CisjLCBzaC1mb3JtYXQKK21zZ2lkICIkc2hhMTogbm90IGEgY29tbWl0IHRoYXQgY2FuIGJlIHBpY2tlZCIKK21zZ3N0ciAiJHNoYTE6IGludGUgZW4gaW5jaGVja25pbmcgc29tIGthbiB2w6RsamFzIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyNjYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkludmFsaWQgY29tbWl0IG5hbWU6ICRzaGExIgorbXNnc3RyICJGZWxha3RpZ3QgaW5jaGVja25pbmdzbmFtbjogJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjMwOAorbXNnaWQgIkNhbm5vdCB3cml0ZSBjdXJyZW50IGNvbW1pdCdzIHJlcGxhY2VtZW50IHNoYTEiCittc2dzdHIgIkthbiBpbnRlIHNrcml2YSBlcnPDpHR0bmluZ3Mtc2hhMSBmw7ZyIGFrdHVlbGwgaW5jaGVja25pbmciCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM2MAorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFzdC1mb3J3YXJkIHRvICRzaGExIgorbXNnc3RyICJTbmFiYnNwb2xhZGUgdGlsbCAkc2hhMSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MzYyCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZmFzdC1mb3J3YXJkIHRvICRzaGExIgorbXNnc3RyICJLYW4gaW50ZSBzbmFiYnNwb2xhIHRpbGwgJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM3MQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG1vdmUgSEVBRCB0byAkZmlyc3RfcGFyZW50IgorbXNnc3RyICJLYW4gaW50ZSBmbHl0dGEgSEVBRCB0aWxsICRmaXJzdF9wYXJlbnQiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM3NgorIywgc2gtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gc3F1YXNoIGEgbWVyZ2U6ICRzaGExIgorbXNnc3RyICJWw6RncmFyIHV0ZsO2cmEgXCJzcXVhc2hcIiBww6UgZW4gc2FtbWFuc2xhZ25pbmc6ICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozOTAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkVycm9yIHJlZG9pbmcgbWVyZ2UgJHNoYTEiCittc2dzdHIgIkZlbCBuw6RyIHNhbW1hbnNsYWduaW5nZW4gJHNoYTEgc2t1bGxlIGfDtnJhcyBvbSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6Mzk4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcGljayAkc2hhMSIKK21zZ3N0ciAiS3VuZGUgaW50ZSB2w6RsamEgJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQwNworIywgc2gtZm9ybWF0Cittc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyR7bn06IgorbXNnc3RyICJEZXQgaMOkciDDpHIgaW5jaGVja25pbmdzbWVkZGVsYW5kZSAke259OiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDEyCisjLCBzaC1mb3JtYXQKK21zZ2lkICJUaGUgY29tbWl0IG1lc3NhZ2UgIyR7bn0gd2lsbCBiZSBza2lwcGVkOiIKK21zZ3N0ciAiSW5jaGVja25pbmdzbWVkZGVsYW5kZSAke259IGtvbW1lciBob3BwYXMgw7Z2ZXI6IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MjMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0LiIKK21zZ2lkX3BsdXJhbCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXRzLiIKK21zZ3N0clswXSAiRGV0IGjDpHIgw6RyIGVuIGtvbWJpbmF0aW9uIGF2ICRjb3VudCBpbmNoZWNrbmluZy4iCittc2dzdHJbMV0gIkRldCBow6RyIMOkciBlbiBrb21iaW5hdGlvbiBhdiAkY291bnQgaW5jaGVja25pbmdhci4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQzMQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlICRmaXh1cF9tc2ciCittc2dzdHIgIkthbiBpbnRlIHNrcml2YSAkZml4dXBfbXNnIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MzQKK21zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgMiBjb21taXRzLiIKK21zZ3N0ciAiRGV0IGjDpHIgw6RyIGVuIGtvbWJpbmF0aW9uIGF2IDIgaW5jaGVja25pbmdhci4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQzNQorbXNnaWQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiCittc2dzdHIgIkRldCBow6RyIMOkciAxOmEgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQ6IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NzUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTE4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1MjEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAkc2hhMS4uLiAkcmVzdCIKK21zZ3N0ciAia3VuZGUgaW50ZSB0aWxsw6RtcGEgJHNoYTEuLi4gJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjU0OQorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIkNvdWxkIG5vdCBhbWVuZCBjb21taXQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHBpY2tpbmcgJHNoYTEuLi4gJHJlc3RcbiIKKyJUaGlzIGlzIG1vc3QgbGlrZWx5IGR1ZSB0byBhbiBlbXB0eSBjb21taXQgbWVzc2FnZSwgb3IgdGhlIHByZS1jb21taXQgaG9va1xuIgorImZhaWxlZC4gSWYgdGhlIHByZS1jb21taXQgaG9vayBmYWlsZWQsIHlvdSBtYXkgbmVlZCB0byByZXNvbHZlIHRoZSBpc3N1ZSAiCisiYmVmb3JlXG4iCisieW91IGFyZSBhYmxlIHRvIHJld29yZCB0aGUgY29tbWl0LiIKK21zZ3N0ciAiIgorIkt1bmRlIGludGUgdXTDtmthIGluY2hlY2tuaW5nIGVmdGVyIGF0dCBoYSBseWNrYXRzIHbDpGxqYSAkc2hhMS4uLiAkcmVzdFxuIgorIkRldCDDpHIgYW50YWdsaWdlbiBww6UgZ3J1bmQgYXYgZXR0IHRvbXQgaW5jaGVja25pbmdzbWVkZGVsYW5kZSwgZWxsZXIgYXR0XG4iCisicHJlLWNvbW1pdC1rcm9rZW4gbWlzc2x5Y2thZGVzLiBPbSBwcmUtY29tbWl0LWtyb2tlbiBtaXNzbHlja2FkZXMga2Fuc2tlXG4iCisiZHUgbcOlc3RlIGzDtnNhIHByb2JsZW1ldCBpbm5hbiBkdSBrYW4gc2tyaXZhIG9tIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0LiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTY0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdG9wcGVkIGF0ICRzaGExX2FiYnJldi4uLiAkcmVzdCIKK21zZ3N0ciAiU3RvcHBhZGUgcMOlICRzaGExX2FiYnJldi4uLiAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTc5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgJyRzcXVhc2hfc3R5bGUnIHdpdGhvdXQgYSBwcmV2aW91cyBjb21taXQiCittc2dzdHIgIkthbiBpbnRlIHV0ZsO2cmEgXCIkc3F1YXNoX3N0eWxlXCIgdXRhbiBlbiBmw7ZyZWfDpWVuZGUgaW5jaGVja25pbmciCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjYyMQorIywgc2gtZm9ybWF0Cittc2dpZCAiRXhlY3V0aW5nOiAkcmVzdCIKK21zZ3N0ciAiS8O2cjogJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjYyOQorIywgc2gtZm9ybWF0Cittc2dpZCAiRXhlY3V0aW9uIGZhaWxlZDogJHJlc3QiCittc2dzdHIgIkvDtnJuaW5nIG1pc3NseWNrYWRlczogJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjYzMQorbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICJvY2ggZ2pvcmRlIMOkbmRyaW5nYXIgdGlsbCBpbmRleGV0IG9jaC9lbGxlciBhcmJldHNrYXRhbG9nZW4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjYzMworbXNnaWQgIiIKKyJZb3UgY2FuIGZpeCB0aGUgcHJvYmxlbSwgYW5kIHRoZW4gcnVuXG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCittc2dzdHIgIiIKKyJEdSBrYW4gcsOkdHRhIHByb2JsZW1ldCBvY2ggc2VkYW4ga8O2cmFcbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZVwiIgorCisjLiBUUkFOU0xBVE9SUzogYWZ0ZXIgdGhlc2UgbGluZXMgaXMgYSBjb21tYW5kIHRvIGJlIGlzc3VlZCBieSB0aGUgdXNlcgorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjQ2CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiRXhlY3V0aW9uIHN1Y2NlZWRlZDogJHJlc3RcbiIKKyJidXQgbGVmdCBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgorIkNvbW1pdCBvciBzdGFzaCB5b3VyIGNoYW5nZXMsIGFuZCB0aGVuIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisiS8O2cm5pbmdlbiBseWNrYWRlczogJHJlc3RcbiIKKyJtZW4gbMOkbW5hZGUga3ZhciDDpG5kcmluZ2FyIGkgaW5kZXhldCBvY2gvZWxsZXIgYXJiZXRza2F0YWxvZ2VuXG4iCisiQ2hlY2thIGluIGVsbGVyIHV0ZsO2ciBcInN0YXNoXCIgcMOlIMOkbmRyaW5nYXJuYSBvY2gga8O2ciBzZWRhblxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2NTcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCittc2dzdHIgIk9rw6RudCBrb21tYW5kbzogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY1OAorbXNnaWQgIlBsZWFzZSBmaXggdGhpcyB1c2luZyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgorbXNnc3RyICJSw6R0dGEgZGV0IG1lZCBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIi4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY5MworIywgc2gtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgJGhlYWRfbmFtZS4iCittc2dzdHIgIkx5Y2thZGVzIG9tYmFzZXJhIG9jaCB1cHBkYXRlcmEgJGhlYWRfbmFtZS4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjc0MAorbXNnaWQgIkNvdWxkIG5vdCBza2lwIHVubmVjZXNzYXJ5IHBpY2sgY29tbWFuZHMiCittc2dzdHIgIkt1bmRlIGludGUgaG9wcGEgw7Z2ZXIgb27DtmRpZ2EgXCJwaWNrXCIta29tbWFuZG9uIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo4OTgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiB0aGUgU0hBLTEgaXMgbWlzc2luZyBvciBpc24ndCBhIGNvbW1pdCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCisiIC0gJGxpbmUiCittc2dzdHIgIiIKKyJWYXJuaW5nOiBTSEEtMSBzYWtuYXMgZWxsZXIgaW50ZSBlbiBpbmNoZWNrbmluZyBww6UgZsO2bGphbmRlIHJhZDpcbiIKKyIgLSAkbGluZSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6OTMxCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiV2FybmluZzogdGhlIGNvbW1hbmQgaXNuJ3QgcmVjb2duaXplZCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCisiIC0gJGxpbmUiCittc2dzdHIgIiIKKyJWYXJuaW5nOiBrb21tYW5kb3Qga8OkbmRlcyBpbnRlIGlnZW4gcMOlIGbDtmxqYW5kZSByYWQ6XG4iCisiIC0gJGxpbmUiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjk3MAorbXNnaWQgImNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKK21zZ3N0ciAia3VuZGUgaW50ZSBrb3BwbGEgZnLDpW4gSEVBRCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTAwOAorbXNnaWQgIiIKKyJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKKyJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKToiCittc2dzdHIgIiIKKyJWYXJuaW5nOiB2aXNzYSBpbmNoZWNrbmluZ2FyIGthbiBhdiBtaXNzdGFnIGhhIHRhcHBhdHMuXG4iCisiVGFwcGFkZSBpbmNoZWNrbmluZ2FyIChueWFzdGUgZsO2cnN0KToiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMTYKK21zZ2lkICIiCisiVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCisiXG4iCisiVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mICIKKyJ3YXJuaW5ncy5cbiIKKyJUaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuIgorbXNnc3RyICIiCisiRsO2ciBhdHQgdW5kdmlrYSBkZXQgaMOkciBtZWRkZWxhbmRldCBrYW4gZHUgYW52w6RuZGEgXCJkcm9wXCIgZsO2ciBhdHQgIgorImV4cGxpY2l0XG4iCisia2FzdGEgZW4gaW5jaGVja25pbmcuXG4iCisiXG4iCisiQW52w6RuZCBcImdpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2tcIiBmw7ZyIGF0dCDDpG5kcmEgIgorInZhcm5pbmdzbml2w6VuLlxuIgorIk3DtmpsaWdhIGJldHRlbmRlbiDDpHI6IFwiaWdub3JlXCIgKGlnbm9yZXJhKSwgXCJ3YXJuXCIgKHZhcm5hKSwgXCJlcnJvciIKKyJcIiAoZmVsKS4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMjcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJVbnJlY29nbml6ZWQgc2V0dGluZyAkY2hlY2tfbGV2ZWwgZm9yIG9wdGlvbiByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gIgorIklnbm9yaW5nLiIKK21zZ3N0ciAiIgorIk9rw6RudCB2YWwgJGNoZWNrX2xldmVsIGbDtnIgZmxhZ2dhbiByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gSWdub3JlcmFyLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA0NAorbXNnaWQgIiIKKyJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLSIKKyJjb250aW51ZScuIgorbXNnc3RyICIiCisiRHUga2FuIHLDpHR0YSBkZXR0YSBtZWQgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgZsO2bGp0IGF2IFwiZ2l0IHJlYmFzZSAtLSIKKyJjb250aW51ZVwiLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA0NQorbXNnaWQgIk9yIHlvdSBjYW4gYWJvcnQgdGhlIHJlYmFzZSB3aXRoICdnaXQgcmViYXNlIC0tYWJvcnQnLiIKK21zZ3N0ciAiRWxsZXIgc8OlIGthbiBkdSBhdmJyeXRhIG9tYmFzZXJpbmdlbiBtZWQgXCJnaXQgcmViYXNlIC0tYWJvcnRcIi4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNjkKK21zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCittc2dzdHIgIkt1bmRlIGludGUgdGEgYm9ydCBDSEVSUllfUElDS19IRUFEIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDc0CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuXG4iCisiSWYgdGhlc2UgY2hhbmdlcyBhcmUgbWVhbnQgdG8gYmVcbiIKKyJzcXVhc2hlZCBpbnRvIHRoZSBwcmV2aW91cyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIklmIHRoZXkgYXJlIG1lYW50IHRvIGdvIGludG8gYSBuZXcgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiSW4gYm90aCBjYXNlcywgb25jZSB5b3UncmUgZG9uZSwgY29udGludWUgd2l0aDpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorbXNnc3RyICIiCisiRHUgaGFyIGvDtmFkZSDDpG5kcmluZ2FyIGkgZGluIGFyYmV0c2thdGFsb2cuXG4iCisiT20gZGV0IMOkciBtZW5pbmdlbiBhdHQgw6RuZHJpbmdhcm5hXG4iCisic2thbGwgbMOkZ2dhcyBpbiBpIGbDtnJlZ8OlZW5kZSBpbmNoZWNrbmluZywga8O2cjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIk9tIGRlIHNrYWxsIGNoZWNrYXMgaW4gaSBlbiBlZ2VuIGluY2hlY2tuaW5nLCBrw7ZyOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIk9hdnNldHQgdmlsa2V0LCBuw6RyIGR1IMOkciBmw6RyZGlnIGZvcnRzw6R0dGVyIGR1IG1lZDpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDkxCittc2dpZCAiRXJyb3IgdHJ5aW5nIHRvIGZpbmQgdGhlIGF1dGhvciBpZGVudGl0eSB0byBhbWVuZCBjb21taXQiCittc2dzdHIgIkZlbCB2aWQgZsO2cnPDtmsgYXR0IGhpdHRhIGbDtnJmYXR0YXJpZGVudGl0ZXQgZsO2ciBhdHQgdXTDtmthIGluY2hlY2tuaW5nIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDk2Cittc2dpZCAiIgorIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSBjb21taXQgdGhlbVxuIgorImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCittc2dzdHIgIiIKKyJEdSBoYXIgw6RuZHJpbmdhciBpIGFyYmV0c2thdGFsb2dlbiBzb20gaW50ZSBjaGVja2F0cyBpbi4gQ2hlY2thIGluIGRlbVxuIgorImbDtnJzdCBvY2gga8O2ciBzZWRhbiBcImdpdCByZWJhc2UgLS1jb250aW51dGVcIiBpZ2VuLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwMSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTA1Cittc2dpZCAiQ291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIkt1bmRlIGludGUgY2hlY2thIGluIGvDtmFkZSDDpG5kcmluZ2FyLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEyOQorbXNnaWQgIiIKKyJcbiIKKyJZb3UgYXJlIGVkaXRpbmcgdGhlIHRvZG8gZmlsZSBvZiBhbiBvbmdvaW5nIGludGVyYWN0aXZlIHJlYmFzZS5cbiIKKyJUbyBjb250aW51ZSByZWJhc2UgYWZ0ZXIgZWRpdGluZywgcnVuOlxuIgorIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIkR1IHJlZGlnZXJhciBcInRvZG9cIi1maWxlbiBmw7ZyIGVuIHDDpWfDpWVuZGUgaW50ZXJha3RpdiBvbWJhc2VyaW5nLlxuIgorIkbDtnIgYXR0IGZvcnPDpHR0YSBvbWJhc2VyYSBlZnRlciByZWRpZ2VyaW5nZW4sIGvDtnI6XG4iCisiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorIlxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTM3IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyOTUKK21zZ2lkICJDb3VsZCBub3QgZXhlY3V0ZSBlZGl0b3IiCittc2dzdHIgIkt1bmRlIGludGUgc3RhcnRhIHRleHRyZWRpZ2VyYXJlIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTUwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKK21zZ3N0ciAiS3VuZGUgaW50ZSBjaGVja2EgdXQgJHN3aXRjaF90byIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE1NQorbXNnaWQgIk5vIEhFQUQ/IgorbXNnc3RyICJJbmdldCBIRUFEPyIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE1NgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJHN0YXRlX2RpciIKK21zZ3N0ciAiS3VuZGUgaW50ZSBza2FwYSB0ZW1wb3LDpHIgJHN0YXRlX2RpciIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE1OAorbXNnaWQgIkNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgorbXNnc3RyICJLdW5kZSBpbnRlIG1hcmtlcmEgc29tIGludGVyYWt0aXYiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjggZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE3MworbXNnaWQgIkNvdWxkIG5vdCBpbml0IHJld3JpdHRlbiBjb21taXRzIgorbXNnc3RyICJLdW5kZSBpbnRlIGluaXRpZXJhIG9tc2tyaXZuYSBpbmNoZWNrbmluZ2FyIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjczCisjLCBzaC1mb3JtYXQKK21zZ2lkICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kKSIKK21zZ2lkX3BsdXJhbCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZHMpIgorbXNnc3RyWzBdICJPbWJhc2VyYSAkc2hvcnRyZXZpc2lvbnMgcMOlICRzaG9ydG9udG8gKCR0b2RvY291bnQgaW5jaGVja25pbmcpIgorbXNnc3RyWzFdICJPbWJhc2VyYSAkc2hvcnRyZXZpc2lvbnMgcMOlICRzaG9ydG9udG8gKCR0b2RvY291bnQgaW5jaGVja25pbmdhcikiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyNzgKK21zZ2lkICIiCisiXG4iCisiSG93ZXZlciwgaWYgeW91IHJlbW92ZSBldmVyeXRoaW5nLCB0aGUgcmViYXNlIHdpbGwgYmUgYWJvcnRlZC5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9tYmFzZXJpbmdlbiBrb21tZXIgZG9jayBhdHQgYXZicnl0YXMgb20gZHUgdGFyIGJvcnQgYWxsdGluZy5cbiIKKyJcbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI4NQorbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgorbXNnc3RyICJPYnNlcnZlcmEgYXR0IHRvbW1hIGluY2hlY2tuaW5nYXIgw6RyIHV0a29tbWVudGVyYWRlIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6ODkgZ2l0LXNoLXNldHVwLnNoOjk0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJ1c2FnZTogJGRhc2hsZXNzICRVU0FHRSIKK21zZ3N0ciAiYW52w6RuZDogJGRhc2hsZXNzICRVU0FHRSIKKworIzogZ2l0LXNoLXNldHVwLnNoOjE5MAorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoZGlyIHRvICRjZHVwLCB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiS3VuZGUgaW50ZSBieXRhIGthdGFsb2cgdGlsbCAkY2R1cCwgdG9wcG5pdsOlbiBww6UgYXJiZXRza2F0YWxvZ2VuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MTk5IGdpdC1zaC1zZXR1cC5zaDoyMDYKKyMsIHNoLWZvcm1hdAorbXNnaWQgImZhdGFsOiAkcHJvZ3JhbV9uYW1lIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgYSB3b3JraW5nIHRyZWUuIgorbXNnc3RyICLDtmRlc2RpZ2V0cnQ6ICRwcm9ncmFtX25hbWUga2FuIGludGUgYW52w6RuZGFzIHV0YW4gYXJiZXRza2F0YWxvZy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjAKK21zZ2lkICJDYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiS2FuIGludGUgb21iYXNlcmE6IER1IGhhciBva8O2YWRlIMOkbmRyaW5nYXIuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjIzCittc2dpZCAiQ2Fubm90IHJld3JpdGUgYnJhbmNoZXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICJLYW4gaW50ZSBza3JpdmEgb20gZ3JlbmFyOiBEdSBoYXIgb2vDtmFkZSDDpG5kcmluZ2FyLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyNgorbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiS2FuIGludGUgaMOkbXRhIG1lZCBvbWJhc2VyaW5nOiBEdSBoYXIgb2vDtmFkZSDDpG5kcmluZ2FyLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyOQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICJLYW4gaW50ZSAkYWN0aW9uOiBEdSBoYXIgb2vDtmFkZSDDpG5kcmluZ2FyLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0MgorbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKyJLYW4gaW50ZSBvbWJhc2VyYTogRGl0dCBpbmRleCBpbm5laMOlbGxlciDDpG5kcmluZ2FyIHNvbSBpbnRlIGNoZWNrYXRzIGluLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0NQorbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIiCisiS2FuIGludGUgaMOkbXRhIG1lZCBvbWJhc2VyaW5nOiBEaXR0IGluZGV4IGlubmVow6VsbGVyIG9pbmNoZWNrYWRlIMOkbmRyaW5nYXIuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgJGFjdGlvbjogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorIkthbiBpbnRlICRhY3Rpb246IERpdHQgaW5kZXggaW5uZWjDpWxsZXIgw6RuZHJpbmdhciBzb20gaW50ZSBjaGVja2F0cyBpbi4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNTIKK21zZ2lkICJBZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIkRlc3N1dG9tIGlubmVow6VsbGVyIGRpdCBpbmRleCDDpG5kcmluZ2FyIHNvbSBpbnRlIGhhciBjaGVja2F0cyBpbi4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzIKK21zZ2lkICJZb3UgbmVlZCB0byBydW4gdGhpcyBjb21tYW5kIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUuIgorbXNnc3RyICJEdSBtw6VzdGUga8O2cmEga29tbWFuZG90IGZyw6VuIGFyYmV0c2thdGFsb2dlbnMgdG9wcG5pdsOlLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjM3NworbXNnaWQgIlVuYWJsZSB0byBkZXRlcm1pbmUgYWJzb2x1dGUgcGF0aCBvZiBnaXQgZGlyZWN0b3J5IgorbXNnc3RyICJLdW5kZSBpbnRlIGJlc3TDpG1tYSBhYnNvbHV0IHPDtmt2w6RnIHRpbGwgZ2l0LWthdGFsb2dlbiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAlcyIKKyN+IG1zZ3N0ciAiS3VuZGUgaW50ZSBza3JpdmEgdGlsbCAlcyIKKworI34gbXNnaWQgIkVycm9yIHdyYXBwaW5nIHVwICVzLiIKKyN+IG1zZ3N0ciAiRmVsIHZpZCBvbWJyeXRuaW5nIGF2ICVzLiIKKworI34gbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVycnktcGljay4iCisjfiBtc2dzdHIgIkRpbmEgbG9rYWxhIMOkbmRyaW5nYXIgc2t1bGxlIHNrcml2YXMgw7Z2ZXIgYXYgXCJjaGVycnktcGlja1wiLiIKKworI34gbXNnaWQgIkNhbm5vdCByZXZlcnQgZHVyaW5nIGFub3RoZXIgcmV2ZXJ0LiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgdXRmw7ZyYSBcInJldmVydFwiIHVuZGVyIGVuIGFubmFuIFwicmV2ZXJ0XCIuIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhbm90aGVyIGNoZXJyeS1waWNrLiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgdXRmw7ZyYSBcImNoZXJyeS1waWNrXCIgdW5kZXIgZW4gYW5uYW4gXCJjaGVycnktcGlja1wiLiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgdG9sa2EgcmFkICVkLiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzIgorI34gbXNnc3RyICJLdW5kZSBpbnRlIMO2cHBuYSAlcyIKKworI34gbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKKyN+IG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSAlcy4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgZm9ybWF0ICVzLiIKKyN+IG1zZ3N0ciAiS3VuZGUgaW50ZSBmb3JtYXRlcmEgJXMuIgorCisjfiBtc2dpZCAiJXM6ICVzIgorI34gbXNnc3RyICIlczogJXMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSAlczogJXMiCisKKyN+IG1zZ2lkICJZb3UgbmVlZCB0byBzZXQgeW91ciBjb21taXR0ZXIgaW5mbyBmaXJzdCIKKyN+IG1zZ3N0ciAiRHUgbcOlc3RlIHN0w6RsbGEgaW4gZGluIGluY2hlY2thcmluZm9ybWF0aW9uIGbDtnJzdCIKKworI34gbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiBpbnZhbGlkIHVuaXQiCisjfiBtc2dzdHIgIiIKKyN+ICJmZWxha3RpZ3QgbnVtZXJpc2t0IGtvbmZpZ3VyYXRpb25zdsOkcmRlIFwiJXNcIiBmw7ZyIFwiJXNcIjogb2dpbHRpZyBlbmhldCIKKworI34gbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGJsb2IgJXM6IGludmFsaWQgdW5pdCIKKyN+IG1zZ3N0ciAiIgorI34gImZlbGFrdGlndCBudW1lcmlza3Qga29uZmlndXJhdGlvbnN2w6RyZGUgXCIlc1wiIGbDtnIgXCIlc1wiIGkgYmxvYjplbiAlczogIgorI34gIm9naWx0aWcgZW5oZXQiCisKKyN+IG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiBpbnZhbGlkIHVuaXQiCisjfiBtc2dzdHIgIiIKKyN+ICJmZWxha3RpZ3QgbnVtZXJpc2t0IGtvbmZpZ3VyYXRpb25zdsOkcmRlIFwiJXNcIiBmw7ZyIFwiJXNcIiBpIGZpbGVuICVzOiAiCisjfiAib2dpbHRpZyBlbmhldCIKKworI34gbXNnaWQgIiIKKyN+ICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdGFuZGFyZCBpbnB1dDogaW52YWxpZCB1bml0IgorI34gbXNnc3RyICIiCisjfiAiZmVsYWt0aWd0IG51bWVyaXNrdCBrb25maWd1cmF0aW9uc3bDpHJkZSBcIiVzXCIgZsO2ciBcIiVzXCIgaSBzdGFuZGFyZCBpbjogIgorI34gIm9naWx0aWcgZW5oZXQiCisKKyN+IG1zZ2lkICIiCisjfiAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6IGludmFsaWQgdW5pdCIKKyN+IG1zZ3N0ciAiIgorI34gImZlbGFrdGlndCBudW1lcmlza3Qga29uZmlndXJhdGlvbnN2w6RyZGUgXCIlc1wiIGbDtnIgXCIlc1wiIGkgdW5kZXJtb2R1bC0iCisjfiAiYmxvYjplbiAlczogb2dpbHRpZyBlbmhldCIKKworI34gbXNnaWQgIiIKKyN+ICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBjb21tYW5kIGxpbmUgJXM6IGludmFsaWQgdW5pdCIKKyN+IG1zZ3N0ciAiIgorI34gImZlbGFrdGlndCBudW1lcmlza3Qga29uZmlndXJhdGlvbnN2w6RyZGUgXCIlc1wiIGbDtnIgXCIlc1wiIGkga29tbWFuZG9yYWRlbiAiCisjfiAiJXM6IG9naWx0aWcgZW5oZXQiCisKKyN+IG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlczogaW52YWxpZCB1bml0IgorI34gbXNnc3RyICIiCisjfiAiZmVsYWt0aWd0IG51bWVyaXNrdCBrb25maWd1cmF0aW9uc3bDpHJkZSBcIiVzXCIgZsO2ciBcIiVzXCIgaSAlczogb2dpbHRpZyAiCisjfiAiZW5oZXQiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSAybmQgY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJEZXQgaMOkciDDpHIgMjphIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0OiIKKworI34gbXNnaWQgIlRoaXMgaXMgdGhlIDNyZCBjb21taXQgbWVzc2FnZToiCisjfiBtc2dzdHIgIkRldCBow6RyIMOkciAzOmUgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQ6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgNHRoIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAiRGV0IGjDpHIgw6RyIDQ6ZSBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSA1dGggY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJEZXQgaMOkciDDpHIgNTplIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0OiIKKworI34gbXNnaWQgIlRoaXMgaXMgdGhlIDZ0aCBjb21taXQgbWVzc2FnZToiCisjfiBtc2dzdHIgIkRldCBow6RyIMOkciA2OmUgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQ6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgN3RoIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAiRGV0IGjDpHIgw6RyIDc6ZSBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSA4dGggY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJEZXQgaMOkciDDpHIgODplIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0OiIKKworI34gbXNnaWQgIlRoaXMgaXMgdGhlIDl0aCBjb21taXQgbWVzc2FnZToiCisjfiBtc2dzdHIgIkRldCBow6RyIMOkciA5OmUgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQ6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgMTB0aCBjb21taXQgbWVzc2FnZToiCisjfiBtc2dzdHIgIkRldCBow6RyIMOkciAxMDplIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0OiIKKworI34gbXNnaWQgIlRoaXMgaXMgdGhlICR7bn10aCBjb21taXQgbWVzc2FnZToiCisjfiBtc2dzdHIgIkRldCBow6RyIMOkciAke259OmUgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQ6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgJHtufXN0IGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAiRGV0IGjDpHIgw6RyICR7bn06YSBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSAke259bmQgY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICJEZXQgaMOkciDDpHIgJHtufTphIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0OiIKKworI34gbXNnaWQgIlRoaXMgaXMgdGhlICR7bn1yZCBjb21taXQgbWVzc2FnZToiCisjfiBtc2dzdHIgIkRldCBow6RyIMOkciAke259OmUgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQ6IgorCisjfiBtc2dpZCAiVGhlIDFzdCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgorI34gbXNnc3RyICIxOmEgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQga29tbWVyIGhvcHBhcyDDtnZlcjoiCisKKyN+IG1zZ2lkICJUaGUgMm5kIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIjI6YSBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldCBrb21tZXIgaG9wcGFzIMO2dmVyOiIKKworI34gbXNnaWQgIlRoZSAzcmQgY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiMzplIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IGtvbW1lciBob3BwYXMgw7Z2ZXI6IgorCisjfiBtc2dpZCAiVGhlIDR0aCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgorI34gbXNnc3RyICI0OmUgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQga29tbWVyIGhvcHBhcyDDtnZlcjoiCisKKyN+IG1zZ2lkICJUaGUgNXRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIjU6ZSBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldCBrb21tZXIgaG9wcGFzIMO2dmVyOiIKKworI34gbXNnaWQgIlRoZSA2dGggY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiNjplIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IGtvbW1lciBob3BwYXMgw7Z2ZXI6IgorCisjfiBtc2dpZCAiVGhlIDd0aCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgorI34gbXNnc3RyICI3OmUgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQga29tbWVyIGhvcHBhcyDDtnZlcjoiCisKKyN+IG1zZ2lkICJUaGUgOHRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIjg6ZSBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldCBrb21tZXIgaG9wcGFzIMO2dmVyOiIKKworI34gbXNnaWQgIlRoZSA5dGggY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiOTplIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IGtvbW1lciBob3BwYXMgw7Z2ZXI6IgorCisjfiBtc2dpZCAiVGhlIDEwdGggY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiMTA6ZSBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldCBrb21tZXIgaG9wcGFzIMO2dmVyOiIKKworI34gbXNnaWQgIlRoZSAke259dGggY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiJHtufTplIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IGtvbW1lciBob3BwYXMgw7Z2ZXI6IgorCisjfiBtc2dpZCAiVGhlICR7bn1zdCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgorI34gbXNnc3RyICIke259OmEgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQga29tbWVyIGhvcHBhcyDDtnZlcjoiCisKKyN+IG1zZ2lkICJUaGUgJHtufW5kIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIiR7bn06YSBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldCBrb21tZXIgaG9wcGFzIMO2dmVyOiIKKworI34gbXNnaWQgIlRoZSAke259cmQgY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiJHtufTplIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IGtvbW1lciBob3BwYXMgw7Z2ZXI6IgorCisjfiBtc2dpZCAiY291bGQgbm90IHJ1biBncGcuIgorI34gbXNnc3RyICJrdW5kZSBpbnRlIGvDtnJhIGdwZy4iCisKKyN+IG1zZ2lkICJncGcgZGlkIG5vdCBhY2NlcHQgdGhlIGRhdGEiCisjfiBtc2dzdHIgImdwZyBnb2R0b2cgaW50ZSBkYXRhIgorCisjfiBtc2dpZCAidW5zdXBwb3J0ZWQgb2JqZWN0IHR5cGUgaW4gdGhlIHRyZWUiCisjfiBtc2dzdHIgIm9iamVrdHR5cCBzb20gZWogc3TDtmRzIHVwcHTDpGNrdGVzIGkgdHLDpGRldCIKKworI34gbXNnaWQgIkZhdGFsIG1lcmdlIGZhaWx1cmUsIHNob3VsZG4ndCBoYXBwZW4uIgorI34gbXNnc3RyICLDlmRlc2RpZ2VydCBzYW1tYW5zbGFnbmluZ3NmZWwsIGJvcmRlIGludGUgaW50csOkZmZhLiIKKworI34gbXNnaWQgIlVucHJvY2Vzc2VkIHBhdGg/Pz8gJXMiCisjfiBtc2dzdHIgIk9iZWhhbmRsYWQgc8O2a3bDpGc/Pz8gJXMiCisKKyN+IG1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcyIKKyN+IG1zZ3N0ciAiRmVsIHZpZCBvbWJyeXRuaW5nIGF2ICVzIgorCisjfiBtc2dpZCAiQ2Fubm90ICVzIGR1cmluZyBhICVzIgorI34gbXNnc3RyICJrYW4gaW50ZSAlcyB1bmRlciBlbiAlcyIKKworI34gbXNnaWQgIkNhbid0IGNoZXJyeS1waWNrIGludG8gZW1wdHkgaGVhZCIKKyN+IG1zZ3N0ciAiS2FuIGludGUgZ8O2cmEgXCJjaGVycnktcGlja1wiIGkgZXR0IHRvbXQgaHV2dWQiCisKKyN+IG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAlcyBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgJXMgZsO2ciBza3Jpdm5pbmciCisKKyN+IG1zZ2lkICJidWc6IHVuaGFuZGxlZCB1bm1lcmdlZCBzdGF0dXMgJXgiCisjfiBtc2dzdHIgInByb2dyYW1mZWw6IGVqIGhhbnRlcmFkIFwidW5tZXJnZWRcIi1zdGF0dXMgJXgiCisKKyN+IG1zZ2lkICJidWc6IHVuaGFuZGxlZCBkaWZmIHN0YXR1cyAlYyIKKyN+IG1zZ3N0ciAicHJvZ3JhbWZlbDogZGlmZi1zdGF0dXMgJWMgZWogaGFudGVyYWQiCisKKyN+IG1zZ2lkICJyZWFkIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWlzc2x5Y2thZGVzIGzDpHNhICVzIgorCisjfiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGJyYW5jaCBkZXNjcmlwdGlvbiB0ZW1wbGF0ZSIKKyN+IG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgZ3JlbmJlc2tyaXZuaW5nc21hbGwiCisKKyN+IG1zZ2lkICJjb3JydXB0IGluZGV4IGZpbGUiCisjfiBtc2dzdHIgImluZGV4ZmlsZW4gw6RyIHRyYXNpZyIKKworI34gbXNnaWQgImRldGFjaCB0aGUgSEVBRCBhdCBuYW1lZCBjb21taXQiCisjfiBtc2dzdHIgImtvcHBsYSBmcsOlbiBIRUFEIHZpZCBuYW1uZ2l2ZW4gaW5jaGVja25pbmciCisKKyMgVmFndWUgb3JpZ2luYWwsIG5vdCBuZXR3b3JraW5nLXJlbGF0ZWQsIGJ1dCByYXRoZXIgcmVsYXRlZCB0byB0aGUgYWN0dWFsCisjIG9iamVjdHMgZG93bmxvYWRlZC4KKyN+IG1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkuLi4gIgorI34gbXNnc3RyICJLb250cm9sbGVyYXIgb20gdmkgZmljayBhbGxhIG9iamVrdC4uLiIKKworI34gbXNnaWQgIiAgKHVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmKSIKKyN+IG1zZ3N0ciAiICAoa3VuZGUgaW50ZSB1cHBkYXRlcmEgbG9rYWwgcmVmKSIKKworI34gbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmciCisjfiBtc2dzdHIgIk9taW5pdGllcmFkZSBiZWZpbnRsaWd0IgorCisjfiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkiCisjfiBtc2dzdHIgIkluaXRpZXJhZGUgdG9tdCIKKworI34gbXNnaWQgIiBzaGFyZWQiCisjfiBtc2dzdHIgIiBkZWxhdCIKKworI34gbXNnaWQgIlZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKKyN+IG1zZ3N0ciAiQmVrcsOkZnRhIGF0dCBkZW4gbmFtbmdpdm5hIGluY2hlY2tuaW5nZW4gaGFyIGVuIGdpbHRpZyBHUEctc2lnbmF0dXIiCisKKyN+IG1zZ2lkICJXcml0aW5nIFNRVUFTSF9NU0ciCisjfiBtc2dzdHIgIlNrcml2ZXIgU1FVQVNIX01TRyIKKworI34gbXNnaWQgIkZpbmlzaGluZyBTUVVBU0hfTVNHIgorI34gbXNnc3RyICJBdnNsdXRhciBTUVVBU0hfTVNHIgorCisjfiBtc2dpZCAiICAgYW5kIHdpdGggcmVtb3RlIgorI34gbXNnc3RyICIgICBvY2ggbWVkIGZqw6RycmVuIgorCisjfiBtc2dpZCAicmVtb3ZpbmcgJyVzJyBmYWlsZWQiCisjfiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBib3J0IFwiJXNcIiIKKworI34gbXNnaWQgInByb2dyYW0gZXJyb3IiCisjfiBtc2dzdHIgInByb2dyYW1mZWwiCisKKyN+IG1zZ2lkICJQbGVhc2UgY2FsbCAnYmlzZWN0X3N0YXRlJyB3aXRoIGF0IGxlYXN0IG9uZSBhcmd1bWVudC4iCisjfiBtc2dzdHIgIkFucm9wYSBcImJpc2VjdF9zdGF0ZVwiIG1lZCBtaW5zdCBldHQgYXJndW1lbnQuIgorCisjfiBtc2dpZCAiIgorI34gIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gIgorI34gImZyb20iCisjfiBtc2dzdHIgIiIKKyN+ICJGw7ZyIGF0dCDDpXRlcmFudsOkbmRhIGRlbiBsb2thbGEgZ2l0LWthdGFsb2dlbiBpc3TDpGxsZXQgZsO2ciBhdHQgcMOlIG55dHQgIgorI34gImtsb25hIGZyw6VuIgorCisjfiBtc2dpZCAiIgorI34gInVzZSB0aGUgJy0tZm9yY2UnIG9wdGlvbi4gSWYgdGhlIGxvY2FsIGdpdCBkaXJlY3RvcnkgaXMgbm90IHRoZSBjb3JyZWN0ICIKKyN+ICJyZXBvIgorI34gbXNnc3RyICIiCisjfiAiYW52w6RuZCBmbGFnZ2FuIFwiLS1mb3JjZVwiLiBPbSBkZW4gbG9rYWxhIGdpdC1rYXRhbG9nZW4gaW50ZSDDpHIgcmlrdGlndCAiCisjfiAiYXJraXYiCisKKyN+IG1zZ2lkICIiCisjfiAib3IgeW91IGFyZSB1bnN1cmUgd2hhdCB0aGlzIG1lYW5zIGNob29zZSBhbm90aGVyIG5hbWUgd2l0aCB0aGUgJy0tbmFtZScgIgorI34gIm9wdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJlbGxlciBvbSBkdSDDpHIgb3PDpGtlciBww6UgdmFkIGRldCBpbm5lYsOkciwgdsOkbGogbnl0dCBuYW1uIG1lZCBmbGFnZ2FuIFwiLS0iCisjfiAibmFtZVwiLiIKKworI34gbXNnaWQgIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAiIgorI34gIlVuZGVybW9kdWxlbnMgYXJiZXRza2F0YWxvZyBcIiRkaXNwbGF5cGF0aFwiIGlubmVow6VsbGVyIGthdGFsb2dlbiBcIi5naXRcIiIKKworI34gbXNnaWQgIiIKKyN+ICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgIgorI34gImhpc3RvcnkpIgorI34gbXNnc3RyICIiCisjfiAiKGFudsOkbmQgXCJybSAtcmZcIiBvbSBkdSB2ZXJrbGlnZW4gdmlsbCB0YSBib3J0IGRlbiBvY2ggYWxsIGRlc3MgaGlzdG9yaWspIgorCiAjfiBtc2dpZCAiJyVzJzogJXMiCiAjfiBtc2dzdHIgIlwiJXNcIjogJXMiCiAKQEAgLTEyNzkzLDkgKzE0OTkwLDYgQEAKICN+IG1zZ2lkICItYiBhbmQgLUIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKICN+IG1zZ3N0ciAiLWIgb2NoIC1CIGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QiCiAKLSN+IG1zZ2lkICJZb3UgbmVlZCB0byBzZXQgeW91ciBjb21taXR0ZXIgaW5mbyBmaXJzdCIKLSN+IG1zZ3N0ciAiRHUgbcOlc3RlIHN0w6RsbGEgaW4gZGluIGluY2hlY2thcmluZm9ybWF0aW9uIGbDtnJzdCIKLQogI34gbXNnaWQgIiIKICN+ICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJGNtZGxpbmUgLS1jb250aW51ZVwiLlxuIgogI34gIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCIkY21kbGluZSAtLXNraXBcIiBpbnN0ZWFkLlxuIgpAQCAtMTI4MzksMTAgKzE1MDMzLDYgQEAKICN+ICJSw6R0dGEgZGVtIGkgZGluIGFyYmV0c2thdGFsb2cgb2NoIGFudsOkbmQgc2VkYW4gXCJnaXQgYWRkL3JtIDxmaWw+XCJcbiIKICN+ICJkw6RyIGRldCDDpHIgbMOkbXBsaWd0IGbDtnIgYXR0IGFuZ2UgbMO2c25pbmcgb2NoIGNoZWNrYSBpbi4iCiAKLSN+IG1zZ2lkICJQdWxsIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKLSN+IG1zZ3N0ciAiIgotI34gIkR1IGthbiBpbnRlIGfDtnJhIGVuIFwicHVsbFwiIGTDpSBkdSBoYXIgw6RuZHJpbmdhciBzb20gaW50ZSBjaGVja2F0cyBpbi4iCi0KICN+IG1zZ2lkICJubyBicmFuY2ggc3BlY2lmaWVkIgogI34gbXNnc3RyICJpbmdldCBncmVubmFtbiBhbmdhdnMiCiAKQEAgLTEyODk0LDkgKzE1MDg0LDYgQEAKICN+IG1zZ2lkICJGYWlsZWQgdG8gbG9jayBIRUFEIGR1cmluZyBmYXN0X2ZvcndhcmRfdG8iCiAjfiBtc2dzdHIgIk1pc3NseWNrYWRlcyBsw6VzYSBIRUFEIHVuZGVyIFwiZmFzdF9mb3J3YXJkX3RvXCIiCiAKLSN+IG1zZ2lkICJpbnZhbGlkIGNvbW1pdDogJXMiCi0jfiBtc2dzdHIgImZlbGFrdGlnIGluY2hlY2tuaW5nOiAlcyIKLQogI34gbXNnaWQgImNhbm5vdCBsb2NrIEhFQUQgcmVmIgogI34gbXNnc3RyICJrdW5kZSBpbnRlIGzDpXNhIEhFQUQtcmVmZXJlbnMiCiAKQEAgLTEzMDYzLDE1ICsxNTI1MCw2IEBACiAjfiBtc2dzdHIgIkR1IGthbiBpbnRlIGtvbWJpbmVyYSAtLW5vLWZmIG1lZCAtLWZmLW9ubHkuIgogCiAjfiBtc2dpZCAiIgotI34gInN1Ym1vZHVsZSAnJXMnIChvciBvbmUgb2YgaXRzIG5lc3RlZCBzdWJtb2R1bGVzKSB1c2VzIGEgLmdpdCBkaXJlY3RvcnlcbiIKLSN+ICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgIgotI34gImhpc3RvcnkpIgotI34gbXNnc3RyICIiCi0jfiAidW5kZXJtb2R1bGVuIFwiJXNcIiAoZWxsZXIgZW4gYXYgZGVzcyB1bmRlcm1vZHVsZXIpIGFudsOkbmRlciBlbiAuZ2l0LSIKLSN+ICJrYXRhbG9nXG4iCi0jfiAiKGFudsOkbmQgXCJybSAtcmZcIiBvbSBkdSB2ZXJrbGlnZW4gdmlsbCB0YSBib3J0IGRlbiBvY2ggYWxsIGRlc3MgaGlzdG9yaWspIgotCi0jfiBtc2dpZCAiIgogI34gIiclcycgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleFxuIgogI34gIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCiAjfiBtc2dzdHIgIiIKQEAgLTEzMTM4LDkgKzE1MzE2LDYgQEAKICN+IG1zZ2lkICJOb3QgcmVtb3ZpbmcgJXNcbiIKICN+IG1zZ3N0ciAiVGFyIGludGUgYm9ydCAlc1xuIgogCi0jfiBtc2dpZCAiQ291bGQgbm90IHJlYWQgaW5kZXgiCi0jfiBtc2dzdHIgIkt1bmRlIGludGUgbMOkc2EgaW5kZXhldCIKLQogI34gbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC1kIHwgPGJyYW5jaD5dKSIKICN+IG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtbj4gKC1hIHwgLWQgfCA8Z3Jlbj5dKSIKIApAQCAtMTMyMDMsOSArMTUzNzgsNiBAQAogI34gbXNnaWQgIi1kIG9wdGlvbiBpcyBubyBsb25nZXIgc3VwcG9ydGVkLiAgRG8gbm90IHVzZS4iCiAjfiBtc2dzdHIgIkZsYWdnYW4gLWQgc3TDtmRzIGludGUgbMOkZ3JlLiBBbnbDpG5kIGludGUuIgogCi0jfiBtc2dpZCAiY2hlcnJ5LXBpY2siCi0jfiBtc2dzdHIgImNoZXJyeS1waWNrIgotCiAjfiBtc2dpZCAiQ291bGQgbm90IGV4dHJhY3QgZW1haWwgZnJvbSBjb21taXR0ZXIgaWRlbnRpdHkuIgogI34gbXNnc3RyICJLdW5kZSBpbnRlIGV4dHJhaGVyYSBlLXBvc3RhZHJlc3MgZnLDpW4gaW5jaGVja2FyZW5zIGlkZW50aXRldC4iCiAKQEAgLTEzMjMyLDYgKzE1NDA0LDMgQEAKIAogI34gbXNnaWQgIiVzOyB3aWxsIG92ZXJ3cml0ZSEiCiAjfiBtc2dzdHIgIiVzOyBrb21tZXIgc2tyaXZhIMO2dmVyISIKLQotI34gbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBjdXJyZW50IG5vdGVzIHRyZWUgdG8gZGF0YWJhc2UiCi0jfiBtc2dzdHIgIkt1bmRlIGludGUgc2tyaXZhIGFrdHVlbGx0IGFudGVja25pbmdzdHLDpGQgdGlsbCBkYXRhYmFzZW4iCmRpZmYgLS1naXQgYS9wby92aS5wbyBiL3BvL3ZpLnBvCmluZGV4IGYwNDgyNDQuLjFkOTU0NGYgMTAwNjQ0Ci0tLSBhL3BvL3ZpLnBvCisrKyBiL3BvL3ZpLnBvCkBAIC02LDEwICs2LDEwIEBACiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBnaXQgdjIuOS4wXG4iCisiUHJvamVjdC1JZC1WZXJzaW9uOiBnaXQgdjIuMTEuMFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE2LTA1LTI0IDIzOjQyKzA4MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDE2LTA1LTI1IDA3OjM5KzA3MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNi0xMS0yNSAyMjo1MCswODAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNi0xMS0yNSAyMzowMCswODAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBUcuG6p24gTmfhu41jIFF1w6JuIDx2bndpbGRtYW5AZ21haWwuY29tPlxuIgogIkxhbmd1YWdlLVRlYW06IFZpZXRuYW1lc2UgPHRyYW5zbGF0aW9uLXRlYW0tdmlAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgogIkxhbmd1YWdlOiB2aVxuIgpAQCAtMjcsNyArMjcsMzkgQEAKIG1zZ2lkICJoaW50OiAlLipzXG4iCiBtc2dzdHIgImfhu6NpIMO9OiAlLipzXG4iCiAKLSM6IGFkdmljZS5jOjg4CisjOiBhZHZpY2UuYzo4MworbXNnaWQgIkNoZXJyeS1waWNraW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAiIgorIkNoZXJyeSBsw6Aga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gYuG7n2kgdsOsIGLhuqFuIGPDsyBuaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbi4iCisKKyM6IGFkdmljZS5jOjg1Cittc2dpZCAiQ29tbWl0dGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIiIKKyJDb21taXQgbMOgIGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIGLhu59pIHbDrCBi4bqhbiBjw7Mgbmjhu69uZyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4uIgorCisjOiBhZHZpY2UuYzo4NworbXNnaWQgIk1lcmdpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIiCisiTWVyZ2UgbMOgIGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIGLhu59pIHbDrCBi4bqhbiBjw7Mgbmjhu69uZyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4uIgorCisjOiBhZHZpY2UuYzo4OQorbXNnaWQgIlB1bGxpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIiCisiUHVsbCBsw6Aga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gYuG7n2kgdsOsIGLhuqFuIGPDsyBuaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbi4iCisKKyM6IGFkdmljZS5jOjkxCittc2dpZCAiUmV2ZXJ0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAiIgorIlJldmVydCBsw6Aga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gYuG7n2kgdsOsIGLhuqFuIGPDsyBuaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbi4iCisKKyM6IGFkdmljZS5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkl0IGlzIG5vdCBwb3NzaWJsZSB0byAlcyBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAiIgorIk7DsyBsw6Aga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gduG7m2kgJXMgYuG7n2kgdsOsIGLhuqFuIGPDsyBuaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyBow7JhICIKKyJ0cuG7mW4uIgorCisjOiBhZHZpY2UuYzoxMDEKIG1zZ2lkICIiCiAiRml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSwgYW5kIHRoZW4gdXNlICdnaXQgYWRkL3JtIDxmaWxlPidcbiIKICJhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24gYW5kIG1ha2UgYSBjb21taXQuIgpAQCAtMzYsMTggKzY4LDY2NiBAQAogInbDoCBzYXUgxJHDsyBkw7luZyBs4buHbmgg4oCcZ2l0IGFkZC9ybSA8dOG6rXAtdGluPuKAnVxuIgogImTDoG5oIHJpw6puZyBjaG8gdmnhu4djIMSRw6FuaCBk4bqldSBj4bqnbiBnaeG6o2kgcXV54bq/dCB2w6AgdOG6oW8gbOG6p24gY2h1eeG7g24gZ2lhby4iCiAKLSM6IGFkdmljZS5jOjEwMSBidWlsdGluL21lcmdlLmM6MTIzOAorIzogYWR2aWNlLmM6MTA5Cittc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIGFuIHVucmVzb2x2ZWQgY29uZmxpY3QuIgorbXNnc3RyICJUaG/DoXQgcmEgYuG7n2kgdsOsIHh1bmcgxJHhu5l0IGtow7RuZyB0aOG7gyBnaeG6o2kgcXV54bq/dC4iCisKKyM6IGFkdmljZS5jOjExNCBidWlsdGluL21lcmdlLmM6MTE4MQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiQuG6oW4gY2jGsGEga+G6v3QgdGjDumMgdmnhu4djIGjDsmEgdHLhu5luIChNRVJHRV9IRUFEIHbhuqtuIHThu5NuIHThuqFpKS4iCiAKLSM6IGFkdmljZS5jOjEwMworIzogYWR2aWNlLmM6MTE2CiBtc2dpZCAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSBtZXJnaW5nLiIKIG1zZ3N0ciAiVnVpIGzDsm5nIGNodXnhu4NuIGdpYW8gY8OhYyB0aGF5IMSR4buVaSB0csaw4bubYyBraGkgaMOyYSB0cuG7mW4uIgogCi0jOiBhZHZpY2UuYzoxMDQKKyM6IGFkdmljZS5jOjExNwogbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiB1bmZpbmlzaGVkIG1lcmdlLiIKIG1zZ3N0ciAiVGhvw6F0IHJhIGLhu59pIHbDrCB2aeG7h2MgaMOyYSB0cuG7mW4ga2jDtG5nIGhvw6BuIHThuqV0LiIKIAorIzogYWR2aWNlLmM6MTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3RlOiBjaGVja2luZyBvdXQgJyVzJy5cbiIKKyJcbiIKKyJZb3UgYXJlIGluICdkZXRhY2hlZCBIRUFEJyBzdGF0ZS4gWW91IGNhbiBsb29rIGFyb3VuZCwgbWFrZSBleHBlcmltZW50YWxcbiIKKyJjaGFuZ2VzIGFuZCBjb21taXQgdGhlbSwgYW5kIHlvdSBjYW4gZGlzY2FyZCBhbnkgY29tbWl0cyB5b3UgbWFrZSBpbiB0aGlzXG4iCisic3RhdGUgd2l0aG91dCBpbXBhY3RpbmcgYW55IGJyYW5jaGVzIGJ5IHBlcmZvcm1pbmcgYW5vdGhlciBjaGVja291dC5cbiIKKyJcbiIKKyJJZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBuZXcgYnJhbmNoIHRvIHJldGFpbiBjb21taXRzIHlvdSBjcmVhdGUsIHlvdSBtYXlcbiIKKyJkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYiB3aXRoIHRoZSBjaGVja291dCBjb21tYW5kIGFnYWluLiBFeGFtcGxlOlxuIgorIlxuIgorIiAgZ2l0IGNoZWNrb3V0IC1iIDxuZXctYnJhbmNoLW5hbWU+XG4iCisiXG4iCittc2dzdHIgIiIKKyJDaMO6IMO9OiDEkWFuZyBs4bqleSByYSDigJwlc+KAnS5cbiIKKyJcbiIKKyJC4bqhbiDEkWFuZyDhu58gdMOsbmggdHLhuqFuZyDigJxkZXRhY2hlZCBIRUFE4oCdLiBC4bqhbiBjw7MgdGjhu4MgeGVtIHF1YSwgdOG6oW8gY8OhYyB0aGF5XG4iCisixJHhu5VpIHRo4butIG5naGnhu4dtIHbDoCBjaHV54buDbiBnaWFvIGNow7puZywgYuG6oW4gY8OzIHRo4buDIGxv4bqhaSBi4buPIGLhuqV0IGvhu7MgbOG6p24gY2h1eeG7g25cbiIKKyJnaWFvIG7DoG8gdHJvbmcgdMOsbmggdHLhuqFuZyBuw6B5IG3DoCBraMO0bmcgY+G6p24gxJHhu6VuZyBjaOG6rW0gxJHhur9uIGLhuqV0IGvhu7MgbmjDoW5oIG7DoG9cbiIKKyJi4bqxbmcgY8OhY2ggdGjhu7FjIGhp4buHbiBs4bqnbiBs4bqleSByYSBraMOhYyBu4buvYS5cbiIKKyJcbiIKKyJO4bq/dSBi4bqhbiBtdeG7kW4gdOG6oW8gbeG7mXQgbmjDoW5oIG3hu5tpIMSR4buDIGdp4buvIGzhuqFpIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBi4bqhbiB04bqhbyxcbiIKKyJi4bqhbiBjw7MgdGjhu4MgbMOgbSB0aOG6vyAobmdheSBiw6J5IGdp4budIGhheSBzYXUgbsOgeSkgYuG6sW5nIGPDoWNoIGNo4bqheSBs4buHbmggY2hlY2tvdXRcbiIKKyJs4bqnbiBu4buvYSB24bubaSB0w7l5IGNo4buNbiAtYi4gVsOtIGThu6U6XG4iCisiXG4iCisiICBnaXQgY2hlY2tvdXQgLWIgPHTDqm4tbmjDoW5oLW3hu5tpPlxuIgorIlxuIgorCisjOiBhcHBseS5jOjU3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgorbXNnc3RyICJraMO0bmcgbmjhuq1uIHJhIHTDuXkgY2jhu41uIHbhu4Ega2hv4bqjbmcgdHLhuq9uZyDigJwlc+KAnSIKKworIzogYXBwbHkuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCittc2dzdHIgImtow7RuZyBuaOG6rW4gcmEgdMO5eSBjaOG7jW4gYuG7jyBxdWEga2hv4bqjbmcgdHLhuq9uZyDigJwlc+KAnSIKKworIzogYXBwbHkuYzoxMjUKK21zZ2lkICItLXJlamVjdCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKK21zZ3N0ciAiLS1yZWplY3QgdsOgIC0tM3dheSBraMO0bmcgdGjhu4MgZMO5bmcgY8O5bmcgbmhhdS4iCisKKyM6IGFwcGx5LmM6MTI3Cittc2dpZCAiLS1jYWNoZWQgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCittc2dzdHIgIi0tY2FjaGVkIHbDoCAtLTN3YXkga2jDtG5nIHRo4buDIGTDuW5nIGPDuW5nIG5oYXUuIgorCisjOiBhcHBseS5jOjEzMAorbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKK21zZ3N0ciAiLS0zd2F5IOG7nyBuZ2/DoGkgbeG7mXQga2hvIGNo4bupYSIKKworIzogYXBwbHkuYzoxNDEKK21zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICItLWluZGV4IOG7nyBuZ2/DoGkgbeG7mXQga2hvIGNo4bupYSIKKworIzogYXBwbHkuYzoxNDQKK21zZ2lkICItLWNhY2hlZCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKK21zZ3N0ciAiLS1jYWNoZWQg4bufIG5nb8OgaSBt4buZdCBraG8gY2jhu6lhIgorCisjOiBhcHBseS5jOjg0NQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgorbXNnc3RyICIiCisiS2jDtG5nIHRo4buDIGNodeG6qW4gYuG7iyBiaeG7g3UgdGjhu6ljIGNow61uaCBxdWkgZOG6pXUgduG6v3QgdGjhu51pIGdpYW4gKHRpbWVzdGFtcCByZWdleHApICIKKyIlcyIKKworIzogYXBwbHkuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgorbXNnc3RyICJ0aGkgaMOgbmggYmnhu4N1IHRo4bupYyBjaMOtbmggcXV5IHRy4bqjIHbhu4EgJWQgY2hvIMSR4bqndSB2w6BvOiAlcyIKKworIzogYXBwbHkuYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHTDrG0gdGjhuqV5IHTDqm4gdOG6rXAgdGluIHRyb25nIG1p4bq/bmcgdsOhIHThuqFpIGTDsm5nICVkIgorCisjOiBhcHBseS5jOjk3NworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCittc2dzdHIgIiIKKyJnaXQgYXBwbHk6IGdpdC1kaWZmIHNhaSAtIGPhuqduIC9kZXYvbnVsbCwgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyAlcyB0csOqbiBkw7JuZyAlZCIKKworIzogYXBwbHkuYzo5ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBseTogZ2l0LWRpZmYgc2FpIC0gdMOqbiB04bqtcCB0aW4gbeG7m2kga2jDtG5nIG5o4bqldCBxdcOhbiB0csOqbiBkw7JuZyAlZCIKKworIzogYXBwbHkuYzo5ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBseTogZ2l0LWRpZmYgc2FpIC0gdMOqbiB04bqtcCB0aW4gY8WpIGtow7RuZyBuaOG6pXQgcXXDoW4gdHLDqm4gZMOybmcgJWQiCisKKyM6IGFwcGx5LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBseTogZ2l0LWRpZmYgc2FpIC0gY+G6p24g4oCcL2Rldi9udWxs4oCdIHRyw6puIGTDsm5nICVkIgorCisjOiBhcHBseS5jOjE0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgorbXNnc3RyICJjaGkgdGnhur90OiBkw7JuZyBraMO0bmcgY+G6p246ICUuKnMiCisKKyM6IGFwcGx5LmM6MTU1NworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgorbXNnc3RyICJtaeG6v25nIHbDoSBwaMOibiBt4bqjbmggbcOgIGtow7RuZyBjw7MgcGjhuqduIMSR4bqndSB04bqhaSBkw7JuZyAlZDogJS4qcyIKKworIzogYXBwbHkuYzoxNTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKKyJjb21wb25lbnQgKGxpbmUgJWQpIgorbXNnaWRfcGx1cmFsICIiCisiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCisiY29tcG9uZW50cyAobGluZSAlZCkiCittc2dzdHJbMF0gIiIKKyJwaOG6p24gxJHhuqd1IGRpZmYgY2hvIGdpdCAgdGhp4bq/dSB0aMO0bmcgdGluIHTDqm4gdOG6rXAgdGluIGtoaSBn4buhIGLhu48gxJFpICVkIHRyb25nICIKKyJ0aMOgbmggcGjhuqduIGThuqtuIMSR4bqndSB0w6puIGPhu6dhIMSRxrDhu51uZyBk4bqrbiAoZMOybmcgJWQpIgorCisjOiBhcHBseS5jOjE1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIChsaW5lICVkKSIKK21zZ3N0ciAicGjhuqduIMSR4bqndSBkaWZmIGNobyBnaXQgdGhp4bq/dSB0aMO0bmcgdGluIHTDqm4gdOG6rXAgdGluIChkw7JuZyAlZCkiCisKKyM6IGFwcGx5LmM6MTc1OQorbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgorbXNnc3RyICJ04bqtcCB0aW4gbeG7m2kgcGjhu6UgdGh14buZYyB2w6BvIG7hu5lpIGR1bmcgY8WpIgorCisjOiBhcHBseS5jOjE3NjEKK21zZ2lkICJkZWxldGVkIGZpbGUgc3RpbGwgaGFzIGNvbnRlbnRzIgorbXNnc3RyICJ04bqtcCB0aW4gxJHDoyB4w7NhIHbhuqtuIGPDsm4gbuG7mWkgZHVuZyIKKworIzogYXBwbHkuYzoxNzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgcGF0Y2ggYXQgbGluZSAlZCIKK21zZ3N0ciAibWnhur9uZyB2w6EgaOG7j25nIHThuqFpIGTDsm5nICVkIgorCisjOiBhcHBseS5jOjE4MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCittc2dzdHIgInThuq1wIHRpbiBt4bubaSAlcyBwaOG7pSB0aHXhu5ljIHbDoG8gbuG7mWkgZHVuZyBjxakiCisKKyM6IGFwcGx5LmM6MTgzNAorIywgYy1mb3JtYXQKK21zZ2lkICJkZWxldGVkIGZpbGUgJXMgc3RpbGwgaGFzIGNvbnRlbnRzIgorbXNnc3RyICJ04bqtcCB0aW4gxJHDoyB4w7NhICVzIHbhuqtuIGPDsm4gbuG7mWkgZHVuZyIKKworIzogYXBwbHkuYzoxODM3CisjLCBjLWZvcm1hdAorbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCittc2dzdHIgIioqIGPhuqNuaCBiw6FvOiB04bqtcCB0aW4gJXMgdHLhu58gbsOqbiB0cuG7kW5nIHLhu5duZyBuaMawbmcga2jDtG5nIGLhu4sgeMOzYSIKKworIzogYXBwbHkuYzoxOTg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgIm1p4bq/bmcgdsOhIMSR4buLbmggZOG6oW5nIG5o4buLIHBow6JuIHNhaSBo4buPbmcgdOG6oWkgZMOybmcgJWQ6ICUuKnMiCisKKyM6IGFwcGx5LmM6MjAyMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgIm1p4bq/bmcgdsOhIMSR4buLbmggZOG6oW5nIG5o4buLIHBow6JuIGtow7RuZyDEkcaw4bujYyBuaOG6rW4gcmEgdOG6oWkgZMOybmcgJWQiCisKKyM6IGFwcGx5LmM6MjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgorbXNnc3RyICJ2w6EgY2jhu4kgduG7m2kg4oCccsOhY+KAnSB04bqhaSBkw7JuZyAlZCIKKworIzogYXBwbHkuYzoyMjc0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWFkIHN5bWxpbmsgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgbGnDqm4ga+G6v3QgbeG7gW0gJXMiCisKKyM6IGFwcGx5LmM6MjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyBoYXkgxJHhu41jICVzIgorCisjOiBhcHBseS5jOjI5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgorbXNnc3RyICJzYWkga2jhu59pIMSR4bqndSBkw7JuZzog4oCcJWPigJ0iCisKKyM6IGFwcGx5LmM6MzA1MAorIywgYy1mb3JtYXQKK21zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCittc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCittc2dzdHJbMF0gIkto4buRaSBk4buvIGxp4buHdSAjJWQgdGjDoG5oIGPDtG5nIHThuqFpICVkIChvZmZzZXQgJWQgZMOybmcpLiIKKworIzogYXBwbHkuYzozMDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRleHQgcmVkdWNlZCB0byAoJWxkLyVsZCkgdG8gYXBwbHkgZnJhZ21lbnQgYXQgJWQiCittc2dzdHIgIk7hu5lpIGR1bmcgYuG7iyBnaeG6o20geHXhu5FuZyBjw7JuICglbGQvJWxkKSDEkeG7gyDDoXAgZOG7pW5nIG3huqNuaCBk4buvIGxp4buHdSB04bqhaSAlZCIKKworIzogYXBwbHkuYzozMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgorIiUuKnMiCittc2dzdHIgIiIKKyJ0cm9uZyBraGkgxJFhbmcgdMOsbSBraeG6v20gY2hvOlxuIgorIiUuKnMiCisKKyM6IGFwcGx5LmM6MzA5MAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIGJpbmFyeSBwYXRjaCBkYXRhIGZvciAnJXMnIgorbXNnc3RyICJ0aGnhur91IGThu68gbGnhu4d1IGPhu6dhIG1p4bq/bmcgdsOhIMSR4buLbmggZOG6oW5nIG5o4buLIHBow6JuIGNobyDigJwlc+KAnSIKKworIzogYXBwbHkuYzozMDk4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZXZlcnNlLWFwcGx5IGEgYmluYXJ5IHBhdGNoIHdpdGhvdXQgdGhlIHJldmVyc2UgaHVuayB0byAnJXMnIgorbXNnc3RyICIiCisia2jDtG5nIHRo4buDIHJldmVyc2UtYXBwbHkgbeG7mXQgbWnhur9uZyB2w6Egbmjhu4sgcGjDom4gbcOgIGtow7RuZyDEkeG6o28gbmfGsOG7o2MgaHVuayB0aMOgbmggIgorIuKAnCVz4oCdIgorCisjOiBhcHBseS5jOjMxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFwcGx5IGJpbmFyeSBwYXRjaCB0byAnJXMnIHdpdGhvdXQgZnVsbCBpbmRleCBsaW5lIgorbXNnc3RyICIiCisia2jDtG5nIHRo4buDIMOhcCBk4bulbmcgbWnhur9uZyB2w6Egbmjhu4sgcGjDom4gdGjDoG5oIOKAnCVz4oCdIG3DoCBraMO0bmcgY8OzIGTDsm5nIGNo4buJIG3hu6VjIMSR4bqneSAiCisixJHhu6ciCisKKyM6IGFwcGx5LmM6MzE1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIHBhdGNoIGFwcGxpZXMgdG8gJyVzJyAoJXMpLCB3aGljaCBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudCBjb250ZW50cy4iCittc2dzdHIgIiIKKyJtaeG6v25nIHbDoSDDoXAgZOG7pW5nIGNobyDigJwlc+KAnSAoJXMpLCBjw6FpIG3DoCBraMO0bmcga2jhu5twIHbhu5tpIGPDoWMgbuG7mWkgZHVuZyBoaeG7h24gdOG6oWkuIgorCisjOiBhcHBseS5jOjMxNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBhdGNoIGFwcGxpZXMgdG8gYW4gZW1wdHkgJyVzJyBidXQgaXQgaXMgbm90IGVtcHR5IgorbXNnc3RyICJtaeG6v25nIHbDoSDDoXAgZOG7pW5nIGNobyBt4buZdCDigJwlc+KAnSB0cuG7kW5nIHLhu5duZyBuaMawbmcgbsOzIGzhuqFpIGtow7RuZyB0cuG7kW5nIgorCisjOiBhcHBseS5jOjMxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG5lY2Vzc2FyeSBwb3N0aW1hZ2UgJXMgZm9yICclcycgY2Fubm90IGJlIHJlYWQiCittc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgcG9zdGltYWdlICVzIGPhuqduIHRoaeG6v3QgY2hvIOKAnCVz4oCdIgorCisjOiBhcHBseS5jOjMxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciCittc2dzdHIgIm1p4bq/bmcgdsOhIMSR4buLbmggZOG6oW5nIG5o4buLIHBow6JuIGtow7RuZyDEkcaw4bujYyDDoXAgZOG7pW5nIGNobyDigJwlc+KAnSIKKworIzogYXBwbHkuYzozMTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgorbXNnc3RyICIiCisidsOhIG5o4buLIHBow6JuIGNobyDigJwlc+KAnSB04bqhbyByYSBr4bq/dCBxdeG6oyBraMO0bmcgY2jDrW5oIHjDoWMgKG1vbmcgY2jhu50gJXMsIGzhuqFpIG5o4bqtbiAiCisiJXMpIgorCisjOiBhcHBseS5jOjMyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggZmFpbGVkOiAlczolbGQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSB2w6E6ICVzOiVsZCIKKworIzogYXBwbHkuYzozMzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHJhICVzIgorCisjOiBhcHBseS5jOjMzOTAgYXBwbHkuYzozNDAxIGFwcGx5LmM6MzQ0NyBzZXR1cC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4buNYyAlcyIKKworIzogYXBwbHkuYzozMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRpbmcgZnJvbSAnJXMnIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIsSR4buNYyB04burIOKAnCVz4oCdIHbGsOG7o3QgcmEgbmdvw6BpIGxpw6puIGvhur90IG3hu4FtIgorCisjOiBhcHBseS5jOjM0MjcgYXBwbHkuYzozNjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIgorbXNnc3RyICLEkcaw4budbmcgZOG6q24gJXMgxJHDoyBi4buLIHjDs2EgaG/hurdjIMSR4buVaSB0w6puIgorCisjOiBhcHBseS5jOjM1MTAgYXBwbHkuYzozNjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKK21zZ3N0ciAiJXM6IGtow7RuZyB04buTbiB04bqhaSB0cm9uZyBi4bqjbmcgbeG7pWMgbOG7pWMiCisKKyM6IGFwcGx5LmM6MzUxOSBhcHBseS5jOjM2ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgorbXNnc3RyICIlczoga2jDtG5nIGto4bubcCB0cm9uZyBt4bulYyBs4bulYyIKKworIzogYXBwbHkuYzozNTU0Cittc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKK21zZ3N0ciAiS2hvIHRoaeG6v3UgxJHhu5FpIHTGsOG7o25nIGJsb2IgY+G6p24gdGhp4bq/dCDEkeG7gyB0cuG7nyB24buBIHRyw6puIOKAnDMtd2F5IG1lcmdl4oCdLiIKKworIzogYXBwbHkuYzozNTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhbGxpbmcgYmFjayB0byB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKK21zZ3N0ciAixJBhbmcgdHLhu58gbOG6oWkgaMOyYSB0cuG7mW4g4oCcMy3Ekcaw4budbmfigJ3igKZcbiIKKworIzogYXBwbHkuYzozNTczIGFwcGx5LmM6MzU3NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCB0aGUgY3VycmVudCBjb250ZW50cyBvZiAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIG7hu5lpIGR1bmcgaGnhu4duIGjDoG5oIGPhu6dhIOKAnCVz4oCdIgorCisjOiBhcHBseS5jOjM1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGZhbGwgYmFjayBvbiB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKK21zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHF1YXkgdHLhu58gbOG6oWkgxJHhu4MgaMOyYSB0cuG7mW4ga2nhu4N1IOKAnHRocmVlLXdheeKAneKAplxuIgorCisjOiBhcHBseS5jOjM2MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIHdpdGggY29uZmxpY3RzLlxuIgorbXNnc3RyICLEkMOjIMOhcCBk4bulbmcgbWnhur9uZyB2w6EgJXMgduG7m2kgY8OhYyB4dW5nIMSR4buZdC5cbiIKKworIzogYXBwbHkuYzozNjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyBjbGVhbmx5LlxuIgorbXNnc3RyICLEkMOjIMOhcCBk4bulbmcgbWnhur9uZyB2w6EgJXMgbeG7mXQgY8OhY2ggc+G6oWNoIHPhur0uXG4iCisKKyM6IGFwcGx5LmM6MzYzNAorbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCittc2dzdHIgImxv4bqhaSBi4buPIG1p4bq/bmcgdsOhIMSR4buDIGzhuqFpIG7hu5lpIGR1bmcgdOG6rXAgdGluIgorCisjOiBhcHBseS5jOjM3MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyb25nIHR5cGUiCittc2dzdHIgIiVzOiBzYWkga2nhu4N1IgorCisjOiBhcHBseS5jOjM3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgorbXNnc3RyICIlcyBjw7Mga2nhu4N1ICVvLCBj4bqnbiAlbyIKKworIzogYXBwbHkuYzozODU5IGFwcGx5LmM6Mzg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKK21zZ3N0ciAixJHGsOG7nW5nIGThuqtuIGtow7RuZyBo4bujcCBs4buHIOKAnCVz4oCdIgorCisjOiBhcHBseS5jOjM5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgorbXNnc3RyICIlczogxJHDoyBjw7MgdOG7qyB0csaw4bubYyB0cm9uZyBi4bqjbmcgbeG7pWMgbOG7pWMiCisKKyM6IGFwcGx5LmM6MzkyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiDEkcOjIHPhurVuIGPDsyB0cm9uZyB0aMawIG3hu6VjIMSRYW5nIGzDoG0gdmnhu4djIgorCisjOiBhcHBseS5jOjM5NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgorbXNnc3RyICJjaOG6vyDEkeG7mSBt4bubaSAoJW8pIGPhu6dhICVzIGtow7RuZyBraOG7m3AgduG7m2kgY2jhur8gxJHhu5kgY8WpICglbykiCisKKyM6IGFwcGx5LmM6Mzk0NQorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCittc2dzdHIgImNo4bq/IMSR4buZIG3hu5tpICglbykgY+G7p2EgJXMga2jDtG5nIGto4bubcCB24bubaSBjaOG6vyDEkeG7mSBjxakgKCVvKSBj4bunYSAlcyIKKworIzogYXBwbHkuYzozOTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImFmZmVjdGVkIGZpbGUgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICJ04bqtcCB0aW4gY2jhu4t1IHTDoWMgxJHhu5luZyDigJwlc+KAnSB2xrDhu6N0IHJhIG5nb8OgaSBsacOqbiBr4bq/dCBt4buBbSIKKworIzogYXBwbHkuYzozOTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXRjaCBkb2VzIG5vdCBhcHBseSIKK21zZ3N0ciAiJXM6IG1p4bq/bmcgdsOhIGtow7RuZyDEkcaw4bujYyDDoXAgZOG7pW5nIgorCisjOiBhcHBseS5jOjM5ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCittc2dzdHIgIsSQYW5nIGtp4buDbSB0cmEgbWnhur9uZyB2w6EgJXPigKYiCisKKyM6IGFwcGx5LmM6NDA3NQorIywgYy1mb3JtYXQKK21zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyBmb3Igc3VibW9kdWxlICVzIgorbXNnc3RyICJ0aMO0bmcgdGluIHNoYTEgdGhp4bq/dSBob+G6t2Mga2jDtG5nIGTDuW5nIMSRxrDhu6NjIGNobyBtw7QtxJF1biAlcyIKKworIzogYXBwbHkuYzo0MDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGUgY2hhbmdlIGZvciAlcywgd2hpY2ggaXMgbm90IGluIGN1cnJlbnQgSEVBRCIKK21zZ3N0ciAidGhheSDEkeG7lWkgY2jhur8gxJHhu5kgY2hvICVzLCBjw6FpIG3DoCBraMO0bmcgcGjhuqNpIGzDoCBIRUFEIGhp4buHbiB04bqhaSIKKworIzogYXBwbHkuYzo0MDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzICglcykuIgorbXNnc3RyICJ0aMO0bmcgdGluIHNoYTEgY8OybiB0aGnhur91IGhheSBraMO0bmcgZMO5bmcgxJHGsOG7o2MoJXMpLiIKKworIzogYXBwbHkuYzo0MDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzMgYnVpbHRpbi9yZXNldC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgorbXNnc3RyICJtYWtlX2NhY2hlX2VudHJ5IGfhurdwIGzhu5dpIMSR4buRaSB24bubaSDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0iCisKKyM6IGFwcGx5LmM6NDA5NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgYWRkICVzIHRvIHRlbXBvcmFyeSBpbmRleCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHRow6ptICVzIHbDoG8gY2jhu4kgbeG7pWMgdOG6oW0gdGjhu51pIgorCisjOiBhcHBseS5jOjQxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlIHRlbXBvcmFyeSBpbmRleCB0byAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDZ2hpIG3hu6VjIGzhu6VjIHThuqFtIHbDoG8gJXMiCisKKyM6IGFwcGx5LmM6NDI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlICVzIGZyb20gaW5kZXgiCittc2dzdHIgImtow7RuZyB0aOG7gyBn4buhIGLhu48gJXMgdOG7qyBt4bulYyBs4bulYyIKKworIzogYXBwbHkuYzo0Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKK21zZ3N0ciAibWnhur9uZyB2w6Egc2FpIGjhu49uZyBjaG8gbcO0LcSRdW4tY29uICVzIgorCisjOiBhcHBseS5jOjQyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCittc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0aOG7kW5nIGvhu4EgduG7gSB04bqtcCB0aW4gJXMgbeG7m2kgaMahbiDEkcOjIMSRxrDhu6NjIHThuqFvIgorCisjOiBhcHBseS5jOjQyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyDigJxraG8gbMawdSDEkeG6sW5nIHNhdeKAnSBjaG8gdOG6rXAgdGluIMSRxrDhu6NjIHThuqFvIG3hu5tpIGjGoW4gJXMiCisKKyM6IGFwcGx5LmM6NDI5NyBhcHBseS5jOjQ0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyB0aMOqbSBt4bulYyBuaOG7myDEkeG7h20gY2hvICVzIgorCisjOiBhcHBseS5jOjQzMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIHRvICclcyciCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBnaGkgdsOgbyDigJwlc+KAnSIKKworIzogYXBwbHkuYzo0MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgZmlsZSAnJXMnIgorbXNnc3RyICLEkWFuZyDEkcOzbmcgdOG6rXAgdGluIOKAnCVz4oCdIgorCisjOiBhcHBseS5jOjQ0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIgorbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIHbDoG8gdOG6rXAgdGluIOKAnCVz4oCdIGNo4bq/IMSR4buZICVvIgorCisjOiBhcHBseS5jOjQ1MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbGllZCBwYXRjaCAlcyBjbGVhbmx5LiIKK21zZ3N0ciAixJDDoyDDoXAgZOG7pW5nIG1p4bq/bmcgdsOhICVzIG3hu5l0IGPDoWNoIHPhuqFjaCBz4bq9LiIKKworIzogYXBwbHkuYzo0NTE4Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgImzhu5dpIG7hu5lpIGLhu5kiCisKKyM6IGFwcGx5LmM6NDUyMQorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCittc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCittc2dzdHJbMF0gIsSQYW5nIMOhcCBk4bulbmcgbWnhur9uZyB2w6EgJSVzIHbhu5tpICVkIGzhuqduIHThu6sgY2jhu5Fp4oCmIgorCisjOiBhcHBseS5jOjQ1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJ1bmNhdGluZyAucmVqIGZpbGVuYW1lIHRvICUuKnMucmVqIgorbXNnc3RyICLEkWFuZyBj4bqvdCBuZ+G6r24gdMOqbiB04bqtcCB0aW4gLnJlaiB0aMOgbmggJS4qcy5yZWoiCisKKyM6IGFwcGx5LmM6NDU0MCBidWlsdGluL2ZldGNoLmM6NzQwIGJ1aWx0aW4vZmV0Y2guYzo5ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgImtow7RuZyBt4bufIMSRxrDhu6NjIOKAnCVz4oCdIgorCisjOiBhcHBseS5jOjQ1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKK21zZ3N0ciAiS2jhu5FpIG5o4bubICMlZCDEkcaw4bujYyDDoXAgZOG7pW5nIGfhu41uIGfDoG5nLiIKKworIzogYXBwbHkuYzo0NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKK21zZ3N0ciAixJFv4bqhbiBk4buvIGxp4buHdSAjJWQgYuG7iyB04burIGNo4buRaS4iCisKKyM6IGFwcGx5LmM6NDY2OAorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGVkIHBhdGNoICclcycuIgorbXNnc3RyICJi4buPIHF1YSDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0uIgorCisjOiBhcHBseS5jOjQ2NzYKK21zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQiCittc2dzdHIgImtow7RuZyB0aOG7q2Egbmjhuq1uIMSR4bqndSB2w6BvIgorCisjOiBhcHBseS5jOjQ2OTUKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIHThuq1wIHRpbiBsxrB1IGLhuqNuZyBt4bulYyBs4bulYyIKKworIzogYXBwbHkuYzo0ODMzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIG1p4bq/bmcgdsOhIOKAnCVz4oCdOiAlcyIKKworIzogYXBwbHkuYzo0ODU4CisjLCBjLWZvcm1hdAorbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgorbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHJbMF0gIsSRw6MgY2jhuqVtIGThu6l0ICVkIGzhu5dpIGtob+G6o25nIHRy4bqvbmciCisKKyM6IGFwcGx5LmM6NDg2NCBhcHBseS5jOjQ4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgbGluZSBhZGRzIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYWRkIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ3N0clswXSAiJWQgZMOybmcgdGjDqm0ga2hv4bqjbmcgdHLhuq9uZyBs4buXaS4iCisKKyM6IGFwcGx5LmM6NDg3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBsaW5lIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnc3RyWzBdICIlZCBkw7JuZyDEkcaw4bujYyDDoXAgZOG7pW5nIHNhdSBraGkgc+G7rWEgY8OhYyBs4buXaSBraG/huqNuZyB0cuG6r25nLiIKKworIzogYXBwbHkuYzo0ODg4IGJ1aWx0aW4vYWRkLmM6NDYzIGJ1aWx0aW4vbXYuYzoyODYgYnVpbHRpbi9ybS5jOjQzMQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSB04bqtcCB0aW4gbMawdSBi4bqjbmcgbeG7pWMgbOG7pWMgbeG7m2kiCisKKyM6IGFwcGx5LmM6NDkxOSBhcHBseS5jOjQ5MjIgYnVpbHRpbi9hbS5jOjIyNzcgYnVpbHRpbi9hbS5jOjIyODAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NSBidWlsdGluL2ZldGNoLmM6OTggYnVpbHRpbi9wdWxsLmM6MTgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjgxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1ODkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ3Cittc2dpZCAicGF0aCIKK21zZ3N0ciAixJHGsOG7nW5nLWThuqtuIgorCisjOiBhcHBseS5jOjQ5MjAKK21zZ2lkICJkb24ndCBhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgorbXNnc3RyICJraMO0bmcgw6FwIGThu6VuZyBjw6FjIHRoYXkgxJHhu5VpIGto4bubcCB24bubaSDEkcaw4budbmcgZOG6q24gxJHDoyBjaG8iCisKKyM6IGFwcGx5LmM6NDkyMworbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCittc2dzdHIgIsOhcCBk4bulbmcgY8OhYyB0aGF5IMSR4buVaSBraOG7m3AgduG7m2kgxJHGsOG7nW5nIGThuqtuIMSRw6MgY2hvIgorCisjOiBhcHBseS5jOjQ5MjUgYnVpbHRpbi9hbS5jOjIyODYKK21zZ2lkICJudW0iCittc2dzdHIgInPhu5EiCisKKyM6IGFwcGx5LmM6NDkyNgorbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgorbXNnc3RyICJn4buhIGLhu48gPHPhu5E+IGThuqV1IGfhuqFjaCBjaMOpbyBk4bqrbiDEkeG6p3UgdOG7qyDEkcaw4budbmcgZOG6q24gZGlmZiBj4buVIMSRaeG7g24iCisKKyM6IGFwcGx5LmM6NDkyOQorbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCittc2dzdHIgImzhu50gxJFpIHBo4bqnbiBi4buVIHh1bmcgxJHGsOG7o2MgdOG6oW8gcmEgYuG7n2kgbWnhur9uZyB2w6EiCisKKyM6IGFwcGx5LmM6NDkzMQorbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKK21zZ3N0ciAiIgorInRoYXkgdsOsIMOhcCBk4bulbmcgbeG7mXQgbWnhur9uZyB2w6EsIGvhur90IHh14bqldCBr4bq/dCBxdeG6oyB04burIGzhu4duaCBkaWZmc3RhdCBjaG8gxJHhuqd1IHJhIgorCisjOiBhcHBseS5jOjQ5MzUKK21zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgorbXNnc3RyICIiCisiaGnhu4NuIHRo4buLIHPhu5EgbMaw4bujbmcgY8OhYyBkw7JuZyDEkcaw4bujYyB0aMOqbSB2w6BvIHbDoCB4w7NhIMSRaSB0aGVvIGvDvSBoaeG7h3UgdGjhuq1wIHBow6JuIgorCisjOiBhcHBseS5jOjQ5MzcKK21zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgorbXNnc3RyICJ0aGF5IHbDrCDDoXAgZOG7pW5nIG3hu5l0IG1p4bq/bmcgdsOhLCBr4bq/dCB4deG6pXQga+G6v3QgcXXhuqMgY2hvIMSR4bqndSB2w6BvIgorCisjOiBhcHBseS5jOjQ5MzkKK21zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIgorbXNnc3RyICJ0aGF5IHbDrCDDoXAgZOG7pW5nIG1p4bq/bmcgdsOhLCBow6N5IHhlbSB4ZW0gbWnhur9uZyB2w6EgY8OzIHRow61jaCBo4bujcCBraMO0bmciCisKKyM6IGFwcGx5LmM6NDk0MQorbXNnaWQgIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIKK21zZ3N0ciAiaMOjeSBjaOG6r2MgY2jhuq9uIGzDoCBtaeG6v25nIHbDoSB0aMOtY2ggaOG7o3AgduG7m2kgYuG6o25nIG3hu6VjIGzhu6VjIGhp4buHbiBow6BuaCIKKworIzogYXBwbHkuYzo0OTQzCittc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIsOhcCBk4bulbmcgbeG7mXQgbWnhur9uZyB2w6EgbcOgIGtow7RuZyDEkeG7mW5nIGNo4bqhbSDEkeG6v24gY8OieSBsw6BtIHZp4buHYyIKKworIzogYXBwbHkuYzo0OTQ1Cittc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKK21zZ3N0ciAiY2jhuqVwIG5o4bqtbiBt4buZdCBtaeG6v25nIHbDoSBtw6Aga2jDtG5nIMSR4buZbmcgY2jhuqFtIMSR4bq/biBjw6J5IGzDoG0gdmnhu4djIgorCisjOiBhcHBseS5jOjQ5NDcKK21zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKK21zZ3N0ciAiIgorIsSR4buTbmcgdGjhu51pIMOhcCBk4bulbmcgbWnhur9uZyB2w6EgKGTDuW5nIHbhu5tpIHTDuXkgY2jhu41uIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCisKKyM6IGFwcGx5LmM6NDk0OQorbXNnaWQgImF0dGVtcHQgdGhyZWUtd2F5IG1lcmdlIGlmIGEgcGF0Y2ggZG9lcyBub3QgYXBwbHkiCittc2dzdHIgInRo4butIGjDsmEgdHLhu5luIGtp4buDdSB0aHJlZS13YXkgbuG6v3Ugdmnhu4djIHbDoSBraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiDEkcaw4bujYyIKKworIzogYXBwbHkuYzo0OTUxCittc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCittc2dzdHIgIiIKKyJ4w6J5IGThu7FuZyBi4bqjbmcgbeG7pWMgbOG7pWMgdOG6oW0gdGjhu51pIHRyw6puIGPGoSBz4bufIHRow7RuZyB0aW4gYuG6o25nIG3hu6VjIGzhu6VjIMSRxrDhu6NjIG5ow7puZyIKKworIzogYXBwbHkuYzo0OTU0IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjkgYnVpbHRpbi9scy1maWxlcy5jOjUwNQorbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgorbXNnc3RyICJjw6FjIMSRxrDhu51uZyBk4bqrbiBi4buLIG5nxINuIGPDoWNoIGLhu59pIGvDvSB04buxIE5VTEwiCisKKyM6IGFwcGx5LmM6NDk1NgorbXNnaWQgImVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2YgY29udGV4dCBtYXRjaCIKK21zZ3N0ciAixJHhuqNtIGLhuqNvIHLhurFuZyBjw7Mgw610IG5o4bqldCA8bj4gZMOybmcgbuG7mWkgZHVuZyBraOG7m3AiCisKKyM6IGFwcGx5LmM6NDk1NyBidWlsdGluL2FtLmM6MjI2NQorbXNnaWQgImFjdGlvbiIKK21zZ3N0ciAiaMOgbmggxJHhu5luZyIKKworIzogYXBwbHkuYzo0OTU4Cittc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHIgInTDrG0gdGjhuqV5IG3hu5l0IGTDsm5nIG3hu5tpIGhv4bq3YyBi4buLIHPhu61hIMSR4buVaSBtw6AgbsOzIGPDsyBs4buXaSBkbyBraG/huqNuZyB0cuG6r25nIgorCisjOiBhcHBseS5jOjQ5NjEgYXBwbHkuYzo0OTY0Cittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKK21zZ3N0ciAibOG7nSDEkWkgc+G7sSB0aGF5IMSR4buVaSBkbyBraG/huqNuZyB0cuG6r25nIGfDonkgcmEga2hpIHF1w6l0IG7hu5lpIGR1bmciCisKKyM6IGFwcGx5LmM6NDk2NworbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgorbXNnc3RyICLDoXAgZOG7pW5nIG1p4bq/bmcgdsOhIHRoZW8gY2hp4buBdSBuZ8aw4bujYyIKKworIzogYXBwbHkuYzo0OTY5Cittc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCittc2dzdHIgIsSR4burbmcgaHkgduG7jW5nIGPDsyDDrXQgbmjhuqV0IG3hu5l0IGTDsm5nIG7hu5lpIGR1bmciCisKKyM6IGFwcGx5LmM6NDk3MQorbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgorbXNnc3RyICLEkeG7gyBs4bqhaSBraOG7kWkgZOG7ryBsaeG7h3UgYuG7iyB04burIGNo4buRaSB0cm9uZyBjw6FjIHThuq1wIHRpbiAqLnJlaiB0xrDGoW5nIOG7qW5nIgorCisjOiBhcHBseS5jOjQ5NzMKK21zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKK21zZ3N0ciAiY2hvIHBow6lwIGNo4buTbmcga2jhu5FpIG5o4bubIgorCisjOiBhcHBseS5jOjQ5NzQgYnVpbHRpbi9hZGQuYzoyNjcgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQorIzogYnVpbHRpbi9jb21taXQuYzoxMzM5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk0IGJ1aWx0aW4vZnNjay5jOjU5MworIzogYnVpbHRpbi9sb2cuYzoxODYwIGJ1aWx0aW4vbXYuYzoxMTAgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKK21zZ2lkICJiZSB2ZXJib3NlIgorbXNnc3RyICJjaGkgdGnhur90IgorCisjOiBhcHBseS5jOjQ5NzYKK21zZ2lkICJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIKK21zZ3N0ciAiIgorIsSRw6MgZMOyIHTDrG0gdGjhuqV5IGR1bmcgc2FpIGtow7RuZyBjaMOtbmggeMOhYyB0aGnhur91IGTDsm5nIG3hu5tpIHThuqFpIGN14buRaSB04bqtcCB0aW4iCisKKyM6IGFwcGx5LmM6NDk3OQorbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKK21zZ3N0ciAia2jDtG5nIHRpbiBz4buRIGzGsOG7o25nIGTDsm5nIHRyb25nIHBo4bqnbiDEkeG6p3Uga2jhu5FpIGThu68gbGnhu4d1IgorCisjOiBhcHBseS5jOjQ5ODEgYnVpbHRpbi9hbS5jOjIyNzQKK21zZ2lkICJyb290IgorbXNnc3RyICJn4buRYyIKKworIzogYXBwbHkuYzo0OTgyCittc2dpZCAicHJlcGVuZCA8cm9vdD4gdG8gYWxsIGZpbGVuYW1lcyIKK21zZ3N0ciAidHJlbyB0aMOqbSA8cm9vdD4gdsOgbyB04bqldCBj4bqjIGPDoWMgdMOqbiB04bqtcCB0aW4iCisKICM6IGFyY2hpdmUuYzoxMgogbXNnaWQgImdpdCBhcmNoaXZlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBhcmNoaXZlIFs8Y8OhYy10w7l5LWNo4buNbj5dIDx0cmVlLWlzaD4gWzzEkcaw4budbmctZOG6q24+4oCmXSIKQEAgLTY3LDcgKzc0Nyw3IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGtobz4gWy0tZXhlYyA8bOG7h25oPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzQ0IGJ1aWx0aW4vYWRkLmM6MTM3IGJ1aWx0aW4vYWRkLmM6NDIwIGJ1aWx0aW4vcm0uYzozMjcKKyM6IGFyY2hpdmUuYzozNDQgYnVpbHRpbi9hZGQuYzoxNTIgYnVpbHRpbi9hZGQuYzo0NDIgYnVpbHRpbi9ybS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgogbXNnc3RyICLEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0ga2jDtG5nIGto4bubcCB24bubaSBi4bqldCBr4buzIHThuq1wIHRpbiBuw6BvIgpAQCAtODAsNyArNzYwLDcgQEAKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAixJHhu4tuaCBk4bqhbmcgbMawdSB0cuG7ryIKIAotIzogYXJjaGl2ZS5jOjQzMCBidWlsdGluL2xvZy5jOjEzOTUKKyM6IGFyY2hpdmUuYzo0MzAgYnVpbHRpbi9sb2cuYzoxNDI5CiBtc2dpZCAicHJlZml4IgogbXNnc3RyICJ0aeG7gW5fdOG7kSIKIApAQCAtODgsMTEgKzc2OCwxMSBAQAogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgIm7hu5FpIHRow6ptIHRp4buBbiB04buRIHbDoG8gdOG7q25nIMSRxrDhu51uZyBk4bqrbiB04bqtcCB0aW4gdHJvbmcga2hvIGzGsHUiCiAKLSM6IGFyY2hpdmUuYzo0MzIgYnVpbHRpbi9hcmNoaXZlLmM6ODggYnVpbHRpbi9ibGFtZS5jOjI1NDggYnVpbHRpbi9ibGFtZS5jOjI1NDkKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjAgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5Ci0jOiBidWlsdGluL2dyZXAuYzo3MjIgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMCBidWlsdGluL2xzLWZpbGVzLmM6NDU5Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYyIGJ1aWx0aW4vbm90ZXMuYzozOTggYnVpbHRpbi9ub3Rlcy5jOjU2MQotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDkgcGFyc2Utb3B0aW9ucy5oOjE1MworIzogYXJjaGl2ZS5jOjQzMiBidWlsdGluL2FyY2hpdmUuYzo4OCBidWlsdGluL2JsYW1lLmM6MjYwMworIzogYnVpbHRpbi9ibGFtZS5jOjI2MDQgYnVpbHRpbi9jb25maWcuYzo1OSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5IGJ1aWx0aW4vZ3JlcC5jOjcyMyBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDIgYnVpbHRpbi9ub3Rlcy5jOjQwMQorIzogYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL3JlYWQtdHJlZS5jOjEwOSBwYXJzZS1vcHRpb25zLmg6MTUzCiBtc2dpZCAiZmlsZSIKIG1zZ3N0ciAidOG6rXBfdGluIgogCkBAIC0xMjQsOCArODA0LDggQEAKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgImxp4buHdCBrw6ogY8OhYyBraeG7g3UgbsOpbiDEkcaw4bujYyBo4buXIHRy4bujIgogCi0jOiBhcmNoaXZlLmM6NDUxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzo4MgotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3NgorIzogYXJjaGl2ZS5jOjQ1MSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODUgYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjAxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTMKIG1zZ2lkICJyZXBvIgogbXNnc3RyICJraG8iCiAKQEAgLTEzMyw3ICs4MTMsNyBAQAogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICJuaOG6rW4ga2hvIG7DqW4gdOG7qyBraG8gY2jhu6lhIDxraG8+IHRyw6puIG3DoXkgY2jhu6ciCiAKLSM6IGFyY2hpdmUuYzo0NTMgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4MgorIzogYXJjaGl2ZS5jOjQ1MyBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg1CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAibOG7h25oIgogCkBAIC0xNDEsNiArODIxLDI4IEBACiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24gxJHhur9uIGzhu4duaCBnaXQtdXBsb2FkLXBhY2sgdHLDqm4gbcOheSBjaOG7pyIKIAorIzogYXJjaGl2ZS5jOjQ2MQorbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tcmVtb3RlIgorbXNnc3RyICJH4bq3cCB0w7l5IGNo4buNbiAtLXJlbW90ZSBraMO0bmcgY+G6p24iCisKKyM6IGFyY2hpdmUuYzo0NjMKK21zZ2lkICJPcHRpb24gLS1leGVjIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLXJlbW90ZSIKK21zZ3N0ciAiVMO5eSBjaOG7jW4gLS1leGVjIGNo4buJIGPDsyB0aOG7gyDEkcaw4bujYyBkw7luZyBjw7luZyB24bubaSAtLXJlbW90ZSIKKworIzogYXJjaGl2ZS5jOjQ2NQorbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tb3V0cHV0IgorbXNnc3RyICJH4bq3cCB0w7l5IGNo4buNbiBraMO0bmcgY+G6p24gLS1vdXRwdXQiCisKKyM6IGFyY2hpdmUuYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBhcmNoaXZlIGZvcm1hdCAnJXMnIgorbXNnc3RyICJLaMO0bmcgaGnhu4N1IMSR4buLbmggZOG6oW5nIOKAnCVz4oCdIgorCisjOiBhcmNoaXZlLmM6NDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkFyZ3VtZW50IG5vdCBzdXBwb3J0ZWQgZm9yIGZvcm1hdCAnJXMnOiAtJWQiCittc2dzdHIgIlRoYW0gc+G7kSBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyBjaG8gxJHhu4tuaCBk4bqhbmcg4oCcJXPigJ06IC0lZCIKKwogIzogYXR0ci5jOjI2MwogbXNnaWQgIiIKICJOZWdhdGl2ZSBwYXR0ZXJucyBhcmUgaWdub3JlZCBpbiBnaXQgYXR0cmlidXRlc1xuIgpAQCAtMTQ5LDYgKzg1MSwxMjggQEAKICJDw6FjIG3huqt1IGThuqFuZyBwaOG7pyDEkeG7i25oIGLhu4sgY+G6pW0gZMO5bmcgY2hvIGPDoWMgdGh14buZYyB0w61uaCBj4bunYSBnaXRcbiIKICJEw7luZyDigJxcXCHigJ0gY2hvIGPDoWMgY2h14buXaSB2xINuIGLhuqNuIGPDsyBk4bqldSBjaOG6pW0gdGhhbiBk4bqrbiDEkeG6p3UuIgogCisjOiBiaXNlY3QuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSAnJXMnIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4g4oCcJXPigJ0iCisKKyM6IGJpc2VjdC5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJCYWRseSBxdW90ZWQgY29udGVudCBpbiBmaWxlICclcyc6ICVzIgorbXNnc3RyICJu4buZaSBkdW5nIMSRxrDhu6NjIHRyw61jaCBk4bqrbiBzYWkgdOG6rXAgdGluIOKAnCVz4oCdOiAlcyIKKworIzogYmlzZWN0LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIldlIGNhbm5vdCBiaXNlY3QgbW9yZSFcbiIKK21zZ3N0ciAiQ2jDum5nIHTDtGkga2jDtG5nIGJpc2VjdCB0aMOqbSBu4buvYSFcbiIKKworIzogYmlzZWN0LmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhIHZhbGlkIGNvbW1pdCBuYW1lICVzIgorbXNnc3RyICJLaMO0bmcgcGjhuqNpIHTDqm4gxJHhu5FpIHTGsOG7o25nIGNvbW1pdCAlcyBo4bujcCBs4buHIgorCisjOiBiaXNlY3QuYzo3MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzIGJhZC5cbiIKKyJUaGlzIG1lYW5zIHRoZSBidWcgaGFzIGJlZW4gZml4ZWQgYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIKK21zZ3N0ciAiIgorIkjDsmEgdHLhu5luIHRyw6puICVzIGzDoCBzYWkuXG4iCisixJBp4buBdSDEkcOzIGPDsyBuZ2jEqWEgbMOgIGzhu5dpIMSRw6MgxJHGsOG7o2Mgc+G7rWEgY2jhu69hIGdp4buvYSAlcyB2w6AgWyVzXS5cbiIKKworIzogYmlzZWN0LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBuZXcuXG4iCisiVGhlIHByb3BlcnR5IGhhcyBjaGFuZ2VkIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgIiIKKyJIw7JhIHRy4buZbiB0csOqbiAlcyBsw6AgbeG7m2kuXG4iCisiR+G6p24gbmjGsCBjaOG6r2MgY2jhuq9uIGzDoCBjw7MgdGhheSDEkeG7lWkgZ2nhu69hICVzIHbDoCBbJXNdLlxuIgorCisjOiBiaXNlY3QuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzICVzLlxuIgorIlRoaXMgbWVhbnMgdGhlIGZpcnN0ICclcycgY29tbWl0IGlzIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgIiIKKyJIw7JhIHRy4buZbiB0csOqbiAlcyBsw6AgJXMuXG4iCisixJBp4buBdSDEkcOzIGPDsyBuZ2jEqWEgbMOgIGzhuqduIGNodXnhu4NuIGdpYW8g4oCcJXPigJ0gxJHhuqd1IHRpw6puIGzDoCBnaeG7r2EgJXMgdsOgIFslc10uXG4iCisKKyM6IGJpc2VjdC5jOjc1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiU29tZSAlcyByZXZzIGFyZSBub3QgYW5jZXN0b3Igb2YgdGhlICVzIHJldi5cbiIKKyJnaXQgYmlzZWN0IGNhbm5vdCB3b3JrIHByb3Blcmx5IGluIHRoaXMgY2FzZS5cbiIKKyJNYXliZSB5b3UgbWlzdG9vayAlcyBhbmQgJXMgcmV2cz9cbiIKK21zZ3N0ciAiIgorIk3hu5l0IHPhu5EgxJFp4buDbSB4w6l0IGR1eeG7h3QgJXMga2jDtG5nIHBo4bqjaSB04buVIHRpw6puIGPhu6dhICVzLlxuIgorImdpdCBiaXNlY3Qga2jDtG5nIHRo4buDIGzDoG0gdmnhu4djIMSRw7puZyDEkeG6r24gdHJvbmcgdHLGsOG7nW5nIGjhu6NwIG7DoHkuXG4iCisiTGnhu4d1IGPDsyBwaOG6o2kgYuG6oW4gbmjhuqdtIGzhuqtuIGPDoWMgxJFp4buDbSAlcyB2w6AgJXMga2jDtG5nP1xuIgorCisjOiBiaXNlY3QuYzo3NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBtZXJnZSBiYXNlIGJldHdlZW4gJXMgYW5kIFslc10gbXVzdCBiZSBza2lwcGVkLlxuIgorIlNvIHdlIGNhbm5vdCBiZSBzdXJlIHRoZSBmaXJzdCAlcyBjb21taXQgaXMgYmV0d2VlbiAlcyBhbmQgJXMuXG4iCisiV2UgY29udGludWUgYW55d2F5LiIKK21zZ3N0ciAiIgorImjDsmEgdHLhu5luIHRyw6puIGPGoSBz4bufIGdp4buvYSAlcyB2w6AgWyVzXSBwaOG6o2kgYuG7iyBi4buPIHF1YS5cbiIKKyJEbyB24bqteSBjaMO6bmcgdMO0aSBraMO0bmcgdGjhu4MgY2jhuq9jIGzhuqduIGNodXnhu4NuIGdpYW8gxJHhuqd1IHRpw6puICVzIGzDoCBnaeG7r2EgJXMgdsOgICIKKyIlcy5cbiIKKyJDaMO6bmcgdMO0aSB24bqrbiBj4bupIHRp4bq/cCB04bulYy4iCisKKyM6IGJpc2VjdC5jOjc5OAorIywgYy1mb3JtYXQKK21zZ2lkICJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIgorbXNnc3RyICJCaXNlY3Rpbmc6IG7hu4FuIGjDsmEgdHLhu5luIGPhuqduIHBo4bqjaSDEkcaw4bujYyBraeG7g20gdHJhXG4iCisKKyM6IGJpc2VjdC5jOjg0OQorIywgYy1mb3JtYXQKK21zZ2lkICJhICVzIHJldmlzaW9uIGlzIG5lZWRlZCIKK21zZ3N0ciAiY+G6p24gbeG7mXQgxJFp4buDbSB4w6l0IGR1eeG7h3QgJXMiCisKKyM6IGJpc2VjdC5jOjg2NiBidWlsdGluL25vdGVzLmM6MTc0IGJ1aWx0aW4vdGFnLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdOG6rXAgdGluIOKAnCVz4oCdIgorCisjOiBiaXNlY3QuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZmlsZSAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIHThuq1wIHRpbiDigJwlc+KAnSIKKworIzogYmlzZWN0LmM6OTQ3Cittc2dpZCAicmVhZGluZyBiaXNlY3QgcmVmcyBmYWlsZWQiCittc2dzdHIgInZp4buHYyDEkeG7jWMgdGhhbSBjaGnhur91IGJpc2VjdCBn4bq3cCBs4buXaSIKKworIzogYmlzZWN0LmM6OTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHdhcyBib3RoICVzIGFuZCAlc1xuIgorbXNnc3RyICIlcyBsw6AgY+G6oyAlcyB2w6AgJXNcbiIKKworIzogYmlzZWN0LmM6OTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJObyB0ZXN0YWJsZSBjb21taXQgZm91bmQuXG4iCisiTWF5YmUgeW91IHN0YXJ0ZWQgd2l0aCBiYWQgcGF0aCBwYXJhbWV0ZXJzP1xuIgorbXNnc3RyICIiCisia2jDtG5nIHTDrG0gdGjhuqV5IGzhuqduIGNodXnhu4NuIGdpYW8ga2nhu4NtIHRyYSDEkcaw4bujYyBuw6BvLlxuIgorIkPDsyBs4bq9IGLhuqFuIGLhuq90IMSR4bqndSB24bubaSBjw6FjIHRoYW0gc+G7kSDEkcaw4budbmcgZOG6q24gc2FpP1xuIgorCisjOiBiaXNlY3QuYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHJvdWdobHkgJWQgc3RlcCkiCittc2dpZF9wbHVyYWwgIihyb3VnaGx5ICVkIHN0ZXBzKSIKK21zZ3N0clswXSAiKMaw4bubYyBjaOG7q25nICVkIGLGsOG7m2MpIgorCisjLiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoCisjLiAiKHJvdWdobHkgJWQgc3RlcHMpIiB0cmFuc2xhdGlvbgorIzogYmlzZWN0LmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJpc2VjdGluZzogJWQgcmV2aXNpb24gbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKK21zZ2lkX3BsdXJhbCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKK21zZ3N0clswXSAiQmlzZWN0aW5nOiBjw7JuICVkIMSRaeG7g20geMOpdCBkdXnhu4d0IMSR4buDIGtp4buDbSBzYXUgJXMgbsOgeVxuIgorCiAjOiBicmFuY2guYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCkBAIC0yNjMsMjcgKzEwODcsMjcgQEAKICJz4bq9IHRoZW8gZMO1aSBi4bqjbiDEkeG7kWkgY2hp4bq/dSBtw6F5IGNo4bunIGPhu6dhIG7DsywgYuG6oW4gY+G6p24gZMO5bmcgbOG7h25oXG4iCiAiXCJnaXQgcHVzaCAtdVwiIMSR4buDIMSR4bq3dCBj4bqldSBow6xuaCB0aMaw4bujbmcgbmd14buTbiBi4bqhbiBtdeG7kW4gcHVzaC4iCiAKLSM6IGJyYW5jaC5jOjI2NgorIzogYnJhbmNoLmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAiS2jDtG5nIHBo4bqjaSB0w6puIMSR4buRaSB0xrDhu6NuZyBo4bujcCBs4buHOiDigJwlc+KAnS4iCiAKLSM6IGJyYW5jaC5jOjI4NgorIzogYnJhbmNoLmM6Mjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFtYmlndW91cyBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIlTDqm4gxJHhu5FpIHTGsOG7o25nIGNoxrBhIHLDtSByw6BuZzog4oCcJXPigJ0uIgogCi0jOiBicmFuY2guYzoyOTEKKyM6IGJyYW5jaC5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICJOaMOhbmgga2jDtG5nIGjhu6NwIGzhu4c6IOKAnCVz4oCdLiIKIAotIzogYnJhbmNoLmM6MzQ1CisjOiBicmFuY2guYzozNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGNoZWNrZWQgb3V0IGF0ICclcyciCi1tc2dzdHIgIuKAnCVz4oCdIMSRw6Mgc+G6tW4gxJHGsOG7o2MgbOG6pXkgcmEgdOG6oWkg4oCcJXPigJ0iCittc2dzdHIgIuKAnCVz4oCdIMSRw6MgxJHGsOG7o2MgbOG6pXkgcmEgdOG6oWkg4oCcJXPigJ0gcuG7k2kiCiAKLSM6IGJyYW5jaC5jOjM2NAorIzogYnJhbmNoLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgb2Ygd29ya2luZyB0cmVlICVzIGlzIG5vdCB1cGRhdGVkIgogbXNnc3RyICJIRUFEIGPhu6dhIGPDonkgbMOgbSB2aeG7h2MgJXMgY2jGsGEgxJHGsOG7o2MgY+G6rXAgbmjhuq10IgpAQCAtMjk4LDcgKzExMjIsNyBAQAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAicGjhuqduIMSR4bqndSBraMO0bmcgxJHGsOG7o2MgdGjhu6thIG5o4bqtbjogJXMlcyAoJWQpIgogCi0jOiBidW5kbGUuYzo4NyBidWlsdGluL2NvbW1pdC5jOjc3NworIzogYnVuZGxlLmM6ODcgc2VxdWVuY2VyLmM6OTYzIGJ1aWx0aW4vY29tbWl0LmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIOKAnCVz4oCdIgpAQCAtMzA3LDEwICsxMTMxLDEwIEBACiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCiBtc2dzdHIgIktobyBjaOG7qWEgdGhp4bq/dSBuaOG7r25nIGzhuqduIGNodXnhu4NuIGdpYW8gdGnDqm4gcXV54bq/dCBuw6B5OiIKIAotIzogYnVuZGxlLmM6MTYzIHJlZi1maWx0ZXIuYzoxNDYyIHNlcXVlbmNlci5jOjYyNyBzZXF1ZW5jZXIuYzoxMDczCi0jOiBidWlsdGluL2JsYW1lLmM6Mjc1NSBidWlsdGluL2NvbW1pdC5jOjEwNTYgYnVpbHRpbi9sb2cuYzozNDAKLSM6IGJ1aWx0aW4vbG9nLmM6ODYzIGJ1aWx0aW4vbG9nLmM6MTMwOCBidWlsdGluL2xvZy5jOjE2MzMgYnVpbHRpbi9sb2cuYzoxODc1Ci0jOiBidWlsdGluL21lcmdlLmM6MzYxIGJ1aWx0aW4vc2hvcnRsb2cuYzoxNzAKKyM6IGJ1bmRsZS5jOjE2MyByZWYtZmlsdGVyLmM6MTQ2MiBzZXF1ZW5jZXIuYzo4MzAgc2VxdWVuY2VyLmM6MTM3NAorIzogYnVpbHRpbi9ibGFtZS5jOjI4MTQgYnVpbHRpbi9jb21taXQuYzoxMDYxIGJ1aWx0aW4vbG9nLmM6MzQ4CisjOiBidWlsdGluL2xvZy5jOjg5MCBidWlsdGluL2xvZy5jOjEzNDAgYnVpbHRpbi9sb2cuYzoxNjY2IGJ1aWx0aW4vbG9nLmM6MTkwOQorIzogYnVpbHRpbi9tZXJnZS5jOjM1NiBidWlsdGluL3Nob3J0bG9nLmM6MTcwCiBtc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCiBtc2dzdHIgImPDoGkgxJHhurd0IHZp4buHYyBkaSBjaHV54buDbiBxdWEgY8OhYyDEkWnhu4NtIHjDqXQgZHV54buHdCBn4bq3cCBs4buXaSIKIApAQCAtMzQ3LDcgKzExNzEsNyBAQAogbXNnaWQgInJlZiAnJXMnIGlzIGV4Y2x1ZGVkIGJ5IHRoZSByZXYtbGlzdCBvcHRpb25zIgogbXNnc3RyICJ0aC5jaGnhur91IOKAnCVz4oCdIGLhu4sgbG/huqFpIHRy4burIGLhu59pIGPDoWMgdMO5eSBjaOG7jW4gcmV2LWxpc3QiCiAKLSM6IGJ1bmRsZS5jOjQ0MyBidWlsdGluL2xvZy5jOjE2MyBidWlsdGluL2xvZy5jOjE1MzggYnVpbHRpbi9zaG9ydGxvZy5jOjI3MworIzogYnVuZGxlLmM6NDQzIGJ1aWx0aW4vbG9nLmM6MTY1IGJ1aWx0aW4vbG9nLmM6MTU3MiBidWlsdGluL3Nob3J0bG9nLmM6MjczCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uOiAlcyIKQEAgLTM2NSwxMyArMTE4OSwxMyBAQAogbXNnaWQgImluZGV4LXBhY2sgZGllZCIKIG1zZ3N0ciAibeG7pWMgbOG7pWMgZ8OzaSDEkcOjIGNo4bq/dCIKIAotIzogY29sb3IuYzoyNzUKKyM6IGNvbG9yLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29sb3IgdmFsdWU6ICUuKnMiCiBtc2dzdHIgImdpw6EgdHLhu4sgbcOgdSBraMO0bmcgaOG7o3AgbOG7hzogJS4qcyIKIAotIzogY29tbWl0LmM6NDAgYnVpbHRpbi9hbS5jOjQzNyBidWlsdGluL2FtLmM6NDczIGJ1aWx0aW4vYW0uYzoxNTA0Ci0jOiBidWlsdGluL2FtLmM6MjEzNAorIzogY29tbWl0LmM6NDAgYnVpbHRpbi9hbS5jOjQyMSBidWlsdGluL2FtLmM6NDU3IGJ1aWx0aW4vYW0uYzoxNDkzCisjOiBidWlsdGluL2FtLmM6MjEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjw7ogcGjDoXAgJXMiCkBAIC0zODEsMTM5ICsxMjA1LDI1NyBAQAogbXNnaWQgIiVzICVzIGlzIG5vdCBhIGNvbW1pdCEiCiBtc2dzdHIgIiVzICVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8hIgogCisjOiBjb21taXQuYzoxNTE0Cittc2dpZCAiIgorIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKKyJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgorInZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgdG8gdGhlIGVuY29kaW5nIHlvdXIgcHJvamVjdCB1c2VzLlxuIgorbXNnc3RyICIiCisiQ+G6o25oIGLDoW86IGdoaSBjaMO6IGNobyBs4bqnbiBjaHV54buDbiBnaWFvIGtow7RuZyBo4bujcCBjaHXhuqluIFVURi04LlxuIgorIkLhuqFuIGPDsyBs4bq9IG114buRbiB0dSBi4buVIG7DsyBzYXUga2hpIHPhu61hIGzhu51pIGNow7ogdGjDrWNoLCBob+G6t2MgbMOgIMSR4bq3dCBiaeG6v25cbiIKKyJj4bqldSBow6xuaCBpMThuLmNvbW1pdGVuY29kaW5nIHRow6BuaCBi4bqjbmcgbcOjIG3DoCBk4buxIMOhbiBj4bunYSBi4bqhbiBtdeG7kW4gZMO5bmcuXG4iCisKICM6IGNvbXBhdC9vYnN0YWNrLmM6NDA2IGNvbXBhdC9vYnN0YWNrLmM6NDA4CiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAiaOG6v3QgYuG7mSBuaOG7myIKIAotIzogY29uZmlnLmM6NDc1IGNvbmZpZy5jOjQ3NworIzogY29uZmlnLmM6NTE2CiAjLCBjLWZvcm1hdAotbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyAlcyIKLW1zZ3N0ciAidOG6rXAgdGluIGPhuqV1IGjDrG5oIHNhaSB04bqhaSBkw7JuZyAlZCB0cm9uZyAlcyAlcyIKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gYmxvYiAlcyIKK21zZ3N0ciAidOG6rXAgdGluIGPhuqV1IGjDrG5oIHNhaSB04bqhaSBkw7JuZyAlZCB0cm9uZyBibG9iICVzIgogCi0jOiBjb25maWcuYzo1OTMKKyM6IGNvbmZpZy5jOjUyMAogIywgYy1mb3JtYXQKLW1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlcyAlczogJXMiCi1tc2dzdHIgInNhaSBnacOhIHRy4buLIGLhurFuZyBz4buRIGPhu6dhIGPhuqV1IGjDrG5oIOKAnCVz4oCdIGNobyDigJwlc+KAnSB0cm9uZyAlcyAlczogJXMiCittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGZpbGUgJXMiCittc2dzdHIgImPhuqV1IGjDrG5oIHNhaSB04bqhaSBkw7JuZyAlZCB0cm9uZyB04bqtcCB0aW4gJXMiCiAKLSM6IGNvbmZpZy5jOjU5NQorIzogY29uZmlnLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAiY+G6pXUgaMOsbmggc2FpIHThuqFpIGTDsm5nICVkIHRyb25nIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCisKKyM6IGNvbmZpZy5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3VibW9kdWxlLWJsb2IgJXMiCittc2dzdHIgImPhuqV1IGjDrG5oIHNhaSB04bqhaSBkw7JuZyAlZCB0cm9uZyBibG9iLW3DtC3EkXVuLWNvbiAlcyIKKworIzogY29uZmlnLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCittc2dzdHIgImPhuqV1IGjDrG5oIHNhaSB04bqhaSBkw7JuZyAlZCB0cm9uZyBkw7JuZyBs4buHbmggJXMiCisKKyM6IGNvbmZpZy5jOjUzNgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMiCittc2dzdHIgImPhuqV1IGjDrG5oIHNhaSB04bqhaSBkw7JuZyAlZCB0cm9uZyAlcyIKKworIzogY29uZmlnLmM6NjU1Cittc2dpZCAib3V0IG9mIHJhbmdlIgorbXNnc3RyICJu4bqxbSBuZ2/DoGkgcGjhuqFtIHZpIgorCisjOiBjb25maWcuYzo2NTUKK21zZ2lkICJpbnZhbGlkIHVuaXQiCittc2dzdHIgIsSRxqFuIHbhu4sga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGNvbmZpZy5jOjY2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogJXMiCiBtc2dzdHIgInNhaSBnacOhIHRy4buLIGLhurFuZyBz4buRIGPhu6dhIGPhuqV1IGjDrG5oIOKAnCVz4oCdIGNobyDigJwlc+KAnTogJXMiCiAKLSM6IGNvbmZpZy5jOjY4MAorIzogY29uZmlnLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGJsb2IgJXM6ICVzIgorbXNnc3RyICJzYWkgZ2nDoSB0cuG7iyBi4bqxbmcgc+G7kSBj4bunYSBj4bqldSBow6xuaCDigJwlc+KAnSBjaG8g4oCcJXPigJ0gdHJvbmcgYmxvYiAlczogJXMiCisKKyM6IGNvbmZpZy5jOjY2OQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiAlcyIKK21zZ3N0ciAic2FpIGdpw6EgdHLhu4sgYuG6sW5nIHPhu5EgY+G7p2EgY+G6pXUgaMOsbmgg4oCcJXPigJ0gY2hvIOKAnCVz4oCdIHRyb25nIHThuq1wIHRpbiAlczogJXMiCisKKyM6IGNvbmZpZy5jOjY3MgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdGFuZGFyZCBpbnB1dDogJXMiCittc2dzdHIgIiIKKyJzYWkgZ2nDoSB0cuG7iyBi4bqxbmcgc+G7kSBj4bunYSBj4bqldSBow6xuaCDigJwlc+KAnSBjaG8g4oCcJXPigJ0gdHJvbmcgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbjogJXMiCisKKyM6IGNvbmZpZy5jOjY3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdWJtb2R1bGUtYmxvYiAlczogJXMiCittc2dzdHIgIiIKKyJzYWkgZ2nDoSB0cuG7iyBi4bqxbmcgc+G7kSBj4bunYSBj4bqldSBow6xuaCDigJwlc+KAnSBjaG8g4oCcJXPigJ0gdHJvbmcgc3VibW9kdWxlLWJsb2IgJXM6ICVzIgorCisjOiBjb25maWcuYzo2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gY29tbWFuZCBsaW5lICVzOiAlcyIKK21zZ3N0ciAic2FpIGdpw6EgdHLhu4sgYuG6sW5nIHPhu5EgY+G7p2EgY+G6pXUgaMOsbmgg4oCcJXPigJ0gY2hvIOKAnCVz4oCdIHRyb25nIGTDsm5nIGzhu4duaCAlczogJXMiCisKKyM6IGNvbmZpZy5jOjY4MQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlczogJXMiCittc2dzdHIgInNhaSBnacOhIHRy4buLIGLhurFuZyBz4buRIGPhu6dhIGPhuqV1IGjDrG5oIOKAnCVz4oCdIGNobyDigJwlc+KAnSB0cm9uZyAlczogJXMiCisKKyM6IGNvbmZpZy5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhwYW5kIHVzZXIgZGlyIGluOiAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBt4bufIHLhu5luZyB0aMawIG3hu6VjIG5nxrDhu51pIGTDuW5nIHRyb25nOiDigJwlc+KAnSIKIAotIzogY29uZmlnLmM6NzYxIGNvbmZpZy5jOjc3MgorIzogY29uZmlnLmM6ODUyIGNvbmZpZy5jOjg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgemxpYiBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAibeG7qWMgbsOpbiB6bGliICVkIGzDoCBzYWkiCiAKLSM6IGNvbmZpZy5jOjg5MAorIzogY29uZmlnLmM6OTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbW9kZSBmb3Igb2JqZWN0IGNyZWF0aW9uOiAlcyIKIG1zZ3N0ciAiY2jhur8gxJHhu5kga2jDtG5nIGjhu6NwIGzhu4cgxJHhu5FpIHbhu5tpIHZp4buHYyB04bqhbyDEkeG7kWkgdMaw4bujbmc6ICVzIgogCi0jOiBjb25maWcuYzoxMjI4CisjOiBjb25maWcuYzoxMzEyCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBj4bqldSBow6xuaCBkw7JuZyBs4buHbmgiCiAKLSM6IGNvbmZpZy5jOjEyODQKLW1zZ2lkICJ1bmtub3duIGVycm9yIG9jY3VyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKKyM6IGNvbmZpZy5jOjEzNjIKK21zZ2lkICJ1bmtub3duIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlYWRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMiCiBtc2dzdHIgIsSRw6MgY8OzIGzhu5dpIGNoxrBhIGJp4bq/dCB44bqjeSByYSB0cm9uZyBraGkgxJHhu41jIGPDoWMgdOG6rXAgdGluIGPhuqV1IGjDrG5oIgogCi0jOiBjb25maWcuYzoxNjI5CisjOiBjb25maWcuYzoxNzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJXMnIGZyb20gY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIOKAnCVz4oCdIHThu6sgY+G6pXUgaMOsbmggZMOybmcgbOG7h25oIgogCi0jOiBjb25maWcuYzoxNjMxCisjOiBjb25maWcuYzoxNzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgdmFyaWFibGUgJyVzJyBpbiBmaWxlICclcycgYXQgbGluZSAlZCIKIG1zZ3N0ciAic2FpIGJp4bq/biBj4bqldSBow6xuaCDigJwlc+KAnSB0cm9uZyB04bqtcCB0aW4g4oCcJXPigJ0gdOG6oWkgZMOybmcgJWQiCiAKLSM6IGNvbmZpZy5jOjE2OTAKKyM6IGNvbmZpZy5jOjE3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIG11bHRpcGxlIHZhbHVlcyIKIG1zZ3N0ciAiJXMgY8OzIMSRYSBnacOhIHRy4buLIgogCi0jOiBjb25maWcuYzoyMjI0CisjOiBjb25maWcuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzZXQgJyVzJyB0byAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhurd0IOKAnCVz4oCdIHRow6BuaCDigJwlc+KAnSIKIAotIzogY29uZmlnLmM6MjIyNgorIzogY29uZmlnLmM6MjMxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHRow7RpIMSR4bq3dCDigJwlc+KAnSIKIAotIzogY29ubmVjdGVkLmM6NjkKKyM6IGNvbm5lY3QuYzo0OQorbXNnaWQgIlRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdXBvbiBpbml0aWFsIGNvbnRhY3QiCittc2dzdHIgIk3DoXkgY2jhu6cgYuG7iyB0cmVvIHRyw6puIGzhuqduIHRp4bq/cCB4w7pjIMSR4bqndSB0acOqbiIKKworIzogY29ubmVjdC5jOjUxCittc2dpZCAiIgorIkNvdWxkIG5vdCByZWFkIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkuXG4iCisiXG4iCisiUGxlYXNlIG1ha2Ugc3VyZSB5b3UgaGF2ZSB0aGUgY29ycmVjdCBhY2Nlc3MgcmlnaHRzXG4iCisiYW5kIHRoZSByZXBvc2l0b3J5IGV4aXN0cy4iCittc2dzdHIgIiIKKyJLaMO0bmcgdGjhu4MgxJHhu41jIHThu6sga2hvIHRyw6puIG3huqFuZy5cbiIKKyJcbiIKKyJWdWkgbMOybmcgY2jhuq9jIGNo4bqvbiBsw6AgYuG6oW4gY8OzIMSR4bunIHRo4bqpbSBxdXnhu4FuIHRydXkgY+G6rXBcbiIKKyJ2w6Aga2hvIGNo4bupYSDEkcOjIHPhurVuIGPDsy4iCisKKyM6IGNvbm5lY3RlZC5jOjYzIGJ1aWx0aW4vZnNjay5jOjE3MyBidWlsdGluL3BydW5lLmM6MTQwCittc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgorbXNnc3RyICLEkGFuZyBraeG7g20gdHJhIGvhur90IG7hu5FpIgorCisjOiBjb25uZWN0ZWQuYzo3NQogbXNnaWQgIkNvdWxkIG5vdCBydW4gJ2dpdCByZXYtbGlzdCciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBjaOG6oXkg4oCcZ2l0IHJldi1saXN04oCdIgogCi0jOiBjb25uZWN0ZWQuYzo4OQorIzogY29ubmVjdGVkLmM6OTUKIG1zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3QiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBnaGkgdsOgbyByZXYtbGlzdCIKIAotIzogY29ubmVjdGVkLmM6OTYKKyM6IGNvbm5lY3RlZC5jOjEwMgogbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHDs25nIMSR4bqndSB2w6BvIGNodeG6qW4gc3RkaW4gY+G7p2EgcmV2LWxpc3QiCiAKLSM6IGRhdGUuYzo5NQorIzogY29udmVydC5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ1JMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLlxuIgorIlRoZSBmaWxlIHdpbGwgaGF2ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkuIgorbXNnc3RyICIiCisiQ1JMRiBz4bq9IGLhu4sgdGhheSB0aOG6vyBi4bqxbmcgTEYgdHJvbmcgJXMuXG4iCisiVOG6rXAgdGluIHPhur0gY8OzIGtp4buDdSB4deG7kW5nIGTDsm5nIG5oxrAgYuG6o24gZ+G7kWMgdHJvbmcgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBj4bunYSBi4bqhbi4iCisKKyM6IGNvbnZlcnQuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy4iCittc2dzdHIgIkNSTEYgbsOqbiDEkcaw4bujYyB0aGF5IGLhurFuZyBMRiB0cm9uZyAlcy4iCisKKyM6IGNvbnZlcnQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcy5cbiIKKyJUaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdpbmFsIGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5LiIKK21zZ3N0ciAiIgorIkxGIHPhur0gYuG7iyB0aGF5IHRo4bq/IGLhurFuZyBDUkxGIHRyb25nICVzLlxuIgorIlThuq1wIHRpbiBz4bq9IGPDsyBraeG7g3UgeHXhu5FuZyBkw7JuZyBuaMawIGLhuqNuIGfhu5FjIHRyb25nIHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgY+G7p2EgYuG6oW4uIgorCisjOiBjb252ZXJ0LmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMiCittc2dzdHIgIkxGIG7Dqm4gdGhheSBi4bqxbmcgQ1JMRiB0cm9uZyAlcyIKKworIzogZGF0ZS5jOjk3CiBtc2dpZCAiaW4gdGhlIGZ1dHVyZSIKIG1zZ3N0ciAidHJvbmcgdMawxqFuZyBsYWkiCiAKLSM6IGRhdGUuYzoxMDEKKyM6IGRhdGUuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHNlY29uZCBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBzZWNvbmRzIGFnbyIKIG1zZ3N0clswXSAiJWx1IGdpw6J5IHRyxrDhu5tjIgogCi0jOiBkYXRlLmM6MTA4CisjOiBkYXRlLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSBtaW51dGUgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgbWludXRlcyBhZ28iCiBtc2dzdHJbMF0gIiVsdSBwaMO6dCB0csaw4bubYyIKIAotIzogZGF0ZS5jOjExNQorIzogZGF0ZS5jOjExNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgaG91ciBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBob3VycyBhZ28iCiBtc2dzdHJbMF0gIiVsdSBnaeG7nSB0csaw4bubYyIKIAotIzogZGF0ZS5jOjEyMgorIzogZGF0ZS5jOjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgZGF5IGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IGRheXMgYWdvIgogbXNnc3RyWzBdICIlbHUgbmfDoHkgdHLGsOG7m2MiCiAKLSM6IGRhdGUuYzoxMjgKKyM6IGRhdGUuYzoxMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHdlZWsgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgd2Vla3MgYWdvIgogbXNnc3RyWzBdICIlbHUgdHXhuqduIHRyxrDhu5tjIgogCi0jOiBkYXRlLmM6MTM1CisjOiBkYXRlLmM6MTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSBtb250aCBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBtb250aHMgYWdvIgogbXNnc3RyWzBdICIlbHUgdGjDoW5nIHRyxrDhu5tjIgogCi0jOiBkYXRlLmM6MTQ2CisjOiBkYXRlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSB5ZWFyIgogbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMiCiBtc2dzdHJbMF0gIiVsdSBuxINtIgogCiAjLiBUUkFOU0xBVE9SUzogIiVzIiBpcyAiPG4+IHllYXJzIgotIzogZGF0ZS5jOjE0OQorIzogZGF0ZS5jOjE1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgJWx1IG1vbnRoIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJXMsICVsdSBtb250aHMgYWdvIgogbXNnc3RyWzBdICIlcywgJWx1IHRow6FuZyB0csaw4bubYyIKIAotIzogZGF0ZS5jOjE1NCBkYXRlLmM6MTU5CisjOiBkYXRlLmM6MTU2IGRhdGUuYzoxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHllYXIgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgeWVhcnMgYWdvIgpAQCAtNTI0LDI2ICsxNDY2LDMxIEBACiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgb3JkZXJmaWxlICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMgdOG6rXAtdGluLXRo4bupLXThu7Eg4oCcJXPigJ0iCiAKLSM6IGRpZmZjb3JlLXJlbmFtZS5jOjUzOAorIzogZGlmZmNvcmUtcmVuYW1lLmM6NTM2CiBtc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCiBtc2dzdHIgIsSQYW5nIHRo4buxYyBoaeG7h24gZMOyIHTDrG0gxJHhu5VpIHTDqm4ga2jDtG5nIGNow61uaCB4w6FjIgogCi0jOiBkaWZmLmM6MTE2CisjOiBkaWZmLmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAidMO5eSBjaOG7jW4g4oCcJXPigJ0gecOqdSBj4bqndSBt4buZdCBnacOhIHRy4buLIgorCisjOiBkaWZmLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmFpbGVkIHRvIHBhcnNlIGRpcnN0YXQgY3V0LW9mZiBwZXJjZW50YWdlICclcydcbiIKIG1zZ3N0ciAiICBH4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggZGlyc3RhdCBj4bqvdCBi4buPIHBo4bqnbiB0csSDbSDigJwlc+KAnVxuIgogCi0jOiBkaWZmLmM6MTIxCisjOiBkaWZmLmM6MTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgVW5rbm93biBkaXJzdGF0IHBhcmFtZXRlciAnJXMnXG4iCiBtc2dzdHIgIiAgS2jDtG5nIGhp4buDdSDEkeG7kWkgc+G7kSBkaXJzdGF0IOKAnCVz4oCdXG4iCiAKLSM6IGRpZmYuYzoyMjUKKyM6IGRpZmYuYzoyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB2YWx1ZSBmb3IgJ2RpZmYuc3VibW9kdWxlJyBjb25maWcgdmFyaWFibGU6ICclcyciCiBtc2dzdHIgIktow7RuZyBoaeG7g3UgZ2nDoSB0cuG7iyBjaG8gYmnhur9uIGPhuqV1IGjDrG5oIOKAnGRpZmYuc3VibW9kdWxl4oCdOiDigJwlc+KAnSIKIAotIzogZGlmZi5jOjI3NworIzogZGlmZi5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKQEAgLTU1MiwxNiArMTQ5OSwyMCBAQAogIlTDrG0gdGjhuqV5IGPDoWMgbOG7l2kgdHJvbmcgYmnhur9uIGPhuqV1IGjDrG5oIOKAnGRpZmYuZGlyc3RhdOKAnTpcbiIKICIlcyIKIAotIzogZGlmZi5jOjMwMDcKKyM6IGRpZmYuYzozMDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCiBtc2dzdHIgInBo4bqnbiBt4buBbSBkaWZmIOG7nyBiw6puIG5nb8OgaSDEkcOjIGNo4bq/dCwgZOG7q25nIHThuqFpICVzIgogCi0jOiBkaWZmLmM6MzQwNQorIzogZGlmZi5jOjM0MTIKK21zZ2lkICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgdsOgIC1zIGxv4bqhaSB04burIGzhuqtuIG5oYXUiCisKKyM6IGRpZmYuYzozNTAyCiBtc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCiBtc2dzdHIgIi0tZm9sbG93IGPhuqduIGNow61uaCB4w6FjIG3hu5l0IMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiIKIAotIzogZGlmZi5jOjM1NjgKKyM6IGRpZmYuYzozNjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCkBAIC01NzAsNzAgKzE1MjEsMjQ2IEBACiAiR+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIMSR4buRaSBz4buRIHTDuXkgY2jhu41uIC0tZGlyc3RhdC8tWDpcbiIKICIlcyIKIAotIzogZGlmZi5jOjM1ODIKKyM6IGRpZmYuYzozNjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggxJHhu5FpIHPhu5EgdMO5eSBjaOG7jW4gLS1zdWJtb2R1bGU6IOKAnCVz4oCdIgogCi0jOiBkaXIuYzoxODIzCisjOiBkaWZmLmM6NDcwMAorbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgorbXNnc3RyICIiCisibmjhuq1uIHRo4bqleSDEkeG7lWkgdMOqbiBraMO0bmcgY2jDrW5oIHjDoWMgxJHDoyBi4buLIGLhu48gcXVhIGLhu59pIGPDsyBxdcOhIG5oaeG7gXUgdOG6rXAgdGluLiIKKworIzogZGlmZi5jOjQ3MDMKK21zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCittc2dzdHIgIiIKKyJjaOG7iSB0w6xtIHRo4bqleSBjw6FjIGLhuqNuIHNhbyB04burIMSRxrDhu51uZyBk4bqrbiDEkcOjIHPhu61hIMSR4buVaSBi4bufaSB2w6wgY8OzIHF1w6Egbmhp4buBdSB04bqtcCB0aW4uIgorCisjOiBkaWZmLmM6NDcwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisieW91IG1heSB3YW50IHRvIHNldCB5b3VyICVzIHZhcmlhYmxlIHRvIGF0IGxlYXN0ICVkIGFuZCByZXRyeSB0aGUgY29tbWFuZC4iCittc2dzdHIgIiIKKyJi4bqhbiBjw7MgbOG6vSBtdeG7kW4gxJHhurd0IGJp4bq/biAlcyBj4bunYSBi4bqhbiB0aMOgbmggw610IG5o4bqldCBsw6AgJWQgdsOgIHRo4butIGzhuqFpIGzhu4duaCBs4bqnbiAiCisibuG7r2EuIgorCisjOiBkaXIuYzoxODY2CiBtc2dpZCAiZmFpbGVkIHRvIGdldCBrZXJuZWwgbmFtZSBhbmQgaW5mb3JtYXRpb24iCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBs4bqleSB0w6puIHbDoCB0aMO0bmcgdGluIGPhu6dhIG5ow6JuIgogCi0jOiBkaXIuYzoxOTQyCisjOiBkaXIuYzoxOTg1CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGlzIGRpc2FibGVkIG9uIHRoaXMgc3lzdGVtIG9yIGxvY2F0aW9uLiIKIG1zZ3N0ciAiQuG7mSBuaOG7myB04bqhbSBraMO0bmcgdGhlbyB24bq/dCBi4buLIHThuq90IHRyw6puIGjhu4cgdGjhu5FuZyBoYXkgduG7iyB0csOtIG7DoHkuIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MTY2IGdwZy1pbnRlcmZhY2UuYzoyMzUKLW1zZ2lkICJjb3VsZCBub3QgcnVuIGdwZy4iCi1tc2dzdHIgImtow7RuZyB0aOG7gyBjaOG6oXkgZ3BnLiIKKyM6IGZldGNoLXBhY2suYzoyMTMKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgc2hhbGxvdyBsaXN0IgorbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogY+G6p24gZGFuaCBzw6FjaCBzaGFsbG93IgogCi0jOiBncGctaW50ZXJmYWNlLmM6MTc4Ci1tc2dpZCAiZ3BnIGRpZCBub3QgYWNjZXB0IHRoZSBkYXRhIgotbXNnc3RyICJncGcgxJHDoyBraMO0bmcgY2jhuqVwIG5o4bqtbiBk4buvIGxp4buHdSIKKyM6IGZldGNoLXBhY2suYzoyMjUKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IEVPRiIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGPhuqduIEFDSy9OQUssIG5oxrBuZyBs4bqhaSBuaOG6rW4gxJHGsOG7o2MgRU9GIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MTg5CisjOiBmZXRjaC1wYWNrLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgJyVzJyIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGPhuqduIEFDSy9OQUssIG5oxrBuZyBs4bqhaSBuaOG6rW4gxJHGsOG7o2Mg4oCcJXPigJ0iCisKKyM6IGZldGNoLXBhY2suYzoyOTUKK21zZ2lkICItLXN0YXRlbGVzcy1ycGMgcmVxdWlyZXMgbXVsdGlfYWNrX2RldGFpbGVkIgorbXNnc3RyICItLXN0YXRlbGVzcy1ycGMgY+G6p24gbXVsdGlfYWNrX2RldGFpbGVkIgorCisjOiBmZXRjaC1wYWNrLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKK21zZ3N0ciAiZMOybmcgc2hhbGxvdyBraMO0bmcgaOG7o3AgbOG7hzogJXMiCisKKyM6IGZldGNoLXBhY2suYzozODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB1bnNoYWxsb3cgbGluZTogJXMiCittc2dzdHIgImTDsm5nIHVuc2hhbGxvdyBraMO0bmcgaOG7o3AgbOG7hzogJXMiCisKKyM6IGZldGNoLXBhY2suYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0IG5vdCBmb3VuZDogJXMiCittc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSDEkeG7kWkgdMaw4bujbmc6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGluIG9iamVjdDogJXMiCittc2dzdHIgImzhu5dpIHRyb25nIMSR4buRaSB0xrDhu6NuZzogJXMiCisKKyM6IGZldGNoLXBhY2suYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc2hhbGxvdyBmb3VuZDogJXMiCittc2dzdHIgImtow7RuZyB0w6xtIHNoYWxsb3cgbsOgbzogJXMiCisKKyM6IGZldGNoLXBhY2suYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0ZWQgc2hhbGxvdy91bnNoYWxsb3csIGdvdCAlcyIKK21zZ3N0ciAiY+G6p24gc2hhbGxvdy91bnNoYWxsb3csIG5oxrBuZyBs4bqhaSBuaOG6rW4gxJHGsOG7o2MgJXMiCisKKyM6IGZldGNoLXBhY2suYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ290ICVzICVkICVzIgorbXNnc3RyICJuaOG6rW4gJXMgJWQgLSAlcyIKKworIzogZmV0Y2gtcGFjay5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdCAlcyIKK21zZ3N0ciAibOG6p24gY2h1eeG7g24gZ2lhbyAlcyBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogZmV0Y2gtcGFjay5jOjQ4MworbXNnaWQgImdpdmluZyB1cCIKK21zZ3N0ciAiY2jhu4t1IHRodWEiCisKKyM6IGZldGNoLXBhY2suYzo0OTMgcHJvZ3Jlc3MuYzoyMzUKK21zZ2lkICJkb25lIgorbXNnc3RyICJ4b25nIgorCisjOiBmZXRjaC1wYWNrLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgImdvdCAlcyAoJWQpICVzIgorbXNnc3RyICJuaOG6rW4gJXMgKCVkKSAlcyIKKworIzogZmV0Y2gtcGFjay5jOjU1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNYXJraW5nICVzIGFzIGNvbXBsZXRlIgorbXNnc3RyICLEkMOhbmggZOG6pXUgJXMgbMOgIMSRw6MgaG/DoG4gdGjDoG5oIgorCisjOiBmZXRjaC1wYWNrLmM6Njk3CisjLCBjLWZvcm1hdAorbXNnaWQgImFscmVhZHkgaGF2ZSAlcyAoJXMpIgorbXNnc3RyICLEkcOjIHPhurVuIGPDsyAlcyAoJXMpIgorCisjOiBmZXRjaC1wYWNrLmM6NzM1Cittc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCittc2dzdHIgImZldGNoLXBhY2s6IGtow7RuZyB0aOG7gyBy4bq9IG5ow6FuaCBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgorCisjOiBmZXRjaC1wYWNrLmM6NzQzCittc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBwYWNrIGhlYWRlciIKK21zZ3N0ciAibOG7l2kgZ2lhbyB0aOG7qWM6IHBo4bqnbiDEkeG6p3UgZ8OzaSBi4buLIHNhaSIKKworIzogZmV0Y2gtcGFjay5jOjc5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgJXMiCittc2dzdHIgImZldGNoLXBhY2s6IGtow7RuZyB0aOG7gyBy4bq9IG5ow6FuaCAlcyIKKworIzogZmV0Y2gtcGFjay5jOjgxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiVzIGfhurdwIGzhu5dpIgorCisjOiBmZXRjaC1wYWNrLmM6ODE3Cittc2dpZCAiZXJyb3IgaW4gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKK21zZ3N0ciAiY8OzIGzhu5dpIHRyb25nIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCisKKyM6IGZldGNoLXBhY2suYzo4NDQKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNsaWVudHMiCittc2dzdHIgIk3DoXkgY2jhu6cga2jDtG5nIGjhu5cgdHLhu6MgbcOheSBraMOhY2ggc2hhbGxvdyIKKworIzogZmV0Y2gtcGFjay5jOjg0OAorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2tfZGV0YWlsZWQiCittc2dzdHIgIk3DoXkgY2jhu6cgaOG7lyB0cuG7oyBtdWx0aV9hY2tfZGV0YWlsZWQiCisKKyM6IGZldGNoLXBhY2suYzo4NTEKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZSIKK21zZ3N0ciAiTcOheSBjaOG7pyBo4buXIHRy4bujIG5vLWRvbmUiCisKKyM6IGZldGNoLXBhY2suYzo4NTcKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgorbXNnc3RyICJNw6F5IGNo4bunIGjhu5cgdHLhu6MgbXVsdGlfYWNrIgorCisjOiBmZXRjaC1wYWNrLmM6ODYxCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZC02NGsiCittc2dzdHIgIk3DoXkgY2jhu6cgaOG7lyB0cuG7oyBzaWRlLWJhbmQtNjRrIgorCisjOiBmZXRjaC1wYWNrLmM6ODY1Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZCIKK21zZ3N0ciAiTcOheSBjaOG7pyBo4buXIHRy4bujIHNpZGUtYmFuZCIKKworIzogZmV0Y2gtcGFjay5jOjg2OQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgorbXNnc3RyICJNw6F5IGNo4bunIGjhu5cgdHLhu6MgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKKworIzogZmV0Y2gtcGFjay5jOjg3MworbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgorbXNnc3RyICJNw6F5IGNo4bunIGjhu5cgdHLhu6MgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKKworIzogZmV0Y2gtcGFjay5jOjg4MworbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiCittc2dzdHIgIk3DoXkgY2jhu6cgaOG7lyB0cuG7oyBvZnMtZGVsdGEiCisKKyM6IGZldGNoLXBhY2suYzo4OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VydmVyIHZlcnNpb24gaXMgJS4qcyIKK21zZ3N0ciAiUGhpw6puIGLhuqNuIG3DoXkgY2jhu6cgbMOgICUuKnMiCisKKyM6IGZldGNoLXBhY2suYzo4OTYKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctc2luY2UiCittc2dzdHIgIk3DoXkgY2jhu6cga2jDtG5nIGjhu5cgdHLhu6MgLS1zaGFsbG93LXNpbmNlIgorCisjOiBmZXRjaC1wYWNrLmM6OTAwCittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiCittc2dzdHIgIk3DoXkgY2jhu6cga2jDtG5nIGjhu5cgdHLhu6MgLS1zaGFsbG93LWV4Y2x1ZGUiCisKKyM6IGZldGNoLXBhY2suYzo5MDIKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLWRlZXBlbiIKK21zZ3N0ciAiTcOheSBjaOG7pyBraMO0bmcgaOG7lyB0cuG7oyAtLWRlZXBlbiIKKworIzogZmV0Y2gtcGFjay5jOjkxMworbXNnaWQgIm5vIGNvbW1vbiBjb21taXRzIgorbXNnc3RyICJraMO0bmcgY8OzIGzhuqduIGNodXnhu4NuIGdpYW8gY2h1bmcgbsOgbyIKKworIzogZmV0Y2gtcGFjay5jOjkyNQorbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBmYWlsZWQuIgorbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZ+G6t3AgbOG7l2kuIgorCisjOiBmZXRjaC1wYWNrLmM6MTA4NworbXNnaWQgIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIgorbXNnc3RyICJraMO0bmcga2jhu5twIHBo4bqnbiDEkeG6p3UgbcOheSBjaOG7pyIKKworIzogZ3BnLWludGVyZmFjZS5jOjE4NQogbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKIG1zZ3N0ciAiZ3BnIGfhurdwIGzhu5dpIGtoaSBrw70gZOG7ryBsaeG7h3UiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoyMjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSAnJXMnIgotbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdOG6rXAgdGluIHThuqFtIHRo4budaSDigJwlc+KAnSIKKyM6IGdwZy1pbnRlcmZhY2UuYzoyMTUKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdOG6rXAgdGluIHThuqFtIHRo4budaSIKIAotIzogZ3BnLWludGVyZmFjZS5jOjIyNAorIzogZ3BnLWludGVyZmFjZS5jOjIxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGdoaSBjaOG7ryBrw70gxJHDrW5oIGvDqG0gdsOgbyDigJwlc+KAnSIKIAotIzogZ3JlcC5jOjE3MTgKKyM6IGdyZXAuYzoxNzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICLigJwlc+KAnToga2jDtG5nIHRo4buDIMSR4buNYyAlcyIKIAotIzogZ3JlcC5jOjE3MzUgYnVpbHRpbi9jbG9uZS5jOjM4MiBidWlsdGluL2RpZmYuYzo4NCBidWlsdGluL3JtLmM6MTU1CisjOiBncmVwLmM6MTc5OSBidWlsdGluL2Nsb25lLmM6MzgxIGJ1aWx0aW4vZGlmZi5jOjg0IGJ1aWx0aW4vcm0uYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGzhuqV5IHRo4buRbmcga8OqIHbhu4Eg4oCcJXPigJ0iCiAKLSM6IGdyZXAuYzoxNzQ2CisjOiBncmVwLmM6MTgxMAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkIgogbXNnc3RyICLigJwlc+KAnTogxJHhu41jIG5n4bqvbiIKIAotIzogaGVscC5jOjIwNQorIzogaGVscC5jOjIwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJhdmFpbGFibGUgZ2l0IGNvbW1hbmRzIGluICclcyciCiBtc2dzdHIgImPDoWMgbOG7h25oIGdpdCBz4bq1biBjw7MgdHJvbmcgdGjGsCBt4bulYyDigJwlc+KAnToiCiAKLSM6IGhlbHAuYzoyMTIKKyM6IGhlbHAuYzoyMTAKIG1zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCiBtc2dzdHIgImPDoWMgbOG7h25oIGdpdCBz4bq1biBjw7MgdOG7qyBt4buZdCBuxqFpIGtow6FjIHRyb25nICRQQVRIIGPhu6dhIGLhuqFuIgogCi0jOiBoZWxwLmM6MjQ0CisjOiBoZWxwLmM6MjQxCiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICJDw7MgY8OhYyBs4buHbmggR2l0IGNodW5nIMSRxrDhu6NjIHPhu60gZOG7pW5nIHRyb25nIGPDoWMgdMOsbmggaHXhu5FuZyBraMOhYyBuaGF1OiIKIAotIzogaGVscC5jOjMwOQorIzogaGVscC5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBhcHBlYXJzIHRvIGJlIGEgZ2l0IGNvbW1hbmQsIGJ1dCB3ZSB3ZXJlIG5vdFxuIgpAQCAtNjQyLDExICsxNzY5LDExIEBACiAi4oCcJXPigJ0gdHLDtG5nIG5oxrAgbMOgIG3hu5l0IGzhu4duaCBnaXQsIG5oxrBuZyBjaMO6bmcgdMO0aSBraMO0bmdcbiIKICJ0aOG7gyB0aOG7sWMgdGhpIG7Dsy4gQ8OzIGzhur0gbMOgIGzhu4duaCBnaXQtJXMgxJHDoyBi4buLIGjhu49uZz8iCiAKLSM6IGhlbHAuYzozNjYKKyM6IGhlbHAuYzozNjEKIG1zZ2lkICJVaCBvaC4gWW91ciBzeXN0ZW0gcmVwb3J0cyBubyBHaXQgY29tbWFuZHMgYXQgYWxsLiIKIG1zZ3N0ciAi4buQaSBjaMOgLiBI4buHIHRo4buRbmcgY+G7p2EgYuG6oW4gYsOhbyBy4bqxbmcgY2jhurNuZyBjw7MgbOG7h25oIEdpdCBuw6BvIGPhuqMuIgogCi0jOiBoZWxwLmM6Mzg4CisjOiBoZWxwLmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuXG4iCkBAIC02NTUsMTcgKzE3ODIsMTcgQEAKICJD4bqiTkggQsOBTzogQuG6oW4gxJHDoyBn4buNaSBs4buHbmggR2l0IGPDsyB0w6puIOKAnCVz4oCdLCBtw6AgbsOzIGzhuqFpIGtow7RuZyBjw7Mgc+G6tW4uXG4iCiAiVGnhur9wIHThu6VjIHbDoCBjb2kgcuG6sW5nIMO9IGLhuqFuIGzDoCDigJwlc+KAnSIKIAotIzogaGVscC5jOjM5MworIzogaGVscC5jOjM4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iCiBtc2dzdHIgInRyb25nICUwLjFmIGdpw6J5IG3hu5l0IGPDoWNoIHThu7EgxJHhu5luZ+KApiIKIAotIzogaGVscC5jOjQwMAorIzogaGVscC5jOjM5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQ6ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmQuIFNlZSAnZ2l0IC0taGVscCcuIgogbXNnc3RyICJnaXQ6IOKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGzhu4duaCBj4bunYSBnaXQuIFhlbSDigJxnaXQgLS1oZWxw4oCdLiIKIAotIzogaGVscC5jOjQwNCBoZWxwLmM6NDY0CisjOiBoZWxwLmM6Mzk5IGhlbHAuYzo0NjUKIG1zZ2lkICIiCiAiXG4iCiAiRGlkIHlvdSBtZWFuIHRoaXM/IgpAQCAtNjc2LDExICsxODAzLDM3IEBACiAiXG4iCiAiQ8OzIHBo4bqjaSDDvSBi4bqhbiBsw6AgbeG7mXQgdHJvbmcgc+G7kSBuaOG7r25nIGPDoWkgbsOgeSBraMO0bmc/IgogCi0jOiBoZWxwLmM6NDYwCisjOiBoZWxwLmM6NDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyAtICVzIgogbXNnc3RyICIlczogJXMgLSAlcyIKIAorIzogaWRlbnQuYzozMzQKK21zZ2lkICIiCisiXG4iCisiKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgorIlxuIgorIlJ1blxuIgorIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwieW91QGV4YW1wbGUuY29tXCJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiWW91ciBOYW1lXCJcbiIKKyJcbiIKKyJ0byBzZXQgeW91ciBhY2NvdW50J3MgZGVmYXVsdCBpZGVudGl0eS5cbiIKKyJPbWl0IC0tZ2xvYmFsIHRvIHNldCB0aGUgaWRlbnRpdHkgb25seSBpbiB0aGlzIHJlcG9zaXRvcnkuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogVnVpIGzDsm5nIGNobyBiaeG6v3QgYuG6oW4gbMOgIGFpLlxuIgorIlxuIgorIkNo4bqheVxuIgorIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwiYuG6oW5AdsOtX2Thu6UuY29tXCJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiVMOqbiBD4bunYSBC4bqhblwiXG4iCisiXG4iCisixJHhu4MgxJHhurd0IMSR4buLbmggZGFuaCBt4bq3YyDEkeG7i25oIGNobyB0w6BpIGtob+G6o24gY+G7p2EgYuG6oW4uXG4iCisiQuG7jyB0w7l5IGNo4buNbiAtLWdsb2JhbCBu4bq/dSBjaOG7iSDEkeG7i25oIGRhbmggcmnDqm5nIGNobyBraG8gbsOgeS5cbiIKKyJcbiIKKwogIzogbG9ja2ZpbGUuYzoxNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgpAQCAtNzA5LDgzICsxODYyLDc4IEBACiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIGLhu5kgbmjhu5sgxJHhu4dtIgogCi0jOiBtZXJnZS5jOjk0IGJ1aWx0aW4vYW0uYzoyMDA3IGJ1aWx0aW4vYW0uYzoyMDQyIGJ1aWx0aW4vY2hlY2tvdXQuYzozNzUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODYgYnVpbHRpbi9jbG9uZS5jOjczMgorIzogbWVyZ2UuYzo5NiBidWlsdGluL2FtLmM6MjAwMCBidWlsdGluL2FtLmM6MjAzNSBidWlsdGluL2NoZWNrb3V0LmM6Mzc0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTg4IGJ1aWx0aW4vY2xvbmUuYzo3MzEKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODkKLSMsIGMtZm9ybWF0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDkKIG1zZ2lkICIoYmFkIGNvbW1pdClcbiIKIG1zZ3N0ciAiKGNvbW1pdCBzYWkpXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZGluZm9fY2FjaGUgZmFpbGVkIGZvciBwYXRoICclcyciCiBtc2dzdHIgImFkZGluZm9fY2FjaGUgZ+G6t3AgbOG7l2kgxJHhu5FpIHbhu5tpIMSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDEKIG1zZ2lkICJlcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHjDonkgZOG7sW5nIGPDonkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjY4OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB04bqhbyDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0lcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzAwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMgdG8gbWFrZSByb29tIGZvciBzdWJkaXJlY3RvcnlcbiIKIG1zZ3N0ciAiR+G7oSBi4buPICVzIMSR4buDIHThuqFvIGNo4buXIChyb29tKSBjaG8gdGjGsCBt4bulYyBjb25cbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzE0IG1lcmdlLXJlY3Vyc2l2ZS5jOjczNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzQ1IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2NAogbXNnaWQgIjogcGVyaGFwcyBhIEQvRiBjb25mbGljdD8iCiBtc2dzdHIgIjogY8OzIGzhur0gbMOgIG3hu5l0IHh1bmcgxJHhu5l0IEQvRj8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcyNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKIG1zZ3N0ciAidOG7qyBjaOG7kWkgxJHDs25nIHThuq1wIHRpbiBraMO0bmcgxJHGsOG7o2MgdGhlbyBkw7VpIHThuqFpIOKAnCVz4oCdIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NjUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5NiBidWlsdGluL2NhdC1maWxlLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgxJHhu5FpIHTGsOG7o25nICVzIOKAnCVz4oCdIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NjcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICLEkeG7kWkgdMaw4bujbmcgYmxvYiDEkcaw4bujYyBtb25nIMSR4bujaSBjaG8gJXMg4oCcJXPigJ0iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5MCBidWlsdGluL2Nsb25lLmM6Mzc2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MjIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKLW1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG3hu58g4oCcJXPigJ0iCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBt4bufIOKAnCVz4oCdOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzk4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MzMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJyIKLW1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThuqFvIGxpw6puIGvhur90IG3hu4FtIChzeW1saW5rKSDigJwlc+KAnSIKK21zZ2lkICJmYWlsZWQgdG8gc3ltbGluayAnJXMnOiAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThuqFvIGxpw6puIGvhur90IG3hu4FtIChzeW1saW5rKSDigJwlc+KAnTogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCiBtc2dzdHIgImtow7RuZyBoaeG7g3UgcGjhuqNpIGzDoG0gZ8OsIHbhu5tpICUwNm8gJXMg4oCcJXPigJ0iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkzOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTc4CiBtc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB0aOG7sWMgaGnhu4duIHRy4buZbiBu4buZaSBi4buZIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5NDMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkICVzIHRvIGRhdGFiYXNlIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdGjDqm0gJXMgdsOgbyBjxqEgc+G7nyBk4buvIGxp4buHdSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTU5Ci1tc2dpZCAidW5zdXBwb3J0ZWQgb2JqZWN0IHR5cGUgaW4gdGhlIHRyZWUiCi1tc2dzdHIgImtp4buDdSDEkeG7kWkgdMaw4bujbmcga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgdHJvbmcgY8OieSAodHJlZSkiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMzQgbWVyZ2UtcmVjdXJzaXZlLmM6MTA0OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA4MSBtZXJnZS1yZWN1cnNpdmUuYzoxMDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC03OTQsNyArMTk0Miw3IEBACiAiWFVORyDEkOG7mFQgKCVzL3jDs2EpOiAlcyBi4buLIHjDs2EgdHJvbmcgJXMgdsOgICVzIHRyb25nICVzLiBQaGnDqm4gYuG6o24gJXMgY+G7p2EgJXMgIgogImPDsm4gbOG6oWkgdHJvbmcgY8OieSAodHJlZSkuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDQwIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwNTMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwODcgbWVyZ2UtcmVjdXJzaXZlLmM6MTEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtODAzLDIwICsxOTUxLDIwIEBACiAiWFVORyDEkOG7mFQgKCVzL3jDs2EpOiAlcyBi4buLIHjDs2EgdHJvbmcgJXMgdsOgICVzIHRyb25nICVzLiBQaGnDqm4gYuG6o24gJXMgY+G7p2EgJXMgIgogImPDsm4gbOG6oWkgdHJvbmcgY8OieSAodHJlZSkgdOG6oWkgJXMuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDk0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTQzCiBtc2dpZCAicmVuYW1lIgogbXNnc3RyICLEkeG7lWkgdMOqbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0MwogbXNnaWQgInJlbmFtZWQiCiBtc2dzdHIgIsSRw6MgxJHhu5VpIHTDqm4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgYSBkaXJlY3RvcnkgaW4gJXMgYWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIiVzIGzDoCBt4buZdCB0aMawIG3hu6VjIHRyb25nICVzIHRoYXkgdsOgbyDEkcOzIHRow6ptIHbDoG8gbmjGsCBsw6AgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIFwiJXNcIi0+XCIlc1wiIGluIGJyYW5jaCBcIiVzXCIgcmVuYW1lIFwiJXMiCkBAIC04MjUsMTQ4ICsxOTczLDE1NiBAQAogIlhVTkcgxJDhu5hUICjEkeG7lWktdMOqbi/EkeG7lWktdMOqbik6IMSQ4buVaSB0w6puIFwiJXNcIi0+XCIlc1wiIHRyb25nIG5ow6FuaCBcIiVzXCIgxJHhu5VpICIKICJ0w6puIFwiJXNcIi0+XCIlc1wiIHRyb25nIFwiJXNcIiVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTc3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjMwCiBtc2dpZCAiIChsZWZ0IHVucmVzb2x2ZWQpIgogbXNnc3RyICIgKGPhuqduIGdp4bqjaSBxdXnhur90KSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuIFJlbmFtZSAlcy0+JXMgaW4gJXMiCiBtc2dzdHIgIiIKICJYVU5HIMSQ4buYVCAoxJHhu5VpLXTDqm4vxJHhu5VpLXTDqm4pOiDEkOG7lWkgdMOqbiAlcy0+JXMgdHJvbmcgJXMuIMSQ4buVaSB0w6puICVzLT4lcyB0cm9uZyAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI2MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKIG1zZ3N0ciAixJBhbmcgxJHhu5VpIHTDqm4gJXMgdGjDoG5oICVzIHRoYXkgdsOsICVzIHRow6BuaCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ2MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICVzIGFkZGVkIGluICVzIgogbXNnc3RyICIiCiAiWFVORyDEkOG7mFQgKMSR4buVaS10w6puL3Row6ptKTogxJDhu5VpIHTDqm4gJXMtPiVzIHRyb25nICVzLiAlcyDEkcaw4bujYyB0aMOqbSB2w6BvIHRyb25nICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyBtZXJnZWQgJXMiCiBtc2dzdHIgIlRow6ptIGjDsmEgdHLhu5luICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDc1IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTMgbWVyZ2UtcmVjdXJzaXZlLmM6MTc2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiVGhheSB2w6BvIMSRw7MgdGjDqm0gdsOgbyAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUyNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgxJHhu5FpIHTGsOG7o25nICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTI5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIgogbXNnc3RyICLEkeG7kWkgdMaw4bujbmcgJXMga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgYmxvYiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU4MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY2NgogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAic+G7rWEgxJHhu5VpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjY2CiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgIsSRw6Mgc+G7rWEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1OTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzYKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICJu4buZaSBkdW5nIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTk4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgzCiBtc2dpZCAiYWRkL2FkZCIKIG1zZ3N0ciAidGjDqm0vdGjDqm0iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCAlcyAobWVyZ2VkIHNhbWUgYXMgZXhpc3RpbmcpIgogbXNnc3RyICLEkMOjIGLhu48gcXVhICVzICjEkcOjIGPDsyBz4bq1biBs4bqnbiBow7JhIHRy4buZbiBuw6B5KSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY0NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczMgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgIlThu7EtxJHhu5luZy1ow7JhLXRy4buZbiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY1MCBnaXQtc3VibW9kdWxlLnNoOjk0MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNiBnaXQtc3VibW9kdWxlLnNoOjkyNAogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAibcO0LcSRdW4tY29uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjUxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgogbXNnc3RyICJYVU5HIMSQ4buYVCAoJXMpOiBYdW5nIMSR4buZdCBow7JhIHRy4buZbiB0cm9uZyAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlcyIKIG1zZ3N0ciAixJBhbmcgeMOzYSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc2MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg1NwogbXNnaWQgImZpbGUvZGlyZWN0b3J5IgogbXNnc3RyICJ04bqtcC10aW4vdGjGsC1t4bulYyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc2OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2MwogbXNnaWQgImRpcmVjdG9yeS9maWxlIgogbXNnc3RyICJ0aMawLW3hu6VjL3Thuq1wLXRpbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc3MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBUaGVyZSBpcyBhIGRpcmVjdG9yeSB3aXRoIG5hbWUgJXMgaW4gJXMuIEFkZGluZyAlcyBhcyAlcyIKIG1zZ3N0ciAiIgogIlhVTkcgxJDhu5hUICglcyk6IOG7niDEkcOieSBraMO0bmcgY8OzIHRoxrAgbeG7pWMgbsOgbyBjw7MgdMOqbiAlcyB0cm9uZyAlcy4gVGjDqm0gJXMgbmjGsCBsw6AgIgogIiVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzgxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyAlcyIKIG1zZ3N0ciAiVGjDqm0gXCIlc1wiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzk4Ci1tc2dpZCAiRmF0YWwgbWVyZ2UgZmFpbHVyZSwgc2hvdWxkbid0IGhhcHBlbi4iCi1tc2dzdHIgIlZp4buHYyBow7JhIHRy4buZbiBo4buPbmcgbmdoacOqbSB0cuG7jW5nLCBraMO0bmcgbsOqbiDEkeG7gyB44bqjeSByYS4iCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MTQKIG1zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUhIgogbXNnc3RyICLEkMOjIGPhuq1wIG5o4bqtdCBy4buTaSEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4MjYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIgogbXNnc3RyICJow7JhIHRy4buZbiBjw6FjIGPDonkgJXMgdsOgICVzIGfhurdwIGzhu5dpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODU2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlVucHJvY2Vzc2VkIHBhdGg/Pz8gJXMiCi1tc2dzdHIgIsSQxrDhu51uZyBk4bqrbiBjaMawYSDEkcaw4bujYyB44butIGzDvT8/PyAlcyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTkwNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAwNgogbXNnaWQgIk1lcmdpbmc6IgogbXNnc3RyICLEkGFuZyB0cuG7mW46IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCiBtc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgogbXNnc3RyWzBdICJ0w6xtIHRo4bqleSAldSB04buVIHRpw6puIGNodW5nOiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk1NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA1OAogbXNnaWQgIm1lcmdlIHJldHVybmVkIG5vIGNvbW1pdCIKIG1zZ3N0ciAiaMOyYSB0cuG7mW4ga2jDtG5nIHRy4bqjIHbhu4EgbOG6p24gY2h1eeG7g24gZ2lhbyBuw6BvIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDExCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIMSR4buRaSB0xrDhu6NuZyDigJwlc+KAnSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAyMiBidWlsdGluL21lcmdlLmM6NjQ5IGJ1aWx0aW4vbWVyZ2UuYzo4MzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMzUgYnVpbHRpbi9tZXJnZS5jOjY0MSBidWlsdGluL21lcmdlLmM6Nzg4CiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGluZGV4LiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKKyM6IG5vdGVzLW1lcmdlLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG4iCisiUGxlYXNlLCB1c2UgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcgb3IgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyB0byAiCisiY29tbWl0L2Fib3J0IHRoZSBwcmV2aW91cyBtZXJnZSBiZWZvcmUgeW91IHN0YXJ0IGEgbmV3IG5vdGVzIG1lcmdlLiIKK21zZ3N0ciAiIgorIkLhuqFuIMSRw6MgY2jGsGEgaG/DoG4gdOG6pXQgaMOyYSB0cuG7mW4gZ2hpIGNow7ogdHLGsOG7m2MgxJHDonkgKCVzIHbhuqtuIGPDsm4pLlxuIgorIlZ1aSBsw7JuZyBkw7luZyDigJxnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXTigJ0gaGF5IOKAnGdpdCBub3RlcyBtZXJnZSAtLWFib3J04oCdIMSR4buDICIKKyJjaHV54buDbiBnaWFvIGhheSBiw6NpIGLhu48gbOG6p24gaMOyYSB0cuG7mW4gdHLGsOG7m2MgxJHDonkgdsOgIGLhuq90IMSR4bqndSBt4buZdCBow7JhIHRy4buZbiBnaGkgIgorImNow7ogbeG7m2kuIgorCisjOiBub3Rlcy1tZXJnZS5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuIgorbXNnc3RyICJC4bqhbiBjaMawYSBr4bq/dCB0aMO6YyB2aeG7h2MgaMOyYSB0cuG7mW4gZ2hpIGNow7ogKCVzIHbhuqtuIHThu5NuIHThuqFpKS4iCisKICM6IG5vdGVzLXV0aWxzLmM6NDEKIG1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCiBtc2dzdHIgIiIKQEAgLTEwMjUsNyArMjE4MSw3IEBACiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCiBtc2dzdHIgInTDqm4gxJHhu5FpIHTGsOG7o25nIGThu4sgaMOsbmgg4oCcJXPigJ0iCiAKLSM6IHBhdGguYzo3OTYKKyM6IHBhdGguYzo4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBsw6BtICVzIMSRxrDhu6NjIGdoaSBi4bufaSBuaMOzbSIKQEAgLTEwODIsMTIgKzIyMzgsMjAgQEAKIG1zZ2lkICIlczogcGF0aHNwZWMgbWFnaWMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvbW1hbmQ6ICVzIgogbXNnc3RyICIlczogc+G7kSBt4bqndSBuaGnhu4dtIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiBjaMawYSDEkcaw4bujYyBo4buXIHRy4bujIGLhu59pIGzhu4duaCBuw6B5OiAlcyIKIAotIzogcGF0aHNwZWMuYzo0MzMKKyM6IHBhdGhzcGVjLmM6NDA4Cittc2dpZCAiIgorImVtcHR5IHN0cmluZ3MgYXMgcGF0aHNwZWNzIHdpbGwgYmUgbWFkZSBpbnZhbGlkIGluIHVwY29taW5nIHJlbGVhc2VzLiBwbGVhc2UgIgorInVzZSAuIGluc3RlYWQgaWYgeW91IG1lYW50IHRvIG1hdGNoIGFsbCBwYXRocyIKK21zZ3N0ciAiIgorImNodeG7l2kgcuG7l25nIGzDoG0gxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIGtow7RuZyBo4bujcCBs4buHIOG7nyBs4bqnbiBwaMOhdCBow6BuaCBr4bq/IHRp4bq/cC4gVnVpICIKKyJsw7JuZyBkw7luZyAuIMSR4buDIHRoYXkgdGjhur8gbuG6v3Ugw70gYuG6oW4gbMOgIGto4bubcCBt4buNaSDEkcaw4budbmcgZOG6q24iCisKKyM6IHBhdGhzcGVjLmM6NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAixJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIHbGsOG7o3QgcmEgbmdvw6BpIGxpw6puIGvhur90IG3hu4FtIgogCi0jOiBwYXRoc3BlYy5jOjQ0MgorIzogcGF0aHNwZWMuYzo0NDkKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm90aGluZyB0byBleGNsdWRlIGZyb20gYnkgOihleGNsdWRlKSBwYXR0ZXJucy5cbiIKICJQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gYWRkIGVpdGhlciAnOi8nIG9yICcuJyA/IgpAQCAtMTA5OSwxMSArMjI2Myw3IEBACiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIMSR4buLbmggZOG6oW5nIC0tcHJldHR5IgogCi0jOiBwcm9ncmVzcy5jOjIzNQotbXNnaWQgImRvbmUiCi1tc2dzdHIgInhvbmciCi0KLSM6IHJlYWQtY2FjaGUuYzoxMjgxCisjOiByZWFkLWNhY2hlLmM6MTMxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiaW5kZXgudmVyc2lvbiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKQEAgLTExMTIsNyArMjI3Miw3IEBACiAiaW5kZXgudmVyc2lvbiDEkcaw4bujYyDEkeG6t3QsIG5oxrBuZyBnacOhIHRy4buLIGPhu6dhIG7DsyBs4bqhaSBraMO0bmcgaOG7o3AgbOG7hy5cbiIKICJEw7luZyBwaGnDqm4gYuG6o24gJWkiCiAKLSM6IHJlYWQtY2FjaGUuYzoxMjkxCisjOiByZWFkLWNhY2hlLmM6MTMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiR0lUX0lOREVYX1ZFUlNJT04gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0xMTIxLDIzICsyMjgxLDIyIEBACiAiR0lUX0lOREVYX1ZFUlNJT04gxJHGsOG7o2MgxJHhurd0LCBuaMawbmcgZ2nDoSB0cuG7iyBj4bunYSBuw7MgbOG6oWkga2jDtG5nIGjhu6NwIGzhu4cuXG4iCiAiRMO5bmcgcGhpw6puIGLhuqNuICVpIgogCi0jOiByZWZzLmM6NTQzIGJ1aWx0aW4vbWVyZ2UuYzo3NjQgYnVpbHRpbi9tZXJnZS5jOjg4MyBidWlsdGluL21lcmdlLmM6OTg1Ci0jOiBidWlsdGluL21lcmdlLmM6OTk1CisjOiByZWZzLmM6NTc2IGJ1aWx0aW4vbWVyZ2UuYzo4NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58g4oCcJXPigJ0gxJHhu4MgZ2hpIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyMjQzCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlICVzOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHjDs2EgYuG7jyB0aGFtIGNoaeG6v3UgJXM6ICVzIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyMjQ2CisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoyNDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlczogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB4w7NhIGLhu48gdGhhbSBjaGnhur91OiAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjI1NQorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIHJlZmVyZW5jZSAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGfhu6EgYuG7jyB0aGFtIGNoaeG6v3U6ICVzIgpAQCAtMTI2NiwxMiArMjQyNSwxMiBAQAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgIsSRYW5nIGzhu50gxJFpIHRoYW0gY2hp4bq/dSBo4buPbmcgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjUxCisjOiByZWYtZmlsdGVyLmM6MTYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICLEkeG7i25oIGThuqFuZzogdGhp4bq/dSBuZ3V5w6puIHThu60gJSUoZW5kKSIKIAotIzogcmVmLWZpbHRlci5jOjE3MDUKKyM6IHJlZi1maWx0ZXIuYzoxNjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAidMOqbiDEkeG7kWkgdMaw4bujbmcgZOG7iyBow6xuaCAlcyIKQEAgLTEyOTUsNzUgKzI0NTQsNzUgQEAKIG1zZ2lkICJJbnRlcm5hbCBlcnJvciIKIG1zZ3N0ciAiTOG7l2kgbuG7mWkgYuG7mSIKIAotIzogcmVtb3RlLmM6MTY3OCByZW1vdGUuYzoxNzIxCisjOiByZW1vdGUuYzoxNjc3IHJlbW90ZS5jOjE3MjAKIG1zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgogbXNnc3RyICJIRUFEIGtow7RuZyBjaOG7iSDEkeG6v24gbeG7mXQgbmjDoW5oIG7DoG8gY+G6oyIKIAotIzogcmVtb3RlLmM6MTY4NworIzogcmVtb3RlLmM6MTY4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaDogJyVzJyIKIG1zZ3N0ciAia2jDtG5nIGPDsyBuaMOhbmggbsOgbyBuaMawIHRo4bq/OiDigJwlc+KAnSIKIAotIzogcmVtb3RlLmM6MTY5MAorIzogcmVtb3RlLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAia2jDtG5nIGPDsyB0aMaw4bujbmcgbmd14buTbiDEkcaw4bujYyBj4bqldSBow6xuaCBjaG8gbmjDoW5oIOKAnCVz4oCdIgogCi0jOiByZW1vdGUuYzoxNjk2CisjOiByZW1vdGUuYzoxNjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICIiCiAibmjDoW5oIHRoxrDhu6NuZyBuZ3Xhu5NuIOKAnCVz4oCdIGtow7RuZyDEkcaw4bujYyBsxrB1IGzhuqFpIG5oxrAgbMOgIG3hu5l0IG5ow6FuaCB0aGVvIGTDtWkgbcOheSBjaOG7pyIKIAotIzogcmVtb3RlLmM6MTcxMQorIzogcmVtb3RlLmM6MTcxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIGRlc3RpbmF0aW9uICclcycgb24gcmVtb3RlICclcycgaGFzIG5vIGxvY2FsIHRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAixJHhuql5IGzDqm4gxJHDrWNoIOKAnCVz4oCdIHRyw6puIG3DoXkgY2jhu6cg4oCcJXPigJ0ga2jDtG5nIGPDsyBuaMOhbmggdGhlbyBkw7VpIG7hu5lpIGLhu5kiCiAKLSM6IHJlbW90ZS5jOjE3MjYKKyM6IHJlbW90ZS5jOjE3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAibmjDoW5oIOKAnCVz4oCdIGtow7RuZyBjw7MgbcOheSBjaOG7pyDEkeG7gyDEkeG6qXkgbMOqbiIKIAotIzogcmVtb3RlLmM6MTczNworIzogcmVtb3RlLmM6MTczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIHJlZnNwZWNzIGZvciAnJXMnIGRvIG5vdCBpbmNsdWRlICclcyciCiBtc2dzdHIgIsSR4bqpeSByZWZzcGVjcyBjaG8g4oCcJXPigJ0ga2jDtG5nIGJhbyBn4buTbSDigJwlc+KAnSIKIAotIzogcmVtb3RlLmM6MTc1MAorIzogcmVtb3RlLmM6MTc0OQogbXNnaWQgInB1c2ggaGFzIG5vIGRlc3RpbmF0aW9uIChwdXNoLmRlZmF1bHQgaXMgJ25vdGhpbmcnKSIKIG1zZ3N0ciAixJHhuql5IGzDqm4gbcOgIGtow7RuZyBjw7MgxJHDrWNoIChwdXNoLmRlZmF1bHQgbMOgIOKAnG5vdGhpbmfigJ0pIgogCi0jOiByZW1vdGUuYzoxNzcyCisjOiByZW1vdGUuYzoxNzcxCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgJ3NpbXBsZScgcHVzaCB0byBhIHNpbmdsZSBkZXN0aW5hdGlvbiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIGdp4bqjaSDEkeG6qXkg4oCcxJHGoW4gZ2nhuqNu4oCdIMSR4bq/biBt4buZdCDEkcOtY2ggxJHGoW4iCiAKLSM6IHJlbW90ZS5jOjIwNzQKKyM6IHJlbW90ZS5jOjIwNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgogbXNnc3RyICIiCiAiTmjDoW5oIGPhu6dhIGLhuqFuIGThu7FhIHRyw6puIGPGoSBz4bufIGzDoCDigJwlc+KAnSwgbmjGsG5nIHRyw6puIHRoxrDhu6NuZyBuZ3Xhu5NuIGtow7RuZyBjw7JuLlxuIgogCi0jOiByZW1vdGUuYzoyMDc4CisjOiByZW1vdGUuYzoyMDc3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgdG8gZml4dXApXG4iCiBtc2dzdHIgIiAgIChkw7luZyBcIiBnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiDEkeG7gyBz4butYSlcbiIKIAotIzogcmVtb3RlLmM6MjA4MQorIzogcmVtb3RlLmM6MjA4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggJyVzJy5cbiIKIG1zZ3N0ciAiTmjDoW5oIGPhu6dhIGLhuqFuIMSRw6MgY+G6rXAgbmjhuq10IHbhu5tpIOKAnCVz4oCdLlxuIgogCi0jOiByZW1vdGUuYzoyMDg1CisjOiByZW1vdGUuYzoyMDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgogbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCiBtc2dzdHJbMF0gIk5ow6FuaCBj4bunYSBi4bqhbiDEkeG7qW5nIHRyxrDhu5tjIOKAnCVz4oCdICVkIGzhuqduIGNodXnhu4NuIGdpYW8uXG4iCiAKLSM6IHJlbW90ZS5jOjIwOTEKKyM6IHJlbW90ZS5jOjIwOTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBwdXNoXCIgxJHhu4MgeHXhuqV0IGLhuqNuIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBu4buZaSBi4buZIGPhu6dhIGLhuqFuKVxuIgogCi0jOiByZW1vdGUuYzoyMDk0CisjOiByZW1vdGUuYzoyMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ2lkX3BsdXJhbCAiIgpAQCAtMTM3MiwxMSArMjUzMSwxMSBAQAogIk5ow6FuaCBj4bunYSBi4bqhbiDEkeG7qW5nIMSR4bqxbmcgc2F1IOKAnCVz4oCdICVkIGzhuqduIGNodXnhu4NuIGdpYW8sIHbDoCBjw7MgdGjhu4MgxJHGsOG7o2MgY2h1eeG7g24tIgogInRp4bq/cC1uaGFuaC5cbiIKIAotIzogcmVtb3RlLmM6MjEwMgorIzogcmVtb3RlLmM6MjEwMQogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBwdWxsXCIgxJHhu4MgY+G6rXAgbmjhuq10IG5ow6FuaCBu4buZaSBi4buZIGPhu6dhIGLhuqFuKVxuIgogCi0jOiByZW1vdGUuYzoyMTA1CisjOiByZW1vdGUuYzoyMTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgpAQCAtMTM4OSw0MyArMjU0OCw0MyBAQAogInbDoCBjw7MgJWQgdsOgICVkIGzhuqduIGNodXnhu4NuIGdpYW8ga2jDoWMgbmhhdSBjaG8gdOG7q25nIGPDoWksXG4iCiAidMawxqFuZyDhu6luZyB24bubaSBt4buXaSBs4bqnbi5cbiIKIAotIzogcmVtb3RlLmM6MjExNQorIzogcmVtb3RlLmM6MjExNAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycylcbiIKIG1zZ3N0ciAiIgogIiAgKGTDuW5nIFwiZ2l0IHB1bGxcIiDEkeG7gyBow7JhIHRy4buZbiBuaMOhbmggdHLDqm4gbcOheSBjaOG7pyB2w6BvIHRyb25nIG5ow6FuaCBj4bunYSAiCiAiYuG6oW4pXG4iCiAKLSM6IHJldmlzaW9uLmM6MjE0MgorIzogcmV2aXNpb24uYzoyMTU4CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCBhcHBlYXJzIHRvIGJlIGJyb2tlbiIKIG1zZ3N0ciAibmjDoW5oIGhp4buHbiB04bqhaSBj4bunYSBi4bqhbiBjw7MgduG6uyBuaMawIGLhu4sgaOG7j25nIgogCi0jOiByZXZpc2lvbi5jOjIxNDUKKyM6IHJldmlzaW9uLmM6MjE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWl0cyB5ZXQiCiBtc2dzdHIgIm5ow6FuaCBoaeG7h24gdOG6oWkgY+G7p2EgYuG6oW4g4oCcJXPigJ0ga2jDtG5nIGPDsyBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIG7DoG8gY+G6oyIKIAotIzogcmV2aXNpb24uYzoyMzM5CisjOiByZXZpc2lvbi5jOjIzNTUKIG1zZ2lkICItLWZpcnN0LXBhcmVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWJpc2VjdCIKIG1zZ3N0ciAiLS1maXJzdC1wYXJlbnQgeHVuZyBraOG6r2MgduG7m2kgLS1iaXNlY3QiCiAKLSM6IHJ1bi1jb21tYW5kLmM6OTIKKyM6IHJ1bi1jb21tYW5kLmM6MTA2CiBtc2dpZCAib3BlbiAvZGV2L251bGwgZmFpbGVkIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbeG7nyDigJwvZGV2L251bGzigJ0iCiAKLSM6IHJ1bi1jb21tYW5kLmM6OTQKKyM6IHJ1bi1jb21tYW5kLmM6MTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImR1cDIoJWQsJWQpIGZhaWxlZCIKIG1zZ3N0ciAiZHVwMiglZCwlZCkgZ+G6t3AgbOG7l2kiCiAKLSM6IHNlbmQtcGFjay5jOjI5NQorIzogc2VuZC1wYWNrLmM6Mjk3CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBrw70gY2jhu6luZyB0aOG7sWMgxJHhuql5IgogCi0jOiBzZW5kLXBhY2suYzo0MDQKKyM6IHNlbmQtcGFjay5jOjQxMAogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKIG1zZ3N0ciAia+G6v3QgdGjDumMgbmjhuq1uIGtow7RuZyBo4buXIHRy4bujIMSR4bqpeSAtLXNpZ25lZCIKIAotIzogc2VuZC1wYWNrLmM6NDA2CisjOiBzZW5kLXBhY2suYzo0MTIKIG1zZ2lkICIiCiAibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCiAic2lnbmVkIHB1c2giCkBAIC0xNDMzLDExICsyNTkyLDIzIEBACiAixJHhu6tuZyBn4butaSBnaeG6pXkgY2jhu6luZyBuaOG6rW4gxJHhuql5IHRyxrDhu5tjIGtoaSBr4bq/dCB0aMO6YyBuaOG6rW4ga2jDtG5nIGjhu5cgdHLhu6MgxJHhuql5IC0tIgogInNpZ25lZCIKIAotIzogc2VuZC1wYWNrLmM6NDE4CisjOiBzZW5kLXBhY2suYzo0MjQKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgImvhur90IHRow7pjIG5o4bqtbiBraMO0bmcgaOG7lyB0cuG7oyDEkeG6qXkgLS1hdG9taWMiCiAKLSM6IHNlcXVlbmNlci5jOjE3NAorIzogc2VuZC1wYWNrLmM6NDI5Cittc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCBwdXNoIG9wdGlvbnMiCittc2dzdHIgImvhur90IHRow7pjIG5o4bqtbiBraMO0bmcgaOG7lyB0cuG7oyBjw6FjIHTDuXkgY2jhu41uIGPhu6dhIGzhu4duaCBwdXNoIgorCisjOiBzZXF1ZW5jZXIuYzoxNzEKK21zZ2lkICJyZXZlcnQiCittc2dzdHIgImhvw6BuIG5ndXnDqm4iCisKKyM6IHNlcXVlbmNlci5jOjE3MQorbXNnaWQgImNoZXJyeS1waWNrIgorbXNnc3RyICJjaGVycnktcGljayIKKworIzogc2VxdWVuY2VyLmM6MjI4CiBtc2dpZCAiIgogImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKICJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPiciCkBAIC0xNDQ1LDcgKzI2MTYsNyBAQAogInNhdSBraGkgZ2nhuqNpIHF1eeG6v3QgY8OhYyB4dW5nIMSR4buZdCwgxJHDoW5oIGThuqV1IMSRxrDhu51uZyBk4bqrbiDEkcOjIHPhu61hXG4iCiAiduG7m2kgbOG7h25oIOKAnGdpdCBhZGQgPMSRxrDhu51uZ19k4bqrbj7igJ0gaG/hurdjIOKAnGdpdCBybSA8xJHGsOG7nW5nX2ThuqtuPuKAnSIKIAotIzogc2VxdWVuY2VyLmM6MTc3CisjOiBzZXF1ZW5jZXIuYzoyMzEKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgpAQCAtMTQ1NSwyMjkgKzI2MjYsMjkxIEBACiAiduG7m2kgbOG7h25oIOKAnGdpdCBhZGQgPMSRxrDhu51uZ19k4bqrbj7igJ0gaG/hurdjIOKAnGdpdCBybSA8xJHGsOG7nW5nX2ThuqtuPuKAnVxuIgogInbDoCBjaHV54buDbiBnaWFvIGvhur90IHF14bqjIGLhurFuZyBs4buHbmgg4oCcZ2l0IGNvbW1pdOKAnSIKIAotIzogc2VxdWVuY2VyLmM6MTkwIHNlcXVlbmNlci5jOjgzMyBzZXF1ZW5jZXIuYzo5MTIKKyM6IHNlcXVlbmNlci5jOjI0NCBzZXF1ZW5jZXIuYzoxMjA5CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAlcyIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSB2w6BvICVzIgorbXNnaWQgImNvdWxkIG5vdCBsb2NrICclcyciCittc2dzdHIgImtow7RuZyB0aOG7gyBraMOzYSDigJwlc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6MTkzCisjOiBzZXF1ZW5jZXIuYzoyNDcgc2VxdWVuY2VyLmM6MTEyNSBzZXF1ZW5jZXIuYzoxMjE0CiAjLCBjLWZvcm1hdAotbXNnaWQgIkVycm9yIHdyYXBwaW5nIHVwICVzIgotbXNnc3RyICJM4buXaSBiYW8gYuG7jWMgJXMiCittc2dpZCAiY291bGQgbm90IHdyaXRlIHRvICclcyciCittc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdsOgbyDigJwlc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6MjA4Ci1tc2dpZCAiWW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZXJyeS1waWNrLiIKLW1zZ3N0ciAiQ8OhYyB0aGF5IMSR4buVaSBu4buZaSBi4buZIGPhu6dhIGLhuqFuIGPDsyB0aOG7gyBi4buLIGdoaSDEkcOoIGLhu59pIGzhu4duaCBjaGVycnktcGljay4iCisjOiBzZXF1ZW5jZXIuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlIGVvbCB0byAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIGVvbCB2w6BvIOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTAKLW1zZ2lkICJZb3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgcmV2ZXJ0LiIKLW1zZ3N0ciAiQ8OhYyB0aGF5IMSR4buVaSBu4buZaSBi4buZIGPhu6dhIGLhuqFuIGPDsyB0aOG7gyBi4buLIGdoaSDEkcOoIGLhu59pIGzhu4duaCBob8OgbiBuZ3V5w6puLiIKKyM6IHNlcXVlbmNlci5jOjI1NSBzZXF1ZW5jZXIuYzoxMTMwIHNlcXVlbmNlci5jOjEyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplICclcycuIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZmluYWxpemUg4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjIxMwotbXNnaWQgIkNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKLW1zZ3N0ciAiQ2h1eeG7g24gZ2lhbyBjw6FjIHRoYXkgxJHhu5VpIGPhu6dhIGLhuqFuIGhheSB04bqhbSBj4bqldCAoc3Rhc2gpIGNow7puZyDEkeG7gyB44butIGzDvS4iCisjOiBzZXF1ZW5jZXIuYzoyNzkgYnVpbHRpbi9hbS5jOjI1OSBidWlsdGluL2NvbW1pdC5jOjc0OSBidWlsdGluL21lcmdlLmM6MTAzMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIOKAnCVz4oCdLiIKKworIzogc2VxdWVuY2VyLmM6MzA1CisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iCittc2dzdHIgImPDoWMgdGhheSDEkeG7lWkgbuG7mWkgYuG7mSBj4bunYSBi4bqhbiBjw7MgdGjhu4MgYuG7iyBnaGkgxJHDqCBi4bufaSBs4buHbmggJXMuIgorCisjOiBzZXF1ZW5jZXIuYzozMDkKK21zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCittc2dzdHIgImNodXnhu4NuIGdpYW8gY8OhYyB0aGF5IMSR4buVaSBj4bunYSBi4bqhbiBoYXkgdOG6oW0gY+G6pXQgKHN0YXNoKSBjaMO6bmcgxJHhu4MgeOG7rSBsw70uIgorCisjOiBzZXF1ZW5jZXIuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhc3QtZm9yd2FyZCIKK21zZ3N0ciAiJXM6IGNodXnhu4NuLXRp4bq/cC1uaGFuaCIKIAogIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIgb3IgImNoZXJyeS1waWNrIgotIzogc2VxdWVuY2VyLmM6MzAwCisjOiBzZXF1ZW5jZXIuYzozOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6IEtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpIgogCi0jOiBzZXF1ZW5jZXIuYzozMTgKLW1zZ2lkICJDb3VsZCBub3QgcmVzb2x2ZSBIRUFEIGNvbW1pdFxuIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgcGjDom4gZ2nhuqNpIGzhuqduIGNodXnhu4NuIGdpYW8gSEVBRFxuIgorIzogc2VxdWVuY2VyLmM6NDE4Cittc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIGdp4bqjaSBs4bqnbiBjaHV54buDbiBnaWFvIEhFQURcbiIKIAotIzogc2VxdWVuY2VyLmM6MzM4Ci1tc2dpZCAiVW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlXG4iCi1tc2dzdHIgIktow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgY8OieSBi4buZIG5o4bubIMSR4buHbVxuIgorIzogc2VxdWVuY2VyLmM6NDM4Cittc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlXG4iCittc2dzdHIgImtow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgY8OieSBi4buZIG5o4bubIMSR4buHbVxuIgogCi0jOiBzZXF1ZW5jZXIuYzozOTAKKyM6IHNlcXVlbmNlci5jOjQ4MwogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCi1tc2dzdHIgIktow7RuZyB0aOG7gyBwaMOibiB0w61jaCBs4bqnbiBjaHV54buDbiBnaWFvICVzXG4iCi0KLSM6IHNlcXVlbmNlci5jOjM5NQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggbOG6p24gY2h1eeG7g24gZ2lhbyBjaGEgbeG6uSDigJwlc+KAnVxuIgotCi0jOiBzZXF1ZW5jZXIuYzo0NjAKLW1zZ2lkICJZb3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgotbXNnc3RyICJU4bqtcCB0aW4gbMawdSBt4bulYyBs4bulYyBj4bunYSBi4bqhbiBraMO0bmcgxJHGsOG7o2MgaMOyYSB0cuG7mW4uIgotCi0jOiBzZXF1ZW5jZXIuYzo0NzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgotbXNnc3RyICJM4bqnbiBjaHV54buDbiBnaWFvICVzIGzDoCBt4buZdCBs4bqnbiBow7JhIHRy4buZbiBuaMawbmcga2jDtG5nIMSRxrBhIHJhIHTDuXkgY2jhu41uIC1tLiIKLQotIzogc2VxdWVuY2VyLmM6NDg3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKLW1zZ3N0ciAiTOG6p24gY2h1eeG7g24gZ2lhbyAlcyBraMO0bmcgY8OzIGNoYSBt4bq5ICVkIgotCi0jOiBzZXF1ZW5jZXIuYzo0OTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKK21zZ2lkICIiCisieW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWVcbiIKKyJJZiB0aGVzZSBjaGFuZ2VzIGFyZSBtZWFudCB0byBiZSBzcXVhc2hlZCBpbnRvIHRoZSBwcmV2aW91cyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAlc1xuIgorIlxuIgorIklmIHRoZXkgYXJlIG1lYW50IHRvIGdvIGludG8gYSBuZXcgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICVzXG4iCisiXG4iCisiSW4gYm90aCBjYXNlcywgb25jZSB5b3UncmUgZG9uZSwgY29udGludWUgd2l0aDpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogbXNnc3RyICIiCi0iTHXhu5NuZyBjaMOtbmggxJHDoyDEkcaw4bujYyBjaOG7iSByYSBuaMawbmcgbOG6p24gY2h1eeG7g24gZ2lhbyAlcyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBs4bqnbiAiCisiYuG6oW4gY8OzIGPDoWMgdGhheSDEkeG7lWkgc28gduG7m2kgdHJvbmcgYuG7hyBwaMOzbmcgdHJvbmcgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBj4bunYSBi4bqhbi5cbiIKKyJO4bq/dSBjw6FjIHRoYXkgxJHhu5VpIG7DoHkgbMOgIG114buRbiBzcXVhc2ggdsOgbyBs4bqnbiBjaHV54buDbiBnaWFvIGvhur8gdHLGsOG7m2MsIGNo4bqheTpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAlc1xuIgorIlxuIgorIk7hur91IGNow7puZyBjw7Mgw70gbMOgIMSRaSDEkeG6v24gbOG6p24gY2h1eeG7g24gZ2lhbyBt4bubaSwgdGjDrCBjaOG6oXk6XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICVzXG4iCisiXG4iCisiVHJvbmcgY+G6oyBoYWkgdHLGsOG7nW5nIGjhu6NwLCBt4buZdCBraGkgYuG6oW4gbMOgbSB4b25nLCB0aeG6v3AgdOG7pWMgYuG6sW5nOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisKKyM6IHNlcXVlbmNlci5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCittc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBs4bqnbiBjaHV54buDbiBnaWFvICVzXG4iCisKKyM6IHNlcXVlbmNlci5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIgorbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggbOG6p24gY2h1eeG7g24gZ2lhbyBjaGEgbeG6uSDigJwlc+KAnVxuIgorCisjOiBzZXF1ZW5jZXIuYzo2NTYKK21zZ2lkICJ5b3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgorbXNnc3RyICJ04bqtcCB0aW4gbMawdSBt4bulYyBs4bulYyBj4bunYSBi4bqhbiBraMO0bmcgxJHGsOG7o2MgaMOyYSB0cuG7mW4uIgorCisjOiBzZXF1ZW5jZXIuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgorbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvICVzIGzDoCBt4buZdCBs4bqnbiBow7JhIHRy4buZbiBuaMawbmcga2jDtG5nIMSRxrBhIHJhIHTDuXkgY2jhu41uIC1tLiIKKworIzogc2VxdWVuY2VyLmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKK21zZ3N0ciAibOG6p24gY2h1eeG7g24gZ2lhbyAlcyBraMO0bmcgY8OzIGNoYSBt4bq5ICVkIgorCisjOiBzZXF1ZW5jZXIuYzo2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKK21zZ3N0ciAiIgorImx14buTbmcgY2jDrW5oIMSRw6MgxJHGsOG7o2MgY2jhu4kgcmEgbmjGsG5nIGzhuqduIGNodXnhu4NuIGdpYW8gJXMga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgbOG6p24gIgogImjDsmEgdHLhu5luLiIKIAotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyB3aWxsIGJlICJyZXZlcnQiIG9yCi0jLiAiY2hlcnJ5LXBpY2siLCB0aGUgc2Vjb25kICVzIGEgU0hBMQotIzogc2VxdWVuY2VyLmM6NTA0CisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCisjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgorIzogc2VxdWVuY2VyLmM6NzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBs4bqnbiBjaHV54buDbiBnaWFvIG3hurkgY+G7p2EgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjUwOAorIzogc2VxdWVuY2VyLmM6NzA1CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgZ2hpIGNow7ogbOG6p24gY2h1eeG7g24gZ2lhbyBjaG8gJXMiCittc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSBnaGkgY2jDuiBs4bqnbiBjaHV54buDbiBnaWFvIGNobyAlcyIKIAotIzogc2VxdWVuY2VyLmM6NTk0CisjOiBzZXF1ZW5jZXIuYzo3OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGhvw6BuIG5ndXnDqm4gJXPigKYgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjU5NQorIzogc2VxdWVuY2VyLmM6Nzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMOhcCBk4bulbmcgbWnhur9uZyB2w6EgJXPigKYgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjYzMAorIzogc2VxdWVuY2VyLmM6ODMzCiBtc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gdHLhu5FuZyBy4buXbmcgxJHhurd0IGzDoCBo4bujcCBxdXkgY8OhY2giCiAKLSM6IHNlcXVlbmNlci5jOjYzOAorIzogc2VxdWVuY2VyLmM6ODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IGfhurdwIGzhu5dpIMSR4buNYyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IHNlcXVlbmNlci5jOjY0MgorIzogc2VxdWVuY2VyLmM6ODUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IGfhurdwIGzhu5dpIGtoaSBsw6BtIHTGsMahaSBt4bubaSBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IHNlcXVlbmNlci5jOjcwMgorIzogc2VxdWVuY2VyLmM6OTQ0CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCAlcyBkdXJpbmcgYSAlcyIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDICVzIHRyb25nIGtoaSAlcyIKK21zZ2lkICJpbnZhbGlkIGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgImTDsm5nIGtow7RuZyBo4bujcCBs4buHICVkOiAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzo3MjQKKyM6IHNlcXVlbmNlci5jOjk1MAorbXNnaWQgIm5vIGNvbW1pdHMgcGFyc2VkLiIKK21zZ3N0ciAia2jDtG5nIGPDsyBs4bqnbiBjaHV54buDbiBnaWFvIG7DoG8gxJHGsOG7o2MgcGjDom4gdMOtY2guIgorCisjOiBzZXF1ZW5jZXIuYzo5NjYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHBhcnNlIGxpbmUgJWQuIgotbXNnc3RyICJLaMO0bmcgcGjDom4gdMOtY2ggxJHGsOG7o2MgZMOybmcgJWQuIgorbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIOKAnCVz4oCdLiIKIAotIzogc2VxdWVuY2VyLmM6NzI5Ci1tc2dpZCAiTm8gY29tbWl0cyBwYXJzZWQuIgotbXNnc3RyICJLaMO0bmcgY8OzIGzhuqduIGNodXnhu4NuIGdpYW8gbsOgbyDEkcaw4bujYyBwaMOibiB0w61jaC4iCi0KLSM6IHNlcXVlbmNlci5jOjc0MQorIzogc2VxdWVuY2VyLmM6OTcyCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyAlcyIKK21zZ2lkICJ1bnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJyVzJyIKK21zZ3N0ciAiYuG6o25nIGNo4buJIHRo4buLIGtow7RuZyB0aOG7gyBkw7luZyDEkcaw4bujYzogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjc0NQorIzogc2VxdWVuY2VyLmM6OTgzCittc2dpZCAiY2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhIHJldmVydC4iCittc2dzdHIgImtow7RuZyB0aOG7gyBjaGVycnktcGljayB0cm9uZyBraGkgaG/DoG4gbmd1ecOqbi4iCisKKyM6IHNlcXVlbmNlci5jOjk4NQorbXNnaWQgImNhbm5vdCByZXZlcnQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiB2aeG7h2MgaG/DoG4gbmd1ecOqbiB0cm9uZyBraGkgxJFhbmcgY2hlcnJ5LXBpY2suIgorCisjOiBzZXF1ZW5jZXIuYzoxMDI4CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buNYyAlcy4iCittc2dpZCAiaW52YWxpZCBrZXk6ICVzIgorbXNnc3RyICJraMOzYSBraMO0bmcgxJHDum5nOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NzUyCisjOiBzZXF1ZW5jZXIuYzoxMDMxCiAjLCBjLWZvcm1hdAotbXNnaWQgIlVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAlcyIKLW1zZ3N0ciAiQuG6o25nIGNo4buJIHRo4buLIGtow7RuZyB0aOG7gyBkw7luZyDEkcaw4bujYzogJXMiCittc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgorbXNnc3RyICJnacOhIHRy4buLIGNobyAlcyBraMO0bmcgaOG7o3AgbOG7hzogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjc4MgorIzogc2VxdWVuY2VyLmM6MTA2MwogIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGtleTogJXMiCi1tc2dzdHIgIktow7NhIGtow7RuZyDEkcO6bmc6ICVzIgorbXNnaWQgIm1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAnJXMnIgorbXNnc3RyICJi4bqjbmcgdMO5eSBjaOG7jW4gZOG7iyBow6xuaDog4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjc4NSBidWlsdGluL3B1bGwuYzo1MCBidWlsdGluL3B1bGwuYzo1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCi1tc2dzdHIgIkdpw6EgdHLhu4sga2jDtG5nIGjhu6NwIGzhu4cgJXM6ICVzIgotCi0jOiBzZXF1ZW5jZXIuYzo3OTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICVzIgotbXNnc3RyICJC4bqjbmcgdMO5eSBjaOG7jW4gZOG7iyBow6xuaDogJXMiCi0KLSM6IHNlcXVlbmNlci5jOjgxNAorIzogc2VxdWVuY2VyLmM6MTEwMQogbXNnaWQgImEgY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgImPDsyBt4buZdCB0aGFvIHTDoWMg4oCcY2hlcnJ5LXBpY2vigJ0gaG/hurdjIOKAnHJldmVydOKAnSDEkWFuZyDEkcaw4bujYyB0aOG7sWMgaGnhu4duIgogCi0jOiBzZXF1ZW5jZXIuYzo4MTUKKyM6IHNlcXVlbmNlci5jOjExMDIKIG1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogbXNnc3RyICJow6N5IHRo4butIFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIAotIzogc2VxdWVuY2VyLmM6ODE5CisjOiBzZXF1ZW5jZXIuYzoxMTA2CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAlcyIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIHThuqFvIHRoxrAgbeG7pWMgeOG6v3AgZMOjeSAlcyIKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJyVzJyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIHRoxrAgbeG7pWMgeOG6v3AgZMOjeSDigJwlc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6ODM1IHNlcXVlbmNlci5jOjkxNgotIywgYy1mb3JtYXQKLW1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcy4iCi1tc2dzdHIgIkzhu5dpIGJhbyBi4buNYyAlcy4iCisjOiBzZXF1ZW5jZXIuYzoxMTIwCittc2dpZCAiY291bGQgbm90IGxvY2sgSEVBRCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGtow7NhIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjg1NCBzZXF1ZW5jZXIuYzo5ODYKKyM6IHNlcXVlbmNlci5jOjExNTEgc2VxdWVuY2VyLmM6MTI4OQogbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAia2jDtG5nIGNoZXJyeS1waWNrIGhheSBob8OgbiBuZ3V5w6puIHRyb25nIHRp4bq/biB0csOsbmgiCiAKLSM6IHNlcXVlbmNlci5jOjg1NgorIzogc2VxdWVuY2VyLmM6MTE1MwogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiBnaeG6o2kgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6ODU4CisjOiBzZXF1ZW5jZXIuYzoxMTU1IHNlcXVlbmNlci5jOjExODkKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGjhu6d5IGLhu48gdOG7qyBt4buZdCBuaMOhbmggbcOgIG7DsyBjw7JuIGNoxrBhIMSRxrDhu6NjIHThuqFvIHJhIgogCi0jOiBzZXF1ZW5jZXIuYzo4NzggYnVpbHRpbi9mZXRjaC5jOjYxMCBidWlsdGluL2ZldGNoLmM6ODUxCisjOiBzZXF1ZW5jZXIuYzoxMTc1IGJ1aWx0aW4vZ3JlcC5jOjU3OAogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgogbXNnc3RyICJraMO0bmcgbeG7nyDEkcaw4bujYyDigJwlc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6ODgwCisjOiBzZXF1ZW5jZXIuYzoxMTc3CiAjLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkICVzOiAlcyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyAlczogJXMiCittc2dpZCAiY2Fubm90IHJlYWQgJyVzJzogJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMg4oCcJXPigJ06ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4ODEKKyM6IHNlcXVlbmNlci5jOjExNzgKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJn4bq3cCBr4bq/dCB0aMO6YyB04bqtcCB0aW4gxJHhu5l0IHh14bqldCIKIAotIzogc2VxdWVuY2VyLmM6ODg3CisjOiBzZXF1ZW5jZXIuYzoxMTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAidOG6rXAgdGluIEhFQUQg4oCccHJlLWNoZXJyeS1waWNr4oCdIMSRw6MgbMawdSDigJwlc+KAnSBi4buLIGjhu49uZyIKIAotIzogc2VxdWVuY2VyLmM6OTA5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBmb3JtYXQgJXMuIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu4tuaCBk4bqhbmcg4oCcJXPigJ0uIgotCi0jOiBzZXF1ZW5jZXIuYzoxMDU0CisjOiBzZXF1ZW5jZXIuYzoxMzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGNoZXJyeS1waWNrIG3hu5l0ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxMDU3CisjOiBzZXF1ZW5jZXIuYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVzOiDEkWnhu4NtIHjDqXQgZHV54buHdCBzYWkiCiAKLSM6IHNlcXVlbmNlci5jOjEwOTEKLW1zZ2lkICJDYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCi1tc2dzdHIgIktow7RuZyB0aOG7gyBob8OgbiBuZ3V5w6puIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8ga2jhu59pIHThuqFvIgorIzogc2VxdWVuY2VyLmM6MTM5MQorbXNnaWQgImNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGhvw6BuIG5ndXnDqm4gbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyBraOG7n2kgdOG6oW8iCiAKLSM6IHNlcXVlbmNlci5jOjEwOTIKLW1zZ2lkICJDYW4ndCBjaGVycnktcGljayBpbnRvIGVtcHR5IGhlYWQiCi1tc2dzdHIgIktow7RuZyB0aOG7gyBjaGVycnktcGljayB2w6BvIG3hu5l0IMSR4bqndSAoaGVhZCkgdHLhu5FuZyBy4buXbmciCi0KLSM6IHNldHVwLmM6MjQ4CisjOiBzZXR1cC5jOjE2MAogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKLW1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4buNYyAlcyIKK21zZ2lkICIiCisiJXM6IG5vIHN1Y2ggcGF0aCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgorIlVzZSAnZ2l0IDxjb21tYW5kPiAtLSA8cGF0aD4uLi4nIHRvIHNwZWNpZnkgcGF0aHMgdGhhdCBkbyBub3QgZXhpc3QgbG9jYWxseS4iCittc2dzdHIgIiIKKyIlczoga2jDtG5nIGPDsyDEkcaw4budbmcgZOG6q24gbsOgbyBuaMawIHRo4bq/IOG7nyB0cm9uZyBjw6J5IGzDoG0gdmnhu4djLlxuIgorIkTDuW5nIOKAnGdpdCA8bOG7h25oPiAtLSA8xJHGsOG7nW5nL2ThuqtuPuKApuKAnSDEkeG7gyBjaOG7iSDEkeG7i25oIMSRxrDhu51uZyBk4bqrbiBtw6AgbsOzIGtow7RuZyB04buTbiB04bqhaSAiCisibeG7mXQgY8OhY2ggbuG7mWkgYuG7mS4iCisKKyM6IHNldHVwLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogdW5rbm93biByZXZpc2lvbiBvciBwYXRoIG5vdCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgorIlVzZSAnLS0nIHRvIHNlcGFyYXRlIHBhdGhzIGZyb20gcmV2aXNpb25zLCBsaWtlIHRoaXM6XG4iCisiJ2dpdCA8Y29tbWFuZD4gWzxyZXZpc2lvbj4uLi5dIC0tIFs8ZmlsZT4uLi5dJyIKK21zZ3N0ciAiIgorInRoYW0gc+G7kSBjaMawYSByw7UgcsOgbmcg4oCcJXPigJ06IGNoxrBhIGJp4bq/dCDEkWnhu4NtIHhlbSB4w6l0IGhheSDEkcaw4budbmcgZOG6q24ga2jDtG5nIHRyb25nICIKKyJjw6J5IGzDoG0gdmnhu4djLlxuIgorIkTDuW5nIOKAnC0t4oCdIMSR4buDIG5nxINuIGPDoWNoIGPDoWMgxJHGsOG7nW5nIGThuqtuIGto4buPaSDEkWnhu4NtIHhlbSB4w6l0LCBuaMawIHRo4bq/IG7DoHk6XG4iCisi4oCcZ2l0IDxs4buHbmg+IFs8xJFp4buDbSB4ZW0geMOpdD7igKZdIC0tIFs8dOG6rXAgdGluPuKApl3igJ0iCisKKyM6IHNldHVwLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogYm90aCByZXZpc2lvbiBhbmQgZmlsZW5hbWVcbiIKKyJVc2UgJy0tJyB0byBzZXBhcmF0ZSBwYXRocyBmcm9tIHJldmlzaW9ucywgbGlrZSB0aGlzOlxuIgorIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCittc2dzdHIgIiIKKyJ0aGFtIHPhu5EgY2jGsGEgcsO1IHLDoG5nIOKAnCVz4oCdOiBj4bqjIMSRaeG7g20geGVtIHjDqXQgdsOgIHTDqm4gdOG6rXAgdGluLlxuIgorIkTDuW5nIOKAnC0t4oCdIMSR4buDIG5nxINuIGPDoWNoIGPDoWMgxJHGsOG7nW5nIGThuqtuIGto4buPaSDEkWnhu4NtIHhlbSB4w6l0LCBuaMawIHRo4bq/IG7DoHk6XG4iCisi4oCcZ2l0IDxs4buHbmg+IFs8xJFp4buDbSB4ZW0geMOpdD7igKZdIC0tIFs8dOG6rXAgdGluPuKApl3igJ0iCiAKICM6IHNldHVwLmM6NDY4CiAjLCBjLWZvcm1hdApAQCAtMTY4OCwyMiArMjkyMSw5MyBAQAogbXNnaWQgInVua25vd24gcmVwb3NpdG9yeSBleHRlbnNpb25zIGZvdW5kOiIKIG1zZ3N0ciAidMOsbSB0aOG6pXkgcGjhuqduIG3hu58gcuG7mW5nIGtobyBjaMawYSBiaeG6v3Q6IgogCi0jOiBzaGExX2ZpbGUuYzoxMDgwCisjOiBzZXR1cC5jOjc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKK21zZ3N0ciAiS2jDtG5nIHBo4bqjaSBsw6Aga2hvIGdpdCAoaG/hurdjIGLhuqV0IGvhu7MgdGjGsCBt4bulYyBjaGEgbeG6uSBuw6BvKTogJXMiCisKKyM6IHNldHVwLmM6NzY0IHNldHVwLmM6OTE1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDEKK21zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHF1YXkgbOG6oWkgY3dkIgorCisjOiBzZXR1cC5jOjg0NQorbXNnaWQgIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBoaeG7h24gaMOgbmgiCisKKyM6IHNldHVwLmM6OTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IHBhcmVudCB1cCB0byBtb3VudCBwb2ludCAlcylcbiIKKyJTdG9wcGluZyBhdCBmaWxlc3lzdGVtIGJvdW5kYXJ5IChHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNIG5vdCBzZXQpLiIKK21zZ3N0ciAiIgorIktow7RuZyBwaOG6o2kgbMOgIGtobyBnaXQgKGhheSBi4bqldCBr4buzIGNoYSBt4bq5IG7DoG8gxJHhur9uIMSRaeG7g20gZ+G6r24ga+G6v3QgJXMpXG4iCisiROG7q25nIHThuqFpIGJpw6puIGPhu6dhIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gKEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0gY2jGsGEgIgorIsSR4bq3dCkuIgorCisjOiBzZXR1cC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHRvICclcy8uLiciCittc2dzdHIgIktow7RuZyB0aOG7gyBjaHV54buDbiBzYW5nIOKAnCVzLy4u4oCdIgorCisjOiBzZXR1cC5jOjk4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUHJvYmxlbSB3aXRoIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSBmaWxlbW9kZSB2YWx1ZSAoMCUuM28pLlxuIgorIlRoZSBvd25lciBvZiBmaWxlcyBtdXN0IGFsd2F5cyBoYXZlIHJlYWQgYW5kIHdyaXRlIHBlcm1pc3Npb25zLiIKK21zZ3N0ciAiIgorIkfhurdwIHbhuqVuIMSR4buBIHbhu5tpIGfDrWEgdHLhu4sgY2jhur8gxJHhu5kgdOG6rXAgdGluIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSAoMCUuM28pLlxuIgorIm5nxrDhu51pIHPhu58gaOG7r3UgdOG6rXAgdGluIHBo4bqjaSBsdcO0biBjw7MgcXV54buBbiDEkeG7jWMgdsOgIGdoaS4iCisKKyM6IHNoYTFfZmlsZS5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoICclcycgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSBraMO0bmcgdOG7k24gdOG6oWkiCisKKyM6IHNoYTFfZmlsZS5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKK21zZ3N0ciAia2hvIHRoYW0gY2hp4bq/dSDigJwlc+KAnSBuaMawIGzDoCBs4bqleSByYSBsacOqbiBr4bq/dCB24bqrbiBjaMawYSDEkcaw4bujYyBo4buXIHRy4bujLiIKKworIzogc2hhMV9maWxlLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCittc2dzdHIgImtobyB0aGFtIGNoaeG6v3Ug4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQga2hvIG7hu5lpIGLhu5kuIgorCisjOiBzaGExX2ZpbGUuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgorbXNnc3RyICJraG8gdGhhbSBjaGnhur91IOKAnCVz4oCdIGzDoCBuw7RuZyIKKworIzogc2hhMV9maWxlLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKK21zZ3N0ciAia2hvIHRoYW0gY2hp4bq/dSDigJwlc+KAnSBi4buLIGPhuqV5IGdow6lwIgorCisjOiBzaGExX2ZpbGUuYzoxMTU5CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBlbmQgb2YgcGFja2ZpbGUgKGJyb2tlbiAuaWR4PykiCiBtc2dzdHIgInbhu4sgdHLDrSB0xrDGoW5nIMSR4buRaSB0csaw4bubYyDEkWnhu4NtIGvhur90IHRow7pjIGPhu6dhIHThuq1wIHRpbiBnw7NpICguaWR4IGjhu49uZyDDoD8pIgogCi0jOiBzaGExX2ZpbGUuYzoyNDU4CisjOiBzaGExX2ZpbGUuYzoyNTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZWZvcmUgc3RhcnQgb2YgcGFjayBpbmRleCBmb3IgJXMgKGNvcnJ1cHQgaW5kZXg/KSIKIG1zZ3N0ciAiduG7iyB0csOtIHTGsMahbmcgxJHhu5FpIG7hurFtIHRyxrDhu5tjIGNo4buJIG3hu6VjIGfDs2kgY2hvICVzICht4bulYyBs4bulYyBi4buLIGjhu49uZyDDoD8pIgogCi0jOiBzaGExX2ZpbGUuYzoyNDYyCisjOiBzaGExX2ZpbGUuYzoyNTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZXlvbmQgZW5kIG9mIHBhY2sgaW5kZXggZm9yICVzICh0cnVuY2F0ZWQgaW5kZXg/KSIKIG1zZ3N0ciAiIgogInbhu4sgdHLDrSB0xrDGoW5nIMSR4buRaSB2xrDhu6N0IHF1w6EgY3Xhu5FpIGPhu6dhIGNo4buJIG3hu6VjIGfDs2kgY2hvICVzICht4bulYyBs4bulYyBi4buLIGPhuq90IGPhu6V0IMOgPykiCiAKLSM6IHNoYTFfbmFtZS5jOjQ2MgorIzogc2hhMV9uYW1lLmM6NDA3CisjLCBjLWZvcm1hdAorbXNnaWQgInNob3J0IFNIQTEgJXMgaXMgYW1iaWd1b3VzIgorbXNnc3RyICJ0w7NtIGzGsOG7o2MgU0hBMSAlcyBjaMawYSByw7UgcsOgbmciCisKKyM6IHNoYTFfbmFtZS5jOjQxOAorbXNnaWQgIlRoZSBjYW5kaWRhdGVzIGFyZToiCittc2dzdHIgIkPDoWMg4bupbmcgY+G7rSBsw6A6IgorCisjOiBzaGExX25hbWUuYzo1NzgKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCkBAIC0xNzUyLDg0ICszMDU2LDE1MCBAQAogbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB04buVIGNo4bupYyAuZ2l0bW9kdWxlcyDEkcOjIGPhuq1wIG5o4bqtdCIKIAotIzogc3VibW9kdWxlLmM6MTc3CisjOiBzdWJtb2R1bGUuYzoxNTgKIG1zZ2lkICJuZWdhdGl2ZSB2YWx1ZXMgbm90IGFsbG93ZWQgZm9yIHN1Ym1vZHVsZS5mZXRjaEpvYnMiCiBtc2dzdHIgImtow7RuZyBjaG8gcGjDqXAgZ2nDoSB0cuG7iyDDom0g4bufIHN1Ym1vZHVsZS5mZXRjaEpvYnMiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzozNTUKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXMiCiBtc2dzdHIgImdpw6EgdHLhu4sgY2hvICVzIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiB0cmFpbGVyLmM6MjM3CisjOiB0cmFpbGVyLmM6MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgdHJhaWxlciBjb21tYW5kICclcycgZmFpbGVkIgogbXNnc3RyICJjaOG6oXkgbOG7h25oIGvDqW8gdGhlbyDigJwlc+KAnSBn4bq3cCBs4buXaSIKIAotIzogdHJhaWxlci5jOjQ5MiB0cmFpbGVyLmM6NDk2IHRyYWlsZXIuYzo1MDAgdHJhaWxlci5jOjU1NCB0cmFpbGVyLmM6NTU4Ci0jOiB0cmFpbGVyLmM6NTYyCisjOiB0cmFpbGVyLmM6NDcxIHRyYWlsZXIuYzo0NzUgdHJhaWxlci5jOjQ3OSB0cmFpbGVyLmM6NTMzIHRyYWlsZXIuYzo1MzcKKyM6IHRyYWlsZXIuYzo1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biB2YWx1ZSAnJXMnIGZvciBrZXkgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIGhp4buDdSBnacOhIHRy4buLIOKAnCVz4oCdIGNobyBraMOzYSDigJwlc+KAnSIKIAotIzogdHJhaWxlci5jOjU0NCB0cmFpbGVyLmM6NTQ5IGJ1aWx0aW4vcmVtb3RlLmM6Mjg5CisjOiB0cmFpbGVyLmM6NTIzIHRyYWlsZXIuYzo1MjggYnVpbHRpbi9yZW1vdGUuYzoyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIG9uZSAlcyIKIG1zZ3N0ciAibmhp4buBdSBoxqFuIG3hu5l0ICVzIgogCi0jOiB0cmFpbGVyLmM6NTgyCisjOiB0cmFpbGVyLmM6NjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImVtcHR5IHRyYWlsZXIgdG9rZW4gaW4gdHJhaWxlciAnJS4qcyciCiBtc2dzdHIgInRo4bq7IHRo4burYSB0cuG7kW5nIHLhu5duZyB0cm9uZyBwaOG6p24gdGjhu6thIOKAnCUuKnPigJ0iCiAKLSM6IHRyYWlsZXIuYzo3MDIKKyM6IHRyYWlsZXIuYzo2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgaW5wdXQgZmlsZSAnJXMnIgogbXNnc3RyICJraMO0bmcgxJHhu41jIMSRxrDhu6NjIHThuq1wIHRpbiDEkeG6p3UgdsOgbyDigJwlc+KAnSIKIAotIzogdHJhaWxlci5jOjcwNQorIzogdHJhaWxlci5jOjY5OAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCi0jOiB0cmFpbGVyLmM6ODU3IGJ1aWx0aW4vYW0uYzo0MgorIzogdHJhaWxlci5jOjkyOSBidWlsdGluL2FtLmM6NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0aMO0bmcgdGluIHRo4buRbmcga8OqIHbhu4EgJXMiCiAKLSM6IHRyYWlsZXIuYzo4NTkKKyM6IHRyYWlsZXIuYzo5MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBpcyBub3QgYSByZWd1bGFyIGZpbGUiCiBtc2dzdHIgIlwiJXNcIiBraMO0bmcgcGjhuqNpIGzDoCB04bqtcCB0aW4gYsOsbmggdGjGsOG7nW5nIgogCi0jOiB0cmFpbGVyLmM6ODYxCisjOiB0cmFpbGVyLmM6OTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IHdyaXRhYmxlIGJ5IHVzZXIiCiBtc2dzdHIgInThuq1wIHRpbiAlcyBuZ8aw4budaSBkw7luZyBraMO0bmcgdGjhu4MgZ2hpIMSRxrDhu6NjIgogCi0jOiB0cmFpbGVyLmM6ODczCisjOiB0cmFpbGVyLmM6OTQ1CiBtc2dpZCAiY291bGQgbm90IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB04bqtcCB0aW4gdOG6oW0gdGjhu51pIgogCi0jOiB0cmFpbGVyLmM6OTEyCisjOiB0cmFpbGVyLmM6OTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgdGVtcG9yYXJ5IGZpbGUgdG8gJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7lWkgdMOqbiB04bqtcCB0aW4gdOG6oW0gdGjhu51pIHRow6BuaCAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNDEKKyM6IHRyYW5zcG9ydC5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHNldCB1cHN0cmVhbSBvZiAnJXMnIHRvICclcycgb2YgJyVzJ1xuIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhurd0IHRoxrDhu6NuZyBuZ3Xhu5NuIGPhu6dhIOKAnCVz4oCdIHRow6BuaCDigJwlc+KAnSBj4bunYSDigJwlc+KAnVxuIgorCisjOiB0cmFuc3BvcnQuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgorbXNnc3RyICJ24bqtbiBjaHV54buDbjogdMO5eSBjaOG7jW4gxJHhu5kgc8OidSDigJwlc+KAnSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogdHJhbnNwb3J0LmM6ODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKKyJub3QgYmUgZm91bmQgb24gYW55IHJlbW90ZTpcbiIKK21zZ3N0ciAiIgorIkPDoWMgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiBzYXUgxJHDonkgY8OzIGNo4bupYSBjw6FjIHRoYXkgxJHhu5VpIGPDoWkgbcOgXG4iCisiY8OzIHRo4buDIMSRxrDhu6NjIHTDrG0gdGjhuqV5IHRyw6puIG3hu41pIG3DoXkgcGjhu6VjIHbhu6U6XG4iCisKKyM6IHRyYW5zcG9ydC5jOjgyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiUGxlYXNlIHRyeVxuIgorIlxuIgorIlx0Z2l0IHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kXG4iCisiXG4iCisib3IgY2QgdG8gdGhlIHBhdGggYW5kIHVzZVxuIgorIlxuIgorIlx0Z2l0IHB1c2hcbiIKKyJcbiIKKyJ0byBwdXNoIHRoZW0gdG8gYSByZW1vdGUuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJIw6N5IHRo4butXG4iCisiXG4iCisiXHRnaXQgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmRcbiIKKyJcbiIKKyJob+G6t2MgY2QgxJHhur9uIMSRxrDhu51uZyBk4bqrbiB2w6AgZMO5bmdcbiIKKyJcbiIKKyJcdGdpdCBwdXNoXG4iCisiXG4iCisixJHhu4MgxJHhuql5IGNow7puZyBsw6puIG3DoXkgcGjhu6VjIHbhu6UuXG4iCisiXG4iCisKKyM6IHRyYW5zcG9ydC5jOjgyOQorbXNnaWQgIkFib3J0aW5nLiIKK21zZ3N0ciAiQsOjaSBi4buPLiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgcmVmICVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIHRoYW0gY2hp4bq/dSAlcyIKIAorIzogdHJlZS13YWxrLmM6MzEKK21zZ2lkICJ0b28tc2hvcnQgdHJlZSBvYmplY3QiCittc2dzdHIgIsSR4buRaSB0xrDhu6NuZyBjw6J5IHF1w6Egbmfhuq9uIgorCisjOiB0cmVlLXdhbGsuYzozNworbXNnaWQgIm1hbGZvcm1lZCBtb2RlIGluIHRyZWUgZW50cnkiCittc2dzdHIgImNo4bq/IMSR4buZIGThu4sgaMOsbmggdHJvbmcgxJHhu4EgbeG7pWMgY8OieSIKKworIzogdHJlZS13YWxrLmM6NDEKK21zZ2lkICJlbXB0eSBmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IgorbXNnc3RyICJ0w6puIHThuq1wIHRpbiB0cuG7kW5nIHLhu5duZyB0cm9uZyBt4bulYyB0aW4gY8OieSIKKworIzogdHJlZS13YWxrLmM6MTEzCittc2dpZCAidG9vLXNob3J0IHRyZWUgZmlsZSIKK21zZ3N0ciAidOG6rXAgdGluIGPDonkgcXXDoSBuZ+G6r24iCisKICM6IHVucGFjay10cmVlcy5jOjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKLSIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgY2FuIHN3aXRjaCBicmFuY2hlcy4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgIiIKICJDw6FjIHRoYXkgxJHhu5VpIG7hu5lpIGLhu5kgY+G7p2EgYuG6oW4gduG7m2kgY8OhYyB04bqtcCB0aW4gc2F1IMSRw6J5IHPhur0gYuG7iyBnaGkgxJHDqCBi4bufaSBs4buHbmggIgogImNoZWNrb3V0OlxuIgotIiUlc1Z1aSBsw7JuZyBjaHV54buDbiBnaWFvIGPDoWMgdGhheSDEkeG7lWkgaGF5IHThuqFtIGPhuqV0IGNow7puZyDEkWkgdHLGsOG7m2Mga2hpIGLhuqFuIGPDsyAiCi0idGjhu4MgY2h1eeG7g24gbmjDoW5oLiIKKyIlJXNWdWkgbMOybmcgY2h1eeG7g24gZ2lhbyBjw6FjIHRoYXkgxJHhu5VpIGhheSB04bqhbSBj4bqldCBjaMO6bmcgxJFpIHRyxrDhu5tjIGtoaSBi4bqhbiAiCisiY2h1eeG7g24gbmjDoW5oLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6NjYKICMsIGMtZm9ybWF0CkBAIC0xODQ1LDEyICszMjE1LDEyIEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKLSIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIKKyIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCiAiQ8OhYyB0aGF5IMSR4buVaSBu4buZaSBi4buZIGPhu6dhIGLhuqFuIHbhu5tpIGPDoWMgdOG6rXAgdGluIHNhdSDEkcOieSBz4bq9IGLhu4sgZ2hpIMSRw6ggYuG7n2kgbOG7h25oICIKICJow7JhIHRy4buZbjpcbiIKLSIlJXNWdWkgbMOybmcgY2h1eeG7g24gZ2lhbyBjw6FjIHRoYXkgxJHhu5VpIGhheSB04bqhbSBj4bqldCBjaMO6bmcgxJFpIHRyxrDhu5tjIGtoaSBi4bqhbiBjw7MgIgotInRo4buDIGjDsmEgdHLhu5luLiIKKyIlJXNWdWkgbMOybmcgY2h1eeG7g24gZ2lhbyBjw6FjIHRoYXkgxJHhu5VpIGhheSB04bqhbSBj4bqldCBjaMO6bmcgxJFpIHRyxrDhu5tjIGtoaSBi4bqhbiBow7JhICIKKyJ0cuG7mW4uIgogCiAjOiB1bnBhY2stdHJlZXMuYzo3MQogIywgYy1mb3JtYXQKQEAgLTE4NjYsMTIgKzMyMzYsMTEgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgotIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBjYW4gJXMuIgorIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSAlcy4iCiBtc2dzdHIgIiIKICJDw6FjIHRoYXkgxJHhu5VpIG7hu5lpIGLhu5kgY+G7p2EgYuG6oW4gduG7m2kgY8OhYyB04bqtcCB0aW4gc2F1IMSRw6J5IHPhur0gYuG7iyBnaGkgxJHDqCBi4bufaSBs4buHbmggIgogIiVzOlxuIgotIiUlc1Z1aSBsw7JuZyBjaHV54buDbiBnaWFvIGPDoWMgdGhheSDEkeG7lWkgaGF5IHThuqFtIGPhuqV0IGNow7puZyDEkWkgdHLGsOG7m2Mga2hpIGLhuqFuIGPDsyAiCi0idGjhu4MgJXMuIgorIiUlc1Z1aSBsw7JuZyBjaHV54buDbiBnaWFvIGPDoWMgdGhheSDEkeG7lWkgaGF5IHThuqFtIGPhuqV0IGNow7puZyDEkWkgdHLGsOG7m2Mga2hpIGLhuqFuICVzLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6NzYKICMsIGMtZm9ybWF0CkBAIC0xODk3LDExICszMjY2LDExIEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBzd2l0Y2ggYnJhbmNoZXMuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKIG1zZ3N0ciAiIgogIkPDoWMgdOG6rXAgdGluIGPDonkgbMOgbSB2aeG7h2MgY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIHNhdSDEkcOieSBz4bq9IGLhu4sgZ+G7oSBi4buPIGLhu59pIGzhu4duaCAiCiAiY2hlY2tvdXQ6XG4iCi0iJSVzVnVpIGzDsm5nIGRpIGNodXnhu4NuIGhheSBn4buhIGLhu48gY2jDum5nIHRyxrDhu5tjIGtoaSBi4bqhbiBjw7MgdGjhu4MgY2h1eeG7g24gbmjDoW5oLiIKKyIlJXNWdWkgbMOybmcgZGkgY2h1eeG7g24gaGF5IGfhu6EgYuG7jyBjaMO6bmcgdHLGsOG7m2Mga2hpIGLhuqFuIGNodXnhu4NuIG5ow6FuaC4iCiAKICM6IHVucGFjay10cmVlcy5jOjg3CiAjLCBjLWZvcm1hdApAQCAtMTkxNywxMSArMzI4NiwxMSBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCiAiQ8OhYyB04bqtcCB0aW4gY8OieSBsw6BtIHZp4buHYyBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkgc2F1IMSRw6J5IHPhur0gYuG7iyBn4buhIGLhu48gYuG7n2kgbOG7h25oIGjDsmEgIgogInRy4buZbjpcbiIKLSIlJXNWdWkgbMOybmcgZGkgY2h1eeG7g24gaGF5IGfhu6EgYuG7jyBjaMO6bmcgdHLGsOG7m2Mga2hpIGLhuqFuIGPDsyB0aOG7gyBow7JhIHRy4buZbi4iCisiJSVzVnVpIGzDsm5nIGRpIGNodXnhu4NuIGhheSBn4buhIGLhu48gY2jDum5nIHRyxrDhu5tjIGtoaSBi4bqhbiBow7JhIHRy4buZbi4iCiAKICM6IHVucGFjay10cmVlcy5jOjkyCiAjLCBjLWZvcm1hdApAQCAtMTkzNywxMCArMzMwNiwxMCBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gJXMuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgJXMuIgogbXNnc3RyICIiCiAiQ8OhYyB04bqtcCB0aW4gY8OieSBsw6BtIHZp4buHYyBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkgc2F1IMSRw6J5IHPhur0gYuG7iyBn4buhIGLhu48gYuG7n2kgJXM6XG4iCi0iJSVzVnVpIGzDsm5nIGRpIGNodXnhu4NuIGhheSBn4buhIGLhu48gY2jDum5nIHRyxrDhu5tjIGtoaSBi4bqhbiBjw7MgdGjhu4MgJXMuIgorIiUlc1Z1aSBsw7JuZyBkaSBjaHV54buDbiBoYXkgZ+G7oSBi4buPIGNow7puZyB0csaw4bubYyBraGkgYuG6oW4gJXMuIgogCiAjOiB1bnBhY2stdHJlZXMuYzo5NwogIywgYy1mb3JtYXQKQEAgLTE5NTYsMTEgKzMzMjUsMTEgQEAKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKICJjaGVja291dDpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBzd2l0Y2ggYnJhbmNoZXMuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKIG1zZ3N0ciAiIgogIkPDoWMgdOG6rXAgdGluIGPDonkgbMOgbSB2aeG7h2MgY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIHNhdSDEkcOieSBz4bq9IGLhu4sgZ2hpIMSRw6ggYuG7n2kgbOG7h25oICIKICJjaGVja291dDpcbiIKLSIlJXNWdWkgbMOybmcgZGkgY2h1eeG7g24gaGF5IGfhu6EgYuG7jyBjaMO6bmcgdHLGsOG7m2Mga2hpIGLhuqFuIGPDsyB0aOG7gyBjaHV54buDbiBuaMOhbmguIgorIiUlc1Z1aSBsw7JuZyBkaSBjaHV54buDbiBoYXkgZ+G7oSBi4buPIGNow7puZyB0csaw4bubYyBraGkgYuG6oW4gY2h1eeG7g24gbmjDoW5oLiIKIAogIzogdW5wYWNrLXRyZWVzLmM6MTA0CiAjLCBjLWZvcm1hdApAQCAtMTk3NywxMSArMzM0NiwxMSBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAiIgogIkPDoWMgdOG6rXAgdGluIGPDonkgbMOgbSB2aeG7h2MgY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIHNhdSDEkcOieSBz4bq9IGLhu4sgZ2hpIMSRw6ggYuG7n2kgbOG7h25oICIKICJow7JhIHRy4buZbjpcbiIKLSIlJXNWdWkgbMOybmcgZGkgY2h1eeG7g24gaGF5IGfhu6EgYuG7jyBjaMO6bmcgdHLGsOG7m2Mga2hpIGLhuqFuIGPDsyB0aOG7gyBow7JhIHRy4buZbi4iCisiJSVzVnVpIGzDsm5nIGRpIGNodXnhu4NuIGhheSBn4buhIGLhu48gY2jDum5nIHRyxrDhu5tjIGtoaSBi4bqhbiBow7JhIHRy4buZbi4iCiAKICM6IHVucGFjay10cmVlcy5jOjEwOQogIywgYy1mb3JtYXQKQEAgLTE5OTcsMTEgKzMzNjYsMTEgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiAlcy4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSAlcy4iCiBtc2dzdHIgIiIKICJDw6FjIHThuq1wIHRpbiBjw6J5IGzDoG0gdmnhu4djIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSBzYXUgxJHDonkgc+G6vSBi4buLIGdoaSDEkcOoIGLhu59pIGzhu4duaCAiCiAiJXM6XG4iCi0iJSVzVnVpIGzDsm5nIGRpIGNodXnhu4NuIGhheSBn4buhIGLhu48gY2jDum5nIHRyxrDhu5tjIGtoaSBi4bqhbiBjw7MgdGjhu4MgJXMuIgorIiUlc1Z1aSBsw7JuZyBkaSBjaHV54buDbiBoYXkgZ+G7oSBi4buPIGNow7puZyB0csaw4bubYyBraGkgYuG6oW4gJXMuIgogCiAjOiB1bnBhY2stdHJlZXMuYzoxMTQKICMsIGMtZm9ybWF0CkBAIC0yMDMwLDcgKzMzOTksNyBAQAogIzogdW5wYWNrLXRyZWVzLmM6MTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIFdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgorIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHNwYXJzZSBjaGVja291dCAiCiAidXBkYXRlOlxuIgogIiVzIgogbXNnc3RyICIiCkBAIC0yMDQxLDcgKzM0MTAsNyBAQAogIzogdW5wYWNrLXRyZWVzLmM6MTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIFdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCisiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBzcGFyc2UgY2hlY2tvdXQgIgogInVwZGF0ZTpcbiIKICIlcyIKIG1zZ3N0ciAiIgpAQCAtMjA4NywyMDEgKzM0NTYsMTkxIEBACiBtc2dpZCAiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIKIG1zZ3N0ciAixJFv4bqhbiDEkcaw4budbmcgZOG6q24g4oCcLi7igJ0ga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IHdyYXBwZXIuYzoyMjIgd3JhcHBlci5jOjM4MQorIzogd29ya3RyZWUuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4buNYyDigJwlc+KAnSIKKworIzogd3JhcHBlci5jOjIyMiB3cmFwcGVyLmM6MzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIOKAnCVz4oCdIMSR4buDIMSR4buNYyB2w6AgZ2hpIgogCi0jOiB3cmFwcGVyLmM6MjI0IHdyYXBwZXIuYzozODMgYnVpbHRpbi9hbS5jOjc3OQorIzogd3JhcHBlci5jOjIyNCB3cmFwcGVyLmM6Mzk0IGJ1aWx0aW4vYW0uYzo3NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58g4oCcJXPigJ0gxJHhu4MgZ2hpIgogCi0jOiB3cmFwcGVyLmM6MjI2IHdyYXBwZXIuYzozODUgYnVpbHRpbi9hbS5jOjMyMyBidWlsdGluL2FtLmM6NzcyCi0jOiBidWlsdGluL2FtLmM6ODYwIGJ1aWx0aW4vY29tbWl0LmM6MTcxMSBidWlsdGluL21lcmdlLmM6MTA4NgotIzogYnVpbHRpbi9wdWxsLmM6NDA3CisjOiB3cmFwcGVyLmM6MjI2IHdyYXBwZXIuYzozOTYgYnVpbHRpbi9hbS5jOjMyMCBidWlsdGluL2FtLmM6NzU5CisjOiBidWlsdGluL2FtLmM6ODQ3IGJ1aWx0aW4vY29tbWl0LmM6MTcwNSBidWlsdGluL21lcmdlLmM6MTAyOQorIzogYnVpbHRpbi9wdWxsLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIOKAnCVz4oCdIMSR4buDIMSR4buNYyIKIAotIzogd3JhcHBlci5jOjU5NCB3cmFwcGVyLmM6NjE1CisjOiB3cmFwcGVyLmM6NjA1IHdyYXBwZXIuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdHJ1eSBj4bqtcCDigJwlc+KAnSIKIAotIzogd3JhcHBlci5jOjYyMworIzogd3JhcHBlci5jOjYzNAogbXNnaWQgInVuYWJsZSB0byBnZXQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGzhuqV5IHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgaGnhu4duIGjDoG5oIgogCi0jOiB3cmFwcGVyLmM6NjUwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBvcGVuICVzIGZvciB3cml0aW5nIgotbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlcyDEkeG7gyBnaGkiCi0KLSM6IHdyYXBwZXIuYzo2NjEgYnVpbHRpbi9hbS5jOjQxMAorIzogd3JhcHBlci5jOjY1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdsOgbyAlcyIKIAotIzogd3JhcHBlci5jOjY2NworIzogd3JhcHBlci5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkcOzbmcgJXMiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MAorIzogd3Qtc3RhdHVzLmM6MTUxCiBtc2dpZCAiVW5tZXJnZWQgcGF0aHM6IgogbXNnc3RyICJOaOG7r25nIMSRxrDhu51uZyBk4bqrbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbjoiCiAKLSM6IHd0LXN0YXR1cy5jOjE3NyB3dC1zdGF0dXMuYzoyMDQKKyM6IHd0LXN0YXR1cy5jOjE3OCB3dC1zdGF0dXMuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgIChkw7luZyBcImdpdCByZXNldCAlcyA8dOG6rXAtdGluPuKAplwiIMSR4buDIGLhu48gcmEga2jhu49pIGLhu4cgcGjDs25nKSIKIAotIzogd3Qtc3RhdHVzLmM6MTc5IHd0LXN0YXR1cy5jOjIwNgorIzogd3Qtc3RhdHVzLmM6MTgwIHd0LXN0YXR1cy5jOjIwNwogbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgcm0gLS1jYWNoZWQgPHThuq1wLXRpbj7igKZcIiDEkeG7gyBi4buPIHJhIGto4buPaSBi4buHIHBow7NuZykiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MworIzogd3Qtc3RhdHVzLmM6MTg0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBhZGQgPHThuq1wLXRpbj7igKZcIiDEkeG7gyDEkcOhbmggZOG6pXUgbMOgIGPhuqduIGdp4bqjaSBxdXnhur90KSIKIAotIzogd3Qtc3RhdHVzLmM6MTg1IHd0LXN0YXR1cy5jOjE4OQorIzogd3Qtc3RhdHVzLmM6MTg2IHd0LXN0YXR1cy5jOjE5MAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKGTDuW5nIFwiZ2l0IGFkZC9ybSA8dOG6rXAtdGluPuKAplwiIG5oxrAgbMOgIG3hu5l0IGPDoWNoIHRow61jaCBo4bujcCDEkeG7gyDEkcOhbmggZOG6pXUgbMOgICIKICJj4bqnbiDEkcaw4bujYyBnaeG6o2kgcXV54bq/dCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NworIzogd3Qtc3RhdHVzLmM6MTg4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IHJtIDx04bqtcC10aW4+4oCmXCIgxJHhu4MgxJHDoW5oIGThuqV1IGzDoCBj4bqnbiBnaeG6o2kgcXV54bq/dCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE5OCB3dC1zdGF0dXMuYzo4ODEKKyM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzo5NDUKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIk5o4buvbmcgdGhheSDEkeG7lWkgc+G6vSDEkcaw4bujYyBjaHV54buDbiBnaWFvOiIKIAotIzogd3Qtc3RhdHVzLmM6MjE2IHd0LXN0YXR1cy5jOjg5MAorIzogd3Qtc3RhdHVzLmM6MjE3IHd0LXN0YXR1cy5jOjk1NAogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiQ8OhYyB0aGF5IMSR4buVaSBjaMawYSDEkcaw4bujYyDEkeG6t3QgbMOqbiBi4buHIHBow7NuZyDEkeG7gyBjaHV54buDbiBnaWFvOiIKIAotIzogd3Qtc3RhdHVzLmM6MjIwCisjOiB3dC1zdGF0dXMuYzoyMjEKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgYWRkIDx04bqtcC10aW4+4oCmXCIgxJHhu4MgY+G6rXAgbmjhuq10IG5o4buvbmcgZ8OsIHPhur0gY2h1eeG7g24gZ2lhbykiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMgorIzogd3Qtc3RhdHVzLmM6MjIzCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChkw7luZyBcImdpdCBhZGQvcm0gPHThuq1wLXRpbj7igKZcIiDEkeG7gyBj4bqtcCBuaOG6rXQgbmjhu69uZyBnw6wgc+G6vSDEkcaw4bujYyBjaHV54buDbiBnaWFvKSIKIAotIzogd3Qtc3RhdHVzLmM6MjIzCisjOiB3dC1zdGF0dXMuYzoyMjQKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKICIgIChkw7luZyBcImdpdCBjaGVja291dCAtLSA8dOG6rXAtdGluPuKAplwiIMSR4buDIGxv4bqhaSBi4buPIGPDoWMgdGhheSDEkeG7lWkgdHJvbmcgdGjGsCBt4bulYyAiCiAibMOgbSB2aeG7h2MpIgogCi0jOiB3dC1zdGF0dXMuYzoyMjUKKyM6IHd0LXN0YXR1cy5jOjIyNgogbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKIG1zZ3N0ciAiIgogIiAgKGNodXnhu4NuIGdpYW8gaG/hurdjIGzDoCBsb+G6oWkgYuG7jyBjw6FjIG7hu5lpIGR1bmcgY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIGhheSDEkcOjIHPhu61hICIKICJjaOG7r2EgdHJvbmcgbcO0LcSRdW4tY29uKSIKIAotIzogd3Qtc3RhdHVzLmM6MjM3CisjOiB3dC1zdGF0dXMuYzoyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChkw7luZyBcImdpdCAlcyA8dOG6rXAtdGluPuKAplwiIMSR4buDIHRow6ptIHbDoG8gbmjhu69uZyBnw6wgY+G6p24gxJHGsOG7o2MgY2h1eeG7g24gZ2lhbykiCiAKLSM6IHd0LXN0YXR1cy5jOjI1MgorIzogd3Qtc3RhdHVzLmM6MjUzCiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAiYuG7iyB4w7NhIGLhu59pIGPhuqMgaGFpOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU0CisjOiB3dC1zdGF0dXMuYzoyNTUKIG1zZ2lkICJhZGRlZCBieSB1czoiCiBtc2dzdHIgIsSRxrDhu6NjIHRow6ptIHbDoG8gYuG7n2kgY2jDum5nIHRhOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU2CisjOiB3dC1zdGF0dXMuYzoyNTcKIG1zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgogbXNnc3RyICJi4buLIHjDs2EgxJFpIGLhu59pIGjhu406IgogCi0jOiB3dC1zdGF0dXMuYzoyNTgKKyM6IHd0LXN0YXR1cy5jOjI1OQogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICLEkcaw4bujYyB0aMOqbSB2w6BvIGLhu59pIGjhu406IgogCi0jOiB3dC1zdGF0dXMuYzoyNjAKKyM6IHd0LXN0YXR1cy5jOjI2MQogbXNnaWQgImRlbGV0ZWQgYnkgdXM6IgogbXNnc3RyICJi4buLIHjDs2EgYuG7n2kgY2jDum5nIHRhOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYyCisjOiB3dC1zdGF0dXMuYzoyNjMKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAixJHGsOG7o2MgdGjDqm0gdsOgbyBi4bufaSBj4bqjIGhhaToiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NAorIzogd3Qtc3RhdHVzLmM6MjY1CiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgImLhu4sgc+G7rWEgYuG7n2kgY+G6oyBoYWk6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYnVnOiB1bmhhbmRsZWQgdW5tZXJnZWQgc3RhdHVzICV4IgotbXNnc3RyICJs4buXaToga2jDtG5nIHRo4buDIHRp4bq/cCBuaOG6rW4gdHLhuqFuZyB0aMOhaSBjaMawYSBow7JhIHRy4buZbiAleCIKLQotIzogd3Qtc3RhdHVzLmM6Mjc0CisjOiB3dC1zdGF0dXMuYzoyNzUKIG1zZ2lkICJuZXcgZmlsZToiCiBtc2dzdHIgInThuq1wIHRpbiBt4bubaToiCiAKLSM6IHd0LXN0YXR1cy5jOjI3NgorIzogd3Qtc3RhdHVzLmM6Mjc3CiBtc2dpZCAiY29waWVkOiIKIG1zZ3N0ciAixJHDoyBjaMOpcDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI3OAorIzogd3Qtc3RhdHVzLmM6Mjc5CiBtc2dpZCAiZGVsZXRlZDoiCiBtc2dzdHIgIsSRw6MgeMOzYToiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MAorIzogd3Qtc3RhdHVzLmM6MjgxCiBtc2dpZCAibW9kaWZpZWQ6IgogbXNnc3RyICLEkcOjIHPhu61hOiIKIAotIzogd3Qtc3RhdHVzLmM6MjgyCisjOiB3dC1zdGF0dXMuYzoyODMKIG1zZ2lkICJyZW5hbWVkOiIKIG1zZ3N0ciAixJHDoyDEkeG7lWkgdMOqbjoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NAorIzogd3Qtc3RhdHVzLmM6Mjg1CiBtc2dpZCAidHlwZWNoYW5nZToiCiBtc2dzdHIgIsSR4buVaS1raeG7g3U6IgogCi0jOiB3dC1zdGF0dXMuYzoyODYKKyM6IHd0LXN0YXR1cy5jOjI4NwogbXNnaWQgInVua25vd246IgogbXNnc3RyICJraMO0bmcgaGnhu4N1OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg4CisjOiB3dC1zdGF0dXMuYzoyODkKIG1zZ2lkICJ1bm1lcmdlZDoiCiBtc2dzdHIgImNoxrBhIGjDsmEgdHLhu5luOiIKIAotIzogd3Qtc3RhdHVzLmM6MzcwCisjOiB3dC1zdGF0dXMuYzozNzEKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvIG3hu5tpLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MgorIzogd3Qtc3RhdHVzLmM6MzczCiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICJu4buZaSBkdW5nIGLhu4sgc+G7rWEgxJHhu5VpLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3NAorIzogd3Qtc3RhdHVzLmM6Mzc1CiBtc2dpZCAidW50cmFja2VkIGNvbnRlbnQsICIKIG1zZ3N0ciAibuG7mWkgZHVuZyBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWksICIKIAotIzogd3Qtc3RhdHVzLmM6MzkxCi0jLCBjLWZvcm1hdAotbXNnaWQgImJ1ZzogdW5oYW5kbGVkIGRpZmYgc3RhdHVzICVjIgotbXNnc3RyICJs4buXaToga2jDtG5nIHRo4buDIHRp4bq/cCBuaOG6rW4gdHLhuqFuZyB0aMOhaSBs4buHbmggZGlmZiAlYyIKLQotIzogd3Qtc3RhdHVzLmM6NzU1CisjOiB3dC1zdGF0dXMuYzo4MTgKIG1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKIG1zZ3N0ciAiTmjhu69uZyBtw7QtxJF1bi1jb24gxJHDoyBi4buLIHRoYXkgxJHhu5VpIG5oxrBuZyBjaMawYSDEkcaw4bujYyBj4bqtcCBuaOG6rXQ6IgogCi0jOiB3dC1zdGF0dXMuYzo3NTcKKyM6IHd0LXN0YXR1cy5jOjgyMAogbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIk5o4buvbmcgbcO0LcSRdW4tY29uIHRoYXkgxJHhu5VpIMSRw6MgxJHGsOG7o2MgY2h1eeG7g24gZ2lhbzoiCiAKLSM6IHd0LXN0YXR1cy5jOjgzOAorIzogd3Qtc3RhdHVzLmM6OTAxCiBtc2dpZCAiIgogIkRvIG5vdCB0b3VjaCB0aGUgbGluZSBhYm92ZS5cbiIKICJFdmVyeXRoaW5nIGJlbG93IHdpbGwgYmUgcmVtb3ZlZC4iCkBAIC0yMjg5LDEwMSArMzY0OCwxMDUgQEAKICJLaMO0bmcgxJHhu5luZyDEkeG6v24gxJHGsOG7nW5nIOG7nyB0csOqbi5cbiIKICJN4buNaSB0aOG7qSBwaMOtYSBkxrDhu5tpIHPhur0gxJHGsOG7o2MgeMOzYSBi4buPLiIKIAotIzogd3Qtc3RhdHVzLmM6OTQ5CisjOiB3dC1zdGF0dXMuYzoxMDEzCiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICJC4bqhbiBjw7Mgbmjhu69uZyDEkcaw4budbmcgZOG6q24gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4uIgogCi0jOiB3dC1zdGF0dXMuYzo5NTIKKyM6IHd0LXN0YXR1cy5jOjEwMTYKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIgIChz4butYSBjw6FjIHh1bmcgxJHhu5l0IHLhu5NpIGNo4bqheSBcImdpdCBjb21taXRcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjk1NgorIzogd3Qtc3RhdHVzLmM6MTAxOAorbXNnaWQgIiAgKHVzZSBcImdpdCBtZXJnZSAtLWFib3J0XCIgdG8gYWJvcnQgdGhlIG1lcmdlKSIKK21zZ3N0ciAiICAoZMO5bmcgXCJnaXQgbWVyZ2UgLS1hYm9ydFwiIMSR4buDIGLDo2kgYuG7jyB2aeG7h2MgaMOyYSB0cuG7mW4pIgorCisjOiB3dC1zdGF0dXMuYzoxMDIzCiBtc2dpZCAiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIKIG1zZ3N0ciAiVOG6pXQgY+G6oyBjw6FjIHh1bmcgxJHhu5l0IMSRw6MgxJHGsOG7o2MgZ2nhuqNpIHF1eeG6v3QgbmjGsG5nIGLhuqFuIHbhuqtuIMSRYW5nIGjDsmEgdHLhu5luLiIKIAotIzogd3Qtc3RhdHVzLmM6OTU5CisjOiB3dC1zdGF0dXMuYzoxMDI2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgY29tbWl0XCIgxJHhu4MgaG/DoG4gdOG6pXQgdmnhu4djIGjDsmEgdHLhu5luKSIKIAotIzogd3Qtc3RhdHVzLmM6OTY5CisjOiB3dC1zdGF0dXMuYzoxMDM2CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICJC4bqhbiDEkWFuZyDhu58gZ2nhu69hIGPhu6dhIG3hu5l0IHBoacOqbiDigJxhbeKAnS4iCiAKLSM6IHd0LXN0YXR1cy5jOjk3MgorIzogd3Qtc3RhdHVzLmM6MTAzOQogbXNnaWQgIlRoZSBjdXJyZW50IHBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAiTWnhur9uZyB2w6EgaGnhu4duIHThuqFpIGLhu4sgdHLhu5FuZyBy4buXbmcuIgogCi0jOiB3dC1zdGF0dXMuYzo5NzYKKyM6IHd0LXN0YXR1cy5jOjEwNDMKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChz4butYSBjw6FjIHh1bmcgxJHhu5l0IHbDoCBzYXUgxJHDsyBjaOG6oXkgbOG7h25oIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjk3OAorIzogd3Qtc3RhdHVzLmM6MTA0NQogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBhbSAtLXNraXBcIiDEkeG7gyBi4buPIHF1YSBtaeG6v25nIHbDoSBuw6B5KSIKIAotIzogd3Qtc3RhdHVzLmM6OTgwCisjOiB3dC1zdGF0dXMuYzoxMDQ3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBhbSAtLWFib3J0XCIgxJHhu4MgcGjhu6VjIGjhu5NpIGzhuqFpIG5ow6FuaCBuZ3V5w6puIHRo4buneSkiCiAKLSM6IHd0LXN0YXR1cy5jOjExMDUKKyM6IHd0LXN0YXR1cy5jOjExNzIKIG1zZ2lkICJObyBjb21tYW5kcyBkb25lLiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buxYyBoaeG7h24gbOG7h25oIG7DoG8uIgogCi0jOiB3dC1zdGF0dXMuYzoxMTA4CisjOiB3dC1zdGF0dXMuYzoxMTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxhc3QgY29tbWFuZCBkb25lICglZCBjb21tYW5kIGRvbmUpOiIKIG1zZ2lkX3BsdXJhbCAiTGFzdCBjb21tYW5kcyBkb25lICglZCBjb21tYW5kcyBkb25lKToiCiBtc2dzdHJbMF0gIkzhu4duaCB0aOG7sWMgaGnhu4duIGN14buRaSAoJWQgbOG7h25oIMSRxrDhu6NjIHRo4buxYyB0aGkpOiIKIAotIzogd3Qtc3RhdHVzLmM6MTExOQorIzogd3Qtc3RhdHVzLmM6MTE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIChzZWUgbW9yZSBpbiBmaWxlICVzKSIKIG1zZ3N0ciAiICAoeGVtIHRow6ptIHRyb25nICVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTEyNAorIzogd3Qtc3RhdHVzLmM6MTE5MQogbXNnaWQgIk5vIGNvbW1hbmRzIHJlbWFpbmluZy4iCiBtc2dzdHIgIktow7RuZyBjw7MgbOG7h25oIG7DoG8gY8OybiBs4bqhaS4iCiAKLSM6IHd0LXN0YXR1cy5jOjExMjcKKyM6IHd0LXN0YXR1cy5jOjExOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTmV4dCBjb21tYW5kIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZCk6IgogbXNnaWRfcGx1cmFsICJOZXh0IGNvbW1hbmRzIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZHMpOiIKIG1zZ3N0clswXSAiTOG7h25oIGPhuqduIGzDoG0ga+G6vyB0aeG6v3AgKCVkIGzhu4duaCBjw7JuIGzhuqFpKToiCiAKLSM6IHd0LXN0YXR1cy5jOjExMzUKKyM6IHd0LXN0YXR1cy5jOjEyMDIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgdG8gdmlldyBhbmQgZWRpdCkiCiBtc2dzdHIgIiAgKGTDuW5nIGzhu4duaCBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiDEkeG7gyB4ZW0gdsOgIHPhu61hKSIKIAotIzogd3Qtc3RhdHVzLmM6MTE0OAorIzogd3Qtc3RhdHVzLmM6MTIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiQuG6oW4gaGnhu4duIG5heSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyDigJxyZWJhc2XigJ0gbmjDoW5oIOKAnCVz4oCdIHRyw6puIOKAnCVz4oCdLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE1MworIzogd3Qtc3RhdHVzLmM6MTIyMAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiQuG6oW4gaGnhu4duIG5heSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyDigJxyZWJhc2XigJ0gKOKAnGPhuqNpIHThu5XigJ0pLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE2NworIzogd3Qtc3RhdHVzLmM6MTIzNAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoc+G7rWEgY8OhYyB4dW5nIMSR4buZdCB2w6Agc2F1IMSRw7MgY2jhuqF5IGzhu4duaCDigJxj4bqjaSB04buV4oCdIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTY5CisjOiB3dC1zdGF0dXMuYzoxMjM2CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgIChkw7luZyBs4buHbmgg4oCcY+G6o2kgdOG7leKAnSBcImdpdCByZWJhc2UgLS1za2lwXCIgxJHhu4MgYuG7jyBxdWEgbOG6p24gdsOhIG7DoHkpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTcxCisjOiB3dC1zdGF0dXMuYzoxMjM4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAiICAoZMO5bmcgbOG7h25oIOKAnGPhuqNpIHThu5XigJ0gXCJnaXQgcmViYXNlIC0tYWJvcnRcIiDEkeG7gyBjaGVjay1vdXQgbmjDoW5oIG5ndXnDqm4gdGjhu6d5KSIKIAotIzogd3Qtc3RhdHVzLmM6MTE3NworIzogd3Qtc3RhdHVzLmM6MTI0NAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKGtoaSB04bqldCBj4bqjIGPDoWMgeHVuZyDEkeG7mXQgxJHDoyBz4butYSB4b25nOiBjaOG6oXkgbOG7h25oIOKAnGPhuqNpIHThu5XigJ0gXCJnaXQgcmViYXNlIC0tIgogImNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTgxCisjOiB3dC1zdGF0dXMuYzoxMjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCkBAIC0yMzkxLDEzMCArMzc1NCwxMzAgQEAKICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIGNoaWEgdMOhY2ggbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyB0cm9uZyBraGkgIgogIsSRYW5nIOKAnHJlYmFzZeKAnSBuaMOhbmgg4oCcJXPigJ0gdHLDqm4g4oCcJXPigJ0uIgogCi0jOiB3dC1zdGF0dXMuYzoxMTg2CisjOiB3dC1zdGF0dXMuYzoxMjUzCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIiIKICJC4bqhbiBoaeG7h24gdOG6oWkgxJFhbmcgY+G6r3QgxJHDtGkgbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyB0cm9uZyBraGkgxJFhbmcgdGjhu7FjIGhp4buHbiB2aeG7h2MgIgogInJlYmFzZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjExODkKKyM6IHd0LXN0YXR1cy5jOjEyNTYKIG1zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKE3hu5l0IGtoaSB0aMawIG3hu6VjIGzDoG0gdmnhu4djIGPhu6dhIGLhuqFuIMSRw6MgZ+G7jW4gZ8OgbmcsIGNo4bqheSBs4buHbmgg4oCcY+G6o2kgdOG7leKAnSBcImdpdCAiCiAicmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjExOTMKKyM6IHd0LXN0YXR1cy5jOjEyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiIgogIkLhuqFuIGhp4buHbiBuYXkgxJFhbmcgdGjhu7FjIGhp4buHbiB2aeG7h2Mgc+G7rWEgY2jhu69hIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gdHJvbmcga2hpIMSRYW5nICIKICJyZWJhc2UgbmjDoW5oIOKAnCVz4oCdIHRyw6puIOKAnCVz4oCdLiIKIAotIzogd3Qtc3RhdHVzLmM6MTE5OAorIzogd3Qtc3RhdHVzLmM6MTI2NQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiQuG6oW4gaGnhu4duIMSRYW5nIHPhu61hIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gdHJvbmcga2hpIGLhuqFuIHRo4buxYyBoaeG7h24gcmViYXNlLiIKIAotIzogd3Qtc3RhdHVzLmM6MTIwMQorIzogd3Qtc3RhdHVzLmM6MTI2OAogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgxJHhu4Mg4oCcdHUgYuG7leKAnSBs4bqnbiBjaHV54buDbiBnaWFvIGhp4buHbiB04bqhaSkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMDMKKyM6IHd0LXN0YXR1cy5jOjEyNzAKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiIKICIgIChjaOG6oXkgbOG7h25oIOKAnGPhuqNpIHThu5XigJ0gXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBt4buZdCBraGkgYuG6oW4gY+G6o20gdGjhuqV5IGjDoGkgIgogImzDsm5nIHbhu4Egbmjhu69uZyB0aGF5IMSR4buVaSBj4bunYSBtw6xuaCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyMTMKKyM6IHd0LXN0YXR1cy5jOjEyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiQuG6oW4gaGnhu4duIG5heSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyBjaGVycnktcGljayBs4bqnbiBjaHV54buDbiBnaWFvICVzLiIKIAotIzogd3Qtc3RhdHVzLmM6MTIxOAorIzogd3Qtc3RhdHVzLmM6MTI4NQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoc+G7rWEgY8OhYyB4dW5nIMSR4buZdCB2w6Agc2F1IMSRw7MgY2jhuqF5IGzhu4duaCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjIxCisjOiB3dC1zdGF0dXMuYzoxMjg4CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChraGkgdOG6pXQgY+G6oyBjw6FjIHh1bmcgxJHhu5l0IMSRw6Mgc+G7rWEgeG9uZzogY2jhuqF5IGzhu4duaCBcImdpdCBjaGVycnktcGljayAtLSIKICJjb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTIyMworIzogd3Qtc3RhdHVzLmM6MTI5MAogbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSBjaGVycnktcGljayBvcGVyYXRpb24pIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgxJHhu4MgaOG7p3kgYuG7jyB0aGFvIHTDoWMgY2hlcnJ5LXBpY2spIgogCi0jOiB3dC1zdGF0dXMuYzoxMjMyCisjOiB3dC1zdGF0dXMuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJldmVydGluZyBjb21taXQgJXMuIgogbXNnc3RyICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdGhhbyB0w6FjIGhvw6BuIG5ndXnDqm4gbOG6p24gY2h1eeG7g24gZ2lhbyDigJwlc+KAnS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyMzcKKyM6IHd0LXN0YXR1cy5jOjEzMDQKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHPhu61hIGPDoWMgeHVuZyDEkeG7mXQgdsOgIHNhdSDEkcOzIGNo4bqheSBs4buHbmggXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNDAKKyM6IHd0LXN0YXR1cy5jOjEzMDcKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChraGkgdOG6pXQgY+G6oyBjw6FjIHh1bmcgxJHhu5l0IMSRw6Mgc+G7rWEgeG9uZzogY2jhuqF5IGzhu4duaCBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI0MgorIzogd3Qtc3RhdHVzLmM6MTMwOQogbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgxJHhu4MgaOG7p3kgYuG7jyB0aGFvIHTDoWMgaG/DoG4gbmd1ecOqbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTMKKyM6IHd0LXN0YXR1cy5jOjEzMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLCBzdGFydGVkIGZyb20gYnJhbmNoICclcycuIgogbXNnc3RyICIiCiAiQuG6oW4gaGnhu4duIG5heSDEkWFuZyB0aOG7sWMgaGnhu4duIHRoYW8gdMOhYyBkaSBjaHV54buDbiBu4butYSBixrDhu5tjIChiaXNlY3QpLCBi4bqvdCDEkeG6p3UgdOG7qyAiCiAibmjDoW5oIOKAnCVz4oCdLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1NworIzogd3Qtc3RhdHVzLmM6MTMyNAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgIkLhuqFuIGhp4buHbiB04bqhaSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyBiaXNlY3QgKGRpIGNodXnhu4NuIG7hu61hIGLGsOG7m2MpLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MAorIzogd3Qtc3RhdHVzLmM6MTMyNwogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgYmlzZWN0IHJlc2V0XCIgxJHhu4MgcXVheSB0cuG7nyBs4bqhaSBuaMOhbmggbmd1ecOqbiB0aOG7p3kpIgogCi0jOiB3dC1zdGF0dXMuYzoxNDYwCisjOiB3dC1zdGF0dXMuYzoxNTI0CiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAiVHLDqm4gbmjDoW5oICIKIAotIzogd3Qtc3RhdHVzLmM6MTQ2NgorIzogd3Qtc3RhdHVzLmM6MTUzMAogbXNnaWQgImludGVyYWN0aXZlIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgInJlYmFzZSDhu58gY2jhur8gxJHhu5kgdMawxqFuZyB0w6FjIMSRYW5nIMSRxrDhu6NjIHRo4buxYyBoaeG7h247IGzDqm4gdHLDqm4gIgogCi0jOiB3dC1zdGF0dXMuYzoxNDY4CisjOiB3dC1zdGF0dXMuYzoxNTMyCiBtc2dpZCAicmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAicmViYXNlIMSRYW5nIMSRxrDhu6NjIHRo4buxYyBoaeG7h246IGzDqm4gdHLDqm4gIgogCi0jOiB3dC1zdGF0dXMuYzoxNDczCisjOiB3dC1zdGF0dXMuYzoxNTM3CiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBhdCAiCiBtc2dzdHIgIkhFQUQgxJHGsOG7o2MgdMOhY2ggcuG7nWkgdOG6oWkgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDc1CisjOiB3dC1zdGF0dXMuYzoxNTM5CiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKIG1zZ3N0ciAiSEVBRCDEkcaw4bujYyB0w6FjaCBy4budaSB04burICIKIAotIzogd3Qtc3RhdHVzLmM6MTQ3OAorIzogd3Qtc3RhdHVzLmM6MTU0MgogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIkhp4buHbiB04bqhaSBjaOG6s25nIOG7nyBuaMOhbmggbsOgbyBj4bqjLiIKIAotIzogd3Qtc3RhdHVzLmM6MTQ5NgorIzogd3Qtc3RhdHVzLmM6MTU2MAogbXNnaWQgIkluaXRpYWwgY29tbWl0IgogbXNnc3RyICJM4bqnbiBjaHV54buDbiBnaWFvIGto4bufaSB04bqhbyIKIAotIzogd3Qtc3RhdHVzLmM6MTUxMAorIzogd3Qtc3RhdHVzLmM6MTU3NAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiTmjhu69uZyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIgogCi0jOiB3dC1zdGF0dXMuYzoxNTEyCisjOiB3dC1zdGF0dXMuYzoxNTc2CiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiTmjhu69uZyB04bqtcCB0aW4gYuG7iyBs4budIMSRaSIKIAotIzogd3Qtc3RhdHVzLmM6MTUxNgorIzogd3Qtc3RhdHVzLmM6MTU4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgpAQCAtMjUyNiwzMiArMzg4OSwzMiBAQAogImPDsyBs4bq9IGzDoG0gbsOzIG5oYW5oIGjGoW4sIG5oxrBuZyBi4bqhbiBwaOG6o2kgY+G6qW4gdGjhuq1uIMSR4burbmcgcXXDqm4gbcOsbmggcGjhuqNpXG4iCiAidOG7sSB0aMOqbSBjw6FjIHThuq1wIHRpbiBt4bubaSAoeGVtIOKAnGdpdCBoZWxwIHN0YXR1c+KAnS4uIgogCi0jOiB3dC1zdGF0dXMuYzoxNTIyCisjOiB3dC1zdGF0dXMuYzoxNTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkJXMiCiBtc2dzdHIgIk5o4buvbmcgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSBraMO0bmcgxJHGsOG7o2MgbGnhu4d0IGvDqiByYSAlcyIKIAotIzogd3Qtc3RhdHVzLmM6MTUyNAorIzogd3Qtc3RhdHVzLmM6MTU4OAogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIiAoZMO5bmcgdMO5eSBjaOG7jW4gLXUgxJHhu4MgaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzAKKyM6IHd0LXN0YXR1cy5jOjE1OTQKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICJLaMO0bmcgY8OzIHRoYXkgxJHhu5VpIG7DoG8iCiAKLSM6IHd0LXN0YXR1cy5jOjE1MzUKKyM6IHd0LXN0YXR1cy5jOjE1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCiBtc2dzdHIgIiIKICJraMO0bmcgY8OzIHRoYXkgxJHhu5VpIG7DoG8gxJHGsOG7o2MgdGjDqm0gdsOgbyDEkeG7gyBjaHV54buDbiBnaWFvIChkw7luZyBcImdpdCBhZGRcIiB2w6AvaG/hurdjICIKICJcImdpdCBjb21taXQgLWFcIilcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTUzOAorIzogd3Qtc3RhdHVzLmM6MTYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdFxuIgogbXNnc3RyICJraMO0bmcgY8OzIHRoYXkgxJHhu5VpIG7DoG8gxJHGsOG7o2MgdGjDqm0gdsOgbyDEkeG7gyBjaHV54buDbiBnaWFvXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDEKKyM6IHd0LXN0YXR1cy5jOjE2MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKQEAgLTI1NjAsNTcgKzM5MjMsNzQgQEAKICJraMO0bmcgY8OzIGfDrCDEkcaw4bujYyB0aMOqbSB2w6BvIGzhuqduIGNodXnhu4NuIGdpYW8gbmjGsG5nIGPDsyBuaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyAiCiAidGhlbyBkw7VpIGhp4buHbiBkaeG7h24gKGTDuW5nIFwiZ2l0IGFkZFwiIMSR4buDIMSRxrBhIHbDoG8gdGhlbyBkw7VpKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQ0CisjOiB3dC1zdGF0dXMuYzoxNjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgogbXNnc3RyICIiCiAia2jDtG5nIGPDsyBnw6wgxJHGsOG7o2MgdGjDqm0gdsOgbyBs4bqnbiBjaHV54buDbiBnaWFvIG5oxrBuZyBjw7Mgbmjhu69uZyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgIgogInRoZW8gZMO1aSBoaeG7h24gZGnhu4duXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDcKKyM6IHd0LXN0YXR1cy5jOjE2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCiBtc2dzdHIgIiIKICJraMO0bmcgY8OzIGfDrCDEkeG7gyBjaHV54buDbiBnaWFvICh04bqhby9zYW8tY2jDqXAgY8OhYyB04bqtcCB0aW4gdsOgIGTDuW5nIFwiZ2l0IGFkZFwiIMSR4buDICIKICLEkcawYSB2w6BvIHRoZW8gZMO1aSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU1MCB3dC1zdGF0dXMuYzoxNTU1CisjOiB3dC1zdGF0dXMuYzoxNjE0IHd0LXN0YXR1cy5jOjE2MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXRcbiIKIG1zZ3N0ciAia2jDtG5nIGPDsyBnw6wgxJHhu4MgY2h1eeG7g24gZ2lhb1xuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTUzCisjOiB3dC1zdGF0dXMuYzoxNjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpXG4iCiBtc2dzdHIgIiIKICJraMO0bmcgY8OzIGfDrCDEkeG7gyBjaHV54buDbiBnaWFvIChkw7luZyAtdSB4ZW0gY8OhYyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNTU3CisjOiB3dC1zdGF0dXMuYzoxNjIxCiAjLCBjLWZvcm1hdAotbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIGRpcmVjdG9yeSBjbGVhblxuIgorbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKIG1zZ3N0ciAia2jDtG5nIGPDsyBnw6wgxJHhu4MgY2h1eeG7g24gZ2lhbywgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBz4bqhY2ggc+G6vVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjY0CisjOiB3dC1zdGF0dXMuYzoxNzI4CiBtc2dpZCAiSW5pdGlhbCBjb21taXQgb24gIgogbXNnc3RyICJM4bqnbiBjaHV54buDbiBnaWFvIGto4bufaSB04bqhbyB0csOqbiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjgKKyM6IHd0LXN0YXR1cy5jOjE3MzIKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEIChraMO0bmcgbmjDoW5oKSIKIAotIzogd3Qtc3RhdHVzLmM6MTY5NworIzogd3Qtc3RhdHVzLmM6MTc2MQogbXNnaWQgImdvbmUiCiBtc2dzdHIgIsSRw6MgcmEgxJFpIgogCi0jOiB3dC1zdGF0dXMuYzoxNjk5IHd0LXN0YXR1cy5jOjE3MDcKKyM6IHd0LXN0YXR1cy5jOjE3NjMgd3Qtc3RhdHVzLmM6MTc3MQogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgIsSR4bqxbmcgc2F1ICIKIAotIzogd3Qtc3RhdHVzLmM6MTcwMiB3dC1zdGF0dXMuYzoxNzA1CisjOiB3dC1zdGF0dXMuYzoxNzY2IHd0LXN0YXR1cy5jOjE3NjkKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgInBow61hIHRyxrDhu5tjICIKIAotIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU3IGJ1aWx0aW4vY2xvbmUuYzo0MTUKKyMuIFRSQU5TTEFUT1JTOiB0aGUgYWN0aW9uIGlzIGUuZy4gInB1bGwgd2l0aCByZWJhc2UiCisjOiB3dC1zdGF0dXMuYzoyMjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCAlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgImtow7RuZyB0aOG7gyAlczogQuG6oW4gY8OzIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgxJHGsGEgbMOqbiBi4buHIHBow7NuZy4iCisKKyM6IHd0LXN0YXR1cy5jOjIyNzYKK21zZ2lkICJhZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKyJ0aMOqbSB2w6BvIMSRw7MsIGLhuqNuZyBt4bulYyBs4bulYyBj4bunYSBi4bqhbiBjw7MgY2jhu6lhIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgY2h1eeG7g24gZ2lhby4iCisKKyM6IHd0LXN0YXR1cy5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90ICVzOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIiCisia2jDtG5nIHRo4buDICVzOiBN4bulYyBs4bulYyBj4bunYSBi4bqhbiBjw7MgY2jhu6lhIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgY2h1eeG7g24gZ2lhby4iCisKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1NyBidWlsdGluL2Nsb25lLmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGLhu48gbGnDqm4ga+G6v3QgKHVubGluaykg4oCcJXPigJ0iCkBAIC0yNjE5LDI2NSArMzk5OSwyNjQgQEAKIG1zZ2lkICJnaXQgYWRkIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGFkZCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbLS1dICA8cGF0aHNwZWM+4oCmIgogCi0jOiBidWlsdGluL2FkZC5jOjY1CisjOiBidWlsdGluL2FkZC5jOjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgInRy4bqhbmcgdGjDoWkgbOG7h25oIGRpZmYga2jDtG5nIG5oxrAgbW9uZyDEkeG7o2kgJWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NzAgYnVpbHRpbi9jb21taXQuYzoyODAKKyM6IGJ1aWx0aW4vYWRkLmM6ODUgYnVpbHRpbi9jb21taXQuYzoyOTEKIG1zZ2lkICJ1cGRhdGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgIkPhuq1wIG5o4bqtdCB04bqtcCB0aW4gZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6ODAKKyM6IGJ1aWx0aW4vYWRkLmM6OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAiZ+G7oSBi4buPIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTM0CisjOiBidWlsdGluL2FkZC5jOjE0OQogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgogbXNnc3RyICIiCiAixJDGsGEgcmEga2jhu49pIGLhu4cgcGjDs25nIGPDoWMgdGhheSDEkeG7lWkgc2F1IGtoaSBsw6BtIHTGsMahaSBt4bubaSBs4bqhaSBi4bqjbmcgbeG7pWMgbOG7pWM6IgogCi0jOiBidWlsdGluL2FkZC5jOjE5NCBidWlsdGluL3Jldi1wYXJzZS5jOjgxMQorIzogYnVpbHRpbi9hZGQuYzoyMDkgYnVpbHRpbi9yZXYtcGFyc2UuYzo4NDAKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2FkZC5jOjIwNQorIzogYnVpbHRpbi9hZGQuYzoyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBt4bufIOKAnCVz4oCdIMSR4buDIGdoaS4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjA5CisjOiBidWlsdGluL2FkZC5jOjIyNAogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSByYSBtaeG6v25nIHbDoSIKIAotIzogYnVpbHRpbi9hZGQuYzoyMTIKKyM6IGJ1aWx0aW4vYWRkLmM6MjI3CiBtc2dpZCAiZWRpdGluZyBwYXRjaCBmYWlsZWQiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBz4butYSBtaeG6v25nIHbDoSIKIAotIzogYnVpbHRpbi9hZGQuYzoyMTUKKyM6IGJ1aWx0aW4vYWRkLmM6MjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0aMO0bmcgdGluIHRo4buRbmcga8OqIHbhu4Eg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjE3CisjOiBidWlsdGluL2FkZC5jOjIzMgogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAiTWnhur9uZyB2w6EgdHLhu5FuZyBy4buXbmcuIE7Dqm4gYuG7jyBxdWEuIgogCi0jOiBidWlsdGluL2FkZC5jOjIyMgorIzogYnVpbHRpbi9hZGQuYzoyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyDDoXAgZOG7pW5nIG1p4bq/bmcgdsOhIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2FkZC5jOjIzMgorIzogYnVpbHRpbi9hZGQuYzoyNDcKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCiBtc2dzdHIgIiIKICJDw6FjIMSRxrDhu51uZyBk4bqrbiB0aGVvIHNhdSDEkcOieSBz4bq9IGLhu4sgbOG7nSDEkWkgYuG7n2kgbeG7mXQgdHJvbmcgY8OhYyB04bqtcCB0aW4gLmdpdGlnbm9yZSAiCiAiY+G7p2EgYuG6oW46XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ5IGJ1aWx0aW4vY2xlYW4uYzo4NzAgYnVpbHRpbi9mZXRjaC5jOjExMiBidWlsdGluL212LmM6MTExCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU1IGJ1aWx0aW4vcHVsbC5jOjE5NyBidWlsdGluL3B1c2guYzo1MTEKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMzMiBidWlsdGluL3JtLmM6MjY4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCisjOiBidWlsdGluL2FkZC5jOjI2NiBidWlsdGluL2NsZWFuLmM6ODcwIGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9tdi5jOjExMQorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NSBidWlsdGluL3B1bGwuYzoxOTggYnVpbHRpbi9wdXNoLmM6NTIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjYgYnVpbHRpbi9ybS5jOjI2OCBidWlsdGluL3NlbmQtcGFjay5jOjE2MgogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgImNo4bqheSB0aOG7rSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTAgYnVpbHRpbi9hcHBseS5jOjQ1NjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMzMzIGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg1IGJ1aWx0aW4vZnNjay5jOjU1NwotIzogYnVpbHRpbi9sb2cuYzoxODI2IGJ1aWx0aW4vbXYuYzoxMTAgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKLW1zZ2lkICJiZSB2ZXJib3NlIgotbXNnc3RyICJjaGkgdGnhur90IgotCi0jOiBidWlsdGluL2FkZC5jOjI1MgorIzogYnVpbHRpbi9hZGQuYzoyNjkKIG1zZ2lkICJpbnRlcmFjdGl2ZSBwaWNraW5nIgogbXNnc3RyICJz4butYSBi4bqxbmcgY8OhY2ggdMawxqFuZyB0w6FjIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MyBidWlsdGluL2NoZWNrb3V0LmM6MTE1NCBidWlsdGluL3Jlc2V0LmM6Mjg2CisjOiBidWlsdGluL2FkZC5jOjI3MCBidWlsdGluL2NoZWNrb3V0LmM6MTE1NiBidWlsdGluL3Jlc2V0LmM6Mjg2CiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgImNo4buNbiDigJxodW5rc+KAnSB0aGVvIGtp4buDdSB0xrDGoW5nIHTDoWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU0CisjOiBidWlsdGluL2FkZC5jOjI3MQogbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKIG1zZ3N0ciAic+G7rWEgZGlmZiBoaeG7h24gbmF5IHbDoCDDoXAgZOG7pW5nIG7DsyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTUKKyM6IGJ1aWx0aW4vYWRkLmM6MjcyCiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJjaG8gcGjDqXAgdGjDqm0gY8OhYyB04bqtcCB0aW4gYuG7iyBi4buPIHF1YSBraMOhYyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6MjczCiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgImPhuq1wIG5o4bqtdCBjw6FjIHThuq1wIHRpbiDEkcaw4bujYyB0aGVvIGTDtWkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU3CisjOiBidWlsdGluL2FkZC5jOjI3NAogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgdGhlIHBhdGggd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAiY2jhu4kgZ2hpIGzhuqFpIHPhu7Egdmnhu4djIG3DoCDEkcaw4budbmcgZOG6q24gc+G6vSDEkcaw4bujYyB0aMOqbSB2w6BvIHNhdSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTgKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICIiCiAidGjDqm0gY8OhYyB0aGF5IMSR4buVaSB04burIHThuqV0IGPhuqMgY8OhYyB04bqtcCB0aW4gY8OzIGPFqW5nIG5oxrAga2jDtG5nIMSRxrDhu6NjIHRoZW8gZMO1aSBk4bqldSAiCiAiduG6v3QiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjYxCisjOiBidWlsdGluL2FkZC5jOjI3OAogbXNnaWQgImlnbm9yZSBwYXRocyByZW1vdmVkIGluIHRoZSB3b3JraW5nIHRyZWUgKHNhbWUgYXMgLS1uby1hbGwpIgogbXNnc3RyICIiCiAibOG7nSDEkWkgY8OhYyDEkcaw4budbmcgZOG6q24gYuG7iyBn4buhIGLhu48gdHJvbmcgY8OieSB0aMawIG3hu6VjIGzDoG0gdmnhu4djIChnaeG7kW5nIHbhu5tpIC0tbm8tYWxsKSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjMKKyM6IGJ1aWx0aW4vYWRkLmM6MjgwCiBtc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJraMO0bmcgdGjDqm0sIGNo4buJIGzDoG0gdMawxqFpIG3hu5tpIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjQKKyM6IGJ1aWx0aW4vYWRkLmM6MjgxCiBtc2dpZCAianVzdCBza2lwIGZpbGVzIHdoaWNoIGNhbm5vdCBiZSBhZGRlZCBiZWNhdXNlIG9mIGVycm9ycyIKIG1zZ3N0ciAiY2hpZSBi4buPIHF1YSBuaOG7r25nIHThuq1wIHRpbiBtw6AgbsOzIGtow7RuZyB0aOG7gyDEkcaw4bujYyB0aMOqbSB2w6BvIGLhu59pIHbDrCBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjUKKyM6IGJ1aWx0aW4vYWRkLmM6MjgyCiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICIiCiAia2nhu4NtIHRyYSB4ZW0gLSB0aOG6rW0gY2jDrSB0aGnhur91IC0gdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEgdHJvbmcgcXXDoSB0csOsbmggY2jhuqF5IHRo4butIgogCi0jOiBidWlsdGluL2FkZC5jOjI4NworIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDcKK21zZ2lkICIoKy8tKXgiCittc2dzdHIgIigrLy0peCIKKworIzogYnVpbHRpbi9hZGQuYzoyODMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDgKK21zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKK21zZ3N0ciAiZ2hpIMSRw6ggbMOqbiBiw610IHRoaSBow6BuaCBj4bunYSBjw6FjIHThuq1wIHRpbiDEkcaw4bujYyBsaeG7h3Qga8OqIgorCisjOiBidWlsdGluL2FkZC5jOjMwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICJT4butIGThu6VuZyB0w7l5IGNo4buNbiAtZiBu4bq/dSBi4bqhbiB0aOG7sWMgc+G7sSBtdeG7kW4gdGjDqm0gY2jDum5nIHbDoG8uXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk0CisjOiBidWlsdGluL2FkZC5jOjMxMgogbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgInRow6ptIHThuq1wIHRpbiBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9hZGQuYzozMzAKKyM6IGJ1aWx0aW4vYWRkLmM6MzQ4CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi1BIHbDoCAtdSB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBidWlsdGluL2FkZC5jOjMzNworIzogYnVpbHRpbi9hZGQuYzozNTUKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgogbXNnc3RyICJUw7l5IGNo4buNbiAtLWlnbm9yZS1taXNzaW5nIGNo4buJIGPDsyB0aOG7gyDEkcaw4bujYyBkw7luZyBjw7luZyB24bubaSAtLWRyeS1ydW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUyCisjOiBidWlsdGluL2FkZC5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCittc2dzdHIgIi0tY2htb2QgdGhhbSBz4buRIOKAnCVz4oCdIHBo4bqjaSBob+G6t2MgbMOgIC14IGhheSAreCIKKworIzogYnVpbHRpbi9hZGQuYzozNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIktow7RuZyBjw7MgZ8OsIMSRxrDhu6NjIGNo4buJIHJhLCBraMO0bmcgY8OzIGfDrCDEkcaw4bujYyB0aMOqbSB2w6BvLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjM1MworIzogYnVpbHRpbi9hZGQuYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWF5YmUgeW91IHdhbnRlZCB0byBzYXkgJ2dpdCBhZGQgLic/XG4iCiBtc2dzdHIgIkPDsyBs4bq9IMO9IGLhuqFuIGzDoCDigJxnaXQgYWRkIC7igJ0gcGjhuqNpIGtow7RuZz9cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTggYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIgYnVpbHRpbi9jbGVhbi5jOjkxNAotIzogYnVpbHRpbi9jb21taXQuYzozMzkgYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyOTgKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDAKKyM6IGJ1aWx0aW4vYWRkLmM6MzgwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzIgYnVpbHRpbi9jbGVhbi5jOjkxNCBidWlsdGluL2NvbW1pdC5jOjM1MAorIzogYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyOTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDQKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCiBtc2dzdHIgInThuq1wIHRpbiBnaGkgYuG6o25nIG3hu6VjIGzhu6VjIGLhu4sgaOG7j25nIgogCi0jOiBidWlsdGluL2FkZC5jOjQzOSBidWlsdGluL2FwcGx5LmM6NDY2MSBidWlsdGluL212LmM6MjgzIGJ1aWx0aW4vcm0uYzo0MzAKLW1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCi1tc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpIgotCi0jOiBidWlsdGluL2FtLmM6MjU2IGJ1aWx0aW4vY29tbWl0LmM6NzQ5IGJ1aWx0aW4vbWVyZ2UuYzoxMDg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCi1tc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMg4oCcJXPigJ0uIgotCi0jOiBidWlsdGluL2FtLmM6NDMwCisjOiBidWlsdGluL2FtLmM6NDE0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGF1dGhvciBzY3JpcHQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjw7ogcGjDoXAgdsSDbiBs4buHbmggdMOhYyBnaeG6oyIKIAotIzogYnVpbHRpbi9hbS5jOjUwNworIzogYnVpbHRpbi9hbS5jOjQ5MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICLigJwlc+KAnSBi4buLIHjDs2EgYuG7n2kgbcOzYyBhcHBseXBhdGNoLW1zZyIKIAotIzogYnVpbHRpbi9hbS5jOjU0OCBidWlsdGluL25vdGVzLmM6MzAwCisjOiBidWlsdGluL2FtLmM6NTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKIG1zZ3N0ciAiRMOybmcgxJHhuqd1IHbDoG8gZOG7iyBow6xuaDog4oCcJXPigJ0uIgogCi0jOiBidWlsdGluL2FtLmM6NTg1IGJ1aWx0aW4vbm90ZXMuYzozMTUKKyM6IGJ1aWx0aW4vYW0uYzo1NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBzYW8gY2jDqXAgZ2hpIGNow7ogKG5vdGUpIHThu6sg4oCcJXPigJ0gdOG7m2kg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYW0uYzo2MTEKKyM6IGJ1aWx0aW4vYW0uYzo1OTUKIG1zZ2lkICJmc2VlayBmYWlsZWQiCiBtc2dzdHIgImZzZWVrIGfhurdwIGzhu5dpIgogCi0jOiBidWlsdGluL2FtLmM6Nzg4CisjOiBidWlsdGluL2FtLmM6Nzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXRjaCAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggY8O6IHBow6FwIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2FtLmM6ODUzCisjOiBidWlsdGluL2FtLmM6ODQwCiBtc2dpZCAiT25seSBvbmUgU3RHSVQgcGF0Y2ggc2VyaWVzIGNhbiBiZSBhcHBsaWVkIGF0IG9uY2UiCiBtc2dzdHIgIkNo4buJIGPDsyBt4buZdCBzw6otcmkgbWnhur9uZyB2w6EgU3RHSVQgxJHGsOG7o2Mgw6FwIGThu6VuZyBt4buZdCBsw7pjIgogCi0jOiBidWlsdGluL2FtLmM6OTAwCisjOiBidWlsdGluL2FtLmM6ODg3CiBtc2dpZCAiaW52YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgImThuqV1IHRo4budaSBnaWFuIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBidWlsdGluL2FtLmM6OTAzIGJ1aWx0aW4vYW0uYzo5MTEKKyM6IGJ1aWx0aW4vYW0uYzo4OTAgYnVpbHRpbi9hbS5jOjg5OAogbXNnaWQgImludmFsaWQgRGF0ZSBsaW5lIgogbXNnc3RyICJkw7JuZyBOZ8OgeSB0aMOhbmcga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vYW0uYzo5MDgKKyM6IGJ1aWx0aW4vYW0uYzo4OTUKIG1zZ2lkICJpbnZhbGlkIHRpbWV6b25lIG9mZnNldCIKIG1zZ3N0ciAixJHhu5kgbOG7h2NoIG3DumkgZ2nhu50ga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vYW0uYzo5OTUKKyM6IGJ1aWx0aW4vYW0uYzo5ODQKIG1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCiBtc2dzdHIgIkTDsiB0w6xtIMSR4buLbmggZOG6oW5nIG1p4bq/bmcgdsOhIGfhurdwIGzhu5dpLiIKIAotIzogYnVpbHRpbi9hbS5jOjEwMDAgYnVpbHRpbi9jbG9uZS5jOjM4MAorIzogYnVpbHRpbi9hbS5jOjk4OSBidWlsdGluL2Nsb25lLmM6Mzc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgInThuqFvIHRoxrAgbeG7pWMgXCIlc1wiIGfhurdwIGzhu5dpIgogCi0jOiBidWlsdGluL2FtLmM6MTAwNAorIzogYnVpbHRpbi9hbS5jOjk5MwogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIGNoaWEgbmjhu48gY8OhYyBtaeG6v25nIHbDoS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTM2IGJ1aWx0aW4vY29tbWl0LmM6MzY1CisjOiBidWlsdGluL2FtLmM6MTEyNSBidWlsdGluL2NvbW1pdC5jOjM3NgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBpbmRleCBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIHThuq1wIHRpbiBsxrB1IG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2FtLmM6MTE4NworIzogYnVpbHRpbi9hbS5jOjExNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcIiVzIC0tY29udGludWVcIi4iCiBtc2dzdHIgIktoaSBi4bqhbiDEkcOjIHBow6JuIGdp4bqjaSB4b25nIHRy4bulYyB0cuG6t2MgbsOgeSwgaMOjeSBjaOG6oXkgXCIlcyAtLWNvbnRpbnVlXCIuIgogCi0jOiBidWlsdGluL2FtLmM6MTE4OAorIzogYnVpbHRpbi9hbS5jOjExNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcIiVzIC0tc2tpcFwiIGluc3RlYWQuIgogbXNnc3RyICIiCiAiTuG6v3UgYuG6oW4gbXXhu5FuIGLhu48gcXVhIG1p4bq/bmcgdsOhIG7DoHksIGjDo3kgY2jhuqF5IGzhu4duaCBcIiVzIC0tc2tpcFwiIMSR4buDIHRoYXkgdGjhur8uIgogCi0jOiBidWlsdGluL2FtLmM6MTE4OQorIzogYnVpbHRpbi9hbS5jOjExNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBzdG9wIHBhdGNoaW5nLCBydW4gXCIlcyAtLWFib3J0XCIuIgogbXNnc3RyICLEkOG7gyBwaOG7pWMgaOG7k2kgbOG6oWkgbmjDoW5oIGfhu5FjIHbDoCBk4burbmcgdsOhLCBow6N5IGNo4bqheSBcIiVzIC0tYWJvcnRcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMzI3CisjOiBidWlsdGluL2FtLmM6MTMxNgogbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiBXYXMgaXQgc3BsaXQgd3Jvbmc/IgogbXNnc3RyICJNaeG6v25nIHbDoSB0cuG7kW5nIHLhu5duZy4gUXXDoSB0csOsbmggY2hpYSBuaOG7jyBtaeG6v25nIHbDoSBjw7MgbOG7l2k/IgogCi0jOiBidWlsdGluL2FtLmM6MTQwMSBidWlsdGluL2xvZy5jOjE1MTYKKyM6IGJ1aWx0aW4vYW0uYzoxMzkwIGJ1aWx0aW4vbG9nLmM6MTU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgogbXNnc3RyICJkw7JuZyB0aOG7pXQgbOG7gSBraMO0bmcgaOG7o3AgbOG7hzogJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNDI4CisjOiBidWlsdGluL2FtLmM6MTQxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggbOG6p24gY2h1eeG7g24gZ2lhbyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzAKKyM6IGJ1aWx0aW4vYW0uYzoxNjEwCiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiS2hvIHRoaeG6v3UgxJHhu5FpIHTGsOG7o25nIGJsb2IgY+G6p24gdGhp4bq/dCDEkeG7gyB0cuG7nyB24buBIHRyw6puIOKAnDMtd2F5IG1lcmdl4oCdLiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzIKKyM6IGJ1aWx0aW4vYW0uYzoxNjEyCiBtc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKIG1zZ3N0ciAiIgogIlPhu60gZOG7pW5nIHRow7RuZyB0aW4gdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjIMSR4buDIGPhuqV1IHRyw7pjIGzhuqFpIG3hu5l0IGPDonkgKHRyZWUpIGPGoSBz4buf4oCmIgogCi0jOiBidWlsdGluL2FtLmM6MTY1MQorIzogYnVpbHRpbi9hbS5jOjE2MzEKIG1zZ2lkICIiCiAiRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKICJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgpAQCAtMjg4NSwzOCArNDI2NCwzOCBAQAogIkLhuqFuIMSRw6Mgc+G7rWEgbWnhur9uZyB2w6EgY+G7p2EgbcOsbmggYuG6sW5nIGPDoWNoIHRo4bunIGPDtG5nIMOgP1xuIgogIk7DsyBraMO0bmcgdGjhu4Mgw6FwIGThu6VuZyBjw6FjIGJsb2IgxJHDoyDEkcaw4bujYyBnaGkgbOG6oWkgdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjIGPhu6dhIG7Dsy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjU3CisjOiBidWlsdGluL2FtLmM6MTYzNwogbXNnaWQgIkZhbGxpbmcgYmFjayB0byBwYXRjaGluZyBiYXNlIGFuZCAzLXdheSBtZXJnZS4uLiIKIG1zZ3N0ciAixJBhbmcgdHLhu58gbOG6oWkgxJHhu4MgdsOhIGPGoSBz4bufIHbDoCDigJxow7JhIHRy4buZbiAzLcSRxrDhu51uZ+KAneKApiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NzIKKyM6IGJ1aWx0aW4vYW0uYzoxNjYyCiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIGluIHRoZSBjaGFuZ2VzLiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHRy4buZbiB2w6BvIGPDoWMgdGhheSDEkeG7lWkuIgogCi0jOiBidWlsdGluL2FtLmM6MTY5NiBidWlsdGluL21lcmdlLmM6NjM2CisjOiBidWlsdGluL2FtLmM6MTY4NiBidWlsdGluL21lcmdlLmM6NjI4CiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKIG1zZ3N0ciAibOG7h25oIGdpdCB3cml0ZS10cmVlIGfhurdwIGzhu5dpIGtoaSBnaGkgbeG7mXQgY8OieSIKIAotIzogYnVpbHRpbi9hbS5jOjE3MDMKKyM6IGJ1aWx0aW4vYW0uYzoxNjkzCiBtc2dpZCAiYXBwbHlpbmcgdG8gYW4gZW1wdHkgaGlzdG9yeSIKIG1zZ3N0ciAiw6FwIGThu6VuZyB2w6BvIG3hu5l0IGzhu4tjaCBz4butIHRy4buRbmcgcuG7l25nIgogCi0jOiBidWlsdGluL2FtLmM6MTcxNiBidWlsdGluL2NvbW1pdC5jOjE3NzUgYnVpbHRpbi9tZXJnZS5jOjg0MQotIzogYnVpbHRpbi9tZXJnZS5jOjg2NgorIzogYnVpbHRpbi9hbS5jOjE3MDYgYnVpbHRpbi9jb21taXQuYzoxNzY5IGJ1aWx0aW4vbWVyZ2UuYzo3OTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MjMKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGdoaSDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9hbS5jOjE3NDggYnVpbHRpbi9hbS5jOjE3NTIKKyM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxNzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXN1bWU6ICVzIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBo4bulYyBo4buTaTogJXMga2jDtG5nIHThu5NuIHThuqFpLiIKIAotIzogYnVpbHRpbi9hbS5jOjE3NjgKKyM6IGJ1aWx0aW4vYW0uYzoxNzU5CiBtc2dpZCAiY2Fubm90IGJlIGludGVyYWN0aXZlIHdpdGhvdXQgc3RkaW4gY29ubmVjdGVkIHRvIGEgdGVybWluYWwuIgogbXNnc3RyICIiCiAia2jDtG5nIHRo4buDIMSRxrDhu6NjIHTGsMahbmcgdMOhYyBtw6Aga2jDtG5nIGPDsyBzdGRpbiBr4bq/dCBu4buRaSB24bubaSBt4buZdCB0aGnhur90IGLhu4sgY3Xhu5FpIgogCi0jOiBidWlsdGluL2FtLmM6MTc3MworIzogYnVpbHRpbi9hbS5jOjE3NjQKIG1zZ2lkICJDb21taXQgQm9keSBpczoiCiBtc2dzdHIgIlRow6JuIGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8gbMOgOiIKIApAQCAtMjkyNCwzNyArNDMwMywzNyBAQAogIy4gaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCiAjLiBpbnB1dCBhdCB0aGlzIHBvaW50LgogIy4KLSM6IGJ1aWx0aW4vYW0uYzoxNzgzCisjOiBidWlsdGluL2FtLmM6MTc3NAogbXNnaWQgIkFwcGx5PyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsOiAiCiBtc2dzdHIgIiIKICLDgXAgZOG7pW5nPyDEkeG7k25nIMO9IFt5XS9raMO0W25dZy9jaOG7iW5oIHPhu61hIFtlXS9oaeG7g24gdGjhu4sgbWnhur9uZyBbdl3DoS9jaOG6pXAgbmjhuq1uIHThuqV0ICIKICJj4bqjIFthXTogIgogCi0jOiBidWlsdGluL2FtLmM6MTgzMworIzogYnVpbHRpbi9hbS5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlydHkgaW5kZXg6IGNhbm5vdCBhcHBseSBwYXRjaGVzIChkaXJ0eTogJXMpIgogbXNnc3RyICJC4bqjbmcgbeG7pWMgbOG7pWMgYuG6qW46IGtow7RuZyB0aOG7gyDDoXAgZOG7pW5nIGPDoWMgbWnhur9uZyB2w6EgKGLhuqluOiAlcykiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODY4IGJ1aWx0aW4vYW0uYzoxOTQwCisjOiBidWlsdGluL2FtLmM6MTg2MSBidWlsdGluL2FtLmM6MTkzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZzogJS4qcyIKIG1zZ3N0ciAiw4FwIGThu6VuZzogJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE4ODQKKyM6IGJ1aWx0aW4vYW0uYzoxODc3CiBtc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgogbXNnc3RyICJLaMO0bmcgdGhheSDEkeG7lWkgZ8OsIGPhuqMgLS0gTWnhur9uZyB2w6EgxJHDoyDEkcaw4bujYyDDoXAgZOG7pW5nIHLhu5NpLiIKIAotIzogYnVpbHRpbi9hbS5jOjE4OTIKKyM6IGJ1aWx0aW4vYW0uYzoxODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhdGNoIGZhaWxlZCBhdCAlcyAlLipzIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgdsOhIHThuqFpICVzICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODk4CisjOiBidWlsdGluL2FtLmM6MTg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY29weSBvZiB0aGUgcGF0Y2ggdGhhdCBmYWlsZWQgaXMgZm91bmQgaW46ICVzIgogbXNnc3RyICJC4bqjbiBzYW8gY2jDqXAgY+G7p2EgbWnhur9uZyB2w6EgbcOgIG7DsyBn4bq3cCBs4buXaSB0aMOsIMSRxrDhu6NjIHTDrG0gdGjhuqV5IHRyb25nOiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE5NDMKKyM6IGJ1aWx0aW4vYW0uYzoxOTM2CiBtc2dpZCAiIgogIk5vIGNoYW5nZXMgLSBkaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnP1xuIgogIklmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBzdGFnZSwgY2hhbmNlcyBhcmUgdGhhdCBzb21ldGhpbmcgZWxzZVxuIgpAQCAtMjk2NSw3ICs0MzQ0LDcgQEAKICLEkcOjIHPhurVuIMSRxrDhu6NjIMSRxrBhIHbDoG8gduG7m2kgY8O5bmcgbuG7mWkgZHVuZyB0aGF5IMSR4buVaTsgYuG6oW4gY8OzIGzhur0gbXXhu5FuIGLhu48gcXVhIG1p4bq/bmcgIgogInbDoSBuw6B5LiIKIAotIzogYnVpbHRpbi9hbS5jOjE5NTAKKyM6IGJ1aWx0aW4vYW0uYzoxOTQzCiBtc2dpZCAiIgogIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCiAiRGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz8iCkBAIC0yOTczLDE3ICs0MzUyLDE3IEBACiAiQuG6oW4gduG6q24gY8OzIG5o4buvbmcgxJHGsOG7nW5nIGThuqtuIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYyBj4bunYSBtw6xuaC5cbiIKICJC4bqhbiDEkcOjIHF1w6puIHPhu60gZOG7pW5nIGzhu4duaCDigJxnaXQgYWRk4oCdIMOgPyIKIAotIzogYnVpbHRpbi9hbS5jOjIwNTggYnVpbHRpbi9hbS5jOjIwNjIgYnVpbHRpbi9hbS5jOjIwNzQgYnVpbHRpbi9yZXNldC5jOjMwOAorIzogYnVpbHRpbi9hbS5jOjIwNTEgYnVpbHRpbi9hbS5jOjIwNTUgYnVpbHRpbi9hbS5jOjIwNjcgYnVpbHRpbi9yZXNldC5jOjMwOAogIzogYnVpbHRpbi9yZXNldC5jOjMxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggxJHhu5FpIHTGsOG7o25nIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9hbS5jOjIxMTAKKyM6IGJ1aWx0aW4vYW0uYzoyMTAzCiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZOG7jW4gYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2FtLmM6MjE0NAorIzogYnVpbHRpbi9hbS5jOjIxMzcKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKQEAgLTI5OTEsMTU1ICs0MzcwLDEzNCBAQAogIkLhuqFuIGPDsyBs4bq9IMSRw6MgY8OzIEhFQUQgxJHDoyBi4buLIGRpIGNodXnhu4NuIMSRaSBr4buDIHThu6sgbOG6p24g4oCcYW3igJ0gdGjhuqV0IGLhuqFpIGN14buRaSBjw7luZy5cbiIKICJLaMO0bmcgdGjhu4MgY2h1eeG7g24gdOG7m2kgT1JJR19IRUFEIgogCi0jOiBidWlsdGluL2FtLmM6MjIwNQorIzogYnVpbHRpbi9hbS5jOjIyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICJHacOhIHRy4buLIGtow7RuZyBo4bujcCBs4buHIGNobyAtLXBhdGNoLWZvcm1hdDogJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM4Ci1tc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+fDxNYWlsZGlyPikuLi5dIgorIzogYnVpbHRpbi9hbS5jOjIyMzMKK21zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGFtIFs8Y8OhYy10w7l5LWNo4buNbj5dIFsoPG1ib3g+fDxNYWlsZGlyPinigKZdIgogCi0jOiBidWlsdGluL2FtLmM6MjIzOQorIzogYnVpbHRpbi9hbS5jOjIyMzQKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIG1zZ3N0ciAiZ2l0IGFtIFs8Y8OhYy10w7l5LWNo4buNbj5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ1CisjOiBidWlsdGluL2FtLmM6MjI0MAogbXNnaWQgInJ1biBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJjaOG6oXkga2nhu4N1IHTGsMahbmcgdMOhYyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDcKKyM6IGJ1aWx0aW4vYW0uYzoyMjQyCiBtc2dpZCAiaGlzdG9yaWNhbCBvcHRpb24gLS0gbm8tb3AiCiBtc2dzdHIgInTDuXkgY2jhu41uIGzhu4tjaCBz4butIC0tIGtow7RuZy10b8Ohbi104butIgogCi0jOiBidWlsdGluL2FtLmM6MjI0OQorIzogYnVpbHRpbi9hbS5jOjIyNDQKIG1zZ2lkICJhbGxvdyBmYWxsIGJhY2sgb24gM3dheSBtZXJnaW5nIGlmIG5lZWRlZCIKIG1zZ3N0ciAiY2hvIHBow6lwIHF1YXkgdHLhu58gbOG6oWkgxJHhu4MgaMOyYSB0cuG7mW4ga2nhu4N1IOKAnDN3YXnigJ0gbuG6v3UgY+G6p24iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU3Ci0jOiBidWlsdGluL3JlcGFjay5jOjE3MQorIzogYnVpbHRpbi9hbS5jOjIyNDUgYnVpbHRpbi9pbml0LWRiLmM6NDgzIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcyCiBtc2dpZCAiYmUgcXVpZXQiCiBtc2dzdHIgImltIGzhurduZyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTIKKyM6IGJ1aWx0aW4vYW0uYzoyMjQ3CiBtc2dpZCAiYWRkIGEgU2lnbmVkLW9mZi1ieSBsaW5lIHRvIHRoZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiVGjDqm0gZMOybmcgU2lnbmVkLW9mZi1ieSBjaG8gZ2hpIGNow7ogY+G7p2EgbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTUKKyM6IGJ1aWx0aW4vYW0uYzoyMjUwCiBtc2dpZCAicmVjb2RlIGludG8gdXRmOCAoZGVmYXVsdCkiCiBtc2dzdHIgImNodXnhu4NuIG3DoyB0aMOgbmggdXRmOCAobeG6t2MgxJHhu4tuaCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU3CisjOiBidWlsdGluL2FtLmM6MjI1MgogbXNnaWQgInBhc3MgLWsgZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgImNodXnhu4NuIGPhu50gLWsgY2hvIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTkKKyM6IGJ1aWx0aW4vYW0uYzoyMjU0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAiY2h1eeG7g24gY+G7nSAtYiBjaG8gZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjI2MQorIzogYnVpbHRpbi9hbS5jOjIyNTYKIG1zZ2lkICJwYXNzIC1tIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJjaHV54buDbiBj4budIC1tIGNobyBnaXQtbWFpbGluZm8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjYzCisjOiBidWlsdGluL2FtLmM6MjI1OAogbXNnaWQgInBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBmb3IgbWJveCBmb3JtYXQiCiBtc2dzdHIgImNodXnhu4NuIGPhu50gLS1rZWVwLWNyIGNobyBnaXQtbWFpbHNwbGl0IHbhu5tpIMSR4buLbmggZOG6oW5nIG1ib3giCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY2CisjOiBidWlsdGluL2FtLmM6MjI2MQogbXNnaWQgImRvIG5vdCBwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgaW5kZXBlbmRlbnQgb2YgYW0ua2VlcGNyIgogbXNnc3RyICIiCiAixJHhu6tuZyBjaHV54buDbiBj4budIC0ta2VlcC1jciBjaG8gZ2l0LW1haWxzcGxpdCBraMO0bmcgcGjhu6UgdGh14buZYyB2w6BvIGFtLmtlZXBjciIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjkKKyM6IGJ1aWx0aW4vYW0uYzoyMjY0CiBtc2dpZCAic3RyaXAgZXZlcnl0aGluZyBiZWZvcmUgYSBzY2lzc29ycyBsaW5lIgogbXNnc3RyICJj4bqvdCBt4buNaSB0aOG7qSB0csaw4bubYyBkw7JuZyBzY2lzc29ycyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzAgYnVpbHRpbi9hcHBseS5jOjQ1NDYKLW1zZ2lkICJhY3Rpb24iCi1tc2dzdHIgImjDoG5oIMSR4buZbmciCi0KLSM6IGJ1aWx0aW4vYW0uYzoyMjcxIGJ1aWx0aW4vYW0uYzoyMjc0IGJ1aWx0aW4vYW0uYzoyMjc3IGJ1aWx0aW4vYW0uYzoyMjgwCi0jOiBidWlsdGluL2FtLmM6MjI4MyBidWlsdGluL2FtLmM6MjI4NiBidWlsdGluL2FtLmM6MjI4OSBidWlsdGluL2FtLmM6MjI5MgotIzogYnVpbHRpbi9hbS5jOjIyOTgKKyM6IGJ1aWx0aW4vYW0uYzoyMjY2IGJ1aWx0aW4vYW0uYzoyMjY5IGJ1aWx0aW4vYW0uYzoyMjcyIGJ1aWx0aW4vYW0uYzoyMjc1CisjOiBidWlsdGluL2FtLmM6MjI3OCBidWlsdGluL2FtLmM6MjI4MSBidWlsdGluL2FtLmM6MjI4NCBidWlsdGluL2FtLmM6MjI4NworIzogYnVpbHRpbi9hbS5jOjIyOTMKIG1zZ2lkICJwYXNzIGl0IHRocm91Z2ggZ2l0LWFwcGx5IgogbXNnc3RyICJjaHV54buDbiBuw7MgcXVhIGdpdC1hcHBseSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzkgYnVpbHRpbi9hcHBseS5jOjQ1NzAKLW1zZ2lkICJyb290IgotbXNnc3RyICJn4buRYyIKLQotIzogYnVpbHRpbi9hbS5jOjIyODIgYnVpbHRpbi9hbS5jOjIyODUgYnVpbHRpbi9hcHBseS5jOjQ1MDgKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTExIGJ1aWx0aW4vY2xvbmUuYzo5MCBidWlsdGluL2ZldGNoLmM6OTUKLSM6IGJ1aWx0aW4vcHVsbC5jOjE3OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mjc3Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODUKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc2NwotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3MAotbXNnaWQgInBhdGgiCi1tc2dzdHIgIsSRxrDhu51uZy1k4bqrbiIKLQotIzogYnVpbHRpbi9hbS5jOjIyODggYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2OQotIzogYnVpbHRpbi9ncmVwLmM6NzA2IGJ1aWx0aW4vbWVyZ2UuYzoxOTkgYnVpbHRpbi9wdWxsLmM6MTM0IGJ1aWx0aW4vcHVsbC5jOjE5MwotIzogYnVpbHRpbi9yZXBhY2suYzoxNzggYnVpbHRpbi9yZXBhY2suYzoxODIgYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NQotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NSBidWlsdGluL3RhZy5jOjM0MCBwYXJzZS1vcHRpb25zLmg6MTMyCi0jOiBwYXJzZS1vcHRpb25zLmg6MTM0IHBhcnNlLW9wdGlvbnMuaDoyNDQKKyM6IGJ1aWx0aW4vYW0uYzoyMjgzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwNyBidWlsdGluL21lcmdlLmM6MjAwIGJ1aWx0aW4vcHVsbC5jOjEzNQorIzogYnVpbHRpbi9wdWxsLmM6MTk0IGJ1aWx0aW4vcmVwYWNrLmM6MTgxIGJ1aWx0aW4vcmVwYWNrLmM6MTg1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzUgYnVpbHRpbi90YWcuYzozNDAKKyM6IHBhcnNlLW9wdGlvbnMuaDoxMzIgcGFyc2Utb3B0aW9ucy5oOjEzNCBwYXJzZS1vcHRpb25zLmg6MjQ1CiBtc2dpZCAibiIKIG1zZ3N0ciAibiIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTEgYnVpbHRpbi9hcHBseS5jOjQ1MTQKLW1zZ2lkICJudW0iCi1tc2dzdHIgInPhu5EiCi0KLSM6IGJ1aWx0aW4vYW0uYzoyMjk0IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi9yZXBsYWNlLmM6NDM4CisjOiBidWlsdGluL2FtLmM6MjI4OSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3IGJ1aWx0aW4vcmVwbGFjZS5jOjQzOAogIzogYnVpbHRpbi90YWcuYzozNzIKIG1zZ2lkICJmb3JtYXQiCiBtc2dzdHIgIsSR4buLbmggZOG6oW5nIgogCi0jOiBidWlsdGluL2FtLmM6MjI5NQorIzogYnVpbHRpbi9hbS5jOjIyOTAKIG1zZ2lkICJmb3JtYXQgdGhlIHBhdGNoKGVzKSBhcmUgaW4iCiBtc2dzdHIgIsSR4buLbmggZOG6oW5nIChjw6FjKSBtaeG6v25nIHbDoSB0aGVvIgogCi0jOiBidWlsdGluL2FtLmM6MjMwMQorIzogYnVpbHRpbi9hbS5jOjIyOTYKIG1zZ2lkICJvdmVycmlkZSBlcnJvciBtZXNzYWdlIHdoZW4gcGF0Y2ggZmFpbHVyZSBvY2N1cnMiCiBtc2dzdHIgIsSRw6ggbMOqbiBjw6FjIGzhu51pIG5o4bqvbiBs4buXaSBraGkgeOG6o3kgcmEgbOG7l2kgdsOhIG5naGnDqm0gdHLhu41uZyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDMKKyM6IGJ1aWx0aW4vYW0uYzoyMjk4CiBtc2dpZCAiY29udGludWUgYXBwbHlpbmcgcGF0Y2hlcyBhZnRlciByZXNvbHZpbmcgYSBjb25mbGljdCIKIG1zZ3N0ciAidGnhur9wIHThu6VjIMOhcCBk4bulbmcgY8OhYyBtaeG6v25nIHbDoSBzYXUga2hpIGdp4bqjaSBxdXnhur90IHh1bmcgxJHhu5l0IgogCi0jOiBidWlsdGluL2FtLmM6MjMwNgorIzogYnVpbHRpbi9hbS5jOjIzMDEKIG1zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKIG1zZ3N0ciAixJHhu5NuZyBuZ2jEqWEgduG7m2kgLS1jb250aW51ZSIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDkKKyM6IGJ1aWx0aW4vYW0uYzoyMzA0CiBtc2dpZCAic2tpcCB0aGUgY3VycmVudCBwYXRjaCIKIG1zZ3N0ciAiYuG7jyBxdWEgbWnhur9uZyB2w6EgaGnhu4duIGjDoG5oIgogCi0jOiBidWlsdGluL2FtLmM6MjMxMgorIzogYnVpbHRpbi9hbS5jOjIzMDcKIG1zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgogbXNnc3RyICJwaOG7pWMgaOG7k2kgbOG6oWkgbmjDoW5oIGfhu5FjIHbDoCBsb+G6oWkgYuG7jyB0aGFvIHTDoWMgdsOhLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTYKKyM6IGJ1aWx0aW4vYW0uYzoyMzExCiBtc2dpZCAibGllIGFib3V0IGNvbW1pdHRlciBkYXRlIgogbXNnc3RyICJuw7NpIGThu5FpIHbhu4EgbmfDoHkgY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMTgKKyM6IGJ1aWx0aW4vYW0uYzoyMzEzCiBtc2dpZCAidXNlIGN1cnJlbnQgdGltZXN0YW1wIGZvciBhdXRob3IgZGF0ZSIKIG1zZ3N0ciAiZMO5bmcgZOG6pXUgdGjhu51pIGdpYW4gaGnhu4duIHThuqFpIGNobyBuZ8OgeSB0w6FjIGdp4bqjIgogCi0jOiBidWlsdGluL2FtLmM6MjMyMCBidWlsdGluL2NvbW1pdC5jOjE2MDkgYnVpbHRpbi9tZXJnZS5jOjIyOAotIzogYnVpbHRpbi9wdWxsLmM6MTY0IGJ1aWx0aW4vcmV2ZXJ0LmM6OTIgYnVpbHRpbi90YWcuYzozNTUKKyM6IGJ1aWx0aW4vYW0uYzoyMzE1IGJ1aWx0aW4vY29tbWl0LmM6MTYwNSBidWlsdGluL21lcmdlLmM6MjI5CisjOiBidWlsdGluL3B1bGwuYzoxNjUgYnVpbHRpbi9yZXZlcnQuYzo5MiBidWlsdGluL3RhZy5jOjM1NQogbXNnaWQgImtleS1pZCIKIG1zZ3N0ciAibcOjLXPhu5Eta2jDs2EiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIxCisjOiBidWlsdGluL2FtLmM6MjMxNgogbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8ga8O9LUdQRyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjQKKyM6IGJ1aWx0aW4vYW0uYzoyMzE5CiBtc2dpZCAiKGludGVybmFsIHVzZSBmb3IgZ2l0LXJlYmFzZSkiCiBtc2dzdHIgIihkw7luZyBu4buZaSBi4buZIGNobyBnaXQtcmViYXNlKSIKIAotIzogYnVpbHRpbi9hbS5jOjIzMzkKKyM6IGJ1aWx0aW4vYW0uYzoyMzM0CiBtc2dpZCAiIgogIlRoZSAtYi8tLWJpbmFyeSBvcHRpb24gaGFzIGJlZW4gYSBuby1vcCBmb3IgbG9uZyB0aW1lLCBhbmRcbiIKICJpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSBkbyBub3QgdXNlIGl0IGFueW1vcmUuIgpAQCAtMzE0NywxNiArNDUwNSwxNiBAQAogIlTDuXkgY2jhu41uIC1iLy0tYmluYXJ5IMSRw6Mga2jDtG5nIGTDuW5nIHThu6sgbMOidSBy4buTaSwgdsOgXG4iCiAibsOzIHPhur0gxJHGsOG7o2MgYuG7jyDEkWkuIFhpbiDEkeG7q25nIHPhu60gZOG7pW5nIG7DsyB0aMOqbSBu4buvYS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzQ2CisjOiBidWlsdGluL2FtLmM6MjM0MQogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kgxJHhu41jIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9hbS5jOjIzNjEKKyM6IGJ1aWx0aW4vYW0uYzoyMzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZXZpb3VzIHJlYmFzZSBkaXJlY3RvcnkgJXMgc3RpbGwgZXhpc3RzIGJ1dCBtYm94IGdpdmVuLiIKIG1zZ3N0ciAidGjGsCBt4bulYyByZWJhc2UgdHLGsOG7m2MgJXMga2jDtG5nIHPhurVuIGPDsyBuaMawbmcgbWJveCBs4bqhaSDEkcawYSByYS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzg1CisjOiBidWlsdGluL2FtLmM6MjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3RyYXkgJXMgZGlyZWN0b3J5IGZvdW5kLlxuIgpAQCAtMzE2NSw0OTUgKzQ1MjMsMTQgQEAKICJUw6xtIHRo4bqleSB0aMawIG3hu6VjIGzhuqFjICVzLlxuIgogIkTDuW5nIFwiZ2l0IGFtIC0tYWJvcnRcIiDEkeG7gyBsb+G6oWkgYuG7jyBuw7MgxJFpLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzOTEKKyM6IGJ1aWx0aW4vYW0uYzoyMzg2CiBtc2dpZCAiUmVzb2x2ZSBvcGVyYXRpb24gbm90IGluIHByb2dyZXNzLCB3ZSBhcmUgbm90IHJlc3VtaW5nLiIKIG1zZ3N0ciAiVGhhbyB0w6FjIHBow6JuIGdp4bqjaSBraMO0bmcgxJHGsOG7o2MgdGnhur9uIGjDoG5oLCBjaMO6bmcgdGEga2jDtG5nIHBo4bulYyBo4buTaSBs4bqhaS4iCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo1OQorIzogYnVpbHRpbi9hcHBseS5jOjgKIG1zZ2lkICJnaXQgYXBwbHkgWzxvcHRpb25zPl0gWzxwYXRjaD4uLi5dIgogbXNnc3RyICJnaXQgYXBwbHkgWzxjw6FjLXTDuXktY2jhu41uPl0gWzxtaeG6v25nLXbDoT7igKZdIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MTExCi0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgotbXNnc3RyICJraMO0bmcgbmjhuq1uIHJhIHTDuXkgY2jhu41uIHbhu4Ega2hv4bqjbmcgdHLhuq9uZyDigJwlc+KAnSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjEyNgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCi1tc2dzdHIgImtow7RuZyBuaOG6rW4gcmEgdMO5eSBjaOG7jW4gYuG7jyBxdWEga2hv4bqjbmcgdHLhuq9uZyDigJwlc+KAnSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjgxOAotIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgotbXNnc3RyICIiCi0iS2jDtG5nIHRo4buDIGNodeG6qW4gYuG7iyBiaeG7g3UgdGjhu6ljIGNow61uaCBxdWkgZOG6pXUgduG6v3QgdGjhu51pIGdpYW4gKHRpbWVzdGFtcCByZWdleHApICIKLSIlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjgyNwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCi1tc2dzdHIgInRoaSBow6BuaCBiaeG7g3UgdGjhu6ljIGNow61uaCBxdXkgdHLhuqMgduG7gSAlZCBjaG8gxJHhuqd1IHbDoG86ICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTA4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSB0w6puIHThuq1wIHRpbiB0cm9uZyBtaeG6v25nIHbDoSB04bqhaSBkw7JuZyAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjkzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCi1tc2dzdHIgIiIKLSJnaXQgYXBwbHk6IGdpdC1kaWZmIHNhaSAtIGPhuqduIC9kZXYvbnVsbCwgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyAlcyB0csOqbiBkw7JuZyAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjk0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKLW1zZ3N0ciAiZ2l0IGFwcGx5OiBnaXQtZGlmZiBzYWkgLSB0w6puIHThuq1wIHRpbiBt4bubaSBraMO0bmcgbmjhuqV0IHF1w6FuIHRyw6puIGTDsm5nICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTQzCi0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgotbXNnc3RyICJnaXQgYXBwbHk6IGdpdC1kaWZmIHNhaSAtIHTDqm4gdOG6rXAgdGluIGPFqSBraMO0bmcgbmjhuqV0IHF1w6FuIHRyw6puIGTDsm5nICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTQ5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCi1tc2dzdHIgImdpdCBhcHBseTogZ2l0LWRpZmYgc2FpIC0gY+G6p24g4oCcL2Rldi9udWxs4oCdIHRyw6puIGTDsm5nICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTQwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWNvdW50OiB1bmV4cGVjdGVkIGxpbmU6ICUuKnMiCi1tc2dzdHIgImNoaSB0aeG6v3Q6IGTDsm5nIGtow7RuZyBj4bqnbjogJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE0NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKLW1zZ3N0ciAibWnhur9uZyB2w6EgcGjDom4gbeG6o25oIG3DoCBraMO0bmcgY8OzIHBo4bqnbiDEkeG6p3UgdOG6oWkgZMOybmcgJWQ6ICUuKnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNDgwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKLSJjb21wb25lbnQgKGxpbmUgJWQpIgotbXNnaWRfcGx1cmFsICIiCi0iZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCi0iY29tcG9uZW50cyAobGluZSAlZCkiCi1tc2dzdHJbMF0gIiIKLSJwaOG6p24gxJHhuqd1IGRpZmYgY2hvIGdpdCAgdGhp4bq/dSB0aMO0bmcgdGluIHTDqm4gdOG6rXAgdGluIGtoaSBn4buhIGLhu48gxJFpICVkIHRyb25nICIKLSJ0aMOgbmggcGjhuqduIGThuqtuIMSR4bqndSB0w6puIGPhu6dhIMSRxrDhu51uZyBk4bqrbiAoZMOybmcgJWQpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY0NgotbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgotbXNnc3RyICJ04bqtcCB0aW4gbeG7m2kgcGjhu6UgdGh14buZYyB2w6BvIG7hu5lpIGR1bmcgY8WpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY0OAotbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCi1tc2dzdHIgInThuq1wIHRpbiDEkcOjIHjDs2EgduG6q24gY8OybiBu4buZaSBkdW5nIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY3NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgIm1p4bq/bmcgdsOhIGjhu49uZyB04bqhaSBkw7JuZyAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE3MTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCi1tc2dzdHIgInThuq1wIHRpbiBt4bubaSAlcyBwaOG7pSB0aHXhu5ljIHbDoG8gbuG7mWkgZHVuZyBjxakiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNzEyCi0jLCBjLWZvcm1hdAotbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCi1tc2dzdHIgInThuq1wIHRpbiDEkcOjIHjDs2EgJXMgduG6q24gY8OybiBu4buZaSBkdW5nIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTcxNQotIywgYy1mb3JtYXQKLW1zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgotbXNnc3RyICIqKiBj4bqjbmggYsOhbzogdOG6rXAgdGluICVzIHRy4bufIG7Dqm4gdHLhu5FuZyBy4buXbmcgbmjGsG5nIGtow7RuZyBi4buLIHjDs2EiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxODYxCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCi1tc2dzdHIgIm1p4bq/bmcgdsOhIMSR4buLbmggZOG6oW5nIG5o4buLIHBow6JuIHNhaSBo4buPbmcgdOG6oWkgZMOybmcgJWQ6ICUuKnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxODk1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIKLW1zZ3N0ciAibWnhur9uZyB2w6EgxJHhu4tuaCBk4bqhbmcgbmjhu4sgcGjDom4ga2jDtG5nIMSRxrDhu6NjIG5o4bqtbiByYSB04bqhaSBkw7JuZyAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjIwNDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0Y2ggd2l0aCBvbmx5IGdhcmJhZ2UgYXQgbGluZSAlZCIKLW1zZ3N0ciAidsOhIGNo4buJIHbhu5tpIOKAnHLDoWPigJ0gdOG6oWkgZMOybmcgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyMTM4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byByZWFkIHN5bWxpbmsgJXMiCi1tc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgbGnDqm4ga+G6v3QgbeG7gW0gJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyMTQyCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBvcGVuIG9yIHJlYWQgJXMiCi1tc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIGhheSDEkeG7jWMgJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyNzc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKLW1zZ3N0ciAic2FpIGto4bufaSDEkeG6p3UgZMOybmc6IOKAnCVj4oCdIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mjg5NAotIywgYy1mb3JtYXQKLW1zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCi1tc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCi1tc2dzdHJbMF0gIkto4buRaSBk4buvIGxp4buHdSAjJWQgdGjDoG5oIGPDtG5nIHThuqFpICVkIChvZmZzZXQgJWQgZMOybmcpLiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI5MDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSB0byBhcHBseSBmcmFnbWVudCBhdCAlZCIKLW1zZ3N0ciAiTuG7mWkgZHVuZyBi4buLIGdp4bqjbSB4deG7kW5nIGPDsm4gKCVsZC8lbGQpIMSR4buDIMOhcCBk4bulbmcgbeG6o25oIGThu68gbGnhu4d1IHThuqFpICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjkxMgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0id2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKLSIlLipzIgotbXNnc3RyICIiCi0idHJvbmcga2hpIMSRYW5nIHTDrG0ga2nhur9tIGNobzpcbiIKLSIlLipzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjkzMgotIywgYy1mb3JtYXQKLW1zZ2lkICJtaXNzaW5nIGJpbmFyeSBwYXRjaCBkYXRhIGZvciAnJXMnIgotbXNnc3RyICJ0aGnhur91IGThu68gbGnhu4d1IGPhu6dhIG1p4bq/bmcgdsOhIMSR4buLbmggZOG6oW5nIG5o4buLIHBow6JuIGNobyDigJwlc+KAnSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMwMzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciCi1tc2dzdHIgIm1p4bq/bmcgdsOhIMSR4buLbmggZOG6oW5nIG5o4buLIHBow6JuIGtow7RuZyDEkcaw4bujYyDDoXAgZOG7pW5nIGNobyDigJwlc+KAnSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMwMzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmluYXJ5IHBhdGNoIHRvICclcycgY3JlYXRlcyBpbmNvcnJlY3QgcmVzdWx0IChleHBlY3RpbmcgJXMsIGdvdCAlcykiCi1tc2dzdHIgIiIKLSJ2w6Egbmjhu4sgcGjDom4gY2hvIOKAnCVz4oCdIHThuqFvIHJhIGvhur90IHF14bqjIGtow7RuZyBjaMOtbmggeMOhYyAobW9uZyBjaOG7nSAlcywgbOG6oWkgbmjhuq1uICIKLSIlcykiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMDYwCi0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgotbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdsOhOiAlczolbGQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMTg0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHJhICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzIyOSBidWlsdGluL2FwcGx5LmM6MzI0MCBidWlsdGluL2FwcGx5LmM6MzI4NQotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWFkIG9mICVzIGZhaWxlZCIKLW1zZ3N0ciAixJHhu41jICVzIGfhurdwIGzhu5dpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzIzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgotbXNnc3RyICLEkeG7jWMgdOG7qyDigJwlc+KAnSB2xrDhu6N0IHJhIG5nb8OgaSBsacOqbiBr4bq/dCBt4buBbSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMyNjUgYnVpbHRpbi9hcHBseS5jOjM0ODcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiCi1tc2dzdHIgIsSRxrDhu51uZyBk4bqrbiAlcyDEkcOjIGLhu4sgeMOzYSBob+G6t2MgxJHhu5VpIHTDqm4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMzQ2IGJ1aWx0aW4vYXBwbHkuYzozNTAxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKLW1zZ3N0ciAiJXM6IGtow7RuZyB04buTbiB04bqhaSB0cm9uZyBi4bqjbmcgbeG7pWMgbOG7pWMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMzUwIGJ1aWx0aW4vYXBwbHkuYzozNDkzIGJ1aWx0aW4vYXBwbHkuYzozNTE1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiAlcyIKLW1zZ3N0ciAiJXM6ICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzM1NSBidWlsdGluL2FwcGx5LmM6MzUwOQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiCi1tc2dzdHIgIiVzOiBraMO0bmcga2jhu5twIHRyb25nIG3hu6VjIGzhu6VjIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzQ1NwotbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCi1tc2dzdHIgImxv4bqhaSBi4buPIG1p4bq/bmcgdsOhIMSR4buDIGzhuqFpIG7hu5lpIGR1bmcgdOG6rXAgdGluIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzUyNgotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogd3JvbmcgdHlwZSIKLW1zZ3N0ciAiJXM6IHNhaSBraeG7g3UiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNTI4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzIGhhcyB0eXBlICVvLCBleHBlY3RlZCAlbyIKLW1zZ3N0ciAiJXMgY8OzIGtp4buDdSAlbywgY+G6p24gJW8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNjg3IGJ1aWx0aW4vYXBwbHkuYzozNjg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgotbXNnc3RyICLEkcaw4budbmcgZOG6q24ga2jDtG5nIGjhu6NwIGzhu4cg4oCcJXPigJ0iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzQ0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKLW1zZ3N0ciAiJXM6IMSRw6MgY8OzIHThu6sgdHLGsOG7m2MgdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc0NwotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCi1tc2dzdHIgIiVzOiDEkcOjIHPhurVuIGPDsyB0cm9uZyB0aMawIG3hu6VjIMSRYW5nIGzDoG0gdmnhu4djIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc2NwotIywgYy1mb3JtYXQKLW1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykiCi1tc2dzdHIgImNo4bq/IMSR4buZIG3hu5tpICglbykgY+G7p2EgJXMga2jDtG5nIGto4bubcCB24bubaSBjaOG6vyDEkeG7mSBjxakgKCVvKSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIG9mICVzIgotbXNnc3RyICJjaOG6vyDEkeG7mSBt4bubaSAoJW8pIGPhu6dhICVzIGtow7RuZyBraOG7m3AgduG7m2kgY2jhur8gxJHhu5kgY8WpICglbykgY+G7p2EgJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzkyCi0jLCBjLWZvcm1hdAotbXNnaWQgImFmZmVjdGVkIGZpbGUgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgotbXNnc3RyICJ04bqtcCB0aW4gY2jhu4t1IHTDoWMgxJHhu5luZyDigJwlc+KAnSB2xrDhu6N0IHJhIG5nb8OgaSBsacOqbiBr4bq/dCBt4buBbSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3OTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgotbXNnc3RyICIlczogbWnhur9uZyB2w6Ega2jDtG5nIMSRxrDhu6NjIMOhcCBk4bulbmciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozODEwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgotbXNnc3RyICLEkGFuZyBraeG7g20gdHJhIG1p4bq/bmcgdsOhICVz4oCmIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzkwMyBidWlsdGluL2NoZWNrb3V0LmM6MjMzIGJ1aWx0aW4vcmVzZXQuYzoxMzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKLW1zZ3N0ciAibWFrZV9jYWNoZV9lbnRyeSBn4bq3cCBs4buXaSDEkeG7kWkgduG7m2kgxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA0NgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlICVzIGZyb20gaW5kZXgiCi1tc2dzdHIgImtow7RuZyB0aOG7gyBn4buhIGLhu48gJXMgdOG7qyBt4bulYyBs4bulYyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwNzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY29ycnVwdCBwYXRjaCBmb3Igc3VibW9kdWxlICVzIgotbXNnc3RyICJtaeG6v25nIHbDoSBzYWkgaOG7j25nIGNobyBtw7QtxJF1bi1jb24gJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDc5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBzdGF0IG5ld2x5IGNyZWF0ZWQgZmlsZSAnJXMnIgotbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdGjhu5FuZyBr4buBIHbhu4EgdOG6rXAgdGluICVzIG3hu5tpIGjGoW4gxJHDoyDEkcaw4bujYyB04bqhbyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwODQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCi1tc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyDigJxraG8gbMawdSDEkeG6sW5nIHNhdeKAnSBjaG8gdOG6rXAgdGluIMSRxrDhu6NjIHThuqFvIG3hu5tpIGjGoW4gJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDg3IGJ1aWx0aW4vYXBwbHkuYzo0MTk1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBhZGQgY2FjaGUgZW50cnkgZm9yICVzIgotbXNnc3RyICJraMO0bmcgdGjhu4MgdGjDqm0gbeG7pWMgbmjhu5sgxJHhu4dtIGNobyAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQxMjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2xvc2luZyBmaWxlICclcyciCi1tc2dzdHIgIsSRYW5nIMSRw7NuZyB04bqtcCB0aW4g4oCcJXPigJ0iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MTY5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB2w6BvIHThuq1wIHRpbiDigJwlc+KAnSBjaOG6vyDEkeG7mSAlbyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQyNTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQXBwbGllZCBwYXRjaCAlcyBjbGVhbmx5LiIKLW1zZ3N0ciAixJDDoyDDoXAgZOG7pW5nIG1p4bq/bmcgdsOhICVzIG3hu5l0IGPDoWNoIHPhuqFjaCBz4bq9LiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQyNjQKLW1zZ2lkICJpbnRlcm5hbCBlcnJvciIKLW1zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQyNjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIgotbXNnaWRfcGx1cmFsICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3RzLi4uIgotbXNnc3RyWzBdICLEkGFuZyDDoXAgZOG7pW5nIG1p4bq/bmcgdsOhICUlcyB24bubaSAlZCBs4bqnbiB04burIGNo4buRaeKApiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQyNzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidHJ1bmNhdGluZyAucmVqIGZpbGVuYW1lIHRvICUuKnMucmVqIgotbXNnc3RyICLEkWFuZyBj4bqvdCBuZ+G6r24gdMOqbiB04bqtcCB0aW4gLnJlaiB0aMOgbmggJS4qcy5yZWoiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mjg1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gJXM6ICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI5OAotIywgYy1mb3JtYXQKLW1zZ2lkICJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIgotbXNnc3RyICJLaOG7kWkgbmjhu5sgIyVkIMSRxrDhu6NjIMOhcCBk4bulbmcgZ+G7jW4gZ8OgbmcuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDMwMQotIywgYy1mb3JtYXQKLW1zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCi1tc2dzdHIgIsSRb+G6oW4gZOG7ryBsaeG7h3UgIyVkIGLhu4sgdOG7qyBjaOG7kWkuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDM4NwotIywgYy1mb3JtYXQKLW1zZ2lkICJTa2lwcGVkIHBhdGNoICclcycuIgotbXNnc3RyICJi4buPIHF1YSDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDM5NQotbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKLW1zZ3N0ciAia2jDtG5nIHRo4burYSBuaOG6rW4gxJHhuqd1IHbDoG8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDA2Ci1tc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyB04bqtcCB0aW4gbMawdSBi4bqjbmcgbeG7pWMgbOG7pWMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTA5Ci1tc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKLW1zZ3N0ciAia2jDtG5nIMOhcCBk4bulbmcgY8OhYyB0aGF5IMSR4buVaSBraOG7m3AgduG7m2kgxJHGsOG7nW5nIGThuqtuIMSRw6MgY2hvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUxMgotbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCi1tc2dzdHIgIsOhcCBk4bulbmcgY8OhYyB0aGF5IMSR4buVaSBraOG7m3AgduG7m2kgxJHGsOG7nW5nIGThuqtuIMSRw6MgY2hvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUxNQotbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgotbXNnc3RyICJn4buhIGLhu48gPHPhu5E+IGThuqV1IGfhuqFjaCBjaMOpbyBk4bqrbiDEkeG6p3UgdOG7qyDEkcaw4budbmcgZOG6q24gZGlmZiBj4buVIMSRaeG7g24iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTE4Ci1tc2dpZCAiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIKLW1zZ3N0ciAibOG7nSDEkWkgcGjhuqduIGLhu5UgeHVuZyDEkcaw4bujYyB04bqhbyByYSBi4bufaSBtaeG6v25nIHbDoSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjAKLW1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCi1tc2dzdHIgIiIKLSJ0aGF5IHbDrCDDoXAgZOG7pW5nIG3hu5l0IG1p4bq/bmcgdsOhLCBr4bq/dCB4deG6pXQga+G6v3QgcXXhuqMgdOG7qyBs4buHbmggZGlmZnN0YXQgY2hvIMSR4bqndSByYSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjQKLW1zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgotbXNnc3RyICIiCi0iaGnhu4NuIHRo4buLIHPhu5EgbMaw4bujbmcgY8OhYyBkw7JuZyDEkcaw4bujYyB0aMOqbSB2w6BvIHbDoCB4w7NhIMSRaSB0aGVvIGvDvSBoaeG7h3UgdGjhuq1wIHBow6JuIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyNgotbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCi1tc2dzdHIgInRoYXkgdsOsIMOhcCBk4bulbmcgbeG7mXQgbWnhur9uZyB2w6EsIGvhur90IHh14bqldCBr4bq/dCBxdeG6oyBjaG8gxJHhuqd1IHbDoG8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTI4Ci1tc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKLW1zZ3N0ciAidGhheSB2w6wgw6FwIGThu6VuZyBtaeG6v25nIHbDoSwgaMOjeSB4ZW0geGVtIG1p4bq/bmcgdsOhIGPDsyB0aMOtY2ggaOG7o3Aga2jDtG5nIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzMAotbXNnaWQgIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIKLW1zZ3N0ciAiaMOjeSBjaOG6r2MgY2jhuq9uIGzDoCBtaeG6v25nIHbDoSB0aMOtY2ggaOG7o3AgduG7m2kgYuG6o25nIG3hu6VjIGzhu6VjIGhp4buHbiBow6BuaCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzIKLW1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKLW1zZ3N0ciAiw6FwIGThu6VuZyBt4buZdCBtaeG6v25nIHbDoSBtw6Aga2jDtG5nIMSR4buZbmcgY2jhuqFtIMSR4bq/biBjw6J5IGzDoG0gdmnhu4djIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzNAotbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCi1tc2dzdHIgImNo4bqlcCBuaOG6rW4gbeG7mXQgbWnhur9uZyB2w6EgbcOgIGtow7RuZyDEkeG7mW5nIGNo4bqhbSDEkeG6v24gY8OieSBsw6BtIHZp4buHYyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzYKLW1zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKLW1zZ3N0ciAiIgotIsSR4buTbmcgdGjhu51pIMOhcCBk4bulbmcgbWnhur9uZyB2w6EgKGTDuW5nIHbhu5tpIHTDuXkgY2jhu41uIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTM4Ci1tc2dpZCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIKLW1zZ3N0ciAidGjhu60gaMOyYSB0cuG7mW4ga2nhu4N1IHRocmVlLXdheSBu4bq/dSB2aeG7h2MgdsOhIGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIMSRxrDhu6NjIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU0MAotbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgotbXNnc3RyICIiCi0ieMOieSBk4buxbmcgYuG6o25nIG3hu6VjIGzhu6VjIHThuqFtIHRo4budaSB0csOqbiBjxqEgc+G7nyB0aMO0bmcgdGluIGLhuqNuZyBt4bulYyBs4bulYyDEkcaw4bujYyBuaMO6bmciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQzIGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjkgYnVpbHRpbi9scy1maWxlcy5jOjQyNQotbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgotbXNnc3RyICJjw6FjIMSRxrDhu51uZyBk4bqrbiBi4buLIG5nxINuIGPDoWNoIGLhu59pIGvDvSB04buxIE5VTEwiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQ1Ci1tc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgotbXNnc3RyICLEkeG6o20gYuG6o28gcuG6sW5nIGPDsyDDrXQgbmjhuqV0IDxuPiBkw7JuZyBu4buZaSBkdW5nIGto4bubcCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NDcKLW1zZ2lkICJkZXRlY3QgbmV3IG9yIG1vZGlmaWVkIGxpbmVzIHRoYXQgaGF2ZSB3aGl0ZXNwYWNlIGVycm9ycyIKLW1zZ3N0ciAidMOsbSB0aOG6pXkgbeG7mXQgZMOybmcgbeG7m2kgaG/hurdjIGLhu4sgc+G7rWEgxJHhu5VpIG3DoCBuw7MgY8OzIGzhu5dpIGRvIGtob+G6o25nIHRy4bqvbmciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTUwIGJ1aWx0aW4vYXBwbHkuYzo0NTUzCi1tc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKLW1zZ3N0ciAibOG7nSDEkWkgc+G7sSB0aGF5IMSR4buVaSBkbyBraG/huqNuZyB0cuG6r25nIGfDonkgcmEga2hpIHF1w6l0IG7hu5lpIGR1bmciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTU2Ci1tc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCi1tc2dzdHIgIsOhcCBk4bulbmcgbWnhur9uZyB2w6EgdGhlbyBjaGnhu4F1IG5nxrDhu6NjIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU1OAotbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgotbXNnc3RyICLEkeG7q25nIGh5IHbhu41uZyBjw7Mgw610IG5o4bqldCBt4buZdCBkw7JuZyBu4buZaSBkdW5nIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2MAotbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgotbXNnc3RyICLEkeG7gyBs4bqhaSBraOG7kWkgZOG7ryBsaeG7h3UgYuG7iyB04burIGNo4buRaSB0cm9uZyBjw6FjIHThuq1wIHRpbiAqLnJlaiB0xrDGoW5nIOG7qW5nIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2MgotbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgotbXNnc3RyICJjaG8gcGjDqXAgY2jhu5NuZyBraOG7kWkgbmjhu5siCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTY1Ci1tc2dpZCAidG9sZXJhdGUgaW5jb3JyZWN0bHkgZGV0ZWN0ZWQgbWlzc2luZyBuZXctbGluZSBhdCB0aGUgZW5kIG9mIGZpbGUiCi1tc2dzdHIgIiIKLSLEkcOjIGTDsiB0w6xtIHRo4bqleSBkdW5nIHNhaSBraMO0bmcgY2jDrW5oIHjDoWMgdGhp4bq/dSBkw7JuZyBt4bubaSB04bqhaSBjdeG7kWkgdOG6rXAgdGluIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2OAotbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKLW1zZ3N0ciAia2jDtG5nIHRpbiBz4buRIGzGsOG7o25nIGTDsm5nIHRyb25nIHBo4bqnbiDEkeG6p3Uga2jhu5FpIGThu68gbGnhu4d1IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU3MQotbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCi1tc2dzdHIgInRyZW8gdGjDqm0gPHJvb3Q+IHbDoG8gdOG6pXQgY+G6oyBjw6FjIHTDqm4gdOG6rXAgdGluIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU5MwotbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiLS0zd2F5IOG7nyBuZ2/DoGkgbeG7mXQga2hvIGNo4bupYSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2MDEKLW1zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgotbXNnc3RyICItLWluZGV4IOG7nyBuZ2/DoGkgbeG7mXQga2hvIGNo4bupYSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2MDQKLW1zZ2lkICItLWNhY2hlZCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiLS1jYWNoZWQg4bufIG5nb8OgaSBt4buZdCBraG8gY2jhu6lhIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDYyMwotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW4ndCBvcGVuIHBhdGNoICclcyciCi1tc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIG1p4bq/bmcgdsOhIOKAnCVz4oCdIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDYzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvciIKLW1zZ2lkX3BsdXJhbCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3JzIgotbXNnc3RyWzBdICLEkcOjIGNo4bqlbSBk4bupdCAlZCBs4buXaSBraG/huqNuZyB0cuG6r25nIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDY0MyBidWlsdGluL2FwcGx5LmM6NDY1MwotIywgYy1mb3JtYXQKLW1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnc3RyWzBdICIlZCBkw7JuZyB0aMOqbSBraG/huqNuZyB0cuG6r25nIGzhu5dpLiIKLQogIzogYnVpbHRpbi9hcmNoaXZlLmM6MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBhcmNoaXZlIGZpbGUgJyVzJyIKQEAgLTM3MTAsMTE4ICs0NTg3LDE2OCBAQAogbXNnaWQgIjxyZXYtb3B0cz4gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICI8cmV2LW9wdHM+IMSRxrDhu6NjIG3DtCB04bqjIHRyb25nIHTDoGkgbGnhu4d1IGdpdC1yZXYtbGlzdCgxKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjE3ODIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoxNzgxCiBtc2dpZCAiQmxhbWluZyBsaW5lcyIKIG1zZ3N0ciAiQ8OhYyBkw7JuZyBibGFtZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc3CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIGPDoWMgbeG7pWMg4oCcYmxhbWXigJ0gbmjGsCBsw6AgY2jDum5nIHRhIHRo4bqleSBjaMO6bmcsIHTEg25nIGThuqduIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzMgorIzogYnVpbHRpbi9ibGFtZS5jOjI1NzgKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAiSGnhu4NuIHRo4buLIFNIQS0xIHRy4bqvbmcgY2hvIG5o4buvbmcgbOG6p24gY2h1eeG7g24gZ2lhbyBiacOqbiBnaeG7m2kgKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTMzCisjOiBidWlsdGluL2JsYW1lLmM6MjU3OQogbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiS2jDtG5nIGNvaSBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gZ+G7kWMgbMOgIGdp4bubaSBo4bqhbiAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgwCiBtc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIHRo4buRbmcga8OqIGPDtG5nIHPhu6ljIGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzNQorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODEKIG1zZ2lkICJGb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIsOJcCBideG7mWMgYsOhbyBjw6FvIHRp4bq/biB0cmnhu4NuIGPDtG5nIHZp4buHYyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgyCiBtc2dpZCAiU2hvdyBvdXRwdXQgc2NvcmUgZm9yIGJsYW1lIGVudHJpZXMiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyBr4bq/dCB4deG6pXQgxJFp4buDbSBz4buRIGPDsyBjw6FjIG3hu6VjIHRpbiDigJxibGFtZeKAnSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgzCiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyB0w6puIHThuq1wIHRpbiBn4buRYyAoTeG6t2MgxJHhu4tuaDogYXV0bykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM4CisjOiBidWlsdGluL2JsYW1lLmM6MjU4NAogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIHPhu5EgZMOybmcgZ+G7kWMgKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM5CisjOiBidWlsdGluL2JsYW1lLmM6MjU4NQogbXNnaWQgIlNob3cgaW4gYSBmb3JtYXQgZGVzaWduZWQgZm9yIG1hY2hpbmUgY29uc3VtcHRpb24iCiBtc2dzdHIgIkhp4buDbiB0aOG7iyDhu58gxJHhu4tuaCBk4bqhbmcgxJHDoyB0aGnhur90IGvhur8gY2hvIHPhu7EgdGnDqnUgZMO5bmcgYuG6sW5nIG3DoXkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQwCisjOiBidWlsdGluL2JsYW1lLmM6MjU4NgogbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIMSR4buLbmggZOG6oW5nIOKAnHBvcmNlbGFpbuKAnSB24bubaSB0aMO0bmcgdGluIGNodXnhu4NuIGdpYW8gbeG7l2kgZMOybmciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQxCisjOiBidWlsdGluL2JsYW1lLmM6MjU4NwogbXNnaWQgIlVzZSB0aGUgc2FtZSBvdXRwdXQgbW9kZSBhcyBnaXQtYW5ub3RhdGUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkTDuW5nIGPDuW5nIGNo4bq/IMSR4buZIHh14bqldCByYSB24bubaSBnaXQtYW5ub3RhdGUgKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQyCisjOiBidWlsdGluL2JsYW1lLmM6MjU4OAogbXNnaWQgIlNob3cgcmF3IHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIGThuqV1IHbhur90IHRo4budaSBnaWFuIGThuqFuZyB0aMO0IChN4bq3YyDEkeG7i25oOiBvZmYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0MworIzogYnVpbHRpbi9ibGFtZS5jOjI1ODkKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyBTSEExIGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8gZOG6oW5nIGTDoGkgKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ0CisjOiBidWlsdGluL2JsYW1lLmM6MjU5MAogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIktow7RuZyBoaeG7g24gdGjhu4sgdMOqbiB0w6FjIGdp4bqjIHbDoCBk4bqldSB24bq/dCB0aOG7nWkgZ2lhbiAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkxCiBtc2dpZCAiU2hvdyBhdXRob3IgZW1haWwgaW5zdGVhZCBvZiBuYW1lIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJIaeG7g24gdGjhu4sgdGjGsCDEkWnhu4duIHThu60gY+G7p2EgdMOhYyBnaeG6oyB0aGF5IHbDrCB0w6puIChN4bq3YyDEkeG7i25oOiBvZmYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0NgorIzogYnVpbHRpbi9ibGFtZS5jOjI1OTIKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAiQuG7jyBxdWEgY8OhYyBraMOhYyBiaeG7h3QgZG8ga2hv4bqjbmcgdHLhuq9uZyBnw6J5IHJhIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0NworIzogYnVpbHRpbi9ibGFtZS5jOjI1OTkKK21zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGluZGVudC1iYXNlZCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKK21zZ3N0ciAiRMO5bmcgbeG7mXQgcGjhu49uZyDEkW/DoW4gZOG7sWEgdHLDqm4gdGjhu6V0IGzhu4EgdGjhu60gbmdoaeG7h20gxJHhu4MgdMSDbmcgY8aw4budbmcgY8OhYyBkaWZmIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjYwMAorbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgYmxhbmstbGluZS1iYXNlZCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKK21zZ3N0ciAiIgorIkTDuW5nIG3hu5l0IHBo4buPbmcgxJFvw6FuIGThu7FhIHRyw6puIGTDsm5nIHRy4bqvbmcgdGjhu60gbmdoaeG7h20gxJHhu4MgdMSDbmcgY8aw4budbmcgY8OhYyBkaWZmIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjYwMgogbXNnaWQgIlNwZW5kIGV4dHJhIGN5Y2xlcyB0byBmaW5kIGJldHRlciBtYXRjaCIKIG1zZ3N0ciAiVGnDqnUgdGjhu6UgdGjDqm0gbsSDbmcgdMOgaSBuZ3V5w6puIG3DoXkgbcOzYyDEkeG7gyB0w6xtIGtp4bq/bSB04buRdCBoxqFuIG7hu69hIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0OAorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDMKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCiBtc2dzdHIgIiIKICJT4butIGThu6VuZyDEkWnhu4NtIHjDqXQgZHV54buHdCAocmV2aXNpb24pIHThu6sgPHThuq1wIHRpbj4gdGhheSB2w6wgZ+G7jWkg4oCcZ2l0LXJldi1saXN04oCdIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0OQorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDQKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICJT4butIGThu6VuZyBu4buZaSBkdW5nIGPhu6dhIDx04bqtcCB0aW4+IG5oxrAgbMOgIOG6o25oIGN14buRaSBjw7luZyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTAgYnVpbHRpbi9ibGFtZS5jOjI1NTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA1IGJ1aWx0aW4vYmxhbWUuYzoyNjA2CiBtc2dpZCAic2NvcmUiCiBtc2dzdHIgIsSRaeG7g20gc+G7kSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA1CiBtc2dpZCAiRmluZCBsaW5lIGNvcGllcyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiVMOsbSBjw6FjIGLhuqNuIHNhbyBjaMOpcCBkw7JuZyB0cm9uZyB2w6AgbmdhbmcgcXVhIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA2CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiVMOsbSBjw6FjIGRpIGNodXnhu4NuIGTDsm5nIHRyb25nIHbDoCBuZ2FuZyBxdWEgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU1MgorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDcKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIm4sbSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTIKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA3CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIljhu60gbMO9IGNo4buJIGTDsm5nIHbDuW5nIG4sbSwgdMOtbmggdOG7qyAxIgogCisjOiBidWlsdGluL2JsYW1lLmM6MjY1NAorbXNnaWQgIi0tcHJvZ3Jlc3MgY2FuJ3QgYmUgdXNlZCB3aXRoIC0taW5jcmVtZW50YWwgb3IgcG9yY2VsYWluIGZvcm1hdHMiCittc2dzdHIgIiIKKyItLXByb2dyZXNzIGtow7RuZyDEkcaw4bujYyBkw7luZyBjw7luZyB24bubaSAtLWluY3JlbWVudGFsIGhheSBjw6FjIMSR4buLbmggZOG6oW5nIHBvcmNlbGFpbiIKKwogIy4gVFJBTlNMQVRPUlM6IFRoaXMgc3RyaW5nIGlzIHVzZWQgdG8gdGVsbCB1cyB0aGUgbWF4aW11bQogIy4gZGlzcGxheSB3aWR0aCBmb3IgYSByZWxhdGl2ZSB0aW1lc3RhbXAgaW4gImdpdCBibGFtZSIKICMuIG91dHB1dC4gIEZvciBDIGxvY2FsZSwgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iLCB3aGljaAogIy4gdGFrZXMgMjIgcGxhY2VzLCBpcyB0aGUgbG9uZ2VzdCBhbW9uZyB2YXJpb3VzIGZvcm1zIG9mCiAjLiByZWxhdGl2ZSB0aW1lc3RhbXBzLCBidXQgeW91ciBsYW5ndWFnZSBtYXkgbmVlZCBtb3JlIG9yCiAjLiBmZXdlciBkaXNwbGF5IGNvbHVtbnMuCi0jOiBidWlsdGluL2JsYW1lLmM6MjY0MQorIzogYnVpbHRpbi9ibGFtZS5jOjI3MDAKIG1zZ2lkICI0IHllYXJzLCAxMSBtb250aHMgYWdvIgogbXNnc3RyICI0IG7Eg20sIDExIHRow6FuZyB0csaw4bubYyIKIAorIzogYnVpbHRpbi9ibGFtZS5jOjI3ODAKK21zZ2lkICItLWNvbnRlbnRzIGFuZCAtLXJldmVyc2UgZG8gbm90IGJsZW5kIHdlbGwuIgorbXNnc3RyICJ0w7l5IGNo4buNbi0tY29udGVudHMgdsOgIC0tcmV2ZXJzZSBraMO0bmcgxJHGsOG7o2MgdHLhu5luIHbDoG8gbmhhdS4iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODAwCittc2dpZCAiY2Fubm90IHVzZSAtLWNvbnRlbnRzIHdpdGggZmluYWwgY29tbWl0IG9iamVjdCBuYW1lIgorbXNnc3RyICJraMO0bmcgdGjhu4MgZMO5bmcgLS1jb250ZW50cyB24bubaSB0w6puIMSR4buRaSB0xrDhu6NuZyBjaHV54buDbiBnaWFvIGN14buRaSBjw7luZyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MDUKK21zZ2lkICItLXJldmVyc2UgYW5kIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgc3BlY2lmaWVkIGxhdGVzdCBjb21taXQiCittc2dzdHIgIiIKKyItLXJldmVyc2UgdsOgIC0tZmlyc3QtcGFyZW50IGPDuW5nIG5oYXUgY+G6p24gY2jhu4kgxJHhu4tuaCBs4bqnbiBjaHV54buDbiBnaWFvIGN14buRaSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MzIKK21zZ2lkICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgorbXNnc3RyICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IGPDuW5nIG5oYXUgecOqdSBj4bqndSB2w7luZyBjw7luZyB24bubaSBjaHXhu5dpIGNoYS1t4bq5LcSR4bqndS0iCisidGnDqm4iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODQzCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKK21zZ3N0ciAia2jDtG5nIGPDsyDEkcaw4budbmcgZOG6q24gJXMgdHJvbmcg4oCcJXPigJ0iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyODU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIGJsb2IgJXMgZm9yIHBhdGggJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgYmxvYiAlcyBjaG8gxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIgorCisjOiBidWlsdGluL2JsYW1lLmM6Mjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lIgorbXNnaWRfcGx1cmFsICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIKK21zZ3N0clswXSAidOG6rXAgdGluICVzIGNo4buJIGPDsyAlbHUgZMOybmciCisKICM6IGJ1aWx0aW4vYnJhbmNoLmM6MjYKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCiBtc2dzdHIgImdpdCBicmFuY2ggWzxjw6FjLXTDuXktY2jhu41uPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKQEAgLTM5MjEsMTE4ICs0ODQ4LDEyNSBAQAogbXNnaWQgIkRlbGV0ZWQgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICJOaMOhbmgg4oCcJXPigJ0gxJHDoyBi4buLIHjDs2EgKHThu6tuZyBsw6AgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzA5CisjOiBidWlsdGluL2JyYW5jaC5jOjMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGdvbmVdIgogbXNnc3RyICJbJXM6IMSRw6MgcmEgxJFpXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslc10iCiBtc2dzdHIgIlslc10iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE5CisjOiBidWlsdGluL2JyYW5jaC5jOjMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCiBtc2dzdHIgIlslczogxJHhu6luZyBzYXUgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyMQorIzogYnVpbHRpbi9icmFuY2guYzozMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiW2JlaGluZCAlZF0iCiBtc2dzdHIgIlvEkeG6sW5nIHNhdSAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI1CisjOiBidWlsdGluL2JyYW5jaC5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGFoZWFkICVkXSIKIG1zZ3N0ciAiWyVzOiBwaMOtYSB0csaw4bubYyAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI3CisjOiBidWlsdGluL2JyYW5jaC5jOjMzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJbYWhlYWQgJWRdIgogbXNnc3RyICJbcGjDrWEgdHLGsOG7m2MgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMAorIzogYnVpbHRpbi9icmFuY2guYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKIG1zZ3N0ciAiWyVzOiB0csaw4bubYyAlZCwgc2F1ICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlthaGVhZCAlZCwgYmVoaW5kICVkXSIKIG1zZ3N0ciAiW3RyxrDhu5tjICVkLCBzYXUgJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjM0NgorIzogYnVpbHRpbi9icmFuY2guYzozNDkKIG1zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgogbXNnc3RyICIgKioqKiB0aGFtIGNoaeG6v3Uga2jDtG5nIGjhu6NwIGzhu4cgKioqKiIKIAotIzogYnVpbHRpbi9icmFuY2guYzozNzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKIG1zZ3N0ciAiKGtow7RuZyBuaMOhbmgsIMSRYW5nIGPhuqNpIHThu5UgJXMpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjM3NQorIzogYnVpbHRpbi9icmFuY2guYzozNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgogbXNnc3RyICIoa2jDtG5nIG5ow6FuaCwgZGkgY2h1eeG7g24gbuG7rWEgYsaw4bubYyDEkcaw4bujYyBi4bqvdCDEkeG6p3UgdOG6oWkgJXMpIgogCiAjLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwogIy4gIkhFQUQgZGV0YWNoZWQgYXQgIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIihIRUFEIGRldGFjaGVkIGF0ICVzKSIKIG1zZ3N0ciAiKEhFQUQgxJHGsOG7o2MgdMOhY2ggcuG7nWkgdOG6oWkgJXMpIgogCiAjLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcwogIy4gIkhFQUQgZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCi0jOiBidWlsdGluL2JyYW5jaC5jOjM4NgorIzogYnVpbHRpbi9icmFuY2guYzozODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCiBtc2dzdHIgIihIRUFEIMSRxrDhu6NjIHTDoWNoIHLhu51pIHThu6sgJXMpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjM5MAorIzogYnVpbHRpbi9icmFuY2guYzozOTMKIG1zZ2lkICIobm8gYnJhbmNoKSIKIG1zZ3N0ciAiKGtow7RuZyBuaMOhbmgpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU0MQorIzogYnVpbHRpbi9icmFuY2guYzo1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIHJlYmFzZWQgYXQgJXMiCiBtc2dzdHIgIk5ow6FuaCAlcyDEkWFuZyDEkcaw4bujYyBj4bqjaSB04buVIGzhuqFpIHThuqFpICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU0NQorIzogYnVpbHRpbi9icmFuY2guYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIGJpc2VjdGVkIGF0ICVzIgogbXNnc3RyICJOaMOhbmggJXMgxJFhbmcgxJHGsOG7o2MgZGkgY2h1eeG7g24gcGjDom4gxJHDtGkgKGJpc2VjdCkgdOG6oWkgJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYwCisjOiBidWlsdGluL2JyYW5jaC5jOjU2MwogbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu5VpIHTDqm4gbmjDoW5oIGhp4buHbiBow6BuaCB0cm9uZyBraGkgbsOzIGNo4bqzbmcg4bufIMSRw6J1IGPhuqMuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU3MAorIzogYnVpbHRpbi9icmFuY2guYzo1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAiVMOqbiBuaMOhbmgga2jDtG5nIGjhu6NwIGzhu4c6IOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU4NworIzogYnVpbHRpbi9icmFuY2guYzo1OTAKIG1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSR4buVaSB0w6puIG5ow6FuaCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICLEkMOjIMSR4buVaSB0w6puIG5ow6FuaCBraHV54bq/dCBkYW5oIOKAnCVz4oCdIMSRaSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgIk5ow6FuaCBi4buLIMSR4buVaSB0w6puIHRow6BuaCAlcywgbmjGsG5nIEhFQUQgbOG6oWkga2jDtG5nIMSRxrDhu6NjIGPhuq1wIG5o4bqtdCEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAxCisjOiBidWlsdGluL2JyYW5jaC5jOjYwNAogbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiTmjDoW5oIGLhu4sgxJHhu5VpIHTDqm4sIG5oxrBuZyBj4bqtcCBuaOG6rXQgdOG6rXAgdGluIGPhuqV1IGjDrG5oIGfhurdwIGzhu5dpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMwotbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBicmFuY2ggZGVzY3JpcHRpb24gdGVtcGxhdGUiCi1tc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgbeG6q3UgbcO0IHThuqMgbmjDoW5oIgorIzogYnVpbHRpbi9icmFuY2guYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlBsZWFzZSBlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaFxuIgorIiAgJXNcbiIKKyJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBzdHJpcHBlZC5cbiIKK21zZ3N0ciAiIgorIlZp4bq/dCBjw6FjIGdoaSBjaMO6IGNobyBuaMOhbmg6XG4iCisiICAlc1xuIgorIk5o4buvbmcgZMOybmcgxJHGsOG7o2MgYuG6r3QgxJHhuqd1IGLhurFuZyDigJwlY+KAnSBz4bq9IMSRxrDhu6NjIGPhuq90IGLhu48uXG4iCiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUxCiBtc2dpZCAiR2VuZXJpYyBvcHRpb25zIgpAQCAtNDA2Miw2ICs0OTk2LDEwIEBACiBtc2dpZCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICJ0aGF5IMSR4buVaSB0aMO0bmcgdGluIHRoxrDhu6NuZyBuZ3Xhu5NuIgogCisjOiBidWlsdGluL2JyYW5jaC5jOjY2MAorbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgorbXNnc3RyICJC4buPIMSR4bq3dCB0aMO0bmcgdGluIHRoxrDhu6NuZyBuZ3Xhu5NuIgorCiAjOiBidWlsdGluL2JyYW5jaC5jOjY2MQogbXNnaWQgInVzZSBjb2xvcmVkIG91dHB1dCIKIG1zZ3N0ciAidMO0IG3DoHUga+G6v3QgeHXhuqV0IgpAQCAtNDEzNCw4ICs1MDcyLDggQEAKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCiBtc2dzdHIgInTDqm4gdHLGsOG7nW5nIGPhuqduIHPhuq9wIHjhur9wIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDEKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDQgYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL25vdGVzLmM6NTY3CisjOiBidWlsdGluL2JyYW5jaC5jOjY4NiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbm90ZXMuYzo0MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDcgYnVpbHRpbi9ub3Rlcy5jOjU2NyBidWlsdGluL25vdGVzLmM6NTcwCiAjOiBidWlsdGluL3RhZy5jOjM2OQogbXNnaWQgIm9iamVjdCIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIgpAQCAtNDE0OCw3ICs1MDg2LDcgQEAKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHBow6JuIGdp4bqjaSBIRUFEIG5oxrAgbMOgIG3hu5l0IHRoYW0gY2hp4bq/dSBo4bujcCBs4buHLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MDkgYnVpbHRpbi9jbG9uZS5jOjcwNworIzogYnVpbHRpbi9icmFuY2guYzo3MDkgYnVpbHRpbi9jbG9uZS5jOjcwNgogbXNnaWQgIkhFQUQgbm90IGZvdW5kIGJlbG93IHJlZnMvaGVhZHMhIgogbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgSEVBRCDhu58gZMaw4bubaSByZWZzL2hlYWRzISIKIApAQCAtNDI2MCw2NCArNTE5OCw4MCBAQAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiQ+G6p24gbeG7mXQga2hvIGNo4bupYSDEkeG7gyBjw7MgdGjhu4MgZ2nhuqNpIG7DqW4gbeG7mXQgYnVuZGxlLiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQyOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxMwogbXNnaWQgIiIKLSJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV18LXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXXwtZXwtcHwiCi0iPHR5cGU+fC0tdGV4dGNvbnYpIDxvYmplY3Q+IgorImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCisicCB8IDx0eXBlPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PHBhdGg+XSA8b2JqZWN0PiIKIG1zZ3N0ciAiIgotImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXXwtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdfC1lfC1wfCIKLSI8a2nhu4N1PnwtLXRleHRjb252KSA8xJHhu5FpX3TGsOG7o25nPiIKKyJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgorInAgfCA8a2nhu4N1PiB8IC0tdGV4dGNvbnYpIHwgLS1maWx0ZXJzKSBbLS1wYXRoPTzEkcaw4budbmcvZOG6q24+XSA8xJHhu5FpX3TGsOG7o25nPiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQyOQotbXNnaWQgImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10iCi1tc2dzdHIgImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10iCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTE0Cittc2dpZCAiIgorImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKKyJmaWx0ZXJzXSIKK21zZ3N0ciAiIgorImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKKyJmaWx0ZXJzXSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ2NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MQogbXNnaWQgIjx0eXBlPiBjYW4gYmUgb25lIG9mOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIG1zZ3N0ciAiPGtp4buDdT4gbMOgIG3hu5l0IHRyb25nIHPhu5E6IGJsb2IsIHRyZWUsIGNvbW1pdCBob+G6t2MgdGFnIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDY3CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTUyCiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGtp4buDdSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NjgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTMKIG1zZ2lkICJzaG93IG9iamVjdCBzaXplIgogbXNnc3RyICJoaeG7g24gdGjhu4sga8OtY2ggdGjGsOG7m2MgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDcwCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU1CiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICJ0aG/DoXQgduG7m2kgMCBraGkga2jDtG5nIGPDsyBs4buXaSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3MQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NgogbXNnaWQgInByZXR0eS1wcmludCBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJpbiBu4buZaSBkdW5nIMSR4buRaSB0xrDhu6NuZyBk4bqhbmcgZOG7hSDEkeG7jWMiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NTgKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiduG7m2kgxJHhu5FpIHTGsOG7o25nIGJsb2IsIGNo4bqheSBs4buHbmggdGV4dGNvbnYgdHLDqm4gbuG7mWkgZHVuZyBj4bunYSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjAKK21zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgorbXNnc3RyICJ24bubaSDEkeG7kWkgdMaw4bujbmcgYmxvYiwgY2jhuqF5IGzhu4duaCBmaWx0ZXJzIHRyw6puIG7hu5lpIGR1bmcgY+G7p2EgxJHhu5FpIHTGsOG7o25nIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTYxIGdpdC1zdWJtb2R1bGUuc2g6OTIzCittc2dpZCAiYmxvYiIKK21zZ3N0ciAiYmxvYiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MgorbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgorbXNnc3RyICJkw7luZyBt4buZdCDEkcaw4budbmcgZOG6q24gcsO1IHLDoG5nIGNobyAtLXRleHRjb252Ly0tZmlsdGVycyIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NAogbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKIG1zZ3N0ciAiY2hvIHBow6lwIC1zIHbDoCAtdCDEkeG7gyBsw6BtIHZp4buHYyB24bubaSBjw6FjIMSR4buRaSB0xrDhu6NuZyBzYWkvaOG7j25nIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDc2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY1CiBtc2dpZCAiYnVmZmVyIC0tYmF0Y2ggb3V0cHV0IgogbXNnc3RyICLEkeG7h20ga+G6v3QgeHXhuqV0IC0tYmF0Y2giCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0NzgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NjcKIG1zZ2lkICJzaG93IGluZm8gYW5kIGNvbnRlbnQgb2Ygb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKICJoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB2w6AgbuG7mWkgZHVuZyBj4bunYSBjw6FjIMSR4buRaSB0xrDhu6NuZyBs4bqleSB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0ODEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzAKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHRow7RuZyB0aW4gduG7gSDEkeG7kWkgdMaw4bujbmcgZmVkICB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0ODQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzMKIG1zZ2lkICJmb2xsb3cgaW4tdHJlZSBzeW1saW5rcyAodXNlZCB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjaykiCiBtc2dzdHIgInRoZW8gbGnDqm4ga+G6v3QgbeG7gW0gdHJvbmctY8OieSAoxJHGsOG7o2MgZMO5bmcgduG7m2kgLS1iYXRjaCBoYXkgLS1iYXRjaC1jaGVjaykiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0ODYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzUKIG1zZ2lkICJzaG93IGFsbCBvYmplY3RzIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrIgogbXNnc3RyICJoaeG7g24gdGjhu4sgbeG7jWkgxJHhu5FpIHTGsOG7o25nIHbhu5tpIC0tYmF0Y2ggaGF5IC0tYmF0Y2gtY2hlY2siCiAKQEAgLTQzMzcsNyArNTI5MSw3IEBACiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgImNo4buJIGTDuW5nIC5naXRhdHRyaWJ1dGVzIHThu6sgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIyIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NworIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKIG1zZ2lkICJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAixJHhu41jIHTDqm4gdOG6rXAgdGluIHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiIKIApAQCAtNDM0NSw3ICs1Mjk5LDcgQEAKIG1zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAiY2jhuqVtIGThu6l0IGPDoWMgYuG6o24gZ2hpIHbDoG8gdsOgIHJhIGLhurFuZyBrw70gdOG7sSBOVUxMIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM1IGJ1aWx0aW4vZ2MuYzozMjUKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjExMzcgYnVpbHRpbi9nYy5jOjMyNQogbXNnaWQgInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiY2jhurduIGPDoWMgYsOhbyBjw6FvIHRp4bq/biB0csOsbmggaG/huqF0IMSR4buZbmciCiAKQEAgLTQ0MzYsOSArNTM5MCw5IEBACiBtc2dzdHIgImdoaSBu4buZaSBkdW5nIHbDoG8gdOG6rXAgdGluIHThuqFtIgogCiAjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0IGJ1aWx0aW4vY29sdW1uLmM6MzAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTAwCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ2OQogbXNnaWQgInN0cmluZyIKIG1zZ3N0ciAiY2h14buXaSIKIApAQCAtNDUwNSw2MyArNTQ1OSw1OSBAQAogbXNnc3RyICIiCiAiS2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCBjw6FjIMSRxrDhu51uZyBk4bqrbiB2w6AgY2h1eeG7g24gxJHhur9uIG5ow6FuaCDigJwlc+KAnSBjw7luZyBt4buZdCBsw7pjLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3OSBidWlsdGluL2NoZWNrb3V0LmM6NDczCi1tc2dpZCAiY29ycnVwdCBpbmRleCBmaWxlIgotbXNnc3RyICJ04bqtcCB0aW4gZ2hpIGLhuqNuZyBt4bulYyBs4bulYyBi4buLIGjhu49uZyIKLQogIzogYnVpbHRpbi9jaGVja291dC5jOjMzOSBidWlsdGluL2NoZWNrb3V0LmM6MzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIGtow7RuZyDEkcaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NQorIzogYnVpbHRpbi9jaGVja291dC5jOjQ5NAogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICJi4bqhbiBj4bqnbiBwaOG6o2kgZ2nhuqNpIHF1eeG6v3QgYuG6o25nIG3hu6VjIGzhu6VjIGhp4buHbiB04bqhaSBj4bunYSBi4bqhbiB0csaw4bubYyDEkcOjIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjIyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiByZWZsb2cgY2hvIOKAnCVz4oCdOiAlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjYzCiBtc2dpZCAiSEVBRCBpcyBub3cgYXQiCiBtc2dzdHIgIkhFQUQgaGnhu4duIGdp4budIHThuqFpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjY0IGJ1aWx0aW4vY2xvbmUuYzo2NjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjcgYnVpbHRpbi9jbG9uZS5jOjY2MAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgSEVBRCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCBIRUFEIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIsSQ4bq3dCBs4bqhaSBuaMOhbmgg4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjY3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKIG1zZ3N0ciAixJDDoyBz4bq1biBzw6BuZyB0csOqbiDigJwlc+KAnVxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLEkMOjIGNodXnhu4NuIHThu5tpIHbDoCDEkeG6t3QgbOG6oWkgbmjDoW5oIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzcgYnVpbHRpbi9jaGVja291dC5jOjEwNjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODAgYnVpbHRpbi9jaGVja291dC5jOjEwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAixJDDoyBjaHV54buDbiDEkeG6v24gbmjDoW5oIG3hu5tpIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAixJDDoyBjaHV54buDbiDEkeG6v24gbmjDoW5oIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIOKApiB2w6Agbmhp4buBdSBoxqFuICVkLlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtNDU4MCw3ICs1NTMwLDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTQ2MDEsMTUyICs1NTUxLDE1MiBAQAogIiBnaXQgYnJhbmNoIDx0w6puX25ow6FuaF9t4bubaT4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjc5NAogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgImzhu5dpIG7hu5lpIGLhu5kgdHJvbmcga2hpIGRpIGNodXnhu4NuIHF1YSBjw6FjIMSRaeG7g20geMOpdCBkdXnhu4d0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk4CiBtc2dpZCAiUHJldmlvdXMgSEVBRCBwb3NpdGlvbiB3YXMiCiBtc2dzdHIgIlbhu4sgdHLDrSB0csaw4bubYyBraWEgY+G7p2EgSEVBRCBsw6AiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MjMgYnVpbHRpbi9jaGVja291dC5jOjEwNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MjUgYnVpbHRpbi9jaGVja291dC5jOjEwNjQKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJC4bqhbiB04bqhaSBuaMOhbmggbcOgIG7DsyBjaMawYSBo4buBIMSRxrDhu6NjIHNpbmggcmEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgImNo4buJIGPhuqduIG3hu5l0IHRoYW0gY2hp4bq/dSwgbmjGsG5nIGzhuqFpIMSRxrBhIHJhICVkLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDggYnVpbHRpbi93b3JrdHJlZS5jOjIxMgorIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTAgYnVpbHRpbi93b3JrdHJlZS5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCiBtc2dzdHIgInRoYW0gY2hp4bq/dSBraMO0bmcgaOG7o3AgbOG7hzogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgInRoYW0gY2hp4bq/dSBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBjw6J5OiVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3NgorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzgKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiY8OhYyDEkcaw4budbmcgZOG6q24ga2jDtG5nIHRo4buDIGTDuW5nIGPDuW5nIHbhu5tpIGPDoWMgbmjDoW5oIGNodXnhu4NuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3OSBidWlsdGluL2NoZWNrb3V0LmM6MTA4MworIzogYnVpbHRpbi9jaGVja291dC5jOjEwODEgYnVpbHRpbi9jaGVja291dC5jOjEwODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIHPhu60gZOG7pW5nIHbhu5tpIGPDoWMgbmjDoW5oIGNodXnhu4NuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA4NyBidWlsdGluL2NoZWNrb3V0LmM6MTA5MCBidWlsdGluL2NoZWNrb3V0LmM6MTA5NQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJyVzJyIKIG1zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIGTDuW5nIHbhu5tpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwMworIzogYnVpbHRpbi9jaGVja291dC5jOjExMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0ICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBjaHV54buDbiBuaMOhbmggxJHhur9uIG3hu5l0IHRo4bupIGtow7RuZyBwaOG6o2kgbMOgIGzhuqduIGNodXnhu4NuIGdpYW8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM4IGJ1aWx0aW4vY2xvbmUuYzo4OAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjUgYnVpbHRpbi9yZW1vdGUuYzoxNjcgYnVpbHRpbi93b3JrdHJlZS5jOjMyMwotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNQorIzogYnVpbHRpbi9jaGVja291dC5jOjExMzggYnVpbHRpbi9jaGVja291dC5jOjExNDAgYnVpbHRpbi9jbG9uZS5jOjkzCisjOiBidWlsdGluL3JlbW90ZS5jOjE2NSBidWlsdGluL3JlbW90ZS5jOjE2NyBidWlsdGluL3dvcmt0cmVlLmM6MzI0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzI2CiBtc2dpZCAiYnJhbmNoIgogbXNnc3RyICJuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOQogbXNnaWQgImNyZWF0ZSBhbmQgY2hlY2tvdXQgYSBuZXcgYnJhbmNoIgogbXNnc3RyICJ04bqhbyB2w6AgY2hlY2tvdXQgbeG7mXQgbmjDoW5oIG3hu5tpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDEKIG1zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgogbXNnc3RyICJ04bqhby/EkeG6t3RfbOG6oWkgdsOgIGNoZWNrb3V0IG3hu5l0IG5ow6FuaCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQyCiBtc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAidOG6oW8gcmVmbG9nIGNobyBuaMOhbmggbeG7m2kiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQxCi1tc2dpZCAiZGV0YWNoIHRoZSBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKLW1zZ3N0ciAicuG7nWkgYuG7jyBIRUFEIHThuqFpIGzhuqduIGNodXnhu4NuIGdpYW8gZGFuaCBuZ2jEqWEiCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MyBidWlsdGluL3dvcmt0cmVlLmM6MzI4Cittc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgorbXNnc3RyICJy4budaSBi4buPIEhFQUQgdOG6oWkgbOG6p24gY2h1eeG7g24gZ2lhbyB0aGVvIHTDqm4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NAogbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICLEkeG6t3QgdGjDtG5nIHRpbiB0aMaw4bujbmcgbmd14buTbiBjaG8gbmjDoW5oIG3hu5tpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDYKIG1zZ2lkICJuZXctYnJhbmNoIgogbXNnc3RyICJuaMOhbmgtbeG7m2kiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NgogbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKIG1zZ3N0ciAibmjDoW5oIGtow7RuZyBjaGEgbeG7m2kiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NwogbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAiIgogImzhuqV5IHJhIChjaGVja291dCkgcGhpw6puIGLhuqNuIGPhu6dhIGNow7puZyB0YSBjaG8gY8OhYyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OQogbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgogbXNnc3RyICIiCiAibOG6pXkgcmEgKGNoZWNrb3V0KSBwaGnDqm4gYuG6o24gY+G7p2EgY2jDum5nIGjhu40gY2hvIGPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTEKIG1zZ2lkICJmb3JjZSBjaGVja291dCAodGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zKSIKIG1zZ3N0ciAiw6lwIGJ14buZYyBs4bqleSByYSAoYuG7jyDEkWkgbmjhu69uZyB0aGF5IMSR4buVaSBu4buZaSBi4buZKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCiBtc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCiBtc2dzdHIgInRo4buxYyBoaeG7h24gaMOyYSB0cuG7mW4ga2nhu4N1IDMtd2F5IHbhu5tpIG5ow6FuaCBt4bubaSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTEgYnVpbHRpbi9tZXJnZS5jOjIzMAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMgYnVpbHRpbi9tZXJnZS5jOjIzMQogbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiY+G6rXAgbmjhuq10IGPDoWMgdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEgKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MiBidWlsdGluL2xvZy5jOjE0MzIgcGFyc2Utb3B0aW9ucy5oOjI1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTQgYnVpbHRpbi9sb2cuYzoxNDY2IHBhcnNlLW9wdGlvbnMuaDoyNTEKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAia2nhu4N1IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MworIzogYnVpbHRpbi9jaGVja291dC5jOjExNTUKIG1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgogbXNnc3RyICJ4dW5nIMSR4buZdCBraeG7g3UgKGjDsmEgdHLhu5luIGhv4bq3YyBkaWZmMykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKIG1zZ3N0ciAia2jDtG5nIGdp4bubaSBo4bqhbiDEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24gdGjDoG5oIGNo4buJIGPDoWMgbeG7pWMgdGjGsGEgdGjhu5t0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKIG1zZ3N0ciAiZ+G7o2kgw70gdGjhu6kgaGFpIFwiZ2l0IGNoZWNrb3V0IDxraMO0bmctbmjDoW5oLW7DoG8tbmjGsC124bqteT5cIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYyCiBtc2dpZCAiZG8gbm90IGNoZWNrIGlmIGFub3RoZXIgd29ya3RyZWUgaXMgaG9sZGluZyB0aGUgZ2l2ZW4gcmVmIgogbXNnc3RyICJraMO0bmcga2nhu4NtIHRyYSBu4bq/dSBjw6J5IGzDoG0gdmnhu4djIGtow6FjIMSRYW5nIGdp4buvIHRoYW0gY2hp4bq/dSDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNjEgYnVpbHRpbi9jbG9uZS5jOjYwIGJ1aWx0aW4vZmV0Y2guYzoxMTYKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjcgYnVpbHRpbi9wdWxsLmM6MTE2IGJ1aWx0aW4vcHVzaC5jOjUyNgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjMgYnVpbHRpbi9jbG9uZS5jOjYzIGJ1aWx0aW4vZmV0Y2guYzoxMTkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjggYnVpbHRpbi9wdWxsLmM6MTE3IGJ1aWx0aW4vcHVzaC5jOjUzNgogIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjgKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIsOpcCBideG7mWMgYsOhbyBjw6FvIHRp4bq/biB0cmnhu4NuIGPDtG5nIHZp4buHYyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk0CiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICJDw6FjIHTDuXkgY2jhu41uIC1iLCAtQiB2w6AgLS1vcnBoYW4gbG/huqFpIHThu6sgbOG6q24gbmhhdSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjExCiBtc2dpZCAiLS10cmFjayBuZWVkcyBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICItLXRyYWNrIGPhuqduIHTDqm4gbeG7mXQgbmjDoW5oIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIxNAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTYKIG1zZ2lkICJNaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiCiBtc2dzdHIgIlRoaeG6v3UgdMOqbiBuaMOhbmg7IGjDo3kgdGjhu60gLWIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MgogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24gxJHDoyBjaG8ga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCkBAIC00NzU2LDEyICs1NzA2LDEyIEBACiAiQuG6oW4gxJHDoyBjw7Mgw70gxJHhu4tuaCBjaGVja291dCDigJwlc+KAnSBjw6FpIG3DoCBraMO0bmcgdGjhu4MgxJHGsOG7o2MgcGjDom4gZ2nhuqNpIG5oxrAgbMOgIGzhuqduICIKICJjaHV54buDbiBnaWFvPyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBraMO0bmcgbmjhuq1uIG3hu5l0IMSR4buRaSBz4buRIMSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtNDkxMiw4ICs1ODYyLDggQEAKIG1zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImfhu6EgYuG7jyB0b8OgbiBi4buZIHRoxrAgbeG7pWMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9kZXNjcmliZS5jOjQwNyBidWlsdGluL2dyZXAuYzo3MjQKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTYgYnVpbHRpbi9uYW1lLXJldi5jOjMxNCBidWlsdGluL3Nob3ctcmVmLmM6MTgyCisjOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMgYnVpbHRpbi9zaG93LXJlZi5jOjE4MgogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgIm3huqt1IgogCkBAIC00OTUzLDExMiArNTkwMywxMzAgQEAKIG1zZ2lkICJnaXQgY2xvbmUgWzxvcHRpb25zPl0gWy0tXSA8cmVwbz4gWzxkaXI+XSIKIG1zZ3N0ciAiZ2l0IGNsb25lIFs8Y8OhYy10w7l5LWNo4buNbj5dIFstLV0gPGtobz4gWzx0Lm3hu6VjPl0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MgorIzogYnVpbHRpbi9jbG9uZS5jOjY1CiBtc2dpZCAiZG9uJ3QgY3JlYXRlIGEgY2hlY2tvdXQiCiBtc2dzdHIgImtow7RuZyB04bqhbyBt4buZdCBjaGVja291dCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYzIGJ1aWx0aW4vY2xvbmUuYzo2NSBidWlsdGluL2luaXQtZGIuYzo0NzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2NiBidWlsdGluL2Nsb25lLmM6NjggYnVpbHRpbi9pbml0LWRiLmM6NDc4CiBtc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJ04bqhbyBraG8gdGh14bqnbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY3CisjOiBidWlsdGluL2Nsb25lLmM6NzAKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAidOG6oW8ga2hvIGLhuqNuIHNhbyAow70gbMOgIGtobyB0aHXhuqduKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY5CisjOiBidWlsdGluL2Nsb25lLmM6NzIKIG1zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAixJHhu4MgbmjDom4gYuG6o24gdOG7qyBraG8gbuG7mWkgYuG7mSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjcxCisjOiBidWlsdGluL2Nsb25lLmM6NzQKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAia2jDtG5nIHPhu60gZOG7pW5nIGxpw6puIGvhur90IGPhu6luZyBu4buZaSBi4buZLCBsdcO0biBzYW8gY2jDqXAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MworIzogYnVpbHRpbi9jbG9uZS5jOjc2CiBtc2dpZCAic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgImPDoGkgxJHhurd0IMSRw6J5IGzDoCBraG8gY2hpYSBz4bq7IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzUgYnVpbHRpbi9jbG9uZS5jOjc3CisjOiBidWlsdGluL2Nsb25lLmM6NzggYnVpbHRpbi9jbG9uZS5jOjgwCiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAia2jhu59pIHThuqFvIG3DtC3EkXVuLWNvbiB0cm9uZyBi4bqjbiBzYW8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3OQorIzogYnVpbHRpbi9jbG9uZS5jOjgyCiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgY2xvbmVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJz4buRIGzGsOG7o25nIG3DtC3EkXVuLWNvbiDEkcaw4bujYyBuaMOibiBi4bqjbiDEkeG7k25nIHRo4budaSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3MAorIzogYnVpbHRpbi9jbG9uZS5jOjgzIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NQogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAidGjGsC1t4bulYy1t4bqrdSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgxIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3MQorIzogYnVpbHRpbi9jbG9uZS5jOjg0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NgogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgInRoxrAgbeG7pWMgbcOgIHThuqFpIMSRw7MgY8OhYyBt4bqrdSBz4bq9IMSRxrDhu6NjIGTDuW5nIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5OAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3NworIzogYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vY2xvbmUuYzo4OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjAyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImtobyB0aGFtIGNoaeG6v3UiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NQorIzogYnVpbHRpbi9jbG9uZS5jOjkwCiBtc2dpZCAidXNlIC0tcmVmZXJlbmNlIG9ubHkgd2hpbGUgY2xvbmluZyIKIG1zZ3N0ciAiY2jhu4kgZMO5bmcgLS1yZWZlcmVuY2Uga2hpIG5ow6JuIGLhuqNuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAorIzogYnVpbHRpbi9jbG9uZS5jOjkxIGJ1aWx0aW4vY29sdW1uLmM6MjYgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKIG1zZ2lkICJuYW1lIgogbXNnc3RyICJ0w6puIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MgogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAiZMO5bmcgPHTDqm4+IHRoYXkgY2hvIOKAnG9yaWdpbuKAnSDEkeG7gyB0aGVvIGTDtWkgdGjGsOG7o25nIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OQorIzogYnVpbHRpbi9jbG9uZS5jOjk0CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAibOG6pXkgcmEgPG5ow6FuaD4gdGhheSBjaG8gSEVBRCBj4bunYSBtw6F5IGNo4bunIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NgogbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDEkeG6v24gZ2l0LXVwbG9hZC1wYWNrIHRyw6puIG3DoXkgY2jhu6ciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MiBidWlsdGluL2ZldGNoLmM6MTE3IGJ1aWx0aW4vZ3JlcC5jOjY2NyBidWlsdGluL3B1bGwuYzoyMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2ZldGNoLmM6MTIwIGJ1aWx0aW4vZ3JlcC5jOjY2OAorIzogYnVpbHRpbi9wdWxsLmM6MjAyCiBtc2dpZCAiZGVwdGgiCiBtc2dzdHIgIsSR4buZLXPDonUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MworIzogYnVpbHRpbi9jbG9uZS5jOjk4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICJ04bqhbyBi4bqjbiBzYW8ga2jDtG5nIMSR4bqneSDEkeG7pyBjaG8gbeG7qWMgc8OidSDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1CisjOiBidWlsdGluL2Nsb25lLmM6OTkgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDgKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNDIKK21zZ2lkICJ0aW1lIgorbXNnc3RyICJ0aOG7nWktZ2lhbiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMAorbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgc2luY2UgYSBzcGVjaWZpYyB0aW1lIgorbXNnc3RyICJ04bqhbyBi4bqjbiBzYW8ga2jDtG5nIMSR4bqneSDEkeG7pyB04burIHRo4budaSDEkWnhu4NtIMSRw6MgY2hvIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vZmV0Y2guYzoxMjQKK21zZ2lkICJyZXZpc2lvbiIKK21zZ3N0ciAixJFp4buDbSB4w6l0IGR1eeG7h3QiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIgYnVpbHRpbi9mZXRjaC5jOjEyNQorbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUgYnkgZXhjbHVkaW5nIHJldiIKK21zZ3N0ciAibMOgbSBzw6J1IGjGoW4gbOG7i2NoIHPhu60gY+G7p2EgYuG6o24gc2FvIHNoYWxsb3cgYuG6sW5nIMSRaeG7g20geMOpdCBkdXnhu4d0IGxv4bqhaSB0cuG7qyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwNAogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAiY2jhu4kgbmjDom4gYuG6o24gbeG7mXQgbmjDoW5oLCBIRUFEIGhv4bq3YyAtLWJyYW5jaCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk3CisjOiBidWlsdGluL2Nsb25lLmM6MTA2CiBtc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKIG1zZ3N0ciAibeG7jWkgbcO0LcSRdW4tY29uIG5ow6JuIGLhuqNuIHPhur0gbMOgIHNoYWxsb3cgKG7DtG5nKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNyBidWlsdGluL2luaXQtZGIuYzo0ODQKIG1zZ2lkICJnaXRkaXIiCiBtc2dzdHIgImdpdGRpciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwOCBidWlsdGluL2luaXQtZGIuYzo0ODUKIG1zZ2lkICJzZXBhcmF0ZSBnaXQgZGlyIGZyb20gd29ya2luZyB0cmVlIgogbXNnc3RyICJraMO0bmcgZMO5bmcgY2h1bmcgdGjGsCBt4bulYyBkw6BuaCByacOqbmcgY2hvIGdpdCB2w6AgdGjGsCBt4bulYyBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMAorIzogYnVpbHRpbi9jbG9uZS5jOjEwOQogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAia2jDs2E9Z2nDoV90cuG7iyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMQorIzogYnVpbHRpbi9jbG9uZS5jOjExMAogbXNnaWQgInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIKIG1zZ3N0ciAixJHhurd0IGPhuqV1IGjDrG5oIGLDqm4gdHJvbmcgbeG7mXQga2hvIGNo4bupYSBt4bubaSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMiBidWlsdGluL2ZldGNoLmM6MTMxIGJ1aWx0aW4vcHVzaC5jOjUzNgorIzogYnVpbHRpbi9jbG9uZS5jOjExMSBidWlsdGluL2ZldGNoLmM6MTQwIGJ1aWx0aW4vcHVzaC5jOjU0NwogbXNnaWQgInVzZSBJUHY0IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICJjaOG7iSBkw7luZyDEkeG7i2EgY2jhu4kgSVB2NCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNCBidWlsdGluL2ZldGNoLmM6MTMzIGJ1aWx0aW4vcHVzaC5jOjUzOAorIzogYnVpbHRpbi9jbG9uZS5jOjExMyBidWlsdGluL2ZldGNoLmM6MTQyIGJ1aWx0aW4vcHVzaC5jOjU0OQogbXNnaWQgInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICJjaOG7iSBkw7luZyDEkeG7i2EgY2jhu4kgSVB2NiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI0MQorIzogYnVpbHRpbi9jbG9uZS5jOjI1MAogbXNnaWQgIiIKICJObyBkaXJlY3RvcnkgbmFtZSBjb3VsZCBiZSBndWVzc2VkLlxuIgogIlBsZWFzZSBzcGVjaWZ5IGEgZGlyZWN0b3J5IG9uIHRoZSBjb21tYW5kIGxpbmUiCkBAIC01MDY2LDUyICs2MDM0LDQyIEBACiAiS2jDtG5nIMSRb8OhbiDEkcaw4bujYyB0aMawIG3hu6VjIHTDqm4gbMOgIGfDrC5cbiIKICJWdWkgbMOybmcgY2jhu4kgxJHhu4tuaCB0w6puIG3hu5l0IHRoxrAgbeG7pWMgdHLDqm4gZMOybmcgbOG7h25oIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzA3CisjOiBidWlsdGluL2Nsb25lLmM6MzAzCiAjLCBjLWZvcm1hdAotbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgYXMgYSBsaW5rZWQgY2hlY2tvdXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuIgotbXNnc3RyICJraG8gdGhhbSBjaGnhur91IOKAnCVz4oCdIG5oxrAgbMOgIGzhuqV5IHJhIGxpw6puIGvhur90IHbhuqtuIGNoxrBhIMSRxrDhu6NjIGjhu5cgdHLhu6MuIgorbXNnaWQgImluZm86IENvdWxkIG5vdCBhZGQgYWx0ZXJuYXRlIGZvciAnJXMnOiAlc1xuIgorbXNnc3RyICJ0aMO0bmcgdGluOiBraMO0bmcgdGjhu4MgdGjDqm0gdGhheSB0aOG6vyBjaG8g4oCcJXPigJ06ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMDkKKyM6IGJ1aWx0aW4vY2xvbmUuYzozNzUKICMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKLW1zZ3N0ciAia2hvIHRoYW0gY2hp4bq/dSDigJwlc+KAnSBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBraG8gbuG7mWkgYuG7mS4iCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG3hu58g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgotbXNnc3RyICJraG8gdGhhbSBjaGnhur91IOKAnCVz4oCdIGzDoCBuw7RuZyIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjMxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCi1tc2dzdHIgImtobyB0aGFtIGNoaeG6v3Ug4oCcJXPigJ0gYuG7iyBj4bqleSBnaMOpcCIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjM4NAorIzogYnVpbHRpbi9jbG9uZS5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgY8OzIHThu5NuIHThuqFpIG5oxrBuZyBs4bqhaSBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aMawIG3hu6VjIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzk4CisjOiBidWlsdGluL2Nsb25lLmM6Mzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBs4bqleSB0aMO0bmcgdGluIHRo4buRbmcga8OqIHbhu4EgJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQyMAorIzogYnVpbHRpbi9jbG9uZS5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGxpbmsgJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThuqFvIMSRxrDhu6NjIGxpw6puIGvhur90IG3hu4FtICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDI0CisjOiBidWlsdGluL2Nsb25lLmM6NDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHNhbyBjaMOpcCB04bqtcCB0aW4gdsOgIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDQ5IGJ1aWx0aW4vY2xvbmUuYzo2MzMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAiaG/DoG4gdOG6pXQuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgpAQCAtNTEyMSwxMjYgKzYwNzksMTQxIEBACiAiQuG6oW4ga2nhu4NtIHRyYSBr4bu5IHhlbSBjw6FpIGfDrCDEkcaw4bujYyBs4bqleSByYSBi4bqxbmcgbOG7h25oIOKAnGdpdCBzdGF0dXPigJ1cbiIKICJ2w6AgdGjhu60gbOG6pXkgcmEgduG7m2kgbOG7h25oIOKAnGdpdCBjaGVja291dCAtZiBIRUFE4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1MzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSBuaMOhbmggbcOheSBjaOG7pyAlcyDEkeG7gyBuaMOibiBi4bqjbiAoY2xvbmUpLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkuLi4gIgotbXNnc3RyICLEkGFuZyBraeG7g20gdHJhIGvhur90IG7hu5Fp4oCmICIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjYzMQorIzogYnVpbHRpbi9jbG9uZS5jOjYzMgogbXNnaWQgInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIgogbXNnc3RyICJtw6F5IGNo4bunIMSRw6Mga2jDtG5nIGfhu61pIHThuqV0IGPhuqMgY8OhYyDEkeG7kWkgdMaw4bujbmcgY+G6p24gdGhp4bq/dCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY0OQorIzogYnVpbHRpbi9jbG9uZS5jOjY0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10ICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Njk4CisjOiBidWlsdGluL2Nsb25lLmM6Njk3CiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICJyZWZlcnMgSEVBRCBtw6F5IGNo4bunICBjaOG7iSDEkeG6v24gcmVmIGtow7RuZyB04buTbiB04bqhaSwga2jDtG5nIHRo4buDIGzhuqV5IHJhLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzI5CisjOiBidWlsdGluL2Nsb25lLmM6NzI4CiBtc2dpZCAidW5hYmxlIHRvIGNoZWNrb3V0IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHJhIChjaGVja291dCkgY8OieSBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2NworIzogYnVpbHRpbi9jbG9uZS5jOjc2OAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIGPDoWMgdGhhbSBz4buRIHbDoG8gdOG6rXAgdGluIGPhuqV1IGjDrG5oIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMwCisjOiBidWlsdGluL2Nsb25lLmM6ODMxCiBtc2dpZCAiY2Fubm90IHJlcGFjayB0byBjbGVhbiB1cCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSRw7NuZyBnw7NpIMSR4buDIGThu41uIGThurlwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMyCisjOiBidWlsdGluL2Nsb25lLmM6ODMzCiBtc2dpZCAiY2Fubm90IHVubGluayB0ZW1wb3JhcnkgYWx0ZXJuYXRlcyBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgYuG7jyBsacOqbiBr4bq/dCB04bqtcCB0aW4gdGhheSB0aOG6vyB04bqhbSB0aOG7nWkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjQgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxNzMxCisjOiBidWlsdGluL2Nsb25lLmM6ODY2IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NQogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIkPDsyBxdcOhIG5oaeG7gXUgxJHhu5FpIHPhu5EuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODY4CisjOiBidWlsdGluL2Nsb25lLmM6ODcwCiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICJC4bqhbiBwaOG6o2kgY2jhu4kgxJHhu4tuaCBt4buZdCBraG8gxJHhu4MgbcOgIG5ow6JuIGLhuqNuIChjbG9uZSkuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODc5CisjOiBidWlsdGluL2Nsb25lLmM6ODgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gLS1iYXJlIHbDoCAtLW9yaWdpbiAlcyB4dW5nIGto4bqvYyBuaGF1LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4MgorIzogYnVpbHRpbi9jbG9uZS5jOjg4NgogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICJ0w7l5IGNo4buNbiAtLWJhcmUgdsOgIC0tc2VwYXJhdGUtZ2l0LWRpciB4dW5nIGto4bqvYyBuaGF1LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5NQorIzogYnVpbHRpbi9jbG9uZS5jOjg5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImtobyBjaOG7qWEg4oCcJXPigJ0gY2jGsGEgdOG7k24gdOG6oWkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MDEgYnVpbHRpbi9mZXRjaC5jOjExNzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MDUgYnVpbHRpbi9mZXRjaC5jOjEzMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIgogbXNnc3RyICLEkeG7mSBzw6J1ICVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHPhu5Egbmd1ecOqbiBkxrDGoW5nIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTExCisjOiBidWlsdGluL2Nsb25lLmM6OTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDEkcOtY2gg4oCcJXPigJ0gxJHDoyBjw7MgdOG7qyB0csaw4bubYyB2w6Aga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgdGjGsCBt4bulYyBy4buXbmcuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTIxCisjOiBidWlsdGluL2Nsb25lLmM6OTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAiY8OieSBsw6BtIHZp4buHYyDigJwlc+KAnSDEkcOjIHPhurVuIHThu5NuIHThuqFpIHLhu5NpLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzNiBidWlsdGluL2Nsb25lLmM6OTQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NDcKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjAgYnVpbHRpbi93b3JrdHJlZS5jOjI0NworIzogYnVpbHRpbi9jbG9uZS5jOjk0MCBidWlsdGluL2Nsb25lLmM6OTUxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjIgYnVpbHRpbi93b3JrdHJlZS5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIGPDoWMgdGjGsCBt4bulYyBk4bqrbiDEkeG6p3UgY+G7p2Eg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MzkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyBjw6J5IHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgZGlyIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTU3CisjOiBidWlsdGluL2Nsb25lLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byBiYXJlIHJlcG9zaXRvcnkgJyVzJy4uLlxuIgogbXNnc3RyICLEkGFuZyBuaMOibiBi4bqjbiB0aMOgbmgga2hvIGNo4bupYSBiYXJlIOKAnCVz4oCd4oCmXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAixJBhbmcgbmjDom4gYuG6o24gdGjDoG5oIOKAnCVz4oCd4oCmXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjMKK21zZ2lkICIiCisiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBib3RoIC0tcmVmZXJlbmNlIGFuZCAtLXJlZmVyZW5jZS1pZi0iCisiYWJsZSIKK21zZ3N0ciAiIgorIm5ow6JuIGLhuqNuIC0tcmVjdXJzaXZlIGtow7RuZyB0xrDGoW5nIHRow61jaCB24bubaSBj4bqjIGhhaSAtLXJlZmVyZW5jZSB2w6AgLS1yZWZlcmVuY2UtIgorImlmLWFibGUiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDE5CiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tZGVwdGggYuG7iyBs4budIMSRaSBraGkgbmjDom4gYuG6o24gbuG7mWkgYuG7mTsgaMOjeSBz4butIGThu6VuZyBmaWxlOi8vIMSR4buDIHRoYXkgdGjhur8uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwMjEKK21zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICIiCisiLS1zaGFsbG93LXNpbmNlIGLhu4sgbOG7nSDEkWkga2hpIG5ow6JuIGLhuqNuIG7hu5lpIGLhu5k7IGjDo3kgc+G7rSBk4bulbmcgZmlsZTovLyDEkeG7gyB0aGF5ICIKKyJ0aOG6vy4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIzCittc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICIiCisiLS1zaGFsbG93LWV4Y2x1ZGUgYuG7iyBs4budIMSRaSBraGkgbmjDom4gYuG6o24gbuG7mWkgYuG7mTsgaMOjeSBz4butIGThu6VuZyBmaWxlOi8vIMSR4buDIHRoYXkgIgorInRo4bq/LiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMjYKIG1zZ2lkICJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIgogbXNnc3RyICJraG8gbmd14buTbiBsw6AgbsO0bmcsIG7Dqm4gYuG7jyBxdWEgLS1sb2NhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDMxCiBtc2dpZCAiLS1sb2NhbCBpcyBpZ25vcmVkIgogbXNnc3RyICItLWxvY2FsIGLhu4sgbOG7nSDEkWkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEwCisjOiBidWlsdGluL2Nsb25lLmM6MTAzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBjbG9uZSAlcyIKIG1zZ3N0ciAiS2jDtG5nIGJp4bq/dCBsw6BtIGPDoWNoIG7DoG8gxJHhu4MgbmjDom4gYuG6o24gKGNsb25lKSAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNTkgYnVpbHRpbi9jbG9uZS5jOjEwNjcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkwIGJ1aWx0aW4vY2xvbmUuYzoxMDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICJOaMOhbmggbcOheSBjaOG7pyAlcyBraMO0bmcgdMOsbSB0aOG6pXkgdHJvbmcgdGjGsOG7o25nIG5ndeG7k24gJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcwCisjOiBidWlsdGluL2Nsb25lLmM6MTEwMQogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIkLhuqFuIGjDrG5oIG5oxrAgbMOgIMSRw6MgbmjDom4gYuG6o24gbeG7mXQga2hvIHRy4buRbmcgcuG7l25nLiIKIApAQCAtNTM5MSw0NSArNjM2NCw0NSBAQAogIlRo4bq/IHRow6wgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHPhur0gcGjhu6VjIGjhu5NpIGzhuqFpIHZp4buHYyBjaGVycnktcGlja1xuIgogIm5o4buvbmcgbOG6p24gY2h1eeG7g24gZ2lhbyBjw7JuIGzhuqFpLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMwNworIzogYnVpbHRpbi9jb21taXQuYzozMTgKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB0aMOhbyBk4buhIEhFQUQgxJHhu5FpIHTGsOG7o25nIGPDonkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjM1OQogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gYuG6o25nIG3hu6VjIGzhu6VjIHThuqFtIHRo4budaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzY1CiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHRow6ptIGLhurFuZyBjw6FjaCB0xrDGoW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM2NworIzogYnVpbHRpbi9jb21taXQuYzozNzgKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCBi4bqjbmcgbeG7pWMgbOG7pWMgdOG6oW0gdGjhu51pIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM2OQorIzogYnVpbHRpbi9jb21taXQuYzozODAKIG1zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIG1haW4gY2FjaGUgdHJlZSIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIGPhuq1wIG5o4bqtdCBjw6J5IGLhu5kgbmjhu5sgxJHhu4dtIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM5MyBidWlsdGluL2NvbW1pdC5jOjQxNiBidWlsdGluL2NvbW1pdC5jOjQ2NQorIzogYnVpbHRpbi9jb21taXQuYzo0MDQgYnVpbHRpbi9jb21taXQuYzo0MjcgYnVpbHRpbi9jb21taXQuYzo0NzYKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpIChuZXdfaW5kZXgpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ0NworIzogYnVpbHRpbi9jb21taXQuYzo0NTgKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBtZXJnZS4iCiBtc2dzdHIgIiIKICJraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiB2aeG7h2MgY2h1eeG7g24gZ2lhbyBj4bulYyBi4buZIHRyb25nIGtoaSDEkWFuZyDEkcaw4bujYyBow7JhIHRy4buZbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjQ2MAogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAiIgogImtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIHZp4buHYyBjaHV54buDbiBnaWFvIGLhu5kgcGjhuq1uIHRyb25nIGtoaSDEkWFuZyBjaGVycnktcGljay4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDU4CisjOiBidWlsdGluL2NvbW1pdC5jOjQ2OQogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAia2jDtG5nIMSR4buNYyDEkcaw4bujYyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDc3CisjOiBidWlsdGluL2NvbW1pdC5jOjQ4OAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB04bqtcCB0aW4gbMawdSBi4bqjbmcgbeG7pWMgbOG7pWMgdOG6oW0gdGjhu51pIgogCkBAIC01NDYwLDEyICs2NDMzLDEyIEBACiAia2jDtG5nIHRo4buDIGNo4buNbiBt4buZdCBrw70gdOG7sSBnaGkgY2jDuiBjw6FpIG3DoCBraMO0bmcgxJHGsOG7o2MgZMO5bmdcbiIKICJ0cm9uZyBwaOG6p24gZ2hpIGNow7ogaGnhu4duIHThuqFpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5MiBidWlsdGluL2NvbW1pdC5jOjcyNSBidWlsdGluL2NvbW1pdC5jOjEwOTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjkyIGJ1aWx0aW4vY29tbWl0LmM6NzI1IGJ1aWx0aW4vY29tbWl0LmM6MTA5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHTDrG0ga2nhur9tIGNvbW1pdCAobOG6p24gY2h1eeG7g24gZ2lhbykgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA0IGJ1aWx0aW4vc2hvcnRsb2cuYzoyODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzA0IGJ1aWx0aW4vc2hvcnRsb2cuYzoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiKMSRYW5nIMSR4buNYyB0aMO0bmcgxJFp4buHcCBuaOG6rXQga8O9IHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbilcbiIKQEAgLTU1NjMsMTM4ICs2NTM2LDE0MiBAQAogbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgogbXNnc3RyICJLaMO0bmcgxJHhu41jIMSRxrDhu6NjIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTU0CiBtc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB4w6J5IGThu7FuZyBjw6J5IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk2NCBidWlsdGluL3RhZy5jOjI2NgorIzogYnVpbHRpbi9jb21taXQuYzo5NjkgYnVpbHRpbi90YWcuYzoyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgogbXNnc3RyICJYaW4gaMOjeSBjdW5nIGPhuqVwIGzhu51pIGNow7ogZ2nhuqNpIGhv4bq3YyBsw6AgZMO5bmcgdMO5eSBjaOG7jW4gLW0gaG/hurdjIGzDoCAtRi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDY2CisjOiBidWlsdGluL2NvbW1pdC5jOjEwNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1hdXRob3IgJyVzJyBpcyBub3QgJ05hbWUgPGVtYWlsPicgYW5kIG1hdGNoZXMgbm8gZXhpc3RpbmcgYXV0aG9yIgogbXNnc3RyICIiCiAiLS1hdXRob3Ig4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSBsw6Ag4oCcSOG7jSB2w6AgdMOqbiA8dGjGsCDEkWnhu4duIHThu61sPuKAnSB2w6Aga2jDtG5nIGto4bubcCBi4bqldCBr4buzICIKICJ0w6FjIGdp4bqjIG7DoG8gc+G6tW4gY8OzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwODEgYnVpbHRpbi9jb21taXQuYzoxMzIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEwODYgYnVpbHRpbi9jb21taXQuYzoxMzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiQ2jhur8gxJHhu5kgY2hvIGPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSBraMO0bmcgaOG7o3AgbOG7hyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTE4CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjQKIG1zZ2lkICItLWxvbmcgYW5kIC16IGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgImhhaSB0w7l5IGNo4buNbiAtbG9uZyB2w6AgLXoga2jDtG5nIHTGsMahbmcgdGjDrWNoIHbhu5tpIG5oYXUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE0OAorIzogYnVpbHRpbi9jb21taXQuYzoxMTU0CiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiU+G7rSBk4bulbmcgY+G6oyBoYWkgdMO5eSBjaOG7jW4gLS1yZXNldC1hdXRob3IgdsOgIC0tYXV0aG9yIGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NworIzogYnVpbHRpbi9jb21taXQuYzoxMTYzCiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgIktow7RuZyBjw7MgZ8OsIMSR4buDIG3DoCDigJx0dSBi4buV4oCdIGPhuqMuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIiIKICJC4bqhbiDEkWFuZyDhu58gZ2nhu69hIGPhu6dhIHF1w6EgdHLDrG5oIGjDsmEgdHLhu5luIC0tIGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIHZp4buHYyDigJx0dSBi4buV4oCdLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTYyCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjgKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICIiCiAiQuG6oW4gxJFhbmcg4bufIGdp4buvYSBj4bunYSBxdcOhIHRyw6xuaCBjaGVycnktcGljayAtLSBraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiB2aeG7h2Mg4oCcdHUgIgogImLhu5XigJ0uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3MQogbXNnaWQgIk9wdGlvbnMgLS1zcXVhc2ggYW5kIC0tZml4dXAgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIkPDoWMgdMO5eSBjaOG7jW4gLS1zcXVhc2ggdsOgIC0tZml4dXAga2jDtG5nIHRo4buDIHPhu60gZOG7pW5nIGPDuW5nIHbhu5tpIG5oYXUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTgxCiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIiIKICJDaOG7iSDEkcaw4bujYyBkw7luZyBt4buZdCB0cm9uZyBz4buRIHTDuXkgY2jhu41uIHRyb25nIHPhu5EgY8OhYyB0w7l5IGNo4buNbiAtYy8tQy8tRi8tLWZpeHVwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MwogbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi8tLWZpeHVwLiIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gLW0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIHThu5UgaOG7o3AgY8O5bmcgduG7m2kgLWMvLUMvLUYvLS1maXh1cC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4NQorIzogYnVpbHRpbi9jb21taXQuYzoxMTkxCiBtc2dpZCAiLS1yZXNldC1hdXRob3IgY2FuIGJlIHVzZWQgb25seSB3aXRoIC1DLCAtYyBvciAtLWFtZW5kLiIKIG1zZ3N0ciAiIgogIi0tcmVzZXQtYXV0aG9yIGNo4buJIGPDsyB0aOG7gyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSB0w7l5IGNo4buNbiAtQywgLWMgaGF5IC0tYW1lbmQuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwOAogbXNnaWQgIk9ubHkgb25lIG9mIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiIgogIkNo4buJIG3hu5l0IHRyb25nIGPDoWMgdMO5eSBjaOG7jW4gLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggxJHGsOG7o2MgIgogInPhu60gZOG7pW5nLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjA0CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMTAKIG1zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIktow7RuZyDEkcaw4budbmcgZOG6q24gduG7m2kgY8OhYyB0w7l5IGNo4buNbiAtLWluY2x1ZGUvLS1vbmx5IGtow7RuZyBo4bujcCBsw70uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxMgogbXNnaWQgIkNsZXZlci4uLiBhbWVuZGluZyB0aGUgbGFzdCBvbmUgd2l0aCBkaXJ0eSBpbmRleC4iCiBtc2dzdHIgIkdp4buPaeKApiAg4oCcdHUgYuG7leKAnSBjw6FpIGN14buRaSB24bubaSBi4bqjbmcgbeG7pWMgbOG7pWMgYuG6qW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIxNAogbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG9yIC1vOyBhc3N1bWluZyAtLW9ubHkgcGF0aHMuLi4iCiBtc2dzdHIgIiIKICJOaOG7r25nIMSRxrDhu51uZyBk4bqrbiByw7UgcsOgbmcgxJHGsOG7o2MgY2jhu4kgcmEga2jDtG5nIGPDsyB0w7l5IGNo4buNbiAtaSBjxaluZyBraMO0bmcgLW87IGNvaSAiCiAibMOgIC0tb25seSBuaOG7r25nIMSRxrDhu51uZyBk4bqrbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjIwIGJ1aWx0aW4vdGFnLmM6NDc0CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMjYgYnVpbHRpbi90YWcuYzo0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCiBtc2dzdHIgIkNo4bq/IMSR4buZIGThu41uIGThurlwIGtow7RuZyBo4bujcCBs4buHICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEyMjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIzMQogbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCiBtc2dzdHIgIkPDoWMgxJHGsOG7nW5nIGThuqtuIHbhu5tpIHTDuXkgY2jhu41uIC1hIGtow7RuZyBo4bujcCBsw70uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzUgYnVpbHRpbi9jb21taXQuYzoxNjIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDEgYnVpbHRpbi9jb21taXQuYzoxNjE3CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICJoaeG7g24gdGjhu4sgdHLhuqFuZyB0aMOhaSDhu58gZOG6oW5nIHPDumMgdMOtY2giCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNyBidWlsdGluL2NvbW1pdC5jOjE2MjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MyBidWlsdGluL2NvbW1pdC5jOjE2MTkKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gbmjDoW5oIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzkgYnVpbHRpbi9jb21taXQuYzoxNjI1IGJ1aWx0aW4vcHVzaC5jOjUxMgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQzNworIzogYnVpbHRpbi9jb21taXQuYzoxMzQ1Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAicGhpw6puIGLhuqNuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDUgYnVpbHRpbi9jb21taXQuYzoxNjIxIGJ1aWx0aW4vcHVzaC5jOjUyMgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MAogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICJr4bq/dCB4deG6pXQgZOG6oW5nIG3DoXktY8OzLXRo4buDLcSR4buNYyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQyIGJ1aWx0aW4vY29tbWl0LmM6MTYyNworIzogYnVpbHRpbi9jb21taXQuYzoxMzQ4IGJ1aWx0aW4vY29tbWl0LmM6MTYyMwogbXNnaWQgInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRy4bqhbmcgdGjDoWkg4bufIMSR4buLbmggZOG6oW5nIGTDoGkgKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDUgYnVpbHRpbi9jb21taXQuYzoxNjMwCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTEgYnVpbHRpbi9jb21taXQuYzoxNjI2CiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgImNo4bqlbSBk4bupdCBjw6FjIG3hu6VjIGLhurFuZyBOVUwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NyBidWlsdGluL2NvbW1pdC5jOjE2MzMgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MQorIzogYnVpbHRpbi9jb21taXQuYzoxMzUzIGJ1aWx0aW4vY29tbWl0LmM6MTYyOSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgxCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg0IGJ1aWx0aW4vdGFnLmM6MzUzCiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAiY2jhur8gxJHhu5kiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OCBidWlsdGluL2NvbW1pdC5jOjE2MzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NCBidWlsdGluL2NvbW1pdC5jOjE2MjkKIG1zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpICBk4bqldSB24bq/dCwgY8OhYyBjaOG6vyDEkeG7mSB0w7l5IGNo4buNbjogIGFsbCwgIgogIm5vcm1hbCwgbm8uIChN4bq3YyDEkeG7i25oOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NwogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIOG6qW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MiBwYXJzZS1vcHRpb25zLmg6MTU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTggcGFyc2Utb3B0aW9ucy5oOjE1NQogbXNnaWQgIndoZW4iCiBtc2dzdHIgImtoaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTkKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCkBAIC01NzAyLDIwNSArNjY3OSwyMDUgQEAKICJi4buPIHF1YSBjw6FjIHRoYXkgxJHhu5VpIHRyb25nIG3DtC3EkXVuLWNvbiwgdMO5eSBjaOG7jW4ga2hpOiBhbGwsIGRpcnR5LCB1bnRyYWNrZWQuICIKICIoTeG6t2MgxJHhu4tuaDogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzU1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjEKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJoaeG7g24gdGjhu4sgZGFuaCBzw6FjaCBjw6FjIHThuq1wLXRpbiBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkgdHJvbmcgY8OhYyBj4buZdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0MzcKIG1zZ2lkICJjb3VsZG4ndCBsb29rIHVwIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJraMO0bmcgdGjhu4MgdMOsbSB0aOG6pXkgbOG6p24gY2h1eeG7g24gZ2lhbyBt4bubaSBoxqFuIMSRw6MgxJHGsOG7o2MgdOG6oW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MworIzogYnVpbHRpbi9jb21taXQuYzoxNDM5CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICIiCiAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGPDuiBwaMOhcCBj4bunYSDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyBt4bubaSBoxqFuIMSRw6MgxJHGsOG7o2MgdOG6oW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4OAorIzogYnVpbHRpbi9jb21taXQuYzoxNDg0CiBtc2dpZCAiZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAixJHDoyBy4budaSBraOG7j2kgSEVBRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDkxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAiIChyb290LWNvbW1pdCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MQorIzogYnVpbHRpbi9jb21taXQuYzoxNTg3CiBtc2dpZCAic3VwcHJlc3Mgc3VtbWFyeSBhZnRlciBzdWNjZXNzZnVsIGNvbW1pdCIKIG1zZ3N0ciAia2jDtG5nIGhp4buDbiB0aOG7iyB04buVbmcga+G6v3Qgc2F1IGtoaSBjaHV54buDbiBnaWFvIHRow6BuaCBjw7RuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1ODgKIG1zZ2lkICJzaG93IGRpZmYgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBz4buxIGtow6FjIGJp4buHdCB0cm9uZyBt4bqrdSB0aW4gbmjhuq9uIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTkwCiBtc2dpZCAiQ29tbWl0IG1lc3NhZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiQ8OhYyB0w7l5IGNo4buNbiBnaGkgY2jDuiBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NSBidWlsdGluL3RhZy5jOjM1MQorIzogYnVpbHRpbi9jb21taXQuYzoxNTkxIGJ1aWx0aW4vdGFnLmM6MzUxCiBtc2dpZCAicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIKIG1zZ3N0ciAixJHhu41jIGNow7ogdGjDrWNoIHThu6sgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAidMOhYyBnaeG6oyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKIG1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKIG1zZ3N0ciAiZ2hpIMSRw6ggdMOhYyBnaeG6oyBjaG8gY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTcgYnVpbHRpbi9nYy5jOjMyNgorIzogYnVpbHRpbi9jb21taXQuYzoxNTkzIGJ1aWx0aW4vZ2MuYzozMjYKIG1zZ2lkICJkYXRlIgogbXNnc3RyICJuZ8OgeSB0aMOhbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NworIzogYnVpbHRpbi9jb21taXQuYzoxNTkzCiBtc2dpZCAib3ZlcnJpZGUgZGF0ZSBmb3IgY29tbWl0IgogbXNnc3RyICJnaGkgxJHDqCBuZ8OgeSB0aMOhbmcgY2hvIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vbm90ZXMuYzozOTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NTggYnVpbHRpbi90YWcuYzozNDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NCBidWlsdGluL21lcmdlLmM6MjIwIGJ1aWx0aW4vbm90ZXMuYzozOTgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjEgYnVpbHRpbi90YWcuYzozNDkKIG1zZ2lkICJtZXNzYWdlIgogbXNnc3RyICJjaMO6IHRow61jaCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk4CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTQKIG1zZ2lkICJjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiY2jDuiB0aMOtY2ggY+G7p2EgbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk5IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL2NvbW1pdC5jOjE2MDEKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMiBwYXJzZS1vcHRpb25zLmg6MjU2IHJlZi1maWx0ZXIuaDo3OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vY29tbWl0LmM6MTU5NiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBwYXJzZS1vcHRpb25zLmg6MjU3IHJlZi1maWx0ZXIuaDo3OQogbXNnaWQgImNvbW1pdCIKIG1zZ3N0ciAibOG6p25fY2h1eeG7g25fZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTUKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiZMO5bmcgbOG6oWkgY8OhYyBnaGkgY2jDuiB04burIGzhuqduIGNodXnhu4NuIGdpYW8gxJHDoyBjaG8gbmjGsG5nIGPDsyBjaG8gc+G7rWEgY2jhu69hIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NgogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICJkw7luZyBs4bqhaSBjw6FjIGdoaSBjaMO6IHThu6sgbOG6p24gY2h1eeG7g24gZ2lhbyDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAiZMO5bmcgZ2hpIGNow7ogY8OzIMSR4buLbmggZOG6oW5nIGF1dG9zcXVhc2ggxJHhu4Mgc+G7rWEgY2jhu69hIGzhuqduIGNodXnhu4NuIGdpYW8gxJHDoyBjaOG7iSByYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTgKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogImTDuW5nIGzhu51pIG5o4bqvbiBjw7MgxJHhu4tuaCBk4bqhbmcgdOG7sSDEkeG7mW5nIG7DqW4gxJHhu4MgbsOpbiBs4bqhaSBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gxJHDoyBjaOG7iSAiCiAicmEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMworIzogYnVpbHRpbi9jb21taXQuYzoxNTk5CiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAiIgogImzhuqduIGNodXnhu4NuIGdpYW8gbmjhuq1uIHTDtGkgbMOgIHTDoWMgZ2nhuqMgKMSRxrDhu6NjIGTDuW5nIHbhu5tpIHTDuXkgY2jhu41uIC1DLy1jLy0tYW1lbmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDQgYnVpbHRpbi9sb2cuYzoxMzgyIGJ1aWx0aW4vcmV2ZXJ0LmM6ODYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL2xvZy5jOjE0MTMgYnVpbHRpbi9yZXZlcnQuYzo4NgogbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKIG1zZ3N0ciAiKG7Dqm4gZMO5bmcpIHRow6ptIGTDsm5nIFNpZ25lZC1vZmYtYnk6IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMQogbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKIG1zZ3N0ciAic+G7rSBk4bulbmcgdOG6rXAgdGluIG3huqt1IMSRw6MgY2hvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMgogbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgogbXNnc3RyICLDqXAgYnXhu5ljIHPhu61hIGzhuqduIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA3CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDMKIG1zZ2lkICJkZWZhdWx0IgogbXNnc3RyICJt4bq3YyDEkeG7i25oIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDcgYnVpbHRpbi90YWcuYzozNTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMyBidWlsdGluL3RhZy5jOjM1NAogbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCiBtc2dzdHIgImzDoG0gdGjhur8gbsOgbyDEkeG7gyBj4bqvdCBi4buPIGtob+G6o25nIHRy4bqvbmcgdsOgICNnaGljaMO6IHThu6sgbeG6qXUgdGluIG5o4bqvbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDQKIG1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAiYmFvIGfhu5NtIGPDoWMgdHLhuqFuZyB0aMOhaSB0cm9uZyBt4bqrdSBnaGkgY2jDuiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTAgYnVpbHRpbi9tZXJnZS5jOjIyOSBidWlsdGluL3B1bGwuYzoxNjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNiBidWlsdGluL21lcmdlLmM6MjMwIGJ1aWx0aW4vcHVsbC5jOjE2NgogIzogYnVpbHRpbi9yZXZlcnQuYzo5MwogbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKIG1zZ3N0ciAia8O9IGzhuqduIGNodXnhu4NuIGdpYW8gZMO5bmcgR1BHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwOQogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICJDw6FjIHTDuXkgbuG7mWkgZHVuZyBnaGkgY2jDuiBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAorIzogYnVpbHRpbi9jb21taXQuYzoxNjEwCiBtc2dpZCAiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIgogbXNnc3RyICJjaHV54buDbiBnaWFvIHThuqV0IGPhuqMgY8OhYyB04bqtcCB0aW4gY8OzIHRoYXkgxJHhu5VpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMQogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAidGjDqm0gY8OhYyB04bqtcCB0aW4gxJHDoyBjaOG7iSByYSB2w6BvIGLhuqNuZyBt4bulYyBs4bulYyDEkeG7gyBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMgogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICJ0aMOqbSBjw6FjIHThuq1wLXRpbiBi4bqxbmcgdMawxqFuZyB0w6FjIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMwogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGNoYW5nZXMiCiBtc2dzdHIgInRow6ptIGPDoWMgdGhheSDEkeG7lWkgYuG6sW5nIHTGsMahbmcgdMOhYyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKIG1zZ2lkICJjb21taXQgb25seSBzcGVjaWZpZWQgZmlsZXMiCiBtc2dzdHIgImNo4buJIGNodXnhu4NuIGdpYW8gY8OhYyB04bqtcCB0aW4gxJHDoyBjaOG7iSByYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE5Ci1tc2dpZCAiYnlwYXNzIHByZS1jb21taXQgaG9vayIKLW1zZ3N0ciAidsOybmcgcXVhIG3Ds2MgKGhvb2spIHByZS1jb21taXQiCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTUKK21zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKK21zZ3N0ciAidsOybmcgcXVhIG3Ds2MgKGhvb2spIHByZS1jb21taXQgdsOgIGNvbW1pdC1tc2ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyMAorIzogYnVpbHRpbi9jb21taXQuYzoxNjE2CiBtc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHhlbSBjw6FpIGfDrCBjw7MgdGjhu4MgxJHGsOG7o2MgY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjMxCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjcKIG1zZ2lkICJhbWVuZCBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgIuKAnHR1IGLhu5XigJ0gKGFtZW5kKSBs4bqnbiBjb21taXQgdHLGsOG7m2MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMgorIzogYnVpbHRpbi9jb21taXQuYzoxNjI4CiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICJ2w7JuZyBxdWEgbcOzYyAoaG9vaykgcG9zdC1yZXdyaXRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMwogbXNnaWQgIm9rIHRvIHJlY29yZCBhbiBlbXB0eSBjaGFuZ2UiCiBtc2dzdHIgIm9rIMSR4buDIGdoaSBs4bqhaSBt4buZdCB0aGF5IMSR4buVaSB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjM5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MzUKIG1zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICJvayDEkeG7gyBnaGkgY8OhYyB0aGF5IMSR4buVaSB24bubaSBs4budaSBuaOG6r24gdHLhu5FuZyBy4buXbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjY0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggY29tbWl0IChs4bqnbiBjaHV54buDbiBnaWFvKSBIRUFEIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgogbXNnc3RyICJU4bqtcCB0aW4gTUVSR0VfSEVBRCBzYWkgaOG7j25nICglcykiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTcyNQorIzogYnVpbHRpbi9jb21taXQuYzoxNzE5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBNRVJHRV9NT0RFIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTczOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZTogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgcGjhuqduIGNow7ogdGjDrWNoIChtZXNzYWdlKSBj4bunYSBsbOG6p24gY2h1eeG7g24gZ2lhbzogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc1NQorIzogYnVpbHRpbi9jb21taXQuYzoxNzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiIgogIsSQYW5nIGLhu48gcXVhIHZp4buHYyBjaHV54buDbiBnaWFvOyBi4bqhbiDEkcOjIGtow7RuZyBiacOqbiBzb+G6oW4gcGjhuqduIGNow7ogdGjDrWNoICIKICIobWVzc2FnZSkuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTc2MAorIzogYnVpbHRpbi9jb21taXQuYzoxNzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdCBkdWUgdG8gZW1wdHkgY29tbWl0IG1lc3NhZ2UuXG4iCiBtc2dzdHIgIkLDo2kgYuG7jyB2aeG7h2MgY2h1eeG7g24gZ2lhbyBi4bufaSB2w6wgcGjhuqduIGNow7ogdGjDrWNoIGPhu6dhIG7DsyB0cuG7kW5nIHLhu5duZy5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxODA4CisjOiBidWlsdGluL2NvbW1pdC5jOjE4MDIKIG1zZ2lkICIiCiAiUmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCiAibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBhbmQgcXVvdGEgaXNcbiIKQEAgLTU5MTUsMTQxICs2ODkyLDE0MSBAQAogbXNnaWQgImdpdCBjb25maWcgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBjb25maWcgWzxjw6FjLXTDuXktY2jhu41uPl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTUKIG1zZ2lkICJDb25maWcgZmlsZSBsb2NhdGlvbiIKIG1zZ3N0ciAiVuG7iyB0csOtIHThuq1wIHRpbiBj4bqldSBow6xuaCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NworIzogYnVpbHRpbi9jb25maWcuYzo1NgogbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCiBtc2dzdHIgImTDuW5nIHThuq1wIHRpbiBj4bqldSBow6xuaCB0b8OgbiBj4bulYyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1OAorIzogYnVpbHRpbi9jb25maWcuYzo1NwogbXNnaWQgInVzZSBzeXN0ZW0gY29uZmlnIGZpbGUiCiBtc2dzdHIgInPhu60gZOG7pW5nIHThuq1wIHRpbiBj4bqldSBow6xuaCBo4buHIHRo4buRbmciCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKIG1zZ2lkICJ1c2UgcmVwb3NpdG9yeSBjb25maWcgZmlsZSIKIG1zZ3N0ciAiZMO5bmcgdOG6rXAgdGluIGPhuqV1IGjDrG5oIGPhu6dhIGtobyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MAorIzogYnVpbHRpbi9jb25maWcuYzo1OQogbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKIG1zZ3N0ciAic+G7rSBk4bulbmcgdOG6rXAgdGluIGPhuqV1IGjDrG5oIMSRw6MgY2hvIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxCisjOiBidWlsdGluL2NvbmZpZy5jOjYwCiBtc2dpZCAiYmxvYi1pZCIKIG1zZ3N0ciAiYmxvYi1pZCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MQorIzogYnVpbHRpbi9jb25maWcuYzo2MAogbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCiBtc2dzdHIgIsSR4buNYyBj4bqldSBow6xuaCB04burIMSR4buRaSB0xrDhu6NuZyBibG9iIMSRw6MgY2hvIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYyCisjOiBidWlsdGluL2NvbmZpZy5jOjYxCiBtc2dpZCAiQWN0aW9uIgogbXNnc3RyICJIw6BuaCDEkeG7mW5nIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYzCisjOiBidWlsdGluL2NvbmZpZy5jOjYyCiBtc2dpZCAiZ2V0IHZhbHVlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImzhuqV5IGdpw6EtdHLhu4s6IHTDqm4gW3ZhbHVlLXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NAorIzogYnVpbHRpbi9jb25maWcuYzo2MwogbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAibOG6pXkgdOG6pXQgY+G6oyBnacOhLXRy4buLOiBraMOzYSBbdmFsdWUtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY1CisjOiBidWlsdGluL2NvbmZpZy5jOjY0CiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImzhuqV5IGdpw6EgdHLhu4sgY2hvIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY2CisjOiBidWlsdGluL2NvbmZpZy5jOjY1CiBtc2dpZCAiZ2V0IHZhbHVlIHNwZWNpZmljIGZvciB0aGUgVVJMOiBzZWN0aW9uWy52YXJdIFVSTCIKIG1zZ3N0ciAibOG6pXkgxJHhurdjIHThuqMgZ2nDoSB0cuG7iyBjaG8gVVJMOiBwaOG6p25bLmJp4bq/bl0gVVJMIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY3CisjOiBidWlsdGluL2NvbmZpZy5jOjY2CiBtc2dpZCAicmVwbGFjZSBhbGwgbWF0Y2hpbmcgdmFyaWFibGVzOiBuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iCiBtc2dzdHIgInRoYXkgdGjhur8gdOG6pXQgY+G6oyBjw6FjIGJp4bq/biBraOG7m3AgbeG6q3U6IHTDqm4gZ2nDoS10cuG7iyBbdmFsdWVfcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY4CisjOiBidWlsdGluL2NvbmZpZy5jOjY3CiBtc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgogbXNnc3RyICJ0aMOqbSBiaeG6v24gbeG7m2k6IHTDqm4gZ2nDoS10cuG7iyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OQorIzogYnVpbHRpbi9jb25maWcuYzo2OAogbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgImfhu6EgYuG7jyBiaeG6v246IHTDqm4gW3ZhbHVlLXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MAorIzogYnVpbHRpbi9jb25maWcuYzo2OQogbXNnaWQgInJlbW92ZSBhbGwgbWF0Y2hlczogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICJn4buhIGLhu48gbeG7jWkgY8OhaSBraOG7m3A6IHTDqm4gW3ZhbHVlLXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3MAogbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKIG1zZ3N0ciAixJHhu5VpIHTDqm4gcGjhuqduOiB0w6puLWPFqSB0w6puLW3hu5tpIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcyCisjOiBidWlsdGluL2NvbmZpZy5jOjcxCiBtc2dpZCAicmVtb3ZlIGEgc2VjdGlvbjogbmFtZSIKIG1zZ3N0ciAiZ+G7oSBi4buPIHBo4bqnbjogdMOqbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MworIzogYnVpbHRpbi9jb25maWcuYzo3MgogbXNnaWQgImxpc3QgYWxsIgogbXNnc3RyICJsaeG7h3Qga8OqIHThuqV0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0CisjOiBidWlsdGluL2NvbmZpZy5jOjczCiBtc2dpZCAib3BlbiBhbiBlZGl0b3IiCiBtc2dzdHIgIm3hu58gbeG7mXQgdHLDrG5oIGJpw6puIHNv4bqhbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NQorIzogYnVpbHRpbi9jb25maWcuYzo3NAogbXNnaWQgImZpbmQgdGhlIGNvbG9yIGNvbmZpZ3VyZWQ6IHNsb3QgW2RlZmF1bHRdIgogbXNnc3RyICJ0w6xtIGPhuqV1IGjDrG5oIG3DoHUgc+G6r2M6IHNsb3QgW23hurdjIMSR4buLbmhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc2CisjOiBidWlsdGluL2NvbmZpZy5jOjc1CiBtc2dpZCAiZmluZCB0aGUgY29sb3Igc2V0dGluZzogc2xvdCBbc3Rkb3V0LWlzLXR0eV0iCiBtc2dzdHIgInTDrG0gY8OhYyBjw6BpIMSR4bq3dCB24buBIG3DoHUgc+G6r2M6IHNsb3QgW3N0ZG91dC1sw6AtdHR5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NworIzogYnVpbHRpbi9jb25maWcuYzo3NgogbXNnaWQgIlR5cGUiCiBtc2dzdHIgIktp4buDdSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OAorIzogYnVpbHRpbi9jb25maWcuYzo3NwogbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKIG1zZ3N0ciAiZ2nDoSB0cuG7iyBsw6AgXCJ0cnVlXCIgaG/hurdjIFwiZmFsc2VcIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3OQorIzogYnVpbHRpbi9jb25maWcuYzo3OAogbXNnaWQgInZhbHVlIGlzIGRlY2ltYWwgbnVtYmVyIgogbXNnc3RyICJnacOhIHRy4buLIOG7nyBk4bqhbmcgc+G7kSB0aOG6rXAgcGjDom4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzkKIG1zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCiBtc2dzdHIgImdpw6EgdHLhu4sgbMOgIC0tYm9vbCBob+G6t2MgLS1pbnQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODAKIG1zZ2lkICJ2YWx1ZSBpcyBhIHBhdGggKGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUpIgogbXNnc3RyICJnacOhIHRy4buLIGzDoCDEkcaw4budbmcgZOG6q24gKHTDqm4gdOG6rXAgdGluIGhheSB0aMawIG3hu6VjKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MgorIzogYnVpbHRpbi9jb25maWcuYzo4MQogbXNnaWQgIk90aGVyIgogbXNnc3RyICJLaMOhYyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MworIzogYnVpbHRpbi9jb25maWcuYzo4MgogbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAiY2jhuqVtIGThu6l0IGdpw6EgdHLhu4sgduG7m2kgYnl0ZSBOVUwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODMKIG1zZ2lkICJzaG93IHZhcmlhYmxlIG5hbWVzIG9ubHkiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBjw6FjIHTDqm4gYmnhur9uIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg1CisjOiBidWlsdGluL2NvbmZpZy5jOjg0CiBtc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgogbXNnc3RyICJ0w7RuIHRy4buNbmcga+G7gyBjw6AgY8OhYyBoxrDhu5tuZyB0cm9uZyB0w6xtIGtp4bq/bSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NgorIzogYnVpbHRpbi9jb25maWcuYzo4NQogbXNnaWQgInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiCiBtc2dzdHIgIiIKICJoaeG7g24gdGjhu4sgbmd1ecOqbiBn4buRYyBj4bunYSBj4bqldSBow6xuaCAodOG6rXAgdGluLCDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluLCBibG9iLCBkw7JuZyAiCiAibOG7h25oKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzozMjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzI3CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGRlZmF1bHQgY29sb3IgdmFsdWUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBnacOhIHRy4buLIG3DoHUgbeG6t2MgxJHhu4tuaCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIjIFRoaXMgaXMgR2l0J3MgcGVyLXVzZXIgY29uZmlndXJhdGlvbiBmaWxlLlxuIgpAQCAtNjA2NCwxNiArNzA0MSwyNSBAQAogIiNcdG5hbWUgPSAlc1xuIgogIiNcdGVtYWlsID0gJXNcbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgY29uZmlndXJhdGlvbiBmaWxlICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdOG6rXAgdGluIGPhuqV1IGjDrG5oIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo3NworIzogYnVpbHRpbi9jb25maWcuYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBvdmVyd3JpdGUgbXVsdGlwbGUgdmFsdWVzIHdpdGggYSBzaW5nbGUgdmFsdWVcbiIKKyIgICAgICAgVXNlIGEgcmVnZXhwLCAtLWFkZCBvciAtLXJlcGxhY2UtYWxsIHRvIGNoYW5nZSAlcy4iCittc2dzdHIgIiIKKyJraMO0bmcgdGjhu4MgZ2hpIMSRw6ggbmhp4buBdSBnacOhIHRy4buLIHbhu5tpIG3hu5l0IGdpw6EgdHLhu4sgxJHGoW5cbiIKKyIgICAgICBEw7luZyBt4buZdCBiaeG7g3UgdGjhu6ljIGNow61uaCBxdXksIC0tYWRkIGhheSAtLXJlcGxhY2UtYWxsIMSR4buDIHRoYXkgxJHhu5VpICVzLiIKKworIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6ODYKIG1zZ2lkICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogbXNnc3RyICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgogCi0jOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo4NworIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTYKIG1zZ2lkICJwcmludCBzaXplcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBrw61jaCBj4buhIHRoZW8gxJHhu4tuaCBk4bqhbmcgZMOgbmggY2hvIG5nxrDhu51pIMSR4buNYyIKIApAQCAtNjEwMCw3ICs3MDg2LDcgQEAKIG1zZ2lkICJ0YWcgJyVzJyBpcyByZWFsbHkgJyVzJyBoZXJlIgogbXNnc3RyICJ0aOG6uyDigJwlc+KAnSDEkcOjIHRo4buxYyBz4buxIOG7nyDEkcOieSDigJwlc+KAnSBy4buTaSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MCBidWlsdGluL2xvZy5jOjQ2NQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI1MCBidWlsdGluL2xvZy5jOjQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAiS2jDtG5nIHBo4bqjaSB0w6puIMSR4buRaSB0xrDhu6NuZyAlcyBo4bujcCBs4buHIgpAQCAtNjE5Myw3ICs3MTc5LDcgQEAKIG1zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJjaOG7iSBjw6JuIG5o4bqvYyDEkeG6v24gbmjhu69uZyB0aOG6uyBraOG7m3AgduG7m2kgPG3huqt1PiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMCBidWlsdGluL25hbWUtcmV2LmM6MzIxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKIG1zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCiBtc2dzdHIgImhp4buDbiB0aOG7iyDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyB24bqvbiB04bqvdCBuaMawIGzDoCBmYWxsYmFjayIKIApAQCAtNjIyNywyMSArNzIxMywyMSBAQAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKIG1zZ3N0ciAidMO5eSBjaOG7jW4ga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBidWlsdGluL2RpZmYuYzozNjAKKyM6IGJ1aWx0aW4vZGlmZi5jOjM2MQogbXNnaWQgIk5vdCBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICJLaMO0bmcgcGjhuqNpIGzDoCBraG8gZ2l0IgogCi0jOiBidWlsdGluL2RpZmYuYzo0MDMKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIMSRw6MgY2hvIOKAnCVz4oCdIGtow7RuZyBo4bujcCBs4buHLiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDEyCisjOiBidWlsdGluL2RpZmYuYzo0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKIG1zZ3N0ciAixJHDoyBjaG8gbmhp4buBdSBoxqFuIGhhaSDEkeG7kWkgdMaw4bujbmcgYmxvYjog4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxOQorIzogYnVpbHRpbi9kaWZmLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIsSRw6MgY2hvIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgdGjhu4MgbuG6r20gZ2nhu68g4oCcJXPigJ0uIgpAQCAtNjI5OCwxNzggKzcyODQsMTgzIEBACiBtc2dpZCAiYW5vbnltaXplIG91dHB1dCIKIG1zZ3N0ciAia+G6v3QgeHXhuqV0IGFub255bWl6ZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIwCisjOiBidWlsdGluL2ZldGNoLmM6MjEKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBmZXRjaCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbPGtoby1jaOG7qWE+IFs8cmVmc3BlYz7igKZdXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIxCisjOiBidWlsdGluL2ZldGNoLmM6MjIKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwPiIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8bmjDs20+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMwogbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbKDxraG8+IHwgPG5ow7NtPinigKZdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyNAogbXNnaWQgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tYWxsIFs8Y8OhYy10w7l5LWNo4buNbj5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIgYnVpbHRpbi9wdWxsLmM6MTc0CisjOiBidWlsdGluL2ZldGNoLmM6OTUgYnVpbHRpbi9wdWxsLmM6MTc1CiBtc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKIG1zZ3N0ciAibOG6pXkgduG7gSB04burIHThuqV0IGPhuqMgY8OhYyBtw6F5IGNo4bunIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTQgYnVpbHRpbi9wdWxsLmM6MTc3CisjOiBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9wdWxsLmM6MTc4CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICJu4buRaSB0aMOqbSB2w6BvIC5naXQvRkVUQ0hfSEVBRCB0aGF5IHbDrCBnaGkgxJHDqCBsw6puIG7DsyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk2IGJ1aWx0aW4vcHVsbC5jOjE4MAorIzogYnVpbHRpbi9mZXRjaC5jOjk5IGJ1aWx0aW4vcHVsbC5jOjE4MQogbXNnaWQgInBhdGggdG8gdXBsb2FkIHBhY2sgb24gcmVtb3RlIGVuZCIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIMSR4bq/biBnw7NpIHThuqNpIGzDqm4gdHLDqm4gbcOheSBjaOG7pyBjdeG7kWkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NyBidWlsdGluL3B1bGwuYzoxODIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAgYnVpbHRpbi9wdWxsLmM6MTgzCiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIKIG1zZ3N0ciAiw6lwIGJ14buZYyBnaGkgxJHDqCBsw6puIG5ow6FuaCBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDIKIG1zZ2lkICJmZXRjaCBmcm9tIG11bHRpcGxlIHJlbW90ZXMiCiBtc2dzdHIgImzhuqV5IHThu6sgbmhp4buBdSBtw6F5IGNo4bunIGPDuW5nIGzDumMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDEgYnVpbHRpbi9wdWxsLmM6MTg0CisjOiBidWlsdGluL2ZldGNoLmM6MTA0IGJ1aWx0aW4vcHVsbC5jOjE4NQogbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCiBtc2dzdHIgImzhuqV5IHThuqV0IGPhuqMgY8OhYyB0aOG6uyBjw7luZyB24bubaSBjw6FjIMSR4buRaSB0xrDhu6NuZyBsacOqbiBxdWFuIMSR4bq/biBuw7MiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDYKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgImtow7RuZyBs4bqleSB04bqldCBj4bqjIGPDoWMgdGjhursgKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDgKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBmZXRjaGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJz4buRIGzGsOG7o25nIG3DtC3EkXVuLWNvbiDEkcaw4bujYyBs4bqleSDEkeG7k25nIHRo4budaSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNyBidWlsdGluL3B1bGwuYzoxODcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTAgYnVpbHRpbi9wdWxsLmM6MTg4CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgIiIKICJj4bqvdCBj4buldCAocHJ1bmUpIGPDoWMgbmjDoW5oIOKAnHJlbW90ZS10cmFja2luZ+KAnSBraMO0bmcgY8OybiB04buTbiB04bqhaSB0csOqbiBtw6F5IGNo4bunICIKICJu4buvYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwOCBidWlsdGluL3B1bGwuYzoxOTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MTkxCiBtc2dpZCAib24tZGVtYW5kIgogbXNnc3RyICJraGktY+G6p24iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDkgYnVpbHRpbi9wdWxsLmM6MTkxCisjOiBidWlsdGluL2ZldGNoLmM6MTEyIGJ1aWx0aW4vcHVsbC5jOjE5MgogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIsSRaeG7gXUga2hp4buDbiB2aeG7h2MgbOG6pXkgduG7gSDEkeG7hyBxdXkgdHJvbmcgY8OhYyBtw7QtxJF1bi1jb24iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTMgYnVpbHRpbi9wdWxsLmM6MTk5CisjOiBidWlsdGluL2ZldGNoLmM6MTE2IGJ1aWx0aW4vcHVsbC5jOjIwMAogbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgogbXNnc3RyICJnaeG7ryBs4bqhaSBnw7NpIMSRw6MgdOG6o2kgduG7gSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNQorIzogYnVpbHRpbi9mZXRjaC5jOjExOAogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICJjaG8gcGjDqXAgY+G6rXAgbmjhuq10IHRoLmNoaeG6v3UgSEVBRCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExOCBidWlsdGluL3B1bGwuYzoyMDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjEyNyBidWlsdGluL3B1bGwuYzoyMDMKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICJsw6BtIHPDonUgaMahbiBs4buLY2ggc+G7rSBj4bunYSBi4bqjbiBzYW8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjAgYnVpbHRpbi9wdWxsLmM6MjA1CisjOiBidWlsdGluL2ZldGNoLmM6MTIzCittc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyByZXBvc2l0b3J5IGJhc2VkIG9uIHRpbWUiCittc2dzdHIgImzDoG0gc8OidSBoxqFuIGzhu4tjaCBz4butIGPhu6dhIGtobyBi4bqjbiBzYW8gc2hhbGxvdyBk4buxYSB0csOqbiB0aOG7nWkgZ2lhbiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEyOSBidWlsdGluL3B1bGwuYzoyMDYKIG1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiY2h1eeG7g24gxJHhu5VpIGhvw6BuIHRvw6BuIHNhbmcga2hvIGdpdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL2xvZy5jOjEzOTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzEgYnVpbHRpbi9sb2cuYzoxNDMzCiBtc2dpZCAiZGlyIgogbXNnc3RyICJ0beG7pWMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgogbXNnc3RyICJzb+G6oW4gc+G6tW4gY8OhaSBuw6B5IGNobyBr4bq/dCB4deG6pXQgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNgorIzogYnVpbHRpbi9mZXRjaC5jOjEzNQogbXNnaWQgImRlZmF1bHQgbW9kZSBmb3IgcmVjdXJzaW9uIgogbXNnc3RyICJjaOG6vyDEkeG7mSBt4bq3YyDEkeG7i25oIGNobyDEkeG7hyBxdWkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjggYnVpbHRpbi9wdWxsLmM6MjA4CisjOiBidWlsdGluL2ZldGNoLmM6MTM3IGJ1aWx0aW4vcHVsbC5jOjIwOQogbXNnaWQgImFjY2VwdCByZWZzIHRoYXQgdXBkYXRlIC5naXQvc2hhbGxvdyIKIG1zZ3N0ciAiY2jhuqVwIG5o4bqtbiB0aGFtIGNoaeG6v3UgY+G6rXAgbmjhuq10IC5naXQvc2hhbGxvdyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyOSBidWlsdGluL3B1bGwuYzoyMTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzggYnVpbHRpbi9wdWxsLmM6MjExCiBtc2dpZCAicmVmbWFwIgogbXNnc3RyICJyZWZtYXAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzAgYnVpbHRpbi9wdWxsLmM6MjExCisjOiBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVsbC5jOjIxMgogbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgogbXNnc3RyICJjaOG7iSByYSByZWZtYXAgY+G6p24gbOG6pXkgduG7gSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM4NgorIzogYnVpbHRpbi9mZXRjaC5jOjM5OAogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdMOsbSB0aOG6pXkgbcOheSBjaOG7pyBjaG8gdGhhbSBjaGnhur91IEhFQUQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0NjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29uZmlndXJhdGlvbiBmZXRjaC5vdXRwdXQgY29udGFpbnMgaW52YWxpZCB2YWx1ZSAlcyIKK21zZ3N0ciAicGjhuqduIGPhuqV1IGjDrG5oIGZldGNoLm91dHB1dCBjw7MgY2jhu6lhIGdpw6EtdHLhu4sga2jDtG5nIGjhu6NwIGzhu4cgJXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5IMSR4buRaSB0xrDhu6NuZyAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ3MQorIzogYnVpbHRpbi9mZXRjaC5jOjYxMQogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW8SRw6MgY+G6rXAgbmjhuq10XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ4NQotIywgYy1mb3JtYXQKLW1zZ2lkICIhICUtKnMgJS0qcyAtPiAlcyAgKGNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoKSIKLW1zZ3N0ciAiISAlLSpzICUtKnMgLT4gJXMgIChraMO0bmcgdGjhu4MgZmV0Y2ggKGzhuqV5KSB24buBIG5ow6FuaCBoaeG7h24gaMOgbmgpIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NDg2IGJ1aWx0aW4vZmV0Y2guYzo1NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjQgYnVpbHRpbi9mZXRjaC5jOjcwNAogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIltC4buLIHThu6sgY2jhu5FpXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ5NworIzogYnVpbHRpbi9mZXRjaC5jOjYyNQorbXNnaWQgImNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoIgorbXNnc3RyICJraMO0bmcgdGjhu4MgZmV0Y2ggKGzhuqV5KSB24buBIG5ow6FuaCBoaeG7h24gaMOgbmgiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzQKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIltj4bqtcCBuaOG6rXQgdGjhurtdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDk5IGJ1aWx0aW4vZmV0Y2guYzo1MzQgYnVpbHRpbi9mZXRjaC5jOjU1MgotbXNnaWQgIiAgKHVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmKSIKLW1zZ3N0ciAiICAoa2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCB0aGFtIGNoaeG6v3UgbuG7mWkgYuG7mSkiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MTcKLW1zZ2lkICJbbmV3IHRhZ10iCi1tc2dzdHIgIlt0aOG6uyBt4bubaV0iCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MjAKLW1zZ2lkICJbbmV3IGJyYW5jaF0iCi1tc2dzdHIgIltuaMOhbmggbeG7m2ldIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTIzCi1tc2dpZCAiW25ldyByZWZdIgotbXNnc3RyICJbcmVmICh0aGFtIGNoaeG6v3UpIG3hu5tpXSIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjU2OQorIzogYnVpbHRpbi9mZXRjaC5jOjYzNSBidWlsdGluL2ZldGNoLmM6NjY4IGJ1aWx0aW4vZmV0Y2guYzo2ODQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2OTkKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCB0aGFtIGNoaeG6v3UgbuG7mWkgYuG7mSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU2OQorIzogYnVpbHRpbi9mZXRjaC5jOjY1NAorbXNnaWQgIltuZXcgdGFnXSIKK21zZ3N0ciAiW3Ro4bq7IG3hu5tpXSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjY1NworbXNnaWQgIltuZXcgYnJhbmNoXSIKK21zZ3N0ciAiW25ow6FuaCBt4bubaV0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NjAKK21zZ2lkICJbbmV3IHJlZl0iCittc2dzdHIgIltyZWYgKHRoYW0gY2hp4bq/dSkgbeG7m2ldIgorCisjOiBidWlsdGluL2ZldGNoLmM6Njk5CiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAiY8aw4buhbmcgYuG7qWMgY+G6rXAgbmjhuq10IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTc2Ci1tc2dpZCAiKG5vbi1mYXN0LWZvcndhcmQpIgotbXNnc3RyICIoa2jDtG5nLWNodXnhu4NuLXRp4bq/cC1uaGFuaCkiCisjOiBidWlsdGluL2ZldGNoLmM6NzA0Cittc2dpZCAibm9uLWZhc3QtZm9yd2FyZCIKK21zZ3N0ciAia2jDtG5nLXBo4bqjaS1jaHV54buDbi10aeG6v3AtbmhhbmgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIlcyDEkcOjIGtow7RuZyBn4butaSB04bqldCBj4bqjIGPDoWMgxJHhu5FpIHTGsOG7o25nIGPhuqduIHRoaeG6v3RcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYzNworIzogYnVpbHRpbi9mZXRjaC5jOjc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIgogbXNnc3RyICJ04burIGNo4buRaSAlcyBi4bufaSB2w6wgY8OhYyBn4buRYyBuw7RuZyB0aMOsIGtow7RuZyDEkcaw4bujYyBwaMOpcCBj4bqtcCBuaOG6rXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MjQgYnVpbHRpbi9mZXRjaC5jOjgxNgorIzogYnVpbHRpbi9mZXRjaC5jOjg1NiBidWlsdGluL2ZldGNoLmM6OTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICJU4burICUuKnNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjczNQorIzogYnVpbHRpbi9mZXRjaC5jOjg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgpAQCAtNjQ3OCw1NyArNzQ2OSw1NyBAQAogIm3hu5l0IHPhu5EgdGhhbSBjaGnhur91IG7hu5lpIGLhu5kga2jDtG5nIHRo4buDIMSRxrDhu6NjIGPhuq1wIG5o4bqtdDsgaMOjeSB0aOG7rSBjaOG6oXlcbiIKICIg4oCcZ2l0IHJlbW90ZSBwcnVuZSAlc+KAnSDEkeG7gyBi4buPIMSRaSBuaOG7r25nIG5ow6FuaCBjxaksIGhheSBi4buLIHh1bmcgxJHhu5l0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6Nzg3CisjOiBidWlsdGluL2ZldGNoLmM6OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyBz4bq9IHRy4bufIHRow6BuaCBraMO0bmcgxJHhuqd1IChraMO0bmcgxJHGsOG7o2MgcXXhuqNuIGzDvSkpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Nzg4CisjOiBidWlsdGluL2ZldGNoLmM6OTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIMSRw6MgdHLhu58gdGjDoG5oIGtow7RuZyDEkeG6p3UgKGtow7RuZyDEkcaw4bujYyBxdeG6o24gbMO9KSkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NTUKIG1zZ2lkICJbZGVsZXRlZF0iCiBtc2dzdHIgIlvEkcOjIHjDs2FdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODIxIGJ1aWx0aW4vcmVtb3RlLmM6MTAyNQorIzogYnVpbHRpbi9mZXRjaC5jOjk1NiBidWlsdGluL3JlbW90ZS5jOjEwMjAKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIihraMO0bmcpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODQxCisjOiBidWlsdGluL2ZldGNoLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogIlThu6sgY2jhu5FpIHZp4buHYyBs4bqleSB2w6BvIHRyb25nIG5ow6FuaCBoaeG7h24gdOG6oWkgJXMgY+G7p2EgbeG7mXQga2hvIGNo4bupYSBraMO0bmcgcGjhuqNpIGtobyAiCiAidHLhuqduIChiYXJlKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg2MAorIzogYnVpbHRpbi9mZXRjaC5jOjk5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgogbXNnc3RyICJUw7l5IGNo4buNbiBcIiVzXCIgY8OzIGdpw6EgdHLhu4sgXCIlc1wiIGzDoCBraMO0bmcgaOG7o3AgbOG7hyBjaG8gJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgaXMgaWdub3JlZCBmb3IgJXNcbiIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gXCIlc1wiIGLhu4sgYuG7jyBxdWEgduG7m2kgJXNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkyMAorIzogYnVpbHRpbi9mZXRjaC5jOjEwNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZmV0Y2ggZnJvbSAlcyIKIG1zZ3N0ciAiS2jDtG5nIGJp4bq/dCBsw6BtIGPDoWNoIG7DoG8gxJHhu4MgbOG6pXkgduG7gSB04burICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4MAorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKIG1zZ3N0ciAixJBhbmcgbOG6pXkg4oCcJXPigJ0gduG7gVxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4MiBidWlsdGluL3JlbW90ZS5jOjk2CisjOiBidWlsdGluL2ZldGNoLmM6MTIzOSBidWlsdGluL3JlbW90ZS5jOjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIOKAnCVz4oCdIHbhu4EiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTAwCisjOiBidWlsdGluL2ZldGNoLmM6MTI1NwogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtNjUzNiwzMiArNzUyNyw0MCBAQAogIkNoxrBhIGNo4buJIHJhIGtobyBjaOG7qWEgbcOheSBjaOG7py4gIFhpbiBow6N5IGNo4buJIMSR4buLbmggaG/hurdjIGzDoCBVUkwgaG/hurdjXG4iCiAidMOqbiBtw6F5IGNo4bunIHThu6sgY8OhaSBtw6Agbmjhu69uZyDEkWnhu4NtIHjDqXQgZHV54buHdCBt4bubaSBjw7MgdGjhu4MgxJHGsOG7o2MgZmV0Y2ggKGzhuqV5IHbhu4EpLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjgwCiBtc2dpZCAiWW91IG5lZWQgdG8gc3BlY2lmeSBhIHRhZyBuYW1lLiIKIG1zZ3N0ciAiQuG6oW4gcGjhuqNpIMSR4buLbmggcsO1IHTDqm4gdGjhursuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE2NQorIzogYnVpbHRpbi9mZXRjaC5jOjEzMjIKK21zZ2lkICJOZWdhdGl2ZSBkZXB0aCBpbiAtLWRlZXBlbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJN4bupYyBzw6J1IGzDoCBz4buRIMOibSB0cm9uZyAtLWRlZXBlbiBsw6Aga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI0Cittc2dpZCAiLS1kZWVwZW4gYW5kIC0tZGVwdGggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiQ8OhYyB0w7l5IGNo4buNbi0tZGVlcGVuIHbDoCAtLWRlcHRoIGxv4bqhaSB04burIGzhuqtuIG5oYXUiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI5CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgInTDuXkgY2jhu41uIC0tZGVwdGggdsOgIC0tdW5zaGFsbG93IGtow7RuZyB0aOG7gyBz4butIGThu6VuZyBjw7luZyB24bubaSBuaGF1IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE2NworIzogYnVpbHRpbi9mZXRjaC5jOjEzMzEKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS11bnNoYWxsb3cgdHLDqm4ga2hvIGhvw6BuIGNo4buJbmggbMOgIGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTg3CisjOiBidWlsdGluL2ZldGNoLmM6MTM1MwogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICJs4buHbmggbOG6pXkgduG7gSBcImZldGNoIC0tYWxsXCIga2jDtG5nIGzhuqV5IMSR4buRaSBz4buRIGtobyBjaOG7qWEiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTg5CisjOiBidWlsdGluL2ZldGNoLmM6MTM1NQogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAibOG7h25oIGzhuqV5IHbhu4EgXCJmZXRjaCAtLWFsbFwiIGtow7RuZyBo4bujcCBsw70gduG7m2kgcmVmc3BlY3MiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjAwCisjOiBidWlsdGluL2ZldGNoLmM6MTM2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICJraMO0bmcgY8OzIG5ow7NtIG3DoXkgY2jhu6cgaGF5IG3DoXkgY2jhu6cgbmjGsCB0aOG6vzogJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjA4CisjOiBidWlsdGluL2ZldGNoLmM6MTM3NAogbXNnaWQgIkZldGNoaW5nIGEgZ3JvdXAgYW5kIHNwZWNpZnlpbmcgcmVmc3BlY3MgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiVmnhu4djIGzhuqV5IHbhu4EgY+G6oyBt4buZdCBuaMOzbSB2w6AgY2jhu4kgxJHhu4tuaCByZWZzcGVjcyBraMO0bmcgaOG7o3AgbMO9IgogCkBAIC02NTcyLDIzICs3NTcxLDIzIEBACiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxjaMO6X3Row61jaD5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlIDx04bqtcC0iCiAidGluPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjYzCiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICJn4bqvbiBuaOG6rXQga8O9IHbhu5tpIMOtdCBuaOG6pXQgPG4+IG3hu6VjIHThu6sgbOG7h25oIOKAnHNob3J0bG9n4oCdIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NgogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgImLDrSBkYW5oIGNobyAtLWxvZyAoa2jDtG5nIMSRxrDhu6NjIGTDuW5nKSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjczCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjkKIG1zZ2lkICJ0ZXh0IgogbXNnc3RyICJ2xINuIGLhuqNuIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzQKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAogbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKIG1zZ3N0ciAiZMO5bmcgPHbEg24gYuG6o24gdGjGsOG7nW5nPiDEkeG7gyBi4bqvdCDEkeG6p3UgZ2hpIGNow7oiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NQorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCiBtc2dpZCAiZmlsZSB0byByZWFkIGZyb20iCiBtc2dzdHIgInThuq1wIHRpbiDEkeG7gyDEkeG7jWMgZOG7ryBsaeG7h3UgdOG7qyDEkcOzIgogCkBAIC02NjQ4LDYzICs3NjQ3LDYzIEBACiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgdGhhbSBjaGnhur91IG3DoCBuw7MgY2jhu6lhIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjE1NiBidWlsdGluL3BydW5lLmM6MTQwCi1tc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgotbXNnc3RyICLEkGFuZyBraeG7g20gdHJhIGvhur90IG7hu5FpIgotCi0jOiBidWlsdGluL2ZzY2suYzo0ODYKKyM6IGJ1aWx0aW4vZnNjay5jOjUxOQogbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSBjw6FjIHRoxrAgbeG7pWMgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NTIKKyM6IGJ1aWx0aW4vZnNjay5jOjU4OAogbXNnaWQgImdpdCBmc2NrIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgImdpdCBmc2NrIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8xJHhu5FpLXTGsOG7o25nPuKApl0iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU1OAorIzogYnVpbHRpbi9mc2NrLmM6NTk0CiBtc2dpZCAic2hvdyB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIHRo4buDIMSR4buNYyDEkcaw4bujYyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTU5CisjOiBidWlsdGluL2ZzY2suYzo1OTUKIG1zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgxJHGsOG7o2MgcXXhuqNuIGzDvSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTYwCisjOiBidWlsdGluL2ZzY2suYzo1OTYKIG1zZ2lkICJyZXBvcnQgdGFncyIKIG1zZ3N0ciAiYsOhbyBjw6FvIGPDoWMgdGjhursiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MQorIzogYnVpbHRpbi9mc2NrLmM6NTk3CiBtc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCiBtc2dzdHIgImLDoW8gY8OhbyBub2RlIGfhu5FjIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjIKKyM6IGJ1aWx0aW4vZnNjay5jOjU5OAogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgogbXNnc3RyICJ04bqhbyDigJxpbmRleCBvYmplY3RzIGhlYWQgbm9kZXPigJ0iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MworIzogYnVpbHRpbi9mc2NrLmM6NTk5CiBtc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgogbXNnc3RyICJ04bqhbyDigJxyZWZsb2dzIGhlYWQgbm9kZXPigJ0gKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjQKKyM6IGJ1aWx0aW4vZnNjay5jOjYwMAogbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgogbXNnc3RyICJjxaluZyBjw6JuIG5o4bqvYyDEkeG6v24gY8OhYyDEkeG7kWkgdMaw4bujbmcgZ8OzaSB2w6AgdGhheSB0aOG6vyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY1CisjOiBidWlsdGluL2ZzY2suYzo2MDEKIG1zZ2lkICJjaGVjayBvbmx5IGNvbm5lY3Rpdml0eSIKIG1zZ3N0ciAiY2jhu4kga2nhu4NtIHRyYSBr4bq/dCBu4buRaSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY2CisjOiBidWlsdGluL2ZzY2suYzo2MDIKIG1zZ2lkICJlbmFibGUgbW9yZSBzdHJpY3QgY2hlY2tpbmciCiBtc2dzdHIgImNobyBwaMOpcCBraeG7g20gdHJhIGjhuqFuIGNo4bq/IGjGoW4iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2OAorIzogYnVpbHRpbi9mc2NrLmM6NjA0CiBtc2dpZCAid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiCiBtc2dzdHIgImdoaSBjw6FjIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgxJHGsOG7o2MgcXXhuqNuIGzDvSB0cm9uZyAuZ2l0L2xvc3QtZm91bmQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2OSBidWlsdGluL3BydW5lLmM6MTA3CisjOiBidWlsdGluL2ZzY2suYzo2MDUgYnVpbHRpbi9wcnVuZS5jOjEwNwogbXNnaWQgInNob3cgcHJvZ3Jlc3MiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBxdcOhIHRyw6xuaCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjMwCisjOiBidWlsdGluL2ZzY2suYzo2MDYKK21zZ2lkICJzaG93IHZlcmJvc2UgbmFtZXMgZm9yIHJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICJoaeG7g24gdGjhu4sgdMOqbiBjaGkgdGnhur90IGNobyBjw6FjIMSR4buRaSB0xrDhu6NuZyDEkeG7jWMgxJHGsOG7o2MiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY2NQogbXNnaWQgIkNoZWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIsSQYW5nIGtp4buDbSB0cmEgY8OhYyDEkeG7kWkgdMaw4bujbmciCiAKQEAgLTY3OTksMjI3ICs3Nzk4LDIyMiBAQAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkgZm9yICVzIgogbXNnc3RyICJz4buRIHR1eeG6v24gxJHDoyBjaG8ga2jDtG5nIGjhu6NwIGzhu4cgKCVkKSBjaG8gJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ1MiBidWlsdGluL2dyZXAuYzo0ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ1MyBidWlsdGluL2dyZXAuYzo0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIGPDonkgKCVzKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTAyCisjOiBidWlsdGluL2dyZXAuYzo1MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gbOG7h25oIGdyZXAgKGzhu41jIHTDrG0pIHThu6sgxJHhu5FpIHTGsOG7o25nIHRodeG7mWMga2nhu4N1ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo1NjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjU2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICJjaHV54buDbiDEkeG6v24g4oCcJWPigJ0gY+G6p24gbeG7mXQgZ2nDoSB0cuG7iyBi4bqxbmcgc+G7kSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NTc3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuICclcyciCi1tc2dzdHIgImtow7RuZyBt4bufIMSRxrDhu6NjIOKAnCVz4oCdIgotCi0jOiBidWlsdGluL2dyZXAuYzo2NDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY0NwogbXNnaWQgInNlYXJjaCBpbiBpbmRleCBpbnN0ZWFkIG9mIGluIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgInTDrG0gdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjIHRoYXkgdsOsIHRyb25nIGPDonkgbMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY0OAorIzogYnVpbHRpbi9ncmVwLmM6NjQ5CiBtc2dpZCAiZmluZCBpbiBjb250ZW50cyBub3QgbWFuYWdlZCBieSBnaXQiCiBtc2dzdHIgInTDrG0gdHJvbmcgbuG7mWkgZHVuZyBraMO0bmcgxJHGsOG7o2MgcXXhuqNuIGzDvSBi4bufaSBnaXQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1MAorIzogYnVpbHRpbi9ncmVwLmM6NjUxCiBtc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJ0w6xtIGtp4bq/bSBjw6FjIHThuq1wIHRpbiDEkcaw4bujYyB2w6AgY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIGThuqV1IHbhur90IgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1MwogbXNnaWQgImlnbm9yZSBmaWxlcyBzcGVjaWZpZWQgdmlhICcuZ2l0aWdub3JlJyIKIG1zZ3N0ciAiY8OhYyB04bqtcCB0aW4gYuG7iyBi4buPIHF1YSDEkcaw4bujYyBjaOG7iSDEkeG7i25oIHRow7RuZyBxdWEg4oCcLmdpdGlnbm9yZeKAnSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU1CisjOiBidWlsdGluL2dyZXAuYzo2NTYKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIG5o4buvbmcgZMOybmcga2jDtG5nIGto4bubcCB24bubaSBt4bqrdSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU3CisjOiBidWlsdGluL2dyZXAuYzo2NTgKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgogbXNnc3RyICJwaMOibiBiaeG7h3QgSE9BL3RoxrDhu51uZyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU5CisjOiBidWlsdGluL2dyZXAuYzo2NjAKIG1zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKIG1zZ3N0ciAiY2jhu4kga2jhu5twIG3huqt1IHThuqFpIMSRxrDhu51uZyByYW5oIGdp4bubaSB04burIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2MgogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIHRleHQiCiBtc2dzdHIgInjhu60gbMO9IHThuq1wIHRpbiBuaOG7iyBwaMOibiBuaMawIGzDoCBk4bqhbmcgdsSDbiBi4bqjbiB0aMaw4budbmciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2MworIzogYnVpbHRpbi9ncmVwLmM6NjY0CiBtc2dpZCAiZG9uJ3QgbWF0Y2ggcGF0dGVybnMgaW4gYmluYXJ5IGZpbGVzIgogbXNnc3RyICJraMO0bmcga2jhu5twIG3huqt1IHRyb25nIGPDoWMgdOG6rXAgdGluIG5o4buLIHBow6JuIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2NwogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKIG1zZ3N0ciAieOG7rSBsw70gdOG6rXAgdGluIG5o4buLIHBow6JuIHbhu5tpIGPDoWMgYuG7mSBs4buNYyDigJx0ZXh0Y29uduKAnSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY4CisjOiBidWlsdGluL2dyZXAuYzo2NjkKIG1zZ2lkICJkZXNjZW5kIGF0IG1vc3QgPGRlcHRoPiBsZXZlbHMiCiBtc2dzdHIgImjhuqEgeHXhu5FuZyDDrXQgbmjhuqV0IGzDoCBt4bupYyA8c8OidT4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3MgorIzogYnVpbHRpbi9ncmVwLmM6NjczCiBtc2dpZCAidXNlIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgImTDuW5nIGJp4buDdSB0aOG7qWMgY2jDrW5oIHF1aSBQT1NJWCBjw7MgbeG7nyBy4buZbmciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3NQorIzogYnVpbHRpbi9ncmVwLmM6Njc2CiBtc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgogbXNnc3RyICJz4butIGThu6VuZyBiaeG7g3UgdGjhu6ljIGNow61uaCBxdXkga2nhu4N1IFBPU0lYICht4bq3YyDEkeG7i25oKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njc4CisjOiBidWlsdGluL2dyZXAuYzo2NzkKIG1zZ2lkICJpbnRlcnByZXQgcGF0dGVybnMgYXMgZml4ZWQgc3RyaW5ncyIKIG1zZ3N0ciAiZGnhu4VuIGThu4tjaCBjw6FjIG3huqt1IG5oxrAgbMOgIGNodeG7l2kgY+G7kSDEkeG7i25oIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4MgogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAic+G7rSBk4bulbmcgYmnhu4N1IHRo4bupYyBjaMOtbmggcXV5IHTGsMahbmcgdGjDrWNoIFBlcmwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NAorIzogYnVpbHRpbi9ncmVwLmM6Njg1CiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBz4buRIGPhu6dhIGTDsm5nIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NgogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIHTDqm4gdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NwogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB0w6puIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg4CisjOiBidWlsdGluL2dyZXAuYzo2ODkKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJoaeG7g24gdGjhu4sgdMOqbiB04bqtcCB0aW4gdMawxqFuZyDEkeG7kWkgduG7m2kgdGjGsCBt4bulYyDEkeG7iW5oICh0b3ApIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MQogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIHTDqm4gdOG6rXAgdGluIHRoYXkgdsOsIG5o4buvbmcgZMOybmcga2jhu5twIHbhu5tpIG3huqt1IgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MwogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICLEkeG7k25nIG5naMSpYSB24bubaSAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk1CisjOiBidWlsdGluL2dyZXAuYzo2OTYKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyB0w6puIGNobyBuaOG7r25nIHThuq1wIHRpbiBraMO0bmcga2jhu5twIHbhu5tpIG3huqt1IgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCiBtc2dzdHIgInRow6ptIE5VTCB2w6BvIHNhdSB0w6puIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njk5CisjOiBidWlsdGluL2dyZXAuYzo3MDAKIG1zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgc+G7kSBsxrDhu6NuZyBraOG7m3AgdGhheSB2w6wgbmjhu69uZyBkw7JuZyBraOG7m3AgduG7m2kgbeG6q3UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwMAorIzogYnVpbHRpbi9ncmVwLmM6NzAxCiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgInTDtCBzw6FuZyBwaOG6p24ga2jhu5twIG3huqt1IgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMwogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgZMOybmcgdHLhu5FuZyBnaeG7r2EgY8OhYyBs4bqnbiBraOG7m3AgdOG7qyBjw6FjIHThuq1wIHRpbiBraMOhYyBiaeG7h3QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNAorIzogYnVpbHRpbi9ncmVwLmM6NzA1CiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAiIgogImhp4buDbiB0aOG7iyB0w6puIHThuq1wIHRpbiBt4buZdCBs4bqnbiBwaMOtYSB0csOqbiBjw6FjIGzhuqduIGto4bubcCB04burIGPDuW5nIG3hu5l0IHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzA3CisjOiBidWlsdGluL2dyZXAuYzo3MDgKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIDxuPiBkw7JuZyBu4buZaSBkdW5nIHBow61hIHRyxrDhu5tjIHbDoCBzYXUgY8OhYyBs4bqnbiBraOG7m3AiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxMAorIzogYnVpbHRpbi9ncmVwLmM6NzExCiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIDxuPiBkw7JuZyBu4buZaSBkdW5nIHRyxrDhu5tjIGto4bubcCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEyCisjOiBidWlsdGluL2dyZXAuYzo3MTMKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyA8bj4gZMOybmcgbuG7mWkgZHVuZyBzYXUga2jhu5twIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNQogbXNnaWQgInVzZSA8bj4gd29ya2VyIHRocmVhZHMiCiBtc2dzdHIgImTDuW5nIDxuPiB0dXnhur9uIHRyw6xuaCBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzE1CisjOiBidWlsdGluL2dyZXAuYzo3MTYKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgogbXNnc3RyICJk4bqhbmcgdmnhur90IHThuq90IGPhu6dhIC1DIFPhu5AiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9ncmVwLmM6NzE5CiBtc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGTDsm5nIHbDs2kgdMOqbiBow6BtIHRyxrDhu5tjIGPDoWMgbOG6p24ga2jhu5twIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcyMQogbXNnaWQgInNob3cgdGhlIHN1cnJvdW5kaW5nIGZ1bmN0aW9uIgogbXNnc3RyICJoaeG7g24gdGjhu4sgaMOgbSBiYW8gcXVhbmgiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyMworIzogYnVpbHRpbi9ncmVwLmM6NzI0CiBtc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCiBtc2dzdHIgIsSR4buNYyBt4bqrdSB04burIHThuq1wLXRpbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2dyZXAuYzo3MjYKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgIm1hdGNoIDxt4bqrdT4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyNworIzogYnVpbHRpbi9ncmVwLmM6NzI4CiBtc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKIG1zZ3N0ciAidOG7lSBo4bujcCBt4bqrdSDEkcaw4bujYyBjaOG7iSByYSB24bubaSB0w7l5IGNo4buNbiAtZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzM5CisjOiBidWlsdGluL2dyZXAuYzo3NDAKIG1zZ2lkICJpbmRpY2F0ZSBoaXQgd2l0aCBleGl0IHN0YXR1cyB3aXRob3V0IG91dHB1dCIKIG1zZ3N0ciAixJHGsGEgcmEgZ+G7o2kgw70gduG7m2kgdHLhuqFuZyB0aMOhaSB0aG/DoXQgbcOgIGtow7RuZyBjw7Mga+G6v3QgeHXhuqV0IgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MgogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBuaOG7r25nIGPDoWkga2jhu5twIHThu6sgdOG6rXAgdGluIG3DoCBuw7Mga2jhu5twIHRvw6BuIGLhu5kgY8OhYyBt4bqrdSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQzCisjOiBidWlsdGluL2dyZXAuYzo3NDQKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDonkgcGjDom4gdMOtY2ggY8O6IHBow6FwIGNobyBiaeG7g3UgdGjhu6ljIOKAnGdyZXDigJ0gKHTDrG0ga2nhur9tKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQ3CisjOiBidWlsdGluL2dyZXAuYzo3NDgKIG1zZ2lkICJwYWdlciIKIG1zZ3N0ciAiZMOgbiB0cmFuZyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQ3CisjOiBidWlsdGluL2dyZXAuYzo3NDgKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGto4bubcCB0cm9uZyB0cmFuZyBnaeG6pXkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc1MAorIzogYnVpbHRpbi9ncmVwLmM6NzUxCiBtc2dpZCAiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIgogbXNnc3RyICJjaG8gcGjDqXAgZ+G7jWkgZ3JlcCgxKSAoYuG7iyBi4buPIHF1YSBi4bufaSBs4bqnbiBk4buLY2ggbsOgeSkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxMworIzogYnVpbHRpbi9ncmVwLmM6ODE0CiBtc2dpZCAibm8gcGF0dGVybiBnaXZlbi4iCiBtc2dzdHIgImNoxrBhIGNo4buJIHJhIG3huqt1LiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0NiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgInPhu5EgdHV54bq/biBjaOG7iSByYSBraMO0bmcgaOG7o3AgbOG7hyAoJWQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NgogbXNnaWQgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBvbmx5IHdvcmtzIG9uIHRoZSB3b3JrdHJlZSIKIG1zZ3N0ciAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIGNo4buJIGzDoG0gdmnhu4djIHRyw6puIGPDonktbMOgbS12aeG7h2MiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwMQorIzogYnVpbHRpbi9ncmVwLmM6OTAyCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKIG1zZ3N0ciAiLS1jYWNoZWQgaGF5IC0tdW50cmFja2VkIGtow7RuZyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSAtLW5vLWluZGV4LiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA2CisjOiBidWlsdGluL2dyZXAuYzo5MDcKIG1zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cy4iCiBtc2dzdHIgIiIKICItLW5vLWluZGV4IGhheSAtLXVudHJhY2tlZCBraMO0bmcgxJHGsOG7o2Mgc+G7rSBk4bulbmcgY8O5bmcgduG7m2kgY8OhYyB0w7l5IGNo4buNbiBsacOqbiAiCiAicXVhbiDEkeG6v24gcmV2cy4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQorIzogYnVpbHRpbi9ncmVwLmM6OTEwCiBtc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMuIgogbXNnc3RyICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBraMO0bmcgdGjhu4Mgc+G7rSBk4bulbmcgY2hvIG7hu5lpIGR1bmcgbMawdSBk4bqldSB24bq/dC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkxNworIzogYnVpbHRpbi9ncmVwLmM6OTE4CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuLiIKIG1zZ3N0ciAiY+G6oyBoYWkgLS1jYWNoZWQgdsOgIGPDoWMgY8OieSBwaOG6o2kgxJHGsOG7o2MgY2jhu4kgcmEuIgogCkBAIC03MDM1LDgzICs4MDI5LDg3IEBACiBtc2dpZCAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgogbXNnc3RyICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5MworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CiBtc2dpZCAidHlwZSIKIG1zZ3N0ciAia2nhu4N1IgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTMKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NAogbXNnaWQgIm9iamVjdCB0eXBlIgogbXNnc3RyICJraeG7g3UgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTQKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NQogbXNnaWQgIndyaXRlIHRoZSBvYmplY3QgaW50byB0aGUgb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICJnaGkgxJHhu5FpIHTGsOG7o25nIHbDoG8gZOG7ryBsaeG7h3UgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTYKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NwogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgogbXNnc3RyICLEkeG7jWMgxJHhu5FpIHTGsOG7o25nIHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiBzdGRpbiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTkKIG1zZ2lkICJzdG9yZSBmaWxlIGFzIGlzIHdpdGhvdXQgZmlsdGVycyIKIG1zZ3N0ciAibMawdSBjw6FjIHThuq1wIHRpbiBtw6AgbsOzIGtow7RuZyBjw7MgY8OhYyBi4buZIGzhu41jIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTkKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKIG1zZ2lkICIiCiAianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgogbXNnc3RyICJjaOG7iSBj4bqnbiBixINtIHLDoWMgbmfhuqt1IG5oacOqbiDEkeG7gyB04bqhbyBt4buZdCDEkeG7kWkgdMaw4bujbmcgaOG7j25nIMSR4buDIG3DoCBn4buhIGzhu5dpIEdpdCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQogbXNnaWQgInByb2Nlc3MgZmlsZSBhcyBpdCB3ZXJlIGZyb20gdGhpcyBwYXRoIgogbXNnc3RyICJ44butIGzDvSB04bqtcCB0aW4gbmjGsCBsw6AgbsOzIMSRYW5nIOG7nyB0aMawIG3hu6VjIG7DoHkiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxCisjOiBidWlsdGluL2hlbHAuYzo0MgogbXNnaWQgInByaW50IGFsbCBhdmFpbGFibGUgY29tbWFuZHMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBkYW5oIHPDoWNoIGPDoWMgY8OidSBs4buHbmggbmfGsOG7nWkgZMO5bmcgY8OzIHRo4buDIHPhu60gZOG7pW5nIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MgorIzogYnVpbHRpbi9oZWxwLmM6NDMKK21zZ2lkICJleGNsdWRlIGd1aWRlcyIKK21zZ3N0ciAiaMaw4bubbmcgZOG6q24gbG/huqFpIHRy4burIgorCisjOiBidWlsdGluL2hlbHAuYzo0NAogbXNnaWQgInByaW50IGxpc3Qgb2YgdXNlZnVsIGd1aWRlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGRhbmggc8OhY2ggY8OhYyBoxrDhu5tuZyBk4bqrbiBo4buvdSBk4bulbmciCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQzCisjOiBidWlsdGluL2hlbHAuYzo0NQogbXNnaWQgInNob3cgbWFuIHBhZ2UiCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0cmFuZyBtYW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ0CisjOiBidWlsdGluL2hlbHAuYzo0NgogbXNnaWQgInNob3cgbWFudWFsIGluIHdlYiBicm93c2VyIgogbXNnc3RyICJoaeG7g24gdGjhu4sgaMaw4bubbmcgZOG6q24gc+G7rSBk4bulbmcgdHJvbmcgdHLDrG5oIGR1eeG7h3Qgd2ViIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NgorIzogYnVpbHRpbi9oZWxwLmM6NDgKIG1zZ2lkICJzaG93IGluZm8gcGFnZSIKIG1zZ3N0ciAiaGnhu4duIHRyYW5nIGluZm8iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjUyCisjOiBidWlsdGluL2hlbHAuYzo1NAogbXNnaWQgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzxjb21tYW5kPl0iCiBtc2dzdHIgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzxs4buHbmg+XSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NjQKKyM6IGJ1aWx0aW4vaGVscC5jOjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWxwIGZvcm1hdCAnJXMnIgogbXNnc3RyICJraMO0bmcgbmjhuq1uIHJhIMSR4buLbmggZOG6oW5nIHRy4bujIGdpw7pwIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2hlbHAuYzo5MQorIzogYnVpbHRpbi9oZWxwLmM6OTMKIG1zZ2lkICJGYWlsZWQgdG8gc3RhcnQgZW1hY3NjbGllbnQuIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkga2jhu59pIGNo4bqheSBlbWFjc2NsaWVudC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEwNAorIzogYnVpbHRpbi9oZWxwLmM6MTA2CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggcGhpw6puIGLhuqNuIGVtYWNzY2xpZW50LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTEyCisjOiBidWlsdGluL2hlbHAuYzoxMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1hY3NjbGllbnQgdmVyc2lvbiAnJWQnIHRvbyBvbGQgKDwgMjIpLiIKIG1zZ3N0ciAicGhpw6puIGLhuqNuIGPhu6dhIGVtYWNzY2xpZW50IOKAnCVk4oCdIHF1w6EgY8WpICg8IDIyKS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEzMCBidWlsdGluL2hlbHAuYzoxNTEgYnVpbHRpbi9oZWxwLmM6MTYwIGJ1aWx0aW4vaGVscC5jOjE2OAorIzogYnVpbHRpbi9oZWxwLmM6MTMyIGJ1aWx0aW4vaGVscC5jOjE1MyBidWlsdGluL2hlbHAuYzoxNjIgYnVpbHRpbi9oZWxwLmM6MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleGVjICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB0aOG7sWMgdGhpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMDUKKyM6IGJ1aWx0aW4vaGVscC5jOjIwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogcGF0aCBmb3IgdW5zdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTcxMjAsNyArODExOCw3IEBACiAi4oCcJXPigJ06IMSRxrDhu51uZyBk4bqrbiBraMO0bmcgaOG7lyB0cuG7oyBi4buZIHRyw6xuaCBjaGnhur91IG1hbi5cbiIKICJIw6N5IGPDom4gbmjhuq9jIMSR4bq/biB2aeG7h2Mgc+G7rSBk4bulbmcg4oCcbWFuLjx0b29sPi5jbWTigJ0gxJHhu4MgdGhheSB0aOG6vy4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIxNworIzogYnVpbHRpbi9oZWxwLmM6MjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtNzEyOSw0MjUgKzgxMjcsNDI1IEBACiAi4oCcJXPigJ06IGNtZCAobOG7h25oKSBo4buXIHRy4bujIGLhu5kgdHLDrG5oIGNoaeG6v3UgbWFuLlxuIgogIkjDo3kgY8OibiBuaOG6r2MgxJHhur9uIHZp4buHYyBz4butIGThu6VuZyDigJxtYW4uPHRvb2w+LnBhdGjigJ0gxJHhu4MgdGhheSB0aOG6vy4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjMzNAorIzogYnVpbHRpbi9oZWxwLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVua25vd24gbWFuIHZpZXdlci4iCiBtc2dzdHIgIuKAnCVz4oCdOiBraMO0bmcgcsO1IGNoxrDGoW5nIHRyw6xuaCB4ZW0gbWFuLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzUxCisjOiBidWlsdGluL2hlbHAuYzozNTMKIG1zZ2lkICJubyBtYW4gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgImtow7RuZyBjw7MgdHLDrG5oIHhlbSB0cuG7oyBnacO6cCBk4bqhbmcgbWFucGFnZSB0aeG6v3AgaOG7o3AgduG7m2kgecOqdSBj4bqndSIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzU5CisjOiBidWlsdGluL2hlbHAuYzozNjEKIG1zZ2lkICJubyBpbmZvIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICJraMO0bmcgY8OzIHRyw6xuaCB4ZW0gdHLhu6MgZ2nDunAgZOG6oW5nIGluZm8gdGnhur9wIGjhu6NwIHbhu5tpIHnDqnUgY+G6p3UiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwOAorIzogYnVpbHRpbi9oZWxwLmM6NDAzCiBtc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKIG1zZ3N0ciAixJDhu4tuaCBuZ2jEqWEgY8OhYyB0aHXhu5ljIHTDrW5oIGNobyBt4buXaSDEkcaw4budbmcgZOG6q24iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQwOQorIzogYnVpbHRpbi9oZWxwLmM6NDA0CiBtc2dpZCAiRXZlcnlkYXkgR2l0IFdpdGggMjAgQ29tbWFuZHMgT3IgU28iCiBtc2dzdHIgIk3hu5dpIG5nw6B5IGjhu41jIDIwIGzhu4duaCBHaXQgaGF5IGjGoW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMAorIzogYnVpbHRpbi9oZWxwLmM6NDA1CiBtc2dpZCAiQSBHaXQgZ2xvc3NhcnkiCiBtc2dzdHIgIlRodeG6rXQgbmfhu68gY2h1ecOqbiBtw7RuIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDExCisjOiBidWlsdGluL2hlbHAuYzo0MDYKIG1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgogbXNnc3RyICJDaOG7iSDEkeG7i25oIGPDoWMgdOG6rXAgdGluIGtow7RuZyBj4bqnbiB0aGVvIGTDtWkiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxMgorIzogYnVpbHRpbi9oZWxwLmM6NDA3CiBtc2dpZCAiRGVmaW5pbmcgc3VibW9kdWxlIHByb3BlcnRpZXMiCiBtc2dzdHIgIsSQ4buLbmggbmdoxKlhIHRodeG7mWMgdMOtbmggbcO0LcSRdW4tY29uIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTMKKyM6IGJ1aWx0aW4vaGVscC5jOjQwOAogbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKIG1zZ3N0ciAiQ2jhu4kgxJHhu4tuaCDEkWnhu4NtIHjDqXQgZHV54buHdCB2w6AgdsO5bmcgY2hvIEdpdCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDE0CisjOiBidWlsdGluL2hlbHAuYzo0MDkKIG1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQgKGZvciB2ZXJzaW9uIDEuNS4xIG9yIG5ld2VyKSIKIG1zZ3N0ciAiSMaw4bubbmcgZOG6q24gY8OhY2ggZMO5bmcgR2l0IOG7nyBt4bupYyBjxqEgYuG6o24gKGLhuqNuIDEuNS4xIGhheSBt4bubaSBoxqFuKSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDE1CisjOiBidWlsdGluL2hlbHAuYzo0MTAKIG1zZ2lkICJBbiBvdmVydmlldyBvZiByZWNvbW1lbmRlZCB3b3JrZmxvd3Mgd2l0aCBHaXQiCiBtc2dzdHIgIlThu5VuZyBxdWFuIHbhu4EgbHXhu5NuZyBjw7RuZyB2aeG7h2Mga2h1eeG6v24gbmdo4buLIG7Dqm4gZMO5bmcgduG7m2kgR2l0LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDI3CisjOiBidWlsdGluL2hlbHAuYzo0MjIKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOlxuIgogbXNnc3RyICJDw6FjIGNo4buJIGThuqtuIGNodW5nIHbhu4EgY8OhY2ggZMO5bmcgR2l0IGzDoDpcbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQ4IGJ1aWx0aW4vaGVscC5jOjQ2NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1c2FnZTogJXMlcyIKLW1zZ3N0ciAiY8OhY2ggZMO5bmc6ICVzJXMiCi0KLSM6IGJ1aWx0aW4vaGVscC5jOjQ4MQorIzogYnVpbHRpbi9oZWxwLmM6NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImBnaXQgJXMnIGlzIGFsaWFzZWQgdG8gYCVzJyIKIG1zZ3N0ciAi4oCcZ2l0ICVz4oCdIMSRxrDhu6NjIMSR4bq3dCBiw60gZGFuaCB0aMOgbmgg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MgorIzogYnVpbHRpbi9oZWxwLmM6NDYyIGJ1aWx0aW4vaGVscC5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2FnZTogJXMlcyIKK21zZ3N0ciAiY8OhY2ggZMO5bmc6ICVzJXMiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCB0eXBlIG1pc21hdGNoIGF0ICVzIgogbXNnc3RyICJraeG7g3UgxJHhu5FpIHTGsOG7o25nIGtow7RuZyBraOG7m3AgdOG6oWkgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImRpZCBub3QgcmVjZWl2ZSBleHBlY3RlZCBvYmplY3QgJXMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBs4bqleSB24buBIMSR4buRaSB0xrDhu6NuZyBj4bqnbiAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzOiBleHBlY3RlZCB0eXBlICVzLCBmb3VuZCAlcyIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nICVzOiBj4bqnbiBraeG7g3UgJXMgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjY3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCiBtc2dzdHJbMF0gImtow7RuZyB0aOG7gyDEkWnhu4FuIHRow6ptIHbDoG8gJWQgYnl0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzkKIG1zZ2lkICJlYXJseSBFT0YiCiBtc2dzdHIgImfhurdwIGvhur90IHRow7pjIHThuq1wIHRpbiBFT0YgcXXDoSBz4bubbSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODAKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgogbXNnc3RyICJs4buXaSDEkeG7jWMg4bufIMSR4bqndSB2w6BvIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MgogbXNnaWQgInVzZWQgbW9yZSBieXRlcyB0aGFuIHdlcmUgYXZhaWxhYmxlIgogbXNnc3RyICJz4butIGThu6VuZyBuaGnhu4F1IGjGoW4gc+G7kSBsxrDhu6NuZyBieXRlIG3DoCBuw7Mgc+G6tW4gY8OzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5OQogbXNnaWQgInBhY2sgdG9vIGxhcmdlIGZvciBjdXJyZW50IGRlZmluaXRpb24gb2Ygb2ZmX3QiCiBtc2dzdHIgImfDs2kgcXXDoSBs4bubbiBzbyB24bubaSDEkeG7i25oIG5naMSpYSBoaeG7h24gdOG6oWkgY+G7p2Ega2nhu4N1IG9mZl90IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6OTIKK21zZ2lkICJwYWNrIGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIHNpemUiCittc2dzdHIgImfDs2kgxJHDoyB2xrDhu6N0IHF1w6EgY+G7oSB04buRaSDEkWEgxJHGsOG7o2MgcGjDqXAiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gcGFja2ZpbGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gcGFja2ZpbGUg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM2CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgImNo4buvIGvDvSBjaG8gZ8OzaSBraMO0bmcga2jhu5twIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIHZlcnNpb24gJTxQUkl1MzI+IHVuc3VwcG9ydGVkIgogbXNnc3RyICJraMO0bmcgaOG7lyB0cuG7oyBwaGnDqm4gYuG6o24gZ8OzaSAlPFBSSXUzMj4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM1MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzU2CiAjLCBjLWZvcm1hdAotbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICVsdTogJXMiCi1tc2dzdHIgImfDs2kgY8OzIMSR4buRaSB0xrDhu6NuZyBzYWkga2hv4bqjbmcgYsO5IChvZmZzZXQpICVsdTogJXMiCittc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCittc2dzdHIgImfDs2kgY8OzIMSR4buRaSB0xrDhu6NuZyBzYWkgdOG6oWkga2hv4bqjbmcgYsO5ICU8UFJJdU1BWD46ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo0NzMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZsYXRlIHJldHVybmVkICVkIgogbXNnc3RyICJ44bqjIG7DqW4gdHLhuqMgduG7gSAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjcKIG1zZ2lkICJvZmZzZXQgdmFsdWUgb3ZlcmZsb3cgZm9yIGRlbHRhIGJhc2Ugb2JqZWN0IgogbXNnc3RyICJ0csOgbiBnacOhIHRy4buLIGtob+G6o25nIGLDuSBjaG8gxJHhu5FpIHTGsOG7o25nIGRlbHRhIGPGoSBz4bufIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzNQogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKIG1zZ3N0ciAia2hv4bqjbmcgYsO5IGPGoSBz4bufIGNobyBkZWx0YSBu4bqxbSBuZ2/DoGkgcGjhuqFtIHZpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgogbXNnc3RyICJraMO0bmcgaGnhu4N1IGtp4buDdSDEkeG7kWkgdMaw4bujbmcgJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc0CiBtc2dpZCAiY2Fubm90IHByZWFkIHBhY2sgZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGNo4bqheSBow6BtIHByZWFkIGNobyB04bqtcCB0aW4gZ8OzaSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTcxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzYKICMsIGMtZm9ybWF0Ci1tc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICVsdSBieXRlIG1pc3NpbmciCi1tc2dpZF9wbHVyYWwgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlbHUgYnl0ZXMgbWlzc2luZyIKLW1zZ3N0clswXSAidOG6rXAgdGluIGfDs2kgYuG7iyBr4bq/dCB0aMO6YyBz4bubbSwgdGhp4bq/dSAlbHUgYnl0ZSIKK21zZ2lkICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlIG1pc3NpbmciCittc2dpZF9wbHVyYWwgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGVzIG1pc3NpbmciCittc2dzdHJbMF0gInThuq1wIHRpbiBnw7NpIGLhu4sga+G6v3QgdGjDumMgc+G7m20sIHRoaeG6v3UgJTxQUkl1TUFYPiBieXRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1OTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjYwMgogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgogbXNnc3RyICJz4buxIG3DonUgdGh14bqrbiB44bqjIG7DqW4gbmdoacOqbSB0cuG7jW5nIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDMgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ5IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc3MgotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODA2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1NCBidWlsdGluL2luZGV4LXBhY2suYzo3NzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxMSBidWlsdGluL2luZGV4LXBhY2suYzo4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICJT4buwIFZBIENI4bqgTSBTSEExIMSQw4MgWOG6olkgUkEgVuG7mkkgJXMhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjIKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgxJHhu5FpIHTGsOG7o25nIMSRw6MgdOG7k24gdOG6oWkgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCiBtc2dzdHIgIsSR4buRaSB0xrDhu6NuZyBibG9iIGtow7RuZyBo4bujcCBs4buHICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkICVzIgogbXNnc3RyICIlcyBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDgKIG1zZ2lkICJFcnJvciBpbiBvYmplY3QiCiBtc2dzdHIgIkzhu5dpIHRyb25nIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCiBtc2dzdHIgIktow7RuZyBwaOG6o2kgdOG6pXQgY+G6oyBjw6FjIMSR4buRaSB0xrDhu6NuZyBjb24gY+G7p2EgJXMgbMOgIGPDsyB0aOG7gyB24bubaSB04bubaSDEkcaw4bujYyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTE3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk0OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTIyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk1MwogbXNnaWQgImZhaWxlZCB0byBhcHBseSBkZWx0YSIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMOhcCBk4bulbmcgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjMKIG1zZ2lkICJSZWNlaXZpbmcgb2JqZWN0cyIKIG1zZ3N0ciAixJBhbmcgbmjhuq1uIHbhu4EgY8OhYyDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjMKIG1zZ2lkICJJbmRleGluZyBvYmplY3RzIgogbXNnc3RyICJDw6FjIMSR4buRaSB0xrDhu6NuZyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTUKIG1zZ2lkICJwYWNrIGlzIGNvcnJ1cHRlZCAoU0hBMSBtaXNtYXRjaCkiCiBtc2dzdHIgImfDs2kgYuG7iyBzYWkgaOG7j25nIChTSEExIGtow7RuZyBraOG7m3ApIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYwCiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiBwYWNrZmlsZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MwogbXNnaWQgInBhY2sgaGFzIGp1bmsgYXQgdGhlIGVuZCIKIG1zZ3N0ciAicGFjayBjw7MgcGjhuqduIHRo4burYSDhu58gY3Xhu5FpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc0CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAibOG7mW4geOG7mW4gaMahbiBj4bqjIMSRacOqbiBy4buTIGtoaSBjaOG6oXkgaMOgbSBwYXJzZV9wYWNrX29iamVjdHMoKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE5NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE5NwogbXNnaWQgIlJlc29sdmluZyBkZWx0YXMiCiBtc2dzdHIgIsSQYW5nIHBow6JuIGdp4bqjaSBjw6FjIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIHR1eeG6v246ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUwCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAibOG7mW4geOG7mW4gaMahbiBj4bqjIMSRacOqbiBy4buTIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKIG1zZ3N0clswXSAixJHhuqd5IMSR4bunIHbhu5tpICVkIMSR4buRaSB0xrDhu6NuZyBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICJH4bq3cCB04buVbmcga2nhu4NtIHRyYSB0YWlsIGtow7RuZyBj4bqnbiBjaG8gJXMgKMSRxKlhIGjhu49uZz8pIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGEiCiBtc2dpZF9wbHVyYWwgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGFzIgogbXNnc3RyWzBdICJnw7NpIGPDsyAlZCBkZWx0YSBjaMawYSDEkcaw4bujYyBnaeG6o2kgcXV54bq/dCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHjhuqMgbsOpbiDEkeG7kWkgdMaw4bujbmcgbuG7kWkgdGjDqm0gKCVkKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIG7hu5lpIGLhu5kgJXMgYuG7iyBo4buPbmciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzOTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzOTYKIG1zZ2lkICJlcnJvciB3aGlsZSBjbG9zaW5nIHBhY2sgZmlsZSIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kgdHJvbmcga2hpIMSRw7NuZyB04bqtcCB0aW4gZ8OzaSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUga2VlcCBmaWxlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGdp4buvIGzhuqFpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDE0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuIGtlZXAgZmlsZSAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHDs25nIHThuq1wIHRpbiBnaeG7ryBs4bqhaSDEkcOjIMSRxrDhu6NjIGdoaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzMAogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBsxrB1IHThuq1wIHRpbiBnw7NpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDM4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDQxCiBtc2dpZCAiY2Fubm90IHN0b3JlIGluZGV4IGZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBsxrB1IHRy4buvIHThuq1wIHRpbiBnaGkgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKIG1zZ3N0ciAic2FpIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MSBidWlsdGluL2luZGV4LXBhY2suYzoxNjc4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDg0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAlcyIKIG1zZ3N0ciAia2jDtG5nIGjhu5cgdHLhu6MgxJFhIHR1eeG6v24sIGLhu48gcXVhICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgZmlsZSAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4gZ8OzaSDEkcOjIHPhurVuIGPDsyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGlkeCBmaWxlIGZvciAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4gaWR4IGPhu6dhIGfDs2kgY2hvIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTg5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vbiBkZWx0YTogJWQgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJub24gZGVsdGE6ICVkIG9iamVjdHMiCiBtc2dzdHJbMF0gImtow7RuZyBkZWx0YTogJWQgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCiBtc2dzdHJbMF0gImNoaeG7gXUgZMOgaSB4w61jaCA9ICVkOiAlbHUgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgogbXNnc3RyICJ0w6puIHThuq1wIHRpbiB04bqtcCB0aW4gZ8OzaSDigJwlc+KAnSBraMO0bmcgxJHGsOG7o2Mga+G6v3QgdGjDumMgYuG6sW5nIMSRdcO0aSDigJwucGFja+KAnSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYzOAotbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgcXVheSBs4bqhaSBjd2QiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTAgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5MwotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwNSBidWlsdGluL2luZGV4LXBhY2suYzoxNzA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjkzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTIgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgIiVzIHNhaSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczMgogbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgogbXNnc3RyICItLWZpeC10aGluIGtow7RuZyB0aOG7gyDEkcaw4bujYyBkw7luZyBtw6Aga2jDtG5nIGPDsyAtLXN0ZGluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQwCiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgogbXNnc3RyICJkw7luZyB0w7l5IGNo4buNbiAtLXZlcmlmeSBtw6Aga2jDtG5nIMSRxrBhIHJhIHTDqm4gcGFja2ZpbGUiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1CisjOiBidWlsdGluL2luaXQtZGIuYzo1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiB24buBIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo2MQorIzogYnVpbHRpbi9pbml0LWRiLmM6NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgdGVtcGxhdGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogduG7gSBt4bqrdSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBvcGVuZGlyKCkg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjc3CisjOiBidWlsdGluL2luaXQtZGIuYzo3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZGxpbmsgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHJlYWRsaW5rIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3OQorIzogYnVpbHRpbi9pbml0LWRiLmM6NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN5bWxpbmsgJyVzJyAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gbGnDqm4ga+G6v3QgbeG7gW0gKHN5bWxpbmspIOKAnCVz4oCdIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4NQorIzogYnVpbHRpbi9pbml0LWRiLmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4Mgc2FvIGNow6lwIOKAnCVz4oCdIHNhbmcg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg5CisjOiBidWlsdGluL2luaXQtZGIuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyB0ZW1wbGF0ZSAlcyIKIG1zZ3N0ciAixJFhbmcgbOG7nSDEkWkgbeG6q3Ug4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEyMAorIzogYnVpbHRpbi9pbml0LWRiLmM6MTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRlbXBsYXRlcyBub3QgZm91bmQgJXMiCiBtc2dzdHIgImPDoWMgbeG6q3Uga2jDtG5nIMSRxrDhu6NjIHTDrG0gdGjhuqV5ICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMzUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgY29weWluZyB0ZW1wbGF0ZXMgZnJvbSAnJXMnOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHNhbyBjaMOpcCBjw6FjIG3huqt1IHThu6sg4oCcJXPigJ06ICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMTIgYnVpbHRpbi9pbml0LWRiLmM6MzE1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgotbXNnc3RyICIlcyDEkcOjIGPDsyB04burIHRyxrDhu5tjIHLhu5NpIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzozNDQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gaGFuZGxlIGZpbGUgdHlwZSAlZCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHjhu60gbMO9IChoYW5kbGUpIHThuq1wIHRpbiBraeG7g3UgJWQiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NworIzogYnVpbHRpbi9pbml0LWRiLmM6MzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgogbXNnc3RyICJraMO0bmcgZGkgY2h1eeG7g24gxJHGsOG7o2MgJXMgdsOgbyAlcyIKIAotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAnJXMnIGlzIGVpdGhlciAiUmVpbml0aWFsaXplZAotIy4gZXhpc3RpbmciIG9yICJJbml0aWFsaXplZCBlbXB0eSIsIHRoZSBzZWNvbmQgIiBzaGFyZWQiIG9yCi0jLiAiIiwgYW5kIHRoZSBsYXN0ICclcyVzJyBpcyB0aGUgdmVyYmF0aW0gZGlyZWN0b3J5IG5hbWUuCisjOiBidWlsdGluL2luaXQtZGIuYzozNDcgYnVpbHRpbi9pbml0LWRiLmM6MzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgorbXNnc3RyICIlcyDEkcOjIGPDsyB04burIHRyxrDhu5tjIHLhu5NpIgorCiAjOiBidWlsdGluL2luaXQtZGIuYzo0MDMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMlcyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCi1tc2dzdHIgIiVzJXMga2hvIEdpdCB0cm9uZyAlcyVzXG4iCittc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICLEkMOjIGto4bufaSB04bqhbyBs4bqhaSBraG8gR2l0IGNoaWEgc+G6uyBz4bq1biBjw7MgdHJvbmcgJXMlc1xuIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo0MDQKLW1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIgotbXNnc3RyICJLaOG7n2kgdOG6oW8gbOG6oWkgxJHDoyBz4bq1biBjw7MgcuG7k2kiCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmcgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICLEkMOjIGto4bufaSB04bqhbyBs4bqhaSBraG8gR2l0IHPhurVuIGPDsyB0cm9uZyAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNAotbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IgotbXNnc3RyICJLaOG7n2kgdOG6oW8gdHLhu5FuZyBy4buXbmciCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAixJDDoyBraOG7n2kgdOG6oW8gbOG6oWkga2hvIEdpdCBjaGlhIHPhursgdHLhu5FuZyBy4buXbmcgc+G6tW4gY8OzIHRyb25nICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA1Ci1tc2dpZCAiIHNoYXJlZCIKLW1zZ3N0ciAiIMSRw6MgY2hpYSBz4bq7IgorIzogYnVpbHRpbi9pbml0LWRiLmM6NDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAixJDDoyBraOG7n2kgdOG6oW8gbOG6oWkga2hvIEdpdCB0cuG7kW5nIHLhu5duZyBz4bq1biBjw7MgdHJvbmcgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NTIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ1NwogbXNnaWQgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tIgogInNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCkBAIC03NTU1LDI1ICs4NTUzLDI1IEBACiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHRoxrAtbeG7pWMtdOG6oW0+XSBbLS1zaGFyZWRbPTxjw6FjLSIKICJxdXnhu4FuPl1dIFt0aMawLW3hu6VjXSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDc1CisjOiBidWlsdGluL2luaXQtZGIuYzo0ODAKIG1zZ2lkICJwZXJtaXNzaW9ucyIKIG1zZ3N0ciAiY8OhYyBxdXnhu4FuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NzYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQogbXNnaWQgInNwZWNpZnkgdGhhdCB0aGUgZ2l0IHJlcG9zaXRvcnkgaXMgdG8gYmUgc2hhcmVkIGFtb25nc3Qgc2V2ZXJhbCB1c2VycyIKIG1zZ3N0ciAiY2jhu4kgcmEgY8OhaSBtw6Aga2hvIGdpdCDEkcaw4bujYyBjaGlhIHPhursgZ2nhu69hIG5oaeG7gXUgbmfGsOG7nWkgZMO5bmciCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxMCBidWlsdGluL2luaXQtZGIuYzo1MTUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxNSBidWlsdGluL2luaXQtZGIuYzo1MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG1rZGlyICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbWtkaXIgKHThuqFvIHRoxrAgbeG7pWMpOiAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTE5CisjOiBidWlsdGluL2luaXQtZGIuYzo1MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZGlyIHRvICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY2hkaXIgKGNodXnhu4NuIMSR4buVaSB0aMawIG3hu6VjKSBzYW5nICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NDAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKQEAgLTc1ODIsNyArODU4MCw3IEBACiAiJXMgKGhv4bq3YyAtLXdvcmstdHJlZT08dGjGsC1t4bulYz4pIGtow7RuZyBjaG8gcGjDqXAga2jDtG5nIGNo4buJIMSR4buLbmggJXMgKGhv4bq3YyAtLWdpdC0iCiAiZGlyPTx0aMawLW3hu6VjPikiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU2OAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBhY2Nlc3Mgd29yayB0cmVlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0cnV5IGPhuq1wIGPDonkgKHRyZWUpIGzDoG0gdmnhu4djIOKAnCVz4oCdIgpAQCAtNzYxNSwxMTUgKzg2MTMsMTEyIEBACiBtc2dpZCAibm8gaW5wdXQgZmlsZSBnaXZlbiBmb3IgaW4tcGxhY2UgZWRpdGluZyIKIG1zZ3N0ciAia2jDtG5nIMSRxrBhIHJhIHThuq1wIHRpbiDEkeG6p3UgdsOgbyDEkeG7gyBz4butYSB04bqhaS1jaOG7lyIKIAotIzogYnVpbHRpbi9sb2cuYzo0MworIzogYnVpbHRpbi9sb2cuYzo0NAogbXNnaWQgImdpdCBsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbi1yYW5nZT5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBsb2cgWzxjw6FjLXTDuXktY2jhu41uPl0gWzx2w7luZy14ZW0teMOpdD5dIFtbLS1dIDzEkcaw4budbmctZOG6q24+4oCmXSIKIAotIzogYnVpbHRpbi9sb2cuYzo0NAorIzogYnVpbHRpbi9sb2cuYzo0NQogbXNnaWQgImdpdCBzaG93IFs8b3B0aW9ucz5dIDxvYmplY3Q+Li4uIgogbXNnc3RyICJnaXQgc2hvdyBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8xJHhu5FpLXTGsOG7o25nPuKApiIKIAotIzogYnVpbHRpbi9sb2cuYzo4MworIzogYnVpbHRpbi9sb2cuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIC0tZGVjb3JhdGUgb3B0aW9uOiAlcyIKIG1zZ3N0ciAidMO5eSBjaOG7jW4tLWRlY29yYXRlIGtow7RuZyBo4bujcCBs4buHOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTM5CiBtc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCiBtc2dzdHIgImNo4bq3biBt4buNaSBr4bq/dCB4deG6pXQgdOG7qyBkaWZmIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOAorIzogYnVpbHRpbi9sb2cuYzoxNDAKIG1zZ2lkICJzaG93IHNvdXJjZSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIG3DoyBuZ3Xhu5NuIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOQorIzogYnVpbHRpbi9sb2cuYzoxNDEKIG1zZ2lkICJVc2UgbWFpbCBtYXAgZmlsZSIKIG1zZ3N0ciAiU+G7rSBk4bulbmcgdOG6rXAgdGluIMOhbmggeOG6oSB0aMawIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MAorIzogYnVpbHRpbi9sb2cuYzoxNDIKIG1zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgogbXNnc3RyICJjw6FjIHTDuXkgY2jhu41uIHRyYW5nIHRyw60iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzCisjOiBidWlsdGluL2xvZy5jOjE0NQogbXNnaWQgIlByb2Nlc3MgbGluZSByYW5nZSBuLG0gaW4gZmlsZSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJY4butIGzDvSBjaOG7iSBkw7JuZyB2w7luZyBuLG0gdHJvbmcgdOG6rXAgdGluLCB0w61uaCB04burIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjM5CisjOiBidWlsdGluL2xvZy5jOjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgIkvhur90IHh14bqldCBjdeG7kWkgY8O5bmc6ICVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDcxCisjOiBidWlsdGluL2xvZy5jOjQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgc2hvdyAlczogYmFkIGZpbGUiCiBtc2dzdHIgImdpdCBzaG93ICVzOiBzYWkgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2xvZy5jOjQ4NSBidWlsdGluL2xvZy5jOjU3OAorIzogYnVpbHRpbi9sb2cuYzo1MDAgYnVpbHRpbi9sb2cuYzo1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIMSR4buRaSB0xrDhu6NuZyAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo2MDIKKyM6IGJ1aWx0aW4vbG9nLmM6NjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdHlwZTogJWQiCiBtc2dzdHIgIktow7RuZyBuaOG6rW4gcmEga2nhu4N1OiAlZCIKIAotIzogYnVpbHRpbi9sb2cuYzo3MjIKKyM6IGJ1aWx0aW4vbG9nLmM6NzM5CiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiZm9ybWF0LmhlYWRlcnMga2jDtG5nIGPDsyBnacOhIHRy4buLIGPhu6UgdGjhu4MiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODEyCisjOiBidWlsdGluL2xvZy5jOjgzOQogbXNnaWQgIm5hbWUgb2Ygb3V0cHV0IGRpcmVjdG9yeSBpcyB0b28gbG9uZyIKIG1zZ3N0ciAidMOqbiBj4bunYSB0aMawIG3hu6VjIGvhur90IHh14bqldCBxdcOhIGTDoGkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODI3CisjOiBidWlsdGluL2xvZy5jOjg1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4gbWnhur9uZyB2w6E6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjg0MQorIzogYnVpbHRpbi9sb2cuYzo4NjgKIG1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKIG1zZ3N0ciAiQ+G6p24gY2jDrW5oIHjDoWMgbeG7mXQgdsO5bmcuIgogCi0jOiBidWlsdGluL2xvZy5jOjg1MQorIzogYnVpbHRpbi9sb2cuYzo4NzgKIG1zZ2lkICJOb3QgYSByYW5nZS4iCiBtc2dzdHIgIktow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHbDuW5nLiIKIAotIzogYnVpbHRpbi9sb2cuYzo5NTcKKyM6IGJ1aWx0aW4vbG9nLmM6OTg0CiBtc2dpZCAiQ292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKIG1zZ3N0ciAi4oCcQ292ZXIgbGV0dGVy4oCdIGPhuqduIGNobyDEkeG7i25oIGThuqFuZyB0aMawIgogCi0jOiBidWlsdGluL2xvZy5jOjEwMzYKKyM6IGJ1aWx0aW4vbG9nLmM6MTA2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgogbXNnc3RyICJpbi1yZXBseS10byDEkWnDqm4gcuG7kzogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA2NAorIzogYnVpbHRpbi9sb2cuYzoxMDkxCiBtc2dpZCAiZ2l0IGZvcm1hdC1wYXRjaCBbPG9wdGlvbnM+XSBbPHNpbmNlPiB8IDxyZXZpc2lvbi1yYW5nZT5dIgogbXNnc3RyICJnaXQgZm9ybWF0LXBhdGNoIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8a+G7gy104burPiB8IDx2w7luZy14ZW0teMOpdD5dIgogCi0jOiBidWlsdGluL2xvZy5jOjExMDkKKyM6IGJ1aWx0aW4vbG9nLmM6MTE0MQogbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgogbXNnc3RyICJIYWkgdGjGsCBt4bulYyBr4bq/dCB4deG6pXQ/IgogCi0jOiBidWlsdGluL2xvZy5jOjEyMTYgYnVpbHRpbi9sb2cuYzoxODU3IGJ1aWx0aW4vbG9nLmM6MTg1OSBidWlsdGluL2xvZy5jOjE4NzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTI0OCBidWlsdGluL2xvZy5jOjE4OTEgYnVpbHRpbi9sb2cuYzoxODkzIGJ1aWx0aW4vbG9nLmM6MTkwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKIG1zZ3N0ciAiS2jDtG5nIGhp4buDdSBs4bqnbiBjaHV54buDbiBnaWFvICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMjYgYnVpbHRpbi9ub3Rlcy5jOjI1MyBidWlsdGluL25vdGVzLmM6MzA0Ci0jOiBidWlsdGluL25vdGVzLmM6MzA2IGJ1aWx0aW4vbm90ZXMuYzozNjkgYnVpbHRpbi9ub3Rlcy5jOjQyNAotIzogYnVpbHRpbi9ub3Rlcy5jOjUxMCBidWlsdGluL25vdGVzLmM6NTE1IGJ1aWx0aW4vbm90ZXMuYzo1OTMKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2NTYgYnVpbHRpbi9ub3Rlcy5jOjg4MSBidWlsdGluL3RhZy5jOjQ1NQorIzogYnVpbHRpbi9sb2cuYzoxMjU4IGJ1aWx0aW4vbm90ZXMuYzo4ODQgYnVpbHRpbi90YWcuYzo0NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBwaMOibiBnaeG6o2kg4oCcJXPigJ0gbmjGsCBsw6AgbeG7mXQgdGhhbSBjaGnhur91IGjhu6NwIGzhu4cuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2MwogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UuIgogbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgbuG7gW4gaMOyYSB0cuG7mW4gY2jDrW5oIHjDoWMuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2NwogbXNnaWQgIiIKICJGYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKICJwbGVhc2UgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gdG8gdHJhY2sgYSByZW1vdGUgYnJhbmNoLlxuIgpAQCAtNzczNCwyMTAgKzg3MjksMjE0IEBACiAibmjDoW5oIG3DoXkgY2jhu6cuIEhv4bq3YyBsw6AgYuG6oW4gY8OzIHRo4buDIGNo4buJIMSR4buLbmggbOG6p24gY2h1eeG7g24gZ2lhbyBu4buBbiBi4bqxbmdcbiIKICJcIi0tYmFzZT08YmFzZS1jb21taXQtaWQ+XCIgbeG7mXQgY8OhY2ggdGjhu6cgY8O0bmcuIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4NwogbXNnaWQgIkZhaWxlZCB0byBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB0w6xtIG7hu4FuIGjDsmEgdHLhu5luIGNow61uaCB4w6FjLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjY2CisjOiBidWlsdGluL2xvZy5jOjEyOTgKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGQgYmUgdGhlIGFuY2VzdG9yIG9mIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gbuG7gW4ga2jDtG5nIGzDoCB04buVIHRpw6puIGPhu6dhIGRhbmggc8OhY2ggxJFp4buDbSB4w6l0IGR1eeG7h3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI3MAorIzogYnVpbHRpbi9sb2cuYzoxMzAyCiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkbid0IGJlIGluIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gbuG7gW4ga2jDtG5nIMSRxrDhu6NjIHRyb25nIGRhbmggc8OhY2ggxJFp4buDbSB4w6l0IGR1eeG7h3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMxOQorIzogYnVpbHRpbi9sb2cuYzoxMzUxCiBtc2dpZCAiY2Fubm90IGdldCBwYXRjaCBpZCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IG3DoyBtaeG6v25nIHbDoSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzc3CisjOiBidWlsdGluL2xvZy5jOjE0MDgKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICJkw7luZyBbUEFUQ0ggbi9tXSBuZ2F5IGPhuqMgduG7m2kgbWnhur9uZyB2w6EgxJHGoW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4MAorIzogYnVpbHRpbi9sb2cuYzoxNDExCiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgImTDuW5nIFtWw4FdIG5nYXkgY+G6oyB24bubaSBjw6FjIG1p4bq/bmcgdsOhIHBo4bupYyB04bqhcCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg0CisjOiBidWlsdGluL2xvZy5jOjE0MTUKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIG1p4bq/bmcgdsOhIHJhIMSR4bqndSByYSBjaHXhuqluIgogCi0jOiBidWlsdGluL2xvZy5jOjEzODYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxNwogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgogbXNnc3RyICJ04bqhbyBiw6wgdGjGsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg4CisjOiBidWlsdGluL2xvZy5jOjE0MTkKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgInPhu60gZOG7pW5nIGNo4buXaSBkw6N5IHPhu5EgZOG6oW5nIMSRxqFuIGdp4bqjbiBjaG8gdMOqbiB04bqtcC10aW4geHXhuqV0IHJhIgogCi0jOiBidWlsdGluL2xvZy5jOjEzODkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyMAogbXNnaWQgInNmeCIKIG1zZ3N0ciAic2Z4IgogCi0jOiBidWlsdGluL2xvZy5jOjEzOTAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyMQogbXNnaWQgInVzZSA8c2Z4PiBpbnN0ZWFkIG9mICcucGF0Y2gnIgogbXNnc3RyICJz4butIGThu6VuZyA8c2Z4PiB0aGF5IGNobyDigJwucGF0Y2jigJ0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5MgorIzogYnVpbHRpbi9sb2cuYzoxNDIzCiBtc2dpZCAic3RhcnQgbnVtYmVyaW5nIHBhdGNoZXMgYXQgPG4+IGluc3RlYWQgb2YgMSIKIG1zZ3N0ciAiYuG6r3QgxJHhuqd1IMSRw6FuaCBz4buRIG1p4bq/bmcgdsOhIHThu6sgPG4+IHRoYXkgdsOsIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5NAorIzogYnVpbHRpbi9sb2cuYzoxNDI1CiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICLEkcOhbmggZOG6pXUgY2h14buXaSBu4buRaSB0aeG6v3AgZOG6oW5nIHRo4bupLU4gcmUtcm9sbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzk2CisjOiBidWlsdGluL2xvZy5jOjE0MjcKK21zZ2lkICJVc2UgW1JGQyBQQVRDSF0gaW5zdGVhZCBvZiBbUEFUQ0hdIgorbXNnc3RyICJEw7luZyBbUkZDIFbDgV0gdGhheSBjaG8gW1bDgV0iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzMAogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAiRMO5bmcgWzx0aeG7gW4tdOG7kT5dIHRoYXkgY2hvIFtWw4FdIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzMwogbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKIG1zZ3N0ciAibMawdSBjw6FjIHThuq1wIHRpbiBr4bq/dCBxdeG6oyB0cm9uZyA8dC5t4bulYz4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwMgorIzogYnVpbHRpbi9sb2cuYzoxNDM2CiBtc2dpZCAiZG9uJ3Qgc3RyaXAvYWRkIFtQQVRDSF0iCiBtc2dzdHIgImtow7RuZyBzdHJpcC9hZGQgW1bDgV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwNQorIzogYnVpbHRpbi9sb2cuYzoxNDM5CiBtc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKIG1zZ3N0ciAia2jDtG5nIGvhur90IHh14bqldCBkaWZmIChuaOG7r25nIGtow6FjIGJp4buHdCkgbmjhu4sgcGjDom4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwNworIzogYnVpbHRpbi9sb2cuYzoxNDQxCiBtc2dpZCAib3V0cHV0IGFsbC16ZXJvIGhhc2ggaW4gRnJvbSBoZWFkZXIiCiBtc2dzdHIgInh14bqldCBt4buNaSBtw6MgYsSDbSBhbGwtemVybyB0cm9uZyBwaOG6p24gxJHhuqd1IEZyb20iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwOQorIzogYnVpbHRpbi9sb2cuYzoxNDQzCiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICJraMO0bmcgYmFvIGfhu5NtIG1p4bq/bmcgdsOhIGto4bubcCB24bubaSBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIHRoxrDhu6NuZyBuZ3Xhu5NuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0NQogbXNnaWQgInNob3cgcGF0Y2ggZm9ybWF0IGluc3RlYWQgb2YgZGVmYXVsdCAocGF0Y2ggKyBzdGF0KSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIMSR4buLbmggZOG6oW5nIG1p4bq/bmcgdsOhIHRoYXkgdsOsIG3hurdjIMSR4buLbmggKG1p4bq/bmcgdsOhICsgdGjhu5FuZyBrw6opIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0NwogbXNnaWQgIk1lc3NhZ2luZyIKIG1zZ3N0ciAiTOG7nWkgbmjhuq9uIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0OAogbXNnaWQgImhlYWRlciIKIG1zZ3N0ciAixJHhuqd1IMSR4buBIHRoxrAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNQorIzogYnVpbHRpbi9sb2cuYzoxNDQ5CiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAidGjDqm0gxJHhuqd1IMSR4buBIHRoxrAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNiBidWlsdGluL2xvZy5jOjE0MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1MCBidWlsdGluL2xvZy5jOjE0NTIKIG1zZ2lkICJlbWFpbCIKIG1zZ3N0ciAidGjGsCDEkWnhu4duIHThu60iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNgorIzogYnVpbHRpbi9sb2cuYzoxNDUwCiBtc2dpZCAiYWRkIFRvOiBoZWFkZXIiCiBtc2dzdHIgInRow6ptIFRvOiDEkeG6p3UgxJHhu4EgdGjGsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE4CisjOiBidWlsdGluL2xvZy5jOjE0NTIKIG1zZ2lkICJhZGQgQ2M6IGhlYWRlciIKIG1zZ3N0ciAidGjDqm0gQ2M6IMSR4bqndSDEkeG7gSB0aMawIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1NAogbXNnaWQgImlkZW50IgogbXNnc3RyICJ0aOG7pXQgbOG7gSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIxCisjOiBidWlsdGluL2xvZy5jOjE0NTUKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICIiCiAixJHhurd0IOKAnMSQ4buLYSBjaOG7iSBn4butaeKAnSB0aMOgbmggPHRo4bulIGzhu4E+IChob+G6t2MgdGjhu6V0IGzhu4EgbmfGsOG7nWkgY29tbWl0IG7hur91IGLhu48gcXXDqm4pIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1NwogbXNnaWQgIm1lc3NhZ2UtaWQiCiBtc2dzdHIgIm1lc3NhZ2UtaWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNAorIzogYnVpbHRpbi9sb2cuYzoxNDU4CiBtc2dpZCAibWFrZSBmaXJzdCBtYWlsIGEgcmVwbHkgdG8gPG1lc3NhZ2UtaWQ+IgogbXNnc3RyICJkw7luZyB0aMawIMSR4bqndSB0acOqbiDEkeG7gyB0cuG6oyBs4budaSA8bWVzc2FnZS1pZD4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNSBidWlsdGluL2xvZy5jOjE0MjgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1OSBidWlsdGluL2xvZy5jOjE0NjIKIG1zZ2lkICJib3VuZGFyeSIKIG1zZ3N0ciAicmFuaCBnaeG7m2kiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNgorIzogYnVpbHRpbi9sb2cuYzoxNDYwCiBtc2dpZCAiYXR0YWNoIHRoZSBwYXRjaCIKIG1zZ3N0ciAixJHDrW5oIGvDqG0gbWnhur9uZyB2w6EiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyOQorIzogYnVpbHRpbi9sb2cuYzoxNDYzCiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAiZMO5bmcgbWnhur9uZyB2w6EgbMOgbSBu4buZaSBkdW5nIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NwogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICJjaG8gcGjDqXAgbHXhu5NuZyBs4budaSBuaOG6r24sIGtp4buDdTog4oCcc2hhbGxvd+KAnSwg4oCcZGVlcOKAnSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM1CisjOiBidWlsdGluL2xvZy5jOjE0NjkKIG1zZ2lkICJzaWduYXR1cmUiCiBtc2dzdHIgImNo4buvIGvDvSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM2CisjOiBidWlsdGluL2xvZy5jOjE0NzAKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUiCiBtc2dzdHIgInRow6ptIGNo4buvIGvDvSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM3CisjOiBidWlsdGluL2xvZy5jOjE0NzEKIG1zZ2lkICJiYXNlLWNvbW1pdCIKIG1zZ3N0ciAibOG6p25fY2h1eeG7g25fZ2lhb19u4buBbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM4CisjOiBidWlsdGluL2xvZy5jOjE0NzIKIG1zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgogbXNnc3RyICJhZGQgdHLGsOG7m2MgaOG6v3QgxJHDsmkgaOG7j2kgdGjDtG5nIHRpbiBjw6J5IHThu5tpIHPDqi1yaSBtaeG6v25nIHbDoSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQwCisjOiBidWlsdGluL2xvZy5jOjE0NzQKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUgZnJvbSBhIGZpbGUiCiBtc2dzdHIgInRow6ptIGNo4buvIGvDvSB04burIG3hu5l0IHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDQxCisjOiBidWlsdGluL2xvZy5jOjE0NzUKIG1zZ2lkICJkb24ndCBwcmludCB0aGUgcGF0Y2ggZmlsZW5hbWVzIgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIGPDoWMgdMOqbiB04bqtcCB0aW4gY+G7p2EgbWnhur9uZyB2w6EiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzMQorIzogYnVpbHRpbi9sb2cuYzoxNTY1CiBtc2dpZCAiLW4gYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgogbXNnc3RyICItbiB2w6AgIC1rIGxv4bqhaSB04burIGzhuqtuIG5oYXUuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzMKLW1zZ2lkICItLXN1YmplY3QtcHJlZml4IGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKLW1zZ3N0ciAiLS1zdWJqZWN0LXByZWZpeCB2w6AgLWsgeHVuZyBraOG6r2MgbmhhdS4iCisjOiBidWlsdGluL2xvZy5jOjE1NjcKK21zZ2lkICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKK21zZ3N0ciAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyB2w6AgLWsgeHVuZyBraOG6r2MgbmhhdS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MQorIzogYnVpbHRpbi9sb2cuYzoxNTc1CiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLW9ubHkga2jDtG5nIGjhu6NwIGzDvSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQzCisjOiBidWlsdGluL2xvZy5jOjE1NzcKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1zdGF0dXMga2jDtG5nIGjhu6NwIGzDvSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQ1CisjOiBidWlsdGluL2xvZy5jOjE1NzkKIG1zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tY2hlY2sga2jDtG5nIGjhu6NwIGzDvSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTczCisjOiBidWlsdGluL2xvZy5jOjE2MDkKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAixJHhuqd1IHJhIGNodeG6qW4sIGhheSB0aMawIG3hu6VjLCBjaOG7jW4gY8OhaSBuw6BvPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc1CisjOiBidWlsdGluL2xvZy5jOjE2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHThuqFvIHRoxrAgbeG7pWMg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY3MgorIzogYnVpbHRpbi9sb2cuYzoxNzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHNpZ25hdHVyZSBmaWxlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgdOG6rXAgdGluIGNo4buvIGvDvSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzQzCisjOiBidWlsdGluL2xvZy5jOjE3NzcKIG1zZ2lkICJGYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBmaWxlcyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHThuqFvIGPDoWMgdOG6rXAgdGluIGvhur90IHh14bqldCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzkyCisjOiBidWlsdGluL2xvZy5jOjE4MjYKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKIG1zZ3N0ciAiZ2l0IGNoZXJyeSBbLXZdIFs8dGjGsOG7o25nLW5ndeG7k24+IFs8xJHhuqd1PiBbPGdp4bubaS1o4bqhbj5dXV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTg0NgorIzogYnVpbHRpbi9sb2cuYzoxODgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgZmluZCBhIHRyYWNrZWQgcmVtb3RlIGJyYW5jaCwgcGxlYXNlIHNwZWNpZnkgPHVwc3RyZWFtPiBtYW51YWxseS5cbiIKQEAgLTc5NDUsMTAyICs4OTQ0LDEwNiBAQAogIktow7RuZyB0w6xtIHRo4bqleSBuaMOhbmggbeG6oW5nIMSRxrDhu6NjIHRoZW8gZMO1aSwgaMOjeSBjaOG7iSDEkeG7i25oIDx0aMaw4bujbmctbmd14buTbj4gbeG7mXQgIgogImPDoWNoIHRo4bunIGPDtG5nLlxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6Mzc4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzxjw6FjLXTDuXktY2jhu41uPl0gWzx04bqtcC10aW4+4oCmXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQyNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUwNwogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgIm5o4bqtbiBk4bqhbmcgY8OhYyB0cuG6oW5nIHRow6FpIHThuq1wIHRpbiB24bubaSB0aOG6uyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQyOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUwOQogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICIiCiAiZMO5bmcgY2jhu68gY8OhaSB2aeG6v3QgdGjGsOG7nW5nIGNobyBjw6FjIHThuq1wIHRpbiDigJxhc3N1bWUgdW5jaGFuZ2Vk4oCdIChnaeG6oyDEkeG7i25oIGtow7RuZyAiCiAidGhheSDEkeG7lWkpIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDMxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTExCiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiDEkcaw4bujYyBuaOG7myB04bqhbSB2w6BvIMSR4bqndSByYSAobeG6t2MgxJHhu4tuaCkiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MzMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTMKIG1zZ2lkICJzaG93IGRlbGV0ZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIMSRw6MgeMOzYSB0cm9uZyBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTUKIG1zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiDEkcOjIGLhu4sgc+G7rWEgxJHhu5VpIHJhIGvhur90IHh14bqldCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNwogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGtow6FjIHRyb25nIGvhur90IHh14bqldCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOQogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gYuG7iyBi4buPIHF1YSB0cm9uZyBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NDIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjIKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHTDqm4gxJHhu5FpIHTGsOG7o25nIGPhu6dhIG7hu5lpIGR1bmcgxJHGsOG7o2MgxJHhurd0IGzDqm4gYuG7hyBwaMOzbmcgcmEga+G6v3QgeHXhuqV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDQ0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI0CiBtc2dpZCAic2hvdyBmaWxlcyBvbiB0aGUgZmlsZXN5c3RlbSB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIHRyw6puIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gbcOgIG7DsyBj4bqnbiDEkcaw4bujYyBn4buhIGLhu48iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NDYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjYKIG1zZ2lkICJzaG93ICdvdGhlcicgZGlyZWN0b3JpZXMnIG5hbWVzIG9ubHkiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyB0w6puIGPhu6dhIGPDoWMgdGjGsCBt4bulYyDigJxraMOhY+KAnSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOAogbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sga+G6v3QgdGjDumMgZMOybmcgY+G7p2EgY8OhYyB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzAKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIHRoxrAgbeG7pWMgcuG7l25nIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDUzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMzCiBtc2dpZCAic2hvdyB1bm1lcmdlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gY2jGsGEgaMOyYSB0cuG7mW4gdHJvbmcga+G6v3QgeHXhuqV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDU1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM1CiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHJlc29sdmUtdW5kbyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1NworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNwogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAiYuG7jyBxdWEgbmjhu69uZyB04bqtcCB0aW4ga2jhu5twIHbhu5tpIG3hu5l0IG3huqt1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQwCiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAibeG6q3UgbG/huqFpIHRy4burIMSRxrDhu6NjIMSR4buNYyB04burIDx04bqtcCB0aW4+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgIsSR4buNYyB0aMOqbSBjw6FjIG3huqt1IG5nb+G6oWkgdHLhu6sgbeG7l2kgdGjGsCBt4bulYyB0cm9uZyA8dOG6rXAgdGluPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NQogbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCiBtc2dzdHIgInRow6ptIGxv4bqhaSB0cuG7qyB0acOqdSBjaHXhuqluIGtp4buDdSBnaXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDgKIG1zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAibMOgbSBjaG8ga+G6v3QgeHXhuqV0IGxpw6puIHF1YW4gxJHhur9uIHRoxrAgbeG7pWMg4bufIG3hu6ljIGNhbyBuaOG6pXQgKGfhu5FjKSBj4bunYSBk4buxIMOhbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MQorbXNnaWQgInJlY3Vyc2UgdGhyb3VnaCBzdWJtb2R1bGVzIgorbXNnc3RyICLEkeG7hyBxdXkgeHV5w6puIHF1YSBtw7QtxJF1biBjb24iCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTMKIG1zZ2lkICJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiCiBtc2dzdHIgIm7hur91IDx04bqtcCB0aW4+IGLhuqV0IGvhu7Mga2jDtG5nIOG7nyB0cm9uZyBi4bqjbmcgbeG7pWMgbOG7pWMsIHjhu60gbMO9IG7DsyBuaMawIG3hu5l0IGzhu5dpIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDcyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU0CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgInRyZWUtaXNoIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDczCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAiIgogImdp4bqjIMSR4buLbmggcuG6sW5nIGPDoWMgxJHGsOG7nW5nIGThuqtuIMSRw6MgYuG7iyBn4buhIGLhu48ga+G7gyB04burIDx0cmVlLWlzaD4gbmF5IHbhuqtuIGhp4buHbiBkaeG7h24iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTcKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICJoaeG7g24gdGjhu4sgZOG7ryBsaeG7h3UgZ+G7oSBs4buXaSIKIApAQCAtODEyNiwxOTAgKzkxMjksMTc2IEBACiBtc2dpZCAibGlzdCBlbnRpcmUgdHJlZTsgbm90IGp1c3QgY3VycmVudCBkaXJlY3RvcnkgKGltcGxpZXMgLS1mdWxsLW5hbWUpIgogbXNnc3RyICJsaeG7h3Qga8OqIGPDonkgbeG7pWMgdGluOyBraMO0bmcgY2jhu4kgdGjGsCBt4bulYyBoaeG7h24gaMOgbmggKG5n4bulIMO9IC0tZnVsbC1uYW1lKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ1CisjOiBidWlsdGluL21lcmdlLmM6NDYKIG1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gWzxjb21taXQ+Li4uXSIKIG1zZ3N0ciAiZ2l0IG1lcmdlIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8Y29tbWl0PuKApl0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NgorIzogYnVpbHRpbi9tZXJnZS5jOjQ3CiBtc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIDxtc2c+IEhFQUQgPGNvbW1pdD4iCiBtc2dzdHIgImdpdCBtZXJnZSBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8dGluLW5o4bqvbj4gSEVBRCA8Y29tbWl0PiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ3CisjOiBidWlsdGluL21lcmdlLmM6NDgKIG1zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKIG1zZ3N0ciAiZ2l0IG1lcmdlIC0tYWJvcnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDIKIG1zZ2lkICJzd2l0Y2ggYG0nIHJlcXVpcmVzIGEgdmFsdWUiCiBtc2dzdHIgInN3aXRjaCDigJxt4oCdIHnDqnUgY+G6p3UgbeG7mXQgZ2nDoSB0cuG7iyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzOAorIzogYnVpbHRpbi9tZXJnZS5jOjEzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCBtZXJnZSBzdHJhdGVneSAnJXMnLlxuIgogbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgY2hp4bq/biBsxrDhu6NjIGjDsmEgdHLhu5luIOKAnCVz4oCdLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM5CisjOiBidWlsdGluL21lcmdlLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF2YWlsYWJsZSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIkPDoWMgY2hp4bq/biBsxrDhu6NjIHPhurVuIHPDoG5nIGzDoDoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIkPDoWMgY2hp4bq/biBsxrDhu6NjIHTDuXkgY2jhu4luaCBz4bq1biBzw6BuZyBsw6A6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk0IGJ1aWx0aW4vcHVsbC5jOjEyNgorIzogYnVpbHRpbi9tZXJnZS5jOjE5NSBidWlsdGluL3B1bGwuYzoxMjcKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIHRo4buRbmcga8OqIGtow6FjIGJp4buHdCB04bqhaSBjdeG7kWkgY+G7p2EgbOG6p24gaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTcgYnVpbHRpbi9wdWxsLmM6MTI5CisjOiBidWlsdGluL21lcmdlLmM6MTk4IGJ1aWx0aW4vcHVsbC5jOjEzMAogbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRo4buRbmcga8OqIGtow6FjIGJp4buHdCB04bqhaSBjdeG7kWkgY+G7p2EgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTggYnVpbHRpbi9wdWxsLmM6MTMyCisjOiBidWlsdGluL21lcmdlLmM6MTk5IGJ1aWx0aW4vcHVsbC5jOjEzMwogbXNnaWQgIihzeW5vbnltIHRvIC0tc3RhdCkiCiBtc2dzdHIgIijEkeG7k25nIG5naMSpYSB24bubaSAtLXN0YXQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjAwIGJ1aWx0aW4vcHVsbC5jOjEzNQorIzogYnVpbHRpbi9tZXJnZS5jOjIwMSBidWlsdGluL3B1bGwuYzoxMzYKIG1zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgInRow6ptICjDrXQgbmjhuqV0IDxuPikgbeG7pWMgdOG7qyBzaG9ydGxvZyBjaG8gZ2hpIGNow7ogY2h1eeG7g24gZ2lhbyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwMyBidWlsdGluL3B1bGwuYzoxMzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDQgYnVpbHRpbi9wdWxsLmM6MTM5CiBtc2dpZCAiY3JlYXRlIGEgc2luZ2xlIGNvbW1pdCBpbnN0ZWFkIG9mIGRvaW5nIGEgbWVyZ2UiCiBtc2dzdHIgInThuqFvIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gxJHGsG9uIHRoYXkgdsOsIHRo4buxYyBoaeG7h24gdmnhu4djIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA1IGJ1aWx0aW4vcHVsbC5jOjE0MQorIzogYnVpbHRpbi9tZXJnZS5jOjIwNiBidWlsdGluL3B1bGwuYzoxNDIKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgInRo4buxYyBoaeG7h24gY2h1eeG7g24gZ2lhbyBu4bq/dSBow7JhIHRy4buZbiB0aMOgbmggY8O0bmcgKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA3IGJ1aWx0aW4vcHVsbC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDUKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgInPhu61hIGNow7ogdGjDrWNoIHRyxrDhu5tjIGtoaSBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA4CisjOiBidWlsdGluL21lcmdlLmM6MjA5CiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKIG1zZ3N0ciAiY2hvIHBow6lwIGNodXnhu4NuLXRp4bq/cC1uaGFuaCAobeG6t2MgxJHhu4tuaCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTAgYnVpbHRpbi9wdWxsLmM6MTUwCisjOiBidWlsdGluL21lcmdlLmM6MjExIGJ1aWx0aW4vcHVsbC5jOjE1MQogbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCiBtc2dzdHIgImLhu48gcXVhIG7hur91IGNodXnhu4NuLXRp4bq/cC1uaGFuaCBraMO0bmcgdGjhu4MgxJHGsOG7o2MiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTQKLW1zZ2lkICJWZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCi1tc2dzdHIgIlRo4bqpbSB0cmEgeGVtIGzhuqduIGNodXnhu4NuIGdpYW8gY8OzIHTDqm4gxJHDsyBjw7MgY2jhu68ga8O9IEdQRyBo4bujcCBs4buHIGhheSBraMO0bmciCisjOiBidWlsdGluL21lcmdlLmM6MjE1IGJ1aWx0aW4vcHVsbC5jOjE1NAorbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKK21zZ3N0ciAidGjhuqltIHRyYSB4ZW0gbOG6p24gY2h1eeG7g24gZ2lhbyBjw7MgdMOqbiDEkcOzIGPDsyBjaOG7ryBrw70gR1BHIGjhu6NwIGzhu4cgaGF5IGtow7RuZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNSBidWlsdGluL25vdGVzLmM6NzcxIGJ1aWx0aW4vcHVsbC5jOjE1NworIzogYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL25vdGVzLmM6Nzc0IGJ1aWx0aW4vcHVsbC5jOjE1OAogIzogYnVpbHRpbi9yZXZlcnQuYzo4OQogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICJjaGnhur9uIGzGsOG7o2MiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTYgYnVpbHRpbi9wdWxsLmM6MTU4CisjOiBidWlsdGluL21lcmdlLmM6MjE3IGJ1aWx0aW4vcHVsbC5jOjE1OQogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKIG1zZ3N0ciAiY2hp4bq/biBsxrDhu6NjIGjDsmEgdHLhu5luIHPhur0gZMO5bmciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTYxCisjOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vcHVsbC5jOjE2MgogbXNnaWQgIm9wdGlvbj12YWx1ZSIKIG1zZ3N0ciAidMO5eV9jaOG7jW49Z2nDoV90cuG7iyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxOCBidWlsdGluL3B1bGwuYzoxNjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTkgYnVpbHRpbi9wdWxsLmM6MTYzCiBtc2dpZCAib3B0aW9uIGZvciBzZWxlY3RlZCBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gY2hvIGNoaeG6v24gbMaw4bujYyBow7JhIHRy4buZbiDEkcOjIGNo4buNbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyMAorIzogYnVpbHRpbi9tZXJnZS5jOjIyMQogbXNnaWQgIm1lcmdlIGNvbW1pdCBtZXNzYWdlIChmb3IgYSBub24tZmFzdC1mb3J3YXJkIG1lcmdlKSIKIG1zZ3N0ciAiIgogImjDsmEgdHLhu5luIGdoaSBjaMO6IGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8gKGTDoG5oIGNobyBow7JhIHRy4buZbiBraMO0bmctY2h1eeG7g24tdGnhur9wLSIKICJuaGFuaCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjUKIG1zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiYsOjaSBi4buPIHF1w6EgdHLDrG5oIGjDsmEgdHLhu5luIGhp4buHbiB04bqhaSDEkWFuZyB0aOG7sWMgaGnhu4duIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjI2IGJ1aWx0aW4vcHVsbC5jOjE2OQorIzogYnVpbHRpbi9tZXJnZS5jOjIyNyBidWlsdGluL3B1bGwuYzoxNzAKIG1zZ2lkICJhbGxvdyBtZXJnaW5nIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgImNobyBwaMOpcCBow7JhIHRy4buZbiBs4buLY2ggc+G7rSBraMO0bmcgbGnDqm4gcXVhbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NAorIzogYnVpbHRpbi9tZXJnZS5jOjI1NQogbXNnaWQgImNvdWxkIG5vdCBydW4gc3Rhc2guIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY2jhuqF5IHN0YXNoLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1OQorIzogYnVpbHRpbi9tZXJnZS5jOjI2MAogbXNnaWQgInN0YXNoIGZhaWxlZCIKIG1zZ3N0ciAibOG7h25oIHThuqFtIGPhuqV0IGfhurdwIGzhu5dpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjY0CisjOiBidWlsdGluL21lcmdlLmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiCiBtc2dzdHIgImtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IMSR4buRaSB0xrDhu6NuZyBo4bujcCBs4buHOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI4MyBidWlsdGluL21lcmdlLmM6MzAwCisjOiBidWlsdGluL21lcmdlLmM6Mjg0IGJ1aWx0aW4vbWVyZ2UuYzozMDEKIG1zZ2lkICJyZWFkLXRyZWUgZmFpbGVkIgogbXNnc3RyICJyZWFkLXRyZWUgZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMzEKIG1zZ2lkICIgKG5vdGhpbmcgdG8gc3F1YXNoKSIKIG1zZ3N0ciAiIChraMO0bmcgY8OzIGfDrCDEkeG7gyBzcXVhc2gpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzQzCisjOiBidWlsdGluL21lcmdlLmM6MzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNxdWFzaCBjb21taXQgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAiU3F1YXNoIGNvbW1pdCAtLSBraMO0bmcgY+G6rXAgbmjhuq10IEhFQURcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM0NyBidWlsdGluL21lcmdlLmM6NzY3IGJ1aWx0aW4vbWVyZ2UuYzo5ODcKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDAwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIHbDoG8g4oCcJXPigJ0iCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNzUKLW1zZ2lkICJXcml0aW5nIFNRVUFTSF9NU0ciCi1tc2dzdHIgIsSQYW5nIGdoaSBTUVVBU0hfTVNHIgotCi0jOiBidWlsdGluL21lcmdlLmM6Mzc3Ci1tc2dpZCAiRmluaXNoaW5nIFNRVUFTSF9NU0ciCi1tc2dzdHIgIkhvw6BuIHRow6BuaCBTUVVBU0hfTVNHIgotCi0jOiBidWlsdGluL21lcmdlLmM6NDAwCisjOiBidWlsdGluL21lcmdlLmM6MzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIG1lc3NhZ2UgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBs4budaSBjaMO6IHRow61jaCBow7JhIHRy4buZbiAtLSBuw6puIGtow7RuZyBj4bqtcCBuaOG6rXQgSEVBRFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDUxCisjOiBidWlsdGluL21lcmdlLmM6NDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBjaOG7iSDEkeG6v24gbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyBuw6BvIGPhuqMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1NDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAiQ2h14buXaSBicmFuY2guJXMubWVyZ2VvcHRpb25zIHNhaTogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2NjAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2NTIKIG1zZ2lkICJOb3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgogbXNnc3RyICJLaMO0bmcgY+G6p20gbuG6r20gZ8OsIG5nb8OgaSBoYWkgaGVhZCBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY3NAorIzogYnVpbHRpbi9tZXJnZS5jOjY2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogbXNnc3RyICJLaMO0bmcgaGnhu4N1IHTDuXkgY2jhu41uIGNobyBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo2ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzc2CisjOiBidWlsdGluL21lcmdlLmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buNYyB04burIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzg1CisjOiBidWlsdGluL21lcmdlLmM6NzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogIlbhuqtuIGNoxrBhIGjDsmEgdHLhu5luIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbzsgc+G7rSBk4bulbmcgbOG7h25oIOKAnGdpdCBjb21taXTigJ0gxJHhu4MgaG/DoG4gdOG6pXQgIgogInZp4buHYyBow7JhIHRy4buZbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc5MQorIzogYnVpbHRpbi9tZXJnZS5jOjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCkBAIC04MzI3LDU1ICs5MzE2LDY5IEBACiAicuG7l25nXG4iCiAic+G6vSBo4buneSBi4buPIGzhuqduIGNodXnhu4NuIGdpYW8uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NzIKIG1zZ2lkICJFbXB0eSBjb21taXQgbWVzc2FnZS4iCiBtc2dzdHIgIkNow7ogdGjDrWNoIGPhu6dhIGzhuqduIGNvbW1pdCAoY2h1eeG7g24gZ2lhbykgYuG7iyB0cuG7kW5nIHLhu5duZy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICJUdXnhu4d0IHbhu51pLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODkwCisjOiBidWlsdGluL21lcmdlLmM6ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCiBtc2dzdHIgIiIKICJWaeG7h2MgdOG7sSDEkeG7mW5nIGjDsmEgdHLhu5luIGfhurdwIGzhu5dpOyBow6N5IHPhu61hIGPDoWMgeHVuZyDEkeG7mXQgc2F1IMSRw7MgY2h1eeG7g24gZ2lhbyBr4bq/dCAiCiAicXXhuqMuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQiCiBtc2dzdHIgIiVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGzhuqduIGNvbW1pdCAoY2h1eeG7g24gZ2lhbykiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDQKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgImtow7RuZyBwaOG6o2kgbmjDoW5oIGhp4buHbiBow6BuaCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0OQorIzogYnVpbHRpbi9tZXJnZS5jOjkwNgogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBtw6F5IGNo4bunIGNobyBuaMOhbmggaGnhu4duIGjDoG5oLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk1MQorIzogYnVpbHRpbi9tZXJnZS5jOjkwOAogbXNnaWQgIk5vIGRlZmF1bHQgdXBzdHJlYW0gZGVmaW5lZCBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiS2jDtG5nIGPDsyB0aMaw4bujbmcgbmd14buTbiBt4bq3YyDEkeG7i25oIMSRxrDhu6NjIMSR4buLbmggbmdoxKlhIGNobyBuaMOhbmggaGnhu4duIGjDoG5oLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk1NgorIzogYnVpbHRpbi9tZXJnZS5jOjkxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgogbXNnc3RyICJLaMO0bmcgbmjDoW5oIG3huqFuZyB0aGVvIGTDtWkgY2hvICVzIHThu6sgJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDkxCisjOiBidWlsdGluL21lcmdlLmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB2YWx1ZSAnJXMnIGluIGVudmlyb25tZW50ICclcyciCittc2dzdHIgIkdpw6EgdHLhu4sgc2FpIOKAnCVz4oCdIHRyb25nIGJp4bq/biBtw7RpIHRyxrDhu51uZyDigJwlc+KAnSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEwMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkcOzbmcg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjE5CisjOiBidWlsdGluL21lcmdlLmM6MTA2MQorIywgYy1mb3JtYXQKK21zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCittc2dzdHIgImtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHPhu5EgdGjhu6kgY2jDum5nIHTDtGkgY8OzIHRo4buDIGjDsmEgdHLhu5luIHRyb25nICVzOiAlcyIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEwOTUKK21zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKK21zZ3N0ciAia2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgc+G7kSB0aOG7qSBjaMO6bmcgdMO0aSBjw7MgdGjhu4MgaMOyYSB0cuG7mW4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTYyCiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgdG8gYWJvcnQgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICIiCiAi4bueIMSRw6J5IGtow7RuZyBjw7MgbOG6p24gaMOyYSB0cuG7mW4gbsOgbyDEkcaw4bujYyBo4buneSBi4buPIGdp4buvYSBjaOG7q25nIGPhuqMgKHRoaeG6v3UgTUVSR0VfSEVBRCkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIzNQorIzogYnVpbHRpbi9tZXJnZS5jOjExNzgKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtODM4Myw3ICs5Mzg2LDcgQEAKICJC4bqhbiBjaMawYSBr4bq/dCB0aMO6YyB2aeG7h2MgaMOyYSB0cuG7mW4gKE1FUkdFX0hFQUQgduG6q24gdOG7k24gdOG6oWkpLlxuIgogIkjDo3kgY2h1eeG7g24gZ2lhbyBjw6FjIHRoYXkgxJHhu5VpIHRyxrDhu5tjIGtoaSBi4bqhbiBjw7MgdGjhu4MgaMOyYSB0cuG7mW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI0MgorIzogYnVpbHRpbi9tZXJnZS5jOjExODUKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtODM5MSwxMDcgKzkzOTQsMTE1IEBACiAiQuG6oW4gY2jGsGEga+G6v3QgdGjDumMgdmnhu4djIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIHbhuqtuIHThu5NuIHThuqFpKS5cbiIKICJIw6N5IGNodXnhu4NuIGdpYW8gY8OhYyB0aGF5IMSR4buVaSB0csaw4bubYyBraGkgYuG6oW4gY8OzIHRo4buDIGjDsmEgdHLhu5luLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg4CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuIgogbXNnc3RyICJC4bqhbiBjaMawYSBr4bq/dCB0aMO6YyB2aeG7h2MgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgduG6q24gdOG7k24gdOG6oWkpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTk3CiBtc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1uby1mZi4iCiBtc2dzdHIgIkLhuqFuIGtow7RuZyB0aOG7gyBr4bq/dCBo4bujcCAtLXNxdWFzaCB24bubaSAtLW5vLWZmLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjA1CiBtc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCiBtc2dzdHIgIktow7RuZyBjaOG7iSByYSBs4bqnbiBjaHV54buDbiBnaWFvIHbDoCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBjaMawYSDEkcaw4bujYyDEkeG6t3QuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI3OQorIzogYnVpbHRpbi9tZXJnZS5jOjEyMjIKIG1zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKIG1zZ3N0ciAiU3F1YXNoIGNvbW1pdCB2w6BvIG3hu5l0IGhlYWQgdHLhu5FuZyBy4buXbmcgduG6q24gY2jGsGEgxJHGsOG7o2MgaOG7lyB0cuG7oyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI0CiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgIiIKICJDaHV54buDbiBnaWFvIGtow7RuZy1jaHV54buDbi10aeG6v3Atbmhhbmgga2jDtG5nIGjhu6NwIGzDvSDhu58gdHJvbmcgbeG7mXQgaGVhZCB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIiVzIC0ga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgc+G7kSB0aOG7qSBjaMO6bmcgdMO0aSBjw7MgdGjhu4MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg4CisjOiBidWlsdGluL21lcmdlLmM6MTIzMQogbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIiIKICJLaMO0bmcgdGjhu4MgaMOyYSB0cuG7mW4gbeG7mXQgY8OhY2ggxJHDum5nIMSR4bqvbiBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIHbDoG8gbeG7mXQgaGVhZCBy4buXbmciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzQ0CisjOiBidWlsdGluL21lcmdlLmM6MTI4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICIiCiAiTOG6p24gY2h1eeG7g24gZ2lhbyAlcyBjw7MgbeG7mXQgY2jhu68ga8O9IEdQRyBraMO0bmcgxJHDoW5nIHRpbiwgxJHGsOG7o2MgY2hvIGzDoCBi4bufaSAlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzQ3CisjOiBidWlsdGluL21lcmdlLmM6MTI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgYmFkIEdQRyBzaWduYXR1cmUgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiTOG6p24gY2h1eeG7g24gZ2lhbyAlcyBjw7MgbeG7mXQgY2jhu68ga8O9IEdQRyBzYWksIMSRxrDhu6NjIGNobyBsw6AgYuG7n2kgJXMuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM1MAorIzogYnVpbHRpbi9tZXJnZS5jOjEyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgYSBHUEcgc2lnbmF0dXJlLiIKIG1zZ3N0ciAiTOG6p24gY2h1eeG7g24gZ2lhbyAlcyBraMO0bmcgY8OzIGNo4buvIGvDvSBHUEcuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM1MworIzogYnVpbHRpbi9tZXJnZS5jOjEyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGdvb2QgR1BHIHNpZ25hdHVyZSBieSAlc1xuIgogbXNnc3RyICJM4bqnbiBjaHV54buDbiBnaWFvICVzIGPDsyBt4buZdCBjaOG7ryBrw70gR1BHIHThu5F0IGLhu59pICVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDE1CisjOiBidWlsdGluL21lcmdlLmM6MTM1OAogbXNnaWQgInJlZnVzaW5nIHRvIG1lcmdlIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgInThu6sgY2jhu5FpIGjDsmEgdHLhu5luIGzhu4tjaCBz4butIGtow7RuZyBsacOqbiBxdWFuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQzOQorIzogYnVpbHRpbi9tZXJnZS5jOjEzNjcKK21zZ2lkICJBbHJlYWR5IHVwLXRvLWRhdGUuIgorbXNnc3RyICLEkMOjIGPhuq1wIG5o4bqtdCBy4buTaS4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgogbXNnc3RyICLEkGFuZyBj4bqtcCBuaOG6rXQgJXMuLiVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc2CisjOiBidWlsdGluL21lcmdlLmM6MTQxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgcmVhbGx5IHRyaXZpYWwgaW4taW5kZXggbWVyZ2UuLi5cbiIKIG1zZ3N0ciAixJBhbmcgdGjhu60gaMOyYSB0cuG7mW4ga2nhu4N1IOKAnHRyaXZpYWwgaW4taW5kZXjigJ3igKZcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vcGUuXG4iCiBtc2dzdHIgIktow7RuZy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDUwCittc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlLiBZZWVhaCEiCittc2dzdHIgIsSQw6MgY+G6rXAgbmjhuq10IHLhu5NpLiBZZWVhaCEiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDU2CiBtc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgogbXNnc3RyICJUaOG7sWMgaGnhu4duIGzhu4duaCBjaHV54buDbi10aeG6v3AtbmhhbmggbMOgIGtow7RuZyB0aOG7gyDEkcaw4bujYywgxJFhbmcgYuG7jyBxdWEuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUzOCBidWlsdGluL21lcmdlLmM6MTYxNworIzogYnVpbHRpbi9tZXJnZS5jOjE0NzkgYnVpbHRpbi9tZXJnZS5jOjE1NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCiBtc2dzdHIgIsSQYW5nIHR1YSBs4bqhaSBjw6J5IHRow6BuaCB0aOG7nWkgeGEgeMawYeKAplxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU0MgorIzogYnVpbHRpbi9tZXJnZS5jOjE0ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIG1lcmdlIHN0cmF0ZWd5ICVzLi4uXG4iCiBtc2dzdHIgIsSQYW5nIHRo4butIGNoaeG6v24gbMaw4bujYyBow7JhIHRy4buZbiAlc+KAplxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYwOAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIktow7RuZyBjw7MgY2hp4bq/biBsxrDhu6NjIGjDsmEgdHLhu5luIG7DoG8gxJHGsOG7o2MgbuG6r20gZ2nhu68gKGhhbmRsZSkgc+G7sSBow7JhIHRy4buZbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgogbXNnc3RyICJIw7JhIHRy4buZbiB24bubaSBjaGnhur9uIGzGsOG7o2MgJXMgZ+G6t3AgbOG7l2kuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjE5CisjOiBidWlsdGluL21lcmdlLmM6MTU2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAiU+G7rSBk4bulbmcgJXMgxJHhu4MgY2h14bqpbiBi4buLIGdp4bqjaSBxdXnhur90IGLhurFuZyB0YXkuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjMxCisjOiBidWlsdGluL21lcmdlLmM6MTU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICIiCkBAIC04NTE4LDIzICs5NTI5LDIzIEBACiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDxyZWY+IFs8Y29tbWl0Pl0iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8dGhhbS1jaGnhur91PiBbPGzhuqduX2NodXnhu4NuX2dpYW8+XSIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE0CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTcKIG1zZ2lkICJvdXRwdXQgYWxsIGNvbW1vbiBhbmNlc3RvcnMiCiBtc2dzdHIgInh14bqldCByYSB04bqldCBj4bqjIGPDoWMgw7RuZyBiw6AsIHThu5UgdGnDqm4gY2h1bmciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxNgorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE5CiBtc2dpZCAiZmluZCBhbmNlc3RvcnMgZm9yIGEgc2luZ2xlIG4td2F5IG1lcmdlIgogbXNnc3RyICJ0w6xtIHThu5UgdGnDqm4gY+G7p2EgaMOyYSB0cuG7mW4gbi13YXkgxJHGoW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIxOAorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIxCiBtc2dpZCAibGlzdCByZXZzIG5vdCByZWFjaGFibGUgZnJvbSBvdGhlcnMiCiBtc2dzdHIgImxp4buHdCBrw6ogY8OhYyDigJxyZXbigJ0gbcOgIG7DsyBraMO0bmcgdGjhu4MgxJHhu41jIMSRxrDhu6NjIHThu6sgY8OhaSBraMOhYyIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIwCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjMKIG1zZ2lkICJpcyB0aGUgZmlyc3Qgb25lIGFuY2VzdG9yIG9mIHRoZSBvdGhlcj8iCiBtc2dzdHIgImzDoCBjaGEgbeG6uSDEkeG6p3UgdGnDqm4gY+G7p2EgY8OhaSBraMOhYz8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMgorIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjI1CiBtc2dpZCAiZmluZCB3aGVyZSA8Y29tbWl0PiBmb3JrZWQgZnJvbSByZWZsb2cgb2YgPHJlZj4iCiBtc2dzdHIgInTDrG0geGVtIDxjb21taXQ+IMSRxrDhu6NjIHLhur0gbmjDoW5oIOG7nyDEkcOidSB04burIHJlZmxvZyBj4bunYSA8dGguY2hp4bq/dT4iCiAKQEAgLTg1NzgsNiArOTU4OSwzNiBAQAogbXNnaWQgInNldCBsYWJlbHMgZm9yIGZpbGUxL29yaWctZmlsZS9maWxlMiIKIG1zZ3N0ciAixJHhurd0IG5ow6NuIGNobyB04bqtcC10aW4tMS904bqtcC10aW4tZ+G7kWMvdOG6rXAtdGluLTIiCiAKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gJXMiCittc2dzdHIgImtow7RuZyBoaeG7g3UgdMO5eSBjaOG7jW4gJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggxJHhu5FpIHTGsOG7o25nIOKAnCVz4oCdIgorCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2UuIElnbm9yaW5nICVzLiIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgYmFzZXMuIElnbm9yaW5nICVzLiIKK21zZ3N0clswXSAia2jDtG5nIHRo4buDIHjhu60gbMO9IG5oaeG7gXUgaMahbiAlZCBu4buBbi4gQuG7jyBxdWEgJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjMKK21zZ2lkICJub3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgorbXNnc3RyICJraMO0bmcgY+G6p20gbuG6r20gZ8OsIG5nb8OgaSBoYWkgaGVhZCBow7JhIHRy4buZbiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2OSBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIHJlZiAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gZ2nhuqNpIHRoYW0gY2hp4bq/dSAlcyIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJNZXJnaW5nICVzIHdpdGggJXNcbiIKK21zZ3N0ciAixJBhbmcgaMOyYSB0cuG7mW4gJXMgduG7m2kgJXNcbiIKKwogIzogYnVpbHRpbi9ta3RyZWUuYzo2NQogbXNnaWQgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCiBtc2dzdHIgImdpdCBta3RyZWUgWy16XSBbLS1taXNzaW5nXSBbLS1iYXRjaF0iCkBAIC04NjIxLDExMCArOTY2MiwxMTAgQEAKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKIG1zZ3N0ciAiYuG7jyBxdWEgY8OhYyBs4buXaSBsacOqbiBxdWFuIMSR4bq/biBkaSBjaHV54buDbiwgxJHhu5VpIHTDqm4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNTIKKyM6IGJ1aWx0aW4vbXYuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gJyVzJyBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgImPDsyDEkcOtY2gg4oCcJXPigJ0gbmjGsG5nIMSRw6J5IGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoxrAgbeG7pWMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNjMKKyM6IGJ1aWx0aW4vbXYuYzoxNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICLEkGFuZyBraeG7g20gdHJhIHZp4buHYyDEkeG7lWkgdMOqbiBj4bunYSDigJwlc+KAnSB0aMOgbmgg4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9tdi5jOjE2NworIzogYnVpbHRpbi9tdi5jOjE3MAogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgIm5ndeG7k24gc2FpIgogCi0jOiBidWlsdGluL212LmM6MTcwCisjOiBidWlsdGluL212LmM6MTczCiBtc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGRpIGNodXnhu4NuIG3hu5l0IHRoxrAgbeG7pWMgdsOgbyB0cm9uZyBjaMOtbmggbsOzIMSRxrDhu6NjIgogCi0jOiBidWlsdGluL212LmM6MTczCisjOiBidWlsdGluL212LmM6MTc2CiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAia2jDtG5nIGRpIGNodXnhu4NuIMSRxrDhu6NjIHRoxrAgbeG7pWMgdGjDtG5nIHF1YSB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODIKKyM6IGJ1aWx0aW4vbXYuYzoxODUKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICJ0aMawIG3hu6VjIG5ndeG7k24gbMOgIHRy4buRbmcgcuG7l25nIgogCi0jOiBidWlsdGluL212LmM6MjA3CisjOiBidWlsdGluL212LmM6MjEwCiBtc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKIG1zZ3N0ciAia2jDtG5nIG7hurFtIGTGsOG7m2kgc+G7sSBxdeG6o24gbMO9IG3DoyBuZ3Xhu5NuIgogCi0jOiBidWlsdGluL212LmM6MjEwCisjOiBidWlsdGluL212LmM6MjEzCiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICLEkcOtY2ggxJHDoyB04buTbiB04bqhaSBz4bq1biBy4buTaSIKIAotIzogYnVpbHRpbi9tdi5jOjIxOAorIzogYnVpbHRpbi9tdi5jOjIyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJvdmVyd3JpdGluZyAnJXMnIgogbXNnc3RyICLEkWFuZyBnaGkgxJHDqCBsw6puIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL212LmM6MjIxCisjOiBidWlsdGluL212LmM6MjI0CiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSDEkcOoIgogCi0jOiBidWlsdGluL212LmM6MjI0CisjOiBidWlsdGluL212LmM6MjI3CiBtc2dpZCAibXVsdGlwbGUgc291cmNlcyBmb3IgdGhlIHNhbWUgdGFyZ2V0IgogbXNnc3RyICJOaGnhu4F1IG5ndeG7k24gY2hvIGPDuW5nIG3hu5l0IMSRw61jaCIKIAotIzogYnVpbHRpbi9tdi5jOjIyNgorIzogYnVpbHRpbi9tdi5jOjIyOQogbXNnaWQgImRlc3RpbmF0aW9uIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAidGjGsCBt4bulYyDEkcOtY2gga2jDtG5nIHThu5NuIHThuqFpIgogCi0jOiBidWlsdGluL212LmM6MjMzCisjOiBidWlsdGluL212LmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogbXNnc3RyICIlcywgbmd14buTbj0lcywgxJHDrWNoPSVzIgogCi0jOiBidWlsdGluL212LmM6MjU0CisjOiBidWlsdGluL212LmM6MjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCiBtc2dzdHIgIsSQ4buVaSB0w6puICVzIHRow6BuaCAlc1xuIgogCi0jOiBidWlsdGluL212LmM6MjYwIGJ1aWx0aW4vcmVtb3RlLmM6NzE0IGJ1aWx0aW4vcmVwYWNrLmM6MzY1CisjOiBidWlsdGluL212LmM6MjYzIGJ1aWx0aW4vcmVtb3RlLmM6NzEwIGJ1aWx0aW4vcmVwYWNrLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu5VpIHTDqm4g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTcKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8Y29tbWl0PuKApiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8Y8OhYy10w7l5LWNo4buNbj5dIC0tYWxsIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjYwCisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tc3RkaW4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPGPDoWMtdMO5eS1jaOG7jW4+XSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzEyCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzExCiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgdMOqbiAoa2jDtG5nIFNIQS0xKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMworIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxMgogbXNnaWQgIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIKIG1zZ3N0ciAiY2jhu4kgZMO5bmcgY8OhYyB0aOG6uyDEkeG7gyDEkeG6t3QgdMOqbiBjaG8gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE1CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE0CiBtc2dpZCAib25seSB1c2UgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgImNo4buJIHPhu60gZOG7pW5nIGPDoWMgdGhhbSBjaGnhur91IGto4bubcCB24bubaSA8beG6q3U+IgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE3CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE2CiBtc2dpZCAibGlzdCBhbGwgY29tbWl0cyByZWFjaGFibGUgZnJvbSBhbGwgcmVmcyIKIG1zZ3N0ciAiIgogImxp4buHdCBrw6ogdOG6pXQgY+G6oyBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gY8OzIHRo4buDIMSR4buNYyDEkcaw4bujYyB04burIHThuqV0IGPhuqMgY8OhYyB0aGFtIGNoaeG6v3UiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTcKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgIsSR4buNYyB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTkKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKIG1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCiBtc2dzdHIgImNobyBwaMOpcCBpbiBjw6FjIHTDqm4g4oCcY2jGsGEgxJHhu4tuaCBuZ2jEqWHigJ0gKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzI1CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzI0CiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbiB0aGUgaW5wdXQgKGludGVybmFsIHVzZSkiCiBtc2dzdHIgImLDo2kgYuG7jyB0aGFtIGNoaeG6v3UgY8OhYyB0aOG6uyB0cm9uZyDEkeG6p3UgdsOgbyAoZMO5bmcgbuG7mWkgYuG7mSkiCiAKQEAgLTg4MzgsNiArOTg3OSwxMCBAQAogbXNnaWQgImdpdCBub3RlcyBnZXQtcmVmIgogbXNnc3RyICJnaXQgbm90ZXMgZ2V0LXJlZiIKIAorIzogYnVpbHRpbi9ub3Rlcy5jOjk0Cittc2dpZCAiV3JpdGUvZWRpdCB0aGUgbm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgb2JqZWN0OiIKK21zZ3N0ciAiR2hpIGhheSBz4butYSBnaGkgY2jDuiBjaG8gxJHhu5FpIHTGsOG7o25nIHNhdSDEkcOieToiCisKICM6IGJ1aWx0aW4vbm90ZXMuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICdzaG93JyBmb3Igb2JqZWN0ICclcyciCkBAIC04ODUyLDgxICs5ODk3LDEwMCBAQAogbXNnaWQgImZhaWxlZCB0byBmaW5pc2ggJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGhvw6BuIHRow6BuaCDigJxzaG934oCdIGNobyDEkeG7kWkgdMaw4bujbmcg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNzQgYnVpbHRpbi90YWcuYzoyNDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciCi1tc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB04bqtcCB0aW4g4oCcJXPigJ0iCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoxOTMKLW1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBub3RlIGNvbnRlbnRzIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24iCisjOiBidWlsdGluL25vdGVzLmM6MTk0Cittc2dpZCAicGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgogbXNnc3RyICIiCi0iWGluIGjDo3kgw6FwIGThu6VuZyBu4buZaSBkdW5nIGPhu6dhIGdoaSBjaMO6IHPhu60gZOG7pW5nIGhv4bq3YyBsw6AgdMO5eSBjaOG7jW4gLW0gaG/hurdjIGzDoCAtRiIKKyJ4aW4gaMOjeSDDoXAgZOG7pW5nIG7hu5lpIGR1bmcgY+G7p2EgZ2hpIGNow7ogc+G7rSBk4bulbmcgaG/hurdjIGzDoCB0w7l5IGNo4buNbiAtbSBob+G6t2MgbMOgIC1GIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjAyCisjOiBidWlsdGluL25vdGVzLmM6MjAzCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5vdGUgb2JqZWN0IgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIMSR4buRaSB0xrDhu6NuZyBnaGkgY2jDuiAobm90ZSkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCi1tc2dzdHIgIk7hu5lpIGR1bmcgZ2hpIGNow7ogY8OybiBs4bqhaSAlcyIKK21zZ2lkICJ0aGUgbm90ZSBjb250ZW50cyBoYXZlIGJlZW4gbGVmdCBpbiAlcyIKK21zZ3N0ciAibuG7mWkgZHVuZyBnaGkgY2jDuiBjw7JuIGzhuqFpICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjMyIGJ1aWx0aW4vdGFnLmM6NDM5CisjOiBidWlsdGluL25vdGVzLmM6MjMzIGJ1aWx0aW4vdGFnLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMzQgYnVpbHRpbi90YWcuYzo0NDIKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMzUgYnVpbHRpbi90YWcuYzo0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gb3IgcmVhZCAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyBoYXkgxJHhu41jIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjU2CisjOiBidWlsdGluL25vdGVzLmM6MjU0IGJ1aWx0aW4vbm90ZXMuYzozMDUgYnVpbHRpbi9ub3Rlcy5jOjMwNworIzogYnVpbHRpbi9ub3Rlcy5jOjM3MiBidWlsdGluL25vdGVzLmM6NDI3IGJ1aWx0aW4vbm90ZXMuYzo1MTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MTggYnVpbHRpbi9ub3Rlcy5jOjU5NiBidWlsdGluL25vdGVzLmM6NjU5CiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKLW1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSR4buNYyDEkeG7kWkgdMaw4bujbmcg4oCcJXPigJ0uIgorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gZ2nhuqNpIOKAnCVz4oCdIG5oxrAgbMOgIG3hu5l0IHRoYW0gY2hp4bq/dSBo4bujcCBs4buHLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI2MAorIzogYnVpbHRpbi9ub3Rlcy5jOjI1NwogIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3QgcmVhZCBub3RlIGRhdGEgZnJvbSBub24tYmxvYiBvYmplY3QgJyVzJy4iCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgb2JqZWN0ICclcycuIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIMSR4buRaSB0xrDhu6NuZyDigJwlc+KAnS4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIGThu68gbGnhu4d1IGdoaSBjaMO6IHThu6sgxJHhu5FpIHTGsOG7o25nIGtow7RuZy1ibG9iIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM2MiBidWlsdGluL25vdGVzLmM6NDE3IGJ1aWx0aW4vbm90ZXMuYzo0OTMKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDUgYnVpbHRpbi9ub3Rlcy5jOjU4MSBidWlsdGluL25vdGVzLmM6NjQ5Ci0jOiBidWlsdGluL25vdGVzLmM6OTQ2CisjOiBidWlsdGluL25vdGVzLmM6MzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKK21zZ3N0ciAiZMOybmcgxJHhuqd1IHbDoG8gZOG7iyBow6xuaDog4oCcJXPigJ0uIgorCisjOiBidWlsdGluL25vdGVzLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgc2FvIGNow6lwIGdoaSBjaMO6IChub3RlKSB04burIOKAnCVz4oCdIHNhbmcg4oCcJXPigJ0iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGUgZmlyc3QgJXMgd2lsbCBiZSByZXBsYWNlZCBieSBhCisjLiBnaXQgbm90ZXMgY29tbWFuZDogJ2FkZCcsICdtZXJnZScsICdyZW1vdmUnLCBldGMuCisjOiBidWlsdGluL25vdGVzLmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvICVzIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKK21zZ3N0ciAidOG7qyBjaOG7kWkgJXMgZ2hpIGNow7ogdHJvbmcgJXMgKG7hurFtIG5nb8OgaSByZWZzL25vdGVzLykiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNjUgYnVpbHRpbi9ub3Rlcy5jOjQyMCBidWlsdGluL25vdGVzLmM6NDk2CisjOiBidWlsdGluL25vdGVzLmM6NTA4IGJ1aWx0aW4vbm90ZXMuYzo1ODQgYnVpbHRpbi9ub3Rlcy5jOjY1MgorIzogYnVpbHRpbi9ub3Rlcy5jOjgwMiBidWlsdGluL25vdGVzLmM6OTQ5IGJ1aWx0aW4vbm90ZXMuYzo5NzAKIG1zZ2lkICJ0b28gbWFueSBwYXJhbWV0ZXJzIgogbXNnc3RyICJxdcOhIG5oaeG7gXUgxJHhu5FpIHPhu5EiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzUgYnVpbHRpbi9ub3Rlcy5jOjY2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjM3OCBidWlsdGluL25vdGVzLmM6NjY1CiAjLCBjLWZvcm1hdAotbXNnaWQgIk5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCittc2dpZCAibm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIKIG1zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IGdoaSBjaMO6IGNobyDEkeG7kWkgdMaw4bujbmcgJXMuIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzk2IGJ1aWx0aW4vbm90ZXMuYzo1NTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzozOTkgYnVpbHRpbi9ub3Rlcy5jOjU2MgogbXNnaWQgIm5vdGUgY29udGVudHMgYXMgYSBzdHJpbmciCiBtc2dzdHIgIm7hu5lpIGR1bmcgZ2hpIGNow7ogKG5vdGUpIG7hurFtIHRyb25nIG3hu5l0IGNodeG7l2kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozOTkgYnVpbHRpbi9ub3Rlcy5jOjU2MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CiBtc2dpZCAibm90ZSBjb250ZW50cyBpbiBhIGZpbGUiCiBtc2dzdHIgIm7hu5lpIGR1bmcgZ2hpIGNow7ogKG5vdGUpIG7hurFtIHRyb25nIG3hu5l0IHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwMiBidWlsdGluL25vdGVzLmM6NTY1CisjOiBidWlsdGluL25vdGVzLmM6NDA1IGJ1aWx0aW4vbm90ZXMuYzo1NjgKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgImTDuW5nIGzhuqFpIG5oxrBuZyBjw7Mgc+G7rWEgY2jhu69hIMSR4buRaSB0xrDhu6NuZyBub3RlIMSRw6MgY2jhu4kgcmEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDUgYnVpbHRpbi9ub3Rlcy5jOjU2OAorIzogYnVpbHRpbi9ub3Rlcy5jOjQwOCBidWlsdGluL25vdGVzLmM6NTcxCiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICJkw7luZyBs4bqhaSDEkeG7kWkgdMaw4bujbmcgZ2hpIGNow7ogKG5vdGUpIMSRw6MgY2jhu4kgcmEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CiBtc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgogbXNnc3RyICJjaG8gbMawdSB0cuG7ryBnaGkgY2jDuiB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQwOSBidWlsdGluL25vdGVzLmM6NDgwCisjOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo0ODMKIG1zZ2lkICJyZXBsYWNlIGV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICJ0aGF5IHRo4bq/IGdoaSBjaMO6IHRyxrDhu5tjIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDM0CisjOiBidWlsdGluL25vdGVzLmM6NDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgYWRkIG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtODkzNSwyOSArOTk5OSwyOSBAQAogIktow7RuZyB0aOG7gyB0aMOqbSBjw6FjIGdoaSBjaMO6LiDEkMOjIHTDrG0gdGjhuqV5IGPDoWMgZ2hpIGNow7ogxJHDoyBjw7Mgc+G6tW4gY2hvIMSR4buRaSB0xrDhu6NuZyAiCiAiJXMuIFPhu60gZOG7pW5nIHTDuXkgY2jhu41uIOKAnC1m4oCdIMSR4buDIGdoaSDEkcOoIGzDqm4gY8OhYyBnaGkgY2jDuiBjxakiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NDkgYnVpbHRpbi9ub3Rlcy5jOjUyOAorIzogYnVpbHRpbi9ub3Rlcy5jOjQ1MiBidWlsdGluL25vdGVzLmM6NTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAixJBhbmcgZ2hpIMSRw6ggbMOqbiBnaGkgY2jDuiBjxakgY2hvIMSR4buRaSB0xrDhu6NuZyAlc1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDYwIGJ1aWx0aW4vbm90ZXMuYzo2MjEgYnVpbHRpbi9ub3Rlcy5jOjg4NgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MyBidWlsdGluL25vdGVzLmM6NjI0IGJ1aWx0aW4vbm90ZXMuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgbm90ZSBmb3Igb2JqZWN0ICVzXG4iCiBtc2dzdHIgIsSQYW5nIGfhu6EgYuG7jyBnaGkgY2jDuiAobm90ZSkgY2hvIMSR4buRaSB0xrDhu6NuZyAlc1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDgxCisjOiBidWlsdGluL25vdGVzLmM6NDg0CiBtc2dpZCAicmVhZCBvYmplY3RzIGZyb20gc3RkaW4iCiBtc2dzdHIgIsSR4buNYyBjw6FjIMSR4buRaSB0xrDhu6NuZyB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0ODYKIG1zZ2lkICJsb2FkIHJld3JpdGluZyBjb25maWcgZm9yIDxjb21tYW5kPiAoaW1wbGllcyAtLXN0ZGluKSIKIG1zZ3N0ciAidOG6o2kgY+G6pXUgaMOsbmggY2jDqXAgbOG6oWkgY2hvIDxs4buHbmg+IChuZ+G6p20gxJHhu4tuaCBsw6AgLS1zdGRpbikiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MDEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MDQKIG1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCiBtc2dzdHIgInF1w6Egw610IMSR4buRaSBz4buRIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTIyCisjOiBidWlsdGluL25vdGVzLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgY29weSBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKQEAgLTg5NjYsMTIgKzEwMDMwLDEyIEBACiAiS2jDtG5nIHRo4buDIHNhbyBjaMOpcCBjw6FjIGdoaSBjaMO6LiDEkMOjIHTDrG0gdGjhuqV5IGPDoWMgZ2hpIGNow7ogxJHDoyBjw7Mgc+G6tW4gY2hvIMSR4buRaSAiCiAidMaw4bujbmcgJXMuIFPhu60gZOG7pW5nIHTDuXkgY2jhu41uIOKAnC1m4oCdIMSR4buDIGdoaSDEkcOoIGzDqm4gY8OhYyBnaGkgY2jDuiBjxakiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiTWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCi1tc2dzdHIgIlRoaeG6v3UgZ2hpIGNow7ogdHLDqm4gxJHhu5FpIHTGsOG7o25nIG5ndeG7k24gJXMuIEtow7RuZyB0aOG7gyBzYW8gY2jDqXAuIgorbXNnaWQgIm1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90IGNvcHkuIgorbXNnc3RyICJ0aGnhur91IGdoaSBjaMO6IHRyw6puIMSR4buRaSB0xrDhu6NuZyBuZ3Xhu5NuICVzLiBLaMO0bmcgdGjhu4Mgc2FvIGNow6lwLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU4NgorIzogYnVpbHRpbi9ub3Rlcy5jOjU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC1tLy1GLy1jLy1DIG9wdGlvbnMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZSAnZWRpdCcgc3ViY29tbWFuZC5cbiIKQEAgLTg5ODAsMTUgKzEwMDQ0LDUyIEBACiAiQ8OhYyB0w7l5IGNo4buNbiAtbS8tRi8tYy8tQyDEkcOjIGPhu5Uga2jDtG5nIGPDsm4gZMO5bmcgbuG7r2EgY2hvIGzhu4duaCBjb24g4oCcZWRpdOKAnS5cbiIKICJYaW4gaMOjeSBz4butIGThu6VuZyBs4buHbmggc2F1IMSR4buDIHRoYXkgdGjhur86IOKAnGdpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUPigJ0uXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2ODUKK21zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgeMOzYSB0aGFtIGNoaeG6v3UgTk9URVNfTUVSR0VfUEFSVElBTCIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjY4NworbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1JFRiIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHjDs2EgdGhhbSBjaGnhur91IE5PVEVTX01FUkdFX1JFRiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjY4OQorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJ2dpdCBub3RlcyBtZXJnZScgd29ya3RyZWUiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBn4buhIGLhu48gY8OieSBsw6BtIHZp4buHYyDigJxnaXQgbm90ZXMgbWVyZ2XigJ0iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MDkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4buNYyB0aGFtIGNoaeG6v3UgTk9URVNfTUVSR0VfUEFSVElBTCIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcxMQorbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdMOsbSB0aOG6pXkgbOG6p24gY2h1eeG7g24gZ2lhbyB04burIE5PVEVTX01FUkdFX1BBUlRJQUwuIgorCisjOiBidWlsdGluL25vdGVzLmM6NzEzCittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgorbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggY8O6IHBow6FwIGzhuqduIGNodXnhu4NuIGdpYW8gdOG7qyBOT1RFU19NRVJHRV9QQVJUSUFMLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcyNgorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIE5PVEVTX01FUkdFX1JFRiIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIGdp4bqjaSBOT1RFU19NRVJHRV9SRUYiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjkKK21zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBob8OgbiB0aMOgbmggaMOyYSB0cuG7mW4gZ2hpIGNow7oiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBub3RlcyBtZXJnZSBzdHJhdGVneSAlcyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBjaGnhur9uIGzGsOG7o2MgaMOyYSB0cuG7mW4gZ2hpIGNow7ogJXMiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzEKIG1zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCiBtc2dzdHIgIlTDuXkgY2jhu41uIGNodW5nIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzcwCisjOiBidWlsdGluL25vdGVzLmM6NzczCiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gduG7gSBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3MgorIzogYnVpbHRpbi9ub3Rlcy5jOjc3NQogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCiAiY2F0X3NvcnRfdW5pcSkiCkBAIC04OTk2LDIzOCArMTAwOTcsMjc1IEBACiAicGjDom4gZ2nhuqNpIGPDoWMgeHVuZyDEkeG7mXQg4oCcbm90ZXPigJ0gc+G7rSBk4bulbmcgY2hp4bq/biBsxrDhu6NjIMSRw6MgxJHGsGEgcmEgKG1hbnVhbC9vdXJzLyIKICJ0aGVpcnMvdW5pb24vY2F0X3NvcnRfdW5pcSkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzcKIG1zZ2lkICJDb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICJDaHV54buDbiBnaWFvIGPDoWMgbm90ZSBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NgorIzogYnVpbHRpbi9ub3Rlcy5jOjc3OQogbXNnaWQgImZpbmFsaXplIG5vdGVzIG1lcmdlIGJ5IGNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIiIKICJjw6FjIG5vdGUgY3Xhu5FpIGPDuW5nIMSRxrDhu6NjIGjDsmEgdHLhu5luIGLhu59pIGPDoWMgbm90ZSBjaMawYSBow7JhIHRy4buZbiBj4bunYSBs4bqnbiBjaHV54buDbiAiCiAiZ2lhbyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3OAorIzogYnVpbHRpbi9ub3Rlcy5jOjc4MQogbXNnaWQgIkFib3J0aW5nIG5vdGVzIG1lcmdlIHJlc29sdXRpb24iCiBtc2dzdHIgIkjhu6d5IGLhu48gcGjDom4gZ2nhuqNpIGdoaSBjaMO6IChub3RlKSBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjc4MwogbXNnaWQgImFib3J0IG5vdGVzIG1lcmdlIgogbXNnc3RyICJi4buPIHF1YSBow7JhIHRy4buZbiBjw6FjIGdoaSBjaMO6IChub3RlKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg1NwotIywgYy1mb3JtYXQKLW1zZ2lkICJBIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKLW1zZ3N0ciAiQ8OhYyBnaGkgY2jDuiBow7JhIHRy4buZbiB2w6BvICVzIMSRw6Mgc+G6tW4gdHJvbmcgcXXDoSB0csOsbmggeOG7rSBsw70gdOG6oWkgJXMiCisjOiBidWlsdGluL25vdGVzLmM6Nzk0Cittc2dpZCAiY2Fubm90IG1peCAtLWNvbW1pdCwgLS1hYm9ydCBvciAtcy8tLXN0cmF0ZWd5IgorbXNnc3RyICJraMO0bmcgdGjhu4MgdHLhu5luIGzhuqtuIC0tY29tbWl0LCAtLWFib3J0IGhheSAtcy8tLXN0cmF0ZWd5IgogCi0jOiBidWlsdGluL25vdGVzLmM6ODg0CisjOiBidWlsdGluL25vdGVzLmM6Nzk5Cittc2dpZCAibXVzdCBzcGVjaWZ5IGEgbm90ZXMgcmVmIHRvIG1lcmdlIgorbXNnc3RyICJi4bqhbiBwaOG6o2kgY2jhu4kgxJHhu4tuaCB0aGFtIGNoaeG6v3UgZ2hpIGNow7ogxJHhu4MgaMOyYSB0cuG7mW4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biAtcy8tLXN0cmF0ZWd5OiAlcyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSAtcy8tLXN0cmF0ZWd5OiAlcyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJhIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKK21zZ3N0ciAibeG7mXQgZ2hpIGNow7ogaMOyYSB0cuG7mW4gdsOgbyAlcyDEkcOjIHPhurVuIHRyb25nIHF1w6EgdHLDrG5oIHjhu60gbMO9IHThuqFpICVzIgorCisjOiBidWlsdGluL25vdGVzLmM6ODYzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzdG9yZSBsaW5rIHRvIGN1cnJlbnQgbm90ZXMgcmVmICglcykiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBsxrB1IGxpw6puIGvhur90IMSR4bq/biB0aGFtIGNoaeG6v3UgZ2hpIGNow7ogaGnhu4duIHThuqFpICglcykiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkF1dG9tYXRpYyBub3RlcyBtZXJnZSBmYWlsZWQuIEZpeCBjb25mbGljdHMgaW4gJXMgYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggIgorIidnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnLCBvciBhYm9ydCB0aGUgbWVyZ2Ugd2l0aCAnZ2l0IG5vdGVzIG1lcmdlIC0tIgorImFib3J0Jy5cbiIKK21zZ3N0ciAiIgorIkfhurdwIGzhu5dpIGtoaSBow7JhIHRy4buZbiBjw6FjIGdoaSBjaMO6IHThu7EgxJHhu5luZy4gU+G7rWEgY8OhYyB4dW5nIMSR4buZdCBuw6B5IHRyb25nICVzIHbDoCAiCisiY2h1eeG7g24gZ2lhbyBr4bq/dCBxdeG6oyBi4bqxbmcg4oCcZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl04oCdLCBob+G6t2MgYsOjaSBi4buPIHZp4buHYyBow7JhICIKKyJ0cuG7mW4gYuG6sW5nIOKAnGdpdCBub3RlcyBtZXJnZSAtLWFib3J04oCdLlxuIgorCisjOiBidWlsdGluL25vdGVzLmM6ODg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9iamVjdCAlcyBoYXMgbm8gbm90ZVxuIgogbXNnc3RyICLEkOG7kWkgdMaw4bujbmcgJXMga2jDtG5nIGPDsyBnaGkgY2jDuiAobm90ZSlcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5NgorIzogYnVpbHRpbi9ub3Rlcy5jOjg5OQogbXNnaWQgImF0dGVtcHQgdG8gcmVtb3ZlIG5vbi1leGlzdGVudCBub3RlIGlzIG5vdCBhbiBlcnJvciIKIG1zZ3N0ciAiY+G7kSBn4bqvbmcgZ+G7oSBi4buPIG3hu5l0IG5vdGUgY2jGsGEgdOG7q25nIHThu5NuIHThuqFpIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGzhu5dpIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODk5CisjOiBidWlsdGluL25vdGVzLmM6OTAyCiBtc2dpZCAicmVhZCBvYmplY3QgbmFtZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIsSR4buNYyB0w6puIMSR4buRaSB0xrDhu6NuZyB04burIHRoaeG6v3QgYuG7iyBuaOG6rXAgY2h14bqpbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjk0MCBidWlsdGluL3BydW5lLmM6MTA1IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjcKK21zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCittc2dzdHIgImtow7RuZyBn4buhIGLhu48sIGNo4buJIGhp4buDbiB0aOG7iyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjk0MQorbXNnaWQgInJlcG9ydCBwcnVuZWQgbm90ZXMiCittc2dzdHIgImLDoW8gY8OhbyBjw6FjIMSR4buRaSB0xrDhu6NuZyDEkcOjIHBydW5lIgorCisjOiBidWlsdGluL25vdGVzLmM6OTgzCiBtc2dpZCAibm90ZXMtcmVmIgogbXNnc3RyICJub3Rlcy1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODQKIG1zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiZMO5bmcg4oCcbm90ZXPigJ0gdOG7qyA8bm90ZXMtcmVmPiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjEwMTYgYnVpbHRpbi9yZW1vdGUuYzoxNjI4CisjOiBidWlsdGluL25vdGVzLmM6MTAxOQogIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgotbXNnc3RyICJLaMO0bmcgaGnhu4N1IGPDonUgbOG7h25oIGNvbjogJXMiCittc2dpZCAidW5rbm93biBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBjw6J1IGzhu4duaCBjb246ICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5CiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzxvcHRpb25zPi4uLl0gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFtjw6FjLXTDuXktY2jhu41u4oCmXSBbPCA8ZGFuaC1zw6FjaC10aGFtLWNoaeG6v3U+IHwgPCAiCiAiPGRhbmgtc8OhY2gtxJHhu5FpLXTGsOG7o25nPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPG9wdGlvbnM+Li4uXSA8YmFzZS1uYW1lPiBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgW2PDoWMtdMO5eS1jaOG7jW7igKZdIDxiYXNlLW5hbWU+IFs8IDxkYW5oLXPDoWNoLXJlZj4gfCA8IDxkYW5oLSIKICJzw6FjaC3EkeG7kWktdMaw4bujbmc+XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTc5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlZmxhdGUgZXJyb3IgKCVkKSIKIG1zZ3N0ciAibOG7l2kgZ2nhuqNpIG7DqW4gKCVkKSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzY4CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKIG1zZ3N0ciAidOG6r3QgZ2hpIGJpdG1hcCwgY8OhYyBnw7NpIGLhu4sgY2hpYSBuaOG7jyBi4bufaSB2w6wgcGFjay5wYWNrU2l6ZUxpbWl0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODEKIG1zZ2lkICJXcml0aW5nIG9iamVjdHMiCiBtc2dzdHIgIsSQYW5nIGdoaSBs4bqhaSBjw6FjIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMDE3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjEwNzAKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIGFzIHNvbWUgb2JqZWN0cyBhcmUgbm90IGJlaW5nIHBhY2tlZCIKIG1zZ3N0ciAidOG6r3QgZ2hpIGJpdG1hcCwgbmjGsCB24bqteSBt4buZdCBz4buRIMSR4buRaSB0xrDhu6NuZyBz4bq9IGtow7RuZyDEkcaw4bujYyDEkcOzbmcgZ8OzaSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTc3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzNDYKIG1zZ2lkICJDb21wcmVzc2luZyBvYmplY3RzIgogbXNnc3RyICLEkGFuZyBuw6luIGPDoWMgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBpbmRleCB2ZXJzaW9uICVzIgogbXNnc3RyICJwaGnDqm4gYuG6o24gbeG7pWMgbOG7pWMga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICclcyciCiBtc2dzdHIgInBoacOqbiBi4bqjbiBt4bulYyBs4bulYyBzYWkg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU5NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzkzCiBtc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCiBtc2dzdHIgImtow7RuZyBoaeG7g24gdGjhu4sgYuG7mSDEkW8gdGnhur9uIHRyw6xuaCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTk5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTUKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICJoaeG7g24gdGjhu4sgYuG7mSDEkW8gdGnhur9uIHRyw6xuaCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3OTcKIG1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGLhu5kgxJFvIHRp4bq/biB0cmnhu4NuIHRyb25nIHN14buRdCBwaGEgZ2hpIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjA0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDAKIG1zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCiBtc2dzdHIgInTGsMahbmcgdOG7sSAtLWFsbC1wcm9ncmVzcyBraGkgYuG7mSDEkW8gdGnhur9uIHRyw6xuaCDEkcaw4bujYyB4deG6pXQgaGnhu4duIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMQogbXNnaWQgInZlcnNpb25bLG9mZnNldF0iCiBtc2dzdHIgInBoacOqbiBi4bqjblssb2Zmc2V0XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjA2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDIKIG1zZ2lkICJ3cml0ZSB0aGUgcGFjayBpbmRleCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgaWR4IGZvcm1hdCB2ZXJzaW9uIgogbXNnc3RyICJnaGkgdOG6rXAgdGluIGLhuqNuZyBt4bulYyBs4bulYyBnw7NpIChwYWNrKSDhu58gcGhpw6puIGLhuqNuIMSR4buLbmggZOG6oW5nIGlkeCDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjA5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDUKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgogbXNnc3RyICJrY8OtaCB0aMaw4bubYyB04buRaSDEkWEgY2hvIHThuq1wIHRpbiBnw7NpIMSRxrDhu6NjIHThuqFvIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNwogbXNnaWQgImlnbm9yZSBib3Jyb3dlZCBvYmplY3RzIGZyb20gYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSIKIG1zZ3N0ciAiYuG7jyBxdWEgY8OhYyDEkeG7kWkgdMaw4bujbmcgdmF5IG3GsOG7o24gdOG7qyBraG8gxJHhu5FpIHTGsOG7o25nIHRoYXkgdGjhur8iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODA5CiBtc2dpZCAiaWdub3JlIHBhY2tlZCBvYmplY3RzIgogbXNnc3RyICJi4buPIHF1YSBjw6FjIMSR4buRaSB0xrDhu6NuZyDEkcOzbmcgZ8OzaSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjE1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTEKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgogbXNnc3RyICJnaeG7m2kgaOG6oW4gY+G7rWEgc+G7lSDEkcOzbmcgZ8OzaSB0aGVvIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjE3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTMKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBtZW1vcnkgaW4gYWRkaXRpb24gdG8gb2JqZWN0IGxpbWl0IgogbXNnc3RyICJnaeG7m2kgaOG6oW4gY+G7rWEgc+G7lSDEkcOzbmcgZ8OzaSB0aGVvIGLhu5kgbmjhu5sgY+G7mW5nIHRow6ptIHbhu5tpIGdp4bubaSBo4bqhbiDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODE1CiBtc2dpZCAibWF4aW11bSBsZW5ndGggb2YgZGVsdGEgY2hhaW4gYWxsb3dlZCBpbiB0aGUgcmVzdWx0aW5nIHBhY2siCiBtc2dzdHIgIsSR4buZIGTDoGkgdOG7kWkgxJFhIGPhu6dhIGNodeG7l2kgbcOzYyB4w61jaCDigJxkZWx0YeKAnSDEkcaw4bujYyBwaMOpcCB0cm9uZyBnw7NpIGvhur90IHF14bqjIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNwogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKIG1zZ3N0ciAiZMO5bmcgbOG6oWkgY8OhYyBkZWx0YSBz4bq1biBjw7MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODE5CiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiZMO5bmcgbOG6oWkgY8OhYyDEkeG7kWkgdMaw4bujbmcgc+G6tW4gY8OzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyMQogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKIG1zZ3N0ciAiZMO5bmcgY8OhYyDEkeG7kWkgdMaw4bujbmcgT0ZTX0RFTFRBIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyMwogbXNnaWQgInVzZSB0aHJlYWRzIHdoZW4gc2VhcmNoaW5nIGZvciBiZXN0IGRlbHRhIG1hdGNoZXMiCiBtc2dzdHIgInPhu60gZOG7pW5nIGPDoWMgdHV54bq/biB0csOsbmgga2hpIHTDrG0ga2nhur9tIGNobyBjw6FjIG3huqt1IGto4bubcCBkZWx0YSB04buRdCBuaOG6pXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI1CiBtc2dpZCAiZG8gbm90IGNyZWF0ZSBhbiBlbXB0eSBwYWNrIG91dHB1dCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIGvhur90IHh14bqldCBnw7NpIHRy4buRbmcgcuG7l25nIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyNwogbXNnaWQgInJlYWQgcmV2aXNpb24gYXJndW1lbnRzIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiDEkeG7jWMgdGhhbSBz4buRIOKAnHJldmlzaW9u4oCdIHThu6sgdGhp4bq/dCBi4buLIG5o4bqtcCBjaHXhuqluIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyOQogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICJnaeG7m2kgaOG6oW4gY8OhYyDEkeG7kWkgdMaw4bujbmcgdGjDoG5oIG5o4buvbmcgY8OhaSBtw6AgY2jDum5nIHbhuqtuIGNoxrBhIMSRxrDhu6NjIMSRw7NuZyBnw7NpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzMgogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICJiYW8gZ+G7k20gY8OhYyDEkeG7kWkgdMaw4bujbmcgY8OzIHRo4buDIMSR4buNYyDEkcaw4bujYyB04burIGLhuqV0IGvhu7MgdGhhbSBjaGnhur91IG7DoG8iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODM1CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIGJ5IHJlZmxvZyBlbnRyaWVzIgogbXNnc3RyICJiYW8gZ+G7k20gY8OhYyDEkeG7kWkgdMaw4bujbmcgxJHGsOG7o2MgdGhhbSBjaGnhur91IGLhu59pIGPDoWMgbeG7pWMgcmVmbG9nIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzOAogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCB0byBieSB0aGUgaW5kZXgiCiBtc2dzdHIgImJhbyBn4buTbSBjw6FjIMSR4buRaSB0xrDhu6NuZyDEkcaw4bujYyB0aGFtIGNoaeG6v3UgYuG7n2kgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQxCiBtc2dpZCAib3V0cHV0IHBhY2sgdG8gc3Rkb3V0IgogbXNnc3RyICJ4deG6pXQgZ8OzaSByYSDEkeG6p3UgcmEgdGnDqnUgY2h14bqpbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDMKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgImJhbyBn4buTbSBjw6FjIMSR4buRaSB0xrDhu6NuZyB0aGFtIGNoaeG6v3UgxJHhur9uIGPDoWMgxJHhu5FpIHTGsOG7o25nIMSRxrDhu6NjIMSRw7NuZyBnw7NpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NQogbXNnaWQgImtlZXAgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiZ2nhu68gbOG6oWkgY8OhYyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIHRo4buDIMSR4buNYyDEkcaw4bujYyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjUwIHBhcnNlLW9wdGlvbnMuaDoxNDIKLW1zZ2lkICJ0aW1lIgotbXNnc3RyICJ0aOG7nWktZ2lhbiIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NworbXNnaWQgInBhY2sgbG9vc2UgdW5yZWFjaGFibGUgb2JqZWN0cyIKK21zZ3N0ciAicGFjayBt4bqldCBjw6FjIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgdGjhu4MgxJHhu41jIMSRxrDhu6NjIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0OQogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICIiCiAieOG6oyBuw6luIChn4buhIGto4buPaSBnw7NpKSBjw6FjIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgdGjhu4MgxJHhu41jIMSRxrDhu6NjIG3hu5tpIGjGoW4gPHRo4budaS1naWFuPiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTIKIG1zZ2lkICJjcmVhdGUgdGhpbiBwYWNrcyIKIG1zZ3N0ciAidOG6oW8gZ8OzaSBuaOG6uSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTQKIG1zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKIG1zZ3N0ciAidOG6oW8gZ8OzaSDEkeG7gyBwaMO5IGjhu6NwIGNobyBs4bqleSB24buBIG7DtG5nIChzaGFsbG93KSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTYKIG1zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgogbXNnc3RyICJi4buPIHF1YSBjw6FjIGfDs2kgbcOgIG7DsyBjw7MgdOG6rXAgdGluIC5rZWVwIMSRaSBrw6htIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1OAogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgIm3hu6ljIG7DqW4gZ8OzaSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjYyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NjAKIG1zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKIG1zZ3N0ciAia2jDtG5nIOG6qW4gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGLhu59pIOKAnGdyYWZ0c+KAnSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjY0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NjIKIG1zZ2lkICJ1c2UgYSBiaXRtYXAgaW5kZXggaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIGNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgImTDuW5nIG3hu6VjIGzhu6VjIMOhbmggeOG6oSBu4bq/dSBjw7MgdGjhu4MgxJHGsOG7o2MgxJHhu4MgbsOibmcgY2FvIHThu5FjIMSR4buZIMSR4bq/bSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODY0CiBtc2dpZCAid3JpdGUgYSBiaXRtYXAgaW5kZXggdG9nZXRoZXIgd2l0aCB0aGUgcGFjayBpbmRleCIKIG1zZ3N0ciAiZ2hpIG3hu5l0IG3hu6VjIGzhu6VjIMOhbmggeOG6oSBjw7luZyB24bubaSBt4bulYyBs4bulYyBnw7NpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk5MwogbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgIsSQYW5nIMSR4bq/bSBjw6FjIMSR4buRaSB0xrDhu6NuZyIKIApAQCAtOTI1NSwxNSArMTAzOTMsMTEgQEAKIG1zZ2lkICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLWV4cGlyZSA8dGltZT5dIFstLV0gWzxoZWFkPi4uLl0iCiBtc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tZXhwaXJlIDx0aOG7nWktZ2lhbj5dIFstLV0gWzxoZWFkPuKApl0iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyNQotbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKLW1zZ3N0ciAia2jDtG5nIGfhu6EgYuG7jywgY2jhu4kgaGnhu4NuIHRo4buLIgotCi0jOiBidWlsdGluL3BydW5lLmM6MTA2IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjYKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDYgYnVpbHRpbi93b3JrdHJlZS5jOjEyOAogbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKIG1zZ3N0ciAiYsOhbyBjw6FvIGPDoWMgxJHhu5FpIHTGsOG7o25nIMSRw6MgcHJ1bmUiCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkgYnVpbHRpbi93b3JrdHJlZS5jOjEyOAorIzogYnVpbHRpbi9wcnVuZS5jOjEwOSBidWlsdGluL3dvcmt0cmVlLmM6MTMwCiBtc2dpZCAiZXhwaXJlIG9iamVjdHMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgImPDoWMgxJHhu5FpIHTGsOG7o25nIGjhur90IGjhuqFuIGPFqSBoxqFuIGtob+G6o25nIDx0aOG7nWkgZ2lhbj4iCiAKQEAgLTkyNzEsNTggKzEwNDA1LDQ1IEBACiBtc2dpZCAiY2Fubm90IHBydW5lIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG7iWEgYuG7m3QgdHJvbmcgbeG7mXQga2hvIMSR4buRaV90xrDhu6NuZ192xKlfxJHhuqFpIgogCi0jOiBidWlsdGluL3B1bGwuYzo3MgorIzogYnVpbHRpbi9wdWxsLmM6NTEgYnVpbHRpbi9wdWxsLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgorbXNnc3RyICJHacOhIHRy4buLIGtow7RuZyBo4bujcCBs4buHICVzOiAlcyIKKworIzogYnVpbHRpbi9wdWxsLmM6NzMKIG1zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1bGwgWzxjw6FjLXTDuXktY2jhu41uPl0gWzxraG8tY2jhu6lhPiBbPHJlZnNwZWM+4oCmXV0iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEyMAorIzogYnVpbHRpbi9wdWxsLmM6MTIxCiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIG1lcmdpbmciCiBtc2dzdHIgIkPDoWMgdMO5eSBjaOG7jW4gbGnDqm4gcXVhbiDEkeG6v24gaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEyMworIzogYnVpbHRpbi9wdWxsLmM6MTI0CiBtc2dpZCAiaW5jb3Jwb3JhdGUgY2hhbmdlcyBieSByZWJhc2luZyByYXRoZXIgdGhhbiBtZXJnaW5nIgogbXNnc3RyICJjw6FjIHRoYXkgxJHhu5VpIGjhu6NwIG5o4bqldCBi4bqxbmcgY+G6o2kgdOG7lSB0aGF5IHbDrCBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTQ3IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1CisjOiBidWlsdGluL3B1bGwuYzoxNDggYnVpbHRpbi9yZXZlcnQuYzoxMDEKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQiCiBtc2dzdHIgImNobyBwaMOpcCBjaHV54buDbi10aeG6v3AtbmhhbmgiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1MwotbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKLW1zZ3N0ciAidGjhuqltIHRyYSB4ZW0gbOG6p24gY2h1eeG7g24gZ2lhbyBjw7MgdMOqbiDEkcOzIGPDsyBjaOG7ryBrw70gR1BHIGjhu6NwIGzhu4cgaGF5IGtow7RuZyIKLQotIzogYnVpbHRpbi9wdWxsLmM6MTU2CisjOiBidWlsdGluL3B1bGwuYzoxNTcKIG1zZ2lkICJhdXRvbWF0aWNhbGx5IHN0YXNoL3N0YXNoIHBvcCBiZWZvcmUgYW5kIGFmdGVyIHJlYmFzZSIKIG1zZ3N0ciAidOG7sSDEkeG7mW5nIHN0YXNoL3N0YXNoIHBvcCB0xrDhu5tjIHbDoCBzYXUgdHUgYuG7lSAocmViYXNlKSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTcyCisjOiBidWlsdGluL3B1bGwuYzoxNzMKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gZmV0Y2hpbmciCiBtc2dzdHIgIkPDoWMgdMO5eSBjaOG7jW4gbGnDqm4gcXVhbiDEkeG6v24gbOG7h25oIGzhuqV5IHbhu4EiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5NAorIzogYnVpbHRpbi9wdWxsLmM6MTk1CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgcHVsbGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJz4buRIGzGsOG7o25nIG3DtC3EkXVuLWNvbiDEkcaw4bujYyDEkeG6qXkgbMOqbiDEkeG7k25nIHRo4budaSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MjgzCisjOiBidWlsdGluL3B1bGwuYzoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgcHVsbC5mZjogJXMiCiBtc2dzdHIgIkdpw6EgdHLhu4sga2jDtG5nIGjhu6NwIGzhu4cgY2hvIHB1bGwuZmY6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzozNzkKLW1zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCi1tc2dzdHIgIiIKLSJLaMO0bmcgdGjhu4MgcHVsbCB24bubaSBj4bqjaSB04buVOiBC4bqhbiBjw7MgY8OhYyB0aGF5IMSR4buVaSBjaMawYSDEkcaw4bujYyDEkcawYSBsw6puIGLhu4cgcGjDs25nLiIKLQotIzogYnVpbHRpbi9wdWxsLmM6Mzg1Ci1tc2dpZCAiQWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgotbXNnc3RyICIiCi0iVGjDqm0gdsOgbyDEkcOzLCBi4bqjbmcgbeG7pWMgbOG7pWMgY+G7p2EgYuG6oW4gY8OzIGNo4bupYSBjw6FjIHRoYXkgxJHhu5VpIGNoxrBhIMSRxrDhu6NjIGNodXnhu4NuIGdpYW8uIgotCi0jOiBidWlsdGluL3B1bGwuYzozODcKLW1zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIHB1bGwgduG7m2kgY+G6o2kgdOG7lTogQuG6oW4gY8OzIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgY2h1eeG7g24gZ2lhby4iCi0KLSM6IGJ1aWx0aW4vcHVsbC5jOjQ2MworIzogYnVpbHRpbi9wdWxsLmM6Mzk3CiBtc2dpZCAiIgogIlRoZXJlIGlzIG5vIGNhbmRpZGF0ZSBmb3IgcmViYXNpbmcgYWdhaW5zdCBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0ICIKICJmZXRjaGVkLiIKQEAgLTkzMzAsMTQgKzEwNDUxLDE0IEBACiAi4bueIMSRw6J5IGtow7RuZyBjw7Mg4bupbmcgY+G7rSBuw6BvIMSR4buDIGPhuqNpIHThu5UgbOG6oWkgdHJvbmcgc+G7kSBjw6FjIHRoYW0gY2hp4bq/dSBtw6AgYuG6oW4gduG7q2EgIgogImzhuqV5IHbhu4EuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NjUKKyM6IGJ1aWx0aW4vcHVsbC5jOjM5OQogbXNnaWQgIiIKICJUaGVyZSBhcmUgbm8gY2FuZGlkYXRlcyBmb3IgbWVyZ2luZyBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0IGZldGNoZWQuIgogbXNnc3RyICIiCiAi4bueIMSRw6J5IGtow7RuZyBjw7Mg4bupbmcgY+G7rSBuw6BvIMSR4buDIGjDsmEgdHLhu5luIHRyb25nIHPhu5EgY8OhYyB0aGFtIGNoaeG6v3UgbcOgIGLhuqFuIHbhu6thIGzhuqV5ICIKICJ24buBLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDY2CisjOiBidWlsdGluL3B1bGwuYzo0MDAKIG1zZ2lkICIiCiAiR2VuZXJhbGx5IHRoaXMgbWVhbnMgdGhhdCB5b3UgcHJvdmlkZWQgYSB3aWxkY2FyZCByZWZzcGVjIHdoaWNoIGhhZCBub1xuIgogIm1hdGNoZXMgb24gdGhlIHJlbW90ZSBlbmQuIgpAQCAtOTM0Niw3ICsxMDQ2Nyw3IEBACiAidOG7sVxuIgogIsSR4bqhaSBkaeG7h24gbcOgIG7DsyBs4bqhaSBraMO0bmcga2jhu5twIHRyw6puIMSRaeG7g20gY3Xhu5FpIG3DoXkgcGjhu6VjIHbhu6UuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NjkKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIHB1bGwgZnJvbSB0aGUgcmVtb3RlICclcycsIGJ1dCBkaWQgbm90IHNwZWNpZnlcbiIKQEAgLTkzNTgsNDMgKzEwNDc5LDQzIEBACiAidGhlbyBt4bq3YyDEkeG7i25oIGNobyBuaMOhbmggaGnhu4duIHThuqFpIGPhu6dhIGLhuqFuLCBi4bqhbiBwaOG6o2kgY2jhu4kgxJHhu4tuaFxuIgogIm3hu5l0IG5ow6FuaCB0csOqbiBkw7JuZyBs4buHbmguIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NzQgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MworIzogYnVpbHRpbi9wdWxsLmM6NDA4IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKIG1zZ2lkICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guIgogbXNnc3RyICJIaeG7h24gdOG6oWkgYuG6oW4gY2jhurNuZyDhu58gbmjDoW5oIG7DoG8gY+G6oy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ3NiBidWlsdGluL3B1bGwuYzo0OTEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQorIzogYnVpbHRpbi9wdWxsLmM6NDEwIGJ1aWx0aW4vcHVsbC5jOjQyNSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIHJlYmFzZSBhZ2FpbnN0LiIKIG1zZ3N0ciAiVnVpIGzDsm5nIGNo4buJIMSR4buLbmggbmjDoW5oIG7DoG8gYuG6oW4gbXXhu5FuIGPhuqNpIHThu5UgbOG6oWkuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NzggYnVpbHRpbi9wdWxsLmM6NDkzIGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMiBidWlsdGluL3B1bGwuYzo0MjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byBtZXJnZSB3aXRoLiIKIG1zZ3N0ciAiVnVpIGzDsm5nIGNo4buJIMSR4buLbmggbmjDoW5oIG7DoG8gYuG6oW4gbXXhu5FuIGjDsmEgdHLhu5luIHbDoG8uIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NzkgYnVpbHRpbi9wdWxsLmM6NDk0CisjOiBidWlsdGluL3B1bGwuYzo0MTMgYnVpbHRpbi9wdWxsLmM6NDI4CiBtc2dpZCAiU2VlIGdpdC1wdWxsKDEpIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiWGVtIGdpdC1wdWxsKDEpIMSR4buDIGJp4bq/dCB0aMOqbSBjaGkgdGnhur90LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDgxIGJ1aWx0aW4vcHVsbC5jOjQ4NyBidWlsdGluL3B1bGwuYzo0OTYKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNSBidWlsdGluL3B1bGwuYzo0MjEgYnVpbHRpbi9wdWxsLmM6NDMwCiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CiBtc2dpZCAiPHJlbW90ZT4iCiBtc2dzdHIgIjxtw6F5IGNo4bunPiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDgxIGJ1aWx0aW4vcHVsbC5jOjQ5NiBidWlsdGluL3B1bGwuYzo1MDEKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNSBidWlsdGluL3B1bGwuYzo0MzAgYnVpbHRpbi9wdWxsLmM6NDM1IGdpdC1yZWJhc2Uuc2g6NDUxCiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIjxuaMOhbmg+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0ODkgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDIzIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKIG1zZ2lkICJUaGVyZSBpcyBubyB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi4bueIMSRw6J5IGtow7RuZyBjw7MgdGjDtG5nIHRpbiB0aGVvIGTDtWkgY2hvIG5ow6FuaCBoaeG7h24gaMOgbmguIgogCi0jOiBidWlsdGluL3B1bGwuYzo0OTggZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQorIzogYnVpbHRpbi9wdWxsLmM6NDMyIGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKIG1zZ2lkICIiCiAiSWYgeW91IHdpc2ggdG8gc2V0IHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGJyYW5jaCB5b3UgY2FuIGRvIHNvIHdpdGg6IgogbXNnc3RyICIiCiAiTuG6v3UgYuG6oW4gbXXhu5FuIHRoZW8gZMO1aSB0aMO0bmcgdGluIGNobyBuaMOhbmggbsOgeSBi4bqhbiBjw7MgdGjhu4MgdGjhu7FjIGhp4buHbiBi4bqxbmcgbOG7h25oOiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NTAzCisjOiBidWlsdGluL3B1bGwuYzo0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgY29uZmlndXJhdGlvbiBzcGVjaWZpZXMgdG8gbWVyZ2Ugd2l0aCB0aGUgcmVmICclcydcbiIKQEAgLTk0MDMsMTcgKzEwNTI0LDI5IEBACiAiQ8OhYyDEkeG6t2MgdOG6oyBj4bqldSBow6xuaCBj4bunYSBi4bqhbiDEkeG7gyBow7JhIHRy4buZbiB24bubaSB0aGFtIGNoaeG6v3Ug4oCcJXPigJ1cbiIKICJ04burIG3DoXkgZOG7i2NoIHbhu6UsIG5oxrBuZyBraMO0bmcgY8OzIG5ow6FuaCBuw6BvIG5oxrAgdGjhur8gxJHGsOG7o2MgbOG6pXkgduG7gS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg2NAorIzogYnVpbHRpbi9wdWxsLmM6NzU0Cittc2dpZCAiaWdub3JpbmcgLS12ZXJpZnktc2lnbmF0dXJlcyBmb3IgcmViYXNlIgorbXNnc3RyICJi4buPIHF1YSAtLXZlcmlmeS1zaWduYXR1cmVzIGtoaSByZWJhc2UiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjgwMQogbXNnaWQgIi0tW25vLV1hdXRvc3Rhc2ggb3B0aW9uIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXJlYmFzZS4iCiBtc2dzdHIgInTDuXkgY2jhu41uIC0tW25vLV1hdXRvc3Rhc2ggY2jhu4kgaOG7o3AgbOG7hyBraGkgZMO5bmcgduG7m2kgLS1yZWJhc2UuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NzIKKyM6IGJ1aWx0aW4vcHVsbC5jOjgwOQogbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCiBtc2dzdHIgIiIKICLEkGFuZyBj4bqtcCBuaOG6rXQgbeG7mXQgbmjDoW5oIGNoxrBhIMSRxrDhu6NjIHNpbmggcmEgduG7m2kgY8OhYyB0aGF5IMSR4buVaSDEkcaw4bujYyB0aMOqbSB2w6BvICIKICJi4bqjbmcgbeG7pWMgbOG7pWMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MDAKKyM6IGJ1aWx0aW4vcHVsbC5jOjgxMgorbXNnaWQgInB1bGwgd2l0aCByZWJhc2UiCittc2dzdHIgInB1bGwgduG7m2kgcmViYXNlIgorCisjOiBidWlsdGluL3B1bGwuYzo4MTMKK21zZ2lkICJwbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgorbXNnc3RyICJ4aW4gaMOjeSBjaHV54buDbiBnaWFvIGhv4bq3YyB04bqhbSBj4bqldCAoc3Rhc2gpIGNow7puZy4iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZmV0Y2ggdXBkYXRlZCB0aGUgY3VycmVudCBicmFuY2ggaGVhZC5cbiIKQEAgLTk0MjQsNyArMTA1NTcsNyBAQAogIsSRYW5nIGNodXnhu4NuLXRp4bq/cC1uaGFuaCBjw6J5IGzDoG0gdmnhu4djIGPhu6dhIGLhuqFuIHThu6tcbiIKICJs4bqnbiBjaHV54buDbiBnaWFvdCAlcy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwNQorIzogYnVpbHRpbi9wdWxsLmM6ODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgZmFzdC1mb3J3YXJkIHlvdXIgd29ya2luZyB0cmVlLlxuIgpAQCAtOTQ0MiwxMSArMTA1NzUsMTEgQEAKICIkIGdpdCByZXNldCAtLWhhcmRcbiIKICLEkeG7gyBraMO0aSBwaOG7pWMgbOG6oWkuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MjAKKyM6IGJ1aWx0aW4vcHVsbC5jOjg1OAogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgaMOyYSB0cuG7mW4gbmhp4buBdSBuaMOhbmggdsOgbyB0cm9uZyBt4buZdCBoZWFkIHRy4buRbmcgcuG7l25nLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTI0CisjOiBidWlsdGluL3B1bGwuYzo4NjIKIG1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiBs4buHbmggcmViYXNlIChj4bqjaSB04buVKSB0csOqbiBuaGnhu4F1IG5ow6FuaC4iCiAKQEAgLTk2MTcsMTIgKzEwNzUwLDEyIEBACiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6qXkgdOG7m2kgbeG7mXQgc+G7kSB0aGFtIGNoaeG6v3UgxJHhur9uIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3B1c2guYzozNjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICJyZXBvc2l0b3J5IChraG8pIHNhaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzY2CisjOiBidWlsdGluL3B1c2guYzozNjcKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC05NjQzLDEwMyArMTA3NzYsMTE1IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDx0w6puPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozODEKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4NQogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwgdsOgIC0tdGFncyB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBidWlsdGluL3B1c2guYzozODIKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4NgogbXNnaWQgIi0tYWxsIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tYWxsIGtow7RuZyB0aOG7gyDEkcaw4bujYyB04buVIGjhu6NwIGPDuW5nIHbhu5tpIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg3CisjOiBidWlsdGluL3B1c2guYzozOTEKIG1zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbWlycm9yIHbDoCAtLXRhZ3MgeHVuZyBraOG6r2MgbmhhdSIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzg4CisjOiBidWlsdGluL3B1c2guYzozOTIKIG1zZ2lkICItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICItLW1pcnJvciBraMO0bmcgdGjhu4MgxJHGsOG7o2MgdOG7lSBo4bujcCBjw7luZyB24bubaSDEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5MworIzogYnVpbHRpbi9wdXNoLmM6Mzk3CiBtc2dpZCAiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tYWxsIHbDoCAtLW1pcnJvciB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBidWlsdGluL3B1c2guYzo1MDUKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNQogbXNnaWQgInJlcG9zaXRvcnkiCiBtc2dzdHIgImtobyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCisjOiBidWlsdGluL3B1c2guYzo1MTYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKIG1zZ2lkICJwdXNoIGFsbCByZWZzIgogbXNnc3RyICLEkeG6qXkgdOG6pXQgY+G6oyBjw6FjIHRoYW0gY2hp4bq/dSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA3IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCisjOiBidWlsdGluL3B1c2guYzo1MTcgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjMKIG1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCiBtc2dzdHIgIm1pcnJvciB04bqldCBj4bqjIGPDoWMgdGhhbSBjaGnhur91IgogCi0jOiBidWlsdGluL3B1c2guYzo1MDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxOQogbXNnaWQgImRlbGV0ZSByZWZzIgogbXNnc3RyICJ4w7NhIGPDoWMgdGhhbSBjaGnhur91IgogCi0jOiBidWlsdGluL3B1c2guYzo1MTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyMAogbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKIG1zZ3N0ciAixJHhuql5IGPDoWMgdGjhursgKGtow7RuZyBkw7luZyBjw7luZyB24bubaSAtLWFsbCBoYXkgLS1taXJyb3IpIgogCi0jOiBidWlsdGluL3B1c2guYzo1MTMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyMyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAogbXNnaWQgImZvcmNlIHVwZGF0ZXMiCiBtc2dzdHIgIsOpcCBideG7mWMgY+G6rXAgbmjhuq10IgogCi0jOiBidWlsdGluL3B1c2guYzo1MTUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNSBidWlsdGluL3NlbmQtcGFjay5jOjE3NQogbXNnaWQgInJlZm5hbWU+OjxleHBlY3QiCiBtc2dzdHIgInTDqm4tdGhhbS1jaGnhur91Pjo8Y+G6p24iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxNiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgorIzogYnVpbHRpbi9wdXNoLmM6NTI2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CiBtc2dpZCAicmVxdWlyZSBvbGQgdmFsdWUgb2YgcmVmIHRvIGJlIGF0IHRoaXMgdmFsdWUiCiBtc2dzdHIgInnDqnUgY+G6p3UgZ2nDoS10cuG7iyBjxakgY+G7p2EgdGhhbSBjaGnhur91IHRow6wgbMOgIGdpw6EtdHLhu4sgbsOgeSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTE5CisjOiBidWlsdGluL3B1c2guYzo1MjkKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIsSRaeG7gXUga2hp4buDbiB2aeG7h2MgxJHhuql5IGzDqm4gKHB1c2gpIMSR4buHIHF1aSBj4bunYSBtw7QtxJF1bi1jb24iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyMSBidWlsdGluL3NlbmQtcGFjay5jOjE2OQorIzogYnVpbHRpbi9wdXNoLmM6NTMxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5CiBtc2dpZCAidXNlIHRoaW4gcGFjayIKIG1zZ3N0ciAidOG6oW8gZ8OzaSBuaOG6uSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTIyIGJ1aWx0aW4vcHVzaC5jOjUyMyBidWlsdGluL3NlbmQtcGFjay5jOjE1OAorIzogYnVpbHRpbi9wdXNoLmM6NTMyIGJ1aWx0aW4vcHVzaC5jOjUzMyBidWlsdGluL3NlbmQtcGFjay5jOjE1OAogIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNTkKIG1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKIG1zZ3N0ciAiY2jGsMahbmcgdHLDrG5oIG5o4bqtbiBnw7NpIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNAogbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgogbXNnc3RyICLEkeG6t3QgdGjGsOG7o25nIG5ndeG7k24gY2hvIGdpdCBwdWxsL3N0YXR1cyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI3CisjOiBidWlsdGluL3B1c2guYzo1MzcKIG1zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKIG1zZ3N0ciAieMOpbiB04buJYSBuaOG7r25nIHRoYW0gY2hp4bq/dSBi4buLIGfhu6EgYuG7jyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTI5CisjOiBidWlsdGluL3B1c2guYzo1MzkKIG1zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKIG1zZ3N0ciAidsOybmcgcXVhIG3Ds2MgdGnhu4FuLcSR4bqpeSAocHJlLXB1c2gpIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MAogbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKIG1zZ3N0ciAicHVzaCBwaOG6p24gYuG7iyB0aGnhur91IG5oxrBuZyBjw6FjIHRo4bq7IGzhuqFpIHRow61jaCBo4bujcCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTMzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CisjOiBidWlsdGluL3B1c2guYzo1NDMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKIG1zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKIG1zZ3N0ciAia8O9IGzhuqduIMSR4bqpeSBkw7luZyBHUEciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzNSBidWlsdGluL3NlbmQtcGFjay5jOjE3MAorIzogYnVpbHRpbi9wdXNoLmM6NTQ1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcwCiBtc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCiBtc2dzdHIgInnDqnUgY+G6p3UgZ2lhbyBk4buLY2ggaOG6oXQgbmjDom4gYsOqbiBwaMOtYSBtw6F5IGNo4bunIgogCi0jOiBidWlsdGluL3B1c2guYzo1NDkKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NgorbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKK21zZ3N0ciAixJHhurdjLXThuqMtbcOheS1waOG7pWMtduG7pSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAib3B0aW9uIHRvIHRyYW5zbWl0IgorbXNnc3RyICJ0w7l5IGNo4buNbiDEkeG7gyBjaHV54buDbiBnaWFvIgorCisjOiBidWlsdGluL3B1c2guYzo1NjAKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKIG1zZ3N0ciAiLS1kZWxldGUgbMOgIHh1bmcga2jhuq9jIHbhu5tpIGPDoWMgdMO5eSBjaOG7jW4gLS1hbGwsIC0tbWlycm9yIHbDoCAtLXRhZ3MiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MQorIzogYnVpbHRpbi9wdXNoLmM6NTYyCiBtc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCiBtc2dzdHIgIi0tZGVsZXRlIGtow7RuZyBo4bujcCBsw70gbuG6v3Uga2jDtG5nIGPDsyBi4bqldCBr4buzIHRoYW0gY2hp4bq/dSBuw6BvIgogCisjOiBidWlsdGluL3B1c2guYzo1NzkKK21zZ2lkICJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIgorbXNnc3RyICJjw6FjIHTDuXkgY2jhu41uIHB1c2ggcGjhuqNpIGtow7RuZyBjw7Mga8O9IHThu7EgZMOybmcgbeG7m2kiCisKICM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MzcKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCkBAIC05ODE2LDE1ICsxMDk2MSw2NiBAQAogbXNnaWQgImRlYnVnIHVucGFjay10cmVlcyIKIG1zZ3N0ciAiZ+G7oSBs4buXaSDigJx1bnBhY2stdHJlZXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjUKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjYKIG1zZ2lkICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIG1zZ3N0ciAiZ2l0IHJlY2VpdmUtcGFjayA8dGjGsC1t4bulYy1naXQ+IgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE3MTkKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6NzkzCittc2dpZCAiIgorIkJ5IGRlZmF1bHQsIHVwZGF0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpbiBhIG5vbi1iYXJlIHJlcG9zaXRvcnlcbiIKKyJpcyBkZW5pZWQsIGJlY2F1c2UgaXQgd2lsbCBtYWtlIHRoZSBpbmRleCBhbmQgd29yayB0cmVlIGluY29uc2lzdGVudFxuIgorIndpdGggd2hhdCB5b3UgcHVzaGVkLCBhbmQgd2lsbCByZXF1aXJlICdnaXQgcmVzZXQgLS1oYXJkJyB0byBtYXRjaFxuIgorInRoZSB3b3JrIHRyZWUgdG8gSEVBRC5cbiIKKyJcbiIKKyJZb3UgY2FuIHNldCAncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0b1xuIgorIidpZ25vcmUnIG9yICd3YXJuJyBpbiB0aGUgcmVtb3RlIHJlcG9zaXRvcnkgdG8gYWxsb3cgcHVzaGluZyBpbnRvXG4iCisiaXRzIGN1cnJlbnQgYnJhbmNoOyBob3dldmVyLCB0aGlzIGlzIG5vdCByZWNvbW1lbmRlZCB1bmxlc3MgeW91XG4iCisiYXJyYW5nZWQgdG8gdXBkYXRlIGl0cyB3b3JrIHRyZWUgdG8gbWF0Y2ggd2hhdCB5b3UgcHVzaGVkIGluIHNvbWVcbiIKKyJvdGhlciB3YXkuXG4iCisiXG4iCisiVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UgYW5kIHN0aWxsIGtlZXAgdGhlIGRlZmF1bHQgYmVoYXZpb3VyLCBzZXRcbiIKKyIncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0byAncmVmdXNlJy4iCittc2dzdHIgIiIKKyJUaGVvIG3hurdjIMSR4buLbmgsIHZp4buHYyBj4bqtcCBuaOG6rXQgbmjDoW5oIGhp4buHbiB04bqhaSBraMO0bmcgbeG7mXQga2hvIGtow7RuZy10aHXhuqduXG4iCisiYuG7iyB04burIGNo4buRaSwgYuG7n2kgdsOsIG7DsyBz4bq9IGzDoG0gY2hvIGNo4buJIG3hu6VjIHbDoCBjw6J5IGzDoG0gdmnhu4djIG3DonUgdGh14bqrbiB24bubaVxuIgorImPDoWkgbcOgIGLhuqFuIMSR4bqpeSBsw6puLCB2w6Agc+G6vSB5w6p1IGPhuqd1IGzhu4duaCDigJxnaXQgcmVzZXQgLS1oYXJk4oCdIMSR4buDIG3DoCBsw6BtXG4iCisiY2hvIGPDonkgbMOgbSB2aeG7h2Mga2jhu5twIHbhu5tpIEhFQUQuXG4iCisiXG4iCisiQuG6oW4gY8OzIHRo4buDIMSR4bq3dCBiaeG6v24gY+G6pXUgaMOsbmgg4oCccmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaOKAnSB0aMOgbmhcbiIKKyLigJxpZ25vcmXigJ0gaGF5IOKAnHdhcm7igJ0gdHJvbmcga2hvIG3DoXkgY2jhu6cgxJHhu4MgY2hvIHBow6lwIMSR4bqpeSBsw6puIG5ow6FuaFxuIgorImhp4buHbiB04bqhaSBj4bunYSBuw7M7IHR1eSBuaGnDqm4sIGtow7RuZyBuw6puIGzDoG0gbmjGsCB0aOG6vyB0cuG7qyBwaGkgYuG6oW5cbiIKKyJz4bqvcCDEkeG6t3QgxJHhu4MgY+G6rXAgbmjhuq10IGPDonkgbMOgbSB2aeG7h2MgY+G7p2EgbsOzIHTGsMahbmcg4bupbmcgduG7m2kgY8OhaSBtw6AgYuG6oW4gxJHhuql5XG4iCisibMOqbiB0aGVvIGPDoWNoIG7DoG8gxJHDsy5cbiIKKyJcbiIKKyLEkOG7gyBjaOG6pW0gZOG7qXQgbOG7nWkgbmjhuq9uIG7DoHkgdsOgIHbhuqtuIGdp4buvIGPDoWNoIOG7qW5nIHjhu60gbeG6t2MgxJHhu4tuaCwgaMOjeSDEkeG6t3RcbiIKKyJiaeG6v24gY+G6pXUgaMOsbmgg4oCccmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaOKAnSB0aMOgbmgg4oCccmVmdXNl4oCdLiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4MTMKK21zZ2lkICIiCisiQnkgZGVmYXVsdCwgZGVsZXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGlzIGRlbmllZCwgYmVjYXVzZSB0aGUgbmV4dFxuIgorIidnaXQgY2xvbmUnIHdvbid0IHJlc3VsdCBpbiBhbnkgZmlsZSBjaGVja2VkIG91dCwgY2F1c2luZyBjb25mdXNpb24uXG4iCisiXG4iCisiWW91IGNhbiBzZXQgJ3JlY2VpdmUuZGVueURlbGV0ZUN1cnJlbnQnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG9cbiIKKyInd2Fybicgb3IgJ2lnbm9yZScgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IGRlbGV0aW5nIHRoZVxuIgorImN1cnJlbnQgYnJhbmNoLCB3aXRoIG9yIHdpdGhvdXQgYSB3YXJuaW5nIG1lc3NhZ2UuXG4iCisiXG4iCisiVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UsIHlvdSBjYW4gc2V0IGl0IHRvICdyZWZ1c2UnLiIKK21zZ3N0ciAiIgorIlRoZW8gbeG6t2MgxJHhu4tuaCwgdmnhu4djIGPhuq1wIHjDs2EgbmjDoW5oIGhp4buHbiB04bqhaSBi4buLIHThu6sgY2jhu5FpLCBi4bufaSB2w6xcbiIKKyJs4buHbmgg4oCcZ2l0IGNsb25l4oCdIHRp4bq/cCB0aGVvIHPhur0ga2jDtG5nIGPDsyB0w6FjIGThu6VuZyB0cm9uZyB2aeG7h2MgbOG6pXlcbiIKKyJyYSBi4bqldCBr4buzIHThuq1wIHRpbiBuw6BvLCBk4bqrbiDEkeG6v24gaOG7l24gbG/huqFuXG4iCisiXG4iCisiQuG6oW4gY8OzIHRo4buDIMSR4bq3dCBiaeG6v24gY+G6pXUgaMOsbmgg4oCccmVjZWl2ZS5kZW55RGVsZXRlQ3VycmVudOKAnSB0aMOgbmhcbiIKKyLigJx3YXJu4oCdIGhheSDigJxpZ25vcmXigJ0gdHJvbmcga2hvIG3DoXkgY2jhu6cgxJHhu4MgY2hvIHBow6lwIMSR4bqpeSB4w7NhIG5ow6FuaFxuIgorImhp4buHbiB04bqhaSBj4bunYSBuw7MgY8OzIGhv4bq3YyBraMO0bmcgY+G6o25oIGLDoW8uXG4iCisiXG4iCisixJDhu4MgY2jhuqVtIGThu6l0IGzhu51pIG5o4bqvbiBuw6B5LCBi4bqhbiBow6N5IMSR4bq3dCBuw7MgdGjDoG5oIOKAnHJlZnVzZeKAnS4iCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg4MwogbXNnaWQgInF1aWV0IgogbXNnc3RyICJpbSBs4bq3bmciCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTczMworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODk3CiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIGRpcmVjdG9yeS4iCiBtc2dzdHIgIkLhuqFuIHBo4bqjaSBjaOG7iSDEkeG7i25oIHRoxrAgbeG7pWMuIgogCkBAIC05OTc0LDEyICsxMTE3MCwxMiBAQAogbXNnaWQgInNwZWNpZnlpbmcgYnJhbmNoZXMgdG8gdHJhY2sgbWFrZXMgc2Vuc2Ugb25seSB3aXRoIGZldGNoIG1pcnJvcnMiCiBtc2dzdHIgImNo4buJIMSR4buLbmggbmjhu69uZyBuaMOhbmggxJHhu4MgdGhlbyBkw7VpIGNo4buJIGjhu6NwIGzDvSB24bubaSBjw6FjIOKAnGZldGNoIG1pcnJvcuKAnSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzo2MzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkwIGJ1aWx0aW4vcmVtb3RlLmM6NjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZSAlcyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIm3DoXkgY2jhu6cgJXMgxJHDoyB04buTbiB04bqhaSBy4buTaS4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk0IGJ1aWx0aW4vcmVtb3RlLmM6NjM3CisjOiBidWlsdGluL3JlbW90ZS5jOjE5NCBidWlsdGluL3JlbW90ZS5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlbW90ZSBuYW1lIgogbXNnc3RyICLigJwlc+KAnSBraMO0bmcgcGjhuqNpIHTDqm4gbcOheSBjaOG7pyBo4bujcCBs4buHIgpAQCAtMTAwMDIsMTcgKzExMTk4LDE3IEBACiBtc2dpZCAiKGRlbGV0ZSkiCiBtc2dzdHIgIih4w7NhKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MjYgYnVpbHRpbi9yZW1vdGUuYzo3NjEgYnVpbHRpbi9yZW1vdGUuYzo4NTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjIyIGJ1aWx0aW4vcmVtb3RlLmM6NzU3IGJ1aWx0aW4vcmVtb3RlLmM6ODU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAlcyIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBtw6F5IGNo4bunIG7DoG8gbmjGsCB0aOG6vzogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjQzCisjOiBidWlsdGluL3JlbW90ZS5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVuYW1lIGNvbmZpZyBzZWN0aW9uICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buVaSB0w6puIHBo4bqnbiBj4bunYSBj4bqldSBow6xuaCB04burIOKAnCVz4oCdIHRow6BuaCDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgpAQCAtMTAwMjMsMTcgKzExMjE5LDE3IEBACiAiXHQlc1xuIgogIlx0WGluIGjDo3kgY+G6rXAgbmjhuq10IHBo4bqnbiBj4bqldSBow6xuaCBt4buZdCBjw6FjaCB0aOG7pyBjw7RuZyBu4bq/dSB0aOG6pXkgY+G6p24gdGhp4bq/dC4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk5CisjOiBidWlsdGluL3JlbW90ZS5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHjDs2Eg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzMzCisjOiBidWlsdGluL3JlbW90ZS5jOjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjcmVhdGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThuqFvIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjc5NgorIzogYnVpbHRpbi9yZW1vdGUuYzo3OTIKIG1zZ2lkICIiCiAiTm90ZTogQSBicmFuY2ggb3V0c2lkZSB0aGUgcmVmcy9yZW1vdGVzLyBoaWVyYXJjaHkgd2FzIG5vdCByZW1vdmVkO1xuIgogInRvIGRlbGV0ZSBpdCwgdXNlOiIKQEAgLTEwMDQ1LDM1OCArMTEyNDEsMzgxIEBACiAixJFpO1xuIgogIsSR4buDIHjDs2EgxJFpLCBz4butIGThu6VuZzoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODEwCisjOiBidWlsdGluL3JlbW90ZS5jOjgwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBn4buhIGLhu48gcGjhuqduIGPhuqV1IGjDrG5oIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxMQorIzogYnVpbHRpbi9yZW1vdGUuYzo5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG5ldyAobmV4dCBmZXRjaCB3aWxsIHN0b3JlIGluIHJlbW90ZXMvJXMpIgogbXNnc3RyICIgbeG7m2kgKGzhuqduIGzhuqV5IHbhu4EgdGnhur9wIHRoZW8gc+G6vSBsxrB1IHRyb25nIHJlbW90ZXMvJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxNAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTAKIG1zZ2lkICIgdHJhY2tlZCIKIG1zZ3N0ciAiIMSRxrDhu6NjIHRoZW8gZMO1aSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEyCiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiBjxakgcsOtY2ggKGTDuW5nIOKAnGdpdCByZW1vdGUgcHJ1bmXigJ0gxJHhu4MgZ+G7oSBi4buPKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE0CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAiYnJhbmNoLiVzLm1lcmdlIGtow7RuZyBo4bujcCBs4buHOyBraMO0bmcgdGjhu4MgY+G6o2kgdOG7lSB24buBIHBow61hID4gMSBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjk2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgb250byByZW1vdGUgJXMiCiBtc2dzdHIgInRo4buxYyBoaeG7h24gcmViYXNlIG3hu5l0IGPDoWNoIHTGsMahbmcgdMOhYyB0csOqbiBtw6F5IGNo4bunICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3MQorIzogYnVpbHRpbi9yZW1vdGUuYzo5NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmViYXNlcyBvbnRvIHJlbW90ZSAlcyIKK21zZ3N0ciAidGjhu7FjIGhp4buHbiByZWJhc2UgdHLDqm4gbcOheSBjaOG7pyAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIGjDsmEgdHLhu5luIHbhu5tpIG3DoXkgY2jhu6cgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTcyCi1tc2dpZCAiICAgIGFuZCB3aXRoIHJlbW90ZSIKLW1zZ3N0ciAiICAgIHbDoCB24bubaSBtw6F5IGNo4bunIgotCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICJow7JhIHRy4buZbiB24bubaSBtw6F5IGNo4bunICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NQotbXNnaWQgIiAgIGFuZCB3aXRoIHJlbW90ZSIKLW1zZ3N0ciAiICAgdsOgIHbhu5tpIG3DoXkgY2jhu6ciCisjOiBidWlsdGluL3JlbW90ZS5jOjk3MworIywgYy1mb3JtYXQKK21zZ2lkICIlLSpzICAgIGFuZCB3aXRoIHJlbW90ZSAlc1xuIgorbXNnc3RyICIlLSpzICAgIHbDoCB24bubaSBtw6F5IGNo4bunICVzXG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDE2CiBtc2dpZCAiY3JlYXRlIgogbXNnc3RyICJ04bqhbyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMTkKIG1zZ2lkICJkZWxldGUiCiBtc2dzdHIgInjDs2EiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIzCiBtc2dpZCAidXAgdG8gZGF0ZSIKIG1zZ3N0ciAixJHDoyBj4bqtcCBuaOG6rXQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAiY8OzLXRo4buDLWNodXnhu4NuLXRp4bq/cC1uaGFuaCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjkKIG1zZ2lkICJsb2NhbCBvdXQgb2YgZGF0ZSIKIG1zZ3N0ciAiZOG7ryBsaeG7h3UgbuG7mWkgYuG7mSDEkcOjIGPFqSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgw6lwIGJ14buZYyB0aMOgbmggJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyDEkeG6qXkgbMOqbiB0aMOgbmggJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIMOpcCBideG7mWMgdGjDoG5oICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIMSR4bqpeSBsw6puIHRow6BuaCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE5CisjOiBidWlsdGluL3JlbW90ZS5jOjExMTQKIG1zZ2lkICJkbyBub3QgcXVlcnkgcmVtb3RlcyIKIG1zZ3N0ciAia2jDtG5nIHRydXkgduG6pW4gY8OhYyBtw6F5IGNo4bunIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIqIHJlbW90ZSAlcyIKIG1zZ3N0ciAiKiBtw6F5IGNo4bunICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZldGNoIFVSTDogJXMiCiBtc2dzdHIgIiAgVVJMIMSR4buDIGzhuqV5IHbhu4E6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDggYnVpbHRpbi9yZW1vdGUuYzoxMzAxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNDMgYnVpbHRpbi9yZW1vdGUuYzoxMTU2IGJ1aWx0aW4vcmVtb3RlLmM6MTI5NQogbXNnaWQgIihubyBVUkwpIgogbXNnc3RyICIoa2jDtG5nIGPDsyBVUkwpIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24gd2l0aAogIy4gdGhlIG9uZSBpbiAiICBGZXRjaCBVUkw6ICVzIiB0cmFuc2xhdGlvbgotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU0IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFB1c2ggIFVSTDogJXMiCiBtc2dzdHIgIiAgVVJMIMSR4buDIMSR4bqpeSBsw6puOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYzIGJ1aWx0aW4vcmVtb3RlLmM6MTE2NSBidWlsdGluL3JlbW90ZS5jOjExNjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OCBidWlsdGluL3JlbW90ZS5jOjExNjAgYnVpbHRpbi9yZW1vdGUuYzoxMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgSEVBRCBicmFuY2g6ICVzIgogbXNnc3RyICIgIE5ow6FuaCBIRUFEOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY5CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTgKK21zZ2lkICIobm90IHF1ZXJpZWQpIgorbXNnc3RyICIoa2jDtG5nIHnDqnUgY+G6p3UpIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjAKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIihraMO0bmcgaGnhu4N1KSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCiBtc2dzdHIgIiAgbmjDoW5oIEhFQUQgKEhFQUQgbcOheSBjaOG7pyBjaMawYSByw7UgcsOgbmcsIGPDsyBs4bq9IGzDoCBt4buZdCB0cm9uZyBz4buRIHNhdSk6XG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUmVtb3RlIGJyYW5jaDolcyIKIG1zZ2lkX3BsdXJhbCAiICBSZW1vdGUgYnJhbmNoZXM6JXMiCiBtc2dzdHJbMF0gIiAgTmjhu69uZyBuaMOhbmggdHLDqm4gbcOheSBjaOG7pzolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg0IGJ1aWx0aW4vcmVtb3RlLmM6MTIxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNQogbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiICh0cuG6oW5nIHRow6FpIGtow7RuZyDEkcaw4bujYyB5w6p1IGPhuqd1KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTkzCisjOiBidWlsdGluL3JlbW90ZS5jOjExODgKIG1zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clswXSAiICBOaOG7r25nIG5ow6FuaCBu4buZaSBi4buZIMSRw6MgxJHGsOG7o2MgY+G6pXUgaMOsbmggY2hvIGzhu4duaCDigJxnaXQgcHVsbOKAnToiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk2CiBtc2dpZCAiICBMb2NhbCByZWZzIHdpbGwgYmUgbWlycm9yZWQgYnkgJ2dpdCBwdXNoJyIKIG1zZ3N0ciAiICByZWZzIG7hu5lpIGLhu5kgc+G6vSDEkcaw4bujYyBwaOG6o24gY2hp4bq/dSBi4bufaSBs4buHbmgg4oCcZ2l0IHB1c2jigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzBdICIgIE5o4buvbmcgdGhhbSBjaGnhur91IG7hu5lpIGLhu5kgxJHGsOG7o2MgY+G6pXUgaMOsbmggY2hvIGzhu4duaCDigJxnaXQgcHVzaOKAnSVzOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjI5CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjMKIG1zZ2lkICJzZXQgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIGFjY29yZGluZyB0byByZW1vdGUiCiBtc2dzdHIgIsSR4bq3dCByZWZzL3JlbW90ZXMvPHTDqm4+L0hFQUQgY2hvIHBow7kgaOG7o3AgduG7m2kgbcOheSBjaOG7pyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjMxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjUKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICJ4w7NhIHJlZnMvcmVtb3Rlcy88dMOqbj4vSEVBRCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDAKIG1zZ2lkICJDYW5ub3QgZGV0ZXJtaW5lIHJlbW90ZSBIRUFEIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgeMOhYyDEkeG7i25oIMSRxrDhu6NjIEhFQUQgbcOheSBjaOG7pyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDIKIG1zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKIG1zZ3N0ciAiTmhp4buBdSBuaMOhbmggSEVBRCBtw6F5IGNo4bunLiBIw6N5IGNo4buNbiByw7UgcsOgbmcgbeG7mXQ6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgeMOzYSBi4buPICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICJLaMO0bmcgcGjhuqNpIGzDoCB0aGFtIGNoaeG6v3UgaOG7o3AgbOG7hzogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCAlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGPDoGkgxJHhurd0ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMgc+G6vSB0cuG7nyB0aMOgbmgga2jDtG5nIMSR4bqndSAoa2jDtG5nIMSRxrDhu6NjIHF14bqjbiBsw70pISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjg3CisjOiBidWlsdGluL3JlbW90ZS5jOjEyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIGhhcyBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMgxJHDoyB0cuG7nyB0aMOgbmgga2jDtG5nIMSR4bqndSAoa2jDtG5nIMSRxrDhu6NjIHF14bqjbiBsw70pISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk3CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAixJBhbmcgeMOpbiBi4bubdCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVVJMOiAlcyIKIG1zZ3N0ciAiVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE0CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiICogW27Dqm4geMOpbiBi4bubdF0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFtwcnVuZWRdICVzIgogbXNnc3RyICIgKiBbxJHDoyBi4buLIHjDqW5dICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzNjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM1NgogbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCiBtc2dzdHIgImPhuq90IG3DoXkgY2jhu6cgc2F1IGtoaSBs4bqleSB24buBIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MjUgYnVpbHRpbi9yZW1vdGUuYzoxNDc5IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDE5IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3MyBidWlsdGluL3JlbW90ZS5jOjE1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBtw6F5IGNo4bunIG7DoG8gY8OzIHTDqm4g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM1CiBtc2dpZCAiYWRkIGJyYW5jaCIKIG1zZ3N0ciAidGjDqm0gbmjDoW5oIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0MgogbXNnaWQgIm5vIHJlbW90ZSBzcGVjaWZpZWQiCiBtc2dzdHIgImNoxrBhIGNo4buJIHJhIG3DoXkgY2jhu6cgbsOgbyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDY1CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NTkKIG1zZ2lkICJxdWVyeSBwdXNoIFVSTHMgcmF0aGVyIHRoYW4gZmV0Y2ggVVJMcyIKIG1zZ3N0ciAidHJ1eSB24bqlbiDEkeG6qXkgVVJMIHRoYXkgdsOsIGzhuqV5IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MQogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAidHLhuqMgduG7gSBt4buNaSBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgImtow7RuZyBjw7MgVVJMIG7DoG8gxJHGsOG7o2MgY+G6pXUgaMOsbmggY2hvIG5ow6FuaCDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTIxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MTUKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAixJHhuql5IGPDoWMg4oCcVVJM4oCdIGLhurFuZyB0YXkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyMworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE3CiBtc2dpZCAiYWRkIFVSTCIKIG1zZ3N0ciAidGjDqm0gVVJMIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MjUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxOQogbXNnaWQgImRlbGV0ZSBVUkxzIgogbXNnc3RyICJ4w7NhIFVSTHMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTI2CiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWFkZCAtLWRlbGV0ZSBraMO0bmcgaOG7o3AgbMO9IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgIktp4buDdSBt4bqrdSBVUkwgY8WpIGtow7RuZyBo4bujcCBs4buHOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjE1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgVVJMIG5oxrAgduG6rXk6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1ODMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NwogbXNnaWQgIldpbGwgbm90IGRlbGV0ZSBhbGwgbm9uLXB1c2ggVVJMcyIKIG1zZ3N0ciAiU+G6vSBraMO0bmcgeMOzYSBuaOG7r25nIMSR4buLYSBjaOG7iSBVUkwga2jDtG5nLXB1c2giCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkxCiBtc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKIG1zZ3N0ciAiY2hpIHRp4bq/dDsgcGjhuqNpIMSRxrDhu6NjIMSR4bq3dCB0csaw4bubYyBt4buZdCBs4buHbmgtY29uIgogCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAiS2jDtG5nIGhp4buDdSBjw6J1IGzhu4duaCBjb246ICVzIgorCiAjOiBidWlsdGluL3JlcGFjay5jOjE3CiBtc2dpZCAiZ2l0IHJlcGFjayBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHJlcGFjayBbPGPDoWMtdMO5eS1jaOG7jW4+XSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNTkKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYwCiBtc2dpZCAicGFjayBldmVyeXRoaW5nIGluIGEgc2luZ2xlIHBhY2siCiBtc2dzdHIgIsSRw7NuZyBnw7NpIG3hu41pIHRo4bupIHRyb25nIG3hu5l0IGfDs2kgxJHGoW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYxCisjOiBidWlsdGluL3JlcGFjay5jOjE2MgogbXNnaWQgInNhbWUgYXMgLWEsIGFuZCB0dXJuIHVucmVhY2hhYmxlIG9iamVjdHMgbG9vc2UiCiBtc2dzdHIgImdp4buRbmcgduG7m2kgLWEsIHbDoCBjaOG7iW5oIHPhu61hIGPDoWMgxJHhu5FpIHTGsOG7o25nIGtow7RuZyDEkeG7jWMgxJHGsOG7o2MgdGhp4bq/dSBzw7N0IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2NAorIzogYnVpbHRpbi9yZXBhY2suYzoxNjUKIG1zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCiBtc2dzdHIgInjDs2EgYuG7jyBjw6FjIGfDs2kgZMawIHRo4burYSwgdsOgIGNo4bqheSBnaXQtcHJ1bmUtcGFja2VkIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE2NgorIzogYnVpbHRpbi9yZXBhY2suYzoxNjcKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAiY2h1eeG7g24gLS1uby1yZXVzZS1kZWx0YSBjaG8gZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY5CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJjaHV54buDbiAtLW5vLXJldXNlLW9iamVjdCBjaG8gZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcxCiBtc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogbXNnc3RyICJraMO0bmcgY2jhuqF5IGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTczCisjOiBidWlsdGluL3JlcGFjay5jOjE3NAogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJjaHV54buDbiAtLWxvY2FsIGNobyBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3NQorIzogYnVpbHRpbi9yZXBhY2suYzoxNzYKIG1zZ2lkICJ3cml0ZSBiaXRtYXAgaW5kZXgiCiBtc2dzdHIgImdoaSBt4bulYyBs4bulYyDDoW5oIHjhuqEiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc2CisjOiBidWlsdGluL3JlcGFjay5jOjE3NwogbXNnaWQgImFwcHJveGlkYXRlIgogbXNnc3RyICJuZ8OgeSDGsOG7m2MgdMOtbmgiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc3CisjOiBidWlsdGluL3JlcGFjay5jOjE3OAogbXNnaWQgIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiCiBtc2dzdHIgInbhu5tpIC1BLCBjw6FjIMSR4buRaSB0xrDhu6NuZyBjxakgaMahbiBraG/huqNuZyB0aOG7nWkgZ2lhbiBuw6B5IHRow6wga2jDtG5nIGLhu4sgbeG6pXQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc5CisjOiBidWlsdGluL3JlcGFjay5jOjE4MAorbXNnaWQgIndpdGggLWEsIHJlcGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICJ24bubaSAtYSwgxJHDs25nIGfDs2kgbOG6oWkgY8OhYyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIHRo4buDIMSR4buNYyDEkcaw4bujYyIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxODIKIG1zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgImvDrWNoIHRoxrDhu5tjIGPhu61hIHPhu5UgxJHGsOG7o2MgZMO5bmcgY2hvIG7DqW4g4oCcZGVsdGHigJ0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgwIGJ1aWx0aW4vcmVwYWNrLmM6MTg0CisjOiBidWlsdGluL3JlcGFjay5jOjE4MyBidWlsdGluL3JlcGFjay5jOjE4NwogbXNnaWQgImJ5dGVzIgogbXNnc3RyICJieXRlIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MQorIzogYnVpbHRpbi9yZXBhY2suYzoxODQKIG1zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKIG1zZ3N0ciAiZ2nhu5FuZyBuaMawIHRyw6puLCBuaMawbmcgZ2nhu5tpIGjhuqFuIGvDrWNoIHRoxrDhu5tjIGLhu5kgbmjhu5sgaGF5IHbDrCBz4buRIGzGsOG7o25nIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4MworIzogYnVpbHRpbi9yZXBhY2suYzoxODYKIG1zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCiBtc2dzdHIgImdp4bubaSBo4bqhbiDEkeG7mSBzw6J1IHThu5FpIMSRYSBj4bunYSDigJxkZWx0YeKAnSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg4CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggcGFja2ZpbGUiCiBtc2dzdHIgImvDrWNoIHRoxrDhu5tjIHThu5FpIMSRYSBjaG8gdOG7q25nIHThuq1wIHRpbiBnw7NpIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE4NworIzogYnVpbHRpbi9yZXBhY2suYzoxOTAKIG1zZ2lkICJyZXBhY2sgb2JqZWN0cyBpbiBwYWNrcyBtYXJrZWQgd2l0aCAua2VlcCIKIG1zZ3N0ciAixJHDs25nIGfDs2kgbOG6oWkgY8OhYyDEkeG7kWkgdMaw4bujbmcgdHJvbmcgY8OhYyBnw7NpIMSRw6MgxJHDoW5oIGThuqV1IGLhurFuZyAua2VlcCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxOTcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjAwCiBtc2dpZCAiY2Fubm90IGRlbGV0ZSBwYWNrcyBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHjDs2EgY8OhYyBnw7NpIHRyb25nIG3hu5l0IGtobyDEkeG7kWlfdMaw4bujbmdfdsSpX8SR4bqhaSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozODEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjA0Cittc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUgdsOgIC1BIHh1bmcga2jhuq9jIG5oYXUiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzkxIGJ1aWx0aW4vd29ya3RyZWUuYzoxMTUKICMsIGMtZm9ybWF0Ci1tc2dpZCAicmVtb3ZpbmcgJyVzJyBmYWlsZWQiCi1tc2dzdHIgImfhurdwIGzhu5dpIGtoaSB4w7NhIGLhu48g4oCcJXPigJ0iCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ+G7oSBi4buPIOKAnCVz4oCdIgogCiAjOiBidWlsdGluL3JlcGxhY2UuYzoxOQogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gPG9iamVjdD4gPHJlcGxhY2VtZW50PiIKQEAgLTEwNTAwLDggKzExNzE5LDggQEAKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCiAKICM6IGJ1aWx0aW4vcmVzZXQuYzoyNwotbXNnaWQgImdpdCByZXNldCBbLXFdIDx0cmVlLWlzaD4gWy0tXSA8cGF0aHM+Li4uIgotbXNnc3RyICJnaXQgcmVzZXQgWy1xXSA8dHJlZS1pc2g+IFstLV0gPMSRxrDhu51uZy1k4bqrbj7igKYiCittc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzPi4uLiIKK21zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPMSRxrDhu51uZy1k4bqrbj7igKYiCiAKICM6IGJ1aWx0aW4vcmVzZXQuYzoyOAogbXNnaWQgImdpdCByZXNldCAtLXBhdGNoIFs8dHJlZS1pc2g+XSBbLS1dIFs8cGF0aHM+Li4uXSIKQEAgLTEwNjIxLDI3ICsxMTg0MCwyNyBAQAogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpLiIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1MAorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1NAogbXNnaWQgInJldi1saXN0IGRvZXMgbm90IHN1cHBvcnQgZGlzcGxheSBvZiBub3RlcyIKIG1zZ3N0ciAicmV2LWxpc3Qga2jDtG5nIGjhu5cgdHLhu6MgaGnhu4NuIHRo4buLIGPDoWMgZ2hpIGNow7oiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzU4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM4NgogbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8Y8OhYy10w7l5LWNo4buNbj5dIC0tIFs8Y8OhYyB0aGFtIHPhu5E+4oCmXSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjMKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzkxCiBtc2dpZCAia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIgogbXNnc3RyICJnaeG7ryBs4bqhaSDigJwtLeKAnSBjaHV54buDbiBzYW5nIGzDoG0gdGhhbSBz4buRIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2NQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTMKIG1zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCiBtc2dzdHIgImThu6tuZyBwaMOibiB0w61jaCBzYXUgxJHhu5FpIHPhu5EgxJHhuqd1IHRpw6puIGtow7RuZyBjw7MgdMO5eSBjaOG7jW4iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzY4CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5NgogbXNnaWQgIm91dHB1dCBpbiBzdHVjayBsb25nIGZvcm0iCiBtc2dzdHIgImvhur90IHh14bqldCB0cm9uZyDEkeG7i25oIGThuqFuZyBn4bqteSBkw6BpIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQ5OQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1MjcKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC0xMDcxMiwzMSArMTE5MzEsMjcgQEAKIG1zZ2lkICJvcHRpb24gZm9yIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJ0w7l5IGNo4buNbiBjaG8gY2hp4bq/biBsxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKIG1zZ2lkICJhcHBlbmQgY29tbWl0IG5hbWUiCiBtc2dzdHIgIm7hu5FpIHRow6ptIHTDqm4gbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDYKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCiBtc2dpZCAicHJlc2VydmUgaW5pdGlhbGx5IGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgImPhuqVtIGto4bufaSB04bqhbyBs4bqnbiBjaHV54buDbiBnaWFvIHRy4buRbmcgcuG7l25nIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCiBtc2dzdHIgImNo4bqlcCBuaOG6rW4gY2h1eeG7g24gZ2lhbyBtw6Aga2jDtG5nIGdoaSBjaMO6IGfDrCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgImdp4buvIGzhuqFpIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBkxrAgdGjhu6thLCBy4buXbmciCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCi1tc2dpZCAicHJvZ3JhbSBlcnJvciIKLW1zZ3N0ciAibOG7l2kgY2jGsMahbmcgdHLDrG5oIgotCi0jOiBidWlsdGluL3JldmVydC5jOjE5NworIzogYnVpbHRpbi9yZXZlcnQuYzoxOTIKIG1zZ2lkICJyZXZlcnQgZmFpbGVkIgogbXNnc3RyICJob8OgbiBuZ3V5w6puIGfhurdwIGzhu5dpIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIxMgorIzogYnVpbHRpbi9yZXZlcnQuYzoyMDUKIG1zZ2lkICJjaGVycnktcGljayBmYWlsZWQiCiBtc2dzdHIgImNoZXJyeS1waWNrIGfhurdwIGzhu5dpIgogCkBAIC0xMDc3Miw4ICsxMTk4Nyw4IEBACiAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIHN0YWdlZCBjb250ZW50IGRpZmZlcmVudCBmcm9tIGJvdGggdGhlXG4iCiAiZmlsZSBhbmQgdGhlIEhFQUQ6IgogbXNnc3RyWzBdICIiCi0iY8OhYyB04bqtcCB0aW4gc2F1IMSRw6J5IGPDsyB0cuG6oW5nIHRow6FpIGtow6FjIGJp4buHdCBu4buZaSBkdW5nIHThu6sgY+G6oyB04bqtcCB0aW5cbiIKLSJ2w6AgY+G6oyBIRUFEOiIKKyJjw6FjIHThuq1wIHRpbiBzYXUgxJHDonkgY8OzIGtow6FjIGJp4buHdCBu4buZaSBkdW5nIMSRw6MgxJHGsGEgbMOqbiBi4buHIHBow7NuZ1xuIgorInThu6sgY+G6oyB04bqtcCB0aW4gdsOgIGPhuqMgSEVBRDoiCiAKICM6IGJ1aWx0aW4vcm0uYzoyMzUKIG1zZ2lkICIiCkBAIC0xMDg5OSw3MCArMTIxMTQsMTIzIEBACiBtc2dpZCAiZ2l0IHNob3ctYnJhbmNoICgtZyB8IC0tcmVmbG9nKVs9PG4+Wyw8YmFzZT5dXSBbLS1saXN0XSBbPHJlZj5dIgogbXNnc3RyICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxu4buBbj5dXSBbLS1saXN0XSBbPHJlZj5dIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Mzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWYiCittc2dpZF9wbHVyYWwgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWZzIgorbXNnc3RyWzBdICLEkWFuZyBi4buPIHF1YSAlczsga2jDtG5nIHRo4buDIHjhu60gbMO9IG5oaeG7gXUgaMahbiAlZCB0aGFtIGNoaeG6v3UiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWF0Y2hpbmcgcmVmcyB3aXRoICVzIgorbXNnc3RyICJraMO0bmcgdGhhbSBjaGnhur91IG7DoG8ga2jhu5twIHbhu5tpICVzIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjM5CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyBuaMOhbmggcmVtb3RlLXRyYWNraW5nIHbDoCBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQxCiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIG5ow6FuaCByZW1vdGUtdHJhY2tpbmciCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICJtw6B1IOKAnCohKy3igJ0gdMawxqFuZyDhu6luZyB24bubaSBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IDxuPiBtb3JlIGNvbW1pdHMgYWZ0ZXIgdGhlIGNvbW1vbiBhbmNlc3RvciIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRow6ptIDxuPiBs4bqnbiBjaHV54buDbiBnaWFvIHNhdSBjaGEgbeG6uSBjaHVuZyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NwogbXNnaWQgInN5bm9ueW0gdG8gbW9yZT0tMSIKIG1zZ3N0ciAixJHhu5NuZyBuZ2jEqWEgduG7m2kgbW9yZT0tMSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAogbXNnaWQgInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIgogbXNnc3RyICJjaOG6t24gY8OhYyBjaHXhu5dpIMSR4bq3dCB0w6puIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUwCiBtc2dpZCAiaW5jbHVkZSB0aGUgY3VycmVudCBicmFuY2giCiBtc2dzdHIgImJhbyBn4buTbSBuaMOhbmggaGnhu4duIGjDoG5oIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUyCiBtc2dpZCAibmFtZSBjb21taXRzIHdpdGggdGhlaXIgb2JqZWN0IG5hbWVzIgogbXNnc3RyICLEkeG6t3QgdMOqbiBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gYuG6sW5nIGPDoWMgdMOqbiBj4bunYSDEkeG7kWkgdMaw4bujbmcgY+G7p2EgY2jDum5nIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0CiBtc2dpZCAic2hvdyBwb3NzaWJsZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIG3hu41pIGPGoSBz4bufIGPDsyB0aOG7gyBkw7luZyDEkeG7gyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgogbXNnaWQgInNob3cgcmVmcyB1bnJlYWNoYWJsZSBmcm9tIGFueSBvdGhlciByZWYiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHRoYW0gY2hp4bq/dSBraMO0bmcgdGjhu4MgxJHGsOG7o2MgxJHhu41jIGLhu59pIGLhuqV0IGvhu7MgdGhhbSBjaGnhur91IGtow6FjIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU4CiBtc2dpZCAic2hvdyBjb21taXRzIGluIHRvcG9sb2dpY2FsIG9yZGVyIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIHRoZW8gdGjhu6kgdOG7sSB0w7Rww7QiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKIG1zZ2lkICJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBraMO0bmcgbuG6sW0gdHLDqm4gbmjDoW5oIMSR4bqndSB0acOqbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MwogbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgbOG6p24gaMOyYSB0cuG7mW4gY8OzIHRo4buDIMSR4buNYyDEkcaw4bujYyBjaOG7iSB04burIG3hu5l0IMSR4bqndSBtw7p0IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY1CiBtc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgogbXNnc3RyICJz4bqvcCB44bq/cCBow6xuaCB0aMOhaSBo4buNYywgYuG6o28gdHLDrCB0aOG7qSB04buxIG5nw6B5IG7hur91IGPDsyB0aOG7gyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OAogbXNnaWQgIjxuPlssPGJhc2U+XSIKIG1zZ3N0ciAiPG4+Wyw8Y8ahX3Phu58+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQogbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgogbXNnc3RyICJoaeG7g24gdGjhu4sgPG4+IGPDoWMgbeG7pWMg4oCccmVmLWxvZ+KAnSBn4bqnbiBuaOG6pXQga+G7gyB04burIG7hu4FuIChiYXNlKSIKIAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcwMworbXNnaWQgIiIKKyItLXJlZmxvZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG9yIC0tbWVyZ2UtYmFzZSIKK21zZ3N0ciAiIgorIi0tcmVmbG9nIGzDoCBraMO0bmcgdMawxqFuZyB0aMOtY2ggduG7m2kgY8OhYyB0w7l5IGNo4buNbiAtLWFsbCwgLS1yZW1vdGVzLCAtLSIKKyJpbmRlcGVuZGVudCBoYXkgLS1tZXJnZS1iYXNlIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzI3Cittc2dpZCAibm8gYnJhbmNoZXMgZ2l2ZW4sIGFuZCBIRUFEIGlzIG5vdCB2YWxpZCIKK21zZ3N0ciAiY2jGsGEgxJHGsGEgcmEgbmjDoW5oLCB2w6AgSEVBRCBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMAorbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCittc2dzdHIgIi0tcmVmbG9nIGPhuqduIHTDqm4gbeG7mXQgbmjDoW5oIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgJWQgZW50cnkgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKK21zZ2lkX3BsdXJhbCAib25seSAlZCBlbnRyaWVzIGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCittc2dzdHJbMF0gImNo4buJIGPDsyB0aOG7gyBoaeG7g24gdGjhu4sgY8O5bmcgbMO6YyAlZCBo4bqhbmcgbeG7pWMuIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcmVmICVzIgorbXNnc3RyICJraMO0bmcgY8OzIHRoYW0gY2hp4bq/dSBuw6BvIG5oxrAgdGjhur8gJXMiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2LiIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iCittc2dzdHJbMF0gImtow7RuZyB0aOG7gyB44butIGzDvSBuaGnhu4F1IGjGoW4gJWQgxJFp4buDbSB4w6l0IGR1eeG7h3QuIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSB0aGFtIGNoaeG6v3UgaOG7o3AgbOG7hy4iCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgY29tbWl0ICVzICglcykiCittc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSBs4bqnbiBjaHV54buDbiBnaWFvICVzICglcykiCisKICM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMAogbXNnaWQgIiIKICJnaXQgc2hvdy1yZWYgWy1xIHwgLS1xdWlldF0gWy0tdmVyaWZ5XSBbLS1oZWFkXSBbLWQgfCAtLWRlcmVmZXJlbmNlXSBbLXMgfCAtLSIKQEAgLTExMDI3LDEyICsxMjI5NSwxMiBAQAogbXNnaWQgInByZXBlbmQgY29tbWVudCBjaGFyYWN0ZXIgYW5kIHNwYWNlIHRvIGVhY2ggbGluZSIKIG1zZ3N0ciAidHJlbyB0csaw4bubYyBrw70gdOG7sSBnaGkgY2jDuiB2w6Aga8O9IHThu7Ega2hv4bqjbmcgdHLhuq9uZyBjaG8gdOG7q25nIGTDsm5nIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlZjogJXMiCiBtc2dzdHIgIktow7RuZyBjw7MgdGhhbSBjaGnhur91IG7DoG8gbmjGsCB0aOG6vzogJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIKIG1zZ3N0ciAiQ+G6p24gdMOqbiB0aGFtIGNoaeG6v3UgZOG6oW5nIMSR4bqneSDEkeG7pywgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyAlcyIKQEAgLTExMDQyLDc2ICsxMjMxMCw5NSBAQAogbXNnaWQgImNhbm5vdCBzdHJpcCBvbmUgY29tcG9uZW50IG9mZiB1cmwgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGPhuq90IGLhu48gbeG7mXQgdGjDoG5oIHBo4bqnbiByYSBraOG7j2kg4oCcJXPigJ0gdXJsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mjc4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDUKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MAogbXNnaWQgImFsdGVybmF0aXZlIGFuY2hvciBmb3IgcmVsYXRpdmUgcGF0aHMiCiBtc2dzdHIgIsSRaeG7g20gbmVvIHRoYXkgdGjhur8gY2hvIGPDoWMgxJHGsOG7nW5nIGThuqtuIHTGsMahbmcgxJHhu5FpIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjgzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mjg3CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08L8SRxrDhu51uZy9k4bqrbj5dIFs8L8SRxrDhu51uZy9k4bqrbj7igKZdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzI2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNDAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMjkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSB1cmwgY2hvIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJXPigJ0gdHJvbmcgLmdpdG1vZHVsZXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNjYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSRxINuZyBrw70gdXJsIGNobyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgIk3DtC3EkXVuLWNvbiDigJwlc+KAnSAoJXMpIMSRxrDhu6NjIMSRxINuZyBrw70gY2hvIMSRxrDhu51uZyBk4bqrbiDigJwlc+KAnVxuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGNvbW1hbmQgdXBkYXRlIG1vZGUgc3VnZ2VzdGVkIGZvciBzdWJtb2R1bGUgJyVzJ1xuIgogbXNnc3RyICJj4bqjbmggYsOhbzogY2jhur8gxJHhu5kgbOG7h25oIGPhuq1wIG5o4bqtdCDEkcaw4bujYyBn4bujaSDDvSBjaG8gbcO0LcSRdW4tY29uIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozODcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJHEg25nIGvDvSBjaOG6vyDEkeG7mSBj4bqtcCBuaOG6rXQgY2hvIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDkKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiQ2jhurduIGvhur90IHh14bqldCBjaG8ga2jhu59pIHThuqFvIG3hu5l0IG3DtC3EkXVuLWNvbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPC/Ekcaw4budbmcvZOG6q24+XSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQzMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQzNQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPC/Ekcaw4budbmcvZOG6q24+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Ym1vZHVsZSBtYXBwaW5nIGZvdW5kIGluIC5naXRtb2R1bGVzIGZvciBwYXRoICclcyciCiBtc2dzdHIgIiIKICJLaMO0bmcgdMOsbSB0aOG6pXkgw6FuaCB44bqhIChtYXBwaW5nKSBtw7QtxJF1bi1jb24gdHJvbmcgLmdpdG1vZHVsZXMgY2hvIMSRxrDhu51uZyBk4bqrbiAiCiAi4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgJyVzJyBjYW5ub3QgYWRkIGFsdGVybmF0ZTogJXMiCittc2dzdHIgIm3DtC3EkXVuLWNvbiDigJwlc+KAnSBraMO0bmcgdGjhu4MgdGjDqm0gdGhheSB0aOG6vzogJXMiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgaXMgbm90IHJlY29nbml6ZWQiCittc2dzdHIgIkdpw6EgdHLhu4sg4oCcJXPigJ0gY2hvIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiBpcyBub3QgcmVjb2duaXplZCIKK21zZ3N0ciAiR2nDoSB0cuG7iyDigJwlc+KAnSBjaG8gc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkzCiBtc2dpZCAid2hlcmUgdGhlIG5ldyBzdWJtb2R1bGUgd2lsbCBiZSBjbG9uZWQgdG8iCiBtc2dzdHIgIm5ow6JuIGLhuqNuIG3DtC3EkXVuLWNvbiBt4bubaSB2w6BvIGNo4buXIG7DoG8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICJ0w6puIGPhu6dhIG3DtC3EkXVuLWNvbiBt4bubaSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5OQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgInVybCBuxqFpIG3DoCBuaMOibiBi4bqjbiBtw7QtxJF1bi1jb24gdOG7qyDEkcOzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTAxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA1CiBtc2dpZCAiZGVwdGggZm9yIHNoYWxsb3cgY2xvbmVzIgogbXNnc3RyICJjaGnhu4F1IHPDonUgbOG7i2NoIHPhu60ga2hpIHThuqFvIGLhuqNuIHNhbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUwNworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY0Cittc2dpZCAiZm9yY2UgY2xvbmluZyBwcm9ncmVzcyIKK21zZ3N0ciAiw6lwIGJ14buZYyB0aeG6v24gdHLDrG5oIG5ow6JuIGLhuqNuIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEzCiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS1kZXB0aCA8ZGVwdGg+XSAtLXVybCA8dXJsPiAtLXBhdGggPHBhdGg+IgpAQCAtMTExMTksODkgKzEyNDA2LDExMiBAQAogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PC/Ekcaw4budbmcvZOG6q24+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8a2hvPl0gWy0tbmFtZSA8dMOqbj5dIFstLWRlcHRoIDxzw6J1Pl0gWy0tdXJsIDx1cmw+XSBbPC/Ekcaw4budbmcvZOG6q24+4oCmXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUzMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIHRoxrAgbeG7pWMg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvbmUgb2YgJyVzJyBpbnRvIHN1Ym1vZHVsZSBwYXRoICclcycgZmFpbGVkIgogbXNnc3RyICJOaMOibiBi4bqjbiDigJwlc+KAnSB2w6BvIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJXPigJ0gZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gZmlsZSAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlIGZpbGUgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkcOzbmcgdOG6rXAgdGluICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTYyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgc3VibW9kdWxlIGRpcmVjdG9yeSBmb3IgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRoxrAgbeG7pWMgbcO0LcSRdW4tY29uIGNobyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJXMnIG5vdCBpbml0aWFsaXplZCIKIG1zZ3N0ciAixJDGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwlc+KAnSBjaMawYSDEkcaw4bujYyBraOG7n2kgdOG6oW8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MTMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MzAKIG1zZ2lkICJNYXliZSB5b3Ugd2FudCB0byB1c2UgJ3VwZGF0ZSAtLWluaXQnPyIKIG1zZ3N0ciAiQ8OzIGzhur0gYuG6oW4gbMOgIGLhuqFuIG114buRbiBkw7luZyBcInVwZGF0ZSAtLWluaXRcIiBwaOG6o2kga2jDtG5nPyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIkLhu48gcXVhIGPDoWMgbcO0LcSRdW4tY29uIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjYwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJC4buPIHF1YSBtw7QtxJF1bi1jb24g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycuIFJldHJ5IHNjaGVkdWxlZCIKK21zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIG5ow6JuIGLhuqNuIOKAnCVz4oCdLiBUaOG7rSBs4bqhaSBs4buLY2ggdHLDrG5oIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnIGEgc2Vjb25kIHRpbWUsIGFib3J0aW5nIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgbmjDom4gYuG6o24g4oCcJXPigJ0gbOG6p24gdGjhu6kgaGFpIG7Dqm4gYsOjaSBi4buPIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ1CiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDEkeG6v24gY8OieSBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0OAogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlLCBhY3Jvc3MgbmVzdGVkIHN1Ym1vZHVsZSBib3VuZGFyaWVzIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24gxJHhur9uIGPDonkgbMOgbSB2aeG7h2MsIGNow6lvIGJpw6puIGdp4bubaSBtw7QtxJF1bi1jb24gbOG7k25nIG5oYXUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTIKIG1zZ2lkICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBvciBub25lIgogbXNnc3RyICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBob+G6t2Mga2jDtG5nIGzDoG0gZ8OsIGPhuqMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTYKIG1zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCiBtc2dzdHIgIiIKICJU4bqhbyBt4buZdCBi4bqjbiBzYW8gbsO0bmcgxJHGsOG7o2MgY+G6r3Qgbmfhuq9uIHRow6BuaCBz4buRIGzGsOG7o25nIMSRaeG7g20geMOpdCBkdXnhu4d0IMSRw6MgY2hvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzgyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU5CiBtc2dpZCAicGFyYWxsZWwgam9icyIKIG1zZ3N0ciAiY8O0bmcgdmnhu4djIMSR4buTbmcgdGjhu51pIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzgzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYxCittc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgorbXNnc3RyICJuaMOibiBi4bqjbiBs4bqnbiDEkeG6p3UgY8OzIG7Dqm4gdGhlbyBraHV54bq/biBuZ2jhu4sgbMOgIG7DtG5nIGhheSBraMO0bmciCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjIKIG1zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICLEkeG7q25nIGluIHRp4bq/biB0csOsbmggbmjDom4gYuG6o24iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjkKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICIiCiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9PC/Ekcaw4budbmcvZOG6q24+XSBbPC/Ekcaw4budbmcvZOG6q24+4oCmXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc5OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3OQogbXNnaWQgImJhZCB2YWx1ZSBmb3IgdXBkYXRlIHBhcmFtZXRlciIKIG1zZ3N0ciAiZ2nDoSB0cuG7iyBjaG8gIHRoYW0gc+G7kSBj4bqtcCBuaOG6rXQgYuG7iyBzYWkiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0ICIKKyJ0aGUgc3VwZXJwcm9qZWN0IGlzIG5vdCBvbiBhbnkgYnJhbmNoIgorbXNnc3RyICIiCisiTmjDoW5oIG3DtC3EkXVuLWNvbiAoJXMpIMSRxrDhu6NjIGPhuqV1IGjDrG5oIGvhur8gdGjhu6thIG5ow6FuaCB04burIHNpw6p1IGThu7Egw6FuLCBuaMawbmcgc2nDqnUgIgorImThu7Egw6FuIGzhuqFpIGtow7RuZyB0csOqbiBi4bqldCBr4buzIG5ow6FuaCBuw6BvIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwMAogbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgImzhu4duaCBjb24gc3VibW9kdWxlLS1oZWxwZXIgcGjhuqNpIMSRxrDhu6NjIGfhu41pIHbhu5tpIG3hu5l0IGzhu4duaCBjb24iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NjIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgc3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCIKIG1zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSBsw6AgbOG7h25oIGNvbiBzdWJtb2R1bGUtLWhlbHBlciBo4bujcCBs4buHIgpAQCAtMTE0MzgsNyArMTI3NDgsNyBAQAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAixJDDoyBj4bqtcCBuaOG6rXQgdGjhursg4oCcJXPigJ0gKHRyxrDhu5tjIGzDoCAlcylcbiIKIAotIzogYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjQ5MAorIzogYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjQ5MwogbXNnaWQgIlVucGFja2luZyBvYmplY3RzIgogbXNnc3RyICLEkGFuZyBnaeG6o2kgbsOpbiBjw6FjIMSR4buRaSB0xrDhu6NuZyIKIApAQCAtMTE1MDIsMTQzICsxMjgxMiwxNTEgQEAKIG1zZ2lkICIgT0siCiBtc2dzdHIgIiDEkOG7k25nIMO9IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU3NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjQKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzxjw6FjLXTDuXktY2jhu41uPl0gWy0tXSBbPHThuq1wLXRpbj7igKZdIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MTkKIG1zZ2lkICJjb250aW51ZSByZWZyZXNoIGV2ZW4gd2hlbiBpbmRleCBuZWVkcyB1cGRhdGUiCiBtc2dzdHIgInRp4bq/cCB04bulYyBsw6BtIG3hu5tpIG5nYXkgY+G6oyBraGkgYuG6o25nIG3hu6VjIGzhu6VjIGPhuqduIMSRxrDhu6NjIGPhuq1wIG5o4bqtdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTIyCiBtc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInJlZnJlc2g6IGzhu50gxJFpIG3DtC3EkXVuLWNvbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI1CiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgImtow7RuZyBi4buPIHF1YSBjw6FjIHThuq1wIHRpbiBt4bubaSB04bqhbyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTI3CiBtc2dpZCAibGV0IGZpbGVzIHJlcGxhY2UgZGlyZWN0b3JpZXMgYW5kIHZpY2UtdmVyc2EiCiBtc2dzdHIgIsSR4buDIGPDoWMgdOG6rXAgdGluIHRoYXkgdGjhur8gY8OhYyB0aMawIG3hu6VjIHbDoCDigJx2aWNlLXZlcnNh4oCdIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjkKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJ0aMO0bmcgYsOhbyBjw6FjIHThuq1wLXRpbiB0aGnhur91IHRyb25nIHRoxrAtbeG7pWMgbMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMQogbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICIiCiAibMOgbSB0xrDGoWkgbeG7m2kgdGjhuq1tIGNow60ga2hpIGLhuqNuZyBt4bulYyBs4bulYyBjaOG7qWEgY8OhYyBt4bulYyB0aW4gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNAogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAibOG6pXkgbOG6oWkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTM4CiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICJnaeG7kW5nIC0tcmVmcmVzaCwgbmjGsG5nIGLhu48gcXVhIGPDoWMgY8OgaSDEkeG6t3Qg4oCcYXNzdW1lLXVuY2hhbmdlZOKAnSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQyCiBtc2dpZCAiPG1vZGU+LDxvYmplY3Q+LDxwYXRoPiIKIG1zZ3N0ciAiPGNo4bq/X8SR4buZPiw8xJHhu5FpX3TGsOG7o25nPiw8xJHGsOG7nW5nX2ThuqtuPiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQzCiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICJ0aMOqbSBjw6FjIHThuq1wIHRpbiDEkcOjIGNo4buJIHJhIHbDoG8gYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1OAotbXNnaWQgIigrLy0peCIKLW1zZ3N0ciAiKCsvLSl4IgotCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1OQotbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgotbXNnc3RyICJnaGkgxJHDqCBsw6puIGLDrXQgdGhpIGjDoG5oIGPhu6dhIGPDoWMgdOG6rXAgdGluIMSRxrDhu6NjIGxp4buHdCBrw6oiCi0KLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1MgogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKIG1zZ3N0ciAixJDDoW5oIGThuqV1IGPDoWMgdOG6rXAgdGluIGzDoCBcImtow7RuZyB0aGF5IMSR4buVaVwiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTUKIG1zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCiBtc2dzdHIgInjDs2EgYsOtdCBhc3N1bWVkLXVuY2hhbmdlZCAoZ2nhuqMgxJHhu4tuaCBsw6Aga2jDtG5nIHRoYXkgxJHhu5VpKSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTU4CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAixJHDoW5oIGThuqV1IGPDoWMgdOG6rXAgdGluIGzDoCDigJxjaOG7iS3EkeG7jWPigJ0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MQogbXNnaWQgImNsZWFyIHNraXAtd29ya3RyZWUgYml0IgogbXNnc3RyICJ4w7NhIGLDrXQgc2tpcC13b3JrdHJlZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY0CiBtc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIiIKICJjaOG7iSB0aMOqbSB2w6BvIGLhuqNuZyBt4bulYyBs4bulYzsga2jDtG5nIHRow6ptIG7hu5lpIGR1bmcgdsOgbyBjxqEgc+G7nyBk4buvIGxp4buHdSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NgogbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCiBtc2dzdHIgIiIKICJn4buhIGLhu48gY8OhYyDEkcaw4budbmcgZOG6q24gxJHGsOG7o2MgxJHhurd0IHTDqm4gdGjhuq1tIGNow60gY+G6oyBraGkgbsOzIGhp4buHbiBkaeG7h24gdHJvbmcgdGjGsCBt4bulYyAiCiAibMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OAogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAiduG7m2kgdMO5eSBjaOG7jW4gLS1zdGRpbjogY8OhYyBkw7JuZyDEkeG6p3UgdsOgbyDEkcaw4bujYyBjaOG6pW0gZOG7qXQgYuG7n2kga8O9IHThu7EgbnVsbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcwCiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAixJHhu41jIGRhbmggc8OhY2ggxJHGsOG7nW5nIGThuqtuIGPhuqduIGPhuq1wIG5o4bqtdCB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAogbXNnaWQgImFkZCBlbnRyaWVzIGZyb20gc3RhbmRhcmQgaW5wdXQgdG8gdGhlIGluZGV4IgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIGPDoWMgbeG7pWMgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIHbDoG8gYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzgKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgInBo4bulYyBo4buTaSBjw6FjIHRy4bqhbmcgdGjDoWkgIzIgdsOgICMzIGNobyBjw6FjIMSRxrDhu51uZyBk4bqrbiDEkcaw4bujYyBsaeG7h3Qga8OqIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODIKIG1zZ2lkICJvbmx5IHVwZGF0ZSBlbnRyaWVzIHRoYXQgZGlmZmVyIGZyb20gSEVBRCIKIG1zZ3N0ciAiY2jhu4kgY+G6rXAgbmjhuq10IGPDoWMgbeG7pWMgdGluIG3DoCBuw7Mga2jDoWMgYmnhu4d0IHNvIHbhu5tpIEhFQUQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImLhu48gcXVhIGPDoWMgdOG6rXAtdGluIHRoaeG6v3UgdHJvbmcgdGjGsC1t4bulYyBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQogbXNnaWQgInJlcG9ydCBhY3Rpb25zIHRvIHN0YW5kYXJkIG91dHB1dCIKIG1zZ3N0ciAiYsOhbyBjw6FvIGPDoWMgdGhhbyB0w6FjIHJhIHRoaeG6v3QgYuG7iyB4deG6pXQgY2h14bqpbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MQogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIoY2hvIOKAnHBvcmNlbGFpbnPigJ0pIHF1w6puIGPDoWMgeHVuZyDEkeG7mXQgY2jGsGEgxJHGsOG7o2MgZ2nhuqNpIHF1eeG6v3QgxJHDoyBnaGkiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTUKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiZ2hpIG3hu6VjIGzhu6VjIOG7nyDEkeG7i25oIGThuqFuZyBuw6B5IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgImLhuq10L3Thuq90IGNoaWEgY+G6r3QgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk5CiBtc2dpZCAiZW5hYmxlL2Rpc2FibGUgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICJi4bqtdC904bqvdCBi4buZIMSR4buHbSBraMO0bmcgdGhlbyB24bq/dCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDEyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDEKIG1zZ2lkICJ0ZXN0IGlmIHRoZSBmaWxlc3lzdGVtIHN1cHBvcnRzIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAia2nhu4NtIHRyYSB4ZW0gaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBjw7MgaOG7lyB0cuG7oyDEkeG7h20ga2jDtG5nIHRoZW8gZMO1aSBoYXkga2jDtG5nIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMwogbXNnaWQgImVuYWJsZSB1bnRyYWNrZWQgY2FjaGUgd2l0aG91dCB0ZXN0aW5nIHRoZSBmaWxlc3lzdGVtIgogbXNnc3RyICJi4bqtdCBi4buZIMSR4buHbSBraMO0bmcgdGhlbyB24bq/dCBtw6Aga2jDtG5nIGtp4buDbSB0cmEgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMTkKK21zZ2lkICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKKyJ0byBkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCittc2dzdHIgIiIKKyJjb3JlLnVudHJhY2tlZENhY2hlIMSRxrDhu6NjIMSR4bq3dCBsw6AgxJHDum5nOyB4w7NhIGLhu48gaGF5IHRoYXkgxJHhu5VpIG7DsywgbuG6v3UgYuG6oW4gdGjhu7FjICIKKyJz4buxIG114buRbiB04bqvdCBi4buZIMSR4buHbSBjaMawYSB0aGVvIGTDtWkiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEyMwogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBkaXNhYmxlZCIKIG1zZ3N0ciAiTmjhu5sgxJHhu4dtIGtow7RuZyB0aGVvIHbhur90IGLhu4sgdOG6r3QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE0NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMxCittc2dpZCAiIgorImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgorInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgorbXNnc3RyICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSDEkcaw4bujYyDEkeG6t3QgbMOgIHNhaTsgeMOzYSBi4buPIGhheSB0aGF5IMSR4buVaSBuw7MsIG7hur91IGLhuqFuIHRo4buxYyBz4buxICIKKyJtdeG7kW4gYuG6rXQgYuG7mSDEkeG7h20gY2jGsGEgdGhlbyBkw7VpIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGVuYWJsZWQgZm9yICclcyciCiBtc2dzdHIgIk5o4bubIMSR4buHbSBraMO0bmcgdGhlbyB24bq/dCDEkcaw4bujYyBi4bqtdCBjaG8g4oCcJXPigJ0iCkBAIC0xMTcxNiw4MiArMTMwMzQsMTA5IEBACiBtc2dzdHIgImdpdCB3b3JrdHJlZSBhZGQgWzxjw6FjLXTDuXktY2jhu41uPl0gPMSRxrDhu51uZy1k4bqrbj4gWzxuaMOhbmg+XSIKIAogIzogYnVpbHRpbi93b3JrdHJlZS5jOjE2Ci1tc2dpZCAiZ2l0IHdvcmt0cmVlIHBydW5lIFs8b3B0aW9ucz5dIgotbXNnc3RyICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxjw6FjLXTDuXktY2jhu41uPl0iCi0KLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNwogbXNnaWQgImdpdCB3b3JrdHJlZSBsaXN0IFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgd29ya3RyZWUgbGlzdCBbPGPDoWMtdMO5eS1jaOG7jW4+XSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKK21zZ2lkICJnaXQgd29ya3RyZWUgbG9jayBbPG9wdGlvbnM+XSA8cGF0aD4iCittc2dzdHIgImdpdCB3b3JrdHJlZSBsb2NrIFs8Y8OhYy10w7l5LWNo4buNbj5dIDwvxJHGsOG7nW5nL2ThuqtuPiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE4Cittc2dpZCAiZ2l0IHdvcmt0cmVlIHBydW5lIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxjw6FjLXTDuXktY2jhu41uPl0iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOQorbXNnaWQgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHBhdGg+IgorbXNnc3RyICJnaXQgd29ya3RyZWUgdW5sb2NrIDwvxJHGsOG7nW5nL2ThuqtuPiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogbm90IGEgdmFsaWQgZGlyZWN0b3J5IgogbXNnc3RyICJH4buhIGLhu48gY8OieSBsw6BtIHZp4buHYy8lczoga2jDtG5nIHBo4bqjaSBsw6AgdGjGsCBt4bulYyBo4bujcCBs4buHIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJH4buhIGLhu48gY8OieSBsw6BtIHZp4buHYy8lczoga2jDtG5nIGPDsyB04bqtcCB0aW4gZ2l0ZGlyIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IHVuYWJsZSB0byByZWFkIGdpdGRpciBmaWxlICglcykiCiBtc2dzdHIgIkfhu6EgYuG7jyBjw6J5IGzDoG0gdmnhu4djLyVzOiBraMO0bmcgdGjhu4MgxJHhu41jIHThuq1wIHRpbiBnaXRkaXIgKCVzKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjYyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBpbnZhbGlkIGdpdGRpciBmaWxlIgogbXNnc3RyICJH4buhIGLhu48gY8OieSBsw6BtIHZp4buHYy8lczogdOG6rXAgdGluIGdpdGRpciBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBwb2ludHMgdG8gbm9uLWV4aXN0ZW50IGxvY2F0aW9uIgogbXNnc3RyICJH4buhIGLhu48gY8OieSBsw6BtIHZp4buHYy8lczogdOG6rXAgdGluIGdpdGRpciBjaOG7iSDEkeG6v24gduG7iyB0csOtIGtow7RuZyB04buTbiB04bqhaSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjExMwotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICclcyciCi1tc2dzdHIgImfhurdwIGzhu5dpIGtoaSBn4buhIGLhu48g4oCcJXPigJ0iCi0KLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAi4oCcJXPigJ0gxJHDoyBjw7MgdOG7qyB0csaw4bubYyBy4buTaSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjIzNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBvZiAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdGjGsCBt4bulYyBj4bunYSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjI3MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjI3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgJXMgKGlkZW50aWZpZXIgJXMpIgogbXNnc3RyICLEkGFuZyBjaHXhuqluIGLhu4sgJXMgKMSR4buLbmggZGFuaCAlcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjMKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBldmVuIGlmIGFscmVhZHkgY2hlY2tlZCBvdXQgaW4gb3RoZXIgd29ya3RyZWUiCiBtc2dzdHIgImzhuqV5IHJhIDxuaMOhbmg+IG5nYXkgY+G6oyBraGkgbsOzIMSRw6MgxJHGsOG7o2MgbOG6pXkgcmEg4bufIGPDonkgbMOgbSB2aeG7h2Mga2jDoWMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKIG1zZ2lkICJjcmVhdGUgYSBuZXcgYnJhbmNoIgogbXNnc3RyICJ04bqhbyBuaMOhbmggbeG7m2kiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjcKIG1zZ2lkICJjcmVhdGUgb3IgcmVzZXQgYSBicmFuY2giCiBtc2dzdHIgInThuqFvIGhheSDEkeG6t3QgbOG6oWkgbeG7mXQgbmjDoW5oIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3Ci1tc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgotbXNnc3RyICJy4budaSBi4buPIEhFQUQgdOG6oWkgbOG6p24gY2h1eeG7g24gZ2lhbyB0aGVvIHTDqm4iCi0KLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjkKIG1zZ2lkICJwb3B1bGF0ZSB0aGUgbmV3IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiZGkgY2h1eeG7g24gY8OieSBsw6BtIHZp4buHYyBt4bubaSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMzNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMzNwogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIkPDoWMgdMO5eSBjaOG7jW4gLWIsIC1CLCB2w6AgLS1kZXRhY2ggbG/huqFpIHThu6sgbOG6q24gbmhhdSIKIAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ3MAorbXNnaWQgInJlYXNvbiBmb3IgbG9ja2luZyIKK21zZ3N0ciAibMO9IGRvIGtow7NhIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDgyIGJ1aWx0aW4vd29ya3RyZWUuYzo1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiVzIGtow7RuZyBwaOG6o2kgbMOgIGPDonkgbMOgbSB2aeG7h2MiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODQgYnVpbHRpbi93b3JrdHJlZS5jOjUxNworbXNnaWQgIlRoZSBtYWluIHdvcmtpbmcgdHJlZSBjYW5ub3QgYmUgbG9ja2VkIG9yIHVubG9ja2VkIgorbXNnc3RyICJDw6J5IHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgY2jDrW5oIGtow7RuZyB0aOG7gyBraMOzYSBoYXkgYuG7jyBraMOzYSDEkcaw4bujYyIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkLCByZWFzb246ICVzIgorbXNnc3RyICLigJwlc+KAnSDEkcOjIMSRxrDhu6NjIGtow7NhIHLhu5NpLCBsw70gZG86ICVzIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiCittc2dzdHIgIuKAnCVz4oCdIMSRw6MgxJHGsOG7o2Mga2jDs2EgcuG7k2kiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgorbXNnc3RyICLigJwlc+KAnSBjaMawYSBi4buLIGtow7NhIgorCiAjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxMwogbXNnaWQgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHRp4buBbi104buRPi9dIgpAQCAtMTE4MDgsNiArMTMxNTMsMzkgQEAKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgogbXNnc3RyICJjaOG7iSBo4buvdSDDrWNoIGtoaSBj4bqnbiBn4buhIGzhu5dpIgogCisjOiB1cGxvYWQtcGFjay5jOjIyCittc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgorbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzxjw6FjLXTDuXktY2jhu41uPl0gPC/Ekcaw4budbmcvZOG6q24+IgorCisjOiB1cGxvYWQtcGFjay5jOjEwMjgKK21zZ2lkICJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiCittc2dzdHIgInRob8OhdCBzYXUga2hpIG3hu5l0IHRyYW8gxJHhu5VpIHnDqnUgY+G6p3UgaGF5IHRy4bqjIGzhu51pIMSRxqFuIgorCisjOiB1cGxvYWQtcGFjay5jOjEwMzAKK21zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGluaXRpYWwgcmVmIGFkdmVydGlzZW1lbnQiCittc2dzdHIgInRob8OhdCBuZ2F5IHNhdSBraGkga2jhu59pIHThuqFvIHF14bqjbmcgY8OhbyB0aGFtIGNoaeG6v3UiCisKKyM6IHVwbG9hZC1wYWNrLmM6MTAzMgorbXNnaWQgImRvIG5vdCB0cnkgPGRpcmVjdG9yeT4vLmdpdC8gaWYgPGRpcmVjdG9yeT4gaXMgbm8gR2l0IGRpcmVjdG9yeSIKK21zZ3N0ciAixJHhu6tuZyB0aOG7rSA8dGjGsF9t4bulYz4vLmdpdC8gbuG6v3UgPHRoxrBfbeG7pWM+IGtow7RuZyBwaOG6o2kgbMOgIHRoxrAgbeG7pWMgR2l0IgorCisjOiB1cGxvYWQtcGFjay5jOjEwMzQKK21zZ2lkICJpbnRlcnJ1cHQgdHJhbnNmZXIgYWZ0ZXIgPG4+IHNlY29uZHMgb2YgaW5hY3Rpdml0eSIKK21zZ3N0ciAibmfhuq90IHRydXnhu4FuIHRow7RuZyBzYXUgPG4+IGdpw6J5IGtow7RuZyBob+G6oXQgxJHhu5luZyIKKworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgcGVybWlzc2lvbnMgb24geW91ciBzb2NrZXQgZGlyZWN0b3J5IGFyZSB0b28gbG9vc2U7IG90aGVyXG4iCisidXNlcnMgbWF5IGJlIGFibGUgdG8gcmVhZCB5b3VyIGNhY2hlZCBjcmVkZW50aWFscy4gQ29uc2lkZXIgcnVubmluZzpcbiIKKyJcbiIKKyJcdGNobW9kIDA3MDAgJXMiCittc2dzdHIgIiIKKyJRdXnhu4FuIGjhuqFuIHRyw6puIHRoxrAgbeG7pWMgZ8OzaSBt4bqhbmcgY+G7p2EgYuG6oW4ga2jDtG5nIGNow61uaCB4w6FjOyBuZ8aw4budaSBkw7luZ1xuIgorImtow6FjIGPDsyBs4bq9IGPDsyB0aOG7gyDEkeG7jWMgxJHGsOG7o2MgY2jhu6luZyB0aMawIMSRxrDhu6NjIGzGsHUgxJHhu4dtIGPhu6dhIGLhuqFuLiBDw6JuIG5o4bqvYyBjaOG6oXk6XG4iCisiXG4iCisiXHRjaG1vZCAwNzAwICVzIgorCiAjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzEKIG1zZ2lkICJwcmludCBkZWJ1Z2dpbmcgbWVzc2FnZXMgdG8gc3RkZXJyIgogbXNnc3RyICJpbiB0aMO0bmcgdGluIGfhu6EgbOG7l2kgcmEgxJHhuqd1IHJhIGzhu5dpIHRpw6p1IGNodeG6qW4iCkBAIC0xMTgyMiw3ICsxMzIwMCwxMSBAQAogImjGsOG7m25nIGThuqtuIHbhu4Ega2jDoWkgbmnhu4dtLiBYZW0g4oCcZ2l0IGhlbHAgPGzhu4duaD7igJ0gaGF5IOKAnGdpdCBoZWxwIDxraMOhaS1uaeG7h20+4oCdXG4iCiAixJHhu4MgeGVtIGPDoWMgxJHhurdjIHThuqMgY2hvIGzhu4duaCBoYXkga2jDoWkgbmnhu4dtIGPhu6UgdGjhu4MuIgogCi0jOiBodHRwLmM6MzIyCisjOiBodHRwLmM6MzQyCittc2dpZCAiRGVsZWdhdGlvbiBjb250cm9sIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4yMi4wIgorbXNnc3RyICLEkGnhu4F1IGtoaeG7g24gZ2lhbyBxdXnhu4FuIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIHbhu5tpIGNVUkwgPCA3LjIyLjAiCisKKyM6IGh0dHAuYzozNTEKIG1zZ2lkICJQdWJsaWMga2V5IHBpbm5pbmcgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjQ0LjAiCiBtc2dzdHIgIkNo4buRdCBraMOzYSBjw7RuZyBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyB24bubaSBjVVJMIDwgNy40NC4wIgogCkBAIC0xMTk0MCwxNSArMTMzMjIsMTUgQEAKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgIm5vLW9wICh0xrDGoW5nIHRow61jaCBuZ8aw4bujYykiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyMzcKKyM6IHBhcnNlLW9wdGlvbnMuaDoyMzgKIG1zZ2lkICJiZSBtb3JlIHZlcmJvc2UiCiBtc2dzdHIgImNoaSB0aeG6v3QgaMahbiBu4buvYSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzOQorIzogcGFyc2Utb3B0aW9ucy5oOjI0MAogbXNnaWQgImJlIG1vcmUgcXVpZXQiCiBtc2dzdHIgImltIGzhurduZyBoxqFuIG7hu69hIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjQ1CisjOiBwYXJzZS1vcHRpb25zLmg6MjQ2CiBtc2dpZCAidXNlIDxuPiBkaWdpdHMgdG8gZGlzcGxheSBTSEEtMXMiCiBtc2dzdHIgInPhu60gZOG7pW5nIDxuPiBjaOG7ryBz4buRIMSR4buDIGhp4buDbiB0aOG7iyBTSEEtMXMiCiAKQEAgLTExOTU2LDMyICsxMzMzOCwzMiBAQAogbXNnaWQgInVwZGF0ZSB0aGUgaW5kZXggd2l0aCByZXVzZWQgY29uZmxpY3QgcmVzb2x1dGlvbiBpZiBwb3NzaWJsZSIKIG1zZ3N0ciAiY+G6rXAgbmjhuq10IGLhuqNuZyBt4bulYyBs4bulYyB24bubaSBwaMOibiBnaeG6o2kgeHVuZyDEkeG7mXQgZMO5bmcgbOG6oWkgbuG6v3UgxJHGsOG7o2MiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NTUKKyM6IGdpdC1iaXNlY3Quc2g6NTQKIG1zZ2lkICJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIiIKIG1zZ3N0ciAiQuG6oW4gY+G6p24ga2jhu59pIMSR4bqndSBi4bqxbmcgXCJnaXQgYmlzZWN0IHN0YXJ0XCIiCiAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LWJpc2VjdC5zaDo2MQorIzogZ2l0LWJpc2VjdC5zaDo2MAogbXNnaWQgIkRvIHlvdSB3YW50IG1lIHRvIGRvIGl0IGZvciB5b3UgW1kvbl0/ICIKIG1zZ3N0ciAiQuG6oW4gY8OzIG114buRbiB0w7RpIHRo4buxYyBoaeG7h24gxJFp4buBdSBuw6B5IGNobyBi4bqhbiBraMO0bmcgW1kvbl0/ICIKIAotIzogZ2l0LWJpc2VjdC5zaDoxMjIKKyM6IGdpdC1iaXNlY3Quc2g6MTIxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbmlzZWQgb3B0aW9uOiAnJGFyZyciCiBtc2dzdHIgImtow7RuZyBjw7RuZyBuaOG6rW4gdMO5eSBjaOG7jW46IOKAnCRhcmfigJ0iCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTI2CisjOiBnaXQtYmlzZWN0LnNoOjEyNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmcnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIHJldmlzaW9uIgogbXNnc3RyICLigJ0kYXJn4oCdIGtow7RuZyBjw7MgduG6uyBuaMawIGzDoCBt4buZdCDEkWnhu4NtIHjDqXQgZHV54buHdCBo4bujcCBs4buHIgogCi0jOiBnaXQtYmlzZWN0LnNoOjE1NQorIzogZ2l0LWJpc2VjdC5zaDoxNTQKIG1zZ2lkICJCYWQgSEVBRCAtIEkgbmVlZCBhIEhFQUQiCiBtc2dzdHIgIkhFQUQgc2FpIC0gVMO0aSBj4bqnbiBt4buZdCBIRUFEIgogCi0jOiBnaXQtYmlzZWN0LnNoOjE2OAorIzogZ2l0LWJpc2VjdC5zaDoxNjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJDaGVja2luZyBvdXQgJyRzdGFydF9oZWFkJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCByZXNldCA8dmFsaWQtYnJhbmNoPicuIgpAQCAtMTE5ODksMjcgKzEzMzcxLDI4IEBACiAiVmnhu4djIGzhuqV5IOKAnCRzdGFydF9oZWFk4oCdIHJhIGfhurdwIGzhu5dpLiBIw6N5IHRo4butIFwiZ2l0IGJpc2VjdCByZXNldCA8bmjDoW5oX2jhu6NwX2zhu4c+IgogIlwiLiIKIAotIzogZ2l0LWJpc2VjdC5zaDoxNzgKKyM6IGdpdC1iaXNlY3Quc2g6MTc3CiBtc2dpZCAid29uJ3QgYmlzZWN0IG9uIGNnLXNlZWsnZWQgdHJlZSIKIG1zZ3N0ciAic+G6vSBraMO0bmcgZGkgY2h1eeG7g24gbuG7rWEgYsaw4bubYyB0csOqbiBjw6J5IMSRxrDhu6NjIGNnLXNlZWsiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTgyCisjOiBnaXQtYmlzZWN0LnNoOjE4MQogbXNnaWQgIkJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiCiBtc2dzdHIgIkhFQUQgc2FpIC0gdGhhbSBjaGnhur91IG3hu4FtIGvhu7MgbOG6oSIKIAotIzogZ2l0LWJpc2VjdC5zaDoyMzQKKyM6IGdpdC1iaXNlY3Quc2g6MjMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgYmlzZWN0X3dyaXRlIGFyZ3VtZW50OiAkc3RhdGUiCiBtc2dzdHIgIsSQ4buRaSBz4buRIGJpc2VjdF93cml0ZSBzYWk6ICRzdGF0ZSIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNjMKKyM6IGdpdC1iaXNlY3Quc2g6MjYyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkYXJnIgogbXNnc3RyICLEkOG6p3UgdsOgbyByZXYgc2FpOiAkYXJnIgogCi0jOiBnaXQtYmlzZWN0LnNoOjI3OAotbXNnaWQgIlBsZWFzZSBjYWxsICdiaXNlY3Rfc3RhdGUnIHdpdGggYXQgbGVhc3Qgb25lIGFyZ3VtZW50LiIKLW1zZ3N0ciAiSMOjeSBn4buNaSBs4buHbmhsIOKAnGJpc2VjdF9zdGF0ZeKAnSB24bubaSDDrXQgbmjhuqV0IG3hu5l0IMSR4buRaSBz4buRLiIKKyM6IGdpdC1iaXNlY3Quc2g6MjgxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJCYWQgcmV2IGlucHV0OiAkYmlzZWN0ZWRfaGVhZCIKK21zZ3N0ciAixJDhuqd1IHbDoG8gcmV2IHNhaTogJGJpc2VjdGVkX2hlYWQiCiAKICM6IGdpdC1iaXNlY3Quc2g6MjkwCiAjLCBzaC1mb3JtYXQKQEAgLTEyMTU1LDcgKzEzNTM4LDQ3IEBACiAidGhhbSBz4buRIGtow7RuZyBo4bujcCBs4buHICRhcmcgY2hvIOKAnGdpdCBiaXNlY3QgdGVybXPigJ0uXG4iCiAiQ8OhYyB0w7l5IGNo4buNbiBo4buXIHRy4bujIGzDoDogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCB2w6AgLS10ZXJtLWJhZHwtLXRlcm0tbmV3LiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NDYKK21zZ2lkICIiCisiRXJyb3I6IFlvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKKyJtZXJnZSIKK21zZ3N0ciAiIgorIkzhu5dpOiBDw6FjIHRoYXkgxJHhu5VpIG7hu5lpIGLhu5kgY+G7p2EgYuG6oW4gduG7m2kgY8OhYyB04bqtcCB0aW4gc2F1IMSRw6J5IHPhur0gYuG7iyBnaGkgxJHDqCBi4bufaSAiCisibOG7h25oIGjDsmEgdHLhu5luIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo2MQorbXNnaWQgIkF1dG9tYXRlZCBtZXJnZSBkaWQgbm90IHdvcmsuIgorbXNnc3RyICJIw7JhIHRy4buZbiBt4buZdCBjw6FjaCB04buxIMSR4buZbmcga2jDtG5nIGzDoG0gdmnhu4djLiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NjIKK21zZ2lkICJTaG91bGQgbm90IGJlIGRvaW5nIGFuIG9jdG9wdXMuIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiBt4buZdCBvY3RvcHVzLiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NzMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBmaW5kIGNvbW1vbiBjb21taXQgd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgIktow7RuZyB0aOG7gyB0w6xtIHRo4bqleSBs4bqnbiBjaHV54buDbiBnaWFvIGNodW5nIHbhu5tpICRwcmV0dHlfbmFtZSIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NzcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZSB3aXRoICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAixJDDoyBj4bqtcCBuaOG6rXQgduG7m2kgJHByZXR0eV9uYW1lIHLhu5NpIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo4OQorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFzdC1mb3J3YXJkaW5nIHRvOiAkcHJldHR5X25hbWUiCittc2dzdHIgIkNodXnhu4NuLXRp4bq/cC1uaGFuaCDEkeG6v246ICRwcmV0dHlfbmFtZSIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6OTcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRyeWluZyBzaW1wbGUgbWVyZ2Ugd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgIsSQYW5nIHRo4butIGjDsmEgdHLhu5luIMSRxqFuIGdp4bqjbiB24bubaSAkcHJldHR5X25hbWUiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjEwMgorbXNnaWQgIlNpbXBsZSBtZXJnZSBkaWQgbm90IHdvcmssIHRyeWluZyBhdXRvbWF0aWMgbWVyZ2UuIgorbXNnc3RyICJIw7JhIHRy4buZbiDEkcahbiBnaeG6o24ga2jDtG5nIGzDoG0gdmnhu4djLCB0aOG7rSBow7JhIHRy4buZbiB04buxIMSR4buZbmcuIgorCisjOiBnaXQtcmViYXNlLnNoOjU2CiBtc2dpZCAiIgogIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBpbnN0ZWFkLlxuIgpAQCAtMTIxNjgsMTYgKzEzNTkxLDIxIEBACiAixJDhu4MgcGjhu6VjIGjhu5NpIGzhuqFpIHRow6BuaCBuaMOhbmggbmd1ecOqbiB0aOG7p3kgdsOgIGThu6tuZyB2aeG7h2MgdsOhIGzhuqFpIHRow6wgY2jhuqF5IFwiZ2l0ICIKICJyZWJhc2UgLS1hYm9ydFwiLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNjgKKyM6IGdpdC1yZWJhc2Uuc2g6MTU2IGdpdC1yZWJhc2Uuc2g6Mzk1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCittc2dzdHIgIktow7RuZyB0aOG7gyBxdWF5IHRy4bufIGzhuqFpICRoZWFkX25hbWUiCisKKyM6IGdpdC1yZWJhc2Uuc2g6MTY3CiBtc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgogbXNnc3RyICLEkMOjIMOhcCBk4bulbmcgYXV0b3N0YXNoLiIKIAotIzogZ2l0LXJlYmFzZS5zaDoxNzEKKyM6IGdpdC1yZWJhc2Uuc2g6MTcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3RvcmUgJHN0YXNoX3NoYTEiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBsxrB1ICRzdGFzaF9zaGExIgogCi0jOiBnaXQtcmViYXNlLnNoOjE3MgorIzogZ2l0LXJlYmFzZS5zaDoxNzEKIG1zZ2lkICIiCiAiQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy5cbiIKICJZb3VyIGNoYW5nZXMgYXJlIHNhZmUgaW4gdGhlIHN0YXNoLlxuIgpAQCAtMTIxODgsMzEgKzEzNjE2LDMxIEBACiAiQuG6oW4gY8OzIHRo4buDIGNo4bqheSBs4buHbmggXCJnaXQgc3Rhc2ggcG9wXCIgaGF5IFwiZ2l0IHN0YXNoIGRyb3BcIiBi4bqldCBr4buzIGzDumMgIgogIm7DoG8uXG4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MjExCisjOiBnaXQtcmViYXNlLnNoOjIxMAogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICJNw7NjIChob29rKSBwcmUtcmViYXNlIHThu6sgY2jhu5FpIHJlYmFzZS4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MjE2CisjOiBnaXQtcmViYXNlLnNoOjIxNQogbXNnaWQgIkl0IGxvb2tzIGxpa2UgZ2l0LWFtIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAiIgogIkjDrG5oIG5oxrAgxJFhbmcgdHJvbmcgcXXDoSB0csOsbmggdGjhu7FjIGhp4buHbiBs4buHbmggZ2l0LWFtLiBLaMO0bmcgdGjhu4MgY2jhuqF5IGzhu4duaCAiCiAicmViYXNlLiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNTcKKyM6IGdpdC1yZWJhc2Uuc2g6MzU2CiBtc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKIG1zZ3N0ciAiS2jDtG5nIGPDsyB0aeG6v24gdHLDrG5oIHJlYmFzZSBuw6BvIHBo4bqjaSBraMO0bmc/IgogCi0jOiBnaXQtcmViYXNlLnNoOjM2OAorIzogZ2l0LXJlYmFzZS5zaDozNjcKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIiIKICJIw6BuaCDEkeG7mW5nIOKAnC0tZWRpdC10b2Rv4oCdIGNo4buJIGPDsyB0aOG7gyBkw7luZyB0cm9uZyBxdcOhIHRyw6xuaCDigJxyZWJhc2XigJ0gKHPhu61hIGzhu4tjaCAiCiAic+G7rSkgdMawxqFuZyB0w6FjLiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNzUKKyM6IGdpdC1yZWJhc2Uuc2g6Mzc0CiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buNYyBIRUFEIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3OAorIzogZ2l0LXJlYmFzZS5zaDozNzcKIG1zZ2lkICIiCiAiWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCiAibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCkBAIC0xMjIyMCwxMiArMTM2NDgsNyBAQAogIkLhuqFuIHBo4bqjaSBz4butYSB04bqldCBj4bqjIGPDoWMgbOG6p24gaMOyYSB0cuG7mW4geHVuZyDEkeG7mXQgdsOgIHNhdVxuIgogIsSRw7MgxJHDoW5oIGThuqV1IGNow7puZyBsw6AgY+G6p24geOG7rSBsw70gc+G7rSBk4bulbmcgbOG7h25oIGdpdCBhZGQiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzk2Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCi1tc2dzdHIgIktow7RuZyB0aOG7gyBxdWF5IHRy4bufIGzhuqFpICRoZWFkX25hbWUiCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NDE1CisjOiBnaXQtcmViYXNlLnNoOjQxNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICRzdGF0ZV9kaXJfYmFzZSBkaXJlY3RvcnksIGFuZFxuIgpAQCAtMTIyNDYsOTggKzEzNjY5LDEwMiBAQAogInbDoCBjaOG6oXkgVMOUSSBs4bqnbiBu4buvYS4gVMOUSSAgZOG7q25nIGzhuqFpIHRyb25nIHRyxrDhu51uZyBo4bujcCBi4bqhbiB24bqrblxuIgogImPDsyBt4buZdCBz4buRIHRo4bupIHF1w70gZ2nDoSDhu58gxJHDonkuIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ2NgorIzogZ2l0LXJlYmFzZS5zaDo0NjUKICMsIHNoLWZvcm1hdAogbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJHVwc3RyZWFtX25hbWUiCiBtc2dzdHIgInRoxrDhu6NuZyBuZ3Xhu5NuIGtow7RuZyBo4bujcCBs4buHICR1cHN0cmVhbV9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5MAorIzogZ2l0LXJlYmFzZS5zaDo0ODkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgogbXNnc3RyICIkb250b19uYW1lOiDhu58gxJHDonkgY8OzIG5oaeG7gXUgaMahbiBt4buZdCBu4buBbiBtw7NuZyBow7JhIHRy4buZbiIKIAotIzogZ2l0LXJlYmFzZS5zaDo0OTMgZ2l0LXJlYmFzZS5zaDo0OTcKKyM6IGdpdC1yZWJhc2Uuc2g6NDkyIGdpdC1yZWJhc2Uuc2g6NDk2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgogbXNnc3RyICIkb250b19uYW1lOiDhu58gxJHDonkga2jDtG5nIGPDsyBu4buBbiBtw7NuZyBow7JhIHRy4buZbiBuw6BvIgogCi0jOiBnaXQtcmViYXNlLnNoOjUwMgorIzogZ2l0LXJlYmFzZS5zaDo1MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0OiAkb250b19uYW1lIgogbXNnc3RyICJLaMO0bmcgY2jhu4kgxJHhur9uIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8ga2jDtG5nIGjhu6NwIGzhu4c6ICRvbnRvX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTI1CisjOiBnaXQtcmViYXNlLnNoOjUyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoOiAkYnJhbmNoX25hbWUiCiBtc2dzdHIgIm5naGnDqm0gdHLhu41uZzoga2jDtG5nIGPDsyBuaMOhbmggbmjGsCB0aOG6vzogJGJyYW5jaF9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjU1OAorIzogZ2l0LXJlYmFzZS5zaDo1NTcKIG1zZ2lkICJDYW5ub3QgYXV0b3N0YXNoIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgYXV0b3N0YXNoIgogCi0jOiBnaXQtcmViYXNlLnNoOjU2MworIzogZ2l0LXJlYmFzZS5zaDo1NjIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgogbXNnc3RyICLEkMOjIHThuqFvIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1NjcKKyM6IGdpdC1yZWJhc2Uuc2g6NTY2CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAiWGluIGjDo3kgY2h1eeG7g24gZ2lhbyBob+G6t2MgdOG6oW0gY+G6pXQgKHN0YXNoKSBjaMO6bmcuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU4NworIzogZ2l0LXJlYmFzZS5zaDo1ODYKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiTmjDoW5oIGhp4buHbiB04bqhaSAkYnJhbmNoX25hbWUgxJHDoyDEkcaw4bujYyBj4bqtcCBuaOG6rXQgcuG7k2kuIgogCi0jOiBnaXQtcmViYXNlLnNoOjU5MQorIzogZ2l0LXJlYmFzZS5zaDo1OTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAiTmjDoW5oIGhp4buHbiB04bqhaSAkYnJhbmNoX25hbWUgxJHDoyDEkcaw4bujYyBj4bqtcCBuaOG6rXQgcuG7k2ksIGzhu4duaCByZWJhc2Ugw6lwIGJ14buZYy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjAyCisjOiBnaXQtcmViYXNlLnNoOjYwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCiBtc2dzdHIgIlRoYXkgxJHhu5VpIHThu6sgJG1iIHRow6BuaCAkb250bzoiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjExCisjOiBnaXQtcmViYXNlLnNoOjYxMAogbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLiIKIG1zZ3N0ciAiVHLGsOG7m2MgdGnDqm4sIGRpIGNodXnhu4NuIGhlYWQgxJHhu4MgeGVtIGzhuqFpIGPDoWMgY8O0bmcgdmnhu4djIHRyw6puIMSR4buJbmggY+G7p2EgbsOz4oCmIgogCi0jOiBnaXQtcmViYXNlLnNoOjYyMQorIzogZ2l0LXJlYmFzZS5zaDo2MjAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKIG1zZ3N0ciAiQ2h1eeG7g24tdGnhur9wLW5oYW5oICRicmFuY2hfbmFtZSB0aMOgbmggJG9udG9fbmFtZS4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1MQorIzogZ2l0LXN0YXNoLnNoOjUwCiBtc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIHdpdGggcGFyYW1ldGVycyBpcyB1bmltcGxlbWVudGVkIgogbXNnc3RyICIiCiAiZ2l0IHN0YXNoIGNsZWFyIHbhu5tpIGPDoWMgdGhhbSBz4buRIGzDoCBjaMawYSDEkcaw4bujYyB0aOG7sWMgaGnhu4duIChraMO0bmcgbmjhuq1uIMSR4buRaSBz4buRKSIKIAotIzogZ2l0LXN0YXNoLnNoOjc0CisjOiBnaXQtc3Rhc2guc2g6NzMKIG1zZ2lkICJZb3UgZG8gbm90IGhhdmUgdGhlIGluaXRpYWwgY29tbWl0IHlldCIKIG1zZ3N0ciAiQuG6oW4gY2jGsGEgY8OybiBjw7MgbOG6p24gY2h1eeG7g24gZ2lhbyBraOG7n2kgdOG6oW8iCiAKLSM6IGdpdC1zdGFzaC5zaDo4OQorIzogZ2l0LXN0YXNoLnNoOjg4CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgbOG6oWkgdHLhuqFuZyB0aMOhaSBi4bqjbmcgbeG7pWMgbOG7pWMgaGnhu4duIGjDoG5oIgogCi0jOiBnaXQtc3Rhc2guc2g6MTI0IGdpdC1zdGFzaC5zaDoxMzcKKyM6IGdpdC1zdGFzaC5zaDoxMDMKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIGPDoWMgdOG6rXAgdGluIGNoxrBhIHRoZW8gZMO1aSIKKworIzogZ2l0LXN0YXNoLnNoOjEyMyBnaXQtc3Rhc2guc2g6MTM2CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgbOG6oWkgdHLhuqFuZyB0aMOhaSBjw6J5LWzDoG0tdmnhu4djIGhp4buHbiBow6BuaCIKIAotIzogZ2l0LXN0YXNoLnNoOjE0MQorIzogZ2l0LXN0YXNoLnNoOjE0MAogbXNnaWQgIk5vIGNoYW5nZXMgc2VsZWN0ZWQiCiBtc2dzdHIgIkNoxrBhIGPDsyB0aGF5IMSR4buVaSBuw6BvIMSRxrDhu6NjIGNo4buNbiIKIAotIzogZ2l0LXN0YXNoLnNoOjE0NAorIzogZ2l0LXN0YXNoLnNoOjE0MwogbXNnaWQgIkNhbm5vdCByZW1vdmUgdGVtcG9yYXJ5IGluZGV4IChjYW4ndCBoYXBwZW4pIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ+G7oSBi4buPIGLhuqNuZyBt4bulYyBs4bulYyB04bqhbSB0aOG7nWkgKGtow7RuZyB0aOG7gyB44bqjeSByYSkiCiAKLSM6IGdpdC1zdGFzaC5zaDoxNTcKKyM6IGdpdC1zdGFzaC5zaDoxNTYKIG1zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSBs4bqhaSB0cuG6oW5nIHRow6FpIGPDonkgbMOgbSB2aeG7h2MgaGnhu4duIGjDoG5oIgogCi0jOiBnaXQtc3Rhc2guc2g6MTg5CisjOiBnaXQtc3Rhc2guc2g6MTg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlICRyZWZfc3Rhc2ggd2l0aCAkd19jb21taXQiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgJHJlZl9zdGFzaCB24bubaSAkd19jb21taXQiCkBAIC0xMjM1Miw3ICsxMzc3OSw3IEBACiAjLiAkIGdpdCBzdGFzaCBzYXZlIC0tYmxhaC1ibGFoIDI+JjEgfCBoZWFkIC1uIDIKICMuIGVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAtLWJsYWgtYmxhaAogIy4gVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnLS1ibGFoLWJsYWgnCi0jOiBnaXQtc3Rhc2guc2g6MjM5CisjOiBnaXQtc3Rhc2guc2g6MjM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKQEAgLTEyMzYyLDExMSArMTM3ODksMTI4IEBACiAiICAgICDEkOG7gyBjw7MgdGjhu4MgZMO5bmcgbOG7nWkgY2jDuiB0aMOtY2ggY8OzIGNo4bupYSAtLSDhu58gxJHhuqd1LFxuIgogIiAgICAgZMO5bmcgZ2l0IHN0YXNoIHNhdmUgLS0gXCIkb3B0aW9uXCIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjAKKyM6IGdpdC1zdGFzaC5zaDoyNTEKK21zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgZMO5bmcgLS1wYXRjaCB2w6AgLS1pbmNsdWRlLXVudHJhY2tlZCBoYXkgLS1hbGwgY8O5bmcgbeG7mXQgbMO6Yy4iCisKKyM6IGdpdC1zdGFzaC5zaDoyNTkKIG1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCiBtc2dzdHIgIktow7RuZyBjw7MgdGhheSDEkeG7lWkgbuG7mWkgYuG7mSBuw6BvIMSRxrDhu6NjIGdoaSBs4bqhaSIKIAotIzogZ2l0LXN0YXNoLnNoOjI2NAorIzogZ2l0LXN0YXNoLnNoOjI2MwogbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgogbXNnc3RyICJLaMO0bmcgdGjhu4Mga2jhu59pIHThuqFvIHN0YXNoIgogCi0jOiBnaXQtc3Rhc2guc2g6MjY4CisjOiBnaXQtc3Rhc2guc2g6MjY3CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIHRy4bqhbmcgdGjDoWkgaGnhu4duIGjDoG5oIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjg2CisjOiBnaXQtc3Rhc2guc2g6MjY4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJHN0YXNoX21zZyIKK21zZ3N0ciAixJDDoyBnaGkgbOG6oWkgdGjGsCBt4bulYyBsw6BtIHZp4buHYyB2w6AgdHLhuqFuZyB0aMOhaSBt4bulYyBs4bulYyAkc3Rhc2hfbXNnIgorCisjOiBnaXQtc3Rhc2guc2g6Mjg1CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ+G7oSBi4buPIGPDoWMgdGhheSDEkeG7lWkgY8OieS1sw6BtLXZp4buHYyIKIAotIzogZ2l0LXN0YXNoLnNoOjQwNQorIzogZ2l0LXN0YXNoLnNoOjQwMwogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgImtow7RuZyBoaeG7g3UgdMO5eSBjaOG7jW46ICRvcHQiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MTUKKyM6IGdpdC1zdGFzaC5zaDo0MTYKIG1zZ2lkICJObyBzdGFzaCBmb3VuZC4iCiBtc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSBs4bqnbiBjaHV54buDbiBnaWFvIGPhuqV0IMSRaSAoc3Rhc2gpIG7DoG8uIgogCi0jOiBnaXQtc3Rhc2guc2g6NDIyCisjOiBnaXQtc3Rhc2guc2g6NDIzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICJDaOG7iSByYSBxdcOhIG5oaeG7gXUgxJFp4buDbSB4w6l0IGR1eeG7h3Q6ICRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjgKKyM6IGdpdC1zdGFzaC5zaDo0MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIGtow7RuZyBwaOG6o2kgbMOgIHRoYW0gY2hp4bq/dSBo4bujcCBs4buHIgogCi0jOiBnaXQtc3Rhc2guc2g6NDU2CisjOiBnaXQtc3Rhc2guc2g6NDY2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgogbXNnc3RyICLigJwkYXJnc+KAnSBraMO0bmcgcGjhuqNpIGzDoCBs4bqnbiBjaHV54buDbiBnaWFvIGtp4buDdS1zdGFzaCAoY+G6pXQgxJFpKSIKIAotIzogZ2l0LXN0YXNoLnNoOjQ2NworIzogZ2l0LXN0YXNoLnNoOjQ3NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIuKAnSRhcmdz4oCdIGtow7RuZyBwaOG6o2kgdGhhbSBjaGnhur91IMSR4bq/biBzdGFzaCIKIAotIzogZ2l0LXN0YXNoLnNoOjQ3NQorIzogZ2l0LXN0YXNoLnNoOjQ4NQogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICJraMO0bmcgdGjhu4MgbMOgbSB0xrDGoWkgbeG7m2kgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBnaXQtc3Rhc2guc2g6NDc5CisjOiBnaXQtc3Rhc2guc2g6NDg5CiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICJLaMO0bmcgdGjhu4Mgw6FwIGThu6VuZyBt4buZdCBzdGFzaCDhu58gZ2nhu69hIGPhu6dhIHF1w6EgdHLDrG5oIGjDsmEgdHLhu5luIgogCi0jOiBnaXQtc3Rhc2guc2g6NDg3CisjOiBnaXQtc3Rhc2guc2g6NDk3CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiWHVuZyDEkeG7mXQgdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjLiBIw6N5IHRo4butIG3DoCBraMO0bmcgZMO5bmcgdMO5eSBjaOG7jW4gLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODkKKyM6IGdpdC1zdGFzaC5zaDo0OTkKIG1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIGPDonkgY2jhu4kgbeG7pWMiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MjMKKyM6IGdpdC1zdGFzaC5zaDo1MDgKK21zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHBo4bulYyBo4buTaSBjw6FjIHThuq1wIHRpbiBjaMawYSB0aGVvIGTDtWkgdOG7qyBzdGFzaCIKKworIzogZ2l0LXN0YXNoLnNoOjUzMwogbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgYuG7jyByYSBraOG7j2kgYuG7hyBwaMOzbmcgY8OhYyB04bqtcCB0aW4gxJHDoyDEkcaw4bujYyBz4butYSBjaOG7r2EiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MzgKKyM6IGdpdC1zdGFzaC5zaDo1NDgKIG1zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCiBtc2dzdHIgIkLhuqNuZyBt4bulYyBs4bulYyDEkcOjIGtow7RuZyDEkcaw4bujYyBi4buPIHN0YXNoLiIKIAotIzogZ2l0LXN0YXNoLnNoOjU2MQorIzogZ2l0LXN0YXNoLnNoOjU2MgorbXNnaWQgIlRoZSBzdGFzaCBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorbXNnc3RyICJzdGFzaCDEkcaw4bujYyBnaeG7ryB0cm9uZyB0csaw4budbmcgaOG7o3AgYuG6oW4gbOG6oWkgY+G6p24gbsOzLiIKKworIzogZ2l0LXN0YXNoLnNoOjU3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAixJDDoyB4w7NhICR7UkVWfSAoJHMpIgogCi0jOiBnaXQtc3Rhc2guc2g6NTYyCisjOiBnaXQtc3Rhc2guc2g6NTcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIke1JFVn06IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgogbXNnc3RyICIke1JFVn06IEtow7RuZyB0aOG7gyB4w7NhIGLhu48gbeG7pWMgc3Rhc2giCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzAKKyM6IGdpdC1zdGFzaC5zaDo1ODAKIG1zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCiBtc2dzdHIgIkNoxrBhIGNo4buJIHJhIHTDqm4gY+G7p2EgbmjDoW5oIgogCi0jOiBnaXQtc3Rhc2guc2g6NjQyCisjOiBnaXQtc3Rhc2guc2g6NjUyCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICIoxJDhu4MgcGjhu6VjIGjhu5NpIGzhuqFpIGNow7puZyBow6N5IGfDtSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTg0CiBtc2dpZCAiUmVsYXRpdmUgcGF0aCBjYW4gb25seSBiZSB1c2VkIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiIKICLEkMaw4budbmcgZOG6q24gdMawxqFuZyDEkeG7kWkgY2jhu4kgY8OzIHRo4buDIGTDuW5nIHThu6sgdGjGsCBt4bulYyDhu58gbeG7qWMgY2FvIG5o4bqldCBj4bunYSBjw6J5IGzDoG0gIgogInZp4buHYyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMjkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTk0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJyZXBvIFVSTDogJyRyZXBvJyBtdXN0IGJlIGFic29sdXRlIG9yIGJlZ2luIHdpdGggLi98Li4vIgogbXNnc3RyICIiCiAicmVwbyBVUkw6IOKAnCRyZXBv4oCdIHBo4bqjaSBsw6AgxJHGsOG7nW5nIGThuqtuIHR1eeG7h3QgxJHhu5FpIGhv4bq3YyBsw6AgYuG6r3QgxJHhuqd1IGLhurFuZyAuL3wuLi8iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ2CisjOiBnaXQtc3VibW9kdWxlLnNoOjIxMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgIuKAnSRzbV9wYXRo4oCdIHRo4buxYyBz4buxIMSRw6MgdOG7k24gdOG6oWkg4bufIGLhuqNuZyBt4bulYyBs4bulYyBy4buTaSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjE1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBwYXRoIGlzIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKQEAgLTEyNDc4LDk5ICsxMzkyMiw5MCBAQAogIiRzbV9wYXRoXG4iCiAiU+G7rSBk4bulbmcgLWYgbuG6v3UgYuG6oW4gdGjhu7FjIHPhu7EgbXXhu5FuIHRow6ptIG7DsyB2w6BvLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgZXhpc3RpbmcgcmVwbyBhdCAnJHNtX3BhdGgnIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAixJBhbmcgdGjDqm0gcmVwbyBjw7Mgc+G6tW4gdOG6oWkg4oCcJHNtX3BhdGjigJ0gdsOgbyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjcwCisjOiBnaXQtc3VibW9kdWxlLnNoOjIzNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGEgdmFsaWQgZ2l0IHJlcG8iCiBtc2dzdHIgIuKAnSRzbV9wYXRo4oCdIMSRw6MgdOG7k24gdOG6oWkgdOG7qyB0csaw4bubYyB2w6Aga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQga2hvIGdpdCBo4bujcCBs4buHIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKIG1zZ3N0ciAiIgogIlRoxrAgbeG7pWMgZ2l0IGNobyDigJwkc21fbmFtZeKAnSDEkcaw4bujYyB0w6xtIHRo4bqleSBt4buZdCBjw6FjaCBj4bulYyBi4buZIHbhu5tpIGPDoWMgbcOheSBjaOG7pzoiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjI0NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgotIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbSIKLW1zZ3N0ciAiTuG6v3UgYuG6oW4gbXXhu5FuIGTDuW5nIGzhuqFpIHRoxrAgbeG7pWMgZ2l0IG7hu5lpIGLhu5kgbsOgeSB0aGF5IHbDrCBuaMOibiBi4bqjbiB04burIG7DsyIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODIKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJ1c2UgdGhlICctLWZvcmNlJyBvcHRpb24uIElmIHRoZSBsb2NhbCBnaXQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgY29ycmVjdCByZXBvIgotbXNnc3RyICIiCi0iZMO5bmcgdMO5eSBjaOG7jW4g4oCcLS1mb3JjZeKAnS4gTuG6v3UgdGjGsCBt4bulYyBnaXQgbuG7mWkgYuG7mSBraMO0bmcgcGjhuqNpIGzDoCByZXBvIChraG8pIMSRw7puZyIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKKyJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb21cbiIKKyIgICRyZWFscmVwb1xuIgorInVzZSB0aGUgJy0tZm9yY2UnIG9wdGlvbi4gSWYgdGhlIGxvY2FsIGdpdCBkaXJlY3RvcnkgaXMgbm90IHRoZSBjb3JyZWN0ICIKKyJyZXBvXG4iCiAib3IgeW91IGFyZSB1bnN1cmUgd2hhdCB0aGlzIG1lYW5zIGNob29zZSBhbm90aGVyIG5hbWUgd2l0aCB0aGUgJy0tbmFtZScgIgogIm9wdGlvbi4iCiBtc2dzdHIgIiIKLSJoYXkgYuG6oW4ga2jDtG5nIGNo4bqvYyBjaOG6r24gxJFp4buBdSDEkcOzIGPDsyBuZ2jEqWEgZ8OsIGNo4buNbiB0w6puIGtow6FjIHbhu5tpIHTDuXkgY2jhu41uIOKAnC0tIgotIm5hbWXigJ0uIgorIk7hur91IGLhuqFuIG114buRbiBz4butIGThu6VuZyBs4bqhaSB0aMawIG3hu6VjIG7hu5lpIGLhu5kgbsOgeSB0aGF5IHbDrCBuaMOibiBi4bqjbiBs4bqhaSBs4bqnbiBu4buvYSB04burXG4iCisiICAkcmVhbHJlcG9cbiIKKyJkw7luZyB0w7l5IGNo4buNbiDigJwtLWZvcmNl4oCdLiBO4bq/dSB0aMawIG3hu6VjIGdpdCBu4buZaSBi4buZIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGtobyDEkcO6bmdcbiIKKyJob+G6t2MgbMOgIGLhuqFuIGtow7RuZyBjaOG6r2MgY2jhuq9uIMSRaeG7gXUgxJHDsyBuZ2jEqWEgbMOgIGfDrCB0aMOsIGNo4buNbiB0w6puIGtow6FjIHbhu5tpIHTDuXkgIgorImNo4buNbiDigJwtLW5hbWXigJ0uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYWN0aXZhdGluZyBsb2NhbCBnaXQgZGlyZWN0b3J5IGZvciBzdWJtb2R1bGUgJyRzbV9uYW1lJy4iCiBtc2dzdHIgIiIKICJQaOG7pWMgaOG7k2kgc+G7sSBob+G6oXQgxJHhu5luZyBj4bunYSB0aMawIG3hu6VjIGdpdCBu4buZaSBi4buZIGNobyBtw7QtxJF1bi1jb24g4oCcJHNtX25hbWXigJ0uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI5NworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGzhuqV5IHJhIG3DtC3EkXVuLWNvbiDigJwkc21fcGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjY4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gYWRkIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgdGjDqm0gbcO0LcSRdW4tY29uIOKAnCRzbV9wYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMxMQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSRxINuZyBrw70gduG7m2kgaOG7hyB0aOG7kW5nIG3DtC3EkXVuLWNvbiDigJwkc21fcGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNTUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzI0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFbnRlcmluZyAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAixJBhbmcgdsOgbyDigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mzc1CisjOiBnaXQtc3VibW9kdWxlLnNoOjM0NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3RvcHBpbmcgYXQgJyRkaXNwbGF5cGF0aCc7IHNjcmlwdCByZXR1cm5lZCBub24temVybyBzdGF0dXMuIgogbXNnc3RyICJE4burbmcgbOG6oWkgdOG6oWkg4oCcJGRpc3BsYXlwYXRo4oCdOyBzY3JpcHQgdHLhuqMgduG7gSB0cuG6oW5nIHRow6FpIGtow6FjIGtow7RuZy4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDQ4CisjOiBnaXQtc3VibW9kdWxlLnNoOjQxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgYW5kIC0tYWxsIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIsSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiB2w6AgLS1hbGwgeHVuZyBraOG6r2MgbmhhdSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDIwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICJEw7luZyDigJwtLWFsbOKAnSBu4bq/dSBi4bqhbiB0aOG7sWMgc+G7sSBtdeG7kW4gaOG7p3kga2jhu59pIHThuqFvIG3hu41pIG3DtC3EkXVuLWNvbiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSIKLW1zZ3N0ciAiQ8OieSBsw6BtIHZp4buHYyBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdIGPDsyBjaOG7qWEgdGjGsCBt4bulYyAuZ2l0IgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ3MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKKyJTdWJtb2R1bGUgd29yayB0cmVlICckZGlzcGxheXBhdGgnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnlcbiIKICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgaGlzdG9yeSkiCiBtc2dzdHIgIiIKKyJDw6J5IGzDoG0gdmnhu4djIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ0gY8OzIGNo4bupYSB0aMawIG3hu6VjIC5naXRcbiIKICIoZMO5bmcg4oCccm0gLXJm4oCdIG7hur91IGLhuqFuIHRo4buxYyBz4buxIG114buRbiBn4buhIGLhu48gbsOzIGPDuW5nIHbhu5tpIHThuqV0IGPhuqMgbOG7i2NoIHPhu60gY+G7p2EgIgogImNow7puZykiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDc3CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ0OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgbG9jYWwgbW9kaWZpY2F0aW9uczsgdXNlICctZicgdG8gIgpAQCAtMTI1NzksMTI3ICsxNDAxNCwxNDEgQEAKICJDw6J5IGzDoG0gdmnhu4djIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ0gY2jhu6lhIGPDoWMgdGhheSDEkeG7lWkgbuG7mWkgYuG7mTsgaMOjeSBkw7luZyDigJwtIgogImbigJ0gxJHhu4MgbG/huqFpIGLhu48gY2jDum5nIMSRaSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDUxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAixJDDoyB04bqhbyB0aMawIG3hu6VjIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDUyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIHN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBn4buhIGLhu48gY8OieSBsw6BtIHZp4buHYyBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ4NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHThuqFvIHRoxrAgbeG7pWMgbcO0LcSRdW4tY29uIHLhu5duZyDigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDkzCisjOiBnaXQtc3VibW9kdWxlLnNoOjQ2NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICckbmFtZScgKCR1cmwpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTcO0LcSRdW4tY29uIOKAnCRuYW1l4oCdICgkdXJsKSDEkcaw4bujYyBi4buPIMSRxINuZyBrw70gY2hvIMSRxrDhu51uZyBk4bqrbiDigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjM1CisjOiBnaXQtc3VibW9kdWxlLnNoOjYxNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIktow7RuZyB0w6xtIHRo4bqleSDEkWnhu4NtIHjDqXQgZHV54buHdCBoaeG7h24gaMOgbmggdHJvbmcgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiAiCiAi4oCcJGRpc3BsYXlwYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY0NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgduG7gSB0cm9uZyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRzbV9wYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY2NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJVbmFibGUgdG8gZmluZCBjdXJyZW50ICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAiCisiJyRzbV9wYXRoJyIKK21zZ3N0ciAiIgorIktow7RuZyB0aOG7gyB0w6xtIHRo4bqleSDEkWnhu4NtIHjDqXQgZHV54buHdCBoaeG7h24gaMOgbmggJHtyZW1vdGVfbmFtZX0vJHticmFuY2h9IHRyb25nICIKKyLEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRzbV9wYXRo4oCdIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjY1MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgduG7gSB0cm9uZyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjU2CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiRmV0Y2hlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJywgYnV0IGl0IGRpZCBub3QgY29udGFpbiAkc2hhMS4gIgorIkRpcmVjdCBmZXRjaGluZyBvZiB0aGF0IGNvbW1pdCBmYWlsZWQuIgorbXNnc3RyICIiCisixJDDoyBs4bqleSB24buBIHThu6sgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuIGNvbiDigJwkZGlzcGxheXBhdGjigJ0sIG5oxrBuZyBuw7Mga2jDtG5nIGNo4bupYSAkc2hhMS4gIgorIkzhuqV5IHbhu4EgdGhlbyDEkeG7i25oIGjGsOG7m25nIGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8gxJHDsyBn4bq3cCBs4buXaS4iCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjYzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGzhuqV5IHJhIOKAnCRzaGEx4oCdIHRyb25nIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBjaGVja2VkIG91dCAnJHNoYTEnIgogbXNnc3RyICLEkMaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnTogxJHDoyBjaGVja291dCDigJwkc2hhMeKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2ODUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjY4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gcmViYXNlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBj4bqjaSB04buVIOKAnCRzaGEx4oCdIHRyb25nIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKIG1zZ3N0ciAixJDGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ06IMSRxrDhu6NjIHJlYmFzZSB2w6BvIHRyb25nIOKAnCRzaGEx4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY5MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBtZXJnZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiS2jDtG5nIHRo4buDIGjDsmEgdHLhu5luIChtZXJnZSkg4oCcJHNoYTHigJ0gdHJvbmcgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjkyCisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgogbXNnc3RyICLEkMaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnTogxJHGsOG7o2MgaMOyYSB0cuG7mW4gdsOgbyDigJwkc2hhMeKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjgwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJUaOG7sWMgaGnhu4duIGtow7RuZyB0aMOgbmggY8O0bmcgbOG7h25oIOKAnCRjb21tYW5kICRzaGEx4oCdIHRyb25nIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24gIgogIuKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjgxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogJyRjb21tYW5kICRzaGExJyIKIG1zZ3N0ciAixJDGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ06IOKAnCRjb21tYW5kICRzaGEx4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjcyOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo3MTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkeG7hyBxdXkgdsOgbyB0cm9uZyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODIwCiBtc2dpZCAiVGhlIC0tY2FjaGVkIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSAtLWZpbGVzIG9wdGlvbiIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gLS1jYWNoZWQga2jDtG5nIHRo4buDIGTDuW5nIGPDuW5nIHbhu5tpIHTDuXkgY2jhu41uIC0tZmlsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODg5CisjOiBnaXQtc3VibW9kdWxlLnNoOjg3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICJjaOG6vyDEkeG7mSBraMO0bmcgbmjGsCBtb25nIGNo4budICRtb2RfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjkwOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKIG1zZ3N0ciAiICBD4bqjbmggYsOhbzogJGRpc3BsYXlfbmFtZSBraMO0bmcgY2jhu6lhIGzhuqduIGNodXnhu4NuIGdpYW8gJHNoYTFfc3JjIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjkxMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiICBD4bqjbmggYsOhbzogJGRpc3BsYXlfbmFtZSBraMO0bmcgY2jhu6lhIGzhuqduIGNodXnhu4NuIGdpYW8gJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjkxNQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0cyAkc2hhMV9zcmMgYW5kICRzaGExX2RzdCIKIG1zZ3N0ciAiIgogIiAgQ+G6o25oIGLDoW86ICRkaXNwbGF5X25hbWUga2jDtG5nIGNo4bupYSBuaOG7r25nIGzhuqduIGNodXnhu4NuIGdpYW8gJHNoYTFfc3JjIHbDoCAiCiAiJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjk0MAotbXNnaWQgImJsb2IiCi1tc2dzdHIgImJsb2IiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTA1OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMDQ1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkeG7hyBxdXkgdsOgbyB0cm9uZyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRzbV9wYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjExMjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTExMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiVXJsIE3DtC3EkXVuLWNvbiDEkeG7k25nIGLhu5kgaMOzYSBjaG8g4oCcJGRpc3BsYXlwYXRo4oCdIgpAQCAtMTI3MDksNiArMTQxNTgsNzQ2IEBACiBtc2dpZCAiU2VlIGdpdC0ke2NtZH0oMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICJYZW0gZ2l0LSR7Y21kfSgxKSDEkeG7gyBiaeG6v3QgdGjDqm0gY2hpIHRp4bq/dC4iCiAKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEzMQorIywgc2gtZm9ybWF0Cittc2dpZCAiUmViYXNpbmcgKCRuZXdfY291bnQvJHRvdGFsKSIKK21zZ3N0ciAixJBhbmcgcmViYXNlICgkbmV3X2NvdW50LyR0b3RhbCkiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE0NworbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKKyIgcCwgcGljayA9IHVzZSBjb21taXRcbiIKKyIgciwgcmV3b3JkID0gdXNlIGNvbW1pdCwgYnV0IGVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlXG4iCisiIGUsIGVkaXQgPSB1c2UgY29tbWl0LCBidXQgc3RvcCBmb3IgYW1lbmRpbmdcbiIKKyIgcywgc3F1YXNoID0gdXNlIGNvbW1pdCwgYnV0IG1lbGQgaW50byBwcmV2aW91cyBjb21taXRcbiIKKyIgZiwgZml4dXAgPSBsaWtlIFwic3F1YXNoXCIsIGJ1dCBkaXNjYXJkIHRoaXMgY29tbWl0J3MgbG9nIG1lc3NhZ2VcbiIKKyIgeCwgZXhlYyA9IHJ1biBjb21tYW5kICh0aGUgcmVzdCBvZiB0aGUgbGluZSkgdXNpbmcgc2hlbGxcbiIKKyIgZCwgZHJvcCA9IHJlbW92ZSBjb21taXRcbiIKKyJcbiIKKyJUaGVzZSBsaW5lcyBjYW4gYmUgcmUtb3JkZXJlZDsgdGhleSBhcmUgZXhlY3V0ZWQgZnJvbSB0b3AgdG8gYm90dG9tLlxuIgorbXNnc3RyICIiCisiXG4iCisiQ8OhYyBs4buHbmg6XG4iCisiIHAsIHBpY2sgPSBkw7luZyBs4bqnbiBjaHV54buDbiBnaWFvXG4iCisiIHIsIHJld29yZCA9IGTDuW5nIGzhuqduIGNodXnhu4NuIGdpYW8sIG5oxrBuZyBz4butYSBs4bqhaSBwaOG6p24gY2jDuiB0aMOtY2hcbiIKKyIgZSwgZWRpdCA9IGTDuW5nIGzhuqduIGNodXnhu4NuIGdpYW8sIG5oxrBuZyBk4burbmcgbOG6oWkgxJHhu4MgdHUgYuG7lSAoYW1lbmQpXG4iCisiIHMsIHNxdWFzaCA9IGTDuW5nIGzhuqduIGNodXnhu4NuIGdpYW8sIG5oxrBuZyBtZWxkIHbDoG8gbOG6p24gY2h1eeG7g24gZ2lhbyBr4bq/IHRyxrDhu5tjXG4iCisiIGYsIGZpeHVwID0gZ2nhu5FuZyBuaMawIFwic3F1YXNoXCIsIG5oxrBuZyBsb+G6oWkgYuG7jyBjaMO6IHRow61jaCBj4bunYSBs4bqnbiBjaHV54buDbiAiCisiZ2lhbyBuw6B5XG4iCisiIHgsIGV4ZWMgPSBjaOG6oXkgbOG7h25oIChwaOG6p24gY8OybiBs4bqhaSBj4bunYSBkw7JuZykgZMO5bmcgaOG7hyB24buPXG4iCisiIGQsIGRyb3AgPSB4w7NhIGzhuqduIGNodXnhu4NuIGdpYW9cbiIKKyJcbiIKKyJOaOG7r25nIGTDsm5nIG7DoHkgY8OzIHRo4buDIMSR4bqjbyBuZ8aw4bujYyB0aOG7qSB04buxOyBjaMO6bmcgY2jhuqF5IHThu6sgdHLDqm4gxJHhu4luaCB4deG7kW5nIGTGsOG7m2kgIgorIsSRw6F5LlxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxNjIKK21zZ2lkICIiCisiXG4iCisiRG8gbm90IHJlbW92ZSBhbnkgbGluZS4gVXNlICdkcm9wJyBleHBsaWNpdGx5IHRvIHJlbW92ZSBhIGNvbW1pdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIsSQ4burbmcgeMOzYSBi4bqldCBr4buzIGTDsm5nIG7DoG8uIETDuW5nIOKAnGRyb3DigJ0gbeG7mXQgY8OhY2ggcsO1IHLDoG5nIMSR4buDIHjDs2EgYuG7jyBt4buZdCBs4bqnbiAiCisiY2h1eeG7g24gZ2lhby5cbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTY2Cittc2dpZCAiIgorIlxuIgorIklmIHlvdSByZW1vdmUgYSBsaW5lIGhlcmUgVEhBVCBDT01NSVQgV0lMTCBCRSBMT1NULlxuIgorbXNnc3RyICIiCisiXG4iCisiTuG6v3UgYuG6oW4geMOzYSBi4buPIG3hu5l0IGTDsm5nIOG7nyDEkcOieSB0aMOsIEzhuqZOIENIVVnhu4JOIEdJQU8gxJDDkyBT4bq8IE3huqRULlxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyMDIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCisiXG4iCisiXHRnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJPbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzLCBydW5cbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKK21zZ3N0ciAiIgorIkLhuqFuIGPDsyB0aOG7gyB0dSBi4buVIGzhuqduIGNodXnhu4NuIGdpYW8gbmdheSBiw6J5IGdp4budIGLhurFuZzpcbiIKKyJcbiIKKyJcdGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIk3hu5l0IGtoaSDEkcOjIGjDoGkgbMOybmcgduG7m2kgbmjhu69uZyB0aGF5IMSR4buVaSBj4bunYSBtw6xuaCwgdGjDrCBjaOG6oXk6XG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjIyNworIywgc2gtZm9ybWF0Cittc2dpZCAiJHNoYTE6IG5vdCBhIGNvbW1pdCB0aGF0IGNhbiBiZSBwaWNrZWQiCittc2dzdHIgIiRzaGExOiBraMO0bmcgcGjhuqNpIGzDoCBs4bqnbiBjaHV54buDbiBnaWFvIG3DoCBjw7MgdGjhu4MgbOG6pXkgcmEgxJHGsOG7o2MiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjI2NgorIywgc2gtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjb21taXQgbmFtZTogJHNoYTEiCittc2dzdHIgIlTDqm4gbOG6p24gY2h1eeG7g24gZ2lhbyBraMO0bmcgaOG7o3AgbOG7hzogJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjMwOAorbXNnaWQgIkNhbm5vdCB3cml0ZSBjdXJyZW50IGNvbW1pdCdzIHJlcGxhY2VtZW50IHNoYTEiCittc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgbOG6oWkgc2hhMSB0aGF5IHRo4bq/IGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM2MAorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFzdC1mb3J3YXJkIHRvICRzaGExIgorbXNnc3RyICJDaHV54buDbi10aeG6v3AtbmhhbmggxJHhur9uICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozNjIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBmYXN0LWZvcndhcmQgdG8gJHNoYTEiCittc2dzdHIgIktow7RuZyB0aOG7gyBjaHV54buDbi10aeG6v3AtbmhhbmggxJHhur9uICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozNzEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBtb3ZlIEhFQUQgdG8gJGZpcnN0X3BhcmVudCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGRpIGNodXnhu4NuIEhFQUQgxJHhur9uICRmaXJzdF9wYXJlbnQiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM3NgorIywgc2gtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gc3F1YXNoIGEgbWVyZ2U6ICRzaGExIgorbXNnc3RyICJU4burIGNo4buRaSBzcXVhc2ggbOG6p24gaMOyYSB0cuG7mW46ICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozOTAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkVycm9yIHJlZG9pbmcgbWVyZ2UgJHNoYTEiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBob8OgbiBs4bqhaSBixrDhu5tjIGjDsmEgdHLhu5luICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozOTgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBwaWNrICRzaGExIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgcmEgJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQwNworIywgc2gtZm9ybWF0Cittc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyR7bn06IgorbXNnc3RyICLEkMOieSBsw6AgY2jDuiB0aMOtY2ggY2hvIGzhuqduIGNodXnhu4NuIGdpYW8gdGjhu6kgIyR7bn06IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MTIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJHtufSB3aWxsIGJlIHNraXBwZWQ6IgorbXNnc3RyICJDaMO6IHRow61jaCBjaG8gbOG6p24gY2h1eeG7g24gZ2lhbyB0aOG7qSAjJHtufSBz4bq9IGLhu4sgYuG7jyBxdWE6IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MjMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0LiIKK21zZ2lkX3BsdXJhbCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXRzLiIKK21zZ3N0clswXSAixJDDonkgbMOgIHThu5UgaOG7o3AgY+G7p2EgJGNvdW50IGzhuqduIGNodXnhu4NuIGdpYW8uIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MzEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSAkZml4dXBfbXNnIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgJGZpeHVwX21zZyIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDM0Cittc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIDIgY29tbWl0cy4iCittc2dzdHIgIsSQw6J5IGzDoCB04buVIGjhu6NwIGPhu6dhIDIgbOG6p24gY2h1eeG7g24gZ2lhby4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQzNQorbXNnaWQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiCittc2dzdHIgIsSQw6J5IGzDoCBjaMO6IHRow61jaCBjaG8gbOG6p24gY2h1eeG7g24gZ2lhbyB0aOG7qSBuaOG6pXQ6IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NzUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTE4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1MjEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAkc2hhMS4uLiAkcmVzdCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIMOhcCBk4bulbmcgJHNoYTHigKYgJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjU0OQorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIkNvdWxkIG5vdCBhbWVuZCBjb21taXQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHBpY2tpbmcgJHNoYTEuLi4gJHJlc3RcbiIKKyJUaGlzIGlzIG1vc3QgbGlrZWx5IGR1ZSB0byBhbiBlbXB0eSBjb21taXQgbWVzc2FnZSwgb3IgdGhlIHByZS1jb21taXQgaG9va1xuIgorImZhaWxlZC4gSWYgdGhlIHByZS1jb21taXQgaG9vayBmYWlsZWQsIHlvdSBtYXkgbmVlZCB0byByZXNvbHZlIHRoZSBpc3N1ZSAiCisiYmVmb3JlXG4iCisieW91IGFyZSBhYmxlIHRvIHJld29yZCB0aGUgY29tbWl0LiIKK21zZ3N0ciAiIgorIktow7RuZyB0aOG7gyB0dSBi4buVIGzhuqduIGNodXnhu4NuIGdpYW8gc2F1IGtoaSBs4bqleSByYSAkc2hhMeKApiAkcmVzdCB0aMOgbmggY8O0bmdcbiIKKyJWaeG7h2MgbsOgeSBjw7MgdGjhu4MgbMOgIGRvIG3hu5l0IGdoaSBjaMO6IGNobyBs4bqnbiBjaHV54buDbiBnaWFvIGzDoCB0cuG7kW5nIHLhu5duZywgaG/hurdjICIKKyJtw7NjIHByZS1jb21taXRcbiIKKyJn4bq3cCBs4buXaS4gTuG6v3UgbMOgIG3Ds2MgcHJlLWNvbW1pdCBi4buLIGzhu5dpLCBC4bqhbiBjw7MgbOG6vSBj4bqnbiBnaeG6o2kgcXV54bq/dCB0cuG7pWMgdHLhurdjICIKKyJuw6B5XG4iCisidHLGsOG7m2Mga2hpIGLhuqFuIGPDsyB0aOG7gyBsw6BtIHZp4buHYyBs4bqhaSB24bubaSBs4bqnbiBjaHV54buDbiBnaWFvLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTY0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdG9wcGVkIGF0ICRzaGExX2FiYnJldi4uLiAkcmVzdCIKK21zZ3N0ciAiQuG7iyBk4burbmcgdOG6oWkgJHNoYTFfYWJicmV24oCmICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1NzkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAnJHNxdWFzaF9zdHlsZScgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKK21zZ3N0ciAiS2jDtG5nIOKAnCRzcXVhc2hfc3R5bGXigJ0gdGjhu4MgbcOgIGtow7RuZyBjw7MgbOG6p24gY2h1eeG7g24gZ2lhbyBr4bq/IHRyxrDhu5tjIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2MjEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGluZzogJHJlc3QiCittc2dzdHIgIlRo4buxYyB0aGk6ICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2MjkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGlvbiBmYWlsZWQ6ICRyZXN0IgorbXNnc3RyICJUaOG7sWMgdGhpIGfhurdwIGzhu5dpOiAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjMxCittc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgInbDoCB04bqhbyBjw6FjIHRoYXkgxJHhu5VpIGLhuqNuZyBt4bulYyBs4bulYyB2w6AvaGF5IGPDonkgbMOgbSB2aeG7h2MiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjYzMworbXNnaWQgIiIKKyJZb3UgY2FuIGZpeCB0aGUgcHJvYmxlbSwgYW5kIHRoZW4gcnVuXG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCittc2dzdHIgIiIKKyJC4bqhbiBjw7MgdGjhu4Mgc+G7rWEgY8OhYyB0cuG7pWMgdHLhurdjLCB2w6Agc2F1IMSRw7MgY2jhuqF5IGzhu4duaCDigJxj4bqjaSB04buV4oCdOlxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjLiBUUkFOU0xBVE9SUzogYWZ0ZXIgdGhlc2UgbGluZXMgaXMgYSBjb21tYW5kIHRvIGJlIGlzc3VlZCBieSB0aGUgdXNlcgorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjQ2CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiRXhlY3V0aW9uIHN1Y2NlZWRlZDogJHJlc3RcbiIKKyJidXQgbGVmdCBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgorIkNvbW1pdCBvciBzdGFzaCB5b3VyIGNoYW5nZXMsIGFuZCB0aGVuIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisiVGjhu7FjIHRoaSB0aMOgbmggY8O0bmc6ICRyZXN0XG4iCisibmjGsG5nIGPDsm4gY8OhYyB0aGF5IMSR4buVaSB0cm9uZyBt4bulYyBs4bulYyB2w6AvaG/hurdjIGPDonkgbMOgbSB2aeG7h2NcbiIKKyJDaHV54buDbiBnaWFvIGhheSB04bqhbSBj4bqldCBjw6FjIHRoYXkgxJHhu5VpIG7DoHkgxJFpLCBy4buTaSBjaOG6oXlcbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjU3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICRjb21tYW5kICRzaGExICRyZXN0IgorbXNnc3RyICJM4buHbmggY2jGsGEgYmnhur90OiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjU4Cittc2dpZCAiUGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCittc2dzdHIgIlZ1aSBsw7JuZyBz4butYSBs4buXaSBuw6B5IGLhurFuZyBjw6FjaCBkw7luZyDigJxnaXQgcmViYXNlIC0tZWRpdC10b2Rv4oCdLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjkzCisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgcmViYXNlZCBhbmQgdXBkYXRlZCAkaGVhZF9uYW1lLiIKK21zZ3N0ciAiQ8OgaSB04buVIHbDoCBj4bqtcCBuaOG6rXQgJGhlYWRfbmFtZSBt4buZdCBjw6FjaCB0aMOgbmggY8O0bmcuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo3NDAKK21zZ2lkICJDb3VsZCBub3Qgc2tpcCB1bm5lY2Vzc2FyeSBwaWNrIGNvbW1hbmRzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgYuG7jyBxdWEgY8OhYyBs4buHbmggY+G6rXkgKHBpY2spIGtow7RuZyBj4bqnbiB0aGnhur90IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo4OTgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiB0aGUgU0hBLTEgaXMgbWlzc2luZyBvciBpc24ndCBhIGNvbW1pdCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCisiIC0gJGxpbmUiCittc2dzdHIgIiIKKyJD4bqjbmggYsOhbzogU0hBLTEgYuG7iyB0aGnhur91IGhv4bq3YyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIHRyb25nIGTDsm5nICIKKyJzYXUgxJHDonk6XG4iCisiIC0gJGxpbmUiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjkzMQorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIldhcm5pbmc6IHRoZSBjb21tYW5kIGlzbid0IHJlY29nbml6ZWQgaW4gdGhlIGZvbGxvd2luZyBsaW5lOlxuIgorIiAtICRsaW5lIgorbXNnc3RyICIiCisiQ+G6o25oIGLDoW86IGzhu4duaCBraMO0bmcgbmjhuq1uIHJhIHRyb25nIGTDsm5nIHNhdSDEkcOieTpcbiIKKyIgLSAkbGluZSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6OTcwCittc2dpZCAiY291bGQgbm90IGRldGFjaCBIRUFEIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdMOhY2ggcuG7nWkgSEVBRCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTAwOAorbXNnaWQgIiIKKyJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKKyJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKToiCittc2dzdHIgIiIKKyJD4bqjbmggYsOhbzogbeG7mXQgc+G7kSBs4bqnbiBjaHV54buDbiBnaWFvIGPDsyBs4bq9IMSRw6MgYuG7iyB4w7NhIG3hu5l0IGPDoWNoIHTDrG5oIGPhu50uXG4iCisiQ8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGLhu4sgeMOzYSAodOG7qyBt4bubaSDEkeG6v24gY8WpKToiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwMTYKK21zZ2lkICIiCisiVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCisiXG4iCisiVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mICIKKyJ3YXJuaW5ncy5cbiIKKyJUaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuIgorbXNnc3RyICIiCisixJDhu4MgdHLDoW5oIHRow7RuZyBiw6FvIG7DoHksIGTDuW5nIFwiZHJvcFwiIG3hu5l0IGPDoWNoIHLDtSByw6BuZyDEkeG7gyB4w7NhIGLhu48gbeG7mXQgbOG6p24gIgorImNodXnhu4NuIGdpYW8uXG4iCisiXG4iCisiRMO5bmcg4oCcZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVja+KAnSDEkeG7gyB0aGF5IMSR4buVaSBt4bupYyDEkeG7mSBj4bunYSBj4bqjbmggIgorImLDoW8uXG4iCisiQ8Ohbmgg4bupbmcgeOG7rSBjw7MgdGjhu4MgbMOgOiBpZ25vcmUsIHdhcm4sIGVycm9yLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTAyNworIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIlVucmVjb2duaXplZCBzZXR0aW5nICRjaGVja19sZXZlbCBmb3Igb3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiAiCisiSWdub3JpbmcuIgorbXNnc3RyICIiCisiS2jDtG5nIHRo4burYSBuaOG6rW4gY8OgaSDEkeG6t3QgJGNoZWNrX2xldmVsIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suICIKKyJOw6puIGLhu48gcXVhLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA0NAorbXNnaWQgIiIKKyJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLSIKKyJjb250aW51ZScuIgorbXNnc3RyICIiCisiQuG6oW4gY8OzIHRo4buDIHPhu61hIG7DsyBi4bqxbmcg4oCcZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb+KAnSB2w6Agc2F1IMSRw7MgY2jhuqF5IOKAnGdpdCByZWJhc2UgLS0iCisiY29udGludWXigJ0uIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDQ1Cittc2dpZCAiT3IgeW91IGNhbiBhYm9ydCB0aGUgcmViYXNlIHdpdGggJ2dpdCByZWJhc2UgLS1hYm9ydCcuIgorbXNnc3RyICJIb+G6t2MgbMOgIGLhuqFuIGPDsyB0aOG7gyBiw6NpIGLhu48gbOG6p24gY+G6o2kgdOG7lSB24bubaSBs4buHbmgg4oCcZ2l0IHJlYmFzZSAtLWFib3J04oCdLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA2OQorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHjDs2EgYuG7jyBDSEVSUllfUElDS19IRUFEIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDc0CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuXG4iCisiSWYgdGhlc2UgY2hhbmdlcyBhcmUgbWVhbnQgdG8gYmVcbiIKKyJzcXVhc2hlZCBpbnRvIHRoZSBwcmV2aW91cyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIklmIHRoZXkgYXJlIG1lYW50IHRvIGdvIGludG8gYSBuZXcgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiSW4gYm90aCBjYXNlcywgb25jZSB5b3UncmUgZG9uZSwgY29udGludWUgd2l0aDpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorbXNnc3RyICIiCisiQuG6oW4gY8OzIGPDoWMgdGhheSDEkeG7lWkgc28gduG7m2kgdHJvbmcgYuG7hyBwaMOzbmcgdHJvbmdcbiIKKyJ0aMawIG3hu6VjIGzDoG0gdmnhu4djIGPhu6dhIGLhuqFuLiBO4bq/dSBjw6FjIHRoYXkgxJHhu5VpIG7DoHkgbMOgIG114buRblxuIgorInNxdWFzaCB2w6BvIGzhuqduIGNodXnhu4NuIGdpYW8ga+G6vyB0csaw4bubYywgY2jhuqF5OlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiTuG6v3UgY2jDum5nIGPDsyDDvSBsw6AgxJFpIMSR4bq/biBs4bqnbiBjaHV54buDbiBnaWFvIG3hu5tpLCB0aMOsIGNo4bqheTpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJUcm9uZyBj4bqjIGhhaSB0csaw4budbmcgaOG7o3AsIG3hu5l0IGtoaSBi4bqhbiBsw6BtIHhvbmcsIHRp4bq/cCB04bulYyBi4bqxbmc6XG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA5MQorbXNnaWQgIkVycm9yIHRyeWluZyB0byBmaW5kIHRoZSBhdXRob3IgaWRlbnRpdHkgdG8gYW1lbmQgY29tbWl0IgorbXNnc3RyICJM4buXaSBraGkgY+G7kSB0w6xtIMSR4buLbmggZGFuaCBj4bunYSB0w6FjIGdp4bqjIMSR4buDIHR1IGLhu5UgbOG6p24gY2h1eeG7g24gZ2lhbyIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA5NgorbXNnaWQgIiIKKyJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UgY29tbWl0IHRoZW1cbiIKKyJmaXJzdCBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScgYWdhaW4uIgorbXNnc3RyICIiCisiQuG6oW4gY8OzIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgY2h1eeG7g24gZ2lhbyB0cm9uZyB0aMawIG3hu6VjIGzDoG0gdmnhu4djLlxuIgorIlZ1aSBsw7JuZyBjaHV54buDbiBnaWFvIGNow7puZyB2w6Agc2F1IMSRw7MgY2jhuqF5IGzhu4duaCDigJxnaXQgcmViYXNlIC0tY29udGludWXigJ0gbOG6p24gIgorIm7hu69hLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwMSBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTA1Cittc2dpZCAiQ291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIktow7RuZyB0aOG7gyBjaHV54buDbiBnaWFvIGPDoWMgdGhheSDEkeG7lWkgxJHDoyDEkcawYSBsw6puIGLhu4cgcGjDs25nLiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEyOQorbXNnaWQgIiIKKyJcbiIKKyJZb3UgYXJlIGVkaXRpbmcgdGhlIHRvZG8gZmlsZSBvZiBhbiBvbmdvaW5nIGludGVyYWN0aXZlIHJlYmFzZS5cbiIKKyJUbyBjb250aW51ZSByZWJhc2UgYWZ0ZXIgZWRpdGluZywgcnVuOlxuIgorIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIkLhuqFuIMSRYW5nIHPhu61hIHThuq1wIHRpbiB0b2RvIGPhu6dhIG3hu5l0IGzhuqduIGPhuqNpIHThu5UgdMawxqFuZyB0w6FjIMSRYW5nIHRo4buxYyBoaeG7h24uXG4iCisixJDhu4MgdGnhur9wIHThu6VjIGPhuqNpIHThu5Ugc2F1IGtoaSBz4butYSwgY2jhuqF5OlxuIgorIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyJcbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEzNyBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjk1Cittc2dpZCAiQ291bGQgbm90IGV4ZWN1dGUgZWRpdG9yIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgdGjhu7FjIHRoaSB0csOsbmggYmnDqm4gc2/huqFuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTUwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGNoZWNrb3V0ICRzd2l0Y2hfdG8iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNTUKK21zZ2lkICJObyBIRUFEPyIKK21zZ3N0ciAiS2jDtG5nIEhFQUQ/IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTU2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAkc3RhdGVfZGlyIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgdOG6oW8gdGjGsCBt4bulYyB04bqhbSB0aOG7nWkgJHN0YXRlX2RpciIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE1OAorbXNnaWQgIkNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHDoW5oIGThuqV1IGzDoCB0xrDGoW5nIHTDoWMiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNjggZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE3MworbXNnaWQgIkNvdWxkIG5vdCBpbml0IHJld3JpdHRlbiBjb21taXRzIgorbXNnc3RyICJLaMO0bmcgdGjhu4Mga2jhu59pIHThuqFvIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBnaGkgbOG6oWkiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyNzMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmQpIgorbXNnaWRfcGx1cmFsICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kcykiCittc2dzdHJbMF0gIkPhuqNpIHThu5UgJHNob3J0cmV2aXNpb25zIHbDoG8gJHNob3J0b250byAoY8OhYyBs4buHbmggJHRvZG9jb3VudCkiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyNzgKK21zZ2lkICIiCisiXG4iCisiSG93ZXZlciwgaWYgeW91IHJlbW92ZSBldmVyeXRoaW5nLCB0aGUgcmViYXNlIHdpbGwgYmUgYWJvcnRlZC5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIlR1eSBuaGnDqm4sIG7hur91IGLhuqFuIHjDs2EgYuG7jyBt4buNaSB0aOG7qSwgdmnhu4djIGPhuqNpIHThu5Ugc+G6vSBi4buLIGLDo2kgYuG7jy5cbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI4NQorbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgorbXNnc3RyICJDaMO6IMO9IHLhurFuZyBs4bqnbiBjaHV54buDbiBnaWFvIHRy4buRbmcgcuG7l25nIGzDoCBnaGkgY2jDuiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjg5IGdpdC1zaC1zZXR1cC5zaDo5NAorIywgc2gtZm9ybWF0Cittc2dpZCAidXNhZ2U6ICRkYXNobGVzcyAkVVNBR0UiCittc2dzdHIgImPDoWNoIGTDuW5nOiAkZGFzaGxlc3MgJFVTQUdFIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MTkwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgY2hkaXIgdG8gJGNkdXAsIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICIiCisiS2jDtG5nIHRo4buDIGNodXnhu4NuIHRoxrAgbeG7pWMgKGNoZGlyKSBzYW5nICRjZHVwLCB0aMawIG3hu6VjIOG7nyBt4bupYyBjYW8gbmjhuqV0IGPhu6dhIGPDonkgIgorImzDoG0gdmnhu4djIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MTk5IGdpdC1zaC1zZXR1cC5zaDoyMDYKKyMsIHNoLWZvcm1hdAorbXNnaWQgImZhdGFsOiAkcHJvZ3JhbV9uYW1lIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgYSB3b3JraW5nIHRyZWUuIgorbXNnc3RyICIiCisibOG7l2kgbmdoacOqbSB0cuG7jW5nOiAkcHJvZ3JhbV9uYW1lIGtow7RuZyB0aOG7gyDEkcaw4bujYyBkw7luZyBuZ29hb2lmIHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjIwCittc2dpZCAiQ2Fubm90IHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIktow7RuZyB0aOG7gyBj4bqjaSB04buVOiBC4bqhbiBjw7MgY8OhYyB0aGF5IMSR4buVaSBjaMawYSDEkcaw4bujYyDEkcawYSBsw6puIGLhu4cgcGjDs25nLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyMworbXNnaWQgIkNhbm5vdCByZXdyaXRlIGJyYW5jaGVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorIktow7RuZyB0aOG7gyBnaGkgbOG6oWkgY8OhYyBuaMOhbmg6IELhuqFuIGPDsyBjw6FjIHRoYXkgxJHhu5VpIGNoxrBhIMSRxrDhu6NjIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjI2Cittc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICIiCisiS2jDtG5nIHRo4buDIHB1bGwgduG7m2kgY+G6o2kgdOG7lTogQuG6oW4gY8OzIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgxJHGsGEgbMOqbiBi4buHIHBow7NuZy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiS2jDtG5nIHRo4buDICRhY3Rpb246IELhuqFuIGPDsyBjw6FjIHRoYXkgxJHhu5VpIGNoxrBhIMSRxrDhu6NjIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjQyCittc2dpZCAiQ2Fubm90IHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorIktow7RuZyB0aOG7gyBj4bqjaSB04buVOiBN4bulYyBs4bulYyBj4bunYSBi4bqhbiBjw7MgY2jhu6lhIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgY2h1eeG7g24gZ2lhby4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDUKK21zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHB1bGwgduG7m2kgY+G6o2kgdOG7lTogQuG6oW4gY8OzIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgY2h1eeG7g24gZ2lhby4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIiCisiS2jDtG5nIHRo4buDICRhY3Rpb246IE3hu6VjIGzhu6VjIGPhu6dhIGLhuqFuIGPDsyBjaOG7qWEgY8OhYyB0aGF5IMSR4buVaSBjaMawYSDEkcaw4bujYyBjaHV54buDbiAiCisiZ2lhby4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNTIKK21zZ2lkICJBZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKyJUaMOqbSB2w6BvIMSRw7MsIGLhuqNuZyBt4bulYyBs4bulYyBj4bunYSBi4bqhbiBjw7MgY2jhu6lhIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgY2h1eeG7g24gZ2lhby4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzIKK21zZ2lkICJZb3UgbmVlZCB0byBydW4gdGhpcyBjb21tYW5kIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUuIgorbXNnc3RyICJC4bqhbiBj4bqnbiBjaOG6oXkgbOG7h25oIG7DoHkgdOG7qyB0aMawIG3hu6VjIOG7nyBt4bupYyBjYW8gbmjhuqV0IGPhu6dhIGPDonkgbMOgbSB2aeG7h2MuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6Mzc3Cittc2dpZCAiVW5hYmxlIHRvIGRldGVybWluZSBhYnNvbHV0ZSBwYXRoIG9mIGdpdCBkaXJlY3RvcnkiCittc2dzdHIgIktow7RuZyB0aOG7gyBkw7IgdMOsbSDEkcaw4budbmcgZOG6q24gdHV54buHdCDEkeG7kWkgY+G7p2EgdGjGsCBt4bulYyBnaXQiCisKKyN+IG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgdG8gJXMiCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgdsOgbyAlcyIKKworI34gbXNnaWQgIkVycm9yIHdyYXBwaW5nIHVwICVzLiIKKyN+IG1zZ3N0ciAiTOG7l2kgYmFvIGLhu41jICVzLiIKKworI34gbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVycnktcGljay4iCisjfiBtc2dzdHIgIkPDoWMgdGhheSDEkeG7lWkgbuG7mWkgYuG7mSBj4bunYSBi4bqhbiBjw7MgdGjhu4MgYuG7iyBnaGkgxJHDqCBi4bufaSBs4buHbmggY2hlcnJ5LXBpY2suIgorCisjfiBtc2dpZCAiQ2Fubm90IHJldmVydCBkdXJpbmcgYW5vdGhlciByZXZlcnQuIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgaG/DoG4gbmd1ecOqbiB0cm9uZyBraGkgY8OzIGhvw6BuIG5ndXnDqm4ga2jDoWMuIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhbm90aGVyIGNoZXJyeS1waWNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIktow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIHZp4buHYyBjaGVycnktcGljayB0cm9uZyBraGkga2hpIMSRYW5nIGNoZXJyeS1waWNrIGtow6FjLiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKKyN+IG1zZ3N0ciAiS2jDtG5nIHBow6JuIHTDrWNoIMSRxrDhu6NjIGTDsm5nICVkLiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyAlcyIKKworI34gbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buNYyAlcy4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgZm9ybWF0ICVzLiIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buLbmggZOG6oW5nIOKAnCVz4oCdLiIKKworI34gbXNnaWQgIiVzOiAlcyIKKyN+IG1zZ3N0ciAiJXM6ICVzIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlczogJXMiCisKKyN+IG1zZ2lkICJZb3UgbmVlZCB0byBzZXQgeW91ciBjb21taXR0ZXIgaW5mbyBmaXJzdCIKKyN+IG1zZ3N0ciAiQuG6oW4gY+G6p24gxJHhurd0IHRow7RuZyB0aW4gduG7gSBuZ8aw4budaSBjaHV54buDbiBnaWFvIG3DoyBuZ3Xhu5NuIHRyxrDhu5tjIMSRw6MiCisKKyN+IG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogaW52YWxpZCB1bml0IgorI34gbXNnc3RyICJzYWkgZ2nDoSB0cuG7iyBi4bqxbmcgc+G7kSBj4bunYSBj4bqldSBow6xuaCDigJwlc+KAnSBjaG8g4oCcJXPigJ06IMSRxqFuIHbhu4sgc2FpIgorCisjfiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gYmxvYiAlczogaW52YWxpZCB1bml0IgorI34gbXNnc3RyICIiCisjfiAic2FpIGdpw6EgdHLhu4sgYuG6sW5nIHPhu5EgY+G7p2EgY+G6pXUgaMOsbmgg4oCcJXPigJ0gY2hvIOKAnCVz4oCdIHRyb25nIGJsb2IgJXM6IMSRxqFuIHbhu4sgc2FpIgorCisjfiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gZmlsZSAlczogaW52YWxpZCB1bml0IgorI34gbXNnc3RyICIiCisjfiAic2FpIGdpw6EgdHLhu4sgYuG6sW5nIHPhu5EgY+G7p2EgY+G6pXUgaMOsbmgg4oCcJXPigJ0gY2hvIOKAnCVz4oCdIHRyb25nIHThuq1wIHRpbiAlczogxJHGoW4gduG7iyAiCisjfiAic2FpIgorCisjfiBtc2dpZCAiIgorI34gImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiBpbnZhbGlkIHVuaXQiCisjfiBtc2dzdHIgIiIKKyN+ICJzYWkgZ2nDoSB0cuG7iyBi4bqxbmcgc+G7kSBj4bunYSBj4bqldSBow6xuaCDigJwlc+KAnSBjaG8g4oCcJXPigJ0gdHJvbmcgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbjogIgorI34gIsSRxqFuIHbhu4sga2jDtG5nIGjhu6NwIGzhu4ciCisKKyN+IG1zZ2lkICIiCisjfiAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6IGludmFsaWQgdW5pdCIKKyN+IG1zZ3N0ciAiIgorI34gInNhaSBnacOhIHRy4buLIGLhurFuZyBz4buRIGPhu6dhIGPhuqV1IGjDrG5oIOKAnCVz4oCdIGNobyDigJwlc+KAnSB0cm9uZyBzdWJtb2R1bGUtYmxvYiAlczogIgorI34gIsSRxqFuIHbhu4sga2jDtG5nIGjhu6NwIGzhu4ciCisKKyN+IG1zZ2lkICIiCisjfiAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gY29tbWFuZCBsaW5lICVzOiBpbnZhbGlkIHVuaXQiCisjfiBtc2dzdHIgIiIKKyN+ICJzYWkgZ2nDoSB0cuG7iyBi4bqxbmcgc+G7kSBj4bunYSBj4bqldSBow6xuaCDigJwlc+KAnSBjaG8g4oCcJXPigJ0gdHJvbmcgZMOybmcgbOG7h25oICVzOiDEkcahbiB24buLICIKKyN+ICJraMO0bmcgaOG7o3AgbOG7hyIKKworI34gbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiBpbnZhbGlkIHVuaXQiCisjfiBtc2dzdHIgIiIKKyN+ICJzYWkgZ2nDoSB0cuG7iyBi4bqxbmcgc+G7kSBj4bunYSBj4bqldSBow6xuaCDigJwlc+KAnSBjaG8g4oCcJXPigJ0gdHJvbmcgJXM6IMSRxqFuIHbhu4sga2jDtG5nIGjhu6NwICIKKyN+ICJs4buHIgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgMm5kIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAixJDDonkgbMOgIGNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupIDI6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgM3JkIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAixJDDonkgbMOgIGNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupIDM6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgNHRoIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAixJDDonkgbMOgIGNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupIDQ6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgNXRoIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAixJDDonkgbMOgIGNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupIDU6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgNnRoIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAixJDDonkgbMOgIGNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupIDY6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgN3RoIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAixJDDonkgbMOgIGNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupIDc6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgOHRoIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAixJDDonkgbMOgIGNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupIDg6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgOXRoIGNvbW1pdCBtZXNzYWdlOiIKKyN+IG1zZ3N0ciAixJDDonkgbMOgIGNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupIDk6IgorCisjfiBtc2dpZCAiVGhpcyBpcyB0aGUgMTB0aCBjb21taXQgbWVzc2FnZToiCisjfiBtc2dzdHIgIsSQw6J5IGzDoCBjaMO6IHRow61jaCBjaG8gbOG6p24gY2h1eeG7g24gZ2lhbyB0aOG7qSAxMDoiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSAke259dGggY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICLEkMOieSBsw6AgY2jDuiB0aMOtY2ggY2hvIGzhuqduIGNodXnhu4NuIGdpYW8gdGjhu6kgJHtufToiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSAke259c3QgY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICLEkMOieSBsw6AgY2jDuiB0aMOtY2ggY2hvIGzhuqduIGNodXnhu4NuIGdpYW8gdGjhu6kgJHtufToiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSAke259bmQgY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICLEkMOieSBsw6AgY2jDuiB0aMOtY2ggY2hvIGzhuqduIGNodXnhu4NuIGdpYW8gdGjhu6kgJHtufToiCisKKyN+IG1zZ2lkICJUaGlzIGlzIHRoZSAke259cmQgY29tbWl0IG1lc3NhZ2U6IgorI34gbXNnc3RyICLEkMOieSBsw6AgY2jDuiB0aMOtY2ggY2hvIGzhuqduIGNodXnhu4NuIGdpYW8gdGjhu6kgJHtufToiCisKKyN+IG1zZ2lkICJUaGUgMXN0IGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupIG5o4bqldCBz4bq9IGLhu4sgYuG7jyBxdWE6IgorCisjfiBtc2dpZCAiVGhlIDJuZCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgorI34gbXNnc3RyICJDaMO6IHRow61jaCBjaG8gbOG6p24gY2h1eeG7g24gZ2lhbyB0aOG7qSAyIHPhur0gYuG7iyBi4buPIHF1YToiCisKKyN+IG1zZ2lkICJUaGUgM3JkIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupIDMgc+G6vSBi4buLIGLhu48gcXVhOiIKKworI34gbXNnaWQgIlRoZSA0dGggY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiQ2jDuiB0aMOtY2ggY2hvIGzhuqduIGNodXnhu4NuIGdpYW8gdGjhu6kgNCBz4bq9IGLhu4sgYuG7jyBxdWE6IgorCisjfiBtc2dpZCAiVGhlIDV0aCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgorI34gbXNnc3RyICJDaMO6IHRow61jaCBjaG8gbOG6p24gY2h1eeG7g24gZ2lhbyB0aOG7qSA1IHPhur0gYuG7iyBi4buPIHF1YToiCisKKyN+IG1zZ2lkICJUaGUgNnRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupIDYgc+G6vSBi4buLIGLhu48gcXVhOiIKKworI34gbXNnaWQgIlRoZSA3dGggY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiQ2jDuiB0aMOtY2ggY2hvIGzhuqduIGNodXnhu4NuIGdpYW8gdGjhu6kgNyBz4bq9IGLhu4sgYuG7jyBxdWE6IgorCisjfiBtc2dpZCAiVGhlIDh0aCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgorI34gbXNnc3RyICJDaMO6IHRow61jaCBjaG8gbOG6p24gY2h1eeG7g24gZ2lhbyB0aOG7qSA4IHPhur0gYuG7iyBi4buPIHF1YToiCisKKyN+IG1zZ2lkICJUaGUgOXRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupIDkgc+G6vSBi4buLIGLhu48gcXVhOiIKKworI34gbXNnaWQgIlRoZSAxMHRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupIDEwIHPhur0gYuG7iyBi4buPIHF1YToiCisKKyN+IG1zZ2lkICJUaGUgJHtufXRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupICR7bn0gc+G6vSBi4buLIGLhu48gcXVhOiIKKworI34gbXNnaWQgIlRoZSAke259c3QgY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKKyN+IG1zZ3N0ciAiQ2jDuiB0aMOtY2ggY2hvIGzhuqduIGNodXnhu4NuIGdpYW8gdGjhu6kgJHtufSBz4bq9IGLhu4sgYuG7jyBxdWE6IgorCisjfiBtc2dpZCAiVGhlICR7bn1uZCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgorI34gbXNnc3RyICJDaMO6IHRow61jaCBjaG8gbOG6p24gY2h1eeG7g24gZ2lhbyB0aOG7qSAke259IHPhur0gYuG7iyBi4buPIHF1YToiCisKKyN+IG1zZ2lkICJUaGUgJHtufXJkIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCisjfiBtc2dzdHIgIkNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupICR7bn0gc+G6vSBi4buLIGLhu48gcXVhOiIKKworI34gbXNnaWQgImNvdWxkIG5vdCBydW4gZ3BnLiIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIGNo4bqheSBncGcuIgorCisjfiBtc2dpZCAiZ3BnIGRpZCBub3QgYWNjZXB0IHRoZSBkYXRhIgorI34gbXNnc3RyICJncGcgxJHDoyBraMO0bmcgY2jhuqVwIG5o4bqtbiBk4buvIGxp4buHdSIKKworI34gbXNnaWQgInVuc3VwcG9ydGVkIG9iamVjdCB0eXBlIGluIHRoZSB0cmVlIgorI34gbXNnc3RyICJraeG7g3UgxJHhu5FpIHTGsOG7o25nIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIHRyb25nIGPDonkgKHRyZWUpIgorCisjfiBtc2dpZCAiRmF0YWwgbWVyZ2UgZmFpbHVyZSwgc2hvdWxkbid0IGhhcHBlbi4iCisjfiBtc2dzdHIgIlZp4buHYyBow7JhIHRy4buZbiBo4buPbmcgbmdoacOqbSB0cuG7jW5nLCBraMO0bmcgbsOqbiDEkeG7gyB44bqjeSByYS4iCisKKyN+IG1zZ2lkICJVbnByb2Nlc3NlZCBwYXRoPz8/ICVzIgorI34gbXNnc3RyICLEkMaw4budbmcgZOG6q24gY2jGsGEgxJHGsOG7o2MgeOG7rSBsw70/Pz8gJXMiCisKKyN+IG1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcyIKKyN+IG1zZ3N0ciAiTOG7l2kgYmFvIGLhu41jICVzIgorCisjfiBtc2dpZCAiQ2Fubm90ICVzIGR1cmluZyBhICVzIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgJXMgdHJvbmcga2hpICVzIgorCisjfiBtc2dpZCAiQ2FuJ3QgY2hlcnJ5LXBpY2sgaW50byBlbXB0eSBoZWFkIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgY2hlcnJ5LXBpY2sgdsOgbyBt4buZdCDEkeG6p3UgKGhlYWQpIHRy4buRbmcgcuG7l25nIgorCisjfiBtc2dpZCAiY291bGQgbm90IG9wZW4gJXMgZm9yIHdyaXRpbmciCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufICVzIMSR4buDIGdoaSIKKworI34gbXNnaWQgImJ1ZzogdW5oYW5kbGVkIHVubWVyZ2VkIHN0YXR1cyAleCIKKyN+IG1zZ3N0ciAibOG7l2k6IGtow7RuZyB0aOG7gyB0aeG6v3Agbmjhuq1uIHRy4bqhbmcgdGjDoWkgY2jGsGEgaMOyYSB0cuG7mW4gJXgiCisKKyN+IG1zZ2lkICJidWc6IHVuaGFuZGxlZCBkaWZmIHN0YXR1cyAlYyIKKyN+IG1zZ3N0ciAibOG7l2k6IGtow7RuZyB0aOG7gyB0aeG6v3Agbmjhuq1uIHRy4bqhbmcgdGjDoWkgbOG7h25oIGRpZmYgJWMiCisKKyN+IG1zZ2lkICJyZWFkIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAixJHhu41jICVzIGfhurdwIGzhu5dpIgorCisjfiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGJyYW5jaCBkZXNjcmlwdGlvbiB0ZW1wbGF0ZSIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSBt4bqrdSBtw7QgdOG6oyBuaMOhbmgiCisKKyN+IG1zZ2lkICJjb3JydXB0IGluZGV4IGZpbGUiCisjfiBtc2dzdHIgInThuq1wIHRpbiBnaGkgYuG6o25nIG3hu6VjIGzhu6VjIGLhu4sgaOG7j25nIgorCisjfiBtc2dpZCAiZGV0YWNoIHRoZSBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKKyN+IG1zZ3N0ciAicuG7nWkgYuG7jyBIRUFEIHThuqFpIGzhuqduIGNodXnhu4NuIGdpYW8gZGFuaCBuZ2jEqWEiCisKKyN+IG1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkuLi4gIgorI34gbXNnc3RyICLEkGFuZyBraeG7g20gdHJhIGvhur90IG7hu5Fp4oCmICIKKworI34gbXNnaWQgIiAgKHVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmKSIKKyN+IG1zZ3N0ciAiICAoa2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCB0aGFtIGNoaeG6v3UgbuG7mWkgYuG7mSkiCisKKyN+IG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIgorI34gbXNnc3RyICJLaOG7n2kgdOG6oW8gbOG6oWkgxJHDoyBz4bq1biBjw7MgcuG7k2kiCisKKyN+IG1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSIKKyN+IG1zZ3N0ciAiS2jhu59pIHThuqFvIHRy4buRbmcgcuG7l25nIgorCisjfiBtc2dpZCAiIHNoYXJlZCIKKyN+IG1zZ3N0ciAiIMSRw6MgY2hpYSBz4bq7IgorCisjfiBtc2dpZCAiVmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgorI34gbXNnc3RyICIiCisjfiAiVGjhuqltIHRyYSB4ZW0gbOG6p24gY2h1eeG7g24gZ2lhbyBjw7MgdMOqbiDEkcOzIGPDsyBjaOG7ryBrw70gR1BHIGjhu6NwIGzhu4cgaGF5IGtow7RuZyIKKworI34gbXNnaWQgIldyaXRpbmcgU1FVQVNIX01TRyIKKyN+IG1zZ3N0ciAixJBhbmcgZ2hpIFNRVUFTSF9NU0ciCisKKyN+IG1zZ2lkICJGaW5pc2hpbmcgU1FVQVNIX01TRyIKKyN+IG1zZ3N0ciAiSG/DoG4gdGjDoG5oIFNRVUFTSF9NU0ciCisKKyN+IG1zZ2lkICIgICBhbmQgd2l0aCByZW1vdGUiCisjfiBtc2dzdHIgIiAgIHbDoCB24bubaSBtw6F5IGNo4bunIgorCisjfiBtc2dpZCAicmVtb3ZpbmcgJyVzJyBmYWlsZWQiCisjfiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB4w7NhIGLhu48g4oCcJXPigJ0iCisKKyN+IG1zZ2lkICJwcm9ncmFtIGVycm9yIgorI34gbXNnc3RyICJs4buXaSBjaMawxqFuZyB0csOsbmgiCisKKyN+IG1zZ2lkICJQbGVhc2UgY2FsbCAnYmlzZWN0X3N0YXRlJyB3aXRoIGF0IGxlYXN0IG9uZSBhcmd1bWVudC4iCisjfiBtc2dzdHIgIkjDo3kgZ+G7jWkgbOG7h25obCDigJxiaXNlY3Rfc3RhdGXigJ0gduG7m2kgw610IG5o4bqldCBt4buZdCDEkeG7kWkgc+G7kS4iCisKKyN+IG1zZ2lkICIiCisjfiAiSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiAiCisjfiAiZnJvbSIKKyN+IG1zZ3N0ciAiTuG6v3UgYuG6oW4gbXXhu5FuIGTDuW5nIGzhuqFpIHRoxrAgbeG7pWMgZ2l0IG7hu5lpIGLhu5kgbsOgeSB0aGF5IHbDrCBuaMOibiBi4bqjbiB04burIG7DsyIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2UgdGhlICctLWZvcmNlJyBvcHRpb24uIElmIHRoZSBsb2NhbCBnaXQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgY29ycmVjdCAiCisjfiAicmVwbyIKKyN+IG1zZ3N0ciAiIgorI34gImTDuW5nIHTDuXkgY2jhu41uIOKAnC0tZm9yY2XigJ0uIE7hur91IHRoxrAgbeG7pWMgZ2l0IG7hu5lpIGLhu5kga2jDtG5nIHBo4bqjaSBsw6AgcmVwbyAoa2hvKSAiCisjfiAixJHDum5nIgorCisjfiBtc2dpZCAiIgorI34gIm9yIHlvdSBhcmUgdW5zdXJlIHdoYXQgdGhpcyBtZWFucyBjaG9vc2UgYW5vdGhlciBuYW1lIHdpdGggdGhlICctLW5hbWUnICIKKyN+ICJvcHRpb24uIgorI34gbXNnc3RyICIiCisjfiAiaGF5IGLhuqFuIGtow7RuZyBjaOG6r2MgY2jhuq9uIMSRaeG7gXUgxJHDsyBjw7MgbmdoxKlhIGfDrCBjaOG7jW4gdMOqbiBraMOhYyB24bubaSB0w7l5IGNo4buNbiDigJwtLSIKKyN+ICJuYW1l4oCdLiIKKworI34gbXNnaWQgIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAiQ8OieSBsw6BtIHZp4buHYyBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdIGPDsyBjaOG7qWEgdGjGsCBt4bulYyAuZ2l0IgorCisjfiBtc2dpZCAiIgorI34gIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyAiCisjfiAiaGlzdG9yeSkiCisjfiBtc2dzdHIgIiIKKyN+ICIoZMO5bmcg4oCccm0gLXJm4oCdIG7hur91IGLhuqFuIHRo4buxYyBz4buxIG114buRbiBn4buhIGLhu48gbsOzIGPDuW5nIHbhu5tpIHThuqV0IGPhuqMgbOG7i2NoIHPhu60gY+G7p2EgIgorI34gImNow7puZykiCisKICN+IG1zZ2lkICInJXMnOiAlcyIKICN+IG1zZ3N0ciAi4oCcJXPigJ06ICVzIgogCkBAIC0xMjg5Miw5ICsxNTA4MSw2IEBACiAjfiBtc2dpZCAiLWIgYW5kIC1CIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiAjfiBtc2dzdHIgIi1iIHbDoCAtQiBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1LiIKIAotI34gbXNnaWQgIllvdSBuZWVkIHRvIHNldCB5b3VyIGNvbW1pdHRlciBpbmZvIGZpcnN0IgotI34gbXNnc3RyICJC4bqhbiBj4bqnbiDEkeG6t3QgdGjDtG5nIHRpbiB24buBIG5nxrDhu51pIGNodXnhu4NuIGdpYW8gbcOjIG5ndeG7k24gdHLGsOG7m2MgxJHDoyIKLQogI34gbXNnaWQgIiIKICN+ICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJGNtZGxpbmUgLS1jb250aW51ZVwiLlxuIgogI34gIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCIkY21kbGluZSAtLXNraXBcIiBpbnN0ZWFkLlxuIgpAQCAtMTI5NDQsMTEgKzE1MTMwLDYgQEAKICN+ICLEkeG7gyBwaMOqIGNodeG6qW4gdmnhu4djIMSRw6FuaCBk4bqldSDEkcOieSBj4bqnbiDEkcaw4bujYyBnaeG6o2kgcXV54bq/dCB2w6AgdOG6oW8gbeG7mXQgbOG6p24gY2h1eeG7g24gIgogI34gImdpYW8uIgogCi0jfiBtc2dpZCAiUHVsbCBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCi0jfiBtc2dzdHIgIiIKLSN+ICJGdWxsIGzDoCBraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiBi4bufaSB2w6wgYuG6oW4gY8OzIG5o4buvbmcgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIGjDsmEgIgotI34gInRy4buZbi4iCi0KICN+IG1zZ2lkICJubyBicmFuY2ggc3BlY2lmaWVkIgogI34gbXNnc3RyICJjaMawYSBjaOG7iSByYSB0w6puIGPhu6dhIG5ow6FuaCIKIApAQCAtMTMwMDAsOSArMTUxODEsNiBAQAogI34gbXNnaWQgIkZhaWxlZCB0byB3cml0ZSByZWYiCiAjfiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBnaGkgdGhhbSBjaGnhur91IgogCi0jfiBtc2dpZCAiaW52YWxpZCBjb21taXQ6ICVzIgotI34gbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvIGtow7RuZyBo4bujcCBs4buHOiAlcyIKLQogI34gbXNnaWQgImNvbW1pdCBoYXMgZW1wdHkgbWVzc2FnZSIKICN+IG1zZ3N0ciAibOG6p24gY2h1eeG7g24gZ2lhbyBjw7MgZ2hpIGNow7ogdHLhu5FuZyBy4buXbmciCiAKQEAgLTEzMTc4LDE1ICsxNTM1Niw2IEBACiAjfiBtc2dzdHIgIkLhuqFuIGtow7RuZyB0aOG7gyBr4bq/dCBo4bujcCAtLW5vLWZmIHbhu5tpIC0tZmYtb25seS4iCiAKICN+IG1zZ2lkICIiCi0jfiAic3VibW9kdWxlICclcycgKG9yIG9uZSBvZiBpdHMgbmVzdGVkIHN1Ym1vZHVsZXMpIHVzZXMgYSAuZ2l0IGRpcmVjdG9yeVxuIgotI34gIih1c2UgJ3JtIC1yZicgaWYgeW91IHJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyAiCi0jfiAiaGlzdG9yeSkiCi0jfiBtc2dzdHIgIiIKLSN+ICJtw7QtxJF1bi1jb24g4oCcJXPigJ0gKGhv4bq3YyBjw6FpIG7hurFtIHRyb25nIGPDoWMgbcO0LcSRdW4tY29uKSBkw7luZyB0aMawIG3hu6VjIC5naXRcbiIKLSN+ICIoZMO5bmcg4oCccm0gLXJm4oCdIG7hur91IGLhuqFuIHRo4buxYyBz4buxIG114buRbiBn4buhIGLhu48gbsOzIGPDuW5nIHbhu5tpIHThuqV0IGPhuqMgbOG7i2NoIHPhu60gY+G7p2EgIgotI34gImNow7puZykiCi0KLSN+IG1zZ2lkICIiCiAjfiAiJyVzJyBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4XG4iCiAjfiAiKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKICN+IG1zZ3N0ciAiIgpAQCAtMTMyNTIsOSArMTU0MjEsNiBAQAogI34gbXNnaWQgIk5vdCByZW1vdmluZyAlc1xuIgogI34gbXNnc3RyICJLaMO0bmcgeMOzYSAlc1xuIgogCi0jfiBtc2dpZCAiQ291bGQgbm90IHJlYWQgaW5kZXgiCi0jfiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgYuG6o25nIG3hu6VjIGzhu6VjIgotCiAjfiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLWQgfCA8YnJhbmNoPl0pIgogI34gbXNnc3RyICJnaXQgcmVtb3RlIHNldC1oZWFkIDx0w6puPiAoLWEgfCAtZCB8IDxuaMOhbmg+XSkiCiAKQEAgLTEzMzIxLDYgKzE1NDg3LDMgQEAKICN+IG1zZ2lkICJDb3VsZCBub3QgZXh0cmFjdCBlbWFpbCBmcm9tIGNvbW1pdHRlciBpZGVudGl0eS4iCiAjfiBtc2dzdHIgIiIKICN+ICJLaMO0bmcgdGjhu4MgcsO6dCB0csOtY2ggxJHhu4thIGNo4buJIHRoxrAgxJFp4buHbiB04butIHThu6sgxJHhu4tuaCBkYW5oIG5nxrDhu51pIGNodXnhu4NuIGdpYW8iCi0KLSN+IG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCi0jfiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjb21taXQgKGzhuqduIGNodXnhu4NuIGdpYW8pICVzXG4iCmRpZmYgLS1naXQgYS9wby96aF9DTi5wbyBiL3BvL3poX0NOLnBvCmluZGV4IDM2ZGI5ZmUuLmMzODMyNmMgMTAwNjQ0Ci0tLSBhL3BvL3poX0NOLnBvCisrKyBiL3BvL3poX0NOLnBvCkBAIC0xMzUsOCArMTM1LDggQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogR2l0XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTYtMDUtMjQgMjM6NDIrMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMDYtMDYgMjM6MDUrMDgwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE2LTExLTI1IDIyOjUwKzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE2LTExLTI1IDIyOjU0KzA4MDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEppYW5nIFhpbiA8d29ybGRoZWxsby5uZXRAZ21haWwuY29tPlxuIgogIkxhbmd1YWdlLVRlYW06IEdpdEh1YiA8aHR0cHM6Ly9naXRodWIuY29tL2ppYW5neGluL2dpdC8+XG4iCiAiTGFuZ3VhZ2U6IHpoX0NOXG4iCkBAIC0xNTAsNyArMTUwLDMyIEBACiBtc2dpZCAiaGludDogJS4qc1xuIgogbXNnc3RyICLmj5DnpLrvvJolLipzXG4iCiAKLSM6IGFkdmljZS5jOjg4CisjOiBhZHZpY2UuYzo4MworbXNnaWQgIkNoZXJyeS1waWNraW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAi5peg5rOV5ouj6YCJ77yM5Zug5Li65oKo5pyJ5pyq5ZCI5bm255qE5paH5Lu244CCIgorCisjOiBhZHZpY2UuYzo4NQorbXNnaWQgIkNvbW1pdHRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICLml6Dms5Xmj5DkuqTvvIzlm6DkuLrmgqjmnInmnKrlkIjlubbnmoTmlofku7bjgIIiCisKKyM6IGFkdmljZS5jOjg3Cittc2dpZCAiTWVyZ2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIuaXoOazleWQiOW5tu+8jOWboOS4uuaCqOacieacquWQiOW5tueahOaWh+S7tuOAgiIKKworIzogYWR2aWNlLmM6ODkKK21zZ2lkICJQdWxsaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAi5peg5rOV5ouJ5Y+W77yM5Zug5Li65oKo5pyJ5pyq5ZCI5bm255qE5paH5Lu244CCIgorCisjOiBhZHZpY2UuYzo5MQorbXNnaWQgIlJldmVydGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIuaXoOazleWbnumAgO+8jOWboOS4uuaCqOacieacquWQiOW5tueahOaWh+S7tuOAgiIKKworIzogYWR2aWNlLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSXQgaXMgbm90IHBvc3NpYmxlIHRvICVzIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICLml6Dms5UgJXPvvIzlm6DkuLrmgqjmnInmnKrlkIjlubbnmoTmlofku7bjgIIiCisKKyM6IGFkdmljZS5jOjEwMQogbXNnaWQgIiIKICJGaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLCBhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+J1xuIgogImFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdC4iCkBAIC0xNTgsMTggKzE4Myw2NTMgQEAKICLor7flnKjlt6XkvZzljLrmlLnmraPmlofku7bvvIznhLblkI7phYzmg4Xkvb/nlKggJ2dpdCBhZGQvcm0gPOaWh+S7tj4nIOWRveS7pOagh+iusFxuIgogIuino+WGs+aWueahiOW5tuaPkOS6pOOAgiIKIAotIzogYWR2aWNlLmM6MTAxIGJ1aWx0aW4vbWVyZ2UuYzoxMjM4CisjOiBhZHZpY2UuYzoxMDkKK21zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCittc2dzdHIgIuWboOS4uuWtmOWcqOacquino+WGs+eahOWGsueqgeiAjOmAgOWHuuOAgiIKKworIzogYWR2aWNlLmM6MTE0IGJ1aWx0aW4vbWVyZ2UuYzoxMTgxCiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgogbXNnc3RyICLmgqjlsJrmnKrnu5PmnZ/mgqjnmoTlkIjlubbvvIjlrZjlnKggTUVSR0VfSEVBRO+8ieOAgiIKIAotIzogYWR2aWNlLmM6MTAzCisjOiBhZHZpY2UuYzoxMTYKIG1zZ2lkICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIG1lcmdpbmcuIgogbXNnc3RyICLor7flnKjlkIjlubbliY3lhYjmj5DkuqTmgqjnmoTkv67mlLnjgIIiCiAKLSM6IGFkdmljZS5jOjEwNAorIzogYWR2aWNlLmM6MTE3CiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIHVuZmluaXNoZWQgbWVyZ2UuIgogbXNnc3RyICLlm6DkuLrlrZjlnKjmnKrlrozmiJDnmoTlkIjlubbogIzpgIDlh7rjgIIiCiAKKyM6IGFkdmljZS5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG4iCisiXG4iCisiWW91IGFyZSBpbiAnZGV0YWNoZWQgSEVBRCcgc3RhdGUuIFlvdSBjYW4gbG9vayBhcm91bmQsIG1ha2UgZXhwZXJpbWVudGFsXG4iCisiY2hhbmdlcyBhbmQgY29tbWl0IHRoZW0sIGFuZCB5b3UgY2FuIGRpc2NhcmQgYW55IGNvbW1pdHMgeW91IG1ha2UgaW4gdGhpc1xuIgorInN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBwZXJmb3JtaW5nIGFub3RoZXIgY2hlY2tvdXQuXG4iCisiXG4iCisiSWYgeW91IHdhbnQgdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCB0byByZXRhaW4gY29tbWl0cyB5b3UgY3JlYXRlLCB5b3UgbWF5XG4iCisiZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWIgd2l0aCB0aGUgY2hlY2tvdXQgY29tbWFuZCBhZ2Fpbi4gRXhhbXBsZTpcbiIKKyJcbiIKKyIgIGdpdCBjaGVja291dCAtYiA8bmV3LWJyYW5jaC1uYW1lPlxuIgorIlxuIgorbXNnc3RyICIiCisi5rOo5oSP77ya5q2j5Zyo5qOA5Ye6ICclcyfjgIJcbiIKKyJcbiIKKyLmgqjmraPlpITkuo7liIbnprvlpLTmjIfpkojnirbmgIHjgILmgqjlj6/ku6Xmn6XnnIvjgIHlgZror5XpqozmgKfnmoTkv67mlLnlj4rmj5DkuqTvvIzlubbkuJTmgqjlj6/ku6XpgJrov4flj6YiCisi5aSWXG4iCisi55qE5qOA5Ye65YiG5pSv5pON5L2c5Lii5byD5Zyo6L+Z5Liq54q25oCB5LiL5omA5YGa55qE5Lu75L2V5o+Q5Lqk44CCXG4iCisiXG4iCisi5aaC5p6c5oKo5oOz6KaB6YCa6L+H5Yib5bu65YiG5pSv5p2l5L+d55WZ5Zyo5q2k54q25oCB5LiL5omA5YGa55qE5o+Q5Lqk77yM5oKo5Y+v5Lul6YCa6L+H5Zyo5qOA5Ye65ZG95Luk5re75YqgXG4iCisi5Y+C5pWwIC1iIOadpeWunueOsO+8iOeOsOWcqOaIlueojeWQju+8ieOAguS+i+Wmgu+8mlxuIgorIlxuIgorIiAgZ2l0IGNoZWNrb3V0IC1iIDxuZXctYnJhbmNoLW5hbWU+XG4iCisiXG4iCisKKyM6IGFwcGx5LmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCittc2dzdHIgIuacquiDveivhuWIq+eahOepuueZveWtl+espumAiemhuSAnJXMnIgorCisjOiBhcHBseS5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIGlnbm9yZSBvcHRpb24gJyVzJyIKK21zZ3N0ciAi5pyq6IO96K+G5Yir55qE56m655m95a2X56ym5b+955Wl6YCJ6aG5ICclcyciCisKKyM6IGFwcGx5LmM6MTI1Cittc2dpZCAiLS1yZWplY3QgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCittc2dzdHIgIi0tcmVqZWN0IOWSjCAtLTNzYXkg5LiN6IO95ZCM5pe25L2/55So44CCIgorCisjOiBhcHBseS5jOjEyNworbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICItLWNhY2hlZCDlkowgLS0zd2F5IOS4jeiDveWQjOaXtuS9v+eUqOOAgiIKKworIzogYXBwbHkuYzoxMzAKK21zZ2lkICItLTN3YXkgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCittc2dzdHIgIi0tM3dheSDlnKjkuIDkuKrku5PlupPkuYvlpJYiCisKKyM6IGFwcGx5LmM6MTQxCittc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKK21zZ3N0ciAiLS1pbmRleCDlnKjkuIDkuKrku5PlupPkuYvlpJYiCisKKyM6IGFwcGx5LmM6MTQ0Cittc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCittc2dzdHIgIi0tY2FjaGVkIOWcqOS4gOS4quS7k+W6k+S5i+WkliIKKworIzogYXBwbHkuYzo4NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKK21zZ3N0ciAi5peg5rOV5YeG5aSH5pe26Ze05oiz5q2j5YiZ6KGo6L6+5byPICVzIgorCisjOiBhcHBseS5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCittc2dzdHIgInJlZ2V4ZWMg6L+U5ZueICVk77yM6L6T5YWl5Li677yaJXMiCisKKyM6IGFwcGx5LmM6OTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgIuS4jeiDveWcqOihpeS4geeahOesrCAlZCDooYzmib7liLDmlofku7blkI0iCisKKyM6IGFwcGx5LmM6OTc3CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIKK21zZ3N0ciAiZ2l0IGFwcGx577ya6ZSZ6K+v55qEIGdpdC1kaWZmIC0g5bqU5Li6IC9kZXYvbnVsbO+8jOS9huWcqOesrCAlMiRkIOihjOW+l+WIsCAlMSRzIgorCisjOiBhcHBseS5jOjk4MworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKK21zZ3N0ciAiZ2l0IGFwcGx577ya6ZSZ6K+v55qEIGdpdC1kaWZmIC0g56ysICVkIOihjOS4iuaWsOaWh+S7tuWQjeS4jeS4gOiHtCIKKworIzogYXBwbHkuYzo5ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBsee+8mumUmeivr+eahCBnaXQtZGlmZiAtIOesrCAlZCDooYzkuIrml6fmlofku7blkI3kuI3kuIDoh7QiCisKKyM6IGFwcGx5LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBsee+8mumUmeivr+eahCBnaXQtZGlmZiAtIOesrCAlZCDooYzlpITlupTkuLogL2Rldi9udWxsIgorCisjOiBhcHBseS5jOjE0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgorbXNnc3RyICJyZWNvdW5077ya5oSP5aSW55qE6KGM77yaJS4qcyIKKworIzogYXBwbHkuYzoxNTU3CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgIuesrCAlZCDooYznmoTooaXkuIHniYfmrrXmsqHmnInlpLTkv6Hmga/vvJolLipzIgorCisjOiBhcHBseS5jOjE1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgorImNvbXBvbmVudCAobGluZSAlZCkiCittc2dpZF9wbHVyYWwgIiIKKyJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKKyJjb21wb25lbnRzIChsaW5lICVkKSIKK21zZ3N0clswXSAi5b2T56e76ZmkICVkIOS4quWJjeWvvOi3r+W+hOWQjiBnaXQgZGlmZiDlpLTnvLrkuY/mlofku7blkI3kv6Hmga/vvIjnrKwgJWQg6KGM77yJIgorbXNnc3RyWzFdICLlvZPnp7vpmaQgJWQg5Liq5YmN5a+86Lev5b6E5ZCOIGdpdCBkaWZmIOWktOe8uuS5j+aWh+S7tuWQjeS/oeaBr++8iOesrCAlZCDooYzvvIkiCisKKyM6IGFwcGx5LmM6MTU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gKGxpbmUgJWQpIgorbXNnc3RyICJnaXQgZGlmZiDnmoTlpLTkv6Hmga/kuK3nvLrkuY/mlofku7blkI3kv6Hmga/vvIjnrKwgJWQg6KGM77yJIgorCisjOiBhcHBseS5jOjE3NTkKK21zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKK21zZ3N0ciAi5paw5paH5Lu25L6d6LWW5pen5YaF5a65IgorCisjOiBhcHBseS5jOjE3NjEKK21zZ2lkICJkZWxldGVkIGZpbGUgc3RpbGwgaGFzIGNvbnRlbnRzIgorbXNnc3RyICLliKDpmaTnmoTmlofku7bku43mnInlhoXlrrkiCisKKyM6IGFwcGx5LmM6MTc5NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgIuihpeS4geWcqOesrCAlZCDooYzmjZ/lnY8iCisKKyM6IGFwcGx5LmM6MTgzMgorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgZmlsZSAlcyBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKK21zZ3N0ciAi5paw5paH5Lu2ICVzIOS+nei1luaXp+WGheWuuSIKKworIzogYXBwbHkuYzoxODM0CisjLCBjLWZvcm1hdAorbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgIuWIoOmZpOeahOaWh+S7tiAlcyDku43mnInlhoXlrrkiCisKKyM6IGFwcGx5LmM6MTgzNworIywgYy1mb3JtYXQKK21zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgorbXNnc3RyICIqKiDorablkYrvvJrmlofku7YgJXMg5oiQ5Li656m65paH5Lu25L2G5bm25pyq5Yig6ZmkIgorCisjOiBhcHBseS5jOjE5ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29ycnVwdCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZDogJS4qcyIKK21zZ3N0ciAi5LqM6L+b5Yi26KGl5LiB5Zyo56ysICVkIOihjOaNn+Wdj++8miUuKnMiCisKKyM6IGFwcGx5LmM6MjAyMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgIuacquiDveivhuWIq+eahOS6jOi/m+WItuihpeS4geS9jeS6juesrCAlZCDooYwiCisKKyM6IGFwcGx5LmM6MjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgorbXNnc3RyICLooaXkuIHmlofku7bnmoTnrKwgJWQg6KGM5Y+q5pyJ5Z6D5Zy+5pWw5o2uIgorCisjOiBhcHBseS5jOjIyNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKK21zZ3N0ciAi5peg5rOV6K+75Y+W56ym5Y+36ZO+5o6lICVzIgorCisjOiBhcHBseS5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKK21zZ3N0ciAi5LiN6IO95omT5byA5oiW6K+75Y+WICVzIgorCisjOiBhcHBseS5jOjI5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgorbXNnc3RyICLml6DmlYjnmoTooYzpppblrZfnrKbvvJonJWMnIgorCisjOiBhcHBseS5jOjMwNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgorbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgorbXNnc3RyWzBdICLlnZcgIyVkIOaIkOWKn+W6lOeUqOS6jiAlZO+8iOWBj+enuyAlZCDooYzvvIkiCittc2dzdHJbMV0gIuWdlyAjJWQg5oiQ5Yqf5bqU55So5LqOICVk77yI5YGP56e7ICVkIOihjO+8iSIKKworIzogYXBwbHkuYzozMDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRleHQgcmVkdWNlZCB0byAoJWxkLyVsZCkgdG8gYXBwbHkgZnJhZ21lbnQgYXQgJWQiCittc2dzdHIgIuS4iuS4i+aWh+WHj+WwkeWIsO+8iCVsZC8lbGTvvInku6XlnKjnrKwgJWQg6KGM5bqU55So6KGl5LiB54mH5q61IgorCisjOiBhcHBseS5jOjMwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIndoaWxlIHNlYXJjaGluZyBmb3I6XG4iCisiJS4qcyIKK21zZ3N0ciAiIgorIuW9k+afpeivou+8mlxuIgorIiUuKnMiCisKKyM6IGFwcGx5LmM6MzA5MAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIGJpbmFyeSBwYXRjaCBkYXRhIGZvciAnJXMnIgorbXNnc3RyICLnvLrlpLEgJyVzJyDnmoTkuozov5vliLbooaXkuIHmlbDmja4iCisKKyM6IGFwcGx5LmM6MzA5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmV2ZXJzZS1hcHBseSBhIGJpbmFyeSBwYXRjaCB3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIKK21zZ3N0ciAi5LiN6IO95Y+N5ZCR5bqU55So5LiA5Liq5rKh5pyJ6IezICclcycg55qE5Y+N5ZCR5pWw5o2u5Z2X55qE5LqM6L+b5Yi26KGl5LiBIgorCisjOiBhcHBseS5jOjMxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFwcGx5IGJpbmFyeSBwYXRjaCB0byAnJXMnIHdpdGhvdXQgZnVsbCBpbmRleCBsaW5lIgorbXNnc3RyICLkuI3og73lnKggJyVzJyDkuIrlupTnlKjmsqHmnInlrozmlbTntKLlvJXooYznmoTkuozov5vliLbooaXkuIEiCisKKyM6IGFwcGx5LmM6MzE1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIHBhdGNoIGFwcGxpZXMgdG8gJyVzJyAoJXMpLCB3aGljaCBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudCBjb250ZW50cy4iCittc2dzdHIgIuihpeS4geW8leeUqOWIsCAnJXMnICglcynvvIzkvYbmmK/lkozlvZPliY3lhoXlrrnkuI3ljLnphY3jgIIiCisKKyM6IGFwcGx5LmM6MzE2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCittc2dzdHIgIuihpeS4geW6lOeUqOWIsOepuuaWh+S7tiAnJXMn77yM5L2G5piv5a6D5bm25LiN56m6IgorCisjOiBhcHBseS5jOjMxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG5lY2Vzc2FyeSBwb3N0aW1hZ2UgJXMgZm9yICclcycgY2Fubm90IGJlIHJlYWQiCittc2dzdHIgIuaXoOazleivu+WPliAnJTIkcycg5b+F6aG755qE55uu5qCH5paH5Lu2ICUxJHMiCisKKyM6IGFwcGx5LmM6MzE5MworIywgYy1mb3JtYXQKK21zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKK21zZ3N0ciAi5LqM6L+b5Yi26KGl5LiB5pyq5bqU55So5YiwICclcyciCisKKyM6IGFwcGx5LmM6MzE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKK21zZ3N0ciAi5YiwICclcycg55qE5LqM6L+b5Yi26KGl5LiB5Lqn55Sf5LqG5LiN5q2j56Gu55qE57uT5p6c77yI5bqU5Li6ICVz77yM5Y205Li6ICVz77yJIgorCisjOiBhcHBseS5jOjMyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggZmFpbGVkOiAlczolbGQiCittc2dzdHIgIuaJk+ihpeS4geWksei0pe+8miVzOiVsZCIKKworIzogYXBwbHkuYzozMzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKK21zZ3N0ciAi5LiN6IO95qOA5Ye6ICVzIgorCisjOiBhcHBseS5jOjMzOTAgYXBwbHkuYzozNDAxIGFwcGx5LmM6MzQ0NyBzZXR1cC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKK21zZ3N0ciAi5peg5rOV6K+75Y+WICVzIgorCisjOiBhcHBseS5jOjMzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAi6K+75Y+W5L2N5LqO56ym5Y+36ZO+5o6l5Lit55qEICclcyciCisKKyM6IGFwcGx5LmM6MzQyNyBhcHBseS5jOjM2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiCittc2dzdHIgIui3r+W+hCAlcyDlt7Lnu4/ooqvph43lkb3lkI0v5Yig6ZmkIgorCisjOiBhcHBseS5jOjM1MTAgYXBwbHkuYzozNjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKK21zZ3N0ciAiJXPvvJrkuI3lrZjlnKjkuo7ntKLlvJXkuK0iCisKKyM6IGFwcGx5LmM6MzUxOSBhcHBseS5jOjM2ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgorbXNnc3RyICIlc++8muWSjOe0ouW8leS4jeWMuemFjSIKKworIzogYXBwbHkuYzozNTU0Cittc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKK21zZ3N0ciAi5LuT5bqT57y65LmP5b+F6KaB55qE5pWw5o2u5a+56LGh5Lul6L+b6KGM5LiJ5pa55ZCI5bm244CCIgorCisjOiBhcHBseS5jOjM1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFsbGluZyBiYWNrIHRvIHRocmVlLXdheSBtZXJnZS4uLlxuIgorbXNnc3RyICLlm57okL3liLDkuInmlrnlkIjlubYuLi5cbiIKKworIzogYXBwbHkuYzozNTczIGFwcGx5LmM6MzU3NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCB0aGUgY3VycmVudCBjb250ZW50cyBvZiAnJXMnIgorbXNnc3RyICLml6Dms5Xor7vlj5YgJyVzJyDnmoTlvZPliY3lhoXlrrkiCisKKyM6IGFwcGx5LmM6MzU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gZmFsbCBiYWNrIG9uIHRocmVlLXdheSBtZXJnZS4uLlxuIgorbXNnc3RyICLml6Dms5Xlm57okL3liLDkuInmlrnlkIjlubYuLi5cbiIKKworIzogYXBwbHkuYzozNjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyB3aXRoIGNvbmZsaWN0cy5cbiIKK21zZ3N0ciAi5bqU55So6KGl5LiB5YiwICclcycg5a2Y5Zyo5Yay56qB44CCXG4iCisKKyM6IGFwcGx5LmM6MzYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgY2xlYW5seS5cbiIKK21zZ3N0ciAi5oiQ5Yqf5bqU55So6KGl5LiB5YiwICclcyfjgIJcbiIKKworIzogYXBwbHkuYzozNjM0Cittc2dpZCAicmVtb3ZhbCBwYXRjaCBsZWF2ZXMgZmlsZSBjb250ZW50cyIKK21zZ3N0ciAi56e76Zmk6KGl5LiB5LuN55WZ5LiL5LqG5paH5Lu25YaF5a65IgorCisjOiBhcHBseS5jOjM3MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyb25nIHR5cGUiCittc2dzdHIgIiVz77ya6ZSZ6K+v57G75Z6LIgorCisjOiBhcHBseS5jOjM3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgorbXNnc3RyICIlcyDnmoTnsbvlnovmmK8gJW/vvIzlupTkuLogJW8iCisKKyM6IGFwcGx5LmM6Mzg1OSBhcHBseS5jOjM4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBwYXRoICclcyciCittc2dzdHIgIuaXoOaViOi3r+W+hCAnJXMnIgorCisjOiBhcHBseS5jOjM5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgorbXNnc3RyICIlc++8muW3sue7j+WtmOWcqOS6jue0ouW8leS4rSIKKworIzogYXBwbHkuYzozOTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXPvvJrlt7Lnu4/lrZjlnKjkuo7lt6XkvZzljLrkuK0iCisKKyM6IGFwcGx5LmM6Mzk0MAorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykiCittc2dzdHIgIiUyJHMg55qE5paw5qih5byP77yIJTEkb++8ieWSjOaXp+aooeW8j++8iCUzJG/vvInkuI3ljLnphY0iCisKKyM6IGFwcGx5LmM6Mzk0NQorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCittc2dzdHIgIiUyJHMg55qE5paw5qih5byP77yIJTEkb++8ieWSjCAlNCRzIOeahOaXp+aooeW8j++8iCUzJG/vvInkuI3ljLnphY0iCisKKyM6IGFwcGx5LmM6Mzk2NQorIywgYy1mb3JtYXQKK21zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAi5Y+X5b2x5ZON55qE5paH5Lu2ICclcycg5L2N5LqO56ym5Y+36ZO+5o6l5LitIgorCisjOiBhcHBseS5jOjM5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICIlc++8muihpeS4geacquW6lOeUqCIKKworIzogYXBwbHkuYzozOTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgorbXNnc3RyICLmo4Dmn6XooaXkuIEgJXMuLi4iCisKKyM6IGFwcGx5LmM6NDA3NQorIywgYy1mb3JtYXQKK21zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyBmb3Igc3VibW9kdWxlICVzIgorbXNnc3RyICLlrZDmqKHnu4QgJXMg55qEIHNoYTEg5L+h5oGv57y65aSx5oiW5peg5pWIIgorCisjOiBhcHBseS5jOjQwODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZSBjaGFuZ2UgZm9yICVzLCB3aGljaCBpcyBub3QgaW4gY3VycmVudCBIRUFEIgorbXNnc3RyICIlcyDnmoTlsZ7mgKfmlLnlj5jvvIzkvYblroPkuI3lho3lvZPliY0gSEVBRCDkuK0iCisKKyM6IGFwcGx5LmM6NDA4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyAoJXMpLiIKK21zZ3N0ciAic2hhMSDkv6Hmga/nvLrlpLHmiJbml6DmlYjvvIglc++8ieOAgiIKKworIzogYXBwbHkuYzo0MDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzMgYnVpbHRpbi9yZXNldC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgorbXNnc3RyICLlr7not6/lvoQgJyVzJyDnmoQgbWFrZV9jYWNoZV9lbnRyeSDmk43kvZzlpLHotKUiCisKKyM6IGFwcGx5LmM6NDA5NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgYWRkICVzIHRvIHRlbXBvcmFyeSBpbmRleCIKK21zZ3N0ciAi5LiN6IO95Zyo5Li05pe257Si5byV5Lit5re75YqgICVzIgorCisjOiBhcHBseS5jOjQxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlIHRlbXBvcmFyeSBpbmRleCB0byAlcyIKK21zZ3N0ciAi5LiN6IO95oqK5Li05pe257Si5byV5YaZ5YWl5YiwICVzIgorCisjOiBhcHBseS5jOjQyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgorbXNnc3RyICLkuI3og73ku47ntKLlvJXkuK3np7vpmaQgJXMiCisKKyM6IGFwcGx5LmM6NDI3NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCittc2dzdHIgIuWtkOaooee7hCAlcyDmjZ/lnY/nmoTooaXkuIEiCisKKyM6IGFwcGx5LmM6NDI4MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKK21zZ3N0ciAi5LiN6IO95p6a5Li+5paw5bu65paH5Lu2ICclcycg55qE54q25oCBIgorCisjOiBhcHBseS5jOjQyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCittc2dzdHIgIuS4jeiDveS4uuaWsOW7uuaWh+S7tiAlcyDliJvlu7rlkI7nq6/lrZjlgqgiCisKKyM6IGFwcGx5LmM6NDI5NyBhcHBseS5jOjQ0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCittc2dzdHIgIuaXoOazleS4uiAlcyDmt7vliqDnvJPlrZjmnaHnm64iCisKKyM6IGFwcGx5LmM6NDMzOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgdG8gJyVzJyIKK21zZ3N0ciAi5peg5rOV5YaZ5YWlICclcyciCisKKyM6IGFwcGx5LmM6NDM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKK21zZ3N0ciAi5YWz6Zet5paH5Lu2ICclcyciCisKKyM6IGFwcGx5LmM6NDQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCittc2dzdHIgIuS4jeiDveWGmeaWh+S7tiAnJXMnIOadg+mZkCAlbyIKKworIzogYXBwbHkuYzo0NTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggJXMgY2xlYW5seS4iCittc2dzdHIgIuaIkOWKn+W6lOeUqOihpeS4gSAlc+OAgiIKKworIzogYXBwbHkuYzo0NTE4Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgIuWGhemDqOmUmeivryIKKworIzogYXBwbHkuYzo0NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKK21zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKK21zZ3N0clswXSAi5bqU55SoICUlcyDkuKrooaXkuIHvvIzlhbbkuK0gJWQg5Liq6KKr5ouS57udLi4uIgorbXNnc3RyWzFdICLlupTnlKggJSVzIOS4quihpeS4ge+8jOWFtuS4rSAlZCDkuKrooqvmi5Lnu50uLi4iCisKKyM6IGFwcGx5LmM6NDUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCittc2dzdHIgIuaIquefrSAucmVqIOaWh+S7tuWQjeS4uiAlLipzLnJlaiIKKworIzogYXBwbHkuYzo0NTQwIGJ1aWx0aW4vZmV0Y2guYzo3NDAgYnVpbHRpbi9mZXRjaC5jOjk4OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAi5LiN6IO95omT5byAICVzIgorCisjOiBhcHBseS5jOjQ1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKK21zZ3N0ciAi56ysICMlZCDkuKrniYfmrrXmiJDlip/lupTnlKjjgIIiCisKKyM6IGFwcGx5LmM6NDU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCittc2dzdHIgIuaLkue7neesrCAjJWQg5Liq54mH5q6144CCIgorCisjOiBhcHBseS5jOjQ2NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBlZCBwYXRjaCAnJXMnLiIKK21zZ3N0ciAi55Wl6L+H6KGl5LiBICclcyfjgIIiCisKKyM6IGFwcGx5LmM6NDY3NgorbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKK21zZ3N0ciAi5pyq6IO96K+G5Yir55qE6L6T5YWlIgorCisjOiBhcHBseS5jOjQ2OTUKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgorbXNnc3RyICLml6Dms5Xor7vlj5bntKLlvJXmlofku7YiCisKKyM6IGFwcGx5LmM6NDgzMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBvcGVuIHBhdGNoICclcyc6ICVzIgorbXNnc3RyICLkuI3og73miZPlvIDooaXkuIEgJyVzJ++8miVzIgorCisjOiBhcHBseS5jOjQ4NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCittc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKK21zZ3N0clswXSAi5oqR5Yi25LiL5LuN5pyJICVkIOS4quepuueZveWtl+espuivr+eUqCIKK21zZ3N0clsxXSAi5oqR5Yi25LiL5LuN5pyJICVkIOS4quepuueZveWtl+espuivr+eUqCIKKworIzogYXBwbHkuYzo0ODY0IGFwcGx5LmM6NDg3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnc3RyWzBdICIlZCDooYzmnInnqbrnmb3lrZfnrKbor6/nlKjjgIIiCittc2dzdHJbMV0gIiVkIOihjOacieepuueZveWtl+espuivr+eUqOOAgiIKKworIzogYXBwbHkuYzo0ODcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGxpbmUgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dzdHJbMF0gIuS/ruWkjeepuueZvemUmeivr+WQju+8jOW6lOeUqOS6hiAlZCDooYzjgIIiCittc2dzdHJbMV0gIuS/ruWkjeepuueZvemUmeivr+WQju+8jOW6lOeUqOS6hiAlZCDooYzjgIIiCisKKyM6IGFwcGx5LmM6NDg4OCBidWlsdGluL2FkZC5jOjQ2MyBidWlsdGluL212LmM6Mjg2IGJ1aWx0aW4vcm0uYzo0MzEKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCittc2dzdHIgIuaXoOazleWGmeWFpeaWsOe0ouW8leaWh+S7tiIKKworIzogYXBwbHkuYzo0OTE5IGFwcGx5LmM6NDkyMiBidWlsdGluL2FtLmM6MjI3NyBidWlsdGluL2FtLmM6MjI4MAorIzogYnVpbHRpbi9jbG9uZS5jOjk1IGJ1aWx0aW4vZmV0Y2guYzo5OCBidWlsdGluL3B1bGwuYzoxODAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU4OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTQ0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDcKK21zZ2lkICJwYXRoIgorbXNnc3RyICLot6/lvoQiCisKKyM6IGFwcGx5LmM6NDkyMAorbXNnaWQgImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCittc2dzdHIgIuS4jeimgeW6lOeUqOS4jue7meWHuui3r+W+hOWQkeWMuemFjeeahOWPmOabtCIKKworIzogYXBwbHkuYzo0OTIzCittc2dpZCAiYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKK21zZ3N0ciAi5bqU55So5LiO57uZ5Ye66Lev5b6E5ZCR5Yy56YWN55qE5Y+Y5pu0IgorCisjOiBhcHBseS5jOjQ5MjUgYnVpbHRpbi9hbS5jOjIyODYKK21zZ2lkICJudW0iCittc2dzdHIgIuaVsOWtlyIKKworIzogYXBwbHkuYzo0OTI2Cittc2dpZCAicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiCittc2dzdHIgIuS7juS8oOe7n+eahCBkaWZmIOi3r+W+hOS4reenu+mZpOaMh+WumuaVsOmHj+eahOWJjeWvvOaWnOe6vyIKKworIzogYXBwbHkuYzo0OTI5Cittc2dpZCAiaWdub3JlIGFkZGl0aW9ucyBtYWRlIGJ5IHRoZSBwYXRjaCIKK21zZ3N0ciAi5b+955Wl6KGl5LiB5Lit55qE5re75Yqg55qE5paH5Lu2IgorCisjOiBhcHBseS5jOjQ5MzEKK21zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCittc2dzdHIgIuS4jeW6lOeUqOihpeS4ge+8jOiAjOaYr+aYvuekuui+k+WFpeeahOW3ruW8gue7n+iuoe+8iGRpZmZzdGF077yJIgorCisjOiBhcHBseS5jOjQ5MzUKK21zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgorbXNnc3RyICLku6XljYHov5vliLbmlbDmmL7npLrmt7vliqDlkozliKDpmaTnmoTooYzmlbAiCisKKyM6IGFwcGx5LmM6NDkzNworbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCittc2dzdHIgIuS4jeW6lOeUqOihpeS4ge+8jOiAjOaYr+aYvuekuui+k+WFpeeahOamguimgSIKKworIzogYXBwbHkuYzo0OTM5Cittc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKK21zZ3N0ciAi5LiN5bqU55So6KGl5LiB77yM6ICM5piv5p+l55yL6KGl5LiB5piv5ZCm5Y+v5bqU55SoIgorCisjOiBhcHBseS5jOjQ5NDEKK21zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCittc2dzdHIgIuehruiupOihpeS4geWPr+S7peW6lOeUqOWIsOW9k+WJjee0ouW8lSIKKworIzogYXBwbHkuYzo0OTQzCittc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIuW6lOeUqOihpeS4geiAjOS4jeS/ruaUueW3peS9nOWMuiIKKworIzogYXBwbHkuYzo0OTQ1Cittc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKK21zZ3N0ciAi5o6l5Y+X5L+u5pS55bel5L2c5Yy65LmL5aSW5paH5Lu255qE6KGl5LiBIgorCisjOiBhcHBseS5jOjQ5NDcKK21zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKK21zZ3N0ciAi6L+Y5bqU55So5q2k6KGl5LiB77yI5LiOIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjayDpgInpobnlkIzml7bkvb/nlKjvvIkiCisKKyM6IGFwcGx5LmM6NDk0OQorbXNnaWQgImF0dGVtcHQgdGhyZWUtd2F5IG1lcmdlIGlmIGEgcGF0Y2ggZG9lcyBub3QgYXBwbHkiCittc2dzdHIgIuWmguaenOS4gOS4quihpeS4geS4jeiDveW6lOeUqOWImeWwneivleS4ieaWueWQiOW5tiIKKworIzogYXBwbHkuYzo0OTUxCittc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCittc2dzdHIgIuWIm+W7uuS4gOS4quS4tOaXtue0ouW8leWfuuS6juW1jOWFpeeahOe0ouW8leS/oeaBryIKKworIzogYXBwbHkuYzo0OTU0IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjkgYnVpbHRpbi9scy1maWxlcy5jOjUwNQorbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgorbXNnc3RyICLot6/lvoTku6UgTlVMIOWtl+espuWIhumalCIKKworIzogYXBwbHkuYzo0OTU2Cittc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgorbXNnc3RyICLnoa7kv53oh7PlsJHljLnphY0gPG4+IOihjOS4iuS4i+aWhyIKKworIzogYXBwbHkuYzo0OTU3IGJ1aWx0aW4vYW0uYzoyMjY1Cittc2dpZCAiYWN0aW9uIgorbXNnc3RyICLliqjkvZwiCisKKyM6IGFwcGx5LmM6NDk1OAorbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgorbXNnc3RyICLmo4Dmn6XmlrDlop7lkozkv67mlLnnmoTooYzkuK3pl7TnmoTnqbrnmb3lrZfnrKbmu6XnlKgiCisKKyM6IGFwcGx5LmM6NDk2MSBhcHBseS5jOjQ5NjQKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgorbXNnc3RyICLmn6Xmib7kuIrkuIvmlofml7blv73nlaXnqbrnmb3lrZfnrKbnmoTlj5jmm7QiCisKKyM6IGFwcGx5LmM6NDk2NworbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgorbXNnc3RyICLlj43lkJHlupTnlKjooaXkuIEiCisKKyM6IGFwcGx5LmM6NDk2OQorbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgorbXNnc3RyICLml6DpnIDoh7PlsJHkuIDooYzkuIrkuIvmlociCisKKyM6IGFwcGx5LmM6NDk3MQorbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgorbXNnc3RyICLlsIbmi5Lnu53nmoTooaXkuIHniYfmrrXkv53lrZjlnKjlr7nlupTnmoQgKi5yZWog5paH5Lu25LitIgorCisjOiBhcHBseS5jOjQ5NzMKK21zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKK21zZ3N0ciAi5YWB6K646YeN5Y+g55qE6KGl5LiB54mH5q61IgorCisjOiBhcHBseS5jOjQ5NzQgYnVpbHRpbi9hZGQuYzoyNjcgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQorIzogYnVpbHRpbi9jb21taXQuYzoxMzM5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk0IGJ1aWx0aW4vZnNjay5jOjU5MworIzogYnVpbHRpbi9sb2cuYzoxODYwIGJ1aWx0aW4vbXYuYzoxMTAgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKK21zZ2lkICJiZSB2ZXJib3NlIgorbXNnc3RyICLlhpfplb/ovpPlh7oiCisKKyM6IGFwcGx5LmM6NDk3NgorbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgorbXNnc3RyICLlhYHorrjkuI3mraPnoa7nmoTmlofku7bmnKvlsL7mjaLooYznrKYiCisKKyM6IGFwcGx5LmM6NDk3OQorbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKK21zZ3N0ciAi5LiN5L+h5Lu76KGl5LiB54mH5q6155qE5aS05L+h5oGv5Lit55qE6KGM5Y+3IgorCisjOiBhcHBseS5jOjQ5ODEgYnVpbHRpbi9hbS5jOjIyNzQKK21zZ2lkICJyb290IgorbXNnc3RyICLmoLnnm67lvZUiCisKKyM6IGFwcGx5LmM6NDk4MgorbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCittc2dzdHIgIuS4uuaJgOacieaWh+S7tuWQjeWJjea3u+WKoCA85qC555uu5b2VPiIKKwogIzogYXJjaGl2ZS5jOjEyCiBtc2dpZCAiZ2l0IGFyY2hpdmUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgWzzpgInpobk+XSA85qCR5oiW5o+Q5LqkPiBbPOi3r+W+hD4uLi5dIgpAQCAtMTg4LDcgKzg0OCw3IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPOS7k+W6kz4gWy0tZXhlYyA85ZG95LukPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzQ0IGJ1aWx0aW4vYWRkLmM6MTM3IGJ1aWx0aW4vYWRkLmM6NDIwIGJ1aWx0aW4vcm0uYzozMjcKKyM6IGFyY2hpdmUuYzozNDQgYnVpbHRpbi9hZGQuYzoxNTIgYnVpbHRpbi9hZGQuYzo0NDIgYnVpbHRpbi9ybS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgogbXNnc3RyICLot6/lvoTop4TmoLwgJyVzJyDmnKrljLnphY3ku7vkvZXmlofku7YiCkBAIC0yMDEsNyArODYxLDcgQEAKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAi5b2S5qGj5qC85byPIgogCi0jOiBhcmNoaXZlLmM6NDMwIGJ1aWx0aW4vbG9nLmM6MTM5NQorIzogYXJjaGl2ZS5jOjQzMCBidWlsdGluL2xvZy5jOjE0MjkKIG1zZ2lkICJwcmVmaXgiCiBtc2dzdHIgIuWJjee8gCIKIApAQCAtMjA5LDExICs4NjksMTEgQEAKIG1zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgogbXNnc3RyICLkuLrlvZLmoaPkuK3mr4/kuKrot6/lvoTlkI3liqDkuIrliY3nvIAiCiAKLSM6IGFyY2hpdmUuYzo0MzIgYnVpbHRpbi9hcmNoaXZlLmM6ODggYnVpbHRpbi9ibGFtZS5jOjI1NDgKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQ5IGJ1aWx0aW4vY29uZmlnLmM6NjAgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4NwotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4OSBidWlsdGluL2dyZXAuYzo3MjIgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1OSBidWlsdGluL2xzLWZpbGVzLmM6NDYyIGJ1aWx0aW4vbm90ZXMuYzozOTgKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NjEgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMDkgcGFyc2Utb3B0aW9ucy5oOjE1MworIzogYXJjaGl2ZS5jOjQzMiBidWlsdGluL2FyY2hpdmUuYzo4OCBidWlsdGluL2JsYW1lLmM6MjYwMworIzogYnVpbHRpbi9ibGFtZS5jOjI2MDQgYnVpbHRpbi9jb25maWcuYzo1OSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg3CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg5IGJ1aWx0aW4vZ3JlcC5jOjcyMyBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDIgYnVpbHRpbi9ub3Rlcy5jOjQwMQorIzogYnVpbHRpbi9ub3Rlcy5jOjU2NCBidWlsdGluL3JlYWQtdHJlZS5jOjEwOSBwYXJzZS1vcHRpb25zLmg6MTUzCiBtc2dpZCAiZmlsZSIKIG1zZ3N0ciAi5paH5Lu2IgogCkBAIC0yNDUsOCArOTA1LDggQEAKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgIuWIl+WHuuaUr+aMgeeahOW9kuaho+agvOW8jyIKIAotIzogYXJjaGl2ZS5jOjQ1MSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6ODIKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzYKKyM6IGFyY2hpdmUuYzo0NTEgYnVpbHRpbi9hcmNoaXZlLmM6OTAgYnVpbHRpbi9jbG9uZS5jOjg1IGJ1aWx0aW4vY2xvbmUuYzo4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwMSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUzCiBtc2dpZCAicmVwbyIKIG1zZ3N0ciAi5LuT5bqTIgogCkBAIC0yNTQsNyArOTE0LDcgQEAKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAi5LuO6L+c56iL5LuT5bqT77yIPOS7k+W6kz7vvInmj5Dlj5blvZLmoaPmlofku7YiCiAKLSM6IGFyY2hpdmUuYzo0NTMgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9ub3Rlcy5jOjQ4MgorIzogYXJjaGl2ZS5jOjQ1MyBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL25vdGVzLmM6NDg1CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAi5ZG95LukIgogCkBAIC0yNjIsNiArOTIyLDI4IEBACiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICLov5znqIsgZ2l0LXVwbG9hZC1hcmNoaXZlIOWRveS7pOeahOi3r+W+hCIKIAorIzogYXJjaGl2ZS5jOjQ2MQorbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tcmVtb3RlIgorbXNnc3RyICLmnKrnn6Xlj4LmlbAgLS1yZW1vdGUiCisKKyM6IGFyY2hpdmUuYzo0NjMKK21zZ2lkICJPcHRpb24gLS1leGVjIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLXJlbW90ZSIKK21zZ3N0ciAi6YCJ6aG5IC0tZXhlYyDlj6rog73lkowgLS1yZW1vdGUg5ZCM5pe25L2/55SoIgorCisjOiBhcmNoaXZlLmM6NDY1Cittc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1vdXRwdXQiCittc2dzdHIgIuacquefpeWPguaVsCAtLW91dHB1dCIKKworIzogYXJjaGl2ZS5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGFyY2hpdmUgZm9ybWF0ICclcyciCittc2dzdHIgIuacquefpeW9kuaho+agvOW8jyAnJXMnIgorCisjOiBhcmNoaXZlLmM6NDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkFyZ3VtZW50IG5vdCBzdXBwb3J0ZWQgZm9yIGZvcm1hdCAnJXMnOiAtJWQiCittc2dzdHIgIuWPguaVsOS4jeaUr+aMgeatpOagvOW8jyAnJXMn77yaLSVkIgorCiAjOiBhdHRyLmM6MjYzCiBtc2dpZCAiIgogIk5lZ2F0aXZlIHBhdHRlcm5zIGFyZSBpZ25vcmVkIGluIGdpdCBhdHRyaWJ1dGVzXG4iCkBAIC0yNzAsNiArOTUyLDEyOSBAQAogIui0n+WAvOaooeeJiOWcqCBnaXQgYXR0cmlidXRlcyDkuK3ooqvlv73nlaVcbiIKICLlvZPlrZfnrKbkuLLnoa7lrp7opoHku6XmhJ/lj7nlj7flvIDlp4vml7bvvIzkvb/nlKggJ1xcISfjgIIiCiAKKyM6IGJpc2VjdC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlICclcyciCittc2dzdHIgIuS4jeiDveaJk+W8gOaWh+S7tiAnJXMnIgorCisjOiBiaXNlY3QuYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkbHkgcXVvdGVkIGNvbnRlbnQgaW4gZmlsZSAnJXMnOiAlcyIKK21zZ3N0ciAi5paH5Lu2ICclcycg5YyF5ZCr6ZSZ6K+v55qE5byV55So5qC85byP77yaJXMiCisKKyM6IGJpc2VjdC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJXZSBjYW5ub3QgYmlzZWN0IG1vcmUhXG4iCittc2dzdHIgIuaIkeS7rOaXoOazlei/m+ihjOabtOWkmueahOS6jOWIhuafpeaJvu+8gVxuIgorCisjOiBiaXNlY3QuYzo3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgdmFsaWQgY29tbWl0IG5hbWUgJXMiCittc2dzdHIgIuS4jeaYr+S4gOS4quacieaViOeahOaPkOS6pOWQjSAlcyIKKworIzogYmlzZWN0LmM6NzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBiYWQuXG4iCisiVGhpcyBtZWFucyB0aGUgYnVnIGhhcyBiZWVuIGZpeGVkIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgIiIKKyLlkIjlubbln7rnur8gJXMg5piv5Z2P55qE44CCXG4iCisi6L+Z5oSP5ZGz552A5LuL5LqOICVzIOWSjCBbJXNdIOS5i+mXtOeahCBidWcg5bey57uP6KKr5L+u5aSN44CCXG4iCisKKyM6IGJpc2VjdC5jOjczNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIG1lcmdlIGJhc2UgJXMgaXMgbmV3LlxuIgorIlRoZSBwcm9wZXJ0eSBoYXMgY2hhbmdlZCBiZXR3ZWVuICVzIGFuZCBbJXNdLlxuIgorbXNnc3RyICIiCisi5ZCI5bm25Z+657q/ICVzIOaYr+aWsOeahOOAglxuIgorIuS7i+S6jiAlcyDlkowgWyVzXSDkuYvpl7TnmoTlsZ7mgKflt7Lnu4/ooqvkv67mlLnjgIJcbiIKKworIzogYmlzZWN0LmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbWVyZ2UgYmFzZSAlcyBpcyAlcy5cbiIKKyJUaGlzIG1lYW5zIHRoZSBmaXJzdCAnJXMnIGNvbW1pdCBpcyBiZXR3ZWVuICVzIGFuZCBbJXNdLlxuIgorbXNnc3RyICIiCisi5ZCI5bm25Z+657q/ICVzIOaYryAlc+OAglxuIgorIui/meaEj+WRs+edgOesrOS4gOS4qiAnJXMnIOaPkOS6pOS9jeS6jiAlcyDlkowgWyVzXSDkuYvpl7TjgIJcbiIKKworIzogYmlzZWN0LmM6NzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJTb21lICVzIHJldnMgYXJlIG5vdCBhbmNlc3RvciBvZiB0aGUgJXMgcmV2LlxuIgorImdpdCBiaXNlY3QgY2Fubm90IHdvcmsgcHJvcGVybHkgaW4gdGhpcyBjYXNlLlxuIgorIk1heWJlIHlvdSBtaXN0b29rICVzIGFuZCAlcyByZXZzP1xuIgorbXNnc3RyICIiCisi5LiA5LqbICVzIOeJiOacrOS4jeaYryAlcyDniYjmnKznmoTnpZblhYjjgIJcbiIKKyLov5nnp43mg4XlhrXkuIsgZ2l0IOS6jOWIhuafpeaJvuaXoOazleato+W4uOW3peS9nOOAglxuIgorIuaCqOWPr+iDveW8hOmUmeS6hiAlcyDlkowgJXMg54mI5pys77yfXG4iCisKKyM6IGJpc2VjdC5jOjc2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIG1lcmdlIGJhc2UgYmV0d2VlbiAlcyBhbmQgWyVzXSBtdXN0IGJlIHNraXBwZWQuXG4iCisiU28gd2UgY2Fubm90IGJlIHN1cmUgdGhlIGZpcnN0ICVzIGNvbW1pdCBpcyBiZXR3ZWVuICVzIGFuZCAlcy5cbiIKKyJXZSBjb250aW51ZSBhbnl3YXkuIgorbXNnc3RyICIiCisi5LuL5LqOICVzIOWSjCBbJXNdIOeahOWQiOW5tuWfuue6v+S4gOWumuiiq+W/veeVpeS6huOAglxuIgorIuaJgOS7peaIkeS7rOaXoOazleehruiupOesrOS4gOS4qiAlcyDmj5DkuqTmmK/lkKbku4vkuo4gJXMg5ZKMICVzIOS5i+mXtOOAglxuIgorIuaIkeS7rOS7jeaXp+e7p+e7reOAgiIKKworIzogYmlzZWN0LmM6Nzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJpc2VjdGluZzogYSBtZXJnZSBiYXNlIG11c3QgYmUgdGVzdGVkXG4iCittc2dzdHIgIuS6jOWIhuafpeaJvuS4re+8muWQiOW5tuWfuue6v+W/hemhu+aYr+e7j+i/h+a1i+ivleeahFxuIgorCisjOiBiaXNlY3QuYzo4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCittc2dzdHIgIumcgOimgeS4gOS4qiAlcyDniYjmnKwiCisKKyM6IGJpc2VjdC5jOjg2NiBidWlsdGluL25vdGVzLmM6MTc0IGJ1aWx0aW4vdGFnLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgorbXNnc3RyICLkuI3og73liJvlu7rmlofku7YgJyVzJyIKKworIzogYmlzZWN0LmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGZpbGUgJyVzJyIKK21zZ3N0ciAi5LiN6IO96K+75Y+W5paH5Lu2ICclcyciCisKKyM6IGJpc2VjdC5jOjk0NworbXNnaWQgInJlYWRpbmcgYmlzZWN0IHJlZnMgZmFpbGVkIgorbXNnc3RyICLor7vlj5bkuozliIbmn6Xmib7lvJXnlKjlpLHotKUiCisKKyM6IGJpc2VjdC5jOjk2NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB3YXMgYm90aCAlcyBhbmQgJXNcbiIKK21zZ3N0ciAiJXMg5ZCM5pe25Li6ICVzIOWSjCAlc1xuIgorCisjOiBiaXNlY3QuYzo5NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vIHRlc3RhYmxlIGNvbW1pdCBmb3VuZC5cbiIKKyJNYXliZSB5b3Ugc3RhcnRlZCB3aXRoIGJhZCBwYXRoIHBhcmFtZXRlcnM/XG4iCittc2dzdHIgIiIKKyLmsqHmnInlj5HnjrDlj6/mtYvor5XnmoTmj5DkuqTjgIJcbiIKKyLlj6/og73mgqjlnKjov5DooYzml7bkvb/nlKjkuobplJnor6/nmoTot6/lvoTlj4LmlbDvvJ9cbiIKKworIzogYmlzZWN0LmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIihyb3VnaGx5ICVkIHN0ZXApIgorbXNnaWRfcGx1cmFsICIocm91Z2hseSAlZCBzdGVwcykiCittc2dzdHJbMF0gIu+8iOWkp+amgiAlZCDmraXvvIkiCittc2dzdHJbMV0gIu+8iOWkp+amgiAlZCDmraXvvIkiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGUgbGFzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIHdpdGgKKyMuICIocm91Z2hseSAlZCBzdGVwcykiIHRyYW5zbGF0aW9uCisjOiBiaXNlY3QuYzo5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbiBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgorbXNnaWRfcGx1cmFsICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9ucyBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgorbXNnc3RyWzBdICLkuozliIbmn6Xmib7kuK3vvJrlnKjmraTkuYvlkI7vvIzov5jliakgJWQg5Liq54mI5pys5b6F5rWL6K+VICVzXG4iCittc2dzdHJbMV0gIuS6jOWIhuafpeaJvuS4re+8muWcqOatpOS5i+WQju+8jOi/mOWJqSAlZCDkuKrniYjmnKzlvoXmtYvor5UgJXNcbiIKKwogIzogYnJhbmNoLmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgpAQCAtMzc4LDI3ICsxMTgzLDI3IEBACiAi5aaC5p6c5oKo5q2j6K6h5YiS5o6o6YCB5LiA5Liq6IO95LiO5a+55bqU6L+c56iL5YiG5pSv5bu656uL6Lef6Liq55qE5paw55qE5pys5Zyw5YiG5pSv77yMXG4iCiAi5oKo5Y+v6IO96ZyA6KaB5L2/55SoIFwiZ2l0IHB1c2ggLXVcIiDmjqjpgIHliIbmlK/lubbphY3nva7lkozkuIrmuLjnmoTlhbPogZTjgIIiCiAKLSM6IGJyYW5jaC5jOjI2NgorIzogYnJhbmNoLmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAi5LiN5piv5LiA5Liq5pyJ5pWI55qE5a+56LGh5ZCN77yaJyVzJ+OAgiIKIAotIzogYnJhbmNoLmM6Mjg2CisjOiBicmFuY2guYzoyODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQW1iaWd1b3VzIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAi5q2n5LmJ55qE5a+56LGh5ZCN77yaJyVzJ+OAgiIKIAotIzogYnJhbmNoLmM6MjkxCisjOiBicmFuY2guYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgYnJhbmNoIHBvaW50OiAnJXMnLiIKIG1zZ3N0ciAi5peg5pWI55qE5YiG5pSv54K577yaJyVzJ+OAgiIKIAotIzogYnJhbmNoLmM6MzQ1CisjOiBicmFuY2guYzozNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGNoZWNrZWQgb3V0IGF0ICclcyciCiBtc2dzdHIgIiclcycg5bey57uP5qOA5Ye65YiwICclcyciCiAKLSM6IGJyYW5jaC5jOjM2NAorIzogYnJhbmNoLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgb2Ygd29ya2luZyB0cmVlICVzIGlzIG5vdCB1cGRhdGVkIgogbXNnc3RyICLlt6XkvZzljLogJXMg55qEIEhFQUQg5oyH5ZCR5rKh5pyJ6KKr5pu05pawIgpAQCAtNDEzLDcgKzEyMTgsNyBAQAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAi5pyq6IO96K+G5Yir55qE5YyF5aS077yaJXMlcyAoJWQpIgogCi0jOiBidW5kbGUuYzo4NyBidWlsdGluL2NvbW1pdC5jOjc3NworIzogYnVuZGxlLmM6ODcgc2VxdWVuY2VyLmM6OTYzIGJ1aWx0aW4vY29tbWl0LmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgIuS4jeiDveaJk+W8gCAnJXMnIgpAQCAtNDIyLDEwICsxMjI3LDEwIEBACiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCiBtc2dzdHIgIuS7k+W6k+S4ree8uuWwkei/meS6m+W/heWkh+eahOaPkOS6pO+8miIKIAotIzogYnVuZGxlLmM6MTYzIHJlZi1maWx0ZXIuYzoxNDYyIHNlcXVlbmNlci5jOjYyNyBzZXF1ZW5jZXIuYzoxMDczCi0jOiBidWlsdGluL2JsYW1lLmM6Mjc1NSBidWlsdGluL2NvbW1pdC5jOjEwNTYgYnVpbHRpbi9sb2cuYzozNDAKLSM6IGJ1aWx0aW4vbG9nLmM6ODYzIGJ1aWx0aW4vbG9nLmM6MTMwOCBidWlsdGluL2xvZy5jOjE2MzMgYnVpbHRpbi9sb2cuYzoxODc1Ci0jOiBidWlsdGluL21lcmdlLmM6MzYxIGJ1aWx0aW4vc2hvcnRsb2cuYzoxNzAKKyM6IGJ1bmRsZS5jOjE2MyByZWYtZmlsdGVyLmM6MTQ2MiBzZXF1ZW5jZXIuYzo4MzAgc2VxdWVuY2VyLmM6MTM3NAorIzogYnVpbHRpbi9ibGFtZS5jOjI4MTQgYnVpbHRpbi9jb21taXQuYzoxMDYxIGJ1aWx0aW4vbG9nLmM6MzQ4CisjOiBidWlsdGluL2xvZy5jOjg5MCBidWlsdGluL2xvZy5jOjEzNDAgYnVpbHRpbi9sb2cuYzoxNjY2IGJ1aWx0aW4vbG9nLmM6MTkwOQorIzogYnVpbHRpbi9tZXJnZS5jOjM1NiBidWlsdGluL3Nob3J0bG9nLmM6MTcwCiBtc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCiBtc2dzdHIgIueJiOacrOmBjeWOhuiuvue9ruWksei0pSIKIApAQCAtNDY0LDcgKzEyNjksNyBAQAogbXNnaWQgInJlZiAnJXMnIGlzIGV4Y2x1ZGVkIGJ5IHRoZSByZXYtbGlzdCBvcHRpb25zIgogbXNnc3RyICLlvJXnlKggJyVzJyDooqsgcmV2LWxpc3Qg6YCJ6aG55o6S6ZmkIgogCi0jOiBidW5kbGUuYzo0NDMgYnVpbHRpbi9sb2cuYzoxNjMgYnVpbHRpbi9sb2cuYzoxNTM4IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzMKKyM6IGJ1bmRsZS5jOjQ0MyBidWlsdGluL2xvZy5jOjE2NSBidWlsdGluL2xvZy5jOjE1NzIgYnVpbHRpbi9zaG9ydGxvZy5jOjI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLmnKrog73or4bliKvnmoTlj4LmlbDvvJolcyIKQEAgLTQ4MiwxMyArMTI4NywxMyBAQAogbXNnaWQgImluZGV4LXBhY2sgZGllZCIKIG1zZ3N0ciAiaW5kZXgtcGFjayDnu4jmraIiCiAKLSM6IGNvbG9yLmM6Mjc1CisjOiBjb2xvci5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbG9yIHZhbHVlOiAlLipzIgogbXNnc3RyICLml6DmlYjnmoTpopzoibLlgLzvvJolLipzIgogCi0jOiBjb21taXQuYzo0MCBidWlsdGluL2FtLmM6NDM3IGJ1aWx0aW4vYW0uYzo0NzMgYnVpbHRpbi9hbS5jOjE1MDQKLSM6IGJ1aWx0aW4vYW0uYzoyMTM0CisjOiBjb21taXQuYzo0MCBidWlsdGluL2FtLmM6NDIxIGJ1aWx0aW4vYW0uYzo0NTcgYnVpbHRpbi9hbS5jOjE0OTMKKyM6IGJ1aWx0aW4vYW0uYzoyMTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyIKIG1zZ3N0ciAi5LiN6IO96Kej5p6QICVzIgpAQCAtNDk4LDEzMiArMTMwMywyNDcgQEAKIG1zZ2lkICIlcyAlcyBpcyBub3QgYSBjb21taXQhIgogbXNnc3RyICIlcyAlcyDkuI3mmK/kuIDkuKrmj5DkuqQhIgogCisjOiBjb21taXQuYzoxNTE0Cittc2dpZCAiIgorIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKKyJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgorInZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgdG8gdGhlIGVuY29kaW5nIHlvdXIgcHJvamVjdCB1c2VzLlxuIgorbXNnc3RyICIiCisi6K2m5ZGK77ya5o+Q5Lqk6K+05piO5LiN56ym5ZCIIFVURi04IOWtl+espumbhuOAglxuIgorIuaCqOWPr+S7pemAmui/h+S/ruihpeaPkOS6pOadpeaUueato+aPkOS6pOivtOaYju+8jOaIluiAheWwhumFjee9ruWPmOmHjyBpMThuLmNvbW1pdGVuY29kaW5nXG4iCisi6K6+572u5Li65oKo6aG555uu5omA55So55qE5a2X56ym6ZuG44CCXG4iCisKICM6IGNvbXBhdC9vYnN0YWNrLmM6NDA2IGNvbXBhdC9vYnN0YWNrLmM6NDA4CiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAi5YaF5a2Y6ICX5bC9IgogCi0jOiBjb25maWcuYzo0NzUgY29uZmlnLmM6NDc3CisjOiBjb25maWcuYzo1MTYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluICVzICVzIgotbXNnc3RyICIlMiRzICUzJHMg5Ye66ZSZ5LqO56ysICUxJGQg6KGMIgorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBibG9iICVzIgorbXNnc3RyICLmlbDmja7lr7nosaEgJTIkcyDkuK3plJnor6/nmoTphY3nva7ooYwgJTEkZCIKIAotIzogY29uZmlnLmM6NTkzCisjOiBjb25maWcuYzo1MjAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gJXMgJXM6ICVzIgotbXNnc3RyICIlMyRzICU0JHMg5Lit6YWN572u5Y+Y6YePICclMiRzJyDnmoTmlbDlrZflj5blgLwgJyUxJHMnIOiuvue9rumUmeivrzogJTUkcyIKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gZmlsZSAlcyIKK21zZ3N0ciAi5paH5Lu2ICUyJHMg5Lit6ZSZ6K+v55qE6YWN572u6KGMICUxJGQiCiAKLSM6IGNvbmZpZy5jOjU5NQorIzogY29uZmlnLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAi5qCH5YeG6L6T5YWl5Lit6ZSZ6K+v55qE6YWN572u6KGMICVkIgorCisjOiBjb25maWcuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN1Ym1vZHVsZS1ibG9iICVzIgorbXNnc3RyICLlrZDmqKHnu4TmlbDmja7lr7nosaEgJTIkcyDkuK3plJnor6/nmoTphY3nva7ooYwgJTEkZCIKKworIzogY29uZmlnLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCittc2dzdHIgIuWRveS7pOihjCAlMiRzIOS4remUmeivr+eahOmFjee9ruihjCAlMSRkIgorCisjOiBjb25maWcuYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluICVzIgorbXNnc3RyICLlnKggJTIkcyDkuK3plJnor6/nmoTphY3nva7ooYwgJTEkZCIKKworIzogY29uZmlnLmM6NjU1Cittc2dpZCAib3V0IG9mIHJhbmdlIgorbXNnc3RyICLotoXlh7rojIPlm7QiCisKKyM6IGNvbmZpZy5jOjY1NQorbXNnaWQgImludmFsaWQgdW5pdCIKK21zZ3N0ciAi5peg5pWI55qE5Y2V5L2NIgorCisjOiBjb25maWcuYzo2NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcyc6ICVzIgotbXNnc3RyICLphY3nva7lj5jph48gJyUyJHMnIOeahOaVsOWtl+WPluWAvCAnJTEkcycg6K6+572u6ZSZ6K+vOiAlMyRzIgorbXNnc3RyICLphY3nva7lj5jph48gJyUyJHMnIOeahOaVsOWtl+WPluWAvCAnJTEkcycg6K6+572u6ZSZ6K+v77yaJTMkcyIKIAotIzogY29uZmlnLmM6NjgwCisjOiBjb25maWcuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gYmxvYiAlczogJXMiCittc2dzdHIgIuaVsOaNruWvueixoSAlMyRzIOS4remFjee9ruWPmOmHjyAnJTIkcycg6ZSZ6K+v55qE5Y+W5YC8ICclMSRzJ++8miU0JHMiCisKKyM6IGNvbmZpZy5jOjY2OQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiAlcyIKK21zZ3N0ciAi5paH5Lu2ICUzJHMg5Lit6YWN572u5Y+Y6YePICclMiRzJyDplJnor6/nmoTlj5blgLwgJyUxJHMn77yaJTQkcyIKKworIzogY29uZmlnLmM6NjcyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKK21zZ3N0ciAi5qCH5YeG6L6T5YWl5Lit6YWN572u5Y+Y6YePICclMiRzJyDplJnor6/nmoTlj5blgLwgJyUxJHMn77yaJTMkcyIKKworIzogY29uZmlnLmM6Njc1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN1Ym1vZHVsZS1ibG9iICVzOiAlcyIKK21zZ3N0ciAi5a2Q5qih57uE5pWw5o2uICUzJHMg5Lit6YWN572u5Y+Y6YePICclMiRzJyDplJnor6/nmoTlj5blgLwgJyUxJHMn77yaJTQkcyIKKworIzogY29uZmlnLmM6Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiCittc2dzdHIgIuWRveS7pOihjCAlMyRzIOS4remFjee9ruWPmOmHjyAnJTIkcycg6ZSZ6K+v55qE5Y+W5YC8ICclMSRzJ++8miU0JHMiCisKKyM6IGNvbmZpZy5jOjY4MQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlczogJXMiCittc2dzdHIgIuWcqCAlMyRzIOS4remFjee9ruWPmOmHjyAnJTIkcycg6ZSZ6K+v55qE5Y+W5YC8ICclMSRzJ++8miU0JHMiCisKKyM6IGNvbmZpZy5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhwYW5kIHVzZXIgZGlyIGluOiAnJXMnIgogbXNnc3RyICLml6Dms5XmianlsZUgJyVzJyDkuK3nmoTnlKjmiLfnm67lvZUiCiAKLSM6IGNvbmZpZy5jOjc2MSBjb25maWcuYzo3NzIKKyM6IGNvbmZpZy5jOjg1MiBjb25maWcuYzo4NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHpsaWIgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIumUmeivr+eahCB6bGliIOWOi+e8qee6p+WIqyAlZCIKIAotIzogY29uZmlnLmM6ODkwCisjOiBjb25maWcuYzo5NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBtb2RlIGZvciBvYmplY3QgY3JlYXRpb246ICVzIgogbXNnc3RyICLml6DmlYjnmoTlr7nosaHliJvlu7rmqKHlvI/vvJolcyIKIAotIzogY29uZmlnLmM6MTIyOAorIzogY29uZmlnLmM6MTMxMgogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICLml6Dms5Xop6PmnpDlkb3ku6TooYzkuK3nmoTphY3nva4iCiAKLSM6IGNvbmZpZy5jOjEyODQKLW1zZ2lkICJ1bmtub3duIGVycm9yIG9jY3VyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKKyM6IGNvbmZpZy5jOjEzNjIKK21zZ2lkICJ1bmtub3duIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlYWRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMiCiBtc2dzdHIgIuWcqOivu+WPlumFjee9ruaWh+S7tuaXtumBh+WIsOacquefpemUmeivryIKIAotIzogY29uZmlnLmM6MTYyOQorIzogY29uZmlnLmM6MTcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyVzJyBmcm9tIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgIuaXoOazleino+aekOWRveS7pOihjOmFjee9ruS4reeahCAnJXMnIgogCi0jOiBjb25maWcuYzoxNjMxCisjOiBjb25maWcuYzoxNzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgdmFyaWFibGUgJyVzJyBpbiBmaWxlICclcycgYXQgbGluZSAlZCIKIG1zZ3N0ciAi5Zyo5paH5Lu2ICclMiRzJyDnmoTnrKwgJTMkZCDooYzlj5HnjrDplJnor6/nmoTphY3nva7lj5jph48gJyUxJHMnIgogCi0jOiBjb25maWcuYzoxNjkwCisjOiBjb25maWcuYzoxNzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBtdWx0aXBsZSB2YWx1ZXMiCiBtc2dzdHIgIiVzIOacieWkmuS4quWPluWAvCIKIAotIzogY29uZmlnLmM6MjIyNAorIzogY29uZmlnLmM6MjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc2V0ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAi5LiN6IO96K6+572uICclcycg5Li6ICclcyciCiAKLSM6IGNvbmZpZy5jOjIyMjYKKyM6IGNvbmZpZy5jOjIzMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVuc2V0ICclcyciCiBtc2dzdHIgIuS4jeiDveWPlua2iOiuvue9riAnJXMnIgogCi0jOiBjb25uZWN0ZWQuYzo2OQorIzogY29ubmVjdC5jOjQ5Cittc2dpZCAiVGhlIHJlbW90ZSBlbmQgaHVuZyB1cCB1cG9uIGluaXRpYWwgY29udGFjdCIKK21zZ3N0ciAi6L+c56uv5Zyo5Yid5aeL6L+e5o6l5pe25Y2z5oyC5patIgorCisjOiBjb25uZWN0LmM6NTEKK21zZ2lkICIiCisiQ291bGQgbm90IHJlYWQgZnJvbSByZW1vdGUgcmVwb3NpdG9yeS5cbiIKKyJcbiIKKyJQbGVhc2UgbWFrZSBzdXJlIHlvdSBoYXZlIHRoZSBjb3JyZWN0IGFjY2VzcyByaWdodHNcbiIKKyJhbmQgdGhlIHJlcG9zaXRvcnkgZXhpc3RzLiIKK21zZ3N0ciAiIgorIuaXoOazleivu+WPlui/nOeoi+S7k+W6k+OAglxuIgorIlxuIgorIuivt+ehruiupOaCqOacieato+ehrueahOiuv+mXruadg+mZkOW5tuS4lOS7k+W6k+WtmOWcqOOAgiIKKworIzogY29ubmVjdGVkLmM6NjMgYnVpbHRpbi9mc2NrLmM6MTczIGJ1aWx0aW4vcHJ1bmUuYzoxNDAKK21zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkiCittc2dzdHIgIuajgOafpei/nuaOpeS4rSIKKworIzogY29ubmVjdGVkLmM6NzUKIG1zZ2lkICJDb3VsZCBub3QgcnVuICdnaXQgcmV2LWxpc3QnIgogbXNnc3RyICLkuI3og73miafooYwgJ2dpdCByZXYtbGlzdCciCiAKLSM6IGNvbm5lY3RlZC5jOjg5CisjOiBjb25uZWN0ZWQuYzo5NQogbXNnaWQgImZhaWxlZCB3cml0ZSB0byByZXYtbGlzdCIKIG1zZ3N0ciAi5peg5rOV5YaZ5YWlIHJldi1saXN0IgogCi0jOiBjb25uZWN0ZWQuYzo5NgorIzogY29ubmVjdGVkLmM6MTAyCiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgIuaXoOazleWFs+mXrSByZXYtbGlzdCDnmoTmoIflh4bovpPlhaUiCiAKLSM6IGRhdGUuYzo5NQorIzogY29udmVydC5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ1JMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLlxuIgorIlRoZSBmaWxlIHdpbGwgaGF2ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkuIgorbXNnc3RyICIiCisi5paH5Lu2ICVzIOS4reeahCBDUkxGIOWwhuiiqyBMRiDmm7/mjaLjgIJcbiIKKyLlnKjlt6XkvZzljLrkuK3or6Xmlofku7bku43kv53mjIHljp/mnInnmoTmjaLooYznrKbjgIIiCisKKyM6IGNvbnZlcnQuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcy4iCittc2dzdHIgIuaWh+S7tiAlcyDkuK3nmoQgQ1JMRiDlsIbooqsgTEYg5pu/5o2i44CCIgorCisjOiBjb252ZXJ0LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMuXG4iCisiVGhlIGZpbGUgd2lsbCBoYXZlIGl0cyBvcmlnaW5hbCBsaW5lIGVuZGluZ3MgaW4geW91ciB3b3JraW5nIGRpcmVjdG9yeS4iCittc2dzdHIgIiIKKyLmlofku7YgJXMg5Lit55qEIExGIOWwhuiiqyBDUkxGIOabv+aNouOAglxuIgorIuWcqOW3peS9nOWMuuS4reivpeaWh+S7tuS7jeS/neaMgeWOn+acieeahOaNouihjOespuOAgiIKKworIzogY29udmVydC5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzIgorbXNnc3RyICLmlofku7YgJXMg5Lit55qEIExGIOWwhuiiqyBDUkxGIOabv+aNoiIKKworIzogZGF0ZS5jOjk3CiBtc2dpZCAiaW4gdGhlIGZ1dHVyZSIKIG1zZ3N0ciAi5Zyo5bCG5p2lIgogCi0jOiBkYXRlLmM6MTAxCisjOiBkYXRlLmM6MTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsdSBzZWNvbmQgYWdvIgogbXNnaWRfcGx1cmFsICIlbHUgc2Vjb25kcyBhZ28iCiBtc2dzdHJbMF0gIiVsdSDnp5Lpkp/liY0iCiBtc2dzdHJbMV0gIiVsdSDnp5Lpkp/liY0iCiAKLSM6IGRhdGUuYzoxMDgKKyM6IGRhdGUuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IG1pbnV0ZSBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBtaW51dGVzIGFnbyIKIG1zZ3N0clswXSAiJWx1IOWIhumSn+WJjSIKIG1zZ3N0clsxXSAiJWx1IOWIhumSn+WJjSIKIAotIzogZGF0ZS5jOjExNQorIzogZGF0ZS5jOjExNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgaG91ciBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBob3VycyBhZ28iCiBtc2dzdHJbMF0gIiVsdSDlsI/ml7bliY0iCiBtc2dzdHJbMV0gIiVsdSDlsI/ml7bliY0iCiAKLSM6IGRhdGUuYzoxMjIKKyM6IGRhdGUuYzoxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IGRheSBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSBkYXlzIGFnbyIKIG1zZ3N0clswXSAiJWx1IOWkqeWJjSIKIG1zZ3N0clsxXSAiJWx1IOWkqeWJjSIKIAotIzogZGF0ZS5jOjEyOAorIzogZGF0ZS5jOjEzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgd2VlayBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSB3ZWVrcyBhZ28iCiBtc2dzdHJbMF0gIiVsdSDlkajliY0iCiBtc2dzdHJbMV0gIiVsdSDlkajliY0iCiAKLSM6IGRhdGUuYzoxMzUKKyM6IGRhdGUuYzoxMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IG1vbnRoIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJWx1IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gIiVsdSDkuKrmnIjliY0iCiBtc2dzdHJbMV0gIiVsdSDkuKrmnIjliY0iCiAKLSM6IGRhdGUuYzoxNDYKKyM6IGRhdGUuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWx1IHllYXIiCiBtc2dpZF9wbHVyYWwgIiVsdSB5ZWFycyIKQEAgLTYzMSwxNCArMTU1MSwxNCBAQAogbXNnc3RyWzFdICIlbHUg5bm0IgogCiAjLiBUUkFOU0xBVE9SUzogIiVzIiBpcyAiPG4+IHllYXJzIgotIzogZGF0ZS5jOjE0OQorIzogZGF0ZS5jOjE1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgJWx1IG1vbnRoIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJXMsICVsdSBtb250aHMgYWdvIgogbXNnc3RyWzBdICIlcyAlbHUg5Liq5pyI5YmNIgogbXNnc3RyWzFdICIlcyAlbHUg5Liq5pyI5YmNIgogCi0jOiBkYXRlLmM6MTU0IGRhdGUuYzoxNTkKKyM6IGRhdGUuYzoxNTYgZGF0ZS5jOjE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlbHUgeWVhciBhZ28iCiBtc2dpZF9wbHVyYWwgIiVsdSB5ZWFycyBhZ28iCkBAIC02NTAsMjggKzE1NzAsMzMgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvcmRlcmZpbGUgJyVzJyIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W5o6S5bqP5paH5Lu2ICclcyciCiAKLSM6IGRpZmZjb3JlLXJlbmFtZS5jOjUzOAorIzogZGlmZmNvcmUtcmVuYW1lLmM6NTM2CiBtc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCiBtc2dzdHIgIuato+WcqOi/m+ihjOmdnueyvuehrueahOmHjeWRveWQjeajgOa1iyIKIAorIzogZGlmZi5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGEgdmFsdWUiCittc2dzdHIgIumAiemhuSAnJXMnICDpnIDopoHkuIDkuKrlgLwiCisKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogZGlmZi5jOjExNgorIzogZGlmZi5jOjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCiBtc2dzdHIgIiAg5peg5rOV6Kej5p6QIGRpcnN0YXQg5oiq5q2i77yIY3V0LW9mZu+8ieeZvuWIhuavlCAnJXMnXG4iCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogZGlmZi5jOjEyMQorIzogZGlmZi5jOjEyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyVzJ1xuIgogbXNnc3RyICIgIOacquefpeeahCBkaXJzdGF0IOWPguaVsCAnJXMnXG4iCiAKLSM6IGRpZmYuYzoyMjUKKyM6IGRpZmYuYzoyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB2YWx1ZSBmb3IgJ2RpZmYuc3VibW9kdWxlJyBjb25maWcgdmFyaWFibGU6ICclcyciCiBtc2dzdHIgIumFjee9ruWPmOmHjyAnZGlmZi5zdWJtb2R1bGUnIOacquefpeeahOWPluWAvO+8miclcyciCiAKLSM6IGRpZmYuYzoyNzcKKyM6IGRpZmYuYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCkBAIC02ODAsMTYgKzE2MDUsMjAgQEAKICLlj5HnjrDphY3nva7lj5jph48gJ2RpZmYuZGlyc3RhdCcg5Lit55qE6ZSZ6K+v77yaXG4iCiAiJXMiCiAKLSM6IGRpZmYuYzozMDA3CisjOiBkaWZmLmM6MzA4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHRlcm5hbCBkaWZmIGRpZWQsIHN0b3BwaW5nIGF0ICVzIgogbXNnc3RyICLlpJbpg6ggZGlmZiDpgIDlh7rvvIzlgZzmraLlnKggJXMiCiAKLSM6IGRpZmYuYzozNDA1Ci1tc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCi1tc2dzdHIgIi0tZm9sbG93IOWPguaVsOWQjuWPqui3n+S4gOS4qiBwYXRoc3BlYyIKKyM6IGRpZmYuYzozNDEyCittc2dpZCAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tbmFtZS1vbmx544CBLS1uYW1lLXN0YXR1c+OAgS0tY2hlY2sg5ZKMIC1zIOaYr+S6kuaWpeeahCIKIAotIzogZGlmZi5jOjM1NjgKKyM6IGRpZmYuYzozNTAyCittc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCittc2dzdHIgIi0tZm9sbG93IOaYjuehruimgeaxguWPqui3n+S4gOS4qui3r+W+hOinhOagvCIKKworIzogZGlmZi5jOjM2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKQEAgLTY5OCw3MCArMTYyNywyNDIgQEAKICLml6Dms5Xop6PmnpAgLS1kaXJzdGF0Ly1YIOmAiemhueeahOWPguaVsO+8mlxuIgogIiVzIgogCi0jOiBkaWZmLmM6MzU4MgorIzogZGlmZi5jOjM2NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgIuaXoOazleino+aekCAtLXN1Ym1vZHVsZSDpgInpobnnmoTlj4LmlbDvvJonJXMnIgogCi0jOiBkaXIuYzoxODIzCisjOiBkaWZmLmM6NDcwMAorbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgorbXNnc3RyICLlm6DkuLrmlofku7blpKrlpJrvvIznlaXov4fkuI3kuKXmoLznmoTph43lkb3lkI3mo4Dmn6XjgIIiCisKKyM6IGRpZmYuYzo0NzAzCittc2dpZCAib25seSBmb3VuZCBjb3BpZXMgZnJvbSBtb2RpZmllZCBwYXRocyBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgorbXNnc3RyICLlm6DkuLrmlofku7blpKrlpJrvvIzlj6rlnKjkv67mlLnnmoTot6/lvoTkuK3mn6Xmib7mi7fotJ3jgIIiCisKKyM6IGRpZmYuYzo0NzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ5b3UgbWF5IHdhbnQgdG8gc2V0IHlvdXIgJXMgdmFyaWFibGUgdG8gYXQgbGVhc3QgJWQgYW5kIHJldHJ5IHRoZSBjb21tYW5kLiIKK21zZ3N0ciAi5oKo5Y+v6IO95oOz6KaB5bCG5oKo55qEICVzIOWPmOmHj+iHs+Wwkeiuvue9ruS4uiAlZCDlubbph43lpI3mraTlkb3ku6TjgIIiCisKKyM6IGRpci5jOjE4NjYKIG1zZ2lkICJmYWlsZWQgdG8gZ2V0IGtlcm5lbCBuYW1lIGFuZCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi5peg5rOV6I635b6X5YaF5qC45ZCN56ew5ZKM5L+h5oGvIgogCi0jOiBkaXIuYzoxOTQyCisjOiBkaXIuYzoxOTg1CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGlzIGRpc2FibGVkIG9uIHRoaXMgc3lzdGVtIG9yIGxvY2F0aW9uLiIKIG1zZ3N0ciAi57yT5a2Y5pyq6Lef6Liq5paH5Lu25Zyo5pys57O757uf5oiW5L2N572u5Lit6KKr56aB55So44CCIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MTY2IGdwZy1pbnRlcmZhY2UuYzoyMzUKLW1zZ2lkICJjb3VsZCBub3QgcnVuIGdwZy4iCi1tc2dzdHIgIuS4jeiDveaJp+ihjCBncGfjgIIiCisjOiBmZXRjaC1wYWNrLmM6MjEzCittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2vvvJrlupTkuLogc2hhbGxvdyDliJfooagiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzoxNzgKLW1zZ2lkICJncGcgZGlkIG5vdCBhY2NlcHQgdGhlIGRhdGEiCi1tc2dzdHIgImdwZyDmsqHmnInmjqXlj5fmlbDmja4iCisjOiBmZXRjaC1wYWNrLmM6MjI1Cittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiCittc2dzdHIgImdpdCBmZXRjaC1wYWNr77ya5bqU5Li6IEFDSy9OQUvvvIzljbTlvpfliLAgRU9GIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MTg5CisjOiBmZXRjaC1wYWNrLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgJyVzJyIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2vvvJrlupTkuLogQUNLL05BS++8jOWNtOW+l+WIsCAnJXMnIgorCisjOiBmZXRjaC1wYWNrLmM6Mjk1Cittc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKK21zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIOmcgOimgSBtdWx0aV9hY2tfZGV0YWlsZWQiCisKKyM6IGZldGNoLXBhY2suYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaGFsbG93IGxpbmU6ICVzIgorbXNnc3RyICLml6DmlYjnmoQgc2hhbGxvdyDkv6Hmga/vvJolcyIKKworIzogZmV0Y2gtcGFjay5jOjM4NworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIKK21zZ3N0ciAi5peg5pWI55qEIHVuc2hhbGxvdyDkv6Hmga/vvJolcyIKKworIzogZmV0Y2gtcGFjay5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJvYmplY3Qgbm90IGZvdW5kOiAlcyIKK21zZ3N0ciAi5a+56LGh5pyq5om+5Yiw77yaJXMiCisKKyM6IGZldGNoLXBhY2suYzozOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgaW4gb2JqZWN0OiAlcyIKK21zZ3N0ciAi5a+56LGh5Lit5Ye66ZSZ77yaJXMiCisKKyM6IGZldGNoLXBhY2suYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc2hhbGxvdyBmb3VuZDogJXMiCittc2dzdHIgIuacquWPkeeOsCBzaGFsbG9377yaJXMiCisKKyM6IGZldGNoLXBhY2suYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0ZWQgc2hhbGxvdy91bnNoYWxsb3csIGdvdCAlcyIKK21zZ3N0ciAi5bqU5Li6IHNoYWxsb3cvdW5zaGFsbG9377yM5Y205b6X5YiwICVzIgorCisjOiBmZXRjaC1wYWNrLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgImdvdCAlcyAlZCAlcyIKK21zZ3N0ciAi5b6X5YiwICVzICVkICVzIgorCisjOiBmZXRjaC1wYWNrLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29tbWl0ICVzIgorbXNnc3RyICLml6DmlYjmj5DkuqQgJXMiCisKKyM6IGZldGNoLXBhY2suYzo0ODMKK21zZ2lkICJnaXZpbmcgdXAiCittc2dzdHIgIuaUvuW8gyIKKworIzogZmV0Y2gtcGFjay5jOjQ5MyBwcm9ncmVzcy5jOjIzNQorbXNnaWQgImRvbmUiCittc2dzdHIgIuWujOaIkCIKKworIzogZmV0Y2gtcGFjay5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJnb3QgJXMgKCVkKSAlcyIKK21zZ3N0ciAi5b6X5YiwICVzICglZCkgJXMiCisKKyM6IGZldGNoLXBhY2suYzo1NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFya2luZyAlcyBhcyBjb21wbGV0ZSIKK21zZ3N0ciAi5qCH6K6wICVzIOS4uuWujOaIkCIKKworIzogZmV0Y2gtcGFjay5jOjY5NworIywgYy1mb3JtYXQKK21zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKK21zZ3N0ciAi5bey57uP5pyJICVzICglcykiCisKKyM6IGZldGNoLXBhY2suYzo3MzUKK21zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKK21zZ3N0ciAiZmV0Y2gtcGFja++8muaXoOazlea0vueUnyBzaWRlYmFuZCDlpJrot6/ovpPlh7oiCisKKyM6IGZldGNoLXBhY2suYzo3NDMKK21zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIHBhY2sgaGVhZGVyIgorbXNnc3RyICLljY/orq7plJnor6/vvJrlnY/nmoTljIXlpLQiCisKKyM6IGZldGNoLXBhY2suYzo3OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmICVzIgorbXNnc3RyICJmZXRjaC1wYWNr77ya5peg5rOV5rS+55Sf6L+b56iLICVzIgorCisjOiBmZXRjaC1wYWNrLmM6ODE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMg5aSx6LSlIgorCisjOiBmZXRjaC1wYWNrLmM6ODE3Cittc2dpZCAiZXJyb3IgaW4gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKK21zZ3N0ciAic2lkZWJhbmQg5aSa6Lev6L6T5Ye65Ye66ZSZIgorCisjOiBmZXRjaC1wYWNrLmM6ODQ0Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgorbXNnc3RyICLmnI3liqHlmajkuI3mlK/mjIEgc2hhbGxsb3cg5a6i5oi356uvIgorCisjOiBmZXRjaC1wYWNrLmM6ODQ4Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2Fja19kZXRhaWxlZCIKK21zZ3N0ciAi5pyN5Yqh5Zmo5pSv5oyBIG11bHRpX2Fja19kZXRhaWxlZCIKKworIzogZmV0Y2gtcGFjay5jOjg1MQorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIgorbXNnc3RyICLmnI3liqHlmajmlK/mjIEgbm8tZG9uZSIKKworIzogZmV0Y2gtcGFjay5jOjg1NworbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2siCittc2dzdHIgIuacjeWKoeWZqOaUr+aMgSBtdWx0aV9hY2siCisKKyM6IGZldGNoLXBhY2suYzo4NjEKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0ayIKK21zZ3N0ciAi5pyN5Yqh5Zmo5pSv5oyBIHNpZGUtYmFuZC02NGsiCisKKyM6IGZldGNoLXBhY2suYzo4NjUKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgorbXNnc3RyICLmnI3liqHlmajmlK/mjIEgc2lkZS1iYW5kIgorCisjOiBmZXRjaC1wYWNrLmM6ODY5Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCittc2dzdHIgIuacjeWKoeWZqOaUr+aMgSBhbGxvdy10aXAtc2hhMS1pbi13YW50IgorCisjOiBmZXRjaC1wYWNrLmM6ODczCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCittc2dzdHIgIuacjeWKoeWZqOaUr+aMgSBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgorCisjOiBmZXRjaC1wYWNrLmM6ODgzCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKK21zZ3N0ciAi5pyN5Yqh5Zmo5pSv5oyBIG9mcy1kZWx0YSIKKworIzogZmV0Y2gtcGFjay5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgdmVyc2lvbiBpcyAlLipzIgorbXNnc3RyICLmnI3liqHlmajniYjmnKwgJS4qcyIKKworIzogZmV0Y2gtcGFjay5jOjg5NgorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1zaW5jZSIKK21zZ3N0ciAi5pyN5Yqh5Zmo5LiN5pSv5oyBIC0tc2hhbGxvdy1zaW5jZSIKKworIzogZmV0Y2gtcGFjay5jOjkwMAorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1leGNsdWRlIgorbXNnc3RyICLmnI3liqHlmajkuI3mlK/mjIEgLS1zaGFsbG93LWV4Y2x1ZGUiCisKKyM6IGZldGNoLXBhY2suYzo5MDIKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLWRlZXBlbiIKK21zZ3N0ciAi5pyN5Yqh5Zmo5LiN5pSv5oyBIC0tZGVlcGVuIgorCisjOiBmZXRjaC1wYWNrLmM6OTEzCittc2dpZCAibm8gY29tbW9uIGNvbW1pdHMiCittc2dzdHIgIuayoeacieWFseWQjOeahOaPkOS6pCIKKworIzogZmV0Y2gtcGFjay5jOjkyNQorbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBmYWlsZWQuIgorbXNnc3RyICJnaXQgZmV0Y2gtcGFja++8muiOt+WPluWksei0peOAgiIKKworIzogZmV0Y2gtcGFjay5jOjEwODcKK21zZ2lkICJubyBtYXRjaGluZyByZW1vdGUgaGVhZCIKK21zZ3N0ciAi5rKh5pyJ5Yy56YWN55qE6L+c56iL5YiG5pSvIgorCisjOiBncGctaW50ZXJmYWNlLmM6MTg1CiBtc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgogbXNnc3RyICJncGcg5peg5rOV5Li65pWw5o2u562+5ZCNIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjIyCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJyVzJyIKLW1zZ3N0ciAi5LiN6IO95Yib5bu65Li05pe25paH5Lu2ICclcyciCisjOiBncGctaW50ZXJmYWNlLmM6MjE1Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAi5LiN6IO95Yib5bu65Li05pe25paH5Lu2IgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjI0CisjOiBncGctaW50ZXJmYWNlLmM6MjE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgogbXNnc3RyICLml6Dms5XlsIbliIbnprvlvI/nrb7lkI3lhpnlhaUgJyVzJyIKIAotIzogZ3JlcC5jOjE3MTgKKyM6IGdyZXAuYzoxNzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICInJXMn77ya5peg5rOV6K+75Y+WICVzIgogCi0jOiBncmVwLmM6MTczNSBidWlsdGluL2Nsb25lLmM6MzgyIGJ1aWx0aW4vZGlmZi5jOjg0IGJ1aWx0aW4vcm0uYzoxNTUKKyM6IGdyZXAuYzoxNzk5IGJ1aWx0aW4vY2xvbmUuYzozODEgYnVpbHRpbi9kaWZmLmM6ODQgYnVpbHRpbi9ybS5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICLml6Dms5XmnprkuL4gJyVzJyDnirbmgIEiCiAKLSM6IGdyZXAuYzoxNzQ2CisjOiBncmVwLmM6MTgxMAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkIgogbXNnc3RyICInJXMn77ya6K+75Y+W5LiN5a6M5pW0IgogCi0jOiBoZWxwLmM6MjA1CisjOiBoZWxwLmM6MjAzCiAjLCBjLWZvcm1hdAogbXNnaWQgImF2YWlsYWJsZSBnaXQgY29tbWFuZHMgaW4gJyVzJyIKIG1zZ3N0ciAi5ZyoICclcycg5LiL5Y+v55So55qEIGdpdCDlkb3ku6QiCiAKLSM6IGhlbHAuYzoyMTIKKyM6IGhlbHAuYzoyMTAKIG1zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCiBtc2dzdHIgIuWcqCAkUEFUSCDot6/lvoTkuK3nmoTlhbbku5blnLDmlrnlj6/nlKjnmoQgZ2l0IOWRveS7pCIKIAotIzogaGVscC5jOjI0NAorIzogaGVscC5jOjI0MQogbXNnaWQgIlRoZXNlIGFyZSBjb21tb24gR2l0IGNvbW1hbmRzIHVzZWQgaW4gdmFyaW91cyBzaXR1YXRpb25zOiIKIG1zZ3N0ciAi6L+Z5Lqb5piv5ZCE56eN5Zy65ZCI5bi46KeB55qEIEdpdCDlkb3ku6TvvJoiCiAKLSM6IGhlbHAuYzozMDkKKyM6IGhlbHAuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgYXBwZWFycyB0byBiZSBhIGdpdCBjb21tYW5kLCBidXQgd2Ugd2VyZSBub3RcbiIKQEAgLTc3MCwzMCArMTg3MSwzMCBAQAogIiclcycg5YOP5piv5LiA5LiqIGdpdCDlkb3ku6TvvIzkvYbljbTml6Dms5Xov5DooYzjgIJcbiIKICLlj6/og73mmK8gZ2l0LSVzIOWPl+aNn++8nyIKIAotIzogaGVscC5jOjM2NgorIzogaGVscC5jOjM2MQogbXNnaWQgIlVoIG9oLiBZb3VyIHN5c3RlbSByZXBvcnRzIG5vIEdpdCBjb21tYW5kcyBhdCBhbGwuIgogbXNnc3RyICLllInlkYDvvIzmgqjnmoTns7vnu5/kuK3mnKrlj5HnjrAgR2l0IOWRveS7pOOAgiIKIAotIzogaGVscC5jOjM4OAorIzogaGVscC5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LlxuIgogIkNvbnRpbnVpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB5b3UgbWVhbnQgJyVzJyIKIG1zZ3N0ciAiIgotIuitpuWRiu+8muaCqOi/kOihjOS4gOS4quS4jeWtmOWcqOeahCBHaXQg5ZG95LukICclcyfjgILnu6fnu63miafooYzlgYflrprmgqjopoHopoHov5DooYznmoRcbiIKKyLorablkYrvvJrmgqjov5DooYzkuIDkuKrkuI3lrZjlnKjnmoQgR2l0IOWRveS7pCAnJXMn44CC57un57ut5omn6KGM5YGH5a6a5oKo6KaB6L+Q6KGM55qEXG4iCiAi5pivICclcyciCiAKLSM6IGhlbHAuYzozOTMKKyM6IGhlbHAuYzozODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW4gJTAuMWYgc2Vjb25kcyBhdXRvbWF0aWNhbGx5Li4uIgogbXNnc3RyICLlnKggJTAuMWYg56eS6ZKf5ZCO6Ieq5Yqo6L+Q6KGMLi4uIgogCi0jOiBoZWxwLmM6NDAwCisjOiBoZWxwLmM6Mzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdDogJyVzJyBpcyBub3QgYSBnaXQgY29tbWFuZC4gU2VlICdnaXQgLS1oZWxwJy4iCiBtc2dzdHIgImdpdO+8miclcycg5LiN5piv5LiA5LiqIGdpdCDlkb3ku6TjgILlj4Lop4EgJ2dpdCAtLWhlbHAn44CCIgogCi0jOiBoZWxwLmM6NDA0IGhlbHAuYzo0NjQKKyM6IGhlbHAuYzozOTkgaGVscC5jOjQ2NQogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC04MDcsMTEgKzE5MDgsMzYgQEAKICJcbiIKICLmgqjmjIfnmoTmmK/ov5nlhbbkuK3nmoTmn5DkuIDkuKrkuYjvvJ8iCiAKLSM6IGhlbHAuYzo0NjAKKyM6IGhlbHAuYzo0NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIC0gJXMiCiBtc2dzdHIgIiVz77yaJXMgLSAlcyIKIAorIzogaWRlbnQuYzozMzQKK21zZ2lkICIiCisiXG4iCisiKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgorIlxuIgorIlJ1blxuIgorIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwieW91QGV4YW1wbGUuY29tXCJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiWW91ciBOYW1lXCJcbiIKKyJcbiIKKyJ0byBzZXQgeW91ciBhY2NvdW50J3MgZGVmYXVsdCBpZGVudGl0eS5cbiIKKyJPbWl0IC0tZ2xvYmFsIHRvIHNldCB0aGUgaWRlbnRpdHkgb25seSBpbiB0aGlzIHJlcG9zaXRvcnkuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiog6K+35ZGK6K+J5oiR5L2g5piv6LCB44CCXG4iCisiXG4iCisi6L+Q6KGMXG4iCisiXG4iCisiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgXCJ5b3VAZXhhbXBsZS5jb21cIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJZb3VyIE5hbWVcIlxuIgorIlxuIgorIuadpeiuvue9ruaCqOi0puWPt+eahOe8uuecgei6q+S7veagh+ivhuOAglxuIgorIuWmguaenOS7heWcqOacrOS7k+W6k+iuvue9rui6q+S7veagh+ivhu+8jOWImeecgeeVpSAtLWdsb2JhbCDlj4LmlbDjgIJcbiIKKwogIzogbG9ja2ZpbGUuYzoxNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgpAQCAtODM5LDgzICsxOTY1LDc4IEBACiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgogbXNnc3RyICLml6Dms5Xor7vlj5bnvJPlrZgiCiAKLSM6IG1lcmdlLmM6OTQgYnVpbHRpbi9hbS5jOjIwMDcgYnVpbHRpbi9hbS5jOjIwNDIgYnVpbHRpbi9jaGVja291dC5jOjM3NQotIzogYnVpbHRpbi9jaGVja291dC5jOjU4NiBidWlsdGluL2Nsb25lLmM6NzMyCisjOiBtZXJnZS5jOjk2IGJ1aWx0aW4vYW0uYzoyMDAwIGJ1aWx0aW4vYW0uYzoyMDM1IGJ1aWx0aW4vY2hlY2tvdXQuYzozNzQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODggYnVpbHRpbi9jbG9uZS5jOjczMQogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAi5peg5rOV5YaZ5paw55qE57Si5byV5paH5Lu2IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODkKLSMsIGMtZm9ybWF0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDkKIG1zZ2lkICIoYmFkIGNvbW1pdClcbiIKIG1zZ3N0ciAi77yI5Z2P5o+Q5Lqk77yJXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZGluZm9fY2FjaGUgZmFpbGVkIGZvciBwYXRoICclcyciCiBtc2dzdHIgIuS4uui3r+W+hCAnJXMnIGFkZGluZm9fY2FjaGUg5aSx6LSlIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMQogbXNnaWQgImVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICLml6Dms5XliJvlu7rmoJEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjY4OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiCiBtc2dzdHIgIuaXoOazleWIm+W7uui3r+W+hCAnJXMnJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcwMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCiBtc2dzdHIgIuWIoOmZpCAlcyDku6Xkvr/kuLrlrZDnm67lvZXnlZnlh7rnqbrpl7RcbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzE0IG1lcmdlLXJlY3Vyc2l2ZS5jOjczNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzQ1IG1lcmdlLXJlY3Vyc2l2ZS5jOjc2NAogbXNnaWQgIjogcGVyaGFwcyBhIEQvRiBjb25mbGljdD8iCiBtc2dzdHIgIu+8muWPr+iDveaYr+S4gOS4quebruW9lS/mlofku7blhrLnqoHvvJ8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjcyNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKIG1zZ3N0ciAi5ouS57ud5Lii5byDICclcycg5Lit55qE5pyq6Lef6Liq5paH5Lu2IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NjUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5NiBidWlsdGluL2NhdC1maWxlLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzICclcyciCiBtc2dzdHIgIuS4jeiDveivu+WPluWvueixoSAlcyAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo3NjcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjc5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICIlcyAnJXMnIOW6lOS4uuaVsOaNruWvueixoSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NzkwIGJ1aWx0aW4vY2xvbmUuYzozNzYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgyMgogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgotbXNnc3RyICLml6Dms5XmiZPlvIAgJyVzJyIKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnOiAlcyIKK21zZ3N0ciAi5peg5rOV5omT5byAICclcyfvvJolcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6Nzk4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4MzMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJyIKLW1zZ3N0ciAi5peg5rOV5Yib5bu656ym5Y+36ZO+5o6lICclcyciCittc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiCittc2dzdHIgIuaXoOazleWIm+W7uuespuWPt+mTvuaOpSAnJXMn77yaJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjgwMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCiBtc2dzdHIgIuS4jeefpemBk+WmguS9leWkhOeQhiAlMDZvICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkzOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTc4CiBtc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCiBtc2dzdHIgIuaXoOazleaJp+ihjOWGhemDqOWQiOW5tiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTQzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIKIG1zZ3N0ciAi5LiN6IO95re75YqgICVzIOiHs+WvueixoeW6kyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTU5Ci1tc2dpZCAidW5zdXBwb3J0ZWQgb2JqZWN0IHR5cGUgaW4gdGhlIHRyZWUiCi1tc2dzdHIgIuWcqOagkeS4reacieS4jeaUr+aMgeeahOWvueixoeexu+WeiyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAzNCBtZXJnZS1yZWN1cnNpdmUuYzoxMDQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDgxIG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTkyNCw3ICsyMDQ1LDcgQEAKICLlhrLnqoHvvIglMSRzL+WIoOmZpO+8ie+8miUyJHMg5ZyoICUzJHMg5Lit6KKr5Yig6Zmk77yM5ZyoICU1JHMg5Lit6KKrICU0JHPjgIIlNyRzIOWcqCAlNiRzIOS4rSIKICLnmoTniYjmnKzooqvkv53nlZnjgIIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwNDAgbWVyZ2UtcmVjdXJzaXZlLmM6MTA1MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA4NyBtZXJnZS1yZWN1cnNpdmUuYzoxMTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC05MzMsMjAgKzIwNTQsMjAgQEAKICLlhrLnqoHvvIglMSRzL+WIoOmZpO+8ie+8miUyJHMg5ZyoICUzJHMg5Lit6KKr5Yig6Zmk77yM5ZyoICU1JHMg5Lit6KKrICU0JHPjgIIlNyRzIOWcqCAlNiRzIOS4rSIKICLnmoTniYjmnKzkv53nlZnkuo4gJTgkcyDkuK3jgIIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwOTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNDMKIG1zZ2lkICJyZW5hbWUiCiBtc2dzdHIgIumHjeWRveWQjSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTA5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE0MwogbXNnaWQgInJlbmFtZWQiCiBtc2dzdHIgIumHjeWRveWQjSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhIGRpcmVjdG9yeSBpbiAlcyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiJXMg5pivICVzIOS4reeahOS4gOS4quebruW9leiAjOS7pSAlcyDkuLrlkI3ooqvmt7vliqAiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIFwiJXNcIi0+XCIlc1wiIGluIGJyYW5jaCBcIiVzXCIgcmVuYW1lIFwiJXMiCkBAIC05NTUsMTQ3ICsyMDc2LDE1NCBAQAogIuWGsueqge+8iOmHjeWRveWQjS/ph43lkb3lkI3vvInvvJrlnKjliIbmlK8gXCIlMyRzXCIg5Lit6YeN5ZG95ZCNIFwiJTEkc1wiLT5cIiUyJHNcIu+8jOWcqOWIhuaUryAiCiAiXCIlNiRzXCIg5Lit6YeN5ZG95ZCNIFwiJTQkc1wiLT5cIiU1JHNcIiU3JHMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExNzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzAKIG1zZ2lkICIgKGxlZnQgdW5yZXNvbHZlZCkiCiBtc2dzdHIgIu+8iOeVmeS4i+acquino+WGs++8iSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuIFJlbmFtZSAlcy0+JXMgaW4gJXMiCiBtc2dzdHIgIiIKICLlhrLnqoHvvIjph43lkb3lkI0v6YeN5ZG95ZCN77yJ77ya5ZyoICUzJHMg5Lit6YeN5ZG95ZCNICUxJHMtPiUyJHPvvIzlnKggJTYkcyDkuK3ph43lkb3lkI0gJTQkcy0+IgogIiU1JHMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNjEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXMgYW5kICVzIHRvICVzIGluc3RlYWQiCiBtc2dzdHIgIuiAjOaYr+mHjeWRveWQjSAlcyDoh7MgJXPvvIzku6Xlj4ogJXMg6IezICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDYwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gJXMgYWRkZWQgaW4gJXMiCiBtc2dzdHIgIuWGsueqge+8iOmHjeWRveWQjS/mt7vliqDvvInvvJrlnKggJTMkcyDkuK3ph43lkb3lkI0gJTEkcy0+JTIkc+OAguWcqCAlNSRzIOS4rea3u+WKoCAlNCRzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDcwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyBtZXJnZWQgJXMiCiBtc2dzdHIgIua3u+WKoOWQiOW5tuWQjueahCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ3NSBtZXJnZS1yZWN1cnNpdmUuYzoxNjc3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTUzIG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIuiAjOaYr+S7pSAlcyDkuLrlkI3mt7vliqAiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MjYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICLkuI3og73or7vlj5blr7nosaEgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MjkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGlzIG5vdCBhIGJsb2IiCiBtc2dzdHIgIuWvueixoSAlcyDkuI3mmK/kuIDkuKrmlbDmja7lr7nosaEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1ODEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NjYKIG1zZ2lkICJtb2RpZnkiCiBtc2dzdHIgIuS/ruaUuSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU4MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY2NgogbXNnaWQgIm1vZGlmaWVkIgogbXNnc3RyICLkv67mlLkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1OTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NzYKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICLlhoXlrrkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1OTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODMKIG1zZ2lkICJhZGQvYWRkIgogbXNnc3RyICLmt7vliqAv5re75YqgIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjMyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIKIG1zZ3N0ciAi55Wl6L+HICVz77yI5bey57uP5YGa6L+H55u45ZCM5ZCI5bm277yJIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjQ2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKIG1zZ3N0ciAi6Ieq5Yqo5ZCI5bm2ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjUwIGdpdC1zdWJtb2R1bGUuc2g6OTQxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM2IGdpdC1zdWJtb2R1bGUuc2g6OTI0CiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICLlrZDmqKHnu4QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCiBtc2dzdHIgIuWGsueqge+8iCVz77yJ77ya5ZCI5bm25Yay56qB5LqOICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIgogbXNnc3RyICLliKDpmaQgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NTcKIG1zZ2lkICJmaWxlL2RpcmVjdG9yeSIKIG1zZ3N0ciAi5paH5Lu2L+ebruW9lSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc2OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg2MwogbXNnaWQgImRpcmVjdG9yeS9maWxlIgogbXNnc3RyICLnm67lvZUv5paH5Lu2IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzczCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICLlhrLnqoHvvIglMSRz77yJ77ya5ZyoICUzJHMg5Lit5pyJ5LiA5Liq5ZCN5Li6ICUyJHMg55qE55uu5b2V44CC5LulICU1JHMg5Li65ZCN5re75YqgICU0JHMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3ODEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nICVzIgogbXNnc3RyICLmt7vliqAgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3OTgKLW1zZ2lkICJGYXRhbCBtZXJnZSBmYWlsdXJlLCBzaG91bGRuJ3QgaGFwcGVuLiIKLW1zZ3N0ciAi5Lil6YeN55qE5ZCI5bm26ZSZ6K+v77yM5LiN5bqU5Y+R55Sf44CCIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTE0CiBtc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlISIKIG1zZ3N0ciAi5bey57uP5piv5pyA5paw55qE77yBIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxODI2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKIG1zZ3N0ciAi5peg5rOV5ZCI5bm25qCRICVzIOWSjCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg1NgotIywgYy1mb3JtYXQKLW1zZ2lkICJVbnByb2Nlc3NlZCBwYXRoPz8/ICVzIgotbXNnc3RyICLmnKrlpITnkIbnmoTot6/lvoQ/Pz8gJXMiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5MDQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMDYKIG1zZ2lkICJNZXJnaW5nOiIKIG1zZ3N0ciAi5ZCI5bm277yaIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCiBtc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgogbXNnc3RyWzBdICLlj5HnjrAgJXUg5Liq5YWx5ZCM56WW5YWI77yaIgogbXNnc3RyWzFdICLlj5HnjrAgJXUg5Liq5YWx5ZCM56WW5YWI77yaIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTU0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDU4CiBtc2dpZCAibWVyZ2UgcmV0dXJuZWQgbm8gY29tbWl0IgogbXNnc3RyICLlkIjlubbmnKrov5Tlm57mj5DkuqQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICLkuI3og73op6PmnpDlr7nosaEgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjAyMiBidWlsdGluL21lcmdlLmM6NjQ5IGJ1aWx0aW4vbWVyZ2UuYzo4MzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMzUgYnVpbHRpbi9tZXJnZS5jOjY0MSBidWlsdGluL21lcmdlLmM6Nzg4CiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGluZGV4LiIKIG1zZ3N0ciAi5LiN6IO95YaZ5YWl57Si5byV44CCIgogCisjOiBub3Rlcy1tZXJnZS5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIHByZXZpb3VzIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLlxuIgorIlBsZWFzZSwgdXNlICdnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnIG9yICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcgdG8gIgorImNvbW1pdC9hYm9ydCB0aGUgcHJldmlvdXMgbWVyZ2UgYmVmb3JlIHlvdSBzdGFydCBhIG5ldyBub3RlcyBtZXJnZS4iCittc2dzdHIgIiIKKyLmgqjlsJrmnKrnu5PmnZ/mgqjliY3kuIDmrKHms6jph4rlkIjlubbvvIjlrZjlnKggJXPvvInjgIJcbiIKKyLor7fmgqjlnKjlvIDlp4vkuIDkuKrmlrDnmoTms6jph4rlkIjlubbkuYvliY3vvIzkvb/nlKggJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcg5oiW6ICFICdnaXQgIgorIm5vdGVzIG1lcmdlIC0tYWJvcnQnIOadpeaPkOS6pC/nu4jmraLliY3kuIDmrKHlkIjlubbjgIIiCisKKyM6IG5vdGVzLW1lcmdlLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBub3RlcyBtZXJnZSAoJXMgZXhpc3RzKS4iCittc2dzdHIgIuaCqOWwmuacque7k+adn+azqOmHiuWQiOW5tu+8iOWtmOWcqCAlc++8ieOAgiIKKwogIzogbm90ZXMtdXRpbHMuYzo0MQogbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKIG1zZ3N0ciAi5LiN6IO95o+Q5Lqk5pyq5Yid5aeL5YyWL+acquW8leeUqOeahOazqOino+agkSIKQEAgLTExNTMsNyArMjI4MSw3IEBACiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCiBtc2dzdHIgIumdnuazleeahOWvueixoeWQjSAnJXMnIgogCi0jOiBwYXRoLmM6Nzk2CisjOiBwYXRoLmM6ODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtYWtlICVzIHdyaXRhYmxlIGJ5IGdyb3VwIgogbXNnc3RyICLkuI3og73orr7nva4gJXMg5Li657uE5Y+v5YaZIgpAQCAtMTIwNywxMiArMjMzNSwyMCBAQAogbXNnaWQgIiVzOiBwYXRoc3BlYyBtYWdpYyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29tbWFuZDogJXMiCiBtc2dzdHIgIiVz77ya6Lev5b6E6KeE5qC856We5aWH5YmN57yA5LiN6KKr5q2k5ZG95Luk5pSv5oyB77yaJXMiCiAKLSM6IHBhdGhzcGVjLmM6NDMzCisjOiBwYXRoc3BlYy5jOjQwOAorbXNnaWQgIiIKKyJlbXB0eSBzdHJpbmdzIGFzIHBhdGhzcGVjcyB3aWxsIGJlIG1hZGUgaW52YWxpZCBpbiB1cGNvbWluZyByZWxlYXNlcy4gcGxlYXNlICIKKyJ1c2UgLiBpbnN0ZWFkIGlmIHlvdSBtZWFudCB0byBtYXRjaCBhbGwgcGF0aHMiCittc2dzdHIgIiIKKyLlnKjljbPlsIbliLDmnaXnmoTniYjmnKzvvIzkuI3og73lho3kvb/nlKjnqbrlrZfnrKbkuLLkvZzkuLrot6/lvoTooajovr7lvI/jgILlpoLmnpzopoHljLnphY3miYDmnInot6/lvoTvvIxcbiIKKyLor7fku6PkuYvku6UgLiIKKworIzogcGF0aHNwZWMuYzo0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICLot6/lvoTop4TmoLwgJyVzJyDkvY3kuo7nrKblj7fpk77mjqXkuK0iCiAKLSM6IHBhdGhzcGVjLmM6NDQyCisjOiBwYXRoc3BlYy5jOjQ0OQogbXNnaWQgIiIKICJUaGVyZSBpcyBub3RoaW5nIHRvIGV4Y2x1ZGUgZnJvbSBieSA6KGV4Y2x1ZGUpIHBhdHRlcm5zLlxuIgogIlBlcmhhcHMgeW91IGZvcmdvdCB0byBhZGQgZWl0aGVyICc6Lycgb3IgJy4nID8iCkBAIC0xMjI0LDExICsyMzYwLDcgQEAKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgLS1wcmV0dHkgZm9ybWF0IgogbXNnc3RyICLkuI3og73op6PmnpAgLS1wcmV0dHkg5qC85byPIgogCi0jOiBwcm9ncmVzcy5jOjIzNQotbXNnaWQgImRvbmUiCi1tc2dzdHIgIuWujOaIkCIKLQotIzogcmVhZC1jYWNoZS5jOjEyODEKKyM6IHJlYWQtY2FjaGUuYzoxMzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbmRleC52ZXJzaW9uIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMTIzNyw3ICsyMzY5LDcgQEAKICLorr7nva7kuoYgaW5kZXgudmVyc2lvbu+8jOS9huaYr+WPluWAvOaXoOaViOOAglxuIgogIuS9v+eUqOeJiOacrCAlaSIKIAotIzogcmVhZC1jYWNoZS5jOjEyOTEKKyM6IHJlYWQtY2FjaGUuYzoxMzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJHSVRfSU5ERVhfVkVSU0lPTiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKQEAgLTEyNDYsMjMgKzIzNzgsMjIgQEAKICLorr7nva7kuoYgR0lUX0lOREVYX1ZFUlNJT07vvIzkvYbmmK/lj5blgLzml6DmlYjjgIJcbiIKICLkvb/nlKjniYjmnKwgJWkiCiAKLSM6IHJlZnMuYzo1NDMgYnVpbHRpbi9tZXJnZS5jOjc2NCBidWlsdGluL21lcmdlLmM6ODgzIGJ1aWx0aW4vbWVyZ2UuYzo5ODUKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5OTUKKyM6IHJlZnMuYzo1NzYgYnVpbHRpbi9tZXJnZS5jOjg0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICLml6Dms5XmiZPlvIAgJyVzJyDov5vooYzlhpnlhaUiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjIyNDMKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjI0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2UgJXM6ICVzIgogbXNnc3RyICLml6Dms5XliKDpmaTlvJXnlKggJXPvvJolcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjI0NgorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZXM6ICVzIgogbXNnc3RyICLml6Dms5XliKDpmaTlvJXnlKjvvJolcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjI1NQorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MjQ5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIHJlZmVyZW5jZSAlcyIKIG1zZ3N0ciAi5peg5rOV5Yig6Zmk5byV55SoICVzIgpAQCAtMTM5MSwxMiArMjUyMiwxMiBAQAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgIuW/veeVpeaNn+Wdj+eahOW8leeUqCAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE2NTEKKyM6IHJlZi1maWx0ZXIuYzoxNjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIG1pc3NpbmciCiBtc2dzdHIgIuagvOW8j++8mue8uuWwkSAlJShlbmQpIOWFg+e0oCIKIAotIzogcmVmLWZpbHRlci5jOjE3MDUKKyM6IHJlZi1maWx0ZXIuYzoxNjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAi6Z2e5rOV55qE5a+56LGh5ZCNICVzIgpAQCAtMTQyMCw3NCArMjU1MSw3NCBAQAogbXNnaWQgIkludGVybmFsIGVycm9yIgogbXNnc3RyICLlhoXpg6jplJnor68iCiAKLSM6IHJlbW90ZS5jOjE2NzggcmVtb3RlLmM6MTcyMQorIzogcmVtb3RlLmM6MTY3NyByZW1vdGUuYzoxNzIwCiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiSEVBRCDmsqHmnInmjIflkJHkuIDkuKrliIbmlK8iCiAKLSM6IHJlbW90ZS5jOjE2ODcKKyM6IHJlbW90ZS5jOjE2ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2g6ICclcyciCiBtc2dzdHIgIuayoeacieatpOWIhuaUr++8miclcyciCiAKLSM6IHJlbW90ZS5jOjE2OTAKKyM6IHJlbW90ZS5jOjE2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgIuWwmuacque7meWIhuaUryAnJXMnIOiuvue9ruS4iua4uCIKIAotIzogcmVtb3RlLmM6MTY5NgorIzogcmVtb3RlLmM6MTY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1cHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAi5LiK5ri45YiG5pSvICclcycg5rKh5pyJ5a2Y5YKo5Li65LiA5Liq6L+c56iL6Lef6Liq5YiG5pSvIgogCi0jOiByZW1vdGUuYzoxNzExCisjOiByZW1vdGUuYzoxNzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggZGVzdGluYXRpb24gJyVzJyBvbiByZW1vdGUgJyVzJyBoYXMgbm8gbG9jYWwgdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICLmjqjpgIHnm67moIcgJyVzJyDoh7Pov5znqIsgJyVzJyDmsqHmnInmnKzlnLDot5/ouKrliIbmlK8iCiAKLSM6IHJlbW90ZS5jOjE3MjYKKyM6IHJlbW90ZS5jOjE3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAi5YiG5pSvICclcycg5rKh5pyJ6K6+572u6KaB5o6o6YCB55qE6L+c56iL5pyN5Yqh5ZmoIgogCi0jOiByZW1vdGUuYzoxNzM3CisjOiByZW1vdGUuYzoxNzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggcmVmc3BlY3MgZm9yICclcycgZG8gbm90IGluY2x1ZGUgJyVzJyIKIG1zZ3N0ciAi5ZCRICclcycg5o6o6YCB5byV55So6KeE5qC85pyq5YyF5ZCrICclcyciCiAKLSM6IHJlbW90ZS5jOjE3NTAKKyM6IHJlbW90ZS5jOjE3NDkKIG1zZ2lkICJwdXNoIGhhcyBubyBkZXN0aW5hdGlvbiAocHVzaC5kZWZhdWx0IGlzICdub3RoaW5nJykiCiBtc2dzdHIgIuaOqOmAgeaXoOebruagh++8iHB1c2guZGVmYXVsdCDmmK8gJ25vdGhpbmcn77yJIgogCi0jOiByZW1vdGUuYzoxNzcyCisjOiByZW1vdGUuYzoxNzcxCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgJ3NpbXBsZScgcHVzaCB0byBhIHNpbmdsZSBkZXN0aW5hdGlvbiIKIG1zZ3N0ciAi5peg5rOV6Kej5p6QICdzaW1wbGUnIOaOqOmAgeiHs+S4gOS4quWNleeLrOeahOebruaghyIKIAotIzogcmVtb3RlLmM6MjA3NAorIzogcmVtb3RlLmM6MjA3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiYXNlZCBvbiAnJXMnLCBidXQgdGhlIHVwc3RyZWFtIGlzIGdvbmUuXG4iCiBtc2dzdHIgIuaCqOeahOWIhuaUr+WfuuS6jiAnJXMn77yM5L2G5q2k5LiK5ri45YiG5pSv5bey57uP5LiN5a2Y5Zyo44CCXG4iCiAKLSM6IHJlbW90ZS5jOjIwNzgKKyM6IHJlbW90ZS5jOjIwNzcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiDmnaXkv67lpI3vvIlcbiIKIAotIzogcmVtb3RlLmM6MjA4MQorIzogcmVtb3RlLmM6MjA4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyB1cC10by1kYXRlIHdpdGggJyVzJy5cbiIKIG1zZ3N0ciAi5oKo55qE5YiG5pSv5LiO5LiK5ri45YiG5pSvICclcycg5LiA6Ie044CCXG4iCiAKLSM6IHJlbW90ZS5jOjIwODUKKyM6IHJlbW90ZS5jOjIwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKIG1zZ3N0clswXSAi5oKo55qE5YiG5pSv6aKG5YWIICclcycg5YWxICVkIOS4quaPkOS6pOOAglxuIgogbXNnc3RyWzFdICLmgqjnmoTliIbmlK/pooblhYggJyVzJyDlhbEgJWQg5Liq5o+Q5Lqk44CCXG4iCiAKLSM6IHJlbW90ZS5jOjIwOTEKKyM6IHJlbW90ZS5jOjIwOTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBwdXNoXCIg5p2l5Y+R5biD5oKo55qE5pys5Zyw5o+Q5Lqk77yJXG4iCiAKLSM6IHJlbW90ZS5jOjIwOTQKKyM6IHJlbW90ZS5jOjIwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCkBAIC0xNDk2LDExICsyNjI3LDExIEBACiBtc2dzdHJbMV0gIuaCqOeahOWIhuaUr+iQveWQjiAnJXMnIOWFsSAlZCDkuKrmj5DkuqTvvIzlubbkuJTlj6/ku6Xlv6vov5vjgIJcbiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiByZW1vdGUuYzoyMTAyCisjOiByZW1vdGUuYzoyMTAxCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHB1bGxcIiDmnaXmm7TmlrDmgqjnmoTmnKzlnLDliIbmlK/vvIlcbiIKIAotIzogcmVtb3RlLmM6MjEwNQorIzogcmVtb3RlLmM6MjEwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTE1MTYsNTEgKzI2NDcsNjMgQEAKICLlubbkuJTliIbliKvmnIkgJWQg5ZKMICVkIOWkhOS4jeWQjOeahOaPkOS6pOOAglxuIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHJlbW90ZS5jOjIxMTUKKyM6IHJlbW90ZS5jOjIxMTQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHB1bGxcIiDmnaXlkIjlubbov5znqIvliIbmlK/vvIlcbiIKIAotIzogcmV2aXNpb24uYzoyMTQyCisjOiByZXZpc2lvbi5jOjIxNTgKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoIGFwcGVhcnMgdG8gYmUgYnJva2VuIgogbXNnc3RyICLmgqjnmoTlvZPliY3liIbmlK/lpb3lg4/ooqvmjZ/lnY8iCiAKLSM6IHJldmlzaW9uLmM6MjE0NQorIzogcmV2aXNpb24uYzoyMTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggJyVzJyBkb2VzIG5vdCBoYXZlIGFueSBjb21taXRzIHlldCIKIG1zZ3N0ciAi5oKo55qE5b2T5YmN5YiG5pSvICclcycg5bCa5peg5Lu75L2V5o+Q5LqkIgogCi0jOiByZXZpc2lvbi5jOjIzMzkKKyM6IHJldmlzaW9uLmM6MjM1NQogbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgogbXNnc3RyICItLWZpcnN0LXBhcmVudCDkuI4gLS1iaXNlY3Qg5LiN5YW85a65IgogCi0jOiBydW4tY29tbWFuZC5jOjkyCisjOiBydW4tY29tbWFuZC5jOjEwNgogbXNnaWQgIm9wZW4gL2Rldi9udWxsIGZhaWxlZCIKIG1zZ3N0ciAi5LiN6IO95omT5byAIC9kZXYvbnVsbCIKIAotIzogcnVuLWNvbW1hbmQuYzo5NAorIzogcnVuLWNvbW1hbmQuYzoxMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZHVwMiglZCwlZCkgZmFpbGVkIgogbXNnc3RyICLkuI3og73osIPnlKggZHVwMiglZCwlZCkiCiAKLSM6IHNlbmQtcGFjay5jOjI5NQorIzogc2VuZC1wYWNrLmM6Mjk3CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgIuaXoOazleS4uuaOqOmAgeivgeS5puetvuWQjSIKIAotIzogc2VuZC1wYWNrLmM6NDA0CisjOiBzZW5kLXBhY2suYzo0MTAKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIHB1c2giCiBtc2dzdHIgIuaOpeaUtuerr+S4jeaUr+aMgeetvuWQjeaOqOmAgSIKIAotIzogc2VuZC1wYWNrLmM6NDA2CisjOiBzZW5kLXBhY2suYzo0MTIKIG1zZ2lkICIiCiAibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCiAic2lnbmVkIHB1c2giCiBtc2dzdHIgIuacquWPkemAgeaOqOmAgeivgeS5pu+8jOWboOS4uuaOpeaUtuerr+S4jeaUr+aMgeetvuWQjeaOqOmAgSIKIAotIzogc2VuZC1wYWNrLmM6NDE4CisjOiBzZW5kLXBhY2suYzo0MjQKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgIuaOpeaUtuerr+S4jeaUr+aMgeWOn+WtkOaOqOmAgSIKIAotIzogc2VxdWVuY2VyLmM6MTc0CisjOiBzZW5kLXBhY2suYzo0MjkKK21zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IHB1c2ggb3B0aW9ucyIKK21zZ3N0ciAi5o6l5pS256uv5LiN5pSv5oyB5o6o6YCB6YCJ6aG5IgorCisjOiBzZXF1ZW5jZXIuYzoxNzEKK21zZ2lkICJyZXZlcnQiCittc2dzdHIgIui/mOWOnyIKKworIzogc2VxdWVuY2VyLmM6MTcxCittc2dpZCAiY2hlcnJ5LXBpY2siCittc2dzdHIgIuaLo+mAiSIKKworIzogc2VxdWVuY2VyLmM6MjI4CiBtc2dpZCAiIgogImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKICJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPiciCkBAIC0xNTY4LDcgKzI3MTEsNyBAQAogIuWGsueqgeino+WGs+WujOavleWQju+8jOeUqCAnZ2l0IGFkZCA86Lev5b6EPicg5oiWICdnaXQgcm0gPOi3r+W+hD4nXG4iCiAi5ZG95Luk5qCH6K6w5L+u5q2j5ZCO55qE5paH5Lu2IgogCi0jOiBzZXF1ZW5jZXIuYzoxNzcKKyM6IHNlcXVlbmNlci5jOjIzMQogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nXG4iCkBAIC0xNTc3LDIyNyArMjcyMCwyODYgQEAKICLlhrLnqoHop6PlhrPlrozmr5XlkI7vvIznlKggJ2dpdCBhZGQgPOi3r+W+hD4nIOaIliAnZ2l0IHJtIDzot6/lvoQ+J1xuIgogIuWvueS/ruato+WQjueahOaWh+S7tuWBmuagh+iusO+8jOeEtuWQjueUqCAnZ2l0IGNvbW1pdCcg5o+Q5LqkIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTAgc2VxdWVuY2VyLmM6ODMzIHNlcXVlbmNlci5jOjkxMgorIzogc2VxdWVuY2VyLmM6MjQ0IHNlcXVlbmNlci5jOjEyMDkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgotbXNnc3RyICLkuI3og73lhpnlhaUgJXMiCittc2dpZCAiY291bGQgbm90IGxvY2sgJyVzJyIKK21zZ3N0ciAi5LiN6IO96ZSB5a6aICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjE5MworIzogc2VxdWVuY2VyLmM6MjQ3IHNlcXVlbmNlci5jOjExMjUgc2VxdWVuY2VyLmM6MTIxNAogIywgYy1mb3JtYXQKLW1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcyIKLW1zZ3N0ciAi6ZSZ6K+v5pS25bC+ICVzIgorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgorbXNnc3RyICLkuI3og73lhpnlhaUgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjA4Ci1tc2dpZCAiWW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZXJyeS1waWNrLiIKLW1zZ3N0ciAi5oKo55qE5pys5Zyw5L+u5pS55bCG6KKr5ouj6YCJ5pON5L2c6KaG55uW44CCIgorIzogc2VxdWVuY2VyLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKK21zZ3N0ciAi5LiN6IO95bCG5o2i6KGM56ym5YaZ5YWlICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjIxMAotbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSByZXZlcnQuIgotbXNnc3RyICLmgqjnmoTmnKzlnLDkv67mlLnlsIbooqvov5jljp/mk43kvZzopobnm5bjgIIiCisjOiBzZXF1ZW5jZXIuYzoyNTUgc2VxdWVuY2VyLmM6MTEzMCBzZXF1ZW5jZXIuYzoxMjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSAnJXMnLiIKK21zZ3N0ciAi5peg5rOV5a6M5oiQICclcyfjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjIxMwotbXNnaWQgIkNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKKyM6IHNlcXVlbmNlci5jOjI3OSBidWlsdGluL2FtLmM6MjU5IGJ1aWx0aW4vY29tbWl0LmM6NzQ5IGJ1aWx0aW4vbWVyZ2UuYzoxMDMyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCittc2dzdHIgIuS4jeiDveivu+WPliAnJXMnIgorCisjOiBzZXF1ZW5jZXIuYzozMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzLiIKK21zZ3N0ciAi5oKo55qE5pys5Zyw5L+u5pS55bCG6KKrJXPopobnm5bjgIIiCisKKyM6IHNlcXVlbmNlci5jOjMwOQorbXNnaWQgImNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKIG1zZ3N0ciAi5o+Q5Lqk5oKo55qE5L+u5pS55oiW5L+d5a2Y6L+b5bqm5ZCO5YaN57un57ut44CCIgogCisjOiBzZXF1ZW5jZXIuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhc3QtZm9yd2FyZCIKK21zZ3N0ciAiJXPvvJrlv6vov5siCisKICMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiIG9yICJjaGVycnktcGljayIKLSM6IHNlcXVlbmNlci5jOjMwMAorIzogc2VxdWVuY2VyLmM6Mzk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIiVz77ya5peg5rOV5YaZ5YWl5paw57Si5byV5paH5Lu2IgogCi0jOiBzZXF1ZW5jZXIuYzozMTgKLW1zZ2lkICJDb3VsZCBub3QgcmVzb2x2ZSBIRUFEIGNvbW1pdFxuIgorIzogc2VxdWVuY2VyLmM6NDE4Cittc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIKIG1zZ3N0ciAi5LiN6IO96Kej5p6QIEhFQUQg5o+Q5LqkXG4iCiAKLSM6IHNlcXVlbmNlci5jOjMzOAotbXNnaWQgIlVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgorIzogc2VxdWVuY2VyLmM6NDM4Cittc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlXG4iCiBtc2dzdHIgIuS4jeiDveabtOaWsOe8k+WtmFxuIgogCi0jOiBzZXF1ZW5jZXIuYzozOTAKKyM6IHNlcXVlbmNlci5jOjQ4MwogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCittc2dpZCAiIgorInlvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlXG4iCisiSWYgdGhlc2UgY2hhbmdlcyBhcmUgbWVhbnQgdG8gYmUgc3F1YXNoZWQgaW50byB0aGUgcHJldmlvdXMgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0IC0tYW1lbmQgJXNcbiIKKyJcbiIKKyJJZiB0aGV5IGFyZSBtZWFudCB0byBnbyBpbnRvIGEgbmV3IGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAlc1xuIgorIlxuIgorIkluIGJvdGggY2FzZXMsIG9uY2UgeW91J3JlIGRvbmUsIGNvbnRpbnVlIHdpdGg6XG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKK21zZ3N0ciAiIgorIuaCqOW3suaaguWtmOS6huW3peS9nOWMuueahOS/ruaUueOAguWmguaenOi/meS6m+S/ruaUueimgeWOi+e8qeWIsOWJjeS4gOS4quaPkOS6pO+8jOaJp+ihjO+8mlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisi5aaC5p6c6L+Z5Lqb5Y+Y5pu06KaB5b2i5oiQ5LiA5Liq5paw5o+Q5Lqk77yM5omn6KGM77yaXG4iCisiXG4iCisiICBnaXQgY29tbWl0ICVzXG4iCisiXG4iCisi5peg6K665ZOq56eN5oOF5Ya177yM5b2T5oKo5a6M5oiQ5o+Q5Lqk77yM57un57ut5omn6KGM77yaXG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKworIzogc2VxdWVuY2VyLmM6NTY3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXNcbiIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5o+Q5LqkICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM5NQorIzogc2VxdWVuY2VyLmM6NTcyCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzXG4iCittc2dpZCAiY291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXNcbiIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q54i25o+Q5LqkICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQ2MAotbXNnaWQgIllvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCisjOiBzZXF1ZW5jZXIuYzo2NTYKK21zZ2lkICJ5b3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgogbXNnc3RyICLmgqjnmoTntKLlvJXmlofku7bmnKrlrozmiJDlkIjlubbjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjQ3OQorIzogc2VxdWVuY2VyLmM6Njc1CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKK21zZ2lkICJjb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCiBtc2dzdHIgIuaPkOS6pCAlcyDmmK/kuIDkuKrlkIjlubbmj5DkuqTkvYbmnKrmj5DkvpsgLW0g6YCJ6aG544CCIgogCi0jOiBzZXF1ZW5jZXIuYzo0ODcKKyM6IHNlcXVlbmNlci5jOjY4MwogIywgYy1mb3JtYXQKLW1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCi1tc2dzdHIgIuaPkOS6pCAlcyDmsqHmnInniLbmj5DkuqQgJWQiCittc2dpZCAiY29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgorbXNnc3RyICLmj5DkuqQgJXMg5rKh5pyJ56ysICVkIOS4queItuaPkOS6pCIKIAotIzogc2VxdWVuY2VyLmM6NDkxCisjOiBzZXF1ZW5jZXIuYzo2ODcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiTWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKLW1zZ3N0ciAi5oyH5a6a5LqG5Li757q/5L2G5o+Q5LqkICVzIOS4jeaYr+S4gOS4quWQiOW5tuOAgiIKK21zZ2lkICJtYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgorbXNnc3RyICLmjIflrprkuobkuLvnur/vvIzkvYbmmK/mj5DkuqQgJXMg5LiN5piv5LiA5Liq5ZCI5bm25o+Q5Lqk44CCIgogCi0jLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgInJldmVydCIgb3IKLSMuICJjaGVycnktcGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExCi0jOiBzZXF1ZW5jZXIuYzo1MDQKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKKyMuICJyZXZlcnQiIG9yICJwaWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEuCisjOiBzZXF1ZW5jZXIuYzo3MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzIgogbXNnc3RyICIlc++8muS4jeiDveino+aekOeItuaPkOS6pCAlcyIKIAotIzogc2VxdWVuY2VyLmM6NTA4CisjOiBzZXF1ZW5jZXIuYzo3MDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCittc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCiBtc2dzdHIgIuS4jeiDveW+l+WIsCAlcyDnmoTmj5DkuqTor7TmmI4iCiAKLSM6IHNlcXVlbmNlci5jOjU5NAorIzogc2VxdWVuY2VyLmM6Nzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgIuS4jeiDvei/mOWOnyAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6NTk1CisjOiBzZXF1ZW5jZXIuYzo3OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGFwcGx5ICVzLi4uICVzIgogbXNnc3RyICLkuI3og73lupTnlKggJXMuLi4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjYzMAorIzogc2VxdWVuY2VyLmM6ODMzCiBtc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCiBtc2dzdHIgIuaPkOS+m+S6huepuueahOaPkOS6pOmbhiIKIAotIzogc2VxdWVuY2VyLmM6NjM4CisjOiBzZXF1ZW5jZXIuYzo4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlc++8muaXoOazleivu+WPlue0ouW8lSIKIAotIzogc2VxdWVuY2VyLmM6NjQyCisjOiBzZXF1ZW5jZXIuYzo4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlc++8muaXoOazleWIt+aWsOe0ouW8lSIKIAotIzogc2VxdWVuY2VyLmM6NzAyCisjOiBzZXF1ZW5jZXIuYzo5NDQKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90ICVzIGR1cmluZyBhICVzIgotbXNnc3RyICLml6Dms5UgJXMg5Zyo5LiA5LiqICVzIOi/h+eoi+S4rSIKK21zZ2lkICJpbnZhbGlkIGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgIuaXoOaViOihjCAlZO+8miUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjcyNAorIzogc2VxdWVuY2VyLmM6OTUwCittc2dpZCAibm8gY29tbWl0cyBwYXJzZWQuIgorbXNnc3RyICLmsqHmnInop6PmnpDmj5DkuqTjgIIiCisKKyM6IHNlcXVlbmNlci5jOjk2NgogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgbGluZSAlZC4iCi1tc2dzdHIgIuS4jeiDveino+aekOesrCAlZCDooYzjgIIiCittc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJy4iCittc2dzdHIgIuS4jeiDveivu+WPliAnJXMn44CCIgogCi0jOiBzZXF1ZW5jZXIuYzo3MjkKLW1zZ2lkICJObyBjb21taXRzIHBhcnNlZC4iCi1tc2dzdHIgIuayoeacieaPkOS6pOiiq+ino+aekOOAgiIKLQotIzogc2VxdWVuY2VyLmM6NzQxCisjOiBzZXF1ZW5jZXIuYzo5NzIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG9wZW4gJXMiCi1tc2dzdHIgIuS4jeiDveaJk+W8gCAlcyIKK21zZ2lkICJ1bnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJyVzJyIKK21zZ3N0ciAi5peg55So55qE5oyH5Luk5riF5Y2V77yaJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6NzQ1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKLW1zZ3N0ciAi5LiN6IO96K+75Y+WICVz44CCIgorIzogc2VxdWVuY2VyLmM6OTgzCittc2dpZCAiY2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhIHJldmVydC4iCittc2dzdHIgIuS4jeiDveWcqOWbnumAgOS4reaJp+ihjOaLo+mAieOAgiIKIAotIzogc2VxdWVuY2VyLmM6NzUyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAlcyIKLW1zZ3N0ciAi5peg55So55qE5oyH5Luk6KGo5Y2V77yaJXMiCisjOiBzZXF1ZW5jZXIuYzo5ODUKK21zZ2lkICJjYW5ub3QgcmV2ZXJ0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKK21zZ3N0ciAi5LiN6IO95Zyo5ouj6YCJ5Lit5omn6KGM5Zue6YCA44CCIgogCi0jOiBzZXF1ZW5jZXIuYzo3ODIKKyM6IHNlcXVlbmNlci5jOjEwMjgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCBrZXk6ICVzIgorbXNnaWQgImludmFsaWQga2V5OiAlcyIKIG1zZ3N0ciAi5peg5pWI6ZSu5ZCN77yaJXMiCiAKLSM6IHNlcXVlbmNlci5jOjc4NSBidWlsdGluL3B1bGwuYzo1MCBidWlsdGluL3B1bGwuYzo1MgorIzogc2VxdWVuY2VyLmM6MTAzMQogIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCittc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICIlcyDnmoTlgLzml6DmlYjvvJolcyIKIAotIzogc2VxdWVuY2VyLmM6Nzk1CisjOiBzZXF1ZW5jZXIuYzoxMDYzCiAjLCBjLWZvcm1hdAotbXNnaWQgIk1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAlcyIKLW1zZ3N0ciAi6Z2e5rOV55qE6YCJ6aG56KGo5Y2V77yaJXMiCittc2dpZCAibWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICclcyciCittc2dzdHIgIumdnuazleeahOmAiemhuea4heWNle+8miclcyciCiAKLSM6IHNlcXVlbmNlci5jOjgxNAorIzogc2VxdWVuY2VyLmM6MTEwMQogbXNnaWQgImEgY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgIuS4gOS4quaLo+mAieaIlui/mOWOn+aTjeS9nOW3suWcqOi/m+ihjCIKIAotIzogc2VxdWVuY2VyLmM6ODE1CisjOiBzZXF1ZW5jZXIuYzoxMTAyCiBtc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIG1zZ3N0ciAi5bCd6K+VIFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKIAotIzogc2VxdWVuY2VyLmM6ODE5CisjOiBzZXF1ZW5jZXIuYzoxMTA2CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAlcyIKLW1zZ3N0ciAi5LiN6IO95Yib5bu65bqP5YiX55uu5b2VICVzIgorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAnJXMnIgorbXNnc3RyICLkuI3og73liJvlu7rluo/liJfnm67lvZUgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6ODM1IHNlcXVlbmNlci5jOjkxNgotIywgYy1mb3JtYXQKLW1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcy4iCi1tc2dzdHIgIumUmeivr+aUtuWwviAlc+OAgiIKKyM6IHNlcXVlbmNlci5jOjExMjAKK21zZ2lkICJjb3VsZCBub3QgbG9jayBIRUFEIgorbXNnc3RyICLkuI3og73plIHlrpogSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6ODU0IHNlcXVlbmNlci5jOjk4NgorIzogc2VxdWVuY2VyLmM6MTE1MSBzZXF1ZW5jZXIuYzoxMjg5CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICLmi6PpgInmiJbov5jljp/mk43kvZzlubbmnKrov5vooYwiCiAKLSM6IHNlcXVlbmNlci5jOjg1NgorIzogc2VxdWVuY2VyLmM6MTE1MwogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgIuS4jeiDveino+aekCBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzo4NTgKKyM6IHNlcXVlbmNlci5jOjExNTUgc2VxdWVuY2VyLmM6MTE4OQogbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICLkuI3og73ku47lsJrmnKrlu7rnq4vnmoTliIbmlK/nu4jmraIiCiAKLSM6IHNlcXVlbmNlci5jOjg3OCBidWlsdGluL2ZldGNoLmM6NjEwIGJ1aWx0aW4vZmV0Y2guYzo4NTEKKyM6IHNlcXVlbmNlci5jOjExNzUgYnVpbHRpbi9ncmVwLmM6NTc4CiAjLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuICVzIgotbXNnc3RyICLkuI3og73miZPlvIAgJXMiCittc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKK21zZ3N0ciAi5LiN6IO95omT5byAICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjg4MAorIzogc2VxdWVuY2VyLmM6MTE3NwogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCAlczogJXMiCi1tc2dzdHIgIuS4jeiDveivu+WPliAlc++8miVzIgorbXNnaWQgImNhbm5vdCByZWFkICclcyc6ICVzIgorbXNnc3RyICLkuI3og73or7vlj5YgJyVzJ++8miVzIgogCi0jOiBzZXF1ZW5jZXIuYzo4ODEKKyM6IHNlcXVlbmNlci5jOjExNzgKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICLmhI/lpJbnmoTmlofku7bnu5PmnZ8iCiAKLSM6IHNlcXVlbmNlci5jOjg4NworIzogc2VxdWVuY2VyLmM6MTE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIuS/neWtmOaLo+mAieaPkOS6pOWJjeeahCBIRUFEIOaWh+S7tiAnJXMnIOaNn+WdjyIKIAotIzogc2VxdWVuY2VyLmM6OTA5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBmb3JtYXQgJXMuIgotbXNnc3RyICLkuI3og73moLzlvI/ljJYgJXPjgIIiCi0KLSM6IHNlcXVlbmNlci5jOjEwNTQKKyM6IHNlcXVlbmNlci5jOjEzNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiVz77ya5LiN6IO95ouj6YCJ5LiA5LiqJXMiCiAKLSM6IHNlcXVlbmNlci5jOjEwNTcKKyM6IHNlcXVlbmNlci5jOjEzNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiJXPvvJrplJnor6/nmoTniYjmnKwiCiAKLSM6IHNlcXVlbmNlci5jOjEwOTEKLW1zZ2lkICJDYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCi1tc2dzdHIgIuS4jeiDveS9nOS4uuWIneWni+aPkOS6pOi/mOWOnyIKKyM6IHNlcXVlbmNlci5jOjEzOTEKK21zZ2lkICJjYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCittc2dzdHIgIuS4jeiDveS9nOS4uuWIneWni+aPkOS6pOWbnumAgCIKIAotIzogc2VxdWVuY2VyLmM6MTA5MgotbXNnaWQgIkNhbid0IGNoZXJyeS1waWNrIGludG8gZW1wdHkgaGVhZCIKLW1zZ3N0ciAi5LiN6IO95ouj6YCJ5Yiw56m65YiG5pSvIgotCi0jOiBzZXR1cC5jOjI0OAorIzogc2V0dXAuYzoxNjAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXMiCi1tc2dzdHIgIuaXoOazleivu+WPliAlcyIKK21zZ2lkICIiCisiJXM6IG5vIHN1Y2ggcGF0aCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgorIlVzZSAnZ2l0IDxjb21tYW5kPiAtLSA8cGF0aD4uLi4nIHRvIHNwZWNpZnkgcGF0aHMgdGhhdCBkbyBub3QgZXhpc3QgbG9jYWxseS4iCittc2dzdHIgIiIKKyIlc++8muW3peS9nOWMuuS4reaXoOatpOi3r+W+hOOAglxuIgorIuS9v+eUqOWRveS7pCAnZ2l0IDxjb21tYW5kPiAtLSA8cGF0aD4uLi4nIOadpeaMh+WumuacrOWcsOS4jeWtmOWcqOeahOi3r+W+hOOAgiIKKworIzogc2V0dXAuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiB1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCisiVXNlICctLScgdG8gc2VwYXJhdGUgcGF0aHMgZnJvbSByZXZpc2lvbnMsIGxpa2UgdGhpczpcbiIKKyInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgorbXNnc3RyICIiCisi5pyJ5q2n5LmJ55qE5Y+C5pWwICclcyfvvJrmnKrnn6XnmoTniYjmnKzmiJbot6/lvoTkuI3lrZjlnKjkuo7lt6XkvZzljLrkuK3jgIJcbiIKKyLkvb/nlKggJy0tJyDmnaXliIbpmpTniYjmnKzlkozot6/lvoTvvIzkvovlpoLvvJpcbiIKKyInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgorCisjOiBzZXR1cC5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IGJvdGggcmV2aXNpb24gYW5kIGZpbGVuYW1lXG4iCisiVXNlICctLScgdG8gc2VwYXJhdGUgcGF0aHMgZnJvbSByZXZpc2lvbnMsIGxpa2UgdGhpczpcbiIKKyInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgorbXNnc3RyICIiCisi5pyJ5q2n5LmJ55qE5Y+C5pWwICclcyfvvJrlj6/lkIzml7bmmK/niYjmnKzlkozmlofku7ZcbiIKKyLkvb/nlKggJy0tJyDmnaXliIbpmpTniYjmnKzlkozot6/lvoTvvIzkvovlpoLvvJpcbiIKKyInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgogCiAjOiBzZXR1cC5jOjQ2OAogIywgYy1mb3JtYXQKQEAgLTE4MDgsMjEgKzMwMTAsOTEgQEAKIG1zZ2lkICJ1bmtub3duIHJlcG9zaXRvcnkgZXh0ZW5zaW9ucyBmb3VuZDoiCiBtc2dzdHIgIuWPkeeOsOacquefpeeahOS7k+W6k+aJqeWxle+8miIKIAotIzogc2hhMV9maWxlLmM6MTA4MAorIzogc2V0dXAuYzo3NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBvZiB0aGUgcGFyZW50IGRpcmVjdG9yaWVzKTogJXMiCittc2dzdHIgIuS4jeaYr+S4gOS4qiBnaXQg5LuT5bqT77yI5oiW6ICF5Lu75L2V54i255uu5b2V77yJ77yaJXMiCisKKyM6IHNldHVwLmM6NzY0IHNldHVwLmM6OTE1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDEKK21zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKK21zZ3N0ciAi5peg5rOV6L+U5Zue5b2T5YmN5bel5L2c55uu5b2VIgorCisjOiBzZXR1cC5jOjg0NQorbXNnaWQgIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIuS4jeiDveivu+WPluW9k+WJjeW3peS9nOebruW9lSIKKworIzogc2V0dXAuYzo5MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgcGFyZW50IHVwIHRvIG1vdW50IHBvaW50ICVzKVxuIgorIlN0b3BwaW5nIGF0IGZpbGVzeXN0ZW0gYm91bmRhcnkgKEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0gbm90IHNldCkuIgorbXNnc3RyICIiCisi5LiN5piv5LiA5LiqIGdpdCDku5PlupPvvIjmiJbogIXlkJHkuIrpgJLlvZLoh7PmjILovb3ngrkgJXMg55qE5Lu75L2V56WW5YWI55uu5b2V77yJXG4iCisi5YGc5q2i5Zyo5paH5Lu257O757uf6L6555WM77yI5pyq6K6+572uIEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU3vvInjgIIiCisKKyM6IHNldHVwLmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdG8gJyVzLy4uJyIKK21zZ3N0ciAi5LiN6IO95YiH5o2i5YiwICclcy8uLiciCisKKyM6IHNldHVwLmM6OTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQcm9ibGVtIHdpdGggY29yZS5zaGFyZWRSZXBvc2l0b3J5IGZpbGVtb2RlIHZhbHVlICgwJS4zbykuXG4iCisiVGhlIG93bmVyIG9mIGZpbGVzIG11c3QgYWx3YXlzIGhhdmUgcmVhZCBhbmQgd3JpdGUgcGVybWlzc2lvbnMuIgorbXNnc3RyICIiCisi5Y+C5pWwIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSDnmoTmlofku7bmnYPpmZDlgLzmnInplJnvvIgwJS4zb++8ieOAglxuIgorIuaWh+S7tuWxnuS4u+W/hemhu+Wni+e7iOaLpeacieivu+WGmeadg+mZkOOAgiIKKworIzogc2hhMV9maWxlLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi6Lev5b6EICclcycg5LiN5a2Y5ZyoIgorCisjOiBzaGExX2ZpbGUuYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCittc2dzdHIgIuWwmuS4jeaUr+aMgeWwhuWPguiAg+S7k+W6kyAnJXMnIOS9nOS4uuS4gOS4qumTvuaOpeajgOWHuuOAgiIKKworIzogc2hhMV9maWxlLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCittc2dzdHIgIuWPguiAg+S7k+W6kyAnJXMnIOS4jeaYr+S4gOS4quacrOWcsOS7k+W6k+OAgiIKKworIzogc2hhMV9maWxlLmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKK21zZ3N0ciAi5Y+C6ICD5LuT5bqTICclcycg5piv5LiA5Liq5rWF5YWL6ZqGIgorCisjOiBzaGExX2ZpbGUuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgorbXNnc3RyICLlj4LogIPku5PlupMgJyVzJyDlt7Looqvlq4HmjqUiCisKKyM6IHNoYTFfZmlsZS5jOjExNTkKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIGVuZCBvZiBwYWNrZmlsZSAoYnJva2VuIC5pZHg/KSIKIG1zZ3N0ciAi5YGP56e76YeP5Zyo5YyF5paH5Lu257uT5p2f5LmL5YmN77yI5o2f5Z2P55qEIC5pZHjvvJ/vvIkiCiAKLSM6IHNoYTFfZmlsZS5jOjI0NTgKKyM6IHNoYTFfZmlsZS5jOjI1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBzdGFydCBvZiBwYWNrIGluZGV4IGZvciAlcyAoY29ycnVwdCBpbmRleD8pIgogbXNnc3RyICLlgY/np7vph4/lnKggJXMg55qE5YyF57Si5byV5byA5aeL5LmL5YmN77yI5o2f5Z2P55qE57Si5byV77yf77yJIgogCi0jOiBzaGExX2ZpbGUuYzoyNDYyCisjOiBzaGExX2ZpbGUuYzoyNTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZXlvbmQgZW5kIG9mIHBhY2sgaW5kZXggZm9yICVzICh0cnVuY2F0ZWQgaW5kZXg/KSIKIG1zZ3N0ciAi5YGP56e76YeP6LaK6L+H5LqGICVzIOeahOWMhee0ouW8leeahOe7k+Wwvu+8iOiiq+aIquaWreeahOe0ouW8le+8n++8iSIKIAotIzogc2hhMV9uYW1lLmM6NDYyCisjOiBzaGExX25hbWUuYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hvcnQgU0hBMSAlcyBpcyBhbWJpZ3VvdXMiCittc2dzdHIgIuatp+S5ieeahOefrSBTSEExICVzIgorCisjOiBzaGExX25hbWUuYzo0MTgKK21zZ2lkICJUaGUgY2FuZGlkYXRlcyBhcmU6IgorbXNnc3RyICLlgJnpgInogIXmnInvvJoiCisKKyM6IHNoYTFfbmFtZS5jOjU3OAogbXNnaWQgIiIKICJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgogImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKQEAgLTE4NjYsNzkgKzMxMzgsMTQzIEBACiBtc2dpZCAic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKIG1zZ3N0ciAi5bCG5pu05paw5ZCOIC5naXRtb2R1bGVzIOa3u+WKoOaaguWtmOWMuuWksei0pSIKIAotIzogc3VibW9kdWxlLmM6MTc3CisjOiBzdWJtb2R1bGUuYzoxNTgKIG1zZ2lkICJuZWdhdGl2ZSB2YWx1ZXMgbm90IGFsbG93ZWQgZm9yIHN1Ym1vZHVsZS5mZXRjaEpvYnMiCiBtc2dzdHIgInN1Ym1vZHVsZS5mZXRjaEpvYnMg5LiN5YWB6K645Li66LSf5YC8IgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6MzU1CisjOiBzdWJtb2R1bGUtY29uZmlnLmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzIgogbXNnc3RyICIlcyDnmoTlgLzml6DmlYgiCiAKLSM6IHRyYWlsZXIuYzoyMzcKKyM6IHRyYWlsZXIuYzoyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVubmluZyB0cmFpbGVyIGNvbW1hbmQgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIuaJp+ihjCB0cmFpbGVyIOWRveS7pCAnJXMnIOWksei0pSIKIAotIzogdHJhaWxlci5jOjQ5MiB0cmFpbGVyLmM6NDk2IHRyYWlsZXIuYzo1MDAgdHJhaWxlci5jOjU1NCB0cmFpbGVyLmM6NTU4Ci0jOiB0cmFpbGVyLmM6NTYyCisjOiB0cmFpbGVyLmM6NDcxIHRyYWlsZXIuYzo0NzUgdHJhaWxlci5jOjQ3OSB0cmFpbGVyLmM6NTMzIHRyYWlsZXIuYzo1MzcKKyM6IHRyYWlsZXIuYzo1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biB2YWx1ZSAnJXMnIGZvciBrZXkgJyVzJyIKIG1zZ3N0ciAi6ZSuICclMiRzJyDnmoTmnKrnn6Xlj5blgLwgJyUxJHMnIgogCi0jOiB0cmFpbGVyLmM6NTQ0IHRyYWlsZXIuYzo1NDkgYnVpbHRpbi9yZW1vdGUuYzoyODkKKyM6IHRyYWlsZXIuYzo1MjMgdHJhaWxlci5jOjUyOCBidWlsdGluL3JlbW90ZS5jOjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gb25lICVzIgogbXNnc3RyICLlpJrkuo7kuIDkuKogJXMiCiAKLSM6IHRyYWlsZXIuYzo1ODIKKyM6IHRyYWlsZXIuYzo2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1wdHkgdHJhaWxlciB0b2tlbiBpbiB0cmFpbGVyICclLipzJyIKIG1zZ3N0ciAi562+5ZCNICclLipzJyDnmoTplK7kuLrnqboiCiAKLSM6IHRyYWlsZXIuYzo3MDIKKyM6IHRyYWlsZXIuYzo2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgaW5wdXQgZmlsZSAnJXMnIgogbXNnc3RyICLkuI3og73or7vlj5bovpPlhaXmlofku7YgJyVzJyIKIAotIzogdHJhaWxlci5jOjcwNQorIzogdHJhaWxlci5jOjY5OAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgIuS4jeiDveiHquagh+WHhui+k+WFpeivu+WPliIKIAotIzogdHJhaWxlci5jOjg1NyBidWlsdGluL2FtLmM6NDIKKyM6IHRyYWlsZXIuYzo5MjkgYnVpbHRpbi9hbS5jOjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0ICVzIgogbXNnc3RyICLkuI3og73ojrflj5YgJXMg55qE5paH5Lu254q25oCBIgogCi0jOiB0cmFpbGVyLmM6ODU5CisjOiB0cmFpbGVyLmM6OTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICLmlofku7YgJXMg5LiN5piv5LiA5Liq5q2j6KeE5paH5Lu2IgogCi0jOiB0cmFpbGVyLmM6ODYxCisjOiB0cmFpbGVyLmM6OTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IHdyaXRhYmxlIGJ5IHVzZXIiCiBtc2dzdHIgIuaWh+S7tiAlcyDnlKjmiLfkuI3lj6/lhpkiCiAKLSM6IHRyYWlsZXIuYzo4NzMKKyM6IHRyYWlsZXIuYzo5NDUKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKIG1zZ3N0ciAi5LiN6IO95omT5byA5Li05pe25paH5Lu2IgogCi0jOiB0cmFpbGVyLmM6OTEyCisjOiB0cmFpbGVyLmM6OTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgdGVtcG9yYXJ5IGZpbGUgdG8gJXMiCiBtc2dzdHIgIuS4jeiDvemHjeWRveWQjeS4tOaXtuaWh+S7tuS4uiAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNDEKKyM6IHRyYW5zcG9ydC5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHNldCB1cHN0cmVhbSBvZiAnJXMnIHRvICclcycgb2YgJyVzJ1xuIgorbXNnc3RyICLlsIbopoHorr7nva4gJyUxJHMnIOeahOS4iua4uOS4uiAnJTMkcycg55qEICclMiRzJ1xuIgorCisjOiB0cmFuc3BvcnQuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgorbXNnc3RyICLkvKDovpPvvJrml6DmlYjnmoTmt7HluqbpgInpobkgJyVzJyIKKworIzogdHJhbnNwb3J0LmM6ODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKKyJub3QgYmUgZm91bmQgb24gYW55IHJlbW90ZTpcbiIKK21zZ3N0ciAi5LiL5YiX5a2Q5qih57uE6Lev5b6E5omA5YyF5ZCr55qE5L+u5pS55Zyo5Lu75L2V6L+c56iL5rqQ5Lit6YO95om+5LiN5Yiw77yaXG4iCisKKyM6IHRyYW5zcG9ydC5jOjgyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiUGxlYXNlIHRyeVxuIgorIlxuIgorIlx0Z2l0IHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kXG4iCisiXG4iCisib3IgY2QgdG8gdGhlIHBhdGggYW5kIHVzZVxuIgorIlxuIgorIlx0Z2l0IHB1c2hcbiIKKyJcbiIKKyJ0byBwdXNoIHRoZW0gdG8gYSByZW1vdGUuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyLor7flsJ3or5VcbiIKKyJcbiIKKyJcdGdpdCBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzPW9uLWRlbWFuZFxuIgorIlxuIgorIuaIluiAhei/m+WFpeWIsOWtkOebruW9leaJp+ihjFxuIgorIlxuIgorIlx0Z2l0IHB1c2hcbiIKKyJcbiIKKyLku6XmjqjpgIHoh7Pov5znqIvjgIJcbiIKKyJcbiIKKworIzogdHJhbnNwb3J0LmM6ODI5Cittc2dpZCAiQWJvcnRpbmcuIgorbXNnc3RyICLmraPlnKjnu4jmraLjgIIiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHJlZiAlcyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W5byV55SoICVzIgogCisjOiB0cmVlLXdhbGsuYzozMQorbXNnaWQgInRvby1zaG9ydCB0cmVlIG9iamVjdCIKK21zZ3N0ciAi5aSq55+t55qE5qCR5a+56LGhIgorCisjOiB0cmVlLXdhbGsuYzozNworbXNnaWQgIm1hbGZvcm1lZCBtb2RlIGluIHRyZWUgZW50cnkiCittc2dzdHIgIuagkeWvueixoeS4reeahOadoeebruWxnuaAp+mUmeivryIKKworIzogdHJlZS13YWxrLmM6NDEKK21zZ2lkICJlbXB0eSBmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IgorbXNnc3RyICLmoJHlr7nosaHmnaHnm67kuK3nqbrnmoTmlofku7blkI0iCisKKyM6IHRyZWUtd2Fsay5jOjExMworbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCittc2dzdHIgIuWkquefreeahOagkeaWh+S7tiIKKwogIzogdW5wYWNrLXRyZWVzLmM6NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgotIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBjYW4gc3dpdGNoIGJyYW5jaGVzLiIKKyIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKIG1zZ3N0ciAiIgogIuaCqOWvueS4i+WIl+aWh+S7tueahOacrOWcsOS/ruaUueWwhuiiq+ajgOWHuuaTjeS9nOimhueblu+8mlxuIgogIiUlc+ivt+WcqOWIh+aNouWIhuaUr+WJjeaPkOS6pOaCqOeahOS/ruaUueaIluiAheS/neWtmOi/m+W6puOAgiIKQEAgLTE5NTYsNyArMzI5Miw3IEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKLSIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIKKyIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCiAi5oKo5a+55LiL5YiX5paH5Lu255qE5pys5Zyw5L+u5pS55bCG6KKr5ZCI5bm25pON5L2c6KaG55uW77yaXG4iCiAiJSVz6K+35Zyo5ZCI5bm25YmN5o+Q5Lqk5oKo55qE5L+u5pS55oiW6ICF5L+d5a2Y6L+b5bqm44CCIgpAQCAtMTk3NCw3ICszMzEwLDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgotIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBjYW4gJXMuIgorIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSAlcy4iCiBtc2dzdHIgIiIKICLmgqjlr7nkuIvliJfmlofku7bnmoTmnKzlnLDkv67mlLnlsIbooqsgJXMg6KaG55uW77yaXG4iCiAiJSVz6K+35ZyoICVzIOS5i+WJjeaPkOS6pOaCqOeahOS/ruaUueaIluiAheS/neWtmOi/m+W6puOAgiIKQEAgLTIwMDEsNyArMzMzNyw3IEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBzd2l0Y2ggYnJhbmNoZXMuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKIG1zZ3N0ciAiIgogIuW3peS9nOWMuuS4reS4i+WIl+acqui3n+i4queahOaWh+S7tuWwhuS8muWboOS4uuajgOWHuuaTjeS9nOiAjOiiq+WIoOmZpO+8mlxuIgogIiUlc+ivt+WcqOWIh+aNouWIhuaUr+S5i+WJjeenu+WKqOaIluWIoOmZpOOAgiIKQEAgLTIwMTksNyArMzM1NSw3IEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgIiIKICLlt6XkvZzljLrkuK3kuIvliJfmnKrot5/ouKrnmoTmlofku7blsIbkvJrlm6DkuLrlkIjlubbmk43kvZzogIzooqvliKDpmaTvvJpcbiIKICIlJXPor7flnKjlkIjlubbliY3np7vliqjmiJbliKDpmaTjgIIiCkBAIC0yMDM3LDcgKzMzNzMsNyBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gJXMuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgJXMuIgogbXNnc3RyICIiCiAi5bel5L2c5Yy65Lit5LiL5YiX5pyq6Lef6Liq55qE5paH5Lu25bCG5Lya5Zug5Li6ICVzIOaTjeS9nOiAjOiiq+WIoOmZpO+8mlxuIgogIiUlc+ivt+WcqCAlcyDliY3np7vliqjmiJbliKDpmaTjgIIiCkBAIC0yMDU2LDcgKzMzOTIsNyBAQAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgogImNoZWNrb3V0OlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIHN3aXRjaCBicmFuY2hlcy4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgogbXNnc3RyICIiCiAi5bel5L2c5Yy65Lit5LiL5YiX5pyq6Lef6Liq55qE5paH5Lu25bCG5Lya5Zug5Li65qOA5Ye65pON5L2c6ICM6KKr6KaG55uW77yaXG4iCiAiJSVz6K+35Zyo5YiH5o2i5YiG5pSv5YmN56e75Yqo5oiW5Yig6Zmk44CCIgpAQCAtMjA3NSw3ICszNDExLDcgQEAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgIiIKICLlt6XkvZzljLrkuK3kuIvliJfmnKrot5/ouKrnmoTmlofku7blsIbkvJrlm6DkuLrlkIjlubbmk43kvZzogIzooqvopobnm5bvvJpcbiIKICIlJXPor7flnKjlkIjlubbliY3np7vliqjmiJbliKDpmaTjgIIiCkBAIC0yMDkzLDcgKzM0MjksNyBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgotIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuICVzLiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIKIG1zZ3N0ciAiIgogIuW3peS9nOWMuuS4reS4i+WIl+acqui3n+i4queahOaWh+S7tuWwhuS8muWboOS4uiAlcyDmk43kvZzogIzooqvopobnm5bvvJpcbiIKICIlJXPor7flnKggJXMg5YmN56e75Yqo5oiW5Yig6Zmk44CCIgpAQCAtMjEyNCwyMSArMzQ2MCwyMSBAQAogIzogdW5wYWNrLXRyZWVzLmM6MTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIFdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgorIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHNwYXJzZSBjaGVja291dCAiCiAidXBkYXRlOlxuIgogIiVzIgogbXNnc3RyICIiCi0i5bel5L2c5Yy65Lit5LiL5YiX5paH5Lu25bCG5Lya5Zug5Li656iA55aP5qOA5Ye66ICM6KKr6KaG55uW77yaXG4iCisi5bel5L2c5Yy65Lit5LiL5YiX5paH5Lu25bCG6KKr56iA55aP5qOA5Ye65pu05paw5omA6KaG55uW77yaXG4iCiAiJXMiCiAKICM6IHVucGFjay10cmVlcy5jOjEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iVGhlIGZvbGxvd2luZyBXb3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBzcGFyc2UgY2hlY2tvdXQgIgorIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgc3BhcnNlIGNoZWNrb3V0ICIKICJ1cGRhdGU6XG4iCiAiJXMiCiBtc2dzdHIgIiIKLSLlt6XkvZzljLrkuK3kuIvliJfmlofku7blsIbkvJrlm6DkuLrnqIDnlo/mo4Dlh7rogIzooqvliKDpmaTvvJpcbiIKKyLlt6XkvZzljLrkuK3kuIvliJfmlofku7blsIbooqvnqIDnlo/mo4Dlh7rmm7TmlrDmiYDliKDpmaTvvJpcbiIKICIlcyIKIAogIzogdW5wYWNrLXRyZWVzLmM6MjA1CkBAIC0yMTc5LDIwNiArMzUxNSwxOTYgQEAKIG1zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgogbXNnc3RyICLml6DmlYjnmoQgJy4uJyDot6/lvoTniYfmrrUiCiAKLSM6IHdyYXBwZXIuYzoyMjIgd3JhcHBlci5jOjM4MQorIzogd29ya3RyZWUuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKK21zZ3N0ciAi5peg5rOV6K+75Y+WICclcyciCisKKyM6IHdyYXBwZXIuYzoyMjIgd3JhcHBlci5jOjM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIGFuZCB3cml0aW5nIgogbXNnc3RyICLml6Dms5XmiZPlvIAgJyVzJyDov5vooYzor7vlhpkiCiAKLSM6IHdyYXBwZXIuYzoyMjQgd3JhcHBlci5jOjM4MyBidWlsdGluL2FtLmM6Nzc5CisjOiB3cmFwcGVyLmM6MjI0IHdyYXBwZXIuYzozOTQgYnVpbHRpbi9hbS5jOjc2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICLml6Dms5XmiZPlvIAgJyVzJyDov5vooYzlhpnlhaUiCiAKLSM6IHdyYXBwZXIuYzoyMjYgd3JhcHBlci5jOjM4NSBidWlsdGluL2FtLmM6MzIzIGJ1aWx0aW4vYW0uYzo3NzIKLSM6IGJ1aWx0aW4vYW0uYzo4NjAgYnVpbHRpbi9jb21taXQuYzoxNzExIGJ1aWx0aW4vbWVyZ2UuYzoxMDg2Ci0jOiBidWlsdGluL3B1bGwuYzo0MDcKKyM6IHdyYXBwZXIuYzoyMjYgd3JhcHBlci5jOjM5NiBidWlsdGluL2FtLmM6MzIwIGJ1aWx0aW4vYW0uYzo3NTkKKyM6IGJ1aWx0aW4vYW0uYzo4NDcgYnVpbHRpbi9jb21taXQuYzoxNzA1IGJ1aWx0aW4vbWVyZ2UuYzoxMDI5CisjOiBidWlsdGluL3B1bGwuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAi5peg5rOV5omT5byAICclcycg6L+b6KGM6K+75Y+WIgogCi0jOiB3cmFwcGVyLmM6NTk0IHdyYXBwZXIuYzo2MTUKKyM6IHdyYXBwZXIuYzo2MDUgd3JhcHBlci5jOjYyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyciCiBtc2dzdHIgIuS4jeiDveiuv+mXriAnJXMnIgogCi0jOiB3cmFwcGVyLmM6NjIzCisjOiB3cmFwcGVyLmM6NjM0CiBtc2dpZCAidW5hYmxlIHRvIGdldCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICLkuI3og73ojrflj5blvZPliY3lt6XkvZznm67lvZUiCiAKLSM6IHdyYXBwZXIuYzo2NTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IG9wZW4gJXMgZm9yIHdyaXRpbmciCi1tc2dzdHIgIuS4jeiDveWGmeWFpSAlcyIKLQotIzogd3JhcHBlci5jOjY2MSBidWlsdGluL2FtLmM6NDEwCisjOiB3cmFwcGVyLmM6NjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAlcyIKIG1zZ3N0ciAi5LiN6IO95YaZ5YWlICVzIgogCi0jOiB3cmFwcGVyLmM6NjY3CisjOiB3cmFwcGVyLmM6NjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAlcyIKIG1zZ3N0ciAi5LiN6IO95YWz6ZetICVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNTAKKyM6IHd0LXN0YXR1cy5jOjE1MQogbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKIG1zZ3N0ciAi5pyq5ZCI5bm255qE6Lev5b6E77yaIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE3NyB3dC1zdGF0dXMuYzoyMDQKKyM6IHd0LXN0YXR1cy5jOjE3OCB3dC1zdGF0dXMuYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCByZXNldCAlcyA85paH5Lu2Pi4uLlwiIOS7peWPlua2iOaaguWtmO+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNzkgd3Qtc3RhdHVzLmM6MjA2CisjOiB3dC1zdGF0dXMuYzoxODAgd3Qtc3RhdHVzLmM6MjA3CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBybSAtLWNhY2hlZCA85paH5Lu2Pi4uLlwiIOS7peWPlua2iOaaguWtmO+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxODMKKyM6IHd0LXN0YXR1cy5jOjE4NAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgYWRkIDzmlofku7Y+Li4uXCIg5qCH6K6w6Kej5Yaz5pa55qGI77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE4NSB3dC1zdGF0dXMuYzoxODkKKyM6IHd0LXN0YXR1cy5jOjE4NiB3dC1zdGF0dXMuYzoxOTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAg77yI6YWM5oOF5L2/55SoIFwiZ2l0IGFkZC9ybSA85paH5Lu2Pi4uLlwiIOagh+iusOino+WGs+aWueahiO+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxODcKKyM6IHd0LXN0YXR1cy5jOjE4OAogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBybSA85paH5Lu2Pi4uLlwiIOagh+iusOino+WGs+aWueahiO+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTk4IHd0LXN0YXR1cy5jOjg4MQorIzogd3Qtc3RhdHVzLmM6MTk5IHd0LXN0YXR1cy5jOjk0NQogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAi6KaB5o+Q5Lqk55qE5Y+Y5pu077yaIgogCi0jOiB3dC1zdGF0dXMuYzoyMTYgd3Qtc3RhdHVzLmM6ODkwCisjOiB3dC1zdGF0dXMuYzoyMTcgd3Qtc3RhdHVzLmM6OTU0CiBtc2dpZCAiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6IgogbXNnc3RyICLlsJrmnKrmmoLlrZjku6XlpIfmj5DkuqTnmoTlj5jmm7TvvJoiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MjIwCisjOiB3dC1zdGF0dXMuYzoyMjEKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgYWRkIDzmlofku7Y+Li4uXCIg5pu05paw6KaB5o+Q5Lqk55qE5YaF5a6577yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjIyMgorIzogd3Qtc3RhdHVzLmM6MjIzCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGFkZC9ybSA85paH5Lu2Pi4uLlwiIOabtOaWsOimgeaPkOS6pOeahOWGheWuue+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoyMjMKKyM6IHd0LXN0YXR1cy5jOjIyNAogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgY2hlY2tvdXQgLS0gPOaWh+S7tj4uLi5cIiDkuKLlvIPlt6XkvZzljLrnmoTmlLnliqjvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MjI1CisjOiB3dC1zdGF0dXMuYzoyMjYKIG1zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCiBtc2dzdHIgIiAg77yI5o+Q5Lqk5oiW5Lii5byD5a2Q5qih57uE5Lit5pyq6Lef6Liq5oiW5L+u5pS555qE5YaF5a6577yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjIzNworIzogd3Qtc3RhdHVzLmM6MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCAlcyA85paH5Lu2Pi4uLlwiIOS7peWMheWQq+imgeaPkOS6pOeahOWGheWuue+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MjUyCisjOiB3dC1zdGF0dXMuYzoyNTMKIG1zZ2lkICJib3RoIGRlbGV0ZWQ6IgogbXNnc3RyICLlj4zmlrnliKDpmaTvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NAorIzogd3Qtc3RhdHVzLmM6MjU1CiBtc2dpZCAiYWRkZWQgYnkgdXM6IgogbXNnc3RyICLnlLHmiJHku6zmt7vliqDvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NgorIzogd3Qtc3RhdHVzLmM6MjU3CiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAi55Sx5LuW5Lus5Yig6Zmk77yaIgogCi0jOiB3dC1zdGF0dXMuYzoyNTgKKyM6IHd0LXN0YXR1cy5jOjI1OQogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICLnlLHku5bku6zmt7vliqDvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MAorIzogd3Qtc3RhdHVzLmM6MjYxCiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgIueUseaIkeS7rOWIoOmZpO+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjYyCisjOiB3dC1zdGF0dXMuYzoyNjMKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAi5Y+M5pa55re75Yqg77yaIgogCi0jOiB3dC1zdGF0dXMuYzoyNjQKKyM6IHd0LXN0YXR1cy5jOjI2NQogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICLlj4zmlrnkv67mlLnvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NgotIywgYy1mb3JtYXQKLW1zZ2lkICJidWc6IHVuaGFuZGxlZCB1bm1lcmdlZCBzdGF0dXMgJXgiCi1tc2dzdHIgImJ1Z++8muaXoOazleWkhOeQhueahOacquWQiOW5tueKtuaAgSAleCIKLQotIzogd3Qtc3RhdHVzLmM6Mjc0CisjOiB3dC1zdGF0dXMuYzoyNzUKIG1zZ2lkICJuZXcgZmlsZToiCiBtc2dzdHIgIuaWsOaWh+S7tu+8miIKIAotIzogd3Qtc3RhdHVzLmM6Mjc2CisjOiB3dC1zdGF0dXMuYzoyNzcKIG1zZ2lkICJjb3BpZWQ6IgogbXNnc3RyICLmi7fotJ3vvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI3OAorIzogd3Qtc3RhdHVzLmM6Mjc5CiBtc2dpZCAiZGVsZXRlZDoiCiBtc2dzdHIgIuWIoOmZpO+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjgwCisjOiB3dC1zdGF0dXMuYzoyODEKIG1zZ2lkICJtb2RpZmllZDoiCiBtc2dzdHIgIuS/ruaUue+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjgyCisjOiB3dC1zdGF0dXMuYzoyODMKIG1zZ2lkICJyZW5hbWVkOiIKIG1zZ3N0ciAi6YeN5ZG95ZCN77yaIgogCi0jOiB3dC1zdGF0dXMuYzoyODQKKyM6IHd0LXN0YXR1cy5jOjI4NQogbXNnaWQgInR5cGVjaGFuZ2U6IgogbXNnc3RyICLnsbvlnovlj5jmm7TvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NgorIzogd3Qtc3RhdHVzLmM6Mjg3CiBtc2dpZCAidW5rbm93bjoiCiBtc2dzdHIgIuacquefpe+8miIKIAotIzogd3Qtc3RhdHVzLmM6Mjg4CisjOiB3dC1zdGF0dXMuYzoyODkKIG1zZ2lkICJ1bm1lcmdlZDoiCiBtc2dzdHIgIuacquWQiOW5tu+8miIKIAogIyAg6K+R6ICF77ya5pyr5bC+5Lik5Liq5a2X6IqC5Y+v6IO96KKr5Yig5YeP77yM5aaC5p6c57+76K+R5Li65Lit5paH5qCH54K55Lya5Ye6546w5Y2K5Liq5rGJ5a2XCi0jOiB3dC1zdGF0dXMuYzozNzAKKyM6IHd0LXN0YXR1cy5jOjM3MQogbXNnaWQgIm5ldyBjb21taXRzLCAiCiBtc2dzdHIgIuaWsOaPkOS6pCwgIgogCiAjICDor5HogIXvvJrmnKvlsL7kuKTkuKrlrZfoioLlj6/og73ooqvliKDlh4/vvIzlpoLmnpznv7vor5HkuLrkuK3mlofmoIfngrnkvJrlh7rnjrDljYrkuKrmsYnlrZcKLSM6IHd0LXN0YXR1cy5jOjM3MgorIzogd3Qtc3RhdHVzLmM6MzczCiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICLkv67mlLnnmoTlhoXlrrksICIKIAogIyAg6K+R6ICF77ya5pyr5bC+5Lik5Liq5a2X6IqC5Y+v6IO96KKr5Yig5YeP77yM5aaC5p6c57+76K+R5Li65Lit5paH5qCH54K55Lya5Ye6546w5Y2K5Liq5rGJ5a2XCi0jOiB3dC1zdGF0dXMuYzozNzQKKyM6IHd0LXN0YXR1cy5jOjM3NQogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgIuacqui3n+i4queahOWGheWuuSwgIgogCi0jOiB3dC1zdGF0dXMuYzozOTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYnVnOiB1bmhhbmRsZWQgZGlmZiBzdGF0dXMgJWMiCi1tc2dzdHIgImJ1Z++8muaXoOazleWkhOeQhueahOW3ruW8gueKtuaAgSAlYyIKLQotIzogd3Qtc3RhdHVzLmM6NzU1CisjOiB3dC1zdGF0dXMuYzo4MTgKIG1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKIG1zZ3N0ciAi5a2Q5qih57uE5bey5L+u5pS55L2G5bCa5pyq5pu05paw77yaIgogCi0jOiB3dC1zdGF0dXMuYzo3NTcKKyM6IHd0LXN0YXR1cy5jOjgyMAogbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIuimgeaPkOS6pOeahOWtkOaooee7hOWPmOabtO+8miIKIAotIzogd3Qtc3RhdHVzLmM6ODM4CisjOiB3dC1zdGF0dXMuYzo5MDEKIG1zZ2lkICIiCiAiRG8gbm90IHRvdWNoIHRoZSBsaW5lIGFib3ZlLlxuIgogIkV2ZXJ5dGhpbmcgYmVsb3cgd2lsbCBiZSByZW1vdmVkLiIKQEAgLTIzODYsNjggKzM3MTIsNzMgQEAKICLkuI3opoHmlLnliqjkuIrpnaLnmoTkuIDooYzjgIJcbiIKICLkuIvpnaLnmoTmiYDmnInlhoXlrrnlnYflsIbooqvliKDpmaTjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjk0OQorIzogd3Qtc3RhdHVzLmM6MTAxMwogbXNnaWQgIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIKIG1zZ3N0ciAi5oKo5pyJ5bCa5pyq5ZCI5bm255qE6Lev5b6E44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjk1MgorIzogd3Qtc3RhdHVzLmM6MTAxNgogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjb21taXRcIikiCiBtc2dzdHIgIiAg77yI6Kej5Yaz5Yay56qB5bm26L+Q6KGMIFwiZ2l0IGNvbW1pdFwi77yJIgogCi0jOiB3dC1zdGF0dXMuYzo5NTYKKyMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAorIzogd3Qtc3RhdHVzLmM6MTAxOAorbXNnaWQgIiAgKHVzZSBcImdpdCBtZXJnZSAtLWFib3J0XCIgdG8gYWJvcnQgdGhlIG1lcmdlKSIKK21zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgbWVyZ2UgLS1hYm9ydFwiIOe7iOatouWQiOW5tu+8iSIKKworIzogd3Qtc3RhdHVzLmM6MTAyMwogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIuaJgOacieWGsueqgeW3suino+WGs+S9huaCqOS7jeWkhOS6juWQiOW5tuS4reOAgiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzo5NTkKKyM6IHd0LXN0YXR1cy5jOjEwMjYKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0XCIgdG8gY29uY2x1ZGUgbWVyZ2UpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBjb21taXRcIiDnu5PmnZ/lkIjlubbvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjk2OQorIzogd3Qtc3RhdHVzLmM6MTAzNgogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLiIKIG1zZ3N0ciAi5oKo5q2j5aSE5LqOIGFtIOaTjeS9nOi/h+eoi+S4reOAgiIKIAotIzogd3Qtc3RhdHVzLmM6OTcyCisjOiB3dC1zdGF0dXMuYzoxMDM5CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICLlvZPliY3nmoTooaXkuIHkuLrnqbrjgIIiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6OTc2CisjOiB3dC1zdGF0dXMuYzoxMDQzCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjop6PlhrPlhrLnqoHvvIznhLblkI7ov5DooYwgXCJnaXQgYW0gLS1jb250aW51ZVwi77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjk3OAorIzogd3Qtc3RhdHVzLmM6MTA0NQogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBhbSAtLXNraXBcIiDot7Pov4fmraTooaXkuIHvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6OTgwCisjOiB3dC1zdGF0dXMuYzoxMDQ3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBhbSAtLWFib3J0XCIg5oGi5aSN5Y6f5pyJ5YiG5pSv77yJIgogCi0jOiB3dC1zdGF0dXMuYzoxMTA1CisjOiB3dC1zdGF0dXMuYzoxMTcyCiBtc2dpZCAiTm8gY29tbWFuZHMgZG9uZS4iCiBtc2dzdHIgIuayoeacieWRveS7pOiiq+aJp+ihjOOAgiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwOAorIzogd3Qtc3RhdHVzLmM6MTE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCiBtc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgogbXNnc3RyWzBdICLmnIDlkI7kuIDmnaHlkb3ku6Tlt7LlrozmiJDvvIglZCDmnaHlkb3ku6TooqvmiafooYzvvInvvJoiCiBtc2dzdHJbMV0gIuacgOWQjueahOWRveS7pOW3suWujOaIkO+8iCVkIOadoeWRveS7pOiiq+aJp+ihjO+8ie+8miIKIAotIzogd3Qtc3RhdHVzLmM6MTExOQorIzogd3Qtc3RhdHVzLmM6MTE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIChzZWUgbW9yZSBpbiBmaWxlICVzKSIKIG1zZ3N0ciAiICDvvIjmm7TlpJrlj4Lop4Hmlofku7YgJXPvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjExMjQKKyM6IHd0LXN0YXR1cy5jOjExOTEKIG1zZ2lkICJObyBjb21tYW5kcyByZW1haW5pbmcuIgogbXNnc3RyICLmnKrliankuIvku7vkvZXlkb3ku6TjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjExMjcKKyM6IHd0LXN0YXR1cy5jOjExOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTmV4dCBjb21tYW5kIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZCk6IgogbXNnaWRfcGx1cmFsICJOZXh0IGNvbW1hbmRzIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZHMpOiIKQEAgLTI0NTUsMTY1ICszNzg2LDE2NSBAQAogbXNnc3RyWzFdICLmjqXkuIvmnaXopoHmiafooYznmoTlkb3ku6TvvIjliankvZkgJWQg5p2h5ZG95Luk77yJ77yaIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjExMzUKKyM6IHd0LXN0YXR1cy5jOjEyMDIKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgdG8gdmlldyBhbmQgZWRpdCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIOadpeafpeeci+WSjOe8lui+ke+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTE0OAorIzogd3Qtc3RhdHVzLmM6MTIxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAi5oKo5Zyo5omn6KGM5bCG5YiG5pSvICclcycg5Y+Y5Z+65YiwICclcycg55qE5pON5L2c44CCIgogCi0jOiB3dC1zdGF0dXMuYzoxMTUzCisjOiB3dC1zdGF0dXMuYzoxMjIwCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICLmgqjlnKjmiafooYzlj5jln7rmk43kvZzjgIIiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTE2NworIzogd3Qtc3RhdHVzLmM6MTIzNAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIO+8iOino+WGs+WGsueqge+8jOeEtuWQjui/kOihjCBcImdpdCByZWJhc2UgLS1jb250aW51ZVwi77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjExNjkKKyM6IHd0LXN0YXR1cy5jOjEyMzYKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiDot7Pov4fmraTooaXkuIHvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTE3MQorIzogd3Qtc3RhdHVzLmM6MTIzOAogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcmViYXNlIC0tYWJvcnRcIiDku6Xmo4Dlh7rljp/mnInliIbmlK/vvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTE3NworIzogd3Qtc3RhdHVzLmM6MTI0NAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjmiYDmnInlhrLnqoHlt7Lop6PlhrPvvJrov5DooYwgXCJnaXQgcmViYXNlIC0tY29udGludWVcIu+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTE4MQorIzogd3Qtc3RhdHVzLmM6MTI0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICLmgqjlnKjmiafooYzlsIbliIbmlK8gJyVzJyDlj5jln7rliLAgJyVzJyDnmoTmk43kvZzml7bmi4bliIbmj5DkuqTjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjExODYKKyM6IHd0LXN0YXR1cy5jOjEyNTMKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAi5oKo5Zyo5omn6KGM5Y+Y5Z+65pON5L2c5pe25ouG5YiG5o+Q5Lqk44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjExODkKKyM6IHd0LXN0YXR1cy5jOjEyNTYKIG1zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjkuIDml6bmgqjlt6XkvZznm67lvZXmj5DkuqTlubLlh4DlkI7vvIzov5DooYwgXCJnaXQgcmViYXNlIC0tY29udGludWVcIu+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTE5MworIzogd3Qtc3RhdHVzLmM6MTI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICLmgqjlnKjmiafooYzlsIbliIbmlK8gJyVzJyDlj5jln7rliLAgJyVzJyDnmoTmk43kvZzml7bnvJbovpHmj5DkuqTjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjExOTgKKyM6IHd0LXN0YXR1cy5jOjEyNjUKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIuaCqOWcqOaJp+ihjOWPmOWfuuaTjeS9nOaXtue8lui+keaPkOS6pOOAgiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMjAxCisjOiB3dC1zdGF0dXMuYzoxMjY4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgY29tbWl0IC0tYW1lbmRcIiDkv67ooaXlvZPliY3mj5DkuqTvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTIwMworIzogd3Qtc3RhdHVzLmM6MTI3MAogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIKIG1zZ3N0ciAiICDvvIjlvZPmgqjlr7nmgqjnmoTkv67mlLnmu6HmhI/lkI7miafooYwgXCJnaXQgcmViYXNlIC0tY29udGludWVcIu+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTIxMworIzogd3Qtc3RhdHVzLmM6MTI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICLmgqjlnKjmiafooYzmi6PpgInmj5DkuqQgJXMg55qE5pON5L2c44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEyMTgKKyM6IHd0LXN0YXR1cy5jOjEyODUKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjop6PlhrPlhrLnqoHlubbov5DooYwgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwi77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEyMjEKKyM6IHd0LXN0YXR1cy5jOjEyODgKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjmiYDmnInlhrLnqoHlt7Lop6PlhrPvvJrov5DooYwgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwi77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEyMjMKKyM6IHd0LXN0YXR1cy5jOjEyOTAKIG1zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIOS7peWPlua2iOaLo+mAieaTjeS9nO+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTIzMgorIzogd3Qtc3RhdHVzLmM6MTI5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAi5oKo5Zyo5omn6KGM5Y+N6L2s5o+Q5LqkICVzIOeahOaTjeS9nOOAgiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMjM3CisjOiB3dC1zdGF0dXMuYzoxMzA0CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIO+8iOino+WGs+WGsueqgeW5tui/kOihjCBcImdpdCByZXZlcnQgLS1jb250aW51ZVwi77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEyNDAKKyM6IHd0LXN0YXR1cy5jOjEzMDcKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAg77yI5omA5pyJ5Yay56qB5bey6Kej5Yaz77ya6L+Q6KGMIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCLvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTI0MgorIzogd3Qtc3RhdHVzLmM6MTMwOQogbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJldmVydCAtLWFib3J0XCIg5Lul5Y+W5raI5Y+N6L2s5o+Q5Lqk5pON5L2c77yJIgogCi0jOiB3dC1zdGF0dXMuYzoxMjUzCisjOiB3dC1zdGF0dXMuYzoxMzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAi5oKo5Zyo5omn6KGM5LuO5YiG5pSvICclcycg5byA5aeL55qE5LqM5YiG5p+l5om+5pON5L2c44CCIgogCi0jOiB3dC1zdGF0dXMuYzoxMjU3CisjOiB3dC1zdGF0dXMuYzoxMzI0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKIG1zZ3N0ciAi5oKo5Zyo5omn6KGM5LqM5YiG5p+l5om+5pON5L2c44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEyNjAKKyM6IHd0LXN0YXR1cy5jOjEzMjcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdG8gZ2V0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGJpc2VjdCByZXNldFwiIOS7peWbnuWIsOWOn+acieWIhuaUr++8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTQ2MAorIzogd3Qtc3RhdHVzLmM6MTUyNAogbXNnaWQgIk9uIGJyYW5jaCAiCiBtc2dzdHIgIuS9jeS6juWIhuaUryAiCiAKLSM6IHd0LXN0YXR1cy5jOjE0NjYKKyM6IHd0LXN0YXR1cy5jOjE1MzAKIG1zZ2lkICJpbnRlcmFjdGl2ZSByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICLkuqTkupLlvI/lj5jln7rmk43kvZzmraPlnKjov5vooYzkuK3vvJvoh7MgIgogCi0jOiB3dC1zdGF0dXMuYzoxNDY4CisjOiB3dC1zdGF0dXMuYzoxNTMyCiBtc2dpZCAicmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAi5Y+Y5Z+65pON5L2c5q2j5Zyo6L+b6KGM5Lit77yb6IezICIKIAotIzogd3Qtc3RhdHVzLmM6MTQ3MworIzogd3Qtc3RhdHVzLmM6MTUzNwogbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgogbXNnc3RyICLlpLTmjIfpkojliIbnprvkuo4gIgogCi0jOiB3dC1zdGF0dXMuYzoxNDc1CisjOiB3dC1zdGF0dXMuYzoxNTM5CiBtc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKIG1zZ3N0ciAi5aS05oyH6ZKI5YiG56a76IeqICIKIAotIzogd3Qtc3RhdHVzLmM6MTQ3OAorIzogd3Qtc3RhdHVzLmM6MTU0MgogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIuW9k+WJjeS4jeWcqOS7u+S9leWIhuaUr+S4iuOAgiIKIAotIzogd3Qtc3RhdHVzLmM6MTQ5NgorIzogd3Qtc3RhdHVzLmM6MTU2MAogbXNnaWQgIkluaXRpYWwgY29tbWl0IgogbXNnc3RyICLliJ3lp4vmj5DkuqQiCiAKLSM6IHd0LXN0YXR1cy5jOjE1MTAKKyM6IHd0LXN0YXR1cy5jOjE1NzQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIuacqui3n+i4queahOaWh+S7tiIKIAotIzogd3Qtc3RhdHVzLmM6MTUxMgorIzogd3Qtc3RhdHVzLmM6MTU3NgogbXNnaWQgIklnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIuW/veeVpeeahOaWh+S7tiIKIAotIzogd3Qtc3RhdHVzLmM6MTUxNgorIzogd3Qtc3RhdHVzLmM6MTU4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgpAQCAtMjYyMyw4OCArMzk1NCwxMDMgQEAKICLogJfotLnkuoYgJS4yZiDnp5Lku6XmnprkuL7mnKrot5/ouKrnmoTmlofku7bjgIInc3RhdHVzIC11bm8nIOS5n+iuuOiDveaPkOmrmOmAn+W6pu+8jFxuIgogIuS9huaCqOmcgOimgeWwj+W/g+S4jeimgeW/mOS6hua3u+WKoOaWsOaWh+S7tu+8iOWPguingSAnZ2l0IGhlbHAgc3RhdHVzJ++8ieOAgiIKIAotIzogd3Qtc3RhdHVzLmM6MTUyMgorIzogd3Qtc3RhdHVzLmM6MTU4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgogbXNnc3RyICLmnKrot5/ouKrnmoTmlofku7bmsqHmnInliJflh7olcyIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNTI0CisjOiB3dC1zdGF0dXMuYzoxNTg4CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAi77yI5L2/55SoIC11IOWPguaVsOaYvuekuuacqui3n+i4queahOaWh+S7tu+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTUzMAorIzogd3Qtc3RhdHVzLmM6MTU5NAogbXNnaWQgIk5vIGNoYW5nZXMiCiBtc2dzdHIgIuayoeacieS/ruaUuSIKIAotIzogd3Qtc3RhdHVzLmM6MTUzNQorIzogd3Qtc3RhdHVzLmM6MTU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAi5L+u5pS55bCa5pyq5Yqg5YWl5o+Q5Lqk77yI5L2/55SoIFwiZ2l0IGFkZFwiIOWSjC/miJYgXCJnaXQgY29tbWl0IC1hXCLvvIlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTUzOAorIzogd3Qtc3RhdHVzLmM6MTYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdFxuIgogbXNnc3RyICLkv67mlLnlsJrmnKrliqDlhaXmj5DkuqRcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTU0MQorIzogd3Qtc3RhdHVzLmM6MTYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgogInRyYWNrKVxuIgogbXNnc3RyICLmj5DkuqTkuLrnqbrvvIzkvYbmmK/lrZjlnKjlsJrmnKrot5/ouKrnmoTmlofku7bvvIjkvb/nlKggXCJnaXQgYWRkXCIg5bu656uL6Lef6Liq77yJXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NDQKKyM6IHd0LXN0YXR1cy5jOjE2MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50XG4iCiBtc2dzdHIgIuaPkOS6pOS4uuepuu+8jOS9huaYr+WtmOWcqOWwmuacqui3n+i4queahOaWh+S7tlxuIgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE1NDcKKyM6IHd0LXN0YXR1cy5jOjE2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCiBtc2dzdHIgIuaXoOaWh+S7tuimgeaPkOS6pO+8iOWIm+W7ui/mi7fotJ3mlofku7blubbkvb/nlKggXCJnaXQgYWRkXCIg5bu656uL6Lef6Liq77yJXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE1NTAgd3Qtc3RhdHVzLmM6MTU1NQorIzogd3Qtc3RhdHVzLmM6MTYxNCB3dC1zdGF0dXMuYzoxNjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0XG4iCiBtc2dzdHIgIuaXoOaWh+S7tuimgeaPkOS6pFxuIgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE1NTMKKyM6IHd0LXN0YXR1cy5jOjE2MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAi5peg5paH5Lu26KaB5o+Q5Lqk77yI5L2/55SoIC11IOaYvuekuuacqui3n+i4queahOaWh+S7tu+8iVxuIgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE1NTcKKyM6IHd0LXN0YXR1cy5jOjE2MjEKICMsIGMtZm9ybWF0Ci1tc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgZGlyZWN0b3J5IGNsZWFuXG4iCittc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhblxuIgogbXNnc3RyICLml6Dmlofku7bopoHmj5DkuqTvvIzlubLlh4DnmoTlt6XkvZzljLpcbiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5Y+l5bC+56m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNjY0CisjOiB3dC1zdGF0dXMuYzoxNzI4CiBtc2dpZCAiSW5pdGlhbCBjb21taXQgb24gIgogbXNnc3RyICLliJ3lp4vmj5DkuqTkuo4gIgogCi0jOiB3dC1zdGF0dXMuYzoxNjY4CisjOiB3dC1zdGF0dXMuYzoxNzMyCiBtc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKIG1zZ3N0ciAiSEVBRO+8iOmdnuWIhuaUr++8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTY5NworIzogd3Qtc3RhdHVzLmM6MTc2MQogbXNnaWQgImdvbmUiCiBtc2dzdHIgIuS4ouWksSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5Y+l5bC+56m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNjk5IHd0LXN0YXR1cy5jOjE3MDcKKyM6IHd0LXN0YXR1cy5jOjE3NjMgd3Qtc3RhdHVzLmM6MTc3MQogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgIuiQveWQjiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDIgd3Qtc3RhdHVzLmM6MTcwNQorIzogd3Qtc3RhdHVzLmM6MTc2NiB3dC1zdGF0dXMuYzoxNzY5CiBtc2dpZCAiYWhlYWQgIgogbXNnc3RyICLpooblhYggIgogCi0jOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTcgYnVpbHRpbi9jbG9uZS5jOjQxNQorIy4gVFJBTlNMQVRPUlM6IHRoZSBhY3Rpb24gaXMgZS5nLiAicHVsbCB3aXRoIHJlYmFzZSIKKyM6IHd0LXN0YXR1cy5jOjIyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90ICVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAi5LiN6IO9JXPvvJrmgqjmnInmnKrmmoLlrZjnmoTlj5jmm7TjgIIiCisKKyM6IHd0LXN0YXR1cy5jOjIyNzYKK21zZ2lkICJhZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIuiAjOS4lOaCqOeahOe0ouW8leS4reWMheWQq+acquaPkOS6pOeahOWPmOabtOOAgiIKKworIzogd3Qtc3RhdHVzLmM6MjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgJXM6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIuS4jeiDvSVz77ya5oKo55qE57Si5byV5Lit5YyF5ZCr5pyq5o+Q5Lqk55qE5Y+Y5pu044CCIgorCisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTcgYnVpbHRpbi9jbG9uZS5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCiBtc2dzdHIgIuaXoOazleWIoOmZpCAnJXMnIgpAQCAtMjcxMywyNTYgKzQwNTksMjU1IEBACiBtc2dpZCAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBhZGQgWzzpgInpobk+XSBbLS1dIDzot6/lvoTop4TmoLw+Li4uIgogCi0jOiBidWlsdGluL2FkZC5jOjY1CisjOiBidWlsdGluL2FkZC5jOjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgIuaEj+WklueahOW3ruW8gueKtuaAgSAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzo3MCBidWlsdGluL2NvbW1pdC5jOjI4MAorIzogYnVpbHRpbi9hZGQuYzo4NSBidWlsdGluL2NvbW1pdC5jOjI5MQogbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAi5pu05paw5paH5Lu25aSx6LSlIgogCi0jOiBidWlsdGluL2FkZC5jOjgwCisjOiBidWlsdGluL2FkZC5jOjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgIuWIoOmZpCAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTM0CisjOiBidWlsdGluL2FkZC5jOjE0OQogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgogbXNnc3RyICLliLfmlrDntKLlvJXkuYvlkI7lsJrmnKrooqvmmoLlrZjnmoTlj5jmm7TvvJoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTk0IGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODExCisjOiBidWlsdGluL2FkZC5jOjIwOSBidWlsdGluL3Jldi1wYXJzZS5jOjg0MAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W57Si5byVIgogCi0jOiBidWlsdGluL2FkZC5jOjIwNQorIzogYnVpbHRpbi9hZGQuYzoyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCiBtc2dzdHIgIuaXoOazleaJk+W8gCAnJXMnIOi/m+ihjOWGmeWFpeOAgiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMDkKKyM6IGJ1aWx0aW4vYWRkLmM6MjI0CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgogbXNnc3RyICLkuI3og73nlJ/miJDooaXkuIEiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjEyCisjOiBidWlsdGluL2FkZC5jOjIyNwogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICLnvJbovpHooaXkuIHlpLHotKUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjE1CisjOiBidWlsdGluL2FkZC5jOjIzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICLkuI3og73mn6XnnIvmlofku7bnirbmgIEgJyVzJyIKIAotIzogYnVpbHRpbi9hZGQuYzoyMTcKKyM6IGJ1aWx0aW4vYWRkLmM6MjMyCiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICLnqbrooaXkuIHjgILlvILluLjnu4jmraLjgIIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjIyCisjOiBidWlsdGluL2FkZC5jOjIzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95bqU55SoICclcyciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjMyCisjOiBidWlsdGluL2FkZC5jOjI0NwogbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKIG1zZ3N0ciAi5LiL5YiX6Lev5b6E5qC55o2u5oKo55qE5LiA5LiqIC5naXRpZ25vcmUg5paH5Lu26ICM6KKr5b+955Wl77yaXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ5IGJ1aWx0aW4vY2xlYW4uYzo4NzAgYnVpbHRpbi9mZXRjaC5jOjExMiBidWlsdGluL212LmM6MTExCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU1IGJ1aWx0aW4vcHVsbC5jOjE5NyBidWlsdGluL3B1c2guYzo1MTEKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMzMiBidWlsdGluL3JtLmM6MjY4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCisjOiBidWlsdGluL2FkZC5jOjI2NiBidWlsdGluL2NsZWFuLmM6ODcwIGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9tdi5jOjExMQorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NSBidWlsdGluL3B1bGwuYzoxOTggYnVpbHRpbi9wdXNoLmM6NTIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjYgYnVpbHRpbi9ybS5jOjI2OCBidWlsdGluL3NlbmQtcGFjay5jOjE2MgogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgIua8lOS5oCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTAgYnVpbHRpbi9hcHBseS5jOjQ1NjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxOQotIzogYnVpbHRpbi9jb21taXQuYzoxMzMzIGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg1IGJ1aWx0aW4vZnNjay5jOjU1NwotIzogYnVpbHRpbi9sb2cuYzoxODI2IGJ1aWx0aW4vbXYuYzoxMTAgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMTQKLW1zZ2lkICJiZSB2ZXJib3NlIgotbXNnc3RyICLlhpfplb/ovpPlh7oiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MjUyCisjOiBidWlsdGluL2FkZC5jOjI2OQogbXNnaWQgImludGVyYWN0aXZlIHBpY2tpbmciCiBtc2dzdHIgIuS6pOS6kuW8j+aLo+mAiSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTMgYnVpbHRpbi9jaGVja291dC5jOjExNTQgYnVpbHRpbi9yZXNldC5jOjI4NgorIzogYnVpbHRpbi9hZGQuYzoyNzAgYnVpbHRpbi9jaGVja291dC5jOjExNTYgYnVpbHRpbi9yZXNldC5jOjI4NgogbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICLkuqTkupLlvI/mjJHpgInmlbDmja7lnZciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU0CisjOiBidWlsdGluL2FkZC5jOjI3MQogbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKIG1zZ3N0ciAi57yW6L6R5b2T5YmN5beu5byC5bm25bqU55SoIgogCi0jOiBidWlsdGluL2FkZC5jOjI1NQorIzogYnVpbHRpbi9hZGQuYzoyNzIKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIuWFgeiuuOa3u+WKoOW/veeVpeeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6MjczCiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIuabtOaWsOW3sui3n+i4queahOaWh+S7tiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTcKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc0CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICLlj6rorrDlvZXvvIzor6Xot6/lvoTnqI3lkI7lho3mt7vliqAiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU4CisjOiBidWlsdGluL2FkZC5jOjI3NQogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi5re75Yqg5omA5pyJ5pS55Y+Y55qE5bey6Lef6Liq5paH5Lu25ZKM5pyq6Lef6Liq5paH5Lu2IgogCi0jOiBidWlsdGluL2FkZC5jOjI2MQorIzogYnVpbHRpbi9hZGQuYzoyNzgKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKIG1zZ3N0ciAi5b+955Wl5bel5L2c5Yy65Lit56e76Zmk55qE6Lev5b6E77yI5ZKMIC0tbm8tYWxsIOebuOWQjO+8iSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjMKKyM6IGJ1aWx0aW4vYWRkLmM6MjgwCiBtc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICLkuI3mt7vliqDvvIzlj6rliLfmlrDntKLlvJUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY0CisjOiBidWlsdGluL2FkZC5jOjI4MQogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgIui3s+i/h+WboOWHuumUmeS4jeiDvea3u+WKoOeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjUKKyM6IGJ1aWx0aW4vYWRkLmM6MjgyCiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICLmo4Dmn6XlnKjmvJTkuaDmqKHlvI/kuIvmlofku7bvvIjljbPkvb/kuI3lrZjlnKjvvInmmK/lkKbooqvlv73nlaUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjg3CisjOiBidWlsdGluL2FkZC5jOjI4MyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0NworbXNnaWQgIigrLy0peCIKK21zZ3N0ciAiKCsvLSl4IgorCisjOiBidWlsdGluL2FkZC5jOjI4MyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0OAorbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgorbXNnc3RyICLopobnm5bliJfooajph4zmlofku7bnmoTlj6/miafooYzkvY0iCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uXG4iCiBtc2dzdHIgIuS9v+eUqCAtZiDlj4LmlbDlpoLmnpzmgqjnoa7lrp7opoHmt7vliqDlroPku6zjgIJcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTQKKyM6IGJ1aWx0aW4vYWRkLmM6MzEyCiBtc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAi5re75Yqg5paH5Lu25aSx6LSlIgogCi0jOiBidWlsdGluL2FkZC5jOjMzMAorIzogYnVpbHRpbi9hZGQuYzozNDgKIG1zZ2lkICItQSBhbmQgLXUgYXJlIG11dHVhbGx5IGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLUEg5ZKMIC11IOmAiemhueS6kuaWpSIKIAotIzogYnVpbHRpbi9hZGQuYzozMzcKKyM6IGJ1aWx0aW4vYWRkLmM6MzU1CiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAi6YCJ6aG5IC0taWdub3JlLW1pc3Npbmcg5Y+q6IO95ZKMIC0tZHJ5LXJ1biDlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUyCisjOiBidWlsdGluL2FkZC5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCittc2dzdHIgIuWPguaVsCAtLWNobW9kIOWPluWAvCAnJXMnIOW/hemhu+aYryAteCDmiJYgK3giCisKKyM6IGJ1aWx0aW4vYWRkLmM6Mzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgogbXNnc3RyICLmsqHmnInmjIflrprmlofku7bvvIzkuZ/msqHmnInmlofku7booqvmt7vliqDjgIJcbiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTMKKyM6IGJ1aWx0aW4vYWRkLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgogbXNnc3RyICLkuZ/orrjmgqjmg7PopoHmiafooYwgJ2dpdCBhZGQgLifvvJ9cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTggYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzIgYnVpbHRpbi9jbGVhbi5jOjkxNAotIzogYnVpbHRpbi9jb21taXQuYzozMzkgYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyOTgKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDAKKyM6IGJ1aWx0aW4vYWRkLmM6MzgwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzIgYnVpbHRpbi9jbGVhbi5jOjkxNCBidWlsdGluL2NvbW1pdC5jOjM1MAorIzogYnVpbHRpbi9tdi5jOjEzMSBidWlsdGluL3Jlc2V0LmM6MjM1IGJ1aWx0aW4vcm0uYzoyOTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyNDQKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCiBtc2dzdHIgIue0ouW8leaWh+S7tuaNn+WdjyIKIAotIzogYnVpbHRpbi9hZGQuYzo0MzkgYnVpbHRpbi9hcHBseS5jOjQ2NjEgYnVpbHRpbi9tdi5jOjI4MyBidWlsdGluL3JtLmM6NDMwCi1tc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgotbXNnc3RyICLml6Dms5XlhpnlhaXmlrDntKLlvJXmlofku7YiCi0KLSM6IGJ1aWx0aW4vYW0uYzoyNTYgYnVpbHRpbi9jb21taXQuYzo3NDkgYnVpbHRpbi9tZXJnZS5jOjEwODkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKLW1zZ3N0ciAi5LiN6IO96K+75Y+WICclcyciCi0KLSM6IGJ1aWx0aW4vYW0uYzo0MzAKKyM6IGJ1aWx0aW4vYW0uYzo0MTQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgYXV0aG9yIHNjcmlwdCIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5L2c6ICF6ISa5pysIgogCi0jOiBidWlsdGluL2FtLmM6NTA3CisjOiBidWlsdGluL2FtLmM6NDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgd2FzIGRlbGV0ZWQgYnkgdGhlIGFwcGx5cGF0Y2gtbXNnIGhvb2siCiBtc2dzdHIgIiclcycg6KKrIGFwcGx5cGF0Y2gtbXNnIOmSqeWtkOWIoOmZpCIKIAotIzogYnVpbHRpbi9hbS5jOjU0OCBidWlsdGluL25vdGVzLmM6MzAwCisjOiBidWlsdGluL2FtLmM6NTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKIG1zZ3N0ciAi6Z2e5rOV55qE6L6T5YWl6KGM77yaJyVzJ+OAgiIKIAotIzogYnVpbHRpbi9hbS5jOjU4NSBidWlsdGluL25vdGVzLmM6MzE1CisjOiBidWlsdGluL2FtLmM6NTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICLku44gJyVzJyDmi7fotJ3ms6jop6PliLAgJyVzJyDml7blpLHotKUiCiAKLSM6IGJ1aWx0aW4vYW0uYzo2MTEKKyM6IGJ1aWx0aW4vYW0uYzo1OTUKIG1zZ2lkICJmc2VlayBmYWlsZWQiCiBtc2dzdHIgImZzZWVrIOWksei0pSIKIAotIzogYnVpbHRpbi9hbS5jOjc4OAorIzogYnVpbHRpbi9hbS5jOjc3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGF0Y2ggJyVzJyIKIG1zZ3N0ciAi5peg5rOV6Kej5p6Q6KGl5LiBICclcyciCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NTMKKyM6IGJ1aWx0aW4vYW0uYzo4NDAKIG1zZ2lkICJPbmx5IG9uZSBTdEdJVCBwYXRjaCBzZXJpZXMgY2FuIGJlIGFwcGxpZWQgYXQgb25jZSIKIG1zZ3N0ciAi5LiA5qyh5Y+q6IO95pyJ5LiA5LiqIFN0R0lUIOihpeS4gemYn+WIl+iiq+W6lOeUqCIKIAotIzogYnVpbHRpbi9hbS5jOjkwMAorIzogYnVpbHRpbi9hbS5jOjg4NwogbXNnaWQgImludmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICLml6DmlYjnmoTml7bpl7TmiLMiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5MDMgYnVpbHRpbi9hbS5jOjkxMQorIzogYnVpbHRpbi9hbS5jOjg5MCBidWlsdGluL2FtLmM6ODk4CiBtc2dpZCAiaW52YWxpZCBEYXRlIGxpbmUiCiBtc2dzdHIgIuaXoOaViOeahOaXpeacn+ihjCIKIAotIzogYnVpbHRpbi9hbS5jOjkwOAorIzogYnVpbHRpbi9hbS5jOjg5NQogbXNnaWQgImludmFsaWQgdGltZXpvbmUgb2Zmc2V0IgogbXNnc3RyICLml6DmlYjnmoTml7bljLrlgY/np7vlgLwiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5OTUKKyM6IGJ1aWx0aW4vYW0uYzo5ODQKIG1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCiBtc2dzdHIgIuihpeS4geagvOW8j+ajgOa1i+Wksei0peOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjEwMDAgYnVpbHRpbi9jbG9uZS5jOjM4MAorIzogYnVpbHRpbi9hbS5jOjk4OSBidWlsdGluL2Nsb25lLmM6Mzc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIuaXoOazleWIm+W7uuebruW9lSAnJXMnIgogCi0jOiBidWlsdGluL2FtLmM6MTAwNAorIzogYnVpbHRpbi9hbS5jOjk5MwogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAi5peg5rOV5ouG5YiG6KGl5LiB44CCIgogCi0jOiBidWlsdGluL2FtLmM6MTEzNiBidWlsdGluL2NvbW1pdC5jOjM2NQorIzogYnVpbHRpbi9hbS5jOjExMjUgYnVpbHRpbi9jb21taXQuYzozNzYKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKIG1zZ3N0ciAi5peg5rOV5YaZ5YWl57Si5byV5paH5Lu2IgogCi0jOiBidWlsdGluL2FtLmM6MTE4NworIzogYnVpbHRpbi9hbS5jOjExNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcIiVzIC0tY29udGludWVcIi4iCiBtc2dzdHIgIuW9k+aCqOino+WGs+i/meS4gOmXrumimO+8jOaJp+ihjCBcIiVzIC0tY29udGludWVcIuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjExODgKKyM6IGJ1aWx0aW4vYW0uYzoxMTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCIlcyAtLXNraXBcIiBpbnN0ZWFkLiIKIG1zZ3N0ciAi5aaC5p6c5oKo5oOz6KaB6Lez6L+H6L+Z5LiA6KGl5LiB77yM5YiZ5omn6KGMIFwiJXMgLS1za2lwXCLjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTg5CisjOiBidWlsdGluL2FtLmM6MTE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUbyByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcGF0Y2hpbmcsIHJ1biBcIiVzIC0tYWJvcnRcIi4iCiBtc2dzdHIgIuiLpeimgeWkjeWOn+iHs+WOn+Wni+WIhuaUr+W5tuWBnOatouihpeS4geaTjeS9nO+8jOaJp+ihjCBcIiVzIC0tYWJvcnRcIuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjEzMjcKKyM6IGJ1aWx0aW4vYW0uYzoxMzE2CiBtc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIFdhcyBpdCBzcGxpdCB3cm9uZz8iCiBtc2dzdHIgIuihpeS4geS4uuepuuOAguaYr+S4jeaYr+WIh+WIhumUmeivr++8nyIKIAotIzogYnVpbHRpbi9hbS5jOjE0MDEgYnVpbHRpbi9sb2cuYzoxNTE2CisjOiBidWlsdGluL2FtLmM6MTM5MCBidWlsdGluL2xvZy5jOjE1NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKIG1zZ3N0ciAi5YyF5ZCr5peg5pWI55qE6Lqr5Lu95qCH6K+G77yaJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNDI4CisjOiBidWlsdGluL2FtLmM6MTQxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgogbXNnc3RyICLkuI3og73op6PmnpDmj5DkuqQgJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjMwCisjOiBidWlsdGluL2FtLmM6MTYxMAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgbmVjZXNzYXJ5IGJsb2JzIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIuS7k+W6k+e8uuS5j+W/heimgeeahOaVsOaNruWvueixoeS7pei/m+ihjOS4ieaWueWQiOW5tuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzIKKyM6IGJ1aWx0aW4vYW0uYzoxNjEyCiBtc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKIG1zZ3N0ciAi5L2/55So57Si5byV5p2l6YeN5bu65LiA5Liq77yI5LiJ5pa55ZCI5bm255qE77yJ5Z+656GA55uu5b2V5qCRLi4uIgogCi0jOiBidWlsdGluL2FtLmM6MTY1MQorIzogYnVpbHRpbi9hbS5jOjE2MzEKIG1zZ2lkICIiCiAiRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKICJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgpAQCAtMjk3MCwzNyArNDMxNSwzNyBAQAogIuaCqOaYr+WQpuabvuaJi+WKqOe8lui+kei/h+aCqOeahOihpeS4ge+8n1xuIgogIuaXoOazleW6lOeUqOihpeS4geWIsOe0ouW8leS4reeahOaVsOaNruWvueixoeS4iuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NTcKKyM6IGJ1aWx0aW4vYW0uYzoxNjM3CiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgogbXNnc3RyICLlm57okL3liLDln7rnoYDniYjmnKzkuIrmiZPooaXkuIHlj4rov5vooYzkuInmlrnlkIjlubYuLi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjcyCisjOiBidWlsdGluL2FtLmM6MTY2MgogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCiBtc2dzdHIgIuaXoOazleWQiOW5tuWPmOabtOOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjE2OTYgYnVpbHRpbi9tZXJnZS5jOjYzNgorIzogYnVpbHRpbi9hbS5jOjE2ODYgYnVpbHRpbi9tZXJnZS5jOjYyOAogbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIOaXoOazleWGmeWFpeS4gOagkeWvueixoSIKIAotIzogYnVpbHRpbi9hbS5jOjE3MDMKKyM6IGJ1aWx0aW4vYW0uYzoxNjkzCiBtc2dpZCAiYXBwbHlpbmcgdG8gYW4gZW1wdHkgaGlzdG9yeSIKIG1zZ3N0ciAi5q2j5bqU55So5Yiw5LiA5Liq56m65Y6G5Y+y5LiKIgogCi0jOiBidWlsdGluL2FtLmM6MTcxNiBidWlsdGluL2NvbW1pdC5jOjE3NzUgYnVpbHRpbi9tZXJnZS5jOjg0MQotIzogYnVpbHRpbi9tZXJnZS5jOjg2NgorIzogYnVpbHRpbi9hbS5jOjE3MDYgYnVpbHRpbi9jb21taXQuYzoxNzY5IGJ1aWx0aW4vbWVyZ2UuYzo3OTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MjMKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAi5peg5rOV5YaZ5o+Q5Lqk5a+56LGhIgogCi0jOiBidWlsdGluL2FtLmM6MTc0OCBidWlsdGluL2FtLmM6MTc1MgorIzogYnVpbHRpbi9hbS5jOjE3MzkgYnVpbHRpbi9hbS5jOjE3NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc3VtZTogJXMgZG9lcyBub3QgZXhpc3QuIgogbXNnc3RyICLml6Dms5Xnu6fnu63vvJolcyDkuI3lrZjlnKjjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzY4CisjOiBidWlsdGluL2FtLmM6MTc1OQogbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKIG1zZ3N0ciAi5qCH5YeG6L6T5YWl5rKh5pyJ5ZKM57uI56uv5YWz6IGU77yM5LiN6IO96L+b6KGM5Lqk5LqS5byP5pON5L2c44CCIgogCi0jOiBidWlsdGluL2FtLmM6MTc3MworIzogYnVpbHRpbi9hbS5jOjE3NjQKIG1zZ2lkICJDb21taXQgQm9keSBpczoiCiBtc2dzdHIgIuaPkOS6pOWGheWuueS4uu+8miIKIApAQCAtMzAwOSwzNSArNDM1NCwzNSBAQAogIy4gaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCiAjLiBpbnB1dCBhdCB0aGlzIHBvaW50LgogIy4KLSM6IGJ1aWx0aW4vYW0uYzoxNzgzCisjOiBidWlsdGluL2FtLmM6MTc3NAogbXNnaWQgIkFwcGx5PyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsOiAiCiBtc2dzdHIgIuW6lOeUqO+8n+aYr1t5XS/lkKZbbl0v57yW6L6RW2VdL+afpeeci+ihpeS4gVt2XS/lupTnlKjmiYDmnIlbYV3vvJoiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODMzCisjOiBidWlsdGluL2FtLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAlcykiCiBtc2dzdHIgIuiEj+e0ouW8le+8muS4jeiDveW6lOeUqOihpeS4ge+8iOiEj+aWh+S7tu+8miVz77yJIgogCi0jOiBidWlsdGluL2FtLmM6MTg2OCBidWlsdGluL2FtLmM6MTk0MAorIzogYnVpbHRpbi9hbS5jOjE4NjEgYnVpbHRpbi9hbS5jOjE5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmc6ICUuKnMiCiBtc2dzdHIgIuW6lOeUqO+8miUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODg0CisjOiBidWlsdGluL2FtLmM6MTg3NwogbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKIG1zZ3N0ciAi5rKh5pyJ5Y+Y5pu0IOKAlOKAlCDooaXkuIHlt7Lnu4/lupTnlKjov4fjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODkyCisjOiBidWlsdGluL2FtLmM6MTg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJXMgJS4qcyIKIG1zZ3N0ciAi5omT6KGl5LiB5aSx6LSl5LqOICVzICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODk4CisjOiBidWlsdGluL2FtLmM6MTg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY29weSBvZiB0aGUgcGF0Y2ggdGhhdCBmYWlsZWQgaXMgZm91bmQgaW46ICVzIgogbXNnc3RyICLlpLHotKXnmoTooaXkuIHmlofku7blia/mnKzkvY3kuo7vvJolcyIKIAotIzogYnVpbHRpbi9hbS5jOjE5NDMKKyM6IGJ1aWx0aW4vYW0uYzoxOTM2CiBtc2dpZCAiIgogIk5vIGNoYW5nZXMgLSBkaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnP1xuIgogIklmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBzdGFnZSwgY2hhbmNlcyBhcmUgdGhhdCBzb21ldGhpbmcgZWxzZVxuIgpAQCAtMzA0Nyw3ICs0MzkyLDcgQEAKICLlpoLmnpzmsqHmnInku4DkuYjopoHmt7vliqDliLDmmoLlrZjljLrnmoTvvIzliJnlvojlj6/og73mmK/lhbblroPmj5DkuqTlt7Lnu4/lvJXlhaXkuobnm7jlkIznmoTlj5jmm7TjgIJcbiIKICLmgqjkuZ/orrjmg7PopoHot7Pov4fov5nkuKrooaXkuIHjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxOTUwCisjOiBidWlsdGluL2FtLmM6MTk0MwogbXNnaWQgIiIKICJZb3Ugc3RpbGwgaGF2ZSB1bm1lcmdlZCBwYXRocyBpbiB5b3VyIGluZGV4LlxuIgogIkRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/IgpAQCAtMzA1NSwxNzAgKzQ0MDAsMTQ5IEBACiAi5oKo55qE57Si5byV5Lit5LuN5pyJ5pyq5ZCI5bm255qE6Lev5b6E44CCXG4iCiAi5oKo5piv5ZCm5b+Y5LqG5omn6KGMICdnaXQgYWRkJ++8nyIKIAotIzogYnVpbHRpbi9hbS5jOjIwNTggYnVpbHRpbi9hbS5jOjIwNjIgYnVpbHRpbi9hbS5jOjIwNzQgYnVpbHRpbi9yZXNldC5jOjMwOAorIzogYnVpbHRpbi9hbS5jOjIwNTEgYnVpbHRpbi9hbS5jOjIwNTUgYnVpbHRpbi9hbS5jOjIwNjcgYnVpbHRpbi9yZXNldC5jOjMwOAogIzogYnVpbHRpbi9yZXNldC5jOjMxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICLkuI3og73op6PmnpDlr7nosaEgJyVzJ+OAgiIKIAotIzogYnVpbHRpbi9hbS5jOjIxMTAKKyM6IGJ1aWx0aW4vYW0uYzoyMTAzCiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgogbXNnc3RyICLml6Dms5XmuIXnqbrntKLlvJUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTQ0CisjOiBidWlsdGluL2FtLmM6MjEzNwogbXNnaWQgIiIKICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQgc2luY2UgdGhlIGxhc3QgJ2FtJyBmYWlsdXJlLlxuIgogIk5vdCByZXdpbmRpbmcgdG8gT1JJR19IRUFEIgogbXNnc3RyICLmgqjlpb3lg4/lnKjkuIrkuIDmrKEgJ2FtJyDlpLHotKXlkI7np7vliqjkuoYgSEVBROOAguacquWbnumAgOiHsyBPUklHX0hFQUQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjA1CisjOiBidWlsdGluL2FtLmM6MjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAtLXBhdGNoLWZvcm1hdDogJXMiCiBtc2dzdHIgIuaXoOaViOeahCAtLXBhdGNoLWZvcm1hdCDlgLzvvJolcyIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzgKLW1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD58PE1haWxkaXI+KS4uLl0iCi1tc2dzdHIgImdpdCBhbSBbPOmAiemhuT5dIFsoPG1ib3g+fDxNYWlsZGlyPikuLi5dIgorIzogYnVpbHRpbi9hbS5jOjIyMzMKK21zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKK21zZ3N0ciAiZ2l0IGFtIFs86YCJ6aG5Pl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzkKKyM6IGJ1aWx0aW4vYW0uYzoyMjM0CiBtc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCiBtc2dzdHIgImdpdCBhbSBbPOmAiemhuT5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ1CisjOiBidWlsdGluL2FtLmM6MjI0MAogbXNnaWQgInJ1biBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICLku6XkuqTkupLlvI/mlrnlvI/ov5DooYwiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ3CisjOiBidWlsdGluL2FtLmM6MjI0MgogbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgogbXNnc3RyICLogIHnmoTlj4LmlbAg4oCU4oCUIOaXoOS9nOeUqCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDkKKyM6IGJ1aWx0aW4vYW0uYzoyMjQ0CiBtc2dpZCAiYWxsb3cgZmFsbCBiYWNrIG9uIDN3YXkgbWVyZ2luZyBpZiBuZWVkZWQiCiBtc2dzdHIgIuWmguaenOW/heimge+8jOWFgeiuuOS9v+eUqOS4ieaWueWQiOW5tuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTAgYnVpbHRpbi9pbml0LWRiLmM6NDc4IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTcKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcxCisjOiBidWlsdGluL2FtLmM6MjI0NSBidWlsdGluL2luaXQtZGIuYzo0ODMgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NworIzogYnVpbHRpbi9yZXBhY2suYzoxNzIKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAi6Z2Z6buY5qih5byPIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MgorIzogYnVpbHRpbi9hbS5jOjIyNDcKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5IGxpbmUgdG8gdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLlnKjmj5DkuqTor7TmmI7kuK3mt7vliqDkuIDkuKogU2lnbmVkLW9mZi1ieSDnrb7lkI0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU1CisjOiBidWlsdGluL2FtLmM6MjI1MAogbXNnaWQgInJlY29kZSBpbnRvIHV0ZjggKGRlZmF1bHQpIgogbXNnc3RyICLkvb/nlKggdXRmOCDlrZfnrKbpm4bvvIjpu5jorqTvvIkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU3CisjOiBidWlsdGluL2FtLmM6MjI1MgogbXNnaWQgInBhc3MgLWsgZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgIuWQkSBnaXQtbWFpbGluZm8g5Lyg6YCSIC1rIOWPguaVsCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTkKKyM6IGJ1aWx0aW4vYW0uYzoyMjU0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAi5ZCRIGdpdC1tYWlsaW5mbyDkvKDpgJIgLWIg5Y+C5pWwIgogCi0jOiBidWlsdGluL2FtLmM6MjI2MQorIzogYnVpbHRpbi9hbS5jOjIyNTYKIG1zZ2lkICJwYXNzIC1tIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICLlkJEgZ2l0LW1haWxpbmZvIOS8oOmAkiAtbSDlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjYzCisjOiBidWlsdGluL2FtLmM6MjI1OAogbXNnaWQgInBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBmb3IgbWJveCBmb3JtYXQiCiBtc2dzdHIgIumSiOWvuSBtYm94IOagvOW8j++8jOWQkSBnaXQtbWFpbHNwbGl0IOS8oOmAkiAtLWtlZXAtY3Ig5Y+C5pWwIgogCi0jOiBidWlsdGluL2FtLmM6MjI2NgorIzogYnVpbHRpbi9hbS5jOjIyNjEKIG1zZ2lkICJkbyBub3QgcGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGluZGVwZW5kZW50IG9mIGFtLmtlZXBjciIKIG1zZ3N0ciAi5LiN5ZCRIGdpdC1tYWlsc3BsaXQg5Lyg6YCSIC0ta2VlcC1jciDlj4LmlbDvvIzopobnm5YgYW0ua2VlcGNyIOeahOiuvue9riIKIAotIzogYnVpbHRpbi9hbS5jOjIyNjkKKyM6IGJ1aWx0aW4vYW0uYzoyMjY0CiBtc2dpZCAic3RyaXAgZXZlcnl0aGluZyBiZWZvcmUgYSBzY2lzc29ycyBsaW5lIgogbXNnc3RyICLkuKLlvIPoo4HliIfnur/liY3nmoTmiYDmnInlhoXlrrkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjcwIGJ1aWx0aW4vYXBwbHkuYzo0NTQ2Ci1tc2dpZCAiYWN0aW9uIgotbXNnc3RyICLliqjkvZwiCi0KLSM6IGJ1aWx0aW4vYW0uYzoyMjcxIGJ1aWx0aW4vYW0uYzoyMjc0IGJ1aWx0aW4vYW0uYzoyMjc3IGJ1aWx0aW4vYW0uYzoyMjgwCi0jOiBidWlsdGluL2FtLmM6MjI4MyBidWlsdGluL2FtLmM6MjI4NiBidWlsdGluL2FtLmM6MjI4OSBidWlsdGluL2FtLmM6MjI5MgotIzogYnVpbHRpbi9hbS5jOjIyOTgKKyM6IGJ1aWx0aW4vYW0uYzoyMjY2IGJ1aWx0aW4vYW0uYzoyMjY5IGJ1aWx0aW4vYW0uYzoyMjcyIGJ1aWx0aW4vYW0uYzoyMjc1CisjOiBidWlsdGluL2FtLmM6MjI3OCBidWlsdGluL2FtLmM6MjI4MSBidWlsdGluL2FtLmM6MjI4NCBidWlsdGluL2FtLmM6MjI4NworIzogYnVpbHRpbi9hbS5jOjIyOTMKIG1zZ2lkICJwYXNzIGl0IHRocm91Z2ggZ2l0LWFwcGx5IgogbXNnc3RyICLkvKDpgJLnu5kgZ2l0LWFwcGx5IgogCi0jOiBidWlsdGluL2FtLmM6MjI3OSBidWlsdGluL2FwcGx5LmM6NDU3MAotbXNnaWQgInJvb3QiCi1tc2dzdHIgIuagueebruW9lSIKLQotIzogYnVpbHRpbi9hbS5jOjIyODIgYnVpbHRpbi9hbS5jOjIyODUgYnVpbHRpbi9hcHBseS5jOjQ1MDgKLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTExIGJ1aWx0aW4vY2xvbmUuYzo5MCBidWlsdGluL2ZldGNoLmM6OTUKLSM6IGJ1aWx0aW4vcHVsbC5jOjE3OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Mjc3Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODUKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0ODggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc2NwotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3MAotbXNnaWQgInBhdGgiCi1tc2dzdHIgIui3r+W+hCIKLQotIzogYnVpbHRpbi9hbS5jOjIyODggYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY2IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2OQotIzogYnVpbHRpbi9ncmVwLmM6NzA2IGJ1aWx0aW4vbWVyZ2UuYzoxOTkgYnVpbHRpbi9wdWxsLmM6MTM0Ci0jOiBidWlsdGluL3B1bGwuYzoxOTMgYnVpbHRpbi9yZXBhY2suYzoxNzggYnVpbHRpbi9yZXBhY2suYzoxODIKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUgYnVpbHRpbi9zaG93LXJlZi5jOjE3NSBidWlsdGluL3RhZy5jOjM0MAotIzogcGFyc2Utb3B0aW9ucy5oOjEzMiBwYXJzZS1vcHRpb25zLmg6MTM0IHBhcnNlLW9wdGlvbnMuaDoyNDQKKyM6IGJ1aWx0aW4vYW0uYzoyMjgzIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwNyBidWlsdGluL21lcmdlLmM6MjAwIGJ1aWx0aW4vcHVsbC5jOjEzNQorIzogYnVpbHRpbi9wdWxsLmM6MTk0IGJ1aWx0aW4vcmVwYWNrLmM6MTgxIGJ1aWx0aW4vcmVwYWNrLmM6MTg1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ0IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzUgYnVpbHRpbi90YWcuYzozNDAKKyM6IHBhcnNlLW9wdGlvbnMuaDoxMzIgcGFyc2Utb3B0aW9ucy5oOjEzNCBwYXJzZS1vcHRpb25zLmg6MjQ1CiBtc2dpZCAibiIKIG1zZ3N0ciAibiIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTEgYnVpbHRpbi9hcHBseS5jOjQ1MTQKLW1zZ2lkICJudW0iCi1tc2dzdHIgIuaVsOWtlyIKLQotIzogYnVpbHRpbi9hbS5jOjIyOTQgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNyBidWlsdGluL3JlcGxhY2UuYzo0MzgKKyM6IGJ1aWx0aW4vYW0uYzoyMjg5IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzcgYnVpbHRpbi9yZXBsYWNlLmM6NDM4CiAjOiBidWlsdGluL3RhZy5jOjM3MgogbXNnaWQgImZvcm1hdCIKIG1zZ3N0ciAi5qC85byPIgogCi0jOiBidWlsdGluL2FtLmM6MjI5NQorIzogYnVpbHRpbi9hbS5jOjIyOTAKIG1zZ2lkICJmb3JtYXQgdGhlIHBhdGNoKGVzKSBhcmUgaW4iCiBtc2dzdHIgIuihpeS4geeahOagvOW8jyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDEKKyM6IGJ1aWx0aW4vYW0uYzoyMjk2CiBtc2dpZCAib3ZlcnJpZGUgZXJyb3IgbWVzc2FnZSB3aGVuIHBhdGNoIGZhaWx1cmUgb2NjdXJzIgogbXNnc3RyICLmiZPooaXkuIHlpLHotKXml7bmmL7npLrnmoTplJnor6/kv6Hmga8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzAzCisjOiBidWlsdGluL2FtLmM6MjI5OAogbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCiBtc2dzdHIgIuWGsueqgeino+WGs+WQjue7p+e7reW6lOeUqOihpeS4gSIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDYKKyM6IGJ1aWx0aW4vYW0uYzoyMzAxCiBtc2dpZCAic3lub255bXMgZm9yIC0tY29udGludWUiCiBtc2dzdHIgIuWSjCAtLWNvbnRpbnVlIOWQjOS5iSIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDkKKyM6IGJ1aWx0aW4vYW0uYzoyMzA0CiBtc2dpZCAic2tpcCB0aGUgY3VycmVudCBwYXRjaCIKIG1zZ3N0ciAi6Lez6L+H5b2T5YmN6KGl5LiBIgogCi0jOiBidWlsdGluL2FtLmM6MjMxMgorIzogYnVpbHRpbi9hbS5jOjIzMDcKIG1zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgogbXNnc3RyICLmgaLlpI3ljp/lp4vliIbmlK/lubbnu4jmraLmiZPooaXkuIHmk43kvZzjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzE2CisjOiBidWlsdGluL2FtLmM6MjMxMQogbXNnaWQgImxpZSBhYm91dCBjb21taXR0ZXIgZGF0ZSIKIG1zZ3N0ciAi5bCG5L2c6ICF5pel5pyf5L2c5Li65o+Q5Lqk5pel5pyfIgogCi0jOiBidWlsdGluL2FtLmM6MjMxOAorIzogYnVpbHRpbi9hbS5jOjIzMTMKIG1zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgogbXNnc3RyICLnlKjlvZPliY3ml7bpl7TkvZzkuLrkvZzogIXml6XmnJ8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIwIGJ1aWx0aW4vY29tbWl0LmM6MTYwOSBidWlsdGluL21lcmdlLmM6MjI4Ci0jOiBidWlsdGluL3B1bGwuYzoxNjQgYnVpbHRpbi9yZXZlcnQuYzo5MiBidWlsdGluL3RhZy5jOjM1NQorIzogYnVpbHRpbi9hbS5jOjIzMTUgYnVpbHRpbi9jb21taXQuYzoxNjA1IGJ1aWx0aW4vbWVyZ2UuYzoyMjkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NSBidWlsdGluL3JldmVydC5jOjkyIGJ1aWx0aW4vdGFnLmM6MzU1CiBtc2dpZCAia2V5LWlkIgogbXNnc3RyICJrZXktaWQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIxCisjOiBidWlsdGluL2FtLmM6MjMxNgogbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCiBtc2dzdHIgIuS9v+eUqCBHUEcg562+5ZCN5o+Q5LqkIgogCi0jOiBidWlsdGluL2FtLmM6MjMyNAorIzogYnVpbHRpbi9hbS5jOjIzMTkKIG1zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKIG1zZ3N0ciAi77yI5YaF6YOo5L2/55So77yM55So5LqOIGdpdC1yZWJhc2XvvIkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzM5CisjOiBidWlsdGluL2FtLmM6MjMzNAogbXNnaWQgIiIKICJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCiAiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKQEAgLTMyMjYsMTYgKzQ1NTAsMTYgQEAKICLlj4LmlbAgLWIvLS1iaW5hcnkg5bey57uP5b6I6ZW/5pe26Ze05LiN5YGa5Lu75L2V5a6e6LSo5pON5L2c5LqG77yM5bm25LiU5bCG6KKr56e76Zmk44CCXG4iCiAi6K+35LiN6KaB5YaN5L2/55So5a6D5LqG44CCIgogCi0jOiBidWlsdGluL2FtLmM6MjM0NgorIzogYnVpbHRpbi9hbS5jOjIzNDEKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIuaXoOazleivu+WPlue0ouW8lSIKIAotIzogYnVpbHRpbi9hbS5jOjIzNjEKKyM6IGJ1aWx0aW4vYW0uYzoyMzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZXZpb3VzIHJlYmFzZSBkaXJlY3RvcnkgJXMgc3RpbGwgZXhpc3RzIGJ1dCBtYm94IGdpdmVuLiIKIG1zZ3N0ciAi5LmL5YmN55qE5Y+Y5Z+655uu5b2VICVzIOS7jeeEtuWtmOWcqO+8jOS9huWNtOaPkOS+m+S6hiBtYm9444CCIgogCi0jOiBidWlsdGluL2FtLmM6MjM4NQorIzogYnVpbHRpbi9hbS5jOjIzODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN0cmF5ICVzIGRpcmVjdG9yeSBmb3VuZC5cbiIKQEAgLTMyNDQsNDg4ICs0NTY4LDE0IEBACiAi5Y+R546w5LqG6ZSZ6K+v55qEICVzIOebruW9leOAglxuIgogIuS9v+eUqCBcImdpdCBhbSAtLWFib3J0XCIg5Yig6Zmk5a6D44CCIgogCi0jOiBidWlsdGluL2FtLmM6MjM5MQorIzogYnVpbHRpbi9hbS5jOjIzODYKIG1zZ2lkICJSZXNvbHZlIG9wZXJhdGlvbiBub3QgaW4gcHJvZ3Jlc3MsIHdlIGFyZSBub3QgcmVzdW1pbmcuIgogbXNnc3RyICLop6PlhrPmk43kvZzmnKrov5vooYzvvIzmiJHku6zkuI3kvJrnu6fnu63jgIIiCiAKLSM6IGJ1aWx0aW4vYXBwbHkuYzo1OQorIzogYnVpbHRpbi9hcHBseS5jOjgKIG1zZ2lkICJnaXQgYXBwbHkgWzxvcHRpb25zPl0gWzxwYXRjaD4uLi5dIgogbXNnc3RyICJnaXQgYXBwbHkgWzzpgInpobk+XSBbPOihpeS4gT4uLi5dIgogCi0jOiBidWlsdGluL2FwcGx5LmM6MTExCi0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgotbXNnc3RyICLmnKrog73or4bliKvnmoTnqbrnmb3lrZfnrKbpgInpobkgJyVzJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjEyNgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCi1tc2dzdHIgIuacquiDveivhuWIq+eahOepuueZveWtl+espuW/veeVpemAiemhuSAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6ODE4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiCi1tc2dzdHIgIuaXoOazleWHhuWkh+aXtumXtOaIs+ato+WImeihqOi+vuW8jyAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjgyNwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCi1tc2dzdHIgInJlZ2V4ZWMg6L+U5ZueICVk77yM6L6T5YWl5Li677yaJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5MDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKLW1zZ3N0ciAi5LiN6IO95Zyo6KGl5LiB55qE56ysICVkIOihjOaJvuWIsOaWh+S7tuWQjSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjkzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCi1tc2dzdHIgImdpdCBhcHBsee+8mumUmeivr+eahCBnaXQtZGlmZiAtIOW6lOS4uiAvZGV2L251bGzvvIzkvYblnKjnrKwgJTIkZCDooYzlvpfliLAgJTEkcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjk0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKLW1zZ3N0ciAiZ2l0IGFwcGx577ya6ZSZ6K+v55qEIGdpdC1kaWZmIC0g56ysICVkIOihjOS4iuaWsOaWh+S7tuWQjeS4jeS4gOiHtCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjk0MwotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBvbGQgZmlsZW5hbWUgb24gbGluZSAlZCIKLW1zZ3N0ciAiZ2l0IGFwcGx577ya6ZSZ6K+v55qEIGdpdC1kaWZmIC0g56ysICVkIOihjOS4iuaXp+aWh+S7tuWQjeS4jeS4gOiHtCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjk0OQotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCBvbiBsaW5lICVkIgotbXNnc3RyICJnaXQgYXBwbHnvvJrplJnor6/nmoQgZ2l0LWRpZmYgLSDnrKwgJWQg6KGM5aSE5bqU5Li6IC9kZXYvbnVsbCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE0MDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgotbXNnc3RyICJyZWNvdW5077ya5oSP5aSW55qE6KGM77yaJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE0NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKLW1zZ3N0ciAi56ysICVkIOihjOeahOihpeS4geeJh+auteayoeacieWktOS/oeaBr++8miUuKnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNDgwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKLSJjb21wb25lbnQgKGxpbmUgJWQpIgotbXNnaWRfcGx1cmFsICIiCi0iZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCi0iY29tcG9uZW50cyAobGluZSAlZCkiCi1tc2dzdHJbMF0gIuW9k+enu+mZpCAlZCDkuKrliY3lr7zot6/lvoTlkI4gZ2l0IGRpZmYg5aS057y65LmP5paH5Lu25ZCN5L+h5oGv77yI56ysICVkIOihjO+8iSIKLW1zZ3N0clsxXSAi5b2T56e76ZmkICVkIOS4quWJjeWvvOi3r+W+hOWQjiBnaXQgZGlmZiDlpLTnvLrkuY/mlofku7blkI3kv6Hmga/vvIjnrKwgJWQg6KGM77yJIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY0NgotbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgotbXNnc3RyICLmlrDmlofku7bkvp3otZbml6flhoXlrrkiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNjQ4Ci1tc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKLW1zZ3N0ciAi5Yig6Zmk55qE5paH5Lu25LuN5pyJ5YaF5a65IgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY3NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgIuihpeS4geWcqOesrCAlZCDooYzmjZ/lnY8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNzEwCi0jLCBjLWZvcm1hdAotbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgotbXNnc3RyICLmlrDmlofku7YgJXMg5L6d6LWW5pen5YaF5a65IgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTcxMgotIywgYy1mb3JtYXQKLW1zZ2lkICJkZWxldGVkIGZpbGUgJXMgc3RpbGwgaGFzIGNvbnRlbnRzIgotbXNnc3RyICLliKDpmaTnmoTmlofku7YgJXMg5LuN5pyJ5YaF5a65IgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTcxNQotIywgYy1mb3JtYXQKLW1zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgotbXNnc3RyICIqKiDorablkYrvvJrmlofku7YgJXMg5oiQ5Li656m65paH5Lu25L2G5bm25pyq5Yig6ZmkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTg2MQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIgotbXNnc3RyICLkuozov5vliLbooaXkuIHlnKjnrKwgJWQg6KGM5o2f5Z2P77yaJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE4OTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgotbXNnc3RyICLmnKrog73or4bliKvnmoTkuozov5vliLbooaXkuIHkvY3kuo7nrKwgJWQg6KGMIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjA0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgotbXNnc3RyICLooaXkuIHmlofku7bnmoTnrKwgJWQg6KGM5Y+q5pyJ5Z6D5Zy+5pWw5o2uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjEzOAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzeW1saW5rICVzIgotbXNnc3RyICLml6Dms5Xor7vlj5bnrKblj7fpk77mjqUgJXMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyMTQyCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBvcGVuIG9yIHJlYWQgJXMiCi1tc2dzdHIgIuS4jeiDveaJk+W8gOaIluivu+WPliAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI3NzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgotbXNnc3RyICLml6DmlYjnmoTooYzpppblrZfnrKbvvJonJWMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mjg5NAotIywgYy1mb3JtYXQKLW1zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCi1tc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCi1tc2dzdHJbMF0gIuWdlyAjJWQg5oiQ5Yqf5bqU55So5LqOICVk77yI5YGP56e7ICVkIOihjO+8iSIKLW1zZ3N0clsxXSAi5Z2XICMlZCDmiJDlip/lupTnlKjkuo4gJWTvvIjlgY/np7sgJWQg6KGM77yJIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjkwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgotbXNnc3RyICLkuIrkuIvmloflh4/lsJHliLDvvIglbGQvJWxk77yJ5Lul5Zyo56ysICVkIOihjOW6lOeUqOihpeS4geeJh+autSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI5MTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIndoaWxlIHNlYXJjaGluZyBmb3I6XG4iCi0iJS4qcyIKLW1zZ3N0ciAiIgotIuW9k+afpeivou+8mlxuIgotIiUuKnMiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyOTMyCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1pc3NpbmcgYmluYXJ5IHBhdGNoIGRhdGEgZm9yICclcyciCi1tc2dzdHIgIue8uuWksSAnJXMnIOeahOS6jOi/m+WItuihpeS4geaVsOaNriIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMwMzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciCi1tc2dzdHIgIuS6jOi/m+WItuihpeS4geacquW6lOeUqOWIsCAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzAzOQotIywgYy1mb3JtYXQKLW1zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKLW1zZ3N0ciAi5YiwICclcycg55qE5LqM6L+b5Yi26KGl5LiB5Lqn55Sf5LqG5LiN5q2j56Gu55qE57uT5p6c77yI5bqU5Li6ICVz77yM5Y205Li6ICVz77yJIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzA2MAotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKLW1zZ3N0ciAi5omT6KGl5LiB5aSx6LSl77yaJXM6JWxkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzE4NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCi1tc2dzdHIgIuS4jeiDveajgOWHuiAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMyMjkgYnVpbHRpbi9hcHBseS5jOjMyNDAgYnVpbHRpbi9hcHBseS5jOjMyODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVhZCBvZiAlcyBmYWlsZWQiCi1tc2dzdHIgIuivu+WPliAlcyDlpLHotKUiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMjM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlYWRpbmcgZnJvbSAnJXMnIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCi1tc2dzdHIgIuivu+WPluS9jeS6juespuWPt+mTvuaOpeS4reeahCAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzI2NSBidWlsdGluL2FwcGx5LmM6MzQ4NwotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKLW1zZ3N0ciAi6Lev5b6EICVzIOW3sue7j+iiq+mHjeWRveWQjS/liKDpmaQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMzQ2IGJ1aWx0aW4vYXBwbHkuYzozNTAxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKLW1zZ3N0ciAiJXPvvJrkuI3lrZjlnKjkuo7ntKLlvJXkuK0iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMzUwIGJ1aWx0aW4vYXBwbHkuYzozNDkzIGJ1aWx0aW4vYXBwbHkuYzozNTE1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiAlcyIKLW1zZ3N0ciAiJXPvvJolcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMzNTUgYnVpbHRpbi9hcHBseS5jOjM1MDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgotbXNnc3RyICIlc++8muWSjOe0ouW8leS4jeWMuemFjSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM0NTcKLW1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgotbXNnc3RyICLnp7vpmaTooaXkuIHku43nlZnkuIvkuobmlofku7blhoXlrrkiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNTI2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgotbXNnc3RyICIlc++8mumUmeivr+exu+WeiyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM1MjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgotbXNnc3RyICIlcyDnmoTnsbvlnovmmK8gJW/vvIzlupTkuLogJW8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNjg3IGJ1aWx0aW4vYXBwbHkuYzozNjg5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgotbXNnc3RyICLml6DmlYjot6/lvoQgJyVzJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NDQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgotbXNnc3RyICIlc++8muW3sue7j+WtmOWcqOS6jue0ouW8leS4rSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NDcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgotbXNnc3RyICIlc++8muW3sue7j+WtmOWcqOS6juW3peS9nOWMuuS4rSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3NjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgotbXNnc3RyICIlMiRzIOeahOaWsOaooeW8j++8iCUxJG/vvInlkozml6fmqKHlvI/vvIglMyRv77yJ5LiN5Yy56YWNIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzc3MgotIywgYy1mb3JtYXQKLW1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCi1tc2dzdHIgIiUyJHMg55qE5paw5qih5byP77yIJTEkb++8ieWSjCAlNCRzIOeahOaXp+aooeW8j++8iCUzJG/vvInkuI3ljLnphY0iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzkyCi0jLCBjLWZvcm1hdAotbXNnaWQgImFmZmVjdGVkIGZpbGUgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgotbXNnc3RyICLlj5flvbHlk43nmoTmlofku7YgJyVzJyDkvY3kuo7nrKblj7fpk77mjqXkuK0iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzk2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBwYXRjaCBkb2VzIG5vdCBhcHBseSIKLW1zZ3N0ciAiJXPvvJrooaXkuIHmnKrlupTnlKgiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozODEwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgotbXNnc3RyICLmo4Dmn6XooaXkuIEgJXMuLi4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozOTAzIGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzMgYnVpbHRpbi9yZXNldC5jOjEzNQotIywgYy1mb3JtYXQKLW1zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgotbXNnc3RyICLlr7not6/lvoQgJyVzJyDnmoQgbWFrZV9jYWNoZV9lbnRyeSDmk43kvZzlpLHotKUiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDQ2Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKLW1zZ3N0ciAi5LiN6IO95LuO57Si5byV5Lit56e76ZmkICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA3NQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCi1tc2dzdHIgIuWtkOaooee7hCAlcyDmjZ/lnY/nmoTooaXkuIEiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDc5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBzdGF0IG5ld2x5IGNyZWF0ZWQgZmlsZSAnJXMnIgotbXNnc3RyICLkuI3og73mnprkuL7mlrDlu7rmlofku7YgJyVzJyDnmoTnirbmgIEiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDg0Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgotbXNnc3RyICLkuI3og73kuLrmlrDlu7rmlofku7YgJXMg5Yib5bu65ZCO56uv5a2Y5YKoIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA4NyBidWlsdGluL2FwcGx5LmM6NDE5NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKLW1zZ3N0ciAi5peg5rOV5Li6ICVzIOa3u+WKoOe8k+WtmOadoeebriIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQxMjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2xvc2luZyBmaWxlICclcyciCi1tc2dzdHIgIuWFs+mXreaWh+S7tiAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDE2OQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCi1tc2dzdHIgIuS4jeiDveWGmeaWh+S7tiAnJXMnIOadg+mZkCAlbyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQyNTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQXBwbGllZCBwYXRjaCAlcyBjbGVhbmx5LiIKLW1zZ3N0ciAi5oiQ5Yqf5bqU55So6KGl5LiBICVz44CCIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI2NAotbXNnaWQgImludGVybmFsIGVycm9yIgotbXNnc3RyICLlhoXpg6jplJnor68iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MjY3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKLW1zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKLW1zZ3N0clswXSAi5bqU55SoICUlcyDkuKrooaXkuIHvvIzlhbbkuK0gJWQg5Liq6KKr5ouS57udLi4uIgotbXNnc3RyWzFdICLlupTnlKggJSVzIOS4quihpeS4ge+8jOWFtuS4rSAlZCDkuKrooqvmi5Lnu50uLi4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mjc3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKLW1zZ3N0ciAi5oiq55+tIC5yZWog5paH5Lu25ZCN5Li6ICUuKnMucmVqIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI4NQotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCi1tc2dzdHIgIuS4jeiDveaJk+W8gCAlc++8miVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDI5OAotIywgYy1mb3JtYXQKLW1zZ2lkICJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIgotbXNnc3RyICLnrKwgIyVkIOS4queJh+auteaIkOWKn+W6lOeUqOOAgiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQzMDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgotbXNnc3RyICLmi5Lnu53nrKwgIyVkIOS4queJh+auteOAgiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQzODcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiU2tpcHBlZCBwYXRjaCAnJXMnLiIKLW1zZ3N0ciAi55Wl6L+H6KGl5LiBICclcyfjgIIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0Mzk1Ci1tc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgotbXNnc3RyICLmnKrog73or4bliKvnmoTovpPlhaUiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NDA2Ci1tc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKLW1zZ3N0ciAi5peg5rOV6K+75Y+W57Si5byV5paH5Lu2IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUwOQotbXNnaWQgImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCi1tc2dzdHIgIuS4jeimgeW6lOeUqOS4jue7meWHuui3r+W+hOWQkeWMuemFjeeahOWPmOabtCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MTIKLW1zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgotbXNnc3RyICLlupTnlKjkuI7nu5nlh7rot6/lvoTlkJHljLnphY3nmoTlj5jmm7QiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTE1Ci1tc2dpZCAicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiCi1tc2dzdHIgIuS7juS8oOe7n+eahCBkaWZmIOi3r+W+hOS4reenu+mZpOaMh+WumuaVsOmHj+eahOWJjeWvvOaWnOe6vyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MTgKLW1zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgotbXNnc3RyICLlv73nlaXooaXkuIHkuK3nmoTmt7vliqDnmoTmlofku7YiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTIwCi1tc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBkaWZmc3RhdCBmb3IgdGhlIGlucHV0IgotbXNnc3RyICLkuI3lupTnlKjooaXkuIHvvIzogIzmmK/mmL7npLrovpPlhaXnmoTlt67lvILnu5/orqHvvIhkaWZmc3RhdO+8iSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MjQKLW1zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgotbXNnc3RyICLku6XljYHov5vliLbmlbDmmL7npLrmt7vliqDlkozliKDpmaTnmoTooYzmlbAiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTI2Ci1tc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIKLW1zZ3N0ciAi5LiN5bqU55So6KGl5LiB77yM6ICM5piv5pi+56S66L6T5YWl55qE5qaC6KaBIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUyOAotbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCi1tc2dzdHIgIuS4jeW6lOeUqOihpeS4ge+8jOiAjOaYr+afpeeci+ihpeS4geaYr+WQpuWPr+W6lOeUqCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzAKLW1zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCi1tc2dzdHIgIuehruiupOihpeS4geWPr+S7peW6lOeUqOWIsOW9k+WJjee0ouW8lSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzIKLW1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKLW1zZ3N0ciAi5bqU55So6KGl5LiB6ICM5LiN5L+u5pS55bel5L2c5Yy6IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDUzNAotbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCi1tc2dzdHIgIuaOpeWPl+S/ruaUueW3peS9nOWMuuS5i+WkluaWh+S7tueahOihpeS4gSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1MzYKLW1zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKLW1zZ3N0ciAi6L+Y5bqU55So5q2k6KGl5LiB77yI5LiOIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjayDpgInpobnlkIzml7bkvb/nlKjvvIkiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTM4Ci1tc2dpZCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIKLW1zZ3N0ciAi5aaC5p6c5LiA5Liq6KGl5LiB5LiN6IO95bqU55So5YiZ5bCd6K+V5LiJ5pa55ZCI5bm2IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU0MAotbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgotbXNnc3RyICLliJvlu7rkuIDkuKrkuLTml7bntKLlvJXln7rkuo7ltYzlhaXnmoTntKLlvJXkv6Hmga8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTQzIGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjkgYnVpbHRpbi9scy1maWxlcy5jOjQyNQotbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgotbXNnc3RyICLot6/lvoTku6UgTlVMIOWtl+espuWIhumalCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NDUKLW1zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCi1tc2dzdHIgIuehruS/neiHs+WwkeWMuemFjSA8bj4g6KGM5LiK5LiL5paHIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU0NwotbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgotbXNnc3RyICLmo4Dmn6XmlrDlop7lkozkv67mlLnnmoTooYzkuK3pl7TnmoTnqbrnmb3lrZfnrKbmu6XnlKgiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTUwIGJ1aWx0aW4vYXBwbHkuYzo0NTUzCi1tc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKLW1zZ3N0ciAi5p+l5om+5LiK5LiL5paH5pe25b+955Wl56m655m95a2X56ym55qE5Y+Y5pu0IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU1NgotbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgotbXNnc3RyICLlj43lkJHlupTnlKjooaXkuIEiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTU4Ci1tc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCi1tc2dzdHIgIuaXoOmcgOiHs+WwkeS4gOihjOS4iuS4i+aWhyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NjAKLW1zZ2lkICJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIKLW1zZ3N0ciAi5bCG5ouS57ud55qE6KGl5LiB54mH5q615L+d5a2Y5Zyo5a+55bqU55qEICoucmVqIOaWh+S7tuS4rSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ1NjIKLW1zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKLW1zZ3N0ciAi5YWB6K646YeN5Y+g55qE6KGl5LiB54mH5q61IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU2NQotbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgotbXNnc3RyICLlhYHorrjkuI3mraPnoa7nmoTmlofku7bmnKvlsL7mjaLooYznrKYiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTY4Ci1tc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgotbXNnc3RyICLkuI3kv6Hku7vooaXkuIHniYfmrrXnmoTlpLTkv6Hmga/kuK3nmoTooYzlj7ciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0NTcxCi1tc2dpZCAicHJlcGVuZCA8cm9vdD4gdG8gYWxsIGZpbGVuYW1lcyIKLW1zZ3N0ciAi5Li65omA5pyJ5paH5Lu25ZCN5YmN5re75YqgIDzmoLnnm67lvZU+IgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDU5MwotbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiLS0zd2F5IOWcqOS4gOS4quS7k+W6k+S5i+WkliIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2MDEKLW1zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgotbXNnc3RyICItLWluZGV4IOWcqOS4gOS4quS7k+W6k+S5i+WkliIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQ2MDQKLW1zZ2lkICItLWNhY2hlZCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiLS1jYWNoZWQg5Zyo5LiA5Liq5LuT5bqT5LmL5aSWIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDYyMwotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW4ndCBvcGVuIHBhdGNoICclcyciCi1tc2dzdHIgIuS4jeiDveaJk+W8gOihpeS4gSAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDYzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvciIKLW1zZ2lkX3BsdXJhbCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3JzIgotbXNnc3RyWzBdICLmipHliLbkuIvku43mnIkgJWQg5Liq56m655m95a2X56ym6K+v55SoIgotbXNnc3RyWzFdICLmipHliLbkuIvku43mnIkgJWQg5Liq56m655m95a2X56ym6K+v55SoIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDY0MyBidWlsdGluL2FwcGx5LmM6NDY1MwotIywgYy1mb3JtYXQKLW1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnc3RyWzBdICIlZCDooYzmnInnqbrnmb3lrZfnrKbor6/nlKjjgIIiCi1tc2dzdHJbMV0gIiVkIOihjOacieepuueZveWtl+espuivr+eUqOOAgiIKLQogIzogYnVpbHRpbi9hcmNoaXZlLmM6MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBhcmNoaXZlIGZpbGUgJyVzJyIKQEAgLTM3NTksNyArNDYwOSw3IEBACiAKICM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY4CiBtc2dpZCAiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIGEgZmx1c2giCi1tc2dzdHIgImdpdCBhcmNoaXZl77ya5bqU5Li65Yi35pawIgorbXNnc3RyICJnaXQgYXJjaGl2Ze+8muW6lOacieS4gOS4qiBmbHVzaCDliLfmlrAiCiAKICM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo3CiBtc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tbmV4dC1hbGwgWy0tbm8tY2hlY2tvdXRdIgpAQCAtMzc4MSwxMTYgKzQ2MzEsMTYyIEBACiBtc2dpZCAiPHJldi1vcHRzPiBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgIjzniYjmnKzpgInpobk+IOeahOaWh+aho+iusOW9leWcqCBnaXQtcmV2LWxpc3QoMSkg5LitIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MTc4MgorIzogYnVpbHRpbi9ibGFtZS5jOjE3ODEKIG1zZ2lkICJCbGFtaW5nIGxpbmVzIgogbXNnc3RyICLov73ouKrku6PnoIHooYwiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTMxCisjOiBidWlsdGluL2JsYW1lLmM6MjU3NwogbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCiBtc2dzdHIgIuWinumHj+W8j+WcsOaYvuekuuWPkeeOsOeahCBibGFtZSDmnaHnm64iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTMyCisjOiBidWlsdGluL2JsYW1lLmM6MjU3OAogbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIui+ueeVjOaPkOS6pOaYvuekuuepuueahCBTSEEtMe+8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTc5CiBtc2dpZCAiRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLkuI3miormoLnmj5DkuqTkvZzkuLrovrnnlYzvvIjpu5jorqTvvJrlhbPpl63vvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM0CisjOiBidWlsdGluL2JsYW1lLmM6MjU4MAogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIuaYvuekuuWRveS7pOa2iOiAl+e7n+iuoSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzUKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTgxCiBtc2dpZCAiRm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICLlvLrliLbov5vluqbmmL7npLoiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTM2CisjOiBidWlsdGluL2JsYW1lLmM6MjU4MgogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICLmmL7npLrliKTmlq0gYmxhbWUg5p2h55uu5L2N56e755qE5b6X5YiG6K+K5pat5L+h5oGvIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzNworIzogYnVpbHRpbi9ibGFtZS5jOjI1ODMKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGZpbGVuYW1lIChEZWZhdWx0OiBhdXRvKSIKIG1zZ3N0ciAi5pi+56S65Y6f5aeL5paH5Lu25ZCN77yI6buY6K6k77ya6Ieq5Yqo77yJIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjUzOAorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODQKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIuaYvuekuuWOn+Wni+eahOihjOWPt++8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1MzkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg1CiBtc2dpZCAiU2hvdyBpbiBhIGZvcm1hdCBkZXNpZ25lZCBmb3IgbWFjaGluZSBjb25zdW1wdGlvbiIKIG1zZ3N0ciAi5pi+56S65Li65LiA5Liq6YCC5ZCI5py65Zmo6K+75Y+W55qE5qC85byPIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0MAorIzogYnVpbHRpbi9ibGFtZS5jOjI1ODYKIG1zZ2lkICJTaG93IHBvcmNlbGFpbiBmb3JtYXQgd2l0aCBwZXItbGluZSBjb21taXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIuS4uuavj+S4gOihjOaYvuekuuacuuWZqOmAgueUqOeahOaPkOS6pOS/oeaBryIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTg3CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi5L2/55So5ZKMIGdpdC1hbm5vdGF0ZSDnm7jlkIznmoTovpPlh7rmqKHlvI/vvIjpu5jorqTvvJrlhbPpl63vvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTQyCisjOiBidWlsdGluL2JsYW1lLmM6MjU4OAogbXNnaWQgIlNob3cgcmF3IHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi5pi+56S65Y6f5aeL5pe26Ze05oiz77yI6buY6K6k77ya5YWz6Zet77yJIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0MworIzogYnVpbHRpbi9ibGFtZS5jOjI1ODkKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIuaYvuekuumVv+eahCBTSEExIOaPkOS6pOWPt++8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDQKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkwCiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi6ZqQ6JeP5L2c6ICF5ZCN5a2X5ZKM5pe26Ze05oiz77yI6buY6K6k77ya5YWz6Zet77yJIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU0NQorIzogYnVpbHRpbi9ibGFtZS5jOjI1OTEKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIuaYvuekuuS9nOiAheeahOmCrueuseiAjOS4jeaYr+WQjeWtl++8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTkyCiBtc2dpZCAiSWdub3JlIHdoaXRlc3BhY2UgZGlmZmVyZW5jZXMiCiBtc2dzdHIgIuW/veeVpeepuueZveW3ruW8giIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNTk5Cittc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBpbmRlbnQtYmFzZWQgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCittc2dzdHIgIuS9v+eUqOS4gOS4quivlemqjOaAp+eahOWfuuS6jue8qei/m+eahOWQr+WPkeW8j+eul+azleaUuei/m+W3ruW8guaYvuekuiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI2MDAKK21zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGJsYW5rLWxpbmUtYmFzZWQgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCittc2dzdHIgIuS9v+eUqOS4gOS4quivlemqjOaAp+eahOWfuuS6juepuuihjOeahOWQr+WPkeW8j+eul+azleaUuei/m+W3ruW8guaYvuekuiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI2MDIKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIuiKsei0uemineWklueahOW+queOr+adpeaJvuWIsOabtOWlveeahOWMuemFjSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDgKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjAzCiBtc2dpZCAiVXNlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIGNhbGxpbmcgZ2l0LXJldi1saXN0IgogbXNnc3RyICLkvb/nlKjmnaXoh6ogPOaWh+S7tj4g55qE5L+u6K6i6ZuG6ICM5LiN5piv6LCD55SoIGdpdC1yZXYtbGlzdCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NDkKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA0CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAi5L2/55SoIDzmlofku7Y+IOeahOWGheWuueS9nOS4uuacgOe7iOeahOWbvueJhyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTAgYnVpbHRpbi9ibGFtZS5jOjI1NTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA1IGJ1aWx0aW4vYmxhbWUuYzoyNjA2CiBtc2dpZCAic2NvcmUiCiBtc2dzdHIgIuW+l+WIhiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjI1NTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNjA1CiBtc2dpZCAiRmluZCBsaW5lIGNvcGllcyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAi5om+5Yiw5paH5Lu25YaF5Y+K6Leo5paH5Lu255qE6KGM5ou36LSdIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU1MQorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDYKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICLmib7liLDmlofku7blhoXlj4rot6jmlofku7bnmoTooYznp7vliqgiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoyNTUyCisjOiBidWlsdGluL2JsYW1lLmM6MjYwNwogbXNnaWQgIm4sbSIKIG1zZ3N0ciAibixtIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MjU1MgorIzogYnVpbHRpbi9ibGFtZS5jOjI2MDcKIG1zZ2lkICJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAi5Y+q5aSE55CG6KGM6IyD5Zu05ZyoIG4g5ZKMIG0g5LmL6Ze055qE77yM5LuOIDEg5byA5aeLIgogCisjOiBidWlsdGluL2JsYW1lLmM6MjY1NAorbXNnaWQgIi0tcHJvZ3Jlc3MgY2FuJ3QgYmUgdXNlZCB3aXRoIC0taW5jcmVtZW50YWwgb3IgcG9yY2VsYWluIGZvcm1hdHMiCittc2dzdHIgIi0tcHJvZ3Jlc3Mg5LiN6IO95ZKMIC0taW5jcmVtZW50YWwg5oiWIC0tcG9yY2VsYWluIOWQjOaXtuS9v+eUqCIKKwogIy4gVFJBTlNMQVRPUlM6IFRoaXMgc3RyaW5nIGlzIHVzZWQgdG8gdGVsbCB1cyB0aGUgbWF4aW11bQogIy4gZGlzcGxheSB3aWR0aCBmb3IgYSByZWxhdGl2ZSB0aW1lc3RhbXAgaW4gImdpdCBibGFtZSIKICMuIG91dHB1dC4gIEZvciBDIGxvY2FsZSwgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iLCB3aGljaAogIy4gdGFrZXMgMjIgcGxhY2VzLCBpcyB0aGUgbG9uZ2VzdCBhbW9uZyB2YXJpb3VzIGZvcm1zIG9mCiAjLiByZWxhdGl2ZSB0aW1lc3RhbXBzLCBidXQgeW91ciBsYW5ndWFnZSBtYXkgbmVlZCBtb3JlIG9yCiAjLiBmZXdlciBkaXNwbGF5IGNvbHVtbnMuCi0jOiBidWlsdGluL2JsYW1lLmM6MjY0MQorIzogYnVpbHRpbi9ibGFtZS5jOjI3MDAKIG1zZ2lkICI0IHllYXJzLCAxMSBtb250aHMgYWdvIgogbXNnc3RyICI0IOW5tCAxMSDkuKrmnIjliY0iCiAKKyM6IGJ1aWx0aW4vYmxhbWUuYzoyNzgwCittc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKK21zZ3N0ciAiLS1jb250ZW50cyDlkowgLS1yZXZlcnNlIOS4jeiDvea3t+eUqOOAgiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MDAKK21zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCittc2dzdHIgIuS4jeiDveWwhiAtLWNvbnRlbnRzIOWSjOacgOe7iOeahOaPkOS6pOWvueixoeWQjeWFseeUqCIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4MDUKK21zZ2lkICItLXJldmVyc2UgYW5kIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgc3BlY2lmaWVkIGxhdGVzdCBjb21taXQiCittc2dzdHIgIi0tcmV2ZXJzZSDlkowgLS1maXJzdC1wYXJlbnQg5YWx55So77yM6ZyA6KaB5oyH5a6a5pyA5paw55qE5o+Q5LqkIgorCisjOiBidWlsdGluL2JsYW1lLmM6MjgzMgorbXNnaWQgIiIKKyItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCittc2dzdHIgIi0tcmV2ZXJzZSDlkowgLS1maXJzdC1wYXJlbnQg5YWx55So77yM6ZyA6KaB56ys5LiA56WW5YWI6ZO+5LiK55qE5o+Q5Lqk6IyD5Zu0IgorCisjOiBidWlsdGluL2JsYW1lLmM6Mjg0MworIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHBhdGggJXMgaW4gJXMiCittc2dzdHIgIuWcqCAlMiRzIOS4reaXoOatpOi3r+W+hCAlMSRzIgorCisjOiBidWlsdGluL2JsYW1lLmM6Mjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgorbXNnc3RyICLkuI3og73kuLrot6/lvoQgJTIkcyDor7vlj5blr7nosaEgJTEkcyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjI4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZSIKK21zZ2lkX3BsdXJhbCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZXMiCittc2dzdHJbMF0gIuaWh+S7tiAlcyDlj6rmnIkgJWx1IOihjCIKK21zZ3N0clsxXSAi5paH5Lu2ICVzIOWPquaciSAlbHUg6KGMIgorCiAjOiBidWlsdGluL2JyYW5jaC5jOjI2CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgogbXNnc3RyICJnaXQgYnJhbmNoIFs86YCJ6aG5Pl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKQEAgLTM5OTIsMTE4ICs0ODg4LDEyNSBAQAogbXNnaWQgIkRlbGV0ZWQgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICLlt7LliKDpmaTliIbmlK8gJXPvvIjmm77kuLogJXPvvInjgIJcbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlslczogZ29uZV0iCiBtc2dzdHIgIlslczog5Lii5aSxXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlslc10iCiBtc2dzdHIgIlslc10iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzE5CisjOiBidWlsdGluL2JyYW5jaC5jOjMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCiBtc2dzdHIgIlslc++8muiQveWQjiAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzIxCisjOiBidWlsdGluL2JyYW5jaC5jOjMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJbYmVoaW5kICVkXSIKIG1zZ3N0ciAiW+iQveWQjiAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzI1CisjOiBidWlsdGluL2JyYW5jaC5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJbJXM6IGFoZWFkICVkXSIKIG1zZ3N0ciAiWyVz77ya6aKG5YWIICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlthaGVhZCAlZF0iCiBtc2dzdHIgIlvpooblhYggJWRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMzMAorIzogYnVpbHRpbi9icmFuY2guYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWyVzOiBhaGVhZCAlZCwgYmVoaW5kICVkXSIKIG1zZ3N0ciAiWyVz77ya6aKG5YWIICVk77yM6JC95ZCOICVkXSIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlthaGVhZCAlZCwgYmVoaW5kICVkXSIKIG1zZ3N0ciAiW+mihuWFiCAlZO+8jOiQveWQjiAlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzQ2CisjOiBidWlsdGluL2JyYW5jaC5jOjM0OQogbXNnaWQgIiAqKioqIGludmFsaWQgcmVmICoqKioiCiBtc2dzdHIgIiAqKioqIOaXoOaViOW8leeUqCAqKioqIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjM3MgorIzogYnVpbHRpbi9icmFuY2guYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgogbXNnc3RyICLvvIjpnZ7liIbmlK/vvIzmraPlj5jln7ogJXPvvIkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzc1CisjOiBidWlsdGluL2JyYW5jaC5jOjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCiBtc2dzdHIgIu+8iOmdnuWIhuaUr++8jOS6jOWIhuafpeaJvuW8gOWni+S6jiAlc++8iSIKIAogIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKICMuICJIRUFEIGRldGFjaGVkIGF0ICIgaW4gd3Qtc3RhdHVzLmMKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzgxCisjOiBidWlsdGluL2JyYW5jaC5jOjM4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCiBtc2dzdHIgIu+8iOWktOaMh+mSiOWIhuemu+S6jiAlc++8iSIKIAogIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMKICMuICJIRUFEIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYwotIzogYnVpbHRpbi9icmFuY2guYzozODYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgogbXNnc3RyICLvvIjlpLTmjIfpkojliIbnprvoh6ogJXPvvIkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzkwCisjOiBidWlsdGluL2JyYW5jaC5jOjM5MwogbXNnaWQgIihubyBicmFuY2gpIgogbXNnc3RyICLvvIjpnZ7liIbmlK/vvIkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQxCisjOiBidWlsdGluL2JyYW5jaC5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgcmViYXNlZCBhdCAlcyIKIG1zZ3N0ciAi5YiG5pSvICVzIOato+iiq+WPmOWfuuWIsCAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyBiaXNlY3RlZCBhdCAlcyIKIG1zZ3N0ciAi5YiG5pSvICVzIOato+iiq+S6jOWIhuafpeaJvuS6jiAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NjAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYzCiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgIuaXoOazlemHjeWRveWQjeW9k+WJjeWIhuaUr+WboOS4uuS4jeWkhOS6juS7u+S9leWIhuaUr+S4iuOAgiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIuaXoOaViOeahOWIhuaUr+WQje+8miclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg3CisjOiBidWlsdGluL2JyYW5jaC5jOjU5MAogbXNnaWQgIkJyYW5jaCByZW5hbWUgZmFpbGVkIgogbXNnc3RyICLliIbmlK/ph43lkb3lkI3lpLHotKUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTkxCisjOiBidWlsdGluL2JyYW5jaC5jOjU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKIG1zZ3N0ciAi6YeN5ZG95ZCN5o6J5LiA5Liq6ZSZ6K+v5ZG95ZCN55qE5pen5YiG5pSvICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CisjOiBidWlsdGluL2JyYW5jaC5jOjU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgogbXNnc3RyICLliIbmlK/ph43lkb3lkI3kuLogJXPvvIzkvYYgSEVBRCDmsqHmnInmm7TmlrDvvIEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAxCisjOiBidWlsdGluL2JyYW5jaC5jOjYwNAogbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAi5YiG5pSv6KKr6YeN5ZG95ZCN77yM5L2G5pu05pawIGNvbmZpZyDmlofku7blpLHotKUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIzCi1tc2dpZCAiY291bGQgbm90IHdyaXRlIGJyYW5jaCBkZXNjcmlwdGlvbiB0ZW1wbGF0ZSIKLW1zZ3N0ciAi5LiN6IO95YaZ5YiG5pSv5o+P6L+w5qih54mIIgorIzogYnVpbHRpbi9icmFuY2guYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlBsZWFzZSBlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaFxuIgorIiAgJXNcbiIKKyJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBzdHJpcHBlZC5cbiIKK21zZ3N0ciAiIgorIuivt+e8lui+keWIhuaUr+eahOaPj+i/sFxuIgorIiAgJXNcbiIKKyLku6UgJyVjJyDlvIDlpLTnmoTooYzlsIbooqvov4fmu6TjgIJcbiIKIAogIzogYnVpbHRpbi9icmFuY2guYzo2NTEKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCkBAIC00MTMzLDYgKzUwMzYsMTAgQEAKIG1zZ2lkICJjaGFuZ2UgdGhlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgIuaUueWPmOS4iua4uOS/oeaBryIKIAorIzogYnVpbHRpbi9icmFuY2guYzo2NjAKK21zZ2lkICJVbnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKK21zZ3N0ciAi5Y+W5raI5LiK5ri45L+h5oGv55qE6K6+572uIgorCiAjOiBidWlsdGluL2JyYW5jaC5jOjY2MQogbXNnaWQgInVzZSBjb2xvcmVkIG91dHB1dCIKIG1zZ3N0ciAi5L2/55So5b2p6Imy6L6T5Ye6IgpAQCAtNDIwNSw4ICs1MTEyLDggQEAKIG1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCiBtc2dzdHIgIuaOkuW6j+eahOWtl+auteWQjSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MSBidWlsdGluL25vdGVzLmM6NDAxCi0jOiBidWlsdGluL25vdGVzLmM6NDA0IGJ1aWx0aW4vbm90ZXMuYzo1NjQgYnVpbHRpbi9ub3Rlcy5jOjU2NworIzogYnVpbHRpbi9icmFuY2guYzo2ODYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MSBidWlsdGluL25vdGVzLmM6NDA0CisjOiBidWlsdGluL25vdGVzLmM6NDA3IGJ1aWx0aW4vbm90ZXMuYzo1NjcgYnVpbHRpbi9ub3Rlcy5jOjU3MAogIzogYnVpbHRpbi90YWcuYzozNjkKIG1zZ2lkICJvYmplY3QiCiBtc2dzdHIgIuWvueixoSIKQEAgLTQyMTksNyArNTEyNiw3IEBACiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIuaXoOazleWwhiBIRUFEIOino+aekOS4uuacieaViOW8leeUqOOAgiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MDkgYnVpbHRpbi9jbG9uZS5jOjcwNworIzogYnVpbHRpbi9icmFuY2guYzo3MDkgYnVpbHRpbi9jbG9uZS5jOjcwNgogbXNnaWQgIkhFQUQgbm90IGZvdW5kIGJlbG93IHJlZnMvaGVhZHMhIgogbXNnc3RyICJIRUFEIOayoeacieS9jeS6jiAvcmVmcy9oZWFkcyDkuYvkuIvvvIEiCiAKQEAgLTQzMjYsNjMgKzUyMzMsNzkgQEAKIG1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byB1bmJ1bmRsZS4iCiBtc2dzdHIgIumcgOimgeS4gOS4quS7k+W6k+adpeino+WMheOAgiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQyOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjUxMwogbXNnaWQgIiIKLSJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV18LXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXXwtZXwtcHwiCi0iPHR5cGU+fC0tdGV4dGNvbnYpIDxvYmplY3Q+IgorImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCisicCB8IDx0eXBlPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PHBhdGg+XSA8b2JqZWN0PiIKIG1zZ3N0ciAiIgotImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXXwtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdfC1lfC1wfDznsbvlnosiCi0iPnwtLXRleHRjb252KSA85a+56LGhPiIKKyJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgorInAgfCA857G75Z6LPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9POi3r+W+hD5dIDzlr7nosaE+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDI5Ci1tc2dpZCAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSIKLW1zZ3N0ciAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1MTQKK21zZ2lkICIiCisiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgorImZpbHRlcnNdIgorbXNnc3RyICIiCisiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgorImZpbHRlcnNdIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDY2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTUxCiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICI857G75Z6LPiDlj6/ku6XmmK/lhbbkuK3kuYvkuIDvvJpibG9i44CBdHJlZeOAgWNvbW1pdOOAgXRhZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ2NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MgogbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCiBtc2dzdHIgIuaYvuekuuWvueixoeexu+WeiyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ2OAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1MwogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgIuaYvuekuuWvueixoeWkp+WwjyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3MAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1NQogbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKIG1zZ3N0ciAi5b2T5rKh5pyJ6ZSZ6K+v5pe26YCA5Ye65bm26L+U5Zue6Zu2IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDcxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTU2CiBtc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIue+juinguWcsOaJk+WNsOWvueixoeeahOWGheWuuSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU1OAogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biB0ZXh0Y29udiBvbiBvYmplY3QncyBjb250ZW50IgotbXNnc3RyICLlr7nkuo7mlbDmja7lr7nosaHvvIzlr7nlhbblhoXlrrnmiafooYwgdGV4dGNvbnYiCittc2dzdHIgIuWvueS6juaVsOaNruWvueixoe+8jOWvueWFtuWGheWuueWBmuaWh+acrOi9rOaNoiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MAorbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biBmaWx0ZXJzIG9uIG9iamVjdCdzIGNvbnRlbnQiCittc2dzdHIgIuWvueS6juaVsOaNruWvueixoe+8jOWvueWFtuWGheWuueWBmui/h+a7pCIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MSBnaXQtc3VibW9kdWxlLnNoOjkyMworbXNnaWQgImJsb2IiCittc2dzdHIgIuaVsOaNruWvueixoSIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2MgorbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgorbXNnc3RyICLlr7nkuo4gLS10ZXh0Y29udi8tLWZpbHRlcnMg5L2/55So5LiA5Liq54m55a6a55qE6Lev5b6EIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY0CiBtc2dpZCAiYWxsb3cgLXMgYW5kIC10IHRvIHdvcmsgd2l0aCBicm9rZW4vY29ycnVwdCBvYmplY3RzIgogbXNnc3RyICLlhYHorrggLXMg5ZKMIC10IOWvueaNn+Wdj+eahOWvueixoeeUn+aViCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ3NgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU2NQogbXNnaWQgImJ1ZmZlciAtLWJhdGNoIG91dHB1dCIKIG1zZ3N0ciAi57yT5YayIC0tYmF0Y2gg55qE6L6T5Ye6IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDc4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTY3CiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLmmL7npLrku47moIflh4bovpPlhaXmj5DkvpvnmoTlr7nosaHnmoTkv6Hmga/lkozlhoXlrrkiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo0ODEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1NzAKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIuaYvuekuuS7juagh+WHhui+k+WFpeaPkOS+m+eahOWvueixoeeahOS/oeaBryIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjQ4NAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3MwogbXNnaWQgImZvbGxvdyBpbi10cmVlIHN5bWxpbmtzICh1c2VkIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrKSIKIG1zZ3N0ciAi6Lef6ZqP5qCR5YaF56ym5Y+36ZO+5o6l77yI5ZKMIC0tYmF0Y2gg5oiWIC0tYmF0Y2gtY2hlY2sg5YWx55So77yJIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NDg2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTc1CiBtc2dpZCAic2hvdyBhbGwgb2JqZWN0cyB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjayIKIG1zZ3N0ciAi5L2/55SoIC0tYmF0Y2gg5oiWIC0tYmF0Y2gtY2hlY2sg5Y+C5pWw5pi+56S65omA5pyJ5a+56LGhIgogCkBAIC00NDAyLDcgKzUzMjUsNyBAQAogbXNnaWQgInVzZSAuZ2l0YXR0cmlidXRlcyBvbmx5IGZyb20gdGhlIGluZGV4IgogbXNnc3RyICLlj6rkvb/nlKjntKLlvJXkuK3nmoQgLmdpdGF0dHJpYnV0ZXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk3CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIyIGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAogbXNnaWQgInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIgogbXNnc3RyICLku47moIflh4bovpPlhaXor7vlh7rmlofku7blkI0iCiAKQEAgLTQ0MTAsNyArNTMzMyw3IEBACiBtc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgIui+k+WFpeWSjOi+k+WHuueahOiusOW9leS9v+eUqCBOVUwg5a2X56ym57uI57uTIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM1IGJ1aWx0aW4vZ2MuYzozMjUKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTggYnVpbHRpbi9jaGVja291dC5jOjExMzcgYnVpbHRpbi9nYy5jOjMyNQogbXNnaWQgInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAi5LiN5pi+56S66L+b5bqm5oql5ZGKIgogCkBAIC00NTAwLDkgKzU0MjMsOSBAQAogbXNnc3RyICLlsIblhoXlrrnlhpnlhaXkuLTml7bmlofku7YiCiAKICM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzQgYnVpbHRpbi9jb2x1bW4uYzozMAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ5MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDk0Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDk3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MDAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDY5CiBtc2dpZCAic3RyaW5nIgogbXNnc3RyICLlrZfnrKbkuLIiCiAKQEAgLTQ1NjgsNjQgKzU0OTEsNjAgQEAKIG1zZ2lkICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS4iCiBtc2dzdHIgIuS4jeiDveWQjOaXtuabtOaWsOi3r+W+hOW5tuWIh+aNouWIsOWIhuaUryclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzkgYnVpbHRpbi9jaGVja291dC5jOjQ3MwotbXNnaWQgImNvcnJ1cHQgaW5kZXggZmlsZSIKLW1zZ3N0ciAi5o2f5Z2P55qE57Si5byV5paH5Lu2IgotCiAjOiBidWlsdGluL2NoZWNrb3V0LmM6MzM5IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgogbXNnc3RyICLot6/lvoQgJyVzJyDmnKrlkIjlubYiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0OTQKIG1zZ2lkICJ5b3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKIG1zZ3N0ciAi5oKo6ZyA6KaB5YWI6Kej5Yaz5b2T5YmN57Si5byV55qE5Yay56qBIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjIyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICLkuI3og73lr7kgJyVzJyDmiafooYwgcmVmbG9nIOaTjeS9nO+8miVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjMKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAiSEVBRCDnm67liY3kvY3kuo4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NjQgYnVpbHRpbi9jbG9uZS5jOjY2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjY2NyBidWlsdGluL2Nsb25lLmM6NjYwCiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBIRUFEIgogbXNnc3RyICLkuI3og73mm7TmlrAgSEVBRCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjY3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLph43nva7liIbmlK8gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjcxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICLlt7Lnu4/kvY3kuo4gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLliIfmjaLlubbph43nva7liIbmlK8gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njc3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIuWIh+aNouWIsOS4gOS4quaWsOWIhuaUryAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAi5YiH5o2i5Yiw5YiG5pSvICclcydcbiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzMxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAuLi4gYW5kICVkIG1vcmUuXG4iCiBtc2dzdHIgIiAuLi4g5Y+K5YW25a6DICVkIOS4quOAglxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtNDY0Niw3ICs1NTY1LDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTQ2NzMsMTUwICs1NTkyLDE1MCBAQAogIiBnaXQgYnJhbmNoIDzmlrDliIbmlK/lkI0+ICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTQKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgogbXNnc3RyICLlnKjniYjmnKzpgY3ljobml7bpgYfliLDlhoXpg6jplJnor68iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTgKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAi5LmL5YmN55qEIEhFQUQg5L2N572u5pivIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODIzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODI1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY0CiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAi5oKo5L2N5LqO5LiA5Liq5bCa5pyq5Yid5aeL5YyW55qE5YiG5pSvIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgotbXNnc3RyICLlj6ropoHkuIDkuKrlvJXnlKjvvIzljbTnu5nlh7rkuoYgJWQg5LiqIgorbXNnc3RyICLlupTlj6rmnInkuIDkuKrlvJXnlKjvvIzljbTnu5nlh7rkuoYgJWQg5LiqIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwOCBidWlsdGluL3dvcmt0cmVlLmM6MjEyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxMCBidWlsdGluL3dvcmt0cmVlLmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAi5peg5pWI5byV55So77yaJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgIuW8leeUqOS4jeaYr+S4gOS4quagke+8miVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3NgorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNzgKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAi6Lev5b6E5LiN6IO95ZKM5YiH5o2i5YiG5pSv5ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3OSBidWlsdGluL2NoZWNrb3V0LmM6MTA4MworIzogYnVpbHRpbi9jaGVja291dC5jOjEwODEgYnVpbHRpbi9jaGVja291dC5jOjEwODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiJyVzJyDkuI3og73lkozliIfmjaLliIbmlK/lkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDg3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDkwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDk1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEwODkgYnVpbHRpbi9jaGVja291dC5jOjEwOTIgYnVpbHRpbi9jaGVja291dC5jOjEwOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICInJXMnIOS4jeiDveWSjCAnJXMnIOWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMDMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICLkuI3og73liIfmjaLliIbmlK/liLDkuIDkuKrpnZ7mj5DkuqQgJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzYgYnVpbHRpbi9jaGVja291dC5jOjExMzggYnVpbHRpbi9jbG9uZS5jOjg4Ci0jOiBidWlsdGluL3JlbW90ZS5jOjE2NSBidWlsdGluL3JlbW90ZS5jOjE2NyBidWlsdGluL3dvcmt0cmVlLmM6MzIzCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzOCBidWlsdGluL2NoZWNrb3V0LmM6MTE0MCBidWlsdGluL2Nsb25lLmM6OTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1IGJ1aWx0aW4vcmVtb3RlLmM6MTY3IGJ1aWx0aW4vd29ya3RyZWUuYzozMjQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMjYKIG1zZ2lkICJicmFuY2giCiBtc2dzdHIgIuWIhuaUryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM5CiBtc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCiBtc2dzdHIgIuWIm+W7uuW5tuajgOWHuuS4gOS4quaWsOeahOWIhuaUryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQxCiBtc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKIG1zZ3N0ciAi5Yib5bu6L+mHjee9ruW5tuajgOWHuuS4gOS4quWIhuaUryIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQyCiBtc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi5Li65paw55qE5YiG5pSv5Yib5bu65byV55So5pel5b+XIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MQotbXNnaWQgImRldGFjaCB0aGUgSEVBRCBhdCBuYW1lZCBjb21taXQiCi1tc2dzdHIgIuaIkOS4uuaMh+WQkeivpeaPkOS6pOeahOWIhuemu+WktOaMh+mSiCIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQzIGJ1aWx0aW4vd29ya3RyZWUuYzozMjgKK21zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCittc2dzdHIgIkhFQUQg5LuO5oyH5a6a55qE5o+Q5Lqk5YiG56a7IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDQKIG1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi5Li65paw55qE5YiG5pSv6K6+572u5LiK5ri45L+h5oGvIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDYKIG1zZ2lkICJuZXctYnJhbmNoIgogbXNnc3RyICLmlrDliIbmlK8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NgogbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKIG1zZ3N0ciAi5paw55qE5rKh5pyJ54i25o+Q5Lqk55qE5YiG5pSvIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NQorIzogYnVpbHRpbi9jaGVja291dC5jOjExNDcKIG1zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgIuWvueWwmuacquWQiOW5tueahOaWh+S7tuajgOWHuuaIkeS7rOeahOeJiOacrCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQ5CiBtc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgIuWvueWwmuacquWQiOW5tueahOaWh+S7tuajgOWHuuS7luS7rOeahOeJiOacrCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUxCiBtc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCiBtc2dzdHIgIuW8uuWItuajgOWHuu+8iOS4ouW8g+acrOWcsOS/ruaUue+8iSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUyCiBtc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCiBtc2dzdHIgIuWSjOaWsOeahOWIhuaUr+aJp+ihjOS4ieaWueWQiOW5tiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNTEgYnVpbHRpbi9tZXJnZS5jOjIzMAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMgYnVpbHRpbi9tZXJnZS5jOjIzMQogbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKIG1zZ3N0ciAi5pu05paw5b+955Wl55qE5paH5Lu277yI6buY6K6k77yJIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MiBidWlsdGluL2xvZy5jOjE0MzIgcGFyc2Utb3B0aW9ucy5oOjI1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNTQgYnVpbHRpbi9sb2cuYzoxNDY2IHBhcnNlLW9wdGlvbnMuaDoyNTEKIG1zZ2lkICJzdHlsZSIKIG1zZ3N0ciAi6aOO5qC8IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MworIzogYnVpbHRpbi9jaGVja291dC5jOjExNTUKIG1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgogbXNnc3RyICLlhrLnqoHovpPlh7rpo47moLzvvIhtZXJnZSDmiJYgZGlmZjPvvIkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAogbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKIG1zZ3N0ciAi5a+56Lev5b6E5LiN5YGa56iA55aP5qOA5Ye655qE6ZmQ5Yi2IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjExNjAKIG1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKIG1zZ3N0ciAi5LqM5qyh54yc5rWLJ2dpdCBjaGVja291dCA85peg5q2k5YiG5pSvPiciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MgogbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKIG1zZ3N0ciAi5LiN5qOA5p+l5oyH5a6a55qE5byV55So5piv5ZCm6KKr5YW25LuW5bel5L2c5Yy65omA5Y2g55SoIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MSBidWlsdGluL2Nsb25lLmM6NjAgYnVpbHRpbi9mZXRjaC5jOjExNgotIzogYnVpbHRpbi9tZXJnZS5jOjIyNyBidWlsdGluL3B1bGwuYzoxMTYgYnVpbHRpbi9wdXNoLmM6NTI2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE2MyBidWlsdGluL2Nsb25lLmM6NjMgYnVpbHRpbi9mZXRjaC5jOjExOQorIzogYnVpbHRpbi9tZXJnZS5jOjIyOCBidWlsdGluL3B1bGwuYzoxMTcgYnVpbHRpbi9wdXNoLmM6NTM2CiAjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2OAogbXNnaWQgImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAi5by65Yi25pi+56S66L+b5bqm5oql5ZGKIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjExOTQKIG1zZ2lkICItYiwgLUIgYW5kIC0tb3JwaGFuIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1i44CBLUIg5ZKMIC0tb3JwaGFuIOaYr+S6kuaWpeeahCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjExCiBtc2dpZCAiLS10cmFjayBuZWVkcyBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICItLXRyYWNrIOmcgOimgeS4gOS4quWIhuaUr+WQjSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjE2CiBtc2dpZCAiTWlzc2luZyBicmFuY2ggbmFtZTsgdHJ5IC1iIgogbXNnc3RyICLnvLrlsJHliIbmlK/lkI3vvJvlsJ3or5UgLWIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MgogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICLml6DmlYjnmoTot6/lvoTop4TmoLwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuXG4iCkBAIC00ODI1LDEyICs1NzQ0LDEyIEBACiAi5LiN6IO95ZCM5pe25pu05paw6Lev5b6E5bm25YiH5o2i5Yiw5YiG5pSvJyVzJ+OAglxuIgogIuaCqOaYr+aDs+imgeajgOWHuiAnJXMnIOS9huWFtuacquiDveino+aekOS4uuaPkOS6pOS5iO+8nyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V077yaLS1kZXRhY2gg5LiN6IO95o6l5pS26Lev5b6E5Y+C5pWwICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2OAogbXNnaWQgIiIKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKQEAgLTQ5ODEsOCArNTkwMCw4IEBACiBtc2dpZCAicmVtb3ZlIHdob2xlIGRpcmVjdG9yaWVzIgogbXNnc3RyICLliKDpmaTmlbTkuKrnm67lvZUiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NzUgYnVpbHRpbi9kZXNjcmliZS5jOjQwNyBidWlsdGluL2dyZXAuYzo3MjQKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NTYgYnVpbHRpbi9uYW1lLXJldi5jOjMxNCBidWlsdGluL3Nob3ctcmVmLmM6MTgyCisjOiBidWlsdGluL2NsZWFuLmM6ODc1IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcgYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMgYnVpbHRpbi9zaG93LXJlZi5jOjE4MgogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgIuaooeW8jyIKIApAQCAtNTAyMCwxMTMgKzU5MzksMTMwIEBACiBtc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbPOmAiemhuT5dIFstLV0gPOS7k+W6kz4gWzzot6/lvoQ+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjYyCisjOiBidWlsdGluL2Nsb25lLmM6NjUKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAi5LiN5Yib5bu65LiA5Liq5qOA5Ye6IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjMgYnVpbHRpbi9jbG9uZS5jOjY1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3MworIzogYnVpbHRpbi9jbG9uZS5jOjY2IGJ1aWx0aW4vY2xvbmUuYzo2OCBidWlsdGluL2luaXQtZGIuYzo0NzgKIG1zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuWIm+W7uuS4gOS4que6r+S7k+W6kyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY3CisjOiBidWlsdGluL2Nsb25lLmM6NzAKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAi5Yib5bu65LiA5Liq6ZWc5YOP5LuT5bqT77yI5Lmf5piv57qv5LuT5bqT77yJIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MgogbXNnaWQgInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICLku47mnKzlnLDku5PlupPlhYvpmoYiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MQorIzogYnVpbHRpbi9jbG9uZS5jOjc0CiBtc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCiBtc2dzdHIgIuS4jeS9v+eUqOacrOWcsOehrOmTvuaOpe+8jOWni+e7iOWkjeWItiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjczCisjOiBidWlsdGluL2Nsb25lLmM6NzYKIG1zZ2lkICJzZXR1cCBhcyBzaGFyZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi6K6+572u5Li65YWx5Lqr5LuT5bqTIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzUgYnVpbHRpbi9jbG9uZS5jOjc3CisjOiBidWlsdGluL2Nsb25lLmM6NzggYnVpbHRpbi9jbG9uZS5jOjgwCiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAi5Zyo5YWL6ZqG5pe25Yid5aeL5YyW5a2Q5qih57uEIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MgogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGNsb25lZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAi5bm25Y+R5YWL6ZqG55qE5a2Q5qih57uE55qE5pWw6YePIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODAgYnVpbHRpbi9pbml0LWRiLmM6NDcwCisjOiBidWlsdGluL2Nsb25lLmM6ODMgYnVpbHRpbi9pbml0LWRiLmM6NDc1CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICLmqKHmnb/nm67lvZUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MSBidWlsdGluL2luaXQtZGIuYzo0NzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NCBidWlsdGluL2luaXQtZGIuYzo0NzYKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICLmqKHmnb/nm67lvZXlsIbooqvkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDk4Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc3CisjOiBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9jbG9uZS5jOjg4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NTQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi5Y+C6ICD5LuT5bqTIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MAogbXNnaWQgInVzZSAtLXJlZmVyZW5jZSBvbmx5IHdoaWxlIGNsb25pbmciCiBtc2dzdHIgIuS7heWcqOWFi+mahuaXtuWPguiAgyAtLXJlZmVyZW5jZSDmjIflkJHnmoTmnKzlnLDku5PlupMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2NvbHVtbi5jOjI2IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0CisjOiBidWlsdGluL2Nsb25lLmM6OTEgYnVpbHRpbi9jb2x1bW4uYzoyNiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAogbXNnaWQgIm5hbWUiCiBtc2dzdHIgIuWQjeensCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3CisjOiBidWlsdGluL2Nsb25lLmM6OTIKIG1zZ2lkICJ1c2UgPG5hbWU+IGluc3RlYWQgb2YgJ29yaWdpbicgdG8gdHJhY2sgdXBzdHJlYW0iCiBtc2dzdHIgIuS9v+eUqCA85ZCN56ewPiDogIzkuI3mmK8gJ29yaWdpbicg5Y676Lef6Liq5LiK5ri4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NAogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCiBtc2dzdHIgIuajgOWHuiA85YiG5pSvPiDogIzkuI3mmK/ov5znqIsgSEVBRCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxCisjOiBidWlsdGluL2Nsb25lLmM6OTYKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICLov5znqIsgZ2l0LXVwbG9hZC1wYWNrIOi3r+W+hCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyIGJ1aWx0aW4vZmV0Y2guYzoxMTcgYnVpbHRpbi9ncmVwLmM6NjY3Ci0jOiBidWlsdGluL3B1bGwuYzoyMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NyBidWlsdGluL2ZldGNoLmM6MTIwIGJ1aWx0aW4vZ3JlcC5jOjY2OAorIzogYnVpbHRpbi9wdWxsLmM6MjAyCiBtc2dpZCAiZGVwdGgiCiBtc2dzdHIgIua3seW6piIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzCisjOiBidWlsdGluL2Nsb25lLmM6OTgKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIG9mIHRoYXQgZGVwdGgiCiBtc2dzdHIgIuWIm+W7uuS4gOS4quaMh+Wumua3seW6pueahOa1heWFi+mahiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1CisjOiBidWlsdGluL2Nsb25lLmM6OTkgYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDgKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNDIKK21zZ2lkICJ0aW1lIgorbXNnc3RyICLml7bpl7QiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKK21zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIHNpbmNlIGEgc3BlY2lmaWMgdGltZSIKK21zZ3N0ciAi5LuO5LiA5Liq54m55a6a5pe26Ze05Yib5bu65LiA5Liq5rWF5YWL6ZqGIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vZmV0Y2guYzoxMjQKK21zZ2lkICJyZXZpc2lvbiIKK21zZ3N0ciAi54mI5pysIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMjUKK21zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIGJ5IGV4Y2x1ZGluZyByZXYiCittc2dzdHIgIumAmui/h+aOkumZpOeJiOacrOadpea3seWMlua1heWFi+mahueahOWOhuWPsiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwNAogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAi5Y+q5YWL6ZqG5LiA5Liq5YiG5pSv44CBSEVBRCDmiJYgLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NworIzogYnVpbHRpbi9jbG9uZS5jOjEwNgogbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIGJlIHNoYWxsb3ciCiBtc2dzdHIgIuWtkOaooee7hOWwhuS7pea1heS4i+i9veaooeW8j+WFi+mahiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNyBidWlsdGluL2luaXQtZGIuYzo0ODQKIG1zZ2lkICJnaXRkaXIiCiBtc2dzdHIgImdpdOebruW9lSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwOCBidWlsdGluL2luaXQtZGIuYzo0ODUKIG1zZ2lkICJzZXBhcmF0ZSBnaXQgZGlyIGZyb20gd29ya2luZyB0cmVlIgogbXNnc3RyICJnaXTnm67lvZXlkozlt6XkvZzljLrliIbnprsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkKIG1zZ2lkICJrZXk9dmFsdWUiCiBtc2dzdHIgImtleT12YWx1ZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMQorIzogYnVpbHRpbi9jbG9uZS5jOjExMAogbXNnaWQgInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi5Zyo5paw5LuT5bqT5Lit6K6+572u6YWN572u5L+h5oGvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vZmV0Y2guYzoxMzEgYnVpbHRpbi9wdXNoLmM6NTM2CisjOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vZmV0Y2guYzoxNDAgYnVpbHRpbi9wdXNoLmM6NTQ3CiBtc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgIuWPquS9v+eUqCBJUHY0IOWcsOWdgCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwNCBidWlsdGluL2ZldGNoLmM6MTMzIGJ1aWx0aW4vcHVzaC5jOjUzOAorIzogYnVpbHRpbi9jbG9uZS5jOjExMyBidWlsdGluL2ZldGNoLmM6MTQyIGJ1aWx0aW4vcHVzaC5jOjU0OQogbXNnaWQgInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICLlj6rkvb/nlKggSVB2NiDlnLDlnYAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyNTAKIG1zZ2lkICIiCiAiTm8gZGlyZWN0b3J5IG5hbWUgY291bGQgYmUgZ3Vlc3NlZC5cbiIKICJQbGVhc2Ugc3BlY2lmeSBhIGRpcmVjdG9yeSBvbiB0aGUgY29tbWFuZCBsaW5lIgpAQCAtNTEzNCw1MiArNjA3MCw0MiBAQAogIuaXoOazleeMnOWIsOebruW9leWQjeOAglxuIgogIuivt+WcqOWRveS7pOihjOaMh+WumuS4gOS4quebruW9lSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMwNworIzogYnVpbHRpbi9jbG9uZS5jOjMwMwogIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKLW1zZ3N0ciAi5bCa5LiN5pSv5oyB5bCG5Y+C6ICD5LuT5bqTICclcycg5L2c5Li65LiA5Liq6ZO+5o6l5qOA5Ye644CCIgorbXNnaWQgImluZm86IENvdWxkIG5vdCBhZGQgYWx0ZXJuYXRlIGZvciAnJXMnOiAlc1xuIgorbXNnc3RyICJpbmZvOiDkuI3og73kuLogJyVzJyDmt7vliqDkuIDkuKrlpIfnlKjvvJolc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzA5CisjOiBidWlsdGluL2Nsb25lLmM6Mzc1CiAjLCBjLWZvcm1hdAotbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCi1tc2dzdHIgIuWPguiAg+S7k+W6kyAnJXMnIOS4jeaYr+S4gOS4quacrOWcsOS7k+W6k+OAgiIKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgorbXNnc3RyICLml6Dms5XmiZPlvIAgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMxNAotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCi1tc2dzdHIgIuWPguiAg+S7k+W6kyAnJXMnIOaYr+S4gOS4qua1heWFi+mahiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjMxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCi1tc2dzdHIgIuWPguiAg+S7k+W6kyAnJXMnIOW3suiiq+WrgeaOpSIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjM4NAorIzogYnVpbHRpbi9jbG9uZS5jOjM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMg5a2Y5Zyo5LiU5LiN5piv5LiA5Liq55uu5b2VIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mzk4CisjOiBidWlsdGluL2Nsb25lLmM6Mzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgIuaXoOazleaemuS4viAlcyDnirbmgIFcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQyMAorIzogYnVpbHRpbi9jbG9uZS5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGxpbmsgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5Yib5bu66ZO+5o6lICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MjQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNvcHkgZmlsZSB0byAnJXMnIgogbXNnc3RyICLml6Dms5Xmi7fotJ3mlofku7boh7MgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ0OSBidWlsdGluL2Nsb25lLmM6NjMzCisjOiBidWlsdGluL2Nsb25lLmM6NDQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvbmUuXG4iCiBtc2dzdHIgIuWujOaIkOOAglxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDYxCisjOiBidWlsdGluL2Nsb25lLmM6NDYwCiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKQEAgLTUxODksMTI2ICs2MTE1LDEzNSBAQAogIuaCqOWPr+S7pemAmui/hyAnZ2l0IHN0YXR1cycg5qOA5p+l5ZOq5Lqb5bey6KKr5qOA5Ye677yM54S25ZCO5L2/55So5ZG95LukXG4iCiAiJ2dpdCBjaGVja291dCAtZiBIRUFEJyDph43or5VcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjUzOAorIzogYnVpbHRpbi9jbG9uZS5jOjUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKIG1zZ3N0ciAi5LiN6IO95Y+R546w6KaB5YWL6ZqG55qE6L+c56iL5YiG5pSvICVz44CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjI4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eS4uLiAiCi1tc2dzdHIgIuajgOafpei/nuaOpS4uLiAiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo2MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2MzIKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAi6L+c56iL5rKh5pyJ5Y+R6YCB5omA5pyJ5b+F6aG755qE5a+56LGhIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjQ5CisjOiBidWlsdGluL2Nsb25lLmM6NjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgJXMiCiBtc2dzdHIgIuS4jeiDveabtOaWsCAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY5OAorIzogYnVpbHRpbi9jbG9uZS5jOjY5NwogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAi6L+c56iLIEhFQUQg5oyH5ZCR5LiA5Liq5LiN5a2Y5Zyo55qE5byV55So77yM5peg5rOV5qOA5Ye644CCXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MjgKIG1zZ2lkICJ1bmFibGUgdG8gY2hlY2tvdXQgd29ya2luZyB0cmVlIgogbXNnc3RyICLkuI3og73mo4Dlh7rlt6XkvZzljLoiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NjgKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcGFyYW1ldGVycyB0byBjb25maWcgZmlsZSIKIG1zZ3N0ciAi5peg5rOV5bCG5Y+C5pWw5YaZ5YWl6YWN572u5paH5Lu2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODMwCisjOiBidWlsdGluL2Nsb25lLmM6ODMxCiBtc2dpZCAiY2Fubm90IHJlcGFjayB0byBjbGVhbiB1cCIKIG1zZ3N0ciAi5peg5rOV5omn6KGMIHJlcGFjayDmnaXmuIXnkIYiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MzMKIG1zZ2lkICJjYW5ub3QgdW5saW5rIHRlbXBvcmFyeSBhbHRlcm5hdGVzIGZpbGUiCiBtc2dzdHIgIuaXoOazleWIoOmZpOS4tOaXtueahCBhbHRlcm5hdGVzIOaWh+S7tiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2NCBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE3MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NjYgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxODk1CiBtc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKIG1zZ3N0ciAi5aSq5aSa5Y+C5pWw44CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODY4CisjOiBidWlsdGluL2Nsb25lLmM6ODcwCiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICLmgqjlv4XpobvmjIflrprkuIDkuKrku5PlupPmnaXlhYvpmobjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NzkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICItLWJhcmUg5ZKMIC0tb3JpZ2luICVzIOmAiemhueS4jeWFvOWuueOAgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4MgorIzogYnVpbHRpbi9jbG9uZS5jOjg4NgogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICItLWJhcmUg5ZKMIC0tc2VwYXJhdGUtZ2l0LWRpciDpgInpobnkuI3lhbzlrrnjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICLku5PlupMgJyVzJyDkuI3lrZjlnKgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MDEgYnVpbHRpbi9mZXRjaC5jOjExNzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MDUgYnVpbHRpbi9mZXRjaC5jOjEzMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIgogbXNnc3RyICLmt7HluqYgJXMg5LiN5piv5LiA5Liq5q2j5pWwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTExCisjOiBidWlsdGluL2Nsb25lLmM6OTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgIuebruagh+i3r+W+hCAnJXMnIOW3sue7j+WtmOWcqO+8jOW5tuS4lOS4jeaYr+S4gOS4quepuuebruW9leOAgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyMQorIzogYnVpbHRpbi9jbG9uZS5jOjkyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIuW3peS9nOWMuiAnJXMnIOW3sue7j+WtmOWcqOOAgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzNiBidWlsdGluL2Nsb25lLmM6OTQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NDcKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjAgYnVpbHRpbi93b3JrdHJlZS5jOjI0NworIzogYnVpbHRpbi9jbG9uZS5jOjk0MCBidWlsdGluL2Nsb25lLmM6OTUxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMjIgYnVpbHRpbi93b3JrdHJlZS5jOjI0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95Li6ICclcycg5Yib5bu65YWI5a+855uu5b2VIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTM5CisjOiBidWlsdGluL2Nsb25lLmM6OTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgd29yayB0cmVlIGRpciAnJXMnIgogbXNnc3RyICLkuI3og73liJvlu7rlt6XkvZzljLrnm67lvZUgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1NworIzogYnVpbHRpbi9jbG9uZS5jOjk1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAi5YWL6ZqG5Yiw57qv5LuT5bqTICclcycuLi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1OQorIzogYnVpbHRpbi9jbG9uZS5jOjk1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgogbXNnc3RyICLmraPlhYvpmobliLAgJyVzJy4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTk4Ci1tc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCi1tc2dzdHIgIi0tZGVwdGgg5Zyo5pys5Zyw5YWL6ZqG6KKr5b+955Wl77yM5pS55Li6IGZpbGU6Ly8g5Y2P6K6u6K+V6K+V44CCIgorIzogYnVpbHRpbi9jbG9uZS5jOjk2MworbXNnaWQgIiIKKyJjbG9uZSAtLXJlY3Vyc2l2ZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGJvdGggLS1yZWZlcmVuY2UgYW5kIC0tcmVmZXJlbmNlLWlmLSIKKyJhYmxlIgorbXNnc3RyICJjbG9uZSAtLXJlY3Vyc2l2ZSDlkowgLS1yZWZlcmVuY2Ug5Lul5Y+KIC0tcmVmZXJlbmNlLWlmLWFibGUg5LiN5YW85a65IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwMQorIzogYnVpbHRpbi9jbG9uZS5jOjEwMTkKK21zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKK21zZ3N0ciAiLS1kZXB0aCDlnKjmnKzlnLDlhYvpmobml7booqvlv73nlaXvvIzor7fmlLnnlKggZmlsZTovLyDljY/orq7jgIIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIxCittc2dpZCAiLS1zaGFsbG93LXNpbmNlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKK21zZ3N0ciAiLS1zaGFsbG93LXNpbmNlIOWcqOacrOWcsOWFi+mahuaXtuiiq+W/veeVpe+8jOivt+aUueeUqCBmaWxlOi8vIOWNj+iuruOAgiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMjMKK21zZ2lkICItLXNoYWxsb3ctZXhjbHVkZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCittc2dzdHIgIi0tc2hhbGxvdy1leGNsdWRlIOWcqOacrOWcsOWFi+mahuaXtuiiq+W/veeVpe+8jOivt+aUueeUqCBmaWxlOi8vIOWNj+iuruOAgiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMjYKIG1zZ2lkICJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIgogbXNnc3RyICLmupDku5PlupPmmK/mtYXlhYvpmobvvIzlv73nlaUgLS1sb2NhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDMxCiBtc2dpZCAiLS1sb2NhbCBpcyBpZ25vcmVkIgogbXNnc3RyICItLWxvY2FsIOiiq+W/veeVpSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIgogbXNnc3RyICLkuI3nn6XpgZPlpoLkvZXlhYvpmoYgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDU5IGJ1aWx0aW4vY2xvbmUuYzoxMDY3CisjOiBidWlsdGluL2Nsb25lLmM6MTA5MCBidWlsdGluL2Nsb25lLmM6MTA5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdGUgYnJhbmNoICVzIG5vdCBmb3VuZCBpbiB1cHN0cmVhbSAlcyIKIG1zZ3N0ciAi6L+c56iL5YiG5pSvICVzIOWcqOS4iua4uCAlcyDmnKrlj5HnjrAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcwCisjOiBidWlsdGluL2Nsb25lLmM6MTEwMQogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIuaCqOS8vOS5juWFi+mahuS6huS4gOS4quepuuS7k+W6k+OAgiIKIApAQCAtNTQ0Miw0MyArNjM3Nyw0MyBAQAogIueEtuWQjuaJp+ihjCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIg57un57ut5a+55YW25L2Z5o+Q5Lqk5omn6KGM5ouj6YCJXG4iCiAi5pON5L2c44CCXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzA3CisjOiBidWlsdGluL2NvbW1pdC5jOjMxOAogbXNnaWQgImZhaWxlZCB0byB1bnBhY2sgSEVBRCB0cmVlIG9iamVjdCIKIG1zZ3N0ciAi5peg5rOV6Kej5YyFIEhFQUQg5qCR5a+56LGhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM0OAorIzogYnVpbHRpbi9jb21taXQuYzozNTkKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAi5LiN6IO95Yib5bu65Li05pe257Si5byVIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1NAorIzogYnVpbHRpbi9jb21taXQuYzozNjUKIG1zZ2lkICJpbnRlcmFjdGl2ZSBhZGQgZmFpbGVkIgogbXNnc3RyICLkuqTkupLlvI/mt7vliqDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY3CisjOiBidWlsdGluL2NvbW1pdC5jOjM3OAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICLml6Dms5Xmm7TmlrDkuLTml7bntKLlvJUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY5CisjOiBidWlsdGluL2NvbW1pdC5jOjM4MAogbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgbWFpbiBjYWNoZSB0cmVlIgogbXNnc3RyICLkuI3og73mm7TmlrDmoJHnmoTkuLvnvJPlrZgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzkzIGJ1aWx0aW4vY29tbWl0LmM6NDE2IGJ1aWx0aW4vY29tbWl0LmM6NDY1CisjOiBidWlsdGluL2NvbW1pdC5jOjQwNCBidWlsdGluL2NvbW1pdC5jOjQyNyBidWlsdGluL2NvbW1pdC5jOjQ3NgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKIG1zZ3N0ciAi5peg5rOV5YaZIG5ld19pbmRleCDmlofku7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDQ3CisjOiBidWlsdGluL2NvbW1pdC5jOjQ1OAogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAi5Zyo5ZCI5bm26L+H56iL5Lit5LiN6IO95YGa6YOo5YiG5o+Q5Lqk44CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ0OQorIzogYnVpbHRpbi9jb21taXQuYzo0NjAKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIuWcqOaLo+mAiei/h+eoi+S4reS4jeiDveWBmumDqOWIhuaPkOS6pOOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDY5CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICLml6Dms5Xor7vlj5bntKLlvJUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDc3CisjOiBidWlsdGluL2NvbW1pdC5jOjQ4OAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKIG1zZ3N0ciAi5peg5rOV5YaZ5Li05pe257Si5byV5paH5Lu2IgogCkBAIC01NTA3LDEyICs2NDQyLDEyIEBACiAiaW4gdGhlIGN1cnJlbnQgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIuaXoOazlemAieaLqeS4gOS4quacquiiq+W9k+WJjeaPkOS6pOivtOaYjuS9v+eUqOeahOazqOmHiuWtl+espiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2OTIgYnVpbHRpbi9jb21taXQuYzo3MjUgYnVpbHRpbi9jb21taXQuYzoxMDkxCisjOiBidWlsdGluL2NvbW1pdC5jOjY5MiBidWlsdGluL2NvbW1pdC5jOjcyNSBidWlsdGluL2NvbW1pdC5jOjEwOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgIuS4jeiDveafpeivouaPkOS6pCAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDQgYnVpbHRpbi9zaG9ydGxvZy5jOjI4NQorIzogYnVpbHRpbi9jb21taXQuYzo3MDQgYnVpbHRpbi9zaG9ydGxvZy5jOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIocmVhZGluZyBsb2cgbWVzc2FnZSBmcm9tIHN0YW5kYXJkIGlucHV0KVxuIgogbXNnc3RyICLvvIjmraPku47moIflh4bovpPlhaXkuK3or7vlj5bml6Xlv5fkv6Hmga/vvIlcbiIKQEAgLTU2MDcsMzI1ICs2NTQyLDMyOSBAQAogbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgogbXNnc3RyICLml6Dms5Xor7vlj5bntKLlvJUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjk1NAogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICLml6Dms5XliJvlu7rmoJHlr7nosaEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTY0IGJ1aWx0aW4vdGFnLmM6MjY2CisjOiBidWlsdGluL2NvbW1pdC5jOjk2OSBidWlsdGluL3RhZy5jOjI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIuivt+S9v+eUqCAtbSDmiJYgLUYg6YCJ6aG55o+Q5L6b5o+Q5Lqk6K+05piO44CCXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2NgorIzogYnVpbHRpbi9jb21taXQuYzoxMDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYXV0aG9yICclcycgaXMgbm90ICdOYW1lIDxlbWFpbD4nIGFuZCBtYXRjaGVzIG5vIGV4aXN0aW5nIGF1dGhvciIKIG1zZ3N0ciAiLS1hdXRob3IgJyVzJyDkuI3mmK8gJ05hbWUgPGVtYWlsPicg5qC85byP77yM5LiU5pyq6IO95Zyo546w5pyJ5L2c6ICF5Lit5om+5Yiw5Yy56YWNIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwODEgYnVpbHRpbi9jb21taXQuYzoxMzIxCisjOiBidWlsdGluL2NvbW1pdC5jOjEwODYgYnVpbHRpbi9jb21taXQuYzoxMzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAi5peg5pWI55qE5pyq6L+96Liq5paH5Lu25Y+C5pWwICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExOAorIzogYnVpbHRpbi9jb21taXQuYzoxMTI0CiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWxvbmcg5ZKMIC16IOmAiemhueS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjExNTQKIG1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLlkIzml7bkvb/nlKggLS1yZXNldC1hdXRob3Ig5ZKMIC0tYXV0aG9yIOayoeacieaEj+S5iSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTU3CisjOiBidWlsdGluL2NvbW1pdC5jOjExNjMKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKIG1zZ3N0ciAi5oKo5rKh5pyJ5Y+v5L+u6KGl55qE5o+Q5Lqk44CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIuaCqOato+WkhOS6juS4gOS4quWQiOW5tui/h+eoi+S4rSAtLSDml6Dms5Xkv67ooaXmj5DkuqTjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2MgorIzogYnVpbHRpbi9jb21taXQuYzoxMTY4CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hlcnJ5LXBpY2sgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAi5oKo5q2j5aSE5LqO5LiA5Liq5ouj6YCJ6L+H56iL5LitIC0tIOaXoOazleS/ruihpeaPkOS6pOOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY1CisjOiBidWlsdGluL2NvbW1pdC5jOjExNzEKIG1zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICLpgInpobkgLS1zcXVhc2gg5ZKMIC0tZml4dXAg5LiN6IO95ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MQogbXNnaWQgIk9ubHkgb25lIG9mIC1jLy1DLy1GLy0tZml4dXAgY2FuIGJlIHVzZWQuIgogbXNnc3RyICLlj6rog73nlKjkuIDkuKogLWMvLUMvLUYvLS1maXh1cCDpgInpobnjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3NworIzogYnVpbHRpbi9jb21taXQuYzoxMTgzCiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLy0tZml4dXAuIgogbXNnc3RyICLpgInpobkgLW0g5LiN6IO95ZKMIC1jLy1DLy1GLy0tZml4dXAg5ZCM5pe25L2/55So44CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExODUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE5MQogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIi0tcmVzZXQtYXV0aG9yIOWPquiDveWSjCAtQ+OAgS1jIOaIliAtLWFtZW5kIOWQjOaXtuS9v+eUqOOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjAyCisjOiBidWlsdGluL2NvbW1pdC5jOjEyMDgKIG1zZ2lkICJPbmx5IG9uZSBvZiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIuWPquiDveeUqOS4gOS4qiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCDpgInpobnjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwNAorIzogYnVpbHRpbi9jb21taXQuYzoxMjEwCiBtc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICLlj4LmlbAgLS1pbmNsdWRlLy0tb25seSDkuI3ot5/ot6/lvoTmsqHmnInmhI/kuYnjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwNgorIzogYnVpbHRpbi9jb21taXQuYzoxMjEyCiBtc2dpZCAiQ2xldmVyLi4uIGFtZW5kaW5nIHRoZSBsYXN0IG9uZSB3aXRoIGRpcnR5IGluZGV4LiIKIG1zZ3N0ciAi6IGq5piOLi4uIOeUqOiEj+e0ouW8leS/ruihpeacgOWQjuS4gOS4quaPkOS6pOOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMTQKIG1zZ2lkICJFeHBsaWNpdCBwYXRocyBzcGVjaWZpZWQgd2l0aG91dCAtaSBvciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgogbXNnc3RyICLmjIflrprkuobmmI7noa7nmoTot6/lvoTogIzmsqHmnInkvb/nlKggLWkg5oiWIC1vIOmAiemhue+8jOiupOS4uuaYryAtLW9ubHkgcGF0aHMuLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyMCBidWlsdGluL3RhZy5jOjQ3NAorIzogYnVpbHRpbi9jb21taXQuYzoxMjI2IGJ1aWx0aW4vdGFnLmM6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgogbXNnc3RyICLml6DmlYjnmoTmuIXnkIbmqKHlvI8gJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNQorIzogYnVpbHRpbi9jb21taXQuYzoxMjMxCiBtc2dpZCAiUGF0aHMgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKIG1zZ3N0ciAi6Lev5b6E5ZKMIC1hIOmAiemhueWQjOaXtuS9v+eUqOayoeacieaEj+S5ieOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM1IGJ1aWx0aW4vY29tbWl0LmM6MTYyMQorIzogYnVpbHRpbi9jb21taXQuYzoxMzQxIGJ1aWx0aW4vY29tbWl0LmM6MTYxNwogbXNnaWQgInNob3cgc3RhdHVzIGNvbmNpc2VseSIKIG1zZ3N0ciAi5Lul566A5rSB55qE5qC85byP5pi+56S654q25oCBIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzcgYnVpbHRpbi9jb21taXQuYzoxNjIzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDMgYnVpbHRpbi9jb21taXQuYzoxNjE5CiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgIuaYvuekuuWIhuaUr+S/oeaBryIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM5IGJ1aWx0aW4vY29tbWl0LmM6MTYyNSBidWlsdGluL3B1c2guYzo1MTIKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgIueJiOacrCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzQ1IGJ1aWx0aW4vY29tbWl0LmM6MTYyMSBidWlsdGluL3B1c2guYzo1MjIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDAKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAi5py65Zmo5Y+v6K+755qE6L6T5Ye6IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDIgYnVpbHRpbi9jb21taXQuYzoxNjI3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9jb21taXQuYzoxNjIzCiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICLku6Xplb/moLzlvI/mmL7npLrnirbmgIHvvIjpu5jorqTvvIkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NSBidWlsdGluL2NvbW1pdC5jOjE2MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MSBidWlsdGluL2NvbW1pdC5jOjE2MjYKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAi5p2h55uu5LulIE5VTCDlrZfnrKbnu5PlsL4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NyBidWlsdGluL2NvbW1pdC5jOjE2MzMgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjk4MQorIzogYnVpbHRpbi9jb21taXQuYzoxMzUzIGJ1aWx0aW4vY29tbWl0LmM6MTYyOSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTgxCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6OTg0IGJ1aWx0aW4vdGFnLmM6MzUzCiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAi5qih5byPIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9jb21taXQuYzoxNjMzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTQgYnVpbHRpbi9jb21taXQuYzoxNjI5CiBtc2dpZCAic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIgogbXNnc3RyICLmmL7npLrmnKrot5/ouKrnmoTmlofku7bvvIzigJzmqKHlvI/igJ3nmoTlj6/pgInlj4LmlbDvvJphbGzjgIFub3JtYWzjgIFub+OAgu+8iOm7mOiupO+8mmFsbO+8iSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTcKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIuaYvuekuuW/veeVpeeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzUyIHBhcnNlLW9wdGlvbnMuaDoxNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OCBwYXJzZS1vcHRpb25zLmg6MTU1CiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAi5L2V5pe2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OQogbXNnaWQgIiIKICJpZ25vcmUgY2hhbmdlcyB0byBzdWJtb2R1bGVzLCBvcHRpb25hbCB3aGVuOiBhbGwsIGRpcnR5LCB1bnRyYWNrZWQuICIKICIoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAiIgogIuW/veeVpeWtkOaooee7hOeahOabtOaUue+8jOKAnOS9leaXtuKAneeahOWPr+mAieWPguaVsO+8mmFsbOOAgWRpcnR544CBdW50cmFja2Vk44CC77yI6buY6K6k77yaYWxs77yJIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MQogbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgIuS7peWIl+eahOaWueW8j+aYvuekuuacqui3n+i4queahOaWh+S7tiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDQxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0MzcKIG1zZ2lkICJjb3VsZG4ndCBsb29rIHVwIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICLml6Dms5Xmib7liLDmlrDliJvlu7rnmoTmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0MworIzogYnVpbHRpbi9jb21taXQuYzoxNDM5CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICLkuI3og73op6PmnpDmlrDliJvlu7rnmoTmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4OAorIzogYnVpbHRpbi9jb21taXQuYzoxNDg0CiBtc2dpZCAiZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAi5YiG56a75aS05oyH6ZKIIgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDg3CiBtc2dpZCAiIChyb290LWNvbW1pdCkiCiBtc2dzdHIgIu+8iOagueaPkOS6pO+8iSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTkxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1ODcKIG1zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgogbXNnc3RyICLmj5DkuqTmiJDlip/lkI7kuI3mmL7npLrmpoLov7Dkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CiBtc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICLlnKjmj5DkuqTor7TmmI7mqKHmnb/ph4zmmL7npLrlt67lvIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTkwCiBtc2dpZCAiQ29tbWl0IG1lc3NhZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAi5o+Q5Lqk6K+05piO6YCJ6aG5IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTUgYnVpbHRpbi90YWcuYzozNTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MSBidWlsdGluL3RhZy5jOjM1MQogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgIuS7juaWh+S7tuS4reivu+WPluaPkOS6pOivtOaYjiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgIuS9nOiAhSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTIKIG1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKIG1zZ3N0ciAi5o+Q5Lqk5pe26KaG55uW5L2c6ICFIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTcgYnVpbHRpbi9nYy5jOjMyNgorIzogYnVpbHRpbi9jb21taXQuYzoxNTkzIGJ1aWx0aW4vZ2MuYzozMjYKIG1zZ2lkICJkYXRlIgogbXNnc3RyICLml6XmnJ8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NworIzogYnVpbHRpbi9jb21taXQuYzoxNTkzCiBtc2dpZCAib3ZlcnJpZGUgZGF0ZSBmb3IgY29tbWl0IgogbXNnc3RyICLmj5DkuqTml7bopobnm5bml6XmnJ8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBidWlsdGluL21lcmdlLmM6MjE5IGJ1aWx0aW4vbm90ZXMuYzozOTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NTggYnVpbHRpbi90YWcuYzozNDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NCBidWlsdGluL21lcmdlLmM6MjIwIGJ1aWx0aW4vbm90ZXMuYzozOTgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NjEgYnVpbHRpbi90YWcuYzozNDkKIG1zZ2lkICJtZXNzYWdlIgogbXNnc3RyICLor7TmmI4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OAorIzogYnVpbHRpbi9jb21taXQuYzoxNTk0CiBtc2dpZCAiY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIuaPkOS6pOivtOaYjiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk5IGJ1aWx0aW4vY29tbWl0LmM6MTYwMCBidWlsdGluL2NvbW1pdC5jOjE2MDEKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMiBwYXJzZS1vcHRpb25zLmg6MjU2IHJlZi1maWx0ZXIuaDo3OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTk1IGJ1aWx0aW4vY29tbWl0LmM6MTU5NiBidWlsdGluL2NvbW1pdC5jOjE1OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OCBwYXJzZS1vcHRpb25zLmg6MjU3IHJlZi1maWx0ZXIuaDo3OQogbXNnaWQgImNvbW1pdCIKIG1zZ3N0ciAi5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NQogbXNnaWQgInJldXNlIGFuZCBlZGl0IG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICLph43nlKjlubbnvJbovpHmjIflrprmj5DkuqTnmoTmj5DkuqTor7TmmI4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMAorIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CiBtc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIumHjeeUqOaMh+WumuaPkOS6pOeahOaPkOS6pOivtOaYjiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTcKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICLkvb/nlKggYXV0b3NxdWFzaCDmoLzlvI/nmoTmj5DkuqTor7TmmI7nlKjku6Xkv67mraPmjIflrprnmoTmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMgorIzogYnVpbHRpbi9jb21taXQuYzoxNTk4CiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gc3F1YXNoIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIuS9v+eUqCBhdXRvc3F1YXNoIOagvOW8j+eahOaPkOS6pOivtOaYjueUqOS7peWOi+e8qeiHs+aMh+WumueahOaPkOS6pCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjAzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1OTkKIG1zZ2lkICJ0aGUgY29tbWl0IGlzIGF1dGhvcmVkIGJ5IG1lIG5vdyAodXNlZCB3aXRoIC1DLy1jLy0tYW1lbmQpIgogbXNnc3RyICLnjrDlnKjlsIbor6Xmj5DkuqTnmoTkvZzogIXmlLnkuLrmiJHvvIjlkowgLUMvLWMvLS1hbWVuZCDlj4LmlbDlhbHnlKjvvIkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNCBidWlsdGluL2xvZy5jOjEzODIgYnVpbHRpbi9yZXZlcnQuYzo4NgorIzogYnVpbHRpbi9jb21taXQuYzoxNjAwIGJ1aWx0aW4vbG9nLmM6MTQxMyBidWlsdGluL3JldmVydC5jOjg2CiBtc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgogbXNnc3RyICLmt7vliqAgU2lnbmVkLW9mZi1ieTog562+5ZCNIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMQogbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKIG1zZ3N0ciAi5L2/55So5oyH5a6a55qE5qih5p2/5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMgogbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgogbXNnc3RyICLlvLrliLbnvJbovpHmj5DkuqQiCiAKICMgIOivkeiAhe+8muWPr+mAieWAvO+8jOS4jeiDvee/u+ivke+8iOaIluaYr+WOn+aWh+S4reeslOivr++8jOW6lOS4uiBtb2Rl77yJCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwMwogbXNnaWQgImRlZmF1bHQiCiBtc2dzdHIgImRlZmF1bHQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNyBidWlsdGluL3RhZy5jOjM1NAorIzogYnVpbHRpbi9jb21taXQuYzoxNjAzIGJ1aWx0aW4vdGFnLmM6MzU0CiBtc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKIG1zZ3N0ciAi6K6+572u5aaC5L2V5Yig6Zmk5o+Q5Lqk6K+05piO6YeM55qE56m65qC85ZKMI+azqOmHiiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjA4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDQKIG1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAi5Zyo5o+Q5Lqk6K+05piO5qih5p2/6YeM5YyF5ZCr54q25oCB5L+h5oGvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTAgYnVpbHRpbi9tZXJnZS5jOjIyOSBidWlsdGluL3B1bGwuYzoxNjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYwNiBidWlsdGluL21lcmdlLmM6MjMwIGJ1aWx0aW4vcHVsbC5jOjE2NgogIzogYnVpbHRpbi9yZXZlcnQuYzo5MwogbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKIG1zZ3N0ciAiR1BHIOaPkOS6pOetvuWQjSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjEzCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MDkKIG1zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKIG1zZ3N0ciAi5o+Q5Lqk5YaF5a656YCJ6aG5IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMAogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAi5o+Q5Lqk5omA5pyJ5pS55Yqo55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMQogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAi5re75Yqg5oyH5a6a55qE5paH5Lu25Yiw57Si5byV5Yy6562J5b6F5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMgogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICLkuqTkupLlvI/mt7vliqDmlofku7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNworIzogYnVpbHRpbi9jb21taXQuYzoxNjEzCiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAi5Lqk5LqS5byP5re75Yqg5Y+Y5pu0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAi5Y+q5o+Q5Lqk5oyH5a6a55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTkKLW1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBob29rIgotbXNnc3RyICLnu5Xov4cgcHJlLWNvbW1pdCDpkqnlrZAiCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTUKK21zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKK21zZ3N0ciAi57uV6L+HIHByZS1jb21taXQg5ZKMIGNvbW1pdC1tc2cg6ZKp5a2QIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNgogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgIuaYvuekuuWwhuimgeaPkOS6pOeahOWGheWuuSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjMxCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjcKIG1zZ2lkICJhbWVuZCBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgIuS/ruaUueWFiOWJjeeahOaPkOS6pCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjMyCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjgKIG1zZ2lkICJieXBhc3MgcG9zdC1yZXdyaXRlIGhvb2siCiBtc2dzdHIgIue7lei/hyBwb3N0LXJld3JpdGUg6ZKp5a2QIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMwogbXNnaWQgIm9rIHRvIHJlY29yZCBhbiBlbXB0eSBjaGFuZ2UiCiBtc2dzdHIgIuWFgeiuuOS4gOS4quepuuaPkOS6pCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjM5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MzUKIG1zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICLlhYHorrjnqbrnmoTmj5DkuqTor7TmmI4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjY0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgogbXNnc3RyICLkuI3og73op6PmnpAgSEVBRCDmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxOAorIzogYnVpbHRpbi9jb21taXQuYzoxNzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCiBtc2dzdHIgIuaNn+Wdj+eahCBNRVJHRV9IRUFEIOaWh+S7tu+8iCVz77yJIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTcxOQogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgIuS4jeiDveivu+WPliBNRVJHRV9NT0RFIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTczOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZTogJXMiCiBtc2dzdHIgIuS4jeiDveivu+WPluaPkOS6pOivtOaYju+8miVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCiBtc2dzdHIgIue7iOatouaPkOS6pO+8m+aCqOacquabtOaUueadpeiHquaooeeJiOeahOaPkOS6pOivtOaYjuOAglxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE3NjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTc1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICLnu4jmraLmj5DkuqTlm6DkuLrmj5DkuqTor7TmmI7kuLrnqbrjgIJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxODA4CisjOiBidWlsdGluL2NvbW1pdC5jOjE4MDIKIG1zZ2lkICIiCiAiUmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCiAibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBhbmQgcXVvdGEgaXNcbiIKQEAgLTU5MzgsMTM5ICs2ODc3LDEzOSBAQAogbXNnaWQgImdpdCBjb25maWcgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBjb25maWcgWzzpgInpobk+XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1NgorIzogYnVpbHRpbi9jb25maWcuYzo1NQogbXNnaWQgIkNvbmZpZyBmaWxlIGxvY2F0aW9uIgogbXNnc3RyICLphY3nva7mlofku7bkvY3nva4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTYKIG1zZ2lkICJ1c2UgZ2xvYmFsIGNvbmZpZyBmaWxlIgogbXNnc3RyICLkvb/nlKjlhajlsYDphY3nva7mlofku7YiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTcKIG1zZ2lkICJ1c2Ugc3lzdGVtIGNvbmZpZyBmaWxlIgogbXNnc3RyICLkvb/nlKjns7vnu5/nuqfphY3nva7mlofku7YiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTgKIG1zZ2lkICJ1c2UgcmVwb3NpdG9yeSBjb25maWcgZmlsZSIKIG1zZ3N0ciAi5L2/55So5LuT5bqT57qn6YWN572u5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYwCisjOiBidWlsdGluL2NvbmZpZy5jOjU5CiBtc2dpZCAidXNlIGdpdmVuIGNvbmZpZyBmaWxlIgogbXNnc3RyICLkvb/nlKjmjIflrprnmoTphY3nva7mlofku7YiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKIG1zZ2lkICJibG9iLWlkIgogbXNnc3RyICLmlbDmja7lr7nosaEgSUQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjAKIG1zZ2lkICJyZWFkIGNvbmZpZyBmcm9tIGdpdmVuIGJsb2Igb2JqZWN0IgogbXNnc3RyICLku47nu5nlrprnmoTmlbDmja7lr7nosaHor7vlj5bphY3nva4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjEKIG1zZ2lkICJBY3Rpb24iCiBtc2dzdHIgIuaTjeS9nCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MworIzogYnVpbHRpbi9jb25maWcuYzo2MgogbXNnaWQgImdldCB2YWx1ZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICLojrflj5blgLzvvJpuYW1lIFt2YWx1ZS1yZWdleF0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjMKIG1zZ2lkICJnZXQgYWxsIHZhbHVlczoga2V5IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIuiOt+W+l+aJgOacieeahOWAvO+8mmtleSBbdmFsdWUtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY1CisjOiBidWlsdGluL2NvbmZpZy5jOjY0CiBtc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIuagueaNruato+WImeihqOi+vuW8j+iOt+W+l+WAvO+8mm5hbWUtcmVnZXggW3ZhbHVlLXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NgorIzogYnVpbHRpbi9jb25maWcuYzo2NQogbXNnaWQgImdldCB2YWx1ZSBzcGVjaWZpYyBmb3IgdGhlIFVSTDogc2VjdGlvblsudmFyXSBVUkwiCiBtc2dzdHIgIuiOt+W+lyBVUkwg5Y+W5YC877yac2VjdGlvblsudmFyXSBVUkwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjYKIG1zZ2lkICJyZXBsYWNlIGFsbCBtYXRjaGluZyB2YXJpYWJsZXM6IG5hbWUgdmFsdWUgW3ZhbHVlX3JlZ2V4XSIKIG1zZ3N0ciAi5pu/5o2i5omA5pyJ5Yy56YWN55qE5Y+Y6YeP77yabmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY4CisjOiBidWlsdGluL2NvbmZpZy5jOjY3CiBtc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgogbXNnc3RyICLmt7vliqDkuIDkuKrmlrDnmoTlj5jph4/vvJpuYW1lIHZhbHVlIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5CisjOiBidWlsdGluL2NvbmZpZy5jOjY4CiBtc2dpZCAicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi5Yig6Zmk5LiA5Liq5Y+Y6YeP77yabmFtZSBbdmFsdWUtcmVnZXhdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwCisjOiBidWlsdGluL2NvbmZpZy5jOjY5CiBtc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgIuWIoOmZpOaJgOacieWMuemFjemhue+8mm5hbWUgW3ZhbHVlLXJlZ2V4XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MQorIzogYnVpbHRpbi9jb25maWcuYzo3MAogbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKIG1zZ3N0ciAi6YeN5ZG95ZCN5bCP6IqC77yab2xkLW5hbWUgbmV3LW5hbWUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEKIG1zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgogbXNnc3RyICLliKDpmaTkuIDkuKrlsI/oioLvvJpuYW1lIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczCisjOiBidWlsdGluL2NvbmZpZy5jOjcyCiBtc2dpZCAibGlzdCBhbGwiCiBtc2dzdHIgIuWIl+WHuuaJgOaciSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NAorIzogYnVpbHRpbi9jb25maWcuYzo3MwogbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgogbXNnc3RyICLmiZPlvIDkuIDkuKrnvJbovpHlmagiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQKIG1zZ2lkICJmaW5kIHRoZSBjb2xvciBjb25maWd1cmVkOiBzbG90IFtkZWZhdWx0XSIKIG1zZ3N0ciAi6I635b6X6YWN572u55qE6aKc6Imy77ya6YWN572uIFvpu5jorqRdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc2CisjOiBidWlsdGluL2NvbmZpZy5jOjc1CiBtc2dpZCAiZmluZCB0aGUgY29sb3Igc2V0dGluZzogc2xvdCBbc3Rkb3V0LWlzLXR0eV0iCiBtc2dzdHIgIuiOt+W+l+minOiJsuiuvue9ru+8mumFjee9riBbc3Rkb3V0LWlzLXR0eV0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzYKIG1zZ2lkICJUeXBlIgogbXNnc3RyICLnsbvlnosiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzcKIG1zZ2lkICJ2YWx1ZSBpcyBcInRydWVcIiBvciBcImZhbHNlXCIiCiBtc2dzdHIgIuWAvOaYryBcInRydWVcIiDmiJYgXCJmYWxzZVwiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc5CisjOiBidWlsdGluL2NvbmZpZy5jOjc4CiBtc2dpZCAidmFsdWUgaXMgZGVjaW1hbCBudW1iZXIiCiBtc2dzdHIgIuWAvOaYr+WNgei/m+WItuaVsCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MAorIzogYnVpbHRpbi9jb25maWcuYzo3OQogbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKIG1zZ3N0ciAi5YC85pivIC0tYm9vbCBvciAtLWludCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MQorIzogYnVpbHRpbi9jb25maWcuYzo4MAogbXNnaWQgInZhbHVlIGlzIGEgcGF0aCAoZmlsZSBvciBkaXJlY3RvcnkgbmFtZSkiCiBtc2dzdHIgIuWAvOaYr+S4gOS4qui3r+W+hO+8iOaWh+S7tuaIluebruW9leWQje+8iSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4MgorIzogYnVpbHRpbi9jb25maWcuYzo4MQogbXNnaWQgIk90aGVyIgogbXNnc3RyICLlhbblroMiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODIKIG1zZ2lkICJ0ZXJtaW5hdGUgdmFsdWVzIHdpdGggTlVMIGJ5dGUiCiBtc2dzdHIgIue7iOatouWAvOaYryBOVUwg5a2X6IqCIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg0CisjOiBidWlsdGluL2NvbmZpZy5jOjgzCiBtc2dpZCAic2hvdyB2YXJpYWJsZSBuYW1lcyBvbmx5IgogbXNnc3RyICLlj6rmmL7npLrlj5jph4/lkI0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCiBtc2dzdHIgIuafpeivouaXtuWPgueFpyBpbmNsdWRlIOaMh+S7pOmAkuW9kuafpeaJviIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NgorIzogYnVpbHRpbi9jb25maWcuYzo4NQogbXNnaWQgInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiCiBtc2dzdHIgIuaYvuekuumFjee9rueahOadpea6kO+8iOaWh+S7tuOAgeagh+WHhui+k+WFpeOAgeaVsOaNruWvueixoe+8jOaIluWRveS7pOihjO+8iSIKIAotIzogYnVpbHRpbi9jb25maWcuYzozMjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzI3CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGRlZmF1bHQgY29sb3IgdmFsdWUiCiBtc2dzdHIgIuS4jeiDveino+aekOm7mOiupOminOiJsuWAvCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIjIFRoaXMgaXMgR2l0J3MgcGVyLXVzZXIgY29uZmlndXJhdGlvbiBmaWxlLlxuIgpAQCAtNjA4NSwxNiArNzAyNCwyNSBAQAogIiNcdG5hbWUgPSAlc1xuIgogIiNcdGVtYWlsID0gJXNcbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgY29uZmlndXJhdGlvbiBmaWxlICVzIgogbXNnc3RyICLkuI3og73liJvlu7rphY3nva7mlofku7YgJXMiCiAKLSM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjc3CisjOiBidWlsdGluL2NvbmZpZy5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IG92ZXJ3cml0ZSBtdWx0aXBsZSB2YWx1ZXMgd2l0aCBhIHNpbmdsZSB2YWx1ZVxuIgorIiAgICAgICBVc2UgYSByZWdleHAsIC0tYWRkIG9yIC0tcmVwbGFjZS1hbGwgdG8gY2hhbmdlICVzLiIKK21zZ3N0ciAiIgorIuaXoOazleeUqOS4gOS4quWAvOimhuebluWkmuS4quWAvFxuIgorIiAgICAgICDkvb/nlKjkuIDkuKrmraPliJnooajovr7lvI/jgIEtLWFkZCDmiJYgLS1yZXBsYWNlLWFsbCDmnaXkv67mlLkgJXPjgIIiCisKKyM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjg2CiBtc2dpZCAiZ2l0IGNvdW50LW9iamVjdHMgWy12XSBbLUggfCAtLWh1bWFuLXJlYWRhYmxlXSIKIG1zZ3N0ciAiZ2l0IGNvdW50LW9iamVjdHMgWy12XSBbLUggfCAtLWh1bWFuLXJlYWRhYmxlXSIKIAotIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6ODcKKyM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk2CiBtc2dpZCAicHJpbnQgc2l6ZXMgaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0IgogbXNnc3RyICLku6XnlKjmiLflj6/or7vnmoTmoLzlvI/mmL7npLrlpKflsI8iCiAKQEAgLTYxMjEsNyArNzA2OSw3IEBACiBtc2dpZCAidGFnICclcycgaXMgcmVhbGx5ICclcycgaGVyZSIKIG1zZ3N0ciAi5qCH562+ICclcycg55qE56Gu5piv5ZyoICclcyciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTAgYnVpbHRpbi9sb2cuYzo0NjUKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNTAgYnVpbHRpbi9sb2cuYzo0ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIuS4jeaYr+S4gOS4quacieaViOeahOWvueixoeWQjSAlcyIKQEAgLTYyMTQsNyArNzE2Miw3IEBACiBtc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAi5Y+q6ICD6JmR5Yy56YWNIDzmqKHlvI8+IOeahOagh+etviIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMCBidWlsdGluL25hbWUtcmV2LmM6MzIxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDEwIGJ1aWx0aW4vbmFtZS1yZXYuYzozMjAKIG1zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCiBtc2dzdHIgIuaYvuekuueugOWGmeeahOaPkOS6pOWPt+S9nOS4uuWQjuWkhyIKIApAQCAtNjI0OCwyMSArNzE5NiwyMSBAQAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKIG1zZ3N0ciAi5peg5pWI6YCJ6aG577yaJXMiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM2MAorIzogYnVpbHRpbi9kaWZmLmM6MzYxCiBtc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIuS4jeaYr+S4gOS4qiBnaXQg5LuT5bqTIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MDMKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAi5o+Q5L6b5LqG5peg5pWI5a+56LGhICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxMgorIzogYnVpbHRpbi9kaWZmLmM6NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiB0d28gYmxvYnMgZ2l2ZW46ICclcyciCiBtc2dzdHIgIuaPkOS+m+S6hui2hei/h+S4pOS4quaVsOaNruWvueixoe+8miclcyciCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxOQorIzogYnVpbHRpbi9kaWZmLmM6NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIuaXoOazleWkhOeQhueahOWvueixoSAnJXMn44CCIgpAQCAtNjMxOSwxNzggKzcyNjcsMTgyIEBACiBtc2dpZCAiYW5vbnltaXplIG91dHB1dCIKIG1zZ3N0ciAi5Yy/5ZCN6L6T5Ye6IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMQogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs86YCJ6aG5Pl0gWzzku5PlupM+IFs85byV55So6KeE5qC8Pi4uLl1dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMgogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgogbXNnc3RyICJnaXQgZmV0Y2ggWzzpgInpobk+XSA857uEPiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIyCisjOiBidWlsdGluL2ZldGNoLmM6MjMKIG1zZ2lkICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wdGlvbnM+XSBbKDxyZXBvc2l0b3J5PiB8IDxncm91cD4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzzpgInpobk+XSBbKDzku5PlupM+IHwgPOe7hD4pLi4uXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjIzCisjOiBidWlsdGluL2ZldGNoLmM6MjQKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPOmAiemhuT5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIgYnVpbHRpbi9wdWxsLmM6MTc0CisjOiBidWlsdGluL2ZldGNoLmM6OTUgYnVpbHRpbi9wdWxsLmM6MTc1CiBtc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKIG1zZ3N0ciAi5LuO5omA5pyJ55qE6L+c56iL5oqT5Y+WIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTQgYnVpbHRpbi9wdWxsLmM6MTc3CisjOiBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9wdWxsLmM6MTc4CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICLov73liqDliLAgLmdpdC9GRVRDSF9IRUFEIOiAjOS4jeaYr+imhuebluWugyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk2IGJ1aWx0aW4vcHVsbC5jOjE4MAorIzogYnVpbHRpbi9mZXRjaC5jOjk5IGJ1aWx0aW4vcHVsbC5jOjE4MQogbXNnaWQgInBhdGggdG8gdXBsb2FkIHBhY2sgb24gcmVtb3RlIGVuZCIKIG1zZ3N0ciAi5LiK5Lyg5YyF5Yiw6L+c56iL55qE6Lev5b6EIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTcgYnVpbHRpbi9wdWxsLmM6MTgyCisjOiBidWlsdGluL2ZldGNoLmM6MTAwIGJ1aWx0aW4vcHVsbC5jOjE4MwogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgIuW8uuWItuimhuebluacrOWcsOWIhuaUryIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk5CisjOiBidWlsdGluL2ZldGNoLmM6MTAyCiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICLku47lpJrkuKrov5znqIvmipPlj5YiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDEgYnVpbHRpbi9wdWxsLmM6MTg0CisjOiBidWlsdGluL2ZldGNoLmM6MTA0IGJ1aWx0aW4vcHVsbC5jOjE4NQogbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCiBtc2dzdHIgIuaKk+WPluaJgOacieeahOagh+etvuWSjOWFs+iBlOWvueixoSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMworIzogYnVpbHRpbi9mZXRjaC5jOjEwNgogbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKIG1zZ3N0ciAi5LiN5oqT5Y+W5Lu75L2V5qCH562+KC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDgKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBmZXRjaGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICLlrZDmqKHnu4Tojrflj5bnmoTlubblj5HmlbAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDcgYnVpbHRpbi9wdWxsLmM6MTg3CisjOiBidWlsdGluL2ZldGNoLmM6MTEwIGJ1aWx0aW4vcHVsbC5jOjE4OAogbXNnaWQgInBydW5lIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBubyBsb25nZXIgb24gcmVtb3RlIgogbXNnc3RyICLmuIXpmaTov5znqIvlt7Lnu4/kuI3lrZjlnKjnmoTliIbmlK/nmoTot5/ouKrliIbmlK8iCiAKICMgIOivkeiAhe+8muWPr+mAieWAvO+8jOS4jeiDvee/u+ivkQotIzogYnVpbHRpbi9mZXRjaC5jOjEwOCBidWlsdGluL3B1bGwuYzoxOTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEgYnVpbHRpbi9wdWxsLmM6MTkxCiBtc2dpZCAib24tZGVtYW5kIgogbXNnc3RyICJvbi1kZW1hbmQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDkgYnVpbHRpbi9wdWxsLmM6MTkxCisjOiBidWlsdGluL2ZldGNoLmM6MTEyIGJ1aWx0aW4vcHVsbC5jOjE5MgogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIuaOp+WItuWtkOaooee7hOeahOmAkuW9kuaKk+WPliIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMyBidWlsdGluL3B1bGwuYzoxOTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYgYnVpbHRpbi9wdWxsLmM6MjAwCiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgIuS/neaMgeS4i+i9veWMhSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNQorIzogYnVpbHRpbi9mZXRjaC5jOjExOAogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICLlhYHorrjmm7TmlrAgSEVBRCDlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTggYnVpbHRpbi9wdWxsLmM6MjAyCisjOiBidWlsdGluL2ZldGNoLmM6MTIxIGJ1aWx0aW4vZmV0Y2guYzoxMjcgYnVpbHRpbi9wdWxsLmM6MjAzCiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSIKIG1zZ3N0ciAi5rex5YyW5rWF5YWL6ZqG55qE5Y6G5Y+yIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIwIGJ1aWx0aW4vcHVsbC5jOjIwNQorIzogYnVpbHRpbi9mZXRjaC5jOjEyMworbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgcmVwb3NpdG9yeSBiYXNlZCBvbiB0aW1lIgorbXNnc3RyICLln7rkuo7ml7bpl7TmnaXmt7HljJbmtYXlhYvpmobnmoTljoblj7IiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjkgYnVpbHRpbi9wdWxsLmM6MjA2CiBtc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIui9rOaNouS4uuS4gOS4quWujOaVtOeahOS7k+W6kyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMiBidWlsdGluL2xvZy5jOjEzOTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzEgYnVpbHRpbi9sb2cuYzoxNDMzCiBtc2dpZCAiZGlyIgogbXNnc3RyICLnm67lvZUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgogbXNnc3RyICLlnKjlrZDmqKHnu4Tot6/lvoTovpPlh7rnmoTliY3pnaLliqDkuIrmraTnm67lvZUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzUKIG1zZ2lkICJkZWZhdWx0IG1vZGUgZm9yIHJlY3Vyc2lvbiIKIG1zZ3N0ciAi6YCS5b2S55qE6buY6K6k5qih5byPIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI4IGJ1aWx0aW4vcHVsbC5jOjIwOAorIzogYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL3B1bGwuYzoyMDkKIG1zZ2lkICJhY2NlcHQgcmVmcyB0aGF0IHVwZGF0ZSAuZ2l0L3NoYWxsb3ciCiBtc2dzdHIgIuaOpeWPl+abtOaWsCAuZ2l0L3NoYWxsb3cg55qE5byV55SoIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI5IGJ1aWx0aW4vcHVsbC5jOjIxMAorIzogYnVpbHRpbi9mZXRjaC5jOjEzOCBidWlsdGluL3B1bGwuYzoyMTEKIG1zZ2lkICJyZWZtYXAiCiBtc2dzdHIgIuW8leeUqOaYoOWwhCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMCBidWlsdGluL3B1bGwuYzoyMTEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdWxsLmM6MjEyCiBtc2dpZCAic3BlY2lmeSBmZXRjaCByZWZtYXAiCiBtc2dzdHIgIuaMh+WumuiOt+WPluaTjeS9nOeahOW8leeUqOaYoOWwhCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM4NgorIzogYnVpbHRpbi9mZXRjaC5jOjM5OAogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICLml6Dms5Xlj5HnjrDov5znqIsgSEVBRCDlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0NjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29uZmlndXJhdGlvbiBmZXRjaC5vdXRwdXQgY29udGFpbnMgaW52YWxpZCB2YWx1ZSAlcyIKK21zZ3N0ciAi6YWN572u5Y+Y6YePIGZldGNoLm91dHB1dCDljIXlkKvml6DmlYjlgLwgJXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAi5a+56LGhICVzIOacquWPkeeOsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ3MQorIzogYnVpbHRpbi9mZXRjaC5jOjYxMQogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW+acgOaWsF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0ODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiISAlLSpzICUtKnMgLT4gJXMgIChjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCkiCi1tc2dzdHIgIiEgJS0qcyAlLSpzIC0+ICVzICDvvIjlnKjlvZPliY3liIbmlK/kuIvkuI3og73ojrflj5bvvIkiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo0ODYgYnVpbHRpbi9mZXRjaC5jOjU3NAorIzogYnVpbHRpbi9mZXRjaC5jOjYyNCBidWlsdGluL2ZldGNoLmM6NzA0CiBtc2dpZCAiW3JlamVjdGVkXSIKIG1zZ3N0ciAiW+W3suaLkue7nV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0OTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MjUKK21zZ2lkICJjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCIKK21zZ3N0ciAi5b2T5YmN5YiG5pSv5LiL5LiN6IO95omn6KGM6I635Y+W5pON5L2cIgorCisjOiBidWlsdGluL2ZldGNoLmM6NjM0CiBtc2dpZCAiW3RhZyB1cGRhdGVdIgogbXNnc3RyICJb5qCH562+5pu05pawXSIKIAotIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiBidWlsdGluL2ZldGNoLmM6NDk5IGJ1aWx0aW4vZmV0Y2guYzo1MzQgYnVpbHRpbi9mZXRjaC5jOjU1MgotbXNnaWQgIiAgKHVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmKSIKLW1zZ3N0ciAiICDvvIjkuI3og73mm7TmlrDmnKzlnLDlvJXnlKjvvIkiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1MTcKLW1zZ2lkICJbbmV3IHRhZ10iCi1tc2dzdHIgIlvmlrDmoIfnrb5dIgotCi0jOiBidWlsdGluL2ZldGNoLmM6NTIwCi1tc2dpZCAiW25ldyBicmFuY2hdIgotbXNnc3RyICJb5paw5YiG5pSvXSIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjUyMwotbXNnaWQgIltuZXcgcmVmXSIKLW1zZ3N0ciAiW+aWsOW8leeUqF0iCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzo1NjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2MzUgYnVpbHRpbi9mZXRjaC5jOjY2OCBidWlsdGluL2ZldGNoLmM6Njg0CisjOiBidWlsdGluL2ZldGNoLmM6Njk5CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiCiBtc2dzdHIgIuS4jeiDveabtOaWsOacrOWcsOW8leeUqCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU2OQorIzogYnVpbHRpbi9mZXRjaC5jOjY1NAorbXNnaWQgIltuZXcgdGFnXSIKK21zZ3N0ciAiW+aWsOagh+etvl0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTcKK21zZ2lkICJbbmV3IGJyYW5jaF0iCittc2dzdHIgIlvmlrDliIbmlK9dIgorCisjOiBidWlsdGluL2ZldGNoLmM6NjYwCittc2dpZCAiW25ldyByZWZdIgorbXNnc3RyICJb5paw5byV55SoXSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjY5OQogbXNnaWQgImZvcmNlZCB1cGRhdGUiCiBtc2dzdHIgIuW8uuWItuabtOaWsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU3NgotbXNnaWQgIihub24tZmFzdC1mb3J3YXJkKSIKLW1zZ3N0ciAi77yI6Z2e5b+r6L+b5byP77yJIgorIzogYnVpbHRpbi9mZXRjaC5jOjcwNAorbXNnaWQgIm5vbi1mYXN0LWZvcndhcmQiCittc2dzdHIgIumdnuW/q+i/myIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYxOQorIzogYnVpbHRpbi9mZXRjaC5jOjc0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCiBtc2dzdHIgIiVzIOacquWPkemAgeaJgOacieW/hemhu+eahOWvueixoVxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjM3CisjOiBidWlsdGluL2ZldGNoLmM6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlamVjdCAlcyBiZWNhdXNlIHNoYWxsb3cgcm9vdHMgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQiCiBtc2dzdHIgIuaLkue7nSAlcyDlm6DkuLrmtYXlhYvpmobkuI3lhYHorrjooqvmm7TmlrAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MjQgYnVpbHRpbi9mZXRjaC5jOjgxNgorIzogYnVpbHRpbi9mZXRjaC5jOjg1NiBidWlsdGluL2ZldGNoLmM6OTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICLmnaXoh6ogJS4qc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzM1CisjOiBidWlsdGluL2ZldGNoLmM6ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJzb21lIGxvY2FsIHJlZnMgY291bGQgbm90IGJlIHVwZGF0ZWQ7IHRyeSBydW5uaW5nXG4iCkBAIC02NTAwLDg3ICs3NDUyLDk1IEBACiAiICdnaXQgcmVtb3RlIHBydW5lICVzJyDmnaXliKDpmaTml6fnmoTjgIHmnInlhrLnqoHnmoTliIbmlK8iCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogYnVpbHRpbi9mZXRjaC5jOjc4NworIzogYnVpbHRpbi9mZXRjaC5jOjkyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICDvvIglcyDlsIbmiJDkuLrmkYfmkYbnirbmgIHvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogYnVpbHRpbi9mZXRjaC5jOjc4OAorIzogYnVpbHRpbi9mZXRjaC5jOjkyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgaGFzIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgIO+8iCVzIOW3suaIkOS4uuaRh+aRhueKtuaAge+8iSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgyMAorIzogYnVpbHRpbi9mZXRjaC5jOjk1NQogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiW+W3suWIoOmZpF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MjEgYnVpbHRpbi9yZW1vdGUuYzoxMDI1CisjOiBidWlsdGluL2ZldGNoLmM6OTU2IGJ1aWx0aW4vcmVtb3RlLmM6MTAyMAogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAi77yI5peg77yJIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODQxCisjOiBidWlsdGluL2ZldGNoLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi5ouS57ud6I635Y+W5Yiw6Z2e57qv5LuT5bqT55qE5b2T5YmN5YiG5pSvICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODYwCisjOiBidWlsdGluL2ZldGNoLmM6OTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgdmFsdWUgXCIlc1wiIGlzIG5vdCB2YWxpZCBmb3IgJXMiCiBtc2dzdHIgIumAiemhuSBcIiVzXCIg55qE5YC8IFwiJXNcIiDlr7nkuo4gJXMg5piv5peg5pWI55qEIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODYzCisjOiBidWlsdGluL2ZldGNoLmM6MTAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCiBtc2dzdHIgIumAiemhuSBcIiVzXCIg5Li6ICVzIOaJgOW/veeVpVxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTIwCisjOiBidWlsdGluL2ZldGNoLmM6MTA3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgogbXNnc3RyICLkuI3nn6XpgZPlpoLkvZXku44gJXMg6I635Y+WIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4MAorIzogYnVpbHRpbi9mZXRjaC5jOjEyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKIG1zZ3N0ciAi5q2j5Zyo6I635Y+WICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDgyIGJ1aWx0aW4vcmVtb3RlLmM6OTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjM5IGJ1aWx0aW4vcmVtb3RlLmM6OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICLkuI3og73ojrflj5YgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTAwCisjOiBidWlsdGluL2ZldGNoLmM6MTI1NwogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgogbXNnc3RyICLmnKrmjIflrprov5znqIvku5PlupPjgILor7fpgJrov4fkuIDkuKogVVJMIOaIlui/nOeoi+S7k+W6k+WQjeaMh+Wumu+8jOeUqOS7peiOt+WPluaWsOaPkOS6pOOAgiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjgwCiBtc2dpZCAiWW91IG5lZWQgdG8gc3BlY2lmeSBhIHRhZyBuYW1lLiIKIG1zZ3N0ciAi5oKo6ZyA6KaB5oyH5a6a5LiA5Liq5qCH562+5ZCN56ew44CCIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE2NQorIzogYnVpbHRpbi9mZXRjaC5jOjEzMjIKK21zZ2lkICJOZWdhdGl2ZSBkZXB0aCBpbiAtLWRlZXBlbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICItLWRlZXBlbiDkuI3mlK/mjIHotJ/mlbDmt7HluqYiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzI0Cittc2dpZCAiLS1kZWVwZW4gYW5kIC0tZGVwdGggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1kZWVwZW4g5ZKMIC0tZGVwdGgg5piv5LqS5pal55qEIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTMyOQogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICItLWRlcHRoIOWSjCAtLXVuc2hhbGxvdyDkuI3og73lkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTY3CisjOiBidWlsdGluL2ZldGNoLmM6MTMzMQogbXNnaWQgIi0tdW5zaGFsbG93IG9uIGEgY29tcGxldGUgcmVwb3NpdG9yeSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLlr7nkuo7kuIDkuKrlrozmlbTnmoTku5PlupPvvIzlj4LmlbAgLS11bnNoYWxsb3cg5rKh5pyJ5oSP5LmJIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4NworIzogYnVpbHRpbi9mZXRjaC5jOjEzNTMKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCB0YWtlIGEgcmVwb3NpdG9yeSBhcmd1bWVudCIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwg5LiN6IO95bim5LiA5Liq5LuT5bqT5Y+C5pWwIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE4OQorIzogYnVpbHRpbi9mZXRjaC5jOjEzNTUKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgImZldGNoIC0tYWxsIOW4puW8leeUqOinhOagvOayoeacieS7u+S9leaEj+S5iSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlIG9yIHJlbW90ZSBncm91cDogJXMiCiBtc2dzdHIgIuayoeaciei/meagt+eahOi/nOeoi+aIlui/nOeoi+e7hO+8miVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIwOAorIzogYnVpbHRpbi9mZXRjaC5jOjEzNzQKIG1zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIuiOt+WPlue7hOW5tuaMh+WumuW8leeUqOinhOagvOayoeacieaEj+S5iSIKIApAQCAtNjU4OSwyMyArNzU0OSwyMyBAQAogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVzc2FnZT5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlIDxmaWxlPl0iCiBtc2dzdHIgImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA86K+05piOPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPOaWh+S7tj5dIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NjcKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2MwogbXNnaWQgInBvcHVsYXRlIGxvZyB3aXRoIGF0IG1vc3QgPG4+IGVudHJpZXMgZnJvbSBzaG9ydGxvZyIKIG1zZ3N0ciAi5ZCR5o+Q5Lqk6K+05piO5Lit5pyA5aSa5aSN5Yi25oyH5a6a5p2h55uu77yI5ZCI5bm26ICM5p2l55qE5o+Q5Lqk77yJ55qE566A55+t6K+05piOIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzAKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY2NgogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgIuWPguaVsCAtLWxvZyDnmoTliKvlkI3vvIjlt7LlvIPnlKjvvIkiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjY5CiBtc2dpZCAidGV4dCIKIG1zZ3N0ciAi5paH5pysIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzQKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MAogbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKIG1zZ3N0ciAi5L2/55SoIDzmlofmnKw+IOS9nOS4uuaPkOS6pOivtOaYjueahOW8gOWniyIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc1CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzEKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAi5LuO5paH5Lu25Lit6K+75Y+WIgogCkBAIC02NjY1LDYzICs3NjI1LDYzIEBACiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAi5Y+q5omT5Y2w5YyF5ZCr6K+l5o+Q5Lqk55qE5byV55SoIgogCi0jOiBidWlsdGluL2ZzY2suYzoxNTYgYnVpbHRpbi9wcnVuZS5jOjE0MAotbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKLW1zZ3N0ciAi5qOA5p+l6L+e5o6l5LitIgotCi0jOiBidWlsdGluL2ZzY2suYzo0ODYKKyM6IGJ1aWx0aW4vZnNjay5jOjUxOQogbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAi5qOA5p+l5a+56LGh55uu5b2V5LitIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NTIKKyM6IGJ1aWx0aW4vZnNjay5jOjU4OAogbXNnaWQgImdpdCBmc2NrIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgImdpdCBmc2NrIFs86YCJ6aG5Pl0gWzzlr7nosaE+Li4uXSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTU4CisjOiBidWlsdGluL2ZzY2suYzo1OTQKIG1zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIuaYvuekuuS4jeWPr+i+vueahOWvueixoSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTU5CisjOiBidWlsdGluL2ZzY2suYzo1OTUKIG1zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCiBtc2dzdHIgIuaYvuekuuaRh+aRhueahOWvueixoSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTYwCisjOiBidWlsdGluL2ZzY2suYzo1OTYKIG1zZ2lkICJyZXBvcnQgdGFncyIKIG1zZ3N0ciAi5oql5ZGK5qCH562+IgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjEKKyM6IGJ1aWx0aW4vZnNjay5jOjU5NwogbXNnaWQgInJlcG9ydCByb290IG5vZGVzIgogbXNnc3RyICLmiqXlkYrmoLnoioLngrkiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2MgorIzogYnVpbHRpbi9mc2NrLmM6NTk4CiBtc2dpZCAibWFrZSBpbmRleCBvYmplY3RzIGhlYWQgbm9kZXMiCiBtc2dzdHIgIuWwhue0ouW8leS6puS9nOS4uuajgOafpeeahOWktOiKgueCuSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTYzCisjOiBidWlsdGluL2ZzY2suYzo1OTkKIG1zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCiBtc2dzdHIgIuWwhuW8leeUqOaXpeW/l+S9nOS4uuajgOafpeeahOWktOiKgueCue+8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTY0CisjOiBidWlsdGluL2ZzY2suYzo2MDAKIG1zZ2lkICJhbHNvIGNvbnNpZGVyIHBhY2tzIGFuZCBhbHRlcm5hdGUgb2JqZWN0cyIKIG1zZ3N0ciAi5Lmf6ICD6JmR5YyF5ZKM5aSH55So5a+56LGhIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjUKKyM6IGJ1aWx0aW4vZnNjay5jOjYwMQogbXNnaWQgImNoZWNrIG9ubHkgY29ubmVjdGl2aXR5IgogbXNnc3RyICLku4Xmo4Dmn6Xov57pgJrmgKciCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2NgorIzogYnVpbHRpbi9mc2NrLmM6NjAyCiBtc2dpZCAiZW5hYmxlIG1vcmUgc3RyaWN0IGNoZWNraW5nIgogbXNnc3RyICLlkK/nlKjmm7TkuKXmoLznmoTmo4Dmn6UiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU2OAorIzogYnVpbHRpbi9mc2NrLmM6NjA0CiBtc2dpZCAid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiCiBtc2dzdHIgIuWwhuaRh+aRhuWvueixoeWGmeWFpSAuZ2l0L2xvc3QtZm91bmQg5LitIgogCi0jOiBidWlsdGluL2ZzY2suYzo1NjkgYnVpbHRpbi9wcnVuZS5jOjEwNworIzogYnVpbHRpbi9mc2NrLmM6NjA1IGJ1aWx0aW4vcHJ1bmUuYzoxMDcKIG1zZ2lkICJzaG93IHByb2dyZXNzIgogbXNnc3RyICLmmL7npLrov5vluqYiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjYzMAorIzogYnVpbHRpbi9mc2NrLmM6NjA2Cittc2dpZCAic2hvdyB2ZXJib3NlIG5hbWVzIGZvciByZWFjaGFibGUgb2JqZWN0cyIKK21zZ3N0ciAi5pi+56S65Y+v6L6+5a+56LGh55qE6K+m57uG5ZCN56ewIgorCisjOiBidWlsdGluL2ZzY2suYzo2NjUKIG1zZ2lkICJDaGVja2luZyBvYmplY3RzIgogbXNnc3RyICLmo4Dmn6Xlr7nosaHkuK0iCiAKQEAgLTY4MTAsMjI1ICs3NzcwLDIyMCBAQAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkgZm9yICVzIgogbXNnc3RyICLkuLogJTIkcyDorr7lrprnmoTnur/nqIvmlbAgKCUxJGQpIOaXoOaViCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NDUyIGJ1aWx0aW4vZ3JlcC5jOjQ4NworIzogYnVpbHRpbi9ncmVwLmM6NDUzIGJ1aWx0aW4vZ3JlcC5jOjQ4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCB0cmVlICglcykiCiBtc2dzdHIgIuaXoOazleivu+WPluagke+8iCVz77yJIgogCi0jOiBidWlsdGluL2dyZXAuYzo1MDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjUwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ3JlcCBmcm9tIG9iamVjdCBvZiB0eXBlICVzIgogbXNnc3RyICLml6Dms5XmipPlj5bmnaXoh6rkuo4gJXMg57G75Z6L55qE5a+56LGhIgogCi0jOiBidWlsdGluL2dyZXAuYzo1NjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjU2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICLlvIDlhbMgYCVjJyDmnJ/mnJvkuIDkuKrmlbDlrZflgLwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjU3NwotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgotbXNnc3RyICLkuI3og73miZPlvIAgJyVzJyIKLQotIzogYnVpbHRpbi9ncmVwLmM6NjQ2CisjOiBidWlsdGluL2dyZXAuYzo2NDcKIG1zZ2lkICJzZWFyY2ggaW4gaW5kZXggaW5zdGVhZCBvZiBpbiB0aGUgd29yayB0cmVlIgogbXNnc3RyICLlnKjntKLlvJXljLrmkJzntKLogIzkuI3mmK/lnKjlt6XkvZzljLoiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY0OAorIzogYnVpbHRpbi9ncmVwLmM6NjQ5CiBtc2dpZCAiZmluZCBpbiBjb250ZW50cyBub3QgbWFuYWdlZCBieSBnaXQiCiBtc2dzdHIgIuWcqOacquiiqyBnaXQg566h55CG55qE5YaF5a655Lit5p+l5om+IgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1MAorIzogYnVpbHRpbi9ncmVwLmM6NjUxCiBtc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICLlnKjot5/ouKrlkozmnKrot5/ouKrnmoTmlofku7bkuK3mkJzntKIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY1MgorIzogYnVpbHRpbi9ncmVwLmM6NjUzCiBtc2dpZCAiaWdub3JlIGZpbGVzIHNwZWNpZmllZCB2aWEgJy5naXRpZ25vcmUnIgogbXNnc3RyICLlv73nlaUgJy5naXRpZ25vcmUnIOWMheWQq+eahOaWh+S7tiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU1CisjOiBidWlsdGluL2dyZXAuYzo2NTYKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi5pi+56S65pyq5Yy56YWN55qE6KGMIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1OAogbXNnaWQgImNhc2UgaW5zZW5zaXRpdmUgbWF0Y2hpbmciCiBtc2dzdHIgIuS4jeWMuuWIhuWkp+Wwj+WGmeWMuemFjSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjU5CisjOiBidWlsdGluL2dyZXAuYzo2NjAKIG1zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKIG1zZ3N0ciAi5Y+q5Zyo5Y2V6K+N6L6555WM5Yy56YWN5qih5byPIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NjEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY2MgogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIHRleHQiCiBtc2dzdHIgIuaKiuS6jOi/m+WItuaWh+S7tuW9k+WBmuaWh+acrOWkhOeQhiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjYzCisjOiBidWlsdGluL2dyZXAuYzo2NjQKIG1zZ2lkICJkb24ndCBtYXRjaCBwYXR0ZXJucyBpbiBiaW5hcnkgZmlsZXMiCiBtc2dzdHIgIuS4jeWcqOS6jOi/m+WItuaWh+S7tuS4reWMuemFjeaooeW8jyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjY2CisjOiBidWlsdGluL2dyZXAuYzo2NjcKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCiBtc2dzdHIgIueUqCB0ZXh0Y29udiDov4fmu6TlmajlpITnkIbkuozov5vliLbmlofku7YiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY2OAorIzogYnVpbHRpbi9ncmVwLmM6NjY5CiBtc2dpZCAiZGVzY2VuZCBhdCBtb3N0IDxkZXB0aD4gbGV2ZWxzIgogbXNnc3RyICLmnIDlpJrku6XmjIflrprnmoTmt7HluqblkJHkuIvlr7vmib4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3MgorIzogYnVpbHRpbi9ncmVwLmM6NjczCiBtc2dpZCAidXNlIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgIuS9v+eUqOaJqeWxleeahCBQT1NJWCDmraPliJnooajovr7lvI8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY3NQorIzogYnVpbHRpbi9ncmVwLmM6Njc2CiBtc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgogbXNnc3RyICLkvb/nlKjln7rmnKznmoQgUE9TSVgg5q2j5YiZ6KGo6L6+5byP77yI6buY6K6k77yJIgogCi0jOiBidWlsdGluL2dyZXAuYzo2NzgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY3OQogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICLmiormqKHlvI/op6PmnpDkuLrlm7rlrprnmoTlrZfnrKbkuLIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4MQorIzogYnVpbHRpbi9ncmVwLmM6NjgyCiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICLkvb/nlKggUGVybCDlhbzlrrnnmoTmraPliJnooajovr7lvI8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4NAorIzogYnVpbHRpbi9ncmVwLmM6Njg1CiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgIuaYvuekuuihjOWPtyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Njg1CisjOiBidWlsdGluL2dyZXAuYzo2ODYKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAi5LiN5pi+56S65paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzo2ODYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY4NwogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICLmmL7npLrmlofku7blkI0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjY4OAorIzogYnVpbHRpbi9ncmVwLmM6Njg5CiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAi5pi+56S655u45a+55LqO6aG257qn55uu5b2V55qE5paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MQogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi5Y+q5pi+56S65paH5Lu25ZCN6ICM5LiN5pi+56S65Yy56YWN55qE6KGMIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5MwogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICLlkowgLS1maWxlcy13aXRoLW1hdGNoZXMg5ZCM5LmJIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5NgogbXNnaWQgInNob3cgb25seSB0aGUgbmFtZXMgb2YgZmlsZXMgd2l0aG91dCBtYXRjaCIKIG1zZ3N0ciAi5Y+q5pi+56S65pyq5Yy56YWN55qE5paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY5OAogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCiBtc2dzdHIgIuWcqOaWh+S7tuWQjeWQjui+k+WHuiBOVUwg5a2X56ymIgogCi0jOiBidWlsdGluL2dyZXAuYzo2OTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMAogbXNnaWQgInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIuaYvuekuuaAu+WMuemFjeihjOaVsO+8jOiAjOS4jeaYvuekuuWMuemFjeeahOihjCIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAwCisjOiBidWlsdGluL2dyZXAuYzo3MDEKIG1zZ2lkICJoaWdobGlnaHQgbWF0Y2hlcyIKIG1zZ3N0ciAi6auY5Lqu5pi+56S65Yy56YWN6aG5IgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwMwogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICLlnKjkuI3lkIzmlofku7bnmoTljLnphY3pobnkuYvpl7TmiZPljbDnqbrooYwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwNAorIzogYnVpbHRpbi9ncmVwLmM6NzA1CiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAi5Y+q5Zyo5ZCM5LiA5paH5Lu255qE5Yy56YWN6aG555qE5LiK6Z2i5pi+56S65LiA5qyh5paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcwOAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICLmmL7npLrljLnphY3pobnliY3lkI7nmoQgPG4+IOihjOS4iuS4i+aWhyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEwCisjOiBidWlsdGluL2dyZXAuYzo3MTEKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICLmmL7npLrljLnphY3pobnliY0gPG4+IOihjOS4iuS4i+aWhyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzEyCisjOiBidWlsdGluL2dyZXAuYzo3MTMKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIuaYvuekuuWMuemFjemhueWQjiA8bj4g6KGM5LiK5LiL5paHIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNQogbXNnaWQgInVzZSA8bj4gd29ya2VyIHRocmVhZHMiCiBtc2dzdHIgIuS9v+eUqCA8bj4g5Liq5bel5L2c57q/56iLIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNgogbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCiBtc2dzdHIgIuW/q+aNt+mUriAtQyDmlbDlrZciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcxOAorIzogYnVpbHRpbi9ncmVwLmM6NzE5CiBtc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAi5Zyo5Yy56YWN55qE5YmN6Z2i5pi+56S65LiA6KGM5Ye95pWw5ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcyMQogbXNnaWQgInNob3cgdGhlIHN1cnJvdW5kaW5nIGZ1bmN0aW9uIgogbXNnc3RyICLmmL7npLrmiYDlnKjlh73mlbDnmoTliY3lkI7lhoXlrrkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcyMworIzogYnVpbHRpbi9ncmVwLmM6NzI0CiBtc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCiBtc2dzdHIgIuS7juaWh+S7tuivu+WPluaooeW8jyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI1CisjOiBidWlsdGluL2dyZXAuYzo3MjYKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgIuWMuemFjSA85qih5byPPiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzI3CisjOiBidWlsdGluL2dyZXAuYzo3MjgKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICLnu4TlkIjnlKggLWUg5Y+C5pWw6K6+5a6a55qE5qih5byPIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0MAogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICLkuI3ovpPlh7rvvIzogIznlKjpgIDlh7rnoIHmoIfor4blkb3kuK3nirbmgIEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0MQorIzogYnVpbHRpbi9ncmVwLmM6NzQyCiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKIG1zZ3N0ciAi5Y+q5pi+56S65Yy56YWN5omA5pyJ5qih5byP55qE5paH5Lu25Lit55qE5Yy56YWNIgogCi0jOiBidWlsdGluL2dyZXAuYzo3NDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc0NAogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICLmmL7npLogZ3JlcCDooajovr7lvI/nmoTop6PmnpDmoJEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc0NworIzogYnVpbHRpbi9ncmVwLmM6NzQ4CiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgIuWIhumhtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzQ3CisjOiBidWlsdGluL2dyZXAuYzo3NDgKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAi5YiG6aG15pi+56S65Yy56YWN55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2dyZXAuYzo3NTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjc1MQogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAi5YWB6K646LCD55SoIGdyZXAoMSnvvIjmnKzmrKHmnoTlu7rlv73nlaXvvIkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxMworIzogYnVpbHRpbi9ncmVwLmM6ODE0CiBtc2dpZCAibm8gcGF0dGVybiBnaXZlbi4iCiBtc2dzdHIgIuacquaPkOS+m+aooeW8j+WMuemFjeOAgiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0NiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgIuaMh+WumueahOe6v+eoi+aVsOaXoOaViO+8iCVk77yJIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NgogbXNnaWQgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBvbmx5IHdvcmtzIG9uIHRoZSB3b3JrdHJlZSIKIG1zZ3N0ciAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIOS7heeUqOS6juW3peS9nOWMuiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTAxCisjOiBidWlsdGluL2dyZXAuYzo5MDIKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXguIgogbXNnc3RyICItLWNhY2hlZCDmiJYgLS11bnRyYWNrZWQg5LiN6IO95LiOIC0tbm8taW5kZXgg5ZCM5pe25L2/55So44CCIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwNwogbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKIG1zZ3N0ciAiLS1uby1pbmRleCDmiJYgLS11bnRyYWNrZWQg5LiN6IO95ZKM54mI5pys5ZCM5pe25L2/55So44CCIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxMAogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKIG1zZ3N0ciAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQg5LiN6IO955So5LqO5bey6Lef6Liq5YaF5a6544CCIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxOAogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbi4iCiBtc2dzdHIgIuWQjOaXtue7meWHuuS6hiAtLWNhY2hlZCDlkozmoJHlr7nosaHjgIIiCiAKQEAgLTcwNDQsODMgKzc5OTksODcgQEAKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjkzCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTQKIG1zZ2lkICJ0eXBlIgogbXNnc3RyICLnsbvlnosiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5MworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CiBtc2dpZCAib2JqZWN0IHR5cGUiCiBtc2dzdHIgIuWvueixoeexu+WeiyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTUKIG1zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAi5bCG5a+56LGh5YaZ5YWl5a+56LGh5pWw5o2u5bqTIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTYKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NwogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgogbXNnc3RyICLku47moIflh4bovpPlhaXor7vlj5blr7nosaEiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CiBtc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCiBtc2dzdHIgIuWOn+agt+WtmOWCqOaWh+S7tuS4jeS9v+eUqOi/h+a7pOWZqCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCiBtc2dpZCAiIgogImp1c3QgaGFzaCBhbnkgcmFuZG9tIGdhcmJhZ2UgdG8gY3JlYXRlIGNvcnJ1cHQgb2JqZWN0cyBmb3IgZGVidWdnaW5nIEdpdCIKIG1zZ3N0ciAi5YWB6K645a+55Lu75oSP6ZqP5py65Z6D5Zy+5pWw5o2u5YGa5pWj5YiX5p2l5Yib5bu65o2f5Z2P55qE5a+56LGh5Lul5L6/6LCD6K+VIEdpdCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQogbXNnaWQgInByb2Nlc3MgZmlsZSBhcyBpdCB3ZXJlIGZyb20gdGhpcyBwYXRoIgogbXNnc3RyICLlpITnkIbmlofku7blubblgYforr7lhbbmnaXoh6rkuo7mraTot6/lvoQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxCisjOiBidWlsdGluL2hlbHAuYzo0MgogbXNnaWQgInByaW50IGFsbCBhdmFpbGFibGUgY29tbWFuZHMiCiBtc2dzdHIgIuaJk+WNsOaJgOacieWPr+eUqOeahOWRveS7pCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDIKKyM6IGJ1aWx0aW4vaGVscC5jOjQzCittc2dpZCAiZXhjbHVkZSBndWlkZXMiCittc2dzdHIgIuaOkumZpOWQkeWvvCIKKworIzogYnVpbHRpbi9oZWxwLmM6NDQKIG1zZ2lkICJwcmludCBsaXN0IG9mIHVzZWZ1bCBndWlkZXMiCiBtc2dzdHIgIuaYvuekuuacieeUqOeahOaMh+WNl+WIl+ihqCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDMKKyM6IGJ1aWx0aW4vaGVscC5jOjQ1CiBtc2dpZCAic2hvdyBtYW4gcGFnZSIKIG1zZ3N0ciAi5pi+56S6IG1hbiDmiYvlhowiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ0CisjOiBidWlsdGluL2hlbHAuYzo0NgogbXNnaWQgInNob3cgbWFudWFsIGluIHdlYiBicm93c2VyIgogbXNnc3RyICLlnKggd2ViIOa1j+iniOWZqOS4reaYvuekuuaJi+WGjCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDYKKyM6IGJ1aWx0aW4vaGVscC5jOjQ4CiBtc2dpZCAic2hvdyBpbmZvIHBhZ2UiCiBtc2dzdHIgIuaYvuekuiBpbmZvIOaJi+WGjCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NTIKKyM6IGJ1aWx0aW4vaGVscC5jOjU0CiBtc2dpZCAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmQ+XSIKIG1zZ3N0ciAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPOWRveS7pD5dIgogCi0jOiBidWlsdGluL2hlbHAuYzo2NAorIzogYnVpbHRpbi9oZWxwLmM6NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGhlbHAgZm9ybWF0ICclcyciCiBtc2dzdHIgIuacquiDveivhuWIq+eahOW4ruWKqeagvOW8jyAnJXMnIgogCi0jOiBidWlsdGluL2hlbHAuYzo5MQorIzogYnVpbHRpbi9oZWxwLmM6OTMKIG1zZ2lkICJGYWlsZWQgdG8gc3RhcnQgZW1hY3NjbGllbnQuIgogbXNnc3RyICLml6Dms5XlkK/liqggZW1hY3NjbGllbnTjgIIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEwNAorIzogYnVpbHRpbi9oZWxwLmM6MTA2CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgogbXNnc3RyICLml6Dms5Xop6PmnpAgZW1hY3NjbGllbnQg54mI5pys44CCIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMTIKKyM6IGJ1aWx0aW4vaGVscC5jOjExNAogIywgYy1mb3JtYXQKIG1zZ2lkICJlbWFjc2NsaWVudCB2ZXJzaW9uICclZCcgdG9vIG9sZCAoPCAyMikuIgogbXNnc3RyICJlbWFjc2NsaWVudCDniYjmnKwgJyVkJyDlpKrogIHvvIg8IDIy77yJ44CCIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzAgYnVpbHRpbi9oZWxwLmM6MTUxIGJ1aWx0aW4vaGVscC5jOjE2MCBidWlsdGluL2hlbHAuYzoxNjgKKyM6IGJ1aWx0aW4vaGVscC5jOjEzMiBidWlsdGluL2hlbHAuYzoxNTMgYnVpbHRpbi9oZWxwLmM6MTYyIGJ1aWx0aW4vaGVscC5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgogbXNnc3RyICLml6Dms5XmiafooYwgJyVzJyIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjA1CisjOiBidWlsdGluL2hlbHAuYzoyMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IHBhdGggZm9yIHVuc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC03MTI5LDcgKzgwODgsNyBAQAogIiclcyfvvJrkuI3mlK/mjIHnmoQgbWFuIOaJi+WGjOafpeeci+WZqOeahOi3r+W+hOOAglxuIgogIuivt+S9v+eUqCAnbWFuLjzlt6Xlhbc+LmNtZCfjgIIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIxNworIzogYnVpbHRpbi9oZWxwLmM6MjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtNzEzOCw0MzIgKzgwOTcsNDMxIEBACiAiJyVzJzog5pSv5oyB55qEIG1hbiDmiYvlhozmn6XnnIvlmajlkb3ku6TjgIJcbiIKICLor7fkvb/nlKggJ21hbi485bel5YW3Pi5wYXRoJ+OAgiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzM0CisjOiBidWlsdGluL2hlbHAuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5rbm93biBtYW4gdmlld2VyLiIKIG1zZ3N0ciAiJyVzJ++8muacquefpeeahCBtYW4g5p+l55yL5Zmo44CCIgogCi0jOiBidWlsdGluL2hlbHAuYzozNTEKKyM6IGJ1aWx0aW4vaGVscC5jOjM1MwogbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAi5rKh5pyJIG1hbiDmn6XnnIvlmajlpITnkIbmraTor7fmsYIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM1OQorIzogYnVpbHRpbi9oZWxwLmM6MzYxCiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAi5rKh5pyJIGluZm8g5p+l55yL5Zmo5aSE55CG5q2k6K+35rGCIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MDgKKyM6IGJ1aWx0aW4vaGVscC5jOjQwMwogbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCiBtc2dzdHIgIuWumuS5iei3r+W+hOeahOWxnuaApyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDA5CisjOiBidWlsdGluL2hlbHAuYzo0MDQKIG1zZ2lkICJFdmVyeWRheSBHaXQgV2l0aCAyMCBDb21tYW5kcyBPciBTbyIKIG1zZ3N0ciAi5q+P5LiA5aSpIEdpdCDluLjnlKjnmoTnuqYgMjAg5p2h5ZG95LukIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTAKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNQogbXNnaWQgIkEgR2l0IGdsb3NzYXJ5IgogbXNnc3RyICJHaXQg6K+N5rGH6KGoIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTEKKyM6IGJ1aWx0aW4vaGVscC5jOjQwNgogbXNnaWQgIlNwZWNpZmllcyBpbnRlbnRpb25hbGx5IHVudHJhY2tlZCBmaWxlcyB0byBpZ25vcmUiCiBtc2dzdHIgIuW/veeVpeaMh+WumueahOacqui3n+i4quaWh+S7tiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDEyCisjOiBidWlsdGluL2hlbHAuYzo0MDcKIG1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKIG1zZ3N0ciAi5a6a5LmJ5a2Q5qih57uE5bGe5oCnIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MTMKKyM6IGJ1aWx0aW4vaGVscC5jOjQwOAogbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKIG1zZ3N0ciAi5oyH5a6aIEdpdCDnmoTniYjmnKzlkozniYjmnKzojIPlm7QiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQxNAorIzogYnVpbHRpbi9oZWxwLmM6NDA5CiBtc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0IChmb3IgdmVyc2lvbiAxLjUuMSBvciBuZXdlcikiCiBtc2dzdHIgIuS4gOS4qiBHaXQg5pWZ56iL77yI6ZKI5a+5IDEuNS4xIOaIluabtOaWsOeJiOacrO+8iSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDE1CisjOiBidWlsdGluL2hlbHAuYzo0MTAKIG1zZ2lkICJBbiBvdmVydmlldyBvZiByZWNvbW1lbmRlZCB3b3JrZmxvd3Mgd2l0aCBHaXQiCiBtc2dzdHIgIkdpdCDmjqjojZDnmoTlt6XkvZzmtYHmpoLop4giCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQyNworIzogYnVpbHRpbi9oZWxwLmM6NDIyCiBtc2dpZCAiVGhlIGNvbW1vbiBHaXQgZ3VpZGVzIGFyZTpcbiIKIG1zZ3N0ciAi5pyA5bi455So55qEIEdpdCDlkJHlr7zmnInvvJpcbiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQ4IGJ1aWx0aW4vaGVscC5jOjQ2NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1c2FnZTogJXMlcyIKLW1zZ3N0ciAi55So5rOV77yaJXMlcyIKLQotIzogYnVpbHRpbi9oZWxwLmM6NDgxCisjOiBidWlsdGluL2hlbHAuYzo0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYGdpdCAlcycgaXMgYWxpYXNlZCB0byBgJXMnIgogbXNnc3RyICJgZ2l0ICVzJyDmmK8gYCVzJyDnmoTliKvlkI0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MgorIzogYnVpbHRpbi9oZWxwLmM6NDYyIGJ1aWx0aW4vaGVscC5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2FnZTogJXMlcyIKK21zZ3N0ciAi55So5rOV77yaJXMlcyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgogbXNnc3RyICLkuI3og73miZPlvIAgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCB0eXBlIG1pc21hdGNoIGF0ICVzIgogbXNnc3RyICIlcyDnmoTlr7nosaHnsbvlnovkuI3ljLnphY0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImRpZCBub3QgcmVjZWl2ZSBleHBlY3RlZCBvYmplY3QgJXMiCi1tc2dzdHIgIuacquiDveiOt+WPluacn+acm+eahOWvueixoSAlcyIKK21zZ3N0ciAi5pyq6IO96I635Y+W6aKE5pyf55qE5a+56LGhICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXM6IGV4cGVjdGVkIHR5cGUgJXMsIGZvdW5kICVzIgotbXNnc3RyICLlr7nosaEgJXPvvJrmnJ/lvoXnsbvlnosgJXPvvIzljbTmmK8gJXMiCittc2dzdHIgIuWvueixoSAlc++8muW6lOS4uuexu+WeiyAlc++8jOWNtOaYryAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjY3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCiBtc2dzdHJbMF0gIuaXoOazleWhq+WFhSAlZCDlrZfoioIiCiBtc2dzdHJbMV0gIuaXoOazleWhq+WFhSAlZCDlrZfoioIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc5CiBtc2dpZCAiZWFybHkgRU9GIgogbXNnc3RyICLov4fml6nnmoTmlofku7bnu5PmnZ/nrKbvvIhFT0bvvIkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgwCiBtc2dpZCAicmVhZCBlcnJvciBvbiBpbnB1dCIKIG1zZ3N0ciAi6L6T5YWl5LiK55qE6K+76ZSZ6K+vIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MgogbXNnaWQgInVzZWQgbW9yZSBieXRlcyB0aGFuIHdlcmUgYXZhaWxhYmxlIgogbXNnc3RyICLnlKjmjonkuobotoXov4flj6/nlKjnmoTlrZfoioIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjk5CiBtc2dpZCAicGFjayB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiBvZmZfdCIKIG1zZ3N0ciAi5YyF5aSq5aSn6LaF6L+H5LqG5b2T5YmNIG9mZl90IOeahOWumuS5iSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMDIgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjkyCittc2dpZCAicGFjayBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBzaXplIgorbXNnc3RyICLljIXotoXov4fkuobmnIDlpKflhYHorrjlgLwiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlICclcyciCiBtc2dzdHIgIuS4jeiDveWIm+W7uiAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrZmlsZSAnJXMnIgogbXNnc3RyICLml6Dms5XmiZPlvIDljIXmlofku7YgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzMyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMzYKIG1zZ2lkICJwYWNrIHNpZ25hdHVyZSBtaXNtYXRjaCIKIG1zZ3N0ciAi5YyF562+5ZCN5LiN5Yy56YWNIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIHZlcnNpb24gJTxQUkl1MzI+IHVuc3VwcG9ydGVkIgogbXNnc3RyICLkuI3mlK/mjIHljIXniYjmnKwgJTxQUkl1MzI+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozNTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM1NgogIywgYy1mb3JtYXQKLW1zZ2lkICJwYWNrIGhhcyBiYWQgb2JqZWN0IGF0IG9mZnNldCAlbHU6ICVzIgotbXNnc3RyICLljIXkuK3mnInplJnor6/nmoTlr7nosaHkvY3kuo4gJWx177yaJXMiCittc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCittc2dzdHIgIuWMheS4reaciemUmeivr+eahOWvueixoeS9jeS6juWBj+enu+mHjyAlPFBSSXVNQVg+77yaJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ3MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluZmxhdGUgcmV0dXJuZWQgJWQiCiBtc2dzdHIgIuino+WOi+e8qei/lOWbniAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjcKIG1zZ2lkICJvZmZzZXQgdmFsdWUgb3ZlcmZsb3cgZm9yIGRlbHRhIGJhc2Ugb2JqZWN0IgogbXNnc3RyICLlgY/np7vlgLzopobnm5bkuoYgZGVsdGEg5Z+65YeG5a+56LGhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzNQogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKIG1zZ3N0ciAiZGVsdGEg5Z+65YeG5YGP56e76LaK55WMIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgogbXNnc3RyICLmnKrnn6Xlr7nosaHnsbvlnosgJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTc0CiBtc2dpZCAiY2Fubm90IHByZWFkIHBhY2sgZmlsZSIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W5YyF5paH5Lu2IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NzEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3NgogIywgYy1mb3JtYXQKLW1zZ2lkICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJWx1IGJ5dGUgbWlzc2luZyIKLW1zZ2lkX3BsdXJhbCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICVsdSBieXRlcyBtaXNzaW5nIgotbXNnc3RyWzBdICLljIXmlofku7bov4fml6nnu5PmnZ/vvIznvLrlsJEgJWx1IOWtl+iKgiIKLW1zZ3N0clsxXSAi5YyF5paH5Lu26L+H5pep57uT5p2f77yM57y65bCRICVsdSDlrZfoioIiCittc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgorbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgorbXNnc3RyWzBdICLljIXmlofku7bov4fml6nnu5PmnZ/vvIznvLrlsJEgJTxQUkl1TUFYPiDlrZfoioIiCittc2dzdHJbMV0gIuWMheaWh+S7tui/h+aXqee7k+adn++8jOe8uuWwkSAlPFBSSXVNQVg+IOWtl+iKgiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTk3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo2MDIKIG1zZ2lkICJzZXJpb3VzIGluZmxhdGUgaW5jb25zaXN0ZW5jeSIKIG1zZ3N0ciAi6Kej5Y6L57yp5Lil6YeN55qE5LiN5LiA6Ie0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDMgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ5IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc3MgotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODA2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQ4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1NCBidWlsdGluL2luZGV4LXBhY2suYzo3NzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxMSBidWlsdGluL2luZGV4LXBhY2suYzo4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICLlj5HnjrAgJXMg5Ye6546wIFNIQTEg5Yay56qB77yBIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NDYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjIKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICLkuI3og73or7sgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCAlcyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W546w5a2Y5a+56LGhICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJsb2Igb2JqZWN0ICVzIgogbXNnc3RyICLml6DmlYjnmoTmlbDmja7lr7nosaEgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgJXMiCiBtc2dzdHIgIuaXoOaViOeahCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDgKIG1zZ2lkICJFcnJvciBpbiBvYmplY3QiCiBtc2dzdHIgIuWvueixoeS4reWHuumUmSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCiBtc2dzdHIgIiVzIOeahOaJgOacieWtkOWvueixoeW5tumdnumDveWPr+i+viIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTE3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk0OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTIyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk1MwogbXNnaWQgImZhaWxlZCB0byBhcHBseSBkZWx0YSIKIG1zZ3N0ciAi5peg5rOV5bqU55SoIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTIzCiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIuaOpeaUtuWvueixoeS4rSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEyMwogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgIue0ouW8leWvueixoeS4rSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NQogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAi5YyF5Yay56qB77yIU0hBMSDkuI3ljLnphY3vvIkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjAKIG1zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCiBtc2dzdHIgIuS4jeiDveaemuS4vuWMheaWh+S7tueKtuaAgSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MwogbXNnaWQgInBhY2sgaGFzIGp1bmsgYXQgdGhlIGVuZCIKIG1zZ3N0ciAi5YyF55qE57uT5bC+5pyJ5Z6D5Zy+5pWw5o2uIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTY5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTc0CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAicGFyc2VfcGFja19vYmplY3RzKCkg5Lit6YGH5Yiw5LiN5Y+v55CG5Za755qE6Zeu6aKYIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk3CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAi5aSE55CGIGRlbHRhIOS4rSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIwNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgIuS4jeiDveWIm+W7uue6v+eoi++8miVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUwCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAi5LiN5Y+v55CG5Za7IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKIG1zZ3N0clswXSAi5a6M5oiQICVkIOS4quacrOWcsOWvueixoSIKIG1zZ3N0clsxXSAi5a6M5oiQICVkIOS4quacrOWcsOWvueixoSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHRhaWwgY2hlY2tzdW0gZm9yICVzIChkaXNrIGNvcnJ1cHRpb24/KSIKIG1zZ3N0ciAi5a+5ICVzIOeahOWwvumDqOagoemqjOWHuueOsOaEj+Wklu+8iOejgeebmOaNn+Wdj++8n++8iSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAi5YyF5pyJICVkIOS4quacquino+WGs+eahCBkZWx0YSIKIG1zZ3N0clsxXSAi5YyF5pyJICVkIOS4quacquino+WGs+eahCBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAi5LiN6IO95Y6L57yp6ZmE5Yqg5a+56LGh77yIJWTvvIkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9jYWwgb2JqZWN0ICVzIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIuacrOWcsOWvueixoSAlcyDlt7LmjZ/lnY8iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzOTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzOTYKIG1zZ2lkICJlcnJvciB3aGlsZSBjbG9zaW5nIHBhY2sgZmlsZSIKIG1zZ3N0ciAi5YWz6Zet5YyF5paH5Lu25pe25Ye66ZSZIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDA2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSBrZWVwIGZpbGUgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5YaZ5L+d55WZ5paH5Lu2ICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNsb3NlIHdyaXR0ZW4ga2VlcCBmaWxlICclcyciCiBtc2dzdHIgIuaXoOazleWFs+mXreS/neeVmeaWh+S7tiAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDMwCiBtc2dpZCAiY2Fubm90IHN0b3JlIHBhY2sgZmlsZSIKIG1zZ3N0ciAi5peg5rOV5a2Y5YKo5YyF5paH5Lu2IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDM4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDQxCiBtc2dpZCAiY2Fubm90IHN0b3JlIGluZGV4IGZpbGUiCiBtc2dzdHIgIuaXoOazleWtmOWCqOe0ouW8leaWh+S7tiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICLlnY/nmoQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgxIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgogbXNnc3RyICLmsqHmnInnur/nqIvmlK/mjIHvvIzlv73nlaUgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIuaXoOazleaJk+W8gOeOsOWtmOWMheaWh+S7tiAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIuaXoOazleS4uiAlcyDmiZPlvIDljIXntKLlvJXmlofku7YiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1ODkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKIG1zZ3N0clswXSAi6Z2eIGRlbHRh77yaJWQg5Liq5a+56LGhIgogbXNnc3RyWzFdICLpnZ4gZGVsdGHvvJolZCDkuKrlr7nosaEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAi6ZO+6ZW/ID0gJWQ6ICVsdSDlr7nosaEiCiBtc2dzdHJbMV0gIumTvumVvyA9ICVkOiAlbHUg5a+56LGhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgogbXNnc3RyICLljIXmlofku7blkI0gJyVzJyDmsqHmnInku6UgJy5wYWNrJyDnu5PlsL4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MzgKLW1zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKLW1zZ3N0ciAi5peg5rOV6L+U5Zue5b2T5YmN5bel5L2c55uu5b2VIgotCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjkwIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTMKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDUgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5MyBidWlsdGluL2luZGV4LXBhY2suYzoxNjk2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzEyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkICVzIgogbXNnc3RyICLplJnor6/pgInpobkgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MzIKIG1zZ2lkICItLWZpeC10aGluIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgLS1zdGRpbiIKIG1zZ3N0ciAiLS1maXgtdGhpbiDkuI3og73lkowgLS1zdGRpbiDlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MzEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDAKIG1zZ2lkICItLXZlcmlmeSB3aXRoIG5vIHBhY2tmaWxlIG5hbWUgZ2l2ZW4iCiBtc2dzdHIgIi0tdmVyaWZ5IOayoeacieaPkOS+m+WMheaWh+S7tuWQjeWPguaVsCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCiBtc2dzdHIgIuS4jeiDveaemuS4viAnJXMnIOeKtuaAgSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjEKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0IHRlbXBsYXRlICclcyciCiBtc2dzdHIgIuS4jeiDveaemuS4vuaooeeJiCAnJXMnIOeKtuaAgSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NjYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCiBtc2dzdHIgIuS4jeiDveaJk+W8gOebruW9lSAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3NworIzogYnVpbHRpbi9pbml0LWRiLmM6NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCiBtc2dzdHIgIuS4jeiDveivu+WPlumTvuaOpSAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo3OQorIzogYnVpbHRpbi9pbml0LWRiLmM6NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN5bWxpbmsgJyVzJyAnJXMnIgogbXNnc3RyICLkuI3og73oh6ogJyVzJyDliLAgJyVzJyDliJvlu7rnrKblj7fpk77mjqUiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg1CisjOiBidWlsdGluL2luaXQtZGIuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgIuS4jeiDveaLt+i0nSAnJXMnIOiHsyAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo4OQorIzogYnVpbHRpbi9pbml0LWRiLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdGVtcGxhdGUgJXMiCiBtc2dzdHIgIuW/veeVpeaooeeJiCAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MTIwCisjOiBidWlsdGluL2luaXQtZGIuYzoxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidGVtcGxhdGVzIG5vdCBmb3VuZCAlcyIKIG1zZ3N0ciAi5qih54mI5pyq5om+5YiwICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMzUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgY29weWluZyB0ZW1wbGF0ZXMgZnJvbSAnJXMnOiAlcyIKIG1zZ3N0ciAi5rKh5pyJ5LuOICclcycg5aSN5Yi25qih54mI77yaJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMxMiBidWlsdGluL2luaXQtZGIuYzozMTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCi1tc2dzdHIgIiVzIOW3sue7j+WtmOWcqCIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MzQ0CisjOiBidWlsdGluL2luaXQtZGIuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCiBtc2dzdHIgIuS4jeiDveWkhOeQhiAlZCDnsbvlnovnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NworIzogYnVpbHRpbi9pbml0LWRiLmM6MzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgogbXNnc3RyICLkuI3og73np7vliqggJXMg6IezICVzIgogCi0jLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICclcycgaXMgZWl0aGVyICJSZWluaXRpYWxpemVkCi0jLiBleGlzdGluZyIgb3IgIkluaXRpYWxpemVkIGVtcHR5IiwgdGhlIHNlY29uZCAiIHNoYXJlZCIgb3IKLSMuICIiLCBhbmQgdGhlIGxhc3QgJyVzJXMnIGlzIHRoZSB2ZXJiYXRpbSBkaXJlY3RvcnkgbmFtZS4KKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0NyBidWlsdGluL2luaXQtZGIuYzozNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIiVzIOW3sue7j+WtmOWcqCIKKwogIzogYnVpbHRpbi9pbml0LWRiLmM6NDAzCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVzJXMgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgotbXNnc3RyICIlcyVzIEdpdCDku5PlupPkuo4gJXMlc1xuIgorbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3Rpbmcgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAi6YeN5paw5Yid5aeL5YyW5bey5a2Y5Zyo55qE5YWx5LqrIEdpdCDku5PlupPkuo4gJXMlc1xuIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo0MDQKLW1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIgotbXNnc3RyICLph43mlrDliJ3lp4vljJbnjrDlrZjnmoQiCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmcgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICLph43mlrDliJ3lp4vljJblt7LlrZjlnKjnmoQgR2l0IOS7k+W6k+S6jiAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNAotbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IgotbXNnc3RyICLliJ3lp4vljJbnqbrnmoQiCisjOiBidWlsdGluL2luaXQtZGIuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAi5bey5Yid5aeL5YyW56m655qE5YWx5LqrIEdpdCDku5PlupPkuo4gJXMlc1xuIgogCi0jICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNQotbXNnaWQgIiBzaGFyZWQiCi1tc2dzdHIgIuWFseS6qyIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCittc2dzdHIgIuW3suWIneWni+WMluepuueahCBHaXQg5LuT5bqT5LqOICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDUyCisjOiBidWlsdGluL2luaXQtZGIuYzo0NTcKIG1zZ2lkICIiCiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHRlbXBsYXRlLWRpcmVjdG9yeT5dIFstLSIKICJzaGFyZWRbPTxwZXJtaXNzaW9ucz5dXSBbPGRpcmVjdG9yeT5dIgpAQCAtNzU3MSwzMiArODUyOSwzMiBAQAogImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTzmqKHmnb/nm67lvZU+XSBbLS1zaGFyZWRbPTzmnYPpmZA+XV0gIgogIls855uu5b2VPl0iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDgwCiBtc2dpZCAicGVybWlzc2lvbnMiCiBtc2dzdHIgIuadg+mZkCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDc2CisjOiBidWlsdGluL2luaXQtZGIuYzo0ODEKIG1zZ2lkICJzcGVjaWZ5IHRoYXQgdGhlIGdpdCByZXBvc2l0b3J5IGlzIHRvIGJlIHNoYXJlZCBhbW9uZ3N0IHNldmVyYWwgdXNlcnMiCiBtc2dzdHIgIuaMh+WumiBnaXQg5LuT5bqT5piv5aSa5Liq55So5oi35LmL6Ze05YWx5Lqr55qEIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MTAgYnVpbHRpbi9pbml0LWRiLmM6NTE1CisjOiBidWlsdGluL2luaXQtZGIuYzo1MTUgYnVpbHRpbi9pbml0LWRiLmM6NTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBta2RpciAlcyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu655uu5b2VICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MTkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJXMiCiBtc2dzdHIgIuS4jeiDveWIh+aNouebruW9leWIsCAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTQwCisjOiBidWlsdGluL2luaXQtZGIuYzo1NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzIChvciAtLXdvcmstdHJlZT08ZGlyZWN0b3J5Pikgbm90IGFsbG93ZWQgd2l0aG91dCBzcGVjaWZ5aW5nICVzIChvciAtLWdpdC0iCiAiZGlyPTxkaXJlY3Rvcnk+KSIKIG1zZ3N0ciAi5LiN5YWB6K64ICVz77yI5oiWIC0td29yay10cmVlPTznm67lvZU+77yJ6ICM5rKh5pyJ5oyH5a6aICVz77yI5oiWIC0tZ2l0LWRpcj0855uu5b2VPu+8iSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTY4CisjOiBidWlsdGluL2luaXQtZGIuYzo1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKIG1zZ3N0ciAi5LiN6IO96K6/6Zeu5bel5L2c5Yy6ICclcyciCkBAIC03NjI5LDExNSArODU4NywxMTIgQEAKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICLmsqHmnInnu5nlh7ropoHljp/kvY3nvJbovpHnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDMKKyM6IGJ1aWx0aW4vbG9nLmM6NDQKIG1zZ2lkICJnaXQgbG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgbG9nIFs86YCJ6aG5Pl0gWzzniYjmnKzojIPlm7Q+XSBbWy0tXSA86Lev5b6EPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NDQKKyM6IGJ1aWx0aW4vbG9nLmM6NDUKIG1zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHNob3cgWzzpgInpobk+XSA85a+56LGhPi4uLiIKIAotIzogYnVpbHRpbi9sb2cuYzo4MworIzogYnVpbHRpbi9sb2cuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIC0tZGVjb3JhdGUgb3B0aW9uOiAlcyIKIG1zZ3N0ciAi5peg5pWI55qEIC0tZGVjb3JhdGUg6YCJ6aG577yaJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM3CisjOiBidWlsdGluL2xvZy5jOjEzOQogbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgogbXNnc3RyICLkuI3mmL7npLrlt67lvILovpPlh7oiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4CisjOiBidWlsdGluL2xvZy5jOjE0MAogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICLmmL7npLrmupAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5CisjOiBidWlsdGluL2xvZy5jOjE0MQogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICLkvb/nlKjpgq7ku7bmmKDlsITmlofku7YiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwCisjOiBidWlsdGluL2xvZy5jOjE0MgogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgIuS/rumlsOmAiemhuSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1CiBtc2dpZCAiUHJvY2VzcyBsaW5lIHJhbmdlIG4sbSBpbiBmaWxlLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIuWkhOeQhuaWh+S7tuS4reesrCBuIOWIsCBtIOS5i+mXtOeahOihjO+8jOS7jiAxIOW8gOWniyIKIAotIzogYnVpbHRpbi9sb2cuYzoyMzkKKyM6IGJ1aWx0aW4vbG9nLmM6MjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAi5pyA57uI6L6T5Ye677yaJWQgJXNcbiIKIAotIzogYnVpbHRpbi9sb2cuYzo0NzEKKyM6IGJ1aWx0aW4vbG9nLmM6NDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBzaG93ICVzOiBiYWQgZmlsZSIKIG1zZ3N0ciAiZ2l0IHNob3cgJXM6IOaNn+Wdj+eahOaWh+S7tiIKIAotIzogYnVpbHRpbi9sb2cuYzo0ODUgYnVpbHRpbi9sb2cuYzo1NzgKKyM6IGJ1aWx0aW4vbG9nLmM6NTAwIGJ1aWx0aW4vbG9nLmM6NTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W5a+56LGhICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjYwMgorIzogYnVpbHRpbi9sb2cuYzo2MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB0eXBlOiAlZCIKIG1zZ3N0ciAi5pyq55+l57G75Z6L77yaJWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzIyCisjOiBidWlsdGluL2xvZy5jOjczOQogbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCiBtc2dzdHIgImZvcm1hdC5oZWFkZXJzIOayoeacieWAvCIKIAotIzogYnVpbHRpbi9sb2cuYzo4MTIKKyM6IGJ1aWx0aW4vbG9nLmM6ODM5CiBtc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgogbXNnc3RyICLovpPlh7rnm67lvZXlkI3lpKrplb8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODI3CisjOiBidWlsdGluL2xvZy5jOjg1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICLml6Dms5XmiZPlvIDooaXkuIHmlofku7YgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODQxCisjOiBidWlsdGluL2xvZy5jOjg2OAogbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgogbXNnc3RyICLlj6rpnIDopoHkuIDkuKrojIPlm7TjgIIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODUxCisjOiBidWlsdGluL2xvZy5jOjg3OAogbXNnaWQgIk5vdCBhIHJhbmdlLiIKIG1zZ3N0ciAi5LiN5piv5LiA5Liq6IyD5Zu044CCIgogCi0jOiBidWlsdGluL2xvZy5jOjk1NworIzogYnVpbHRpbi9sb2cuYzo5ODQKIG1zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgogbXNnc3RyICLkv6HlsIHpnIDopoHpgq7ku7blnLDlnYDmoLzlvI8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTAzNgorIzogYnVpbHRpbi9sb2cuYzoxMDYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgIuS4jeato+W4uOeahCBpbi1yZXBseS10b++8miVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEwNjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTA5MQogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKIG1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbPOmAiemhuT5dIFs85LuOPiB8IDzniYjmnKzojIPlm7Q+XSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTA5CisjOiBidWlsdGluL2xvZy5jOjExNDEKIG1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKIG1zZ3N0ciAi5Lik5Liq6L6T5Ye655uu5b2V77yfIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMTYgYnVpbHRpbi9sb2cuYzoxODU3IGJ1aWx0aW4vbG9nLmM6MTg1OSBidWlsdGluL2xvZy5jOjE4NzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTI0OCBidWlsdGluL2xvZy5jOjE4OTEgYnVpbHRpbi9sb2cuYzoxODkzIGJ1aWx0aW4vbG9nLmM6MTkwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKIG1zZ3N0ciAi5pyq55+l5o+Q5LqkICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMjYgYnVpbHRpbi9ub3Rlcy5jOjI1MyBidWlsdGluL25vdGVzLmM6MzA0Ci0jOiBidWlsdGluL25vdGVzLmM6MzA2IGJ1aWx0aW4vbm90ZXMuYzozNjkgYnVpbHRpbi9ub3Rlcy5jOjQyNAotIzogYnVpbHRpbi9ub3Rlcy5jOjUxMCBidWlsdGluL25vdGVzLmM6NTE1IGJ1aWx0aW4vbm90ZXMuYzo1OTMKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2NTYgYnVpbHRpbi9ub3Rlcy5jOjg4MSBidWlsdGluL3RhZy5jOjQ1NQorIzogYnVpbHRpbi9sb2cuYzoxMjU4IGJ1aWx0aW4vbm90ZXMuYzo4ODQgYnVpbHRpbi90YWcuYzo0NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIuaXoOazleino+aekCAnJXMnIOS4uuS4gOS4quacieaViOW8leeUqOOAgiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjMxCisjOiBidWlsdGluL2xvZy5jOjEyNjMKIG1zZ2lkICJDb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlLiIKIG1zZ3N0ciAi5LiN6IO95om+5Yiw5YeG56Gu55qE5ZCI5bm25Z+657q/44CCIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI2NwogbXNnaWQgIiIKICJGYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKICJwbGVhc2UgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gdG8gdHJhY2sgYSByZW1vdGUgYnJhbmNoLlxuIgpAQCAtNzc0NywzMDcgKzg3MDIsMzE1IEBACiAiZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byDmnaXot5/ouKrkuIDkuKrov5znqIvliIbmlK/jgILmiJbogIXkvaDlj6/ku6XpgJrov4dcbiIKICLlj4LmlbAgLS1iYXNlPTxiYXNlLWNvbW1pdC1pZD4g5omL5Yqo5oyH5a6a5LiA5Liq5Z+657q/5o+Q5Lqk44CCIgogCi0jOiBidWlsdGluL2xvZy5jOjEyNTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTI4NwogbXNnaWQgIkZhaWxlZCB0byBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCiBtc2dzdHIgIuaXoOazleaJvuWIsOWHhuehrueahOWQiOW5tuWfuue6vyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjY2CisjOiBidWlsdGluL2xvZy5jOjEyOTgKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGQgYmUgdGhlIGFuY2VzdG9yIG9mIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgIuWfuue6v+aPkOS6pOW6lOivpeaYr+eJiOacrOWIl+ihqOeahOelluWFiCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjcwCisjOiBidWlsdGluL2xvZy5jOjEzMDIKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGRuJ3QgYmUgaW4gcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAi5Z+657q/5o+Q5Lqk5LiN5bqU6K+l5Ye6546w5Zyo54mI5pys5YiX6KGo5LitIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTM1MQogbXNnaWQgImNhbm5vdCBnZXQgcGF0Y2ggaWQiCiBtc2dzdHIgIuaXoOazleW+l+WIsOihpeS4gSBpZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzc3CisjOiBidWlsdGluL2xvZy5jOjE0MDgKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICLkvb/nlKggW1BBVENIIG4vbV3vvIzljbPkvb/lj6rmnInkuIDkuKrooaXkuIEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4MAorIzogYnVpbHRpbi9sb2cuYzoxNDExCiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgIuS9v+eUqCBbUEFUQ0hd77yM5Y2z5L2/5pyJ5aSa5Liq6KGl5LiBIgogCi0jOiBidWlsdGluL2xvZy5jOjEzODQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQxNQogbXNnaWQgInByaW50IHBhdGNoZXMgdG8gc3RhbmRhcmQgb3V0IgogbXNnc3RyICLmiZPljbDooaXkuIHliLDmoIflh4bovpPlh7oiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4NgorIzogYnVpbHRpbi9sb2cuYzoxNDE3CiBtc2dpZCAiZ2VuZXJhdGUgYSBjb3ZlciBsZXR0ZXIiCiBtc2dzdHIgIueUn+aIkOS4gOWwgemZhOS/oSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg4CisjOiBidWlsdGluL2xvZy5jOjE0MTkKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgIuS9v+eUqOeugOWNleeahOaVsOWtl+W6j+WIl+S9nOS4uui+k+WHuuaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzg5CisjOiBidWlsdGluL2xvZy5jOjE0MjAKIG1zZ2lkICJzZngiCiBtc2dzdHIgIuWQjue8gCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkwCisjOiBidWlsdGluL2xvZy5jOjE0MjEKIG1zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKIG1zZ3N0ciAi5L2/55SoIDzlkI7nvIA+IOS7o+abvyAnLnBhdGNoJyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkyCisjOiBidWlsdGluL2xvZy5jOjE0MjMKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICLooaXkuIHku6UgPG4+IOW8gOWni+e8luWPt++8jOiAjOS4jeaYrzEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5NAorIzogYnVpbHRpbi9sb2cuYzoxNDI1CiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICLmoIforrDooaXkuIHns7vliJfmmK/nrKzlh6DmrKHph43liLYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5NgorIzogYnVpbHRpbi9sb2cuYzoxNDI3Cittc2dpZCAiVXNlIFtSRkMgUEFUQ0hdIGluc3RlYWQgb2YgW1BBVENIXSIKK21zZ3N0ciAi5L2/55SoIFtSRkMgUEFUQ0hdIOS7o+abvyBbUEFUQ0hdIgorCisjOiBidWlsdGluL2xvZy5jOjE0MzAKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgIuS9v+eUqCBbPOWJjee8gD5dIOS7o+abvyBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjEzOTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzMwogbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKIG1zZ3N0ciAi5oqK57uT5p6c5paH5Lu25a2Y5YKo5ZyoIDznm67lvZU+IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNgogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgogbXNnc3RyICLkuI3liKDpmaQv5re75YqgIFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwNQorIzogYnVpbHRpbi9sb2cuYzoxNDM5CiBtc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKIG1zZ3N0ciAi5LiN6L6T5Ye65LqM6L+b5Yi25beu5byCIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MDcKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MQogbXNnaWQgIm91dHB1dCBhbGwtemVybyBoYXNoIGluIEZyb20gaGVhZGVyIgogbXNnc3RyICLlnKggRnJvbSDlpLTkv6Hmga/kuK3ovpPlh7rlhajkuLrpm7bnmoTlk4jluIzlgLwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwOQorIzogYnVpbHRpbi9sb2cuYzoxNDQzCiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICLkuI3ljIXlkKvlt7LlnKjkuIrmuLjmj5DkuqTkuK3nmoTooaXkuIEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxMQorIzogYnVpbHRpbi9sb2cuYzoxNDQ1CiBtc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgogbXNnc3RyICLmmL7npLrnuq/ooaXkuIHmoLzlvI/ogIzpnZ7pu5jorqTnmoTvvIjooaXkuIEr54q25oCB77yJIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0NwogbXNnaWQgIk1lc3NhZ2luZyIKIG1zZ3N0ciAi6YKu5Lu25Y+R6YCBIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0OAogbXNnaWQgImhlYWRlciIKIG1zZ3N0ciAiaGVhZGVyIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0OQogbXNnaWQgImFkZCBlbWFpbCBoZWFkZXIiCiBtc2dzdHIgIua3u+WKoOmCruS7tuWktCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE2IGJ1aWx0aW4vbG9nLmM6MTQxOAorIzogYnVpbHRpbi9sb2cuYzoxNDUwIGJ1aWx0aW4vbG9nLmM6MTQ1MgogbXNnaWQgImVtYWlsIgogbXNnc3RyICLpgq7ku7blnLDlnYAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxNgorIzogYnVpbHRpbi9sb2cuYzoxNDUwCiBtc2dpZCAiYWRkIFRvOiBoZWFkZXIiCiBtc2dzdHIgIua3u+WKoOaUtuS7tuS6uiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE4CisjOiBidWlsdGluL2xvZy5jOjE0NTIKIG1zZ2lkICJhZGQgQ2M6IGhlYWRlciIKIG1zZ3N0ciAi5re75Yqg5oqE6YCBIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ1NAogbXNnaWQgImlkZW50IgogbXNnc3RyICLmoIfor4YiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyMQorIzogYnVpbHRpbi9sb2cuYzoxNDU1CiBtc2dpZCAic2V0IEZyb20gYWRkcmVzcyB0byA8aWRlbnQ+IChvciBjb21taXR0ZXIgaWRlbnQgaWYgYWJzZW50KSIKIG1zZ3N0ciAi5bCGIEZyb20g5Zyw5Z2A6K6+572u5Li6IDzmoIfor4Y+77yI5aaC6Iul5LiN5o+Q5L6b77yM5YiZ55So5o+Q5Lqk6ICFIElEIOWBmuS4uuWcsOWdgO+8iSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDIzCisjOiBidWlsdGluL2xvZy5jOjE0NTcKIG1zZ2lkICJtZXNzYWdlLWlkIgogbXNnc3RyICLpgq7ku7bmoIfor4YiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyNAorIzogYnVpbHRpbi9sb2cuYzoxNDU4CiBtc2dpZCAibWFrZSBmaXJzdCBtYWlsIGEgcmVwbHkgdG8gPG1lc3NhZ2UtaWQ+IgogbXNnc3RyICLkvb/nrKzkuIDlsIHpgq7ku7bkvZzkuLrlr7kgPOmCruS7tuagh+ivhj4g55qE5Zue5aSNIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MjUgYnVpbHRpbi9sb2cuYzoxNDI4CisjOiBidWlsdGluL2xvZy5jOjE0NTkgYnVpbHRpbi9sb2cuYzoxNDYyCiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgIui+ueeVjCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDI2CisjOiBidWlsdGluL2xvZy5jOjE0NjAKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICLpmYTku7bmlrnlvI/mt7vliqDooaXkuIEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQyOQorIzogYnVpbHRpbi9sb2cuYzoxNDYzCiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAi5YaF6IGU5pi+56S66KGl5LiBIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MzMKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2NwogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICLlkK/nlKjpgq7ku7bnur/ntKLvvIzpo47moLzvvJrmtYXvvIzmt7EiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNQorIzogYnVpbHRpbi9sb2cuYzoxNDY5CiBtc2dpZCAic2lnbmF0dXJlIgogbXNnc3RyICLnrb7lkI0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNgorIzogYnVpbHRpbi9sb2cuYzoxNDcwCiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgogbXNnc3RyICLmt7vliqDkuIDkuKrnrb7lkI0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQzNworIzogYnVpbHRpbi9sb2cuYzoxNDcxCiBtc2dpZCAiYmFzZS1jb21taXQiCiBtc2dzdHIgIuWfuue6v+aPkOS6pCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDM4CisjOiBidWlsdGluL2xvZy5jOjE0NzIKIG1zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgogbXNnc3RyICLkuLrooaXkuIHliJfooajmt7vliqDliY3nva7moJHkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0MAorIzogYnVpbHRpbi9sb2cuYzoxNDc0CiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIGZyb20gYSBmaWxlIgogbXNnc3RyICLku47mlofku7bmt7vliqDkuIDkuKrnrb7lkI0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ0MQorIzogYnVpbHRpbi9sb2cuYzoxNDc1CiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAi5LiN6KaB5omT5Y2w6KGl5LiB5paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTU2NQogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKIG1zZ3N0ciAiLW4g5ZKMIC1rIOS6kuaWpeOAgiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMzCi1tc2dpZCAiLS1zdWJqZWN0LXByZWZpeCBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCi1tc2dzdHIgIi0tc3ViamVjdC1wcmVmaXgg5ZKMIC1rIOS6kuaWpeOAgiIKKyM6IGJ1aWx0aW4vbG9nLmM6MTU2NworbXNnaWQgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgorbXNnc3RyICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIOWSjCAtayDkupLmlqXjgIIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MQorIzogYnVpbHRpbi9sb2cuYzoxNTc1CiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLW9ubHkg5peg5oSP5LmJIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3NwogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLXN0YXR1cyDml6DmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0NQorIzogYnVpbHRpbi9sb2cuYzoxNTc5CiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWNoZWNrIOaXoOaEj+S5iSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTczCisjOiBidWlsdGluL2xvZy5jOjE2MDkKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAi5qCH5YeG6L6T5Ye65oiW55uu5b2V77yM5ZOq5LiA5Liq77yfIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzUKKyM6IGJ1aWx0aW4vbG9nLmM6MTYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICLkuI3og73liJvlu7rnm67lvZUgJyVzJyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjcyCisjOiBidWlsdGluL2xvZy5jOjE3MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc2lnbmF0dXJlIGZpbGUgJyVzJyIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W562+5ZCN5paH5Lu2ICclcyciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTc0MworIzogYnVpbHRpbi9sb2cuYzoxNzc3CiBtc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCiBtc2dzdHIgIuaXoOazleWIm+W7uui+k+WHuuaWh+S7tiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzkyCisjOiBidWlsdGluL2xvZy5jOjE4MjYKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKIG1zZ3N0ciAiZ2l0IGNoZXJyeSBbLXZdIFs85LiK5ri4PiBbPOWktD4gWzzpmZDliLY+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjE4NDYKKyM6IGJ1aWx0aW4vbG9nLmM6MTg4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCiBtc2dzdHIgIuS4jeiDveaJvuWIsOi3n+i4queahOi/nOeoi+WIhuaUr++8jOivt+aJi+W3peaMh+WumiA85LiK5ri4PuOAglxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6Mzc4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDU4CiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzzpgInpobk+XSBbPOaWh+S7tj4uLi5dIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDI3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTA3CiBtc2dpZCAiaWRlbnRpZnkgdGhlIGZpbGUgc3RhdHVzIHdpdGggdGFncyIKIG1zZ3N0ciAi55So5qCH562+5qCH6K+G5paH5Lu255qE54q25oCBIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDI5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTA5CiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgIuS9v+eUqOWwj+WGmeWtl+avjeihqOekuiAn5YGH6K6+5pyq5pS55Y+Y55qEJyDmlofku7YiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MzEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTEKIG1zZ2lkICJzaG93IGNhY2hlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IChkZWZhdWx0KSIKIG1zZ3N0ciAi5pi+56S657yT5a2Y55qE5paH5Lu277yI6buY6K6k77yJIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDMzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTEzCiBtc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuaYvuekuuW3suWIoOmZpOeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQzNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUxNQogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi5pi+56S65bey5L+u5pS555qE5paH5Lu2IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDM3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTE3CiBtc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLmmL7npLrlhbblroPmlofku7YiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0MzkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MTkKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi5pi+56S65b+955Wl55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDQyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTIyCiBtc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuaYvuekuuaaguWtmOWMuuWGheWuueeahOWvueixoeWQjeensCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNAogbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCiBtc2dzdHIgIuaYvuekuuaWh+S7tuezu+e7n+mcgOimgeWIoOmZpOeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ0NgorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZXMgb25seSIKIG1zZ3N0ciAi5Y+q5pi+56S64oCc5YW25LuW4oCd55uu5b2V55qE5ZCN56ewIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDQ4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI4CiBtc2dpZCAic2hvdyBsaW5lIGVuZGluZ3Mgb2YgZmlsZXMiCiBtc2dzdHIgIuaYvuekuuaWh+S7tuaNouihjOespuagvOW8jyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMAogbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIuS4jeaYvuekuuepuuebruW9lSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ1MworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMwogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi5pi+56S65pyq5ZCI5bm255qE5paH5Lu2IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDU1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM1CiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgIuaYvuekuiByZXNvbHZlLXVuZG8g5L+h5oGvIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDU3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM3CiBtc2dpZCAic2tpcCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIgogbXNnc3RyICLljLnphY3mjpLpmaTmlofku7bnmoTmqKHlvI8iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDAKIG1zZ2lkICJleGNsdWRlIHBhdHRlcm5zIGFyZSByZWFkIGZyb20gPGZpbGU+IgogbXNnc3RyICLku44gPOaWh+S7tj4g5Lit6K+75Y+W5o6S6Zmk5qih5byPIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDYzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgIuS7jiA85paH5Lu2PiDor7vlj5bpop3lpJbnmoTmr4/kuKrnm67lvZXnmoTmjpLpmaTmqKHlvI8iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NjUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICLmt7vliqDmoIflh4bnmoQgZ2l0IOaOkumZpCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OAogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICLmmL7npLrnm7jlr7nkuo7pobbnuqfnm67lvZXnmoTmlofku7blkI0iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTEKK21zZ2lkICJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIKK21zZ3N0ciAi5Zyo5a2Q5qih57uE5Lit6YCS5b2SIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICLlpoLmnpzku7vkvZUgPOaWh+S7tj4g6YO95LiN5Zyo57Si5byV5Yy677yM6KeG5Li66ZSZ6K+vIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDcyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU0CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgIuagkeaIluaPkOS6pCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NQogbXNnaWQgInByZXRlbmQgdGhhdCBwYXRocyByZW1vdmVkIHNpbmNlIDx0cmVlLWlzaD4gYXJlIHN0aWxsIHByZXNlbnQiCiBtc2dzdHIgIuWBh+ijheiHquS7jiA85qCR5oiW5o+Q5LqkPiDkuYvlkI7liKDpmaTnmoTot6/lvoTku43nhLblrZjlnKgiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTcKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICLmmL7npLrosIPor5XmlbDmja4iCiAKQEAgLTgxMzMsMTg3ICs5MDk2LDE3MyBAQAogbXNnaWQgImxpc3QgZW50aXJlIHRyZWU7IG5vdCBqdXN0IGN1cnJlbnQgZGlyZWN0b3J5IChpbXBsaWVzIC0tZnVsbC1uYW1lKSIKIG1zZ3N0ciAi5YiX5Ye65pW05Liq5qCR77yb5LiN5LuF5LuF5b2T5YmN55uu5b2V77yI6ZqQ5ZCrIC0tZnVsbC1uYW1l77yJIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NgogbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgogbXNnc3RyICJnaXQgbWVyZ2UgWzzpgInpobk+XSBbPOaPkOS6pD4uLi5dIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NwogbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSA8bXNnPiBIRUFEIDxjb21taXQ+IgogbXNnc3RyICJnaXQgbWVyZ2UgWzzpgInpobk+XSA86K+05piOPiBIRUFEIDzmj5DkuqQ+IgogCi0jOiBidWlsdGluL21lcmdlLmM6NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0OAogbXNnaWQgImdpdCBtZXJnZSAtLWFib3J0IgogbXNnc3RyICJnaXQgbWVyZ2UgLS1hYm9ydCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwMQorIzogYnVpbHRpbi9tZXJnZS5jOjEwMgogbXNnaWQgInN3aXRjaCBgbScgcmVxdWlyZXMgYSB2YWx1ZSIKIG1zZ3N0ciAi5byA5YWzIGBtJyDpnIDopoHkuIDkuKrlgLwiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgbWVyZ2Ugc3RyYXRlZ3kgJyVzJy5cbiIKIG1zZ3N0ciAi5LiN6IO95om+5Yiw5ZCI5bm2562W55WlICclcyfjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzOQorIzogYnVpbHRpbi9tZXJnZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdmFpbGFibGUgc3RyYXRlZ2llcyBhcmU6IgogbXNnc3RyICLlj6/nlKjnmoTnrZbnlaXmnInvvJoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIuWPr+eUqOeahOiHquWumuS5ieetlueVpeacie+8miIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE5NCBidWlsdGluL3B1bGwuYzoxMjYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTUgYnVpbHRpbi9wdWxsLmM6MTI3CiBtc2dpZCAiZG8gbm90IHNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAi5Zyo5ZCI5bm255qE5pyA5ZCO5LiN5pi+56S65beu5byC57uf6K6hIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTk3IGJ1aWx0aW4vcHVsbC5jOjEyOQorIzogYnVpbHRpbi9tZXJnZS5jOjE5OCBidWlsdGluL3B1bGwuYzoxMzAKIG1zZ2lkICJzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgIuWcqOWQiOW5tueahOacgOWQjuaYvuekuuW3ruW8gue7n+iuoSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE5OCBidWlsdGluL3B1bGwuYzoxMzIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTkgYnVpbHRpbi9wdWxsLmM6MTMzCiBtc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKIG1zZ3N0ciAi77yI5ZKMIC0tc3RhdCDlkIzkuYnvvIkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDAgYnVpbHRpbi9wdWxsLmM6MTM1CisjOiBidWlsdGluL21lcmdlLmM6MjAxIGJ1aWx0aW4vcHVsbC5jOjEzNgogbXNnaWQgImFkZCAoYXQgbW9zdCA8bj4pIGVudHJpZXMgZnJvbSBzaG9ydGxvZyB0byBtZXJnZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAi5Zyo5ZCI5bm25o+Q5Lqk5L+h5oGv5Lit5re75Yqg77yI5pyA5aSaIDxuPiDmnaHvvInnsr7nroDmj5DkuqTorrDlvZUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDMgYnVpbHRpbi9wdWxsLmM6MTM4CisjOiBidWlsdGluL21lcmdlLmM6MjA0IGJ1aWx0aW4vcHVsbC5jOjEzOQogbXNnaWQgImNyZWF0ZSBhIHNpbmdsZSBjb21taXQgaW5zdGVhZCBvZiBkb2luZyBhIG1lcmdlIgogbXNnc3RyICLliJvlu7rkuIDkuKrljZXni6znmoTmj5DkuqTogIzkuI3mmK/lgZrkuIDmrKHlkIjlubYiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMDUgYnVpbHRpbi9wdWxsLmM6MTQxCisjOiBidWlsdGluL21lcmdlLmM6MjA2IGJ1aWx0aW4vcHVsbC5jOjE0MgogbXNnaWQgInBlcmZvcm0gYSBjb21taXQgaWYgdGhlIG1lcmdlIHN1Y2NlZWRzIChkZWZhdWx0KSIKIG1zZ3N0ciAi5aaC5p6c5ZCI5bm25oiQ5Yqf77yM5omn6KGM5LiA5qyh5o+Q5Lqk77yI6buY6K6k77yJIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjA3IGJ1aWx0aW4vcHVsbC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjIwOCBidWlsdGluL3B1bGwuYzoxNDUKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgIuWcqOaPkOS6pOWJjee8lui+keaPkOS6pOivtOaYjiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIwOAorIzogYnVpbHRpbi9tZXJnZS5jOjIwOQogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCAoZGVmYXVsdCkiCiBtc2dzdHIgIuWFgeiuuOW/q+i/m++8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxMCBidWlsdGluL3B1bGwuYzoxNTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTEgYnVpbHRpbi9wdWxsLmM6MTUxCiBtc2dpZCAiYWJvcnQgaWYgZmFzdC1mb3J3YXJkIGlzIG5vdCBwb3NzaWJsZSIKIG1zZ3N0ciAi5aaC5p6c5LiN6IO95b+r6L+b5bCx5pS+5byD5ZCI5bm2IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE0Ci1tc2dpZCAiVmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgorIzogYnVpbHRpbi9tZXJnZS5jOjIxNSBidWlsdGluL3B1bGwuYzoxNTQKK21zZ2lkICJ2ZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCiBtc2dzdHIgIumqjOivgeaMh+WumueahOaPkOS6pOaYr+WQpuWMheWQq+S4gOS4quacieaViOeahCBHUEcg562+5ZCNIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE1IGJ1aWx0aW4vbm90ZXMuYzo3NzEgYnVpbHRpbi9wdWxsLmM6MTU3CisjOiBidWlsdGluL21lcmdlLmM6MjE2IGJ1aWx0aW4vbm90ZXMuYzo3NzQgYnVpbHRpbi9wdWxsLmM6MTU4CiAjOiBidWlsdGluL3JldmVydC5jOjg5CiBtc2dpZCAic3RyYXRlZ3kiCiBtc2dzdHIgIuetlueVpSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIxNiBidWlsdGluL3B1bGwuYzoxNTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTU5CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgogbXNnc3RyICLopoHkvb/nlKjnmoTlkIjlubbnrZbnlaUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMTcgYnVpbHRpbi9wdWxsLmM6MTYxCisjOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vcHVsbC5jOjE2MgogbXNnaWQgIm9wdGlvbj12YWx1ZSIKIG1zZ3N0ciAib3B0aW9uPXZhbHVlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjE4IGJ1aWx0aW4vcHVsbC5jOjE2MgorIzogYnVpbHRpbi9tZXJnZS5jOjIxOSBidWlsdGluL3B1bGwuYzoxNjMKIG1zZ2lkICJvcHRpb24gZm9yIHNlbGVjdGVkIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICLmiYDpgInnmoTlkIjlubbnrZbnlaXnmoTpgInpobkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjEKIG1zZ2lkICJtZXJnZSBjb21taXQgbWVzc2FnZSAoZm9yIGEgbm9uLWZhc3QtZm9yd2FyZCBtZXJnZSkiCiBtc2dzdHIgIuWQiOW5tueahOaPkOS6pOivtOaYju+8iOmSiOWvuemdnuW/q+i/m+W8j+WQiOW5tu+8iSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIyNAorIzogYnVpbHRpbi9tZXJnZS5jOjIyNQogbXNnaWQgImFib3J0IHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgogbXNnc3RyICLmlL7lvIPlvZPliY3mraPlnKjov5vooYznmoTlkIjlubYiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMjYgYnVpbHRpbi9wdWxsLmM6MTY5CisjOiBidWlsdGluL21lcmdlLmM6MjI3IGJ1aWx0aW4vcHVsbC5jOjE3MAogbXNnaWQgImFsbG93IG1lcmdpbmcgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAi5YWB6K645ZCI5bm25LiN55u45YWz55qE5Y6G5Y+yIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU0CisjOiBidWlsdGluL21lcmdlLmM6MjU1CiBtc2dpZCAiY291bGQgbm90IHJ1biBzdGFzaC4iCiBtc2dzdHIgIuS4jeiDvei/m+ihjOi/m+W6puS/neWtmOOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1OQorIzogYnVpbHRpbi9tZXJnZS5jOjI2MAogbXNnaWQgInN0YXNoIGZhaWxlZCIKIG1zZ3N0ciAi6L+b5bqm5L+d5a2Y5aSx6LSlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjY0CisjOiBidWlsdGluL21lcmdlLmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiCiBtc2dzdHIgIuS4jeaYr+S4gOS4quacieaViOWvueixoe+8miVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjgzIGJ1aWx0aW4vbWVyZ2UuYzozMDAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODQgYnVpbHRpbi9tZXJnZS5jOjMwMQogbXNnaWQgInJlYWQtdHJlZSBmYWlsZWQiCiBtc2dzdHIgIuivu+WPluagkeWksei0pSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiBidWlsdGluL21lcmdlLmM6MzMwCisjOiBidWlsdGluL21lcmdlLmM6MzMxCiBtc2dpZCAiIChub3RoaW5nIHRvIHNxdWFzaCkiCiBtc2dzdHIgIiDvvIjml6Dlj6/ljovnvKnvvIkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICLljovnvKnmj5DkuqQgLS0g5pyq5pu05pawIEhFQURcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM0NyBidWlsdGluL21lcmdlLmM6NzY3IGJ1aWx0aW4vbWVyZ2UuYzo5ODcKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDAwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgotbXNnc3RyICLkuI3og73lhpnlhaUgJyVzJyIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjM3NQotbXNnaWQgIldyaXRpbmcgU1FVQVNIX01TRyIKLW1zZ3N0ciAi5YaZ5YWlIFNRVUFTSF9NU0ciCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNzcKLW1zZ2lkICJGaW5pc2hpbmcgU1FVQVNIX01TRyIKLW1zZ3N0ciAi5a6M5oiQIFNRVUFTSF9NU0ciCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0MDAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2UgbWVzc2FnZSAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICLml6DlkIjlubbkv6Hmga8gLS0g5pyq5pu05pawIEhFQURcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ1MQorIzogYnVpbHRpbi9tZXJnZS5jOjQ0MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgY29tbWl0IgogbXNnc3RyICInJXMnIOayoeacieaMh+WQkeS4gOS4quaPkOS6pCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjU0MQorIzogYnVpbHRpbi9tZXJnZS5jOjUzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBzdHJpbmc6ICVzIgogbXNnc3RyICLlnY/nmoQgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyDlrZfnrKbkuLLvvJolcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY2MAorIzogYnVpbHRpbi9tZXJnZS5jOjY1MgogbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCiBtc2dzdHIgIuS4jeiDveWkhOeQhuS4pOS4quWktOWQiOW5tuS5i+WklueahOS7u+S9leaTjeS9nOOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY3NAorIzogYnVpbHRpbi9tZXJnZS5jOjY2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogbXNnc3RyICJtZXJnZS1yZWN1cnNpdmUg55qE5pyq55+l6YCJ6aG577yaLVglcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjY4NworIzogYnVpbHRpbi9tZXJnZS5jOjY4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCiBtc2dzdHIgIuS4jeiDveWGmSAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc3NgorIzogYnVpbHRpbi9tZXJnZS5jOjczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCiBtc2dzdHIgIuS4jeiDveS7jiAnJXMnIOivu+WPliIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc4NQorIzogYnVpbHRpbi9tZXJnZS5jOjc0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgY29tbWl0dGluZyBtZXJnZTsgdXNlICdnaXQgY29tbWl0JyB0byBjb21wbGV0ZSB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIuacquaPkOS6pOWQiOW5tu+8jOS9v+eUqCAnZ2l0IGNvbW1pdCcg5a6M5oiQ5q2k5qyh5ZCI5bm244CCXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgpAQCAtODMyNyw1MiArOTI3Niw2NiBAQAogIlxuIgogIuS7pSAnJWMnIOW8gOWktOeahOihjOWwhuiiq+W/veeVpe+8jOiAjOS4lOepuuaPkOS6pOivtOaYjuWwhuS8mue7iOatouaPkOS6pOOAglxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODE1CisjOiBidWlsdGluL21lcmdlLmM6NzcyCiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICLnqbrmj5DkuqTkv6Hmga/jgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICLlpKrmo5LkuobjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg5MAorIzogYnVpbHRpbi9tZXJnZS5jOjg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2UgZmFpbGVkOyBmaXggY29uZmxpY3RzIGFuZCB0aGVuIGNvbW1pdCB0aGUgcmVzdWx0LlxuIgogbXNnc3RyICLoh6rliqjlkIjlubblpLHotKXvvIzkv67mraPlhrLnqoHnhLblkI7mj5DkuqTkv67mraPnmoTnu5PmnpzjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkwNgorIzogYnVpbHRpbi9tZXJnZS5jOjg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCIKIG1zZ3N0ciAiJyVzJyDkuI3mmK/kuIDkuKrmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDQKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIuayoeacieW9k+WJjeWIhuaUr+OAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0OQorIzogYnVpbHRpbi9tZXJnZS5jOjkwNgogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi5b2T5YmN5YiG5pSv5rKh5pyJ5a+55bqU55qE6L+c56iL5LuT5bqT44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTUxCisjOiBidWlsdGluL21lcmdlLmM6OTA4CiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLlvZPliY3liIbmlK/msqHmnInlrprkuYnpu5jorqTnmoTkuIrmuLjliIbmlK/jgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NTYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKIG1zZ3N0ciAi5a+55LqOICVzIOayoeacieadpeiHqiAlcyDnmoTov5znqIvot5/ouKrliIbmlK8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDkxCisjOiBidWlsdGluL21lcmdlLmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB2YWx1ZSAnJXMnIGluIGVudmlyb25tZW50ICclcyciCittc2dzdHIgIueOr+WigyAnJTIkcycg5Lit5a2Y5Zyo5Z2P55qE5Y+W5YC8ICclMSRzJyIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEwMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlICclcyciCiBtc2dzdHIgIuS4jeiDveWFs+mXrSAnJXMnIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIxOQorIzogYnVpbHRpbi9tZXJnZS5jOjEwNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UgaW4gJXM6ICVzIgorbXNnc3RyICLkuI3og73lnKggJXMg5Lit5ZCI5bm277yaJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDk1Cittc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCittc2dzdHIgIuS4jeiDveWQiOW5tiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExNjIKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIuayoeacieimgee7iOatoueahOWQiOW5tu+8iE1FUkdFX0hFQUQg5Lii5aSx77yJ44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIzNQorIzogYnVpbHRpbi9tZXJnZS5jOjExNzgKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtODM4MCw3ICs5MzQzLDcgQEAKICLmgqjlsJrmnKrnu5PmnZ/mgqjnmoTlkIjlubbvvIjlrZjlnKggTUVSR0VfSEVBRO+8ieOAglxuIgogIuivt+WcqOWQiOW5tuWJjeWFiOaPkOS6pOaCqOeahOS/ruaUueOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTg1CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTgzODgsMTA0ICs5MzUxLDExMiBAQAogIuaCqOWwmuacque7k+adn+aCqOeahOaLo+mAie+8iOWtmOWcqCBDSEVSUllfUElDS19IRUFE77yJ44CCXG4iCiAi6K+35Zyo5ZCI5bm25YmN5YWI5o+Q5Lqk5oKo55qE5L+u5pS544CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI0NQorIzogYnVpbHRpbi9tZXJnZS5jOjExODgKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIuaCqOWwmuacque7k+adn+aCqOeahOaLo+mAie+8iOWtmOWcqCBDSEVSUllfUElDS19IRUFE77yJ44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NAorIzogYnVpbHRpbi9tZXJnZS5jOjExOTcKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKIG1zZ3N0ciAi5oKo5LiN6IO95bCGIC0tc3F1YXNoIOS4jiAtLW5vLWZmIOWQjOaXtuS9v+eUqOOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjA1CiBtc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCiBtc2dzdHIgIuacquaMh+WumuaPkOS6pOW5tuS4lCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSDmnKrorr7nva7jgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjc5CisjOiBidWlsdGluL21lcmdlLmM6MTIyMgogbXNnaWQgIlNxdWFzaCBjb21taXQgaW50byBlbXB0eSBoZWFkIG5vdCBzdXBwb3J0ZWQgeWV0IgogbXNnc3RyICLlsJrkuI3mlK/mjIHliLDnqbrliIbmlK/nmoTljovnvKnmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjgxCisjOiBidWlsdGluL21lcmdlLmM6MTIyNAogbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgogbXNnc3RyICLliLDnqbrliIbmlK/nmoTpnZ7lv6vov5vlvI/mj5DkuqTmsqHmnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg2CisjOiBidWlsdGluL21lcmdlLmM6MTIyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIlcyAtIOS4jeiDveiiq+WQiOW5tiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjMxCiBtc2dpZCAiQ2FuIG1lcmdlIG9ubHkgZXhhY3RseSBvbmUgY29tbWl0IGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAi5Y+q6IO95bCG5LiA5Liq5o+Q5Lqk5ZCI5bm25Yiw56m65YiG5pSv5LiKIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM0NAorIzogYnVpbHRpbi9tZXJnZS5jOjEyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSwgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAi5o+Q5LqkICVzIOacieS4gOS4qumdnuWPr+S/oeeahOWjsOensOadpeiHqiAlcyDnmoQgR1BHIOetvuWQjeOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzNDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICLmj5DkuqQgJXMg5pyJ5LiA5Liq6ZSZ6K+v55qE5aOw56ew5p2l6IeqICVzIOeahCBHUEcg562+5ZCN44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM1MAorIzogYnVpbHRpbi9tZXJnZS5jOjEyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgYSBHUEcgc2lnbmF0dXJlLiIKIG1zZ3N0ciAi5o+Q5LqkICVzIOayoeacieS4gOS4qiBHUEcg562+5ZCN44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTM1MworIzogYnVpbHRpbi9tZXJnZS5jOjEyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGdvb2QgR1BHIHNpZ25hdHVyZSBieSAlc1xuIgogbXNnc3RyICLmj5DkuqQgJXMg5pyJ5LiA5Liq5p2l6IeqICVzIOeahOWlveeahCBHUEcg562+5ZCN44CCXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDE1CisjOiBidWlsdGluL21lcmdlLmM6MTM1OAogbXNnaWQgInJlZnVzaW5nIHRvIG1lcmdlIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgIuaLkue7neWQiOW5tuaXoOWFs+eahOWOhuWPsiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzY3Cittc2dpZCAiQWxyZWFkeSB1cC10by1kYXRlLiIKK21zZ3N0ciAi5bey57uP5piv5pyA5paw55qE44CCIgorCisjOiBidWlsdGluL21lcmdlLmM6MTM3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcy4uJXNcbiIKIG1zZ3N0ciAi5pu05pawICVzLi4lc1xuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ3NgorIzogYnVpbHRpbi9tZXJnZS5jOjE0MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIHJlYWxseSB0cml2aWFsIGluLWluZGV4IG1lcmdlLi4uXG4iCiBtc2dzdHIgIuWwneivlemdnuW4uOWwj+eahOe0ouW8leWGheWQiOW5ti4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ4MworIzogYnVpbHRpbi9tZXJnZS5jOjE0MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm9wZS5cbiIKIG1zZ3N0ciAi5peg44CCXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTE1CisjOiBidWlsdGluL21lcmdlLmM6MTQ1MAorbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZS4gWWVlYWghIgorbXNnc3RyICLlt7Lnu4/mmK/mnIDmlrDnmoTjgILogLbvvIEiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDU2CiBtc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgogbXNnc3RyICLml6Dms5Xlv6vov5vvvIznu4jmraLjgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTM4IGJ1aWx0aW4vbWVyZ2UuYzoxNjE3CisjOiBidWlsdGluL21lcmdlLmM6MTQ3OSBidWlsdGluL21lcmdlLmM6MTU1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXdpbmRpbmcgdGhlIHRyZWUgdG8gcHJpc3RpbmUuLi5cbiIKIG1zZ3N0ciAi5bCG5qCR5Zue5rua6Iez5Y6f5aeL54q25oCBLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQyCisjOiBidWlsdGluL21lcmdlLmM6MTQ4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgbWVyZ2Ugc3RyYXRlZ3kgJXMuLi5cbiIKIG1zZ3N0ciAi5bCd6K+V5ZCI5bm2562W55WlICVzLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjA4CisjOiBidWlsdGluL21lcmdlLmM6MTU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBzdHJhdGVneSBoYW5kbGVkIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAi5rKh5pyJ5ZCI5bm2562W55Wl5aSE55CG5q2k5ZCI5bm244CCXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjEwCisjOiBidWlsdGluL21lcmdlLmM6MTU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJNZXJnZSB3aXRoIHN0cmF0ZWd5ICVzIGZhaWxlZC5cbiIKIG1zZ3N0ciAi5L2/55So562W55WlICVzIOWQiOW5tuWksei0peOAglxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYxOQorIzogYnVpbHRpbi9tZXJnZS5jOjE1NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNpbmcgdGhlICVzIHRvIHByZXBhcmUgcmVzb2x2aW5nIGJ5IGhhbmQuXG4iCiBtc2dzdHIgIuS9v+eUqCAlcyDku6Xlh4blpIfmiYvlt6Xop6PlhrPjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MzEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSB3ZW50IHdlbGw7IHN0b3BwZWQgYmVmb3JlIGNvbW1pdHRpbmcgYXMgcmVxdWVzdGVkXG4iCiBtc2dzdHIgIuiHquWKqOWQiOW5tui/m+WxlemhuuWIqe+8jOaMieimgeaxguWcqOaPkOS6pOWJjeWBnOatolxuIgpAQCAtODUxMCwyMyArOTQ4MSwyMyBAQAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiBbPGNvbW1pdD5dIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPOW8leeUqD4gWzzmj5DkuqQ+XSIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE0CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTcKIG1zZ2lkICJvdXRwdXQgYWxsIGNvbW1vbiBhbmNlc3RvcnMiCiBtc2dzdHIgIui+k+WHuuaJgOacieWFseWQjOeahOelluWFiCIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE2CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMTkKIG1zZ2lkICJmaW5kIGFuY2VzdG9ycyBmb3IgYSBzaW5nbGUgbi13YXkgbWVyZ2UiCiBtc2dzdHIgIuafpeaJvuS4gOS4quWkmui3r+WQiOW5tueahOelluWFiOaPkOS6pCIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjE4CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjEKIG1zZ2lkICJsaXN0IHJldnMgbm90IHJlYWNoYWJsZSBmcm9tIG90aGVycyIKIG1zZ3N0ciAi5pi+56S65LiN6IO96KKr5YW25LuW6K6/6Zeu5Yiw55qE54mI5pysIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjAKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMwogbXNnaWQgImlzIHRoZSBmaXJzdCBvbmUgYW5jZXN0b3Igb2YgdGhlIG90aGVyPyIKIG1zZ3N0ciAi56ys5LiA5Liq5piv5YW25LuW55qE56WW5YWI5o+Q5Lqk5LmI77yfIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjIKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyNQogbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgogbXNnc3RyICLmoLnmja4gPOW8leeUqD4g55qE5byV55So5pel5b+X5p+l5om+IDzmj5DkuqQ+IOeahOa0vueUn+WkhCIKIApAQCAtODU3MCw2ICs5NTQxLDM3IEBACiBtc2dpZCAic2V0IGxhYmVscyBmb3IgZmlsZTEvb3JpZy1maWxlL2ZpbGUyIgogbXNnc3RyICLkuLog5paH5Lu2MS/liJ3lp4vmlofku7Yv5paH5Lu2MiDorr7nva7moIfnrb4iCiAKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gJXMiCittc2dzdHIgIuacquefpemAiemhuSAlcyIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCittc2dzdHIgIuS4jeiDveino+aekOWvueixoSAnJXMnIgorCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2UuIElnbm9yaW5nICVzLiIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgYmFzZXMuIElnbm9yaW5nICVzLiIKK21zZ3N0clswXSAi5peg5rOV5aSE55CGICVkIOadoeS7peS4iueahOWfuue6v+OAguW/veeVpSAlc+OAgiIKK21zZ3N0clsxXSAi5peg5rOV5aSE55CGICVkIOadoeS7peS4iueahOWfuue6v+OAguW/veeVpSAlc+OAgiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2MworbXNnaWQgIm5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCittc2dzdHIgIuS4jeiDveWkhOeQhuS4pOS4quWktOWQiOW5tuS5i+WklueahOS7u+S9leaTjeS9nOOAgiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2OSBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIHJlZiAnJXMnIgorbXNnc3RyICLml6Dms5Xop6PmnpDlvJXnlKggJyVzJyIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJNZXJnaW5nICVzIHdpdGggJXNcbiIKK21zZ3N0ciAi5ZCI5bm2ICVzIOWSjCAlc1xuIgorCiAjOiBidWlsdGluL21rdHJlZS5jOjY1CiBtc2dpZCAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKIG1zZ3N0ciAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKQEAgLTg2MTIsMTA5ICs5NjE0LDEwOSBAQAogbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgogbXNnc3RyICLot7Pov4fnp7vliqgv6YeN5ZG95ZCN6ZSZ6K+vIgogCi0jOiBidWlsdGluL212LmM6MTUyCisjOiBidWlsdGluL212LmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICLnm67moIcgJyVzJyDkuI3mmK/kuIDkuKrnm67lvZUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNjMKKyM6IGJ1aWx0aW4vbXYuYzoxNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICLmo4Dmn6UgJyVzJyDliLAgJyVzJyDnmoTph43lkb3lkI1cbiIKIAotIzogYnVpbHRpbi9tdi5jOjE2NworIzogYnVpbHRpbi9tdi5jOjE3MAogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgIuWdj+eahOa6kCIKIAotIzogYnVpbHRpbi9tdi5jOjE3MAorIzogYnVpbHRpbi9tdi5jOjE3MwogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgIuS4jeiDveWwhuebruW9leenu+WKqOWIsOiHqui6qyIKIAotIzogYnVpbHRpbi9tdi5jOjE3MworIzogYnVpbHRpbi9tdi5jOjE3NgogbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCiBtc2dzdHIgIuS4jeiDveWwhuebruW9leenu+WKqOWIsOaWh+S7tiIKIAotIzogYnVpbHRpbi9tdi5jOjE4MgorIzogYnVpbHRpbi9tdi5jOjE4NQogbXNnaWQgInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiCiBtc2dzdHIgIua6kOebruW9leS4uuepuiIKIAotIzogYnVpbHRpbi9tdi5jOjIwNworIzogYnVpbHRpbi9tdi5jOjIxMAogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgIuS4jeWcqOeJiOacrOaOp+WItuS5i+S4iyIKIAotIzogYnVpbHRpbi9tdi5jOjIxMAorIzogYnVpbHRpbi9tdi5jOjIxMwogbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKIG1zZ3N0ciAi55uu5qCH5bey5a2Y5ZyoIgogCi0jOiBidWlsdGluL212LmM6MjE4CisjOiBidWlsdGluL212LmM6MjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgIuimhuebliAnJXMnIgogCi0jOiBidWlsdGluL212LmM6MjIxCisjOiBidWlsdGluL212LmM6MjI0CiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAi5LiN6IO96KaG55uWIgogCi0jOiBidWlsdGluL212LmM6MjI0CisjOiBidWlsdGluL212LmM6MjI3CiBtc2dpZCAibXVsdGlwbGUgc291cmNlcyBmb3IgdGhlIHNhbWUgdGFyZ2V0IgogbXNnc3RyICLlkIzkuIDnm67moIflhbfmnInlpJrkuKrmupAiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjYKKyM6IGJ1aWx0aW4vbXYuYzoyMjkKIG1zZ2lkICJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIuebruagh+ebruW9leS4jeWtmOWcqCIKIAotIzogYnVpbHRpbi9tdi5jOjIzMworIzogYnVpbHRpbi9tdi5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiJXPvvIzmupA9JXPvvIznm67moIc9JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNTQKKyM6IGJ1aWx0aW4vbXYuYzoyNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAi6YeN5ZG95ZCNICVzIOiHsyAlc1xuIgogCi0jOiBidWlsdGluL212LmM6MjYwIGJ1aWx0aW4vcmVtb3RlLmM6NzE0IGJ1aWx0aW4vcmVwYWNrLmM6MzY1CisjOiBidWlsdGluL212LmM6MjYzIGJ1aWx0aW4vcmVtb3RlLmM6NzEwIGJ1aWx0aW4vcmVwYWNrLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICLph43lkb3lkI0gJyVzJyDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzoyNTcKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPOmAiemhuT5dIDzmj5DkuqQ+Li4uIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MjU5CisjOiBidWlsdGluL25hbWUtcmV2LmM6MjU4CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tYWxsIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzzpgInpobk+XSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjI2MAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjI1OQogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLXN0ZGluIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzzpgInpobk+XSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzEyCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzExCiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICLlj6rmiZPljbDlkI3np7DvvIjml6AgU0hBLTHvvIkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTMKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTIKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgIuWPquS9v+eUqOagh+etvuadpeWRveWQjeaPkOS6pCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjMxNAogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICLlj6rkvb/nlKjlkowgPOaooeW8jz4g55u45Yy56YWN55qE5byV55SoIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE3CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE2CiBtc2dpZCAibGlzdCBhbGwgY29tbWl0cyByZWFjaGFibGUgZnJvbSBhbGwgcmVmcyIKIG1zZ3N0ciAi5YiX5Ye65Y+v5Lul5LuO5omA5pyJ5byV55So6K6/6Zeu55qE5o+Q5LqkIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzE4CisjOiBidWlsdGluL25hbWUtcmV2LmM6MzE3CiBtc2dpZCAicmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICLku47moIflh4bovpPlhaXor7vlj5YiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTkKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMTgKIG1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCiBtc2dzdHIgIuWFgeiuuOaJk+WNsCBg5pyq5a6a5LmJYCDnmoTlkI3np7DvvIjpu5jorqTvvIkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjUKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozMjQKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKIG1zZ3N0ciAi5Y+N5ZCR6Kej5p6Q6L6T5YWl5Lit55qE5qCH562+77yI5YaF6YOo5L2/55So77yJIgogCkBAIC04ODI3LDYgKzk4MjksMTAgQEAKIG1zZ2lkICJnaXQgbm90ZXMgZ2V0LXJlZiIKIG1zZ3N0ciAiZ2l0IG5vdGVzIGdldC1yZWYiCiAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NAorbXNnaWQgIldyaXRlL2VkaXQgdGhlIG5vdGVzIGZvciB0aGUgZm9sbG93aW5nIG9iamVjdDoiCittc2dzdHIgIuS4uuS4i+mdoueahOWvueixoeWGmS/nvJbovpHor7TmmI7vvJoiCisKICM6IGJ1aWx0aW4vbm90ZXMuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICdzaG93JyBmb3Igb2JqZWN0ICclcyciCkBAIC04ODQxLDEyMSArOTg0NywxNDAgQEAKIG1zZ2lkICJmYWlsZWQgdG8gZmluaXNoICdzaG93JyBmb3Igb2JqZWN0ICclcyciCiBtc2dzdHIgIuaXoOazleS4uuWvueixoSAnJXMnIOWujOaIkCAnc2hvdyciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNzQgYnVpbHRpbi90YWcuYzoyNDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciCi1tc2dzdHIgIuS4jeiDveWIm+W7uuaWh+S7tiAnJXMnIgotCi0jOiBidWlsdGluL25vdGVzLmM6MTkzCi1tc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgorIzogYnVpbHRpbi9ub3Rlcy5jOjE5NAorbXNnaWQgInBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKIG1zZ3N0ciAi6K+36YCa6L+HIC1tIOaIliAtRiDpgInpobnkuLrms6jop6Pmj5DkvpvlhoXlrrkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMDIKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDMKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCiBtc2dzdHIgIuS4jeiDveWGmeazqOino+WvueixoSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIwNAorIzogYnVpbHRpbi9ub3Rlcy5jOjIwNQogIywgYy1mb3JtYXQKLW1zZ2lkICJUaGUgbm90ZSBjb250ZW50cyBoYXZlIGJlZW4gbGVmdCBpbiAlcyIKK21zZ2lkICJ0aGUgbm90ZSBjb250ZW50cyBoYXZlIGJlZW4gbGVmdCBpbiAlcyIKIG1zZ3N0ciAi5rOo6Kej5YaF5a656KKr55WZ5ZyoICVzIOS4rSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIzMiBidWlsdGluL3RhZy5jOjQzOQorIzogYnVpbHRpbi9ub3Rlcy5jOjIzMyBidWlsdGluL3RhZy5jOjQzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnIgogbXNnc3RyICLkuI3og73or7vlj5YgJyVzJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjIzNCBidWlsdGluL3RhZy5jOjQ0MgorIzogYnVpbHRpbi9ub3Rlcy5jOjIzNSBidWlsdGluL3RhZy5jOjQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgIuS4jeiDveaJk+W8gOaIluivu+WPliAnJXMnIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjU2CisjOiBidWlsdGluL25vdGVzLmM6MjU0IGJ1aWx0aW4vbm90ZXMuYzozMDUgYnVpbHRpbi9ub3Rlcy5jOjMwNworIzogYnVpbHRpbi9ub3Rlcy5jOjM3MiBidWlsdGluL25vdGVzLmM6NDI3IGJ1aWx0aW4vbm90ZXMuYzo1MTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MTggYnVpbHRpbi9ub3Rlcy5jOjU5NiBidWlsdGluL25vdGVzLmM6NjU5CiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAi5peg5rOV6Kej5p6QICclcycg5Li65LiA5Liq5pyJ5pWI5byV55So44CCIgorCisjOiBidWlsdGluL25vdGVzLmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W5a+56LGhICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNjAKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNjEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIgotbXNnc3RyICLkuI3og73ku47pnZ7mlbDmja7lr7nosaEgJyVzJyDkuK3or7vlj5bms6jop6PmlbDmja4iCittc2dpZCAiY2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIgorbXNnc3RyICLkuI3og73ku47pnZ7mlbDmja7lr7nosaEgJyVzJyDkuK3or7vlj5bms6jop6PmlbDmja7jgIIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNjIgYnVpbHRpbi9ub3Rlcy5jOjQxNyBidWlsdGluL25vdGVzLmM6NDkzCi0jOiBidWlsdGluL25vdGVzLmM6NTA1IGJ1aWx0aW4vbm90ZXMuYzo1ODEgYnVpbHRpbi9ub3Rlcy5jOjY0OQotIzogYnVpbHRpbi9ub3Rlcy5jOjk0NgorIzogYnVpbHRpbi9ub3Rlcy5jOjMwMQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCittc2dzdHIgIumdnuazleeahOi+k+WFpeihjO+8miclcyfjgIIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCittc2dzdHIgIuS7jiAnJXMnIOaLt+i0neazqOino+WIsCAnJXMnIOaXtuWksei0pSIKKworIy4gVFJBTlNMQVRPUlM6IHRoZSBmaXJzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEKKyMuIGdpdCBub3RlcyBjb21tYW5kOiAnYWRkJywgJ21lcmdlJywgJ3JlbW92ZScsIGV0Yy4KKyM6IGJ1aWx0aW4vbm90ZXMuYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmdXNpbmcgdG8gJXMgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgorbXNnc3RyICLmi5Lnu53lkJEgJTIkc++8iOWcqCByZWZzL25vdGVzLyDkuYvlpJbvvIklMSRz5rOo6KejIgorCisjOiBidWlsdGluL25vdGVzLmM6MzY1IGJ1aWx0aW4vbm90ZXMuYzo0MjAgYnVpbHRpbi9ub3Rlcy5jOjQ5NgorIzogYnVpbHRpbi9ub3Rlcy5jOjUwOCBidWlsdGluL25vdGVzLmM6NTg0IGJ1aWx0aW4vbm90ZXMuYzo2NTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDIgYnVpbHRpbi9ub3Rlcy5jOjk0OSBidWlsdGluL25vdGVzLmM6OTcwCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1ldGVycyIKIG1zZ3N0ciAi5Y+C5pWw5aSq5aSaIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzc1IGJ1aWx0aW4vbm90ZXMuYzo2NjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzggYnVpbHRpbi9ub3Rlcy5jOjY2NQogIywgYy1mb3JtYXQKLW1zZ2lkICJObyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgorbXNnaWQgIm5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCiBtc2dzdHIgIuacquWPkeeOsOWvueixoSAlcyDnmoTms6jop6PjgIIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozOTYgYnVpbHRpbi9ub3Rlcy5jOjU1OQorIzogYnVpbHRpbi9ub3Rlcy5jOjM5OSBidWlsdGluL25vdGVzLmM6NTYyCiBtc2dpZCAibm90ZSBjb250ZW50cyBhcyBhIHN0cmluZyIKIG1zZ3N0ciAi5rOo6Kej5YaF5a655L2c5Li65LiA5Liq5a2X56ym5LiyIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzk5IGJ1aWx0aW4vbm90ZXMuYzo1NjIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQogbXNnaWQgIm5vdGUgY29udGVudHMgaW4gYSBmaWxlIgogbXNnc3RyICLms6jop6PlhoXlrrnliLDkuIDkuKrmlofku7bkuK0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDIgYnVpbHRpbi9ub3Rlcy5jOjU2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQwNSBidWlsdGluL25vdGVzLmM6NTY4CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICLph43nlKjlkoznvJbovpHmjIflrprnmoTms6jop6Plr7nosaEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDUgYnVpbHRpbi9ub3Rlcy5jOjU2OAorIzogYnVpbHRpbi9ub3Rlcy5jOjQwOCBidWlsdGluL25vdGVzLmM6NTcxCiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICLph43nlKjmjIflrprnmoTms6jop6Plr7nosaEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDggYnVpbHRpbi9ub3Rlcy5jOjU3MQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMSBidWlsdGluL25vdGVzLmM6NTc0CiBtc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgogbXNnc3RyICLlhYHorrjkv53lrZjnqbrnmb3ms6jph4oiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDkgYnVpbHRpbi9ub3Rlcy5jOjQ4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMiBidWlsdGluL25vdGVzLmM6NDgzCiBtc2dpZCAicmVwbGFjZSBleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAi5pu/5o2i5bey5a2Y5Zyo55qE5rOo6KejIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDM0CisjOiBidWlsdGluL25vdGVzLmM6NDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgYWRkIG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgogImV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICLkuI3og73mt7vliqDms6jop6PjgILlj5HnjrDlr7nosaEgJXMg5bey5a2Y5Zyo5rOo6Kej44CC5L2/55SoICctZicg6KaG55uW546w5a2Y5rOo6KejIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDQ5IGJ1aWx0aW4vbm90ZXMuYzo1MjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NTIgYnVpbHRpbi9ub3Rlcy5jOjUzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJPdmVyd3JpdGluZyBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzXG4iCiBtc2dzdHIgIuimhuebluWvueixoSAlcyDnjrDlrZjms6jop6NcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MCBidWlsdGluL25vdGVzLmM6NjIxIGJ1aWx0aW4vbm90ZXMuYzo4ODYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjYyNCBidWlsdGluL25vdGVzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICLliKDpmaTlr7nosaEgJXMg55qE5rOo6KejXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0ODQKIG1zZ2lkICJyZWFkIG9iamVjdHMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi5LuO5qCH5YeG6L6T5YWl6K+75Y+W5a+56LGhIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDgzCisjOiBidWlsdGluL25vdGVzLmM6NDg2CiBtc2dpZCAibG9hZCByZXdyaXRpbmcgY29uZmlnIGZvciA8Y29tbWFuZD4gKGltcGxpZXMgLS1zdGRpbikiCiBtc2dzdHIgIumHjeaWsOWKoOi9vSA85ZG95LukPiDnmoTphY3nva7vvIjpmpDlkKsgLS1zdGRpbu+8iSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUwMQorIzogYnVpbHRpbi9ub3Rlcy5jOjUwNAogbXNnaWQgInRvbyBmZXcgcGFyYW1ldGVycyIKIG1zZ3N0ciAi5Y+C5pWw5aSq5bCRIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTIyCisjOiBidWlsdGluL25vdGVzLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgY29weSBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKICJleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAi5LiN6IO95ou36LSd5rOo6Kej44CC5Y+R546w5a+56LGhICVzIOW3suWtmOWcqOazqOino+OAguS9v+eUqCAnLWYnIOimhueblueOsOWtmOazqOinoyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzNAorIzogYnVpbHRpbi9ub3Rlcy5jOjUzNwogIywgYy1mb3JtYXQKLW1zZ2lkICJNaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKK21zZ2lkICJtaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKIG1zZ3N0ciAi5rqQ5a+56LGhICVzIOe8uuWwkeazqOino+OAguS4jeiDveaLt+i0neOAgiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU4NgorIzogYnVpbHRpbi9ub3Rlcy5jOjU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC1tLy1GLy1jLy1DIG9wdGlvbnMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZSAnZWRpdCcgc3ViY29tbWFuZC5cbiIKQEAgLTg5NjQsMjQ1ICs5OTg5LDMxOCBAQAogIuWtkOWRveS7pCAnZWRpdCcg55qE6YCJ6aG5IC1tLy1GLy1jLy1DIOW3suW8g+eUqOOAglxuIgogIuivt+aNoueUqCAnZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQyfjgIJcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc2OAorIzogYnVpbHRpbi9ub3Rlcy5jOjY4NQorbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCittc2dzdHIgIuaXoOazleWIoOmZpOW8leeUqCBOT1RFU19NRVJHRV9QQVJUSUFMIgorCisjOiBidWlsdGluL25vdGVzLmM6Njg3Cittc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUkVGIgorbXNnc3RyICLml6Dms5XliKDpmaTlvJXnlKggTk9URVNfTUVSR0VfUkVGIgorCisjOiBidWlsdGluL25vdGVzLmM6Njg5Cittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnZ2l0IG5vdGVzIG1lcmdlJyB3b3JrdHJlZSIKK21zZ3N0ciAi5peg5rOV5Yig6ZmkICdnaXQgbm90ZXMgbWVyZ2UnIOW3peS9nOWMuiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcwOQorbXNnaWQgImZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgorbXNnc3RyICLml6Dms5Xor7vlj5blvJXnlKggTk9URVNfTUVSR0VfUEFSVElBTCIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcxMQorbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgorbXNnc3RyICLml6Dms5Xku44gTk9URVNfTUVSR0VfUEFSVElBTCDkuK3mib7liLDmj5DkuqTjgIIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MTMKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgIuaXoOazleS7jiBOT1RFU19NRVJHRV9QQVJUSUFMIOS4reino+aekOaPkOS6pOOAgiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcyNgorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIE5PVEVTX01FUkdFX1JFRiIKK21zZ3N0ciAi5peg5rOV6Kej5p6QIE5PVEVTX01FUkdFX1JFRiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcyOQorbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSBub3RlcyBtZXJnZSIKK21zZ3N0ciAi5peg5rOV5a6M5oiQ5rOo6Kej5ZCI5bm2IgorCisjOiBidWlsdGluL25vdGVzLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbm90ZXMgbWVyZ2Ugc3RyYXRlZ3kgJXMiCittc2dzdHIgIuacquefpeeahOazqOino+WQiOW5tuetlueVpSAlcyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc3MQogbXNnaWQgIkdlbmVyYWwgb3B0aW9ucyIKIG1zZ3N0ciAi6YCa55So6YCJ6aG5IgogCi0jOiBidWlsdGluL25vdGVzLmM6NzcwCisjOiBidWlsdGluL25vdGVzLmM6NzczCiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAi5ZCI5bm26YCJ6aG5IgogCi0jOiBidWlsdGluL25vdGVzLmM6NzcyCisjOiBidWlsdGluL25vdGVzLmM6Nzc1CiBtc2dpZCAiIgogInJlc29sdmUgbm90ZXMgY29uZmxpY3RzIHVzaW5nIHRoZSBnaXZlbiBzdHJhdGVneSAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uLyIKICJjYXRfc29ydF91bmlxKSIKIG1zZ3N0ciAi5L2/55So5oyH5a6a55qE562W55Wl6Kej5Yaz5rOo6Kej5Yay56qBIChtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vY2F0X3NvcnRfdW5pcSkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzcKIG1zZ2lkICJDb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICLmj5DkuqTmnKrlkIjlubbnmoTms6jop6MiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NzkKIG1zZ2lkICJmaW5hbGl6ZSBub3RlcyBtZXJnZSBieSBjb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICLpgJrov4fmj5DkuqTmnKrlkIjlubbnmoTms6jop6PmnaXlrozmiJDms6jop6PlkIjlubYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NzgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgogbXNnc3RyICLkuK3mraLms6jop6PlkIjlubbnmoTmlrnmoYgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKIG1zZ3N0ciAi5Lit5q2i5rOo6Kej5ZCI5bm2IgogCi0jOiBidWlsdGluL25vdGVzLmM6ODU3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkEgbm90ZXMgbWVyZ2UgaW50byAlcyBpcyBhbHJlYWR5IGluLXByb2dyZXNzIGF0ICVzIgotbXNnc3RyICLkuIDkuKrliLAgJXMg55qE5rOo6Kej5ZCI5bm25bey57uP5ZyoICVzIOaJp+ihjOS4rSIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTQKK21zZ2lkICJjYW5ub3QgbWl4IC0tY29tbWl0LCAtLWFib3J0IG9yIC1zLy0tc3RyYXRlZ3kiCittc2dzdHIgIuS4jeiDvea3t+eUqCAtLWNvbW1pdOOAgS0tYWJvcnQg5oiWIC1zLy0tc3RyYXRlZ3kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4ODQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTkKK21zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCittc2dzdHIgIuW/hemhu+aMh+WumuS4gOS4quazqOino+W8leeUqOadpeWQiOW5tiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjgyMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgorbXNnc3RyICLmnKrnn6XnmoQgLXMvLS1zdHJhdGVnee+8miVzIgorCisjOiBidWlsdGluL25vdGVzLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgImEgbm90ZXMgbWVyZ2UgaW50byAlcyBpcyBhbHJlYWR5IGluLXByb2dyZXNzIGF0ICVzIgorbXNnc3RyICLkvY3kuo4gJTIkcyDnmoTkuIDkuKrliLAgJTEkcyDkuK3nmoTms6jop6PlkIjlubbmraPlnKjmiafooYzkuK0iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHN0b3JlIGxpbmsgdG8gY3VycmVudCBub3RlcyByZWYgKCVzKSIKK21zZ3N0ciAi5peg5rOV5a2Y5YKo6ZO+5o6l5Yiw5b2T5YmN55qE5rOo6Kej5byV55So77yIJXPvvIkiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkF1dG9tYXRpYyBub3RlcyBtZXJnZSBmYWlsZWQuIEZpeCBjb25mbGljdHMgaW4gJXMgYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggIgorIidnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnLCBvciBhYm9ydCB0aGUgbWVyZ2Ugd2l0aCAnZ2l0IG5vdGVzIG1lcmdlIC0tIgorImFib3J0Jy5cbiIKK21zZ3N0ciAiIgorIuiHquWKqOWQiOW5tuivtOaYjuWksei0peOAguS/ruaUuSAlcyDkuK3nmoTlhrLnqoHlubbkuJTkvb/nlKjlkb3ku6QgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcg5o+QIgorIuS6pOe7k+aenO+8jOaIluiAheS9v+eUqOWRveS7pCAnZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQnIOe7iOatouWQiOW5tuOAglxuIgorCisjOiBidWlsdGluL25vdGVzLmM6ODg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk9iamVjdCAlcyBoYXMgbm8gbm90ZVxuIgogbXNnc3RyICLlr7nosaEgJXMg5rKh5pyJ5rOo6KejXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4OTkKIG1zZ2lkICJhdHRlbXB0IHRvIHJlbW92ZSBub24tZXhpc3RlbnQgbm90ZSBpcyBub3QgYW4gZXJyb3IiCiBtc2dzdHIgIuWwneivleWIoOmZpOS4jeWtmOWcqOeahOazqOino+S4jeaYr+S4gOS4qumUmeivryIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjkwMgogbXNnaWQgInJlYWQgb2JqZWN0IG5hbWVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLku47moIflh4bovpPlhaXor7vlj5blr7nosaHlkI3np7AiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NDAgYnVpbHRpbi9wcnVuZS5jOjEwNSBidWlsdGluL3dvcmt0cmVlLmM6MTI3Cittc2dpZCAiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IgorbXNnc3RyICLkuI3liKDpmaTvvIzlj6rmmL7npLoiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NDEKK21zZ2lkICJyZXBvcnQgcHJ1bmVkIG5vdGVzIgorbXNnc3RyICLmiqXlkYrmuIXpmaTnmoTms6jop6MiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5ODMKIG1zZ2lkICJub3Rlcy1yZWYiCiBtc2dzdHIgIuazqOino+W8leeUqCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk4MQorIzogYnVpbHRpbi9ub3Rlcy5jOjk4NAogbXNnaWQgInVzZSBub3RlcyBmcm9tIDxub3Rlcy1yZWY+IgogbXNnc3RyICLku44gPOazqOino+W8leeUqD4g5L2/55So5rOo6KejIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTAxNiBidWlsdGluL3JlbW90ZS5jOjE2MjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDE5CiAjLCBjLWZvcm1hdAotbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dpZCAidW5rbm93biBzdWJjb21tYW5kOiAlcyIKIG1zZ3N0ciAi5pyq55+l5a2Q5ZG95Luk77yaJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPG9wdGlvbnM+Li4uXSBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPOmAiemhuT4uLi5dIFs8IDzlvJXnlKjliJfooag+IHwgPCA85a+56LGh5YiX6KGoPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPG9wdGlvbnM+Li4uXSA8YmFzZS1uYW1lPiBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiZ2l0IHBhY2stb2JqZWN0cyBbPOmAiemhuT4uLi5dIDxiYXNlLW5hbWU+IFs8IDzlvJXnlKjliJfooag+IHwgPCA85a+56LGh5YiX6KGoPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTc1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTc4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE3OSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlIGVycm9yICglZCkiCiBtc2dzdHIgIuWOi+e8qemUmeivryAoJWQpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NjgKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIHBhY2tzIGFyZSBzcGxpdCBkdWUgdG8gcGFjay5wYWNrU2l6ZUxpbWl0IgogbXNnc3RyICLnpoHnlKggYml0bWFwIOWGmeWFpe+8jOWboOS4uiBwYWNrLnBhY2tTaXplTGltaXQg6K6+572u5L2/5b6X5YyF6KKr5YiH5YiG5Li65aSa5LiqIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODEKIG1zZ2lkICJXcml0aW5nIG9iamVjdHMiCiBtc2dzdHIgIuWGmeWFpeWvueixoeS4rSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMDE3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjEwNzAKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIGFzIHNvbWUgb2JqZWN0cyBhcmUgbm90IGJlaW5nIHBhY2tlZCIKIG1zZ3N0ciAi56aB55SoIGJpdG1hcCDlhpnlhaXvvIzlm6DkuLrkuIDkupvlr7nosaHlsIbkuI3kvJrooqvmiZPljIUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjE3NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzQ2CiBtc2dpZCAiQ29tcHJlc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAi5Y6L57yp5a+56LGh5LitIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBpbmRleCB2ZXJzaW9uICVzIgogbXNnc3RyICLkuI3mlK/mjIHnmoTntKLlvJXniYjmnKwgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICclcyciCiBtc2dzdHIgIuWdj+eahOe0ouW8leeJiOacrCAnJXMnIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1OTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5MwogbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgogbXNnc3RyICLkuI3mmL7npLrov5vluqbooagiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU5OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzk1CiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAi5pi+56S66L+b5bqm6KGoIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc5NwogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgogbXNnc3RyICLlnKjlr7nosaHlhpnlhaXpmLbmrrXmmL7npLrov5vluqbooagiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAwCiBtc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgogbXNnc3RyICLlvZPov5vluqbooajmmL7npLrml7bnsbvkvLzkuo4gLS1hbGwtcHJvZ3Jlc3MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYwNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODAxCiBtc2dpZCAidmVyc2lvblssb2Zmc2V0XSIKIG1zZ3N0ciAi54mI5pysWyzlgY/np7tdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwMgogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgIueUqOaMh+WumueahCBpZHgg5qC85byP54mI5pys5p2l5YaZ5YyF57Si5byV5paH5Lu2IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgwNQogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCiBtc2dzdHIgIuavj+S4qui+k+WHuuWMheeahOacgOWkp+WwuuWvuCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjExCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDcKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgIuW/veeVpeS7juWkh+eUqOWvueixoeWtmOWCqOmHjOWAn+eUqOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MDkKIG1zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCiBtc2dzdHIgIuW/veeVpeWMheWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjE1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTEKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgogbXNnc3RyICLpmZDliLbmiZPljIXnqpflj6PnmoTlr7nosaHmlbAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYxNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODEzCiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAi6Zmk5a+56LGh5pWw6YeP6ZmQ5Yi25aSW6K6+572u5omT5YyF56qX5Y+j55qE5YaF5a2Y6ZmQ5Yi2IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNQogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICLmiZPljIXlhYHorrjnmoQgZGVsdGEg6ZO+55qE5pyA5aSn6ZW/5bqmIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgxNwogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKIG1zZ3N0ciAi6YeN55So5bey5a2Y5Zyo55qEIGRlbHRhcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjIzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTkKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgogbXNnc3RyICLph43nlKjlt7LlrZjlnKjnmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYyNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODIxCiBtc2dpZCAidXNlIE9GU19ERUxUQSBvYmplY3RzIgogbXNnc3RyICLkvb/nlKggT0ZTX0RFTFRBIOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjI3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjMKIG1zZ2lkICJ1c2UgdGhyZWFkcyB3aGVuIHNlYXJjaGluZyBmb3IgYmVzdCBkZWx0YSBtYXRjaGVzIgogbXNnc3RyICLkvb/nlKjnur/nqIvmn6Xor6LmnIDkvbMgZGVsdGEg5Yy56YWNIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgyNQogbXNnaWQgImRvIG5vdCBjcmVhdGUgYW4gZW1wdHkgcGFjayBvdXRwdXQiCiBtc2dzdHIgIuS4jeWIm+W7uuepuueahOWMhei+k+WHuiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjMxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MjcKIG1zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLku47moIflh4bovpPlhaXor7vlj5bniYjmnKzlj7flj4LmlbAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODI5CiBtc2dpZCAibGltaXQgdGhlIG9iamVjdHMgdG8gdGhvc2UgdGhhdCBhcmUgbm90IHlldCBwYWNrZWQiCiBtc2dzdHIgIumZkOWItumCo+S6m+WwmuacquaJk+WMheeahOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjM2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MzIKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAi5YyF5ous5Y+v5Lul5LuO5Lu75L2V5byV55So6K6/6Zeu5Yiw55qE5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2MzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzNQogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAi5YyF5ous6KKr5byV55So5pel5b+X5byV55So5Yiw55qE5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjgzOAogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCB0byBieSB0aGUgaW5kZXgiCiBtc2dzdHIgIuWMheaLrOiiq+e0ouW8leW8leeUqOWIsOeahOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDEKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgIui+k+WHuuWMheWIsOagh+WHhui+k+WHuiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDMKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgIuWMheaLrOmCo+S6m+W8leeUqOS6huW+heaJk+WMheWvueixoeeahOagh+etvuWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDUKIG1zZ2lkICJrZWVwIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIue7tOaMgeS4jeWPr+i+vueahOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjUwIHBhcnNlLW9wdGlvbnMuaDoxNDIKLW1zZ2lkICJ0aW1lIgotbXNnc3RyICLml7bpl7QiCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDcKK21zZ2lkICJwYWNrIGxvb3NlIHVucmVhY2hhYmxlIG9iamVjdHMiCittc2dzdHIgIuaJk+WMheadvuaVo+eahOS4jeWPr+i+vuWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDkKIG1zZ2lkICJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAi5bCG5q+U57uZ5a6aIDzml7bpl7Q+IOaWsOeahOaXoOazleiuv+mXrueahOWvueixoeino+WMhSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTIKIG1zZ2lkICJjcmVhdGUgdGhpbiBwYWNrcyIKIG1zZ3N0ciAi5Yib5bu657K+566A5YyFIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1NAogbXNnaWQgImNyZWF0ZSBwYWNrcyBzdWl0YWJsZSBmb3Igc2hhbGxvdyBmZXRjaGVzIgogbXNnc3RyICLliJvlu7rpgILlkIjmtYXlhYvpmobku5PlupPojrflj5bnmoTljIUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODU2CiBtc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKIG1zZ3N0ciAi5b+955Wl6YWN5pyJIC5rZWVwIOaWh+S7tueahOWMhSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjYwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTgKIG1zZ2lkICJwYWNrIGNvbXByZXNzaW9uIGxldmVsIgogbXNnc3RyICLmiZPljIXljovnvKnnuqfliKsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODYwCiBtc2dpZCAiZG8gbm90IGhpZGUgY29tbWl0cyBieSBncmFmdHMiCiBtc2dzdHIgIuaYvuekuuiiq+WrgeaOpemakOiXj+eahOaPkOS6pCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjY0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NjIKIG1zZ2lkICJ1c2UgYSBiaXRtYXAgaW5kZXggaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIGNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgIuS9v+eUqCBiaXRtYXAg57Si5byV77yI5aaC5p6c5pyJ55qE6K+d77yJ5Lul5o+Q6auY5a+56LGh6K6h5pWw5pe255qE6YCf5bqmIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg2NAogbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IHRvZ2V0aGVyIHdpdGggdGhlIHBhY2sgaW5kZXgiCiBtc2dzdHIgIuWcqOW7uueri+WMhee0ouW8leeahOWQjOaXtuWIm+W7uiBiaXRtYXAg57Si5byVIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk5MwogbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgIuWvueixoeiuoeaVsOS4rSIKIApAQCAtOTIzMCwxNSArMTAzMjgsMTEgQEAKIG1zZ2lkICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLWV4cGlyZSA8dGltZT5dIFstLV0gWzxoZWFkPi4uLl0iCiBtc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tZXhwaXJlIDzml7bpl7Q+XSBbLS1dIFs85aS0Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDUgYnVpbHRpbi93b3JrdHJlZS5jOjEyNQotbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKLW1zZ3N0ciAi5LiN5Yig6Zmk77yM5Y+q5pi+56S6IgotCi0jOiBidWlsdGluL3BydW5lLmM6MTA2IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjYKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDYgYnVpbHRpbi93b3JrdHJlZS5jOjEyOAogbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKIG1zZ3N0ciAi5oql5ZGK5riF6Zmk55qE5a+56LGhIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTA5IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjgKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkgYnVpbHRpbi93b3JrdHJlZS5jOjEzMAogbXNnaWQgImV4cGlyZSBvYmplY3RzIG9sZGVyIHRoYW4gPHRpbWU+IgogbXNnc3RyICLkvb/ml6nkuo7nu5nlrprml7bpl7TnmoTlr7nosaHov4fmnJ8iCiAKQEAgLTkyNDYsNzMgKzEwMzQwLDYyIEBACiBtc2dpZCAiY2Fubm90IHBydW5lIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICLkuI3og73lnKjnj43lk4Hku5PlupPkuK3miafooYzmuIXnkIbmk43kvZwiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjcyCisjOiBidWlsdGluL3B1bGwuYzo1MSBidWlsdGluL3B1bGwuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCittc2dzdHIgIiVzIOeahOWAvOaXoOaViO+8miVzIgorCisjOiBidWlsdGluL3B1bGwuYzo3MwogbXNnaWQgImdpdCBwdWxsIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVsbCBbPOmAiemhuT5dIFs85LuT5bqTPiBbPOW8leeUqOinhOagvD4uLi5dXSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTIwCisjOiBidWlsdGluL3B1bGwuYzoxMjEKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZyIKIG1zZ3N0ciAi5ZKM5ZCI5bm255u45YWz55qE6YCJ6aG5IgogCi0jOiBidWlsdGluL3B1bGwuYzoxMjMKKyM6IGJ1aWx0aW4vcHVsbC5jOjEyNAogbXNnaWQgImluY29ycG9yYXRlIGNoYW5nZXMgYnkgcmViYXNpbmcgcmF0aGVyIHRoYW4gbWVyZ2luZyIKIG1zZ3N0ciAi5L2/55So5Y+Y5Z+65pON5L2c5Y+W5Luj5ZCI5bm25pON5L2c5Lul5ZCI5YWl5L+u5pS5IgogCi0jOiBidWlsdGluL3B1bGwuYzoxNDcgYnVpbHRpbi9yZXZlcnQuYzoxMDUKKyM6IGJ1aWx0aW4vcHVsbC5jOjE0OCBidWlsdGluL3JldmVydC5jOjEwMQogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAi5YWB6K645b+r6L+b5byPIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNTMKLW1zZ2lkICJ2ZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCi1tc2dzdHIgIumqjOivgeaMh+WumueahOaPkOS6pOaYr+WQpuWMheWQq+S4gOS4quacieaViOeahCBHUEcg562+5ZCNIgotCi0jOiBidWlsdGluL3B1bGwuYzoxNTYKKyM6IGJ1aWx0aW4vcHVsbC5jOjE1NwogbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIgcmViYXNlIgogbXNnc3RyICLoh6rliqjlnKjlj5jln7rmk43kvZzliY3lkI7miafooYwgc3Rhc2gvc3Rhc2ggcG9wIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNzIKKyM6IGJ1aWx0aW4vcHVsbC5jOjE3MwogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBmZXRjaGluZyIKIG1zZ3N0ciAi5ZKM6I635Y+W55u45YWz55qE5Y+C5pWwIgogCi0jOiBidWlsdGluL3B1bGwuYzoxOTQKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5NQogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIHB1bGxlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAi5bm25Y+R5ouJ5Y+W55qE5a2Q5qih57uE55qE5pWw6YePIgogCi0jOiBidWlsdGluL3B1bGwuYzoyODMKKyM6IGJ1aWx0aW4vcHVsbC5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciBwdWxsLmZmOiAlcyIKIG1zZ3N0ciAicHVsbC5mZiDnmoTlj5blgLzml6DmlYjvvJolcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6Mzc5Ci1tc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgotbXNnc3RyICLml6Dms5XpgJrov4flj5jln7rmlrnlvI/mi4nlj5bvvJrmgqjmnInmnKrmmoLlrZjnmoTlj5jmm7TjgIIiCi0KLSM6IGJ1aWx0aW4vcHVsbC5jOjM4NQotbXNnaWQgIkFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKLW1zZ3N0ciAi6ICM5LiU5oKo55qE57Si5byV5Lit5YyF5ZCr5pyq5o+Q5Lqk55qE5Y+Y5pu044CCIgotCi0jOiBidWlsdGluL3B1bGwuYzozODcKLW1zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKLW1zZ3N0ciAi5peg5rOV6YCa6L+H5Y+Y5Z+65pa55byP5ouJ5Y+W77ya5oKo55qE57Si5byV5Lit5YyF5ZCr5pyq5o+Q5Lqk55qE5Y+Y5pu044CCIgotCi0jOiBidWlsdGluL3B1bGwuYzo0NjMKKyM6IGJ1aWx0aW4vcHVsbC5jOjM5NwogbXNnaWQgIiIKICJUaGVyZSBpcyBubyBjYW5kaWRhdGUgZm9yIHJlYmFzaW5nIGFnYWluc3QgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCAiCiAiZmV0Y2hlZC4iCiBtc2dzdHIgIuWcqOaCqOWImuWImuiOt+WPluWIsOeahOW8leeUqOS4reayoeacieWPmOWfuuaTjeS9nOeahOWAmemAieOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDY1CisjOiBidWlsdGluL3B1bGwuYzozOTkKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIG5vIGNhbmRpZGF0ZXMgZm9yIG1lcmdpbmcgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCBmZXRjaGVkLiIKIG1zZ3N0ciAi5Zyo5oKo5Yia5Yia6I635Y+W5Yiw55qE5byV55So5Lit5rKh5pyJ5ZCI5bm25pON5L2c55qE5YCZ6YCJ44CCIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NjYKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwMAogbXNnaWQgIiIKICJHZW5lcmFsbHkgdGhpcyBtZWFucyB0aGF0IHlvdSBwcm92aWRlZCBhIHdpbGRjYXJkIHJlZnNwZWMgd2hpY2ggaGFkIG5vXG4iCiAibWF0Y2hlcyBvbiB0aGUgcmVtb3RlIGVuZC4iCiBtc2dzdHIgIumAmuW4uOi/meaEj+WRs+edgOaCqOaPkOS+m+S6huS4gOS4qumAmumFjeespuW8leeUqOinhOagvOS9huacquiDveWSjOi/nOerr+WMuemFjeOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDY5CisjOiBidWlsdGluL3B1bGwuYzo0MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBwdWxsIGZyb20gdGhlIHJlbW90ZSAnJXMnLCBidXQgZGlkIG5vdCBzcGVjaWZ5XG4iCkBAIC05MzIyLDQyICsxMDQwNSw0MiBAQAogIuaCqOimgeaxguS7jui/nOeoiyAnJXMnIOaLieWPlu+8jOS9huaYr+acquaMh+WumuS4gOS4quWIhuaUr+OAguWboOS4uui/meS4jeaYr+W9k+WJjVxuIgogIuWIhuaUr+m7mOiupOeahOi/nOeoi+S7k+W6k++8jOaCqOW/hemhu+WcqOWRveS7pOihjOS4reaMh+WumuS4gOS4quWIhuaUr+WQjeOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDc0IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQwOCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCiBtc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKIG1zZ3N0ciAi5oKo5b2T5YmN5LiN5Zyo5LiA5Liq5YiG5pSv5LiK44CCIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NzYgYnVpbHRpbi9wdWxsLmM6NDkxIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxMCBidWlsdGluL3B1bGwuYzo0MjUgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byByZWJhc2UgYWdhaW5zdC4iCiBtc2dzdHIgIuivt+aMh+WumuaCqOimgeWPmOWfuuWIsOWTquS4gOS4quWIhuaUr+OAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDc4IGJ1aWx0aW4vcHVsbC5jOjQ5MyBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCisjOiBidWlsdGluL3B1bGwuYzo0MTIgYnVpbHRpbi9wdWxsLmM6NDI3IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gbWVyZ2Ugd2l0aC4iCiBtc2dzdHIgIuivt+aMh+WumuaCqOimgeWQiOW5tuWTquS4gOS4quWIhuaUr+OAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDc5IGJ1aWx0aW4vcHVsbC5jOjQ5NAorIzogYnVpbHRpbi9wdWxsLmM6NDEzIGJ1aWx0aW4vcHVsbC5jOjQyOAogbXNnaWQgIlNlZSBnaXQtcHVsbCgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIuivpuingSBnaXQtcHVsbCgxKeOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDgxIGJ1aWx0aW4vcHVsbC5jOjQ4NyBidWlsdGluL3B1bGwuYzo0OTYKKyM6IGJ1aWx0aW4vcHVsbC5jOjQxNSBidWlsdGluL3B1bGwuYzo0MjEgYnVpbHRpbi9wdWxsLmM6NDMwCiAjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CiBtc2dpZCAiPHJlbW90ZT4iCiBtc2dzdHIgIjzov5znqIs+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0ODEgYnVpbHRpbi9wdWxsLmM6NDk2IGJ1aWx0aW4vcHVsbC5jOjUwMQorIzogYnVpbHRpbi9wdWxsLmM6NDE1IGJ1aWx0aW4vcHVsbC5jOjQzMCBidWlsdGluL3B1bGwuYzo0MzUgZ2l0LXJlYmFzZS5zaDo0NTEKICM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKIG1zZ2lkICI8YnJhbmNoPiIKIG1zZ3N0ciAiPOWIhuaUrz4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ4OSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CisjOiBidWlsdGluL3B1bGwuYzo0MjMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQogbXNnaWQgIlRoZXJlIGlzIG5vIHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLlvZPliY3liIbmlK/msqHmnInot5/ouKrkv6Hmga/jgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ5OCBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CisjOiBidWlsdGluL3B1bGwuYzo0MzIgZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDoiCiBtc2dzdHIgIuWmguaenOaCqOaDs+imgeS4uuatpOWIhuaUr+WIm+W7uui3n+i4quS/oeaBr++8jOaCqOWPr+S7peaJp+ihjO+8miIKIAotIzogYnVpbHRpbi9wdWxsLmM6NTAzCisjOiBidWlsdGluL3B1bGwuYzo0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgY29uZmlndXJhdGlvbiBzcGVjaWZpZXMgdG8gbWVyZ2Ugd2l0aCB0aGUgcmVmICclcydcbiIKQEAgLTkzNjYsMTUgKzEwNDQ5LDI3IEBACiAi5oKo55qE6YWN572u5Lit5oyH5a6a6KaB5ZCI5bm26L+c56iL55qE5byV55SoICclcyfvvIxcbiIKICLkvYbmmK/msqHmnInojrflj5bliLDov5nkuKrlvJXnlKjjgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg2NAorIzogYnVpbHRpbi9wdWxsLmM6NzU0Cittc2dpZCAiaWdub3JpbmcgLS12ZXJpZnktc2lnbmF0dXJlcyBmb3IgcmViYXNlIgorbXNnc3RyICLkuLrlj5jln7rmk43kvZzlv73nlaUgLS12ZXJpZnktc2lnbmF0dXJlcyIKKworIzogYnVpbHRpbi9wdWxsLmM6ODAxCiBtc2dpZCAiLS1bbm8tXWF1dG9zdGFzaCBvcHRpb24gaXMgb25seSB2YWxpZCB3aXRoIC0tcmViYXNlLiIKIG1zZ3N0ciAiLS1bbm8tXWF1dG9zdGFzaCDpgInpobnlj6rlnKjkvb/nlKggLS1yZWJhc2Ug5pe25pyJ5pWI44CCIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NzIKKyM6IGJ1aWx0aW4vcHVsbC5jOjgwOQogbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCiBtc2dzdHIgIuabtOaWsOWwmuacquivnueUn+eahOWIhuaUr++8jOWPmOabtOa3u+WKoOiHs+e0ouW8leOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTAwCisjOiBidWlsdGluL3B1bGwuYzo4MTIKK21zZ2lkICJwdWxsIHdpdGggcmViYXNlIgorbXNnc3RyICLlj5jln7rlvI/mi4nlj5YiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjgxMworbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCittc2dzdHIgIuivt+aPkOS6pOaIluS4uuWug+S7rOS/neWtmOi/m+W6puOAgiIKKworIzogYnVpbHRpbi9wdWxsLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgpAQCAtOTM4NCw3ICsxMDQ3OSw3IEBACiAiZmV0Y2gg5pu05paw5LqG5b2T5YmN55qE5YiG5pSv44CC5b+r6L+b5oKo55qE5bel5L2c5Yy6XG4iCiAi6Iez5o+Q5LqkICVz44CCIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MDUKKyM6IGJ1aWx0aW4vcHVsbC5jOjg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTk0MDEsMTEgKzEwNDk2LDExIEBACiAiJCBnaXQgcmVzZXQgLS1oYXJkXG4iCiAi5oGi5aSN5LmL5YmN55qE54q25oCB44CCIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MjAKKyM6IGJ1aWx0aW4vcHVsbC5jOjg1OAogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQuIgogbXNnc3RyICLml6Dms5XlsIblpJrkuKrliIbmlK/lkIjlubbliLDnqbrliIbmlK/jgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkyNAorIzogYnVpbHRpbi9wdWxsLmM6ODYyCiBtc2dpZCAiQ2Fubm90IHJlYmFzZSBvbnRvIG11bHRpcGxlIGJyYW5jaGVzLiIKIG1zZ3N0ciAi5peg5rOV5Y+Y5Z+65Yiw5aSa5Liq5YiG5pSv44CCIgogCkBAIC05NTU4LDEyICsxMDY1MywxMiBAQAogbXNnaWQgImZhaWxlZCB0byBwdXNoIHNvbWUgcmVmcyB0byAnJXMnIgogbXNnc3RyICLml6Dms5XmjqjpgIHkuIDkupvlvJXnlKjliLAgJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzY1CisjOiBidWlsdGluL3B1c2guYzozNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKIG1zZ3N0ciAi5Z2P55qE5LuT5bqTICclcyciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM2NgorIzogYnVpbHRpbi9wdXNoLmM6MzY3CiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgIgpAQCAtOTU4NCwxMDMgKzEwNjc5LDExNSBAQAogIlxuIgogIiAgICBnaXQgcHVzaCA85ZCN56ewPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozODEKKyM6IGJ1aWx0aW4vcHVzaC5jOjM4NQogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwg5ZKMIC0tdGFncyDkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4MgorIzogYnVpbHRpbi9wdXNoLmM6Mzg2CiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1hbGwg5LiN6IO95ZKM5byV55So6KeE5qC85ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL3B1c2guYzozODcKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5MQogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1taXJyb3Ig5ZKMIC0tdGFncyDkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM4OAorIzogYnVpbHRpbi9wdXNoLmM6MzkyCiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1taXJyb3Ig5LiN6IO95ZKM5byV55So6KeE5qC85ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL3B1c2guYzozOTMKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5NwogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCDlkowgLS1taXJyb3Ig5LiN5YW85a65IgogCi0jOiBidWlsdGluL3B1c2guYzo1MDUKKyM6IGJ1aWx0aW4vcHVzaC5jOjUxNQogbXNnaWQgInJlcG9zaXRvcnkiCiBtc2dzdHIgIuS7k+W6kyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTA2IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCisjOiBidWlsdGluL3B1c2guYzo1MTYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKIG1zZ2lkICJwdXNoIGFsbCByZWZzIgogbXNnc3RyICLmjqjpgIHmiYDmnInlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUwNyBidWlsdGluL3NlbmQtcGFjay5jOjE2MworIzogYnVpbHRpbi9wdXNoLmM6NTE3IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCiBtc2dpZCAibWlycm9yIGFsbCByZWZzIgogbXNnc3RyICLplZzlg4/miYDmnInlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUwOQorIzogYnVpbHRpbi9wdXNoLmM6NTE5CiBtc2dpZCAiZGVsZXRlIHJlZnMiCiBtc2dzdHIgIuWIoOmZpOW8leeUqCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTEwCisjOiBidWlsdGluL3B1c2guYzo1MjAKIG1zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCiBtc2dzdHIgIuaOqOmAgeagh+etvu+8iOS4jeiDveS9v+eUqCAtLWFsbCBvciAtLW1pcnJvcu+8iSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTEzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0CisjOiBidWlsdGluL3B1c2guYzo1MjMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKIG1zZ2lkICJmb3JjZSB1cGRhdGVzIgogbXNnc3RyICLlvLrliLbmm7TmlrAiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxNSBidWlsdGluL3NlbmQtcGFjay5jOjE3NQorIzogYnVpbHRpbi9wdXNoLmM6NTI1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1CiBtc2dpZCAicmVmbmFtZT46PGV4cGVjdCIKIG1zZ3N0ciAi5byV55So5ZCNPjo85pyf5pyb5YC8IgogCi0jOiBidWlsdGluL3B1c2guYzo1MTYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjUyNiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgogbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgogbXNnc3RyICLopoHmsYLlvJXnlKjml6fnmoTlj5blgLzkuLrorr7lrprlgLwiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUxOQorIzogYnVpbHRpbi9wdXNoLmM6NTI5CiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICLmjqfliLblrZDmqKHnu4TnmoTpgJLlvZLmjqjpgIEiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyMSBidWlsdGluL3NlbmQtcGFjay5jOjE2OQorIzogYnVpbHRpbi9wdXNoLmM6NTMxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5CiBtc2dpZCAidXNlIHRoaW4gcGFjayIKIG1zZ3N0ciAi5L2/55So57K+566A5omT5YyFIgogCi0jOiBidWlsdGluL3B1c2guYzo1MjIgYnVpbHRpbi9wdXNoLmM6NTIzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU4CisjOiBidWlsdGluL3B1c2guYzo1MzIgYnVpbHRpbi9wdXNoLmM6NTMzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTU4CiAjOiBidWlsdGluL3NlbmQtcGFjay5jOjE1OQogbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgogbXNnc3RyICLmjqXmlLbljIXnqIvluo8iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyNAorIzogYnVpbHRpbi9wdXNoLmM6NTM0CiBtc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCiBtc2dzdHIgIuiuvue9riBnaXQgcHVsbC9zdGF0dXMg55qE5LiK5ri4IgogCi0jOiBidWlsdGluL3B1c2guYzo1MjcKKyM6IGJ1aWx0aW4vcHVzaC5jOjUzNwogbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgogbXNnc3RyICLmuIXpmaTmnKzlnLDliKDpmaTnmoTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUyOQorIzogYnVpbHRpbi9wdXNoLmM6NTM5CiBtc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCiBtc2dzdHIgIue7lei/hyBwcmUtcHVzaCDpkqnlrZAiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzMAorIzogYnVpbHRpbi9wdXNoLmM6NTQwCiBtc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgogbXNnc3RyICLmjqjpgIHnvLrlpLHkvYbmnInlhbPnmoTmoIfnrb4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjUzMyBidWlsdGluL3NlbmQtcGFjay5jOjE2NgorIzogYnVpbHRpbi9wdXNoLmM6NTQzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2CiBtc2dpZCAiR1BHIHNpZ24gdGhlIHB1c2giCiBtc2dzdHIgIueUqCBHUEcg5Li65o6o6YCB562+5ZCNIgogCi0jOiBidWlsdGluL3B1c2guYzo1MzUgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NSBidWlsdGluL3NlbmQtcGFjay5jOjE3MAogbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgogbXNnc3RyICLpnIDopoHov5znq6/mlK/mjIHljp/lrZDkuovliqEiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAic2VydmVyLXNwZWNpZmljIgorbXNnc3RyICJzZXJ2ZXItc3BlY2lmaWMiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NgorbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKK21zZ3N0ciAi5Lyg6L6T6YCJ6aG5IgorCisjOiBidWlsdGluL3B1c2guYzo1NjAKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKIG1zZ3N0ciAiLS1kZWxldGUg5LiOIC0tYWxs44CBLS1taXJyb3Ig5Y+KIC0tdGFncyDkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MQorIzogYnVpbHRpbi9wdXNoLmM6NTYyCiBtc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCiBtc2dzdHIgIi0tZGVsZXRlIOacquaOpeS7u+S9leW8leeUqOayoeacieaEj+S5iSIKIAorIzogYnVpbHRpbi9wdXNoLmM6NTc5Cittc2dpZCAicHVzaCBvcHRpb25zIG11c3Qgbm90IGhhdmUgbmV3IGxpbmUgY2hhcmFjdGVycyIKK21zZ3N0ciAi5o6o6YCB6YCJ6aG55LiN6IO95pyJ5o2i6KGM56ymIgorCiAjOiBidWlsdGluL3JlYWQtdHJlZS5jOjM3CiBtc2dpZCAiIgogImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4PikgIgpAQCAtOTc1NSwxNSArMTA4NjIsNjAgQEAKIG1zZ2lkICJkZWJ1ZyB1bnBhY2stdHJlZXMiCiBtc2dzdHIgIuiwg+ivlSB1bnBhY2stdHJlZXMiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjUKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MjYKIG1zZ2lkICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIG1zZ3N0ciAiZ2l0IHJlY2VpdmUtcGFjayA8Z2l0LWRpcj4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTcxOQorIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo3OTMKK21zZ2lkICIiCisiQnkgZGVmYXVsdCwgdXBkYXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGluIGEgbm9uLWJhcmUgcmVwb3NpdG9yeVxuIgorImlzIGRlbmllZCwgYmVjYXVzZSBpdCB3aWxsIG1ha2UgdGhlIGluZGV4IGFuZCB3b3JrIHRyZWUgaW5jb25zaXN0ZW50XG4iCisid2l0aCB3aGF0IHlvdSBwdXNoZWQsIGFuZCB3aWxsIHJlcXVpcmUgJ2dpdCByZXNldCAtLWhhcmQnIHRvIG1hdGNoXG4iCisidGhlIHdvcmsgdHJlZSB0byBIRUFELlxuIgorIlxuIgorIllvdSBjYW4gc2V0ICdyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJyBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHRvXG4iCisiJ2lnbm9yZScgb3IgJ3dhcm4nIGluIHRoZSByZW1vdGUgcmVwb3NpdG9yeSB0byBhbGxvdyBwdXNoaW5nIGludG9cbiIKKyJpdHMgY3VycmVudCBicmFuY2g7IGhvd2V2ZXIsIHRoaXMgaXMgbm90IHJlY29tbWVuZGVkIHVubGVzcyB5b3VcbiIKKyJhcnJhbmdlZCB0byB1cGRhdGUgaXRzIHdvcmsgdHJlZSB0byBtYXRjaCB3aGF0IHlvdSBwdXNoZWQgaW4gc29tZVxuIgorIm90aGVyIHdheS5cbiIKKyJcbiIKKyJUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZSBhbmQgc3RpbGwga2VlcCB0aGUgZGVmYXVsdCBiZWhhdmlvdXIsIHNldFxuIgorIidyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJyBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHRvICdyZWZ1c2UnLiIKK21zZ3N0ciAiIgorIum7mOiupOemgeatouabtOaWsOmdnue6r+S7k+W6k+eahOW9k+WJjeWIhuaUr++8jOWboOS4uuaCqOaOqOmAgeeahOWGheWuueWwhuWvvOiHtOe0ouW8leWSjOW3peS9nOWMulxuIgorIuS4jeS4gOiHtO+8jOW5tuS4lOWwhumcgOimgeaJp+ihjCAnZ2l0IHJlc2V0IC0taGFyZCcg5bCG5bel5L2c5Yy65Yy56YWN5YiwIEhFQUTjgIJcbiIKKyJcbiIKKyLmgqjlj6/ku6XlnKjov5znqIvku5PlupPkuK3orr7nva4gJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIOmFjee9ruWPmOmHj+S4ulxuIgorIidpZ25vcmUnIOaIliAnd2Fybicg5Lul5YWB6K645o6o6YCB5Yiw5b2T5YmN5YiG5pSv44CC54S26ICM5LiN5o6o6I2Q6L+Z5LmI5YGa77yM6Zmk6Z2e5oKoXG4iCisi55So5p+Q56eN5pa55byP5bCG5YW25bel5L2c5Yy65pu05paw6Iez5oKo5o6o6YCB55qE54q25oCB44CCXG4iCisiXG4iCisi6Iul6KaB5bGP6JS95q2k5L+h5oGv5LiU5L+d5oyB6buY6K6k6KGM5Li677yM6K6+572uICdyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJ1xuIgorIumFjee9ruWPmOmHj+S4uiAncmVmdXNlJ+OAgiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4MTMKK21zZ2lkICIiCisiQnkgZGVmYXVsdCwgZGVsZXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGlzIGRlbmllZCwgYmVjYXVzZSB0aGUgbmV4dFxuIgorIidnaXQgY2xvbmUnIHdvbid0IHJlc3VsdCBpbiBhbnkgZmlsZSBjaGVja2VkIG91dCwgY2F1c2luZyBjb25mdXNpb24uXG4iCisiXG4iCisiWW91IGNhbiBzZXQgJ3JlY2VpdmUuZGVueURlbGV0ZUN1cnJlbnQnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG9cbiIKKyInd2Fybicgb3IgJ2lnbm9yZScgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IGRlbGV0aW5nIHRoZVxuIgorImN1cnJlbnQgYnJhbmNoLCB3aXRoIG9yIHdpdGhvdXQgYSB3YXJuaW5nIG1lc3NhZ2UuXG4iCisiXG4iCisiVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UsIHlvdSBjYW4gc2V0IGl0IHRvICdyZWZ1c2UnLiIKK21zZ3N0ciAiIgorIum7mOiupOemgeatouWIoOmZpOW9k+WJjeWIhuaUr++8jOWboOS4uuS4i+S4gOasoSAnZ2l0IGNsb25lJyDlsIbkuI3kvJrmo4Dlh7rku7vkvZXmlofku7bvvIxcbiIKKyLlr7zoh7Tmt7fmt4bjgIJcbiIKKyJcbiIKKyLmgqjlj6/ku6XlnKjov5znqIvku5PlupPkuK3orr7nva4gJ3JlY2VpdmUuZGVueURlbGV0ZUN1cnJlbnQnIOmFjee9ruWPmOmHj+S4ulxuIgorIid3YXJuJyDmiJYgJ2lnbm9yZScg5Lul5YWB6K645Yig6Zmk5b2T5YmN5YiG5pSv77yM5pi+56S65oiW6ICF5LiN5pi+56S66K2m5ZGK44CCXG4iCisiXG4iCisi6Iul6KaB5bGP6JS95q2k5L+h5oGv77yM5oKo5Y+v5Lul6K6+572u5a6D5Li6ICdyZWZ1c2Un44CCIgorCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE4ODMKIG1zZ2lkICJxdWlldCIKIG1zZ3N0ciAi6Z2Z6buY5qih5byPIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE3MzMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTg5NwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSBkaXJlY3RvcnkuIgogbXNnc3RyICLmgqjlv4XpobvmjIflrprkuIDkuKrnm67lvZXjgIIiCiAKQEAgLTk5MTIsMTIgKzExMDY0LDEyIEBACiBtc2dpZCAic3BlY2lmeWluZyBicmFuY2hlcyB0byB0cmFjayBtYWtlcyBzZW5zZSBvbmx5IHdpdGggZmV0Y2ggbWlycm9ycyIKIG1zZ3N0ciAi5oyH5a6a6KaB6Lef6Liq55qE5YiG5pSv5Y+q5Zyo5LiO6I635Y+W6ZWc5YOP5ZCM5pe25L2/55So5omN5pyJ5oSP5LmJIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5MCBidWlsdGluL3JlbW90ZS5jOjYzMworIzogYnVpbHRpbi9yZW1vdGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzo2MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlICVzIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAi6L+c56iLICVzIOW3sue7j+WtmOWcqOOAgiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOTQgYnVpbHRpbi9yZW1vdGUuYzo2MzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk0IGJ1aWx0aW4vcmVtb3RlLmM6NjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVtb3RlIG5hbWUiCiBtc2dzdHIgIiclcycg5LiN5piv5LiA5Liq5pyJ5pWI55qE6L+c56iL5ZCN56ewIgpAQCAtOTk0MCwxNyArMTEwOTIsMTcgQEAKIG1zZ2lkICIoZGVsZXRlKSIKIG1zZ3N0ciAi77yI5Yig6Zmk77yJIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYyNiBidWlsdGluL3JlbW90ZS5jOjc2MSBidWlsdGluL3JlbW90ZS5jOjg1OAorIzogYnVpbHRpbi9yZW1vdGUuYzo2MjIgYnVpbHRpbi9yZW1vdGUuYzo3NTcgYnVpbHRpbi9yZW1vdGUuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGU6ICVzIgogbXNnc3RyICLmsqHmnInov5nmoLfnmoTov5znqIvvvJolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NDMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW5hbWUgY29uZmlnIHNlY3Rpb24gJyVzJyB0byAnJXMnIgogbXNnc3RyICLkuI3og73ph43lkb3lkI3phY3nva7lsI/oioIgJyVzJyDliLAgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2NjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgpAQCAtOTk2MSwxNyArMTExMTMsMTcgQEAKICJcdCVzXG4iCiAiXHTlpoLmnpzlv4XopoHor7fmiYvliqjmm7TmlrDphY3nva7jgIIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6Njk5CisjOiBidWlsdGluL3JlbW90ZS5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAi5Yig6ZmkICclcycg5aSx6LSlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjczMworIzogYnVpbHRpbi9yZW1vdGUuYzo3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3JlYXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIuWIm+W7uiAnJXMnIOWksei0pSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3OTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzkyCiBtc2dpZCAiIgogIk5vdGU6IEEgYnJhbmNoIG91dHNpZGUgdGhlIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IHdhcyBub3QgcmVtb3ZlZDtcbiIKICJ0byBkZWxldGUgaXQsIHVzZToiCkBAIC05OTgxLDEzMyArMTExMzMsMTQ0IEBACiBtc2dzdHJbMF0gIuazqOaEj++8mnJlZi9yZW1vdGVzIOWxgue6p+S5i+WklueahOS4gOS4quWIhuaUr+acquiiq+enu+mZpOOAguimgeWIoOmZpOWug++8jOS9v+eUqO+8miIKIG1zZ3N0clsxXSAi5rOo5oSP77yacmVmL3JlbW90ZXMg5bGC57qn5LmL5aSW55qE5LiA5Lqb5YiG5pSv5pyq6KKr56e76Zmk44CC6KaB5Yig6Zmk5a6D5Lus77yM5L2/55So77yaIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgxMAorIzogYnVpbHRpbi9yZW1vdGUuYzo4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICLkuI3og73np7vpmaTphY3nva7lsI/oioIgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKIG1zZ3N0ciAiIOaWsOeahO+8iOS4i+S4gOasoeiOt+WPluWwhuWtmOWCqOS6jiByZW1vdGVzLyVz77yJIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxNAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTAKIG1zZ2lkICIgdHJhY2tlZCIKIG1zZ3N0ciAiIOW3sui3n+i4qiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTEyCiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiDov4fml7bvvIjkvb/nlKggJ2dpdCByZW1vdGUgcHJ1bmUnIOadpeenu+mZpO+8iSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE0CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAi5peg5pWI55qEIGJyYW5jaC4lcy5tZXJnZe+8jOS4jeiDveWPmOWfuuWIsOS4gOS4quS7peS4iueahOWIhuaUryIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAi5Lqk5LqS5byP5Y+Y5Z+65Yiw6L+c56iLICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3MQorIzogYnVpbHRpbi9yZW1vdGUuYzo5NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmViYXNlcyBvbnRvIHJlbW90ZSAlcyIKK21zZ3N0ciAi5Y+Y5Z+65Yiw6L+c56iLICVzIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjk2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICIg5LiO6L+c56iLICVzIOWQiOW5tiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzIKLW1zZ2lkICIgICAgYW5kIHdpdGggcmVtb3RlIgotbXNnc3RyICIgICAg5LiU5pyJ6L+c56iLIgotCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICLkuI7ov5znqIsgJXMg5ZCI5bm2IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NQotbXNnaWQgIiAgIGFuZCB3aXRoIHJlbW90ZSIKLW1zZ3N0ciAiICAg5LiU5pyJ6L+c56iLIgorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0qcyAgICBhbmQgd2l0aCByZW1vdGUgJXNcbiIKK21zZ3N0ciAiJS0qcyAgICDku6Xlj4rlkozov5znqIsgJXNcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMTYKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgIuWIm+W7uiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI0CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMTkKIG1zZ2lkICJkZWxldGUiCiBtc2dzdHIgIuWIoOmZpCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMjMKIG1zZ2lkICJ1cCB0byBkYXRlIgogbXNnc3RyICLmnIDmlrAiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDI2CiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAi5Y+v5b+r6L+bIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAyOQogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICLmnKzlnLDlt7Lov4fml7YiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzIOW8uuWItuaOqOmAgeiHsyAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzIOaOqOmAgeiHsyAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMg5by65Yi25o6o6YCB6IezICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIOaOqOmAgeiHsyAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE5CisjOiBidWlsdGluL3JlbW90ZS5jOjExMTQKIG1zZ2lkICJkbyBub3QgcXVlcnkgcmVtb3RlcyIKIG1zZ3N0ciAi5LiN5p+l6K+i6L+c56iLIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIqIHJlbW90ZSAlcyIKIG1zZ3N0ciAiKiDov5znqIsgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE0NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmV0Y2ggVVJMOiAlcyIKIG1zZ3N0ciAiICDojrflj5blnLDlnYDvvJolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQ4IGJ1aWx0aW4vcmVtb3RlLmM6MTMwMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTQzIGJ1aWx0aW4vcmVtb3RlLmM6MTE1NiBidWlsdGluL3JlbW90ZS5jOjEyOTUKIG1zZ2lkICIobm8gVVJMKSIKIG1zZ3N0ciAiKOaXoCBVUkwpIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24gd2l0aAogIy4gdGhlIG9uZSBpbiAiICBGZXRjaCBVUkw6ICVzIiB0cmFuc2xhdGlvbgotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU0IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFB1c2ggIFVSTDogJXMiCiBtc2dzdHIgIiAg5o6o6YCB5Zyw5Z2A77yaJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE2MyBidWlsdGluL3JlbW90ZS5jOjExNjUgYnVpbHRpbi9yZW1vdGUuYzoxMTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTggYnVpbHRpbi9yZW1vdGUuYzoxMTYwIGJ1aWx0aW4vcmVtb3RlLmM6MTE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiICBIRUFEIOWIhuaUr++8miVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNjkKKyMgIOivkeiAhe+8muS4reaWh+Wtl+espuS4suaLvOaOpe+8jOWPr+WIoOmZpOWJjeWvvOepuuagvAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4Cittc2dpZCAiKG5vdCBxdWVyaWVkKSIKK21zZ3N0ciAi77yI5pyq5p+l6K+i77yJIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExNjAKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIu+8iOacquefpe+8iSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCiBtc2dzdHIgIiAgSEVBRCDliIbmlK/vvIjov5znqIsgSEVBRCDmqKHns4rvvIzlj6/og73mmK/kuIvliJfkuK3nmoTkuIDkuKrvvInvvJpcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBSZW1vdGUgYnJhbmNoOiVzIgogbXNnaWRfcGx1cmFsICIgIFJlbW90ZSBicmFuY2hlczolcyIKQEAgLTEwMTE1LDIzMCArMTEyNzgsMjQzIEBACiBtc2dzdHJbMV0gIiAg6L+c56iL5YiG5pSv77yaJXMiCiAKICMgIOivkeiAhe+8muS4reaWh+Wtl+espuS4suaLvOaOpe+8jOWPr+WIoOmZpOWJjeWvvOepuuagvAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTg0IGJ1aWx0aW4vcmVtb3RlLmM6MTIxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNQogbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAi77yI54q25oCB5pyq5p+l6K+i77yJIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4OAogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIgIOS4uiAnZ2l0IHB1bGwnIOmFjee9rueahOacrOWcsOWIhuaUr++8miIKIG1zZ3N0clsxXSAiICDkuLogJ2dpdCBwdWxsJyDphY3nva7nmoTmnKzlnLDliIbmlK/vvJoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk2CiBtc2dpZCAiICBMb2NhbCByZWZzIHdpbGwgYmUgbWlycm9yZWQgYnkgJ2dpdCBwdXNoJyIKIG1zZ3N0ciAiICDmnKzlnLDlvJXnlKjlsIblnKggJ2dpdCBwdXNoJyDml7booqvplZzlg48iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzBdICIgIOS4uiAnZ2l0IHB1c2gnIOmFjee9rueahOacrOWcsOW8leeUqCVz77yaIgogbXNnc3RyWzFdICIgIOS4uiAnZ2l0IHB1c2gnIOmFjee9rueahOacrOWcsOW8leeUqCVz77yaIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMwogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAi5qC55o2u6L+c56iL6K6+572uIHJlZnMvcmVtb3Rlcy885ZCN56ewPi9IRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyNQogbXNnaWQgImRlbGV0ZSByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQiCiBtc2dzdHIgIuWIoOmZpCByZWZzL3JlbW90ZXMvPOWQjeensD4vSEVBRCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDAKIG1zZ2lkICJDYW5ub3QgZGV0ZXJtaW5lIHJlbW90ZSBIRUFEIgogbXNnc3RyICLml6Dms5Xnoa7lrprov5znqIsgSEVBRCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDIKIG1zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKIG1zZ3N0ciAi5aSa5Liq6L+c56iLIEhFQUQg5YiG5pSv44CC6K+35piO56Gu5Zyw6YCJ5oup5LiA5Liq55So5ZG95Luk77yaIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICLml6Dms5XliKDpmaQgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIHJlZjogJXMiCiBtc2dzdHIgIuS4jeaYr+S4gOS4quacieaViOW8leeUqO+8miVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgJXMiCiBtc2dzdHIgIuS4jeiDveiuvue9riAlcyIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiBidWlsdGluL3JlbW90ZS5jOjEyODYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMg5bCG5oiQ5Li65pGH5pGG54q25oCB77yBIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyBoYXMgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIOW3suaIkOS4uuaRh+aRhueKtuaAge+8gSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk3CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAi5L+u5YmqICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJVUkw6ICVzIgogbXNnc3RyICJVUkzvvJolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzE0CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiICogW+WwhuWIoOmZpF0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxNworIzogYnVpbHRpbi9yZW1vdGUuYzoxMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFtwcnVuZWRdICVzIgogbXNnc3RyICIgKiBb5bey5Yig6ZmkXSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzYyCisjOiBidWlsdGluL3JlbW90ZS5jOjEzNTYKIG1zZ2lkICJwcnVuZSByZW1vdGVzIGFmdGVyIGZldGNoaW5nIgogbXNnc3RyICLmipPlj5blkI7muIXpmaTov5znqIsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQyNSBidWlsdGluL3JlbW90ZS5jOjE0NzkgYnVpbHRpbi9yZW1vdGUuYzoxNTQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjE0MTkgYnVpbHRpbi9yZW1vdGUuYzoxNDczIGJ1aWx0aW4vcmVtb3RlLmM6MTU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSAnJXMnIgogbXNnc3RyICLmsqHmnInmraTov5znqIsgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0MzUKIG1zZ2lkICJhZGQgYnJhbmNoIgogbXNnc3RyICLmt7vliqDliIbmlK8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ0OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQyCiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAi5pyq5oyH5a6a6L+c56iLIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NjUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ1OQogbXNnaWQgInF1ZXJ5IHB1c2ggVVJMcyByYXRoZXIgdGhhbiBmZXRjaCBVUkxzIgogbXNnc3RyICLmn6Xor6LmjqjpgIEgVVJMIOWcsOWdgO+8jOiAjOmdnuiOt+WPliBVUkwg5Zyw5Z2AIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MQogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAi6L+U5Zue5omA5pyJIFVSTCDlnLDlnYAiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgIuayoeaciee7mei/nOeoi+S7k+W6kyAnJXMnIOiuvuWumiBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE1CiBtc2dpZCAibWFuaXB1bGF0ZSBwdXNoIFVSTHMiCiBtc2dzdHIgIuaTjeS9nOaOqOmAgSBVUkxTIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUxNwogbXNnaWQgImFkZCBVUkwiCiBtc2dzdHIgIua3u+WKoCBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTE5CiBtc2dpZCAiZGVsZXRlIFVSTHMiCiBtc2dzdHIgIuWIoOmZpCBVUkxTIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUyNgogbXNnaWQgIi0tYWRkIC0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1hZGQgLS1kZWxldGUg5peg5oSP5LmJIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgIuaXoOaViOeahOaXpyBVUkwg5Yy56YWN5qih54mI77yaJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggVVJMIGZvdW5kOiAlcyIKIG1zZ3N0ciAi5pyq5om+5Yiw5q2kIFVSTO+8miVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1ODMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU3NwogbXNnaWQgIldpbGwgbm90IGRlbGV0ZSBhbGwgbm9uLXB1c2ggVVJMcyIKIG1zZ3N0ciAi5bCG5LiN5Lya5Yig6Zmk5omA5pyJ6Z2e5o6o6YCBIFVSTCDlnLDlnYAiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5NworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkxCiBtc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKIG1zZ3N0ciAi5YaX6ZW/6L6T5Ye677yb5b+F6aG7572u5LqO5a2Q5ZG95Luk5LmL5YmNIgogCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAi5pyq55+l5a2Q5ZG95Luk77yaJXMiCisKICM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcKIG1zZ2lkICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcmVwYWNrIFs86YCJ6aG5Pl0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTU5CisjOiBidWlsdGluL3JlcGFjay5jOjE2MAogbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgogbXNnc3RyICLmiYDmnInlhoXlrrnmiZPljIXliLDkuIDkuKrljIXmlofku7bkuK0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTYxCisjOiBidWlsdGluL3JlcGFjay5jOjE2MgogbXNnaWQgInNhbWUgYXMgLWEsIGFuZCB0dXJuIHVucmVhY2hhYmxlIG9iamVjdHMgbG9vc2UiCiBtc2dzdHIgIuWSjCAtYSDnm7jlkIzvvIzlubblsIbkuI3lj6/ovr7nmoTlr7nosaHorr7kuLrmnb7mlaPlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY0CisjOiBidWlsdGluL3JlcGFjay5jOjE2NQogbXNnaWQgInJlbW92ZSByZWR1bmRhbnQgcGFja3MsIGFuZCBydW4gZ2l0LXBydW5lLXBhY2tlZCIKIG1zZ3N0ciAi5Yig6Zmk5aSa5L2Z55qE5YyF77yM6L+Q6KGMIGdpdC1wcnVuZS1wYWNrZWQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY2CisjOiBidWlsdGluL3JlcGFjay5jOjE2NwogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICLlkJEgZ2l0LXBhY2stb2JqZWN0cyDkvKDpgJLlj4LmlbAgLS1uby1yZXVzZS1kZWx0YSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNjgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTY5CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICLlkJEgZ2l0LXBhY2stb2JqZWN0cyDkvKDpgJLlj4LmlbAgLS1uby1yZXVzZS1vYmplY3QiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTcwCisjOiBidWlsdGluL3JlcGFjay5jOjE3MQogbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIG1zZ3N0ciAi5LiN6L+Q6KGMIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTczCisjOiBidWlsdGluL3JlcGFjay5jOjE3NAogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICLlkJEgZ2l0LXBhY2stb2JqZWN0cyDkvKDpgJLlj4LmlbAgLS1sb2NhbCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc2CiBtc2dpZCAid3JpdGUgYml0bWFwIGluZGV4IgogbXNnc3RyICLlhpkgYml0bWFwIOe0ouW8lSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc3CiBtc2dpZCAiYXBwcm94aWRhdGUiCiBtc2dzdHIgIui/keS8vOaXpeacnyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxNzcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTc4CiBtc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKIG1zZ3N0ciAi5L2/55SoIC1B77yM5LiN6KaB5bCG5pep5LqO57uZ5a6a5pe26Ze055qE5a+56LGh6L+H5pyfIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE3OQorIzogYnVpbHRpbi9yZXBhY2suYzoxODAKK21zZ2lkICJ3aXRoIC1hLCByZXBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyIKK21zZ3N0ciAi5L2/55SoIC1hIO+8jOmHjeaWsOWvueS4jeWPr+i+vuWvueixoeaJk+WMhSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxODIKIG1zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgIueUqOS6juWinumHj+WOi+e8qeeahOeql+WPo+WAvCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODAgYnVpbHRpbi9yZXBhY2suYzoxODQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTgzIGJ1aWx0aW4vcmVwYWNrLmM6MTg3CiBtc2dpZCAiYnl0ZXMiCiBtc2dzdHIgIuWtl+iKgiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg0CiBtc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCiBtc2dzdHIgIuWSjOS4iumdoueahOebuOS8vO+8jOS9humZkOWItuWGheWtmOWkp+Wwj+iAjOmdnuadoeebruaVsCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoxODMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg2CiBtc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgogbXNnc3RyICLpmZDliLbmnIDlpKflop7ph4/mt7HluqYiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg1CisjOiBidWlsdGluL3JlcGFjay5jOjE4OAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgogbXNnc3RyICLmr4/kuKrljIXmlofku7bnmoTmnIDlpKflsLrlr7giCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MTg3CisjOiBidWlsdGluL3JlcGFjay5jOjE5MAogbXNnaWQgInJlcGFjayBvYmplY3RzIGluIHBhY2tzIG1hcmtlZCB3aXRoIC5rZWVwIgogbXNnc3RyICLlr7nmoIforrDkuLogLmtlZXAg55qE5YyF5Lit55qE5a+56LGh6YeN5paw5omT5YyFIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjE5NworIzogYnVpbHRpbi9yZXBhY2suYzoyMDAKIG1zZ2lkICJjYW5ub3QgZGVsZXRlIHBhY2tzIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICLkuI3og73liKDpmaTnj43lk4Hku5PlupPkuK3nmoTmiZPljIXmlofku7YiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzgxCisjOiBidWlsdGluL3JlcGFjay5jOjIwNAorbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLUEgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiLS1rZWVwLXVucmVhY2hhYmxlIOWSjCAtQSDkuI3lhbzlrrkiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzkxIGJ1aWx0aW4vd29ya3RyZWUuYzoxMTUKICMsIGMtZm9ybWF0Ci1tc2dpZCAicmVtb3ZpbmcgJyVzJyBmYWlsZWQiCi1tc2dzdHIgIuWIoOmZpCAnJXMnIOWksei0pSIKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICclcyciCittc2dzdHIgIuaXoOazleWIoOmZpCAnJXMnIgogCiAjOiBidWlsdGluL3JlcGxhY2UuYzoxOQogbXNnaWQgImdpdCByZXBsYWNlIFstZl0gPG9iamVjdD4gPHJlcGxhY2VtZW50PiIKQEAgLTEwNDM4LDggKzExNjE0LDggQEAKIG1zZ3N0ciAiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPOaPkOS6pD5dIgogCiAjOiBidWlsdGluL3Jlc2V0LmM6MjcKLW1zZ2lkICJnaXQgcmVzZXQgWy1xXSA8dHJlZS1pc2g+IFstLV0gPHBhdGhzPi4uLiIKLW1zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gPOagkeaIluaPkOS6pD4gWy0tXSA86Lev5b6EPi4uLiIKK21zZ2lkICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHM+Li4uIgorbXNnc3RyICJnaXQgcmVzZXQgWy1xXSBbPOagkeaIluaPkOS6pD5dIFstLV0gPOi3r+W+hD4uLi4iCiAKICM6IGJ1aWx0aW4vcmVzZXQuYzoyOAogbXNnaWQgImdpdCByZXNldCAtLXBhdGNoIFs8dHJlZS1pc2g+XSBbLS1dIFs8cGF0aHM+Li4uXSIKQEAgLTEwNTYwLDI3ICsxMTczNiwyNyBAQAogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgIuS4jeiDveWGmeWFpeaWsOeahOe0ouW8leaWh+S7tuOAgiIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1MAorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjM1NAogbXNnaWQgInJldi1saXN0IGRvZXMgbm90IHN1cHBvcnQgZGlzcGxheSBvZiBub3RlcyIKIG1zZ3N0ciAicmV2LWxpc3Qg5LiN5pSv5oyB5pi+56S65rOo6KejIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM1OAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozODYKIG1zZ2lkICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl0iCiBtc2dzdHIgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPOmAiemhuT5dIC0tIFs85Y+C5pWwPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6MzYzCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjM5MQogbXNnaWQgImtlZXAgdGhlIGAtLWAgcGFzc2VkIGFzIGFuIGFyZyIKIG1zZ3N0ciAi5L+d5oyBIGAtLWAg5L2c5Li65LiA5Liq5Y+C5pWw5Lyg6YCSIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjM2NQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozOTMKIG1zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCiBtc2dzdHIgIumBh+WIsOesrOS4gOS4qumdnumAiemhueWPguaVsOWQjuWBnOatouino+aekCIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzozNjgKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6Mzk2CiBtc2dpZCAib3V0cHV0IGluIHN0dWNrIGxvbmcgZm9ybSIKIG1zZ3N0ciAi5Lul5Zu65a6a6ZW/5qC85byP6L6T5Ye6IgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQ5OQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1MjcKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC0xMDY1MSwzMSArMTE4MjcsMjcgQEAKIG1zZ2lkICJvcHRpb24gZm9yIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICLlkIjlubbnrZbnlaXnmoTpgInpobkiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CisjOiBidWlsdGluL3JldmVydC5jOjEwMAogbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKIG1zZ3N0ciAi6L+95Yqg5o+Q5Lqk5ZCN56ewIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAi5L+d55WZ5Yid5aeL5YyW55qE56m65o+Q5LqkIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCiBtc2dzdHIgIuWFgeiuuOaPkOS6pOivtOaYjuS4uuepuiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgIuS/neaMgeWkmuS9meeahOOAgeepuueahOaPkOS6pCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKLW1zZ2lkICJwcm9ncmFtIGVycm9yIgotbXNnc3RyICLnqIvluo/plJnor68iCi0KLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTk3CisjOiBidWlsdGluL3JldmVydC5jOjE5MgogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgIui/mOWOn+Wksei0pSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMTIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjA1CiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICLmi6PpgInlpLHotKUiCiAKQEAgLTEwODM2LDcwICsxMjAwOCwxMjQgQEAKIG1zZ2lkICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCiBtc2dzdHIgImdpdCBzaG93LWJyYW5jaCAoLWcgfCAtLXJlZmxvZylbPTxuPlssPGJhc2U+XV0gWy0tbGlzdF0gWzzlvJXnlKg+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmIgorbXNnaWRfcGx1cmFsICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmcyIKK21zZ3N0clswXSAi5b+955WlICVz77yM5peg5rOV5aSE55CGICVkIOS4quS7peS4iueahOW8leeUqCIKK21zZ3N0clsxXSAi5b+955WlICVz77yM5peg5rOV5aSE55CGICVkIOS4quS7peS4iueahOW8leeUqCIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0MQorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtYXRjaGluZyByZWZzIHdpdGggJXMiCittc2dzdHIgIuayoeacieWSjCAlcyDljLnphY3nmoTlvJXnlKgiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2MzkKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgIuaYvuekuui/nOeoi+i3n+i4queahOWSjOacrOWcsOeahOWIhuaUryIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0MQogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICLmmL7npLrov5znqIvot5/ouKrnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDMKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICLnnYDoibIgJyohKy0nIOWIsOebuOW6lOeahOWIhuaUryIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NQogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICLmmL7npLrlhbHlkIznpZblhYjlkI7nmoQgPG4+IOS4quaPkOS6pCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NwogbXNnaWQgInN5bm9ueW0gdG8gbW9yZT0tMSIKIG1zZ3N0ciAi5ZKMIG1vcmU9LTEg5ZCM5LmJIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ4CiBtc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCiBtc2dzdHIgIuS4jeaYvuekuuWtl+espuS4suWRveWQjSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAogbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICLljIXmi6zlvZPliY3liIbmlK8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKIG1zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCiBtc2dzdHIgIuS7peWvueixoeWQjeWtl+WRveWQjeaPkOS6pCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NAogbXNnaWQgInNob3cgcG9zc2libGUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgIuaYvuekuuWPr+iDveWQiOW5tueahOWfuue6vyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgogbXNnaWQgInNob3cgcmVmcyB1bnJlYWNoYWJsZSBmcm9tIGFueSBvdGhlciByZWYiCiBtc2dzdHIgIuaYvuekuuayoeacieS7u+S9leW8leeUqOeahOeahOW8leeUqCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OAogbXNnaWQgInNob3cgY29tbWl0cyBpbiB0b3BvbG9naWNhbCBvcmRlciIKIG1zZ3N0ciAi5Lul5ouT5omR6aG65bqP5pi+56S65o+Q5LqkIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYxCiBtc2dpZCAic2hvdyBvbmx5IGNvbW1pdHMgbm90IG9uIHRoZSBmaXJzdCBicmFuY2giCiBtc2dzdHIgIuWPquaYvuekuuS4jeWcqOesrOS4gOS4quWIhuaUr+S4iueahOaPkOS6pCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MwogbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKIG1zZ3N0ciAi5pi+56S65LuF5LiA5Liq5YiG5pSv5Y+v6K6/6Zeu55qE5ZCI5bm25o+Q5LqkIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY1CiBtc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgogbXNnc3RyICLmi5PmiZHmlrnlvI/mjpLluo/vvIzlubblsL3lj6/og73lnLDkv53mjIHml6XmnJ/pobrluo8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKIG1zZ2lkICI8bj5bLDxiYXNlPl0iCiBtc2dzdHIgIjxuPlssPGJhc2U+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQogbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgogbXNnc3RyICLmmL7npLrku44gYmFzZSDlvIDlp4vnmoQgPG4+IOadoeacgOi/keeahOW8leeUqOaXpeW/l+iusOW9lSIKIAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcwMworbXNnaWQgIiIKKyItLXJlZmxvZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG9yIC0tbWVyZ2UtYmFzZSIKK21zZ3N0ciAiLS1yZWZsb2cg5ZKMIC0tYWxs44CBLS1yZW1vdGVz44CBLS1pbmRlcGVuZGVudCDmiJYgLS1tZXJnZS1iYXNlIOS4jeWFvOWuuSIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcyNworbXNnaWQgIm5vIGJyYW5jaGVzIGdpdmVuLCBhbmQgSEVBRCBpcyBub3QgdmFsaWQiCittc2dzdHIgIuacquaPkOS+m+WIhuaUr++8jOS4lCBIRUFEIOaXoOaViCIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczMAorbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCittc2dzdHIgIumAiemhuSAtLXJlZmxvZyDpnIDopoHkuIDkuKrliIbmlK/lkI0iCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgorbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKK21zZ3N0clswXSAi5LiA5qyh5Y+q6IO95pi+56S6ICVkIOS4quadoeebruOAgiIKK21zZ3N0clsxXSAi5LiA5qyh5Y+q6IO95pi+56S6ICVkIOS4quadoeebruOAgiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNworIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZiAlcyIKK21zZ3N0ciAi5peg5q2k5byV55SoICVzIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODI5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldi4iCittc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldnMuIgorbXNnc3RyWzBdICLkuI3og73lpITnkIYgJWQg5Liq5Lul5LiK55qE54mI5pys44CCIgorbXNnc3RyWzFdICLkuI3og73lpITnkIYgJWQg5Liq5Lul5LiK55qE54mI5pys44CCIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAiJyVzJyDkuI3mmK/kuIDkuKrmnInmlYjnmoTlvJXnlKjjgIIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgY29tbWl0ICVzICglcykiCittc2dzdHIgIuS4jeiDveaJvuWIsOaPkOS6pCAlcyAoJXMpIgorCiAjOiBidWlsdGluL3Nob3ctcmVmLmM6MTAKIG1zZ2lkICIiCiAiZ2l0IHNob3ctcmVmIFstcSB8IC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kIHwgLS1kZXJlZmVyZW5jZV0gWy1zIHwgLS0iCkBAIC0xMDk2MCwxMiArMTIxODYsMTIgQEAKIG1zZ2lkICJwcmVwZW5kIGNvbW1lbnQgY2hhcmFjdGVyIGFuZCBzcGFjZSB0byBlYWNoIGxpbmUiCiBtc2dzdHIgIuS4uuavj+S4gOihjOeahOihjOmmlua3u+WKoOazqOmHiuespuWSjOepuuagvCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZWY6ICVzIgogbXNnc3RyICLmsqHmnInov5nmoLfnmoTlvJXnlKjvvJolcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0aW5nIGEgZnVsbCByZWYgbmFtZSwgZ290ICVzIgogbXNnc3RyICLmnJ/mnJvkuIDkuKrlrozmlbTnmoTlvJXnlKjlkI3np7DvvIzljbTlvpfliLAgJXMiCkBAIC0xMDk3NSwxNjEgKzEyMjAxLDIwMyBAQAogbXNnaWQgImNhbm5vdCBzdHJpcCBvbmUgY29tcG9uZW50IG9mZiB1cmwgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5LuOIHVybCAnJXMnIOWJpeemu+S4gOS4que7hOS7tiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjI3OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA1Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDg2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjgyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTAKIG1zZ2lkICJhbHRlcm5hdGl2ZSBhbmNob3IgZm9yIHJlbGF0aXZlIHBhdGhzIgogbXNnc3RyICLnm7jlr7not6/lvoTnmoTmm7/ku6PplJrorrDvvIhhbmNob3LvvIkiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyODcKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTzot6/lvoQ+XSBbPOi3r+W+hD4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzI2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNDAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMjkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIuWcqCAuZ2l0bW9kdWxlcyDkuK3mnKrmib7liLDlrZDmqKHnu4QgJyVzJyDnmoQgdXJsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzY2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cmwgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIuaXoOazleS4uuWtkOaooee7hCAnJXMnIOazqOWGjCB1cmwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNzAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSByZWdpc3RlcmVkIGZvciBwYXRoICclcydcbiIKIG1zZ3N0ciAi5a2Q5qih57uEICclcyfvvIglc++8ieacquWvuei3r+W+hCAnJXMnIOazqOWGjFxuIgogCiAjCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGNvbW1hbmQgdXBkYXRlIG1vZGUgc3VnZ2VzdGVkIGZvciBzdWJtb2R1bGUgJyVzJ1xuIgogbXNnc3RyICLorablkYrvvJrlu7rorq7lrZDmqKHnu4QgJyVzJyDkvb/nlKjlkb3ku6Tmm7TmlrDmqKHlvI9cbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXBkYXRlIG1vZGUgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIuaXoOazleS4uuWtkOaooee7hCAnJXMnIOazqOWGjOabtOaWsOaooeW8jyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOQogbXNnaWQgIlN1cHByZXNzIG91dHB1dCBmb3IgaW5pdGlhbGl6aW5nIGEgc3VibW9kdWxlIgogbXNnc3RyICLliJ3lp4vljJblrZDmqKHnu4Tml7bmipHliLbovpPlh7oiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTQKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPHBhdGg+XSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzzot6/lvoQ+XSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQzMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQzNQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPOi3r+W+hD4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VibW9kdWxlIG1hcHBpbmcgZm91bmQgaW4gLmdpdG1vZHVsZXMgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAi5ZyoIC5naXRtb2R1bGVzIOS4reayoeacieWPkeeOsOi3r+W+hCAnJXMnIOeahOWtkOaooee7hOaYoOWwhCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ4OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIKK21zZ3N0ciAi5a2Q5qih57uEICclcycg5LiN6IO95re75Yqg5LuT5bqT5aSH6YCJ77yaJXMiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgaXMgbm90IHJlY29nbml6ZWQiCittc2dzdHIgIuS4jeiDveivhuWIqyBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSDnmoTlj5blgLwgJyVzJyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCittc2dzdHIgIuS4jeiDveivhuWIqyBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYWlvbiDnmoTlj5blgLwgJyVzJyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5MwogbXNnaWQgIndoZXJlIHRoZSBuZXcgc3VibW9kdWxlIHdpbGwgYmUgY2xvbmVkIHRvIgogbXNnc3RyICLmlrDnmoTlrZDmqKHnu4TlsIbopoHlhYvpmobnmoTot6/lvoQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICLmlrDlrZDmqKHnu4TnmoTlkI3np7AiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0OTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTkKIG1zZ2lkICJ1cmwgd2hlcmUgdG8gY2xvbmUgdGhlIHN1Ym1vZHVsZSBmcm9tIgogbXNnc3RyICLlhYvpmoblrZDmqKHnu4TnmoQgdXJsIOWcsOWdgCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUwMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYwNQogbXNnaWQgImRlcHRoIGZvciBzaGFsbG93IGNsb25lcyIKIG1zZ3N0ciAi5rWF5YWL6ZqG55qE5rex5bqmIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjA4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjQKK21zZ2lkICJmb3JjZSBjbG9uaW5nIHByb2dyZXNzIgorbXNnc3RyICLmmL7npLrlhYvpmobov5vluqYiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MTMKIG1zZ2lkICIiCiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08cGF0aD5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgogIjxyZXBvc2l0b3J5Pl0gWy0tbmFtZSA8bmFtZT5dIFstLWRlcHRoIDxkZXB0aD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8cGF0aD4iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9POi3r+W+hD5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgPOS7k+W6kz5dIFstLW5hbWUgPOWQjeWtlz5dIFstLWRlcHRoIDzmt7HluqY+XSAtLXVybCA8dXJsPiAtLXBhdGggPOi3r+W+hD4iCittc2dzdHIgIiIKKyJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTzot6/lvoQ+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlIDzku5PlupM+XSAiCisiWy0tbmFtZSA85ZCN5a2XPl0gWy0tZGVwdGggPOa3seW6pj5dIC0tdXJsIDx1cmw+IC0tcGF0aCA86Lev5b6EPiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUzMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu655uu5b2VICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvbmUgb2YgJyVzJyBpbnRvIHN1Ym1vZHVsZSBwYXRoICclcycgZmFpbGVkIgogbXNnc3RyICLml6Dms5XlhYvpmoYgJyVzJyDliLDlrZDmqKHnu4Tot6/lvoQgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU1MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBmaWxlICclcyciCiBtc2dzdHIgIuaXoOazleaJk+W8gOaWh+S7tiAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTU1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSBmaWxlICVzIgogbXNnc3RyICLml6Dms5XlhbPpl63mlofku7YgJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBzdWJtb2R1bGUgZGlyZWN0b3J5IGZvciAnJXMnIgogbXNnc3RyICLml6Dms5XlvpfliLAgJyVzJyDnmoTlrZDmqKHnu4Tnm67lvZUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyVzJyBub3QgaW5pdGlhbGl6ZWQiCiBtc2dzdHIgIuWtkOaooee7hCAnJXMnIOWwmuacquWIneWni+WMliIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxMworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjczMAogbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgogbXNnc3RyICLkuZ/orrjmgqjmg7PopoHmiafooYwgJ3VwZGF0ZSAtLWluaXQn77yfIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjM5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHVubWVyZ2VkIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAi55Wl6L+H5pyq5ZCI5bm255qE5a2Q5qih57uEICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjYwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLnlaXov4flrZDmqKHnu4QgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc2OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkxMworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgorbXNnc3RyICLlhYvpmoYgJyVzJyDlpLHotKXjgILmjInorqHliJLph43or5UiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycgYSBzZWNvbmQgdGltZSwgYWJvcnRpbmciCittc2dzdHIgIuesrOS6jOasoeWwneivleWFi+mahiAnJXMnIOWksei0pe+8jOmAgOWHuiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk0NQogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICLliLDlt6XkvZzljLrnmoTot6/lvoQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3NzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NDgKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSwgYWNyb3NzIG5lc3RlZCBzdWJtb2R1bGUgYm91bmRhcmllcyIKIG1zZ3N0ciAi5bel5L2c5Yy65Lit55qE6Lev5b6E77yM6YCS5b2S5bWM5aWX5a2Q5qih57uEIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzc1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTUyCiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAicmViYXNl44CBbWVyZ2XjgIFjaGVja291dCDmiJYgbm9uZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk1NgogbXNnaWQgIkNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgdHJ1bmNhdGVkIHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHJldmlzaW9ucyIKIG1zZ3N0ciAi5Yib5bu65LiA5Liq5oyH5a6a5rex5bqm55qE5rWF5YWL6ZqGIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzgyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTU5CiBtc2dpZCAicGFyYWxsZWwgam9icyIKIG1zZ3N0ciAi5bm25Y+R5Lu75YqhIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzgzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYxCittc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgorbXNnc3RyICLliJ3lp4vlhYvpmobmmK/lkKblupTor6XpgbXlrojmjqjojZDnmoTmtYXlhYvpmobpgInpobkiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjIKIG1zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICLkuI3opoHovpPlh7rlhYvpmobov5vluqYiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjkKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD086Lev5b6EPl0gWzzot6/lvoQ+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc5OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3OQogbXNnaWQgImJhZCB2YWx1ZSBmb3IgdXBkYXRlIHBhcmFtZXRlciIKIG1zZ3N0ciAidXBkYXRlIOWPguaVsOWPluWAvOmUmeivryIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg1NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlN1Ym1vZHVsZSAoJXMpIGJyYW5jaCBjb25maWd1cmVkIHRvIGluaGVyaXQgYnJhbmNoIGZyb20gc3VwZXJwcm9qZWN0LCBidXQgIgorInRoZSBzdXBlcnByb2plY3QgaXMgbm90IG9uIGFueSBicmFuY2giCittc2dzdHIgIuWtkOaooee7hO+8iCVz77yJ55qE5YiG5pSv6YWN572u5Li657un5om/5LiK57qn6aG555uu55qE5YiG5pSv77yM5L2G5piv5LiK57qn6aG555uu5LiN5Zyo5Lu75L2V5YiG5pSv5LiKIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwMAogbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHN1YmNvbW1hbmQiCiBtc2dzdHIgInN1Ym1vZHVsZS1oZWxwZXIg5a2Q5ZG95Luk5b+F6aG755Sx5Y+m5aSW55qE5a2Q5ZG95Luk6LCD55SoIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODYyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCiBtc2dzdHIgIiclcycg5LiN5piv5LiA5Liq5pyJ5pWI55qEIHN1Ym1vZHVsZS0taGVscGVyIOWtkOWRveS7pCIKQEAgLTExMzYzLDcgKzEyNjMxLDcgQEAKIG1zZ2lkICJVcGRhdGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIuW3suabtOaWsOagh+etviAnJXMn77yI5pu+5Li6ICVz77yJXG4iCiAKLSM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTAKKyM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo0OTMKIG1zZ2lkICJVbnBhY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi5bGV5byA5a+56LGh5LitIgogCkBAIC0xMTQyNSwxMzkgKzEyNjkzLDE0NyBAQAogbXNnaWQgIiBPSyIKIG1zZ3N0ciAiIE9LIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU3NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1NjQKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzzpgInpobk+XSBbLS1dIFs85paH5Lu2Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTMwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkxOQogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAi5b2T57Si5byV6ZyA6KaB5pu05paw5pe257un57ut5Yi35pawIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjIKIG1zZ2lkICJyZWZyZXNoOiBpZ25vcmUgc3VibW9kdWxlcyIKIG1zZ3N0ciAi5Yi35paw77ya5b+955Wl5a2Q5qih57uEIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjUKIG1zZ2lkICJkbyBub3QgaWdub3JlIG5ldyBmaWxlcyIKIG1zZ3N0ciAi5LiN5b+955Wl5paw55qE5paH5Lu2IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjcKIG1zZ2lkICJsZXQgZmlsZXMgcmVwbGFjZSBkaXJlY3RvcmllcyBhbmQgdmljZS12ZXJzYSIKIG1zZ3N0ciAi6K6p5paH5Lu25pu/5o2i55uu5b2V77yI5Y+N5LmL5Lqm54S277yJIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MjkKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICLpgJrnn6Xmlofku7bku47lt6XkvZzljLrkuKLlpLEiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzMQogbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICLljbPkvb/ntKLlvJXljLrljIXlkKvmnKrlkIjlubbnmoTmnaHnm67kuZ/miafooYzliLfmlrAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTQ1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkzNAogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi5Yi35paw57uf6K6h5L+h5oGvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MzgKIG1zZ2lkICJsaWtlIC0tcmVmcmVzaCwgYnV0IGlnbm9yZSBhc3N1bWUtdW5jaGFuZ2VkIHNldHRpbmciCiBtc2dzdHIgIuexu+S8vOS6jiAtLXJlZnJlc2jvvIzkvYbmmK/lv73nlaUgYXNzdW1lLXVuY2hhbmdlZCDorr7nva4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0MgogbXNnaWQgIjxtb2RlPiw8b2JqZWN0Piw8cGF0aD4iCiBtc2dzdHIgIjzlrZjlj5bmqKHlvI8+LDzlr7nosaE+LDzot6/lvoQ+IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDMKIG1zZ2lkICJhZGQgdGhlIHNwZWNpZmllZCBlbnRyeSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIua3u+WKoOaMh+WumueahOadoeebruWIsOe0ouW8leWMuiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTgKLW1zZ2lkICIoKy8tKXgiCi1tc2dzdHIgIigrLy0peCIKLQotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTkKLW1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKLW1zZ3N0ciAi6KaG55uW5YiX6KGo6YeM5paH5Lu255qE5Y+v5omn6KGM5L2NIgotCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTIKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCiBtc2dzdHIgIuaKiuaWh+S7tuagh+iusOS4uiBcIuayoeacieWPmOabtFwiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTUKIG1zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCiBtc2dzdHIgIua4hemZpCBhc3N1bWVkLXVuY2hhbmdlZCDkvY0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1OAogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJpbmRleC1vbmx5XCIiCiBtc2dzdHIgIuaKiuaWh+S7tuagh+iusOS4uiBcIuS7hee0ouW8lVwiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjEKIG1zZ2lkICJjbGVhciBza2lwLXdvcmt0cmVlIGJpdCIKIG1zZ3N0ciAi5riF6ZmkIHNraXAtd29ya3RyZWUg5L2NIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjQKIG1zZ2lkICJhZGQgdG8gaW5kZXggb25seTsgZG8gbm90IGFkZCBjb250ZW50IHRvIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAi5Y+q5re75Yqg5Yiw57Si5byV5Yy677yb5LiN5re75Yqg5a+56LGh5Yiw5a+56LGh5bqTIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjYKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICLljbPkvb/lrZjlnKjlt6XkvZzljLrph4zvvIzkuZ/liKDpmaTot6/lvoQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OAogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAi5pC65bimIC0tc3RkaW7vvJrovpPlhaXnmoTooYzku6UgbnVsbCDlrZfnrKbnu4jmraIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MAogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpeS4reivu+WPlumcgOimgeabtOaWsOeahOi3r+W+hOWIl+ihqCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc0CiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpea3u+WKoOadoeebruWIsOe0ouW8leWMuiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc4CiBtc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgogbXNnc3RyICLkuLrmjIflrprmlofku7bph43mlrDnlJ/miJDnrKwy5ZKM56ysM+aaguWtmOWMuiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgyCiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgIuWPquabtOaWsOS4jiBIRUFEIOS4jeWQjOeahOadoeebriIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg2CiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAi5b+955Wl5bel5L2c5Yy65Lii5aSx55qE5paH5Lu2IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5CiBtc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICLlnKjmoIflh4bovpPlh7rmmL7npLrmk43kvZwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTEKIG1zZ2lkICIoZm9yIHBvcmNlbGFpbnMpIGZvcmdldCBzYXZlZCB1bnJlc29sdmVkIGNvbmZsaWN0cyIKIG1zZ3N0ciAiKGZvciBwb3JjZWxhaW5zKSDlv5jorrDkv53lrZjnmoTmnKrop6PlhrPnmoTlhrLnqoEiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTUKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAi5Lul6L+Z56eN5qC85byP5YaZ5YWl57Si5byV5Yy6IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgIuWQr+eUqOaIluemgeeUqOe0ouW8leaLhuWIhiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDEwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5OQogbXNnaWQgImVuYWJsZS9kaXNhYmxlIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAi5ZCv55SoL+emgeeUqOWvueacqui3n+i4quaWh+S7tueahOe8k+WtmCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDEyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDEKIG1zZ2lkICJ0ZXN0IGlmIHRoZSBmaWxlc3lzdGVtIHN1cHBvcnRzIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAi5rWL6K+V5paH5Lu257O757uf5piv5ZCm5pSv5oyB5pyq6Lef6Liq5paH5Lu257yT5a2YIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMwogbXNnaWQgImVuYWJsZSB1bnRyYWNrZWQgY2FjaGUgd2l0aG91dCB0ZXN0aW5nIHRoZSBmaWxlc3lzdGVtIgogbXNnc3RyICLml6DpnIDmo4DmtYvmlofku7bns7vnu5/vvIzlkK/nlKjlr7nmnKrot5/ouKrmlofku7bnmoTnvJPlrZgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTE5Cittc2dpZCAiIgorImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCisidG8gZGlzYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgorbXNnc3RyICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSDooqvorr7nva7kuLogdHJ1ZeOAguWmguaenOaCqOehruWunuimgeemgeeUqOacqui3n+i4quaWh+S7tue8k+WtmO+8jOivt+WIoOmZpOaIluS/riIKKyLmlLnlroPjgIIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEyMwogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBkaXNhYmxlZCIKIG1zZ3N0ciAi57yT5a2Y5pyq6Lef6Liq5paH5Lu26KKr56aB55SoIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzMQorbXNnaWQgIiIKKyJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKKyJ0byBlbmFibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKK21zZ3N0ciAiIgorImNvcmUudW50cmFja2VkQ2FjaGUg6KKr6K6+572u5Li6IGZhbHNl44CC5aaC5p6c5oKo56Gu5a6e6KaB5ZCv55So5pyq6Lef6Liq5paH5Lu257yT5a2Y77yM6K+35Yig6Zmk5oiWIgorIuS/ruaUueWug+OAgiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgogbXNnc3RyICLnvJPlrZjmnKrot5/ouKrmlofku7blnKggJyVzJyDlkK/nlKgiCkBAIC0xMTYzNSw4MiArMTI5MTEsMTA5IEBACiBtc2dzdHIgImdpdCB3b3JrdHJlZSBhZGQgWzzpgInpobk+XSA86Lev5b6EPiBbPOWIhuaUrz5dIgogCiAjOiBidWlsdGluL3dvcmt0cmVlLmM6MTYKLW1zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPOmAiemhuT5dIgotCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKIG1zZ2lkICJnaXQgd29ya3RyZWUgbGlzdCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxpc3QgWzzpgInpobk+XSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTcKK21zZ2lkICJnaXQgd29ya3RyZWUgbG9jayBbPG9wdGlvbnM+XSA8cGF0aD4iCittc2dzdHIgImdpdCB3b3JrdHJlZSBsb2NrIFs86YCJ6aG5Pl0gPOi3r+W+hD4iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOAorbXNnaWQgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHdvcmt0cmVlIHBydW5lIFs86YCJ6aG5Pl0iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOQorbXNnaWQgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHBhdGg+IgorbXNnc3RyICJnaXQgd29ya3RyZWUgdW5sb2NrIDzot6/lvoQ+IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBub3QgYSB2YWxpZCBkaXJlY3RvcnkiCiBtc2dzdHIgIuWIoOmZpOW3peS9nOWMui8lc++8muS4jeaYr+S4gOS4quacieaViOeahOebruW9lSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi5Yig6ZmkIHdvcmt0cmVlcy8lc++8mmdpdGRpciDmlofku7bkuI3lrZjlnKgiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogdW5hYmxlIHRvIHJlYWQgZ2l0ZGlyIGZpbGUgKCVzKSIKIG1zZ3N0ciAi5Yig6ZmkIHdvcmt0cmVlcy8lc++8muaXoOazleivu+WPliBnaXRkaXIg5paH5Lu2ICglcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogaW52YWxpZCBnaXRkaXIgZmlsZSIKIG1zZ3N0ciAi5Yig6ZmkIHdvcmt0cmVlcy8lc++8muaXoOaViOeahCBnaXRkaXIg5paH5Lu2IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIHBvaW50cyB0byBub24tZXhpc3RlbnQgbG9jYXRpb24iCiBtc2dzdHIgIuWIoOmZpCB3b3JrdHJlZXMvJXPvvJpnaXRkaXIg5paH5Lu255qE5oyH5ZCR5LiN5a2Y5ZyoIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTEzCi0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKLW1zZ3N0ciAi5peg5rOV5Yig6ZmkICclcyciCi0KLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiJyVzJyDlt7Lnu4/lrZjlnKgiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMzQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3Rvcnkgb2YgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu655uu5b2VICclcyciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nICVzIChpZGVudGlmaWVyICVzKSIKIG1zZ3N0ciAi5YeG5aSHICVzIO+8iOagh+ivhuespiAlc++8iSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyMgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyMwogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGV2ZW4gaWYgYWxyZWFkeSBjaGVja2VkIG91dCBpbiBvdGhlciB3b3JrdHJlZSIKIG1zZ3N0ciAi5qOA5Ye65YiG5pSvIDxicmFuY2g+IOWNs+S9v+W3sue7j+iiq+ajgOWHuuWIsOWFtuWug+W3peS9nOWMuiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNQogbXNnaWQgImNyZWF0ZSBhIG5ldyBicmFuY2giCiBtc2dzdHIgIuWIm+W7uuS4gOS4quaWsOWIhuaUryIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyNwogbXNnaWQgImNyZWF0ZSBvciByZXNldCBhIGJyYW5jaCIKIG1zZ3N0ciAi5Yib5bu65oiW6YeN572u5LiA5Liq5YiG5pSvIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzI3Ci1tc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgotbXNnc3RyICJIRUFEIOS7juaMh+WumueahOaPkOS6pOWIhuemuyIKLQotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMyOQogbXNnaWQgInBvcHVsYXRlIHRoZSBuZXcgd29ya2luZyB0cmVlIgogbXNnc3RyICLnlJ/miJDmlrDnmoTlt6XkvZzljLoiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMzcKIG1zZ2lkICItYiwgLUIsIGFuZCAtLWRldGFjaCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYuOAgS1CIOWSjCAtLWRldGFjaCDmmK/kupLmlqXnmoQiCiAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NzAKK21zZ2lkICJyZWFzb24gZm9yIGxvY2tpbmciCittc2dzdHIgIumUgeWumuWOn+WboCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4MiBidWlsdGluL3dvcmt0cmVlLmM6NTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgd29ya2luZyB0cmVlIgorbXNnc3RyICInJXMnIOS4jeaYr+S4gOS4quW3peS9nOWMuiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NCBidWlsdGluL3dvcmt0cmVlLmM6NTE3Cittc2dpZCAiVGhlIG1haW4gd29ya2luZyB0cmVlIGNhbm5vdCBiZSBsb2NrZWQgb3IgdW5sb2NrZWQiCittc2dzdHIgIuS4u+W3peS9nOWMuuaXoOazleiiq+WKoOmUgeaIluino+mUgSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkLCByZWFzb246ICVzIgorbXNnc3RyICInJXMnIOW3suiiq+mUgeWumu+8jOWOn+WboO+8miVzIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiCittc2dzdHIgIiclcycg5bey6KKr6ZSB5a6aIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGxvY2tlZCIKK21zZ3N0ciAiJyVzJyDmnKrooqvplIHlrpoiCisKICM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjEzCiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD085YmN57yAPi9dIgpAQCAtMTE3MjcsNiArMTMwMzAsMzggQEAKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgogbXNnc3RyICLlj6rlr7nosIPor5XmnInnlKgiCiAKKyM6IHVwbG9hZC1wYWNrLmM6MjIKK21zZ2lkICJnaXQgdXBsb2FkLXBhY2sgWzxvcHRpb25zPl0gPGRpcj4iCittc2dzdHIgImdpdCB1cGxvYWQtcGFjayBbPOmAiemhuT5dIDznm67lvZU+IgorCisjOiB1cGxvYWQtcGFjay5jOjEwMjgKK21zZ2lkICJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiCittc2dzdHIgIuWcqOS4gOasoeWNleeLrOeahOivt+axgi/lk43lupTvvIhyZXF1ZXN0L3Jlc3BvbnNl77yJ5Lqk5o2i5ZCO6YCA5Ye6IgorCisjOiB1cGxvYWQtcGFjay5jOjEwMzAKK21zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGluaXRpYWwgcmVmIGFkdmVydGlzZW1lbnQiCittc2dzdHIgIuWcqOWIneWni+eahOW8leeUqOW5v+WRiuWQjueri+WNs+mAgOWHuiIKKworIzogdXBsb2FkLXBhY2suYzoxMDMyCittc2dpZCAiZG8gbm90IHRyeSA8ZGlyZWN0b3J5Pi8uZ2l0LyBpZiA8ZGlyZWN0b3J5PiBpcyBubyBHaXQgZGlyZWN0b3J5IgorbXNnc3RyICLkuI3opoHlsJ3or5UgPGRpcmVjdG9yeT4vLmdpdC8g5aaC5p6cIDxkaXJlY3Rvcnk+IOS4jeaYr+S4gOS4qiBHaXQg55uu5b2VIgorCisjOiB1cGxvYWQtcGFjay5jOjEwMzQKK21zZ2lkICJpbnRlcnJ1cHQgdHJhbnNmZXIgYWZ0ZXIgPG4+IHNlY29uZHMgb2YgaW5hY3Rpdml0eSIKK21zZ3N0ciAi5LiN5rS75YqoIDxuPiDnp5Lpkp/lkI7nu4jmraLkvKDovpMiCisKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIHBlcm1pc3Npb25zIG9uIHlvdXIgc29ja2V0IGRpcmVjdG9yeSBhcmUgdG9vIGxvb3NlOyBvdGhlclxuIgorInVzZXJzIG1heSBiZSBhYmxlIHRvIHJlYWQgeW91ciBjYWNoZWQgY3JlZGVudGlhbHMuIENvbnNpZGVyIHJ1bm5pbmc6XG4iCisiXG4iCisiXHRjaG1vZCAwNzAwICVzIgorbXNnc3RyICIiCisi5oKoIHNvY2tldCDnm67lvZXmnYPpmZDov4fkuo7mlL7mnb7vvIzlhbbku5bnlKjmiLflj6/og73kvJror7vlj5bmgqjnvJPlrZjnmoTorqTor4Hkv6Hmga/jgILogIPomZHmiafooYzvvJpcbiIKKyJcbiIKKyJcdGNobW9kIDA3MDAgJXMiCisKICM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MQogbXNnaWQgInByaW50IGRlYnVnZ2luZyBtZXNzYWdlcyB0byBzdGRlcnIiCiBtc2dzdHIgIuiwg+ivleS/oeaBr+i+k+WHuuWIsOagh+WHhumUmeivryIKQEAgLTExNzQxLDcgKzEzMDc2LDExIEBACiAi5p+l55yLICdnaXQgaGVscCA85ZG95LukPicg5oiWICdnaXQgaGVscCA85qaC5b+1Picg5Lul6I635Y+W57uZ5a6a5a2Q5ZG95Luk5oiW5qaC5b+155qEXG4iCiAi5biu5Yqp44CCIgogCi0jOiBodHRwLmM6MzIyCisjOiBodHRwLmM6MzQyCittc2dpZCAiRGVsZWdhdGlvbiBjb250cm9sIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4yMi4wIgorbXNnc3RyICLlvZMgY1VSTCA8IDcuMjIuMCDml7bvvIzkuI3mlK/mjIHlp5TmiZjmjqfliLYiCisKKyM6IGh0dHAuYzozNTEKIG1zZ2lkICJQdWJsaWMga2V5IHBpbm5pbmcgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjQ0LjAiCiBtc2dzdHIgIuS4jeaUr+aMgeWFrOmSpeaWh+S7tumUgeWumu+8jOWboOS4uiBjVVJMIDwgNy40NC4wIgogCkBAIC0xMTg1NywxNSArMTMxOTYsMTUgQEAKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgIuepuuaTjeS9nO+8iOWQkeWQjuWFvOWuue+8iSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIzNworIzogcGFyc2Utb3B0aW9ucy5oOjIzOAogbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKIG1zZ3N0ciAi5pu05Yqg6K+m57uGIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjM5CisjOiBwYXJzZS1vcHRpb25zLmg6MjQwCiBtc2dpZCAiYmUgbW9yZSBxdWlldCIKIG1zZ3N0ciAi5pu05Yqg5a6J6Z2ZIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjQ1CisjOiBwYXJzZS1vcHRpb25zLmg6MjQ2CiBtc2dpZCAidXNlIDxuPiBkaWdpdHMgdG8gZGlzcGxheSBTSEEtMXMiCiBtc2dzdHIgIueUqCA8bj4g5L2N5pWw5a2X5pi+56S6IFNIQS0xIOWTiOW4jOWAvCIKIApAQCAtMTE4NzMsNyArMTMyMTIsNyBAQAogbXNnaWQgInVwZGF0ZSB0aGUgaW5kZXggd2l0aCByZXVzZWQgY29uZmxpY3QgcmVzb2x1dGlvbiBpZiBwb3NzaWJsZSIKIG1zZ3N0ciAi5aaC5p6c5Y+v6IO977yM6YeN55So5Yay56qB6Kej5Yaz5pu05paw57Si5byVIgogCi0jOiBnaXQtYmlzZWN0LnNoOjU1CisjOiBnaXQtYmlzZWN0LnNoOjU0CiBtc2dpZCAiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIiCiBtc2dzdHIgIuaCqOmcgOimgeaJp+ihjCBcImdpdCBiaXNlY3Qgc3RhcnRcIiDmnaXlvIDlp4siCiAKQEAgLTExODgxLDU2ICsxMzIyMCw1NyBAQAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKICMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKICMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtYmlzZWN0LnNoOjYxCisjOiBnaXQtYmlzZWN0LnNoOjYwCiBtc2dpZCAiRG8geW91IHdhbnQgbWUgdG8gZG8gaXQgZm9yIHlvdSBbWS9uXT8gIgogbXNnc3RyICLmgqjmg7PorqnmiJHkuLrmgqjov5nmoLflgZrkuYhbWS9uXe+8nyAiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTIyCisjOiBnaXQtYmlzZWN0LnNoOjEyMQogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pc2VkIG9wdGlvbjogJyRhcmcnIgogbXNnc3RyICLmnKrog73or4bliKvnmoTpgInpobnvvJonJGFyZyciCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTI2CisjOiBnaXQtYmlzZWN0LnNoOjEyNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmcnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIHJldmlzaW9uIgogbXNnc3RyICInJGFyZycg55yL6LW35p2l5LiN5YOP5piv5LiA5Liq5pyJ5pWI55qE54mI5pysIgogCi0jOiBnaXQtYmlzZWN0LnNoOjE1NQorIzogZ2l0LWJpc2VjdC5zaDoxNTQKIG1zZ2lkICJCYWQgSEVBRCAtIEkgbmVlZCBhIEhFQUQiCiBtc2dzdHIgIuWdj+eahCBIRUFEIC0g5oiR6ZyA6KaB5LiA5LiqIEhFQUQiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTY4CisjOiBnaXQtYmlzZWN0LnNoOjE2NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkNoZWNraW5nIG91dCAnJHN0YXJ0X2hlYWQnIGZhaWxlZC4gVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDx2YWxpZC1icmFuY2g+Jy4iCiBtc2dzdHIgIuajgOWHuiAnJHN0YXJ0X2hlYWQnIOWksei0peOAguWwneivlSAnZ2l0IGJpc2VjdCByZXNldCA85pyJ5pWI5YiG5pSvPifjgIIiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTc4CisjOiBnaXQtYmlzZWN0LnNoOjE3NwogbXNnaWQgIndvbid0IGJpc2VjdCBvbiBjZy1zZWVrJ2VkIHRyZWUiCiBtc2dzdHIgIuS4jeS8muWcqOWBmuS6hiBjZy1zZWVrIOeahOagkeS4iuWBmuS6jOWIhuafpeaJviIKIAotIzogZ2l0LWJpc2VjdC5zaDoxODIKKyM6IGdpdC1iaXNlY3Quc2g6MTgxCiBtc2dpZCAiQmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKIG1zZ3N0ciAi5Z2P55qEIEhFQUQgLSDlpYfmgKrnmoTnrKblj7flvJXnlKgiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MjM0CisjOiBnaXQtYmlzZWN0LnNoOjIzMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQmFkIGJpc2VjdF93cml0ZSBhcmd1bWVudDogJHN0YXRlIgogbXNnc3RyICLlnY/nmoQgYmlzZWN0X3dyaXRlIOWPguaVsO+8miRzdGF0ZSIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNjMKKyM6IGdpdC1iaXNlY3Quc2g6MjYyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkYXJnIgotbXNnc3RyICLovpPlhaXlnY/nmoTniYjmnKzvvJokYXJnIgorbXNnc3RyICLlnY/nmoTovpPlhaXniYjmnKzvvJokYXJnIgogCi0jOiBnaXQtYmlzZWN0LnNoOjI3OAotbXNnaWQgIlBsZWFzZSBjYWxsICdiaXNlY3Rfc3RhdGUnIHdpdGggYXQgbGVhc3Qgb25lIGFyZ3VtZW50LiIKLW1zZ3N0ciAi6K+35Zyo6LCD55SoICdiaXNlY3Rfc3RhdGUnIOaXtui3n+iHs+WwkeS4gOS4quWPguaVsOOAgiIKKyM6IGdpdC1iaXNlY3Quc2g6MjgxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJCYWQgcmV2IGlucHV0OiAkYmlzZWN0ZWRfaGVhZCIKK21zZ3N0ciAi5Z2P55qE6L6T5YWl54mI5pys77yaJGJpc2VjdGVkX2hlYWQiCiAKICM6IGdpdC1iaXNlY3Quc2g6MjkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkcmV2IgotbXNnc3RyICLovpPlhaXlnY/nmoTniYjmnKzvvJokcmV2IgorbXNnc3RyICLlnY/nmoTovpPlhaXniYjmnKzvvJokcmV2IgogCiAjOiBnaXQtYmlzZWN0LnNoOjI5OQogIywgc2gtZm9ybWF0CkBAIC0xMjA2OSw3ICsxMzQwOSw0NSBAQAogIuWPguaVsCAkYXJnIOWvueWRveS7pCAnZ2l0IGJpc2VjdCB0ZXJtcycg5peg5pWI44CCXG4iCiAi5pSv5oyB55qE6YCJ6aG55pyJ77yaLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCDlkowgLS10ZXJtLWJhZHwtLXRlcm0tbmV344CCIgogCi0jOiBnaXQtcmViYXNlLnNoOjU3CisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo0NgorbXNnaWQgIiIKKyJFcnJvcjogWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgorIm1lcmdlIgorbXNnc3RyICLplJnor6/vvJrmgqjlr7nkuIvliJfmlofku7bnmoTmnKzlnLDkv67mlLnlsIbooqvlkIjlubbmk43kvZzopobnm5YiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjYxCittc2dpZCAiQXV0b21hdGVkIG1lcmdlIGRpZCBub3Qgd29yay4iCittc2dzdHIgIuiHquWKqOWQiOW5tuacqueUn+aViOOAgiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NjIKK21zZ2lkICJTaG91bGQgbm90IGJlIGRvaW5nIGFuIG9jdG9wdXMuIgorbXNnc3RyICLkuI3lupTor6XmiafooYznq6DpsbzlvI/lkIjlubbjgIIiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjczCisjLCBzaC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gZmluZCBjb21tb24gY29tbWl0IHdpdGggJHByZXR0eV9uYW1lIgorbXNnc3RyICLml6Dms5Xmib7liLDlkowgJHByZXR0eV9uYW1lIOeahOWfuue6v+aPkOS6pCIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NzcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkFscmVhZHkgdXAtdG8tZGF0ZSB3aXRoICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAi5bey57uP5ZKMICRwcmV0dHlfbmFtZSDkv53mjIHkuIDoh7QiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjg5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJGYXN0LWZvcndhcmRpbmcgdG86ICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAi5b+r6L+b6Iez77yaJHByZXR0eV9uYW1lIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo5NworIywgc2gtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHNpbXBsZSBtZXJnZSB3aXRoICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAi5bCd6K+V5ZKMICRwcmV0dHlfbmFtZSDnmoTnroDljZXlkIjlubYiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjEwMgorbXNnaWQgIlNpbXBsZSBtZXJnZSBkaWQgbm90IHdvcmssIHRyeWluZyBhdXRvbWF0aWMgbWVyZ2UuIgorbXNnc3RyICLnroDljZXlkIjlubbmnKrnlJ/mlYjvvIzlsJ3or5Xoh6rliqjlkIjlubbjgIIiCisKKyM6IGdpdC1yZWJhc2Uuc2g6NTYKIG1zZ2lkICIiCiAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiLlxuIgogIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCJnaXQgcmViYXNlIC0tc2tpcFwiIGluc3RlYWQuXG4iCkBAIC0xMjA4MCwxNiArMTM0NTgsMjEgQEAKICLlpoLmnpzmgqjmg7Pot7Pov4fmraTooaXkuIHvvIzliJnmiafooYwgXCJnaXQgcmViYXNlIC0tc2tpcFwi44CCXG4iCiAi6KaB5oGi5aSN5Y6f5YiG5pSv5bm25YGc5q2i5Y+Y5Z+677yM5omn6KGMIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCLjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTY4CisjOiBnaXQtcmViYXNlLnNoOjE1NiBnaXQtcmViYXNlLnNoOjM5NQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG1vdmUgYmFjayB0byAkaGVhZF9uYW1lIgorbXNnc3RyICLml6Dms5Xnp7vlm54gJGhlYWRfbmFtZSIKKworIzogZ2l0LXJlYmFzZS5zaDoxNjcKIG1zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCiBtc2dzdHIgIuaIkOWKn+W6lOeUqCBhdXRvc3Rhc2jjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTcxCisjOiBnaXQtcmViYXNlLnNoOjE3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgogbXNnc3RyICLml6Dms5Xkv53lrZggJHN0YXNoX3NoYTEiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6MTcyCisjOiBnaXQtcmViYXNlLnNoOjE3MQogbXNnaWQgIiIKICJBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLlxuIgogIllvdXIgY2hhbmdlcyBhcmUgc2FmZSBpbiB0aGUgc3Rhc2guXG4iCkBAIC0xMjA5OSwyNyArMTM0ODIsMjcgQEAKICLmgqjnmoTkv67mlLnlronlhajlnLDkv53lrZjlnKggc3Rhc2gg5Lit44CCXG4iCiAi5oKo5Y+v5Lul5Zyo5Lu75L2V5pe25YCZ6L+Q6KGMIFwiZ2l0IHN0YXNoIHBvcFwiIOaIliBcImdpdCBzdGFzaCBkcm9wXCLjgIJcbiIKIAotIzogZ2l0LXJlYmFzZS5zaDoyMTEKKyM6IGdpdC1yZWJhc2Uuc2g6MjEwCiBtc2dpZCAiVGhlIHByZS1yZWJhc2UgaG9vayByZWZ1c2VkIHRvIHJlYmFzZS4iCiBtc2dzdHIgIumSqeWtkCBwcmUtcmViYXNlIOaLkue7neWPmOWfuuaTjeS9nOOAgiIKIAotIzogZ2l0LXJlYmFzZS5zaDoyMTYKKyM6IGdpdC1yZWJhc2Uuc2g6MjE1CiBtc2dpZCAiSXQgbG9va3MgbGlrZSBnaXQtYW0gaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIgogbXNnc3RyICLkvLzkuY7mraPlpITkuo7lnKggZ2l0LWFtIOeahOaJp+ihjOi/h+eoi+S4reOAguaXoOazleWPmOWfuuOAgiIKIAotIzogZ2l0LXJlYmFzZS5zaDozNTcKKyM6IGdpdC1yZWJhc2Uuc2g6MzU2CiBtc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKIG1zZ3N0ciAi5rKh5pyJ5q2j5Zyo6L+b6KGM55qE5Y+Y5Z+677yfIgogCi0jOiBnaXQtcmViYXNlLnNoOjM2OAorIzogZ2l0LXJlYmFzZS5zaDozNjcKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIuWKqOS9nCAtLWVkaXQtdG9kbyDlj6rog73nlKjlnKjkuqTkupLlvI/lj5jln7rov4fnqIvkuK3jgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6Mzc1CisjOiBnaXQtcmViYXNlLnNoOjM3NAogbXNnaWQgIkNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIuS4jeiDveivu+WPliBIRUFEIgogCi0jOiBnaXQtcmViYXNlLnNoOjM3OAorIzogZ2l0LXJlYmFzZS5zaDozNzcKIG1zZ2lkICIiCiAiWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCiAibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCkBAIC0xMjEyNywxMiArMTM1MTAsNyBAQAogIuaCqOW/hemhu+e8lui+keaJgOacieeahOWQiOW5tuWGsueqge+8jOeEtuWQjumAmui/hyBnaXQgYWRkXG4iCiAi5ZG95Luk5bCG5a6D5Lus5qCH6K6w5Li65bey6Kej5YazIgogCi0jOiBnaXQtcmViYXNlLnNoOjM5NgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG1vdmUgYmFjayB0byAkaGVhZF9uYW1lIgotbXNnc3RyICLml6Dms5Xnp7vlm54gJGhlYWRfbmFtZSIKLQotIzogZ2l0LXJlYmFzZS5zaDo0MTUKKyM6IGdpdC1yZWJhc2Uuc2g6NDE0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC0xMjE1MSw5NyArMTM1MjksMTAxIEBACiAiXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgogIueEtuWQjuWGjemHjeaWsOaJp+ihjOWPmOWfuuaTjeS9nOOAgiDkuLrpgb/lhY3kuKLlpLHph43opoHmlbDmja7vvIzmiJHlt7Lnu4/lgZzmraLlvZPliY3mk43kvZzjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDY2CisjOiBnaXQtcmViYXNlLnNoOjQ2NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAkdXBzdHJlYW1fbmFtZSIKIG1zZ3N0ciAi5peg5pWI55qE5LiK5ri4ICR1cHN0cmVhbV9uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjQ5MAorIzogZ2l0LXJlYmFzZS5zaDo0ODkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgogbXNnc3RyICIkb250b19uYW1lOiDmnInkuIDkuKrku6XkuIrnmoTlkIjlubbln7rlh4YiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NDkzIGdpdC1yZWJhc2Uuc2g6NDk3CisjOiBnaXQtcmViYXNlLnNoOjQ5MiBnaXQtcmViYXNlLnNoOjQ5NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiJG9udG9fbmFtZTog5rKh5pyJ5ZCI5bm25Z+65YeGIgogCi0jOiBnaXQtcmViYXNlLnNoOjUwMgorIzogZ2l0LXJlYmFzZS5zaDo1MDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0OiAkb250b19uYW1lIgogbXNnc3RyICLmsqHmnInmjIflkJHkuIDkuKrmnInmlYjnmoTmj5DkuqTvvJokb250b19uYW1lIgogCi0jOiBnaXQtcmViYXNlLnNoOjUyNQorIzogZ2l0LXJlYmFzZS5zaDo1MjQKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaDogJGJyYW5jaF9uYW1lIgogbXNnc3RyICLkuKXph43plJnor6/vvJrml6DmraTliIbmlK/vvJokYnJhbmNoX25hbWUiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTU4CisjOiBnaXQtcmViYXNlLnNoOjU1NwogbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCiBtc2dzdHIgIuaXoOazlSBhdXRvc3Rhc2giCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTYzCisjOiBnaXQtcmViYXNlLnNoOjU2MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiBtc2dzdHIgIuWIm+W7uuS6hiBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NTY3CisjOiBnaXQtcmViYXNlLnNoOjU2NgogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIuivt+aPkOS6pOaIluS4uuWug+S7rOS/neWtmOi/m+W6puOAgiIKIAotIzogZ2l0LXJlYmFzZS5zaDo1ODcKKyM6IGdpdC1yZWJhc2Uuc2g6NTg2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIuW9k+WJjeWIhuaUryAkYnJhbmNoX25hbWUg5piv5pyA5paw55qE44CCIgogCi0jOiBnaXQtcmViYXNlLnNoOjU5MQorIzogZ2l0LXJlYmFzZS5zaDo1OTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAi5b2T5YmN5YiG5pSvICRicmFuY2hfbmFtZSDmmK/mnIDmlrDnmoTvvIzlvLrliLblj5jln7rjgIIiCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjAyCisjOiBnaXQtcmViYXNlLnNoOjYwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCiBtc2dzdHIgIuWPmOabtOS7jiAkbWIg5YiwICRvbnRv77yaIgogCi0jOiBnaXQtcmViYXNlLnNoOjYxMQorIzogZ2l0LXJlYmFzZS5zaDo2MTAKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCiBtc2dzdHIgIummluWFiO+8jOWbnumAgOWIhuaUr+S7peS+v+WcqOS4iumdoumHjeaUvuaCqOeahOW3peS9nC4uLiIKIAotIzogZ2l0LXJlYmFzZS5zaDo2MjEKKyM6IGdpdC1yZWJhc2Uuc2g6NjIwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRlZCAkYnJhbmNoX25hbWUgdG8gJG9udG9fbmFtZS4iCiBtc2dzdHIgIuW/q+i/myAkYnJhbmNoX25hbWUg6IezICRvbnRvX25hbWXjgIIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MQorIzogZ2l0LXN0YXNoLnNoOjUwCiBtc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIHdpdGggcGFyYW1ldGVycyBpcyB1bmltcGxlbWVudGVkIgogbXNnc3RyICJnaXQgc3Rhc2ggY2xlYXIg5LiN5pSv5oyB5Y+C5pWwIgogCi0jOiBnaXQtc3Rhc2guc2g6NzQKKyM6IGdpdC1zdGFzaC5zaDo3MwogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgogbXNnc3RyICLmgqjlsJrmnKrlu7rnq4vliJ3lp4vmj5DkuqQiCiAKLSM6IGdpdC1zdGFzaC5zaDo4OQorIzogZ2l0LXN0YXNoLnNoOjg4CiBtc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCiBtc2dzdHIgIuaXoOazleS/neWtmOW9k+WJjee0ouW8leeKtuaAgSIKIAotIzogZ2l0LXN0YXNoLnNoOjEyNCBnaXQtc3Rhc2guc2g6MTM3CisjOiBnaXQtc3Rhc2guc2g6MTAzCittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAi5peg5rOV5L+d5a2Y5pyq6Lef6Liq5paH5Lu2IgorCisjOiBnaXQtc3Rhc2guc2g6MTIzIGdpdC1zdGFzaC5zaDoxMzYKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCB3b3JrdHJlZSBzdGF0ZSIKIG1zZ3N0ciAi5peg5rOV5L+d5a2Y5b2T5YmN5bel5L2c5Yy654q25oCBIgogCi0jOiBnaXQtc3Rhc2guc2g6MTQxCisjOiBnaXQtc3Rhc2guc2g6MTQwCiBtc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKIG1zZ3N0ciAi5rKh5pyJ6YCJ5oup5Y+Y5pu0IgogCi0jOiBnaXQtc3Rhc2guc2g6MTQ0CisjOiBnaXQtc3Rhc2guc2g6MTQzCiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgaW5kZXggKGNhbid0IGhhcHBlbikiCiBtc2dzdHIgIuaXoOazleWIoOmZpOS4tOaXtue0ouW8le+8iOS4jeW6lOWPkeeUn++8iSIKIAotIzogZ2l0LXN0YXNoLnNoOjE1NworIzogZ2l0LXN0YXNoLnNoOjE1NgogbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgogbXNnc3RyICLkuI3og73orrDlvZXlt6XkvZzljLrnirbmgIEiCiAKLSM6IGdpdC1zdGFzaC5zaDoxODkKKyM6IGdpdC1zdGFzaC5zaDoxODgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgJHJlZl9zdGFzaCB3aXRoICR3X2NvbW1pdCIKIG1zZ3N0ciAi5peg5rOV55SoICR3X2NvbW1pdCDmm7TmlrAgJHJlZl9zdGFzaCIKQEAgLTEyMjU2LDcgKzEzNjM4LDcgQEAKICMuICQgZ2l0IHN0YXNoIHNhdmUgLS1ibGFoLWJsYWggMj4mMSB8IGhlYWQgLW4gMgogIy4gZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6IC0tYmxhaC1ibGFoCiAjLiBUbyBwcm92aWRlIGEgbWVzc2FnZSwgdXNlIGdpdCBzdGFzaCBzYXZlIC0tICctLWJsYWgtYmxhaCcKLSM6IGdpdC1zdGFzaC5zaDoyMzkKKyM6IGdpdC1zdGFzaC5zaDoyMzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogJG9wdGlvblxuIgpAQCAtMTIyNjUsMTA4ICsxMzY0NywxMjUgQEAKICLplJnor6/vvJonc3Rhc2ggc2F2ZScg55qE5pyq55+l6YCJ6aG577yaJG9wdGlvblxuIgogIiAgICAgIOimgeaPkOS+m+S4gOS4quaPj+i/sOS/oeaBr++8jOS9v+eUqCBnaXQgc3Rhc2ggc2F2ZSAtLSAnJG9wdGlvbiciCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjAKKyM6IGdpdC1zdGFzaC5zaDoyNTEKK21zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgorbXNnc3RyICLkuI3og73lkIzml7bkvb/nlKjlj4LmlbAgLS1wYXRjaCDlkowgLS1pbmNsdWRlLXVudHJhY2tlZCDmiJYgLS1hbGwiCisKKyM6IGdpdC1zdGFzaC5zaDoyNTkKIG1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCiBtc2dzdHIgIuayoeacieimgeS/neWtmOeahOacrOWcsOS/ruaUuSIKIAotIzogZ2l0LXN0YXNoLnNoOjI2NAorIzogZ2l0LXN0YXNoLnNoOjI2MwogbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgogbXNnc3RyICLml6Dms5XliJ3lp4vljJYgc3Rhc2giCiAKLSM6IGdpdC1zdGFzaC5zaDoyNjgKKyM6IGdpdC1zdGFzaC5zaDoyNjcKIG1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCiBtc2dzdHIgIuaXoOazleS/neWtmOW9k+WJjeeKtuaAgSIKIAotIzogZ2l0LXN0YXNoLnNoOjI4NgorIzogZ2l0LXN0YXNoLnNoOjI2OAorIywgc2gtZm9ybWF0Cittc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCittc2dzdHIgIuS/neWtmOW3peS9nOebruW9leWSjOe0ouW8leeKtuaAgSAkc3Rhc2hfbXNnIgorCisjOiBnaXQtc3Rhc2guc2g6Mjg1CiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICLml6Dms5XliKDpmaTlt6XkvZzljLrlj5jmm7QiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MDUKKyM6IGdpdC1zdGFzaC5zaDo0MDMKICMsIHNoLWZvcm1hdAogbXNnaWQgInVua25vd24gb3B0aW9uOiAkb3B0IgogbXNnc3RyICLmnKrnn6XpgInpobk6ICRvcHQiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MTUKKyM6IGdpdC1zdGFzaC5zaDo0MTYKIG1zZ2lkICJObyBzdGFzaCBmb3VuZC4iCiBtc2dzdHIgIuacquWPkeeOsCBzdGFzaOOAgiIKIAotIzogZ2l0LXN0YXNoLnNoOjQyMgorIzogZ2l0LXN0YXNoLnNoOjQyMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDogJFJFViIKIG1zZ3N0ciAi5oyH5a6a5LqG5aSq5aSa55qE54mI5pys77yaJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjQyOAorIzogZ2l0LXN0YXNoLnNoOjQzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiCiBtc2dzdHIgIiRyZWZlcmVuY2Ug5LiN5piv5LiA5Liq5pyJ5pWI55qE5byV55SoIgogCi0jOiBnaXQtc3Rhc2guc2g6NDU2CisjOiBnaXQtc3Rhc2guc2g6NDY2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgogbXNnc3RyICInJGFyZ3MnIOS4jeaYryBzdGFzaCDmoLfmj5DkuqQiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NjcKKyM6IGdpdC1zdGFzaC5zaDo0NzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgogbXNnc3RyICInJGFyZ3MnIOS4jeaYr+S4gOS4qiBzdGFzaCDlvJXnlKgiCiAKLSM6IGdpdC1zdGFzaC5zaDo0NzUKKyM6IGdpdC1zdGFzaC5zaDo0ODUKIG1zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAi5peg5rOV5Yi35paw57Si5byVIgogCi0jOiBnaXQtc3Rhc2guc2g6NDc5CisjOiBnaXQtc3Rhc2guc2g6NDg5CiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICLml6Dms5XlnKjlkIjlubbov4fnqIvkuK3mgaLlpI3ov5vluqYiCiAKLSM6IGdpdC1zdGFzaC5zaDo0ODcKKyM6IGdpdC1zdGFzaC5zaDo0OTcKIG1zZ2lkICJDb25mbGljdHMgaW4gaW5kZXguIFRyeSB3aXRob3V0IC0taW5kZXguIgogbXNnc3RyICLntKLlvJXkuK3mnInlhrLnqoHjgILlsJ3or5XkuI3kvb/nlKggLS1pbmRleOOAgiIKIAotIzogZ2l0LXN0YXNoLnNoOjQ4OQorIzogZ2l0LXN0YXNoLnNoOjQ5OQogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgIuS4jeiDveS/neWtmOe0ouW8leagkSIKIAotIzogZ2l0LXN0YXNoLnNoOjUyMworIzogZ2l0LXN0YXNoLnNoOjUwOAorbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIgorbXNnc3RyICLml6Dms5Xku47ov5vluqbkv53lrZjkuK3mgaLlpI3mnKrot5/ouKrmlofku7YiCisKKyM6IGdpdC1zdGFzaC5zaDo1MzMKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKIG1zZ3N0ciAi5peg5rOV5bCG5L+u5pS555qE5paH5Lu25Y+W5raI5pqC5a2YIgogCi0jOiBnaXQtc3Rhc2guc2g6NTM4CisjOiBnaXQtc3Rhc2guc2g6NTQ4CiBtc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgogbXNnc3RyICLntKLlvJXnmoTov5vluqbmsqHmnInooqvmgaLlpI3jgIIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NjEKKyM6IGdpdC1zdGFzaC5zaDo1NjIKK21zZ2lkICJUaGUgc3Rhc2ggaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKK21zZ3N0ciAi5pqC5a2Y6KKr5L+d55WZ5Lul5aSH5oKo5YaN5qyh6ZyA6KaB44CCIgorCisjOiBnaXQtc3Rhc2guc2g6NTcxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgogbXNnc3RyICLkuKLlvIPkuoYgJHtSRVZ9ICgkcykiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NjIKKyM6IGdpdC1zdGFzaC5zaDo1NzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiR7UkVWfe+8muS4jeiDveS4ouW8g+i/m+W6puadoeebriIKIAotIzogZ2l0LXN0YXNoLnNoOjU3MAorIzogZ2l0LXN0YXNoLnNoOjU4MAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKIG1zZ3N0ciAi5pyq5oyH5a6a5YiG5pSv5ZCNIgogCi0jOiBnaXQtc3Rhc2guc2g6NjQyCisjOiBnaXQtc3Rhc2guc2g6NjUyCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICLvvIjkuLrmgaLlpI3mlbDmja7ovpPlhaUgXCJnaXQgc3Rhc2ggYXBwbHlcIu+8iSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTg0CiBtc2dpZCAiUmVsYXRpdmUgcGF0aCBjYW4gb25seSBiZSB1c2VkIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIuWPquiDveWcqOW3peS9nOWMuueahOmhtue6p+ebruW9leS4reS9v+eUqOebuOWvuei3r+W+hCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMjkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTk0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJyZXBvIFVSTDogJyRyZXBvJyBtdXN0IGJlIGFic29sdXRlIG9yIGJlZ2luIHdpdGggLi98Li4vIgogbXNnc3RyICLku5PlupMgVVJM77yaJyRyZXBvJyDlv4XpobvmmK/nu53lr7not6/lvoTmiJbku6UgLi98Li4vIOi1t+WniyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjExCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAiJyRzbV9wYXRoJyDlt7Lnu4/lrZjlnKjkuo7ntKLlvJXkuK0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjUwCisjOiBnaXQtc3VibW9kdWxlLnNoOjIxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgcGF0aCBpcyBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCkBAIC0xMjM3NywyMTUgKzEzNzc2LDIyMCBAQAogIiRzbV9wYXRoXG4iCiAi5aaC5p6c5oKo56Gu5a6e5oOz5re75Yqg5a6D77yM5L2/55SoIC1mIOWPguaVsOOAgiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjMzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgZXhpc3RpbmcgcmVwbyBhdCAnJHNtX3BhdGgnIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAi5re75Yqg5L2N5LqOICckc21fcGF0aCcg55qE546w5a2Y5LuT5bqT5Yiw57Si5byVIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3MAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzUKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhIHZhbGlkIGdpdCByZXBvIgogbXNnc3RyICInJHNtX3BhdGgnIOW3suWtmOWcqOS4lOS4jeaYr+S4gOS4quacieaViOeahCBnaXQg5LuT5bqTIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKIG1zZ3N0ciAi5pys5Zyw5Y+R546wICckc21fbmFtZScg55qE5LiA5LiqIGdpdCDnm67lvZXvvIzkuI7lhbblr7nlupTnmoTov5znqIvku5PlupPvvJoiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjI0NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgotIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbSIKLW1zZ3N0ciAi5aaC5p6c5oKo5oOz6YeN55So5q2k5pys5ZywIGdpdCDnm67lvZXogIzkuI3mmK/ph43mlrDlhYvpmoboh6oiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjgyCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0idXNlIHRoZSAnLS1mb3JjZScgb3B0aW9uLiBJZiB0aGUgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpcyBub3QgdGhlIGNvcnJlY3QgcmVwbyIKLW1zZ3N0ciAi5L2/55SoICctLWZvcmNlJyDlj4LmlbDjgILlpoLmnpzmnKzlnLAgZ2l0IOebruW9leS4jeaYr+ato+ehrueahOS7k+W6kyIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKKyJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb21cbiIKKyIgICRyZWFscmVwb1xuIgorInVzZSB0aGUgJy0tZm9yY2UnIG9wdGlvbi4gSWYgdGhlIGxvY2FsIGdpdCBkaXJlY3RvcnkgaXMgbm90IHRoZSBjb3JyZWN0ICIKKyJyZXBvXG4iCiAib3IgeW91IGFyZSB1bnN1cmUgd2hhdCB0aGlzIG1lYW5zIGNob29zZSBhbm90aGVyIG5hbWUgd2l0aCB0aGUgJy0tbmFtZScgIgogIm9wdGlvbi4iCi1tc2dzdHIgIuaIluiAheaCqOS4jeehruWumuWFtuS4reWQq+S5ieS9v+eUqCAnLS1uYW1lJyDlj4LmlbDpgInmi6nlj6blpJbkuIDkuKrlkI3np7DjgIIiCittc2dzdHIgIiIKKyLlpoLmnpzmgqjmg7PopoHph43nlKjov5nkuKrmnKzlnLAgZ2l0IOebruW9leiAjOmdnumHjeaWsOWFi+mahuiHqlxuIgorIiAgJHJlYWxyZXBvXG4iCisi5L2/55SoICctLWZvcmNlJyDpgInpobnjgILlpoLmnpzmnKzlnLAgZ2l0IOebruW9leS4jeaYr+ato+ehrueahOS7k+W6k1xuIgorIuaIluiAheaCqOS4jeehruWumui/memHjOeahOWQq+S5ie+8jOS9v+eUqCAnLS1uYW1lJyDpgInpobnpgInmi6nlj6blpJbnmoTlkI3np7DjgIIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mjg1CisjOiBnaXQtc3VibW9kdWxlLnNoOjI1MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnJHNtX25hbWUnLiIKIG1zZ3N0ciAi5r+A5rS75pys5ZywIGdpdCDnm67lvZXliLDlrZDmqKHnu4QgJyRzbV9uYW1lJ+OAgiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyOTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjYzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIuS4jeiDveajgOWHuuWtkOaooee7hCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIuaXoOazlea3u+WKoOWtkOaooee7hCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMxMQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAi5peg5rOV5rOo5YaM5a2Q5qih57uEICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzU1CisjOiBnaXQtc3VibW9kdWxlLnNoOjMyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRW50ZXJpbmcgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuato+WcqOi/m+WFpSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozNzUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzQ0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGluZyBhdCAnJGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCiBtc2dzdHIgIuWBnOatouS6jiAnJGRpc3BsYXlwYXRoJ++8m+iEmuacrOi/lOWbnumdnumbtuWAvOOAgiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NDgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDE1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyBhbmQgLS1hbGwgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAicGF0aHNwZWMg5ZKMIC0tYWxsIOS4jeWFvOWuuSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDIwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICLlpoLmnpzmgqjnoa7lrp7mg7PopoHlr7nmiYDmnInlrZDmqKHnu4TmiafooYzlj5bmtojliJ3lp4vljJbvvIzor7fkvb/nlKggJy0tYWxsJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSIKLW1zZ3N0ciAi5a2Q5qih57uE5bel5L2c5Yy6ICckZGlzcGxheXBhdGgnIOWMheWQq+S4gOS4qiAuZ2l0IOebruW9lSIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NzEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDQwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCisiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5XG4iCiAiKHVzZSAncm0gLXJmJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzIGhpc3RvcnkpIgotbXNnc3RyICLvvIjkvb/nlKggJ3JtIC1yZicg5ZG95Luk5aaC5p6c5oKo55yf55qE5oOz5Yig6Zmk5a6D5Y+K5YW25YWo6YOo5Y6G5Y+y77yJIgorbXNnc3RyICIiCisi5a2Q5qih57uE5bel5L2c5Yy6ICckZGlzcGxheXBhdGgnIOWMheWQq+S4gOS4qiAuZ2l0IOebruW9lVxuIgorIu+8iOWmguaenOaCqOecn+eahOaDs+WIoOmZpOWug+WPiuWFtuWFqOmDqOWOhuWPsu+8jOS9v+eUqCAncm0gLXJmJyDlkb3ku6TvvIkiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NDc3CisjOiBnaXQtc3VibW9kdWxlLnNoOjQ0OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyRkaXNwbGF5cGF0aCcgY29udGFpbnMgbG9jYWwgbW9kaWZpY2F0aW9uczsgdXNlICctZicgdG8gIgogImRpc2NhcmQgdGhlbSIKIG1zZ3N0ciAi5a2Q5qih57uE5bel5L2c5Yy6ICckZGlzcGxheXBhdGgnIOWMheWQq+acrOWcsOS/ruaUue+8m+S9v+eUqCAnLWYnIOS4ouW8g+Wug+S7rCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0ODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NDUxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5bey5riF6Zmk55uu5b2VICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ4MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5peg5rOV56e76Zmk5a2Q5qih57uE5bel5L2c5Yy6ICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ4NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu656m655qE5a2Q5qih57uE55uu5b2VICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQ5MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo0NjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuWtkOaooee7hCAnJG5hbWUnICgkdXJsKSDmnKrlr7not6/lvoQgJyRkaXNwbGF5cGF0aCcg5rOo5YaMIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYzNQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuaXoOazleWcqOWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJyDkuK3mib7liLDlvZPliY3niYjmnKwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjQ0CisjOiBnaXQtc3VibW9kdWxlLnNoOjYyNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIuaXoOazleWcqOWtkOaooee7hOi3r+W+hCAnJHNtX3BhdGgnIOS4reiOt+WPliIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjMyCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgorIickc21fcGF0aCciCittc2dzdHIgIuaXoOazleWcqOWtkOaooee7hOi3r+W+hCAnJHNtX3BhdGgnIOS4reaJvuWIsOW9k+WJjeeJiOacrCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0iCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjUwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuaXoOazleWcqOWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJyDkuK3ojrflj5YiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgwCisjOiBnaXQtc3VibW9kdWxlLnNoOjY1NgorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIkZldGNoZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcsIGJ1dCBpdCBkaWQgbm90IGNvbnRhaW4gJHNoYTEuICIKKyJEaXJlY3QgZmV0Y2hpbmcgb2YgdGhhdCBjb21taXQgZmFpbGVkLiIKK21zZ3N0ciAiIgorIuiOt+WPluS6huWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJ++8jOS9huaYr+Wug+ayoeacieWMheWQqyAkc2hhMeOAguebtOaOpeiOt+WPluivpeaPkOS6pOWksei0peOAgiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLml6Dms5XlnKjlrZDmqKHnu4Tot6/lvoQgJyRkaXNwbGF5cGF0aCcg5Lit5qOA5Ye6ICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjgxCisjOiBnaXQtc3VibW9kdWxlLnNoOjY2NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgIuWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJ++8muajgOWHuiAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5peg5rOV5Zyo5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgnIOS4reWPmOWfuiAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY4NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKIG1zZ3N0ciAi5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgn77ya5Y+Y5Z+66IezICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjkxCisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuaXoOazleWQiOW5tiAnJHNoYTEnIOWIsOWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJyDkuK0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjkyCisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgogbXNnc3RyICLlrZDmqKHnu4Tot6/lvoQgJyRkaXNwbGF5cGF0aCfvvJrlt7LlkIjlubblhaUgJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2OTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjgwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuWcqOWtkOaooee7hCAnJGRpc3BsYXlwYXRoJyDkuK3miafooYwgJyRjb21tYW5kICRzaGExJyDlpLHotKUiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Njk4CisjOiBnaXQtc3VibW9kdWxlLnNoOjY4MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiBtc2dzdHIgIuWtkOaooee7hCAnJGRpc3BsYXlwYXRoJ++8mickY29tbWFuZCAkc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzI5CisjOiBnaXQtc3VibW9kdWxlLnNoOjcxMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5peg5rOV6YCS5b2S6L+b5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgzNworIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MjAKIG1zZ2lkICJUaGUgLS1jYWNoZWQgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhlIC0tZmlsZXMgb3B0aW9uIgogbXNnc3RyICLpgInpobkgLS1jYWNoZWQg5LiN6IO95ZKM6YCJ6aG5IC0tZmlsZXMg5ZCM5pe25L2/55SoIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg4OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4NzIKICMsIHNoLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKIG1zZ3N0ciAi5oSP5aSW55qE5qih5byPICRtb2RfZHN0IgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTA5CisjOiBnaXQtc3VibW9kdWxlLnNoOjg5MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgogbXNnc3RyICIgIOitpuWRiu+8miRkaXNwbGF5X25hbWUg5pyq5YyF5ZCr5o+Q5LqkICRzaGExX3NyYyIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiBnaXQtc3VibW9kdWxlLnNoOjkxMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiICDorablkYrvvJokZGlzcGxheV9uYW1lIOacquWMheWQq+aPkOS6pCAkc2hhMV9kc3QiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MTUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODk4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAg6K2m5ZGK77yaJGRpc3BsYXlfbmFtZSDmnKrljIXlkKvmj5DkuqQgJHNoYTFfc3JjIOWSjCAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTQwCi1tc2dpZCAiYmxvYiIKLW1zZ3N0ciAi5pWw5o2u5a+56LGhIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwNTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTA0NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICLml6Dms5XpgJLlvZLov5vlrZDmqKHnu4Tot6/lvoQgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxMTIzCisjOiBnaXQtc3VibW9kdWxlLnNoOjExMTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCBmb3IgJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuS4uiAnJGRpc3BsYXlwYXRoJyDlkIzmraXlrZDmqKHnu4QgdXJsIgpAQCAtMTI1OTQsMyArMTM5OTgsNDkzIEBACiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTZWUgZ2l0LSR7Y21kfSgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIuivpuingSBnaXQtJHtjbWR9KDEp44CCIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMzEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlJlYmFzaW5nICgkbmV3X2NvdW50LyR0b3RhbCkiCittc2dzdHIgIuWPmOWfuuS4re+8iCRuZXdfY291bnQvJHRvdGFs77yJIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxNDcKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCisiIHAsIHBpY2sgPSB1c2UgY29tbWl0XG4iCisiIHIsIHJld29yZCA9IHVzZSBjb21taXQsIGJ1dCBlZGl0IHRoZSBjb21taXQgbWVzc2FnZVxuIgorIiBlLCBlZGl0ID0gdXNlIGNvbW1pdCwgYnV0IHN0b3AgZm9yIGFtZW5kaW5nXG4iCisiIHMsIHNxdWFzaCA9IHVzZSBjb21taXQsIGJ1dCBtZWxkIGludG8gcHJldmlvdXMgY29tbWl0XG4iCisiIGYsIGZpeHVwID0gbGlrZSBcInNxdWFzaFwiLCBidXQgZGlzY2FyZCB0aGlzIGNvbW1pdCdzIGxvZyBtZXNzYWdlXG4iCisiIHgsIGV4ZWMgPSBydW4gY29tbWFuZCAodGhlIHJlc3Qgb2YgdGhlIGxpbmUpIHVzaW5nIHNoZWxsXG4iCisiIGQsIGRyb3AgPSByZW1vdmUgY29tbWl0XG4iCisiXG4iCisiVGhlc2UgbGluZXMgY2FuIGJlIHJlLW9yZGVyZWQ7IHRoZXkgYXJlIGV4ZWN1dGVkIGZyb20gdG9wIHRvIGJvdHRvbS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIuWRveS7pDpcbiIKKyIgcCwgcGljayA9IOS9v+eUqOaPkOS6pFxuIgorIiByLCByZXdvcmQgPSDkvb/nlKjmj5DkuqTvvIzkvYbkv67mlLnmj5DkuqTor7TmmI5cbiIKKyIgZSwgZWRpdCA9IOS9v+eUqOaPkOS6pO+8jOS9huWBnOatouS7peS+v+i/m+ihjOaPkOS6pOS/ruihpVxuIgorIiBzLCBzcXVhc2ggPSDkvb/nlKjmj5DkuqTvvIzkvYblkozliY3kuIDkuKrniYjmnKzono3lkIhcbiIKKyIgZiwgZml4dXAgPSDnsbvkvLzkuo4gXCJzcXVhc2hcIu+8jOS9huS4ouW8g+aPkOS6pOivtOaYjuaXpeW/l1xuIgorIiB4LCBleGVjID0g5L2/55SoIHNoZWxsIOi/kOihjOWRveS7pO+8iOatpOihjOWJqeS9memDqOWIhu+8iVxuIgorIiBkLCBkcm9wID0g5Yig6Zmk5o+Q5LqkXG4iCisiXG4iCisi6L+Z5Lqb6KGM5Y+v5Lul6KKr6YeN5paw5o6S5bqP77yb5a6D5Lus5Lya6KKr5LuO5LiK6Iez5LiL5Zyw5omn6KGM44CCXG4iCisiXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE2MgorbXNnaWQgIiIKKyJcbiIKKyJEbyBub3QgcmVtb3ZlIGFueSBsaW5lLiBVc2UgJ2Ryb3AnIGV4cGxpY2l0bHkgdG8gcmVtb3ZlIGEgY29tbWl0LlxuIgorbXNnc3RyICIiCisiXG4iCisi5LiN6KaB5Yig6Zmk5Lu75oSP5LiA6KGM44CC5L2/55SoICdkcm9wJyDmmL7lvI/lnLDliKDpmaTkuIDkuKrmj5DkuqTjgIJcbiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTY2Cittc2dpZCAiIgorIlxuIgorIklmIHlvdSByZW1vdmUgYSBsaW5lIGhlcmUgVEhBVCBDT01NSVQgV0lMTCBCRSBMT1NULlxuIgorbXNnc3RyICIiCisiXG4iCisi5aaC5p6c5oKo5Zyo6L+Z6YeM5Yig6Zmk5LiA6KGM77yM5a+55bqU55qE5o+Q5Lqk5bCG5Lya5Lii5aSx44CCXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjIwMgorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIllvdSBjYW4gYW1lbmQgdGhlIGNvbW1pdCBub3csIHdpdGhcbiIKKyJcbiIKKyJcdGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIk9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMsIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisi5oKo546w5Zyo5Y+v5Lul5L+u6KGl6L+Z5Liq5o+Q5Lqk77yM5L2/55SoXG4iCisiXG4iCisiXHRnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyLlvZPmgqjlr7nlj5jmm7TmhJ/liLDmu6HmhI/vvIzmiafooYxcbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MjI3CisjLCBzaC1mb3JtYXQKK21zZ2lkICIkc2hhMTogbm90IGEgY29tbWl0IHRoYXQgY2FuIGJlIHBpY2tlZCIKK21zZ3N0ciAiJHNoYTHvvJrkuI3mmK/kuIDkuKrlj6/ku6Xooqvmi6PpgInnmoTmj5DkuqQiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjI2NgorIywgc2gtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjb21taXQgbmFtZTogJHNoYTEiCittc2dzdHIgIuaXoOaViOeahOaPkOS6pOWQje+8miRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozMDgKK21zZ2lkICJDYW5ub3Qgd3JpdGUgY3VycmVudCBjb21taXQncyByZXBsYWNlbWVudCBzaGExIgorbXNnc3RyICLkuI3og73lhpnlhaXlvZPliY3mj5DkuqTnmoTmm7/ku6Mgc2hhMSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MzYwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJGYXN0LWZvcndhcmQgdG8gJHNoYTEiCittc2dzdHIgIuW/q+i/m+WIsCAkc2hhMSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MzYyCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZmFzdC1mb3J3YXJkIHRvICRzaGExIgorbXNnc3RyICLkuI3og73lv6vov5vliLAgJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjM3MQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG1vdmUgSEVBRCB0byAkZmlyc3RfcGFyZW50IgorbXNnc3RyICLkuI3og73np7vliqggSEVBRCDliLAgJGZpcnN0X3BhcmVudCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6Mzc2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byBzcXVhc2ggYSBtZXJnZTogJHNoYTEiCittc2dzdHIgIuaLkue7neWOi+e8qeS4gOS4quWQiOW5tu+8miRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDozOTAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkVycm9yIHJlZG9pbmcgbWVyZ2UgJHNoYTEiCittc2dzdHIgIuaXoOazlemHjeWBmuWQiOW5tiAkc2hhMSIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6Mzk4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcGljayAkc2hhMSIKK21zZ3N0ciAi5LiN6IO95ouj6YCJICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MDcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgdGhlIGNvbW1pdCBtZXNzYWdlICMke259OiIKK21zZ3N0ciAi6L+Z5piv5o+Q5Lqk6K+05piOICMke25977yaIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MTIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJHtufSB3aWxsIGJlIHNraXBwZWQ6IgorbXNnc3RyICLmj5DkuqTor7TmmI4gIyR7bn0g5bCG6KKr6Lez6L+H77yaIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MjMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0LiIKK21zZ2lkX3BsdXJhbCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXRzLiIKK21zZ3N0clswXSAi6L+Z5piv5LiA5LiqICRjb3VudCDkuKrmj5DkuqTnmoTnu4TlkIjjgIIiCittc2dzdHJbMV0gIui/meaYr+S4gOS4qiAkY291bnQg5Liq5o+Q5Lqk55qE57uE5ZCI44CCIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0MzEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSAkZml4dXBfbXNnIgorbXNnc3RyICLkuI3og73lhpnlhaUgJGZpeHVwX21zZyIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDM0Cittc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIDIgY29tbWl0cy4iCittc2dzdHIgIui/meaYr+S4gOS4qiAyIOS4quaPkOS6pOeahOe7hOWQiOOAgiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NDM1Cittc2dpZCAiVGhpcyBpcyB0aGUgMXN0IGNvbW1pdCBtZXNzYWdlOiIKK21zZ3N0ciAi6L+Z5piv56ys5LiA5Liq5o+Q5Lqk6K+05piO77yaIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo0NzUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NTE4CisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1MjEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAkc2hhMS4uLiAkcmVzdCIKK21zZ3N0ciAi5LiN6IO95bqU55SoICRzaGExLi4uICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo1NDkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJDb3VsZCBub3QgYW1lbmQgY29tbWl0IGFmdGVyIHN1Y2Nlc3NmdWxseSBwaWNraW5nICRzaGExLi4uICRyZXN0XG4iCisiVGhpcyBpcyBtb3N0IGxpa2VseSBkdWUgdG8gYW4gZW1wdHkgY29tbWl0IG1lc3NhZ2UsIG9yIHRoZSBwcmUtY29tbWl0IGhvb2tcbiIKKyJmYWlsZWQuIElmIHRoZSBwcmUtY29tbWl0IGhvb2sgZmFpbGVkLCB5b3UgbWF5IG5lZWQgdG8gcmVzb2x2ZSB0aGUgaXNzdWUgIgorImJlZm9yZVxuIgorInlvdSBhcmUgYWJsZSB0byByZXdvcmQgdGhlIGNvbW1pdC4iCittc2dzdHIgIiIKKyLkuI3og73lnKjmiJDlip/mi6PpgIkgJHNoYTEuLi4gJHJlc3Qg5LmL5ZCO5L+u6KGl5o+Q5LqkXG4iCisi6L+Z6YCa5bi45piv5Zug5Li656m655qE5o+Q5Lqk6K+05piO77yM5oiW6ICFIHByZS1jb21taXQg6ZKp5a2Q5omn6KGM5aSx6LSl44CC5aaC5p6c5pivIHByZS1jb21taXRcbiIKKyLpkqnlrZDmiafooYzlpLHotKXvvIzkvaDlj6/og73pnIDopoHlnKjph43lhpnmj5DkuqTor7TmmI7liY3op6PlhrPov5nkuKrpl67popjjgIIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjU2NAorIywgc2gtZm9ybWF0Cittc2dpZCAiU3RvcHBlZCBhdCAkc2hhMV9hYmJyZXYuLi4gJHJlc3QiCittc2dzdHIgIuWBnOatouWcqCAkc2hhMV9hYmJyZXYuLi4gJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjU3OQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90ICckc3F1YXNoX3N0eWxlJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgorbXNnc3RyICLmsqHmnInniLbmj5DkuqTnmoTmg4XlhrXkuIvkuI3og70gJyRzcXVhc2hfc3R5bGUnIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2MjEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGluZzogJHJlc3QiCittc2dzdHIgIuaJp+ihjO+8miRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2MjkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGlvbiBmYWlsZWQ6ICRyZXN0IgorbXNnc3RyICLmiafooYzlpLHotKXvvJokcmVzdCIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjMxCittc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIuW5tuS4lOS/ruaUuee0ouW8leWSjC/miJblt6XkvZzljLoiCisKKyMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjMzCittc2dpZCAiIgorIllvdSBjYW4gZml4IHRoZSBwcm9ibGVtLCBhbmQgdGhlbiBydW5cbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKK21zZ3N0ciAiIgorIuaCqOWPr+S7peino+WGs+i/meS4qumXrumimO+8jOeEtuWQjui/kOihjFxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjLiBUUkFOU0xBVE9SUzogYWZ0ZXIgdGhlc2UgbGluZXMgaXMgYSBjb21tYW5kIHRvIGJlIGlzc3VlZCBieSB0aGUgdXNlcgorIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjQ2CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiRXhlY3V0aW9uIHN1Y2NlZWRlZDogJHJlc3RcbiIKKyJidXQgbGVmdCBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgorIkNvbW1pdCBvciBzdGFzaCB5b3VyIGNoYW5nZXMsIGFuZCB0aGVuIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisi5omn6KGM5oiQ5Yqf77yaJHJlc3RcbiIKKyLkvYbmmK/lnKjntKLlvJXlkowv5oiW5bel5L2c5Yy65Lit5a2Y5Zyo5Y+Y5pu044CC5o+Q5Lqk5oiW5pqC5a2Y5L+u5pS577yM54S25ZCO6L+Q6KGMXG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY1NworIywgc2gtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKK21zZ3N0ciAi5pyq55+l5ZG95Luk77yaJGNvbW1hbmQgJHNoYTEgJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjY1OAorbXNnaWQgIlBsZWFzZSBmaXggdGhpcyB1c2luZyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgorbXNnc3RyICLopoHkv67mlLnor7fkvb/nlKjlkb3ku6QgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8n44CCIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2OTMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSByZWJhc2VkIGFuZCB1cGRhdGVkICRoZWFkX25hbWUuIgorbXNnc3RyICLmiJDlip/lj5jln7rlubbmm7TmlrAgJGhlYWRfbmFtZeOAgiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NzQwCittc2dpZCAiQ291bGQgbm90IHNraXAgdW5uZWNlc3NhcnkgcGljayBjb21tYW5kcyIKK21zZ3N0ciAi5LiN6IO96Lez6L+H5LiN5b+F6KaB55qE5ouj6YCJ5ZG95LukIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo4OTgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiB0aGUgU0hBLTEgaXMgbWlzc2luZyBvciBpc24ndCBhIGNvbW1pdCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCisiIC0gJGxpbmUiCittc2dzdHIgIiIKKyLorablkYrvvJrnvLrlpLEgU0hBLTEg5oiW6ICF5Zyo5LiL6Z2i5LiA6KGM5Lit5LiN5piv5LiA5Liq5o+Q5Lqk77yaXG4iCisiIC0gJGxpbmUiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjkzMQorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIldhcm5pbmc6IHRoZSBjb21tYW5kIGlzbid0IHJlY29nbml6ZWQgaW4gdGhlIGZvbGxvd2luZyBsaW5lOlxuIgorIiAtICRsaW5lIgorbXNnc3RyICIiCisi6K2m5ZGK77ya5LiL6Z2i5LiA6KGM5Lit55qE5ZG95Luk5pyq6IO96KKr6K+G5Yir77yaXG4iCisiIC0gJGxpbmUiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjk3MAorbXNnaWQgImNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKK21zZ3N0ciAi5LiN6IO95qOA5Ye65Li65YiG56a75aS05oyH6ZKIIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDA4Cittc2dpZCAiIgorIldhcm5pbmc6IHNvbWUgY29tbWl0cyBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgYWNjaWRlbnRhbGx5LlxuIgorIkRyb3BwZWQgY29tbWl0cyAobmV3ZXIgdG8gb2xkZXIpOiIKK21zZ3N0ciAi6K2m5ZGK77ya5LiA5Lqb5o+Q5Lqk5Y+v6IO96KKr5oSP5aSW5Lii5byD44CC5Lii5byD55qE5o+Q5Lqk77yI5LuO5paw5Yiw5pen77yJ77yaIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDE2Cittc2dpZCAiIgorIlRvIGF2b2lkIHRoaXMgbWVzc2FnZSwgdXNlIFwiZHJvcFwiIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIGEgY29tbWl0LlxuIgorIlxuIgorIlVzZSAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycgdG8gY2hhbmdlIHRoZSBsZXZlbCBvZiAiCisid2FybmluZ3MuXG4iCisiVGhlIHBvc3NpYmxlIGJlaGF2aW91cnMgYXJlOiBpZ25vcmUsIHdhcm4sIGVycm9yLiIKK21zZ3N0ciAiIgorIuS4uumBv+WFjei/meadoeS/oeaBr++8jOS9v+eUqCBcImRyb3BcIiDmjIfku6TmmL7lvI/lnLDliKDpmaTkuIDkuKrmj5DkuqTjgIJcbiIKKyJcbiIKKyLkvb/nlKggJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIOadpeS/ruaUueitpuWRiue6p+WIq+OAglxuIgorIuWPr+mAieWAvOacie+8mmlnbm9yZeOAgXdhcm7jgIFlcnJvcuOAgiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTAyNworIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIlVucmVjb2duaXplZCBzZXR0aW5nICRjaGVja19sZXZlbCBmb3Igb3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiAiCisiSWdub3JpbmcuIgorbXNnc3RyICLpgInpobkgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2sg55qE5YC8ICRjaGVja19sZXZlbCDml6Dms5Xooqvor4bliKvjgILlt7Llv73nlaXjgIIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNDQKK21zZ2lkICIiCisiWW91IGNhbiBmaXggdGhpcyB3aXRoICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS0iCisiY29udGludWUnLiIKK21zZ3N0ciAiIgorIuaCqOWPr+S7peeUqOWRveS7pCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycg5L+u5q2j54S25ZCO5omn6KGM5ZG95LukICdnaXQgcmViYXNlIC0tIgorImNvbnRpbnVlJ+OAgiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA0NQorbXNnaWQgIk9yIHlvdSBjYW4gYWJvcnQgdGhlIHJlYmFzZSB3aXRoICdnaXQgcmViYXNlIC0tYWJvcnQnLiIKK21zZ3N0ciAi5oiW6ICF5oKo5Y+v5Lul5L2/55SoICdnaXQgcmViYXNlIC0tYWJvcnQnIOWRveS7pOe7iOatouWPmOWfuuaTjeS9nOOAgiIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA2OQorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKK21zZ3N0ciAi5LiN6IO95Yig6ZmkIENIRVJSWV9QSUNLX0hFQUQiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwNzQKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKKyJJZiB0aGVzZSBjaGFuZ2VzIGFyZSBtZWFudCB0byBiZVxuIgorInNxdWFzaGVkIGludG8gdGhlIHByZXZpb3VzIGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiSWYgdGhleSBhcmUgbWVhbnQgdG8gZ28gaW50byBhIG5ldyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJJbiBib3RoIGNhc2VzLCBvbmNlIHlvdSdyZSBkb25lLCBjb250aW51ZSB3aXRoOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCittc2dzdHIgIiIKKyLmgqjlt7LmmoLlrZjkuoblt6XkvZzljLrnmoTkv67mlLnjgILlpoLmnpzov5nkupvkv67mlLnopoHljovnvKnliLDliY3kuIDkuKrmj5DkuqTvvIzmiafooYzvvJpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIuWmguaenOi/meS6m+WPmOabtOimgeW9ouaIkOS4gOS4quaWsOaPkOS6pO+8jOaJp+ihjO+8mlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIuaXoOiuuuWTquenjeaDheWGte+8jOW9k+aCqOWujOaIkOaPkOS6pO+8jOe7p+e7reaJp+ihjO+8mlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEwOTEKK21zZ2lkICJFcnJvciB0cnlpbmcgdG8gZmluZCB0aGUgYXV0aG9yIGlkZW50aXR5IHRvIGFtZW5kIGNvbW1pdCIKK21zZ3N0ciAi5Zyo5L+u6KGl5o+Q5Lqk5Lit5p+l5om+5L2c6ICF5L+h5oGv5pe26YGH5Yiw6ZSZ6K+vIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMDk2Cittc2dpZCAiIgorIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSBjb21taXQgdGhlbVxuIgorImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCittc2dzdHIgIiIKKyLmgqjnmoTlt6XkvZzljLrkuK3mnInmnKrmj5DkuqTnmoTlj5jmm7TjgILor7flhYjmj5DkuqTnhLblkI7lho3mrKHov5DooYwgJ2dpdCByZWJhc2UgLS1jb250aW51ZSfjgIIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMDEgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTEwNQorbXNnaWQgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICLkuI3og73mj5DkuqTmmoLlrZjnmoTkv67mlLnjgIIiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMjkKK21zZ2lkICIiCisiXG4iCisiWW91IGFyZSBlZGl0aW5nIHRoZSB0b2RvIGZpbGUgb2YgYW4gb25nb2luZyBpbnRlcmFjdGl2ZSByZWJhc2UuXG4iCisiVG8gY29udGludWUgcmViYXNlIGFmdGVyIGVkaXRpbmcsIHJ1bjpcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyLmgqjmraPlnKjkv67mlLnov5DooYzkuK3nmoTkuqTkupLlvI/lj5jln7rnmoQgdG9kbyDmlofku7bjgILoi6XopoHlnKjnvJbovpHnu5PmnZ/lkI7nu6fnu63lj5jln7rvvIxcbiIKKyLor7fmiafooYzvvJpcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisiXG4iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExMzcgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI5NQorbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKK21zZ3N0ciAi5peg5rOV6L+Q6KGM57yW6L6R5ZmoIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTUwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKK21zZ3N0ciAi5LiN6IO95qOA5Ye6ICRzd2l0Y2hfdG8iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNTUKK21zZ2lkICJObyBIRUFEPyIKK21zZ3N0ciAi5rKh5pyJIEhFQUTvvJ8iCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjExNTYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICRzdGF0ZV9kaXIiCittc2dzdHIgIuS4jeiDveWIm+W7uuS4tOaXtiAkc3RhdGVfZGlyIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTU4Cittc2dpZCAiQ291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCittc2dzdHIgIuS4jeiDveagh+iusOS4uuS6pOS6kuW8jyIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTE2OCBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMTczCittc2dpZCAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCittc2dzdHIgIuS4jeiDveWvuemHjeWGmeaPkOS6pOi/m+ihjOWIneWni+WMliIKKworIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTI3MworIywgc2gtZm9ybWF0Cittc2dpZCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZCkiCittc2dpZF9wbHVyYWwgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmRzKSIKK21zZ3N0clswXSAi5Y+Y5Z+6ICRzaG9ydHJldmlzaW9ucyDliLAgJHNob3J0b250b++8iCR0b2RvY291bnQg5Liq5o+Q5Lqk77yJIgorbXNnc3RyWzFdICLlj5jln7ogJHNob3J0cmV2aXNpb25zIOWIsCAkc2hvcnRvbnRv77yIJHRvZG9jb3VudCDkuKrmj5DkuqTvvIkiCisKKyM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjEyNzgKK21zZ2lkICIiCisiXG4iCisiSG93ZXZlciwgaWYgeW91IHJlbW92ZSBldmVyeXRoaW5nLCB0aGUgcmViYXNlIHdpbGwgYmUgYWJvcnRlZC5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIueEtuiAjO+8jOWmguaenOaCqOWIoOmZpOWFqOmDqOWGheWuue+8jOWPmOWfuuaTjeS9nOWwhuS8mue7iOatouOAglxuIgorIlxuIgorCisjOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxMjg1Cittc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCittc2dzdHIgIuazqOaEj+epuuaPkOS6pOW3suiiq+azqOmHiuaOiSIKKworIzogZ2l0LXNoLXNldHVwLnNoOjg5IGdpdC1zaC1zZXR1cC5zaDo5NAorIywgc2gtZm9ybWF0Cittc2dpZCAidXNhZ2U6ICRkYXNobGVzcyAkVVNBR0UiCittc2dzdHIgIueUqOazle+8miRkYXNobGVzcyAkVVNBR0UiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoxOTAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBjaGRpciB0byAkY2R1cCwgdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIuS4jeiDveWIh+aNouebruW9leWIsCAkY2R1cO+8jOW3peS9nOWMuueahOmhtue6p+ebruW9lSIKKworIzogZ2l0LXNoLXNldHVwLnNoOjE5OSBnaXQtc2gtc2V0dXAuc2g6MjA2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJmYXRhbDogJHByb2dyYW1fbmFtZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGEgd29ya2luZyB0cmVlLiIKK21zZ3N0ciAi5Lil6YeN6ZSZ6K+v77yaJHByb2dyYW1fbmFtZSDkuI3og73lnKjmsqHmnInlt6XkvZzljLrnmoTmg4XlhrXkuIvkvb/nlKgiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjAKK21zZ2lkICJDYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAi5LiN6IO95Y+Y5Z+677ya5oKo5pyJ5pyq5pqC5a2Y55qE5Y+Y5pu044CCIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjIzCittc2dpZCAiQ2Fubm90IHJld3JpdGUgYnJhbmNoZXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICLkuI3og73ph43lhpnliIbmlK/vvJrmgqjmnInmnKrmmoLlrZjnmoTlj5jmm7TjgIIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjYKK21zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIuaXoOazlemAmui/h+WPmOWfuuaWueW8j+aLieWPlu+8muaCqOacieacquaaguWtmOeahOWPmOabtOOAgiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyOQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICLkuI3og70gJGFjdGlvbu+8muaCqOacieacquaaguWtmOeahOWPmOabtOOAgiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0MgorbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIuS4jeiDveWPmOWfuu+8muaCqOeahOe0ouW8leS4reWMheWQq+acquaPkOS6pOeahOWPmOabtOOAgiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0NQorbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICLml6Dms5XpgJrov4flj5jln7rmlrnlvI/mi4nlj5bvvJrmgqjnmoTntKLlvJXkuK3ljIXlkKvmnKrmj5DkuqTnmoTlj5jmm7TjgIIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICLkuI3og70gJGFjdGlvbu+8muaCqOeahOe0ouW8leS4reWMheWQq+acquaPkOS6pOeahOWPmOabtOOAgiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI1MgorbXNnaWQgIkFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAi6ICM5LiU5oKo55qE57Si5byV5Lit5YyF5ZCr5pyq5o+Q5Lqk55qE5Y+Y5pu044CCIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MzcyCittc2dpZCAiWW91IG5lZWQgdG8gcnVuIHRoaXMgY29tbWFuZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlLiIKK21zZ3N0ciAi5oKo6ZyA6KaB5Zyo5bel5L2c5Yy655qE6aG257qn55uu5b2V5Lit6L+Q6KGM6L+Z5Liq5ZG95Luk44CCIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6Mzc3Cittc2dpZCAiVW5hYmxlIHRvIGRldGVybWluZSBhYnNvbHV0ZSBwYXRoIG9mIGdpdCBkaXJlY3RvcnkiCittc2dzdHIgIuS4jeiDveehruWumiBnaXQg55uu5b2V55qE57ud5a+56Lev5b6EIgorCisjfiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHRvICVzIgorI34gbXNnc3RyICLkuI3og73lhpnlhaUgJXMiCisKKyN+IG1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcy4iCisjfiBtc2dzdHIgIumUmeivr+aUtuWwviAlc+OAgiIKKworI34gbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVycnktcGljay4iCisjfiBtc2dzdHIgIuaCqOeahOacrOWcsOS/ruaUueWwhuiiq+aLo+mAieaTjeS9nOimhuebluOAgiIKKworI34gbXNnaWQgIkNhbm5vdCByZXZlcnQgZHVyaW5nIGFub3RoZXIgcmV2ZXJ0LiIKKyN+IG1zZ3N0ciAi5LiN6IO95Zyo5Zue6YCA5Lit5omn6KGM5Y+m5LiA5Zue6YCA44CCIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhbm90aGVyIGNoZXJyeS1waWNrLiIKKyN+IG1zZ3N0ciAi5LiN6IO95Zyo5ouj6YCJ6L+H56iL5Lit5omn6KGM5Y+m5LiA5ouj6YCJ44CCIgorCisjfiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIGxpbmUgJWQuIgorI34gbXNnc3RyICLkuI3og73op6PmnpDnrKwgJWQg6KGM44CCIgorCisjfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJXMiCisjfiBtc2dzdHIgIuS4jeiDveaJk+W8gCAlcyIKKworI34gbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKKyN+IG1zZ3N0ciAi5LiN6IO96K+75Y+WICVz44CCIgorCisjfiBtc2dpZCAiQ291bGQgbm90IGZvcm1hdCAlcy4iCisjfiBtc2dzdHIgIuS4jeiDveagvOW8j+WMliAlc+OAgiIKKworI34gbXNnaWQgIiVzOiAlcyIKKyN+IG1zZ3N0ciAiJXPvvJolcyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAi5LiN6IO95omT5byAICVz77yaJXMiCisKKyN+IG1zZ2lkICJZb3UgbmVlZCB0byBzZXQgeW91ciBjb21taXR0ZXIgaW5mbyBmaXJzdCIKKyN+IG1zZ3N0ciAi5oKo6ZyA6KaB5YWI6K6+572u5oKo55qE5o+Q5Lqk6ICF5L+h5oGvIgpkaWZmIC0tZ2l0IGEvcHJldHR5LmMgYi9wcmV0dHkuYwppbmRleCA4N2M0NDk3Li4zN2IyYzNiIDEwMDY0NAotLS0gYS9wcmV0dHkuYworKysgYi9wcmV0dHkuYwpAQCAtOTIsNiArOTIsNyBAQAogCQl7ICJtZWRpdW0iLAlDTUlUX0ZNVF9NRURJVU0sCTAsCTggfSwKIAkJeyAic2hvcnQiLAlDTUlUX0ZNVF9TSE9SVCwJCTAsCTAgfSwKIAkJeyAiZW1haWwiLAlDTUlUX0ZNVF9FTUFJTCwJCTAsCTAgfSwKKwkJeyAibWJveHJkIiwJQ01JVF9GTVRfTUJPWFJELAkwLAkwIH0sCiAJCXsgImZ1bGxlciIsCUNNSVRfRk1UX0ZVTExFUiwJMCwJOCB9LAogCQl7ICJmdWxsIiwJQ01JVF9GTVRfRlVMTCwJCTAsCTggfSwKIAkJeyAib25lbGluZSIsCUNNSVRfRk1UX09ORUxJTkUsCTEsCTAgfQpAQCAtNDQ0LDcgKzQ0NSw3IEBACiAJaWYgKHBwLT5tYWlsbWFwKQogCQltYXBfdXNlcihwcC0+bWFpbG1hcCwgJm1haWxidWYsICZtYWlsbGVuLCAmbmFtZWJ1ZiwgJm5hbWVsZW4pOwogCi0JaWYgKHBwLT5mbXQgPT0gQ01JVF9GTVRfRU1BSUwpIHsKKwlpZiAoY21pdF9mbXRfaXNfbWFpbChwcC0+Zm10KSkgewogCQlpZiAocHAtPmZyb21faWRlbnQgJiYgaWRlbnRfY21wKHBwLT5mcm9tX2lkZW50LCAmaWRlbnQpKSB7CiAJCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCkBAIC00OTQsNiArNDk1LDcgQEAKIAkJCSAgICBzaG93X2lkZW50X2RhdGUoJmlkZW50LCAmcHAtPmRhdGVfbW9kZSkpOwogCQlicmVhazsKIAljYXNlIENNSVRfRk1UX0VNQUlMOgorCWNhc2UgQ01JVF9GTVRfTUJPWFJEOgogCQlzdHJidWZfYWRkZihzYiwgIkRhdGU6ICVzXG4iLAogCQkJICAgIHNob3dfaWRlbnRfZGF0ZSgmaWRlbnQsIERBVEVfTU9ERShSRkMyODIyKSkpOwogCQlicmVhazsKQEAgLTUwNyw3ICs1MDksNyBAQAogCX0KIH0KIAotc3RhdGljIGludCBpc19lbXB0eV9saW5lKGNvbnN0IGNoYXIgKmxpbmUsIGludCAqbGVuX3ApCitzdGF0aWMgaW50IGlzX2JsYW5rX2xpbmUoY29uc3QgY2hhciAqbGluZSwgaW50ICpsZW5fcCkKIHsKIAlpbnQgbGVuID0gKmxlbl9wOwogCXdoaWxlIChsZW4gJiYgaXNzcGFjZShsaW5lW2xlbiAtIDFdKSkKQEAgLTUxNiwxNCArNTE4LDE0IEBACiAJcmV0dXJuICFsZW47CiB9CiAKLXN0YXRpYyBjb25zdCBjaGFyICpza2lwX2VtcHR5X2xpbmVzKGNvbnN0IGNoYXIgKm1zZykKK2NvbnN0IGNoYXIgKnNraXBfYmxhbmtfbGluZXMoY29uc3QgY2hhciAqbXNnKQogewogCWZvciAoOzspIHsKIAkJaW50IGxpbmVsZW4gPSBnZXRfb25lX2xpbmUobXNnKTsKIAkJaW50IGxsID0gbGluZWxlbjsKIAkJaWYgKCFsaW5lbGVuKQogCQkJYnJlYWs7Ci0JCWlmICghaXNfZW1wdHlfbGluZShtc2csICZsbCkpCisJCWlmICghaXNfYmxhbmtfbGluZShtc2csICZsbCkpCiAJCQlicmVhazsKIAkJbXNnICs9IGxpbmVsZW47CiAJfQpAQCAtNTM1LDIyICs1MzcsMjAgQEAKIHsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudCA9IGNvbW1pdC0+cGFyZW50czsKIAotCWlmICgocHAtPmZtdCA9PSBDTUlUX0ZNVF9PTkVMSU5FKSB8fCAocHAtPmZtdCA9PSBDTUlUX0ZNVF9FTUFJTCkgfHwKKwlpZiAoKHBwLT5mbXQgPT0gQ01JVF9GTVRfT05FTElORSkgfHwgKGNtaXRfZm10X2lzX21haWwocHAtPmZtdCkpIHx8CiAJICAgICFwYXJlbnQgfHwgIXBhcmVudC0+bmV4dCkKIAkJcmV0dXJuOwogCiAJc3RyYnVmX2FkZHN0cihzYiwgIk1lcmdlOiIpOwogCiAJd2hpbGUgKHBhcmVudCkgewotCQlzdHJ1Y3QgY29tbWl0ICpwID0gcGFyZW50LT5pdGVtOwotCQljb25zdCBjaGFyICpoZXggPSBOVUxMOworCQlzdHJ1Y3Qgb2JqZWN0X2lkICpvaWRwID0gJnBhcmVudC0+aXRlbS0+b2JqZWN0Lm9pZDsKKwkJc3RyYnVmX2FkZGNoKHNiLCAnICcpOwogCQlpZiAocHAtPmFiYnJldikKLQkJCWhleCA9IGZpbmRfdW5pcXVlX2FiYnJldihwLT5vYmplY3Qub2lkLmhhc2gsIHBwLT5hYmJyZXYpOwotCQlpZiAoIWhleCkKLQkJCWhleCA9IG9pZF90b19oZXgoJnAtPm9iamVjdC5vaWQpOworCQkJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KHNiLCBvaWRwLT5oYXNoLCBwcC0+YWJicmV2KTsKKwkJZWxzZQorCQkJc3RyYnVmX2FkZHN0cihzYiwgb2lkX3RvX2hleChvaWRwKSk7CiAJCXBhcmVudCA9IHBhcmVudC0+bmV4dDsKLQotCQlzdHJidWZfYWRkZihzYiwgIiAlcyIsIGhleCk7CiAJfQogCXN0cmJ1Zl9hZGRjaChzYiwgJ1xuJyk7CiB9CkBAIC04NzUsNyArODc1LDcgQEAKIAkJaW50IGxpbmVsZW4gPSBnZXRfb25lX2xpbmUobGluZSk7CiAKIAkJbXNnICs9IGxpbmVsZW47Ci0JCWlmICghbGluZWxlbiB8fCBpc19lbXB0eV9saW5lKGxpbmUsICZsaW5lbGVuKSkKKwkJaWYgKCFsaW5lbGVuIHx8IGlzX2JsYW5rX2xpbmUobGluZSwgJmxpbmVsZW4pKQogCQkJYnJlYWs7CiAKIAkJaWYgKCFzYikKQEAgLTg5NCwxMSArODk0LDExIEBACiAJY29uc3QgY2hhciAqbXNnID0gYy0+bWVzc2FnZSArIGMtPm1lc3NhZ2Vfb2ZmOwogCWNvbnN0IGNoYXIgKnN0YXJ0ID0gYy0+bWVzc2FnZTsKIAotCW1zZyA9IHNraXBfZW1wdHlfbGluZXMobXNnKTsKKwltc2cgPSBza2lwX2JsYW5rX2xpbmVzKG1zZyk7CiAJYy0+c3ViamVjdF9vZmYgPSBtc2cgLSBzdGFydDsKIAogCW1zZyA9IGZvcm1hdF9zdWJqZWN0KE5VTEwsIG1zZywgTlVMTCk7Ci0JbXNnID0gc2tpcF9lbXB0eV9saW5lcyhtc2cpOworCW1zZyA9IHNraXBfYmxhbmtfbGluZXMobXNnKTsKIAljLT5ib2R5X29mZiA9IG1zZyAtIHN0YXJ0OwogCiAJYy0+Y29tbWl0X21lc3NhZ2VfcGFyc2VkID0gMTsKQEAgLTEwMjIsOSArMTAyMiwxNSBAQAogCQlpbnQgd2lkdGg7CiAJCWlmICghZW5kIHx8IGVuZCA9PSBzdGFydCkKIAkJCXJldHVybiAwOwotCQl3aWR0aCA9IHN0cnRvdWwoc3RhcnQsICZuZXh0LCAxMCk7CisJCXdpZHRoID0gc3RydG9sKHN0YXJ0LCAmbmV4dCwgMTApOwogCQlpZiAobmV4dCA9PSBzdGFydCB8fCB3aWR0aCA9PSAwKQogCQkJcmV0dXJuIDA7CisJCWlmICh3aWR0aCA8IDApIHsKKwkJCWlmICh0b19jb2x1bW4pCisJCQkJd2lkdGggKz0gdGVybV9jb2x1bW5zKCk7CisJCQlpZiAod2lkdGggPCAwKQorCQkJCXJldHVybiAwOworCQl9CiAJCWMtPnBhZGRpbmcgPSB0b19jb2x1bW4gPyAtd2lkdGggOiB3aWR0aDsKIAkJYy0+Zmx1c2hfdHlwZSA9IGZsdXNoX3R5cGU7CiAKQEAgLTEwNTcsMTMgKzEwNjMsMTUgQEAKIAljb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBjLT5jb21taXQ7CiAJY29uc3QgY2hhciAqbXNnID0gYy0+bWVzc2FnZTsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKnA7Ci0JaW50IGgxLCBoMjsKKwlpbnQgY2g7CiAKIAkvKiB0aGVzZSBhcmUgaW5kZXBlbmRlbnQgb2YgdGhlIGNvbW1pdCAqLwogCXN3aXRjaCAocGxhY2Vob2xkZXJbMF0pIHsKIAljYXNlICdDJzoKIAkJaWYgKHN0YXJ0c193aXRoKHBsYWNlaG9sZGVyICsgMSwgIihhdXRvKSIpKSB7Ci0JCQljLT5hdXRvX2NvbG9yID0gMTsKKwkJCWMtPmF1dG9fY29sb3IgPSB3YW50X2NvbG9yKGMtPnByZXR0eV9jdHgtPmNvbG9yKTsKKwkJCWlmIChjLT5hdXRvX2NvbG9yICYmIHNiLT5sZW4pCisJCQkJc3RyYnVmX2FkZHN0cihzYiwgR0lUX0NPTE9SX1JFU0VUKTsKIAkJCXJldHVybiA3OyAvKiBjb25zdW1lZCA3IGJ5dGVzLCAiQyhhdXRvKSIgKi8KIAkJfSBlbHNlIHsKIAkJCWludCByZXQgPSBwYXJzZV9jb2xvcihzYiwgcGxhY2Vob2xkZXIsIGMpOwpAQCAtMTA4MSwxNCArMTA4OSwxMSBAQAogCQlyZXR1cm4gMTsKIAljYXNlICd4JzoKIAkJLyogJXgwMCA9PSBOVUwsICV4MGEgPT0gTEYsIGV0Yy4gKi8KLQkJaWYgKDAgPD0gKGgxID0gaGV4dmFsX3RhYmxlWzB4ZmYgJiBwbGFjZWhvbGRlclsxXV0pICYmCi0JCSAgICBoMSA8PSAxNiAmJgotCQkgICAgMCA8PSAoaDIgPSBoZXh2YWxfdGFibGVbMHhmZiAmIHBsYWNlaG9sZGVyWzJdXSkgJiYKLQkJICAgIGgyIDw9IDE2KSB7Ci0JCQlzdHJidWZfYWRkY2goc2IsIChoMTw8NCl8aDIpOwotCQkJcmV0dXJuIDM7Ci0JCX0gZWxzZQorCQljaCA9IGhleDJjaHIocGxhY2Vob2xkZXIgKyAxKTsKKwkJaWYgKGNoIDwgMCkKIAkJCXJldHVybiAwOworCQlzdHJidWZfYWRkY2goc2IsIGNoKTsKKwkJcmV0dXJuIDM7CiAJY2FzZSAndyc6CiAJCWlmIChwbGFjZWhvbGRlclsxXSA9PSAnKCcpIHsKIAkJCXVuc2lnbmVkIGxvbmcgd2lkdGggPSAwLCBpbmRlbnQxID0gMCwgaW5kZW50MiA9IDA7CkBAIC0xMTM1LDggKzExNDAsOCBAQAogCQkJc3RyYnVmX2FkZHN0cihzYiwgZGlmZl9nZXRfY29sb3IoYy0+YXV0b19jb2xvciwgRElGRl9SRVNFVCkpOwogCQkJcmV0dXJuIDE7CiAJCX0KLQkJc3RyYnVmX2FkZHN0cihzYiwgZmluZF91bmlxdWVfYWJicmV2KGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLAotCQkJCQkJICAgICBjLT5wcmV0dHlfY3R4LT5hYmJyZXYpKTsKKwkJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KHNiLCBjb21taXQtPm9iamVjdC5vaWQuaGFzaCwKKwkJCQkJIGMtPnByZXR0eV9jdHgtPmFiYnJldik7CiAJCXN0cmJ1Zl9hZGRzdHIoc2IsIGRpZmZfZ2V0X2NvbG9yKGMtPmF1dG9fY29sb3IsIERJRkZfUkVTRVQpKTsKIAkJYy0+YWJicmV2X2NvbW1pdF9oYXNoLmxlbiA9IHNiLT5sZW4gLSBjLT5hYmJyZXZfY29tbWl0X2hhc2gub2ZmOwogCQlyZXR1cm4gMTsKQEAgLTExNDYsOCArMTE1MSw4IEBACiAJY2FzZSAndCc6CQkvKiBhYmJyZXZpYXRlZCB0cmVlIGhhc2ggKi8KIAkJaWYgKGFkZF9hZ2FpbihzYiwgJmMtPmFiYnJldl90cmVlX2hhc2gpKQogCQkJcmV0dXJuIDE7Ci0JCXN0cmJ1Zl9hZGRzdHIoc2IsIGZpbmRfdW5pcXVlX2FiYnJldihjb21taXQtPnRyZWUtPm9iamVjdC5vaWQuaGFzaCwKLQkJCQkJCSAgICAgYy0+cHJldHR5X2N0eC0+YWJicmV2KSk7CisJCXN0cmJ1Zl9hZGRfdW5pcXVlX2FiYnJldihzYiwgY29tbWl0LT50cmVlLT5vYmplY3Qub2lkLmhhc2gsCisJCQkJCSBjLT5wcmV0dHlfY3R4LT5hYmJyZXYpOwogCQljLT5hYmJyZXZfdHJlZV9oYXNoLmxlbiA9IHNiLT5sZW4gLSBjLT5hYmJyZXZfdHJlZV9oYXNoLm9mZjsKIAkJcmV0dXJuIDE7CiAJY2FzZSAnUCc6CQkvKiBwYXJlbnQgaGFzaGVzICovCkBAIC0xMTYzLDkgKzExNjgsOCBAQAogCQlmb3IgKHAgPSBjb21taXQtPnBhcmVudHM7IHA7IHAgPSBwLT5uZXh0KSB7CiAJCQlpZiAocCAhPSBjb21taXQtPnBhcmVudHMpCiAJCQkJc3RyYnVmX2FkZGNoKHNiLCAnICcpOwotCQkJc3RyYnVmX2FkZHN0cihzYiwgZmluZF91bmlxdWVfYWJicmV2KAotCQkJCQlwLT5pdGVtLT5vYmplY3Qub2lkLmhhc2gsCi0JCQkJCWMtPnByZXR0eV9jdHgtPmFiYnJldikpOworCQkJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KHNiLCBwLT5pdGVtLT5vYmplY3Qub2lkLmhhc2gsCisJCQkJCQkgYy0+cHJldHR5X2N0eC0+YWJicmV2KTsKIAkJfQogCQljLT5hYmJyZXZfcGFyZW50X2hhc2hlcy5sZW4gPSBzYi0+bGVuIC0KIAkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0+YWJicmV2X3BhcmVudF9oYXNoZXMub2ZmOwpAQCAtMTIyNiw4ICsxMjMwLDEyIEBACiAJCQlzd2l0Y2ggKGMtPnNpZ25hdHVyZV9jaGVjay5yZXN1bHQpIHsKIAkJCWNhc2UgJ0cnOgogCQkJY2FzZSAnQic6CisJCQljYXNlICdFJzoKIAkJCWNhc2UgJ1UnOgogCQkJY2FzZSAnTic6CisJCQljYXNlICdYJzoKKwkJCWNhc2UgJ1knOgorCQkJY2FzZSAnUic6CiAJCQkJc3RyYnVmX2FkZGNoKHNiLCBjLT5zaWduYXR1cmVfY2hlY2sucmVzdWx0KTsKIAkJCX0KIAkJCWJyZWFrOwpAQCAtMTI5OSw2ICsxMzA3LDcgQEAKIAkJaWYgKCFzdGFydCkKIAkJCXN0YXJ0ID0gc2ItPmJ1ZjsKIAkJb2NjdXBpZWQgPSB1dGY4X3N0cm53aWR0aChzdGFydCwgLTEsIDEpOworCQlvY2N1cGllZCArPSBjLT5wcmV0dHlfY3R4LT5ncmFwaF93aWR0aDsKIAkJcGFkZGluZyA9ICgtcGFkZGluZykgLSBvY2N1cGllZDsKIAl9CiAJd2hpbGUgKDEpIHsKQEAgLTE2MTQsNyArMTYyMyw3IEBACiAJaWYgKHBwLT5hZnRlcl9zdWJqZWN0KSB7CiAJCXN0cmJ1Zl9hZGRzdHIoc2IsIHBwLT5hZnRlcl9zdWJqZWN0KTsKIAl9Ci0JaWYgKHBwLT5mbXQgPT0gQ01JVF9GTVRfRU1BSUwpIHsKKwlpZiAoY21pdF9mbXRfaXNfbWFpbChwcC0+Zm10KSkgewogCQlzdHJidWZfYWRkY2goc2IsICdcbicpOwogCX0KIApAQCAtMTY5Nyw2ICsxNzA2LDE2IEBACiAJCXN0cmJ1Zl9hZGQoc2IsIGxpbmUsIGxpbmVsZW4pOwogfQogCitzdGF0aWMgaW50IGlzX21ib3hyZF9mcm9tKGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4pCit7CisJLyoKKwkgKiBhIGxpbmUgbWF0Y2hpbmcgL15Gcm9tICQvIGhlcmUgd291bGQgb25seSBoYXZlIGxlbiA9PSA0CisJICogYXQgdGhpcyBwb2ludCBiZWNhdXNlIGlzX2VtcHR5X2xpbmUgd291bGQndmUgdHJpbW1lZCBhbGwKKwkgKiB0cmFpbGluZyBzcGFjZQorCSAqLworCXJldHVybiBsZW4gPiA0ICYmIHN0YXJ0c193aXRoKGxpbmUgKyBzdHJzcG4obGluZSwgIj4iKSwgIkZyb20gIik7Cit9CisKIHZvaWQgcHBfcmVtYWluZGVyKHN0cnVjdCBwcmV0dHlfcHJpbnRfY29udGV4dCAqcHAsCiAJCSAgY29uc3QgY2hhciAqKm1zZ19wLAogCQkgIHN0cnVjdCBzdHJidWYgKnNiLApAQCAtMTcxMSw3ICsxNzMwLDcgQEAKIAkJaWYgKCFsaW5lbGVuKQogCQkJYnJlYWs7CiAKLQkJaWYgKGlzX2VtcHR5X2xpbmUobGluZSwgJmxpbmVsZW4pKSB7CisJCWlmIChpc19ibGFua19saW5lKGxpbmUsICZsaW5lbGVuKSkgewogCQkJaWYgKGZpcnN0KQogCQkJCWNvbnRpbnVlOwogCQkJaWYgKHBwLT5mbXQgPT0gQ01JVF9GTVRfU0hPUlQpCkBAIC0xNzI1LDggKzE3NDQsMTMgQEAKIAkJZWxzZSBpZiAocHAtPmV4cGFuZF90YWJzX2luX2xvZykKIAkJCXN0cmJ1Zl9hZGRfdGFiZXhwYW5kKHNiLCBwcC0+ZXhwYW5kX3RhYnNfaW5fbG9nLAogCQkJCQkgICAgIGxpbmUsIGxpbmVsZW4pOwotCQllbHNlCisJCWVsc2UgeworCQkJaWYgKHBwLT5mbXQgPT0gQ01JVF9GTVRfTUJPWFJEICYmCisJCQkJCWlzX21ib3hyZF9mcm9tKGxpbmUsIGxpbmVsZW4pKQorCQkJCXN0cmJ1Zl9hZGRjaChzYiwgJz4nKTsKKwogCQkJc3RyYnVmX2FkZChzYiwgbGluZSwgbGluZWxlbik7CisJCX0KIAkJc3RyYnVmX2FkZGNoKHNiLCAnXG4nKTsKIAl9CiB9CkBAIC0xNzUwLDE0ICsxNzc0LDE0IEBACiAJZW5jb2RpbmcgPSBnZXRfbG9nX291dHB1dF9lbmNvZGluZygpOwogCW1zZyA9IHJlZW5jb2RlZCA9IGxvZ21zZ19yZWVuY29kZShjb21taXQsIE5VTEwsIGVuY29kaW5nKTsKIAotCWlmIChwcC0+Zm10ID09IENNSVRfRk1UX09ORUxJTkUgfHwgcHAtPmZtdCA9PSBDTUlUX0ZNVF9FTUFJTCkKKwlpZiAocHAtPmZtdCA9PSBDTUlUX0ZNVF9PTkVMSU5FIHx8IGNtaXRfZm10X2lzX21haWwocHAtPmZtdCkpCiAJCWluZGVudCA9IDA7CiAKIAkvKgogCSAqIFdlIG5lZWQgdG8gY2hlY2sgYW5kIGVtaXQgQ29udGVudC10eXBlOiB0byBtYXJrIGl0CiAJICogYXMgOC1iaXQgaWYgd2UgaGF2ZW4ndCBkb25lIHNvLgogCSAqLwotCWlmIChwcC0+Zm10ID09IENNSVRfRk1UX0VNQUlMICYmIG5lZWRfOGJpdF9jdGUgPT0gMCkgeworCWlmIChjbWl0X2ZtdF9pc19tYWlsKHBwLT5mbXQpICYmIG5lZWRfOGJpdF9jdGUgPT0gMCkgewogCQlpbnQgaSwgY2gsIGluX2JvZHk7CiAKIAkJZm9yIChpbl9ib2R5ID0gaSA9IDA7IChjaCA9IG1zZ1tpXSk7IGkrKykgewpAQCAtMTc4MiwxMCArMTgwNiwxMCBAQAogCX0KIAogCS8qIFNraXAgZXhjZXNzIGJsYW5rIGxpbmVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYm9keSwgaWYgYW55Li4uICovCi0JbXNnID0gc2tpcF9lbXB0eV9saW5lcyhtc2cpOworCW1zZyA9IHNraXBfYmxhbmtfbGluZXMobXNnKTsKIAogCS8qIFRoZXNlIGZvcm1hdHMgdHJlYXQgdGhlIHRpdGxlIGxpbmUgc3BlY2lhbGx5LiAqLwotCWlmIChwcC0+Zm10ID09IENNSVRfRk1UX09ORUxJTkUgfHwgcHAtPmZtdCA9PSBDTUlUX0ZNVF9FTUFJTCkKKwlpZiAocHAtPmZtdCA9PSBDTUlUX0ZNVF9PTkVMSU5FIHx8IGNtaXRfZm10X2lzX21haWwocHAtPmZtdCkpCiAJCXBwX3RpdGxlX2xpbmUocHAsICZtc2csIHNiLCBlbmNvZGluZywgbmVlZF84Yml0X2N0ZSk7CiAKIAliZWdpbm5pbmdfb2ZfYm9keSA9IHNiLT5sZW47CkBAIC0xODAyLDcgKzE4MjYsNyBAQAogCSAqIGZvcm1hdC4gIE1ha2Ugc3VyZSB3ZSBkaWQgbm90IHN0cmlwIHRoZSBibGFuayBsaW5lCiAJICogYmV0d2VlbiB0aGUgaGVhZGVyIGFuZCB0aGUgYm9keS4KIAkgKi8KLQlpZiAocHAtPmZtdCA9PSBDTUlUX0ZNVF9FTUFJTCAmJiBzYi0+bGVuIDw9IGJlZ2lubmluZ19vZl9ib2R5KQorCWlmIChjbWl0X2ZtdF9pc19tYWlsKHBwLT5mbXQpICYmIHNiLT5sZW4gPD0gYmVnaW5uaW5nX29mX2JvZHkpCiAJCXN0cmJ1Zl9hZGRjaChzYiwgJ1xuJyk7CiAKIAl1bnVzZV9jb21taXRfYnVmZmVyKGNvbW1pdCwgcmVlbmNvZGVkKTsKZGlmZiAtLWdpdCBhL3F1b3RlLmMgYi9xdW90ZS5jCmluZGV4IGIyODFhOGYuLjUzYjk4YTUgMTAwNjQ0Ci0tLSBhL3F1b3RlLmMKKysrIGIvcXVvdGUuYwpAQCAtNDUzLDMgKzQ1Myw0MCBAQAogCX0KIAlzdHJidWZfYWRkY2goc2IsICciJyk7CiB9CisKK3ZvaWQgYmFzaWNfcmVnZXhfcXVvdGVfYnVmKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpzcmMpCit7CisJY2hhciBjOworCisJaWYgKCpzcmMgPT0gJ14nKSB7CisJCS8qIG9ubHkgYmVnaW5uaW5nICdeJyBpcyBzcGVjaWFsIGFuZCBuZWVkcyBxdW90aW5nICovCisJCXN0cmJ1Zl9hZGRjaChzYiwgJ1xcJyk7CisJCXN0cmJ1Zl9hZGRjaChzYiwgKnNyYysrKTsKKwl9CisJaWYgKCpzcmMgPT0gJyonKQorCQkvKiBiZWdpbm5pbmcgJyonIGlzIG5vdCBzcGVjaWFsLCBubyBxdW90aW5nICovCisJCXN0cmJ1Zl9hZGRjaChzYiwgKnNyYysrKTsKKworCXdoaWxlICgoYyA9ICpzcmMrKykpIHsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ1snOgorCQljYXNlICcuJzoKKwkJY2FzZSAnXFwnOgorCQljYXNlICcqJzoKKwkJCXN0cmJ1Zl9hZGRjaChzYiwgJ1xcJyk7CisJCQlzdHJidWZfYWRkY2goc2IsIGMpOworCQkJYnJlYWs7CisKKwkJY2FzZSAnJCc6CisJCQkvKiBvbmx5IHRoZSBlbmQgJyQnIGlzIHNwZWNpYWwgYW5kIG5lZWRzIHF1b3RpbmcgKi8KKwkJCWlmICgqc3JjID09ICdcMCcpCisJCQkJc3RyYnVmX2FkZGNoKHNiLCAnXFwnKTsKKwkJCXN0cmJ1Zl9hZGRjaChzYiwgYyk7CisJCQlicmVhazsKKworCQlkZWZhdWx0OgorCQkJc3RyYnVmX2FkZGNoKHNiLCBjKTsKKwkJCWJyZWFrOworCQl9CisJfQorfQpkaWZmIC0tZ2l0IGEvcXVvdGUuaCBiL3F1b3RlLmgKaW5kZXggNmM1M2EyYy4uNjZmNTY0NCAxMDA2NDQKLS0tIGEvcXVvdGUuaAorKysgYi9xdW90ZS5oCkBAIC03MCw1ICs3MCw2IEBACiBleHRlcm4gdm9pZCBwZXJsX3F1b3RlX2J1ZihzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqc3JjKTsKIGV4dGVybiB2b2lkIHB5dGhvbl9xdW90ZV9idWYoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKnNyYyk7CiBleHRlcm4gdm9pZCB0Y2xfcXVvdGVfYnVmKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpzcmMpOworZXh0ZXJuIHZvaWQgYmFzaWNfcmVnZXhfcXVvdGVfYnVmKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpzcmMpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3JlYWQtY2FjaGUuYyBiL3JlYWQtY2FjaGUuYwppbmRleCBkOWZiNzhiLi5kYjVkOTEwIDEwMDY0NAotLS0gYS9yZWFkLWNhY2hlLmMKKysrIGIvcmVhZC1jYWNoZS5jCkBAIC0xOSw5ICsxOSw2IEBACiAjaW5jbHVkZSAic3BsaXQtaW5kZXguaCIKICNpbmNsdWRlICJ1dGY4LmgiCiAKLXN0YXRpYyBzdHJ1Y3QgY2FjaGVfZW50cnkgKnJlZnJlc2hfY2FjaGVfZW50cnkoc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwKLQkJCQkJICAgICAgIHVuc2lnbmVkIGludCBvcHRpb25zKTsKLQogLyogTWFzayBmb3IgdGhlIG5hbWUgbGVuZ3RoIGluIGNlX2ZsYWdzIGluIHRoZSBvbi1kaXNrIGluZGV4ICovCiAKICNkZWZpbmUgQ0VfTkFNRU1BU0sgICgweDBmZmYpCkBAIC0xNTksMTIgKzE1NiwxOSBAQAogc3RhdGljIGludCBjZV9jb21wYXJlX2RhdGEoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgc3RydWN0IHN0YXQgKnN0KQogewogCWludCBtYXRjaCA9IC0xOwotCWludCBmZCA9IG9wZW4oY2UtPm5hbWUsIE9fUkRPTkxZKTsKKwlzdGF0aWMgaW50IGNsb2V4ZWMgPSBPX0NMT0VYRUM7CisJaW50IGZkID0gb3BlbihjZS0+bmFtZSwgT19SRE9OTFkgfCBjbG9leGVjKTsKKworCWlmICgoY2xvZXhlYyAmIE9fQ0xPRVhFQykgJiYgZmQgPCAwICYmIGVycm5vID09IEVJTlZBTCkgeworCQkvKiBUcnkgYWdhaW4gdy9vIE9fQ0xPRVhFQzogdGhlIGtlcm5lbCBtaWdodCBub3Qgc3VwcG9ydCBpdCAqLworCQljbG9leGVjICY9IH5PX0NMT0VYRUM7CisJCWZkID0gb3BlbihjZS0+bmFtZSwgT19SRE9OTFkgfCBjbG9leGVjKTsKKwl9CiAKIAlpZiAoZmQgPj0gMCkgewogCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwogCQlpZiAoIWluZGV4X2ZkKHNoYTEsIGZkLCBzdCwgT0JKX0JMT0IsIGNlLT5uYW1lLCAwKSkKLQkJCW1hdGNoID0gaGFzaGNtcChzaGExLCBjZS0+c2hhMSk7CisJCQltYXRjaCA9IGhhc2hjbXAoc2hhMSwgY2UtPm9pZC5oYXNoKTsKIAkJLyogaW5kZXhfZmQoKSBjbG9zZWQgdGhlIGZpbGUgZGVzY3JpcHRvciBhbHJlYWR5ICovCiAJfQogCXJldHVybiBtYXRjaDsKQEAgLTE4MSw3ICsxODUsNyBAQAogCWlmIChzdHJidWZfcmVhZGxpbmsoJnNiLCBjZS0+bmFtZSwgZXhwZWN0ZWRfc2l6ZSkpCiAJCXJldHVybiAtMTsKIAotCWJ1ZmZlciA9IHJlYWRfc2hhMV9maWxlKGNlLT5zaGExLCAmdHlwZSwgJnNpemUpOworCWJ1ZmZlciA9IHJlYWRfc2hhMV9maWxlKGNlLT5vaWQuaGFzaCwgJnR5cGUsICZzaXplKTsKIAlpZiAoYnVmZmVyKSB7CiAJCWlmIChzaXplID09IHNiLmxlbikKIAkJCW1hdGNoID0gbWVtY21wKGJ1ZmZlciwgc2IuYnVmLCBzaXplKTsKQEAgLTIwNSw3ICsyMDksNyBAQAogCSAqLwogCWlmIChyZXNvbHZlX2dpdGxpbmtfcmVmKGNlLT5uYW1lLCAiSEVBRCIsIHNoYTEpIDwgMCkKIAkJcmV0dXJuIDA7Ci0JcmV0dXJuIGhhc2hjbXAoc2hhMSwgY2UtPnNoYTEpOworCXJldHVybiBoYXNoY21wKHNoYTEsIGNlLT5vaWQuaGFzaCk7CiB9CiAKIHN0YXRpYyBpbnQgY2VfbW9kaWZpZWRfY2hlY2tfZnMoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgc3RydWN0IHN0YXQgKnN0KQpAQCAtMjY1LDcgKzI2OSw3IEBACiAKIAkvKiBSYWNpbHkgc211ZGdlZCBlbnRyeT8gKi8KIAlpZiAoIWNlLT5jZV9zdGF0X2RhdGEuc2Rfc2l6ZSkgewotCQlpZiAoIWlzX2VtcHR5X2Jsb2Jfc2hhMShjZS0+c2hhMSkpCisJCWlmICghaXNfZW1wdHlfYmxvYl9zaGExKGNlLT5vaWQuaGFzaCkpCiAJCQljaGFuZ2VkIHw9IERBVEFfQ0hBTkdFRDsKIAl9CiAKQEAgLTYyNyw3ICs2MzEsNyBAQAogCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CiAJaWYgKHdyaXRlX3NoYTFfZmlsZSgiIiwgMCwgYmxvYl90eXBlLCBzaGExKSkKIAkJZGllKCJjYW5ub3QgY3JlYXRlIGFuIGVtcHR5IGJsb2IgaW4gdGhlIG9iamVjdCBkYXRhYmFzZSIpOwotCWhhc2hjcHkoY2UtPnNoYTEsIHNoYTEpOworCWhhc2hjcHkoY2UtPm9pZC5oYXNoLCBzaGExKTsKIH0KIAogaW50IGFkZF90b19pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKnN0LCBpbnQgZmxhZ3MpCkBAIC02NTksOSArNjYzLDEwIEBACiAJZWxzZQogCQljZS0+Y2VfZmxhZ3MgfD0gQ0VfSU5URU5UX1RPX0FERDsKIAotCWlmICh0cnVzdF9leGVjdXRhYmxlX2JpdCAmJiBoYXNfc3ltbGlua3MpCisKKwlpZiAodHJ1c3RfZXhlY3V0YWJsZV9iaXQgJiYgaGFzX3N5bWxpbmtzKSB7CiAJCWNlLT5jZV9tb2RlID0gY3JlYXRlX2NlX21vZGUoc3RfbW9kZSk7Ci0JZWxzZSB7CisJfSBlbHNlIHsKIAkJLyogSWYgdGhlcmUgaXMgYW4gZXhpc3RpbmcgZW50cnksIHBpY2sgdGhlIG1vZGUgYml0cyBhbmQgdHlwZQogCQkgKiBmcm9tIGl0LCBvdGhlcndpc2UgYXNzdW1lIHVuZXhlY3V0YWJsZSByZWd1bGFyIGZpbGUuCiAJCSAqLwpAQCAtNjkyLDcgKzY5Nyw3IEBACiAJCXJldHVybiAwOwogCX0KIAlpZiAoIWludGVudF9vbmx5KSB7Ci0JCWlmIChpbmRleF9wYXRoKGNlLT5zaGExLCBwYXRoLCBzdCwgSEFTSF9XUklURV9PQkpFQ1QpKSB7CisJCWlmIChpbmRleF9wYXRoKGNlLT5vaWQuaGFzaCwgcGF0aCwgc3QsIEhBU0hfV1JJVEVfT0JKRUNUKSkgewogCQkJZnJlZShjZSk7CiAJCQlyZXR1cm4gZXJyb3IoInVuYWJsZSB0byBpbmRleCBmaWxlICVzIiwgcGF0aCk7CiAJCX0KQEAgLTcwNiw3ICs3MTEsNyBAQAogCS8qIEl0IHdhcyBzdXNwZWN0ZWQgdG8gYmUgcmFjaWx5IGNsZWFuLCBidXQgaXQgdHVybnMgb3V0IHRvIGJlIE9rICovCiAJd2FzX3NhbWUgPSAoYWxpYXMgJiYKIAkJICAgICFjZV9zdGFnZShhbGlhcykgJiYKLQkJICAgICFoYXNoY21wKGFsaWFzLT5zaGExLCBjZS0+c2hhMSkgJiYKKwkJICAgICFvaWRjbXAoJmFsaWFzLT5vaWQsICZjZS0+b2lkKSAmJgogCQkgICAgY2UtPmNlX21vZGUgPT0gYWxpYXMtPmNlX21vZGUpOwogCiAJaWYgKHByZXRlbmQpCkBAIC03NDQsNyArNzQ5LDcgQEAKIAlzaXplID0gY2FjaGVfZW50cnlfc2l6ZShsZW4pOwogCWNlID0geGNhbGxvYygxLCBzaXplKTsKIAotCWhhc2hjcHkoY2UtPnNoYTEsIHNoYTEpOworCWhhc2hjcHkoY2UtPm9pZC5oYXNoLCBzaGExKTsKIAltZW1jcHkoY2UtPm5hbWUsIHBhdGgsIGxlbik7CiAJY2UtPmNlX2ZsYWdzID0gY3JlYXRlX2NlX2ZsYWdzKHN0YWdlKTsKIAljZS0+Y2VfbmFtZWxlbiA9IGxlbjsKQEAgLTc1Niw2ICs3NjEsMzUgQEAKIAlyZXR1cm4gcmV0OwogfQogCisvKgorICogQ2htb2QgYW4gaW5kZXggZW50cnkgd2l0aCBlaXRoZXIgK3ggb3IgLXguCisgKgorICogUmV0dXJucyAtMSBpZiB0aGUgY2htb2QgZm9yIHRoZSBwYXJ0aWN1bGFyIGNhY2hlIGVudHJ5IGZhaWxlZCAoaWYgaXQncworICogbm90IGEgcmVndWxhciBmaWxlKSwgLTIgaWYgYW4gaW52YWxpZCBmbGlwIGFyZ3VtZW50IGlzIHBhc3NlZCBpbiwgMAorICogb3RoZXJ3aXNlLgorICovCitpbnQgY2htb2RfaW5kZXhfZW50cnkoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsCisJCSAgICAgIGNoYXIgZmxpcCkKK3sKKwlpZiAoIVNfSVNSRUcoY2UtPmNlX21vZGUpKQorCQlyZXR1cm4gLTE7CisJc3dpdGNoIChmbGlwKSB7CisJY2FzZSAnKyc6CisJCWNlLT5jZV9tb2RlIHw9IDAxMTE7CisJCWJyZWFrOworCWNhc2UgJy0nOgorCQljZS0+Y2VfbW9kZSAmPSB+MDExMTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC0yOworCX0KKwljYWNoZV90cmVlX2ludmFsaWRhdGVfcGF0aChpc3RhdGUsIGNlLT5uYW1lKTsKKwljZS0+Y2VfZmxhZ3MgfD0gQ0VfVVBEQVRFX0lOX0JBU0U7CisJaXN0YXRlLT5jYWNoZV9jaGFuZ2VkIHw9IENFX0VOVFJZX0NIQU5HRUQ7CisKKwlyZXR1cm4gMDsKK30KKwogaW50IGNlX3NhbWVfbmFtZShjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmEsIGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqYikKIHsKIAlpbnQgbGVuID0gY2VfbmFtZWxlbihhKTsKQEAgLTEyNTQsNyArMTI4OCw3IEBACiAJcmV0dXJuIGhhc19lcnJvcnM7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgY2FjaGVfZW50cnkgKnJlZnJlc2hfY2FjaGVfZW50cnkoc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwKK3N0cnVjdCBjYWNoZV9lbnRyeSAqcmVmcmVzaF9jYWNoZV9lbnRyeShzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLAogCQkJCQkgICAgICAgdW5zaWduZWQgaW50IG9wdGlvbnMpCiB7CiAJcmV0dXJuIHJlZnJlc2hfY2FjaGVfZW50KCZ0aGVfaW5kZXgsIGNlLCBvcHRpb25zLCBOVUxMLCBOVUxMKTsKQEAgLTE0MjQsNyArMTQ1OCw3IEBACiAJY2UtPmNlX2ZsYWdzID0gZmxhZ3MgJiB+Q0VfTkFNRU1BU0s7CiAJY2UtPmNlX25hbWVsZW4gPSBsZW47CiAJY2UtPmluZGV4ID0gMDsKLQloYXNoY3B5KGNlLT5zaGExLCBvbmRpc2stPnNoYTEpOworCWhhc2hjcHkoY2UtPm9pZC5oYXNoLCBvbmRpc2stPnNoYTEpOwogCW1lbWNweShjZS0+bmFtZSwgbmFtZSwgbGVuKTsKIAljZS0+bmFtZVtsZW5dID0gJ1wwJzsKIAlyZXR1cm4gY2U7CkBAIC0xODQ5LDcgKzE4ODMsNyBAQAogCW9uZGlzay0+dWlkICA9IGh0b25sKGNlLT5jZV9zdGF0X2RhdGEuc2RfdWlkKTsKIAlvbmRpc2stPmdpZCAgPSBodG9ubChjZS0+Y2Vfc3RhdF9kYXRhLnNkX2dpZCk7CiAJb25kaXNrLT5zaXplID0gaHRvbmwoY2UtPmNlX3N0YXRfZGF0YS5zZF9zaXplKTsKLQloYXNoY3B5KG9uZGlzay0+c2hhMSwgY2UtPnNoYTEpOworCWhhc2hjcHkob25kaXNrLT5zaGExLCBjZS0+b2lkLmhhc2gpOwogCiAJZmxhZ3MgPSBjZS0+Y2VfZmxhZ3MgJiB+Q0VfTkFNRU1BU0s7CiAJZmxhZ3MgfD0gKGNlX25hbWVsZW4oY2UpID49IENFX05BTUVNQVNLID8gQ0VfTkFNRU1BU0sgOiBjZV9uYW1lbGVuKGNlKSk7CkBAIC0yMDM4LDcgKzIwNzIsNyBAQAogCQkJY29udGludWU7CiAJCWlmICghY2VfdXB0b2RhdGUoY2UpICYmIGlzX3JhY3lfdGltZXN0YW1wKGlzdGF0ZSwgY2UpKQogCQkJY2Vfc211ZGdlX3JhY2lseV9jbGVhbl9lbnRyeShjZSk7Ci0JCWlmIChpc19udWxsX3NoYTEoY2UtPnNoYTEpKSB7CisJCWlmIChpc19udWxsX29pZCgmY2UtPm9pZCkpIHsKIAkJCXN0YXRpYyBjb25zdCBjaGFyIG1zZ1tdID0gImNhY2hlIGVudHJ5IGhhcyBudWxsIHNoYTE6ICVzIjsKIAkJCXN0YXRpYyBpbnQgYWxsb3cgPSAtMTsKIApAQCAtMjI4NSw3ICsyMzE5LDcgQEAKIAl9CiAJaWYgKHBvcyA8IDApCiAJCXJldHVybiBOVUxMOwotCWRhdGEgPSByZWFkX3NoYTFfZmlsZShpc3RhdGUtPmNhY2hlW3Bvc10tPnNoYTEsICZ0eXBlLCAmc3opOworCWRhdGEgPSByZWFkX3NoYTFfZmlsZShpc3RhdGUtPmNhY2hlW3Bvc10tPm9pZC5oYXNoLCAmdHlwZSwgJnN6KTsKIAlpZiAoIWRhdGEgfHwgdHlwZSAhPSBPQkpfQkxPQikgewogCQlmcmVlKGRhdGEpOwogCQlyZXR1cm4gTlVMTDsKZGlmZiAtLWdpdCBhL3JlZi1maWx0ZXIuYyBiL3JlZi1maWx0ZXIuYwppbmRleCBiYzU1MWE3Li5mNWY3YTcwIDEwMDY0NAotLS0gYS9yZWYtZmlsdGVyLmMKKysrIGIvcmVmLWZpbHRlci5jCkBAIC0yMzUsNyArMjM1LDcgQEAKIHsKIAljb25zdCBjaGFyICpzcDsKIAljb25zdCBjaGFyICphcmc7Ci0JaW50IGksIGF0OworCWludCBpLCBhdCwgYXRvbV9sZW47CiAKIAlzcCA9IGF0b207CiAJaWYgKCpzcCA9PSAnKicgJiYgc3AgPCBlcCkKQEAgLTI1MCwxOSArMjUwLDE5IEBACiAJCQlyZXR1cm4gaTsKIAl9CiAKKwkvKgorCSAqIElmIHRoZSBhdG9tIG5hbWUgaGFzIGEgY29sb24sIHN0cmlwIGl0IGFuZCBldmVyeXRoaW5nIGFmdGVyCisJICogaXQgb2ZmIC0gaXQgc3BlY2lmaWVzIHRoZSBmb3JtYXQgZm9yIHRoaXMgZW50cnksIGFuZAorCSAqIHNob3VsZG4ndCBiZSB1c2VkIGZvciBjaGVja2luZyBhZ2FpbnN0IHRoZSB2YWxpZF9hdG9tCisJICogdGFibGUuCisJICovCisJYXJnID0gbWVtY2hyKHNwLCAnOicsIGVwIC0gc3ApOworCWF0b21fbGVuID0gKGFyZyA/IGFyZyA6IGVwKSAtIHNwOworCiAJLyogSXMgdGhlIGF0b20gYSB2YWxpZCBvbmU/ICovCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodmFsaWRfYXRvbSk7IGkrKykgewogCQlpbnQgbGVuID0gc3RybGVuKHZhbGlkX2F0b21baV0ubmFtZSk7Ci0KLQkJLyoKLQkJICogSWYgdGhlIGF0b20gbmFtZSBoYXMgYSBjb2xvbiwgc3RyaXAgaXQgYW5kIGV2ZXJ5dGhpbmcgYWZ0ZXIKLQkJICogaXQgb2ZmIC0gaXQgc3BlY2lmaWVzIHRoZSBmb3JtYXQgZm9yIHRoaXMgZW50cnksIGFuZAotCQkgKiBzaG91bGRuJ3QgYmUgdXNlZCBmb3IgY2hlY2tpbmcgYWdhaW5zdCB0aGUgdmFsaWRfYXRvbQotCQkgKiB0YWJsZS4KLQkJICovCi0JCWFyZyA9IG1lbWNocihzcCwgJzonLCBlcCAtIHNwKTsKLQkJaWYgKGxlbiA9PSAoYXJnID8gYXJnIDogZXApIC0gc3AgJiYKLQkJICAgICFtZW1jbXAodmFsaWRfYXRvbVtpXS5uYW1lLCBzcCwgbGVuKSkKKwkJaWYgKGxlbiA9PSBhdG9tX2xlbiAmJiAhbWVtY21wKHZhbGlkX2F0b21baV0ubmFtZSwgc3AsIGxlbikpCiAJCQlicmVhazsKIAl9CiAKQEAgLTEwMTcsNyArMTAxNyw3IEBACiAKIAkJCWhlYWQgPSByZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCBSRVNPTFZFX1JFRl9SRUFESU5HLAogCQkJCQkJICBzaGExLCBOVUxMKTsKLQkJCWlmICghc3RyY21wKHJlZi0+cmVmbmFtZSwgaGVhZCkpCisJCQlpZiAoaGVhZCAmJiAhc3RyY21wKHJlZi0+cmVmbmFtZSwgaGVhZCkpCiAJCQkJdi0+cyA9ICIqIjsKIAkJCWVsc2UKIAkJCQl2LT5zID0gIiAiOwpAQCAtMTU3MywyNSArMTU3Myw3IEBACiB2b2lkIHJlZl9hcnJheV9zb3J0KHN0cnVjdCByZWZfc29ydGluZyAqc29ydGluZywgc3RydWN0IHJlZl9hcnJheSAqYXJyYXkpCiB7CiAJcmVmX3NvcnRpbmcgPSBzb3J0aW5nOwotCXFzb3J0KGFycmF5LT5pdGVtcywgYXJyYXktPm5yLCBzaXplb2Yoc3RydWN0IHJlZl9hcnJheV9pdGVtICopLCBjb21wYXJlX3JlZnMpOwotfQotCi1zdGF0aWMgaW50IGhleDEoY2hhciBjaCkKLXsKLQlpZiAoJzAnIDw9IGNoICYmIGNoIDw9ICc5JykKLQkJcmV0dXJuIGNoIC0gJzAnOwotCWVsc2UgaWYgKCdhJyA8PSBjaCAmJiBjaCA8PSAnZicpCi0JCXJldHVybiBjaCAtICdhJyArIDEwOwotCWVsc2UgaWYgKCdBJyA8PSBjaCAmJiBjaCA8PSAnRicpCi0JCXJldHVybiBjaCAtICdBJyArIDEwOwotCXJldHVybiAtMTsKLX0KLXN0YXRpYyBpbnQgaGV4Mihjb25zdCBjaGFyICpjcCkKLXsKLQlpZiAoY3BbMF0gJiYgY3BbMV0pCi0JCXJldHVybiAoaGV4MShjcFswXSkgPDwgNCkgfCBoZXgxKGNwWzFdKTsKLQllbHNlCi0JCXJldHVybiAtMTsKKwlRU09SVChhcnJheS0+aXRlbXMsIGFycmF5LT5uciwgY29tcGFyZV9yZWZzKTsKIH0KIAogc3RhdGljIHZvaWQgYXBwZW5kX2xpdGVyYWwoY29uc3QgY2hhciAqY3AsIGNvbnN0IGNoYXIgKmVwLCBzdHJ1Y3QgcmVmX2Zvcm1hdHRpbmdfc3RhdGUgKnN0YXRlKQpAQCAtMTYwMyw3ICsxNTg1LDcgQEAKIAkJCWlmIChjcFsxXSA9PSAnJScpCiAJCQkJY3ArKzsKIAkJCWVsc2UgewotCQkJCWludCBjaCA9IGhleDIoY3AgKyAxKTsKKwkJCQlpbnQgY2ggPSBoZXgyY2hyKGNwICsgMSk7CiAJCQkJaWYgKDAgPD0gY2gpIHsKIAkJCQkJc3RyYnVmX2FkZGNoKHMsIGNoKTsKIAkJCQkJY3AgKz0gMzsKZGlmZiAtLWdpdCBhL3JlZmxvZy13YWxrLmMgYi9yZWZsb2ctd2Fsay5jCmluZGV4IDBlYmQxZGEuLmEyNDZhZjIgMTAwNjQ0Ci0tLSBhL3JlZmxvZy13YWxrLmMKKysrIGIvcmVmbG9nLXdhbGsuYwpAQCAtMjQxLDYgKzI0MSwxMiBAQAogCQlsb2dvYmogPSBwYXJzZV9vYmplY3QocmVmbG9nLT5vc2hhMSk7CiAJfSB3aGlsZSAoY29tbWl0X3JlZmxvZy0+cmVjbm8gJiYgKGxvZ29iaiAmJiBsb2dvYmotPnR5cGUgIT0gT0JKX0NPTU1JVCkpOwogCisJaWYgKCFsb2dvYmogJiYgY29tbWl0X3JlZmxvZy0+cmVjbm8gPj0gMCAmJiBpc19udWxsX3NoYTEocmVmbG9nLT5vc2hhMSkpIHsKKwkJLyogYSByb290IGNvbW1pdCwgYnV0IHRoZXJlIGFyZSBzdGlsbCBtb3JlIGVudHJpZXMgdG8gc2hvdyAqLworCQlyZWZsb2cgPSAmY29tbWl0X3JlZmxvZy0+cmVmbG9ncy0+aXRlbXNbY29tbWl0X3JlZmxvZy0+cmVjbm9dOworCQlsb2dvYmogPSBwYXJzZV9vYmplY3QocmVmbG9nLT5uc2hhMSk7CisJfQorCiAJaWYgKCFsb2dvYmogfHwgbG9nb2JqLT50eXBlICE9IE9CSl9DT01NSVQpIHsKIAkJY29tbWl0X2luZm8tPmNvbW1pdCA9IE5VTEw7CiAJCWNvbW1pdC0+cGFyZW50cyA9IE5VTEw7CmRpZmYgLS1naXQgYS9yZWZzLmMgYi9yZWZzLmMKaW5kZXggODdkYzgyZi4uOWJkMGJjMSAxMDA2NDQKLS0tIGEvcmVmcy5jCisrKyBiL3JlZnMuYwpAQCAtMTAsNiArMTAsMjUgQEAKICNpbmNsdWRlICJ0YWcuaCIKIAogLyoKKyAqIExpc3Qgb2YgYWxsIGF2YWlsYWJsZSBiYWNrZW5kcworICovCitzdGF0aWMgc3RydWN0IHJlZl9zdG9yYWdlX2JlICpyZWZzX2JhY2tlbmRzID0gJnJlZnNfYmVfZmlsZXM7CisKK3N0YXRpYyBzdHJ1Y3QgcmVmX3N0b3JhZ2VfYmUgKmZpbmRfcmVmX3N0b3JhZ2VfYmFja2VuZChjb25zdCBjaGFyICpuYW1lKQoreworCXN0cnVjdCByZWZfc3RvcmFnZV9iZSAqYmU7CisJZm9yIChiZSA9IHJlZnNfYmFja2VuZHM7IGJlOyBiZSA9IGJlLT5uZXh0KQorCQlpZiAoIXN0cmNtcChiZS0+bmFtZSwgbmFtZSkpCisJCQlyZXR1cm4gYmU7CisJcmV0dXJuIE5VTEw7Cit9CisKK2ludCByZWZfc3RvcmFnZV9iYWNrZW5kX2V4aXN0cyhjb25zdCBjaGFyICpuYW1lKQoreworCXJldHVybiBmaW5kX3JlZl9zdG9yYWdlX2JhY2tlbmQobmFtZSkgIT0gTlVMTDsKK30KKworLyoKICAqIEhvdyB0byBoYW5kbGUgdmFyaW91cyBjaGFyYWN0ZXJzIGluIHJlZm5hbWVzOgogICogMDogQW4gYWNjZXB0YWJsZSBjaGFyYWN0ZXIgZm9yIHJlZnMKICAqIDE6IEVuZC1vZi1jb21wb25lbnQKQEAgLTEyMCwyNSArMTM5LDMzIEBACiAKIGludCByZWZuYW1lX2lzX3NhZmUoY29uc3QgY2hhciAqcmVmbmFtZSkKIHsKLQlpZiAoc3RhcnRzX3dpdGgocmVmbmFtZSwgInJlZnMvIikpIHsKKwljb25zdCBjaGFyICpyZXN0OworCisJaWYgKHNraXBfcHJlZml4KHJlZm5hbWUsICJyZWZzLyIsICZyZXN0KSkgewogCQljaGFyICpidWY7CiAJCWludCByZXN1bHQ7CisJCXNpemVfdCByZXN0bGVuID0gc3RybGVuKHJlc3QpOwogCi0JCWJ1ZiA9IHhtYWxsb2N6KHN0cmxlbihyZWZuYW1lKSk7CisJCS8qIHJlc3QgbXVzdCBub3QgYmUgZW1wdHksIG9yIHN0YXJ0IG9yIGVuZCB3aXRoICIvIiAqLworCQlpZiAoIXJlc3RsZW4gfHwgKnJlc3QgPT0gJy8nIHx8IHJlc3RbcmVzdGxlbiAtIDFdID09ICcvJykKKwkJCXJldHVybiAwOworCiAJCS8qCiAJCSAqIERvZXMgdGhlIHJlZm5hbWUgdHJ5IHRvIGVzY2FwZSByZWZzLz8KIAkJICogRm9yIGV4YW1wbGU6IHJlZnMvZm9vLy4uL2JhciBpcyBzYWZlIGJ1dCByZWZzL2Zvby8uLi8uLi9iYXIKIAkJICogaXMgbm90LgogCQkgKi8KLQkJcmVzdWx0ID0gIW5vcm1hbGl6ZV9wYXRoX2NvcHkoYnVmLCByZWZuYW1lICsgc3RybGVuKCJyZWZzLyIpKTsKKwkJYnVmID0geG1hbGxvY3oocmVzdGxlbik7CisJCXJlc3VsdCA9ICFub3JtYWxpemVfcGF0aF9jb3B5KGJ1ZiwgcmVzdCkgJiYgIXN0cmNtcChidWYsIHJlc3QpOwogCQlmcmVlKGJ1Zik7CiAJCXJldHVybiByZXN1bHQ7CiAJfQotCXdoaWxlICgqcmVmbmFtZSkgeworCisJZG8gewogCQlpZiAoIWlzdXBwZXIoKnJlZm5hbWUpICYmICpyZWZuYW1lICE9ICdfJykKIAkJCXJldHVybiAwOwogCQlyZWZuYW1lKys7Ci0JfQorCX0gd2hpbGUgKCpyZWZuYW1lKTsKIAlyZXR1cm4gMTsKIH0KIApAQCAtMzkyLDYgKzQxOSwxMyBAQAogaW50IGR3aW1fcmVmKGNvbnN0IGNoYXIgKnN0ciwgaW50IGxlbiwgdW5zaWduZWQgY2hhciAqc2hhMSwgY2hhciAqKnJlZikKIHsKIAljaGFyICpsYXN0X2JyYW5jaCA9IHN1YnN0aXR1dGVfYnJhbmNoX25hbWUoJnN0ciwgJmxlbik7CisJaW50ICAgcmVmc19mb3VuZCAgPSBleHBhbmRfcmVmKHN0ciwgbGVuLCBzaGExLCByZWYpOworCWZyZWUobGFzdF9icmFuY2gpOworCXJldHVybiByZWZzX2ZvdW5kOworfQorCitpbnQgZXhwYW5kX3JlZihjb25zdCBjaGFyICpzdHIsIGludCBsZW4sIHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNoYXIgKipyZWYpCit7CiAJY29uc3QgY2hhciAqKnAsICpyOwogCWludCByZWZzX2ZvdW5kID0gMDsKIApAQCAtNDE3LDcgKzQ1MSw2IEBACiAJCQl3YXJuaW5nKCJpZ25vcmluZyBicm9rZW4gcmVmICVzLiIsIGZ1bGxyZWYpOwogCQl9CiAJfQotCWZyZWUobGFzdF9icmFuY2gpOwogCXJldHVybiByZWZzX2ZvdW5kOwogfQogCkBAIC00OTYsNyArNTI5LDcgQEAKIAlmaWxlbmFtZSA9IGdpdF9wYXRoKCIlcyIsIHBzZXVkb3JlZik7CiAJZmQgPSBob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKCZsb2NrLCBmaWxlbmFtZSwgTE9DS19ESUVfT05fRVJST1IpOwogCWlmIChmZCA8IDApIHsKLQkJc3RyYnVmX2FkZGYoZXJyLCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZzogJXMiLAorCQlzdHJidWZfYWRkZihlcnIsICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nOiAlcyIsCiAJCQkgICAgZmlsZW5hbWUsIHN0cmVycm9yKGVycm5vKSk7CiAJCXJldHVybiAtMTsKIAl9CkBAIC01MDcsMTQgKzU0MCwxNCBAQAogCQlpZiAocmVhZF9yZWYocHNldWRvcmVmLCBhY3R1YWxfb2xkX3NoYTEpKQogCQkJZGllKCJjb3VsZCBub3QgcmVhZCByZWYgJyVzJyIsIHBzZXVkb3JlZik7CiAJCWlmIChoYXNoY21wKGFjdHVhbF9vbGRfc2hhMSwgb2xkX3NoYTEpKSB7Ci0JCQlzdHJidWZfYWRkZihlcnIsICJVbmV4cGVjdGVkIHNoYTEgd2hlbiB3cml0aW5nICVzIiwgcHNldWRvcmVmKTsKKwkJCXN0cmJ1Zl9hZGRmKGVyciwgInVuZXhwZWN0ZWQgc2hhMSB3aGVuIHdyaXRpbmcgJyVzJyIsIHBzZXVkb3JlZik7CiAJCQlyb2xsYmFja19sb2NrX2ZpbGUoJmxvY2spOwogCQkJZ290byBkb25lOwogCQl9CiAJfQogCiAJaWYgKHdyaXRlX2luX2Z1bGwoZmQsIGJ1Zi5idWYsIGJ1Zi5sZW4pICE9IGJ1Zi5sZW4pIHsKLQkJc3RyYnVmX2FkZGYoZXJyLCAiQ291bGQgbm90IHdyaXRlIHRvICclcyciLCBmaWxlbmFtZSk7CisJCXN0cmJ1Zl9hZGRmKGVyciwgImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIiwgZmlsZW5hbWUpOwogCQlyb2xsYmFja19sb2NrX2ZpbGUoJmxvY2spOwogCQlnb3RvIGRvbmU7CiAJfQpAQCAtNzU4LDEzICs3OTEsMzIgQEAKIAlmcmVlKHRyYW5zYWN0aW9uKTsKIH0KIAotc3RhdGljIHN0cnVjdCByZWZfdXBkYXRlICphZGRfdXBkYXRlKHN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uLAotCQkJCSAgICAgY29uc3QgY2hhciAqcmVmbmFtZSkKK3N0cnVjdCByZWZfdXBkYXRlICpyZWZfdHJhbnNhY3Rpb25fYWRkX3VwZGF0ZSgKKwkJc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCisJCWNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGludCBmbGFncywKKwkJY29uc3QgdW5zaWduZWQgY2hhciAqbmV3X3NoYTEsCisJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLAorCQljb25zdCBjaGFyICptc2cpCiB7CiAJc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZTsKKworCWlmICh0cmFuc2FjdGlvbi0+c3RhdGUgIT0gUkVGX1RSQU5TQUNUSU9OX09QRU4pCisJCWRpZSgiQlVHOiB1cGRhdGUgY2FsbGVkIGZvciB0cmFuc2FjdGlvbiB0aGF0IGlzIG5vdCBvcGVuIik7CisKKwlpZiAoKGZsYWdzICYgUkVGX0lTUFJVTklORykgJiYgIShmbGFncyAmIFJFRl9OT0RFUkVGKSkKKwkJZGllKCJCVUc6IFJFRl9JU1BSVU5JTkcgc2V0IHdpdGhvdXQgUkVGX05PREVSRUYiKTsKKwogCUZMRVhfQUxMT0NfU1RSKHVwZGF0ZSwgcmVmbmFtZSwgcmVmbmFtZSk7CiAJQUxMT0NfR1JPVyh0cmFuc2FjdGlvbi0+dXBkYXRlcywgdHJhbnNhY3Rpb24tPm5yICsgMSwgdHJhbnNhY3Rpb24tPmFsbG9jKTsKIAl0cmFuc2FjdGlvbi0+dXBkYXRlc1t0cmFuc2FjdGlvbi0+bnIrK10gPSB1cGRhdGU7CisKKwl1cGRhdGUtPmZsYWdzID0gZmxhZ3M7CisKKwlpZiAoZmxhZ3MgJiBSRUZfSEFWRV9ORVcpCisJCWhhc2hjcHkodXBkYXRlLT5uZXdfc2hhMSwgbmV3X3NoYTEpOworCWlmIChmbGFncyAmIFJFRl9IQVZFX09MRCkKKwkJaGFzaGNweSh1cGRhdGUtPm9sZF9zaGExLCBvbGRfc2hhMSk7CisJdXBkYXRlLT5tc2cgPSB4c3RyZHVwX29yX251bGwobXNnKTsKIAlyZXR1cm4gdXBkYXRlOwogfQogCkBAIC03NzUsMzIgKzgyNywyMCBAQAogCQkJICAgdW5zaWduZWQgaW50IGZsYWdzLCBjb25zdCBjaGFyICptc2csCiAJCQkgICBzdHJ1Y3Qgc3RyYnVmICplcnIpCiB7Ci0Jc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZTsKLQogCWFzc2VydChlcnIpOwogCi0JaWYgKHRyYW5zYWN0aW9uLT5zdGF0ZSAhPSBSRUZfVFJBTlNBQ1RJT05fT1BFTikKLQkJZGllKCJCVUc6IHVwZGF0ZSBjYWxsZWQgZm9yIHRyYW5zYWN0aW9uIHRoYXQgaXMgbm90IG9wZW4iKTsKLQotCWlmIChuZXdfc2hhMSAmJiAhaXNfbnVsbF9zaGExKG5ld19zaGExKSAmJgotCSAgICBjaGVja19yZWZuYW1lX2Zvcm1hdChyZWZuYW1lLCBSRUZOQU1FX0FMTE9XX09ORUxFVkVMKSkgewotCQlzdHJidWZfYWRkZihlcnIsICJyZWZ1c2luZyB0byB1cGRhdGUgcmVmIHdpdGggYmFkIG5hbWUgJXMiLAorCWlmICgobmV3X3NoYTEgJiYgIWlzX251bGxfc2hhMShuZXdfc2hhMSkpID8KKwkgICAgY2hlY2tfcmVmbmFtZV9mb3JtYXQocmVmbmFtZSwgUkVGTkFNRV9BTExPV19PTkVMRVZFTCkgOgorCSAgICAhcmVmbmFtZV9pc19zYWZlKHJlZm5hbWUpKSB7CisJCXN0cmJ1Zl9hZGRmKGVyciwgInJlZnVzaW5nIHRvIHVwZGF0ZSByZWYgd2l0aCBiYWQgbmFtZSAnJXMnIiwKIAkJCSAgICByZWZuYW1lKTsKIAkJcmV0dXJuIC0xOwogCX0KIAotCXVwZGF0ZSA9IGFkZF91cGRhdGUodHJhbnNhY3Rpb24sIHJlZm5hbWUpOwotCWlmIChuZXdfc2hhMSkgewotCQloYXNoY3B5KHVwZGF0ZS0+bmV3X3NoYTEsIG5ld19zaGExKTsKLQkJZmxhZ3MgfD0gUkVGX0hBVkVfTkVXOwotCX0KLQlpZiAob2xkX3NoYTEpIHsKLQkJaGFzaGNweSh1cGRhdGUtPm9sZF9zaGExLCBvbGRfc2hhMSk7Ci0JCWZsYWdzIHw9IFJFRl9IQVZFX09MRDsKLQl9Ci0JdXBkYXRlLT5mbGFncyA9IGZsYWdzOwotCWlmIChtc2cpCi0JCXVwZGF0ZS0+bXNnID0geHN0cmR1cChtc2cpOworCWZsYWdzIHw9IChuZXdfc2hhMSA/IFJFRl9IQVZFX05FVyA6IDApIHwgKG9sZF9zaGExID8gUkVGX0hBVkVfT0xEIDogMCk7CisKKwlyZWZfdHJhbnNhY3Rpb25fYWRkX3VwZGF0ZSh0cmFuc2FjdGlvbiwgcmVmbmFtZSwgZmxhZ3MsCisJCQkJICAgbmV3X3NoYTEsIG9sZF9zaGExLCBtc2cpOwogCXJldHVybiAwOwogfQogCkBAIC04NDIsNiArODgyLDE0IEBACiAJCQkJICAgICAgZmxhZ3MsIE5VTEwsIGVycik7CiB9CiAKK2ludCB1cGRhdGVfcmVmX29pZChjb25zdCBjaGFyICptc2csIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJICAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm5ld19vaWQsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9sZF9vaWQsCisJICAgICAgIHVuc2lnbmVkIGludCBmbGFncywgZW51bSBhY3Rpb25fb25fZXJyIG9uZXJyKQoreworCXJldHVybiB1cGRhdGVfcmVmKG1zZywgcmVmbmFtZSwgbmV3X29pZCA/IG5ld19vaWQtPmhhc2ggOiBOVUxMLAorCQlvbGRfb2lkID8gb2xkX29pZC0+aGFzaCA6IE5VTEwsIGZsYWdzLCBvbmVycik7Cit9CisKIGludCB1cGRhdGVfcmVmKGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqcmVmbmFtZSwKIAkgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqbmV3X3NoYTEsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLAogCSAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MsIGVudW0gYWN0aW9uX29uX2VyciBvbmVycikKQEAgLTkwNiw3ICs5NTQsNyBAQAogCQkJLyogLTIgZm9yIHN0cmxlbigiJS4qcyIpIC0gc3RybGVuKCIlcyIpOyArMSBmb3IgTlVMICovCiAJCQl0b3RhbF9sZW4gKz0gc3RybGVuKHJlZl9yZXZfcGFyc2VfcnVsZXNbbnJfcnVsZXNdKSAtIDIgKyAxOwogCi0JCXNjYW5mX2ZtdHMgPSB4bWFsbG9jKHN0X2FkZChzdF9tdWx0KG5yX3J1bGVzLCBzaXplb2YoY2hhciAqKSksIHRvdGFsX2xlbikpOworCQlzY2FuZl9mbXRzID0geG1hbGxvYyhzdF9hZGQoc3RfbXVsdChzaXplb2YoY2hhciAqKSwgbnJfcnVsZXMpLCB0b3RhbF9sZW4pKTsKIAogCQlvZmZzZXQgPSAwOwogCQlmb3IgKGkgPSAwOyBpIDwgbnJfcnVsZXM7IGkrKykgewpAQCAtMTA2NSwyMCArMTExMywyMCBAQAogCXJldHVybiBOVUxMOwogfQogCi1pbnQgcmVuYW1lX3JlZl9hdmFpbGFibGUoY29uc3QgY2hhciAqb2xkbmFtZSwgY29uc3QgY2hhciAqbmV3bmFtZSkKK2ludCByZW5hbWVfcmVmX2F2YWlsYWJsZShjb25zdCBjaGFyICpvbGRfcmVmbmFtZSwgY29uc3QgY2hhciAqbmV3X3JlZm5hbWUpCiB7CiAJc3RydWN0IHN0cmluZ19saXN0IHNraXAgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCXN0cnVjdCBzdHJidWYgZXJyID0gU1RSQlVGX0lOSVQ7Ci0JaW50IHJldDsKKwlpbnQgb2s7CiAKLQlzdHJpbmdfbGlzdF9pbnNlcnQoJnNraXAsIG9sZG5hbWUpOwotCXJldCA9ICF2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGUobmV3bmFtZSwgTlVMTCwgJnNraXAsICZlcnIpOwotCWlmICghcmV0KQorCXN0cmluZ19saXN0X2luc2VydCgmc2tpcCwgb2xkX3JlZm5hbWUpOworCW9rID0gIXZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZShuZXdfcmVmbmFtZSwgTlVMTCwgJnNraXAsICZlcnIpOworCWlmICghb2spCiAJCWVycm9yKCIlcyIsIGVyci5idWYpOwogCiAJc3RyaW5nX2xpc3RfY2xlYXIoJnNraXAsIDApOwogCXN0cmJ1Zl9yZWxlYXNlKCZlcnIpOwotCXJldHVybiByZXQ7CisJcmV0dXJuIG9rOwogfQogCiBpbnQgaGVhZF9yZWZfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpCkBAIC0xMTA0LDYgKzExNTIsMzAgQEAKIAlyZXR1cm4gaGVhZF9yZWZfc3VibW9kdWxlKE5VTEwsIGZuLCBjYl9kYXRhKTsKIH0KIAorLyoKKyAqIENhbGwgZm4gZm9yIGVhY2ggcmVmZXJlbmNlIGluIHRoZSBzcGVjaWZpZWQgc3VibW9kdWxlIGZvciB3aGljaCB0aGUKKyAqIHJlZm5hbWUgYmVnaW5zIHdpdGggcHJlZml4LiBJZiB0cmltIGlzIG5vbi16ZXJvLCB0aGVuIHRyaW0gdGhhdAorICogbWFueSBjaGFyYWN0ZXJzIG9mZiB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggcmVmbmFtZSBiZWZvcmUgcGFzc2luZworICogdGhlIHJlZm5hbWUgdG8gZm4uIGZsYWdzIGNhbiBiZSBET19GT1JfRUFDSF9JTkNMVURFX0JST0tFTiB0bworICogaW5jbHVkZSBicm9rZW4gcmVmZXJlbmNlcyBpbiB0aGUgaXRlcmF0aW9uLiBJZiBmbiBldmVyIHJldHVybnMgYQorICogbm9uLXplcm8gdmFsdWUsIHN0b3AgdGhlIGl0ZXJhdGlvbiBhbmQgcmV0dXJuIHRoYXQgdmFsdWU7CisgKiBvdGhlcndpc2UsIHJldHVybiAwLgorICovCitzdGF0aWMgaW50IGRvX2Zvcl9lYWNoX3JlZihjb25zdCBjaGFyICpzdWJtb2R1bGUsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCSAgIGVhY2hfcmVmX2ZuIGZuLCBpbnQgdHJpbSwgaW50IGZsYWdzLCB2b2lkICpjYl9kYXRhKQoreworCXN0cnVjdCByZWZfc3RvcmUgKnJlZnMgPSBnZXRfcmVmX3N0b3JlKHN1Ym1vZHVsZSk7CisJc3RydWN0IHJlZl9pdGVyYXRvciAqaXRlcjsKKworCWlmICghcmVmcykKKwkJcmV0dXJuIDA7CisKKwlpdGVyID0gcmVmcy0+YmUtPml0ZXJhdG9yX2JlZ2luKHJlZnMsIHByZWZpeCwgZmxhZ3MpOworCWl0ZXIgPSBwcmVmaXhfcmVmX2l0ZXJhdG9yX2JlZ2luKGl0ZXIsIHByZWZpeCwgdHJpbSk7CisKKwlyZXR1cm4gZG9fZm9yX2VhY2hfcmVmX2l0ZXJhdG9yKGl0ZXIsIGZuLCBjYl9kYXRhKTsKK30KKwogaW50IGZvcl9lYWNoX3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKIHsKIAlyZXR1cm4gZG9fZm9yX2VhY2hfcmVmKE5VTEwsICIiLCBmbiwgMCwgMCwgY2JfZGF0YSk7CkBAIC0xMTU3LDggKzEyMjksMTAgQEAKIH0KIAogLyogVGhpcyBmdW5jdGlvbiBuZWVkcyB0byByZXR1cm4gYSBtZWFuaW5nZnVsIGVycm5vIG9uIGZhaWx1cmUgKi8KLWNvbnN0IGNoYXIgKnJlc29sdmVfcmVmX3Vuc2FmZShjb25zdCBjaGFyICpyZWZuYW1lLCBpbnQgcmVzb2x2ZV9mbGFncywKLQkJCSAgICAgICB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgKmZsYWdzKQorc3RhdGljIGNvbnN0IGNoYXIgKnJlc29sdmVfcmVmX3JlY3Vyc2l2ZWx5KHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCQkJCSAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCQkJCSAgIGludCByZXNvbHZlX2ZsYWdzLAorCQkJCQkgICB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgKmZsYWdzKQogewogCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIHNiX3JlZm5hbWUgPSBTVFJCVUZfSU5JVDsKIAlpbnQgdW51c2VkX2ZsYWdzOwpAQCAtMTE5MCw3ICsxMjY0LDggQEAKIAlmb3IgKHN5bXJlZl9jb3VudCA9IDA7IHN5bXJlZl9jb3VudCA8IFNZTVJFRl9NQVhERVBUSDsgc3ltcmVmX2NvdW50KyspIHsKIAkJdW5zaWduZWQgaW50IHJlYWRfZmxhZ3MgPSAwOwogCi0JCWlmIChyZWFkX3Jhd19yZWYocmVmbmFtZSwgc2hhMSwgJnNiX3JlZm5hbWUsICZyZWFkX2ZsYWdzKSkgeworCQlpZiAocmVmcy0+YmUtPnJlYWRfcmF3X3JlZihyZWZzLCByZWZuYW1lLAorCQkJCQkgICBzaGExLCAmc2JfcmVmbmFtZSwgJnJlYWRfZmxhZ3MpKSB7CiAJCQkqZmxhZ3MgfD0gcmVhZF9mbGFnczsKIAkJCWlmIChlcnJubyAhPSBFTk9FTlQgfHwgKHJlc29sdmVfZmxhZ3MgJiBSRVNPTFZFX1JFRl9SRUFESU5HKSkKIAkJCQlyZXR1cm4gTlVMTDsKQEAgLTEyMjksMyArMTMwNCwyNjYgQEAKIAllcnJubyA9IEVMT09QOwogCXJldHVybiBOVUxMOwogfQorCisvKiBiYWNrZW5kIGZ1bmN0aW9ucyAqLworaW50IHJlZnNfaW5pdF9kYihzdHJ1Y3Qgc3RyYnVmICplcnIpCit7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoTlVMTCk7CisKKwlyZXR1cm4gcmVmcy0+YmUtPmluaXRfZGIocmVmcywgZXJyKTsKK30KKworY29uc3QgY2hhciAqcmVzb2x2ZV9yZWZfdW5zYWZlKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCByZXNvbHZlX2ZsYWdzLAorCQkJICAgICAgIHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCAqZmxhZ3MpCit7CisJcmV0dXJuIHJlc29sdmVfcmVmX3JlY3Vyc2l2ZWx5KGdldF9yZWZfc3RvcmUoTlVMTCksIHJlZm5hbWUsCisJCQkJICAgICAgIHJlc29sdmVfZmxhZ3MsIHNoYTEsIGZsYWdzKTsKK30KKworaW50IHJlc29sdmVfZ2l0bGlua19yZWYoY29uc3QgY2hhciAqc3VibW9kdWxlLCBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJdW5zaWduZWQgY2hhciAqc2hhMSkKK3sKKwlzaXplX3QgbGVuID0gc3RybGVuKHN1Ym1vZHVsZSk7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmczsKKwlpbnQgZmxhZ3M7CisKKwl3aGlsZSAobGVuICYmIHN1Ym1vZHVsZVtsZW4gLSAxXSA9PSAnLycpCisJCWxlbi0tOworCisJaWYgKCFsZW4pCisJCXJldHVybiAtMTsKKworCWlmIChzdWJtb2R1bGVbbGVuXSkgeworCQkvKiBXZSBuZWVkIHRvIHN0cmlwIG9mZiBvbmUgb3IgbW9yZSB0cmFpbGluZyBzbGFzaGVzICovCisJCWNoYXIgKnN0cmlwcGVkID0geG1lbWR1cHooc3VibW9kdWxlLCBsZW4pOworCisJCXJlZnMgPSBnZXRfcmVmX3N0b3JlKHN0cmlwcGVkKTsKKwkJZnJlZShzdHJpcHBlZCk7CisJfSBlbHNlIHsKKwkJcmVmcyA9IGdldF9yZWZfc3RvcmUoc3VibW9kdWxlKTsKKwl9CisKKwlpZiAoIXJlZnMpCisJCXJldHVybiAtMTsKKworCWlmICghcmVzb2x2ZV9yZWZfcmVjdXJzaXZlbHkocmVmcywgcmVmbmFtZSwgMCwgc2hhMSwgJmZsYWdzKSB8fAorCSAgICBpc19udWxsX3NoYTEoc2hhMSkpCisJCXJldHVybiAtMTsKKwlyZXR1cm4gMDsKK30KKworLyogQSBwb2ludGVyIHRvIHRoZSByZWZfc3RvcmUgZm9yIHRoZSBtYWluIHJlcG9zaXRvcnk6ICovCitzdGF0aWMgc3RydWN0IHJlZl9zdG9yZSAqbWFpbl9yZWZfc3RvcmU7CisKKy8qIEEgbGlua2VkIGxpc3Qgb2YgcmVmX3N0b3JlcyBmb3Igc3VibW9kdWxlczogKi8KK3N0YXRpYyBzdHJ1Y3QgcmVmX3N0b3JlICpzdWJtb2R1bGVfcmVmX3N0b3JlczsKKwordm9pZCBiYXNlX3JlZl9zdG9yZV9pbml0KHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCQkgY29uc3Qgc3RydWN0IHJlZl9zdG9yYWdlX2JlICpiZSwKKwkJCSBjb25zdCBjaGFyICpzdWJtb2R1bGUpCit7CisJcmVmcy0+YmUgPSBiZTsKKwlpZiAoIXN1Ym1vZHVsZSkgeworCQlpZiAobWFpbl9yZWZfc3RvcmUpCisJCQlkaWUoIkJVRzogbWFpbl9yZWZfc3RvcmUgaW5pdGlhbGl6ZWQgdHdpY2UiKTsKKworCQlyZWZzLT5zdWJtb2R1bGUgPSAiIjsKKwkJcmVmcy0+bmV4dCA9IE5VTEw7CisJCW1haW5fcmVmX3N0b3JlID0gcmVmczsKKwl9IGVsc2UgeworCQlpZiAobG9va3VwX3JlZl9zdG9yZShzdWJtb2R1bGUpKQorCQkJZGllKCJCVUc6IHJlZl9zdG9yZSBmb3Igc3VibW9kdWxlICclcycgaW5pdGlhbGl6ZWQgdHdpY2UiLAorCQkJICAgIHN1Ym1vZHVsZSk7CisKKwkJcmVmcy0+c3VibW9kdWxlID0geHN0cmR1cChzdWJtb2R1bGUpOworCQlyZWZzLT5uZXh0ID0gc3VibW9kdWxlX3JlZl9zdG9yZXM7CisJCXN1Ym1vZHVsZV9yZWZfc3RvcmVzID0gcmVmczsKKwl9Cit9CisKK3N0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZV9pbml0KGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSkKK3sKKwljb25zdCBjaGFyICpiZV9uYW1lID0gImZpbGVzIjsKKwlzdHJ1Y3QgcmVmX3N0b3JhZ2VfYmUgKmJlID0gZmluZF9yZWZfc3RvcmFnZV9iYWNrZW5kKGJlX25hbWUpOworCisJaWYgKCFiZSkKKwkJZGllKCJCVUc6IHJlZmVyZW5jZSBiYWNrZW5kICVzIGlzIHVua25vd24iLCBiZV9uYW1lKTsKKworCWlmICghc3VibW9kdWxlIHx8ICEqc3VibW9kdWxlKQorCQlyZXR1cm4gYmUtPmluaXQoTlVMTCk7CisJZWxzZQorCQlyZXR1cm4gYmUtPmluaXQoc3VibW9kdWxlKTsKK30KKworc3RydWN0IHJlZl9zdG9yZSAqbG9va3VwX3JlZl9zdG9yZShjb25zdCBjaGFyICpzdWJtb2R1bGUpCit7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmczsKKworCWlmICghc3VibW9kdWxlIHx8ICEqc3VibW9kdWxlKQorCQlyZXR1cm4gbWFpbl9yZWZfc3RvcmU7CisKKwlmb3IgKHJlZnMgPSBzdWJtb2R1bGVfcmVmX3N0b3JlczsgcmVmczsgcmVmcyA9IHJlZnMtPm5leHQpIHsKKwkJaWYgKCFzdHJjbXAoc3VibW9kdWxlLCByZWZzLT5zdWJtb2R1bGUpKQorCQkJcmV0dXJuIHJlZnM7CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKK3N0cnVjdCByZWZfc3RvcmUgKmdldF9yZWZfc3RvcmUoY29uc3QgY2hhciAqc3VibW9kdWxlKQoreworCXN0cnVjdCByZWZfc3RvcmUgKnJlZnM7CisKKwlpZiAoIXN1Ym1vZHVsZSB8fCAhKnN1Ym1vZHVsZSkgeworCQlyZWZzID0gbG9va3VwX3JlZl9zdG9yZShOVUxMKTsKKworCQlpZiAoIXJlZnMpCisJCQlyZWZzID0gcmVmX3N0b3JlX2luaXQoTlVMTCk7CisJfSBlbHNlIHsKKwkJcmVmcyA9IGxvb2t1cF9yZWZfc3RvcmUoc3VibW9kdWxlKTsKKworCQlpZiAoIXJlZnMpIHsKKwkJCXN0cnVjdCBzdHJidWYgc3VibW9kdWxlX3NiID0gU1RSQlVGX0lOSVQ7CisKKwkJCXN0cmJ1Zl9hZGRzdHIoJnN1Ym1vZHVsZV9zYiwgc3VibW9kdWxlKTsKKwkJCWlmIChpc19ub25iYXJlX3JlcG9zaXRvcnlfZGlyKCZzdWJtb2R1bGVfc2IpKQorCQkJCXJlZnMgPSByZWZfc3RvcmVfaW5pdChzdWJtb2R1bGUpOworCQkJc3RyYnVmX3JlbGVhc2UoJnN1Ym1vZHVsZV9zYik7CisJCX0KKwl9CisKKwlyZXR1cm4gcmVmczsKK30KKwordm9pZCBhc3NlcnRfbWFpbl9yZXBvc2l0b3J5KHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsIGNvbnN0IGNoYXIgKmNhbGxlcikKK3sKKwlpZiAoKnJlZnMtPnN1Ym1vZHVsZSkKKwkJZGllKCJCVUc6ICVzIGNhbGxlZCBmb3IgYSBzdWJtb2R1bGUiLCBjYWxsZXIpOworfQorCisvKiBiYWNrZW5kIGZ1bmN0aW9ucyAqLworaW50IHBhY2tfcmVmcyh1bnNpZ25lZCBpbnQgZmxhZ3MpCit7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoTlVMTCk7CisKKwlyZXR1cm4gcmVmcy0+YmUtPnBhY2tfcmVmcyhyZWZzLCBmbGFncyk7Cit9CisKK2ludCBwZWVsX3JlZihjb25zdCBjaGFyICpyZWZuYW1lLCB1bnNpZ25lZCBjaGFyICpzaGExKQoreworCXN0cnVjdCByZWZfc3RvcmUgKnJlZnMgPSBnZXRfcmVmX3N0b3JlKE5VTEwpOworCisJcmV0dXJuIHJlZnMtPmJlLT5wZWVsX3JlZihyZWZzLCByZWZuYW1lLCBzaGExKTsKK30KKworaW50IGNyZWF0ZV9zeW1yZWYoY29uc3QgY2hhciAqcmVmX3RhcmdldCwgY29uc3QgY2hhciAqcmVmc19oZWFkc19tYXN0ZXIsCisJCSAgY29uc3QgY2hhciAqbG9nbXNnKQoreworCXN0cnVjdCByZWZfc3RvcmUgKnJlZnMgPSBnZXRfcmVmX3N0b3JlKE5VTEwpOworCisJcmV0dXJuIHJlZnMtPmJlLT5jcmVhdGVfc3ltcmVmKHJlZnMsIHJlZl90YXJnZXQsIHJlZnNfaGVhZHNfbWFzdGVyLAorCQkJCSAgICAgICBsb2dtc2cpOworfQorCitpbnQgcmVmX3RyYW5zYWN0aW9uX2NvbW1pdChzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICp0cmFuc2FjdGlvbiwKKwkJCSAgIHN0cnVjdCBzdHJidWYgKmVycikKK3sKKwlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzID0gZ2V0X3JlZl9zdG9yZShOVUxMKTsKKworCXJldHVybiByZWZzLT5iZS0+dHJhbnNhY3Rpb25fY29tbWl0KHJlZnMsIHRyYW5zYWN0aW9uLCBlcnIpOworfQorCitpbnQgdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlKGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCQkgICAgIGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqZXh0cmEsCisJCQkgICAgIGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqc2tpcCwKKwkJCSAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQoreworCXN0cnVjdCByZWZfc3RvcmUgKnJlZnMgPSBnZXRfcmVmX3N0b3JlKE5VTEwpOworCisJcmV0dXJuIHJlZnMtPmJlLT52ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGUocmVmcywgcmVmbmFtZSwgZXh0cmEsIHNraXAsIGVycik7Cit9CisKK2ludCBmb3JfZWFjaF9yZWZsb2coZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpCit7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoTlVMTCk7CisJc3RydWN0IHJlZl9pdGVyYXRvciAqaXRlcjsKKworCWl0ZXIgPSByZWZzLT5iZS0+cmVmbG9nX2l0ZXJhdG9yX2JlZ2luKHJlZnMpOworCisJcmV0dXJuIGRvX2Zvcl9lYWNoX3JlZl9pdGVyYXRvcihpdGVyLCBmbiwgY2JfZGF0YSk7Cit9CisKK2ludCBmb3JfZWFjaF9yZWZsb2dfZW50X3JldmVyc2UoY29uc3QgY2hhciAqcmVmbmFtZSwgZWFjaF9yZWZsb2dfZW50X2ZuIGZuLAorCQkJCXZvaWQgKmNiX2RhdGEpCit7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoTlVMTCk7CisKKwlyZXR1cm4gcmVmcy0+YmUtPmZvcl9lYWNoX3JlZmxvZ19lbnRfcmV2ZXJzZShyZWZzLCByZWZuYW1lLAorCQkJCQkJICAgICBmbiwgY2JfZGF0YSk7Cit9CisKK2ludCBmb3JfZWFjaF9yZWZsb2dfZW50KGNvbnN0IGNoYXIgKnJlZm5hbWUsIGVhY2hfcmVmbG9nX2VudF9mbiBmbiwKKwkJCXZvaWQgKmNiX2RhdGEpCit7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoTlVMTCk7CisKKwlyZXR1cm4gcmVmcy0+YmUtPmZvcl9lYWNoX3JlZmxvZ19lbnQocmVmcywgcmVmbmFtZSwgZm4sIGNiX2RhdGEpOworfQorCitpbnQgcmVmbG9nX2V4aXN0cyhjb25zdCBjaGFyICpyZWZuYW1lKQoreworCXN0cnVjdCByZWZfc3RvcmUgKnJlZnMgPSBnZXRfcmVmX3N0b3JlKE5VTEwpOworCisJcmV0dXJuIHJlZnMtPmJlLT5yZWZsb2dfZXhpc3RzKHJlZnMsIHJlZm5hbWUpOworfQorCitpbnQgc2FmZV9jcmVhdGVfcmVmbG9nKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCBmb3JjZV9jcmVhdGUsCisJCSAgICAgICBzdHJ1Y3Qgc3RyYnVmICplcnIpCit7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoTlVMTCk7CisKKwlyZXR1cm4gcmVmcy0+YmUtPmNyZWF0ZV9yZWZsb2cocmVmcywgcmVmbmFtZSwgZm9yY2VfY3JlYXRlLCBlcnIpOworfQorCitpbnQgZGVsZXRlX3JlZmxvZyhjb25zdCBjaGFyICpyZWZuYW1lKQoreworCXN0cnVjdCByZWZfc3RvcmUgKnJlZnMgPSBnZXRfcmVmX3N0b3JlKE5VTEwpOworCisJcmV0dXJuIHJlZnMtPmJlLT5kZWxldGVfcmVmbG9nKHJlZnMsIHJlZm5hbWUpOworfQorCitpbnQgcmVmbG9nX2V4cGlyZShjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkgIHVuc2lnbmVkIGludCBmbGFncywKKwkJICByZWZsb2dfZXhwaXJ5X3ByZXBhcmVfZm4gcHJlcGFyZV9mbiwKKwkJICByZWZsb2dfZXhwaXJ5X3Nob3VsZF9wcnVuZV9mbiBzaG91bGRfcHJ1bmVfZm4sCisJCSAgcmVmbG9nX2V4cGlyeV9jbGVhbnVwX2ZuIGNsZWFudXBfZm4sCisJCSAgdm9pZCAqcG9saWN5X2NiX2RhdGEpCit7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoTlVMTCk7CisKKwlyZXR1cm4gcmVmcy0+YmUtPnJlZmxvZ19leHBpcmUocmVmcywgcmVmbmFtZSwgc2hhMSwgZmxhZ3MsCisJCQkJICAgICAgIHByZXBhcmVfZm4sIHNob3VsZF9wcnVuZV9mbiwKKwkJCQkgICAgICAgY2xlYW51cF9mbiwgcG9saWN5X2NiX2RhdGEpOworfQorCitpbnQgaW5pdGlhbF9yZWZfdHJhbnNhY3Rpb25fY29tbWl0KHN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uLAorCQkJCSAgIHN0cnVjdCBzdHJidWYgKmVycikKK3sKKwlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzID0gZ2V0X3JlZl9zdG9yZShOVUxMKTsKKworCXJldHVybiByZWZzLT5iZS0+aW5pdGlhbF90cmFuc2FjdGlvbl9jb21taXQocmVmcywgdHJhbnNhY3Rpb24sIGVycik7Cit9CisKK2ludCBkZWxldGVfcmVmcyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJlZm5hbWVzLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCit7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoTlVMTCk7CisKKwlyZXR1cm4gcmVmcy0+YmUtPmRlbGV0ZV9yZWZzKHJlZnMsIHJlZm5hbWVzLCBmbGFncyk7Cit9CisKK2ludCByZW5hbWVfcmVmKGNvbnN0IGNoYXIgKm9sZHJlZiwgY29uc3QgY2hhciAqbmV3cmVmLCBjb25zdCBjaGFyICpsb2dtc2cpCit7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9yZWZfc3RvcmUoTlVMTCk7CisKKwlyZXR1cm4gcmVmcy0+YmUtPnJlbmFtZV9yZWYocmVmcywgb2xkcmVmLCBuZXdyZWYsIGxvZ21zZyk7Cit9CmRpZmYgLS1naXQgYS9yZWZzLmggYi9yZWZzLmgKaW5kZXggOTIzMGQ0Ny4uNjk0Nzg0MyAxMDA2NDQKLS0tIGEvcmVmcy5oCisrKyBiL3JlZnMuaApAQCAtNTIsMTkgKzUyLDIxIEBACiAjZGVmaW5lIFJFU09MVkVfUkVGX05PX1JFQ1VSU0UgMHgwMgogI2RlZmluZSBSRVNPTFZFX1JFRl9BTExPV19CQURfTkFNRSAweDA0CiAKLWV4dGVybiBjb25zdCBjaGFyICpyZXNvbHZlX3JlZl91bnNhZmUoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IHJlc29sdmVfZmxhZ3MsCi0JCQkJICAgICAgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50ICpmbGFncyk7Citjb25zdCBjaGFyICpyZXNvbHZlX3JlZl91bnNhZmUoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IHJlc29sdmVfZmxhZ3MsCisJCQkgICAgICAgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50ICpmbGFncyk7CiAKLWV4dGVybiBjaGFyICpyZXNvbHZlX3JlZmR1cChjb25zdCBjaGFyICpyZWZuYW1lLCBpbnQgcmVzb2x2ZV9mbGFncywKLQkJCSAgICB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgKmZsYWdzKTsKK2NoYXIgKnJlc29sdmVfcmVmZHVwKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCByZXNvbHZlX2ZsYWdzLAorCQkgICAgIHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCAqZmxhZ3MpOwogCi1leHRlcm4gaW50IHJlYWRfcmVmX2Z1bGwoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IHJlc29sdmVfZmxhZ3MsCi0JCQkgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50ICpmbGFncyk7Ci1leHRlcm4gaW50IHJlYWRfcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGNoYXIgKnNoYTEpOworaW50IHJlYWRfcmVmX2Z1bGwoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IHJlc29sdmVfZmxhZ3MsCisJCSAgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50ICpmbGFncyk7CitpbnQgcmVhZF9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwgdW5zaWduZWQgY2hhciAqc2hhMSk7CiAKLWV4dGVybiBpbnQgcmVmX2V4aXN0cyhjb25zdCBjaGFyICpyZWZuYW1lKTsKK2ludCByZWZfZXhpc3RzKGNvbnN0IGNoYXIgKnJlZm5hbWUpOwogCi1leHRlcm4gaW50IGlzX2JyYW5jaChjb25zdCBjaGFyICpyZWZuYW1lKTsKK2ludCBpc19icmFuY2goY29uc3QgY2hhciAqcmVmbmFtZSk7CisKK2V4dGVybiBpbnQgcmVmc19pbml0X2RiKHN0cnVjdCBzdHJidWYgKmVycik7CiAKIC8qCiAgKiBJZiByZWZuYW1lIGlzIGEgbm9uLXN5bWJvbGljIHJlZmVyZW5jZSB0aGF0IHJlZmVycyB0byBhIHRhZyBvYmplY3QsCkBAIC03NCwyNCArNzYsMjcgQEAKICAqIFN5bWJvbGljIHJlZmVyZW5jZXMgYXJlIGNvbnNpZGVyZWQgdW5wZWVsYWJsZSwgZXZlbiBpZiB0aGV5CiAgKiB1bHRpbWF0ZWx5IHJlc29sdmUgdG8gYSBwZWVsYWJsZSB0YWcuCiAgKi8KLWV4dGVybiBpbnQgcGVlbF9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwgdW5zaWduZWQgY2hhciAqc2hhMSk7CitpbnQgcGVlbF9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwgdW5zaWduZWQgY2hhciAqc2hhMSk7CiAKIC8qKgotICogUmVzb2x2ZSByZWZuYW1lIGluIHRoZSBuZXN0ZWQgImdpdGxpbmsiIHJlcG9zaXRvcnkgdGhhdCBpcyBsb2NhdGVkCi0gKiBhdCBwYXRoLiAgSWYgdGhlIHJlc29sdXRpb24gaXMgc3VjY2Vzc2Z1bCwgcmV0dXJuIDAgYW5kIHNldCBzaGExIHRvCi0gKiB0aGUgbmFtZSBvZiB0aGUgb2JqZWN0OyBvdGhlcndpc2UsIHJldHVybiBhIG5vbi16ZXJvIHZhbHVlLgorICogUmVzb2x2ZSByZWZuYW1lIGluIHRoZSBuZXN0ZWQgImdpdGxpbmsiIHJlcG9zaXRvcnkgaW4gdGhlIHNwZWNpZmllZAorICogc3VibW9kdWxlICh3aGljaCBtdXN0IGJlIG5vbi1OVUxMKS4gSWYgdGhlIHJlc29sdXRpb24gaXMKKyAqIHN1Y2Nlc3NmdWwsIHJldHVybiAwIGFuZCBzZXQgc2hhMSB0byB0aGUgbmFtZSBvZiB0aGUgb2JqZWN0OworICogb3RoZXJ3aXNlLCByZXR1cm4gYSBub24temVybyB2YWx1ZS4KICAqLwotZXh0ZXJuIGludCByZXNvbHZlX2dpdGxpbmtfcmVmKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGNoYXIgKnNoYTEpOworaW50IHJlc29sdmVfZ2l0bGlua19yZWYoY29uc3QgY2hhciAqc3VibW9kdWxlLCBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJdW5zaWduZWQgY2hhciAqc2hhMSk7CiAKIC8qCiAgKiBSZXR1cm4gdHJ1ZSBpZmYgYWJicmV2X25hbWUgaXMgYSBwb3NzaWJsZSBhYmJyZXZpYXRpb24gZm9yCiAgKiBmdWxsX25hbWUgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBkZWZpbmVkIGJ5IHJlZl9yZXZfcGFyc2VfcnVsZXMgaW4KICAqIHJlZnMuYy4KICAqLwotZXh0ZXJuIGludCByZWZuYW1lX21hdGNoKGNvbnN0IGNoYXIgKmFiYnJldl9uYW1lLCBjb25zdCBjaGFyICpmdWxsX25hbWUpOworaW50IHJlZm5hbWVfbWF0Y2goY29uc3QgY2hhciAqYWJicmV2X25hbWUsIGNvbnN0IGNoYXIgKmZ1bGxfbmFtZSk7CiAKLWV4dGVybiBpbnQgZHdpbV9yZWYoY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuLCB1bnNpZ25lZCBjaGFyICpzaGExLCBjaGFyICoqcmVmKTsKLWV4dGVybiBpbnQgZHdpbV9sb2coY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuLCB1bnNpZ25lZCBjaGFyICpzaGExLCBjaGFyICoqcmVmKTsKK2ludCBleHBhbmRfcmVmKGNvbnN0IGNoYXIgKnN0ciwgaW50IGxlbiwgdW5zaWduZWQgY2hhciAqc2hhMSwgY2hhciAqKnJlZik7CitpbnQgZHdpbV9yZWYoY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuLCB1bnNpZ25lZCBjaGFyICpzaGExLCBjaGFyICoqcmVmKTsKK2ludCBkd2ltX2xvZyhjb25zdCBjaGFyICpzdHIsIGludCBsZW4sIHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNoYXIgKipyZWYpOwogCiAvKgogICogQSByZWZfdHJhbnNhY3Rpb24gcmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2YgcmVmIHVwZGF0ZXMKQEAgLTE0MCw3ICsxNDUsOSBAQAogc3RydWN0IHJlZl90cmFuc2FjdGlvbjsKIAogLyoKLSAqIEJpdCB2YWx1ZXMgc2V0IGluIHRoZSBmbGFncyBhcmd1bWVudCBwYXNzZWQgdG8gZWFjaF9yZWZfZm4oKToKKyAqIEJpdCB2YWx1ZXMgc2V0IGluIHRoZSBmbGFncyBhcmd1bWVudCBwYXNzZWQgdG8gZWFjaF9yZWZfZm4oKSBhbmQKKyAqIHN0b3JlZCBpbiByZWZfaXRlcmF0b3I6OmZsYWdzLiBPdGhlciBiaXRzIGFyZSBmb3IgaW50ZXJuYWwgdXNlCisgKiBvbmx5OgogICovCiAKIC8qIFJlZmVyZW5jZSBpcyBhIHN5bWJvbGljIHJlZmVyZW5jZS4gKi8KQEAgLTE4MiwzOCArMTg5LDQ1IEBACiAgKiBtb2RpZmllcyB0aGUgcmVmZXJlbmNlIGFsc28gcmV0dXJucyBhIG5vbnplcm8gdmFsdWUgdG8gaW1tZWRpYXRlbHkKICAqIHN0b3AgdGhlIGl0ZXJhdGlvbi4KICAqLwotZXh0ZXJuIGludCBoZWFkX3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7Ci1leHRlcm4gaW50IGZvcl9lYWNoX3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7Ci1leHRlcm4gaW50IGZvcl9lYWNoX3JlZl9pbihjb25zdCBjaGFyICpwcmVmaXgsIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKLWV4dGVybiBpbnQgZm9yX2VhY2hfZnVsbHJlZl9pbihjb25zdCBjaGFyICpwcmVmaXgsIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhLCB1bnNpZ25lZCBpbnQgYnJva2VuKTsKLWV4dGVybiBpbnQgZm9yX2VhY2hfdGFnX3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7Ci1leHRlcm4gaW50IGZvcl9lYWNoX2JyYW5jaF9yZWYoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwotZXh0ZXJuIGludCBmb3JfZWFjaF9yZW1vdGVfcmVmKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKLWV4dGVybiBpbnQgZm9yX2VhY2hfcmVwbGFjZV9yZWYoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwotZXh0ZXJuIGludCBmb3JfZWFjaF9nbG9iX3JlZihlYWNoX3JlZl9mbiBmbiwgY29uc3QgY2hhciAqcGF0dGVybiwgdm9pZCAqY2JfZGF0YSk7Ci1leHRlcm4gaW50IGZvcl9lYWNoX2dsb2JfcmVmX2luKGVhY2hfcmVmX2ZuIGZuLCBjb25zdCBjaGFyICpwYXR0ZXJuLCBjb25zdCBjaGFyICpwcmVmaXgsIHZvaWQgKmNiX2RhdGEpOworaW50IGhlYWRfcmVmKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKK2ludCBmb3JfZWFjaF9yZWYoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOworaW50IGZvcl9lYWNoX3JlZl9pbihjb25zdCBjaGFyICpwcmVmaXgsIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKK2ludCBmb3JfZWFjaF9mdWxscmVmX2luKGNvbnN0IGNoYXIgKnByZWZpeCwgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEsCisJCQl1bnNpZ25lZCBpbnQgYnJva2VuKTsKK2ludCBmb3JfZWFjaF90YWdfcmVmKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKK2ludCBmb3JfZWFjaF9icmFuY2hfcmVmKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKK2ludCBmb3JfZWFjaF9yZW1vdGVfcmVmKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKK2ludCBmb3JfZWFjaF9yZXBsYWNlX3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CitpbnQgZm9yX2VhY2hfZ2xvYl9yZWYoZWFjaF9yZWZfZm4gZm4sIGNvbnN0IGNoYXIgKnBhdHRlcm4sIHZvaWQgKmNiX2RhdGEpOworaW50IGZvcl9lYWNoX2dsb2JfcmVmX2luKGVhY2hfcmVmX2ZuIGZuLCBjb25zdCBjaGFyICpwYXR0ZXJuLAorCQkJIGNvbnN0IGNoYXIgKnByZWZpeCwgdm9pZCAqY2JfZGF0YSk7CiAKLWV4dGVybiBpbnQgaGVhZF9yZWZfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwotZXh0ZXJuIGludCBmb3JfZWFjaF9yZWZfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwotZXh0ZXJuIGludCBmb3JfZWFjaF9yZWZfaW5fc3VibW9kdWxlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgY29uc3QgY2hhciAqcHJlZml4LAoraW50IGhlYWRfcmVmX3N1Ym1vZHVsZShjb25zdCBjaGFyICpzdWJtb2R1bGUsIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKK2ludCBmb3JfZWFjaF9yZWZfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwKKwkJCSAgIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKK2ludCBmb3JfZWFjaF9yZWZfaW5fc3VibW9kdWxlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgY29uc3QgY2hhciAqcHJlZml4LAogCQllYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7Ci1leHRlcm4gaW50IGZvcl9lYWNoX3RhZ19yZWZfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwotZXh0ZXJuIGludCBmb3JfZWFjaF9icmFuY2hfcmVmX3N1Ym1vZHVsZShjb25zdCBjaGFyICpzdWJtb2R1bGUsIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKLWV4dGVybiBpbnQgZm9yX2VhY2hfcmVtb3RlX3JlZl9zdWJtb2R1bGUoY29uc3QgY2hhciAqc3VibW9kdWxlLCBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CitpbnQgZm9yX2VhY2hfdGFnX3JlZl9zdWJtb2R1bGUoY29uc3QgY2hhciAqc3VibW9kdWxlLAorCQkJICAgICAgIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKK2ludCBmb3JfZWFjaF9icmFuY2hfcmVmX3N1Ym1vZHVsZShjb25zdCBjaGFyICpzdWJtb2R1bGUsCisJCQkJICBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CitpbnQgZm9yX2VhY2hfcmVtb3RlX3JlZl9zdWJtb2R1bGUoY29uc3QgY2hhciAqc3VibW9kdWxlLAorCQkJCSAgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwogCi1leHRlcm4gaW50IGhlYWRfcmVmX25hbWVzcGFjZWQoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwotZXh0ZXJuIGludCBmb3JfZWFjaF9uYW1lc3BhY2VkX3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CitpbnQgaGVhZF9yZWZfbmFtZXNwYWNlZChlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CitpbnQgZm9yX2VhY2hfbmFtZXNwYWNlZF9yZWYoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwogCiAvKiBjYW4gYmUgdXNlZCB0byBsZWFybiBhYm91dCBicm9rZW4gcmVmIGFuZCBzeW1yZWYgKi8KLWV4dGVybiBpbnQgZm9yX2VhY2hfcmF3cmVmKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKK2ludCBmb3JfZWFjaF9yYXdyZWYoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOwogCiBzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKmhhc19nbG9iX3NwZWNpYWxzKGNvbnN0IGNoYXIgKnBhdHRlcm4pCiB7CiAJcmV0dXJuIHN0cnBicmsocGF0dGVybiwgIj8qWyIpOwogfQogCi1leHRlcm4gdm9pZCB3YXJuX2RhbmdsaW5nX3N5bXJlZihGSUxFICpmcCwgY29uc3QgY2hhciAqbXNnX2ZtdCwgY29uc3QgY2hhciAqcmVmbmFtZSk7Ci1leHRlcm4gdm9pZCB3YXJuX2RhbmdsaW5nX3N5bXJlZnMoRklMRSAqZnAsIGNvbnN0IGNoYXIgKm1zZ19mbXQsIGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmbmFtZXMpOwordm9pZCB3YXJuX2RhbmdsaW5nX3N5bXJlZihGSUxFICpmcCwgY29uc3QgY2hhciAqbXNnX2ZtdCwgY29uc3QgY2hhciAqcmVmbmFtZSk7Cit2b2lkIHdhcm5fZGFuZ2xpbmdfc3ltcmVmcyhGSUxFICpmcCwgY29uc3QgY2hhciAqbXNnX2ZtdCwKKwkJCSAgIGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmbmFtZXMpOwogCiAvKgogICogRmxhZ3MgZm9yIGNvbnRyb2xsaW5nIGJlaGF2aW91ciBvZiBwYWNrX3JlZnMoKQpAQCAtMjQ1LDEzICsyNTksMTMgQEAKIGludCBzYWZlX2NyZWF0ZV9yZWZsb2coY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IGZvcmNlX2NyZWF0ZSwgc3RydWN0IHN0cmJ1ZiAqZXJyKTsKIAogLyoqIFJlYWRzIGxvZyBmb3IgdGhlIHZhbHVlIG9mIHJlZiBkdXJpbmcgYXRfdGltZS4gKiovCi1leHRlcm4gaW50IHJlYWRfcmVmX2F0KGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGludCBmbGFncywKLQkJICAgICAgIHVuc2lnbmVkIGxvbmcgYXRfdGltZSwgaW50IGNudCwKLQkJICAgICAgIHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNoYXIgKiptc2csCi0JCSAgICAgICB1bnNpZ25lZCBsb25nICpjdXRvZmZfdGltZSwgaW50ICpjdXRvZmZfdHosIGludCAqY3V0b2ZmX2NudCk7CitpbnQgcmVhZF9yZWZfYXQoY29uc3QgY2hhciAqcmVmbmFtZSwgdW5zaWduZWQgaW50IGZsYWdzLAorCQl1bnNpZ25lZCBsb25nIGF0X3RpbWUsIGludCBjbnQsCisJCXVuc2lnbmVkIGNoYXIgKnNoYTEsIGNoYXIgKiptc2csCisJCXVuc2lnbmVkIGxvbmcgKmN1dG9mZl90aW1lLCBpbnQgKmN1dG9mZl90eiwgaW50ICpjdXRvZmZfY250KTsKIAogLyoqIENoZWNrIGlmIGEgcGFydGljdWxhciByZWZsb2cgZXhpc3RzICovCi1leHRlcm4gaW50IHJlZmxvZ19leGlzdHMoY29uc3QgY2hhciAqcmVmbmFtZSk7CitpbnQgcmVmbG9nX2V4aXN0cyhjb25zdCBjaGFyICpyZWZuYW1lKTsKIAogLyoKICAqIERlbGV0ZSB0aGUgc3BlY2lmaWVkIHJlZmVyZW5jZS4gSWYgb2xkX3NoYTEgaXMgbm9uLU5VTEwsIHRoZW4KQEAgLTI2MCwyMSArMjc0LDI2IEBACiAgKiBleGlzdHMsIHJlZ2FyZGxlc3Mgb2YgaXRzIG9sZCB2YWx1ZS4gSXQgaXMgYW4gZXJyb3IgZm9yIG9sZF9zaGExIHRvCiAgKiBiZSBOVUxMX1NIQTEuIGZsYWdzIGlzIHBhc3NlZCB0aHJvdWdoIHRvIHJlZl90cmFuc2FjdGlvbl9kZWxldGUoKS4KICAqLwotZXh0ZXJuIGludCBkZWxldGVfcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9sZF9zaGExLAotCQkgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpOworaW50IGRlbGV0ZV9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3QgdW5zaWduZWQgY2hhciAqb2xkX3NoYTEsCisJICAgICAgIHVuc2lnbmVkIGludCBmbGFncyk7CiAKIC8qCiAgKiBEZWxldGUgdGhlIHNwZWNpZmllZCByZWZlcmVuY2VzLiBJZiB0aGVyZSBhcmUgYW55IHByb2JsZW1zLCBlbWl0CiAgKiBlcnJvcnMgYnV0IGF0dGVtcHQgdG8ga2VlcCBnb2luZyAoaS5lLiwgdGhlIGRlbGV0ZXMgYXJlIG5vdCBkb25lIGluCi0gKiBhbiBhbGwtb3Itbm90aGluZyB0cmFuc2FjdGlvbikuCisgKiBhbiBhbGwtb3Itbm90aGluZyB0cmFuc2FjdGlvbikuIGZsYWdzIGlzIHBhc3NlZCB0aHJvdWdoIHRvCisgKiByZWZfdHJhbnNhY3Rpb25fZGVsZXRlKCkuCiAgKi8KLWV4dGVybiBpbnQgZGVsZXRlX3JlZnMoc3RydWN0IHN0cmluZ19saXN0ICpyZWZuYW1lcyk7CitpbnQgZGVsZXRlX3JlZnMoc3RydWN0IHN0cmluZ19saXN0ICpyZWZuYW1lcywgdW5zaWduZWQgaW50IGZsYWdzKTsKIAogLyoqIERlbGV0ZSBhIHJlZmxvZyAqLwotZXh0ZXJuIGludCBkZWxldGVfcmVmbG9nKGNvbnN0IGNoYXIgKnJlZm5hbWUpOworaW50IGRlbGV0ZV9yZWZsb2coY29uc3QgY2hhciAqcmVmbmFtZSk7CiAKIC8qIGl0ZXJhdGUgb3ZlciByZWZsb2cgZW50cmllcyAqLwotdHlwZWRlZiBpbnQgZWFjaF9yZWZsb2dfZW50X2ZuKHVuc2lnbmVkIGNoYXIgKm9zaGExLCB1bnNpZ25lZCBjaGFyICpuc2hhMSwgY29uc3QgY2hhciAqLCB1bnNpZ25lZCBsb25nLCBpbnQsIGNvbnN0IGNoYXIgKiwgdm9pZCAqKTsKK3R5cGVkZWYgaW50IGVhY2hfcmVmbG9nX2VudF9mbigKKwkJdW5zaWduZWQgY2hhciAqb2xkX3NoYTEsIHVuc2lnbmVkIGNoYXIgKm5ld19zaGExLAorCQljb25zdCBjaGFyICpjb21taXR0ZXIsIHVuc2lnbmVkIGxvbmcgdGltZXN0YW1wLAorCQlpbnQgdHosIGNvbnN0IGNoYXIgKm1zZywgdm9pZCAqY2JfZGF0YSk7CisKIGludCBmb3JfZWFjaF9yZWZsb2dfZW50KGNvbnN0IGNoYXIgKnJlZm5hbWUsIGVhY2hfcmVmbG9nX2VudF9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CiBpbnQgZm9yX2VhY2hfcmVmbG9nX2VudF9yZXZlcnNlKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGVhY2hfcmVmbG9nX2VudF9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CiAKQEAgLTI4Miw3ICszMDEsNyBAQAogICogQ2FsbHMgdGhlIHNwZWNpZmllZCBmdW5jdGlvbiBmb3IgZWFjaCByZWZsb2cgZmlsZSB1bnRpbCBpdCByZXR1cm5zIG5vbnplcm8sCiAgKiBhbmQgcmV0dXJucyB0aGUgdmFsdWUKICAqLwotZXh0ZXJuIGludCBmb3JfZWFjaF9yZWZsb2coZWFjaF9yZWZfZm4sIHZvaWQgKik7CitpbnQgZm9yX2VhY2hfcmVmbG9nKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKIAogI2RlZmluZSBSRUZOQU1FX0FMTE9XX09ORUxFVkVMIDEKICNkZWZpbmUgUkVGTkFNRV9SRUZTUEVDX1BBVFRFUk4gMgpAQCAtMjk1LDE2ICszMTQsMTYgQEAKICAqIGFsbG93IGEgc2luZ2xlICIqIiB3aWxkY2FyZCBjaGFyYWN0ZXIgaW4gdGhlIHJlZnNwZWMuIE5vIGxlYWRpbmcgb3IKICAqIHJlcGVhdGVkIHNsYXNoZXMgYXJlIGFjY2VwdGVkLgogICovCi1leHRlcm4gaW50IGNoZWNrX3JlZm5hbWVfZm9ybWF0KGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCBmbGFncyk7CitpbnQgY2hlY2tfcmVmbmFtZV9mb3JtYXQoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IGZsYWdzKTsKIAotZXh0ZXJuIGNvbnN0IGNoYXIgKnByZXR0aWZ5X3JlZm5hbWUoY29uc3QgY2hhciAqcmVmbmFtZSk7Citjb25zdCBjaGFyICpwcmV0dGlmeV9yZWZuYW1lKGNvbnN0IGNoYXIgKnJlZm5hbWUpOwogCi1leHRlcm4gY2hhciAqc2hvcnRlbl91bmFtYmlndW91c19yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IHN0cmljdCk7CitjaGFyICpzaG9ydGVuX3VuYW1iaWd1b3VzX3JlZihjb25zdCBjaGFyICpyZWZuYW1lLCBpbnQgc3RyaWN0KTsKIAogLyoqIHJlbmFtZSByZWYsIHJldHVybiAwIG9uIHN1Y2Nlc3MgKiovCi1leHRlcm4gaW50IHJlbmFtZV9yZWYoY29uc3QgY2hhciAqb2xkcmVmLCBjb25zdCBjaGFyICpuZXdyZWYsIGNvbnN0IGNoYXIgKmxvZ21zZyk7CitpbnQgcmVuYW1lX3JlZihjb25zdCBjaGFyICpvbGRyZWYsIGNvbnN0IGNoYXIgKm5ld3JlZiwgY29uc3QgY2hhciAqbG9nbXNnKTsKIAotZXh0ZXJuIGludCBjcmVhdGVfc3ltcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IGNoYXIgKnRhcmdldCwgY29uc3QgY2hhciAqbG9nbXNnKTsKK2ludCBjcmVhdGVfc3ltcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IGNoYXIgKnRhcmdldCwgY29uc3QgY2hhciAqbG9nbXNnKTsKIAogLyoKICAqIFVwZGF0ZSBIRUFEIG9mIHRoZSBzcGVjaWZpZWQgZ2l0ZGlyLgpAQCAtMzEzLDcgKzMzMiw3IEBACiAgKiAkR0lUX0RJUiBwb2ludHMgdG8uCiAgKiBSZXR1cm4gMCBpZiBzdWNjZXNzZnVsLCBub24temVybyBvdGhlcndpc2UuCiAgKiAqLwotZXh0ZXJuIGludCBzZXRfd29ya3RyZWVfaGVhZF9zeW1yZWYoY29uc3QgY2hhciAqZ2l0ZGlyLCBjb25zdCBjaGFyICp0YXJnZXQpOworaW50IHNldF93b3JrdHJlZV9oZWFkX3N5bXJlZihjb25zdCBjaGFyICpnaXRkaXIsIGNvbnN0IGNoYXIgKnRhcmdldCk7CiAKIGVudW0gYWN0aW9uX29uX2VyciB7CiAJVVBEQVRFX1JFRlNfTVNHX09OX0VSUiwKQEAgLTM0NSw3ICszNjQsNyBAQAogICogICAgIG1zZyAtLSBhIG1lc3NhZ2UgZGVzY3JpYmluZyB0aGUgY2hhbmdlIChmb3IgdGhlIHJlZmxvZykuCiAgKgogICogICAgIGVyciAtLSBhIHN0cmJ1ZiBmb3IgcmVjZWl2aW5nIGEgZGVzY3JpcHRpb24gb2YgYW55IGVycm9yIHRoYXQKLSAqICAgICAgICAgbWlnaHQgaGF2ZSBvY2N1cmVkLgorICogICAgICAgICBtaWdodCBoYXZlIG9jY3VycmVkLgogICoKICAqIFRoZSBmdW5jdGlvbnMgbWFrZSBpbnRlcm5hbCBjb3BpZXMgb2YgcmVmbmFtZSBhbmQgbXNnLCBzbyB0aGUKICAqIGNhbGxlciByZXRhaW5zIG93bmVyc2hpcCBvZiB0aGVzZSBwYXJhbWV0ZXJzLgpAQCAtNDYyLDggKzQ4MSwxMSBAQAogaW50IHVwZGF0ZV9yZWYoY29uc3QgY2hhciAqbXNnLCBjb25zdCBjaGFyICpyZWZuYW1lLAogCSAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpuZXdfc2hhMSwgY29uc3QgdW5zaWduZWQgY2hhciAqb2xkX3NoYTEsCiAJICAgICAgIHVuc2lnbmVkIGludCBmbGFncywgZW51bSBhY3Rpb25fb25fZXJyIG9uZXJyKTsKK2ludCB1cGRhdGVfcmVmX29pZChjb25zdCBjaGFyICptc2csIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJICAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm5ld19vaWQsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9sZF9vaWQsCisJICAgICAgIHVuc2lnbmVkIGludCBmbGFncywgZW51bSBhY3Rpb25fb25fZXJyIG9uZXJyKTsKIAotZXh0ZXJuIGludCBwYXJzZV9oaWRlX3JlZnNfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIGNvbnN0IGNoYXIgKik7CitpbnQgcGFyc2VfaGlkZV9yZWZzX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCBjb25zdCBjaGFyICopOwogCiAvKgogICogQ2hlY2sgd2hldGhlciBhIHJlZiBpcyBoaWRkZW4uIElmIG5vIG5hbWVzcGFjZSBpcyBzZXQsIGJvdGggdGhlIGZpcnN0IGFuZApAQCAtNDczLDcgKzQ5NSw3IEBACiAgKiB0aGUgcmVmIGlzIG91dHNpZGUgdGhhdCBuYW1lc3BhY2UsIHRoZSBmaXJzdCBwYXJhbWV0ZXIgaXMgTlVMTC4gVGhlIHNlY29uZAogICogcGFyYW1ldGVyIGFsd2F5cyBwb2ludHMgdG8gdGhlIGZ1bGwgcmVmIG5hbWUuCiAgKi8KLWV4dGVybiBpbnQgcmVmX2lzX2hpZGRlbihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CitpbnQgcmVmX2lzX2hpZGRlbihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CiAKIGVudW0gcmVmX3R5cGUgewogCVJFRl9UWVBFX1BFUl9XT1JLVFJFRSwKQEAgLTUyMiwxMSArNTQ0LDEzIEBACiAgKiBlbnVtIGV4cGlyZV9yZWZsb2dfZmxhZ3MuIFRoZSB0aHJlZSBmdW5jdGlvbiBwb2ludGVycyBhcmUgZGVzY3JpYmVkCiAgKiBhYm92ZS4gT24gc3VjY2VzcywgcmV0dXJuIHplcm8uCiAgKi8KLWV4dGVybiBpbnQgcmVmbG9nX2V4cGlyZShjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAotCQkJIHVuc2lnbmVkIGludCBmbGFncywKLQkJCSByZWZsb2dfZXhwaXJ5X3ByZXBhcmVfZm4gcHJlcGFyZV9mbiwKLQkJCSByZWZsb2dfZXhwaXJ5X3Nob3VsZF9wcnVuZV9mbiBzaG91bGRfcHJ1bmVfZm4sCi0JCQkgcmVmbG9nX2V4cGlyeV9jbGVhbnVwX2ZuIGNsZWFudXBfZm4sCi0JCQkgdm9pZCAqcG9saWN5X2NiX2RhdGEpOworaW50IHJlZmxvZ19leHBpcmUoY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwkJICB1bnNpZ25lZCBpbnQgZmxhZ3MsCisJCSAgcmVmbG9nX2V4cGlyeV9wcmVwYXJlX2ZuIHByZXBhcmVfZm4sCisJCSAgcmVmbG9nX2V4cGlyeV9zaG91bGRfcHJ1bmVfZm4gc2hvdWxkX3BydW5lX2ZuLAorCQkgIHJlZmxvZ19leHBpcnlfY2xlYW51cF9mbiBjbGVhbnVwX2ZuLAorCQkgIHZvaWQgKnBvbGljeV9jYl9kYXRhKTsKKworaW50IHJlZl9zdG9yYWdlX2JhY2tlbmRfZXhpc3RzKGNvbnN0IGNoYXIgKm5hbWUpOwogCiAjZW5kaWYgLyogUkVGU19IICovCmRpZmYgLS1naXQgYS9yZWZzL2ZpbGVzLWJhY2tlbmQuYyBiL3JlZnMvZmlsZXMtYmFja2VuZC5jCmluZGV4IDFmMzgwNzYuLmY5MDIzOTMgMTAwNjQ0Ci0tLSBhL3JlZnMvZmlsZXMtYmFja2VuZC5jCisrKyBiL3JlZnMvZmlsZXMtYmFja2VuZC5jCkBAIC0xLDEzICsxLDE0IEBACiAjaW5jbHVkZSAiLi4vY2FjaGUuaCIKICNpbmNsdWRlICIuLi9yZWZzLmgiCiAjaW5jbHVkZSAicmVmcy1pbnRlcm5hbC5oIgorI2luY2x1ZGUgIi4uL2l0ZXJhdG9yLmgiCisjaW5jbHVkZSAiLi4vZGlyLWl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiLi4vbG9ja2ZpbGUuaCIKICNpbmNsdWRlICIuLi9vYmplY3QuaCIKICNpbmNsdWRlICIuLi9kaXIuaCIKIAogc3RydWN0IHJlZl9sb2NrIHsKIAljaGFyICpyZWZfbmFtZTsKLQljaGFyICpvcmlnX3JlZl9uYW1lOwogCXN0cnVjdCBsb2NrX2ZpbGUgKmxrOwogCXN0cnVjdCBvYmplY3RfaWQgb2xkX29pZDsKIH07CkBAIC0zOCw3ICszOSw3IEBACiAJc3RydWN0IG9iamVjdF9pZCBwZWVsZWQ7CiB9OwogCi1zdHJ1Y3QgcmVmX2NhY2hlOworc3RydWN0IGZpbGVzX3JlZl9zdG9yZTsKIAogLyoKICAqIEluZm9ybWF0aW9uIHVzZWQgKGFsb25nIHdpdGggdGhlIGluZm9ybWF0aW9uIGluIHJlZl9lbnRyeSkgdG8KQEAgLTc3LDggKzc4LDggQEAKIAkgKi8KIAlpbnQgc29ydGVkOwogCi0JLyogQSBwb2ludGVyIHRvIHRoZSByZWZfY2FjaGUgdGhhdCBjb250YWlucyB0aGlzIHJlZl9kaXIuICovCi0Jc3RydWN0IHJlZl9jYWNoZSAqcmVmX2NhY2hlOworCS8qIEEgcG9pbnRlciB0byB0aGUgZmlsZXNfcmVmX3N0b3JlIHRoYXQgY29udGFpbnMgdGhpcyByZWZfZGlyLiAqLworCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZl9zdG9yZTsKIAogCXN0cnVjdCByZWZfZW50cnkgKiplbnRyaWVzOwogfTsKQEAgLTE2MCw3ICsxNjEsNyBAQAogCiBzdGF0aWMgdm9pZCByZWFkX2xvb3NlX3JlZnMoY29uc3QgY2hhciAqZGlybmFtZSwgc3RydWN0IHJlZl9kaXIgKmRpcik7CiBzdGF0aWMgaW50IHNlYXJjaF9yZWZfZGlyKHN0cnVjdCByZWZfZGlyICpkaXIsIGNvbnN0IGNoYXIgKnJlZm5hbWUsIHNpemVfdCBsZW4pOwotc3RhdGljIHN0cnVjdCByZWZfZW50cnkgKmNyZWF0ZV9kaXJfZW50cnkoc3RydWN0IHJlZl9jYWNoZSAqcmVmX2NhY2hlLAorc3RhdGljIHN0cnVjdCByZWZfZW50cnkgKmNyZWF0ZV9kaXJfZW50cnkoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmX3N0b3JlLAogCQkJCQkgIGNvbnN0IGNoYXIgKmRpcm5hbWUsIHNpemVfdCBsZW4sCiAJCQkJCSAgaW50IGluY29tcGxldGUpOwogc3RhdGljIHZvaWQgYWRkX2VudHJ5X3RvX2RpcihzdHJ1Y3QgcmVmX2RpciAqZGlyLCBzdHJ1Y3QgcmVmX2VudHJ5ICplbnRyeSk7CkBAIC0xODIsNyArMTgzLDcgQEAKIAkJCWludCBwb3MgPSBzZWFyY2hfcmVmX2RpcihkaXIsICJyZWZzL2Jpc2VjdC8iLCAxMik7CiAJCQlpZiAocG9zIDwgMCkgewogCQkJCXN0cnVjdCByZWZfZW50cnkgKmNoaWxkX2VudHJ5OwotCQkJCWNoaWxkX2VudHJ5ID0gY3JlYXRlX2Rpcl9lbnRyeShkaXItPnJlZl9jYWNoZSwKKwkJCQljaGlsZF9lbnRyeSA9IGNyZWF0ZV9kaXJfZW50cnkoZGlyLT5yZWZfc3RvcmUsCiAJCQkJCQkJICAgICAgICJyZWZzL2Jpc2VjdC8iLAogCQkJCQkJCSAgICAgICAxMiwgMSk7CiAJCQkJYWRkX2VudHJ5X3RvX2RpcihkaXIsIGNoaWxkX2VudHJ5KTsKQEAgLTI2MCwxMyArMjYxLDEzIEBACiAgKiBkaXJuYW1lIGlzIHRoZSBuYW1lIG9mIHRoZSBkaXJlY3Rvcnkgd2l0aCBhIHRyYWlsaW5nIHNsYXNoIChlLmcuLAogICogInJlZnMvaGVhZHMvIikgb3IgIiIgZm9yIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5LgogICovCi1zdGF0aWMgc3RydWN0IHJlZl9lbnRyeSAqY3JlYXRlX2Rpcl9lbnRyeShzdHJ1Y3QgcmVmX2NhY2hlICpyZWZfY2FjaGUsCitzdGF0aWMgc3RydWN0IHJlZl9lbnRyeSAqY3JlYXRlX2Rpcl9lbnRyeShzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZfc3RvcmUsCiAJCQkJCSAgY29uc3QgY2hhciAqZGlybmFtZSwgc2l6ZV90IGxlbiwKIAkJCQkJICBpbnQgaW5jb21wbGV0ZSkKIHsKIAlzdHJ1Y3QgcmVmX2VudHJ5ICpkaXJlbnRyeTsKIAlGTEVYX0FMTE9DX01FTShkaXJlbnRyeSwgbmFtZSwgZGlybmFtZSwgbGVuKTsKLQlkaXJlbnRyeS0+dS5zdWJkaXIucmVmX2NhY2hlID0gcmVmX2NhY2hlOworCWRpcmVudHJ5LT51LnN1YmRpci5yZWZfc3RvcmUgPSByZWZfc3RvcmU7CiAJZGlyZW50cnktPmZsYWcgPSBSRUZfRElSIHwgKGluY29tcGxldGUgPyBSRUZfSU5DT01QTEVURSA6IDApOwogCXJldHVybiBkaXJlbnRyeTsKIH0KQEAgLTM0Miw3ICszNDMsNyBAQAogCQkgKiB0aGVyZWZvcmUsIGNyZWF0ZSBhbiBlbXB0eSByZWNvcmQgZm9yIGl0IGJ1dCBtYXJrCiAJCSAqIHRoZSByZWNvcmQgY29tcGxldGUuCiAJCSAqLwotCQllbnRyeSA9IGNyZWF0ZV9kaXJfZW50cnkoZGlyLT5yZWZfY2FjaGUsIHN1YmRpcm5hbWUsIGxlbiwgMCk7CisJCWVudHJ5ID0gY3JlYXRlX2Rpcl9lbnRyeShkaXItPnJlZl9zdG9yZSwgc3ViZGlybmFtZSwgbGVuLCAwKTsKIAkJYWRkX2VudHJ5X3RvX2RpcihkaXIsIGVudHJ5KTsKIAl9IGVsc2UgewogCQllbnRyeSA9IGRpci0+ZW50cmllc1tlbnRyeV9pbmRleF07CkBAIC01MDAsNyArNTAxLDcgQEAKIAlpZiAoZGlyLT5zb3J0ZWQgPT0gZGlyLT5ucikKIAkJcmV0dXJuOwogCi0JcXNvcnQoZGlyLT5lbnRyaWVzLCBkaXItPm5yLCBzaXplb2YoKmRpci0+ZW50cmllcyksIHJlZl9lbnRyeV9jbXApOworCVFTT1JUKGRpci0+ZW50cmllcywgZGlyLT5uciwgcmVmX2VudHJ5X2NtcCk7CiAKIAkvKiBSZW1vdmUgYW55IGR1cGxpY2F0ZXM6ICovCiAJZm9yIChpID0gMCwgaiA9IDA7IGogPCBkaXItPm5yOyBqKyspIHsKQEAgLTUxNCw2OCArNTE1LDM2IEBACiB9CiAKIC8qCi0gKiBSZXR1cm4gdHJ1ZSBpZmYgdGhlIHJlZmVyZW5jZSBkZXNjcmliZWQgYnkgZW50cnkgY2FuIGJlIHJlc29sdmVkIHRvCi0gKiBhbiBvYmplY3QgaW4gdGhlIGRhdGFiYXNlLiAgRW1pdCBhIHdhcm5pbmcgaWYgdGhlIHJlZmVycmVkLXRvCi0gKiBvYmplY3QgZG9lcyBub3QgZXhpc3QuCisgKiBSZXR1cm4gdHJ1ZSBpZiByZWZuYW1lLCB3aGljaCBoYXMgdGhlIHNwZWNpZmllZCBvaWQgYW5kIGZsYWdzLCBjYW4KKyAqIGJlIHJlc29sdmVkIHRvIGFuIG9iamVjdCBpbiB0aGUgZGF0YWJhc2UuIElmIHRoZSByZWZlcnJlZC10byBvYmplY3QKKyAqIGRvZXMgbm90IGV4aXN0LCBlbWl0IGEgd2FybmluZyBhbmQgcmV0dXJuIGZhbHNlLgogICovCi1zdGF0aWMgaW50IHJlZl9yZXNvbHZlc190b19vYmplY3Qoc3RydWN0IHJlZl9lbnRyeSAqZW50cnkpCitzdGF0aWMgaW50IHJlZl9yZXNvbHZlc190b19vYmplY3QoY29uc3QgY2hhciAqcmVmbmFtZSwKKwkJCQkgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCQkgIHVuc2lnbmVkIGludCBmbGFncykKIHsKLQlpZiAoZW50cnktPmZsYWcgJiBSRUZfSVNCUk9LRU4pCisJaWYgKGZsYWdzICYgUkVGX0lTQlJPS0VOKQogCQlyZXR1cm4gMDsKLQlpZiAoIWhhc19zaGExX2ZpbGUoZW50cnktPnUudmFsdWUub2lkLmhhc2gpKSB7Ci0JCWVycm9yKCIlcyBkb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIG9iamVjdCEiLCBlbnRyeS0+bmFtZSk7CisJaWYgKCFoYXNfc2hhMV9maWxlKG9pZC0+aGFzaCkpIHsKKwkJZXJyb3IoIiVzIGRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgb2JqZWN0ISIsIHJlZm5hbWUpOwogCQlyZXR1cm4gMDsKIAl9CiAJcmV0dXJuIDE7CiB9CiAKIC8qCi0gKiBjdXJyZW50X3JlZiBpcyBhIHBlcmZvcm1hbmNlIGhhY2s6IHdoZW4gaXRlcmF0aW5nIG92ZXIgcmVmZXJlbmNlcwotICogdXNpbmcgdGhlIGZvcl9lYWNoX3JlZiooKSBmdW5jdGlvbnMsIGN1cnJlbnRfcmVmIGlzIHNldCB0byB0aGUKLSAqIGN1cnJlbnQgcmVmZXJlbmNlJ3MgZW50cnkgYmVmb3JlIGNhbGxpbmcgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLiAgSWYKLSAqIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBjYWxscyBwZWVsX3JlZigpLCB0aGVuIHBlZWxfcmVmKCkgZmlyc3QKLSAqIGNoZWNrcyB3aGV0aGVyIHRoZSByZWZlcmVuY2UgdG8gYmUgcGVlbGVkIGlzIHRoZSBjdXJyZW50IHJlZmVyZW5jZQotICogKGl0IHVzdWFsbHkgaXMpIGFuZCBpZiBzbywgcmV0dXJucyB0aGF0IHJlZmVyZW5jZSdzIHBlZWxlZCB2ZXJzaW9uCi0gKiBpZiBpdCBpcyBhdmFpbGFibGUuICBUaGlzIGF2b2lkcyBhIHJlZm5hbWUgbG9va3VwIGluIGEgY29tbW9uIGNhc2UuCisgKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgcmVmZXJlbmNlIGRlc2NyaWJlZCBieSBlbnRyeSBjYW4gYmUgcmVzb2x2ZWQgdG8KKyAqIGFuIG9iamVjdCBpbiB0aGUgZGF0YWJhc2U7IG90aGVyd2lzZSwgZW1pdCBhIHdhcm5pbmcgYW5kIHJldHVybgorICogZmFsc2UuCiAgKi8KLXN0YXRpYyBzdHJ1Y3QgcmVmX2VudHJ5ICpjdXJyZW50X3JlZjsKK3N0YXRpYyBpbnQgZW50cnlfcmVzb2x2ZXNfdG9fb2JqZWN0KHN0cnVjdCByZWZfZW50cnkgKmVudHJ5KQoreworCXJldHVybiByZWZfcmVzb2x2ZXNfdG9fb2JqZWN0KGVudHJ5LT5uYW1lLAorCQkJCSAgICAgICZlbnRyeS0+dS52YWx1ZS5vaWQsIGVudHJ5LT5mbGFnKTsKK30KIAogdHlwZWRlZiBpbnQgZWFjaF9yZWZfZW50cnlfZm4oc3RydWN0IHJlZl9lbnRyeSAqZW50cnksIHZvaWQgKmNiX2RhdGEpOwogCi1zdHJ1Y3QgcmVmX2VudHJ5X2NiIHsKLQljb25zdCBjaGFyICpiYXNlOwotCWludCB0cmltOwotCWludCBmbGFnczsKLQllYWNoX3JlZl9mbiAqZm47Ci0Jdm9pZCAqY2JfZGF0YTsKLX07Ci0KLS8qCi0gKiBIYW5kbGUgb25lIHJlZmVyZW5jZSBpbiBhIGRvX2Zvcl9lYWNoX3JlZiooKS1zdHlsZSBpdGVyYXRpb24sCi0gKiBjYWxsaW5nIGFuIGVhY2hfcmVmX2ZuIGZvciBlYWNoIGVudHJ5LgotICovCi1zdGF0aWMgaW50IGRvX29uZV9yZWYoc3RydWN0IHJlZl9lbnRyeSAqZW50cnksIHZvaWQgKmNiX2RhdGEpCi17Ci0Jc3RydWN0IHJlZl9lbnRyeV9jYiAqZGF0YSA9IGNiX2RhdGE7Ci0Jc3RydWN0IHJlZl9lbnRyeSAqb2xkX2N1cnJlbnRfcmVmOwotCWludCByZXR2YWw7Ci0KLQlpZiAoIXN0YXJ0c193aXRoKGVudHJ5LT5uYW1lLCBkYXRhLT5iYXNlKSkKLQkJcmV0dXJuIDA7Ci0KLQlpZiAoIShkYXRhLT5mbGFncyAmIERPX0ZPUl9FQUNIX0lOQ0xVREVfQlJPS0VOKSAmJgotCSAgICAgICFyZWZfcmVzb2x2ZXNfdG9fb2JqZWN0KGVudHJ5KSkKLQkJcmV0dXJuIDA7Ci0KLQkvKiBTdG9yZSB0aGUgb2xkIHZhbHVlLCBpbiBjYXNlIHRoaXMgaXMgYSByZWN1cnNpdmUgY2FsbDogKi8KLQlvbGRfY3VycmVudF9yZWYgPSBjdXJyZW50X3JlZjsKLQljdXJyZW50X3JlZiA9IGVudHJ5OwotCXJldHZhbCA9IGRhdGEtPmZuKGVudHJ5LT5uYW1lICsgZGF0YS0+dHJpbSwgJmVudHJ5LT51LnZhbHVlLm9pZCwKLQkJCSAgZW50cnktPmZsYWcsIGRhdGEtPmNiX2RhdGEpOwotCWN1cnJlbnRfcmVmID0gb2xkX2N1cnJlbnRfcmVmOwotCXJldHVybiByZXR2YWw7Ci19Ci0KIC8qCiAgKiBDYWxsIGZuIGZvciBlYWNoIHJlZmVyZW5jZSBpbiBkaXIgdGhhdCBoYXMgaW5kZXggaW4gdGhlIHJhbmdlCiAgKiBvZmZzZXQgPD0gaW5kZXggPCBkaXItPm5yLiAgUmVjdXJzZSBpbnRvIHN1YmRpcmVjdG9yaWVzIHRoYXQgYXJlIGluCkBAIC02MDUsNzggKzU3NCw2IEBACiB9CiAKIC8qCi0gKiBDYWxsIGZuIGZvciBlYWNoIHJlZmVyZW5jZSBpbiB0aGUgdW5pb24gb2YgZGlyMSBhbmQgZGlyMiwgaW4gb3JkZXIKLSAqIGJ5IHJlZm5hbWUuICBSZWN1cnNlIGludG8gc3ViZGlyZWN0b3JpZXMuICBJZiBhIHZhbHVlIGVudHJ5IGFwcGVhcnMKLSAqIGluIGJvdGggZGlyMSBhbmQgZGlyMiwgdGhlbiBvbmx5IHByb2Nlc3MgdGhlIHZlcnNpb24gdGhhdCBpcyBpbgotICogZGlyMi4gIFRoZSBpbnB1dCBkaXJzIG11c3QgYWxyZWFkeSBiZSBzb3J0ZWQsIGJ1dCBzdWJkaXJzIHdpbGwgYmUKLSAqIHNvcnRlZCBhcyBuZWVkZWQuICBmbiBpcyBjYWxsZWQgZm9yIGFsbCByZWZlcmVuY2VzLCBpbmNsdWRpbmcKLSAqIGJyb2tlbiBvbmVzLgotICovCi1zdGF0aWMgaW50IGRvX2Zvcl9lYWNoX2VudHJ5X2luX2RpcnMoc3RydWN0IHJlZl9kaXIgKmRpcjEsCi0JCQkJICAgICBzdHJ1Y3QgcmVmX2RpciAqZGlyMiwKLQkJCQkgICAgIGVhY2hfcmVmX2VudHJ5X2ZuIGZuLCB2b2lkICpjYl9kYXRhKQotewotCWludCByZXR2YWw7Ci0JaW50IGkxID0gMCwgaTIgPSAwOwotCi0JYXNzZXJ0KGRpcjEtPnNvcnRlZCA9PSBkaXIxLT5ucik7Ci0JYXNzZXJ0KGRpcjItPnNvcnRlZCA9PSBkaXIyLT5ucik7Ci0Jd2hpbGUgKDEpIHsKLQkJc3RydWN0IHJlZl9lbnRyeSAqZTEsICplMjsKLQkJaW50IGNtcDsKLQkJaWYgKGkxID09IGRpcjEtPm5yKSB7Ci0JCQlyZXR1cm4gZG9fZm9yX2VhY2hfZW50cnlfaW5fZGlyKGRpcjIsIGkyLCBmbiwgY2JfZGF0YSk7Ci0JCX0KLQkJaWYgKGkyID09IGRpcjItPm5yKSB7Ci0JCQlyZXR1cm4gZG9fZm9yX2VhY2hfZW50cnlfaW5fZGlyKGRpcjEsIGkxLCBmbiwgY2JfZGF0YSk7Ci0JCX0KLQkJZTEgPSBkaXIxLT5lbnRyaWVzW2kxXTsKLQkJZTIgPSBkaXIyLT5lbnRyaWVzW2kyXTsKLQkJY21wID0gc3RyY21wKGUxLT5uYW1lLCBlMi0+bmFtZSk7Ci0JCWlmIChjbXAgPT0gMCkgewotCQkJaWYgKChlMS0+ZmxhZyAmIFJFRl9ESVIpICYmIChlMi0+ZmxhZyAmIFJFRl9ESVIpKSB7Ci0JCQkJLyogQm90aCBhcmUgZGlyZWN0b3JpZXM7IGRlc2NlbmQgdGhlbSBpbiBwYXJhbGxlbC4gKi8KLQkJCQlzdHJ1Y3QgcmVmX2RpciAqc3ViZGlyMSA9IGdldF9yZWZfZGlyKGUxKTsKLQkJCQlzdHJ1Y3QgcmVmX2RpciAqc3ViZGlyMiA9IGdldF9yZWZfZGlyKGUyKTsKLQkJCQlzb3J0X3JlZl9kaXIoc3ViZGlyMSk7Ci0JCQkJc29ydF9yZWZfZGlyKHN1YmRpcjIpOwotCQkJCXJldHZhbCA9IGRvX2Zvcl9lYWNoX2VudHJ5X2luX2RpcnMoCi0JCQkJCQlzdWJkaXIxLCBzdWJkaXIyLCBmbiwgY2JfZGF0YSk7Ci0JCQkJaTErKzsKLQkJCQlpMisrOwotCQkJfSBlbHNlIGlmICghKGUxLT5mbGFnICYgUkVGX0RJUikgJiYgIShlMi0+ZmxhZyAmIFJFRl9ESVIpKSB7Ci0JCQkJLyogQm90aCBhcmUgcmVmZXJlbmNlczsgaWdub3JlIHRoZSBvbmUgZnJvbSBkaXIxLiAqLwotCQkJCXJldHZhbCA9IGZuKGUyLCBjYl9kYXRhKTsKLQkJCQlpMSsrOwotCQkJCWkyKys7Ci0JCQl9IGVsc2UgewotCQkJCWRpZSgiY29uZmxpY3QgYmV0d2VlbiByZWZlcmVuY2UgYW5kIGRpcmVjdG9yeTogJXMiLAotCQkJCSAgICBlMS0+bmFtZSk7Ci0JCQl9Ci0JCX0gZWxzZSB7Ci0JCQlzdHJ1Y3QgcmVmX2VudHJ5ICplOwotCQkJaWYgKGNtcCA8IDApIHsKLQkJCQllID0gZTE7Ci0JCQkJaTErKzsKLQkJCX0gZWxzZSB7Ci0JCQkJZSA9IGUyOwotCQkJCWkyKys7Ci0JCQl9Ci0JCQlpZiAoZS0+ZmxhZyAmIFJFRl9ESVIpIHsKLQkJCQlzdHJ1Y3QgcmVmX2RpciAqc3ViZGlyID0gZ2V0X3JlZl9kaXIoZSk7Ci0JCQkJc29ydF9yZWZfZGlyKHN1YmRpcik7Ci0JCQkJcmV0dmFsID0gZG9fZm9yX2VhY2hfZW50cnlfaW5fZGlyKAotCQkJCQkJc3ViZGlyLCAwLCBmbiwgY2JfZGF0YSk7Ci0JCQl9IGVsc2UgewotCQkJCXJldHZhbCA9IGZuKGUsIGNiX2RhdGEpOwotCQkJfQotCQl9Ci0JCWlmIChyZXR2YWwpCi0JCQlyZXR1cm4gcmV0dmFsOwotCX0KLX0KLQotLyoKICAqIExvYWQgYWxsIG9mIHRoZSByZWZzIGZyb20gdGhlIGRpciBpbnRvIG91ciBpbi1tZW1vcnkgY2FjaGUuIFRoZSBoYXJkIHdvcmsKICAqIG9mIGxvYWRpbmcgbG9vc2UgcmVmcyBpcyBkb25lIGJ5IGdldF9yZWZfZGlyKCksIHNvIHdlIGp1c3QgbmVlZCB0byByZWN1cnNlCiAgKiB0aHJvdWdoIGFsbCBvZiB0aGUgc3ViLWRpcmVjdG9yaWVzLiBXZSBkbyBub3QgZXZlbiBuZWVkIHRvIGNhcmUgYWJvdXQKQEAgLTY5Miw2ICs1ODksMTUzIEBACiAJfQogfQogCisvKgorICogQSBsZXZlbCBpbiB0aGUgcmVmZXJlbmNlIGhpZXJhcmNoeSB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyBpdGVyYXRlZAorICogdGhyb3VnaC4KKyAqLworc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvcl9sZXZlbCB7CisJLyoKKwkgKiBUaGUgcmVmX2RpciBiZWluZyBpdGVyYXRlZCBvdmVyIGF0IHRoaXMgbGV2ZWwuIFRoZSByZWZfZGlyCisJICogaXMgc29ydGVkIGJlZm9yZSBiZWluZyBzdG9yZWQgaGVyZS4KKwkgKi8KKwlzdHJ1Y3QgcmVmX2RpciAqZGlyOworCisJLyoKKwkgKiBUaGUgaW5kZXggb2YgdGhlIGN1cnJlbnQgZW50cnkgd2l0aGluIGRpciAod2hpY2ggbWlnaHQKKwkgKiBpdHNlbGYgYmUgYSBkaXJlY3RvcnkpLiBJZiBpbmRleCA9PSAtMSwgdGhlbiB0aGUgaXRlcmF0aW9uCisJICogaGFzbid0IHlldCBiZWd1bi4gSWYgaW5kZXggPT0gZGlyLT5uciwgdGhlbiB0aGUgaXRlcmF0aW9uCisJICogdGhyb3VnaCB0aGlzIGxldmVsIGlzIG92ZXIuCisJICovCisJaW50IGluZGV4OworfTsKKworLyoKKyAqIFJlcHJlc2VudCBhbiBpdGVyYXRpb24gdGhyb3VnaCBhIHJlZl9kaXIgaW4gdGhlIG1lbW9yeSBjYWNoZS4gVGhlCisgKiBpdGVyYXRpb24gcmVjdXJzZXMgdGhyb3VnaCBzdWJkaXJlY3Rvcmllcy4KKyAqLworc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvciB7CisJc3RydWN0IHJlZl9pdGVyYXRvciBiYXNlOworCisJLyoKKwkgKiBUaGUgbnVtYmVyIG9mIGxldmVscyBjdXJyZW50bHkgb24gdGhlIHN0YWNrLiBUaGlzIGlzIGFsd2F5cworCSAqIGF0IGxlYXN0IDEsIGJlY2F1c2Ugd2hlbiBpdCBiZWNvbWVzIHplcm8gdGhlIGl0ZXJhdGlvbiBpcworCSAqIGVuZGVkIGFuZCB0aGlzIHN0cnVjdCBpcyBmcmVlZC4KKwkgKi8KKwlzaXplX3QgbGV2ZWxzX25yOworCisJLyogVGhlIG51bWJlciBvZiBsZXZlbHMgdGhhdCBoYXZlIGJlZW4gYWxsb2NhdGVkIG9uIHRoZSBzdGFjayAqLworCXNpemVfdCBsZXZlbHNfYWxsb2M7CisKKwkvKgorCSAqIEEgc3RhY2sgb2YgbGV2ZWxzLiBsZXZlbHNbMF0gaXMgdGhlIHVwcGVybW9zdCBsZXZlbCB0aGF0IGlzCisJICogYmVpbmcgaXRlcmF0ZWQgb3ZlciBpbiB0aGlzIGl0ZXJhdGlvbi4gKFRoaXMgaXMgbm90CisJICogbmVjZXNzYXJ5IHRoZSB0b3AgbGV2ZWwgaW4gdGhlIHJlZmVyZW5jZXMgaGllcmFyY2h5LiBJZiB3ZQorCSAqIGFyZSBpdGVyYXRpbmcgdGhyb3VnaCBhIHN1YnRyZWUsIHRoZW4gbGV2ZWxzWzBdIHdpbGwgaG9sZAorCSAqIHRoZSByZWZfZGlyIGZvciB0aGF0IHN1YnRyZWUsIGFuZCBzdWJzZXF1ZW50IGxldmVscyB3aWxsIGdvCisJICogb24gZnJvbSB0aGVyZS4pCisJICovCisJc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvcl9sZXZlbCAqbGV2ZWxzOworfTsKKworc3RhdGljIGludCBjYWNoZV9yZWZfaXRlcmF0b3JfYWR2YW5jZShzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IpCit7CisJc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvciAqaXRlciA9CisJCShzdHJ1Y3QgY2FjaGVfcmVmX2l0ZXJhdG9yICopcmVmX2l0ZXJhdG9yOworCisJd2hpbGUgKDEpIHsKKwkJc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvcl9sZXZlbCAqbGV2ZWwgPQorCQkJJml0ZXItPmxldmVsc1tpdGVyLT5sZXZlbHNfbnIgLSAxXTsKKwkJc3RydWN0IHJlZl9kaXIgKmRpciA9IGxldmVsLT5kaXI7CisJCXN0cnVjdCByZWZfZW50cnkgKmVudHJ5OworCisJCWlmIChsZXZlbC0+aW5kZXggPT0gLTEpCisJCQlzb3J0X3JlZl9kaXIoZGlyKTsKKworCQlpZiAoKytsZXZlbC0+aW5kZXggPT0gbGV2ZWwtPmRpci0+bnIpIHsKKwkJCS8qIFRoaXMgbGV2ZWwgaXMgZXhoYXVzdGVkOyBwb3AgdXAgYSBsZXZlbCAqLworCQkJaWYgKC0taXRlci0+bGV2ZWxzX25yID09IDApCisJCQkJcmV0dXJuIHJlZl9pdGVyYXRvcl9hYm9ydChyZWZfaXRlcmF0b3IpOworCisJCQljb250aW51ZTsKKwkJfQorCisJCWVudHJ5ID0gZGlyLT5lbnRyaWVzW2xldmVsLT5pbmRleF07CisKKwkJaWYgKGVudHJ5LT5mbGFnICYgUkVGX0RJUikgeworCQkJLyogcHVzaCBkb3duIGEgbGV2ZWwgKi8KKwkJCUFMTE9DX0dST1coaXRlci0+bGV2ZWxzLCBpdGVyLT5sZXZlbHNfbnIgKyAxLAorCQkJCSAgIGl0ZXItPmxldmVsc19hbGxvYyk7CisKKwkJCWxldmVsID0gJml0ZXItPmxldmVsc1tpdGVyLT5sZXZlbHNfbnIrK107CisJCQlsZXZlbC0+ZGlyID0gZ2V0X3JlZl9kaXIoZW50cnkpOworCQkJbGV2ZWwtPmluZGV4ID0gLTE7CisJCX0gZWxzZSB7CisJCQlpdGVyLT5iYXNlLnJlZm5hbWUgPSBlbnRyeS0+bmFtZTsKKwkJCWl0ZXItPmJhc2Uub2lkID0gJmVudHJ5LT51LnZhbHVlLm9pZDsKKwkJCWl0ZXItPmJhc2UuZmxhZ3MgPSBlbnRyeS0+ZmxhZzsKKwkJCXJldHVybiBJVEVSX09LOworCQl9CisJfQorfQorCitzdGF0aWMgZW51bSBwZWVsX3N0YXR1cyBwZWVsX2VudHJ5KHN0cnVjdCByZWZfZW50cnkgKmVudHJ5LCBpbnQgcmVwZWVsKTsKKworc3RhdGljIGludCBjYWNoZV9yZWZfaXRlcmF0b3JfcGVlbChzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IsCisJCQkJICAgc3RydWN0IG9iamVjdF9pZCAqcGVlbGVkKQoreworCXN0cnVjdCBjYWNoZV9yZWZfaXRlcmF0b3IgKml0ZXIgPQorCQkoc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvciAqKXJlZl9pdGVyYXRvcjsKKwlzdHJ1Y3QgY2FjaGVfcmVmX2l0ZXJhdG9yX2xldmVsICpsZXZlbDsKKwlzdHJ1Y3QgcmVmX2VudHJ5ICplbnRyeTsKKworCWxldmVsID0gJml0ZXItPmxldmVsc1tpdGVyLT5sZXZlbHNfbnIgLSAxXTsKKworCWlmIChsZXZlbC0+aW5kZXggPT0gLTEpCisJCWRpZSgiQlVHOiBwZWVsIGNhbGxlZCBiZWZvcmUgYWR2YW5jZSBmb3IgY2FjaGUgaXRlcmF0b3IiKTsKKworCWVudHJ5ID0gbGV2ZWwtPmRpci0+ZW50cmllc1tsZXZlbC0+aW5kZXhdOworCisJaWYgKHBlZWxfZW50cnkoZW50cnksIDApKQorCQlyZXR1cm4gLTE7CisJaGFzaGNweShwZWVsZWQtPmhhc2gsIGVudHJ5LT51LnZhbHVlLnBlZWxlZC5oYXNoKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYWNoZV9yZWZfaXRlcmF0b3JfYWJvcnQoc3RydWN0IHJlZl9pdGVyYXRvciAqcmVmX2l0ZXJhdG9yKQoreworCXN0cnVjdCBjYWNoZV9yZWZfaXRlcmF0b3IgKml0ZXIgPQorCQkoc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvciAqKXJlZl9pdGVyYXRvcjsKKworCWZyZWUoaXRlci0+bGV2ZWxzKTsKKwliYXNlX3JlZl9pdGVyYXRvcl9mcmVlKHJlZl9pdGVyYXRvcik7CisJcmV0dXJuIElURVJfRE9ORTsKK30KKworc3RhdGljIHN0cnVjdCByZWZfaXRlcmF0b3JfdnRhYmxlIGNhY2hlX3JlZl9pdGVyYXRvcl92dGFibGUgPSB7CisJY2FjaGVfcmVmX2l0ZXJhdG9yX2FkdmFuY2UsCisJY2FjaGVfcmVmX2l0ZXJhdG9yX3BlZWwsCisJY2FjaGVfcmVmX2l0ZXJhdG9yX2Fib3J0Cit9OworCitzdGF0aWMgc3RydWN0IHJlZl9pdGVyYXRvciAqY2FjaGVfcmVmX2l0ZXJhdG9yX2JlZ2luKHN0cnVjdCByZWZfZGlyICpkaXIpCit7CisJc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvciAqaXRlcjsKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3I7CisJc3RydWN0IGNhY2hlX3JlZl9pdGVyYXRvcl9sZXZlbCAqbGV2ZWw7CisKKwlpdGVyID0geGNhbGxvYygxLCBzaXplb2YoKml0ZXIpKTsKKwlyZWZfaXRlcmF0b3IgPSAmaXRlci0+YmFzZTsKKwliYXNlX3JlZl9pdGVyYXRvcl9pbml0KHJlZl9pdGVyYXRvciwgJmNhY2hlX3JlZl9pdGVyYXRvcl92dGFibGUpOworCUFMTE9DX0dST1coaXRlci0+bGV2ZWxzLCAxMCwgaXRlci0+bGV2ZWxzX2FsbG9jKTsKKworCWl0ZXItPmxldmVsc19uciA9IDE7CisJbGV2ZWwgPSAmaXRlci0+bGV2ZWxzWzBdOworCWxldmVsLT5pbmRleCA9IC0xOworCWxldmVsLT5kaXIgPSBkaXI7CisKKwlyZXR1cm4gcmVmX2l0ZXJhdG9yOworfQorCiBzdHJ1Y3Qgbm9ubWF0Y2hpbmdfcmVmX2RhdGEgewogCWNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqc2tpcDsKIAljb25zdCBjaGFyICpjb25mbGljdGluZ19yZWZuYW1lOwpAQCAtODQzLDkgKzg4Nyw5IEBACiAKIAkvKgogCSAqIENvdW50IG9mIHJlZmVyZW5jZXMgdG8gdGhlIGRhdGEgc3RydWN0dXJlIGluIHRoaXMgaW5zdGFuY2UsCi0JICogaW5jbHVkaW5nIHRoZSBwb2ludGVyIGZyb20gcmVmX2NhY2hlOjpwYWNrZWQgaWYgYW55LiAgVGhlCi0JICogZGF0YSB3aWxsIG5vdCBiZSBmcmVlZCBhcyBsb25nIGFzIHRoZSByZWZlcmVuY2UgY291bnQgaXMKLQkgKiBub256ZXJvLgorCSAqIGluY2x1ZGluZyB0aGUgcG9pbnRlciBmcm9tIGZpbGVzX3JlZl9zdG9yZTo6cGFja2VkIGlmIGFueS4KKwkgKiBUaGUgZGF0YSB3aWxsIG5vdCBiZSBmcmVlZCBhcyBsb25nIGFzIHRoZSByZWZlcmVuY2UgY291bnQKKwkgKiBpcyBub256ZXJvLgogCSAqLwogCXVuc2lnbmVkIGludCByZWZlcnJlcnM7CiAKQEAgLTg2NiwxNyArOTEwLDExIEBACiAgKiBGdXR1cmU6IG5lZWQgdG8gYmUgaW4gInN0cnVjdCByZXBvc2l0b3J5IgogICogd2hlbiBkb2luZyBhIGZ1bGwgbGliaWZpY2F0aW9uLgogICovCi1zdGF0aWMgc3RydWN0IHJlZl9jYWNoZSB7Ci0Jc3RydWN0IHJlZl9jYWNoZSAqbmV4dDsKK3N0cnVjdCBmaWxlc19yZWZfc3RvcmUgeworCXN0cnVjdCByZWZfc3RvcmUgYmFzZTsKIAlzdHJ1Y3QgcmVmX2VudHJ5ICpsb29zZTsKIAlzdHJ1Y3QgcGFja2VkX3JlZl9jYWNoZSAqcGFja2VkOwotCS8qCi0JICogVGhlIHN1Ym1vZHVsZSBuYW1lLCBvciAiIiBmb3IgdGhlIG1haW4gcmVwby4gIFdlIGFsbG9jYXRlCi0JICogbGVuZ3RoIDEgcmF0aGVyIHRoYW4gRkxFWF9BUlJBWSBzbyB0aGF0IHRoZSBtYWluIHJlZl9jYWNoZQotCSAqIGlzIGluaXRpYWxpemVkIGNvcnJlY3RseS4KLQkgKi8KLQljaGFyIG5hbWVbMV07Ci19IHJlZl9jYWNoZSwgKnN1Ym1vZHVsZV9yZWZfY2FjaGVzOworfTsKIAogLyogTG9jayB1c2VkIGZvciB0aGUgbWFpbiBwYWNrZWQtcmVmcyBmaWxlOiAqLwogc3RhdGljIHN0cnVjdCBsb2NrX2ZpbGUgcGFja2xvY2s7CkBAIC05MDUsNyArOTQzLDcgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGNsZWFyX3BhY2tlZF9yZWZfY2FjaGUoc3RydWN0IHJlZl9jYWNoZSAqcmVmcykKK3N0YXRpYyB2b2lkIGNsZWFyX3BhY2tlZF9yZWZfY2FjaGUoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcykKIHsKIAlpZiAocmVmcy0+cGFja2VkKSB7CiAJCXN0cnVjdCBwYWNrZWRfcmVmX2NhY2hlICpwYWNrZWRfcmVmcyA9IHJlZnMtPnBhY2tlZDsKQEAgLTkxNyw3ICs5NTUsNyBAQAogCX0KIH0KIAotc3RhdGljIHZvaWQgY2xlYXJfbG9vc2VfcmVmX2NhY2hlKHN0cnVjdCByZWZfY2FjaGUgKnJlZnMpCitzdGF0aWMgdm9pZCBjbGVhcl9sb29zZV9yZWZfY2FjaGUoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcykKIHsKIAlpZiAocmVmcy0+bG9vc2UpIHsKIAkJZnJlZV9yZWZfZW50cnkocmVmcy0+bG9vc2UpOwpAQCAtOTI5LDQyICs5NjcsMzQgQEAKICAqIENyZWF0ZSBhIG5ldyBzdWJtb2R1bGUgcmVmIGNhY2hlIGFuZCBhZGQgaXQgdG8gdGhlIGludGVybmFsCiAgKiBzZXQgb2YgY2FjaGVzLgogICovCi1zdGF0aWMgc3RydWN0IHJlZl9jYWNoZSAqY3JlYXRlX3JlZl9jYWNoZShjb25zdCBjaGFyICpzdWJtb2R1bGUpCitzdGF0aWMgc3RydWN0IHJlZl9zdG9yZSAqZmlsZXNfcmVmX3N0b3JlX2NyZWF0ZShjb25zdCBjaGFyICpzdWJtb2R1bGUpCiB7Ci0Jc3RydWN0IHJlZl9jYWNoZSAqcmVmczsKLQlpZiAoIXN1Ym1vZHVsZSkKLQkJc3VibW9kdWxlID0gIiI7Ci0JRkxFWF9BTExPQ19TVFIocmVmcywgbmFtZSwgc3VibW9kdWxlKTsKLQlyZWZzLT5uZXh0ID0gc3VibW9kdWxlX3JlZl9jYWNoZXM7Ci0Jc3VibW9kdWxlX3JlZl9jYWNoZXMgPSByZWZzOwotCXJldHVybiByZWZzOwotfQorCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMgPSB4Y2FsbG9jKDEsIHNpemVvZigqcmVmcykpOworCXN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSA9IChzdHJ1Y3QgcmVmX3N0b3JlICopcmVmczsKIAotc3RhdGljIHN0cnVjdCByZWZfY2FjaGUgKmxvb2t1cF9yZWZfY2FjaGUoY29uc3QgY2hhciAqc3VibW9kdWxlKQotewotCXN0cnVjdCByZWZfY2FjaGUgKnJlZnM7CisJYmFzZV9yZWZfc3RvcmVfaW5pdChyZWZfc3RvcmUsICZyZWZzX2JlX2ZpbGVzLCBzdWJtb2R1bGUpOwogCi0JaWYgKCFzdWJtb2R1bGUgfHwgISpzdWJtb2R1bGUpCi0JCXJldHVybiAmcmVmX2NhY2hlOwotCi0JZm9yIChyZWZzID0gc3VibW9kdWxlX3JlZl9jYWNoZXM7IHJlZnM7IHJlZnMgPSByZWZzLT5uZXh0KQotCQlpZiAoIXN0cmNtcChzdWJtb2R1bGUsIHJlZnMtPm5hbWUpKQotCQkJcmV0dXJuIHJlZnM7Ci0JcmV0dXJuIE5VTEw7CisJcmV0dXJuIHJlZl9zdG9yZTsKIH0KIAogLyoKLSAqIFJldHVybiBhIHBvaW50ZXIgdG8gYSByZWZfY2FjaGUgZm9yIHRoZSBzcGVjaWZpZWQgc3VibW9kdWxlLiBGb3IKLSAqIHRoZSBtYWluIHJlcG9zaXRvcnksIHVzZSBzdWJtb2R1bGU9PU5VTEwuIFRoZSByZXR1cm5lZCBzdHJ1Y3R1cmUKLSAqIHdpbGwgYmUgYWxsb2NhdGVkIGFuZCBpbml0aWFsaXplZCBidXQgbm90IG5lY2Vzc2FyaWx5IHBvcHVsYXRlZDsgaXQKLSAqIHNob3VsZCBub3QgYmUgZnJlZWQuCisgKiBEb3duY2FzdCByZWZfc3RvcmUgdG8gZmlsZXNfcmVmX3N0b3JlLiBEaWUgaWYgcmVmX3N0b3JlIGlzIG5vdCBhCisgKiBmaWxlc19yZWZfc3RvcmUuIElmIHN1Ym1vZHVsZV9hbGxvd2VkIGlzIG5vdCB0cnVlLCB0aGVuIGFsc28gZGllIGlmCisgKiBmaWxlc19yZWZfc3RvcmUgaXMgZm9yIGEgc3VibW9kdWxlIChpLmUuLCBub3QgZm9yIHRoZSBtYWluCisgKiByZXBvc2l0b3J5KS4gY2FsbGVyIGlzIHVzZWQgaW4gYW55IG5lY2Vzc2FyeSBlcnJvciBtZXNzYWdlcy4KICAqLwotc3RhdGljIHN0cnVjdCByZWZfY2FjaGUgKmdldF9yZWZfY2FjaGUoY29uc3QgY2hhciAqc3VibW9kdWxlKQorc3RhdGljIHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKmZpbGVzX2Rvd25jYXN0KAorCQlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsIGludCBzdWJtb2R1bGVfYWxsb3dlZCwKKwkJY29uc3QgY2hhciAqY2FsbGVyKQogewotCXN0cnVjdCByZWZfY2FjaGUgKnJlZnMgPSBsb29rdXBfcmVmX2NhY2hlKHN1Ym1vZHVsZSk7Ci0JaWYgKCFyZWZzKQotCQlyZWZzID0gY3JlYXRlX3JlZl9jYWNoZShzdWJtb2R1bGUpOwotCXJldHVybiByZWZzOworCWlmIChyZWZfc3RvcmUtPmJlICE9ICZyZWZzX2JlX2ZpbGVzKQorCQlkaWUoIkJVRzogcmVmX3N0b3JlIGlzIHR5cGUgXCIlc1wiIG5vdCBcImZpbGVzXCIgaW4gJXMiLAorCQkgICAgcmVmX3N0b3JlLT5iZS0+bmFtZSwgY2FsbGVyKTsKKworCWlmICghc3VibW9kdWxlX2FsbG93ZWQpCisJCWFzc2VydF9tYWluX3JlcG9zaXRvcnkocmVmX3N0b3JlLCBjYWxsZXIpOworCisJcmV0dXJuIChzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICopcmVmX3N0b3JlOwogfQogCiAvKiBUaGUgbGVuZ3RoIG9mIGEgcGVlbGVkIHJlZmVyZW5jZSBsaW5lIGluIHBhY2tlZC1yZWZzLCBpbmNsdWRpbmcgRU9MOiAqLwpAQCAtMTA5NiwxNSArMTEyNiwxNiBAQAogfQogCiAvKgotICogR2V0IHRoZSBwYWNrZWRfcmVmX2NhY2hlIGZvciB0aGUgc3BlY2lmaWVkIHJlZl9jYWNoZSwgY3JlYXRpbmcgaXQKLSAqIGlmIG5lY2Vzc2FyeS4KKyAqIEdldCB0aGUgcGFja2VkX3JlZl9jYWNoZSBmb3IgdGhlIHNwZWNpZmllZCBmaWxlc19yZWZfc3RvcmUsCisgKiBjcmVhdGluZyBpdCBpZiBuZWNlc3NhcnkuCiAgKi8KLXN0YXRpYyBzdHJ1Y3QgcGFja2VkX3JlZl9jYWNoZSAqZ2V0X3BhY2tlZF9yZWZfY2FjaGUoc3RydWN0IHJlZl9jYWNoZSAqcmVmcykKK3N0YXRpYyBzdHJ1Y3QgcGFja2VkX3JlZl9jYWNoZSAqZ2V0X3BhY2tlZF9yZWZfY2FjaGUoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcykKIHsKIAljaGFyICpwYWNrZWRfcmVmc19maWxlOwogCi0JaWYgKCpyZWZzLT5uYW1lKQotCQlwYWNrZWRfcmVmc19maWxlID0gZ2l0X3BhdGhkdXBfc3VibW9kdWxlKHJlZnMtPm5hbWUsICJwYWNrZWQtcmVmcyIpOworCWlmICgqcmVmcy0+YmFzZS5zdWJtb2R1bGUpCisJCXBhY2tlZF9yZWZzX2ZpbGUgPSBnaXRfcGF0aGR1cF9zdWJtb2R1bGUocmVmcy0+YmFzZS5zdWJtb2R1bGUsCisJCQkJCQkJICJwYWNrZWQtcmVmcyIpOwogCWVsc2UKIAkJcGFja2VkX3JlZnNfZmlsZSA9IGdpdF9wYXRoZHVwKCJwYWNrZWQtcmVmcyIpOwogCkBAIC0xMTM0LDcgKzExNjUsNyBAQAogCXJldHVybiBnZXRfcmVmX2RpcihwYWNrZWRfcmVmX2NhY2hlLT5yb290KTsKIH0KIAotc3RhdGljIHN0cnVjdCByZWZfZGlyICpnZXRfcGFja2VkX3JlZnMoc3RydWN0IHJlZl9jYWNoZSAqcmVmcykKK3N0YXRpYyBzdHJ1Y3QgcmVmX2RpciAqZ2V0X3BhY2tlZF9yZWZzKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMpCiB7CiAJcmV0dXJuIGdldF9wYWNrZWRfcmVmX2RpcihnZXRfcGFja2VkX3JlZl9jYWNoZShyZWZzKSk7CiB9CkBAIC0xMTQ1LDEwICsxMTc2LDEwIEBACiAgKiBsb2NrX3BhY2tlZF9yZWZzKCkpLiAgVG8gYWN0dWFsbHkgd3JpdGUgdGhlIHBhY2tlZC1yZWZzIGZpbGUsIGNhbGwKICAqIGNvbW1pdF9wYWNrZWRfcmVmcygpLgogICovCi1zdGF0aWMgdm9pZCBhZGRfcGFja2VkX3JlZihjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIHZvaWQgYWRkX3BhY2tlZF9yZWYoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcywKKwkJCSAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCiB7Ci0Jc3RydWN0IHBhY2tlZF9yZWZfY2FjaGUgKnBhY2tlZF9yZWZfY2FjaGUgPQotCQlnZXRfcGFja2VkX3JlZl9jYWNoZSgmcmVmX2NhY2hlKTsKKwlzdHJ1Y3QgcGFja2VkX3JlZl9jYWNoZSAqcGFja2VkX3JlZl9jYWNoZSA9IGdldF9wYWNrZWRfcmVmX2NhY2hlKHJlZnMpOwogCiAJaWYgKCFwYWNrZWRfcmVmX2NhY2hlLT5sb2NrKQogCQlkaWUoImludGVybmFsIGVycm9yOiBwYWNrZWQgcmVmcyBub3QgbG9ja2VkIik7CkBAIC0xMTYzLDIwICsxMTk0LDI2IEBACiAgKi8KIHN0YXRpYyB2b2lkIHJlYWRfbG9vc2VfcmVmcyhjb25zdCBjaGFyICpkaXJuYW1lLCBzdHJ1Y3QgcmVmX2RpciAqZGlyKQogewotCXN0cnVjdCByZWZfY2FjaGUgKnJlZnMgPSBkaXItPnJlZl9jYWNoZTsKKwlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0gZGlyLT5yZWZfc3RvcmU7CiAJRElSICpkOwogCXN0cnVjdCBkaXJlbnQgKmRlOwogCWludCBkaXJuYW1lbGVuID0gc3RybGVuKGRpcm5hbWUpOwogCXN0cnVjdCBzdHJidWYgcmVmbmFtZTsKIAlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKIAlzaXplX3QgcGF0aF9iYXNlbGVuOworCWludCBlcnIgPSAwOwogCi0JaWYgKCpyZWZzLT5uYW1lKQotCQlzdHJidWZfZ2l0X3BhdGhfc3VibW9kdWxlKCZwYXRoLCByZWZzLT5uYW1lLCAiJXMiLCBkaXJuYW1lKTsKKwlpZiAoKnJlZnMtPmJhc2Uuc3VibW9kdWxlKQorCQllcnIgPSBzdHJidWZfZ2l0X3BhdGhfc3VibW9kdWxlKCZwYXRoLCByZWZzLT5iYXNlLnN1Ym1vZHVsZSwgIiVzIiwgZGlybmFtZSk7CiAJZWxzZQogCQlzdHJidWZfZ2l0X3BhdGgoJnBhdGgsICIlcyIsIGRpcm5hbWUpOwogCXBhdGhfYmFzZWxlbiA9IHBhdGgubGVuOwogCisJaWYgKGVycikgeworCQlzdHJidWZfcmVsZWFzZSgmcGF0aCk7CisJCXJldHVybjsKKwl9CisKIAlkID0gb3BlbmRpcihwYXRoLmJ1Zik7CiAJaWYgKCFkKSB7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKQEAgLTEyMDcsMTAgKzEyNDQsMTAgQEAKIAkJfSBlbHNlIHsKIAkJCWludCByZWFkX29rOwogCi0JCQlpZiAoKnJlZnMtPm5hbWUpIHsKKwkJCWlmICgqcmVmcy0+YmFzZS5zdWJtb2R1bGUpIHsKIAkJCQloYXNoY2xyKHNoYTEpOwogCQkJCWZsYWcgPSAwOwotCQkJCXJlYWRfb2sgPSAhcmVzb2x2ZV9naXRsaW5rX3JlZihyZWZzLT5uYW1lLAorCQkJCXJlYWRfb2sgPSAhcmVzb2x2ZV9naXRsaW5rX3JlZihyZWZzLT5iYXNlLnN1Ym1vZHVsZSwKIAkJCQkJCQkgICAgICAgcmVmbmFtZS5idWYsIHNoYTEpOwogCQkJfSBlbHNlIHsKIAkJCQlyZWFkX29rID0gIXJlYWRfcmVmX2Z1bGwocmVmbmFtZS5idWYsCkBAIC0xMjUxLDcgKzEyODgsNyBAQAogCWNsb3NlZGlyKGQpOwogfQogCi1zdGF0aWMgc3RydWN0IHJlZl9kaXIgKmdldF9sb29zZV9yZWZzKHN0cnVjdCByZWZfY2FjaGUgKnJlZnMpCitzdGF0aWMgc3RydWN0IHJlZl9kaXIgKmdldF9sb29zZV9yZWZzKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMpCiB7CiAJaWYgKCFyZWZzLT5sb29zZSkgewogCQkvKgpAQCAtMTI2OSwxMDggKzEzMDYsMjIgQEAKIAlyZXR1cm4gZ2V0X3JlZl9kaXIocmVmcy0+bG9vc2UpOwogfQogCi0jZGVmaW5lIE1BWFJFRkxFTiAoMTAyNCkKLQotLyoKLSAqIENhbGxlZCBieSByZXNvbHZlX2dpdGxpbmtfcmVmX3JlY3Vyc2l2ZSgpIGFmdGVyIGl0IGZhaWxlZCB0byByZWFkCi0gKiBmcm9tIHRoZSBsb29zZSByZWZzIGluIHJlZl9jYWNoZSByZWZzLiBGaW5kIDxyZWZuYW1lPiBpbiB0aGUKLSAqIHBhY2tlZC1yZWZzIGZpbGUgZm9yIHRoZSBzdWJtb2R1bGUuCi0gKi8KLXN0YXRpYyBpbnQgcmVzb2x2ZV9naXRsaW5rX3BhY2tlZF9yZWYoc3RydWN0IHJlZl9jYWNoZSAqcmVmcywKLQkJCQkgICAgICBjb25zdCBjaGFyICpyZWZuYW1lLCB1bnNpZ25lZCBjaGFyICpzaGExKQotewotCXN0cnVjdCByZWZfZW50cnkgKnJlZjsKLQlzdHJ1Y3QgcmVmX2RpciAqZGlyID0gZ2V0X3BhY2tlZF9yZWZzKHJlZnMpOwotCi0JcmVmID0gZmluZF9yZWYoZGlyLCByZWZuYW1lKTsKLQlpZiAocmVmID09IE5VTEwpCi0JCXJldHVybiAtMTsKLQotCWhhc2hjcHkoc2hhMSwgcmVmLT51LnZhbHVlLm9pZC5oYXNoKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCByZXNvbHZlX2dpdGxpbmtfcmVmX3JlY3Vyc2l2ZShzdHJ1Y3QgcmVmX2NhY2hlICpyZWZzLAotCQkJCQkgY29uc3QgY2hhciAqcmVmbmFtZSwgdW5zaWduZWQgY2hhciAqc2hhMSwKLQkJCQkJIGludCByZWN1cnNpb24pCi17Ci0JaW50IGZkLCBsZW47Ci0JY2hhciBidWZmZXJbMTI4XSwgKnA7Ci0JY2hhciAqcGF0aDsKLQotCWlmIChyZWN1cnNpb24gPiBTWU1SRUZfTUFYREVQVEggfHwgc3RybGVuKHJlZm5hbWUpID4gTUFYUkVGTEVOKQotCQlyZXR1cm4gLTE7Ci0JcGF0aCA9ICpyZWZzLT5uYW1lCi0JCT8gZ2l0X3BhdGhkdXBfc3VibW9kdWxlKHJlZnMtPm5hbWUsICIlcyIsIHJlZm5hbWUpCi0JCTogZ2l0X3BhdGhkdXAoIiVzIiwgcmVmbmFtZSk7Ci0JZmQgPSBvcGVuKHBhdGgsIE9fUkRPTkxZKTsKLQlmcmVlKHBhdGgpOwotCWlmIChmZCA8IDApCi0JCXJldHVybiByZXNvbHZlX2dpdGxpbmtfcGFja2VkX3JlZihyZWZzLCByZWZuYW1lLCBzaGExKTsKLQotCWxlbiA9IHJlYWQoZmQsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciktMSk7Ci0JY2xvc2UoZmQpOwotCWlmIChsZW4gPCAwKQotCQlyZXR1cm4gLTE7Ci0Jd2hpbGUgKGxlbiAmJiBpc3NwYWNlKGJ1ZmZlcltsZW4tMV0pKQotCQlsZW4tLTsKLQlidWZmZXJbbGVuXSA9IDA7Ci0KLQkvKiBXYXMgaXQgYSBkZXRhY2hlZCBoZWFkIG9yIGFuIG9sZC1mYXNoaW9uZWQgc3ltbGluaz8gKi8KLQlpZiAoIWdldF9zaGExX2hleChidWZmZXIsIHNoYTEpKQotCQlyZXR1cm4gMDsKLQotCS8qIFN5bXJlZj8gKi8KLQlpZiAoc3RybmNtcChidWZmZXIsICJyZWY6IiwgNCkpCi0JCXJldHVybiAtMTsKLQlwID0gYnVmZmVyICsgNDsKLQl3aGlsZSAoaXNzcGFjZSgqcCkpCi0JCXArKzsKLQotCXJldHVybiByZXNvbHZlX2dpdGxpbmtfcmVmX3JlY3Vyc2l2ZShyZWZzLCBwLCBzaGExLCByZWN1cnNpb24rMSk7Ci19Ci0KLWludCByZXNvbHZlX2dpdGxpbmtfcmVmKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGNoYXIgKnNoYTEpCi17Ci0JaW50IGxlbiA9IHN0cmxlbihwYXRoKSwgcmV0dmFsOwotCXN0cnVjdCBzdHJidWYgc3VibW9kdWxlID0gU1RSQlVGX0lOSVQ7Ci0Jc3RydWN0IHJlZl9jYWNoZSAqcmVmczsKLQotCXdoaWxlIChsZW4gJiYgcGF0aFtsZW4tMV0gPT0gJy8nKQotCQlsZW4tLTsKLQlpZiAoIWxlbikKLQkJcmV0dXJuIC0xOwotCi0Jc3RyYnVmX2FkZCgmc3VibW9kdWxlLCBwYXRoLCBsZW4pOwotCXJlZnMgPSBsb29rdXBfcmVmX2NhY2hlKHN1Ym1vZHVsZS5idWYpOwotCWlmICghcmVmcykgewotCQlpZiAoIWlzX25vbmJhcmVfcmVwb3NpdG9yeV9kaXIoJnN1Ym1vZHVsZSkpIHsKLQkJCXN0cmJ1Zl9yZWxlYXNlKCZzdWJtb2R1bGUpOwotCQkJcmV0dXJuIC0xOwotCQl9Ci0JCXJlZnMgPSBjcmVhdGVfcmVmX2NhY2hlKHN1Ym1vZHVsZS5idWYpOwotCX0KLQlzdHJidWZfcmVsZWFzZSgmc3VibW9kdWxlKTsKLQotCXJldHZhbCA9IHJlc29sdmVfZ2l0bGlua19yZWZfcmVjdXJzaXZlKHJlZnMsIHJlZm5hbWUsIHNoYTEsIDApOwotCXJldHVybiByZXR2YWw7Ci19Ci0KIC8qCiAgKiBSZXR1cm4gdGhlIHJlZl9lbnRyeSBmb3IgdGhlIGdpdmVuIHJlZm5hbWUgZnJvbSB0aGUgcGFja2VkCiAgKiByZWZlcmVuY2VzLiAgSWYgaXQgZG9lcyBub3QgZXhpc3QsIHJldHVybiBOVUxMLgogICovCi1zdGF0aWMgc3RydWN0IHJlZl9lbnRyeSAqZ2V0X3BhY2tlZF9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSkKK3N0YXRpYyBzdHJ1Y3QgcmVmX2VudHJ5ICpnZXRfcGFja2VkX3JlZihzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzLAorCQkJCQljb25zdCBjaGFyICpyZWZuYW1lKQogewotCXJldHVybiBmaW5kX3JlZihnZXRfcGFja2VkX3JlZnMoJnJlZl9jYWNoZSksIHJlZm5hbWUpOworCXJldHVybiBmaW5kX3JlZihnZXRfcGFja2VkX3JlZnMocmVmcyksIHJlZm5hbWUpOwogfQogCiAvKgogICogQSBsb29zZSByZWYgZmlsZSBkb2Vzbid0IGV4aXN0OyBjaGVjayBmb3IgYSBwYWNrZWQgcmVmLgogICovCi1zdGF0aWMgaW50IHJlc29sdmVfbWlzc2luZ19sb29zZV9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwKLQkJCQkgICAgIHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCQkJICAgICB1bnNpZ25lZCBpbnQgKmZsYWdzKQorc3RhdGljIGludCByZXNvbHZlX3BhY2tlZF9yZWYoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcywKKwkJCSAgICAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCQkgICAgICB1bnNpZ25lZCBjaGFyICpzaGExLCB1bnNpZ25lZCBpbnQgKmZsYWdzKQogewogCXN0cnVjdCByZWZfZW50cnkgKmVudHJ5OwogCkBAIC0xMzc4LDcgKzEzMjksNyBAQAogCSAqIFRoZSBsb29zZSByZWZlcmVuY2UgZmlsZSBkb2VzIG5vdCBleGlzdDsgY2hlY2sgZm9yIGEgcGFja2VkCiAJICogcmVmZXJlbmNlLgogCSAqLwotCWVudHJ5ID0gZ2V0X3BhY2tlZF9yZWYocmVmbmFtZSk7CisJZW50cnkgPSBnZXRfcGFja2VkX3JlZihyZWZzLCByZWZuYW1lKTsKIAlpZiAoZW50cnkpIHsKIAkJaGFzaGNweShzaGExLCBlbnRyeS0+dS52YWx1ZS5vaWQuaGFzaCk7CiAJCSpmbGFncyB8PSBSRUZfSVNQQUNLRUQ7CkBAIC0xMzg4LDM5ICsxMzM5LDEyIEBACiAJcmV0dXJuIC0xOwogfQogCi0vKgotICogUmVhZCBhIHJhdyByZWYgZnJvbSB0aGUgZmlsZXN5c3RlbSBvciBwYWNrZWQgcmVmcyBmaWxlLgotICoKLSAqIElmIHRoZSByZWYgaXMgYSBzaGExLCBmaWxsIGluIHNoYTEgYW5kIHJldHVybiAwLgotICoKLSAqIElmIHRoZSByZWYgaXMgc3ltYm9saWMsIGZpbGwgaW4gKnN5bXJlZiB3aXRoIHRoZSByZWZlcnJlbnQKLSAqIChlLmcuICJyZWZzL2hlYWRzL21hc3RlciIpIGFuZCByZXR1cm4gMC4gIFRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUKLSAqIGZvciB2YWxpZGF0aW5nIHRoZSByZWZlcnJlbnQuICBTZXQgUkVGX0lTU1lNUkVGIGluIGZsYWdzLgotICoKLSAqIElmIHRoZSByZWYgZG9lc24ndCBleGlzdCwgc2V0IGVycm5vIHRvIEVOT0VOVCBhbmQgcmV0dXJuIC0xLgotICoKLSAqIElmIHRoZSByZWYgZXhpc3RzIGJ1dCBpcyBuZWl0aGVyIGEgc3ltYm9saWMgcmVmIG5vciBhIHNoYTEsIGl0IGlzCi0gKiBicm9rZW4uIFNldCBSRUZfSVNCUk9LRU4gaW4gZmxhZ3MsIHNldCBlcnJubyB0byBFSU5WQUwsIGFuZCByZXR1cm4KLSAqIC0xLgotICoKLSAqIElmIHRoZXJlIGlzIGFub3RoZXIgZXJyb3IgcmVhZGluZyB0aGUgcmVmLCBzZXQgZXJybm8gYXBwcm9wcmlhdGVseSBhbmQKLSAqIHJldHVybiAtMS4KLSAqCi0gKiBCYWNrZW5kLXNwZWNpZmljIGZsYWdzIG1pZ2h0IGJlIHNldCBpbiBmbGFncyBhcyB3ZWxsLCByZWdhcmRsZXNzIG9mCi0gKiBvdXRjb21lLgotICoKLSAqIHNiX3BhdGggaXMgd29ya3NwYWNlOiB0aGUgY2FsbGVyIHNob3VsZCBhbGxvY2F0ZSBhbmQgZnJlZSBpdC4KLSAqCi0gKiBJdCBpcyBPSyBmb3IgcmVmbmFtZSB0byBwb2ludCBpbnRvIHN5bXJlZi4gSW4gdGhpcyBjYXNlOgotICogLSBpZiB0aGUgZnVuY3Rpb24gc3VjY2VlZHMgd2l0aCBSRUZfSVNTWU1SRUYsIHN5bXJlZiB3aWxsIGJlCi0gKiAgIG92ZXJ3cml0dGVuIGFuZCB0aGUgbWVtb3J5IHBvaW50ZWQgdG8gYnkgcmVmbmFtZSBtaWdodCBiZSBjaGFuZ2VkCi0gKiAgIG9yIGV2ZW4gZnJlZWQuCi0gKiAtIGluIGFsbCBvdGhlciBjYXNlcywgc3ltcmVmIHdpbGwgYmUgdW50b3VjaGVkLCBhbmQgdGhlcmVmb3JlCi0gKiAgIHJlZm5hbWUgd2lsbCBzdGlsbCBiZSB2YWxpZCBhbmQgdW5jaGFuZ2VkLgotICovCi1pbnQgcmVhZF9yYXdfcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCSBzdHJ1Y3Qgc3RyYnVmICpzeW1yZWYsIHVuc2lnbmVkIGludCAqZmxhZ3MpCitzdGF0aWMgaW50IGZpbGVzX3JlYWRfcmF3X3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkgICAgICBjb25zdCBjaGFyICpyZWZuYW1lLCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkJICAgICAgc3RydWN0IHN0cmJ1ZiAqcmVmZXJlbnQsIHVuc2lnbmVkIGludCAqdHlwZSkKIHsKKwlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0KKwkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAxLCAicmVhZF9yYXdfcmVmIik7CiAJc3RydWN0IHN0cmJ1ZiBzYl9jb250ZW50cyA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgc2JfcGF0aCA9IFNUUkJVRl9JTklUOwogCWNvbnN0IGNoYXIgKnBhdGg7CkBAIC0xNDI5LDkgKzEzNTMsMTYgQEAKIAlpbnQgZmQ7CiAJaW50IHJldCA9IC0xOwogCWludCBzYXZlX2Vycm5vOworCWludCByZW1haW5pbmdfcmV0cmllcyA9IDM7CiAKKwkqdHlwZSA9IDA7CiAJc3RyYnVmX3Jlc2V0KCZzYl9wYXRoKTsKLQlzdHJidWZfZ2l0X3BhdGgoJnNiX3BhdGgsICIlcyIsIHJlZm5hbWUpOworCisJaWYgKCpyZWZzLT5iYXNlLnN1Ym1vZHVsZSkKKwkJc3RyYnVmX2dpdF9wYXRoX3N1Ym1vZHVsZSgmc2JfcGF0aCwgcmVmcy0+YmFzZS5zdWJtb2R1bGUsICIlcyIsIHJlZm5hbWUpOworCWVsc2UKKwkJc3RyYnVmX2dpdF9wYXRoKCZzYl9wYXRoLCAiJXMiLCByZWZuYW1lKTsKKwogCXBhdGggPSBzYl9wYXRoLmJ1ZjsKIAogc3RhdF9yZWY6CkBAIC0xNDQzLDEyICsxMzc0LDE4IEBACiAJICogPC0+IHN5bWxpbmspIGJldHdlZW4gdGhlIGxzdGF0KCkgYW5kIHJlYWRpbmcsIHRoZW4KIAkgKiB3ZSBkb24ndCB3YW50IHRvIHJlcG9ydCB0aGF0IGFzIGFuIGVycm9yIGJ1dCByYXRoZXIKIAkgKiB0cnkgYWdhaW4gc3RhcnRpbmcgd2l0aCB0aGUgbHN0YXQoKS4KKwkgKgorCSAqIFdlJ2xsIGtlZXAgYSBjb3VudCBvZiB0aGUgcmV0cmllcywgdGhvdWdoLCBqdXN0IHRvIGF2b2lkCisJICogYW55IGNvbmZ1c2luZyBzaXR1YXRpb24gc2VuZGluZyB1cyBpbnRvIGFuIGluZmluaXRlIGxvb3AuCiAJICovCiAKKwlpZiAocmVtYWluaW5nX3JldHJpZXMtLSA8PSAwKQorCQlnb3RvIG91dDsKKwogCWlmIChsc3RhdChwYXRoLCAmc3QpIDwgMCkgewogCQlpZiAoZXJybm8gIT0gRU5PRU5UKQogCQkJZ290byBvdXQ7Ci0JCWlmIChyZXNvbHZlX21pc3NpbmdfbG9vc2VfcmVmKHJlZm5hbWUsIHNoYTEsIGZsYWdzKSkgeworCQlpZiAocmVzb2x2ZV9wYWNrZWRfcmVmKHJlZnMsIHJlZm5hbWUsIHNoYTEsIHR5cGUpKSB7CiAJCQllcnJubyA9IEVOT0VOVDsKIAkJCWdvdG8gb3V0OwogCQl9CkBAIC0xNDY4LDE2ICsxNDA1LDMwIEBACiAJCX0KIAkJaWYgKHN0YXJ0c193aXRoKHNiX2NvbnRlbnRzLmJ1ZiwgInJlZnMvIikgJiYKIAkJICAgICFjaGVja19yZWZuYW1lX2Zvcm1hdChzYl9jb250ZW50cy5idWYsIDApKSB7Ci0JCQlzdHJidWZfc3dhcCgmc2JfY29udGVudHMsIHN5bXJlZik7Ci0JCQkqZmxhZ3MgfD0gUkVGX0lTU1lNUkVGOworCQkJc3RyYnVmX3N3YXAoJnNiX2NvbnRlbnRzLCByZWZlcmVudCk7CisJCQkqdHlwZSB8PSBSRUZfSVNTWU1SRUY7CiAJCQlyZXQgPSAwOwogCQkJZ290byBvdXQ7CiAJCX0KKwkJLyoKKwkJICogSXQgZG9lc24ndCBsb29rIGxpa2UgYSByZWZuYW1lOyBmYWxsIHRocm91Z2ggdG8ganVzdAorCQkgKiB0cmVhdGluZyBpdCBsaWtlIGEgbm9uLXN5bWxpbmssIGFuZCByZWFkaW5nIHdoYXRldmVyIGl0CisJCSAqIHBvaW50cyB0by4KKwkJICovCiAJfQogCiAJLyogSXMgaXQgYSBkaXJlY3Rvcnk/ICovCiAJaWYgKFNfSVNESVIoc3Quc3RfbW9kZSkpIHsKLQkJZXJybm8gPSBFSVNESVI7CisJCS8qCisJCSAqIEV2ZW4gdGhvdWdoIHRoZXJlIGlzIGEgZGlyZWN0b3J5IHdoZXJlIHRoZSBsb29zZQorCQkgKiByZWYgaXMgc3VwcG9zZWQgdG8gYmUsIHRoZXJlIGNvdWxkIHN0aWxsIGJlIGEKKwkJICogcGFja2VkIHJlZjoKKwkJICovCisJCWlmIChyZXNvbHZlX3BhY2tlZF9yZWYocmVmcywgcmVmbmFtZSwgc2hhMSwgdHlwZSkpIHsKKwkJCWVycm5vID0gRUlTRElSOworCQkJZ290byBvdXQ7CisJCX0KKwkJcmV0ID0gMDsKIAkJZ290byBvdXQ7CiAJfQogCkBAIC0xNDg3LDcgKzE0MzgsNyBAQAogCSAqLwogCWZkID0gb3BlbihwYXRoLCBPX1JET05MWSk7CiAJaWYgKGZkIDwgMCkgewotCQlpZiAoZXJybm8gPT0gRU5PRU5UKQorCQlpZiAoZXJybm8gPT0gRU5PRU5UICYmICFTX0lTTE5LKHN0LnN0X21vZGUpKQogCQkJLyogaW5jb25zaXN0ZW50IHdpdGggbHN0YXQ7IHJldHJ5ICovCiAJCQlnb3RvIHN0YXRfcmVmOwogCQllbHNlCkBAIC0xNTA4LDkgKzE0NTksOSBAQAogCQl3aGlsZSAoaXNzcGFjZSgqYnVmKSkKIAkJCWJ1ZisrOwogCi0JCXN0cmJ1Zl9yZXNldChzeW1yZWYpOwotCQlzdHJidWZfYWRkc3RyKHN5bXJlZiwgYnVmKTsKLQkJKmZsYWdzIHw9IFJFRl9JU1NZTVJFRjsKKwkJc3RyYnVmX3Jlc2V0KHJlZmVyZW50KTsKKwkJc3RyYnVmX2FkZHN0cihyZWZlcmVudCwgYnVmKTsKKwkJKnR5cGUgfD0gUkVGX0lTU1lNUkVGOwogCQlyZXQgPSAwOwogCQlnb3RvIG91dDsKIAl9CkBAIC0xNTIxLDcgKzE0NzIsNyBAQAogCSAqLwogCWlmIChnZXRfc2hhMV9oZXgoYnVmLCBzaGExKSB8fAogCSAgICAoYnVmWzQwXSAhPSAnXDAnICYmICFpc3NwYWNlKGJ1Zls0MF0pKSkgewotCQkqZmxhZ3MgfD0gUkVGX0lTQlJPS0VOOworCQkqdHlwZSB8PSBSRUZfSVNCUk9LRU47CiAJCWVycm5vID0gRUlOVkFMOwogCQlnb3RvIG91dDsKIAl9CkBAIC0xNTM2LDYgKzE0ODcsMjQ1IEBACiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIHZvaWQgdW5sb2NrX3JlZihzdHJ1Y3QgcmVmX2xvY2sgKmxvY2spCit7CisJLyogRG8gbm90IGZyZWUgbG9jay0+bGsgLS0gYXRleGl0KCkgc3RpbGwgbG9va3MgYXQgdGhlbSAqLworCWlmIChsb2NrLT5saykKKwkJcm9sbGJhY2tfbG9ja19maWxlKGxvY2stPmxrKTsKKwlmcmVlKGxvY2stPnJlZl9uYW1lKTsKKwlmcmVlKGxvY2spOworfQorCisvKgorICogTG9jayByZWZuYW1lLCB3aXRob3V0IGZvbGxvd2luZyBzeW1yZWZzLCBhbmQgc2V0ICpsb2NrX3AgdG8gcG9pbnQKKyAqIGF0IGEgbmV3bHktYWxsb2NhdGVkIGxvY2sgb2JqZWN0LiBGaWxsIGluIGxvY2stPm9sZF9vaWQsIHJlZmVyZW50LAorICogYW5kIHR5cGUgc2ltaWxhcmx5IHRvIHJlYWRfcmF3X3JlZigpLgorICoKKyAqIFRoZSBjYWxsZXIgbXVzdCB2ZXJpZnkgdGhhdCByZWZuYW1lIGlzIGEgInNhZmUiIHJlZmVyZW5jZSBuYW1lIChpbgorICogdGhlIHNlbnNlIG9mIHJlZm5hbWVfaXNfc2FmZSgpKSBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLgorICoKKyAqIElmIHRoZSByZWZlcmVuY2UgZG9lc24ndCBhbHJlYWR5IGV4aXN0LCB2ZXJpZnkgdGhhdCByZWZuYW1lIGRvZXNuJ3QKKyAqIGhhdmUgYSBEL0YgY29uZmxpY3Qgd2l0aCBhbnkgZXhpc3RpbmcgcmVmZXJlbmNlcy4gZXh0cmFzIGFuZCBza2lwCisgKiBhcmUgcGFzc2VkIHRvIHZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZV9kaXIoKSBmb3IgdGhpcyBjaGVjay4KKyAqCisgKiBJZiBtdXN0ZXhpc3QgaXMgbm90IHNldCBhbmQgdGhlIHJlZmVyZW5jZSBpcyBub3QgZm91bmQgb3IgaXMKKyAqIGJyb2tlbiwgbG9jayB0aGUgcmVmZXJlbmNlIGFueXdheSBidXQgY2xlYXIgc2hhMS4KKyAqCisgKiBSZXR1cm4gMCBvbiBzdWNjZXNzLiBPbiBmYWlsdXJlLCB3cml0ZSBhbiBlcnJvciBtZXNzYWdlIHRvIGVyciBhbmQKKyAqIHJldHVybiBUUkFOU0FDVElPTl9OQU1FX0NPTkZMSUNUIG9yIFRSQU5TQUNUSU9OX0dFTkVSSUNfRVJST1IuCisgKgorICogSW1wbGVtZW50YXRpb24gbm90ZTogVGhpcyBmdW5jdGlvbiBpcyBiYXNpY2FsbHkKKyAqCisgKiAgICAgbG9jayByZWZlcmVuY2UKKyAqICAgICByZWFkX3Jhd19yZWYoKQorICoKKyAqIGJ1dCBpdCBpbmNsdWRlcyBhIGxvdCBtb3JlIGNvZGUgdG8KKyAqIC0gRGVhbCB3aXRoIHBvc3NpYmxlIHJhY2VzIHdpdGggb3RoZXIgcHJvY2Vzc2VzCisgKiAtIEF2b2lkIGNhbGxpbmcgdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlX2RpcigpIHdoZW4gaXQgY2FuIGJlCisgKiAgIGF2b2lkZWQsIG5hbWVseSBpZiB3ZSB3ZXJlIHN1Y2Nlc3NmdWxseSBhYmxlIHRvIHJlYWQgdGhlIHJlZgorICogLSBHZW5lcmF0ZSBpbmZvcm1hdGl2ZSBlcnJvciBtZXNzYWdlcyBpbiB0aGUgY2FzZSBvZiBmYWlsdXJlCisgKi8KK3N0YXRpYyBpbnQgbG9ja19yYXdfcmVmKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMsCisJCQljb25zdCBjaGFyICpyZWZuYW1lLCBpbnQgbXVzdGV4aXN0LAorCQkJY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpleHRyYXMsCisJCQljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnNraXAsCisJCQlzdHJ1Y3QgcmVmX2xvY2sgKipsb2NrX3AsCisJCQlzdHJ1Y3Qgc3RyYnVmICpyZWZlcmVudCwKKwkJCXVuc2lnbmVkIGludCAqdHlwZSwKKwkJCXN0cnVjdCBzdHJidWYgKmVycikKK3sKKwlzdHJ1Y3QgcmVmX2xvY2sgKmxvY2s7CisJc3RydWN0IHN0cmJ1ZiByZWZfZmlsZSA9IFNUUkJVRl9JTklUOworCWludCBhdHRlbXB0c19yZW1haW5pbmcgPSAzOworCWludCByZXQgPSBUUkFOU0FDVElPTl9HRU5FUklDX0VSUk9SOworCisJYXNzZXJ0KGVycik7CisJYXNzZXJ0X21haW5fcmVwb3NpdG9yeSgmcmVmcy0+YmFzZSwgImxvY2tfcmF3X3JlZiIpOworCisJKnR5cGUgPSAwOworCisJLyogRmlyc3QgbG9jayB0aGUgZmlsZSBzbyBpdCBjYW4ndCBjaGFuZ2Ugb3V0IGZyb20gdW5kZXIgdXMuICovCisKKwkqbG9ja19wID0gbG9jayA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpsb2NrKSk7CisKKwlsb2NrLT5yZWZfbmFtZSA9IHhzdHJkdXAocmVmbmFtZSk7CisJc3RyYnVmX2dpdF9wYXRoKCZyZWZfZmlsZSwgIiVzIiwgcmVmbmFtZSk7CisKK3JldHJ5OgorCXN3aXRjaCAoc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3RvcmllcyhyZWZfZmlsZS5idWYpKSB7CisJY2FzZSBTQ0xEX09LOgorCQlicmVhazsgLyogc3VjY2VzcyAqLworCWNhc2UgU0NMRF9FWElTVFM6CisJCS8qCisJCSAqIFN1cHBvc2UgcmVmbmFtZSBpcyAicmVmcy9mb28vYmFyIi4gV2UganVzdCBmYWlsZWQKKwkJICogdG8gY3JlYXRlIHRoZSBjb250YWluaW5nIGRpcmVjdG9yeSwgInJlZnMvZm9vIiwKKwkJICogYmVjYXVzZSB0aGVyZSB3YXMgYSBub24tZGlyZWN0b3J5IGluIHRoZSB3YXkuIFRoaXMKKwkJICogaW5kaWNhdGVzIGEgRC9GIGNvbmZsaWN0LCBwcm9iYWJseSBiZWNhdXNlIG9mCisJCSAqIGFub3RoZXIgcmVmZXJlbmNlIHN1Y2ggYXMgInJlZnMvZm9vIi4gVGhlcmUgaXMgbm8KKwkJICogcmVhc29uIHRvIGV4cGVjdCB0aGlzIGVycm9yIHRvIGJlIHRyYW5zaXRvcnkuCisJCSAqLworCQlpZiAodmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlKHJlZm5hbWUsIGV4dHJhcywgc2tpcCwgZXJyKSkgeworCQkJaWYgKG11c3RleGlzdCkgeworCQkJCS8qCisJCQkJICogVG8gdGhlIHVzZXIgdGhlIHJlbGV2YW50IGVycm9yIGlzCisJCQkJICogdGhhdCB0aGUgIm11c3RleGlzdCIgcmVmZXJlbmNlIGlzCisJCQkJICogbWlzc2luZzoKKwkJCQkgKi8KKwkJCQlzdHJidWZfcmVzZXQoZXJyKTsKKwkJCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gcmVzb2x2ZSByZWZlcmVuY2UgJyVzJyIsCisJCQkJCSAgICByZWZuYW1lKTsKKwkJCX0gZWxzZSB7CisJCQkJLyoKKwkJCQkgKiBUaGUgZXJyb3IgbWVzc2FnZSBzZXQgYnkKKwkJCQkgKiB2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGVfZGlyKCkgaXMgT0suCisJCQkJICovCisJCQkJcmV0ID0gVFJBTlNBQ1RJT05fTkFNRV9DT05GTElDVDsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCS8qCisJCQkgKiBUaGUgZmlsZSB0aGF0IGlzIGluIHRoZSB3YXkgaXNuJ3QgYSBsb29zZQorCQkJICogcmVmZXJlbmNlLiBSZXBvcnQgaXQgYXMgYSBsb3ctbGV2ZWwKKwkJCSAqIGZhaWx1cmUuCisJCQkgKi8KKwkJCXN0cmJ1Zl9hZGRmKGVyciwgInVuYWJsZSB0byBjcmVhdGUgbG9jayBmaWxlICVzLmxvY2s7ICIKKwkJCQkgICAgIm5vbi1kaXJlY3RvcnkgaW4gdGhlIHdheSIsCisJCQkJICAgIHJlZl9maWxlLmJ1Zik7CisJCX0KKwkJZ290byBlcnJvcl9yZXR1cm47CisJY2FzZSBTQ0xEX1ZBTklTSEVEOgorCQkvKiBNYXliZSBhbm90aGVyIHByb2Nlc3Mgd2FzIHRpZHlpbmcgdXAuIFRyeSBhZ2Fpbi4gKi8KKwkJaWYgKC0tYXR0ZW1wdHNfcmVtYWluaW5nID4gMCkKKwkJCWdvdG8gcmV0cnk7CisJCS8qIGZhbGwgdGhyb3VnaCAqLworCWRlZmF1bHQ6CisJCXN0cmJ1Zl9hZGRmKGVyciwgInVuYWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5IGZvciAlcyIsCisJCQkgICAgcmVmX2ZpbGUuYnVmKTsKKwkJZ290byBlcnJvcl9yZXR1cm47CisJfQorCisJaWYgKCFsb2NrLT5saykKKwkJbG9jay0+bGsgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbG9ja19maWxlKSk7CisKKwlpZiAoaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZShsb2NrLT5saywgcmVmX2ZpbGUuYnVmLCBMT0NLX05PX0RFUkVGKSA8IDApIHsKKwkJaWYgKGVycm5vID09IEVOT0VOVCAmJiAtLWF0dGVtcHRzX3JlbWFpbmluZyA+IDApIHsKKwkJCS8qCisJCQkgKiBNYXliZSBzb21lYm9keSBqdXN0IGRlbGV0ZWQgb25lIG9mIHRoZQorCQkJICogZGlyZWN0b3JpZXMgbGVhZGluZyB0byByZWZfZmlsZS4gIFRyeQorCQkJICogYWdhaW46CisJCQkgKi8KKwkJCWdvdG8gcmV0cnk7CisJCX0gZWxzZSB7CisJCQl1bmFibGVfdG9fbG9ja19tZXNzYWdlKHJlZl9maWxlLmJ1ZiwgZXJybm8sIGVycik7CisJCQlnb3RvIGVycm9yX3JldHVybjsKKwkJfQorCX0KKworCS8qCisJICogTm93IHdlIGhvbGQgdGhlIGxvY2sgYW5kIGNhbiByZWFkIHRoZSByZWZlcmVuY2Ugd2l0aG91dAorCSAqIGZlYXIgdGhhdCBpdHMgdmFsdWUgd2lsbCBjaGFuZ2UuCisJICovCisKKwlpZiAoZmlsZXNfcmVhZF9yYXdfcmVmKCZyZWZzLT5iYXNlLCByZWZuYW1lLAorCQkJICAgICAgIGxvY2stPm9sZF9vaWQuaGFzaCwgcmVmZXJlbnQsIHR5cGUpKSB7CisJCWlmIChlcnJubyA9PSBFTk9FTlQpIHsKKwkJCWlmIChtdXN0ZXhpc3QpIHsKKwkJCQkvKiBHYXJkZW4gdmFyaWV0eSBtaXNzaW5nIHJlZmVyZW5jZS4gKi8KKwkJCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gcmVzb2x2ZSByZWZlcmVuY2UgJyVzJyIsCisJCQkJCSAgICByZWZuYW1lKTsKKwkJCQlnb3RvIGVycm9yX3JldHVybjsKKwkJCX0gZWxzZSB7CisJCQkJLyoKKwkJCQkgKiBSZWZlcmVuY2UgaXMgbWlzc2luZywgYnV0IHRoYXQncyBPSy4gV2UKKwkJCQkgKiBrbm93IHRoYXQgdGhlcmUgaXMgbm90IGEgY29uZmxpY3Qgd2l0aAorCQkJCSAqIGFub3RoZXIgbG9vc2UgcmVmZXJlbmNlIGJlY2F1c2UKKwkJCQkgKiAoc3VwcG9zaW5nIHRoYXQgd2UgYXJlIHRyeWluZyB0byBsb2NrCisJCQkJICogcmVmZXJlbmNlICJyZWZzL2Zvby9iYXIiKToKKwkJCQkgKgorCQkJCSAqIC0gV2Ugd2VyZSBzdWNjZXNzZnVsbHkgYWJsZSB0byBjcmVhdGUKKwkJCQkgKiAgIHRoZSBsb2NrZmlsZSByZWZzL2Zvby9iYXIubG9jaywgc28gd2UKKwkJCQkgKiAgIGtub3cgdGhlcmUgY2Fubm90IGJlIGEgbG9vc2UgcmVmZXJlbmNlCisJCQkJICogICBuYW1lZCAicmVmcy9mb28iLgorCQkJCSAqCisJCQkJICogLSBXZSBnb3QgRU5PRU5UIGFuZCBub3QgRUlTRElSLCBzbyB3ZQorCQkJCSAqICAga25vdyB0aGF0IHRoZXJlIGNhbm5vdCBiZSBhIGxvb3NlCisJCQkJICogICByZWZlcmVuY2UgbmFtZWQgInJlZnMvZm9vL2Jhci9iYXoiLgorCQkJCSAqLworCQkJfQorCQl9IGVsc2UgaWYgKGVycm5vID09IEVJU0RJUikgeworCQkJLyoKKwkJCSAqIFRoZXJlIGlzIGEgZGlyZWN0b3J5IGluIHRoZSB3YXkuIEl0IG1pZ2h0IGhhdmUKKwkJCSAqIGNvbnRhaW5lZCByZWZlcmVuY2VzIHRoYXQgaGF2ZSBiZWVuIGRlbGV0ZWQuIElmCisJCQkgKiB3ZSBkb24ndCByZXF1aXJlIHRoYXQgdGhlIHJlZmVyZW5jZSBhbHJlYWR5CisJCQkgKiBleGlzdHMsIHRyeSB0byByZW1vdmUgdGhlIGRpcmVjdG9yeSBzbyB0aGF0IGl0CisJCQkgKiBkb2Vzbid0IGNhdXNlIHRyb3VibGUgd2hlbiB3ZSB3YW50IHRvIHJlbmFtZSB0aGUKKwkJCSAqIGxvY2tmaWxlIGludG8gcGxhY2UgbGF0ZXIuCisJCQkgKi8KKwkJCWlmIChtdXN0ZXhpc3QpIHsKKwkJCQkvKiBHYXJkZW4gdmFyaWV0eSBtaXNzaW5nIHJlZmVyZW5jZS4gKi8KKwkJCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gcmVzb2x2ZSByZWZlcmVuY2UgJyVzJyIsCisJCQkJCSAgICByZWZuYW1lKTsKKwkJCQlnb3RvIGVycm9yX3JldHVybjsKKwkJCX0gZWxzZSBpZiAocmVtb3ZlX2Rpcl9yZWN1cnNpdmVseSgmcmVmX2ZpbGUsCisJCQkJCQkJICBSRU1PVkVfRElSX0VNUFRZX09OTFkpKSB7CisJCQkJaWYgKHZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZV9kaXIoCisJCQkJCQkgICAgcmVmbmFtZSwgZXh0cmFzLCBza2lwLAorCQkJCQkJICAgIGdldF9sb29zZV9yZWZzKHJlZnMpLAorCQkJCQkJICAgIGVycikpIHsKKwkJCQkJLyoKKwkJCQkJICogVGhlIGVycm9yIG1lc3NhZ2Ugc2V0IGJ5CisJCQkJCSAqIHZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZSgpIGlzIE9LLgorCQkJCQkgKi8KKwkJCQkJcmV0ID0gVFJBTlNBQ1RJT05fTkFNRV9DT05GTElDVDsKKwkJCQkJZ290byBlcnJvcl9yZXR1cm47CisJCQkJfSBlbHNlIHsKKwkJCQkJLyoKKwkJCQkJICogV2UgY2FuJ3QgZGVsZXRlIHRoZSBkaXJlY3RvcnksCisJCQkJCSAqIGJ1dCB3ZSBhbHNvIGRvbid0IGtub3cgb2YgYW55CisJCQkJCSAqIHJlZmVyZW5jZXMgdGhhdCBpdCBzaG91bGQKKwkJCQkJICogY29udGFpbi4KKwkJCQkJICovCisJCQkJCXN0cmJ1Zl9hZGRmKGVyciwgInRoZXJlIGlzIGEgbm9uLWVtcHR5IGRpcmVjdG9yeSAnJXMnICIKKwkJCQkJCSAgICAiYmxvY2tpbmcgcmVmZXJlbmNlICclcyciLAorCQkJCQkJICAgIHJlZl9maWxlLmJ1ZiwgcmVmbmFtZSk7CisJCQkJCWdvdG8gZXJyb3JfcmV0dXJuOworCQkJCX0KKwkJCX0KKwkJfSBlbHNlIGlmIChlcnJubyA9PSBFSU5WQUwgJiYgKCp0eXBlICYgUkVGX0lTQlJPS0VOKSkgeworCQkJc3RyYnVmX2FkZGYoZXJyLCAidW5hYmxlIHRvIHJlc29sdmUgcmVmZXJlbmNlICclcyc6ICIKKwkJCQkgICAgInJlZmVyZW5jZSBicm9rZW4iLCByZWZuYW1lKTsKKwkJCWdvdG8gZXJyb3JfcmV0dXJuOworCQl9IGVsc2UgeworCQkJc3RyYnVmX2FkZGYoZXJyLCAidW5hYmxlIHRvIHJlc29sdmUgcmVmZXJlbmNlICclcyc6ICVzIiwKKwkJCQkgICAgcmVmbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKwkJCWdvdG8gZXJyb3JfcmV0dXJuOworCQl9CisKKwkJLyoKKwkJICogSWYgdGhlIHJlZiBkaWQgbm90IGV4aXN0IGFuZCB3ZSBhcmUgY3JlYXRpbmcgaXQsCisJCSAqIG1ha2Ugc3VyZSB0aGVyZSBpcyBubyBleGlzdGluZyBwYWNrZWQgcmVmIHdob3NlCisJCSAqIG5hbWUgYmVnaW5zIHdpdGggb3VyIHJlZm5hbWUsIG5vciBhIHBhY2tlZCByZWYKKwkJICogd2hvc2UgbmFtZSBpcyBhIHByb3BlciBwcmVmaXggb2Ygb3VyIHJlZm5hbWUuCisJCSAqLworCQlpZiAodmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlX2RpcigKKwkJCQkgICAgcmVmbmFtZSwgZXh0cmFzLCBza2lwLAorCQkJCSAgICBnZXRfcGFja2VkX3JlZnMocmVmcyksCisJCQkJICAgIGVycikpIHsKKwkJCWdvdG8gZXJyb3JfcmV0dXJuOworCQl9CisJfQorCisJcmV0ID0gMDsKKwlnb3RvIG91dDsKKworZXJyb3JfcmV0dXJuOgorCXVubG9ja19yZWYobG9jayk7CisJKmxvY2tfcCA9IE5VTEw7CisKK291dDoKKwlzdHJidWZfcmVsZWFzZSgmcmVmX2ZpbGUpOworCXJldHVybiByZXQ7Cit9CisKIC8qCiAgKiBQZWVsIHRoZSBlbnRyeSAoaWYgcG9zc2libGUpIGFuZCByZXR1cm4gaXRzIG5ldyBwZWVsX3N0YXR1cy4gIElmCiAgKiByZXBlZWwgaXMgdHJ1ZSwgcmUtcGVlbCB0aGUgZW50cnkgZXZlbiBpZiB0aGVyZSBpcyBhbiBvbGQgcGVlbGVkCkBAIC0xNTcxLDE2ICsxNzYxLDE5IEBACiAJcmV0dXJuIHN0YXR1czsKIH0KIAotaW50IHBlZWxfcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdGF0aWMgaW50IGZpbGVzX3BlZWxfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCSAgY29uc3QgY2hhciAqcmVmbmFtZSwgdW5zaWduZWQgY2hhciAqc2hhMSkKIHsKKwlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0gZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAwLCAicGVlbF9yZWYiKTsKIAlpbnQgZmxhZzsKIAl1bnNpZ25lZCBjaGFyIGJhc2VbMjBdOwogCi0JaWYgKGN1cnJlbnRfcmVmICYmIChjdXJyZW50X3JlZi0+bmFtZSA9PSByZWZuYW1lCi0JCQkgICAgfHwgIXN0cmNtcChjdXJyZW50X3JlZi0+bmFtZSwgcmVmbmFtZSkpKSB7Ci0JCWlmIChwZWVsX2VudHJ5KGN1cnJlbnRfcmVmLCAwKSkKKwlpZiAoY3VycmVudF9yZWZfaXRlciAmJiBjdXJyZW50X3JlZl9pdGVyLT5yZWZuYW1lID09IHJlZm5hbWUpIHsKKwkJc3RydWN0IG9iamVjdF9pZCBwZWVsZWQ7CisKKwkJaWYgKHJlZl9pdGVyYXRvcl9wZWVsKGN1cnJlbnRfcmVmX2l0ZXIsICZwZWVsZWQpKQogCQkJcmV0dXJuIC0xOwotCQloYXNoY3B5KHNoYTEsIGN1cnJlbnRfcmVmLT51LnZhbHVlLnBlZWxlZC5oYXNoKTsKKwkJaGFzaGNweShzaGExLCBwZWVsZWQuaGFzaCk7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMTU5Niw3ICsxNzg5LDcgQEAKIAkgKiBoYXZlIFJFRl9LTk9XU19QRUVMRUQuCiAJICovCiAJaWYgKGZsYWcgJiBSRUZfSVNQQUNLRUQpIHsKLQkJc3RydWN0IHJlZl9lbnRyeSAqciA9IGdldF9wYWNrZWRfcmVmKHJlZm5hbWUpOworCQlzdHJ1Y3QgcmVmX2VudHJ5ICpyID0gZ2V0X3BhY2tlZF9yZWYocmVmcywgcmVmbmFtZSk7CiAJCWlmIChyKSB7CiAJCQlpZiAocGVlbF9lbnRyeShyLCAwKSkKIAkJCQlyZXR1cm4gLTE7CkBAIC0xNjA4LDEwMCArMTgwMSwxNDIgQEAKIAlyZXR1cm4gcGVlbF9vYmplY3QoYmFzZSwgc2hhMSk7CiB9CiAKLS8qCi0gKiBDYWxsIGZuIGZvciBlYWNoIHJlZmVyZW5jZSBpbiB0aGUgc3BlY2lmaWVkIHJlZl9jYWNoZSwgb21pdHRpbmcKLSAqIHJlZmVyZW5jZXMgbm90IGluIHRoZSBjb250YWluaW5nX2RpciBvZiBiYXNlLiAgZm4gaXMgY2FsbGVkIGZvciBhbGwKLSAqIHJlZmVyZW5jZXMsIGluY2x1ZGluZyBicm9rZW4gb25lcy4gIElmIGZuIGV2ZXIgcmV0dXJucyBhIG5vbi16ZXJvCi0gKiB2YWx1ZSwgc3RvcCB0aGUgaXRlcmF0aW9uIGFuZCByZXR1cm4gdGhhdCB2YWx1ZTsgb3RoZXJ3aXNlLCByZXR1cm4KLSAqIDAuCi0gKi8KLXN0YXRpYyBpbnQgZG9fZm9yX2VhY2hfZW50cnkoc3RydWN0IHJlZl9jYWNoZSAqcmVmcywgY29uc3QgY2hhciAqYmFzZSwKLQkJCSAgICAgZWFjaF9yZWZfZW50cnlfZm4gZm4sIHZvaWQgKmNiX2RhdGEpCi17CitzdHJ1Y3QgZmlsZXNfcmVmX2l0ZXJhdG9yIHsKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yIGJhc2U7CisKIAlzdHJ1Y3QgcGFja2VkX3JlZl9jYWNoZSAqcGFja2VkX3JlZl9jYWNoZTsKLQlzdHJ1Y3QgcmVmX2RpciAqbG9vc2VfZGlyOwotCXN0cnVjdCByZWZfZGlyICpwYWNrZWRfZGlyOwotCWludCByZXR2YWwgPSAwOworCXN0cnVjdCByZWZfaXRlcmF0b3IgKml0ZXIwOworCXVuc2lnbmVkIGludCBmbGFnczsKK307CiAKLQkvKgotCSAqIFdlIG11c3QgbWFrZSBzdXJlIHRoYXQgYWxsIGxvb3NlIHJlZnMgYXJlIHJlYWQgYmVmb3JlIGFjY2Vzc2luZyB0aGUKLQkgKiBwYWNrZWQtcmVmcyBmaWxlOyB0aGlzIGF2b2lkcyBhIHJhY2UgY29uZGl0aW9uIGluIHdoaWNoIGxvb3NlIHJlZnMKLQkgKiBhcmUgbWlncmF0ZWQgdG8gdGhlIHBhY2tlZC1yZWZzIGZpbGUgYnkgYSBzaW11bHRhbmVvdXMgcHJvY2VzcywgYnV0Ci0JICogb3VyIGluLW1lbW9yeSB2aWV3IGlzIGZyb20gYmVmb3JlIHRoZSBtaWdyYXRpb24uIGdldF9wYWNrZWRfcmVmX2NhY2hlKCkKLQkgKiB0YWtlcyBjYXJlIG9mIG1ha2luZyBzdXJlIG91ciB2aWV3IGlzIHVwIHRvIGRhdGUgd2l0aCB3aGF0IGlzIG9uCi0JICogZGlzay4KLQkgKi8KLQlsb29zZV9kaXIgPSBnZXRfbG9vc2VfcmVmcyhyZWZzKTsKLQlpZiAoYmFzZSAmJiAqYmFzZSkgewotCQlsb29zZV9kaXIgPSBmaW5kX2NvbnRhaW5pbmdfZGlyKGxvb3NlX2RpciwgYmFzZSwgMCk7Ci0JfQotCWlmIChsb29zZV9kaXIpCi0JCXByaW1lX3JlZl9kaXIobG9vc2VfZGlyKTsKK3N0YXRpYyBpbnQgZmlsZXNfcmVmX2l0ZXJhdG9yX2FkdmFuY2Uoc3RydWN0IHJlZl9pdGVyYXRvciAqcmVmX2l0ZXJhdG9yKQoreworCXN0cnVjdCBmaWxlc19yZWZfaXRlcmF0b3IgKml0ZXIgPQorCQkoc3RydWN0IGZpbGVzX3JlZl9pdGVyYXRvciAqKXJlZl9pdGVyYXRvcjsKKwlpbnQgb2s7CiAKLQlwYWNrZWRfcmVmX2NhY2hlID0gZ2V0X3BhY2tlZF9yZWZfY2FjaGUocmVmcyk7Ci0JYWNxdWlyZV9wYWNrZWRfcmVmX2NhY2hlKHBhY2tlZF9yZWZfY2FjaGUpOwotCXBhY2tlZF9kaXIgPSBnZXRfcGFja2VkX3JlZl9kaXIocGFja2VkX3JlZl9jYWNoZSk7Ci0JaWYgKGJhc2UgJiYgKmJhc2UpIHsKLQkJcGFja2VkX2RpciA9IGZpbmRfY29udGFpbmluZ19kaXIocGFja2VkX2RpciwgYmFzZSwgMCk7CisJd2hpbGUgKChvayA9IHJlZl9pdGVyYXRvcl9hZHZhbmNlKGl0ZXItPml0ZXIwKSkgPT0gSVRFUl9PSykgeworCQlpZiAoaXRlci0+ZmxhZ3MgJiBET19GT1JfRUFDSF9QRVJfV09SS1RSRUVfT05MWSAmJgorCQkgICAgcmVmX3R5cGUoaXRlci0+aXRlcjAtPnJlZm5hbWUpICE9IFJFRl9UWVBFX1BFUl9XT1JLVFJFRSkKKwkJCWNvbnRpbnVlOworCisJCWlmICghKGl0ZXItPmZsYWdzICYgRE9fRk9SX0VBQ0hfSU5DTFVERV9CUk9LRU4pICYmCisJCSAgICAhcmVmX3Jlc29sdmVzX3RvX29iamVjdChpdGVyLT5pdGVyMC0+cmVmbmFtZSwKKwkJCQkJICAgIGl0ZXItPml0ZXIwLT5vaWQsCisJCQkJCSAgICBpdGVyLT5pdGVyMC0+ZmxhZ3MpKQorCQkJY29udGludWU7CisKKwkJaXRlci0+YmFzZS5yZWZuYW1lID0gaXRlci0+aXRlcjAtPnJlZm5hbWU7CisJCWl0ZXItPmJhc2Uub2lkID0gaXRlci0+aXRlcjAtPm9pZDsKKwkJaXRlci0+YmFzZS5mbGFncyA9IGl0ZXItPml0ZXIwLT5mbGFnczsKKwkJcmV0dXJuIElURVJfT0s7CiAJfQogCi0JaWYgKHBhY2tlZF9kaXIgJiYgbG9vc2VfZGlyKSB7Ci0JCXNvcnRfcmVmX2RpcihwYWNrZWRfZGlyKTsKLQkJc29ydF9yZWZfZGlyKGxvb3NlX2Rpcik7Ci0JCXJldHZhbCA9IGRvX2Zvcl9lYWNoX2VudHJ5X2luX2RpcnMoCi0JCQkJcGFja2VkX2RpciwgbG9vc2VfZGlyLCBmbiwgY2JfZGF0YSk7Ci0JfSBlbHNlIGlmIChwYWNrZWRfZGlyKSB7Ci0JCXNvcnRfcmVmX2RpcihwYWNrZWRfZGlyKTsKLQkJcmV0dmFsID0gZG9fZm9yX2VhY2hfZW50cnlfaW5fZGlyKAotCQkJCXBhY2tlZF9kaXIsIDAsIGZuLCBjYl9kYXRhKTsKLQl9IGVsc2UgaWYgKGxvb3NlX2RpcikgewotCQlzb3J0X3JlZl9kaXIobG9vc2VfZGlyKTsKLQkJcmV0dmFsID0gZG9fZm9yX2VhY2hfZW50cnlfaW5fZGlyKAotCQkJCWxvb3NlX2RpciwgMCwgZm4sIGNiX2RhdGEpOwotCX0KKwlpdGVyLT5pdGVyMCA9IE5VTEw7CisJaWYgKHJlZl9pdGVyYXRvcl9hYm9ydChyZWZfaXRlcmF0b3IpICE9IElURVJfRE9ORSkKKwkJb2sgPSBJVEVSX0VSUk9SOwogCi0JcmVsZWFzZV9wYWNrZWRfcmVmX2NhY2hlKHBhY2tlZF9yZWZfY2FjaGUpOwotCXJldHVybiByZXR2YWw7CisJcmV0dXJuIG9rOwogfQogCi0vKgotICogQ2FsbCBmbiBmb3IgZWFjaCByZWZlcmVuY2UgaW4gdGhlIHNwZWNpZmllZCByZWZfY2FjaGUgZm9yIHdoaWNoIHRoZQotICogcmVmbmFtZSBiZWdpbnMgd2l0aCBiYXNlLiAgSWYgdHJpbSBpcyBub24temVybywgdGhlbiB0cmltIHRoYXQgbWFueQotICogY2hhcmFjdGVycyBvZmYgdGhlIGJlZ2lubmluZyBvZiBlYWNoIHJlZm5hbWUgYmVmb3JlIHBhc3NpbmcgdGhlCi0gKiByZWZuYW1lIHRvIGZuLiAgZmxhZ3MgY2FuIGJlIERPX0ZPUl9FQUNIX0lOQ0xVREVfQlJPS0VOIHRvIGluY2x1ZGUKLSAqIGJyb2tlbiByZWZlcmVuY2VzIGluIHRoZSBpdGVyYXRpb24uICBJZiBmbiBldmVyIHJldHVybnMgYSBub24temVybwotICogdmFsdWUsIHN0b3AgdGhlIGl0ZXJhdGlvbiBhbmQgcmV0dXJuIHRoYXQgdmFsdWU7IG90aGVyd2lzZSwgcmV0dXJuCi0gKiAwLgotICovCi1pbnQgZG9fZm9yX2VhY2hfcmVmKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgY29uc3QgY2hhciAqYmFzZSwKLQkJICAgIGVhY2hfcmVmX2ZuIGZuLCBpbnQgdHJpbSwgaW50IGZsYWdzLCB2b2lkICpjYl9kYXRhKQorc3RhdGljIGludCBmaWxlc19yZWZfaXRlcmF0b3JfcGVlbChzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IsCisJCQkJICAgc3RydWN0IG9iamVjdF9pZCAqcGVlbGVkKQogewotCXN0cnVjdCByZWZfZW50cnlfY2IgZGF0YTsKLQlzdHJ1Y3QgcmVmX2NhY2hlICpyZWZzOworCXN0cnVjdCBmaWxlc19yZWZfaXRlcmF0b3IgKml0ZXIgPQorCQkoc3RydWN0IGZpbGVzX3JlZl9pdGVyYXRvciAqKXJlZl9pdGVyYXRvcjsKIAotCXJlZnMgPSBnZXRfcmVmX2NhY2hlKHN1Ym1vZHVsZSk7Ci0JZGF0YS5iYXNlID0gYmFzZTsKLQlkYXRhLnRyaW0gPSB0cmltOwotCWRhdGEuZmxhZ3MgPSBmbGFnczsKLQlkYXRhLmZuID0gZm47Ci0JZGF0YS5jYl9kYXRhID0gY2JfZGF0YTsKKwlyZXR1cm4gcmVmX2l0ZXJhdG9yX3BlZWwoaXRlci0+aXRlcjAsIHBlZWxlZCk7Cit9CisKK3N0YXRpYyBpbnQgZmlsZXNfcmVmX2l0ZXJhdG9yX2Fib3J0KHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcikKK3sKKwlzdHJ1Y3QgZmlsZXNfcmVmX2l0ZXJhdG9yICppdGVyID0KKwkJKHN0cnVjdCBmaWxlc19yZWZfaXRlcmF0b3IgKilyZWZfaXRlcmF0b3I7CisJaW50IG9rID0gSVRFUl9ET05FOworCisJaWYgKGl0ZXItPml0ZXIwKQorCQlvayA9IHJlZl9pdGVyYXRvcl9hYm9ydChpdGVyLT5pdGVyMCk7CisKKwlyZWxlYXNlX3BhY2tlZF9yZWZfY2FjaGUoaXRlci0+cGFja2VkX3JlZl9jYWNoZSk7CisJYmFzZV9yZWZfaXRlcmF0b3JfZnJlZShyZWZfaXRlcmF0b3IpOworCXJldHVybiBvazsKK30KKworc3RhdGljIHN0cnVjdCByZWZfaXRlcmF0b3JfdnRhYmxlIGZpbGVzX3JlZl9pdGVyYXRvcl92dGFibGUgPSB7CisJZmlsZXNfcmVmX2l0ZXJhdG9yX2FkdmFuY2UsCisJZmlsZXNfcmVmX2l0ZXJhdG9yX3BlZWwsCisJZmlsZXNfcmVmX2l0ZXJhdG9yX2Fib3J0Cit9OworCitzdGF0aWMgc3RydWN0IHJlZl9pdGVyYXRvciAqZmlsZXNfcmVmX2l0ZXJhdG9yX2JlZ2luKAorCQlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCWNvbnN0IGNoYXIgKnByZWZpeCwgdW5zaWduZWQgaW50IGZsYWdzKQoreworCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMgPQorCQlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIDEsICJyZWZfaXRlcmF0b3JfYmVnaW4iKTsKKwlzdHJ1Y3QgcmVmX2RpciAqbG9vc2VfZGlyLCAqcGFja2VkX2RpcjsKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpsb29zZV9pdGVyLCAqcGFja2VkX2l0ZXI7CisJc3RydWN0IGZpbGVzX3JlZl9pdGVyYXRvciAqaXRlcjsKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3I7CisKKwlpZiAoIXJlZnMpCisJCXJldHVybiBlbXB0eV9yZWZfaXRlcmF0b3JfYmVnaW4oKTsKIAogCWlmIChyZWZfcGFyYW5vaWEgPCAwKQogCQlyZWZfcGFyYW5vaWEgPSBnaXRfZW52X2Jvb2woIkdJVF9SRUZfUEFSQU5PSUEiLCAwKTsKIAlpZiAocmVmX3BhcmFub2lhKQotCQlkYXRhLmZsYWdzIHw9IERPX0ZPUl9FQUNIX0lOQ0xVREVfQlJPS0VOOworCQlmbGFncyB8PSBET19GT1JfRUFDSF9JTkNMVURFX0JST0tFTjsKIAotCXJldHVybiBkb19mb3JfZWFjaF9lbnRyeShyZWZzLCBiYXNlLCBkb19vbmVfcmVmLCAmZGF0YSk7Ci19CisJaXRlciA9IHhjYWxsb2MoMSwgc2l6ZW9mKCppdGVyKSk7CisJcmVmX2l0ZXJhdG9yID0gJml0ZXItPmJhc2U7CisJYmFzZV9yZWZfaXRlcmF0b3JfaW5pdChyZWZfaXRlcmF0b3IsICZmaWxlc19yZWZfaXRlcmF0b3JfdnRhYmxlKTsKIAotc3RhdGljIHZvaWQgdW5sb2NrX3JlZihzdHJ1Y3QgcmVmX2xvY2sgKmxvY2spCi17Ci0JLyogRG8gbm90IGZyZWUgbG9jay0+bGsgLS0gYXRleGl0KCkgc3RpbGwgbG9va3MgYXQgdGhlbSAqLwotCWlmIChsb2NrLT5saykKLQkJcm9sbGJhY2tfbG9ja19maWxlKGxvY2stPmxrKTsKLQlmcmVlKGxvY2stPnJlZl9uYW1lKTsKLQlmcmVlKGxvY2stPm9yaWdfcmVmX25hbWUpOwotCWZyZWUobG9jayk7CisJLyoKKwkgKiBXZSBtdXN0IG1ha2Ugc3VyZSB0aGF0IGFsbCBsb29zZSByZWZzIGFyZSByZWFkIGJlZm9yZQorCSAqIGFjY2Vzc2luZyB0aGUgcGFja2VkLXJlZnMgZmlsZTsgdGhpcyBhdm9pZHMgYSByYWNlCisJICogY29uZGl0aW9uIGlmIGxvb3NlIHJlZnMgYXJlIG1pZ3JhdGVkIHRvIHRoZSBwYWNrZWQtcmVmcworCSAqIGZpbGUgYnkgYSBzaW11bHRhbmVvdXMgcHJvY2VzcywgYnV0IG91ciBpbi1tZW1vcnkgdmlldyBpcworCSAqIGZyb20gYmVmb3JlIHRoZSBtaWdyYXRpb24uIFdlIGVuc3VyZSB0aGlzIGFzIGZvbGxvd3M6CisJICogRmlyc3QsIHdlIGNhbGwgcHJpbWVfcmVmX2RpcigpLCB3aGljaCBwcmUtcmVhZHMgdGhlIGxvb3NlCisJICogcmVmZXJlbmNlcyBmb3IgdGhlIHN1YnRyZWUgaW50byB0aGUgY2FjaGUuIChJZiB0aGV5J3ZlCisJICogYWxyZWFkeSBiZWVuIHJlYWQsIHRoYXQncyBPSzsgd2Ugb25seSBuZWVkIHRvIGd1YXJhbnRlZQorCSAqIHRoYXQgdGhleSdyZSByZWFkIGJlZm9yZSB0aGUgcGFja2VkIHJlZnMsIG5vdCAqaG93IG11Y2gqCisJICogYmVmb3JlLikgQWZ0ZXIgdGhhdCwgd2UgY2FsbCBnZXRfcGFja2VkX3JlZl9jYWNoZSgpLCB3aGljaAorCSAqIGludGVybmFsbHkgY2hlY2tzIHdoZXRoZXIgdGhlIHBhY2tlZC1yZWYgY2FjaGUgaXMgdXAgdG8KKwkgKiBkYXRlIHdpdGggd2hhdCBpcyBvbiBkaXNrLCBhbmQgcmUtcmVhZHMgaXQgaWYgbm90LgorCSAqLworCisJbG9vc2VfZGlyID0gZ2V0X2xvb3NlX3JlZnMocmVmcyk7CisKKwlpZiAocHJlZml4ICYmICpwcmVmaXgpCisJCWxvb3NlX2RpciA9IGZpbmRfY29udGFpbmluZ19kaXIobG9vc2VfZGlyLCBwcmVmaXgsIDApOworCisJaWYgKGxvb3NlX2RpcikgeworCQlwcmltZV9yZWZfZGlyKGxvb3NlX2Rpcik7CisJCWxvb3NlX2l0ZXIgPSBjYWNoZV9yZWZfaXRlcmF0b3JfYmVnaW4obG9vc2VfZGlyKTsKKwl9IGVsc2UgeworCQkvKiBUaGVyZSdzIG5vdGhpbmcgdG8gaXRlcmF0ZSBvdmVyLiAqLworCQlsb29zZV9pdGVyID0gZW1wdHlfcmVmX2l0ZXJhdG9yX2JlZ2luKCk7CisJfQorCisJaXRlci0+cGFja2VkX3JlZl9jYWNoZSA9IGdldF9wYWNrZWRfcmVmX2NhY2hlKHJlZnMpOworCWFjcXVpcmVfcGFja2VkX3JlZl9jYWNoZShpdGVyLT5wYWNrZWRfcmVmX2NhY2hlKTsKKwlwYWNrZWRfZGlyID0gZ2V0X3BhY2tlZF9yZWZfZGlyKGl0ZXItPnBhY2tlZF9yZWZfY2FjaGUpOworCisJaWYgKHByZWZpeCAmJiAqcHJlZml4KQorCQlwYWNrZWRfZGlyID0gZmluZF9jb250YWluaW5nX2RpcihwYWNrZWRfZGlyLCBwcmVmaXgsIDApOworCisJaWYgKHBhY2tlZF9kaXIpIHsKKwkJcGFja2VkX2l0ZXIgPSBjYWNoZV9yZWZfaXRlcmF0b3JfYmVnaW4ocGFja2VkX2Rpcik7CisJfSBlbHNlIHsKKwkJLyogVGhlcmUncyBub3RoaW5nIHRvIGl0ZXJhdGUgb3Zlci4gKi8KKwkJcGFja2VkX2l0ZXIgPSBlbXB0eV9yZWZfaXRlcmF0b3JfYmVnaW4oKTsKKwl9CisKKwlpdGVyLT5pdGVyMCA9IG92ZXJsYXlfcmVmX2l0ZXJhdG9yX2JlZ2luKGxvb3NlX2l0ZXIsIHBhY2tlZF9pdGVyKTsKKwlpdGVyLT5mbGFncyA9IGZsYWdzOworCisJcmV0dXJuIHJlZl9pdGVyYXRvcjsKIH0KIAogLyoKQEAgLTE3MjEsMTggKzE5NTYsMTggQEAKIAkJCSAgbG9jay0+b2xkX29pZC5oYXNoLCBOVUxMKSkgewogCQlpZiAob2xkX3NoYTEpIHsKIAkJCWludCBzYXZlX2Vycm5vID0gZXJybm87Ci0JCQlzdHJidWZfYWRkZihlcnIsICJjYW4ndCB2ZXJpZnkgcmVmICVzIiwgbG9jay0+cmVmX25hbWUpOworCQkJc3RyYnVmX2FkZGYoZXJyLCAiY2FuJ3QgdmVyaWZ5IHJlZiAnJXMnIiwgbG9jay0+cmVmX25hbWUpOwogCQkJZXJybm8gPSBzYXZlX2Vycm5vOwogCQkJcmV0dXJuIC0xOwogCQl9IGVsc2UgewotCQkJaGFzaGNscihsb2NrLT5vbGRfb2lkLmhhc2gpOworCQkJb2lkY2xyKCZsb2NrLT5vbGRfb2lkKTsKIAkJCXJldHVybiAwOwogCQl9CiAJfQogCWlmIChvbGRfc2hhMSAmJiBoYXNoY21wKGxvY2stPm9sZF9vaWQuaGFzaCwgb2xkX3NoYTEpKSB7Ci0JCXN0cmJ1Zl9hZGRmKGVyciwgInJlZiAlcyBpcyBhdCAlcyBidXQgZXhwZWN0ZWQgJXMiLAorCQlzdHJidWZfYWRkZihlcnIsICJyZWYgJyVzJyBpcyBhdCAlcyBidXQgZXhwZWN0ZWQgJXMiLAogCQkJICAgIGxvY2stPnJlZl9uYW1lLAotCQkJICAgIHNoYTFfdG9faGV4KGxvY2stPm9sZF9vaWQuaGFzaCksCisJCQkgICAgb2lkX3RvX2hleCgmbG9jay0+b2xkX29pZCksCiAJCQkgICAgc2hhMV90b19oZXgob2xkX3NoYTEpKTsKIAkJZXJybm8gPSBFQlVTWTsKIAkJcmV0dXJuIC0xOwpAQCAtMTc1NCwyNCArMTk4OSwyNCBAQAogICogTG9ja3MgYSByZWYgcmV0dXJuaW5nIHRoZSBsb2NrIG9uIHN1Y2Nlc3MgYW5kIE5VTEwgb24gZmFpbHVyZS4KICAqIE9uIGZhaWx1cmUgZXJybm8gaXMgc2V0IHRvIHNvbWV0aGluZyBtZWFuaW5nZnVsLgogICovCi1zdGF0aWMgc3RydWN0IHJlZl9sb2NrICpsb2NrX3JlZl9zaGExX2Jhc2ljKGNvbnN0IGNoYXIgKnJlZm5hbWUsCitzdGF0aWMgc3RydWN0IHJlZl9sb2NrICpsb2NrX3JlZl9zaGExX2Jhc2ljKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMsCisJCQkJCSAgICBjb25zdCBjaGFyICpyZWZuYW1lLAogCQkJCQkgICAgY29uc3QgdW5zaWduZWQgY2hhciAqb2xkX3NoYTEsCiAJCQkJCSAgICBjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmV4dHJhcywKIAkJCQkJICAgIGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqc2tpcCwKLQkJCQkJICAgIHVuc2lnbmVkIGludCBmbGFncywgaW50ICp0eXBlX3AsCisJCQkJCSAgICB1bnNpZ25lZCBpbnQgZmxhZ3MsIGludCAqdHlwZSwKIAkJCQkJICAgIHN0cnVjdCBzdHJidWYgKmVycikKIHsKIAlzdHJ1Y3Qgc3RyYnVmIHJlZl9maWxlID0gU1RSQlVGX0lOSVQ7Ci0Jc3RydWN0IHN0cmJ1ZiBvcmlnX3JlZl9maWxlID0gU1RSQlVGX0lOSVQ7Ci0JY29uc3QgY2hhciAqb3JpZ19yZWZuYW1lID0gcmVmbmFtZTsKIAlzdHJ1Y3QgcmVmX2xvY2sgKmxvY2s7CiAJaW50IGxhc3RfZXJybm8gPSAwOwotCWludCB0eXBlOwotCWludCBsZmxhZ3MgPSAwOworCWludCBsZmxhZ3MgPSBMT0NLX05PX0RFUkVGOwogCWludCBtdXN0ZXhpc3QgPSAob2xkX3NoYTEgJiYgIWlzX251bGxfc2hhMShvbGRfc2hhMSkpOwotCWludCByZXNvbHZlX2ZsYWdzID0gMDsKKwlpbnQgcmVzb2x2ZV9mbGFncyA9IFJFU09MVkVfUkVGX05PX1JFQ1VSU0U7CiAJaW50IGF0dGVtcHRzX3JlbWFpbmluZyA9IDM7CisJaW50IHJlc29sdmVkOwogCisJYXNzZXJ0X21haW5fcmVwb3NpdG9yeSgmcmVmcy0+YmFzZSwgImxvY2tfcmVmX3NoYTFfYmFzaWMiKTsKIAlhc3NlcnQoZXJyKTsKIAogCWxvY2sgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgcmVmX2xvY2spKTsKQEAgLTE3ODAsNDggKzIwMTUsNDEgQEAKIAkJcmVzb2x2ZV9mbGFncyB8PSBSRVNPTFZFX1JFRl9SRUFESU5HOwogCWlmIChmbGFncyAmIFJFRl9ERUxFVElORykKIAkJcmVzb2x2ZV9mbGFncyB8PSBSRVNPTFZFX1JFRl9BTExPV19CQURfTkFNRTsKLQlpZiAoZmxhZ3MgJiBSRUZfTk9ERVJFRikgewotCQlyZXNvbHZlX2ZsYWdzIHw9IFJFU09MVkVfUkVGX05PX1JFQ1VSU0U7Ci0JCWxmbGFncyB8PSBMT0NLX05PX0RFUkVGOwotCX0KIAotCXJlZm5hbWUgPSByZXNvbHZlX3JlZl91bnNhZmUocmVmbmFtZSwgcmVzb2x2ZV9mbGFncywKLQkJCQkgICAgIGxvY2stPm9sZF9vaWQuaGFzaCwgJnR5cGUpOwotCWlmICghcmVmbmFtZSAmJiBlcnJubyA9PSBFSVNESVIpIHsKKwlzdHJidWZfZ2l0X3BhdGgoJnJlZl9maWxlLCAiJXMiLCByZWZuYW1lKTsKKwlyZXNvbHZlZCA9ICEhcmVzb2x2ZV9yZWZfdW5zYWZlKHJlZm5hbWUsIHJlc29sdmVfZmxhZ3MsCisJCQkJCWxvY2stPm9sZF9vaWQuaGFzaCwgdHlwZSk7CisJaWYgKCFyZXNvbHZlZCAmJiBlcnJubyA9PSBFSVNESVIpIHsKIAkJLyoKIAkJICogd2UgYXJlIHRyeWluZyB0byBsb2NrIGZvbyBidXQgd2UgdXNlZCB0bwogCQkgKiBoYXZlIGZvby9iYXIgd2hpY2ggbm93IGRvZXMgbm90IGV4aXN0OwogCQkgKiBpdCBpcyBub3JtYWwgZm9yIHRoZSBlbXB0eSBkaXJlY3RvcnkgJ2ZvbycKIAkJICogdG8gcmVtYWluLgogCQkgKi8KLQkJc3RyYnVmX2dpdF9wYXRoKCZvcmlnX3JlZl9maWxlLCAiJXMiLCBvcmlnX3JlZm5hbWUpOwotCQlpZiAocmVtb3ZlX2VtcHR5X2RpcmVjdG9yaWVzKCZvcmlnX3JlZl9maWxlKSkgeworCQlpZiAocmVtb3ZlX2VtcHR5X2RpcmVjdG9yaWVzKCZyZWZfZmlsZSkpIHsKIAkJCWxhc3RfZXJybm8gPSBlcnJubzsKLQkJCWlmICghdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlX2RpcihvcmlnX3JlZm5hbWUsIGV4dHJhcywgc2tpcCwKLQkJCQkJCQkgIGdldF9sb29zZV9yZWZzKCZyZWZfY2FjaGUpLCBlcnIpKQorCQkJaWYgKCF2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGVfZGlyKAorCQkJCQkgICAgcmVmbmFtZSwgZXh0cmFzLCBza2lwLAorCQkJCQkgICAgZ2V0X2xvb3NlX3JlZnMocmVmcyksIGVycikpCiAJCQkJc3RyYnVmX2FkZGYoZXJyLCAidGhlcmUgYXJlIHN0aWxsIHJlZnMgdW5kZXIgJyVzJyIsCi0JCQkJCSAgICBvcmlnX3JlZm5hbWUpOworCQkJCQkgICAgcmVmbmFtZSk7CiAJCQlnb3RvIGVycm9yX3JldHVybjsKIAkJfQotCQlyZWZuYW1lID0gcmVzb2x2ZV9yZWZfdW5zYWZlKG9yaWdfcmVmbmFtZSwgcmVzb2x2ZV9mbGFncywKLQkJCQkJICAgICBsb2NrLT5vbGRfb2lkLmhhc2gsICZ0eXBlKTsKKwkJcmVzb2x2ZWQgPSAhIXJlc29sdmVfcmVmX3Vuc2FmZShyZWZuYW1lLCByZXNvbHZlX2ZsYWdzLAorCQkJCQkJbG9jay0+b2xkX29pZC5oYXNoLCB0eXBlKTsKIAl9Ci0JaWYgKHR5cGVfcCkKLQkgICAgKnR5cGVfcCA9IHR5cGU7Ci0JaWYgKCFyZWZuYW1lKSB7CisJaWYgKCFyZXNvbHZlZCkgewogCQlsYXN0X2Vycm5vID0gZXJybm87CiAJCWlmIChsYXN0X2Vycm5vICE9IEVOT1RESVIgfHwKLQkJICAgICF2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGVfZGlyKG9yaWdfcmVmbmFtZSwgZXh0cmFzLCBza2lwLAotCQkJCQkJICBnZXRfbG9vc2VfcmVmcygmcmVmX2NhY2hlKSwgZXJyKSkKLQkJCXN0cmJ1Zl9hZGRmKGVyciwgInVuYWJsZSB0byByZXNvbHZlIHJlZmVyZW5jZSAlczogJXMiLAotCQkJCSAgICBvcmlnX3JlZm5hbWUsIHN0cmVycm9yKGxhc3RfZXJybm8pKTsKKwkJICAgICF2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGVfZGlyKAorCQkJCSAgICByZWZuYW1lLCBleHRyYXMsIHNraXAsCisJCQkJICAgIGdldF9sb29zZV9yZWZzKHJlZnMpLCBlcnIpKQorCQkJc3RyYnVmX2FkZGYoZXJyLCAidW5hYmxlIHRvIHJlc29sdmUgcmVmZXJlbmNlICclcyc6ICVzIiwKKwkJCQkgICAgcmVmbmFtZSwgc3RyZXJyb3IobGFzdF9lcnJubykpOwogCiAJCWdvdG8gZXJyb3JfcmV0dXJuOwogCX0KIAotCWlmIChmbGFncyAmIFJFRl9OT0RFUkVGKQotCQlyZWZuYW1lID0gb3JpZ19yZWZuYW1lOwotCiAJLyoKIAkgKiBJZiB0aGUgcmVmIGRpZCBub3QgZXhpc3QgYW5kIHdlIGFyZSBjcmVhdGluZyBpdCwgbWFrZSBzdXJlCiAJICogdGhlcmUgaXMgbm8gZXhpc3RpbmcgcGFja2VkIHJlZiB3aG9zZSBuYW1lIGJlZ2lucyB3aXRoIG91cgpAQCAtMTgzMCw3ICsyMDU4LDggQEAKIAkgKi8KIAlpZiAoaXNfbnVsbF9vaWQoJmxvY2stPm9sZF9vaWQpICYmCiAJICAgIHZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZV9kaXIocmVmbmFtZSwgZXh0cmFzLCBza2lwLAotCQkJCQkgZ2V0X3BhY2tlZF9yZWZzKCZyZWZfY2FjaGUpLCBlcnIpKSB7CisJCQkJCSBnZXRfcGFja2VkX3JlZnMocmVmcyksCisJCQkJCSBlcnIpKSB7CiAJCWxhc3RfZXJybm8gPSBFTk9URElSOwogCQlnb3RvIGVycm9yX3JldHVybjsKIAl9CkBAIC0xODM4LDggKzIwNjcsNiBAQAogCWxvY2stPmxrID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGxvY2tfZmlsZSkpOwogCiAJbG9jay0+cmVmX25hbWUgPSB4c3RyZHVwKHJlZm5hbWUpOwotCWxvY2stPm9yaWdfcmVmX25hbWUgPSB4c3RyZHVwKG9yaWdfcmVmbmFtZSk7Ci0Jc3RyYnVmX2dpdF9wYXRoKCZyZWZfZmlsZSwgIiVzIiwgcmVmbmFtZSk7CiAKICByZXRyeToKIAlzd2l0Y2ggKHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXNfY29uc3QocmVmX2ZpbGUuYnVmKSkgewpAQCAtMTg1MSw3ICsyMDc4LDcgQEAKIAkJLyogZmFsbCB0aHJvdWdoICovCiAJZGVmYXVsdDoKIAkJbGFzdF9lcnJubyA9IGVycm5vOwotCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gY3JlYXRlIGRpcmVjdG9yeSBmb3IgJXMiLAorCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gY3JlYXRlIGRpcmVjdG9yeSBmb3IgJyVzJyIsCiAJCQkgICAgcmVmX2ZpbGUuYnVmKTsKIAkJZ290byBlcnJvcl9yZXR1cm47CiAJfQpAQCAtMTg4Miw3ICsyMTA5LDYgQEAKIAogIG91dDoKIAlzdHJidWZfcmVsZWFzZSgmcmVmX2ZpbGUpOwotCXN0cmJ1Zl9yZWxlYXNlKCZvcmlnX3JlZl9maWxlKTsKIAllcnJubyA9IGxhc3RfZXJybm87CiAJcmV0dXJuIGxvY2s7CiB9CkBAIC0xOTIwLDEzICsyMTQ2LDE0IEBACiAgKiBob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKCkuIFJldHVybiAwIG9uIHN1Y2Nlc3MuIE9uIGVycm9ycywgc2V0CiAgKiBlcnJubyBhcHByb3ByaWF0ZWx5IGFuZCByZXR1cm4gYSBub256ZXJvIHZhbHVlLgogICovCi1zdGF0aWMgaW50IGxvY2tfcGFja2VkX3JlZnMoaW50IGZsYWdzKQorc3RhdGljIGludCBsb2NrX3BhY2tlZF9yZWZzKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMsIGludCBmbGFncykKIHsKIAlzdGF0aWMgaW50IHRpbWVvdXRfY29uZmlndXJlZCA9IDA7CiAJc3RhdGljIGludCB0aW1lb3V0X3ZhbHVlID0gMTAwMDsKLQogCXN0cnVjdCBwYWNrZWRfcmVmX2NhY2hlICpwYWNrZWRfcmVmX2NhY2hlOwogCisJYXNzZXJ0X21haW5fcmVwb3NpdG9yeSgmcmVmcy0+YmFzZSwgImxvY2tfcGFja2VkX3JlZnMiKTsKKwogCWlmICghdGltZW91dF9jb25maWd1cmVkKSB7CiAJCWdpdF9jb25maWdfZ2V0X2ludCgiY29yZS5wYWNrZWRyZWZzdGltZW91dCIsICZ0aW1lb3V0X3ZhbHVlKTsKIAkJdGltZW91dF9jb25maWd1cmVkID0gMTsKQEAgLTE5NDIsNyArMjE2OSw3IEBACiAJICogdGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkgaW52YWxpZGF0ZSB0aGUgY2FjaGUgYW5kIHJlLXJlYWQKIAkgKiB0aGUgcGFja2VkLXJlZnMgZmlsZS4KIAkgKi8KLQlwYWNrZWRfcmVmX2NhY2hlID0gZ2V0X3BhY2tlZF9yZWZfY2FjaGUoJnJlZl9jYWNoZSk7CisJcGFja2VkX3JlZl9jYWNoZSA9IGdldF9wYWNrZWRfcmVmX2NhY2hlKHJlZnMpOwogCXBhY2tlZF9yZWZfY2FjaGUtPmxvY2sgPSAmcGFja2xvY2s7CiAJLyogSW5jcmVtZW50IHRoZSByZWZlcmVuY2UgY291bnQgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGZyZWVkOiAqLwogCWFjcXVpcmVfcGFja2VkX3JlZl9jYWNoZShwYWNrZWRfcmVmX2NhY2hlKTsKQEAgLTE5NTUsMTQgKzIxODIsMTYgQEAKICAqIGxvY2tfcGFja2VkX3JlZnMoKSkuIFJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MuIE9uIGVycm9ycywgc2V0IGVycm5vCiAgKiBhbmQgcmV0dXJuIGEgbm9uemVybyB2YWx1ZQogICovCi1zdGF0aWMgaW50IGNvbW1pdF9wYWNrZWRfcmVmcyh2b2lkKQorc3RhdGljIGludCBjb21taXRfcGFja2VkX3JlZnMoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcykKIHsKIAlzdHJ1Y3QgcGFja2VkX3JlZl9jYWNoZSAqcGFja2VkX3JlZl9jYWNoZSA9Ci0JCWdldF9wYWNrZWRfcmVmX2NhY2hlKCZyZWZfY2FjaGUpOworCQlnZXRfcGFja2VkX3JlZl9jYWNoZShyZWZzKTsKIAlpbnQgZXJyb3IgPSAwOwogCWludCBzYXZlX2Vycm5vID0gMDsKIAlGSUxFICpvdXQ7CiAKKwlhc3NlcnRfbWFpbl9yZXBvc2l0b3J5KCZyZWZzLT5iYXNlLCAiY29tbWl0X3BhY2tlZF9yZWZzIik7CisKIAlpZiAoIXBhY2tlZF9yZWZfY2FjaGUtPmxvY2spCiAJCWRpZSgiaW50ZXJuYWwgZXJyb3I6IHBhY2tlZC1yZWZzIG5vdCBsb2NrZWQiKTsKIApAQCAtMTk4OSwxNyArMjIxOCwxOSBAQAogICogaW4tbWVtb3J5IHBhY2tlZCByZWZlcmVuY2UgY2FjaGUuICAoVGhlIHBhY2tlZC1yZWZzIGZpbGUgd2lsbCBiZQogICogcmVhZCBhbmV3IGlmIGl0IGlzIG5lZWRlZCBhZ2FpbiBhZnRlciB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZC4pCiAgKi8KLXN0YXRpYyB2b2lkIHJvbGxiYWNrX3BhY2tlZF9yZWZzKHZvaWQpCitzdGF0aWMgdm9pZCByb2xsYmFja19wYWNrZWRfcmVmcyhzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzKQogewogCXN0cnVjdCBwYWNrZWRfcmVmX2NhY2hlICpwYWNrZWRfcmVmX2NhY2hlID0KLQkJZ2V0X3BhY2tlZF9yZWZfY2FjaGUoJnJlZl9jYWNoZSk7CisJCWdldF9wYWNrZWRfcmVmX2NhY2hlKHJlZnMpOworCisJYXNzZXJ0X21haW5fcmVwb3NpdG9yeSgmcmVmcy0+YmFzZSwgInJvbGxiYWNrX3BhY2tlZF9yZWZzIik7CiAKIAlpZiAoIXBhY2tlZF9yZWZfY2FjaGUtPmxvY2spCiAJCWRpZSgiaW50ZXJuYWwgZXJyb3I6IHBhY2tlZC1yZWZzIG5vdCBsb2NrZWQiKTsKIAlyb2xsYmFja19sb2NrX2ZpbGUocGFja2VkX3JlZl9jYWNoZS0+bG9jayk7CiAJcGFja2VkX3JlZl9jYWNoZS0+bG9jayA9IE5VTEw7CiAJcmVsZWFzZV9wYWNrZWRfcmVmX2NhY2hlKHBhY2tlZF9yZWZfY2FjaGUpOwotCWNsZWFyX3BhY2tlZF9yZWZfY2FjaGUoJnJlZl9jYWNoZSk7CisJY2xlYXJfcGFja2VkX3JlZl9jYWNoZShyZWZzKTsKIH0KIAogc3RydWN0IHJlZl90b19wcnVuZSB7CkBAIC0yMDM2LDcgKzIyNjcsNyBAQAogCQlyZXR1cm4gMDsKIAogCS8qIERvIG5vdCBwYWNrIHN5bWJvbGljIG9yIGJyb2tlbiByZWZzOiAqLwotCWlmICgoZW50cnktPmZsYWcgJiBSRUZfSVNTWU1SRUYpIHx8ICFyZWZfcmVzb2x2ZXNfdG9fb2JqZWN0KGVudHJ5KSkKKwlpZiAoKGVudHJ5LT5mbGFnICYgUkVGX0lTU1lNUkVGKSB8fCAhZW50cnlfcmVzb2x2ZXNfdG9fb2JqZWN0KGVudHJ5KSkKIAkJcmV0dXJuIDA7CiAKIAkvKiBBZGQgYSBwYWNrZWQgcmVmIGNhY2hlIGVudHJ5IGVxdWl2YWxlbnQgdG8gdGhlIGxvb3NlIGVudHJ5LiAqLwpAQCAtMjExMCw3ICsyMzQxLDcgQEAKIAl0cmFuc2FjdGlvbiA9IHJlZl90cmFuc2FjdGlvbl9iZWdpbigmZXJyKTsKIAlpZiAoIXRyYW5zYWN0aW9uIHx8CiAJICAgIHJlZl90cmFuc2FjdGlvbl9kZWxldGUodHJhbnNhY3Rpb24sIHItPm5hbWUsIHItPnNoYTEsCi0JCQkJICAgUkVGX0lTUFJVTklORywgTlVMTCwgJmVycikgfHwKKwkJCQkgICBSRUZfSVNQUlVOSU5HIHwgUkVGX05PREVSRUYsIE5VTEwsICZlcnIpIHx8CiAJICAgIHJlZl90cmFuc2FjdGlvbl9jb21taXQodHJhbnNhY3Rpb24sICZlcnIpKSB7CiAJCXJlZl90cmFuc2FjdGlvbl9mcmVlKHRyYW5zYWN0aW9uKTsKIAkJZXJyb3IoIiVzIiwgZXJyLmJ1Zik7CkBAIC0yMTMwLDIwICsyMzYxLDIyIEBACiAJfQogfQogCi1pbnQgcGFja19yZWZzKHVuc2lnbmVkIGludCBmbGFncykKK3N0YXRpYyBpbnQgZmlsZXNfcGFja19yZWZzKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwgdW5zaWduZWQgaW50IGZsYWdzKQogeworCXN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMgPQorCQlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIDAsICJwYWNrX3JlZnMiKTsKIAlzdHJ1Y3QgcGFja19yZWZzX2NiX2RhdGEgY2JkYXRhOwogCiAJbWVtc2V0KCZjYmRhdGEsIDAsIHNpemVvZihjYmRhdGEpKTsKIAljYmRhdGEuZmxhZ3MgPSBmbGFnczsKIAotCWxvY2tfcGFja2VkX3JlZnMoTE9DS19ESUVfT05fRVJST1IpOwotCWNiZGF0YS5wYWNrZWRfcmVmcyA9IGdldF9wYWNrZWRfcmVmcygmcmVmX2NhY2hlKTsKKwlsb2NrX3BhY2tlZF9yZWZzKHJlZnMsIExPQ0tfRElFX09OX0VSUk9SKTsKKwljYmRhdGEucGFja2VkX3JlZnMgPSBnZXRfcGFja2VkX3JlZnMocmVmcyk7CiAKLQlkb19mb3JfZWFjaF9lbnRyeV9pbl9kaXIoZ2V0X2xvb3NlX3JlZnMoJnJlZl9jYWNoZSksIDAsCisJZG9fZm9yX2VhY2hfZW50cnlfaW5fZGlyKGdldF9sb29zZV9yZWZzKHJlZnMpLCAwLAogCQkJCSBwYWNrX2lmX3Bvc3NpYmxlX2ZuLCAmY2JkYXRhKTsKIAotCWlmIChjb21taXRfcGFja2VkX3JlZnMoKSkKKwlpZiAoY29tbWl0X3BhY2tlZF9yZWZzKHJlZnMpKQogCQlkaWVfZXJybm8oInVuYWJsZSB0byBvdmVyd3JpdGUgb2xkIHJlZi1wYWNrIGZpbGUiKTsKIAogCXBydW5lX3JlZnMoY2JkYXRhLnJlZl90b19wcnVuZSk7CkBAIC0yMTU3LDE3ICsyMzkwLDE5IEBACiAgKgogICogVGhlIHJlZnMgaW4gJ3JlZm5hbWVzJyBuZWVkbid0IGJlIHNvcnRlZC4gYGVycmAgbXVzdCBub3QgYmUgTlVMTC4KICAqLwotc3RhdGljIGludCByZXBhY2tfd2l0aG91dF9yZWZzKHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmbmFtZXMsIHN0cnVjdCBzdHJidWYgKmVycikKK3N0YXRpYyBpbnQgcmVwYWNrX3dpdGhvdXRfcmVmcyhzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzLAorCQkJICAgICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmbmFtZXMsIHN0cnVjdCBzdHJidWYgKmVycikKIHsKIAlzdHJ1Y3QgcmVmX2RpciAqcGFja2VkOwogCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICpyZWZuYW1lOwogCWludCByZXQsIG5lZWRzX3JlcGFja2luZyA9IDAsIHJlbW92ZWQgPSAwOwogCisJYXNzZXJ0X21haW5fcmVwb3NpdG9yeSgmcmVmcy0+YmFzZSwgInJlcGFja193aXRob3V0X3JlZnMiKTsKIAlhc3NlcnQoZXJyKTsKIAogCS8qIExvb2sgZm9yIGEgcGFja2VkIHJlZiAqLwogCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0ocmVmbmFtZSwgcmVmbmFtZXMpIHsKLQkJaWYgKGdldF9wYWNrZWRfcmVmKHJlZm5hbWUtPnN0cmluZykpIHsKKwkJaWYgKGdldF9wYWNrZWRfcmVmKHJlZnMsIHJlZm5hbWUtPnN0cmluZykpIHsKIAkJCW5lZWRzX3JlcGFja2luZyA9IDE7CiAJCQlicmVhazsKIAkJfQpAQCAtMjE3NywxMSArMjQxMiwxMSBAQAogCWlmICghbmVlZHNfcmVwYWNraW5nKQogCQlyZXR1cm4gMDsgLyogbm8gcmVmbmFtZSBleGlzdHMgaW4gcGFja2VkIHJlZnMgKi8KIAotCWlmIChsb2NrX3BhY2tlZF9yZWZzKDApKSB7CisJaWYgKGxvY2tfcGFja2VkX3JlZnMocmVmcywgMCkpIHsKIAkJdW5hYmxlX3RvX2xvY2tfbWVzc2FnZShnaXRfcGF0aCgicGFja2VkLXJlZnMiKSwgZXJybm8sIGVycik7CiAJCXJldHVybiAtMTsKIAl9Ci0JcGFja2VkID0gZ2V0X3BhY2tlZF9yZWZzKCZyZWZfY2FjaGUpOworCXBhY2tlZCA9IGdldF9wYWNrZWRfcmVmcyhyZWZzKTsKIAogCS8qIFJlbW92ZSByZWZuYW1lcyBmcm9tIHRoZSBjYWNoZSAqLwogCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0ocmVmbmFtZSwgcmVmbmFtZXMpCkBAIC0yMTkyLDEyICsyNDI3LDEyIEBACiAJCSAqIEFsbCBwYWNrZWQgZW50cmllcyBkaXNhcHBlYXJlZCB3aGlsZSB3ZSB3ZXJlCiAJCSAqIGFjcXVpcmluZyB0aGUgbG9jay4KIAkJICovCi0JCXJvbGxiYWNrX3BhY2tlZF9yZWZzKCk7CisJCXJvbGxiYWNrX3BhY2tlZF9yZWZzKHJlZnMpOwogCQlyZXR1cm4gMDsKIAl9CiAKIAkvKiBXcml0ZSB3aGF0IHJlbWFpbnMgKi8KLQlyZXQgPSBjb21taXRfcGFja2VkX3JlZnMoKTsKKwlyZXQgPSBjb21taXRfcGFja2VkX3JlZnMocmVmcyk7CiAJaWYgKHJldCkKIAkJc3RyYnVmX2FkZGYoZXJyLCAidW5hYmxlIHRvIG92ZXJ3cml0ZSBvbGQgcmVmLXBhY2sgZmlsZTogJXMiLAogCQkJICAgIHN0cmVycm9yKGVycm5vKSk7CkBAIC0yMjIyLDE1ICsyNDU3LDE4IEBACiAJcmV0dXJuIDA7CiB9CiAKLWludCBkZWxldGVfcmVmcyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJlZm5hbWVzKQorc3RhdGljIGludCBmaWxlc19kZWxldGVfcmVmcyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkgICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqcmVmbmFtZXMsIHVuc2lnbmVkIGludCBmbGFncykKIHsKKwlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0KKwkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAwLCAiZGVsZXRlX3JlZnMiKTsKIAlzdHJ1Y3Qgc3RyYnVmIGVyciA9IFNUUkJVRl9JTklUOwogCWludCBpLCByZXN1bHQgPSAwOwogCiAJaWYgKCFyZWZuYW1lcy0+bnIpCiAJCXJldHVybiAwOwogCi0JcmVzdWx0ID0gcmVwYWNrX3dpdGhvdXRfcmVmcyhyZWZuYW1lcywgJmVycik7CisJcmVzdWx0ID0gcmVwYWNrX3dpdGhvdXRfcmVmcyhyZWZzLCByZWZuYW1lcywgJmVycik7CiAJaWYgKHJlc3VsdCkgewogCQkvKgogCQkgKiBJZiB3ZSBmYWlsZWQgdG8gcmV3cml0ZSB0aGUgcGFja2VkLXJlZnMgZmlsZSwgdGhlbgpAQCAtMjI1MSw3ICsyNDg5LDcgQEAKIAlmb3IgKGkgPSAwOyBpIDwgcmVmbmFtZXMtPm5yOyBpKyspIHsKIAkJY29uc3QgY2hhciAqcmVmbmFtZSA9IHJlZm5hbWVzLT5pdGVtc1tpXS5zdHJpbmc7CiAKLQkJaWYgKGRlbGV0ZV9yZWYocmVmbmFtZSwgTlVMTCwgMCkpCisJCWlmIChkZWxldGVfcmVmKHJlZm5hbWUsIE5VTEwsIGZsYWdzKSkKIAkJCXJlc3VsdCB8PSBlcnJvcihfKCJjb3VsZCBub3QgcmVtb3ZlIHJlZmVyZW5jZSAlcyIpLCByZWZuYW1lKTsKIAl9CiAKQEAgLTIzMjEsMTMgKzI1NTksMTYgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQgdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlKGNvbnN0IGNoYXIgKm5ld25hbWUsCi0JCQkgICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqZXh0cmFzLAotCQkJICAgICBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnNraXAsCi0JCQkgICAgIHN0cnVjdCBzdHJidWYgKmVycikKK3N0YXRpYyBpbnQgZmlsZXNfdmVyaWZ5X3JlZm5hbWVfYXZhaWxhYmxlKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCQkJICBjb25zdCBjaGFyICpuZXduYW1lLAorCQkJCQkgIGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqZXh0cmFzLAorCQkJCQkgIGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqc2tpcCwKKwkJCQkJICBzdHJ1Y3Qgc3RyYnVmICplcnIpCiB7Ci0Jc3RydWN0IHJlZl9kaXIgKnBhY2tlZF9yZWZzID0gZ2V0X3BhY2tlZF9yZWZzKCZyZWZfY2FjaGUpOwotCXN0cnVjdCByZWZfZGlyICpsb29zZV9yZWZzID0gZ2V0X2xvb3NlX3JlZnMoJnJlZl9jYWNoZSk7CisJc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcyA9CisJCWZpbGVzX2Rvd25jYXN0KHJlZl9zdG9yZSwgMSwgInZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZSIpOworCXN0cnVjdCByZWZfZGlyICpwYWNrZWRfcmVmcyA9IGdldF9wYWNrZWRfcmVmcyhyZWZzKTsKKwlzdHJ1Y3QgcmVmX2RpciAqbG9vc2VfcmVmcyA9IGdldF9sb29zZV9yZWZzKHJlZnMpOwogCiAJaWYgKHZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZV9kaXIobmV3bmFtZSwgZXh0cmFzLCBza2lwLAogCQkJCQkgcGFja2VkX3JlZnMsIGVycikgfHwKQEAgLTIzNDAsMzEgKzI1ODEsMzQgQEAKIAogc3RhdGljIGludCB3cml0ZV9yZWZfdG9fbG9ja2ZpbGUoc3RydWN0IHJlZl9sb2NrICpsb2NrLAogCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBzdHJ1Y3Qgc3RyYnVmICplcnIpOwotc3RhdGljIGludCBjb21taXRfcmVmX3VwZGF0ZShzdHJ1Y3QgcmVmX2xvY2sgKmxvY2ssCitzdGF0aWMgaW50IGNvbW1pdF9yZWZfdXBkYXRlKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMsCisJCQkgICAgIHN0cnVjdCByZWZfbG9jayAqbG9jaywKIAkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqbG9nbXNnLAotCQkJICAgICBpbnQgZmxhZ3MsIHN0cnVjdCBzdHJidWYgKmVycik7CisJCQkgICAgIHN0cnVjdCBzdHJidWYgKmVycik7CiAKLWludCByZW5hbWVfcmVmKGNvbnN0IGNoYXIgKm9sZHJlZm5hbWUsIGNvbnN0IGNoYXIgKm5ld3JlZm5hbWUsIGNvbnN0IGNoYXIgKmxvZ21zZykKK3N0YXRpYyBpbnQgZmlsZXNfcmVuYW1lX3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkgICAgY29uc3QgY2hhciAqb2xkcmVmbmFtZSwgY29uc3QgY2hhciAqbmV3cmVmbmFtZSwKKwkJCSAgICBjb25zdCBjaGFyICpsb2dtc2cpCiB7CisJc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcyA9CisJCWZpbGVzX2Rvd25jYXN0KHJlZl9zdG9yZSwgMCwgInJlbmFtZV9yZWYiKTsKIAl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdLCBvcmlnX3NoYTFbMjBdOwogCWludCBmbGFnID0gMCwgbG9nbW92ZWQgPSAwOwogCXN0cnVjdCByZWZfbG9jayAqbG9jazsKIAlzdHJ1Y3Qgc3RhdCBsb2dpbmZvOwogCWludCBsb2cgPSAhbHN0YXQoZ2l0X3BhdGgoImxvZ3MvJXMiLCBvbGRyZWZuYW1lKSwgJmxvZ2luZm8pOwotCWNvbnN0IGNoYXIgKnN5bXJlZiA9IE5VTEw7CiAJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKIAogCWlmIChsb2cgJiYgU19JU0xOSyhsb2dpbmZvLnN0X21vZGUpKQogCQlyZXR1cm4gZXJyb3IoInJlZmxvZyBmb3IgJXMgaXMgYSBzeW1saW5rIiwgb2xkcmVmbmFtZSk7CiAKLQlzeW1yZWYgPSByZXNvbHZlX3JlZl91bnNhZmUob2xkcmVmbmFtZSwgUkVTT0xWRV9SRUZfUkVBRElORywKLQkJCQkgICAgb3JpZ19zaGExLCAmZmxhZyk7CisJaWYgKCFyZXNvbHZlX3JlZl91bnNhZmUob2xkcmVmbmFtZSwgUkVTT0xWRV9SRUZfUkVBRElORyB8IFJFU09MVkVfUkVGX05PX1JFQ1VSU0UsCisJCQkJb3JpZ19zaGExLCAmZmxhZykpCisJCXJldHVybiBlcnJvcigicmVmbmFtZSAlcyBub3QgZm91bmQiLCBvbGRyZWZuYW1lKTsKKwogCWlmIChmbGFnICYgUkVGX0lTU1lNUkVGKQogCQlyZXR1cm4gZXJyb3IoInJlZm5hbWUgJXMgaXMgYSBzeW1ib2xpYyByZWYsIHJlbmFtaW5nIGl0IGlzIG5vdCBzdXBwb3J0ZWQiLAogCQkJb2xkcmVmbmFtZSk7Ci0JaWYgKCFzeW1yZWYpCi0JCXJldHVybiBlcnJvcigicmVmbmFtZSAlcyBub3QgZm91bmQiLCBvbGRyZWZuYW1lKTsKLQogCWlmICghcmVuYW1lX3JlZl9hdmFpbGFibGUob2xkcmVmbmFtZSwgbmV3cmVmbmFtZSkpCiAJCXJldHVybiAxOwogCkBAIC0yMzc3LDggKzI2MjEsMTYgQEAKIAkJZ290byByb2xsYmFjazsKIAl9CiAKLQlpZiAoIXJlYWRfcmVmX2Z1bGwobmV3cmVmbmFtZSwgUkVTT0xWRV9SRUZfUkVBRElORywgc2hhMSwgTlVMTCkgJiYKLQkgICAgZGVsZXRlX3JlZihuZXdyZWZuYW1lLCBzaGExLCBSRUZfTk9ERVJFRikpIHsKKwkvKgorCSAqIFNpbmNlIHdlIGFyZSBkb2luZyBhIHNoYWxsb3cgbG9va3VwLCBzaGExIGlzIG5vdCB0aGUKKwkgKiBjb3JyZWN0IHZhbHVlIHRvIHBhc3MgdG8gZGVsZXRlX3JlZiBhcyBvbGRfc2hhMS4gQnV0IHRoYXQKKwkgKiBkb2Vzbid0IG1hdHRlciwgYmVjYXVzZSBhbiBvbGRfc2hhMSBjaGVjayB3b3VsZG4ndCBhZGQgdG8KKwkgKiB0aGUgc2FmZXR5IGFueXdheTsgd2Ugd2FudCB0byBkZWxldGUgdGhlIHJlZmVyZW5jZSB3aGF0ZXZlcgorCSAqIGl0cyBjdXJyZW50IHZhbHVlLgorCSAqLworCWlmICghcmVhZF9yZWZfZnVsbChuZXdyZWZuYW1lLCBSRVNPTFZFX1JFRl9SRUFESU5HIHwgUkVTT0xWRV9SRUZfTk9fUkVDVVJTRSwKKwkJCSAgIHNoYTEsIE5VTEwpICYmCisJICAgIGRlbGV0ZV9yZWYobmV3cmVmbmFtZSwgTlVMTCwgUkVGX05PREVSRUYpKSB7CiAJCWlmIChlcnJubz09RUlTRElSKSB7CiAJCQlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKIAkJCWludCByZXN1bHQ7CkBAIC0yNDAyLDcgKzI2NTQsOCBAQAogCiAJbG9nbW92ZWQgPSBsb2c7CiAKLQlsb2NrID0gbG9ja19yZWZfc2hhMV9iYXNpYyhuZXdyZWZuYW1lLCBOVUxMLCBOVUxMLCBOVUxMLCAwLCBOVUxMLCAmZXJyKTsKKwlsb2NrID0gbG9ja19yZWZfc2hhMV9iYXNpYyhyZWZzLCBuZXdyZWZuYW1lLCBOVUxMLCBOVUxMLCBOVUxMLAorCQkJCSAgIFJFRl9OT0RFUkVGLCBOVUxMLCAmZXJyKTsKIAlpZiAoIWxvY2spIHsKIAkJZXJyb3IoInVuYWJsZSB0byByZW5hbWUgJyVzJyB0byAnJXMnOiAlcyIsIG9sZHJlZm5hbWUsIG5ld3JlZm5hbWUsIGVyci5idWYpOwogCQlzdHJidWZfcmVsZWFzZSgmZXJyKTsKQEAgLTI0MTEsNyArMjY2NCw3IEBACiAJaGFzaGNweShsb2NrLT5vbGRfb2lkLmhhc2gsIG9yaWdfc2hhMSk7CiAKIAlpZiAod3JpdGVfcmVmX3RvX2xvY2tmaWxlKGxvY2ssIG9yaWdfc2hhMSwgJmVycikgfHwKLQkgICAgY29tbWl0X3JlZl91cGRhdGUobG9jaywgb3JpZ19zaGExLCBsb2dtc2csIDAsICZlcnIpKSB7CisJICAgIGNvbW1pdF9yZWZfdXBkYXRlKHJlZnMsIGxvY2ssIG9yaWdfc2hhMSwgbG9nbXNnLCAmZXJyKSkgewogCQllcnJvcigidW5hYmxlIHRvIHdyaXRlIGN1cnJlbnQgc2hhMSBpbnRvICVzOiAlcyIsIG5ld3JlZm5hbWUsIGVyci5idWYpOwogCQlzdHJidWZfcmVsZWFzZSgmZXJyKTsKIAkJZ290byByb2xsYmFjazsKQEAgLTI0MjAsNyArMjY3Myw4IEBACiAJcmV0dXJuIDA7CiAKICByb2xsYmFjazoKLQlsb2NrID0gbG9ja19yZWZfc2hhMV9iYXNpYyhvbGRyZWZuYW1lLCBOVUxMLCBOVUxMLCBOVUxMLCAwLCBOVUxMLCAmZXJyKTsKKwlsb2NrID0gbG9ja19yZWZfc2hhMV9iYXNpYyhyZWZzLCBvbGRyZWZuYW1lLCBOVUxMLCBOVUxMLCBOVUxMLAorCQkJCSAgIFJFRl9OT0RFUkVGLCBOVUxMLCAmZXJyKTsKIAlpZiAoIWxvY2spIHsKIAkJZXJyb3IoInVuYWJsZSB0byBsb2NrICVzIGZvciByb2xsYmFjazogJXMiLCBvbGRyZWZuYW1lLCBlcnIuYnVmKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmVycik7CkBAIC0yNDMwLDcgKzI2ODQsNyBAQAogCWZsYWcgPSBsb2dfYWxsX3JlZl91cGRhdGVzOwogCWxvZ19hbGxfcmVmX3VwZGF0ZXMgPSAwOwogCWlmICh3cml0ZV9yZWZfdG9fbG9ja2ZpbGUobG9jaywgb3JpZ19zaGExLCAmZXJyKSB8fAotCSAgICBjb21taXRfcmVmX3VwZGF0ZShsb2NrLCBvcmlnX3NoYTEsIE5VTEwsIDAsICZlcnIpKSB7CisJICAgIGNvbW1pdF9yZWZfdXBkYXRlKHJlZnMsIGxvY2ssIG9yaWdfc2hhMSwgTlVMTCwgJmVycikpIHsKIAkJZXJyb3IoInVuYWJsZSB0byB3cml0ZSBjdXJyZW50IHNoYTEgaW50byAlczogJXMiLCBvbGRyZWZuYW1lLCBlcnIuYnVmKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmVycik7CiAJfQpAQCAtMjQ1Nyw2ICsyNzExLDMwIEBACiAKIHN0YXRpYyBpbnQgY29tbWl0X3JlZihzdHJ1Y3QgcmVmX2xvY2sgKmxvY2spCiB7CisJY2hhciAqcGF0aCA9IGdldF9sb2NrZWRfZmlsZV9wYXRoKGxvY2stPmxrKTsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmICghbHN0YXQocGF0aCwgJnN0KSAmJiBTX0lTRElSKHN0LnN0X21vZGUpKSB7CisJCS8qCisJCSAqIFRoZXJlIGlzIGEgZGlyZWN0b3J5IGF0IHRoZSBwYXRoIHdlIHdhbnQgdG8gcmVuYW1lCisJCSAqIHRoZSBsb2NrZmlsZSB0by4gSG9wZWZ1bGx5IGl0IGlzIGVtcHR5OyB0cnkgdG8KKwkJICogZGVsZXRlIGl0LgorCQkgKi8KKwkJc2l6ZV90IGxlbiA9IHN0cmxlbihwYXRoKTsKKwkJc3RydWN0IHN0cmJ1ZiBzYl9wYXRoID0gU1RSQlVGX0lOSVQ7CisKKwkJc3RyYnVmX2F0dGFjaCgmc2JfcGF0aCwgcGF0aCwgbGVuLCBsZW4pOworCisJCS8qCisJCSAqIElmIHRoaXMgZmFpbHMsIGNvbW1pdF9sb2NrX2ZpbGUoKSB3aWxsIGFsc28gZmFpbAorCQkgKiBhbmQgd2lsbCByZXBvcnQgdGhlIHByb2JsZW0uCisJCSAqLworCQlyZW1vdmVfZW1wdHlfZGlyZWN0b3JpZXMoJnNiX3BhdGgpOworCQlzdHJidWZfcmVsZWFzZSgmc2JfcGF0aCk7CisJfSBlbHNlIHsKKwkJZnJlZShwYXRoKTsKKwl9CisKIAlpZiAoY29tbWl0X2xvY2tfZmlsZShsb2NrLT5saykpCiAJCXJldHVybiAtMTsKIAlyZXR1cm4gMDsKQEAgLTI0NzUsNyArMjc1Myw3IEBACiAJc3RyYnVmX2dpdF9wYXRoKGxvZ2ZpbGUsICJsb2dzLyVzIiwgcmVmbmFtZSk7CiAJaWYgKGZvcmNlX2NyZWF0ZSB8fCBzaG91bGRfYXV0b2NyZWF0ZV9yZWZsb2cocmVmbmFtZSkpIHsKIAkJaWYgKHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXMobG9nZmlsZS0+YnVmKSA8IDApIHsKLQkJCXN0cmJ1Zl9hZGRmKGVyciwgInVuYWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5IGZvciAlczogIgorCQkJc3RyYnVmX2FkZGYoZXJyLCAidW5hYmxlIHRvIGNyZWF0ZSBkaXJlY3RvcnkgZm9yICclcyc6ICIKIAkJCQkgICAgIiVzIiwgbG9nZmlsZS0+YnVmLCBzdHJlcnJvcihlcnJubykpOwogCQkJcmV0dXJuIC0xOwogCQl9CkBAIC0yNDg5LDcgKzI3NjcsNyBAQAogCiAJCWlmIChlcnJubyA9PSBFSVNESVIpIHsKIAkJCWlmIChyZW1vdmVfZW1wdHlfZGlyZWN0b3JpZXMobG9nZmlsZSkpIHsKLQkJCQlzdHJidWZfYWRkZihlcnIsICJUaGVyZSBhcmUgc3RpbGwgbG9ncyB1bmRlciAiCisJCQkJc3RyYnVmX2FkZGYoZXJyLCAidGhlcmUgYXJlIHN0aWxsIGxvZ3MgdW5kZXIgIgogCQkJCQkgICAgIiclcyciLCBsb2dmaWxlLT5idWYpOwogCQkJCXJldHVybiAtMTsKIAkJCX0KQEAgLTI0OTcsNyArMjc3NSw3IEBACiAJCX0KIAogCQlpZiAobG9nZmQgPCAwKSB7Ci0JCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gYXBwZW5kIHRvICVzOiAlcyIsCisJCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gYXBwZW5kIHRvICclcyc6ICVzIiwKIAkJCQkgICAgbG9nZmlsZS0+YnVmLCBzdHJlcnJvcihlcnJubykpOwogCQkJcmV0dXJuIC0xOwogCQl9CkBAIC0yNTA5LDExICsyNzg3LDE2IEBACiB9CiAKIAotaW50IHNhZmVfY3JlYXRlX3JlZmxvZyhjb25zdCBjaGFyICpyZWZuYW1lLCBpbnQgZm9yY2VfY3JlYXRlLCBzdHJ1Y3Qgc3RyYnVmICplcnIpCitzdGF0aWMgaW50IGZpbGVzX2NyZWF0ZV9yZWZsb2coc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCBmb3JjZV9jcmVhdGUsCisJCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQogewogCWludCByZXQ7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCisJLyogQ2hlY2sgdmFsaWRpdHkgKGJ1dCB3ZSBkb24ndCBuZWVkIHRoZSByZXN1bHQpOiAqLworCWZpbGVzX2Rvd25jYXN0KHJlZl9zdG9yZSwgMCwgImNyZWF0ZV9yZWZsb2ciKTsKKwogCXJldCA9IGxvZ19yZWZfc2V0dXAocmVmbmFtZSwgJnNiLCBlcnIsIGZvcmNlX2NyZWF0ZSk7CiAJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAlyZXR1cm4gcmV0OwpAQCAtMjU2NiwxMyArMjg0OSwxMyBAQAogCXJlc3VsdCA9IGxvZ19yZWZfd3JpdGVfZmQobG9nZmQsIG9sZF9zaGExLCBuZXdfc2hhMSwKIAkJCQkgIGdpdF9jb21taXR0ZXJfaW5mbygwKSwgbXNnKTsKIAlpZiAocmVzdWx0KSB7Ci0JCXN0cmJ1Zl9hZGRmKGVyciwgInVuYWJsZSB0byBhcHBlbmQgdG8gJXM6ICVzIiwgbG9nZmlsZS0+YnVmLAorCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gYXBwZW5kIHRvICclcyc6ICVzIiwgbG9nZmlsZS0+YnVmLAogCQkJICAgIHN0cmVycm9yKGVycm5vKSk7CiAJCWNsb3NlKGxvZ2ZkKTsKIAkJcmV0dXJuIC0xOwogCX0KIAlpZiAoY2xvc2UobG9nZmQpKSB7Ci0JCXN0cmJ1Zl9hZGRmKGVyciwgInVuYWJsZSB0byBhcHBlbmQgdG8gJXM6ICVzIiwgbG9nZmlsZS0+YnVmLAorCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gYXBwZW5kIHRvICclcyc6ICVzIiwgbG9nZmlsZS0+YnVmLAogCQkJICAgIHN0cmVycm9yKGVycm5vKSk7CiAJCXJldHVybiAtMTsKIAl9CkBAIC0yNjEzLDE0ICsyODk2LDE0IEBACiAJbyA9IHBhcnNlX29iamVjdChzaGExKTsKIAlpZiAoIW8pIHsKIAkJc3RyYnVmX2FkZGYoZXJyLAotCQkJICAgICJUcnlpbmcgdG8gd3JpdGUgcmVmICVzIHdpdGggbm9uZXhpc3RlbnQgb2JqZWN0ICVzIiwKKwkJCSAgICAidHJ5aW5nIHRvIHdyaXRlIHJlZiAnJXMnIHdpdGggbm9uZXhpc3RlbnQgb2JqZWN0ICVzIiwKIAkJCSAgICBsb2NrLT5yZWZfbmFtZSwgc2hhMV90b19oZXgoc2hhMSkpOwogCQl1bmxvY2tfcmVmKGxvY2spOwogCQlyZXR1cm4gLTE7CiAJfQogCWlmIChvLT50eXBlICE9IE9CSl9DT01NSVQgJiYgaXNfYnJhbmNoKGxvY2stPnJlZl9uYW1lKSkgewogCQlzdHJidWZfYWRkZihlcnIsCi0JCQkgICAgIlRyeWluZyB0byB3cml0ZSBub24tY29tbWl0IG9iamVjdCAlcyB0byBicmFuY2ggJXMiLAorCQkJICAgICJ0cnlpbmcgdG8gd3JpdGUgbm9uLWNvbW1pdCBvYmplY3QgJXMgdG8gYnJhbmNoICclcyciLAogCQkJICAgIHNoYTFfdG9faGV4KHNoYTEpLCBsb2NrLT5yZWZfbmFtZSk7CiAJCXVubG9ja19yZWYobG9jayk7CiAJCXJldHVybiAtMTsKQEAgLTI2MzAsNyArMjkxMyw3IEBACiAJICAgIHdyaXRlX2luX2Z1bGwoZmQsICZ0ZXJtLCAxKSAhPSAxIHx8CiAJICAgIGNsb3NlX3JlZihsb2NrKSA8IDApIHsKIAkJc3RyYnVmX2FkZGYoZXJyLAotCQkJICAgICJDb3VsZG4ndCB3cml0ZSAlcyIsIGdldF9sb2NrX2ZpbGVfcGF0aChsb2NrLT5saykpOworCQkJICAgICJjb3VsZG4ndCB3cml0ZSAnJXMnIiwgZ2V0X2xvY2tfZmlsZV9wYXRoKGxvY2stPmxrKSk7CiAJCXVubG9ja19yZWYobG9jayk7CiAJCXJldHVybiAtMTsKIAl9CkBAIC0yNjQyLDIyICsyOTI1LDI0IEBACiAgKiB0byB0aGUgbG9vc2UgcmVmZXJlbmNlIGxvY2tmaWxlLiBBbHNvIHVwZGF0ZSB0aGUgcmVmbG9ncyBpZgogICogbmVjZXNzYXJ5LCB1c2luZyB0aGUgc3BlY2lmaWVkIGxvY2ttc2cgKHdoaWNoIGNhbiBiZSBOVUxMKS4KICAqLwotc3RhdGljIGludCBjb21taXRfcmVmX3VwZGF0ZShzdHJ1Y3QgcmVmX2xvY2sgKmxvY2ssCitzdGF0aWMgaW50IGNvbW1pdF9yZWZfdXBkYXRlKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMsCisJCQkgICAgIHN0cnVjdCByZWZfbG9jayAqbG9jaywKIAkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqbG9nbXNnLAotCQkJICAgICBpbnQgZmxhZ3MsIHN0cnVjdCBzdHJidWYgKmVycikKKwkJCSAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQogewotCWNsZWFyX2xvb3NlX3JlZl9jYWNoZSgmcmVmX2NhY2hlKTsKLQlpZiAobG9nX3JlZl93cml0ZShsb2NrLT5yZWZfbmFtZSwgbG9jay0+b2xkX29pZC5oYXNoLCBzaGExLCBsb2dtc2csIGZsYWdzLCBlcnIpIDwgMCB8fAotCSAgICAoc3RyY21wKGxvY2stPnJlZl9uYW1lLCBsb2NrLT5vcmlnX3JlZl9uYW1lKSAmJgotCSAgICAgbG9nX3JlZl93cml0ZShsb2NrLT5vcmlnX3JlZl9uYW1lLCBsb2NrLT5vbGRfb2lkLmhhc2gsIHNoYTEsIGxvZ21zZywgZmxhZ3MsIGVycikgPCAwKSkgeworCWFzc2VydF9tYWluX3JlcG9zaXRvcnkoJnJlZnMtPmJhc2UsICJjb21taXRfcmVmX3VwZGF0ZSIpOworCisJY2xlYXJfbG9vc2VfcmVmX2NhY2hlKHJlZnMpOworCWlmIChsb2dfcmVmX3dyaXRlKGxvY2stPnJlZl9uYW1lLCBsb2NrLT5vbGRfb2lkLmhhc2gsIHNoYTEsIGxvZ21zZywgMCwgZXJyKSkgewogCQljaGFyICpvbGRfbXNnID0gc3RyYnVmX2RldGFjaChlcnIsIE5VTEwpOwotCQlzdHJidWZfYWRkZihlcnIsICJDYW5ub3QgdXBkYXRlIHRoZSByZWYgJyVzJzogJXMiLAorCQlzdHJidWZfYWRkZihlcnIsICJjYW5ub3QgdXBkYXRlIHRoZSByZWYgJyVzJzogJXMiLAogCQkJICAgIGxvY2stPnJlZl9uYW1lLCBvbGRfbXNnKTsKIAkJZnJlZShvbGRfbXNnKTsKIAkJdW5sb2NrX3JlZihsb2NrKTsKIAkJcmV0dXJuIC0xOwogCX0KLQlpZiAoc3RyY21wKGxvY2stPm9yaWdfcmVmX25hbWUsICJIRUFEIikgIT0gMCkgeworCisJaWYgKHN0cmNtcChsb2NrLT5yZWZfbmFtZSwgIkhFQUQiKSAhPSAwKSB7CiAJCS8qCiAJCSAqIFNwZWNpYWwgaGFjazogSWYgYSBicmFuY2ggaXMgdXBkYXRlZCBkaXJlY3RseSBhbmQgSEVBRAogCQkgKiBwb2ludHMgdG8gaXQgKG1heSBoYXBwZW4gb24gdGhlIHJlbW90ZSBzaWRlIG9mIGEgcHVzaApAQCAtMjY3Myw2ICsyOTU4LDcgQEAKIAkJdW5zaWduZWQgY2hhciBoZWFkX3NoYTFbMjBdOwogCQlpbnQgaGVhZF9mbGFnOwogCQljb25zdCBjaGFyICpoZWFkX3JlZjsKKwogCQloZWFkX3JlZiA9IHJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIFJFU09MVkVfUkVGX1JFQURJTkcsCiAJCQkJCSAgICAgIGhlYWRfc2hhMSwgJmhlYWRfZmxhZyk7CiAJCWlmIChoZWFkX3JlZiAmJiAoaGVhZF9mbGFnICYgUkVGX0lTU1lNUkVGKSAmJgpAQCAtMjY4NSw4ICsyOTcxLDkgQEAKIAkJCX0KIAkJfQogCX0KKwogCWlmIChjb21taXRfcmVmKGxvY2spKSB7Ci0JCWVycm9yKCJDb3VsZG4ndCBzZXQgJXMiLCBsb2NrLT5yZWZfbmFtZSk7CisJCXN0cmJ1Zl9hZGRmKGVyciwgImNvdWxkbid0IHNldCAnJXMnIiwgbG9jay0+cmVmX25hbWUpOwogCQl1bmxvY2tfcmVmKGxvY2spOwogCQlyZXR1cm4gLTE7CiAJfQpAQCAtMjc0NCwxMyArMzAzMSwxOCBAQAogCXJldHVybiAwOwogfQogCi1pbnQgY3JlYXRlX3N5bXJlZihjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCBjaGFyICp0YXJnZXQsIGNvbnN0IGNoYXIgKmxvZ21zZykKK3N0YXRpYyBpbnQgZmlsZXNfY3JlYXRlX3N5bXJlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkgICAgICAgY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3QgY2hhciAqdGFyZ2V0LAorCQkJICAgICAgIGNvbnN0IGNoYXIgKmxvZ21zZykKIHsKKwlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0KKwkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAwLCAiY3JlYXRlX3N5bXJlZiIpOwogCXN0cnVjdCBzdHJidWYgZXJyID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHJlZl9sb2NrICpsb2NrOwogCWludCByZXQ7CiAKLQlsb2NrID0gbG9ja19yZWZfc2hhMV9iYXNpYyhyZWZuYW1lLCBOVUxMLCBOVUxMLCBOVUxMLCBSRUZfTk9ERVJFRiwgTlVMTCwKKwlsb2NrID0gbG9ja19yZWZfc2hhMV9iYXNpYyhyZWZzLCByZWZuYW1lLCBOVUxMLAorCQkJCSAgIE5VTEwsIE5VTEwsIFJFRl9OT0RFUkVGLCBOVUxMLAogCQkJCSAgICZlcnIpOwogCWlmICghbG9jaykgewogCQllcnJvcigiJXMiLCBlcnIuYnVmKTsKQEAgLTI3OTAsNyArMzA4Miw2IEBACiAJbG9jayA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCByZWZfbG9jaykpOwogCWxvY2stPmxrID0gJmhlYWRfbG9jazsKIAlsb2NrLT5yZWZfbmFtZSA9IHhzdHJkdXAoaGVhZF9yZWwpOwotCWxvY2stPm9yaWdfcmVmX25hbWUgPSB4c3RyZHVwKGhlYWRfcmVsKTsKIAogCXJldCA9IGNyZWF0ZV9zeW1yZWZfbG9ja2VkKGxvY2ssIGhlYWRfcmVsLCB0YXJnZXQsIE5VTEwpOwogCkBAIC0yNzk5LDE2ICszMDkwLDI0IEBACiAJcmV0dXJuIHJldDsKIH0KIAotaW50IHJlZmxvZ19leGlzdHMoY29uc3QgY2hhciAqcmVmbmFtZSkKK3N0YXRpYyBpbnQgZmlsZXNfcmVmbG9nX2V4aXN0cyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkgICAgICAgY29uc3QgY2hhciAqcmVmbmFtZSkKIHsKIAlzdHJ1Y3Qgc3RhdCBzdDsKIAorCS8qIENoZWNrIHZhbGlkaXR5IChidXQgd2UgZG9uJ3QgbmVlZCB0aGUgcmVzdWx0KTogKi8KKwlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIDAsICJyZWZsb2dfZXhpc3RzIik7CisKIAlyZXR1cm4gIWxzdGF0KGdpdF9wYXRoKCJsb2dzLyVzIiwgcmVmbmFtZSksICZzdCkgJiYKIAkJU19JU1JFRyhzdC5zdF9tb2RlKTsKIH0KIAotaW50IGRlbGV0ZV9yZWZsb2coY29uc3QgY2hhciAqcmVmbmFtZSkKK3N0YXRpYyBpbnQgZmlsZXNfZGVsZXRlX3JlZmxvZyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkgICAgICAgY29uc3QgY2hhciAqcmVmbmFtZSkKIHsKKwkvKiBDaGVjayB2YWxpZGl0eSAoYnV0IHdlIGRvbid0IG5lZWQgdGhlIHJlc3VsdCk6ICovCisJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAwLCAiZGVsZXRlX3JlZmxvZyIpOworCiAJcmV0dXJuIHJlbW92ZV9wYXRoKGdpdF9wYXRoKCJsb2dzLyVzIiwgcmVmbmFtZSkpOwogfQogCkBAIC0yODUxLDEzICszMTUwLDE5IEBACiAJcmV0dXJuIHNjYW47CiB9CiAKLWludCBmb3JfZWFjaF9yZWZsb2dfZW50X3JldmVyc2UoY29uc3QgY2hhciAqcmVmbmFtZSwgZWFjaF9yZWZsb2dfZW50X2ZuIGZuLCB2b2lkICpjYl9kYXRhKQorc3RhdGljIGludCBmaWxlc19mb3JfZWFjaF9yZWZsb2dfZW50X3JldmVyc2Uoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJCQkgICAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCQkJCSAgICAgZWFjaF9yZWZsb2dfZW50X2ZuIGZuLAorCQkJCQkgICAgIHZvaWQgKmNiX2RhdGEpCiB7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCUZJTEUgKmxvZ2ZwOwogCWxvbmcgcG9zOwogCWludCByZXQgPSAwLCBhdF90YWlsID0gMTsKIAorCS8qIENoZWNrIHZhbGlkaXR5IChidXQgd2UgZG9uJ3QgbmVlZCB0aGUgcmVzdWx0KTogKi8KKwlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIDAsICJmb3JfZWFjaF9yZWZsb2dfZW50X3JldmVyc2UiKTsKKwogCWxvZ2ZwID0gZm9wZW4oZ2l0X3BhdGgoImxvZ3MvJXMiLCByZWZuYW1lKSwgInIiKTsKIAlpZiAoIWxvZ2ZwKQogCQlyZXR1cm4gLTE7CkBAIC0yOTUzLDEyICszMjU4LDE3IEBACiAJcmV0dXJuIHJldDsKIH0KIAotaW50IGZvcl9lYWNoX3JlZmxvZ19lbnQoY29uc3QgY2hhciAqcmVmbmFtZSwgZWFjaF9yZWZsb2dfZW50X2ZuIGZuLCB2b2lkICpjYl9kYXRhKQorc3RhdGljIGludCBmaWxlc19mb3JfZWFjaF9yZWZsb2dfZW50KHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCQkgICAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCQkJICAgICBlYWNoX3JlZmxvZ19lbnRfZm4gZm4sIHZvaWQgKmNiX2RhdGEpCiB7CiAJRklMRSAqbG9nZnA7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCWludCByZXQgPSAwOwogCisJLyogQ2hlY2sgdmFsaWRpdHkgKGJ1dCB3ZSBkb24ndCBuZWVkIHRoZSByZXN1bHQpOiAqLworCWZpbGVzX2Rvd25jYXN0KHJlZl9zdG9yZSwgMCwgImZvcl9lYWNoX3JlZmxvZ19lbnQiKTsKKwogCWxvZ2ZwID0gZm9wZW4oZ2l0X3BhdGgoImxvZ3MvJXMiLCByZWZuYW1lKSwgInIiKTsKIAlpZiAoIWxvZ2ZwKQogCQlyZXR1cm4gLTE7CkBAIC0yOTY5LDYwICszMjc5LDg1IEBACiAJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAlyZXR1cm4gcmV0OwogfQotLyoKLSAqIENhbGwgZm4gZm9yIGVhY2ggcmVmbG9nIGluIHRoZSBuYW1lc3BhY2UgaW5kaWNhdGVkIGJ5IG5hbWUuICBuYW1lCi0gKiBtdXN0IGJlIGVtcHR5IG9yIGVuZCB3aXRoICcvJy4gIE5hbWUgd2lsbCBiZSB1c2VkIGFzIGEgc2NyYXRjaAotICogc3BhY2UsIGJ1dCBpdHMgY29udGVudHMgd2lsbCBiZSByZXN0b3JlZCBiZWZvcmUgcmV0dXJuLgotICovCi1zdGF0aWMgaW50IGRvX2Zvcl9lYWNoX3JlZmxvZyhzdHJ1Y3Qgc3RyYnVmICpuYW1lLCBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKKworc3RydWN0IGZpbGVzX3JlZmxvZ19pdGVyYXRvciB7CisJc3RydWN0IHJlZl9pdGVyYXRvciBiYXNlOworCisJc3RydWN0IGRpcl9pdGVyYXRvciAqZGlyX2l0ZXJhdG9yOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOworfTsKKworc3RhdGljIGludCBmaWxlc19yZWZsb2dfaXRlcmF0b3JfYWR2YW5jZShzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IpCiB7Ci0JRElSICpkID0gb3BlbmRpcihnaXRfcGF0aCgibG9ncy8lcyIsIG5hbWUtPmJ1ZikpOwotCWludCByZXR2YWwgPSAwOwotCXN0cnVjdCBkaXJlbnQgKmRlOwotCWludCBvbGRsZW4gPSBuYW1lLT5sZW47CisJc3RydWN0IGZpbGVzX3JlZmxvZ19pdGVyYXRvciAqaXRlciA9CisJCShzdHJ1Y3QgZmlsZXNfcmVmbG9nX2l0ZXJhdG9yICopcmVmX2l0ZXJhdG9yOworCXN0cnVjdCBkaXJfaXRlcmF0b3IgKmRpdGVyID0gaXRlci0+ZGlyX2l0ZXJhdG9yOworCWludCBvazsKIAotCWlmICghZCkKLQkJcmV0dXJuIG5hbWUtPmxlbiA/IGVycm5vIDogMDsKKwl3aGlsZSAoKG9rID0gZGlyX2l0ZXJhdG9yX2FkdmFuY2UoZGl0ZXIpKSA9PSBJVEVSX09LKSB7CisJCWludCBmbGFnczsKIAotCXdoaWxlICgoZGUgPSByZWFkZGlyKGQpKSAhPSBOVUxMKSB7Ci0JCXN0cnVjdCBzdGF0IHN0OwotCi0JCWlmIChkZS0+ZF9uYW1lWzBdID09ICcuJykKKwkJaWYgKCFTX0lTUkVHKGRpdGVyLT5zdC5zdF9tb2RlKSkKIAkJCWNvbnRpbnVlOwotCQlpZiAoZW5kc193aXRoKGRlLT5kX25hbWUsICIubG9jayIpKQorCQlpZiAoZGl0ZXItPmJhc2VuYW1lWzBdID09ICcuJykKIAkJCWNvbnRpbnVlOwotCQlzdHJidWZfYWRkc3RyKG5hbWUsIGRlLT5kX25hbWUpOwotCQlpZiAoc3RhdChnaXRfcGF0aCgibG9ncy8lcyIsIG5hbWUtPmJ1ZiksICZzdCkgPCAwKSB7Ci0JCQk7IC8qIHNpbGVudGx5IGlnbm9yZSAqLwotCQl9IGVsc2UgewotCQkJaWYgKFNfSVNESVIoc3Quc3RfbW9kZSkpIHsKLQkJCQlzdHJidWZfYWRkY2gobmFtZSwgJy8nKTsKLQkJCQlyZXR2YWwgPSBkb19mb3JfZWFjaF9yZWZsb2cobmFtZSwgZm4sIGNiX2RhdGEpOwotCQkJfSBlbHNlIHsKLQkJCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwkJaWYgKGVuZHNfd2l0aChkaXRlci0+YmFzZW5hbWUsICIubG9jayIpKQorCQkJY29udGludWU7CiAKLQkJCQlpZiAocmVhZF9yZWZfZnVsbChuYW1lLT5idWYsIDAsIG9pZC5oYXNoLCBOVUxMKSkKLQkJCQkJcmV0dmFsID0gZXJyb3IoImJhZCByZWYgZm9yICVzIiwgbmFtZS0+YnVmKTsKLQkJCQllbHNlCi0JCQkJCXJldHZhbCA9IGZuKG5hbWUtPmJ1ZiwgJm9pZCwgMCwgY2JfZGF0YSk7Ci0JCQl9Ci0JCQlpZiAocmV0dmFsKQotCQkJCWJyZWFrOworCQlpZiAocmVhZF9yZWZfZnVsbChkaXRlci0+cmVsYXRpdmVfcGF0aCwgMCwKKwkJCQkgIGl0ZXItPm9pZC5oYXNoLCAmZmxhZ3MpKSB7CisJCQllcnJvcigiYmFkIHJlZiBmb3IgJXMiLCBkaXRlci0+cGF0aC5idWYpOworCQkJY29udGludWU7CiAJCX0KLQkJc3RyYnVmX3NldGxlbihuYW1lLCBvbGRsZW4pOworCisJCWl0ZXItPmJhc2UucmVmbmFtZSA9IGRpdGVyLT5yZWxhdGl2ZV9wYXRoOworCQlpdGVyLT5iYXNlLm9pZCA9ICZpdGVyLT5vaWQ7CisJCWl0ZXItPmJhc2UuZmxhZ3MgPSBmbGFnczsKKwkJcmV0dXJuIElURVJfT0s7CiAJfQotCWNsb3NlZGlyKGQpOwotCXJldHVybiByZXR2YWw7CisKKwlpdGVyLT5kaXJfaXRlcmF0b3IgPSBOVUxMOworCWlmIChyZWZfaXRlcmF0b3JfYWJvcnQocmVmX2l0ZXJhdG9yKSA9PSBJVEVSX0VSUk9SKQorCQlvayA9IElURVJfRVJST1I7CisJcmV0dXJuIG9rOwogfQogCi1pbnQgZm9yX2VhY2hfcmVmbG9nKGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKQorc3RhdGljIGludCBmaWxlc19yZWZsb2dfaXRlcmF0b3JfcGVlbChzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IsCisJCQkJICAgc3RydWN0IG9iamVjdF9pZCAqcGVlbGVkKQogewotCWludCByZXR2YWw7Ci0Jc3RydWN0IHN0cmJ1ZiBuYW1lOwotCXN0cmJ1Zl9pbml0KCZuYW1lLCBQQVRIX01BWCk7Ci0JcmV0dmFsID0gZG9fZm9yX2VhY2hfcmVmbG9nKCZuYW1lLCBmbiwgY2JfZGF0YSk7Ci0Jc3RyYnVmX3JlbGVhc2UoJm5hbWUpOwotCXJldHVybiByZXR2YWw7CisJZGllKCJCVUc6IHJlZl9pdGVyYXRvcl9wZWVsKCkgY2FsbGVkIGZvciByZWZsb2dfaXRlcmF0b3IiKTsKK30KKworc3RhdGljIGludCBmaWxlc19yZWZsb2dfaXRlcmF0b3JfYWJvcnQoc3RydWN0IHJlZl9pdGVyYXRvciAqcmVmX2l0ZXJhdG9yKQoreworCXN0cnVjdCBmaWxlc19yZWZsb2dfaXRlcmF0b3IgKml0ZXIgPQorCQkoc3RydWN0IGZpbGVzX3JlZmxvZ19pdGVyYXRvciAqKXJlZl9pdGVyYXRvcjsKKwlpbnQgb2sgPSBJVEVSX0RPTkU7CisKKwlpZiAoaXRlci0+ZGlyX2l0ZXJhdG9yKQorCQlvayA9IGRpcl9pdGVyYXRvcl9hYm9ydChpdGVyLT5kaXJfaXRlcmF0b3IpOworCisJYmFzZV9yZWZfaXRlcmF0b3JfZnJlZShyZWZfaXRlcmF0b3IpOworCXJldHVybiBvazsKK30KKworc3RhdGljIHN0cnVjdCByZWZfaXRlcmF0b3JfdnRhYmxlIGZpbGVzX3JlZmxvZ19pdGVyYXRvcl92dGFibGUgPSB7CisJZmlsZXNfcmVmbG9nX2l0ZXJhdG9yX2FkdmFuY2UsCisJZmlsZXNfcmVmbG9nX2l0ZXJhdG9yX3BlZWwsCisJZmlsZXNfcmVmbG9nX2l0ZXJhdG9yX2Fib3J0Cit9OworCitzdGF0aWMgc3RydWN0IHJlZl9pdGVyYXRvciAqZmlsZXNfcmVmbG9nX2l0ZXJhdG9yX2JlZ2luKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSkKK3sKKwlzdHJ1Y3QgZmlsZXNfcmVmbG9nX2l0ZXJhdG9yICppdGVyID0geGNhbGxvYygxLCBzaXplb2YoKml0ZXIpKTsKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IgPSAmaXRlci0+YmFzZTsKKworCS8qIENoZWNrIHZhbGlkaXR5IChidXQgd2UgZG9uJ3QgbmVlZCB0aGUgcmVzdWx0KTogKi8KKwlmaWxlc19kb3duY2FzdChyZWZfc3RvcmUsIDAsICJyZWZsb2dfaXRlcmF0b3JfYmVnaW4iKTsKKworCWJhc2VfcmVmX2l0ZXJhdG9yX2luaXQocmVmX2l0ZXJhdG9yLCAmZmlsZXNfcmVmbG9nX2l0ZXJhdG9yX3Z0YWJsZSk7CisJaXRlci0+ZGlyX2l0ZXJhdG9yID0gZGlyX2l0ZXJhdG9yX2JlZ2luKGdpdF9wYXRoKCJsb2dzIikpOworCXJldHVybiByZWZfaXRlcmF0b3I7CiB9CiAKIHN0YXRpYyBpbnQgcmVmX3VwZGF0ZV9yZWplY3RfZHVwbGljYXRlcyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJlZm5hbWVzLApAQCAtMzAzNSwzNiArMzM3MCwzNjAgQEAKIAlmb3IgKGkgPSAxOyBpIDwgbjsgaSsrKQogCQlpZiAoIXN0cmNtcChyZWZuYW1lcy0+aXRlbXNbaSAtIDFdLnN0cmluZywgcmVmbmFtZXMtPml0ZW1zW2ldLnN0cmluZykpIHsKIAkJCXN0cmJ1Zl9hZGRmKGVyciwKLQkJCQkgICAgIk11bHRpcGxlIHVwZGF0ZXMgZm9yIHJlZiAnJXMnIG5vdCBhbGxvd2VkLiIsCisJCQkJICAgICJtdWx0aXBsZSB1cGRhdGVzIGZvciByZWYgJyVzJyBub3QgYWxsb3dlZC4iLAogCQkJCSAgICByZWZuYW1lcy0+aXRlbXNbaV0uc3RyaW5nKTsKIAkJCXJldHVybiAxOwogCQl9CiAJcmV0dXJuIDA7CiB9CiAKLWludCByZWZfdHJhbnNhY3Rpb25fY29tbWl0KHN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uLAotCQkJICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQorLyoKKyAqIElmIHVwZGF0ZSBpcyBhIGRpcmVjdCB1cGRhdGUgb2YgaGVhZF9yZWYgKHRoZSByZWZlcmVuY2UgcG9pbnRlZCB0bworICogYnkgSEVBRCksIHRoZW4gYWRkIGFuIGV4dHJhIFJFRl9MT0dfT05MWSB1cGRhdGUgZm9yIEhFQUQuCisgKi8KK3N0YXRpYyBpbnQgc3BsaXRfaGVhZF91cGRhdGUoc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZSwKKwkJCSAgICAgc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCisJCQkgICAgIGNvbnN0IGNoYXIgKmhlYWRfcmVmLAorCQkJICAgICBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmFmZmVjdGVkX3JlZm5hbWVzLAorCQkJICAgICBzdHJ1Y3Qgc3RyYnVmICplcnIpCiB7CisJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CisJc3RydWN0IHJlZl91cGRhdGUgKm5ld191cGRhdGU7CisKKwlpZiAoKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfTE9HX09OTFkpIHx8CisJICAgICh1cGRhdGUtPmZsYWdzICYgUkVGX0lTUFJVTklORykgfHwKKwkgICAgKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfVVBEQVRFX1ZJQV9IRUFEKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoc3RyY21wKHVwZGF0ZS0+cmVmbmFtZSwgaGVhZF9yZWYpKQorCQlyZXR1cm4gMDsKKworCS8qCisJICogRmlyc3QgbWFrZSBzdXJlIHRoYXQgSEVBRCBpcyBub3QgYWxyZWFkeSBpbiB0aGUKKwkgKiB0cmFuc2FjdGlvbi4gVGhpcyBpbnNlcnRpb24gaXMgTyhOKSBpbiB0aGUgdHJhbnNhY3Rpb24KKwkgKiBzaXplLCBidXQgaXQgaGFwcGVucyBhdCBtb3N0IG9uY2UgcGVyIHRyYW5zYWN0aW9uLgorCSAqLworCWl0ZW0gPSBzdHJpbmdfbGlzdF9pbnNlcnQoYWZmZWN0ZWRfcmVmbmFtZXMsICJIRUFEIik7CisJaWYgKGl0ZW0tPnV0aWwpIHsKKwkJLyogQW4gZW50cnkgYWxyZWFkeSBleGlzdGVkICovCisJCXN0cmJ1Zl9hZGRmKGVyciwKKwkJCSAgICAibXVsdGlwbGUgdXBkYXRlcyBmb3IgJ0hFQUQnIChpbmNsdWRpbmcgb25lICIKKwkJCSAgICAidmlhIGl0cyByZWZlcmVudCAnJXMnKSBhcmUgbm90IGFsbG93ZWQiLAorCQkJICAgIHVwZGF0ZS0+cmVmbmFtZSk7CisJCXJldHVybiBUUkFOU0FDVElPTl9OQU1FX0NPTkZMSUNUOworCX0KKworCW5ld191cGRhdGUgPSByZWZfdHJhbnNhY3Rpb25fYWRkX3VwZGF0ZSgKKwkJCXRyYW5zYWN0aW9uLCAiSEVBRCIsCisJCQl1cGRhdGUtPmZsYWdzIHwgUkVGX0xPR19PTkxZIHwgUkVGX05PREVSRUYsCisJCQl1cGRhdGUtPm5ld19zaGExLCB1cGRhdGUtPm9sZF9zaGExLAorCQkJdXBkYXRlLT5tc2cpOworCisJaXRlbS0+dXRpbCA9IG5ld191cGRhdGU7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIHVwZGF0ZSBpcyBmb3IgYSBzeW1yZWYgdGhhdCBwb2ludHMgYXQgcmVmZXJlbnQgYW5kIGRvZXNuJ3QgaGF2ZQorICogUkVGX05PREVSRUYgc2V0LiBTcGxpdCBpdCBpbnRvIHR3byB1cGRhdGVzOgorICogLSBUaGUgb3JpZ2luYWwgdXBkYXRlLCBidXQgd2l0aCBSRUZfTE9HX09OTFkgYW5kIFJFRl9OT0RFUkVGIHNldAorICogLSBBIG5ldywgc2VwYXJhdGUgdXBkYXRlIGZvciB0aGUgcmVmZXJlbnQgcmVmZXJlbmNlCisgKiBOb3RlIHRoYXQgdGhlIG5ldyB1cGRhdGUgd2lsbCBpdHNlbGYgYmUgc3ViamVjdCB0byBzcGxpdHRpbmcgd2hlbgorICogdGhlIGl0ZXJhdGlvbiBnZXRzIHRvIGl0LgorICovCitzdGF0aWMgaW50IHNwbGl0X3N5bXJlZl91cGRhdGUoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcywKKwkJCSAgICAgICBzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKnJlZmVyZW50LAorCQkJICAgICAgIHN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uLAorCQkJICAgICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqYWZmZWN0ZWRfcmVmbmFtZXMsCisJCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKQoreworCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOworCXN0cnVjdCByZWZfdXBkYXRlICpuZXdfdXBkYXRlOworCXVuc2lnbmVkIGludCBuZXdfZmxhZ3M7CisKKwkvKgorCSAqIEZpcnN0IG1ha2Ugc3VyZSB0aGF0IHJlZmVyZW50IGlzIG5vdCBhbHJlYWR5IGluIHRoZQorCSAqIHRyYW5zYWN0aW9uLiBUaGlzIGluc2VydGlvbiBpcyBPKE4pIGluIHRoZSB0cmFuc2FjdGlvbgorCSAqIHNpemUsIGJ1dCBpdCBoYXBwZW5zIGF0IG1vc3Qgb25jZSBwZXIgc3ltcmVmIGluIGEKKwkgKiB0cmFuc2FjdGlvbi4KKwkgKi8KKwlpdGVtID0gc3RyaW5nX2xpc3RfaW5zZXJ0KGFmZmVjdGVkX3JlZm5hbWVzLCByZWZlcmVudCk7CisJaWYgKGl0ZW0tPnV0aWwpIHsKKwkJLyogQW4gZW50cnkgYWxyZWFkeSBleGlzdGVkICovCisJCXN0cmJ1Zl9hZGRmKGVyciwKKwkJCSAgICAibXVsdGlwbGUgdXBkYXRlcyBmb3IgJyVzJyAoaW5jbHVkaW5nIG9uZSAiCisJCQkgICAgInZpYSBzeW1yZWYgJyVzJykgYXJlIG5vdCBhbGxvd2VkIiwKKwkJCSAgICByZWZlcmVudCwgdXBkYXRlLT5yZWZuYW1lKTsKKwkJcmV0dXJuIFRSQU5TQUNUSU9OX05BTUVfQ09ORkxJQ1Q7CisJfQorCisJbmV3X2ZsYWdzID0gdXBkYXRlLT5mbGFnczsKKwlpZiAoIXN0cmNtcCh1cGRhdGUtPnJlZm5hbWUsICJIRUFEIikpIHsKKwkJLyoKKwkJICogUmVjb3JkIHRoYXQgdGhlIG5ldyB1cGRhdGUgY2FtZSB2aWEgSEVBRCwgc28gdGhhdAorCQkgKiB3aGVuIHdlIHByb2Nlc3MgaXQsIHNwbGl0X2hlYWRfdXBkYXRlKCkgZG9lc24ndCB0cnkKKwkJICogdG8gYWRkIGFub3RoZXIgcmVmbG9nIHVwZGF0ZSBmb3IgSEVBRC4gTm90ZSB0aGF0CisJCSAqIHRoaXMgYml0IHdpbGwgYmUgcHJvcGFnYXRlZCBpZiB0aGUgbmV3X3VwZGF0ZQorCQkgKiBpdHNlbGYgbmVlZHMgdG8gYmUgc3BsaXQuCisJCSAqLworCQluZXdfZmxhZ3MgfD0gUkVGX1VQREFURV9WSUFfSEVBRDsKKwl9CisKKwluZXdfdXBkYXRlID0gcmVmX3RyYW5zYWN0aW9uX2FkZF91cGRhdGUoCisJCQl0cmFuc2FjdGlvbiwgcmVmZXJlbnQsIG5ld19mbGFncywKKwkJCXVwZGF0ZS0+bmV3X3NoYTEsIHVwZGF0ZS0+b2xkX3NoYTEsCisJCQl1cGRhdGUtPm1zZyk7CisKKwluZXdfdXBkYXRlLT5wYXJlbnRfdXBkYXRlID0gdXBkYXRlOworCisJLyoKKwkgKiBDaGFuZ2UgdGhlIHN5bWJvbGljIHJlZiB1cGRhdGUgdG8gbG9nIG9ubHkuIEFsc28sIGl0CisJICogZG9lc24ndCBuZWVkIHRvIGNoZWNrIGl0cyBvbGQgU0hBLTEgdmFsdWUsIGFzIHRoYXQgd2lsbCBiZQorCSAqIGRvbmUgd2hlbiBuZXdfdXBkYXRlIGlzIHByb2Nlc3NlZC4KKwkgKi8KKwl1cGRhdGUtPmZsYWdzIHw9IFJFRl9MT0dfT05MWSB8IFJFRl9OT0RFUkVGOworCXVwZGF0ZS0+ZmxhZ3MgJj0gflJFRl9IQVZFX09MRDsKKworCWl0ZW0tPnV0aWwgPSBuZXdfdXBkYXRlOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBSZXR1cm4gdGhlIHJlZm5hbWUgdW5kZXIgd2hpY2ggdXBkYXRlIHdhcyBvcmlnaW5hbGx5IHJlcXVlc3RlZC4KKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKm9yaWdpbmFsX3VwZGF0ZV9yZWZuYW1lKHN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGUpCit7CisJd2hpbGUgKHVwZGF0ZS0+cGFyZW50X3VwZGF0ZSkKKwkJdXBkYXRlID0gdXBkYXRlLT5wYXJlbnRfdXBkYXRlOworCisJcmV0dXJuIHVwZGF0ZS0+cmVmbmFtZTsKK30KKworLyoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIFJFRl9IQVZFX09MRCBhbmQgb2xkX29pZCB2YWx1ZXMgc3RvcmVkIGluIHVwZGF0ZQorICogYXJlIGNvbnNpc3RlbnQgd2l0aCBvaWQsIHdoaWNoIGlzIHRoZSByZWZlcmVuY2UncyBjdXJyZW50IHZhbHVlLiBJZgorICogZXZlcnl0aGluZyBpcyBPSywgcmV0dXJuIDA7IG90aGVyd2lzZSwgd3JpdGUgYW4gZXJyb3IgbWVzc2FnZSB0bworICogZXJyIGFuZCByZXR1cm4gLTEuCisgKi8KK3N0YXRpYyBpbnQgY2hlY2tfb2xkX29pZChzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkgc3RydWN0IHN0cmJ1ZiAqZXJyKQoreworCWlmICghKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfSEFWRV9PTEQpIHx8CisJCSAgICFoYXNoY21wKG9pZC0+aGFzaCwgdXBkYXRlLT5vbGRfc2hhMSkpCisJCXJldHVybiAwOworCisJaWYgKGlzX251bGxfc2hhMSh1cGRhdGUtPm9sZF9zaGExKSkKKwkJc3RyYnVmX2FkZGYoZXJyLCAiY2Fubm90IGxvY2sgcmVmICclcyc6ICIKKwkJCSAgICAicmVmZXJlbmNlIGFscmVhZHkgZXhpc3RzIiwKKwkJCSAgICBvcmlnaW5hbF91cGRhdGVfcmVmbmFtZSh1cGRhdGUpKTsKKwllbHNlIGlmIChpc19udWxsX29pZChvaWQpKQorCQlzdHJidWZfYWRkZihlcnIsICJjYW5ub3QgbG9jayByZWYgJyVzJzogIgorCQkJICAgICJyZWZlcmVuY2UgaXMgbWlzc2luZyBidXQgZXhwZWN0ZWQgJXMiLAorCQkJICAgIG9yaWdpbmFsX3VwZGF0ZV9yZWZuYW1lKHVwZGF0ZSksCisJCQkgICAgc2hhMV90b19oZXgodXBkYXRlLT5vbGRfc2hhMSkpOworCWVsc2UKKwkJc3RyYnVmX2FkZGYoZXJyLCAiY2Fubm90IGxvY2sgcmVmICclcyc6ICIKKwkJCSAgICAiaXMgYXQgJXMgYnV0IGV4cGVjdGVkICVzIiwKKwkJCSAgICBvcmlnaW5hbF91cGRhdGVfcmVmbmFtZSh1cGRhdGUpLAorCQkJICAgIG9pZF90b19oZXgob2lkKSwKKwkJCSAgICBzaGExX3RvX2hleCh1cGRhdGUtPm9sZF9zaGExKSk7CisKKwlyZXR1cm4gLTE7Cit9CisKKy8qCisgKiBQcmVwYXJlIGZvciBjYXJyeWluZyBvdXQgdXBkYXRlOgorICogLSBMb2NrIHRoZSByZWZlcmVuY2UgcmVmZXJyZWQgdG8gYnkgdXBkYXRlLgorICogLSBSZWFkIHRoZSByZWZlcmVuY2UgdW5kZXIgbG9jay4KKyAqIC0gQ2hlY2sgdGhhdCBpdHMgb2xkIFNIQS0xIHZhbHVlIChpZiBzcGVjaWZpZWQpIGlzIGNvcnJlY3QsIGFuZCBpbgorICogICBhbnkgY2FzZSByZWNvcmQgaXQgaW4gdXBkYXRlLT5sb2NrLT5vbGRfb2lkIGZvciBsYXRlciB1c2Ugd2hlbgorICogICB3cml0aW5nIHRoZSByZWZsb2cuCisgKiAtIElmIGl0IGlzIGEgc3ltcmVmIHVwZGF0ZSB3aXRob3V0IFJFRl9OT0RFUkVGLCBzcGxpdCBpdCB1cCBpbnRvIGEKKyAqICAgUkVGX0xPR19PTkxZIHVwZGF0ZSBvZiB0aGUgc3ltcmVmIGFuZCBhZGQgYSBzZXBhcmF0ZSB1cGRhdGUgZm9yCisgKiAgIHRoZSByZWZlcmVudCB0byB0cmFuc2FjdGlvbi4KKyAqIC0gSWYgaXQgaXMgYW4gdXBkYXRlIG9mIGhlYWRfcmVmLCBhZGQgYSBjb3JyZXNwb25kaW5nIFJFRl9MT0dfT05MWQorICogICB1cGRhdGUgb2YgSEVBRC4KKyAqLworc3RhdGljIGludCBsb2NrX3JlZl9mb3JfdXBkYXRlKHN0cnVjdCBmaWxlc19yZWZfc3RvcmUgKnJlZnMsCisJCQkgICAgICAgc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZSwKKwkJCSAgICAgICBzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICp0cmFuc2FjdGlvbiwKKwkJCSAgICAgICBjb25zdCBjaGFyICpoZWFkX3JlZiwKKwkJCSAgICAgICBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmFmZmVjdGVkX3JlZm5hbWVzLAorCQkJICAgICAgIHN0cnVjdCBzdHJidWYgKmVycikKK3sKKwlzdHJ1Y3Qgc3RyYnVmIHJlZmVyZW50ID0gU1RSQlVGX0lOSVQ7CisJaW50IG11c3RleGlzdCA9ICh1cGRhdGUtPmZsYWdzICYgUkVGX0hBVkVfT0xEKSAmJgorCQkhaXNfbnVsbF9zaGExKHVwZGF0ZS0+b2xkX3NoYTEpOworCWludCByZXQ7CisJc3RydWN0IHJlZl9sb2NrICpsb2NrOworCisJYXNzZXJ0X21haW5fcmVwb3NpdG9yeSgmcmVmcy0+YmFzZSwgImxvY2tfcmVmX2Zvcl91cGRhdGUiKTsKKworCWlmICgodXBkYXRlLT5mbGFncyAmIFJFRl9IQVZFX05FVykgJiYgaXNfbnVsbF9zaGExKHVwZGF0ZS0+bmV3X3NoYTEpKQorCQl1cGRhdGUtPmZsYWdzIHw9IFJFRl9ERUxFVElORzsKKworCWlmIChoZWFkX3JlZikgeworCQlyZXQgPSBzcGxpdF9oZWFkX3VwZGF0ZSh1cGRhdGUsIHRyYW5zYWN0aW9uLCBoZWFkX3JlZiwKKwkJCQkJYWZmZWN0ZWRfcmVmbmFtZXMsIGVycik7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCX0KKworCXJldCA9IGxvY2tfcmF3X3JlZihyZWZzLCB1cGRhdGUtPnJlZm5hbWUsIG11c3RleGlzdCwKKwkJCSAgIGFmZmVjdGVkX3JlZm5hbWVzLCBOVUxMLAorCQkJICAgJmxvY2ssICZyZWZlcmVudCwKKwkJCSAgICZ1cGRhdGUtPnR5cGUsIGVycik7CisJaWYgKHJldCkgeworCQljaGFyICpyZWFzb247CisKKwkJcmVhc29uID0gc3RyYnVmX2RldGFjaChlcnIsIE5VTEwpOworCQlzdHJidWZfYWRkZihlcnIsICJjYW5ub3QgbG9jayByZWYgJyVzJzogJXMiLAorCQkJICAgIG9yaWdpbmFsX3VwZGF0ZV9yZWZuYW1lKHVwZGF0ZSksIHJlYXNvbik7CisJCWZyZWUocmVhc29uKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwl1cGRhdGUtPmJhY2tlbmRfZGF0YSA9IGxvY2s7CisKKwlpZiAodXBkYXRlLT50eXBlICYgUkVGX0lTU1lNUkVGKSB7CisJCWlmICh1cGRhdGUtPmZsYWdzICYgUkVGX05PREVSRUYpIHsKKwkJCS8qCisJCQkgKiBXZSB3b24ndCBiZSByZWFkaW5nIHRoZSByZWZlcmVudCBhcyBwYXJ0IG9mCisJCQkgKiB0aGUgdHJhbnNhY3Rpb24sIHNvIHdlIGhhdmUgdG8gcmVhZCBpdCBoZXJlCisJCQkgKiB0byByZWNvcmQgYW5kIHBvc3NpYmx5IGNoZWNrIG9sZF9zaGExOgorCQkJICovCisJCQlpZiAocmVhZF9yZWZfZnVsbChyZWZlcmVudC5idWYsIDAsCisJCQkJCSAgbG9jay0+b2xkX29pZC5oYXNoLCBOVUxMKSkgeworCQkJCWlmICh1cGRhdGUtPmZsYWdzICYgUkVGX0hBVkVfT0xEKSB7CisJCQkJCXN0cmJ1Zl9hZGRmKGVyciwgImNhbm5vdCBsb2NrIHJlZiAnJXMnOiAiCisJCQkJCQkgICAgImVycm9yIHJlYWRpbmcgcmVmZXJlbmNlIiwKKwkJCQkJCSAgICBvcmlnaW5hbF91cGRhdGVfcmVmbmFtZSh1cGRhdGUpKTsKKwkJCQkJcmV0dXJuIC0xOworCQkJCX0KKwkJCX0gZWxzZSBpZiAoY2hlY2tfb2xkX29pZCh1cGRhdGUsICZsb2NrLT5vbGRfb2lkLCBlcnIpKSB7CisJCQkJcmV0dXJuIFRSQU5TQUNUSU9OX0dFTkVSSUNfRVJST1I7CisJCQl9CisJCX0gZWxzZSB7CisJCQkvKgorCQkJICogQ3JlYXRlIGEgbmV3IHVwZGF0ZSBmb3IgdGhlIHJlZmVyZW5jZSB0aGlzCisJCQkgKiBzeW1yZWYgaXMgcG9pbnRpbmcgYXQuIEFsc28sIHdlIHdpbGwgcmVjb3JkCisJCQkgKiBhbmQgdmVyaWZ5IG9sZF9zaGExIGZvciB0aGlzIHVwZGF0ZSBhcyBwYXJ0CisJCQkgKiBvZiBwcm9jZXNzaW5nIHRoZSBzcGxpdC1vZmYgdXBkYXRlLCBzbyB3ZQorCQkJICogZG9uJ3QgaGF2ZSB0byBkbyBpdCBoZXJlLgorCQkJICovCisJCQlyZXQgPSBzcGxpdF9zeW1yZWZfdXBkYXRlKHJlZnMsIHVwZGF0ZSwKKwkJCQkJCSAgcmVmZXJlbnQuYnVmLCB0cmFuc2FjdGlvbiwKKwkJCQkJCSAgYWZmZWN0ZWRfcmVmbmFtZXMsIGVycik7CisJCQlpZiAocmV0KQorCQkJCXJldHVybiByZXQ7CisJCX0KKwl9IGVsc2UgeworCQlzdHJ1Y3QgcmVmX3VwZGF0ZSAqcGFyZW50X3VwZGF0ZTsKKworCQlpZiAoY2hlY2tfb2xkX29pZCh1cGRhdGUsICZsb2NrLT5vbGRfb2lkLCBlcnIpKQorCQkJcmV0dXJuIFRSQU5TQUNUSU9OX0dFTkVSSUNfRVJST1I7CisKKwkJLyoKKwkJICogSWYgdGhpcyB1cGRhdGUgaXMgaGFwcGVuaW5nIGluZGlyZWN0bHkgYmVjYXVzZSBvZiBhCisJCSAqIHN5bXJlZiB1cGRhdGUsIHJlY29yZCB0aGUgb2xkIFNIQS0xIGluIHRoZSBwYXJlbnQKKwkJICogdXBkYXRlOgorCQkgKi8KKwkJZm9yIChwYXJlbnRfdXBkYXRlID0gdXBkYXRlLT5wYXJlbnRfdXBkYXRlOworCQkgICAgIHBhcmVudF91cGRhdGU7CisJCSAgICAgcGFyZW50X3VwZGF0ZSA9IHBhcmVudF91cGRhdGUtPnBhcmVudF91cGRhdGUpIHsKKwkJCXN0cnVjdCByZWZfbG9jayAqcGFyZW50X2xvY2sgPSBwYXJlbnRfdXBkYXRlLT5iYWNrZW5kX2RhdGE7CisJCQlvaWRjcHkoJnBhcmVudF9sb2NrLT5vbGRfb2lkLCAmbG9jay0+b2xkX29pZCk7CisJCX0KKwl9CisKKwlpZiAoKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfSEFWRV9ORVcpICYmCisJICAgICEodXBkYXRlLT5mbGFncyAmIFJFRl9ERUxFVElORykgJiYKKwkgICAgISh1cGRhdGUtPmZsYWdzICYgUkVGX0xPR19PTkxZKSkgeworCQlpZiAoISh1cGRhdGUtPnR5cGUgJiBSRUZfSVNTWU1SRUYpICYmCisJCSAgICAhaGFzaGNtcChsb2NrLT5vbGRfb2lkLmhhc2gsIHVwZGF0ZS0+bmV3X3NoYTEpKSB7CisJCQkvKgorCQkJICogVGhlIHJlZmVyZW5jZSBhbHJlYWR5IGhhcyB0aGUgZGVzaXJlZAorCQkJICogdmFsdWUsIHNvIHdlIGRvbid0IG5lZWQgdG8gd3JpdGUgaXQuCisJCQkgKi8KKwkJfSBlbHNlIGlmICh3cml0ZV9yZWZfdG9fbG9ja2ZpbGUobG9jaywgdXBkYXRlLT5uZXdfc2hhMSwKKwkJCQkJCSBlcnIpKSB7CisJCQljaGFyICp3cml0ZV9lcnIgPSBzdHJidWZfZGV0YWNoKGVyciwgTlVMTCk7CisKKwkJCS8qCisJCQkgKiBUaGUgbG9jayB3YXMgZnJlZWQgdXBvbiBmYWlsdXJlIG9mCisJCQkgKiB3cml0ZV9yZWZfdG9fbG9ja2ZpbGUoKToKKwkJCSAqLworCQkJdXBkYXRlLT5iYWNrZW5kX2RhdGEgPSBOVUxMOworCQkJc3RyYnVmX2FkZGYoZXJyLAorCQkJCSAgICAiY2Fubm90IHVwZGF0ZSByZWYgJyVzJzogJXMiLAorCQkJCSAgICB1cGRhdGUtPnJlZm5hbWUsIHdyaXRlX2Vycik7CisJCQlmcmVlKHdyaXRlX2Vycik7CisJCQlyZXR1cm4gVFJBTlNBQ1RJT05fR0VORVJJQ19FUlJPUjsKKwkJfSBlbHNlIHsKKwkJCXVwZGF0ZS0+ZmxhZ3MgfD0gUkVGX05FRURTX0NPTU1JVDsKKwkJfQorCX0KKwlpZiAoISh1cGRhdGUtPmZsYWdzICYgUkVGX05FRURTX0NPTU1JVCkpIHsKKwkJLyoKKwkJICogV2UgZGlkbid0IGNhbGwgd3JpdGVfcmVmX3RvX2xvY2tmaWxlKCksIHNvCisJCSAqIHRoZSBsb2NrZmlsZSBpcyBzdGlsbCBvcGVuLiBDbG9zZSBpdCB0bworCQkgKiBmcmVlIHVwIHRoZSBmaWxlIGRlc2NyaXB0b3I6CisJCSAqLworCQlpZiAoY2xvc2VfcmVmKGxvY2spKSB7CisJCQlzdHJidWZfYWRkZihlcnIsICJjb3VsZG4ndCBjbG9zZSAnJXMubG9jayciLAorCQkJCSAgICB1cGRhdGUtPnJlZm5hbWUpOworCQkJcmV0dXJuIFRSQU5TQUNUSU9OX0dFTkVSSUNfRVJST1I7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZmlsZXNfdHJhbnNhY3Rpb25fY29tbWl0KHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCQkgICAgc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCisJCQkJICAgIHN0cnVjdCBzdHJidWYgKmVycikKK3sKKwlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0KKwkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCAwLCAicmVmX3RyYW5zYWN0aW9uX2NvbW1pdCIpOwogCWludCByZXQgPSAwLCBpOwotCWludCBuID0gdHJhbnNhY3Rpb24tPm5yOwotCXN0cnVjdCByZWZfdXBkYXRlICoqdXBkYXRlcyA9IHRyYW5zYWN0aW9uLT51cGRhdGVzOwogCXN0cnVjdCBzdHJpbmdfbGlzdCByZWZzX3RvX2RlbGV0ZSA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKnJlZl90b19kZWxldGU7CiAJc3RydWN0IHN0cmluZ19saXN0IGFmZmVjdGVkX3JlZm5hbWVzID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKKwljaGFyICpoZWFkX3JlZiA9IE5VTEw7CisJaW50IGhlYWRfdHlwZTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIGhlYWRfb2lkOwogCiAJYXNzZXJ0KGVycik7CiAKIAlpZiAodHJhbnNhY3Rpb24tPnN0YXRlICE9IFJFRl9UUkFOU0FDVElPTl9PUEVOKQogCQlkaWUoIkJVRzogY29tbWl0IGNhbGxlZCBmb3IgdHJhbnNhY3Rpb24gdGhhdCBpcyBub3Qgb3BlbiIpOwogCi0JaWYgKCFuKSB7CisJaWYgKCF0cmFuc2FjdGlvbi0+bnIpIHsKIAkJdHJhbnNhY3Rpb24tPnN0YXRlID0gUkVGX1RSQU5TQUNUSU9OX0NMT1NFRDsKIAkJcmV0dXJuIDA7CiAJfQogCi0JLyogRmFpbCBpZiBhIHJlZm5hbWUgYXBwZWFycyBtb3JlIHRoYW4gb25jZSBpbiB0aGUgdHJhbnNhY3Rpb246ICovCi0JZm9yIChpID0gMDsgaSA8IG47IGkrKykKLQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZhZmZlY3RlZF9yZWZuYW1lcywgdXBkYXRlc1tpXS0+cmVmbmFtZSk7CisJLyoKKwkgKiBGYWlsIGlmIGEgcmVmbmFtZSBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlIGluIHRoZQorCSAqIHRyYW5zYWN0aW9uLiAoSWYgd2UgZW5kIHVwIHNwbGl0dGluZyB1cCBhbnkgdXBkYXRlcyB1c2luZworCSAqIHNwbGl0X3N5bXJlZl91cGRhdGUoKSBvciBzcGxpdF9oZWFkX3VwZGF0ZSgpLCB0aG9zZQorCSAqIGZ1bmN0aW9ucyB3aWxsIGNoZWNrIHRoYXQgdGhlIG5ldyB1cGRhdGVzIGRvbid0IGhhdmUgdGhlCisJICogc2FtZSByZWZuYW1lIGFzIGFueSBleGlzdGluZyBvbmVzLikKKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgdHJhbnNhY3Rpb24tPm5yOyBpKyspIHsKKwkJc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZSA9IHRyYW5zYWN0aW9uLT51cGRhdGVzW2ldOworCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbSA9CisJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmFmZmVjdGVkX3JlZm5hbWVzLCB1cGRhdGUtPnJlZm5hbWUpOworCisJCS8qCisJCSAqIFdlIHN0b3JlIGEgcG9pbnRlciB0byB1cGRhdGUgaW4gaXRlbS0+dXRpbCwgYnV0IGF0CisJCSAqIHRoZSBtb21lbnQgd2UgbmV2ZXIgdXNlIHRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkCisJCSAqIGV4Y2VwdCB0byBjaGVjayB3aGV0aGVyIGl0IGlzIG5vbi1OVUxMLgorCQkgKi8KKwkJaXRlbS0+dXRpbCA9IHVwZGF0ZTsKKwl9CiAJc3RyaW5nX2xpc3Rfc29ydCgmYWZmZWN0ZWRfcmVmbmFtZXMpOwogCWlmIChyZWZfdXBkYXRlX3JlamVjdF9kdXBsaWNhdGVzKCZhZmZlY3RlZF9yZWZuYW1lcywgZXJyKSkgewogCQlyZXQgPSBUUkFOU0FDVElPTl9HRU5FUklDX0VSUk9SOwpAQCAtMzA3MiwxMzIgKzM3MzEsMTE0IEBACiAJfQogCiAJLyoKKwkgKiBTcGVjaWFsIGhhY2s6IElmIGEgYnJhbmNoIGlzIHVwZGF0ZWQgZGlyZWN0bHkgYW5kIEhFQUQKKwkgKiBwb2ludHMgdG8gaXQgKG1heSBoYXBwZW4gb24gdGhlIHJlbW90ZSBzaWRlIG9mIGEgcHVzaAorCSAqIGZvciBleGFtcGxlKSB0aGVuIGxvZ2ljYWxseSB0aGUgSEVBRCByZWZsb2cgc2hvdWxkIGJlCisJICogdXBkYXRlZCB0b28uCisJICoKKwkgKiBBIGdlbmVyaWMgc29sdXRpb24gd291bGQgcmVxdWlyZSByZXZlcnNlIHN5bXJlZiBsb29rdXBzLAorCSAqIGJ1dCBmaW5kaW5nIGFsbCBzeW1yZWZzIHBvaW50aW5nIHRvIGEgZ2l2ZW4gYnJhbmNoIHdvdWxkIGJlCisJICogcmF0aGVyIGNvc3RseSBmb3IgdGhpcyByYXJlIGV2ZW50ICh0aGUgZGlyZWN0IHVwZGF0ZSBvZiBhCisJICogYnJhbmNoKSB0byBiZSB3b3J0aCBpdC4gU28gbGV0J3MgY2hlYXQgYW5kIGNoZWNrIHdpdGggSEVBRAorCSAqIG9ubHksIHdoaWNoIHNob3VsZCBjb3ZlciA5OSUgb2YgYWxsIHVzYWdlIHNjZW5hcmlvcyAoZXZlbgorCSAqIDEwMCUgb2YgdGhlIGRlZmF1bHQgb25lcykuCisJICoKKwkgKiBTbyBpZiBIRUFEIGlzIGEgc3ltYm9saWMgcmVmZXJlbmNlLCB0aGVuIHJlY29yZCB0aGUgbmFtZSBvZgorCSAqIHRoZSByZWZlcmVuY2UgdGhhdCBpdCBwb2ludHMgdG8uIElmIHdlIHNlZSBhbiB1cGRhdGUgb2YKKwkgKiBoZWFkX3JlZiB3aXRoaW4gdGhlIHRyYW5zYWN0aW9uLCB0aGVuIHNwbGl0X2hlYWRfdXBkYXRlKCkKKwkgKiBhcnJhbmdlcyBmb3IgdGhlIHJlZmxvZyBvZiBIRUFEIHRvIGJlIHVwZGF0ZWQsIHRvby4KKwkgKi8KKwloZWFkX3JlZiA9IHJlc29sdmVfcmVmZHVwKCJIRUFEIiwgUkVTT0xWRV9SRUZfTk9fUkVDVVJTRSwKKwkJCQkgIGhlYWRfb2lkLmhhc2gsICZoZWFkX3R5cGUpOworCisJaWYgKGhlYWRfcmVmICYmICEoaGVhZF90eXBlICYgUkVGX0lTU1lNUkVGKSkgeworCQlmcmVlKGhlYWRfcmVmKTsKKwkJaGVhZF9yZWYgPSBOVUxMOworCX0KKworCS8qCiAJICogQWNxdWlyZSBhbGwgbG9ja3MsIHZlcmlmeSBvbGQgdmFsdWVzIGlmIHByb3ZpZGVkLCBjaGVjawogCSAqIHRoYXQgbmV3IHZhbHVlcyBhcmUgdmFsaWQsIGFuZCB3cml0ZSBuZXcgdmFsdWVzIHRvIHRoZQogCSAqIGxvY2tmaWxlcywgcmVhZHkgdG8gYmUgYWN0aXZhdGVkLiBPbmx5IGtlZXAgb25lIGxvY2tmaWxlCiAJICogb3BlbiBhdCBhIHRpbWUgdG8gYXZvaWQgcnVubmluZyBvdXQgb2YgZmlsZSBkZXNjcmlwdG9ycy4KIAkgKi8KLQlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7Ci0JCXN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGUgPSB1cGRhdGVzW2ldOworCWZvciAoaSA9IDA7IGkgPCB0cmFuc2FjdGlvbi0+bnI7IGkrKykgeworCQlzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlID0gdHJhbnNhY3Rpb24tPnVwZGF0ZXNbaV07CiAKLQkJaWYgKCh1cGRhdGUtPmZsYWdzICYgUkVGX0hBVkVfTkVXKSAmJgotCQkgICAgaXNfbnVsbF9zaGExKHVwZGF0ZS0+bmV3X3NoYTEpKQotCQkJdXBkYXRlLT5mbGFncyB8PSBSRUZfREVMRVRJTkc7Ci0JCXVwZGF0ZS0+bG9jayA9IGxvY2tfcmVmX3NoYTFfYmFzaWMoCi0JCQkJdXBkYXRlLT5yZWZuYW1lLAotCQkJCSgodXBkYXRlLT5mbGFncyAmIFJFRl9IQVZFX09MRCkgPwotCQkJCSB1cGRhdGUtPm9sZF9zaGExIDogTlVMTCksCi0JCQkJJmFmZmVjdGVkX3JlZm5hbWVzLCBOVUxMLAotCQkJCXVwZGF0ZS0+ZmxhZ3MsCi0JCQkJJnVwZGF0ZS0+dHlwZSwKLQkJCQllcnIpOwotCQlpZiAoIXVwZGF0ZS0+bG9jaykgewotCQkJY2hhciAqcmVhc29uOwotCi0JCQlyZXQgPSAoZXJybm8gPT0gRU5PVERJUikKLQkJCQk/IFRSQU5TQUNUSU9OX05BTUVfQ09ORkxJQ1QKLQkJCQk6IFRSQU5TQUNUSU9OX0dFTkVSSUNfRVJST1I7Ci0JCQlyZWFzb24gPSBzdHJidWZfZGV0YWNoKGVyciwgTlVMTCk7Ci0JCQlzdHJidWZfYWRkZihlcnIsICJjYW5ub3QgbG9jayByZWYgJyVzJzogJXMiLAotCQkJCSAgICB1cGRhdGUtPnJlZm5hbWUsIHJlYXNvbik7Ci0JCQlmcmVlKHJlYXNvbik7CisJCXJldCA9IGxvY2tfcmVmX2Zvcl91cGRhdGUocmVmcywgdXBkYXRlLCB0cmFuc2FjdGlvbiwKKwkJCQkJICBoZWFkX3JlZiwgJmFmZmVjdGVkX3JlZm5hbWVzLCBlcnIpOworCQlpZiAocmV0KQogCQkJZ290byBjbGVhbnVwOwotCQl9Ci0JCWlmICgodXBkYXRlLT5mbGFncyAmIFJFRl9IQVZFX05FVykgJiYKLQkJICAgICEodXBkYXRlLT5mbGFncyAmIFJFRl9ERUxFVElORykpIHsKLQkJCWludCBvdmVyd3JpdGluZ19zeW1yZWYgPSAoKHVwZGF0ZS0+dHlwZSAmIFJFRl9JU1NZTVJFRikgJiYKLQkJCQkJCSAgKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfTk9ERVJFRikpOwotCi0JCQlpZiAoIW92ZXJ3cml0aW5nX3N5bXJlZiAmJgotCQkJICAgICFoYXNoY21wKHVwZGF0ZS0+bG9jay0+b2xkX29pZC5oYXNoLCB1cGRhdGUtPm5ld19zaGExKSkgewotCQkJCS8qCi0JCQkJICogVGhlIHJlZmVyZW5jZSBhbHJlYWR5IGhhcyB0aGUgZGVzaXJlZAotCQkJCSAqIHZhbHVlLCBzbyB3ZSBkb24ndCBuZWVkIHRvIHdyaXRlIGl0LgotCQkJCSAqLwotCQkJfSBlbHNlIGlmICh3cml0ZV9yZWZfdG9fbG9ja2ZpbGUodXBkYXRlLT5sb2NrLAotCQkJCQkJCSB1cGRhdGUtPm5ld19zaGExLAotCQkJCQkJCSBlcnIpKSB7Ci0JCQkJY2hhciAqd3JpdGVfZXJyID0gc3RyYnVmX2RldGFjaChlcnIsIE5VTEwpOwotCi0JCQkJLyoKLQkJCQkgKiBUaGUgbG9jayB3YXMgZnJlZWQgdXBvbiBmYWlsdXJlIG9mCi0JCQkJICogd3JpdGVfcmVmX3RvX2xvY2tmaWxlKCk6Ci0JCQkJICovCi0JCQkJdXBkYXRlLT5sb2NrID0gTlVMTDsKLQkJCQlzdHJidWZfYWRkZihlcnIsCi0JCQkJCSAgICAiY2Fubm90IHVwZGF0ZSB0aGUgcmVmICclcyc6ICVzIiwKLQkJCQkJICAgIHVwZGF0ZS0+cmVmbmFtZSwgd3JpdGVfZXJyKTsKLQkJCQlmcmVlKHdyaXRlX2Vycik7Ci0JCQkJcmV0ID0gVFJBTlNBQ1RJT05fR0VORVJJQ19FUlJPUjsKLQkJCQlnb3RvIGNsZWFudXA7Ci0JCQl9IGVsc2UgewotCQkJCXVwZGF0ZS0+ZmxhZ3MgfD0gUkVGX05FRURTX0NPTU1JVDsKLQkJCX0KLQkJfQotCQlpZiAoISh1cGRhdGUtPmZsYWdzICYgUkVGX05FRURTX0NPTU1JVCkpIHsKLQkJCS8qCi0JCQkgKiBXZSBkaWRuJ3QgaGF2ZSB0byB3cml0ZSBhbnl0aGluZyB0byB0aGUgbG9ja2ZpbGUuCi0JCQkgKiBDbG9zZSBpdCB0byBmcmVlIHVwIHRoZSBmaWxlIGRlc2NyaXB0b3I6Ci0JCQkgKi8KLQkJCWlmIChjbG9zZV9yZWYodXBkYXRlLT5sb2NrKSkgewotCQkJCXN0cmJ1Zl9hZGRmKGVyciwgIkNvdWxkbid0IGNsb3NlICVzLmxvY2siLAotCQkJCQkgICAgdXBkYXRlLT5yZWZuYW1lKTsKLQkJCQlnb3RvIGNsZWFudXA7Ci0JCQl9Ci0JCX0KIAl9CiAKIAkvKiBQZXJmb3JtIHVwZGF0ZXMgZmlyc3Qgc28gbGl2ZSBjb21taXRzIHJlbWFpbiByZWZlcmVuY2VkICovCi0JZm9yIChpID0gMDsgaSA8IG47IGkrKykgewotCQlzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlID0gdXBkYXRlc1tpXTsKKwlmb3IgKGkgPSAwOyBpIDwgdHJhbnNhY3Rpb24tPm5yOyBpKyspIHsKKwkJc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZSA9IHRyYW5zYWN0aW9uLT51cGRhdGVzW2ldOworCQlzdHJ1Y3QgcmVmX2xvY2sgKmxvY2sgPSB1cGRhdGUtPmJhY2tlbmRfZGF0YTsKIAotCQlpZiAodXBkYXRlLT5mbGFncyAmIFJFRl9ORUVEU19DT01NSVQpIHsKLQkJCWlmIChjb21taXRfcmVmX3VwZGF0ZSh1cGRhdGUtPmxvY2ssCi0JCQkJCSAgICAgIHVwZGF0ZS0+bmV3X3NoYTEsIHVwZGF0ZS0+bXNnLAotCQkJCQkgICAgICB1cGRhdGUtPmZsYWdzLCBlcnIpKSB7Ci0JCQkJLyogZnJlZWQgYnkgY29tbWl0X3JlZl91cGRhdGUoKTogKi8KLQkJCQl1cGRhdGUtPmxvY2sgPSBOVUxMOworCQlpZiAodXBkYXRlLT5mbGFncyAmIFJFRl9ORUVEU19DT01NSVQgfHwKKwkJICAgIHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfTE9HX09OTFkpIHsKKwkJCWlmIChsb2dfcmVmX3dyaXRlKGxvY2stPnJlZl9uYW1lLCBsb2NrLT5vbGRfb2lkLmhhc2gsCisJCQkJCSAgdXBkYXRlLT5uZXdfc2hhMSwKKwkJCQkJICB1cGRhdGUtPm1zZywgdXBkYXRlLT5mbGFncywgZXJyKSkgeworCQkJCWNoYXIgKm9sZF9tc2cgPSBzdHJidWZfZGV0YWNoKGVyciwgTlVMTCk7CisKKwkJCQlzdHJidWZfYWRkZihlcnIsICJjYW5ub3QgdXBkYXRlIHRoZSByZWYgJyVzJzogJXMiLAorCQkJCQkgICAgbG9jay0+cmVmX25hbWUsIG9sZF9tc2cpOworCQkJCWZyZWUob2xkX21zZyk7CisJCQkJdW5sb2NrX3JlZihsb2NrKTsKKwkJCQl1cGRhdGUtPmJhY2tlbmRfZGF0YSA9IE5VTEw7CiAJCQkJcmV0ID0gVFJBTlNBQ1RJT05fR0VORVJJQ19FUlJPUjsKIAkJCQlnb3RvIGNsZWFudXA7Ci0JCQl9IGVsc2UgewotCQkJCS8qIGZyZWVkIGJ5IGNvbW1pdF9yZWZfdXBkYXRlKCk6ICovCi0JCQkJdXBkYXRlLT5sb2NrID0gTlVMTDsKKwkJCX0KKwkJfQorCQlpZiAodXBkYXRlLT5mbGFncyAmIFJFRl9ORUVEU19DT01NSVQpIHsKKwkJCWNsZWFyX2xvb3NlX3JlZl9jYWNoZShyZWZzKTsKKwkJCWlmIChjb21taXRfcmVmKGxvY2spKSB7CisJCQkJc3RyYnVmX2FkZGYoZXJyLCAiY291bGRuJ3Qgc2V0ICclcyciLCBsb2NrLT5yZWZfbmFtZSk7CisJCQkJdW5sb2NrX3JlZihsb2NrKTsKKwkJCQl1cGRhdGUtPmJhY2tlbmRfZGF0YSA9IE5VTEw7CisJCQkJcmV0ID0gVFJBTlNBQ1RJT05fR0VORVJJQ19FUlJPUjsKKwkJCQlnb3RvIGNsZWFudXA7CiAJCQl9CiAJCX0KIAl9Ci0KIAkvKiBQZXJmb3JtIGRlbGV0ZXMgbm93IHRoYXQgdXBkYXRlcyBhcmUgc2FmZWx5IGNvbXBsZXRlZCAqLwotCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKLQkJc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZSA9IHVwZGF0ZXNbaV07CisJZm9yIChpID0gMDsgaSA8IHRyYW5zYWN0aW9uLT5ucjsgaSsrKSB7CisJCXN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGUgPSB0cmFuc2FjdGlvbi0+dXBkYXRlc1tpXTsKKwkJc3RydWN0IHJlZl9sb2NrICpsb2NrID0gdXBkYXRlLT5iYWNrZW5kX2RhdGE7CiAKLQkJaWYgKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfREVMRVRJTkcpIHsKLQkJCWlmIChkZWxldGVfcmVmX2xvb3NlKHVwZGF0ZS0+bG9jaywgdXBkYXRlLT50eXBlLCBlcnIpKSB7CisJCWlmICh1cGRhdGUtPmZsYWdzICYgUkVGX0RFTEVUSU5HICYmCisJCSAgICAhKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfTE9HX09OTFkpKSB7CisJCQlpZiAoZGVsZXRlX3JlZl9sb29zZShsb2NrLCB1cGRhdGUtPnR5cGUsIGVycikpIHsKIAkJCQlyZXQgPSBUUkFOU0FDVElPTl9HRU5FUklDX0VSUk9SOwogCQkJCWdvdG8gY2xlYW51cDsKIAkJCX0KIAogCQkJaWYgKCEodXBkYXRlLT5mbGFncyAmIFJFRl9JU1BSVU5JTkcpKQogCQkJCXN0cmluZ19saXN0X2FwcGVuZCgmcmVmc190b19kZWxldGUsCi0JCQkJCQkgICB1cGRhdGUtPmxvY2stPnJlZl9uYW1lKTsKKwkJCQkJCSAgIGxvY2stPnJlZl9uYW1lKTsKIAkJfQogCX0KIAotCWlmIChyZXBhY2tfd2l0aG91dF9yZWZzKCZyZWZzX3RvX2RlbGV0ZSwgZXJyKSkgeworCWlmIChyZXBhY2tfd2l0aG91dF9yZWZzKHJlZnMsICZyZWZzX3RvX2RlbGV0ZSwgZXJyKSkgewogCQlyZXQgPSBUUkFOU0FDVElPTl9HRU5FUklDX0VSUk9SOwogCQlnb3RvIGNsZWFudXA7CiAJfQogCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0ocmVmX3RvX2RlbGV0ZSwgJnJlZnNfdG9fZGVsZXRlKQogCQl1bmxpbmtfb3Jfd2FybihnaXRfcGF0aCgibG9ncy8lcyIsIHJlZl90b19kZWxldGUtPnN0cmluZykpOwotCWNsZWFyX2xvb3NlX3JlZl9jYWNoZSgmcmVmX2NhY2hlKTsKKwljbGVhcl9sb29zZV9yZWZfY2FjaGUocmVmcyk7CiAKIGNsZWFudXA6CiAJdHJhbnNhY3Rpb24tPnN0YXRlID0gUkVGX1RSQU5TQUNUSU9OX0NMT1NFRDsKIAotCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspCi0JCWlmICh1cGRhdGVzW2ldLT5sb2NrKQotCQkJdW5sb2NrX3JlZih1cGRhdGVzW2ldLT5sb2NrKTsKKwlmb3IgKGkgPSAwOyBpIDwgdHJhbnNhY3Rpb24tPm5yOyBpKyspCisJCWlmICh0cmFuc2FjdGlvbi0+dXBkYXRlc1tpXS0+YmFja2VuZF9kYXRhKQorCQkJdW5sb2NrX3JlZih0cmFuc2FjdGlvbi0+dXBkYXRlc1tpXS0+YmFja2VuZF9kYXRhKTsKIAlzdHJpbmdfbGlzdF9jbGVhcigmcmVmc190b19kZWxldGUsIDApOworCWZyZWUoaGVhZF9yZWYpOwogCXN0cmluZ19saXN0X2NsZWFyKCZhZmZlY3RlZF9yZWZuYW1lcywgMCk7CisKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0zMjA5LDEyICszODUwLDEzIEBACiAJcmV0dXJuIHN0cmluZ19saXN0X2hhc19zdHJpbmcoYWZmZWN0ZWRfcmVmbmFtZXMsIHJlZm5hbWUpOwogfQogCi1pbnQgaW5pdGlhbF9yZWZfdHJhbnNhY3Rpb25fY29tbWl0KHN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uLAotCQkJCSAgIHN0cnVjdCBzdHJidWYgKmVycikKK3N0YXRpYyBpbnQgZmlsZXNfaW5pdGlhbF90cmFuc2FjdGlvbl9jb21taXQoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJCQkgICAgc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCisJCQkJCSAgICBzdHJ1Y3Qgc3RyYnVmICplcnIpCiB7CisJc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcyA9CisJCWZpbGVzX2Rvd25jYXN0KHJlZl9zdG9yZSwgMCwgImluaXRpYWxfcmVmX3RyYW5zYWN0aW9uX2NvbW1pdCIpOwogCWludCByZXQgPSAwLCBpOwotCWludCBuID0gdHJhbnNhY3Rpb24tPm5yOwotCXN0cnVjdCByZWZfdXBkYXRlICoqdXBkYXRlcyA9IHRyYW5zYWN0aW9uLT51cGRhdGVzOwogCXN0cnVjdCBzdHJpbmdfbGlzdCBhZmZlY3RlZF9yZWZuYW1lcyA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAKIAlhc3NlcnQoZXJyKTsKQEAgLTMyMjMsOCArMzg2NSw5IEBACiAJCWRpZSgiQlVHOiBjb21taXQgY2FsbGVkIGZvciB0cmFuc2FjdGlvbiB0aGF0IGlzIG5vdCBvcGVuIik7CiAKIAkvKiBGYWlsIGlmIGEgcmVmbmFtZSBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlIGluIHRoZSB0cmFuc2FjdGlvbjogKi8KLQlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQotCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmFmZmVjdGVkX3JlZm5hbWVzLCB1cGRhdGVzW2ldLT5yZWZuYW1lKTsKKwlmb3IgKGkgPSAwOyBpIDwgdHJhbnNhY3Rpb24tPm5yOyBpKyspCisJCXN0cmluZ19saXN0X2FwcGVuZCgmYWZmZWN0ZWRfcmVmbmFtZXMsCisJCQkJICAgdHJhbnNhY3Rpb24tPnVwZGF0ZXNbaV0tPnJlZm5hbWUpOwogCXN0cmluZ19saXN0X3NvcnQoJmFmZmVjdGVkX3JlZm5hbWVzKTsKIAlpZiAocmVmX3VwZGF0ZV9yZWplY3RfZHVwbGljYXRlcygmYWZmZWN0ZWRfcmVmbmFtZXMsIGVycikpIHsKIAkJcmV0ID0gVFJBTlNBQ1RJT05fR0VORVJJQ19FUlJPUjsKQEAgLTMyNDYsOCArMzg4OSw4IEBACiAJaWYgKGZvcl9lYWNoX3Jhd3JlZihyZWZfcHJlc2VudCwgJmFmZmVjdGVkX3JlZm5hbWVzKSkKIAkJZGllKCJCVUc6IGluaXRpYWwgcmVmIHRyYW5zYWN0aW9uIGNhbGxlZCB3aXRoIGV4aXN0aW5nIHJlZnMiKTsKIAotCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKLQkJc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZSA9IHVwZGF0ZXNbaV07CisJZm9yIChpID0gMDsgaSA8IHRyYW5zYWN0aW9uLT5ucjsgaSsrKSB7CisJCXN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGUgPSB0cmFuc2FjdGlvbi0+dXBkYXRlc1tpXTsKIAogCQlpZiAoKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfSEFWRV9PTEQpICYmCiAJCSAgICAhaXNfbnVsbF9zaGExKHVwZGF0ZS0+b2xkX3NoYTEpKQpAQCAtMzI2MCwyMiArMzkwMywyMiBAQAogCQl9CiAJfQogCi0JaWYgKGxvY2tfcGFja2VkX3JlZnMoMCkpIHsKKwlpZiAobG9ja19wYWNrZWRfcmVmcyhyZWZzLCAwKSkgewogCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gbG9jayBwYWNrZWQtcmVmcyBmaWxlOiAlcyIsCiAJCQkgICAgc3RyZXJyb3IoZXJybm8pKTsKIAkJcmV0ID0gVFJBTlNBQ1RJT05fR0VORVJJQ19FUlJPUjsKIAkJZ290byBjbGVhbnVwOwogCX0KIAotCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKLQkJc3RydWN0IHJlZl91cGRhdGUgKnVwZGF0ZSA9IHVwZGF0ZXNbaV07CisJZm9yIChpID0gMDsgaSA8IHRyYW5zYWN0aW9uLT5ucjsgaSsrKSB7CisJCXN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGUgPSB0cmFuc2FjdGlvbi0+dXBkYXRlc1tpXTsKIAogCQlpZiAoKHVwZGF0ZS0+ZmxhZ3MgJiBSRUZfSEFWRV9ORVcpICYmCiAJCSAgICAhaXNfbnVsbF9zaGExKHVwZGF0ZS0+bmV3X3NoYTEpKQotCQkJYWRkX3BhY2tlZF9yZWYodXBkYXRlLT5yZWZuYW1lLCB1cGRhdGUtPm5ld19zaGExKTsKKwkJCWFkZF9wYWNrZWRfcmVmKHJlZnMsIHVwZGF0ZS0+cmVmbmFtZSwgdXBkYXRlLT5uZXdfc2hhMSk7CiAJfQogCi0JaWYgKGNvbW1pdF9wYWNrZWRfcmVmcygpKSB7CisJaWYgKGNvbW1pdF9wYWNrZWRfcmVmcyhyZWZzKSkgewogCQlzdHJidWZfYWRkZihlcnIsICJ1bmFibGUgdG8gY29tbWl0IHBhY2tlZC1yZWZzIGZpbGU6ICVzIiwKIAkJCSAgICBzdHJlcnJvcihlcnJubykpOwogCQlyZXQgPSBUUkFOU0FDVElPTl9HRU5FUklDX0VSUk9SOwpAQCAtMzMyNSwxMyArMzk2OCwxNiBAQAogCXJldHVybiAwOwogfQogCi1pbnQgcmVmbG9nX2V4cGlyZShjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAotCQkgdW5zaWduZWQgaW50IGZsYWdzLAotCQkgcmVmbG9nX2V4cGlyeV9wcmVwYXJlX2ZuIHByZXBhcmVfZm4sCi0JCSByZWZsb2dfZXhwaXJ5X3Nob3VsZF9wcnVuZV9mbiBzaG91bGRfcHJ1bmVfZm4sCi0JCSByZWZsb2dfZXhwaXJ5X2NsZWFudXBfZm4gY2xlYW51cF9mbiwKLQkJIHZvaWQgKnBvbGljeV9jYl9kYXRhKQorc3RhdGljIGludCBmaWxlc19yZWZsb2dfZXhwaXJlKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCSAgICAgICBjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkJICAgICAgIHVuc2lnbmVkIGludCBmbGFncywKKwkJCSAgICAgICByZWZsb2dfZXhwaXJ5X3ByZXBhcmVfZm4gcHJlcGFyZV9mbiwKKwkJCSAgICAgICByZWZsb2dfZXhwaXJ5X3Nob3VsZF9wcnVuZV9mbiBzaG91bGRfcHJ1bmVfZm4sCisJCQkgICAgICAgcmVmbG9nX2V4cGlyeV9jbGVhbnVwX2ZuIGNsZWFudXBfZm4sCisJCQkgICAgICAgdm9pZCAqcG9saWN5X2NiX2RhdGEpCiB7CisJc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcyA9CisJCWZpbGVzX2Rvd25jYXN0KHJlZl9zdG9yZSwgMCwgInJlZmxvZ19leHBpcmUiKTsKIAlzdGF0aWMgc3RydWN0IGxvY2tfZmlsZSByZWZsb2dfbG9jazsKIAlzdHJ1Y3QgZXhwaXJlX3JlZmxvZ19jYiBjYjsKIAlzdHJ1Y3QgcmVmX2xvY2sgKmxvY2s7CkBAIC0zMzUwLDcgKzM5OTYsOCBAQAogCSAqIHJlZmVyZW5jZSBpdHNlbGYsIHBsdXMgd2UgbWlnaHQgbmVlZCB0byB1cGRhdGUgdGhlCiAJICogcmVmZXJlbmNlIGlmIC0tdXBkYXRlcmVmIHdhcyBzcGVjaWZpZWQ6CiAJICovCi0JbG9jayA9IGxvY2tfcmVmX3NoYTFfYmFzaWMocmVmbmFtZSwgc2hhMSwgTlVMTCwgTlVMTCwgUkVGX05PREVSRUYsCisJbG9jayA9IGxvY2tfcmVmX3NoYTFfYmFzaWMocmVmcywgcmVmbmFtZSwgc2hhMSwKKwkJCQkgICBOVUxMLCBOVUxMLCBSRUZfTk9ERVJFRiwKIAkJCQkgICAmdHlwZSwgJmVycik7CiAJaWYgKCFsb2NrKSB7CiAJCWVycm9yKCJjYW5ub3QgbG9jayByZWYgJyVzJzogJXMiLCByZWZuYW1lLCBlcnIuYnVmKTsKQEAgLTM0MzAsMyArNDA3Nyw0NyBAQAogCXVubG9ja19yZWYobG9jayk7CiAJcmV0dXJuIC0xOwogfQorCitzdGF0aWMgaW50IGZpbGVzX2luaXRfZGIoc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLCBzdHJ1Y3Qgc3RyYnVmICplcnIpCit7CisJLyogQ2hlY2sgdmFsaWRpdHkgKGJ1dCB3ZSBkb24ndCBuZWVkIHRoZSByZXN1bHQpOiAqLworCWZpbGVzX2Rvd25jYXN0KHJlZl9zdG9yZSwgMCwgImluaXRfZGIiKTsKKworCS8qCisJICogQ3JlYXRlIC5naXQvcmVmcy97aGVhZHMsdGFnc30KKwkgKi8KKwlzYWZlX2NyZWF0ZV9kaXIoZ2l0X3BhdGgoInJlZnMvaGVhZHMiKSwgMSk7CisJc2FmZV9jcmVhdGVfZGlyKGdpdF9wYXRoKCJyZWZzL3RhZ3MiKSwgMSk7CisJaWYgKGdldF9zaGFyZWRfcmVwb3NpdG9yeSgpKSB7CisJCWFkanVzdF9zaGFyZWRfcGVybShnaXRfcGF0aCgicmVmcy9oZWFkcyIpKTsKKwkJYWRqdXN0X3NoYXJlZF9wZXJtKGdpdF9wYXRoKCJyZWZzL3RhZ3MiKSk7CisJfQorCXJldHVybiAwOworfQorCitzdHJ1Y3QgcmVmX3N0b3JhZ2VfYmUgcmVmc19iZV9maWxlcyA9IHsKKwlOVUxMLAorCSJmaWxlcyIsCisJZmlsZXNfcmVmX3N0b3JlX2NyZWF0ZSwKKwlmaWxlc19pbml0X2RiLAorCWZpbGVzX3RyYW5zYWN0aW9uX2NvbW1pdCwKKwlmaWxlc19pbml0aWFsX3RyYW5zYWN0aW9uX2NvbW1pdCwKKworCWZpbGVzX3BhY2tfcmVmcywKKwlmaWxlc19wZWVsX3JlZiwKKwlmaWxlc19jcmVhdGVfc3ltcmVmLAorCWZpbGVzX2RlbGV0ZV9yZWZzLAorCWZpbGVzX3JlbmFtZV9yZWYsCisKKwlmaWxlc19yZWZfaXRlcmF0b3JfYmVnaW4sCisJZmlsZXNfcmVhZF9yYXdfcmVmLAorCWZpbGVzX3ZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZSwKKworCWZpbGVzX3JlZmxvZ19pdGVyYXRvcl9iZWdpbiwKKwlmaWxlc19mb3JfZWFjaF9yZWZsb2dfZW50LAorCWZpbGVzX2Zvcl9lYWNoX3JlZmxvZ19lbnRfcmV2ZXJzZSwKKwlmaWxlc19yZWZsb2dfZXhpc3RzLAorCWZpbGVzX2NyZWF0ZV9yZWZsb2csCisJZmlsZXNfZGVsZXRlX3JlZmxvZywKKwlmaWxlc19yZWZsb2dfZXhwaXJlCit9OwpkaWZmIC0tZ2l0IGEvcmVmcy9pdGVyYXRvci5jIGIvcmVmcy9pdGVyYXRvci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjZTFmMTkKLS0tIC9kZXYvbnVsbAorKysgYi9yZWZzL2l0ZXJhdG9yLmMKQEAgLTAsMCArMSwzODQgQEAKKy8qCisgKiBHZW5lcmljIHJlZmVyZW5jZSBpdGVyYXRvciBpbmZyYXN0cnVjdHVyZS4gU2VlIHJlZnMtaW50ZXJuYWwuaCBmb3IKKyAqIGRvY3VtZW50YXRpb24gYWJvdXQgdGhlIGRlc2lnbiBhbmQgdXNlIG9mIHJlZmVyZW5jZSBpdGVyYXRvcnMuCisgKi8KKworI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAicmVmcy5oIgorI2luY2x1ZGUgInJlZnMvcmVmcy1pbnRlcm5hbC5oIgorI2luY2x1ZGUgIml0ZXJhdG9yLmgiCisKK2ludCByZWZfaXRlcmF0b3JfYWR2YW5jZShzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IpCit7CisJcmV0dXJuIHJlZl9pdGVyYXRvci0+dnRhYmxlLT5hZHZhbmNlKHJlZl9pdGVyYXRvcik7Cit9CisKK2ludCByZWZfaXRlcmF0b3JfcGVlbChzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IsCisJCSAgICAgIHN0cnVjdCBvYmplY3RfaWQgKnBlZWxlZCkKK3sKKwlyZXR1cm4gcmVmX2l0ZXJhdG9yLT52dGFibGUtPnBlZWwocmVmX2l0ZXJhdG9yLCBwZWVsZWQpOworfQorCitpbnQgcmVmX2l0ZXJhdG9yX2Fib3J0KHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcikKK3sKKwlyZXR1cm4gcmVmX2l0ZXJhdG9yLT52dGFibGUtPmFib3J0KHJlZl9pdGVyYXRvcik7Cit9CisKK3ZvaWQgYmFzZV9yZWZfaXRlcmF0b3JfaW5pdChzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyLAorCQkJICAgIHN0cnVjdCByZWZfaXRlcmF0b3JfdnRhYmxlICp2dGFibGUpCit7CisJaXRlci0+dnRhYmxlID0gdnRhYmxlOworCWl0ZXItPnJlZm5hbWUgPSBOVUxMOworCWl0ZXItPm9pZCA9IE5VTEw7CisJaXRlci0+ZmxhZ3MgPSAwOworfQorCit2b2lkIGJhc2VfcmVmX2l0ZXJhdG9yX2ZyZWUoc3RydWN0IHJlZl9pdGVyYXRvciAqaXRlcikKK3sKKwkvKiBIZWxwIG1ha2UgdXNlLWFmdGVyLWZyZWUgYnVncyBmYWlsIHF1aWNrbHk6ICovCisJaXRlci0+dnRhYmxlID0gTlVMTDsKKwlmcmVlKGl0ZXIpOworfQorCitzdHJ1Y3QgZW1wdHlfcmVmX2l0ZXJhdG9yIHsKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yIGJhc2U7Cit9OworCitzdGF0aWMgaW50IGVtcHR5X3JlZl9pdGVyYXRvcl9hZHZhbmNlKHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcikKK3sKKwlyZXR1cm4gcmVmX2l0ZXJhdG9yX2Fib3J0KHJlZl9pdGVyYXRvcik7Cit9CisKK3N0YXRpYyBpbnQgZW1wdHlfcmVmX2l0ZXJhdG9yX3BlZWwoc3RydWN0IHJlZl9pdGVyYXRvciAqcmVmX2l0ZXJhdG9yLAorCQkJCSAgIHN0cnVjdCBvYmplY3RfaWQgKnBlZWxlZCkKK3sKKwlkaWUoIkJVRzogcGVlbCBjYWxsZWQgZm9yIGVtcHR5IGl0ZXJhdG9yIik7Cit9CisKK3N0YXRpYyBpbnQgZW1wdHlfcmVmX2l0ZXJhdG9yX2Fib3J0KHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcikKK3sKKwliYXNlX3JlZl9pdGVyYXRvcl9mcmVlKHJlZl9pdGVyYXRvcik7CisJcmV0dXJuIElURVJfRE9ORTsKK30KKworc3RhdGljIHN0cnVjdCByZWZfaXRlcmF0b3JfdnRhYmxlIGVtcHR5X3JlZl9pdGVyYXRvcl92dGFibGUgPSB7CisJZW1wdHlfcmVmX2l0ZXJhdG9yX2FkdmFuY2UsCisJZW1wdHlfcmVmX2l0ZXJhdG9yX3BlZWwsCisJZW1wdHlfcmVmX2l0ZXJhdG9yX2Fib3J0Cit9OworCitzdHJ1Y3QgcmVmX2l0ZXJhdG9yICplbXB0eV9yZWZfaXRlcmF0b3JfYmVnaW4odm9pZCkKK3sKKwlzdHJ1Y3QgZW1wdHlfcmVmX2l0ZXJhdG9yICppdGVyID0geGNhbGxvYygxLCBzaXplb2YoKml0ZXIpKTsKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IgPSAmaXRlci0+YmFzZTsKKworCWJhc2VfcmVmX2l0ZXJhdG9yX2luaXQocmVmX2l0ZXJhdG9yLCAmZW1wdHlfcmVmX2l0ZXJhdG9yX3Z0YWJsZSk7CisJcmV0dXJuIHJlZl9pdGVyYXRvcjsKK30KKworaW50IGlzX2VtcHR5X3JlZl9pdGVyYXRvcihzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IpCit7CisJcmV0dXJuIHJlZl9pdGVyYXRvci0+dnRhYmxlID09ICZlbXB0eV9yZWZfaXRlcmF0b3JfdnRhYmxlOworfQorCitzdHJ1Y3QgbWVyZ2VfcmVmX2l0ZXJhdG9yIHsKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yIGJhc2U7CisKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyMCwgKml0ZXIxOworCisJcmVmX2l0ZXJhdG9yX3NlbGVjdF9mbiAqc2VsZWN0OworCXZvaWQgKmNiX2RhdGE7CisKKwkvKgorCSAqIEEgcG9pbnRlciB0byBpdGVyMCBvciBpdGVyMSAod2hpY2hldmVyIGlzIHN1cHBseWluZyB0aGUKKwkgKiBjdXJyZW50IHZhbHVlKSwgb3IgTlVMTCBpZiBhZHZhbmNlIGhhcyBub3QgeWV0IGJlZW4gY2FsbGVkLgorCSAqLworCXN0cnVjdCByZWZfaXRlcmF0b3IgKipjdXJyZW50OworfTsKKworc3RhdGljIGludCBtZXJnZV9yZWZfaXRlcmF0b3JfYWR2YW5jZShzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IpCit7CisJc3RydWN0IG1lcmdlX3JlZl9pdGVyYXRvciAqaXRlciA9CisJCShzdHJ1Y3QgbWVyZ2VfcmVmX2l0ZXJhdG9yICopcmVmX2l0ZXJhdG9yOworCWludCBvazsKKworCWlmICghaXRlci0+Y3VycmVudCkgeworCQkvKiBJbml0aWFsaXplOiBhZHZhbmNlIGJvdGggaXRlcmF0b3JzIHRvIHRoZWlyIGZpcnN0IGVudHJpZXMgKi8KKwkJaWYgKChvayA9IHJlZl9pdGVyYXRvcl9hZHZhbmNlKGl0ZXItPml0ZXIwKSkgIT0gSVRFUl9PSykgeworCQkJaXRlci0+aXRlcjAgPSBOVUxMOworCQkJaWYgKG9rID09IElURVJfRVJST1IpCisJCQkJZ290byBlcnJvcjsKKwkJfQorCQlpZiAoKG9rID0gcmVmX2l0ZXJhdG9yX2FkdmFuY2UoaXRlci0+aXRlcjEpKSAhPSBJVEVSX09LKSB7CisJCQlpdGVyLT5pdGVyMSA9IE5VTEw7CisJCQlpZiAob2sgPT0gSVRFUl9FUlJPUikKKwkJCQlnb3RvIGVycm9yOworCQl9CisJfSBlbHNlIHsKKwkJLyoKKwkJICogQWR2YW5jZSB0aGUgY3VycmVudCBpdGVyYXRvciBwYXN0IHRoZSBqdXN0LXVzZWQKKwkJICogZW50cnk6CisJCSAqLworCQlpZiAoKG9rID0gcmVmX2l0ZXJhdG9yX2FkdmFuY2UoKml0ZXItPmN1cnJlbnQpKSAhPSBJVEVSX09LKSB7CisJCQkqaXRlci0+Y3VycmVudCA9IE5VTEw7CisJCQlpZiAob2sgPT0gSVRFUl9FUlJPUikKKwkJCQlnb3RvIGVycm9yOworCQl9CisJfQorCisJLyogTG9vcCB1bnRpbCB3ZSBmaW5kIGFuIGVudHJ5IHRoYXQgd2UgY2FuIHlpZWxkLiAqLworCXdoaWxlICgxKSB7CisJCXN0cnVjdCByZWZfaXRlcmF0b3IgKipzZWNvbmRhcnk7CisJCWVudW0gaXRlcmF0b3Jfc2VsZWN0aW9uIHNlbGVjdGlvbiA9CisJCQlpdGVyLT5zZWxlY3QoaXRlci0+aXRlcjAsIGl0ZXItPml0ZXIxLCBpdGVyLT5jYl9kYXRhKTsKKworCQlpZiAoc2VsZWN0aW9uID09IElURVJfU0VMRUNUX0RPTkUpIHsKKwkJCXJldHVybiByZWZfaXRlcmF0b3JfYWJvcnQocmVmX2l0ZXJhdG9yKTsKKwkJfSBlbHNlIGlmIChzZWxlY3Rpb24gPT0gSVRFUl9TRUxFQ1RfRVJST1IpIHsKKwkJCXJlZl9pdGVyYXRvcl9hYm9ydChyZWZfaXRlcmF0b3IpOworCQkJcmV0dXJuIElURVJfRVJST1I7CisJCX0KKworCQlpZiAoKHNlbGVjdGlvbiAmIElURVJfQ1VSUkVOVF9TRUxFQ1RJT05fTUFTSykgPT0gMCkgeworCQkJaXRlci0+Y3VycmVudCA9ICZpdGVyLT5pdGVyMDsKKwkJCXNlY29uZGFyeSA9ICZpdGVyLT5pdGVyMTsKKwkJfSBlbHNlIHsKKwkJCWl0ZXItPmN1cnJlbnQgPSAmaXRlci0+aXRlcjE7CisJCQlzZWNvbmRhcnkgPSAmaXRlci0+aXRlcjA7CisJCX0KKworCQlpZiAoc2VsZWN0aW9uICYgSVRFUl9TS0lQX1NFQ09OREFSWSkgeworCQkJaWYgKChvayA9IHJlZl9pdGVyYXRvcl9hZHZhbmNlKCpzZWNvbmRhcnkpKSAhPSBJVEVSX09LKSB7CisJCQkJKnNlY29uZGFyeSA9IE5VTEw7CisJCQkJaWYgKG9rID09IElURVJfRVJST1IpCisJCQkJCWdvdG8gZXJyb3I7CisJCQl9CisJCX0KKworCQlpZiAoc2VsZWN0aW9uICYgSVRFUl9ZSUVMRF9DVVJSRU5UKSB7CisJCQlpdGVyLT5iYXNlLnJlZm5hbWUgPSAoKml0ZXItPmN1cnJlbnQpLT5yZWZuYW1lOworCQkJaXRlci0+YmFzZS5vaWQgPSAoKml0ZXItPmN1cnJlbnQpLT5vaWQ7CisJCQlpdGVyLT5iYXNlLmZsYWdzID0gKCppdGVyLT5jdXJyZW50KS0+ZmxhZ3M7CisJCQlyZXR1cm4gSVRFUl9PSzsKKwkJfQorCX0KKworZXJyb3I6CisJcmVmX2l0ZXJhdG9yX2Fib3J0KHJlZl9pdGVyYXRvcik7CisJcmV0dXJuIElURVJfRVJST1I7Cit9CisKK3N0YXRpYyBpbnQgbWVyZ2VfcmVmX2l0ZXJhdG9yX3BlZWwoc3RydWN0IHJlZl9pdGVyYXRvciAqcmVmX2l0ZXJhdG9yLAorCQkJCSAgIHN0cnVjdCBvYmplY3RfaWQgKnBlZWxlZCkKK3sKKwlzdHJ1Y3QgbWVyZ2VfcmVmX2l0ZXJhdG9yICppdGVyID0KKwkJKHN0cnVjdCBtZXJnZV9yZWZfaXRlcmF0b3IgKilyZWZfaXRlcmF0b3I7CisKKwlpZiAoIWl0ZXItPmN1cnJlbnQpIHsKKwkJZGllKCJCVUc6IHBlZWwgY2FsbGVkIGJlZm9yZSBhZHZhbmNlIGZvciBtZXJnZSBpdGVyYXRvciIpOworCX0KKwlyZXR1cm4gcmVmX2l0ZXJhdG9yX3BlZWwoKml0ZXItPmN1cnJlbnQsIHBlZWxlZCk7Cit9CisKK3N0YXRpYyBpbnQgbWVyZ2VfcmVmX2l0ZXJhdG9yX2Fib3J0KHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcikKK3sKKwlzdHJ1Y3QgbWVyZ2VfcmVmX2l0ZXJhdG9yICppdGVyID0KKwkJKHN0cnVjdCBtZXJnZV9yZWZfaXRlcmF0b3IgKilyZWZfaXRlcmF0b3I7CisJaW50IG9rID0gSVRFUl9ET05FOworCisJaWYgKGl0ZXItPml0ZXIwKSB7CisJCWlmIChyZWZfaXRlcmF0b3JfYWJvcnQoaXRlci0+aXRlcjApICE9IElURVJfRE9ORSkKKwkJCW9rID0gSVRFUl9FUlJPUjsKKwl9CisJaWYgKGl0ZXItPml0ZXIxKSB7CisJCWlmIChyZWZfaXRlcmF0b3JfYWJvcnQoaXRlci0+aXRlcjEpICE9IElURVJfRE9ORSkKKwkJCW9rID0gSVRFUl9FUlJPUjsKKwl9CisJYmFzZV9yZWZfaXRlcmF0b3JfZnJlZShyZWZfaXRlcmF0b3IpOworCXJldHVybiBvazsKK30KKworc3RhdGljIHN0cnVjdCByZWZfaXRlcmF0b3JfdnRhYmxlIG1lcmdlX3JlZl9pdGVyYXRvcl92dGFibGUgPSB7CisJbWVyZ2VfcmVmX2l0ZXJhdG9yX2FkdmFuY2UsCisJbWVyZ2VfcmVmX2l0ZXJhdG9yX3BlZWwsCisJbWVyZ2VfcmVmX2l0ZXJhdG9yX2Fib3J0Cit9OworCitzdHJ1Y3QgcmVmX2l0ZXJhdG9yICptZXJnZV9yZWZfaXRlcmF0b3JfYmVnaW4oCisJCXN0cnVjdCByZWZfaXRlcmF0b3IgKml0ZXIwLCBzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyMSwKKwkJcmVmX2l0ZXJhdG9yX3NlbGVjdF9mbiAqc2VsZWN0LCB2b2lkICpjYl9kYXRhKQoreworCXN0cnVjdCBtZXJnZV9yZWZfaXRlcmF0b3IgKml0ZXIgPSB4Y2FsbG9jKDEsIHNpemVvZigqaXRlcikpOworCXN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvciA9ICZpdGVyLT5iYXNlOworCisJLyoKKwkgKiBXZSBjYW4ndCBkbyB0aGUgc2FtZSBraW5kIG9mIGlzX2VtcHR5X3JlZl9pdGVyYXRvcigpLXN0eWxlCisJICogb3B0aW1pemF0aW9uIGhlcmUgYXMgb3ZlcmxheV9yZWZfaXRlcmF0b3JfYmVnaW4oKSBkb2VzLAorCSAqIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB0aGUgc2VtYW50aWNzIG9mIHRoZSBzZWxlY3QgZnVuY3Rpb24uCisJICogSXQgbWlnaHQsIGZvciBleGFtcGxlLCBpbXBsZW1lbnQgImludGVyc2VjdCIgYnkgcGFzc2luZworCSAqIHJlZmVyZW5jZXMgdGhyb3VnaCBvbmx5IGlmIHRoZXkgZXhpc3QgaW4gYm90aCBpdGVyYXRvcnMuCisJICovCisKKwliYXNlX3JlZl9pdGVyYXRvcl9pbml0KHJlZl9pdGVyYXRvciwgJm1lcmdlX3JlZl9pdGVyYXRvcl92dGFibGUpOworCWl0ZXItPml0ZXIwID0gaXRlcjA7CisJaXRlci0+aXRlcjEgPSBpdGVyMTsKKwlpdGVyLT5zZWxlY3QgPSBzZWxlY3Q7CisJaXRlci0+Y2JfZGF0YSA9IGNiX2RhdGE7CisJaXRlci0+Y3VycmVudCA9IE5VTEw7CisJcmV0dXJuIHJlZl9pdGVyYXRvcjsKK30KKworLyoKKyAqIEEgcmVmX2l0ZXJhdG9yX3NlbGVjdF9mbiB0aGF0IG92ZXJsYXlzIHRoZSBpdGVtcyBmcm9tIGZyb250IG9uIHRvcAorICogb2YgdGhvc2UgZnJvbSBiYWNrIChsaWtlIGxvb3NlIHJlZnMgb3ZlciBwYWNrZWQgcmVmcykuIFNlZQorICogb3ZlcmxheV9yZWZfaXRlcmF0b3JfYmVnaW4oKS4KKyAqLworc3RhdGljIGVudW0gaXRlcmF0b3Jfc2VsZWN0aW9uIG92ZXJsYXlfaXRlcmF0b3Jfc2VsZWN0KAorCQlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpmcm9udCwgc3RydWN0IHJlZl9pdGVyYXRvciAqYmFjaywKKwkJdm9pZCAqY2JfZGF0YSkKK3sKKwlpbnQgY21wOworCisJaWYgKCFiYWNrKQorCQlyZXR1cm4gZnJvbnQgPyBJVEVSX1NFTEVDVF8wIDogSVRFUl9TRUxFQ1RfRE9ORTsKKwllbHNlIGlmICghZnJvbnQpCisJCXJldHVybiBJVEVSX1NFTEVDVF8xOworCisJY21wID0gc3RyY21wKGZyb250LT5yZWZuYW1lLCBiYWNrLT5yZWZuYW1lKTsKKworCWlmIChjbXAgPCAwKQorCQlyZXR1cm4gSVRFUl9TRUxFQ1RfMDsKKwllbHNlIGlmIChjbXAgPiAwKQorCQlyZXR1cm4gSVRFUl9TRUxFQ1RfMTsKKwllbHNlCisJCXJldHVybiBJVEVSX1NFTEVDVF8wX1NLSVBfMTsKK30KKworc3RydWN0IHJlZl9pdGVyYXRvciAqb3ZlcmxheV9yZWZfaXRlcmF0b3JfYmVnaW4oCisJCXN0cnVjdCByZWZfaXRlcmF0b3IgKmZyb250LCBzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpiYWNrKQoreworCS8qCisJICogT3B0aW1pemF0aW9uOiBpZiBvbmUgb2YgdGhlIGl0ZXJhdG9ycyBpcyBlbXB0eSwgcmV0dXJuIHRoZQorCSAqIG90aGVyIG9uZSByYXRoZXIgdGhhbiBpbmN1cnJpbmcgdGhlIG92ZXJoZWFkIG9mIHdyYXBwaW5nCisJICogdGhlbS4KKwkgKi8KKwlpZiAoaXNfZW1wdHlfcmVmX2l0ZXJhdG9yKGZyb250KSkgeworCQlyZWZfaXRlcmF0b3JfYWJvcnQoZnJvbnQpOworCQlyZXR1cm4gYmFjazsKKwl9IGVsc2UgaWYgKGlzX2VtcHR5X3JlZl9pdGVyYXRvcihiYWNrKSkgeworCQlyZWZfaXRlcmF0b3JfYWJvcnQoYmFjayk7CisJCXJldHVybiBmcm9udDsKKwl9CisKKwlyZXR1cm4gbWVyZ2VfcmVmX2l0ZXJhdG9yX2JlZ2luKGZyb250LCBiYWNrLAorCQkJCQlvdmVybGF5X2l0ZXJhdG9yX3NlbGVjdCwgTlVMTCk7Cit9CisKK3N0cnVjdCBwcmVmaXhfcmVmX2l0ZXJhdG9yIHsKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yIGJhc2U7CisKKwlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyMDsKKwljaGFyICpwcmVmaXg7CisJaW50IHRyaW07Cit9OworCitzdGF0aWMgaW50IHByZWZpeF9yZWZfaXRlcmF0b3JfYWR2YW5jZShzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IpCit7CisJc3RydWN0IHByZWZpeF9yZWZfaXRlcmF0b3IgKml0ZXIgPQorCQkoc3RydWN0IHByZWZpeF9yZWZfaXRlcmF0b3IgKilyZWZfaXRlcmF0b3I7CisJaW50IG9rOworCisJd2hpbGUgKChvayA9IHJlZl9pdGVyYXRvcl9hZHZhbmNlKGl0ZXItPml0ZXIwKSkgPT0gSVRFUl9PSykgeworCQlpZiAoIXN0YXJ0c193aXRoKGl0ZXItPml0ZXIwLT5yZWZuYW1lLCBpdGVyLT5wcmVmaXgpKQorCQkJY29udGludWU7CisKKwkJaXRlci0+YmFzZS5yZWZuYW1lID0gaXRlci0+aXRlcjAtPnJlZm5hbWUgKyBpdGVyLT50cmltOworCQlpdGVyLT5iYXNlLm9pZCA9IGl0ZXItPml0ZXIwLT5vaWQ7CisJCWl0ZXItPmJhc2UuZmxhZ3MgPSBpdGVyLT5pdGVyMC0+ZmxhZ3M7CisJCXJldHVybiBJVEVSX09LOworCX0KKworCWl0ZXItPml0ZXIwID0gTlVMTDsKKwlpZiAocmVmX2l0ZXJhdG9yX2Fib3J0KHJlZl9pdGVyYXRvcikgIT0gSVRFUl9ET05FKQorCQlyZXR1cm4gSVRFUl9FUlJPUjsKKwlyZXR1cm4gb2s7Cit9CisKK3N0YXRpYyBpbnQgcHJlZml4X3JlZl9pdGVyYXRvcl9wZWVsKHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvciwKKwkJCQkgICAgc3RydWN0IG9iamVjdF9pZCAqcGVlbGVkKQoreworCXN0cnVjdCBwcmVmaXhfcmVmX2l0ZXJhdG9yICppdGVyID0KKwkJKHN0cnVjdCBwcmVmaXhfcmVmX2l0ZXJhdG9yICopcmVmX2l0ZXJhdG9yOworCisJcmV0dXJuIHJlZl9pdGVyYXRvcl9wZWVsKGl0ZXItPml0ZXIwLCBwZWVsZWQpOworfQorCitzdGF0aWMgaW50IHByZWZpeF9yZWZfaXRlcmF0b3JfYWJvcnQoc3RydWN0IHJlZl9pdGVyYXRvciAqcmVmX2l0ZXJhdG9yKQoreworCXN0cnVjdCBwcmVmaXhfcmVmX2l0ZXJhdG9yICppdGVyID0KKwkJKHN0cnVjdCBwcmVmaXhfcmVmX2l0ZXJhdG9yICopcmVmX2l0ZXJhdG9yOworCWludCBvayA9IElURVJfRE9ORTsKKworCWlmIChpdGVyLT5pdGVyMCkKKwkJb2sgPSByZWZfaXRlcmF0b3JfYWJvcnQoaXRlci0+aXRlcjApOworCWZyZWUoaXRlci0+cHJlZml4KTsKKwliYXNlX3JlZl9pdGVyYXRvcl9mcmVlKHJlZl9pdGVyYXRvcik7CisJcmV0dXJuIG9rOworfQorCitzdGF0aWMgc3RydWN0IHJlZl9pdGVyYXRvcl92dGFibGUgcHJlZml4X3JlZl9pdGVyYXRvcl92dGFibGUgPSB7CisJcHJlZml4X3JlZl9pdGVyYXRvcl9hZHZhbmNlLAorCXByZWZpeF9yZWZfaXRlcmF0b3JfcGVlbCwKKwlwcmVmaXhfcmVmX2l0ZXJhdG9yX2Fib3J0Cit9OworCitzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpwcmVmaXhfcmVmX2l0ZXJhdG9yX2JlZ2luKHN0cnVjdCByZWZfaXRlcmF0b3IgKml0ZXIwLAorCQkJCQkgICAgICAgY29uc3QgY2hhciAqcHJlZml4LAorCQkJCQkgICAgICAgaW50IHRyaW0pCit7CisJc3RydWN0IHByZWZpeF9yZWZfaXRlcmF0b3IgKml0ZXI7CisJc3RydWN0IHJlZl9pdGVyYXRvciAqcmVmX2l0ZXJhdG9yOworCisJaWYgKCEqcHJlZml4ICYmICF0cmltKQorCQlyZXR1cm4gaXRlcjA7IC8qIG9wdGltaXphdGlvbjogbm8gbmVlZCB0byB3cmFwIGl0ZXJhdG9yICovCisKKwlpdGVyID0geGNhbGxvYygxLCBzaXplb2YoKml0ZXIpKTsKKwlyZWZfaXRlcmF0b3IgPSAmaXRlci0+YmFzZTsKKworCWJhc2VfcmVmX2l0ZXJhdG9yX2luaXQocmVmX2l0ZXJhdG9yLCAmcHJlZml4X3JlZl9pdGVyYXRvcl92dGFibGUpOworCisJaXRlci0+aXRlcjAgPSBpdGVyMDsKKwlpdGVyLT5wcmVmaXggPSB4c3RyZHVwKHByZWZpeCk7CisJaXRlci0+dHJpbSA9IHRyaW07CisKKwlyZXR1cm4gcmVmX2l0ZXJhdG9yOworfQorCitzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpjdXJyZW50X3JlZl9pdGVyID0gTlVMTDsKKworaW50IGRvX2Zvcl9lYWNoX3JlZl9pdGVyYXRvcihzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyLAorCQkJICAgICBlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKK3sKKwlpbnQgcmV0dmFsID0gMCwgb2s7CisJc3RydWN0IHJlZl9pdGVyYXRvciAqb2xkX3JlZl9pdGVyID0gY3VycmVudF9yZWZfaXRlcjsKKworCWN1cnJlbnRfcmVmX2l0ZXIgPSBpdGVyOworCXdoaWxlICgob2sgPSByZWZfaXRlcmF0b3JfYWR2YW5jZShpdGVyKSkgPT0gSVRFUl9PSykgeworCQlyZXR2YWwgPSBmbihpdGVyLT5yZWZuYW1lLCBpdGVyLT5vaWQsIGl0ZXItPmZsYWdzLCBjYl9kYXRhKTsKKwkJaWYgKHJldHZhbCkgeworCQkJLyoKKwkJCSAqIElmIHJlZl9pdGVyYXRvcl9hYm9ydCgpIHJldHVybnMgSVRFUl9FUlJPUiwKKwkJCSAqIHdlIGlnbm9yZSB0aGF0IGVycm9yIGluIGRlZmVyZW5jZSB0byB0aGUKKwkJCSAqIGNhbGxiYWNrIGZ1bmN0aW9uJ3MgcmV0dXJuIHZhbHVlLgorCQkJICovCisJCQlyZWZfaXRlcmF0b3JfYWJvcnQoaXRlcik7CisJCQlnb3RvIG91dDsKKwkJfQorCX0KKworb3V0OgorCWN1cnJlbnRfcmVmX2l0ZXIgPSBvbGRfcmVmX2l0ZXI7CisJaWYgKG9rID09IElURVJfRVJST1IpCisJCXJldHVybiAtMTsKKwlyZXR1cm4gcmV0dmFsOworfQpkaWZmIC0tZ2l0IGEvcmVmcy9yZWZzLWludGVybmFsLmggYi9yZWZzL3JlZnMtaW50ZXJuYWwuaAppbmRleCAzYTRmNjM0Li43MDhiMjYwIDEwMDY0NAotLS0gYS9yZWZzL3JlZnMtaW50ZXJuYWwuaAorKysgYi9yZWZzL3JlZnMtaW50ZXJuYWwuaApAQCAtMTUsNyArMTUsNyBAQAogCiAvKgogICogVXNlZCBhcyBhIGZsYWcgaW4gcmVmX3VwZGF0ZTo6ZmxhZ3Mgd2hlbiBhIGxvb3NlIHJlZiBpcyBiZWluZwotICogcHJ1bmVkLgorICogcHJ1bmVkLiBUaGlzIGZsYWcgbXVzdCBvbmx5IGJlIHVzZWQgd2hlbiBSRUZfTk9ERVJFRiBpcyBzZXQuCiAgKi8KICNkZWZpbmUgUkVGX0lTUFJVTklORwkweDA0CiAKQEAgLTQzLDYgKzQzLDE5IEBACiAgKi8KIAogLyoKKyAqIFVzZWQgYXMgYSBmbGFnIGluIHJlZl91cGRhdGU6OmZsYWdzIHdoZW4gd2Ugd2FudCB0byBsb2cgYSByZWYKKyAqIHVwZGF0ZSBidXQgbm90IGFjdHVhbGx5IHBlcmZvcm0gaXQuICBUaGlzIGlzIHVzZWQgd2hlbiBhIHN5bWJvbGljCisgKiByZWYgdXBkYXRlIGlzIHNwbGl0IHVwLgorICovCisjZGVmaW5lIFJFRl9MT0dfT05MWSAweDgwCisKKy8qCisgKiBJbnRlcm5hbCBmbGFnLCBtZWFuaW5nIHRoYXQgdGhlIGNvbnRhaW5pbmcgcmVmX3VwZGF0ZSB3YXMgdmlhIGFuCisgKiB1cGRhdGUgdG8gSEVBRC4KKyAqLworI2RlZmluZSBSRUZfVVBEQVRFX1ZJQV9IRUFEIDB4MTAwCisKKy8qCiAgKiBSZXR1cm4gdHJ1ZSBpZmYgcmVmbmFtZSBpcyBtaW5pbWFsbHkgc2FmZS4gIlNhZmUiIGhlcmUgbWVhbnMgdGhhdAogICogZGVsZXRpbmcgYSBsb29zZSByZWZlcmVuY2UgYnkgdGhpcyBuYW1lIHdpbGwgbm90IGRvIGFueSBkYW1hZ2UsIGZvcgogICogZXhhbXBsZSBieSBjYXVzaW5nIGEgZmlsZSB0aGF0IGlzIG5vdCBhIHJlZmVyZW5jZSB0byBiZSBkZWxldGVkLgpAQCAtMTA5LDggKzEyMiw4IEBACiAgKiBleHRyYXMgYW5kIHNraXAgbXVzdCBiZSBzb3J0ZWQuCiAgKi8KIGludCB2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGUoY29uc3QgY2hhciAqbmV3bmFtZSwKLQkJCSAgICAgc3RydWN0IHN0cmluZ19saXN0ICpleHRyYXMsCi0JCQkgICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqc2tpcCwKKwkJCSAgICAgY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpleHRyYXMsCisJCQkgICAgIGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqc2tpcCwKIAkJCSAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKTsKIAogLyoKQEAgLTEzMCwyNyArMTQzLDU5IEBACiAgKiBub3QgZXhpc3QgYmVmb3JlIHVwZGF0ZS4KICAqLwogc3RydWN0IHJlZl91cGRhdGUgeworCiAJLyoKIAkgKiBJZiAoZmxhZ3MgJiBSRUZfSEFWRV9ORVcpLCBzZXQgdGhlIHJlZmVyZW5jZSB0byB0aGlzIHZhbHVlOgogCSAqLwogCXVuc2lnbmVkIGNoYXIgbmV3X3NoYTFbMjBdOworCiAJLyoKIAkgKiBJZiAoZmxhZ3MgJiBSRUZfSEFWRV9PTEQpLCBjaGVjayB0aGF0IHRoZSByZWZlcmVuY2UKIAkgKiBwcmV2aW91c2x5IGhhZCB0aGlzIHZhbHVlOgogCSAqLwogCXVuc2lnbmVkIGNoYXIgb2xkX3NoYTFbMjBdOworCiAJLyoKIAkgKiBPbmUgb3IgbW9yZSBvZiBSRUZfSEFWRV9ORVcsIFJFRl9IQVZFX09MRCwgUkVGX05PREVSRUYsCi0JICogUkVGX0RFTEVUSU5HLCBhbmQgUkVGX0lTUFJVTklORzoKKwkgKiBSRUZfREVMRVRJTkcsIFJFRl9JU1BSVU5JTkcsIFJFRl9MT0dfT05MWSwgYW5kCisJICogUkVGX1VQREFURV9WSUFfSEVBRDoKIAkgKi8KIAl1bnNpZ25lZCBpbnQgZmxhZ3M7Ci0Jc3RydWN0IHJlZl9sb2NrICpsb2NrOwotCWludCB0eXBlOworCisJdm9pZCAqYmFja2VuZF9kYXRhOworCXVuc2lnbmVkIGludCB0eXBlOwogCWNoYXIgKm1zZzsKKworCS8qCisJICogSWYgdGhpcyByZWZfdXBkYXRlIHdhcyBzcGxpdCBvZmYgb2YgYSBzeW1yZWYgdXBkYXRlIHZpYQorCSAqIHNwbGl0X3N5bXJlZl91cGRhdGUoKSwgdGhlbiB0aGlzIG1lbWJlciBwb2ludHMgYXQgdGhhdAorCSAqIHVwZGF0ZS4gVGhpcyBpcyB1c2VkIGZvciB0d28gcHVycG9zZXM6CisJICogMS4gV2hlbiByZXBvcnRpbmcgZXJyb3JzLCB3ZSByZXBvcnQgdGhlIHJlZm5hbWUgdW5kZXIgd2hpY2gKKwkgKiAgICB0aGUgdXBkYXRlIHdhcyBvcmlnaW5hbGx5IHJlcXVlc3RlZC4KKwkgKiAyLiBXaGVuIHdlIHJlYWQgdGhlIG9sZCB2YWx1ZSBvZiB0aGlzIHJlZmVyZW5jZSwgd2UKKwkgKiAgICBwcm9wYWdhdGUgaXQgYmFjayB0byBpdHMgcGFyZW50IHVwZGF0ZSBmb3IgcmVjb3JkaW5nIGluCisJICogICAgdGhlIGxhdHRlcidzIHJlZmxvZy4KKwkgKi8KKwlzdHJ1Y3QgcmVmX3VwZGF0ZSAqcGFyZW50X3VwZGF0ZTsKKwogCWNvbnN0IGNoYXIgcmVmbmFtZVtGTEVYX0FSUkFZXTsKIH07CiAKIC8qCisgKiBBZGQgYSByZWZfdXBkYXRlIHdpdGggdGhlIHNwZWNpZmllZCBwcm9wZXJ0aWVzIHRvIHRyYW5zYWN0aW9uLCBhbmQKKyAqIHJldHVybiBhIHBvaW50ZXIgdG8gdGhlIG5ldyBvYmplY3QuIFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgdmVyaWZ5CisgKiB0aGF0IHJlZm5hbWUgaXMgd2VsbC1mb3JtZWQuIG5ld19zaGExIGFuZCBvbGRfc2hhMSBhcmUgb25seQorICogZGVyZWZlcmVuY2VkIGlmIHRoZSBSRUZfSEFWRV9ORVcgYW5kIFJFRl9IQVZFX09MRCBiaXRzLAorICogcmVzcGVjdGl2ZWx5LCBhcmUgc2V0IGluIGZsYWdzLgorICovCitzdHJ1Y3QgcmVmX3VwZGF0ZSAqcmVmX3RyYW5zYWN0aW9uX2FkZF91cGRhdGUoCisJCXN0cnVjdCByZWZfdHJhbnNhY3Rpb24gKnRyYW5zYWN0aW9uLAorCQljb25zdCBjaGFyICpyZWZuYW1lLCB1bnNpZ25lZCBpbnQgZmxhZ3MsCisJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm5ld19zaGExLAorCQljb25zdCB1bnNpZ25lZCBjaGFyICpvbGRfc2hhMSwKKwkJY29uc3QgY2hhciAqbXNnKTsKKworLyoKICAqIFRyYW5zYWN0aW9uIHN0YXRlcy4KICAqIE9QRU46ICAgVGhlIHRyYW5zYWN0aW9uIGlzIGluIGEgdmFsaWQgc3RhdGUgYW5kIGNhbiBhY2NlcHQgbmV3IHVwZGF0ZXMuCiAgKiAgICAgICAgIEFuIE9QRU4gdHJhbnNhY3Rpb24gY2FuIGJlIGNvbW1pdHRlZC4KQEAgLTE5NSw3ICsyNDAsMTcgQEAKIAkJCQljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmV4dHJhcywKIAkJCQljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnNraXApOwogCi1pbnQgcmVuYW1lX3JlZl9hdmFpbGFibGUoY29uc3QgY2hhciAqb2xkbmFtZSwgY29uc3QgY2hhciAqbmV3bmFtZSk7CisvKgorICogQ2hlY2sgd2hldGhlciBhbiBhdHRlbXB0IHRvIHJlbmFtZSBvbGRfcmVmbmFtZSB0byBuZXdfcmVmbmFtZSB3b3VsZAorICogY2F1c2UgYSBEL0YgY29uZmxpY3Qgd2l0aCBhbnkgZXhpc3RpbmcgcmVmZXJlbmNlIChvdGhlciB0aGFuCisgKiBwb3NzaWJseSBvbGRfcmVmbmFtZSkuIElmIHRoZXJlIHdvdWxkIGJlIGEgY29uZmxpY3QsIGVtaXQgYW4gZXJyb3IKKyAqIG1lc3NhZ2UgYW5kIHJldHVybiBmYWxzZTsgb3RoZXJ3aXNlLCByZXR1cm4gdHJ1ZS4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBpcyBub3Qgc2FmZSBhZ2FpbnN0IGFsbCByYWNlcyB3aXRoIG90aGVyCisgKiBwcm9jZXNzZXMgKHRob3VnaCByZW5hbWVfcmVmKCkgY2F0Y2hlcyBzb21lIHJhY2VzIHRoYXQgbWlnaHQgZ2V0IGJ5CisgKiB0aGlzIGNoZWNrKS4KKyAqLworaW50IHJlbmFtZV9yZWZfYXZhaWxhYmxlKGNvbnN0IGNoYXIgKm9sZF9yZWZuYW1lLCBjb25zdCBjaGFyICpuZXdfcmVmbmFtZSk7CiAKIC8qIFdlIGFsbG93ICJyZWN1cnNpdmUiIHN5bWJvbGljIHJlZnMuIE9ubHkgd2l0aGluIHJlYXNvbiwgdGhvdWdoICovCiAjZGVmaW5lIFNZTVJFRl9NQVhERVBUSCA1CkBAIC0yMDQsMTIgKzI1OSw0MzQgQEAKICNkZWZpbmUgRE9fRk9SX0VBQ0hfSU5DTFVERV9CUk9LRU4gMHgwMQogCiAvKgotICogVGhlIGNvbW1vbiBiYWNrZW5kIGZvciB0aGUgZm9yX2VhY2hfKnJlZiogZnVuY3Rpb25zCisgKiBSZWZlcmVuY2UgaXRlcmF0b3JzCisgKgorICogQSByZWZlcmVuY2UgaXRlcmF0b3IgZW5jYXBzdWxhdGVzIHRoZSBzdGF0ZSBvZiBhbiBpbi1wcm9ncmVzcworICogaXRlcmF0aW9uIG92ZXIgcmVmZXJlbmNlcy4gQ3JlYXRlIGFuIGluc3RhbmNlIG9mIGBzdHJ1Y3QKKyAqIHJlZl9pdGVyYXRvcmAgdmlhIG9uZSBvZiB0aGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlLgorICoKKyAqIEEgZnJlc2hseS1jcmVhdGVkIHJlZl9pdGVyYXRvciBkb2Vzbid0IHlldCBwb2ludCBhdCBhIHJlZmVyZW5jZS4gVG8KKyAqIGFkdmFuY2UgdGhlIGl0ZXJhdG9yLCBjYWxsIHJlZl9pdGVyYXRvcl9hZHZhbmNlKCkuIElmIHN1Y2Nlc3NmdWwsCisgKiB0aGlzIHNldHMgdGhlIGl0ZXJhdG9yJ3MgcmVmbmFtZSwgb2lkLCBhbmQgZmxhZ3MgZmllbGRzIHRvIGRlc2NyaWJlCisgKiB0aGUgbmV4dCByZWZlcmVuY2UgYW5kIHJldHVybnMgSVRFUl9PSy4gVGhlIGRhdGEgcG9pbnRlZCBhdCBieQorICogcmVmbmFtZSBhbmQgb2lkIGJlbG9uZyB0byB0aGUgaXRlcmF0b3I7IGlmIHlvdSB3YW50IHRvIHJldGFpbiB0aGVtCisgKiBhZnRlciBjYWxsaW5nIHJlZl9pdGVyYXRvcl9hZHZhbmNlKCkgYWdhaW4gb3IgY2FsbGluZworICogcmVmX2l0ZXJhdG9yX2Fib3J0KCksIHlvdSBtdXN0IG1ha2UgYSBjb3B5LiBXaGVuIHRoZSBpdGVyYXRpb24gaGFzCisgKiBiZWVuIGV4aGF1c3RlZCwgcmVmX2l0ZXJhdG9yX2FkdmFuY2UoKSByZWxlYXNlcyBhbnkgcmVzb3VyY2VzCisgKiBhc3NvY2F0ZWQgd2l0aCB0aGUgaXRlcmF0aW9uLCBmcmVlcyB0aGUgcmVmX2l0ZXJhdG9yIG9iamVjdCwgYW5kCisgKiByZXR1cm5zIElURVJfRE9ORS4gSWYgeW91IHdhbnQgdG8gYWJvcnQgdGhlIGl0ZXJhdGlvbiBlYXJseSwgY2FsbAorICogcmVmX2l0ZXJhdG9yX2Fib3J0KCksIHdoaWNoIGFsc28gZnJlZXMgdGhlIHJlZl9pdGVyYXRvciBvYmplY3QgYW5kCisgKiBhbnkgYXNzb2NpYXRlZCByZXNvdXJjZXMuIElmIHRoZXJlIHdhcyBhbiBpbnRlcm5hbCBlcnJvciBhZHZhbmNpbmcKKyAqIHRvIHRoZSBuZXh0IGVudHJ5LCByZWZfaXRlcmF0b3JfYWR2YW5jZSgpIGFib3J0cyB0aGUgaXRlcmF0aW9uLAorICogZnJlZXMgdGhlIHJlZl9pdGVyYXRvciwgYW5kIHJldHVybnMgSVRFUl9FUlJPUi4KKyAqCisgKiBUaGUgcmVmZXJlbmNlIGN1cnJlbnRseSBiZWluZyBsb29rZWQgYXQgY2FuIGJlIHBlZWxlZCBieSBjYWxsaW5nCisgKiByZWZfaXRlcmF0b3JfcGVlbCgpLiBUaGlzIGZ1bmN0aW9uIGlzIG9mdGVuIGZhc3RlciB0aGFuIHBlZWxfcmVmKCksCisgKiBzbyBpdCBzaG91bGQgYmUgcHJlZmVycmVkIHdoZW4gaXRlcmF0aW5nIG92ZXIgcmVmZXJlbmNlcy4KKyAqCisgKiBQdXR0aW5nIGl0IGFsbCB0b2dldGhlciwgYSB0eXBpY2FsIGl0ZXJhdGlvbiBsb29rcyBsaWtlIHRoaXM6CisgKgorICogICAgIGludCBvazsKKyAqICAgICBzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyID0gLi4uOworICoKKyAqICAgICB3aGlsZSAoKG9rID0gcmVmX2l0ZXJhdG9yX2FkdmFuY2UoaXRlcikpID09IElURVJfT0spIHsKKyAqICAgICAgICAgICAgIGlmICh3YW50X3RvX3N0b3BfaXRlcmF0aW9uKCkpIHsKKyAqICAgICAgICAgICAgICAgICAgICAgb2sgPSByZWZfaXRlcmF0b3JfYWJvcnQoaXRlcik7CisgKiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICogICAgICAgICAgICAgfQorICoKKyAqICAgICAgICAgICAgIC8vIEFjY2VzcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCByZWZlcmVuY2U6CisgKiAgICAgICAgICAgICBpZiAoIShpdGVyLT5mbGFncyAmIFJFRl9JU1NZTVJFRikpCisgKiAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiJXMgaXMgJXNcbiIsIGl0ZXItPnJlZm5hbWUsIG9pZF90b19oZXgoJml0ZXItPm9pZCkpOworICoKKyAqICAgICAgICAgICAgIC8vIElmIHlvdSBuZWVkIHRvIHBlZWwgdGhlIHJlZmVyZW5jZToKKyAqICAgICAgICAgICAgIHJlZl9pdGVyYXRvcl9wZWVsKGl0ZXIsICZvaWQpOworICogICAgIH0KKyAqCisgKiAgICAgaWYgKG9rICE9IElURVJfRE9ORSkKKyAqICAgICAgICAgICAgIGhhbmRsZV9lcnJvcigpOwogICovCi1pbnQgZG9fZm9yX2VhY2hfcmVmKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSwgY29uc3QgY2hhciAqYmFzZSwKLQkJICAgIGVhY2hfcmVmX2ZuIGZuLCBpbnQgdHJpbSwgaW50IGZsYWdzLCB2b2lkICpjYl9kYXRhKTsKK3N0cnVjdCByZWZfaXRlcmF0b3IgeworCXN0cnVjdCByZWZfaXRlcmF0b3JfdnRhYmxlICp2dGFibGU7CisJY29uc3QgY2hhciAqcmVmbmFtZTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQ7CisJdW5zaWduZWQgaW50IGZsYWdzOworfTsKIAotaW50IHJlYWRfcmF3X3JlZihjb25zdCBjaGFyICpyZWZuYW1lLCB1bnNpZ25lZCBjaGFyICpzaGExLAotCQkgc3RydWN0IHN0cmJ1ZiAqc3ltcmVmLCB1bnNpZ25lZCBpbnQgKmZsYWdzKTsKKy8qCisgKiBBZHZhbmNlIHRoZSBpdGVyYXRvciB0byB0aGUgZmlyc3Qgb3IgbmV4dCBpdGVtIGFuZCByZXR1cm4gSVRFUl9PSy4KKyAqIElmIHRoZSBpdGVyYXRpb24gaXMgZXhoYXVzdGVkLCBmcmVlIHRoZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoCisgKiB0aGUgcmVmX2l0ZXJhdG9yIGFuZCByZXR1cm4gSVRFUl9ET05FLiBPbiBlcnJvcnMsIGZyZWUgdGhlIGl0ZXJhdG9yCisgKiByZXNvdXJjZXMgYW5kIHJldHVybiBJVEVSX0VSUk9SLiBJdCBpcyBhIGJ1ZyB0byB1c2UgcmVmX2l0ZXJhdG9yIG9yCisgKiBjYWxsIHRoaXMgZnVuY3Rpb24gYWdhaW4gYWZ0ZXIgaXQgaGFzIHJldHVybmVkIElURVJfRE9ORSBvcgorICogSVRFUl9FUlJPUi4KKyAqLworaW50IHJlZl9pdGVyYXRvcl9hZHZhbmNlKHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcik7CisKKy8qCisgKiBJZiBwb3NzaWJsZSwgcGVlbCB0aGUgcmVmZXJlbmNlIGN1cnJlbnRseSBiZWluZyB2aWV3ZWQgYnkgdGhlCisgKiBpdGVyYXRvci4gUmV0dXJuIDAgb24gc3VjY2Vzcy4KKyAqLworaW50IHJlZl9pdGVyYXRvcl9wZWVsKHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvciwKKwkJICAgICAgc3RydWN0IG9iamVjdF9pZCAqcGVlbGVkKTsKKworLyoKKyAqIEVuZCB0aGUgaXRlcmF0aW9uIGJlZm9yZSBpdCBoYXMgYmVlbiBleGhhdXN0ZWQsIGZyZWVpbmcgdGhlCisgKiByZWZlcmVuY2UgaXRlcmF0b3IgYW5kIGFueSBhc3NvY2lhdGVkIHJlc291cmNlcyBhbmQgcmV0dXJuaW5nCisgKiBJVEVSX0RPTkUuIElmIHRoZSBhYm9ydCBpdHNlbGYgZmFpbGVkLCByZXR1cm4gSVRFUl9FUlJPUi4KKyAqLworaW50IHJlZl9pdGVyYXRvcl9hYm9ydChzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IpOworCisvKgorICogQW4gaXRlcmF0b3Igb3ZlciBub3RoaW5nIChpdHMgZmlyc3QgcmVmX2l0ZXJhdG9yX2FkdmFuY2UoKSBjYWxsCisgKiByZXR1cm5zIElURVJfRE9ORSkuCisgKi8KK3N0cnVjdCByZWZfaXRlcmF0b3IgKmVtcHR5X3JlZl9pdGVyYXRvcl9iZWdpbih2b2lkKTsKKworLyoKKyAqIFJldHVybiB0cnVlIGlmZiByZWZfaXRlcmF0b3IgaXMgYW4gZW1wdHlfcmVmX2l0ZXJhdG9yLgorICovCitpbnQgaXNfZW1wdHlfcmVmX2l0ZXJhdG9yKHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcik7CisKKy8qCisgKiBBIGNhbGxiYWNrIGZ1bmN0aW9uIHVzZWQgdG8gaW5zdHJ1Y3QgbWVyZ2VfcmVmX2l0ZXJhdG9yIGhvdyB0bworICogaW50ZXJsZWF2ZSB0aGUgZW50cmllcyBmcm9tIGl0ZXIwIGFuZCBpdGVyMS4gVGhlIGZ1bmN0aW9uIHNob3VsZAorICogcmV0dXJuIG9uZSBvZiB0aGUgY29uc3RhbnRzIGRlZmluZWQgaW4gZW51bSBpdGVyYXRvcl9zZWxlY3Rpb24uIEl0CisgKiBtdXN0IG5vdCBhZHZhbmNlIGVpdGhlciBvZiB0aGUgaXRlcmF0b3JzIGl0c2VsZi4KKyAqCisgKiBUaGUgZnVuY3Rpb24gbXVzdCBiZSBwcmVwYXJlZCB0byBoYW5kbGUgdGhlIGNhc2UgdGhhdCBpdGVyMCBhbmQvb3IKKyAqIGl0ZXIxIGlzIE5VTEwsIHdoaWNoIGluZGljYXRlcyB0aGF0IHRoZSBjb3JyZXNwb25kaW5nIHN1Yi1pdGVyYXRvcgorICogaGFzIGJlZW4gZXhoYXVzdGVkLiBJdHMgcmV0dXJuIHZhbHVlIG11c3QgYmUgY29uc2lzdGVudCB3aXRoIHRoZQorICogY3VycmVudCBzdGF0ZXMgb2YgdGhlIGl0ZXJhdG9yczsgZS5nLiwgaXQgbXVzdCBub3QgcmV0dXJuCisgKiBJVEVSX1NLSVBfMSBpZiBpdGVyMSBoYXMgYWxyZWFkeSBiZWVuIGV4aGF1c3RlZC4KKyAqLwordHlwZWRlZiBlbnVtIGl0ZXJhdG9yX3NlbGVjdGlvbiByZWZfaXRlcmF0b3Jfc2VsZWN0X2ZuKAorCQlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyMCwgc3RydWN0IHJlZl9pdGVyYXRvciAqaXRlcjEsCisJCXZvaWQgKmNiX2RhdGEpOworCisvKgorICogSXRlcmF0ZSBvdmVyIHRoZSBlbnRyaWVzIGZyb20gaXRlcjAgYW5kIGl0ZXIxLCB3aXRoIHRoZSB2YWx1ZXMKKyAqIGludGVybGVhdmVkIGFzIGRpcmVjdGVkIGJ5IHRoZSBzZWxlY3QgZnVuY3Rpb24uIFRoZSBpdGVyYXRvciB0YWtlcworICogb3duZXJzaGlwIG9mIGl0ZXIwIGFuZCBpdGVyMSBhbmQgZnJlZXMgdGhlbSB3aGVuIHRoZSBpdGVyYXRpb24gaXMKKyAqIG92ZXIuCisgKi8KK3N0cnVjdCByZWZfaXRlcmF0b3IgKm1lcmdlX3JlZl9pdGVyYXRvcl9iZWdpbigKKwkJc3RydWN0IHJlZl9pdGVyYXRvciAqaXRlcjAsIHN0cnVjdCByZWZfaXRlcmF0b3IgKml0ZXIxLAorCQlyZWZfaXRlcmF0b3Jfc2VsZWN0X2ZuICpzZWxlY3QsIHZvaWQgKmNiX2RhdGEpOworCisvKgorICogQW4gaXRlcmF0b3IgY29uc2lzdGluZyBvZiB0aGUgdW5pb24gb2YgdGhlIGVudHJpZXMgZnJvbSBmcm9udCBhbmQKKyAqIGJhY2suIElmIHRoZXJlIGFyZSBlbnRyaWVzIGNvbW1vbiB0byB0aGUgdHdvIHN1Yi1pdGVyYXRvcnMsIHVzZSB0aGUKKyAqIG9uZSBmcm9tIGZyb250LiBFYWNoIGl0ZXJhdG9yIG11c3QgaXRlcmF0ZSBvdmVyIGl0cyBlbnRyaWVzIGluCisgKiBzdHJjbXAoKSBvcmRlciBieSByZWZuYW1lIGZvciB0aGlzIHRvIHdvcmsuCisgKgorICogVGhlIG5ldyBpdGVyYXRvciB0YWtlcyBvd25lcnNoaXAgb2YgaXRzIGFyZ3VtZW50cyBhbmQgZnJlZXMgdGhlbQorICogd2hlbiB0aGUgaXRlcmF0aW9uIGlzIG92ZXIuIEFzIGEgY29udmVuaWVuY2UgdG8gY2FsbGVycywgaWYgZnJvbnQKKyAqIG9yIGJhY2sgaXMgYW4gZW1wdHlfcmVmX2l0ZXJhdG9yLCB0aGVuIGFib3J0IHRoYXQgb25lIGltbWVkaWF0ZWx5CisgKiBhbmQgcmV0dXJuIHRoZSBvdGhlciBpdGVyYXRvciBkaXJlY3RseSwgd2l0aG91dCB3cmFwcGluZyBpdC4KKyAqLworc3RydWN0IHJlZl9pdGVyYXRvciAqb3ZlcmxheV9yZWZfaXRlcmF0b3JfYmVnaW4oCisJCXN0cnVjdCByZWZfaXRlcmF0b3IgKmZyb250LCBzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpiYWNrKTsKKworLyoKKyAqIFdyYXAgaXRlcjAsIG9ubHkgbGV0dGluZyB0aHJvdWdoIHRoZSByZWZlcmVuY2VzIHdob3NlIG5hbWVzIHN0YXJ0CisgKiB3aXRoIHByZWZpeC4gSWYgdHJpbSBpcyBzZXQsIHNldCBpdGVyLT5yZWZuYW1lIHRvIHRoZSBuYW1lIG9mIHRoZQorICogcmVmZXJlbmNlIHdpdGggdGhhdCBtYW55IGNoYXJhY3RlcnMgdHJpbW1lZCBvZmYgdGhlIGZyb250OworICogb3RoZXJ3aXNlIHNldCBpdCB0byB0aGUgZnVsbCByZWZuYW1lLiBUaGUgbmV3IGl0ZXJhdG9yIHRha2VzIG92ZXIKKyAqIG93bmVyc2hpcCBvZiBpdGVyMCBhbmQgZnJlZXMgaXQgd2hlbiBpdGVyYXRpb24gaXMgb3Zlci4gSXQgbWFrZXMKKyAqIGl0cyBvd24gY29weSBvZiBwcmVmaXguCisgKgorICogQXMgYW4gY29udmVuaWVuY2UgdG8gY2FsbGVycywgaWYgcHJlZml4IGlzIHRoZSBlbXB0eSBzdHJpbmcgYW5kCisgKiB0cmltIGlzIHplcm8sIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBpdGVyMCBkaXJlY3RseSwgd2l0aG91dAorICogd3JhcHBpbmcgaXQuCisgKi8KK3N0cnVjdCByZWZfaXRlcmF0b3IgKnByZWZpeF9yZWZfaXRlcmF0b3JfYmVnaW4oc3RydWN0IHJlZl9pdGVyYXRvciAqaXRlcjAsCisJCQkJCSAgICAgICBjb25zdCBjaGFyICpwcmVmaXgsCisJCQkJCSAgICAgICBpbnQgdHJpbSk7CisKKy8qIEludGVybmFsIGltcGxlbWVudGF0aW9uIG9mIHJlZmVyZW5jZSBpdGVyYXRpb246ICovCisKKy8qCisgKiBCYXNlIGNsYXNzIGNvbnN0cnVjdG9yIGZvciByZWZfaXRlcmF0b3JzLiBJbml0aWFsaXplIHRoZQorICogcmVmX2l0ZXJhdG9yIHBhcnQgb2YgaXRlciwgc2V0dGluZyBpdHMgdnRhYmxlIHBvaW50ZXIgYXMgc3BlY2lmaWVkLgorICogVGhpcyBpcyBtZWFudCB0byBiZSBjYWxsZWQgb25seSBieSB0aGUgaW5pdGlhbGl6ZXJzIG9mIGRlcml2ZWQKKyAqIGNsYXNzZXMuCisgKi8KK3ZvaWQgYmFzZV9yZWZfaXRlcmF0b3JfaW5pdChzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyLAorCQkJICAgIHN0cnVjdCByZWZfaXRlcmF0b3JfdnRhYmxlICp2dGFibGUpOworCisvKgorICogQmFzZSBjbGFzcyBkZXN0cnVjdG9yIGZvciByZWZfaXRlcmF0b3JzLiBEZXN0cm95IHRoZSByZWZfaXRlcmF0b3IKKyAqIHBhcnQgb2YgaXRlciBhbmQgc2hhbGxvdy1mcmVlIHRoZSBvYmplY3QuIFRoaXMgaXMgbWVhbnQgdG8gYmUKKyAqIGNhbGxlZCBvbmx5IGJ5IHRoZSBkZXN0cnVjdG9ycyBvZiBkZXJpdmVkIGNsYXNzZXMuCisgKi8KK3ZvaWQgYmFzZV9yZWZfaXRlcmF0b3JfZnJlZShzdHJ1Y3QgcmVmX2l0ZXJhdG9yICppdGVyKTsKKworLyogVmlydHVhbCBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgZm9yIHJlZl9pdGVyYXRvcnM6ICovCisKK3R5cGVkZWYgaW50IHJlZl9pdGVyYXRvcl9hZHZhbmNlX2ZuKHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcik7CisKK3R5cGVkZWYgaW50IHJlZl9pdGVyYXRvcl9wZWVsX2ZuKHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvciwKKwkJCQkgc3RydWN0IG9iamVjdF9pZCAqcGVlbGVkKTsKKworLyoKKyAqIEltcGxlbWVudGF0aW9ucyBvZiB0aGlzIGZ1bmN0aW9uIHNob3VsZCBmcmVlIGFueSByZXNvdXJjZXMgc3BlY2lmaWMKKyAqIHRvIHRoZSBkZXJpdmVkIGNsYXNzLCB0aGVuIGNhbGwgYmFzZV9yZWZfaXRlcmF0b3JfZnJlZSgpIHRvIGNsZWFuCisgKiB1cCBhbmQgZnJlZSB0aGUgcmVmX2l0ZXJhdG9yIG9iamVjdC4KKyAqLwordHlwZWRlZiBpbnQgcmVmX2l0ZXJhdG9yX2Fib3J0X2ZuKHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcik7CisKK3N0cnVjdCByZWZfaXRlcmF0b3JfdnRhYmxlIHsKKwlyZWZfaXRlcmF0b3JfYWR2YW5jZV9mbiAqYWR2YW5jZTsKKwlyZWZfaXRlcmF0b3JfcGVlbF9mbiAqcGVlbDsKKwlyZWZfaXRlcmF0b3JfYWJvcnRfZm4gKmFib3J0OworfTsKKworLyoKKyAqIGN1cnJlbnRfcmVmX2l0ZXIgaXMgYSBwZXJmb3JtYW5jZSBoYWNrOiB3aGVuIGl0ZXJhdGluZyBvdmVyCisgKiByZWZlcmVuY2VzIHVzaW5nIHRoZSBmb3JfZWFjaF9yZWYqKCkgZnVuY3Rpb25zLCBjdXJyZW50X3JlZl9pdGVyIGlzCisgKiBzZXQgdG8gdGhlIHJlZmVyZW5jZSBpdGVyYXRvciBiZWZvcmUgY2FsbGluZyB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uCisgKiBJZiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gY2FsbHMgcGVlbF9yZWYoKSwgdGhlbiBwZWVsX3JlZigpIGZpcnN0CisgKiBjaGVja3Mgd2hldGhlciB0aGUgcmVmZXJlbmNlIHRvIGJlIHBlZWxlZCBpcyB0aGUgb25lIHJlZmVycmVkIHRvIGJ5CisgKiB0aGUgaXRlcmF0b3IgKGl0IHVzdWFsbHkgaXMpIGFuZCBpZiBzbywgYXNrcyB0aGUgaXRlcmF0b3IgZm9yIHRoZQorICogcGVlbGVkIHZlcnNpb24gb2YgdGhlIHJlZmVyZW5jZSBpZiBpdCBpcyBhdmFpbGFibGUuIFRoaXMgYXZvaWRzIGEKKyAqIHJlZm5hbWUgbG9va3VwIGluIGEgY29tbW9uIGNhc2UuIGN1cnJlbnRfcmVmX2l0ZXIgaXMgc2V0IHRvIE5VTEwKKyAqIHdoZW4gdGhlIGl0ZXJhdGlvbiBpcyBvdmVyLgorICovCitleHRlcm4gc3RydWN0IHJlZl9pdGVyYXRvciAqY3VycmVudF9yZWZfaXRlcjsKKworLyoKKyAqIFRoZSBjb21tb24gYmFja2VuZCBmb3IgdGhlIGZvcl9lYWNoXypyZWYqIGZ1bmN0aW9ucy4gQ2FsbCBmbiBmb3IKKyAqIGVhY2ggcmVmZXJlbmNlIGluIGl0ZXIuIElmIHRoZSBpdGVyYXRvciBpdHNlbGYgZXZlciByZXR1cm5zCisgKiBJVEVSX0VSUk9SLCByZXR1cm4gLTEuIElmIGZuIGV2ZXIgcmV0dXJucyBhIG5vbi16ZXJvIHZhbHVlLCBzdG9wCisgKiB0aGUgaXRlcmF0aW9uIGFuZCByZXR1cm4gdGhhdCB2YWx1ZS4gT3RoZXJ3aXNlLCByZXR1cm4gMC4gSW4gYW55CisgKiBjYXNlLCBmcmVlIHRoZSBpdGVyYXRvciB3aGVuIGRvbmUuIFRoaXMgZnVuY3Rpb24gaXMgYmFzaWNhbGx5IGFuCisgKiBhZGFwdGVyIGJldHdlZW4gdGhlIGNhbGxiYWNrIHN0eWxlIG9mIHJlZmVyZW5jZSBpdGVyYXRpb24gYW5kIHRoZQorICogaXRlcmF0b3Igc3R5bGUuCisgKi8KK2ludCBkb19mb3JfZWFjaF9yZWZfaXRlcmF0b3Ioc3RydWN0IHJlZl9pdGVyYXRvciAqaXRlciwKKwkJCSAgICAgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOworCisvKgorICogT25seSBpbmNsdWRlIHBlci13b3JrdHJlZSByZWZzIGluIGEgZG9fZm9yX2VhY2hfcmVmKigpIGl0ZXJhdGlvbi4KKyAqIE5vcm1hbGx5IHRoaXMgd2lsbCBiZSB1c2VkIHdpdGggYSBmaWxlcyByZWZfc3RvcmUsIHNpbmNlIHRoYXQncworICogd2hlcmUgYWxsIHJlZmVyZW5jZSBiYWNrZW5kcyB3aWxsIHByZXN1bWFibHkgc3RvcmUgdGhlaXIKKyAqIHBlci13b3JrdHJlZSByZWZzLgorICovCisjZGVmaW5lIERPX0ZPUl9FQUNIX1BFUl9XT1JLVFJFRV9PTkxZIDB4MDIKKworc3RydWN0IHJlZl9zdG9yZTsKKworLyogcmVmcyBiYWNrZW5kcyAqLworCisvKgorICogSW5pdGlhbGl6ZSB0aGUgcmVmX3N0b3JlIGZvciB0aGUgc3BlY2lmaWVkIHN1Ym1vZHVsZSwgb3IgZm9yIHRoZQorICogbWFpbiByZXBvc2l0b3J5IGlmIHN1Ym1vZHVsZSA9PSBOVUxMLiBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIGNhbGwKKyAqIGJhc2VfcmVmX3N0b3JlX2luaXQoKSB0byBpbml0aWFsaXplIHRoZSBzaGFyZWQgcGFydCBvZiB0aGUKKyAqIHJlZl9zdG9yZSBhbmQgdG8gcmVjb3JkIHRoZSByZWZfc3RvcmUgZm9yIGxhdGVyIGxvb2t1cC4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmVfaW5pdF9mbihjb25zdCBjaGFyICpzdWJtb2R1bGUpOworCit0eXBlZGVmIGludCByZWZfaW5pdF9kYl9mbihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBzdHJ1Y3Qgc3RyYnVmICplcnIpOworCit0eXBlZGVmIGludCByZWZfdHJhbnNhY3Rpb25fY29tbWl0X2ZuKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCisJCQkJICAgICAgc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCisJCQkJICAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyKTsKKwordHlwZWRlZiBpbnQgcGFja19yZWZzX2ZuKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwgdW5zaWduZWQgaW50IGZsYWdzKTsKK3R5cGVkZWYgaW50IHBlZWxfcmVmX2ZuKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCWNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGNoYXIgKnNoYTEpOwordHlwZWRlZiBpbnQgY3JlYXRlX3N5bXJlZl9mbihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkgICAgIGNvbnN0IGNoYXIgKnJlZl90YXJnZXQsCisJCQkgICAgIGNvbnN0IGNoYXIgKnJlZnNfaGVhZHNfbWFzdGVyLAorCQkJICAgICBjb25zdCBjaGFyICpsb2dtc2cpOwordHlwZWRlZiBpbnQgZGVsZXRlX3JlZnNfZm4oc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJICAgc3RydWN0IHN0cmluZ19saXN0ICpyZWZuYW1lcywgdW5zaWduZWQgaW50IGZsYWdzKTsKK3R5cGVkZWYgaW50IHJlbmFtZV9yZWZfZm4oc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJICBjb25zdCBjaGFyICpvbGRyZWYsIGNvbnN0IGNoYXIgKm5ld3JlZiwKKwkJCSAgY29uc3QgY2hhciAqbG9nbXNnKTsKKworLyoKKyAqIEl0ZXJhdGUgb3ZlciB0aGUgcmVmZXJlbmNlcyBpbiB0aGUgc3BlY2lmaWVkIHJlZl9zdG9yZSB0aGF0IGFyZQorICogd2l0aGluIGZpbmRfY29udGFpbmluZ19kaXIocHJlZml4KS4gSWYgcHJlZml4IGlzIE5VTEwgb3IgdGhlIGVtcHR5CisgKiBzdHJpbmcsIGl0ZXJhdGUgb3ZlciBhbGwgcmVmZXJlbmNlcyBpbiB0aGUgc3VibW9kdWxlLgorICovCit0eXBlZGVmIHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcl9iZWdpbl9mbigKKwkJc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQljb25zdCBjaGFyICpwcmVmaXgsIHVuc2lnbmVkIGludCBmbGFncyk7CisKKy8qIHJlZmxvZyBmdW5jdGlvbnMgKi8KKworLyoKKyAqIEl0ZXJhdGUgb3ZlciB0aGUgcmVmZXJlbmNlcyBpbiB0aGUgc3BlY2lmaWVkIHJlZl9zdG9yZSB0aGF0IGhhdmUgYQorICogcmVmbG9nLiBUaGUgcmVmcyBhcmUgaXRlcmF0ZWQgb3ZlciBpbiBhcmJpdHJhcnkgb3JkZXIuCisgKi8KK3R5cGVkZWYgc3RydWN0IHJlZl9pdGVyYXRvciAqcmVmbG9nX2l0ZXJhdG9yX2JlZ2luX2ZuKAorCQlzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUpOworCit0eXBlZGVmIGludCBmb3JfZWFjaF9yZWZsb2dfZW50X2ZuKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCQkgICBjb25zdCBjaGFyICpyZWZuYW1lLAorCQkJCSAgIGVhY2hfcmVmbG9nX2VudF9mbiBmbiwKKwkJCQkgICB2b2lkICpjYl9kYXRhKTsKK3R5cGVkZWYgaW50IGZvcl9lYWNoX3JlZmxvZ19lbnRfcmV2ZXJzZV9mbihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCisJCQkJCSAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsCisJCQkJCSAgIGVhY2hfcmVmbG9nX2VudF9mbiBmbiwKKwkJCQkJICAgdm9pZCAqY2JfZGF0YSk7Cit0eXBlZGVmIGludCByZWZsb2dfZXhpc3RzX2ZuKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwgY29uc3QgY2hhciAqcmVmbmFtZSk7Cit0eXBlZGVmIGludCBjcmVhdGVfcmVmbG9nX2ZuKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwgY29uc3QgY2hhciAqcmVmbmFtZSwKKwkJCSAgICAgaW50IGZvcmNlX2NyZWF0ZSwgc3RydWN0IHN0cmJ1ZiAqZXJyKTsKK3R5cGVkZWYgaW50IGRlbGV0ZV9yZWZsb2dfZm4oc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLCBjb25zdCBjaGFyICpyZWZuYW1lKTsKK3R5cGVkZWYgaW50IHJlZmxvZ19leHBpcmVfZm4oc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJICAgICBjb25zdCBjaGFyICpyZWZuYW1lLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkJICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MsCisJCQkgICAgIHJlZmxvZ19leHBpcnlfcHJlcGFyZV9mbiBwcmVwYXJlX2ZuLAorCQkJICAgICByZWZsb2dfZXhwaXJ5X3Nob3VsZF9wcnVuZV9mbiBzaG91bGRfcHJ1bmVfZm4sCisJCQkgICAgIHJlZmxvZ19leHBpcnlfY2xlYW51cF9mbiBjbGVhbnVwX2ZuLAorCQkJICAgICB2b2lkICpwb2xpY3lfY2JfZGF0YSk7CisKKy8qCisgKiBSZWFkIGEgcmVmZXJlbmNlIGZyb20gdGhlIHNwZWNpZmllZCByZWZlcmVuY2Ugc3RvcmUsIG5vbi1yZWN1cnNpdmVseS4KKyAqIFNldCB0eXBlIHRvIGRlc2NyaWJlIHRoZSByZWZlcmVuY2UsIGFuZDoKKyAqCisgKiAtIElmIHJlZm5hbWUgaXMgdGhlIG5hbWUgb2YgYSBub3JtYWwgcmVmZXJlbmNlLCBmaWxsIGluIHNoYTEKKyAqICAgKGxlYXZpbmcgcmVmZXJlbnQgdW5jaGFuZ2VkKS4KKyAqCisgKiAtIElmIHJlZm5hbWUgaXMgdGhlIG5hbWUgb2YgYSBzeW1ib2xpYyByZWZlcmVuY2UsIHdyaXRlIHRoZSBmdWxsCisgKiAgIG5hbWUgb2YgdGhlIHJlZmVyZW5jZSB0byB3aGljaCBpdCByZWZlcnMgKGUuZy4KKyAqICAgInJlZnMvaGVhZHMvbWFzdGVyIikgdG8gcmVmZXJlbnQgYW5kIHNldCB0aGUgUkVGX0lTU1lNUkVGIGJpdCBpbgorICogICB0eXBlIChsZWF2aW5nIHNoYTEgdW5jaGFuZ2VkKS4gVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IKKyAqICAgdmFsaWRhdGluZyB0aGF0IHJlZmVyZW50IGlzIGEgdmFsaWQgcmVmZXJlbmNlIG5hbWUuCisgKgorICogV0FSTklORzogcmVmbmFtZSBtaWdodCBiZSB1c2VkIGFzIHBhcnQgb2YgYSBmaWxlbmFtZSwgc28gaXQgaXMKKyAqIGltcG9ydGFudCBmcm9tIGEgc2VjdXJpdHkgc3RhbmRwb2ludCB0aGF0IGl0IGJlIHNhZmUgaW4gdGhlIHNlbnNlCisgKiBvZiByZWZuYW1lX2lzX3NhZmUoKS4gTW9yZW92ZXIsIGZvciBzeW1yZWZzIHRoaXMgZnVuY3Rpb24gc2V0cworICogcmVmZXJlbnQgdG8gd2hhdGV2ZXIgdGhlIHJlcG9zaXRvcnkgc2F5cywgd2hpY2ggbWlnaHQgbm90IGJlIGEKKyAqIHByb3Blcmx5LWZvcm1hdHRlZCBvciBldmVuIHNhZmUgcmVmZXJlbmNlIG5hbWUuIE5FSVRIRVIgSU5QVVQgTk9SCisgKiBPVVRQVVQgUkVGRVJFTkNFIE5BTUVTIEFSRSBWQUxJREFURUQgV0lUSElOIFRISVMgRlVOQ1RJT04uCisgKgorICogUmV0dXJuIDAgb24gc3VjY2Vzcy4gSWYgdGhlIHJlZiBkb2Vzbid0IGV4aXN0LCBzZXQgZXJybm8gdG8gRU5PRU5UCisgKiBhbmQgcmV0dXJuIC0xLiBJZiB0aGUgcmVmIGV4aXN0cyBidXQgaXMgbmVpdGhlciBhIHN5bWJvbGljIHJlZiBub3IKKyAqIGEgc2hhMSwgaXQgaXMgYnJva2VuOyBzZXQgUkVGX0lTQlJPS0VOIGluIHR5cGUsIHNldCBlcnJubyB0bworICogRUlOVkFMLCBhbmQgcmV0dXJuIC0xLiBJZiB0aGVyZSBpcyBhbm90aGVyIGVycm9yIHJlYWRpbmcgdGhlIHJlZiwKKyAqIHNldCBlcnJubyBhcHByb3ByaWF0ZWx5IGFuZCByZXR1cm4gLTEuCisgKgorICogQmFja2VuZC1zcGVjaWZpYyBmbGFncyBtaWdodCBiZSBzZXQgaW4gdHlwZSBhcyB3ZWxsLCByZWdhcmRsZXNzIG9mCisgKiBvdXRjb21lLgorICoKKyAqIEl0IGlzIE9LIGZvciByZWZuYW1lIHRvIHBvaW50IGludG8gcmVmZXJlbnQuIElmIHNvOgorICoKKyAqIC0gaWYgdGhlIGZ1bmN0aW9uIHN1Y2NlZWRzIHdpdGggUkVGX0lTU1lNUkVGLCByZWZlcmVudCB3aWxsIGJlCisgKiAgIG92ZXJ3cml0dGVuIGFuZCB0aGUgbWVtb3J5IGZvcm1lcmx5IHBvaW50ZWQgdG8gYnkgaXQgbWlnaHQgYmUKKyAqICAgY2hhbmdlZCBvciBldmVuIGZyZWVkLgorICoKKyAqIC0gaW4gYWxsIG90aGVyIGNhc2VzLCByZWZlcmVudCB3aWxsIGJlIHVudG91Y2hlZCwgYW5kIHRoZXJlZm9yZQorICogICByZWZuYW1lIHdpbGwgc3RpbGwgYmUgdmFsaWQgYW5kIHVuY2hhbmdlZC4KKyAqLwordHlwZWRlZiBpbnQgcmVhZF9yYXdfcmVmX2ZuKHN0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZSwKKwkJCSAgICBjb25zdCBjaGFyICpyZWZuYW1lLCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkJICAgIHN0cnVjdCBzdHJidWYgKnJlZmVyZW50LCB1bnNpZ25lZCBpbnQgKnR5cGUpOworCit0eXBlZGVmIGludCB2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGVfZm4oc3RydWN0IHJlZl9zdG9yZSAqcmVmX3N0b3JlLAorCQkJCQljb25zdCBjaGFyICpuZXduYW1lLAorCQkJCQljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmV4dHJhcywKKwkJCQkJY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpza2lwLAorCQkJCQlzdHJ1Y3Qgc3RyYnVmICplcnIpOworCitzdHJ1Y3QgcmVmX3N0b3JhZ2VfYmUgeworCXN0cnVjdCByZWZfc3RvcmFnZV9iZSAqbmV4dDsKKwljb25zdCBjaGFyICpuYW1lOworCXJlZl9zdG9yZV9pbml0X2ZuICppbml0OworCXJlZl9pbml0X2RiX2ZuICppbml0X2RiOworCXJlZl90cmFuc2FjdGlvbl9jb21taXRfZm4gKnRyYW5zYWN0aW9uX2NvbW1pdDsKKwlyZWZfdHJhbnNhY3Rpb25fY29tbWl0X2ZuICppbml0aWFsX3RyYW5zYWN0aW9uX2NvbW1pdDsKKworCXBhY2tfcmVmc19mbiAqcGFja19yZWZzOworCXBlZWxfcmVmX2ZuICpwZWVsX3JlZjsKKwljcmVhdGVfc3ltcmVmX2ZuICpjcmVhdGVfc3ltcmVmOworCWRlbGV0ZV9yZWZzX2ZuICpkZWxldGVfcmVmczsKKwlyZW5hbWVfcmVmX2ZuICpyZW5hbWVfcmVmOworCisJcmVmX2l0ZXJhdG9yX2JlZ2luX2ZuICppdGVyYXRvcl9iZWdpbjsKKwlyZWFkX3Jhd19yZWZfZm4gKnJlYWRfcmF3X3JlZjsKKwl2ZXJpZnlfcmVmbmFtZV9hdmFpbGFibGVfZm4gKnZlcmlmeV9yZWZuYW1lX2F2YWlsYWJsZTsKKworCXJlZmxvZ19pdGVyYXRvcl9iZWdpbl9mbiAqcmVmbG9nX2l0ZXJhdG9yX2JlZ2luOworCWZvcl9lYWNoX3JlZmxvZ19lbnRfZm4gKmZvcl9lYWNoX3JlZmxvZ19lbnQ7CisJZm9yX2VhY2hfcmVmbG9nX2VudF9yZXZlcnNlX2ZuICpmb3JfZWFjaF9yZWZsb2dfZW50X3JldmVyc2U7CisJcmVmbG9nX2V4aXN0c19mbiAqcmVmbG9nX2V4aXN0czsKKwljcmVhdGVfcmVmbG9nX2ZuICpjcmVhdGVfcmVmbG9nOworCWRlbGV0ZV9yZWZsb2dfZm4gKmRlbGV0ZV9yZWZsb2c7CisJcmVmbG9nX2V4cGlyZV9mbiAqcmVmbG9nX2V4cGlyZTsKK307CisKK2V4dGVybiBzdHJ1Y3QgcmVmX3N0b3JhZ2VfYmUgcmVmc19iZV9maWxlczsKKworLyoKKyAqIEEgcmVwcmVzZW50YXRpb24gb2YgdGhlIHJlZmVyZW5jZSBzdG9yZSBmb3IgdGhlIG1haW4gcmVwb3NpdG9yeSBvcgorICogYSBzdWJtb2R1bGUuIFRoZSByZWZfc3RvcmUgaW5zdGFuY2VzIGZvciBzdWJtb2R1bGVzIGFyZSBrZXB0IGluIGEKKyAqIGxpbmtlZCBsaXN0LgorICovCitzdHJ1Y3QgcmVmX3N0b3JlIHsKKwkvKiBUaGUgYmFja2VuZCBkZXNjcmliaW5nIHRoaXMgcmVmX3N0b3JlJ3Mgc3RvcmFnZSBzY2hlbWU6ICovCisJY29uc3Qgc3RydWN0IHJlZl9zdG9yYWdlX2JlICpiZTsKKworCS8qCisJICogVGhlIG5hbWUgb2YgdGhlIHN1Ym1vZHVsZSByZXByZXNlbnRlZCBieSB0aGlzIG9iamVjdCwgb3IKKwkgKiB0aGUgZW1wdHkgc3RyaW5nIGlmIGl0IHJlcHJlc2VudHMgdGhlIG1haW4gcmVwb3NpdG9yeSdzCisJICogcmVmZXJlbmNlIHN0b3JlOgorCSAqLworCWNvbnN0IGNoYXIgKnN1Ym1vZHVsZTsKKworCS8qCisJICogU3VibW9kdWxlIHJlZmVyZW5jZSBzdG9yZSBpbnN0YW5jZXMgYXJlIHN0b3JlZCBpbiBhIGxpbmtlZAorCSAqIGxpc3QgdXNpbmcgdGhpcyBwb2ludGVyLgorCSAqLworCXN0cnVjdCByZWZfc3RvcmUgKm5leHQ7Cit9OworCisvKgorICogRmlsbCBpbiB0aGUgZ2VuZXJpYyBwYXJ0IG9mIHJlZnMgZm9yIHRoZSBzcGVjaWZpZWQgc3VibW9kdWxlIGFuZAorICogYWRkIGl0IHRvIG91ciBjb2xsZWN0aW9uIG9mIHJlZmVyZW5jZSBzdG9yZXMuCisgKi8KK3ZvaWQgYmFzZV9yZWZfc3RvcmVfaW5pdChzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLAorCQkJIGNvbnN0IHN0cnVjdCByZWZfc3RvcmFnZV9iZSAqYmUsCisJCQkgY29uc3QgY2hhciAqc3VibW9kdWxlKTsKKworLyoKKyAqIENyZWF0ZSwgcmVjb3JkLCBhbmQgcmV0dXJuIGEgcmVmX3N0b3JlIGluc3RhbmNlIGZvciB0aGUgc3BlY2lmaWVkCisgKiBzdWJtb2R1bGUgKG9yIHRoZSBtYWluIHJlcG9zaXRvcnkgaWYgc3VibW9kdWxlIGlzIE5VTEwpLgorICoKKyAqIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgc3VibW9kdWxlPT0iIiBpcyB0cmVhdGVkIHRoZSBzYW1lIGFzCisgKiBzdWJtb2R1bGU9PU5VTEwuCisgKi8KK3N0cnVjdCByZWZfc3RvcmUgKnJlZl9zdG9yZV9pbml0KGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSk7CisKKy8qCisgKiBSZXR1cm4gdGhlIHJlZl9zdG9yZSBpbnN0YW5jZSBmb3IgdGhlIHNwZWNpZmllZCBzdWJtb2R1bGUgKG9yIHRoZQorICogbWFpbiByZXBvc2l0b3J5IGlmIHN1Ym1vZHVsZSBpcyBOVUxMKS4gSWYgdGhhdCByZWZfc3RvcmUgaGFzbid0CisgKiBiZWVuIGluaXRpYWxpemVkIHlldCwgcmV0dXJuIE5VTEwuCisgKgorICogRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCBzdWJtb2R1bGU9PSIiIGlzIHRyZWF0ZWQgdGhlIHNhbWUgYXMKKyAqIHN1Ym1vZHVsZT09TlVMTC4KKyAqLworc3RydWN0IHJlZl9zdG9yZSAqbG9va3VwX3JlZl9zdG9yZShjb25zdCBjaGFyICpzdWJtb2R1bGUpOworCisvKgorICogUmV0dXJuIHRoZSByZWZfc3RvcmUgaW5zdGFuY2UgZm9yIHRoZSBzcGVjaWZpZWQgc3VibW9kdWxlLiBGb3IgdGhlCisgKiBtYWluIHJlcG9zaXRvcnksIHVzZSBzdWJtb2R1bGU9PU5VTEw7IHN1Y2ggYSBjYWxsIGNhbm5vdCBmYWlsLiBGb3IKKyAqIGEgc3VibW9kdWxlLCB0aGUgc3VibW9kdWxlIG11c3QgZXhpc3QgYW5kIGJlIGEgbm9uYmFyZSByZXBvc2l0b3J5LAorICogb3RoZXJ3aXNlIHJldHVybiBOVUxMLiBJZiB0aGUgcmVxdWVzdGVkIHJlZmVyZW5jZSBzdG9yZSBoYXMgbm90IHlldAorICogYmVlbiBpbml0aWFsaXplZCwgaW5pdGlhbGl6ZSBpdCBmaXJzdC4KKyAqCisgKiBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHN1Ym1vZHVsZT09IiIgaXMgdHJlYXRlZCB0aGUgc2FtZSBhcworICogc3VibW9kdWxlPT1OVUxMLgorICovCitzdHJ1Y3QgcmVmX3N0b3JlICpnZXRfcmVmX3N0b3JlKGNvbnN0IGNoYXIgKnN1Ym1vZHVsZSk7CisKKy8qCisgKiBEaWUgaWYgcmVmcyBpcyBmb3IgYSBzdWJtb2R1bGUgKGkuZS4sIG5vdCBmb3IgdGhlIG1haW4gcmVwb3NpdG9yeSkuCisgKiBjYWxsZXIgaXMgdXNlZCBpbiBhbnkgbmVjZXNzYXJ5IGVycm9yIG1lc3NhZ2VzLgorICovCit2b2lkIGFzc2VydF9tYWluX3JlcG9zaXRvcnkoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywgY29uc3QgY2hhciAqY2FsbGVyKTsKIAogI2VuZGlmIC8qIFJFRlNfUkVGU19JTlRFUk5BTF9IICovCmRpZmYgLS1naXQgYS9yZW1vdGUtY3VybC5jIGIvcmVtb3RlLWN1cmwuYwppbmRleCA2YjgzYjc3Li5mMTRjNDFmIDEwMDY0NAotLS0gYS9yZW1vdGUtY3VybC5jCisrKyBiL3JlbW90ZS1jdXJsLmMKQEAgLTIwLDYgKzIwLDggQEAKIHN0cnVjdCBvcHRpb25zIHsKIAlpbnQgdmVyYm9zaXR5OwogCXVuc2lnbmVkIGxvbmcgZGVwdGg7CisJY2hhciAqZGVlcGVuX3NpbmNlOworCXN0cnVjdCBzdHJpbmdfbGlzdCBkZWVwZW5fbm90OwogCXVuc2lnbmVkIHByb2dyZXNzIDogMSwKIAkJY2hlY2tfc2VsZl9jb250YWluZWRfYW5kX2Nvbm5lY3RlZCA6IDEsCiAJCWNsb25pbmcgOiAxLApAQCAtMjgsNyArMzAsOCBAQAogCQlkcnlfcnVuIDogMSwKIAkJdGhpbiA6IDEsCiAJCS8qIE9uZSBvZiB0aGUgU0VORF9QQUNLX1BVU0hfQ0VSVF8qIGNvbnN0YW50cy4gKi8KLQkJcHVzaF9jZXJ0IDogMjsKKwkJcHVzaF9jZXJ0IDogMiwKKwkJZGVlcGVuX3JlbGF0aXZlIDogMTsKIH07CiBzdGF0aWMgc3RydWN0IG9wdGlvbnMgb3B0aW9uczsKIHN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgY2FzX29wdGlvbnMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKQEAgLTYwLDYgKzYzLDIzIEBACiAJCW9wdGlvbnMuZGVwdGggPSB2OwogCQlyZXR1cm4gMDsKIAl9CisJZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiZGVlcGVuLXNpbmNlIikpIHsKKwkJb3B0aW9ucy5kZWVwZW5fc2luY2UgPSB4c3RyZHVwKHZhbHVlKTsKKwkJcmV0dXJuIDA7CisJfQorCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgImRlZXBlbi1ub3QiKSkgeworCQlzdHJpbmdfbGlzdF9hcHBlbmQoJm9wdGlvbnMuZGVlcGVuX25vdCwgdmFsdWUpOworCQlyZXR1cm4gMDsKKwl9CisJZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiZGVlcGVuLXJlbGF0aXZlIikpIHsKKwkJaWYgKCFzdHJjbXAodmFsdWUsICJ0cnVlIikpCisJCQlvcHRpb25zLmRlZXBlbl9yZWxhdGl2ZSA9IDE7CisJCWVsc2UgaWYgKCFzdHJjbXAodmFsdWUsICJmYWxzZSIpKQorCQkJb3B0aW9ucy5kZWVwZW5fcmVsYXRpdmUgPSAwOworCQllbHNlCisJCQlyZXR1cm4gLTE7CisJCXJldHVybiAwOworCX0KIAllbHNlIGlmICghc3RyY21wKG5hbWUsICJmb2xsb3d0YWdzIikpIHsKIAkJaWYgKCFzdHJjbXAodmFsdWUsICJ0cnVlIikpCiAJCQlvcHRpb25zLmZvbGxvd3RhZ3MgPSAxOwpAQCAtNzI1LDggKzc0NSw4IEBACiAJaW50IHJldCwgaTsKIAogCUFMTE9DX0FSUkFZKHRhcmdldHMsIG5yX2hlYWRzKTsKLQlpZiAob3B0aW9ucy5kZXB0aCkKLQkJZGllKCJkdW1iIGh0dHAgdHJhbnNwb3J0IGRvZXMgbm90IHN1cHBvcnQgLS1kZXB0aCIpOworCWlmIChvcHRpb25zLmRlcHRoIHx8IG9wdGlvbnMuZGVlcGVuX3NpbmNlKQorCQlkaWUoImR1bWIgaHR0cCB0cmFuc3BvcnQgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNhcGFiaWxpdGllcyIpOwogCWZvciAoaSA9IDA7IGkgPCBucl9oZWFkczsgaSsrKQogCQl0YXJnZXRzW2ldID0geHN0cmR1cChvaWRfdG9faGV4KCZ0b19mZXRjaFtpXS0+b2xkX29pZCkpOwogCkBAIC03NTEsMzggKzc3MSwzNSBAQAogewogCXN0cnVjdCBycGNfc3RhdGUgcnBjOwogCXN0cnVjdCBzdHJidWYgcHJlYW1ibGUgPSBTVFJCVUZfSU5JVDsKLQljaGFyICpkZXB0aF9hcmcgPSBOVUxMOwotCWludCBhcmdjID0gMCwgaSwgZXJyOwotCWNvbnN0IGNoYXIgKmFyZ3ZbMTddOworCWludCBpLCBlcnI7CisJc3RydWN0IGFyZ3ZfYXJyYXkgYXJncyA9IEFSR1ZfQVJSQVlfSU5JVDsKIAotCWFyZ3ZbYXJnYysrXSA9ICJmZXRjaC1wYWNrIjsKLQlhcmd2W2FyZ2MrK10gPSAiLS1zdGF0ZWxlc3MtcnBjIjsKLQlhcmd2W2FyZ2MrK10gPSAiLS1zdGRpbiI7Ci0JYXJndlthcmdjKytdID0gIi0tbG9jay1wYWNrIjsKKwlhcmd2X2FycmF5X3B1c2hsKCZhcmdzLCAiZmV0Y2gtcGFjayIsICItLXN0YXRlbGVzcy1ycGMiLAorCQkJICItLXN0ZGluIiwgIi0tbG9jay1wYWNrIiwgTlVMTCk7CiAJaWYgKG9wdGlvbnMuZm9sbG93dGFncykKLQkJYXJndlthcmdjKytdID0gIi0taW5jbHVkZS10YWciOworCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsICItLWluY2x1ZGUtdGFnIik7CiAJaWYgKG9wdGlvbnMudGhpbikKLQkJYXJndlthcmdjKytdID0gIi0tdGhpbiI7Ci0JaWYgKG9wdGlvbnMudmVyYm9zaXR5ID49IDMpIHsKLQkJYXJndlthcmdjKytdID0gIi12IjsKLQkJYXJndlthcmdjKytdID0gIi12IjsKLQl9CisJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgIi0tdGhpbiIpOworCWlmIChvcHRpb25zLnZlcmJvc2l0eSA+PSAzKQorCQlhcmd2X2FycmF5X3B1c2hsKCZhcmdzLCAiLXYiLCAiLXYiLCBOVUxMKTsKIAlpZiAob3B0aW9ucy5jaGVja19zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkKQotCQlhcmd2W2FyZ2MrK10gPSAiLS1jaGVjay1zZWxmLWNvbnRhaW5lZC1hbmQtY29ubmVjdGVkIjsKKwkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCAiLS1jaGVjay1zZWxmLWNvbnRhaW5lZC1hbmQtY29ubmVjdGVkIik7CiAJaWYgKG9wdGlvbnMuY2xvbmluZykKLQkJYXJndlthcmdjKytdID0gIi0tY2xvbmluZyI7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgIi0tY2xvbmluZyIpOwogCWlmIChvcHRpb25zLnVwZGF0ZV9zaGFsbG93KQotCQlhcmd2W2FyZ2MrK10gPSAiLS11cGRhdGUtc2hhbGxvdyI7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgIi0tdXBkYXRlLXNoYWxsb3ciKTsKIAlpZiAoIW9wdGlvbnMucHJvZ3Jlc3MpCi0JCWFyZ3ZbYXJnYysrXSA9ICItLW5vLXByb2dyZXNzIjsKLQlpZiAob3B0aW9ucy5kZXB0aCkgewotCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCQlzdHJidWZfYWRkZigmYnVmLCAiLS1kZXB0aD0lbHUiLCBvcHRpb25zLmRlcHRoKTsKLQkJZGVwdGhfYXJnID0gc3RyYnVmX2RldGFjaCgmYnVmLCBOVUxMKTsKLQkJYXJndlthcmdjKytdID0gZGVwdGhfYXJnOwotCX0KLQlhcmd2W2FyZ2MrK10gPSB1cmwuYnVmOwotCWFyZ3ZbYXJnYysrXSA9IE5VTEw7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgIi0tbm8tcHJvZ3Jlc3MiKTsKKwlpZiAob3B0aW9ucy5kZXB0aCkKKwkJYXJndl9hcnJheV9wdXNoZigmYXJncywgIi0tZGVwdGg9JWx1Iiwgb3B0aW9ucy5kZXB0aCk7CisJaWYgKG9wdGlvbnMuZGVlcGVuX3NpbmNlKQorCQlhcmd2X2FycmF5X3B1c2hmKCZhcmdzLCAiLS1zaGFsbG93LXNpbmNlPSVzIiwgb3B0aW9ucy5kZWVwZW5fc2luY2UpOworCWZvciAoaSA9IDA7IGkgPCBvcHRpb25zLmRlZXBlbl9ub3QubnI7IGkrKykKKwkJYXJndl9hcnJheV9wdXNoZigmYXJncywgIi0tc2hhbGxvdy1leGNsdWRlPSVzIiwKKwkJCQkgb3B0aW9ucy5kZWVwZW5fbm90Lml0ZW1zW2ldLnN0cmluZyk7CisJaWYgKG9wdGlvbnMuZGVlcGVuX3JlbGF0aXZlICYmIG9wdGlvbnMuZGVwdGgpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgIi0tZGVlcGVuLXJlbGF0aXZlIik7CisJYXJndl9hcnJheV9wdXNoKCZhcmdzLCB1cmwuYnVmKTsKIAogCWZvciAoaSA9IDA7IGkgPCBucl9oZWFkczsgaSsrKSB7CiAJCXN0cnVjdCByZWYgKnJlZiA9IHRvX2ZldGNoW2ldOwpAQCAtNzk1LDcgKzgxMiw3IEBACiAKIAltZW1zZXQoJnJwYywgMCwgc2l6ZW9mKHJwYykpOwogCXJwYy5zZXJ2aWNlX25hbWUgPSAiZ2l0LXVwbG9hZC1wYWNrIiwKLQlycGMuYXJndiA9IGFyZ3Y7CisJcnBjLmFyZ3YgPSBhcmdzLmFyZ3Y7CiAJcnBjLnN0ZGluX3ByZWFtYmxlID0gJnByZWFtYmxlOwogCXJwYy5nemlwX3JlcXVlc3QgPSAxOwogCkBAIC04MDQsNyArODIxLDcgQEAKIAkJd3JpdGVfb3JfZGllKDEsIHJwYy5yZXN1bHQuYnVmLCBycGMucmVzdWx0Lmxlbik7CiAJc3RyYnVmX3JlbGVhc2UoJnJwYy5yZXN1bHQpOwogCXN0cmJ1Zl9yZWxlYXNlKCZwcmVhbWJsZSk7Ci0JZnJlZShkZXB0aF9hcmcpOworCWFyZ3ZfYXJyYXlfY2xlYXIoJmFyZ3MpOwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTk5OCw2ICsxMDE1LDcgQEAKIAlvcHRpb25zLnZlcmJvc2l0eSA9IDE7CiAJb3B0aW9ucy5wcm9ncmVzcyA9ICEhaXNhdHR5KDIpOwogCW9wdGlvbnMudGhpbiA9IDE7CisJc3RyaW5nX2xpc3RfaW5pdCgmb3B0aW9ucy5kZWVwZW5fbm90LCAxKTsKIAogCXJlbW90ZSA9IHJlbW90ZV9nZXQoYXJndlsxXSk7CiAKZGlmZiAtLWdpdCBhL3JlbW90ZS5jIGIvcmVtb3RlLmMKaW5kZXggYTMyNmU0ZS4uYWQ2YzU0MiAxMDA2NDQKLS0tIGEvcmVtb3RlLmMKKysrIGIvcmVtb3RlLmMKQEAgLTE1NDQsOCArMTU0NCw3IEBACiAJCSAqIGJyYW5jaC4KIAkJICovCiAJCWlmIChyZWYtPmV4cGVjdF9vbGRfc2hhMSkgewotCQkJaWYgKHJlZi0+ZXhwZWN0X29sZF9ub190cmFja2JhY2sgfHwKLQkJCSAgICBvaWRjbXAoJnJlZi0+b2xkX29pZCwgJnJlZi0+b2xkX29pZF9leHBlY3QpKQorCQkJaWYgKG9pZGNtcCgmcmVmLT5vbGRfb2lkLCAmcmVmLT5vbGRfb2lkX2V4cGVjdCkpCiAJCQkJcmVqZWN0X3JlYXNvbiA9IFJFRl9TVEFUVVNfUkVKRUNUX1NUQUxFOwogCQkJZWxzZQogCQkJCS8qIElmIHRoZSByZWYgaXNuJ3Qgc3RhbGUgdGhlbiBmb3JjZSB0aGUgdXBkYXRlLiAqLwpAQCAtMjA3NCw3ICsyMDczLDcgQEAKIAkJCV8oIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIpLAogCQkJYmFzZSk7CiAJCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzKQotCQkJc3RyYnVmX2FkZGYoc2IsCisJCQlzdHJidWZfYWRkc3RyKHNiLAogCQkJCV8oIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIikpOwogCX0gZWxzZSBpZiAoIW91cnMgJiYgIXRoZWlycykgewogCQlzdHJidWZfYWRkZihzYiwKQEAgLTIwODcsNyArMjA4Niw3IEBACiAJCQkgICBvdXJzKSwKIAkJCWJhc2UsIG91cnMpOwogCQlpZiAoYWR2aWNlX3N0YXR1c19oaW50cykKLQkJCXN0cmJ1Zl9hZGRmKHNiLAorCQkJc3RyYnVmX2FkZHN0cihzYiwKIAkJCQlfKCIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIikpOwogCX0gZWxzZSBpZiAoIW91cnMpIHsKIAkJc3RyYnVmX2FkZGYoc2IsCkBAIC0yMDk4LDcgKzIwOTcsNyBAQAogCQkJICAgdGhlaXJzKSwKIAkJCWJhc2UsIHRoZWlycyk7CiAJCWlmIChhZHZpY2Vfc3RhdHVzX2hpbnRzKQotCQkJc3RyYnVmX2FkZGYoc2IsCisJCQlzdHJidWZfYWRkc3RyKHNiLAogCQkJCV8oIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIikpOwogCX0gZWxzZSB7CiAJCXN0cmJ1Zl9hZGRmKHNiLApAQCAtMjExMSw3ICsyMTEwLDcgQEAKIAkJCSAgIG91cnMgKyB0aGVpcnMpLAogCQkJYmFzZSwgb3VycywgdGhlaXJzKTsKIAkJaWYgKGFkdmljZV9zdGF0dXNfaGludHMpCi0JCQlzdHJidWZfYWRkZihzYiwKKwkJCXN0cmJ1Zl9hZGRzdHIoc2IsCiAJCQkJXygiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIikpOwogCX0KIAlmcmVlKGJhc2UpOwpAQCAtMjI5NCw2ICsyMjkzLDggQEAKIAllbnRyeSA9IGFkZF9jYXNfZW50cnkoY2FzLCBhcmcsIGNvbG9uIC0gYXJnKTsKIAlpZiAoISpjb2xvbikKIAkJZW50cnktPnVzZV90cmFja2luZyA9IDE7CisJZWxzZSBpZiAoIWNvbG9uWzFdKQorCQloYXNoY2xyKGVudHJ5LT5leHBlY3QpOwogCWVsc2UgaWYgKGdldF9zaGExKGNvbG9uICsgMSwgZW50cnktPmV4cGVjdCkpCiAJCXJldHVybiBlcnJvcigiY2Fubm90IHBhcnNlIGV4cGVjdGVkIG9iamVjdCBuYW1lICclcyciLCBjb2xvbiArIDEpOwogCXJldHVybiAwOwpAQCAtMjM0Myw3ICsyMzQ0LDcgQEAKIAkJaWYgKCFlbnRyeS0+dXNlX3RyYWNraW5nKQogCQkJaGFzaGNweShyZWYtPm9sZF9vaWRfZXhwZWN0Lmhhc2gsIGNhcy0+ZW50cnlbaV0uZXhwZWN0KTsKIAkJZWxzZSBpZiAocmVtb3RlX3RyYWNraW5nKHJlbW90ZSwgcmVmLT5uYW1lLCAmcmVmLT5vbGRfb2lkX2V4cGVjdCkpCi0JCQlyZWYtPmV4cGVjdF9vbGRfbm9fdHJhY2tiYWNrID0gMTsKKwkJCW9pZGNscigmcmVmLT5vbGRfb2lkX2V4cGVjdCk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTIzNTMsNyArMjM1NCw3IEBACiAKIAlyZWYtPmV4cGVjdF9vbGRfc2hhMSA9IDE7CiAJaWYgKHJlbW90ZV90cmFja2luZyhyZW1vdGUsIHJlZi0+bmFtZSwgJnJlZi0+b2xkX29pZF9leHBlY3QpKQotCQlyZWYtPmV4cGVjdF9vbGRfbm9fdHJhY2tiYWNrID0gMTsKKwkJb2lkY2xyKCZyZWYtPm9sZF9vaWRfZXhwZWN0KTsKIH0KIAogdm9pZCBhcHBseV9wdXNoX2NhcyhzdHJ1Y3QgcHVzaF9jYXNfb3B0aW9uICpjYXMsCmRpZmYgLS1naXQgYS9yZW1vdGUuaCBiL3JlbW90ZS5oCmluZGV4IGMyMWZkMzcuLjkyNDg4MTEgMTAwNjQ0Ci0tLSBhL3JlbW90ZS5oCisrKyBiL3JlbW90ZS5oCkBAIC04OSw3ICs4OSw2IEBACiAJCWZvcmNlOjEsCiAJCWZvcmNlZF91cGRhdGU6MSwKIAkJZXhwZWN0X29sZF9zaGExOjEsCi0JCWV4cGVjdF9vbGRfbm9fdHJhY2tiYWNrOjEsCiAJCWRlbGV0aW9uOjEsCiAJCW1hdGNoZWQ6MTsKIApkaWZmIC0tZ2l0IGEvcmVyZXJlLmMgYi9yZXJlcmUuYwppbmRleCBhYWFkZWMxLi41ZDA4M2NhIDEwMDY0NAotLS0gYS9yZXJlcmUuYworKysgYi9yZXJlcmUuYwpAQCAtOTgwLDcgKzk4MCw4IEBACiAJCQlicmVhazsKIAkJaSA9IGNlX3N0YWdlKGNlKSAtIDE7CiAJCWlmICghbW1maWxlW2ldLnB0cikgewotCQkJbW1maWxlW2ldLnB0ciA9IHJlYWRfc2hhMV9maWxlKGNlLT5zaGExLCAmdHlwZSwgJnNpemUpOworCQkJbW1maWxlW2ldLnB0ciA9IHJlYWRfc2hhMV9maWxlKGNlLT5vaWQuaGFzaCwgJnR5cGUsCisJCQkJCQkgICAgICAgJnNpemUpOwogCQkJbW1maWxlW2ldLnNpemUgPSBzaXplOwogCQl9CiAJfQpkaWZmIC0tZ2l0IGEvcmVzb2x2ZS11bmRvLmMgYi9yZXNvbHZlLXVuZG8uYwppbmRleCA0NjhhMmViLi5iNDBmMzE3IDEwMDY0NAotLS0gYS9yZXNvbHZlLXVuZG8uYworKysgYi9yZXNvbHZlLXVuZG8uYwpAQCAtMjQsNyArMjQsNyBAQAogCWlmICghbG9zdC0+dXRpbCkKIAkJbG9zdC0+dXRpbCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCp1aSkpOwogCXVpID0gbG9zdC0+dXRpbDsKLQloYXNoY3B5KHVpLT5zaGExW3N0YWdlIC0gMV0sIGNlLT5zaGExKTsKKwloYXNoY3B5KHVpLT5zaGExW3N0YWdlIC0gMV0sIGNlLT5vaWQuaGFzaCk7CiAJdWktPm1vZGVbc3RhZ2UgLSAxXSA9IGNlLT5jZV9tb2RlOwogfQogCmRpZmYgLS1naXQgYS9yZXZpc2lvbi5jIGIvcmV2aXNpb24uYwppbmRleCBkMzBkMWM0Li5iMzdkYmVjIDEwMDY0NAotLS0gYS9yZXZpc2lvbi5jCisrKyBiL3JldmlzaW9uLmMKQEAgLTg0Niw3ICs4NDYsNyBAQAogCQkgKi8KIAkJaWYgKGxlZnRfZmlyc3QgIT0gISEoZmxhZ3MgJiBTWU1NRVRSSUNfTEVGVCkpCiAJCQljb250aW51ZTsKLQkJY29tbWl0LT51dGlsID0gYWRkX2NvbW1pdF9wYXRjaF9pZChjb21taXQsICZpZHMpOworCQlhZGRfY29tbWl0X3BhdGNoX2lkKGNvbW1pdCwgJmlkcyk7CiAJfQogCiAJLyogZWl0aGVyIGNoZXJyeV9tYXJrIG9yIGNoZXJyeV9waWNrIGFyZSB0cnVlICovCkBAIC04NzMsMjEgKzg3Myw5IEBACiAJCWlkID0gaGFzX2NvbW1pdF9wYXRjaF9pZChjb21taXQsICZpZHMpOwogCQlpZiAoIWlkKQogCQkJY29udGludWU7Ci0JCWlkLT5zZWVuID0gMTsKKwogCQljb21taXQtPm9iamVjdC5mbGFncyB8PSBjaGVycnlfZmxhZzsKLQl9Ci0KLQkvKiBOb3cgY2hlY2sgdGhlIG9yaWdpbmFsIHNpZGUgZm9yIHNlZW4gb25lcyAqLwotCWZvciAocCA9IGxpc3Q7IHA7IHAgPSBwLT5uZXh0KSB7Ci0JCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IHAtPml0ZW07Ci0JCXN0cnVjdCBwYXRjaF9pZCAqZW50OwotCi0JCWVudCA9IGNvbW1pdC0+dXRpbDsKLQkJaWYgKCFlbnQpCi0JCQljb250aW51ZTsKLQkJaWYgKGVudC0+c2VlbikKLQkJCWNvbW1pdC0+b2JqZWN0LmZsYWdzIHw9IGNoZXJyeV9mbGFnOwotCQljb21taXQtPnV0aWwgPSBOVUxMOworCQlpZC0+Y29tbWl0LT5vYmplY3QuZmxhZ3MgfD0gY2hlcnJ5X2ZsYWc7CiAJfQogCiAJZnJlZV9wYXRjaF9pZHMoJmlkcyk7CkBAIC0xMjg3LDcgKzEyNzUsNyBAQAogCQlpZiAoU19JU0dJVExJTksoY2UtPmNlX21vZGUpKQogCQkJY29udGludWU7CiAKLQkJYmxvYiA9IGxvb2t1cF9ibG9iKGNlLT5zaGExKTsKKwkJYmxvYiA9IGxvb2t1cF9ibG9iKGNlLT5vaWQuaGFzaCk7CiAJCWlmICghYmxvYikKIAkJCWRpZSgidW5hYmxlIHRvIGFkZCBpbmRleCBibG9iIHRvIHRyYXZlcnNhbCIpOwogCQlhZGRfcGVuZGluZ19vYmplY3Rfd2l0aF9wYXRoKHJldnMsICZibG9iLT5vYmplY3QsICIiLApAQCAtMTMwMSwxMiArMTI4OSwxNCBAQAogCX0KIH0KIAotc3RhdGljIGludCBhZGRfcGFyZW50c19vbmx5KHN0cnVjdCByZXZfaW5mbyAqcmV2cywgY29uc3QgY2hhciAqYXJnXywgaW50IGZsYWdzKQorc3RhdGljIGludCBhZGRfcGFyZW50c19vbmx5KHN0cnVjdCByZXZfaW5mbyAqcmV2cywgY29uc3QgY2hhciAqYXJnXywgaW50IGZsYWdzLAorCQkJICAgIGludCBleGNsdWRlX3BhcmVudCkKIHsKIAl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwogCXN0cnVjdCBvYmplY3QgKml0OwogCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHM7CisJaW50IHBhcmVudF9udW1iZXI7CiAJY29uc3QgY2hhciAqYXJnID0gYXJnXzsKIAogCWlmICgqYXJnID09ICdeJykgewpAQCAtMTMyOCw3ICsxMzE4LDE1IEBACiAJaWYgKGl0LT50eXBlICE9IE9CSl9DT01NSVQpCiAJCXJldHVybiAwOwogCWNvbW1pdCA9IChzdHJ1Y3QgY29tbWl0ICopaXQ7Ci0JZm9yIChwYXJlbnRzID0gY29tbWl0LT5wYXJlbnRzOyBwYXJlbnRzOyBwYXJlbnRzID0gcGFyZW50cy0+bmV4dCkgeworCWlmIChleGNsdWRlX3BhcmVudCAmJgorCSAgICBleGNsdWRlX3BhcmVudCA+IGNvbW1pdF9saXN0X2NvdW50KGNvbW1pdC0+cGFyZW50cykpCisJCXJldHVybiAwOworCWZvciAocGFyZW50cyA9IGNvbW1pdC0+cGFyZW50cywgcGFyZW50X251bWJlciA9IDE7CisJICAgICBwYXJlbnRzOworCSAgICAgcGFyZW50cyA9IHBhcmVudHMtPm5leHQsIHBhcmVudF9udW1iZXIrKykgeworCQlpZiAoZXhjbHVkZV9wYXJlbnQgJiYgcGFyZW50X251bWJlciAhPSBleGNsdWRlX3BhcmVudCkKKwkJCWNvbnRpbnVlOworCiAJCWl0ID0gJnBhcmVudHMtPml0ZW0tPm9iamVjdDsKIAkJaXQtPmZsYWdzIHw9IGZsYWdzOwogCQlhZGRfcmV2X2NtZGxpbmUocmV2cywgaXQsIGFyZ18sIFJFVl9DTURfUEFSRU5UU19PTkxZLCBmbGFncyk7CkBAIC0xNDI1LDcgKzE0MjMsNyBAQAogCQkgICAgICAgY2Vfc2FtZV9uYW1lKGNlLCBhY3RpdmVfY2FjaGVbaSsxXSkpCiAJCQlpKys7CiAJfQotCWZyZWVfcGF0aHNwZWMoJnJldnMtPnBydW5lX2RhdGEpOworCWNsZWFyX3BhdGhzcGVjKCZyZXZzLT5wcnVuZV9kYXRhKTsKIAlwYXJzZV9wYXRoc3BlYygmcmV2cy0+cHJ1bmVfZGF0YSwgUEFUSFNQRUNfQUxMX01BR0lDICYgflBBVEhTUEVDX0xJVEVSQUwsCiAJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfRlVMTCB8IFBBVEhTUEVDX0xJVEVSQUxfUEFUSCwgIiIsIHBydW5lKTsKIAlyZXZzLT5saW1pdGVkID0gMTsKQEAgLTE1MzEsMTcgKzE1MjksMzMgQEAKIAkJfQogCQkqZG90ZG90ID0gJy4nOwogCX0KKwogCWRvdGRvdCA9IHN0cnN0cihhcmcsICJeQCIpOwogCWlmIChkb3Rkb3QgJiYgIWRvdGRvdFsyXSkgewogCQkqZG90ZG90ID0gMDsKLQkJaWYgKGFkZF9wYXJlbnRzX29ubHkocmV2cywgYXJnLCBmbGFncykpCisJCWlmIChhZGRfcGFyZW50c19vbmx5KHJldnMsIGFyZywgZmxhZ3MsIDApKQogCQkJcmV0dXJuIDA7CiAJCSpkb3Rkb3QgPSAnXic7CiAJfQogCWRvdGRvdCA9IHN0cnN0cihhcmcsICJeISIpOwogCWlmIChkb3Rkb3QgJiYgIWRvdGRvdFsyXSkgewogCQkqZG90ZG90ID0gMDsKLQkJaWYgKCFhZGRfcGFyZW50c19vbmx5KHJldnMsIGFyZywgZmxhZ3MgXiAoVU5JTlRFUkVTVElORyB8IEJPVFRPTSkpKQorCQlpZiAoIWFkZF9wYXJlbnRzX29ubHkocmV2cywgYXJnLCBmbGFncyBeIChVTklOVEVSRVNUSU5HIHwgQk9UVE9NKSwgMCkpCisJCQkqZG90ZG90ID0gJ14nOworCX0KKwlkb3Rkb3QgPSBzdHJzdHIoYXJnLCAiXi0iKTsKKwlpZiAoZG90ZG90KSB7CisJCWludCBleGNsdWRlX3BhcmVudCA9IDE7CisKKwkJaWYgKGRvdGRvdFsyXSkgeworCQkJY2hhciAqZW5kOworCQkJZXhjbHVkZV9wYXJlbnQgPSBzdHJ0b3VsKGRvdGRvdCArIDIsICZlbmQsIDEwKTsKKwkJCWlmICgqZW5kICE9ICdcMCcgfHwgIWV4Y2x1ZGVfcGFyZW50KQorCQkJCXJldHVybiAtMTsKKwkJfQorCisJCSpkb3Rkb3QgPSAwOworCQlpZiAoIWFkZF9wYXJlbnRzX29ubHkocmV2cywgYXJnLCBmbGFncyBeIChVTklOVEVSRVNUSU5HIHwgQk9UVE9NKSwgZXhjbHVkZV9wYXJlbnQpKQogCQkJKmRvdGRvdCA9ICdeJzsKIAl9CiAKQEAgLTE4NzEsNiArMTg4NSw4IEBACiAJCXJldnMtPm5vdGVzX29wdC51c2VfZGVmYXVsdF9ub3RlcyA9IDE7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tc2hvdy1zaWduYXR1cmUiKSkgewogCQlyZXZzLT5zaG93X3NpZ25hdHVyZSA9IDE7CisJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tbm8tc2hvdy1zaWduYXR1cmUiKSkgeworCQlyZXZzLT5zaG93X3NpZ25hdHVyZSA9IDA7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tc2hvdy1saW5lYXItYnJlYWsiKSB8fAogCQkgICBzdGFydHNfd2l0aChhcmcsICItLXNob3ctbGluZWFyLWJyZWFrPSIpKSB7CiAJCWlmIChzdGFydHNfd2l0aChhcmcsICItLXNob3ctbGluZWFyLWJyZWFrPSIpKQpAQCAtMTk3MSwxNiArMTk4NywxNiBAQAogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWdyZXAtZGVidWciKSkgewogCQlyZXZzLT5ncmVwX2ZpbHRlci5kZWJ1ZyA9IDE7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tYmFzaWMtcmVnZXhwIikpIHsKLQkJZ3JlcF9zZXRfcGF0dGVybl90eXBlX29wdGlvbihHUkVQX1BBVFRFUk5fVFlQRV9CUkUsICZyZXZzLT5ncmVwX2ZpbHRlcik7CisJCXJldnMtPmdyZXBfZmlsdGVyLnBhdHRlcm5fdHlwZV9vcHRpb24gPSBHUkVQX1BBVFRFUk5fVFlQRV9CUkU7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tZXh0ZW5kZWQtcmVnZXhwIikgfHwgIXN0cmNtcChhcmcsICItRSIpKSB7Ci0JCWdyZXBfc2V0X3BhdHRlcm5fdHlwZV9vcHRpb24oR1JFUF9QQVRURVJOX1RZUEVfRVJFLCAmcmV2cy0+Z3JlcF9maWx0ZXIpOworCQlyZXZzLT5ncmVwX2ZpbHRlci5wYXR0ZXJuX3R5cGVfb3B0aW9uID0gR1JFUF9QQVRURVJOX1RZUEVfRVJFOwogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLXJlZ2V4cC1pZ25vcmUtY2FzZSIpIHx8ICFzdHJjbXAoYXJnLCAiLWkiKSkgewogCQlyZXZzLT5ncmVwX2ZpbHRlci5yZWdmbGFncyB8PSBSRUdfSUNBU0U7CiAJCURJRkZfT1BUX1NFVCgmcmV2cy0+ZGlmZm9wdCwgUElDS0FYRV9JR05PUkVfQ0FTRSk7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tZml4ZWQtc3RyaW5ncyIpIHx8ICFzdHJjbXAoYXJnLCAiLUYiKSkgewotCQlncmVwX3NldF9wYXR0ZXJuX3R5cGVfb3B0aW9uKEdSRVBfUEFUVEVSTl9UWVBFX0ZJWEVELCAmcmV2cy0+Z3JlcF9maWx0ZXIpOworCQlyZXZzLT5ncmVwX2ZpbHRlci5wYXR0ZXJuX3R5cGVfb3B0aW9uID0gR1JFUF9QQVRURVJOX1RZUEVfRklYRUQ7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tcGVybC1yZWdleHAiKSkgewotCQlncmVwX3NldF9wYXR0ZXJuX3R5cGVfb3B0aW9uKEdSRVBfUEFUVEVSTl9UWVBFX1BDUkUsICZyZXZzLT5ncmVwX2ZpbHRlcik7CisJCXJldnMtPmdyZXBfZmlsdGVyLnBhdHRlcm5fdHlwZV9vcHRpb24gPSBHUkVQX1BBVFRFUk5fVFlQRV9QQ1JFOwogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWFsbC1tYXRjaCIpKSB7CiAJCXJldnMtPmdyZXBfZmlsdGVyLmFsbF9tYXRjaCA9IDE7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0taW52ZXJ0LWdyZXAiKSkgewpkaWZmIC0tZ2l0IGEvcnVuLWNvbW1hbmQuYyBiL3J1bi1jb21tYW5kLmMKaW5kZXggYWYwYzhhMS4uY2E5MDVhOSAxMDA2NDQKLS0tIGEvcnVuLWNvbW1hbmQuYworKysgYi9ydW4tY29tbWFuZC5jCkBAIC0yMSw2ICsyMSw3IEBACiAKIHN0cnVjdCBjaGlsZF90b19jbGVhbiB7CiAJcGlkX3QgcGlkOworCXN0cnVjdCBjaGlsZF9wcm9jZXNzICpwcm9jZXNzOwogCXN0cnVjdCBjaGlsZF90b19jbGVhbiAqbmV4dDsKIH07CiBzdGF0aWMgc3RydWN0IGNoaWxkX3RvX2NsZWFuICpjaGlsZHJlbl90b19jbGVhbjsKQEAgLTMxLDYgKzMyLDE4IEBACiAJd2hpbGUgKGNoaWxkcmVuX3RvX2NsZWFuKSB7CiAJCXN0cnVjdCBjaGlsZF90b19jbGVhbiAqcCA9IGNoaWxkcmVuX3RvX2NsZWFuOwogCQljaGlsZHJlbl90b19jbGVhbiA9IHAtPm5leHQ7CisKKwkJaWYgKHAtPnByb2Nlc3MgJiYgIWluX3NpZ25hbCkgeworCQkJc3RydWN0IGNoaWxkX3Byb2Nlc3MgKnByb2Nlc3MgPSBwLT5wcm9jZXNzOworCQkJaWYgKHByb2Nlc3MtPmNsZWFuX29uX2V4aXRfaGFuZGxlcikgeworCQkJCXRyYWNlX3ByaW50ZigKKwkJCQkJInRyYWNlOiBydW5fY29tbWFuZDogcnVubmluZyBleGl0IGhhbmRsZXIgZm9yIHBpZCAlIgorCQkJCQlQUkl1TUFYLCAodWludG1heF90KXAtPnBpZAorCQkJCSk7CisJCQkJcHJvY2Vzcy0+Y2xlYW5fb25fZXhpdF9oYW5kbGVyKHByb2Nlc3MpOworCQkJfQorCQl9CisKIAkJa2lsbChwLT5waWQsIHNpZyk7CiAJCWlmICghaW5fc2lnbmFsKQogCQkJZnJlZShwKTsKQEAgLTQ5LDEwICs2MiwxMSBAQAogCWNsZWFudXBfY2hpbGRyZW4oU0lHVEVSTSwgMCk7CiB9CiAKLXN0YXRpYyB2b2lkIG1hcmtfY2hpbGRfZm9yX2NsZWFudXAocGlkX3QgcGlkKQorc3RhdGljIHZvaWQgbWFya19jaGlsZF9mb3JfY2xlYW51cChwaWRfdCBwaWQsIHN0cnVjdCBjaGlsZF9wcm9jZXNzICpwcm9jZXNzKQogewogCXN0cnVjdCBjaGlsZF90b19jbGVhbiAqcCA9IHhtYWxsb2Moc2l6ZW9mKCpwKSk7CiAJcC0+cGlkID0gcGlkOworCXAtPnByb2Nlc3MgPSBwcm9jZXNzOwogCXAtPm5leHQgPSBjaGlsZHJlbl90b19jbGVhbjsKIAljaGlsZHJlbl90b19jbGVhbiA9IHA7CiAKQEAgLTQyMiw3ICs0MzYsNyBAQAogCWlmIChjbWQtPnBpZCA8IDApCiAJCWVycm9yX2Vycm5vKCJjYW5ub3QgZm9yaygpIGZvciAlcyIsIGNtZC0+YXJndlswXSk7CiAJZWxzZSBpZiAoY21kLT5jbGVhbl9vbl9leGl0KQotCQltYXJrX2NoaWxkX2Zvcl9jbGVhbnVwKGNtZC0+cGlkKTsKKwkJbWFya19jaGlsZF9mb3JfY2xlYW51cChjbWQtPnBpZCwgY21kKTsKIAogCS8qCiAJICogV2FpdCBmb3IgY2hpbGQncyBleGVjdnAuIElmIHRoZSBleGVjdnAgc3VjY2VlZHMgKG9yIGlmIGZvcmsoKQpAQCAtNDgzLDcgKzQ5Nyw3IEBACiAJaWYgKGNtZC0+cGlkIDwgMCAmJiAoIWNtZC0+c2lsZW50X2V4ZWNfZmFpbHVyZSB8fCBlcnJubyAhPSBFTk9FTlQpKQogCQllcnJvcl9lcnJubygiY2Fubm90IHNwYXduICVzIiwgY21kLT5hcmd2WzBdKTsKIAlpZiAoY21kLT5jbGVhbl9vbl9leGl0ICYmIGNtZC0+cGlkID49IDApCi0JCW1hcmtfY2hpbGRfZm9yX2NsZWFudXAoY21kLT5waWQpOworCQltYXJrX2NoaWxkX2Zvcl9jbGVhbnVwKGNtZC0+cGlkLCBjbWQpOwogCiAJYXJndl9hcnJheV9jbGVhcigmbmFyZ3YpOwogCWNtZC0+YXJndiA9IHNhcmd2OwpAQCAtNjM0LDcgKzY0OCw3IEBACiAJcmV0dXJuICFwdGhyZWFkX2VxdWFsKG1haW5fdGhyZWFkLCBwdGhyZWFkX3NlbGYoKSk7CiB9CiAKLXZvaWQgTk9SRVRVUk4gYXN5bmNfZXhpdChpbnQgY29kZSkKK3N0YXRpYyB2b2lkIE5PUkVUVVJOIGFzeW5jX2V4aXQoaW50IGNvZGUpCiB7CiAJcHRocmVhZF9leGl0KCh2b2lkICopKGludHB0cl90KWNvZGUpOwogfQpAQCAtNjg0LDEzICs2OTgsMjYgQEAKIAlyZXR1cm4gcHJvY2Vzc19pc19hc3luYzsKIH0KIAotdm9pZCBOT1JFVFVSTiBhc3luY19leGl0KGludCBjb2RlKQorc3RhdGljIHZvaWQgTk9SRVRVUk4gYXN5bmNfZXhpdChpbnQgY29kZSkKIHsKIAlleGl0KGNvZGUpOwogfQogCiAjZW5kaWYKIAordm9pZCBjaGVja19waXBlKGludCBlcnIpCit7CisJaWYgKGVyciA9PSBFUElQRSkgeworCQlpZiAoaW5fYXN5bmMoKSkKKwkJCWFzeW5jX2V4aXQoMTQxKTsKKworCQlzaWduYWwoU0lHUElQRSwgU0lHX0RGTCk7CisJCXJhaXNlKFNJR1BJUEUpOworCQkvKiBTaG91bGQgbmV2ZXIgaGFwcGVuLCBidXQganVzdCBpbiBjYXNlLi4uICovCisJCWV4aXQoMTQxKTsKKwl9Cit9CisKIGludCBzdGFydF9hc3luYyhzdHJ1Y3QgYXN5bmMgKmFzeW5jKQogewogCWludCBuZWVkX2luLCBuZWVkX291dDsKQEAgLTc1Miw3ICs3NzksNyBAQAogCQlleGl0KCEhYXN5bmMtPnByb2MocHJvY19pbiwgcHJvY19vdXQsIGFzeW5jLT5kYXRhKSk7CiAJfQogCi0JbWFya19jaGlsZF9mb3JfY2xlYW51cChhc3luYy0+cGlkKTsKKwltYXJrX2NoaWxkX2Zvcl9jbGVhbnVwKGFzeW5jLT5waWQsIE5VTEwpOwogCiAJaWYgKG5lZWRfaW4pCiAJCWNsb3NlKGZkaW5bMF0pOwpAQCAtODI0LDEwICs4NTEsNyBAQAogCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKIAogCXN0cmJ1Zl9yZXNldCgmcGF0aCk7Ci0JaWYgKGdpdF9ob29rc19wYXRoKQotCQlzdHJidWZfYWRkZigmcGF0aCwgIiVzLyVzIiwgZ2l0X2hvb2tzX3BhdGgsIG5hbWUpOwotCWVsc2UKLQkJc3RyYnVmX2dpdF9wYXRoKCZwYXRoLCAiaG9va3MvJXMiLCBuYW1lKTsKKwlzdHJidWZfZ2l0X3BhdGgoJnBhdGgsICJob29rcy8lcyIsIG5hbWUpOwogCWlmIChhY2Nlc3MocGF0aC5idWYsIFhfT0spIDwgMCkKIAkJcmV0dXJuIE5VTEw7CiAJcmV0dXJuIHBhdGguYnVmOwpAQCAtODY0LDE5ICs4ODgsMTYxIEBACiAJcmV0dXJuIHJldDsKIH0KIAotaW50IGNhcHR1cmVfY29tbWFuZChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY21kLCBzdHJ1Y3Qgc3RyYnVmICpidWYsIHNpemVfdCBoaW50KQorc3RydWN0IGlvX3B1bXAgeworCS8qIGluaXRpYWxpemVkIGJ5IGNhbGxlciAqLworCWludCBmZDsKKwlpbnQgdHlwZTsgLyogUE9MTE9VVCBvciBQT0xMSU4gKi8KKwl1bmlvbiB7CisJCXN0cnVjdCB7CisJCQljb25zdCBjaGFyICpidWY7CisJCQlzaXplX3QgbGVuOworCQl9IG91dDsKKwkJc3RydWN0IHsKKwkJCXN0cnVjdCBzdHJidWYgKmJ1ZjsKKwkJCXNpemVfdCBoaW50OworCQl9IGluOworCX0gdTsKKworCS8qIHJldHVybmVkIGJ5IHB1bXBfaW8gKi8KKwlpbnQgZXJyb3I7IC8qIDAgZm9yIHN1Y2Nlc3MsIG90aGVyd2lzZSBlcnJubyAqLworCisJLyogaW50ZXJuYWwgdXNlICovCisJc3RydWN0IHBvbGxmZCAqcGZkOworfTsKKworc3RhdGljIGludCBwdW1wX2lvX3JvdW5kKHN0cnVjdCBpb19wdW1wICpzbG90cywgaW50IG5yLCBzdHJ1Y3QgcG9sbGZkICpwZmQpCiB7Ci0JY21kLT5vdXQgPSAtMTsKKwlpbnQgcG9sbHNpemUgPSAwOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG5yOyBpKyspIHsKKwkJc3RydWN0IGlvX3B1bXAgKmlvID0gJnNsb3RzW2ldOworCQlpZiAoaW8tPmZkIDwgMCkKKwkJCWNvbnRpbnVlOworCQlwZmRbcG9sbHNpemVdLmZkID0gaW8tPmZkOworCQlwZmRbcG9sbHNpemVdLmV2ZW50cyA9IGlvLT50eXBlOworCQlpby0+cGZkID0gJnBmZFtwb2xsc2l6ZSsrXTsKKwl9CisKKwlpZiAoIXBvbGxzaXplKQorCQlyZXR1cm4gMDsKKworCWlmIChwb2xsKHBmZCwgcG9sbHNpemUsIC0xKSA8IDApIHsKKwkJaWYgKGVycm5vID09IEVJTlRSKQorCQkJcmV0dXJuIDE7CisJCWRpZV9lcnJubygicG9sbCBmYWlsZWQiKTsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbnI7IGkrKykgeworCQlzdHJ1Y3QgaW9fcHVtcCAqaW8gPSAmc2xvdHNbaV07CisKKwkJaWYgKGlvLT5mZCA8IDApCisJCQljb250aW51ZTsKKworCQlpZiAoIShpby0+cGZkLT5yZXZlbnRzICYgKFBPTExPVVR8UE9MTElOfFBPTExIVVB8UE9MTEVSUnxQT0xMTlZBTCkpKQorCQkJY29udGludWU7CisKKwkJaWYgKGlvLT50eXBlID09IFBPTExPVVQpIHsKKwkJCXNzaXplX3QgbGVuID0geHdyaXRlKGlvLT5mZCwKKwkJCQkJICAgICBpby0+dS5vdXQuYnVmLCBpby0+dS5vdXQubGVuKTsKKwkJCWlmIChsZW4gPCAwKSB7CisJCQkJaW8tPmVycm9yID0gZXJybm87CisJCQkJY2xvc2UoaW8tPmZkKTsKKwkJCQlpby0+ZmQgPSAtMTsKKwkJCX0gZWxzZSB7CisJCQkJaW8tPnUub3V0LmJ1ZiArPSBsZW47CisJCQkJaW8tPnUub3V0LmxlbiAtPSBsZW47CisJCQkJaWYgKCFpby0+dS5vdXQubGVuKSB7CisJCQkJCWNsb3NlKGlvLT5mZCk7CisJCQkJCWlvLT5mZCA9IC0xOworCQkJCX0KKwkJCX0KKwkJfQorCisJCWlmIChpby0+dHlwZSA9PSBQT0xMSU4pIHsKKwkJCXNzaXplX3QgbGVuID0gc3RyYnVmX3JlYWRfb25jZShpby0+dS5pbi5idWYsCisJCQkJCQkgICAgICAgaW8tPmZkLCBpby0+dS5pbi5oaW50KTsKKwkJCWlmIChsZW4gPCAwKQorCQkJCWlvLT5lcnJvciA9IGVycm5vOworCQkJaWYgKGxlbiA8PSAwKSB7CisJCQkJY2xvc2UoaW8tPmZkKTsKKwkJCQlpby0+ZmQgPSAtMTsKKwkJCX0KKwkJfQorCX0KKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHB1bXBfaW8oc3RydWN0IGlvX3B1bXAgKnNsb3RzLCBpbnQgbnIpCit7CisJc3RydWN0IHBvbGxmZCAqcGZkOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG5yOyBpKyspCisJCXNsb3RzW2ldLmVycm9yID0gMDsKKworCUFMTE9DX0FSUkFZKHBmZCwgbnIpOworCXdoaWxlIChwdW1wX2lvX3JvdW5kKHNsb3RzLCBuciwgcGZkKSkKKwkJOyAvKiBub3RoaW5nICovCisJZnJlZShwZmQpOworCisJLyogVGhlcmUgbWF5IGJlIG11bHRpcGxlIGVycm5vIHZhbHVlcywgc28ganVzdCBwaWNrIHRoZSBmaXJzdC4gKi8KKwlmb3IgKGkgPSAwOyBpIDwgbnI7IGkrKykgeworCQlpZiAoc2xvdHNbaV0uZXJyb3IpIHsKKwkJCWVycm5vID0gc2xvdHNbaV0uZXJyb3I7CisJCQlyZXR1cm4gLTE7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKKworaW50IHBpcGVfY29tbWFuZChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY21kLAorCQkgY29uc3QgY2hhciAqaW4sIHNpemVfdCBpbl9sZW4sCisJCSBzdHJ1Y3Qgc3RyYnVmICpvdXQsIHNpemVfdCBvdXRfaGludCwKKwkJIHN0cnVjdCBzdHJidWYgKmVyciwgc2l6ZV90IGVycl9oaW50KQoreworCXN0cnVjdCBpb19wdW1wIGlvWzNdOworCWludCBuciA9IDA7CisKKwlpZiAoaW4pCisJCWNtZC0+aW4gPSAtMTsKKwlpZiAob3V0KQorCQljbWQtPm91dCA9IC0xOworCWlmIChlcnIpCisJCWNtZC0+ZXJyID0gLTE7CisKIAlpZiAoc3RhcnRfY29tbWFuZChjbWQpIDwgMCkKIAkJcmV0dXJuIC0xOwogCi0JaWYgKHN0cmJ1Zl9yZWFkKGJ1ZiwgY21kLT5vdXQsIGhpbnQpIDwgMCkgewotCQljbG9zZShjbWQtPm91dCk7CisJaWYgKGluKSB7CisJCWlvW25yXS5mZCA9IGNtZC0+aW47CisJCWlvW25yXS50eXBlID0gUE9MTE9VVDsKKwkJaW9bbnJdLnUub3V0LmJ1ZiA9IGluOworCQlpb1tucl0udS5vdXQubGVuID0gaW5fbGVuOworCQlucisrOworCX0KKwlpZiAob3V0KSB7CisJCWlvW25yXS5mZCA9IGNtZC0+b3V0OworCQlpb1tucl0udHlwZSA9IFBPTExJTjsKKwkJaW9bbnJdLnUuaW4uYnVmID0gb3V0OworCQlpb1tucl0udS5pbi5oaW50ID0gb3V0X2hpbnQ7CisJCW5yKys7CisJfQorCWlmIChlcnIpIHsKKwkJaW9bbnJdLmZkID0gY21kLT5lcnI7CisJCWlvW25yXS50eXBlID0gUE9MTElOOworCQlpb1tucl0udS5pbi5idWYgPSBlcnI7CisJCWlvW25yXS51LmluLmhpbnQgPSBlcnJfaGludDsKKwkJbnIrKzsKKwl9CisKKwlpZiAocHVtcF9pbyhpbywgbnIpIDwgMCkgewogCQlmaW5pc2hfY29tbWFuZChjbWQpOyAvKiB0aHJvdyBhd2F5IGV4aXQgY29kZSAqLwogCQlyZXR1cm4gLTE7CiAJfQogCi0JY2xvc2UoY21kLT5vdXQpOwogCXJldHVybiBmaW5pc2hfY29tbWFuZChjbWQpOwogfQogCmRpZmYgLS1naXQgYS9ydW4tY29tbWFuZC5oIGIvcnVuLWNvbW1hbmQuaAppbmRleCAxMWY3NmIwLi5kZDFjNzhjIDEwMDY0NAotLS0gYS9ydW4tY29tbWFuZC5oCisrKyBiL3J1bi1jb21tYW5kLmgKQEAgLTQzLDYgKzQzLDggQEAKIAl1bnNpZ25lZCBzdGRvdXRfdG9fc3RkZXJyOjE7CiAJdW5zaWduZWQgdXNlX3NoZWxsOjE7CiAJdW5zaWduZWQgY2xlYW5fb25fZXhpdDoxOworCXZvaWQgKCpjbGVhbl9vbl9leGl0X2hhbmRsZXIpKHN0cnVjdCBjaGlsZF9wcm9jZXNzICpwcm9jZXNzKTsKKwl2b2lkICpjbGVhbl9vbl9leGl0X2hhbmRsZXJfY2JkYXRhOwogfTsKIAogI2RlZmluZSBDSElMRF9QUk9DRVNTX0lOSVQgeyBOVUxMLCBBUkdWX0FSUkFZX0lOSVQsIEFSR1ZfQVJSQVlfSU5JVCB9CkBAIC03OSwxNyArODEsMzQgQEAKIGludCBydW5fY29tbWFuZF92X29wdF9jZF9lbnYoY29uc3QgY2hhciAqKmFyZ3YsIGludCBvcHQsIGNvbnN0IGNoYXIgKmRpciwgY29uc3QgY2hhciAqY29uc3QgKmVudik7CiAKIC8qKgotICogRXhlY3V0ZSB0aGUgZ2l2ZW4gY29tbWFuZCwgY2FwdHVyaW5nIGl0cyBzdGRvdXQgaW4gdGhlIGdpdmVuIHN0cmJ1Zi4KKyAqIEV4ZWN1dGUgdGhlIGdpdmVuIGNvbW1hbmQsIHNlbmRpbmcgImluIiB0byBpdHMgc3RkaW4sIGFuZCBjYXB0dXJpbmcgaXRzCisgKiBzdGRvdXQgYW5kIHN0ZGVyciBpbiB0aGUgIm91dCIgYW5kICJlcnIiIHN0cmJ1ZnMuIEFueSBvZiB0aGUgdGhyZWUgbWF5CisgKiBiZSBOVUxMIHRvIHNraXAgcHJvY2Vzc2luZy4KKyAqCiAgKiBSZXR1cm5zIC0xIGlmIHN0YXJ0aW5nIHRoZSBjb21tYW5kIGZhaWxzIG9yIHJlYWRpbmcgZmFpbHMsIGFuZCBvdGhlcndpc2UKLSAqIHJldHVybnMgdGhlIGV4aXQgY29kZSBvZiB0aGUgY29tbWFuZC4gVGhlIG91dHB1dCBjb2xsZWN0ZWQgaW4gdGhlCi0gKiBidWZmZXIgaXMga2VwdCBldmVuIGlmIHRoZSBjb21tYW5kIHJldHVybnMgYSBub24temVybyBleGl0LiBUaGUgaGludCBmaWVsZAotICogZ2l2ZXMgYSBzdGFydGluZyBzaXplIGZvciB0aGUgc3RyYnVmIGFsbG9jYXRpb24uCisgKiByZXR1cm5zIHRoZSBleGl0IGNvZGUgb2YgdGhlIGNvbW1hbmQuIEFueSBvdXRwdXQgY29sbGVjdGVkIGluIHRoZQorICogYnVmZmVycyBpcyBrZXB0IGV2ZW4gaWYgdGhlIGNvbW1hbmQgcmV0dXJucyBhIG5vbi16ZXJvIGV4aXQuIFRoZSBoaW50IGZpZWxkcworICogZ2l2ZXMgc3RhcnRpbmcgc2l6ZXMgZm9yIHRoZSBzdHJidWYgYWxsb2NhdGlvbnMuCiAgKgogICogVGhlIGZpZWxkcyBvZiAiY21kIiBzaG91bGQgYmUgc2V0IHVwIGFzIHRoZXkgd291bGQgZm9yIGEgbm9ybWFsIHJ1bl9jb21tYW5kCi0gKiBpbnZvY2F0aW9uLiBCdXQgbm90ZSB0aGF0IHRoZXJlIGlzIG5vIG5lZWQgdG8gc2V0IGNtZC0+b3V0OyB0aGUgZnVuY3Rpb24KLSAqIHNldHMgaXQgdXAgZm9yIHRoZSBjYWxsZXIuCisgKiBpbnZvY2F0aW9uLiBCdXQgbm90ZSB0aGF0IHRoZXJlIGlzIG5vIG5lZWQgdG8gc2V0IHRoZSBpbiwgb3V0LCBvciBlcnIKKyAqIGZpZWxkczsgcGlwZV9jb21tYW5kIGhhbmRsZXMgdGhhdCBhdXRvbWF0aWNhbGx5LgogICovCi1pbnQgY2FwdHVyZV9jb21tYW5kKHN0cnVjdCBjaGlsZF9wcm9jZXNzICpjbWQsIHN0cnVjdCBzdHJidWYgKmJ1Ziwgc2l6ZV90IGhpbnQpOworaW50IHBpcGVfY29tbWFuZChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY21kLAorCQkgY29uc3QgY2hhciAqaW4sIHNpemVfdCBpbl9sZW4sCisJCSBzdHJ1Y3Qgc3RyYnVmICpvdXQsIHNpemVfdCBvdXRfaGludCwKKwkJIHN0cnVjdCBzdHJidWYgKmVyciwgc2l6ZV90IGVycl9oaW50KTsKKworLyoqCisgKiBDb252ZW5pZW5jZSB3cmFwcGVyIGFyb3VuZCBwaXBlX2NvbW1hbmQgZm9yIHRoZSBjb21tb24gY2FzZQorICogb2YgY2FwdHVyaW5nIG9ubHkgc3Rkb3V0LgorICovCitzdGF0aWMgaW5saW5lIGludCBjYXB0dXJlX2NvbW1hbmQoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNtZCwKKwkJCQkgIHN0cnVjdCBzdHJidWYgKm91dCwKKwkJCQkgIHNpemVfdCBoaW50KQoreworCXJldHVybiBwaXBlX2NvbW1hbmQoY21kLCBOVUxMLCAwLCBvdXQsIGhpbnQsIE5VTEwsIDApOworfQogCiAvKgogICogVGhlIHB1cnBvc2Ugb2YgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgaXMgdG8gZmVlZCBhIHBpcGUgYnkgcnVubmluZwpAQCAtMTIyLDcgKzE0MSw3IEBACiBpbnQgc3RhcnRfYXN5bmMoc3RydWN0IGFzeW5jICphc3luYyk7CiBpbnQgZmluaXNoX2FzeW5jKHN0cnVjdCBhc3luYyAqYXN5bmMpOwogaW50IGluX2FzeW5jKHZvaWQpOwotdm9pZCBOT1JFVFVSTiBhc3luY19leGl0KGludCBjb2RlKTsKK3ZvaWQgY2hlY2tfcGlwZShpbnQgZXJyKTsKIAogLyoqCiAgKiBUaGlzIGNhbGxiYWNrIHNob3VsZCBpbml0aWFsaXplIHRoZSBjaGlsZCBwcm9jZXNzIGFuZCBwcmVsb2FkIHRoZQpkaWZmIC0tZ2l0IGEvc2VuZC1wYWNrLmMgYi9zZW5kLXBhY2suYwppbmRleCAzN2VlMDRlLi42MTk1YjQzIDEwMDY0NAotLS0gYS9zZW5kLXBhY2suYworKysgYi9zZW5kLXBhY2suYwpAQCAtMzYsMTggKzM2LDE1IEBACiAJZGllKCJiYWQgJXMgYXJndW1lbnQ6ICVzIiwgb3B0LT5sb25nX25hbWUsIGFyZyk7CiB9CiAKLXN0YXRpYyBpbnQgZmVlZF9vYmplY3QoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50IGZkLCBpbnQgbmVnYXRpdmUpCitzdGF0aWMgdm9pZCBmZWVkX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBGSUxFICpmaCwgaW50IG5lZ2F0aXZlKQogewotCWNoYXIgYnVmWzQyXTsKLQogCWlmIChuZWdhdGl2ZSAmJiAhaGFzX3NoYTFfZmlsZShzaGExKSkKLQkJcmV0dXJuIDE7CisJCXJldHVybjsKIAotCW1lbWNweShidWYgKyBuZWdhdGl2ZSwgc2hhMV90b19oZXgoc2hhMSksIDQwKTsKIAlpZiAobmVnYXRpdmUpCi0JCWJ1ZlswXSA9ICdeJzsKLQlidWZbNDAgKyBuZWdhdGl2ZV0gPSAnXG4nOwotCXJldHVybiB3cml0ZV9vcl93aGluZShmZCwgYnVmLCA0MSArIG5lZ2F0aXZlLCAic2VuZC1wYWNrOiBzZW5kIHJlZnMiKTsKKwkJcHV0YygnXicsIGZoKTsKKwlmcHV0cyhzaGExX3RvX2hleChzaGExKSwgZmgpOworCXB1dGMoJ1xuJywgZmgpOwogfQogCiAvKgpAQCAtNzMsNiArNzAsNyBAQAogCQlOVUxMLAogCX07CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgcG8gPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJRklMRSAqcG9faW47CiAJaW50IGk7CiAKIAlpID0gNDsKQEAgLTk3LDIxICs5NSwyMiBAQAogCSAqIFdlIGZlZWQgdGhlIHBhY2stb2JqZWN0cyB3ZSBqdXN0IHNwYXduZWQgd2l0aCByZXZpc2lvbgogCSAqIHBhcmFtZXRlcnMgYnkgd3JpdGluZyB0byB0aGUgcGlwZS4KIAkgKi8KKwlwb19pbiA9IHhmZG9wZW4ocG8uaW4sICJ3Iik7CiAJZm9yIChpID0gMDsgaSA8IGV4dHJhLT5ucjsgaSsrKQotCQlpZiAoIWZlZWRfb2JqZWN0KGV4dHJhLT5zaGExW2ldLCBwby5pbiwgMSkpCi0JCQlicmVhazsKKwkJZmVlZF9vYmplY3QoZXh0cmEtPnNoYTFbaV0sIHBvX2luLCAxKTsKIAogCXdoaWxlIChyZWZzKSB7Ci0JCWlmICghaXNfbnVsbF9vaWQoJnJlZnMtPm9sZF9vaWQpICYmCi0JCSAgICAhZmVlZF9vYmplY3QocmVmcy0+b2xkX29pZC5oYXNoLCBwby5pbiwgMSkpCi0JCQlicmVhazsKLQkJaWYgKCFpc19udWxsX29pZCgmcmVmcy0+bmV3X29pZCkgJiYKLQkJICAgICFmZWVkX29iamVjdChyZWZzLT5uZXdfb2lkLmhhc2gsIHBvLmluLCAwKSkKLQkJCWJyZWFrOworCQlpZiAoIWlzX251bGxfb2lkKCZyZWZzLT5vbGRfb2lkKSkKKwkJCWZlZWRfb2JqZWN0KHJlZnMtPm9sZF9vaWQuaGFzaCwgcG9faW4sIDEpOworCQlpZiAoIWlzX251bGxfb2lkKCZyZWZzLT5uZXdfb2lkKSkKKwkJCWZlZWRfb2JqZWN0KHJlZnMtPm5ld19vaWQuaGFzaCwgcG9faW4sIDApOwogCQlyZWZzID0gcmVmcy0+bmV4dDsKIAl9CiAKLQljbG9zZShwby5pbik7CisJZmZsdXNoKHBvX2luKTsKKwlpZiAoZmVycm9yKHBvX2luKSkKKwkJZGllX2Vycm5vKCJlcnJvciB3cml0aW5nIHRvIHBhY2stb2JqZWN0cyIpOworCWZjbG9zZShwb19pbik7CiAKIAlpZiAoYXJncy0+c3RhdGVsZXNzX3JwYykgewogCQljaGFyICpidWYgPSB4bWFsbG9jKExBUkdFX1BBQ0tFVF9NQVgpOwpAQCAtMTgyLDggKzE4MSw3IEBACiAJCQloaW50LT5zdGF0dXMgPSBSRUZfU1RBVFVTX1JFTU9URV9SRUpFQ1Q7CiAJCQlyZXQgPSAtMTsKIAkJfQotCQlpZiAobXNnKQotCQkJaGludC0+cmVtb3RlX3N0YXR1cyA9IHhzdHJkdXAobXNnKTsKKwkJaGludC0+cmVtb3RlX3N0YXR1cyA9IHhzdHJkdXBfb3JfbnVsbChtc2cpOwogCQkvKiBzdGFydCBvdXIgbmV4dCBzZWFyY2ggZnJvbSB0aGUgbmV4dCByZWYgKi8KIAkJaGludCA9IGhpbnQtPm5leHQ7CiAJfQpAQCAtMjYxLDEyICsyNTksMTMgQEAKIAkJCSAgICAgIGNvbnN0IGNoYXIgKnB1c2hfY2VydF9ub25jZSkKIHsKIAljb25zdCBzdHJ1Y3QgcmVmICpyZWY7CisJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CiAJY2hhciAqc2lnbmluZ19rZXkgPSB4c3RyZHVwKGdldF9zaWduaW5nX2tleSgpKTsKIAljb25zdCBjaGFyICpjcCwgKm5wOwogCXN0cnVjdCBzdHJidWYgY2VydCA9IFNUUkJVRl9JTklUOwogCWludCB1cGRhdGVfc2VlbiA9IDA7CiAKLQlzdHJidWZfYWRkZigmY2VydCwgImNlcnRpZmljYXRlIHZlcnNpb24gMC4xXG4iKTsKKwlzdHJidWZfYWRkc3RyKCZjZXJ0LCAiY2VydGlmaWNhdGUgdmVyc2lvbiAwLjFcbiIpOwogCXN0cmJ1Zl9hZGRmKCZjZXJ0LCAicHVzaGVyICVzICIsIHNpZ25pbmdfa2V5KTsKIAlkYXRlc3RhbXAoJmNlcnQpOwogCXN0cmJ1Zl9hZGRjaCgmY2VydCwgJ1xuJyk7CkBAIC0yNzcsNiArMjc2LDkgQEAKIAl9CiAJaWYgKHB1c2hfY2VydF9ub25jZVswXSkKIAkJc3RyYnVmX2FkZGYoJmNlcnQsICJub25jZSAlc1xuIiwgcHVzaF9jZXJ0X25vbmNlKTsKKwlpZiAoYXJncy0+cHVzaF9vcHRpb25zKQorCQlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sIGFyZ3MtPnB1c2hfb3B0aW9ucykKKwkJCXN0cmJ1Zl9hZGRmKCZjZXJ0LCAicHVzaC1vcHRpb24gJXNcbiIsIGl0ZW0tPnN0cmluZyk7CiAJc3RyYnVmX2FkZHN0cigmY2VydCwgIlxuIik7CiAKIAlmb3IgKHJlZiA9IHJlbW90ZV9yZWZzOyByZWY7IHJlZiA9IHJlZi0+bmV4dCkgewpAQCAtMzcxLDYgKzM3Myw4IEBACiAJaW50IGFnZW50X3N1cHBvcnRlZCA9IDA7CiAJaW50IHVzZV9hdG9taWMgPSAwOwogCWludCBhdG9taWNfc3VwcG9ydGVkID0gMDsKKwlpbnQgdXNlX3B1c2hfb3B0aW9ucyA9IDA7CisJaW50IHB1c2hfb3B0aW9uc19zdXBwb3J0ZWQgPSAwOwogCXVuc2lnbmVkIGNtZHNfc2VudCA9IDA7CiAJaW50IHJldDsKIAlzdHJ1Y3QgYXN5bmMgZGVtdXg7CkBAIC0zOTMsNiArMzk3LDggQEAKIAkJYXJncy0+dXNlX3RoaW5fcGFjayA9IDA7CiAJaWYgKHNlcnZlcl9zdXBwb3J0cygiYXRvbWljIikpCiAJCWF0b21pY19zdXBwb3J0ZWQgPSAxOworCWlmIChzZXJ2ZXJfc3VwcG9ydHMoInB1c2gtb3B0aW9ucyIpKQorCQlwdXNoX29wdGlvbnNfc3VwcG9ydGVkID0gMTsKIAogCWlmIChhcmdzLT5wdXNoX2NlcnQgIT0gU0VORF9QQUNLX1BVU0hfQ0VSVF9ORVZFUikgewogCQlpbnQgbGVuOwpAQCAtNDE5LDYgKzQyNSwxMSBAQAogCiAJdXNlX2F0b21pYyA9IGF0b21pY19zdXBwb3J0ZWQgJiYgYXJncy0+YXRvbWljOwogCisJaWYgKGFyZ3MtPnB1c2hfb3B0aW9ucyAmJiAhcHVzaF9vcHRpb25zX3N1cHBvcnRlZCkKKwkJZGllKF8oInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIikpOworCisJdXNlX3B1c2hfb3B0aW9ucyA9IHB1c2hfb3B0aW9uc19zdXBwb3J0ZWQgJiYgYXJncy0+cHVzaF9vcHRpb25zOworCiAJaWYgKHN0YXR1c19yZXBvcnQpCiAJCXN0cmJ1Zl9hZGRzdHIoJmNhcF9idWYsICIgcmVwb3J0LXN0YXR1cyIpOwogCWlmICh1c2Vfc2lkZWJhbmQpCkBAIC00MjcsNiArNDM4LDggQEAKIAkJc3RyYnVmX2FkZHN0cigmY2FwX2J1ZiwgIiBxdWlldCIpOwogCWlmICh1c2VfYXRvbWljKQogCQlzdHJidWZfYWRkc3RyKCZjYXBfYnVmLCAiIGF0b21pYyIpOworCWlmICh1c2VfcHVzaF9vcHRpb25zKQorCQlzdHJidWZfYWRkc3RyKCZjYXBfYnVmLCAiIHB1c2gtb3B0aW9ucyIpOwogCWlmIChhZ2VudF9zdXBwb3J0ZWQpCiAJCXN0cmJ1Zl9hZGRmKCZjYXBfYnVmLCAiIGFnZW50PSVzIiwgZ2l0X3VzZXJfYWdlbnRfc2FuaXRpemVkKCkpOwogCkBAIC01MTMsNiArNTI2LDE4IEBACiAJc3RyYnVmX3JlbGVhc2UoJnJlcV9idWYpOwogCXN0cmJ1Zl9yZWxlYXNlKCZjYXBfYnVmKTsKIAorCWlmICh1c2VfcHVzaF9vcHRpb25zKSB7CisJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOworCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisKKwkJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpdGVtLCBhcmdzLT5wdXNoX29wdGlvbnMpCisJCQlwYWNrZXRfYnVmX3dyaXRlKCZzYiwgIiVzIiwgaXRlbS0+c3RyaW5nKTsKKworCQl3cml0ZV9vcl9kaWUob3V0LCBzYi5idWYsIHNiLmxlbik7CisJCXBhY2tldF9mbHVzaChvdXQpOworCQlzdHJidWZfcmVsZWFzZSgmc2IpOworCX0KKwogCWlmICh1c2Vfc2lkZWJhbmQgJiYgY21kc19zZW50KSB7CiAJCW1lbXNldCgmZGVtdXgsIDAsIHNpemVvZihkZW11eCkpOwogCQlkZW11eC5wcm9jID0gc2lkZWJhbmRfZGVtdXg7CmRpZmYgLS1naXQgYS9zZW5kLXBhY2suaCBiL3NlbmQtcGFjay5oCmluZGV4IDU3ZjIyMmEuLjY3ZmM0MGYgMTAwNjQ0Ci0tLSBhL3NlbmQtcGFjay5oCisrKyBiL3NlbmQtcGFjay5oCkBAIC0xLDYgKzEsOCBAQAogI2lmbmRlZiBTRU5EX1BBQ0tfSAogI2RlZmluZSBTRU5EX1BBQ0tfSAogCisjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKKwogLyogUG9zc2libGUgdmFsdWVzIGZvciBwdXNoX2NlcnQgZmllbGQgaW4gc2VuZF9wYWNrX2FyZ3MuICovCiAjZGVmaW5lIFNFTkRfUEFDS19QVVNIX0NFUlRfTkVWRVIgMAogI2RlZmluZSBTRU5EX1BBQ0tfUFVTSF9DRVJUX0lGX0FTS0VEIDEKQEAgLTIxLDYgKzIzLDcgQEAKIAkJcHVzaF9jZXJ0OjIsCiAJCXN0YXRlbGVzc19ycGM6MSwKIAkJYXRvbWljOjE7CisJY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpwdXNoX29wdGlvbnM7CiB9OwogCiBzdHJ1Y3Qgb3B0aW9uOwpkaWZmIC0tZ2l0IGEvc2VxdWVuY2VyLmMgYi9zZXF1ZW5jZXIuYwppbmRleCA0Njg3YWQ0Li4zMGIxMGJhIDEwMDY0NAotLS0gYS9zZXF1ZW5jZXIuYworKysgYi9zZXF1ZW5jZXIuYwpAQCAtMTUsMTYgKzE1LDQ2IEBACiAjaW5jbHVkZSAibWVyZ2UtcmVjdXJzaXZlLmgiCiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKKyNpbmNsdWRlICJxdW90ZS5oIgogCiAjZGVmaW5lIEdJVF9SRUZMT0dfQUNUSU9OICJHSVRfUkVGTE9HX0FDVElPTiIKIAogY29uc3QgY2hhciBzaWduX29mZl9oZWFkZXJbXSA9ICJTaWduZWQtb2ZmLWJ5OiAiOwogc3RhdGljIGNvbnN0IGNoYXIgY2hlcnJ5X3BpY2tlZF9wcmVmaXhbXSA9ICIoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAiOwogCi1zdGF0aWMgR0lUX1BBVEhfRlVOQyhnaXRfcGF0aF90b2RvX2ZpbGUsIFNFUV9UT0RPX0ZJTEUpCi1zdGF0aWMgR0lUX1BBVEhfRlVOQyhnaXRfcGF0aF9vcHRzX2ZpbGUsIFNFUV9PUFRTX0ZJTEUpCi1zdGF0aWMgR0lUX1BBVEhfRlVOQyhnaXRfcGF0aF9zZXFfZGlyLCBTRVFfRElSKQotc3RhdGljIEdJVF9QQVRIX0ZVTkMoZ2l0X3BhdGhfaGVhZF9maWxlLCBTRVFfSEVBRF9GSUxFKQorR0lUX1BBVEhfRlVOQyhnaXRfcGF0aF9zZXFfZGlyLCAic2VxdWVuY2VyIikKKworc3RhdGljIEdJVF9QQVRIX0ZVTkMoZ2l0X3BhdGhfdG9kb19maWxlLCAic2VxdWVuY2VyL3RvZG8iKQorc3RhdGljIEdJVF9QQVRIX0ZVTkMoZ2l0X3BhdGhfb3B0c19maWxlLCAic2VxdWVuY2VyL29wdHMiKQorc3RhdGljIEdJVF9QQVRIX0ZVTkMoZ2l0X3BhdGhfaGVhZF9maWxlLCAic2VxdWVuY2VyL2hlYWQiKQorCisvKgorICogQSBzY3JpcHQgdG8gc2V0IHRoZSBHSVRfQVVUSE9SX05BTUUsIEdJVF9BVVRIT1JfRU1BSUwsIGFuZAorICogR0lUX0FVVEhPUl9EQVRFIHRoYXQgd2lsbCBiZSB1c2VkIGZvciB0aGUgY29tbWl0IHRoYXQgaXMgY3VycmVudGx5CisgKiBiZWluZyByZWJhc2VkLgorICovCitzdGF0aWMgR0lUX1BBVEhfRlVOQyhyZWJhc2VfcGF0aF9hdXRob3Jfc2NyaXB0LCAicmViYXNlLW1lcmdlL2F1dGhvci1zY3JpcHQiKQorLyoKKyAqIFRoZSBmb2xsb3dpbmcgZmlsZXMgYXJlIHdyaXR0ZW4gYnkgZ2l0LXJlYmFzZSBqdXN0IGFmdGVyIHBhcnNpbmcgdGhlCisgKiBjb21tYW5kLWxpbmUgKGFuZCBhcmUgb25seSBjb25zdW1lZCwgbm90IG1vZGlmaWVkLCBieSB0aGUgc2VxdWVuY2VyKS4KKyAqLworc3RhdGljIEdJVF9QQVRIX0ZVTkMocmViYXNlX3BhdGhfZ3BnX3NpZ25fb3B0LCAicmViYXNlLW1lcmdlL2dwZ19zaWduX29wdCIpCisKKy8qIFdlIHdpbGwgaW50cm9kdWNlIHRoZSAnaW50ZXJhY3RpdmUgcmViYXNlJyBtb2RlIGxhdGVyICovCitzdGF0aWMgaW5saW5lIGludCBpc19yZWJhc2VfaShjb25zdCBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpnZXRfZGlyKGNvbnN0IHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKK3sKKwlyZXR1cm4gZ2l0X3BhdGhfc2VxX2RpcigpOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3RvZG9fcGF0aChjb25zdCBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCit7CisJcmV0dXJuIGdpdF9wYXRoX3RvZG9fZmlsZSgpOworfQogCiBzdGF0aWMgaW50IGlzX3JmYzI4MjJfbGluZShjb25zdCBjaGFyICpidWYsIGludCBsZW4pCiB7CkBAIC0xMDgsMTggKzEzOCwzNyBAQAogCXJldHVybiAxOwogfQogCi1zdGF0aWMgdm9pZCByZW1vdmVfc2VxdWVuY2VyX3N0YXRlKHZvaWQpCitzdGF0aWMgY29uc3QgY2hhciAqZ3BnX3NpZ25fb3B0X3F1b3RlZChzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCiB7Ci0Jc3RydWN0IHN0cmJ1ZiBzZXFfZGlyID0gU1RSQlVGX0lOSVQ7CisJc3RhdGljIHN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAKLQlzdHJidWZfYWRkZigmc2VxX2RpciwgIiVzIiwgZ2l0X3BhdGgoU0VRX0RJUikpOwotCXJlbW92ZV9kaXJfcmVjdXJzaXZlbHkoJnNlcV9kaXIsIDApOwotCXN0cmJ1Zl9yZWxlYXNlKCZzZXFfZGlyKTsKKwlzdHJidWZfcmVzZXQoJmJ1Zik7CisJaWYgKG9wdHMtPmdwZ19zaWduKQorCQlzcV9xdW90ZWYoJmJ1ZiwgIi1TJXMiLCBvcHRzLT5ncGdfc2lnbik7CisJcmV0dXJuIGJ1Zi5idWY7Cit9CisKK2ludCBzZXF1ZW5jZXJfcmVtb3ZlX3N0YXRlKHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGRpciA9IFNUUkJVRl9JTklUOworCWludCBpOworCisJZnJlZShvcHRzLT5ncGdfc2lnbik7CisJZnJlZShvcHRzLT5zdHJhdGVneSk7CisJZm9yIChpID0gMDsgaSA8IG9wdHMtPnhvcHRzX25yOyBpKyspCisJCWZyZWUob3B0cy0+eG9wdHNbaV0pOworCWZyZWUob3B0cy0+eG9wdHMpOworCisJc3RyYnVmX2FkZGYoJmRpciwgIiVzIiwgZ2V0X2RpcihvcHRzKSk7CisJcmVtb3ZlX2Rpcl9yZWN1cnNpdmVseSgmZGlyLCAwKTsKKwlzdHJidWZfcmVsZWFzZSgmZGlyKTsKKworCXJldHVybiAwOwogfQogCiBzdGF0aWMgY29uc3QgY2hhciAqYWN0aW9uX25hbWUoY29uc3Qgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewotCXJldHVybiBvcHRzLT5hY3Rpb24gPT0gUkVQTEFZX1JFVkVSVCA/ICJyZXZlcnQiIDogImNoZXJyeS1waWNrIjsKKwlyZXR1cm4gb3B0cy0+YWN0aW9uID09IFJFUExBWV9SRVZFUlQgPyBOXygicmV2ZXJ0IikgOiBOXygiY2hlcnJ5LXBpY2siKTsKIH0KIAogc3RydWN0IGNvbW1pdF9tZXNzYWdlIHsKQEAgLTEyOSwxMyArMTc4LDE4IEBACiAJY29uc3QgY2hhciAqbWVzc2FnZTsKIH07CiAKK3N0YXRpYyBjb25zdCBjaGFyICpzaG9ydF9jb21taXRfbmFtZShzdHJ1Y3QgY29tbWl0ICpjb21taXQpCit7CisJcmV0dXJuIGZpbmRfdW5pcXVlX2FiYnJldihjb21taXQtPm9iamVjdC5vaWQuaGFzaCwgREVGQVVMVF9BQkJSRVYpOworfQorCiBzdGF0aWMgaW50IGdldF9tZXNzYWdlKHN0cnVjdCBjb21taXQgKmNvbW1pdCwgc3RydWN0IGNvbW1pdF9tZXNzYWdlICpvdXQpCiB7CiAJY29uc3QgY2hhciAqYWJicmV2LCAqc3ViamVjdDsKIAlpbnQgc3ViamVjdF9sZW47CiAKIAlvdXQtPm1lc3NhZ2UgPSBsb2dtc2dfcmVlbmNvZGUoY29tbWl0LCBOVUxMLCBnZXRfY29tbWl0X291dHB1dF9lbmNvZGluZygpKTsKLQlhYmJyZXYgPSBmaW5kX3VuaXF1ZV9hYmJyZXYoY29tbWl0LT5vYmplY3Qub2lkLmhhc2gsIERFRkFVTFRfQUJCUkVWKTsKKwlhYmJyZXYgPSBzaG9ydF9jb21taXRfbmFtZShjb21taXQpOwogCiAJc3ViamVjdF9sZW4gPSBmaW5kX2NvbW1pdF9zdWJqZWN0KG91dC0+bWVzc2FnZSwgJnN1YmplY3QpOwogCkBAIC0xODAsMTcgKzIzNCw2MiBAQAogCX0KIH0KIAotc3RhdGljIHZvaWQgd3JpdGVfbWVzc2FnZShzdHJ1Y3Qgc3RyYnVmICptc2didWYsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQorc3RhdGljIGludCB3cml0ZV9tZXNzYWdlKGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbiwgY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkgaW50IGFwcGVuZF9lb2wpCiB7CiAJc3RhdGljIHN0cnVjdCBsb2NrX2ZpbGUgbXNnX2ZpbGU7CiAKLQlpbnQgbXNnX2ZkID0gaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZSgmbXNnX2ZpbGUsIGZpbGVuYW1lLAotCQkJCQkgICAgICAgTE9DS19ESUVfT05fRVJST1IpOwotCWlmICh3cml0ZV9pbl9mdWxsKG1zZ19mZCwgbXNnYnVmLT5idWYsIG1zZ2J1Zi0+bGVuKSA8IDApCi0JCWRpZV9lcnJubyhfKCJDb3VsZCBub3Qgd3JpdGUgdG8gJXMiKSwgZmlsZW5hbWUpOwotCXN0cmJ1Zl9yZWxlYXNlKG1zZ2J1Zik7Ci0JaWYgKGNvbW1pdF9sb2NrX2ZpbGUoJm1zZ19maWxlKSA8IDApCi0JCWRpZShfKCJFcnJvciB3cmFwcGluZyB1cCAlcyIpLCBmaWxlbmFtZSk7CisJaW50IG1zZ19mZCA9IGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGUoJm1zZ19maWxlLCBmaWxlbmFtZSwgMCk7CisJaWYgKG1zZ19mZCA8IDApCisJCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3QgbG9jayAnJXMnIiksIGZpbGVuYW1lKTsKKwlpZiAod3JpdGVfaW5fZnVsbChtc2dfZmQsIGJ1ZiwgbGVuKSA8IDApIHsKKwkJcm9sbGJhY2tfbG9ja19maWxlKCZtc2dfZmlsZSk7CisJCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIpLCBmaWxlbmFtZSk7CisJfQorCWlmIChhcHBlbmRfZW9sICYmIHdyaXRlKG1zZ19mZCwgIlxuIiwgMSkgPCAwKSB7CisJCXJvbGxiYWNrX2xvY2tfZmlsZSgmbXNnX2ZpbGUpOworCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY291bGQgbm90IHdyaXRlIGVvbCB0byAnJXMnIiksIGZpbGVuYW1lKTsKKwl9CisJaWYgKGNvbW1pdF9sb2NrX2ZpbGUoJm1zZ19maWxlKSA8IDApIHsKKwkJcm9sbGJhY2tfbG9ja19maWxlKCZtc2dfZmlsZSk7CisJCXJldHVybiBlcnJvcihfKCJmYWlsZWQgdG8gZmluYWxpemUgJyVzJy4iKSwgZmlsZW5hbWUpOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogUmVhZHMgYSBmaWxlIHRoYXQgd2FzIHByZXN1bWFibHkgd3JpdHRlbiBieSBhIHNoZWxsIHNjcmlwdCwgaS5lLiB3aXRoIGFuCisgKiBlbmQtb2YtbGluZSBtYXJrZXIgdGhhdCBuZWVkcyB0byBiZSBzdHJpcHBlZC4KKyAqCisgKiBOb3RlIHRoYXQgb25seSB0aGUgbGFzdCBlbmQtb2YtbGluZSBtYXJrZXIgaXMgc3RyaXBwZWQsIGNvbnNpc3RlbnQgd2l0aCB0aGUKKyAqIGJlaGF2aW9yIG9mICIkKGNhdCBwYXRoKSIgaW4gYSBzaGVsbCBzY3JpcHQuCisgKgorICogUmV0dXJucyAxIGlmIHRoZSBmaWxlIHdhcyByZWFkLCAwIGlmIGl0IGNvdWxkIG5vdCBiZSByZWFkIG9yIGRvZXMgbm90IGV4aXN0LgorICovCitzdGF0aWMgaW50IHJlYWRfb25lbGluZXIoc3RydWN0IHN0cmJ1ZiAqYnVmLAorCWNvbnN0IGNoYXIgKnBhdGgsIGludCBza2lwX2lmX2VtcHR5KQoreworCWludCBvcmlnX2xlbiA9IGJ1Zi0+bGVuOworCisJaWYgKCFmaWxlX2V4aXN0cyhwYXRoKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoc3RyYnVmX3JlYWRfZmlsZShidWYsIHBhdGgsIDApIDwgMCkgeworCQl3YXJuaW5nX2Vycm5vKF8oImNvdWxkIG5vdCByZWFkICclcyciKSwgcGF0aCk7CisJCXJldHVybiAwOworCX0KKworCWlmIChidWYtPmxlbiA+IG9yaWdfbGVuICYmIGJ1Zi0+YnVmW2J1Zi0+bGVuIC0gMV0gPT0gJ1xuJykgeworCQlpZiAoLS1idWYtPmxlbiA+IG9yaWdfbGVuICYmIGJ1Zi0+YnVmW2J1Zi0+bGVuIC0gMV0gPT0gJ1xyJykKKwkJCS0tYnVmLT5sZW47CisJCWJ1Zi0+YnVmW2J1Zi0+bGVuXSA9ICdcMCc7CisJfQorCisJaWYgKHNraXBfaWZfZW1wdHkgJiYgYnVmLT5sZW4gPT0gb3JpZ19sZW4pCisJCXJldHVybiAwOworCisJcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgdHJlZSAqZW1wdHlfdHJlZSh2b2lkKQpAQCAtMjAxLDE2ICszMDAsMTMgQEAKIHN0YXRpYyBpbnQgZXJyb3JfZGlydHlfaW5kZXgoc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCWlmIChyZWFkX2NhY2hlX3VubWVyZ2VkKCkpCi0JCXJldHVybiBlcnJvcl9yZXNvbHZlX2NvbmZsaWN0KGFjdGlvbl9uYW1lKG9wdHMpKTsKKwkJcmV0dXJuIGVycm9yX3Jlc29sdmVfY29uZmxpY3QoXyhhY3Rpb25fbmFtZShvcHRzKSkpOwogCi0JLyogRGlmZmVyZW50IHRyYW5zbGF0aW9uIHN0cmluZ3MgZm9yIGNoZXJyeS1waWNrIGFuZCByZXZlcnQgKi8KLQlpZiAob3B0cy0+YWN0aW9uID09IFJFUExBWV9QSUNLKQotCQllcnJvcihfKCJZb3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlcnJ5LXBpY2suIikpOwotCWVsc2UKLQkJZXJyb3IoXygiWW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHJldmVydC4iKSk7CisJZXJyb3IoXygieW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzLiIpLAorCQlfKGFjdGlvbl9uYW1lKG9wdHMpKSk7CiAKIAlpZiAoYWR2aWNlX2NvbW1pdF9iZWZvcmVfbWVyZ2UpCi0JCWFkdmlzZShfKCJDb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iKSk7CisJCWFkdmlzZShfKCJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iKSk7CiAJcmV0dXJuIC0xOwogfQogCkBAIC0yMjMsOSArMzE5LDkgQEAKIAogCXJlYWRfY2FjaGUoKTsKIAlpZiAoY2hlY2tvdXRfZmFzdF9mb3J3YXJkKGZyb20sIHRvLCAxKSkKLQkJZXhpdCgxMjgpOyAvKiB0aGUgY2FsbGVlIHNob3VsZCBoYXZlIGNvbXBsYWluZWQgYWxyZWFkeSAqLworCQlyZXR1cm4gLTE7IC8qIHRoZSBjYWxsZWUgc2hvdWxkIGhhdmUgY29tcGxhaW5lZCBhbHJlYWR5ICovCiAKLQlzdHJidWZfYWRkZigmc2IsICIlczogZmFzdC1mb3J3YXJkIiwgYWN0aW9uX25hbWUob3B0cykpOworCXN0cmJ1Zl9hZGRmKCZzYiwgXygiJXM6IGZhc3QtZm9yd2FyZCIpLCBfKGFjdGlvbl9uYW1lKG9wdHMpKSk7CiAKIAl0cmFuc2FjdGlvbiA9IHJlZl90cmFuc2FjdGlvbl9iZWdpbigmZXJyKTsKIAlpZiAoIXRyYW5zYWN0aW9uIHx8CkBAIC0yNzEsNyArMzY3LDcgQEAKIAlzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyBvOwogCXN0cnVjdCB0cmVlICpyZXN1bHQsICpuZXh0X3RyZWUsICpiYXNlX3RyZWUsICpoZWFkX3RyZWU7CiAJaW50IGNsZWFuOwotCWNvbnN0IGNoYXIgKip4b3B0OworCWNoYXIgKip4b3B0OwogCXN0YXRpYyBzdHJ1Y3QgbG9ja19maWxlIGluZGV4X2xvY2s7CiAKIAlob2xkX2xvY2tlZF9pbmRleCgmaW5kZXhfbG9jaywgMSk7CkBAIC0yOTMsMTEgKzM4OSwxNSBAQAogCWNsZWFuID0gbWVyZ2VfdHJlZXMoJm8sCiAJCQkgICAgaGVhZF90cmVlLAogCQkJICAgIG5leHRfdHJlZSwgYmFzZV90cmVlLCAmcmVzdWx0KTsKKwlzdHJidWZfcmVsZWFzZSgmby5vYnVmKTsKKwlpZiAoY2xlYW4gPCAwKQorCQlyZXR1cm4gY2xlYW47CiAKIAlpZiAoYWN0aXZlX2NhY2hlX2NoYW5nZWQgJiYKIAkgICAgd3JpdGVfbG9ja2VkX2luZGV4KCZ0aGVfaW5kZXgsICZpbmRleF9sb2NrLCBDT01NSVRfTE9DSykpCiAJCS8qIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiIG9yICJjaGVycnktcGljayIgKi8KLQkJZGllKF8oIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiKSwgYWN0aW9uX25hbWUob3B0cykpOworCQlyZXR1cm4gZXJyb3IoXygiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIpLAorCQkJXyhhY3Rpb25fbmFtZShvcHRzKSkpOwogCXJvbGxiYWNrX2xvY2tfZmlsZSgmaW5kZXhfbG9jayk7CiAKIAlpZiAob3B0cy0+c2lnbm9mZikKQEAgLTMxNSw3ICs0MTUsNyBAQAogCXN0cnVjdCBjb21taXQgKmhlYWRfY29tbWl0OwogCiAJaWYgKCFyZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCBSRVNPTFZFX1JFRl9SRUFESU5HLCBoZWFkX3NoYTEsIE5VTEwpKQotCQlyZXR1cm4gZXJyb3IoXygiQ291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXRcbiIpKTsKKwkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iKSk7CiAKIAloZWFkX2NvbW1pdCA9IGxvb2t1cF9jb21taXQoaGVhZF9zaGExKTsKIApAQCAtMzM1LDQxICs0MzUsMTE1IEBACiAKIAlpZiAoIWNhY2hlX3RyZWVfZnVsbHlfdmFsaWQoYWN0aXZlX2NhY2hlX3RyZWUpKQogCQlpZiAoY2FjaGVfdHJlZV91cGRhdGUoJnRoZV9pbmRleCwgMCkpCi0JCQlyZXR1cm4gZXJyb3IoXygiVW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlXG4iKSk7CisJCQlyZXR1cm4gZXJyb3IoXygidW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlXG4iKSk7CiAKIAlyZXR1cm4gIWhhc2hjbXAoYWN0aXZlX2NhY2hlX3RyZWUtPnNoYTEsIGhlYWRfY29tbWl0LT50cmVlLT5vYmplY3Qub2lkLmhhc2gpOwogfQogCiAvKgorICogUmVhZCB0aGUgYXV0aG9yLXNjcmlwdCBmaWxlIGludG8gYW4gZW52aXJvbm1lbnQgYmxvY2ssIHJlYWR5IGZvciB1c2UgaW4KKyAqIHJ1bl9jb21tYW5kKCksIHRoYXQgY2FuIGJlIGZyZWUoKWQgYWZ0ZXJ3YXJkcy4KKyAqLworc3RhdGljIGNoYXIgKipyZWFkX2F1dGhvcl9zY3JpcHQodm9pZCkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIHNjcmlwdCA9IFNUUkJVRl9JTklUOworCWludCBpLCBjb3VudCA9IDA7CisJY2hhciAqcCwgKnAyLCAqKmVudjsKKwlzaXplX3QgZW52X3NpemU7CisKKwlpZiAoc3RyYnVmX3JlYWRfZmlsZSgmc2NyaXB0LCByZWJhc2VfcGF0aF9hdXRob3Jfc2NyaXB0KCksIDI1NikgPD0gMCkKKwkJcmV0dXJuIE5VTEw7CisKKwlmb3IgKHAgPSBzY3JpcHQuYnVmOyAqcDsgcCsrKQorCQlpZiAoc2tpcF9wcmVmaXgocCwgIidcXFxcJyciLCAoY29uc3QgY2hhciAqKikmcDIpKQorCQkJc3RyYnVmX3NwbGljZSgmc2NyaXB0LCBwIC0gc2NyaXB0LmJ1ZiwgcDIgLSBwLCAiJyIsIDEpOworCQllbHNlIGlmICgqcCA9PSAnXCcnKQorCQkJc3RyYnVmX3NwbGljZSgmc2NyaXB0LCBwLS0gLSBzY3JpcHQuYnVmLCAxLCAiIiwgMCk7CisJCWVsc2UgaWYgKCpwID09ICdcbicpIHsKKwkJCSpwID0gJ1wwJzsKKwkJCWNvdW50Kys7CisJCX0KKworCWVudl9zaXplID0gKGNvdW50ICsgMSkgKiBzaXplb2YoKmVudik7CisJc3RyYnVmX2dyb3coJnNjcmlwdCwgZW52X3NpemUpOworCW1lbW1vdmUoc2NyaXB0LmJ1ZiArIGVudl9zaXplLCBzY3JpcHQuYnVmLCBzY3JpcHQubGVuKTsKKwlwID0gc2NyaXB0LmJ1ZiArIGVudl9zaXplOworCWVudiA9IChjaGFyICoqKXN0cmJ1Zl9kZXRhY2goJnNjcmlwdCwgTlVMTCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQllbnZbaV0gPSBwOworCQlwICs9IHN0cmxlbihwKSArIDE7CisJfQorCWVudltjb3VudF0gPSBOVUxMOworCisJcmV0dXJuIGVudjsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgc3RhZ2VkX2NoYW5nZXNfYWR2aWNlW10gPQorTl8oInlvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlXG4iCisiSWYgdGhlc2UgY2hhbmdlcyBhcmUgbWVhbnQgdG8gYmUgc3F1YXNoZWQgaW50byB0aGUgcHJldmlvdXMgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0IC0tYW1lbmQgJXNcbiIKKyJcbiIKKyJJZiB0aGV5IGFyZSBtZWFudCB0byBnbyBpbnRvIGEgbmV3IGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAlc1xuIgorIlxuIgorIkluIGJvdGggY2FzZXMsIG9uY2UgeW91J3JlIGRvbmUsIGNvbnRpbnVlIHdpdGg6XG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIpOworCisvKgogICogSWYgd2UgYXJlIGNoZXJyeS1waWNrLCBhbmQgaWYgdGhlIG1lcmdlIGRpZCBub3QgcmVzdWx0IGluCiAgKiBoYW5kLWVkaXRpbmcsIHdlIHdpbGwgaGl0IHRoaXMgY29tbWl0IGFuZCBpbmhlcml0IHRoZSBvcmlnaW5hbAogICogYXV0aG9yIGRhdGUgYW5kIG5hbWUuCisgKgogICogSWYgd2UgYXJlIHJldmVydCwgb3IgaWYgb3VyIGNoZXJyeS1waWNrIHJlc3VsdHMgaW4gYSBoYW5kIG1lcmdlLAogICogd2UgaGFkIGJldHRlciBzYXkgdGhhdCB0aGUgY3VycmVudCB1c2VyIGlzIHJlc3BvbnNpYmxlIGZvciB0aGF0LgorICoKKyAqIEFuIGV4Y2VwdGlvbiBpcyB3aGVuIHJ1bl9naXRfY29tbWl0KCkgaXMgY2FsbGVkIGR1cmluZyBhbgorICogaW50ZXJhY3RpdmUgcmViYXNlOiBpbiB0aGF0IGNhc2UsIHdlIHdpbGwgd2FudCB0byByZXRhaW4gdGhlCisgKiBhdXRob3IgbWV0YWRhdGEuCiAgKi8KIHN0YXRpYyBpbnQgcnVuX2dpdF9jb21taXQoY29uc3QgY2hhciAqZGVmbXNnLCBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMsCi0JCQkgIGludCBhbGxvd19lbXB0eSkKKwkJCSAgaW50IGFsbG93X2VtcHR5LCBpbnQgZWRpdCwgaW50IGFtZW5kLAorCQkJICBpbnQgY2xlYW51cF9jb21taXRfbWVzc2FnZSkKIHsKKwljaGFyICoqZW52ID0gTlVMTDsKIAlzdHJ1Y3QgYXJndl9hcnJheSBhcnJheTsKIAlpbnQgcmM7CiAJY29uc3QgY2hhciAqdmFsdWU7CiAKKwlpZiAoaXNfcmViYXNlX2kob3B0cykpIHsKKwkJZW52ID0gcmVhZF9hdXRob3Jfc2NyaXB0KCk7CisJCWlmICghZW52KSB7CisJCQljb25zdCBjaGFyICpncGdfb3B0ID0gZ3BnX3NpZ25fb3B0X3F1b3RlZChvcHRzKTsKKworCQkJcmV0dXJuIGVycm9yKF8oc3RhZ2VkX2NoYW5nZXNfYWR2aWNlKSwKKwkJCQkgICAgIGdwZ19vcHQsIGdwZ19vcHQpOworCQl9CisJfQorCiAJYXJndl9hcnJheV9pbml0KCZhcnJheSk7CiAJYXJndl9hcnJheV9wdXNoKCZhcnJheSwgImNvbW1pdCIpOwogCWFyZ3ZfYXJyYXlfcHVzaCgmYXJyYXksICItbiIpOwogCisJaWYgKGFtZW5kKQorCQlhcmd2X2FycmF5X3B1c2goJmFycmF5LCAiLS1hbWVuZCIpOwogCWlmIChvcHRzLT5ncGdfc2lnbikKIAkJYXJndl9hcnJheV9wdXNoZigmYXJyYXksICItUyVzIiwgb3B0cy0+Z3BnX3NpZ24pOwogCWlmIChvcHRzLT5zaWdub2ZmKQogCQlhcmd2X2FycmF5X3B1c2goJmFycmF5LCAiLXMiKTsKLQlpZiAoIW9wdHMtPmVkaXQpIHsKLQkJYXJndl9hcnJheV9wdXNoKCZhcnJheSwgIi1GIik7Ci0JCWFyZ3ZfYXJyYXlfcHVzaCgmYXJyYXksIGRlZm1zZyk7Ci0JCWlmICghb3B0cy0+c2lnbm9mZiAmJgotCQkgICAgIW9wdHMtPnJlY29yZF9vcmlnaW4gJiYKLQkJICAgIGdpdF9jb25maWdfZ2V0X3ZhbHVlKCJjb21taXQuY2xlYW51cCIsICZ2YWx1ZSkpCi0JCQlhcmd2X2FycmF5X3B1c2goJmFycmF5LCAiLS1jbGVhbnVwPXZlcmJhdGltIik7Ci0JfQorCWlmIChkZWZtc2cpCisJCWFyZ3ZfYXJyYXlfcHVzaGwoJmFycmF5LCAiLUYiLCBkZWZtc2csIE5VTEwpOworCWlmIChjbGVhbnVwX2NvbW1pdF9tZXNzYWdlKQorCQlhcmd2X2FycmF5X3B1c2goJmFycmF5LCAiLS1jbGVhbnVwPXN0cmlwIik7CisJaWYgKGVkaXQpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJyYXksICItZSIpOworCWVsc2UgaWYgKCFjbGVhbnVwX2NvbW1pdF9tZXNzYWdlICYmCisJCSAhb3B0cy0+c2lnbm9mZiAmJiAhb3B0cy0+cmVjb3JkX29yaWdpbiAmJgorCQkgZ2l0X2NvbmZpZ19nZXRfdmFsdWUoImNvbW1pdC5jbGVhbnVwIiwgJnZhbHVlKSkKKwkJYXJndl9hcnJheV9wdXNoKCZhcnJheSwgIi0tY2xlYW51cD12ZXJiYXRpbSIpOwogCiAJaWYgKGFsbG93X2VtcHR5KQogCQlhcmd2X2FycmF5X3B1c2goJmFycmF5LCAiLS1hbGxvdy1lbXB0eSIpOwpAQCAtMzc3LDggKzU1MSwxMSBAQAogCWlmIChvcHRzLT5hbGxvd19lbXB0eV9tZXNzYWdlKQogCQlhcmd2X2FycmF5X3B1c2goJmFycmF5LCAiLS1hbGxvdy1lbXB0eS1tZXNzYWdlIik7CiAKLQlyYyA9IHJ1bl9jb21tYW5kX3Zfb3B0KGFycmF5LmFyZ3YsIFJVTl9HSVRfQ01EKTsKKwlyYyA9IHJ1bl9jb21tYW5kX3Zfb3B0X2NkX2VudihhcnJheS5hcmd2LCBSVU5fR0lUX0NNRCwgTlVMTCwKKwkJCShjb25zdCBjaGFyICpjb25zdCAqKWVudik7CiAJYXJndl9hcnJheV9jbGVhcigmYXJyYXkpOworCWZyZWUoZW52KTsKKwogCXJldHVybiByYzsKIH0KIApAQCAtMzg3LDEyICs1NjQsMTIgQEAKIAljb25zdCB1bnNpZ25lZCBjaGFyICpwdHJlZV9zaGExOwogCiAJaWYgKHBhcnNlX2NvbW1pdChjb21taXQpKQotCQlyZXR1cm4gZXJyb3IoXygiQ291bGQgbm90IHBhcnNlIGNvbW1pdCAlc1xuIiksCisJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iKSwKIAkJCSAgICAgb2lkX3RvX2hleCgmY29tbWl0LT5vYmplY3Qub2lkKSk7CiAJaWYgKGNvbW1pdC0+cGFyZW50cykgewogCQlzdHJ1Y3QgY29tbWl0ICpwYXJlbnQgPSBjb21taXQtPnBhcmVudHMtPml0ZW07CiAJCWlmIChwYXJzZV9jb21taXQocGFyZW50KSkKLQkJCXJldHVybiBlcnJvcihfKCJDb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlc1xuIiksCisJCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXNcbiIpLAogCQkJCW9pZF90b19oZXgoJnBhcmVudC0+b2JqZWN0Lm9pZCkpOwogCQlwdHJlZV9zaGExID0gcGFyZW50LT50cmVlLT5vYmplY3Qub2lkLmhhc2g7CiAJfSBlbHNlIHsKQEAgLTQ0MCw3ICs2MTcsMjYgQEAKIAkJcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyBpbnQgZG9fcGlja19jb21taXQoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCitlbnVtIHRvZG9fY29tbWFuZCB7CisJVE9ET19QSUNLID0gMCwKKwlUT0RPX1JFVkVSVAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKnRvZG9fY29tbWFuZF9zdHJpbmdzW10gPSB7CisJInBpY2siLAorCSJyZXZlcnQiCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqY29tbWFuZF90b19zdHJpbmcoY29uc3QgZW51bSB0b2RvX2NvbW1hbmQgY29tbWFuZCkKK3sKKwlpZiAoKHNpemVfdCljb21tYW5kIDwgQVJSQVlfU0laRSh0b2RvX2NvbW1hbmRfc3RyaW5ncykpCisJCXJldHVybiB0b2RvX2NvbW1hbmRfc3RyaW5nc1tjb21tYW5kXTsKKwlkaWUoIlVua25vd24gY29tbWFuZDogJWQiLCBjb21tYW5kKTsKK30KKworCitzdGF0aWMgaW50IGRvX3BpY2tfY29tbWl0KGVudW0gdG9kb19jb21tYW5kIGNvbW1hbmQsIHN0cnVjdCBjb21taXQgKmNvbW1pdCwKKwkJc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCXVuc2lnbmVkIGNoYXIgaGVhZFsyMF07CiAJc3RydWN0IGNvbW1pdCAqYmFzZSwgKm5leHQsICpwYXJlbnQ7CkBAIC00NTcsMTIgKzY1MywxMiBAQAogCQkgKiB0byB3b3JrIG9uLgogCQkgKi8KIAkJaWYgKHdyaXRlX2NhY2hlX2FzX3RyZWUoaGVhZCwgMCwgTlVMTCkpCi0JCQlkaWUgKF8oIllvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iKSk7CisJCQlyZXR1cm4gZXJyb3IoXygieW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIpKTsKIAl9IGVsc2UgewogCQl1bmJvcm4gPSBnZXRfc2hhMSgiSEVBRCIsIGhlYWQpOwogCQlpZiAodW5ib3JuKQogCQkJaGFzaGNweShoZWFkLCBFTVBUWV9UUkVFX1NIQTFfQklOKTsKLQkJaWYgKGluZGV4X2RpZmZlcnNfZnJvbSh1bmJvcm4gPyBFTVBUWV9UUkVFX1NIQTFfSEVYIDogIkhFQUQiLCAwKSkKKwkJaWYgKGluZGV4X2RpZmZlcnNfZnJvbSh1bmJvcm4gPyBFTVBUWV9UUkVFX1NIQTFfSEVYIDogIkhFQUQiLCAwLCAwKSkKIAkJCXJldHVybiBlcnJvcl9kaXJ0eV9pbmRleChvcHRzKTsKIAl9CiAJZGlzY2FyZF9jYWNoZSgpOwpAQCAtNDc2LDcgKzY3Miw3IEBACiAJCXN0cnVjdCBjb21taXRfbGlzdCAqcDsKIAogCQlpZiAoIW9wdHMtPm1haW5saW5lKQotCQkJcmV0dXJuIGVycm9yKF8oIkNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIpLAorCQkJcmV0dXJuIGVycm9yKF8oImNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIpLAogCQkJCW9pZF90b19oZXgoJmNvbW1pdC0+b2JqZWN0Lm9pZCkpOwogCiAJCWZvciAoY250ID0gMSwgcCA9IGNvbW1pdC0+cGFyZW50czsKQEAgLTQ4NCwxMSArNjgwLDExIEBACiAJCSAgICAgY250KyspCiAJCQlwID0gcC0+bmV4dDsKIAkJaWYgKGNudCAhPSBvcHRzLT5tYWlubGluZSB8fCAhcCkKLQkJCXJldHVybiBlcnJvcihfKCJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiKSwKKwkJCXJldHVybiBlcnJvcihfKCJjb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiKSwKIAkJCQlvaWRfdG9faGV4KCZjb21taXQtPm9iamVjdC5vaWQpLCBvcHRzLT5tYWlubGluZSk7CiAJCXBhcmVudCA9IHAtPml0ZW07CiAJfSBlbHNlIGlmICgwIDwgb3B0cy0+bWFpbmxpbmUpCi0JCXJldHVybiBlcnJvcihfKCJNYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIiksCisJCXJldHVybiBlcnJvcihfKCJtYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIiksCiAJCQlvaWRfdG9faGV4KCZjb21taXQtPm9iamVjdC5vaWQpKTsKIAllbHNlCiAJCXBhcmVudCA9IGNvbW1pdC0+cGFyZW50cy0+aXRlbTsKQEAgLTQ5OSwxMyArNjk1LDE0IEBACiAJCXJldHVybiBmYXN0X2ZvcndhcmRfdG8oY29tbWl0LT5vYmplY3Qub2lkLmhhc2gsIGhlYWQsIHVuYm9ybiwgb3B0cyk7CiAKIAlpZiAocGFyZW50ICYmIHBhcnNlX2NvbW1pdChwYXJlbnQpIDwgMCkKLQkJLyogVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyB3aWxsIGJlICJyZXZlcnQiIG9yCi0JCSAgICJjaGVycnktcGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExICovCisJCS8qIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKKwkJICAgInJldmVydCIgb3IgInBpY2siLCB0aGUgc2Vjb25kICVzIGEgU0hBMS4gKi8KIAkJcmV0dXJuIGVycm9yKF8oIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIpLAotCQkJYWN0aW9uX25hbWUob3B0cyksIG9pZF90b19oZXgoJnBhcmVudC0+b2JqZWN0Lm9pZCkpOworCQkJY29tbWFuZF90b19zdHJpbmcoY29tbWFuZCksCisJCQlvaWRfdG9faGV4KCZwYXJlbnQtPm9iamVjdC5vaWQpKTsKIAogCWlmIChnZXRfbWVzc2FnZShjb21taXQsICZtc2cpICE9IDApCi0JCXJldHVybiBlcnJvcihfKCJDYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIpLAorCQlyZXR1cm4gZXJyb3IoXygiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiKSwKIAkJCW9pZF90b19oZXgoJmNvbW1pdC0+b2JqZWN0Lm9pZCkpOwogCiAJLyoKQEAgLTUxNSw3ICs3MTIsNyBAQAogCSAqIHJldmVyc2Ugb2YgaXQgaWYgd2UgYXJlIHJldmVydC4KIAkgKi8KIAotCWlmIChvcHRzLT5hY3Rpb24gPT0gUkVQTEFZX1JFVkVSVCkgeworCWlmIChjb21tYW5kID09IFRPRE9fUkVWRVJUKSB7CiAJCWJhc2UgPSBjb21taXQ7CiAJCWJhc2VfbGFiZWwgPSBtc2cubGFiZWw7CiAJCW5leHQgPSBwYXJlbnQ7CkBAIC01NDQsMTAgKzc0MSw4IEBACiAJCSAqIGluZm9ybWF0aW9uIGZvbGxvd2VkIGJ5ICJcblxuIi4KIAkJICovCiAJCXAgPSBzdHJzdHIobXNnLm1lc3NhZ2UsICJcblxuIik7Ci0JCWlmIChwKSB7Ci0JCQlwICs9IDI7Ci0JCQlzdHJidWZfYWRkc3RyKCZtc2didWYsIHApOwotCQl9CisJCWlmIChwKQorCQkJc3RyYnVmX2FkZHN0cigmbXNnYnVmLCBza2lwX2JsYW5rX2xpbmVzKHAgKyAyKSk7CiAKIAkJaWYgKG9wdHMtPnJlY29yZF9vcmlnaW4pIHsKIAkJCWlmICghaGFzX2NvbmZvcm1pbmdfZm9vdGVyKCZtc2didWYsIE5VTEwsIDApKQpAQCAtNTU4LDIzICs3NTMsMjkgQEAKIAkJfQogCX0KIAotCWlmICghb3B0cy0+c3RyYXRlZ3kgfHwgIXN0cmNtcChvcHRzLT5zdHJhdGVneSwgInJlY3Vyc2l2ZSIpIHx8IG9wdHMtPmFjdGlvbiA9PSBSRVBMQVlfUkVWRVJUKSB7CisJaWYgKCFvcHRzLT5zdHJhdGVneSB8fCAhc3RyY21wKG9wdHMtPnN0cmF0ZWd5LCAicmVjdXJzaXZlIikgfHwgY29tbWFuZCA9PSBUT0RPX1JFVkVSVCkgewogCQlyZXMgPSBkb19yZWN1cnNpdmVfbWVyZ2UoYmFzZSwgbmV4dCwgYmFzZV9sYWJlbCwgbmV4dF9sYWJlbCwKIAkJCQkJIGhlYWQsICZtc2didWYsIG9wdHMpOwotCQl3cml0ZV9tZXNzYWdlKCZtc2didWYsIGdpdF9wYXRoX21lcmdlX21zZygpKTsKKwkJaWYgKHJlcyA8IDApCisJCQlyZXR1cm4gcmVzOworCQlyZXMgfD0gd3JpdGVfbWVzc2FnZShtc2didWYuYnVmLCBtc2didWYubGVuLAorCQkJCSAgICAgZ2l0X3BhdGhfbWVyZ2VfbXNnKCksIDApOwogCX0gZWxzZSB7CiAJCXN0cnVjdCBjb21taXRfbGlzdCAqY29tbW9uID0gTlVMTDsKIAkJc3RydWN0IGNvbW1pdF9saXN0ICpyZW1vdGVzID0gTlVMTDsKIAotCQl3cml0ZV9tZXNzYWdlKCZtc2didWYsIGdpdF9wYXRoX21lcmdlX21zZygpKTsKKwkJcmVzID0gd3JpdGVfbWVzc2FnZShtc2didWYuYnVmLCBtc2didWYubGVuLAorCQkJCSAgICBnaXRfcGF0aF9tZXJnZV9tc2coKSwgMCk7CiAKIAkJY29tbWl0X2xpc3RfaW5zZXJ0KGJhc2UsICZjb21tb24pOwogCQljb21taXRfbGlzdF9pbnNlcnQobmV4dCwgJnJlbW90ZXMpOwotCQlyZXMgPSB0cnlfbWVyZ2VfY29tbWFuZChvcHRzLT5zdHJhdGVneSwgb3B0cy0+eG9wdHNfbnIsIG9wdHMtPnhvcHRzLAorCQlyZXMgfD0gdHJ5X21lcmdlX2NvbW1hbmQob3B0cy0+c3RyYXRlZ3ksCisJCQkJCSBvcHRzLT54b3B0c19uciwgKGNvbnN0IGNoYXIgKiopb3B0cy0+eG9wdHMsCiAJCQkJCWNvbW1vbiwgc2hhMV90b19oZXgoaGVhZCksIHJlbW90ZXMpOwogCQlmcmVlX2NvbW1pdF9saXN0KGNvbW1vbik7CiAJCWZyZWVfY29tbWl0X2xpc3QocmVtb3Rlcyk7CiAJfQorCXN0cmJ1Zl9yZWxlYXNlKCZtc2didWYpOwogCiAJLyoKIAkgKiBJZiB0aGUgbWVyZ2Ugd2FzIGNsZWFuIG9yIGlmIGl0IGZhaWxlZCBkdWUgdG8gY29uZmxpY3QsIHdlIHdyaXRlCkBAIC01ODIsMTkgKzc4MywyMCBAQAogCSAqIEhvd2V2ZXIsIGlmIHRoZSBtZXJnZSBkaWQgbm90IGV2ZW4gc3RhcnQsIHRoZW4gd2UgZG9uJ3Qgd2FudCB0bwogCSAqIHdyaXRlIGl0IGF0IGFsbC4KIAkgKi8KLQlpZiAob3B0cy0+YWN0aW9uID09IFJFUExBWV9QSUNLICYmICFvcHRzLT5ub19jb21taXQgJiYgKHJlcyA9PSAwIHx8IHJlcyA9PSAxKSkKLQkJdXBkYXRlX3JlZihOVUxMLCAiQ0hFUlJZX1BJQ0tfSEVBRCIsIGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCBOVUxMLAotCQkJICAgUkVGX05PREVSRUYsIFVQREFURV9SRUZTX0RJRV9PTl9FUlIpOwotCWlmIChvcHRzLT5hY3Rpb24gPT0gUkVQTEFZX1JFVkVSVCAmJiAoKG9wdHMtPm5vX2NvbW1pdCAmJiByZXMgPT0gMCkgfHwgcmVzID09IDEpKQotCQl1cGRhdGVfcmVmKE5VTEwsICJSRVZFUlRfSEVBRCIsIGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCBOVUxMLAotCQkJICAgUkVGX05PREVSRUYsIFVQREFURV9SRUZTX0RJRV9PTl9FUlIpOworCWlmIChjb21tYW5kID09IFRPRE9fUElDSyAmJiAhb3B0cy0+bm9fY29tbWl0ICYmIChyZXMgPT0gMCB8fCByZXMgPT0gMSkgJiYKKwkgICAgdXBkYXRlX3JlZihOVUxMLCAiQ0hFUlJZX1BJQ0tfSEVBRCIsIGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoLCBOVUxMLAorCQkgICAgICAgUkVGX05PREVSRUYsIFVQREFURV9SRUZTX01TR19PTl9FUlIpKQorCQlyZXMgPSAtMTsKKwlpZiAoY29tbWFuZCA9PSBUT0RPX1JFVkVSVCAmJiAoKG9wdHMtPm5vX2NvbW1pdCAmJiByZXMgPT0gMCkgfHwgcmVzID09IDEpICYmCisJICAgIHVwZGF0ZV9yZWYoTlVMTCwgIlJFVkVSVF9IRUFEIiwgY29tbWl0LT5vYmplY3Qub2lkLmhhc2gsIE5VTEwsCisJCSAgICAgICBSRUZfTk9ERVJFRiwgVVBEQVRFX1JFRlNfTVNHX09OX0VSUikpCisJCXJlcyA9IC0xOwogCiAJaWYgKHJlcykgewotCQllcnJvcihvcHRzLT5hY3Rpb24gPT0gUkVQTEFZX1JFVkVSVAorCQllcnJvcihjb21tYW5kID09IFRPRE9fUkVWRVJUCiAJCSAgICAgID8gXygiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIpCiAJCSAgICAgIDogXygiY291bGQgbm90IGFwcGx5ICVzLi4uICVzIiksCi0JCSAgICAgIGZpbmRfdW5pcXVlX2FiYnJldihjb21taXQtPm9iamVjdC5vaWQuaGFzaCwgREVGQVVMVF9BQkJSRVYpLAotCQkgICAgICBtc2cuc3ViamVjdCk7CisJCSAgICAgIHNob3J0X2NvbW1pdF9uYW1lKGNvbW1pdCksIG1zZy5zdWJqZWN0KTsKIAkJcHJpbnRfYWR2aWNlKHJlcyA9PSAxLCBvcHRzKTsKIAkJcmVyZXJlKG9wdHMtPmFsbG93X3JlcmVyZV9hdXRvKTsKIAkJZ290byBsZWF2ZTsKQEAgLTYwNiw3ICs4MDgsOCBAQAogCQlnb3RvIGxlYXZlOwogCX0KIAlpZiAoIW9wdHMtPm5vX2NvbW1pdCkKLQkJcmVzID0gcnVuX2dpdF9jb21taXQoZ2l0X3BhdGhfbWVyZ2VfbXNnKCksIG9wdHMsIGFsbG93KTsKKwkJcmVzID0gcnVuX2dpdF9jb21taXQob3B0cy0+ZWRpdCA/IE5VTEwgOiBnaXRfcGF0aF9tZXJnZV9tc2coKSwKKwkJCQkgICAgIG9wdHMsIGFsbG93LCBvcHRzLT5lZGl0LCAwLCAwKTsKIAogbGVhdmU6CiAJZnJlZV9tZXNzYWdlKGNvbW1pdCwgJm1zZyk7CkBAIC02MTQsNyArODE3LDcgQEAKIAlyZXR1cm4gcmVzOwogfQogCi1zdGF0aWMgdm9pZCBwcmVwYXJlX3JldnMoc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQorc3RhdGljIGludCBwcmVwYXJlX3JldnMoc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCS8qCiAJICogcGlja2luZyAoYnV0IG5vdCByZXZlcnRpbmcpIHJhbmdlcyAoYnV0IG5vdCBpbmRpdmlkdWFsIHJldmlzaW9ucykKQEAgLTYyNCwxMzIgKzgyNywxNzUgQEAKIAkJb3B0cy0+cmV2cy0+cmV2ZXJzZSBePSAxOwogCiAJaWYgKHByZXBhcmVfcmV2aXNpb25fd2FsayhvcHRzLT5yZXZzKSkKLQkJZGllKF8oInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIikpOworCQlyZXR1cm4gZXJyb3IoXygicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiKSk7CiAKIAlpZiAoIW9wdHMtPnJldnMtPmNvbW1pdHMpCi0JCWRpZShfKCJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIpKTsKLX0KLQotc3RhdGljIHZvaWQgcmVhZF9hbmRfcmVmcmVzaF9jYWNoZShzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCi17Ci0Jc3RhdGljIHN0cnVjdCBsb2NrX2ZpbGUgaW5kZXhfbG9jazsKLQlpbnQgaW5kZXhfZmQgPSBob2xkX2xvY2tlZF9pbmRleCgmaW5kZXhfbG9jaywgMCk7Ci0JaWYgKHJlYWRfaW5kZXhfcHJlbG9hZCgmdGhlX2luZGV4LCBOVUxMKSA8IDApCi0JCWRpZShfKCJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIpLCBhY3Rpb25fbmFtZShvcHRzKSk7Ci0JcmVmcmVzaF9pbmRleCgmdGhlX2luZGV4LCBSRUZSRVNIX1FVSUVUfFJFRlJFU0hfVU5NRVJHRUQsIE5VTEwsIE5VTEwsIE5VTEwpOwotCWlmICh0aGVfaW5kZXguY2FjaGVfY2hhbmdlZCAmJiBpbmRleF9mZCA+PSAwKSB7Ci0JCWlmICh3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgJmluZGV4X2xvY2ssIENPTU1JVF9MT0NLKSkKLQkJCWRpZShfKCJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIpLCBhY3Rpb25fbmFtZShvcHRzKSk7Ci0JfQotCXJvbGxiYWNrX2xvY2tfZmlsZSgmaW5kZXhfbG9jayk7Ci19Ci0KLXN0YXRpYyBpbnQgZm9ybWF0X3RvZG8oc3RydWN0IHN0cmJ1ZiAqYnVmLCBzdHJ1Y3QgY29tbWl0X2xpc3QgKnRvZG9fbGlzdCwKLQkJc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQotewotCXN0cnVjdCBjb21taXRfbGlzdCAqY3VyID0gTlVMTDsKLQljb25zdCBjaGFyICpzaGExX2FiYnJldiA9IE5VTEw7Ci0JY29uc3QgY2hhciAqYWN0aW9uX3N0ciA9IG9wdHMtPmFjdGlvbiA9PSBSRVBMQVlfUkVWRVJUID8gInJldmVydCIgOiAicGljayI7Ci0JY29uc3QgY2hhciAqc3ViamVjdDsKLQlpbnQgc3ViamVjdF9sZW47Ci0KLQlmb3IgKGN1ciA9IHRvZG9fbGlzdDsgY3VyOyBjdXIgPSBjdXItPm5leHQpIHsKLQkJY29uc3QgY2hhciAqY29tbWl0X2J1ZmZlciA9IGdldF9jb21taXRfYnVmZmVyKGN1ci0+aXRlbSwgTlVMTCk7Ci0JCXNoYTFfYWJicmV2ID0gZmluZF91bmlxdWVfYWJicmV2KGN1ci0+aXRlbS0+b2JqZWN0Lm9pZC5oYXNoLCBERUZBVUxUX0FCQlJFVik7Ci0JCXN1YmplY3RfbGVuID0gZmluZF9jb21taXRfc3ViamVjdChjb21taXRfYnVmZmVyLCAmc3ViamVjdCk7Ci0JCXN0cmJ1Zl9hZGRmKGJ1ZiwgIiVzICVzICUuKnNcbiIsIGFjdGlvbl9zdHIsIHNoYTFfYWJicmV2LAotCQkJc3ViamVjdF9sZW4sIHN1YmplY3QpOwotCQl1bnVzZV9jb21taXRfYnVmZmVyKGN1ci0+aXRlbSwgY29tbWl0X2J1ZmZlcik7Ci0JfQorCQlyZXR1cm4gZXJyb3IoXygiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiKSk7CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgY29tbWl0ICpwYXJzZV9pbnNuX2xpbmUoY2hhciAqYm9sLCBjaGFyICplb2wsIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKK3N0YXRpYyBpbnQgcmVhZF9hbmRfcmVmcmVzaF9jYWNoZShzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCit7CisJc3RhdGljIHN0cnVjdCBsb2NrX2ZpbGUgaW5kZXhfbG9jazsKKwlpbnQgaW5kZXhfZmQgPSBob2xkX2xvY2tlZF9pbmRleCgmaW5kZXhfbG9jaywgMCk7CisJaWYgKHJlYWRfaW5kZXhfcHJlbG9hZCgmdGhlX2luZGV4LCBOVUxMKSA8IDApIHsKKwkJcm9sbGJhY2tfbG9ja19maWxlKCZpbmRleF9sb2NrKTsKKwkJcmV0dXJuIGVycm9yKF8oImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IiksCisJCQlfKGFjdGlvbl9uYW1lKG9wdHMpKSk7CisJfQorCXJlZnJlc2hfaW5kZXgoJnRoZV9pbmRleCwgUkVGUkVTSF9RVUlFVHxSRUZSRVNIX1VOTUVSR0VELCBOVUxMLCBOVUxMLCBOVUxMKTsKKwlpZiAodGhlX2luZGV4LmNhY2hlX2NoYW5nZWQgJiYgaW5kZXhfZmQgPj0gMCkgeworCQlpZiAod3JpdGVfbG9ja2VkX2luZGV4KCZ0aGVfaW5kZXgsICZpbmRleF9sb2NrLCBDT01NSVRfTE9DSykpIHsKKwkJCXJvbGxiYWNrX2xvY2tfZmlsZSgmaW5kZXhfbG9jayk7CisJCQlyZXR1cm4gZXJyb3IoXygiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiKSwKKwkJCQlfKGFjdGlvbl9uYW1lKG9wdHMpKSk7CisJCX0KKwl9CisJcm9sbGJhY2tfbG9ja19maWxlKCZpbmRleF9sb2NrKTsKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IHRvZG9faXRlbSB7CisJZW51bSB0b2RvX2NvbW1hbmQgY29tbWFuZDsKKwlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CisJY29uc3QgY2hhciAqYXJnOworCWludCBhcmdfbGVuOworCXNpemVfdCBvZmZzZXRfaW5fYnVmOworfTsKKworc3RydWN0IHRvZG9fbGlzdCB7CisJc3RydWN0IHN0cmJ1ZiBidWY7CisJc3RydWN0IHRvZG9faXRlbSAqaXRlbXM7CisJaW50IG5yLCBhbGxvYywgY3VycmVudDsKK307CisKKyNkZWZpbmUgVE9ET19MSVNUX0lOSVQgeyBTVFJCVUZfSU5JVCB9CisKK3N0YXRpYyB2b2lkIHRvZG9fbGlzdF9yZWxlYXNlKHN0cnVjdCB0b2RvX2xpc3QgKnRvZG9fbGlzdCkKK3sKKwlzdHJidWZfcmVsZWFzZSgmdG9kb19saXN0LT5idWYpOworCWZyZWUodG9kb19saXN0LT5pdGVtcyk7CisJdG9kb19saXN0LT5pdGVtcyA9IE5VTEw7CisJdG9kb19saXN0LT5uciA9IHRvZG9fbGlzdC0+YWxsb2MgPSAwOworfQorCitzdGF0aWMgc3RydWN0IHRvZG9faXRlbSAqYXBwZW5kX25ld190b2RvKHN0cnVjdCB0b2RvX2xpc3QgKnRvZG9fbGlzdCkKK3sKKwlBTExPQ19HUk9XKHRvZG9fbGlzdC0+aXRlbXMsIHRvZG9fbGlzdC0+bnIgKyAxLCB0b2RvX2xpc3QtPmFsbG9jKTsKKwlyZXR1cm4gdG9kb19saXN0LT5pdGVtcyArIHRvZG9fbGlzdC0+bnIrKzsKK30KKworc3RhdGljIGludCBwYXJzZV9pbnNuX2xpbmUoc3RydWN0IHRvZG9faXRlbSAqaXRlbSwgY29uc3QgY2hhciAqYm9sLCBjaGFyICplb2wpCiB7CiAJdW5zaWduZWQgY2hhciBjb21taXRfc2hhMVsyMF07Ci0JZW51bSByZXBsYXlfYWN0aW9uIGFjdGlvbjsKIAljaGFyICplbmRfb2Zfb2JqZWN0X25hbWU7Ci0JaW50IHNhdmVkLCBzdGF0dXMsIHBhZGRpbmc7CisJaW50IGksIHNhdmVkLCBzdGF0dXMsIHBhZGRpbmc7CiAKLQlpZiAoc3RhcnRzX3dpdGgoYm9sLCAicGljayIpKSB7Ci0JCWFjdGlvbiA9IFJFUExBWV9QSUNLOwotCQlib2wgKz0gc3RybGVuKCJwaWNrIik7Ci0JfSBlbHNlIGlmIChzdGFydHNfd2l0aChib2wsICJyZXZlcnQiKSkgewotCQlhY3Rpb24gPSBSRVBMQVlfUkVWRVJUOwotCQlib2wgKz0gc3RybGVuKCJyZXZlcnQiKTsKLQl9IGVsc2UKLQkJcmV0dXJuIE5VTEw7CisJLyogbGVmdC10cmltICovCisJYm9sICs9IHN0cnNwbihib2wsICIgXHQiKTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRvZG9fY29tbWFuZF9zdHJpbmdzKTsgaSsrKQorCQlpZiAoc2tpcF9wcmVmaXgoYm9sLCB0b2RvX2NvbW1hbmRfc3RyaW5nc1tpXSwgJmJvbCkpIHsKKwkJCWl0ZW0tPmNvbW1hbmQgPSBpOworCQkJYnJlYWs7CisJCX0KKwlpZiAoaSA+PSBBUlJBWV9TSVpFKHRvZG9fY29tbWFuZF9zdHJpbmdzKSkKKwkJcmV0dXJuIC0xOwogCiAJLyogRWF0IHVwIGV4dHJhIHNwYWNlcy8gdGFicyBiZWZvcmUgb2JqZWN0IG5hbWUgKi8KIAlwYWRkaW5nID0gc3Ryc3BuKGJvbCwgIiBcdCIpOwogCWlmICghcGFkZGluZykKLQkJcmV0dXJuIE5VTEw7CisJCXJldHVybiAtMTsKIAlib2wgKz0gcGFkZGluZzsKIAotCWVuZF9vZl9vYmplY3RfbmFtZSA9IGJvbCArIHN0cmNzcG4oYm9sLCAiIFx0XG4iKTsKKwllbmRfb2Zfb2JqZWN0X25hbWUgPSAoY2hhciAqKSBib2wgKyBzdHJjc3BuKGJvbCwgIiBcdFxuIik7CiAJc2F2ZWQgPSAqZW5kX29mX29iamVjdF9uYW1lOwogCSplbmRfb2Zfb2JqZWN0X25hbWUgPSAnXDAnOwogCXN0YXR1cyA9IGdldF9zaGExKGJvbCwgY29tbWl0X3NoYTEpOwogCSplbmRfb2Zfb2JqZWN0X25hbWUgPSBzYXZlZDsKIAotCS8qCi0JICogVmVyaWZ5IHRoYXQgdGhlIGFjdGlvbiBtYXRjaGVzIHVwIHdpdGggdGhlIG9uZSBpbgotCSAqIG9wdHM7IHdlIGRvbid0IHN1cHBvcnQgYXJiaXRyYXJ5IGluc3RydWN0aW9ucwotCSAqLwotCWlmIChhY3Rpb24gIT0gb3B0cy0+YWN0aW9uKSB7Ci0JCWNvbnN0IGNoYXIgKmFjdGlvbl9zdHI7Ci0JCWFjdGlvbl9zdHIgPSBhY3Rpb24gPT0gUkVQTEFZX1JFVkVSVCA/ICJyZXZlcnQiIDogImNoZXJyeS1waWNrIjsKLQkJZXJyb3IoXygiQ2Fubm90ICVzIGR1cmluZyBhICVzIiksIGFjdGlvbl9zdHIsIGFjdGlvbl9uYW1lKG9wdHMpKTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQorCWl0ZW0tPmFyZyA9IGVuZF9vZl9vYmplY3RfbmFtZSArIHN0cnNwbihlbmRfb2Zfb2JqZWN0X25hbWUsICIgXHQiKTsKKwlpdGVtLT5hcmdfbGVuID0gKGludCkoZW9sIC0gaXRlbS0+YXJnKTsKIAogCWlmIChzdGF0dXMgPCAwKQotCQlyZXR1cm4gTlVMTDsKKwkJcmV0dXJuIC0xOwogCi0JcmV0dXJuIGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKGNvbW1pdF9zaGExKTsKKwlpdGVtLT5jb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShjb21taXRfc2hhMSk7CisJcmV0dXJuICFpdGVtLT5jb21taXQ7CiB9CiAKLXN0YXRpYyBpbnQgcGFyc2VfaW5zbl9idWZmZXIoY2hhciAqYnVmLCBzdHJ1Y3QgY29tbWl0X2xpc3QgKip0b2RvX2xpc3QsCi0JCQlzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCitzdGF0aWMgaW50IHBhcnNlX2luc25fYnVmZmVyKGNoYXIgKmJ1Ziwgc3RydWN0IHRvZG9fbGlzdCAqdG9kb19saXN0KQogewotCXN0cnVjdCBjb21taXRfbGlzdCAqKm5leHQgPSB0b2RvX2xpc3Q7Ci0Jc3RydWN0IGNvbW1pdCAqY29tbWl0OwotCWNoYXIgKnAgPSBidWY7Ci0JaW50IGk7CisJc3RydWN0IHRvZG9faXRlbSAqaXRlbTsKKwljaGFyICpwID0gYnVmLCAqbmV4dF9wOworCWludCBpLCByZXMgPSAwOwogCi0JZm9yIChpID0gMTsgKnA7IGkrKykgeworCWZvciAoaSA9IDE7ICpwOyBpKyssIHAgPSBuZXh0X3ApIHsKIAkJY2hhciAqZW9sID0gc3RyY2hybnVsKHAsICdcbicpOwotCQljb21taXQgPSBwYXJzZV9pbnNuX2xpbmUocCwgZW9sLCBvcHRzKTsKLQkJaWYgKCFjb21taXQpCi0JCQlyZXR1cm4gZXJyb3IoXygiQ291bGQgbm90IHBhcnNlIGxpbmUgJWQuIiksIGkpOwotCQluZXh0ID0gY29tbWl0X2xpc3RfYXBwZW5kKGNvbW1pdCwgbmV4dCk7Ci0JCXAgPSAqZW9sID8gZW9sICsgMSA6IGVvbDsKKworCQluZXh0X3AgPSAqZW9sID8gZW9sICsgMSAvKiBza2lwIExGICovIDogZW9sOworCisJCWlmIChwICE9IGVvbCAmJiBlb2xbLTFdID09ICdccicpCisJCQllb2wtLTsgLyogc3RyaXAgQ2FycmlhZ2UgUmV0dXJuICovCisKKwkJaXRlbSA9IGFwcGVuZF9uZXdfdG9kbyh0b2RvX2xpc3QpOworCQlpdGVtLT5vZmZzZXRfaW5fYnVmID0gcCAtIHRvZG9fbGlzdC0+YnVmLmJ1ZjsKKwkJaWYgKHBhcnNlX2luc25fbGluZShpdGVtLCBwLCBlb2wpKSB7CisJCQlyZXMgPSBlcnJvcihfKCJpbnZhbGlkIGxpbmUgJWQ6ICUuKnMiKSwKKwkJCQlpLCAoaW50KShlb2wgLSBwKSwgcCk7CisJCQlpdGVtLT5jb21tYW5kID0gLTE7CisJCX0KIAl9Ci0JaWYgKCEqdG9kb19saXN0KQotCQlyZXR1cm4gZXJyb3IoXygiTm8gY29tbWl0cyBwYXJzZWQuIikpOwotCXJldHVybiAwOworCWlmICghdG9kb19saXN0LT5ucikKKwkJcmV0dXJuIGVycm9yKF8oIm5vIGNvbW1pdHMgcGFyc2VkLiIpKTsKKwlyZXR1cm4gcmVzOwogfQogCi1zdGF0aWMgdm9pZCByZWFkX3BvcHVsYXRlX3RvZG8oc3RydWN0IGNvbW1pdF9saXN0ICoqdG9kb19saXN0LAorc3RhdGljIGludCByZWFkX3BvcHVsYXRlX3RvZG8oc3RydWN0IHRvZG9fbGlzdCAqdG9kb19saXN0LAogCQkJc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewotCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJY29uc3QgY2hhciAqdG9kb19maWxlID0gZ2V0X3RvZG9fcGF0aChvcHRzKTsKIAlpbnQgZmQsIHJlczsKIAotCWZkID0gb3BlbihnaXRfcGF0aF90b2RvX2ZpbGUoKSwgT19SRE9OTFkpOworCXN0cmJ1Zl9yZXNldCgmdG9kb19saXN0LT5idWYpOworCWZkID0gb3Blbih0b2RvX2ZpbGUsIE9fUkRPTkxZKTsKIAlpZiAoZmQgPCAwKQotCQlkaWVfZXJybm8oXygiQ291bGQgbm90IG9wZW4gJXMiKSwgZ2l0X3BhdGhfdG9kb19maWxlKCkpOwotCWlmIChzdHJidWZfcmVhZCgmYnVmLCBmZCwgMCkgPCAwKSB7CisJCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3Qgb3BlbiAnJXMnIiksIHRvZG9fZmlsZSk7CisJaWYgKHN0cmJ1Zl9yZWFkKCZ0b2RvX2xpc3QtPmJ1ZiwgZmQsIDApIDwgMCkgewogCQljbG9zZShmZCk7Ci0JCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwotCQlkaWUoXygiQ291bGQgbm90IHJlYWQgJXMuIiksIGdpdF9wYXRoX3RvZG9fZmlsZSgpKTsKKwkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCByZWFkICclcycuIiksIHRvZG9fZmlsZSk7CiAJfQogCWNsb3NlKGZkKTsKIAotCXJlcyA9IHBhcnNlX2luc25fYnVmZmVyKGJ1Zi5idWYsIHRvZG9fbGlzdCwgb3B0cyk7Ci0Jc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CisJcmVzID0gcGFyc2VfaW5zbl9idWZmZXIodG9kb19saXN0LT5idWYuYnVmLCB0b2RvX2xpc3QpOwogCWlmIChyZXMpCi0JCWRpZShfKCJVbnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJXMiKSwgZ2l0X3BhdGhfdG9kb19maWxlKCkpOworCQlyZXR1cm4gZXJyb3IoXygidW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICclcyciKSwgdG9kb19maWxlKTsKKworCWlmICghaXNfcmViYXNlX2kob3B0cykpIHsKKwkJZW51bSB0b2RvX2NvbW1hbmQgdmFsaWQgPQorCQkJb3B0cy0+YWN0aW9uID09IFJFUExBWV9QSUNLID8gVE9ET19QSUNLIDogVE9ET19SRVZFUlQ7CisJCWludCBpOworCisJCWZvciAoaSA9IDA7IGkgPCB0b2RvX2xpc3QtPm5yOyBpKyspCisJCQlpZiAodmFsaWQgPT0gdG9kb19saXN0LT5pdGVtc1tpXS5jb21tYW5kKQorCQkJCWNvbnRpbnVlOworCQkJZWxzZSBpZiAodmFsaWQgPT0gVE9ET19QSUNLKQorCQkJCXJldHVybiBlcnJvcihfKCJjYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGEgcmV2ZXJ0LiIpKTsKKwkJCWVsc2UKKwkJCQlyZXR1cm4gZXJyb3IoXygiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iKSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZ2l0X2NvbmZpZ19zdHJpbmdfZHVwKGNoYXIgKipkZXN0LAorCQkJCSBjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCWlmICghdmFsdWUpCisJCXJldHVybiBjb25maWdfZXJyb3Jfbm9uYm9vbCh2YXIpOworCWZyZWUoKmRlc3QpOworCSpkZXN0ID0geHN0cmR1cCh2YWx1ZSk7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgcG9wdWxhdGVfb3B0c19jYihjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpkYXRhKQpAQCAtNzcyLDQwICsxMDE4LDgxIEBACiAJZWxzZSBpZiAoIXN0cmNtcChrZXksICJvcHRpb25zLm1haW5saW5lIikpCiAJCW9wdHMtPm1haW5saW5lID0gZ2l0X2NvbmZpZ19pbnQoa2V5LCB2YWx1ZSk7CiAJZWxzZSBpZiAoIXN0cmNtcChrZXksICJvcHRpb25zLnN0cmF0ZWd5IikpCi0JCWdpdF9jb25maWdfc3RyaW5nKCZvcHRzLT5zdHJhdGVneSwga2V5LCB2YWx1ZSk7CisJCWdpdF9jb25maWdfc3RyaW5nX2R1cCgmb3B0cy0+c3RyYXRlZ3ksIGtleSwgdmFsdWUpOwogCWVsc2UgaWYgKCFzdHJjbXAoa2V5LCAib3B0aW9ucy5ncGctc2lnbiIpKQotCQlnaXRfY29uZmlnX3N0cmluZygmb3B0cy0+Z3BnX3NpZ24sIGtleSwgdmFsdWUpOworCQlnaXRfY29uZmlnX3N0cmluZ19kdXAoJm9wdHMtPmdwZ19zaWduLCBrZXksIHZhbHVlKTsKIAllbHNlIGlmICghc3RyY21wKGtleSwgIm9wdGlvbnMuc3RyYXRlZ3ktb3B0aW9uIikpIHsKIAkJQUxMT0NfR1JPVyhvcHRzLT54b3B0cywgb3B0cy0+eG9wdHNfbnIgKyAxLCBvcHRzLT54b3B0c19hbGxvYyk7CiAJCW9wdHMtPnhvcHRzW29wdHMtPnhvcHRzX25yKytdID0geHN0cmR1cCh2YWx1ZSk7CiAJfSBlbHNlCi0JCXJldHVybiBlcnJvcihfKCJJbnZhbGlkIGtleTogJXMiKSwga2V5KTsKKwkJcmV0dXJuIGVycm9yKF8oImludmFsaWQga2V5OiAlcyIpLCBrZXkpOwogCiAJaWYgKCFlcnJvcl9mbGFnKQotCQlyZXR1cm4gZXJyb3IoXygiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIiksIGtleSwgdmFsdWUpOworCQlyZXR1cm4gZXJyb3IoXygiaW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIiksIGtleSwgdmFsdWUpOwogCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIHJlYWRfcG9wdWxhdGVfb3B0cyhzdHJ1Y3QgcmVwbGF5X29wdHMgKipvcHRzX3B0cikKK3N0YXRpYyBpbnQgcmVhZF9wb3B1bGF0ZV9vcHRzKHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKKwlpZiAoaXNfcmViYXNlX2kob3B0cykpIHsKKwkJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKKworCQlpZiAocmVhZF9vbmVsaW5lcigmYnVmLCByZWJhc2VfcGF0aF9ncGdfc2lnbl9vcHQoKSwgMSkpIHsKKwkJCWlmICghc3RhcnRzX3dpdGgoYnVmLmJ1ZiwgIi1TIikpCisJCQkJc3RyYnVmX3Jlc2V0KCZidWYpOworCQkJZWxzZSB7CisJCQkJZnJlZShvcHRzLT5ncGdfc2lnbik7CisJCQkJb3B0cy0+Z3BnX3NpZ24gPSB4c3RyZHVwKGJ1Zi5idWYgKyAyKTsKKwkJCX0KKwkJfQorCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKKworCQlyZXR1cm4gMDsKKwl9CisKIAlpZiAoIWZpbGVfZXhpc3RzKGdpdF9wYXRoX29wdHNfZmlsZSgpKSkKLQkJcmV0dXJuOwotCWlmIChnaXRfY29uZmlnX2Zyb21fZmlsZShwb3B1bGF0ZV9vcHRzX2NiLCBnaXRfcGF0aF9vcHRzX2ZpbGUoKSwgKm9wdHNfcHRyKSA8IDApCi0JCWRpZShfKCJNYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJXMiKSwgZ2l0X3BhdGhfb3B0c19maWxlKCkpOworCQlyZXR1cm4gMDsKKwkvKgorCSAqIFRoZSBmdW5jdGlvbiBnaXRfcGFyc2Vfc291cmNlKCksIGNhbGxlZCBmcm9tIGdpdF9jb25maWdfZnJvbV9maWxlKCksCisJICogbWF5IGRpZSgpIGluIGNhc2Ugb2YgYSBzeW50YWN0aWNhbGx5IGluY29ycmVjdCBmaWxlLiBXZSBkbyBub3QgY2FyZQorCSAqIGFib3V0IHRoaXMgY2FzZSwgdGhvdWdoLCBiZWNhdXNlIHdlIHdyb3RlIHRoYXQgZmlsZSBvdXJzZWx2ZXMsIHNvIHdlCisJICogYXJlIHByZXR0eSBjZXJ0YWluIHRoYXQgaXQgaXMgc3ludGFjdGljYWxseSBjb3JyZWN0LgorCSAqLworCWlmIChnaXRfY29uZmlnX2Zyb21fZmlsZShwb3B1bGF0ZV9vcHRzX2NiLCBnaXRfcGF0aF9vcHRzX2ZpbGUoKSwgb3B0cykgPCAwKQorCQlyZXR1cm4gZXJyb3IoXygibWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICclcyciKSwKKwkJCWdpdF9wYXRoX29wdHNfZmlsZSgpKTsKKwlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgd2Fsa19yZXZzX3BvcHVsYXRlX3RvZG8oc3RydWN0IGNvbW1pdF9saXN0ICoqdG9kb19saXN0LAorc3RhdGljIGludCB3YWxrX3JldnNfcG9wdWxhdGVfdG9kbyhzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QsCiAJCQkJc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogeworCWVudW0gdG9kb19jb21tYW5kIGNvbW1hbmQgPSBvcHRzLT5hY3Rpb24gPT0gUkVQTEFZX1BJQ0sgPworCQlUT0RPX1BJQ0sgOiBUT0RPX1JFVkVSVDsKKwljb25zdCBjaGFyICpjb21tYW5kX3N0cmluZyA9IHRvZG9fY29tbWFuZF9zdHJpbmdzW2NvbW1hbmRdOwogCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKLQlzdHJ1Y3QgY29tbWl0X2xpc3QgKipuZXh0OwogCi0JcHJlcGFyZV9yZXZzKG9wdHMpOworCWlmIChwcmVwYXJlX3JldnMob3B0cykpCisJCXJldHVybiAtMTsKIAotCW5leHQgPSB0b2RvX2xpc3Q7Ci0Jd2hpbGUgKChjb21taXQgPSBnZXRfcmV2aXNpb24ob3B0cy0+cmV2cykpKQotCQluZXh0ID0gY29tbWl0X2xpc3RfYXBwZW5kKGNvbW1pdCwgbmV4dCk7CisJd2hpbGUgKChjb21taXQgPSBnZXRfcmV2aXNpb24ob3B0cy0+cmV2cykpKSB7CisJCXN0cnVjdCB0b2RvX2l0ZW0gKml0ZW0gPSBhcHBlbmRfbmV3X3RvZG8odG9kb19saXN0KTsKKwkJY29uc3QgY2hhciAqY29tbWl0X2J1ZmZlciA9IGdldF9jb21taXRfYnVmZmVyKGNvbW1pdCwgTlVMTCk7CisJCWNvbnN0IGNoYXIgKnN1YmplY3Q7CisJCWludCBzdWJqZWN0X2xlbjsKKworCQlpdGVtLT5jb21tYW5kID0gY29tbWFuZDsKKwkJaXRlbS0+Y29tbWl0ID0gY29tbWl0OworCQlpdGVtLT5hcmcgPSBOVUxMOworCQlpdGVtLT5hcmdfbGVuID0gMDsKKwkJaXRlbS0+b2Zmc2V0X2luX2J1ZiA9IHRvZG9fbGlzdC0+YnVmLmxlbjsKKwkJc3ViamVjdF9sZW4gPSBmaW5kX2NvbW1pdF9zdWJqZWN0KGNvbW1pdF9idWZmZXIsICZzdWJqZWN0KTsKKwkJc3RyYnVmX2FkZGYoJnRvZG9fbGlzdC0+YnVmLCAiJXMgJXMgJS4qc1xuIiwgY29tbWFuZF9zdHJpbmcsCisJCQlzaG9ydF9jb21taXRfbmFtZShjb21taXQpLCBzdWJqZWN0X2xlbiwgc3ViamVjdCk7CisJCXVudXNlX2NvbW1pdF9idWZmZXIoY29tbWl0LCBjb21taXRfYnVmZmVyKTsKKwl9CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgY3JlYXRlX3NlcV9kaXIodm9pZCkKQEAgLTgxNiwyMyArMTEwMywzMyBAQAogCQlyZXR1cm4gLTE7CiAJfQogCWVsc2UgaWYgKG1rZGlyKGdpdF9wYXRoX3NlcV9kaXIoKSwgMDc3NykgPCAwKQotCQlkaWVfZXJybm8oXygiQ291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICVzIiksCi0JCQkgIGdpdF9wYXRoX3NlcV9kaXIoKSk7CisJCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJyVzJyIpLAorCQkJCSAgIGdpdF9wYXRoX3NlcV9kaXIoKSk7CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIHNhdmVfaGVhZChjb25zdCBjaGFyICpoZWFkKQorc3RhdGljIGludCBzYXZlX2hlYWQoY29uc3QgY2hhciAqaGVhZCkKIHsKIAlzdGF0aWMgc3RydWN0IGxvY2tfZmlsZSBoZWFkX2xvY2s7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAlpbnQgZmQ7CiAKLQlmZCA9IGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGUoJmhlYWRfbG9jaywgZ2l0X3BhdGhfaGVhZF9maWxlKCksIExPQ0tfRElFX09OX0VSUk9SKTsKKwlmZCA9IGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGUoJmhlYWRfbG9jaywgZ2l0X3BhdGhfaGVhZF9maWxlKCksIDApOworCWlmIChmZCA8IDApIHsKKwkJcm9sbGJhY2tfbG9ja19maWxlKCZoZWFkX2xvY2spOworCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY291bGQgbm90IGxvY2sgSEVBRCIpKTsKKwl9CiAJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzXG4iLCBoZWFkKTsKLQlpZiAod3JpdGVfaW5fZnVsbChmZCwgYnVmLmJ1ZiwgYnVmLmxlbikgPCAwKQotCQlkaWVfZXJybm8oXygiQ291bGQgbm90IHdyaXRlIHRvICVzIiksIGdpdF9wYXRoX2hlYWRfZmlsZSgpKTsKLQlpZiAoY29tbWl0X2xvY2tfZmlsZSgmaGVhZF9sb2NrKSA8IDApCi0JCWRpZShfKCJFcnJvciB3cmFwcGluZyB1cCAlcy4iKSwgZ2l0X3BhdGhfaGVhZF9maWxlKCkpOworCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBidWYuYnVmLCBidWYubGVuKSA8IDApIHsKKwkJcm9sbGJhY2tfbG9ja19maWxlKCZoZWFkX2xvY2spOworCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY291bGQgbm90IHdyaXRlIHRvICclcyciKSwKKwkJCQkgICBnaXRfcGF0aF9oZWFkX2ZpbGUoKSk7CisJfQorCWlmIChjb21taXRfbG9ja19maWxlKCZoZWFkX2xvY2spIDwgMCkgeworCQlyb2xsYmFja19sb2NrX2ZpbGUoJmhlYWRfbG9jayk7CisJCXJldHVybiBlcnJvcihfKCJmYWlsZWQgdG8gZmluYWxpemUgJyVzJy4iKSwgZ2l0X3BhdGhfaGVhZF9maWxlKCkpOworCX0KKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCByZXNldF9mb3Jfcm9sbGJhY2soY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKQEAgLTg1OSw3ICsxMTU2LDcgQEAKIAlyZXR1cm4gcmVzZXRfZm9yX3JvbGxiYWNrKGhlYWRfc2hhMSk7CiB9CiAKLXN0YXRpYyBpbnQgc2VxdWVuY2VyX3JvbGxiYWNrKHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKK2ludCBzZXF1ZW5jZXJfcm9sbGJhY2soc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCUZJTEUgKmY7CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKQEAgLTg3NSw5ICsxMTcyLDkgQEAKIAkJcmV0dXJuIHJvbGxiYWNrX3NpbmdsZV9waWNrKCk7CiAJfQogCWlmICghZikKLQkJcmV0dXJuIGVycm9yX2Vycm5vKF8oImNhbm5vdCBvcGVuICVzIiksIGdpdF9wYXRoX2hlYWRfZmlsZSgpKTsKKwkJcmV0dXJuIGVycm9yX2Vycm5vKF8oImNhbm5vdCBvcGVuICclcyciKSwgZ2l0X3BhdGhfaGVhZF9maWxlKCkpOwogCWlmIChzdHJidWZfZ2V0bGluZV9sZigmYnVmLCBmKSkgewotCQllcnJvcihfKCJjYW5ub3QgcmVhZCAlczogJXMiKSwgZ2l0X3BhdGhfaGVhZF9maWxlKCksCisJCWVycm9yKF8oImNhbm5vdCByZWFkICclcyc6ICVzIiksIGdpdF9wYXRoX2hlYWRfZmlsZSgpLAogCQkgICAgICBmZXJyb3IoZikgPyAgc3RyZXJyb3IoZXJybm8pIDogXygidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIpKTsKIAkJZmNsb3NlKGYpOwogCQlnb3RvIGZhaWw7CkBAIC04ODgsODMgKzExODUsOTAgQEAKIAkJCWdpdF9wYXRoX2hlYWRfZmlsZSgpKTsKIAkJZ290byBmYWlsOwogCX0KKwlpZiAoaXNfbnVsbF9zaGExKHNoYTEpKSB7CisJCWVycm9yKF8oImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIikpOworCQlnb3RvIGZhaWw7CisJfQogCWlmIChyZXNldF9mb3Jfcm9sbGJhY2soc2hhMSkpCiAJCWdvdG8gZmFpbDsKLQlyZW1vdmVfc2VxdWVuY2VyX3N0YXRlKCk7CiAJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7Ci0JcmV0dXJuIDA7CisJcmV0dXJuIHNlcXVlbmNlcl9yZW1vdmVfc3RhdGUob3B0cyk7CiBmYWlsOgogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCXJldHVybiAtMTsKIH0KIAotc3RhdGljIHZvaWQgc2F2ZV90b2RvKHN0cnVjdCBjb21taXRfbGlzdCAqdG9kb19saXN0LCBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCitzdGF0aWMgaW50IHNhdmVfdG9kbyhzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QsIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKIAlzdGF0aWMgc3RydWN0IGxvY2tfZmlsZSB0b2RvX2xvY2s7Ci0Jc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQlpbnQgZmQ7CisJY29uc3QgY2hhciAqdG9kb19wYXRoID0gZ2V0X3RvZG9fcGF0aChvcHRzKTsKKwlpbnQgbmV4dCA9IHRvZG9fbGlzdC0+Y3VycmVudCwgb2Zmc2V0LCBmZDsKIAotCWZkID0gaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZSgmdG9kb19sb2NrLCBnaXRfcGF0aF90b2RvX2ZpbGUoKSwgTE9DS19ESUVfT05fRVJST1IpOwotCWlmIChmb3JtYXRfdG9kbygmYnVmLCB0b2RvX2xpc3QsIG9wdHMpIDwgMCkKLQkJZGllKF8oIkNvdWxkIG5vdCBmb3JtYXQgJXMuIiksIGdpdF9wYXRoX3RvZG9fZmlsZSgpKTsKLQlpZiAod3JpdGVfaW5fZnVsbChmZCwgYnVmLmJ1ZiwgYnVmLmxlbikgPCAwKSB7Ci0JCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwotCQlkaWVfZXJybm8oXygiQ291bGQgbm90IHdyaXRlIHRvICVzIiksIGdpdF9wYXRoX3RvZG9fZmlsZSgpKTsKLQl9Ci0JaWYgKGNvbW1pdF9sb2NrX2ZpbGUoJnRvZG9fbG9jaykgPCAwKSB7Ci0JCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwotCQlkaWUoXygiRXJyb3Igd3JhcHBpbmcgdXAgJXMuIiksIGdpdF9wYXRoX3RvZG9fZmlsZSgpKTsKLQl9Ci0Jc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CisJZmQgPSBob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKCZ0b2RvX2xvY2ssIHRvZG9fcGF0aCwgMCk7CisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCBsb2NrICclcyciKSwgdG9kb19wYXRoKTsKKwlvZmZzZXQgPSBuZXh0IDwgdG9kb19saXN0LT5uciA/CisJCXRvZG9fbGlzdC0+aXRlbXNbbmV4dF0ub2Zmc2V0X2luX2J1ZiA6IHRvZG9fbGlzdC0+YnVmLmxlbjsKKwlpZiAod3JpdGVfaW5fZnVsbChmZCwgdG9kb19saXN0LT5idWYuYnVmICsgb2Zmc2V0LAorCQkJdG9kb19saXN0LT5idWYubGVuIC0gb2Zmc2V0KSA8IDApCisJCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIpLCB0b2RvX3BhdGgpOworCWlmIChjb21taXRfbG9ja19maWxlKCZ0b2RvX2xvY2spIDwgMCkKKwkJcmV0dXJuIGVycm9yKF8oImZhaWxlZCB0byBmaW5hbGl6ZSAnJXMnLiIpLCB0b2RvX3BhdGgpOworCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBzYXZlX29wdHMoc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQorc3RhdGljIGludCBzYXZlX29wdHMoc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCWNvbnN0IGNoYXIgKm9wdHNfZmlsZSA9IGdpdF9wYXRoX29wdHNfZmlsZSgpOworCWludCByZXMgPSAwOwogCiAJaWYgKG9wdHMtPm5vX2NvbW1pdCkKLQkJZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZShvcHRzX2ZpbGUsICJvcHRpb25zLm5vLWNvbW1pdCIsICJ0cnVlIik7CisJCXJlcyB8PSBnaXRfY29uZmlnX3NldF9pbl9maWxlX2dlbnRseShvcHRzX2ZpbGUsICJvcHRpb25zLm5vLWNvbW1pdCIsICJ0cnVlIik7CiAJaWYgKG9wdHMtPmVkaXQpCi0JCWdpdF9jb25maWdfc2V0X2luX2ZpbGUob3B0c19maWxlLCAib3B0aW9ucy5lZGl0IiwgInRydWUiKTsKKwkJcmVzIHw9IGdpdF9jb25maWdfc2V0X2luX2ZpbGVfZ2VudGx5KG9wdHNfZmlsZSwgIm9wdGlvbnMuZWRpdCIsICJ0cnVlIik7CiAJaWYgKG9wdHMtPnNpZ25vZmYpCi0JCWdpdF9jb25maWdfc2V0X2luX2ZpbGUob3B0c19maWxlLCAib3B0aW9ucy5zaWdub2ZmIiwgInRydWUiKTsKKwkJcmVzIHw9IGdpdF9jb25maWdfc2V0X2luX2ZpbGVfZ2VudGx5KG9wdHNfZmlsZSwgIm9wdGlvbnMuc2lnbm9mZiIsICJ0cnVlIik7CiAJaWYgKG9wdHMtPnJlY29yZF9vcmlnaW4pCi0JCWdpdF9jb25maWdfc2V0X2luX2ZpbGUob3B0c19maWxlLCAib3B0aW9ucy5yZWNvcmQtb3JpZ2luIiwgInRydWUiKTsKKwkJcmVzIHw9IGdpdF9jb25maWdfc2V0X2luX2ZpbGVfZ2VudGx5KG9wdHNfZmlsZSwgIm9wdGlvbnMucmVjb3JkLW9yaWdpbiIsICJ0cnVlIik7CiAJaWYgKG9wdHMtPmFsbG93X2ZmKQotCQlnaXRfY29uZmlnX3NldF9pbl9maWxlKG9wdHNfZmlsZSwgIm9wdGlvbnMuYWxsb3ctZmYiLCAidHJ1ZSIpOworCQlyZXMgfD0gZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZV9nZW50bHkob3B0c19maWxlLCAib3B0aW9ucy5hbGxvdy1mZiIsICJ0cnVlIik7CiAJaWYgKG9wdHMtPm1haW5saW5lKSB7CiAJCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJCXN0cmJ1Zl9hZGRmKCZidWYsICIlZCIsIG9wdHMtPm1haW5saW5lKTsKLQkJZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZShvcHRzX2ZpbGUsICJvcHRpb25zLm1haW5saW5lIiwgYnVmLmJ1Zik7CisJCXJlcyB8PSBnaXRfY29uZmlnX3NldF9pbl9maWxlX2dlbnRseShvcHRzX2ZpbGUsICJvcHRpb25zLm1haW5saW5lIiwgYnVmLmJ1Zik7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCX0KIAlpZiAob3B0cy0+c3RyYXRlZ3kpCi0JCWdpdF9jb25maWdfc2V0X2luX2ZpbGUob3B0c19maWxlLCAib3B0aW9ucy5zdHJhdGVneSIsIG9wdHMtPnN0cmF0ZWd5KTsKKwkJcmVzIHw9IGdpdF9jb25maWdfc2V0X2luX2ZpbGVfZ2VudGx5KG9wdHNfZmlsZSwgIm9wdGlvbnMuc3RyYXRlZ3kiLCBvcHRzLT5zdHJhdGVneSk7CiAJaWYgKG9wdHMtPmdwZ19zaWduKQotCQlnaXRfY29uZmlnX3NldF9pbl9maWxlKG9wdHNfZmlsZSwgIm9wdGlvbnMuZ3BnLXNpZ24iLCBvcHRzLT5ncGdfc2lnbik7CisJCXJlcyB8PSBnaXRfY29uZmlnX3NldF9pbl9maWxlX2dlbnRseShvcHRzX2ZpbGUsICJvcHRpb25zLmdwZy1zaWduIiwgb3B0cy0+Z3BnX3NpZ24pOwogCWlmIChvcHRzLT54b3B0cykgewogCQlpbnQgaTsKIAkJZm9yIChpID0gMDsgaSA8IG9wdHMtPnhvcHRzX25yOyBpKyspCi0JCQlnaXRfY29uZmlnX3NldF9tdWx0aXZhcl9pbl9maWxlKG9wdHNfZmlsZSwKKwkJCXJlcyB8PSBnaXRfY29uZmlnX3NldF9tdWx0aXZhcl9pbl9maWxlX2dlbnRseShvcHRzX2ZpbGUsCiAJCQkJCQkJIm9wdGlvbnMuc3RyYXRlZ3ktb3B0aW9uIiwKIAkJCQkJCQlvcHRzLT54b3B0c1tpXSwgIl4kIiwgMCk7CiAJfQorCXJldHVybiByZXM7CiB9CiAKLXN0YXRpYyBpbnQgcGlja19jb21taXRzKHN0cnVjdCBjb21taXRfbGlzdCAqdG9kb19saXN0LCBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCitzdGF0aWMgaW50IHBpY2tfY29tbWl0cyhzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QsIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKLQlzdHJ1Y3QgY29tbWl0X2xpc3QgKmN1cjsKIAlpbnQgcmVzOwogCiAJc2V0ZW52KEdJVF9SRUZMT0dfQUNUSU9OLCBhY3Rpb25fbmFtZShvcHRzKSwgMCk7CiAJaWYgKG9wdHMtPmFsbG93X2ZmKQogCQlhc3NlcnQoIShvcHRzLT5zaWdub2ZmIHx8IG9wdHMtPm5vX2NvbW1pdCB8fAogCQkJCW9wdHMtPnJlY29yZF9vcmlnaW4gfHwgb3B0cy0+ZWRpdCkpOwotCXJlYWRfYW5kX3JlZnJlc2hfY2FjaGUob3B0cyk7CisJaWYgKHJlYWRfYW5kX3JlZnJlc2hfY2FjaGUob3B0cykpCisJCXJldHVybiAtMTsKIAotCWZvciAoY3VyID0gdG9kb19saXN0OyBjdXI7IGN1ciA9IGN1ci0+bmV4dCkgewotCQlzYXZlX3RvZG8oY3VyLCBvcHRzKTsKLQkJcmVzID0gZG9fcGlja19jb21taXQoY3VyLT5pdGVtLCBvcHRzKTsKKwl3aGlsZSAodG9kb19saXN0LT5jdXJyZW50IDwgdG9kb19saXN0LT5ucikgeworCQlzdHJ1Y3QgdG9kb19pdGVtICppdGVtID0gdG9kb19saXN0LT5pdGVtcyArIHRvZG9fbGlzdC0+Y3VycmVudDsKKwkJaWYgKHNhdmVfdG9kbyh0b2RvX2xpc3QsIG9wdHMpKQorCQkJcmV0dXJuIC0xOworCQlyZXMgPSBkb19waWNrX2NvbW1pdChpdGVtLT5jb21tYW5kLCBpdGVtLT5jb21taXQsIG9wdHMpOworCQl0b2RvX2xpc3QtPmN1cnJlbnQrKzsKIAkJaWYgKHJlcykKIAkJCXJldHVybiByZXM7CiAJfQpAQCAtOTczLDggKzEyNzcsNyBAQAogCSAqIFNlcXVlbmNlIG9mIHBpY2tzIGZpbmlzaGVkIHN1Y2Nlc3NmdWxseTsgY2xlYW51cCBieQogCSAqIHJlbW92aW5nIHRoZSAuZ2l0L3NlcXVlbmNlciBkaXJlY3RvcnkKIAkgKi8KLQlyZW1vdmVfc2VxdWVuY2VyX3N0YXRlKCk7Ci0JcmV0dXJuIDA7CisJcmV0dXJuIHNlcXVlbmNlcl9yZW1vdmVfc3RhdGUob3B0cyk7CiB9CiAKIHN0YXRpYyBpbnQgY29udGludWVfc2luZ2xlX3BpY2sodm9pZCkKQEAgLTk4Nyw1OCArMTI5MCw1NSBAQAogCXJldHVybiBydW5fY29tbWFuZF92X29wdChhcmd2LCBSVU5fR0lUX0NNRCk7CiB9CiAKLXN0YXRpYyBpbnQgc2VxdWVuY2VyX2NvbnRpbnVlKHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKK2ludCBzZXF1ZW5jZXJfY29udGludWUoc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewotCXN0cnVjdCBjb21taXRfbGlzdCAqdG9kb19saXN0ID0gTlVMTDsKKwlzdHJ1Y3QgdG9kb19saXN0IHRvZG9fbGlzdCA9IFRPRE9fTElTVF9JTklUOworCWludCByZXM7CiAKLQlpZiAoIWZpbGVfZXhpc3RzKGdpdF9wYXRoX3RvZG9fZmlsZSgpKSkKKwlpZiAocmVhZF9hbmRfcmVmcmVzaF9jYWNoZShvcHRzKSkKKwkJcmV0dXJuIC0xOworCisJaWYgKCFmaWxlX2V4aXN0cyhnZXRfdG9kb19wYXRoKG9wdHMpKSkKIAkJcmV0dXJuIGNvbnRpbnVlX3NpbmdsZV9waWNrKCk7Ci0JcmVhZF9wb3B1bGF0ZV9vcHRzKCZvcHRzKTsKLQlyZWFkX3BvcHVsYXRlX3RvZG8oJnRvZG9fbGlzdCwgb3B0cyk7CisJaWYgKHJlYWRfcG9wdWxhdGVfb3B0cyhvcHRzKSkKKwkJcmV0dXJuIC0xOworCWlmICgocmVzID0gcmVhZF9wb3B1bGF0ZV90b2RvKCZ0b2RvX2xpc3QsIG9wdHMpKSkKKwkJZ290byByZWxlYXNlX3RvZG9fbGlzdDsKIAogCS8qIFZlcmlmeSB0aGF0IHRoZSBjb25mbGljdCBoYXMgYmVlbiByZXNvbHZlZCAqLwogCWlmIChmaWxlX2V4aXN0cyhnaXRfcGF0aF9jaGVycnlfcGlja19oZWFkKCkpIHx8CiAJICAgIGZpbGVfZXhpc3RzKGdpdF9wYXRoX3JldmVydF9oZWFkKCkpKSB7Ci0JCWludCByZXQgPSBjb250aW51ZV9zaW5nbGVfcGljaygpOwotCQlpZiAocmV0KQotCQkJcmV0dXJuIHJldDsKKwkJcmVzID0gY29udGludWVfc2luZ2xlX3BpY2soKTsKKwkJaWYgKHJlcykKKwkJCWdvdG8gcmVsZWFzZV90b2RvX2xpc3Q7CiAJfQotCWlmIChpbmRleF9kaWZmZXJzX2Zyb20oIkhFQUQiLCAwKSkKLQkJcmV0dXJuIGVycm9yX2RpcnR5X2luZGV4KG9wdHMpOwotCXRvZG9fbGlzdCA9IHRvZG9fbGlzdC0+bmV4dDsKLQlyZXR1cm4gcGlja19jb21taXRzKHRvZG9fbGlzdCwgb3B0cyk7CisJaWYgKGluZGV4X2RpZmZlcnNfZnJvbSgiSEVBRCIsIDAsIDApKSB7CisJCXJlcyA9IGVycm9yX2RpcnR5X2luZGV4KG9wdHMpOworCQlnb3RvIHJlbGVhc2VfdG9kb19saXN0OworCX0KKwl0b2RvX2xpc3QuY3VycmVudCsrOworCXJlcyA9IHBpY2tfY29tbWl0cygmdG9kb19saXN0LCBvcHRzKTsKK3JlbGVhc2VfdG9kb19saXN0OgorCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOworCXJldHVybiByZXM7CiB9CiAKIHN0YXRpYyBpbnQgc2luZ2xlX3BpY2soc3RydWN0IGNvbW1pdCAqY21pdCwgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCXNldGVudihHSVRfUkVGTE9HX0FDVElPTiwgYWN0aW9uX25hbWUob3B0cyksIDApOwotCXJldHVybiBkb19waWNrX2NvbW1pdChjbWl0LCBvcHRzKTsKKwlyZXR1cm4gZG9fcGlja19jb21taXQob3B0cy0+YWN0aW9uID09IFJFUExBWV9QSUNLID8KKwkJVE9ET19QSUNLIDogVE9ET19SRVZFUlQsIGNtaXQsIG9wdHMpOwogfQogCiBpbnQgc2VxdWVuY2VyX3BpY2tfcmV2aXNpb25zKHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKLQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnRvZG9fbGlzdCA9IE5VTEw7CisJc3RydWN0IHRvZG9fbGlzdCB0b2RvX2xpc3QgPSBUT0RPX0xJU1RfSU5JVDsKIAl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwotCWludCBpOworCWludCBpLCByZXM7CiAKLQlpZiAob3B0cy0+c3ViY29tbWFuZCA9PSBSRVBMQVlfTk9ORSkKLQkJYXNzZXJ0KG9wdHMtPnJldnMpOwotCi0JcmVhZF9hbmRfcmVmcmVzaF9jYWNoZShvcHRzKTsKLQotCS8qCi0JICogRGVjaWRlIHdoYXQgdG8gZG8gZGVwZW5kaW5nIG9uIHRoZSBhcmd1bWVudHM7IGEgZnJlc2gKLQkgKiBjaGVycnktcGljayBzaG91bGQgYmUgaGFuZGxlZCBkaWZmZXJlbnRseSBmcm9tIGFuIGV4aXN0aW5nCi0JICogb25lIHRoYXQgaXMgYmVpbmcgY29udGludWVkCi0JICovCi0JaWYgKG9wdHMtPnN1YmNvbW1hbmQgPT0gUkVQTEFZX1JFTU9WRV9TVEFURSkgewotCQlyZW1vdmVfc2VxdWVuY2VyX3N0YXRlKCk7Ci0JCXJldHVybiAwOwotCX0KLQlpZiAob3B0cy0+c3ViY29tbWFuZCA9PSBSRVBMQVlfUk9MTEJBQ0spCi0JCXJldHVybiBzZXF1ZW5jZXJfcm9sbGJhY2sob3B0cyk7Ci0JaWYgKG9wdHMtPnN1YmNvbW1hbmQgPT0gUkVQTEFZX0NPTlRJTlVFKQotCQlyZXR1cm4gc2VxdWVuY2VyX2NvbnRpbnVlKG9wdHMpOworCWFzc2VydChvcHRzLT5yZXZzKTsKKwlpZiAocmVhZF9hbmRfcmVmcmVzaF9jYWNoZShvcHRzKSkKKwkJcmV0dXJuIC0xOwogCiAJZm9yIChpID0gMDsgaSA8IG9wdHMtPnJldnMtPnBlbmRpbmcubnI7IGkrKykgewogCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwpAQCAtMTA1MSwxMCArMTM1MSwxMSBAQAogCQlpZiAoIWdldF9zaGExKG5hbWUsIHNoYTEpKSB7CiAJCQlpZiAoIWxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShzaGExLCAxKSkgewogCQkJCWVudW0gb2JqZWN0X3R5cGUgdHlwZSA9IHNoYTFfb2JqZWN0X2luZm8oc2hhMSwgTlVMTCk7Ci0JCQkJZGllKF8oIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIiksIG5hbWUsIHR5cGVuYW1lKHR5cGUpKTsKKwkJCQlyZXR1cm4gZXJyb3IoXygiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiKSwKKwkJCQkJbmFtZSwgdHlwZW5hbWUodHlwZSkpOwogCQkJfQogCQl9IGVsc2UKLQkJCWRpZShfKCIlczogYmFkIHJldmlzaW9uIiksIG5hbWUpOworCQkJcmV0dXJuIGVycm9yKF8oIiVzOiBiYWQgcmV2aXNpb24iKSwgbmFtZSk7CiAJfQogCiAJLyoKQEAgLTEwNzAsMTAgKzEzNzEsMTAgQEAKIAkgICAgIW9wdHMtPnJldnMtPmNtZGxpbmUucmV2LT5mbGFncykgewogCQlzdHJ1Y3QgY29tbWl0ICpjbWl0OwogCQlpZiAocHJlcGFyZV9yZXZpc2lvbl93YWxrKG9wdHMtPnJldnMpKQotCQkJZGllKF8oInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIikpOworCQkJcmV0dXJuIGVycm9yKF8oInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIikpOwogCQljbWl0ID0gZ2V0X3JldmlzaW9uKG9wdHMtPnJldnMpOwogCQlpZiAoIWNtaXQgfHwgZ2V0X3JldmlzaW9uKG9wdHMtPnJldnMpKQotCQkJZGllKCJCVUc6IGV4cGVjdGVkIGV4YWN0bHkgb25lIGNvbW1pdCBmcm9tIHdhbGsiKTsKKwkJCXJldHVybiBlcnJvcigiQlVHOiBleHBlY3RlZCBleGFjdGx5IG9uZSBjb21taXQgZnJvbSB3YWxrIik7CiAJCXJldHVybiBzaW5nbGVfcGljayhjbWl0LCBvcHRzKTsKIAl9CiAKQEAgLTEwODMsMTcgKzEzODQsMTggQEAKIAkgKiBwcm9ncmVzcwogCSAqLwogCi0Jd2Fsa19yZXZzX3BvcHVsYXRlX3RvZG8oJnRvZG9fbGlzdCwgb3B0cyk7Ci0JaWYgKGNyZWF0ZV9zZXFfZGlyKCkgPCAwKQorCWlmICh3YWxrX3JldnNfcG9wdWxhdGVfdG9kbygmdG9kb19saXN0LCBvcHRzKSB8fAorCQkJY3JlYXRlX3NlcV9kaXIoKSA8IDApCiAJCXJldHVybiAtMTsKLQlpZiAoZ2V0X3NoYTEoIkhFQUQiLCBzaGExKSkgewotCQlpZiAob3B0cy0+YWN0aW9uID09IFJFUExBWV9SRVZFUlQpCi0JCQlyZXR1cm4gZXJyb3IoXygiQ2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IikpOwotCQlyZXR1cm4gZXJyb3IoXygiQ2FuJ3QgY2hlcnJ5LXBpY2sgaW50byBlbXB0eSBoZWFkIikpOwotCX0KLQlzYXZlX2hlYWQoc2hhMV90b19oZXgoc2hhMSkpOwotCXNhdmVfb3B0cyhvcHRzKTsKLQlyZXR1cm4gcGlja19jb21taXRzKHRvZG9fbGlzdCwgb3B0cyk7CisJaWYgKGdldF9zaGExKCJIRUFEIiwgc2hhMSkgJiYgKG9wdHMtPmFjdGlvbiA9PSBSRVBMQVlfUkVWRVJUKSkKKwkJcmV0dXJuIGVycm9yKF8oImNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIpKTsKKwlpZiAoc2F2ZV9oZWFkKHNoYTFfdG9faGV4KHNoYTEpKSkKKwkJcmV0dXJuIC0xOworCWlmIChzYXZlX29wdHMob3B0cykpCisJCXJldHVybiAtMTsKKwlyZXMgPSBwaWNrX2NvbW1pdHMoJnRvZG9fbGlzdCwgb3B0cyk7CisJdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7CisJcmV0dXJuIHJlczsKIH0KIAogdm9pZCBhcHBlbmRfc2lnbm9mZihzdHJ1Y3Qgc3RyYnVmICptc2didWYsIGludCBpZ25vcmVfZm9vdGVyLCB1bnNpZ25lZCBmbGFnKQpkaWZmIC0tZ2l0IGEvc2VxdWVuY2VyLmggYi9zZXF1ZW5jZXIuaAppbmRleCA1ZWQ1Y2IxLi43YTUxM2M1IDEwMDY0NAotLS0gYS9zZXF1ZW5jZXIuaAorKysgYi9zZXF1ZW5jZXIuaApAQCAtMSwxMCArMSw3IEBACiAjaWZuZGVmIFNFUVVFTkNFUl9ICiAjZGVmaW5lIFNFUVVFTkNFUl9ICiAKLSNkZWZpbmUgU0VRX0RJUgkJInNlcXVlbmNlciIKLSNkZWZpbmUgU0VRX0hFQURfRklMRQkic2VxdWVuY2VyL2hlYWQiCi0jZGVmaW5lIFNFUV9UT0RPX0ZJTEUJInNlcXVlbmNlci90b2RvIgotI2RlZmluZSBTRVFfT1BUU19GSUxFCSJzZXF1ZW5jZXIvb3B0cyIKK2NvbnN0IGNoYXIgKmdpdF9wYXRoX3NlcV9kaXIodm9pZCk7CiAKICNkZWZpbmUgQVBQRU5EX1NJR05PRkZfREVEVVAgKDF1IDw8IDApCiAKQEAgLTEzLDE2ICsxMCw4IEBACiAJUkVQTEFZX1BJQ0sKIH07CiAKLWVudW0gcmVwbGF5X3N1YmNvbW1hbmQgewotCVJFUExBWV9OT05FLAotCVJFUExBWV9SRU1PVkVfU1RBVEUsCi0JUkVQTEFZX0NPTlRJTlVFLAotCVJFUExBWV9ST0xMQkFDSwotfTsKLQogc3RydWN0IHJlcGxheV9vcHRzIHsKIAllbnVtIHJlcGxheV9hY3Rpb24gYWN0aW9uOwotCWVudW0gcmVwbGF5X3N1YmNvbW1hbmQgc3ViY29tbWFuZDsKIAogCS8qIEJvb2xlYW4gb3B0aW9ucyAqLwogCWludCBlZGl0OwpAQCAtMzcsMTggKzI2LDIyIEBACiAKIAlpbnQgbWFpbmxpbmU7CiAKLQljb25zdCBjaGFyICpncGdfc2lnbjsKKwljaGFyICpncGdfc2lnbjsKIAogCS8qIE1lcmdlIHN0cmF0ZWd5ICovCi0JY29uc3QgY2hhciAqc3RyYXRlZ3k7Ci0JY29uc3QgY2hhciAqKnhvcHRzOworCWNoYXIgKnN0cmF0ZWd5OworCWNoYXIgKip4b3B0czsKIAlzaXplX3QgeG9wdHNfbnIsIHhvcHRzX2FsbG9jOwogCiAJLyogT25seSB1c2VkIGJ5IFJFUExBWV9OT05FICovCiAJc3RydWN0IHJldl9pbmZvICpyZXZzOwogfTsKKyNkZWZpbmUgUkVQTEFZX09QVFNfSU5JVCB7IC0xIH0KIAogaW50IHNlcXVlbmNlcl9waWNrX3JldmlzaW9ucyhzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpOworaW50IHNlcXVlbmNlcl9jb250aW51ZShzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpOworaW50IHNlcXVlbmNlcl9yb2xsYmFjayhzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpOworaW50IHNlcXVlbmNlcl9yZW1vdmVfc3RhdGUoc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKTsKIAogZXh0ZXJuIGNvbnN0IGNoYXIgc2lnbl9vZmZfaGVhZGVyW107CiAKZGlmZiAtLWdpdCBhL3NlcnZlci1pbmZvLmMgYi9zZXJ2ZXItaW5mby5jCmluZGV4IDc1ZGQ2NzcuLjdiYzRlNzUgMTAwNjQ0Ci0tLSBhL3NlcnZlci1pbmZvLmMKKysrIGIvc2VydmVyLWluZm8uYwpAQCAtMjI5LDcgKzIyOSw3IEBACiAJfQogCiAJLyogcmVudW1iZXIgdGhlbSAqLwotCXFzb3J0KGluZm8sIG51bV9wYWNrLCBzaXplb2YoaW5mb1swXSksIGNvbXBhcmVfaW5mbyk7CisJUVNPUlQoaW5mbywgbnVtX3BhY2ssIGNvbXBhcmVfaW5mbyk7CiAJZm9yIChpID0gMDsgaSA8IG51bV9wYWNrOyBpKyspCiAJCWluZm9baV0tPm5ld19udW0gPSBpOwogfQpkaWZmIC0tZ2l0IGEvc2V0dXAuYyBiL3NldHVwLmMKaW5kZXggYzg2YmY1Yy4uZmU1NzJiOCAxMDA2NDQKLS0tIGEvc2V0dXAuYworKysgYi9zZXR1cC5jCkBAIC0xNTcsOCArMTU3LDggQEAKIAkJCQkJIGludCBkaWFnbm9zZV9taXNzcGVsdF9yZXYpCiB7CiAJaWYgKCFkaWFnbm9zZV9taXNzcGVsdF9yZXYpCi0JCWRpZSgiJXM6IG5vIHN1Y2ggcGF0aCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgotCQkgICAgIlVzZSAnZ2l0IDxjb21tYW5kPiAtLSA8cGF0aD4uLi4nIHRvIHNwZWNpZnkgcGF0aHMgdGhhdCBkbyBub3QgZXhpc3QgbG9jYWxseS4iLAorCQlkaWUoXygiJXM6IG5vIHN1Y2ggcGF0aCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgorCQkgICAgICAiVXNlICdnaXQgPGNvbW1hbmQ+IC0tIDxwYXRoPi4uLicgdG8gc3BlY2lmeSBwYXRocyB0aGF0IGRvIG5vdCBleGlzdCBsb2NhbGx5LiIpLAogCQkgICAgYXJnKTsKIAkvKgogCSAqIFNheWluZyAiJyhpY2FzZSlmb28nIGRvZXMgbm90IGV4aXN0IGluIHRoZSBpbmRleCIgd2hlbiB0aGUKQEAgLTE3MCw5ICsxNzAsOSBAQAogCQltYXliZV9kaWVfb25fbWlzc3BlbHRfb2JqZWN0X25hbWUoYXJnLCBwcmVmaXgpOwogCiAJLyogLi4uIG9yIGZhbGwgYmFjayB0aGUgbW9zdCBnZW5lcmFsIG1lc3NhZ2UuICovCi0JZGllKCJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogdW5rbm93biByZXZpc2lvbiBvciBwYXRoIG5vdCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgotCSAgICAiVXNlICctLScgdG8gc2VwYXJhdGUgcGF0aHMgZnJvbSByZXZpc2lvbnMsIGxpa2UgdGhpczpcbiIKLQkgICAgIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciLCBhcmcpOworCWRpZShfKCJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogdW5rbm93biByZXZpc2lvbiBvciBwYXRoIG5vdCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgorCSAgICAgICJVc2UgJy0tJyB0byBzZXBhcmF0ZSBwYXRocyBmcm9tIHJldmlzaW9ucywgbGlrZSB0aGlzOlxuIgorCSAgICAgICInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIiksIGFyZyk7CiAKIH0KIApAQCAtMjIwLDkgKzIyMCw5IEBACiAJCXJldHVybjsgLyogZmxhZyAqLwogCWlmICghY2hlY2tfZmlsZW5hbWUocHJlZml4LCBhcmcpKQogCQlyZXR1cm47Ci0JZGllKCJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogYm90aCByZXZpc2lvbiBhbmQgZmlsZW5hbWVcbiIKLQkgICAgIlVzZSAnLS0nIHRvIHNlcGFyYXRlIHBhdGhzIGZyb20gcmV2aXNpb25zLCBsaWtlIHRoaXM6XG4iCi0JICAgICInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIiwgYXJnKTsKKwlkaWUoXygiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IGJvdGggcmV2aXNpb24gYW5kIGZpbGVuYW1lXG4iCisJICAgICAgIlVzZSAnLS0nIHRvIHNlcGFyYXRlIHBhdGhzIGZyb20gcmV2aXNpb25zLCBsaWtlIHRoaXM6XG4iCisJICAgICAgIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciKSwgYXJnKTsKIH0KIAogaW50IGdldF9jb21tb25fZGlyKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpnaXRkaXIpCkBAIC03NTksOSArNzU5LDkgQEAKIHN0YXRpYyBjb25zdCBjaGFyICpzZXR1cF9ub25naXQoY29uc3QgY2hhciAqY3dkLCBpbnQgKm5vbmdpdF9vaykKIHsKIAlpZiAoIW5vbmdpdF9vaykKLQkJZGllKCJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIsIERFRkFVTFRfR0lUX0RJUl9FTlZJUk9OTUVOVCk7CisJCWRpZShfKCJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIpLCBERUZBVUxUX0dJVF9ESVJfRU5WSVJPTk1FTlQpOwogCWlmIChjaGRpcihjd2QpKQotCQlkaWVfZXJybm8oIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIik7CisJCWRpZV9lcnJubyhfKCJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIpKTsKIAkqbm9uZ2l0X29rID0gMTsKIAlyZXR1cm4gTlVMTDsKIH0KQEAgLTg0Miw3ICs4NDIsNyBAQAogCQkqbm9uZ2l0X29rID0gMDsKIAogCWlmIChzdHJidWZfZ2V0Y3dkKCZjd2QpKQotCQlkaWVfZXJybm8oIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiKTsKKwkJZGllX2Vycm5vKF8oIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiKSk7CiAJb2Zmc2V0ID0gY3dkLmxlbjsKIAogCS8qCkBAIC05MTIsMTkgKzkxMiwxOSBAQAogCQkJaWYgKHBhcmVudF9kZXZpY2UgIT0gY3VycmVudF9kZXZpY2UpIHsKIAkJCQlpZiAobm9uZ2l0X29rKSB7CiAJCQkJCWlmIChjaGRpcihjd2QuYnVmKSkKLQkJCQkJCWRpZV9lcnJubygiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiKTsKKwkJCQkJCWRpZV9lcnJubyhfKCJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIpKTsKIAkJCQkJKm5vbmdpdF9vayA9IDE7CiAJCQkJCXJldHVybiBOVUxMOwogCQkJCX0KIAkJCQlzdHJidWZfc2V0bGVuKCZjd2QsIG9mZnNldCk7Ci0JCQkJZGllKCJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IHBhcmVudCB1cCB0byBtb3VudCBwb2ludCAlcylcbiIKLQkJCQkiU3RvcHBpbmcgYXQgZmlsZXN5c3RlbSBib3VuZGFyeSAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSBub3Qgc2V0KS4iLAorCQkJCWRpZShfKCJOb3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IHBhcmVudCB1cCB0byBtb3VudCBwb2ludCAlcylcbiIKKwkJCQkiU3RvcHBpbmcgYXQgZmlsZXN5c3RlbSBib3VuZGFyeSAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSBub3Qgc2V0KS4iKSwKIAkJCQkgICAgY3dkLmJ1Zik7CiAJCQl9CiAJCX0KIAkJaWYgKGNoZGlyKCIuLiIpKSB7CiAJCQlzdHJidWZfc2V0bGVuKCZjd2QsIG9mZnNldCk7Ci0JCQlkaWVfZXJybm8oIkNhbm5vdCBjaGFuZ2UgdG8gJyVzLy4uJyIsIGN3ZC5idWYpOworCQkJZGllX2Vycm5vKF8oIkNhbm5vdCBjaGFuZ2UgdG8gJyVzLy4uJyIpLCBjd2QuYnVmKTsKIAkJfQogCQlvZmZzZXQgPSBvZmZzZXRfcGFyZW50OwogCX0KQEAgLTk4Niw5ICs5ODYsOSBAQAogCS8qIEEgZmlsZW1vZGUgdmFsdWUgd2FzIGdpdmVuOiAweHh4ICovCiAKIAlpZiAoKGkgJiAwNjAwKSAhPSAwNjAwKQotCQlkaWUoIlByb2JsZW0gd2l0aCBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgZmlsZW1vZGUgdmFsdWUgIgorCQlkaWUoXygiUHJvYmxlbSB3aXRoIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSBmaWxlbW9kZSB2YWx1ZSAiCiAJCSAgICAiKDAlLjNvKS5cblRoZSBvd25lciBvZiBmaWxlcyBtdXN0IGFsd2F5cyBoYXZlICIKLQkJICAgICJyZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucy4iLCBpKTsKKwkJICAgICJyZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucy4iKSwgaSk7CiAKIAkvKgogCSAqIE1hc2sgZmlsZW1vZGUgdmFsdWUuIE90aGVycyBjYW4gbm90IGdldCB3cml0ZSBwZXJtaXNzaW9uLgpkaWZmIC0tZ2l0IGEvc2gtaTE4bi0tZW52c3Vic3QuYyBiL3NoLWkxOG4tLWVudnN1YnN0LmMKaW5kZXggZTA2YjJjMS4uYzNhMmI1YSAxMDA2NDQKLS0tIGEvc2gtaTE4bi0tZW52c3Vic3QuYworKysgYi9zaC1pMThuLS1lbnZzdWJzdC5jCkBAIC0yMzAsOCArMjMwLDcgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZAogc3RyaW5nX2xpc3Rfc29ydCAoc3RyaW5nX2xpc3RfdHkgKnNscCkKIHsKLSAgaWYgKHNscC0+bml0ZW1zID4gMCkKLSAgICBxc29ydCAoc2xwLT5pdGVtLCBzbHAtPm5pdGVtcywgc2l6ZW9mIChzbHAtPml0ZW1bMF0pLCBjbXBfc3RyaW5nKTsKKyAgUVNPUlQoc2xwLT5pdGVtLCBzbHAtPm5pdGVtcywgY21wX3N0cmluZyk7CiB9CiAKIC8qIFRlc3Qgd2hldGhlciBhIHNvcnRlZCBzdHJpbmcgbGlzdCBjb250YWlucyBhIGdpdmVuIHN0cmluZy4gICovCmRpZmYgLS1naXQgYS9zaGExLWFycmF5LmMgYi9zaGExLWFycmF5LmMKaW5kZXggNmY0YTIyNC4uYzFjYzI1YyAxMDA2NDQKLS0tIGEvc2hhMS1hcnJheS5jCisrKyBiL3NoYTEtYXJyYXkuYwpAQCAtMTYsNyArMTYsNyBAQAogCiBzdGF0aWMgdm9pZCBzaGExX2FycmF5X3NvcnQoc3RydWN0IHNoYTFfYXJyYXkgKmFycmF5KQogewotCXFzb3J0KGFycmF5LT5zaGExLCBhcnJheS0+bnIsIHNpemVvZigqYXJyYXktPnNoYTEpLCB2b2lkX2hhc2hjbXApOworCVFTT1JUKGFycmF5LT5zaGExLCBhcnJheS0+bnIsIHZvaWRfaGFzaGNtcCk7CiAJYXJyYXktPnNvcnRlZCA9IDE7CiB9CiAKQEAgLTQyLDcgKzQyLDcgQEAKIAlhcnJheS0+c29ydGVkID0gMDsKIH0KIAotdm9pZCBzaGExX2FycmF5X2Zvcl9lYWNoX3VuaXF1ZShzdHJ1Y3Qgc2hhMV9hcnJheSAqYXJyYXksCitpbnQgc2hhMV9hcnJheV9mb3JfZWFjaF91bmlxdWUoc3RydWN0IHNoYTFfYXJyYXkgKmFycmF5LAogCQkJCWZvcl9lYWNoX3NoYTFfZm4gZm4sCiAJCQkJdm9pZCAqZGF0YSkKIHsKQEAgLTUyLDggKzUyLDEyIEBACiAJCXNoYTFfYXJyYXlfc29ydChhcnJheSk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgYXJyYXktPm5yOyBpKyspIHsKKwkJaW50IHJldDsKIAkJaWYgKGkgPiAwICYmICFoYXNoY21wKGFycmF5LT5zaGExW2ldLCBhcnJheS0+c2hhMVtpLTFdKSkKIAkJCWNvbnRpbnVlOwotCQlmbihhcnJheS0+c2hhMVtpXSwgZGF0YSk7CisJCXJldCA9IGZuKGFycmF5LT5zaGExW2ldLCBkYXRhKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CiAJfQorCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvc2hhMS1hcnJheS5oIGIvc2hhMS1hcnJheS5oCmluZGV4IDcyYmIzM2IuLmIzMjMwYmUgMTAwNjQ0Ci0tLSBhL3NoYTEtYXJyYXkuaAorKysgYi9zaGExLWFycmF5LmgKQEAgLTE0LDEwICsxNCwxMCBAQAogaW50IHNoYTFfYXJyYXlfbG9va3VwKHN0cnVjdCBzaGExX2FycmF5ICphcnJheSwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7CiB2b2lkIHNoYTFfYXJyYXlfY2xlYXIoc3RydWN0IHNoYTFfYXJyYXkgKmFycmF5KTsKIAotdHlwZWRlZiB2b2lkICgqZm9yX2VhY2hfc2hhMV9mbikoY29uc3QgdW5zaWduZWQgY2hhciBzaGExWzIwXSwKLQkJCQkgdm9pZCAqZGF0YSk7Ci12b2lkIHNoYTFfYXJyYXlfZm9yX2VhY2hfdW5pcXVlKHN0cnVjdCBzaGExX2FycmF5ICphcnJheSwKLQkJCQlmb3JfZWFjaF9zaGExX2ZuIGZuLAordHlwZWRlZiBpbnQgKCpmb3JfZWFjaF9zaGExX2ZuKShjb25zdCB1bnNpZ25lZCBjaGFyIHNoYTFbMjBdLAogCQkJCXZvaWQgKmRhdGEpOworaW50IHNoYTFfYXJyYXlfZm9yX2VhY2hfdW5pcXVlKHN0cnVjdCBzaGExX2FycmF5ICphcnJheSwKKwkJCSAgICAgICBmb3JfZWFjaF9zaGExX2ZuIGZuLAorCQkJICAgICAgIHZvaWQgKmRhdGEpOwogCiAjZW5kaWYgLyogU0hBMV9BUlJBWV9IICovCmRpZmYgLS1naXQgYS9zaGExX2ZpbGUuYyBiL3NoYTFfZmlsZS5jCmluZGV4IGQ1ZTExMjEuLjljODZkMTkgMTAwNjQ0Ci0tLSBhL3NoYTFfZmlsZS5jCisrKyBiL3NoYTFfZmlsZS5jCkBAIC0yMyw2ICsyMyw5IEBACiAjaW5jbHVkZSAiYnVsay1jaGVja2luLmgiCiAjaW5jbHVkZSAic3RyZWFtaW5nLmgiCiAjaW5jbHVkZSAiZGlyLmgiCisjaW5jbHVkZSAibXJ1LmgiCisjaW5jbHVkZSAibGlzdC5oIgorI2luY2x1ZGUgIm1lcmdlc29ydC5oIgogCiAjaWZuZGVmIE9fTk9BVElNRQogI2lmIGRlZmluZWQoX19saW51eF9fKSAmJiAoZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX1BQQ19fKSkKQEAgLTM3LDYgKzQwLDEyIEBACiAKIGNvbnN0IHVuc2lnbmVkIGNoYXIgbnVsbF9zaGExWzIwXTsKIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgbnVsbF9vaWQ7Citjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkIGVtcHR5X3RyZWVfb2lkID0geworCUVNUFRZX1RSRUVfU0hBMV9CSU5fTElURVJBTAorfTsKK2NvbnN0IHN0cnVjdCBvYmplY3RfaWQgZW1wdHlfYmxvYl9vaWQgPSB7CisJRU1QVFlfQkxPQl9TSEExX0JJTl9MSVRFUkFMCit9OwogCiAvKgogICogVGhpcyBpcyBtZWFudCB0byBob2xkIGEgKnNtYWxsKiBudW1iZXIgb2Ygb2JqZWN0cyB0aGF0IHlvdSB3b3VsZApAQCAtNTksMTQgKzY4LDYgQEAKIAkwCiB9OwogCi0vKgotICogQSBwb2ludGVyIHRvIHRoZSBsYXN0IHBhY2tlZF9naXQgaW4gd2hpY2ggYW4gb2JqZWN0IHdhcyBmb3VuZC4KLSAqIFdoZW4gYW4gb2JqZWN0IGlzIHNvdWdodCwgd2UgbG9vayBpbiB0aGlzIHBhY2tmaWxlIGZpcnN0LCBiZWNhdXNlCi0gKiBvYmplY3RzIHRoYXQgYXJlIGxvb2tlZCB1cCBhdCBzaW1pbGFyIHRpbWVzIGFyZSBvZnRlbiBpbiB0aGUgc2FtZQotICogcGFja2ZpbGUgYXMgb25lIGFub3RoZXIuCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgcGFja2VkX2dpdCAqbGFzdF9mb3VuZF9wYWNrOwotCiBzdGF0aWMgc3RydWN0IGNhY2hlZF9vYmplY3QgKmZpbmRfY2FjaGVkX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQogewogCWludCBpOwpAQCAtMTcxLDM2ICsxNzIsNDIgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi1zdGF0aWMgdm9pZCBmaWxsX3NoYTFfcGF0aChjaGFyICpwYXRoYnVmLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIHZvaWQgZmlsbF9zaGExX3BhdGgoc3RydWN0IHN0cmJ1ZiAqYnVmLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQogewogCWludCBpOwogCWZvciAoaSA9IDA7IGkgPCAyMDsgaSsrKSB7CiAJCXN0YXRpYyBjaGFyIGhleFtdID0gIjAxMjM0NTY3ODlhYmNkZWYiOwogCQl1bnNpZ25lZCBpbnQgdmFsID0gc2hhMVtpXTsKLQkJY2hhciAqcG9zID0gcGF0aGJ1ZiArIGkqMiArIChpID4gMCk7Ci0JCSpwb3MrKyA9IGhleFt2YWwgPj4gNF07Ci0JCSpwb3MgPSBoZXhbdmFsICYgMHhmXTsKKwkJc3RyYnVmX2FkZGNoKGJ1ZiwgaGV4W3ZhbCA+PiA0XSk7CisJCXN0cmJ1Zl9hZGRjaChidWYsIGhleFt2YWwgJiAweGZdKTsKKwkJaWYgKCFpKQorCQkJc3RyYnVmX2FkZGNoKGJ1ZiwgJy8nKTsKIAl9CiB9CiAKIGNvbnN0IGNoYXIgKnNoYTFfZmlsZV9uYW1lKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCiB7Ci0Jc3RhdGljIGNoYXIgYnVmW1BBVEhfTUFYXTsKLQljb25zdCBjaGFyICpvYmpkaXI7Ci0JaW50IGxlbjsKKwlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAotCW9iamRpciA9IGdldF9vYmplY3RfZGlyZWN0b3J5KCk7Ci0JbGVuID0gc3RybGVuKG9iamRpcik7CisJc3RyYnVmX3Jlc2V0KCZidWYpOworCXN0cmJ1Zl9hZGRmKCZidWYsICIlcy8iLCBnZXRfb2JqZWN0X2RpcmVjdG9yeSgpKTsKIAotCS8qICcvJyArIHNoYTEoMikgKyAnLycgKyBzaGExKDM4KSArICdcMCcgKi8KLQlpZiAobGVuICsgNDMgPiBQQVRIX01BWCkKLQkJZGllKCJpbnNhbmVseSBsb25nIG9iamVjdCBkaXJlY3RvcnkgJXMiLCBvYmpkaXIpOwotCW1lbWNweShidWYsIG9iamRpciwgbGVuKTsKLQlidWZbbGVuXSA9ICcvJzsKLQlidWZbbGVuKzNdID0gJy8nOwotCWJ1ZltsZW4rNDJdID0gJ1wwJzsKLQlmaWxsX3NoYTFfcGF0aChidWYgKyBsZW4gKyAxLCBzaGExKTsKLQlyZXR1cm4gYnVmOworCWZpbGxfc2hhMV9wYXRoKCZidWYsIHNoYTEpOworCXJldHVybiBidWYuYnVmOworfQorCitzdHJ1Y3Qgc3RyYnVmICphbHRfc2NyYXRjaF9idWYoc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKmFsdCkKK3sKKwlzdHJidWZfc2V0bGVuKCZhbHQtPnNjcmF0Y2gsIGFsdC0+YmFzZV9sZW4pOworCXJldHVybiAmYWx0LT5zY3JhdGNoOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqYWx0X3NoYTFfcGF0aChzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqYWx0LAorCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQoreworCXN0cnVjdCBzdHJidWYgKmJ1ZiA9IGFsdF9zY3JhdGNoX2J1ZihhbHQpOworCWZpbGxfc2hhMV9wYXRoKGJ1Ziwgc2hhMSk7CisJcmV0dXJuIGJ1Zi0+YnVmOwogfQogCiAvKgpAQCAtMjM0LDYgKzI0MSwzNSBAQAogc3RhdGljIHN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICoqYWx0X29kYl90YWlsOwogCiAvKgorICogUmV0dXJuIG5vbi16ZXJvIGlmZiB0aGUgcGF0aCBpcyB1c2FibGUgYXMgYW4gYWx0ZXJuYXRlIG9iamVjdCBkYXRhYmFzZS4KKyAqLworc3RhdGljIGludCBhbHRfb2RiX3VzYWJsZShzdHJ1Y3Qgc3RyYnVmICpwYXRoLCBjb25zdCBjaGFyICpub3JtYWxpemVkX29iamRpcikKK3sKKwlzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqYWx0OworCisJLyogRGV0ZWN0IGNhc2VzIHdoZXJlIGFsdGVybmF0ZSBkaXNhcHBlYXJlZCAqLworCWlmICghaXNfZGlyZWN0b3J5KHBhdGgtPmJ1ZikpIHsKKwkJZXJyb3IoIm9iamVjdCBkaXJlY3RvcnkgJXMgZG9lcyBub3QgZXhpc3Q7ICIKKwkJICAgICAgImNoZWNrIC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMuIiwKKwkJICAgICAgcGF0aC0+YnVmKTsKKwkJcmV0dXJuIDA7CisJfQorCisJLyoKKwkgKiBQcmV2ZW50IHRoZSBjb21tb24gbWlzdGFrZSBvZiBsaXN0aW5nIHRoZSBzYW1lCisJICogdGhpbmcgdHdpY2UsIG9yIG9iamVjdCBkaXJlY3RvcnkgaXRzZWxmLgorCSAqLworCWZvciAoYWx0ID0gYWx0X29kYl9saXN0OyBhbHQ7IGFsdCA9IGFsdC0+bmV4dCkgeworCQlpZiAoIWZzcGF0aGNtcChwYXRoLT5idWYsIGFsdC0+cGF0aCkpCisJCQlyZXR1cm4gMDsKKwl9CisJaWYgKCFmc3BhdGhjbXAocGF0aC0+YnVmLCBub3JtYWxpemVkX29iamRpcikpCisJCXJldHVybiAwOworCisJcmV0dXJuIDE7Cit9CisKKy8qCiAgKiBQcmVwYXJlIGFsdGVybmF0ZSBvYmplY3QgZGF0YWJhc2UgcmVnaXN0cnkuCiAgKgogICogVGhlIHZhcmlhYmxlIGFsdF9vZGJfbGlzdCBwb2ludHMgYXQgdGhlIGxpc3Qgb2Ygc3RydWN0CkBAIC0yNTIsOCArMjg4LDYgQEAKIAlpbnQgZGVwdGgsIGNvbnN0IGNoYXIgKm5vcm1hbGl6ZWRfb2JqZGlyKQogewogCXN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICplbnQ7Ci0Jc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKmFsdDsKLQlzaXplX3QgcGZ4bGVuLCBlbnRsZW47CiAJc3RydWN0IHN0cmJ1ZiBwYXRoYnVmID0gU1RSQlVGX0lOSVQ7CiAKIAlpZiAoIWlzX2Fic29sdXRlX3BhdGgoZW50cnkpICYmIHJlbGF0aXZlX2Jhc2UpIHsKQEAgLTI2Miw0OSArMjk2LDI2IEBACiAJfQogCXN0cmJ1Zl9hZGRzdHIoJnBhdGhidWYsIGVudHJ5KTsKIAotCW5vcm1hbGl6ZV9wYXRoX2NvcHkocGF0aGJ1Zi5idWYsIHBhdGhidWYuYnVmKTsKLQotCXBmeGxlbiA9IHN0cmxlbihwYXRoYnVmLmJ1Zik7CisJaWYgKHN0cmJ1Zl9ub3JtYWxpemVfcGF0aCgmcGF0aGJ1ZikgPCAwICYmIHJlbGF0aXZlX2Jhc2UpIHsKKwkJZXJyb3IoInVuYWJsZSB0byBub3JtYWxpemUgYWx0ZXJuYXRlIG9iamVjdCBwYXRoOiAlcyIsCisJCSAgICAgIHBhdGhidWYuYnVmKTsKKwkJc3RyYnVmX3JlbGVhc2UoJnBhdGhidWYpOworCQlyZXR1cm4gLTE7CisJfQogCiAJLyoKIAkgKiBUaGUgdHJhaWxpbmcgc2xhc2ggYWZ0ZXIgdGhlIGRpcmVjdG9yeSBuYW1lIGlzIGdpdmVuIGJ5CiAJICogdGhpcyBmdW5jdGlvbiBhdCB0aGUgZW5kLiBSZW1vdmUgZHVwbGljYXRlcy4KIAkgKi8KLQl3aGlsZSAocGZ4bGVuICYmIHBhdGhidWYuYnVmW3BmeGxlbi0xXSA9PSAnLycpCi0JCXBmeGxlbiAtPSAxOworCXdoaWxlIChwYXRoYnVmLmxlbiAmJiBwYXRoYnVmLmJ1ZltwYXRoYnVmLmxlbiAtIDFdID09ICcvJykKKwkJc3RyYnVmX3NldGxlbigmcGF0aGJ1ZiwgcGF0aGJ1Zi5sZW4gLSAxKTsKIAotCWVudGxlbiA9IHN0X2FkZChwZnhsZW4sIDQzKTsgLyogJy8nICsgMiBoZXggKyAnLycgKyAzOCBoZXggKyBOVUwgKi8KLQllbnQgPSB4bWFsbG9jKHN0X2FkZChzaXplb2YoKmVudCksIGVudGxlbikpOwotCW1lbWNweShlbnQtPmJhc2UsIHBhdGhidWYuYnVmLCBwZnhsZW4pOwotCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoYnVmKTsKLQotCWVudC0+bmFtZSA9IGVudC0+YmFzZSArIHBmeGxlbiArIDE7Ci0JZW50LT5iYXNlW3BmeGxlbiArIDNdID0gJy8nOwotCWVudC0+YmFzZVtwZnhsZW5dID0gZW50LT5iYXNlW2VudGxlbi0xXSA9IDA7Ci0KLQkvKiBEZXRlY3QgY2FzZXMgd2hlcmUgYWx0ZXJuYXRlIGRpc2FwcGVhcmVkICovCi0JaWYgKCFpc19kaXJlY3RvcnkoZW50LT5iYXNlKSkgewotCQllcnJvcigib2JqZWN0IGRpcmVjdG9yeSAlcyBkb2VzIG5vdCBleGlzdDsgIgotCQkgICAgICAiY2hlY2sgLmdpdC9vYmplY3RzL2luZm8vYWx0ZXJuYXRlcy4iLAotCQkgICAgICBlbnQtPmJhc2UpOwotCQlmcmVlKGVudCk7CisJaWYgKCFhbHRfb2RiX3VzYWJsZSgmcGF0aGJ1Ziwgbm9ybWFsaXplZF9vYmpkaXIpKSB7CisJCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoYnVmKTsKIAkJcmV0dXJuIC0xOwogCX0KIAotCS8qIFByZXZlbnQgdGhlIGNvbW1vbiBtaXN0YWtlIG9mIGxpc3RpbmcgdGhlIHNhbWUKLQkgKiB0aGluZyB0d2ljZSwgb3Igb2JqZWN0IGRpcmVjdG9yeSBpdHNlbGYuCi0JICovCi0JZm9yIChhbHQgPSBhbHRfb2RiX2xpc3Q7IGFsdDsgYWx0ID0gYWx0LT5uZXh0KSB7Ci0JCWlmIChwZnhsZW4gPT0gYWx0LT5uYW1lIC0gYWx0LT5iYXNlIC0gMSAmJgotCQkgICAgIW1lbWNtcChlbnQtPmJhc2UsIGFsdC0+YmFzZSwgcGZ4bGVuKSkgewotCQkJZnJlZShlbnQpOwotCQkJcmV0dXJuIC0xOwotCQl9Ci0JfQotCWlmICghZnNwYXRoY21wKGVudC0+YmFzZSwgbm9ybWFsaXplZF9vYmpkaXIpKSB7Ci0JCWZyZWUoZW50KTsKLQkJcmV0dXJuIC0xOwotCX0KKwllbnQgPSBhbGxvY19hbHRfb2RiKHBhdGhidWYuYnVmKTsKIAogCS8qIGFkZCB0aGUgYWx0ZXJuYXRlIGVudHJ5ICovCiAJKmFsdF9vZGJfdGFpbCA9IGVudDsKQEAgLTMxMiwxMCArMzIzLDkgQEAKIAllbnQtPm5leHQgPSBOVUxMOwogCiAJLyogcmVjdXJzaXZlbHkgYWRkIGFsdGVybmF0ZXMgKi8KLQlyZWFkX2luZm9fYWx0ZXJuYXRlcyhlbnQtPmJhc2UsIGRlcHRoICsgMSk7CisJcmVhZF9pbmZvX2FsdGVybmF0ZXMocGF0aGJ1Zi5idWYsIGRlcHRoICsgMSk7CiAKLQllbnQtPmJhc2VbcGZ4bGVuXSA9ICcvJzsKLQorCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoYnVmKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMzM0LDcgKzM0NCw5IEBACiAJfQogCiAJc3RyYnVmX2FkZF9hYnNvbHV0ZV9wYXRoKCZvYmpkaXJidWYsIGdldF9vYmplY3RfZGlyZWN0b3J5KCkpOwotCW5vcm1hbGl6ZV9wYXRoX2NvcHkob2JqZGlyYnVmLmJ1Ziwgb2JqZGlyYnVmLmJ1Zik7CisJaWYgKHN0cmJ1Zl9ub3JtYWxpemVfcGF0aCgmb2JqZGlyYnVmKSA8IDApCisJCWRpZSgidW5hYmxlIHRvIG5vcm1hbGl6ZSBvYmplY3QgZGlyZWN0b3J5OiAlcyIsCisJCSAgICBvYmpkaXJidWYuYnVmKTsKIAogCWFsdF9jb3B5ID0geG1lbWR1cHooYWx0LCBsZW4pOwogCXN0cmluZ19saXN0X3NwbGl0X2luX3BsYWNlKCZlbnRyaWVzLCBhbHRfY29weSwgc2VwLCAtMSk7CkBAIC0zNDIsMTIgKzM1NCw3IEBACiAJCWNvbnN0IGNoYXIgKmVudHJ5ID0gZW50cmllcy5pdGVtc1tpXS5zdHJpbmc7CiAJCWlmIChlbnRyeVswXSA9PSAnXDAnIHx8IGVudHJ5WzBdID09ICcjJykKIAkJCWNvbnRpbnVlOwotCQlpZiAoIWlzX2Fic29sdXRlX3BhdGgoZW50cnkpICYmIGRlcHRoKSB7Ci0JCQllcnJvcigiJXM6IGlnbm9yaW5nIHJlbGF0aXZlIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUgJXMiLAotCQkJCQlyZWxhdGl2ZV9iYXNlLCBlbnRyeSk7Ci0JCX0gZWxzZSB7Ci0JCQlsaW5rX2FsdF9vZGJfZW50cnkoZW50cnksIHJlbGF0aXZlX2Jhc2UsIGRlcHRoLCBvYmpkaXJidWYuYnVmKTsKLQkJfQorCQlsaW5rX2FsdF9vZGJfZW50cnkoZW50cnksIHJlbGF0aXZlX2Jhc2UsIGRlcHRoLCBvYmpkaXJidWYuYnVmKTsKIAl9CiAJc3RyaW5nX2xpc3RfY2xlYXIoJmVudHJpZXMsIDApOwogCWZyZWUoYWx0X2NvcHkpOwpAQCAtMzYzLDcgKzM3MCw3IEBACiAJaW50IGZkOwogCiAJcGF0aCA9IHhzdHJmbXQoIiVzL2luZm8vYWx0ZXJuYXRlcyIsIHJlbGF0aXZlX2Jhc2UpOwotCWZkID0gZ2l0X29wZW5fbm9hdGltZShwYXRoKTsKKwlmZCA9IGdpdF9vcGVuKHBhdGgpOwogCWZyZWUocGF0aCk7CiAJaWYgKGZkIDwgMCkKIAkJcmV0dXJuOwpAQCAtMzgwLDYgKzM4NywxOCBAQAogCW11bm1hcChtYXAsIG1hcHN6KTsKIH0KIAorc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKmFsbG9jX2FsdF9vZGIoY29uc3QgY2hhciAqZGlyKQoreworCXN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICplbnQ7CisKKwlGTEVYX0FMTE9DX1NUUihlbnQsIHBhdGgsIGRpcik7CisJc3RyYnVmX2luaXQoJmVudC0+c2NyYXRjaCwgMCk7CisJc3RyYnVmX2FkZGYoJmVudC0+c2NyYXRjaCwgIiVzLyIsIGRpcik7CisJZW50LT5iYXNlX2xlbiA9IGVudC0+c2NyYXRjaC5sZW47CisKKwlyZXR1cm4gZW50OworfQorCiB2b2lkIGFkZF90b19hbHRlcm5hdGVzX2ZpbGUoY29uc3QgY2hhciAqcmVmZXJlbmNlKQogewogCXN0cnVjdCBsb2NrX2ZpbGUgKmxvY2sgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbG9ja19maWxlKSk7CkBAIC00MjUsNiArNDQ0LDkzIEBACiAJZnJlZShhbHRzKTsKIH0KIAordm9pZCBhZGRfdG9fYWx0ZXJuYXRlc19tZW1vcnkoY29uc3QgY2hhciAqcmVmZXJlbmNlKQoreworCS8qCisJICogTWFrZSBzdXJlIGFsdGVybmF0ZXMgYXJlIGluaXRpYWxpemVkLCBvciBlbHNlIG91ciBlbnRyeSBtYXkgYmUKKwkgKiBvdmVyd3JpdHRlbiB3aGVuIHRoZXkgYXJlLgorCSAqLworCXByZXBhcmVfYWx0X29kYigpOworCisJbGlua19hbHRfb2RiX2VudHJpZXMocmVmZXJlbmNlLCBzdHJsZW4ocmVmZXJlbmNlKSwgJ1xuJywgTlVMTCwgMCk7Cit9CisKKy8qCisgKiBDb21wdXRlIHRoZSBleGFjdCBwYXRoIGFuIGFsdGVybmF0ZSBpcyBhdCBhbmQgcmV0dXJucyBpdC4gSW4gY2FzZSBvZgorICogZXJyb3IgTlVMTCBpcyByZXR1cm5lZCBhbmQgdGhlIGh1bWFuIHJlYWRhYmxlIGVycm9yIGlzIGFkZGVkIHRvIGBlcnJgCisgKiBgcGF0aGAgbWF5IGJlIHJlbGF0aXZlIGFuZCBzaG91bGQgcG9pbnQgdG8gJEdJVERJUi4KKyAqIGBlcnJgIG11c3Qgbm90IGJlIG51bGwuCisgKi8KK2NoYXIgKmNvbXB1dGVfYWx0ZXJuYXRlX3BhdGgoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0cmJ1ZiAqZXJyKQoreworCWNoYXIgKnJlZl9naXQgPSBOVUxMOworCWNvbnN0IGNoYXIgKnJlcG8sICpyZWZfZ2l0X3M7CisJaW50IHNlZW5fZXJyb3IgPSAwOworCisJcmVmX2dpdF9zID0gcmVhbF9wYXRoX2lmX3ZhbGlkKHBhdGgpOworCWlmICghcmVmX2dpdF9zKSB7CisJCXNlZW5fZXJyb3IgPSAxOworCQlzdHJidWZfYWRkZihlcnIsIF8oInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIpLCBwYXRoKTsKKwkJZ290byBvdXQ7CisJfSBlbHNlCisJCS8qCisJCSAqIEJld2FyZTogcmVhZF9naXRmaWxlKCksIHJlYWxfcGF0aCgpIGFuZCBta3BhdGgoKQorCQkgKiByZXR1cm4gc3RhdGljIGJ1ZmZlcgorCQkgKi8KKwkJcmVmX2dpdCA9IHhzdHJkdXAocmVmX2dpdF9zKTsKKworCXJlcG8gPSByZWFkX2dpdGZpbGUocmVmX2dpdCk7CisJaWYgKCFyZXBvKQorCQlyZXBvID0gcmVhZF9naXRmaWxlKG1rcGF0aCgiJXMvLmdpdCIsIHJlZl9naXQpKTsKKwlpZiAocmVwbykgeworCQlmcmVlKHJlZl9naXQpOworCQlyZWZfZ2l0ID0geHN0cmR1cChyZXBvKTsKKwl9CisKKwlpZiAoIXJlcG8gJiYgaXNfZGlyZWN0b3J5KG1rcGF0aCgiJXMvLmdpdC9vYmplY3RzIiwgcmVmX2dpdCkpKSB7CisJCWNoYXIgKnJlZl9naXRfZ2l0ID0gbWtwYXRoZHVwKCIlcy8uZ2l0IiwgcmVmX2dpdCk7CisJCWZyZWUocmVmX2dpdCk7CisJCXJlZl9naXQgPSByZWZfZ2l0X2dpdDsKKwl9IGVsc2UgaWYgKCFpc19kaXJlY3RvcnkobWtwYXRoKCIlcy9vYmplY3RzIiwgcmVmX2dpdCkpKSB7CisJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwkJc2Vlbl9lcnJvciA9IDE7CisJCWlmIChnZXRfY29tbW9uX2Rpcigmc2IsIHJlZl9naXQpKSB7CisJCQlzdHJidWZfYWRkZihlcnIsCisJCQkJICAgIF8oInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgYXMgYSBsaW5rZWQgIgorCQkJCSAgICAgICJjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iKSwKKwkJCQkgICAgcGF0aCk7CisJCQlnb3RvIG91dDsKKwkJfQorCisJCXN0cmJ1Zl9hZGRmKGVyciwgXygicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSAiCisJCQkJCSJsb2NhbCByZXBvc2l0b3J5LiIpLCBwYXRoKTsKKwkJZ290byBvdXQ7CisJfQorCisJaWYgKCFhY2Nlc3MobWtwYXRoKCIlcy9zaGFsbG93IiwgcmVmX2dpdCksIEZfT0spKSB7CisJCXN0cmJ1Zl9hZGRmKGVyciwgXygicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IiksCisJCQkgICAgcGF0aCk7CisJCXNlZW5fZXJyb3IgPSAxOworCQlnb3RvIG91dDsKKwl9CisKKwlpZiAoIWFjY2Vzcyhta3BhdGgoIiVzL2luZm8vZ3JhZnRzIiwgcmVmX2dpdCksIEZfT0spKSB7CisJCXN0cmJ1Zl9hZGRmKGVyciwKKwkJCSAgICBfKCJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiKSwKKwkJCSAgICBwYXRoKTsKKwkJc2Vlbl9lcnJvciA9IDE7CisJCWdvdG8gb3V0OworCX0KKworb3V0OgorCWlmIChzZWVuX2Vycm9yKSB7CisJCWZyZWUocmVmX2dpdCk7CisJCXJlZl9naXQgPSBOVUxMOworCX0KKworCXJldHVybiByZWZfZ2l0OworfQorCiBpbnQgZm9yZWFjaF9hbHRfb2RiKGFsdF9vZGJfZm4gZm4sIHZvaWQgKmNiKQogewogCXN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICplbnQ7CkBAIC00ODksOCArNTk1LDggQEAKIAlzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqYWx0OwogCXByZXBhcmVfYWx0X29kYigpOwogCWZvciAoYWx0ID0gYWx0X29kYl9saXN0OyBhbHQ7IGFsdCA9IGFsdC0+bmV4dCkgewotCQlmaWxsX3NoYTFfcGF0aChhbHQtPm5hbWUsIHNoYTEpOwotCQlpZiAoY2hlY2tfYW5kX2ZyZXNoZW5fZmlsZShhbHQtPmJhc2UsIGZyZXNoZW4pKQorCQljb25zdCBjaGFyICpwYXRoID0gYWx0X3NoYTFfcGF0aChhbHQsIHNoYTEpOworCQlpZiAoY2hlY2tfYW5kX2ZyZXNoZW5fZmlsZShwYXRoLCBmcmVzaGVuKSkKIAkJCXJldHVybiAxOwogCX0KIAlyZXR1cm4gMDsKQEAgLTUyMiw2ICs2MjgsOSBAQAogc3RhdGljIHNpemVfdCBwYWNrX21hcHBlZDsKIHN0cnVjdCBwYWNrZWRfZ2l0ICpwYWNrZWRfZ2l0OwogCitzdGF0aWMgc3RydWN0IG1ydSBwYWNrZWRfZ2l0X21ydV9zdG9yYWdlOworc3RydWN0IG1ydSAqcGFja2VkX2dpdF9tcnUgPSAmcGFja2VkX2dpdF9tcnVfc3RvcmFnZTsKKwogdm9pZCBwYWNrX3JlcG9ydCh2b2lkKQogewogCWZwcmludGYoc3RkZXJyLApAQCAtNTU0LDcgKzY2Myw3IEBACiAJc3RydWN0IHBhY2tfaWR4X2hlYWRlciAqaGRyOwogCXNpemVfdCBpZHhfc2l6ZTsKIAl1aW50MzJfdCB2ZXJzaW9uLCBuciwgaSwgKmluZGV4OwotCWludCBmZCA9IGdpdF9vcGVuX25vYXRpbWUocGF0aCk7CisJaW50IGZkID0gZ2l0X29wZW4ocGF0aCk7CiAJc3RydWN0IHN0YXQgc3Q7CiAKIAlpZiAoZmQgPCAwKQpAQCAtNzk1LDcgKzkwNCw3IEBACiAKIAlmb3IgKHAgPSBwYWNrZWRfZ2l0OyBwOyBwID0gcC0+bmV4dCkKIAkJaWYgKHAtPmRvX25vdF9jbG9zZSkKLQkJCWRpZSgiQlVHISBXYW50IHRvIGNsb3NlIHBhY2sgbWFya2VkICdkby1ub3QtY2xvc2UnIik7CisJCQlkaWUoIkJVRzogd2FudCB0byBjbG9zZSBwYWNrIG1hcmtlZCAnZG8tbm90LWNsb3NlJyIpOwogCQllbHNlCiAJCQljbG9zZV9wYWNrKHApOwogfQpAQCAtODkxLDM2ICsxMDAwLDYgQEAKIAl9CiB9CiAKLS8qCi0gKiBUaGlzIGlzIHVzZWQgYnkgZ2l0LXJlcGFjayBpbiBjYXNlIGEgbmV3bHkgY3JlYXRlZCBwYWNrIGhhcHBlbnMgdG8KLSAqIGNvbnRhaW4gdGhlIHNhbWUgc2V0IG9mIG9iamVjdHMgYXMgYW4gZXhpc3Rpbmcgb25lLiAgSW4gdGhhdCBjYXNlCi0gKiB0aGUgcmVzdWx0aW5nIGZpbGUgbWlnaHQgYmUgZGlmZmVyZW50IGV2ZW4gaWYgaXRzIG5hbWUgd291bGQgYmUgdGhlCi0gKiBzYW1lLiAgSXQgaXMgYmVzdCB0byBjbG9zZSBhbnkgcmVmZXJlbmNlIHRvIHRoZSBvbGQgcGFjayBiZWZvcmUgaXQgaXMKLSAqIHJlcGxhY2VkIG9uIGRpc2suICBPZiBjb3Vyc2Ugbm8gaW5kZXggcG9pbnRlcnMgb3Igd2luZG93cyBmb3IgZ2l2ZW4gcGFjawotICogbXVzdCBzdWJzaXN0IGF0IHRoaXMgcG9pbnQuICBJZiBldmVyIG9iamVjdHMgZnJvbSB0aGlzIHBhY2sgYXJlIHJlcXVlc3RlZAotICogYWdhaW4sIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGUgcGFjayB3aWxsIGJlIHJlaW5pdGlhbGl6ZWQgdGhyb3VnaAotICogcmVwcmVwYXJlX3BhY2tlZF9naXQoKS4KLSAqLwotdm9pZCBmcmVlX3BhY2tfYnlfbmFtZShjb25zdCBjaGFyICpwYWNrX25hbWUpCi17Ci0Jc3RydWN0IHBhY2tlZF9naXQgKnAsICoqcHAgPSAmcGFja2VkX2dpdDsKLQotCXdoaWxlICgqcHApIHsKLQkJcCA9ICpwcDsKLQkJaWYgKHN0cmNtcChwYWNrX25hbWUsIHAtPnBhY2tfbmFtZSkgPT0gMCkgewotCQkJY2xlYXJfZGVsdGFfYmFzZV9jYWNoZSgpOwotCQkJY2xvc2VfcGFjayhwKTsKLQkJCWZyZWUocC0+YmFkX29iamVjdF9zaGExKTsKLQkJCSpwcCA9IHAtPm5leHQ7Ci0JCQlpZiAobGFzdF9mb3VuZF9wYWNrID09IHApCi0JCQkJbGFzdF9mb3VuZF9wYWNrID0gTlVMTDsKLQkJCWZyZWUocCk7Ci0JCQlyZXR1cm47Ci0JCX0KLQkJcHAgPSAmcC0+bmV4dDsKLQl9Ci19Ci0KIHN0YXRpYyB1bnNpZ25lZCBpbnQgZ2V0X21heF9mZF9saW1pdCh2b2lkKQogewogI2lmZGVmIFJMSU1JVF9OT0ZJTEUKQEAgLTk5MCw3ICsxMDY5LDcgQEAKIAl3aGlsZSAocGFja19tYXhfZmRzIDw9IHBhY2tfb3Blbl9mZHMgJiYgY2xvc2Vfb25lX3BhY2soKSkKIAkJOyAvKiBub3RoaW5nICovCiAKLQlwLT5wYWNrX2ZkID0gZ2l0X29wZW5fbm9hdGltZShwLT5wYWNrX25hbWUpOworCXAtPnBhY2tfZmQgPSBnaXRfb3BlbihwLT5wYWNrX25hbWUpOwogCWlmIChwLT5wYWNrX2ZkIDwgMCB8fCBmc3RhdChwLT5wYWNrX2ZkLCAmc3QpKQogCQlyZXR1cm4gLTE7CiAJcGFja19vcGVuX2ZkcysrOwpAQCAtMTMzMSwxMCArMTQxMCw0NiBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKIH0KIAorc3RhdGljIGludCBhcHByb3hpbWF0ZV9vYmplY3RfY291bnRfdmFsaWQ7CisKKy8qCisgKiBHaXZlIGEgZmFzdCwgcm91Z2ggY291bnQgb2YgdGhlIG51bWJlciBvZiBvYmplY3RzIGluIHRoZSByZXBvc2l0b3J5LiBUaGlzCisgKiBpZ25vcmVzIGxvb3NlIG9iamVjdHMgY29tcGxldGVseS4gSWYgeW91IGhhdmUgYSBsb3Qgb2YgdGhlbSwgdGhlbiBlaXRoZXIKKyAqIHlvdSBzaG91bGQgcmVwYWNrIGJlY2F1c2UgeW91ciBwZXJmb3JtYW5jZSB3aWxsIGJlIGF3ZnVsLCBvciB0aGV5IGFyZQorICogYWxsIHVucmVhY2hhYmxlIG9iamVjdHMgYWJvdXQgdG8gYmUgcHJ1bmVkLCBpbiB3aGljaCBjYXNlIHRoZXkncmUgbm90IHJlYWxseQorICogaW50ZXJlc3RpbmcgYXMgYSBtZWFzdXJlIG9mIHJlcG8gc2l6ZSBpbiB0aGUgZmlyc3QgcGxhY2UuCisgKi8KK3Vuc2lnbmVkIGxvbmcgYXBwcm94aW1hdGVfb2JqZWN0X2NvdW50KHZvaWQpCit7CisJc3RhdGljIHVuc2lnbmVkIGxvbmcgY291bnQ7CisJaWYgKCFhcHByb3hpbWF0ZV9vYmplY3RfY291bnRfdmFsaWQpIHsKKwkJc3RydWN0IHBhY2tlZF9naXQgKnA7CisKKwkJcHJlcGFyZV9wYWNrZWRfZ2l0KCk7CisJCWNvdW50ID0gMDsKKwkJZm9yIChwID0gcGFja2VkX2dpdDsgcDsgcCA9IHAtPm5leHQpIHsKKwkJCWlmIChvcGVuX3BhY2tfaW5kZXgocCkpCisJCQkJY29udGludWU7CisJCQljb3VudCArPSBwLT5udW1fb2JqZWN0czsKKwkJfQorCX0KKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyB2b2lkICpnZXRfbmV4dF9wYWNrZWRfZ2l0KGNvbnN0IHZvaWQgKnApCit7CisJcmV0dXJuICgoY29uc3Qgc3RydWN0IHBhY2tlZF9naXQgKilwKS0+bmV4dDsKK30KKworc3RhdGljIHZvaWQgc2V0X25leHRfcGFja2VkX2dpdCh2b2lkICpwLCB2b2lkICpuZXh0KQoreworCSgoc3RydWN0IHBhY2tlZF9naXQgKilwKS0+bmV4dCA9IG5leHQ7Cit9CisKIHN0YXRpYyBpbnQgc29ydF9wYWNrKGNvbnN0IHZvaWQgKmFfLCBjb25zdCB2b2lkICpiXykKIHsKLQlzdHJ1Y3QgcGFja2VkX2dpdCAqYSA9ICooKHN0cnVjdCBwYWNrZWRfZ2l0ICoqKWFfKTsKLQlzdHJ1Y3QgcGFja2VkX2dpdCAqYiA9ICooKHN0cnVjdCBwYWNrZWRfZ2l0ICoqKWJfKTsKKwljb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqYSA9IGFfOworCWNvbnN0IHN0cnVjdCBwYWNrZWRfZ2l0ICpiID0gYl87CiAJaW50IHN0OwogCiAJLyoKQEAgLTEzNjEsMjggKzE0NzYsMTcgQEAKIAogc3RhdGljIHZvaWQgcmVhcnJhbmdlX3BhY2tlZF9naXQodm9pZCkKIHsKLQlzdHJ1Y3QgcGFja2VkX2dpdCAqKmFyeSwgKnA7Ci0JaW50IGksIG47CisJcGFja2VkX2dpdCA9IGxsaXN0X21lcmdlc29ydChwYWNrZWRfZ2l0LCBnZXRfbmV4dF9wYWNrZWRfZ2l0LAorCQkJCSAgICAgc2V0X25leHRfcGFja2VkX2dpdCwgc29ydF9wYWNrKTsKK30KIAotCWZvciAobiA9IDAsIHAgPSBwYWNrZWRfZ2l0OyBwOyBwID0gcC0+bmV4dCkKLQkJbisrOwotCWlmIChuIDwgMikKLQkJcmV0dXJuOworc3RhdGljIHZvaWQgcHJlcGFyZV9wYWNrZWRfZ2l0X21ydSh2b2lkKQoreworCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOwogCi0JLyogcHJlcGFyZSBhbiBhcnJheSBvZiBwYWNrZWRfZ2l0IGZvciBlYXNpZXIgc29ydGluZyAqLwotCWFyeSA9IHhjYWxsb2Mobiwgc2l6ZW9mKHN0cnVjdCBwYWNrZWRfZ2l0ICopKTsKLQlmb3IgKG4gPSAwLCBwID0gcGFja2VkX2dpdDsgcDsgcCA9IHAtPm5leHQpCi0JCWFyeVtuKytdID0gcDsKLQotCXFzb3J0KGFyeSwgbiwgc2l6ZW9mKHN0cnVjdCBwYWNrZWRfZ2l0ICopLCBzb3J0X3BhY2spOwotCi0JLyogbGluayB0aGVtIGJhY2sgYWdhaW4gKi8KLQlmb3IgKGkgPSAwOyBpIDwgbiAtIDE7IGkrKykKLQkJYXJ5W2ldLT5uZXh0ID0gYXJ5W2kgKyAxXTsKLQlhcnlbbiAtIDFdLT5uZXh0ID0gTlVMTDsKLQlwYWNrZWRfZ2l0ID0gYXJ5WzBdOwotCi0JZnJlZShhcnkpOworCW1ydV9jbGVhcihwYWNrZWRfZ2l0X21ydSk7CisJZm9yIChwID0gcGFja2VkX2dpdDsgcDsgcCA9IHAtPm5leHQpCisJCW1ydV9hcHBlbmQocGFja2VkX2dpdF9tcnUsIHApOwogfQogCiBzdGF0aWMgaW50IHByZXBhcmVfcGFja2VkX2dpdF9ydW5fb25jZSA9IDA7CkBAIC0xMzk0LDE3ICsxNDk4LDE2IEBACiAJCXJldHVybjsKIAlwcmVwYXJlX3BhY2tlZF9naXRfb25lKGdldF9vYmplY3RfZGlyZWN0b3J5KCksIDEpOwogCXByZXBhcmVfYWx0X29kYigpOwotCWZvciAoYWx0ID0gYWx0X29kYl9saXN0OyBhbHQ7IGFsdCA9IGFsdC0+bmV4dCkgewotCQlhbHQtPm5hbWVbLTFdID0gMDsKLQkJcHJlcGFyZV9wYWNrZWRfZ2l0X29uZShhbHQtPmJhc2UsIDApOwotCQlhbHQtPm5hbWVbLTFdID0gJy8nOwotCX0KKwlmb3IgKGFsdCA9IGFsdF9vZGJfbGlzdDsgYWx0OyBhbHQgPSBhbHQtPm5leHQpCisJCXByZXBhcmVfcGFja2VkX2dpdF9vbmUoYWx0LT5wYXRoLCAwKTsKIAlyZWFycmFuZ2VfcGFja2VkX2dpdCgpOworCXByZXBhcmVfcGFja2VkX2dpdF9tcnUoKTsKIAlwcmVwYXJlX3BhY2tlZF9naXRfcnVuX29uY2UgPSAxOwogfQogCiB2b2lkIHJlcHJlcGFyZV9wYWNrZWRfZ2l0KHZvaWQpCiB7CisJYXBwcm94aW1hdGVfb2JqZWN0X2NvdW50X3ZhbGlkID0gMDsKIAlwcmVwYXJlX3BhY2tlZF9naXRfcnVuX29uY2UgPSAwOwogCXByZXBhcmVfcGFja2VkX2dpdCgpOwogfQpAQCAtMTQ4Myw5ICsxNTg2LDkgQEAKIAlyZXR1cm4gaGFzaGNtcChzaGExLCByZWFsX3NoYTEpID8gLTEgOiAwOwogfQogCi1pbnQgZ2l0X29wZW5fbm9hdGltZShjb25zdCBjaGFyICpuYW1lKQoraW50IGdpdF9vcGVuKGNvbnN0IGNoYXIgKm5hbWUpCiB7Ci0Jc3RhdGljIGludCBzaGExX2ZpbGVfb3Blbl9mbGFnID0gT19OT0FUSU1FOworCXN0YXRpYyBpbnQgc2hhMV9maWxlX29wZW5fZmxhZyA9IE9fTk9BVElNRSB8IE9fQ0xPRVhFQzsKIAogCWZvciAoOzspIHsKIAkJaW50IGZkOwpAQCAtMTQ5NSwxMiArMTU5OCwxNyBAQAogCQlpZiAoZmQgPj0gMCkKIAkJCXJldHVybiBmZDsKIAotCQkvKiBNaWdodCB0aGUgZmFpbHVyZSBiZSBkdWUgdG8gT19OT0FUSU1FPyAqLwotCQlpZiAoZXJybm8gIT0gRU5PRU5UICYmIHNoYTFfZmlsZV9vcGVuX2ZsYWcpIHsKLQkJCXNoYTFfZmlsZV9vcGVuX2ZsYWcgPSAwOworCQkvKiBUcnkgYWdhaW4gdy9vIE9fQ0xPRVhFQzogdGhlIGtlcm5lbCBtaWdodCBub3Qgc3VwcG9ydCBpdCAqLworCQlpZiAoKHNoYTFfZmlsZV9vcGVuX2ZsYWcgJiBPX0NMT0VYRUMpICYmIGVycm5vID09IEVJTlZBTCkgeworCQkJc2hhMV9maWxlX29wZW5fZmxhZyAmPSB+T19DTE9FWEVDOwogCQkJY29udGludWU7CiAJCX0KIAorCQkvKiBNaWdodCB0aGUgZmFpbHVyZSBiZSBkdWUgdG8gT19OT0FUSU1FPyAqLworCQlpZiAoZXJybm8gIT0gRU5PRU5UICYmIChzaGExX2ZpbGVfb3Blbl9mbGFnICYgT19OT0FUSU1FKSkgeworCQkJc2hhMV9maWxlX29wZW5fZmxhZyAmPSB+T19OT0FUSU1FOworCQkJY29udGludWU7CisJCX0KIAkJcmV0dXJuIC0xOwogCX0KIH0KQEAgLTE1MTUsOCArMTYyMyw4IEBACiAJcHJlcGFyZV9hbHRfb2RiKCk7CiAJZXJybm8gPSBFTk9FTlQ7CiAJZm9yIChhbHQgPSBhbHRfb2RiX2xpc3Q7IGFsdDsgYWx0ID0gYWx0LT5uZXh0KSB7Ci0JCWZpbGxfc2hhMV9wYXRoKGFsdC0+bmFtZSwgc2hhMSk7Ci0JCWlmICghbHN0YXQoYWx0LT5iYXNlLCBzdCkpCisJCWNvbnN0IGNoYXIgKnBhdGggPSBhbHRfc2hhMV9wYXRoKGFsdCwgc2hhMSk7CisJCWlmICghbHN0YXQocGF0aCwgc3QpKQogCQkJcmV0dXJuIDA7CiAJfQogCkBAIC0xNTI5LDE1ICsxNjM3LDE1IEBACiAJc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKmFsdDsKIAlpbnQgbW9zdF9pbnRlcmVzdGluZ19lcnJubzsKIAotCWZkID0gZ2l0X29wZW5fbm9hdGltZShzaGExX2ZpbGVfbmFtZShzaGExKSk7CisJZmQgPSBnaXRfb3BlbihzaGExX2ZpbGVfbmFtZShzaGExKSk7CiAJaWYgKGZkID49IDApCiAJCXJldHVybiBmZDsKIAltb3N0X2ludGVyZXN0aW5nX2Vycm5vID0gZXJybm87CiAKIAlwcmVwYXJlX2FsdF9vZGIoKTsKIAlmb3IgKGFsdCA9IGFsdF9vZGJfbGlzdDsgYWx0OyBhbHQgPSBhbHQtPm5leHQpIHsKLQkJZmlsbF9zaGExX3BhdGgoYWx0LT5uYW1lLCBzaGExKTsKLQkJZmQgPSBnaXRfb3Blbl9ub2F0aW1lKGFsdC0+YmFzZSk7CisJCWNvbnN0IGNoYXIgKnBhdGggPSBhbHRfc2hhMV9wYXRoKGFsdCwgc2hhMSk7CisJCWZkID0gZ2l0X29wZW4ocGF0aCk7CiAJCWlmIChmZCA+PSAwKQogCQkJcmV0dXJuIGZkOwogCQlpZiAobW9zdF9pbnRlcmVzdGluZ19lcnJubyA9PSBFTk9FTlQpCkBAIC0xNTk2LDcgKzE3MDQsOSBAQAogCXJldHVybiB1c2VkOwogfQogCi1pbnQgdW5wYWNrX3NoYTFfaGVhZGVyKGdpdF96c3RyZWFtICpzdHJlYW0sIHVuc2lnbmVkIGNoYXIgKm1hcCwgdW5zaWduZWQgbG9uZyBtYXBzaXplLCB2b2lkICpidWZmZXIsIHVuc2lnbmVkIGxvbmcgYnVmc2l6KQorc3RhdGljIGludCB1bnBhY2tfc2hhMV9zaG9ydF9oZWFkZXIoZ2l0X3pzdHJlYW0gKnN0cmVhbSwKKwkJCQkgICAgdW5zaWduZWQgY2hhciAqbWFwLCB1bnNpZ25lZCBsb25nIG1hcHNpemUsCisJCQkJICAgIHZvaWQgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBidWZzaXopCiB7CiAJLyogR2V0IHRoZSBkYXRhIHN0cmVhbSAqLwogCW1lbXNldChzdHJlYW0sIDAsIHNpemVvZigqc3RyZWFtKSk7CkBAIC0xNjA5LDEzICsxNzE5LDMxIEBACiAJcmV0dXJuIGdpdF9pbmZsYXRlKHN0cmVhbSwgMCk7CiB9CiAKK2ludCB1bnBhY2tfc2hhMV9oZWFkZXIoZ2l0X3pzdHJlYW0gKnN0cmVhbSwKKwkJICAgICAgIHVuc2lnbmVkIGNoYXIgKm1hcCwgdW5zaWduZWQgbG9uZyBtYXBzaXplLAorCQkgICAgICAgdm9pZCAqYnVmZmVyLCB1bnNpZ25lZCBsb25nIGJ1ZnNpeikKK3sKKwlpbnQgc3RhdHVzID0gdW5wYWNrX3NoYTFfc2hvcnRfaGVhZGVyKHN0cmVhbSwgbWFwLCBtYXBzaXplLAorCQkJCQkgICAgICBidWZmZXIsIGJ1ZnNpeik7CisKKwlpZiAoc3RhdHVzIDwgWl9PSykKKwkJcmV0dXJuIHN0YXR1czsKKworCS8qIE1ha2Ugc3VyZSB3ZSBoYXZlIHRoZSB0ZXJtaW5hdGluZyBOVUwgKi8KKwlpZiAoIW1lbWNocihidWZmZXIsICdcMCcsIHN0cmVhbS0+bmV4dF9vdXQgLSAodW5zaWduZWQgY2hhciAqKWJ1ZmZlcikpCisJCXJldHVybiAtMTsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCB1bnBhY2tfc2hhMV9oZWFkZXJfdG9fc3RyYnVmKGdpdF96c3RyZWFtICpzdHJlYW0sIHVuc2lnbmVkIGNoYXIgKm1hcCwKIAkJCQkJdW5zaWduZWQgbG9uZyBtYXBzaXplLCB2b2lkICpidWZmZXIsCiAJCQkJCXVuc2lnbmVkIGxvbmcgYnVmc2l6LCBzdHJ1Y3Qgc3RyYnVmICpoZWFkZXIpCiB7CiAJaW50IHN0YXR1czsKIAotCXN0YXR1cyA9IHVucGFja19zaGExX2hlYWRlcihzdHJlYW0sIG1hcCwgbWFwc2l6ZSwgYnVmZmVyLCBidWZzaXopOworCXN0YXR1cyA9IHVucGFja19zaGExX3Nob3J0X2hlYWRlcihzdHJlYW0sIG1hcCwgbWFwc2l6ZSwgYnVmZmVyLCBidWZzaXopOworCWlmIChzdGF0dXMgPCBaX09LKQorCQlyZXR1cm4gLTE7CiAKIAkvKgogCSAqIENoZWNrIGlmIGVudGlyZSBoZWFkZXIgaXMgdW5wYWNrZWQgaW4gdGhlIGZpcnN0IGl0ZXJhdGlvbi4KQEAgLTE3MDYsNiArMTgzNCw4IEBACiAJICovCiAJZm9yICg7OykgewogCQljaGFyIGMgPSAqaGRyKys7CisJCWlmICghYykKKwkJCXJldHVybiAtMTsKIAkJaWYgKGMgPT0gJyAnKQogCQkJYnJlYWs7CiAJCXR5cGVfbGVuKys7CkBAIC0xNzE2LDcgKzE4NDYsNyBAQAogCQlzdHJidWZfYWRkKG9pLT50eXBlbmFtZSwgdHlwZV9idWYsIHR5cGVfbGVuKTsKIAkvKgogCSAqIFNldCB0eXBlIHRvIDAgaWYgaXRzIGFuIHVua25vd24gb2JqZWN0IGFuZAotCSAqIHdlJ3JlIG9idGFpbmluZyB0aGUgdHlwZSB1c2luZyAnLS1hbGxvdy11bmtvd24tdHlwZScKKwkgKiB3ZSdyZSBvYnRhaW5pbmcgdGhlIHR5cGUgdXNpbmcgJy0tYWxsb3ctdW5rbm93bi10eXBlJwogCSAqIG9wdGlvbi4KIAkgKi8KIAlpZiAoKGZsYWdzICYgTE9PS1VQX1VOS05PV05fT0JKRUNUKSAmJiAodHlwZSA8IDApKQpAQCAtMTc1NCwxMSArMTg4NCw5IEBACiAKIGludCBwYXJzZV9zaGExX2hlYWRlcihjb25zdCBjaGFyICpoZHIsIHVuc2lnbmVkIGxvbmcgKnNpemVwKQogewotCXN0cnVjdCBvYmplY3RfaW5mbyBvaTsKKwlzdHJ1Y3Qgb2JqZWN0X2luZm8gb2kgPSBPQkpFQ1RfSU5GT19JTklUOwogCiAJb2kuc2l6ZXAgPSBzaXplcDsKLQlvaS50eXBlbmFtZSA9IE5VTEw7Ci0Jb2kudHlwZXAgPSBOVUxMOwogCXJldHVybiBwYXJzZV9zaGExX2hlYWRlcl9leHRlbmRlZChoZHIsICZvaSwgTE9PS1VQX1JFUExBQ0VfT0JKRUNUKTsKIH0KIApAQCAtMTk5Niw4ICsyMTI0LDggQEAKIAlnb3RvIG91dDsKIH0KIAotc3RhdGljIGludCBwYWNrZWRfb2JqZWN0X2luZm8oc3RydWN0IHBhY2tlZF9naXQgKnAsIG9mZl90IG9ial9vZmZzZXQsCi0JCQkgICAgICBzdHJ1Y3Qgb2JqZWN0X2luZm8gKm9pKQoraW50IHBhY2tlZF9vYmplY3RfaW5mbyhzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgb2ZmX3Qgb2JqX29mZnNldCwKKwkJICAgICAgIHN0cnVjdCBvYmplY3RfaW5mbyAqb2kpCiB7CiAJc3RydWN0IHBhY2tfd2luZG93ICp3X2N1cnMgPSBOVUxMOwogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKQEAgLTIwOTcsMTM2ICsyMjI1LDE0MiBAQAogCXJldHVybiBidWZmZXI7CiB9CiAKLSNkZWZpbmUgTUFYX0RFTFRBX0NBQ0hFICgyNTYpCi0KK3N0YXRpYyBzdHJ1Y3QgaGFzaG1hcCBkZWx0YV9iYXNlX2NhY2hlOwogc3RhdGljIHNpemVfdCBkZWx0YV9iYXNlX2NhY2hlZDsKIAotc3RhdGljIHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2xydV9saXN0IHsKLQlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9scnVfbGlzdCAqcHJldjsKLQlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9scnVfbGlzdCAqbmV4dDsKLX0gZGVsdGFfYmFzZV9jYWNoZV9scnUgPSB7ICZkZWx0YV9iYXNlX2NhY2hlX2xydSwgJmRlbHRhX2Jhc2VfY2FjaGVfbHJ1IH07CitzdGF0aWMgTElTVF9IRUFEKGRlbHRhX2Jhc2VfY2FjaGVfbHJ1KTsKIAotc3RhdGljIHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5IHsKLQlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9scnVfbGlzdCBscnU7Ci0Jdm9pZCAqZGF0YTsKK3N0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2tleSB7CiAJc3RydWN0IHBhY2tlZF9naXQgKnA7CiAJb2ZmX3QgYmFzZV9vZmZzZXQ7Cit9OworCitzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSB7CisJc3RydWN0IGhhc2htYXAgaGFzaDsKKwlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9rZXkga2V5OworCXN0cnVjdCBsaXN0X2hlYWQgbHJ1OworCXZvaWQgKmRhdGE7CiAJdW5zaWduZWQgbG9uZyBzaXplOwogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKLX0gZGVsdGFfYmFzZV9jYWNoZVtNQVhfREVMVEFfQ0FDSEVdOworfTsKIAotc3RhdGljIHVuc2lnbmVkIGxvbmcgcGFja19lbnRyeV9oYXNoKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBvZmZfdCBiYXNlX29mZnNldCkKK3N0YXRpYyB1bnNpZ25lZCBpbnQgcGFja19lbnRyeV9oYXNoKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBvZmZfdCBiYXNlX29mZnNldCkKIHsKLQl1bnNpZ25lZCBsb25nIGhhc2g7CisJdW5zaWduZWQgaW50IGhhc2g7CiAKLQloYXNoID0gKHVuc2lnbmVkIGxvbmcpKGludHB0cl90KXAgKyAodW5zaWduZWQgbG9uZyliYXNlX29mZnNldDsKKwloYXNoID0gKHVuc2lnbmVkIGludCkoaW50cHRyX3QpcCArICh1bnNpZ25lZCBpbnQpYmFzZV9vZmZzZXQ7CiAJaGFzaCArPSAoaGFzaCA+PiA4KSArIChoYXNoID4+IDE2KTsKLQlyZXR1cm4gaGFzaCAlIE1BWF9ERUxUQV9DQUNIRTsKKwlyZXR1cm4gaGFzaDsKIH0KIAogc3RhdGljIHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICoKIGdldF9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBvZmZfdCBiYXNlX29mZnNldCkKIHsKLQl1bnNpZ25lZCBsb25nIGhhc2ggPSBwYWNrX2VudHJ5X2hhc2gocCwgYmFzZV9vZmZzZXQpOwotCXJldHVybiBkZWx0YV9iYXNlX2NhY2hlICsgaGFzaDsKKwlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSBlbnRyeTsKKwlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9rZXkga2V5OworCisJaWYgKCFkZWx0YV9iYXNlX2NhY2hlLmNtcGZuKQorCQlyZXR1cm4gTlVMTDsKKworCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnksIHBhY2tfZW50cnlfaGFzaChwLCBiYXNlX29mZnNldCkpOworCWtleS5wID0gcDsKKwlrZXkuYmFzZV9vZmZzZXQgPSBiYXNlX29mZnNldDsKKwlyZXR1cm4gaGFzaG1hcF9nZXQoJmRlbHRhX2Jhc2VfY2FjaGUsICZlbnRyeSwgJmtleSk7CiB9CiAKLXN0YXRpYyBpbnQgZXFfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSAqZW50LAotCQkJCSAgICAgc3RydWN0IHBhY2tlZF9naXQgKnAsIG9mZl90IGJhc2Vfb2Zmc2V0KQorc3RhdGljIGludCBkZWx0YV9iYXNlX2NhY2hlX2tleV9lcShjb25zdCBzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9rZXkgKmEsCisJCQkJICAgY29uc3Qgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfa2V5ICpiKQogewotCXJldHVybiAoZW50LT5kYXRhICYmIGVudC0+cCA9PSBwICYmIGVudC0+YmFzZV9vZmZzZXQgPT0gYmFzZV9vZmZzZXQpOworCXJldHVybiBhLT5wID09IGItPnAgJiYgYS0+YmFzZV9vZmZzZXQgPT0gYi0+YmFzZV9vZmZzZXQ7Cit9CisKK3N0YXRpYyBpbnQgZGVsdGFfYmFzZV9jYWNoZV9oYXNoX2NtcChjb25zdCB2b2lkICp2YSwgY29uc3Qgdm9pZCAqdmIsCisJCQkJICAgICBjb25zdCB2b2lkICp2a2V5KQoreworCWNvbnN0IHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICphID0gdmEsICpiID0gdmI7CisJY29uc3Qgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfa2V5ICprZXkgPSB2a2V5OworCWlmIChrZXkpCisJCXJldHVybiAhZGVsdGFfYmFzZV9jYWNoZV9rZXlfZXEoJmEtPmtleSwga2V5KTsKKwllbHNlCisJCXJldHVybiAhZGVsdGFfYmFzZV9jYWNoZV9rZXlfZXEoJmEtPmtleSwgJmItPmtleSk7CiB9CiAKIHN0YXRpYyBpbnQgaW5fZGVsdGFfYmFzZV9jYWNoZShzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgb2ZmX3QgYmFzZV9vZmZzZXQpCiB7Ci0Jc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnkgKmVudDsKLQllbnQgPSBnZXRfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShwLCBiYXNlX29mZnNldCk7Ci0JcmV0dXJuIGVxX2RlbHRhX2Jhc2VfY2FjaGVfZW50cnkoZW50LCBwLCBiYXNlX29mZnNldCk7CisJcmV0dXJuICEhZ2V0X2RlbHRhX2Jhc2VfY2FjaGVfZW50cnkocCwgYmFzZV9vZmZzZXQpOwogfQogCi1zdGF0aWMgdm9pZCBjbGVhcl9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICplbnQpCisvKgorICogUmVtb3ZlIHRoZSBlbnRyeSBmcm9tIHRoZSBjYWNoZSwgYnV0IGRvIF9ub3RfIGZyZWUgdGhlIGFzc29jaWF0ZWQKKyAqIGVudHJ5IGRhdGEuIFRoZSBjYWxsZXIgdGFrZXMgb3duZXJzaGlwIG9mIHRoZSAiZGF0YSIgYnVmZmVyLCBhbmQKKyAqIHNob3VsZCBjb3B5IG91dCBhbnkgZmllbGRzIGl0IHdhbnRzIGJlZm9yZSBkZXRhY2hpbmcuCisgKi8KK3N0YXRpYyB2b2lkIGRldGFjaF9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICplbnQpCiB7Ci0JZW50LT5kYXRhID0gTlVMTDsKLQllbnQtPmxydS5uZXh0LT5wcmV2ID0gZW50LT5scnUucHJldjsKLQllbnQtPmxydS5wcmV2LT5uZXh0ID0gZW50LT5scnUubmV4dDsKKwloYXNobWFwX3JlbW92ZSgmZGVsdGFfYmFzZV9jYWNoZSwgZW50LCAmZW50LT5rZXkpOworCWxpc3RfZGVsKCZlbnQtPmxydSk7CiAJZGVsdGFfYmFzZV9jYWNoZWQgLT0gZW50LT5zaXplOworCWZyZWUoZW50KTsKIH0KIAogc3RhdGljIHZvaWQgKmNhY2hlX29yX3VucGFja19lbnRyeShzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgb2ZmX3QgYmFzZV9vZmZzZXQsCi0JdW5zaWduZWQgbG9uZyAqYmFzZV9zaXplLCBlbnVtIG9iamVjdF90eXBlICp0eXBlLCBpbnQga2VlcF9jYWNoZSkKKwl1bnNpZ25lZCBsb25nICpiYXNlX3NpemUsIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUpCiB7CiAJc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnkgKmVudDsKLQl2b2lkICpyZXQ7CiAKIAllbnQgPSBnZXRfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShwLCBiYXNlX29mZnNldCk7Ci0KLQlpZiAoIWVxX2RlbHRhX2Jhc2VfY2FjaGVfZW50cnkoZW50LCBwLCBiYXNlX29mZnNldCkpCisJaWYgKCFlbnQpCiAJCXJldHVybiB1bnBhY2tfZW50cnkocCwgYmFzZV9vZmZzZXQsIHR5cGUsIGJhc2Vfc2l6ZSk7CiAKLQlyZXQgPSBlbnQtPmRhdGE7Ci0KLQlpZiAoIWtlZXBfY2FjaGUpCi0JCWNsZWFyX2RlbHRhX2Jhc2VfY2FjaGVfZW50cnkoZW50KTsKLQllbHNlCi0JCXJldCA9IHhtZW1kdXB6KGVudC0+ZGF0YSwgZW50LT5zaXplKTsKIAkqdHlwZSA9IGVudC0+dHlwZTsKIAkqYmFzZV9zaXplID0gZW50LT5zaXplOwotCXJldHVybiByZXQ7CisJcmV0dXJuIHhtZW1kdXB6KGVudC0+ZGF0YSwgZW50LT5zaXplKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHJlbGVhc2VfZGVsdGFfYmFzZV9jYWNoZShzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSAqZW50KQogewotCWlmIChlbnQtPmRhdGEpIHsKLQkJZnJlZShlbnQtPmRhdGEpOwotCQllbnQtPmRhdGEgPSBOVUxMOwotCQllbnQtPmxydS5uZXh0LT5wcmV2ID0gZW50LT5scnUucHJldjsKLQkJZW50LT5scnUucHJldi0+bmV4dCA9IGVudC0+bHJ1Lm5leHQ7Ci0JCWRlbHRhX2Jhc2VfY2FjaGVkIC09IGVudC0+c2l6ZTsKLQl9CisJZnJlZShlbnQtPmRhdGEpOworCWRldGFjaF9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KGVudCk7CiB9CiAKIHZvaWQgY2xlYXJfZGVsdGFfYmFzZV9jYWNoZSh2b2lkKQogewotCXVuc2lnbmVkIGxvbmcgcDsKLQlmb3IgKHAgPSAwOyBwIDwgTUFYX0RFTFRBX0NBQ0hFOyBwKyspCi0JCXJlbGVhc2VfZGVsdGFfYmFzZV9jYWNoZSgmZGVsdGFfYmFzZV9jYWNoZVtwXSk7CisJc3RydWN0IGhhc2htYXBfaXRlciBpdGVyOworCXN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICplbnRyeTsKKwlmb3IgKGVudHJ5ID0gaGFzaG1hcF9pdGVyX2ZpcnN0KCZkZWx0YV9iYXNlX2NhY2hlLCAmaXRlcik7CisJICAgICBlbnRyeTsKKwkgICAgIGVudHJ5ID0gaGFzaG1hcF9pdGVyX25leHQoJml0ZXIpKSB7CisJCXJlbGVhc2VfZGVsdGFfYmFzZV9jYWNoZShlbnRyeSk7CisJfQogfQogCiBzdGF0aWMgdm9pZCBhZGRfZGVsdGFfYmFzZV9jYWNoZShzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgb2ZmX3QgYmFzZV9vZmZzZXQsCiAJdm9pZCAqYmFzZSwgdW5zaWduZWQgbG9uZyBiYXNlX3NpemUsIGVudW0gb2JqZWN0X3R5cGUgdHlwZSkKIHsKLQl1bnNpZ25lZCBsb25nIGhhc2ggPSBwYWNrX2VudHJ5X2hhc2gocCwgYmFzZV9vZmZzZXQpOwotCXN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICplbnQgPSBkZWx0YV9iYXNlX2NhY2hlICsgaGFzaDsKLQlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9scnVfbGlzdCAqbHJ1OworCXN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICplbnQgPSB4bWFsbG9jKHNpemVvZigqZW50KSk7CisJc3RydWN0IGxpc3RfaGVhZCAqbHJ1LCAqdG1wOwogCi0JcmVsZWFzZV9kZWx0YV9iYXNlX2NhY2hlKGVudCk7CiAJZGVsdGFfYmFzZV9jYWNoZWQgKz0gYmFzZV9zaXplOwogCi0JZm9yIChscnUgPSBkZWx0YV9iYXNlX2NhY2hlX2xydS5uZXh0OwotCSAgICAgZGVsdGFfYmFzZV9jYWNoZWQgPiBkZWx0YV9iYXNlX2NhY2hlX2xpbWl0Ci0JICAgICAmJiBscnUgIT0gJmRlbHRhX2Jhc2VfY2FjaGVfbHJ1OwotCSAgICAgbHJ1ID0gbHJ1LT5uZXh0KSB7Ci0JCXN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICpmID0gKHZvaWQgKilscnU7Ci0JCWlmIChmLT50eXBlID09IE9CSl9CTE9CKQotCQkJcmVsZWFzZV9kZWx0YV9iYXNlX2NhY2hlKGYpOwotCX0KLQlmb3IgKGxydSA9IGRlbHRhX2Jhc2VfY2FjaGVfbHJ1Lm5leHQ7Ci0JICAgICBkZWx0YV9iYXNlX2NhY2hlZCA+IGRlbHRhX2Jhc2VfY2FjaGVfbGltaXQKLQkgICAgICYmIGxydSAhPSAmZGVsdGFfYmFzZV9jYWNoZV9scnU7Ci0JICAgICBscnUgPSBscnUtPm5leHQpIHsKLQkJc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnkgKmYgPSAodm9pZCAqKWxydTsKKwlsaXN0X2Zvcl9lYWNoX3NhZmUobHJ1LCB0bXAsICZkZWx0YV9iYXNlX2NhY2hlX2xydSkgeworCQlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSAqZiA9CisJCQlsaXN0X2VudHJ5KGxydSwgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnksIGxydSk7CisJCWlmIChkZWx0YV9iYXNlX2NhY2hlZCA8PSBkZWx0YV9iYXNlX2NhY2hlX2xpbWl0KQorCQkJYnJlYWs7CiAJCXJlbGVhc2VfZGVsdGFfYmFzZV9jYWNoZShmKTsKIAl9CiAKLQllbnQtPnAgPSBwOwotCWVudC0+YmFzZV9vZmZzZXQgPSBiYXNlX29mZnNldDsKKwllbnQtPmtleS5wID0gcDsKKwllbnQtPmtleS5iYXNlX29mZnNldCA9IGJhc2Vfb2Zmc2V0OwogCWVudC0+dHlwZSA9IHR5cGU7CiAJZW50LT5kYXRhID0gYmFzZTsKIAllbnQtPnNpemUgPSBiYXNlX3NpemU7Ci0JZW50LT5scnUubmV4dCA9ICZkZWx0YV9iYXNlX2NhY2hlX2xydTsKLQllbnQtPmxydS5wcmV2ID0gZGVsdGFfYmFzZV9jYWNoZV9scnUucHJldjsKLQlkZWx0YV9iYXNlX2NhY2hlX2xydS5wcmV2LT5uZXh0ID0gJmVudC0+bHJ1OwotCWRlbHRhX2Jhc2VfY2FjaGVfbHJ1LnByZXYgPSAmZW50LT5scnU7CisJbGlzdF9hZGRfdGFpbCgmZW50LT5scnUsICZkZWx0YV9iYXNlX2NhY2hlX2xydSk7CisKKwlpZiAoIWRlbHRhX2Jhc2VfY2FjaGUuY21wZm4pCisJCWhhc2htYXBfaW5pdCgmZGVsdGFfYmFzZV9jYWNoZSwgZGVsdGFfYmFzZV9jYWNoZV9oYXNoX2NtcCwgMCk7CisJaGFzaG1hcF9lbnRyeV9pbml0KGVudCwgcGFja19lbnRyeV9oYXNoKHAsIGJhc2Vfb2Zmc2V0KSk7CisJaGFzaG1hcF9hZGQoJmRlbHRhX2Jhc2VfY2FjaGUsIGVudCk7CiB9CiAKIHN0YXRpYyB2b2lkICpyZWFkX29iamVjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBlbnVtIG9iamVjdF90eXBlICp0eXBlLApAQCAtMjI3MCwxOCArMjQwNCwxOCBAQAogCQlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSAqZW50OwogCiAJCWVudCA9IGdldF9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KHAsIGN1cnBvcyk7Ci0JCWlmIChlcV9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KGVudCwgcCwgY3VycG9zKSkgeworCQlpZiAoZW50KSB7CiAJCQl0eXBlID0gZW50LT50eXBlOwogCQkJZGF0YSA9IGVudC0+ZGF0YTsKIAkJCXNpemUgPSBlbnQtPnNpemU7Ci0JCQljbGVhcl9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KGVudCk7CisJCQlkZXRhY2hfZGVsdGFfYmFzZV9jYWNoZV9lbnRyeShlbnQpOwogCQkJYmFzZV9mcm9tX2NhY2hlID0gMTsKIAkJCWJyZWFrOwogCQl9CiAKIAkJaWYgKGRvX2NoZWNrX3BhY2tlZF9vYmplY3RfY3JjICYmIHAtPmluZGV4X3ZlcnNpb24gPiAxKSB7CiAJCQlzdHJ1Y3QgcmV2aW5kZXhfZW50cnkgKnJldmlkeCA9IGZpbmRfcGFja19yZXZpbmRleChwLCBvYmpfb2Zmc2V0KTsKLQkJCXVuc2lnbmVkIGxvbmcgbGVuID0gcmV2aWR4WzFdLm9mZnNldCAtIG9ial9vZmZzZXQ7CisJCQlvZmZfdCBsZW4gPSByZXZpZHhbMV0ub2Zmc2V0IC0gb2JqX29mZnNldDsKIAkJCWlmIChjaGVja19wYWNrX2NyYyhwLCAmd19jdXJzLCBvYmpfb2Zmc2V0LCBsZW4sIHJldmlkeC0+bnIpKSB7CiAJCQkJY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSA9CiAJCQkJCW50aF9wYWNrZWRfb2JqZWN0X3NoYTEocCwgcmV2aWR4LT5ucik7CkBAIC0yMzMwLDcgKzI0NjQsNyBAQAogCWNhc2UgT0JKX09GU19ERUxUQToKIAljYXNlIE9CSl9SRUZfREVMVEE6CiAJCWlmIChkYXRhKQotCQkJZGllKCJCVUcgaW4gdW5wYWNrX2VudHJ5OiBsZWZ0IGxvb3AgYXQgYSB2YWxpZCBkZWx0YSIpOworCQkJZGllKCJCVUc6IHVucGFja19lbnRyeTogbGVmdCBsb29wIGF0IGEgdmFsaWQgZGVsdGEiKTsKIAkJYnJlYWs7CiAJY2FzZSBPQkpfQ09NTUlUOgogCWNhc2UgT0JKX1RSRUU6CkBAIC0yNjA0LDIxICsyNzM4LDE1IEBACiAgKi8KIHN0YXRpYyBpbnQgZmluZF9wYWNrX2VudHJ5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHN0cnVjdCBwYWNrX2VudHJ5ICplKQogewotCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOworCXN0cnVjdCBtcnVfZW50cnkgKnA7CiAKIAlwcmVwYXJlX3BhY2tlZF9naXQoKTsKIAlpZiAoIXBhY2tlZF9naXQpCiAJCXJldHVybiAwOwogCi0JaWYgKGxhc3RfZm91bmRfcGFjayAmJiBmaWxsX3BhY2tfZW50cnkoc2hhMSwgZSwgbGFzdF9mb3VuZF9wYWNrKSkKLQkJcmV0dXJuIDE7Ci0KLQlmb3IgKHAgPSBwYWNrZWRfZ2l0OyBwOyBwID0gcC0+bmV4dCkgewotCQlpZiAocCA9PSBsYXN0X2ZvdW5kX3BhY2spCi0JCQljb250aW51ZTsgLyogd2UgYWxyZWFkeSBjaGVja2VkIHRoaXMgb25lICovCi0KLQkJaWYgKGZpbGxfcGFja19lbnRyeShzaGExLCBlLCBwKSkgewotCQkJbGFzdF9mb3VuZF9wYWNrID0gcDsKKwlmb3IgKHAgPSBwYWNrZWRfZ2l0X21ydS0+aGVhZDsgcDsgcCA9IHAtPm5leHQpIHsKKwkJaWYgKGZpbGxfcGFja19lbnRyeShzaGExLCBlLCBwLT5pdGVtKSkgeworCQkJbXJ1X21hcmsocGFja2VkX2dpdF9tcnUsIHApOwogCQkJcmV0dXJuIDE7CiAJCX0KIAl9CkBAIC0yNzY4LDcgKzI4OTYsNyBAQAogaW50IHNoYTFfb2JqZWN0X2luZm8oY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgdW5zaWduZWQgbG9uZyAqc2l6ZXApCiB7CiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwotCXN0cnVjdCBvYmplY3RfaW5mbyBvaSA9IHtOVUxMfTsKKwlzdHJ1Y3Qgb2JqZWN0X2luZm8gb2kgPSBPQkpFQ1RfSU5GT19JTklUOwogCiAJb2kudHlwZXAgPSAmdHlwZTsKIAlvaS5zaXplcCA9IHNpemVwOwpAQCAtMjc4NSw3ICsyOTEzLDcgQEAKIAogCWlmICghZmluZF9wYWNrX2VudHJ5KHNoYTEsICZlKSkKIAkJcmV0dXJuIE5VTEw7Ci0JZGF0YSA9IGNhY2hlX29yX3VucGFja19lbnRyeShlLnAsIGUub2Zmc2V0LCBzaXplLCB0eXBlLCAxKTsKKwlkYXRhID0gY2FjaGVfb3JfdW5wYWNrX2VudHJ5KGUucCwgZS5vZmZzZXQsIHNpemUsIHR5cGUpOwogCWlmICghZGF0YSkgewogCQkvKgogCQkgKiBXZSdyZSBwcm9iYWJseSBpbiBkZWVwIHNoaXQsIGJ1dCBsZXQncyB0cnkgdG8gZmV0Y2gKQEAgLTMyMzksNiArMzM2NywxMSBAQAogCXJldHVybiBoYXNfc2hhMV9maWxlKG9pZC0+aGFzaCk7CiB9CiAKK2ludCBoYXNfb2JqZWN0X2ZpbGVfd2l0aF9mbGFncyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBmbGFncykKK3sKKwlyZXR1cm4gaGFzX3NoYTFfZmlsZV93aXRoX2ZsYWdzKG9pZC0+aGFzaCwgZmxhZ3MpOworfQorCiBzdGF0aWMgdm9pZCBjaGVja190cmVlKGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IHNpemUpCiB7CiAJc3RydWN0IHRyZWVfZGVzYyBkZXNjOwpAQCAtMzU3OCw4ICszNzExLDcgQEAKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCWludCByOwogCi0JLyogY29weSBiYXNlIG5vdCBpbmNsdWRpbmcgdHJhaWxpbmcgJy8nICovCi0Jc3RyYnVmX2FkZCgmYnVmLCBhbHQtPmJhc2UsIGFsdC0+bmFtZSAtIGFsdC0+YmFzZSAtIDEpOworCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgYWx0LT5wYXRoKTsKIAlyID0gZm9yX2VhY2hfbG9vc2VfZmlsZV9pbl9vYmpkaXJfYnVmKCZidWYsCiAJCQkJCSAgICAgIGRhdGEtPmNiLCBOVUxMLCBOVUxMLAogCQkJCQkgICAgICBkYXRhLT5kYXRhKTsKZGlmZiAtLWdpdCBhL3NoYTFfbmFtZS5jIGIvc2hhMV9uYW1lLmMKaW5kZXggY2E3ZGRkNi4uNzNhOTE1ZiAxMDA2NDQKLS0tIGEvc2hhMV9uYW1lLmMKKysrIGIvc2hhMV9uYW1lLmMKQEAgLTcsMTUgKzcsMjAgQEAKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAicmVtb3RlLmgiCiAjaW5jbHVkZSAiZGlyLmgiCisjaW5jbHVkZSAic2hhMS1hcnJheS5oIgogCiBzdGF0aWMgaW50IGdldF9zaGExX29uZWxpbmUoY29uc3QgY2hhciAqLCB1bnNpZ25lZCBjaGFyICosIHN0cnVjdCBjb21taXRfbGlzdCAqKTsKIAogdHlwZWRlZiBpbnQgKCpkaXNhbWJpZ3VhdGVfaGludF9mbikoY29uc3QgdW5zaWduZWQgY2hhciAqLCB2b2lkICopOwogCiBzdHJ1Y3QgZGlzYW1iaWd1YXRlX3N0YXRlIHsKKwlpbnQgbGVuOyAvKiBsZW5ndGggb2YgcHJlZml4IGluIGhleCBjaGFycyAqLworCWNoYXIgaGV4X3BmeFtHSVRfU0hBMV9IRVhTWiArIDFdOworCXVuc2lnbmVkIGNoYXIgYmluX3BmeFtHSVRfU0hBMV9SQVdTWl07CisKIAlkaXNhbWJpZ3VhdGVfaGludF9mbiBmbjsKIAl2b2lkICpjYl9kYXRhOwotCXVuc2lnbmVkIGNoYXIgY2FuZGlkYXRlWzIwXTsKKwl1bnNpZ25lZCBjaGFyIGNhbmRpZGF0ZVtHSVRfU0hBMV9SQVdTWl07CiAJdW5zaWduZWQgY2FuZGlkYXRlX2V4aXN0czoxOwogCXVuc2lnbmVkIGNhbmRpZGF0ZV9jaGVja2VkOjE7CiAJdW5zaWduZWQgY2FuZGlkYXRlX29rOjE7CkBAIC03MiwxMCArNzcsMTAgQEAKIAkvKiBvdGhlcndpc2UsIGN1cnJlbnQgY2FuIGJlIGRpc2NhcmRlZCBhbmQgY2FuZGlkYXRlIGlzIHN0aWxsIGdvb2QgKi8KIH0KIAotc3RhdGljIHZvaWQgZmluZF9zaG9ydF9vYmplY3RfZmlsZW5hbWUoaW50IGxlbiwgY29uc3QgY2hhciAqaGV4X3BmeCwgc3RydWN0IGRpc2FtYmlndWF0ZV9zdGF0ZSAqZHMpCitzdGF0aWMgdm9pZCBmaW5kX3Nob3J0X29iamVjdF9maWxlbmFtZShzdHJ1Y3QgZGlzYW1iaWd1YXRlX3N0YXRlICpkcykKIHsKIAlzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqYWx0OwotCWNoYXIgaGV4WzQwXTsKKwljaGFyIGhleFtHSVRfU0hBMV9IRVhTWl07CiAJc3RhdGljIHN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICpmYWtlZW50OwogCiAJaWYgKCFmYWtlZW50KSB7CkBAIC04NiwyNSArOTEsMTggQEAKIAkJICogYWx0LT5uYW1lL2FsdC0+YmFzZSB3aGlsZSBpdGVyYXRpbmcgb3ZlciB0aGUKIAkJICogb2JqZWN0IGRhdGFiYXNlcyBpbmNsdWRpbmcgb3VyIG93bi4KIAkJICovCi0JCWNvbnN0IGNoYXIgKm9iamRpciA9IGdldF9vYmplY3RfZGlyZWN0b3J5KCk7Ci0JCXNpemVfdCBvYmpkaXJfbGVuID0gc3RybGVuKG9iamRpcik7Ci0JCWZha2VlbnQgPSB4bWFsbG9jKHN0X2FkZDMoc2l6ZW9mKCpmYWtlZW50KSwgb2JqZGlyX2xlbiwgNDMpKTsKLQkJbWVtY3B5KGZha2VlbnQtPmJhc2UsIG9iamRpciwgb2JqZGlyX2xlbik7Ci0JCWZha2VlbnQtPm5hbWUgPSBmYWtlZW50LT5iYXNlICsgb2JqZGlyX2xlbiArIDE7Ci0JCWZha2VlbnQtPm5hbWVbLTFdID0gJy8nOworCQlmYWtlZW50ID0gYWxsb2NfYWx0X29kYihnZXRfb2JqZWN0X2RpcmVjdG9yeSgpKTsKIAl9CiAJZmFrZWVudC0+bmV4dCA9IGFsdF9vZGJfbGlzdDsKIAotCXhzbnByaW50ZihoZXgsIHNpemVvZihoZXgpLCAiJS4ycyIsIGhleF9wZngpOworCXhzbnByaW50ZihoZXgsIHNpemVvZihoZXgpLCAiJS4ycyIsIGRzLT5oZXhfcGZ4KTsKIAlmb3IgKGFsdCA9IGZha2VlbnQ7IGFsdCAmJiAhZHMtPmFtYmlndW91czsgYWx0ID0gYWx0LT5uZXh0KSB7CisJCXN0cnVjdCBzdHJidWYgKmJ1ZiA9IGFsdF9zY3JhdGNoX2J1ZihhbHQpOwogCQlzdHJ1Y3QgZGlyZW50ICpkZTsKIAkJRElSICpkaXI7Ci0JCS8qCi0JCSAqIGV2ZXJ5IGFsdF9vZGIgc3RydWN0IGhhcyA0MiBleHRyYSBieXRlcyBhZnRlciB0aGUgYmFzZQotCQkgKiBmb3IgZXhhY3RseSB0aGlzIHB1cnBvc2UKLQkJICovCi0JCXhzbnByaW50ZihhbHQtPm5hbWUsIDQyLCAiJS4ycy8iLCBoZXhfcGZ4KTsKLQkJZGlyID0gb3BlbmRpcihhbHQtPmJhc2UpOworCisJCXN0cmJ1Zl9hZGRmKGJ1ZiwgIiUuMnMvIiwgZHMtPmhleF9wZngpOworCQlkaXIgPSBvcGVuZGlyKGJ1Zi0+YnVmKTsKIAkJaWYgKCFkaXIpCiAJCQljb250aW51ZTsKIApAQCAtMTEzLDcgKzExMSw3IEBACiAKIAkJCWlmIChzdHJsZW4oZGUtPmRfbmFtZSkgIT0gMzgpCiAJCQkJY29udGludWU7Ci0JCQlpZiAobWVtY21wKGRlLT5kX25hbWUsIGhleF9wZnggKyAyLCBsZW4gLSAyKSkKKwkJCWlmIChtZW1jbXAoZGUtPmRfbmFtZSwgZHMtPmhleF9wZnggKyAyLCBkcy0+bGVuIC0gMikpCiAJCQkJY29udGludWU7CiAJCQltZW1jcHkoaGV4ICsgMiwgZGUtPmRfbmFtZSwgMzgpOwogCQkJaWYgKCFnZXRfc2hhMV9oZXgoaGV4LCBzaGExKSkKQEAgLTEzOCw5ICsxMzYsNyBAQAogCXJldHVybiAxOwogfQogCi1zdGF0aWMgdm9pZCB1bmlxdWVfaW5fcGFjayhpbnQgbGVuLAotCQkJICBjb25zdCB1bnNpZ25lZCBjaGFyICpiaW5fcGZ4LAotCQkJICAgc3RydWN0IHBhY2tlZF9naXQgKnAsCitzdGF0aWMgdm9pZCB1bmlxdWVfaW5fcGFjayhzdHJ1Y3QgcGFja2VkX2dpdCAqcCwKIAkJCSAgIHN0cnVjdCBkaXNhbWJpZ3VhdGVfc3RhdGUgKmRzKQogewogCXVpbnQzMl90IG51bSwgbGFzdCwgaSwgZmlyc3QgPSAwOwpAQCAtMTU1LDcgKzE1MSw3IEBACiAJCWludCBjbXA7CiAKIAkJY3VycmVudCA9IG50aF9wYWNrZWRfb2JqZWN0X3NoYTEocCwgbWlkKTsKLQkJY21wID0gaGFzaGNtcChiaW5fcGZ4LCBjdXJyZW50KTsKKwkJY21wID0gaGFzaGNtcChkcy0+YmluX3BmeCwgY3VycmVudCk7CiAJCWlmICghY21wKSB7CiAJCQlmaXJzdCA9IG1pZDsKIAkJCWJyZWFrOwpAQCAtMTc0LDIwICsxNzAsMTkgQEAKIAkgKi8KIAlmb3IgKGkgPSBmaXJzdDsgaSA8IG51bSAmJiAhZHMtPmFtYmlndW91czsgaSsrKSB7CiAJCWN1cnJlbnQgPSBudGhfcGFja2VkX29iamVjdF9zaGExKHAsIGkpOwotCQlpZiAoIW1hdGNoX3NoYShsZW4sIGJpbl9wZngsIGN1cnJlbnQpKQorCQlpZiAoIW1hdGNoX3NoYShkcy0+bGVuLCBkcy0+YmluX3BmeCwgY3VycmVudCkpCiAJCQlicmVhazsKIAkJdXBkYXRlX2NhbmRpZGF0ZXMoZHMsIGN1cnJlbnQpOwogCX0KIH0KIAotc3RhdGljIHZvaWQgZmluZF9zaG9ydF9wYWNrZWRfb2JqZWN0KGludCBsZW4sIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJpbl9wZngsCi0JCQkJICAgICBzdHJ1Y3QgZGlzYW1iaWd1YXRlX3N0YXRlICpkcykKK3N0YXRpYyB2b2lkIGZpbmRfc2hvcnRfcGFja2VkX29iamVjdChzdHJ1Y3QgZGlzYW1iaWd1YXRlX3N0YXRlICpkcykKIHsKIAlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKIAogCXByZXBhcmVfcGFja2VkX2dpdCgpOwogCWZvciAocCA9IHBhY2tlZF9naXQ7IHAgJiYgIWRzLT5hbWJpZ3VvdXM7IHAgPSBwLT5uZXh0KQotCQl1bmlxdWVfaW5fcGFjayhsZW4sIGJpbl9wZngsIHAsIGRzKTsKKwkJdW5pcXVlX2luX3BhY2socCwgZHMpOwogfQogCiAjZGVmaW5lIFNIT1JUX05BTUVfTk9UX0ZPVU5EICgtMSkKQEAgLTI2OSw3ICsyNjQsNyBAQAogCQlyZXR1cm4gMDsKIAogCS8qIFdlIG5lZWQgdG8gZG8gdGhpcyB0aGUgaGFyZCB3YXkuLi4gKi8KLQlvYmogPSBkZXJlZl90YWcobG9va3VwX29iamVjdChzaGExKSwgTlVMTCwgMCk7CisJb2JqID0gZGVyZWZfdGFnKHBhcnNlX29iamVjdChzaGExKSwgTlVMTCwgMCk7CiAJaWYgKG9iaiAmJiAob2JqLT50eXBlID09IE9CSl9UUkVFIHx8IG9iai0+dHlwZSA9PSBPQkpfQ09NTUlUKSkKIAkJcmV0dXJuIDE7CiAJcmV0dXJuIDA7CkBAIC0yODEsMTQgKzI3Niw0NiBAQAogCXJldHVybiBraW5kID09IE9CSl9CTE9COwogfQogCi1zdGF0aWMgaW50IHByZXBhcmVfcHJlZml4ZXMoY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbiwKLQkJCSAgICB1bnNpZ25lZCBjaGFyICpiaW5fcGZ4LAotCQkJICAgIGNoYXIgKmhleF9wZngpCitzdGF0aWMgZGlzYW1iaWd1YXRlX2hpbnRfZm4gZGVmYXVsdF9kaXNhbWJpZ3VhdGVfaGludDsKKworaW50IHNldF9kaXNhbWJpZ3VhdGVfaGludF9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSkKK3sKKwlzdGF0aWMgY29uc3Qgc3RydWN0IHsKKwkJY29uc3QgY2hhciAqbmFtZTsKKwkJZGlzYW1iaWd1YXRlX2hpbnRfZm4gZm47CisJfSBoaW50c1tdID0geworCQl7ICJub25lIiwgTlVMTCB9LAorCQl7ICJjb21taXQiLCBkaXNhbWJpZ3VhdGVfY29tbWl0X29ubHkgfSwKKwkJeyAiY29tbWl0dGlzaCIsIGRpc2FtYmlndWF0ZV9jb21taXR0aXNoX29ubHkgfSwKKwkJeyAidHJlZSIsIGRpc2FtYmlndWF0ZV90cmVlX29ubHkgfSwKKwkJeyAidHJlZWlzaCIsIGRpc2FtYmlndWF0ZV90cmVlaXNoX29ubHkgfSwKKwkJeyAiYmxvYiIsIGRpc2FtYmlndWF0ZV9ibG9iX29ubHkgfQorCX07CisJaW50IGk7CisKKwlpZiAoIXZhbHVlKQorCQlyZXR1cm4gY29uZmlnX2Vycm9yX25vbmJvb2wodmFyKTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGhpbnRzKTsgaSsrKSB7CisJCWlmICghc3RyY2FzZWNtcCh2YWx1ZSwgaGludHNbaV0ubmFtZSkpIHsKKwkJCWRlZmF1bHRfZGlzYW1iaWd1YXRlX2hpbnQgPSBoaW50c1tpXS5mbjsKKwkJCXJldHVybiAwOworCQl9CisJfQorCisJcmV0dXJuIGVycm9yKCJ1bmtub3duIGhpbnQgdHlwZSBmb3IgJyVzJzogJXMiLCB2YXIsIHZhbHVlKTsKK30KKworc3RhdGljIGludCBpbml0X29iamVjdF9kaXNhbWJpZ3VhdGlvbihjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuLAorCQkJCSAgICAgIHN0cnVjdCBkaXNhbWJpZ3VhdGVfc3RhdGUgKmRzKQogewogCWludCBpOwogCi0JaGFzaGNscihiaW5fcGZ4KTsKLQltZW1zZXQoaGV4X3BmeCwgJ3gnLCA0MCk7CisJaWYgKGxlbiA8IE1JTklNVU1fQUJCUkVWIHx8IGxlbiA+IEdJVF9TSEExX0hFWFNaKQorCQlyZXR1cm4gLTE7CisKKwltZW1zZXQoZHMsIDAsIHNpemVvZigqZHMpKTsKKwogCWZvciAoaSA9IDA7IGkgPCBsZW4gO2krKykgewogCQl1bnNpZ25lZCBjaGFyIGMgPSBuYW1lW2ldOwogCQl1bnNpZ25lZCBjaGFyIHZhbDsKQEAgLTMwMiwxMSArMzI5LDQ3IEBACiAJCX0KIAkJZWxzZQogCQkJcmV0dXJuIC0xOwotCQloZXhfcGZ4W2ldID0gYzsKKwkJZHMtPmhleF9wZnhbaV0gPSBjOwogCQlpZiAoIShpICYgMSkpCiAJCQl2YWwgPDw9IDQ7Ci0JCWJpbl9wZnhbaSA+PiAxXSB8PSB2YWw7CisJCWRzLT5iaW5fcGZ4W2kgPj4gMV0gfD0gdmFsOwogCX0KKworCWRzLT5sZW4gPSBsZW47CisJZHMtPmhleF9wZnhbbGVuXSA9ICdcMCc7CisJcHJlcGFyZV9hbHRfb2RiKCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2hvd19hbWJpZ3VvdXNfb2JqZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHZvaWQgKmRhdGEpCit7CisJY29uc3Qgc3RydWN0IGRpc2FtYmlndWF0ZV9zdGF0ZSAqZHMgPSBkYXRhOworCXN0cnVjdCBzdHJidWYgZGVzYyA9IFNUUkJVRl9JTklUOworCWludCB0eXBlOworCisJaWYgKGRzLT5mbiAmJiAhZHMtPmZuKHNoYTEsIGRzLT5jYl9kYXRhKSkKKwkJcmV0dXJuIDA7CisKKwl0eXBlID0gc2hhMV9vYmplY3RfaW5mbyhzaGExLCBOVUxMKTsKKwlpZiAodHlwZSA9PSBPQkpfQ09NTUlUKSB7CisJCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IGxvb2t1cF9jb21taXQoc2hhMSk7CisJCWlmIChjb21taXQpIHsKKwkJCXN0cnVjdCBwcmV0dHlfcHJpbnRfY29udGV4dCBwcCA9IHswfTsKKwkJCXBwLmRhdGVfbW9kZS50eXBlID0gREFURV9TSE9SVDsKKwkJCWZvcm1hdF9jb21taXRfbWVzc2FnZShjb21taXQsICIgJWFkIC0gJXMiLCAmZGVzYywgJnBwKTsKKwkJfQorCX0gZWxzZSBpZiAodHlwZSA9PSBPQkpfVEFHKSB7CisJCXN0cnVjdCB0YWcgKnRhZyA9IGxvb2t1cF90YWcoc2hhMSk7CisJCWlmICghcGFyc2VfdGFnKHRhZykgJiYgdGFnLT50YWcpCisJCQlzdHJidWZfYWRkZigmZGVzYywgIiAlcyIsIHRhZy0+dGFnKTsKKwl9CisKKwlhZHZpc2UoIiAgJXMgJXMlcyIsCisJICAgICAgIGZpbmRfdW5pcXVlX2FiYnJldihzaGExLCBERUZBVUxUX0FCQlJFViksCisJICAgICAgIHR5cGVuYW1lKHR5cGUpID8gdHlwZW5hbWUodHlwZSkgOiAidW5rbm93biB0eXBlIiwKKwkgICAgICAgZGVzYy5idWYpOworCisJc3RyYnVmX3JlbGVhc2UoJmRlc2MpOwogCXJldHVybiAwOwogfQogCkBAIC0zMTQsMTkgKzM3NywxNSBAQAogCQkJICB1bnNpZ25lZCBmbGFncykKIHsKIAlpbnQgc3RhdHVzOwotCWNoYXIgaGV4X3BmeFs0MF07Ci0JdW5zaWduZWQgY2hhciBiaW5fcGZ4WzIwXTsKIAlzdHJ1Y3QgZGlzYW1iaWd1YXRlX3N0YXRlIGRzOwogCWludCBxdWlldGx5ID0gISEoZmxhZ3MgJiBHRVRfU0hBMV9RVUlFVExZKTsKIAotCWlmIChsZW4gPCBNSU5JTVVNX0FCQlJFViB8fCBsZW4gPiA0MCkKLQkJcmV0dXJuIC0xOwotCWlmIChwcmVwYXJlX3ByZWZpeGVzKG5hbWUsIGxlbiwgYmluX3BmeCwgaGV4X3BmeCkgPCAwKQorCWlmIChpbml0X29iamVjdF9kaXNhbWJpZ3VhdGlvbihuYW1lLCBsZW4sICZkcykgPCAwKQogCQlyZXR1cm4gLTE7CiAKLQlwcmVwYXJlX2FsdF9vZGIoKTsKKwlpZiAoSEFTX01VTFRJX0JJVFMoZmxhZ3MgJiBHRVRfU0hBMV9ESVNBTUJJR1VBVE9SUykpCisJCWRpZSgiQlVHOiBtdWx0aXBsZSBnZXRfc2hvcnRfc2hhMSBkaXNhbWJpZ3VhdG9yIGZsYWdzIik7CiAKLQltZW1zZXQoJmRzLCAwLCBzaXplb2YoZHMpKTsKIAlpZiAoZmxhZ3MgJiBHRVRfU0hBMV9DT01NSVQpCiAJCWRzLmZuID0gZGlzYW1iaWd1YXRlX2NvbW1pdF9vbmx5OwogCWVsc2UgaWYgKGZsYWdzICYgR0VUX1NIQTFfQ09NTUlUVElTSCkKQEAgLTMzNyw0NCArMzk2LDk4IEBACiAJCWRzLmZuID0gZGlzYW1iaWd1YXRlX3RyZWVpc2hfb25seTsKIAllbHNlIGlmIChmbGFncyAmIEdFVF9TSEExX0JMT0IpCiAJCWRzLmZuID0gZGlzYW1iaWd1YXRlX2Jsb2Jfb25seTsKKwllbHNlCisJCWRzLmZuID0gZGVmYXVsdF9kaXNhbWJpZ3VhdGVfaGludDsKIAotCWZpbmRfc2hvcnRfb2JqZWN0X2ZpbGVuYW1lKGxlbiwgaGV4X3BmeCwgJmRzKTsKLQlmaW5kX3Nob3J0X3BhY2tlZF9vYmplY3QobGVuLCBiaW5fcGZ4LCAmZHMpOworCWZpbmRfc2hvcnRfb2JqZWN0X2ZpbGVuYW1lKCZkcyk7CisJZmluZF9zaG9ydF9wYWNrZWRfb2JqZWN0KCZkcyk7CiAJc3RhdHVzID0gZmluaXNoX29iamVjdF9kaXNhbWJpZ3VhdGlvbigmZHMsIHNoYTEpOwogCi0JaWYgKCFxdWlldGx5ICYmIChzdGF0dXMgPT0gU0hPUlRfTkFNRV9BTUJJR1VPVVMpKQotCQlyZXR1cm4gZXJyb3IoInNob3J0IFNIQTEgJS4qcyBpcyBhbWJpZ3VvdXMuIiwgbGVuLCBoZXhfcGZ4KTsKKwlpZiAoIXF1aWV0bHkgJiYgKHN0YXR1cyA9PSBTSE9SVF9OQU1FX0FNQklHVU9VUykpIHsKKwkJZXJyb3IoXygic2hvcnQgU0hBMSAlcyBpcyBhbWJpZ3VvdXMiKSwgZHMuaGV4X3BmeCk7CisKKwkJLyoKKwkJICogV2UgbWF5IHN0aWxsIGhhdmUgYW1iaWd1aXR5IGlmIHdlIHNpbXBseSBzYXcgYSBzZXJpZXMgb2YKKwkJICogY2FuZGlkYXRlcyB0aGF0IGRpZCBub3Qgc2F0aXNmeSBvdXIgaGludCBmdW5jdGlvbi4gSW4KKwkJICogdGhhdCBjYXNlLCB3ZSBzdGlsbCB3YW50IHRvIHNob3cgdGhlbSwgc28gZGlzYWJsZSB0aGUgaGludAorCQkgKiBmdW5jdGlvbiBlbnRpcmVseS4KKwkJICovCisJCWlmICghZHMuYW1iaWd1b3VzKQorCQkJZHMuZm4gPSBOVUxMOworCisJCWFkdmlzZShfKCJUaGUgY2FuZGlkYXRlcyBhcmU6IikpOworCQlmb3JfZWFjaF9hYmJyZXYoZHMuaGV4X3BmeCwgc2hvd19hbWJpZ3VvdXNfb2JqZWN0LCAmZHMpOworCX0KKwogCXJldHVybiBzdGF0dXM7CiB9CiAKK3N0YXRpYyBpbnQgY29sbGVjdF9hbWJpZ3VvdXMoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgdm9pZCAqZGF0YSkKK3sKKwlzaGExX2FycmF5X2FwcGVuZChkYXRhLCBzaGExKTsKKwlyZXR1cm4gMDsKK30KKwogaW50IGZvcl9lYWNoX2FiYnJldihjb25zdCBjaGFyICpwcmVmaXgsIGVhY2hfYWJicmV2X2ZuIGZuLCB2b2lkICpjYl9kYXRhKQogewotCWNoYXIgaGV4X3BmeFs0MF07Ci0JdW5zaWduZWQgY2hhciBiaW5fcGZ4WzIwXTsKKwlzdHJ1Y3Qgc2hhMV9hcnJheSBjb2xsZWN0ID0gU0hBMV9BUlJBWV9JTklUOwogCXN0cnVjdCBkaXNhbWJpZ3VhdGVfc3RhdGUgZHM7Ci0JaW50IGxlbiA9IHN0cmxlbihwcmVmaXgpOworCWludCByZXQ7CiAKLQlpZiAobGVuIDwgTUlOSU1VTV9BQkJSRVYgfHwgbGVuID4gNDApCi0JCXJldHVybiAtMTsKLQlpZiAocHJlcGFyZV9wcmVmaXhlcyhwcmVmaXgsIGxlbiwgYmluX3BmeCwgaGV4X3BmeCkgPCAwKQorCWlmIChpbml0X29iamVjdF9kaXNhbWJpZ3VhdGlvbihwcmVmaXgsIHN0cmxlbihwcmVmaXgpLCAmZHMpIDwgMCkKIAkJcmV0dXJuIC0xOwogCi0JcHJlcGFyZV9hbHRfb2RiKCk7Ci0KLQltZW1zZXQoJmRzLCAwLCBzaXplb2YoZHMpKTsKIAlkcy5hbHdheXNfY2FsbF9mbiA9IDE7Ci0JZHMuY2JfZGF0YSA9IGNiX2RhdGE7Ci0JZHMuZm4gPSBmbjsKKwlkcy5mbiA9IGNvbGxlY3RfYW1iaWd1b3VzOworCWRzLmNiX2RhdGEgPSAmY29sbGVjdDsKKwlmaW5kX3Nob3J0X29iamVjdF9maWxlbmFtZSgmZHMpOworCWZpbmRfc2hvcnRfcGFja2VkX29iamVjdCgmZHMpOwogCi0JZmluZF9zaG9ydF9vYmplY3RfZmlsZW5hbWUobGVuLCBoZXhfcGZ4LCAmZHMpOwotCWZpbmRfc2hvcnRfcGFja2VkX29iamVjdChsZW4sIGJpbl9wZngsICZkcyk7Ci0JcmV0dXJuIGRzLmFtYmlndW91czsKKwlyZXQgPSBzaGExX2FycmF5X2Zvcl9lYWNoX3VuaXF1ZSgmY29sbGVjdCwgZm4sIGNiX2RhdGEpOworCXNoYTFfYXJyYXlfY2xlYXIoJmNvbGxlY3QpOworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBSZXR1cm4gdGhlIHNsb3Qgb2YgdGhlIG1vc3Qtc2lnbmlmaWNhbnQgYml0IHNldCBpbiAidmFsIi4gVGhlcmUgYXJlIHZhcmlvdXMKKyAqIHdheXMgdG8gZG8gdGhpcyBxdWlja2x5IHdpdGggZmxzKCkgb3IgX19idWlsdGluX2NsemwoKSwgYnV0IHNwZWVkIGlzCisgKiBwcm9iYWJseSBub3QgYSBiaWcgZGVhbCBoZXJlLgorICovCitzdGF0aWMgdW5zaWduZWQgbXNiKHVuc2lnbmVkIGxvbmcgdmFsKQoreworCXVuc2lnbmVkIHIgPSAwOworCXdoaWxlICh2YWwgPj49IDEpCisJCXIrKzsKKwlyZXR1cm4gcjsKIH0KIAogaW50IGZpbmRfdW5pcXVlX2FiYnJldl9yKGNoYXIgKmhleCwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50IGxlbikKIHsKIAlpbnQgc3RhdHVzLCBleGlzdHM7CiAKKwlpZiAobGVuIDwgMCkgeworCQl1bnNpZ25lZCBsb25nIGNvdW50ID0gYXBwcm94aW1hdGVfb2JqZWN0X2NvdW50KCk7CisJCS8qCisJCSAqIEFkZCBvbmUgYmVjYXVzZSB0aGUgTVNCIG9ubHkgdGVsbHMgdXMgdGhlIGhpZ2hlc3QgYml0IHNldCwKKwkJICogbm90IGluY2x1ZGluZyB0aGUgdmFsdWUgb2YgYWxsIHRoZSBfb3RoZXJfIGJpdHMgKHNvICIxNSIKKwkJICogaXMgb25seSBvbmUgb2ZmIG9mIDJeNCwgYnV0IHRoZSBNU0IgaXMgdGhlIDNyZCBiaXQuCisJCSAqLworCQlsZW4gPSBtc2IoY291bnQpICsgMTsKKwkJLyoKKwkJICogV2Ugbm93IGtub3cgd2UgaGF2ZSBvbiB0aGUgb3JkZXIgb2YgMl5sZW4gb2JqZWN0cywgd2hpY2gKKwkJICogZXhwZWN0cyBhIGNvbGxpc2lvbiBhdCAyXihsZW4vMikuIEJ1dCB3ZSBhbHNvIGNhcmUgYWJvdXQgaGV4CisJCSAqIGNoYXJzLCBub3QgYml0cywgYW5kIHRoZXJlIGFyZSA0IGJpdHMgcGVyIGhleC4gU28gYWxsCisJCSAqIHRvZ2V0aGVyIHdlIG5lZWQgdG8gZGl2aWRlIGJ5IDI7IGJ1dCB3ZSBhbHNvIHdhbnQgdG8gcm91bmQKKwkJICogb2RkIG51bWJlcnMgdXAsIGhlbmNlIGFkZGluZyBvbmUgYmVmb3JlIGRpdmlkaW5nLgorCQkgKi8KKwkJbGVuID0gKGxlbiArIDEpIC8gMjsKKwkJLyoKKwkJICogRm9yIHZlcnkgc21hbGwgcmVwb3MsIHdlIHN0aWNrIHdpdGggb3VyIHJlZ3VsYXIgZmFsbGJhY2suCisJCSAqLworCQlpZiAobGVuIDwgRkFMTEJBQ0tfREVGQVVMVF9BQkJSRVYpCisJCQlsZW4gPSBGQUxMQkFDS19ERUZBVUxUX0FCQlJFVjsKKwl9CisKIAlzaGExX3RvX2hleF9yKGhleCwgc2hhMSk7CiAJaWYgKGxlbiA9PSA0MCB8fCAhbGVuKQogCQlyZXR1cm4gNDA7CkBAIC0zOTUsNyArNTA4LDEwIEBACiAKIGNvbnN0IGNoYXIgKmZpbmRfdW5pcXVlX2FiYnJldihjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBpbnQgbGVuKQogewotCXN0YXRpYyBjaGFyIGhleFtHSVRfU0hBMV9IRVhTWiArIDFdOworCXN0YXRpYyBpbnQgYnVmbm87CisJc3RhdGljIGNoYXIgaGV4YnVmZmVyWzRdW0dJVF9TSEExX0hFWFNaICsgMV07CisJY2hhciAqaGV4ID0gaGV4YnVmZmVyW2J1Zm5vXTsKKwlidWZubyA9IChidWZubyArIDEpICUgQVJSQVlfU0laRShoZXhidWZmZXIpOwogCWZpbmRfdW5pcXVlX2FiYnJldl9yKGhleCwgc2hhMSwgbGVuKTsKIAlyZXR1cm4gaGV4OwogfQpAQCAtNjc3LDEyICs3OTMsMTIgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbnQgcGVlbF9vbmlvbihjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuLCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIGludCBwZWVsX29uaW9uKGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4sIHVuc2lnbmVkIGNoYXIgKnNoYTEsCisJCSAgICAgIHVuc2lnbmVkIGxvb2t1cF9mbGFncykKIHsKIAl1bnNpZ25lZCBjaGFyIG91dGVyWzIwXTsKIAljb25zdCBjaGFyICpzcDsKIAl1bnNpZ25lZCBpbnQgZXhwZWN0ZWRfdHlwZSA9IDA7Ci0JdW5zaWduZWQgbG9va3VwX2ZsYWdzID0gMDsKIAlzdHJ1Y3Qgb2JqZWN0ICpvOwogCiAJLyoKQEAgLTcyMiwxMCArODM4LDExIEBACiAJZWxzZQogCQlyZXR1cm4gLTE7CiAKKwlsb29rdXBfZmxhZ3MgJj0gfkdFVF9TSEExX0RJU0FNQklHVUFUT1JTOwogCWlmIChleHBlY3RlZF90eXBlID09IE9CSl9DT01NSVQpCi0JCWxvb2t1cF9mbGFncyA9IEdFVF9TSEExX0NPTU1JVFRJU0g7CisJCWxvb2t1cF9mbGFncyB8PSBHRVRfU0hBMV9DT01NSVRUSVNIOwogCWVsc2UgaWYgKGV4cGVjdGVkX3R5cGUgPT0gT0JKX1RSRUUpCi0JCWxvb2t1cF9mbGFncyA9IEdFVF9TSEExX1RSRUVJU0g7CisJCWxvb2t1cF9mbGFncyB8PSBHRVRfU0hBMV9UUkVFSVNIOwogCiAJaWYgKGdldF9zaGExXzEobmFtZSwgc3AgLSBuYW1lIC0gMiwgb3V0ZXIsIGxvb2t1cF9mbGFncykpCiAJCXJldHVybiAtMTsKQEAgLTgyNiw3ICs5NDMsNyBAQAogCQlyZXR1cm4gZ2V0X250aF9hbmNlc3RvcihuYW1lLCBsZW4xLCBzaGExLCBudW0pOwogCX0KIAotCXJldCA9IHBlZWxfb25pb24obmFtZSwgbGVuLCBzaGExKTsKKwlyZXQgPSBwZWVsX29uaW9uKG5hbWUsIGxlbiwgc2hhMSwgbG9va3VwX2ZsYWdzKTsKIAlpZiAoIXJldCkKIAkJcmV0dXJuIDA7CiAKQEAgLTk5NSwzNSArMTExMiwzNSBAQAogCXJldHVybiByZXR2YWw7CiB9CiAKLWludCBnZXRfc2hhMV9tYihjb25zdCBjaGFyICpuYW1lLCB1bnNpZ25lZCBjaGFyICpzaGExKQoraW50IGdldF9vaWRfbWIoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXN0cnVjdCBjb21taXQgKm9uZSwgKnR3bzsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKm1iczsKLQl1bnNpZ25lZCBjaGFyIHNoYTFfdG1wWzIwXTsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZF90bXA7CiAJY29uc3QgY2hhciAqZG90czsKIAlpbnQgc3Q7CiAKIAlkb3RzID0gc3Ryc3RyKG5hbWUsICIuLi4iKTsKIAlpZiAoIWRvdHMpCi0JCXJldHVybiBnZXRfc2hhMShuYW1lLCBzaGExKTsKKwkJcmV0dXJuIGdldF9vaWQobmFtZSwgb2lkKTsKIAlpZiAoZG90cyA9PSBuYW1lKQotCQlzdCA9IGdldF9zaGExKCJIRUFEIiwgc2hhMV90bXApOworCQlzdCA9IGdldF9vaWQoIkhFQUQiLCAmb2lkX3RtcCk7CiAJZWxzZSB7CiAJCXN0cnVjdCBzdHJidWYgc2I7CiAJCXN0cmJ1Zl9pbml0KCZzYiwgZG90cyAtIG5hbWUpOwogCQlzdHJidWZfYWRkKCZzYiwgbmFtZSwgZG90cyAtIG5hbWUpOwotCQlzdCA9IGdldF9zaGExX2NvbW1pdHRpc2goc2IuYnVmLCBzaGExX3RtcCk7CisJCXN0ID0gZ2V0X3NoYTFfY29tbWl0dGlzaChzYi5idWYsIG9pZF90bXAuaGFzaCk7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiAJfQogCWlmIChzdCkKIAkJcmV0dXJuIHN0OwotCW9uZSA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShzaGExX3RtcCwgMCk7CisJb25lID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KG9pZF90bXAuaGFzaCwgMCk7CiAJaWYgKCFvbmUpCiAJCXJldHVybiAtMTsKIAotCWlmIChnZXRfc2hhMV9jb21taXR0aXNoKGRvdHNbM10gPyAoZG90cyArIDMpIDogIkhFQUQiLCBzaGExX3RtcCkpCisJaWYgKGdldF9zaGExX2NvbW1pdHRpc2goZG90c1szXSA/IChkb3RzICsgMykgOiAiSEVBRCIsIG9pZF90bXAuaGFzaCkpCiAJCXJldHVybiAtMTsKLQl0d28gPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkoc2hhMV90bXAsIDApOworCXR3byA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShvaWRfdG1wLmhhc2gsIDApOwogCWlmICghdHdvKQogCQlyZXR1cm4gLTE7CiAJbWJzID0gZ2V0X21lcmdlX2Jhc2VzKG9uZSwgdHdvKTsKQEAgLTEwMzEsNyArMTE0OCw3IEBACiAJCXN0ID0gLTE7CiAJZWxzZSB7CiAJCXN0ID0gMDsKLQkJaGFzaGNweShzaGExLCBtYnMtPml0ZW0tPm9iamVjdC5vaWQuaGFzaCk7CisJCW9pZGNweShvaWQsICZtYnMtPml0ZW0tPm9iamVjdC5vaWQpOwogCX0KIAlmcmVlX2NvbW1pdF9saXN0KG1icyk7CiAJcmV0dXJuIHN0OwpAQCAtMTM4Miw2ICsxNDk5LDkgQEAKIAljb25zdCBjaGFyICpjcDsKIAlpbnQgb25seV90b19kaWUgPSBmbGFncyAmIEdFVF9TSEExX09OTFlfVE9fRElFOwogCisJaWYgKG9ubHlfdG9fZGllKQorCQlmbGFncyB8PSBHRVRfU0hBMV9RVUlFVExZOworCiAJbWVtc2V0KG9jLCAwLCBzaXplb2YoKm9jKSk7CiAJb2MtPm1vZGUgPSBTX0lGSU5WQUxJRDsKIAlyZXQgPSBnZXRfc2hhMV8xKG5hbWUsIG5hbWVsZW4sIHNoYTEsIGZsYWdzKTsKQEAgLTE0MzUsNyArMTU1NSw3IEBACiAJCQkgICAgbWVtY21wKGNlLT5uYW1lLCBjcCwgbmFtZWxlbikpCiAJCQkJYnJlYWs7CiAJCQlpZiAoY2Vfc3RhZ2UoY2UpID09IHN0YWdlKSB7Ci0JCQkJaGFzaGNweShzaGExLCBjZS0+c2hhMSk7CisJCQkJaGFzaGNweShzaGExLCBjZS0+b2lkLmhhc2gpOwogCQkJCW9jLT5tb2RlID0gY2UtPmNlX21vZGU7CiAJCQkJZnJlZShuZXdfcGF0aCk7CiAJCQkJcmV0dXJuIDA7CkBAIC0xNDU4LDcgKzE1NzgsMTIgQEAKIAlpZiAoKmNwID09ICc6JykgewogCQl1bnNpZ25lZCBjaGFyIHRyZWVfc2hhMVsyMF07CiAJCWludCBsZW4gPSBjcCAtIG5hbWU7Ci0JCWlmICghZ2V0X3NoYTFfMShuYW1lLCBsZW4sIHRyZWVfc2hhMSwgR0VUX1NIQTFfVFJFRUlTSCkpIHsKKwkJdW5zaWduZWQgc3ViX2ZsYWdzID0gZmxhZ3M7CisKKwkJc3ViX2ZsYWdzICY9IH5HRVRfU0hBMV9ESVNBTUJJR1VBVE9SUzsKKwkJc3ViX2ZsYWdzIHw9IEdFVF9TSEExX1RSRUVJU0g7CisKKwkJaWYgKCFnZXRfc2hhMV8xKG5hbWUsIGxlbiwgdHJlZV9zaGExLCBzdWJfZmxhZ3MpKSB7CiAJCQljb25zdCBjaGFyICpmaWxlbmFtZSA9IGNwKzE7CiAJCQljaGFyICpuZXdfZmlsZW5hbWUgPSBOVUxMOwogCmRpZmYgLS1naXQgYS9zaGFsbG93LmMgYi9zaGFsbG93LmMKaW5kZXggNGQ1NTRjYS4uNGQwYjAwNSAxMDA2NDQKLS0tIGEvc2hhbGxvdy5jCisrKyBiL3NoYWxsb3cuYwpAQCAtMTAsNiArMTAsOCBAQAogI2luY2x1ZGUgImRpZmYuaCIKICNpbmNsdWRlICJyZXZpc2lvbi5oIgogI2luY2x1ZGUgImNvbW1pdC1zbGFiLmgiCisjaW5jbHVkZSAicmV2aXNpb24uaCIKKyNpbmNsdWRlICJsaXN0LW9iamVjdHMuaCIKIAogc3RhdGljIGludCBpc19zaGFsbG93ID0gLTE7CiBzdGF0aWMgc3RydWN0IHN0YXRfdmFsaWRpdHkgc2hhbGxvd19zdGF0OwpAQCAtMTM3LDYgKzEzOSw4MiBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKK3N0YXRpYyB2b2lkIHNob3dfY29tbWl0KHN0cnVjdCBjb21taXQgKmNvbW1pdCwgdm9pZCAqZGF0YSkKK3sKKwljb21taXRfbGlzdF9pbnNlcnQoY29tbWl0LCBkYXRhKTsKK30KKworLyoKKyAqIEdpdmVuIHJldi1saXN0IGFyZ3VtZW50cywgcnVuIHJldi1saXN0LiBBbGwgcmVhY2hhYmxlIGNvbW1pdHMKKyAqIGV4Y2VwdCBib3JkZXIgb25lcyBhcmUgbWFya2VkIHdpdGggbm90X3NoYWxsb3dfZmxhZy4gQm9yZGVyIGNvbW1pdHMKKyAqIGFyZSBtYXJrZWQgd2l0aCBzaGFsbG93X2ZsYWcuIFRoZSBsaXN0IG9mIGJvcmRlci9zaGFsbG93IGNvbW1pdHMKKyAqIGFyZSBhbHNvIHJldHVybmVkLgorICovCitzdHJ1Y3QgY29tbWl0X2xpc3QgKmdldF9zaGFsbG93X2NvbW1pdHNfYnlfcmV2X2xpc3QoaW50IGFjLCBjb25zdCBjaGFyICoqYXYsCisJCQkJCQkgICAgaW50IHNoYWxsb3dfZmxhZywKKwkJCQkJCSAgICBpbnQgbm90X3NoYWxsb3dfZmxhZykKK3sKKwlzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlc3VsdCA9IE5VTEwsICpwOworCXN0cnVjdCBjb21taXRfbGlzdCAqbm90X3NoYWxsb3dfbGlzdCA9IE5VTEw7CisJc3RydWN0IHJldl9pbmZvIHJldnM7CisJaW50IGJvdGhfZmxhZ3MgPSBzaGFsbG93X2ZsYWcgfCBub3Rfc2hhbGxvd19mbGFnOworCisJLyoKKwkgKiBTSEFMTE9XIChleGNsdWRlZCkgYW5kIE5PVF9TSEFMTE9XIChpbmNsdWRlZCkgc2hvdWxkIG5vdCBiZQorCSAqIHNldCBhdCB0aGlzIHBvaW50LiBCdXQgYmV0dGVyIGJlIHNhZmUgdGhhbiBzb3JyeS4KKwkgKi8KKwljbGVhcl9vYmplY3RfZmxhZ3MoYm90aF9mbGFncyk7CisKKwlpc19yZXBvc2l0b3J5X3NoYWxsb3coKTsgLyogbWFrZSBzdXJlIHNoYWxsb3dzIGFyZSByZWFkICovCisKKwlpbml0X3JldmlzaW9ucygmcmV2cywgTlVMTCk7CisJc2F2ZV9jb21taXRfYnVmZmVyID0gMDsKKwlzZXR1cF9yZXZpc2lvbnMoYWMsIGF2LCAmcmV2cywgTlVMTCk7CisKKwlpZiAocHJlcGFyZV9yZXZpc2lvbl93YWxrKCZyZXZzKSkKKwkJZGllKCJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIpOworCXRyYXZlcnNlX2NvbW1pdF9saXN0KCZyZXZzLCBzaG93X2NvbW1pdCwgTlVMTCwgJm5vdF9zaGFsbG93X2xpc3QpOworCisJLyogTWFyayBhbGwgcmVhY2hhYmxlIGNvbW1pdHMgYXMgTk9UX1NIQUxMT1cgKi8KKwlmb3IgKHAgPSBub3Rfc2hhbGxvd19saXN0OyBwOyBwID0gcC0+bmV4dCkKKwkJcC0+aXRlbS0+b2JqZWN0LmZsYWdzIHw9IG5vdF9zaGFsbG93X2ZsYWc7CisKKwkvKgorCSAqIG1hcmsgYm9yZGVyIGNvbW1pdHMgU0hBTExPVyArIE5PVF9TSEFMTE9XLgorCSAqIFdlIGNhbm5vdCBjbGVhciBOT1RfU0hBTExPVyByaWdodCBub3cuIEltYWdpbmUgYm9yZGVyCisJICogY29tbWl0IEEgaXMgcHJvY2Vzc2VkIGZpcnN0LCB0aGVuIGNvbW1pdCBCLCB3aG9zZSBwYXJlbnQgaXMKKwkgKiBBLCBsYXRlci4gSWYgTk9UX1NIQUxMT1cgb24gQSBpcyBjbGVhcmVkIGF0IHN0ZXAgMSwgQgorCSAqIGl0c2VsZiBpcyBjb25zaWRlcmVkIGJvcmRlciBhdCBzdGVwIDIsIHdoaWNoIGlzIGluY29ycmVjdC4KKwkgKi8KKwlmb3IgKHAgPSBub3Rfc2hhbGxvd19saXN0OyBwOyBwID0gcC0+bmV4dCkgeworCQlzdHJ1Y3QgY29tbWl0ICpjID0gcC0+aXRlbTsKKwkJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnQ7CisKKwkJaWYgKHBhcnNlX2NvbW1pdChjKSkKKwkJCWRpZSgidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIsCisJCQkgICAgb2lkX3RvX2hleCgmYy0+b2JqZWN0Lm9pZCkpOworCisJCWZvciAocGFyZW50ID0gYy0+cGFyZW50czsgcGFyZW50OyBwYXJlbnQgPSBwYXJlbnQtPm5leHQpCisJCQlpZiAoIShwYXJlbnQtPml0ZW0tPm9iamVjdC5mbGFncyAmIG5vdF9zaGFsbG93X2ZsYWcpKSB7CisJCQkJYy0+b2JqZWN0LmZsYWdzIHw9IHNoYWxsb3dfZmxhZzsKKwkJCQljb21taXRfbGlzdF9pbnNlcnQoYywgJnJlc3VsdCk7CisJCQkJYnJlYWs7CisJCQl9CisJfQorCWZyZWVfY29tbWl0X2xpc3Qobm90X3NoYWxsb3dfbGlzdCk7CisKKwkvKgorCSAqIE5vdyB3ZSBjYW4gY2xlYW4gdXAgTk9UX1NIQUxMT1cgb24gYm9yZGVyIGNvbW1pdHMuIEhhdmluZworCSAqIGJvdGggZmxhZ3Mgc2V0IGNhbiBjb25mdXNlIHRoZSBjYWxsZXIuCisJICovCisJZm9yIChwID0gcmVzdWx0OyBwOyBwID0gcC0+bmV4dCkgeworCQlzdHJ1Y3Qgb2JqZWN0ICpvID0gJnAtPml0ZW0tPm9iamVjdDsKKwkJaWYgKChvLT5mbGFncyAmIGJvdGhfZmxhZ3MpID09IGJvdGhfZmxhZ3MpCisJCQlvLT5mbGFncyAmPSB+bm90X3NoYWxsb3dfZmxhZzsKKwl9CisJcmV0dXJuIHJlc3VsdDsKK30KKwogc3RhdGljIHZvaWQgY2hlY2tfc2hhbGxvd19maWxlX2Zvcl91cGRhdGUodm9pZCkKIHsKIAlpZiAoaXNfc2hhbGxvdyA9PSAtMSkKQEAgLTI2MCw3ICszMzgsNyBAQAogewogCWludCBmZCA9ICooaW50ICopY2I7CiAJaWYgKGdyYWZ0LT5ucl9wYXJlbnQgPT0gLTEpCi0JCXBhY2tldF93cml0ZShmZCwgInNoYWxsb3cgJXNcbiIsIG9pZF90b19oZXgoJmdyYWZ0LT5vaWQpKTsKKwkJcGFja2V0X3dyaXRlX2ZtdChmZCwgInNoYWxsb3cgJXNcbiIsIG9pZF90b19oZXgoJmdyYWZ0LT5vaWQpKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMzg5LDcgKzQ2Nyw3IEBACiAJdW5zaWduZWQgaW50IGksIG5yOwogCXN0cnVjdCBjb21taXRfbGlzdCAqaGVhZCA9IE5VTEw7CiAJaW50IGJpdG1hcF9uciA9IChpbmZvLT5ucl9iaXRzICsgMzEpIC8gMzI7Ci0Jc2l6ZV90IGJpdG1hcF9zaXplID0gc3RfbXVsdChiaXRtYXBfbnIsIHNpemVvZih1aW50MzJfdCkpOworCXNpemVfdCBiaXRtYXBfc2l6ZSA9IHN0X211bHQoc2l6ZW9mKHVpbnQzMl90KSwgYml0bWFwX25yKTsKIAl1aW50MzJfdCAqdG1wID0geG1hbGxvYyhiaXRtYXBfc2l6ZSk7IC8qIHRvIGJlIGZyZWVkIGJlZm9yZSByZXR1cm4gKi8KIAl1aW50MzJfdCAqYml0bWFwID0gcGFpbnRfYWxsb2MoaW5mbyk7CiAJc3RydWN0IGNvbW1pdCAqYyA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShzaGExLCAxKTsKZGlmZiAtLWdpdCBhL3Nob3J0bG9nLmggYi9zaG9ydGxvZy5oCmluZGV4IGRlNGY4NmYuLjVhMzI2YzYgMTAwNjQ0Ci0tLSBhL3Nob3J0bG9nLmgKKysrIGIvc2hvcnRsb2cuaApAQCAtMTcsNiArMTcsNyBAQAogCWNoYXIgKmNvbW1vbl9yZXBvX3ByZWZpeDsKIAlpbnQgZW1haWw7CiAJc3RydWN0IHN0cmluZ19saXN0IG1haWxtYXA7CisJRklMRSAqZmlsZTsKIH07CiAKIHZvaWQgc2hvcnRsb2dfaW5pdChzdHJ1Y3Qgc2hvcnRsb2cgKmxvZyk7CmRpZmYgLS1naXQgYS9zaWRlYmFuZC5jIGIvc2lkZWJhbmQuYwppbmRleCBmZGU4YWRjLi4xZTRkNjg0IDEwMDY0NAotLS0gYS9zaWRlYmFuZC5jCisrKyBiL3NpZGViYW5kLmMKQEAgLTEzLDEyMCArMTMsMTAzIEBACiAgKiB0aGUgcmVtb3RlIGRpZWQgdW5leHBlY3RlZGx5LiAgQSBmbHVzaCgpIGNvbmNsdWRlcyB0aGUgc3RyZWFtLgogICovCiAKLSNkZWZpbmUgUFJFRklYICJyZW1vdGU6IgorI2RlZmluZSBQUkVGSVggInJlbW90ZTogIgogCiAjZGVmaW5lIEFOU0lfU1VGRklYICJcMDMzW0siCiAjZGVmaW5lIERVTUJfU1VGRklYICIgICAgICAgICIKIAotI2RlZmluZSBGSVhfU0laRSAxMCAgLyogbGFyZ2UgZW5vdWdoIGZvciBhbnkgb2YgdGhlIGFib3ZlICovCi0KIGludCByZWN2X3NpZGViYW5kKGNvbnN0IGNoYXIgKm1lLCBpbnQgaW5fc3RyZWFtLCBpbnQgb3V0KQogewotCXVuc2lnbmVkIHBmID0gc3RybGVuKFBSRUZJWCk7Ci0JdW5zaWduZWQgc2Y7Ci0JY2hhciBidWZbTEFSR0VfUEFDS0VUX01BWCArIDIqRklYX1NJWkVdOwotCWNoYXIgKnN1ZmZpeCwgKnRlcm07Ci0JaW50IHNraXBfcGYgPSAwOworCWNvbnN0IGNoYXIgKnRlcm0sICpzdWZmaXg7CisJY2hhciBidWZbTEFSR0VfUEFDS0VUX01BWCArIDFdOworCXN0cnVjdCBzdHJidWYgb3V0YnVmID0gU1RSQlVGX0lOSVQ7CisJaW50IHJldHZhbCA9IDA7CiAKLQltZW1jcHkoYnVmLCBQUkVGSVgsIHBmKTsKIAl0ZXJtID0gZ2V0ZW52KCJURVJNIik7CiAJaWYgKGlzYXR0eSgyKSAmJiB0ZXJtICYmIHN0cmNtcCh0ZXJtLCAiZHVtYiIpKQogCQlzdWZmaXggPSBBTlNJX1NVRkZJWDsKIAllbHNlCiAJCXN1ZmZpeCA9IERVTUJfU1VGRklYOwotCXNmID0gc3RybGVuKHN1ZmZpeCk7CiAKLQl3aGlsZSAoMSkgeworCXdoaWxlICghcmV0dmFsKSB7CisJCWNvbnN0IGNoYXIgKmIsICpicms7CiAJCWludCBiYW5kLCBsZW47Ci0JCWxlbiA9IHBhY2tldF9yZWFkKGluX3N0cmVhbSwgTlVMTCwgTlVMTCwgYnVmICsgcGYsIExBUkdFX1BBQ0tFVF9NQVgsIDApOworCQlsZW4gPSBwYWNrZXRfcmVhZChpbl9zdHJlYW0sIE5VTEwsIE5VTEwsIGJ1ZiwgTEFSR0VfUEFDS0VUX01BWCwgMCk7CiAJCWlmIChsZW4gPT0gMCkKIAkJCWJyZWFrOwogCQlpZiAobGVuIDwgMSkgewotCQkJZnByaW50ZihzdGRlcnIsICIlczogcHJvdG9jb2wgZXJyb3I6IG5vIGJhbmQgZGVzaWduYXRvclxuIiwgbWUpOwotCQkJcmV0dXJuIFNJREVCQU5EX1BST1RPQ09MX0VSUk9SOworCQkJc3RyYnVmX2FkZGYoJm91dGJ1ZiwKKwkJCQkgICAgIiVzJXM6IHByb3RvY29sIGVycm9yOiBubyBiYW5kIGRlc2lnbmF0b3IiLAorCQkJCSAgICBvdXRidWYubGVuID8gIlxuIiA6ICIiLCBtZSk7CisJCQlyZXR2YWwgPSBTSURFQkFORF9QUk9UT0NPTF9FUlJPUjsKKwkJCWJyZWFrOwogCQl9Ci0JCWJhbmQgPSBidWZbcGZdICYgMHhmZjsKKwkJYmFuZCA9IGJ1ZlswXSAmIDB4ZmY7CisJCWJ1ZltsZW5dID0gJ1wwJzsKIAkJbGVuLS07CiAJCXN3aXRjaCAoYmFuZCkgewogCQljYXNlIDM6Ci0JCQlidWZbcGZdID0gJyAnOwotCQkJYnVmW3BmKzErbGVuXSA9ICdcMCc7Ci0JCQlmcHJpbnRmKHN0ZGVyciwgIiVzXG4iLCBidWYpOwotCQkJcmV0dXJuIFNJREVCQU5EX1JFTU9URV9FUlJPUjsKKwkJCXN0cmJ1Zl9hZGRmKCZvdXRidWYsICIlcyVzJXMiLCBvdXRidWYubGVuID8gIlxuIiA6ICIiLAorCQkJCSAgICBQUkVGSVgsIGJ1ZiArIDEpOworCQkJcmV0dmFsID0gU0lERUJBTkRfUkVNT1RFX0VSUk9SOworCQkJYnJlYWs7CiAJCWNhc2UgMjoKLQkJCWJ1ZltwZl0gPSAnICc7Ci0JCQlkbyB7Ci0JCQkJY2hhciAqYiA9IGJ1ZjsKLQkJCQlpbnQgYnJrID0gMDsKKwkJCWIgPSBidWYgKyAxOwogCi0JCQkJLyoKLQkJCQkgKiBJZiB0aGUgbGFzdCBidWZmZXIgZGlkbid0IGVuZCB3aXRoIGEgbGluZQotCQkJCSAqIGJyZWFrIHRoZW4gd2Ugc2hvdWxkIG5vdCBwcmludCBhIHByZWZpeAotCQkJCSAqIHRoaXMgdGltZSBhcm91bmQuCi0JCQkJICovCi0JCQkJaWYgKHNraXBfcGYpIHsKLQkJCQkJYiArPSBwZisxOworCQkJLyoKKwkJCSAqIEFwcGVuZCBhIHN1ZmZpeCB0byBlYWNoIG5vbmVtcHR5IGxpbmUgdG8gY2xlYXIgdGhlCisJCQkgKiBlbmQgb2YgdGhlIHNjcmVlbiBsaW5lLgorCQkJICoKKwkJCSAqIFRoZSBvdXRwdXQgaXMgYWNjdW11bGF0ZWQgaW4gYSBidWZmZXIgYW5kCisJCQkgKiBlYWNoIGxpbmUgaXMgcHJpbnRlZCB0byBzdGRlcnIgdXNpbmcKKwkJCSAqIHdyaXRlKDIpIHRvIGVuc3VyZSBpbnRlci1wcm9jZXNzIGF0b21pY2l0eS4KKwkJCSAqLworCQkJd2hpbGUgKChicmsgPSBzdHJwYnJrKGIsICJcblxyIikpKSB7CisJCQkJaW50IGxpbmVsZW4gPSBicmsgLSBiOworCisJCQkJaWYgKCFvdXRidWYubGVuKQorCQkJCQlzdHJidWZfYWRkc3RyKCZvdXRidWYsIFBSRUZJWCk7CisJCQkJaWYgKGxpbmVsZW4gPiAwKSB7CisJCQkJCXN0cmJ1Zl9hZGRmKCZvdXRidWYsICIlLipzJXMlYyIsCisJCQkJCQkgICAgbGluZWxlbiwgYiwgc3VmZml4LCAqYnJrKTsKIAkJCQl9IGVsc2UgewotCQkJCQlsZW4gKz0gcGYrMTsKLQkJCQkJYnJrICs9IHBmKzE7CisJCQkJCXN0cmJ1Zl9hZGRjaCgmb3V0YnVmLCAqYnJrKTsKIAkJCQl9CisJCQkJeHdyaXRlKDIsIG91dGJ1Zi5idWYsIG91dGJ1Zi5sZW4pOworCQkJCXN0cmJ1Zl9yZXNldCgmb3V0YnVmKTsKIAotCQkJCS8qIExvb2sgZm9yIGEgbGluZSBicmVhay4gKi8KLQkJCQlmb3IgKDs7KSB7Ci0JCQkJCWJyaysrOwotCQkJCQlpZiAoYnJrID4gbGVuKSB7Ci0JCQkJCQlicmsgPSAwOwotCQkJCQkJYnJlYWs7Ci0JCQkJCX0KLQkJCQkJaWYgKGJbYnJrLTFdID09ICdcbicgfHwKLQkJCQkJICAgIGJbYnJrLTFdID09ICdccicpCi0JCQkJCQlicmVhazsKLQkJCQl9CisJCQkJYiA9IGJyayArIDE7CisJCQl9CiAKLQkJCQkvKgotCQkJCSAqIExldCdzIGluc2VydCBhIHN1ZmZpeCB0byBjbGVhciB0aGUgZW5kCi0JCQkJICogb2YgdGhlIHNjcmVlbiBsaW5lIGlmIGEgbGluZSBicmVhayB3YXMKLQkJCQkgKiBmb3VuZC4gIEFsc28sIGlmIHdlIGRvbid0IHNraXAgdGhlCi0JCQkJICogcHJlZml4LCB0aGVuIGEgbm9uLWVtcHR5IHN0cmluZyBtdXN0IGJlCi0JCQkJICogcHJlc2VudCB0b28uCi0JCQkJICovCi0JCQkJaWYgKGJyayA+IChza2lwX3BmID8gMCA6IChwZisxICsgMSkpKSB7Ci0JCQkJCWNoYXIgc2F2ZVtGSVhfU0laRV07Ci0JCQkJCW1lbWNweShzYXZlLCBiICsgYnJrLCBzZik7Ci0JCQkJCWJbYnJrICsgc2YgLSAxXSA9IGJbYnJrIC0gMV07Ci0JCQkJCW1lbWNweShiICsgYnJrIC0gMSwgc3VmZml4LCBzZik7Ci0JCQkJCWZwcmludGYoc3RkZXJyLCAiJS4qcyIsIGJyayArIHNmLCBiKTsKLQkJCQkJbWVtY3B5KGIgKyBicmssIHNhdmUsIHNmKTsKLQkJCQkJbGVuIC09IGJyazsKLQkJCQl9IGVsc2UgewotCQkJCQlpbnQgbCA9IGJyayA/IGJyayA6IGxlbjsKLQkJCQkJZnByaW50ZihzdGRlcnIsICIlLipzIiwgbCwgYik7Ci0JCQkJCWxlbiAtPSBsOwotCQkJCX0KLQotCQkJCXNraXBfcGYgPSAhYnJrOwotCQkJCW1lbW1vdmUoYnVmICsgcGYrMSwgYiArIGJyaywgbGVuKTsKLQkJCX0gd2hpbGUgKGxlbik7Ci0JCQljb250aW51ZTsKKwkJCWlmICgqYikKKwkJCQlzdHJidWZfYWRkZigmb3V0YnVmLCAiJXMlcyIsCisJCQkJCSAgICBvdXRidWYubGVuID8gIiIgOiBQUkVGSVgsIGIpOworCQkJYnJlYWs7CiAJCWNhc2UgMToKLQkJCXdyaXRlX29yX2RpZShvdXQsIGJ1ZiArIHBmKzEsIGxlbik7Ci0JCQljb250aW51ZTsKKwkJCXdyaXRlX29yX2RpZShvdXQsIGJ1ZiArIDEsIGxlbik7CisJCQlicmVhazsKIAkJZGVmYXVsdDoKLQkJCWZwcmludGYoc3RkZXJyLCAiJXM6IHByb3RvY29sIGVycm9yOiBiYWQgYmFuZCAjJWRcbiIsCi0JCQkJbWUsIGJhbmQpOwotCQkJcmV0dXJuIFNJREVCQU5EX1BST1RPQ09MX0VSUk9SOworCQkJc3RyYnVmX2FkZGYoJm91dGJ1ZiwgIiVzJXM6IHByb3RvY29sIGVycm9yOiBiYWQgYmFuZCAjJWQiLAorCQkJCSAgICBvdXRidWYubGVuID8gIlxuIiA6ICIiLCBtZSwgYmFuZCk7CisJCQlyZXR2YWwgPSBTSURFQkFORF9QUk9UT0NPTF9FUlJPUjsKKwkJCWJyZWFrOwogCQl9CiAJfQotCXJldHVybiAwOworCisJaWYgKG91dGJ1Zi5sZW4pIHsKKwkJc3RyYnVmX2FkZGNoKCZvdXRidWYsICdcbicpOworCQl4d3JpdGUoMiwgb3V0YnVmLmJ1Ziwgb3V0YnVmLmxlbik7CisJfQorCXN0cmJ1Zl9yZWxlYXNlKCZvdXRidWYpOworCXJldHVybiByZXR2YWw7CiB9CiAKIC8qCiAgKiBmZCBpcyBjb25uZWN0ZWQgdG8gdGhlIHJlbW90ZSBzaWRlOyBzZW5kIHRoZSBzaWRlYmFuZCBkYXRhCiAgKiBvdmVyIG11bHRpcGxleGVkIHBhY2tldCBzdHJlYW0uCiAgKi8KLXNzaXplX3Qgc2VuZF9zaWRlYmFuZChpbnQgZmQsIGludCBiYW5kLCBjb25zdCBjaGFyICpkYXRhLCBzc2l6ZV90IHN6LCBpbnQgcGFja2V0X21heCkKK3ZvaWQgc2VuZF9zaWRlYmFuZChpbnQgZmQsIGludCBiYW5kLCBjb25zdCBjaGFyICpkYXRhLCBzc2l6ZV90IHN6LCBpbnQgcGFja2V0X21heCkKIHsKLQlzc2l6ZV90IHNzeiA9IHN6OwogCWNvbnN0IGNoYXIgKnAgPSBkYXRhOwogCiAJd2hpbGUgKHN6KSB7CkBAIC0xNDgsNSArMTMxLDQgQEAKIAkJcCArPSBuOwogCQlzeiAtPSBuOwogCX0KLQlyZXR1cm4gc3N6OwogfQpkaWZmIC0tZ2l0IGEvc2lkZWJhbmQuaCBiL3NpZGViYW5kLmgKaW5kZXggZTQ2YmVkMC4uN2E4MTQ2ZiAxMDA2NDQKLS0tIGEvc2lkZWJhbmQuaAorKysgYi9zaWRlYmFuZC5oCkBAIC01LDYgKzUsNiBAQAogI2RlZmluZSBTSURFQkFORF9SRU1PVEVfRVJST1IgLTEKIAogaW50IHJlY3Zfc2lkZWJhbmQoY29uc3QgY2hhciAqbWUsIGludCBpbl9zdHJlYW0sIGludCBvdXQpOwotc3NpemVfdCBzZW5kX3NpZGViYW5kKGludCBmZCwgaW50IGJhbmQsIGNvbnN0IGNoYXIgKmRhdGEsIHNzaXplX3Qgc3osIGludCBwYWNrZXRfbWF4KTsKK3ZvaWQgc2VuZF9zaWRlYmFuZChpbnQgZmQsIGludCBiYW5kLCBjb25zdCBjaGFyICpkYXRhLCBzc2l6ZV90IHN6LCBpbnQgcGFja2V0X21heCk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3BsaXQtaW5kZXguYyBiL3NwbGl0LWluZGV4LmMKaW5kZXggM2M3NWQ0Yi4uNjE1ZjRjYSAxMDA2NDQKLS0tIGEvc3BsaXQtaW5kZXguYworKysgYi9zcGxpdC1pbmRleC5jCkBAIC04Myw4ICs4Myw3IEBACiAJc2ktPmJhc2UtPnRpbWVzdGFtcCA9IGlzdGF0ZS0+dGltZXN0YW1wOwogCUFMTE9DX0dST1coc2ktPmJhc2UtPmNhY2hlLCBpc3RhdGUtPmNhY2hlX25yLCBzaS0+YmFzZS0+Y2FjaGVfYWxsb2MpOwogCXNpLT5iYXNlLT5jYWNoZV9uciA9IGlzdGF0ZS0+Y2FjaGVfbnI7Ci0JbWVtY3B5KHNpLT5iYXNlLT5jYWNoZSwgaXN0YXRlLT5jYWNoZSwKLQkgICAgICAgc2l6ZW9mKCppc3RhdGUtPmNhY2hlKSAqIGlzdGF0ZS0+Y2FjaGVfbnIpOworCUNPUFlfQVJSQVkoc2ktPmJhc2UtPmNhY2hlLCBpc3RhdGUtPmNhY2hlLCBpc3RhdGUtPmNhY2hlX25yKTsKIAltYXJrX2Jhc2VfaW5kZXhfZW50cmllcyhzaS0+YmFzZSk7CiAJZm9yIChpID0gMDsgaSA8IHNpLT5iYXNlLT5jYWNoZV9ucjsgaSsrKQogCQlzaS0+YmFzZS0+Y2FjaGVbaV0tPmNlX2ZsYWdzICY9IH5DRV9VUERBVEVfSU5fQkFTRTsKQEAgLTE0MSw4ICsxNDAsNyBAQAogCWlzdGF0ZS0+Y2FjaGUJICAgID0gTlVMTDsKIAlpc3RhdGUtPmNhY2hlX2FsbG9jID0gMDsKIAlBTExPQ19HUk9XKGlzdGF0ZS0+Y2FjaGUsIGlzdGF0ZS0+Y2FjaGVfbnIsIGlzdGF0ZS0+Y2FjaGVfYWxsb2MpOwotCW1lbWNweShpc3RhdGUtPmNhY2hlLCBzaS0+YmFzZS0+Y2FjaGUsCi0JICAgICAgIHNpemVvZigqaXN0YXRlLT5jYWNoZSkgKiBpc3RhdGUtPmNhY2hlX25yKTsKKwlDT1BZX0FSUkFZKGlzdGF0ZS0+Y2FjaGUsIHNpLT5iYXNlLT5jYWNoZSwgaXN0YXRlLT5jYWNoZV9ucik7CiAKIAlzaS0+bnJfZGVsZXRpb25zID0gMDsKIAlzaS0+bnJfcmVwbGFjZW1lbnRzID0gMDsKQEAgLTE4OSw3ICsxODcsNyBAQAogCQkvKiBHbyB0aHJvdWdoIGlzdGF0ZS0+Y2FjaGVbXSBhbmQgbWFyayBDRV9NQVRDSEVEIHRvCiAJCSAqIGVudHJ5IHdpdGggcG9zaXRpdmUgaW5kZXguIFdlJ2xsIGdvIHRocm91Z2gKIAkJICogYmFzZS0+Y2FjaGVbXSBsYXRlciB0byBkZWxldGUgYWxsIGVudHJpZXMgaW4gYmFzZQotCQkgKiB0aGF0IGFyZSBub3QgbWFya2VkIGVpdGggZWl0aGVyIENFX01BVENIRUQgb3IKKwkJICogdGhhdCBhcmUgbm90IG1hcmtlZCB3aXRoIGVpdGhlciBDRV9NQVRDSEVEIG9yCiAJCSAqIENFX1VQREFURV9JTl9CQVNFLiBJZiBpc3RhdGUtPmNhY2hlW2ldIGlzIGEKIAkJICogZHVwbGljYXRlLCBkZWR1cGxpY2F0ZSBpdC4KIAkJICovCmRpZmYgLS1naXQgYS9zdHJidWYuYyBiL3N0cmJ1Zi5jCmluZGV4IDFiYTYwMGIuLjhmZWM2NTcgMTAwNjQ0Ci0tLSBhL3N0cmJ1Zi5jCisrKyBiL3N0cmJ1Zi5jCkBAIC0xODcsNyArMTg3LDcgQEAKIAogdm9pZCBzdHJidWZfcmVtb3ZlKHN0cnVjdCBzdHJidWYgKnNiLCBzaXplX3QgcG9zLCBzaXplX3QgbGVuKQogewotCXN0cmJ1Zl9zcGxpY2Uoc2IsIHBvcywgbGVuLCBOVUxMLCAwKTsKKwlzdHJidWZfc3BsaWNlKHNiLCBwb3MsIGxlbiwgIiIsIDApOwogfQogCiB2b2lkIHN0cmJ1Zl9hZGQoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4pCkBAIC0xOTcsNiArMTk3LDEzIEBACiAJc3RyYnVmX3NldGxlbihzYiwgc2ItPmxlbiArIGxlbik7CiB9CiAKK3ZvaWQgc3RyYnVmX2FkZGJ1ZihzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3Qgc3RydWN0IHN0cmJ1ZiAqc2IyKQoreworCXN0cmJ1Zl9ncm93KHNiLCBzYjItPmxlbik7CisJbWVtY3B5KHNiLT5idWYgKyBzYi0+bGVuLCBzYjItPmJ1Ziwgc2IyLT5sZW4pOworCXN0cmJ1Zl9zZXRsZW4oc2IsIHNiLT5sZW4gKyBzYjItPmxlbik7Cit9CisKIHZvaWQgc3RyYnVmX2FkZGR1cChzdHJ1Y3Qgc3RyYnVmICpzYiwgc2l6ZV90IHBvcywgc2l6ZV90IGxlbikKIHsKIAlzdHJidWZfZ3JvdyhzYiwgbGVuKTsKQEAgLTg2MywzICs4NzAsMjMgQEAKIAogCXN0cmJ1Zl9zZXRsZW4oc2IsIGopOwogfQorCitpbnQgc3RyYnVmX25vcm1hbGl6ZV9wYXRoKHN0cnVjdCBzdHJidWYgKnNyYykKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGRzdCA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX2dyb3coJmRzdCwgc3JjLT5sZW4pOworCWlmIChub3JtYWxpemVfcGF0aF9jb3B5KGRzdC5idWYsIHNyYy0+YnVmKSA8IDApIHsKKwkJc3RyYnVmX3JlbGVhc2UoJmRzdCk7CisJCXJldHVybiAtMTsKKwl9CisKKwkvKgorCSAqIG5vcm1hbGl6ZV9wYXRoIGRvZXMgbm90IHRlbGwgdXMgdGhlIG5ldyBsZW5ndGgsIHNvIHdlIGhhdmUgdG8KKwkgKiBjb21wdXRlIGl0IGJ5IGxvb2tpbmcgZm9yIHRoZSBuZXcgTlVMIGl0IHBsYWNlZAorCSAqLworCXN0cmJ1Zl9zZXRsZW4oJmRzdCwgc3RybGVuKGRzdC5idWYpKTsKKwlzdHJidWZfc3dhcChzcmMsICZkc3QpOworCXN0cmJ1Zl9yZWxlYXNlKCZkc3QpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvc3RyYnVmLmggYi9zdHJidWYuaAppbmRleCA3OTg3NDA1Li4yMjYyYjEyIDEwMDY0NAotLS0gYS9zdHJidWYuaAorKysgYi9zdHJidWYuaApAQCAtMjYzLDExICsyNjMsNyBAQAogLyoqCiAgKiBDb3B5IHRoZSBjb250ZW50cyBvZiBhbm90aGVyIGJ1ZmZlciBhdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IG9uZS4KICAqLwotc3RhdGljIGlubGluZSB2b2lkIHN0cmJ1Zl9hZGRidWYoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IHN0cnVjdCBzdHJidWYgKnNiMikKLXsKLQlzdHJidWZfZ3JvdyhzYiwgc2IyLT5sZW4pOwotCXN0cmJ1Zl9hZGQoc2IsIHNiMi0+YnVmLCBzYjItPmxlbik7Ci19CitleHRlcm4gdm9pZCBzdHJidWZfYWRkYnVmKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBzdHJ1Y3Qgc3RyYnVmICpzYjIpOwogCiAvKioKICAqIENvcHkgcGFydCBvZiB0aGUgYnVmZmVyIGZyb20gYSBnaXZlbiBwb3NpdGlvbiB0aWxsIGEgZ2l2ZW4gbGVuZ3RoIHRvIHRoZQpAQCAtMzc3LDYgKzM3Myw4IEBACiAvKioKICAqIFJlYWQgdGhlIGNvbnRlbnRzIG9mIGEgZmlsZSwgc3BlY2lmaWVkIGJ5IGl0cyBwYXRoLiBUaGUgdGhpcmQgYXJndW1lbnQKICAqIGNhbiBiZSB1c2VkIHRvIGdpdmUgYSBoaW50IGFib3V0IHRoZSBmaWxlIHNpemUsIHRvIGF2b2lkIHJlYWxsb2NzLgorICogUmV0dXJuIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZCBvciBhIG5lZ2F0aXZlIHZhbHVlIGlmIHNvbWUgZXJyb3IKKyAqIG9jY3VycmVkIHdoaWxlIG9wZW5pbmcgb3IgcmVhZGluZyB0aGUgZmlsZS4KICAqLwogZXh0ZXJuIHNzaXplX3Qgc3RyYnVmX3JlYWRfZmlsZShzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqcGF0aCwgc2l6ZV90IGhpbnQpOwogCkBAIC00NDUsNiArNDQzLDE0IEBACiAgKi8KIGV4dGVybiB2b2lkIHN0cmJ1Zl9hZGRfYWJzb2x1dGVfcGF0aChzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqcGF0aCk7CiAKKworLyoqCisgKiBOb3JtYWxpemUgaW4tcGxhY2UgdGhlIHBhdGggY29udGFpbmVkIGluIHRoZSBzdHJidWYuIFNlZQorICogbm9ybWFsaXplX3BhdGhfY29weSgpIGZvciBkZXRhaWxzLiBJZiBhbiBlcnJvciBvY2N1cnMsIHRoZSBjb250ZW50cyBvZiAic2IiCisgKiBhcmUgbGVmdCB1bnRvdWNoZWQsIGFuZCAtMSBpcyByZXR1cm5lZC4KKyAqLworZXh0ZXJuIGludCBzdHJidWZfbm9ybWFsaXplX3BhdGgoc3RydWN0IHN0cmJ1ZiAqc2IpOworCiAvKioKICAqIFN0cmlwIHdoaXRlc3BhY2UgZnJvbSBhIGJ1ZmZlci4gVGhlIHNlY29uZCBwYXJhbWV0ZXIgY29udHJvbHMgaWYKICAqIGNvbW1lbnRzIGFyZSBjb25zaWRlcmVkIGNvbnRlbnRzIHRvIGJlIHJlbW92ZWQgb3Igbm90LgpkaWZmIC0tZ2l0IGEvc3RyZWFtaW5nLmMgYi9zdHJlYW1pbmcuYwppbmRleCA4MTFmY2MyLi45YWZhNjZiIDEwMDY0NAotLS0gYS9zdHJlYW1pbmcuYworKysgYi9zdHJlYW1pbmcuYwpAQCAtMTM1LDcgKzEzNSw3IEBACiAJCQkJIHN0cnVjdCBzdHJlYW1fZmlsdGVyICpmaWx0ZXIpCiB7CiAJc3RydWN0IGdpdF9pc3RyZWFtICpzdDsKLQlzdHJ1Y3Qgb2JqZWN0X2luZm8gb2kgPSB7TlVMTH07CisJc3RydWN0IG9iamVjdF9pbmZvIG9pID0gT0JKRUNUX0lORk9fSU5JVDsKIAljb25zdCB1bnNpZ25lZCBjaGFyICpyZWFsID0gbG9va3VwX3JlcGxhY2Vfb2JqZWN0KHNoYTEpOwogCWVudW0gaW5wdXRfc291cmNlIHNyYyA9IGlzdHJlYW1fc291cmNlKHJlYWwsIHR5cGUsICZvaSk7CiAKQEAgLTMzNywxNyArMzM3LDE3IEBACiAJc3QtPnUubG9vc2UubWFwcGVkID0gbWFwX3NoYTFfZmlsZShzaGExLCAmc3QtPnUubG9vc2UubWFwc2l6ZSk7CiAJaWYgKCFzdC0+dS5sb29zZS5tYXBwZWQpCiAJCXJldHVybiAtMTsKLQlpZiAodW5wYWNrX3NoYTFfaGVhZGVyKCZzdC0+eiwKLQkJCSAgICAgICBzdC0+dS5sb29zZS5tYXBwZWQsCi0JCQkgICAgICAgc3QtPnUubG9vc2UubWFwc2l6ZSwKLQkJCSAgICAgICBzdC0+dS5sb29zZS5oZHIsCi0JCQkgICAgICAgc2l6ZW9mKHN0LT51Lmxvb3NlLmhkcikpIDwgMCkgeworCWlmICgodW5wYWNrX3NoYTFfaGVhZGVyKCZzdC0+eiwKKwkJCQlzdC0+dS5sb29zZS5tYXBwZWQsCisJCQkJc3QtPnUubG9vc2UubWFwc2l6ZSwKKwkJCQlzdC0+dS5sb29zZS5oZHIsCisJCQkJc2l6ZW9mKHN0LT51Lmxvb3NlLmhkcikpIDwgMCkgfHwKKwkgICAgKHBhcnNlX3NoYTFfaGVhZGVyKHN0LT51Lmxvb3NlLmhkciwgJnN0LT5zaXplKSA8IDApKSB7CiAJCWdpdF9pbmZsYXRlX2VuZCgmc3QtPnopOwogCQltdW5tYXAoc3QtPnUubG9vc2UubWFwcGVkLCBzdC0+dS5sb29zZS5tYXBzaXplKTsKIAkJcmV0dXJuIC0xOwogCX0KIAotCXBhcnNlX3NoYTFfaGVhZGVyKHN0LT51Lmxvb3NlLmhkciwgJnN0LT5zaXplKTsKIAlzdC0+dS5sb29zZS5oZHJfdXNlZCA9IHN0cmxlbihzdC0+dS5sb29zZS5oZHIpICsgMTsKIAlzdC0+dS5sb29zZS5oZHJfYXZhaWwgPSBzdC0+ei50b3RhbF9vdXQ7CiAJc3QtPnpfc3RhdGUgPSB6X3VzZWQ7CkBAIC00OTcsNyArNDk3LDcgQEAKICAqIFVzZXJzIG9mIHN0cmVhbWluZyBpbnRlcmZhY2UKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi1pbnQgc3RyZWFtX2Jsb2JfdG9fZmQoaW50IGZkLCB1bnNpZ25lZCBjb25zdCBjaGFyICpzaGExLCBzdHJ1Y3Qgc3RyZWFtX2ZpbHRlciAqZmlsdGVyLAoraW50IHN0cmVhbV9ibG9iX3RvX2ZkKGludCBmZCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBzdHJ1Y3Qgc3RyZWFtX2ZpbHRlciAqZmlsdGVyLAogCQkgICAgICBpbnQgY2FuX3NlZWspCiB7CiAJc3RydWN0IGdpdF9pc3RyZWFtICpzdDsKQEAgLTUwNiw3ICs1MDYsNyBAQAogCXNzaXplX3Qga2VwdCA9IDA7CiAJaW50IHJlc3VsdCA9IC0xOwogCi0Jc3QgPSBvcGVuX2lzdHJlYW0oc2hhMSwgJnR5cGUsICZzeiwgZmlsdGVyKTsKKwlzdCA9IG9wZW5faXN0cmVhbShvaWQtPmhhc2gsICZ0eXBlLCAmc3osIGZpbHRlcik7CiAJaWYgKCFzdCkgewogCQlpZiAoZmlsdGVyKQogCQkJZnJlZV9zdHJlYW1fZmlsdGVyKGZpbHRlcik7CmRpZmYgLS1naXQgYS9zdHJlYW1pbmcuaCBiL3N0cmVhbWluZy5oCmluZGV4IDFkMDVjMmEuLjczYzFkMTUgMTAwNjQ0Ci0tLSBhL3N0cmVhbWluZy5oCisrKyBiL3N0cmVhbWluZy5oCkBAIC0xMiw2ICsxMiw2IEBACiBleHRlcm4gaW50IGNsb3NlX2lzdHJlYW0oc3RydWN0IGdpdF9pc3RyZWFtICopOwogZXh0ZXJuIHNzaXplX3QgcmVhZF9pc3RyZWFtKHN0cnVjdCBnaXRfaXN0cmVhbSAqLCB2b2lkICosIHNpemVfdCk7CiAKLWV4dGVybiBpbnQgc3RyZWFtX2Jsb2JfdG9fZmQoaW50IGZkLCBjb25zdCB1bnNpZ25lZCBjaGFyICosIHN0cnVjdCBzdHJlYW1fZmlsdGVyICosIGludCBjYW5fc2Vlayk7CitleHRlcm4gaW50IHN0cmVhbV9ibG9iX3RvX2ZkKGludCBmZCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqLCBzdHJ1Y3Qgc3RyZWFtX2ZpbHRlciAqLCBpbnQgY2FuX3NlZWspOwogCiAjZW5kaWYgLyogU1RSRUFNSU5HX0ggKi8KZGlmZiAtLWdpdCBhL3N0cmluZy1saXN0LmMgYi9zdHJpbmctbGlzdC5jCmluZGV4IDYyZDIwODQuLjhjODNjYWMgMTAwNjQ0Ci0tLSBhL3N0cmluZy1saXN0LmMKKysrIGIvc3RyaW5nLWxpc3QuYwpAQCAtMjI1LDcgKzIyNSw3IEBACiB2b2lkIHN0cmluZ19saXN0X3NvcnQoc3RydWN0IHN0cmluZ19saXN0ICpsaXN0KQogewogCWNvbXBhcmVfZm9yX3Fzb3J0ID0gbGlzdC0+Y21wID8gbGlzdC0+Y21wIDogc3RyY21wOwotCXFzb3J0KGxpc3QtPml0ZW1zLCBsaXN0LT5uciwgc2l6ZW9mKCpsaXN0LT5pdGVtcyksIGNtcF9pdGVtcyk7CisJUVNPUlQobGlzdC0+aXRlbXMsIGxpc3QtPm5yLCBjbXBfaXRlbXMpOwogfQogCiBzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqdW5zb3J0ZWRfc3RyaW5nX2xpc3RfbG9va3VwKHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCwKZGlmZiAtLWdpdCBhL3N1Ym1vZHVsZS1jb25maWcuYyBiL3N1Ym1vZHVsZS1jb25maWcuYwppbmRleCBkZWJhYjI5Li4wOTgwODViIDEwMDY0NAotLS0gYS9zdWJtb2R1bGUtY29uZmlnLmMKKysrIGIvc3VibW9kdWxlLWNvbmZpZy5jCkBAIC01OSw2ICs1OSw3IEBACiB7CiAJZnJlZSgodm9pZCAqKSBlbnRyeS0+Y29uZmlnLT5wYXRoKTsKIAlmcmVlKCh2b2lkICopIGVudHJ5LT5jb25maWctPm5hbWUpOworCWZyZWUoKHZvaWQgKikgZW50cnktPmNvbmZpZy0+YnJhbmNoKTsKIAlmcmVlKCh2b2lkICopIGVudHJ5LT5jb25maWctPnVwZGF0ZV9zdHJhdGVneS5jb21tYW5kKTsKIAlmcmVlKGVudHJ5LT5jb25maWcpOwogfQpAQCAtMTk5LDYgKzIwMCw4IEBACiAJc3VibW9kdWxlLT51cGRhdGVfc3RyYXRlZ3kuY29tbWFuZCA9IE5VTEw7CiAJc3VibW9kdWxlLT5mZXRjaF9yZWN1cnNlID0gUkVDVVJTRV9TVUJNT0RVTEVTX05PTkU7CiAJc3VibW9kdWxlLT5pZ25vcmUgPSBOVUxMOworCXN1Ym1vZHVsZS0+YnJhbmNoID0gTlVMTDsKKwlzdWJtb2R1bGUtPnJlY29tbWVuZF9zaGFsbG93ID0gLTE7CiAKIAloYXNoY3B5KHN1Ym1vZHVsZS0+Z2l0bW9kdWxlc19zaGExLCBnaXRtb2R1bGVzX3NoYTEpOwogCkBAIC0zNTMsNiArMzU2LDIxIEBACiAJCWVsc2UgaWYgKHBhcnNlX3N1Ym1vZHVsZV91cGRhdGVfc3RyYXRlZ3kodmFsdWUsCiAJCQkgJnN1Ym1vZHVsZS0+dXBkYXRlX3N0cmF0ZWd5KSA8IDApCiAJCQkJZGllKF8oImludmFsaWQgdmFsdWUgZm9yICVzIiksIHZhcik7CisJfSBlbHNlIGlmICghc3RyY21wKGl0ZW0uYnVmLCAic2hhbGxvdyIpKSB7CisJCWlmICghbWUtPm92ZXJ3cml0ZSAmJiBzdWJtb2R1bGUtPnJlY29tbWVuZF9zaGFsbG93ICE9IC0xKQorCQkJd2Fybl9tdWx0aXBsZV9jb25maWcobWUtPmNvbW1pdF9zaGExLCBzdWJtb2R1bGUtPm5hbWUsCisJCQkJCSAgICAgInNoYWxsb3ciKTsKKwkJZWxzZQorCQkJc3VibW9kdWxlLT5yZWNvbW1lbmRfc2hhbGxvdyA9CisJCQkJZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpOworCX0gZWxzZSBpZiAoIXN0cmNtcChpdGVtLmJ1ZiwgImJyYW5jaCIpKSB7CisJCWlmICghbWUtPm92ZXJ3cml0ZSAmJiBzdWJtb2R1bGUtPmJyYW5jaCkKKwkJCXdhcm5fbXVsdGlwbGVfY29uZmlnKG1lLT5jb21taXRfc2hhMSwgc3VibW9kdWxlLT5uYW1lLAorCQkJCQkgICAgICJicmFuY2giKTsKKwkJZWxzZSB7CisJCQlmcmVlKCh2b2lkICopc3VibW9kdWxlLT5icmFuY2gpOworCQkJc3VibW9kdWxlLT5icmFuY2ggPSB4c3RyZHVwKHZhbHVlKTsKKwkJfQogCX0KIAogCXN0cmJ1Zl9yZWxlYXNlKCZuYW1lKTsKQEAgLTM2MiwyMSArMzgwLDIwIEBACiB9CiAKIHN0YXRpYyBpbnQgZ2l0bW9kdWxlX3NoYTFfZnJvbV9jb21taXQoY29uc3QgdW5zaWduZWQgY2hhciAqY29tbWl0X3NoYTEsCi0JCQkJICAgICAgdW5zaWduZWQgY2hhciAqZ2l0bW9kdWxlc19zaGExKQorCQkJCSAgICAgIHVuc2lnbmVkIGNoYXIgKmdpdG1vZHVsZXNfc2hhMSwKKwkJCQkgICAgICBzdHJ1Y3Qgc3RyYnVmICpyZXYpCiB7Ci0Jc3RydWN0IHN0cmJ1ZiByZXYgPSBTVFJCVUZfSU5JVDsKIAlpbnQgcmV0ID0gMDsKIAogCWlmIChpc19udWxsX3NoYTEoY29tbWl0X3NoYTEpKSB7Ci0JCWhhc2hjcHkoZ2l0bW9kdWxlc19zaGExLCBudWxsX3NoYTEpOworCQloYXNoY2xyKGdpdG1vZHVsZXNfc2hhMSk7CiAJCXJldHVybiAxOwogCX0KIAotCXN0cmJ1Zl9hZGRmKCZyZXYsICIlczouZ2l0bW9kdWxlcyIsIHNoYTFfdG9faGV4KGNvbW1pdF9zaGExKSk7Ci0JaWYgKGdldF9zaGExKHJldi5idWYsIGdpdG1vZHVsZXNfc2hhMSkgPj0gMCkKKwlzdHJidWZfYWRkZihyZXYsICIlczouZ2l0bW9kdWxlcyIsIHNoYTFfdG9faGV4KGNvbW1pdF9zaGExKSk7CisJaWYgKGdldF9zaGExKHJldi0+YnVmLCBnaXRtb2R1bGVzX3NoYTEpID49IDApCiAJCXJldCA9IDE7CiAKLQlzdHJidWZfcmVsZWFzZSgmcmV2KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0zOTAsNyArNDA3LDcgQEAKIHsKIAlzdHJ1Y3Qgc3RyYnVmIHJldiA9IFNUUkJVRl9JTklUOwogCXVuc2lnbmVkIGxvbmcgY29uZmlnX3NpemU7Ci0JY2hhciAqY29uZmlnOworCWNoYXIgKmNvbmZpZyA9IE5VTEw7CiAJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAllbnVtIG9iamVjdF90eXBlIHR5cGU7CiAJY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3VibW9kdWxlID0gTlVMTDsKQEAgLTQxMSw4ICs0MjgsOCBAQAogCQlyZXR1cm4gZW50cnktPmNvbmZpZzsKIAl9CiAKLQlpZiAoIWdpdG1vZHVsZV9zaGExX2Zyb21fY29tbWl0KGNvbW1pdF9zaGExLCBzaGExKSkKLQkJcmV0dXJuIE5VTEw7CisJaWYgKCFnaXRtb2R1bGVfc2hhMV9mcm9tX2NvbW1pdChjb21taXRfc2hhMSwgc2hhMSwgJnJldikpCisJCWdvdG8gb3V0OwogCiAJc3dpdGNoIChsb29rdXBfdHlwZSkgewogCWNhc2UgbG9va3VwX25hbWU6CkBAIC00MjMsMjQgKzQ0MCwyMCBAQAogCQlicmVhazsKIAl9CiAJaWYgKHN1Ym1vZHVsZSkKLQkJcmV0dXJuIHN1Ym1vZHVsZTsKKwkJZ290byBvdXQ7CiAKIAljb25maWcgPSByZWFkX3NoYTFfZmlsZShzaGExLCAmdHlwZSwgJmNvbmZpZ19zaXplKTsKLQlpZiAoIWNvbmZpZykKLQkJcmV0dXJuIE5VTEw7Ci0KLQlpZiAodHlwZSAhPSBPQkpfQkxPQikgewotCQlmcmVlKGNvbmZpZyk7Ci0JCXJldHVybiBOVUxMOwotCX0KKwlpZiAoIWNvbmZpZyB8fCB0eXBlICE9IE9CSl9CTE9CKQorCQlnb3RvIG91dDsKIAogCS8qIGZpbGwgdGhlIHN1Ym1vZHVsZSBjb25maWcgaW50byB0aGUgY2FjaGUgKi8KIAlwYXJhbWV0ZXIuY2FjaGUgPSBjYWNoZTsKIAlwYXJhbWV0ZXIuY29tbWl0X3NoYTEgPSBjb21taXRfc2hhMTsKIAlwYXJhbWV0ZXIuZ2l0bW9kdWxlc19zaGExID0gc2hhMTsKIAlwYXJhbWV0ZXIub3ZlcndyaXRlID0gMDsKLQlnaXRfY29uZmlnX2Zyb21fbWVtKHBhcnNlX2NvbmZpZywgInN1Ym1vZHVsZS1ibG9iIiwgcmV2LmJ1ZiwKKwlnaXRfY29uZmlnX2Zyb21fbWVtKHBhcnNlX2NvbmZpZywgQ09ORklHX09SSUdJTl9TVUJNT0RVTEVfQkxPQiwgcmV2LmJ1ZiwKIAkJCWNvbmZpZywgY29uZmlnX3NpemUsICZwYXJhbWV0ZXIpOworCXN0cmJ1Zl9yZWxlYXNlKCZyZXYpOwogCWZyZWUoY29uZmlnKTsKIAogCXN3aXRjaCAobG9va3VwX3R5cGUpIHsKQEAgLTQ1MSw2ICs0NjQsMTEgQEAKIAlkZWZhdWx0OgogCQlyZXR1cm4gTlVMTDsKIAl9CisKK291dDoKKwlzdHJidWZfcmVsZWFzZSgmcmV2KTsKKwlmcmVlKGNvbmZpZyk7CisJcmV0dXJuIHN1Ym1vZHVsZTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKmNvbmZpZ19mcm9tX3BhdGgoc3RydWN0IHN1Ym1vZHVsZV9jYWNoZSAqY2FjaGUsCmRpZmYgLS1naXQgYS9zdWJtb2R1bGUtY29uZmlnLmggYi9zdWJtb2R1bGUtY29uZmlnLmgKaW5kZXggZTQ4NTdmNS4uZDA1YzU0MiAxMDA2NDQKLS0tIGEvc3VibW9kdWxlLWNvbmZpZy5oCisrKyBiL3N1Ym1vZHVsZS1jb25maWcuaApAQCAtMTUsOSArMTUsMTEgQEAKIAljb25zdCBjaGFyICp1cmw7CiAJaW50IGZldGNoX3JlY3Vyc2U7CiAJY29uc3QgY2hhciAqaWdub3JlOworCWNvbnN0IGNoYXIgKmJyYW5jaDsKIAlzdHJ1Y3Qgc3VibW9kdWxlX3VwZGF0ZV9zdHJhdGVneSB1cGRhdGVfc3RyYXRlZ3k7CiAJLyogdGhlIHNoYTEgYmxvYiBpZCBvZiB0aGUgcmVzcG9uc2libGUgLmdpdG1vZHVsZXMgZmlsZSAqLwogCXVuc2lnbmVkIGNoYXIgZ2l0bW9kdWxlc19zaGExWzIwXTsKKwlpbnQgcmVjb21tZW5kX3NoYWxsb3c7CiB9OwogCiBpbnQgcGFyc2VfZmV0Y2hfcmVjdXJzZV9zdWJtb2R1bGVzX2FyZyhjb25zdCBjaGFyICpvcHQsIGNvbnN0IGNoYXIgKmFyZyk7CmRpZmYgLS1naXQgYS9zdWJtb2R1bGUuYyBiL3N1Ym1vZHVsZS5jCmluZGV4IDQ1MzJiMTEuLjZmN2Q4ODMgMTAwNjQ0Ci0tLSBhL3N1Ym1vZHVsZS5jCisrKyBiL3N1Ym1vZHVsZS5jCkBAIC0xNyw3ICsxNyw3IEBACiAKIHN0YXRpYyBpbnQgY29uZmlnX2ZldGNoX3JlY3Vyc2Vfc3VibW9kdWxlcyA9IFJFQ1VSU0VfU1VCTU9EVUxFU19PTl9ERU1BTkQ7CiBzdGF0aWMgaW50IHBhcmFsbGVsX2pvYnMgPSAxOwotc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBjaGFuZ2VkX3N1Ym1vZHVsZV9wYXRoczsKK3N0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgY2hhbmdlZF9zdWJtb2R1bGVfcGF0aHMgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogc3RhdGljIGludCBpbml0aWFsaXplZF9mZXRjaF9yZWZfdGlwczsKIHN0YXRpYyBzdHJ1Y3Qgc2hhMV9hcnJheSByZWZfdGlwc19iZWZvcmVfZmV0Y2g7CiBzdGF0aWMgc3RydWN0IHNoYTFfYXJyYXkgcmVmX3RpcHNfYWZ0ZXJfZmV0Y2g7CkBAIC0xMjMsMzUgKzEyMywxNiBAQAogc3RhdGljIGludCBhZGRfc3VibW9kdWxlX29kYihjb25zdCBjaGFyICpwYXRoKQogewogCXN0cnVjdCBzdHJidWYgb2JqZWN0c19kaXJlY3RvcnkgPSBTVFJCVUZfSU5JVDsKLQlzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqYWx0X29kYjsKIAlpbnQgcmV0ID0gMDsKLQlzaXplX3QgYWxsb2M7CiAKLQlzdHJidWZfZ2l0X3BhdGhfc3VibW9kdWxlKCZvYmplY3RzX2RpcmVjdG9yeSwgcGF0aCwgIm9iamVjdHMvIik7CisJcmV0ID0gc3RyYnVmX2dpdF9wYXRoX3N1Ym1vZHVsZSgmb2JqZWN0c19kaXJlY3RvcnksIHBhdGgsICJvYmplY3RzLyIpOworCWlmIChyZXQpCisJCWdvdG8gZG9uZTsKIAlpZiAoIWlzX2RpcmVjdG9yeShvYmplY3RzX2RpcmVjdG9yeS5idWYpKSB7CiAJCXJldCA9IC0xOwogCQlnb3RvIGRvbmU7CiAJfQotCS8qIGF2b2lkIGFkZGluZyBpdCB0d2ljZSAqLwotCXByZXBhcmVfYWx0X29kYigpOwotCWZvciAoYWx0X29kYiA9IGFsdF9vZGJfbGlzdDsgYWx0X29kYjsgYWx0X29kYiA9IGFsdF9vZGItPm5leHQpCi0JCWlmIChhbHRfb2RiLT5uYW1lIC0gYWx0X29kYi0+YmFzZSA9PSBvYmplY3RzX2RpcmVjdG9yeS5sZW4gJiYKLQkJCQkhc3RybmNtcChhbHRfb2RiLT5iYXNlLCBvYmplY3RzX2RpcmVjdG9yeS5idWYsCi0JCQkJCW9iamVjdHNfZGlyZWN0b3J5LmxlbikpCi0JCQlnb3RvIGRvbmU7Ci0KLQlhbGxvYyA9IHN0X2FkZChvYmplY3RzX2RpcmVjdG9yeS5sZW4sIDQyKTsgLyogZm9yICIxMi8zNDUuLi4iIHNoYTEgKi8KLQlhbHRfb2RiID0geG1hbGxvYyhzdF9hZGQoc2l6ZW9mKCphbHRfb2RiKSwgYWxsb2MpKTsKLQlhbHRfb2RiLT5uZXh0ID0gYWx0X29kYl9saXN0OwotCXhzbnByaW50ZihhbHRfb2RiLT5iYXNlLCBhbGxvYywgIiVzIiwgb2JqZWN0c19kaXJlY3RvcnkuYnVmKTsKLQlhbHRfb2RiLT5uYW1lID0gYWx0X29kYi0+YmFzZSArIG9iamVjdHNfZGlyZWN0b3J5LmxlbjsKLQlhbHRfb2RiLT5uYW1lWzJdID0gJy8nOwotCWFsdF9vZGItPm5hbWVbNDBdID0gJ1wwJzsKLQlhbHRfb2RiLT5uYW1lWzQxXSA9ICdcMCc7Ci0JYWx0X29kYl9saXN0ID0gYWx0X29kYjsKLQotCS8qIGFkZCBwb3NzaWJsZSBhbHRlcm5hdGVzIGZyb20gdGhlIHN1Ym1vZHVsZSAqLwotCXJlYWRfaW5mb19hbHRlcm5hdGVzKG9iamVjdHNfZGlyZWN0b3J5LmJ1ZiwgMCk7CisJYWRkX3RvX2FsdGVybmF0ZXNfbWVtb3J5KG9iamVjdHNfZGlyZWN0b3J5LmJ1Zik7CiBkb25lOgogCXN0cmJ1Zl9yZWxlYXNlKCZvYmplY3RzX2RpcmVjdG9yeSk7CiAJcmV0dXJuIHJldDsKQEAgLTI3OCw5ICsyNTksOSBAQAogCiBzdGF0aWMgaW50IHByZXBhcmVfc3VibW9kdWxlX3N1bW1hcnkoc3RydWN0IHJldl9pbmZvICpyZXYsIGNvbnN0IGNoYXIgKnBhdGgsCiAJCXN0cnVjdCBjb21taXQgKmxlZnQsIHN0cnVjdCBjb21taXQgKnJpZ2h0LAotCQlpbnQgKmZhc3RfZm9yd2FyZCwgaW50ICpmYXN0X2JhY2t3YXJkKQorCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKm1lcmdlX2Jhc2VzKQogewotCXN0cnVjdCBjb21taXRfbGlzdCAqbWVyZ2VfYmFzZXMsICpsaXN0OworCXN0cnVjdCBjb21taXRfbGlzdCAqbGlzdDsKIAogCWluaXRfcmV2aXNpb25zKHJldiwgTlVMTCk7CiAJc2V0dXBfcmV2aXNpb25zKDAsIE5VTEwsIHJldiwgTlVMTCk7CkBAIC0yODksMTMgKzI3MCw2IEBACiAJbGVmdC0+b2JqZWN0LmZsYWdzIHw9IFNZTU1FVFJJQ19MRUZUOwogCWFkZF9wZW5kaW5nX29iamVjdChyZXYsICZsZWZ0LT5vYmplY3QsIHBhdGgpOwogCWFkZF9wZW5kaW5nX29iamVjdChyZXYsICZyaWdodC0+b2JqZWN0LCBwYXRoKTsKLQltZXJnZV9iYXNlcyA9IGdldF9tZXJnZV9iYXNlcyhsZWZ0LCByaWdodCk7Ci0JaWYgKG1lcmdlX2Jhc2VzKSB7Ci0JCWlmIChtZXJnZV9iYXNlcy0+aXRlbSA9PSBsZWZ0KQotCQkJKmZhc3RfZm9yd2FyZCA9IDE7Ci0JCWVsc2UgaWYgKG1lcmdlX2Jhc2VzLT5pdGVtID09IHJpZ2h0KQotCQkJKmZhc3RfYmFja3dhcmQgPSAxOwotCX0KIAlmb3IgKGxpc3QgPSBtZXJnZV9iYXNlczsgbGlzdDsgbGlzdCA9IGxpc3QtPm5leHQpIHsKIAkJbGlzdC0+aXRlbS0+b2JqZWN0LmZsYWdzIHw9IFVOSU5URVJFU1RJTkc7CiAJCWFkZF9wZW5kaW5nX29iamVjdChyZXYsICZsaXN0LT5pdGVtLT5vYmplY3QsCkBAIC0zMzMsMzEgKzMwNywyMyBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiB9CiAKLXZvaWQgc2hvd19zdWJtb2R1bGVfc3VtbWFyeShGSUxFICpmLCBjb25zdCBjaGFyICpwYXRoLAorLyogSGVscGVyIGZ1bmN0aW9uIHRvIGRpc3BsYXkgdGhlIHN1Ym1vZHVsZSBoZWFkZXIgbGluZSBwcmlvciB0byB0aGUgZnVsbAorICogc3VtbWFyeSBvdXRwdXQuIElmIGl0IGNhbiBsb2NhdGUgdGhlIHN1Ym1vZHVsZSBvYmplY3RzIGRpcmVjdG9yeSBpdCB3aWxsCisgKiBhdHRlbXB0IHRvIGxvb2t1cCBib3RoIHRoZSBsZWZ0IGFuZCByaWdodCBjb21taXRzIGFuZCBwdXQgdGhlbSBpbnRvIHRoZQorICogbGVmdCBhbmQgcmlnaHQgcG9pbnRlcnMuCisgKi8KK3N0YXRpYyB2b2lkIHNob3dfc3VibW9kdWxlX2hlYWRlcihGSUxFICpmLCBjb25zdCBjaGFyICpwYXRoLAogCQljb25zdCBjaGFyICpsaW5lX3ByZWZpeCwKLQkJdW5zaWduZWQgY2hhciBvbmVbMjBdLCB1bnNpZ25lZCBjaGFyIHR3b1syMF0sCisJCXN0cnVjdCBvYmplY3RfaWQgKm9uZSwgc3RydWN0IG9iamVjdF9pZCAqdHdvLAogCQl1bnNpZ25lZCBkaXJ0eV9zdWJtb2R1bGUsIGNvbnN0IGNoYXIgKm1ldGEsCi0JCWNvbnN0IGNoYXIgKmRlbCwgY29uc3QgY2hhciAqYWRkLCBjb25zdCBjaGFyICpyZXNldCkKKwkJY29uc3QgY2hhciAqcmVzZXQsCisJCXN0cnVjdCBjb21taXQgKipsZWZ0LCBzdHJ1Y3QgY29tbWl0ICoqcmlnaHQsCisJCXN0cnVjdCBjb21taXRfbGlzdCAqKm1lcmdlX2Jhc2VzKQogewotCXN0cnVjdCByZXZfaW5mbyByZXY7Ci0Jc3RydWN0IGNvbW1pdCAqbGVmdCA9IE5VTEwsICpyaWdodCA9IE5VTEw7CiAJY29uc3QgY2hhciAqbWVzc2FnZSA9IE5VTEw7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCWludCBmYXN0X2ZvcndhcmQgPSAwLCBmYXN0X2JhY2t3YXJkID0gMDsKIAotCWlmIChpc19udWxsX3NoYTEodHdvKSkKLQkJbWVzc2FnZSA9ICIoc3VibW9kdWxlIGRlbGV0ZWQpIjsKLQllbHNlIGlmIChhZGRfc3VibW9kdWxlX29kYihwYXRoKSkKLQkJbWVzc2FnZSA9ICIobm90IGNoZWNrZWQgb3V0KSI7Ci0JZWxzZSBpZiAoaXNfbnVsbF9zaGExKG9uZSkpCi0JCW1lc3NhZ2UgPSAiKG5ldyBzdWJtb2R1bGUpIjsKLQllbHNlIGlmICghKGxlZnQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShvbmUpKSB8fAotCQkgIShyaWdodCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHR3bykpKQotCQltZXNzYWdlID0gIihjb21taXRzIG5vdCBwcmVzZW50KSI7Ci0JZWxzZSBpZiAocHJlcGFyZV9zdWJtb2R1bGVfc3VtbWFyeSgmcmV2LCBwYXRoLCBsZWZ0LCByaWdodCwKLQkJCQkJICAgJmZhc3RfZm9yd2FyZCwgJmZhc3RfYmFja3dhcmQpKQotCQltZXNzYWdlID0gIihyZXZpc2lvbiB3YWxrZXIgZmFpbGVkKSI7Ci0KIAlpZiAoZGlydHlfc3VibW9kdWxlICYgRElSVFlfU1VCTU9EVUxFX1VOVFJBQ0tFRCkKIAkJZnByaW50ZihmLCAiJXNTdWJtb2R1bGUgJXMgY29udGFpbnMgdW50cmFja2VkIGNvbnRlbnRcbiIsCiAJCQlsaW5lX3ByZWZpeCwgcGF0aCk7CkBAIC0zNjUsMzAgKzMzMSwxNjIgQEAKIAkJZnByaW50ZihmLCAiJXNTdWJtb2R1bGUgJXMgY29udGFpbnMgbW9kaWZpZWQgY29udGVudFxuIiwKIAkJCWxpbmVfcHJlZml4LCBwYXRoKTsKIAotCWlmICghaGFzaGNtcChvbmUsIHR3bykpIHsKKwlpZiAoaXNfbnVsbF9vaWQob25lKSkKKwkJbWVzc2FnZSA9ICIobmV3IHN1Ym1vZHVsZSkiOworCWVsc2UgaWYgKGlzX251bGxfb2lkKHR3bykpCisJCW1lc3NhZ2UgPSAiKHN1Ym1vZHVsZSBkZWxldGVkKSI7CisKKwlpZiAoYWRkX3N1Ym1vZHVsZV9vZGIocGF0aCkpIHsKKwkJaWYgKCFtZXNzYWdlKQorCQkJbWVzc2FnZSA9ICIobm90IGluaXRpYWxpemVkKSI7CisJCWdvdG8gb3V0cHV0X2hlYWRlcjsKKwl9CisKKwkvKgorCSAqIEF0dGVtcHQgdG8gbG9va3VwIHRoZSBjb21taXQgcmVmZXJlbmNlcywgYW5kIGRldGVybWluZSBpZiB0aGlzIGlzCisJICogYSBmYXN0IGZvcndhcmQgb3IgZmFzdCBiYWNrd2FyZHMgdXBkYXRlLgorCSAqLworCSpsZWZ0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uob25lLT5oYXNoKTsKKwkqcmlnaHQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSh0d28tPmhhc2gpOworCisJLyoKKwkgKiBXYXJuIGFib3V0IG1pc3NpbmcgY29tbWl0cyBpbiB0aGUgc3VibW9kdWxlIHByb2plY3QsIGJ1dCBvbmx5IGlmCisJICogdGhleSBhcmVuJ3QgbnVsbC4KKwkgKi8KKwlpZiAoKCFpc19udWxsX29pZChvbmUpICYmICEqbGVmdCkgfHwKKwkgICAgICghaXNfbnVsbF9vaWQodHdvKSAmJiAhKnJpZ2h0KSkKKwkJbWVzc2FnZSA9ICIoY29tbWl0cyBub3QgcHJlc2VudCkiOworCisJKm1lcmdlX2Jhc2VzID0gZ2V0X21lcmdlX2Jhc2VzKCpsZWZ0LCAqcmlnaHQpOworCWlmICgqbWVyZ2VfYmFzZXMpIHsKKwkJaWYgKCgqbWVyZ2VfYmFzZXMpLT5pdGVtID09ICpsZWZ0KQorCQkJZmFzdF9mb3J3YXJkID0gMTsKKwkJZWxzZSBpZiAoKCptZXJnZV9iYXNlcyktPml0ZW0gPT0gKnJpZ2h0KQorCQkJZmFzdF9iYWNrd2FyZCA9IDE7CisJfQorCisJaWYgKCFvaWRjbXAob25lLCB0d28pKSB7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiAJCXJldHVybjsKIAl9CiAKLQlzdHJidWZfYWRkZigmc2IsICIlcyVzU3VibW9kdWxlICVzICVzLi4iLCBsaW5lX3ByZWZpeCwgbWV0YSwgcGF0aCwKLQkJCWZpbmRfdW5pcXVlX2FiYnJldihvbmUsIERFRkFVTFRfQUJCUkVWKSk7Ci0JaWYgKCFmYXN0X2JhY2t3YXJkICYmICFmYXN0X2ZvcndhcmQpCi0JCXN0cmJ1Zl9hZGRjaCgmc2IsICcuJyk7Ci0Jc3RyYnVmX2FkZGYoJnNiLCAiJXMiLCBmaW5kX3VuaXF1ZV9hYmJyZXYodHdvLCBERUZBVUxUX0FCQlJFVikpOworb3V0cHV0X2hlYWRlcjoKKwlzdHJidWZfYWRkZigmc2IsICIlcyVzU3VibW9kdWxlICVzICIsIGxpbmVfcHJlZml4LCBtZXRhLCBwYXRoKTsKKwlzdHJidWZfYWRkX3VuaXF1ZV9hYmJyZXYoJnNiLCBvbmUtPmhhc2gsIERFRkFVTFRfQUJCUkVWKTsKKwlzdHJidWZfYWRkc3RyKCZzYiwgKGZhc3RfYmFja3dhcmQgfHwgZmFzdF9mb3J3YXJkKSA/ICIuLiIgOiAiLi4uIik7CisJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KCZzYiwgdHdvLT5oYXNoLCBERUZBVUxUX0FCQlJFVik7CiAJaWYgKG1lc3NhZ2UpCiAJCXN0cmJ1Zl9hZGRmKCZzYiwgIiAlcyVzXG4iLCBtZXNzYWdlLCByZXNldCk7CiAJZWxzZQogCQlzdHJidWZfYWRkZigmc2IsICIlczolc1xuIiwgZmFzdF9iYWNrd2FyZCA/ICIgKHJld2luZCkiIDogIiIsIHJlc2V0KTsKIAlmd3JpdGUoc2IuYnVmLCBzYi5sZW4sIDEsIGYpOwogCi0JaWYgKCFtZXNzYWdlKSAvKiBvbmx5IE5VTEwgaWYgd2Ugc3VjY2VlZGVkIGluIHNldHRpbmcgdXAgdGhlIHdhbGsgKi8KLQkJcHJpbnRfc3VibW9kdWxlX3N1bW1hcnkoJnJldiwgZiwgbGluZV9wcmVmaXgsIGRlbCwgYWRkLCByZXNldCk7CisJc3RyYnVmX3JlbGVhc2UoJnNiKTsKK30KKwordm9pZCBzaG93X3N1Ym1vZHVsZV9zdW1tYXJ5KEZJTEUgKmYsIGNvbnN0IGNoYXIgKnBhdGgsCisJCWNvbnN0IGNoYXIgKmxpbmVfcHJlZml4LAorCQlzdHJ1Y3Qgb2JqZWN0X2lkICpvbmUsIHN0cnVjdCBvYmplY3RfaWQgKnR3bywKKwkJdW5zaWduZWQgZGlydHlfc3VibW9kdWxlLCBjb25zdCBjaGFyICptZXRhLAorCQljb25zdCBjaGFyICpkZWwsIGNvbnN0IGNoYXIgKmFkZCwgY29uc3QgY2hhciAqcmVzZXQpCit7CisJc3RydWN0IHJldl9pbmZvIHJldjsKKwlzdHJ1Y3QgY29tbWl0ICpsZWZ0ID0gTlVMTCwgKnJpZ2h0ID0gTlVMTDsKKwlzdHJ1Y3QgY29tbWl0X2xpc3QgKm1lcmdlX2Jhc2VzID0gTlVMTDsKKworCXNob3dfc3VibW9kdWxlX2hlYWRlcihmLCBwYXRoLCBsaW5lX3ByZWZpeCwgb25lLCB0d28sIGRpcnR5X3N1Ym1vZHVsZSwKKwkJCSAgICAgIG1ldGEsIHJlc2V0LCAmbGVmdCwgJnJpZ2h0LCAmbWVyZ2VfYmFzZXMpOworCisJLyoKKwkgKiBJZiB3ZSBkb24ndCBoYXZlIGJvdGggYSBsZWZ0IGFuZCBhIHJpZ2h0IHBvaW50ZXIsIHRoZXJlIGlzIG5vCisJICogcmVhc29uIHRvIHRyeSBhbmQgZGlzcGxheSBhIHN1bW1hcnkuIFRoZSBoZWFkZXIgbGluZSBzaG91bGQgY29udGFpbgorCSAqIGFsbCB0aGUgaW5mb3JtYXRpb24gdGhlIHVzZXIgbmVlZHMuCisJICovCisJaWYgKCFsZWZ0IHx8ICFyaWdodCkKKwkJZ290byBvdXQ7CisKKwkvKiBUcmVhdCByZXZpc2lvbiB3YWxrZXIgZmFpbHVyZSB0aGUgc2FtZSBhcyBtaXNzaW5nIGNvbW1pdHMgKi8KKwlpZiAocHJlcGFyZV9zdWJtb2R1bGVfc3VtbWFyeSgmcmV2LCBwYXRoLCBsZWZ0LCByaWdodCwgbWVyZ2VfYmFzZXMpKSB7CisJCWZwcmludGYoZiwgIiVzKHJldmlzaW9uIHdhbGtlciBmYWlsZWQpXG4iLCBsaW5lX3ByZWZpeCk7CisJCWdvdG8gb3V0OworCX0KKworCXByaW50X3N1Ym1vZHVsZV9zdW1tYXJ5KCZyZXYsIGYsIGxpbmVfcHJlZml4LCBkZWwsIGFkZCwgcmVzZXQpOworCitvdXQ6CisJaWYgKG1lcmdlX2Jhc2VzKQorCQlmcmVlX2NvbW1pdF9saXN0KG1lcmdlX2Jhc2VzKTsKKwljbGVhcl9jb21taXRfbWFya3MobGVmdCwgfjApOworCWNsZWFyX2NvbW1pdF9tYXJrcyhyaWdodCwgfjApOworfQorCit2b2lkIHNob3dfc3VibW9kdWxlX2lubGluZV9kaWZmKEZJTEUgKmYsIGNvbnN0IGNoYXIgKnBhdGgsCisJCWNvbnN0IGNoYXIgKmxpbmVfcHJlZml4LAorCQlzdHJ1Y3Qgb2JqZWN0X2lkICpvbmUsIHN0cnVjdCBvYmplY3RfaWQgKnR3bywKKwkJdW5zaWduZWQgZGlydHlfc3VibW9kdWxlLCBjb25zdCBjaGFyICptZXRhLAorCQljb25zdCBjaGFyICpkZWwsIGNvbnN0IGNoYXIgKmFkZCwgY29uc3QgY2hhciAqcmVzZXQsCisJCWNvbnN0IHN0cnVjdCBkaWZmX29wdGlvbnMgKm8pCit7CisJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2xkID0gJmVtcHR5X3RyZWVfb2lkLCAqbmV3ID0gJmVtcHR5X3RyZWVfb2lkOworCXN0cnVjdCBjb21taXQgKmxlZnQgPSBOVUxMLCAqcmlnaHQgPSBOVUxMOworCXN0cnVjdCBjb21taXRfbGlzdCAqbWVyZ2VfYmFzZXMgPSBOVUxMOworCXN0cnVjdCBzdHJidWYgc3VibW9kdWxlX2RpciA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCisJc2hvd19zdWJtb2R1bGVfaGVhZGVyKGYsIHBhdGgsIGxpbmVfcHJlZml4LCBvbmUsIHR3bywgZGlydHlfc3VibW9kdWxlLAorCQkJICAgICAgbWV0YSwgcmVzZXQsICZsZWZ0LCAmcmlnaHQsICZtZXJnZV9iYXNlcyk7CisKKwkvKiBXZSBuZWVkIGEgdmFsaWQgbGVmdCBhbmQgcmlnaHQgY29tbWl0IHRvIGRpc3BsYXkgYSBkaWZmZXJlbmNlICovCisJaWYgKCEobGVmdCB8fCBpc19udWxsX29pZChvbmUpKSB8fAorCSAgICAhKHJpZ2h0IHx8IGlzX251bGxfb2lkKHR3bykpKQorCQlnb3RvIGRvbmU7CisKKwlpZiAobGVmdCkKKwkJb2xkID0gb25lOworCWlmIChyaWdodCkKKwkJbmV3ID0gdHdvOworCisJZmZsdXNoKGYpOworCWNwLmdpdF9jbWQgPSAxOworCWNwLmRpciA9IHBhdGg7CisJY3Aub3V0ID0gZHVwKGZpbGVubyhmKSk7CisJY3Aubm9fc3RkaW4gPSAxOworCisJLyogVE9ETzogb3RoZXIgb3B0aW9ucyBtYXkgbmVlZCB0byBiZSBwYXNzZWQgaGVyZS4gKi8KKwlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsICJkaWZmIik7CisJYXJndl9hcnJheV9wdXNoZigmY3AuYXJncywgIi0tbGluZS1wcmVmaXg9JXMiLCBsaW5lX3ByZWZpeCk7CisJaWYgKERJRkZfT1BUX1RTVChvLCBSRVZFUlNFX0RJRkYpKSB7CisJCWFyZ3ZfYXJyYXlfcHVzaGYoJmNwLmFyZ3MsICItLXNyYy1wcmVmaXg9JXMlcy8iLAorCQkJCSBvLT5iX3ByZWZpeCwgcGF0aCk7CisJCWFyZ3ZfYXJyYXlfcHVzaGYoJmNwLmFyZ3MsICItLWRzdC1wcmVmaXg9JXMlcy8iLAorCQkJCSBvLT5hX3ByZWZpeCwgcGF0aCk7CisJfSBlbHNlIHsKKwkJYXJndl9hcnJheV9wdXNoZigmY3AuYXJncywgIi0tc3JjLXByZWZpeD0lcyVzLyIsCisJCQkJIG8tPmFfcHJlZml4LCBwYXRoKTsKKwkJYXJndl9hcnJheV9wdXNoZigmY3AuYXJncywgIi0tZHN0LXByZWZpeD0lcyVzLyIsCisJCQkJIG8tPmJfcHJlZml4LCBwYXRoKTsKKwl9CisJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCBvaWRfdG9faGV4KG9sZCkpOworCS8qCisJICogSWYgdGhlIHN1Ym1vZHVsZSBoYXMgbW9kaWZpZWQgY29udGVudCwgd2Ugd2lsbCBkaWZmIGFnYWluc3QgdGhlCisJICogd29yayB0cmVlLCB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoZSB1c2VyIGhhcyBhc2tlZCBmb3IgdGhlCisJICogZGlmZiBmb3JtYXQgYW5kIHdpc2hlcyB0byBhY3R1YWxseSBzZWUgYWxsIGRpZmZlcmVuY2VzIGV2ZW4gaWYgdGhleQorCSAqIGhhdmVuJ3QgeWV0IGJlZW4gY29tbWl0dGVkIHRvIHRoZSBzdWJtb2R1bGUgeWV0LgorCSAqLworCWlmICghKGRpcnR5X3N1Ym1vZHVsZSAmIERJUlRZX1NVQk1PRFVMRV9NT0RJRklFRCkpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgb2lkX3RvX2hleChuZXcpKTsKKworCWlmIChydW5fY29tbWFuZCgmY3ApKQorCQlmcHJpbnRmKGYsICIoZGlmZiBmYWlsZWQpXG4iKTsKKworZG9uZToKKwlzdHJidWZfcmVsZWFzZSgmc3VibW9kdWxlX2Rpcik7CisJaWYgKG1lcmdlX2Jhc2VzKQorCQlmcmVlX2NvbW1pdF9saXN0KG1lcmdlX2Jhc2VzKTsKIAlpZiAobGVmdCkKIAkJY2xlYXJfY29tbWl0X21hcmtzKGxlZnQsIH4wKTsKIAlpZiAocmlnaHQpCiAJCWNsZWFyX2NvbW1pdF9tYXJrcyhyaWdodCwgfjApOwotCi0Jc3RyYnVmX3JlbGVhc2UoJnNiKTsKIH0KIAogdm9pZCBzZXRfY29uZmlnX2ZldGNoX3JlY3Vyc2Vfc3VibW9kdWxlcyhpbnQgdmFsdWUpCkBAIC00NDUsNyArNTQzLDcgQEAKIAkJc3RydWN0IGRpZmZfZmlsZXBhaXIgKnAgPSBxLT5xdWV1ZVtpXTsKIAkJaWYgKCFTX0lTR0lUTElOSyhwLT50d28tPm1vZGUpKQogCQkJY29udGludWU7Ci0JCWlmIChzdWJtb2R1bGVfbmVlZHNfcHVzaGluZyhwLT50d28tPnBhdGgsIHAtPnR3by0+c2hhMSkpCisJCWlmIChzdWJtb2R1bGVfbmVlZHNfcHVzaGluZyhwLT50d28tPnBhdGgsIHAtPnR3by0+b2lkLmhhc2gpKQogCQkJc3RyaW5nX2xpc3RfaW5zZXJ0KG5lZWRzX3B1c2hpbmcsIHAtPnR3by0+cGF0aCk7CiAJfQogfQpAQCAtNTc3LDcgKzY3NSw3IEBACiAJCQkgKiBiZWluZyBtb3ZlZCBhcm91bmQuICovCiAJCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqcGF0aDsKIAkJCXBhdGggPSB1bnNvcnRlZF9zdHJpbmdfbGlzdF9sb29rdXAoJmNoYW5nZWRfc3VibW9kdWxlX3BhdGhzLCBwLT50d28tPnBhdGgpOwotCQkJaWYgKCFwYXRoICYmICFpc19zdWJtb2R1bGVfY29tbWl0X3ByZXNlbnQocC0+dHdvLT5wYXRoLCBwLT50d28tPnNoYTEpKQorCQkJaWYgKCFwYXRoICYmICFpc19zdWJtb2R1bGVfY29tbWl0X3ByZXNlbnQocC0+dHdvLT5wYXRoLCBwLT50d28tPm9pZC5oYXNoKSkKIAkJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmNoYW5nZWRfc3VibW9kdWxlX3BhdGhzLCB4c3RyZHVwKHAtPnR3by0+cGF0aCkpOwogCQl9IGVsc2UgewogCQkJLyogU3VibW9kdWxlIGlzIG5ldyBvciB3YXMgbW92ZWQgaGVyZSAqLwpAQCAtNjA4LDkgKzcwNiwxMCBAQAogCXNoYTFfYXJyYXlfYXBwZW5kKCZyZWZfdGlwc19hZnRlcl9mZXRjaCwgbmV3X3NoYTEpOwogfQogCi1zdGF0aWMgdm9pZCBhZGRfc2hhMV90b19hcmd2KGNvbnN0IHVuc2lnbmVkIGNoYXIgc2hhMVsyMF0sIHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IGFkZF9zaGExX3RvX2FyZ3YoY29uc3QgdW5zaWduZWQgY2hhciBzaGExWzIwXSwgdm9pZCAqZGF0YSkKIHsKIAlhcmd2X2FycmF5X3B1c2goZGF0YSwgc2hhMV90b19oZXgoc2hhMSkpOworCXJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZCBjYWxjdWxhdGVfY2hhbmdlZF9zdWJtb2R1bGVfcGF0aHModm9pZCkKQEAgLTExNjAsNCArMTI1OSw1IEBACiAJCWlmIChzdHJjbXAoKnZhciwgQ09ORklHX0RBVEFfRU5WSVJPTk1FTlQpKQogCQkJYXJndl9hcnJheV9wdXNoKG91dCwgKnZhcik7CiAJfQorCWFyZ3ZfYXJyYXlfcHVzaChvdXQsICJHSVRfRElSPS5naXQiKTsKIH0KZGlmZiAtLWdpdCBhL3N1Ym1vZHVsZS5oIGIvc3VibW9kdWxlLmgKaW5kZXggMmFmOTM5MC4uZDllMTk3YSAxMDA2NDQKLS0tIGEvc3VibW9kdWxlLmgKKysrIGIvc3VibW9kdWxlLmgKQEAgLTQzLDkgKzQzLDE1IEBACiB2b2lkIGhhbmRsZV9pZ25vcmVfc3VibW9kdWxlc19hcmcoc3RydWN0IGRpZmZfb3B0aW9ucyAqZGlmZm9wdCwgY29uc3QgY2hhciAqKTsKIHZvaWQgc2hvd19zdWJtb2R1bGVfc3VtbWFyeShGSUxFICpmLCBjb25zdCBjaGFyICpwYXRoLAogCQljb25zdCBjaGFyICpsaW5lX3ByZWZpeCwKLQkJdW5zaWduZWQgY2hhciBvbmVbMjBdLCB1bnNpZ25lZCBjaGFyIHR3b1syMF0sCisJCXN0cnVjdCBvYmplY3RfaWQgKm9uZSwgc3RydWN0IG9iamVjdF9pZCAqdHdvLAogCQl1bnNpZ25lZCBkaXJ0eV9zdWJtb2R1bGUsIGNvbnN0IGNoYXIgKm1ldGEsCiAJCWNvbnN0IGNoYXIgKmRlbCwgY29uc3QgY2hhciAqYWRkLCBjb25zdCBjaGFyICpyZXNldCk7Cit2b2lkIHNob3dfc3VibW9kdWxlX2lubGluZV9kaWZmKEZJTEUgKmYsIGNvbnN0IGNoYXIgKnBhdGgsCisJCWNvbnN0IGNoYXIgKmxpbmVfcHJlZml4LAorCQlzdHJ1Y3Qgb2JqZWN0X2lkICpvbmUsIHN0cnVjdCBvYmplY3RfaWQgKnR3bywKKwkJdW5zaWduZWQgZGlydHlfc3VibW9kdWxlLCBjb25zdCBjaGFyICptZXRhLAorCQljb25zdCBjaGFyICpkZWwsIGNvbnN0IGNoYXIgKmFkZCwgY29uc3QgY2hhciAqcmVzZXQsCisJCWNvbnN0IHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCk7CiB2b2lkIHNldF9jb25maWdfZmV0Y2hfcmVjdXJzZV9zdWJtb2R1bGVzKGludCB2YWx1ZSk7CiB2b2lkIGNoZWNrX2Zvcl9uZXdfc3VibW9kdWxlX2NvbW1pdHModW5zaWduZWQgY2hhciBuZXdfc2hhMVsyMF0pOwogaW50IGZldGNoX3BvcHVsYXRlZF9zdWJtb2R1bGVzKGNvbnN0IHN0cnVjdCBhcmd2X2FycmF5ICpvcHRpb25zLApkaWZmIC0tZ2l0IGEvdC9NYWtlZmlsZSBiL3QvTWFrZWZpbGUKaW5kZXggMThlMmIyOC4uZDYxMzkzNSAxMDA2NDQKLS0tIGEvdC9NYWtlZmlsZQorKysgYi90L01ha2VmaWxlCkBAIC01Miw3ICs1Miw4IEBACiBjbGVhbjogY2xlYW4tZXhjZXB0LXByb3ZlLWNhY2hlCiAJJChSTSkgLnByb3ZlCiAKLXRlc3QtbGludDogdGVzdC1saW50LWR1cGxpY2F0ZXMgdGVzdC1saW50LWV4ZWN1dGFibGUgdGVzdC1saW50LXNoZWxsLXN5bnRheAordGVzdC1saW50OiB0ZXN0LWxpbnQtZHVwbGljYXRlcyB0ZXN0LWxpbnQtZXhlY3V0YWJsZSB0ZXN0LWxpbnQtc2hlbGwtc3ludGF4IFwKKwl0ZXN0LWxpbnQtZmlsZW5hbWVzCiAKIHRlc3QtbGludC1kdXBsaWNhdGVzOgogCUBkdXBzPWBlY2hvICQoVCkgfCB0ciAnICcgJ1xuJyB8IHNlZCAncy8tLiovLycgfCBzb3J0IHwgdW5pcSAtZGAgJiYgXApAQCAtNjcsNiArNjgsMTQgQEAKIHRlc3QtbGludC1zaGVsbC1zeW50YXg6CiAJQCckKFBFUkxfUEFUSF9TUSknIGNoZWNrLW5vbi1wb3J0YWJsZS1zaGVsbC5wbCAkKFQpICQoVEhFTFBFUlMpCiAKK3Rlc3QtbGludC1maWxlbmFtZXM6CisJQCMgV2UgZG8gKm5vdCogcGFzcyBhIGdsb2IgdG8gbHMtZmlsZXMgYnV0IHVzZSBncmVwIGluc3RlYWQsIHRvIGNhdGNoCisJQCMgbm9uLUFTQ0lJIGNoYXJhY3RlcnMgKHdoaWNoIGFyZSBxdW90ZWQgd2l0aGluIGRvdWJsZS1xdW90ZXMpCisJQGJhZD0iJCQoZ2l0IC1jIGNvcmUucXVvdGVwYXRoPXRydWUgbHMtZmlsZXMgMj4vZGV2L251bGwgfCBcCisJCQlncmVwICdbIio6PD4/XFx8XScpIjsgXAorCQl0ZXN0IC16ICIkJGJhZCIgfHwgeyBcCisJCWVjaG8gPiYyICJub24tcG9ydGFibGUgZmlsZSBuYW1lKHMpOiAkJGJhZCI7IGV4aXQgMTsgfQorCiBhZ2dyZWdhdGUtcmVzdWx0cy1hbmQtY2xlYW51cDogJChUKQogCSQoTUFLRSkgYWdncmVnYXRlLXJlc3VsdHMKIAkkKE1BS0UpIGNsZWFuCmRpZmYgLS1naXQgYS90L1JFQURNRSBiL3QvUkVBRE1FCmluZGV4IDc2YTBkYWEuLjQ5ODJkMWMgMTAwNjQ0Ci0tLSBhL3QvUkVBRE1FCisrKyBiL3QvUkVBRE1FCkBAIC0xNTMsNiArMTUzLDEyIEBACiAJQXMgdGhlIG5hbWVzIGRlcGVuZCBvbiB0aGUgdGVzdHMnIGZpbGUgbmFtZXMsIGl0IGlzIHNhZmUgdG8KIAlydW4gdGhlIHRlc3RzIHdpdGggdGhpcyBvcHRpb24gaW4gcGFyYWxsZWwuCiAKKy0tdmVyYm9zZS1sb2c6OgorCVdyaXRlIHZlcmJvc2Ugb3V0cHV0IHRvIHRoZSBzYW1lIGxvZ2ZpbGUgYXMgYC0tdGVlYCwgYnV0IGRvCisJX25vdF8gd3JpdGUgaXQgdG8gc3Rkb3V0LiBVbmxpa2UgYC0tdGVlIC0tdmVyYm9zZWAsIHRoaXMgb3B0aW9uCisJaXMgc2FmZSB0byB1c2Ugd2hlbiBzdGRvdXQgaXMgYmVpbmcgY29uc3VtZWQgYnkgYSBUQVAgcGFyc2VyCisJbGlrZSBgcHJvdmVgLiBJbXBsaWVzIGAtLXRlZWAgYW5kIGAtLXZlcmJvc2VgLgorCiAtLXdpdGgtZGFzaGVzOjoKIAlCeSBkZWZhdWx0IHRlc3RzIGFyZSBydW4gd2l0aG91dCBkYXNoZWQgZm9ybXMgb2YKIAljb21tYW5kcyAobGlrZSBnaXQtY29tbWl0KSBpbiB0aGUgUEFUSCAoaXQgb25seSB1c2VzCkBAIC0yNjUsNyArMjcxLDcgQEAKICAgICAkIHNoIC4vdDkyMDAtZ2l0LWN2c2V4cG9ydC1jb21taXQuc2ggLS1ydW49JzEtNCAhMycKIAogd2lsbCBydW4gdGVzdHMgMSwgMiwgYW5kIDQuICBJdGVtcyB0aGF0IGNvbWVzIGxhdGVyIGhhdmUgaGlnaGVyCi1wcmVjZW5kZW5jZS4gIEl0IG1lYW5zIHRoYXQgdGhpczoKK3ByZWNlZGVuY2UuICBJdCBtZWFucyB0aGF0IHRoaXM6CiAKICAgICAkIHNoIC4vdDkyMDAtZ2l0LWN2c2V4cG9ydC1jb21taXQuc2ggLS1ydW49JyEzIDEtNCcKIApkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1jb25maWcuYyBiL3QvaGVscGVyL3Rlc3QtY29uZmlnLmMKaW5kZXggZDE0M2NkNy4uODNhNGYyYSAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1jb25maWcuYworKysgYi90L2hlbHBlci90ZXN0LWNvbmZpZy5jCkBAIC0yNSw2ICsyNSw5IEBACiAgKiAJCQkJYXNjZW5kaW5nIG9yZGVyIG9mIHByaW9yaXR5IGZyb20gYSBjb25maWdfc2V0CiAgKiAJCQkJY29uc3RydWN0ZWQgZnJvbSBmaWxlcyBlbnRlcmVkIGFzIGFyZ3VtZW50cy4KICAqCisgKiBpdGVyYXRlIC0+IGl0ZXJhdGUgb3ZlciBhbGwgdmFsdWVzIHVzaW5nIGdpdF9jb25maWcoKSwgYW5kIHByaW50IHNvbWUKKyAqICAgICAgICAgICAgZGF0YSBmb3IgZWFjaAorICoKICAqIEV4YW1wbGVzOgogICoKICAqIFRvIHByaW50IHRoZSB2YWx1ZSB3aXRoIGhpZ2hlc3QgcHJpb3JpdHkgZm9yIGtleSAiZm9vLmJBciBCYXoucm9jayI6CkBAIC0zMiw2ICszNSwzNiBAQAogICoKICAqLwogCitzdGF0aWMgY29uc3QgY2hhciAqc2NvcGVfbmFtZShlbnVtIGNvbmZpZ19zY29wZSBzY29wZSkKK3sKKwlzd2l0Y2ggKHNjb3BlKSB7CisJY2FzZSBDT05GSUdfU0NPUEVfU1lTVEVNOgorCQlyZXR1cm4gInN5c3RlbSI7CisJY2FzZSBDT05GSUdfU0NPUEVfR0xPQkFMOgorCQlyZXR1cm4gImdsb2JhbCI7CisJY2FzZSBDT05GSUdfU0NPUEVfUkVQTzoKKwkJcmV0dXJuICJyZXBvIjsKKwljYXNlIENPTkZJR19TQ09QRV9DTURMSU5FOgorCQlyZXR1cm4gImNtZGxpbmUiOworCWRlZmF1bHQ6CisJCXJldHVybiAidW5rbm93biI7CisJfQorfQorc3RhdGljIGludCBpdGVyYXRlX2NiKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmRhdGEpCit7CisJc3RhdGljIGludCBucjsKKworCWlmIChucisrKQorCQlwdXRjaGFyKCdcbicpOworCisJcHJpbnRmKCJrZXk9JXNcbiIsIHZhcik7CisJcHJpbnRmKCJ2YWx1ZT0lc1xuIiwgdmFsdWUgPyB2YWx1ZSA6ICIobnVsbCkiKTsKKwlwcmludGYoIm9yaWdpbj0lc1xuIiwgY3VycmVudF9jb25maWdfb3JpZ2luX3R5cGUoKSk7CisJcHJpbnRmKCJuYW1lPSVzXG4iLCBjdXJyZW50X2NvbmZpZ19uYW1lKCkpOworCXByaW50Zigic2NvcGU9JXNcbiIsIHNjb3BlX25hbWUoY3VycmVudF9jb25maWdfc2NvcGUoKSkpOworCisJcmV0dXJuIDA7Cit9CiAKIGludCBjbWRfbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCiB7CkBAIC0zOSw2ICs3Miw5IEBACiAJY29uc3QgY2hhciAqdjsKIAljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnN0cnB0cjsKIAlzdHJ1Y3QgY29uZmlnX3NldCBjczsKKworCXNldHVwX2dpdF9kaXJlY3RvcnkoKTsKKwogCWdpdF9jb25maWdzZXRfaW5pdCgmY3MpOwogCiAJaWYgKGFyZ2MgPCAyKSB7CkBAIC0xMzQsNiArMTcwLDkgQEAKIAkJCXByaW50ZigiVmFsdWUgbm90IGZvdW5kIGZvciBcIiVzXCJcbiIsIGFyZ3ZbMl0pOwogCQkJZ290byBleGl0MTsKIAkJfQorCX0gZWxzZSBpZiAoIXN0cmNtcChhcmd2WzFdLCAiaXRlcmF0ZSIpKSB7CisJCWdpdF9jb25maWcoaXRlcmF0ZV9jYiwgTlVMTCk7CisJCWdvdG8gZXhpdDA7CiAJfQogCiAJZGllKCIlczogUGxlYXNlIGNoZWNrIHRoZSBzeW50YXggYW5kIHRoZSBmdW5jdGlvbiBuYW1lIiwgYXJndlswXSk7CmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LWRhdGUuYyBiL3QvaGVscGVyL3Rlc3QtZGF0ZS5jCmluZGV4IDBmM2NmYjEuLjUwNjA1NGIgMTAwNjQ0Ci0tLSBhL3QvaGVscGVyL3Rlc3QtZGF0ZS5jCisrKyBiL3QvaGVscGVyL3Rlc3QtZGF0ZS5jCkBAIC0xLDExICsxLDEyIEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgKnVzYWdlX21zZyA9ICJcbiIKLSIgIHRlc3QtZGF0ZSBzaG93IFt0aW1lX3RdLi4uXG4iCisiICB0ZXN0LWRhdGUgcmVsYXRpdmUgW3RpbWVfdF0uLi5cbiIKKyIgIHRlc3QtZGF0ZSBzaG93Ojxmb3JtYXQ+IFt0aW1lX3RdLi4uXG4iCiAiICB0ZXN0LWRhdGUgcGFyc2UgW2RhdGVdLi4uXG4iCiAiICB0ZXN0LWRhdGUgYXBwcm94aWRhdGUgW2RhdGVdLi4uXG4iOwogCi1zdGF0aWMgdm9pZCBzaG93X2RhdGVzKGNvbnN0IGNoYXIgKiphcmd2LCBzdHJ1Y3QgdGltZXZhbCAqbm93KQorc3RhdGljIHZvaWQgc2hvd19yZWxhdGl2ZV9kYXRlcyhjb25zdCBjaGFyICoqYXJndiwgc3RydWN0IHRpbWV2YWwgKm5vdykKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCkBAIC0xNyw2ICsxOCwyOSBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogfQogCitzdGF0aWMgdm9pZCBzaG93X2RhdGVzKGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpmb3JtYXQpCit7CisJc3RydWN0IGRhdGVfbW9kZSBtb2RlOworCisJcGFyc2VfZGF0ZV9mb3JtYXQoZm9ybWF0LCAmbW9kZSk7CisJZm9yICg7ICphcmd2OyBhcmd2KyspIHsKKwkJY2hhciAqYXJnOworCQl0aW1lX3QgdDsKKwkJaW50IHR6OworCisJCS8qCisJCSAqIERvIG5vdCB1c2Ugb3VyIG5vcm1hbCB0aW1lc3RhbXAgcGFyc2luZyBoZXJlLCBhcyB0aGUgcG9pbnQKKwkJICogaXMgdG8gdGVzdCB0aGUgZm9ybWF0dGluZyBjb2RlIGluIGlzb2xhdGlvbi4KKwkJICovCisJCXQgPSBzdHJ0b2woKmFyZ3YsICZhcmcsIDEwKTsKKwkJd2hpbGUgKCphcmcgPT0gJyAnKQorCQkJYXJnKys7CisJCXR6ID0gYXRvaShhcmcpOworCisJCXByaW50ZigiJXMgLT4gJXNcbiIsICphcmd2LCBzaG93X2RhdGUodCwgdHosICZtb2RlKSk7CisJfQorfQorCiBzdGF0aWMgdm9pZCBwYXJzZV9kYXRlcyhjb25zdCBjaGFyICoqYXJndiwgc3RydWN0IHRpbWV2YWwgKm5vdykKIHsKIAlzdHJ1Y3Qgc3RyYnVmIHJlc3VsdCA9IFNUUkJVRl9JTklUOwpAQCAtNjEsOCArODUsMTAgQEAKIAlhcmd2Kys7CiAJaWYgKCEqYXJndikKIAkJdXNhZ2UodXNhZ2VfbXNnKTsKLQlpZiAoIXN0cmNtcCgqYXJndiwgInNob3ciKSkKLQkJc2hvd19kYXRlcyhhcmd2KzEsICZub3cpOworCWlmICghc3RyY21wKCphcmd2LCAicmVsYXRpdmUiKSkKKwkJc2hvd19yZWxhdGl2ZV9kYXRlcyhhcmd2KzEsICZub3cpOworCWVsc2UgaWYgKHNraXBfcHJlZml4KCphcmd2LCAic2hvdzoiLCAmeCkpCisJCXNob3dfZGF0ZXMoYXJndisxLCB4KTsKIAllbHNlIGlmICghc3RyY21wKCphcmd2LCAicGFyc2UiKSkKIAkJcGFyc2VfZGF0ZXMoYXJndisxLCAmbm93KTsKIAllbHNlIGlmICghc3RyY21wKCphcmd2LCAiYXBwcm94aWRhdGUiKSkKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtZHVtcC1jYWNoZS10cmVlLmMgYi90L2hlbHBlci90ZXN0LWR1bXAtY2FjaGUtdHJlZS5jCmluZGV4IDQ0ZjMyOTAuLjdhZjExNmQgMTAwNjQ0Ci0tLSBhL3QvaGVscGVyL3Rlc3QtZHVtcC1jYWNoZS10cmVlLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1kdW1wLWNhY2hlLXRyZWUuYwpAQCAtNTgsNiArNTgsNyBAQAogewogCXN0cnVjdCBpbmRleF9zdGF0ZSBpc3RhdGU7CiAJc3RydWN0IGNhY2hlX3RyZWUgKmFub3RoZXIgPSBjYWNoZV90cmVlKCk7CisJc2V0dXBfZ2l0X2RpcmVjdG9yeSgpOwogCWlmIChyZWFkX2NhY2hlKCkgPCAwKQogCQlkaWUoInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiKTsKIAlpc3RhdGUgPSB0aGVfaW5kZXg7CmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LWR1bXAtc3BsaXQtaW5kZXguYyBiL3QvaGVscGVyL3Rlc3QtZHVtcC1zcGxpdC1pbmRleC5jCmluZGV4IGQxNjg5MjQuLmU0NDQzMGIgMTAwNjQ0Ci0tLSBhL3QvaGVscGVyL3Rlc3QtZHVtcC1zcGxpdC1pbmRleC5jCisrKyBiL3QvaGVscGVyL3Rlc3QtZHVtcC1zcGxpdC1pbmRleC5jCkBAIC0yMyw3ICsyMyw3IEBACiAJZm9yIChpID0gMDsgaSA8IHRoZV9pbmRleC5jYWNoZV9ucjsgaSsrKSB7CiAJCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSB0aGVfaW5kZXguY2FjaGVbaV07CiAJCXByaW50ZigiJTA2byAlcyAlZFx0JXNcbiIsIGNlLT5jZV9tb2RlLAotCQkgICAgICAgc2hhMV90b19oZXgoY2UtPnNoYTEpLCBjZV9zdGFnZShjZSksIGNlLT5uYW1lKTsKKwkJICAgICAgIG9pZF90b19oZXgoJmNlLT5vaWQpLCBjZV9zdGFnZShjZSksIGNlLT5uYW1lKTsKIAl9CiAJcHJpbnRmKCJyZXBsYWNlbWVudHM6Iik7CiAJaWYgKHNpLT5yZXBsYWNlX2JpdG1hcCkKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtZHVtcC11bnRyYWNrZWQtY2FjaGUuYyBiL3QvaGVscGVyL3Rlc3QtZHVtcC11bnRyYWNrZWQtY2FjaGUuYwppbmRleCA1MDExMmNjLi5mNzUyNTMyIDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LWR1bXAtdW50cmFja2VkLWNhY2hlLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1kdW1wLXVudHJhY2tlZC1jYWNoZS5jCkBAIC0xOCwxMCArMTgsOCBAQAogc3RhdGljIHZvaWQgZHVtcChzdHJ1Y3QgdW50cmFja2VkX2NhY2hlX2RpciAqdWNkLCBzdHJ1Y3Qgc3RyYnVmICpiYXNlKQogewogCWludCBpLCBsZW47Ci0JcXNvcnQodWNkLT51bnRyYWNrZWQsIHVjZC0+dW50cmFja2VkX25yLCBzaXplb2YoKnVjZC0+dW50cmFja2VkKSwKLQkgICAgICBjb21wYXJlX3VudHJhY2tlZCk7Ci0JcXNvcnQodWNkLT5kaXJzLCB1Y2QtPmRpcnNfbnIsIHNpemVvZigqdWNkLT5kaXJzKSwKLQkgICAgICBjb21wYXJlX2Rpcik7CisJUVNPUlQodWNkLT51bnRyYWNrZWQsIHVjZC0+dW50cmFja2VkX25yLCBjb21wYXJlX3VudHJhY2tlZCk7CisJUVNPUlQodWNkLT5kaXJzLCB1Y2QtPmRpcnNfbnIsIGNvbXBhcmVfZGlyKTsKIAlsZW4gPSBiYXNlLT5sZW47CiAJc3RyYnVmX2FkZGYoYmFzZSwgIiVzLyIsIHVjZC0+bmFtZSk7CiAJcHJpbnRmKCIlcyAlcyIsIGJhc2UtPmJ1ZiwKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtcGFyc2Utb3B0aW9ucy5jIGIvdC9oZWxwZXIvdGVzdC1wYXJzZS1vcHRpb25zLmMKaW5kZXggZDUxZDI5Mi4uYTAxNDMwYyAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1wYXJzZS1vcHRpb25zLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1wYXJzZS1vcHRpb25zLmMKQEAgLTEyLDcgKzEyLDcgQEAKIHN0YXRpYyBjaGFyICpzdHJpbmcgPSBOVUxMOwogc3RhdGljIGNoYXIgKmZpbGUgPSBOVUxMOwogc3RhdGljIGludCBhbWJpZ3VvdXM7Ci1zdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IGxpc3Q7CitzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IGxpc3QgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCiBzdGF0aWMgc3RydWN0IHsKIAlpbnQgY2FsbGVkOwpkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1yZWdleC5jIGIvdC9oZWxwZXIvdGVzdC1yZWdleC5jCmluZGV4IDM3YjdmMDYuLmI1ZWE4YTkgMTAwNjQ0Ci0tLSBhL3QvaGVscGVyL3Rlc3QtcmVnZXguYworKysgYi90L2hlbHBlci90ZXN0LXJlZ2V4LmMKQEAgLTEsNiArMSwyMyBAQAogI2luY2x1ZGUgImdpdC1jb21wYXQtdXRpbC5oIgorI2luY2x1ZGUgImdldHRleHQuaCIKIAotaW50IGNtZF9tYWluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKK3N0cnVjdCByZWdfZmxhZyB7CisJY29uc3QgY2hhciAqbmFtZTsKKwlpbnQgZmxhZzsKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVnX2ZsYWcgcmVnX2ZsYWdzW10gPSB7CisJeyAiRVhURU5ERUQiLAkgUkVHX0VYVEVOREVECX0sCisJeyAiTkVXTElORSIsCSBSRUdfTkVXTElORQl9LAorCXsgIklDQVNFIiwJIFJFR19JQ0FTRQl9LAorCXsgIk5PVEJPTCIsCSBSRUdfTk9UQk9MCX0sCisjaWZkZWYgUkVHX1NUQVJURU5ECisJeyAiU1RBUlRFTkQiLAkgUkVHX1NUQVJURU5ECX0sCisjZW5kaWYKKwl7IE5VTEwsIDAgfQorfTsKKworc3RhdGljIGludCB0ZXN0X3JlZ2V4X2J1Zyh2b2lkKQogewogCWNoYXIgKnBhdCA9ICJbXj17fSBcdF0rIjsKIAljaGFyICpzdHIgPSAiPXt9XG5mcmVkIjsKQEAgLTE2LDUgKzMzLDQzIEBACiAJaWYgKG1bMF0ucm1fc28gPT0gMykgLyogbWF0Y2hlcyAnXG4nIHdoZW4gaXQgc2hvdWxkIG5vdCAqLwogCQlkaWUoInJlZ2V4IGJ1ZyBjb25maXJtZWQ6IHJlLWJ1aWxkIGdpdCB3aXRoIE5PX1JFR0VYPTEiKTsKIAotCWV4aXQoMCk7CisJcmV0dXJuIDA7Cit9CisKK2ludCBjbWRfbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJY29uc3QgY2hhciAqcGF0OworCWNvbnN0IGNoYXIgKnN0cjsKKwlpbnQgZmxhZ3MgPSAwOworCXJlZ2V4X3QgcjsKKwlyZWdtYXRjaF90IG1bMV07CisKKwlpZiAoYXJnYyA9PSAyICYmICFzdHJjbXAoYXJndlsxXSwgIi0tYnVnIikpCisJCXJldHVybiB0ZXN0X3JlZ2V4X2J1ZygpOworCWVsc2UgaWYgKGFyZ2MgPCAzKQorCQl1c2FnZSgidGVzdC1yZWdleCAtLWJ1Z1xuIgorCQkgICAgICAidGVzdC1yZWdleCA8cGF0dGVybj4gPHN0cmluZz4gWzxvcHRpb25zPl0iKTsKKworCWFyZ3YrKzsKKwlwYXQgPSAqYXJndisrOworCXN0ciA9ICphcmd2Kys7CisJd2hpbGUgKCphcmd2KSB7CisJCXN0cnVjdCByZWdfZmxhZyAqcmY7CisJCWZvciAocmYgPSByZWdfZmxhZ3M7IHJmLT5uYW1lOyByZisrKQorCQkJaWYgKCFzdHJjbXAoKmFyZ3YsIHJmLT5uYW1lKSkgeworCQkJCWZsYWdzIHw9IHJmLT5mbGFnOworCQkJCWJyZWFrOworCQkJfQorCQlpZiAoIXJmLT5uYW1lKQorCQkJZGllKCJkbyBub3QgcmVjb2duaXplICVzIiwgKmFyZ3YpOworCQlhcmd2Kys7CisJfQorCWdpdF9zZXR1cF9nZXR0ZXh0KCk7CisKKwlpZiAocmVnY29tcCgmciwgcGF0LCBmbGFncykpCisJCWRpZSgiZmFpbGVkIHJlZ2NvbXAoKSBmb3IgcGF0dGVybiAnJXMnIiwgcGF0KTsKKwlpZiAocmVnZXhlYygmciwgc3RyLCAxLCBtLCAwKSkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtcnVuLWNvbW1hbmQuYyBiL3QvaGVscGVyL3Rlc3QtcnVuLWNvbW1hbmQuYwppbmRleCBjNzFlYTRmLi5kMjRkMTU3IDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LXJ1bi1jb21tYW5kLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1ydW4tY29tbWFuZC5jCkBAIC0yNiw3ICsyNiw3IEBACiAJCXJldHVybiAwOwogCiAJYXJndl9hcnJheV9wdXNodigmY3AtPmFyZ3MsIGQtPmFyZ3YpOwotCXN0cmJ1Zl9hZGRmKGVyciwgInByZWxvYWRlZCBvdXRwdXQgb2YgYSBjaGlsZFxuIik7CisJc3RyYnVmX2FkZHN0cihlcnIsICJwcmVsb2FkZWQgb3V0cHV0IG9mIGEgY2hpbGRcbiIpOwogCW51bWJlcl9jYWxsYmFja3MrKzsKIAlyZXR1cm4gMTsKIH0KQEAgLTM2LDcgKzM2LDcgQEAKIAkJICB2b2lkICpjYiwKIAkJICB2b2lkICoqdGFza19jYikKIHsKLQlzdHJidWZfYWRkZihlcnIsICJubyBmdXJ0aGVyIGpvYnMgYXZhaWxhYmxlXG4iKTsKKwlzdHJidWZfYWRkc3RyKGVyciwgIm5vIGZ1cnRoZXIgam9icyBhdmFpbGFibGVcbiIpOwogCXJldHVybiAwOwogfQogCkBAIC00NSw3ICs0NSw3IEBACiAJCQkgdm9pZCAqcHBfY2IsCiAJCQkgdm9pZCAqcHBfdGFza19jYikKIHsKLQlzdHJidWZfYWRkZihlcnIsICJhc2tpbmcgZm9yIGEgcXVpY2sgc3RvcFxuIik7CisJc3RyYnVmX2FkZHN0cihlcnIsICJhc2tpbmcgZm9yIGEgcXVpY2sgc3RvcFxuIik7CiAJcmV0dXJuIDE7CiB9CiAKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3Qtc2NyYXAtY2FjaGUtdHJlZS5jIGIvdC9oZWxwZXIvdGVzdC1zY3JhcC1jYWNoZS10cmVlLmMKaW5kZXggNWIyZmQwOS4uMjdmZTA0MCAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1zY3JhcC1jYWNoZS10cmVlLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1zY3JhcC1jYWNoZS10cmVlLmMKQEAgLTcsNiArNyw3IEBACiAKIGludCBjbWRfbWFpbihpbnQgYWMsIGNvbnN0IGNoYXIgKiphdikKIHsKKwlzZXR1cF9naXRfZGlyZWN0b3J5KCk7CiAJaG9sZF9sb2NrZWRfaW5kZXgoJmluZGV4X2xvY2ssIDEpOwogCWlmIChyZWFkX2NhY2hlKCkgPCAwKQogCQlkaWUoInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiKTsKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3Qtc2hhMS1hcnJheS5jIGIvdC9oZWxwZXIvdGVzdC1zaGExLWFycmF5LmMKaW5kZXggMDlmNzc5MC4uZjdhNTNjNCAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1zaGExLWFycmF5LmMKKysrIGIvdC9oZWxwZXIvdGVzdC1zaGExLWFycmF5LmMKQEAgLTEsOSArMSwxMCBAQAogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAic2hhMS1hcnJheS5oIgogCi1zdGF0aWMgdm9pZCBwcmludF9zaGExKGNvbnN0IHVuc2lnbmVkIGNoYXIgc2hhMVsyMF0sIHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IHByaW50X3NoYTEoY29uc3QgdW5zaWduZWQgY2hhciBzaGExWzIwXSwgdm9pZCAqZGF0YSkKIHsKIAlwdXRzKHNoYTFfdG9faGV4KHNoYTEpKTsKKwlyZXR1cm4gMDsKIH0KIAogaW50IGNtZF9tYWluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3Qtc3VibW9kdWxlLWNvbmZpZy5jIGIvdC9oZWxwZXIvdGVzdC1zdWJtb2R1bGUtY29uZmlnLmMKaW5kZXggMmNmZmRlZC4uMmYxNDRkNSAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1zdWJtb2R1bGUtY29uZmlnLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1zdWJtb2R1bGUtY29uZmlnLmMKQEAgLTIzLDcgKzIzLDcgQEAKIAogCWFyZysrOwogCW15X2FyZ2MtLTsKLQl3aGlsZSAoc3RhcnRzX3dpdGgoYXJnWzBdLCAiLS0iKSkgeworCXdoaWxlIChhcmdbMF0gJiYgc3RhcnRzX3dpdGgoYXJnWzBdLCAiLS0iKSkgewogCQlpZiAoIXN0cmNtcChhcmdbMF0sICItLXVybCIpKQogCQkJb3V0cHV0X3VybCA9IDE7CiAJCWlmICghc3RyY21wKGFyZ1swXSwgIi0tbmFtZSIpKQpAQCAtNDksNyArNDksNyBAQAogCQlwYXRoX29yX25hbWUgPSBhcmdbMV07CiAKIAkJaWYgKGNvbW1pdFswXSA9PSAnXDAnKQotCQkJaGFzaGNweShjb21taXRfc2hhMSwgbnVsbF9zaGExKTsKKwkJCWhhc2hjbHIoY29tbWl0X3NoYTEpOwogCQllbHNlIGlmIChnZXRfc2hhMShjb21taXQsIGNvbW1pdF9zaGExKSA8IDApCiAJCQlkaWVfdXNhZ2UoYXJnYywgYXJndiwgIkNvbW1pdCBub3QgZm91bmQuIik7CiAKZGlmZiAtLWdpdCBhL3QvbGliLWdpdC1kYWVtb24uc2ggYi90L2xpYi1naXQtZGFlbW9uLnNoCmluZGV4IDM0MDUzNGMuLmY5Y2JkNDcgMTAwNjQ0Ci0tLSBhL3QvbGliLWdpdC1kYWVtb24uc2gKKysrIGIvdC9saWItZ2l0LWRhZW1vbi5zaApAQCAtODIsOCArODIsNyBAQAogCWtpbGwgIiRHSVRfREFFTU9OX1BJRCIKIAl3YWl0ICIkR0lUX0RBRU1PTl9QSUQiID4mMyAyPiY0CiAJcmV0PSQ/Ci0JIyBleHBlY3QgZXhpdCB3aXRoIHN0YXR1cyAxNDMgPSAxMjgrMTUgZm9yIHNpZ25hbCBURVJNPTE1Ci0JaWYgdGVzdCAkcmV0IC1uZSAxNDMKKwlpZiB0ZXN0X21hdGNoX3NpZ25hbCAxNSAkPwogCXRoZW4KIAkJZXJyb3IgImdpdCBkYWVtb24gZXhpdGVkIHdpdGggc3RhdHVzOiAkcmV0IgogCWZpCmRpZmYgLS1naXQgYS90L2xpYi1naXQtc3ZuLnNoIGIvdC9saWItZ2l0LXN2bi5zaAppbmRleCBmYjg4MjMyLi42ODgzMTNlIDEwMDY0NAotLS0gYS90L2xpYi1naXQtc3ZuLnNoCisrKyBiL3QvbGliLWdpdC1zdm4uc2gKQEAgLTY1LDgxICs2NSwyMiBAQAogCXN2biAiJG9yaWdfc3ZuY21kIiAtLWNvbmZpZy1kaXIgIiRzdm5jb25mIiAiJEAiCiB9CiAKLXByZXBhcmVfaHR0cGQgKCkgewotCWZvciBkIGluIFwKLQkJIiRTVk5fSFRUUERfUEFUSCIgXAotCQkvdXNyL3NiaW4vYXBhY2hlMiBcCi0JCS91c3Ivc2Jpbi9odHRwZCBcCi0JOyBkbwotCQlpZiB0ZXN0IC1mICIkZCIKLQkJdGhlbgotCQkJU1ZOX0hUVFBEX1BBVEg9IiRkIgotCQkJYnJlYWsKLQkJZmkKLQlkb25lCi0JaWYgdGVzdCAteiAiJFNWTl9IVFRQRF9QQVRIIgotCXRoZW4KLQkJZWNobyA+JjIgJyoqKiBlcnJvcjogQXBhY2hlIG5vdCBmb3VuZCcKLQkJcmV0dXJuIDEKLQlmaQotCWZvciBkIGluIFwKLQkJIiRTVk5fSFRUUERfTU9EVUxFX1BBVEgiIFwKLQkJL3Vzci9saWIvYXBhY2hlMi9tb2R1bGVzIFwKLQkJL3Vzci9saWJleGVjL2FwYWNoZTIgXAotCTsgZG8KLQkJaWYgdGVzdCAtZCAiJGQiCi0JCXRoZW4KLQkJCVNWTl9IVFRQRF9NT0RVTEVfUEFUSD0iJGQiCi0JCQlicmVhawotCQlmaQotCWRvbmUKLQlpZiB0ZXN0IC16ICIkU1ZOX0hUVFBEX01PRFVMRV9QQVRIIgotCXRoZW4KLQkJZWNobyA+JjIgJyoqKiBlcnJvcjogQXBhY2hlIG1vZHVsZSBkaXIgbm90IGZvdW5kJwotCQlyZXR1cm4gMQotCWZpCi0JaWYgdGVzdCAhIC1mICIkU1ZOX0hUVFBEX01PRFVMRV9QQVRIL21vZF9kYXZfc3ZuLnNvIgotCXRoZW4KLQkJZWNobyA+JjIgJyoqKiBlcnJvcjogQXBhY2hlIG1vZHVsZSAibW9kX2Rhdl9zdm4iIG5vdCBmb3VuZCcKLQkJcmV0dXJuIDEKLQlmaQorbWF5YmVfc3RhcnRfaHR0cGQgKCkgeworCWxvYz0kezEtc3ZufQogCi0JcmVwb19iYXNlX3BhdGg9IiR7MS1zdm59IgotCW1rZGlyICIkR0lUX0RJUiIvbG9ncwotCi0JY2F0ID4gIiRHSVRfRElSL2h0dHBkLmNvbmYiIDw8RU9GCi1TZXJ2ZXJOYW1lICJnaXQgc3ZuIHRlc3QiCi1TZXJ2ZXJSb290ICIkR0lUX0RJUiIKLURvY3VtZW50Um9vdCAiJEdJVF9ESVIiCi1QaWRGaWxlICIkR0lUX0RJUi9odHRwZC5waWQiCi1Mb2NrRmlsZSBsb2dzL2FjY2VwdC5sb2NrCi1MaXN0ZW4gMTI3LjAuMC4xOiRTVk5fSFRUUERfUE9SVAotTG9hZE1vZHVsZSBkYXZfbW9kdWxlICRTVk5fSFRUUERfTU9EVUxFX1BBVEgvbW9kX2Rhdi5zbwotTG9hZE1vZHVsZSBkYXZfc3ZuX21vZHVsZSAkU1ZOX0hUVFBEX01PRFVMRV9QQVRIL21vZF9kYXZfc3ZuLnNvCi08TG9jYXRpb24gLyRyZXBvX2Jhc2VfcGF0aD4KLQlEQVYgc3ZuCi0JU1ZOUGF0aCAiJHJhd3N2bnJlcG8iCi08L0xvY2F0aW9uPgotRU9GCi19Ci0KLXN0YXJ0X2h0dHBkICgpIHsKLQlpZiB0ZXN0IC16ICIkU1ZOX0hUVFBEX1BPUlQiCi0JdGhlbgotCQllY2hvID4mMiAnU1ZOX0hUVFBEX1BPUlQgaXMgbm90IGRlZmluZWQhJwotCQlyZXR1cm4KLQlmaQotCi0JcHJlcGFyZV9odHRwZCAiJDEiIHx8IHJldHVybiAxCi0KLQkiJFNWTl9IVFRQRF9QQVRIIiAtZiAiJEdJVF9ESVIiL2h0dHBkLmNvbmYgLWsgc3RhcnQKLQlzdm5yZXBvPSJodHRwOi8vMTI3LjAuMC4xOiRTVk5fSFRUUERfUE9SVC8kcmVwb19iYXNlX3BhdGgiCi19Ci0KLXN0b3BfaHR0cGQgKCkgewotCXRlc3QgLXogIiRTVk5fSFRUUERfUE9SVCIgJiYgcmV0dXJuCi0JdGVzdCAhIC1mICIkR0lUX0RJUi9odHRwZC5jb25mIiAmJiByZXR1cm4KLQkiJFNWTl9IVFRQRF9QQVRIIiAtZiAiJEdJVF9ESVIiL2h0dHBkLmNvbmYgLWsgc3RvcAorCXRlc3RfdHJpc3RhdGUgR0lUX1NWTl9URVNUX0hUVFBECisJY2FzZSAkR0lUX1NWTl9URVNUX0hUVFBEIGluCisJdHJ1ZSkKKwkJLiAiJFRFU1RfRElSRUNUT1JZIi9saWItaHR0cGQuc2gKKwkJTElCX0hUVFBEX1NWTj0iJGxvYyIKKwkJc3RhcnRfaHR0cGQKKwkJOzsKKwkqKQorCQlzdG9wX2h0dHBkICgpIHsKKwkJCTogbm9vcAorCQl9CisJCTs7CisJZXNhYwogfQogCiBjb252ZXJ0X3RvX3Jldl9kYiAoKSB7CmRpZmYgLS1naXQgYS90L2xpYi1odHRwZC5zaCBiL3QvbGliLWh0dHBkLnNoCmluZGV4IGY5ZjNlNWYuLjQzNWEzNzQgMTAwNjQ0Ci0tLSBhL3QvbGliLWh0dHBkLnNoCisrKyBiL3QvbGliLWh0dHBkLnNoCkBAIC0yNCw3ICsyNCw3IEBACiAjICAgIExJQl9IVFRQRF9NT0RVTEVfUEFUSCAgICAgICB3ZWIgc2VydmVyIG1vZHVsZXMgcGF0aAogIyAgICBMSUJfSFRUUERfUE9SVCAgICAgICAgICAgICAgbGlzdGVuaW5nIHBvcnQKICMgICAgTElCX0hUVFBEX0RBViAgICAgICAgICAgICAgIGVuYWJsZSBEQVYKLSMgICAgTElCX0hUVFBEX1NWTiAgICAgICAgICAgICAgIGVuYWJsZSBTVk4KKyMgICAgTElCX0hUVFBEX1NWTiAgICAgICAgICAgICAgIGVuYWJsZSBTVk4gYXQgZ2l2ZW4gbG9jYXRpb24gKGUuZy4gInN2biIpCiAjICAgIExJQl9IVFRQRF9TU0wgICAgICAgICAgICAgICBlbmFibGUgU1NMCiAjCiAjIENvcHlyaWdodCAoYykgMjAwOCBDbGVtZW5zIEJ1Y2hhY2hlciA8ZHJpenpkQGFvbi5hdD4KQEAgLTE2Miw4ICsxNjIsMTAgQEAKIAkJaWYgdGVzdCAtbiAiJExJQl9IVFRQRF9TVk4iCiAJCXRoZW4KIAkJCUhUVFBEX1BBUkE9IiRIVFRQRF9QQVJBIC1EU1ZOIgotCQkJcmF3c3ZucmVwbz0iJEhUVFBEX1JPT1RfUEFUSC9zdm5yZXBvIgotCQkJc3ZucmVwbz0iaHR0cDovLzEyNy4wLjAuMTokTElCX0hUVFBEX1BPUlQvc3ZuIgorCQkJTElCX0hUVFBEX1NWTlBBVEg9IiRyYXdzdm5yZXBvIgorCQkJc3ZucmVwbz0iaHR0cDovLzEyNy4wLjAuMTokTElCX0hUVFBEX1BPUlQvIgorCQkJc3ZucmVwbz0iJHN2bnJlcG8kTElCX0hUVFBEX1NWTiIKKwkJCWV4cG9ydCBMSUJfSFRUUERfU1ZOIExJQl9IVFRQRF9TVk5QQVRICiAJCWZpCiAJZmkKIH0KQEAgLTE4MCw2ICsxODIsNyBAQAogCWlmIHRlc3QgJD8gLW5lIDAKIAl0aGVuCiAJCXRyYXAgJ2RpZScgRVhJVAorCQljYXQgIiRIVFRQRF9ST09UX1BBVEgiL2Vycm9yLmxvZyA+JjQgMj4vZGV2L251bGwKIAkJdGVzdF9za2lwX29yX2RpZSAkR0lUX1RFU1RfSFRUUEQgIndlYiBzZXJ2ZXIgc2V0dXAgZmFpbGVkIgogCWZpCiB9CmRpZmYgLS1naXQgYS90L2xpYi1odHRwZC9hcGFjaGUuY29uZiBiL3QvbGliLWh0dHBkL2FwYWNoZS5jb25mCmluZGV4IDAxOGE4M2EuLmMzZTYzMTMgMTAwNjQ0Ci0tLSBhL3QvbGliLWh0dHBkL2FwYWNoZS5jb25mCisrKyBiL3QvbGliLWh0dHBkL2FwYWNoZS5jb25mCkBAIC0yMDgsOCArMjA4LDggQEAKIDxJZkRlZmluZSBTVk4+CiAJTG9hZE1vZHVsZSBkYXZfc3ZuX21vZHVsZSBtb2R1bGVzL21vZF9kYXZfc3ZuLnNvCiAKLQk8TG9jYXRpb24gL3N2bj4KKwk8TG9jYXRpb24gLyR7TElCX0hUVFBEX1NWTn0+CiAJCURBViBzdm4KLQkJU1ZOUGF0aCBzdm5yZXBvCisJCVNWTlBhdGggIiR7TElCX0hUVFBEX1NWTlBBVEh9IgogCTwvTG9jYXRpb24+CiA8L0lmRGVmaW5lPgpkaWZmIC0tZ2l0IGEvdC9saWItcmViYXNlLnNoIGIvdC9saWItcmViYXNlLnNoCmluZGV4IDlhOTZlMTUuLjI1YTc3ZWUgMTAwNjQ0Ci0tLSBhL3QvbGliLXJlYmFzZS5zaAorKysgYi90L2xpYi1yZWJhc2Uuc2gKQEAgLTI5LDYgKzI5LDcgQEAKIAkqL0NPTU1JVF9FRElUTVNHKQogCQl0ZXN0IC16ICIkRVhQRUNUX0hFQURFUl9DT1VOVCIgfHwKIAkJCXRlc3QgIiRFWFBFQ1RfSEVBREVSX0NPVU5UIiA9ICIkKHNlZCAtbiAnMXMvXiMgVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIFwoLipcKSBjb21taXRzXC4vXDEvcCcgPCAiJDEiKSIgfHwKKwkJCXRlc3QgIiMgIyBHRVRURVhUIFBPSVNPTiAjIiA9ICIkKHNlZCAtbiAnMXAnIDwgIiQxIikiIHx8CiAJCQlleGl0CiAJCXRlc3QgLXogIiRGQUtFX0NPTU1JVF9NRVNTQUdFIiB8fCBlY2hvICIkRkFLRV9DT01NSVRfTUVTU0FHRSIgPiAiJDEiCiAJCXRlc3QgLXogIiRGQUtFX0NPTU1JVF9BTUVORCIgfHwgZWNobyAiJEZBS0VfQ09NTUlUX0FNRU5EIiA+PiAiJDEiCmRpZmYgLS1naXQgYS90L3BlcmYvUkVBRE1FIGIvdC9wZXJmL1JFQURNRQppbmRleCA4ODQ4YzE0Li40OWVhNDM0IDEwMDY0NAotLS0gYS90L3BlcmYvUkVBRE1FCisrKyBiL3QvcGVyZi9SRUFETUUKQEAgLTExNSw4ICsxMTUsMTYgQEAKIAogQXQgbGVhc3Qgb25lIG9mIHRoZSBmaXJzdCB0d28gaXMgcmVxdWlyZWQhCiAKLVlvdSBjYW4gdXNlIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgYXMgdXN1YWwuICBGb3IgYWN0dWFsIHBlcmZvcm1hbmNlCi10ZXN0cywgdXNlCitZb3UgY2FuIHVzZSB0ZXN0X2V4cGVjdF9zdWNjZXNzIGFzIHVzdWFsLiBJbiBib3RoIHRlc3RfZXhwZWN0X3N1Y2Nlc3MKK2FuZCBpbiB0ZXN0X3BlcmYsIHJ1bm5pbmcgImdpdCIgcG9pbnRzIHRvIHRoZSB2ZXJzaW9uIHRoYXQgaXMgYmVpbmcKK3BlcmYtdGVzdGVkLiBUaGUgJE1PREVSTl9HSVQgdmFyaWFibGUgcG9pbnRzIHRvIHRoZSBnaXQgd3JhcHBlciBmb3IgdGhlCitjdXJyZW50bHkgY2hlY2tlZC1vdXQgdmVyc2lvbiAoaS5lLiwgdGhlIG9uZSB0aGF0IG1hdGNoZXMgdGhlIHQvcGVyZgorc2NyaXB0cyB5b3UgYXJlIHJ1bm5pbmcpLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91ciBzZXR1cCB1c2VzIGNvbW1hbmRzCit0aGF0IG9ubHkgd29yayB3aXRoIG5ld2VyIHZlcnNpb25zIG9mIGdpdCB0aGFuIHdoYXQgeW91IG1pZ2h0IHdhbnQgdG8KK3Rlc3QgKGJ1dCBvYnZpb3VzbHkgeW91ciBuZXcgY29tbWFuZHMgbXVzdCBzdGlsbCBjcmVhdGUgYSBzdGF0ZSB0aGF0IGNhbgorYmUgdXNlZCBieSB0aGUgb2xkZXIgdmVyc2lvbiBvZiBnaXQgeW91IGFyZSB0ZXN0aW5nKS4KKworRm9yIGFjdHVhbCBwZXJmb3JtYW5jZSB0ZXN0cywgdXNlCiAKIAl0ZXN0X3BlcmYgJ2Rlc2NyaXB0aXZlIHN0cmluZycgJwogCQljb21tYW5kMSAmJgpkaWZmIC0tZ2l0IGEvdC9wZXJmL3AwMDAzLWRlbHRhLWJhc2UtY2FjaGUuc2ggYi90L3BlcmYvcDAwMDMtZGVsdGEtYmFzZS1jYWNoZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MjM2OWVhCi0tLSAvZGV2L251bGwKKysrIGIvdC9wZXJmL3AwMDAzLWRlbHRhLWJhc2UtY2FjaGUuc2gKQEAgLTAsMCArMSwzMSBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J1Rlc3Qgb3BlcmF0aW9ucyB0aGF0IGVtcGhhc2l6ZSB0aGUgZGVsdGEgYmFzZSBjYWNoZS4KKworV2UgbG9vayBhdCBib3RoICJsb2cgLS1yYXciLCB3aGljaCBzaG91bGQgcHV0IG9ubHkgdHJlZXMgaW50byB0aGUgZGVsdGEgY2FjaGUsCithbmQgImxvZyAtU2ZvbyAtLXJhdyIsIHdoaWNoIHNob3VsZCBsb29rIGF0IGJvdGggdHJlZXMgYW5kIGJsb2JzLgorCitBbnkgZWZmZWN0cyB3aWxsIGJlIGVtcGhhc2l6ZWQgaWYgdGhlIHRlc3QgcmVwb3NpdG9yeSBpcyBmdWxseSBwYWNrZWQgKGxvb3NlCitvYmplY3RzIG9idmlvdXNseSBkbyBub3QgdXNlIHRoZSBkZWx0YSBiYXNlIGNhY2hlIGF0IGFsbCkuIEl0IGlzIGFsc28KK2VtcGhhc2l6ZWQgaWYgdGhlIHBhY2sgaGFzIGxvbmcgZGVsdGEgY2hhaW5zIChlLmcuLCBhcyBwcm9kdWNlZCBieSAiZ2MKKy0tYWdncmVzc2l2ZSIpLCB0aG91Z2ggY2FjaGUgaXMgc3RpbGwgcXVpdGUgbm90aWNlYWJsZSBldmVuIHdpdGggdGhlIGRlZmF1bHQKK2RlcHRoIG9mIDUwLgorCitUaGUgc2V0dGluZyBvZiBjb3JlLmRlbHRhQmFzZUNhY2hlTGltaXQgaW4gdGhlIHNvdXJjZSByZXBvc2l0b3J5IGlzIGFsc28KK3JlbGV2YW50IChkZXBlbmRpbmcgb24gdGhlIHNpemUgb2YgeW91ciB0ZXN0IHJlcG8pLCBzbyBiZSBzdXJlIGl0IGlzIGNvbnNpc3RlbnQKK2JldHdlZW4gcnVucy4KKycKKy4gLi9wZXJmLWxpYi5zaAorCit0ZXN0X3BlcmZfbGFyZ2VfcmVwbworCisjIHB1dHMgbW9zdGx5IHRyZWVzIGludG8gdGhlIGRlbHRhIGJhc2UgY2FjaGUKK3Rlc3RfcGVyZiAnbG9nIC0tcmF3JyAnCisJZ2l0IGxvZyAtLXJhdyA+L2Rldi9udWxsCisnCisKK3Rlc3RfcGVyZiAnbG9nIC1TJyAnCisJZ2l0IGxvZyAtLXJhdyAtU2ZvbyA+L2Rldi9udWxsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC9wZXJmL3AzNDAwLXJlYmFzZS5zaCBiL3QvcGVyZi9wMzQwMC1yZWJhc2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjNlN2Q1MgotLS0gL2Rldi9udWxsCisrKyBiL3QvcGVyZi9wMzQwMC1yZWJhc2Uuc2gKQEAgLTAsMCArMSwzNiBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J1Rlc3RzIHJlYmFzZSBwZXJmb3JtYW5jZScKKy4gLi9wZXJmLWxpYi5zaAorCit0ZXN0X3BlcmZfZGVmYXVsdF9yZXBvCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJZ2l0IGNoZWNrb3V0IC1mIC1iIGJhc2UgJiYKKwlnaXQgY2hlY2tvdXQgLWIgdG8tcmViYXNlICYmCisJZ2l0IGNoZWNrb3V0IC1iIHVwc3RyZWFtICYmCisJZm9yIGkgaW4gJChzZXEgMTAwKQorCWRvCisJCSMgc2ltdWxhdGUgaHVnZSBkaWZmcworCQllY2hvIGNoYW5nZSRpID51bnJlbGF0ZWQtZmlsZSRpICYmCisJCXNlcSAxMDAwID4+dW5yZWxhdGVkLWZpbGUkaSAmJgorCQlnaXQgYWRkIHVucmVsYXRlZC1maWxlJGkgJiYKKwkJdGVzdF90aWNrICYmCisJCWdpdCBjb21taXQgLW0gY29tbWl0JGkgdW5yZWxhdGVkLWZpbGUkaSAmJgorCQllY2hvIGNoYW5nZSRpID51bnJlbGF0ZWQtZmlsZSRpICYmCisJCXNlcSAxMDAwIHwgdGFjID4+dW5yZWxhdGVkLWZpbGUkaSAmJgorCQlnaXQgYWRkIHVucmVsYXRlZC1maWxlJGkgJiYKKwkJdGVzdF90aWNrICYmCisJCWdpdCBjb21taXQgLW0gY29tbWl0JGktcmV2ZXJzZSB1bnJlbGF0ZWQtZmlsZSRpIHx8CisJCWJyZWFrCisJZG9uZSAmJgorCWdpdCBjaGVja291dCB0by1yZWJhc2UgJiYKKwl0ZXN0X2NvbW1pdCBvdXItcGF0Y2ggaW50ZXJlc3RpbmctZmlsZQorJworCit0ZXN0X3BlcmYgJ3JlYmFzZSBvbiB0b3Agb2YgYSBsb3Qgb2YgdW5yZWxhdGVkIGNoYW5nZXMnICcKKwlnaXQgcmViYXNlIC0tb250byB1cHN0cmVhbSBIRUFEXiAmJgorCWdpdCByZWJhc2UgLS1vbnRvIGJhc2UgSEVBRF4KKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3BlcmYvcDQyMTEtbGluZS1sb2cuc2ggYi90L3BlcmYvcDQyMTEtbGluZS1sb2cuc2gKaW5kZXggM2QwNzRiMC4uYjdmZjY4ZCAxMDA3NTUKLS0tIGEvdC9wZXJmL3A0MjExLWxpbmUtbG9nLnNoCisrKyBiL3QvcGVyZi9wNDIxMS1saW5lLWxvZy5zaApAQCAtMjMsMTEgKzIzLDExIEBACiAJZ2l0IGxvZyAtLW9uZWxpbmUgLS1mb2xsb3cgLS0gIiRmaWxlIiA+L2Rldi9udWxsCiAnCiAKLXRlc3RfcGVyZiAnZ2l0IGxvZyAtTCcgJwotCWdpdCBsb2cgLUwgMToiJGZpbGUiID4vZGV2L251bGwKK3Rlc3RfcGVyZiAnZ2l0IGxvZyAtTCAocmVuYW1lcyBvZmYpJyAnCisJZ2l0IGxvZyAtLW5vLXJlbmFtZXMgLUwgMToiJGZpbGUiID4vZGV2L251bGwKICcKIAotdGVzdF9wZXJmICdnaXQgbG9nIC1NIC1MJyAnCit0ZXN0X3BlcmYgJ2dpdCBsb2cgLUwgKHJlbmFtZXMgb24pJyAnCiAJZ2l0IGxvZyAtTSAtTCAxOiIkZmlsZSIgPi9kZXYvbnVsbAogJwogCmRpZmYgLS1naXQgYS90L3BlcmYvcDUzMDMtbWFueS1wYWNrcy5zaCBiL3QvcGVyZi9wNTMwMy1tYW55LXBhY2tzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM3Nzk4NTEKLS0tIC9kZXYvbnVsbAorKysgYi90L3BlcmYvcDUzMDMtbWFueS1wYWNrcy5zaApAQCAtMCwwICsxLDg3IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ncGVyZm9ybWFuY2Ugd2l0aCBsYXJnZSBudW1iZXJzIG9mIHBhY2tzJworLiAuL3BlcmYtbGliLnNoCisKK3Rlc3RfcGVyZl9sYXJnZV9yZXBvCisKKyMgQSByZWFsIG1hbnktcGFjayBzaXR1YXRpb24gd291bGQgcHJvYmFibHkgY29tZSBmcm9tIGhhdmluZyBhIGxvdCBvZiBwdXNoZXMKKyMgb3ZlciB0aW1lLiBXZSBkb24ndCBrbm93IGhvdyBiaWcgZWFjaCBwdXNoIHdvdWxkIGJlLCBidXQgd2UgY2FuIGZha2UgaXQgYnkKKyMganVzdCB3YWxraW5nIHRoZSBmaXJzdC1wYXJlbnQgY2hhaW4gYW5kIGhhdmluZyBldmVyeSA1IGNvbW1pdHMgYmUgdGhlaXIgb3duCisjICJwdXNoIi4gVGhpcyBpc24ndCBfZW50aXJlbHlfIGFjY3VyYXRlLCBhcyByZWFsIHB1c2hlcyB3b3VsZCBoYXZlIHNvbWUKKyMgZHVwbGljYXRlIG9iamVjdHMgZHVlIHRvIHRoaW4tcGFjayBmaXhpbmcsIGJ1dCBpdCdzIGEgcmVhc29uYWJsZQorIyBhcHByb3hpbWF0aW9uLgorIworIyBBbmQgdGhlbiBhbGwgb2YgdGhlIHJlc3Qgb2YgdGhlIG9iamVjdHMgY2FuIGdvIGluIGEgc2luZ2xlIHBhY2tmaWxlIHRoYXQKKyMgcmVwcmVzZW50cyB0aGUgc3RhdGUgYmVmb3JlIGFueSBvZiB0aG9zZSBwdXNoZXMgKGFjdHVhbGx5LCB3ZSdsbCBnZW5lcmF0ZQorIyB0aGF0IGZpcnN0IGJlY2F1c2UgaW4gc3VjaCBhIHNldHVwIGl0IHdvdWxkIGJlIHRoZSBvbGRlc3QgcGFjaywgYW5kIHdlIHNvcnQKKyMgdGhlIHBhY2tzIGJ5IHJldmVyc2UgbXRpbWUgaW5zaWRlIGdpdCkuCityZXBhY2tfaW50b19uICgpIHsKKwlybSAtcmYgc3RhZ2luZyAmJgorCW1rZGlyIHN0YWdpbmcgJiYKKworCWdpdCByZXYtbGlzdCAtLWZpcnN0LXBhcmVudCBIRUFEIHwKKwlzZWQgLW4gJzF+NXAnIHwKKwloZWFkIC1uICIkMSIgfAorCXBlcmwgLWUgJ3ByaW50IHJldmVyc2UgPD4nIFwKKwk+cHVzaGVzCisKKwkjIGNyZWF0ZSBiYXNlIHBhY2tmaWxlCisJaGVhZCAtbiAxIHB1c2hlcyB8CisJZ2l0IHBhY2stb2JqZWN0cyAtLWRlbHRhLWJhc2Utb2Zmc2V0IC0tcmV2cyBzdGFnaW5nL3BhY2sKKworCSMgYW5kIHRoZW4gaW5jcmVtZW50YWxzIGJldHdlZW4gZWFjaCBwYWlyIG9mIGNvbW1pdHMKKwlsYXN0PSAmJgorCXdoaWxlIHJlYWQgcmV2CisJZG8KKwkJaWYgdGVzdCAtbiAiJGxhc3QiOyB0aGVuCisJCQl7CisJCQkJZWNobyAiJHJldiIgJiYKKwkJCQllY2hvICJeJGxhc3QiCisJCQl9IHwKKwkJCWdpdCBwYWNrLW9iamVjdHMgLS1kZWx0YS1iYXNlLW9mZnNldCAtLXJldnMgXAorCQkJCXN0YWdpbmcvcGFjayB8fCByZXR1cm4gMQorCQlmaQorCQlsYXN0PSRyZXYKKwlkb25lIDxwdXNoZXMgJiYKKworCSMgYW5kIGluc3RhbGwgdGhlIHdob2xlIHRoaW5nCisJcm0gLWYgLmdpdC9vYmplY3RzL3BhY2svKiAmJgorCW12IHN0YWdpbmcvKiAuZ2l0L29iamVjdHMvcGFjay8KK30KKworIyBQcmV0ZW5kIHdlIGp1c3QgaGF2ZSBhIHNpbmdsZSBicmFuY2ggYW5kIG5vIHJlZmxvZ3MsIGFuZCB0aGF0IGV2ZXJ5dGhpbmcgaXMKKyMgaW4gb2JqZWN0cy9wYWNrOyB0aGF0IG1ha2VzIG91ciBmYWtlIHBhY2stYnVpbGRpbmcgdmlhIHJlcGFja19pbnRvX24oKQorIyBtdWNoIHNpbXBsZXIuCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaW1wbGlmeSByZWFjaGFiaWxpdHknICcKKwl0aXA9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQpICYmCisJZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0ib3B0aW9uIG5vLWRlcmVmJTBhZGVsZXRlICUocmVmbmFtZSkiIHwKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluICYmCisJcm0gLXJmIC5naXQvbG9ncyAmJgorCWdpdCB1cGRhdGUtcmVmIHJlZnMvaGVhZHMvbWFzdGVyICR0aXAgJiYKKwlnaXQgc3ltYm9saWMtcmVmIEhFQUQgcmVmcy9oZWFkcy9tYXN0ZXIgJiYKKwlnaXQgcmVwYWNrIC1hZAorJworCitmb3IgbnJfcGFja3MgaW4gMSA1MCAxMDAwCitkbworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImNyZWF0ZSAkbnJfcGFja3MtcGFjayBzY2VuYXJpbyIgJworCQlyZXBhY2tfaW50b19uICRucl9wYWNrcworCScKKworCXRlc3RfcGVyZiAicmV2LWxpc3QgKCRucl9wYWNrcykiICcKKwkJZ2l0IHJldi1saXN0IC0tb2JqZWN0cyAtLWFsbCA+L2Rldi9udWxsCisJJworCisJIyBUaGlzIHNpbXVsYXRlcyB0aGUgaW50ZXJlc3RpbmcgcGFydCBvZiB0aGUgcmVwYWNrLCB3aGljaCBpcyB0aGUKKwkjIGFjdHVhbCBwYWNrIGdlbmVyYXRpb24sIHdpdGhvdXQgc211ZGdpbmcgdGhlIG9uLWRpc2sgc2V0dXAKKwkjIGJldHdlZW4gdHJpYWxzLgorCXRlc3RfcGVyZiAicmVwYWNrICgkbnJfcGFja3MpIiAnCisJCWdpdCBwYWNrLW9iamVjdHMgLS1rZWVwLXRydWUtcGFyZW50cyBcCisJCSAgLS1ob25vci1wYWNrLWtlZXAgLS1ub24tZW1wdHkgLS1hbGwgXAorCQkgIC0tcmVmbG9nIC0taW5kZXhlZC1vYmplY3RzIC0tZGVsdGEtYmFzZS1vZmZzZXQgXAorCQkgIC0tc3Rkb3V0IDwvZGV2L251bGwgPi9kZXYvbnVsbAorCScKK2RvbmUKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3BlcmYvcDUzMTAtcGFjay1iaXRtYXBzLnNoIGIvdC9wZXJmL3A1MzEwLXBhY2stYml0bWFwcy5zaAppbmRleCBkZTJhMjI0Li5iYjkxZGJiIDEwMDc1NQotLS0gYS90L3BlcmYvcDUzMTAtcGFjay1iaXRtYXBzLnNoCisrKyBiL3QvcGVyZi9wNTMxMC1wYWNrLWJpdG1hcHMuc2gKQEAgLTMyLDYgKzMyLDE0IEBACiAJfSB8IGdpdCBwYWNrLW9iamVjdHMgLS1yZXZzIC0tc3Rkb3V0ID4vZGV2L251bGwKICcKIAordGVzdF9wZXJmICdwYWNrIHRvIGZpbGUnICcKKwlnaXQgcGFjay1vYmplY3RzIC0tYWxsIHBhY2sxIDwvZGV2L251bGwgPi9kZXYvbnVsbAorJworCit0ZXN0X3BlcmYgJ3BhY2sgdG8gZmlsZSAoYml0bWFwKScgJworCWdpdCBwYWNrLW9iamVjdHMgLS11c2UtYml0bWFwLWluZGV4IC0tYWxsIHBhY2sxYiA8L2Rldi9udWxsID4vZGV2L251bGwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIHBhcnRpYWwgYml0bWFwIHN0YXRlJyAnCiAJIyBwaWNrIGEgY29tbWl0IHRvIHJlcHJlc2VudCB0aGUgcmVwbyB0aXAgaW4gdGhlIHBhc3QKIAljdXRvZmY9JChnaXQgcmV2LWxpc3QgSEVBRH4xMDAgLTEpICYmCkBAIC01Myw4ICs2MSwxMiBAQAogCWdpdCB1cGRhdGUtcmVmIEhFQUQgJG9yaWdfdGlwCiAnCiAKLXRlc3RfcGVyZiAncGFydGlhbCBiaXRtYXAnICcKK3Rlc3RfcGVyZiAnY2xvbmUgKHBhcnRpYWwgYml0bWFwKScgJwogCWdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgLS1hbGwgPC9kZXYvbnVsbCA+L2Rldi9udWxsCiAnCiAKK3Rlc3RfcGVyZiAncGFjayB0byBmaWxlIChwYXJ0aWFsIGJpdG1hcCknICcKKwlnaXQgcGFjay1vYmplY3RzIC0tdXNlLWJpdG1hcC1pbmRleCAtLWFsbCBwYWNrMmIgPC9kZXYvbnVsbCA+L2Rldi9udWxsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC9wZXJmL3A1NTUwLWZldGNoLXRhZ3Muc2ggYi90L3BlcmYvcDU1NTAtZmV0Y2gtdGFncy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNWRjMzlmCi0tLSAvZGV2L251bGwKKysrIGIvdC9wZXJmL3A1NTUwLWZldGNoLXRhZ3Muc2gKQEAgLTAsMCArMSw5OSBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3BlcmZvcm1hbmNlIG9mIHRhZy1mb2xsb3dpbmcgd2l0aCBtYW55IHRhZ3MKKworVGhpcyB0ZXN0cyBhIGZhaXJseSBwYXRob2xvZ2ljYWwgY2FzZSwgc28gcmF0aGVyIHRoYW4gcmVseSBvbiBhIHJlYWwtd29ybGQKK2Nhc2UsIHdlIHdpbGwgY29uc3RydWN0IG91ciBvd24gcmVwb3NpdG9yeS4gVGhlIHNpdHVhdGlvbiBpcyByb3VnaGx5IGFzCitmb2xsb3dzLgorCitUaGUgcGFyZW50IHJlcG9zaXRvcnkgaGFzIGEgbGFyZ2UgbnVtYmVyIG9mIHRhZ3Mgd2hpY2ggYXJlIGRpc2Nvbm5lY3RlZCBmcm9tCit0aGUgcmVzdCBvZiBoaXN0b3J5LiBUaGF0IG1ha2VzIHRoZW0gY2FuZGlkYXRlcyBmb3IgdGFnLWZvbGxvd2luZywgYnV0IHdlIG5ldmVyCithY3R1YWxseSBncmFiIHRoZW0gKGFuZCB0aHVzIHRoZXkgd2lsbCBpbXBhY3QgZWFjaCBzdWJzZXF1ZW50IGZldGNoKS4KKworVGhlIGNoaWxkIHJlcG9zaXRvcnkgaXMgYSBjbG9uZSBvZiBwYXJlbnQsIHdpdGhvdXQgdGhlIHRhZ3MsIGFuZCBpcyBhdCBsZWFzdAorb25lIGNvbW1pdCBiZWhpbmQgdGhlIHBhcmVudCAobWVhbmluZyB0aGF0IHdlIHdpbGwgZmV0Y2ggb25lIG9iamVjdCBhbmQgdGhlbgorZXhhbWluZSB0aGUgdGFncyB0byBzZWUgaWYgdGhleSBuZWVkIGZvbGxvd2VkKS4gRnVydGhlcm1vcmUsIGl0IGhhcyBhIGxhcmdlCitudW1iZXIgb2YgcGFja3MuCisKK1RoZSBleGFjdCB2YWx1ZXMgb2YgImxhcmdlIiBoZXJlIGFyZSBzb21ld2hhdCBhcmJpdHJhcnk7IEkgcGlja2VkIHZhbHVlcyB0aGF0CitzdGFydCB0byBzaG93IGEgbm90aWNlYWJsZSBwZXJmb3JtYW5jZSBwcm9ibGVtIG9uIG15IG1hY2hpbmUsIGJ1dCB3aXRob3V0Cit0YWtpbmcgdG9vIGxvbmcgdG8gc2V0IHVwIGFuZCBydW4gdGhlIHRlc3RzLgorJworLiAuL3BlcmYtbGliLnNoCisKKyMgbWFrZSBhIGxvbmcgbm9uc2Vuc2UgaGlzdG9yeSBvbiBicmFuY2ggJDEsIGNvbnNpc3Rpbmcgb2YgJDIgY29tbWl0cywgZWFjaAorIyB3aXRoIGEgdW5pcXVlIGZpbGUgcG9pbnRpbmcgdG8gdGhlIGJsb2IgYXQgJDIuCitjcmVhdGVfaGlzdG9yeSAoKSB7CisJcGVybCAtbGUgJworCQlteSAoJGJyYW5jaCwgJG4sICRibG9iKSA9IEBBUkdWOworCQlmb3IgKDEuLiRuKSB7CisJCQlwcmludCAiY29tbWl0IHJlZnMvaGVhZHMvJGJyYW5jaCI7CisJCQlwcmludCAiY29tbWl0dGVyIG5vYm9keSA8bm9ib2R5QGV4YW1wbGUuY29tPiBub3ciOworCQkJcHJpbnQgImRhdGEgNCI7CisJCQlwcmludCAiZm9vIjsKKwkJCXByaW50ICJNIDEwMDY0NCAkYmxvYiAkXyI7CisJCX0KKwknICIkQCIgfAorCWdpdCBmYXN0LWltcG9ydCAtLWRhdGUtZm9ybWF0PW5vdworfQorCisjIG1ha2UgYSBzZXJpZXMgb2YgdGFncywgb25lIHBlciBjb21taXQgaW4gdGhlIHJldmlzaW9uIHJhbmdlIGdpdmVuIGJ5ICRACitjcmVhdGVfdGFncyAoKSB7CisJZ2l0IHJldi1saXN0ICIkQCIgfAorCXBlcmwgLWxuZSAncHJpbnQgImNyZWF0ZSByZWZzL3RhZ3MvJC4gJF8iJyB8CisJZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbgorfQorCisjIGNyZWF0ZSAkMSBub25zZW5zZSBwYWNrcywgZWFjaCB3aXRoIGEgc2luZ2xlIGJsb2IKK2NyZWF0ZV9wYWNrcyAoKSB7CisJcGVybCAtbGUgJworCQlteSAoJG4pID0gQEFSR1Y7CisJCWZvciAoMS4uJG4pIHsKKwkJCXByaW50ICJibG9iIjsKKwkJCXByaW50ICJkYXRhIDw8RU9GIjsKKwkJCXByaW50ICIkXyI7CisJCQlwcmludCAiRU9GIjsKKwkJfQorCScgIiRAIiB8CisJZ2l0IGZhc3QtaW1wb3J0ICYmCisKKwlnaXQgY2F0LWZpbGUgLS1iYXRjaC1hbGwtb2JqZWN0cyAtLWJhdGNoLWNoZWNrPSclKG9iamVjdG5hbWUpJyB8CisJd2hpbGUgcmVhZCBzaGExCisJZG8KKwkJZWNobyAkc2hhMSB8IGdpdCBwYWNrLW9iamVjdHMgLmdpdC9vYmplY3RzL3BhY2svcGFjaworCWRvbmUKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIHBhcmVudCBhbmQgY2hpbGQnICcKKwlnaXQgaW5pdCBwYXJlbnQgJiYKKwlnaXQgLUMgcGFyZW50IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tIGJhc2UgJiYKKwlnaXQgY2xvbmUgcGFyZW50IGNoaWxkICYmCisJZ2l0IC1DIHBhcmVudCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSB0cmlnZ2VyLWZldGNoCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BvcHVsYXRlIHBhcmVudCB0YWdzJyAnCisJKAorCQljZCBwYXJlbnQgJiYKKwkJYmxvYj0kKGVjaG8gY29udGVudCB8IGdpdCBoYXNoLW9iamVjdCAtdyAtLXN0ZGluKSAmJgorCQljcmVhdGVfaGlzdG9yeSBjcnVmdCAzMDAwICRibG9iICYmCisJCWNyZWF0ZV90YWdzIGNydWZ0ICYmCisJCWdpdCBicmFuY2ggLUQgY3J1ZnQKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSBjaGlsZCBwYWNrcycgJworCSgKKwkJY2QgY2hpbGQgJiYKKwkJZ2l0IGNvbmZpZyBnYy5hdXRvIDAgJiYKKwkJZ2l0IGNvbmZpZyBnYy5hdXRvcGFja2xpbWl0IDAgJiYKKwkJY3JlYXRlX3BhY2tzIDUwMAorCSkKKycKKwordGVzdF9wZXJmICdmZXRjaCcgJworCSMgbWFrZSBzdXJlIHRoZXJlIGlzIHNvbWV0aGluZyB0byBmZXRjaCBvbiBlYWNoIGl0ZXJhdGlvbgorCWdpdCAtQyBjaGlsZCB1cGRhdGUtcmVmIC1kIHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyICYmCisJZ2l0IC1DIGNoaWxkIGZldGNoCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC9wZXJmL3BlcmYtbGliLnNoIGIvdC9wZXJmL3BlcmYtbGliLnNoCmluZGV4IDE4YzM2M2UuLjQ2ZjA4ZWUgMTAwNjQ0Ci0tLSBhL3QvcGVyZi9wZXJmLWxpYi5zaAorKysgYi90L3BlcmYvcGVyZi1saWIuc2gKQEAgLTUyLDYgKzUyLDkgQEAKICMgbmVlZCB0byBleHBvcnQgdGhlbSBmb3IgdGVzdF9wZXJmIHN1YnNoZWxscwogZXhwb3J0IFRFU1RfRElSRUNUT1JZIFRSQVNIX0RJUkVDVE9SWSBHSVRfQlVJTERfRElSIEdJVF9URVNUX0NNUAogCitNT0RFUk5fR0lUPSRHSVRfQlVJTERfRElSL2Jpbi13cmFwcGVycy9naXQKK2V4cG9ydCBNT0RFUk5fR0lUCisKIHBlcmZfcmVzdWx0c19kaXI9JFRFU1RfT1VUUFVUX0RJUkVDVE9SWS90ZXN0LXJlc3VsdHMKIG1rZGlyIC1wICIkcGVyZl9yZXN1bHRzX2RpciIKIHJtIC1mICIkcGVyZl9yZXN1bHRzX2RpciIvJChiYXNlbmFtZSAiJDAiIC5zaCkuc3VidGVzdHMKQEAgLTgxLDcgKzg0LDcgQEAKIAlyZXBvPSIkMSIKIAlzb3VyY2U9IiQyIgogCXNvdXJjZV9naXQ9IiQoZ2l0IC1DICIkc291cmNlIiByZXYtcGFyc2UgLS1naXQtZGlyKSIKLQlvYmplY3RzX2Rpcj0iJChnaXQgLUMgIiRzb3VyY2UiIHJldi1wYXJzZSAtLWdpdC1wYXRoIG9iamVjdHMpIgorCW9iamVjdHNfZGlyPSIkKCIkTU9ERVJOX0dJVCIgLUMgIiRzb3VyY2UiIHJldi1wYXJzZSAtLWdpdC1wYXRoIG9iamVjdHMpIgogCW1rZGlyIC1wICIkcmVwby8uZ2l0IgogCSgKIAkJY2QgIiRzb3VyY2UiICYmCkBAIC0xMjcsMTEgKzEzMCwxNSBAQAogIyBQZXJmb3JtYW5jZSB0ZXN0cyBzaG91bGQgbmV2ZXIgZmFpbC4gIElmIHRoZXkgZG8sIHN0b3AgaW1tZWRpYXRlbHkKIGltbWVkaWF0ZT10CiAKKyMgUGVyZiB0ZXN0cyByZXF1aXJlIEdOVSB0aW1lCitjYXNlICIkKHVuYW1lIC1zKSIgaW4gRGFyd2luKSBHVElNRT0iJHtHVElNRTotZ3RpbWV9Ijs7IGVzYWMKK0dUSU1FPSIke0dUSU1FOi0vdXNyL2Jpbi90aW1lfSIKKwogdGVzdF9ydW5fcGVyZl8gKCkgewogCXRlc3RfY2xlYW51cD06CiAJdGVzdF9leHBvcnRfPSJ0ZXN0X2NsZWFudXAiCiAJZXhwb3J0IHRlc3RfY2xlYW51cCB0ZXN0X2V4cG9ydF8KLQkvdXNyL2Jpbi90aW1lIC1mICIlRSAlVSAlUyIgLW8gdGVzdF90aW1lLiRpICIkU0hFTEwiIC1jICcKKwkiJEdUSU1FIiAtZiAiJUUgJVUgJVMiIC1vIHRlc3RfdGltZS4kaSAiJFNIRUxMIiAtYyAnCiAuICciJFRFU1RfRElSRUNUT1JZIi90ZXN0LWxpYi1mdW5jdGlvbnMuc2gnCiB0ZXN0X2V4cG9ydCAoKSB7CiAJWyAkIyAhPSAwIF0gfHwgcmV0dXJuIDAKZGlmZiAtLWdpdCBhL3QvcGVyZi9ydW4gYi90L3BlcmYvcnVuCmluZGV4IGNmZDcwMTIuLmU4YWRlZGEgMTAwNzU1Ci0tLSBhL3QvcGVyZi9ydW4KKysrIGIvdC9wZXJmL3J1bgpAQCAtMzAsNyArMzAsMTMgQEAKIH0KIGJ1aWxkX2dpdF9yZXYgKCkgewogCXJldj0kMQotCWNwIC4uLy4uL2NvbmZpZy5tYWsgYnVpbGQvJHJldi9jb25maWcubWFrCisJZm9yIGNvbmZpZyBpbiBjb25maWcubWFrIGNvbmZpZy5tYWsuYXV0b2dlbiBjb25maWcuc3RhdHVzCisJZG8KKwkJaWYgdGVzdCAtZSAiLi4vLi4vJGNvbmZpZyIKKwkJdGhlbgorCQkJY3AgIi4uLy4uLyRjb25maWciICJidWlsZC8kcmV2LyIKKwkJZmkKKwlkb25lCiAJKGNkIGJ1aWxkLyRyZXYgJiYgbWFrZSAkR0lUX1BFUkZfTUFLRV9PUFRTKSB8fAogCWRpZSAiZmFpbGVkIHRvIGJ1aWxkIHJldmlzaW9uICckbXlkaXInIgogfQpkaWZmIC0tZ2l0IGEvdC90MDAwMC1iYXNpYy5zaCBiL3QvdDAwMDAtYmFzaWMuc2gKaW5kZXggNjA4MTFhMy4uMWFhNTA5MyAxMDA3NTUKLS0tIGEvdC90MDAwMC1iYXNpYy5zaAorKysgYi90L3QwMDAwLWJhc2ljLnNoCkBAIC04MzQsNyArODM0LDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndmFsaWRhdGUgb2JqZWN0IElEIG9mIGEga25vd24gdHJlZScgJwotCXRlc3QgIiR0cmVlIiA9IDRiODI1ZGM2NDJjYjZlYjlhMDYwZTU0YmY4ZDY5Mjg4ZmJlZTQ5MDQKKwl0ZXN0ICIkdHJlZSIgPSAkRU1QVFlfVFJFRQogJwogCiAjIFZhcmlvdXMgdHlwZXMgb2Ygb2JqZWN0cwpkaWZmIC0tZ2l0IGEvdC90MDAwMS1pbml0LnNoIGIvdC90MDAwMS1pbml0LnNoCmluZGV4IGE2ZmRkNWUuLmI4ZmM1ODggMTAwNzU1Ci0tLSBhL3QvdDAwMDEtaW5pdC5zaAorKysgYi90L3QwMDAxLWluaXQuc2gKQEAgLTM4NCw0ICszODQsMzAgQEAKIAkhIGlzX2hpZGRlbiBuZXdkaXIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVtb3RlIGluaXQgZnJvbSBkb2VzIG5vdCB1c2UgY29uZmlnIGZyb20gY3dkJyAnCisJcm0gLXJmIG5ld2RpciAmJgorCXRlc3RfY29uZmlnIGNvcmUubG9nYWxscmVmdXBkYXRlcyB0cnVlICYmCisJZ2l0IGluaXQgbmV3ZGlyICYmCisJZWNobyB0cnVlID5leHBlY3QgJiYKKwlnaXQgLUMgbmV3ZGlyIGNvbmZpZyAtLWJvb2wgY29yZS5sb2dhbGxyZWZ1cGRhdGVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlLWluaXQgZnJvbSBhIGxpbmtlZCB3b3JrdHJlZScgJworCWdpdCBpbml0IG1haW4td29ya3RyZWUgJiYKKwkoCisJCWNkIG1haW4td29ya3RyZWUgJiYKKwkJdGVzdF9jb21taXQgZmlyc3QgJiYKKwkJZ2l0IHdvcmt0cmVlIGFkZCAuLi9saW5rZWQtd29ya3RyZWUgJiYKKwkJbXYgLmdpdC9pbmZvL2V4Y2x1ZGUgZXhwZWN0ZWQtZXhjbHVkZSAmJgorCQljcCAuZ2l0L2NvbmZpZyBleHBlY3RlZC1jb25maWcgJiYKKwkJZmluZCAuZ2l0L3dvcmt0cmVlcyAtcHJpbnQgfCBzb3J0ID5leHBlY3RlZCAmJgorCQlnaXQgLUMgLi4vbGlua2VkLXdvcmt0cmVlIGluaXQgJiYKKwkJdGVzdF9jbXAgZXhwZWN0ZWQtZXhjbHVkZSAuZ2l0L2luZm8vZXhjbHVkZSAmJgorCQl0ZXN0X2NtcCBleHBlY3RlZC1jb25maWcgLmdpdC9jb25maWcgJiYKKwkJZmluZCAuZ2l0L3dvcmt0cmVlcyAtcHJpbnQgfCBzb3J0ID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDAwMDUtc2lnbmFscy5zaCBiL3QvdDAwMDUtc2lnbmFscy5zaAppbmRleCBlN2YyN2ViLi40NjA0MmYxIDEwMDc1NQotLS0gYS90L3QwMDA1LXNpZ25hbHMuc2gKKysrIGIvdC90MDAwNS1zaWduYWxzLnNoCkBAIC0xMSwxMiArMTEsMTMgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2lnY2hhaW4gd29ya3MnICcKIAl7IHRlc3Qtc2lnY2hhaW4gPmFjdHVhbDsgcmV0PSQ/OyB9ICYmCi0JY2FzZSAiJHJldCIgaW4KLQkxNDMpIHRydWUgOzsgIyBQT1NJWCB3LyBTSUdURVJNPTE1Ci0JMjcxKSB0cnVlIDs7ICMga3NoIHcvIFNJR1RFUk09MTUKLQkgIDMpIHRydWUgOzsgIyBXaW5kb3dzCi0JICAqKSBmYWxzZSA7OwotCWVzYWMgJiYKKwl7CisJCSMgU2lnbmFsIGRlYXRoIGJ5IHJhaXNlKCkgb24gV2luZG93cyBhY3RzIGxpa2UgZXhpdCgzKSwKKwkJIyByZWdhcmRsZXNzIG9mIHRoZSBzaWduYWwgbnVtYmVyLiBTbyB3ZSBtdXN0IGFsbG93IHRoYXQKKwkJIyBhcyB3ZWxsIGFzIHRoZSBub3JtYWwgc2lnbmFsIGNoZWNrLgorCQl0ZXN0X21hdGNoX3NpZ25hbCAxNSAiJHJldCIgfHwKKwkJdGVzdCAiJHJldCIgPSAzCisJfSAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtNDEsMTIgKzQyLDEyIEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgIU1JTkdXICdhIGNvbnN0aXBhdGVkIGdpdCBkaWVzIHdpdGggU0lHUElQRScgJwogCU9VVD0kKCAoKGxhcmdlX2dpdDsgZWNobyAkPyAxPiYzKSB8IDopIDM+JjEgKSAmJgotCXRlc3QgIiRPVVQiIC1lcSAxNDEKKwl0ZXN0X21hdGNoX3NpZ25hbCAxMyAiJE9VVCIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAhTUlOR1cgJ2EgY29uc3RpcGF0ZWQgZ2l0IGRpZXMgd2l0aCBTSUdQSVBFIGV2ZW4gaWYgcGFyZW50IGlnbm9yZXMgaXQnICcKIAlPVVQ9JCggKCh0cmFwICIiIFBJUEU7IGxhcmdlX2dpdDsgZWNobyAkPyAxPiYzKSB8IDopIDM+JjEgKSAmJgotCXRlc3QgIiRPVVQiIC1lcSAxNDEKKwl0ZXN0X21hdGNoX3NpZ25hbCAxMyAiJE9VVCIKICcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QwMDA2LWRhdGUuc2ggYi90L3QwMDA2LWRhdGUuc2gKaW5kZXggZmFjMDk4Ni4uYzBjOTEwOCAxMDA3NTUKLS0tIGEvdC90MDAwNi1kYXRlLnNoCisrKyBiL3QvdDAwMDYtZGF0ZS5zaApAQCAtNiwyNiArNiw1NSBAQAogIyBhcmJpdHJhcnkgcmVmZXJlbmNlIHRpbWU6IDIwMDktMDgtMzAgMTk6MjA6MDAKIFRFU1RfREFURV9OT1c9MTI1MTY2MDAwMDsgZXhwb3J0IFRFU1RfREFURV9OT1cKIAotY2hlY2tfc2hvdygpIHsKK2NoZWNrX3JlbGF0aXZlKCkgewogCXQ9JCgoJFRFU1RfREFURV9OT1cgLSAkMSkpCiAJZWNobyAiJHQgLT4gJDIiID5leHBlY3QKIAl0ZXN0X2V4cGVjdF8kezM6LXN1Y2Nlc3N9ICJyZWxhdGl2ZSBkYXRlICgkMikiICIKLQl0ZXN0LWRhdGUgc2hvdyAkdCA+YWN0dWFsICYmCisJdGVzdC1kYXRlIHJlbGF0aXZlICR0ID5hY3R1YWwgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogCSIKIH0KIAotY2hlY2tfc2hvdyA1ICc1IHNlY29uZHMgYWdvJwotY2hlY2tfc2hvdyAzMDAgJzUgbWludXRlcyBhZ28nCi1jaGVja19zaG93IDE4MDAwICc1IGhvdXJzIGFnbycKLWNoZWNrX3Nob3cgNDMyMDAwICc1IGRheXMgYWdvJwotY2hlY2tfc2hvdyAxNzI4MDAwICczIHdlZWtzIGFnbycKLWNoZWNrX3Nob3cgMTMwMDAwMDAgJzUgbW9udGhzIGFnbycKLWNoZWNrX3Nob3cgMzc1MDAwMDAgJzEgeWVhciwgMiBtb250aHMgYWdvJwotY2hlY2tfc2hvdyA1NTE4ODAwMCAnMSB5ZWFyLCA5IG1vbnRocyBhZ28nCi1jaGVja19zaG93IDYzMDAwMDAwMCAnMjAgeWVhcnMgYWdvJwotY2hlY2tfc2hvdyAzMTQ0OTYwMCAnMTIgbW9udGhzIGFnbycKLWNoZWNrX3Nob3cgNjI5ODU2MDAgJzIgeWVhcnMgYWdvJworY2hlY2tfcmVsYXRpdmUgNSAnNSBzZWNvbmRzIGFnbycKK2NoZWNrX3JlbGF0aXZlIDMwMCAnNSBtaW51dGVzIGFnbycKK2NoZWNrX3JlbGF0aXZlIDE4MDAwICc1IGhvdXJzIGFnbycKK2NoZWNrX3JlbGF0aXZlIDQzMjAwMCAnNSBkYXlzIGFnbycKK2NoZWNrX3JlbGF0aXZlIDE3MjgwMDAgJzMgd2Vla3MgYWdvJworY2hlY2tfcmVsYXRpdmUgMTMwMDAwMDAgJzUgbW9udGhzIGFnbycKK2NoZWNrX3JlbGF0aXZlIDM3NTAwMDAwICcxIHllYXIsIDIgbW9udGhzIGFnbycKK2NoZWNrX3JlbGF0aXZlIDU1MTg4MDAwICcxIHllYXIsIDkgbW9udGhzIGFnbycKK2NoZWNrX3JlbGF0aXZlIDYzMDAwMDAwMCAnMjAgeWVhcnMgYWdvJworY2hlY2tfcmVsYXRpdmUgMzE0NDk2MDAgJzEyIG1vbnRocyBhZ28nCitjaGVja19yZWxhdGl2ZSA2Mjk4NTYwMCAnMiB5ZWFycyBhZ28nCisKK2NoZWNrX3Nob3cgKCkgeworCWZvcm1hdD0kMQorCXRpbWU9JDIKKwlleHBlY3Q9JDMKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICQ0ICJzaG93IGRhdGUgKCRmb3JtYXQ6JHRpbWUpIiAnCisJCWVjaG8gIiR0aW1lIC0+ICRleHBlY3QiID5leHBlY3QgJiYKKwkJdGVzdC1kYXRlIHNob3c6JGZvcm1hdCAiJHRpbWUiID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCScKK30KKworIyBhcmJpdHJhcnkgYnV0IHNlbnNpYmxlIHRpbWUgZm9yIGV4YW1wbGVzCitUSU1FPScxNDY2MDAwMDAwICswMjAwJworY2hlY2tfc2hvdyBpc284NjAxICIkVElNRSIgJzIwMTYtMDYtMTUgMTY6MTM6MjAgKzAyMDAnCitjaGVja19zaG93IGlzbzg2MDEtc3RyaWN0ICIkVElNRSIgJzIwMTYtMDYtMTVUMTY6MTM6MjArMDI6MDAnCitjaGVja19zaG93IHJmYzI4MjIgIiRUSU1FIiAnV2VkLCAxNSBKdW4gMjAxNiAxNjoxMzoyMCArMDIwMCcKK2NoZWNrX3Nob3cgc2hvcnQgIiRUSU1FIiAnMjAxNi0wNi0xNScKK2NoZWNrX3Nob3cgZGVmYXVsdCAiJFRJTUUiICdXZWQgSnVuIDE1IDE2OjEzOjIwIDIwMTYgKzAyMDAnCitjaGVja19zaG93IHJhdyAiJFRJTUUiICcxNDY2MDAwMDAwICswMjAwJworY2hlY2tfc2hvdyB1bml4ICIkVElNRSIgJzE0NjYwMDAwMDAnCitjaGVja19zaG93IGlzby1sb2NhbCAiJFRJTUUiICcyMDE2LTA2LTE1IDE0OjEzOjIwICswMDAwJworY2hlY2tfc2hvdyByYXctbG9jYWwgIiRUSU1FIiAnMTQ2NjAwMDAwMCArMDAwMCcKK2NoZWNrX3Nob3cgdW5peC1sb2NhbCAiJFRJTUUiICcxNDY2MDAwMDAwJworCisjIGFyYml0cmFyeSB0aW1lIGFic3VyZGx5IGZhciBpbiB0aGUgZnV0dXJlCitGVVRVUkU9IjU3NTgxMjIyOTYgLTA0MDAiCitjaGVja19zaG93IGlzbyAgICAgICAiJEZVVFVSRSIgIjIxNTItMDYtMTkgMTg6MjQ6NTYgLTA0MDAiIExPTkdfSVNfNjRCSVQKK2NoZWNrX3Nob3cgaXNvLWxvY2FsICIkRlVUVVJFIiAiMjE1Mi0wNi0xOSAyMjoyNDo1NiArMDAwMCIgTE9OR19JU182NEJJVAogCiBjaGVja19wYXJzZSgpIHsKIAllY2hvICIkMSAtPiAkMiIgPmV4cGVjdApkaWZmIC0tZ2l0IGEvdC90MDAwOC1pZ25vcmVzLnNoIGIvdC90MDAwOC1pZ25vcmVzLnNoCmluZGV4IGI0MjVmM2EuLmQyN2Y0MzggMTAwNzU1Ci0tLSBhL3QvdDAwMDgtaWdub3Jlcy5zaAorKysgYi90L3QwMDA4LWlnbm9yZXMuc2gKQEAgLTM0LDcgKzM0LDcgQEAKIHRlc3Rfc3RkZXJyICgpIHsKIAlleHBlY3RlZD0iJDEiCiAJZXhwZWN0X2luIHN0ZGVyciAiJDEiICYmCi0JdGVzdF9jbXAgIiRIT01FL2V4cGVjdGVkLXN0ZGVyciIgIiRIT01FL3N0ZGVyciIKKwl0ZXN0X2kxOG5jbXAgIiRIT01FL2V4cGVjdGVkLXN0ZGVyciIgIiRIT01FL3N0ZGVyciIKIH0KIAogYnJva2VuX2NfdW5xdW90ZSAoKSB7CkBAIC00Nyw3ICs0Nyw3IEBACiAKIHN0ZGVycl9jb250YWlucyAoKSB7CiAJcmVnZXhwPSIkMSIKLQlpZiBncmVwICIkcmVnZXhwIiAiJEhPTUUvc3RkZXJyIgorCWlmIHRlc3RfaTE4bmdyZXAgIiRyZWdleHAiICIkSE9NRS9zdGRlcnIiCiAJdGhlbgogCQlyZXR1cm4gMAogCWVsc2UKZGlmZiAtLWdpdCBhL3QvdDAwMTItaGVscC5zaCBiL3QvdDAwMTItaGVscC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZmFiYTJlCi0tLSAvZGV2L251bGwKKysrIGIvdC90MDAxMi1oZWxwLnNoCkBAIC0wLDAgKzEsNTIgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdoZWxwJworCisuIC4vdGVzdC1saWIuc2gKKworY29uZmlndXJlX2hlbHAgKCkgeworCXRlc3RfY29uZmlnIGhlbHAuZm9ybWF0IGh0bWwgJiYKKworCSMgVW5sZXNzIHRoZSBwYXRoIGhhcyAiOi8vIiBpbiBpdCwgR2l0IHRyaWVzIHRvIG1ha2Ugc3VyZQorCSMgdGhlIGRvY3VtZW50YXRpb24gZGlyZWN0b3J5IGxvY2FsbHkgZXhpc3RzLiBBdm9pZCBpdCBhcworCSMgd2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiBzZWVpbmcgYW4gYXR0ZW1wdCB0byBjb3JyZWN0bHkKKwkjIGludm9rZSBhIGhlbHAgYnJvd3NlciBpbiB0aGlzIHRlc3QuCisJdGVzdF9jb25maWcgaGVscC5odG1scGF0aCB0ZXN0Oi8vaHRtbCAmJgorCisJIyBOYW1lIGEgY3VzdG9tIGJyb3dzZXIKKwl0ZXN0X2NvbmZpZyBicm93c2VyLnRlc3QuY21kIC4vdGVzdC1icm93c2VyICYmCisJdGVzdF9jb25maWcgaGVscC5icm93c2VyIHRlc3QKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAic2V0dXAiICcKKwkjIEp1c3Qgd3JpdGUgb3V0IHdoaWNoIHBhZ2UgZ2V0cyByZXF1ZXN0ZWQKKwl3cml0ZV9zY3JpcHQgdGVzdC1icm93c2VyIDw8LVxFT0YKKwllY2hvICIkKiIgPnRlc3QtYnJvd3Nlci5sb2cKKwlFT0YKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAid29ya3MgZm9yIGNvbW1hbmRzIGFuZCBndWlkZXMgYnkgZGVmYXVsdCIgJworCWNvbmZpZ3VyZV9oZWxwICYmCisJZ2l0IGhlbHAgc3RhdHVzICYmCisJZWNobyAidGVzdDovL2h0bWwvZ2l0LXN0YXR1cy5odG1sIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IHRlc3QtYnJvd3Nlci5sb2cgJiYKKwlnaXQgaGVscCByZXZpc2lvbnMgJiYKKwllY2hvICJ0ZXN0Oi8vaHRtbC9naXRyZXZpc2lvbnMuaHRtbCIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCB0ZXN0LWJyb3dzZXIubG9nCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgIi0tZXhjbHVkZS1ndWlkZXMgZG9lcyBub3Qgd29yayBmb3IgZ3VpZGVzIiAnCisJPnRlc3QtYnJvd3Nlci5sb2cgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgaGVscCAtLWV4Y2x1ZGUtZ3VpZGVzIHJldmlzaW9ucyAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSB0ZXN0LWJyb3dzZXIubG9nCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgIi0taGVscCBkb2VzIG5vdCB3b3JrIGZvciBndWlkZXMiICIKKwljYXQgPDwtRU9GID5leHBlY3QgJiYKKwkJZ2l0OiAncmV2aXNpb25zJyBpcyBub3QgYSBnaXQgY29tbWFuZC4gU2VlICdnaXQgLS1oZWxwJy4KKwlFT0YKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2aXNpb25zIC0taGVscCAyPmFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCisiCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MDAyMC1jcmxmLnNoIGIvdC90MDAyMC1jcmxmLnNoCmluZGV4IGY5NDEyMGEuLjcxMzUwZTAgMTAwNzU1Ci0tLSBhL3QvdDAwMjAtY3JsZi5zaAorKysgYi90L3QwMDIwLWNybGYuc2gKQEAgLTgzLDcgKzgzLDExIEBACiAJZ2l0IGFkZCBkb3VibGV3YXJuICYmCiAJZ2l0IGNvbW1pdCAtbSAibm93YXJuIiAmJgogCWZvciB3IGluIE9oIGhlcmUgaXMgQ1JMRlEgaW4gdGV4dDsgZG8gZWNobyAkdzsgZG9uZSB8IHFfdG9fY3IgPmRvdWJsZXdhcm4gJiYKLQl0ZXN0ICQoZ2l0IGFkZCBkb3VibGV3YXJuIDI+JjEgfCBncmVwICJDUkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgTEYiIHwgd2MgLWwpID0gMQorCWdpdCBhZGQgZG91Ymxld2FybiAyPmVyciAmJgorCWlmIHRlc3RfaGF2ZV9wcmVyZXEgQ19MT0NBTEVfT1VUUFVUCisJdGhlbgorCQl0ZXN0ICQoZ3JlcCAiQ1JMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IExGIiBlcnIgfCB3YyAtbCkgPSAxCisJZmkKICcKIAogCmRpZmYgLS1naXQgYS90L3QwMDIxLWNvbnZlcnNpb24uc2ggYi90L3QwMDIxLWNvbnZlcnNpb24uc2gKaW5kZXggN2JhYzJiYy4uNGVhNTM0ZSAxMDA3NTUKLS0tIGEvdC90MDAyMS1jb252ZXJzaW9uLnNoCisrKyBiL3QvdDAwMjEtY29udmVyc2lvbi5zaApAQCAtNCwxMyArNCw3MiBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAotY2F0IDw8RU9GID5yb3QxMy5zaAotIyEkU0hFTExfUEFUSAorVEVTVF9ST09UPSIkUFdEIgorUEFUSD0kVEVTVF9ST09UOiRQQVRICisKK3dyaXRlX3NjcmlwdCA8PFxFT0YgIiRURVNUX1JPT1Qvcm90MTMuc2giCiB0ciBcCiAgICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyBcCiAgICdub3BxcnN0dXZ3eHl6YWJjZGVmZ2hpamtsbU5PUFFSU1RVVldYWVpBQkNERUZHSElKS0xNJwogRU9GCi1jaG1vZCAreCByb3QxMy5zaAorCit3cml0ZV9zY3JpcHQgcm90MTMtZmlsdGVyLnBsICIkUEVSTF9QQVRIIiBcCisJPCIkVEVTVF9ESVJFQ1RPUlkiL3QwMDIxL3JvdDEzLWZpbHRlci5wbAorCitnZW5lcmF0ZV9yYW5kb21fY2hhcmFjdGVycyAoKSB7CisJTEVOPSQxCisJTkFNRT0kMgorCXRlc3QtZ2VucmFuZG9tIHNvbWUtc2VlZCAkTEVOIHwKKwkJcGVybCAtcGUgInMvLi9jaHIoKG9yZCgkJikgJSAyNikgKyBvcmQoJ2EnKSkvc2dlIiA+IiRURVNUX1JPT1QvJE5BTUUiCit9CisKK2ZpbGVfc2l6ZSAoKSB7CisJcGVybCAtZSAncHJpbnQgLXMgJEFSR1ZbMF0nICIkMSIKK30KKworZmlsdGVyX2dpdCAoKSB7CisJcm0gLWYgcm90MTMtZmlsdGVyLmxvZyAmJgorCWdpdCAiJEAiCit9CisKKyMgQ29tcGFyZSB0d28gZmlsZXMgYW5kIGVuc3VyZSB0aGF0IGBjbGVhbmAgYW5kIGBzbXVkZ2VgIHJlc3BlY3RpdmVseSBhcmUKKyMgY2FsbGVkIGF0IGxlYXN0IG9uY2UgaWYgc3BlY2lmaWVkIGluIHRoZSBgZXhwZWN0YCBmaWxlLiBUaGUgYWN0dWFsCisjIGludm9jYXRpb24gY291bnQgaXMgbm90IHJlbGV2YW50IGJlY2F1c2UgdGhlaXIgbnVtYmVyIGNhbiB2YXJ5LgorIyBjLmYuIGh0dHA6Ly9wdWJsaWMtaW5ib3gub3JnL2dpdC94bXFxc2h2MThpOGkuZnNmQGdpdHN0ZXIubXR2LmNvcnAuZ29vZ2xlLmNvbS8KK3Rlc3RfY21wX2NvdW50ICgpIHsKKwlleHBlY3Q9JDEKKwlhY3R1YWw9JDIKKwlmb3IgRklMRSBpbiAiJGV4cGVjdCIgIiRhY3R1YWwiCisJZG8KKwkJc29ydCAiJEZJTEUiIHwgdW5pcSAtYyB8CisJCXNlZCAtZSAicy9eICpbMC05XVswLTldKlsgCV0qSU46IC94IElOOiAvIiA+IiRGSUxFLnRtcCIgJiYKKwkJbXYgIiRGSUxFLnRtcCIgIiRGSUxFIiB8fCByZXR1cm4KKwlkb25lICYmCisJdGVzdF9jbXAgIiRleHBlY3QiICIkYWN0dWFsIgorfQorCisjIENvbXBhcmUgdHdvIGZpbGVzIGJ1dCBleGNsdWRlIGFsbCBgY2xlYW5gIGludm9jYXRpb25zIGJlY2F1c2UgR2l0IGNhbgorIyBjYWxsIGBjbGVhbmAgemVybyBvciBtb3JlIHRpbWVzLgorIyBjLmYuIGh0dHA6Ly9wdWJsaWMtaW5ib3gub3JnL2dpdC94bXFxc2h2MThpOGkuZnNmQGdpdHN0ZXIubXR2LmNvcnAuZ29vZ2xlLmNvbS8KK3Rlc3RfY21wX2V4Y2x1ZGVfY2xlYW4gKCkgeworCWV4cGVjdD0kMQorCWFjdHVhbD0kMgorCWZvciBGSUxFIGluICIkZXhwZWN0IiAiJGFjdHVhbCIKKwlkbworCQlncmVwIC12ICJJTjogY2xlYW4iICIkRklMRSIgPiIkRklMRS50bXAiICYmCisJCW12ICIkRklMRS50bXAiICIkRklMRSIKKwlkb25lICYmCisJdGVzdF9jbXAgIiRleHBlY3QiICIkYWN0dWFsIgorfQorCisjIENoZWNrIHRoYXQgdGhlIGNvbnRlbnRzIG9mIHR3byBmaWxlcyBhcmUgZXF1YWwgYW5kIHRoYXQgdGhlaXIgcm90MTMgdmVyc2lvbgorIyBpcyBlcXVhbCB0byB0aGUgY29tbWl0dGVkIGNvbnRlbnQuCit0ZXN0X2NtcF9jb21taXR0ZWRfcm90MTMgKCkgeworCXRlc3RfY21wICIkMSIgIiQyIiAmJgorCXJvdDEzLnNoIDwiJDEiID5leHBlY3RlZCAmJgorCWdpdCBjYXQtZmlsZSBibG9iIDoiJDIiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKK30KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCiAJZ2l0IGNvbmZpZyBmaWx0ZXIucm90MTMuc211ZGdlIC4vcm90MTMuc2ggJiYKQEAgLTMxLDE1ICs5MCwxOCBAQAogCWNhdCB0ZXN0ID50ZXN0LmkgJiYKIAlnaXQgYWRkIHRlc3QgdGVzdC50IHRlc3QuaSAmJgogCXJtIC1mIHRlc3QgdGVzdC50IHRlc3QuaSAmJgotCWdpdCBjaGVja291dCAtLSB0ZXN0IHRlc3QudCB0ZXN0LmkKKwlnaXQgY2hlY2tvdXQgLS0gdGVzdCB0ZXN0LnQgdGVzdC5pICYmCisKKwllY2hvICJjb250ZW50LXRlc3QyIiA+dGVzdDIubyAmJgorCWVjaG8gImNvbnRlbnQtdGVzdDMgLSBmaWxlbmFtZSB3aXRoIHNwZWNpYWwgY2hhcmFjdGVycyIgPiJ0ZXN0MyAnXCcnc3EnXCcnLFwkeC5vIgogJwogCiBzY3JpcHQ9J3MvXlwkSWQ6IFwoWzAtOWEtZl0qXCkgXCQvXDEvcCcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBjaGVjayAnCiAKLQljbXAgdGVzdC5vIHRlc3QgJiYKLQljbXAgdGVzdC5vIHRlc3QudCAmJgorCXRlc3RfY21wIHRlc3QubyB0ZXN0ICYmCisJdGVzdF9jbXAgdGVzdC5vIHRlc3QudCAmJgogCiAJIyBpZGVudCBzaG91bGQgYmUgc3RyaXBwZWQgaW4gdGhlIHJlcG9zaXRvcnkKIAlnaXQgZGlmZiAtLXJhdyAtLWV4aXQtY29kZSA6dGVzdCA6dGVzdC5pICYmCkBAIC00NywxMCArMTA5LDEwIEBACiAJZW1iZWRkZWQ9JChzZWQgLW5lICIkc2NyaXB0IiB0ZXN0LmkpICYmCiAJdGVzdCAieiRpZCIgPSAieiRlbWJlZGRlZCIgJiYKIAotCWdpdCBjYXQtZmlsZSBibG9iIDp0ZXN0LnQgPiB0ZXN0LnIgJiYKKwlnaXQgY2F0LWZpbGUgYmxvYiA6dGVzdC50ID50ZXN0LnIgJiYKIAotCS4vcm90MTMuc2ggPCB0ZXN0Lm8gPiB0ZXN0LnQgJiYKLQljbXAgdGVzdC5yIHRlc3QudAorCS4vcm90MTMuc2ggPHRlc3QubyA+dGVzdC50ICYmCisJdGVzdF9jbXAgdGVzdC5yIHRlc3QudAogJwogCiAjIElmIGFuIGV4cGFuZGVkIGlkZW50IGV2ZXIgZ2V0cyBpbnRvIHRoZSByZXBvc2l0b3J5LCB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB0aGF0CkBAIC0xMzAsNyArMTkyLDcgQEAKIAogCSMgZGVsZXRlIHRoZSBmaWxlcyBhbmQgY2hlY2sgdGhlbSBvdXQgYWdhaW4sIHVzaW5nIGEgc211ZGdlIGZpbHRlcgogCSMgdGhhdCB3aWxsIGNvdW50IHRoZSBhcmdzIGFuZCBlY2hvIHRoZSBjb21tYW5kLWxpbmUgYmFjayB0byB1cwotCWdpdCBjb25maWcgZmlsdGVyLmFyZ2Muc211ZGdlICJzaCAuL2FyZ2Muc2ggJWYiICYmCisJdGVzdF9jb25maWcgZmlsdGVyLmFyZ2Muc211ZGdlICJzaCAuL2FyZ2Muc2ggJWYiICYmCiAJcm0gIiRub3JtYWwiICIkc3BlY2lhbCIgJiYKIAlnaXQgY2hlY2tvdXQgLS0gIiRub3JtYWwiICIkc3BlY2lhbCIgJiYKIApAQCAtMTQxLDcgKzIwMyw3IEBACiAJdGVzdF9jbXAgZXhwZWN0ICIkc3BlY2lhbCIgJiYKIAogCSMgZG8gdGhlIHNhbWUgdGhpbmcsIGJ1dCB3aXRoIG1vcmUgYXJncyBpbiB0aGUgZmlsdGVyIGV4cHJlc3Npb24KLQlnaXQgY29uZmlnIGZpbHRlci5hcmdjLnNtdWRnZSAic2ggLi9hcmdjLnNoICVmIC0tbXktZXh0cmEtYXJnIiAmJgorCXRlc3RfY29uZmlnIGZpbHRlci5hcmdjLnNtdWRnZSAic2ggLi9hcmdjLnNoICVmIC0tbXktZXh0cmEtYXJnIiAmJgogCXJtICIkbm9ybWFsIiAiJHNwZWNpYWwiICYmCiAJZ2l0IGNoZWNrb3V0IC0tICIkbm9ybWFsIiAiJHNwZWNpYWwiICYmCiAKQEAgLTE1NCw5ICsyMTYsOSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXF1aXJlZCBmaWx0ZXIgc2hvdWxkIGZpbHRlciBkYXRhJyAnCi0JZ2l0IGNvbmZpZyBmaWx0ZXIucmVxdWlyZWQuc211ZGdlIC4vcm90MTMuc2ggJiYKLQlnaXQgY29uZmlnIGZpbHRlci5yZXF1aXJlZC5jbGVhbiAuL3JvdDEzLnNoICYmCi0JZ2l0IGNvbmZpZyBmaWx0ZXIucmVxdWlyZWQucmVxdWlyZWQgdHJ1ZSAmJgorCXRlc3RfY29uZmlnIGZpbHRlci5yZXF1aXJlZC5zbXVkZ2UgLi9yb3QxMy5zaCAmJgorCXRlc3RfY29uZmlnIGZpbHRlci5yZXF1aXJlZC5jbGVhbiAuL3JvdDEzLnNoICYmCisJdGVzdF9jb25maWcgZmlsdGVyLnJlcXVpcmVkLnJlcXVpcmVkIHRydWUgJiYKIAogCWVjaG8gIiouciBmaWx0ZXI9cmVxdWlyZWQiID4uZ2l0YXR0cmlidXRlcyAmJgogCkBAIC0xNjUsMTcgKzIyNywxNyBAQAogCiAJcm0gLWYgdGVzdC5yICYmCiAJZ2l0IGNoZWNrb3V0IC0tIHRlc3QuciAmJgotCWNtcCB0ZXN0Lm8gdGVzdC5yICYmCisJdGVzdF9jbXAgdGVzdC5vIHRlc3QuciAmJgogCiAJLi9yb3QxMy5zaCA8dGVzdC5vID5leHBlY3RlZCAmJgogCWdpdCBjYXQtZmlsZSBibG9iIDp0ZXN0LnIgPmFjdHVhbCAmJgotCWNtcCBleHBlY3RlZCBhY3R1YWwKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVxdWlyZWQgZmlsdGVyIHNtdWRnZSBmYWlsdXJlJyAnCi0JZ2l0IGNvbmZpZyBmaWx0ZXIuZmFpbHNtdWRnZS5zbXVkZ2UgZmFsc2UgJiYKLQlnaXQgY29uZmlnIGZpbHRlci5mYWlsc211ZGdlLmNsZWFuIGNhdCAmJgotCWdpdCBjb25maWcgZmlsdGVyLmZhaWxzbXVkZ2UucmVxdWlyZWQgdHJ1ZSAmJgorCXRlc3RfY29uZmlnIGZpbHRlci5mYWlsc211ZGdlLnNtdWRnZSBmYWxzZSAmJgorCXRlc3RfY29uZmlnIGZpbHRlci5mYWlsc211ZGdlLmNsZWFuIGNhdCAmJgorCXRlc3RfY29uZmlnIGZpbHRlci5mYWlsc211ZGdlLnJlcXVpcmVkIHRydWUgJiYKIAogCWVjaG8gIiouZnMgZmlsdGVyPWZhaWxzbXVkZ2UiID4uZ2l0YXR0cmlidXRlcyAmJgogCkBAIC0xODYsOSArMjQ4LDkgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVxdWlyZWQgZmlsdGVyIGNsZWFuIGZhaWx1cmUnICcKLQlnaXQgY29uZmlnIGZpbHRlci5mYWlsY2xlYW4uc211ZGdlIGNhdCAmJgotCWdpdCBjb25maWcgZmlsdGVyLmZhaWxjbGVhbi5jbGVhbiBmYWxzZSAmJgotCWdpdCBjb25maWcgZmlsdGVyLmZhaWxjbGVhbi5yZXF1aXJlZCB0cnVlICYmCisJdGVzdF9jb25maWcgZmlsdGVyLmZhaWxjbGVhbi5zbXVkZ2UgY2F0ICYmCisJdGVzdF9jb25maWcgZmlsdGVyLmZhaWxjbGVhbi5jbGVhbiBmYWxzZSAmJgorCXRlc3RfY29uZmlnIGZpbHRlci5mYWlsY2xlYW4ucmVxdWlyZWQgdHJ1ZSAmJgogCiAJZWNobyAiKi5mYyBmaWx0ZXI9ZmFpbGNsZWFuIiA+LmdpdGF0dHJpYnV0ZXMgJiYKIApAQCAtMTk3LDggKzI1OSw4IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZpbHRlcmluZyBsYXJnZSBpbnB1dCB0byBzbWFsbCBvdXRwdXQgc2hvdWxkIHVzZSBsaXR0bGUgbWVtb3J5JyAnCi0JZ2l0IGNvbmZpZyBmaWx0ZXIuZGV2bnVsbC5jbGVhbiAiY2F0ID4vZGV2L251bGwiICYmCi0JZ2l0IGNvbmZpZyBmaWx0ZXIuZGV2bnVsbC5yZXF1aXJlZCB0cnVlICYmCisJdGVzdF9jb25maWcgZmlsdGVyLmRldm51bGwuY2xlYW4gImNhdCA+L2Rldi9udWxsIiAmJgorCXRlc3RfY29uZmlnIGZpbHRlci5kZXZudWxsLnJlcXVpcmVkIHRydWUgJiYKIAlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgMzApOyBkbyBwcmludGYgIiUxMDQ4NTc2ZCIgMTsgZG9uZSA+MzBNQiAmJgogCWVjaG8gIjMwTUIgZmlsdGVyPWRldm51bGwiID4uZ2l0YXR0cmlidXRlcyAmJgogCUdJVF9NTUFQX0xJTUlUPTFtIEdJVF9BTExPQ19MSU1JVD0xbSBnaXQgYWRkIDMwTUIKQEAgLTIwNyw3ICsyNjksNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmlsdGVyIHRoYXQgZG9lcyBub3QgcmVhZCBpcyBmaW5lJyAnCiAJdGVzdC1nZW5yYW5kb20gZm9vICQoKDEyOCAqIDEwMjQgKyAxKSkgPmJpZyAmJgogCWVjaG8gImJpZyBmaWx0ZXI9ZXBpcGUiID4uZ2l0YXR0cmlidXRlcyAmJgotCWdpdCBjb25maWcgZmlsdGVyLmVwaXBlLmNsZWFuICJlY2hvIHh5enp5IiAmJgorCXRlc3RfY29uZmlnIGZpbHRlci5lcGlwZS5jbGVhbiAiZWNobyB4eXp6eSIgJiYKIAlnaXQgYWRkIGJpZyAmJgogCWdpdCBjYXQtZmlsZSBibG9iIDpiaWcgPmFjdHVhbCAmJgogCWVjaG8geHl6enkgPmV4cGVjdCAmJgpAQCAtMjE1LDIwICsyNzcsMjAgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBFWFBFTlNJVkUgJ2ZpbHRlciBsYXJnZSBmaWxlJyAnCi0JZ2l0IGNvbmZpZyBmaWx0ZXIubGFyZ2VmaWxlLnNtdWRnZSBjYXQgJiYKLQlnaXQgY29uZmlnIGZpbHRlci5sYXJnZWZpbGUuY2xlYW4gY2F0ICYmCisJdGVzdF9jb25maWcgZmlsdGVyLmxhcmdlZmlsZS5zbXVkZ2UgY2F0ICYmCisJdGVzdF9jb25maWcgZmlsdGVyLmxhcmdlZmlsZS5jbGVhbiBjYXQgJiYKIAlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgMjA0OCk7IGRvIHByaW50ZiAiJTEwNDg1NzZkIiAxOyBkb25lID4yR0IgJiYKIAllY2hvICIyR0IgZmlsdGVyPWxhcmdlZmlsZSIgPi5naXRhdHRyaWJ1dGVzICYmCiAJZ2l0IGFkZCAyR0IgMj5lcnIgJiYKLQkhIHRlc3QgLXMgZXJyICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGVyciAmJgogCXJtIC1mIDJHQiAmJgogCWdpdCBjaGVja291dCAtLSAyR0IgMj5lcnIgJiYKLQkhIHRlc3QgLXMgZXJyCisJdGVzdF9tdXN0X2JlX2VtcHR5IGVycgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICJmaWx0ZXI6IGNsZWFuIGVtcHR5IGZpbGUiICcKLQlnaXQgY29uZmlnIGZpbHRlci5pbi1yZXBvLWhlYWRlci5jbGVhbiAgImVjaG8gY2xlYW5lZCAmJiBjYXQiICYmCi0JZ2l0IGNvbmZpZyBmaWx0ZXIuaW4tcmVwby1oZWFkZXIuc211ZGdlICJzZWQgMWQiICYmCisJdGVzdF9jb25maWcgZmlsdGVyLmluLXJlcG8taGVhZGVyLmNsZWFuICAiZWNobyBjbGVhbmVkICYmIGNhdCIgJiYKKwl0ZXN0X2NvbmZpZyBmaWx0ZXIuaW4tcmVwby1oZWFkZXIuc211ZGdlICJzZWQgMWQiICYmCiAKIAllY2hvICJlbXB0eS1pbi13b3JrdHJlZSAgICBmaWx0ZXI9aW4tcmVwby1oZWFkZXIiID4+LmdpdGF0dHJpYnV0ZXMgJiYKIAk+ZW1wdHktaW4td29ya3RyZWUgJiYKQEAgLTI0MCw4ICszMDIsOCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICJmaWx0ZXI6IHNtdWRnZSBlbXB0eSBmaWxlIiAnCi0JZ2l0IGNvbmZpZyBmaWx0ZXIuZW1wdHktaW4tcmVwby5jbGVhbiAiY2F0ID4vZGV2L251bGwiICYmCi0JZ2l0IGNvbmZpZyBmaWx0ZXIuZW1wdHktaW4tcmVwby5zbXVkZ2UgImVjaG8gc211ZGdlZCAmJiBjYXQiICYmCisJdGVzdF9jb25maWcgZmlsdGVyLmVtcHR5LWluLXJlcG8uY2xlYW4gImNhdCA+L2Rldi9udWxsIiAmJgorCXRlc3RfY29uZmlnIGZpbHRlci5lbXB0eS1pbi1yZXBvLnNtdWRnZSAiZWNobyBzbXVkZ2VkICYmIGNhdCIgJiYKIAogCWVjaG8gImVtcHR5LWluLXJlcG8gZmlsdGVyPWVtcHR5LWluLXJlcG8iID4+LmdpdGF0dHJpYnV0ZXMgJiYKIAllY2hvIGRlYWQgZGF0YSB3YWxraW5nID5lbXB0eS1pbi1yZXBvICYmCkBAIC0yNjgsNCArMzMwLDM5MSBAQAogCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZiBkb2VzIG5vdCByZXVzZSB3b3JrdHJlZSBmaWxlcyB0aGF0IG5lZWQgY2xlYW5pbmcnICcKKwl0ZXN0X2NvbmZpZyBmaWx0ZXIuY291bnRlci5jbGVhbiAiZWNobyAuID4+Y291bnQ7IHNlZCBzL14vY2xlYW46LyIgJiYKKwllY2hvICJmaWxlIGZpbHRlcj1jb3VudGVyIiA+LmdpdGF0dHJpYnV0ZXMgJiYKKwl0ZXN0X2NvbW1pdCBvbmUgZmlsZSAmJgorCXRlc3RfY29tbWl0IHR3byBmaWxlICYmCisKKwk+Y291bnQgJiYKKwlnaXQgZGlmZi10cmVlIC1wIEhFQUQgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAwIGNvdW50CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAncmVxdWlyZWQgcHJvY2VzcyBmaWx0ZXIgc2hvdWxkIGZpbHRlciBkYXRhJyAnCisJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5wcm90b2NvbC5wcm9jZXNzICJyb3QxMy1maWx0ZXIucGwgY2xlYW4gc211ZGdlIiAmJgorCXRlc3RfY29uZmlnX2dsb2JhbCBmaWx0ZXIucHJvdG9jb2wucmVxdWlyZWQgdHJ1ZSAmJgorCXJtIC1yZiByZXBvICYmCisJbWtkaXIgcmVwbyAmJgorCSgKKwkJY2QgcmVwbyAmJgorCQlnaXQgaW5pdCAmJgorCisJCWVjaG8gImdpdC1zdGRlcnIubG9nIiA+LmdpdGlnbm9yZSAmJgorCQllY2hvICIqLnIgZmlsdGVyPXByb3RvY29sIiA+LmdpdGF0dHJpYnV0ZXMgJiYKKwkJZ2l0IGFkZCAuICYmCisJCWdpdCBjb21taXQgLiAtbSAidGVzdCBjb21taXQgMSIgJiYKKwkJZ2l0IGJyYW5jaCBlbXB0eS1icmFuY2ggJiYKKworCQljcCAiJFRFU1RfUk9PVC90ZXN0Lm8iIHRlc3QuciAmJgorCQljcCAiJFRFU1RfUk9PVC90ZXN0Mi5vIiB0ZXN0Mi5yICYmCisJCW1rZGlyIHRlc3RzdWJkaXIgJiYKKwkJY3AgIiRURVNUX1JPT1QvdGVzdDMgJ1wnJ3NxJ1wnJyxcJHgubyIgInRlc3RzdWJkaXIvdGVzdDMgJ1wnJ3NxJ1wnJyxcJHguciIgJiYKKwkJPnRlc3Q0LWVtcHR5LnIgJiYKKworCQlTPSQoZmlsZV9zaXplIHRlc3QucikgJiYKKwkJUzI9JChmaWxlX3NpemUgdGVzdDIucikgJiYKKwkJUzM9JChmaWxlX3NpemUgInRlc3RzdWJkaXIvdGVzdDMgJ1wnJ3NxJ1wnJyxcJHguciIpICYmCisKKwkJZmlsdGVyX2dpdCBhZGQgLiAmJgorCQljYXQgPmV4cGVjdGVkLmxvZyA8PC1FT0YgJiYKKwkJCVNUQVJUCisJCQlpbml0IGhhbmRzaGFrZSBjb21wbGV0ZQorCQkJSU46IGNsZWFuIHRlc3QuciAkUyBbT0tdIC0tIE9VVDogJFMgLiBbT0tdCisJCQlJTjogY2xlYW4gdGVzdDIuciAkUzIgW09LXSAtLSBPVVQ6ICRTMiAuIFtPS10KKwkJCUlOOiBjbGVhbiB0ZXN0NC1lbXB0eS5yIDAgW09LXSAtLSBPVVQ6IDAgIFtPS10KKwkJCUlOOiBjbGVhbiB0ZXN0c3ViZGlyL3Rlc3QzICdcJydzcSdcJycsXCR4LnIgJFMzIFtPS10gLS0gT1VUOiAkUzMgLiBbT0tdCisJCQlTVE9QCisJCUVPRgorCQl0ZXN0X2NtcF9jb3VudCBleHBlY3RlZC5sb2cgcm90MTMtZmlsdGVyLmxvZyAmJgorCisJCWZpbHRlcl9naXQgY29tbWl0IC4gLW0gInRlc3QgY29tbWl0IDIiICYmCisJCWNhdCA+ZXhwZWN0ZWQubG9nIDw8LUVPRiAmJgorCQkJU1RBUlQKKwkJCWluaXQgaGFuZHNoYWtlIGNvbXBsZXRlCisJCQlJTjogY2xlYW4gdGVzdC5yICRTIFtPS10gLS0gT1VUOiAkUyAuIFtPS10KKwkJCUlOOiBjbGVhbiB0ZXN0Mi5yICRTMiBbT0tdIC0tIE9VVDogJFMyIC4gW09LXQorCQkJSU46IGNsZWFuIHRlc3Q0LWVtcHR5LnIgMCBbT0tdIC0tIE9VVDogMCAgW09LXQorCQkJSU46IGNsZWFuIHRlc3RzdWJkaXIvdGVzdDMgJ1wnJ3NxJ1wnJyxcJHguciAkUzMgW09LXSAtLSBPVVQ6ICRTMyAuIFtPS10KKwkJCUlOOiBjbGVhbiB0ZXN0LnIgJFMgW09LXSAtLSBPVVQ6ICRTIC4gW09LXQorCQkJSU46IGNsZWFuIHRlc3QyLnIgJFMyIFtPS10gLS0gT1VUOiAkUzIgLiBbT0tdCisJCQlJTjogY2xlYW4gdGVzdDQtZW1wdHkuciAwIFtPS10gLS0gT1VUOiAwICBbT0tdCisJCQlJTjogY2xlYW4gdGVzdHN1YmRpci90ZXN0MyAnXCcnc3EnXCcnLFwkeC5yICRTMyBbT0tdIC0tIE9VVDogJFMzIC4gW09LXQorCQkJU1RPUAorCQlFT0YKKwkJdGVzdF9jbXBfY291bnQgZXhwZWN0ZWQubG9nIHJvdDEzLWZpbHRlci5sb2cgJiYKKworCQlybSAtZiB0ZXN0Mi5yICJ0ZXN0c3ViZGlyL3Rlc3QzICdcJydzcSdcJycsXCR4LnIiICYmCisKKwkJZmlsdGVyX2dpdCBjaGVja291dCAtLXF1aWV0IC0tbm8tcHJvZ3Jlc3MgLiAmJgorCQljYXQgPmV4cGVjdGVkLmxvZyA8PC1FT0YgJiYKKwkJCVNUQVJUCisJCQlpbml0IGhhbmRzaGFrZSBjb21wbGV0ZQorCQkJSU46IHNtdWRnZSB0ZXN0Mi5yICRTMiBbT0tdIC0tIE9VVDogJFMyIC4gW09LXQorCQkJSU46IHNtdWRnZSB0ZXN0c3ViZGlyL3Rlc3QzICdcJydzcSdcJycsXCR4LnIgJFMzIFtPS10gLS0gT1VUOiAkUzMgLiBbT0tdCisJCQlTVE9QCisJCUVPRgorCQl0ZXN0X2NtcF9leGNsdWRlX2NsZWFuIGV4cGVjdGVkLmxvZyByb3QxMy1maWx0ZXIubG9nICYmCisKKwkJZmlsdGVyX2dpdCBjaGVja291dCAtLXF1aWV0IC0tbm8tcHJvZ3Jlc3MgZW1wdHktYnJhbmNoICYmCisJCWNhdCA+ZXhwZWN0ZWQubG9nIDw8LUVPRiAmJgorCQkJU1RBUlQKKwkJCWluaXQgaGFuZHNoYWtlIGNvbXBsZXRlCisJCQlJTjogY2xlYW4gdGVzdC5yICRTIFtPS10gLS0gT1VUOiAkUyAuIFtPS10KKwkJCVNUT1AKKwkJRU9GCisJCXRlc3RfY21wX2V4Y2x1ZGVfY2xlYW4gZXhwZWN0ZWQubG9nIHJvdDEzLWZpbHRlci5sb2cgJiYKKworCQlmaWx0ZXJfZ2l0IGNoZWNrb3V0IC0tcXVpZXQgLS1uby1wcm9ncmVzcyBtYXN0ZXIgJiYKKwkJY2F0ID5leHBlY3RlZC5sb2cgPDwtRU9GICYmCisJCQlTVEFSVAorCQkJaW5pdCBoYW5kc2hha2UgY29tcGxldGUKKwkJCUlOOiBzbXVkZ2UgdGVzdC5yICRTIFtPS10gLS0gT1VUOiAkUyAuIFtPS10KKwkJCUlOOiBzbXVkZ2UgdGVzdDIuciAkUzIgW09LXSAtLSBPVVQ6ICRTMiAuIFtPS10KKwkJCUlOOiBzbXVkZ2UgdGVzdDQtZW1wdHkuciAwIFtPS10gLS0gT1VUOiAwICBbT0tdCisJCQlJTjogc211ZGdlIHRlc3RzdWJkaXIvdGVzdDMgJ1wnJ3NxJ1wnJyxcJHguciAkUzMgW09LXSAtLSBPVVQ6ICRTMyAuIFtPS10KKwkJCVNUT1AKKwkJRU9GCisJCXRlc3RfY21wX2V4Y2x1ZGVfY2xlYW4gZXhwZWN0ZWQubG9nIHJvdDEzLWZpbHRlci5sb2cgJiYKKworCQl0ZXN0X2NtcF9jb21taXR0ZWRfcm90MTMgIiRURVNUX1JPT1QvdGVzdC5vIiB0ZXN0LnIgJiYKKwkJdGVzdF9jbXBfY29tbWl0dGVkX3JvdDEzICIkVEVTVF9ST09UL3Rlc3QyLm8iIHRlc3QyLnIgJiYKKwkJdGVzdF9jbXBfY29tbWl0dGVkX3JvdDEzICIkVEVTVF9ST09UL3Rlc3QzICdcJydzcSdcJycsXCR4Lm8iICJ0ZXN0c3ViZGlyL3Rlc3QzICdcJydzcSdcJycsXCR4LnIiCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3JlcXVpcmVkIHByb2Nlc3MgZmlsdGVyIHRha2VzIHByZWNlZGVuY2UnICcKKwl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLmNsZWFuIGZhbHNlICYmCisJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5wcm90b2NvbC5wcm9jZXNzICJyb3QxMy1maWx0ZXIucGwgY2xlYW4iICYmCisJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5wcm90b2NvbC5yZXF1aXJlZCB0cnVlICYmCisJcm0gLXJmIHJlcG8gJiYKKwlta2RpciByZXBvICYmCisJKAorCQljZCByZXBvICYmCisJCWdpdCBpbml0ICYmCisKKwkJZWNobyAiKi5yIGZpbHRlcj1wcm90b2NvbCIgPi5naXRhdHRyaWJ1dGVzICYmCisJCWNwICIkVEVTVF9ST09UL3Rlc3QubyIgdGVzdC5yICYmCisJCVM9JChmaWxlX3NpemUgdGVzdC5yKSAmJgorCisJCSMgQ2hlY2sgdGhhdCB0aGUgcHJvY2VzcyBmaWx0ZXIgaXMgaW52b2tlZCBoZXJlCisJCWZpbHRlcl9naXQgYWRkIC4gJiYKKwkJY2F0ID5leHBlY3RlZC5sb2cgPDwtRU9GICYmCisJCQlTVEFSVAorCQkJaW5pdCBoYW5kc2hha2UgY29tcGxldGUKKwkJCUlOOiBjbGVhbiB0ZXN0LnIgJFMgW09LXSAtLSBPVVQ6ICRTIC4gW09LXQorCQkJU1RPUAorCQlFT0YKKwkJdGVzdF9jbXBfY291bnQgZXhwZWN0ZWQubG9nIHJvdDEzLWZpbHRlci5sb2cKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAncmVxdWlyZWQgcHJvY2VzcyBmaWx0ZXIgc2hvdWxkIGJlIHVzZWQgb25seSBmb3IgImNsZWFuIiBvcGVyYXRpb24gb25seScgJworCXRlc3RfY29uZmlnX2dsb2JhbCBmaWx0ZXIucHJvdG9jb2wucHJvY2VzcyAicm90MTMtZmlsdGVyLnBsIGNsZWFuIiAmJgorCXJtIC1yZiByZXBvICYmCisJbWtkaXIgcmVwbyAmJgorCSgKKwkJY2QgcmVwbyAmJgorCQlnaXQgaW5pdCAmJgorCisJCWVjaG8gIiouciBmaWx0ZXI9cHJvdG9jb2wiID4uZ2l0YXR0cmlidXRlcyAmJgorCQljcCAiJFRFU1RfUk9PVC90ZXN0Lm8iIHRlc3QuciAmJgorCQlTPSQoZmlsZV9zaXplIHRlc3QucikgJiYKKworCQlmaWx0ZXJfZ2l0IGFkZCAuICYmCisJCWNhdCA+ZXhwZWN0ZWQubG9nIDw8LUVPRiAmJgorCQkJU1RBUlQKKwkJCWluaXQgaGFuZHNoYWtlIGNvbXBsZXRlCisJCQlJTjogY2xlYW4gdGVzdC5yICRTIFtPS10gLS0gT1VUOiAkUyAuIFtPS10KKwkJCVNUT1AKKwkJRU9GCisJCXRlc3RfY21wX2NvdW50IGV4cGVjdGVkLmxvZyByb3QxMy1maWx0ZXIubG9nICYmCisKKwkJcm0gdGVzdC5yICYmCisKKwkJZmlsdGVyX2dpdCBjaGVja291dCAtLXF1aWV0IC0tbm8tcHJvZ3Jlc3MgLiAmJgorCQkjIElmIHRoZSBmaWx0ZXIgd291bGQgYmUgdXNlZCBmb3IgInNtdWRnZSIsIHRvbywgd2Ugd291bGQgc2VlCisJCSMgIklOOiBzbXVkZ2UgdGVzdC5yIDU3IFtPS10gLS0gT1VUOiA1NyAuIFtPS10iIGhlcmUKKwkJY2F0ID5leHBlY3RlZC5sb2cgPDwtRU9GICYmCisJCQlTVEFSVAorCQkJaW5pdCBoYW5kc2hha2UgY29tcGxldGUKKwkJCVNUT1AKKwkJRU9GCisJCXRlc3RfY21wX2V4Y2x1ZGVfY2xlYW4gZXhwZWN0ZWQubG9nIHJvdDEzLWZpbHRlci5sb2cKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAncmVxdWlyZWQgcHJvY2VzcyBmaWx0ZXIgc2hvdWxkIHByb2Nlc3MgbXVsdGlwbGUgcGFja2V0cycgJworCXRlc3RfY29uZmlnX2dsb2JhbCBmaWx0ZXIucHJvdG9jb2wucHJvY2VzcyAicm90MTMtZmlsdGVyLnBsIGNsZWFuIHNtdWRnZSIgJiYKKwl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLnJlcXVpcmVkIHRydWUgJiYKKworCXJtIC1yZiByZXBvICYmCisJbWtkaXIgcmVwbyAmJgorCSgKKwkJY2QgcmVwbyAmJgorCQlnaXQgaW5pdCAmJgorCisJCSMgR2VuZXJhdGUgZGF0YSByZXF1aXJpbmcgMSwgMiwgMyBwYWNrZXRzCisJCVM9NjU1MTYgJiYgIyBQS1RMSU5FX0RBVEFfTUFYTEVOIC0+IE1heGltYWwgc2l6ZSBvZiBhIHBhY2tldAorCQlnZW5lcmF0ZV9yYW5kb21fY2hhcmFjdGVycyAkKCgkUyAgICApKSAxcGt0XzFfXy5maWxlICYmCisJCWdlbmVyYXRlX3JhbmRvbV9jaGFyYWN0ZXJzICQoKCRTICArMSkpIDJwa3RfMSsxLmZpbGUgJiYKKwkJZ2VuZXJhdGVfcmFuZG9tX2NoYXJhY3RlcnMgJCgoJFMqMi0xKSkgMnBrdF8yLTEuZmlsZSAmJgorCQlnZW5lcmF0ZV9yYW5kb21fY2hhcmFjdGVycyAkKCgkUyoyICApKSAycGt0XzJfXy5maWxlICYmCisJCWdlbmVyYXRlX3JhbmRvbV9jaGFyYWN0ZXJzICQoKCRTKjIrMSkpIDNwa3RfMisxLmZpbGUgJiYKKworCQlmb3IgRklMRSBpbiAiJFRFU1RfUk9PVCIvKi5maWxlCisJCWRvCisJCQljcCAiJEZJTEUiIC4gJiYKKwkJCXJvdDEzLnNoIDwiJEZJTEUiID4iJEZJTEUucm90MTMiCisJCWRvbmUgJiYKKworCQllY2hvICIqLmZpbGUgZmlsdGVyPXByb3RvY29sIiA+LmdpdGF0dHJpYnV0ZXMgJiYKKwkJZmlsdGVyX2dpdCBhZGQgKi5maWxlIC5naXRhdHRyaWJ1dGVzICYmCisJCWNhdCA+ZXhwZWN0ZWQubG9nIDw8LUVPRiAmJgorCQkJU1RBUlQKKwkJCWluaXQgaGFuZHNoYWtlIGNvbXBsZXRlCisJCQlJTjogY2xlYW4gMXBrdF8xX18uZmlsZSAkKCgkUyAgICApKSBbT0tdIC0tIE9VVDogJCgoJFMgICAgKSkgLiBbT0tdCisJCQlJTjogY2xlYW4gMnBrdF8xKzEuZmlsZSAkKCgkUyAgKzEpKSBbT0tdIC0tIE9VVDogJCgoJFMgICsxKSkgLi4gW09LXQorCQkJSU46IGNsZWFuIDJwa3RfMi0xLmZpbGUgJCgoJFMqMi0xKSkgW09LXSAtLSBPVVQ6ICQoKCRTKjItMSkpIC4uIFtPS10KKwkJCUlOOiBjbGVhbiAycGt0XzJfXy5maWxlICQoKCRTKjIgICkpIFtPS10gLS0gT1VUOiAkKCgkUyoyICApKSAuLiBbT0tdCisJCQlJTjogY2xlYW4gM3BrdF8yKzEuZmlsZSAkKCgkUyoyKzEpKSBbT0tdIC0tIE9VVDogJCgoJFMqMisxKSkgLi4uIFtPS10KKwkJCVNUT1AKKwkJRU9GCisJCXRlc3RfY21wX2NvdW50IGV4cGVjdGVkLmxvZyByb3QxMy1maWx0ZXIubG9nICYmCisKKwkJcm0gLWYgKi5maWxlICYmCisKKwkJZmlsdGVyX2dpdCBjaGVja291dCAtLXF1aWV0IC0tbm8tcHJvZ3Jlc3MgLS0gKi5maWxlICYmCisJCWNhdCA+ZXhwZWN0ZWQubG9nIDw8LUVPRiAmJgorCQkJU1RBUlQKKwkJCWluaXQgaGFuZHNoYWtlIGNvbXBsZXRlCisJCQlJTjogc211ZGdlIDFwa3RfMV9fLmZpbGUgJCgoJFMgICAgKSkgW09LXSAtLSBPVVQ6ICQoKCRTICAgICkpIC4gW09LXQorCQkJSU46IHNtdWRnZSAycGt0XzErMS5maWxlICQoKCRTICArMSkpIFtPS10gLS0gT1VUOiAkKCgkUyAgKzEpKSAuLiBbT0tdCisJCQlJTjogc211ZGdlIDJwa3RfMi0xLmZpbGUgJCgoJFMqMi0xKSkgW09LXSAtLSBPVVQ6ICQoKCRTKjItMSkpIC4uIFtPS10KKwkJCUlOOiBzbXVkZ2UgMnBrdF8yX18uZmlsZSAkKCgkUyoyICApKSBbT0tdIC0tIE9VVDogJCgoJFMqMiAgKSkgLi4gW09LXQorCQkJSU46IHNtdWRnZSAzcGt0XzIrMS5maWxlICQoKCRTKjIrMSkpIFtPS10gLS0gT1VUOiAkKCgkUyoyKzEpKSAuLi4gW09LXQorCQkJU1RPUAorCQlFT0YKKwkJdGVzdF9jbXBfZXhjbHVkZV9jbGVhbiBleHBlY3RlZC5sb2cgcm90MTMtZmlsdGVyLmxvZyAmJgorCisJCWZvciBGSUxFIGluICouZmlsZQorCQlkbworCQkJdGVzdF9jbXBfY29tbWl0dGVkX3JvdDEzICIkVEVTVF9ST09ULyRGSUxFIiAkRklMRQorCQlkb25lCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3JlcXVpcmVkIHByb2Nlc3MgZmlsdGVyIHdpdGggY2xlYW4gZXJyb3Igc2hvdWxkIGZhaWwnICcKKwl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLnByb2Nlc3MgInJvdDEzLWZpbHRlci5wbCBjbGVhbiBzbXVkZ2UiICYmCisJdGVzdF9jb25maWdfZ2xvYmFsIGZpbHRlci5wcm90b2NvbC5yZXF1aXJlZCB0cnVlICYmCisJcm0gLXJmIHJlcG8gJiYKKwlta2RpciByZXBvICYmCisJKAorCQljZCByZXBvICYmCisJCWdpdCBpbml0ICYmCisKKwkJZWNobyAiKi5yIGZpbHRlcj1wcm90b2NvbCIgPi5naXRhdHRyaWJ1dGVzICYmCisKKwkJY3AgIiRURVNUX1JPT1QvdGVzdC5vIiB0ZXN0LnIgJiYKKwkJZWNobyAidGhpcyBpcyBnb2luZyB0byBmYWlsIiA+Y2xlYW4td3JpdGUtZmFpbC5yICYmCisJCWVjaG8gImNvbnRlbnQtdGVzdDMtc3ViZGlyIiA+dGVzdDMuciAmJgorCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBhZGQgLgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdwcm9jZXNzIGZpbHRlciBzaG91bGQgcmVzdGFydCBhZnRlciB1bmV4cGVjdGVkIHdyaXRlIGZhaWx1cmUnICcKKwl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLnByb2Nlc3MgInJvdDEzLWZpbHRlci5wbCBjbGVhbiBzbXVkZ2UiICYmCisJcm0gLXJmIHJlcG8gJiYKKwlta2RpciByZXBvICYmCisJKAorCQljZCByZXBvICYmCisJCWdpdCBpbml0ICYmCisKKwkJZWNobyAiKi5yIGZpbHRlcj1wcm90b2NvbCIgPi5naXRhdHRyaWJ1dGVzICYmCisKKwkJY3AgIiRURVNUX1JPT1QvdGVzdC5vIiB0ZXN0LnIgJiYKKwkJY3AgIiRURVNUX1JPT1QvdGVzdDIubyIgdGVzdDIuciAmJgorCQllY2hvICJ0aGlzIGlzIGdvaW5nIHRvIGZhaWwiID5zbXVkZ2Utd3JpdGUtZmFpbC5vICYmCisJCWNwIHNtdWRnZS13cml0ZS1mYWlsLm8gc211ZGdlLXdyaXRlLWZhaWwuciAmJgorCisJCVM9JChmaWxlX3NpemUgdGVzdC5yKSAmJgorCQlTMj0kKGZpbGVfc2l6ZSB0ZXN0Mi5yKSAmJgorCQlTRj0kKGZpbGVfc2l6ZSBzbXVkZ2Utd3JpdGUtZmFpbC5yKSAmJgorCisJCWdpdCBhZGQgLiAmJgorCQlybSAtZiAqLnIgJiYKKworCQlybSAtZiByb3QxMy1maWx0ZXIubG9nICYmCisJCWdpdCBjaGVja291dCAtLXF1aWV0IC0tbm8tcHJvZ3Jlc3MgLiAyPmdpdC1zdGRlcnIubG9nICYmCisKKwkJZ3JlcCAic211ZGdlIHdyaXRlIGVycm9yIGF0IiBnaXQtc3RkZXJyLmxvZyAmJgorCQlncmVwICJlcnJvcjogZXh0ZXJuYWwgZmlsdGVyIiBnaXQtc3RkZXJyLmxvZyAmJgorCisJCWNhdCA+ZXhwZWN0ZWQubG9nIDw8LUVPRiAmJgorCQkJU1RBUlQKKwkJCWluaXQgaGFuZHNoYWtlIGNvbXBsZXRlCisJCQlJTjogc211ZGdlIHNtdWRnZS13cml0ZS1mYWlsLnIgJFNGIFtPS10gLS0gT1VUOiAkU0YgW1dSSVRFIEZBSUxdCisJCQlTVEFSVAorCQkJaW5pdCBoYW5kc2hha2UgY29tcGxldGUKKwkJCUlOOiBzbXVkZ2UgdGVzdC5yICRTIFtPS10gLS0gT1VUOiAkUyAuIFtPS10KKwkJCUlOOiBzbXVkZ2UgdGVzdDIuciAkUzIgW09LXSAtLSBPVVQ6ICRTMiAuIFtPS10KKwkJCVNUT1AKKwkJRU9GCisJCXRlc3RfY21wX2V4Y2x1ZGVfY2xlYW4gZXhwZWN0ZWQubG9nIHJvdDEzLWZpbHRlci5sb2cgJiYKKworCQl0ZXN0X2NtcF9jb21taXR0ZWRfcm90MTMgIiRURVNUX1JPT1QvdGVzdC5vIiB0ZXN0LnIgJiYKKwkJdGVzdF9jbXBfY29tbWl0dGVkX3JvdDEzICIkVEVTVF9ST09UL3Rlc3QyLm8iIHRlc3QyLnIgJiYKKworCQkjIFNtdWRnZSBmYWlsZWQKKwkJISB0ZXN0X2NtcCBzbXVkZ2Utd3JpdGUtZmFpbC5vIHNtdWRnZS13cml0ZS1mYWlsLnIgJiYKKwkJcm90MTMuc2ggPHNtdWRnZS13cml0ZS1mYWlsLm8gPmV4cGVjdGVkICYmCisJCWdpdCBjYXQtZmlsZSBibG9iIDpzbXVkZ2Utd3JpdGUtZmFpbC5yID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3Byb2Nlc3MgZmlsdGVyIHNob3VsZCBub3QgYmUgcmVzdGFydGVkIGlmIGl0IHNpZ25hbHMgYW4gZXJyb3InICcKKwl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLnByb2Nlc3MgInJvdDEzLWZpbHRlci5wbCBjbGVhbiBzbXVkZ2UiICYmCisJcm0gLXJmIHJlcG8gJiYKKwlta2RpciByZXBvICYmCisJKAorCQljZCByZXBvICYmCisJCWdpdCBpbml0ICYmCisKKwkJZWNobyAiKi5yIGZpbHRlcj1wcm90b2NvbCIgPi5naXRhdHRyaWJ1dGVzICYmCisKKwkJY3AgIiRURVNUX1JPT1QvdGVzdC5vIiB0ZXN0LnIgJiYKKwkJY3AgIiRURVNUX1JPT1QvdGVzdDIubyIgdGVzdDIuciAmJgorCQllY2hvICJ0aGlzIHdpbGwgY2F1c2UgYW4gZXJyb3IiID5lcnJvci5vICYmCisJCWNwIGVycm9yLm8gZXJyb3IuciAmJgorCisJCVM9JChmaWxlX3NpemUgdGVzdC5yKSAmJgorCQlTMj0kKGZpbGVfc2l6ZSB0ZXN0Mi5yKSAmJgorCQlTRT0kKGZpbGVfc2l6ZSBlcnJvci5yKSAmJgorCisJCWdpdCBhZGQgLiAmJgorCQlybSAtZiAqLnIgJiYKKworCQlmaWx0ZXJfZ2l0IGNoZWNrb3V0IC0tcXVpZXQgLS1uby1wcm9ncmVzcyAuICYmCisJCWNhdCA+ZXhwZWN0ZWQubG9nIDw8LUVPRiAmJgorCQkJU1RBUlQKKwkJCWluaXQgaGFuZHNoYWtlIGNvbXBsZXRlCisJCQlJTjogc211ZGdlIGVycm9yLnIgJFNFIFtPS10gLS0gT1VUOiAwIFtFUlJPUl0KKwkJCUlOOiBzbXVkZ2UgdGVzdC5yICRTIFtPS10gLS0gT1VUOiAkUyAuIFtPS10KKwkJCUlOOiBzbXVkZ2UgdGVzdDIuciAkUzIgW09LXSAtLSBPVVQ6ICRTMiAuIFtPS10KKwkJCVNUT1AKKwkJRU9GCisJCXRlc3RfY21wX2V4Y2x1ZGVfY2xlYW4gZXhwZWN0ZWQubG9nIHJvdDEzLWZpbHRlci5sb2cgJiYKKworCQl0ZXN0X2NtcF9jb21taXR0ZWRfcm90MTMgIiRURVNUX1JPT1QvdGVzdC5vIiB0ZXN0LnIgJiYKKwkJdGVzdF9jbXBfY29tbWl0dGVkX3JvdDEzICIkVEVTVF9ST09UL3Rlc3QyLm8iIHRlc3QyLnIgJiYKKwkJdGVzdF9jbXAgZXJyb3IubyBlcnJvci5yCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3Byb2Nlc3MgZmlsdGVyIGFib3J0IHN0b3BzIHByb2Nlc3Npbmcgb2YgYWxsIGZ1cnRoZXIgZmlsZXMnICcKKwl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLnByb2Nlc3MgInJvdDEzLWZpbHRlci5wbCBjbGVhbiBzbXVkZ2UiICYmCisJcm0gLXJmIHJlcG8gJiYKKwlta2RpciByZXBvICYmCisJKAorCQljZCByZXBvICYmCisJCWdpdCBpbml0ICYmCisKKwkJZWNobyAiKi5yIGZpbHRlcj1wcm90b2NvbCIgPi5naXRhdHRyaWJ1dGVzICYmCisKKwkJY3AgIiRURVNUX1JPT1QvdGVzdC5vIiB0ZXN0LnIgJiYKKwkJY3AgIiRURVNUX1JPT1QvdGVzdDIubyIgdGVzdDIuciAmJgorCQllY2hvICJlcnJvciB0aGlzIGJsb2IgYW5kIGFsbCBmdXR1cmUgYmxvYnMiID5hYm9ydC5vICYmCisJCWNwIGFib3J0Lm8gYWJvcnQuciAmJgorCisJCVNBPSQoZmlsZV9zaXplIGFib3J0LnIpICYmCisKKwkJZ2l0IGFkZCAuICYmCisJCXJtIC1mICouciAmJgorCisJCSMgTm90ZTogVGhpcyB0ZXN0IGFzc3VtZXMgdGhhdCBHaXQgZmlsdGVycyBmaWxlcyBpbiBhbHBoYWJldGljYWwKKwkJIyBvcmRlciAoImFib3J0LnIiIGJlZm9yZSAidGVzdC5yIikuCisJCWZpbHRlcl9naXQgY2hlY2tvdXQgLS1xdWlldCAtLW5vLXByb2dyZXNzIC4gJiYKKwkJY2F0ID5leHBlY3RlZC5sb2cgPDwtRU9GICYmCisJCQlTVEFSVAorCQkJaW5pdCBoYW5kc2hha2UgY29tcGxldGUKKwkJCUlOOiBzbXVkZ2UgYWJvcnQuciAkU0EgW09LXSAtLSBPVVQ6IDAgW0FCT1JUXQorCQkJU1RPUAorCQlFT0YKKwkJdGVzdF9jbXBfZXhjbHVkZV9jbGVhbiBleHBlY3RlZC5sb2cgcm90MTMtZmlsdGVyLmxvZyAmJgorCisJCXRlc3RfY21wICIkVEVTVF9ST09UL3Rlc3QubyIgdGVzdC5yICYmCisJCXRlc3RfY21wICIkVEVTVF9ST09UL3Rlc3QyLm8iIHRlc3QyLnIgJiYKKwkJdGVzdF9jbXAgYWJvcnQubyBhYm9ydC5yCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ2ludmFsaWQgcHJvY2VzcyBmaWx0ZXIgbXVzdCBmYWlsIChhbmQgbm90IGhhbmchKScgJworCXRlc3RfY29uZmlnX2dsb2JhbCBmaWx0ZXIucHJvdG9jb2wucHJvY2VzcyBjYXQgJiYKKwl0ZXN0X2NvbmZpZ19nbG9iYWwgZmlsdGVyLnByb3RvY29sLnJlcXVpcmVkIHRydWUgJiYKKwlybSAtcmYgcmVwbyAmJgorCW1rZGlyIHJlcG8gJiYKKwkoCisJCWNkIHJlcG8gJiYKKwkJZ2l0IGluaXQgJiYKKworCQllY2hvICIqLnIgZmlsdGVyPXByb3RvY29sIiA+LmdpdGF0dHJpYnV0ZXMgJiYKKworCQljcCAiJFRFU1RfUk9PVC90ZXN0Lm8iIHRlc3QuciAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgYWRkIC4gMj5naXQtc3RkZXJyLmxvZyAmJgorCQlncmVwICJkb2VzIG5vdCBzdXBwb3J0IGZpbHRlciBwcm90b2NvbCB2ZXJzaW9uIiBnaXQtc3RkZXJyLmxvZworCSkKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QwMDIxL3JvdDEzLWZpbHRlci5wbCBiL3QvdDAwMjEvcm90MTMtZmlsdGVyLnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkNTY5N2UKLS0tIC9kZXYvbnVsbAorKysgYi90L3QwMDIxL3JvdDEzLWZpbHRlci5wbApAQCAtMCwwICsxLDE5MiBAQAorIworIyBFeGFtcGxlIGltcGxlbWVudGF0aW9uIGZvciB0aGUgR2l0IGZpbHRlciBwcm90b2NvbCB2ZXJzaW9uIDIKKyMgU2VlIERvY3VtZW50YXRpb24vZ2l0YXR0cmlidXRlcy50eHQsIHNlY3Rpb24gIkZpbHRlciBQcm90b2NvbCIKKyMKKyMgVGhlIHNjcmlwdCB0YWtlcyB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgcHJvdG9jb2wgY2FwYWJpbGl0aWVzIGFzCisjIGFyZ3VtZW50cyAoImNsZWFuIiwgInNtdWRnZSIsIGV0YykuCisjCisjIFRoaXMgaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgc3BlY2lhbCB0ZXN0IGNhc2VzOgorIyAoMSkgSWYgZGF0YSB3aXRoIHRoZSBwYXRobmFtZSAiY2xlYW4td3JpdGUtZmFpbC5yIiBpcyBwcm9jZXNzZWQgd2l0aAorIyAgICAgYSAiY2xlYW4iIG9wZXJhdGlvbiB0aGVuIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBkaWUuCisjICgyKSBJZiBkYXRhIHdpdGggdGhlIHBhdGhuYW1lICJzbXVkZ2Utd3JpdGUtZmFpbC5yIiBpcyBwcm9jZXNzZWQgd2l0aAorIyAgICAgYSAic211ZGdlIiBvcGVyYXRpb24gdGhlbiB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgZGllLgorIyAoMykgSWYgZGF0YSB3aXRoIHRoZSBwYXRobmFtZSAiZXJyb3IuciIgaXMgcHJvY2Vzc2VkIHdpdGggYW55CisjICAgICBvcGVyYXRpb24gdGhlbiB0aGUgZmlsdGVyIHNpZ25hbHMgdGhhdCBpdCBjYW5ub3Qgb3IgZG9lcyBub3Qgd2FudAorIyAgICAgdG8gcHJvY2VzcyB0aGUgZmlsZS4KKyMgKDQpIElmIGRhdGEgd2l0aCB0aGUgcGF0aG5hbWUgImFib3J0LnIiIGlzIHByb2Nlc3NlZCB3aXRoIGFueQorIyAgICAgb3BlcmF0aW9uIHRoZW4gdGhlIGZpbHRlciBzaWduYWxzIHRoYXQgaXQgY2Fubm90IG9yIGRvZXMgbm90IHdhbnQKKyMgICAgIHRvIHByb2Nlc3MgdGhlIGZpbGUgYW5kIGFueSBmaWxlIGFmdGVyIHRoYXQgaXMgcHJvY2Vzc2VkIHdpdGggdGhlCisjICAgICBzYW1lIGNvbW1hbmQuCisjCisKK3VzZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3M7Cit1c2UgSU86OkZpbGU7CisKK215ICRNQVhfUEFDS0VUX0NPTlRFTlRfU0laRSA9IDY1NTE2OworbXkgQGNhcGFiaWxpdGllcyAgICAgICAgICAgID0gQEFSR1Y7CisKK29wZW4gbXkgJGRlYnVnLCAiPj4iLCAicm90MTMtZmlsdGVyLmxvZyIgb3IgZGllICJjYW5ub3Qgb3BlbiBsb2cgZmlsZTogJCEiOworCitzdWIgcm90MTMgeworCW15ICRzdHIgPSBzaGlmdDsKKwkkc3RyID1+IHkvQS1aYS16L04tWkEtTW4temEtbS87CisJcmV0dXJuICRzdHI7Cit9CisKK3N1YiBwYWNrZXRfYmluX3JlYWQgeworCW15ICRidWZmZXI7CisJbXkgJGJ5dGVzX3JlYWQgPSByZWFkIFNURElOLCAkYnVmZmVyLCA0OworCWlmICggJGJ5dGVzX3JlYWQgPT0gMCApIHsKKwkJIyBFT0YgLSBHaXQgc3RvcHBlZCB0YWxraW5nIHRvIHVzIQorCQlwcmludCAkZGVidWcgIlNUT1BcbiI7CisJCWV4aXQoKTsKKwl9CisJZWxzaWYgKCAkYnl0ZXNfcmVhZCAhPSA0ICkgeworCQlkaWUgImludmFsaWQgcGFja2V0OiAnJGJ1ZmZlciciOworCX0KKwlteSAkcGt0X3NpemUgPSBoZXgoJGJ1ZmZlcik7CisJaWYgKCAkcGt0X3NpemUgPT0gMCApIHsKKwkJcmV0dXJuICggMSwgIiIgKTsKKwl9CisJZWxzaWYgKCAkcGt0X3NpemUgPiA0ICkgeworCQlteSAkY29udGVudF9zaXplID0gJHBrdF9zaXplIC0gNDsKKwkJJGJ5dGVzX3JlYWQgPSByZWFkIFNURElOLCAkYnVmZmVyLCAkY29udGVudF9zaXplOworCQlpZiAoICRieXRlc19yZWFkICE9ICRjb250ZW50X3NpemUgKSB7CisJCQlkaWUgImludmFsaWQgcGFja2V0ICgkY29udGVudF9zaXplIGJ5dGVzIGV4cGVjdGVkOyAkYnl0ZXNfcmVhZCBieXRlcyByZWFkKSI7CisJCX0KKwkJcmV0dXJuICggMCwgJGJ1ZmZlciApOworCX0KKwllbHNlIHsKKwkJZGllICJpbnZhbGlkIHBhY2tldCBzaXplOiAkcGt0X3NpemUiOworCX0KK30KKworc3ViIHBhY2tldF90eHRfcmVhZCB7CisJbXkgKCAkcmVzLCAkYnVmICkgPSBwYWNrZXRfYmluX3JlYWQoKTsKKwl1bmxlc3MgKCAkYnVmID1+IHMvXG4kLy8gKSB7CisJCWRpZSAiQSBub24tYmluYXJ5IGxpbmUgTVVTVCBiZSB0ZXJtaW5hdGVkIGJ5IGFuIExGLiI7CisJfQorCXJldHVybiAoICRyZXMsICRidWYgKTsKK30KKworc3ViIHBhY2tldF9iaW5fd3JpdGUgeworCW15ICRidWYgPSBzaGlmdDsKKwlwcmludCBTVERPVVQgc3ByaW50ZiggIiUwNHgiLCBsZW5ndGgoJGJ1ZikgKyA0ICk7CisJcHJpbnQgU1RET1VUICRidWY7CisJU1RET1VULT5mbHVzaCgpOworfQorCitzdWIgcGFja2V0X3R4dF93cml0ZSB7CisJcGFja2V0X2Jpbl93cml0ZSggJF9bMF0gLiAiXG4iICk7Cit9CisKK3N1YiBwYWNrZXRfZmx1c2ggeworCXByaW50IFNURE9VVCBzcHJpbnRmKCAiJTA0eCIsIDAgKTsKKwlTVERPVVQtPmZsdXNoKCk7Cit9CisKK3ByaW50ICRkZWJ1ZyAiU1RBUlRcbiI7CiskZGVidWctPmZsdXNoKCk7CisKKyggcGFja2V0X3R4dF9yZWFkKCkgZXEgKCAwLCAiZ2l0LWZpbHRlci1jbGllbnQiICkgKSB8fCBkaWUgImJhZCBpbml0aWFsaXplIjsKKyggcGFja2V0X3R4dF9yZWFkKCkgZXEgKCAwLCAidmVyc2lvbj0yIiApICkgICAgICAgICB8fCBkaWUgImJhZCB2ZXJzaW9uIjsKKyggcGFja2V0X2Jpbl9yZWFkKCkgZXEgKCAxLCAiIiApICkgICAgICAgICAgICAgICAgICB8fCBkaWUgImJhZCB2ZXJzaW9uIGVuZCI7CisKK3BhY2tldF90eHRfd3JpdGUoImdpdC1maWx0ZXItc2VydmVyIik7CitwYWNrZXRfdHh0X3dyaXRlKCJ2ZXJzaW9uPTIiKTsKK3BhY2tldF9mbHVzaCgpOworCisoIHBhY2tldF90eHRfcmVhZCgpIGVxICggMCwgImNhcGFiaWxpdHk9Y2xlYW4iICkgKSAgfHwgZGllICJiYWQgY2FwYWJpbGl0eSI7CisoIHBhY2tldF90eHRfcmVhZCgpIGVxICggMCwgImNhcGFiaWxpdHk9c211ZGdlIiApICkgfHwgZGllICJiYWQgY2FwYWJpbGl0eSI7CisoIHBhY2tldF9iaW5fcmVhZCgpIGVxICggMSwgIiIgKSApICAgICAgICAgICAgICAgICAgfHwgZGllICJiYWQgY2FwYWJpbGl0eSBlbmQiOworCitmb3JlYWNoIChAY2FwYWJpbGl0aWVzKSB7CisJcGFja2V0X3R4dF93cml0ZSggImNhcGFiaWxpdHk9IiAuICRfICk7Cit9CitwYWNrZXRfZmx1c2goKTsKK3ByaW50ICRkZWJ1ZyAiaW5pdCBoYW5kc2hha2UgY29tcGxldGVcbiI7CiskZGVidWctPmZsdXNoKCk7CisKK3doaWxlICgxKSB7CisJbXkgKCRjb21tYW5kKSA9IHBhY2tldF90eHRfcmVhZCgpID1+IC9eY29tbWFuZD0oW149XSspJC87CisJcHJpbnQgJGRlYnVnICJJTjogJGNvbW1hbmQiOworCSRkZWJ1Zy0+Zmx1c2goKTsKKworCW15ICgkcGF0aG5hbWUpID0gcGFja2V0X3R4dF9yZWFkKCkgPX4gL15wYXRobmFtZT0oW149XSspJC87CisJcHJpbnQgJGRlYnVnICIgJHBhdGhuYW1lIjsKKwkkZGVidWctPmZsdXNoKCk7CisKKwkjIEZsdXNoCisJcGFja2V0X2Jpbl9yZWFkKCk7CisKKwlteSAkaW5wdXQgPSAiIjsKKwl7CisJCWJpbm1vZGUoU1RESU4pOworCQlteSAkYnVmZmVyOworCQlteSAkZG9uZSA9IDA7CisJCXdoaWxlICggISRkb25lICkgeworCQkJKCAkZG9uZSwgJGJ1ZmZlciApID0gcGFja2V0X2Jpbl9yZWFkKCk7CisJCQkkaW5wdXQgLj0gJGJ1ZmZlcjsKKwkJfQorCQlwcmludCAkZGVidWcgIiAiIC4gbGVuZ3RoKCRpbnB1dCkgLiAiIFtPS10gLS0gIjsKKwkJJGRlYnVnLT5mbHVzaCgpOworCX0KKworCW15ICRvdXRwdXQ7CisJaWYgKCAkcGF0aG5hbWUgZXEgImVycm9yLnIiIG9yICRwYXRobmFtZSBlcSAiYWJvcnQuciIgKSB7CisJCSRvdXRwdXQgPSAiIjsKKwl9CisJZWxzaWYgKCAkY29tbWFuZCBlcSAiY2xlYW4iIGFuZCBncmVwKCAvXmNsZWFuJC8sIEBjYXBhYmlsaXRpZXMgKSApIHsKKwkJJG91dHB1dCA9IHJvdDEzKCRpbnB1dCk7CisJfQorCWVsc2lmICggJGNvbW1hbmQgZXEgInNtdWRnZSIgYW5kIGdyZXAoIC9ec211ZGdlJC8sIEBjYXBhYmlsaXRpZXMgKSApIHsKKwkJJG91dHB1dCA9IHJvdDEzKCRpbnB1dCk7CisJfQorCWVsc2UgeworCQlkaWUgImJhZCBjb21tYW5kICckY29tbWFuZCciOworCX0KKworCXByaW50ICRkZWJ1ZyAiT1VUOiAiIC4gbGVuZ3RoKCRvdXRwdXQpIC4gIiAiOworCSRkZWJ1Zy0+Zmx1c2goKTsKKworCWlmICggJHBhdGhuYW1lIGVxICJlcnJvci5yIiApIHsKKwkJcHJpbnQgJGRlYnVnICJbRVJST1JdXG4iOworCQkkZGVidWctPmZsdXNoKCk7CisJCXBhY2tldF90eHRfd3JpdGUoInN0YXR1cz1lcnJvciIpOworCQlwYWNrZXRfZmx1c2goKTsKKwl9CisJZWxzaWYgKCAkcGF0aG5hbWUgZXEgImFib3J0LnIiICkgeworCQlwcmludCAkZGVidWcgIltBQk9SVF1cbiI7CisJCSRkZWJ1Zy0+Zmx1c2goKTsKKwkJcGFja2V0X3R4dF93cml0ZSgic3RhdHVzPWFib3J0Iik7CisJCXBhY2tldF9mbHVzaCgpOworCX0KKwllbHNlIHsKKwkJcGFja2V0X3R4dF93cml0ZSgic3RhdHVzPXN1Y2Nlc3MiKTsKKwkJcGFja2V0X2ZsdXNoKCk7CisKKwkJaWYgKCAkcGF0aG5hbWUgZXEgIiR7Y29tbWFuZH0td3JpdGUtZmFpbC5yIiApIHsKKwkJCXByaW50ICRkZWJ1ZyAiW1dSSVRFIEZBSUxdXG4iOworCQkJJGRlYnVnLT5mbHVzaCgpOworCQkJZGllICIke2NvbW1hbmR9IHdyaXRlIGVycm9yIjsKKwkJfQorCisJCXdoaWxlICggbGVuZ3RoKCRvdXRwdXQpID4gMCApIHsKKwkJCW15ICRwYWNrZXQgPSBzdWJzdHIoICRvdXRwdXQsIDAsICRNQVhfUEFDS0VUX0NPTlRFTlRfU0laRSApOworCQkJcGFja2V0X2Jpbl93cml0ZSgkcGFja2V0KTsKKwkJCSMgZG90cyByZXByZXNlbnQgdGhlIG51bWJlciBvZiBwYWNrZXRzCisJCQlwcmludCAkZGVidWcgIi4iOworCQkJaWYgKCBsZW5ndGgoJG91dHB1dCkgPiAkTUFYX1BBQ0tFVF9DT05URU5UX1NJWkUgKSB7CisJCQkJJG91dHB1dCA9IHN1YnN0ciggJG91dHB1dCwgJE1BWF9QQUNLRVRfQ09OVEVOVF9TSVpFICk7CisJCQl9CisJCQllbHNlIHsKKwkJCQkkb3V0cHV0ID0gIiI7CisJCQl9CisJCX0KKwkJcGFja2V0X2ZsdXNoKCk7CisJCXByaW50ICRkZWJ1ZyAiIFtPS11cbiI7CisJCSRkZWJ1Zy0+Zmx1c2goKTsKKwkJcGFja2V0X2ZsdXNoKCk7CisJfQorfQpkaWZmIC0tZ2l0IGEvdC90MDAyNS1jcmxmLWF1dG8uc2ggYi90L3QwMDI1LWNybGYtYXV0by5zaAppbmRleCBjMTY0YjQ2Li5kMGJlZTA4IDEwMDc1NQotLS0gYS90L3QwMDI1LWNybGYtYXV0by5zaAorKysgYi90L3QwMDI1LWNybGYtYXV0by5zaApAQCAtMTE0LDcgKzExNCw3IEBACiAJdGVzdCAteiAiJExGb25seWRpZmYiIC1hIC16ICIkQ1JMRm9ubHlkaWZmIiAtYSAteiAiJExGd2l0aE5VTGRpZmYiCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RleHQ9YXV0bywgYXV0b2NybGY9dHJ1ZSBfZG9lc18gbm9ybWFsaXplIENSTEYgZmlsZXMnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RleHQ9YXV0bywgYXV0b2NybGY9dHJ1ZSBkb2VzIG5vdCBub3JtYWxpemUgQ1JMRiBmaWxlcycgJwogCiAJcm0gLWYgLmdpdGF0dHJpYnV0ZXMgdG1wIExGb25seSBDUkxGb25seSBMRndpdGhOVUwgJiYKIAlnaXQgY29uZmlnIGNvcmUuYXV0b2NybGYgdHJ1ZSAmJgpAQCAtMTI2LDcgKzEyNiw3IEBACiAJTEZvbmx5ZGlmZj0kKGdpdCBkaWZmIExGb25seSkgJiYKIAlDUkxGb25seWRpZmY9JChnaXQgZGlmZiBDUkxGb25seSkgJiYKIAlMRndpdGhOVUxkaWZmPSQoZ2l0IGRpZmYgTEZ3aXRoTlVMKSAmJgotCXRlc3QgLXogIiRMRm9ubHlkaWZmIiAtYSAtbiAiJENSTEZvbmx5ZGlmZiIgLWEgLXogIiRMRndpdGhOVUxkaWZmIgorCXRlc3QgLXogIiRMRm9ubHlkaWZmIiAtYSAteiAiJENSTEZvbmx5ZGlmZiIgLWEgLXogIiRMRndpdGhOVUxkaWZmIgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXh0PWF1dG8sIGF1dG9jcmxmPXRydWUgZG9lcyBub3Qgbm9ybWFsaXplIGJpbmFyeSBmaWxlcycgJwpkaWZmIC0tZ2l0IGEvdC90MDAyNy1hdXRvLWNybGYuc2ggYi90L3QwMDI3LWF1dG8tY3JsZi5zaAppbmRleCA5MzcyNTg5Li45MGRiNTRjIDEwMDc1NQotLS0gYS90L3QwMDI3LWF1dG8tY3JsZi5zaAorKysgYi90L3QwMDI3LWF1dG8tY3JsZi5zaApAQCAtMTE5LDggKzExOSw3IEBACiAJCWZuYW1lPSR7cGZ4fV8kZi50eHQgJiYKIAkJY3AgJGYgJGZuYW1lICYmCiAJCXByaW50ZiBaID4+IiRmbmFtZSIgJiYKLQkJZ2l0IC1jIGNvcmUuYXV0b2NybGY9JGNybGYgYWRkICRmbmFtZSAyPi9kZXYvbnVsbCAmJgotCQlnaXQgLWMgY29yZS5hdXRvY3JsZj0kY3JsZiBjb21taXQgLW0gImNvbW1pdF8kZm5hbWUiICRmbmFtZSA+IiR7cGZ4fV8kZi5lcnIiIDI+JjEKKwkJZ2l0IC1jIGNvcmUuYXV0b2NybGY9JGNybGYgYWRkICRmbmFtZSAyPiIke3BmeH1fJGYuZXJyIgogCWRvbmUKIAogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImNvbW1pdCBOTk8gZmlsZXMgY3JsZj0kY3JsZiBhdHRyPSRhdHRyIExGIiAnCkBAIC0xNzUsOCArMTc0LDggQEAKIAl0ZXh0LGxmKSAgIGVjaG8gInRleHQgZW9sPWxmIiA7OwogCXRleHQsY3JsZikgZWNobyAidGV4dCBlb2w9Y3JsZiIgOzsKIAlhdXRvLCkgICAgIGVjaG8gInRleHQ9YXV0byIgOzsKLQlhdXRvLGxmKSAgIGVjaG8gInRleHQgZW9sPWxmIiA7OwotCWF1dG8sY3JsZikgZWNobyAidGV4dCBlb2w9Y3JsZiIgOzsKKwlhdXRvLGxmKSAgIGVjaG8gInRleHQ9YXV0byBlb2w9bGYiIDs7CisJYXV0byxjcmxmKSBlY2hvICJ0ZXh0PWF1dG8gZW9sPWNybGYiIDs7CiAJbGYsKSAgICAgICBlY2hvICJ0ZXh0IGVvbD1sZiIgOzsKIAljcmxmLCkgICAgIGVjaG8gInRleHQgZW9sPWNybGYiIDs7CiAJLCkgZWNobyAiIiA7OwpAQCAtMzk3LDEwICszOTYsOSBAQAogY29tbWl0X2Noa193cm5OTk8gIiIgICAgICAiIiAgICAgIHRydWUgICAgTEZfQ1JMRiAgICIiICAgICAgICAiIiAgICAgICAgICAiIiAgICAgICAgICAiIgogY29tbWl0X2Noa193cm5OTk8gIiIgICAgICAiIiAgICAgIGlucHV0ICAgIiIgICAgICAgICIiICAgICAgICAiIiAgICAgICAgICAiIiAgICAgICAgICAiIgogCi1jb21taXRfY2hrX3dybk5OTyAiYXV0byIgICIiICAgICAgZmFsc2UgICAiJFdJTEMiICAgIiRXSUNMIiAgICIkV0FNSVgiICAgICIiICAgICAgICAgICIiCi1jb21taXRfY2hrX3dybk5OTyAiYXV0byIgICIiICAgICAgdHJ1ZSAgICBMRl9DUkxGICAgIiIgICAgICAgIExGX0NSTEYgICAgICIiICAgICAgICAgICIiCi1jb21taXRfY2hrX3dybk5OTyAiYXV0byIgICIiICAgICAgaW5wdXQgICAiIiAgICAgICAgQ1JMRl9MRiAgIENSTEZfTEYgICAgICIiICAgICAgICAgICIiCi0KK2NvbW1pdF9jaGtfd3JuTk5PICJhdXRvIiAgIiIgICAgICBmYWxzZSAgICIkV0lMQyIgICAiIiAgICAgICAgIiIgICAgICAgICAgIiIgICAgICAgICAgIiIKK2NvbW1pdF9jaGtfd3JuTk5PICJhdXRvIiAgIiIgICAgICB0cnVlICAgIExGX0NSTEYgICAiIiAgICAgICAgIiIgICAgICAgICAgIiIgICAgICAgICAgIiIKK2NvbW1pdF9jaGtfd3JuTk5PICJhdXRvIiAgIiIgICAgICBpbnB1dCAgICIiICAgICAgICAiIiAgICAgICAgIiIgICAgICAgICAgIiIgICAgICAgICAgIiIKIGZvciBjcmxmIGluIHRydWUgZmFsc2UgaW5wdXQKIGRvCiAJY29tbWl0X2Noa193cm5OTk8gLXRleHQgIiIgICAgICAkY3JsZiAgICIiICAgICAgICAiIiAgICAgICAgIiIgICAgICAgICAgIiIgICAgICAgICAgIiIKQEAgLTQwOCw4ICs0MDYsOCBAQAogCWNvbW1pdF9jaGtfd3JuTk5PIC10ZXh0IGNybGYgICAgJGNybGYgICAiIiAgICAgICAgIiIgICAgICAgICIiICAgICAgICAgICIiICAgICAgICAgICIiCiAJY29tbWl0X2Noa193cm5OTk8gIiIgICAgbGYgICAgICAkY3JsZiAgICIiICAgICAgIENSTEZfTEYgICAgQ1JMRl9MRiAgICAgICIiICAgICAgICAgQ1JMRl9MRgogCWNvbW1pdF9jaGtfd3JuTk5PICIiICAgIGNybGYgICAgJGNybGYgICBMRl9DUkxGICAgIiIgICAgICAgIExGX0NSTEYgICAgIExGX0NSTEYgICAgICIiCi0JY29tbWl0X2Noa193cm5OTk8gYXV0byAgbGYgICAgCSRjcmxmICAgIiIgICAgICAgQ1JMRl9MRiAgICBDUkxGX0xGICAgICAiIiAgICAgICAgICBDUkxGX0xGCi0JY29tbWl0X2Noa193cm5OTk8gYXV0byAgY3JsZiAgCSRjcmxmICAgTEZfQ1JMRiAgICIiICAgICAgICBMRl9DUkxGICAgICBMRl9DUkxGICAgICAiIgorCWNvbW1pdF9jaGtfd3JuTk5PIGF1dG8gIGxmICAgIAkkY3JsZiAgICIiICAgICAgICAiIiAgICAgICAgIiIgICAgICAgICAgIiIgICAgICAgICAgIiIKKwljb21taXRfY2hrX3dybk5OTyBhdXRvICBjcmxmICAJJGNybGYgICBMRl9DUkxGICAgIiIgICAgICAgICIiICAgICAgICAgICIiICAgICAgICAgICIiCiAJY29tbWl0X2Noa193cm5OTk8gdGV4dCAgbGYgICAgCSRjcmxmICAgIiIgICAgICAgQ1JMRl9MRiAgICBDUkxGX0xGICAgICAiIiAgICAgICAgICBDUkxGX0xGCiAJY29tbWl0X2Noa193cm5OTk8gdGV4dCAgY3JsZiAgCSRjcmxmICAgTEZfQ1JMRiAgICIiICAgICAgICBMRl9DUkxGICAgICBMRl9DUkxGICAgICAiIgogZG9uZQpAQCAtNDE4LDcgKzQxNiw4IEBACiBjb21taXRfY2hrX3dybk5OTyAidGV4dCIgICIiICAgICAgdHJ1ZSAgICBMRl9DUkxGICAgIiIgICAgICAgIExGX0NSTEYgICAgIExGX0NSTEYgICAgICIiCiBjb21taXRfY2hrX3dybk5OTyAidGV4dCIgICIiICAgICAgaW5wdXQgICAiIiAgICAgICAgQ1JMRl9MRiAgIENSTEZfTEYgICAgICIiICAgICAgICAgIENSTEZfTEYKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIGZpbGVzIGNsZWFudXAnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbW1pdCBOTk8gYW5kIGNsZWFudXAnICcKKwlnaXQgY29tbWl0IC1tICJjb21taXQgZmlsZXMgb24gdG9wIG9mIE5OTyIgJiYKIAlybSAtZiAqLnR4dCAmJgogCWdpdCAtYyBjb3JlLmF1dG9jcmxmPWZhbHNlIHJlc2V0IC0taGFyZAogJwpAQCAtNDU0LDkgKzQ1Myw5IEBACiAJY2hlY2tfaW5fcmVwb19OTk8gLXRleHQgIiIgICAgICRjcmxmICAgTEYgIENSTEYgIENSTEZfbWl4X0xGICBMRl9taXhfQ1IgIENSTEZfbnVsCiAJY2hlY2tfaW5fcmVwb19OTk8gLXRleHQgbGYgICAgICRjcmxmICAgTEYgIENSTEYgIENSTEZfbWl4X0xGICBMRl9taXhfQ1IgIENSTEZfbnVsCiAJY2hlY2tfaW5fcmVwb19OTk8gLXRleHQgY3JsZiAgICRjcmxmICAgTEYgIENSTEYgIENSTEZfbWl4X0xGICBMRl9taXhfQ1IgIENSTEZfbnVsCi0JY2hlY2tfaW5fcmVwb19OTk8gYXV0byAgIiIgICAgICRjcmxmICAgTEYgIExGICAgIExGICAgICAgICAgICBMRl9taXhfQ1IgIENSTEZfbnVsCi0JY2hlY2tfaW5fcmVwb19OTk8gYXV0byAgbGYgICAgICRjcmxmICAgTEYgIExGICAgIExGICAgICAgICAgICBMRl9taXhfQ1IgIExGX251bAotCWNoZWNrX2luX3JlcG9fTk5PIGF1dG8gIGNybGYgICAkY3JsZiAgIExGICBMRiAgICBMRiAgICAgICAgICAgTEZfbWl4X0NSICBMRl9udWwKKwljaGVja19pbl9yZXBvX05OTyBhdXRvICAiIiAgICAgJGNybGYgICBMRiAgQ1JMRiAgQ1JMRl9taXhfTEYgIExGX21peF9DUiAgQ1JMRl9udWwKKwljaGVja19pbl9yZXBvX05OTyBhdXRvICBsZiAgICAgJGNybGYgICBMRiAgQ1JMRiAgQ1JMRl9taXhfTEYgIExGX21peF9DUiAgQ1JMRl9udWwKKwljaGVja19pbl9yZXBvX05OTyBhdXRvICBjcmxmICAgJGNybGYgICBMRiAgQ1JMRiAgQ1JMRl9taXhfTEYgIExGX21peF9DUiAgQ1JMRl9udWwKIAljaGVja19pbl9yZXBvX05OTyB0ZXh0ICAiIiAgICAgJGNybGYgICBMRiAgTEYgICAgTEYgICAgICAgICAgIExGX21peF9DUiAgTEZfbnVsCiAJY2hlY2tfaW5fcmVwb19OTk8gdGV4dCAgbGYgICAgICRjcmxmICAgTEYgIExGICAgIExGICAgICAgICAgICBMRl9taXhfQ1IgIExGX251bAogCWNoZWNrX2luX3JlcG9fTk5PIHRleHQgIGNybGYgICAkY3JsZiAgIExGICBMRiAgICBMRiAgICAgICAgICAgTEZfbWl4X0NSICBMRl9udWwKQEAgLTUwOSw3ICs1MDgsNyBAQAogCQkJY2hlY2tvdXRfZmlsZXMgdGV4dCAgIiRpZCIgImNybGYiICIkY3JsZiIgIiRjZW9sIiAgQ1JMRiAgQ1JMRiAgQ1JMRiAgICAgICAgIENSTEZfbWl4X0NSICBDUkxGX251bAogCQkJIyBjdXJyZW50bHkgdGhlIHNhbWUgYXMgdGV4dCwgZW9sPVhYWAogCQkJY2hlY2tvdXRfZmlsZXMgYXV0byAgIiRpZCIgImxmIiAgICIkY3JsZiIgIiRjZW9sIiAgTEYgICAgQ1JMRiAgQ1JMRl9taXhfTEYgIExGX21peF9DUiAgICBMRl9udWwKLQkJCWNoZWNrb3V0X2ZpbGVzIGF1dG8gICIkaWQiICJjcmxmIiAiJGNybGYiICIkY2VvbCIgIENSTEYgIENSTEYgIENSTEYgICAgICAgICBDUkxGX21peF9DUiAgQ1JMRl9udWwKKwkJCWNoZWNrb3V0X2ZpbGVzIGF1dG8gICIkaWQiICJjcmxmIiAiJGNybGYiICIkY2VvbCIgIENSTEYgIENSTEYgIENSTEZfbWl4X0xGICBMRl9taXhfQ1IgICAgTEZfbnVsCiAJCWRvbmUKIAogCQkjIGNvcmUuYXV0b2NybGYgZmFsc2UsIGRpZmZlcmVudCBjb3JlLmVvbApAQCAtNTE3LDcgKzUxNiw3IEBACiAJCSMgY29yZS5hdXRvY3JsZiB0cnVlCiAJCWNoZWNrb3V0X2ZpbGVzICAgIiIgICAgIiRpZCIgIiIgICAgIHRydWUgICAgIiRjZW9sIiAgQ1JMRiAgQ1JMRiAgQ1JMRl9taXhfTEYgIExGX21peF9DUiAgICBMRl9udWwKIAkJIyB0ZXh0OiBjb3JlLmF1dG9jcmxmID0gdHJ1ZSBvdmVycmlkZXMgY29yZS5lb2wKLQkJY2hlY2tvdXRfZmlsZXMgICBhdXRvICAiJGlkIiAiIiAgICAgdHJ1ZSAgICAiJGNlb2wiICBDUkxGICBDUkxGICBDUkxGICAgICAgICAgTEZfbWl4X0NSICAgIExGX251bAorCQljaGVja291dF9maWxlcyAgIGF1dG8gICIkaWQiICIiICAgICB0cnVlICAgICIkY2VvbCIgIENSTEYgIENSTEYgIENSTEZfbWl4X0xGICBMRl9taXhfQ1IgICAgTEZfbnVsCiAJCWNoZWNrb3V0X2ZpbGVzICAgdGV4dCAgIiRpZCIgIiIgICAgIHRydWUgICAgIiRjZW9sIiAgQ1JMRiAgQ1JMRiAgQ1JMRiAgICAgICAgIENSTEZfbWl4X0NSICBDUkxGX251bAogCQkjIHRleHQ6IGNvcmUuYXV0b2NybGYgPSBpbnB1dCBvdmVycmlkZXMgY29yZS5lb2wKIAkJY2hlY2tvdXRfZmlsZXMgICB0ZXh0ICAiJGlkIiAiIiAgICAgaW5wdXQgICAiJGNlb2wiICBMRiAgICBDUkxGICBDUkxGX21peF9MRiAgTEZfbWl4X0NSICAgIExGX251bApAQCAtNTMxLDggKzUzMCw4IEBACiAJY2hlY2tvdXRfZmlsZXMgICAgIHRleHQgICIkaWQiICIiICAgICBmYWxzZSAgICIiICAgICAgICROTCAgIENSTEYgICRNSVhfQ1JMRl9MRiAkTUlYX0xGX0NSICAgJExGTlVMCiAJY2hlY2tvdXRfZmlsZXMgICAgIHRleHQgICIkaWQiICIiICAgICBmYWxzZSAgIG5hdGl2ZSAgICROTCAgIENSTEYgICRNSVhfQ1JMRl9MRiAkTUlYX0xGX0NSICAgJExGTlVMCiAJIyBhdXRvOiBjb3JlLmF1dG9jcmxmPWZhbHNlIGFuZCBjb3JlLmVvbCB1bnNldChvciBuYXRpdmUpIHVzZXMgbmF0aXZlIGVvbAotCWNoZWNrb3V0X2ZpbGVzICAgICBhdXRvICAiJGlkIiAiIiAgICAgZmFsc2UgICAiIiAgICAgICAkTkwgICBDUkxGICAkTUlYX0NSTEZfTEYgTEZfbWl4X0NSICAgIExGX251bAotCWNoZWNrb3V0X2ZpbGVzICAgICBhdXRvICAiJGlkIiAiIiAgICAgZmFsc2UgICBuYXRpdmUgICAkTkwgICBDUkxGICAkTUlYX0NSTEZfTEYgTEZfbWl4X0NSICAgIExGX251bAorCWNoZWNrb3V0X2ZpbGVzICAgICBhdXRvICAiJGlkIiAiIiAgICAgZmFsc2UgICAiIiAgICAgICAkTkwgICBDUkxGICBDUkxGX21peF9MRiAgTEZfbWl4X0NSICAgIExGX251bAorCWNoZWNrb3V0X2ZpbGVzICAgICBhdXRvICAiJGlkIiAiIiAgICAgZmFsc2UgICBuYXRpdmUgICAkTkwgICBDUkxGICBDUkxGX21peF9MRiAgTEZfbWl4X0NSICAgIExGX251bAogZG9uZQogCiAjIFNob3VsZCBiZSB0aGUgbGFzdCB0ZXN0IGNhc2U6IHJlbW92ZSBzb21lIGZpbGVzIGZyb20gdGhlIHdvcmt0cmVlCmRpZmYgLS1naXQgYS90L3QwMDMwLXN0cmlwc3BhY2Uuc2ggYi90L3QwMDMwLXN0cmlwc3BhY2Uuc2gKaW5kZXggMjllOTFkOC4uYmJmM2UzOSAxMDA3NTUKLS0tIGEvdC90MDAzMC1zdHJpcHNwYWNlLnNoCisrKyBiL3QvdDAwMzAtc3RyaXBzcGFjZS5zaApAQCAtNDMyLDYgKzQzMiwxNSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnLWMgd2l0aCBjb21tZW50IGNoYXIgZGVmaW5lZCBpbiAuZ2l0L2NvbmZpZycgJworCXRlc3RfY29uZmlnIGNvcmUuY29tbWVudGNoYXIgPSAmJgorCXByaW50ZiAiPSBmb29cbiIgPmV4cGVjdCAmJgorCXByaW50ZiAiZm9vIiB8ICgKKwkJbWtkaXIgc3ViICYmIGNkIHN1YiAmJiBnaXQgc3RyaXBzcGFjZSAtYworCSkgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYXZvaWQgU1AtSFQgc2VxdWVuY2UgaW4gY29tbWVudGVkIGxpbmUnICcKIAlwcmludGYgIiNcdG9uZVxuI1xuIyB0d29cbiIgPmV4cGVjdCAmJgogCXByaW50ZiAiXHRvbmVcblxudHdvXG4iIHwgZ2l0IHN0cmlwc3BhY2UgLWMgPmFjdHVhbCAmJgpkaWZmIC0tZ2l0IGEvdC90MDA0MC1wYXJzZS1vcHRpb25zLnNoIGIvdC90MDA0MC1wYXJzZS1vcHRpb25zLnNoCmluZGV4IGRiNWY2MGQuLjc0ZDJjZDcgMTAwNzU1Ci0tLSBhL3QvdDAwNDAtcGFyc2Utb3B0aW9ucy5zaAorKysgYi90L3QwMDQwLXBhcnNlLW9wdGlvbnMuc2gKQEAgLTIwOCwzMiArMjA4LDE1IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VuYW1iaWd1b3VzbHkgYWJicmV2aWF0ZWQgb3B0aW9uIHdpdGggIj0iJyAnCi0JdGVzdC1wYXJzZS1vcHRpb25zIC0taW50PTIgPm91dHB1dCAyPm91dHB1dC5lcnIgJiYKLQl0ZXN0X211c3RfYmVfZW1wdHkgb3V0cHV0LmVyciAmJgotCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKKwl0ZXN0LXBhcnNlLW9wdGlvbnMgLS1leHBlY3Q9ImludGVnZXI6IDIiIC0taW50PTIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYW1iaWd1b3VzbHkgYWJicmV2aWF0ZWQgb3B0aW9uJyAnCiAJdGVzdF9leHBlY3RfY29kZSAxMjkgdGVzdC1wYXJzZS1vcHRpb25zIC0tc3RyaW4gMTIzCiAnCiAKLWNhdCA+ZXhwZWN0IDw8XEVPRgotYm9vbGVhbjogMAotaW50ZWdlcjogMAotbWFnbml0dWRlOiAwCi10aW1lc3RhbXA6IDAKLXN0cmluZzogMTIzCi1hYmJyZXY6IDcKLXZlcmJvc2U6IC0xCi1xdWlldDogMAotZHJ5IHJ1bjogbm8KLWZpbGU6IChub3Qgc2V0KQotRU9GCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vbiBhbWJpZ3VvdXMgb3B0aW9uIChhZnRlciB0d28gb3B0aW9ucyBpdCBhYmJyZXZpYXRlcyknICcKLQl0ZXN0LXBhcnNlLW9wdGlvbnMgLS1zdCAxMjMgPm91dHB1dCAyPm91dHB1dC5lcnIgJiYKLQl0ZXN0X211c3RfYmVfZW1wdHkgb3V0cHV0LmVyciAmJgotCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKKwl0ZXN0LXBhcnNlLW9wdGlvbnMgLS1leHBlY3Q9InN0cmluZzogMTIzIiAtLXN0IDEyMwogJwogCiBjYXQgPnR5cG8uZXJyIDw8XEVPRgpAQCAtMjU2LDI0ICsyMzksOCBAQAogCXRlc3RfY21wIHR5cG8uZXJyIG91dHB1dC5lcnIKICcKIAotY2F0ID5leHBlY3QgPDxcRU9GCi1ib29sZWFuOiAwCi1pbnRlZ2VyOiAwCi1tYWduaXR1ZGU6IDAKLXRpbWVzdGFtcDogMAotc3RyaW5nOiAobm90IHNldCkKLWFiYnJldjogNwotdmVyYm9zZTogLTEKLXF1aWV0OiAwCi1kcnkgcnVuOiBubwotZmlsZTogKG5vdCBzZXQpCi1hcmcgMDA6IC0tcXV1eAotRU9GCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2tlZXAgc29tZSBvcHRpb25zIGFzIGFyZ3VtZW50cycgJwotCXRlc3QtcGFyc2Utb3B0aW9ucyAtLXF1dXggPm91dHB1dCAyPm91dHB1dC5lcnIgJiYKLQl0ZXN0X211c3RfYmVfZW1wdHkgb3V0cHV0LmVyciAmJgotCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKKwl0ZXN0LXBhcnNlLW9wdGlvbnMgLS1leHBlY3Q9ImFyZyAwMDogLS1xdXV4IiAtLXF1dXgKICcKIAogY2F0ID5leHBlY3QgPDxcRU9GCkBAIC0zNTAsNTQgKzMxNywyMCBAQAogCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKICcKIAotY2F0ID5leHBlY3QgPDxcRU9GCi1ib29sZWFuOiA2Ci1pbnRlZ2VyOiAwCi1tYWduaXR1ZGU6IDAKLXRpbWVzdGFtcDogMAotc3RyaW5nOiAobm90IHNldCkKLWFiYnJldjogNwotdmVyYm9zZTogLTEKLXF1aWV0OiAwCi1kcnkgcnVuOiBubwotZmlsZTogKG5vdCBzZXQpCi1FT0YKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnT1BUX0JJVCgpIHdvcmtzJyAnCi0JdGVzdC1wYXJzZS1vcHRpb25zIC1iYiAtLW9yNCA+b3V0cHV0IDI+b3V0cHV0LmVyciAmJgotCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQuZXJyICYmCi0JdGVzdF9jbXAgZXhwZWN0IG91dHB1dAorCXRlc3QtcGFyc2Utb3B0aW9ucyAtLWV4cGVjdD0iYm9vbGVhbjogNiIgLWJiIC0tb3I0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ09QVF9ORUdCSVQoKSB3b3JrcycgJwotCXRlc3QtcGFyc2Utb3B0aW9ucyAtYmIgLS1uby1uZWctb3I0ID5vdXRwdXQgMj5vdXRwdXQuZXJyICYmCi0JdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dC5lcnIgJiYKLQl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CisJdGVzdC1wYXJzZS1vcHRpb25zIC0tZXhwZWN0PSJib29sZWFuOiA2IiAtYmIgLS1uby1uZWctb3I0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ09QVF9DT1VOVFVQKCkgd2l0aCBQQVJTRV9PUFRfTk9EQVNIIHdvcmtzJyAnCi0JdGVzdC1wYXJzZS1vcHRpb25zICsgKyArICsgKyArID5vdXRwdXQgMj5vdXRwdXQuZXJyICYmCi0JdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dC5lcnIgJiYKLQl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CisJdGVzdC1wYXJzZS1vcHRpb25zIC0tZXhwZWN0PSJib29sZWFuOiA2IiArICsgKyArICsgKwogJwogCi1jYXQgPmV4cGVjdCA8PFxFT0YKLWJvb2xlYW46IDAKLWludGVnZXI6IDEyMzQ1Ci1tYWduaXR1ZGU6IDAKLXRpbWVzdGFtcDogMAotc3RyaW5nOiAobm90IHNldCkKLWFiYnJldjogNwotdmVyYm9zZTogLTEKLXF1aWV0OiAwCi1kcnkgcnVuOiBubwotZmlsZTogKG5vdCBzZXQpCi1FT0YKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnT1BUX05VTUJFUl9DQUxMQkFDSygpIHdvcmtzJyAnCi0JdGVzdC1wYXJzZS1vcHRpb25zIC0xMjM0NSA+b3V0cHV0IDI+b3V0cHV0LmVyciAmJgotCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQuZXJyICYmCi0JdGVzdF9jbXAgZXhwZWN0IG91dHB1dAorCXRlc3QtcGFyc2Utb3B0aW9ucyAtLWV4cGVjdD0iaW50ZWdlcjogMTIzNDUiIC0xMjM0NQogJwogCiBjYXQgPmV4cGVjdCA8PFxFT0YKQEAgLTQzNSwxMTggKzM2OCwyOCBAQAogCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKICcKIAotY2F0ID5leHBlY3QgPDxcRU9GCi1ib29sZWFuOiAwCi1pbnRlZ2VyOiAwCi1tYWduaXR1ZGU6IDAKLXRpbWVzdGFtcDogMAotc3RyaW5nOiAobm90IHNldCkKLWFiYnJldjogNwotdmVyYm9zZTogLTEKLXF1aWV0OiAzCi1kcnkgcnVuOiBubwotZmlsZTogKG5vdCBzZXQpCi1FT0YKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbXVsdGlwbGUgcXVpZXQgbGV2ZWxzJyAnCi0JdGVzdC1wYXJzZS1vcHRpb25zIC1xIC1xIC1xID5vdXRwdXQgMj5vdXRwdXQuZXJyICYmCi0JdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dC5lcnIgJiYKLQl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CisJdGVzdC1wYXJzZS1vcHRpb25zIC0tZXhwZWN0PSJxdWlldDogMyIgLXEgLXEgLXEKICcKIAotY2F0ID5leHBlY3QgPDxcRU9GCi1ib29sZWFuOiAwCi1pbnRlZ2VyOiAwCi1tYWduaXR1ZGU6IDAKLXRpbWVzdGFtcDogMAotc3RyaW5nOiAobm90IHNldCkKLWFiYnJldjogNwotdmVyYm9zZTogMwotcXVpZXQ6IDAKLWRyeSBydW46IG5vCi1maWxlOiAobm90IHNldCkKLUVPRgotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtdWx0aXBsZSB2ZXJib3NlIGxldmVscycgJwotCXRlc3QtcGFyc2Utb3B0aW9ucyAtdiAtdiAtdiA+b3V0cHV0IDI+b3V0cHV0LmVyciAmJgotCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQuZXJyICYmCi0JdGVzdF9jbXAgZXhwZWN0IG91dHB1dAorCXRlc3QtcGFyc2Utb3B0aW9ucyAtLWV4cGVjdD0idmVyYm9zZTogMyIgLXYgLXYgLXYKICcKIAotY2F0ID5leHBlY3QgPDxcRU9GCi1ib29sZWFuOiAwCi1pbnRlZ2VyOiAwCi1tYWduaXR1ZGU6IDAKLXRpbWVzdGFtcDogMAotc3RyaW5nOiAobm90IHNldCkKLWFiYnJldjogNwotdmVyYm9zZTogLTEKLXF1aWV0OiAwCi1kcnkgcnVuOiBubwotZmlsZTogKG5vdCBzZXQpCi1FT0YKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1uby1xdWlldCBzZXRzIC0tcXVpZXQgdG8gMCcgJwotCXRlc3QtcGFyc2Utb3B0aW9ucyAtLW5vLXF1aWV0ID5vdXRwdXQgMj5vdXRwdXQuZXJyICYmCi0JdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dC5lcnIgJiYKLQl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CisJdGVzdC1wYXJzZS1vcHRpb25zIC0tZXhwZWN0PSJxdWlldDogMCIgLS1uby1xdWlldAogJwogCi1jYXQgPmV4cGVjdCA8PFxFT0YKLWJvb2xlYW46IDAKLWludGVnZXI6IDAKLW1hZ25pdHVkZTogMAotdGltZXN0YW1wOiAwCi1zdHJpbmc6IChub3Qgc2V0KQotYWJicmV2OiA3Ci12ZXJib3NlOiAtMQotcXVpZXQ6IDAKLWRyeSBydW46IG5vCi1maWxlOiAobm90IHNldCkKLUVPRgotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLW5vLXF1aWV0IHJlc2V0cyBtdWx0aXBsZSAtcSB0byAwJyAnCi0JdGVzdC1wYXJzZS1vcHRpb25zIC1xIC1xIC1xIC0tbm8tcXVpZXQgPm91dHB1dCAyPm91dHB1dC5lcnIgJiYKLQl0ZXN0X211c3RfYmVfZW1wdHkgb3V0cHV0LmVyciAmJgotCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKKwl0ZXN0LXBhcnNlLW9wdGlvbnMgLS1leHBlY3Q9InF1aWV0OiAwIiAtcSAtcSAtcSAtLW5vLXF1aWV0CiAnCiAKLWNhdCA+ZXhwZWN0IDw8XEVPRgotYm9vbGVhbjogMAotaW50ZWdlcjogMAotbWFnbml0dWRlOiAwCi10aW1lc3RhbXA6IDAKLXN0cmluZzogKG5vdCBzZXQpCi1hYmJyZXY6IDcKLXZlcmJvc2U6IDAKLXF1aWV0OiAwCi1kcnkgcnVuOiBubwotZmlsZTogKG5vdCBzZXQpCi1FT0YKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1uby12ZXJib3NlIHNldHMgdmVyYm9zZSB0byAwJyAnCi0JdGVzdC1wYXJzZS1vcHRpb25zIC0tbm8tdmVyYm9zZSA+b3V0cHV0IDI+b3V0cHV0LmVyciAmJgotCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQuZXJyICYmCi0JdGVzdF9jbXAgZXhwZWN0IG91dHB1dAorCXRlc3QtcGFyc2Utb3B0aW9ucyAtLWV4cGVjdD0idmVyYm9zZTogMCIgLS1uby12ZXJib3NlCiAnCiAKLWNhdCA+ZXhwZWN0IDw8XEVPRgotYm9vbGVhbjogMAotaW50ZWdlcjogMAotbWFnbml0dWRlOiAwCi10aW1lc3RhbXA6IDAKLXN0cmluZzogKG5vdCBzZXQpCi1hYmJyZXY6IDcKLXZlcmJvc2U6IDAKLXF1aWV0OiAwCi1kcnkgcnVuOiBubwotZmlsZTogKG5vdCBzZXQpCi1FT0YKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1uby12ZXJib3NlIHJlc2V0cyBtdWx0aXBsZSB2ZXJib3NlIHRvIDAnICcKLQl0ZXN0LXBhcnNlLW9wdGlvbnMgLXYgLXYgLXYgLS1uby12ZXJib3NlID5vdXRwdXQgMj5vdXRwdXQuZXJyICYmCi0JdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dC5lcnIgJiYKLQl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CisJdGVzdC1wYXJzZS1vcHRpb25zIC0tZXhwZWN0PSJ2ZXJib3NlOiAwIiAtdiAtdiAtdiAtLW5vLXZlcmJvc2UKICcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QwMDYwLXBhdGgtdXRpbHMuc2ggYi90L3QwMDYwLXBhdGgtdXRpbHMuc2gKaW5kZXggYmYyZGVlZS4uNDQ0YjVhNCAxMDA3NTUKLS0tIGEvdC90MDA2MC1wYXRoLXV0aWxzLnNoCisrKyBiL3QvdDAwNjAtcGF0aC11dGlscy5zaApAQCAtMzA1LDggKzMwNSw5IEBACiB0ZXN0X2dpdF9wYXRoIEdJVF9DT01NT05fRElSPWJhciBwYWNrZWQtcmVmcyAgICAgICAgICAgICAgYmFyL3BhY2tlZC1yZWZzCiB0ZXN0X2dpdF9wYXRoIEdJVF9DT01NT05fRElSPWJhciBzaGFsbG93ICAgICAgICAgICAgICAgICAgYmFyL3NoYWxsb3cKIAotIyBJbiB0aGUgdGVzdHMgYmVsb3csIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuICRQV0QgYW5kICQocHdkKSBpcyBpbXBvcnRhbnQ6Ci0jIG9uIFdpbmRvd3MsICRQV0QgaXMgUE9TSVggc3R5bGUgKC9jL2ZvbyksICQocHdkKSBoYXMgZHJpdmUgbGV0dGVyIChjOi9mb28pLgorIyBJbiB0aGUgdGVzdHMgYmVsb3csICQocHdkKSBtdXN0IGJlIHVzZWQgYmVjYXVzZSBpdCBpcyBhIG5hdGl2ZSBwYXRoIG9uCisjIFdpbmRvd3MgYW5kIGF2b2lkcyBNU1lTJ3MgcGF0aCBtYW5nbGluZyAod2hpY2ggc2ltcGxpZmllcyAiZm9vLy4uL2JhciIgYW5kCisjIHN0cmlwcyB0aGUgZG90IGZyb20gdHJhaWxpbmcgIi8uIikuCiAKIHRlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiLi4vIiAiLi4vZm9vIiAiLi4vc3VibW9kdWxlIiAiLi4vLi4vc3VibW9kdWxlIgogdGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIuLi8iICIuLi9mb28vYmFyIiAiLi4vc3VibW9kdWxlIiAiLi4vLi4vZm9vL3N1Ym1vZHVsZSIKQEAgLTMxNCwyNyArMzE1LDI5IEBACiB0ZXN0X3N1Ym1vZHVsZV9yZWxhdGl2ZV91cmwgIi4uLyIgIi4vZm9vIiAiLi4vc3VibW9kdWxlIiAiLi4vc3VibW9kdWxlIgogdGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIuLi8iICIuL2Zvby9iYXIiICIuLi9zdWJtb2R1bGUiICIuLi9mb28vc3VibW9kdWxlIgogdGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIuLi8uLi8uLi8iICIuLi9mb28vYmFyIiAiLi4vc3ViL2EvYi9jIiAiLi4vLi4vLi4vLi4vZm9vL3N1Yi9hL2IvYyIKLXRlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiLi4vIiAiJFBXRC9hZGR0ZXN0IiAiLi4vcmVwbyIgIiQocHdkKS9yZXBvIgordGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIuLi8iICIkKHB3ZCkvYWRkdGVzdCIgIi4uL3JlcG8iICIkKHB3ZCkvcmVwbyIKIHRlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiLi4vIiAiZm9vL2JhciIgIi4uL3N1Ym1vZHVsZSIgIi4uL2Zvby9zdWJtb2R1bGUiCiB0ZXN0X3N1Ym1vZHVsZV9yZWxhdGl2ZV91cmwgIi4uLyIgImZvbyIgIi4uL3N1Ym1vZHVsZSIgIi4uL3N1Ym1vZHVsZSIKIAogdGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIobnVsbCkiICIuLi9mb28vYmFyIiAiLi4vc3ViL2EvYi9jIiAiLi4vZm9vL3N1Yi9hL2IvYyIKK3Rlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiKG51bGwpIiAiLi4vZm9vL2JhciIgIi4uL3N1Yi9hL2IvYy8iICIuLi9mb28vc3ViL2EvYi9jIgordGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIobnVsbCkiICIuLi9mb28vYmFyLyIgIi4uL3N1Yi9hL2IvYyIgIi4uL2Zvby9zdWIvYS9iL2MiCiB0ZXN0X3N1Ym1vZHVsZV9yZWxhdGl2ZV91cmwgIihudWxsKSIgIi4uL2Zvby9iYXIiICIuLi9zdWJtb2R1bGUiICIuLi9mb28vc3VibW9kdWxlIgogdGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIobnVsbCkiICIuLi9mb28vc3VibW9kdWxlIiAiLi4vc3VibW9kdWxlIiAiLi4vZm9vL3N1Ym1vZHVsZSIKIHRlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiKG51bGwpIiAiLi4vZm9vIiAiLi4vc3VibW9kdWxlIiAiLi4vc3VibW9kdWxlIgogdGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIobnVsbCkiICIuL2Zvby9iYXIiICIuLi9zdWJtb2R1bGUiICJmb28vc3VibW9kdWxlIgogdGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIobnVsbCkiICIuL2ZvbyIgIi4uL3N1Ym1vZHVsZSIgInN1Ym1vZHVsZSIKIHRlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiKG51bGwpIiAiLy9zb21ld2hlcmUgZWxzZS9yZXBvIiAiLi4vc3VicmVwbyIgIi8vc29tZXdoZXJlIGVsc2Uvc3VicmVwbyIKLXRlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiKG51bGwpIiAiJFBXRC9zdWJzdXBlcl91cGRhdGVfciIgIi4uL3N1YnN1YnN1cGVyX3VwZGF0ZV9yIiAiJChwd2QpL3N1YnN1YnN1cGVyX3VwZGF0ZV9yIgotdGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIobnVsbCkiICIkUFdEL3N1cGVyX3VwZGF0ZV9yMiIgIi4uL3N1YnN1cGVyX3VwZGF0ZV9yIiAiJChwd2QpL3N1YnN1cGVyX3VwZGF0ZV9yIgotdGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIobnVsbCkiICIkUFdELy4iICIuLi8uIiAiJChwd2QpLy4iCi10ZXN0X3N1Ym1vZHVsZV9yZWxhdGl2ZV91cmwgIihudWxsKSIgIiRQV0QiICIuLy4iICIkKHB3ZCkvLiIKLXRlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiKG51bGwpIiAiJFBXRC9hZGR0ZXN0IiAiLi4vcmVwbyIgIiQocHdkKS9yZXBvIgotdGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIobnVsbCkiICIkUFdEIiAiLi/DpSDDpMO2IiAiJChwd2QpL8OlIMOkw7YiCi10ZXN0X3N1Ym1vZHVsZV9yZWxhdGl2ZV91cmwgIihudWxsKSIgIiRQV0QvLiIgIi4uL3N1Ym1vZHVsZSIgIiQocHdkKS9zdWJtb2R1bGUiCi10ZXN0X3N1Ym1vZHVsZV9yZWxhdGl2ZV91cmwgIihudWxsKSIgIiRQV0Qvc3VibW9kdWxlIiAiLi4vc3VibW9kdWxlIiAiJChwd2QpL3N1Ym1vZHVsZSIKLXRlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiKG51bGwpIiAiJFBXRC9ob21lMi8uLi9yZW1vdGUiICIuLi9idW5kbGUxIiAiJChwd2QpL2hvbWUyLy4uL2J1bmRsZTEiCi10ZXN0X3N1Ym1vZHVsZV9yZWxhdGl2ZV91cmwgIihudWxsKSIgIiRQV0Qvc3VibW9kdWxlX3VwZGF0ZV9yZXBvIiAiLi8uIiAiJChwd2QpL3N1Ym1vZHVsZV91cGRhdGVfcmVwby8uIgordGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIobnVsbCkiICIkKHB3ZCkvc3Vic3VwZXJfdXBkYXRlX3IiICIuLi9zdWJzdWJzdXBlcl91cGRhdGVfciIgIiQocHdkKS9zdWJzdWJzdXBlcl91cGRhdGVfciIKK3Rlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiKG51bGwpIiAiJChwd2QpL3N1cGVyX3VwZGF0ZV9yMiIgIi4uL3N1YnN1cGVyX3VwZGF0ZV9yIiAiJChwd2QpL3N1YnN1cGVyX3VwZGF0ZV9yIgordGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIobnVsbCkiICIkKHB3ZCkvLiIgIi4uLy4iICIkKHB3ZCkvLiIKK3Rlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiKG51bGwpIiAiJChwd2QpIiAiLi8uIiAiJChwd2QpLy4iCit0ZXN0X3N1Ym1vZHVsZV9yZWxhdGl2ZV91cmwgIihudWxsKSIgIiQocHdkKS9hZGR0ZXN0IiAiLi4vcmVwbyIgIiQocHdkKS9yZXBvIgordGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIobnVsbCkiICIkKHB3ZCkiICIuL8OlIMOkw7YiICIkKHB3ZCkvw6Ugw6TDtiIKK3Rlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiKG51bGwpIiAiJChwd2QpLy4iICIuLi9zdWJtb2R1bGUiICIkKHB3ZCkvc3VibW9kdWxlIgordGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIobnVsbCkiICIkKHB3ZCkvc3VibW9kdWxlIiAiLi4vc3VibW9kdWxlIiAiJChwd2QpL3N1Ym1vZHVsZSIKK3Rlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiKG51bGwpIiAiJChwd2QpL2hvbWUyLy4uL3JlbW90ZSIgIi4uL2J1bmRsZTEiICIkKHB3ZCkvaG9tZTIvLi4vYnVuZGxlMSIKK3Rlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiKG51bGwpIiAiJChwd2QpL3N1Ym1vZHVsZV91cGRhdGVfcmVwbyIgIi4vLiIgIiQocHdkKS9zdWJtb2R1bGVfdXBkYXRlX3JlcG8vLiIKIHRlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiKG51bGwpIiAiZmlsZTovLy90bXAvcmVwbyIgIi4uL3N1YnJlcG8iICJmaWxlOi8vL3RtcC9zdWJyZXBvIgogdGVzdF9zdWJtb2R1bGVfcmVsYXRpdmVfdXJsICIobnVsbCkiICJmb28vYmFyIiAiLi4vc3VibW9kdWxlIiAiZm9vL3N1Ym1vZHVsZSIKIHRlc3Rfc3VibW9kdWxlX3JlbGF0aXZlX3VybCAiKG51bGwpIiAiZm9vIiAiLi4vc3VibW9kdWxlIiAic3VibW9kdWxlIgpkaWZmIC0tZ2l0IGEvdC90MDA3MC1mdW5kYW1lbnRhbC5zaCBiL3QvdDAwNzAtZnVuZGFtZW50YWwuc2gKaW5kZXggNWVkNjlhNi4uOTkxZWQyYSAxMDA3NTUKLS0tIGEvdC90MDA3MC1mdW5kYW1lbnRhbC5zaAorKysgYi90L3QwMDcwLWZ1bmRhbWVudGFsLnNoCkBAIC0zMSw3ICszMSw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIGZvciBhIGJ1ZyBpbiB0aGUgcmVnZXggcm91dGluZXMnICcKIAkjIGlmIHRoaXMgdGVzdCBmYWlscywgcmUtYnVpbGQgZ2l0IHdpdGggTk9fUkVHRVg9MQotCXRlc3QtcmVnZXgKKwl0ZXN0LXJlZ2V4IC0tYnVnCiAnCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MTAwNi1jYXQtZmlsZS5zaCBiL3QvdDEwMDYtY2F0LWZpbGUuc2gKaW5kZXggNGYzODA3OC4uYjE5ZjMzMiAxMDA3NTUKLS0tIGEvdC90MTAwNi1jYXQtZmlsZS5zaAorKysgYi90L3QxMDA2LWNhdC1maWxlLnNoCkBAIC0yMzEsNyArMjMxLDcgQEAKICAgICAgICB8IGdpdCBjYXQtZmlsZSAtLWJhdGNoKSIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAiLS1iYXRjaC1jaGVjayBmb3IgYW4gZW10cHkgbGluZSIgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAiLS1iYXRjaC1jaGVjayBmb3IgYW4gZW1wdHkgbGluZSIgJwogICAgIHRlc3QgIiBtaXNzaW5nIiA9ICIkKGVjaG8gfCBnaXQgY2F0LWZpbGUgLS1iYXRjaC1jaGVjaykiCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDEwMDctaGFzaC1vYmplY3Quc2ggYi90L3QxMDA3LWhhc2gtb2JqZWN0LnNoCmluZGV4IDdkMmJhYTEuLmM1MjQ1YzUgMTAwNzU1Ci0tLSBhL3QvdDEwMDctaGFzaC1vYmplY3Quc2gKKysrIGIvdC90MTAwNy1oYXNoLW9iamVjdC5zaApAQCAtMTAxLDcgKzEwMSw3IEBACiAJdGVzdCAiJG9ibmFtZTEiID0gIiRvYm5hbWUxbmV3IgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayB0aGF0IGFwcHJvcHJpYXRlIGZpbHRlciBpcyBpbnZva2Ugd2hlbiAtLXBhdGggaXMgdXNlZCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0IHVwIGNybGYgdGVzdHMnICcKIAllY2hvIGZvb1EgfCB0ciBRICJcXDAxNSIgPmZpbGUwICYmCiAJY3AgZmlsZTAgZmlsZTEgJiYKIAllY2hvICJmaWxlMCAtY3JsZiIgPi5naXRhdHRyaWJ1dGVzICYmCkBAIC0xMDksNyArMTA5LDEwIEBACiAJZ2l0IGNvbmZpZyBjb3JlLmF1dG9jcmxmIHRydWUgJiYKIAlmaWxlMF9zaGE9JChnaXQgaGFzaC1vYmplY3QgZmlsZTApICYmCiAJZmlsZTFfc2hhPSQoZ2l0IGhhc2gtb2JqZWN0IGZpbGUxKSAmJgotCXRlc3QgIiRmaWxlMF9zaGEiICE9ICIkZmlsZTFfc2hhIiAmJgorCXRlc3QgIiRmaWxlMF9zaGEiICE9ICIkZmlsZTFfc2hhIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayB0aGF0IGFwcHJvcHJpYXRlIGZpbHRlciBpcyBpbnZva2Ugd2hlbiAtLXBhdGggaXMgdXNlZCcgJwogCXBhdGgxX3NoYT0kKGdpdCBoYXNoLW9iamVjdCAtLXBhdGg9ZmlsZTEgZmlsZTApICYmCiAJcGF0aDBfc2hhPSQoZ2l0IGhhc2gtb2JqZWN0IC0tcGF0aD1maWxlMCBmaWxlMSkgJiYKIAl0ZXN0ICIkZmlsZTBfc2hhIiA9ICIkcGF0aDBfc2hhIiAmJgpAQCAtMTE3LDM4ICsxMjAsMzAgQEAKIAlwYXRoMV9zaGE9JChjYXQgZmlsZTAgfCBnaXQgaGFzaC1vYmplY3QgLS1wYXRoPWZpbGUxIC0tc3RkaW4pICYmCiAJcGF0aDBfc2hhPSQoY2F0IGZpbGUxIHwgZ2l0IGhhc2gtb2JqZWN0IC0tcGF0aD1maWxlMCAtLXN0ZGluKSAmJgogCXRlc3QgIiRmaWxlMF9zaGEiID0gIiRwYXRoMF9zaGEiICYmCi0JdGVzdCAiJGZpbGUxX3NoYSIgPSAiJHBhdGgxX3NoYSIgJiYKLQlnaXQgY29uZmlnIC0tdW5zZXQgY29yZS5hdXRvY3JsZgorCXRlc3QgIiRmaWxlMV9zaGEiID0gIiRwYXRoMV9zaGEiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdGF0dHJpYnV0ZXMgYWxzbyB3b3JrIGluIGEgc3ViZGlyZWN0b3J5JyAnCisJbWtkaXIgc3ViZGlyICYmCisJKAorCQljZCBzdWJkaXIgJiYKKwkJc3ViZGlyX3NoYTA9JChnaXQgaGFzaC1vYmplY3QgLi4vZmlsZTApICYmCisJCXN1YmRpcl9zaGExPSQoZ2l0IGhhc2gtb2JqZWN0IC4uL2ZpbGUxKSAmJgorCQl0ZXN0ICIkZmlsZTBfc2hhIiA9ICIkc3ViZGlyX3NoYTAiICYmCisJCXRlc3QgIiRmaWxlMV9zaGEiID0gIiRzdWJkaXJfc2hhMSIKKwkpCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIHRoYXQgLS1uby1maWx0ZXJzIG9wdGlvbiB3b3JrcycgJwotCWVjaG8gZm9vUSB8IHRyIFEgIlxcMDE1IiA+ZmlsZTAgJiYKLQljcCBmaWxlMCBmaWxlMSAmJgotCWVjaG8gImZpbGUwIC1jcmxmIiA+LmdpdGF0dHJpYnV0ZXMgJiYKLQllY2hvICJmaWxlMSBjcmxmIiA+Pi5naXRhdHRyaWJ1dGVzICYmCi0JZ2l0IGNvbmZpZyBjb3JlLmF1dG9jcmxmIHRydWUgJiYKLQlmaWxlMF9zaGE9JChnaXQgaGFzaC1vYmplY3QgZmlsZTApICYmCi0JZmlsZTFfc2hhPSQoZ2l0IGhhc2gtb2JqZWN0IGZpbGUxKSAmJgotCXRlc3QgIiRmaWxlMF9zaGEiICE9ICIkZmlsZTFfc2hhIiAmJgogCW5vZmlsdGVyc19maWxlMT0kKGdpdCBoYXNoLW9iamVjdCAtLW5vLWZpbHRlcnMgZmlsZTEpICYmCiAJdGVzdCAiJGZpbGUwX3NoYSIgPSAiJG5vZmlsdGVyc19maWxlMSIgJiYKIAlub2ZpbHRlcnNfZmlsZTE9JChjYXQgZmlsZTEgfCBnaXQgaGFzaC1vYmplY3QgLS1zdGRpbikgJiYKLQl0ZXN0ICIkZmlsZTBfc2hhIiA9ICIkbm9maWx0ZXJzX2ZpbGUxIiAmJgotCWdpdCBjb25maWcgLS11bnNldCBjb3JlLmF1dG9jcmxmCisJdGVzdCAiJGZpbGUwX3NoYSIgPSAiJG5vZmlsdGVyc19maWxlMSIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgdGhhdCAtLW5vLWZpbHRlcnMgb3B0aW9uIHdvcmtzIHdpdGggLS1zdGRpbi1wYXRocycgJwotCWVjaG8gZm9vUSB8IHRyIFEgIlxcMDE1IiA+ZmlsZTAgJiYKLQljcCBmaWxlMCBmaWxlMSAmJgotCWVjaG8gImZpbGUwIC1jcmxmIiA+LmdpdGF0dHJpYnV0ZXMgJiYKLQllY2hvICJmaWxlMSBjcmxmIiA+Pi5naXRhdHRyaWJ1dGVzICYmCi0JZ2l0IGNvbmZpZyBjb3JlLmF1dG9jcmxmIHRydWUgJiYKLQlmaWxlMF9zaGE9JChnaXQgaGFzaC1vYmplY3QgZmlsZTApICYmCi0JZmlsZTFfc2hhPSQoZ2l0IGhhc2gtb2JqZWN0IGZpbGUxKSAmJgotCXRlc3QgIiRmaWxlMF9zaGEiICE9ICIkZmlsZTFfc2hhIiAmJgogCW5vZmlsdGVyc19maWxlMT0kKGVjaG8gImZpbGUxIiB8IGdpdCBoYXNoLW9iamVjdCAtLXN0ZGluLXBhdGhzIC0tbm8tZmlsdGVycykgJiYKLQl0ZXN0ICIkZmlsZTBfc2hhIiA9ICIkbm9maWx0ZXJzX2ZpbGUxIiAmJgotCWdpdCBjb25maWcgLS11bnNldCBjb3JlLmF1dG9jcmxmCisJdGVzdCAiJGZpbGUwX3NoYSIgPSAiJG5vZmlsdGVyc19maWxlMSIKICcKIAogcG9wX3JlcG8KQEAgLTE4OCw5ICsxODMsMzAgQEAKIAlwb3BfcmVwbwogZG9uZQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3JydXB0IHRyZWUnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Rvby1zaG9ydCB0cmVlJyAnCiAJZWNobyBhYmMgPm1hbGZvcm1lZC10cmVlICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IGhhc2gtb2JqZWN0IC10IHRyZWUgbWFsZm9ybWVkLXRyZWUKKwl0ZXN0X211c3RfZmFpbCBnaXQgaGFzaC1vYmplY3QgLXQgdHJlZSBtYWxmb3JtZWQtdHJlZSAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgInRvby1zaG9ydCB0cmVlIG9iamVjdCIgZXJyCisnCisKK2hleDJvY3QoKSB7CisgICAgcGVybCAtbmUgJ3ByaW50ZiAiXFwlMDNvIiwgaGV4IGZvciAvLi4vZycKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWFsZm9ybWVkIG1vZGUgaW4gdHJlZScgJworCWhleF9zaGExPSQoZWNobyBmb28gfCBnaXQgaGFzaC1vYmplY3QgLS1zdGRpbiAtdykgJiYKKwliaW5fc2hhMT0kKGVjaG8gJGhleF9zaGExIHwgaGV4Mm9jdCkgJiYKKwlwcmludGYgIjkxMDA2NDQgXDAkYmluX3NoYTEiID50cmVlLXdpdGgtbWFsZm9ybWVkLW1vZGUgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgaGFzaC1vYmplY3QgLXQgdHJlZSB0cmVlLXdpdGgtbWFsZm9ybWVkLW1vZGUgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJtYWxmb3JtZWQgbW9kZSBpbiB0cmVlIGVudHJ5IiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZW1wdHkgZmlsZW5hbWUgaW4gdHJlZScgJworCWhleF9zaGExPSQoZWNobyBmb28gfCBnaXQgaGFzaC1vYmplY3QgLS1zdGRpbiAtdykgJiYKKwliaW5fc2hhMT0kKGVjaG8gJGhleF9zaGExIHwgaGV4Mm9jdCkgJiYKKwlwcmludGYgIjEwMDY0NCBcMCRiaW5fc2hhMSIgPnRyZWUtd2l0aC1lbXB0eS1maWxlbmFtZSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBoYXNoLW9iamVjdCAtdCB0cmVlIHRyZWUtd2l0aC1lbXB0eS1maWxlbmFtZSAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgImVtcHR5IGZpbGVuYW1lIGluIHRyZWUgZW50cnkiIGVycgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3JydXB0IGNvbW1pdCcgJwpkaWZmIC0tZ2l0IGEvdC90MTAxMS1yZWFkLXRyZWUtc3BhcnNlLWNoZWNrb3V0LnNoIGIvdC90MTAxMS1yZWFkLXRyZWUtc3BhcnNlLWNoZWNrb3V0LnNoCmluZGV4IDBjNzRiZWUuLmMxNjdmNjAgMTAwNzU1Ci0tLSBhL3QvdDEwMTEtcmVhZC10cmVlLXNwYXJzZS1jaGVja291dC5zaAorKysgYi90L3QxMDExLXJlYWQtdHJlZS1zcGFyc2UtY2hlY2tvdXQuc2gKQEAgLTE1LDExICsxNSwxMSBAQAogLiAiJFRFU1RfRElSRUNUT1JZIi9saWItcmVhZC10cmVlLnNoCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCi0JY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKIAkxMDA2NDQgNzdmMGJhMTczNGVkNzlkMTI4ODFmODFiMzZlZTEzNGRlNmEzMzI3YiAwCWluaXQudAotCTEwMDY0NCBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxIDAJc3ViL2FkZGVkCi0JMTAwNjQ0IGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEgMAlzdWIvYWRkZWR0b28KLQkxMDA2NDQgZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSAwCXN1YnN1Yi9hZGRlZAorCTEwMDY0NCAkRU1QVFlfQkxPQiAwCXN1Yi9hZGRlZAorCTEwMDY0NCAkRU1QVFlfQkxPQiAwCXN1Yi9hZGRlZHRvbworCTEwMDY0NCAkRU1QVFlfQkxPQiAwCXN1YnN1Yi9hZGRlZAogCUVPRgogCWNhdCA+ZXhwZWN0ZWQuc3d0IDw8LVxFT0YgJiYKIAlIIGluaXQudApAQCAtMjQ0LDEwICsyNDQsMTAgQEAKIGVycm9yOiBUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6CiAJc3ViL2FkZGVkCiAJc3ViL2FkZGVkdG9vCi1QbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBzd2l0Y2ggYnJhbmNoZXMuCitQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4KIEFib3J0aW5nCiBFT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IHdpdGhvdXQgLS1pZ25vcmUtc2tpcC13b3JrdHJlZS1iaXRzJyAnCmRpZmYgLS1naXQgYS90L3QxMDUwLWxhcmdlLnNoIGIvdC90MTA1MC1sYXJnZS5zaAppbmRleCBmOWYzZDEzLi4wOTZkYmZmIDEwMDc1NQotLS0gYS90L3QxMDUwLWxhcmdlLnNoCisrKyBiL3QvdDEwNTAtbGFyZ2Uuc2gKQEAgLTE3NywxMCArMTc3LDkgQEAKIAlnaXQgYXJjaGl2ZSAtLWZvcm1hdD16aXAgSEVBRCA+L2Rldi9udWxsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZzY2snICcKLQl0ZXN0X211c3RfZmFpbCBnaXQgZnNjayAyPmVyciAmJgotCW49JChncmVwICJlcnJvcjogYXR0ZW1wdGluZyB0byBhbGxvY2F0ZSAuKiBvdmVyIGxpbWl0IiBlcnIgfCB3YyAtbCkgJiYKLQl0ZXN0ICIkbiIgLWd0IDEKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZzY2sgbGFyZ2UgYmxvYnMnICcKKwlnaXQgZnNjayAyPmVyciAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIKICcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxMTAwLWNvbW1pdC10cmVlLW9wdGlvbnMuc2ggYi90L3QxMTAwLWNvbW1pdC10cmVlLW9wdGlvbnMuc2gKaW5kZXggYjdlOWI0ZmMuLmFlNjZiYTUgMTAwNzU1Ci0tLSBhL3QvdDExMDAtY29tbWl0LXRyZWUtb3B0aW9ucy5zaAorKysgYi90L3QxMTAwLWNvbW1pdC10cmVlLW9wdGlvbnMuc2gKQEAgLTE1LDcgKzE1LDcgQEAKIC4gLi90ZXN0LWxpYi5zaAogCiBjYXQgPmV4cGVjdGVkIDw8RU9GCi10cmVlIDRiODI1ZGM2NDJjYjZlYjlhMDYwZTU0YmY4ZDY5Mjg4ZmJlZTQ5MDQKK3RyZWUgJEVNUFRZX1RSRUUKIGF1dGhvciBBdXRob3IgTmFtZSA8YXV0aG9yQGVtYWlsPiAxMTE3MTQ4NDAwICswMDAwCiBjb21taXR0ZXIgQ29tbWl0dGVyIE5hbWUgPGNvbW1pdHRlckBlbWFpbD4gMTExNzE1MDIwMCArMDAwMAogCmRpZmYgLS1naXQgYS90L3QxMzAwLXJlcG8tY29uZmlnLnNoIGIvdC90MTMwMC1yZXBvLWNvbmZpZy5zaAppbmRleCBkOTM0YTI0Li45MjNiZmM1IDEwMDc1NQotLS0gYS90L3QxMzAwLXJlcG8tY29uZmlnLnNoCisrKyBiL3QvdDEzMDAtcmVwby1jb25maWcuc2gKQEAgLTg4Niw3ICs4ODYsNyBAQAogCQlnaXQgY29uZmlnIC0tZ2V0IC0tcGF0aCBwYXRoLm5vcm1hbCA+PnJlc3VsdCAmJgogCQlnaXQgY29uZmlnIC0tZ2V0IC0tcGF0aCBwYXRoLnRyYWlsaW5ndGlsZGUgPj5yZXN1bHQKIAkpICYmCi0JZ3JlcCAiW0ZmXWFpbGVkIHRvIGV4cGFuZC4qfi8iIG1zZyAmJgorCXRlc3RfaTE4bmdyZXAgIltGZl1haWxlZCB0byBleHBhbmQuKn4vIiBtc2cgJiYKIAl0ZXN0X2NtcCBleHBlY3QgcmVzdWx0CiAnCiAKQEAgLTExMjYsNyArMTEyNiw3IEBACiAJa2V5IGdhcmJhZ2UKIAlFT0YKIAl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC0tZ2V0IHNlY3Rpb24ua2V5ID5hY3R1YWwgMj5lcnJvciAmJgotCWdyZXAgIiBsaW5lIDMgIiBlcnJvcgorCXRlc3RfaTE4bmdyZXAgIiBsaW5lIDMgIiBlcnJvcgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdiYXJmIG9uIGluY29tcGxldGUgc2VjdGlvbiBoZWFkZXInICcKQEAgLTExMzYsNyArMTEzNiw3IEBACiAJa2V5ID0gdmFsdWUKIAlFT0YKIAl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC0tZ2V0IHNlY3Rpb24ua2V5ID5hY3R1YWwgMj5lcnJvciAmJgotCWdyZXAgIiBsaW5lIDIgIiBlcnJvcgorCXRlc3RfaTE4bmdyZXAgIiBsaW5lIDIgIiBlcnJvcgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdiYXJmIG9uIGluY29tcGxldGUgc3RyaW5nJyAnCkBAIC0xMTQ2LDcgKzExNDYsNyBAQAogCWtleSA9ICJ2YWx1ZSBzdHJpbmcKIAlFT0YKIAl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC0tZ2V0IHNlY3Rpb24ua2V5ID5hY3R1YWwgMj5lcnJvciAmJgotCWdyZXAgIiBsaW5lIDMgIiBlcnJvcgorCXRlc3RfaTE4bmdyZXAgIiBsaW5lIDMgIiBlcnJvcgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cmxtYXRjaCcgJwpkaWZmIC0tZ2l0IGEvdC90MTMwMS1zaGFyZWQtcmVwby5zaCBiL3QvdDEzMDEtc2hhcmVkLXJlcG8uc2gKaW5kZXggYWMxMDg3NS4uMTMxMjAwNCAxMDA3NTUKLS0tIGEvdC90MTMwMS1zaGFyZWQtcmVwby5zaAorKysgYi90L3QxMzAxLXNoYXJlZC1yZXBvLnNoCkBAIC0xNzIsNCArMTcyLDQ1IEBACiAJfSIgYWN0dWFsKSIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBQT1NJWFBFUk0gJ3JlbW90ZSBpbml0IGRvZXMgbm90IHVzZSBjb25maWcgZnJvbSBjd2QnICcKKwlnaXQgY29uZmlnIGNvcmUuc2hhcmVkcmVwb3NpdG9yeSAwNjY2ICYmCisJdW1hc2sgMDAyMiAmJgorCWdpdCBpbml0IC0tYmFyZSBjaGlsZC5naXQgJiYKKwllY2hvICItcnctci0tci0tIiA+ZXhwZWN0ICYmCisJbW9kZWJpdHMgY2hpbGQuZ2l0L2NvbmZpZyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBPU0lYUEVSTSAncmUtaW5pdCByZXNwZWN0cyBjb3JlLnNoYXJlZHJlcG9zaXRvcnkgKGxvY2FsKScgJworCWdpdCBjb25maWcgY29yZS5zaGFyZWRyZXBvc2l0b3J5IDA2NjYgJiYKKwl1bWFzayAwMDIyICYmCisJZWNobyB3aGF0ZXZlciA+dGVtcGxhdGVzL2ZvbyAmJgorCWdpdCBpbml0IC0tdGVtcGxhdGU9dGVtcGxhdGVzICYmCisJZWNobyAiLXJ3LXJ3LXJ3LSIgPmV4cGVjdCAmJgorCW1vZGViaXRzIC5naXQvZm9vID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUE9TSVhQRVJNICdyZS1pbml0IHJlc3BlY3RzIGNvcmUuc2hhcmVkcmVwb3NpdG9yeSAocmVtb3RlKScgJworCXJtIC1yZiBjaGlsZC5naXQgJiYKKwl1bWFzayAwMDIyICYmCisJZ2l0IGluaXQgLS1iYXJlIC0tc2hhcmVkPTA2NjYgY2hpbGQuZ2l0ICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgY2hpbGQuZ2l0L2ZvbyAmJgorCWdpdCBpbml0IC0tYmFyZSAtLXRlbXBsYXRlPS4uL3RlbXBsYXRlcyBjaGlsZC5naXQgJiYKKwllY2hvICItcnctcnctcnctIiA+ZXhwZWN0ICYmCisJbW9kZWJpdHMgY2hpbGQuZ2l0L2ZvbyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBPU0lYUEVSTSAndGVtcGxhdGUgY2FuIHNldCBjb3JlLnNoYXJlZHJlcG9zaXRvcnknICcKKwlybSAtcmYgY2hpbGQuZ2l0ICYmCisJdW1hc2sgMDAyMiAmJgorCWdpdCBjb25maWcgY29yZS5zaGFyZWRyZXBvc2l0b3J5IDA2NjYgJiYKKwljcCAuZ2l0L2NvbmZpZyB0ZW1wbGF0ZXMvY29uZmlnICYmCisJZ2l0IGluaXQgLS1iYXJlIC0tdGVtcGxhdGU9Li4vdGVtcGxhdGVzIGNoaWxkLmdpdCAmJgorCWVjaG8gIi1ydy1ydy1ydy0iID5leHBlY3QgJiYKKwltb2RlYml0cyBjaGlsZC5naXQvSEVBRCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDEzMDItcmVwby12ZXJzaW9uLnNoIGIvdC90MTMwMi1yZXBvLXZlcnNpb24uc2gKaW5kZXggOWJjZDM0OS4uY2U0Y2ZmMSAxMDA3NTUKLS0tIGEvdC90MTMwMi1yZXBvLXZlcnNpb24uc2gKKysrIGIvdC90MTMwMi1yZXBvLXZlcnNpb24uc2gKQEAgLTI1LDQ2ICsyNSwyNiBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0ZGlyIHNlbGVjdGlvbiBvbiBub3JtYWwgcmVwb3MnICcKIAllY2hvIDAgPmV4cGVjdCAmJgogCWdpdCBjb25maWcgY29yZS5yZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA+YWN0dWFsICYmCi0JKAotCQljZCB0ZXN0ICYmCi0JCWdpdCBjb25maWcgY29yZS5yZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA+Li4vYWN0dWFsMgotCSkgJiYKKwlnaXQgLUMgdGVzdCBjb25maWcgY29yZS5yZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA+YWN0dWFsMiAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsMgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXRkaXIgc2VsZWN0aW9uIG9uIHVuc3VwcG9ydGVkIHJlcG8nICcKIAkjIE1ha2Ugc3VyZSBpdCB3b3VsZCBzdG9wIGF0IHRlc3QyLCBub3QgdHJhc2gKLQllY2hvIDk5ID5leHBlY3QgJiYKLQkoCi0JCWNkIHRlc3QyICYmCi0JCWdpdCBjb25maWcgY29yZS5yZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA+Li4vYWN0dWFsCi0JKSAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwl0ZXN0X2V4cGVjdF9jb2RlIDEgZ2l0IC1DIHRlc3QyIGNvbmZpZyBjb3JlLnJlcG9zaXRvcnlmb3JtYXR2ZXJzaW9uID5hY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0ZGlyIG5vdCByZXF1aXJlZCBtb2RlJyAnCiAJZ2l0IGFwcGx5IC0tc3RhdCB0ZXN0LnBhdGNoICYmCi0JKAotCQljZCB0ZXN0ICYmCi0JCWdpdCBhcHBseSAtLXN0YXQgLi4vdGVzdC5wYXRjaAotCSkgJiYKLQkoCi0JCWNkIHRlc3QyICYmCi0JCWdpdCBhcHBseSAtLXN0YXQgLi4vdGVzdC5wYXRjaAotCSkKKwlnaXQgLUMgdGVzdCBhcHBseSAtLXN0YXQgLi4vdGVzdC5wYXRjaCAmJgorCWdpdCAtQyB0ZXN0MiBhcHBseSAtLXN0YXQgLi4vdGVzdC5wYXRjaAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXRkaXIgcmVxdWlyZWQgbW9kZScgJwogCWdpdCBhcHBseSAtLWNoZWNrIC0taW5kZXggdGVzdC5wYXRjaCAmJgotCSgKLQkJY2QgdGVzdCAmJgotCQlnaXQgYXBwbHkgLS1jaGVjayAtLWluZGV4IC4uL3Rlc3QucGF0Y2gKLQkpICYmCi0JKAotCQljZCB0ZXN0MiAmJgotCQl0ZXN0X211c3RfZmFpbCBnaXQgYXBwbHkgLS1jaGVjayAtLWluZGV4IC4uL3Rlc3QucGF0Y2gKLQkpCisJZ2l0IC1DIHRlc3QgYXBwbHkgLS1jaGVjayAtLWluZGV4IC4uL3Rlc3QucGF0Y2ggJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgdGVzdDIgYXBwbHkgLS1jaGVjayAtLWluZGV4IC4uL3Rlc3QucGF0Y2gKICcKIAogY2hlY2tfYWxsb3cgKCkgewpkaWZmIC0tZ2l0IGEvdC90MTMwNy1jb25maWctYmxvYi5zaCBiL3QvdDEzMDctY29uZmlnLWJsb2Iuc2gKaW5kZXggM2M2NzkxZS4uZWVkMzFmZiAxMDA3NTUKLS0tIGEvdC90MTMwNy1jb25maWctYmxvYi5zaAorKysgYi90L3QxMzA3LWNvbmZpZy1ibG9iLnNoCkBAIC02MSwxMCArNjEsNyBAQAogCWdpdCBjb21taXQgLW0gYnJva2VuICYmCiAKIAl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC0tYmxvYj1IRUFEOmNvbmZpZyBzb21lLnZhbHVlIDI+ZXJyICYmCi0KLQkjIGp1c3QgZ3JlcCBmb3Igb3VyIHRva2VuIGFzIHRoZSBleGFjdCBlcnJvciBtZXNzYWdlIGlzIGxpa2VseSB0bwotCSMgY2hhbmdlIG9yIGJlIGludGVybmF0aW9uYWxpemVkCi0JZ3JlcCAiSEVBRDpjb25maWciIGVycgorCXRlc3RfaTE4bmdyZXAgIkhFQUQ6Y29uZmlnIiBlcnIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2FuIHBhcnNlIGJsb2IgZW5kaW5nIHdpdGggQ1InICcKZGlmZiAtLWdpdCBhL3QvdDEzMDgtY29uZmlnLXNldC5zaCBiL3QvdDEzMDgtY29uZmlnLXNldC5zaAppbmRleCAwMDVkNjZkLi43NjU1Yzk0IDEwMDc1NQotLS0gYS90L3QxMzA4LWNvbmZpZy1zZXQuc2gKKysrIGIvdC90MTMwOC1jb25maWctc2V0LnNoCkBAIC0xOTcsMTQgKzE5NywxNCBAQAogCWVjaG8gIlsiID4+LmdpdC9jb25maWcgJiYKIAllY2hvICJmYXRhbDogYmFkIGNvbmZpZyBsaW5lIDM0IGluIGZpbGUgLmdpdC9jb25maWciID5leHBlY3QgJiYKIAl0ZXN0X2V4cGVjdF9jb2RlIDEyOCB0ZXN0LWNvbmZpZyBnZXRfdmFsdWUgZm9vLmJhciAyPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcm9wZXIgZXJyb3Igb24gZXJyb3IgaW4gY3VzdG9tIGNvbmZpZyBmaWxlcycgJwogCWVjaG8gIlsiID4+c3ludGF4LWVycm9yICYmCiAJZWNobyAiZmF0YWw6IGJhZCBjb25maWcgbGluZSAxIGluIGZpbGUgc3ludGF4LWVycm9yIiA+ZXhwZWN0ICYmCiAJdGVzdF9leHBlY3RfY29kZSAxMjggdGVzdC1jb25maWcgY29uZmlnc2V0X2dldF92YWx1ZSBmb28uYmFyIHN5bnRheC1lcnJvciAyPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayBsaW5lIGVycm9ycyBmb3IgbWFsZm9ybWVkIHZhbHVlcycgJwpAQCAtMjI5LDQgKzIyOSwzOSBAQAogCSkKICcKIAorY21kbGluZV9jb25maWc9Iidmb28uYmFyPWZyb20tY21kbGluZSciCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpdGVyYXRpb24gc2hvd3MgY29ycmVjdCBvcmlnaW5zJyAnCisJZWNobyAiW2Zvb11iYXIgPSBmcm9tLXJlcG8iID4uZ2l0L2NvbmZpZyAmJgorCWVjaG8gIltmb29dYmFyID0gZnJvbS1ob21lIiA+LmdpdGNvbmZpZyAmJgorCWlmIHRlc3RfaGF2ZV9wcmVyZXEgTUlOR1cKKwl0aGVuCisJCSMgVXNlIFdpbmRvd3MgcGF0aCAoaS5lLiAqbm90KiAkSE9NRSkKKwkJSE9NRV9HSVRDT05GSUc9JChwd2QpLy5naXRjb25maWcKKwllbHNlCisJCSMgRG8gbm90IGdldCBmb29sZWQgYnkgc3ltYm9saWMgbGlua3MsIGkuZS4gJEhPTUUgIT0gJChwd2QpCisJCUhPTUVfR0lUQ09ORklHPSRIT01FLy5naXRjb25maWcKKwlmaSAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCWtleT1mb28uYmFyCisJdmFsdWU9ZnJvbS1ob21lCisJb3JpZ2luPWZpbGUKKwluYW1lPSRIT01FX0dJVENPTkZJRworCXNjb3BlPWdsb2JhbAorCisJa2V5PWZvby5iYXIKKwl2YWx1ZT1mcm9tLXJlcG8KKwlvcmlnaW49ZmlsZQorCW5hbWU9LmdpdC9jb25maWcKKwlzY29wZT1yZXBvCisKKwlrZXk9Zm9vLmJhcgorCXZhbHVlPWZyb20tY21kbGluZQorCW9yaWdpbj1jb21tYW5kIGxpbmUKKwluYW1lPQorCXNjb3BlPWNtZGxpbmUKKwlFT0YKKwlHSVRfQ09ORklHX1BBUkFNRVRFUlM9JGNtZGxpbmVfY29uZmlnIHRlc3QtY29uZmlnIGl0ZXJhdGUgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxMzUwLWNvbmZpZy1ob29rcy1wYXRoLnNoIGIvdC90MTM1MC1jb25maWctaG9va3MtcGF0aC5zaAppbmRleCA1ZTNmYjNhLi5mMWY5YWVlIDEwMDc1NQotLS0gYS90L3QxMzUwLWNvbmZpZy1ob29rcy1wYXRoLnNoCisrKyBiL3QvdDEzNTAtY29uZmlnLWhvb2tzLXBhdGguc2gKQEAgLTM0LDQgKzM0LDEwIEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgcmV2LXBhcnNlIC0tZ2l0LXBhdGggaG9va3MnICcKKwlnaXQgY29uZmlnIGNvcmUuaG9va3NQYXRoIC5naXQvY3VzdG9tLWhvb2tzICYmCisJZ2l0IHJldi1wYXJzZSAtLWdpdC1wYXRoIGhvb2tzL2FiYyA+YWN0dWFsICYmCisJdGVzdCAuZ2l0L2N1c3RvbS1ob29rcy9hYmMgPSAiJChjYXQgYWN0dWFsKSIKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxNDAwLXVwZGF0ZS1yZWYuc2ggYi90L3QxNDAwLXVwZGF0ZS1yZWYuc2gKaW5kZXggYWYxYjIwZC4uZDRmYjk3NyAxMDA3NTUKLS0tIGEvdC90MTQwMC11cGRhdGUtcmVmLnNoCisrKyBiL3QvdDE0MDAtdXBkYXRlLXJlZi5zaApAQCAtMjMsNyArMjMsNyBAQAogbT1yZWZzL2hlYWRzL21hc3Rlcgogbl9kaXI9cmVmcy9oZWFkcy9ndQogbj0kbl9kaXIvZml4ZXMKLW91dHNpZGU9Zm9vCitvdXRzaWRlPXJlZnMvZm9vCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAogCSJjcmVhdGUgJG0iIFwKQEAgLTM2MSw3ICszNjEsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICcteiBmYWlscyB3aXRob3V0IC0tc3RkaW4nICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAkbSAkbSAkbSAyPmVyciAmJgotCWdyZXAgInVzYWdlOiBnaXQgdXBkYXRlLXJlZiIgZXJyCisJdGVzdF9pMThuZ3JlcCAidXNhZ2U6IGdpdCB1cGRhdGUtcmVmIiBlcnIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gd29ya3Mgd2l0aCBubyBpbnB1dCcgJwpAQCAtNDc5LDcgKzQ3OSw3IEBACiAJY3JlYXRlICRhICRtCiAJRU9GCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiA8c3RkaW4gMj5lcnIgJiYKLQlncmVwICJmYXRhbDogTXVsdGlwbGUgdXBkYXRlcyBmb3IgcmVmICciJyInJGEnIiciJyBub3QgYWxsb3dlZC4iIGVycgorCWdyZXAgImZhdGFsOiBtdWx0aXBsZSB1cGRhdGVzIGZvciByZWYgJyInIickYSciJyInIG5vdCBhbGxvd2VkLiIgZXJyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0ZGluIGNyZWF0ZSByZWYgd29ya3MnICcKQEAgLTg4MCw3ICs4ODAsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogZmFpbHMgd2l0aCBkdXBsaWNhdGUgcmVmcycgJwogCXByaW50ZiAkRiAiY3JlYXRlICRhIiAiJG0iICJjcmVhdGUgJGIiICIkbSIgImNyZWF0ZSAkYSIgIiRtIiA+c3RkaW4gJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAteiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgotCWdyZXAgImZhdGFsOiBNdWx0aXBsZSB1cGRhdGVzIGZvciByZWYgJyInIickYSciJyInIG5vdCBhbGxvd2VkLiIgZXJyCisJZ3JlcCAiZmF0YWw6IG11bHRpcGxlIHVwZGF0ZXMgZm9yIHJlZiAnIiciJyRhJyInIicgbm90IGFsbG93ZWQuIiBlcnIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RkaW4gLXogY3JlYXRlIHJlZiB3b3JrcycgJwpAQCAtMTEwMiw2ICsxMTAyLDQxIEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtcSAkYwogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmYWlscyB3aXRoIGR1cGxpY2F0ZSBIRUFEIHVwZGF0ZScgJworCWdpdCBicmFuY2ggdGFyZ2V0MSAkQSAmJgorCWdpdCBjaGVja291dCB0YXJnZXQxICYmCisJY2F0ID5zdGRpbiA8PC1FT0YgJiYKKwl1cGRhdGUgcmVmcy9oZWFkcy90YXJnZXQxICRDCisJb3B0aW9uIG5vLWRlcmVmCisJdXBkYXRlIEhFQUQgJEIKKwlFT0YKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBtdWx0aXBsZSB1cGRhdGVzIGZvciAnXCcnSEVBRCdcJycgKGluY2x1ZGluZyBvbmUgdmlhIGl0cyByZWZlcmVudCAucmVmcy9oZWFkcy90YXJnZXQxLikgYXJlIG5vdCBhbGxvd2VkIiBlcnIgJiYKKwllY2hvICJyZWZzL2hlYWRzL3RhcmdldDEiID5leHBlY3QgJiYKKwlnaXQgc3ltYm9saWMtcmVmIEhFQUQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwllY2hvICIkQSIgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgcmVmcy9oZWFkcy90YXJnZXQxID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZhaWxzIHdpdGggZHVwbGljYXRlIHJlZiB1cGRhdGUgdmlhIHN5bXJlZicgJworCWdpdCBicmFuY2ggdGFyZ2V0MiAkQSAmJgorCWdpdCBzeW1ib2xpYy1yZWYgcmVmcy9oZWFkcy9zeW1yZWYyIHJlZnMvaGVhZHMvdGFyZ2V0MiAmJgorCWNhdCA+c3RkaW4gPDwtRU9GICYmCisJdXBkYXRlIHJlZnMvaGVhZHMvdGFyZ2V0MiAkQworCXVwZGF0ZSByZWZzL2hlYWRzL3N5bXJlZjIgJEIKKwlFT0YKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxzdGRpbiAyPmVyciAmJgorCWdyZXAgImZhdGFsOiBtdWx0aXBsZSB1cGRhdGVzIGZvciAnXCcncmVmcy9oZWFkcy90YXJnZXQyJ1wnJyAoaW5jbHVkaW5nIG9uZSB2aWEgc3ltcmVmIC5yZWZzL2hlYWRzL3N5bXJlZjIuKSBhcmUgbm90IGFsbG93ZWQiIGVyciAmJgorCWVjaG8gInJlZnMvaGVhZHMvdGFyZ2V0MiIgPmV4cGVjdCAmJgorCWdpdCBzeW1ib2xpYy1yZWYgcmVmcy9oZWFkcy9zeW1yZWYyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZWNobyAiJEEiID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlIHJlZnMvaGVhZHMvdGFyZ2V0MiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiBydW5fd2l0aF9saW1pdGVkX29wZW5fZmlsZXMgKCkgewogCSh1bGltaXQgLW4gMzIgJiYgIiRAIikKIH0KZGlmZiAtLWdpdCBhL3QvdDE0MDEtc3ltYm9saWMtcmVmLnNoIGIvdC90MTQwMS1zeW1ib2xpYy1yZWYuc2gKaW5kZXggNDE3ZWVjYy4uZWVjM2U5MCAxMDA3NTUKLS0tIGEvdC90MTQwMS1zeW1ib2xpYy1yZWYuc2gKKysrIGIvdC90MTQwMS1zeW1ib2xpYy1yZWYuc2gKQEAgLTMzLDE4ICszMywyNSBAQAogJwogcmVzZXRfdG9fc2FuZQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzeW1ib2xpYy1yZWYgZGVsZXRlcyBIRUFEJyAnCi0JZ2l0IHN5bWJvbGljLXJlZiAtZCBIRUFEICYmCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdIRUFEIGNhbm5vdCBiZSByZW1vdmVkJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN5bWJvbGljLXJlZiAtZCBIRUFECisnCisKK3Jlc2V0X3RvX3NhbmUKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3ltYm9saWMtcmVmIGNhbiBiZSBkZWxldGVkJyAnCisJZ2l0IHN5bWJvbGljLXJlZiBOT1RIRUFEIHJlZnMvaGVhZHMvZm9vICYmCisJZ2l0IHN5bWJvbGljLXJlZiAtZCBOT1RIRUFEICYmCiAJdGVzdF9wYXRoX2lzX2ZpbGUgLmdpdC9yZWZzL2hlYWRzL2ZvbyAmJgotCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvSEVBRAorCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvTk9USEVBRAogJwogcmVzZXRfdG9fc2FuZQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzeW1ib2xpYy1yZWYgZGVsZXRlcyBkYW5nbGluZyBIRUFEJyAnCi0JZ2l0IHN5bWJvbGljLXJlZiBIRUFEIHJlZnMvaGVhZHMvbWlzc2luZyAmJgotCWdpdCBzeW1ib2xpYy1yZWYgLWQgSEVBRCAmJgordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3ltYm9saWMtcmVmIGNhbiBkZWxldGUgZGFuZ2xpbmcgc3ltcmVmJyAnCisJZ2l0IHN5bWJvbGljLXJlZiBOT1RIRUFEIHJlZnMvaGVhZHMvbWlzc2luZyAmJgorCWdpdCBzeW1ib2xpYy1yZWYgLWQgTk9USEVBRCAmJgogCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvcmVmcy9oZWFkcy9taXNzaW5nICYmCi0JdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9IRUFECisJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9OT1RIRUFECiAnCiByZXNldF90b19zYW5lCiAKQEAgLTExMCw3ICsxMTcsNyBAQAogCXVwZGF0ZQogCWNyZWF0ZQogCUVPRgotCWdpdCBsb2cgLS1mb3JtYXQ9JWdzIC1nID5hY3R1YWwgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVncyAtZyAtMiA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCmRpZmYgLS1naXQgYS90L3QxNDA0LXVwZGF0ZS1yZWYtZGYtY29uZmxpY3RzLnNoIGIvdC90MTQwNC11cGRhdGUtcmVmLWRmLWNvbmZsaWN0cy5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggNjZiYWZiNS4uMDAwMDAwMAotLS0gYS90L3QxNDA0LXVwZGF0ZS1yZWYtZGYtY29uZmxpY3RzLnNoCisrKyAvZGV2L251bGwKQEAgLTEsMTA3ICswLDAgQEAKLSMhL2Jpbi9zaAotCi10ZXN0X2Rlc2NyaXB0aW9uPSdUZXN0IGdpdCB1cGRhdGUtcmVmIHdpdGggRC9GIGNvbmZsaWN0cycKLS4gLi90ZXN0LWxpYi5zaAotCi10ZXN0X3VwZGF0ZV9yZWplY3RlZCAoKSB7Ci0JcHJlZml4PSIkMSIgJiYKLQliZWZvcmU9IiQyIiAmJgotCXBhY2s9IiQzIiAmJgotCWNyZWF0ZT0iJDQiICYmCi0JZXJyb3I9IiQ1IiAmJgotCXByaW50ZiAiY3JlYXRlICRwcmVmaXgvJXMgJENcbiIgJGJlZm9yZSB8Ci0JZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAmJgotCWdpdCBmb3ItZWFjaC1yZWYgJHByZWZpeCA+dW5jaGFuZ2VkICYmCi0JaWYgJHBhY2sKLQl0aGVuCi0JCWdpdCBwYWNrLXJlZnMgLS1hbGwKLQlmaSAmJgotCXByaW50ZiAiY3JlYXRlICRwcmVmaXgvJXMgJENcbiIgJGNyZWF0ZSA+aW5wdXQgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDxpbnB1dCAyPm91dHB1dC5lcnIgJiYKLQlncmVwIC1GICIkZXJyb3IiIG91dHB1dC5lcnIgJiYKLQlnaXQgZm9yLWVhY2gtcmVmICRwcmVmaXggPmFjdHVhbCAmJgotCXRlc3RfY21wIHVuY2hhbmdlZCBhY3R1YWwKLX0KLQotUT0iJyIKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKLQotCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSBJbml0aWFsICYmCi0JQz0kKGdpdCByZXYtcGFyc2UgSEVBRCkKLQotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdleGlzdGluZyBsb29zZSByZWYgaXMgYSBzaW1wbGUgcHJlZml4IG9mIG5ldycgJwotCi0JcHJlZml4PXJlZnMvMWwgJiYKLQl0ZXN0X3VwZGF0ZV9yZWplY3RlZCAkcHJlZml4ICJhIGMgZSIgZmFsc2UgImIgYy94IGQiIFwKLQkJIiRRJHByZWZpeC9jJFEgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICRRJHByZWZpeC9jL3gkUSIKLQotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdleGlzdGluZyBwYWNrZWQgcmVmIGlzIGEgc2ltcGxlIHByZWZpeCBvZiBuZXcnICcKLQotCXByZWZpeD1yZWZzLzFwICYmCi0JdGVzdF91cGRhdGVfcmVqZWN0ZWQgJHByZWZpeCAiYSBjIGUiIHRydWUgImIgYy94IGQiIFwKLQkJIiRRJHByZWZpeC9jJFEgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICRRJHByZWZpeC9jL3gkUSIKLQotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdleGlzdGluZyBsb29zZSByZWYgaXMgYSBkZWVwZXIgcHJlZml4IG9mIG5ldycgJwotCi0JcHJlZml4PXJlZnMvMmwgJiYKLQl0ZXN0X3VwZGF0ZV9yZWplY3RlZCAkcHJlZml4ICJhIGMgZSIgZmFsc2UgImIgYy94L3kgZCIgXAotCQkiJFEkcHJlZml4L2MkUSBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJFEkcHJlZml4L2MveC95JFEiCi0KLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZXhpc3RpbmcgcGFja2VkIHJlZiBpcyBhIGRlZXBlciBwcmVmaXggb2YgbmV3JyAnCi0KLQlwcmVmaXg9cmVmcy8ycCAmJgotCXRlc3RfdXBkYXRlX3JlamVjdGVkICRwcmVmaXggImEgYyBlIiB0cnVlICJiIGMveC95IGQiIFwKLQkJIiRRJHByZWZpeC9jJFEgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICRRJHByZWZpeC9jL3gveSRRIgotCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25ldyByZWYgaXMgYSBzaW1wbGUgcHJlZml4IG9mIGV4aXN0aW5nIGxvb3NlJyAnCi0KLQlwcmVmaXg9cmVmcy8zbCAmJgotCXRlc3RfdXBkYXRlX3JlamVjdGVkICRwcmVmaXggImEgYy94IGUiIGZhbHNlICJiIGMgZCIgXAotCQkiJFEkcHJlZml4L2MveCRRIGV4aXN0czsgY2Fubm90IGNyZWF0ZSAkUSRwcmVmaXgvYyRRIgotCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25ldyByZWYgaXMgYSBzaW1wbGUgcHJlZml4IG9mIGV4aXN0aW5nIHBhY2tlZCcgJwotCi0JcHJlZml4PXJlZnMvM3AgJiYKLQl0ZXN0X3VwZGF0ZV9yZWplY3RlZCAkcHJlZml4ICJhIGMveCBlIiB0cnVlICJiIGMgZCIgXAotCQkiJFEkcHJlZml4L2MveCRRIGV4aXN0czsgY2Fubm90IGNyZWF0ZSAkUSRwcmVmaXgvYyRRIgotCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25ldyByZWYgaXMgYSBkZWVwZXIgcHJlZml4IG9mIGV4aXN0aW5nIGxvb3NlJyAnCi0KLQlwcmVmaXg9cmVmcy80bCAmJgotCXRlc3RfdXBkYXRlX3JlamVjdGVkICRwcmVmaXggImEgYy94L3kgZSIgZmFsc2UgImIgYyBkIiBcCi0JCSIkUSRwcmVmaXgvYy94L3kkUSBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJFEkcHJlZml4L2MkUSIKLQotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICduZXcgcmVmIGlzIGEgZGVlcGVyIHByZWZpeCBvZiBleGlzdGluZyBwYWNrZWQnICcKLQotCXByZWZpeD1yZWZzLzRwICYmCi0JdGVzdF91cGRhdGVfcmVqZWN0ZWQgJHByZWZpeCAiYSBjL3gveSBlIiB0cnVlICJiIGMgZCIgXAotCQkiJFEkcHJlZml4L2MveC95JFEgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICRRJHByZWZpeC9jJFEiCi0KLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnb25lIG5ldyByZWYgaXMgYSBzaW1wbGUgcHJlZml4IG9mIGFub3RoZXInICcKLQotCXByZWZpeD1yZWZzLzUgJiYKLQl0ZXN0X3VwZGF0ZV9yZWplY3RlZCAkcHJlZml4ICJhIGUiIGZhbHNlICJiIGMgYy94IGQiIFwKLQkJImNhbm5vdCBwcm9jZXNzICRRJHByZWZpeC9jJFEgYW5kICRRJHByZWZpeC9jL3gkUSBhdCB0aGUgc2FtZSB0aW1lIgotCi0nCi0KLXRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MTQwNC11cGRhdGUtcmVmLWVycm9ycy5zaCBiL3QvdDE0MDQtdXBkYXRlLXJlZi1lcnJvcnMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzM0ZWNlNAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDE0MDQtdXBkYXRlLXJlZi1lcnJvcnMuc2gKQEAgLTAsMCArMSw0MDcgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdUZXN0IGdpdCB1cGRhdGUtcmVmIGVycm9yIGhhbmRsaW5nJworLiAuL3Rlc3QtbGliLnNoCisKKyMgQ3JlYXRlIHNvbWUgcmVmZXJlbmNlcywgcGVyaGFwcyBydW4gcGFjay1yZWZzIC0tYWxsLCB0aGVuIHRyeSB0bworIyBjcmVhdGUgc29tZSBtb3JlIHJlZmVyZW5jZXMuIEVuc3VyZSB0aGF0IHRoZSBzZWNvbmQgY3JlYXRpb24gZmFpbHMKKyMgd2l0aCB0aGUgY29ycmVjdCBlcnJvciBtZXNzYWdlLgorIyBVc2FnZTogdGVzdF91cGRhdGVfcmVqZWN0ZWQgPGJlZm9yZT4gPHBhY2s+IDxjcmVhdGU+IDxlcnJvcj4KKyMgICA8YmVmb3JlPiBpcyBhIHdzLXNlcGFyYXRlZCBsaXN0IG9mIHJlZnMgdG8gY3JlYXRlIGJlZm9yZSB0aGUgdGVzdAorIyAgIDxwYWNrPiAodHJ1ZSBvciBmYWxzZSkgdGVsbHMgd2hldGhlciB0byBwYWNrIHRoZSByZWZzIGJlZm9yZSB0aGUgdGVzdAorIyAgIDxjcmVhdGU+IGlzIGEgbGlzdCBvZiB2YXJpYWJsZXMgdG8gYXR0ZW1wdCBjcmVhdGluZworIyAgIDxlcnJvcj4gaXMgYSBzdHJpbmcgdG8gbG9vayBmb3IgaW4gdGhlIHN0ZGVyciBvZiB1cGRhdGUtcmVmLgorIyBBbGwgcmVmZXJlbmNlcyBhcmUgY3JlYXRlZCBpbiB0aGUgbmFtZXNwYWNlIHNwZWNpZmllZCBieSB0aGUgY3VycmVudAorIyB2YWx1ZSBvZiAkcHJlZml4LgordGVzdF91cGRhdGVfcmVqZWN0ZWQgKCkgeworCWJlZm9yZT0iJDEiICYmCisJcGFjaz0iJDIiICYmCisJY3JlYXRlPSIkMyIgJiYKKwllcnJvcj0iJDQiICYmCisJcHJpbnRmICJjcmVhdGUgJHByZWZpeC8lcyAkQ1xuIiAkYmVmb3JlIHwKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluICYmCisJZ2l0IGZvci1lYWNoLXJlZiAkcHJlZml4ID51bmNoYW5nZWQgJiYKKwlpZiAkcGFjaworCXRoZW4KKwkJZ2l0IHBhY2stcmVmcyAtLWFsbAorCWZpICYmCisJcHJpbnRmICJjcmVhdGUgJHByZWZpeC8lcyAkQ1xuIiAkY3JlYXRlID5pbnB1dCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gPGlucHV0IDI+b3V0cHV0LmVyciAmJgorCWdyZXAgLUYgIiRlcnJvciIgb3V0cHV0LmVyciAmJgorCWdpdCBmb3ItZWFjaC1yZWYgJHByZWZpeCA+YWN0dWFsICYmCisJdGVzdF9jbXAgdW5jaGFuZ2VkIGFjdHVhbAorfQorCitRPSInIgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJworCisJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tIEluaXRpYWwgJiYKKwlDPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSBTZWNvbmQgJiYKKwlEPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSBUaGlyZCAmJgorCUU9JChnaXQgcmV2LXBhcnNlIEhFQUQpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2V4aXN0aW5nIGxvb3NlIHJlZiBpcyBhIHNpbXBsZSBwcmVmaXggb2YgbmV3JyAnCisKKwlwcmVmaXg9cmVmcy8xbCAmJgorCXRlc3RfdXBkYXRlX3JlamVjdGVkICJhIGMgZSIgZmFsc2UgImIgYy94IGQiIFwKKwkJIiRRJHByZWZpeC9jJFEgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICRRJHByZWZpeC9jL3gkUSIKKworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdleGlzdGluZyBwYWNrZWQgcmVmIGlzIGEgc2ltcGxlIHByZWZpeCBvZiBuZXcnICcKKworCXByZWZpeD1yZWZzLzFwICYmCisJdGVzdF91cGRhdGVfcmVqZWN0ZWQgImEgYyBlIiB0cnVlICJiIGMveCBkIiBcCisJCSIkUSRwcmVmaXgvYyRRIGV4aXN0czsgY2Fubm90IGNyZWF0ZSAkUSRwcmVmaXgvYy94JFEiCisKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZXhpc3RpbmcgbG9vc2UgcmVmIGlzIGEgZGVlcGVyIHByZWZpeCBvZiBuZXcnICcKKworCXByZWZpeD1yZWZzLzJsICYmCisJdGVzdF91cGRhdGVfcmVqZWN0ZWQgImEgYyBlIiBmYWxzZSAiYiBjL3gveSBkIiBcCisJCSIkUSRwcmVmaXgvYyRRIGV4aXN0czsgY2Fubm90IGNyZWF0ZSAkUSRwcmVmaXgvYy94L3kkUSIKKworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdleGlzdGluZyBwYWNrZWQgcmVmIGlzIGEgZGVlcGVyIHByZWZpeCBvZiBuZXcnICcKKworCXByZWZpeD1yZWZzLzJwICYmCisJdGVzdF91cGRhdGVfcmVqZWN0ZWQgImEgYyBlIiB0cnVlICJiIGMveC95IGQiIFwKKwkJIiRRJHByZWZpeC9jJFEgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICRRJHByZWZpeC9jL3gveSRRIgorCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25ldyByZWYgaXMgYSBzaW1wbGUgcHJlZml4IG9mIGV4aXN0aW5nIGxvb3NlJyAnCisKKwlwcmVmaXg9cmVmcy8zbCAmJgorCXRlc3RfdXBkYXRlX3JlamVjdGVkICJhIGMveCBlIiBmYWxzZSAiYiBjIGQiIFwKKwkJIiRRJHByZWZpeC9jL3gkUSBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJFEkcHJlZml4L2MkUSIKKworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICduZXcgcmVmIGlzIGEgc2ltcGxlIHByZWZpeCBvZiBleGlzdGluZyBwYWNrZWQnICcKKworCXByZWZpeD1yZWZzLzNwICYmCisJdGVzdF91cGRhdGVfcmVqZWN0ZWQgImEgYy94IGUiIHRydWUgImIgYyBkIiBcCisJCSIkUSRwcmVmaXgvYy94JFEgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICRRJHByZWZpeC9jJFEiCisKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbmV3IHJlZiBpcyBhIGRlZXBlciBwcmVmaXggb2YgZXhpc3RpbmcgbG9vc2UnICcKKworCXByZWZpeD1yZWZzLzRsICYmCisJdGVzdF91cGRhdGVfcmVqZWN0ZWQgImEgYy94L3kgZSIgZmFsc2UgImIgYyBkIiBcCisJCSIkUSRwcmVmaXgvYy94L3kkUSBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJFEkcHJlZml4L2MkUSIKKworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICduZXcgcmVmIGlzIGEgZGVlcGVyIHByZWZpeCBvZiBleGlzdGluZyBwYWNrZWQnICcKKworCXByZWZpeD1yZWZzLzRwICYmCisJdGVzdF91cGRhdGVfcmVqZWN0ZWQgImEgYy94L3kgZSIgdHJ1ZSAiYiBjIGQiIFwKKwkJIiRRJHByZWZpeC9jL3gveSRRIGV4aXN0czsgY2Fubm90IGNyZWF0ZSAkUSRwcmVmaXgvYyRRIgorCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ29uZSBuZXcgcmVmIGlzIGEgc2ltcGxlIHByZWZpeCBvZiBhbm90aGVyJyAnCisKKwlwcmVmaXg9cmVmcy81ICYmCisJdGVzdF91cGRhdGVfcmVqZWN0ZWQgImEgZSIgZmFsc2UgImIgYyBjL3ggZCIgXAorCQkiY2Fubm90IHByb2Nlc3MgJFEkcHJlZml4L2MkUSBhbmQgJFEkcHJlZml4L2MveCRRIGF0IHRoZSBzYW1lIHRpbWUiCisKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZW1wdHkgZGlyZWN0b3J5IHNob3VsZCBub3QgZm9vbCByZXYtcGFyc2UnICcKKwlwcmVmaXg9cmVmcy9lLXJldi1wYXJzZSAmJgorCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCisJZ2l0IHBhY2stcmVmcyAtLWFsbCAmJgorCW1rZGlyIC1wIC5naXQvJHByZWZpeC9mb28vYmFyL2JheiAmJgorCWVjaG8gIiRDIiA+ZXhwZWN0ZWQgJiYKKwlnaXQgcmV2LXBhcnNlICRwcmVmaXgvZm9vID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZW1wdHkgZGlyZWN0b3J5IHNob3VsZCBub3QgZm9vbCBmb3ItZWFjaC1yZWYnICcKKwlwcmVmaXg9cmVmcy9lLWZvci1lYWNoLXJlZiAmJgorCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCisJZ2l0IGZvci1lYWNoLXJlZiAkcHJlZml4ID5leHBlY3RlZCAmJgorCWdpdCBwYWNrLXJlZnMgLS1hbGwgJiYKKwlta2RpciAtcCAuZ2l0LyRwcmVmaXgvZm9vL2Jhci9iYXogJiYKKwlnaXQgZm9yLWVhY2gtcmVmICRwcmVmaXggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdlbXB0eSBkaXJlY3Rvcnkgc2hvdWxkIG5vdCBmb29sIGNyZWF0ZScgJworCXByZWZpeD1yZWZzL2UtY3JlYXRlICYmCisJbWtkaXIgLXAgLmdpdC8kcHJlZml4L2Zvby9iYXIvYmF6ICYmCisJcHJpbnRmICJjcmVhdGUgJXMgJENcbiIgJHByZWZpeC9mb28gfAorCWdpdCB1cGRhdGUtcmVmIC0tc3RkaW4KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZW1wdHkgZGlyZWN0b3J5IHNob3VsZCBub3QgZm9vbCB2ZXJpZnknICcKKwlwcmVmaXg9cmVmcy9lLXZlcmlmeSAmJgorCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCisJZ2l0IHBhY2stcmVmcyAtLWFsbCAmJgorCW1rZGlyIC1wIC5naXQvJHByZWZpeC9mb28vYmFyL2JheiAmJgorCXByaW50ZiAidmVyaWZ5ICVzICRDXG4iICRwcmVmaXgvZm9vIHwKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2VtcHR5IGRpcmVjdG9yeSBzaG91bGQgbm90IGZvb2wgMS1hcmcgdXBkYXRlJyAnCisJcHJlZml4PXJlZnMvZS11cGRhdGUtMSAmJgorCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCisJZ2l0IHBhY2stcmVmcyAtLWFsbCAmJgorCW1rZGlyIC1wIC5naXQvJHByZWZpeC9mb28vYmFyL2JheiAmJgorCXByaW50ZiAidXBkYXRlICVzICREXG4iICRwcmVmaXgvZm9vIHwKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2VtcHR5IGRpcmVjdG9yeSBzaG91bGQgbm90IGZvb2wgMi1hcmcgdXBkYXRlJyAnCisJcHJlZml4PXJlZnMvZS11cGRhdGUtMiAmJgorCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCisJZ2l0IHBhY2stcmVmcyAtLWFsbCAmJgorCW1rZGlyIC1wIC5naXQvJHByZWZpeC9mb28vYmFyL2JheiAmJgorCXByaW50ZiAidXBkYXRlICVzICREICRDXG4iICRwcmVmaXgvZm9vIHwKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2VtcHR5IGRpcmVjdG9yeSBzaG91bGQgbm90IGZvb2wgMC1hcmcgZGVsZXRlJyAnCisJcHJlZml4PXJlZnMvZS1kZWxldGUtMCAmJgorCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCisJZ2l0IHBhY2stcmVmcyAtLWFsbCAmJgorCW1rZGlyIC1wIC5naXQvJHByZWZpeC9mb28vYmFyL2JheiAmJgorCXByaW50ZiAiZGVsZXRlICVzXG4iICRwcmVmaXgvZm9vIHwKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2VtcHR5IGRpcmVjdG9yeSBzaG91bGQgbm90IGZvb2wgMS1hcmcgZGVsZXRlJyAnCisJcHJlZml4PXJlZnMvZS1kZWxldGUtMSAmJgorCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCisJZ2l0IHBhY2stcmVmcyAtLWFsbCAmJgorCW1rZGlyIC1wIC5naXQvJHByZWZpeC9mb28vYmFyL2JheiAmJgorCXByaW50ZiAiZGVsZXRlICVzICRDXG4iICRwcmVmaXgvZm9vIHwKKwlnaXQgdXBkYXRlLXJlZiAtLXN0ZGluCisnCisKKyMgVGVzdCB2YXJpb3VzIGVycm9ycyB3aGVuIHJlYWRpbmcgdGhlIG9sZCB2YWx1ZXMgb2YgcmVmZXJlbmNlcy4uLgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtaXNzaW5nIG9sZCB2YWx1ZSBibG9ja3MgdXBkYXRlJyAnCisJcHJlZml4PXJlZnMvbWlzc2luZy11cGRhdGUgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFEkcHJlZml4L2ZvbyRROiB1bmFibGUgdG8gcmVzb2x2ZSByZWZlcmVuY2UgJFEkcHJlZml4L2ZvbyRRCisJRU9GCisJcHJpbnRmICIlc1xuIiAidXBkYXRlICRwcmVmaXgvZm9vICRFICREIiB8CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBvdXRwdXQuZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luY29ycmVjdCBvbGQgdmFsdWUgYmxvY2tzIHVwZGF0ZScgJworCXByZWZpeD1yZWZzL2luY29ycmVjdC11cGRhdGUgJiYKKwlnaXQgdXBkYXRlLXJlZiAkcHJlZml4L2ZvbyAkQyAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkUSRwcmVmaXgvZm9vJFE6IGlzIGF0ICRDIGJ1dCBleHBlY3RlZCAkRAorCUVPRgorCXByaW50ZiAiJXNcbiIgInVwZGF0ZSAkcHJlZml4L2ZvbyAkRSAkRCIgfAorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0cHV0LmVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdleGlzdGluZyBvbGQgdmFsdWUgYmxvY2tzIGNyZWF0ZScgJworCXByZWZpeD1yZWZzL2V4aXN0aW5nLWNyZWF0ZSAmJgorCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9mb28kUTogcmVmZXJlbmNlIGFscmVhZHkgZXhpc3RzCisJRU9GCisJcHJpbnRmICIlc1xuIiAiY3JlYXRlICRwcmVmaXgvZm9vICRFIiB8CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBvdXRwdXQuZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luY29ycmVjdCBvbGQgdmFsdWUgYmxvY2tzIGRlbGV0ZScgJworCXByZWZpeD1yZWZzL2luY29ycmVjdC1kZWxldGUgJiYKKwlnaXQgdXBkYXRlLXJlZiAkcHJlZml4L2ZvbyAkQyAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkUSRwcmVmaXgvZm9vJFE6IGlzIGF0ICRDIGJ1dCBleHBlY3RlZCAkRAorCUVPRgorCXByaW50ZiAiJXNcbiIgImRlbGV0ZSAkcHJlZml4L2ZvbyAkRCIgfAorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0cHV0LmVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtaXNzaW5nIG9sZCB2YWx1ZSBibG9ja3MgaW5kaXJlY3QgdXBkYXRlJyAnCisJcHJlZml4PXJlZnMvbWlzc2luZy1pbmRpcmVjdC11cGRhdGUgJiYKKwlnaXQgc3ltYm9saWMtcmVmICRwcmVmaXgvc3ltcmVmICRwcmVmaXgvZm9vICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9zeW1yZWYkUTogdW5hYmxlIHRvIHJlc29sdmUgcmVmZXJlbmNlICRRJHByZWZpeC9mb28kUQorCUVPRgorCXByaW50ZiAiJXNcbiIgInVwZGF0ZSAkcHJlZml4L3N5bXJlZiAkRSAkRCIgfAorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0cHV0LmVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbmNvcnJlY3Qgb2xkIHZhbHVlIGJsb2NrcyBpbmRpcmVjdCB1cGRhdGUnICcKKwlwcmVmaXg9cmVmcy9pbmNvcnJlY3QtaW5kaXJlY3QtdXBkYXRlICYmCisJZ2l0IHN5bWJvbGljLXJlZiAkcHJlZml4L3N5bXJlZiAkcHJlZml4L2ZvbyAmJgorCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9zeW1yZWYkUTogaXMgYXQgJEMgYnV0IGV4cGVjdGVkICRECisJRU9GCisJcHJpbnRmICIlc1xuIiAidXBkYXRlICRwcmVmaXgvc3ltcmVmICRFICREIiB8CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBvdXRwdXQuZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2V4aXN0aW5nIG9sZCB2YWx1ZSBibG9ja3MgaW5kaXJlY3QgY3JlYXRlJyAnCisJcHJlZml4PXJlZnMvZXhpc3RpbmctaW5kaXJlY3QtY3JlYXRlICYmCisJZ2l0IHN5bWJvbGljLXJlZiAkcHJlZml4L3N5bXJlZiAkcHJlZml4L2ZvbyAmJgorCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9zeW1yZWYkUTogcmVmZXJlbmNlIGFscmVhZHkgZXhpc3RzCisJRU9GCisJcHJpbnRmICIlc1xuIiAiY3JlYXRlICRwcmVmaXgvc3ltcmVmICRFIiB8CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBvdXRwdXQuZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luY29ycmVjdCBvbGQgdmFsdWUgYmxvY2tzIGluZGlyZWN0IGRlbGV0ZScgJworCXByZWZpeD1yZWZzL2luY29ycmVjdC1pbmRpcmVjdC1kZWxldGUgJiYKKwlnaXQgc3ltYm9saWMtcmVmICRwcmVmaXgvc3ltcmVmICRwcmVmaXgvZm9vICYmCisJZ2l0IHVwZGF0ZS1yZWYgJHByZWZpeC9mb28gJEMgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFEkcHJlZml4L3N5bXJlZiRROiBpcyBhdCAkQyBidXQgZXhwZWN0ZWQgJEQKKwlFT0YKKwlwcmludGYgIiVzXG4iICJkZWxldGUgJHByZWZpeC9zeW1yZWYgJEQiIHwKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDI+b3V0cHV0LmVyciAmJgorCXRlc3RfY21wIGV4cGVjdGVkIG91dHB1dC5lcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWlzc2luZyBvbGQgdmFsdWUgYmxvY2tzIGluZGlyZWN0IG5vLWRlcmVmIHVwZGF0ZScgJworCXByZWZpeD1yZWZzL21pc3Npbmctbm9kZXJlZi11cGRhdGUgJiYKKwlnaXQgc3ltYm9saWMtcmVmICRwcmVmaXgvc3ltcmVmICRwcmVmaXgvZm9vICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9zeW1yZWYkUTogcmVmZXJlbmNlIGlzIG1pc3NpbmcgYnV0IGV4cGVjdGVkICRECisJRU9GCisJcHJpbnRmICIlc1xuIiAib3B0aW9uIG5vLWRlcmVmIiAidXBkYXRlICRwcmVmaXgvc3ltcmVmICRFICREIiB8CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBvdXRwdXQuZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luY29ycmVjdCBvbGQgdmFsdWUgYmxvY2tzIGluZGlyZWN0IG5vLWRlcmVmIHVwZGF0ZScgJworCXByZWZpeD1yZWZzL2luY29ycmVjdC1ub2RlcmVmLXVwZGF0ZSAmJgorCWdpdCBzeW1ib2xpYy1yZWYgJHByZWZpeC9zeW1yZWYgJHByZWZpeC9mb28gJiYKKwlnaXQgdXBkYXRlLXJlZiAkcHJlZml4L2ZvbyAkQyAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkUSRwcmVmaXgvc3ltcmVmJFE6IGlzIGF0ICRDIGJ1dCBleHBlY3RlZCAkRAorCUVPRgorCXByaW50ZiAiJXNcbiIgIm9wdGlvbiBuby1kZXJlZiIgInVwZGF0ZSAkcHJlZml4L3N5bXJlZiAkRSAkRCIgfAorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0cHV0LmVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdleGlzdGluZyBvbGQgdmFsdWUgYmxvY2tzIGluZGlyZWN0IG5vLWRlcmVmIGNyZWF0ZScgJworCXByZWZpeD1yZWZzL2V4aXN0aW5nLW5vZGVyZWYtY3JlYXRlICYmCisJZ2l0IHN5bWJvbGljLXJlZiAkcHJlZml4L3N5bXJlZiAkcHJlZml4L2ZvbyAmJgorCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9zeW1yZWYkUTogcmVmZXJlbmNlIGFscmVhZHkgZXhpc3RzCisJRU9GCisJcHJpbnRmICIlc1xuIiAib3B0aW9uIG5vLWRlcmVmIiAiY3JlYXRlICRwcmVmaXgvc3ltcmVmICRFIiB8CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBvdXRwdXQuZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luY29ycmVjdCBvbGQgdmFsdWUgYmxvY2tzIGluZGlyZWN0IG5vLWRlcmVmIGRlbGV0ZScgJworCXByZWZpeD1yZWZzL2luY29ycmVjdC1ub2RlcmVmLWRlbGV0ZSAmJgorCWdpdCBzeW1ib2xpYy1yZWYgJHByZWZpeC9zeW1yZWYgJHByZWZpeC9mb28gJiYKKwlnaXQgdXBkYXRlLXJlZiAkcHJlZml4L2ZvbyAkQyAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkUSRwcmVmaXgvc3ltcmVmJFE6IGlzIGF0ICRDIGJ1dCBleHBlY3RlZCAkRAorCUVPRgorCXByaW50ZiAiJXNcbiIgIm9wdGlvbiBuby1kZXJlZiIgImRlbGV0ZSAkcHJlZml4L3N5bXJlZiAkRCIgfAorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0cHV0LmVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdub24tZW1wdHkgZGlyZWN0b3J5IGJsb2NrcyBjcmVhdGUnICcKKwlwcmVmaXg9cmVmcy9uZS1jcmVhdGUgJiYKKwlta2RpciAtcCAuZ2l0LyRwcmVmaXgvZm9vL2JhciAmJgorCTogPi5naXQvJHByZWZpeC9mb28vYmFyL2Jhei5sb2NrICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiAuZ2l0LyRwcmVmaXgvZm9vL2Jhci9iYXoubG9jayIgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFEkcHJlZml4L2ZvbyRROiB0aGVyZSBpcyBhIG5vbi1lbXB0eSBkaXJlY3RvcnkgJFEuZ2l0LyRwcmVmaXgvZm9vJFEgYmxvY2tpbmcgcmVmZXJlbmNlICRRJHByZWZpeC9mb28kUQorCUVPRgorCXByaW50ZiAiJXNcbiIgInVwZGF0ZSAkcHJlZml4L2ZvbyAkQyIgfAorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0cHV0LmVyciAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkUSRwcmVmaXgvZm9vJFE6IHVuYWJsZSB0byByZXNvbHZlIHJlZmVyZW5jZSAkUSRwcmVmaXgvZm9vJFEKKwlFT0YKKwlwcmludGYgIiVzXG4iICJ1cGRhdGUgJHByZWZpeC9mb28gJEQgJEMiIHwKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDI+b3V0cHV0LmVyciAmJgorCXRlc3RfY21wIGV4cGVjdGVkIG91dHB1dC5lcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYnJva2VuIHJlZmVyZW5jZSBibG9ja3MgY3JlYXRlJyAnCisJcHJlZml4PXJlZnMvYnJva2VuLWNyZWF0ZSAmJgorCW1rZGlyIC1wIC5naXQvJHByZWZpeCAmJgorCWVjaG8gImdvYmJsZWRpZ29vayIgPi5naXQvJHByZWZpeC9mb28gJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvJHByZWZpeC9mb28iICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9mb28kUTogdW5hYmxlIHRvIHJlc29sdmUgcmVmZXJlbmNlICRRJHByZWZpeC9mb28kUTogcmVmZXJlbmNlIGJyb2tlbgorCUVPRgorCXByaW50ZiAiJXNcbiIgInVwZGF0ZSAkcHJlZml4L2ZvbyAkQyIgfAorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0cHV0LmVyciAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkUSRwcmVmaXgvZm9vJFE6IHVuYWJsZSB0byByZXNvbHZlIHJlZmVyZW5jZSAkUSRwcmVmaXgvZm9vJFE6IHJlZmVyZW5jZSBicm9rZW4KKwlFT0YKKwlwcmludGYgIiVzXG4iICJ1cGRhdGUgJHByZWZpeC9mb28gJEQgJEMiIHwKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDI+b3V0cHV0LmVyciAmJgorCXRlc3RfY21wIGV4cGVjdGVkIG91dHB1dC5lcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm9uLWVtcHR5IGRpcmVjdG9yeSBibG9ja3MgaW5kaXJlY3QgY3JlYXRlJyAnCisJcHJlZml4PXJlZnMvbmUtaW5kaXJlY3QtY3JlYXRlICYmCisJZ2l0IHN5bWJvbGljLXJlZiAkcHJlZml4L3N5bXJlZiAkcHJlZml4L2ZvbyAmJgorCW1rZGlyIC1wIC5naXQvJHByZWZpeC9mb28vYmFyICYmCisJOiA+LmdpdC8kcHJlZml4L2Zvby9iYXIvYmF6LmxvY2sgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvJHByZWZpeC9mb28vYmFyL2Jhei5sb2NrIiAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkUSRwcmVmaXgvc3ltcmVmJFE6IHRoZXJlIGlzIGEgbm9uLWVtcHR5IGRpcmVjdG9yeSAkUS5naXQvJHByZWZpeC9mb28kUSBibG9ja2luZyByZWZlcmVuY2UgJFEkcHJlZml4L2ZvbyRRCisJRU9GCisJcHJpbnRmICIlc1xuIiAidXBkYXRlICRwcmVmaXgvc3ltcmVmICRDIiB8CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBvdXRwdXQuZXJyICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9zeW1yZWYkUTogdW5hYmxlIHRvIHJlc29sdmUgcmVmZXJlbmNlICRRJHByZWZpeC9mb28kUQorCUVPRgorCXByaW50ZiAiJXNcbiIgInVwZGF0ZSAkcHJlZml4L3N5bXJlZiAkRCAkQyIgfAorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0cHV0LmVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdicm9rZW4gcmVmZXJlbmNlIGJsb2NrcyBpbmRpcmVjdCBjcmVhdGUnICcKKwlwcmVmaXg9cmVmcy9icm9rZW4taW5kaXJlY3QtY3JlYXRlICYmCisJZ2l0IHN5bWJvbGljLXJlZiAkcHJlZml4L3N5bXJlZiAkcHJlZml4L2ZvbyAmJgorCWVjaG8gImdvYmJsZWRpZ29vayIgPi5naXQvJHByZWZpeC9mb28gJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvJHByZWZpeC9mb28iICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9zeW1yZWYkUTogdW5hYmxlIHRvIHJlc29sdmUgcmVmZXJlbmNlICRRJHByZWZpeC9mb28kUTogcmVmZXJlbmNlIGJyb2tlbgorCUVPRgorCXByaW50ZiAiJXNcbiIgInVwZGF0ZSAkcHJlZml4L3N5bXJlZiAkQyIgfAorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0cHV0LmVyciAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkUSRwcmVmaXgvc3ltcmVmJFE6IHVuYWJsZSB0byByZXNvbHZlIHJlZmVyZW5jZSAkUSRwcmVmaXgvZm9vJFE6IHJlZmVyZW5jZSBicm9rZW4KKwlFT0YKKwlwcmludGYgIiVzXG4iICJ1cGRhdGUgJHByZWZpeC9zeW1yZWYgJEQgJEMiIHwKKwl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDI+b3V0cHV0LmVyciAmJgorCXRlc3RfY21wIGV4cGVjdGVkIG91dHB1dC5lcnIKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxNDEwLXJlZmxvZy5zaCBiL3QvdDE0MTAtcmVmbG9nLnNoCmluZGV4IDljZjkxZGMuLjU1M2UyNmQgMTAwNzU1Ci0tLSBhL3QvdDE0MTAtcmVmbG9nLnNoCisrKyBiL3QvdDE0MTAtcmVmbG9nLnNoCkBAIC0zNDgsNCArMzQ4LDI1IEBACiAJZ2l0IHJlZmxvZyBleHBpcmUgLS1leHBpcmU9YWxsIHRoZV9zeW1yZWYKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29udGludWUgd2Fsa2luZyBwYXN0IHJvb3QgY29tbWl0cycgJworCWdpdCBpbml0IG9ycGhhbmFnZSAmJgorCSgKKwkJY2Qgb3JwaGFuYWdlICYmCisJCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkJSEVBREB7MH0gY29tbWl0IChpbml0aWFsKTogb3JwaGFuMi0xCisJCUhFQURAezF9IGNvbW1pdDogb3JwaGFuMS0yCisJCUhFQURAezJ9IGNvbW1pdCAoaW5pdGlhbCk6IG9ycGhhbjEtMQorCQlIRUFEQHszfSBjb21taXQgKGluaXRpYWwpOiBpbml0aWFsCisJCUVPRgorCQl0ZXN0X2NvbW1pdCBpbml0aWFsICYmCisJCWdpdCBjaGVja291dCAtLW9ycGhhbiBvcnBoYW4xICYmCisJCXRlc3RfY29tbWl0IG9ycGhhbjEtMSAmJgorCQl0ZXN0X2NvbW1pdCBvcnBoYW4xLTIgJiYKKwkJZ2l0IGNoZWNrb3V0IC0tb3JwaGFuIG9ycGhhbjIgJiYKKwkJdGVzdF9jb21taXQgb3JwaGFuMi0xICYmCisJCWdpdCBsb2cgLWcgLS1mb3JtYXQ9IiVnZCAlZ3MiID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxNDMwLWJhZC1yZWYtbmFtZS5zaCBiL3QvdDE0MzAtYmFkLXJlZi1uYW1lLnNoCmluZGV4IDI1ZGRhYjQuLjg5MzdlMjUgMTAwNzU1Ci0tLSBhL3QvdDE0MzAtYmFkLXJlZi1uYW1lLnNoCisrKyBiL3QvdDE0MzAtYmFkLXJlZi1uYW1lLnNoCkBAIC0yODUsNyArMjg1LDcgQEAKIAllY2hvIHByZWNpb3VzID5leHBlY3QgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtZCBteS1wcml2YXRlLWZpbGUgPm91dHB1dCAyPmVycm9yICYmCiAJdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dCAmJgotCXRlc3RfaTE4bmdyZXAgLWUgImNhbm5vdCBsb2NrIC4qOiB1bmFibGUgdG8gcmVzb2x2ZSByZWZlcmVuY2UiIGVycm9yICYmCisJdGVzdF9pMThuZ3JlcCAtZSAicmVmdXNpbmcgdG8gdXBkYXRlIHJlZiB3aXRoIGJhZCBuYW1lIiBlcnJvciAmJgogCXRlc3RfY21wIGV4cGVjdCAuZ2l0L215LXByaXZhdGUtZmlsZQogJwogCmRpZmYgLS1naXQgYS90L3QxNDUwLWZzY2suc2ggYi90L3QxNDUwLWZzY2suc2gKaW5kZXggN2VlOGVhMC4uZWU3ZDQ3MyAxMDA3NTUKLS0tIGEvdC90MTQ1MC1mc2NrLnNoCisrKyBiL3QvdDE0NTAtZnNjay5zaApAQCAtMTg4LDggKzE4OCw3IEBACiAJZ3JlcCAiZXJyb3IgaW4gY29tbWl0ICRuZXcuKnVudGVybWluYXRlZCBoZWFkZXI6IE5VTCBhdCBvZmZzZXQiIG91dAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdtYWxmb3JtYXR0ZWQgdHJlZSBvYmplY3QnICcKLQl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCB1cGRhdGUtcmVmIC1kIHJlZnMvdGFncy93cm9uZyIgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RyZWUgb2JqZWN0IHdpdGggZHVwbGljYXRlIGVudHJpZXMnICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJlbW92ZV9vYmplY3QgXCRUIiAmJgogCVQ9JCgKIAkJR0lUX0lOREVYX0ZJTEU9dGVzdC1pbmRleCAmJgpAQCAtMjA4LDYgKzIwNywxOSBAQAogCWdyZXAgImVycm9yIGluIHRyZWUgLipjb250YWlucyBkdXBsaWNhdGUgZmlsZSBlbnRyaWVzIiBvdXQKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAndW5wYXJzZWFibGUgdHJlZSBvYmplY3QnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCB1cGRhdGUtcmVmIC1kIHJlZnMvaGVhZHMvd3JvbmciICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJyZW1vdmVfb2JqZWN0IFwkdHJlZV9zaGExIiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicmVtb3ZlX29iamVjdCBcJGNvbW1pdF9zaGExIiAmJgorCXRyZWVfc2hhMT0kKHByaW50ZiAiMTAwNjQ0IFwwdHdlbnR5LWJ5dGVzLW9mLWp1bmsiIHwgZ2l0IGhhc2gtb2JqZWN0IC10IHRyZWUgLS1zdGRpbiAtdyAtLWxpdGVyYWxseSkgJiYKKwljb21taXRfc2hhMT0kKGdpdCBjb21taXQtdHJlZSAkdHJlZV9zaGExKSAmJgorCWdpdCB1cGRhdGUtcmVmIHJlZnMvaGVhZHMvd3JvbmcgJGNvbW1pdF9zaGExICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZzY2sgMj5vdXQgJiYKKwl0ZXN0X2kxOG5ncmVwICJlcnJvcjogZW1wdHkgZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSIgb3V0ICYmCisJdGVzdF9pMThuZ3JlcCAiJHRyZWVfc2hhMSIgb3V0ICYmCisJdGVzdF9pMThuZ3JlcCAhICJmYXRhbDogZW1wdHkgZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSIgb3V0CisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RhZyBwb2ludGluZyB0byBub25leGlzdGVudCcgJwogCWNhdCA+aW52YWxpZC10YWcgPDwtXEVPRiAmJgogCW9iamVjdCBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmCkBAIC01MjMsNCArNTM1LDI2IEBACiAJKQogJwogCityZW1vdmVfbG9vc2Vfb2JqZWN0ICgpIHsKKwlzaGExPSIkKGdpdCByZXYtcGFyc2UgIiQxIikiICYmCisJcmVtYWluZGVyPSR7c2hhMSM/P30gJiYKKwlmaXJzdHR3bz0ke3NoYTElJHJlbWFpbmRlcn0gJiYKKwlybSAuZ2l0L29iamVjdHMvJGZpcnN0dHdvLyRyZW1haW5kZXIKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZnNjayAtLW5hbWUtb2JqZWN0cycgJworCXJtIC1yZiBuYW1lLW9iamVjdHMgJiYKKwlnaXQgaW5pdCBuYW1lLW9iamVjdHMgJiYKKwkoCisJCWNkIG5hbWUtb2JqZWN0cyAmJgorCQl0ZXN0X2NvbW1pdCBqdWxpdXMgY2Flc2FyLnQgJiYKKwkJdGVzdF9jb21taXQgYXVndXN0dXMgJiYKKwkJdGVzdF9jb21taXQgY2Flc2FyICYmCisJCXJlbW92ZV9sb29zZV9vYmplY3QgJChnaXQgcmV2LXBhcnNlIGp1bGl1czpjYWVzYXIudCkgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZzY2sgLS1uYW1lLW9iamVjdHMgPm91dCAmJgorCQl0cmVlPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBqdWxpdXM6KSAmJgorCQlncmVwICIkdHJlZSAoXChyZWZzL2hlYWRzL21hc3Rlclx8SEVBRFwpQHtbMC05XSp9OiIgb3V0CisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDE1MDMtcmV2LXBhcnNlLXZlcmlmeS5zaCBiL3QvdDE1MDMtcmV2LXBhcnNlLXZlcmlmeS5zaAppbmRleCBhYjI3ZDBkLi40OTJlZGZmIDEwMDc1NQotLS0gYS90L3QxNTAzLXJldi1wYXJzZS12ZXJpZnkuc2gKKysrIGIvdC90MTUwMy1yZXYtcGFyc2UtdmVyaWZ5LnNoCkBAIC0xMzksNCArMTM5LDkgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IG1hc3RlckB7JE5wMX0KICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBTWU1MSU5LUyAncmVmIHJlc29sdXRpb24gbm90IGNvbmZ1c2VkIGJ5IGJyb2tlbiBzeW1saW5rcycgJworCWxuIC1zIGRvZXMtbm90LWV4aXN0IC5naXQvcmVmcy9oZWFkcy9icm9rZW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IGJyb2tlbgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDE1MDYtcmV2LXBhcnNlLWRpYWdub3Npcy5zaCBiL3QvdDE1MDYtcmV2LXBhcnNlLWRpYWdub3Npcy5zaAppbmRleCA4NmMyZmYyLi43OWEwMjUxIDEwMDc1NQotLS0gYS90L3QxNTA2LXJldi1wYXJzZS1kaWFnbm9zaXMuc2gKKysrIGIvdC90MTUwNi1yZXYtcGFyc2UtZGlhZ25vc2lzLnNoCkBAIC0xMDYsNyArMTA2LDcgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIGZvb2JhcjpmaWxlLnR4dCAyPmVycm9yICYmCiAJZ3JlcCAiSW52YWxpZCBvYmplY3QgbmFtZSAnIiciJ2Zvb2JhciciJyInLiIgZXJyb3IgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIGZvb2JhciAyPiBlcnJvciAmJgotCWdyZXAgInVua25vd24gcmV2aXNpb24gb3IgcGF0aCBub3QgaW4gdGhlIHdvcmtpbmcgdHJlZS4iIGVycm9yCisJdGVzdF9pMThuZ3JlcCAidW5rbm93biByZXZpc2lvbiBvciBwYXRoIG5vdCBpbiB0aGUgd29ya2luZyB0cmVlLiIgZXJyb3IKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5jb3JyZWN0IGZpbGUgaW4gc2hhMTpwYXRoJyAnCmRpZmYgLS1naXQgYS90L3QxNTEyLXJldi1wYXJzZS1kaXNhbWJpZ3VhdGlvbi5zaCBiL3QvdDE1MTItcmV2LXBhcnNlLWRpc2FtYmlndWF0aW9uLnNoCmluZGV4IGUyMjExNjcuLjcxMTcwNGIgMTAwNzU1Ci0tLSBhL3QvdDE1MTItcmV2LXBhcnNlLWRpc2FtYmlndWF0aW9uLnNoCisrKyBiL3QvdDE1MTItcmV2LXBhcnNlLWRpc2FtYmlndWF0aW9uLnNoCkBAIC00Miw3ICs0Miw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dhcm4gYW1iaWd1aXR5IHdoZW4gbm8gY2FuZGlkYXRlIG1hdGNoZXMgdHlwZSBoaW50JyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAwMDAwMDAwMDBee2NvbW1pdH0gMj5hY3R1YWwgJiYKLQlncmVwICJzaG9ydCBTSEExIDAwMDAwMDAwMCBpcyBhbWJpZ3VvdXMiIGFjdHVhbAorCXRlc3RfaTE4bmdyZXAgInNob3J0IFNIQTEgMDAwMDAwMDAwIGlzIGFtYmlndW91cyIgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Rpc2FtYmlndWF0ZSB0cmVlLWlzaCcgJwpAQCAtMjY0LDYgKzI2NCwxMyBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBsb2cgMDAwMDAwMDAwLi4uCiAnCiAKKyMgVGhlcmUgYXJlIHRocmVlIG9iamVjdHMgd2l0aCB0aGlzIHByZWZpeDogYSBibG9iLCBhIHRyZWUsIGFuZCBhIHRhZy4gV2Uga25vdworIyB0aGUgYmxvYiB3aWxsIG5vdCBwYXNzIGFzIGEgdHJlZWlzaCwgYnV0IHRoZSB0cmVlIGFuZCB0YWcgc2hvdWxkIChhbmQgdGh1cworIyBjYXVzZSBhbiBlcnJvcikuCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbWJpZ3VvdXMgdGFncyBwZWVsIHRvIHRyZWVpc2gnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIDAwMDAwMDAwMDBmXnt0cmVlfQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtcGFyc2UgLS1kaXNhbWJpZ3VhdGUnICcKIAkjIFRoZSB0ZXN0IGNyZWF0ZXMgMTYgb2JqZWN0cyB0aGF0IHNoYXJlIHRoZSBwcmVmaXggYW5kIHR3bwogCSMgY29tbWl0cyBjcmVhdGVkIGJ5IGNvbW1pdC10cmVlIGluIGVhcmxpZXIgdGVzdHMgc2hhcmUgYQpAQCAtMjczLDYgKzI4MCwxMyBAQAogCXRlc3QgIiQoc2VkIC1lICJzL15cKC4uLi4uLi4uLlwpLiovXDEvIiBhY3R1YWwgfCBzb3J0IC11KSIgPSAwMDAwMDAwMDAKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LXBhcnNlIC0tZGlzYW1iaWd1YXRlIGRyb3BzIGR1cGxpY2F0ZXMnICcKKwlnaXQgcmV2LXBhcnNlIC0tZGlzYW1iaWd1YXRlPTAwMDAwMDAwMCA+ZXhwZWN0ICYmCisJZ2l0IHBhY2stb2JqZWN0cyAuZ2l0L29iamVjdHMvcGFjay9wYWNrIDxleHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlIC0tZGlzYW1iaWd1YXRlPTAwMDAwMDAwMCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbWJpZ3VvdXMgNDAtaGV4IHJlZicgJwogCVRSRUU9JChnaXQgbWt0cmVlIDwvZGV2L251bGwpICYmCiAJUkVGPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgpAQCAtMjkxLDQgKzMwNSw2MCBAQAogCWdyZXAgInJlZm5hbWUuKiR7UkVGfS4qYW1iaWd1b3VzIiBlcnIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBDX0xPQ0FMRV9PVVRQVVQgJ2FtYmlndWl0eSBlcnJvcnMgYXJlIG5vdCByZXBlYXRlZCAocmF3KScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgMDAwMDAgMj5zdGRlcnIgJiYKKwlncmVwICJpcyBhbWJpZ3VvdXMiIHN0ZGVyciA+ZXJyb3JzICYmCisJdGVzdF9saW5lX2NvdW50ID0gMSBlcnJvcnMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBDX0xPQ0FMRV9PVVRQVVQgJ2FtYmlndWl0eSBlcnJvcnMgYXJlIG5vdCByZXBlYXRlZCAodHJlZWlzaCknICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIDAwMDAwOmZvbyAyPnN0ZGVyciAmJgorCWdyZXAgImlzIGFtYmlndW91cyIgc3RkZXJyID5lcnJvcnMgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAxIGVycm9ycworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIENfTE9DQUxFX09VVFBVVCAnYW1iaWd1aXR5IGVycm9ycyBhcmUgbm90IHJlcGVhdGVkIChwZWVsKScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgMDAwMDBee2NvbW1pdH0gMj5zdGRlcnIgJiYKKwlncmVwICJpcyBhbWJpZ3VvdXMiIHN0ZGVyciA+ZXJyb3JzICYmCisJdGVzdF9saW5lX2NvdW50ID0gMSBlcnJvcnMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBDX0xPQ0FMRV9PVVRQVVQgJ2FtYmlndWl0eSBoaW50cycgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgMDAwMDAwMDAwIDI+c3RkZXJyICYmCisJZ3JlcCBeaGludDogc3RkZXJyID5oaW50cyAmJgorCSMgMTYgY2FuZGlkYXRlcywgcGx1cyBvbmUgaW50cm8gbGluZQorCXRlc3RfbGluZV9jb3VudCA9IDE3IGhpbnRzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgQ19MT0NBTEVfT1VUUFVUICdhbWJpZ3VpdHkgaGludHMgcmVzcGVjdCB0eXBlJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAwMDAwMDAwMDBee2NvbW1pdH0gMj5zdGRlcnIgJiYKKwlncmVwIF5oaW50OiBzdGRlcnIgPmhpbnRzICYmCisJIyA1IGNvbW1pdHMsIDEgdGFnICh3aGljaCBpcyBhIGNvbW1pdGlzaCksIHBsdXMgaW50cm8gbGluZQorCXRlc3RfbGluZV9jb3VudCA9IDcgaGludHMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBDX0xPQ0FMRV9PVVRQVVQgJ2ZhaWxlZCB0eXBlLXNlbGVjdG9yIHN0aWxsIHNob3dzIGhpbnQnICcKKwkjIHRoZXNlIHR3byBibG9icyBzaGFyZSB0aGUgc2FtZSBwcmVmaXggImVlM2QiLCBidXQgbmVpdGhlcgorCSMgd2lsbCBwYXNzIGZvciBhIGNvbW1pdAorCWVjaG8gODUxIHwgZ2l0IGhhc2gtb2JqZWN0IC0tc3RkaW4gLXcgJiYKKwllY2hvIDg3MiB8IGdpdCBoYXNoLW9iamVjdCAtLXN0ZGluIC13ICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBlZTNkXntjb21taXR9IDI+c3RkZXJyICYmCisJZ3JlcCBeaGludDogc3RkZXJyID5oaW50cyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDMgaGludHMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29yZS5kaXNhbWJpZ3VhdGUgY29uZmlnIGNhbiBwcmVmZXIgdHlwZXMnICcKKwkjIGFtYmlndW91cyBiZXR3ZWVuIHRyZWUgYW5kIHRhZworCXNoYTE9MDAwMDAwMDAwMGYgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlICRzaGExICYmCisJZ2l0IHJldi1wYXJzZSAkc2hhMV57Y29tbWl0fSAmJgorCWdpdCAtYyBjb3JlLmRpc2FtYmlndWF0ZT1jb21taXR0aXNoIHJldi1wYXJzZSAkc2hhMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3JlLmRpc2FtYmlndWF0ZSBkb2VzIG5vdCBvdmVycmlkZSBjb250ZXh0JyAnCisJIyB0cmVlaXNoIGFtYmlndW91cyBiZXR3ZWVuIHRhZyBhbmQgdHJlZQorCXRlc3RfbXVzdF9mYWlsIFwKKwkJZ2l0IC1jIGNvcmUuZGlzYW1iaWd1YXRlPWNvbW1pdHRpc2ggcmV2LXBhcnNlICRzaGExXnt0cmVlfQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDE3MDAtc3BsaXQtaW5kZXguc2ggYi90L3QxNzAwLXNwbGl0LWluZGV4LnNoCmluZGV4IDhhZWY0OWYuLjI5MmEwNzIgMTAwNzU1Ci0tLSBhL3QvdDE3MDAtc3BsaXQtaW5kZXguc2gKKysrIGIvdC90MTcwMC1zcGxpdC1pbmRleC5zaApAQCAtMzMsMTQgKzMzLDE0IEBACiAJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCBvbmUgJiYKIAlnaXQgbHMtZmlsZXMgLS1zdGFnZSA+bHMtZmlsZXMuYWN0dWFsICYmCiAJY2F0ID5scy1maWxlcy5leHBlY3QgPDxFT0YgJiYKLTEwMDY0NCBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxIDAJb25lCisxMDA2NDQgJEVNUFRZX0JMT0IgMAlvbmUKIEVPRgogCXRlc3RfY21wIGxzLWZpbGVzLmV4cGVjdCBscy1maWxlcy5hY3R1YWwgJiYKIAogCXRlc3QtZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgc2VkICIvXm93bi9kIiA+YWN0dWFsICYmCiAJY2F0ID5leHBlY3QgPDxFT0YgJiYKIGJhc2UgJGJhc2UKLTEwMDY0NCBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxIDAJb25lCisxMDA2NDQgJEVNUFRZX0JMT0IgMAlvbmUKIHJlcGxhY2VtZW50czoKIGRlbGV0aW9uczoKIEVPRgpAQCAtNTEsNyArNTEsNyBAQAogCWdpdCB1cGRhdGUtaW5kZXggLS1uby1zcGxpdC1pbmRleCAmJgogCWdpdCBscy1maWxlcyAtLXN0YWdlID5scy1maWxlcy5hY3R1YWwgJiYKIAljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PEVPRiAmJgotMTAwNjQ0IGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEgMAlvbmUKKzEwMDY0NCAkRU1QVFlfQkxPQiAwCW9uZQogRU9GCiAJdGVzdF9jbXAgbHMtZmlsZXMuZXhwZWN0IGxzLWZpbGVzLmFjdHVhbCAmJgogCkBAIC02Nyw3ICs2Nyw3IEBACiAJZ2l0IHVwZGF0ZS1pbmRleCAtLXNwbGl0LWluZGV4ICYmCiAJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgPmxzLWZpbGVzLmFjdHVhbCAmJgogCWNhdCA+bHMtZmlsZXMuZXhwZWN0IDw8RU9GICYmCi0xMDA2NDQgZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSAwCW9uZQorMTAwNjQ0ICRFTVBUWV9CTE9CIDAJb25lCiBFT0YKIAl0ZXN0X2NtcCBscy1maWxlcy5leHBlY3QgbHMtZmlsZXMuYWN0dWFsICYmCiAKQEAgLTEwNSw3ICsxMDUsNyBAQAogCWdpdCBscy1maWxlcyAtLXN0YWdlID5scy1maWxlcy5hY3R1YWwgJiYKIAljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PEVPRiAmJgogMTAwNjQ0IDJlMDk5NjAwMGI3ZTkwMTllYWJjYWQyOTM5MWJmMGY1Yzc3MDJmMGIgMAlvbmUKLTEwMDY0NCBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxIDAJdHdvCisxMDA2NDQgJEVNUFRZX0JMT0IgMAl0d28KIEVPRgogCXRlc3RfY21wIGxzLWZpbGVzLmV4cGVjdCBscy1maWxlcy5hY3R1YWwgJiYKIApAQCAtMTEzLDcgKzExMyw3IEBACiAJcV90b190YWIgPmV4cGVjdCA8PEVPRiAmJgogJEJBU0UKIDEwMDY0NCAyZTA5OTYwMDBiN2U5MDE5ZWFiY2FkMjkzOTFiZjBmNWM3NzAyZjBiIDBRCi0xMDA2NDQgZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSAwCXR3bworMTAwNjQ0ICRFTVBUWV9CTE9CIDAJdHdvCiByZXBsYWNlbWVudHM6IDAKIGRlbGV0aW9uczoKIEVPRgpAQCAtMTU5LDE0ICsxNTksMTQgQEAKIAlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIG9uZSAmJgogCWdpdCBscy1maWxlcyAtLXN0YWdlID5scy1maWxlcy5hY3R1YWwgJiYKIAljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PEVPRiAmJgotMTAwNjQ0IGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEgMAlvbmUKKzEwMDY0NCAkRU1QVFlfQkxPQiAwCW9uZQogRU9GCiAJdGVzdF9jbXAgbHMtZmlsZXMuZXhwZWN0IGxzLWZpbGVzLmFjdHVhbCAmJgogCiAJdGVzdC1kdW1wLXNwbGl0LWluZGV4IC5naXQvaW5kZXggfCBzZWQgIi9eb3duL2QiID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdCA8PEVPRiAmJgogJEJBU0UKLTEwMDY0NCBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxIDAJb25lCisxMDA2NDQgJEVNUFRZX0JMT0IgMAlvbmUKIHJlcGxhY2VtZW50czoKIGRlbGV0aW9uczogMAogRU9GCkBAIC0xNzgsOCArMTc4LDggQEAKIAlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIHR3byAmJgogCWdpdCBscy1maWxlcyAtLXN0YWdlID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdCA8PEVPRiAmJgotMTAwNjQ0IGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEgMAlvbmUKLTEwMDY0NCBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxIDAJdHdvCisxMDA2NDQgJEVNUFRZX0JMT0IgMAlvbmUKKzEwMDY0NCAkRU1QVFlfQkxPQiAwCXR3bwogRU9GCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwpAQCAtMTg4LDggKzE4OCw4IEBACiAJZ2l0IHVwZGF0ZS1pbmRleCAtLW5vLXNwbGl0LWluZGV4ICYmCiAJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgPmxzLWZpbGVzLmFjdHVhbCAmJgogCWNhdCA+bHMtZmlsZXMuZXhwZWN0IDw8RU9GICYmCi0xMDA2NDQgZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSAwCW9uZQotMTAwNjQ0IGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEgMAl0d28KKzEwMDY0NCAkRU1QVFlfQkxPQiAwCW9uZQorMTAwNjQ0ICRFTVBUWV9CTE9CIDAJdHdvCiBFT0YKIAl0ZXN0X2NtcCBscy1maWxlcy5leHBlY3QgbHMtZmlsZXMuYWN0dWFsICYmCiAKZGlmZiAtLWdpdCBhL3QvdDIwMTAtY2hlY2tvdXQtYW1iaWd1b3VzLnNoIGIvdC90MjAxMC1jaGVja291dC1hbWJpZ3VvdXMuc2gKaW5kZXggODdiZGY5Yy4uMmU0N2ZlMCAxMDA3NTUKLS0tIGEvdC90MjAxMC1jaGVja291dC1hbWJpZ3VvdXMuc2gKKysrIGIvdC90MjAxMC1jaGVja291dC1hbWJpZ3VvdXMuc2gKQEAgLTQxLDYgKzQxLDE1IEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZWNrb3V0IHdvcmxkIGFsbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayBhbWJpZ3VpdHkgaW4gc3ViZGlyJyAnCisJbWtkaXIgc3ViICYmCisJIyBub3QgYW1iaWd1b3VzIGJlY2F1c2Ugc3ViL3dvcmxkIGRvZXMgbm90IGV4aXN0CisJZ2l0IC1DIHN1YiBjaGVja291dCB3b3JsZCAuLi9hbGwgJiYKKwllY2hvIGhlbGxvID5zdWIvd29ybGQgJiYKKwkjIGFtYmlndW91cyBiZWNhdXNlIHN1Yi93b3JsZCBkb2VzIGV4aXN0CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHN1YiBjaGVja291dCB3b3JsZCAuLi9hbGwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlzYW1iaWd1YXRlIGNoZWNraW5nIG91dCBmcm9tIGEgdHJlZS1pc2gnICcKIAllY2hvIGJ5ZSA+IHdvcmxkICYmCiAJZ2l0IGNoZWNrb3V0IHdvcmxkIC0tIHdvcmxkICYmCkBAIC00OSw3ICs1OCw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FjY3VyYXRlIGVycm9yIG1lc3NhZ2Ugd2l0aCBtb3JlIHRoYW4gb25lIHJlZicgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVja291dCBIRUFEIG1hc3RlciAtLSAyPmFjdHVhbCAmJgotCWdyZXAgMiBhY3R1YWwgJiYKKwl0ZXN0X2kxOG5ncmVwIDIgYWN0dWFsICYmCiAJdGVzdF9pMThuZ3JlcCAib25lIHJlZmVyZW5jZSBleHBlY3RlZCwgMiBnaXZlbiIgYWN0dWFsCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDIwMTgtY2hlY2tvdXQtYnJhbmNoLnNoIGIvdC90MjAxOC1jaGVja291dC1icmFuY2guc2gKaW5kZXggMjc0MTI2Mi4uMjEzMWZiMiAxMDA3NTUKLS0tIGEvdC90MjAxOC1jaGVja291dC1icmFuY2guc2gKKysrIGIvdC90MjAxOC1jaGVja291dC1icmFuY2guc2gKQEAgLTEyNCw3ICsxMjQsNyBAQAogCWdpdCBjaGVja291dCBicmFuY2gyICYmCiAJZWNobyAgPmV4cGVjdCAiZmF0YWw6IEEgYnJhbmNoIG5hbWVkICdcJydicmFuY2gxJ1wnJyBhbHJlYWR5IGV4aXN0cy4iICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZWNrb3V0IC1iIEB7LTF9IDI+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IC1CIHRvIGFuIGV4aXN0aW5nIGJyYW5jaCByZXNldHMgYnJhbmNoIHRvIEhFQUQnICcKZGlmZiAtLWdpdCBhL3QvdDIwMjAtY2hlY2tvdXQtZGV0YWNoLnNoIGIvdC90MjAyMC1jaGVja291dC1kZXRhY2guc2gKaW5kZXggNWQ2ODcyOS4uZmJiNGVlOSAxMDA3NTUKLS0tIGEvdC90MjAyMC1jaGVja291dC1kZXRhY2guc2gKKysrIGIvdC90MjAyMC1jaGVja291dC1kZXRhY2guc2gKQEAgLTE2Myw0ICsxNjMsMjcgQEAKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IHN0ZG91dAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdubyBhZHZpY2UgZ2l2ZW4gZm9yIGV4cGxpY2l0IGRldGFjaGVkIGhlYWQgc3RhdGUnICcKKwkjIGJhc2VsaW5lCisJdGVzdF9jb25maWcgYWR2aWNlLmRldGFjaGVkSGVhZCB0cnVlICYmCisJZ2l0IGNoZWNrb3V0IGNoaWxkICYmIGdpdCBjaGVja291dCBIRUFEXjAgPmV4cGVjdC5hZHZpY2UgMj4mMSAmJgorCXRlc3RfY29uZmlnIGFkdmljZS5kZXRhY2hlZEhlYWQgZmFsc2UgJiYKKwlnaXQgY2hlY2tvdXQgY2hpbGQgJiYgZ2l0IGNoZWNrb3V0IEhFQUReMCA+ZXhwZWN0Lm5vLWFkdmljZSAyPiYxICYmCisJdGVzdF91bmNvbmZpZyBhZHZpY2UuZGV0YWNoZWRIZWFkICYmCisJIyB3aXRob3V0IGNvbmZpZ3VyYXRpb24sIHRoZSBhZHZpY2UuKiB2YXJpYWJsZXMgZGVmYXVsdCB0byB0cnVlCisJZ2l0IGNoZWNrb3V0IGNoaWxkICYmIGdpdCBjaGVja291dCBIRUFEXjAgPmFjdHVhbCAyPiYxICYmCisJdGVzdF9jbXAgZXhwZWN0LmFkdmljZSBhY3R1YWwgJiYKKworCSMgd2l0aCBleHBsaWNpdCAtLWRldGFjaAorCSMgbm8gY29uZmlndXJhdGlvbgorCXRlc3RfdW5jb25maWcgYWR2aWNlLmRldGFjaGVkSGVhZCAmJgorCWdpdCBjaGVja291dCBjaGlsZCAmJiBnaXQgY2hlY2tvdXQgLS1kZXRhY2ggSEVBRF4wID5hY3R1YWwgMj4mMSAmJgorCXRlc3RfY21wIGV4cGVjdC5uby1hZHZpY2UgYWN0dWFsICYmCisKKwkjIGV4cGxpY2l0bHkgZGVjbGluZSBhZHZpY2UKKwl0ZXN0X2NvbmZpZyBhZHZpY2UuZGV0YWNoZWRIZWFkIGZhbHNlICYmCisJZ2l0IGNoZWNrb3V0IGNoaWxkICYmIGdpdCBjaGVja291dCAtLWRldGFjaCBIRUFEXjAgPmFjdHVhbCAyPiYxICYmCisJdGVzdF9jbXAgZXhwZWN0Lm5vLWFkdmljZSBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QyMDI0LWNoZWNrb3V0LWR3aW0uc2ggYi90L3QyMDI0LWNoZWNrb3V0LWR3aW0uc2gKaW5kZXggNDY4YTAwMC4uM2U1YWM4MSAxMDA3NTUKLS0tIGEvdC90MjAyNC1jaGVja291dC1kd2ltLnNoCisrKyBiL3QvdDIwMjQtY2hlY2tvdXQtZHdpbS5zaApAQCAtMTc0LDYgKzE3NCwxOCBAQAogCXRlc3RfYnJhbmNoIG1hc3RlcgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCBvZiBicmFuY2ggd2l0aCBhIGZpbGUgaW4gc3ViZGlyIGhhdmluZyB0aGUgc2FtZSBuYW1lIGZhaWxzJyAnCisJZ2l0IGNoZWNrb3V0IC1CIG1hc3RlciAmJgorCXRlc3RfbWlnaHRfZmFpbCBnaXQgYnJhbmNoIC1EIHNwYW0gJiYKKworCT5zcGFtICYmCisJbWtkaXIgc3ViICYmCisJbXYgc3BhbSBzdWIvc3BhbSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBzdWIgY2hlY2tvdXQgc3BhbSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgcmVmcy9oZWFkcy9zcGFtICYmCisJdGVzdF9icmFuY2ggbWFzdGVyCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IDxicmFuY2g+IC0tIHN1Y2NlZWRzLCBldmVuIGlmIGEgZmlsZSB3aXRoIHRoZSBzYW1lIG5hbWUgZXhpc3RzJyAnCiAJZ2l0IGNoZWNrb3V0IC1CIG1hc3RlciAmJgogCXRlc3RfbWlnaHRfZmFpbCBnaXQgYnJhbmNoIC1EIHNwYW0gJiYKZGlmZiAtLWdpdCBhL3QvdDIwMjUtd29ya3RyZWUtYWRkLnNoIGIvdC90MjAyNS13b3JrdHJlZS1hZGQuc2gKaW5kZXggM2EyMmZjNS4uYjYxOGQ2YiAxMDA3NTUKLS0tIGEvdC90MjAyNS13b3JrdHJlZS1hZGQuc2gKKysrIGIvdC90MjAyNS13b3JrdHJlZS1hZGQuc2gKQEAgLTIwLDYgKzIwLDIyIEBACiAJZ2l0IHdvcmt0cmVlIGFkZCAtLWRldGFjaCBleGlzdGluZ19lbXB0eSBtYXN0ZXIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnImFkZCIgdXNpbmcgc2hvcnRoYW5kIC0gZmFpbHMgd2hlbiBubyBwcmV2aW91cyBicmFuY2gnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgd29ya3RyZWUgYWRkIGV4aXN0aW5nX3Nob3J0IC0KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnImFkZCIgdXNpbmcgLSBzaG9ydGhhbmQnICcKKwlnaXQgY2hlY2tvdXQgLWIgbmV3YnJhbmNoICYmCisJZWNobyBoZWxsbyA+bXl3b3JsZCAmJgorCWdpdCBhZGQgbXl3b3JsZCAmJgorCWdpdCBjb21taXQgLW0gbXl3b3JsZCAmJgorCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwlnaXQgd29ya3RyZWUgYWRkIHNob3J0LWhhbmQgLSAmJgorCWVjaG8gcmVmcy9oZWFkcy9uZXdicmFuY2ggPmV4cGVjdCAmJgorCWdpdCAtQyBzaG9ydC1oYW5kIHJldi1wYXJzZSAtLXN5bWJvbGljLWZ1bGwtbmFtZSBIRUFEID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJhZGQiIHJlZnVzZXMgdG8gY2hlY2tvdXQgbG9ja2VkIGJyYW5jaCcgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCB3b3JrdHJlZSBhZGQgemVyZSBtYXN0ZXIgJiYKIAkhIHRlc3QgLWQgemVyZSAmJgpAQCAtMTIyLDYgKzEzOCwxNCBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnImFkZCIgZGVmYXVsdCBicmFuY2ggb2YgYSBiYXJlIHJlcG8nICcKKwkoCisJCWdpdCBjbG9uZSAtLWJhcmUgLiBiYXJlMiAmJgorCQljZCBiYXJlMiAmJgorCQlnaXQgd29ya3RyZWUgYWRkIC4uL3RoZXJlMyBtYXN0ZXIKKwkpCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IHdpdGggZ3JhZnRzJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkIHJtIC5naXQvaW5mby9ncmFmdHMgJiYKIAl0ZXN0X2NvbW1pdCBhYmMgJiYKZGlmZiAtLWdpdCBhL3QvdDIwMjgtd29ya3RyZWUtbW92ZS5zaCBiL3QvdDIwMjgtd29ya3RyZWUtbW92ZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44Mjk4YWFmCi0tLSAvZGV2L251bGwKKysrIGIvdC90MjAyOC13b3JrdHJlZS1tb3ZlLnNoCkBAIC0wLDAgKzEsNjIgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSd0ZXN0IGdpdCB3b3JrdHJlZSBtb3ZlLCByZW1vdmUsIGxvY2sgYW5kIHVubG9jaycKKworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJdGVzdF9jb21taXQgaW5pdCAmJgorCWdpdCB3b3JrdHJlZSBhZGQgc291cmNlICYmCisJZ2l0IHdvcmt0cmVlIGxpc3QgLS1wb3JjZWxhaW4gfCBncmVwICJed29ya3RyZWUiID5hY3R1YWwgJiYKKwljYXQgPDwtRU9GID5leHBlY3RlZCAmJgorCXdvcmt0cmVlICQocHdkKQorCXdvcmt0cmVlICQocHdkKS9zb3VyY2UKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9jayBtYWluIHdvcmt0cmVlJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHdvcmt0cmVlIGxvY2sgLgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2NrIGxpbmtlZCB3b3JrdHJlZScgJworCWdpdCB3b3JrdHJlZSBsb2NrIC0tcmVhc29uIGhhaGFoYSBzb3VyY2UgJiYKKwllY2hvIGhhaGFoYSA+ZXhwZWN0ZWQgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAuZ2l0L3dvcmt0cmVlcy9zb3VyY2UvbG9ja2VkCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvY2sgbGlua2VkIHdvcmt0cmVlIGZyb20gYW5vdGhlciB3b3JrdHJlZScgJworCXJtIC5naXQvd29ya3RyZWVzL3NvdXJjZS9sb2NrZWQgJiYKKwlnaXQgd29ya3RyZWUgYWRkIGVsc2V3aGVyZSAmJgorCWdpdCAtQyBlbHNld2hlcmUgd29ya3RyZWUgbG9jayAtLXJlYXNvbiBoYWhhaGEgLi4vc291cmNlICYmCisJZWNobyBoYWhhaGEgPmV4cGVjdGVkICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgLmdpdC93b3JrdHJlZXMvc291cmNlL2xvY2tlZAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2NrIHdvcmt0cmVlIHR3aWNlJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHdvcmt0cmVlIGxvY2sgc291cmNlICYmCisJZWNobyBoYWhhaGEgPmV4cGVjdGVkICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgLmdpdC93b3JrdHJlZXMvc291cmNlL2xvY2tlZAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2NrIHdvcmt0cmVlIHR3aWNlIChmcm9tIHRoZSBsb2NrZWQgd29ya3RyZWUpJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHNvdXJjZSB3b3JrdHJlZSBsb2NrIC4gJiYKKwllY2hvIGhhaGFoYSA+ZXhwZWN0ZWQgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAuZ2l0L3dvcmt0cmVlcy9zb3VyY2UvbG9ja2VkCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VubG9jayBtYWluIHdvcmt0cmVlJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHdvcmt0cmVlIHVubG9jayAuCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VubG9jayBsaW5rZWQgd29ya3RyZWUnICcKKwlnaXQgd29ya3RyZWUgdW5sb2NrIHNvdXJjZSAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvd29ya3RyZWVzL3NvdXJjZS9sb2NrZWQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndW5sb2NrIHdvcmt0cmVlIHR3aWNlJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHdvcmt0cmVlIHVubG9jayBzb3VyY2UgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0L3dvcmt0cmVlcy9zb3VyY2UvbG9ja2VkCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MjEwNy11cGRhdGUtaW5kZXgtYmFzaWMuc2ggYi90L3QyMTA3LXVwZGF0ZS1pbmRleC1iYXNpYy5zaAppbmRleCBkZmUwMmY0Li4zMmFjNmUwIDEwMDc1NQotLS0gYS90L3QyMTA3LXVwZGF0ZS1pbmRleC1iYXNpYy5zaAorKysgYi90L3QyMTA3LXVwZGF0ZS1pbmRleC1iYXNpYy5zaApAQCAtODAsNCArODAsMTcgQEAKIAkpCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tY2htb2Q9K3ggYW5kIGNobW9kPS14IGluIHRoZSBzYW1lIGFyZ3VtZW50IGxpc3QnICcKKwk+QSAmJgorCT5CICYmCisJZ2l0IGFkZCBBIEIgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tY2htb2Q9K3ggQSAtLWNobW9kPS14IEIgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJMTAwNzU1IGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEgMAlBCisJMTAwNjQ0IGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEgMAlCCisJRU9GCisJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgQSBCID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MjIwMy1hZGQtaW50ZW50LnNoIGIvdC90MjIwMy1hZGQtaW50ZW50LnNoCmluZGV4IDJhNGE3NDkuLjg0YTkwMjggMTAwNzU1Ci0tLSBhL3QvdDIyMDMtYWRkLWludGVudC5zaAorKysgYi90L3QyMjAzLWFkZC1pbnRlbnQuc2gKQEAgLTUsMTAgKzUsMjQgQEAKIC4gLi90ZXN0LWxpYi5zaAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbnRlbnQgdG8gYWRkJyAnCisJdGVzdF9jb21taXQgMSAmJgorCWdpdCBybSAxLnQgJiYKKwllY2hvIGhlbGxvID4xLnQgJiYKIAllY2hvIGhlbGxvID5maWxlICYmCiAJZWNobyBoZWxsbyA+ZWxpZiAmJgogCWdpdCBhZGQgLU4gZmlsZSAmJgotCWdpdCBhZGQgZWxpZgorCWdpdCBhZGQgZWxpZiAmJgorCWdpdCBhZGQgLU4gMS50CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBzdGF0dXMnICcKKwlnaXQgc3RhdHVzIC0tcG9yY2VsYWluIHwgZ3JlcCAtdiBhY3R1YWwgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlEQSAxLnQKKwlBICBlbGlmCisJIEEgZmlsZQorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgcmVzdWx0IG9mICJhZGQgLU4iJyAnCkBAIC00Myw3ICs1Nyw5IEBACiAJZ2l0IGFkZCAtTiBuaXRmb2wgJiYKIAlnaXQgY29tbWl0IC1tIHNlY29uZCAmJgogCXRlc3QgJChnaXQgbHMtdHJlZSBIRUFEIC0tIG5pdGZvbCB8IHdjIC1sKSA9IDAgJiYKLQl0ZXN0ICQoZ2l0IGRpZmYgLS1uYW1lLW9ubHkgSEVBRCAtLSBuaXRmb2wgfCB3YyAtbCkgPSAxCisJdGVzdCAkKGdpdCBkaWZmIC0tbmFtZS1vbmx5IEhFQUQgLS0gbml0Zm9sIHwgd2MgLWwpID0gMSAmJgorCXRlc3QgJChnaXQgZGlmZiAtLW5hbWUtb25seSAtLWl0YS1pbnZpc2libGUtaW4taW5kZXggSEVBRCAtLSBuaXRmb2wgfCB3YyAtbCkgPSAwICYmCisJdGVzdCAkKGdpdCBkaWZmIC0tbmFtZS1vbmx5IC0taXRhLWludmlzaWJsZS1pbi1pbmRleCAtLSBuaXRmb2wgfCB3YyAtbCkgPSAxCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NhbiBjb21taXQgd2l0aCBhbiB1bnJlbGF0ZWQgaS10LWEgZW50cnkgaW4gaW5kZXgnICcKQEAgLTgyLDUgKzk4LDU3IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjYWNoZS10cmVlIGRvZXMgbm90IGlnbm9yZSBkaXIgdGhhdCBoYXMgaS10LWEgZW50cmllcycgJworCWdpdCBpbml0IGl0YS1pbi1kaXIgJiYKKwkoCisJCWNkIGl0YS1pbi1kaXIgJiYKKwkJbWtkaXIgMiAmJgorCQlmb3IgZiBpbiAxIDIvMSAyLzIgMworCQlkbworCQkJZWNobyAiJGYiID4iJGYiCisJCWRvbmUgJiYKKwkJZ2l0IGFkZCAxIDIvMiAzICYmCisJCWdpdCBhZGQgLU4gMi8xICYmCisJCWdpdCBjb21taXQgLW0gY29tbWl0dGVkICYmCisJCWdpdCBscy10cmVlIC1yIEhFQUQgPmFjdHVhbCAmJgorCQlncmVwIDIvMiBhY3R1YWwKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NhY2hlLXRyZWUgZG9lcyBza2lwIGRpciB0aGF0IGJlY29tZXMgZW1wdHknICcKKwlybSAtZnIgaXRhLWluLWRpciAmJgorCWdpdCBpbml0IGl0YS1pbi1kaXIgJiYKKwkoCisJCWNkIGl0YS1pbi1kaXIgJiYKKwkJbWtkaXIgLXAgMS8yLzMgJiYKKwkJZWNobyA0ID4xLzIvMy80ICYmCisJCWdpdCBhZGQgLU4gMS8yLzMvNCAmJgorCQlnaXQgd3JpdGUtdHJlZSA+YWN0dWFsICYmCisJCWVjaG8gJEVNUFRZX1RSRUUgPmV4cGVjdGVkICYmCisJCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tbWl0OiBpdGEgZW50cmllcyBpZ25vcmVkIGluIGVtcHR5IGludGlhbCBjb21taXQgY2hlY2snICcKKwlnaXQgaW5pdCBlbXB0eS1pbnRpYWwtY29tbWl0ICYmCisJKAorCQljZCBlbXB0eS1pbnRpYWwtY29tbWl0ICYmCisJCTogPm9uZSAmJgorCQlnaXQgYWRkIC1OIG9uZSAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0IC1tIG5vdGhpbmctbmV3LWhlcmUKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbW1pdDogaXRhIGVudHJpZXMgaWdub3JlZCBpbiBlbXB0eSBjb21taXQgY2hlY2snICcKKwlnaXQgaW5pdCBlbXB0eS1zdWJzZXF1ZW50LWNvbW1pdCAmJgorCSgKKwkJY2QgZW1wdHktc3Vic2VxdWVudC1jb21taXQgJiYKKwkJdGVzdF9jb21taXQgb25lICYmCisJCTogPnR3byAmJgorCQlnaXQgYWRkIC1OIHR3byAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0IC1tIG5vdGhpbmctbmV3LWhlcmUKKwkpCisnCisKIHRlc3RfZG9uZQogCmRpZmYgLS1naXQgYS90L3QyMzAwLWNkLXRvLXRvcGxldmVsLnNoIGIvdC90MjMwMC1jZC10by10b3BsZXZlbC5zaAppbmRleCBjY2NkN2Q5Li5jOGRlNmQ4IDEwMDc1NQotLS0gYS90L3QyMzAwLWNkLXRvLXRvcGxldmVsLnNoCisrKyBiL3QvdDIzMDAtY2QtdG8tdG9wbGV2ZWwuc2gKQEAgLTQsMTEgKzQsMTkgQEAKIAogLiAuL3Rlc3QtbGliLnNoCiAKK0VYRUNfUEFUSD0iJChnaXQgLS1leGVjLXBhdGgpIgordGVzdF9oYXZlX3ByZXJlcSAhTUlOR1cgfHwKK2Nhc2UgIiRFWEVDX1BBVEgiIGluCitbQS1aYS16XTovKikKKwlFWEVDX1BBVEg9Ii8ke0VYRUNfUEFUSCUlOip9JHtFWEVDX1BBVEgjPzp9IgorCTs7Citlc2FjCisKIHRlc3RfY2RfdG9fdG9wbGV2ZWwgKCkgewogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJDMgIiQyIiAnCiAJCSgKIAkJCWNkICciJyQxJyInICYmCi0JCQlQQVRIPSIkKGdpdCAtLWV4ZWMtcGF0aCk6JFBBVEgiICYmCisJCQlQQVRIPSIkRVhFQ19QQVRIOiRQQVRIIiAmJgogCQkJLiBnaXQtc2gtc2V0dXAgJiYKIAkJCWNkX3RvX3RvcGxldmVsICYmCiAJCQlbICIkKHB3ZCAtUCkiID0gIiRUT1BMRVZFTCIgXQpkaWZmIC0tZ2l0IGEvdC90MzAwNy1scy1maWxlcy1yZWN1cnNlLXN1Ym1vZHVsZXMuc2ggYi90L3QzMDA3LWxzLWZpbGVzLXJlY3Vyc2Utc3VibW9kdWxlcy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNTQyNjE3Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MzAwNy1scy1maWxlcy1yZWN1cnNlLXN1Ym1vZHVsZXMuc2gKQEAgLTAsMCArMSwyMTAgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdUZXN0IGxzLWZpbGVzIHJlY3Vyc2Utc3VibW9kdWxlcyBmZWF0dXJlCisKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGUgcmVjdXJzZS1zdWJtb2R1bGVzIGZlYXR1cmUgY29ycmVjdGx5IGxpc3RzIGZpbGVzIGZyb20KK3N1Ym1vZHVsZXMuCisnCisKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBkaXJlY3Rvcnkgc3RydWN0dXJlIGFuZCBzdWJtb2R1bGVzJyAnCisJZWNobyBhID5hICYmCisJbWtkaXIgYiAmJgorCWVjaG8gYiA+Yi9iICYmCisJZ2l0IGFkZCBhIGIgJiYKKwlnaXQgY29tbWl0IC1tICJhZGQgYSBhbmQgYiIgJiYKKwlnaXQgaW5pdCBzdWJtb2R1bGUgJiYKKwllY2hvIGMgPnN1Ym1vZHVsZS9jICYmCisJZ2l0IC1DIHN1Ym1vZHVsZSBhZGQgYyAmJgorCWdpdCAtQyBzdWJtb2R1bGUgY29tbWl0IC1tICJhZGQgYyIgJiYKKwlnaXQgc3VibW9kdWxlIGFkZCAuL3N1Ym1vZHVsZSAmJgorCWdpdCBjb21taXQgLW0gImFkZGVkIHN1Ym1vZHVsZSIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbHMtZmlsZXMgY29ycmVjdGx5IG91dHB1dHMgZmlsZXMgaW4gc3VibW9kdWxlJyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS5naXRtb2R1bGVzCisJYQorCWIvYgorCXN1Ym1vZHVsZS9jCisJRU9GCisKKwlnaXQgbHMtZmlsZXMgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbHMtZmlsZXMgY29ycmVjdGx5IG91dHB1dHMgZmlsZXMgaW4gc3VibW9kdWxlIHdpdGggLXonICcKKwlsZl90b19udWwgPmV4cGVjdCA8PC1cRU9GICYmCisJLmdpdG1vZHVsZXMKKwlhCisJYi9iCisJc3VibW9kdWxlL2MKKwlFT0YKKworCWdpdCBscy1maWxlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcyAteiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdscy1maWxlcyBkb2VzIG5vdCBvdXRwdXQgZmlsZXMgbm90IGFkZGVkIHRvIGEgcmVwbycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkuZ2l0bW9kdWxlcworCWEKKwliL2IKKwlzdWJtb2R1bGUvYworCUVPRgorCisJZWNobyBhID5ub3RfYWRkZWQgJiYKKwllY2hvIGIgPmIvbm90X2FkZGVkICYmCisJZWNobyBjID5zdWJtb2R1bGUvbm90X2FkZGVkICYmCisJZ2l0IGxzLWZpbGVzIC0tcmVjdXJzZS1zdWJtb2R1bGVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xzLWZpbGVzIHJlY3Vyc2VzIG1vcmUgdGhhbiAxIGxldmVsJyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS5naXRtb2R1bGVzCisJYQorCWIvYgorCXN1Ym1vZHVsZS8uZ2l0bW9kdWxlcworCXN1Ym1vZHVsZS9jCisJc3VibW9kdWxlL3N1YnN1Yi9kCisJRU9GCisKKwlnaXQgaW5pdCBzdWJtb2R1bGUvc3Vic3ViICYmCisJZWNobyBkID5zdWJtb2R1bGUvc3Vic3ViL2QgJiYKKwlnaXQgLUMgc3VibW9kdWxlL3N1YnN1YiBhZGQgZCAmJgorCWdpdCAtQyBzdWJtb2R1bGUvc3Vic3ViIGNvbW1pdCAtbSAiYWRkIGQiICYmCisJZ2l0IC1DIHN1Ym1vZHVsZSBzdWJtb2R1bGUgYWRkIC4vc3Vic3ViICYmCisJZ2l0IC1DIHN1Ym1vZHVsZSBjb21taXQgLW0gImFkZGVkIHN1YnN1YiIgJiYKKwlnaXQgbHMtZmlsZXMgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWN1cnNlLXN1Ym1vZHVsZXMgYW5kIHBhdGhzcGVjcyBzZXR1cCcgJworCWVjaG8gZSA+c3VibW9kdWxlL3N1YnN1Yi9lLnR4dCAmJgorCWdpdCAtQyBzdWJtb2R1bGUvc3Vic3ViIGFkZCBlLnR4dCAmJgorCWdpdCAtQyBzdWJtb2R1bGUvc3Vic3ViIGNvbW1pdCAtbSAiYWRkaW5nIGUudHh0IiAmJgorCWVjaG8gZiA+c3VibW9kdWxlL2YuVFhUICYmCisJZWNobyBnID5zdWJtb2R1bGUvZy50eHQgJiYKKwlnaXQgLUMgc3VibW9kdWxlIGFkZCBmLlRYVCBnLnR4dCAmJgorCWdpdCAtQyBzdWJtb2R1bGUgY29tbWl0IC1tICJhZGQgZiBhbmQgZyIgJiYKKwllY2hvIGggPmgudHh0ICYmCisJbWtkaXIgc2liICYmCisJZWNobyBzaWIgPnNpYi9maWxlICYmCisJZ2l0IGFkZCBoLnR4dCBzaWIvZmlsZSAmJgorCWdpdCBjb21taXQgLW0gImFkZCBoIGFuZCBzaWIvZmlsZSIgJiYKKwlnaXQgaW5pdCBzdWIgJiYKKwllY2hvIHN1YiA+c3ViL2ZpbGUgJiYKKwlnaXQgLUMgc3ViIGFkZCBmaWxlICYmCisJZ2l0IC1DIHN1YiBjb21taXQgLW0gImFkZCBmaWxlIiAmJgorCWdpdCBzdWJtb2R1bGUgYWRkIC4vc3ViICYmCisJZ2l0IGNvbW1pdCAtbSAiYWRkZWQgc3ViIiAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS5naXRtb2R1bGVzCisJYQorCWIvYgorCWgudHh0CisJc2liL2ZpbGUKKwlzdWIvZmlsZQorCXN1Ym1vZHVsZS8uZ2l0bW9kdWxlcworCXN1Ym1vZHVsZS9jCisJc3VibW9kdWxlL2YuVFhUCisJc3VibW9kdWxlL2cudHh0CisJc3VibW9kdWxlL3N1YnN1Yi9kCisJc3VibW9kdWxlL3N1YnN1Yi9lLnR4dAorCUVPRgorCisJZ2l0IGxzLWZpbGVzIC0tcmVjdXJzZS1zdWJtb2R1bGVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJY2F0IGFjdHVhbCAmJgorCWdpdCBscy1maWxlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcyAiKiIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWN1cnNlLXN1Ym1vZHVsZXMgYW5kIHBhdGhzcGVjcycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwloLnR4dAorCXN1Ym1vZHVsZS9nLnR4dAorCXN1Ym1vZHVsZS9zdWJzdWIvZS50eHQKKwlFT0YKKworCWdpdCBscy1maWxlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcyAiKi50eHQiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmVjdXJzZS1zdWJtb2R1bGVzIGFuZCBwYXRoc3BlY3MnICcKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJaC50eHQKKwlzdWJtb2R1bGUvZi5UWFQKKwlzdWJtb2R1bGUvZy50eHQKKwlzdWJtb2R1bGUvc3Vic3ViL2UudHh0CisJRU9GCisKKwlnaXQgbHMtZmlsZXMgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgIjooaWNhc2UpKi50eHQiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmVjdXJzZS1zdWJtb2R1bGVzIGFuZCBwYXRoc3BlY3MnICcKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJaC50eHQKKwlzdWJtb2R1bGUvZi5UWFQKKwlzdWJtb2R1bGUvZy50eHQKKwlFT0YKKworCWdpdCBscy1maWxlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcyAiOihpY2FzZSkqLnR4dCIgIjooZXhjbHVkZSlzdWJtb2R1bGUvc3Vic3ViLyoiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmVjdXJzZS1zdWJtb2R1bGVzIGFuZCBwYXRoc3BlY3MnICcKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJc3ViL2ZpbGUKKwlFT0YKKworCWdpdCBscy1maWxlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcyAic3ViIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCBscy1maWxlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcyAic3ViLyIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgbHMtZmlsZXMgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgInN1Yi9maWxlIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCBscy1maWxlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcyAic3UqL2ZpbGUiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IGxzLWZpbGVzIC0tcmVjdXJzZS1zdWJtb2R1bGVzICJzdT8vZmlsZSIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWN1cnNlLXN1Ym1vZHVsZXMgYW5kIHBhdGhzcGVjcycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlzaWIvZmlsZQorCXN1Yi9maWxlCisJRU9GCisKKwlnaXQgbHMtZmlsZXMgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgInM/Py9maWxlIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCBscy1maWxlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcyAicz8/P2ZpbGUiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IGxzLWZpbGVzIC0tcmVjdXJzZS1zdWJtb2R1bGVzICJzKmZpbGUiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmVjdXJzZS1zdWJtb2R1bGVzIGRvZXMgbm90IHN1cHBvcnQgLS1lcnJvci11bm1hdGNoJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGxzLWZpbGVzIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC0tZXJyb3ItdW5tYXRjaCAyPmFjdHVhbCAmJgorCXRlc3RfaTE4bmdyZXAgImRvZXMgbm90IHN1cHBvcnQgLS1lcnJvci11bm1hdGNoIiBhY3R1YWwKKycKKwordGVzdF9pbmNvbXBhdGlibGVfd2l0aF9yZWN1cnNlX3N1Ym1vZHVsZXMgKCkgeworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIi0tcmVjdXJzZS1zdWJtb2R1bGVzIGFuZCAkMSBhcmUgaW5jb21wYXRpYmxlIiAiCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBscy1maWxlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcyAkMSAyPmFjdHVhbCAmJgorCQl0ZXN0X2kxOG5ncmVwICd1bnN1cHBvcnRlZCBtb2RlJyBhY3R1YWwKKwkiCit9CisKK3Rlc3RfaW5jb21wYXRpYmxlX3dpdGhfcmVjdXJzZV9zdWJtb2R1bGVzIC0tZGVsZXRlZAordGVzdF9pbmNvbXBhdGlibGVfd2l0aF9yZWN1cnNlX3N1Ym1vZHVsZXMgLS1tb2RpZmllZAordGVzdF9pbmNvbXBhdGlibGVfd2l0aF9yZWN1cnNlX3N1Ym1vZHVsZXMgLS1vdGhlcnMKK3Rlc3RfaW5jb21wYXRpYmxlX3dpdGhfcmVjdXJzZV9zdWJtb2R1bGVzIC0tc3RhZ2UKK3Rlc3RfaW5jb21wYXRpYmxlX3dpdGhfcmVjdXJzZV9zdWJtb2R1bGVzIC0ta2lsbGVkCit0ZXN0X2luY29tcGF0aWJsZV93aXRoX3JlY3Vyc2Vfc3VibW9kdWxlcyAtLXVubWVyZ2VkCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzAzMC1tZXJnZS1yZWN1cnNpdmUuc2ggYi90L3QzMDMwLW1lcmdlLXJlY3Vyc2l2ZS5zaAppbmRleCBmN2IwZTU5Li40NzBmMzM0IDEwMDc1NQotLS0gYS90L3QzMDMwLW1lcmdlLXJlY3Vyc2l2ZS5zaAorKysgYi90L3QzMDMwLW1lcmdlLXJlY3Vyc2l2ZS5zaApAQCAtNjYwLDQgKzY2MCwyMiBAQAogCWdpdCBtZXJnZSBvdGhlcgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtZXJnZS1yZWN1cnNpdmUgcmVtZW1iZXJzIHRoZSBuYW1lcyBvZiBhbGwgYmFzZSB0cmVlcycgJworCWdpdCByZXNldCAtLWhhcmQgSEVBRCAmJgorCisJIyBtb3JlIHRyZWVzIHRoYW4gc3RhdGljIHNsb3RzIHVzZWQgYnkgb2lkX3RvX2hleCgpCisJZm9yIGNvbW1pdCBpbiAkYzAgJGMyICRjNCAkYzUgJGM2ICRjNworCWRvCisJCWdpdCByZXYtcGFyc2UgIiRjb21taXRee3RyZWV9IgorCWRvbmUgPnRyZWVzICYmCisKKwkjIGlnbm9yZSB0aGUgcmV0dXJuIGNvZGUgLS0gaXQgb25seSBmYWlscyBiZWNhdXNlIHRoZSBpbnB1dCBpcyB3ZWlyZAorCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS52ZXJib3NpdHk9NSBtZXJnZS1yZWN1cnNpdmUgJChjYXQgdHJlZXMpIC0tICRjMSAkYzMgPm91dCAmJgorCisJIyBtZXJnZS1yZWN1cnNpdmUgcHJpbnRzIGluIHJldmVyc2Ugb3JkZXIsIGJ1dCB3ZSBkbyBub3QgY2FyZQorCXNvcnQgPHRyZWVzID5leHBlY3QgJiYKKwlzZWQgLW4gInMvXnZpcnR1YWwgLy9wIiBvdXQgfCBzb3J0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzEwMS1scy10cmVlLWRpcm5hbWUuc2ggYi90L3QzMTAxLWxzLXRyZWUtZGlybmFtZS5zaAppbmRleCA0MjVkODU4Li4zMjdkZWQ0IDEwMDc1NQotLS0gYS90L3QzMTAxLWxzLXRyZWUtZGlybmFtZS5zaAorKysgYi90L3QzMTAxLWxzLXRyZWUtZGlybmFtZS5zaApAQCAtMTYsNyArMTYsNyBAQAogICAgIHBhdGgzLzEudHh0ICAgICAgICAtIGEgZmlsZSBpbiBhIGRpcmVjdG9yeQogICAgIHBhdGgzLzIudHh0ICAgICAgICAtIGEgZmlsZSBpbiBhIGRpcmVjdG9yeQogCi1UZXN0IHRoZSBoYW5kbGluZyBvZiBtdWxpdHBsZSBkaXJlY3RvcmllcyB3aGljaCBoYXZlIG1hdGNoaW5nIGZpbGUKK1Rlc3QgdGhlIGhhbmRsaW5nIG9mIG11bHRpcGxlIGRpcmVjdG9yaWVzIHdoaWNoIGhhdmUgbWF0Y2hpbmcgZmlsZQogZW50cmllcy4gIEFsc28gdGVzdCBvZGQgZmlsZW5hbWUgYW5kIG1pc3NpbmcgZW50cmllcyBoYW5kbGluZy4KICcKIC4gLi90ZXN0LWxpYi5zaApkaWZmIC0tZ2l0IGEvdC90MzEwMi1scy10cmVlLXdpbGRjYXJkcy5zaCBiL3QvdDMxMDItbHMtdHJlZS13aWxkY2FyZHMuc2gKaW5kZXggNGQ0YjAyZS4uZTgwNDM3NyAxMDA3NTUKLS0tIGEvdC90MzEwMi1scy10cmVlLXdpbGRjYXJkcy5zaAorKysgYi90L3QzMTAyLWxzLXRyZWUtd2lsZGNhcmRzLnNoCkBAIC0xMiwxNiArMTIsMTYgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbHMtdHJlZSBhW2FdIG1hdGNoZXMgbGl0ZXJhbGx5JyAnCi0JY2F0ID5leHBlY3QgPDwtXEVPRiAmJgotCTEwMDY0NCBibG9iIGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEJYVthXS90aHJlZQorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCTEwMDY0NCBibG9iICRFTVBUWV9CTE9CCWFbYV0vdGhyZWUKIAlFT0YKIAlnaXQgbHMtdHJlZSAtciBIRUFEICJhW2FdIiA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdscy10cmVlIG91dHNpZGUgcHJlZml4JyAnCi0JY2F0ID5leHBlY3QgPDwtXEVPRiAmJgotCTEwMDY0NCBibG9iIGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEJLi4vYVthXS90aHJlZQorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCTEwMDY0NCBibG9iICRFTVBUWV9CTE9CCS4uL2FbYV0vdGhyZWUKIAlFT0YKIAkoIGNkIGFhICYmIGdpdCBscy10cmVlIC1yIEhFQUQgIi4uL2FbYV0iOyApID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCmRpZmYgLS1naXQgYS90L3QzMjAwLWJyYW5jaC5zaCBiL3QvdDMyMDAtYnJhbmNoLnNoCmluZGV4IGYzZTNiNmMuLjhhODMzZjMgMTAwNzU1Ci0tLSBhL3QvdDMyMDAtYnJhbmNoLnNoCisrKyBiL3QvdDMyMDAtYnJhbmNoLnNoCkBAIC03OSw2ICs3OSwxNSBAQAogCXRlc3RfaTE4bmdyZXAgImJyYW5jaCBuYW1lIHJlcXVpcmVkIiBlcnIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtbSBtIGJyb2tlbl9zeW1yZWYgc2hvdWxkIHdvcmsnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBicmFuY2ggLUQgYnJva2VuX3N5bXJlZiIgJiYKKwlnaXQgYnJhbmNoIC1sIG0gJiYKKwlnaXQgc3ltYm9saWMtcmVmIHJlZnMvaGVhZHMvYnJva2VuX3N5bXJlZiByZWZzL2hlYWRzL2lfYW1fYnJva2VuICYmCisJZ2l0IGJyYW5jaCAtbSBtIGJyb2tlbl9zeW1yZWYgJiYKKwlnaXQgcmVmbG9nIGV4aXN0cyByZWZzL2hlYWRzL2Jyb2tlbl9zeW1yZWYgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVmbG9nIGV4aXN0cyByZWZzL2hlYWRzL2lfYW1fYnJva2VuCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBicmFuY2ggLW0gbSBtL20gc2hvdWxkIHdvcmsnICcKIAlnaXQgYnJhbmNoIC1sIG0gJiYKIAlnaXQgYnJhbmNoIC1tIG0gbS9tICYmCkBAIC01NTAsNyArNTU5LDcgQEAKICAgICBnaXQgYnJhbmNoIC1kIG9yaWdpbi9tYXN0ZXIKICAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIG9yaWdpbi9tYXN0ZXIKIEVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1zZXQtdXBzdHJlYW0gd2l0aCB0d28gYXJncyBvbmx5IHNob3dzIHRoZSBkZXByZWNhdGlvbiBtZXNzYWdlJyAnCkBAIC01NTksNyArNTY4LDcgQEAKIAljYXQgPmV4cGVjdGVkIDw8RU9GICYmCiBUaGUgLS1zZXQtdXBzdHJlYW0gZmxhZyBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIENvbnNpZGVyIHVzaW5nIC0tdHJhY2sgb3IgLS1zZXQtdXBzdHJlYW0tdG8KIEVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1zZXQtdXBzdHJlYW0gd2l0aCBvbmUgYXJnIG9ubHkgc2hvd3MgdGhlIGRlcHJlY2F0aW9uIG1lc3NhZ2UgaWYgdGhlIGJyYW5jaCBleGlzdGVkJyAnCkBAIC01NjgsNyArNTc3LDcgQEAKIAljYXQgPmV4cGVjdGVkIDw8RU9GICYmCiBUaGUgLS1zZXQtdXBzdHJlYW0gZmxhZyBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIENvbnNpZGVyIHVzaW5nIC0tdHJhY2sgb3IgLS1zZXQtdXBzdHJlYW0tdG8KIEVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1zZXQtdXBzdHJlYW0tdG8gbm90aWNlcyBhbiBlcnJvciB0byBzZXQgYnJhbmNoIGFzIG93biB1cHN0cmVhbScgJwpkaWZmIC0tZ2l0IGEvdC90MzIwMS1icmFuY2gtY29udGFpbnMuc2ggYi90L3QzMjAxLWJyYW5jaC1jb250YWlucy5zaAppbmRleCA5MTJhNjYzLi43ZjNlYzQ3IDEwMDc1NQotLS0gYS90L3QzMjAxLWJyYW5jaC1jb250YWlucy5zaAorKysgYi90L3QzMjAxLWJyYW5jaC1jb250YWlucy5zaApAQCAtMTU2LDcgKzE1Niw3IEBACiAJKiB0b3BpYyAgMmM5MzlmNCBbYWhlYWQgMV0gZm9vCiAJICB6enogICAgYzc3YTBhOSBzZWNvbmQgb24gbWFzdGVyCiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzMxMC1ub3Rlcy1tZXJnZS1tYW51YWwtcmVzb2x2ZS5zaCBiL3QvdDMzMTAtbm90ZXMtbWVyZ2UtbWFudWFsLXJlc29sdmUuc2gKaW5kZXggZDU1NzIxMi4uYmFlZjJkNiAxMDA3NTUKLS0tIGEvdC90MzMxMC1ub3Rlcy1tZXJnZS1tYW51YWwtcmVzb2x2ZS5zaAorKysgYi90L3QzMzEwLW5vdGVzLW1lcmdlLW1hbnVhbC1yZXNvbHZlLnNoCkBAIC0xNzgsNyArMTc4LDcgQEAKIAlnaXQgY29uZmlnIGNvcmUubm90ZXNSZWYgcmVmcy9ub3Rlcy9tICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG5vdGVzIG1lcmdlIHogPm91dHB1dCAmJgogCSMgT3V0cHV0IHNob3VsZCBwb2ludCB0byB3aGVyZSB0byByZXNvbHZlIGNvbmZsaWN0cwotCWdyZXAgLXEgIlxcLmdpdC9OT1RFU19NRVJHRV9XT1JLVFJFRSIgb3V0cHV0ICYmCisJdGVzdF9pMThuZ3JlcCAiXFwuZ2l0L05PVEVTX01FUkdFX1dPUktUUkVFIiBvdXRwdXQgJiYKIAkjIEluc3BlY3QgbWVyZ2UgY29uZmxpY3RzCiAJbHMgLmdpdC9OT1RFU19NRVJHRV9XT1JLVFJFRSA+b3V0cHV0X2NvbmZsaWN0cyAmJgogCXRlc3RfY21wIGV4cGVjdF9jb25mbGljdHMgb3V0cHV0X2NvbmZsaWN0cyAmJgpAQCAtMjI1LDcgKzIyNSw3IEBACiAJdGVzdCAtZCAuZ2l0L05PVEVTX01FUkdFX1dPUktUUkVFICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG5vdGVzIG1lcmdlIHogPm91dHB1dCAyPiYxICYmCiAJIyBPdXRwdXQgc2hvdWxkIGluZGljYXRlIHdoYXQgaXMgd3JvbmcKLQlncmVwIC1xICJcXC5naXQvTk9URVNfTUVSR0VfXFwqIGV4aXN0cyIgb3V0cHV0CisJdGVzdF9pMThuZ3JlcCAtcSAiXFwuZ2l0L05PVEVTX01FUkdFX1xcKiBleGlzdHMiIG91dHB1dAogJwogCiAjIFNldHVwIG5vbi1jb25mbGljdGluZyBtZXJnZSBiZXR3ZWVuIHggYW5kIG5ldyBub3RlcyByZWYgdwpAQCAtMzgxLDcgKzM4MSw3IEBACiAJZ2l0IGNvbmZpZyBjb3JlLm5vdGVzUmVmIHJlZnMvbm90ZXMvbSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBub3RlcyBtZXJnZSB6ID5vdXRwdXQgJiYKIAkjIE91dHB1dCBzaG91bGQgcG9pbnQgdG8gd2hlcmUgdG8gcmVzb2x2ZSBjb25mbGljdHMKLQlncmVwIC1xICJcXC5naXQvTk9URVNfTUVSR0VfV09SS1RSRUUiIG91dHB1dCAmJgorCXRlc3RfaTE4bmdyZXAgIlxcLmdpdC9OT1RFU19NRVJHRV9XT1JLVFJFRSIgb3V0cHV0ICYmCiAJIyBJbnNwZWN0IG1lcmdlIGNvbmZsaWN0cwogCWxzIC5naXQvTk9URVNfTUVSR0VfV09SS1RSRUUgPm91dHB1dF9jb25mbGljdHMgJiYKIAl0ZXN0X2NtcCBleHBlY3RfY29uZmxpY3RzIG91dHB1dF9jb25mbGljdHMgJiYKQEAgLTQxNSw3ICs0MTUsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVkbyBtZXJnZSBvZiB6IGludG8gbSAoPT0geSkgd2l0aCBkZWZhdWx0ICgibWFudWFsIikgcmVzb2x2ZXIgPT4gQ29uZmxpY3RpbmcgMy13YXkgbWVyZ2UnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgbm90ZXMgbWVyZ2UgeiA+b3V0cHV0ICYmCiAJIyBPdXRwdXQgc2hvdWxkIHBvaW50IHRvIHdoZXJlIHRvIHJlc29sdmUgY29uZmxpY3RzCi0JZ3JlcCAtcSAiXFwuZ2l0L05PVEVTX01FUkdFX1dPUktUUkVFIiBvdXRwdXQgJiYKKwl0ZXN0X2kxOG5ncmVwICJcXC5naXQvTk9URVNfTUVSR0VfV09SS1RSRUUiIG91dHB1dCAmJgogCSMgSW5zcGVjdCBtZXJnZSBjb25mbGljdHMKIAlscyAuZ2l0L05PVEVTX01FUkdFX1dPUktUUkVFID5vdXRwdXRfY29uZmxpY3RzICYmCiAJdGVzdF9jbXAgZXhwZWN0X2NvbmZsaWN0cyBvdXRwdXRfY29uZmxpY3RzICYmCkBAIC00OTYsNyArNDk2LDcgQEAKIAlnaXQgdXBkYXRlLXJlZiByZWZzL25vdGVzL20gcmVmcy9ub3Rlcy95ICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG5vdGVzIG1lcmdlIHogPm91dHB1dCAmJgogCSMgT3V0cHV0IHNob3VsZCBwb2ludCB0byB3aGVyZSB0byByZXNvbHZlIGNvbmZsaWN0cwotCWdyZXAgLXEgIlxcLmdpdC9OT1RFU19NRVJHRV9XT1JLVFJFRSIgb3V0cHV0ICYmCisJdGVzdF9pMThuZ3JlcCAiXFwuZ2l0L05PVEVTX01FUkdFX1dPUktUUkVFIiBvdXRwdXQgJiYKIAkjIEluc3BlY3QgbWVyZ2UgY29uZmxpY3RzCiAJbHMgLmdpdC9OT1RFU19NRVJHRV9XT1JLVFJFRSA+b3V0cHV0X2NvbmZsaWN0cyAmJgogCXRlc3RfY21wIGV4cGVjdF9jb25mbGljdHMgb3V0cHV0X2NvbmZsaWN0cyAmJgpkaWZmIC0tZ2l0IGEvdC90MzMyMC1ub3Rlcy1tZXJnZS13b3JrdHJlZXMuc2ggYi90L3QzMzIwLW5vdGVzLW1lcmdlLXdvcmt0cmVlcy5zaAppbmRleCAxZjcxZDU4Li5iOWMzYmMyIDEwMDc1NQotLS0gYS90L3QzMzIwLW5vdGVzLW1lcmdlLXdvcmt0cmVlcy5zaAorKysgYi90L3QzMzIwLW5vdGVzLW1lcmdlLXdvcmt0cmVlcy5zaApAQCAtNTIsNyArNTIsNyBAQAogCQljZCB3b3JrdHJlZSAmJgogCQlnaXQgY29uZmlnIGNvcmUubm90ZXNSZWYgcmVmcy9ub3Rlcy95ICYmCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCBub3RlcyBtZXJnZSB6IDI+ZXJyICYmCi0JCWdyZXAgIkEgbm90ZXMgbWVyZ2UgaW50byByZWZzL25vdGVzL3kgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCIgZXJyCisJCXRlc3RfaTE4bmdyZXAgImEgbm90ZXMgbWVyZ2UgaW50byByZWZzL25vdGVzL3kgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCIgZXJyCiAJKSAmJgogCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvd29ya3RyZWVzL3dvcmt0cmVlL05PVEVTX01FUkdFX1JFRgogJwpAQCAtNjIsNyArNjIsNyBAQAogCQljZCB3b3JrdHJlZTIgJiYKIAkJZ2l0IGNvbmZpZyBjb3JlLm5vdGVzUmVmIHJlZnMvbm90ZXMveCAmJgogCQl0ZXN0X211c3RfZmFpbCBnaXQgbm90ZXMgbWVyZ2UgeiAyPiYxID5vdXQgJiYKLQkJZ3JlcCAiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZCIgb3V0ICYmCisJCXRlc3RfaTE4bmdyZXAgIkF1dG9tYXRpYyBub3RlcyBtZXJnZSBmYWlsZWQiIG91dCAmJgogCQlncmVwIC12ICJBIG5vdGVzIG1lcmdlIGludG8gcmVmcy9ub3Rlcy94IGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgaW4iIG91dAogCSkgJiYKIAllY2hvICJyZWY6IHJlZnMvbm90ZXMveCIgPmV4cGVjdCAmJgpkaWZmIC0tZ2l0IGEvdC90MzQwMC1yZWJhc2Uuc2ggYi90L3QzNDAwLXJlYmFzZS5zaAppbmRleCA0N2I1NjgyLi5mNWZkMTVlIDEwMDc1NQotLS0gYS90L3QzNDAwLXJlYmFzZS5zaAorKysgYi90L3QzNDAwLXJlYmFzZS5zaApAQCAtMTM2LDggKzEzNiw4IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdTaG93IHZlcmJvc2UgZXJyb3Igd2hlbiBIRUFEIGNvdWxkIG5vdCBiZSBkZXRhY2hlZCcgJwogCT5CICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSB0b3BpYyAyPm91dHB1dC5lcnIgPm91dHB1dC5vdXQgJiYKLQlncmVwICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6IiBvdXRwdXQuZXJyICYmCi0JZ3JlcCBCIG91dHB1dC5lcnIKKwl0ZXN0X2kxOG5ncmVwICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6IiBvdXRwdXQuZXJyICYmCisJdGVzdF9pMThuZ3JlcCBCIG91dHB1dC5lcnIKICcKIHJtIC1mIEIKIApkaWZmIC0tZ2l0IGEvdC90MzQwNC1yZWJhc2UtaW50ZXJhY3RpdmUuc2ggYi90L3QzNDA0LXJlYmFzZS1pbnRlcmFjdGl2ZS5zaAppbmRleCA2NjM0OGYxLi5jODk2YTRjIDEwMDc1NQotLS0gYS90L3QzNDA0LXJlYmFzZS1pbnRlcmFjdGl2ZS5zaAorKysgYi90L3QzNDA0LXJlYmFzZS1pbnRlcmFjdGl2ZS5zaApAQCAtNjAsNyArNjAsNyBAQAogCXRlc3RfY29tbWl0IFAgZmlsZVAKICcKIAotIyAiZXhlYyIgY29tbWFuZHMgYXJlIHJhbiB3aXRoIHRoZSB1c2VyIHNoZWxsIGJ5IGRlZmF1bHQsIGJ1dCB0aGlzIG1heQorIyAiZXhlYyIgY29tbWFuZHMgYXJlIHJ1biB3aXRoIHRoZSB1c2VyIHNoZWxsIGJ5IGRlZmF1bHQsIGJ1dCB0aGlzIG1heQogIyBiZSBub24tUE9TSVguIEZvciBleGFtcGxlLCBpZiBTSEVMTD16c2ggdGhlbiAiPmZpbGUiIGRvZXNuJ3Qgd29yawogIyB0byBjcmVhdGUgYSBmaWxlLiBVbnNldHRpbmcgU0hFTEwgYXZvaWRzIHN1Y2ggbm9uLXBvcnRhYmxlIGJlaGF2aW9yCiAjIGluIHRlc3RzLiBJdCBtdXN0IGJlIGV4cG9ydGVkIGZvciBpdCB0byB0YWtlIGVmZmVjdCB3aGVyZSBuZWVkZWQuCkBAIC0yMTksOSArMjE5LDkgQEAKIAlnaXQgY29tbWl0IC1tICJyZW1vdmUgZmlsZSBpbiBiYXNlIiAmJgogCXNldF9mYWtlX2VkaXRvciAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLWkgbWFzdGVyID4gb3V0cHV0IDI+JjEgJiYKLQlncmVwICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6IiBcCisJdGVzdF9pMThuZ3JlcCAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OiIgXAogCQlvdXRwdXQgJiYKLQlncmVwICJmaWxlMSIgb3V0cHV0ICYmCisJdGVzdF9pMThuZ3JlcCAiZmlsZTEiIG91dHB1dCAmJgogCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvcmViYXNlLW1lcmdlICYmCiAJZ2l0IHJlc2V0IC0taGFyZCBIRUFEXgogJwpAQCAtNTQwLDcgKzU0MCw3IEBACiAJZWNobyAiZWRpdGVkIGFnYWluIiA+IGZpbGU3ICYmCiAJZ2l0IGFkZCBmaWxlNyAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1jb250aW51ZSAyPmVycm9yICYmCi0JZ3JlcCAiWW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIiBlcnJvcgorCXRlc3RfaTE4bmdyZXAgIllvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiIgZXJyb3IKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIGEgZGV0YWNoZWQgSEVBRCcgJwpAQCAtOTc2LDYgKzk3NiwxNyBAQAogCXRlc3QgQiA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXiB8IHNlZCAtbmUgXCRwKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLWkgcmVzcGVjdHMgY29yZS5jb21tZW50Y2hhcj1hdXRvJyAnCisJdGVzdF9jb25maWcgY29yZS5jb21tZW50Y2hhciBhdXRvICYmCisJd3JpdGVfc2NyaXB0IGNvcHktZWRpdC1zY3JpcHQuc2ggPDwtXEVPRiAmJgorCWNwICIkMSIgZWRpdC1zY3JpcHQKKwlFT0YKKwl0ZXN0X3NldF9lZGl0b3IgIiQocHdkKS9jb3B5LWVkaXQtc2NyaXB0LnNoIiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlYmFzZSAtLWFib3J0IHx8IDoiICYmCisJZ2l0IHJlYmFzZSAtaSBIRUFEXiAmJgorCXRlc3QgLXogIiQoZ3JlcCAtdmUgIl4jIiAtZSAiXlwkIiAtZSAiXnBpY2siIGVkaXQtc2NyaXB0KSIKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1pLCB3aXRoIDxvbnRvPiBhbmQgPHVwc3RyZWFtPiBzcGVjaWZpZWQgYXMgOi9xdXV4ZXJ5JyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgYnJhbmNoIC1EIHRvcmViYXNlIiAmJgogCWdpdCBjaGVja291dCAtYiB0b3JlYmFzZSBicmFuY2gxICYmCkBAIC0xMDYwLDcgKzEwNzEsNyBAQAogCUVPRgogCXRlc3Rfc2V0X2VkaXRvciAiJChwd2QpL2R1bXAtcmF3LnNoIiAmJgogCWdpdCByZWJhc2UgLWkgSEVBRH40ID5hY3R1YWwgJiYKLQlncmVwICJeIyBSZWJhc2UgLi4qIG9udG8gLi4qIChbMC05XSIgYWN0dWFsCisJdGVzdF9pMThuZ3JlcCAiXiMgUmViYXNlIC4uKiBvbnRvIC4uKiAoWzAtOV0iIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLWkgY29tbWl0cyB0aGF0IG92ZXJ3cml0ZSB1bnRyYWNrZWQgZmlsZXMgKHBpY2spJyAnCkBAIC0xMTYwLDcgKzExNzEsNyBAQAogCUZBS0VfTElORVM9IjEgMiAzIDQiIFwKIAkJZ2l0IHJlYmFzZSAtaSAtLXJvb3QgMj5hY3R1YWwgJiYKIAl0ZXN0IEQgPSAkKGdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IHNlZCAtbmUgXCRwKSAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogJwogCiBjYXQgPmV4cGVjdCA8PEVPRgpAQCAtMTE4MSw3ICsxMTkyLDcgQEAKIAlzZXRfZmFrZV9lZGl0b3IgJiYKIAlGQUtFX0xJTkVTPSIxIDIgMyA0IiBcCiAJCWdpdCByZWJhc2UgLWkgLS1yb290IDI+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsICYmCiAJdGVzdCBEID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLW5lIFwkcCkKICcKIApAQCAtMTE5NSw3ICsxMjA2LDcgQEAKIFVzZSAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycgdG8gY2hhbmdlIHRoZSBsZXZlbCBvZiB3YXJuaW5ncy4KIFRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci4KIAotWW91IGNhbiBmaXggdGhpcyB3aXRoICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4KK1lvdSBjYW4gZml4IHRoaXMgd2l0aCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnLgogT3IgeW91IGNhbiBhYm9ydCB0aGUgcmViYXNlIHdpdGggJ2dpdCByZWJhc2UgLS1hYm9ydCcuCiBFT0YKIApAQCAtMTIwNSw3ICsxMjE2LDcgQEAKIAlzZXRfZmFrZV9lZGl0b3IgJiYKIAl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0iMSAyIDQiIFwKIAkJZ2l0IHJlYmFzZSAtaSAtLXJvb3QgMj5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwgJiYKIAljcCAuZ2l0L3JlYmFzZS1tZXJnZS9naXQtcmViYXNlLXRvZG8uYmFja3VwIFwKIAkJLmdpdC9yZWJhc2UtbWVyZ2UvZ2l0LXJlYmFzZS10b2RvICYmCiAJRkFLRV9MSU5FUz0iMSAyIGRyb3AgMyA0IGRyb3AgNSIgXApAQCAtMTIxOSw3ICsxMjMwLDcgQEAKIFdhcm5pbmc6IHRoZSBjb21tYW5kIGlzbid0IHJlY29nbml6ZWQgaW4gdGhlIGZvbGxvd2luZyBsaW5lOgogIC0gYmFkY21kICQoZ2l0IHJldi1saXN0IC0tb25lbGluZSAtMSBtYXN0ZXJ+MSkKIAotWW91IGNhbiBmaXggdGhpcyB3aXRoICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4KK1lvdSBjYW4gZml4IHRoaXMgd2l0aCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnLgogT3IgeW91IGNhbiBhYm9ydCB0aGUgcmViYXNlIHdpdGggJ2dpdCByZWJhc2UgLS1hYm9ydCcuCiBFT0YKIApAQCAtMTIyOCw3ICsxMjM5LDcgQEAKIAlzZXRfZmFrZV9lZGl0b3IgJiYKIAl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0iMSAyIDMgYmFkIDQgNSIgXAogCQlnaXQgcmViYXNlIC1pIC0tcm9vdCAyPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbCAmJgogCUZBS0VfTElORVM9IjEgMiAzIGRyb3AgNCA1IiBnaXQgcmViYXNlIC0tZWRpdC10b2RvICYmCiAJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlICYmCiAJdGVzdCBFID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLW5lIFwkcCkgJiYKQEAgLTEyNTQsNyArMTI2NSw3IEBACiBXYXJuaW5nOiB0aGUgU0hBLTEgaXMgbWlzc2luZyBvciBpc24ndCBhIGNvbW1pdCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6CiAgLSBlZGl0IFhYWFhYWFggRmFsc2UgY29tbWl0CiAKLVlvdSBjYW4gZml4IHRoaXMgd2l0aCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuCitZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJy4KIE9yIHlvdSBjYW4gYWJvcnQgdGhlIHJlYmFzZSB3aXRoICdnaXQgcmViYXNlIC0tYWJvcnQnLgogRU9GCiAKQEAgLTEyNjMsNyArMTI3NCw3IEBACiAJc2V0X2Zha2VfZWRpdG9yICYmCiAJdGVzdF9tdXN0X2ZhaWwgZW52IEZBS0VfTElORVM9IjEgMiBlZGl0IGZha2VzaGEgMyA0IDUgIyIgXAogCQlnaXQgcmViYXNlIC1pIC0tcm9vdCAyPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbCAmJgogCUZBS0VfTElORVM9IjEgMiA0IDUgNiIgZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbyAmJgogCWdpdCByZWJhc2UgLS1jb250aW51ZSAmJgogCXRlc3QgRSA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1uZSBcJHApCkBAIC0xMjgxLDQgKzEyOTIsMTIgQEAKIAkpCiAnCiAKK1NRPSInIgordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1pIC0tZ3BnLXNpZ249PGtleS1pZD4nICcKKwlzZXRfZmFrZV9lZGl0b3IgJiYKKwlGQUtFX0xJTkVTPSJlZGl0IDEiIGdpdCByZWJhc2UgLWkgLS1ncGctc2lnbj0iXCJTIEkgR25lclwiIiBIRUFEXiBcCisJCT5vdXQgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICIkU1EtU1wiUyBJIEduZXJcIiRTUSIgZXJyCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzQxNS1yZWJhc2UtYXV0b3NxdWFzaC5zaCBiL3QvdDM0MTUtcmViYXNlLWF1dG9zcXVhc2guc2gKaW5kZXggOGY1M2U1NC4uNDgzNDZmMSAxMDA3NTUKLS0tIGEvdC90MzQxNS1yZWJhc2UtYXV0b3NxdWFzaC5zaAorKysgYi90L3QzNDE1LXJlYmFzZS1hdXRvc3F1YXNoLnNoCkBAIC0yNzEsNCArMjcxLDM3IEBACiAJdGVzdCAyID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUReIHwgZ3JlcCBzcXVhc2ggfCB3YyAtbCkKICcKIAorc2V0X2JhY2t1cF9lZGl0b3IgKCkgeworCXdyaXRlX3NjcmlwdCBiYWNrdXAtZWRpdG9yLnNoIDw8LVxFT0YKKwljcCAiJDEiIC5naXQvYmFja3VwLSIkKGJhc2VuYW1lICIkMSIpIgorCUVPRgorCXRlc3Rfc2V0X2VkaXRvciAiJFBXRC9iYWNrdXAtZWRpdG9yLnNoIgorfQorCit0ZXN0X2V4cGVjdF9mYWlsdXJlICdhdXRvc3F1YXNoIHdpdGggbXVsdGlwbGUgZW1wdHkgcGF0Y2hlcycgJworCXRlc3RfdGljayAmJgorCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSAiZW1wdHkiICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tICJlbXB0eTIiICYmCisJdGVzdF90aWNrICYmCisJPmZpeHVwICYmCisJZ2l0IGFkZCBmaXh1cCAmJgorCWdpdCBjb21taXQgLS1maXh1cCBIRUFEXl4gJiYKKwkoCisJCXNldF9iYWNrdXBfZWRpdG9yICYmCisJCUdJVF9VU0VfUkVCQVNFX0hFTFBFUj1mYWxzZSBcCisJCWdpdCByZWJhc2UgLWkgLS1mb3JjZS1yZWJhc2UgLS1hdXRvc3F1YXNoIEhFQUR+NCAmJgorCQlncmVwIGVtcHR5MiAuZ2l0L2JhY2t1cC1naXQtcmViYXNlLXRvZG8KKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2V4dHJhIHNwYWNlcyBhZnRlciBmaXh1cCEnICcKKwliYXNlPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCXRlc3RfY29tbWl0IHRvLWZpeHVwICYmCisJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tICJmaXh1cCEgIHRvLWZpeHVwIiAmJgorCWdpdCByZWJhc2UgLWkgLS1hdXRvc3F1YXNoIC0ta2VlcC1lbXB0eSBIRUFEfjIgJiYKKwlwYXJlbnQ9JChnaXQgcmV2LXBhcnNlIEhFQUReKSAmJgorCXRlc3QgJGJhc2UgPSAkcGFyZW50CisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzQyMC1yZWJhc2UtYXV0b3N0YXNoLnNoIGIvdC90MzQyMC1yZWJhc2UtYXV0b3N0YXNoLnNoCmluZGV4IDk0NDE1NGIuLmFiOGE2M2UgMTAwNzU1Ci0tLSBhL3QvdDM0MjAtcmViYXNlLWF1dG9zdGFzaC5zaAorKysgYi90L3QzNDIwLXJlYmFzZS1hdXRvc3Rhc2guc2gKQEAgLTE3OSw3ICsxNzksNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhYm9ydCByZWJhc2UgLWkgd2l0aCAtLWF1dG9zdGFzaCcgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCIgJiYKLQllY2hvIHVuY29tbWl0ZWQtY29udGVudCA+ZmlsZTAgJiYKKwllY2hvIHVuY29tbWl0dGVkLWNvbnRlbnQgPmZpbGUwICYmCiAJKAogCQl3cml0ZV9zY3JpcHQgYWJvcnQtZWRpdG9yLnNoIDw8LVxFT0YgJiYKIAkJCWVjaG8gPiIkMSIKQEAgLTE4OCw3ICsxODgsMzggQEAKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtaSAtLWF1dG9zdGFzaCBIRUFEXiAmJgogCQlybSAtZiBhYm9ydC1lZGl0b3Iuc2gKIAkpICYmCi0JZWNobyB1bmNvbW1pdGVkLWNvbnRlbnQgPmV4cGVjdGVkICYmCisJZWNobyB1bmNvbW1pdHRlZC1jb250ZW50ID5leHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGZpbGUwCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jlc3RvcmUgYXV0b3N0YXNoIG9uIGVkaXRvciBmYWlsdXJlJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkIiAmJgorCWVjaG8gdW5jb21taXR0ZWQtY29udGVudCA+ZmlsZTAgJiYKKwkoCisJCXRlc3Rfc2V0X2VkaXRvciAiZmFsc2UiICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLWkgLS1hdXRvc3Rhc2ggSEVBRF4KKwkpICYmCisJZWNobyB1bmNvbW1pdHRlZC1jb250ZW50ID5leHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGZpbGUwCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2F1dG9zdGFzaCBpcyBzYXZlZCBvbiBlZGl0b3IgZmFpbHVyZSB3aXRoIGNvbmZsaWN0JyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkIiAmJgorCWVjaG8gdW5jb21taXR0ZWQtY29udGVudCA+ZmlsZTAgJiYKKwkoCisJCXdyaXRlX3NjcmlwdCBhYm9ydC1lZGl0b3Iuc2ggPDwtXEVPRiAmJgorCQkJZWNobyBjb25mbGljdGluZy1jb250ZW50ID5maWxlMAorCQkJZXhpdCAxCisJCUVPRgorCQl0ZXN0X3NldF9lZGl0b3IgIiQocHdkKS9hYm9ydC1lZGl0b3Iuc2giICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLWkgLS1hdXRvc3Rhc2ggSEVBRF4gJiYKKwkJcm0gLWYgYWJvcnQtZWRpdG9yLnNoCisJKSAmJgorCWVjaG8gY29uZmxpY3RpbmctY29udGVudCA+ZXhwZWN0ZWQgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBmaWxlMCAmJgorCWdpdCBjaGVja291dCBmaWxlMCAmJgorCWdpdCBzdGFzaCBwb3AgJiYKKwllY2hvIHVuY29tbWl0dGVkLWNvbnRlbnQgPmV4cGVjdGVkICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgZmlsZTAKICcKIApkaWZmIC0tZ2l0IGEvdC90MzQyNy1yZWJhc2Utc3VidHJlZS5zaCBiL3QvdDM0MjctcmViYXNlLXN1YnRyZWUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzc4MDg3NwotLS0gL2Rldi9udWxsCisrKyBiL3QvdDM0MjctcmViYXNlLXN1YnRyZWUuc2gKQEAgLTAsMCArMSwxMTkgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdnaXQgcmViYXNlIHRlc3RzIGZvciAtWHN1YnRyZWUKKworVGhpcyB0ZXN0IHJ1bnMgZ2l0IHJlYmFzZSBhbmQgdGVzdHMgdGhlIHN1YnRyZWUgc3RyYXRlZ3kuCisnCisuIC4vdGVzdC1saWIuc2gKKy4gIiRURVNUX0RJUkVDVE9SWSIvbGliLXJlYmFzZS5zaAorCitjb21taXRfbWVzc2FnZSgpIHsKKwlnaXQgbG9nIC0tcHJldHR5PWZvcm1hdDolcyAtMSAiJDEiCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJdGVzdF9jb21taXQgUkVBRE1FICYmCisJbWtkaXIgZmlsZXMgJiYKKwkoCisJCWNkIGZpbGVzICYmCisJCWdpdCBpbml0ICYmCisJCXRlc3RfY29tbWl0IG1hc3RlcjEgJiYKKwkJdGVzdF9jb21taXQgbWFzdGVyMiAmJgorCQl0ZXN0X2NvbW1pdCBtYXN0ZXIzCisJKSAmJgorCWdpdCBmZXRjaCBmaWxlcyBtYXN0ZXIgJiYKKwlnaXQgYnJhbmNoIGZpbGVzLW1hc3RlciBGRVRDSF9IRUFEICYmCisJZ2l0IHJlYWQtdHJlZSAtLXByZWZpeD1maWxlc19zdWJ0cmVlIGZpbGVzLW1hc3RlciAmJgorCWdpdCBjaGVja291dCAtLSBmaWxlc19zdWJ0cmVlICYmCisJdHJlZT0kKGdpdCB3cml0ZS10cmVlKSAmJgorCWhlYWQ9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJcmV2PSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBmaWxlcy1tYXN0ZXJeMCkgJiYKKwljb21taXQ9JChnaXQgY29tbWl0LXRyZWUgLXAgJGhlYWQgLXAgJHJldiAtbSAiQWRkIHN1YnByb2plY3QgbWFzdGVyIiAkdHJlZSkgJiYKKwlnaXQgdXBkYXRlLXJlZiBIRUFEICRjb21taXQgJiYKKwkoCisJCWNkIGZpbGVzX3N1YnRyZWUgJiYKKwkJdGVzdF9jb21taXQgbWFzdGVyNAorCSkgJiYKKwl0ZXN0X2NvbW1pdCBmaWxlc19zdWJ0cmVlL21hc3RlcjUKKycKKworIyBGQUlMVVJFOiBEb2VzIG5vdCBwcmVzZXJ2ZSBtYXN0ZXI0LgordGVzdF9leHBlY3RfZmFpbHVyZSAnUmViYXNlIC1Yc3VidHJlZSAtLXByZXNlcnZlLW1lcmdlcyAtLW9udG8gY29tbWl0IDQnICcKKwlyZXNldF9yZWJhc2UgJiYKKwlnaXQgY2hlY2tvdXQgLWIgcmViYXNlLXByZXNlcnZlLW1lcmdlcy00IG1hc3RlciAmJgorCWdpdCBmaWx0ZXItYnJhbmNoIC0tcHJ1bmUtZW1wdHkgLWYgLS1zdWJkaXJlY3RvcnktZmlsdGVyIGZpbGVzX3N1YnRyZWUgJiYKKwlnaXQgY29tbWl0IC1tICJFbXB0eSBjb21taXQiIC0tYWxsb3ctZW1wdHkgJiYKKwlnaXQgcmViYXNlIC1Yc3VidHJlZT1maWxlc19zdWJ0cmVlIC0tcHJlc2VydmUtbWVyZ2VzIC0tb250byBmaWxlcy1tYXN0ZXIgbWFzdGVyICYmCisJdmVyYm9zZSB0ZXN0ICIkKGNvbW1pdF9tZXNzYWdlIEhFQUR+KSIgPSAiZmlsZXNfc3VidHJlZS9tYXN0ZXI0IgorJworCisjIEZBSUxVUkU6IERvZXMgbm90IHByZXNlcnZlIG1hc3RlcjUuCit0ZXN0X2V4cGVjdF9mYWlsdXJlICdSZWJhc2UgLVhzdWJ0cmVlIC0tcHJlc2VydmUtbWVyZ2VzIC0tb250byBjb21taXQgNScgJworCXJlc2V0X3JlYmFzZSAmJgorCWdpdCBjaGVja291dCAtYiByZWJhc2UtcHJlc2VydmUtbWVyZ2VzLTUgbWFzdGVyICYmCisJZ2l0IGZpbHRlci1icmFuY2ggLS1wcnVuZS1lbXB0eSAtZiAtLXN1YmRpcmVjdG9yeS1maWx0ZXIgZmlsZXNfc3VidHJlZSAmJgorCWdpdCBjb21taXQgLW0gIkVtcHR5IGNvbW1pdCIgLS1hbGxvdy1lbXB0eSAmJgorCWdpdCByZWJhc2UgLVhzdWJ0cmVlPWZpbGVzX3N1YnRyZWUgLS1wcmVzZXJ2ZS1tZXJnZXMgLS1vbnRvIGZpbGVzLW1hc3RlciBtYXN0ZXIgJiYKKwl2ZXJib3NlIHRlc3QgIiQoY29tbWl0X21lc3NhZ2UgSEVBRCkiID0gImZpbGVzX3N1YnRyZWUvbWFzdGVyNSIKKycKKworIyBGQUlMVVJFOiBEb2VzIG5vdCBwcmVzZXJ2ZSBtYXN0ZXI0LgordGVzdF9leHBlY3RfZmFpbHVyZSAnUmViYXNlIC1Yc3VidHJlZSAtLWtlZXAtZW1wdHkgLS1wcmVzZXJ2ZS1tZXJnZXMgLS1vbnRvIGNvbW1pdCA0JyAnCisJcmVzZXRfcmViYXNlICYmCisJZ2l0IGNoZWNrb3V0IC1iIHJlYmFzZS1rZWVwLWVtcHR5LTQgbWFzdGVyICYmCisJZ2l0IGZpbHRlci1icmFuY2ggLS1wcnVuZS1lbXB0eSAtZiAtLXN1YmRpcmVjdG9yeS1maWx0ZXIgZmlsZXNfc3VidHJlZSAmJgorCWdpdCBjb21taXQgLW0gIkVtcHR5IGNvbW1pdCIgLS1hbGxvdy1lbXB0eSAmJgorCWdpdCByZWJhc2UgLVhzdWJ0cmVlPWZpbGVzX3N1YnRyZWUgLS1rZWVwLWVtcHR5IC0tcHJlc2VydmUtbWVyZ2VzIC0tb250byBmaWxlcy1tYXN0ZXIgbWFzdGVyICYmCisJdmVyYm9zZSB0ZXN0ICIkKGNvbW1pdF9tZXNzYWdlIEhFQUR+MikiID0gImZpbGVzX3N1YnRyZWUvbWFzdGVyNCIKKycKKworIyBGQUlMVVJFOiBEb2VzIG5vdCBwcmVzZXJ2ZSBtYXN0ZXI1LgordGVzdF9leHBlY3RfZmFpbHVyZSAnUmViYXNlIC1Yc3VidHJlZSAtLWtlZXAtZW1wdHkgLS1wcmVzZXJ2ZS1tZXJnZXMgLS1vbnRvIGNvbW1pdCA1JyAnCisJcmVzZXRfcmViYXNlICYmCisJZ2l0IGNoZWNrb3V0IC1iIHJlYmFzZS1rZWVwLWVtcHR5LTUgbWFzdGVyICYmCisJZ2l0IGZpbHRlci1icmFuY2ggLS1wcnVuZS1lbXB0eSAtZiAtLXN1YmRpcmVjdG9yeS1maWx0ZXIgZmlsZXNfc3VidHJlZSAmJgorCWdpdCBjb21taXQgLW0gIkVtcHR5IGNvbW1pdCIgLS1hbGxvdy1lbXB0eSAmJgorCWdpdCByZWJhc2UgLVhzdWJ0cmVlPWZpbGVzX3N1YnRyZWUgLS1rZWVwLWVtcHR5IC0tcHJlc2VydmUtbWVyZ2VzIC0tb250byBmaWxlcy1tYXN0ZXIgbWFzdGVyICYmCisJdmVyYm9zZSB0ZXN0ICIkKGNvbW1pdF9tZXNzYWdlIEhFQUR+KSIgPSAiZmlsZXNfc3VidHJlZS9tYXN0ZXI1IgorJworCisjIEZBSUxVUkU6IERvZXMgbm90IHByZXNlcnZlIEVtcHR5LgordGVzdF9leHBlY3RfZmFpbHVyZSAnUmViYXNlIC1Yc3VidHJlZSAtLWtlZXAtZW1wdHkgLS1wcmVzZXJ2ZS1tZXJnZXMgLS1vbnRvIGVtcHR5IGNvbW1pdCcgJworCXJlc2V0X3JlYmFzZSAmJgorCWdpdCBjaGVja291dCAtYiByZWJhc2Uta2VlcC1lbXB0eS1lbXB0eSBtYXN0ZXIgJiYKKwlnaXQgZmlsdGVyLWJyYW5jaCAtLXBydW5lLWVtcHR5IC1mIC0tc3ViZGlyZWN0b3J5LWZpbHRlciBmaWxlc19zdWJ0cmVlICYmCisJZ2l0IGNvbW1pdCAtbSAiRW1wdHkgY29tbWl0IiAtLWFsbG93LWVtcHR5ICYmCisJZ2l0IHJlYmFzZSAtWHN1YnRyZWU9ZmlsZXNfc3VidHJlZSAtLWtlZXAtZW1wdHkgLS1wcmVzZXJ2ZS1tZXJnZXMgLS1vbnRvIGZpbGVzLW1hc3RlciBtYXN0ZXIgJiYKKwl2ZXJib3NlIHRlc3QgIiQoY29tbWl0X21lc3NhZ2UgSEVBRCkiID0gIkVtcHR5IGNvbW1pdCIKKycKKworIyBGQUlMVVJFOiBmYXRhbDogQ291bGQgbm90IHBhcnNlIG9iamVjdAordGVzdF9leHBlY3RfZmFpbHVyZSAnUmViYXNlIC1Yc3VidHJlZSAtLW9udG8gY29tbWl0IDQnICcKKwlyZXNldF9yZWJhc2UgJiYKKwlnaXQgY2hlY2tvdXQgLWIgcmViYXNlLW9udG8tNCBtYXN0ZXIgJiYKKwlnaXQgZmlsdGVyLWJyYW5jaCAtLXBydW5lLWVtcHR5IC1mIC0tc3ViZGlyZWN0b3J5LWZpbHRlciBmaWxlc19zdWJ0cmVlICYmCisJZ2l0IGNvbW1pdCAtbSAiRW1wdHkgY29tbWl0IiAtLWFsbG93LWVtcHR5ICYmCisJZ2l0IHJlYmFzZSAtWHN1YnRyZWU9ZmlsZXNfc3VidHJlZSAtLW9udG8gZmlsZXMtbWFzdGVyIG1hc3RlciAmJgorCXZlcmJvc2UgdGVzdCAiJChjb21taXRfbWVzc2FnZSBIRUFEfjIpIiA9ICJmaWxlc19zdWJ0cmVlL21hc3RlcjQiCisnCisKKyMgRkFJTFVSRTogZmF0YWw6IENvdWxkIG5vdCBwYXJzZSBvYmplY3QKK3Rlc3RfZXhwZWN0X2ZhaWx1cmUgJ1JlYmFzZSAtWHN1YnRyZWUgLS1vbnRvIGNvbW1pdCA1JyAnCisJcmVzZXRfcmViYXNlICYmCisJZ2l0IGNoZWNrb3V0IC1iIHJlYmFzZS1vbnRvLTUgbWFzdGVyICYmCisJZ2l0IGZpbHRlci1icmFuY2ggLS1wcnVuZS1lbXB0eSAtZiAtLXN1YmRpcmVjdG9yeS1maWx0ZXIgZmlsZXNfc3VidHJlZSAmJgorCWdpdCBjb21taXQgLW0gIkVtcHR5IGNvbW1pdCIgLS1hbGxvdy1lbXB0eSAmJgorCWdpdCByZWJhc2UgLVhzdWJ0cmVlPWZpbGVzX3N1YnRyZWUgLS1vbnRvIGZpbGVzLW1hc3RlciBtYXN0ZXIgJiYKKwl2ZXJib3NlIHRlc3QgIiQoY29tbWl0X21lc3NhZ2UgSEVBRH4pIiA9ICJmaWxlc19zdWJ0cmVlL21hc3RlcjUiCisnCisjIEZBSUxVUkU6IGZhdGFsOiBDb3VsZCBub3QgcGFyc2Ugb2JqZWN0Cit0ZXN0X2V4cGVjdF9mYWlsdXJlICdSZWJhc2UgLVhzdWJ0cmVlIC0tb250byBlbXB0eSBjb21taXQnICcKKwlyZXNldF9yZWJhc2UgJiYKKwlnaXQgY2hlY2tvdXQgLWIgcmViYXNlLW9udG8tZW1wdHkgbWFzdGVyICYmCisJZ2l0IGZpbHRlci1icmFuY2ggLS1wcnVuZS1lbXB0eSAtZiAtLXN1YmRpcmVjdG9yeS1maWx0ZXIgZmlsZXNfc3VidHJlZSAmJgorCWdpdCBjb21taXQgLW0gIkVtcHR5IGNvbW1pdCIgLS1hbGxvdy1lbXB0eSAmJgorCWdpdCByZWJhc2UgLVhzdWJ0cmVlPWZpbGVzX3N1YnRyZWUgLS1vbnRvIGZpbGVzLW1hc3RlciBtYXN0ZXIgJiYKKwl2ZXJib3NlIHRlc3QgIiQoY29tbWl0X21lc3NhZ2UgSEVBRCkiID0gIkVtcHR5IGNvbW1pdCIKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzNTAxLXJldmVydC1jaGVycnktcGljay5zaCBiL3QvdDM1MDEtcmV2ZXJ0LWNoZXJyeS1waWNrLnNoCmluZGV4IDUxZjNiYmIuLjM5NGYwMDAgMTAwNzU1Ci0tLSBhL3QvdDM1MDEtcmV2ZXJ0LWNoZXJyeS1waWNrLnNoCisrKyBiL3QvdDM1MDEtcmV2ZXJ0LWNoZXJyeS1waWNrLnNoCkBAIC05Niw3ICs5Niw3IEBACiAJZWNobyBjb250ZW50ID5leHRyYV9maWxlICYmCiAJZ2l0IGFkZCBleHRyYV9maWxlICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldmVydCBIRUFEIDI+ZXJyb3JzICYmCi0JdGVzdF9pMThuZ3JlcCAiWW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIgZXJyb3JzCisJdGVzdF9pMThuZ3JlcCAieW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIgZXJyb3JzCiAKICcKIApkaWZmIC0tZ2l0IGEvdC90MzYwMC1ybS5zaCBiL3QvdDM2MDAtcm0uc2gKaW5kZXggZDA0NmQ5OC4uMTRmMGVkYyAxMDA3NTUKLS0tIGEvdC90MzYwMC1ybS5zaAorKysgYi90L3QzNjAwLXJtLnNoCkBAIC04ODEsNCArODgxLDkgQEAKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdybSBlbXB0eSBzdHJpbmcgc2hvdWxkIGludm9rZSB3YXJuaW5nJyAnCisJZ2l0IHJtIC1yZiAiIiAyPm91dHB1dCAmJgorCXRlc3RfaTE4bmdyZXAgIndhcm5pbmc6IGVtcHR5IHN0cmluZ3MiIG91dHB1dAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDM3MDAtYWRkLnNoIGIvdC90MzcwMC1hZGQuc2gKaW5kZXggZjE0YTY2NS4uZjNhNGI0YSAxMDA3NTUKLS0tIGEvdC90MzcwMC1hZGQuc2gKKysrIGIvdC90MzcwMC1hZGQuc2gKQEAgLTcsNiArNywyMCBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAorIyBUZXN0IHRoZSBmaWxlIG1vZGUgIiQxIiBvZiB0aGUgZmlsZSAiJDIiIGluIHRoZSBpbmRleC4KK3Rlc3RfbW9kZV9pbl9pbmRleCAoKSB7CisJY2FzZSAiJChnaXQgbHMtZmlsZXMgLXMgIiQyIikiIGluCisJIiQxICIqIgkkMiIpCisJCWVjaG8gcGFzcworCQk7OworCSopCisJCWVjaG8gZmFpbAorCQlnaXQgbHMtZmlsZXMgLXMgIiQyIgorCQlyZXR1cm4gMQorCQk7OworCWVzYWMKK30KKwogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCiAgICAgJ1Rlc3Qgb2YgZ2l0IGFkZCcgXAogICAgICd0b3VjaCBmb28gJiYgZ2l0IGFkZCBmb28nCkBAIC0yNSwxOCArMzksMTIgQEAKIAkgZWNobyBmb28gPnhmb28xICYmCiAJIGNobW9kIDc1NSB4Zm9vMSAmJgogCSBnaXQgYWRkIHhmb28xICYmCi0JIGNhc2UgIiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgeGZvbzEpIiBpbgotCSAxMDA2NDQiICIqeGZvbzEpIGVjaG8gcGFzczs7Ci0JICopIGVjaG8gZmFpbDsgZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgeGZvbzE7IChleGl0IDEpOzsKLQkgZXNhYycKKwkgdGVzdF9tb2RlX2luX2luZGV4IDEwMDY0NCB4Zm9vMScKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGFkZDogZmlsZW1vZGU9MCBzaG91bGQgbm90IGdldCBjb25mdXNlZCBieSBzeW1saW5rJyAnCiAJcm0gLWYgeGZvbzEgJiYKIAl0ZXN0X2xuX3NfYWRkIGZvbyB4Zm9vMSAmJgotCWNhc2UgIiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgeGZvbzEpIiBpbgotCTEyMDAwMCIgIip4Zm9vMSkgZWNobyBwYXNzOzsKLQkqKSBlY2hvIGZhaWw7IGdpdCBscy1maWxlcyAtLXN0YWdlIHhmb28xOyAoZXhpdCAxKTs7Ci0JZXNhYworCXRlc3RfbW9kZV9pbl9pbmRleCAxMjAwMDAgeGZvbzEKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCkBAIC00NSwyOCArNTMsMTkgQEAKIAkgZWNobyBmb28gPnhmb28yICYmCiAJIGNobW9kIDc1NSB4Zm9vMiAmJgogCSBnaXQgdXBkYXRlLWluZGV4IC0tYWRkIHhmb28yICYmCi0JIGNhc2UgIiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgeGZvbzIpIiBpbgotCSAxMDA2NDQiICIqeGZvbzIpIGVjaG8gcGFzczs7Ci0JICopIGVjaG8gZmFpbDsgZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgeGZvbzI7IChleGl0IDEpOzsKLQkgZXNhYycKKwkgdGVzdF9tb2RlX2luX2luZGV4IDEwMDY0NCB4Zm9vMicKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGFkZDogZmlsZW1vZGU9MCBzaG91bGQgbm90IGdldCBjb25mdXNlZCBieSBzeW1saW5rJyAnCiAJcm0gLWYgeGZvbzIgJiYKIAl0ZXN0X2xuX3NfYWRkIGZvbyB4Zm9vMiAmJgotCWNhc2UgIiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgeGZvbzIpIiBpbgotCTEyMDAwMCIgIip4Zm9vMikgZWNobyBwYXNzOzsKLQkqKSBlY2hvIGZhaWw7IGdpdCBscy1maWxlcyAtLXN0YWdlIHhmb28yOyAoZXhpdCAxKTs7Ci0JZXNhYworCXRlc3RfbW9kZV9pbl9pbmRleCAxMjAwMDAgeGZvbzIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCiAJJ2dpdCB1cGRhdGUtaW5kZXggLS1hZGQ6IFRlc3QgdGhhdCBleGVjdXRhYmxlIGJpdCBpcyBub3QgdXNlZC4uLicgXAogCSdnaXQgY29uZmlnIGNvcmUuZmlsZW1vZGUgMCAmJgogCSB0ZXN0X2xuX3NfYWRkIHhmb28yIHhmb28zICYmCSMgcnVucyBnaXQgdXBkYXRlLWluZGV4IC0tYWRkCi0JIGNhc2UgIiQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgeGZvbzMpIiBpbgotCSAxMjAwMDAiICIqeGZvbzMpIGVjaG8gcGFzczs7Ci0JICopIGVjaG8gZmFpbDsgZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgeGZvbzM7IChleGl0IDEpOzsKLQkgZXNhYycKKwkgdGVzdF9tb2RlX2luX2luZGV4IDEyMDAwMCB4Zm9vMycKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLmdpdGlnbm9yZSB0ZXN0IHNldHVwJyAnCiAJZWNobyAiKi5pZyIgPi5naXRpZ25vcmUgJiYKQEAgLTMzMiw0ICszMzEsNzYgQEAKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0LmVyciBhY3R1YWwuZXJyCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBhZGQgZW1wdHkgc3RyaW5nIHNob3VsZCBpbnZva2Ugd2FybmluZycgJworCWdpdCBhZGQgIiIgMj5vdXRwdXQgJiYKKwl0ZXN0X2kxOG5ncmVwICJ3YXJuaW5nOiBlbXB0eSBzdHJpbmdzIiBvdXRwdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGFkZCAtLWNobW9kPVsrLV14IHN0YWdlcyBjb3JyZWN0bHknICcKKwlybSAtZiBmb28xICYmCisJZWNobyBmb28gPmZvbzEgJiYKKwlnaXQgYWRkIC0tY2htb2Q9K3ggZm9vMSAmJgorCXRlc3RfbW9kZV9pbl9pbmRleCAxMDA3NTUgZm9vMSAmJgorCWdpdCBhZGQgLS1jaG1vZD0teCBmb28xICYmCisJdGVzdF9tb2RlX2luX2luZGV4IDEwMDY0NCBmb28xCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUE9TSVhQRVJNLFNZTUxJTktTICdnaXQgYWRkIC0tY2htb2Q9K3ggd2l0aCBzeW1saW5rcycgJworCWdpdCBjb25maWcgY29yZS5maWxlbW9kZSAxICYmCisJZ2l0IGNvbmZpZyBjb3JlLnN5bWxpbmtzIDEgJiYKKwlybSAtZiBmb28yICYmCisJZWNobyBmb28gPmZvbzIgJiYKKwlnaXQgYWRkIC0tY2htb2Q9K3ggZm9vMiAmJgorCXRlc3RfbW9kZV9pbl9pbmRleCAxMDA3NTUgZm9vMgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgYWRkIC0tY2htb2Q9WystXXggY2hhbmdlcyBpbmRleCB3aXRoIGFscmVhZHkgYWRkZWQgZmlsZScgJworCXJtIC1mIGZvbzMgeGZvbzMgJiYKKwllY2hvIGZvbyA+Zm9vMyAmJgorCWdpdCBhZGQgZm9vMyAmJgorCWdpdCBhZGQgLS1jaG1vZD0reCBmb28zICYmCisJdGVzdF9tb2RlX2luX2luZGV4IDEwMDc1NSBmb28zICYmCisJZWNobyBmb28gPnhmb28zICYmCisJY2htb2QgNzU1IHhmb28zICYmCisJZ2l0IGFkZCB4Zm9vMyAmJgorCWdpdCBhZGQgLS1jaG1vZD0teCB4Zm9vMyAmJgorCXRlc3RfbW9kZV9pbl9pbmRleCAxMDA2NDQgeGZvbzMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBQT1NJWFBFUk0gJ2dpdCBhZGQgLS1jaG1vZD1bKy1deCBkb2VzIG5vdCBjaGFuZ2UgdGhlIHdvcmtpbmcgdHJlZScgJworCWVjaG8gZm9vID5mb280ICYmCisJZ2l0IGFkZCBmb280ICYmCisJZ2l0IGFkZCAtLWNobW9kPSt4IGZvbzQgJiYKKwkhIHRlc3QgLXggZm9vNAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdubyBmaWxlIHN0YXR1cyBjaGFuZ2UgaWYgbm8gcGF0aHNwZWMgaXMgZ2l2ZW4nICcKKwk+Zm9vNSAmJgorCT5mb282ICYmCisJZ2l0IGFkZCBmb281IGZvbzYgJiYKKwlnaXQgYWRkIC0tY2htb2Q9K3ggJiYKKwl0ZXN0X21vZGVfaW5faW5kZXggMTAwNjQ0IGZvbzUgJiYKKwl0ZXN0X21vZGVfaW5faW5kZXggMTAwNjQ0IGZvbzYKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm8gZmlsZSBzdGF0dXMgY2hhbmdlIGlmIG5vIHBhdGhzcGVjIGlzIGdpdmVuIGluIHN1YmRpcicgJworCW1rZGlyIC1wIHN1YiAmJgorCSgKKwkJY2Qgc3ViICYmCisJCT5zdWItZm9vMSAmJgorCQk+c3ViLWZvbzIgJiYKKwkJZ2l0IGFkZCAuICYmCisJCWdpdCBhZGQgLS1jaG1vZD0reCAmJgorCQl0ZXN0X21vZGVfaW5faW5kZXggMTAwNjQ0IHN1Yi1mb28xICYmCisJCXRlc3RfbW9kZV9pbl9pbmRleCAxMDA2NDQgc3ViLWZvbzIKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FsbCBzdGF0dXNlcyBjaGFuZ2VkIGluIGZvbGRlciBpZiAuIGlzIGdpdmVuJyAnCisJZ2l0IGFkZCAtLWNobW9kPSt4IC4gJiYKKwl0ZXN0ICQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgfCBncmVwIF4xMDA2NDQgfCB3YyAtbCkgLWVxIDAgJiYKKwlnaXQgYWRkIC0tY2htb2Q9LXggLiAmJgorCXRlc3QgJChnaXQgbHMtZmlsZXMgLS1zdGFnZSB8IGdyZXAgXjEwMDc1NSB8IHdjIC1sKSAtZXEgMAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDM5MDAtaTE4bi1jb21taXQuc2ggYi90L3QzOTAwLWkxOG4tY29tbWl0LnNoCmluZGV4IDRiZjFkYmUuLjNiOTQyODMgMTAwNzU1Ci0tLSBhL3QvdDM5MDAtaTE4bi1jb21taXQuc2gKKysrIGIvdC90MzkwMC1pMThuLWNvbW1pdC5zaApAQCAtNDUsNyArNDUsNyBAQAogCXByaW50ZiAiQ29tbWl0IG1lc3NhZ2VcblxuSW52YWxpZCBzdXJyb2dhdGU6XDM1NVwyNDBcMjAwXG4iIFwKIAkJPiIkSE9NRS9pbnZhbGlkIiAmJgogCWdpdCBjb21taXQgLWEgLUYgIiRIT01FL2ludmFsaWQiIDI+IiRIT01FIi9zdGRlcnIgJiYKLQlncmVwICJkaWQgbm90IGNvbmZvcm0iICIkSE9NRSIvc3RkZXJyCisJdGVzdF9pMThuZ3JlcCAiZGlkIG5vdCBjb25mb3JtIiAiJEhPTUUiL3N0ZGVycgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdVVEYtOCBvdmVybG9uZyBzZXF1ZW5jZXMgcmVqZWN0ZWQnICcKQEAgLTU1LDcgKzU1LDcgQEAKIAlwcmludGYgIlwzNDBcMjAyXDI1MW9tbWl0IG1lc3NhZ2VcblxuVGhpcyBpcyBub3QgYSBzcGFjZTpcMzAwXDI0MFxuIiBcCiAJCT4iJEhPTUUvaW52YWxpZCIgJiYKIAlnaXQgY29tbWl0IC1hIC1GICIkSE9NRS9pbnZhbGlkIiAyPiIkSE9NRSIvc3RkZXJyICYmCi0JZ3JlcCAiZGlkIG5vdCBjb25mb3JtIiAiJEhPTUUiL3N0ZGVycgorCXRlc3RfaTE4bmdyZXAgImRpZCBub3QgY29uZm9ybSIgIiRIT01FIi9zdGRlcnIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnVVRGLTggbm9uLWNoYXJhY3RlcnMgcmVmdXNlZCcgJwpAQCAtNjQsNyArNjQsNyBAQAogCXByaW50ZiAiQ29tbWl0IG1lc3NhZ2VcblxuTm9uLWNoYXJhY3RlcjpcMzY0XDIxN1wyNzdcMjc2XG4iIFwKIAkJPiIkSE9NRS9pbnZhbGlkIiAmJgogCWdpdCBjb21taXQgLWEgLUYgIiRIT01FL2ludmFsaWQiIDI+IiRIT01FIi9zdGRlcnIgJiYKLQlncmVwICJkaWQgbm90IGNvbmZvcm0iICIkSE9NRSIvc3RkZXJyCisJdGVzdF9pMThuZ3JlcCAiZGlkIG5vdCBjb25mb3JtIiAiJEhPTUUiL3N0ZGVycgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdVVEYtOCBub24tY2hhcmFjdGVycyByZWZ1c2VkJyAnCkBAIC03Myw3ICs3Myw3IEBACiAJcHJpbnRmICJDb21taXQgbWVzc2FnZVxuXG5Ob24tY2hhcmFjdGVyOlwzNTdcMjY3XDIyMFxuIiBcCiAJCT4iJEhPTUUvaW52YWxpZCIgJiYKIAlnaXQgY29tbWl0IC1hIC1GICIkSE9NRS9pbnZhbGlkIiAyPiIkSE9NRSIvc3RkZXJyICYmCi0JZ3JlcCAiZGlkIG5vdCBjb25mb3JtIiAiJEhPTUUiL3N0ZGVycgorCXRlc3RfaTE4bmdyZXAgImRpZCBub3QgY29uZm9ybSIgIiRIT01FIi9zdGRlcnIKICcKIAogZm9yIEggaW4gSVNPODg1OS0xIGV1Y0pQIElTTy0yMDIyLUpQCmRpZmYgLS1naXQgYS90L3QzOTAxLWkxOG4tcGF0Y2guc2ggYi90L3QzOTAxLWkxOG4tcGF0Y2guc2gKaW5kZXggNTA5MDg0ZS4uZjY2M2Q1NiAxMDA3NTUKLS0tIGEvdC90MzkwMS1pMThuLXBhdGNoLnNoCisrKyBiL3QvdDM5MDEtaTE4bi1wYXRjaC5zaApAQCAtMjk1LDcgKzI5NSw3IEBACiAKIAkjIGNvbW1pdC10cmVlIHdpbGwgd2FybiB0aGF0IHRoZSBjb21taXQgbWVzc2FnZSBkb2VzIG5vdCBjb250YWluIHZhbGlkIFVURi04CiAJIyBhcyBtYWlsaW5mbyBkaWQgbm90IGNvbnZlcnQgaXQKLQlncmVwICJkaWQgbm90IGNvbmZvcm0iIGVyciAmJgorCXRlc3RfaTE4bmdyZXAgImRpZCBub3QgY29uZm9ybSIgZXJyICYmCiAKIAljaGVja19lbmNvZGluZyAyCiAnCmRpZmYgLS1naXQgYS90L3QzOTAzLXN0YXNoLnNoIGIvdC90MzkwMy1zdGFzaC5zaAppbmRleCAyMTQyYzFmLi5lMWE2Y2NjIDEwMDc1NQotLS0gYS90L3QzOTAzLXN0YXNoLnNoCisrKyBiL3QvdDM5MDMtc3Rhc2guc2gKQEAgLTEzMSw2ICsxMzEsMjYgQEAKIAl0ZXN0IDEgPSAkKGdpdCBzaG93IEhFQUQ6ZmlsZSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZHJvcCBtaWRkbGUgc3Rhc2ggYnkgaW5kZXgnICcKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJZWNobyA4ID5maWxlICYmCisJZ2l0IHN0YXNoICYmCisJZWNobyA5ID5maWxlICYmCisJZ2l0IHN0YXNoICYmCisJZ2l0IHN0YXNoIGRyb3AgMSAmJgorCXRlc3QgMiA9ICQoZ2l0IHN0YXNoIGxpc3QgfCB3YyAtbCkgJiYKKwlnaXQgc3Rhc2ggYXBwbHkgJiYKKwl0ZXN0IDkgPSAkKGNhdCBmaWxlKSAmJgorCXRlc3QgMSA9ICQoZ2l0IHNob3cgOmZpbGUpICYmCisJdGVzdCAxID0gJChnaXQgc2hvdyBIRUFEOmZpbGUpICYmCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBzdGFzaCBkcm9wICYmCisJZ2l0IHN0YXNoIGFwcGx5ICYmCisJdGVzdCAzID0gJChjYXQgZmlsZSkgJiYKKwl0ZXN0IDEgPSAkKGdpdCBzaG93IDpmaWxlKSAmJgorCXRlc3QgMSA9ICQoZ2l0IHNob3cgSEVBRDpmaWxlKQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCBwb3AnICcKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IHN0YXNoIHBvcCAmJgpAQCAtNjA0LDYgKzYyNCwyMSBAQAogCWdpdCBzdGFzaCBkcm9wCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ludmFsaWQgcmVmIG9mIHRoZSBmb3JtICJuIiwgbiA+PSBOJyAnCisJZ2l0IHN0YXNoIGNsZWFyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN0YXNoIGRyb3AgMCAmJgorCWVjaG8gYmFyNSA+ZmlsZSAmJgorCWVjaG8gYmFyNiA+ZmlsZTIgJiYKKwlnaXQgYWRkIGZpbGUyICYmCisJZ2l0IHN0YXNoICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN0YXNoIGRyb3AgMSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBzdGFzaCBwb3AgMSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBzdGFzaCBhcHBseSAxICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN0YXNoIHNob3cgMSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBzdGFzaCBicmFuY2ggdG1wIDEgJiYKKwlnaXQgc3Rhc2ggZHJvcAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCBicmFuY2ggc2hvdWxkIG5vdCBkcm9wIHRoZSBzdGFzaCBpZiB0aGUgYnJhbmNoIGV4aXN0cycgJwogCWdpdCBzdGFzaCBjbGVhciAmJgogCWVjaG8gZm9vID5maWxlICYmCmRpZmYgLS1naXQgYS90L3Q0MDEwLWRpZmYtcGF0aHNwZWMuc2ggYi90L3Q0MDEwLWRpZmYtcGF0aHNwZWMuc2gKaW5kZXggNDNjNDg4Yi4uMzViMzVhOCAxMDA3NTUKLS0tIGEvdC90NDAxMC1kaWZmLXBhdGhzcGVjLnNoCisrKyBiL3QvdDQwMTAtZGlmZi1wYXRoc3BlYy5zaApAQCAtNzgsOCArNzgsNiBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGN1cnJlbnQKICcKIAotRU1QVFlfVFJFRT00YjgyNWRjNjQyY2I2ZWI5YTA2MGU1NGJmOGQ2OTI4OGZiZWU0OTA0Ci0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYtdHJlZSB3aXRoIHdpbGRjYXJkIHNob3dzIGRpciBhbHNvIG1hdGNoZXMnICcKIAlnaXQgZGlmZi10cmVlIC0tbmFtZS1vbmx5ICRFTVBUWV9UUkVFICR0cmVlIC0tICJmKiIgPnJlc3VsdCAmJgogCWVjaG8gZmlsZTAgPmV4cGVjdGVkICYmCmRpZmYgLS1naXQgYS90L3Q0MDEyLWRpZmYtYmluYXJ5LnNoIGIvdC90NDAxMi1kaWZmLWJpbmFyeS5zaAppbmRleCA2NDNkNzI5Li4wYThhZjc2IDEwMDc1NQotLS0gYS90L3Q0MDEyLWRpZmYtYmluYXJ5LnNoCisrKyBiL3QvdDQwMTItZGlmZi1iaW5hcnkuc2gKQEAgLTY4LDcgKzY4LDcgQEAKIAlzZWQgLWUgInMvLUNJVC94Q0lULyIgPG91dHB1dCA+YnJva2VuICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGFwcGx5IC0tc3RhdCAtLXN1bW1hcnkgYnJva2VuIDI+ZGV0ZWN0ZWQgJiYKIAlkZXRlY3RlZD0kKGNhdCBkZXRlY3RlZCkgJiYKLQlkZXRlY3RlZD0kKGV4cHIgIiRkZXRlY3RlZCIgOiAiZmF0YWwuKmF0IGxpbmUgXFwoWzAtOV0qXFwpXCQiKSAmJgorCWRldGVjdGVkPSQoZXhwciAiJGRldGVjdGVkIiA6ICJlcnJvci4qYXQgbGluZSBcXChbMC05XSpcXClcJCIpICYmCiAJZGV0ZWN0ZWQ9JChzZWQgLW5lICIke2RldGVjdGVkfXAiIGJyb2tlbikgJiYKIAl0ZXN0ICIkZGV0ZWN0ZWQiID0geENJVAogJwpAQCAtNzcsNyArNzcsNyBAQAogCWdpdCBkaWZmIC0tYmluYXJ5IHwgc2VkIC1lICJzLy1DSVQveENJVC8iID5icm9rZW4gJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgYXBwbHkgLS1zdGF0IC0tc3VtbWFyeSBicm9rZW4gMj5kZXRlY3RlZCAmJgogCWRldGVjdGVkPSQoY2F0IGRldGVjdGVkKSAmJgotCWRldGVjdGVkPSQoZXhwciAiJGRldGVjdGVkIiA6ICJmYXRhbC4qYXQgbGluZSBcXChbMC05XSpcXClcJCIpICYmCisJZGV0ZWN0ZWQ9JChleHByICIkZGV0ZWN0ZWQiIDogImVycm9yLiphdCBsaW5lIFxcKFswLTldKlxcKVwkIikgJiYKIAlkZXRlY3RlZD0kKHNlZCAtbmUgIiR7ZGV0ZWN0ZWR9cCIgYnJva2VuKSAmJgogCXRlc3QgIiRkZXRlY3RlZCIgPSB4Q0lUCiAnCmRpZmYgLS1naXQgYS90L3Q0MDEzLWRpZmYtdmFyaW91cy5zaCBiL3QvdDQwMTMtZGlmZi12YXJpb3VzLnNoCmluZGV4IDk0ZWY1MDAuLjU2NjgxN2UgMTAwNzU1Ci0tLSBhL3QvdDQwMTMtZGlmZi12YXJpb3VzLnNoCisrKyBiL3QvdDQwMTMtZGlmZi12YXJpb3VzLnNoCkBAIC0zMDYsNiArMzA2LDggQEAKIGRpZmYgLS1uby1pbmRleCAtLW5hbWUtc3RhdHVzIC0tIGRpcjIgZGlyCiBkaWZmIC0tbm8taW5kZXggZGlyIGRpcjMKIGRpZmYgbWFzdGVyIG1hc3Rlcl4gc2lkZQorIyBDYW4ndCB1c2Ugc3BhY2VzLi4uCitkaWZmIC0tbGluZS1wcmVmaXg9YWJjIG1hc3RlciBtYXN0ZXJeIHNpZGUKIGRpZmYgLS1kaXJzdGF0IG1hc3Rlcn4xIG1hc3Rlcn4yCiBkaWZmIC0tZGlyc3RhdCBpbml0aWFsIHJlYXJyYW5nZQogZGlmZiAtLWRpcnN0YXQtYnktZmlsZSBpbml0aWFsIHJlYXJyYW5nZQpAQCAtMzI1LDYgKzMyNywxMCBAQAogCWdpdCBkaWZmIC0tY2FjaGVkIC0tIGZpbGUwID5yZXN1bHQgJiYKIAl0ZXN0X2NtcCAiJFRFU1RfRElSRUNUT1JZL3Q0MDEzL2RpZmYuZGlmZl8tLWNhY2hlZF8tLV9maWxlMCIgcmVzdWx0CiAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmIC0tbGluZS1wcmVmaXggd2l0aCBzcGFjZXMnICcKKwlnaXQgZGlmZiAtLWxpbmUtcHJlZml4PSJ8IHwgfCAiIC0tY2FjaGVkIC0tIGZpbGUwID5yZXN1bHQgJiYKKwl0ZXN0X2NtcCAiJFRFU1RfRElSRUNUT1JZL3Q0MDEzL2RpZmYuZGlmZl8tLWxpbmUtcHJlZml4Xy0tY2FjaGVkXy0tX2ZpbGUwIiByZXN1bHQKKycKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZi10cmVlIC0tc3RkaW4gd2l0aCBsb2cgZm9ybWF0dGluZycgJwogCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKZGlmZiAtLWdpdCBhL3QvdDQwMTMvZGlmZi5kaWZmXy0tbGluZS1wcmVmaXg9YWJjX21hc3Rlcl9tYXN0ZXJeX3NpZGUgYi90L3Q0MDEzL2RpZmYuZGlmZl8tLWxpbmUtcHJlZml4PWFiY19tYXN0ZXJfbWFzdGVyXl9zaWRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5ZjkxZTcKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDEzL2RpZmYuZGlmZl8tLWxpbmUtcHJlZml4PWFiY19tYXN0ZXJfbWFzdGVyXl9zaWRlCkBAIC0wLDAgKzEsMjkgQEAKKyQgZ2l0IGRpZmYgLS1saW5lLXByZWZpeD1hYmMgbWFzdGVyIG1hc3Rlcl4gc2lkZQorYWJjZGlmZiAtLWNjIGRpci9zdWIKK2FiY2luZGV4IGNlYWQzMmUsNzI4OWUzNS4uOTkyOTEzYworYWJjLS0tIGEvZGlyL3N1YgorYWJjKysrIGIvZGlyL3N1YgorYWJjQEBAIC0xLDYgLTEsNCArMSw4IEBAQAorYWJjICBBCithYmMgIEIKK2FiYyArQworYWJjICtECithYmMgK0UKK2FiYyArRgorYWJjKyAxCithYmMrIDIKK2FiY2RpZmYgLS1jYyBmaWxlMAorYWJjaW5kZXggYjQxNDEwOCxmNDYxNWRhLi4xMGE4YTlmCithYmMtLS0gYS9maWxlMAorYWJjKysrIGIvZmlsZTAKK2FiY0BAQCAtMSw2IC0xLDYgKzEsOSBAQEAKK2FiYyAgMQorYWJjICAyCithYmMgIDMKK2FiYyArNAorYWJjICs1CithYmMgKzYKK2FiYysgQQorYWJjKyBCCithYmMrIEMKKyQKZGlmZiAtLWdpdCBhL3QvdDQwMTMvZGlmZi5kaWZmXy0tbGluZS1wcmVmaXhfLS1jYWNoZWRfLS1fZmlsZTAgYi90L3Q0MDEzL2RpZmYuZGlmZl8tLWxpbmUtcHJlZml4Xy0tY2FjaGVkXy0tX2ZpbGUwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0MWJhNGQKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDEzL2RpZmYuZGlmZl8tLWxpbmUtcHJlZml4Xy0tY2FjaGVkXy0tX2ZpbGUwCkBAIC0wLDAgKzEsMTUgQEAKK3wgfCB8IGRpZmYgLS1naXQgYS9maWxlMCBiL2ZpbGUwCit8IHwgfCBuZXcgZmlsZSBtb2RlIDEwMDY0NAorfCB8IHwgaW5kZXggMDAwMDAwMC4uMTBhOGE5ZgorfCB8IHwgLS0tIC9kZXYvbnVsbAorfCB8IHwgKysrIGIvZmlsZTAKK3wgfCB8IEBAIC0wLDAgKzEsOSBAQAorfCB8IHwgKzEKK3wgfCB8ICsyCit8IHwgfCArMworfCB8IHwgKzQKK3wgfCB8ICs1Cit8IHwgfCArNgorfCB8IHwgK0EKK3wgfCB8ICtCCit8IHwgfCArQwpkaWZmIC0tZ2l0IGEvdC90NDAxNC1mb3JtYXQtcGF0Y2guc2ggYi90L3Q0MDE0LWZvcm1hdC1wYXRjaC5zaAppbmRleCA4MDVkYzkwLi5iYTQ5MDJkIDEwMDc1NQotLS0gYS90L3Q0MDE0LWZvcm1hdC1wYXRjaC5zaAorKysgYi90L3Q0MDE0LWZvcm1hdC1wYXRjaC5zaApAQCAtMjI5LDYgKzIyOSw0NiBAQAogCWdyZXAgLWUgIl5TdWJqZWN0OiIgIiQxIgogfQogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQuZnJvbT1mYWxzZScgJworCisJZ2l0IC1jIGZvcm1hdC5mcm9tPWZhbHNlIGZvcm1hdC1wYXRjaCAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgfAorCXNlZCAtZSAiL15cJC9xIiA+cGF0Y2ggJiYKKwljaGVja19wYXRjaCBwYXRjaCAmJgorCSEgZ3JlcCAiXkZyb206IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT5cJCIgcGF0Y2gKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LmZyb209dHJ1ZScgJworCisJZ2l0IC1jIGZvcm1hdC5mcm9tPXRydWUgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSB8CisJc2VkIC1lICIvXlwkL3EiID5wYXRjaCAmJgorCWNoZWNrX3BhdGNoIHBhdGNoICYmCisJZ3JlcCAiXkZyb206IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT5cJCIgcGF0Y2gKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LmZyb20gd2l0aCBhZGRyZXNzJyAnCisKKwlnaXQgLWMgZm9ybWF0LmZyb209IkYgUiBPbSA8ZnJvbUBleGFtcGxlLmNvbT4iIGZvcm1hdC1wYXRjaCAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgfAorCXNlZCAtZSAiL15cJC9xIiA+cGF0Y2ggJiYKKwljaGVja19wYXRjaCBwYXRjaCAmJgorCWdyZXAgIl5Gcm9tOiBGIFIgT20gPGZyb21AZXhhbXBsZS5jb20+XCQiIHBhdGNoCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tbm8tZnJvbSBvdmVycmlkZXMgZm9ybWF0LmZyb20nICcKKworCWdpdCAtYyBmb3JtYXQuZnJvbT0iRiBSIE9tIDxmcm9tQGV4YW1wbGUuY29tPiIgZm9ybWF0LXBhdGNoIC0tbm8tZnJvbSAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgfAorCXNlZCAtZSAiL15cJC9xIiA+cGF0Y2ggJiYKKwljaGVja19wYXRjaCBwYXRjaCAmJgorCSEgZ3JlcCAiXkZyb206IEYgUiBPbSA8ZnJvbUBleGFtcGxlLmNvbT5cJCIgcGF0Y2gKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1mcm9tIG92ZXJyaWRlcyBmb3JtYXQuZnJvbScgJworCisJZ2l0IC1jIGZvcm1hdC5mcm9tPSJGIFIgT20gPGZyb21AZXhhbXBsZS5jb20+IiBmb3JtYXQtcGF0Y2ggLS1mcm9tIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSB8CisJc2VkIC1lICIvXlwkL3EiID5wYXRjaCAmJgorCWNoZWNrX3BhdGNoIHBhdGNoICYmCisJISBncmVwICJeRnJvbTogRiBSIE9tIDxmcm9tQGV4YW1wbGUuY29tPlwkIiBwYXRjaAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLW5vLXRvIG92ZXJyaWRlcyBjb25maWcudG8nICcKIAogCWdpdCBjb25maWcgLS1yZXBsYWNlLWFsbCBmb3JtYXQudG8gXApAQCAtNzE0LDkgKzc1NCwyMiBAQAogCWdpdCBmb3JtYXQtcGF0Y2ggLS1pZ25vcmUtaWYtaW4tdXBzdHJlYW0gSEVBRAogJwogCitnaXRfdmVyc2lvbj0iJChnaXQgLS12ZXJzaW9uIHwgc2VkICJzLy4qIC8vIikiCisKK3NpZ25hdHVyZSgpIHsKKwlwcmludGYgIiVzXG4lc1xuXG4iICItLSAiICIkezE6LSRnaXRfdmVyc2lvbn0iCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCBkZWZhdWx0IHNpZ25hdHVyZScgJworCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLTEgfCB0YWlsIC1uIDMgPm91dHB1dCAmJgorCXNpZ25hdHVyZSA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQtcGF0Y2ggLS1zaWduYXR1cmUnICcKLQlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IC0tc2lnbmF0dXJlPSJteSBzaWciIC0xID5vdXRwdXQgJiYKLQlncmVwICJteSBzaWciIG91dHB1dAorCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLS1zaWduYXR1cmU9Im15IHNpZyIgLTEgfCB0YWlsIC1uIDMgPm91dHB1dCAmJgorCXNpZ25hdHVyZSAibXkgc2lnIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQtcGF0Y2ggd2l0aCBmb3JtYXQuc2lnbmF0dXJlIGNvbmZpZycgJwpAQCAtMTAzMyw2ICsxMDg2LDE1IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJmYycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlTdWJqZWN0OiBbUkZDIFBBVENIIDEvMV0gaGVhZGVyIHdpdGggLiBpbiBpdAorCUVPRgorCWdpdCBmb3JtYXQtcGF0Y2ggLW4gLTEgLS1zdGRvdXQgLS1yZmMgPnBhdGNoICYmCisJZ3JlcCBeU3ViamVjdDogcGF0Y2ggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1mcm9tPWlkZW50IG5vdGljZXMgYm9ndXMgaWRlbnQnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgZm9ybWF0LXBhdGNoIC0xIC0tc3Rkb3V0IC0tZnJvbT1mb28gPnBhdGNoCiAnCkBAIC0xNDYyLDEyICsxNTI0LDEyIEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCAtLWJhc2UnICcKIAlnaXQgY2hlY2tvdXQgc2lkZSAmJgotCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLS1iYXNlPUhFQUR+MyAtMSA+cGF0Y2ggJiYKLQlncmVwICJeYmFzZS1jb21taXQ6IiBwYXRjaCA+YWN0dWFsICYmCi0JZ3JlcCAiXnByZXJlcXVpc2l0ZS1wYXRjaC1pZDoiIHBhdGNoID4+YWN0dWFsICYmCi0JZWNobyAiYmFzZS1jb21taXQ6ICQoZ2l0IHJldi1wYXJzZSBIRUFEfjMpIiA+ZXhwZWN0ZWQgJiYKKwlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IC0tYmFzZT1IRUFEfjMgLTEgfCB0YWlsIC1uIDcgPmFjdHVhbCAmJgorCWVjaG8gPmV4cGVjdGVkICYmCisJZWNobyAiYmFzZS1jb21taXQ6ICQoZ2l0IHJldi1wYXJzZSBIRUFEfjMpIiA+PmV4cGVjdGVkICYmCiAJZWNobyAicHJlcmVxdWlzaXRlLXBhdGNoLWlkOiAkKGdpdCBzaG93IC0tcGF0Y2ggSEVBRH4yIHwgZ2l0IHBhdGNoLWlkIC0tc3RhYmxlIHwgYXdrICJ7cHJpbnQgXCQxfSIpIiA+PmV4cGVjdGVkICYmCiAJZWNobyAicHJlcmVxdWlzaXRlLXBhdGNoLWlkOiAkKGdpdCBzaG93IC0tcGF0Y2ggSEVBRH4xIHwgZ2l0IHBhdGNoLWlkIC0tc3RhYmxlIHwgYXdrICJ7cHJpbnQgXCQxfSIpIiA+PmV4cGVjdGVkICYmCisJc2lnbmF0dXJlID4+IGV4cGVjdGVkICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKQEAgLTE1NjUsNCArMTYyNyw1MyBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQtcGF0Y2ggLS1iYXNlIHdpdGggLS1hdHRhY2gnICcKKwlnaXQgZm9ybWF0LXBhdGNoIC0tYXR0YWNoPW1pbWVtaW1lIC0tc3Rkb3V0IC0tYmFzZT1IRUFEfiAtMSA+cGF0Y2ggJiYKKwlzZWQgLW4gLWUgIi9eYmFzZS1jb21taXQ6L3MvLiovMS9wIiAtZSAiL14tLS0qbWltZW1pbWUtLSQvcy8uKi8yL3AiIFwKKwkJcGF0Y2ggPmFjdHVhbCAmJgorCXRlc3Rfd3JpdGVfbGluZXMgMSAyID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCAtLXByZXR0eT1tYm94cmQnICcKKwlzcD0iICIgJiYKKwljYXQgPm1zZyA8PC1JTlBVVF9FTkQgJiYKKwltYm94cmQgc2hvdWxkIGVzY2FwZSB0aGUgYm9keQorCisJRnJvbSBjb3VsZCB0cmlwIHVwIGEgbG9vc2UgbWJveCBwYXJzZXIKKwk+RnJvbSBleHRyYSBlc2NhcGUgZm9yIHJldmVyc2liaWxpdHkKKwk+PkZyb20gZXh0cmEgZXNjYXBlIGZvciByZXZlcnNpYmlsaXR5IDIKKwlmcm9tIGxvd2VyIGNhc2Ugbm90IGVzY2FwZWQKKwlGcm9tbSBiYWQgc3BlbGluZyBub3QgZXNjYXBlZAorCSBGcm9tIHdpdGggbGVhZGluZyBzcGFjZSBub3QgZXNjYXBlZAorCisJRgorCUZyb20KKwlGcm9tJHNwCisJRnJvbSAgICAkc3AKKwlGcm9tCSRzcAorCUlOUFVUX0VORAorCisJY2F0ID5leHBlY3QgPDwtSU5QVVRfRU5EICYmCisJPkZyb20gY291bGQgdHJpcCB1cCBhIGxvb3NlIG1ib3ggcGFyc2VyCisJPj5Gcm9tIGV4dHJhIGVzY2FwZSBmb3IgcmV2ZXJzaWJpbGl0eQorCT4+PkZyb20gZXh0cmEgZXNjYXBlIGZvciByZXZlcnNpYmlsaXR5IDIKKwlmcm9tIGxvd2VyIGNhc2Ugbm90IGVzY2FwZWQKKwlGcm9tbSBiYWQgc3BlbGluZyBub3QgZXNjYXBlZAorCSBGcm9tIHdpdGggbGVhZGluZyBzcGFjZSBub3QgZXNjYXBlZAorCisJRgorCUZyb20KKwlGcm9tCisJRnJvbQorCUZyb20KKwlJTlBVVF9FTkQKKworCUM9JChnaXQgY29tbWl0LXRyZWUgSEVBRF5ee3RyZWV9IC1wIEhFQUQgPG1zZykgJiYKKwlnaXQgZm9ybWF0LXBhdGNoIC0tcHJldHR5PW1ib3hyZCAtLXN0ZG91dCAtMSAkQ34xLi4kQyA+cGF0Y2ggJiYKKwlnaXQgZ3JlcCAtaCAtLW5vLWluZGV4IC1BMTEgXAorCQkiXj5Gcm9tIGNvdWxkIHRyaXAgdXAgYSBsb29zZSBtYm94IHBhcnNlciIgcGF0Y2ggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q0MDE1LWRpZmYtd2hpdGVzcGFjZS5zaCBiL3QvdDQwMTUtZGlmZi13aGl0ZXNwYWNlLnNoCmluZGV4IDI0MzQxNTcuLjI4OTgwNmQgMTAwNzU1Ci0tLSBhL3QvdDQwMTUtZGlmZi13aGl0ZXNwYWNlLnNoCisrKyBiL3QvdDQwMTUtZGlmZi13aGl0ZXNwYWNlLnNoCkBAIC04NjksNyArODY5LDggQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBjdXJyZW50CiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RoZSBzYW1lIHdpdGggLS13cy1lcnJvci1oaWdobGlnaHQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dzLWVycm9yLWhpZ2hsaWdodCB0ZXN0IHNldHVwJyAnCisKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJewogCQllY2hvICIwLiBibGFuay1hdC1lb2wgIiAmJgpAQCAtODgyLDEwICs4ODMsNyBAQAogCQllY2hvICIyLiBhbmQgYSBuZXcgbGluZSAiCiAJfSA+eCAmJgogCi0JZ2l0IC1jIGNvbG9yLmRpZmY9YWx3YXlzIGRpZmYgLS13cy1lcnJvci1oaWdobGlnaHQ9ZGVmYXVsdCxvbGQgfAotCXRlc3RfZGVjb2RlX2NvbG9yID5jdXJyZW50ICYmCi0KLQljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKwljYXQgPmV4cGVjdC5kZWZhdWx0LW9sZCA8PC1cRU9GICYmCiAJPEJPTEQ+ZGlmZiAtLWdpdCBhL3ggYi94PFJFU0VUPgogCTxCT0xEPmluZGV4IGQwMjMzYTIuLjcwMDg4NmUgMTAwNjQ0PFJFU0VUPgogCTxCT0xEPi0tLSBhL3g8UkVTRVQ+CkBAIC04OTcsMTIgKzg5NSw3IEBACiAJPEdSRUVOPis8UkVTRVQ+PEdSRUVOPjIuIGFuZCBhIG5ldyBsaW5lPFJFU0VUPjxCTFVFPiA8UkVTRVQ+CiAJRU9GCiAKLQl0ZXN0X2NtcCBleHBlY3RlZCBjdXJyZW50ICYmCi0KLQlnaXQgLWMgY29sb3IuZGlmZj1hbHdheXMgZGlmZiAtLXdzLWVycm9yLWhpZ2hsaWdodD1hbGwgfAotCXRlc3RfZGVjb2RlX2NvbG9yID5jdXJyZW50ICYmCi0KLQljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKwljYXQgPmV4cGVjdC5hbGwgPDwtXEVPRiAmJgogCTxCT0xEPmRpZmYgLS1naXQgYS94IGIveDxSRVNFVD4KIAk8Qk9MRD5pbmRleCBkMDIzM2EyLi43MDA4ODZlIDEwMDY0NDxSRVNFVD4KIAk8Qk9MRD4tLS0gYS94PFJFU0VUPgpAQCAtOTE0LDEyICs5MDcsNyBAQAogCTxHUkVFTj4rPFJFU0VUPjxHUkVFTj4yLiBhbmQgYSBuZXcgbGluZTxSRVNFVD48QkxVRT4gPFJFU0VUPgogCUVPRgogCi0JdGVzdF9jbXAgZXhwZWN0ZWQgY3VycmVudCAmJgotCi0JZ2l0IC1jIGNvbG9yLmRpZmY9YWx3YXlzIGRpZmYgLS13cy1lcnJvci1oaWdobGlnaHQ9bm9uZSB8Ci0JdGVzdF9kZWNvZGVfY29sb3IgPmN1cnJlbnQgJiYKLQotCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCWNhdCA+ZXhwZWN0Lm5vbmUgPDwtXEVPRgogCTxCT0xEPmRpZmYgLS1naXQgYS94IGIveDxSRVNFVD4KIAk8Qk9MRD5pbmRleCBkMDIzM2EyLi43MDA4ODZlIDEwMDY0NDxSRVNFVD4KIAk8Qk9MRD4tLS0gYS94PFJFU0VUPgpAQCAtOTMxLDcgKzkxOSw1NyBAQAogCTxHUkVFTj4rMi4gYW5kIGEgbmV3IGxpbmUgPFJFU0VUPgogCUVPRgogCi0JdGVzdF9jbXAgZXhwZWN0ZWQgY3VycmVudAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IC0td3MtZXJyb3ItaGlnaGxpZ2h0IG9wdGlvbicgJworCisJZ2l0IC1jIGNvbG9yLmRpZmY9YWx3YXlzIGRpZmYgLS13cy1lcnJvci1oaWdobGlnaHQ9ZGVmYXVsdCxvbGQgfAorCXRlc3RfZGVjb2RlX2NvbG9yID5jdXJyZW50ICYmCisJdGVzdF9jbXAgZXhwZWN0LmRlZmF1bHQtb2xkIGN1cnJlbnQgJiYKKworCWdpdCAtYyBjb2xvci5kaWZmPWFsd2F5cyBkaWZmIC0td3MtZXJyb3ItaGlnaGxpZ2h0PWFsbCB8CisJdGVzdF9kZWNvZGVfY29sb3IgPmN1cnJlbnQgJiYKKwl0ZXN0X2NtcCBleHBlY3QuYWxsIGN1cnJlbnQgJiYKKworCWdpdCAtYyBjb2xvci5kaWZmPWFsd2F5cyBkaWZmIC0td3MtZXJyb3ItaGlnaGxpZ2h0PW5vbmUgfAorCXRlc3RfZGVjb2RlX2NvbG9yID5jdXJyZW50ICYmCisJdGVzdF9jbXAgZXhwZWN0Lm5vbmUgY3VycmVudAorCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Rlc3QgZGlmZi53c0Vycm9ySGlnaGxpZ2h0IGNvbmZpZycgJworCisJZ2l0IC1jIGNvbG9yLmRpZmY9YWx3YXlzIC1jIGRpZmYud3NFcnJvckhpZ2hsaWdodD1kZWZhdWx0LG9sZCBkaWZmIHwKKwl0ZXN0X2RlY29kZV9jb2xvciA+Y3VycmVudCAmJgorCXRlc3RfY21wIGV4cGVjdC5kZWZhdWx0LW9sZCBjdXJyZW50ICYmCisKKwlnaXQgLWMgY29sb3IuZGlmZj1hbHdheXMgLWMgZGlmZi53c0Vycm9ySGlnaGxpZ2h0PWFsbCBkaWZmIHwKKwl0ZXN0X2RlY29kZV9jb2xvciA+Y3VycmVudCAmJgorCXRlc3RfY21wIGV4cGVjdC5hbGwgY3VycmVudCAmJgorCisJZ2l0IC1jIGNvbG9yLmRpZmY9YWx3YXlzIC1jIGRpZmYud3NFcnJvckhpZ2hsaWdodD1ub25lIGRpZmYgfAorCXRlc3RfZGVjb2RlX2NvbG9yID5jdXJyZW50ICYmCisJdGVzdF9jbXAgZXhwZWN0Lm5vbmUgY3VycmVudAorCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ29wdGlvbiBvdmVycmlkZXMgZGlmZi53c0Vycm9ySGlnaGxpZ2h0JyAnCisKKwlnaXQgLWMgY29sb3IuZGlmZj1hbHdheXMgLWMgZGlmZi53c0Vycm9ySGlnaGxpZ2h0PW5vbmUgXAorCQlkaWZmIC0td3MtZXJyb3ItaGlnaGxpZ2h0PWRlZmF1bHQsb2xkIHwKKwl0ZXN0X2RlY29kZV9jb2xvciA+Y3VycmVudCAmJgorCXRlc3RfY21wIGV4cGVjdC5kZWZhdWx0LW9sZCBjdXJyZW50ICYmCisKKwlnaXQgLWMgY29sb3IuZGlmZj1hbHdheXMgLWMgZGlmZi53c0Vycm9ySGlnaGxpZ2h0PWRlZmF1bHQgXAorCQlkaWZmIC0td3MtZXJyb3ItaGlnaGxpZ2h0PWFsbCB8CisJdGVzdF9kZWNvZGVfY29sb3IgPmN1cnJlbnQgJiYKKwl0ZXN0X2NtcCBleHBlY3QuYWxsIGN1cnJlbnQgJiYKKworCWdpdCAtYyBjb2xvci5kaWZmPWFsd2F5cyAtYyBkaWZmLndzRXJyb3JIaWdobGlnaHQ9YWxsIFwKKwkJZGlmZiAtLXdzLWVycm9yLWhpZ2hsaWdodD1ub25lIHwKKwl0ZXN0X2RlY29kZV9jb2xvciA+Y3VycmVudCAmJgorCXRlc3RfY21wIGV4cGVjdC5ub25lIGN1cnJlbnQKKwogJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQwMTgtZGlmZi1mdW5jbmFtZS5zaCBiL3QvdDQwMTgtZGlmZi1mdW5jbmFtZS5zaAppbmRleCA2NzM3M2RjLi4xNzk1ZmZjIDEwMDc1NQotLS0gYS90L3Q0MDE4LWRpZmYtZnVuY25hbWUuc2gKKysrIGIvdC90NDAxOC1kaWZmLWZ1bmNuYW1lLnNoCkBAIC0zMCw2ICszMCw3IEBACiAJYmlidGV4CiAJY3BwCiAJY3NoYXJwCisJY3NzCiAJZm9ydHJhbgogCWZvdW50YWluCiAJaHRtbApkaWZmIC0tZ2l0IGEvdC90NDAxOC9jc3MtYnJhY2UtaW4tY29sLTEgYi90L3Q0MDE4L2Nzcy1icmFjZS1pbi1jb2wtMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODMxNTc3Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9jc3MtYnJhY2UtaW4tY29sLTEKQEAgLTAsMCArMSw1IEBACitSSUdIVCBsYWJlbC5jb250cm9sLWxhYmVsCit7CisgICAgbWFyZ2luLXRvcDogMTBweCFpbXBvcnRhbnQ7CisgICAgYm9yZGVyIDogMTBweCBDaGFuZ2VNZSAjQzZDNkM2OworfQpkaWZmIC0tZ2l0IGEvdC90NDAxOC9jc3MtY29sb24tZW9sIGIvdC90NDAxOC9jc3MtY29sb24tZW9sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhMzA1NTMKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDE4L2Nzcy1jb2xvbi1lb2wKQEAgLTAsMCArMSw0IEBACitSSUdIVCBoMSB7Citjb2xvcjoKK0NoYW5nZU1lOworfQpkaWZmIC0tZ2l0IGEvdC90NDAxOC9jc3MtY29sb24tc2VsZWN0b3IgYi90L3Q0MDE4L2Nzcy1jb2xvbi1zZWxlY3RvcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNmQ3MWZiCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9jc3MtY29sb24tc2VsZWN0b3IKQEAgLTAsMCArMSw1IEBACitSSUdIVCBhOmhvdmVyIHsKKyAgICBtYXJnaW4tdG9wOgorICAgIDEwcHghaW1wb3J0YW50OworICAgIGJvcmRlciA6IDEwcHggQ2hhbmdlTWUgI0M2QzZDNjsKK30KZGlmZiAtLWdpdCBhL3QvdDQwMTgvY3NzLWNvbW1vbiBiL3QvdDQwMTgvY3NzLWNvbW1vbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGVkNzU0Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9jc3MtY29tbW9uCkBAIC0wLDAgKzEsNCBAQAorUklHSFQgbGFiZWwuY29udHJvbC1sYWJlbCB7CisgICAgbWFyZ2luLXRvcDogMTBweCFpbXBvcnRhbnQ7CisgICAgYm9yZGVyIDogMTBweCBDaGFuZ2VNZSAjQzZDNkM2OworfQpkaWZmIC0tZ2l0IGEvdC90NDAxOC9jc3MtbG9uZy1zZWxlY3Rvci1saXN0IGIvdC90NDAxOC9jc3MtbG9uZy1zZWxlY3Rvci1saXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjY2QyNWQKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDE4L2Nzcy1sb25nLXNlbGVjdG9yLWxpc3QKQEAgLTAsMCArMSw2IEBACitwLmhlYWRlciwKK2xhYmVsLmNvbnRyb2wtbGFiZWwsCitkaXYgdWwjUklHSFQgeworICAgIG1hcmdpbi10b3A6IDEwcHghaW1wb3J0YW50OworICAgIGJvcmRlciA6IDEwcHggQ2hhbmdlTWUgI0M2QzZDNjsKK30KZGlmZiAtLWdpdCBhL3QvdDQwMTgvY3NzLXByb3Atc2Fucy1pbmRlbnQgYi90L3Q0MDE4L2Nzcy1wcm9wLXNhbnMtaW5kZW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZTNjODYKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDE4L2Nzcy1wcm9wLXNhbnMtaW5kZW50CkBAIC0wLDAgKzEsNSBAQAorUklHSFQsIGxhYmVsLmNvbnRyb2wtbGFiZWwgeworbWFyZ2luLXRvcDogMTBweCFpbXBvcnRhbnQ7CitwYWRkaW5nOiAwOworYm9yZGVyIDogMTBweCBDaGFuZ2VNZSAjQzZDNkM2OworfQpkaWZmIC0tZ2l0IGEvdC90NDAxOC9jc3Mtc2hvcnQtc2VsZWN0b3ItbGlzdCBiL3QvdDQwMTgvY3NzLXNob3J0LXNlbGVjdG9yLWxpc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmEwYmRlZQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvY3NzLXNob3J0LXNlbGVjdG9yLWxpc3QKQEAgLTAsMCArMSw0IEBACitsYWJlbC5jb250cm9sLCBkaXYgdWwjUklHSFQgeworICAgIG1hcmdpbi10b3A6IDEwcHghaW1wb3J0YW50OworICAgIGJvcmRlciA6IDEwcHggQ2hhbmdlTWUgI0M2QzZDNjsKK30KZGlmZiAtLWdpdCBhL3QvdDQwMTgvY3NzLXRyYWlsaW5nLXNwYWNlIGIvdC90NDAxOC9jc3MtdHJhaWxpbmctc3BhY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzJiNTYwNgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvY3NzLXRyYWlsaW5nLXNwYWNlCkBAIC0wLDAgKzEsNSBAQAorUklHSFQgbGFiZWwuY29udHJvbC1sYWJlbCB7CisgICAgbWFyZ2luOjEwcHg7ICAgCisgICAgcGFkZGluZzoxMHB4OworICAgIGJvcmRlciA6IDEwcHggQ2hhbmdlTWUgI0M2QzZDNjsKK30KZGlmZiAtLWdpdCBhL3QvdDQwMjEtZm9ybWF0LXBhdGNoLW51bWJlcmVkLnNoIGIvdC90NDAyMS1mb3JtYXQtcGF0Y2gtbnVtYmVyZWQuc2gKaW5kZXggODg2NDk0Yi4uOWJlNjVmZCAxMDA3NTUKLS0tIGEvdC90NDAyMS1mb3JtYXQtcGF0Y2gtbnVtYmVyZWQuc2gKKysrIGIvdC90NDAyMS1mb3JtYXQtcGF0Y2gtbnVtYmVyZWQuc2gKQEAgLTM2LDYgKzM2LDExIEBACiAJdGVzdF9udW1fbm9fbnVtYmVyZWQgJDEgMgogfQogCit0ZXN0X3NpbmdsZV9jb3Zlcl9sZXR0ZXJfbnVtYmVyZWQoKSB7CisJZ3JlcCAiXlN1YmplY3Q6IFxbUEFUQ0ggMC8xXF0iICQxICYmCisJZ3JlcCAiXlN1YmplY3Q6IFxbUEFUQ0ggMS8xXF0iICQxCit9CisKIHRlc3Rfc2luZ2xlX251bWJlcmVkKCkgewogCWdyZXAgIl5TdWJqZWN0OiBcW1BBVENIIDEvMVxdIiAkMQogfQpAQCAtMTIxLDQgKzEyNiwxNiBAQAogCWdyZXAgIl5TdWJqZWN0OiBcW1BBVENIIDMvM1xdIiBwYXRjaDgKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2luZ2xlIHBhdGNoIHdpdGggY292ZXItbGV0dGVyIGRlZmF1bHRzIHRvIG51bWJlcnMnICcKKwlnaXQgZm9ybWF0LXBhdGNoIC0tY292ZXItbGV0dGVyIC0tc3Rkb3V0IEhFQUR+MSA+cGF0Y2g5LnNpbmdsZSAmJgorCXRlc3Rfc2luZ2xlX2NvdmVyX2xldHRlcl9udW1iZXJlZCBwYXRjaDkuc2luZ2xlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1VzZSAtLW5vLW51bWJlcmVkIGFuZCAtLWNvdmVyLWxldHRlciBzaW5nbGUgcGF0Y2gnICcKKwlnaXQgZm9ybWF0LXBhdGNoIC0tbm8tbnVtYmVyZWQgLS1zdGRvdXQgLS1jb3Zlci1sZXR0ZXIgSEVBRH4xID5wYXRjaDEwICYmCisJdGVzdF9ub19udW1iZXJlZCBwYXRjaDEwCisnCisKKworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQwMjYtY29sb3Iuc2ggYi90L3Q0MDI2LWNvbG9yLnNoCmluZGV4IDJiMzJjNGYuLmVjNzhjNWUgMTAwNzU1Ci0tLSBhL3QvdDQwMjYtY29sb3Iuc2gKKysrIGIvdC90NDAyNi1jb2xvci5zaApAQCAtNTAsMTQgKzUwLDE5IEBACiAJY29sb3IgIm5vYm9sZCBub2RpbSBub3VsIG5vYmxpbmsgbm9yZXZlcnNlIiAiWzIyOzI0OzI1OzI3bSIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnIm5vLSIgdmFyaWFudCBvZiBuZWdhdGlvbicgJworCWNvbG9yICJuby1ib2xkIG5vLWJsaW5rIiAiWzIyOzI1bSIKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9uZyBjb2xvciBzcGVjaWZpY2F0aW9uJyAnCiAJY29sb3IgIjI1NCAyNTUgYm9sZCBkaW0gdWwgYmxpbmsgcmV2ZXJzZSIgIlsxOzI7NDs1Ozc7Mzg7NTsyNTQ7NDg7NTsyNTVtIgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhYnN1cmRseSBsb25nIGNvbG9yIHNwZWNpZmljYXRpb24nICcKIAljb2xvciBcCi0JICAiI2ZmZmZmZiAjZmZmZmZmIGJvbGQgbm9ib2xkIGRpbSBub2RpbSB1bCBub3VsIGJsaW5rIG5vYmxpbmsgcmV2ZXJzZSBub3JldmVyc2UiIFwKLQkgICJbMTsyOzQ7NTs3OzIyOzI0OzI1OzI3OzM4OzI7MjU1OzI1NTsyNTU7NDg7MjsyNTU7MjU1OzI1NW0iCisJICAiI2ZmZmZmZiAjZmZmZmZmIGJvbGQgbm9ib2xkIGRpbSBub2RpbSBpdGFsaWMgbm9pdGFsaWMKKwkgICB1bCBub3VsIGJsaW5rIG5vYmxpbmsgcmV2ZXJzZSBub3JldmVyc2Ugc3RyaWtlIG5vc3RyaWtlIiBcCisJICAiWzE7MjszOzQ7NTs3Ozk7MjI7MjM7MjQ7MjU7Mjc7Mjk7Mzg7MjsyNTU7MjU1OzI1NTs0ODsyOzI1NTsyNTU7MjU1bSIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnMC03IGFyZSBhbGlhc2VzIGZvciBiYXNpYyBBTlNJIGNvbG9yIG5hbWVzJyAnCmRpZmYgLS1naXQgYS90L3Q0MDMzLWRpZmYtcGF0aWVuY2Uuc2ggYi90L3Q0MDMzLWRpZmYtcGF0aWVuY2Uuc2gKaW5kZXggM2M5OTMyZS4uMTEzMzA0ZCAxMDA3NTUKLS0tIGEvdC90NDAzMy1kaWZmLXBhdGllbmNlLnNoCisrKyBiL3QvdDQwMzMtZGlmZi1wYXRpZW5jZS5zaApAQCAtNSw2ICs1LDE0IEBACiAuIC4vdGVzdC1saWIuc2gKIC4gIiRURVNUX0RJUkVDVE9SWSIvbGliLWRpZmYtYWx0ZXJuYXRpdmUuc2gKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1pZ25vcmUtc3BhY2UtYXQtZW9sIHdpdGggYSBzaW5nbGUgYXBwZW5kZWQgY2hhcmFjdGVyJyAnCisJcHJpbnRmICJhXG5iXG5jXG4iID5wcmUgJiYKKwlwcmludGYgImFcbmJYXG5jXG4iID5wb3N0ICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGRpZmYgLS1uby1pbmRleCBcCisJCS0tcGF0aWVuY2UgLS1pZ25vcmUtc3BhY2UtYXQtZW9sIHByZSBwb3N0ID5kaWZmICYmCisJZ3JlcCAiXisuKlgiIGRpZmYKKycKKwogdGVzdF9kaWZmX2Zyb2JuaXR6ICJwYXRpZW5jZSIKIAogdGVzdF9kaWZmX3VuaXF1ZSAicGF0aWVuY2UiCmRpZmYgLS1naXQgYS90L3Q0MDM0LWRpZmYtd29yZHMuc2ggYi90L3Q0MDM0LWRpZmYtd29yZHMuc2gKaW5kZXggZjJmNTVmYy4uOTEyZGY5MSAxMDA3NTUKLS0tIGEvdC90NDAzNC1kaWZmLXdvcmRzLnNoCisrKyBiL3QvdDQwMzQtZGlmZi13b3Jkcy5zaApAQCAtMzAyLDYgKzMwMiw3IEBACiB0ZXN0X2xhbmd1YWdlX2RyaXZlciBiaWJ0ZXgKIHRlc3RfbGFuZ3VhZ2VfZHJpdmVyIGNwcAogdGVzdF9sYW5ndWFnZV9kcml2ZXIgY3NoYXJwCit0ZXN0X2xhbmd1YWdlX2RyaXZlciBjc3MKIHRlc3RfbGFuZ3VhZ2VfZHJpdmVyIGZvcnRyYW4KIHRlc3RfbGFuZ3VhZ2VfZHJpdmVyIGh0bWwKIHRlc3RfbGFuZ3VhZ2VfZHJpdmVyIGphdmEKZGlmZiAtLWdpdCBhL3QvdDQwMzQvY3NzL2V4cGVjdCBiL3QvdDQwMzQvY3NzL2V4cGVjdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDEwMzkzCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDAzNC9jc3MvZXhwZWN0CkBAIC0wLDAgKzEsMTYgQEAKKzxCT0xEPmRpZmYgLS1naXQgYS9wcmUgYi9wb3N0PFJFU0VUPgorPEJPTEQ+aW5kZXggYjhhZTBiYi4uZmU1MDBiNyAxMDA2NDQ8UkVTRVQ+Cis8Qk9MRD4tLS0gYS9wcmU8UkVTRVQ+Cis8Qk9MRD4rKysgYi9wb3N0PFJFU0VUPgorPENZQU4+QEAgLTEsMTAgKzEsMTAgQEA8UkVTRVQ+CisuPFJFRD5jbGFzcy1mb3JtPFJFU0VUPjxHUkVFTj5vdGhlci1mb3JtPFJFU0VUPiBsYWJlbC5jb250cm9sLWxhYmVsIHsKKyAgICBtYXJnaW4tdG9wOiA8UkVEPjEwPFJFU0VUPjxHUkVFTj4xNTxSRVNFVD5weCFpbXBvcnRhbnQ7CisgICAgYm9yZGVyIDogMTBweCA8UkVEPmRhc2hlZDxSRVNFVD48R1JFRU4+ZG90dGVkPFJFU0VUPiAjQzZDNkM2OworfTxSRVNFVD4KKzxSRUQ+I0NDQ0NDQzxSRVNFVD48R1JFRU4+I0NDQ0NDQjxSRVNFVD4KKzEwZW08UkVTRVQ+Cis8UkVEPnBhZGRpbmctYm90dG9tPFJFU0VUPjxHUkVFTj5tYXJnaW4tbGVmdDxSRVNFVD4KKzE1MDxSRUQ+cHg8UkVTRVQ+PEdSRUVOPmVtPFJFU0VUPgorMTBweAorPFJFRD4haW1wb3J0YW50PFJFU0VUPgorPFJFRD5kaXY8UkVTRVQ+PEdSRUVOPmxpPFJFU0VUPi5jbGFzcyNpZApkaWZmIC0tZ2l0IGEvdC90NDAzNC9jc3MvcG9zdCBiL3QvdDQwMzQvY3NzL3Bvc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmU1MDBiNwotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMzQvY3NzL3Bvc3QKQEAgLTAsMCArMSwxMCBAQAorLm90aGVyLWZvcm0gbGFiZWwuY29udHJvbC1sYWJlbCB7CisgICAgbWFyZ2luLXRvcDogMTVweCFpbXBvcnRhbnQ7CisgICAgYm9yZGVyIDogMTBweCBkb3R0ZWQgI0M2QzZDNjsKK30KKyNDQ0NDQ0IKKzEwZW0KK21hcmdpbi1sZWZ0CisxNTBlbQorMTBweAorbGkuY2xhc3MjaWQKZGlmZiAtLWdpdCBhL3QvdDQwMzQvY3NzL3ByZSBiL3QvdDQwMzQvY3NzL3ByZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOGFlMGJiCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDAzNC9jc3MvcHJlCkBAIC0wLDAgKzEsMTAgQEAKKy5jbGFzcy1mb3JtIGxhYmVsLmNvbnRyb2wtbGFiZWwgeworICAgIG1hcmdpbi10b3A6IDEwcHghaW1wb3J0YW50OworICAgIGJvcmRlciA6IDEwcHggZGFzaGVkICNDNkM2QzY7Cit9CisjQ0NDQ0NDCisxMGVtCitwYWRkaW5nLWJvdHRvbQorMTUwcHgKKzEwcHghaW1wb3J0YW50CitkaXYuY2xhc3MjaWQKZGlmZiAtLWdpdCBhL3QvdDQwNTEtZGlmZi1mdW5jdGlvbi1jb250ZXh0LnNoIGIvdC90NDA1MS1kaWZmLWZ1bmN0aW9uLWNvbnRleHQuc2gKaW5kZXggMDAxZDY3OC4uNjE1NGFjYiAxMDA3NTUKLS0tIGEvdC90NDA1MS1kaWZmLWZ1bmN0aW9uLWNvbnRleHQuc2gKKysrIGIvdC90NDA1MS1kaWZmLWZ1bmN0aW9uLWNvbnRleHQuc2gKQEAgLTMsOTAgKzMsMjA1IEBACiB0ZXN0X2Rlc2NyaXB0aW9uPSdkaWZmIGZ1bmN0aW9uIGNvbnRleHQnCiAKIC4gLi90ZXN0LWxpYi5zaAotLiAiJFRFU1RfRElSRUNUT1JZIi9kaWZmLWxpYi5zaAogCitkaXI9IiRURVNUX0RJUkVDVE9SWS90NDA1MSIKIAotY2F0IDw8XEVPRiA+aGVsbG8uYwotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0KLXN0YXRpYyBpbnQgYSh2b2lkKQotewotCS8qCi0JICogRHVtbXkuCi0JICovCitjb21taXRfYW5kX3RhZyAoKSB7CisJdGFnPSQxICYmCisJc2hpZnQgJiYKKwlnaXQgYWRkICIkQCIgJiYKKwl0ZXN0X3RpY2sgJiYKKwlnaXQgY29tbWl0IC1tICIkdGFnIiAmJgorCWdpdCB0YWcgIiR0YWciCiB9CiAKLXN0YXRpYyBpbnQgaGVsbG9fd29ybGQodm9pZCkKLXsKLQkvKiBDbGFzc2ljLiAqLwotCXByaW50ZigiSGVsbG8gd29ybGQuXG4iKTsKLQotCS8qIFN1Y2Nlc3MhICovCi0JcmV0dXJuIDA7Ci19Ci1zdGF0aWMgaW50IGIodm9pZCkKLXsKLQkvKgotCSAqIER1bW15LCB0b28uCi0JICovCitmaXJzdF9jb250ZXh0X2xpbmUgKCkgeworCWF3ayAnCisJCWZvdW5kIHtwcmludDsgZXhpdH0KKwkJL15AQC8ge2ZvdW5kID0gMX0KKwknCiB9CiAKLWludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLXsKLQlhKCk7Ci0JYigpOwotCXJldHVybiBoZWxsb193b3JsZCgpOworbGFzdF9jb250ZXh0X2xpbmUgKCkgeworCXNlZCAtbmUgXCRwCiB9Ci1FT0YKKworY2hlY2tfZGlmZiAoKSB7CisJbmFtZT0kMQorCWRlc2M9JDIKKwlvcHRpb25zPSItVyAkMyIKKworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRkZXNjIiAnCisJCWdpdCBkaWZmICRvcHRpb25zICIkbmFtZV4iICIkbmFtZSIgPiIkbmFtZS5kaWZmIgorCScKKworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyBkaWZmIGFwcGxpZXMnICcKKwkJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkIiAmJgorCQlnaXQgY2hlY2tvdXQgLS1kZXRhY2ggIiRuYW1lXiIgJiYKKwkJZ2l0IGFwcGx5IC0taW5kZXggIiRuYW1lLmRpZmYiICYmCisJCWdpdCBkaWZmIC0tZXhpdC1jb2RlICIkbmFtZSIKKwknCit9CiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCi0JZ2l0IGFkZCBoZWxsby5jICYmCi0JdGVzdF90aWNrICYmCi0JZ2l0IGNvbW1pdCAtbSBpbml0aWFsICYmCisJY2F0ICIkZGlyL2luY2x1ZGVzLmMiICIkZGlyL2R1bW15LmMiICIkZGlyL2R1bW15LmMiICIkZGlyL2hlbGxvLmMiIFwKKwkJIiRkaXIvZHVtbXkuYyIgIiRkaXIvZHVtbXkuYyIgPmZpbGUuYyAmJgorCWNvbW1pdF9hbmRfdGFnIGluaXRpYWwgZmlsZS5jICYmCiAKLQlncmVwIC12IENsYXNzaWMgPGhlbGxvLmMgPmhlbGxvLmMubmV3ICYmCi0JbXYgaGVsbG8uYy5uZXcgaGVsbG8uYworCWdyZXAgLXYgImRlbGV0ZSBtZSBmcm9tIGhlbGxvIiA8ZmlsZS5jID5maWxlLmMubmV3ICYmCisJbXYgZmlsZS5jLm5ldyBmaWxlLmMgJiYKKwljb21taXRfYW5kX3RhZyBjaGFuZ2VkX2hlbGxvIGZpbGUuYyAmJgorCisJZ3JlcCAtdiAiZGVsZXRlIG1lIGZyb20gaW5jbHVkZXMiIDxmaWxlLmMgPmZpbGUuYy5uZXcgJiYKKwltdiBmaWxlLmMubmV3IGZpbGUuYyAmJgorCWNvbW1pdF9hbmRfdGFnIGNoYW5nZWRfaW5jbHVkZXMgZmlsZS5jICYmCisKKwljYXQgIiRkaXIvYXBwZW5kZWQxLmMiID4+ZmlsZS5jICYmCisJY29tbWl0X2FuZF90YWcgYXBwZW5kZWQgZmlsZS5jICYmCisKKwljYXQgIiRkaXIvYXBwZW5kZWQyLmMiID4+ZmlsZS5jICYmCisJY29tbWl0X2FuZF90YWcgZXh0ZW5kZWQgZmlsZS5jICYmCisKKwlncmVwIC12ICJCZWdpbiBvZiBzZWNvbmQgcGFydCIgPGZpbGUuYyA+ZmlsZS5jLm5ldyAmJgorCW12IGZpbGUuYy5uZXcgZmlsZS5jICYmCisJY29tbWl0X2FuZF90YWcgbG9uZ19jb21tb25fdGFpbCBmaWxlLmMgJiYKKworCWdpdCBjaGVja291dCBpbml0aWFsICYmCisJY2F0ICIkZGlyL2hlbGxvLmMiICIkZGlyL2R1bW15LmMiID5maWxlLmMgJiYKKwljb21taXRfYW5kX3RhZyBoZWxsb19kdW1teSBmaWxlLmMgJiYKKworCSMgb3ZlcmxhcCBmdW5jdGlvbiBjb250ZXh0IG9mIDFzdCBjaGFuZ2UgYW5kIC11IGNvbnRleHQgb2YgMm5kIGNoYW5nZQorCWdyZXAgLXYgImRlbGV0ZSBtZSBmcm9tIGhlbGxvIiA8IiRkaXIvaGVsbG8uYyIgPmZpbGUuYyAmJgorCXNlZCAycCA8IiRkaXIvZHVtbXkuYyIgPj5maWxlLmMgJiYKKwljb21taXRfYW5kX3RhZyBjaGFuZ2VkX2hlbGxvX2R1bW15IGZpbGUuYyAmJgorCisJZ2l0IGNoZWNrb3V0IGluaXRpYWwgJiYKKwlncmVwIC12ICJkZWxldGUgbWUgZnJvbSBoZWxsbyIgPGZpbGUuYyA+ZmlsZS5jLm5ldyAmJgorCW12IGZpbGUuYy5uZXcgZmlsZS5jICYmCisJY2F0ICIkZGlyL2FwcGVuZGVkMS5jIiA+PmZpbGUuYyAmJgorCWNvbW1pdF9hbmRfdGFnIGNoYW5nZWRfaGVsbG9fYXBwZW5kZWQgZmlsZS5jCiAnCiAKLWNhdCA8PFxFT0YgPmV4cGVjdGVkCi1kaWZmIC0tZ2l0IGEvaGVsbG8uYyBiL2hlbGxvLmMKLS0tLSBhL2hlbGxvLmMKLSsrKyBiL2hlbGxvLmMKLUBAIC0xMCw4ICsxMCw3IEBAIHN0YXRpYyBpbnQgYSh2b2lkKQotIHN0YXRpYyBpbnQgaGVsbG9fd29ybGQodm9pZCkKLSB7Ci0tCS8qIENsYXNzaWMuICovCi0gCXByaW50ZigiSGVsbG8gd29ybGQuXG4iKTsKLSAKLSAJLyogU3VjY2VzcyEgKi8KLSAJcmV0dXJuIDA7Ci0gfQotRU9GCitjaGVja19kaWZmIGNoYW5nZWRfaGVsbG8gJ2NoYW5nZWQgZnVuY3Rpb24nCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYgLVUwIC1XJyAnCi0JZ2l0IGRpZmYgLVUwIC1XID5hY3R1YWwgJiYKLQljb21wYXJlX2RpZmZfcGF0Y2ggYWN0dWFsIGV4cGVjdGVkCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcgY29udGV4dCBpbmNsdWRlcyBiZWdpbicgJworCWdyZXAgIl4gLipCZWdpbiBvZiBoZWxsbyIgY2hhbmdlZF9oZWxsby5kaWZmCiAnCiAKLWNhdCA8PFxFT0YgPmV4cGVjdGVkCi1kaWZmIC0tZ2l0IGEvaGVsbG8uYyBiL2hlbGxvLmMKLS0tLSBhL2hlbGxvLmMKLSsrKyBiL2hlbGxvLmMKLUBAIC05LDkgKzksOCBAQCBzdGF0aWMgaW50IGEodm9pZCkKLSAKLSBzdGF0aWMgaW50IGhlbGxvX3dvcmxkKHZvaWQpCi0gewotLQkvKiBDbGFzc2ljLiAqLwotIAlwcmludGYoIkhlbGxvIHdvcmxkLlxuIik7Ci0gCi0gCS8qIFN1Y2Nlc3MhICovCi0gCXJldHVybiAwOwotIH0KLUVPRgordGVzdF9leHBlY3Rfc3VjY2VzcyAnIGNvbnRleHQgaW5jbHVkZXMgZW5kJyAnCisJZ3JlcCAiXiAuKkVuZCBvZiBoZWxsbyIgY2hhbmdlZF9oZWxsby5kaWZmCisnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYgLVcnICcKLQlnaXQgZGlmZiAtVyA+YWN0dWFsICYmCi0JY29tcGFyZV9kaWZmX3BhdGNoIGFjdHVhbCBleHBlY3RlZAordGVzdF9leHBlY3Rfc3VjY2VzcyAnIGNvbnRleHQgZG9lcyBub3QgaW5jbHVkZSBvdGhlciBmdW5jdGlvbnMnICcKKwl0ZXN0ICQoZ3JlcCAtYyAiXlsgKy1dLipCZWdpbiIgY2hhbmdlZF9oZWxsby5kaWZmKSAtbGUgMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcgY29udGV4dCBkb2VzIG5vdCBpbmNsdWRlIHByZWNlZGluZyBlbXB0eSBsaW5lcycgJworCXRlc3QgIiQoZmlyc3RfY29udGV4dF9saW5lIDxjaGFuZ2VkX2hlbGxvLmRpZmYpIiAhPSAiICIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnIGNvbnRleHQgZG9lcyBub3QgaW5jbHVkZSB0cmFpbGluZyBlbXB0eSBsaW5lcycgJworCXRlc3QgIiQobGFzdF9jb250ZXh0X2xpbmUgPGNoYW5nZWRfaGVsbG8uZGlmZikiICE9ICIgIgorJworCitjaGVja19kaWZmIGNoYW5nZWRfaW5jbHVkZXMgJ2NoYW5nZWQgaW5jbHVkZXMnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyBjb250ZXh0IGluY2x1ZGVzIGJlZ2luJyAnCisJZ3JlcCAiXiAuKkJlZ2luLmgiIGNoYW5nZWRfaW5jbHVkZXMuZGlmZgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcgY29udGV4dCBpbmNsdWRlcyBlbmQnICcKKwlncmVwICJeIC4qRW5kLmgiIGNoYW5nZWRfaW5jbHVkZXMuZGlmZgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcgY29udGV4dCBkb2VzIG5vdCBpbmNsdWRlIG90aGVyIGZ1bmN0aW9ucycgJworCXRlc3QgJChncmVwIC1jICJeWyArLV0uKkJlZ2luIiBjaGFuZ2VkX2luY2x1ZGVzLmRpZmYpIC1sZSAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyBjb250ZXh0IGRvZXMgbm90IGluY2x1ZGUgdHJhaWxpbmcgZW1wdHkgbGluZXMnICcKKwl0ZXN0ICIkKGxhc3RfY29udGV4dF9saW5lIDxjaGFuZ2VkX2luY2x1ZGVzLmRpZmYpIiAhPSAiICIKKycKKworY2hlY2tfZGlmZiBhcHBlbmRlZCAnYXBwZW5kZWQgZnVuY3Rpb24nCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyBjb250ZXh0IGluY2x1ZGVzIGJlZ2luJyAnCisJZ3JlcCAiXlsrXS4qQmVnaW4gb2YgZmlyc3QgcGFydCIgYXBwZW5kZWQuZGlmZgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcgY29udGV4dCBpbmNsdWRlcyBlbmQnICcKKwlncmVwICJeWytdLipFbmQgb2YgZmlyc3QgcGFydCIgYXBwZW5kZWQuZGlmZgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcgY29udGV4dCBkb2VzIG5vdCBpbmNsdWRlIG90aGVyIGZ1bmN0aW9ucycgJworCXRlc3QgJChncmVwIC1jICJeWyArLV0uKkJlZ2luIiBhcHBlbmRlZC5kaWZmKSAtbGUgMQorJworCitjaGVja19kaWZmIGV4dGVuZGVkICdhcHBlbmRlZCBmdW5jdGlvbiBwYXJ0JworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcgY29udGV4dCBpbmNsdWRlcyBiZWdpbicgJworCWdyZXAgIl4gLipCZWdpbiBvZiBmaXJzdCBwYXJ0IiBleHRlbmRlZC5kaWZmCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyBjb250ZXh0IGluY2x1ZGVzIGVuZCcgJworCWdyZXAgIl5bK10uKkVuZCBvZiBzZWNvbmQgcGFydCIgZXh0ZW5kZWQuZGlmZgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcgY29udGV4dCBkb2VzIG5vdCBpbmNsdWRlIG90aGVyIGZ1bmN0aW9ucycgJworCXRlc3QgJChncmVwIC1jICJeWyArLV0uKkJlZ2luIiBleHRlbmRlZC5kaWZmKSAtbGUgMgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcgY29udGV4dCBkb2VzIG5vdCBpbmNsdWRlIHByZWNlZGluZyBlbXB0eSBsaW5lcycgJworCXRlc3QgIiQoZmlyc3RfY29udGV4dF9saW5lIDxleHRlbmRlZC5kaWZmKSIgIT0gIiAiCisnCisKK2NoZWNrX2RpZmYgbG9uZ19jb21tb25fdGFpbCAnY2hhbmdlIHdpdGggbG9uZyBjb21tb24gdGFpbCBhbmQgbm8gY29udGV4dCcgLVUwCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyBjb250ZXh0IGluY2x1ZGVzIGJlZ2luJyAnCisJZ3JlcCAiXiAuKkJlZ2luIG9mIGZpcnN0IHBhcnQiIGxvbmdfY29tbW9uX3RhaWwuZGlmZgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcgY29udGV4dCBpbmNsdWRlcyBlbmQnICcKKwlncmVwICJeIC4qRW5kIG9mIHNlY29uZCBwYXJ0IiBsb25nX2NvbW1vbl90YWlsLmRpZmYKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnIGNvbnRleHQgZG9lcyBub3QgaW5jbHVkZSBvdGhlciBmdW5jdGlvbnMnICcKKwl0ZXN0ICQoZ3JlcCAtYyAiXlsgKy1dLipCZWdpbiIgbG9uZ19jb21tb25fdGFpbC5kaWZmKSAtbGUgMgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcgY29udGV4dCBkb2VzIG5vdCBpbmNsdWRlIHByZWNlZGluZyBlbXB0eSBsaW5lcycgJworCXRlc3QgIiQoZmlyc3RfY29udGV4dF9saW5lIDxsb25nX2NvbW1vbl90YWlsLmRpZmYuZGlmZikiICE9ICIgIgorJworCitjaGVja19kaWZmIGNoYW5nZWRfaGVsbG9fYXBwZW5kZWQgJ2NoYW5nZWQgZnVuY3Rpb24gcGx1cyBhcHBlbmRlZCBmdW5jdGlvbicKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnIGNvbnRleHQgaW5jbHVkZXMgYmVnaW4nICcKKwlncmVwICJeIC4qQmVnaW4gb2YgaGVsbG8iIGNoYW5nZWRfaGVsbG9fYXBwZW5kZWQuZGlmZiAmJgorCWdyZXAgIl5bK10uKkJlZ2luIG9mIGZpcnN0IHBhcnQiIGNoYW5nZWRfaGVsbG9fYXBwZW5kZWQuZGlmZgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcgY29udGV4dCBpbmNsdWRlcyBlbmQnICcKKwlncmVwICJeIC4qRW5kIG9mIGhlbGxvIiBjaGFuZ2VkX2hlbGxvX2FwcGVuZGVkLmRpZmYgJiYKKwlncmVwICJeWytdLipFbmQgb2YgZmlyc3QgcGFydCIgY2hhbmdlZF9oZWxsb19hcHBlbmRlZC5kaWZmCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyBjb250ZXh0IGRvZXMgbm90IGluY2x1ZGUgb3RoZXIgZnVuY3Rpb25zJyAnCisJdGVzdCAkKGdyZXAgLWMgIl5bICstXS4qQmVnaW4iIGNoYW5nZWRfaGVsbG9fYXBwZW5kZWQuZGlmZikgLWxlIDIKKycKKworY2hlY2tfZGlmZiBjaGFuZ2VkX2hlbGxvX2R1bW15ICdjaGFuZ2VkIHR3byBjb25zZWN1dGl2ZSBmdW5jdGlvbnMnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyBjb250ZXh0IGluY2x1ZGVzIGJlZ2luJyAnCisJZ3JlcCAiXiAuKkJlZ2luIG9mIGhlbGxvIiBjaGFuZ2VkX2hlbGxvX2R1bW15LmRpZmYgJiYKKwlncmVwICJeIC4qQmVnaW4gb2YgZHVtbXkiIGNoYW5nZWRfaGVsbG9fZHVtbXkuZGlmZgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcgY29udGV4dCBpbmNsdWRlcyBlbmQnICcKKwlncmVwICJeIC4qRW5kIG9mIGhlbGxvIiBjaGFuZ2VkX2hlbGxvX2R1bW15LmRpZmYgJiYKKwlncmVwICJeIC4qRW5kIG9mIGR1bW15IiBjaGFuZ2VkX2hlbGxvX2R1bW15LmRpZmYKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnIG92ZXJsYXBwaW5nIGh1bmtzIGFyZSBtZXJnZWQnICcKKwl0ZXN0ICQoZ3JlcCAtYyAiXkBAIiBjaGFuZ2VkX2hlbGxvX2R1bW15LmRpZmYpIC1lcSAxCiAnCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDA1MS9hcHBlbmRlZDEuYyBiL3QvdDQwNTEvYXBwZW5kZWQxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTlmNTZmMQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwNTEvYXBwZW5kZWQxLmMKQEAgLTAsMCArMSwxNSBAQAorCitpbnQgYXBwZW5kZWQodm9pZCkgLy8gQmVnaW4gb2YgZmlyc3QgcGFydAoreworCWludCBpOworCWNoYXIgKnMgPSAiYSBzdHJpbmciOworCisJcHJpbnRmKCIlc1xuIiwgcyk7CisKKwlmb3IgKGkgPSA5OTsKKwkgICAgIGkgPj0gMDsKKwkgICAgIGktLSkgeworCQlwcmludGYoIiVkIGJvdHRsZXMgb2YgYmVlciBvbiB0aGUgd2FsbFxuIiwgaSk7CisJfQorCisJcHJpbnRmKCJFbmQgb2YgZmlyc3QgcGFydFxuIik7CmRpZmYgLS1naXQgYS90L3Q0MDUxL2FwcGVuZGVkMi5jIGIvdC90NDA1MS9hcHBlbmRlZDIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjUxZjcxCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDA1MS9hcHBlbmRlZDIuYwpAQCAtMCwwICsxLDM1IEBACisJcHJpbnRmKCJCZWdpbiBvZiBzZWNvbmQgcGFydFxuIik7CisKKwkvKgorCSAqIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgc2FkaXBzY2luZyBlbGl0ciwKKwkgKiBzZWQgZGlhbSBub251bXkgZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlCisJICogbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW0gdm9sdXB0dWEuIEF0IHZlcm8gZW9zIGV0CisJICogYWNjdXNhbSBldCBqdXN0byBkdW8gZG9sb3JlcyBldCBlYSByZWJ1bS4gU3RldCBjbGl0YSBrYXNkCisJICogZ3ViZXJncmVuLCBubyBzZWEgdGFraW1hdGEgc2FuY3R1cyBlc3QgTG9yZW0gaXBzdW0gZG9sb3IKKwkgKiBzaXQgYW1ldC4KKwkgKgorCSAqIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgc2FkaXBzY2luZyBlbGl0ciwKKwkgKiBzZWQgZGlhbSBub251bXkgZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlCisJICogbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW0gdm9sdXB0dWEuIEF0IHZlcm8gZW9zIGV0CisJICogYWNjdXNhbSBldCBqdXN0byBkdW8gZG9sb3JlcyBldCBlYSByZWJ1bS4gU3RldCBjbGl0YSBrYXNkCisJICogZ3ViZXJncmVuLCBubyBzZWEgdGFraW1hdGEgc2FuY3R1cyBlc3QgTG9yZW0gaXBzdW0gZG9sb3IKKwkgKiBzaXQgYW1ldC4KKwkgKgorCSAqIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgc2FkaXBzY2luZyBlbGl0ciwKKwkgKiBzZWQgZGlhbSBub251bXkgZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlCisJICogbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW0gdm9sdXB0dWEuIEF0IHZlcm8gZW9zIGV0CisJICogYWNjdXNhbSBldCBqdXN0byBkdW8gZG9sb3JlcyBldCBlYSByZWJ1bS4gU3RldCBjbGl0YSBrYXNkCisJICogZ3ViZXJncmVuLCBubyBzZWEgdGFraW1hdGEgc2FuY3R1cyBlc3QgTG9yZW0gaXBzdW0gZG9sb3IKKwkgKiBzaXQgYW1ldC4KKwkgKgorCSAqIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgc2FkaXBzY2luZyBlbGl0ciwKKwkgKiBzZWQgZGlhbSBub251bXkgZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlCisJICogbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW0gdm9sdXB0dWEuIEF0IHZlcm8gZW9zIGV0CisJICogYWNjdXNhbSBldCBqdXN0byBkdW8gZG9sb3JlcyBldCBlYSByZWJ1bS4gU3RldCBjbGl0YSBrYXNkCisJICogZ3ViZXJncmVuLCBubyBzZWEgdGFraW1hdGEgc2FuY3R1cyBlc3QgTG9yZW0gaXBzdW0gZG9sb3IKKwkgKiBzaXQgYW1ldC4KKwkgKgorCSAqLworCisJcmV0dXJuIDA7Cit9CS8vIEVuZCBvZiBzZWNvbmQgcGFydApkaWZmIC0tZ2l0IGEvdC90NDA1MS9kdW1teS5jIGIvdC90NDA1MS9kdW1teS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0MzAxNmUKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDUxL2R1bW15LmMKQEAgLTAsMCArMSw3IEBACisKK3N0YXRpYyBpbnQgZHVtbXkodm9pZCkJLy8gQmVnaW4gb2YgZHVtbXkKK3sKKwlpbnQgcmMgPSAwOworCisJcmV0dXJuIHJjOworfQkvLyBFbmQgb2YgZHVtbXkKZGlmZiAtLWdpdCBhL3QvdDQwNTEvaGVsbG8uYyBiL3QvdDQwNTEvaGVsbG8uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2IxYTFlCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDA1MS9oZWxsby5jCkBAIC0wLDAgKzEsMjEgQEAKKworc3RhdGljIHZvaWQgaGVsbG8odm9pZCkJLy8gQmVnaW4gb2YgaGVsbG8KK3sKKwkvKgorCSAqIENsYXNzaWMuCisJICovCisJcHV0Y2hhcignSCcpOworCXB1dGNoYXIoJ2UnKTsKKwlwdXRjaGFyKCdsJyk7CisJcHV0Y2hhcignbCcpOworCXB1dGNoYXIoJ28nKTsKKwlwdXRjaGFyKCcgJyk7CisJLyogZGVsZXRlIG1lIGZyb20gaGVsbG8gKi8KKwlwdXRjaGFyKCd3Jyk7CisJcHV0Y2hhcignbycpOworCXB1dGNoYXIoJ3InKTsKKwlwdXRjaGFyKCdsJyk7CisJcHV0Y2hhcignZCcpOworCXB1dGNoYXIoJy4nKTsKKwlwdXRjaGFyKCdcbicpOworfQkvLyBFbmQgb2YgaGVsbG8KZGlmZiAtLWdpdCBhL3QvdDQwNTEvaW5jbHVkZXMuYyBiL3QvdDQwNTEvaW5jbHVkZXMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZmM2OGY4Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NDA1MS9pbmNsdWRlcy5jCkBAIC0wLDAgKzEsMjAgQEAKKyNpbmNsdWRlIDxCZWdpbi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorLyogZGVsZXRlIG1lIGZyb20gaW5jbHVkZXMgKi8KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxyZWdleC5oPgorI2luY2x1ZGUgPHV0aW1lLmg+CisjaW5jbHVkZSA8c3lzbG9nLmg+CisjaW5jbHVkZSA8RW5kLmg+CmRpZmYgLS1naXQgYS90L3Q0MDUzLWRpZmYtbm8taW5kZXguc2ggYi90L3Q0MDUzLWRpZmYtbm8taW5kZXguc2gKaW5kZXggNmViODMyMS4uNDUzZTZjMyAxMDA3NTUKLS0tIGEvdC90NDA1My1kaWZmLW5vLWluZGV4LnNoCisrKyBiL3QvdDQwNTMtZGlmZi1uby1pbmRleC5zaApAQCAtODksNCArODksNDIgQEAKIAkpCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYgZnJvbSByZXBvIHN1YmRpciBzaG93cyByZWFsIHBhdGhzIChleHBsaWNpdCknICcKKwllY2hvICJkaWZmIC0tZ2l0IGEvLi4vLi4vbm9uL2dpdC9hIGIvLi4vLi4vbm9uL2dpdC9iIiA+ZXhwZWN0ICYmCisJdGVzdF9leHBlY3RfY29kZSAxIFwKKwkJZ2l0IC1DIHJlcG8vc3ViIFwKKwkJZGlmZiAtLW5vLWluZGV4IC4uLy4uL25vbi9naXQvYSAuLi8uLi9ub24vZ2l0L2IgPmFjdHVhbCAmJgorCWhlYWQgLW4gMSA8YWN0dWFsID5hY3R1YWwuaGVhZCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwuaGVhZAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmIGZyb20gcmVwbyBzdWJkaXIgc2hvd3MgcmVhbCBwYXRocyAoaW1wbGljaXQpJyAnCisJZWNobyAiZGlmZiAtLWdpdCBhLy4uLy4uL25vbi9naXQvYSBiLy4uLy4uL25vbi9naXQvYiIgPmV4cGVjdCAmJgorCXRlc3RfZXhwZWN0X2NvZGUgMSBcCisJCWdpdCAtQyByZXBvL3N1YiBcCisJCWRpZmYgLi4vLi4vbm9uL2dpdC9hIC4uLy4uL25vbi9naXQvYiA+YWN0dWFsICYmCisJaGVhZCAtbiAxIDxhY3R1YWwgPmFjdHVhbC5oZWFkICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbC5oZWFkCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYgLS1uby1pbmRleCBmcm9tIHJlcG8gc3ViZGlyIHJlc3BlY3RzIGNvbmZpZyAoZXhwbGljaXQpJyAnCisJZWNobyAiZGlmZiAtLWdpdCAuLi8uLi9ub24vZ2l0L2EgLi4vLi4vbm9uL2dpdC9iIiA+ZXhwZWN0ICYmCisJdGVzdF9jb25maWcgLUMgcmVwbyBkaWZmLm5vcHJlZml4IHRydWUgJiYKKwl0ZXN0X2V4cGVjdF9jb2RlIDEgXAorCQlnaXQgLUMgcmVwby9zdWIgXAorCQlkaWZmIC0tbm8taW5kZXggLi4vLi4vbm9uL2dpdC9hIC4uLy4uL25vbi9naXQvYiA+YWN0dWFsICYmCisJaGVhZCAtbiAxIDxhY3R1YWwgPmFjdHVhbC5oZWFkICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbC5oZWFkCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYgLS1uby1pbmRleCBmcm9tIHJlcG8gc3ViZGlyIHJlc3BlY3RzIGNvbmZpZyAoaW1wbGljaXQpJyAnCisJZWNobyAiZGlmZiAtLWdpdCAuLi8uLi9ub24vZ2l0L2EgLi4vLi4vbm9uL2dpdC9iIiA+ZXhwZWN0ICYmCisJdGVzdF9jb25maWcgLUMgcmVwbyBkaWZmLm5vcHJlZml4IHRydWUgJiYKKwl0ZXN0X2V4cGVjdF9jb2RlIDEgXAorCQlnaXQgLUMgcmVwby9zdWIgXAorCQlkaWZmIC4uLy4uL25vbi9naXQvYSAuLi8uLi9ub24vZ2l0L2IgPmFjdHVhbCAmJgorCWhlYWQgLW4gMSA8YWN0dWFsID5hY3R1YWwuaGVhZCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwuaGVhZAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQwNTQtZGlmZi1ib2d1cy10cmVlLnNoIGIvdC90NDA1NC1kaWZmLWJvZ3VzLXRyZWUuc2gKaW5kZXggMWQ2ZWZhYi4uMThmNDJjNSAxMDA3NTUKLS0tIGEvdC90NDA1NC1kaWZmLWJvZ3VzLXRyZWUuc2gKKysrIGIvdC90NDA1NC1kaWZmLWJvZ3VzLXRyZWUuc2gKQEAgLTMsOCArMyw2IEBACiB0ZXN0X2Rlc2NyaXB0aW9uPSd0ZXN0IGRpZmYgd2l0aCBhIGJvZ3VzIHRyZWUgY29udGFpbmluZyB0aGUgbnVsbCBzaGExJwogLiAuL3Rlc3QtbGliLnNoCiAKLWVtcHR5X3RyZWU9NGI4MjVkYzY0MmNiNmViOWEwNjBlNTRiZjhkNjkyODhmYmVlNDkwNAotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgYm9ndXMgdHJlZScgJwogCWJvZ3VzX3RyZWU9JCgKIAkJcHJpbnRmICIxMDA2NDQgZm9vUVFRUVFRUVFRUVFRUVFRUVFRUVFRIiB8CkBAIC0yMiwxMyArMjAsMTMgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmF3IGRpZmYgc2hvd3MgbnVsbCBzaGExIChhZGRpdGlvbiknICcKIAllY2hvICI6MDAwMDAwIDEwMDY0NCAkX3o0MCAkX3o0MCBBCWZvbyIgPmV4cGVjdCAmJgotCWdpdCBkaWZmLXRyZWUgJGVtcHR5X3RyZWUgJGJvZ3VzX3RyZWUgPmFjdHVhbCAmJgorCWdpdCBkaWZmLXRyZWUgJEVNUFRZX1RSRUUgJGJvZ3VzX3RyZWUgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmF3IGRpZmYgc2hvd3MgbnVsbCBzaGExIChyZW1vdmFsKScgJwogCWVjaG8gIjoxMDA2NDQgMDAwMDAwICRfejQwICRfejQwIEQJZm9vIiA+ZXhwZWN0ICYmCi0JZ2l0IGRpZmYtdHJlZSAkYm9ndXNfdHJlZSAkZW1wdHlfdHJlZSA+YWN0dWFsICYmCisJZ2l0IGRpZmYtdHJlZSAkYm9ndXNfdHJlZSAkRU1QVFlfVFJFRSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCkBAIC01NywxMSArNTUsMTEgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncGF0Y2ggZmFpbHMgZHVlIHRvIGJvZ3VzIHNoYTEgKGFkZGl0aW9uKScgJwotCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmLXRyZWUgLXAgJGVtcHR5X3RyZWUgJGJvZ3VzX3RyZWUKKwl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZi10cmVlIC1wICRFTVBUWV9UUkVFICRib2d1c190cmVlCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhdGNoIGZhaWxzIGR1ZSB0byBib2d1cyBzaGExIChyZW1vdmFsKScgJwotCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmLXRyZWUgLXAgJGJvZ3VzX3RyZWUgJGVtcHR5X3RyZWUKKwl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZi10cmVlIC1wICRib2d1c190cmVlICRFTVBUWV9UUkVFCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhdGNoIGZhaWxzIGR1ZSB0byBib2d1cyBzaGExIChtb2RpZmljYXRpb24pJyAnCmRpZmYgLS1naXQgYS90L3Q0MDU5LWRpZmYtc3VibW9kdWxlLW5vdC1pbml0aWFsaXplZC5zaCBiL3QvdDQwNTktZGlmZi1zdWJtb2R1bGUtbm90LWluaXRpYWxpemVkLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkNzBmZDUKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDU5LWRpZmYtc3VibW9kdWxlLW5vdC1pbml0aWFsaXplZC5zaApAQCAtMCwwICsxLDEyNyBAQAorIyEvYmluL3NoCisjCisjIENvcHlyaWdodCAoYykgMjAxNiBKYWNvYiBLZWxsZXIsIGJhc2VkIG9uIHQ0MDQxIGJ5IEplbnMgTGVobWFubgorIworCit0ZXN0X2Rlc2NyaXB0aW9uPSdUZXN0IGZvciBzdWJtb2R1bGUgZGlmZiBvbiBub24tY2hlY2tlZCBvdXQgc3VibW9kdWxlCisKK1RoaXMgdGVzdCB0cmllcyB0byB2ZXJpZnkgdGhhdCBhZGRfc3VibW9kdWxlX29kYiB3b3JrcyB3aGVuIHRoZSBzdWJtb2R1bGUgd2FzCitpbml0aWFsaXplZCBwcmV2aW91c2x5IGJ1dCB0aGUgY2hlY2tvdXQgaGFzIHNpbmNlIGJlZW4gcmVtb3ZlZC4KKycKKworLiAuL3Rlc3QtbGliLnNoCisKKyMgVGVzdGVkIG5vbi1VVEYtOCBlbmNvZGluZwordGVzdF9lbmNvZGluZz0iSVNPODg1OS0xIgorCisjIFN0cmluZyAiYWRkZWQiIGluIEdlcm1hbiAodHJhbnNsYXRlZCB3aXRoIEdvb2dsZSBUcmFuc2xhdGUpLCBlbmNvZGVkIGluIFVURi04LAorIyB1c2VkIGluIHNhbXBsZSBjb21taXQgbG9nIG1lc3NhZ2VzIGluIGFkZF9maWxlKCkgZnVuY3Rpb24gYmVsb3cuCithZGRlZD0kKHByaW50ZiAiaGluenVnZWZcMzAzXDI3NGd0IikKKworYWRkX2ZpbGUgKCkgeworCSgKKwkJY2QgIiQxIiAmJgorCQlzaGlmdCAmJgorCQlmb3IgbmFtZQorCQlkbworCQkJZWNobyAiJG5hbWUiID4iJG5hbWUiICYmCisJCQlnaXQgYWRkICIkbmFtZSIgJiYKKwkJCXRlc3RfdGljayAmJgorCQkJIyAiZ2l0IGNvbW1pdCAtbSIgd291bGQgYnJlYWsgTWluR1csIGFzIFdpbmRvd3MgcmVmdXNlIHRvIHBhc3MKKwkJCSMgJHRlc3RfZW5jb2RpbmcgZW5jb2RlZCBwYXJhbWV0ZXIgdG8gZ2l0LgorCQkJZWNobyAiQWRkICRuYW1lICgkYWRkZWQgJG5hbWUpIiB8IGljb252IC1mIHV0Zi04IC10ICR0ZXN0X2VuY29kaW5nIHwKKwkJCWdpdCAtYyAiaTE4bi5jb21taXRFbmNvZGluZz0kdGVzdF9lbmNvZGluZyIgY29tbWl0IC1GIC0KKwkJZG9uZSA+L2Rldi9udWxsICYmCisJCWdpdCByZXYtcGFyc2UgLS1zaG9ydCAtLXZlcmlmeSBIRUFECisJKQorfQorCitjb21taXRfZmlsZSAoKSB7CisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAiJEAiIC1tICJDb21taXQgJCoiID4vZGV2L251bGwKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgLSBzdWJtb2R1bGVzJyAnCisJdGVzdF9jcmVhdGVfcmVwbyBzbTIgJiYKKwlhZGRfZmlsZSAuIGZvbyAmJgorCWFkZF9maWxlIHNtMiBmb28xIGZvbzIgJiYKKwlzbWhlYWQxPSQoZ2l0IC1DIHNtMiByZXYtcGFyc2UgLS1zaG9ydCAtLXZlcmlmeSBIRUFEKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCAtIGdpdCBzdWJtb2R1bGUgYWRkJyAnCisJZ2l0IHN1Ym1vZHVsZSBhZGQgLi9zbTIgc20xICYmCisJY29tbWl0X2ZpbGUgc20xIC5naXRtb2R1bGVzICYmCisJZ2l0IGRpZmYtdHJlZSAtcCAtLW5vLWNvbW1pdC1pZCAtLXN1Ym1vZHVsZT1sb2cgSEVBRCAtLSBzbTEgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJU3VibW9kdWxlIHNtMSAwMDAwMDAwLi4uJHNtaGVhZDEgKG5ldyBzdWJtb2R1bGUpCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSBkaXJlY3RvcnkgcmVtb3ZlZCcgJworCXJtIC1yZiBzbTEgJiYKKwlnaXQgZGlmZi10cmVlIC1wIC0tbm8tY29tbWl0LWlkIC0tc3VibW9kdWxlPWxvZyBIRUFEIC0tIHNtMSA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlTdWJtb2R1bGUgc20xIDAwMDAwMDAuLi4kc21oZWFkMSAobmV3IHN1Ym1vZHVsZSkKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgLSBzdWJtb2R1bGUgbXVsdGlwbGUgY29tbWl0cycgJworCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC0tY2hlY2tvdXQgc20xICYmCisJc21oZWFkMj0kKGFkZF9maWxlIHNtMSBmb28zIGZvbzQpICYmCisJY29tbWl0X2ZpbGUgc20xICYmCisJZ2l0IGRpZmYtdHJlZSAtcCAtLW5vLWNvbW1pdC1pZCAtLXN1Ym1vZHVsZT1sb2cgSEVBRCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlTdWJtb2R1bGUgc20xICRzbWhlYWQxLi4kc21oZWFkMjoKKwkgID4gQWRkIGZvbzQgKCRhZGRlZCBmb280KQorCSAgPiBBZGQgZm9vMyAoJGFkZGVkIGZvbzMpCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSByZW1vdmVkIG11bHRpcGxlIGNvbW1pdHMnICcKKwlybSAtcmYgc20xICYmCisJZ2l0IGRpZmYtdHJlZSAtcCAtLW5vLWNvbW1pdC1pZCAtLXN1Ym1vZHVsZT1sb2cgSEVBRCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlTdWJtb2R1bGUgc20xICRzbWhlYWQxLi4kc21oZWFkMjoKKwkgID4gQWRkIGZvbzQgKCRhZGRlZCBmb280KQorCSAgPiBBZGQgZm9vMyAoJGFkZGVkIGZvbzMpCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSBub3QgaW5pdGlhbGl6ZWQgaW4gbmV3IGNsb25lJyAnCisJZ2l0IGNsb25lIC4gc20zICYmCisJZ2l0IC1DIHNtMyBkaWZmLXRyZWUgLXAgLS1uby1jb21taXQtaWQgLS1zdWJtb2R1bGU9bG9nIEhFQUQgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJU3VibW9kdWxlIHNtMSAkc21oZWFkMS4uLiRzbWhlYWQyIChub3QgaW5pdGlhbGl6ZWQpCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHN1Ym1vZHVsZSBtb3ZlZCcgJworCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC0tY2hlY2tvdXQgc20xICYmCisJZ2l0IG12IHNtMSBzbTQgJiYKKwljb21taXRfZmlsZSBzbTQgJiYKKwlnaXQgZGlmZi10cmVlIC1wIC0tbm8tY29tbWl0LWlkIC0tc3VibW9kdWxlPWxvZyBIRUFEID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCVN1Ym1vZHVsZSBzbTQgMDAwMDAwMC4uLiRzbWhlYWQyIChuZXcgc3VibW9kdWxlKQorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgbW92ZWQgdGhlbiByZW1vdmVkJyAnCisJc21oZWFkMz0kKGFkZF9maWxlIHNtNCBmb282IGZvbzcpICYmCisJY29tbWl0X2ZpbGUgc200ICYmCisJcm0gLXJmIHNtNCAmJgorCWdpdCBkaWZmLXRyZWUgLXAgLS1uby1jb21taXQtaWQgLS1zdWJtb2R1bGU9bG9nIEhFQUQgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJU3VibW9kdWxlIHNtNCAkc21oZWFkMi4uJHNtaGVhZDM6CisJICA+IEFkZCBmb283ICgkYWRkZWQgZm9vNykKKwkgID4gQWRkIGZvbzYgKCRhZGRlZCBmb282KQorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQwNjAtZGlmZi1zdWJtb2R1bGUtb3B0aW9uLWRpZmYtZm9ybWF0LnNoIGIvdC90NDA2MC1kaWZmLXN1Ym1vZHVsZS1vcHRpb24tZGlmZi1mb3JtYXQuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2UyM2I1NQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwNjAtZGlmZi1zdWJtb2R1bGUtb3B0aW9uLWRpZmYtZm9ybWF0LnNoCkBAIC0wLDAgKzEsNzQ5IEBACisjIS9iaW4vc2gKKyMKKyMgQ29weXJpZ2h0IChjKSAyMDA5IEplbnMgTGVobWFubiwgYmFzZWQgb24gdDc0MDEgYnkgUGluZyBZaW4KKyMgQ29weXJpZ2h0IChjKSAyMDExIEFsZXhleSBTaHVta2luICgrIG5vbi1VVEYtOCBjb21taXQgZW5jb2RpbmcgdGVzdHMpCisjIENvcHlyaWdodCAoYykgMjAxNiBKYWNvYiBLZWxsZXIgKGNvcHkgKyBjb252ZXJ0IHRvIC0tc3VibW9kdWxlPWRpZmYpCisjCisKK3Rlc3RfZGVzY3JpcHRpb249J1N1cHBvcnQgZm9yIGRpZmYgZm9ybWF0IHZlcmJvc2Ugc3VibW9kdWxlIGRpZmZlcmVuY2UgaW4gZ2l0IGRpZmYKKworVGhpcyB0ZXN0IHRyaWVzIHRvIHZlcmlmeSB0aGUgc2FuaXR5IG9mIC0tc3VibW9kdWxlPWRpZmYgb3B0aW9uIG9mIGdpdCBkaWZmLgorJworCisuIC4vdGVzdC1saWIuc2gKKworIyBUZXN0ZWQgbm9uLVVURi04IGVuY29kaW5nCit0ZXN0X2VuY29kaW5nPSJJU084ODU5LTEiCisKKyMgU3RyaW5nICJhZGRlZCIgaW4gR2VybWFuICh0cmFuc2xhdGVkIHdpdGggR29vZ2xlIFRyYW5zbGF0ZSksIGVuY29kZWQgaW4gVVRGLTgsCisjIHVzZWQgaW4gc2FtcGxlIGNvbW1pdCBsb2cgbWVzc2FnZXMgaW4gYWRkX2ZpbGUoKSBmdW5jdGlvbiBiZWxvdy4KK2FkZGVkPSQocHJpbnRmICJoaW56dWdlZlwzMDNcMjc0Z3QiKQorCithZGRfZmlsZSAoKSB7CisJKAorCQljZCAiJDEiICYmCisJCXNoaWZ0ICYmCisJCWZvciBuYW1lCisJCWRvCisJCQllY2hvICIkbmFtZSIgPiIkbmFtZSIgJiYKKwkJCWdpdCBhZGQgIiRuYW1lIiAmJgorCQkJdGVzdF90aWNrICYmCisJCQkjICJnaXQgY29tbWl0IC1tIiB3b3VsZCBicmVhayBNaW5HVywgYXMgV2luZG93cyByZWZ1c2UgdG8gcGFzcworCQkJIyAkdGVzdF9lbmNvZGluZyBlbmNvZGVkIHBhcmFtZXRlciB0byBnaXQuCisJCQllY2hvICJBZGQgJG5hbWUgKCRhZGRlZCAkbmFtZSkiIHwgaWNvbnYgLWYgdXRmLTggLXQgJHRlc3RfZW5jb2RpbmcgfAorCQkJZ2l0IC1jICJpMThuLmNvbW1pdEVuY29kaW5nPSR0ZXN0X2VuY29kaW5nIiBjb21taXQgLUYgLQorCQlkb25lID4vZGV2L251bGwgJiYKKwkJZ2l0IHJldi1wYXJzZSAtLXNob3J0IC0tdmVyaWZ5IEhFQUQKKwkpCit9CisKK2NvbW1pdF9maWxlICgpIHsKKwl0ZXN0X3RpY2sgJiYKKwlnaXQgY29tbWl0ICIkQCIgLW0gIkNvbW1pdCAkKiIgPi9kZXYvbnVsbAorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByZXBvc2l0b3J5JyAnCisJdGVzdF9jcmVhdGVfcmVwbyBzbTEgJiYKKwlhZGRfZmlsZSAuIGZvbyAmJgorCWhlYWQxPSQoYWRkX2ZpbGUgc20xIGZvbzEgZm9vMikgJiYKKwlmdWxsaGVhZDE9JChnaXQgLUMgc20xIHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGRlZCBzdWJtb2R1bGUnICcKKwlnaXQgYWRkIHNtMSAmJgorCWdpdCBkaWZmLWluZGV4IC1wIC0tc3VibW9kdWxlPWRpZmYgSEVBRCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlTdWJtb2R1bGUgc20xIDAwMDAwMDAuLi4kaGVhZDEgKG5ldyBzdWJtb2R1bGUpCisJZGlmZiAtLWdpdCBhL3NtMS9mb28xIGIvc20xL2ZvbzEKKwluZXcgZmlsZSBtb2RlIDEwMDY0NAorCWluZGV4IDAwMDAwMDAuLjE3MTVhY2QKKwktLS0gL2Rldi9udWxsCisJKysrIGIvc20xL2ZvbzEKKwlAQCAtMCwwICsxIEBACisJK2ZvbzEKKwlkaWZmIC0tZ2l0IGEvc20xL2ZvbzIgYi9zbTEvZm9vMgorCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJaW5kZXggMDAwMDAwMC4uNTRiMDYwZQorCS0tLSAvZGV2L251bGwKKwkrKysgYi9zbTEvZm9vMgorCUBAIC0wLDAgKzEgQEAKKwkrZm9vMgorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGRlZCBzdWJtb2R1bGUsIHNldCBkaWZmLnN1Ym1vZHVsZScgJworCXRlc3RfY29uZmlnIGRpZmYuc3VibW9kdWxlIGxvZyAmJgorCWdpdCBhZGQgc20xICYmCisJZ2l0IGRpZmYtaW5kZXggLXAgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCVN1Ym1vZHVsZSBzbTEgMDAwMDAwMC4uLiRoZWFkMSAobmV3IHN1Ym1vZHVsZSkKKwlkaWZmIC0tZ2l0IGEvc20xL2ZvbzEgYi9zbTEvZm9vMQorCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJaW5kZXggMDAwMDAwMC4uMTcxNWFjZAorCS0tLSAvZGV2L251bGwKKwkrKysgYi9zbTEvZm9vMQorCUBAIC0wLDAgKzEgQEAKKwkrZm9vMQorCWRpZmYgLS1naXQgYS9zbTEvZm9vMiBiL3NtMS9mb28yCisJbmV3IGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCAwMDAwMDAwLi41NGIwNjBlCisJLS0tIC9kZXYvbnVsbAorCSsrKyBiL3NtMS9mb28yCisJQEAgLTAsMCArMSBAQAorCStmb28yCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc3VibW9kdWxlPXNob3J0IG92ZXJyaWRlcyBkaWZmLnN1Ym1vZHVsZScgJworCXRlc3RfY29uZmlnIGRpZmYuc3VibW9kdWxlIGxvZyAmJgorCWdpdCBhZGQgc20xICYmCisJZ2l0IGRpZmYgLS1zdWJtb2R1bGU9c2hvcnQgLS1jYWNoZWQgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJZGlmZiAtLWdpdCBhL3NtMSBiL3NtMQorCW5ldyBmaWxlIG1vZGUgMTYwMDAwCisJaW5kZXggMDAwMDAwMC4uJGhlYWQxCisJLS0tIC9kZXYvbnVsbAorCSsrKyBiL3NtMQorCUBAIC0wLDAgKzEgQEAKKwkrU3VicHJvamVjdCBjb21taXQgJGZ1bGxoZWFkMQorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmLnN1Ym1vZHVsZSBkb2VzIG5vdCBhZmZlY3QgcGx1bWJpbmcnICcKKwl0ZXN0X2NvbmZpZyBkaWZmLnN1Ym1vZHVsZSBsb2cgJiYKKwlnaXQgZGlmZi1pbmRleCAtcCBIRUFEID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCWRpZmYgLS1naXQgYS9zbTEgYi9zbTEKKwluZXcgZmlsZSBtb2RlIDE2MDAwMAorCWluZGV4IDAwMDAwMDAuLiRoZWFkMQorCS0tLSAvZGV2L251bGwKKwkrKysgYi9zbTEKKwlAQCAtMCwwICsxIEBACisJK1N1YnByb2plY3QgY29tbWl0ICRmdWxsaGVhZDEKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKworY29tbWl0X2ZpbGUgc20xICYmCitoZWFkMj0kKGFkZF9maWxlIHNtMSBmb28zKQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtb2RpZmllZCBzdWJtb2R1bGUoZm9yd2FyZCknICcKKwlnaXQgZGlmZi1pbmRleCAtcCAtLXN1Ym1vZHVsZT1kaWZmIEhFQUQgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJU3VibW9kdWxlIHNtMSAkaGVhZDEuLiRoZWFkMjoKKwlkaWZmIC0tZ2l0IGEvc20xL2ZvbzMgYi9zbTEvZm9vMworCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJaW5kZXggMDAwMDAwMC4uYzFlYzZjNgorCS0tLSAvZGV2L251bGwKKwkrKysgYi9zbTEvZm9vMworCUBAIC0wLDAgKzEgQEAKKwkrZm9vMworCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtb2RpZmllZCBzdWJtb2R1bGUoZm9yd2FyZCknICcKKwlnaXQgZGlmZiAtLXN1Ym1vZHVsZT1kaWZmID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCVN1Ym1vZHVsZSBzbTEgJGhlYWQxLi4kaGVhZDI6CisJZGlmZiAtLWdpdCBhL3NtMS9mb28zIGIvc20xL2ZvbzMKKwluZXcgZmlsZSBtb2RlIDEwMDY0NAorCWluZGV4IDAwMDAwMDAuLmMxZWM2YzYKKwktLS0gL2Rldi9udWxsCisJKysrIGIvc20xL2ZvbzMKKwlAQCAtMCwwICsxIEBACisJK2ZvbzMKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbW9kaWZpZWQgc3VibW9kdWxlKGZvcndhcmQpIC0tc3VibW9kdWxlJyAnCisJZ2l0IGRpZmYgLS1zdWJtb2R1bGUgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJU3VibW9kdWxlIHNtMSAkaGVhZDEuLiRoZWFkMjoKKwkgID4gQWRkIGZvbzMgKCRhZGRlZCBmb28zKQorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCitmdWxsaGVhZDI9JChjZCBzbTE7IGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCkKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZShmb3J3YXJkKSAtLXN1Ym1vZHVsZT1zaG9ydCcgJworCWdpdCBkaWZmIC0tc3VibW9kdWxlPXNob3J0ID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCWRpZmYgLS1naXQgYS9zbTEgYi9zbTEKKwlpbmRleCAkaGVhZDEuLiRoZWFkMiAxNjAwMDAKKwktLS0gYS9zbTEKKwkrKysgYi9zbTEKKwlAQCAtMSArMSBAQAorCS1TdWJwcm9qZWN0IGNvbW1pdCAkZnVsbGhlYWQxCisJK1N1YnByb2plY3QgY29tbWl0ICRmdWxsaGVhZDIKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKworY29tbWl0X2ZpbGUgc20xICYmCitoZWFkMz0kKAorCWNkIHNtMSAmJgorCWdpdCByZXNldCAtLWhhcmQgSEVBRH4yID4vZGV2L251bGwgJiYKKwlnaXQgcmV2LXBhcnNlIC0tc2hvcnQgLS12ZXJpZnkgSEVBRAorKQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtb2RpZmllZCBzdWJtb2R1bGUoYmFja3dhcmQpJyAnCisJZ2l0IGRpZmYtaW5kZXggLXAgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCVN1Ym1vZHVsZSBzbTEgJGhlYWQyLi4kaGVhZDMgKHJld2luZCk6CisJZGlmZiAtLWdpdCBhL3NtMS9mb28yIGIvc20xL2ZvbzIKKwlkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCA1NGIwNjBlLi4wMDAwMDAwCisJLS0tIGEvc20xL2ZvbzIKKwkrKysgL2Rldi9udWxsCisJQEAgLTEgKzAsMCBAQAorCS1mb28yCisJZGlmZiAtLWdpdCBhL3NtMS9mb28zIGIvc20xL2ZvbzMKKwlkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCBjMWVjNmM2Li4wMDAwMDAwCisJLS0tIGEvc20xL2ZvbzMKKwkrKysgL2Rldi9udWxsCisJQEAgLTEgKzAsMCBAQAorCS1mb28zCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK2hlYWQ0PSQoYWRkX2ZpbGUgc20xIGZvbzQgZm9vNSkKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZShiYWNrd2FyZCBhbmQgZm9yd2FyZCknICcKKwlnaXQgZGlmZi1pbmRleCAtcCAtLXN1Ym1vZHVsZT1kaWZmIEhFQUQgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJU3VibW9kdWxlIHNtMSAkaGVhZDIuLi4kaGVhZDQ6CisJZGlmZiAtLWdpdCBhL3NtMS9mb28yIGIvc20xL2ZvbzIKKwlkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCA1NGIwNjBlLi4wMDAwMDAwCisJLS0tIGEvc20xL2ZvbzIKKwkrKysgL2Rldi9udWxsCisJQEAgLTEgKzAsMCBAQAorCS1mb28yCisJZGlmZiAtLWdpdCBhL3NtMS9mb28zIGIvc20xL2ZvbzMKKwlkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCBjMWVjNmM2Li4wMDAwMDAwCisJLS0tIGEvc20xL2ZvbzMKKwkrKysgL2Rldi9udWxsCisJQEAgLTEgKzAsMCBAQAorCS1mb28zCisJZGlmZiAtLWdpdCBhL3NtMS9mb280IGIvc20xL2ZvbzQKKwluZXcgZmlsZSBtb2RlIDEwMDY0NAorCWluZGV4IDAwMDAwMDAuLmEwMDE2ZGIKKwktLS0gL2Rldi9udWxsCisJKysrIGIvc20xL2ZvbzQKKwlAQCAtMCwwICsxIEBACisJK2ZvbzQKKwlkaWZmIC0tZ2l0IGEvc20xL2ZvbzUgYi9zbTEvZm9vNQorCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJaW5kZXggMDAwMDAwMC4uZDZmMjQxMworCS0tLSAvZGV2L251bGwKKwkrKysgYi9zbTEvZm9vNQorCUBAIC0wLDAgKzEgQEAKKwkrZm9vNQorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCitjb21taXRfZmlsZSBzbTEgJiYKK212IHNtMSBzbTEtYmFrICYmCitlY2hvIHNtMSA+c20xICYmCitoZWFkNT0kKGdpdCBoYXNoLW9iamVjdCBzbTEgfCBjdXQgLWMxLTcpICYmCitnaXQgYWRkIHNtMSAmJgorcm0gLWYgc20xICYmCittdiBzbTEtYmFrIHNtMQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0eXBlY2hhbmdlZCBzdWJtb2R1bGUoc3VibW9kdWxlLT5ibG9iKSwgLS1jYWNoZWQnICcKKwlnaXQgZGlmZiAtLXN1Ym1vZHVsZT1kaWZmIC0tY2FjaGVkID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCVN1Ym1vZHVsZSBzbTEgJGhlYWQ0Li4uMDAwMDAwMCAoc3VibW9kdWxlIGRlbGV0ZWQpCisJZGlmZiAtLWdpdCBhL3NtMS9mb28xIGIvc20xL2ZvbzEKKwlkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCAxNzE1YWNkLi4wMDAwMDAwCisJLS0tIGEvc20xL2ZvbzEKKwkrKysgL2Rldi9udWxsCisJQEAgLTEgKzAsMCBAQAorCS1mb28xCisJZGlmZiAtLWdpdCBhL3NtMS9mb280IGIvc20xL2ZvbzQKKwlkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCBhMDAxNmRiLi4wMDAwMDAwCisJLS0tIGEvc20xL2ZvbzQKKwkrKysgL2Rldi9udWxsCisJQEAgLTEgKzAsMCBAQAorCS1mb280CisJZGlmZiAtLWdpdCBhL3NtMS9mb281IGIvc20xL2ZvbzUKKwlkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCBkNmYyNDEzLi4wMDAwMDAwCisJLS0tIGEvc20xL2ZvbzUKKwkrKysgL2Rldi9udWxsCisJQEAgLTEgKzAsMCBAQAorCS1mb281CisJZGlmZiAtLWdpdCBhL3NtMSBiL3NtMQorCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJaW5kZXggMDAwMDAwMC4uOWRhNWZiOAorCS0tLSAvZGV2L251bGwKKwkrKysgYi9zbTEKKwlAQCAtMCwwICsxIEBACisJK3NtMQorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0eXBlY2hhbmdlZCBzdWJtb2R1bGUoc3VibW9kdWxlLT5ibG9iKScgJworCWdpdCBkaWZmIC0tc3VibW9kdWxlPWRpZmYgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJZGlmZiAtLWdpdCBhL3NtMSBiL3NtMQorCWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAorCWluZGV4IDlkYTVmYjguLjAwMDAwMDAKKwktLS0gYS9zbTEKKwkrKysgL2Rldi9udWxsCisJQEAgLTEgKzAsMCBAQAorCS1zbTEKKwlTdWJtb2R1bGUgc20xIDAwMDAwMDAuLi4kaGVhZDQgKG5ldyBzdWJtb2R1bGUpCisJZGlmZiAtLWdpdCBhL3NtMS9mb28xIGIvc20xL2ZvbzEKKwluZXcgZmlsZSBtb2RlIDEwMDY0NAorCWluZGV4IDAwMDAwMDAuLjE3MTVhY2QKKwktLS0gL2Rldi9udWxsCisJKysrIGIvc20xL2ZvbzEKKwlAQCAtMCwwICsxIEBACisJK2ZvbzEKKwlkaWZmIC0tZ2l0IGEvc20xL2ZvbzQgYi9zbTEvZm9vNAorCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJaW5kZXggMDAwMDAwMC4uYTAwMTZkYgorCS0tLSAvZGV2L251bGwKKwkrKysgYi9zbTEvZm9vNAorCUBAIC0wLDAgKzEgQEAKKwkrZm9vNAorCWRpZmYgLS1naXQgYS9zbTEvZm9vNSBiL3NtMS9mb281CisJbmV3IGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCAwMDAwMDAwLi5kNmYyNDEzCisJLS0tIC9kZXYvbnVsbAorCSsrKyBiL3NtMS9mb281CisJQEAgLTAsMCArMSBAQAorCStmb281CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3JtIC1yZiBzbTEgJiYKK2dpdCBjaGVja291dC1pbmRleCBzbTEKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3R5cGVjaGFuZ2VkIHN1Ym1vZHVsZShzdWJtb2R1bGUtPmJsb2IpJyAnCisJZ2l0IGRpZmYtaW5kZXggLXAgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCVN1Ym1vZHVsZSBzbTEgJGhlYWQ0Li4uMDAwMDAwMCAoc3VibW9kdWxlIGRlbGV0ZWQpCisJZGlmZiAtLWdpdCBhL3NtMSBiL3NtMQorCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJaW5kZXggMDAwMDAwMC4uOWRhNWZiOAorCS0tLSAvZGV2L251bGwKKwkrKysgYi9zbTEKKwlAQCAtMCwwICsxIEBACisJK3NtMQorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCitybSAtZiBzbTEgJiYKK3Rlc3RfY3JlYXRlX3JlcG8gc20xICYmCitoZWFkNj0kKGFkZF9maWxlIHNtMSBmb282IGZvbzcpCitmdWxsaGVhZDY9JChjZCBzbTE7IGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCkKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vbmV4aXN0ZW50IGNvbW1pdCcgJworCWdpdCBkaWZmLWluZGV4IC1wIC0tc3VibW9kdWxlPWRpZmYgSEVBRCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlTdWJtb2R1bGUgc20xICRoZWFkNC4uLiRoZWFkNiAoY29tbWl0cyBub3QgcHJlc2VudCkKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKworY29tbWl0X2ZpbGUKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3R5cGVjaGFuZ2VkIHN1Ym1vZHVsZShibG9iLT5zdWJtb2R1bGUpJyAnCisJZ2l0IGRpZmYtaW5kZXggLXAgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCWRpZmYgLS1naXQgYS9zbTEgYi9zbTEKKwlkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCA5ZGE1ZmI4Li4wMDAwMDAwCisJLS0tIGEvc20xCisJKysrIC9kZXYvbnVsbAorCUBAIC0xICswLDAgQEAKKwktc20xCisJU3VibW9kdWxlIHNtMSAwMDAwMDAwLi4uJGhlYWQ2IChuZXcgc3VibW9kdWxlKQorCWRpZmYgLS1naXQgYS9zbTEvZm9vNiBiL3NtMS9mb282CisJbmV3IGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCAwMDAwMDAwLi40NjIzOThiCisJLS0tIC9kZXYvbnVsbAorCSsrKyBiL3NtMS9mb282CisJQEAgLTAsMCArMSBAQAorCStmb282CisJZGlmZiAtLWdpdCBhL3NtMS9mb283IGIvc20xL2ZvbzcKKwluZXcgZmlsZSBtb2RlIDEwMDY0NAorCWluZGV4IDAwMDAwMDAuLjZlOTI2MmMKKwktLS0gL2Rldi9udWxsCisJKysrIGIvc20xL2ZvbzcKKwlAQCAtMCwwICsxIEBACisJK2ZvbzcKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKworY29tbWl0X2ZpbGUgc20xICYmCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgaXMgdXAgdG8gZGF0ZScgJworCWdpdCBkaWZmLWluZGV4IC1wIC0tc3VibW9kdWxlPWRpZmYgSEVBRCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3VibW9kdWxlIGNvbnRhaW5zIHVudHJhY2tlZCBjb250ZW50JyAnCisJZWNobyBuZXcgPiBzbTEvbmV3LWZpbGUgJiYKKwlnaXQgZGlmZi1pbmRleCAtcCAtLXN1Ym1vZHVsZT1kaWZmIEhFQUQgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJU3VibW9kdWxlIHNtMSBjb250YWlucyB1bnRyYWNrZWQgY29udGVudAorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgY29udGFpbnMgdW50cmFja2VkIGNvbnRlbnQgKHVudHJhY2tlZCBpZ25vcmVkKScgJworCWdpdCBkaWZmLWluZGV4IC1wIC0taWdub3JlLXN1Ym1vZHVsZXM9dW50cmFja2VkIC0tc3VibW9kdWxlPWRpZmYgSEVBRCA+YWN0dWFsICYmCisJISB0ZXN0IC1zIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgY29udGFpbnMgdW50cmFja2VkIGNvbnRlbnQgKGRpcnR5IGlnbm9yZWQpJyAnCisJZ2l0IGRpZmYtaW5kZXggLXAgLS1pZ25vcmUtc3VibW9kdWxlcz1kaXJ0eSAtLXN1Ym1vZHVsZT1kaWZmIEhFQUQgPmFjdHVhbCAmJgorCSEgdGVzdCAtcyBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3VibW9kdWxlIGNvbnRhaW5zIHVudHJhY2tlZCBjb250ZW50IChhbGwgaWdub3JlZCknICcKKwlnaXQgZGlmZi1pbmRleCAtcCAtLWlnbm9yZS1zdWJtb2R1bGVzPWFsbCAtLXN1Ym1vZHVsZT1kaWZmIEhFQUQgPmFjdHVhbCAmJgorCSEgdGVzdCAtcyBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3VibW9kdWxlIGNvbnRhaW5zIHVudHJhY2tlZCBhbmQgbW9kaWZpZWQgY29udGVudCcgJworCWVjaG8gbmV3ID4gc20xL2ZvbzYgJiYKKwlnaXQgZGlmZi1pbmRleCAtcCAtLXN1Ym1vZHVsZT1kaWZmIEhFQUQgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJU3VibW9kdWxlIHNtMSBjb250YWlucyB1bnRyYWNrZWQgY29udGVudAorCVN1Ym1vZHVsZSBzbTEgY29udGFpbnMgbW9kaWZpZWQgY29udGVudAorCWRpZmYgLS1naXQgYS9zbTEvZm9vNiBiL3NtMS9mb282CisJaW5kZXggNDYyMzk4Yi4uM2U3NTc2NSAxMDA2NDQKKwktLS0gYS9zbTEvZm9vNgorCSsrKyBiL3NtMS9mb282CisJQEAgLTEgKzEgQEAKKwktZm9vNgorCStuZXcKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKworIyBOT1QgT0sKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgYW5kIG1vZGlmaWVkIGNvbnRlbnQgKHVudHJhY2tlZCBpZ25vcmVkKScgJworCWVjaG8gbmV3ID4gc20xL2ZvbzYgJiYKKwlnaXQgZGlmZi1pbmRleCAtcCAtLWlnbm9yZS1zdWJtb2R1bGVzPXVudHJhY2tlZCAtLXN1Ym1vZHVsZT1kaWZmIEhFQUQgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJU3VibW9kdWxlIHNtMSBjb250YWlucyBtb2RpZmllZCBjb250ZW50CisJZGlmZiAtLWdpdCBhL3NtMS9mb282IGIvc20xL2ZvbzYKKwlpbmRleCA0NjIzOThiLi4zZTc1NzY1IDEwMDY0NAorCS0tLSBhL3NtMS9mb282CisJKysrIGIvc20xL2ZvbzYKKwlAQCAtMSArMSBAQAorCS1mb282CisJK25ldworCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgY29udGFpbnMgdW50cmFja2VkIGFuZCBtb2RpZmllZCBjb250ZW50IChkaXJ0eSBpZ25vcmVkKScgJworCWVjaG8gbmV3ID4gc20xL2ZvbzYgJiYKKwlnaXQgZGlmZi1pbmRleCAtcCAtLWlnbm9yZS1zdWJtb2R1bGVzPWRpcnR5IC0tc3VibW9kdWxlPWRpZmYgSEVBRCA+YWN0dWFsICYmCisJISB0ZXN0IC1zIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgY29udGFpbnMgdW50cmFja2VkIGFuZCBtb2RpZmllZCBjb250ZW50IChhbGwgaWdub3JlZCknICcKKwllY2hvIG5ldyA+IHNtMS9mb282ICYmCisJZ2l0IGRpZmYtaW5kZXggLXAgLS1pZ25vcmUtc3VibW9kdWxlcyAtLXN1Ym1vZHVsZT1kaWZmIEhFQUQgPmFjdHVhbCAmJgorCSEgdGVzdCAtcyBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3VibW9kdWxlIGNvbnRhaW5zIG1vZGlmaWVkIGNvbnRlbnQnICcKKwlybSAtZiBzbTEvbmV3LWZpbGUgJiYKKwlnaXQgZGlmZi1pbmRleCAtcCAtLXN1Ym1vZHVsZT1kaWZmIEhFQUQgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJU3VibW9kdWxlIHNtMSBjb250YWlucyBtb2RpZmllZCBjb250ZW50CisJZGlmZiAtLWdpdCBhL3NtMS9mb282IGIvc20xL2ZvbzYKKwlpbmRleCA0NjIzOThiLi4zZTc1NzY1IDEwMDY0NAorCS0tLSBhL3NtMS9mb282CisJKysrIGIvc20xL2ZvbzYKKwlAQCAtMSArMSBAQAorCS1mb282CisJK25ldworCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCisoY2Qgc20xOyBnaXQgY29tbWl0IC1tY2hhbmdlIGZvbzYgPi9kZXYvbnVsbCkgJiYKK2hlYWQ4PSQoY2Qgc20xOyBnaXQgcmV2LXBhcnNlIC0tc2hvcnQgLS12ZXJpZnkgSEVBRCkgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSBpcyBtb2RpZmllZCcgJworCWdpdCBkaWZmLWluZGV4IC1wIC0tc3VibW9kdWxlPWRpZmYgSEVBRCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlTdWJtb2R1bGUgc20xIDE3MjQzYzkuLiRoZWFkODoKKwlkaWZmIC0tZ2l0IGEvc20xL2ZvbzYgYi9zbTEvZm9vNgorCWluZGV4IDQ2MjM5OGIuLjNlNzU3NjUgMTAwNjQ0CisJLS0tIGEvc20xL2ZvbzYKKwkrKysgYi9zbTEvZm9vNgorCUBAIC0xICsxIEBACisJLWZvbzYKKwkrbmV3CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgY29udGVudCcgJworCWVjaG8gbmV3ID4gc20xL25ldy1maWxlICYmCisJZ2l0IGRpZmYtaW5kZXggLXAgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCVN1Ym1vZHVsZSBzbTEgY29udGFpbnMgdW50cmFja2VkIGNvbnRlbnQKKwlTdWJtb2R1bGUgc20xIDE3MjQzYzkuLiRoZWFkODoKKwlkaWZmIC0tZ2l0IGEvc20xL2ZvbzYgYi9zbTEvZm9vNgorCWluZGV4IDQ2MjM5OGIuLjNlNzU3NjUgMTAwNjQ0CisJLS0tIGEvc20xL2ZvbzYKKwkrKysgYi9zbTEvZm9vNgorCUBAIC0xICsxIEBACisJLWZvbzYKKwkrbmV3CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgY29udGVudCAodW50cmFja2VkIGlnbm9yZWQpJyAnCisJZ2l0IGRpZmYtaW5kZXggLXAgLS1pZ25vcmUtc3VibW9kdWxlcz11bnRyYWNrZWQgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCVN1Ym1vZHVsZSBzbTEgMTcyNDNjOS4uJGhlYWQ4OgorCWRpZmYgLS1naXQgYS9zbTEvZm9vNiBiL3NtMS9mb282CisJaW5kZXggNDYyMzk4Yi4uM2U3NTc2NSAxMDA2NDQKKwktLS0gYS9zbTEvZm9vNgorCSsrKyBiL3NtMS9mb282CisJQEAgLTEgKzEgQEAKKwktZm9vNgorCStuZXcKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbW9kaWZpZWQgc3VibW9kdWxlIGNvbnRhaW5zIHVudHJhY2tlZCBjb250ZW50IChkaXJ0eSBpZ25vcmVkKScgJworCWdpdCBkaWZmLWluZGV4IC1wIC0taWdub3JlLXN1Ym1vZHVsZXM9ZGlydHkgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCVN1Ym1vZHVsZSBzbTEgMTcyNDNjOS4uY2ZjZTU2MjoKKwlkaWZmIC0tZ2l0IGEvc20xL2ZvbzYgYi9zbTEvZm9vNgorCWluZGV4IDQ2MjM5OGIuLjNlNzU3NjUgMTAwNjQ0CisJLS0tIGEvc20xL2ZvbzYKKwkrKysgYi9zbTEvZm9vNgorCUBAIC0xICsxIEBACisJLWZvbzYKKwkrbmV3CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgY29udGVudCAoYWxsIGlnbm9yZWQpJyAnCisJZ2l0IGRpZmYtaW5kZXggLXAgLS1pZ25vcmUtc3VibW9kdWxlcz1hbGwgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKKwkhIHRlc3QgLXMgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgYW5kIG1vZGlmaWVkIGNvbnRlbnQnICcKKwllY2hvIG1vZGlmaWNhdGlvbiA+PiBzbTEvZm9vNiAmJgorCWdpdCBkaWZmLWluZGV4IC1wIC0tc3VibW9kdWxlPWRpZmYgSEVBRCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlTdWJtb2R1bGUgc20xIGNvbnRhaW5zIHVudHJhY2tlZCBjb250ZW50CisJU3VibW9kdWxlIHNtMSBjb250YWlucyBtb2RpZmllZCBjb250ZW50CisJU3VibW9kdWxlIHNtMSAxNzI0M2M5Li5jZmNlNTYyOgorCWRpZmYgLS1naXQgYS9zbTEvZm9vNiBiL3NtMS9mb282CisJaW5kZXggNDYyMzk4Yi4uZGZkYTU0MSAxMDA2NDQKKwktLS0gYS9zbTEvZm9vNgorCSsrKyBiL3NtMS9mb282CisJQEAgLTEgKzEsMiBAQAorCS1mb282CisJK25ldworCSttb2RpZmljYXRpb24KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbW9kaWZpZWQgc3VibW9kdWxlIGNvbnRhaW5zIHVudHJhY2tlZCBhbmQgbW9kaWZpZWQgY29udGVudCAodW50cmFja2VkIGlnbm9yZWQpJyAnCisJZWNobyBtb2RpZmljYXRpb24gPj4gc20xL2ZvbzYgJiYKKwlnaXQgZGlmZi1pbmRleCAtcCAtLWlnbm9yZS1zdWJtb2R1bGVzPXVudHJhY2tlZCAtLXN1Ym1vZHVsZT1kaWZmIEhFQUQgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJU3VibW9kdWxlIHNtMSBjb250YWlucyBtb2RpZmllZCBjb250ZW50CisJU3VibW9kdWxlIHNtMSAxNzI0M2M5Li5jZmNlNTYyOgorCWRpZmYgLS1naXQgYS9zbTEvZm9vNiBiL3NtMS9mb282CisJaW5kZXggNDYyMzk4Yi4uZTIwZTJkOSAxMDA2NDQKKwktLS0gYS9zbTEvZm9vNgorCSsrKyBiL3NtMS9mb282CisJQEAgLTEgKzEsMyBAQAorCS1mb282CisJK25ldworCSttb2RpZmljYXRpb24KKwkrbW9kaWZpY2F0aW9uCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgYW5kIG1vZGlmaWVkIGNvbnRlbnQgKGRpcnR5IGlnbm9yZWQpJyAnCisJZWNobyBtb2RpZmljYXRpb24gPj4gc20xL2ZvbzYgJiYKKwlnaXQgZGlmZi1pbmRleCAtcCAtLWlnbm9yZS1zdWJtb2R1bGVzPWRpcnR5IC0tc3VibW9kdWxlPWRpZmYgSEVBRCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlTdWJtb2R1bGUgc20xIDE3MjQzYzkuLmNmY2U1NjI6CisJZGlmZiAtLWdpdCBhL3NtMS9mb282IGIvc20xL2ZvbzYKKwlpbmRleCA0NjIzOThiLi4zZTc1NzY1IDEwMDY0NAorCS0tLSBhL3NtMS9mb282CisJKysrIGIvc20xL2ZvbzYKKwlAQCAtMSArMSBAQAorCS1mb282CisJK25ldworCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtb2RpZmllZCBzdWJtb2R1bGUgY29udGFpbnMgdW50cmFja2VkIGFuZCBtb2RpZmllZCBjb250ZW50IChhbGwgaWdub3JlZCknICcKKwllY2hvIG1vZGlmaWNhdGlvbiA+PiBzbTEvZm9vNiAmJgorCWdpdCBkaWZmLWluZGV4IC1wIC0taWdub3JlLXN1Ym1vZHVsZXMgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKKwkhIHRlc3QgLXMgYWN0dWFsCisnCisKKyMgTk9UIE9LCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtb2RpZmllZCBzdWJtb2R1bGUgY29udGFpbnMgbW9kaWZpZWQgY29udGVudCcgJworCXJtIC1mIHNtMS9uZXctZmlsZSAmJgorCWdpdCBkaWZmLWluZGV4IC1wIC0tc3VibW9kdWxlPWRpZmYgSEVBRCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlTdWJtb2R1bGUgc20xIGNvbnRhaW5zIG1vZGlmaWVkIGNvbnRlbnQKKwlTdWJtb2R1bGUgc20xIDE3MjQzYzkuLmNmY2U1NjI6CisJZGlmZiAtLWdpdCBhL3NtMS9mb282IGIvc20xL2ZvbzYKKwlpbmRleCA0NjIzOThiLi5hYzQ2NmNhIDEwMDY0NAorCS0tLSBhL3NtMS9mb282CisJKysrIGIvc20xL2ZvbzYKKwlAQCAtMSArMSw1IEBACisJLWZvbzYKKwkrbmV3CisJK21vZGlmaWNhdGlvbgorCSttb2RpZmljYXRpb24KKwkrbW9kaWZpY2F0aW9uCisJK21vZGlmaWNhdGlvbgorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCitybSAtcmYgc20xCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWxldGVkIHN1Ym1vZHVsZScgJworCWdpdCBkaWZmLWluZGV4IC1wIC0tc3VibW9kdWxlPWRpZmYgSEVBRCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlTdWJtb2R1bGUgc20xIDE3MjQzYzkuLi4wMDAwMDAwIChzdWJtb2R1bGUgZGVsZXRlZCkKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9jcmVhdGVfcmVwbyBzbTIgJiYKK2hlYWQ3PSQoYWRkX2ZpbGUgc20yIGZvbzggZm9vOSkgJiYKK2dpdCBhZGQgc20yCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ211bHRpcGxlIHN1Ym1vZHVsZXMnICcKKwlnaXQgZGlmZi1pbmRleCAtcCAtLXN1Ym1vZHVsZT1kaWZmIEhFQUQgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJU3VibW9kdWxlIHNtMSAxNzI0M2M5Li4uMDAwMDAwMCAoc3VibW9kdWxlIGRlbGV0ZWQpCisJU3VibW9kdWxlIHNtMiAwMDAwMDAwLi4uYTVhNjVjOSAobmV3IHN1Ym1vZHVsZSkKKwlkaWZmIC0tZ2l0IGEvc20yL2ZvbzggYi9zbTIvZm9vOAorCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJaW5kZXggMDAwMDAwMC4uZGI5OTE2YgorCS0tLSAvZGV2L251bGwKKwkrKysgYi9zbTIvZm9vOAorCUBAIC0wLDAgKzEgQEAKKwkrZm9vOAorCWRpZmYgLS1naXQgYS9zbTIvZm9vOSBiL3NtMi9mb285CisJbmV3IGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCAwMDAwMDAwLi45YzNiNGY2CisJLS0tIC9kZXYvbnVsbAorCSsrKyBiL3NtMi9mb285CisJQEAgLTAsMCArMSBAQAorCStmb285CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhdGggZmlsdGVyJyAnCisJZ2l0IGRpZmYtaW5kZXggLXAgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEIHNtMiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKKwlTdWJtb2R1bGUgc20yIDAwMDAwMDAuLi5hNWE2NWM5IChuZXcgc3VibW9kdWxlKQorCWRpZmYgLS1naXQgYS9zbTIvZm9vOCBiL3NtMi9mb284CisJbmV3IGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCAwMDAwMDAwLi5kYjk5MTZiCisJLS0tIC9kZXYvbnVsbAorCSsrKyBiL3NtMi9mb284CisJQEAgLTAsMCArMSBAQAorCStmb284CisJZGlmZiAtLWdpdCBhL3NtMi9mb285IGIvc20yL2ZvbzkKKwluZXcgZmlsZSBtb2RlIDEwMDY0NAorCWluZGV4IDAwMDAwMDAuLjljM2I0ZjYKKwktLS0gL2Rldi9udWxsCisJKysrIGIvc20yL2ZvbzkKKwlAQCAtMCwwICsxIEBACisJK2ZvbzkKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKworY29tbWl0X2ZpbGUgc20yCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXZlbiBjb21taXQnICcKKwlnaXQgZGlmZi1pbmRleCAtcCAtLXN1Ym1vZHVsZT1kaWZmIEhFQUReID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCVN1Ym1vZHVsZSBzbTEgMTcyNDNjOS4uLjAwMDAwMDAgKHN1Ym1vZHVsZSBkZWxldGVkKQorCVN1Ym1vZHVsZSBzbTIgMDAwMDAwMC4uLmE1YTY1YzkgKG5ldyBzdWJtb2R1bGUpCisJZGlmZiAtLWdpdCBhL3NtMi9mb284IGIvc20yL2ZvbzgKKwluZXcgZmlsZSBtb2RlIDEwMDY0NAorCWluZGV4IDAwMDAwMDAuLmRiOTkxNmIKKwktLS0gL2Rldi9udWxsCisJKysrIGIvc20yL2ZvbzgKKwlAQCAtMCwwICsxIEBACisJK2ZvbzgKKwlkaWZmIC0tZ2l0IGEvc20yL2ZvbzkgYi9zbTIvZm9vOQorCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJaW5kZXggMDAwMDAwMC4uOWMzYjRmNgorCS0tLSAvZGV2L251bGwKKwkrKysgYi9zbTIvZm9vOQorCUBAIC0wLDAgKzEgQEAKKwkrZm9vOQorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCAuZ2l0IGZpbGUgZm9yIHNtMicgJworCShjZCBzbTIgJiYKKwkgUkVBTD0iJChwd2QpLy4uLy5yZWFsIiAmJgorCSBtdiAuZ2l0ICIkUkVBTCIKKwkgZWNobyAiZ2l0ZGlyOiAkUkVBTCIgPi5naXQpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYgLS1zdWJtb2R1bGU9ZGlmZiB3aXRoIC5naXQgZmlsZScgJworCWdpdCBkaWZmIC0tc3VibW9kdWxlPWRpZmYgSEVBRF4gPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJU3VibW9kdWxlIHNtMSAxNzI0M2M5Li4uMDAwMDAwMCAoc3VibW9kdWxlIGRlbGV0ZWQpCisJU3VibW9kdWxlIHNtMiAwMDAwMDAwLi4uYTVhNjVjOSAobmV3IHN1Ym1vZHVsZSkKKwlkaWZmIC0tZ2l0IGEvc20yL2ZvbzggYi9zbTIvZm9vOAorCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJaW5kZXggMDAwMDAwMC4uZGI5OTE2YgorCS0tLSAvZGV2L251bGwKKwkrKysgYi9zbTIvZm9vOAorCUBAIC0wLDAgKzEgQEAKKwkrZm9vOAorCWRpZmYgLS1naXQgYS9zbTIvZm9vOSBiL3NtMi9mb285CisJbmV3IGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCAwMDAwMDAwLi45YzNiNGY2CisJLS0tIC9kZXYvbnVsbAorCSsrKyBiL3NtMi9mb285CisJQEAgLTAsMCArMSBAQAorCStmb285CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDA2MS1kaWZmLWluZGVudC5zaCBiL3QvdDQwNjEtZGlmZi1pbmRlbnQuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTU2NDUwNgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwNjEtZGlmZi1pbmRlbnQuc2gKQEAgLTAsMCArMSwyMTYgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdUZXN0IGRpZmYgaW5kZW50IGhldXJpc3RpYy4KKworJworLiAuL3Rlc3QtbGliLnNoCisuICIkVEVTVF9ESVJFQ1RPUlkiL2RpZmYtbGliLnNoCisKKyMgQ29tcGFyZSB0d28gZGlmZiBvdXRwdXRzLiBJZ25vcmUgImluZGV4IiBsaW5lcywgYmVjYXVzZSB3ZSBkb24ndAorIyBjYXJlIGFib3V0IFNIQS0xcyBvciBmaWxlIG1vZGVzLgorY29tcGFyZV9kaWZmICgpIHsKKwlzZWQgLWUgIi9eaW5kZXggL2QiIDwiJDEiID4udG1wLTEKKwlzZWQgLWUgIi9eaW5kZXggL2QiIDwiJDIiID4udG1wLTIKKwl0ZXN0X2NtcCAudG1wLTEgLnRtcC0yICYmIHJtIC1mIC50bXAtMSAudG1wLTIKK30KKworIyBDb21wYXJlIGJsYW1lIG91dHB1dCB1c2luZyB0aGUgZXhwZWN0YXRpb24gZm9yIGEgZGlmZiBhcyByZWZlcmVuY2UuCisjIE9ubHkgbG9vayBmb3IgdGhlIGxpbmVzIGNvbWluZyBmcm9tIG5vbi1ib3VuZGFyeSBjb21taXRzLgorY29tcGFyZV9ibGFtZSAoKSB7CisJc2VkIC1uIC1lICIxLDRkIiAtZSAicy9eXCsvL3AiIDwiJDEiID4udG1wLTEKKwlzZWQgLW5lICJzL15bXl5dW14pXSopICovL3AiIDwiJDIiID4udG1wLTIKKwl0ZXN0X2NtcCAudG1wLTEgLnRtcC0yICYmIHJtIC1mIC50bXAtMSAudG1wLTIKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHJlcGFyZScgJworCWNhdCA8PC1cRU9GID5zcGFjZXMudHh0ICYmCisJMQorCTIKKwlhCisKKwliCisJMworCTQKKwlFT0YKKworCWNhdCA8PC1cRU9GID5mdW5jdGlvbnMuYyAmJgorCTEKKwkyCisJLyogZnVuY3Rpb24gKi8KKwlmb28oKSB7CisJICAgIGZvbworCX0KKworCTMKKwk0CisJRU9GCisKKwlnaXQgYWRkIHNwYWNlcy50eHQgZnVuY3Rpb25zLmMgJiYKKwl0ZXN0X3RpY2sgJiYKKwlnaXQgY29tbWl0IC1tIGluaXRpYWwgJiYKKwlnaXQgYnJhbmNoIG9sZCAmJgorCisJY2F0IDw8LVxFT0YgPnNwYWNlcy50eHQgJiYKKwkxCisJMgorCWEKKworCWIKKwlhCisKKwliCisJMworCTQKKwlFT0YKKworCWNhdCA8PC1cRU9GID5mdW5jdGlvbnMuYyAmJgorCTEKKwkyCisJLyogZnVuY3Rpb24gKi8KKwliYXIoKSB7CisJICAgIGZvbworCX0KKworCS8qIGZ1bmN0aW9uICovCisJZm9vKCkgeworCSAgICBmb28KKwl9CisKKwkzCisJNAorCUVPRgorCisJZ2l0IGFkZCBzcGFjZXMudHh0IGZ1bmN0aW9ucy5jICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtbSBpbml0aWFsICYmCisJZ2l0IGJyYW5jaCBuZXcgJiYKKworCXRyICJfIiAiICIgPDwtXEVPRiA+c3BhY2VzLWV4cGVjdCAmJgorCWRpZmYgLS1naXQgYS9zcGFjZXMudHh0IGIvc3BhY2VzLnR4dAorCS0tLSBhL3NwYWNlcy50eHQKKwkrKysgYi9zcGFjZXMudHh0CisJQEAgLTMsNSArMyw4IEBACisJIGEKKwlfCisJIGIKKwkrYQorCSsKKwkrYgorCSAzCisJIDQKKwlFT0YKKworCXRyICJfIiAiICIgPDwtXEVPRiA+c3BhY2VzLWNvbXBhY3RlZC1leHBlY3QgJiYKKwlkaWZmIC0tZ2l0IGEvc3BhY2VzLnR4dCBiL3NwYWNlcy50eHQKKwktLS0gYS9zcGFjZXMudHh0CisJKysrIGIvc3BhY2VzLnR4dAorCUBAIC0yLDYgKzIsOSBAQAorCSAyCisJIGEKKwlfCisJK2IKKwkrYQorCSsKKwkgYgorCSAzCisJIDQKKwlFT0YKKworCXRyICJfIiAiICIgPDwtXEVPRiA+ZnVuY3Rpb25zLWV4cGVjdCAmJgorCWRpZmYgLS1naXQgYS9mdW5jdGlvbnMuYyBiL2Z1bmN0aW9ucy5jCisJLS0tIGEvZnVuY3Rpb25zLmMKKwkrKysgYi9mdW5jdGlvbnMuYworCUBAIC0xLDYgKzEsMTEgQEAKKwkgMQorCSAyCisJIC8qIGZ1bmN0aW9uICovCisJK2JhcigpIHsKKwkrICAgIGZvbworCSt9CisJKworCSsvKiBmdW5jdGlvbiAqLworCSBmb28oKSB7CisJICAgICBmb28KKwkgfQorCUVPRgorCisJdHIgIl8iICIgIiA8PC1cRU9GID5mdW5jdGlvbnMtY29tcGFjdGVkLWV4cGVjdAorCWRpZmYgLS1naXQgYS9mdW5jdGlvbnMuYyBiL2Z1bmN0aW9ucy5jCisJLS0tIGEvZnVuY3Rpb25zLmMKKwkrKysgYi9mdW5jdGlvbnMuYworCUBAIC0xLDUgKzEsMTAgQEAKKwkgMQorCSAyCisJKy8qIGZ1bmN0aW9uICovCisJK2JhcigpIHsKKwkrICAgIGZvbworCSt9CisJKworCSAvKiBmdW5jdGlvbiAqLworCSBmb28oKSB7CisJICAgICBmb28KKwlFT0YKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZjogdWdseSBzcGFjZXMnICcKKwlnaXQgZGlmZiBvbGQgbmV3IC0tIHNwYWNlcy50eHQgPm91dCAmJgorCWNvbXBhcmVfZGlmZiBzcGFjZXMtZXhwZWN0IG91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmOiBuaWNlIHNwYWNlcyB3aXRoIC0taW5kZW50LWhldXJpc3RpYycgJworCWdpdCBkaWZmIC0taW5kZW50LWhldXJpc3RpYyBvbGQgbmV3IC0tIHNwYWNlcy50eHQgPm91dC1jb21wYWN0ZWQgJiYKKwljb21wYXJlX2RpZmYgc3BhY2VzLWNvbXBhY3RlZC1leHBlY3Qgb3V0LWNvbXBhY3RlZAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmOiBuaWNlIHNwYWNlcyB3aXRoIGRpZmYuaW5kZW50SGV1cmlzdGljJyAnCisJZ2l0IC1jIGRpZmYuaW5kZW50SGV1cmlzdGljPXRydWUgZGlmZiBvbGQgbmV3IC0tIHNwYWNlcy50eHQgPm91dC1jb21wYWN0ZWQyICYmCisJY29tcGFyZV9kaWZmIHNwYWNlcy1jb21wYWN0ZWQtZXhwZWN0IG91dC1jb21wYWN0ZWQyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmY6IC0tbm8taW5kZW50LWhldXJpc3RpYyBvdmVycmlkZXMgY29uZmlnJyAnCisJZ2l0IC1jIGRpZmYuaW5kZW50SGV1cmlzdGljPXRydWUgZGlmZiAtLW5vLWluZGVudC1oZXVyaXN0aWMgb2xkIG5ldyAtLSBzcGFjZXMudHh0ID5vdXQyICYmCisJY29tcGFyZV9kaWZmIHNwYWNlcy1leHBlY3Qgb3V0MgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmOiAtLWluZGVudC1oZXVyaXN0aWMgd2l0aCAtLXBhdGllbmNlJyAnCisJZ2l0IGRpZmYgLS1pbmRlbnQtaGV1cmlzdGljIC0tcGF0aWVuY2Ugb2xkIG5ldyAtLSBzcGFjZXMudHh0ID5vdXQtY29tcGFjdGVkMyAmJgorCWNvbXBhcmVfZGlmZiBzcGFjZXMtY29tcGFjdGVkLWV4cGVjdCBvdXQtY29tcGFjdGVkMworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmOiAtLWluZGVudC1oZXVyaXN0aWMgd2l0aCAtLWhpc3RvZ3JhbScgJworCWdpdCBkaWZmIC0taW5kZW50LWhldXJpc3RpYyAtLWhpc3RvZ3JhbSBvbGQgbmV3IC0tIHNwYWNlcy50eHQgPm91dC1jb21wYWN0ZWQ0ICYmCisJY29tcGFyZV9kaWZmIHNwYWNlcy1jb21wYWN0ZWQtZXhwZWN0IG91dC1jb21wYWN0ZWQ0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmY6IHVnbHkgZnVuY3Rpb25zJyAnCisJZ2l0IGRpZmYgb2xkIG5ldyAtLSBmdW5jdGlvbnMuYyA+b3V0ICYmCisJY29tcGFyZV9kaWZmIGZ1bmN0aW9ucy1leHBlY3Qgb3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmY6IG5pY2UgZnVuY3Rpb25zIHdpdGggLS1pbmRlbnQtaGV1cmlzdGljJyAnCisJZ2l0IGRpZmYgLS1pbmRlbnQtaGV1cmlzdGljIG9sZCBuZXcgLS0gZnVuY3Rpb25zLmMgPm91dC1jb21wYWN0ZWQgJiYKKwljb21wYXJlX2RpZmYgZnVuY3Rpb25zLWNvbXBhY3RlZC1leHBlY3Qgb3V0LWNvbXBhY3RlZAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZTogdWdseSBzcGFjZXMnICcKKwlnaXQgYmxhbWUgb2xkLi5uZXcgLS0gc3BhY2VzLnR4dCA+b3V0LWJsYW1lICYmCisJY29tcGFyZV9ibGFtZSBzcGFjZXMtZXhwZWN0IG91dC1ibGFtZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZTogbmljZSBzcGFjZXMgd2l0aCAtLWluZGVudC1oZXVyaXN0aWMnICcKKwlnaXQgYmxhbWUgLS1pbmRlbnQtaGV1cmlzdGljIG9sZC4ubmV3IC0tIHNwYWNlcy50eHQgPm91dC1ibGFtZS1jb21wYWN0ZWQgJiYKKwljb21wYXJlX2JsYW1lIHNwYWNlcy1jb21wYWN0ZWQtZXhwZWN0IG91dC1ibGFtZS1jb21wYWN0ZWQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWU6IG5pY2Ugc3BhY2VzIHdpdGggZGlmZi5pbmRlbnRIZXVyaXN0aWMnICcKKwlnaXQgLWMgZGlmZi5pbmRlbnRIZXVyaXN0aWM9dHJ1ZSBibGFtZSBvbGQuLm5ldyAtLSBzcGFjZXMudHh0ID5vdXQtYmxhbWUtY29tcGFjdGVkMiAmJgorCWNvbXBhcmVfYmxhbWUgc3BhY2VzLWNvbXBhY3RlZC1leHBlY3Qgb3V0LWJsYW1lLWNvbXBhY3RlZDIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWU6IC0tbm8taW5kZW50LWhldXJpc3RpYyBvdmVycmlkZXMgY29uZmlnJyAnCisJZ2l0IC1jIGRpZmYuaW5kZW50SGV1cmlzdGljPXRydWUgYmxhbWUgLS1uby1pbmRlbnQtaGV1cmlzdGljIG9sZC4ubmV3IC0tIHNwYWNlcy50eHQgPm91dC1ibGFtZTIgJiYKKwlnaXQgYmxhbWUgb2xkLi5uZXcgLS0gc3BhY2VzLnR4dCA+b3V0LWJsYW1lICYmCisJY29tcGFyZV9ibGFtZSBzcGFjZXMtZXhwZWN0IG91dC1ibGFtZTIKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q0MDYyLWRpZmYtcGlja2F4ZS5zaCBiL3QvdDQwNjItZGlmZi1waWNrYXhlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYwYmY1MGIKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDYyLWRpZmYtcGlja2F4ZS5zaApAQCAtMCwwICsxLDIyIEBACisjIS9iaW4vc2gKKyMKKyMgQ29weXJpZ2h0IChjKSAyMDE2IEpvaGFubmVzIFNjaGluZGVsaW4KKyMKKwordGVzdF9kZXNjcmlwdGlvbj0nUGlja2F4ZSBvcHRpb25zJworCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCisJdGVzdF9jb21taXQgaW5pdGlhbCAmJgorCXByaW50ZiAiJTA0MDk2ZCIgMCA+NDA5Ni16ZXJvZXMudHh0ICYmCisJZ2l0IGFkZCA0MDk2LXplcm9lcy50eHQgJiYKKwl0ZXN0X3RpY2sgJiYKKwlnaXQgY29tbWl0IC1tICJBIDRrIGZpbGUiCisnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctRyBtYXRjaGVzJyAnCisJZ2l0IGRpZmYgLS1uYW1lLW9ubHkgLUcgIl4wezQwOTZ9JCIgSEVBRF4gPm91dCAmJgorCXRlc3QgNDA5Ni16ZXJvZXMudHh0ID0gIiQoY2F0IG91dCkiCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDEzMC1hcHBseS1jcmlzcy1jcm9zcy1yZW5hbWUuc2ggYi90L3Q0MTMwLWFwcGx5LWNyaXNzLWNyb3NzLXJlbmFtZS5zaAppbmRleCBkMTczYWNkLi5mOGEzMTNiIDEwMDc1NQotLS0gYS90L3Q0MTMwLWFwcGx5LWNyaXNzLWNyb3NzLXJlbmFtZS5zaAorKysgYi90L3Q0MTMwLWFwcGx5LWNyaXNzLWNyb3NzLXJlbmFtZS5zaApAQCAtMTMsOSArMTMsMTMgQEAKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKLQljcmVhdGVfZmlsZSBmaWxlMSAiRmlsZTEgY29udGVudHMiICYmCi0JY3JlYXRlX2ZpbGUgZmlsZTIgIkZpbGUyIGNvbnRlbnRzIiAmJgotCWNyZWF0ZV9maWxlIGZpbGUzICJGaWxlMyBjb250ZW50cyIgJiYKKwkjIEVuc3VyZSB0aGF0IGZpbGUgc2l6ZXMgYXJlIGRpZmZlcmVudCwgYmVjYXVzZSBvbiBXaW5kb3dzCisJIyBsc3RhdCgpIGRvZXMgbm90IGRpc2NvdmVyIGlub2RlIG51bWJlcnMsIGFuZCB3ZSBuZWVkCisJIyBvdGhlciBwcm9wZXJ0aWVzIHRvIGRpc2NvdmVyIHN3YXBwZWQgZmlsZXMKKwkjIChtdGltZSBpcyBub3QgYWx3YXlzIGRpZmZlcmVudCwgZWl0aGVyKS4KKwljcmVhdGVfZmlsZSBmaWxlMSAic29tZSBjb250ZW50IiAmJgorCWNyZWF0ZV9maWxlIGZpbGUyICJzb21lIG90aGVyIGNvbnRlbnQiICYmCisJY3JlYXRlX2ZpbGUgZmlsZTMgImFnYWluIHNvbWV0aGluZyBlbHNlIiAmJgogCWdpdCBhZGQgZmlsZTEgZmlsZTIgZmlsZTMgJiYKIAlnaXQgY29tbWl0IC1tIDEKICcKZGlmZiAtLWdpdCBhL3QvdDQxNTAtYW0uc2ggYi90L3Q0MTUwLWFtLnNoCmluZGV4IGI0MWJkMTcuLjg5YTViYWMgMTAwNzU1Ci0tLSBhL3QvdDQxNTAtYW0uc2gKKysrIGIvdC90NDE1MC1hbS5zaApAQCAtOTU3LDQgKzk1Nyw0NyBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnYW0gLS1wYXRjaC1mb3JtYXQ9bWJveHJkIGhhbmRsZXMgbWJveHJkJyAnCisJcm0gLWZyIC5naXQvcmViYXNlLWFwcGx5ICYmCisJZ2l0IGNoZWNrb3V0IC1mIGZpcnN0ICYmCisJZWNobyBtYm94cmQgPj5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJY2F0ID5tc2cgPDwtXElOUFVUX0VORCAmJgorCW1ib3hyZCBzaG91bGQgZXNjYXBlIHRoZSBib2R5CisKKwlGcm9tIGNvdWxkIHRyaXAgdXAgYSBsb29zZSBtYm94IHBhcnNlcgorCT5Gcm9tIGV4dHJhIGVzY2FwZSBmb3IgcmV2ZXJzaWJpbGl0eQorCUlOUFVUX0VORAorCWdpdCBjb21taXQgLUYgbXNnICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtLXByZXR0eT1tYm94cmQgLS1zdGRvdXQgLTEgPm1ib3hyZDEgJiYKKwlncmVwICJePkZyb20gY291bGQgdHJpcCB1cCBhIGxvb3NlIG1ib3ggcGFyc2VyIiBtYm94cmQxICYmCisJZ2l0IGNoZWNrb3V0IC1mIGZpcnN0ICYmCisJZ2l0IGFtIC0tcGF0Y2gtZm9ybWF0PW1ib3hyZCBtYm94cmQxICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgdGFpbCAtbjQgPm91dCAmJgorCXRlc3RfY21wIG1zZyBvdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYW0gd29ya3Mgd2l0aCBtdWx0aS1saW5lIGluLWJvZHkgaGVhZGVycycgJworCUZPUlRZPSJTdHJpbmcgdGhhdCBoYXMgYSBsZW5ndGggb2YgbW9yZSB0aGFuIGZvcnR5IGNoYXJhY3RlcnMiICYmCisJTE9ORz0iJEZPUlRZICRGT1JUWSIgJiYKKwlybSAtZnIgLmdpdC9yZWJhc2UtYXBwbHkgJiYKKwlnaXQgY2hlY2tvdXQgLWYgZmlyc3QgJiYKKwllY2hvIG9uZSA+PiBmaWxlICYmCisJZ2l0IGNvbW1pdCAtYW0gIiRMT05HIiAtLWF1dGhvcj0iJExPTkcgPGxvbmdAZXhhbXBsZS5jb20+IiAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLTEgPnBhdGNoICYmCisJIyBidW1wIGZyb20sIGRhdGUsIGFuZCBzdWJqZWN0IGRvd24gdG8gaW4tYm9keSBoZWFkZXIKKwlwZXJsIC1scGUgIgorCQlpZiAoL15Gcm9tOi8pIHsKKwkJCXByaW50IFwiRnJvbTogeCA8eFxAZXhhbXBsZS5jb20+XCI7CisJCQlwcmludCBcIkRhdGU6IFNhdCwgMSBKYW4gMjAwMCAwMDowMDowMCArMDAwMFwiOworCQkJcHJpbnQgXCJTdWJqZWN0OiB4XG5cIjsKKwkJfQorCSIgcGF0Y2ggPm1zZyAmJgorCWdpdCBjaGVja291dCBIRUFEXiAmJgorCWdpdCBhbSBtc2cgJiYKKwkjIEVuc3VyZSB0aGF0IHRoZSBhdXRob3IgYW5kIGZ1bGwgbWVzc2FnZSBhcmUgcHJlc2VudAorCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IGdyZXAgIl5hdXRob3IuKmxvbmdAZXhhbXBsZS5jb20iICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgZ3JlcCAiXiRMT05HIgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQxNTMtYW0tcmVzdW1lLW92ZXJyaWRlLW9wdHMuc2ggYi90L3Q0MTUzLWFtLXJlc3VtZS1vdmVycmlkZS1vcHRzLnNoCmluZGV4IDdjMDEzZDguLjhlYTIyZDEgMTAwNzU1Ci0tLSBhL3QvdDQxNTMtYW0tcmVzdW1lLW92ZXJyaWRlLW9wdHMuc2gKKysrIGIvdC90NDE1My1hbS1yZXN1bWUtb3ZlcnJpZGUtb3B0cy5zaApAQCAtNTMsNyArNTMsNyBAQAogCSMgQXBwbHlpbmcgc2lkZTEgd2lsbCBiZSBxdWlldC4KIAl0ZXN0X211c3RfZmFpbCBnaXQgYW0gLS1xdWlldCBzaWRlWzEyM10uZW1sID5vdXQgJiYKIAl0ZXN0X3BhdGhfaXNfZGlyIC5naXQvcmViYXNlLWFwcGx5ICYmCi0JISB0ZXN0X2kxOG5ncmVwICJeQXBwbHlpbmc6ICIgb3V0ICYmCisJdGVzdF9pMThuZ3JlcCAhICJeQXBwbHlpbmc6ICIgb3V0ICYmCiAJZWNobyBzaWRlMSA+ZmlsZSAmJgogCWdpdCBhZGQgZmlsZSAmJgogCmRpZmYgLS1naXQgYS90L3Q0MjAxLXNob3J0bG9nLnNoIGIvdC90NDIwMS1zaG9ydGxvZy5zaAppbmRleCBhOTc3MzY1Li5hZTA4YjU3IDEwMDc1NQotLS0gYS90L3Q0MjAxLXNob3J0bG9nLnNoCisrKyBiL3QvdDQyMDEtc2hvcnRsb2cuc2gKQEAgLTE4NCw0ICsxODQsMTAgQEAKIAlnaXQgc2hvcnRsb2cgLS1leGNsdWRlPXJlZnMvaGVhZHMvbSogLS1hbGwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hvcnRsb2cgd2l0aCAtLW91dHB1dD08ZmlsZT4nICcKKwlnaXQgc2hvcnRsb2cgLS1vdXRwdXQ9c2hvcnRsb2cgLTEgbWFzdGVyID5vdXRwdXQgJiYKKwl0ZXN0ICEgLXMgb3V0cHV0ICYmCisJdGVzdF9saW5lX2NvdW50ID0gMyBzaG9ydGxvZworJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQyMDItbG9nLnNoIGIvdC90NDIwMi1sb2cuc2gKaW5kZXggMTI4YmE5My4uMWNjYmQ1OSAxMDA3NTUKLS0tIGEvdC90NDIwMi1sb2cuc2gKKysrIGIvdC90NDIwMi1sb2cuc2gKQEAgLTE4OCw2ICsxODgsMTYgQEAKICcKIAogY2F0ID4gZXhwZWN0IDw8IEVPRgorPT09IDgwNGE3ODcgc2l4dGgKKz09PSAzOTRlZjc4IGZpZnRoCis9PT0gNWQzMTE1OSBmb3VydGgKK0VPRgordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGxvZyAtLWxpbmUtcHJlZml4PSI9PT0gIiAtLW5vLXdhbGsgPGNvbW1pdHM+IHNvcnRzIGJ5IGNvbW1pdCB0aW1lJyAnCisJZ2l0IGxvZyAtLWxpbmUtcHJlZml4PSI9PT0gIiAtLW5vLXdhbGsgLS1vbmVsaW5lIDVkMzExNTkgODA0YTc4NyAzOTRlZjc4ID4gYWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCitjYXQgPiBleHBlY3QgPDwgRU9GCiA1ZDMxMTU5IGZvdXJ0aAogODA0YTc4NyBzaXh0aAogMzk0ZWY3OCBmaWZ0aApAQCAtMjU1LDYgKzI2NSwyMCBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIHdpdGggZ3JlcC5wYXR0ZXJuVHlwZSBjb25maWd1cmF0aW9uJyAnCisJPmV4cGVjdCAmJgorCWdpdCAtYyBncmVwLnBhdHRlcm50eXBlPWZpeGVkIFwKKwlsb2cgLTEgLS1wcmV0dHk9dGZvcm1hdDolcyAtLWdyZXA9cy5jLm5kID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyB3aXRoIGdyZXAucGF0dGVyblR5cGUgY29uZmlndXJhdGlvbiBhbmQgY29tbWFuZCBsaW5lJyAnCisJZWNobyBzZWNvbmQgPmV4cGVjdCAmJgorCWdpdCAtYyBncmVwLnBhdHRlcm50eXBlPWZpeGVkIFwKKwlsb2cgLTEgLS1wcmV0dHk9dGZvcm1hdDolcyAtLWJhc2ljLXJlZ2V4cCAtLWdyZXA9cy5jLm5kID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIGNhdCA+IGV4cGVjdCA8PEVPRgogKiBTZWNvbmQKICogc2l4dGgKQEAgLTI3MCw2ICsyOTQsMjEgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK2NhdCA+IGV4cGVjdCA8PEVPRgorMTIzICogU2Vjb25kCisxMjMgKiBzaXh0aAorMTIzICogZmlmdGgKKzEyMyAqIGZvdXJ0aAorMTIzICogdGhpcmQKKzEyMyAqIHNlY29uZAorMTIzICogaW5pdGlhbAorRU9GCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpbXBsZSBsb2cgLS1ncmFwaCAtLWxpbmUtcHJlZml4PSIxMjMgIicgJworCWdpdCBsb2cgLS1ncmFwaCAtLWxpbmUtcHJlZml4PSIxMjMgIiAtLXByZXR0eT10Zm9ybWF0OiVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldCB1cCBtZXJnZSBoaXN0b3J5JyAnCiAJZ2l0IGNoZWNrb3V0IC1iIHNpZGUgSEVBRH40ICYmCiAJdGVzdF9jb21taXQgc2lkZS0xIDEgMSAmJgpAQCAtMjk5LDYgKzMzOCwyNyBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAorY2F0ID4gZXhwZWN0IDw8XEVPRgorfCB8IHwgKiAgIE1lcmdlIGJyYW5jaCAnc2lkZScKK3wgfCB8IHxcCit8IHwgfCB8ICogc2lkZS0yCit8IHwgfCB8ICogc2lkZS0xCit8IHwgfCAqIHwgU2Vjb25kCit8IHwgfCAqIHwgc2l4dGgKK3wgfCB8ICogfCBmaWZ0aAorfCB8IHwgKiB8IGZvdXJ0aAorfCB8IHwgfC8KK3wgfCB8ICogdGhpcmQKK3wgfCB8ICogc2Vjb25kCit8IHwgfCAqIGluaXRpYWwKK0VPRgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1ncmFwaCAtLWxpbmUtcHJlZml4PSJ8IHwgfCAiIHdpdGggbWVyZ2UnICcKKwlnaXQgbG9nIC0tbGluZS1wcmVmaXg9InwgfCB8ICIgLS1ncmFwaCAtLWRhdGUtb3JkZXIgLS1wcmV0dHk9dGZvcm1hdDolcyB8CisJCXNlZCAicy8gKlwkLy8iID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLXJhdyAtLWdyYXBoIC1tIHdpdGggbWVyZ2UnICcKIAlnaXQgbG9nIC0tcmF3IC0tZ3JhcGggLS1vbmVsaW5lIC1tIG1hc3RlciB8IGhlYWQgLW4gNTAwID5hY3R1YWwgJiYKIAlncmVwICJpbml0aWFsIiBhY3R1YWwKQEAgLTg1Myw2ICs5MTMsMjgzIEBACiAJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwuc2FuaXRpemVkCiAnCiAKK2NhdCA+ZXhwZWN0IDw8XEVPRgorKioqICogICBjb21taXQgQ09NTUlUX09CSkVDVF9OQU1FCisqKiogfFwgIE1lcmdlOiBNRVJHRV9QQVJFTlRTCisqKiogfCB8IEF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KKyoqKiB8IHwKKyoqKiB8IHwgICAgIE1lcmdlIEhFQURTIERFU0NSSVBUSU9OCisqKiogfCB8CisqKiogfCAqIGNvbW1pdCBDT01NSVRfT0JKRUNUX05BTUUKKyoqKiB8IHwgQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorKioqIHwgfAorKioqIHwgfCAgICAgcmVhY2gKKyoqKiB8IHwgLS0tCisqKiogfCB8ICByZWFjaC50IHwgMSArCisqKiogfCB8ICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKyoqKiB8IHwKKyoqKiB8IHwgZGlmZiAtLWdpdCBhL3JlYWNoLnQgYi9yZWFjaC50CisqKiogfCB8IG5ldyBmaWxlIG1vZGUgMTAwNjQ0CisqKiogfCB8IGluZGV4IDAwMDAwMDAuLjEwYzk1OTEKKyoqKiB8IHwgLS0tIC9kZXYvbnVsbAorKioqIHwgfCArKysgYi9yZWFjaC50CisqKiogfCB8IEBAIC0wLDAgKzEgQEAKKyoqKiB8IHwgK3JlYWNoCisqKiogfCB8CisqKiogfCAgXAorKioqICotLiBcICAgY29tbWl0IENPTU1JVF9PQkpFQ1RfTkFNRQorKioqIHxcIFwgXCAgTWVyZ2U6IE1FUkdFX1BBUkVOVFMKKyoqKiB8IHwgfCB8IEF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KKyoqKiB8IHwgfCB8CisqKiogfCB8IHwgfCAgICAgTWVyZ2UgSEVBRFMgREVTQ1JJUFRJT04KKyoqKiB8IHwgfCB8CisqKiogfCB8ICogfCBjb21taXQgQ09NTUlUX09CSkVDVF9OQU1FCisqKiogfCB8IHwvICBBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CisqKiogfCB8IHwKKyoqKiB8IHwgfCAgICAgICBvY3RvcHVzLWIKKyoqKiB8IHwgfCAgIC0tLQorKioqIHwgfCB8ICAgIG9jdG9wdXMtYi50IHwgMSArCisqKiogfCB8IHwgICAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisqKiogfCB8IHwKKyoqKiB8IHwgfCAgIGRpZmYgLS1naXQgYS9vY3RvcHVzLWIudCBiL29jdG9wdXMtYi50CisqKiogfCB8IHwgICBuZXcgZmlsZSBtb2RlIDEwMDY0NAorKioqIHwgfCB8ICAgaW5kZXggMDAwMDAwMC4uZDVmY2FkMAorKioqIHwgfCB8ICAgLS0tIC9kZXYvbnVsbAorKioqIHwgfCB8ICAgKysrIGIvb2N0b3B1cy1iLnQKKyoqKiB8IHwgfCAgIEBAIC0wLDAgKzEgQEAKKyoqKiB8IHwgfCAgICtvY3RvcHVzLWIKKyoqKiB8IHwgfAorKioqIHwgKiB8IGNvbW1pdCBDT01NSVRfT0JKRUNUX05BTUUKKyoqKiB8IHwvICBBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CisqKiogfCB8CisqKiogfCB8ICAgICAgIG9jdG9wdXMtYQorKioqIHwgfCAgIC0tLQorKioqIHwgfCAgICBvY3RvcHVzLWEudCB8IDEgKworKioqIHwgfCAgICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKyoqKiB8IHwKKyoqKiB8IHwgICBkaWZmIC0tZ2l0IGEvb2N0b3B1cy1hLnQgYi9vY3RvcHVzLWEudAorKioqIHwgfCAgIG5ldyBmaWxlIG1vZGUgMTAwNjQ0CisqKiogfCB8ICAgaW5kZXggMDAwMDAwMC4uMTFlZTAxNQorKioqIHwgfCAgIC0tLSAvZGV2L251bGwKKyoqKiB8IHwgICArKysgYi9vY3RvcHVzLWEudAorKioqIHwgfCAgIEBAIC0wLDAgKzEgQEAKKyoqKiB8IHwgICArb2N0b3B1cy1hCisqKiogfCB8CisqKiogKiB8IGNvbW1pdCBDT01NSVRfT0JKRUNUX05BTUUKKyoqKiB8LyAgQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorKioqIHwKKyoqKiB8ICAgICAgIHNldmVudGgKKyoqKiB8ICAgLS0tCisqKiogfCAgICBzZXZlbnRoLnQgfCAxICsKKyoqKiB8ICAgIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorKioqIHwKKyoqKiB8ICAgZGlmZiAtLWdpdCBhL3NldmVudGgudCBiL3NldmVudGgudAorKioqIHwgICBuZXcgZmlsZSBtb2RlIDEwMDY0NAorKioqIHwgICBpbmRleCAwMDAwMDAwLi45NzQ0ZmZjCisqKiogfCAgIC0tLSAvZGV2L251bGwKKyoqKiB8ICAgKysrIGIvc2V2ZW50aC50CisqKiogfCAgIEBAIC0wLDAgKzEgQEAKKyoqKiB8ICAgK3NldmVudGgKKyoqKiB8CisqKiogKiAgIGNvbW1pdCBDT01NSVRfT0JKRUNUX05BTUUKKyoqKiB8XCAgTWVyZ2U6IE1FUkdFX1BBUkVOVFMKKyoqKiB8IHwgQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorKioqIHwgfAorKioqIHwgfCAgICAgTWVyZ2UgYnJhbmNoICd0YW5nbGUnCisqKiogfCB8CisqKiogfCAqICAgY29tbWl0IENPTU1JVF9PQkpFQ1RfTkFNRQorKioqIHwgfFwgIE1lcmdlOiBNRVJHRV9QQVJFTlRTCisqKiogfCB8IHwgQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorKioqIHwgfCB8CisqKiogfCB8IHwgICAgIE1lcmdlIGJyYW5jaCAnc2lkZScgKGVhcmx5IHBhcnQpIGludG8gdGFuZ2xlCisqKiogfCB8IHwKKyoqKiB8ICogfCAgIGNvbW1pdCBDT01NSVRfT0JKRUNUX05BTUUKKyoqKiB8IHxcIFwgIE1lcmdlOiBNRVJHRV9QQVJFTlRTCisqKiogfCB8IHwgfCBBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CisqKiogfCB8IHwgfAorKioqIHwgfCB8IHwgICAgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyAoZWFybHkgcGFydCkgaW50byB0YW5nbGUKKyoqKiB8IHwgfCB8CisqKiogfCAqIHwgfCBjb21taXQgQ09NTUlUX09CSkVDVF9OQU1FCisqKiogfCB8IHwgfCBBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CisqKiogfCB8IHwgfAorKioqIHwgfCB8IHwgICAgIHRhbmdsZS1hCisqKiogfCB8IHwgfCAtLS0KKyoqKiB8IHwgfCB8ICB0YW5nbGUtYSB8IDEgKworKioqIHwgfCB8IHwgIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorKioqIHwgfCB8IHwKKyoqKiB8IHwgfCB8IGRpZmYgLS1naXQgYS90YW5nbGUtYSBiL3RhbmdsZS1hCisqKiogfCB8IHwgfCBuZXcgZmlsZSBtb2RlIDEwMDY0NAorKioqIHwgfCB8IHwgaW5kZXggMDAwMDAwMC4uNzg5ODE5MgorKioqIHwgfCB8IHwgLS0tIC9kZXYvbnVsbAorKioqIHwgfCB8IHwgKysrIGIvdGFuZ2xlLWEKKyoqKiB8IHwgfCB8IEBAIC0wLDAgKzEgQEAKKyoqKiB8IHwgfCB8ICthCisqKiogfCB8IHwgfAorKioqICogfCB8IHwgICBjb21taXQgQ09NTUlUX09CSkVDVF9OQU1FCisqKiogfFwgXCBcIFwgIE1lcmdlOiBNRVJHRV9QQVJFTlRTCisqKiogfCB8IHwgfCB8IEF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KKyoqKiB8IHwgfCB8IHwKKyoqKiB8IHwgfCB8IHwgICAgIE1lcmdlIGJyYW5jaCAnc2lkZScKKyoqKiB8IHwgfCB8IHwKKyoqKiB8ICogfCB8IHwgY29tbWl0IENPTU1JVF9PQkpFQ1RfTkFNRQorKioqIHwgfCB8X3wvICBBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CisqKiogfCB8L3wgfAorKioqIHwgfCB8IHwgICAgICAgc2lkZS0yCisqKiogfCB8IHwgfCAgIC0tLQorKioqIHwgfCB8IHwgICAgMiB8IDEgKworKioqIHwgfCB8IHwgICAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisqKiogfCB8IHwgfAorKioqIHwgfCB8IHwgICBkaWZmIC0tZ2l0IGEvMiBiLzIKKyoqKiB8IHwgfCB8ICAgbmV3IGZpbGUgbW9kZSAxMDA2NDQKKyoqKiB8IHwgfCB8ICAgaW5kZXggMDAwMDAwMC4uMGNmYmYwOAorKioqIHwgfCB8IHwgICAtLS0gL2Rldi9udWxsCisqKiogfCB8IHwgfCAgICsrKyBiLzIKKyoqKiB8IHwgfCB8ICAgQEAgLTAsMCArMSBAQAorKioqIHwgfCB8IHwgICArMgorKioqIHwgfCB8IHwKKyoqKiB8ICogfCB8IGNvbW1pdCBDT01NSVRfT0JKRUNUX05BTUUKKyoqKiB8IHwgfCB8IEF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KKyoqKiB8IHwgfCB8CisqKiogfCB8IHwgfCAgICAgc2lkZS0xCisqKiogfCB8IHwgfCAtLS0KKyoqKiB8IHwgfCB8ICAxIHwgMSArCisqKiogfCB8IHwgfCAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisqKiogfCB8IHwgfAorKioqIHwgfCB8IHwgZGlmZiAtLWdpdCBhLzEgYi8xCisqKiogfCB8IHwgfCBuZXcgZmlsZSBtb2RlIDEwMDY0NAorKioqIHwgfCB8IHwgaW5kZXggMDAwMDAwMC4uZDAwNDkxZgorKioqIHwgfCB8IHwgLS0tIC9kZXYvbnVsbAorKioqIHwgfCB8IHwgKysrIGIvMQorKioqIHwgfCB8IHwgQEAgLTAsMCArMSBAQAorKioqIHwgfCB8IHwgKzEKKyoqKiB8IHwgfCB8CisqKiogKiB8IHwgfCBjb21taXQgQ09NTUlUX09CSkVDVF9OQU1FCisqKiogfCB8IHwgfCBBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CisqKiogfCB8IHwgfAorKioqIHwgfCB8IHwgICAgIFNlY29uZAorKioqIHwgfCB8IHwgLS0tCisqKiogfCB8IHwgfCAgb25lIHwgMSArCisqKiogfCB8IHwgfCAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisqKiogfCB8IHwgfAorKioqIHwgfCB8IHwgZGlmZiAtLWdpdCBhL29uZSBiL29uZQorKioqIHwgfCB8IHwgbmV3IGZpbGUgbW9kZSAxMDA2NDQKKyoqKiB8IHwgfCB8IGluZGV4IDAwMDAwMDAuLjlhMzMzODMKKyoqKiB8IHwgfCB8IC0tLSAvZGV2L251bGwKKyoqKiB8IHwgfCB8ICsrKyBiL29uZQorKioqIHwgfCB8IHwgQEAgLTAsMCArMSBAQAorKioqIHwgfCB8IHwgK2Nhc2UKKyoqKiB8IHwgfCB8CisqKiogKiB8IHwgfCBjb21taXQgQ09NTUlUX09CSkVDVF9OQU1FCisqKiogfCB8X3wvICBBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CisqKiogfC98IHwKKyoqKiB8IHwgfCAgICAgICBzaXh0aAorKioqIHwgfCB8ICAgLS0tCisqKiogfCB8IHwgICAgYS90d28gfCAxIC0KKyoqKiB8IHwgfCAgICAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorKioqIHwgfCB8CisqKiogfCB8IHwgICBkaWZmIC0tZ2l0IGEvYS90d28gYi9hL3R3bworKioqIHwgfCB8ICAgZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CisqKiogfCB8IHwgICBpbmRleCA5MjQ1YWY1Li4wMDAwMDAwCisqKiogfCB8IHwgICAtLS0gYS9hL3R3bworKioqIHwgfCB8ICAgKysrIC9kZXYvbnVsbAorKioqIHwgfCB8ICAgQEAgLTEgKzAsMCBAQAorKioqIHwgfCB8ICAgLW5pCisqKiogfCB8IHwKKyoqKiAqIHwgfCBjb21taXQgQ09NTUlUX09CSkVDVF9OQU1FCisqKiogfCB8IHwgQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorKioqIHwgfCB8CisqKiogfCB8IHwgICAgIGZpZnRoCisqKiogfCB8IHwgLS0tCisqKiogfCB8IHwgIGEvdHdvIHwgMSArCisqKiogfCB8IHwgIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorKioqIHwgfCB8CisqKiogfCB8IHwgZGlmZiAtLWdpdCBhL2EvdHdvIGIvYS90d28KKyoqKiB8IHwgfCBuZXcgZmlsZSBtb2RlIDEwMDY0NAorKioqIHwgfCB8IGluZGV4IDAwMDAwMDAuLjkyNDVhZjUKKyoqKiB8IHwgfCAtLS0gL2Rldi9udWxsCisqKiogfCB8IHwgKysrIGIvYS90d28KKyoqKiB8IHwgfCBAQCAtMCwwICsxIEBACisqKiogfCB8IHwgK25pCisqKiogfCB8IHwKKyoqKiAqIHwgfCBjb21taXQgQ09NTUlUX09CSkVDVF9OQU1FCisqKiogfC8gLyAgQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorKioqIHwgfAorKioqIHwgfCAgICAgICBmb3VydGgKKyoqKiB8IHwgICAtLS0KKyoqKiB8IHwgICAgZWluIHwgMSArCisqKiogfCB8ICAgIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorKioqIHwgfAorKioqIHwgfCAgIGRpZmYgLS1naXQgYS9laW4gYi9laW4KKyoqKiB8IHwgICBuZXcgZmlsZSBtb2RlIDEwMDY0NAorKioqIHwgfCAgIGluZGV4IDAwMDAwMDAuLjlkN2U2OWYKKyoqKiB8IHwgICAtLS0gL2Rldi9udWxsCisqKiogfCB8ICAgKysrIGIvZWluCisqKiogfCB8ICAgQEAgLTAsMCArMSBAQAorKioqIHwgfCAgICtpY2hpCisqKiogfCB8CisqKiogKiB8IGNvbW1pdCBDT01NSVRfT0JKRUNUX05BTUUKKyoqKiB8LyAgQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorKioqIHwKKyoqKiB8ICAgICAgIHRoaXJkCisqKiogfCAgIC0tLQorKioqIHwgICAgaWNoaSB8IDEgKworKioqIHwgICAgb25lICB8IDEgLQorKioqIHwgICAgMiBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorKioqIHwKKyoqKiB8ICAgZGlmZiAtLWdpdCBhL2ljaGkgYi9pY2hpCisqKiogfCAgIG5ldyBmaWxlIG1vZGUgMTAwNjQ0CisqKiogfCAgIGluZGV4IDAwMDAwMDAuLjlkN2U2OWYKKyoqKiB8ICAgLS0tIC9kZXYvbnVsbAorKioqIHwgICArKysgYi9pY2hpCisqKiogfCAgIEBAIC0wLDAgKzEgQEAKKyoqKiB8ICAgK2ljaGkKKyoqKiB8ICAgZGlmZiAtLWdpdCBhL29uZSBiL29uZQorKioqIHwgICBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKKyoqKiB8ICAgaW5kZXggOWQ3ZTY5Zi4uMDAwMDAwMAorKioqIHwgICAtLS0gYS9vbmUKKyoqKiB8ICAgKysrIC9kZXYvbnVsbAorKioqIHwgICBAQCAtMSArMCwwIEBACisqKiogfCAgIC1pY2hpCisqKiogfAorKioqICogY29tbWl0IENPTU1JVF9PQkpFQ1RfTkFNRQorKioqIHwgQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorKioqIHwKKyoqKiB8ICAgICBzZWNvbmQKKyoqKiB8IC0tLQorKioqIHwgIG9uZSB8IDIgKy0KKyoqKiB8ICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKyoqKiB8CisqKiogfCBkaWZmIC0tZ2l0IGEvb25lIGIvb25lCisqKiogfCBpbmRleCA1NjI2YWJmLi45ZDdlNjlmIDEwMDY0NAorKioqIHwgLS0tIGEvb25lCisqKiogfCArKysgYi9vbmUKKyoqKiB8IEBAIC0xICsxIEBACisqKiogfCAtb25lCisqKiogfCAraWNoaQorKioqIHwKKyoqKiAqIGNvbW1pdCBDT01NSVRfT0JKRUNUX05BTUUKKyoqKiAgIEF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KKyoqKgorKioqICAgICAgIGluaXRpYWwKKyoqKiAgIC0tLQorKioqICAgIG9uZSB8IDEgKworKioqICAgIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorKioqCisqKiogICBkaWZmIC0tZ2l0IGEvb25lIGIvb25lCisqKiogICBuZXcgZmlsZSBtb2RlIDEwMDY0NAorKioqICAgaW5kZXggMDAwMDAwMC4uNTYyNmFiZgorKioqICAgLS0tIC9kZXYvbnVsbAorKioqICAgKysrIGIvb25lCisqKiogICBAQCAtMCwwICsxIEBACisqKiogICArb25lCitFT0YKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tbGluZS1wcmVmaXg9IioqKiAiIC0tZ3JhcGggd2l0aCBkaWZmIGFuZCBzdGF0cycgJworCWdpdCBsb2cgLS1saW5lLXByZWZpeD0iKioqICIgLS1uby1yZW5hbWVzIC0tZ3JhcGggLS1wcmV0dHk9c2hvcnQgLS1zdGF0IC1wID5hY3R1YWwgJiYKKwlzYW5pdGl6ZV9vdXRwdXQgPmFjdHVhbC5zYW5pdGl6ZWQgPGFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsLnNhbml0aXplZAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkb3Rkb3QgaXMgYSBwYXJlbnQgZGlyZWN0b3J5JyAnCiAJbWtkaXIgLXAgYS9iICYmCiAJKCBlY2hvIHNpeHRoICYmIGVjaG8gZmlmdGggKSA+ZXhwZWN0ICYmCkBAIC04NjAsMTIgKzExOTcsMTUgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICdsb2cgLS1ncmFwaCAtLXNob3ctc2lnbmF0dXJlJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAnc2V0dXAgc2lnbmVkIGJyYW5jaCcgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCAmJiBnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgogCWdpdCBjaGVja291dCAtYiBzaWduZWQgbWFzdGVyICYmCiAJZWNobyBmb28gPmZvbyAmJgogCWdpdCBhZGQgZm9vICYmCi0JZ2l0IGNvbW1pdCAtUyAtbSBzaWduZWRfY29tbWl0ICYmCisJZ2l0IGNvbW1pdCAtUyAtbSBzaWduZWRfY29tbWl0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICdsb2cgLS1ncmFwaCAtLXNob3ctc2lnbmF0dXJlJyAnCiAJZ2l0IGxvZyAtLWdyYXBoIC0tc2hvdy1zaWduYXR1cmUgLW4xIHNpZ25lZCA+YWN0dWFsICYmCiAJZ3JlcCAiXnwgZ3BnOiBTaWduYXR1cmUgbWFkZSIgYWN0dWFsICYmCiAJZ3JlcCAiXnwgZ3BnOiBHb29kIHNpZ25hdHVyZSIgYWN0dWFsCkBAIC04OTAsNiArMTIzMCwzMSBAQAogCWdyZXAgIl58IHwgZ3BnOiBHb29kIHNpZ25hdHVyZSIgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICctLW5vLXNob3ctc2lnbmF0dXJlIG92ZXJyaWRlcyAtLXNob3ctc2lnbmF0dXJlJyAnCisJZ2l0IGxvZyAtMSAtLXNob3ctc2lnbmF0dXJlIC0tbm8tc2hvdy1zaWduYXR1cmUgc2lnbmVkID5hY3R1YWwgJiYKKwkhIGdyZXAgIl5ncGc6IiBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBHUEcgJ2xvZy5zaG93c2lnbmF0dXJlPXRydWUgYmVoYXZlcyBsaWtlIC0tc2hvdy1zaWduYXR1cmUnICcKKwl0ZXN0X2NvbmZpZyBsb2cuc2hvd3NpZ25hdHVyZSB0cnVlICYmCisJZ2l0IGxvZyAtMSBzaWduZWQgPmFjdHVhbCAmJgorCWdyZXAgImdwZzogU2lnbmF0dXJlIG1hZGUiIGFjdHVhbCAmJgorCWdyZXAgImdwZzogR29vZCBzaWduYXR1cmUiIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAnLS1uby1zaG93LXNpZ25hdHVyZSBvdmVycmlkZXMgbG9nLnNob3dzaWduYXR1cmU9dHJ1ZScgJworCXRlc3RfY29uZmlnIGxvZy5zaG93c2lnbmF0dXJlIHRydWUgJiYKKwlnaXQgbG9nIC0xIC0tbm8tc2hvdy1zaWduYXR1cmUgc2lnbmVkID5hY3R1YWwgJiYKKwkhIGdyZXAgIl5ncGc6IiBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBHUEcgJy0tc2hvdy1zaWduYXR1cmUgb3ZlcnJpZGVzIGxvZy5zaG93c2lnbmF0dXJlPWZhbHNlJyAnCisJdGVzdF9jb25maWcgbG9nLnNob3dzaWduYXR1cmUgZmFsc2UgJiYKKwlnaXQgbG9nIC0xIC0tc2hvdy1zaWduYXR1cmUgc2lnbmVkID5hY3R1YWwgJiYKKwlncmVwICJncGc6IFNpZ25hdHVyZSBtYWRlIiBhY3R1YWwgJiYKKwlncmVwICJncGc6IEdvb2Qgc2lnbmF0dXJlIiBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tZ3JhcGggLS1uby13YWxrIGlzIGZvcmJpZGRlbicgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCBsb2cgLS1ncmFwaCAtLW5vLXdhbGsKICcKZGlmZiAtLWdpdCBhL3QvdDQyMDQtcGF0Y2gtaWQuc2ggYi90L3Q0MjA0LXBhdGNoLWlkLnNoCmluZGV4IDg0YTgwOTYuLjAyODhjMTcgMTAwNzU1Ci0tLSBhL3QvdDQyMDQtcGF0Y2gtaWQuc2gKKysrIGIvdC90NDIwNC1wYXRjaC1pZC5zaApAQCAtMTQzLDYgKzE0MywyMCBAQAogCXRlc3RfY21wIHBhdGNoLWlkX21hc3RlciBwYXRjaC1pZF9zYW1lCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhdGNoLWlkIHJlc3BlY3RzIGNvbmZpZyBmcm9tIHN1YmRpcicgJworCXRlc3RfY29uZmlnIHBhdGNoaWQuc3RhYmxlIHRydWUgJiYKKwlta2RpciBzdWJkaXIgJiYKKworCSMgY29weSB0aGVzZSBiZWNhdXNlIHRlc3RfcGF0Y2hfaWQoKSBsb29rcyBmb3IgdGhlbSBpbgorCSMgdGhlIGN1cnJlbnQgZGlyZWN0b3J5CisJY3AgYmFyLXRoZW4tZm9vIGZvby10aGVuLWJhciBzdWJkaXIgJiYKKworCSgKKwkJY2Qgc3ViZGlyICYmCisJCXRlc3RfcGF0Y2hfaWQgaXJyZWxldmFudCBwYXRjaGlkLnN0YWJsZT10cnVlCisJKQorJworCiBjYXQgPm5vbmwgPDxcRU9GCiBkaWZmIC0tZ2l0IGkvYSB3L2EKIGluZGV4IGU2OWRlMjkuLjJlNjVlZmUgMTAwNjQ0CmRpZmYgLS1naXQgYS90L3Q0MjA1LWxvZy1wcmV0dHktZm9ybWF0cy5zaCBiL3QvdDQyMDUtbG9nLXByZXR0eS1mb3JtYXRzLnNoCmluZGV4IDczOTg2MDUuLmY1NDM1ZmQgMTAwNzU1Ci0tLSBhL3QvdDQyMDUtbG9nLXByZXR0eS1mb3JtYXRzLnNoCisrKyBiL3QvdDQyMDUtbG9nLXByZXR0eS1mb3JtYXRzLnNoCkBAIC0xNDUsMjUzICsxNDUsMzEwIEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xlZnQgYWxpZ25tZW50IGZvcm1hdHRpbmcnICcKIAlnaXQgbG9nIC0tcHJldHR5PSJ0Zm9ybWF0OiU8KDQwKSVzIiA+YWN0dWFsICYmCi0JcXpfdG9fdGFiX3NwYWNlIDw8RU9GID5leHBlY3RlZCAmJgotbWVzc2FnZSB0d28gICAgICAgICAgICAgICAgICAgICAgICAgICAgWgotbWVzc2FnZSBvbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgWgotYWRkIGJhciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWgotJChjb21taXRfbXNnKSAgICAgICAgICAgICAgICAgICAgWgotRU9GCisJcXpfdG9fdGFiX3NwYWNlIDw8LUVPRiA+ZXhwZWN0ZWQgJiYKKwltZXNzYWdlIHR3byAgICAgICAgICAgICAgICAgICAgICAgICAgICBaCisJbWVzc2FnZSBvbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgWgorCWFkZCBiYXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFoKKwkkKGNvbW1pdF9tc2cpICAgICAgICAgICAgICAgICAgICBaCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xlZnQgYWxpZ25tZW50IGZvcm1hdHRpbmcuIGkxOG4ubG9nT3V0cHV0RW5jb2RpbmcnICcKIAlnaXQgLWMgaTE4bi5sb2dPdXRwdXRFbmNvZGluZz0kdGVzdF9lbmNvZGluZyBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JTwoNDApJXMiID5hY3R1YWwgJiYKLQlxel90b190YWJfc3BhY2UgPDxFT0YgfCBpY29udiAtZiB1dGYtOCAtdCAkdGVzdF9lbmNvZGluZyA+ZXhwZWN0ZWQgJiYKLW1lc3NhZ2UgdHdvICAgICAgICAgICAgICAgICAgICAgICAgICAgIFoKLW1lc3NhZ2Ugb25lICAgICAgICAgICAgICAgICAgICAgICAgICAgIFoKLWFkZCBiYXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFoKLSQoY29tbWl0X21zZykgICAgICAgICAgICAgICAgICAgIFoKLUVPRgorCXF6X3RvX3RhYl9zcGFjZSA8PC1FT0YgfCBpY29udiAtZiB1dGYtOCAtdCAkdGVzdF9lbmNvZGluZyA+ZXhwZWN0ZWQgJiYKKwltZXNzYWdlIHR3byAgICAgICAgICAgICAgICAgICAgICAgICAgICBaCisJbWVzc2FnZSBvbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgWgorCWFkZCBiYXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFoKKwkkKGNvbW1pdF9tc2cpICAgICAgICAgICAgICAgICAgICBaCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xlZnQgYWxpZ25tZW50IGZvcm1hdHRpbmcgYXQgdGhlIG50aCBjb2x1bW4nICcKIAlnaXQgbG9nIC0tcHJldHR5PSJ0Zm9ybWF0OiVoICU8fCg0MCklcyIgPmFjdHVhbCAmJgotCXF6X3RvX3RhYl9zcGFjZSA8PEVPRiA+ZXhwZWN0ZWQgJiYKLSRoZWFkMSBtZXNzYWdlIHR3byAgICAgICAgICAgICAgICAgICAgWgotJGhlYWQyIG1lc3NhZ2Ugb25lICAgICAgICAgICAgICAgICAgICBaCi0kaGVhZDMgYWRkIGJhciAgICAgICAgICAgICAgICAgICAgICAgIFoKLSRoZWFkNCAkKGNvbW1pdF9tc2cpICAgICAgICAgICAgWgotRU9GCisJcXpfdG9fdGFiX3NwYWNlIDw8LUVPRiA+ZXhwZWN0ZWQgJiYKKwkkaGVhZDEgbWVzc2FnZSB0d28gICAgICAgICAgICAgICAgICAgIFoKKwkkaGVhZDIgbWVzc2FnZSBvbmUgICAgICAgICAgICAgICAgICAgIFoKKwkkaGVhZDMgYWRkIGJhciAgICAgICAgICAgICAgICAgICAgICAgIFoKKwkkaGVhZDQgJChjb21taXRfbXNnKSAgICAgICAgICAgIFoKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbGVmdCBhbGlnbm1lbnQgZm9ybWF0dGluZyBhdCB0aGUgbnRoIGNvbHVtbicgJworCUNPTFVNTlM9NTAgZ2l0IGxvZyAtLXByZXR0eT0idGZvcm1hdDolaCAlPHwoLTEwKSVzIiA+YWN0dWFsICYmCisJcXpfdG9fdGFiX3NwYWNlIDw8LUVPRiA+ZXhwZWN0ZWQgJiYKKwkkaGVhZDEgbWVzc2FnZSB0d28gICAgICAgICAgICAgICAgICAgIFoKKwkkaGVhZDIgbWVzc2FnZSBvbmUgICAgICAgICAgICAgICAgICAgIFoKKwkkaGVhZDMgYWRkIGJhciAgICAgICAgICAgICAgICAgICAgICAgIFoKKwkkaGVhZDQgJChjb21taXRfbXNnKSAgICAgICAgICAgIFoKKwlFT0YKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbGVmdCBhbGlnbm1lbnQgZm9ybWF0dGluZyBhdCB0aGUgbnRoIGNvbHVtbi4gaTE4bi5sb2dPdXRwdXRFbmNvZGluZycgJwogCWdpdCAtYyBpMThuLmxvZ091dHB1dEVuY29kaW5nPSR0ZXN0X2VuY29kaW5nIGxvZyAtLXByZXR0eT0idGZvcm1hdDolaCAlPHwoNDApJXMiID5hY3R1YWwgJiYKLQlxel90b190YWJfc3BhY2UgPDxFT0YgfCBpY29udiAtZiB1dGYtOCAtdCAkdGVzdF9lbmNvZGluZyA+ZXhwZWN0ZWQgJiYKLSRoZWFkMSBtZXNzYWdlIHR3byAgICAgICAgICAgICAgICAgICAgWgotJGhlYWQyIG1lc3NhZ2Ugb25lICAgICAgICAgICAgICAgICAgICBaCi0kaGVhZDMgYWRkIGJhciAgICAgICAgICAgICAgICAgICAgICAgIFoKLSRoZWFkNCAkKGNvbW1pdF9tc2cpICAgICAgICAgICAgWgotRU9GCisJcXpfdG9fdGFiX3NwYWNlIDw8LUVPRiB8IGljb252IC1mIHV0Zi04IC10ICR0ZXN0X2VuY29kaW5nID5leHBlY3RlZCAmJgorCSRoZWFkMSBtZXNzYWdlIHR3byAgICAgICAgICAgICAgICAgICAgWgorCSRoZWFkMiBtZXNzYWdlIG9uZSAgICAgICAgICAgICAgICAgICAgWgorCSRoZWFkMyBhZGQgYmFyICAgICAgICAgICAgICAgICAgICAgICAgWgorCSRoZWFkNCAkKGNvbW1pdF9tc2cpICAgICAgICAgICAgWgorCUVPRgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsZWZ0IGFsaWdubWVudCBmb3JtYXR0aW5nIHdpdGggbm8gcGFkZGluZycgJwogCWdpdCBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JTwoMSklcyIgPmFjdHVhbCAmJgotCWNhdCA8PEVPRiA+ZXhwZWN0ZWQgJiYKLW1lc3NhZ2UgdHdvCi1tZXNzYWdlIG9uZQotYWRkIGJhcgotJChjb21taXRfbXNnKQotRU9GCisJY2F0IDw8LUVPRiA+ZXhwZWN0ZWQgJiYKKwltZXNzYWdlIHR3bworCW1lc3NhZ2Ugb25lCisJYWRkIGJhcgorCSQoY29tbWl0X21zZykKKwlFT0YKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbGVmdCBhbGlnbm1lbnQgZm9ybWF0dGluZyB3aXRoIG5vIHBhZGRpbmcuIGkxOG4ubG9nT3V0cHV0RW5jb2RpbmcnICcKIAlnaXQgLWMgaTE4bi5sb2dPdXRwdXRFbmNvZGluZz0kdGVzdF9lbmNvZGluZyBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JTwoMSklcyIgPmFjdHVhbCAmJgotCWNhdCA8PEVPRiB8IGljb252IC1mIHV0Zi04IC10ICR0ZXN0X2VuY29kaW5nID5leHBlY3RlZCAmJgotbWVzc2FnZSB0d28KLW1lc3NhZ2Ugb25lCi1hZGQgYmFyCi0kKGNvbW1pdF9tc2cpCi1FT0YKKwljYXQgPDwtRU9GIHwgaWNvbnYgLWYgdXRmLTggLXQgJHRlc3RfZW5jb2RpbmcgPmV4cGVjdGVkICYmCisJbWVzc2FnZSB0d28KKwltZXNzYWdlIG9uZQorCWFkZCBiYXIKKwkkKGNvbW1pdF9tc2cpCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xlZnQgYWxpZ25tZW50IGZvcm1hdHRpbmcgd2l0aCB0cnVuYycgJwogCWdpdCBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JTwoMTAsdHJ1bmMpJXMiID5hY3R1YWwgJiYKLQlxel90b190YWJfc3BhY2UgPDxFT0YgPmV4cGVjdGVkICYmCi1tZXNzYWdlIC4uCi1tZXNzYWdlIC4uCi1hZGQgYmFyICBaCi1pbml0aWFsLi4uCi1FT0YKKwlxel90b190YWJfc3BhY2UgPDwtXEVPRiA+ZXhwZWN0ZWQgJiYKKwltZXNzYWdlIC4uCisJbWVzc2FnZSAuLgorCWFkZCBiYXIgIFoKKwlpbml0aWFsLi4uCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xlZnQgYWxpZ25tZW50IGZvcm1hdHRpbmcgd2l0aCB0cnVuYy4gaTE4bi5sb2dPdXRwdXRFbmNvZGluZycgJwogCWdpdCAtYyBpMThuLmxvZ091dHB1dEVuY29kaW5nPSR0ZXN0X2VuY29kaW5nIGxvZyAtLXByZXR0eT0idGZvcm1hdDolPCgxMCx0cnVuYyklcyIgPmFjdHVhbCAmJgotCXF6X3RvX3RhYl9zcGFjZSA8PEVPRiB8IGljb252IC1mIHV0Zi04IC10ICR0ZXN0X2VuY29kaW5nID5leHBlY3RlZCAmJgotbWVzc2FnZSAuLgotbWVzc2FnZSAuLgotYWRkIGJhciAgWgotaW5pdGlhbC4uLgotRU9GCisJcXpfdG9fdGFiX3NwYWNlIDw8LVxFT0YgfCBpY29udiAtZiB1dGYtOCAtdCAkdGVzdF9lbmNvZGluZyA+ZXhwZWN0ZWQgJiYKKwltZXNzYWdlIC4uCisJbWVzc2FnZSAuLgorCWFkZCBiYXIgIFoKKwlpbml0aWFsLi4uCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xlZnQgYWxpZ25tZW50IGZvcm1hdHRpbmcgd2l0aCBsdHJ1bmMnICcKIAlnaXQgbG9nIC0tcHJldHR5PSJ0Zm9ybWF0OiU8KDEwLGx0cnVuYyklcyIgPmFjdHVhbCAmJgotCXF6X3RvX3RhYl9zcGFjZSA8PEVPRiA+ZXhwZWN0ZWQgJiYKLS4uc2FnZSB0d28KLS4uc2FnZSBvbmUKLWFkZCBiYXIgIFoKLS4uJHtzYW1wbGVfdXRmOF9wYXJ0fWxpY2gKLUVPRgorCXF6X3RvX3RhYl9zcGFjZSA8PC1FT0YgPmV4cGVjdGVkICYmCisJLi5zYWdlIHR3bworCS4uc2FnZSBvbmUKKwlhZGQgYmFyICBaCisJLi4ke3NhbXBsZV91dGY4X3BhcnR9bGljaAorCUVPRgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsZWZ0IGFsaWdubWVudCBmb3JtYXR0aW5nIHdpdGggbHRydW5jLiBpMThuLmxvZ091dHB1dEVuY29kaW5nJyAnCiAJZ2l0IC1jIGkxOG4ubG9nT3V0cHV0RW5jb2Rpbmc9JHRlc3RfZW5jb2RpbmcgbG9nIC0tcHJldHR5PSJ0Zm9ybWF0OiU8KDEwLGx0cnVuYyklcyIgPmFjdHVhbCAmJgotCXF6X3RvX3RhYl9zcGFjZSA8PEVPRiB8IGljb252IC1mIHV0Zi04IC10ICR0ZXN0X2VuY29kaW5nID5leHBlY3RlZCAmJgotLi5zYWdlIHR3bwotLi5zYWdlIG9uZQotYWRkIGJhciAgWgotLi4ke3NhbXBsZV91dGY4X3BhcnR9bGljaAotRU9GCisJcXpfdG9fdGFiX3NwYWNlIDw8LUVPRiB8IGljb252IC1mIHV0Zi04IC10ICR0ZXN0X2VuY29kaW5nID5leHBlY3RlZCAmJgorCS4uc2FnZSB0d28KKwkuLnNhZ2Ugb25lCisJYWRkIGJhciAgWgorCS4uJHtzYW1wbGVfdXRmOF9wYXJ0fWxpY2gKKwlFT0YKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbGVmdCBhbGlnbm1lbnQgZm9ybWF0dGluZyB3aXRoIG10cnVuYycgJwogCWdpdCBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JTwoMTAsbXRydW5jKSVzIiA+YWN0dWFsICYmCi0JcXpfdG9fdGFiX3NwYWNlIDw8RU9GID5leHBlY3RlZCAmJgotbWVzcy4uIHR3bwotbWVzcy4uIG9uZQotYWRkIGJhciAgWgotaW5pdC4ubGljaAotRU9GCisJcXpfdG9fdGFiX3NwYWNlIDw8LVxFT0YgPmV4cGVjdGVkICYmCisJbWVzcy4uIHR3bworCW1lc3MuLiBvbmUKKwlhZGQgYmFyICBaCisJaW5pdC4ubGljaAorCUVPRgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsZWZ0IGFsaWdubWVudCBmb3JtYXR0aW5nIHdpdGggbXRydW5jLiBpMThuLmxvZ091dHB1dEVuY29kaW5nJyAnCiAJZ2l0IC1jIGkxOG4ubG9nT3V0cHV0RW5jb2Rpbmc9JHRlc3RfZW5jb2RpbmcgbG9nIC0tcHJldHR5PSJ0Zm9ybWF0OiU8KDEwLG10cnVuYyklcyIgPmFjdHVhbCAmJgotCXF6X3RvX3RhYl9zcGFjZSA8PEVPRiB8IGljb252IC1mIHV0Zi04IC10ICR0ZXN0X2VuY29kaW5nID5leHBlY3RlZCAmJgotbWVzcy4uIHR3bwotbWVzcy4uIG9uZQotYWRkIGJhciAgWgotaW5pdC4ubGljaAotRU9GCisJcXpfdG9fdGFiX3NwYWNlIDw8LVxFT0YgfCBpY29udiAtZiB1dGYtOCAtdCAkdGVzdF9lbmNvZGluZyA+ZXhwZWN0ZWQgJiYKKwltZXNzLi4gdHdvCisJbWVzcy4uIG9uZQorCWFkZCBiYXIgIFoKKwlpbml0Li5saWNoCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JpZ2h0IGFsaWdubWVudCBmb3JtYXR0aW5nJyAnCiAJZ2l0IGxvZyAtLXByZXR0eT0idGZvcm1hdDolPig0MCklcyIgPmFjdHVhbCAmJgotCXF6X3RvX3RhYl9zcGFjZSA8PEVPRiA+ZXhwZWN0ZWQgJiYKLVogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSB0d28KLVogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSBvbmUKLVogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCBiYXIKLVogICAgICAgICAgICAgICAgICAgICQoY29tbWl0X21zZykKLUVPRgorCXF6X3RvX3RhYl9zcGFjZSA8PC1FT0YgPmV4cGVjdGVkICYmCisJWiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlIHR3bworCVogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSBvbmUKKwlaICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQgYmFyCisJWiAgICAgICAgICAgICAgICAgICAgJChjb21taXRfbXNnKQorCUVPRgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyaWdodCBhbGlnbm1lbnQgZm9ybWF0dGluZy4gaTE4bi5sb2dPdXRwdXRFbmNvZGluZycgJwogCWdpdCAtYyBpMThuLmxvZ091dHB1dEVuY29kaW5nPSR0ZXN0X2VuY29kaW5nIGxvZyAtLXByZXR0eT0idGZvcm1hdDolPig0MCklcyIgPmFjdHVhbCAmJgotCXF6X3RvX3RhYl9zcGFjZSA8PEVPRiB8IGljb252IC1mIHV0Zi04IC10ICR0ZXN0X2VuY29kaW5nID5leHBlY3RlZCAmJgotWiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlIHR3bwotWiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlIG9uZQotWiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkIGJhcgotWiAgICAgICAgICAgICAgICAgICAgJChjb21taXRfbXNnKQotRU9GCisJcXpfdG9fdGFiX3NwYWNlIDw8LUVPRiB8IGljb252IC1mIHV0Zi04IC10ICR0ZXN0X2VuY29kaW5nID5leHBlY3RlZCAmJgorCVogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSB0d28KKwlaICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2Ugb25lCisJWiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkIGJhcgorCVogICAgICAgICAgICAgICAgICAgICQoY29tbWl0X21zZykKKwlFT0YKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmlnaHQgYWxpZ25tZW50IGZvcm1hdHRpbmcgYXQgdGhlIG50aCBjb2x1bW4nICcKIAlnaXQgbG9nIC0tcHJldHR5PSJ0Zm9ybWF0OiVoICU+fCg0MCklcyIgPmFjdHVhbCAmJgotCXF6X3RvX3RhYl9zcGFjZSA8PEVPRiA+ZXhwZWN0ZWQgJiYKLSRoZWFkMSAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlIHR3bwotJGhlYWQyICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2Ugb25lCi0kaGVhZDMgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCBiYXIKLSRoZWFkNCAgICAgICAgICAgICAgJChjb21taXRfbXNnKQotRU9GCisJcXpfdG9fdGFiX3NwYWNlIDw8LUVPRiA+ZXhwZWN0ZWQgJiYKKwkkaGVhZDEgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSB0d28KKwkkaGVhZDIgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSBvbmUKKwkkaGVhZDMgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCBiYXIKKwkkaGVhZDQgICAgICAgICAgICAgICQoY29tbWl0X21zZykKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmlnaHQgYWxpZ25tZW50IGZvcm1hdHRpbmcgYXQgdGhlIG50aCBjb2x1bW4nICcKKwlDT0xVTU5TPTUwIGdpdCBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JWggJT58KC0xMCklcyIgPmFjdHVhbCAmJgorCXF6X3RvX3RhYl9zcGFjZSA8PC1FT0YgPmV4cGVjdGVkICYmCisJJGhlYWQxICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgdHdvCisJJGhlYWQyICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2Ugb25lCisJJGhlYWQzICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQgYmFyCisJJGhlYWQ0ICAgICAgICAgICAgICAkKGNvbW1pdF9tc2cpCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JpZ2h0IGFsaWdubWVudCBmb3JtYXR0aW5nIGF0IHRoZSBudGggY29sdW1uLiBpMThuLmxvZ091dHB1dEVuY29kaW5nJyAnCiAJZ2l0IC1jIGkxOG4ubG9nT3V0cHV0RW5jb2Rpbmc9JHRlc3RfZW5jb2RpbmcgbG9nIC0tcHJldHR5PSJ0Zm9ybWF0OiVoICU+fCg0MCklcyIgPmFjdHVhbCAmJgotCXF6X3RvX3RhYl9zcGFjZSA8PEVPRiB8IGljb252IC1mIHV0Zi04IC10ICR0ZXN0X2VuY29kaW5nID5leHBlY3RlZCAmJgotJGhlYWQxICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgdHdvCi0kaGVhZDIgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSBvbmUKLSRoZWFkMyAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkIGJhcgotJGhlYWQ0ICAgICAgICAgICAgICAkKGNvbW1pdF9tc2cpCi1FT0YKKwlxel90b190YWJfc3BhY2UgPDwtRU9GIHwgaWNvbnYgLWYgdXRmLTggLXQgJHRlc3RfZW5jb2RpbmcgPmV4cGVjdGVkICYmCisJJGhlYWQxICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgdHdvCisJJGhlYWQyICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2Ugb25lCisJJGhlYWQzICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQgYmFyCisJJGhlYWQ0ICAgICAgICAgICAgICAkKGNvbW1pdF9tc2cpCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKKyMgTm90ZTogU3BhY2UgYmV0d2VlbiAnbWVzc2FnZScgYW5kICd0d28nIHNob3VsZCBiZSBpbiB0aGUgc2FtZSBjb2x1bW4KKyMgYXMgaW4gcHJldmlvdXMgdGVzdC4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JpZ2h0IGFsaWdubWVudCBmb3JtYXR0aW5nIGF0IHRoZSBudGggY29sdW1uIHdpdGggLS1ncmFwaC4gaTE4bi5sb2dPdXRwdXRFbmNvZGluZycgJworCWdpdCAtYyBpMThuLmxvZ091dHB1dEVuY29kaW5nPSR0ZXN0X2VuY29kaW5nIGxvZyAtLWdyYXBoIC0tcHJldHR5PSJ0Zm9ybWF0OiVoICU+fCg0MCklcyIgPmFjdHVhbCAmJgorCWljb252IC1mIHV0Zi04IC10ICR0ZXN0X2VuY29kaW5nID5leHBlY3RlZCA8PC1FT0YgJiYKKwkqICRoZWFkMSAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSB0d28KKwkqICRoZWFkMiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSBvbmUKKwkqICRoZWFkMyAgICAgICAgICAgICAgICAgICAgICAgIGFkZCBiYXIKKwkqICRoZWFkNCAgICAgICAgICAgICQoY29tbWl0X21zZykKKwlFT0YKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmlnaHQgYWxpZ25tZW50IGZvcm1hdHRpbmcgd2l0aCBubyBwYWRkaW5nJyAnCiAJZ2l0IGxvZyAtLXByZXR0eT0idGZvcm1hdDolPigxKSVzIiA+YWN0dWFsICYmCi0JY2F0IDw8RU9GID5leHBlY3RlZCAmJgotbWVzc2FnZSB0d28KLW1lc3NhZ2Ugb25lCi1hZGQgYmFyCi0kKGNvbW1pdF9tc2cpCi1FT0YKKwljYXQgPDwtRU9GID5leHBlY3RlZCAmJgorCW1lc3NhZ2UgdHdvCisJbWVzc2FnZSBvbmUKKwlhZGQgYmFyCisJJChjb21taXRfbXNnKQorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyaWdodCBhbGlnbm1lbnQgZm9ybWF0dGluZyB3aXRoIG5vIHBhZGRpbmcgYW5kIHdpdGggLS1ncmFwaCcgJworCWdpdCBsb2cgLS1ncmFwaCAtLXByZXR0eT0idGZvcm1hdDolPigxKSVzIiA+YWN0dWFsICYmCisJY2F0IDw8LUVPRiA+ZXhwZWN0ZWQgJiYKKwkqIG1lc3NhZ2UgdHdvCisJKiBtZXNzYWdlIG9uZQorCSogYWRkIGJhcgorCSogJChjb21taXRfbXNnKQorCUVPRgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyaWdodCBhbGlnbm1lbnQgZm9ybWF0dGluZyB3aXRoIG5vIHBhZGRpbmcuIGkxOG4ubG9nT3V0cHV0RW5jb2RpbmcnICcKIAlnaXQgLWMgaTE4bi5sb2dPdXRwdXRFbmNvZGluZz0kdGVzdF9lbmNvZGluZyBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JT4oMSklcyIgPmFjdHVhbCAmJgotCWNhdCA8PEVPRiB8IGljb252IC1mIHV0Zi04IC10ICR0ZXN0X2VuY29kaW5nID5leHBlY3RlZCAmJgotbWVzc2FnZSB0d28KLW1lc3NhZ2Ugb25lCi1hZGQgYmFyCi0kKGNvbW1pdF9tc2cpCi1FT0YKKwljYXQgPDwtRU9GIHwgaWNvbnYgLWYgdXRmLTggLXQgJHRlc3RfZW5jb2RpbmcgPmV4cGVjdGVkICYmCisJbWVzc2FnZSB0d28KKwltZXNzYWdlIG9uZQorCWFkZCBiYXIKKwkkKGNvbW1pdF9tc2cpCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NlbnRlciBhbGlnbm1lbnQgZm9ybWF0dGluZycgJwogCWdpdCBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JT48KDQwKSVzIiA+YWN0dWFsICYmCi0JcXpfdG9fdGFiX3NwYWNlIDw8RU9GID5leHBlY3RlZCAmJgotWiAgICAgICAgICAgICBtZXNzYWdlIHR3byAgICAgICAgICAgICAgWgotWiAgICAgICAgICAgICBtZXNzYWdlIG9uZSAgICAgICAgICAgICAgWgotWiAgICAgICAgICAgICAgIGFkZCBiYXIgICAgICAgICAgICAgICAgWgotWiAgICAgICAgICQoY29tbWl0X21zZykgICAgICAgICAgWgotRU9GCisJcXpfdG9fdGFiX3NwYWNlIDw8LUVPRiA+ZXhwZWN0ZWQgJiYKKwlaICAgICAgICAgICAgIG1lc3NhZ2UgdHdvICAgICAgICAgICAgICBaCisJWiAgICAgICAgICAgICBtZXNzYWdlIG9uZSAgICAgICAgICAgICAgWgorCVogICAgICAgICAgICAgICBhZGQgYmFyICAgICAgICAgICAgICAgIFoKKwlaICAgICAgICAgJChjb21taXRfbXNnKSAgICAgICAgICBaCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NlbnRlciBhbGlnbm1lbnQgZm9ybWF0dGluZy4gaTE4bi5sb2dPdXRwdXRFbmNvZGluZycgJwogCWdpdCAtYyBpMThuLmxvZ091dHB1dEVuY29kaW5nPSR0ZXN0X2VuY29kaW5nIGxvZyAtLXByZXR0eT0idGZvcm1hdDolPjwoNDApJXMiID5hY3R1YWwgJiYKLQlxel90b190YWJfc3BhY2UgPDxFT0YgfCBpY29udiAtZiB1dGYtOCAtdCAkdGVzdF9lbmNvZGluZyA+ZXhwZWN0ZWQgJiYKLVogICAgICAgICAgICAgbWVzc2FnZSB0d28gICAgICAgICAgICAgIFoKLVogICAgICAgICAgICAgbWVzc2FnZSBvbmUgICAgICAgICAgICAgIFoKLVogICAgICAgICAgICAgICBhZGQgYmFyICAgICAgICAgICAgICAgIFoKLVogICAgICAgICAkKGNvbW1pdF9tc2cpICAgICAgICAgIFoKLUVPRgorCXF6X3RvX3RhYl9zcGFjZSA8PC1FT0YgfCBpY29udiAtZiB1dGYtOCAtdCAkdGVzdF9lbmNvZGluZyA+ZXhwZWN0ZWQgJiYKKwlaICAgICAgICAgICAgIG1lc3NhZ2UgdHdvICAgICAgICAgICAgICBaCisJWiAgICAgICAgICAgICBtZXNzYWdlIG9uZSAgICAgICAgICAgICAgWgorCVogICAgICAgICAgICAgICBhZGQgYmFyICAgICAgICAgICAgICAgIFoKKwlaICAgICAgICAgJChjb21taXRfbXNnKSAgICAgICAgICBaCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjZW50ZXIgYWxpZ25tZW50IGZvcm1hdHRpbmcgYXQgdGhlIG50aCBjb2x1bW4nICcKIAlnaXQgbG9nIC0tcHJldHR5PSJ0Zm9ybWF0OiVoICU+PHwoNDApJXMiID5hY3R1YWwgJiYKLQlxel90b190YWJfc3BhY2UgPDxFT0YgPmV4cGVjdGVkICYmCi0kaGVhZDEgICAgICAgICAgIG1lc3NhZ2UgdHdvICAgICAgICAgIFoKLSRoZWFkMiAgICAgICAgICAgbWVzc2FnZSBvbmUgICAgICAgICAgWgotJGhlYWQzICAgICAgICAgICAgIGFkZCBiYXIgICAgICAgICAgICBaCi0kaGVhZDQgICAgICAgJChjb21taXRfbXNnKSAgICAgIFoKLUVPRgorCXF6X3RvX3RhYl9zcGFjZSA8PC1FT0YgPmV4cGVjdGVkICYmCisJJGhlYWQxICAgICAgICAgICBtZXNzYWdlIHR3byAgICAgICAgICBaCisJJGhlYWQyICAgICAgICAgICBtZXNzYWdlIG9uZSAgICAgICAgICBaCisJJGhlYWQzICAgICAgICAgICAgIGFkZCBiYXIgICAgICAgICAgICBaCisJJGhlYWQ0ICAgICAgICQoY29tbWl0X21zZykgICAgICBaCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NlbnRlciBhbGlnbm1lbnQgZm9ybWF0dGluZyBhdCB0aGUgbnRoIGNvbHVtbicgJworCUNPTFVNTlM9NzAgZ2l0IGxvZyAtLXByZXR0eT0idGZvcm1hdDolaCAlPjx8KC0zMCklcyIgPmFjdHVhbCAmJgorCXF6X3RvX3RhYl9zcGFjZSA8PC1FT0YgPmV4cGVjdGVkICYmCisJJGhlYWQxICAgICAgICAgICBtZXNzYWdlIHR3byAgICAgICAgICBaCisJJGhlYWQyICAgICAgICAgICBtZXNzYWdlIG9uZSAgICAgICAgICBaCisJJGhlYWQzICAgICAgICAgICAgIGFkZCBiYXIgICAgICAgICAgICBaCisJJGhlYWQ0ICAgICAgICQoY29tbWl0X21zZykgICAgICBaCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NlbnRlciBhbGlnbm1lbnQgZm9ybWF0dGluZyBhdCB0aGUgbnRoIGNvbHVtbi4gaTE4bi5sb2dPdXRwdXRFbmNvZGluZycgJwogCWdpdCAtYyBpMThuLmxvZ091dHB1dEVuY29kaW5nPSR0ZXN0X2VuY29kaW5nIGxvZyAtLXByZXR0eT0idGZvcm1hdDolaCAlPjx8KDQwKSVzIiA+YWN0dWFsICYmCi0JcXpfdG9fdGFiX3NwYWNlIDw8RU9GIHwgaWNvbnYgLWYgdXRmLTggLXQgJHRlc3RfZW5jb2RpbmcgPmV4cGVjdGVkICYmCi0kaGVhZDEgICAgICAgICAgIG1lc3NhZ2UgdHdvICAgICAgICAgIFoKLSRoZWFkMiAgICAgICAgICAgbWVzc2FnZSBvbmUgICAgICAgICAgWgotJGhlYWQzICAgICAgICAgICAgIGFkZCBiYXIgICAgICAgICAgICBaCi0kaGVhZDQgICAgICAgJChjb21taXRfbXNnKSAgICAgIFoKLUVPRgorCXF6X3RvX3RhYl9zcGFjZSA8PC1FT0YgfCBpY29udiAtZiB1dGYtOCAtdCAkdGVzdF9lbmNvZGluZyA+ZXhwZWN0ZWQgJiYKKwkkaGVhZDEgICAgICAgICAgIG1lc3NhZ2UgdHdvICAgICAgICAgIFoKKwkkaGVhZDIgICAgICAgICAgIG1lc3NhZ2Ugb25lICAgICAgICAgIFoKKwkkaGVhZDMgICAgICAgICAgICAgYWRkIGJhciAgICAgICAgICAgIFoKKwkkaGVhZDQgICAgICAgJChjb21taXRfbXNnKSAgICAgIFoKKwlFT0YKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2VudGVyIGFsaWdubWVudCBmb3JtYXR0aW5nIHdpdGggbm8gcGFkZGluZycgJwogCWdpdCBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JT48KDEpJXMiID5hY3R1YWwgJiYKLQljYXQgPDxFT0YgPmV4cGVjdGVkICYmCi1tZXNzYWdlIHR3bwotbWVzc2FnZSBvbmUKLWFkZCBiYXIKLSQoY29tbWl0X21zZykKLUVPRgorCWNhdCA8PC1FT0YgPmV4cGVjdGVkICYmCisJbWVzc2FnZSB0d28KKwltZXNzYWdlIG9uZQorCWFkZCBiYXIKKwkkKGNvbW1pdF9tc2cpCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKQEAgLTQwMCwzNCArNDU3LDM0IEBACiBvbGRfaGVhZDE9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUR+MCkKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NlbnRlciBhbGlnbm1lbnQgZm9ybWF0dGluZyB3aXRoIG5vIHBhZGRpbmcuIGkxOG4ubG9nT3V0cHV0RW5jb2RpbmcnICcKIAlnaXQgLWMgaTE4bi5sb2dPdXRwdXRFbmNvZGluZz0kdGVzdF9lbmNvZGluZyBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JT48KDEpJXMiID5hY3R1YWwgJiYKLQljYXQgPDxFT0YgfCBpY29udiAtZiB1dGYtOCAtdCAkdGVzdF9lbmNvZGluZyA+ZXhwZWN0ZWQgJiYKLW1lc3NhZ2UgdHdvCi1tZXNzYWdlIG9uZQotYWRkIGJhcgotJChjb21taXRfbXNnKQotRU9GCisJY2F0IDw8LUVPRiB8IGljb252IC1mIHV0Zi04IC10ICR0ZXN0X2VuY29kaW5nID5leHBlY3RlZCAmJgorCW1lc3NhZ2UgdHdvCisJbWVzc2FnZSBvbmUKKwlhZGQgYmFyCisJJChjb21taXRfbXNnKQorCUVPRgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsZWZ0L3JpZ2h0IGFsaWdubWVudCBmb3JtYXR0aW5nIHdpdGggc3RlYWxpbmcnICcKIAlnaXQgY29tbWl0IC0tYW1lbmQgLW0gc2hvcnQgLS1hdXRob3IgImxvbmcgbG9uZyBsb25nIDxsb25nQG1lLmNvbT4iICYmCiAJZ2l0IGxvZyAtLXByZXR0eT0idGZvcm1hdDolPCgxMCx0cnVuYyklcyU+PigxMCxsdHJ1bmMpJSBhbiIgPmFjdHVhbCAmJgotCWNhdCA8PEVPRiA+ZXhwZWN0ZWQgJiYKLXNob3J0IGxvbmcgIGxvbmcgbG9uZwotbWVzc2FnZSAuLiAgIEEgVSBUaG9yCi1hZGQgYmFyICAgICAgQSBVIFRob3IKLWluaXRpYWwuLi4gICBBIFUgVGhvcgotRU9GCisJY2F0IDw8LVxFT0YgPmV4cGVjdGVkICYmCisJc2hvcnQgbG9uZyAgbG9uZyBsb25nCisJbWVzc2FnZSAuLiAgIEEgVSBUaG9yCisJYWRkIGJhciAgICAgIEEgVSBUaG9yCisJaW5pdGlhbC4uLiAgIEEgVSBUaG9yCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsZWZ0L3JpZ2h0IGFsaWdubWVudCBmb3JtYXR0aW5nIHdpdGggc3RlYWxpbmcuIGkxOG4ubG9nT3V0cHV0RW5jb2RpbmcnICcKIAlnaXQgLWMgaTE4bi5sb2dPdXRwdXRFbmNvZGluZz0kdGVzdF9lbmNvZGluZyBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JTwoMTAsdHJ1bmMpJXMlPj4oMTAsbHRydW5jKSUgYW4iID5hY3R1YWwgJiYKLQljYXQgPDxFT0YgfCBpY29udiAtZiB1dGYtOCAtdCAkdGVzdF9lbmNvZGluZyA+ZXhwZWN0ZWQgJiYKLXNob3J0IGxvbmcgIGxvbmcgbG9uZwotbWVzc2FnZSAuLiAgIEEgVSBUaG9yCi1hZGQgYmFyICAgICAgQSBVIFRob3IKLWluaXRpYWwuLi4gICBBIFUgVGhvcgotRU9GCisJY2F0IDw8LVxFT0YgfCBpY29udiAtZiB1dGYtOCAtdCAkdGVzdF9lbmNvZGluZyA+ZXhwZWN0ZWQgJiYKKwlzaG9ydCBsb25nICBsb25nIGxvbmcKKwltZXNzYWdlIC4uICAgQSBVIFRob3IKKwlhZGQgYmFyICAgICAgQSBVIFRob3IKKwlpbml0aWFsLi4uICAgQSBVIFRob3IKKwlFT0YKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIApAQCAtNDQ3LDggKzUwNCwxMCBAQAogJwogCiAjIGdldCBuZXcgZGlnZXN0cyAod2l0aCBubyBhYmJyZXZpYXRpb25zKQotaGVhZDE9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUR+MCkgJiYKLWhlYWQyPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEfjEpICYmCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgdXAgbG9nIGRlY29yYXRpb24gdGVzdHMnICcKKwloZWFkMT0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRH4wKSAmJgorCWhlYWQyPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEfjEpCisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyBkZWNvcmF0aW9uIHByb3Blcmx5IGZvbGxvd3MgdGFnIGNoYWluJyAnCiAJZ2l0IHRhZyAtYSB0YWcxIC1tIHRhZzEgJiYKQEAgLTQ1NiwyMiArNTE1LDIyIEBACiAJZ2l0IHRhZyAtZCB0YWcxICYmCiAJZ2l0IGNvbW1pdCAtLWFtZW5kIC1tIHNob3J0ZXIgJiYKIAlnaXQgbG9nIC0tbm8td2FsayAtLXRhZ3MgLS1wcmV0dHk9IiVIICVkIiAtLWRlY29yYXRlPWZ1bGwgPmFjdHVhbCAmJgotCWNhdCA8PEVPRiA+ZXhwZWN0ZWQgJiYKLSRoZWFkMSAgKHRhZzogcmVmcy90YWdzL3RhZzIpCi0kaGVhZDIgICh0YWc6IHJlZnMvdGFncy9tZXNzYWdlLW9uZSkKLSRvbGRfaGVhZDEgICh0YWc6IHJlZnMvdGFncy9tZXNzYWdlLXR3bykKLUVPRgorCWNhdCA8PC1FT0YgPmV4cGVjdGVkICYmCisJJGhlYWQxICAodGFnOiByZWZzL3RhZ3MvdGFnMikKKwkkaGVhZDIgICh0YWc6IHJlZnMvdGFncy9tZXNzYWdlLW9uZSkKKwkkb2xkX2hlYWQxICAodGFnOiByZWZzL3RhZ3MvbWVzc2FnZS10d28pCisJRU9GCiAJc29ydCBhY3R1YWwgPmFjdHVhbDEgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwxCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NsZWFuIGxvZyBkZWNvcmF0aW9uJyAnCiAJZ2l0IGxvZyAtLW5vLXdhbGsgLS10YWdzIC0tcHJldHR5PSIlSCAlRCIgLS1kZWNvcmF0ZT1mdWxsID5hY3R1YWwgJiYKLQljYXQgPmV4cGVjdGVkIDw8RU9GICYmCi0kaGVhZDEgdGFnOiByZWZzL3RhZ3MvdGFnMgotJGhlYWQyIHRhZzogcmVmcy90YWdzL21lc3NhZ2Utb25lCi0kb2xkX2hlYWQxIHRhZzogcmVmcy90YWdzL21lc3NhZ2UtdHdvCi1FT0YKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCSRoZWFkMSB0YWc6IHJlZnMvdGFncy90YWcyCisJJGhlYWQyIHRhZzogcmVmcy90YWdzL21lc3NhZ2Utb25lCisJJG9sZF9oZWFkMSB0YWc6IHJlZnMvdGFncy9tZXNzYWdlLXR3bworCUVPRgogCXNvcnQgYWN0dWFsID5hY3R1YWwxICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsMQogJwpkaWZmIC0tZ2l0IGEvdC90NDIwNy1sb2ctZGVjb3JhdGlvbi1jb2xvcnMuc2ggYi90L3Q0MjA3LWxvZy1kZWNvcmF0aW9uLWNvbG9ycy5zaAppbmRleCBmODAwOGI2Li5iOTcyMjk2IDEwMDc1NQotLS0gYS90L3Q0MjA3LWxvZy1kZWNvcmF0aW9uLWNvbG9ycy5zaAorKysgYi90L3Q0MjA3LWxvZy1kZWNvcmF0aW9uLWNvbG9ycy5zaApAQCAtNDQsNyArNDQsNyBAQAogJwogCiBjYXQgPmV4cGVjdGVkIDw8RU9GCi0ke2NfY29tbWl0fUNPTU1JVF9JRCR7Y19yZXNldH0ke2NfY29tbWl0fSAoJHtjX3Jlc2V0fSR7Y19IRUFEfUhFQUQke2NfcmVzZXR9JHtjX2NvbW1pdH0gLT5cCiske2NfY29tbWl0fUNPTU1JVF9JRCR7Y19yZXNldH0ke2NfY29tbWl0fSAoJHtjX3Jlc2V0fSR7Y19IRUFEfUhFQUQgLT5cCiAgJHtjX3Jlc2V0fSR7Y19icmFuY2h9bWFzdGVyJHtjX3Jlc2V0fSR7Y19jb21taXR9LFwKICAke2NfcmVzZXR9JHtjX3RhZ310YWc6IHYxLjAke2NfcmVzZXR9JHtjX2NvbW1pdH0sXAogICR7Y19yZXNldH0ke2NfdGFnfXRhZzogQiR7Y19yZXNldH0ke2NfY29tbWl0fSkke2NfcmVzZXR9IEIKZGlmZiAtLWdpdCBhL3QvdDQyMDgtbG9nLW1hZ2ljLXBhdGhzcGVjLnNoIGIvdC90NDIwOC1sb2ctbWFnaWMtcGF0aHNwZWMuc2gKaW5kZXggZDhmMjNmNC4uMDAxMzQzZSAxMDA3NTUKLS0tIGEvdC90NDIwOC1sb2ctbWFnaWMtcGF0aHNwZWMuc2gKKysrIGIvdC90NDIwOC1sb2ctbWFnaWMtcGF0aHNwZWMuc2gKQEAgLTE4LDcgKzE4LDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJnaXQgbG9nIDovYSIgc2hvdWxkIGJlIGFtYmlndW91cyAoYXBwbGllZCBib3RoIHJldiBhbmQgd29ya3RyZWUpJyAnCiAJOiA+YSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBsb2cgOi9hIDI+ZXJyb3IgJiYKLQlncmVwIGFtYmlndW91cyBlcnJvcgorCXRlc3RfaTE4bmdyZXAgYW1iaWd1b3VzIGVycm9yCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJnaXQgbG9nIDovYSAtLSAiIHNob3VsZCBub3QgYmUgYW1iaWd1b3VzJyAnCkBAIC0zMSw3ICszMSw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJnaXQgbG9nIDoiIHNob3VsZCBiZSBhbWJpZ3VvdXMnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgbG9nIDogMj5lcnJvciAmJgotCWdyZXAgYW1iaWd1b3VzIGVycm9yCisJdGVzdF9pMThuZ3JlcCBhbWJpZ3VvdXMgZXJyb3IKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGxvZyAtLSA6JyAnCmRpZmYgLS1naXQgYS90L3Q0MjExLWxpbmUtbG9nLnNoIGIvdC90NDIxMS1saW5lLWxvZy5zaAppbmRleCA0NDUxMTI3Li45ZDg3Nzc3IDEwMDc1NQotLS0gYS90L3Q0MjExLWxpbmUtbG9nLnNoCisrKyBiL3QvdDQyMTEtbGluZS1sb2cuc2gKQEAgLTk5LDQgKzk5LDExIEBACiAJZ2l0IGxvZyAtLWZpcnN0LXBhcmVudCAtTCAxLDE6Yi5jCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy1MIHdpdGggLS1vdXRwdXQnICcKKwlnaXQgY2hlY2tvdXQgcGFyYWxsZWwtY2hhbmdlICYmCisJZ2l0IGxvZyAtLW91dHB1dD1sb2cgLUwgOm1haW46Yi5jID5vdXRwdXQgJiYKKwl0ZXN0ICEgLXMgb3V0cHV0ICYmCisJdGVzdF9saW5lX2NvdW50ID0gNzAgbG9nCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDI1NC1hbS1jb3JydXB0LnNoIGIvdC90NDI1NC1hbS1jb3JydXB0LnNoCmluZGV4IDg1NzE2ZGQuLjE2ODczOWMgMTAwNzU1Ci0tLSBhL3QvdDQyNTQtYW0tY29ycnVwdC5zaAorKysgYi90L3Q0MjU0LWFtLWNvcnJ1cHQuc2gKQEAgLTI5LDkgKzI5LDkgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tcGFyZSBkaWFnbm9zdGljOyBlbnN1cmUgZmlsZSBpcyBzdGlsbCBoZXJlJyAnCi0JZWNobyAiZmF0YWw6IGdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSA0KSIgPmV4cGVjdGVkICYmCisJZWNobyAiZXJyb3I6IGdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSA0KSIgPmV4cGVjdGVkICYmCiAJdGVzdF9wYXRoX2lzX2ZpbGUgZiAmJgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1MDAwLXRhci10cmVlLnNoIGIvdC90NTAwMC10YXItdHJlZS5zaAppbmRleCA0YjY4YmJhLi44MzBiZjJhIDEwMDc1NQotLS0gYS90L3Q1MDAwLXRhci10cmVlLnNoCisrKyBiL3QvdDUwMDAtdGFyLXRyZWUuc2gKQEAgLTk0LDYgKzk0LDIwIEBACiAJJwogfQogCisjIHJ1biAiJEAiIGluc2lkZSBhIG5vbi1naXQgZGlyZWN0b3J5Citub25naXQgKCkgeworCXRlc3QgLWQgbm9uLXJlcG8gfHwKKwlta2RpciBub24tcmVwbyB8fAorCXJldHVybiAxCisKKwkoCisJCUdJVF9DRUlMSU5HX0RJUkVDVE9SSUVTPSQocHdkKSAmJgorCQlleHBvcnQgR0lUX0NFSUxJTkdfRElSRUNUT1JJRVMgJiYKKwkJY2Qgbm9uLXJlcG8gJiYKKwkJIiRAIgorCSkKK30KKwogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCiAgICAgJ3BvcHVsYXRlIHdvcmtkaXInIFwKICAgICAnbWtkaXIgYSAmJgpAQCAtMTc5LDYgKzE5MywxNSBAQAogICAgICdnaXQgYXJjaGl2ZSAtLXJlbW90ZT0uIEhFQUQgPmI1LnRhciAmJgogICAgIHRlc3RfY21wX2JpbiBiLnRhciBiNS50YXInCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBhcmNoaXZlIC0tcmVtb3RlIHdpdGggY29uZmlndXJlZCByZW1vdGUnICcKKwlnaXQgY29uZmlnIHJlbW90ZS5mb28udXJsIC4gJiYKKwkoCisJCWNkIGEgJiYKKwkJZ2l0IGFyY2hpdmUgLS1yZW1vdGU9Zm9vIC0tb3V0cHV0PS4uL2I1LW5pY2sudGFyIEhFQUQKKwkpICYmCisJdGVzdF9jbXBfYmluIGIudGFyIGI1LW5pY2sudGFyCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAogICAgICd2YWxpZGF0ZSBmaWxlIG1vZGlmaWNhdGlvbiB0aW1lJyBcCiAgICAgJ21rZGlyIGV4dHJhY3QgJiYKQEAgLTE5Nyw5ICsyMjAsMTUgQEAKIAl0ZXN0X2NtcF9iaW4gYi50YXIgZDQuemlwCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotICAgICdnaXQgYXJjaGl2ZSAtLWxpc3Qgb3V0c2lkZSBvZiBhIGdpdCByZXBvJyBcCi0gICAgJ0dJVF9ESVI9c29tZS9ub24tZXhpc3RpbmcvZGlyZWN0b3J5IGdpdCBhcmNoaXZlIC0tbGlzdCcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBhcmNoaXZlIC0tbGlzdCBvdXRzaWRlIG9mIGEgZ2l0IHJlcG8nICcKKwlub25naXQgZ2l0IGFyY2hpdmUgLS1saXN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBhcmNoaXZlIC0tcmVtb3RlIG91dHNpZGUgb2YgYSBnaXQgcmVwbycgJworCWdpdCBhcmNoaXZlIEhFQUQgPmV4cGVjdC50YXIgJiYKKwlub25naXQgZ2l0IGFyY2hpdmUgLS1yZW1vdGU9IiRQV0QiIEhFQUQgPmFjdHVhbC50YXIgJiYKKwl0ZXN0X2NtcF9iaW4gZXhwZWN0LnRhciBhY3R1YWwudGFyCisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NsaWVudHMgY2Fubm90IGFjY2VzcyB1bnJlYWNoYWJsZSBjb21taXRzJyAnCiAJdGVzdF9jb21taXQgdW5yZWFjaGFibGUgJiYKQEAgLTMxOSw0ICszNDgsNzggQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgYXJjaGl2ZSAtdiBIRUFEIC0tICIqLmFiYyIgPi9kZXYvbnVsbAogJwogCisjIFB1bGwgdGhlIHNpemUgYW5kIGRhdGUgb2YgZWFjaCBlbnRyeSBpbiBhIHRhcmZpbGUgdXNpbmcgdGhlIHN5c3RlbSB0YXIuCisjCisjIFdlJ2xsIHB1bGwgb3V0IG9ubHkgdGhlIHllYXIgZnJvbSB0aGUgZGF0ZTsgdGhhdCBhdm9pZHMgYW55IHF1ZXN0aW9uIG9mCisjIHRpbWV6b25lcyBpbXBhY3RpbmcgdGhlIHJlc3VsdCAoYXMgbG9uZyBhcyB3ZSBrZWVwIG91ciB0ZXN0IHRpbWVzIGF3YXkgZnJvbSBhCisjIHllYXIgYm91bmRhcnk7IG91ciByZWZlcmVuY2UgdGltZXMgYXJlIGFsbCBpbiBBdWd1c3QpLgorIworIyBUaGUgb3V0cHV0IG9mIHRhcl9pbmZvIGlzIGV4cGVjdGVkIHRvIGJlICI8c2l6ZT4gPHllYXI+IiwgYm90aCBpbiBkZWNpbWFsLiBJdAorIyBpZ25vcmVzIHRoZSByZXR1cm4gdmFsdWUgb2YgdGFyLiBXZSBoYXZlIHRvIGRvIHRoaXMsIGJlY2F1c2Ugc29tZSBvZiBvdXIgdGVzdAorIyBpbnB1dCBpcyBvbmx5IHBhcnRpYWwgKHRoZSByZWFsIGRhdGEgaXMgNjRHQiBpbiBzb21lIGNhc2VzKS4KK3Rhcl9pbmZvICgpIHsKKwkiJFRBUiIgdHZmICIkMSIgfAorCWF3ayAneworCQlzcGxpdCgkNCwgZGF0ZSwgIi0iKQorCQlwcmludCAkMyAiICIgZGF0ZVsxXQorCX0nCit9CisKKyMgU2VlIGlmIG91ciBzeXN0ZW0gdGFyIGNhbiBoYW5kbGUgYSB0YXIgZmlsZSB3aXRoIGh1Z2Ugc2l6ZXMgYW5kIGRhdGVzIGZhciBpbgorIyB0aGUgZnV0dXJlLCBhbmQgdGhhdCB3ZSBjYW4gYWN0dWFsbHkgcGFyc2UgaXRzIG91dHB1dC4KKyMKKyMgVGhlIHJlZmVyZW5jZSBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgR05VIHRhciwgYW5kIHRoZSBtYWdpYyB0aW1lIGFuZCBzaXplIGFyZQorIyBib3RoIG9jdGFsIDAxMDAwMDAwMDAwMDAxLCB3aGljaCBvdmVyZmxvd3Mgbm9ybWFsIHVzdGFyIGZpZWxkcy4KK3Rlc3RfbGF6eV9wcmVyZXEgVEFSX0hVR0UgJworCWVjaG8gIjY4NzE5NDc2NzM3IDQxNDciID5leHBlY3QgJiYKKwl0YXJfaW5mbyAiJFRFU1RfRElSRUNUT1JZIi90NTAwMC9odWdlLWFuZC1mdXR1cmUudGFyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgTE9OR19JU182NEJJVCAnc2V0IHVwIHJlcG9zaXRvcnkgd2l0aCBodWdlIGJsb2InICcKKwlvYmpfZD0xOSAmJgorCW9ial9mPWY5YzgyNzNlYzQ1YTg5MzhlNjk5OWNiNTliM2ZmNjY3Mzk5MDJhICYmCisJb2JqPSR7b2JqX2R9JHtvYmpfZn0gJiYKKwlta2RpciAtcCAuZ2l0L29iamVjdHMvJG9ial9kICYmCisJY3AgIiRURVNUX0RJUkVDVE9SWSIvdDUwMDAvJG9iaiAuZ2l0L29iamVjdHMvJG9ial9kLyRvYmpfZiAmJgorCXJtIC1mIC5naXQvaW5kZXggJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tY2FjaGVpbmZvIDEwMDY0NCwkb2JqLGh1Z2UgJiYKKwlnaXQgY29tbWl0IC1tIGh1Z2UKKycKKworIyBXZSBleHBlY3QgZ2l0IHRvIGRpZSB3aXRoIFNJR1BJUEUgaGVyZSAob3RoZXJ3aXNlIHdlCisjIHdvdWxkIGdlbmVyYXRlIHRoZSB3aG9sZSA2NEdCKS4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgTE9OR19JU182NEJJVCAnZ2VuZXJhdGUgdGFyIHdpdGggaHVnZSBzaXplJyAnCisJeworCQlnaXQgYXJjaGl2ZSBIRUFECisJCWVjaG8gJD8gPmV4aXQtY29kZQorCX0gfCB0ZXN0X2NvcHlfYnl0ZXMgNDA5NiA+aHVnZS50YXIgJiYKKwllY2hvIDE0MSA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGV4aXQtY29kZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFRBUl9IVUdFLExPTkdfSVNfNjRCSVQgJ3N5c3RlbSB0YXIgY2FuIHJlYWQgb3VyIGh1Z2Ugc2l6ZScgJworCWVjaG8gNjg3MTk0NzY3MzcgPmV4cGVjdCAmJgorCXRhcl9pbmZvIGh1Z2UudGFyIHwgY3V0IC1kIiAiIC1mMSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIExPTkdfSVNfNjRCSVQgJ3NldCB1cCByZXBvc2l0b3J5IHdpdGggZmFyLWZ1dHVyZSBjb21taXQnICcKKwlybSAtZiAuZ2l0L2luZGV4ICYmCisJZWNobyBjb250ZW50ID5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJR0lUX0NPTU1JVFRFUl9EQVRFPSJANjg3MTk0NzY3MzcgKzAwMDAiIFwKKwkJZ2l0IGNvbW1pdCAtbSAidGVtcG9yaSBwYXJlbmR1bSIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBMT05HX0lTXzY0QklUICdnZW5lcmF0ZSB0YXIgd2l0aCBmdXR1cmUgbXRpbWUnICcKKwlnaXQgYXJjaGl2ZSBIRUFEID5mdXR1cmUudGFyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgVEFSX0hVR0UsTE9OR19JU182NEJJVCAnc3lzdGVtIHRhciBjYW4gcmVhZCBvdXIgZnV0dXJlIG10aW1lJyAnCisJZWNobyA0MTQ3ID5leHBlY3QgJiYKKwl0YXJfaW5mbyBmdXR1cmUudGFyIHwgY3V0IC1kIiAiIC1mMiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDUwMDAvMTlmOWM4MjczZWM0NWE4OTM4ZTY5OTljYjU5YjNmZjY2NzM5OTAyYSBiL3QvdDUwMDAvMTlmOWM4MjczZWM0NWE4OTM4ZTY5OTljYjU5YjNmZjY2NzM5OTAyYQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2JlOWVjCi0tLSAvZGV2L251bGwKKysrIGIvdC90NTAwMC8xOWY5YzgyNzNlYzQ1YTg5MzhlNjk5OWNiNTliM2ZmNjY3Mzk5MDJhCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3QvdDUwMDAvaHVnZS1hbmQtZnV0dXJlLnRhciBiL3QvdDUwMDAvaHVnZS1hbmQtZnV0dXJlLnRhcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzE1NWUxCi0tLSAvZGV2L251bGwKKysrIGIvdC90NTAwMC9odWdlLWFuZC1mdXR1cmUudGFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3QvdDUxMDAtbWFpbGluZm8uc2ggYi90L3Q1MTAwLW1haWxpbmZvLnNoCmluZGV4IDg1YjNkZjUuLjcxNzFmNjcgMTAwNzU1Ci0tLSBhL3QvdDUxMDAtbWFpbGluZm8uc2gKKysrIGIvdC90NTEwMC1tYWlsaW5mby5zaApAQCAtNywzNyArNywzOSBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAorREFUQT0iJFRFU1RfRElSRUNUT1JZL3Q1MTAwIgorCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzcGxpdCBzYW1wbGUgYm94JyBcCi0JJ2dpdCBtYWlsc3BsaXQgLW8uICIkVEVTVF9ESVJFQ1RPUlkiL3Q1MTAwL3NhbXBsZS5tYm94ID5sYXN0ICYmCisJJ2dpdCBtYWlsc3BsaXQgLW8uICIkREFUQS9zYW1wbGUubWJveCIgPmxhc3QgJiYKIAlsYXN0PSQoY2F0IGxhc3QpICYmCiAJZWNobyB0b3RhbCBpcyAkbGFzdCAmJgotCXRlc3QgJChjYXQgbGFzdCkgPSAxNycKKwl0ZXN0ICQoY2F0IGxhc3QpID0gMTgnCiAKIGNoZWNrX21haWxpbmZvICgpIHsKIAltYWlsPSQxIG9wdD0kMgogCW1vPSIkbWFpbCRvcHQiCi0JZ2l0IG1haWxpbmZvIC11ICRvcHQgbXNnJG1vIHBhdGNoJG1vIDwkbWFpbCA+aW5mbyRtbyAmJgotCXRlc3RfY21wICIkVEVTVF9ESVJFQ1RPUlkiL3Q1MTAwL21zZyRtbyBtc2ckbW8gJiYKLQl0ZXN0X2NtcCAiJFRFU1RfRElSRUNUT1JZIi90NTEwMC9wYXRjaCRtbyBwYXRjaCRtbyAmJgotCXRlc3RfY21wICIkVEVTVF9ESVJFQ1RPUlkiL3Q1MTAwL2luZm8kbW8gaW5mbyRtbworCWdpdCBtYWlsaW5mbyAtdSAkb3B0ICJtc2ckbW8iICJwYXRjaCRtbyIgPCIkbWFpbCIgPiJpbmZvJG1vIiAmJgorCXRlc3RfY21wICIkREFUQS9tc2ckbW8iICJtc2ckbW8iICYmCisJdGVzdF9jbXAgIiREQVRBL3BhdGNoJG1vIiAicGF0Y2gkbW8iICYmCisJdGVzdF9jbXAgIiREQVRBL2luZm8kbW8iICJpbmZvJG1vIgogfQogCiAKIGZvciBtYWlsIGluIDAwKgogZG8KIAl0ZXN0X2V4cGVjdF9zdWNjZXNzICJtYWlsaW5mbyAkbWFpbCIgJwotCQljaGVja19tYWlsaW5mbyAkbWFpbCAiIiAmJgotCQlpZiB0ZXN0IC1mICIkVEVTVF9ESVJFQ1RPUlkiL3Q1MTAwL21zZyRtYWlsLS1zY2lzc29ycworCQljaGVja19tYWlsaW5mbyAiJG1haWwiICIiICYmCisJCWlmIHRlc3QgLWYgIiREQVRBL21zZyRtYWlsLS1zY2lzc29ycyIKIAkJdGhlbgotCQkJY2hlY2tfbWFpbGluZm8gJG1haWwgLS1zY2lzc29ycworCQkJY2hlY2tfbWFpbGluZm8gIiRtYWlsIiAtLXNjaXNzb3JzCiAJCWZpICYmCi0JCWlmIHRlc3QgLWYgIiRURVNUX0RJUkVDVE9SWSIvdDUxMDAvbXNnJG1haWwtLW5vLWluYm9keS1oZWFkZXJzCisJCWlmIHRlc3QgLWYgIiREQVRBL21zZyRtYWlsLS1uby1pbmJvZHktaGVhZGVycyIKIAkJdGhlbgotCQkJY2hlY2tfbWFpbGluZm8gJG1haWwgLS1uby1pbmJvZHktaGVhZGVycworCQkJY2hlY2tfbWFpbGluZm8gIiRtYWlsIiAtLW5vLWluYm9keS1oZWFkZXJzCiAJCWZpICYmCi0JCWlmIHRlc3QgLWYgIiRURVNUX0RJUkVDVE9SWSIvdDUxMDAvbXNnJG1haWwtLW1lc3NhZ2UtaWQKKwkJaWYgdGVzdCAtZiAiJERBVEEvbXNnJG1haWwtLW1lc3NhZ2UtaWQiCiAJCXRoZW4KLQkJCWNoZWNrX21haWxpbmZvICRtYWlsIC0tbWVzc2FnZS1pZAorCQkJY2hlY2tfbWFpbGluZm8gIiRtYWlsIiAtLW1lc3NhZ2UtaWQKIAkJZmkKIAknCiBkb25lCkBAIC00NSw3ICs0Nyw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NwbGl0IGJveCB3aXRoIHJmYzIwNDcgc2FtcGxlcycgXAogCSdta2RpciByZmMyMDQ3ICYmCi0JZ2l0IG1haWxzcGxpdCAtb3JmYzIwNDcgIiRURVNUX0RJUkVDVE9SWSIvdDUxMDAvcmZjMjA0Ny1zYW1wbGVzLm1ib3ggXAorCWdpdCBtYWlsc3BsaXQgLW9yZmMyMDQ3ICIkREFUQS9yZmMyMDQ3LXNhbXBsZXMubWJveCIgXAogCSAgPnJmYzIwNDcvbGFzdCAmJgogCWxhc3Q9JChjYXQgcmZjMjA0Ny9sYXN0KSAmJgogCWVjaG8gdG90YWwgaXMgJGxhc3QgJiYKQEAgLTU0LDIwICs1NiwyMCBAQAogZm9yIG1haWwgaW4gcmZjMjA0Ny8wMCoKIGRvCiAJdGVzdF9leHBlY3Rfc3VjY2VzcyAibWFpbGluZm8gJG1haWwiICcKLQkJZ2l0IG1haWxpbmZvIC11ICRtYWlsLW1zZyAkbWFpbC1wYXRjaCA8JG1haWwgPiRtYWlsLWluZm8gJiYKKwkJZ2l0IG1haWxpbmZvIC11ICIkbWFpbC1tc2ciICIkbWFpbC1wYXRjaCIgPCIkbWFpbCIgPiIkbWFpbC1pbmZvIiAmJgogCQllY2hvIG1zZyAmJgotCQl0ZXN0X2NtcCAiJFRFU1RfRElSRUNUT1JZIi90NTEwMC9lbXB0eSAkbWFpbC1tc2cgJiYKKwkJdGVzdF9jbXAgIiREQVRBL2VtcHR5IiAiJG1haWwtbXNnIiAmJgogCQllY2hvIHBhdGNoICYmCi0JCXRlc3RfY21wICIkVEVTVF9ESVJFQ1RPUlkiL3Q1MTAwL2VtcHR5ICRtYWlsLXBhdGNoICYmCisJCXRlc3RfY21wICIkREFUQS9lbXB0eSIgIiRtYWlsLXBhdGNoIiAmJgogCQllY2hvIGluZm8gJiYKLQkJdGVzdF9jbXAgIiRURVNUX0RJUkVDVE9SWSIvdDUxMDAvcmZjMjA0Ny1pbmZvLSQoYmFzZW5hbWUgJG1haWwpICRtYWlsLWluZm8KKwkJdGVzdF9jbXAgIiREQVRBL3JmYzIwNDctaW5mby0kKGJhc2VuYW1lICRtYWlsKSIgIiRtYWlsLWluZm8iCiAJJwogZG9uZQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXNwZWN0IE5VTHMnICcKIAotCWdpdCBtYWlsc3BsaXQgLWQzIC1vLiAiJFRFU1RfRElSRUNUT1JZIi90NTEwMC9udWwtcGxhaW4gJiYKLQl0ZXN0X2NtcCAiJFRFU1RfRElSRUNUT1JZIi90NTEwMC9udWwtcGxhaW4gMDAxICYmCisJZ2l0IG1haWxzcGxpdCAtZDMgLW8uICIkREFUQS9udWwtcGxhaW4iICYmCisJdGVzdF9jbXAgIiREQVRBL251bC1wbGFpbiIgMDAxICYmCiAJKGNhdCAwMDEgfCBnaXQgbWFpbGluZm8gbXNnIHBhdGNoKSAmJgogCXRlc3RfbGluZV9jb3VudCA9IDQgcGF0Y2gKIApAQCAtNzUsNDAgKzc3LDk4IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1ByZXNlcnZlIE5VTHMgb3V0IG9mIE1JTUUgZW5jb2RlZCBtZXNzYWdlJyAnCiAKLQlnaXQgbWFpbHNwbGl0IC1kNSAtby4gIiRURVNUX0RJUkVDVE9SWSIvdDUxMDAvbnVsLWI2NC5pbiAmJgotCXRlc3RfY21wICIkVEVTVF9ESVJFQ1RPUlkiL3Q1MTAwL251bC1iNjQuaW4gMDAwMDEgJiYKKwlnaXQgbWFpbHNwbGl0IC1kNSAtby4gIiREQVRBL251bC1iNjQuaW4iICYmCisJdGVzdF9jbXAgIiREQVRBL251bC1iNjQuaW4iIDAwMDAxICYmCiAJZ2l0IG1haWxpbmZvIG1zZyBwYXRjaCA8MDAwMDEgJiYKLQl0ZXN0X2NtcCAiJFRFU1RfRElSRUNUT1JZIi90NTEwMC9udWwtYjY0LmV4cGVjdCBwYXRjaAorCXRlc3RfY21wICIkREFUQS9udWwtYjY0LmV4cGVjdCIgcGF0Y2gKIAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtYWlsaW5mbyBvbiBmcm9tIGhlYWRlciB3aXRob3V0IG5hbWUgd29ya3MnICcKIAogCW1rZGlyIGluZm8tZnJvbSAmJgotCWdpdCBtYWlsc3BsaXQgLW9pbmZvLWZyb20gIiRURVNUX0RJUkVDVE9SWSIvdDUxMDAvaW5mby1mcm9tLmluICYmCi0JdGVzdF9jbXAgIiRURVNUX0RJUkVDVE9SWSIvdDUxMDAvaW5mby1mcm9tLmluIGluZm8tZnJvbS8wMDAxICYmCisJZ2l0IG1haWxzcGxpdCAtb2luZm8tZnJvbSAiJERBVEEvaW5mby1mcm9tLmluIiAmJgorCXRlc3RfY21wICIkREFUQS9pbmZvLWZyb20uaW4iIGluZm8tZnJvbS8wMDAxICYmCiAJZ2l0IG1haWxpbmZvIGluZm8tZnJvbS9tc2cgaW5mby1mcm9tL3BhdGNoIFwKIAkgIDxpbmZvLWZyb20vMDAwMSA+aW5mby1mcm9tL291dCAmJgotCXRlc3RfY21wICIkVEVTVF9ESVJFQ1RPUlkiL3Q1MTAwL2luZm8tZnJvbS5leHBlY3QgaW5mby1mcm9tL291dAorCXRlc3RfY21wICIkREFUQS9pbmZvLWZyb20uZXhwZWN0IiBpbmZvLWZyb20vb3V0CiAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbWFpbGluZm8gZmluZHMgaGVhZGVycyBhZnRlciBlbWJlZGRlZCBGcm9tIGxpbmUnICcKIAlta2RpciBlbWJlZC1mcm9tICYmCi0JZ2l0IG1haWxzcGxpdCAtb2VtYmVkLWZyb20gIiRURVNUX0RJUkVDVE9SWSIvdDUxMDAvZW1iZWQtZnJvbS5pbiAmJgotCXRlc3RfY21wICIkVEVTVF9ESVJFQ1RPUlkiL3Q1MTAwL2VtYmVkLWZyb20uaW4gZW1iZWQtZnJvbS8wMDAxICYmCisJZ2l0IG1haWxzcGxpdCAtb2VtYmVkLWZyb20gIiREQVRBL2VtYmVkLWZyb20uaW4iICYmCisJdGVzdF9jbXAgIiREQVRBL2VtYmVkLWZyb20uaW4iIGVtYmVkLWZyb20vMDAwMSAmJgogCWdpdCBtYWlsaW5mbyBlbWJlZC1mcm9tL21zZyBlbWJlZC1mcm9tL3BhdGNoIFwKIAkgIDxlbWJlZC1mcm9tLzAwMDEgPmVtYmVkLWZyb20vb3V0ICYmCi0JdGVzdF9jbXAgIiRURVNUX0RJUkVDVE9SWSIvdDUxMDAvZW1iZWQtZnJvbS5leHBlY3QgZW1iZWQtZnJvbS9vdXQKKwl0ZXN0X2NtcCAiJERBVEEvZW1iZWQtZnJvbS5leHBlY3QiIGVtYmVkLWZyb20vb3V0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21haWxpbmZvIG9uIG1lc3NhZ2Ugd2l0aCBxdW90ZWQgPkZyb20nICcKIAlta2RpciBxdW90ZWQtZnJvbSAmJgotCWdpdCBtYWlsc3BsaXQgLW9xdW90ZWQtZnJvbSAiJFRFU1RfRElSRUNUT1JZIi90NTEwMC9xdW90ZWQtZnJvbS5pbiAmJgotCXRlc3RfY21wICIkVEVTVF9ESVJFQ1RPUlkiL3Q1MTAwL3F1b3RlZC1mcm9tLmluIHF1b3RlZC1mcm9tLzAwMDEgJiYKKwlnaXQgbWFpbHNwbGl0IC1vcXVvdGVkLWZyb20gIiREQVRBL3F1b3RlZC1mcm9tLmluIiAmJgorCXRlc3RfY21wICIkREFUQS9xdW90ZWQtZnJvbS5pbiIgcXVvdGVkLWZyb20vMDAwMSAmJgogCWdpdCBtYWlsaW5mbyBxdW90ZWQtZnJvbS9tc2cgcXVvdGVkLWZyb20vcGF0Y2ggXAogCSAgPHF1b3RlZC1mcm9tLzAwMDEgPnF1b3RlZC1mcm9tL291dCAmJgotCXRlc3RfY21wICIkVEVTVF9ESVJFQ1RPUlkiL3Q1MTAwL3F1b3RlZC1mcm9tLmV4cGVjdCBxdW90ZWQtZnJvbS9tc2cKKwl0ZXN0X2NtcCAiJERBVEEvcXVvdGVkLWZyb20uZXhwZWN0IiBxdW90ZWQtZnJvbS9tc2cKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWFpbGluZm8gdW5lc2NhcGVzIHdpdGggLS1tYm94cmQnICcKKwlta2RpciBtYm94cmQgJiYKKwlnaXQgbWFpbHNwbGl0IC1vbWJveHJkIC0tbWJveHJkIFwKKwkJIiREQVRBL3NhbXBsZS5tYm94cmQiID5sYXN0ICYmCisJdGVzdCB4IiQoY2F0IGxhc3QpIiA9IHgyICYmCisJZm9yIGkgaW4gMDAwMSAwMDAyCisJZG8KKwkJZ2l0IG1haWxpbmZvIG1ib3hyZC9tc2cgbWJveHJkL3BhdGNoIFwKKwkJICA8bWJveHJkLyRpID5tYm94cmQvb3V0ICYmCisJCXRlc3RfY21wICIkREFUQS8ke2l9bWJveHJkIiBtYm94cmQvbXNnCisJZG9uZSAmJgorCXNwPSIgIiAmJgorCWVjaG8gIkZyb20gIiA+ZXhwZWN0ICYmCisJZWNobyAiRnJvbSAiID4+ZXhwZWN0ICYmCisJZWNobyA+PiBleHBlY3QgJiYKKwljYXQgPnNwIDw8LUlOUFVUX0VORCAmJgorCUZyb20gbWJveHJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorCUZyb206IHRyYWlsaW5nIHNwYWNlciA8c3BAZXhhbXBsZS5jb20+CisJU3ViamVjdDogW1BBVENIXSBhIGNvbW1pdCB3aXRoIHRyYWlsaW5nIHNwYWNlCisKKwlGcm9tJHNwCisJPkZyb20kc3AKKworCUlOUFVUX0VORAorCisJZ2l0IG1haWxzcGxpdCAtZjIgLW9tYm94cmQgLS1tYm94cmQgPHNwID5sYXN0ICYmCisJdGVzdCB4IiQoY2F0IGxhc3QpIiA9IHgxICYmCisJZ2l0IG1haWxpbmZvIG1ib3hyZC9tc2cgbWJveHJkL3BhdGNoIDxtYm94cmQvMDAwMyAmJgorCXRlc3RfY21wIGV4cGVjdCBtYm94cmQvbXNnCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21haWxpbmZvIGhhbmRsZXMgcmZjMjgyMiBxdW90ZWQtc3RyaW5nJyAnCisJbWtkaXIgcXVvdGVkLXN0cmluZyAmJgorCWdpdCBtYWlsaW5mbyAvZGV2L251bGwgL2Rldi9udWxsIDwiJERBVEEvcXVvdGVkLXN0cmluZy5pbiIgXAorCQk+cXVvdGVkLXN0cmluZy9pbmZvICYmCisJdGVzdF9jbXAgIiREQVRBL3F1b3RlZC1zdHJpbmcuZXhwZWN0IiBxdW90ZWQtc3RyaW5nL2luZm8KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWFpbGluZm8gaGFuZGxlcyByZmMyODIyIGNvbW1lbnQnICcKKwlta2RpciBjb21tZW50ICYmCisJZ2l0IG1haWxpbmZvIC9kZXYvbnVsbCAvZGV2L251bGwgPCIkREFUQS9jb21tZW50LmluIiBcCisJCT5jb21tZW50L2luZm8gJiYKKwl0ZXN0X2NtcCAiJERBVEEvY29tbWVudC5leHBlY3QiIGNvbW1lbnQvaW5mbworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtYWlsaW5mbyB3aXRoIG1haWxpbmZvLnNjaXNzb3JzIGNvbmZpZycgJworCXRlc3RfY29uZmlnIG1haWxpbmZvLnNjaXNzb3JzIHRydWUgJiYKKwkoCisJCW1rZGlyIHN1YiAmJgorCQljZCBzdWIgJiYKKwkJZ2l0IG1haWxpbmZvIC4uL21zZzAwMTQuc2MgLi4vcGF0Y2gwMDE0LnNjIDwuLi8wMDE0ID4uLi9pbmZvMDAxNC5zYworCSkgJiYKKwl0ZXN0X2NtcCAiJERBVEEvbXNnMDAxNC0tc2Npc3NvcnMiIG1zZzAwMTQuc2MgJiYKKwl0ZXN0X2NtcCAiJERBVEEvcGF0Y2gwMDE0LS1zY2lzc29ycyIgcGF0Y2gwMDE0LnNjICYmCisJdGVzdF9jbXAgIiREQVRBL2luZm8wMDE0LS1zY2lzc29ycyIgaW5mbzAwMTQuc2MKKycKKworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDUxMDAvMDAwMW1ib3hyZCBiL3QvdDUxMDAvMDAwMW1ib3hyZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTRlYzU1Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NTEwMC8wMDAxbWJveHJkCkBAIC0wLDAgKzEsNCBAQAorRnJvbSB0aGUgYmVnaW5uaW5nLCBtYm94IHNob3VsZCBoYXZlIGJlZW4gbWJveHJkCis+RnJvbSBlc2NhcGVkCitGcm9tIG5vdCBtYW5nbGVkIGJ1dCB0aGlzIGxpbmUgc2hvdWxkIGhhdmUgYmVlbiBlc2NhcGVkCisKZGlmZiAtLWdpdCBhL3QvdDUxMDAvMDAwMm1ib3hyZCBiL3QvdDUxMDAvMDAwMm1ib3hyZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTM0M2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NTEwMC8wMDAybWJveHJkCkBAIC0wLDAgKzEsNSBAQAorID5Gcm9tIHVuY2hhbmdlZAorIEZyb20gYWxzbyB1bmNoYW5nZWQKK25vIHRyYWlsaW5nIHNwYWNlLCBubyBlc2NhcGluZyBuZWNlc3NhcnkgYW5kICc+JyB3YXMgaW50ZW5kZWQ6Cis+RnJvbQorCmRpZmYgLS1naXQgYS90L3Q1MTAwL2NvbW1lbnQuZXhwZWN0IGIvdC90NTEwMC9jb21tZW50LmV4cGVjdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjI4MTc3Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NTEwMC9jb21tZW50LmV4cGVjdApAQCAtMCwwICsxLDUgQEAKK0F1dGhvcjogQSBVIFRob3IgKHRoaXMgaXMgKHJlYWxseSkgYSBjb21tZW50IChob25lc3RseSkpCitFbWFpbDogc29tZWJvZHlAZXhhbXBsZS5jb20KK1N1YmplY3Q6IHRlc3RpbmcgY29tbWVudHMKK0RhdGU6IFN1biwgMjUgTWF5IDIwMDggMDA6Mzg6MTggLTA3MDAKKwpkaWZmIC0tZ2l0IGEvdC90NTEwMC9jb21tZW50LmluIGIvdC90NTEwMC9jb21tZW50LmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1M2ExOTIKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q1MTAwL2NvbW1lbnQuaW4KQEAgLTAsMCArMSw5IEBACitGcm9tIDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiQSBVIFRob3IiIDxzb21lYm9keUBleGFtcGxlLmNvbT4gKHRoaXMgaXMgXChyZWFsbHlcKSBhIGNvbW1lbnQgKGhvbmVzdGx5KSkKK0RhdGU6IFN1biwgMjUgTWF5IDIwMDggMDA6Mzg6MTggLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gdGVzdGluZyBjb21tZW50cworCisKKworLS0tCitwYXRjaApkaWZmIC0tZ2l0IGEvdC90NTEwMC9pbmZvMDAxOCBiL3QvdDUxMDAvaW5mbzAwMTgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDUzZTc0OQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDUxMDAvaW5mbzAwMTgKQEAgLTAsMCArMSw1IEBACitBdXRob3I6IEFub3RoZXIgVGhvcgorRW1haWw6IGEudGhvckBleGFtcGxlLmNvbQorU3ViamVjdDogVGhpcyBvbmUgY29udGFpbnMgYSB0YWIgYW5kIGEgc3BhY2UKK0RhdGU6IEZyaSwgOSBKdW4gMjAwNiAwMDo0NDoxNiAtMDcwMAorCmRpZmYgLS1naXQgYS90L3Q1MTAwL2luZm8wMDE4LS1uby1pbmJvZHktaGVhZGVycyBiL3QvdDUxMDAvaW5mbzAwMTgtLW5vLWluYm9keS1oZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwYjE3YmQKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q1MTAwL2luZm8wMDE4LS1uby1pbmJvZHktaGVhZGVycwpAQCAtMCwwICsxLDUgQEAKK0F1dGhvcjogQSBVIFRob3IKK0VtYWlsOiBhLnUudGhvckBleGFtcGxlLmNvbQorU3ViamVjdDogY2hlY2sgbXVsdGlsaW5lIGluYm9keSBoZWFkZXJzCitEYXRlOiBGcmksIDkgSnVuIDIwMDYgMDA6NDQ6MTYgLTA3MDAKKwpkaWZmIC0tZ2l0IGEvdC90NTEwMC9tc2cwMDE1IGIvdC90NTEwMC9tc2cwMDE1CmluZGV4IDRhYmIzZDUuLmU2OWRlMjkgMTAwNjQ0Ci0tLSBhL3QvdDUxMDAvbXNnMDAxNQorKysgYi90L3Q1MTAwL21zZzAwMTUKQEAgLTEsMiArMCwwIEBACi0gIC0gYSBsaXN0Ci0gIC0gb2Ygc3R1ZmYKZGlmZiAtLWdpdCBhL3QvdDUxMDAvbXNnMDAxOCBiL3QvdDUxMDAvbXNnMDAxOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NmRlODNkCi0tLSAvZGV2L251bGwKKysrIGIvdC90NTEwMC9tc2cwMDE4CkBAIC0wLDAgKzEsMiBAQAorYSBjb21taXQgbWVzc2FnZQorCmRpZmYgLS1naXQgYS90L3Q1MTAwL21zZzAwMTgtLW5vLWluYm9keS1oZWFkZXJzIGIvdC90NTEwMC9tc2cwMDE4LS1uby1pbmJvZHktaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMWUwNWQzCi0tLSAvZGV2L251bGwKKysrIGIvdC90NTEwMC9tc2cwMDE4LS1uby1pbmJvZHktaGVhZGVycwpAQCAtMCwwICsxLDggQEAKK0Zyb206IEFub3RoZXIgVGhvcgorIDxhLnRob3JAZXhhbXBsZS5jb20+CitTdWJqZWN0OiBUaGlzIG9uZSBjb250YWlucworCWEgdGFiCisgYW5kIGEgc3BhY2UKKworYSBjb21taXQgbWVzc2FnZQorCmRpZmYgLS1naXQgYS90L3Q1MTAwL3BhdGNoMDAxOCBiL3QvdDUxMDAvcGF0Y2gwMDE4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4OWRmNmQKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q1MTAwL3BhdGNoMDAxOApAQCAtMCwwICsxLDYgQEAKK2RpZmYgLS1naXQgYS9mb28gYi9mb28KK2luZGV4IGU2OWRlMjkuLmQ5NWYzYWQgMTAwNjQ0CistLS0gYS9mb28KKysrKyBiL2ZvbworQEAgLTAsMCArMSBAQAorK2NvbnRlbnQKZGlmZiAtLWdpdCBhL3QvdDUxMDAvcGF0Y2gwMDE4LS1uby1pbmJvZHktaGVhZGVycyBiL3QvdDUxMDAvcGF0Y2gwMDE4LS1uby1pbmJvZHktaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODlkZjZkCi0tLSAvZGV2L251bGwKKysrIGIvdC90NTEwMC9wYXRjaDAwMTgtLW5vLWluYm9keS1oZWFkZXJzCkBAIC0wLDAgKzEsNiBAQAorZGlmZiAtLWdpdCBhL2ZvbyBiL2ZvbworaW5kZXggZTY5ZGUyOS4uZDk1ZjNhZCAxMDA2NDQKKy0tLSBhL2ZvbworKysrIGIvZm9vCitAQCAtMCwwICsxIEBACisrY29udGVudApkaWZmIC0tZ2l0IGEvdC90NTEwMC9xdW90ZWQtc3RyaW5nLmV4cGVjdCBiL3QvdDUxMDAvcXVvdGVkLXN0cmluZy5leHBlY3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2FiMWJjZQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDUxMDAvcXVvdGVkLXN0cmluZy5leHBlY3QKQEAgLTAsMCArMSw1IEBACitBdXRob3I6IEF1dGhvciAiVGhlIEF1dGhvciIgTmFtZQorRW1haWw6IHNvbWVib2R5QGV4YW1wbGUuY29tCitTdWJqZWN0OiB0ZXN0aW5nIHF1b3RlZC1wYWlyCitEYXRlOiBTdW4sIDI1IE1heSAyMDA4IDAwOjM4OjE4IC0wNzAwCisKZGlmZiAtLWdpdCBhL3QvdDUxMDAvcXVvdGVkLXN0cmluZy5pbiBiL3QvdDUxMDAvcXVvdGVkLXN0cmluZy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMmU2MjdhCi0tLSAvZGV2L251bGwKKysrIGIvdC90NTEwMC9xdW90ZWQtc3RyaW5nLmluCkBAIC0wLDAgKzEsOSBAQAorRnJvbSAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogIkF1dGhvciBcIlRoZSBBdXRob3JcIiBOYW1lIiA8c29tZWJvZHlAZXhhbXBsZS5jb20+CitEYXRlOiBTdW4sIDI1IE1heSAyMDA4IDAwOjM4OjE4IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIHRlc3RpbmcgcXVvdGVkLXBhaXIKKworCisKKy0tLQorcGF0Y2gKZGlmZiAtLWdpdCBhL3QvdDUxMDAvc2FtcGxlLm1ib3ggYi90L3Q1MTAwL3NhbXBsZS5tYm94CmluZGV4IDhiMmFlMDYuLjZkNGQwZTQgMTAwNjQ0Ci0tLSBhL3QvdDUxMDAvc2FtcGxlLm1ib3gKKysrIGIvdC90NTEwMC9zYW1wbGUubWJveApAQCAtNjk5LDMgKzY5OSwyMiBAQAogKysrIGIvZm9vCiBAQCAtMCwwICsxIEBACiArTmV3IGNvbnRlbnQKK0Zyb20gbm9ib2R5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQSBVIFRob3IgPGEudS50aG9yQGV4YW1wbGUuY29tPgorU3ViamVjdDogY2hlY2sgbXVsdGlsaW5lIGluYm9keSBoZWFkZXJzCitEYXRlOiBGcmksIDkgSnVuIDIwMDYgMDA6NDQ6MTYgLTA3MDAKKworRnJvbTogQW5vdGhlciBUaG9yCisgPGEudGhvckBleGFtcGxlLmNvbT4KK1N1YmplY3Q6IFRoaXMgb25lIGNvbnRhaW5zCisJYSB0YWIKKyBhbmQgYSBzcGFjZQorCithIGNvbW1pdCBtZXNzYWdlCisKK2RpZmYgLS1naXQgYS9mb28gYi9mb28KK2luZGV4IGU2OWRlMjkuLmQ5NWYzYWQgMTAwNjQ0CistLS0gYS9mb28KKysrKyBiL2ZvbworQEAgLTAsMCArMSBAQAorK2NvbnRlbnQKZGlmZiAtLWdpdCBhL3QvdDUxMDAvc2FtcGxlLm1ib3hyZCBiL3QvdDUxMDAvc2FtcGxlLm1ib3hyZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OWFkNWFlCi0tLSAvZGV2L251bGwKKysrIGIvdC90NTEwMC9zYW1wbGUubWJveHJkCkBAIC0wLDAgKzEsMTkgQEAKK0Zyb20gbWJveHJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogbWJveHJkIHdyaXRlciA8bWJveHJkQGV4YW1wbGUuY29tPgorRGF0ZTogRnJpLCA5IEp1biAyMDA2IDAwOjQ0OjE2IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIGEgY29tbWl0IHdpdGggZXNjYXBlZCBGcm9tIGxpbmVzCisKKz5Gcm9tIHRoZSBiZWdpbm5pbmcsIG1ib3ggc2hvdWxkIGhhdmUgYmVlbiBtYm94cmQKKz4+RnJvbSBlc2NhcGVkCitGcm9tIG5vdCBtYW5nbGVkIGJ1dCB0aGlzIGxpbmUgc2hvdWxkIGhhdmUgYmVlbiBlc2NhcGVkCisKK0Zyb20gbWJveHJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogbWJveHJkIHdyaXRlciA8bWJveHJkQGV4YW1wbGUuY29tPgorRGF0ZTogRnJpLCA5IEp1biAyMDA2IDAwOjQ0OjE2IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBhbm90aGVyIHdpdGggZmFrZSBGcm9tIGxpbmVzCisKKyA+RnJvbSB1bmNoYW5nZWQKKyBGcm9tIGFsc28gdW5jaGFuZ2VkCitubyB0cmFpbGluZyBzcGFjZSwgbm8gZXNjYXBpbmcgbmVjZXNzYXJ5IGFuZCAnPicgd2FzIGludGVuZGVkOgorPkZyb20KKwpkaWZmIC0tZ2l0IGEvdC90NTMwNS1pbmNsdWRlLXRhZy5zaCBiL3QvdDUzMDUtaW5jbHVkZS10YWcuc2gKaW5kZXggZjMxNGFkNS4uYTVlY2EyMSAxMDA3NTUKLS0tIGEvdC90NTMwNS1pbmNsdWRlLXRhZy5zaAorKysgYi90L3Q1MzA1LWluY2x1ZGUtdGFnLnNoCkBAIC0yNSw1OCArMjUsOTQgQEAKIAl9ID5vYmotbGlzdAogJwogCi1ybSAtcmYgY2xvbmUuZ2l0CiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYWNrIHdpdGhvdXQgLS1pbmNsdWRlLXRhZycgJwotCXBhY2tuYW1lXzE9JChnaXQgcGFjay1vYmplY3RzIFwKKwlwYWNrbmFtZT0kKGdpdCBwYWNrLW9iamVjdHMgXAogCQktLXdpbmRvdz0wIFwKLQkJdGVzdC0xIDxvYmotbGlzdCkKKwkJdGVzdC1uby1pbmNsdWRlIDxvYmotbGlzdCkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndW5wYWNrIG9iamVjdHMnICcKLQkoCi0JCUdJVF9ESVI9Y2xvbmUuZ2l0ICYmCi0JCWV4cG9ydCBHSVRfRElSICYmCi0JCWdpdCBpbml0ICYmCi0JCWdpdCB1bnBhY2stb2JqZWN0cyAtbiA8dGVzdC0xLSR7cGFja25hbWVfMX0ucGFjayAmJgotCQlnaXQgdW5wYWNrLW9iamVjdHMgPHRlc3QtMS0ke3BhY2tuYW1lXzF9LnBhY2sKLQkpCisJcm0gLXJmIGNsb25lLmdpdCAmJgorCWdpdCBpbml0IGNsb25lLmdpdCAmJgorCWdpdCAtQyBjbG9uZS5naXQgdW5wYWNrLW9iamVjdHMgPHRlc3Qtbm8taW5jbHVkZS0ke3BhY2tuYW1lfS5wYWNrCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIHVucGFja2VkIHJlc3VsdCAoaGF2ZSBjb21taXQsIG5vIHRhZyknICcKIAlnaXQgcmV2LWxpc3QgLS1vYmplY3RzICRjb21taXQgPmxpc3QuZXhwZWN0ICYmCi0JKAotCQl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX0RJUj1jbG9uZS5naXQgZ2l0IGNhdC1maWxlIC1lICR0YWcgJiYKLQkJZ2l0IHJldi1saXN0IC0tb2JqZWN0cyAkY29tbWl0Ci0JKSA+bGlzdC5hY3R1YWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgY2xvbmUuZ2l0IGNhdC1maWxlIC1lICR0YWcgJiYKKwlnaXQgLUMgY2xvbmUuZ2l0IHJldi1saXN0IC0tb2JqZWN0cyAkY29tbWl0ID5saXN0LmFjdHVhbCAmJgogCXRlc3RfY21wIGxpc3QuZXhwZWN0IGxpc3QuYWN0dWFsCiAnCiAKLXJtIC1yZiBjbG9uZS5naXQKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhY2sgd2l0aCAtLWluY2x1ZGUtdGFnJyAnCi0JcGFja25hbWVfMT0kKGdpdCBwYWNrLW9iamVjdHMgXAorCXBhY2tuYW1lPSQoZ2l0IHBhY2stb2JqZWN0cyBcCiAJCS0td2luZG93PTAgXAogCQktLWluY2x1ZGUtdGFnIFwKLQkJdGVzdC0yIDxvYmotbGlzdCkKKwkJdGVzdC1pbmNsdWRlIDxvYmotbGlzdCkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndW5wYWNrIG9iamVjdHMnICcKLQkoCi0JCUdJVF9ESVI9Y2xvbmUuZ2l0ICYmCi0JCWV4cG9ydCBHSVRfRElSICYmCi0JCWdpdCBpbml0ICYmCi0JCWdpdCB1bnBhY2stb2JqZWN0cyAtbiA8dGVzdC0yLSR7cGFja25hbWVfMX0ucGFjayAmJgotCQlnaXQgdW5wYWNrLW9iamVjdHMgPHRlc3QtMi0ke3BhY2tuYW1lXzF9LnBhY2sKLQkpCisJcm0gLXJmIGNsb25lLmdpdCAmJgorCWdpdCBpbml0IGNsb25lLmdpdCAmJgorCWdpdCAtQyBjbG9uZS5naXQgdW5wYWNrLW9iamVjdHMgPHRlc3QtaW5jbHVkZS0ke3BhY2tuYW1lfS5wYWNrCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIHVucGFja2VkIHJlc3VsdCAoaGF2ZSBjb21taXQsIGhhdmUgdGFnKScgJwogCWdpdCByZXYtbGlzdCAtLW9iamVjdHMgbXl0YWcgPmxpc3QuZXhwZWN0ICYmCi0JKAotCQlHSVRfRElSPWNsb25lLmdpdCAmJgotCQlleHBvcnQgR0lUX0RJUiAmJgotCQlnaXQgcmV2LWxpc3QgLS1vYmplY3RzICR0YWcKLQkpID5saXN0LmFjdHVhbCAmJgorCWdpdCAtQyBjbG9uZS5naXQgcmV2LWxpc3QgLS1vYmplY3RzICR0YWcgPmxpc3QuYWN0dWFsICYmCiAJdGVzdF9jbXAgbGlzdC5leHBlY3QgbGlzdC5hY3R1YWwKICcKIAorIyBBIHRhZyBvZiBhIHRhZywgd2hlcmUgdGhlICJpbm5lciIgdGFnIGlzIG5vdCBvdGhlcndpc2UKKyMgcmVhY2hhYmxlLCBhbmQgYSBmdWxsIHBlZWwgcG9pbnRzIHRvIGEgY29tbWl0IHJlYWNoYWJsZSBmcm9tIEhFQUQuCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgaGlkZGVuIGlubmVyIHRhZycgJworCXRlc3RfY29tbWl0IGNvbW1pdCAmJgorCWdpdCB0YWcgLW0gaW5uZXIgaW5uZXIgSEVBRCAmJgorCWdpdCB0YWcgLW0gb3V0ZXIgb3V0ZXIgaW5uZXIgJiYKKwlnaXQgdGFnIC1kIGlubmVyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhY2sgZXhwbGljaXQgb3V0ZXIgdGFnJyAnCisJcGFja25hbWU9JCgKKwkJeworCQkJZWNobyBIRUFEICYmCisJCQllY2hvIG91dGVyCisJCX0gfAorCQlnaXQgcGFjay1vYmplY3RzIC0tcmV2cyB0ZXN0LWhpZGRlbi1leHBsaWNpdAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndW5wYWNrIG9iamVjdHMnICcKKwlybSAtcmYgY2xvbmUuZ2l0ICYmCisJZ2l0IGluaXQgY2xvbmUuZ2l0ICYmCisJZ2l0IC1DIGNsb25lLmdpdCB1bnBhY2stb2JqZWN0cyA8dGVzdC1oaWRkZW4tZXhwbGljaXQtJHtwYWNrbmFtZX0ucGFjaworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayB1bnBhY2tlZCByZXN1bHQgKGhhdmUgYWxsIG9iamVjdHMpJyAnCisJZ2l0IC1DIGNsb25lLmdpdCByZXYtbGlzdCAtLW9iamVjdHMgJChnaXQgcmV2LXBhcnNlIG91dGVyIEhFQUQpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhY2sgaW1wbGllZCBvdXRlciB0YWcnICcKKwlwYWNrbmFtZT0kKAorCQllY2hvIEhFQUQgfAorCQlnaXQgcGFjay1vYmplY3RzIC0tcmV2cyAtLWluY2x1ZGUtdGFnIHRlc3QtaGlkZGVuLWltcGxpZWQKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VucGFjayBvYmplY3RzJyAnCisJcm0gLXJmIGNsb25lLmdpdCAmJgorCWdpdCBpbml0IGNsb25lLmdpdCAmJgorCWdpdCAtQyBjbG9uZS5naXQgdW5wYWNrLW9iamVjdHMgPHRlc3QtaGlkZGVuLWltcGxpZWQtJHtwYWNrbmFtZX0ucGFjaworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayB1bnBhY2tlZCByZXN1bHQgKGhhdmUgYWxsIG9iamVjdHMpJyAnCisJZ2l0IC1DIGNsb25lLmdpdCByZXYtbGlzdCAtLW9iamVjdHMgJChnaXQgcmV2LXBhcnNlIG91dGVyIEhFQUQpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpbmdsZS1icmFuY2ggY2xvbmUgY2FuIHRyYW5zZmVyIHRhZycgJworCXJtIC1yZiBjbG9uZS5naXQgJiYKKwlnaXQgY2xvbmUgLS1uby1sb2NhbCAtLXNpbmdsZS1icmFuY2ggLWIgbWFzdGVyIC4gY2xvbmUuZ2l0ICYmCisJZ2l0IC1DIGNsb25lLmdpdCBmc2NrCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTMxMC1wYWNrLWJpdG1hcHMuc2ggYi90L3Q1MzEwLXBhY2stYml0bWFwcy5zaAppbmRleCBkNDQ2NzA2Li5iNGM3YTZmIDEwMDc1NQotLS0gYS90L3Q1MzEwLXBhY2stYml0bWFwcy5zaAorKysgYi90L3Q1MzEwLXBhY2stYml0bWFwcy5zaApAQCAtNyw2ICs3LDE4IEBACiAJZWNobyAiLmdpdC9vYmplY3RzLyQoZWNobyAiJDEiIHwgc2VkIC1lICdzfFwoLi5cKXxcMS98JykiCiB9CiAKKyMgc2hvdyBvYmplY3RzIHByZXNlbnQgaW4gcGFjayAoJDEgc2hvdWxkIGJlIGFzc29jaWF0ZWQgKi5pZHgpCitsaXN0X3BhY2tlZF9vYmplY3RzICgpIHsKKwlnaXQgc2hvdy1pbmRleCA8IiQxIiB8IGN1dCAtZCcgJyAtZjIKK30KKworIyBoYXNfYW55IHBhdHRlcm4tZmlsZSBjb250ZW50LWZpbGUKKyMgdGVzdHMgd2hldGhlciBjb250ZW50LWZpbGUgaGFzIGFueSBlbnRyeSBmcm9tIHBhdHRlcm4tZmlsZSB3aXRoIGVudHJpZXMgYmVpbmcKKyMgd2hvbGUgbGluZXMuCitoYXNfYW55ICgpIHsKKwlncmVwIC1GZiAiJDEiICIkMiIKK30KKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgcmVwbyB3aXRoIG1vZGVyYXRlLXNpemVkIGhpc3RvcnknICcKIAlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgMTApOyBkbwogCQl0ZXN0X2NvbW1pdCAkaQpAQCAtMTYsNiArMjgsNyBAQAogCQl0ZXN0X2NvbW1pdCBzaWRlLSRpCiAJZG9uZSAmJgogCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwliaXRtYXB0aXA9JChnaXQgcmV2LXBhcnNlIG1hc3RlcikgJiYKIAlibG9iPSQoZWNobyB0YWdnZWQtYmxvYiB8IGdpdCBoYXNoLW9iamVjdCAtdyAtLXN0ZGluKSAmJgogCWdpdCB0YWcgdGFnZ2VkLWJsb2IgJGJsb2IgJiYKIAlnaXQgY29uZmlnIHJlcGFjay53cml0ZWJpdG1hcHMgdHJ1ZSAmJgpAQCAtNDcsNiArNjAsMTIgQEAKIAkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogCScKIAorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImNvdW50aW5nIGNvbW1pdHMgd2l0aCBsaW1pdCAoJHN0YXRlKSIgJworCQlnaXQgcmV2LWxpc3QgLS1jb3VudCAtbiAxIEhFQUQgPmV4cGVjdCAmJgorCQlnaXQgcmV2LWxpc3QgLS11c2UtYml0bWFwLWluZGV4IC0tY291bnQgLW4gMSBIRUFEID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCScKKwogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImNvdW50aW5nIG5vbi1saW5lYXIgaGlzdG9yeSAoJHN0YXRlKSIgJwogCQlnaXQgcmV2LWxpc3QgLS1jb3VudCBvdGhlci4uLm1hc3RlciA+ZXhwZWN0ICYmCiAJCWdpdCByZXYtbGlzdCAtLXVzZS1iaXRtYXAtaW5kZXggLS1jb3VudCBvdGhlci4uLm1hc3RlciA+YWN0dWFsICYmCkBAIC0xMTIsNiArMTMxLDgzIEBACiAJZ2l0IHJlcGFjayAtZCAtLW5vLXdyaXRlLWJpdG1hcC1pbmRleAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYWNrLW9iamVjdHMgcmVzcGVjdHMgLS1sb2NhbCAobm9uLWxvY2FsIGxvb3NlKScgJworCWdpdCBpbml0IC0tYmFyZSBhbHQuZ2l0ICYmCisJZWNobyAkKHB3ZCkvYWx0LmdpdC9vYmplY3RzID4uZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzICYmCisJZWNobyBjb250ZW50MSA+ZmlsZTEgJiYKKwkjIG5vbi1sb2NhbCBsb29zZSBvYmplY3Qgd2hpY2ggaXMgbm90IHByZXNlbnQgaW4gYml0bWFwcGVkIHBhY2sKKwlhbHRibG9iPSQoR0lUX0RJUj1hbHQuZ2l0IGdpdCBoYXNoLW9iamVjdCAtdyBmaWxlMSkgJiYKKwkjIG5vbi1sb2NhbCBsb29zZSBvYmplY3Qgd2hpY2ggaXMgYWxzbyBwcmVzZW50IGluIGJpdG1hcHBlZCBwYWNrCisJZ2l0IGNhdC1maWxlIGJsb2IgJGJsb2IgfCBHSVRfRElSPWFsdC5naXQgZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4gJiYKKwlnaXQgYWRkIGZpbGUxICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtbSBjb21taXRfZmlsZTEgJiYKKwllY2hvIEhFQUQgfCBnaXQgcGFjay1vYmplY3RzIC0tbG9jYWwgLS1zdGRvdXQgLS1yZXZzID4xLnBhY2sgJiYKKwlnaXQgaW5kZXgtcGFjayAxLnBhY2sgJiYKKwlsaXN0X3BhY2tlZF9vYmplY3RzIDEuaWR4ID4xLm9iamVjdHMgJiYKKwlwcmludGYgIiVzXG4iICIkYWx0YmxvYiIgIiRibG9iIiA+bm9ubG9jYWwtbG9vc2UgJiYKKwkhIGhhc19hbnkgbm9ubG9jYWwtbG9vc2UgMS5vYmplY3RzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhY2stb2JqZWN0cyByZXNwZWN0cyAtLWhvbm9yLXBhY2sta2VlcCAobG9jYWwgbm9uLWJpdG1hcHBlZCBwYWNrKScgJworCWVjaG8gY29udGVudDIgPmZpbGUyICYmCisJYmxvYjI9JChnaXQgaGFzaC1vYmplY3QgLXcgZmlsZTIpICYmCisJZ2l0IGFkZCBmaWxlMiAmJgorCXRlc3RfdGljayAmJgorCWdpdCBjb21taXQgLW0gY29tbWl0X2ZpbGUyICYmCisJcHJpbnRmICIlc1xuIiAiJGJsb2IyIiAiJGJpdG1hcHRpcCIgPmtlZXBvYmplY3RzICYmCisJcGFjazI9JChnaXQgcGFjay1vYmplY3RzIHBhY2syIDxrZWVwb2JqZWN0cykgJiYKKwltdiBwYWNrMi0kcGFjazIuKiAuZ2l0L29iamVjdHMvcGFjay8gJiYKKwk+LmdpdC9vYmplY3RzL3BhY2svcGFjazItJHBhY2syLmtlZXAgJiYKKwlybSAkKG9ianBhdGggJGJsb2IyKSAmJgorCWVjaG8gSEVBRCB8IGdpdCBwYWNrLW9iamVjdHMgLS1ob25vci1wYWNrLWtlZXAgLS1zdGRvdXQgLS1yZXZzID4yYS5wYWNrICYmCisJZ2l0IGluZGV4LXBhY2sgMmEucGFjayAmJgorCWxpc3RfcGFja2VkX29iamVjdHMgMmEuaWR4ID4yYS5vYmplY3RzICYmCisJISBoYXNfYW55IGtlZXBvYmplY3RzIDJhLm9iamVjdHMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncGFjay1vYmplY3RzIHJlc3BlY3RzIC0tbG9jYWwgKG5vbi1sb2NhbCBwYWNrKScgJworCW12IC5naXQvb2JqZWN0cy9wYWNrL3BhY2syLSRwYWNrMi4qIGFsdC5naXQvb2JqZWN0cy9wYWNrLyAmJgorCWVjaG8gSEVBRCB8IGdpdCBwYWNrLW9iamVjdHMgLS1sb2NhbCAtLXN0ZG91dCAtLXJldnMgPjJiLnBhY2sgJiYKKwlnaXQgaW5kZXgtcGFjayAyYi5wYWNrICYmCisJbGlzdF9wYWNrZWRfb2JqZWN0cyAyYi5pZHggPjJiLm9iamVjdHMgJiYKKwkhIGhhc19hbnkga2VlcG9iamVjdHMgMmIub2JqZWN0cworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYWNrLW9iamVjdHMgcmVzcGVjdHMgLS1ob25vci1wYWNrLWtlZXAgKGxvY2FsIGJpdG1hcHBlZCBwYWNrKScgJworCWxzIC5naXQvb2JqZWN0cy9wYWNrLyB8IGdyZXAgYml0bWFwID5vdXRwdXQgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAxIG91dHB1dCAmJgorCXBhY2tiaXRtYXA9JChiYXNlbmFtZSAkKGNhdCBvdXRwdXQpIC5iaXRtYXApICYmCisJbGlzdF9wYWNrZWRfb2JqZWN0cyAuZ2l0L29iamVjdHMvcGFjay8kcGFja2JpdG1hcC5pZHggPnBhY2tiaXRtYXAub2JqZWN0cyAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgLmdpdC9vYmplY3RzL3BhY2svJHBhY2tiaXRtYXAua2VlcCIgJiYKKwk+LmdpdC9vYmplY3RzL3BhY2svJHBhY2tiaXRtYXAua2VlcCAmJgorCWVjaG8gSEVBRCB8IGdpdCBwYWNrLW9iamVjdHMgLS1ob25vci1wYWNrLWtlZXAgLS1zdGRvdXQgLS1yZXZzID4zYS5wYWNrICYmCisJZ2l0IGluZGV4LXBhY2sgM2EucGFjayAmJgorCWxpc3RfcGFja2VkX29iamVjdHMgM2EuaWR4ID4zYS5vYmplY3RzICYmCisJISBoYXNfYW55IHBhY2tiaXRtYXAub2JqZWN0cyAzYS5vYmplY3RzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhY2stb2JqZWN0cyByZXNwZWN0cyAtLWxvY2FsIChub24tbG9jYWwgYml0bWFwcGVkIHBhY2spJyAnCisJbXYgLmdpdC9vYmplY3RzL3BhY2svJHBhY2tiaXRtYXAuKiBhbHQuZ2l0L29iamVjdHMvcGFjay8gJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgIm12IGFsdC5naXQvb2JqZWN0cy9wYWNrLyRwYWNrYml0bWFwLiogLmdpdC9vYmplY3RzL3BhY2svIiAmJgorCWVjaG8gSEVBRCB8IGdpdCBwYWNrLW9iamVjdHMgLS1sb2NhbCAtLXN0ZG91dCAtLXJldnMgPjNiLnBhY2sgJiYKKwlnaXQgaW5kZXgtcGFjayAzYi5wYWNrICYmCisJbGlzdF9wYWNrZWRfb2JqZWN0cyAzYi5pZHggPjNiLm9iamVjdHMgJiYKKwkhIGhhc19hbnkgcGFja2JpdG1hcC5vYmplY3RzIDNiLm9iamVjdHMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncGFjay1vYmplY3RzIHRvIGZpbGUgY2FuIHVzZSBiaXRtYXAnICcKKwkjIG1ha2Ugc3VyZSB3ZSBzdGlsbCBoYXZlIDEgYml0bWFwIGluZGV4IGZyb20gcHJldmlvdXMgdGVzdHMKKwlscyAuZ2l0L29iamVjdHMvcGFjay8gfCBncmVwIGJpdG1hcCA+b3V0cHV0ICYmCisJdGVzdF9saW5lX2NvdW50ID0gMSBvdXRwdXQgJiYKKwkjIHZlcmlmeSBlcXVpdmFsZW50IHBhY2tzIGFyZSBnZW5lcmF0ZWQgd2l0aC93aXRob3V0IHVzaW5nIGJpdG1hcCBpbmRleAorCXBhY2thc2hhMT0kKGdpdCBwYWNrLW9iamVjdHMgLS1uby11c2UtYml0bWFwLWluZGV4IC0tYWxsIHBhY2thIDwvZGV2L251bGwpICYmCisJcGFja2JzaGExPSQoZ2l0IHBhY2stb2JqZWN0cyAtLXVzZS1iaXRtYXAtaW5kZXggLS1hbGwgcGFja2IgPC9kZXYvbnVsbCkgJiYKKwlsaXN0X3BhY2tlZF9vYmplY3RzIDxwYWNrYS0kcGFja2FzaGExLmlkeCA+cGFja2Eub2JqZWN0cyAmJgorCWxpc3RfcGFja2VkX29iamVjdHMgPHBhY2tiLSRwYWNrYnNoYTEuaWR4ID5wYWNrYi5vYmplY3RzICYmCisJdGVzdF9jbXAgcGFja2Eub2JqZWN0cyBwYWNrYi5vYmplY3RzCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Z1bGwgcmVwYWNrLCByZXVzaW5nIHByZXZpb3VzIGJpdG1hcHMnICcKIAlnaXQgcmVwYWNrIC1hZCAmJgogCWxzIC5naXQvb2JqZWN0cy9wYWNrLyB8IGdyZXAgYml0bWFwID5vdXRwdXQgJiYKQEAgLTEzNyw2ICsyMzMsMjAgQEAKIAlFT0YKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncGFjay1vYmplY3RzIHJlc3BlY3RzIC0taW5jcmVtZW50YWwnICcKKwljYXQgPnJldnMyIDw8LUVPRiAmJgorCUhFQUQKKwkkY29tbWl0CisJRU9GCisJZ2l0IHBhY2stb2JqZWN0cyAtLWluY3JlbWVudGFsIC0tc3Rkb3V0IC0tcmV2cyA8cmV2czIgPjQucGFjayAmJgorCWdpdCBpbmRleC1wYWNrIDQucGFjayAmJgorCWxpc3RfcGFja2VkX29iamVjdHMgNC5pZHggPjQub2JqZWN0cyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDQgNC5vYmplY3RzICYmCisJZ2l0IHJldi1saXN0IC0tb2JqZWN0cyAkY29tbWl0ID5yZXZsaXN0ICYmCisJY3V0IC1kIiAiIC1mMSByZXZsaXN0IHxzb3J0ID5vYmplY3RzICYmCisJdGVzdF9jbXAgNC5vYmplY3RzIG9iamVjdHMKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAncGFjayB3aXRoIG1pc3NpbmcgYmxvYicgJwogCXJtICQob2JqcGF0aCAkYmxvYikgJiYKIAlnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IC0tcmV2cyA8cmV2cyA+L2Rldi9udWxsCkBAIC0xNTIsMTAgKzI2Miw2IEBACiAJZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCAtLXJldnMgPHJldnMgPi9kZXYvbnVsbAogJwogCi10ZXN0X2xhenlfcHJlcmVxIEpHSVQgJwotCXR5cGUgamdpdAotJwotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEpHSVQgJ3dlIGNhbiByZWFkIGpnaXQgYml0bWFwcycgJwogCWdpdCBjbG9uZSAuIGNvbXBhdC1qZ2l0ICYmCiAJKApkaWZmIC0tZ2l0IGEvdC90NTMxNC1wYWNrLWN5Y2xlLWRldGVjdGlvbi5zaCBiL3QvdDUzMTQtcGFjay1jeWNsZS1kZXRlY3Rpb24uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjdkYmRmYgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDUzMTQtcGFjay1jeWNsZS1kZXRlY3Rpb24uc2gKQEAgLTAsMCArMSwxMTMgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSd0ZXN0IGhhbmRsaW5nIG9mIGludGVyLXBhY2sgZGVsdGEgY3ljbGVzIGR1cmluZyByZXBhY2sKKworVGhlIGdvYWwgaGVyZSBpcyB0byBjcmVhdGUgYSBzaXR1YXRpb24gd2hlcmUgd2UgaGF2ZSB0d28gYmxvYnMsIEEgYW5kIEIsIHdpdGggQQorYXMgYSBkZWx0YSBhZ2FpbnN0IEIgaW4gb25lIHBhY2ssIGFuZCB2aWNlIHZlcnNhIGluIHRoZSBvdGhlci4gVGhlbiBpZiB3ZSBjYW4KK3BlcnN1YWRlIGEgZnVsbCByZXBhY2sgdG8gZmluZCBBIGZyb20gb25lIHBhY2sgYW5kIEIgZnJvbSB0aGUgb3RoZXIsIHRoYXQgd2lsbAorZ2l2ZSB1cyBhIGN5Y2xlIHdoZW4gd2UgYXR0ZW1wdCB0byByZXVzZSB0aG9zZSBkZWx0YXMuCisKK1RoZSB0cmljayBpcyBpbiB0aGUgInBlcnN1YWRlIiBzdGVwLCBhcyBpdCBkZXBlbmRzIG9uIHRoZSBpbnRlcm5hbHMgb2YgaG93CitwYWNrLW9iamVjdHMgcGlja3Mgd2hpY2ggcGFjayB0byByZXVzZSB0aGUgZGVsdGFzIGZyb20uIEJ1dCB3ZSBjYW4gYXNzdW1lCit0aGF0IGl0IGRvZXMgc28gaW4gb25lIG9mIHR3byBnZW5lcmFsIHN0cmF0ZWdpZXM6CisKKyAxLiBVc2luZyBhIHN0YXRpYyBvcmRlcmluZyBvZiBwYWNrcy4gSW4gdGhpcyBjYXNlLCBubyBpbnRlci1wYWNrIGN5Y2xlcyBjYW4KKyAgICBoYXBwZW4uIEFueSBvYmplY3RzIHdpdGggYSBkZWx0YSByZWxhdGlvbnNoaXAgbXVzdCBiZSBwcmVzZW50IGluIHRoZSBzYW1lCisgICAgcGFjayAoaS5lLiwgbm8gIi0tdGhpbiIgcGFja3Mgb24gZGlzayksIHNvIHdlIHdpbGwgZmluZCBhbGwgcmVsYXRlZCBvYmplY3RzCisgICAgZnJvbSB0aGF0IHBhY2suIFNvIGFzc3VtaW5nIHRoZXJlIGFyZSBubyBjeWNsZXMgd2l0aGluIGEgc2luZ2xlIHBhY2sgKGFuZAorICAgIHdlIGF2b2lkIGdlbmVyYXRpbmcgdGhlbSB2aWEgcGFjay1vYmplY3RzIG9yIGltcG9ydGluZyB0aGVtIHZpYQorICAgIGluZGV4LXBhY2spLCB0aGVuIG91ciByZXN1bHQgd2lsbCBoYXZlIG5vIGN5Y2xlcy4KKworICAgIFNvIHRoaXMgY2FzZSBzaG91bGQgcGFzcyB0aGUgdGVzdHMgbm8gbWF0dGVyIGhvdyB3ZSBhcnJhbmdlIHRoaW5ncy4KKworIDIuIFBpY2tpbmcgdGhlIG5leHQgcGFjayB0byBleGFtaW5lIGJhc2VkIG9uIGxvY2FsaXR5IChpLmUuLCB3aGVyZSB3ZSBmb3VuZAorICAgIHNvbWV0aGluZyBlbHNlIHJlY2VudGx5KS4KKworICAgIEluIHRoaXMgY2FzZSwgd2Ugd2FudCB0byBtYWtlIHN1cmUgdGhhdCB3ZSBmaW5kIHRoZSBkZWx0YSB2ZXJzaW9ucyBvZiBBIGFuZAorICAgIEIgYW5kIG5vdCB0aGVpciBiYXNlIHZlcnNpb25zLiBXZSBjYW4gZG8gdGhpcyBieSBwdXR0aW5nIHR3byBibG9icyBpbiBlYWNoCisgICAgcGFjay4gVGhlIGZpcnN0IGlzIGEgImR1bW15IiBibG9iIHRoYXQgY2FuIG9ubHkgYmUgZm91bmQgaW4gdGhlIHBhY2sgaW4KKyAgICBxdWVzdGlvbi4gIEFuZCB0aGVuIHRoZSBzZWNvbmQgaXMgdGhlIGFjdHVhbCBkZWx0YSB3ZSB3YW50IHRvIGZpbmQuCisKKyAgICBUaGUgdHdvIGJsb2JzIG11c3QgYmUgcHJlc2VudCBpbiB0aGUgc2FtZSB0cmVlLCBub3QgcHJlc2VudCBpbiBvdGhlciB0cmVlcywKKyAgICBhbmQgdGhlIGR1bW15IHBhdGhuYW1lIG11c3Qgc29ydCBiZWZvcmUgdGhlIGRlbHRhIHBhdGguCisKK1RoZSBzZXR1cCBiZWxvdyBmb2N1c2VzIG9uIGNhc2UgMi4gV2UgaGF2ZSB0d28gY29tbWl0cyBIRUFEIGFuZCBIRUFEXiwgZWFjaAord2hpY2ggaGFzIHR3byBmaWxlczogImR1bW15IiBhbmQgImZpbGUiLiBUaGVuIHdlIGNhbiBtYWtlIHR3byBwYWNrcyB3aGljaAorY29udGFpbjoKKworICBbcGFjayBvbmVdCisgIEhFQUQ6ZHVtbXkKKyAgSEVBRDpmaWxlICAoYXMgZGVsdGEgYWdhaW5zdCBIRUFEXjpmaWxlKQorICBIRUFEXjpmaWxlIChhcyBiYXNlKQorCisgIFtwYWNrIHR3b10KKyAgSEVBRF46ZHVtbXkKKyAgSEVBRF46ZmlsZSAoYXMgZGVsdGEgYWdhaW5zdCBIRUFEOmZpbGUpCisgIEhFQUQ6ZmlsZSAgKGFzIGJhc2UpCisKK1RoZW4gbm8gbWF0dGVyIHdoaWNoIG9yZGVyIHdlIHN0YXJ0IGxvb2tpbmcgYXQgdGhlIHBhY2tzIGluLCB3ZSBrbm93IHRoYXQgd2UKK3dpbGwgYWx3YXlzIGZpbmQgYSBkZWx0YSBmb3IgImZpbGUiLCBiZWNhdXNlIGl0cyBsb29rdXAgd2lsbCBhbHdheXMgY29tZQoraW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGxvb2t1cCBmb3IgImR1bW15Ii4KKycKKy4gLi90ZXN0LWxpYi5zaAorCisKKworIyBDcmVhdGUgYSBwYWNrIGNvbnRhaW5pbmcgdGhlIHRoZSB0cmVlICQxIGFuZCBibG9iICQxOmZpbGUsIHdpdGgKKyMgdGhlIGxhdHRlciBzdG9yZWQgYXMgYSBkZWx0YSBhZ2FpbnN0ICQyOmZpbGUuCisjCisjIFdlIGNvbnZpbmNlIHBhY2stb2JqZWN0cyB0byBtYWtlIHRoZSBkZWx0YSBpbiB0aGUgZGlyZWN0aW9uIG9mIG91ciBjaG9vc2luZworIyBieSBtYXJraW5nICQyIGFzIGEgcHJlZmVycmVkLWJhc2UgZWRnZS4gVGhhdCByZXN1bHRzIGluICQxOmZpbGUgYXMgYSB0aGluCisjIGRlbHRhLCBhbmQgaW5kZXgtcGFjayBjb21wbGV0ZXMgaXQgYnkgYWRkaW5nICQyOmZpbGUgYXMgYSBiYXNlLgorIworIyBOb3RlIHRoYXQgdGhlIHR3byB2YXJpYW50cyBvZiAiZmlsZSIgbXVzdCBiZSBzaW1pbGFyIGVub3VnaCB0byBjb252aW5jZSBnaXQKKyMgdG8gY3JlYXRlIHRoZSBkZWx0YS4KK21ha2VfcGFjayAoKSB7CisJeworCQlwcmludGYgJyVzXG4nICItJChnaXQgcmV2LXBhcnNlICQyKSIKKwkJcHJpbnRmICclcyBkdW1teVxuJyAiJChnaXQgcmV2LXBhcnNlICQxOmR1bW15KSIKKwkJcHJpbnRmICclcyBmaWxlXG4nICIkKGdpdCByZXYtcGFyc2UgJDE6ZmlsZSkiCisJfSB8CisJZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCB8CisJZ2l0IGluZGV4LXBhY2sgLS1zdGRpbiAtLWZpeC10aGluCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJdGVzdC1nZW5yYW5kb20gYmFzZSA0MDk2ID5iYXNlICYmCisJZm9yIGkgaW4gb25lIHR3bworCWRvCisJCSMgd2Ugd2FudCBzaGFyZWQgY29udGVudCBoZXJlIHRvIGVuY291cmFnZSBkZWx0YXMuLi4KKwkJY3AgYmFzZSBmaWxlICYmCisJCWVjaG8gJGkgPj5maWxlICYmCisKKwkJIyAuLi53aGVyZWFzIGR1bW15IHNob3VsZCBiZSBzaG9ydCwgYmVjYXVzZSB3ZSBkbyBub3Qgd2FudAorCQkjIGRlbHRhcyB0aGF0IHdvdWxkIGNyZWF0ZSBkdXBsaWNhdGVzIHdoZW4gd2UgLS1maXgtdGhpbgorCQllY2hvICRpID5kdW1teSAmJgorCisJCWdpdCBhZGQgZmlsZSBkdW1teSAmJgorCQl0ZXN0X3RpY2sgJiYKKwkJZ2l0IGNvbW1pdCAtbSAkaSB8fAorCQlyZXR1cm4gMQorCWRvbmUgJiYKKworCW1ha2VfcGFjayBIRUFEXiBIRUFEICYmCisJbWFrZV9wYWNrIEhFQUQgSEVBRF4KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVwYWNrJyAnCisJIyBXZSBmaXJzdCB3YW50IHRvIGNoZWNrIHRoYXQgd2UgZG8gbm90IGhhdmUgYW55IGludGVybmFsIGVycm9ycywKKwkjIGFuZCBhbHNvIHRoYXQgd2UgZG8gbm90IGhpdCB0aGUgbGFzdC1kaXRjaCBjeWNsZS1icmVha2luZyBjb2RlCisJIyBpbiB3cml0ZV9vYmplY3QoKSwgd2hpY2ggd2lsbCBpc3N1ZSBhIHdhcm5pbmcgdG8gc3RkZXJyLgorCT5leHBlY3QgJiYKKwlnaXQgcmVwYWNrIC1hZCAyPnN0ZGVyciAmJgorCXRlc3RfY21wIGV4cGVjdCBzdGRlcnIgJiYKKworCSMgQW5kIHRoZW4gZG91YmxlLWNoZWNrIHRoYXQgdGhlIHJlc3VsdGluZyBwYWNrIGlzIHVzYWJsZSAoaS5lLiwKKwkjIHdlIGRpZCBub3QgZmFpbCB0byBub3RpY2UgYW55IGN5Y2xlcykuIFdlIGtub3cgd2UgYXJlIGFjY2Vzc2luZworCSMgdGhlIG9iamVjdHMgdmlhIHRoZSBuZXcgcGFjayBoZXJlLCBiZWNhdXNlICJyZXBhY2sgLWQiIHdpbGwgaGF2ZQorCSMgcmVtb3ZlZCB0aGUgb3RoZXJzLgorCWdpdCBjYXQtZmlsZSBibG9iIEhFQUQ6ZmlsZSA+L2Rldi9udWxsICYmCisJZ2l0IGNhdC1maWxlIGJsb2IgSEVBRF46ZmlsZSA+L2Rldi9udWxsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTUwMC1mZXRjaC1wYWNrLnNoIGIvdC90NTUwMC1mZXRjaC1wYWNrLnNoCmluZGV4IDgyZDkxM2EuLjUwNWUxYjQgMTAwNzU1Ci0tLSBhL3QvdDU1MDAtZmV0Y2gtcGFjay5zaAorKysgYi90L3Q1NTAwLWZldGNoLXBhY2suc2gKQEAgLTY1Miw0ICs2NTIsNzIgQEAKIAljaGVja19wcm90X3BhdGggYzpyZXBvIGZpbGUgYzpyZXBvCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nsb25lIHNoYWxsb3cgc2luY2UgLi4uJyAnCisJdGVzdF9jcmVhdGVfcmVwbyBzaGFsbG93LXNpbmNlICYmCisJKAorCWNkIHNoYWxsb3ctc2luY2UgJiYKKwlHSVRfQ09NTUlUVEVSX0RBVEU9IjEwMDAwMDAwMCArMDcwMCIgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tIG9uZSAmJgorCUdJVF9DT01NSVRURVJfREFURT0iMjAwMDAwMDAwICswNzAwIiBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gdHdvICYmCisJR0lUX0NPTU1JVFRFUl9EQVRFPSIzMDAwMDAwMDAgKzA3MDAiIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSB0aHJlZSAmJgorCWdpdCBjbG9uZSAtLXNoYWxsb3ctc2luY2UgIjMwMDAwMDAwMCArMDcwMCIgImZpbGU6Ly8kKHB3ZCkvLiIgLi4vc2hhbGxvdzExICYmCisJZ2l0IC1DIC4uL3NoYWxsb3cxMSBsb2cgLS1wcmV0dHk9dGZvcm1hdDolcyBIRUFEID5hY3R1YWwgJiYKKwllY2hvIHRocmVlID5leHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggc2hhbGxvdyBzaW5jZSAuLi4nICcKKwlnaXQgLUMgc2hhbGxvdzExIGZldGNoIC0tc2hhbGxvdy1zaW5jZSAiMjAwMDAwMDAwICswNzAwIiBvcmlnaW4gJiYKKwlnaXQgLUMgc2hhbGxvdzExIGxvZyAtLXByZXR0eT10Zm9ybWF0OiVzIG9yaWdpbi9tYXN0ZXIgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCXRocmVlCisJdHdvCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NoYWxsb3cgY2xvbmUgZXhjbHVkZSB0YWcgdHdvJyAnCisJdGVzdF9jcmVhdGVfcmVwbyBzaGFsbG93LWV4Y2x1ZGUgJiYKKwkoCisJY2Qgc2hhbGxvdy1leGNsdWRlICYmCisJdGVzdF9jb21taXQgb25lICYmCisJdGVzdF9jb21taXQgdHdvICYmCisJdGVzdF9jb21taXQgdGhyZWUgJiYKKwlnaXQgY2xvbmUgLS1zaGFsbG93LWV4Y2x1ZGUgdHdvICJmaWxlOi8vJChwd2QpLy4iIC4uL3NoYWxsb3cxMiAmJgorCWdpdCAtQyAuLi9zaGFsbG93MTIgbG9nIC0tcHJldHR5PXRmb3JtYXQ6JXMgSEVBRCA+YWN0dWFsICYmCisJZWNobyB0aHJlZSA+ZXhwZWN0ZWQgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIGV4Y2x1ZGUgdGFnIG9uZScgJworCWdpdCAtQyBzaGFsbG93MTIgZmV0Y2ggLS1zaGFsbG93LWV4Y2x1ZGUgb25lIG9yaWdpbiAmJgorCWdpdCAtQyBzaGFsbG93MTIgbG9nIC0tcHJldHR5PXRmb3JtYXQ6JXMgb3JpZ2luL21hc3RlciA+YWN0dWFsICYmCisJdGVzdF93cml0ZV9saW5lcyB0aHJlZSB0d28gPmV4cGVjdGVkICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoaW5nIGRlZXBlbicgJworCXRlc3RfY3JlYXRlX3JlcG8gc2hhbGxvdy1kZWVwZW4gJiYKKwkoCisJY2Qgc2hhbGxvdy1kZWVwZW4gJiYKKwl0ZXN0X2NvbW1pdCBvbmUgJiYKKwl0ZXN0X2NvbW1pdCB0d28gJiYKKwl0ZXN0X2NvbW1pdCB0aHJlZSAmJgorCWdpdCBjbG9uZSAtLWRlcHRoIDEgImZpbGU6Ly8kKHB3ZCkvLiIgZGVlcGVuICYmCisJdGVzdF9jb21taXQgZm91ciAmJgorCWdpdCAtQyBkZWVwZW4gbG9nIC0tcHJldHR5PXRmb3JtYXQ6JXMgbWFzdGVyID5hY3R1YWwgJiYKKwllY2hvIHRocmVlID5leHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCWdpdCAtQyBkZWVwZW4gZmV0Y2ggLS1kZWVwZW49MSAmJgorCWdpdCAtQyBkZWVwZW4gbG9nIC0tcHJldHR5PXRmb3JtYXQ6JXMgb3JpZ2luL21hc3RlciA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJZm91cgorCXRocmVlCisJdHdvCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1MDQtZmV0Y2gtcmVjZWl2ZS1zdHJpY3Quc2ggYi90L3Q1NTA0LWZldGNoLXJlY2VpdmUtc3RyaWN0LnNoCmluZGV4IDQ0ZjNkNWYuLjliMTljZmYgMTAwNzU1Ci0tLSBhL3QvdDU1MDQtZmV0Y2gtcmVjZWl2ZS1zdHJpY3Quc2gKKysrIGIvdC90NTUwNC1mZXRjaC1yZWNlaXZlLXN0cmljdC5zaApAQCAtMTE1LDggKzExNSw4IEBACiAJdGVzdF9jbXAgZXhwIGFjdAogJwogCi1jYXQgPmJvZ3VzLWNvbW1pdCA8PFxFT0YKLXRyZWUgNGI4MjVkYzY0MmNiNmViOWEwNjBlNTRiZjhkNjkyODhmYmVlNDkwNAorY2F0ID5ib2d1cy1jb21taXQgPDxFT0YKK3RyZWUgJEVNUFRZX1RSRUUKIGF1dGhvciBCdWdzIEJ1bm55IDEyMzQ1Njc4OTAgKzAwMDAKIGNvbW1pdHRlciBCdWdzIEJ1bm55IDxidWdzQGJ1bi5uaT4gMTIzNDU2Nzg5MCArMDAwMAogCmRpZmYgLS1naXQgYS90L3Q1NTA1LXJlbW90ZS5zaCBiL3QvdDU1MDUtcmVtb3RlLnNoCmluZGV4IGRkMmU2Y2UuLjgxOThkOGUgMTAwNzU1Ci0tLSBhL3QvdDU1MDUtcmVtb3RlLnNoCisrKyBiL3QvdDU1MDUtcmVtb3RlLnNoCkBAIC0xMTgyLDcgKzExODIsNyBAQAogdGVzdF9leHRyYV9hcmcgKCkgewogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImV4dHJhIGFyZ3M6ICQqIiAiCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCByZW1vdGUgJCogYm9ndXNfZXh0cmFfYXJnIDI+YWN0dWFsICYmCi0JCWdyZXAgJ151c2FnZTonIGFjdHVhbAorCQl0ZXN0X2kxOG5ncmVwICdedXNhZ2U6JyBhY3R1YWwKIAkiCiB9CiAKZGlmZiAtLWdpdCBhL3QvdDU1MTAtZmV0Y2guc2ggYi90L3Q1NTEwLWZldGNoLnNoCmluZGV4IDQ1NGQ4OTYuLjY2OGM1NGIgMTAwNzU1Ci0tLSBhL3QvdDU1MTAtZmV0Y2guc2gKKysrIGIvdC90NTUxMC1mZXRjaC5zaApAQCAtNjQ0LDcgKzY0NCw3IEBACiAJCWdpdCBmZXRjaCAtLXBydW5lIG9yaWdpbiAyPiYxIHwgaGVhZCAtbjEgPi4uL2FjdHVhbAogCSkgJiYKIAllY2hvICJGcm9tICR7RH0vLiIgPmV4cGVjdCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdicmFuY2huYW1lIEQvRiBjb25mbGljdCByZXNvbHZlZCBieSAtLXBydW5lJyAnCkBAIC02ODgsNCArNjg4LDM0IEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzIENfTE9DQUxFX09VVFBVVCAnZmV0Y2ggYWxpZ25lZCBvdXRwdXQnICcKKwlnaXQgY2xvbmUgLiBmdWxsLW91dHB1dCAmJgorCXRlc3RfY29tbWl0IGxvb29vb29vb29vb29vbmctdGFnICYmCisJKAorCQljZCBmdWxsLW91dHB1dCAmJgorCQlnaXQgLWMgZmV0Y2gub3V0cHV0PWZ1bGwgZmV0Y2ggb3JpZ2luIDI+JjEgfCBcCisJCQlncmVwIC1lICItPiIgfCBjdXQgLWMgMjItID4uLi9hY3R1YWwKKwkpICYmCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCW1hc3RlciAgICAgICAgICAgICAgIC0+IG9yaWdpbi9tYXN0ZXIKKwlsb29vb29vb29vb29vb25nLXRhZyAtPiBsb29vb29vb29vb29vb25nLXRhZworCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBDX0xPQ0FMRV9PVVRQVVQgJ2ZldGNoIGNvbXBhY3Qgb3V0cHV0JyAnCisJZ2l0IGNsb25lIC4gY29tcGFjdCAmJgorCXRlc3RfY29tbWl0IGV4dHJhYWEgJiYKKwkoCisJCWNkIGNvbXBhY3QgJiYKKwkJZ2l0IC1jIGZldGNoLm91dHB1dD1jb21wYWN0IGZldGNoIG9yaWdpbiAyPiYxIHwgXAorCQkJZ3JlcCAtZSAiLT4iIHwgY3V0IC1jIDIyLSA+Li4vYWN0dWFsCisJKSAmJgorCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwltYXN0ZXIgICAgIC0+IG9yaWdpbi8qCisJZXh0cmFhYSAgICAtPiAqCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1MTItbHMtcmVtb3RlLnNoIGIvdC90NTUxMi1scy1yZW1vdGUuc2gKaW5kZXggODE5YjlkZC4uNTVmYzgzZiAxMDA3NTUKLS0tIGEvdC90NTUxMi1scy1yZW1vdGUuc2gKKysrIGIvdC90NTUxMi1scy1yZW1vdGUuc2gKQEAgLTk5LDcgKzk5LDcgQEAKIAkjIFdlIGNvdWxkIGp1c3QgYXMgZWFzaWx5IGhhdmUgdXNlZCAibWFzdGVyIjsgdGhlICIqIiBlbXBoYXNpemVzIGl0cwogCSMgcm9sZSBhcyBhIHBhdHRlcm4uCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGxzLXJlbW90ZSByZWZzKm1hc3RlciA+YWN0dWFsIDI+JjEgJiYKLQl0ZXN0X2NtcCBleHAgYWN0dWFsCisJdGVzdF9pMThuY21wIGV4cCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGllIHdpdGggbm9uLTIgZm9yIHdyb25nIHJlcG9zaXRvcnkgZXZlbiB3aXRoIC0tZXhpdC1jb2RlJyAnCkBAIC0yMDcsNSArMjA3LDQ1IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2xhenlfcHJlcmVxIEdJVF9EQUVNT04gJworCXRlc3RfdHJpc3RhdGUgR0lUX1RFU1RfR0lUX0RBRU1PTiAmJgorCXRlc3QgIiRHSVRfVEVTVF9HSVRfREFFTU9OIiAhPSBmYWxzZQorJworCisjIFRoaXMgdGVzdCBzcGF3bnMgYSBkYWVtb24sIHNvIHJ1biBpdCBvbmx5IGlmIHRoZSB1c2VyIHdvdWxkIGJlIE9LIHdpdGgKKyMgdGVzdGluZyB3aXRoIGdpdC1kYWVtb24uCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBJUEUsSkdJVCxHSVRfREFFTU9OICdpbmRpY2F0ZSBubyByZWZzIGluIHN0YW5kYXJkcy1jb21wbGlhbnQgZW1wdHkgcmVtb3RlJyAnCisJSkdJVF9EQUVNT05fUE9SVD0ke0pHSVRfREFFTU9OX1BPUlQtJHt0aGlzX3Rlc3QjdH19ICYmCisJSkdJVF9EQUVNT05fUElEPSAmJgorCWdpdCBpbml0IC0tYmFyZSBlbXB0eS5naXQgJiYKKwk+ZW1wdHkuZ2l0L2dpdC1kYWVtb24tZXhwb3J0LW9rICYmCisJbWtmaWZvIGpnaXRfZGFlbW9uX291dHB1dCAmJgorCXsKKwkJamdpdCBkYWVtb24gLS1wb3J0PSIkSkdJVF9EQUVNT05fUE9SVCIgLiA+amdpdF9kYWVtb25fb3V0cHV0ICYKKwkJSkdJVF9EQUVNT05fUElEPSQhCisJfSAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCBraWxsICIkSkdJVF9EQUVNT05fUElEIiAmJgorCXsKKwkJcmVhZCBsaW5lICYmCisJCWNhc2UgJGxpbmUgaW4KKwkJRXhwb3J0aW5nKikKKwkJCTs7CisJCSopCisJCQllY2hvICJFeHBlY3RlZDogRXhwb3J0aW5nIiAmJgorCQkJZmFsc2U7OworCQllc2FjICYmCisJCXJlYWQgbGluZSAmJgorCQljYXNlICRsaW5lIGluCisJCSJMaXN0ZW5pbmcgb24iKikKKwkJCTs7CisJCSopCisJCQllY2hvICJFeHBlY3RlZDogTGlzdGVuaW5nIG9uIiAmJgorCQkJZmFsc2U7OworCQllc2FjCisJfSA8amdpdF9kYWVtb25fb3V0cHV0ICYmCisJIyAtLWV4aXQtY29kZSBhc2tzIHRoZSBjb21tYW5kIHRvIGV4aXQgd2l0aCAyIHdoZW4gbm8KKwkjIG1hdGNoaW5nIHJlZnMgYXJlIGZvdW5kLgorCXRlc3RfZXhwZWN0X2NvZGUgMiBnaXQgbHMtcmVtb3RlIC0tZXhpdC1jb2RlIGdpdDovL2xvY2FsaG9zdDokSkdJVF9EQUVNT05fUE9SVC9lbXB0eS5naXQKKycKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTIwLXB1bGwuc2ggYi90L3Q1NTIwLXB1bGwuc2gKaW5kZXggNzM5YzA4OS4uNTUxODQ0NSAxMDA3NTUKLS0tIGEvdC90NTUyMC1wdWxsLnNoCisrKyBiL3QvdDU1MjAtcHVsbC5zaApAQCAtMjExLDcgKzIxMSw3IEBACiAJdGVzdCAtbiAiJChnaXQgbHMtZmlsZXMgLXUpIiAmJgogCWNwIGZpbGUgZXhwZWN0ZWQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcHVsbCAuIHNlY29uZCAyPmVyciAmJgotCXRlc3RfaTE4bmdyZXAgIlB1bGwgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMiIGVyciAmJgorCXRlc3RfaTE4bmdyZXAgIlB1bGxpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIiBlcnIgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBmaWxlICYmCiAJZ2l0IGFkZCBmaWxlICYmCiAJdGVzdCAteiAiJChnaXQgbHMtZmlsZXMgLXUpIiAmJgpAQCAtMjU1LDYgKzI1NSwzOCBAQAogCXRlc3QgbmV3ID0gIiQoZ2l0IHNob3cgSEVBRDpmaWxlMikiCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmViYXNlIHdpdGggY29uZmxpY3RzIHNob3dzIGFkdmljZScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlYmFzZSAtLWFib3J0OyBnaXQgY2hlY2tvdXQgLWYgdG8tcmViYXNlIiAmJgorCWdpdCBjaGVja291dCAtYiBzZXEgJiYKKwl0ZXN0X3NlcSA1ID5zZXEudHh0ICYmCisJZ2l0IGFkZCBzZXEudHh0ICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtbSAiQWRkIHNlcS50eHQiICYmCisJZWNobyA2ID4+c2VxLnR4dCAmJgorCXRlc3RfdGljayAmJgorCWdpdCBjb21taXQgLW0gIkFwcGVuZCB0byBzZXEudHh0IiBzZXEudHh0ICYmCisJZ2l0IGNoZWNrb3V0IC1iIHdpdGgtY29uZmxpY3RzIEhFQUReICYmCisJZWNobyBjb25mbGljdGluZyA+PnNlcS50eHQgJiYKKwl0ZXN0X3RpY2sgJiYKKwlnaXQgY29tbWl0IC1tICJDcmVhdGUgY29uZmxpY3QiIHNlcS50eHQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcHVsbCAtLXJlYmFzZSAuIHNlcSAyPmVyciA+b3V0ICYmCisJdGVzdF9pMThuZ3JlcCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0iIG91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmYWlsZWQgLS1yZWJhc2Ugc2hvd3MgYWR2aWNlJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmViYXNlIC0tYWJvcnQ7IGdpdCBjaGVja291dCAtZiB0by1yZWJhc2UiICYmCisJZ2l0IGNoZWNrb3V0IC1iIGRpdmVyZ2luZyAmJgorCXRlc3RfY29tbWl0IGF0dHJpYnV0ZXMgLmdpdGF0dHJpYnV0ZXMgIiogdGV4dD1hdXRvIiBhdHRycyAmJgorCXNoYTE9IiQocHJpbnRmICIxXFxyXFxuIiB8IGdpdCBoYXNoLW9iamVjdCAtdyAtLXN0ZGluKSIgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tY2FjaGVpbmZvIDA2NDQgJHNoYTEgZmlsZSAmJgorCWdpdCBjb21taXQgLW0gdjEtd2l0aC1jciAmJgorCSMgZm9yY2UgY2hlY2tvdXQgYmVjYXVzZSBgZ2l0IHJlc2V0IC0taGFyZGAgd2lsbCBub3QgbGVhdmUgY2xlYW4gYGZpbGVgCisJZ2l0IGNoZWNrb3V0IC1mIC1iIGZhaWxzLXRvLXJlYmFzZSBIRUFEXiAmJgorCXRlc3RfY29tbWl0IHYyLXdpdGhvdXQtY3IgZmlsZSAiMiIgZmlsZTItbGYgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcHVsbCAtLXJlYmFzZSAuIGRpdmVyZ2luZyAyPmVyciA+b3V0ICYmCisJdGVzdF9pMThuZ3JlcCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0iIG91dAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJlYmFzZSBmYWlscyB3aXRoIG11bHRpcGxlIGJyYW5jaGVzJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCBiZWZvcmUtcmViYXNlICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1bGwgLS1yZWJhc2UgLiBjb3B5IG1hc3RlciAyPmVyciAmJgpAQCAtMzQxLDYgKzM3MywyMiBAQAogCXRlc3QgbmV3ID0gIiQoZ2l0IHNob3cgSEVBRDpmaWxlMikiCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgInB1bGwgLS1yZWJhc2Ugd2FybnMgb24gLS12ZXJpZnktc2lnbmF0dXJlcyIgJworCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXJlYmFzZSAmJgorCWdpdCBwdWxsIC0tcmViYXNlIC0tdmVyaWZ5LXNpZ25hdHVyZXMgLiBjb3B5IDI+ZXJyICYmCisJdGVzdCAiJChnaXQgcmV2LXBhcnNlIEhFQUReKSIgPSAiJChnaXQgcmV2LXBhcnNlIGNvcHkpIiAmJgorCXRlc3QgbmV3ID0gIiQoZ2l0IHNob3cgSEVBRDpmaWxlMikiICYmCisJdGVzdF9pMThuZ3JlcCAiaWdub3JpbmcgLS12ZXJpZnktc2lnbmF0dXJlcyBmb3IgcmViYXNlIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAicHVsbCAtLXJlYmFzZSBkb2VzIG5vdCB3YXJuIG9uIC0tbm8tdmVyaWZ5LXNpZ25hdHVyZXMiICcKKwlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1yZWJhc2UgJiYKKwlnaXQgcHVsbCAtLXJlYmFzZSAtLW5vLXZlcmlmeS1zaWduYXR1cmVzIC4gY29weSAyPmVyciAmJgorCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSBIRUFEXikiID0gIiQoZ2l0IHJldi1wYXJzZSBjb3B5KSIgJiYKKwl0ZXN0IG5ldyA9ICIkKGdpdCBzaG93IEhFQUQ6ZmlsZTIpIiAmJgorCXRlc3RfaTE4bmdyZXAgISAidmVyaWZ5LXNpZ25hdHVyZXMiIGVycgorJworCiAjIGFkZCBhIGZlYXR1cmUgYnJhbmNoLCBrZWVwLW1lcmdlLCB0aGF0IGlzIG1lcmdlZCBpbnRvIG1hc3Rlciwgc28gdGhlCiAjIHRlc3QgY2FuIHRyeSBwcmVzZXJ2aW5nIHRoZSBtZXJnZSBjb21taXQgKG9yIG5vdCkgd2l0aCB2YXJpb3VzCiAjIC0tcmViYXNlIGZsYWdzL3B1bGwucmViYXNlIHNldHRpbmdzLgpkaWZmIC0tZ2l0IGEvdC90NTUyMy1wdXNoLXVwc3RyZWFtLnNoIGIvdC90NTUyMy1wdXNoLXVwc3RyZWFtLnNoCmluZGV4IDM2ODNkZjEuLmQ2OTgxYmEgMTAwNzU1Ci0tLSBhL3QvdDU1MjMtcHVzaC11cHN0cmVhbS5zaAorKysgYi90L3Q1NTIzLXB1c2gtdXBzdHJlYW0uc2gKQEAgLTc1LDcgKzc1LDcgQEAKIAllbnN1cmVfZnJlc2hfdXBzdHJlYW0gJiYKIAogCXRlc3RfdGVybWluYWwgZ2l0IHB1c2ggLXUgdXBzdHJlYW0gbWFzdGVyID5vdXQgMj5lcnIgJiYKLQlncmVwICJXcml0aW5nIG9iamVjdHMiIGVycgorCXRlc3RfaTE4bmdyZXAgIldyaXRpbmcgb2JqZWN0cyIgZXJyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Byb2dyZXNzIG1lc3NhZ2VzIGRvIG5vdCBnbyB0byBub24tdHR5JyAnCkBAIC04Myw3ICs4Myw3IEBACiAKIAkjIHNraXAgcHJvZ3Jlc3MgbWVzc2FnZXMsIHNpbmNlIHN0ZGVyciBpcyBub24tdHR5CiAJZ2l0IHB1c2ggLXUgdXBzdHJlYW0gbWFzdGVyID5vdXQgMj5lcnIgJiYKLQkhIGdyZXAgIldyaXRpbmcgb2JqZWN0cyIgZXJyCisJdGVzdF9pMThuZ3JlcCAhICJXcml0aW5nIG9iamVjdHMiIGVycgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcm9ncmVzcyBtZXNzYWdlcyBnbyB0byBub24tdHR5IChmb3JjZWQpJyAnCkBAIC05MSwyMiArOTEsMjIgQEAKIAogCSMgZm9yY2UgcHJvZ3Jlc3MgbWVzc2FnZXMgdG8gc3RkZXJyLCBldmVuIHRob3VnaCBpdCBpcyBub24tdHR5CiAJZ2l0IHB1c2ggLXUgLS1wcm9ncmVzcyB1cHN0cmVhbSBtYXN0ZXIgPm91dCAyPmVyciAmJgotCWdyZXAgIldyaXRpbmcgb2JqZWN0cyIgZXJyCisJdGVzdF9pMThuZ3JlcCAiV3JpdGluZyBvYmplY3RzIiBlcnIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBUVFkgJ3B1c2ggLXEgc3VwcHJlc3NlcyBwcm9ncmVzcycgJwogCWVuc3VyZV9mcmVzaF91cHN0cmVhbSAmJgogCiAJdGVzdF90ZXJtaW5hbCBnaXQgcHVzaCAtdSAtcSB1cHN0cmVhbSBtYXN0ZXIgPm91dCAyPmVyciAmJgotCSEgZ3JlcCAiV3JpdGluZyBvYmplY3RzIiBlcnIKKwl0ZXN0X2kxOG5ncmVwICEgIldyaXRpbmcgb2JqZWN0cyIgZXJyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgVFRZICdwdXNoIC0tbm8tcHJvZ3Jlc3Mgc3VwcHJlc3NlcyBwcm9ncmVzcycgJwogCWVuc3VyZV9mcmVzaF91cHN0cmVhbSAmJgogCiAJdGVzdF90ZXJtaW5hbCBnaXQgcHVzaCAtdSAtLW5vLXByb2dyZXNzIHVwc3RyZWFtIG1hc3RlciA+b3V0IDI+ZXJyICYmCi0JISBncmVwICJVbnBhY2tpbmcgb2JqZWN0cyIgZXJyICYmCi0JISBncmVwICJXcml0aW5nIG9iamVjdHMiIGVycgorCXRlc3RfaTE4bmdyZXAgISAiVW5wYWNraW5nIG9iamVjdHMiIGVyciAmJgorCXRlc3RfaTE4bmdyZXAgISAiV3JpdGluZyBvYmplY3RzIiBlcnIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBUVFkgJ3F1aWV0IHB1c2gnICcKZGlmZiAtLWdpdCBhL3QvdDU1MjYtZmV0Y2gtc3VibW9kdWxlcy5zaCBiL3QvdDU1MjYtZmV0Y2gtc3VibW9kdWxlcy5zaAppbmRleCA5NTRkMGU0Li5mM2IwYThkIDEwMDc1NQotLS0gYS90L3Q1NTI2LWZldGNoLXN1Ym1vZHVsZXMuc2gKKysrIGIvdC90NTUyNi1mZXRjaC1zdWJtb2R1bGVzLnNoCkBAIC00ODUsNCArNDg1LDM5IEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaGluZyBzdWJtb2R1bGUgaW50byBhIGJyb2tlbiByZXBvc2l0b3J5JyAnCisJIyBQcmVwYXJlIHNyYyBhbmQgc3JjL3N1YiBuZXN0ZWQgaW4gaXQKKwlnaXQgaW5pdCBzcmMgJiYKKwkoCisJCWNkIHNyYyAmJgorCQlnaXQgaW5pdCBzdWIgJiYKKwkJZ2l0IC1DIHN1YiBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSAiaW5pdGlhbCBpbiBzdWIiICYmCisJCWdpdCBzdWJtb2R1bGUgYWRkIC0tIC4vc3ViIHN1YiAmJgorCQlnaXQgY29tbWl0IC1tICJpbml0aWFsIGluIHRvcCIKKwkpICYmCisKKwkjIENsb25lIHRoZSBvbGQtZmFzaG9uZWQgd2F5CisJZ2l0IGNsb25lIHNyYyBkc3QgJiYKKwlnaXQgLUMgZHN0IGNsb25lIC4uL3NyYy9zdWIgc3ViICYmCisKKwkjIE1ha2Ugc3VyZSB0aGF0IG9sZC1mYXNob25lZCBsYXlvdXQgaXMgc3RpbGwgc3VwcG9ydGVkCisJZ2l0IC1DIGRzdCBzdGF0dXMgJiYKKworCSMgImRpZmYiIHdvdWxkIGZpbmQgbm8gY2hhbmdlCisJZ2l0IC1DIGRzdCBkaWZmIC0tZXhpdC1jb2RlICYmCisKKwkjIFJlY3Vyc2l2ZS1mZXRjaCB3b3JrcyBmaW5lCisJZ2l0IC1DIGRzdCBmZXRjaCAtLXJlY3Vyc2Utc3VibW9kdWxlcyAmJgorCisJIyBCcmVhayB0aGUgcmVjZWl2aW5nIHN1Ym1vZHVsZQorCXJtIC1mIGRzdC9zdWIvLmdpdC9IRUFEICYmCisKKwkjIE5PVEU6IHdpdGhvdXQgdGhlIGZpeCB0aGUgZm9sbG93aW5nIHRlc3RzIHdpbGwgcmVjdXJzZSBmb3JldmVyIQorCSMgVGhleSBzaG91bGQgdGVybWluYXRlIHdpdGggYW4gZXJyb3IuCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgZHN0IHN0YXR1cyAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBkc3QgZGlmZiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBkc3QgZmV0Y2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXMKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTMzLXB1c2gtY2FzLnNoIGIvdC90NTUzMy1wdXNoLWNhcy5zaAppbmRleCBjNzMyMDEyLi5hMmM5ZTc0IDEwMDc1NQotLS0gYS90L3Q1NTMzLXB1c2gtY2FzLnNoCisrKyBiL3QvdDU1MzMtcHVzaC1jYXMuc2gKQEAgLTE5MSw0ICsxOTEsNDIgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25ldyBicmFuY2ggY292ZXJlZCBieSBmb3JjZS13aXRoLWxlYXNlJyAnCisJc2V0dXBfc3JjZHN0X2Jhc2ljICYmCisJKAorCQljZCBkc3QgJiYKKwkJZ2l0IGJyYW5jaCBicmFuY2ggbWFzdGVyICYmCisJCWdpdCBwdXNoIC0tZm9yY2Utd2l0aC1sZWFzZT1icmFuY2ggb3JpZ2luIGJyYW5jaAorCSkgJiYKKwlnaXQgbHMtcmVtb3RlIGRzdCByZWZzL2hlYWRzL2JyYW5jaCA+ZXhwZWN0ICYmCisJZ2l0IGxzLXJlbW90ZSBzcmMgcmVmcy9oZWFkcy9icmFuY2ggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbmV3IGJyYW5jaCBjb3ZlcmVkIGJ5IGZvcmNlLXdpdGgtbGVhc2UgKGV4cGxpY2l0KScgJworCXNldHVwX3NyY2RzdF9iYXNpYyAmJgorCSgKKwkJY2QgZHN0ICYmCisJCWdpdCBicmFuY2ggYnJhbmNoIG1hc3RlciAmJgorCQlnaXQgcHVzaCAtLWZvcmNlLXdpdGgtbGVhc2U9YnJhbmNoOiBvcmlnaW4gYnJhbmNoCisJKSAmJgorCWdpdCBscy1yZW1vdGUgZHN0IHJlZnMvaGVhZHMvYnJhbmNoID5leHBlY3QgJiYKKwlnaXQgbHMtcmVtb3RlIHNyYyByZWZzL2hlYWRzL2JyYW5jaCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICduZXcgYnJhbmNoIGFscmVhZHkgZXhpc3RzJyAnCisJc2V0dXBfc3JjZHN0X2Jhc2ljICYmCisJKAorCQljZCBzcmMgJiYKKwkJZ2l0IGNoZWNrb3V0IC1iIGJyYW5jaCBtYXN0ZXIgJiYKKwkJdGVzdF9jb21taXQgRgorCSkgJiYKKwkoCisJCWNkIGRzdCAmJgorCQlnaXQgYnJhbmNoIGJyYW5jaCBtYXN0ZXIgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggLS1mb3JjZS13aXRoLWxlYXNlPWJyYW5jaDogb3JpZ2luIGJyYW5jaAorCSkKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTM2LWZldGNoLWNvbmZsaWN0cy5zaCBiL3QvdDU1MzYtZmV0Y2gtY29uZmxpY3RzLnNoCmluZGV4IDZjNWQzYTQuLjJlNDJjZjMgMTAwNzU1Ci0tLSBhL3QvdDU1MzYtZmV0Y2gtY29uZmxpY3RzLnNoCisrKyBiL3QvdDU1MzYtZmV0Y2gtY29uZmxpY3RzLnNoCkBAIC0yMiw4ICsyMiw4IEBACiAJY2F0ID5leHBlY3RlZCAmJgogCSMgV2UncmUgbm90IGludGVyZXN0ZWQgaW4gdGhlIGVycm9yCiAJIyAiZmF0YWw6IFRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdW5leHBlY3RlZGx5IjoKLQlncmVwIC1FICdeKGZhdGFsfHdhcm5pbmcpOicgPGVycm9yIHwgZ3JlcCAtdiAnaHVuZyB1cCcgPmFjdHVhbCB8IHNvcnQgJiYKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwl0ZXN0X2kxOG5ncmVwIC1FICdeKGZhdGFsfHdhcm5pbmcpOicgPGVycm9yIHwgZ3JlcCAtdiAnaHVuZyB1cCcgPmFjdHVhbCB8IHNvcnQgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiB9CiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCmRpZmYgLS1naXQgYS90L3Q1NTM5LWZldGNoLWh0dHAtc2hhbGxvdy5zaCBiL3QvdDU1MzktZmV0Y2gtaHR0cC1zaGFsbG93LnNoCmluZGV4IDM3YTQzMzUuLjVmYmY2N2MgMTAwNzU1Ci0tLSBhL3QvdDU1MzktZmV0Y2gtaHR0cC1zaGFsbG93LnNoCisrKyBiL3QvdDU1MzktZmV0Y2gtaHR0cC1zaGFsbG93LnNoCkBAIC03Myw1ICs3Myw3OCBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgc2hhbGxvdyBzaW5jZSAuLi4nICcKKwl0ZXN0X2NyZWF0ZV9yZXBvIHNoYWxsb3ctc2luY2UgJiYKKwkoCisJY2Qgc2hhbGxvdy1zaW5jZSAmJgorCUdJVF9DT01NSVRURVJfREFURT0iMTAwMDAwMDAwICswNzAwIiBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gb25lICYmCisJR0lUX0NPTU1JVFRFUl9EQVRFPSIyMDAwMDAwMDAgKzA3MDAiIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSB0d28gJiYKKwlHSVRfQ09NTUlUVEVSX0RBVEU9IjMwMDAwMDAwMCArMDcwMCIgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tIHRocmVlICYmCisJbXYgLmdpdCAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC9zaGFsbG93LXNpbmNlLmdpdCIgJiYKKwlnaXQgY2xvbmUgLS1zaGFsbG93LXNpbmNlICIzMDAwMDAwMDAgKzA3MDAiICRIVFRQRF9VUkwvc21hcnQvc2hhbGxvdy1zaW5jZS5naXQgLi4vc2hhbGxvdzExICYmCisJZ2l0IC1DIC4uL3NoYWxsb3cxMSBsb2cgLS1wcmV0dHk9dGZvcm1hdDolcyBIRUFEID5hY3R1YWwgJiYKKwllY2hvIHRocmVlID5leHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggc2hhbGxvdyBzaW5jZSAuLi4nICcKKwlnaXQgLUMgc2hhbGxvdzExIGZldGNoIC0tc2hhbGxvdy1zaW5jZSAiMjAwMDAwMDAwICswNzAwIiBvcmlnaW4gJiYKKwlnaXQgLUMgc2hhbGxvdzExIGxvZyAtLXByZXR0eT10Zm9ybWF0OiVzIG9yaWdpbi9tYXN0ZXIgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCXRocmVlCisJdHdvCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NoYWxsb3cgY2xvbmUgZXhjbHVkZSB0YWcgdHdvJyAnCisJdGVzdF9jcmVhdGVfcmVwbyBzaGFsbG93LWV4Y2x1ZGUgJiYKKwkoCisJY2Qgc2hhbGxvdy1leGNsdWRlICYmCisJdGVzdF9jb21taXQgb25lICYmCisJdGVzdF9jb21taXQgdHdvICYmCisJdGVzdF9jb21taXQgdGhyZWUgJiYKKwltdiAuZ2l0ICIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIL3NoYWxsb3ctZXhjbHVkZS5naXQiICYmCisJZ2l0IGNsb25lIC0tc2hhbGxvdy1leGNsdWRlIHR3byAkSFRUUERfVVJML3NtYXJ0L3NoYWxsb3ctZXhjbHVkZS5naXQgLi4vc2hhbGxvdzEyICYmCisJZ2l0IC1DIC4uL3NoYWxsb3cxMiBsb2cgLS1wcmV0dHk9dGZvcm1hdDolcyBIRUFEID5hY3R1YWwgJiYKKwllY2hvIHRocmVlID5leHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggZXhjbHVkZSB0YWcgb25lJyAnCisJZ2l0IC1DIHNoYWxsb3cxMiBmZXRjaCAtLXNoYWxsb3ctZXhjbHVkZSBvbmUgb3JpZ2luICYmCisJZ2l0IC1DIHNoYWxsb3cxMiBsb2cgLS1wcmV0dHk9dGZvcm1hdDolcyBvcmlnaW4vbWFzdGVyID5hY3R1YWwgJiYKKwl0ZXN0X3dyaXRlX2xpbmVzIHRocmVlIHR3byA+ZXhwZWN0ZWQgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2hpbmcgZGVlcGVuJyAnCisJdGVzdF9jcmVhdGVfcmVwbyBzaGFsbG93LWRlZXBlbiAmJgorCSgKKwljZCBzaGFsbG93LWRlZXBlbiAmJgorCXRlc3RfY29tbWl0IG9uZSAmJgorCXRlc3RfY29tbWl0IHR3byAmJgorCXRlc3RfY29tbWl0IHRocmVlICYmCisJbXYgLmdpdCAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC9zaGFsbG93LWRlZXBlbi5naXQiICYmCisJZ2l0IGNsb25lIC0tZGVwdGggMSAkSFRUUERfVVJML3NtYXJ0L3NoYWxsb3ctZGVlcGVuLmdpdCBkZWVwZW4gJiYKKwltdiAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC9zaGFsbG93LWRlZXBlbi5naXQiIC5naXQgJiYKKwl0ZXN0X2NvbW1pdCBmb3VyICYmCisJZ2l0IC1DIGRlZXBlbiBsb2cgLS1wcmV0dHk9dGZvcm1hdDolcyBtYXN0ZXIgPmFjdHVhbCAmJgorCWVjaG8gdGhyZWUgPmV4cGVjdGVkICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisJbXYgLmdpdCAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC9zaGFsbG93LWRlZXBlbi5naXQiICYmCisJZ2l0IC1DIGRlZXBlbiBmZXRjaCAtLWRlZXBlbj0xICYmCisJZ2l0IC1DIGRlZXBlbiBsb2cgLS1wcmV0dHk9dGZvcm1hdDolcyBvcmlnaW4vbWFzdGVyID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKwlmb3VyCisJdGhyZWUKKwl0d28KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwkpCisnCisKIHN0b3BfaHR0cGQKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTU0MS1odHRwLXB1c2gtc21hcnQuc2ggYi90L3Q1NTQxLWh0dHAtcHVzaC1zbWFydC5zaAppbmRleCBmZDdkMDZiLi5kMzhiZjMyIDEwMDc1NQotLS0gYS90L3Q1NTQxLWh0dHAtcHVzaC1zbWFydC5zaAorKysgYi90L3Q1NTQxLWh0dHAtcHVzaC1zbWFydC5zaApAQCAtNzQsNyArNzQsNyBAQAogCXRlc3RfdGljayAmJgogCWdpdCBjb21taXQgLW0gcGF0aDIgJiYKIAlIRUFEPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSAmJgotCUdJVF9DVVJMX1ZFUkJPU0U9MSBnaXQgcHVzaCAtdiAtdiAyPmVyciAmJgorCUdJVF9UUkFDRV9DVVJMPXRydWUgZ2l0IHB1c2ggLXYgLXYgMj5lcnIgJiYKIAkhIGdyZXAgIkV4cGVjdDogMTAwLWNvbnRpbnVlIiBlcnIgJiYKIAlncmVwICJQT1NUIGdpdC1yZWNlaXZlLXBhY2sgKFswLTldKiBieXRlcykiIGVyciAmJgogCShjZCAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSCIvdGVzdF9yZXBvLmdpdCAmJgpAQCAtMTE5LDcgKzExOSw3IEBACiAJZ2l0IGNvbW1pdCAtbSBkZXYyICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggb3JpZ2luIGRldjIgMj5hY3QgJiYKIAlzZWQgLWUgIi9ecmVtb3RlOiAvcy8gKiQvLyIgPGFjdCA+Y21wICYmCi0JdGVzdF9jbXAgZXhwIGNtcAorCXRlc3RfaTE4bmNtcCBleHAgY21wCiAnCiBybSAtZiAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC90ZXN0X3JlcG8uZ2l0L2hvb2tzL3VwZGF0ZSIKIApAQCAtMjE5LDcgKzIxOSw3IEBACiAJY2QgIiRST09UX1BBVEgiL3Rlc3RfcmVwb19jbG9uZSAmJgogCXRlc3RfY29tbWl0IG5vaXN5ICYmCiAJdGVzdF90ZXJtaW5hbCBnaXQgcHVzaCA+b3V0cHV0IDI+JjEgJiYKLQlncmVwICJeV3JpdGluZyBvYmplY3RzIiBvdXRwdXQKKwl0ZXN0X2kxOG5ncmVwICJeV3JpdGluZyBvYmplY3RzIiBvdXRwdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBUVFkgJ3B1c2ggLS1xdWlldCBzaWxlbmNlcyBzdGF0dXMgYW5kIHByb2dyZXNzJyAnCkBAIC0yMzMsMTYgKzIzMywxNiBAQAogCWNkICIkUk9PVF9QQVRIIi90ZXN0X3JlcG9fY2xvbmUgJiYKIAl0ZXN0X2NvbW1pdCBuby1wcm9ncmVzcyAmJgogCXRlc3RfdGVybWluYWwgZ2l0IHB1c2ggLS1uby1wcm9ncmVzcyA+b3V0cHV0IDI+JjEgJiYKLQlncmVwICJeVG8gaHR0cCIgb3V0cHV0ICYmCi0JISBncmVwICJeV3JpdGluZyBvYmplY3RzIgorCXRlc3RfaTE4bmdyZXAgIl5UbyBodHRwIiBvdXRwdXQgJiYKKwl0ZXN0X2kxOG5ncmVwICEgIl5Xcml0aW5nIG9iamVjdHMiCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggLS1wcm9ncmVzcyBzaG93cyBwcm9ncmVzcyB0byBub24tdHR5JyAnCiAJY2QgIiRST09UX1BBVEgiL3Rlc3RfcmVwb19jbG9uZSAmJgogCXRlc3RfY29tbWl0IHByb2dyZXNzICYmCiAJZ2l0IHB1c2ggLS1wcm9ncmVzcyA+b3V0cHV0IDI+JjEgJiYKLQlncmVwICJeVG8gaHR0cCIgb3V0cHV0ICYmCi0JZ3JlcCAiXldyaXRpbmcgb2JqZWN0cyIgb3V0cHV0CisJdGVzdF9pMThuZ3JlcCAiXlRvIGh0dHAiIG91dHB1dCAmJgorCXRlc3RfaTE4bmdyZXAgIl5Xcml0aW5nIG9iamVjdHMiIG91dHB1dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdodHRwIHB1c2ggZ2l2ZXMgc2FuZSBkZWZhdWx0cyB0byByZWZsb2cnICcKQEAgLTM2OCw1ICszNjgsMTQgQEAKIAl0ZXN0X2NtcCBleHBlY3QgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvcHVzaC1jZXJ0LXN0YXR1cyIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCBzdGF0dXMgb3V0cHV0IHNjcnVicyBwYXNzd29yZCcgJworCWNkICIkUk9PVF9QQVRIL3Rlc3RfcmVwb19jbG9uZSIgJiYKKwlnaXQgcHVzaCAtLXBvcmNlbGFpbiBcCisJCSIkSFRUUERfVVJMX1VTRVJfUEFTUy9zbWFydC90ZXN0X3JlcG8uZ2l0IiBcCisJCStIRUFEOnNjcnViID5zdGF0dXMgJiYKKwkjIHNob3VsZCBoYXZlIGJlZW4gc2NydWJiZWQgZG93biB0byB2YW5pbGxhIFVSTAorCWdyZXAgIl5UbyAkSFRUUERfVVJML3NtYXJ0L3Rlc3RfcmVwby5naXQiIHN0YXR1cworJworCiBzdG9wX2h0dHBkCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1NDQtcGFjay1vYmplY3RzLWhvb2suc2ggYi90L3Q1NTQ0LXBhY2stb2JqZWN0cy1ob29rLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQzNTdhZjEKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q1NTQ0LXBhY2stb2JqZWN0cy1ob29rLnNoCkBAIC0wLDAgKzEsNjIgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSd0ZXN0IGN1c3RvbSBzY3JpcHQgaW4gcGxhY2Ugb2YgcGFjay1vYmplY3RzJworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSBzb21lIGhpc3RvcnkgdG8gZmV0Y2gnICcKKwl0ZXN0X2NvbW1pdCBvbmUgJiYKKwl0ZXN0X2NvbW1pdCB0d28KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIGRlYnVnZ2luZyBob29rIHNjcmlwdCcgJworCXdyaXRlX3NjcmlwdCAuZ2l0L2hvb2sgPDwtXEVPRgorCQllY2hvID4mMiAiaG9vayBydW5uaW5nIgorCQllY2hvICIkKiIgPmhvb2suYXJncworCQljYXQgPmhvb2suc3RkaW4KKwkJIiRAIiA8aG9vay5zdGRpbiA+aG9vay5zdGRvdXQKKwkJY2F0IGhvb2suc3Rkb3V0CisJRU9GCisnCisKK2NsZWFyX2hvb2tfcmVzdWx0cyAoKSB7CisJcm0gLXJmIC5naXQvaG9vay4qIGRzdC5naXQKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaG9vayBydW5zIHZpYSBnbG9iYWwgY29uZmlnJyAnCisJY2xlYXJfaG9va19yZXN1bHRzICYmCisJdGVzdF9jb25maWdfZ2xvYmFsIHVwbG9hZHBhY2sucGFja09iamVjdHNIb29rIC4vaG9vayAmJgorCWdpdCBjbG9uZSAtLW5vLWxvY2FsIC4gZHN0LmdpdCAyPnN0ZGVyciAmJgorCWdyZXAgImhvb2sgcnVubmluZyIgc3RkZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2hvb2sgb3V0cHV0cyBhcmUgc2FuZScgJworCSMgY2hlY2sgdGhhdCB3ZSByZWNvcmRlZCBhIHVzYWJsZSBwYWNrCisJZ2l0IGluZGV4LXBhY2sgLS1zdGRpbiA8LmdpdC9ob29rLnN0ZG91dCAmJgorCisJIyBjaGVjayB0aGF0IHdlIHJlY29yZGVkIGFyZ3MgYW5kIHN0ZGluLiBXZSBkbyBub3QgY2hlY2sKKwkjIHRoZSBmdWxsIGFyZ3VtZW50IGxpc3Qgb3IgdGhlIGV4YWN0IHBhY2sgY29udGVudHMsIGFzIGl0IHdvdWxkIG1ha2UKKwkjIHRoZSB0ZXN0IGJyaXR0bGUuIFNvIGp1c3Qgc2FuaXR5IGNoZWNrIHRoYXQgd2UgY291bGQgcmVwbGF5CisJIyB0aGUgcGFja2luZyBwcm9jZWR1cmUuCisJZ3JlcCAiXmdpdCIgLmdpdC9ob29rLmFyZ3MgJiYKKwkkKGNhdCAuZ2l0L2hvb2suYXJncykgPC5naXQvaG9vay5zdGRpbiA+cmVwbGF5CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2hvb2sgcnVucyBmcm9tIC1jIGNvbmZpZycgJworCWNsZWFyX2hvb2tfcmVzdWx0cyAmJgorCWdpdCBjbG9uZSAtLW5vLWxvY2FsIFwKKwkgIC11ICJnaXQgLWMgdXBsb2FkcGFjay5wYWNrT2JqZWN0c0hvb2s9Li9ob29rIHVwbG9hZC1wYWNrIiBcCisJICAuIGRzdC5naXQgMj5zdGRlcnIgJiYKKwlncmVwICJob29rIHJ1bm5pbmciIHN0ZGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdob29rIGRvZXMgbm90IHJ1biBmcm9tIHJlcG8gY29uZmlnJyAnCisJY2xlYXJfaG9va19yZXN1bHRzICYmCisJdGVzdF9jb25maWcgdXBsb2FkcGFjay5wYWNrT2JqZWN0c0hvb2sgIi4vaG9vayIgJiYKKwlnaXQgY2xvbmUgLS1uby1sb2NhbCAuIGRzdC5naXQgMj5zdGRlcnIgJiYKKwkhIGdyZXAgImhvb2sgcnVubmluZyIgc3RkZXJyICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9ob29rLmFyZ3MgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0L2hvb2suc3RkaW4gJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0L2hvb2suc3Rkb3V0CisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTU0NS1wdXNoLW9wdGlvbnMuc2ggYi90L3Q1NTQ1LXB1c2gtb3B0aW9ucy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYTgxM2I5Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NTU0NS1wdXNoLW9wdGlvbnMuc2gKQEAgLTAsMCArMSwxMDMgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdwdXNoaW5nIHRvIGEgcmVwb3NpdG9yeSB1c2luZyBwdXNoIG9wdGlvbnMnCisKKy4gLi90ZXN0LWxpYi5zaAorCitta19yZXBvX3BhaXIgKCkgeworCXJtIC1yZiB3b3JrYmVuY2ggdXBzdHJlYW0gJiYKKwl0ZXN0X2NyZWF0ZV9yZXBvIHVwc3RyZWFtICYmCisJdGVzdF9jcmVhdGVfcmVwbyB3b3JrYmVuY2ggJiYKKwkoCisJCWNkIHVwc3RyZWFtICYmCisJCWdpdCBjb25maWcgcmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCB3YXJuICYmCisJCW1rZGlyIC1wIC5naXQvaG9va3MgJiYKKwkJY2F0ID4uZ2l0L2hvb2tzL3ByZS1yZWNlaXZlIDw8LSdFT0YnICYmCisJCSMhL2Jpbi9zaAorCQlpZiB0ZXN0IC1uICIkR0lUX1BVU0hfT1BUSU9OX0NPVU5UIjsgdGhlbgorCQkJaT0wCisJCQk+aG9va3MvcHJlLXJlY2VpdmUucHVzaF9vcHRpb25zCisJCQl3aGlsZSB0ZXN0ICIkaSIgLWx0ICIkR0lUX1BVU0hfT1BUSU9OX0NPVU5UIjsgZG8KKwkJCQlldmFsICJ2YWx1ZT1cJEdJVF9QVVNIX09QVElPTl8kaSIKKwkJCQllY2hvICR2YWx1ZSA+Pmhvb2tzL3ByZS1yZWNlaXZlLnB1c2hfb3B0aW9ucworCQkJCWk9JCgoaSArIDEpKQorCQkJZG9uZQorCQlmaQorCQlFT0YKKwkJY2htb2QgdSt4IC5naXQvaG9va3MvcHJlLXJlY2VpdmUKKworCQljYXQgPi5naXQvaG9va3MvcG9zdC1yZWNlaXZlIDw8LSdFT0YnICYmCisJCSMhL2Jpbi9zaAorCQlpZiB0ZXN0IC1uICIkR0lUX1BVU0hfT1BUSU9OX0NPVU5UIjsgdGhlbgorCQkJaT0wCisJCQk+aG9va3MvcG9zdC1yZWNlaXZlLnB1c2hfb3B0aW9ucworCQkJd2hpbGUgdGVzdCAiJGkiIC1sdCAiJEdJVF9QVVNIX09QVElPTl9DT1VOVCI7IGRvCisJCQkJZXZhbCAidmFsdWU9XCRHSVRfUFVTSF9PUFRJT05fJGkiCisJCQkJZWNobyAkdmFsdWUgPj5ob29rcy9wb3N0LXJlY2VpdmUucHVzaF9vcHRpb25zCisJCQkJaT0kKChpICsgMSkpCisJCQlkb25lCisJCWZpCisJCUVPRgorCQljaG1vZCB1K3ggLmdpdC9ob29rcy9wb3N0LXJlY2VpdmUKKwkpICYmCisJKAorCQljZCB3b3JrYmVuY2ggJiYKKwkJZ2l0IHJlbW90ZSBhZGQgdXAgLi4vdXBzdHJlYW0KKwkpCit9CisKKyMgQ29tcGFyZSB0aGUgcmVmICgkMSkgaW4gdXBzdHJlYW0gd2l0aCBhIHJlZiB2YWx1ZSBmcm9tIHdvcmtiZW5jaCAoJDIpCisjIGkuZS4gdGVzdF9yZWZzIHNlY29uZCBIRUFEQHsyfQordGVzdF9yZWZzICgpIHsKKwl0ZXN0ICQjID0gMiAmJgorCWdpdCAtQyB1cHN0cmVhbSByZXYtcGFyc2UgLS12ZXJpZnkgIiQxIiA+ZXhwZWN0ICYmCisJZ2l0IC1DIHdvcmtiZW5jaCByZXYtcGFyc2UgLS12ZXJpZnkgIiQyIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdvbmUgcHVzaCBvcHRpb24gd29ya3MgZm9yIGEgc2luZ2xlIGJyYW5jaCcgJworCW1rX3JlcG9fcGFpciAmJgorCWdpdCAtQyB1cHN0cmVhbSBjb25maWcgcmVjZWl2ZS5hZHZlcnRpc2VQdXNoT3B0aW9ucyB0cnVlICYmCisJKAorCQljZCB3b3JrYmVuY2ggJiYKKwkJdGVzdF9jb21taXQgb25lICYmCisJCWdpdCBwdXNoIC0tbWlycm9yIHVwICYmCisJCXRlc3RfY29tbWl0IHR3byAmJgorCQlnaXQgcHVzaCAtLXB1c2gtb3B0aW9uPWFzZGYgdXAgbWFzdGVyCisJKSAmJgorCXRlc3RfcmVmcyBtYXN0ZXIgbWFzdGVyICYmCisJZWNobyAiYXNkZiIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCB1cHN0cmVhbS8uZ2l0L2hvb2tzL3ByZS1yZWNlaXZlLnB1c2hfb3B0aW9ucyAmJgorCXRlc3RfY21wIGV4cGVjdCB1cHN0cmVhbS8uZ2l0L2hvb2tzL3Bvc3QtcmVjZWl2ZS5wdXNoX29wdGlvbnMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCBvcHRpb24gZGVuaWVkIGJ5IHJlbW90ZScgJworCW1rX3JlcG9fcGFpciAmJgorCWdpdCAtQyB1cHN0cmVhbSBjb25maWcgcmVjZWl2ZS5hZHZlcnRpc2VQdXNoT3B0aW9ucyBmYWxzZSAmJgorCSgKKwkJY2Qgd29ya2JlbmNoICYmCisJCXRlc3RfY29tbWl0IG9uZSAmJgorCQlnaXQgcHVzaCAtLW1pcnJvciB1cCAmJgorCQl0ZXN0X2NvbW1pdCB0d28gJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggLS1wdXNoLW9wdGlvbj1hc2RmIHVwIG1hc3RlcgorCSkgJiYKKwl0ZXN0X3JlZnMgbWFzdGVyIEhFQURAezF9CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3R3byBwdXNoIG9wdGlvbnMgd29yaycgJworCW1rX3JlcG9fcGFpciAmJgorCWdpdCAtQyB1cHN0cmVhbSBjb25maWcgcmVjZWl2ZS5hZHZlcnRpc2VQdXNoT3B0aW9ucyB0cnVlICYmCisJKAorCQljZCB3b3JrYmVuY2ggJiYKKwkJdGVzdF9jb21taXQgb25lICYmCisJCWdpdCBwdXNoIC0tbWlycm9yIHVwICYmCisJCXRlc3RfY29tbWl0IHR3byAmJgorCQlnaXQgcHVzaCAtLXB1c2gtb3B0aW9uPWFzZGYgLS1wdXNoLW9wdGlvbj0ibW9yZSBzdHJ1Y3R1cmVkIHRleHQiIHVwIG1hc3RlcgorCSkgJiYKKwl0ZXN0X3JlZnMgbWFzdGVyIG1hc3RlciAmJgorCXByaW50ZiAiYXNkZlxubW9yZSBzdHJ1Y3R1cmVkIHRleHRcbiIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCB1cHN0cmVhbS8uZ2l0L2hvb2tzL3ByZS1yZWNlaXZlLnB1c2hfb3B0aW9ucyAmJgorCXRlc3RfY21wIGV4cGVjdCB1cHN0cmVhbS8uZ2l0L2hvb2tzL3Bvc3QtcmVjZWl2ZS5wdXNoX29wdGlvbnMKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTQ2LXJlY2VpdmUtbGltaXRzLnNoIGIvdC90NTU0Ni1yZWNlaXZlLWxpbWl0cy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMGNiMGJlCi0tLSAvZGV2L251bGwKKysrIGIvdC90NTU0Ni1yZWNlaXZlLWxpbWl0cy5zaApAQCAtMCwwICsxLDU1IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nY2hlY2sgcmVjZWl2ZSBpbnB1dCBsaW1pdHMnCisuIC4vdGVzdC1saWIuc2gKKworIyBMZXQncyBydW4gdGVzdHMgd2l0aCBkaWZmZXJlbnQgdW5wYWNrIGxpbWl0czogMSBhbmQgMTAwMDAKKyMgV2hlbiB0aGUgbGltaXQgaXMgMSwgYGdpdCByZWNlaXZlLXBhY2tgIHdpbGwgY2FsbCBgZ2l0IGluZGV4LXBhY2tgLgorIyBXaGVuIHRoZSBsaW1pdCBpcyAxMDAwMCwgYGdpdCByZWNlaXZlLXBhY2tgIHdpbGwgY2FsbCBgZ2l0IHVucGFjay1vYmplY3RzYC4KKwordGVzdF9wYWNrX2lucHV0X2xpbWl0ICgpIHsKKwljYXNlICIkMSIgaW4KKwlpbmRleCkgdW5wYWNrX2xpbWl0PTEgOzsKKwl1bnBhY2spIHVucGFja19saW1pdD0xMDAwMCA7OworCWVzYWMKKworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ByZXBhcmUgZGVzdGluYXRpb24gcmVwb3NpdG9yeScgJworCQlybSAtZnIgZGVzdCAmJgorCQlnaXQgLS1iYXJlIGluaXQgZGVzdAorCScKKworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgInNldCB1bnBhY2tsaW1pdCB0byAkdW5wYWNrX2xpbWl0IiAnCisJCWdpdCAtLWdpdC1kaXI9ZGVzdCBjb25maWcgcmVjZWl2ZS51bnBhY2tsaW1pdCAiJHVucGFja19saW1pdCIKKwknCisKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR0aW5nIHJlY2VpdmUubWF4SW5wdXRTaXplIHRvIDUxMiByZWplY3RzIHB1c2gnICcKKwkJZ2l0IC0tZ2l0LWRpcj1kZXN0IGNvbmZpZyByZWNlaXZlLm1heElucHV0U2l6ZSA1MTIgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggZGVzdCBIRUFECisJJworCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAnYnVtcGluZyBsaW1pdCB0byA0ayBhbGxvd3MgcHVzaCcgJworCQlnaXQgLS1naXQtZGlyPWRlc3QgY29uZmlnIHJlY2VpdmUubWF4SW5wdXRTaXplIDRrICYmCisJCWdpdCBwdXNoIGRlc3QgSEVBRAorCScKKworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ByZXBhcmUgZGVzdGluYXRpb24gcmVwb3NpdG9yeSAoYWdhaW4pJyAnCisJCXJtIC1mciBkZXN0ICYmCisJCWdpdCAtLWJhcmUgaW5pdCBkZXN0CisJJworCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAnbGlmdGluZyB0aGUgbGltaXQgYWxsb3dzIHB1c2gnICcKKwkJZ2l0IC0tZ2l0LWRpcj1kZXN0IGNvbmZpZyByZWNlaXZlLm1heElucHV0U2l6ZSAwICYmCisJCWdpdCBwdXNoIGRlc3QgSEVBRAorCScKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAiY3JlYXRlIGtub3duLXNpemUgKDEwMjQgYnl0ZXMpIGNvbW1pdCIgJworCXRlc3QtZ2VucmFuZG9tIGZvbyAxMDI0ID5vbmUtayAmJgorCWdpdCBhZGQgb25lLWsgJiYKKwl0ZXN0X2NvbW1pdCBvbmUtaworJworCit0ZXN0X3BhY2tfaW5wdXRfbGltaXQgaW5kZXgKK3Rlc3RfcGFja19pbnB1dF9saW1pdCB1bnBhY2sKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTQ3LXB1c2gtcXVhcmFudGluZS5zaCBiL3QvdDU1NDctcHVzaC1xdWFyYW50aW5lLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFlNWQzMmQKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q1NTQ3LXB1c2gtcXVhcmFudGluZS5zaApAQCAtMCwwICsxLDM2IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nY2hlY2sgcXVhcmFudGluZSBvZiBvYmplY3RzIGR1cmluZyBwdXNoJworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSBwaWNreSBkZXN0IHJlcG8nICcKKwlnaXQgaW5pdCAtLWJhcmUgZGVzdC5naXQgJiYKKwl3cml0ZV9zY3JpcHQgZGVzdC5naXQvaG9va3MvcHJlLXJlY2VpdmUgPDwtXEVPRgorCXdoaWxlIHJlYWQgb2xkIG5ldyByZWY7IGRvCisJCXRlc3QgIiQoZ2l0IGxvZyAtMSAtLWZvcm1hdD0lcyAkbmV3KSIgPSByZWplY3QgJiYgZXhpdCAxCisJZG9uZQorCWV4aXQgMAorCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhY2NlcHRlZCBvYmplY3RzIHdvcmsnICcKKwl0ZXN0X2NvbW1pdCBvayAmJgorCWdpdCBwdXNoIGRlc3QuZ2l0IEhFQUQgJiYKKwljb21taXQ9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJZ2l0IC0tZ2l0LWRpcj1kZXN0LmdpdCBjYXQtZmlsZSBjb21taXQgJGNvbW1pdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWplY3RlZCBvYmplY3RzIGFyZSBub3QgaW5zdGFsbGVkJyAnCisJdGVzdF9jb21taXQgcmVqZWN0ICYmCisJY29tbWl0PSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBwdXNoIGRlc3QuZ2l0IHJlamVjdCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCAtLWdpdC1kaXI9ZGVzdC5naXQgY2F0LWZpbGUgY29tbWl0ICRjb21taXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVqZWN0ZWQgb2JqZWN0cyBhcmUgcmVtb3ZlZCcgJworCWVjaG8gImluY29taW5nLSoiID5leHBlY3QgJiYKKwkoY2QgZGVzdC5naXQvb2JqZWN0cyAmJiBlY2hvIGluY29taW5nLSopID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTU1MC1odHRwLWZldGNoLWR1bWIuc2ggYi90L3Q1NTUwLWh0dHAtZmV0Y2gtZHVtYi5zaAppbmRleCAzNDg0YjZmLi43NjQxNDE3IDEwMDc1NQotLS0gYS90L3Q1NTUwLWh0dHAtZmV0Y2gtZHVtYi5zaAorKysgYi90L3Q1NTUwLWh0dHAtZmV0Y2gtZHVtYi5zaApAQCAtMjYzLDE1ICsyNjMsMTUgQEAKIAkJPmV4cGVjdAogCQk7OwogCT8qKQotCQllY2hvICJBY2NlcHQtTGFuZ3VhZ2U6ICQxIiA+ZXhwZWN0CisJCWVjaG8gIj0+IFNlbmQgaGVhZGVyOiBBY2NlcHQtTGFuZ3VhZ2U6ICQxIiA+ZXhwZWN0CiAJCTs7CiAJZXNhYyAmJgotCUdJVF9DVVJMX1ZFUkJPU0U9MSBcCisJR0lUX1RSQUNFX0NVUkw9dHJ1ZSBcCiAJTEFOR1VBR0U9JDIgXAogCWdpdCBscy1yZW1vdGUgIiRIVFRQRF9VUkwvZHVtYi9yZXBvLmdpdCIgPm91dHB1dCAyPiYxICYmCiAJdHIgLWQgJ1wwMTUnIDxvdXRwdXQgfAogCXNvcnQgLXUgfAotCXNlZCAtbmUgJy9eQWNjZXB0LUxhbmd1YWdlOi8gcCcgPmFjdHVhbCAmJgorCXNlZCAtbmUgJy9ePT4gU2VuZCBoZWFkZXI6IEFjY2VwdC1MYW5ndWFnZTovIHAnID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiB9CiAKQEAgLTI5NSw4ICsyOTUsMTYgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGNsaWVudCBkb2VzIG5vdCBzZW5kIGFuIGVtcHR5IEFjY2VwdC1MYW5ndWFnZScgJwotCUdJVF9DVVJMX1ZFUkJPU0U9MSBMQU5HVUFHRT0gZ2l0IGxzLXJlbW90ZSAiJEhUVFBEX1VSTC9kdW1iL3JlcG8uZ2l0IiAyPnN0ZGVyciAmJgotCSEgZ3JlcCAiXkFjY2VwdC1MYW5ndWFnZToiIHN0ZGVycgorCUdJVF9UUkFDRV9DVVJMPXRydWUgTEFOR1VBR0U9IGdpdCBscy1yZW1vdGUgIiRIVFRQRF9VUkwvZHVtYi9yZXBvLmdpdCIgMj5zdGRlcnIgJiYKKwkhIGdyZXAgIl49PiBTZW5kIGhlYWRlcjogQWNjZXB0LUxhbmd1YWdlOiIgc3RkZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlbW90ZS1odHRwIGNvbXBsYWlucyBjbGVhbmx5IGFib3V0IG1hbGZvcm1lZCB1cmxzJyAnCisJIyBkbyBub3QgYWN0dWFsbHkgaXNzdWUgImxpc3QiIG9yIG90aGVyIGNvbW1hbmRzLCBhcyB3ZSBkbyBub3QKKwkjIHdhbnQgdG8gcmVseSBvbiB3aGF0IGN1cmwgd291bGQgYWN0dWFsbHkgZG8gd2l0aCBzdWNoIGEgYnJva2VuCisJIyBVUkwuIFRoaXMgaXMganVzdCBhYm91dCBtYWtpbmcgc3VyZSB3ZSBkbyBub3Qgc2VnZmF1bHQgZHVyaW5nCisJIyBpbml0aWFsaXphdGlvbi4KKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVtb3RlLWh0dHAgaHR0cDo6L2V4YW1wbGUuY29tL3JlcG8uZ2l0CiAnCiAKIHN0b3BfaHR0cGQKZGlmZiAtLWdpdCBhL3QvdDU1NTEtaHR0cC1mZXRjaC1zbWFydC5zaCBiL3QvdDU1NTEtaHR0cC1mZXRjaC1zbWFydC5zaAppbmRleCAyZjM3NWViLi4xZWM1YjI3IDEwMDc1NQotLS0gYS90L3Q1NTUxLWh0dHAtZmV0Y2gtc21hcnQuc2gKKysrIGIvdC90NTU1MS1odHRwLWZldGNoLXNtYXJ0LnNoCkBAIC00MywxMiArNDMsMjEgQEAKIDwgQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LWdpdC11cGxvYWQtcGFjay1yZXN1bHQKIEVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgaHR0cCByZXBvc2l0b3J5JyAnCi0JR0lUX0NVUkxfVkVSQk9TRT0xIGdpdCBjbG9uZSAtLXF1aWV0ICRIVFRQRF9VUkwvc21hcnQvcmVwby5naXQgY2xvbmUgMj5lcnIgJiYKKwlHSVRfVFJBQ0VfQ1VSTD10cnVlIGdpdCBjbG9uZSAtLXF1aWV0ICRIVFRQRF9VUkwvc21hcnQvcmVwby5naXQgY2xvbmUgMj5lcnIgJiYKIAl0ZXN0X2NtcCBmaWxlIGNsb25lL2ZpbGUgJiYKIAl0ciAnXCcnXDAxNSdcJycgUSA8ZXJyIHwKIAlzZWQgLWUgIgogCQlzL1FcJC8vCiAJCS9eWypdIC9kCisJCS9ePT0gSW5mbzovZAorCQkvXj0+IFNlbmQgaGVhZGVyLCAvZAorCQkvXj0+IFNlbmQgaGVhZGVyOiQvZAorCQkvXjw9IFJlY3YgaGVhZGVyLCAvZAorCQkvXjw9IFJlY3YgaGVhZGVyOiQvZAorCQlzLz0+IFNlbmQgaGVhZGVyOiAvLworCQlzLz0gUmVjdiBoZWFkZXI6Ly8KKwkJL148PSBSZWN2IGRhdGEvZAorCQkvXj0+IFNlbmQgZGF0YS9kCiAJCS9eJC9kCiAJCS9ePCAkL2QKIApAQCAtMjYxLDkgKzI3MCw5IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xhcmdlIGZldGNoLXBhY2sgcmVxdWVzdHMgY2FuIGJlIHNwbGl0IGFjcm9zcyBQT1NUcycgJwotCUdJVF9DVVJMX1ZFUkJPU0U9MSBnaXQgLWMgaHR0cC5wb3N0YnVmZmVyPTY1NTM2IFwKKwlHSVRfVFJBQ0VfQ1VSTD10cnVlIGdpdCAtYyBodHRwLnBvc3RidWZmZXI9NjU1MzYgXAogCQljbG9uZSAtLWJhcmUgIiRIVFRQRF9VUkwvc21hcnQvcmVwby5naXQiIHNwbGl0LmdpdCAyPmVyciAmJgotCWdyZXAgIl4+IFBPU1QiIGVyciA+cG9zdHMgJiYKKwlncmVwICJePT4gU2VuZCBoZWFkZXI6IFBPU1QiIGVyciA+cG9zdHMgJiYKIAl0ZXN0X2xpbmVfY291bnQgPSAyIHBvc3RzCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDU2MTMtaW5mby1hbHRlcm5hdGUuc2ggYi90L3Q1NjEzLWluZm8tYWx0ZXJuYXRlLnNoCmluZGV4IDljZDI2MjYuLjg5NWY0NmIgMTAwNzU1Ci0tLSBhL3QvdDU2MTMtaW5mby1hbHRlcm5hdGUuc2gKKysrIGIvdC90NTYxMy1pbmZvLWFsdGVybmF0ZS5zaApAQCAtNiwxMDcgKzYsMTM0IEBACiB0ZXN0X2Rlc2NyaXB0aW9uPSd0ZXN0IHRyYW5zaXRpdmUgaW5mby9hbHRlcm5hdGUgZW50cmllcycKIC4gLi90ZXN0LWxpYi5zaAogCi0jIHRlc3QgdGhhdCBhIGZpbGUgaXMgbm90IHJlYWNoYWJsZSBpbiB0aGUgY3VycmVudCByZXBvc2l0b3J5Ci0jIGJ1dCB0aGF0IGl0IGlzIGFmdGVyIGNyZWF0aW5nIGEgaW5mby9hbHRlcm5hdGUgZW50cnkKLXJlYWNoYWJsZV92aWEoKSB7Ci0JYWx0ZXJuYXRlPSIkMSIKLQlmaWxlPSIkMiIKLQlpZiBnaXQgY2F0LWZpbGUgLWUgIkhFQUQ6JGZpbGUiOyB0aGVuIHJldHVybiAxOyBmaQotCWVjaG8gIiRhbHRlcm5hdGUiID4+IC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZQotCWdpdCBjYXQtZmlsZSAtZSAiSEVBRDokZmlsZSIKLX0KLQotdGVzdF92YWxpZF9yZXBvKCkgewotCWdpdCBmc2NrIC0tZnVsbCA+IGZzY2subG9nICYmCi0JdGVzdF9saW5lX2NvdW50ID0gMCBmc2NrLmxvZwotfQotCi1iYXNlX2Rpcj0kKHB3ZCkKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAncHJlcGFyaW5nIGZpcnN0IHJlcG9zaXRvcnknIFwKLSd0ZXN0X2NyZWF0ZV9yZXBvIEEgJiYgY2QgQSAmJgotZWNobyAiSGVsbG8gV29ybGQiID4gZmlsZTEgJiYKLWdpdCBhZGQgZmlsZTEgJiYKLWdpdCBjb21taXQgLW0gIkluaXRpYWwgY29tbWl0IiBmaWxlMSAmJgotZ2l0IHJlcGFjayAtYSAtZCAmJgotZ2l0IHBydW5lJwotCi1jZCAiJGJhc2VfZGlyIgotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmVwYXJpbmcgc2Vjb25kIHJlcG9zaXRvcnknIFwKLSdnaXQgY2xvbmUgLWwgLXMgQSBCICYmIGNkIEIgJiYKLWVjaG8gImZvbyBiYXIiID4gZmlsZTIgJiYKLWdpdCBhZGQgZmlsZTIgJiYKLWdpdCBjb21taXQgLW0gIm5leHQgY29tbWl0IiBmaWxlMiAmJgotZ2l0IHJlcGFjayAtYSAtZCAtbCAmJgotZ2l0IHBydW5lJwotCi1jZCAiJGJhc2VfZGlyIgotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmVwYXJpbmcgdGhpcmQgcmVwb3NpdG9yeScgXAotJ2dpdCBjbG9uZSAtbCAtcyBCIEMgJiYgY2QgQyAmJgotZWNobyAiR29vZGJ5ZSwgY3J1ZWwgd29ybGQiID4gZmlsZTMgJiYKLWdpdCBhZGQgZmlsZTMgJiYKLWdpdCBjb21taXQgLW0gIm9uZSBtb3JlIiBmaWxlMyAmJgotZ2l0IHJlcGFjayAtYSAtZCAtbCAmJgotZ2l0IHBydW5lJwotCi1jZCAiJGJhc2VfZGlyIgotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGluZyB0b28gZGVlcCBuZXN0aW5nJyBcCi0nZ2l0IGNsb25lIC1sIC1zIEMgRCAmJgotZ2l0IGNsb25lIC1sIC1zIEQgRSAmJgotZ2l0IGNsb25lIC1sIC1zIEUgRiAmJgotZ2l0IGNsb25lIC1sIC1zIEYgRyAmJgotZ2l0IGNsb25lIC0tYmFyZSAtbCAtcyBHIEgnCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ludmFsaWRpdHkgb2YgZGVlcGVzdCByZXBvc2l0b3J5JyBcCi0nY2QgSCAmJiB7Ci0JdGVzdF92YWxpZF9yZXBvCi0JdGVzdCAkPyAtbmUgMAotfScKLQotY2QgIiRiYXNlX2RpciIKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAndmFsaWRpdHkgb2YgdGhpcmQgcmVwb3NpdG9yeScgXAotJ2NkIEMgJiYKLXRlc3RfdmFsaWRfcmVwbycKLQotY2QgIiRiYXNlX2RpciIKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAndmFsaWRpdHkgb2YgZm91cnRoIHJlcG9zaXRvcnknIFwKLSdjZCBEICYmCi10ZXN0X3ZhbGlkX3JlcG8nCi0KLWNkICIkYmFzZV9kaXIiCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JyZWFraW5nIG9mIGxvb3BzJyBcCi0nZWNobyAiJGJhc2VfZGlyIi9CLy5naXQvb2JqZWN0cyA+PiAiJGJhc2VfZGlyIi9BLy5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMmJgotY2QgQyAmJgotdGVzdF92YWxpZF9yZXBvJwotCi1jZCAiJGJhc2VfZGlyIgotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICd0aGF0IGluZm8vYWx0ZXJuYXRlcyBpcyBuZWNlc3NhcnknIFwKLSdjZCBDICYmCi1ybSAtZiAuZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzICYmCi0hICh0ZXN0X3ZhbGlkX3JlcG8pJwotCi1jZCAiJGJhc2VfZGlyIgotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICd0aGF0IHJlbGF0aXZlIGFsdGVybmF0ZSBpcyBwb3NzaWJsZSBmb3IgY3VycmVudCBkaXInIFwKLSdjZCBDICYmCi1lY2hvICIuLi8uLi8uLi9CLy5naXQvb2JqZWN0cyIgPiAuZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzICYmCi10ZXN0X3ZhbGlkX3JlcG8nCi0KLWNkICIkYmFzZV9kaXIiCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotICAgICd0aGF0IHJlbGF0aXZlIGFsdGVybmF0ZSBpcyBvbmx5IHBvc3NpYmxlIGZvciBjdXJyZW50IGRpcicgJwotICAgIGNkIEQgJiYKLSAgICAhICh0ZXN0X3ZhbGlkX3JlcG8pCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmVwYXJpbmcgZmlyc3QgcmVwb3NpdG9yeScgJworCXRlc3RfY3JlYXRlX3JlcG8gQSAmJiAoCisJCWNkIEEgJiYKKwkJZWNobyAiSGVsbG8gV29ybGQiID4gZmlsZTEgJiYKKwkJZ2l0IGFkZCBmaWxlMSAmJgorCQlnaXQgY29tbWl0IC1tICJJbml0aWFsIGNvbW1pdCIgZmlsZTEgJiYKKwkJZ2l0IHJlcGFjayAtYSAtZCAmJgorCQlnaXQgcHJ1bmUKKwkpCiAnCiAKLWNkICIkYmFzZV9kaXIiCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmVwYXJpbmcgc2Vjb25kIHJlcG9zaXRvcnknICcKKwlnaXQgY2xvbmUgLWwgLXMgQSBCICYmICgKKwkJY2QgQiAmJgorCQllY2hvICJmb28gYmFyIiA+IGZpbGUyICYmCisJCWdpdCBhZGQgZmlsZTIgJiYKKwkJZ2l0IGNvbW1pdCAtbSAibmV4dCBjb21taXQiIGZpbGUyICYmCisJCWdpdCByZXBhY2sgLWEgLWQgLWwgJiYKKwkJZ2l0IHBydW5lCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmVwYXJpbmcgdGhpcmQgcmVwb3NpdG9yeScgJworCWdpdCBjbG9uZSAtbCAtcyBCIEMgJiYgKAorCQljZCBDICYmCisJCWVjaG8gIkdvb2RieWUsIGNydWVsIHdvcmxkIiA+IGZpbGUzICYmCisJCWdpdCBhZGQgZmlsZTMgJiYKKwkJZ2l0IGNvbW1pdCAtbSAib25lIG1vcmUiIGZpbGUzICYmCisJCWdpdCByZXBhY2sgLWEgLWQgLWwgJiYKKwkJZ2l0IHBydW5lCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3VudC1vYmplY3RzIHNob3dzIHRoZSBhbHRlcm5hdGVzJyAnCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJYWx0ZXJuYXRlOiAkKHB3ZCkvQi8uZ2l0L29iamVjdHMKKwlhbHRlcm5hdGU6ICQocHdkKS9BLy5naXQvb2JqZWN0cworCUVPRgorCWdpdCAtQyBDIGNvdW50LW9iamVjdHMgLXYgPmFjdHVhbCAmJgorCWdyZXAgXmFsdGVybmF0ZTogYWN0dWFsID5hY3R1YWwuYWx0ZXJuYXRlcyAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwuYWx0ZXJuYXRlcworJworCisjIE5vdGU6IFRoZXNlIHRlc3RzIGRlcGVuZCBvbiB0aGUgaGFyZC1jb2RlZCB2YWx1ZSBvZiA1IGFzIHRoZSBtYXhpbXVtIGRlcHRoCisjIHdlIHdpbGwgZm9sbG93IHJlY3Vyc2lvbi4gV2Ugc3RhcnQgdGhlIGRlcHRoIGF0IDAgYW5kIGNvdW50IGxpbmtzLCBub3QKKyMgcmVwb3NpdG9yaWVzLiBUaGlzIG1lYW5zIHRoYXQgaW4gYSBjaGFpbiBsaWtlOgorIworIyAgIEEgLS0+IEIgLS0+IEMgLS0+IEQgLS0+IEUgLS0+IEYgLS0+IEcgLS0+IEgKKyMgICAgICAwICAgICAxICAgICAyICAgICAzICAgICA0ICAgICA1ICAgICA2CisjCisjIHdlIGFyZSBPSyBhdCAiRyIsIGJ1dCBicmVhayBhdCAiSCIsIGV2ZW4gdGhvdWdoICJIIiBpcyBhY3R1YWxseSB0aGUgOHRoCisjIHJlcG9zaXRvcnksIG5vdCB0aGUgNnRoLCB3aGljaCB5b3UgbWlnaHQgZXhwZWN0LiBDb3VudGluZyB0aGUgbGlua3MgYWxsb3dzCisjIE4rMSByZXBvc2l0b3JpZXMsIGFuZCBjb3VudGluZyBmcm9tIDAgdG8gNSBpbmNsdXNpdmUgYWxsb3dzIDYgbGlua3MuCisjCisjIE5vdGUgYWxzbyB0aGF0IHdlIG11c3QgdXNlICItLWJhcmUgLWwiIHRvIG1ha2UgdGhlIGxpbmsgdG8gSC4gVGhlICItbCIKKyMgZW5zdXJlcyB3ZSBkbyBub3QgZG8gYSBjb25uZWN0aXZpdHkgY2hlY2ssIGFuZCB0aGUgIi0tYmFyZSIgbWFrZXMgc3VyZQorIyB3ZSBkbyBub3QgdHJ5IHRvIGNoZWNrb3V0IHRoZSByZXN1bHQgKHdoaWNoIG5lZWRzIG9iamVjdHMpLCBlaXRoZXIgb2YKKyMgd2hpY2ggd291bGQgY2F1c2UgdGhlIGNsb25lIHRvIGZhaWwuCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGluZyB0b28gZGVlcCBuZXN0aW5nJyAnCisJZ2l0IGNsb25lIC1sIC1zIEMgRCAmJgorCWdpdCBjbG9uZSAtbCAtcyBEIEUgJiYKKwlnaXQgY2xvbmUgLWwgLXMgRSBGICYmCisJZ2l0IGNsb25lIC1sIC1zIEYgRyAmJgorCWdpdCBjbG9uZSAtLWJhcmUgLWwgLXMgRyBICisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZhbGlkaXR5IG9mIHNldmVudGggcmVwb3NpdG9yeScgJworCWdpdCAtQyBHIGZzY2sKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW52YWxpZGl0eSBvZiBlaWdodGggcmVwb3NpdG9yeScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBIIGZzY2sKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYnJlYWtpbmcgb2YgbG9vcHMnICcKKwllY2hvICIkKHB3ZCkiL0IvLmdpdC9vYmplY3RzID4+QS8uZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzICYmCisJZ2l0IC1DIEMgZnNjaworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0aGF0IGluZm8vYWx0ZXJuYXRlcyBpcyBuZWNlc3NhcnknICcKKwlybSAtZiBDLy5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgQyBmc2NrCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RoYXQgcmVsYXRpdmUgYWx0ZXJuYXRlIGlzIHBvc3NpYmxlIGZvciBjdXJyZW50IGRpcicgJworCWVjaG8gIi4uLy4uLy4uL0IvLmdpdC9vYmplY3RzIiA+Qy8uZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzICYmCisJZ2l0IGZzY2sKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGhhdCByZWxhdGl2ZSBhbHRlcm5hdGUgaXMgcmVjdXJzaXZlJyAnCisJZ2l0IC1DIEQgZnNjaworJworCisjIHdlIGNhbiByZWFjaCAiQSIgZnJvbSBvdXIgbmV3IHJlcG8gYm90aCBkaXJlY3RseSwgYW5kIHZpYSAiQyIuCisjIFRoZSBkZWVwL3N1YmRpciBpcyB0aGVyZSB0byBtYWtlIHN1cmUgd2UgYXJlIG5vdCBkb2luZyBhIHN0dXBpZAorIyBwdXJlLXRleHQgY29tcGFyaXNvbiBvZiB0aGUgYWx0ZXJuYXRlIG5hbWVzLgordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVsYXRpdmUgZHVwbGljYXRlcyBhcmUgZWxpbWluYXRlZCcgJworCW1rZGlyIC1wIGRlZXAvc3ViZGlyICYmCisJZ2l0IGluaXQgLS1iYXJlIGRlZXAvc3ViZGlyL2R1cGxpY2F0ZS5naXQgJiYKKwljYXQgPmRlZXAvc3ViZGlyL2R1cGxpY2F0ZS5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMgPDwtXEVPRiAmJgorCS4uLy4uLy4uLy4uL0MvLmdpdC9vYmplY3RzCisJLi4vLi4vLi4vLi4vQS8uZ2l0L29iamVjdHMKKwlFT0YKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwlhbHRlcm5hdGU6ICQocHdkKS9DLy5naXQvb2JqZWN0cworCWFsdGVybmF0ZTogJChwd2QpL0IvLmdpdC9vYmplY3RzCisJYWx0ZXJuYXRlOiAkKHB3ZCkvQS8uZ2l0L29iamVjdHMKKwlFT0YKKwlnaXQgLUMgZGVlcC9zdWJkaXIvZHVwbGljYXRlLmdpdCBjb3VudC1vYmplY3RzIC12ID5hY3R1YWwgJiYKKwlncmVwIF5hbHRlcm5hdGU6IGFjdHVhbCA+YWN0dWFsLmFsdGVybmF0ZXMgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsLmFsdGVybmF0ZXMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBDQVNFX0lOU0VOU0lUSVZFX0ZTICdkdXAgZmluZGluZyBjYW4gYmUgY2FzZS1pbnNlbnNpdGl2ZScgJworCWdpdCBpbml0IC0tYmFyZSBpbnNlbnNpdGl2ZS5naXQgJiYKKwkjIHRoZSBwcmV2aW91cyBlbnRyeSBmb3IgIkEiIHdpbGwgaGF2ZSB1c2VkIHVwcGVyY2FzZQorCWNhdCA+aW5zZW5zaXRpdmUuZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzIDw8LVxFT0YgJiYKKwkuLi8uLi9DLy5naXQvb2JqZWN0cworCS4uLy4uL2EvLmdpdC9vYmplY3RzCisJRU9GCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJYWx0ZXJuYXRlOiAkKHB3ZCkvQy8uZ2l0L29iamVjdHMKKwlhbHRlcm5hdGU6ICQocHdkKS9CLy5naXQvb2JqZWN0cworCWFsdGVybmF0ZTogJChwd2QpL0EvLmdpdC9vYmplY3RzCisJRU9GCisJZ2l0IC1DIGluc2Vuc2l0aXZlLmdpdCBjb3VudC1vYmplY3RzIC12ID5hY3R1YWwgJiYKKwlncmVwIF5hbHRlcm5hdGU6IGFjdHVhbCA+YWN0dWFsLmFsdGVybmF0ZXMgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsLmFsdGVybmF0ZXMKKycKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NjE0LWNsb25lLXN1Ym1vZHVsZXMuc2ggYi90L3Q1NjE0LWNsb25lLXN1Ym1vZHVsZXMuc2gKaW5kZXggNjIwNDRjNS4uYTg3ZDMyOSAxMDA3NTUKLS0tIGEvdC90NTYxNC1jbG9uZS1zdWJtb2R1bGVzLnNoCisrKyBiL3QvdDU2MTQtY2xvbmUtc3VibW9kdWxlcy5zaApAQCAtMjUsNDAgKzI1LDc0IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdub25zaGFsbG93IGNsb25lIGltcGxpZXMgbm9uc2hhbGxvdyBzdWJtb2R1bGUnICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBzdXBlcl9jbG9uZSIgJiYKIAlnaXQgY2xvbmUgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgImZpbGU6Ly8kcHdkLy4iIHN1cGVyX2Nsb25lICYmCi0JKAotCQljZCBzdXBlcl9jbG9uZSAmJgotCQlnaXQgbG9nIC0tb25lbGluZSA+bGluZXMgJiYKLQkJdGVzdF9saW5lX2NvdW50ID0gMyBsaW5lcwotCSkgJiYKLQkoCi0JCWNkIHN1cGVyX2Nsb25lL3N1YiAmJgotCQlnaXQgbG9nIC0tb25lbGluZSA+bGluZXMgJiYKLQkJdGVzdF9saW5lX2NvdW50ID0gMyBsaW5lcwotCSkKKwlnaXQgLUMgc3VwZXJfY2xvbmUgbG9nIC0tb25lbGluZSA+bGluZXMgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAzIGxpbmVzICYmCisJZ2l0IC1DIHN1cGVyX2Nsb25lL3N1YiBsb2cgLS1vbmVsaW5lID5saW5lcyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDMgbGluZXMKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hhbGxvdyBjbG9uZSBpbXBsaWVzIHNoYWxsb3cgc3VibW9kdWxlJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaGFsbG93IGNsb25lIHdpdGggc2hhbGxvdyBzdWJtb2R1bGUnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBzdXBlcl9jbG9uZSIgJiYKKwlnaXQgY2xvbmUgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgLS1kZXB0aCAyIC0tc2hhbGxvdy1zdWJtb2R1bGVzICJmaWxlOi8vJHB3ZC8uIiBzdXBlcl9jbG9uZSAmJgorCWdpdCAtQyBzdXBlcl9jbG9uZSBsb2cgLS1vbmVsaW5lID5saW5lcyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDIgbGluZXMgJiYKKwlnaXQgLUMgc3VwZXJfY2xvbmUvc3ViIGxvZyAtLW9uZWxpbmUgPmxpbmVzICYmCisJdGVzdF9saW5lX2NvdW50ID0gMSBsaW5lcworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaGFsbG93IGNsb25lIGRvZXMgbm90IGltcGx5IHNoYWxsb3cgc3VibW9kdWxlJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc3VwZXJfY2xvbmUiICYmCiAJZ2l0IGNsb25lIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC0tZGVwdGggMiAiZmlsZTovLyRwd2QvLiIgc3VwZXJfY2xvbmUgJiYKLQkoCi0JCWNkIHN1cGVyX2Nsb25lICYmCi0JCWdpdCBsb2cgLS1vbmVsaW5lID5saW5lcyAmJgotCQl0ZXN0X2xpbmVfY291bnQgPSAyIGxpbmVzCi0JKSAmJgotCSgKLQkJY2Qgc3VwZXJfY2xvbmUvc3ViICYmCi0JCWdpdCBsb2cgLS1vbmVsaW5lID5saW5lcyAmJgotCQl0ZXN0X2xpbmVfY291bnQgPSAxIGxpbmVzCi0JKQorCWdpdCAtQyBzdXBlcl9jbG9uZSBsb2cgLS1vbmVsaW5lID5saW5lcyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDIgbGluZXMgJiYKKwlnaXQgLUMgc3VwZXJfY2xvbmUvc3ViIGxvZyAtLW9uZWxpbmUgPmxpbmVzICYmCisJdGVzdF9saW5lX2NvdW50ID0gMyBsaW5lcwogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaGFsbG93IGNsb25lIHdpdGggbm9uIHNoYWxsb3cgc3VibW9kdWxlJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc3VwZXJfY2xvbmUiICYmCiAJZ2l0IGNsb25lIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC0tZGVwdGggMiAtLW5vLXNoYWxsb3ctc3VibW9kdWxlcyAiZmlsZTovLyRwd2QvLiIgc3VwZXJfY2xvbmUgJiYKKwlnaXQgLUMgc3VwZXJfY2xvbmUgbG9nIC0tb25lbGluZSA+bGluZXMgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAyIGxpbmVzICYmCisJZ2l0IC1DIHN1cGVyX2Nsb25lL3N1YiBsb2cgLS1vbmVsaW5lID5saW5lcyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDMgbGluZXMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm9uIHNoYWxsb3cgY2xvbmUgd2l0aCBzaGFsbG93IHN1Ym1vZHVsZScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIHN1cGVyX2Nsb25lIiAmJgorCWdpdCBjbG9uZSAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtLW5vLWxvY2FsIC0tc2hhbGxvdy1zdWJtb2R1bGVzICJmaWxlOi8vJHB3ZC8uIiBzdXBlcl9jbG9uZSAmJgorCWdpdCAtQyBzdXBlcl9jbG9uZSBsb2cgLS1vbmVsaW5lID5saW5lcyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDMgbGluZXMgJiYKKwlnaXQgLUMgc3VwZXJfY2xvbmUvc3ViIGxvZyAtLW9uZWxpbmUgPmxpbmVzICYmCisJdGVzdF9saW5lX2NvdW50ID0gMSBsaW5lcworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSBmb2xsb3dzIHNoYWxsb3cgcmVjb21tZW5kYXRpb24nICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBzdXBlcl9jbG9uZSIgJiYKKwlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIuc2hhbGxvdyB0cnVlICYmCisJZ2l0IGFkZCAuZ2l0bW9kdWxlcyAmJgorCWdpdCBjb21taXQgLW0gInJlY29tbWVkIHNoYWxsb3cgZm9yIHN1YiIgJiYKKwlnaXQgY2xvbmUgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgLS1uby1sb2NhbCAiZmlsZTovLyRwd2QvLiIgc3VwZXJfY2xvbmUgJiYKIAkoCiAJCWNkIHN1cGVyX2Nsb25lICYmCiAJCWdpdCBsb2cgLS1vbmVsaW5lID5saW5lcyAmJgotCQl0ZXN0X2xpbmVfY291bnQgPSAyIGxpbmVzCisJCXRlc3RfbGluZV9jb3VudCA9IDQgbGluZXMKKwkpICYmCisJKAorCQljZCBzdXBlcl9jbG9uZS9zdWIgJiYKKwkJZ2l0IGxvZyAtLW9uZWxpbmUgPmxpbmVzICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDEgbGluZXMKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dldCB1bnNoYWxsb3cgcmVjb21tZW5kZWQgc2hhbGxvdyBzdWJtb2R1bGUnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBzdXBlcl9jbG9uZSIgJiYKKwlnaXQgY2xvbmUgLS1uby1sb2NhbCAiZmlsZTovLyRwd2QvLiIgc3VwZXJfY2xvbmUgJiYKKwkoCisJCWNkIHN1cGVyX2Nsb25lICYmCisJCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC0taW5pdCAtLW5vLXJlY29tbWVuZC1zaGFsbG93ICYmCisJCWdpdCBsb2cgLS1vbmVsaW5lID5saW5lcyAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSA0IGxpbmVzCiAJKSAmJgogCSgKIAkJY2Qgc3VwZXJfY2xvbmUvc3ViICYmCkBAIC02NywxOCArMTAxLDIxIEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdub24gc2hhbGxvdyBjbG9uZSB3aXRoIHNoYWxsb3cgc3VibW9kdWxlJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSBmb2xsb3dzIG5vbiBzaGFsbG93IHJlY29tbWVuZGF0aW9uJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc3VwZXJfY2xvbmUiICYmCi0JZ2l0IGNsb25lIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC0tbm8tbG9jYWwgLS1zaGFsbG93LXN1Ym1vZHVsZXMgImZpbGU6Ly8kcHdkLy4iIHN1cGVyX2Nsb25lICYmCisJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3ViLnNoYWxsb3cgZmFsc2UgJiYKKwlnaXQgYWRkIC5naXRtb2R1bGVzICYmCisJZ2l0IGNvbW1pdCAtbSAicmVjb21tZWQgbm9uIHNoYWxsb3cgZm9yIHN1YiIgJiYKKwlnaXQgY2xvbmUgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgLS1uby1sb2NhbCAiZmlsZTovLyRwd2QvLiIgc3VwZXJfY2xvbmUgJiYKIAkoCiAJCWNkIHN1cGVyX2Nsb25lICYmCiAJCWdpdCBsb2cgLS1vbmVsaW5lID5saW5lcyAmJgotCQl0ZXN0X2xpbmVfY291bnQgPSAzIGxpbmVzCisJCXRlc3RfbGluZV9jb3VudCA9IDUgbGluZXMKIAkpICYmCiAJKAogCQljZCBzdXBlcl9jbG9uZS9zdWIgJiYKIAkJZ2l0IGxvZyAtLW9uZWxpbmUgPmxpbmVzICYmCi0JCXRlc3RfbGluZV9jb3VudCA9IDEgbGluZXMKKwkJdGVzdF9saW5lX2NvdW50ID0gMyBsaW5lcwogCSkKICcKIApkaWZmIC0tZ2l0IGEvdC90NTYxNS1hbHRlcm5hdGUtZW52LnNoIGIvdC90NTYxNS1hbHRlcm5hdGUtZW52LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVlYzQxMzcKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q1NjE1LWFsdGVybmF0ZS1lbnYuc2gKQEAgLTAsMCArMSw3MSBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J2hhbmRsaW5nIG9mIGFsdGVybmF0ZXMgaW4gZW52aXJvbm1lbnQgdmFyaWFibGVzJworLiAuL3Rlc3QtbGliLnNoCisKK2NoZWNrX29iaiAoKSB7CisJYWx0PSQxOyBzaGlmdAorCXdoaWxlIHJlYWQgb2JqIGV4cGVjdAorCWRvCisJCWVjaG8gIiRvYmoiID4mMyAmJgorCQllY2hvICIkb2JqICRleHBlY3QiID4mNAorCWRvbmUgMz5pbnB1dCA0PmV4cGVjdCAmJgorCUdJVF9BTFRFUk5BVEVfT0JKRUNUX0RJUkVDVE9SSUVTPSRhbHQgXAorCQlnaXQgIiRAIiBjYXQtZmlsZSAtLWJhdGNoLWNoZWNrPSclKG9iamVjdG5hbWUpICUob2JqZWN0dHlwZSknIFwKKwkJPGlucHV0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSBhbHRlcm5hdGUgcmVwb3NpdG9yaWVzJyAnCisJZ2l0IGluaXQgLS1iYXJlIG9uZS5naXQgJiYKKwlvbmU9JChlY2hvIG9uZSB8IGdpdCAtQyBvbmUuZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4pICYmCisJZ2l0IGluaXQgLS1iYXJlIHR3by5naXQgJiYKKwl0d289JChlY2hvIHR3byB8IGdpdCAtQyB0d28uZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4pCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ29iamVjdHMgaW5hY2Nlc3NpYmxlIHdpdGhvdXQgYWx0ZXJuYXRlcycgJworCWNoZWNrX29iaiAiIiA8PC1FT0YKKwkkb25lIG1pc3NpbmcKKwkkdHdvIG1pc3NpbmcKKwlFT0YKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWNjZXNzIGFsdGVybmF0ZSB2aWEgYWJzb2x1dGUgcGF0aCcgJworCWNoZWNrX29iaiAiJFBXRC9vbmUuZ2l0L29iamVjdHMiIDw8LUVPRgorCSRvbmUgYmxvYgorCSR0d28gbWlzc2luZworCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhY2Nlc3MgbXVsdGlwbGUgYWx0ZXJuYXRlcycgJworCWNoZWNrX29iaiAiJFBXRC9vbmUuZ2l0L29iamVjdHM6JFBXRC90d28uZ2l0L29iamVjdHMiIDw8LUVPRgorCSRvbmUgYmxvYgorCSR0d28gYmxvYgorCUVPRgorJworCisjIGJhcmUgcGF0aHMgYXJlIHJlbGF0aXZlIGZyb20gJEdJVF9ESVIKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FjY2VzcyBhbHRlcm5hdGUgdmlhIHJlbGF0aXZlIHBhdGggKGJhcmUpJyAnCisJZ2l0IGluaXQgLS1iYXJlIGJhcmUuZ2l0ICYmCisJY2hlY2tfb2JqICIuLi9vbmUuZ2l0L29iamVjdHMiIC1DIGJhcmUuZ2l0IDw8LUVPRgorCSRvbmUgYmxvYgorCUVPRgorJworCisjIG5vbi1iYXJlIHBhdGhzIGFyZSByZWxhdGl2ZSB0byB0b3Agb2Ygd29ya3RyZWUKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FjY2VzcyBhbHRlcm5hdGUgdmlhIHJlbGF0aXZlIHBhdGggKHdvcmt0cmVlKScgJworCWdpdCBpbml0IHdvcmt0cmVlICYmCisJY2hlY2tfb2JqICIuLi9vbmUuZ2l0L29iamVjdHMiIC1DIHdvcmt0cmVlIDw8LUVPRgorCSRvbmUgYmxvYgorCUVPRgorJworCisjIHBhdGggaXMgY29tcHV0ZWQgYWZ0ZXIgbW92aW5nIHRvIHRvcC1sZXZlbCBvZiB3b3JrdHJlZQordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWNjZXNzIGFsdGVybmF0ZSB2aWEgcmVsYXRpdmUgcGF0aCAoc3ViZGlyKScgJworCW1rZGlyIHN1YmRpciAmJgorCWNoZWNrX29iaiAib25lLmdpdC9vYmplY3RzIiAtQyBzdWJkaXIgPDwtRU9GCisJJG9uZSBibG9iCisJRU9GCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NjAwMC1yZXYtbGlzdC1taXNjLnNoIGIvdC90NjAwMC1yZXYtbGlzdC1taXNjLnNoCmluZGV4IDNlNzUyY2UuLjk2OWU0ZTkgMTAwNzU1Ci0tLSBhL3QvdDYwMDAtcmV2LWxpc3QtbWlzYy5zaAorKysgYi90L3Q2MDAwLXJldi1saXN0LW1pc2Muc2gKQEAgLTEwMCw0ICsxMDAsMTggQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LWxpc3QgLS1iaXNlY3QgLS1maXJzdC1wYXJlbnQgSEVBRAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLWhlYWRlciBzaG93cyBhIE5VTCBhZnRlciBlYWNoIGNvbW1pdCcgJworCSMgV2Uga25vdyB0aGF0IHRoZXJlIGlzIG5vIFEgaW4gdGhlIHRydWUgcGF5bG9hZDsgbmFtZXMgYW5kCisJIyBhZGRyZXNzZXMgb2YgdGhlIGF1dGhvcnMgYW5kIHRoZSBjb21taXR0ZXJzIGRvIG5vdCBoYXZlCisJIyBhbnksIGFuZCBvYmplY3QgbmFtZXMgb3IgaGVhZGVyIG5hbWVzIGRvIG5vdCwgZWl0aGVyLgorCWdpdCByZXYtbGlzdCAtLWhlYWRlciAtLW1heC1jb3VudD0yIEhFQUQgfAorCW51bF90b19xIHwKKwlncmVwICJeUSIgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCVEkKGdpdCByZXYtcGFyc2UgSEVBRH4xKQorCVEKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NjAwNi1yZXYtbGlzdC1mb3JtYXQuc2ggYi90L3Q2MDA2LXJldi1saXN0LWZvcm1hdC5zaAppbmRleCBiNzdkNGM5Li5hMWRjZGI4IDEwMDc1NQotLS0gYS90L3Q2MDA2LXJldi1saXN0LWZvcm1hdC5zaAorKysgYi90L3Q2MDA2LXJldi1saXN0LWZvcm1hdC5zaApAQCAtMTg0LDM4ICsxODQsMzggQEAKIBtbMTszMTs0M21mb28bW20KIEVPRgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICclQyhhdXRvKSBkb2VzIG5vdCBlbmFibGUgY29sb3IgYnkgZGVmYXVsdCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnJUMoYXV0bywuLi4pIGRvZXMgbm90IGVuYWJsZSBjb2xvciBieSBkZWZhdWx0JyAnCiAJZ2l0IGxvZyAtLWZvcm1hdD0kQVVUT19DT0xPUiAtMSA+YWN0dWFsICYmCiAJaGFzX25vX2NvbG9yIGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICclQyhhdXRvKSBlbmFibGVzIGNvbG9ycyBmb3IgY29sb3IuZGlmZicgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnJUMoYXV0bywuLi4pIGVuYWJsZXMgY29sb3JzIGZvciBjb2xvci5kaWZmJyAnCiAJZ2l0IC1jIGNvbG9yLmRpZmY9YWx3YXlzIGxvZyAtLWZvcm1hdD0kQVVUT19DT0xPUiAtMSA+YWN0dWFsICYmCiAJaGFzX2NvbG9yIGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICclQyhhdXRvKSBlbmFibGVzIGNvbG9ycyBmb3IgY29sb3IudWknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyVDKGF1dG8sLi4uKSBlbmFibGVzIGNvbG9ycyBmb3IgY29sb3IudWknICcKIAlnaXQgLWMgY29sb3IudWk9YWx3YXlzIGxvZyAtLWZvcm1hdD0kQVVUT19DT0xPUiAtMSA+YWN0dWFsICYmCiAJaGFzX2NvbG9yIGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICclQyhhdXRvKSByZXNwZWN0cyAtLWNvbG9yJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICclQyhhdXRvLC4uLikgcmVzcGVjdHMgLS1jb2xvcicgJwogCWdpdCBsb2cgLS1mb3JtYXQ9JEFVVE9fQ09MT1IgLTEgLS1jb2xvciA+YWN0dWFsICYmCiAJaGFzX2NvbG9yIGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICclQyhhdXRvKSByZXNwZWN0cyAtLW5vLWNvbG9yJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICclQyhhdXRvLC4uLikgcmVzcGVjdHMgLS1uby1jb2xvcicgJwogCWdpdCAtYyBjb2xvci51aT1hbHdheXMgbG9nIC0tZm9ybWF0PSRBVVRPX0NPTE9SIC0xIC0tbm8tY29sb3IgPmFjdHVhbCAmJgogCWhhc19ub19jb2xvciBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBUVFkgJyVDKGF1dG8pIHJlc3BlY3RzIC0tY29sb3I9YXV0byAoc3Rkb3V0IGlzIHR0eSknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgVFRZICclQyhhdXRvLC4uLikgcmVzcGVjdHMgLS1jb2xvcj1hdXRvIChzdGRvdXQgaXMgdHR5KScgJwogCXRlc3RfdGVybWluYWwgZW52IFRFUk09dnQxMDAgXAogCQlnaXQgbG9nIC0tZm9ybWF0PSRBVVRPX0NPTE9SIC0xIC0tY29sb3I9YXV0byA+YWN0dWFsICYmCiAJaGFzX2NvbG9yIGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICclQyhhdXRvKSByZXNwZWN0cyAtLWNvbG9yPWF1dG8gKHN0ZG91dCBub3QgdHR5KScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnJUMoYXV0bywuLi4pIHJlc3BlY3RzIC0tY29sb3I9YXV0byAoc3Rkb3V0IG5vdCB0dHkpJyAnCiAJKAogCQlURVJNPXZ0MTAwICYmIGV4cG9ydCBURVJNICYmCiAJCWdpdCBsb2cgLS1mb3JtYXQ9JEFVVE9fQ09MT1IgLTEgLS1jb2xvcj1hdXRvID5hY3R1YWwgJiYKQEAgLTIyMyw2ICsyMjMsMTggQEAKIAkpCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyVDKGF1dG8pIHJlc3BlY3RzIC0tY29sb3InICcKKwlnaXQgbG9nIC0tY29sb3IgLS1mb3JtYXQ9IiVDKGF1dG8pJUgiIC0xID5hY3R1YWwgJiYKKwlwcmludGYgIlxcMDMzWzMzbSVzXFwwMzNbbVxcbiIgJChnaXQgcmV2LXBhcnNlIEhFQUQpID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyVDKGF1dG8pIHJlc3BlY3RzIC0tbm8tY29sb3InICcKKwlnaXQgbG9nIC0tbm8tY29sb3IgLS1mb3JtYXQ9IiVDKGF1dG8pJUgiIC0xID5hY3R1YWwgJiYKKwlnaXQgcmV2LXBhcnNlIEhFQUQgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogaWNvbnYgLWYgdXRmLTggLXQgJHRlc3RfZW5jb2RpbmcgPiBjb21taXQtbXNnIDw8RU9GCiBUZXN0IHByaW50aW5nIG9mIGNvbXBsZXggYm9kaWVzCiAKZGlmZiAtLWdpdCBhL3QvdDYwMDctcmV2LWxpc3QtY2hlcnJ5LXBpY2stZmlsZS5zaCBiL3QvdDYwMDctcmV2LWxpc3QtY2hlcnJ5LXBpY2stZmlsZS5zaAppbmRleCAyOGQ0ZjZiLi4xNDA4YjYwIDEwMDc1NQotLS0gYS90L3Q2MDA3LXJldi1saXN0LWNoZXJyeS1waWNrLWZpbGUuc2gKKysrIGIvdC90NjAwNy1yZXYtbGlzdC1jaGVycnktcGljay1maWxlLnNoCkBAIC0yMDcsNCArMjA3LDI1IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCisjIENvcnJ1cHQgdGhlIG9iamVjdCBzdG9yZSBkZWxpYmVyYXRlbHkgdG8gbWFrZSBzdXJlCisjIHRoZSBvYmplY3QgaXMgbm90IGV2ZW4gY2hlY2tlZCBmb3IgaXRzIGV4aXN0ZW5jZS4KK3JlbW92ZV9sb29zZV9vYmplY3QgKCkgeworCXNoYTE9IiQoZ2l0IHJldi1wYXJzZSAiJDEiKSIgJiYKKwlyZW1haW5kZXI9JHtzaGExIz8/fSAmJgorCWZpcnN0dHdvPSR7c2hhMSUkcmVtYWluZGVyfSAmJgorCXJtIC5naXQvb2JqZWN0cy8kZmlyc3R0d28vJHJlbWFpbmRlcgorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLWNoZXJyeS1waWNrIGF2b2lkcyBsb29raW5nIGF0IGZ1bGwgZGlmZnMnICcKKwlnaXQgY2hlY2tvdXQgLWIgc2h5LWRpZmYgJiYKKwl0ZXN0X2NvbW1pdCBkb250LWxvb2stYXQtbWUgJiYKKwllY2hvIEhlbGxvID5kb250LWxvb2stYXQtbWUudCAmJgorCXRlc3RfdGljayAmJgorCWdpdCBjb21taXQgLW0gdGlwIGRvbnQtbG9vay1hdC1tZS50ICYmCisJZ2l0IGNoZWNrb3V0IC1iIG1haW5saW5lIEhFQUReICYmCisJdGVzdF9jb21taXQgdG8tY2hlcnJ5LXBpY2sgJiYKKwlyZW1vdmVfbG9vc2Vfb2JqZWN0IHNoeS1kaWZmXjpkb250LWxvb2stYXQtbWUudCAmJgorCWdpdCByZXYtbGlzdCAtLWNoZXJyeS1waWNrIC4uLnNoeS1kaWZmCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NjAxMC1tZXJnZS1iYXNlLnNoIGIvdC90NjAxMC1tZXJnZS1iYXNlLnNoCmluZGV4IGUwYzVmNDQuLjMxZGI3YjUgMTAwNzU1Ci0tLSBhL3QvdDYwMTAtbWVyZ2UtYmFzZS5zaAorKysgYi90L3Q2MDEwLW1lcmdlLWJhc2Uuc2gKQEAgLTI2MCw2ICsyNjAsMTIgQEAKIAl0ZXN0X2NtcCBleHBlY3QzIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLWZvcmstcG9pbnQgd29ya3Mgd2l0aCBlbXB0eSByZWZsb2cnICcKKwlnaXQgLWMgY29yZS5sb2dhbGxyZWZ1cGRhdGVzPWZhbHNlIGJyYW5jaCBuby1yZWZsb2cgYmFzZSAmJgorCWdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCBuby1yZWZsb2cgZGVyaXZlZCAmJgorCXRlc3RfY21wIGV4cGVjdDMgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21lcmdlLWJhc2UgLS1vY3RvcHVzIC0tYWxsIGZvciBjb21wbGV4IHRyZWUnICcKIAkjIEJlc3QgY29tbW9uIGFuY2VzdG9yIGZvciBKRSwgSkFBIGFuZCBKREQgaXMgSkMKIAkjICAgICAgICAgICAgIEpFCmRpZmYgLS1naXQgYS90L3Q2MDE4LXJldi1saXN0LWdsb2Iuc2ggYi90L3Q2MDE4LXJldi1saXN0LWdsb2Iuc2gKaW5kZXggZDAwZjdkYi4uMzgxZjM1ZSAxMDA3NTUKLS0tIGEvdC90NjAxOC1yZXYtbGlzdC1nbG9iLnNoCisrKyBiL3QvdDYwMTgtcmV2LWxpc3QtZ2xvYi5zaApAQCAtMjU3LDcgKzI1Nyw3IEBACiAKIAogIyAiZ2l0IHJldi1saXN0PEVOVEVSPiIgaXMgbGlrZWx5IHRvIGJlIGEgYnVnIGluIHRoZSBjYWxsaW5nIHNjcmlwdCBhbmQgbWF5Ci0jIGRlc2VydmUgYW4gZXJyb3IgbWVzc2FnZSwgYnV0IGRvIGNhc2VzIHdoZXJlIHNldCBvZiByZWZzIHByb2dyYW1hdGljYWxseQorIyBkZXNlcnZlIGFuIGVycm9yIG1lc3NhZ2UsIGJ1dCBkbyBjYXNlcyB3aGVyZSBzZXQgb2YgcmVmcyBwcm9ncmFtbWF0aWNhbGx5CiAjIGdpdmVuIHVzaW5nIGdsb2JiaW5nIGFuZC9vciAtLXN0ZGluIG5lZWQgdG8gZmFpbCB3aXRoIHRoZSBzYW1lIGVycm9yLCBvcgogIyBhcmUgd2UgYmV0dGVyIG9mZiByZXBvcnRpbmcgYSBzdWNjZXNzIHdpdGggbm8gb3V0cHV0PyAgVGhlIGZvbGxvd2luZyBmZXcKICMgdGVzdHMgZG9jdW1lbnQgdGhlIGN1cnJlbnQgYmVoYXZpb3VyIHRvIHJlbWluZCB1cyB0aGF0IHdlIG1pZ2h0IHdhbnQgdG8KZGlmZiAtLWdpdCBhL3QvdDYwMjYtbWVyZ2UtYXR0ci5zaCBiL3QvdDYwMjYtbWVyZ2UtYXR0ci5zaAppbmRleCBlZjBjYmNlLi44ZjliNDhhIDEwMDc1NQotLS0gYS90L3Q2MDI2LW1lcmdlLWF0dHIuc2gKKysrIGIvdC90NjAyNi1tZXJnZS1hdHRyLnNoCkBAIC0xODEsNCArMTgxLDI3IEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjdXN0b20gbWVyZ2UgZG9lcyBub3QgbG9jayBpbmRleCcgJworCWdpdCByZXNldCAtLWhhcmQgYW5jaG9yICYmCisJd3JpdGVfc2NyaXB0IHNsZWVwLWFuLWhvdXIuc2ggPDwtXEVPRiAmJgorCQlzbGVlcCAzNjAwICYKKwkJZWNobyAkISA+c2xlZXAucGlkCisJRU9GCisKKwl0ZXN0X3dyaXRlX2xpbmVzID4uZ2l0YXR0cmlidXRlcyBcCisJCSIqIG1lcmdlPW91cnMiICJ0ZXh0IG1lcmdlPXNsZWVwLWFuLWhvdXIiICYmCisJdGVzdF9jb25maWcgbWVyZ2Uub3Vycy5kcml2ZXIgdHJ1ZSAmJgorCXRlc3RfY29uZmlnIG1lcmdlLnNsZWVwLWFuLWhvdXIuZHJpdmVyIC4vc2xlZXAtYW4taG91ci5zaCAmJgorCisJIyBXZSBhcmUgdGVzdGluZyB0aGF0IHRoZSBjdXN0b20gbWVyZ2UgZHJpdmVyIGRvZXMgbm90IGJsb2NrCisJIyBpbmRleC5sb2NrIG9uIFdpbmRvd3MgZHVlIHRvIGFuIGluaGVyaXRlZCBmaWxlIGhhbmRsZS4KKwkjIFRvIGVuc3VyZSB0aGF0IHRoZSBiYWNrZ3JvdW5kZWQgcHJvY2VzcyByYW4gc3VmZmljaWVudGx5CisJIyBsb25nIChhbmQgaGFzIGJlZW4gc3RhcnRlZCBpbiB0aGUgZmlyc3QgcGxhY2UpLCB3ZSBkbyBub3QKKwkjIGlnbm9yZSB0aGUgcmVzdWx0IG9mIHRoZSBraWxsIGNvbW1hbmQuCisJIyBCeSBwYWNrYWdpbmcgdGhlIGNvbW1hbmQgaW4gdGVzdF93aGVuX2ZpbmlzaGVkLCB3ZSBnZXQgYm90aAorCSMgdGhlIGNvcnJlY3RuZXNzIGNoZWNrIGFuZCB0aGUgY2xlYW4tdXAuCisJdGVzdF93aGVuX2ZpbmlzaGVkICJraWxsIFwkKGNhdCBzbGVlcC5waWQpIiAmJgorCWdpdCBtZXJnZSBtYXN0ZXIKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q2MDMwLWJpc2VjdC1wb3JjZWxhaW4uc2ggYi90L3Q2MDMwLWJpc2VjdC1wb3JjZWxhaW4uc2gKaW5kZXggZTc0NjYyYi4uNWU1MzcwZiAxMDA3NTUKLS0tIGEvdC90NjAzMC1iaXNlY3QtcG9yY2VsYWluLnNoCisrKyBiL3QvdDYwMzAtYmlzZWN0LXBvcmNlbGFpbi5zaApAQCAtMzYyLDcgKzM2Miw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdiaXNlY3QgZXJyb3JzIG91dCBpZiBiYWQgYW5kIGdvb2QgYXJlIG1pc3Rha2VuJyAnCiAJZ2l0IGJpc2VjdCByZXNldCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBiaXNlY3Qgc3RhcnQgJEhBU0gyICRIQVNINCAyPiByZXZfbGlzdF9lcnJvciAmJgotCWdyZXAgIm1pc3Rvb2sgZ29vZCBhbmQgYmFkIiByZXZfbGlzdF9lcnJvciAmJgorCXRlc3RfaTE4bmdyZXAgIm1pc3Rvb2sgZ29vZCBhbmQgYmFkIiByZXZfbGlzdF9lcnJvciAmJgogCWdpdCBiaXNlY3QgcmVzZXQKICcKIApAQCAtNDA0LDcgKzQwNCw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dvb2QgbWVyZ2UgYmFzZSB3aGVuIGdvb2QgYW5kIGJhZCBhcmUgc2libGluZ3MnICcKIAlnaXQgYmlzZWN0IHN0YXJ0ICIkSEFTSDciICIkU0lERV9IQVNINyIgPiBteV9iaXNlY3RfbG9nLnR4dCAmJgotCWdyZXAgIm1lcmdlIGJhc2UgbXVzdCBiZSB0ZXN0ZWQiIG15X2Jpc2VjdF9sb2cudHh0ICYmCisJdGVzdF9pMThuZ3JlcCAibWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZCIgbXlfYmlzZWN0X2xvZy50eHQgJiYKIAlncmVwICRIQVNINCBteV9iaXNlY3RfbG9nLnR4dCAmJgogCWdpdCBiaXNlY3QgZ29vZCA+IG15X2Jpc2VjdF9sb2cudHh0ICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ3JlcCAibWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZCIgbXlfYmlzZWN0X2xvZy50eHQgJiYKQEAgLTQxMyw3ICs0MTMsNyBAQAogJwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2tpcHBlZCBtZXJnZSBiYXNlIHdoZW4gZ29vZCBhbmQgYmFkIGFyZSBzaWJsaW5ncycgJwogCWdpdCBiaXNlY3Qgc3RhcnQgIiRTSURFX0hBU0g3IiAiJEhBU0g3IiA+IG15X2Jpc2VjdF9sb2cudHh0ICYmCi0JZ3JlcCAibWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZCIgbXlfYmlzZWN0X2xvZy50eHQgJiYKKwl0ZXN0X2kxOG5ncmVwICJtZXJnZSBiYXNlIG11c3QgYmUgdGVzdGVkIiBteV9iaXNlY3RfbG9nLnR4dCAmJgogCWdyZXAgJEhBU0g0IG15X2Jpc2VjdF9sb2cudHh0ICYmCiAJZ2l0IGJpc2VjdCBza2lwID4gbXlfYmlzZWN0X2xvZy50eHQgMj4mMSAmJgogCWdyZXAgIndhcm5pbmciIG15X2Jpc2VjdF9sb2cudHh0ICYmCkBAIC00MjMsMTEgKzQyMywxMSBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdiYWQgbWVyZ2UgYmFzZSB3aGVuIGdvb2QgYW5kIGJhZCBhcmUgc2libGluZ3MnICcKIAlnaXQgYmlzZWN0IHN0YXJ0ICIkSEFTSDciIEhFQUQgPiBteV9iaXNlY3RfbG9nLnR4dCAmJgotCWdyZXAgIm1lcmdlIGJhc2UgbXVzdCBiZSB0ZXN0ZWQiIG15X2Jpc2VjdF9sb2cudHh0ICYmCisJdGVzdF9pMThuZ3JlcCAibWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZCIgbXlfYmlzZWN0X2xvZy50eHQgJiYKIAlncmVwICRIQVNINCBteV9iaXNlY3RfbG9nLnR4dCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBiaXNlY3QgYmFkID4gbXlfYmlzZWN0X2xvZy50eHQgMj4mMSAmJgotCWdyZXAgIm1lcmdlIGJhc2UgJEhBU0g0IGlzIGJhZCIgbXlfYmlzZWN0X2xvZy50eHQgJiYKLQlncmVwICJmaXhlZCBiZXR3ZWVuICRIQVNINCBhbmQgXFskU0lERV9IQVNIN1xdIiBteV9iaXNlY3RfbG9nLnR4dCAmJgorCXRlc3RfaTE4bmdyZXAgIm1lcmdlIGJhc2UgJEhBU0g0IGlzIGJhZCIgbXlfYmlzZWN0X2xvZy50eHQgJiYKKwl0ZXN0X2kxOG5ncmVwICJmaXhlZCBiZXR3ZWVuICRIQVNINCBhbmQgXFskU0lERV9IQVNIN1xdIiBteV9iaXNlY3RfbG9nLnR4dCAmJgogCWdpdCBiaXNlY3QgcmVzZXQKICcKIApAQCAtNDYwLDkgKzQ2MCw5IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dvb2QgbWVyZ2UgYmFzZXMgd2hlbiBnb29kIGFuZCBiYWQgYXJlIHNpYmxpbmdzJyAnCiAJZ2l0IGJpc2VjdCBzdGFydCAiJEJfSEFTSCIgIiRBX0hBU0giID4gbXlfYmlzZWN0X2xvZy50eHQgJiYKLQlncmVwICJtZXJnZSBiYXNlIG11c3QgYmUgdGVzdGVkIiBteV9iaXNlY3RfbG9nLnR4dCAmJgorCXRlc3RfaTE4bmdyZXAgIm1lcmdlIGJhc2UgbXVzdCBiZSB0ZXN0ZWQiIG15X2Jpc2VjdF9sb2cudHh0ICYmCiAJZ2l0IGJpc2VjdCBnb29kID4gbXlfYmlzZWN0X2xvZzIudHh0ICYmCi0JZ3JlcCAibWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZCIgbXlfYmlzZWN0X2xvZzIudHh0ICYmCisJdGVzdF9pMThuZ3JlcCAibWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZCIgbXlfYmlzZWN0X2xvZzIudHh0ICYmCiAJewogCQl7CiAJCQlncmVwICIkU0lERV9IQVNINSIgbXlfYmlzZWN0X2xvZy50eHQgJiYKQEAgLTQ3NywxNCArNDc3LDE0IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ29wdGltaXplZCBtZXJnZSBiYXNlIGNoZWNrcycgJwogCWdpdCBiaXNlY3Qgc3RhcnQgIiRIQVNINyIgIiRTSURFX0hBU0g3IiA+IG15X2Jpc2VjdF9sb2cudHh0ICYmCi0JZ3JlcCAibWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZCIgbXlfYmlzZWN0X2xvZy50eHQgJiYKKwl0ZXN0X2kxOG5ncmVwICJtZXJnZSBiYXNlIG11c3QgYmUgdGVzdGVkIiBteV9iaXNlY3RfbG9nLnR4dCAmJgogCWdyZXAgIiRIQVNINCIgbXlfYmlzZWN0X2xvZy50eHQgJiYKIAlnaXQgYmlzZWN0IGdvb2QgPiBteV9iaXNlY3RfbG9nMi50eHQgJiYKIAl0ZXN0IC1mICIuZ2l0L0JJU0VDVF9BTkNFU1RPUlNfT0siICYmCiAJdGVzdCAiJEhBU0g2IiA9ICQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSAmJgogCWdpdCBiaXNlY3QgYmFkID4gbXlfYmlzZWN0X2xvZzMudHh0ICYmCiAJZ2l0IGJpc2VjdCBnb29kICIkQV9IQVNIIiA+IG15X2Jpc2VjdF9sb2c0LnR4dCAmJgotCWdyZXAgIm1lcmdlIGJhc2UgbXVzdCBiZSB0ZXN0ZWQiIG15X2Jpc2VjdF9sb2c0LnR4dCAmJgorCXRlc3RfaTE4bmdyZXAgIm1lcmdlIGJhc2UgbXVzdCBiZSB0ZXN0ZWQiIG15X2Jpc2VjdF9sb2c0LnR4dCAmJgogCXRlc3RfbXVzdF9mYWlsIHRlc3QgLWYgIi5naXQvQklTRUNUX0FOQ0VTVE9SU19PSyIKICcKIApAQCAtNTYyLDcgKzU2Miw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Vycm9yaW5nIG91dCB3aGVuIHVzaW5nIGJhZCBwYXRoIHBhcmFtZXRlcnMnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgYmlzZWN0IHN0YXJ0ICRQQVJBX0hBU0g3ICRIQVNIMSAtLSBmb29iYXIgMj4gZXJyb3IudHh0ICYmCi0JZ3JlcCAiYmFkIHBhdGggcGFyYW1ldGVycyIgZXJyb3IudHh0CisJdGVzdF9pMThuZ3JlcCAiYmFkIHBhdGggcGFyYW1ldGVycyIgZXJyb3IudHh0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Rlc3QgYmlzZWN0aW9uIG9uIGJhcmUgcmVwbyAtIC0tbm8tY2hlY2tvdXQgc3BlY2lmaWVkJyAnCkBAIC03MjEsNyArNzIxLDcgQEAKICMgZmlyc3QgYmFkIGNvbW1pdDogWzMyYTU5NGEzZmRhYzJkNTdjZjZkMDI5ODdlMzBlZWM2ODUxMTQ5OGNdIEFkZCA8NDogQ2lhbyBmb3Igbm93PiBpbnRvIDxoZWxsbz4uCiBFT0YKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnYmlzZWN0IGxvZzogc3VjY2Vzc2Z1bGwgcmVzdWx0JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdiaXNlY3QgbG9nOiBzdWNjZXNzZnVsIHJlc3VsdCcgJwogCWdpdCBiaXNlY3QgcmVzZXQgJiYKIAlnaXQgYmlzZWN0IHN0YXJ0ICRIQVNINCAkSEFTSDIgJiYKIAlnaXQgYmlzZWN0IGdvb2QgJiYKQEAgLTgwMyw3ICs4MDMsNyBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBiaXNlY3QgdGVybXMgMSAyICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJpc2VjdCB0ZXJtcyAyPmFjdHVhbCAmJgogCWVjaG8gIm5vIHRlcm1zIGRlZmluZWQiID5leHBlY3RlZCAmJgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYmlzZWN0IHRlcm1zIHNob3dzIGdvb2QvYmFkIGFmdGVyIHN0YXJ0JyAnCkBAIC04NzUsNyArODc1LDcgQEAKIAlZb3VyIGN1cnJlbnQgdGVybXMgYXJlIHR3byBmb3IgdGhlIG9sZCBzdGF0ZQogCWFuZCBvbmUgZm9yIHRoZSBuZXcgc3RhdGUuCiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbCAmJgogCWdpdCBiaXNlY3QgdGVybXMgLS10ZXJtLWJhZCA+YWN0dWFsICYmCiAJZWNobyBvbmUgPmV4cGVjdGVkICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCmRpZmYgLS1naXQgYS90L3Q2MDM4LW1lcmdlLXRleHQtYXV0by5zaCBiL3QvdDYwMzgtbWVyZ2UtdGV4dC1hdXRvLnNoCmluZGV4IDg1YzEwYjAuLjVlOGQ1ZmEgMTAwNzU1Ci0tLSBhL3QvdDYwMzgtbWVyZ2UtdGV4dC1hdXRvLnNoCisrKyBiL3QvdDYwMzgtbWVyZ2UtdGV4dC1hdXRvLnNoCkBAIC0xNiw2ICsxNiwxMyBAQAogCiB0ZXN0X2hhdmVfcHJlcmVxIFNFRF9TVFJJUFNfQ1IgJiYgU0VEX09QVElPTlM9LWIKIAorY29tcGFyZV9maWxlcyAoKSB7CisJdHIgJ1wwMTVcMDAwJyBRTiA8IiQxIiA+IiQxIi5leHBlY3QgJiYKKwl0ciAnXDAxNVwwMDAnIFFOIDwiJDIiID4iJDIiLmFjdHVhbCAmJgorCXRlc3RfY21wICIkMSIuZXhwZWN0ICIkMiIuYWN0dWFsICYmCisJcm0gIiQxIi5leHBlY3QgIiQyIi5hY3R1YWwKK30KKwogdGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCiAJZ2l0IGNvbmZpZyBjb3JlLmF1dG9jcmxmIGZhbHNlICYmCiAKQEAgLTMwLDcgKzM3LDcgQEAKIAlnaXQgYnJhbmNoIHNpZGUgJiYKIAogCWVjaG8gIiogdGV4dD1hdXRvIiA+LmdpdGF0dHJpYnV0ZXMgJiYKLQl0b3VjaCBmaWxlICYmCisJZWNobyBmaXJzdCBsaW5lID5maWxlICYmCiAJZ2l0IGFkZCAuZ2l0YXR0cmlidXRlcyBmaWxlICYmCiAJdGVzdF90aWNrICYmCiAJZ2l0IGNvbW1pdCAtbSAibm9ybWFsaXplIGZpbGUiICYmCkBAIC04MSwzOCArODgsNDkgQEAKIAlybSAtZiAuZ2l0YXR0cmlidXRlcyAmJgogCWdpdCByZXNldCAtLWhhcmQgYSAmJgogCWdpdCBtZXJnZSBiICYmCi0JdGVzdF9jbXAgZXhwZWN0ZWQgZmlsZQorCWNvbXBhcmVfZmlsZXMgZXhwZWN0ZWQgZmlsZQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdNZXJnZSBhZGRpdGlvbiBvZiB0ZXh0PWF1dG8nICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ01lcmdlIGFkZGl0aW9uIG9mIHRleHQ9YXV0byBlb2w9TEYnICcKKwlnaXQgY29uZmlnIGNvcmUuZW9sIGxmICYmCiAJY2F0IDw8LVxFT0YgPmV4cGVjdGVkICYmCiAJZmlyc3QgbGluZQogCXNhbWUgbGluZQogCUVPRgogCi0JaWYgdGVzdF9oYXZlX3ByZXJlcSBOQVRJVkVfQ1JMRjsgdGhlbgotCQlhcHBlbmRfY3IgPGV4cGVjdGVkID5leHBlY3RlZC50ZW1wICYmCi0JCW12IGV4cGVjdGVkLnRlbXAgZXhwZWN0ZWQKLQlmaSAmJgogCWdpdCBjb25maWcgbWVyZ2UucmVub3JtYWxpemUgdHJ1ZSAmJgogCWdpdCBybSAtZnIgLiAmJgogCXJtIC1mIC5naXRhdHRyaWJ1dGVzICYmCiAJZ2l0IHJlc2V0IC0taGFyZCBiICYmCiAJZ2l0IG1lcmdlIGEgJiYKLQl0ZXN0X2NtcCBleHBlY3RlZCBmaWxlCisJY29tcGFyZV9maWxlcyAgZXhwZWN0ZWQgZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdNZXJnZSBhZGRpdGlvbiBvZiB0ZXh0PWF1dG8gZW9sPUNSTEYnICcKKwlnaXQgY29uZmlnIGNvcmUuZW9sIGNybGYgJiYKKwljYXQgPDwtXEVPRiA+ZXhwZWN0ZWQgJiYKKwlmaXJzdCBsaW5lCisJc2FtZSBsaW5lCisJRU9GCisKKwlhcHBlbmRfY3IgPGV4cGVjdGVkID5leHBlY3RlZC50ZW1wICYmCisJbXYgZXhwZWN0ZWQudGVtcCBleHBlY3RlZCAmJgorCWdpdCBjb25maWcgbWVyZ2UucmVub3JtYWxpemUgdHJ1ZSAmJgorCWdpdCBybSAtZnIgLiAmJgorCXJtIC1mIC5naXRhdHRyaWJ1dGVzICYmCisJZ2l0IHJlc2V0IC0taGFyZCBiICYmCisJZWNobyA+JjIgIkFmdGVyIGdpdCByZXNldCAtLWhhcmQgYiIgJiYKKwlnaXQgbHMtZmlsZXMgLXMgLS1lb2wgPiYyICYmCisJZ2l0IG1lcmdlIGEgJiYKKwljb21wYXJlX2ZpbGVzICBleHBlY3RlZCBmaWxlCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0RldGVjdCBDUkxGL0xGIGNvbmZsaWN0IGFmdGVyIHNldHRpbmcgdGV4dD1hdXRvJyAnCisJZ2l0IGNvbmZpZyBjb3JlLmVvbCBuYXRpdmUgJiYKIAllY2hvICI8PDw8PDw8IiA+ZXhwZWN0ZWQgJiYKLQlpZiB0ZXN0X2hhdmVfcHJlcmVxIE5BVElWRV9DUkxGOyB0aGVuCi0JCWVjaG8gZmlyc3QgbGluZSB8IGFwcGVuZF9jciA+PmV4cGVjdGVkICYmCi0JCWVjaG8gc2FtZSBsaW5lIHwgYXBwZW5kX2NyID4+ZXhwZWN0ZWQgJiYKLQkJZWNobyA9PT09PT09IHwgYXBwZW5kX2NyID4+ZXhwZWN0ZWQKLQllbHNlCi0JCWVjaG8gZmlyc3QgbGluZSA+PmV4cGVjdGVkICYmCi0JCWVjaG8gc2FtZSBsaW5lID4+ZXhwZWN0ZWQgJiYKLQkJZWNobyA9PT09PT09ID4+ZXhwZWN0ZWQKLQlmaSAmJgorCWVjaG8gZmlyc3QgbGluZSA+PmV4cGVjdGVkICYmCisJZWNobyBzYW1lIGxpbmUgPj5leHBlY3RlZCAmJgorCWVjaG8gPT09PT09PSA+PmV4cGVjdGVkICYmCiAJZWNobyBmaXJzdCBsaW5lIHwgYXBwZW5kX2NyID4+ZXhwZWN0ZWQgJiYKIAllY2hvIHNhbWUgbGluZSB8IGFwcGVuZF9jciA+PmV4cGVjdGVkICYmCiAJZWNobyAiPj4+Pj4+PiIgPj5leHBlY3RlZCAmJgpAQCAtMTIxLDI5ICsxMzksMjMgQEAKIAlnaXQgcmVzZXQgLS1oYXJkIGEgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgYiAmJgogCWZ1enpfY29uZmxpY3QgZmlsZSA+ZmlsZS5mdXp6eSAmJgotCXRlc3RfY21wIGV4cGVjdGVkIGZpbGUuZnV6enkKKwljb21wYXJlX2ZpbGVzIGV4cGVjdGVkIGZpbGUuZnV6enkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnRGV0ZWN0IExGL0NSTEYgY29uZmxpY3QgZnJvbSBhZGRpdGlvbiBvZiB0ZXh0PWF1dG8nICcKIAllY2hvICI8PDw8PDw8IiA+ZXhwZWN0ZWQgJiYKIAllY2hvIGZpcnN0IGxpbmUgfCBhcHBlbmRfY3IgPj5leHBlY3RlZCAmJgogCWVjaG8gc2FtZSBsaW5lIHwgYXBwZW5kX2NyID4+ZXhwZWN0ZWQgJiYKLQlpZiB0ZXN0X2hhdmVfcHJlcmVxIE5BVElWRV9DUkxGOyB0aGVuCi0JCWVjaG8gPT09PT09PSB8IGFwcGVuZF9jciA+PmV4cGVjdGVkICYmCi0JCWVjaG8gZmlyc3QgbGluZSB8IGFwcGVuZF9jciA+PmV4cGVjdGVkICYmCi0JCWVjaG8gc2FtZSBsaW5lIHwgYXBwZW5kX2NyID4+ZXhwZWN0ZWQKLQllbHNlCi0JCWVjaG8gPT09PT09PSA+PmV4cGVjdGVkICYmCi0JCWVjaG8gZmlyc3QgbGluZSA+PmV4cGVjdGVkICYmCi0JCWVjaG8gc2FtZSBsaW5lID4+ZXhwZWN0ZWQKLQlmaSAmJgorCWVjaG8gPT09PT09PSA+PmV4cGVjdGVkICYmCisJZWNobyBmaXJzdCBsaW5lID4+ZXhwZWN0ZWQgJiYKKwllY2hvIHNhbWUgbGluZSA+PmV4cGVjdGVkICYmCiAJZWNobyAiPj4+Pj4+PiIgPj5leHBlY3RlZCAmJgogCWdpdCBjb25maWcgbWVyZ2UucmVub3JtYWxpemUgZmFsc2UgJiYKIAlybSAtZiAuZ2l0YXR0cmlidXRlcyAmJgogCWdpdCByZXNldCAtLWhhcmQgYiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBhICYmCiAJZnV6el9jb25mbGljdCBmaWxlID5maWxlLmZ1enp5ICYmCi0JdGVzdF9jbXAgZXhwZWN0ZWQgZmlsZS5mdXp6eQorCWNvbXBhcmVfZmlsZXMgZXhwZWN0ZWQgZmlsZS5mdXp6eQogJwogCiB0ZXN0X2V4cGVjdF9mYWlsdXJlICdjaGVja291dCAtbSBhZnRlciBzZXR0aW5nIHRleHQ9YXV0bycgJwpAQCAtMTU4LDcgKzE3MCw3IEBACiAJZ2l0IHJlc2V0IC0taGFyZCBpbml0aWFsICYmCiAJZ2l0IGNoZWNrb3V0IGEgLS0gLiAmJgogCWdpdCBjaGVja291dCAtbSBiICYmCi0JdGVzdF9jbXAgZXhwZWN0ZWQgZmlsZQorCWNvbXBhcmVfZmlsZXMgZXhwZWN0ZWQgZmlsZQogJwogCiB0ZXN0X2V4cGVjdF9mYWlsdXJlICdjaGVja291dCAtbSBhZGRpdGlvbiBvZiB0ZXh0PWF1dG8nICcKQEAgLTE3Myw3ICsxODUsNyBAQAogCWdpdCByZXNldCAtLWhhcmQgaW5pdGlhbCAmJgogCWdpdCBjaGVja291dCBiIC0tIC4gJiYKIAlnaXQgY2hlY2tvdXQgLW0gYSAmJgotCXRlc3RfY21wIGV4cGVjdGVkIGZpbGUKKwljb21wYXJlX2ZpbGVzIGV4cGVjdGVkIGZpbGUKICcKIAogdGVzdF9leHBlY3RfZmFpbHVyZSAnY2hlcnJ5LXBpY2sgcGF0Y2ggZnJvbSBhZnRlciB0ZXh0PWF1dG8gd2FzIGFkZGVkJyAnCkBAIC0xODcsNyArMTk5LDcgQEAKIAlnaXQgcmVzZXQgLS1oYXJkIGIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgYSA+ZXJyIDI+JjEgJiYKIAlncmVwICJbTm5db3RoaW5nIGFkZGVkIiBlcnIgJiYKLQl0ZXN0X2NtcCBleHBlY3RlZCBmaWxlCisJY29tcGFyZV9maWxlcyBleHBlY3RlZCBmaWxlCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1Rlc3QgZGVsZXRlL25vcm1hbGl6ZSBjb25mbGljdCcgJwpkaWZmIC0tZ2l0IGEvdC90NjEwMS1yZXYtcGFyc2UtcGFyZW50cy5zaCBiL3QvdDYxMDEtcmV2LXBhcnNlLXBhcmVudHMuc2gKaW5kZXggMWM2OTUyZC4uNjRhOTg1MCAxMDA3NTUKLS0tIGEvdC90NjEwMS1yZXYtcGFyc2UtcGFyZW50cy5zaAorKysgYi90L3Q2MTAxLXJldi1wYXJzZS1wYXJlbnRzLnNoCkBAIC0xMDIsNCArMTAyLDk4IEBACiAJdGVzdF9jbXBfcmV2X291dHB1dCBzdGFydCAiZ2l0IHJldi1wYXJzZSAke3N0YXJ0JT99IgogJwogCisjIHJldl4tIHRlc3RzOyB3ZSBjYW4gdXNlIGEgc2ltcGxlciBzZXR1cCBmb3IgdGhlc2UKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZm9yIHJldl4tIHRlc3RzJyAnCisJdGVzdF9jb21taXQgb25lICYmCisJdGVzdF9jb21taXQgdHdvICYmCisJdGVzdF9jb21taXQgdGhyZWUgJiYKKworCSMgTWVyZ2UgaW4gYSBicmFuY2ggZm9yIHRlc3RpbmcgcmV2Xi0KKwlnaXQgY2hlY2tvdXQgLWIgYnJhbmNoICYmCisJZ2l0IGNoZWNrb3V0IEhFQUReXiAmJgorCWdpdCBtZXJnZSAtbSBtZXJnZSAtLW5vLWVkaXQgLS1uby1mZiBicmFuY2ggJiYKKwlnaXQgY2hlY2tvdXQgLWIgbWVyZ2UKKycKKworIyBUaGUgbWVyZ2VkIGJyYW5jaCBoYXMgMiBjb21taXRzICsgdGhlIG1lcmdlCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtbGlzdCAtLWNvdW50IG1lcmdlXi0gPSBtZXJnZV4uLm1lcmdlJyAnCisJZ2l0IHJldi1saXN0IC0tY291bnQgbWVyZ2VeLi5tZXJnZSA+ZXhwZWN0ICYmCisJZWNobyAzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKKyMgQWxsIHJldl4tIHJldi1wYXJzZSB0ZXN0cworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtcGFyc2UgbWVyZ2VeLSA9IG1lcmdlXi4ubWVyZ2UnICcKKwlnaXQgcmV2LXBhcnNlIG1lcmdlXi4ubWVyZ2UgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgbWVyZ2VeLSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtcGFyc2UgbWVyZ2VeLTEgPSBtZXJnZV4uLm1lcmdlJyAnCisJZ2l0IHJldi1wYXJzZSBtZXJnZV4xLi5tZXJnZSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSBtZXJnZV4tMSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtcGFyc2UgbWVyZ2VeLTIgPSBtZXJnZV4yLi5tZXJnZScgJworCWdpdCByZXYtcGFyc2UgbWVyZ2VeMi4ubWVyZ2UgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgbWVyZ2VeLTIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LXBhcnNlIG1lcmdlXi0wIChpbnZhbGlkIHBhcmVudCknICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIG1lcmdlXi0wCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jldi1wYXJzZSBtZXJnZV4tMyAoaW52YWxpZCBwYXJlbnQpJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBtZXJnZV4tMworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtcGFyc2UgbWVyZ2VeLV4gKGdhcmJhZ2UgYWZ0ZXIgXi0pJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBtZXJnZV4tXgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtcGFyc2UgbWVyZ2VeLTF4IChnYXJiYWdlIGFmdGVyIF4tMSknICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIG1lcmdlXi0xeAorJworCisjIEFsbCByZXZeLSByZXYtbGlzdCB0ZXN0cyAoc2hvdWxkIGJlIG1vc3RseSB0aGUgc2FtZSBhcyByZXYtcGFyc2U7IHRoZSByZWFzb24KKyMgZm9yIHRoZSBkdXBsaWNhdGlvbiBpcyB0aGF0IHJldi1wYXJzZSBhbmQgcmV2LWxpc3QgdXNlIGRpZmZlcmVudCBwYXJzZXJzKS4KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3QgbWVyZ2VeLSA9IG1lcmdlXi4ubWVyZ2UnICcKKwlnaXQgcmV2LWxpc3QgbWVyZ2VeLi5tZXJnZSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1saXN0IG1lcmdlXi0gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3QgbWVyZ2VeLTEgPSBtZXJnZV4xLi5tZXJnZScgJworCWdpdCByZXYtbGlzdCBtZXJnZV4xLi5tZXJnZSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1saXN0IG1lcmdlXi0xID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jldi1saXN0IG1lcmdlXi0yID0gbWVyZ2VeMi4ubWVyZ2UnICcKKwlnaXQgcmV2LWxpc3QgbWVyZ2VeMi4ubWVyZ2UgPmV4cGVjdCAmJgorCWdpdCByZXYtbGlzdCBtZXJnZV4tMiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtbGlzdCBtZXJnZV4tMCAoaW52YWxpZCBwYXJlbnQpJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1saXN0IG1lcmdlXi0wCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jldi1saXN0IG1lcmdlXi0zIChpbnZhbGlkIHBhcmVudCknICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LWxpc3QgbWVyZ2VeLTMKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3QgbWVyZ2VeLV4gKGdhcmJhZ2UgYWZ0ZXIgXi0pJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1saXN0IG1lcmdlXi1eCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jldi1saXN0IG1lcmdlXi0xeCAoZ2FyYmFnZSBhZnRlciBeLTEpJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1saXN0IG1lcmdlXi0xeAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYzMDAtZm9yLWVhY2gtcmVmLnNoIGIvdC90NjMwMC1mb3ItZWFjaC1yZWYuc2gKaW5kZXggMTlhMjgyMy4uMDM5NTA5YSAxMDA3NTUKLS0tIGEvdC90NjMwMC1mb3ItZWFjaC1yZWYuc2gKKysrIGIvdC90NjMwMC1mb3ItZWFjaC1yZWYuc2gKQEAgLTU1Myw0ICs1NTMsMTQgQEAKIAkJcmVmcy90YWdzL2JvZ28gcmVmcy90YWdzL21hc3RlciA+IGFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkbyBub3QgZGVyZWZlcmVuY2UgTlVMTCB1cG9uICUoSEVBRCkgb24gdW5ib3JuIGJyYW5jaCcgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGNoZWNrb3V0IG1hc3RlciIgJiYKKwlnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKEhFQUQpICUocmVmbmFtZTpzaG9ydCkiIHJlZnMvaGVhZHMvID5hY3R1YWwgJiYKKwlzZWQgLWUgInMvXlwqIC8gIC8iIGFjdHVhbCA+ZXhwZWN0ICYmCisJZ2l0IGNoZWNrb3V0IC0tb3JwaGFuIEhFQUQgJiYKKwlnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKEhFQUQpICUocmVmbmFtZTpzaG9ydCkiIHJlZnMvaGVhZHMvID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NjMwMS1mb3ItZWFjaC1yZWYtZXJyb3JzLnNoIGIvdC90NjMwMS1mb3ItZWFjaC1yZWYtZXJyb3JzLnNoCmluZGV4IGNkYjY3YTAuLmM3MzRjZTIgMTAwNzU1Ci0tLSBhL3QvdDYzMDEtZm9yLWVhY2gtcmVmLWVycm9ycy5zaAorKysgYi90L3Q2MzAxLWZvci1lYWNoLXJlZi1lcnJvcnMuc2gKQEAgLTIwLDggKzIwLDggQEAKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvJHIiICYmCiAJZWNobyAid2FybmluZzogaWdub3JpbmcgYnJva2VuIHJlZiAkciIgPmJyb2tlbi1lcnIgJiYKIAlnaXQgZm9yLWVhY2gtcmVmID5vdXQgMj5lcnIgJiYKLQl0ZXN0X2NtcCBmdWxsLWxpc3Qgb3V0ICYmCi0JdGVzdF9jbXAgYnJva2VuLWVyciBlcnIKKwl0ZXN0X2kxOG5jbXAgZnVsbC1saXN0IG91dCAmJgorCXRlc3RfaTE4bmNtcCBicm9rZW4tZXJyIGVycgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdOVUxMX1NIQTEgcmVmcyBhcmUgcmVwb3J0ZWQgY29ycmVjdGx5JyAnCkBAIC0zMSwxMCArMzEsMTAgQEAKIAllY2hvICJ3YXJuaW5nOiBpZ25vcmluZyBicm9rZW4gcmVmICRyIiA+emVyb3MtZXJyICYmCiAJZ2l0IGZvci1lYWNoLXJlZiA+b3V0IDI+ZXJyICYmCiAJdGVzdF9jbXAgZnVsbC1saXN0IG91dCAmJgotCXRlc3RfY21wIHplcm9zLWVyciBlcnIgJiYKKwl0ZXN0X2kxOG5jbXAgemVyb3MtZXJyIGVyciAmJgogCWdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUob2JqZWN0bmFtZSkgJShyZWZuYW1lKSIgPmJyaWVmLW91dCAyPmJyaWVmLWVyciAmJgogCXRlc3RfY21wIGJyaWVmLWxpc3QgYnJpZWYtb3V0ICYmCi0JdGVzdF9jbXAgemVyb3MtZXJyIGJyaWVmLWVycgorCXRlc3RfaTE4bmNtcCB6ZXJvcy1lcnIgYnJpZWYtZXJyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ01pc3Npbmcgb2JqZWN0cyBhcmUgcmVwb3J0ZWQgY29ycmVjdGx5JyAnCkBAIC00Myw3ICs0Myw3IEBACiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiAuZ2l0LyRyIiAmJgogCWVjaG8gImZhdGFsOiBtaXNzaW5nIG9iamVjdCAkTUlTU0lORyBmb3IgJHIiID5taXNzaW5nLWVyciAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3ItZWFjaC1yZWYgMj5lcnIgJiYKLQl0ZXN0X2NtcCBtaXNzaW5nLWVyciBlcnIgJiYKKwl0ZXN0X2kxOG5jbXAgbWlzc2luZy1lcnIgZXJyICYmCiAJKAogCQljYXQgYnJpZWYtbGlzdCAmJgogCQllY2hvICIkTUlTU0lORyAkciIKZGlmZiAtLWdpdCBhL3QvdDcwMDEtbXYuc2ggYi90L3Q3MDAxLW12LnNoCmluZGV4IDRhMjU3MGUuLmUzNjVkMWYgMTAwNzU1Ci0tLSBhL3QvdDcwMDEtbXYuc2gKKysrIGIvdC90NzAwMS1tdi5zaApAQCAtMjkyLDggKzI5Miw4IEBACiAJZWNobyBjb250ZW50ID5maWxlICYmCiAJZ2l0IGFkZCBmaWxlICYmCiAJZ2l0IGNvbW1pdCAtbSAiYWRkZWQgc3ViIGFuZCBmaWxlIiAmJgotCW1rZGlyIC1wIGRlZXAvZGlyZWN0b3J5L2hpZXJhY2h5ICYmCi0JZ2l0IHN1Ym1vZHVsZSBhZGQgLi8uIGRlZXAvZGlyZWN0b3J5L2hpZXJhY2h5L3N1YiAmJgorCW1rZGlyIC1wIGRlZXAvZGlyZWN0b3J5L2hpZXJhcmNoeSAmJgorCWdpdCBzdWJtb2R1bGUgYWRkIC4vLiBkZWVwL2RpcmVjdG9yeS9oaWVyYXJjaHkvc3ViICYmCiAJZ2l0IGNvbW1pdCAtbSAiYWRkZWQgYW5vdGhlciBzdWJtb2R1bGUiICYmCiAJZ2l0IGJyYW5jaCBzdWJtb2R1bGUKICcKQEAgLTQ4NSw4ICs0ODUsOCBAQAogCQkjIGdpdCBzdGF0dXMgd291bGQgZmFpbCBpZiB0aGUgdXBkYXRlIG9mIGxpbmtpbmcgZ2l0IGRpciB0bwogCQkjIHdvcmsgZGlyIG9mIHRoZSBzdWJtb2R1bGUgZmFpbGVkLgogCQlnaXQgc3RhdHVzICYmCi0JCWdpdCBjb25maWcgLWYgLi4vLmdpdG1vZHVsZXMgc3VibW9kdWxlLmRlZXAvZGlyZWN0b3J5L2hpZXJhY2h5L3N1Yi5wYXRoID4uLi9hY3R1YWwgJiYKLQkJZWNobyAiZGlyZWN0b3J5L2hpZXJhY2h5L3N1YiIgPi4uL2V4cGVjdAorCQlnaXQgY29uZmlnIC1mIC4uLy5naXRtb2R1bGVzIHN1Ym1vZHVsZS5kZWVwL2RpcmVjdG9yeS9oaWVyYXJjaHkvc3ViLnBhdGggPi4uL2FjdHVhbCAmJgorCQllY2hvICJkaXJlY3RvcnkvaGllcmFyY2h5L3N1YiIgPi4uL2V4cGVjdAogCSkgJiYKIAl0ZXN0X2NtcCBhY3R1YWwgZXhwZWN0CiAnCmRpZmYgLS1naXQgYS90L3Q3MDA0LXRhZy5zaCBiL3QvdDcwMDQtdGFnLnNoCmluZGV4IGY5YjdkNzkuLjhiMGY3MWEgMTAwNzU1Ci0tLSBhL3QvdDcwMDQtdGFnLnNoCisrKyBiL3QvdDcwMDQtdGFnLnNoCkBAIC0xMjAyLDEwICsxMjAyLDE3IEBACiAjIHRyeSB0byBzaWduIHdpdGggYmFkIHVzZXIuc2lnbmluZ2tleQogZ2l0IGNvbmZpZyB1c2VyLnNpZ25pbmdrZXkgQm9iVGhlTW91c2UKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHIFwKLQknZ2l0IHRhZyAtcyBmYWlscyBpZiBncGcgaXMgbWlzY29uZmlndXJlZCcgXAorCSdnaXQgdGFnIC1zIGZhaWxzIGlmIGdwZyBpcyBtaXNjb25maWd1cmVkIChiYWQga2V5KScgXAogCSd0ZXN0X211c3RfZmFpbCBnaXQgdGFnIC1zIC1tIHRhaWwgdGFnLWdwZy1mYWlsdXJlJwogZ2l0IGNvbmZpZyAtLXVuc2V0IHVzZXIuc2lnbmluZ2tleQogCisjIHRyeSB0byBwcm9kdWNlIGludmFsaWQgc2lnbmF0dXJlCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyBcCisJJ2dpdCB0YWcgLXMgZmFpbHMgaWYgZ3BnIGlzIG1pc2NvbmZpZ3VyZWQgKGJhZCBzaWduYXR1cmUgZm9ybWF0KScgXAorCSd0ZXN0X2NvbmZpZyBncGcucHJvZ3JhbSBlY2hvICYmCisJIHRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLXMgLW0gdGFpbCB0YWctZ3BnLWZhaWx1cmUnCisKKwogIyB0cnkgdG8gdmVyaWZ5IHdpdGhvdXQgZ3BnOgogCiBybSAtcmYgZ3BnaG9tZQpkaWZmIC0tZ2l0IGEvdC90NzAwNi1wYWdlci5zaCBiL3QvdDcwMDYtcGFnZXIuc2gKaW5kZXggZTRmYzVjOC4uYzhkYzY2NSAxMDA3NTUKLS0tIGEvdC90NzAwNi1wYWdlci5zaAorKysgYi90L3Q3MDA2LXBhZ2VyLnNoCkBAIC00OSw2ICs0OSwxOSBAQAogCWdyZXAgXkxWPSBwYWdlci1lbnYub3V0CiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgIU1JTkdXLFRUWSAnTEVTUyBhbmQgTFYgZW52dmFycyBzZXQgYnkgZ2l0LXNoLXNldHVwJyAnCisJKAorCQlzYW5lX3Vuc2V0IExFU1MgTFYgJiYKKwkJUEFHRVI9ImVudiA+cGFnZXItZW52Lm91dDsgd2MiICYmCisJCWV4cG9ydCBQQUdFUiAmJgorCQlQQVRIPSIkKGdpdCAtLWV4ZWMtcGF0aCk6JFBBVEgiICYmCisJCWV4cG9ydCBQQVRIICYmCisJCXRlc3RfdGVybWluYWwgc2ggLWMgIi4gZ2l0LXNoLXNldHVwICYmIGdpdF9wYWdlciIKKwkpICYmCisJZ3JlcCBeTEVTUz0gcGFnZXItZW52Lm91dCAmJgorCWdyZXAgXkxWPSBwYWdlci1lbnYub3V0CisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgVFRZICdzb21lIGNvbW1hbmRzIGRvIG5vdCB1c2UgYSBwYWdlcicgJwogCXJtIC1mIHBhZ2luYXRlZC5vdXQgJiYKIAl0ZXN0X3Rlcm1pbmFsIGdpdCByZXYtbGlzdCBIRUFEICYmCmRpZmYgLS1naXQgYS90L3Q3MDExLXNraXAtd29ya3RyZWUtcmVhZGluZy5zaCBiL3QvdDcwMTEtc2tpcC13b3JrdHJlZS1yZWFkaW5nLnNoCmluZGV4IDg4ZDYwYzEuLjg0ZjQxNDUgMTAwNzU1Ci0tLSBhL3QvdDcwMTEtc2tpcC13b3JrdHJlZS1yZWFkaW5nLnNoCisrKyBiL3QvdDcwMTEtc2tpcC13b3JrdHJlZS1yZWFkaW5nLnNoCkBAIC0yMywxNyArMjMsMTUgQEAKIEggc3ViLzIKIEVPRgogCi1OVUxMX1NIQTE9ZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MQotCiBzZXR1cF9hYnNlbnQoKSB7CiAJdGVzdCAtZiAxICYmIHJtIDEKIAlnaXQgdXBkYXRlLWluZGV4IC0tcmVtb3ZlIDEgJiYKLQlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tY2FjaGVpbmZvIDEwMDY0NCAkTlVMTF9TSEExIDEgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tY2FjaGVpbmZvIDEwMDY0NCAkRU1QVFlfQkxPQiAxICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLXNraXAtd29ya3RyZWUgMQogfQogCiB0ZXN0X2Fic2VudCgpIHsKLQllY2hvICIxMDA2NDQgJE5VTExfU0hBMSAwCTEiID4gZXhwZWN0ZWQgJiYKKwllY2hvICIxMDA2NDQgJEVNUFRZX0JMT0IgMAkxIiA+IGV4cGVjdGVkICYmCiAJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgMSA+IHJlc3VsdCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIHJlc3VsdCAmJgogCXRlc3QgISAtZiAxCkBAIC00MiwxMiArNDAsMTIgQEAKIHNldHVwX2RpcnR5KCkgewogCWdpdCB1cGRhdGUtaW5kZXggLS1mb3JjZS1yZW1vdmUgMSAmJgogCWVjaG8gZGlydHkgPiAxICYmCi0JZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCAtLWNhY2hlaW5mbyAxMDA2NDQgJE5VTExfU0hBMSAxICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCAtLWNhY2hlaW5mbyAxMDA2NDQgJEVNUFRZX0JMT0IgMSAmJgogCWdpdCB1cGRhdGUtaW5kZXggLS1za2lwLXdvcmt0cmVlIDEKIH0KIAogdGVzdF9kaXJ0eSgpIHsKLQllY2hvICIxMDA2NDQgJE5VTExfU0hBMSAwCTEiID4gZXhwZWN0ZWQgJiYKKwllY2hvICIxMDA2NDQgJEVNUFRZX0JMT0IgMAkxIiA+IGV4cGVjdGVkICYmCiAJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgMSA+IHJlc3VsdCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIHJlc3VsdCAmJgogCWVjaG8gZGlydHkgPiBleHBlY3RlZApAQCAtMTIwLDcgKzExOCw3IEBACiAJdGVzdCAiJChnaXQgZ3JlcCAtLW5vLWV4dC1ncmVwIHRlc3QpIiA9ICIxOnRlc3QiCiAnCiAKLWVjaG8gIjowMDAwMDAgMTAwNjQ0ICRfejQwICROVUxMX1NIQTEgQQkxIiA+IGV4cGVjdGVkCitlY2hvICI6MDAwMDAwIDEwMDY0NCAkX3o0MCAkRU1QVFlfQkxPQiBBCTEiID4gZXhwZWN0ZWQKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYtaW5kZXggZG9lcyBub3QgZXhhbWluZSBza2lwLXdvcmt0cmVlIGFic2VudCBlbnRyaWVzJyAnCiAJc2V0dXBfYWJzZW50ICYmCiAJZ2l0IGRpZmYtaW5kZXggSEVBRCAtLSAxID4gcmVzdWx0ICYmCmRpZmYgLS1naXQgYS90L3Q3MDEyLXNraXAtd29ya3RyZWUtd3JpdGluZy5zaCBiL3QvdDcwMTItc2tpcC13b3JrdHJlZS13cml0aW5nLnNoCmluZGV4IDljZWFhNDAuLjlkMWFiZTUgMTAwNzU1Ci0tLSBhL3QvdDcwMTItc2tpcC13b3JrdHJlZS13cml0aW5nLnNoCisrKyBiL3QvdDcwMTItc2tpcC13b3JrdHJlZS13cml0aW5nLnNoCkBAIC01MywxNyArNTMsMTUgQEAKIAlnaXQgdXBkYXRlLWluZGV4IC0tbm8tc2tpcC13b3JrdHJlZSBhZGRlZAogJwogCi1OVUxMX1NIQTE9ZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MQotCiBzZXR1cF9hYnNlbnQoKSB7CiAJdGVzdCAtZiAxICYmIHJtIDEKIAlnaXQgdXBkYXRlLWluZGV4IC0tcmVtb3ZlIDEgJiYKLQlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tY2FjaGVpbmZvIDEwMDY0NCAkTlVMTF9TSEExIDEgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tY2FjaGVpbmZvIDEwMDY0NCAkRU1QVFlfQkxPQiAxICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLXNraXAtd29ya3RyZWUgMQogfQogCiB0ZXN0X2Fic2VudCgpIHsKLQllY2hvICIxMDA2NDQgJE5VTExfU0hBMSAwCTEiID4gZXhwZWN0ZWQgJiYKKwllY2hvICIxMDA2NDQgJEVNUFRZX0JMT0IgMAkxIiA+IGV4cGVjdGVkICYmCiAJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgMSA+IHJlc3VsdCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIHJlc3VsdCAmJgogCXRlc3QgISAtZiAxCkBAIC03MiwxMiArNzAsMTIgQEAKIHNldHVwX2RpcnR5KCkgewogCWdpdCB1cGRhdGUtaW5kZXggLS1mb3JjZS1yZW1vdmUgMSAmJgogCWVjaG8gZGlydHkgPiAxICYmCi0JZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCAtLWNhY2hlaW5mbyAxMDA2NDQgJE5VTExfU0hBMSAxICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCAtLWNhY2hlaW5mbyAxMDA2NDQgJEVNUFRZX0JMT0IgMSAmJgogCWdpdCB1cGRhdGUtaW5kZXggLS1za2lwLXdvcmt0cmVlIDEKIH0KIAogdGVzdF9kaXJ0eSgpIHsKLQllY2hvICIxMDA2NDQgJE5VTExfU0hBMSAwCTEiID4gZXhwZWN0ZWQgJiYKKwllY2hvICIxMDA2NDQgJEVNUFRZX0JMT0IgMAkxIiA+IGV4cGVjdGVkICYmCiAJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgMSA+IHJlc3VsdCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIHJlc3VsdCAmJgogCWVjaG8gZGlydHkgPiBleHBlY3RlZApkaWZmIC0tZ2l0IGEvdC90NzA2MC13dHN0YXR1cy5zaCBiL3QvdDcwNjAtd3RzdGF0dXMuc2gKaW5kZXggNDRiZjFkOC4uNTNjZjQyZiAxMDA3NTUKLS0tIGEvdC90NzA2MC13dHN0YXR1cy5zaAorKysgYi90L3Q3MDYwLXd0c3RhdHVzLnNoCkBAIC0zNCw2ICszNCw3IEBACiBPbiBicmFuY2ggc2lkZQogWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuCiAgIChmaXggY29uZmxpY3RzIGFuZCBydW4gImdpdCBjb21taXQiKQorICAodXNlICJnaXQgbWVyZ2UgLS1hYm9ydCIgdG8gYWJvcnQgdGhlIG1lcmdlKQogCiBVbm1lcmdlZCBwYXRoczoKICAgKHVzZSAiZ2l0IGFkZC9ybSA8ZmlsZT4uLi4iIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikKQEAgLTEzOCw2ICsxMzksNyBAQAogT24gYnJhbmNoIG1hc3RlcgogWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuCiAgIChmaXggY29uZmxpY3RzIGFuZCBydW4gImdpdCBjb21taXQiKQorICAodXNlICJnaXQgbWVyZ2UgLS1hYm9ydCIgdG8gYWJvcnQgdGhlIG1lcmdlKQogCiBVbm1lcmdlZCBwYXRoczoKICAgKHVzZSAiZ2l0IGFkZC9ybSA8ZmlsZT4uLi4iIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikKQEAgLTE3MSw2ICsxNzMsNyBAQAogT24gYnJhbmNoIGNvbmZsaWN0X3NlY29uZAogWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuCiAgIChmaXggY29uZmxpY3RzIGFuZCBydW4gImdpdCBjb21taXQiKQorICAodXNlICJnaXQgbWVyZ2UgLS1hYm9ydCIgdG8gYWJvcnQgdGhlIG1lcmdlKQogCiBVbm1lcmdlZCBwYXRoczoKICAgKHVzZSAiZ2l0IGFkZC9ybSA8ZmlsZT4uLi4iIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikKQEAgLTE5NSw2ICsxOTgsNyBAQAogT24gYnJhbmNoIGNvbmZsaWN0X3NlY29uZAogWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuCiAgIChmaXggY29uZmxpY3RzIGFuZCBydW4gImdpdCBjb21taXQiKQorICAodXNlICJnaXQgbWVyZ2UgLS1hYm9ydCIgdG8gYWJvcnQgdGhlIG1lcmdlKQogCiBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKIApAQCAtMjI4LDQgKzIzMiwyNSBAQAogCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKICcKIAorIyMgRHVwbGljYXRlIHRoZSBhYm92ZSB0ZXN0IGFuZCB2ZXJpZnkgLS1wb3JjZWxhaW49djEgYXJnIHBhcnNpbmcuCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgLS1wb3JjZWxhaW49djEgLS1icmFuY2ggd2l0aCBkZXRhY2hlZCBIRUFEJyAnCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBjaGVja291dCBtYXN0ZXJeMCAmJgorCWdpdCBzdGF0dXMgLS1icmFuY2ggLS1wb3JjZWxhaW49djEgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJIyMgSEVBRCAobm8gYnJhbmNoKQorCT8/IC5naXRjb25maWcKKwk/PyBhY3R1YWwKKwk/PyBleHBlY3QKKwk/PyBleHBlY3RlZAorCT8/IG1kY29uZmxpY3QvCisJRU9GCisJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAorJworCisjIyBWZXJpZnkgcGFyc2VyIGVycm9yIG9uIGludmFsaWQgLS1wb3JjZWxhaW4gYXJndW1lbnQuCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgLS1wb3JjZWxhaW49Ym9ndXMnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgc3RhdHVzIC0tcG9yY2VsYWluPWJvZ3VzCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzA2My1zdGF0dXMtdW50cmFja2VkLWNhY2hlLnNoIGIvdC90NzA2My1zdGF0dXMtdW50cmFja2VkLWNhY2hlLnNoCmluZGV4IGE5NzE4ODQuLjA2NjdiZDkgMTAwNzU1Ci0tLSBhL3QvdDcwNjMtc3RhdHVzLXVudHJhY2tlZC1jYWNoZS5zaAorKysgYi90L3Q3MDYzLXN0YXR1cy11bnRyYWNrZWQtY2FjaGUuc2gKQEAgLTQsNiArNCwyMCBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAorIyBPbiBzb21lIGZpbGVzeXN0ZW1zIChlLmcuIEZyZWVCU0QncyBleHQyIGFuZCB1ZnMpIGRpcmVjdG9yeSBtdGltZQorIyBpcyB1cGRhdGVkIGxhemlseSBhZnRlciBjb250ZW50cyBpbiB0aGUgZGlyZWN0b3J5IGNoYW5nZXMsIHdoaWNoCisjIGZvcmNlcyB0aGUgdW50cmFja2VkIGNhY2hlIGNvZGUgdG8gdGFrZSB0aGUgc2xvdyBwYXRoLiAgQSB0ZXN0CisjIHRoYXQgd2FudHMgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGZhc3QgcGF0aCB3b3JrcyBjb3JyZWN0bHkgc2hvdWxkCisjIGNhbGwgdGhpcyBoZWxwZXIgdG8gbWFrZSBtdGltZSBvZiB0aGUgY29udGFpbmluZyBkaXJlY3RvcnkgaW4gc3luYworIyB3aXRoIHRoZSByZWFsaXR5IGJlZm9yZSBjaGVja2luZyB0aGUgZmFzdCBwYXRoIGJlaGF2aW91ci4KKyMKKyMgU2VlIDwyMDE2MDgwMzE3NDUyMi41NTcxLTEtcGNsb3Vkc0BnbWFpbC5jb20+IGlmIHlvdSB3YW50IHRvIGtub3cKKyMgbW9yZS4KKworc3luY19tdGltZSAoKSB7CisJZmluZCAuIC10eXBlIGQgLWxzID4vZGV2L251bGwKK30KKwogYXZvaWRfcmFjeSgpIHsKIAlzbGVlcCAxCiB9CkBAIC01Myw3ICs2Nyw3IEBACiBFT0YKIAogY2F0ID4uLi9kdW1wLmV4cGVjdCA8PEVPRiAmJgotaW5mby9leGNsdWRlIGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEKK2luZm8vZXhjbHVkZSAkRU1QVFlfQkxPQgogY29yZS5leGNsdWRlc2ZpbGUgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogZXhjbHVkZV9wZXJfZGlyIC5naXRpZ25vcmUKIGZsYWdzIDAwMDAwMDA2CkBAIC0xMzcsNyArMTUxLDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZlcmlmeSB1bnRyYWNrZWQgY2FjaGUgZHVtcCcgJwogCXRlc3QtZHVtcC11bnRyYWNrZWQtY2FjaGUgPi4uL2FjdHVhbCAmJgogCWNhdCA+Li4vZXhwZWN0IDw8RU9GICYmCi1pbmZvL2V4Y2x1ZGUgZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MQoraW5mby9leGNsdWRlICRFTVBUWV9CTE9CCiBjb3JlLmV4Y2x1ZGVzZmlsZSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiBleGNsdWRlX3Blcl9kaXIgLmdpdGlnbm9yZQogZmxhZ3MgMDAwMDAwMDYKQEAgLTE4NCw3ICsxOTgsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IHVudHJhY2tlZCBjYWNoZSBkdW1wJyAnCiAJdGVzdC1kdW1wLXVudHJhY2tlZC1jYWNoZSA+Li4vYWN0dWFsICYmCiAJY2F0ID4uLi9leHBlY3QgPDxFT0YgJiYKLWluZm8vZXhjbHVkZSBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxCitpbmZvL2V4Y2x1ZGUgJEVNUFRZX0JMT0IKIGNvcmUuZXhjbHVkZXNmaWxlIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIGV4Y2x1ZGVfcGVyX2RpciAuZ2l0aWdub3JlCiBmbGFncyAwMDAwMDAwNgpAQCAtNDE2LDcgKzQzMCw4IEBACiAJZWNobyBmb3VyID5kb25lL2ZvdXIgJiYgIyBmb3VyIGlzIGdpdGlnbm9yZWQgYXQgYSBoaWdoZXIgbGV2ZWwKIAllY2hvIGZpdmUgPmRvbmUvZml2ZSAmJiAjIGZpdmUgaXMgbm90IGdpdGlnbm9yZWQKIAllY2hvIHRlc3QgPmJhc2UgJiYgI3dlIG5lZWQgdG8gZW5zdXJlIHRoYXQgdGhlIHJvb3QgZGlyIGlzIHRvdWNoZWQKLQlybSBiYXNlCisJcm0gYmFzZSAmJgorCXN5bmNfbXRpbWUKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCBzcGFyc2Ugc3RhdHVzIHdpdGggdW50cmFja2VkIGNhY2hlJyAnCkBAIC02NDMsNyArNjU4LDcgQEAKIAljcCAtUiBkb25lIGR0aHJlZSBkdHdvIGZvdXIgdGhyZWUgLi4vb3RoZXJfd29ya3RyZWUgJiYKIAlHSVRfV09SS19UUkVFPS4uL290aGVyX3dvcmt0cmVlIGdpdCBzdGF0dXMgMj4uLi9lcnIgJiYKIAllY2hvICJ3YXJuaW5nOiBVbnRyYWNrZWQgY2FjaGUgaXMgZGlzYWJsZWQgb24gdGhpcyBzeXN0ZW0gb3IgbG9jYXRpb24uIiA+Li4vZXhwZWN0ICYmCi0JdGVzdF9jbXAgLi4vZXhwZWN0IC4uL2VycgorCXRlc3RfaTE4bmNtcCAuLi9leHBlY3QgLi4vZXJyCiAnCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzA2NC13dHN0YXR1cy1wdjIuc2ggYi90L3Q3MDY0LXd0c3RhdHVzLXB2Mi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMzE5ZmEyCi0tLSAvZGV2L251bGwKKysrIGIvdC90NzA2NC13dHN0YXR1cy1wdjIuc2gKQEAgLTAsMCArMSw1OTMgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdnaXQgc3RhdHVzIC0tcG9yY2VsYWluPXYyCisKK1RoaXMgdGVzdCBleGVyY2lzZXMgcG9yY2VsYWluIFYyIG91dHB1dCBmb3IgZ2l0IHN0YXR1cy4nCisKKworLiAuL3Rlc3QtbGliLnNoCisKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbmZpZyBjb3JlLmF1dG9jcmxmIGZhbHNlICYmCisJZWNobyB4ID5maWxlX3ggJiYKKwllY2hvIHkgPmZpbGVfeSAmJgorCWVjaG8geiA+ZmlsZV96ICYmCisJbWtkaXIgZGlyMSAmJgorCWVjaG8gYSA+ZGlyMS9maWxlX2EgJiYKKwllY2hvIGIgPmRpcjEvZmlsZV9iCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JlZm9yZSBpbml0aWFsIGNvbW1pdCwgbm90aGluZyBhZGRlZCwgb25seSB1bnRyYWNrZWQnICcKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkjIGJyYW5jaC5vaWQgKGluaXRpYWwpCisJIyBicmFuY2guaGVhZCBtYXN0ZXIKKwk/IGFjdHVhbAorCT8gZGlyMS8KKwk/IGV4cGVjdAorCT8gZmlsZV94CisJPyBmaWxlX3kKKwk/IGZpbGVfegorCUVPRgorCisJZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbj12MiAtLWJyYW5jaCAtLXVudHJhY2tlZC1maWxlcz1ub3JtYWwgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmVmb3JlIGluaXRpYWwgY29tbWl0LCB0aGluZ3MgYWRkZWQnICcKKwlnaXQgYWRkIGZpbGVfeCBmaWxlX3kgZmlsZV96IGRpcjEgJiYKKwlPSURfQT0kKGdpdCBoYXNoLW9iamVjdCAtdCBibG9iIC0tIGRpcjEvZmlsZV9hKSAmJgorCU9JRF9CPSQoZ2l0IGhhc2gtb2JqZWN0IC10IGJsb2IgLS0gZGlyMS9maWxlX2IpICYmCisJT0lEX1g9JChnaXQgaGFzaC1vYmplY3QgLXQgYmxvYiAtLSBmaWxlX3gpICYmCisJT0lEX1k9JChnaXQgaGFzaC1vYmplY3QgLXQgYmxvYiAtLSBmaWxlX3kpICYmCisJT0lEX1o9JChnaXQgaGFzaC1vYmplY3QgLXQgYmxvYiAtLSBmaWxlX3opICYmCisKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkjIGJyYW5jaC5vaWQgKGluaXRpYWwpCisJIyBicmFuY2guaGVhZCBtYXN0ZXIKKwkxIEEuIE4uLi4gMDAwMDAwIDEwMDY0NCAxMDA2NDQgJF96NDAgJE9JRF9BIGRpcjEvZmlsZV9hCisJMSBBLiBOLi4uIDAwMDAwMCAxMDA2NDQgMTAwNjQ0ICRfejQwICRPSURfQiBkaXIxL2ZpbGVfYgorCTEgQS4gTi4uLiAwMDAwMDAgMTAwNjQ0IDEwMDY0NCAkX3o0MCAkT0lEX1ggZmlsZV94CisJMSBBLiBOLi4uIDAwMDAwMCAxMDA2NDQgMTAwNjQ0ICRfejQwICRPSURfWSBmaWxlX3kKKwkxIEEuIE4uLi4gMDAwMDAwIDEwMDY0NCAxMDA2NDQgJF96NDAgJE9JRF9aIGZpbGVfegorCT8gYWN0dWFsCisJPyBleHBlY3QKKwlFT0YKKworCWdpdCBzdGF0dXMgLS1wb3JjZWxhaW49djIgLS1icmFuY2ggLS11bnRyYWNrZWQtZmlsZXM9YWxsID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JlZm9yZSBpbml0aWFsIGNvbW1pdCwgdGhpbmdzIGFkZGVkICgteiknICcKKwlsZl90b19udWwgPmV4cGVjdCA8PC1FT0YgJiYKKwkjIGJyYW5jaC5vaWQgKGluaXRpYWwpCisJIyBicmFuY2guaGVhZCBtYXN0ZXIKKwkxIEEuIE4uLi4gMDAwMDAwIDEwMDY0NCAxMDA2NDQgJF96NDAgJE9JRF9BIGRpcjEvZmlsZV9hCisJMSBBLiBOLi4uIDAwMDAwMCAxMDA2NDQgMTAwNjQ0ICRfejQwICRPSURfQiBkaXIxL2ZpbGVfYgorCTEgQS4gTi4uLiAwMDAwMDAgMTAwNjQ0IDEwMDY0NCAkX3o0MCAkT0lEX1ggZmlsZV94CisJMSBBLiBOLi4uIDAwMDAwMCAxMDA2NDQgMTAwNjQ0ICRfejQwICRPSURfWSBmaWxlX3kKKwkxIEEuIE4uLi4gMDAwMDAwIDEwMDY0NCAxMDA2NDQgJF96NDAgJE9JRF9aIGZpbGVfegorCT8gYWN0dWFsCisJPyBleHBlY3QKKwlFT0YKKworCWdpdCBzdGF0dXMgLXogLS1wb3JjZWxhaW49djIgLS1icmFuY2ggLS11bnRyYWNrZWQtZmlsZXM9YWxsID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21ha2UgZmlyc3QgY29tbWl0LCBjb21maXJtIEhFQUQgb2lkIGFuZCBicmFuY2gnICcKKwlnaXQgY29tbWl0IC1tIGluaXRpYWwgJiYKKwlIMD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkjIGJyYW5jaC5vaWQgJEgwCisJIyBicmFuY2guaGVhZCBtYXN0ZXIKKwk/IGFjdHVhbAorCT8gZXhwZWN0CisJRU9GCisKKwlnaXQgc3RhdHVzIC0tcG9yY2VsYWluPXYyIC0tYnJhbmNoIC0tdW50cmFja2VkLWZpbGVzPWFsbCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZnRlciBmaXJzdCBjb21taXQsIGNyZWF0ZSB1bnN0YWdlZCBjaGFuZ2VzJyAnCisJZWNobyB4ID4+ZmlsZV94ICYmCisJT0lEX1gxPSQoZ2l0IGhhc2gtb2JqZWN0IC10IGJsb2IgLS0gZmlsZV94KSAmJgorCXJtIGZpbGVfeiAmJgorCUgwPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJIyBicmFuY2gub2lkICRIMAorCSMgYnJhbmNoLmhlYWQgbWFzdGVyCisJMSAuTSBOLi4uIDEwMDY0NCAxMDA2NDQgMTAwNjQ0ICRPSURfWCAkT0lEX1ggZmlsZV94CisJMSAuRCBOLi4uIDEwMDY0NCAxMDA2NDQgMDAwMDAwICRPSURfWiAkT0lEX1ogZmlsZV96CisJPyBhY3R1YWwKKwk/IGV4cGVjdAorCUVPRgorCisJZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbj12MiAtLWJyYW5jaCAtLXVudHJhY2tlZC1maWxlcz1hbGwgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWZ0ZXIgZmlyc3QgY29tbWl0IGJ1dCBvbWl0IHVudHJhY2tlZCBmaWxlcyBhbmQgYnJhbmNoJyAnCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJMSAuTSBOLi4uIDEwMDY0NCAxMDA2NDQgMTAwNjQ0ICRPSURfWCAkT0lEX1ggZmlsZV94CisJMSAuRCBOLi4uIDEwMDY0NCAxMDA2NDQgMDAwMDAwICRPSURfWiAkT0lEX1ogZmlsZV96CisJRU9GCisKKwlnaXQgc3RhdHVzIC0tcG9yY2VsYWluPXYyIC0tdW50cmFja2VkLWZpbGVzPW5vID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FmdGVyIGZpcnN0IGNvbW1pdCwgc3RhZ2UgZXhpc3RpbmcgY2hhbmdlcycgJworCWdpdCBhZGQgZmlsZV94ICYmCisJZ2l0IHJtIGZpbGVfeiAmJgorCUgwPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJIyBicmFuY2gub2lkICRIMAorCSMgYnJhbmNoLmhlYWQgbWFzdGVyCisJMSBNLiBOLi4uIDEwMDY0NCAxMDA2NDQgMTAwNjQ0ICRPSURfWCAkT0lEX1gxIGZpbGVfeAorCTEgRC4gTi4uLiAxMDA2NDQgMDAwMDAwIDAwMDAwMCAkT0lEX1ogJF96NDAgZmlsZV96CisJPyBhY3R1YWwKKwk/IGV4cGVjdAorCUVPRgorCisJZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbj12MiAtLWJyYW5jaCAtLXVudHJhY2tlZC1maWxlcz1hbGwgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVuYW1lIGNhdXNlcyAyIHBhdGggbGluZXMnICcKKwlnaXQgbXYgZmlsZV95IHJlbmFtZWRfeSAmJgorCUgwPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCisJcV90b190YWIgPmV4cGVjdCA8PC1FT0YgJiYKKwkjIGJyYW5jaC5vaWQgJEgwCisJIyBicmFuY2guaGVhZCBtYXN0ZXIKKwkxIE0uIE4uLi4gMTAwNjQ0IDEwMDY0NCAxMDA2NDQgJE9JRF9YICRPSURfWDEgZmlsZV94CisJMSBELiBOLi4uIDEwMDY0NCAwMDAwMDAgMDAwMDAwICRPSURfWiAkX3o0MCBmaWxlX3oKKwkyIFIuIE4uLi4gMTAwNjQ0IDEwMDY0NCAxMDA2NDQgJE9JRF9ZICRPSURfWSBSMTAwIHJlbmFtZWRfeVFmaWxlX3kKKwk/IGFjdHVhbAorCT8gZXhwZWN0CisJRU9GCisKKwlnaXQgc3RhdHVzIC0tcG9yY2VsYWluPXYyIC0tYnJhbmNoIC0tdW50cmFja2VkLWZpbGVzPWFsbCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZW5hbWUgY2F1c2VzIDIgcGF0aCBsaW5lcyAoLXopJyAnCisJSDA9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisKKwkjIyBMaW5lcyB1c2UgTlVMIHBhdGggc2VwYXJhdG9yIGFuZCBsaW5lIHRlcm1pbmF0b3IsIHNvIGRvdWJsZSB0cmFuc2Zvcm0gaGVyZS4KKwlxX3RvX251bCA8PC1FT0YgfCBsZl90b19udWwgPmV4cGVjdCAmJgorCSMgYnJhbmNoLm9pZCAkSDAKKwkjIGJyYW5jaC5oZWFkIG1hc3RlcgorCTEgTS4gTi4uLiAxMDA2NDQgMTAwNjQ0IDEwMDY0NCAkT0lEX1ggJE9JRF9YMSBmaWxlX3gKKwkxIEQuIE4uLi4gMTAwNjQ0IDAwMDAwMCAwMDAwMDAgJE9JRF9aICRfejQwIGZpbGVfegorCTIgUi4gTi4uLiAxMDA2NDQgMTAwNjQ0IDEwMDY0NCAkT0lEX1kgJE9JRF9ZIFIxMDAgcmVuYW1lZF95UWZpbGVfeQorCT8gYWN0dWFsCisJPyBleHBlY3QKKwlFT0YKKworCWdpdCBzdGF0dXMgLS1wb3JjZWxhaW49djIgLS1icmFuY2ggLS11bnRyYWNrZWQtZmlsZXM9YWxsIC16ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21ha2Ugc2Vjb25kIGNvbW1pdCwgY29uZmlybSBjbGVhbiBhbmQgbmV3IEhFQUQgb2lkJyAnCisJZ2l0IGNvbW1pdCAtbSBzZWNvbmQgJiYKKwlIMT0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKworCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCSMgYnJhbmNoLm9pZCAkSDEKKwkjIGJyYW5jaC5oZWFkIG1hc3RlcgorCT8gYWN0dWFsCisJPyBleHBlY3QKKwlFT0YKKworCWdpdCBzdGF0dXMgLS1wb3JjZWxhaW49djIgLS1icmFuY2ggLS11bnRyYWNrZWQtZmlsZXM9YWxsID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbmZpcm0gaWdub3JlZCBmaWxlcyBhcmUgbm90IHByaW50ZWQnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIHguaWduIC5naXRpZ25vcmUiICYmCisJZWNobyB4LmlnbiA+LmdpdGlnbm9yZSAmJgorCWVjaG8gImlnbm9yZSBtZSIgPnguaWduICYmCisKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwk/IC5naXRpZ25vcmUKKwk/IGFjdHVhbAorCT8gZXhwZWN0CisJRU9GCisKKwlnaXQgc3RhdHVzIC0tcG9yY2VsYWluPXYyIC0tdW50cmFja2VkLWZpbGVzPWFsbCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpZ25vcmVkIGZpbGVzIGFyZSBwcmludGVkIHdpdGggLS1pZ25vcmVkJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiB4LmlnbiAuZ2l0aWdub3JlIiAmJgorCWVjaG8geC5pZ24gPi5naXRpZ25vcmUgJiYKKwllY2hvICJpZ25vcmUgbWUiID54LmlnbiAmJgorCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJPyAuZ2l0aWdub3JlCisJPyBhY3R1YWwKKwk/IGV4cGVjdAorCSEgeC5pZ24KKwlFT0YKKworCWdpdCBzdGF0dXMgLS1wb3JjZWxhaW49djIgLS1pZ25vcmVkIC0tdW50cmFja2VkLWZpbGVzPWFsbCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgYW5kIGNvbW1pdCBwZXJtYW5lbnQgaWdub3JlIGZpbGUnICcKKwljYXQgPi5naXRpZ25vcmUgPDwtRU9GICYmCisJYWN0dWFsKgorCWV4cGVjdCoKKwlFT0YKKworCWdpdCBhZGQgLmdpdGlnbm9yZSAmJgorCWdpdCBjb21taXQgLW0gaWdub3JlX3RyYXNoICYmCisJSDE9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkjIGJyYW5jaC5vaWQgJEgxCisJIyBicmFuY2guaGVhZCBtYXN0ZXIKKwlFT0YKKworCWdpdCBzdGF0dXMgLS1wb3JjZWxhaW49djIgLS1icmFuY2ggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IC0taW50ZW50LXRvLWFkZCBvdXRwdXQnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBybSAtZiBpbnRlbnQxLmFkZCBpbnRlbnQyLmFkZCIgJiYKKwl0b3VjaCBpbnRlbnQxLmFkZCAmJgorCWVjaG8gdGVzdCA+aW50ZW50Mi5hZGQgJiYKKworCWdpdCBhZGQgLS1pbnRlbnQtdG8tYWRkIGludGVudDEuYWRkIGludGVudDIuYWRkICYmCisKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkxIC5BIE4uLi4gMDAwMDAwIDAwMDAwMCAxMDA2NDQgJF96NDAgJF96NDAgaW50ZW50MS5hZGQKKwkxIC5BIE4uLi4gMDAwMDAwIDAwMDAwMCAxMDA2NDQgJF96NDAgJF96NDAgaW50ZW50Mi5hZGQKKwlFT0YKKworCWdpdCBzdGF0dXMgLS1wb3JjZWxhaW49djIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IEFBIChhZGQtYWRkKSBjb25mbGljdCcgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCIgJiYKKworCWdpdCBicmFuY2ggQUFfQSBtYXN0ZXIgJiYKKwlnaXQgY2hlY2tvdXQgQUFfQSAmJgorCWVjaG8gIkJyYW5jaCBBQV9BIiA+Y29uZmxpY3QudHh0ICYmCisJT0lEX0FBX0E9JChnaXQgaGFzaC1vYmplY3QgLXQgYmxvYiAtLSBjb25mbGljdC50eHQpICYmCisJZ2l0IGFkZCBjb25mbGljdC50eHQgJiYKKwlnaXQgY29tbWl0IC1tICJicmFuY2ggYWFfYSIgJiYKKworCWdpdCBicmFuY2ggQUFfQiBtYXN0ZXIgJiYKKwlnaXQgY2hlY2tvdXQgQUFfQiAmJgorCWVjaG8gIkJyYW5jaCBBQV9CIiA+Y29uZmxpY3QudHh0ICYmCisJT0lEX0FBX0I9JChnaXQgaGFzaC1vYmplY3QgLXQgYmxvYiAtLSBjb25mbGljdC50eHQpICYmCisJZ2l0IGFkZCBjb25mbGljdC50eHQgJiYKKwlnaXQgY29tbWl0IC1tICJicmFuY2ggYWFfYiIgJiYKKworCWdpdCBicmFuY2ggQUFfTSBBQV9CICYmCisJZ2l0IGNoZWNrb3V0IEFBX00gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgQUFfQSAmJgorCisJSE09JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkjIGJyYW5jaC5vaWQgJEhNCisJIyBicmFuY2guaGVhZCBBQV9NCisJdSBBQSBOLi4uIDAwMDAwMCAxMDA2NDQgMTAwNjQ0IDEwMDY0NCAkX3o0MCAkT0lEX0FBX0IgJE9JRF9BQV9BIGNvbmZsaWN0LnR4dAorCUVPRgorCisJZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbj12MiAtLWJyYW5jaCAtLXVudHJhY2tlZC1maWxlcz1hbGwgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IFVVIChlZGl0LWVkaXQpIGNvbmZsaWN0JyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkIiAmJgorCisJZ2l0IGJyYW5jaCBVVV9BTkMgbWFzdGVyICYmCisJZ2l0IGNoZWNrb3V0IFVVX0FOQyAmJgorCWVjaG8gIkFuY2VzdG9yIiA+Y29uZmxpY3QudHh0ICYmCisJT0lEX1VVX0FOQz0kKGdpdCBoYXNoLW9iamVjdCAtdCBibG9iIC0tIGNvbmZsaWN0LnR4dCkgJiYKKwlnaXQgYWRkIGNvbmZsaWN0LnR4dCAmJgorCWdpdCBjb21taXQgLW0gIlVVX0FOQyIgJiYKKworCWdpdCBicmFuY2ggVVVfQSBVVV9BTkMgJiYKKwlnaXQgY2hlY2tvdXQgVVVfQSAmJgorCWVjaG8gIkJyYW5jaCBVVV9BIiA+Y29uZmxpY3QudHh0ICYmCisJT0lEX1VVX0E9JChnaXQgaGFzaC1vYmplY3QgLXQgYmxvYiAtLSBjb25mbGljdC50eHQpICYmCisJZ2l0IGFkZCBjb25mbGljdC50eHQgJiYKKwlnaXQgY29tbWl0IC1tICJicmFuY2ggdXVfYSIgJiYKKworCWdpdCBicmFuY2ggVVVfQiBVVV9BTkMgJiYKKwlnaXQgY2hlY2tvdXQgVVVfQiAmJgorCWVjaG8gIkJyYW5jaCBVVV9CIiA+Y29uZmxpY3QudHh0ICYmCisJT0lEX1VVX0I9JChnaXQgaGFzaC1vYmplY3QgLXQgYmxvYiAtLSBjb25mbGljdC50eHQpICYmCisJZ2l0IGFkZCBjb25mbGljdC50eHQgJiYKKwlnaXQgY29tbWl0IC1tICJicmFuY2ggdXVfYiIgJiYKKworCWdpdCBicmFuY2ggVVVfTSBVVV9CICYmCisJZ2l0IGNoZWNrb3V0IFVVX00gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgVVVfQSAmJgorCisJSE09JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkjIGJyYW5jaC5vaWQgJEhNCisJIyBicmFuY2guaGVhZCBVVV9NCisJdSBVVSBOLi4uIDEwMDY0NCAxMDA2NDQgMTAwNjQ0IDEwMDY0NCAkT0lEX1VVX0FOQyAkT0lEX1VVX0IgJE9JRF9VVV9BIGNvbmZsaWN0LnR4dAorCUVPRgorCisJZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbj12MiAtLWJyYW5jaCAtLXVudHJhY2tlZC1maWxlcz1hbGwgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IHVwc3RyZWFtIGZpZWxkcyBpbiBicmFuY2ggaGVhZGVyJyAnCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIHN1Yl9yZXBvIiAmJgorCWdpdCBjbG9uZSAuIHN1Yl9yZXBvICYmCisJKAorCQkjIyBDb25maXJtIGxvY2FsIG1hc3RlciB0cmFja3MgcmVtb3RlIG1hc3Rlci4KKwkJY2Qgc3ViX3JlcG8gJiYKKwkJSFVGPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCisJCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCQkjIGJyYW5jaC5vaWQgJEhVRgorCQkjIGJyYW5jaC5oZWFkIG1hc3RlcgorCQkjIGJyYW5jaC51cHN0cmVhbSBvcmlnaW4vbWFzdGVyCisJCSMgYnJhbmNoLmFiICswIC0wCisJCUVPRgorCisJCWdpdCBzdGF0dXMgLS1wb3JjZWxhaW49djIgLS1icmFuY2ggLS11bnRyYWNrZWQtZmlsZXM9YWxsID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJCSMjIFRlc3QgYWhlYWQvYmVoaW5kLgorCQllY2hvIHh5eiA+ZmlsZV94eXogJiYKKwkJZ2l0IGFkZCBmaWxlX3h5eiAmJgorCQlnaXQgY29tbWl0IC1tIHh5eiAmJgorCisJCUhVRj0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKworCQljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkJIyBicmFuY2gub2lkICRIVUYKKwkJIyBicmFuY2guaGVhZCBtYXN0ZXIKKwkJIyBicmFuY2gudXBzdHJlYW0gb3JpZ2luL21hc3RlcgorCQkjIGJyYW5jaC5hYiArMSAtMAorCQlFT0YKKworCQlnaXQgc3RhdHVzIC0tcG9yY2VsYWluPXYyIC0tYnJhbmNoIC0tdW50cmFja2VkLWZpbGVzPWFsbCA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCQkjIyBSZXBlYXQgdGhlIGFib3ZlIGJ1dCB3aXRob3V0IC0tYnJhbmNoLgorCQljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkJRU9GCisKKwkJZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbj12MiAtLXVudHJhY2tlZC1maWxlcz1hbGwgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkJIyMgVGVzdCB1cHN0cmVhbS1nb25lIGNhc2UuIEZha2UgdGhpcyBieSBwb2ludGluZyBvcmlnaW4vbWFzdGVyIGF0CisJCSMjIGEgbm9uLWV4aXN0aW5nIGNvbW1pdC4KKwkJT0xEPSQoZ2l0IHJldi1wYXJzZSBvcmlnaW4vbWFzdGVyKSAmJgorCQlORVc9JF96NDAgJiYKKwkJbXYgLmdpdC9wYWNrZWQtcmVmcyAuZ2l0L29sZC1wYWNrZWQtcmVmcyAmJgorCQlzZWQgInMvJE9MRC8kTkVXL2ciIDwuZ2l0L29sZC1wYWNrZWQtcmVmcyA+LmdpdC9wYWNrZWQtcmVmcyAmJgorCisJCUhVRj0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKworCQljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkJIyBicmFuY2gub2lkICRIVUYKKwkJIyBicmFuY2guaGVhZCBtYXN0ZXIKKwkJIyBicmFuY2gudXBzdHJlYW0gb3JpZ2luL21hc3RlcgorCQlFT0YKKworCQlnaXQgc3RhdHVzIC0tcG9yY2VsYWluPXYyIC0tYnJhbmNoIC0tdW50cmFja2VkLWZpbGVzPWFsbCA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSBhbmQgYWRkIHN1Ym1vZHVsZSwgc3VibW9kdWxlIGFwcGVhcnMgY2xlYW4gKEEuIFMuLi4pJyAnCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCWdpdCBjbG9uZSAuIHN1Yl9yZXBvICYmCisJZ2l0IGNsb25lIC4gc3VwZXJfcmVwbyAmJgorCSgJY2Qgc3VwZXJfcmVwbyAmJgorCQlnaXQgc3VibW9kdWxlIGFkZCAuLi9zdWJfcmVwbyBzdWIxICYmCisKKwkJIyMgQ29uZmlybSBzdGFnZS9hZGQgb2YgY2xlYW4gc3VibW9kdWxlLgorCQlITU9EPSQoZ2l0IGhhc2gtb2JqZWN0IC10IGJsb2IgLS0gLmdpdG1vZHVsZXMpICYmCisJCUhTVVA9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJCUhTVUI9JEhTVVAgJiYKKworCQljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkJIyBicmFuY2gub2lkICRIU1VQCisJCSMgYnJhbmNoLmhlYWQgbWFzdGVyCisJCSMgYnJhbmNoLnVwc3RyZWFtIG9yaWdpbi9tYXN0ZXIKKwkJIyBicmFuY2guYWIgKzAgLTAKKwkJMSBBLiBOLi4uIDAwMDAwMCAxMDA2NDQgMTAwNjQ0ICRfejQwICRITU9EIC5naXRtb2R1bGVzCisJCTEgQS4gUy4uLiAwMDAwMDAgMTYwMDAwIDE2MDAwMCAkX3o0MCAkSFNVQiBzdWIxCisJCUVPRgorCisJCWdpdCBzdGF0dXMgLS1wb3JjZWxhaW49djIgLS1icmFuY2ggLS11bnRyYWNrZWQtZmlsZXM9YWxsID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndW50cmFja2VkIGNoYW5nZXMgaW4gYWRkZWQgc3VibW9kdWxlIChBTSBTLi5VKScgJworCSgJY2Qgc3VwZXJfcmVwbyAmJgorCQkjIyBjcmVhdGUgdW50cmFja2VkIGZpbGUgaW4gdGhlIHN1Ym1vZHVsZS4KKwkJKAljZCBzdWIxICYmCisJCQllY2hvICJ4eHh4IiA+ZmlsZV9pbl9zdWIKKwkJKSAmJgorCisJCUhNT0Q9JChnaXQgaGFzaC1vYmplY3QgLXQgYmxvYiAtLSAuZ2l0bW9kdWxlcykgJiYKKwkJSFNVUD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwkJSFNVQj0kSFNVUCAmJgorCisJCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCQkjIGJyYW5jaC5vaWQgJEhTVVAKKwkJIyBicmFuY2guaGVhZCBtYXN0ZXIKKwkJIyBicmFuY2gudXBzdHJlYW0gb3JpZ2luL21hc3RlcgorCQkjIGJyYW5jaC5hYiArMCAtMAorCQkxIEEuIE4uLi4gMDAwMDAwIDEwMDY0NCAxMDA2NDQgJF96NDAgJEhNT0QgLmdpdG1vZHVsZXMKKwkJMSBBTSBTLi5VIDAwMDAwMCAxNjAwMDAgMTYwMDAwICRfejQwICRIU1VCIHN1YjEKKwkJRU9GCisKKwkJZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbj12MiAtLWJyYW5jaCAtLXVudHJhY2tlZC1maWxlcz1hbGwgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFnZWQgY2hhbmdlcyBpbiBhZGRlZCBzdWJtb2R1bGUgKEFNIFMuTS4pJyAnCisJKAljZCBzdXBlcl9yZXBvICYmCisJCSMjIHN0YWdlIHRoZSBjaGFuZ2VzIGluIHRoZSBzdWJtb2R1bGUuCisJCSgJY2Qgc3ViMSAmJgorCQkJZ2l0IGFkZCBmaWxlX2luX3N1YgorCQkpICYmCisKKwkJSE1PRD0kKGdpdCBoYXNoLW9iamVjdCAtdCBibG9iIC0tIC5naXRtb2R1bGVzKSAmJgorCQlIU1VQPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCQlIU1VCPSRIU1VQICYmCisKKwkJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCSMgYnJhbmNoLm9pZCAkSFNVUAorCQkjIGJyYW5jaC5oZWFkIG1hc3RlcgorCQkjIGJyYW5jaC51cHN0cmVhbSBvcmlnaW4vbWFzdGVyCisJCSMgYnJhbmNoLmFiICswIC0wCisJCTEgQS4gTi4uLiAwMDAwMDAgMTAwNjQ0IDEwMDY0NCAkX3o0MCAkSE1PRCAuZ2l0bW9kdWxlcworCQkxIEFNIFMuTS4gMDAwMDAwIDE2MDAwMCAxNjAwMDAgJF96NDAgJEhTVUIgc3ViMQorCQlFT0YKKworCQlnaXQgc3RhdHVzIC0tcG9yY2VsYWluPXYyIC0tYnJhbmNoIC0tdW50cmFja2VkLWZpbGVzPWFsbCA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YWdlZCBhbmQgdW5zdGFnZWQgY2hhbmdlcyBpbiBhZGRlZCAoQU0gUy5NLiknICcKKwkoCWNkIHN1cGVyX3JlcG8gJiYKKwkJKAljZCBzdWIxICYmCisJCQkjIyBtYWtlIGFkZGl0aW9uYWwgdW5zdGFnZWQgY2hhbmdlcyAob24gdGhlIHNhbWUgZmlsZSkgaW4gdGhlIHN1Ym1vZHVsZS4KKwkJCSMjIFRoaXMgZG9lcyBub3QgY2F1c2UgdXMgdG8gZ2V0IFMuTVUgKGJlY2F1c2UgdGhlIHN1Ym1vZHVsZSBkb2VzIG5vdCByZXBvcnQKKwkJCSMjIGEgIj8iIGxpbmUgZm9yIHRoZSB1bnN0YWdlZCBjaGFuZ2VzKS4KKwkJCWVjaG8gIm1vcmUgY2hhbmdlcyIgPj5maWxlX2luX3N1YgorCQkpICYmCisKKwkJSE1PRD0kKGdpdCBoYXNoLW9iamVjdCAtdCBibG9iIC0tIC5naXRtb2R1bGVzKSAmJgorCQlIU1VQPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCQlIU1VCPSRIU1VQICYmCisKKwkJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCSMgYnJhbmNoLm9pZCAkSFNVUAorCQkjIGJyYW5jaC5oZWFkIG1hc3RlcgorCQkjIGJyYW5jaC51cHN0cmVhbSBvcmlnaW4vbWFzdGVyCisJCSMgYnJhbmNoLmFiICswIC0wCisJCTEgQS4gTi4uLiAwMDAwMDAgMTAwNjQ0IDEwMDY0NCAkX3o0MCAkSE1PRCAuZ2l0bW9kdWxlcworCQkxIEFNIFMuTS4gMDAwMDAwIDE2MDAwMCAxNjAwMDAgJF96NDAgJEhTVUIgc3ViMQorCQlFT0YKKworCQlnaXQgc3RhdHVzIC0tcG9yY2VsYWluPXYyIC0tYnJhbmNoIC0tdW50cmFja2VkLWZpbGVzPWFsbCA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YWdlZCBhbmQgdW50cmFja2VkIGNoYW5nZXMgaW4gYWRkZWQgc3VibW9kdWxlIChBTSBTLk1VKScgJworCSgJY2Qgc3VwZXJfcmVwbyAmJgorCQkoCWNkIHN1YjEgJiYKKwkJCSMjIHN0YWdlIG5ldyBjaGFuZ2VzIGluIHRyYWNrZWQgZmlsZS4KKwkJCWdpdCBhZGQgZmlsZV9pbl9zdWIgJiYKKwkJCSMjIGNyZWF0ZSBuZXcgdW50cmFja2VkIGZpbGUuCisJCQllY2hvICJ5eXl5IiA+PmFub3RoZXJfZmlsZV9pbl9zdWIKKwkJKSAmJgorCisJCUhNT0Q9JChnaXQgaGFzaC1vYmplY3QgLXQgYmxvYiAtLSAuZ2l0bW9kdWxlcykgJiYKKwkJSFNVUD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwkJSFNVQj0kSFNVUCAmJgorCisJCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCQkjIGJyYW5jaC5vaWQgJEhTVVAKKwkJIyBicmFuY2guaGVhZCBtYXN0ZXIKKwkJIyBicmFuY2gudXBzdHJlYW0gb3JpZ2luL21hc3RlcgorCQkjIGJyYW5jaC5hYiArMCAtMAorCQkxIEEuIE4uLi4gMDAwMDAwIDEwMDY0NCAxMDA2NDQgJF96NDAgJEhNT0QgLmdpdG1vZHVsZXMKKwkJMSBBTSBTLk1VIDAwMDAwMCAxNjAwMDAgMTYwMDAwICRfejQwICRIU1VCIHN1YjEKKwkJRU9GCisKKwkJZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbj12MiAtLWJyYW5jaCAtLXVudHJhY2tlZC1maWxlcz1hbGwgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21taXQgd2l0aGluIHRoZSBzdWJtb2R1bGUgYXBwZWFycyBhcyBuZXcgY29tbWl0IGluIHN1cGVyIChBTSBTQy4uKScgJworCSgJY2Qgc3VwZXJfcmVwbyAmJgorCQkoCWNkIHN1YjEgJiYKKwkJCSMjIE1ha2UgYSBuZXcgY29tbWl0IGluIHRoZSBzdWJtb2R1bGUuCisJCQlnaXQgYWRkIGZpbGVfaW5fc3ViICYmCisJCQlybSAtZiBhbm90aGVyX2ZpbGVfaW5fc3ViICYmCisJCQlnaXQgY29tbWl0IC1tICJuZXcgY29tbWl0IgorCQkpICYmCisKKwkJSE1PRD0kKGdpdCBoYXNoLW9iamVjdCAtdCBibG9iIC0tIC5naXRtb2R1bGVzKSAmJgorCQlIU1VQPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCQlIU1VCPSRIU1VQICYmCisKKwkJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCSMgYnJhbmNoLm9pZCAkSFNVUAorCQkjIGJyYW5jaC5oZWFkIG1hc3RlcgorCQkjIGJyYW5jaC51cHN0cmVhbSBvcmlnaW4vbWFzdGVyCisJCSMgYnJhbmNoLmFiICswIC0wCisJCTEgQS4gTi4uLiAwMDAwMDAgMTAwNjQ0IDEwMDY0NCAkX3o0MCAkSE1PRCAuZ2l0bW9kdWxlcworCQkxIEFNIFNDLi4gMDAwMDAwIDE2MDAwMCAxNjAwMDAgJF96NDAgJEhTVUIgc3ViMQorCQlFT0YKKworCQlnaXQgc3RhdHVzIC0tcG9yY2VsYWluPXYyIC0tYnJhbmNoIC0tdW50cmFja2VkLWZpbGVzPWFsbCA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YWdlIHN1Ym1vZHVsZSBpbiBzdXBlciBhbmQgY29tbWl0JyAnCisJKAljZCBzdXBlcl9yZXBvICYmCisJCSMjIFN0YWdlIHRoZSBuZXcgc3VibW9kdWxlIGNvbW1pdCBpbiB0aGUgc3VwZXIuCisJCWdpdCBhZGQgc3ViMSAmJgorCQkjIyBDb21taXQgdGhlIHN1cGVyIHNvIHRoYXQgdGhlIHN1YiBubyBsb25nZXIgYXBwZWFycyBhcyBhZGRlZC4KKwkJZ2l0IGNvbW1pdCAtbSAic3VwZXIgY29tbWl0IiAmJgorCisJCUhTVVA9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisKKwkJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCSMgYnJhbmNoLm9pZCAkSFNVUAorCQkjIGJyYW5jaC5oZWFkIG1hc3RlcgorCQkjIGJyYW5jaC51cHN0cmVhbSBvcmlnaW4vbWFzdGVyCisJCSMgYnJhbmNoLmFiICsxIC0wCisJCUVPRgorCisJCWdpdCBzdGF0dXMgLS1wb3JjZWxhaW49djIgLS1icmFuY2ggLS11bnRyYWNrZWQtZmlsZXM9YWxsID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWFrZSB1bnN0YWdlZCBjaGFuZ2VzIGluIGV4aXN0aW5nIHN1Ym1vZHVsZSAoLk0gUy5NLiknICcKKwkoCWNkIHN1cGVyX3JlcG8gJiYKKwkJKAljZCBzdWIxICYmCisJCQllY2hvICJ6enp6IiA+PmZpbGVfaW5fc3ViCisJCSkgJiYKKworCQlIU1VQPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCQlIU1VCPSQoY2Qgc3ViMSAmJiBnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisKKwkJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCSMgYnJhbmNoLm9pZCAkSFNVUAorCQkjIGJyYW5jaC5oZWFkIG1hc3RlcgorCQkjIGJyYW5jaC51cHN0cmVhbSBvcmlnaW4vbWFzdGVyCisJCSMgYnJhbmNoLmFiICsxIC0wCisJCTEgLk0gUy5NLiAxNjAwMDAgMTYwMDAwIDE2MDAwMCAkSFNVQiAkSFNVQiBzdWIxCisJCUVPRgorCisJCWdpdCBzdGF0dXMgLS1wb3JjZWxhaW49djIgLS1icmFuY2ggLS11bnRyYWNrZWQtZmlsZXM9YWxsID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3MTAyLXJlc2V0LnNoIGIvdC90NzEwMi1yZXNldC5zaAppbmRleCA5OGJjZmUyLi44NmYyM2JlIDEwMDc1NQotLS0gYS90L3Q3MTAyLXJlc2V0LnNoCisrKyBiL3QvdDcxMDItcmVzZXQuc2gKQEAgLTY2LDE0ICs2NiwxNCBAQAogCWhleD0kKGdpdCBsb2cgLTEgLS1mb3JtYXQ9IiVoIikgJiYKIAlnaXQgcmVzZXQgLS1oYXJkID4gLmFjdHVhbCAmJgogCWVjaG8gSEVBRCBpcyBub3cgYXQgJGhleCAkKGNvbW1pdF9tc2cpID4gLmV4cGVjdGVkICYmCi0JdGVzdF9jbXAgLmV4cGVjdGVkIC5hY3R1YWwKKwl0ZXN0X2kxOG5jbXAgLmV4cGVjdGVkIC5hY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzZXQgLS1oYXJkIG1lc3NhZ2UgKElTTzg4NTktMSBsb2dvdXRwdXRlbmNvZGluZyknICcKIAloZXg9JChnaXQgbG9nIC0xIC0tZm9ybWF0PSIlaCIpICYmCiAJZ2l0IC1jICJpMThuLmxvZ091dHB1dEVuY29kaW5nPSR0ZXN0X2VuY29kaW5nIiByZXNldCAtLWhhcmQgPiAuYWN0dWFsICYmCiAJZWNobyBIRUFEIGlzIG5vdyBhdCAkaGV4ICQoY29tbWl0X21zZyAkdGVzdF9lbmNvZGluZykgPiAuZXhwZWN0ZWQgJiYKLQl0ZXN0X2NtcCAuZXhwZWN0ZWQgLmFjdHVhbAorCXRlc3RfaTE4bmNtcCAuZXhwZWN0ZWQgLmFjdHVhbAogJwogCiA+LmRpZmZfZXhwZWN0CmRpZmYgLS1naXQgYS90L3Q3MjAxLWNvLnNoIGIvdC90NzIwMS1jby5zaAppbmRleCA4ODU5MjM2Li5kNGIyMTdiIDEwMDc1NQotLS0gYS90L3Q3MjAxLWNvLnNoCisrKyBiL3QvdDcyMDEtY28uc2gKQEAgLTI1Nyw3ICsyNTcsNyBAQAogCWdpdCBjaGVja291dCAtZiByZW5hbWVyICYmIGdpdCBjbGVhbiAtZiAmJgogCWdpdCBjaGVja291dCByZW5hbWVyXiAyPm1lc3NhZ2VzICYmCiAJdGVzdF9pMThuZ3JlcCAiSEVBRCBpcyBub3cgYXQgNzMyOTM4OCIgbWVzc2FnZXMgJiYKLQl0ZXN0X2xpbmVfY291bnQgLWd0IDEgbWVzc2FnZXMgJiYKKwkodGVzdF9saW5lX2NvdW50IC1ndCAxIG1lc3NhZ2VzIHx8IHRlc3QgLW4gIiRHRVRURVhUX1BPSVNPTiIpICYmCiAJSD0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCkgJiYKIAlNPSQoZ2l0IHNob3ctcmVmIC1zIC0tdmVyaWZ5IHJlZnMvaGVhZHMvbWFzdGVyKSAmJgogCXRlc3QgInokSCIgPSAieiRNIiAmJgpkaWZmIC0tZ2l0IGEvdC90NzQwMC1zdWJtb2R1bGUtYmFzaWMuc2ggYi90L3Q3NDAwLXN1Ym1vZHVsZS1iYXNpYy5zaAppbmRleCAzNTcwZjdiLi5iNzdjY2U4IDEwMDc1NQotLS0gYS90L3Q3NDAwLXN1Ym1vZHVsZS1iYXNpYy5zaAorKysgYi90L3Q3NDAwLXN1Ym1vZHVsZS1iYXNpYy5zaApAQCAtOTQyLDcgKzk0Miw3IEBACiAJCWNkIHN1YiAmJgogCQlnaXQgc3VibW9kdWxlIGRlaW5pdCAuLi9pbml0ID4uLi9vdXRwdXQKIAkpICYmCi0JZ3JlcCAiXFwuXFwuL2luaXQiIG91dHB1dCAmJgorCXRlc3RfaTE4bmdyZXAgIlxcLlxcLi9pbml0IiBvdXRwdXQgJiYKIAl0ZXN0IC16ICIkKGdpdCBjb25maWcgLS1nZXQtcmVnZXhwICJzdWJtb2R1bGVcLmV4YW1wbGVcLiIpIiAmJgogCXRlc3QgLW4gIiQoZ2l0IGNvbmZpZyAtLWdldC1yZWdleHAgInN1Ym1vZHVsZVwuZXhhbXBsZTJcLiIpIiAmJgogCXRlc3QgLWYgZXhhbXBsZTIvLmdpdCAmJgpkaWZmIC0tZ2l0IGEvdC90NzQwMy1zdWJtb2R1bGUtc3luYy5zaCBiL3QvdDc0MDMtc3VibW9kdWxlLXN5bmMuc2gKaW5kZXggNTUwM2VjMC4uMDcyNjc5OSAxMDA3NTUKLS0tIGEvdC90NzQwMy1zdWJtb2R1bGUtc3luYy5zaAorKysgYi90L3Q3NDAzLXN1Ym1vZHVsZS1zeW5jLnNoCkBAIC0xNTcsNyArMTU3LDcgQEAKIAkJY2Qgc3ViICYmCiAJCWdpdCBzdWJtb2R1bGUgc3luYyA+Li4vLi4vb3V0cHV0CiAJKSAmJgotCWdyZXAgIlxcLlxcLi9zdWJtb2R1bGUiIG91dHB1dCAmJgorCXRlc3RfaTE4bmdyZXAgIlxcLlxcLi9zdWJtb2R1bGUiIG91dHB1dCAmJgogCXRlc3QgLWQgIiQoCiAJCWNkIHN1cGVyLWNsb25lL3N1Ym1vZHVsZSAmJgogCQlnaXQgY29uZmlnIHJlbW90ZS5vcmlnaW4udXJsCkBAIC0xODgsNyArMTg4LDcgQEAKIAkJY2Qgc3ViICYmCiAJCWdpdCBzdWJtb2R1bGUgc3luYyAtLXJlY3Vyc2l2ZSA+Li4vLi4vb3V0cHV0CiAJKSAmJgotCWdyZXAgIlxcLlxcLi9zdWJtb2R1bGUvc3ViLXN1Ym1vZHVsZSIgb3V0cHV0ICYmCisJdGVzdF9pMThuZ3JlcCAiXFwuXFwuL3N1Ym1vZHVsZS9zdWItc3VibW9kdWxlIiBvdXRwdXQgJiYKIAl0ZXN0IC1kICIkKAogCQljZCBzdXBlci1jbG9uZS9zdWJtb2R1bGUgJiYKIAkJZ2l0IGNvbmZpZyByZW1vdGUub3JpZ2luLnVybApkaWZmIC0tZ2l0IGEvdC90NzQwNi1zdWJtb2R1bGUtdXBkYXRlLnNoIGIvdC90NzQwNi1zdWJtb2R1bGUtdXBkYXRlLnNoCmluZGV4IDVmMjc4NzkuLjY0ZjMyMmMgMTAwNzU1Ci0tLSBhL3QvdDc0MDYtc3VibW9kdWxlLXVwZGF0ZS5zaAorKysgYi90L3Q3NDA2LXN1Ym1vZHVsZS11cGRhdGUuc2gKQEAgLTEzNiw4ICsxMzYsOCBAQAogCSBjZCB0bXAgJiYKIAkgZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLS1pbml0IC0tcmVjdXJzaXZlIC4uL3N1cGVyID4uLi8uLi9hY3R1YWwgMj4uLi8uLi9hY3R1YWwyCiAJKSAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QyIGFjdHVhbDIKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QyIGFjdHVhbDIKICcKIAogYXBvcz0iJyI7CkBAIC0yMDksOSArMjA5LDQyIEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgdXBkYXRlIC0tcmVtb3RlIHNob3VsZCBmZXRjaCB1cHN0cmVhbSBjaGFuZ2VzIHdpdGggLicgJworCSgKKwkJY2Qgc3VwZXIgJiYKKwkJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuInN1Ym1vZHVsZSIuYnJhbmNoICIuIiAmJgorCQlnaXQgYWRkIC5naXRtb2R1bGVzICYmCisJCWdpdCBjb21taXQgLW0gInN1Ym1vZHVsZXM6IHVwZGF0ZSBmcm9tIHRoZSByZXNwZWN0aXZlIHN1cGVycHJvamVjdCBicmFuY2giCisJKSAmJgorCSgKKwkJY2Qgc3VibW9kdWxlICYmCisJCWVjaG8gbGluZTRhID4+IGZpbGUgJiYKKwkJZ2l0IGFkZCBmaWxlICYmCisJCXRlc3RfdGljayAmJgorCQlnaXQgY29tbWl0IC1tICJ1cHN0cmVhbSBsaW5lNGEiICYmCisJCWdpdCBjaGVja291dCAtYiB0ZXN0LWJyYW5jaCAmJgorCQl0ZXN0X2NvbW1pdCBvbi10ZXN0LWJyYW5jaAorCSkgJiYKKwkoCisJCWNkIHN1cGVyICYmCisJCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC0tcmVtb3RlIC0tZm9yY2Ugc3VibW9kdWxlICYmCisJCWdpdCAtQyBzdWJtb2R1bGUgbG9nIC0xIC0tb25lbGluZSA+YWN0dWFsCisJCWdpdCAtQyAuLi9zdWJtb2R1bGUgbG9nIC0xIC0tb25lbGluZSBtYXN0ZXIgPmV4cGVjdAorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJCWdpdCBjaGVja291dCAtYiB0ZXN0LWJyYW5jaCAmJgorCQlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtLXJlbW90ZSAtLWZvcmNlIHN1Ym1vZHVsZSAmJgorCQlnaXQgLUMgc3VibW9kdWxlIGxvZyAtMSAtLW9uZWxpbmUgPmFjdHVhbAorCQlnaXQgLUMgLi4vc3VibW9kdWxlIGxvZyAtMSAtLW9uZWxpbmUgdGVzdC1icmFuY2ggPmV4cGVjdAorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwkJZ2l0IGJyYW5jaCAtZCB0ZXN0LWJyYW5jaCAmJgorCQlnaXQgcmVzZXQgLS1oYXJkIEhFQUReCisJKQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2NhbCBjb25maWcgc2hvdWxkIG92ZXJyaWRlIC5naXRtb2R1bGVzIGJyYW5jaCcgJwogCShjZCBzdWJtb2R1bGUgJiYKLQkgZ2l0IGNoZWNrb3V0IC1iIHRlc3QtYnJhbmNoICYmCisJIGdpdCBjaGVja291dCB0ZXN0LWJyYW5jaCAmJgogCSBlY2hvIGxpbmU1ID4+IGZpbGUgJiYKIAkgZ2l0IGFkZCBmaWxlICYmCiAJIHRlc3RfdGljayAmJgpAQCAtMzcwLDcgKzQwMyw3IEBACiAJKGNkIHN1cGVyICYmCiAJIHRlc3RfbXVzdF9mYWlsIGdpdCBzdWJtb2R1bGUgdXBkYXRlIHN1Ym1vZHVsZSAyPi4uL2FjdHVhbAogCSkgJiYKLQl0ZXN0X2NtcCBhY3R1YWwgZXhwZWN0CisJdGVzdF9pMThuY21wIGFjdHVhbCBleHBlY3QKICcKIAogY2F0IDw8IEVPRiA+ZXhwZWN0CkBAIC0zODgsNyArNDIxLDcgQEAKIAkgbWtkaXIgdG1wICYmIGNkIHRtcCAmJgogCSB0ZXN0X211c3RfZmFpbCBnaXQgc3VibW9kdWxlIHVwZGF0ZSAuLi9zdWJtb2R1bGUgMj4uLi8uLi9hY3R1YWwKIAkpICYmCi0JdGVzdF9jbXAgYWN0dWFsIGV4cGVjdAorCXRlc3RfaTE4bmNtcCBhY3R1YWwgZXhwZWN0CiAnCiAKIGNhdCA8PCBFT0YgPmV4cGVjdApAQCAtNDA4LDcgKzQ0MSw3IEBACiAJIG1rZGlyIC1wIHRtcCAmJiBjZCB0bXAgJiYKIAkgdGVzdF9tdXN0X2ZhaWwgZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLS1yZWN1cnNpdmUgLi4vc3VwZXIgMj4uLi8uLi9hY3R1YWwKIAkpICYmCi0JdGVzdF9jbXAgYWN0dWFsIGV4cGVjdAorCXRlc3RfaTE4bmNtcCBhY3R1YWwgZXhwZWN0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSBpbml0IGRvZXMgbm90IGNvcHkgY29tbWFuZCBpbnRvIC5naXQvY29uZmlnJyAnCkBAIC04NDEsMTYgKzg3NCwzNSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgdXBkYXRlIGNsb25lIHNoYWxsb3cgc3VibW9kdWxlJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc3VwZXIzIiAmJgorCWZpcnN0PSQoZ2l0IC1DIGNsb25lZCBzdWJtb2R1bGUgc3RhdHVzIHN1Ym1vZHVsZSB8Y3V0IC1jMi00MSkgJiYKKwlzZWNvbmQ9JChnaXQgLUMgc3VibW9kdWxlIHJldi1wYXJzZSBIRUFEKSAmJgorCWNvbW1pdF9jb3VudD0kKGdpdCAtQyBzdWJtb2R1bGUgcmV2LWxpc3QgLS1jb3VudCAkZmlyc3ReLi4kc2Vjb25kKSAmJgogCWdpdCBjbG9uZSBjbG9uZWQgc3VwZXIzICYmCiAJcHdkPSQocHdkKSAmJgotCShjZCBzdXBlcjMgJiYKLQkgc2VkIC1lICJzI3VybCA9IC4uLyN1cmwgPSBmaWxlOi8vJHB3ZC8jIiA8LmdpdG1vZHVsZXMgPi5naXRtb2R1bGVzLnRtcCAmJgotCSBtdiAtZiAuZ2l0bW9kdWxlcy50bXAgLmdpdG1vZHVsZXMgJiYKLQkgZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLS1pbml0IC0tZGVwdGg9MwotCSAoY2Qgc3VibW9kdWxlICYmCi0JICB0ZXN0IDEgPSAkKGdpdCBsb2cgLS1vbmVsaW5lIHwgd2MgLWwpCi0JICkKLSkKKwkoCisJCWNkIHN1cGVyMyAmJgorCQlzZWQgLWUgInMjdXJsID0gLi4vI3VybCA9IGZpbGU6Ly8kcHdkLyMiIDwuZ2l0bW9kdWxlcyA+LmdpdG1vZHVsZXMudG1wICYmCisJCW12IC1mIC5naXRtb2R1bGVzLnRtcCAuZ2l0bW9kdWxlcyAmJgorCQlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtLWluaXQgLS1kZXB0aD0kY29tbWl0X2NvdW50ICYmCisJCXRlc3QgMSA9ICQoZ2l0IC1DIHN1Ym1vZHVsZSBsb2cgLS1vbmVsaW5lIHwgd2MgLWwpCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgdXBkYXRlIGNsb25lIHNoYWxsb3cgc3VibW9kdWxlIG91dHNpZGUgb2YgZGVwdGgnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBzdXBlcjMiICYmCisJZ2l0IGNsb25lIGNsb25lZCBzdXBlcjMgJiYKKwlwd2Q9JChwd2QpICYmCisJKAorCQljZCBzdXBlcjMgJiYKKwkJc2VkIC1lICJzI3VybCA9IC4uLyN1cmwgPSBmaWxlOi8vJHB3ZC8jIiA8LmdpdG1vZHVsZXMgPi5naXRtb2R1bGVzLnRtcCAmJgorCQltdiAtZiAuZ2l0bW9kdWxlcy50bXAgLmdpdG1vZHVsZXMgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLS1pbml0IC0tZGVwdGg9MSAyPmFjdHVhbCAmJgorCQl0ZXN0X2kxOG5ncmVwICJEaXJlY3QgZmV0Y2hpbmcgb2YgdGhhdCBjb21taXQgZmFpbGVkLiIgYWN0dWFsICYmCisJCWdpdCAtQyAuLi9zdWJtb2R1bGUgY29uZmlnIHVwbG9hZHBhY2suYWxsb3dSZWFjaGFibGVTSEExSW5XYW50IHRydWUgJiYKKwkJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLS1pbml0IC0tZGVwdGg9MSA+YWN0dWFsICYmCisJCXRlc3QgMSA9ICQoZ2l0IC1DIHN1Ym1vZHVsZSBsb2cgLS1vbmVsaW5lIHwgd2MgLWwpCisJKQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgdXBkYXRlIC0tcmVjdXJzaXZlIGRyb3BzIG1vZHVsZSBuYW1lIGJlZm9yZSByZWN1cnNpbmcnICcKZGlmZiAtLWdpdCBhL3QvdDc0MDgtc3VibW9kdWxlLXJlZmVyZW5jZS5zaCBiL3QvdDc0MDgtc3VibW9kdWxlLXJlZmVyZW5jZS5zaAppbmRleCBlYWVhMTliLi4xYzFlMjg5IDEwMDc1NQotLS0gYS90L3Q3NDA4LXN1Ym1vZHVsZS1yZWZlcmVuY2Uuc2gKKysrIGIvdC90NzQwOC1zdWJtb2R1bGUtcmVmZXJlbmNlLnNoCkBAIC04LDc0ICs4LDEyMSBAQAogCiBiYXNlX2Rpcj0kKHB3ZCkKIAotVT0kYmFzZV9kaXIvVVBMT0FEX0xPRwordGVzdF9hbHRlcm5hdGVfaXNfdXNlZCAoKSB7CisJYWx0ZXJuYXRlc19maWxlPSIkMSIgJiYKKwl3b3JraW5nX2Rpcj0iJDIiICYmCisJdGVzdF9saW5lX2NvdW50ID0gMSAiJGFsdGVybmF0ZXNfZmlsZSIgJiYKKwllY2hvICIwIG9iamVjdHMsIDAga2lsb2J5dGVzIiA+ZXhwZWN0ICYmCisJZ2l0IC1DICIkd29ya2luZ19kaXIiIGNvdW50LW9iamVjdHMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAncHJlcGFyaW5nIGZpcnN0IHJlcG9zaXRvcnknIFwKLSd0ZXN0X2NyZWF0ZV9yZXBvIEEgJiYgY2QgQSAmJgotZWNobyBmaXJzdCA+IGZpbGUxICYmCi1naXQgYWRkIGZpbGUxICYmCi1naXQgY29tbWl0IC1tIEEtaW5pdGlhbCcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ByZXBhcmluZyBmaXJzdCByZXBvc2l0b3J5JyAnCisJdGVzdF9jcmVhdGVfcmVwbyBBICYmCisJKAorCQljZCBBICYmCisJCWVjaG8gZmlyc3QgPmZpbGUxICYmCisJCWdpdCBhZGQgZmlsZTEgJiYKKwkJZ2l0IGNvbW1pdCAtbSBBLWluaXRpYWwKKwkpCisnCiAKLWNkICIkYmFzZV9kaXIiCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmVwYXJpbmcgc2Vjb25kIHJlcG9zaXRvcnknICcKKwlnaXQgY2xvbmUgQSBCICYmCisJKAorCQljZCBCICYmCisJCWVjaG8gc2Vjb25kID5maWxlMiAmJgorCQlnaXQgYWRkIGZpbGUyICYmCisJCWdpdCBjb21taXQgLW0gQi1hZGRpdGlvbiAmJgorCQlnaXQgcmVwYWNrIC1hIC1kICYmCisJCWdpdCBwcnVuZQorCSkKKycKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAncHJlcGFyaW5nIHNlY29uZCByZXBvc2l0b3J5JyBcCi0nZ2l0IGNsb25lIEEgQiAmJiBjZCBCICYmCi1lY2hvIHNlY29uZCA+IGZpbGUyICYmCi1naXQgYWRkIGZpbGUyICYmCi1naXQgY29tbWl0IC1tIEItYWRkaXRpb24gJiYKLWdpdCByZXBhY2sgLWEgLWQgJiYKLWdpdCBwcnVuZScKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ByZXBhcmluZyBzdXBlcnByb2plY3QnICcKKwl0ZXN0X2NyZWF0ZV9yZXBvIHN1cGVyICYmCisJKAorCQljZCBzdXBlciAmJgorCQllY2hvIGZpbGUgPmZpbGUgJiYKKwkJZ2l0IGFkZCBmaWxlICYmCisJCWdpdCBjb21taXQgLW0gQi1zdXBlci1pbml0aWFsCisJKQorJwogCi1jZCAiJGJhc2VfZGlyIgordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3VibW9kdWxlIGFkZCAtLXJlZmVyZW5jZSB1c2VzIGFsdGVybmF0ZXMnICcKKwkoCisJCWNkIHN1cGVyICYmCisJCWdpdCBzdWJtb2R1bGUgYWRkIC0tcmVmZXJlbmNlIC4uL0IgImZpbGU6Ly8kYmFzZV9kaXIvQSIgc3ViICYmCisJCWdpdCBjb21taXQgLW0gQi1zdXBlci1hZGRlZCAmJgorCQlnaXQgcmVwYWNrIC1hZAorCSkgJiYKKwl0ZXN0X2FsdGVybmF0ZV9pc191c2VkIHN1cGVyLy5naXQvbW9kdWxlcy9zdWIvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMgc3VwZXIvc3ViCisnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ByZXBhcmluZyBzdXBlcnByb2plY3QnIFwKLSd0ZXN0X2NyZWF0ZV9yZXBvIHN1cGVyICYmIGNkIHN1cGVyICYmCi1lY2hvIGZpbGUgPiBmaWxlICYmCi1naXQgYWRkIGZpbGUgJiYKLWdpdCBjb21taXQgLW0gQi1zdXBlci1pbml0aWFsJwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGhhdCByZWZlcmVuY2UgZ2V0cyB1c2VkIHdpdGggYWRkJyAnCisJKAorCQljZCBzdXBlci9zdWIgJiYKKwkJZWNobyAiMCBvYmplY3RzLCAwIGtpbG9ieXRlcyIgPmV4cGVjdGVkICYmCisJCWdpdCBjb3VudC1vYmplY3RzID5jdXJyZW50ICYmCisJCWRpZmYgZXhwZWN0ZWQgY3VycmVudAorCSkKKycKIAotY2QgIiRiYXNlX2RpciIKKyMgVGhlIHRlc3RzIHVwIHRvIHRoaXMgcG9pbnQsIGFuZCByZXBvc2l0b3JpZXMgY3JlYXRlZCBieSB0aGVtCisjIChBLCBCLCBzdXBlciBhbmQgc3VwZXIvc3ViKSwgYXJlIGFib3V0IHNldHRpbmcgdXAgdGhlIHN0YWdlCisjIGZvciBzdWJzZXF1ZW50IHRlc3RzIGFuZCBtZWFudCB0byBiZSBrZXB0IHRocm91Z2hvdXQgdGhlCisjIHJlbWFpbmRlciBvZiB0aGUgdGVzdC4KKyMgVGVzdHMgZnJvbSBoZXJlIG9uLCBpZiB0aGV5IGNyZWF0ZSB0aGVpciBvd24gdGVzdCByZXBvc2l0b3J5LAorIyBhcmUgZXhwZWN0ZWQgdG8gY2xlYW4gYWZ0ZXIgdGhlbXNlbHZlcy4KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3VibW9kdWxlIGFkZCAtLXJlZmVyZW5jZScgXAotJ2NkIHN1cGVyICYmIGdpdCBzdWJtb2R1bGUgYWRkIC0tcmVmZXJlbmNlIC4uL0IgImZpbGU6Ly8kYmFzZV9kaXIvQSIgc3ViICYmCi1naXQgY29tbWl0IC1tIEItc3VwZXItYWRkZWQnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cGRhdGluZyBzdXBlcnByb2plY3Qga2VlcHMgYWx0ZXJuYXRlcycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIHN1cGVyLWNsb25lIiAmJgorCWdpdCBjbG9uZSBzdXBlciBzdXBlci1jbG9uZSAmJgorCWdpdCAtQyBzdXBlci1jbG9uZSBzdWJtb2R1bGUgdXBkYXRlIC0taW5pdCAtLXJlZmVyZW5jZSAuLi9CICYmCisJdGVzdF9hbHRlcm5hdGVfaXNfdXNlZCBzdXBlci1jbG9uZS8uZ2l0L21vZHVsZXMvc3ViL29iamVjdHMvaW5mby9hbHRlcm5hdGVzIHN1cGVyLWNsb25lL3N1YgorJwogCi1jZCAiJGJhc2VfZGlyIgordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3VibW9kdWxlcyB1c2UgYWx0ZXJuYXRlcyB3aGVuIGNsb25pbmcgYSBzdXBlcnByb2plY3QnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBzdXBlci1jbG9uZSIgJiYKKwlnaXQgY2xvbmUgLS1yZWZlcmVuY2Ugc3VwZXIgLS1yZWN1cnNpdmUgc3VwZXIgc3VwZXItY2xvbmUgJiYKKwkoCisJCWNkIHN1cGVyLWNsb25lICYmCisJCSMgdGVzdCBzdXBlcnByb2plY3QgaGFzIGFsdGVybmF0ZXMgc2V0dXAgY29ycmVjdGx5CisJCXRlc3RfYWx0ZXJuYXRlX2lzX3VzZWQgLmdpdC9vYmplY3RzL2luZm8vYWx0ZXJuYXRlcyAuICYmCisJCSMgdGVzdCBzdWJtb2R1bGUgaGFzIGNvcnJlY3Qgc2V0dXAKKwkJdGVzdF9hbHRlcm5hdGVfaXNfdXNlZCAuZ2l0L21vZHVsZXMvc3ViL29iamVjdHMvaW5mby9hbHRlcm5hdGVzIHN1YgorCSkKKycKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnYWZ0ZXIgYWRkOiBleGlzdGVuY2Ugb2YgaW5mby9hbHRlcm5hdGVzJyBcCi0ndGVzdF9saW5lX2NvdW50ID0gMSBzdXBlci8uZ2l0L21vZHVsZXMvc3ViL29iamVjdHMvaW5mby9hbHRlcm5hdGVzJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWlzc2luZyBzdWJtb2R1bGUgYWx0ZXJuYXRlIGZhaWxzIGNsb25lIGFuZCBzdWJtb2R1bGUgdXBkYXRlJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc3VwZXItY2xvbmUiICYmCisJZ2l0IGNsb25lIHN1cGVyIHN1cGVyMiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjbG9uZSAtLXJlY3Vyc2l2ZSAtLXJlZmVyZW5jZSBzdXBlcjIgc3VwZXIyIHN1cGVyLWNsb25lICYmCisJKAorCQljZCBzdXBlci1jbG9uZSAmJgorCQkjIHRlc3Qgc3VwZXJwcm9qZWN0IGhhcyBhbHRlcm5hdGVzIHNldHVwIGNvcnJlY3RseQorCQl0ZXN0X2FsdGVybmF0ZV9pc191c2VkIC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMgLiAmJgorCQkjIHVwZGF0ZSBvZiB0aGUgc3VibW9kdWxlIHN1Y2NlZWRzCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBzdWJtb2R1bGUgdXBkYXRlIC0taW5pdCAmJgorCQkjIGFuZCB3ZSBoYXZlIG5vIGFsdGVybmF0ZXM6CisJCXRlc3RfbXVzdF9mYWlsIHRlc3RfYWx0ZXJuYXRlX2lzX3VzZWQgLmdpdC9tb2R1bGVzL3N1Yi9vYmplY3RzL2luZm8vYWx0ZXJuYXRlcyBzdWIgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgdGVzdF9wYXRoX2lzX2ZpbGUgc3ViL2ZpbGUxCisJKQorJwogCi1jZCAiJGJhc2VfZGlyIgotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICd0aGF0IHJlZmVyZW5jZSBnZXRzIHVzZWQgd2l0aCBhZGQnIFwKLSdjZCBzdXBlci9zdWIgJiYKLWVjaG8gIjAgb2JqZWN0cywgMCBraWxvYnl0ZXMiID4gZXhwZWN0ZWQgJiYKLWdpdCBjb3VudC1vYmplY3RzID4gY3VycmVudCAmJgotZGlmZiBleHBlY3RlZCBjdXJyZW50JwotCi1jZCAiJGJhc2VfZGlyIgotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uaW5nIHN1cGVycHJvamVjdCcgXAotJ2dpdCBjbG9uZSBzdXBlciBzdXBlci1jbG9uZScKLQotY2QgIiRiYXNlX2RpciIKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAndXBkYXRlIHdpdGggcmVmZXJlbmNlJyBcCi0nY2Qgc3VwZXItY2xvbmUgJiYgZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLS1pbml0IC0tcmVmZXJlbmNlIC4uL0InCi0KLWNkICIkYmFzZV9kaXIiCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FmdGVyIHVwZGF0ZTogZXhpc3RlbmNlIG9mIGluZm8vYWx0ZXJuYXRlcycgXAotJ3Rlc3RfbGluZV9jb3VudCA9IDEgc3VwZXItY2xvbmUvLmdpdC9tb2R1bGVzL3N1Yi9vYmplY3RzL2luZm8vYWx0ZXJuYXRlcycKLQotY2QgIiRiYXNlX2RpciIKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAndGhhdCByZWZlcmVuY2UgZ2V0cyB1c2VkIHdpdGggdXBkYXRlJyBcCi0nY2Qgc3VwZXItY2xvbmUvc3ViICYmCi1lY2hvICIwIG9iamVjdHMsIDAga2lsb2J5dGVzIiA+IGV4cGVjdGVkICYmCi1naXQgY291bnQtb2JqZWN0cyA+IGN1cnJlbnQgJiYKLWRpZmYgZXhwZWN0ZWQgY3VycmVudCcKLQotY2QgIiRiYXNlX2RpciIKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2lnbm9yaW5nIG1pc3Npbmcgc3VibW9kdWxlIGFsdGVybmF0ZXMgcGFzc2VzIGNsb25lIGFuZCBzdWJtb2R1bGUgdXBkYXRlJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc3VwZXItY2xvbmUiICYmCisJZ2l0IGNsb25lIC0tcmVmZXJlbmNlLWlmLWFibGUgc3VwZXIyIC0tcmVjdXJzaXZlIHN1cGVyMiBzdXBlci1jbG9uZSAmJgorCSgKKwkJY2Qgc3VwZXItY2xvbmUgJiYKKwkJIyB0ZXN0IHN1cGVycHJvamVjdCBoYXMgYWx0ZXJuYXRlcyBzZXR1cCBjb3JyZWN0bHkKKwkJdGVzdF9hbHRlcm5hdGVfaXNfdXNlZCAuZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzIC4gJiYKKwkJIyB1cGRhdGUgb2YgdGhlIHN1Ym1vZHVsZSBzdWNjZWVkcworCQlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtLWluaXQgJiYKKwkJIyBhbmQgd2UgaGF2ZSBubyBhbHRlcm5hdGVzOgorCQl0ZXN0X211c3RfZmFpbCB0ZXN0X2FsdGVybmF0ZV9pc191c2VkIC5naXQvbW9kdWxlcy9zdWIvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMgc3ViICYmCisJCXRlc3RfcGF0aF9pc19maWxlIHN1Yi9maWxlMQorCSkKKycKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3NDExLXN1Ym1vZHVsZS1jb25maWcuc2ggYi90L3Q3NDExLXN1Ym1vZHVsZS1jb25maWcuc2gKaW5kZXggZmM5N2MzMy4uNDc1NjJjZSAxMDA3NTUKLS0tIGEvdC90NzQxMS1zdWJtb2R1bGUtY29uZmlnLnNoCisrKyBiL3QvdDc0MTEtc3VibW9kdWxlLWNvbmZpZy5zaApAQCAtODIsNiArODIsMTcgQEAKIAkpCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Vycm9yIG1lc3NhZ2UgY29udGFpbnMgYmxvYiByZWZlcmVuY2UnICcKKwkoY2Qgc3VwZXIgJiYKKwkJc2hhMT0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwkJdGVzdC1zdWJtb2R1bGUtY29uZmlnIFwKKwkJCUhFQUQgYiBcCisJCQlIRUFEIHN1Ym1vZHVsZSBcCisJCQkJMj5hY3R1YWxfZXJyICYmCisJCXRlc3RfaTE4bmdyZXAgInN1Ym1vZHVsZS1ibG9iICRzaGExOi5naXRtb2R1bGVzIiBhY3R1YWxfZXJyID4vZGV2L251bGwKKwkpCisnCisKIGNhdCA+c3VwZXIvZXhwZWN0X3VybCA8PEVPRgogU3VibW9kdWxlIHVybDogJ2dpdEBzb21ld2hlcmUuZWxzZS5uZXQ6YS5naXQnIGZvciBwYXRoICdiJwogU3VibW9kdWxlIHVybDogJ2dpdEBzb21ld2hlcmUuZWxzZS5uZXQ6c3VibW9kdWxlLmdpdCcgZm9yIHBhdGggJ3N1Ym1vZHVsZScKZGlmZiAtLWdpdCBhL3QvdDc1MDgtc3RhdHVzLnNoIGIvdC90NzUwOC1zdGF0dXMuc2gKaW5kZXggYzNlZDdjYi4uZmIwMGU2ZCAxMDA3NTUKLS0tIGEvdC90NzUwOC1zdGF0dXMuc2gKKysrIGIvdC90NzUwOC1zdGF0dXMuc2gKQEAgLTgwMyw3ICs4MDMsNyBAQAogJwogCiBjYXQgPmV4cGVjdCA8PEVPRgotOjEwMDY0NCAxMDA2NDQgZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE0JZGlyMS9tb2RpZmllZAorOjEwMDY0NCAxMDA2NDQgJEVNUFRZX0JMT0IgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNCWRpcjEvbW9kaWZpZWQKIEVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHJlZnJlc2hlcyB0aGUgaW5kZXgnICcKIAl0b3VjaCBkaXIyL2FkZGVkICYmCkBAIC0xMzc3LDcgKzEzNzcsNyBAQAogCWdpdCBjb25maWcgLS1hZGQgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Ym5hbWUuaWdub3JlIGFsbCAmJgogCWdpdCBjb25maWcgLS1hZGQgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Ym5hbWUucGF0aCBzbSAmJgogCWdpdCBzdGF0dXMgPiBvdXRwdXQgJiYKLQl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0ICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQgJiYKIAlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzICAtLXJlbW92ZS1zZWN0aW9uIHN1Ym1vZHVsZS5zdWJuYW1lCiAnCiAKQEAgLTEzODcsNyArMTM4Nyw3IEBACiAJZ2l0IGNvbmZpZyAtLWFkZCBzdWJtb2R1bGUuc3VibmFtZS5pZ25vcmUgYWxsICYmCiAJZ2l0IGNvbmZpZyAtLWFkZCBzdWJtb2R1bGUuc3VibmFtZS5wYXRoIHNtICYmCiAJZ2l0IHN0YXR1cyA+IG91dHB1dCAmJgotCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dHB1dCAmJgogCWdpdCBjb25maWcgLS1yZW1vdmUtc2VjdGlvbiBzdWJtb2R1bGUuc3VibmFtZSAmJgogCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgIC0tcmVtb3ZlLXNlY3Rpb24gc3VibW9kdWxlLnN1Ym5hbWUKICcKZGlmZiAtLWdpdCBhL3QvdDc1MTAtc2lnbmVkLWNvbW1pdC5zaCBiL3QvdDc1MTAtc2lnbmVkLWNvbW1pdC5zaAppbmRleCA0MTc3YTg2Li43NjIxMzVhIDEwMDc1NQotLS0gYS90L3Q3NTEwLXNpZ25lZC1jb21taXQuc2gKKysrIGIvdC90NzUxMC1zaWduZWQtY29tbWl0LnNoCkBAIC0yLDYgKzIsNyBAQAogCiB0ZXN0X2Rlc2NyaXB0aW9uPSdzaWduZWQgY29tbWl0IHRlc3RzJwogLiAuL3Rlc3QtbGliLnNoCitHTlVQR0hPTUVfTk9UX1VTRUQ9JEdOVVBHSE9NRQogLiAiJFRFU1RfRElSRUNUT1JZL2xpYi1ncGcuc2giCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICdjcmVhdGUgc2lnbmVkIGNvbW1pdHMnICcKQEAgLTE5MCw3ICsxOTEsNyBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBHUEcgJ3Nob3cgdW5rbm93biBzaWduYXR1cmUgd2l0aCBjdXN0b20gZm9ybWF0JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAnc2hvdyB1bnRydXN0ZWQgc2lnbmF0dXJlIHdpdGggY3VzdG9tIGZvcm1hdCcgJwogCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKIAlVCiAJNjEwOTJFODVCNzIyNzE4OQpAQCAtMjAwLDYgKzIwMSwxNiBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBHUEcgJ3Nob3cgdW5rbm93biBzaWduYXR1cmUgd2l0aCBjdXN0b20gZm9ybWF0JyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCUUKKwk2MTA5MkU4NUI3MjI3MTg5CisKKwlFT0YKKwlHTlVQR0hPTUU9IiRHTlVQR0hPTUVfTk9UX1VTRUQiIGdpdCBsb2cgLTEgLS1mb3JtYXQ9IiVHPyVuJUdLJW4lR1MiIGVpZ2h0aC1zaWduZWQtYWx0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICdzaG93IGxhY2sgb2Ygc2lnbmF0dXJlIHdpdGggY3VzdG9tIGZvcm1hdCcgJwogCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKIAlOCkBAIC0yMTAsNCArMjIxLDExIEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAnbG9nLnNob3dzaWduYXR1cmUgYmVoYXZlcyBsaWtlIC0tc2hvdy1zaWduYXR1cmUnICcKKwl0ZXN0X2NvbmZpZyBsb2cuc2hvd3NpZ25hdHVyZSB0cnVlICYmCisJZ2l0IHNob3cgaW5pdGlhbCA+YWN0dWFsICYmCisJZ3JlcCAiZ3BnOiBTaWduYXR1cmUgbWFkZSIgYWN0dWFsICYmCisJZ3JlcCAiZ3BnOiBHb29kIHNpZ25hdHVyZSIgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzUxMi1zdGF0dXMtaGVscC5zaCBiL3QvdDc1MTItc3RhdHVzLWhlbHAuc2gKaW5kZXggNDlkMTlhMy4uNWMzZGI2NSAxMDA3NTUKLS0tIGEvdC90NzUxMi1zdGF0dXMtaGVscC5zaAorKysgYi90L3Q3NTEyLXN0YXR1cy1oZWxwLnNoCkBAIC0yOSw2ICsyOSw3IEBACiBPbiBicmFuY2ggY29uZmxpY3RzCiBZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4KICAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biAiZ2l0IGNvbW1pdCIpCisgICh1c2UgImdpdCBtZXJnZSAtLWFib3J0IiB0byBhYm9ydCB0aGUgbWVyZ2UpCiAKIFVubWVyZ2VkIHBhdGhzOgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gbWFyayByZXNvbHV0aW9uKQpkaWZmIC0tZ2l0IGEvdC90NzUxMy1pbnRlcnByZXQtdHJhaWxlcnMuc2ggYi90L3Q3NTEzLWludGVycHJldC10cmFpbGVycy5zaAppbmRleCBhZWU3ODVjLi40ZGQxZDdjIDEwMDc1NQotLS0gYS90L3Q3NTEzLWludGVycHJldC10cmFpbGVycy5zaAorKysgYi90L3Q3NTEzLWludGVycHJldC10cmFpbGVycy5zaApAQCAtMTI2LDYgKzEyNiwzMDUgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnd2l0aCBub24tdHJhaWxlciBsaW5lcyBtaXhlZCB3aXRoIFNpZ25lZC1vZmYtYnknICcKKwljYXQgPnBhdGNoIDw8LVxFT0YgJiYKKworCQl0aGlzIGlzIG5vdCBhIHRyYWlsZXIKKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisJCVNpZ25lZC1vZmYtYnk6IGEgPGFAZXhhbXBsZS5jb20+CisJCXRoaXMgaXMgbm90IGEgdHJhaWxlcgorCUVPRgorCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCisJCXRoaXMgaXMgbm90IGEgdHJhaWxlcgorCQl0aGlzIGlzIG5vdCBhIHRyYWlsZXIKKwkJU2lnbmVkLW9mZi1ieTogYSA8YUBleGFtcGxlLmNvbT4KKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisJCXRva2VuOiB2YWx1ZQorCUVPRgorCWdpdCBpbnRlcnByZXQtdHJhaWxlcnMgLS10cmFpbGVyICJ0b2tlbjogdmFsdWUiIHBhdGNoID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnd2l0aCBub24tdHJhaWxlciBsaW5lcyBtaXhlZCB3aXRoIGNoZXJyeSBwaWNrZWQgZnJvbScgJworCWNhdCA+cGF0Y2ggPDwtXEVPRiAmJgorCisJCXRoaXMgaXMgbm90IGEgdHJhaWxlcgorCQl0aGlzIGlzIG5vdCBhIHRyYWlsZXIKKwkJKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgeCkKKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisJRU9GCisJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisKKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisJCXRoaXMgaXMgbm90IGEgdHJhaWxlcgorCQkoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCB4KQorCQl0aGlzIGlzIG5vdCBhIHRyYWlsZXIKKwkJdG9rZW46IHZhbHVlCisJRU9GCisJZ2l0IGludGVycHJldC10cmFpbGVycyAtLXRyYWlsZXIgInRva2VuOiB2YWx1ZSIgcGF0Y2ggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd3aXRoIG5vbi10cmFpbGVyIGxpbmVzIG1peGVkIHdpdGggYSBjb25maWd1cmVkIHRyYWlsZXInICcKKwljYXQgPnBhdGNoIDw8LVxFT0YgJiYKKworCQl0aGlzIGlzIG5vdCBhIHRyYWlsZXIKKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisJCU15LXRyYWlsZXI6IHgKKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisJRU9GCisJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisKKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisJCXRoaXMgaXMgbm90IGEgdHJhaWxlcgorCQlNeS10cmFpbGVyOiB4CisJCXRoaXMgaXMgbm90IGEgdHJhaWxlcgorCQl0b2tlbjogdmFsdWUKKwlFT0YKKwl0ZXN0X2NvbmZpZyB0cmFpbGVyLm15LmtleSAiTXktdHJhaWxlcjogIiAmJgorCWdpdCBpbnRlcnByZXQtdHJhaWxlcnMgLS10cmFpbGVyICJ0b2tlbjogdmFsdWUiIHBhdGNoID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnd2l0aCBub24tdHJhaWxlciBsaW5lcyBtaXhlZCB3aXRoIGEgbm9uLWNvbmZpZ3VyZWQgdHJhaWxlcicgJworCWNhdCA+cGF0Y2ggPDwtXEVPRiAmJgorCisJCXRoaXMgaXMgbm90IGEgdHJhaWxlcgorCQl0aGlzIGlzIG5vdCBhIHRyYWlsZXIKKwkJSS1hbS1ub3QtY29uZmlndXJlZDogeAorCQl0aGlzIGlzIG5vdCBhIHRyYWlsZXIKKwlFT0YKKwljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKworCQl0aGlzIGlzIG5vdCBhIHRyYWlsZXIKKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisJCUktYW0tbm90LWNvbmZpZ3VyZWQ6IHgKKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisKKwkJdG9rZW46IHZhbHVlCisJRU9GCisJdGVzdF9jb25maWcgdHJhaWxlci5teS5rZXkgIk15LXRyYWlsZXI6ICIgJiYKKwlnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIC0tdHJhaWxlciAidG9rZW46IHZhbHVlIiBwYXRjaCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dpdGggYWxsIG5vbi1jb25maWd1cmVkIHRyYWlsZXJzJyAnCisJY2F0ID5wYXRjaCA8PC1cRU9GICYmCisKKwkJSS1hbS1ub3QtY29uZmlndXJlZDogeAorCQlJLWFtLWFsc28tbm90LWNvbmZpZ3VyZWQ6IHgKKwlFT0YKKwljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKworCQlJLWFtLW5vdC1jb25maWd1cmVkOiB4CisJCUktYW0tYWxzby1ub3QtY29uZmlndXJlZDogeAorCQl0b2tlbjogdmFsdWUKKwlFT0YKKwl0ZXN0X2NvbmZpZyB0cmFpbGVyLm15LmtleSAiTXktdHJhaWxlcjogIiAmJgorCWdpdCBpbnRlcnByZXQtdHJhaWxlcnMgLS10cmFpbGVyICJ0b2tlbjogdmFsdWUiIHBhdGNoID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnd2l0aCBub24tdHJhaWxlciBsaW5lcyBvbmx5JyAnCisJY2F0ID5wYXRjaCA8PC1cRU9GICYmCisKKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisJRU9GCisJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisKKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisKKwkJdG9rZW46IHZhbHVlCisJRU9GCisJZ2l0IGludGVycHJldC10cmFpbGVycyAtLXRyYWlsZXIgInRva2VuOiB2YWx1ZSIgcGF0Y2ggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsaW5lIHdpdGggbGVhZGluZyB3aGl0ZXNwYWNlIGlzIG5vdCB0cmFpbGVyJyAnCisJcV90b190YWIgPnBhdGNoIDw8LVxFT0YgJiYKKworCQlRdG9rZW46IHZhbHVlCisJRU9GCisJcV90b190YWIgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKworCQlRdG9rZW46IHZhbHVlCisKKwkJdG9rZW46IHZhbHVlCisJRU9GCisJZ2l0IGludGVycHJldC10cmFpbGVycyAtLXRyYWlsZXIgInRva2VuOiB2YWx1ZSIgcGF0Y2ggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtdWx0aWxpbmUgZmllbGQgdHJlYXRlZCBhcyBvbmUgdHJhaWxlciBmb3IgMjUlIGNoZWNrJyAnCisJcV90b190YWIgPnBhdGNoIDw8LVxFT0YgJiYKKworCQlTaWduZWQtb2ZmLWJ5OiBhIDxhQGV4YW1wbGUuY29tPgorCQluYW1lOiB2YWx1ZSBvbgorCQlRbXVsdGlwbGUgbGluZXMKKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisJCXRoaXMgaXMgbm90IGEgdHJhaWxlcgorCQl0aGlzIGlzIG5vdCBhIHRyYWlsZXIKKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisJCXRoaXMgaXMgbm90IGEgdHJhaWxlcgorCQl0aGlzIGlzIG5vdCBhIHRyYWlsZXIKKwlFT0YKKwlxX3RvX3RhYiA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCisJCVNpZ25lZC1vZmYtYnk6IGEgPGFAZXhhbXBsZS5jb20+CisJCW5hbWU6IHZhbHVlIG9uCisJCVFtdWx0aXBsZSBsaW5lcworCQl0aGlzIGlzIG5vdCBhIHRyYWlsZXIKKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisJCXRoaXMgaXMgbm90IGEgdHJhaWxlcgorCQl0aGlzIGlzIG5vdCBhIHRyYWlsZXIKKwkJdGhpcyBpcyBub3QgYSB0cmFpbGVyCisJCXRoaXMgaXMgbm90IGEgdHJhaWxlcgorCQluYW1lOiB2YWx1ZQorCUVPRgorCWdpdCBpbnRlcnByZXQtdHJhaWxlcnMgLS10cmFpbGVyICJuYW1lOiB2YWx1ZSIgcGF0Y2ggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtdWx0aWxpbmUgZmllbGQgdHJlYXRlZCBhcyBhdG9taWMgZm9yIHBsYWNlbWVudCcgJworCXFfdG9fdGFiID5wYXRjaCA8PC1cRU9GICYmCisKKwkJYW5vdGhlcjogdHJhaWxlcgorCQluYW1lOiB2YWx1ZSBvbgorCQlRbXVsdGlwbGUgbGluZXMKKwkJYW5vdGhlcjogdHJhaWxlcgorCUVPRgorCXFfdG9fdGFiID5leHBlY3RlZCA8PC1cRU9GICYmCisKKwkJYW5vdGhlcjogdHJhaWxlcgorCQluYW1lOiB2YWx1ZSBvbgorCQlRbXVsdGlwbGUgbGluZXMKKwkJbmFtZTogdmFsdWUKKwkJYW5vdGhlcjogdHJhaWxlcgorCUVPRgorCXRlc3RfY29uZmlnIHRyYWlsZXIubmFtZS53aGVyZSBhZnRlciAmJgorCWdpdCBpbnRlcnByZXQtdHJhaWxlcnMgLS10cmFpbGVyICJuYW1lOiB2YWx1ZSIgcGF0Y2ggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtdWx0aWxpbmUgZmllbGQgdHJlYXRlZCBhcyBhdG9taWMgZm9yIHJlcGxhY2VtZW50JyAnCisJcV90b190YWIgPnBhdGNoIDw8LVxFT0YgJiYKKworCQlhbm90aGVyOiB0cmFpbGVyCisJCW5hbWU6IHZhbHVlIG9uCisJCVFtdWx0aXBsZSBsaW5lcworCQlhbm90aGVyOiB0cmFpbGVyCisJRU9GCisJcV90b190YWIgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKworCQlhbm90aGVyOiB0cmFpbGVyCisJCWFub3RoZXI6IHRyYWlsZXIKKwkJbmFtZTogdmFsdWUKKwlFT0YKKwl0ZXN0X2NvbmZpZyB0cmFpbGVyLm5hbWUuaWZleGlzdHMgcmVwbGFjZSAmJgorCWdpdCBpbnRlcnByZXQtdHJhaWxlcnMgLS10cmFpbGVyICJuYW1lOiB2YWx1ZSIgcGF0Y2ggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtdWx0aWxpbmUgZmllbGQgdHJlYXRlZCBhcyBhdG9taWMgZm9yIGRpZmZlcmVuY2UgY2hlY2snICcKKwlxX3RvX3RhYiA+cGF0Y2ggPDwtXEVPRiAmJgorCisJCWFub3RoZXI6IHRyYWlsZXIKKwkJbmFtZTogZmlyc3QgbGluZQorCQlRc2Vjb25kIGxpbmUKKwkJYW5vdGhlcjogdHJhaWxlcgorCUVPRgorCXRlc3RfY29uZmlnIHRyYWlsZXIubmFtZS5pZmV4aXN0cyBhZGRJZkRpZmZlcmVudCAmJgorCisJcV90b190YWIgPnRyYWlsZXIgPDwtXEVPRiAmJgorCQluYW1lOiBmaXJzdCBsaW5lCisJCVFzZWNvbmQgbGluZQorCUVPRgorCXFfdG9fdGFiID5leHBlY3RlZCA8PC1cRU9GICYmCisKKwkJYW5vdGhlcjogdHJhaWxlcgorCQluYW1lOiBmaXJzdCBsaW5lCisJCVFzZWNvbmQgbGluZQorCQlhbm90aGVyOiB0cmFpbGVyCisJRU9GCisJZ2l0IGludGVycHJldC10cmFpbGVycyAtLXRyYWlsZXIgIiQoY2F0IHRyYWlsZXIpIiBwYXRjaCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisKKwlxX3RvX3RhYiA+dHJhaWxlciA8PC1cRU9GICYmCisJCW5hbWU6IGZpcnN0IGxpbmUKKwkJUVFRUVFzZWNvbmQgbGluZQorCUVPRgorCXFfdG9fdGFiID5leHBlY3RlZCA8PC1cRU9GICYmCisKKwkJYW5vdGhlcjogdHJhaWxlcgorCQluYW1lOiBmaXJzdCBsaW5lCisJCVFzZWNvbmQgbGluZQorCQlhbm90aGVyOiB0cmFpbGVyCisJCW5hbWU6IGZpcnN0IGxpbmUKKwkJUVFRUVFzZWNvbmQgbGluZQorCUVPRgorCWdpdCBpbnRlcnByZXQtdHJhaWxlcnMgLS10cmFpbGVyICIkKGNhdCB0cmFpbGVyKSIgcGF0Y2ggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCisJcV90b190YWIgPnRyYWlsZXIgPDwtXEVPRiAmJgorCQluYW1lOiBmaXJzdCBsaW5lICpESUZGRVJFTlQqCisJCVFzZWNvbmQgbGluZQorCUVPRgorCXFfdG9fdGFiID5leHBlY3RlZCA8PC1cRU9GICYmCisKKwkJYW5vdGhlcjogdHJhaWxlcgorCQluYW1lOiBmaXJzdCBsaW5lCisJCVFzZWNvbmQgbGluZQorCQlhbm90aGVyOiB0cmFpbGVyCisJCW5hbWU6IGZpcnN0IGxpbmUgKkRJRkZFUkVOVCoKKwkJUXNlY29uZCBsaW5lCisJRU9GCisJZ2l0IGludGVycHJldC10cmFpbGVycyAtLXRyYWlsZXIgIiQoY2F0IHRyYWlsZXIpIiBwYXRjaCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ211bHRpbGluZSBmaWVsZCB0cmVhdGVkIGFzIGF0b21pYyBmb3IgbmVpZ2hib3IgY2hlY2snICcKKwlxX3RvX3RhYiA+cGF0Y2ggPDwtXEVPRiAmJgorCisJCWFub3RoZXI6IHRyYWlsZXIKKwkJbmFtZTogZmlyc3QgbGluZQorCQlRc2Vjb25kIGxpbmUKKwkJYW5vdGhlcjogdHJhaWxlcgorCUVPRgorCXRlc3RfY29uZmlnIHRyYWlsZXIubmFtZS53aGVyZSBhZnRlciAmJgorCXRlc3RfY29uZmlnIHRyYWlsZXIubmFtZS5pZmV4aXN0cyBhZGRJZkRpZmZlcmVudE5laWdoYm9yICYmCisKKwlxX3RvX3RhYiA+dHJhaWxlciA8PC1cRU9GICYmCisJCW5hbWU6IGZpcnN0IGxpbmUKKwkJUXNlY29uZCBsaW5lCisJRU9GCisJcV90b190YWIgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKworCQlhbm90aGVyOiB0cmFpbGVyCisJCW5hbWU6IGZpcnN0IGxpbmUKKwkJUXNlY29uZCBsaW5lCisJCWFub3RoZXI6IHRyYWlsZXIKKwlFT0YKKwlnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIC0tdHJhaWxlciAiJChjYXQgdHJhaWxlcikiIHBhdGNoID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKKworCXFfdG9fdGFiID50cmFpbGVyIDw8LVxFT0YgJiYKKwkJbmFtZTogZmlyc3QgbGluZQorCQlRUVFRUXNlY29uZCBsaW5lCisJRU9GCisJcV90b190YWIgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKworCQlhbm90aGVyOiB0cmFpbGVyCisJCW5hbWU6IGZpcnN0IGxpbmUKKwkJUXNlY29uZCBsaW5lCisJCW5hbWU6IGZpcnN0IGxpbmUKKwkJUVFRUVFzZWNvbmQgbGluZQorCQlhbm90aGVyOiB0cmFpbGVyCisJRU9GCisJZ2l0IGludGVycHJldC10cmFpbGVycyAtLXRyYWlsZXIgIiQoY2F0IHRyYWlsZXIpIiBwYXRjaCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dpdGggY29uZmlnIHNldHVwJyAnCiAJZ2l0IGNvbmZpZyB0cmFpbGVyLmFjay5rZXkgIkFja2VkLWJ5OiAiICYmCiAJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCmRpZmYgLS1naXQgYS90L3Q3NTE3LXBlci1yZXBvLWVtYWlsLnNoIGIvdC90NzUxNy1wZXItcmVwby1lbWFpbC5zaAppbmRleCAzMzdlNmUzLi4yYTIyZmE3IDEwMDc1NQotLS0gYS90L3Q3NTE3LXBlci1yZXBvLWVtYWlsLnNoCisrKyBiL3QvdDc1MTctcGVyLXJlcG8tZW1haWwuc2gKQEAgLTM2LDQgKzM2LDUxIEBACiAJZ2l0IGNsb25lIC4gY2xvbmUKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0IHVwIHJlYmFzZSBzY2VuYXJpb3MnICcKKwkjIHRlbXBvcmFyaWx5IGVuYWJsZSBhbiBhY3R1YWwgaWRlbnQgZm9yIHRoaXMgc2V0dXAKKwl0ZXN0X2NvbmZpZyB1c2VyLmVtYWlsIGZvb0BleGFtcGxlLmNvbSAmJgorCXRlc3RfY29tbWl0IG5ldyAmJgorCWdpdCBicmFuY2ggc2lkZS13aXRob3V0LWNvbW1pdCBIRUFEXiAmJgorCWdpdCBjaGVja291dCAtYiBzaWRlLXdpdGgtY29tbWl0IEhFQUReICYmCisJdGVzdF9jb21taXQgc2lkZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmYXN0LWZvcndhcmQgcmViYXNlIGRvZXMgbm90IGNhcmUgYWJvdXQgaWRlbnQnICcKKwlnaXQgY2hlY2tvdXQgLUIgdG1wIHNpZGUtd2l0aG91dC1jb21taXQgJiYKKwlnaXQgcmViYXNlIG1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdub24tZmFzdC1mb3J3YXJkIHJlYmFzZSByZWZ1c2VzIHRvIHdyaXRlIGNvbW1pdHMnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZWJhc2UgLS1hYm9ydCB8fCB0cnVlIiAmJgorCWdpdCBjaGVja291dCAtQiB0bXAgc2lkZS13aXRoLWNvbW1pdCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgbWFzdGVyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zhc3QtZm9yd2FyZCByZWJhc2UgZG9lcyBub3QgY2FyZSBhYm91dCBpZGVudCAoaW50ZXJhY3RpdmUpJyAnCisJZ2l0IGNoZWNrb3V0IC1CIHRtcCBzaWRlLXdpdGhvdXQtY29tbWl0ICYmCisJZ2l0IHJlYmFzZSAtaSBtYXN0ZXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm9uLWZhc3QtZm9yd2FyZCByZWJhc2UgcmVmdXNlcyB0byB3cml0ZSBjb21taXRzIChpbnRlcmFjdGl2ZSknICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZWJhc2UgLS1hYm9ydCB8fCB0cnVlIiAmJgorCWdpdCBjaGVja291dCAtQiB0bXAgc2lkZS13aXRoLWNvbW1pdCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLWkgbWFzdGVyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vb3AgaW50ZXJhY3RpdmUgcmViYXNlIGRvZXMgbm90IGNhcmUgYWJvdXQgaWRlbnQnICcKKwlnaXQgY2hlY2tvdXQgLUIgdG1wIHNpZGUtd2l0aC1jb21taXQgJiYKKwlnaXQgcmViYXNlIC1pIEhFQUReCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zhc3QtZm9yd2FyZCByZWJhc2UgZG9lcyBub3QgY2FyZSBhYm91dCBpZGVudCAocHJlc2VydmUpJyAnCisJZ2l0IGNoZWNrb3V0IC1CIHRtcCBzaWRlLXdpdGhvdXQtY29tbWl0ICYmCisJZ2l0IHJlYmFzZSAtcCBtYXN0ZXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm9uLWZhc3QtZm9yd2FyZCByZWJhc2UgcmVmdXNlcyB0byB3cml0ZSBjb21taXRzIChwcmVzZXJ2ZSknICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZWJhc2UgLS1hYm9ydCB8fCB0cnVlIiAmJgorCWdpdCBjaGVja291dCAtQiB0bXAgc2lkZS13aXRoLWNvbW1pdCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLXAgbWFzdGVyCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzYwNy1tZXJnZS1vdmVyd3JpdGUuc2ggYi90L3Q3NjA3LW1lcmdlLW92ZXJ3cml0ZS5zaAppbmRleCA3NThhNjIzLi45NDQ0ZDZhIDEwMDc1NQotLS0gYS90L3Q3NjA3LW1lcmdlLW92ZXJ3cml0ZS5zaAorKysgYi90L3Q3NjA3LW1lcmdlLW92ZXJ3cml0ZS5zaApAQCAtMTE1LDcgKzExNSw3IEBACiBlcnJvcjogVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOgogCXN1YgogCXN1YjIKLVBsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIG1lcmdlLgorUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4KIEFib3J0aW5nCiBFT0YKIApAQCAtMTI1LDcgKzEyNSw3IEBACiAJY3AgaW1wb3J0YW50IHN1YiAmJgogCWNwIGltcG9ydGFudCBzdWIyICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIHN1YiAyPm91dCAmJgotCXRlc3RfY21wIG91dCBleHBlY3QgJiYKKwl0ZXN0X2kxOG5jbXAgb3V0IGV4cGVjdCAmJgogCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvTUVSR0VfSEVBRCAmJgogCXRlc3RfY21wIGltcG9ydGFudCBzdWIgJiYKIAl0ZXN0X2NtcCBpbXBvcnRhbnQgc3ViMiAmJgpkaWZmIC0tZ2l0IGEvdC90NzYwOS1tZXJnZS1jby1lcnJvci1tc2dzLnNoIGIvdC90NzYwOS1tZXJnZS1jby1lcnJvci1tc2dzLnNoCmluZGV4IDY3MjljYjMuLmY4MGJkYjggMTAwNzU1Ci0tLSBhL3QvdDc2MDktbWVyZ2UtY28tZXJyb3ItbXNncy5zaAorKysgYi90L3Q3NjA5LW1lcmdlLWNvLWVycm9yLW1zZ3Muc2gKQEAgLTMxLDcgKzMxLDcgQEAKIAlmb3VyCiAJdGhyZWUKIAl0d28KLVBsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIG1lcmdlLgorUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4KIEFib3J0aW5nCiBFT0YKIApAQCAtNTMsMTAgKzUzLDEwIEBACiAJZm91cgogCXRocmVlCiAJdHdvCi1QbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgY2FuIG1lcmdlLgorUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IG1lcmdlLgogZXJyb3I6IFRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZToKIAlmaXZlCi1QbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBtZXJnZS4KK1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuCiBBYm9ydGluZwogRU9GCiAKQEAgLTcyLDcgKzcyLDcgQEAKIGVycm9yOiBZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDoKIAlyZXAvb25lCiAJcmVwL3R3bwotUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IGNhbiBzd2l0Y2ggYnJhbmNoZXMuCitQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLgogQWJvcnRpbmcKIEVPRgogCkBAIC05NCw3ICs5NCw3IEBACiBlcnJvcjogWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6CiAJcmVwL29uZQogCXJlcC90d28KLVBsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBjYW4gc3dpdGNoIGJyYW5jaGVzLgorUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4KIEFib3J0aW5nCiBFT0YKIApkaWZmIC0tZ2l0IGEvdC90NzYxMC1tZXJnZXRvb2wuc2ggYi90L3Q3NjEwLW1lcmdldG9vbC5zaAppbmRleCA3NjMwNmNmLi42ZDlmMjE1IDEwMDc1NQotLS0gYS90L3Q3NjEwLW1lcmdldG9vbC5zaAorKysgYi90L3Q3NjEwLW1lcmdldG9vbC5zaApAQCAtNTg5LDcgKzU4OSwxMiBAQAogCWdpdCByZXNldCAtLWhhcmQgbWFzdGVyID4vZGV2L251bGwgMj4mMQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZW1wb3JhcnkgZmlsZW5hbWVzIGFyZSB1c2VkIHdpdGggbWVyZ2V0b29sLndyaXRlVG9UZW1wJyAnCit0ZXN0X2xhenlfcHJlcmVxIE1LVEVNUCAnCisJdGVtcGRpcj0kKG1rdGVtcCAtZCAtdCBmb28uWFhYWFhYKSAmJgorCXRlc3QgLWQgIiR0ZW1wZGlyIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIE1LVEVNUCAndGVtcG9yYXJ5IGZpbGVuYW1lcyBhcmUgdXNlZCB3aXRoIG1lcmdldG9vbC53cml0ZVRvVGVtcCcgJwogCWdpdCBjaGVja291dCAtYiB0ZXN0MTYgYnJhbmNoMSAmJgogCXRlc3RfY29uZmlnIG1lcmdldG9vbC53cml0ZVRvVGVtcCB0cnVlICYmCiAJdGVzdF9jb25maWcgbWVyZ2V0b29sLm15ZWNoby5jbWQgImVjaG8gXCJcJExPQ0FMXCIiICYmCkBAIC02MDEsNCArNjA2LDY0IEBACiAJZ2l0IHJlc2V0IC0taGFyZCBtYXN0ZXIgPi9kZXYvbnVsbCAyPiYxCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYub3JkZXJGaWxlIGNvbmZpZ3VyYXRpb24gaXMgaG9ub3JlZCcgJworCXRlc3RfY29uZmlnIGRpZmYub3JkZXJGaWxlIG9yZGVyLWZpbGUgJiYKKwl0ZXN0X2NvbmZpZyBtZXJnZXRvb2wubXllY2hvLmNtZCAiZWNobyBcIlwkTE9DQUxcIiIgJiYKKwl0ZXN0X2NvbmZpZyBtZXJnZXRvb2wubXllY2hvLnRydXN0RXhpdENvZGUgdHJ1ZSAmJgorCWVjaG8gYiA+b3JkZXItZmlsZSAmJgorCWVjaG8gYSA+Pm9yZGVyLWZpbGUgJiYKKwlnaXQgY2hlY2tvdXQgLWIgb3JkZXItZmlsZS1zdGFydCBtYXN0ZXIgJiYKKwllY2hvIHN0YXJ0ID5hICYmCisJZWNobyBzdGFydCA+YiAmJgorCWdpdCBhZGQgYSBiICYmCisJZ2l0IGNvbW1pdCAtbSBzdGFydCAmJgorCWdpdCBjaGVja291dCAtYiBvcmRlci1maWxlLXNpZGUxIG9yZGVyLWZpbGUtc3RhcnQgJiYKKwllY2hvIHNpZGUxID5hICYmCisJZWNobyBzaWRlMSA+YiAmJgorCWdpdCBhZGQgYSBiICYmCisJZ2l0IGNvbW1pdCAtbSBzaWRlMSAmJgorCWdpdCBjaGVja291dCAtYiBvcmRlci1maWxlLXNpZGUyIG9yZGVyLWZpbGUtc3RhcnQgJiYKKwllY2hvIHNpZGUyID5hICYmCisJZWNobyBzaWRlMiA+YiAmJgorCWdpdCBhZGQgYSBiICYmCisJZ2l0IGNvbW1pdCAtbSBzaWRlMiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBvcmRlci1maWxlLXNpZGUxICYmCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCQlNZXJnaW5nOgorCQliCisJCWEKKwlFT0YKKwlnaXQgbWVyZ2V0b29sIC0tbm8tcHJvbXB0IC0tdG9vbCBteWVjaG8gPm91dHB1dCAmJgorCWdpdCBncmVwIC0tbm8taW5kZXggLWggLUEyIE1lcmdpbmc6IG91dHB1dCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCByZXNldCAtLWhhcmQgPi9kZXYvbnVsbAorJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWVyZ2V0b29sIC1Pb3JkZXItZmlsZSBpcyBob25vcmVkJyAnCisJdGVzdF9jb25maWcgZGlmZi5vcmRlckZpbGUgb3JkZXItZmlsZSAmJgorCXRlc3RfY29uZmlnIG1lcmdldG9vbC5teWVjaG8uY21kICJlY2hvIFwiXCRMT0NBTFwiIiAmJgorCXRlc3RfY29uZmlnIG1lcmdldG9vbC5teWVjaG8udHJ1c3RFeGl0Q29kZSB0cnVlICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIG9yZGVyLWZpbGUtc2lkZTEgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJCU1lcmdpbmc6CisJCWEKKwkJYgorCUVPRgorCWdpdCBtZXJnZXRvb2wgLU8vZGV2L251bGwgLS1uby1wcm9tcHQgLS10b29sIG15ZWNobyA+b3V0cHV0ICYmCisJZ2l0IGdyZXAgLS1uby1pbmRleCAtaCAtQTIgTWVyZ2luZzogb3V0cHV0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IHJlc2V0IC0taGFyZCA+L2Rldi9udWxsIDI+JjEgJiYKKworCWdpdCBjb25maWcgLS11bnNldCBkaWZmLm9yZGVyRmlsZSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBvcmRlci1maWxlLXNpZGUxICYmCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCQlNZXJnaW5nOgorCQliCisJCWEKKwlFT0YKKwlnaXQgbWVyZ2V0b29sIC1Pb3JkZXItZmlsZSAtLW5vLXByb21wdCAtLXRvb2wgbXllY2hvID5vdXRwdXQgJiYKKwlnaXQgZ3JlcCAtLW5vLWluZGV4IC1oIC1BMiBNZXJnaW5nOiBvdXRwdXQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgcmVzZXQgLS1oYXJkID4vZGV2L251bGwgMj4mMQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDc3MDEtcmVwYWNrLXVucGFjay11bnJlYWNoYWJsZS5zaCBiL3QvdDc3MDEtcmVwYWNrLXVucGFjay11bnJlYWNoYWJsZS5zaAppbmRleCBiNjZlMzgzLi45ODc1NzNjIDEwMDc1NQotLS0gYS90L3Q3NzAxLXJlcGFjay11bnBhY2stdW5yZWFjaGFibGUuc2gKKysrIGIvdC90NzcwMS1yZXBhY2stdW5wYWNrLXVucmVhY2hhYmxlLnNoCkBAIC0xMjIsNCArMTIyLDMyIEBACiAJZ2l0IGNhdC1maWxlIGJsb2IgOmZpbGUKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVwYWNrIC1rIGtlZXBzIHVucmVhY2hhYmxlIHBhY2tlZCBvYmplY3RzJyAnCisJIyBjcmVhdGUgcGFja2VkLWJ1dC11bnJlYWNoYWJsZSBvYmplY3QKKwlzaGExPSQoZWNobyB1bnJlYWNoYWJsZS1wYWNrZWQgfCBnaXQgaGFzaC1vYmplY3QgLXcgLS1zdGRpbikgJiYKKwlwYWNrPSQoZWNobyAkc2hhMSB8IGdpdCBwYWNrLW9iamVjdHMgLmdpdC9vYmplY3RzL3BhY2svcGFjaykgJiYKKwlnaXQgcHJ1bmUtcGFja2VkICYmCisKKwkjIC1rIHNob3VsZCBrZWVwIGl0CisJZ2l0IHJlcGFjayAtYWRrICYmCisJZ2l0IGNhdC1maWxlIC1wICRzaGExICYmCisKKwkjIGFuZCBkb3VibGUgY2hlY2sgdGhhdCB3aXRob3V0IC1rIGl0IHdvdWxkIGhhdmUgYmVlbiByZW1vdmVkCisJZ2l0IHJlcGFjayAtYWQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2F0LWZpbGUgLXAgJHNoYTEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVwYWNrIC1rIHBhY2tzIHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHMnICcKKwkjIGNyZWF0ZSBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3QKKwlzaGExPSQoZWNobyB3b3VsZC1iZS1kZWxldGVkLWxvb3NlIHwgZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4pICYmCisJb2JqcGF0aD0uZ2l0L29iamVjdHMvJChlY2hvICRzaGExIHwgc2VkICJzLC4uLCYvLCIpICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgJG9ianBhdGggJiYKKworCSMgYW5kIGNvbmZpcm0gdGhhdCB0aGUgbG9vc2Ugb2JqZWN0IGdvZXMgYXdheSwgYnV0IHdlIGNhbgorCSMgc3RpbGwgYWNjZXNzIGl0IChlcmdvLCBpdCBpcyBwYWNrZWQpCisJZ2l0IHJlcGFjayAtYWRrICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgJG9ianBhdGggJiYKKwlnaXQgY2F0LWZpbGUgLXAgJHNoYTEKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3ODAwLWRpZmZ0b29sLnNoIGIvdC90NzgwMC1kaWZmdG9vbC5zaAppbmRleCA3Y2U0Y2Q3Li43MGEyZGU0IDEwMDc1NQotLS0gYS90L3Q3ODAwLWRpZmZ0b29sLnNoCisrKyBiL3QvdDc4MDAtZGlmZnRvb2wuc2gKQEAgLTEyNCw2ICsxMjQsMTIgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnZGlmZnRvb2wgaG9ub3JzIGV4aXQgc3RhdHVzIGlmIGNvbW1hbmQgbm90IGZvdW5kJyAnCisJdGVzdF9jb25maWcgZGlmZnRvb2wubm9uZXhpc3RlbnQuY21kIGktZG9udC1leGlzdCAmJgorCXRlc3RfY29uZmlnIGRpZmZ0b29sLnRydXN0RXhpdENvZGUgZmFsc2UgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZnRvb2wgLXkgLXQgbm9uZXhpc3RlbnQgYnJhbmNoCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnZGlmZnRvb2wgaG9ub3JzIC0tZ3VpJyAnCiAJZGlmZnRvb2xfdGVzdF9zZXR1cCAmJgogCXRlc3RfY29uZmlnIG1lcmdlLnRvb2wgYm9ndXMtdG9vbCAmJgpAQCAtNDEyLDYgKzQxOCwyMCBAQAogCSkKICcKIAorcnVuX2Rpcl9kaWZmX3Rlc3QgJ2RpZmZ0b29sIC0tZGlyLWRpZmYgZnJvbSBzdWJkaXJlY3Rvcnkgd2l0aCBHSVRfRElSIHNldCcgJworCSgKKwkJR0lUX0RJUj0kKHB3ZCkvLmdpdCAmJgorCQlleHBvcnQgR0lUX0RJUiAmJgorCQlHSVRfV09SS19UUkVFPSQocHdkKSAmJgorCQlleHBvcnQgR0lUX1dPUktfVFJFRSAmJgorCQljZCBzdWIgJiYKKwkJZ2l0IGRpZmZ0b29sIC0tZGlyLWRpZmYgJHN5bWxpbmtzIC0tZXh0Y21kIGxzIFwKKwkJCWJyYW5jaCAtLSBzdWIgPm91dHB1dCAmJgorCQlncmVwIHN1YiBvdXRwdXQgJiYKKwkJISBncmVwIGZpbGUgb3V0cHV0CisJKQorJworCiBydW5fZGlyX2RpZmZfdGVzdCAnZGlmZnRvb2wgLS1kaXItZGlmZiB3aGVuIHdvcmt0cmVlIGZpbGUgaXMgbWlzc2luZycgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgcmVzZXQgLS1oYXJkICYmCiAJcm0gZmlsZTIgJiYKQEAgLTQ0Niw3ICs0NjYsNyBAQAogZm9yIGYgaW4gZmlsZSBmaWxlMiBzdWIvc3ViCiBkbwogCWVjaG8gIiRmIgotCXJlYWRsaW5rICIkMi8kZiIKKwlscyAtbGQgIiQyLyRmIiB8IHNlZCAtZSAncy8uKiAtPiAvLycKIGRvbmUgPmFjdHVhbAogRU9GCiAKZGlmZiAtLWdpdCBhL3QvdDc4MTAtZ3JlcC5zaCBiL3QvdDc4MTAtZ3JlcC5zaAppbmRleCAxZTcyOTcxLi5kZTI0MDVjIDEwMDc1NQotLS0gYS90L3Q3ODEwLWdyZXAuc2gKKysrIGIvdC90NzgxMC1ncmVwLnNoCkBAIC05LDcgKzksOSBAQAogLiAuL3Rlc3QtbGliLnNoCiAKIGNhdCA+aGVsbG8uYyA8PEVPRgorI2luY2x1ZGUgPGFzc2VydC5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CisKIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKIHsKIAlwcmludGYoIkhlbGxvIHdvcmxkLlxuIik7CkBAIC0xNzUsNyArMTc3LDcgQEAKIAogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImdyZXAgLWMgJEwgKG5vIC9kZXYvbnVsbCkiICcKIAkJISBnaXQgZ3JlcCAtYyB0ZXN0ICRIIHwgZ3JlcCAvZGV2L251bGwKLSAgICAgICAgJworCScKIAogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImdyZXAgLS1tYXgtZGVwdGggLTEgJEwiICcKIAkJewpAQCAtMzUzLDcgKzM1NSw3IEBACiBjYXQgPmV4cGVjdGVkIDw8RU9GCiBmaWxlOjUKIEVPRgotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCAtbCAtQycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCAtYyAtQycgJwogCWdpdCBncmVwIC1jIC1DMSBmb28gPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtNTc5LDcgKzU4MSw3IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyBncmVwICg5KScgJwotCWdpdCBsb2cgLWcgLS1ncmVwLXJlZmxvZz0iY29tbWl0OiB0aGlyZCIgLS1hdXRob3I9Im5vbi1leGlzdGFudCIgLS1wcmV0dHk9dGZvcm1hdDolcyA+YWN0dWFsICYmCisJZ2l0IGxvZyAtZyAtLWdyZXAtcmVmbG9nPSJjb21taXQ6IHRoaXJkIiAtLWF1dGhvcj0ibm9uLWV4aXN0ZW50IiAtLXByZXR0eT10Zm9ybWF0OiVzID5hY3R1YWwgJiYKIAk6ID5leHBlY3QgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC03MTUsNiArNzE3LDcgQEAKIAogY2F0ID5leHBlY3RlZCA8PEVPRgogaGVsbG8uYy0jaW5jbHVkZSA8c3RkaW8uaD4KK2hlbGxvLmMtCiBoZWxsby5jPWludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKIGhlbGxvLmMtewogaGVsbG8uYy0JcHJpbnRmKCJIZWxsbyB3b3JsZC5cbiIpOwpAQCAtNzQxLDYgKzc0NCwxNiBAQAogJwogCiBjYXQgPmV4cGVjdGVkIDw8RU9GCitoZWxsby5jLSNpbmNsdWRlIDxhc3NlcnQuaD4KK2hlbGxvLmM6I2luY2x1ZGUgPHN0ZGlvLmg+CitFT0YKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCAtVyBzaG93cyBubyB0cmFpbGluZyBlbXB0eSBsaW5lcycgJworCWdpdCBncmVwIC1XIHN0ZGlvID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKworY2F0ID5leHBlY3RlZCA8PEVPRgogaGVsbG8uYz0JcHJpbnRmKCJIZWxsbyB3b3JsZC5cbiIpOwogaGVsbG8uYzoJcmV0dXJuIDA7CiBoZWxsby5jLQkvKiBjaGFyID8/ICovCkBAIC0xMjMyLDggKzEyNDUsOCBAQAogCiBjYXQgPmV4cGVjdGVkIDw8RU9GCiA8Qk9MRDtHUkVFTj5oZWxsby5jPFJFU0VUPgotMjppbnQgbWFpbihpbnQgYXJnYywgY29uc3QgPEJMQUNLO0JZRUxMT1c+Y2hhcjxSRVNFVD4gKiphcmd2KQotNjoJLyogPEJMQUNLO0JZRUxMT1c+Y2hhcjxSRVNFVD4gPz8gKi8KKzQ6aW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IDxCTEFDSztCWUVMTE9XPmNoYXI8UkVTRVQ+ICoqYXJndikKKzg6CS8qIDxCTEFDSztCWUVMTE9XPmNoYXI8UkVTRVQ+ID8/ICovCiAKIDxCT0xEO0dSRUVOPmhlbGxvX3dvcmxkPFJFU0VUPgogMzpIZWw8QkxBQ0s7QllFTExPVz5sb193PFJFU0VUPm9ybGQKQEAgLTEzNDAsNyArMTM1Myw3IEBACiAnCiAKIGNhdCA+ZXhwZWN0ZWQgPDxFT0YKLWhlbGxvLmMtI2luY2x1ZGUgPHN0ZGlvLmg+CitoZWxsby5jLQogaGVsbG8uYz1pbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCiBoZWxsby5jLXsKIGhlbGxvLmM6CXByPFJFRD5pbnQ8UkVTRVQ+ZigiPFJFRD5IZWxsbzxSRVNFVD4gd29ybGQuXG4iKTsKQEAgLTEzNjQsNCArMTM3Nyw2MiBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIGNhbiBmaW5kIHRoaW5ncyBvbmx5IGluIHRoZSB3b3JrIHRyZWUnICcKKwk6ID53b3JrLXRyZWUtb25seSAmJgorCWdpdCBhZGQgd29yay10cmVlLW9ubHkgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBybSAtZiB3b3JrLXRyZWUtb25seSIgJiYKKwllY2hvICJmaW5kIGluIHdvcmsgdHJlZSIgPndvcmstdHJlZS1vbmx5ICYmCisJZ2l0IGdyZXAgLS1xdWlldCAiZmluZCBpbiB3b3JrIHRyZWUiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgLS1xdWlldCAtLWNhY2hlZCAiZmluZCBpbiB3b3JrIHRyZWUiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgLS1xdWlldCAiZmluZCBpbiB3b3JrIHRyZWUiIEhFQUQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCBjYW4gZmluZCB0aGluZ3Mgb25seSBpbiB0aGUgd29yayB0cmVlIChpLXQtYSknICcKKwllY2hvICJpbnRlbmQgdG8gYWRkIHRoaXMiID5pbnRlbmQtdG8tYWRkICYmCisJZ2l0IGFkZCAtTiBpbnRlbmQtdG8tYWRkICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcm0gLWYgaW50ZW5kLXRvLWFkZCIgJiYKKwlnaXQgZ3JlcCAtLXF1aWV0ICJpbnRlbmQgdG8gYWRkIHRoaXMiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgLS1xdWlldCAtLWNhY2hlZCAiaW50ZW5kIHRvIGFkZCB0aGlzIiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBncmVwIC0tcXVpZXQgImludGVuZCB0byBhZGQgdGhpcyIgSEVBRAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIGRvZXMgbm90IHNlYXJjaCB3b3JrIHRyZWUgd2l0aCBhc3N1bWUgdW5jaGFuZ2VkJyAnCisJZWNobyAiaW50ZW5kIHRvIGFkZCB0aGlzIiA+aW50ZW5kLXRvLWFkZCAmJgorCWdpdCBhZGQgLU4gaW50ZW5kLXRvLWFkZCAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1hc3N1bWUtdW5jaGFuZ2VkIGludGVuZC10by1hZGQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBybSAtZiBpbnRlbmQtdG8tYWRkIiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBncmVwIC0tcXVpZXQgImludGVuZCB0byBhZGQgdGhpcyIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZ3JlcCAtLXF1aWV0IC0tY2FjaGVkICJpbnRlbmQgdG8gYWRkIHRoaXMiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgLS1xdWlldCAiaW50ZW5kIHRvIGFkZCB0aGlzIiBIRUFECisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgY2FuIGZpbmQgdGhpbmdzIG9ubHkgaW4gdGhlIGluZGV4JyAnCisJZWNobyAib25seSBpbiB0aGUgaW5kZXgiID5jYWNoZS10aGlzICYmCisJZ2l0IGFkZCBjYWNoZS10aGlzICYmCisJcm0gY2FjaGUtdGhpcyAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJtIC0tY2FjaGVkIGNhY2hlLXRoaXMiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgLS1xdWlldCAib25seSBpbiB0aGUgaW5kZXgiICYmCisJZ2l0IGdyZXAgLS1xdWlldCAtLWNhY2hlZCAib25seSBpbiB0aGUgaW5kZXgiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgLS1xdWlldCAib25seSBpbiB0aGUgaW5kZXgiIEhFQUQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCBkb2VzIG5vdCByZXBvcnQgaS10LWEgd2l0aCAtTCAtLWNhY2hlZCcgJworCWVjaG8gImludGVuZCB0byBhZGQgdGhpcyIgPmludGVuZC10by1hZGQgJiYKKwlnaXQgYWRkIC1OIGludGVuZC10by1hZGQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBybSAtZiBpbnRlbmQtdG8tYWRkIiAmJgorCWdpdCBscy1maWxlcyB8IGdyZXAgLXYgIl5pbnRlbmQtdG8tYWRkXCQiID5leHBlY3RlZCAmJgorCWdpdCBncmVwIC1MIC0tY2FjaGVkICJub25leGlzdGVudF9zdHJpbmciID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCBkb2VzIG5vdCByZXBvcnQgaS10LWEgYW5kIGFzc3VtZSB1bmNoYW5nZWQgd2l0aCAtTCcgJworCWVjaG8gImludGVuZCB0byBhZGQgdGhpcyIgPmludGVuZC10by1hZGQtYXNzdW1lLXVuY2hhbmdlZCAmJgorCWdpdCBhZGQgLU4gaW50ZW5kLXRvLWFkZC1hc3N1bWUtdW5jaGFuZ2VkICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcm0gLWYgaW50ZW5kLXRvLWFkZC1hc3N1bWUtdW5jaGFuZ2VkIiAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1hc3N1bWUtdW5jaGFuZ2VkIGludGVuZC10by1hZGQtYXNzdW1lLXVuY2hhbmdlZCAmJgorCWdpdCBscy1maWxlcyB8IGdyZXAgLXYgIl5pbnRlbmQtdG8tYWRkLWFzc3VtZS11bmNoYW5nZWRcJCIgPmV4cGVjdGVkICYmCisJZ2l0IGdyZXAgLUwgIm5vbmV4aXN0ZW50X3N0cmluZyIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDc4MTItZ3JlcC1pY2FzZS1ub24tYXNjaWkuc2ggYi90L3Q3ODEyLWdyZXAtaWNhc2Utbm9uLWFzY2lpLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE2OWZkOGQKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q3ODEyLWdyZXAtaWNhc2Utbm9uLWFzY2lpLnNoCkBAIC0wLDAgKzEsNzEgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdncmVwIGljYXNlIG9uIG5vbi1FbmdsaXNoIGxvY2FsZXMnCisKKy4gLi9saWItZ2V0dGV4dC5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdFVFRFWFRfTE9DQUxFICdzZXR1cCcgJworCXRlc3Rfd3JpdGVfbGluZXMgIlRJTFJBVU46IEhhbGzDsyBIZWltdXIhIiA+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCUxDX0FMTD0iJGlzX0lTX2xvY2FsZSIgJiYKKwlleHBvcnQgTENfQUxMCisnCisKK3Rlc3RfaGF2ZV9wcmVyZXEgR0VUVEVYVF9MT0NBTEUgJiYKK3Rlc3QtcmVnZXggIkhBTEzDkyIgIkhhbGzDsyIgSUNBU0UgJiYKK3Rlc3Rfc2V0X3ByZXJlcSBSRUdFWF9MT0NBTEUKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBSRUdFWF9MT0NBTEUgJ2dyZXAgbGl0ZXJhbCBzdHJpbmcsIG5vIC1GJyAnCisJZ2l0IGdyZXAgLWkgIlRJTFJBVU46IEhhbGzDsyBIZWltdXIhIiAmJgorCWdpdCBncmVwIC1pICJUSUxSQVVOOiBIQUxMw5MgSEVJTVVSISIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBHRVRURVhUX0xPQ0FMRSxMSUJQQ1JFICdncmVwIHBjcmUgdXRmLTggaWNhc2UnICcKKwlnaXQgZ3JlcCAtLXBlcmwtcmVnZXhwICAgICJUSUxSQVVOOiBILmxsw7MgSGVpbXVyISIgJiYKKwlnaXQgZ3JlcCAtLXBlcmwtcmVnZXhwIC1pICJUSUxSQVVOOiBILmxsw7MgSGVpbXVyISIgJiYKKwlnaXQgZ3JlcCAtLXBlcmwtcmVnZXhwIC1pICJUSUxSQVVOOiBILkxMw5MgSEVJTVVSISIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBHRVRURVhUX0xPQ0FMRSxMSUJQQ1JFICdncmVwIHBjcmUgdXRmLTggc3RyaW5nIHdpdGggIisiJyAnCisJdGVzdF93cml0ZV9saW5lcyAiVElMUkFVTjogSGFsbMOzw7MgSGVpbXVyISIgPmZpbGUyICYmCisJZ2l0IGFkZCBmaWxlMiAmJgorCWdpdCBncmVwIC1sIC0tcGVybC1yZWdleHAgIlRJTFJBVU46IEgubGzDsysgSGVpbXVyISIgPmFjdHVhbCAmJgorCWVjaG8gZmlsZSA+ZXhwZWN0ZWQgJiYKKwllY2hvIGZpbGUyID4+ZXhwZWN0ZWQgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBSRUdFWF9MT0NBTEUgJ2dyZXAgbGl0ZXJhbCBzdHJpbmcsIHdpdGggLUYnICcKKwlnaXQgZ3JlcCAtLWRlYnVnIC1pIC1GICJUSUxSQVVOOiBIYWxsw7MgSGVpbXVyISIgIDI+JjEgPi9kZXYvbnVsbCB8CisJCSBncmVwIGZpeGVkID5kZWJ1ZzEgJiYKKwl0ZXN0X3dyaXRlX2xpbmVzICJmaXhlZCBUSUxSQVVOOiBIYWxsw7MgSGVpbXVyISIgPmV4cGVjdDEgJiYKKwl0ZXN0X2NtcCBleHBlY3QxIGRlYnVnMSAmJgorCisJZ2l0IGdyZXAgLS1kZWJ1ZyAtaSAtRiAiVElMUkFVTjogSEFMTMOTIEhFSU1VUiEiICAyPiYxID4vZGV2L251bGwgfAorCQkgZ3JlcCBmaXhlZCA+ZGVidWcyICYmCisJdGVzdF93cml0ZV9saW5lcyAiZml4ZWQgVElMUkFVTjogSEFMTMOTIEhFSU1VUiEiID5leHBlY3QyICYmCisJdGVzdF9jbXAgZXhwZWN0MiBkZWJ1ZzIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBSRUdFWF9MT0NBTEUgJ2dyZXAgc3RyaW5nIHdpdGggcmVnZXgsIHdpdGggLUYnICcKKwl0ZXN0X3dyaXRlX2xpbmVzICJeKlRJTFJeQVVOOi4qIFxcSGFsbMOzIFwkSGVbXWltdXIhXCQiID5maWxlICYmCisKKwlnaXQgZ3JlcCAtLWRlYnVnIC1pIC1GICJeKlRJTFJeQVVOOi4qIFxcSGFsbMOzIFwkSGVbXWltdXIhXCQiIDI+JjEgPi9kZXYvbnVsbCB8CisJCSBncmVwIGZpeGVkID5kZWJ1ZzEgJiYKKwl0ZXN0X3dyaXRlX2xpbmVzICJmaXhlZCBcXF4qVElMUl5BVU46XFwuXFwqIFxcXFxIYWxsw7MgXCRIZVxcW11pbXVyIVxcXCQiID5leHBlY3QxICYmCisJdGVzdF9jbXAgZXhwZWN0MSBkZWJ1ZzEgJiYKKworCWdpdCBncmVwIC0tZGVidWcgLWkgLUYgIl4qVElMUl5BVU46LiogXFxIQUxMw5MgXCRIRVtdSU1VUiFcJCIgIDI+JjEgPi9kZXYvbnVsbCB8CisJCSBncmVwIGZpeGVkID5kZWJ1ZzIgJiYKKwl0ZXN0X3dyaXRlX2xpbmVzICJmaXhlZCBcXF4qVElMUl5BVU46XFwuXFwqIFxcXFxIQUxMw5MgXCRIRVxcW11JTVVSIVxcXCQiID5leHBlY3QyICYmCisJdGVzdF9jbXAgZXhwZWN0MiBkZWJ1ZzIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBSRUdFWF9MT0NBTEUgJ3BpY2theGUgLWkgb24gbm9uLWFzY2lpJyAnCisJZ2l0IGNvbW1pdCAtbSBmaXJzdCAmJgorCWdpdCBsb2cgLS1mb3JtYXQ9JWYgLWkgLVMiVElMUkFVTjogSEFMTMOTIEhFSU1VUiEiID5hY3R1YWwgJiYKKwllY2hvIGZpcnN0ID5leHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDc4MTMtZ3JlcC1pY2FzZS1pc28uc2ggYi90L3Q3ODEzLWdyZXAtaWNhc2UtaXNvLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVmZWY3ZmIKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q3ODEzLWdyZXAtaWNhc2UtaXNvLnNoCkBAIC0wLDAgKzEsMTkgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdncmVwIGljYXNlIG9uIG5vbi1FbmdsaXNoIGxvY2FsZXMnCisKKy4gLi9saWItZ2V0dGV4dC5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdFVFRFWFRfSVNPX0xPQ0FMRSAnc2V0dXAnICcKKwlwcmludGYgIlRJTFJBVU46IEhhbGzzIEhlaW11ciEiID5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJTENfQUxMPSIkaXNfSVNfaXNvX2xvY2FsZSIgJiYKKwlleHBvcnQgTENfQUxMCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR0VUVEVYVF9JU09fTE9DQUxFLExJQlBDUkUgJ2dyZXAgcGNyZSBzdHJpbmcnICcKKwlnaXQgZ3JlcCAtLXBlcmwtcmVnZXhwIC1pICJUSUxSQVVOOiBILmxs8yBIZWltdXIhIiAmJgorCWdpdCBncmVwIC0tcGVybC1yZWdleHAgLWkgIlRJTFJBVU46IEguTEzTIEhFSU1VUiEiCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90ODAwMi1ibGFtZS5zaCBiL3QvdDgwMDItYmxhbWUuc2gKaW5kZXggZmYwOWFjZS4uYWI3OWRlOSAxMDA3NTUKLS0tIGEvdC90ODAwMi1ibGFtZS5zaAorKysgYi90L3Q4MDAyLWJsYW1lLnNoCkBAIC02LDYgKzYsMTEgQEAKIFBST0c9J2dpdCBibGFtZSAtYycKIC4gIiRURVNUX0RJUkVDVE9SWSIvYW5ub3RhdGUtdGVzdHMuc2gKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgdW50cmFja2VkIGZpbGUgaW4gZW1wdHkgcmVwbycgJworCT51bnRyYWNrZWQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgYmxhbWUgdW50cmFja2VkCisnCisKIFBST0c9J2dpdCBibGFtZSAtYyAtZScKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC0tc2hvdy1lbWFpbCcgJwogCWNoZWNrX2NvdW50IFwKZGlmZiAtLWdpdCBhL3QvdDgwMDMtYmxhbWUtY29ybmVyLWNhc2VzLnNoIGIvdC90ODAwMy1ibGFtZS1jb3JuZXItY2FzZXMuc2gKaW5kZXggYTliMjY2Zi4uNjYxZjlkNCAxMDA3NTUKLS0tIGEvdC90ODAwMy1ibGFtZS1jb3JuZXItY2FzZXMuc2gKKysrIGIvdC90ODAwMy1ibGFtZS1jb3JuZXItY2FzZXMuc2gKQEAgLTQxLDEyICs0MSwxMiBAQAogCXRlc3RfdGljayAmJgogCUdJVF9BVVRIT1JfTkFNRT1Gb3VydGggZ2l0IGNvbW1pdCAtbSBGb3VydGggJiYKIAotCXsKLQkJZWNobyBBQkMKLQkJZWNobyBERUYKLQkJZWNobyBYWFhYCi0JCWVjaG8gR0hJSksKLQl9ID5jb3cgJiYKKwljYXQgPmNvdyA8PC1cRU9GICYmCisJQUJDCisJREVGCisJWFhYWAorCUdISUpLCisJRU9GCiAJZ2l0IGFkZCBjb3cgJiYKIAl0ZXN0X3RpY2sgJiYKIAlHSVRfQVVUSE9SX05BTUU9RmlmdGggZ2l0IGNvbW1pdCAtbSBGaWZ0aApAQCAtMTE1LDExICsxMTUsMTEgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIHdob2xlc2FsZSBjb3B5JyAnCiAKIAlnaXQgYmxhbWUgLWYgLUMgLUMxIEhFQUReIC0tIGNvdyB8IHNlZCAtZSAiJHBpY2tfZmMiID5jdXJyZW50ICYmCi0JewotCQllY2hvIG1vdXNlLUluaXRpYWwKLQkJZWNobyBtb3VzZS1TZWNvbmQKLQkJZWNobyBtb3VzZS1UaGlyZAotCX0gPmV4cGVjdGVkICYmCisJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJbW91c2UtSW5pdGlhbAorCW1vdXNlLVNlY29uZAorCW1vdXNlLVRoaXJkCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgY3VycmVudAogCiAnCkBAIC0xMjcsMTYgKzEyNyw2MSBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgd2hvbGVzYWxlIGNvcHkgYW5kIG1vcmUnICcKIAogCWdpdCBibGFtZSAtZiAtQyAtQzEgSEVBRCAtLSBjb3cgfCBzZWQgLWUgIiRwaWNrX2ZjIiA+Y3VycmVudCAmJgotCXsKLQkJZWNobyBtb3VzZS1Jbml0aWFsCi0JCWVjaG8gbW91c2UtU2Vjb25kCi0JCWVjaG8gY293LUZpZnRoCi0JCWVjaG8gbW91c2UtVGhpcmQKLQl9ID5leHBlY3RlZCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCW1vdXNlLUluaXRpYWwKKwltb3VzZS1TZWNvbmQKKwljb3ctRmlmdGgKKwltb3VzZS1UaGlyZAorCUVPRgogCXRlc3RfY21wIGV4cGVjdGVkIGN1cnJlbnQKIAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSB3aG9sZXNhbGUgY29weSBhbmQgbW9yZSBpbiB0aGUgaW5kZXgnICcKKworCWNhdCA+aG9yc2UgPDwtXEVPRiAmJgorCUFCQworCURFRgorCVhYWFgKKwlZWVlZCisJR0hJSksKKwlFT0YKKwlnaXQgYWRkIGhvcnNlICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcm0gLWYgaG9yc2UiICYmCisJZ2l0IGJsYW1lIC1mIC1DIC1DMSAtLSBob3JzZSB8IHNlZCAtZSAiJHBpY2tfZmMiID5jdXJyZW50ICYmCisJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJbW91c2UtSW5pdGlhbAorCW1vdXNlLVNlY29uZAorCWNvdy1GaWZ0aAorCWhvcnNlLU5vdAorCW1vdXNlLVRoaXJkCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgY3VycmVudAorCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIGR1cmluZyBjaGVycnktcGljayB3aXRoIGZpbGUgcmVuYW1lIGNvbmZsaWN0JyAnCisKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQgJiYgZ2l0IGNoZWNrb3V0IG1hc3RlciIgJiYKKwlnaXQgY2hlY2tvdXQgSEVBRH4zICYmCisJZWNobyBNT1VTRSA+PiBtb3VzZSAmJgorCWdpdCBtdiBtb3VzZSByb2RlbnQgJiYKKwlnaXQgYWRkIHJvZGVudCAmJgorCUdJVF9BVVRIT1JfTkFNRT1Sb2RlbnQgZ2l0IGNvbW1pdCAtbSAicm9kZW50IiAmJgorCWdpdCBjaGVja291dCAtLWRldGFjaCBtYXN0ZXIgJiYKKwkoZ2l0IGNoZXJyeS1waWNrIEhFQURAezF9IHx8IHRlc3QgJD8gLWVxIDEpICYmCisJZ2l0IHNob3cgSEVBREB7MX06cm9kZW50ID4gcm9kZW50ICYmCisJZ2l0IGFkZCByb2RlbnQgJiYKKwlnaXQgYmxhbWUgLWYgLUMgLUMxIHJvZGVudCB8IHNlZCAtZSAiJHBpY2tfZmMiID5jdXJyZW50ICYmCisJY2F0IGN1cnJlbnQgJiYKKwljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKwltb3VzZS1Jbml0aWFsCisJbW91c2UtU2Vjb25kCisJcm9kZW50LU5vdAorCUVPRgorCXRlc3RfY21wIGV4cGVjdGVkIGN1cnJlbnQKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgcGF0aCB0aGF0IHVzZWQgdG8gYmUgYSBkaXJlY3RvcnknICcKIAlta2RpciBwYXRoICYmCiAJZWNobyBBIEEgQSBBIEEgPnBhdGgvZmlsZSAmJgpAQCAtMTY3LDEyICsyMTIsMTIgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgLUwgd2l0aCBpbnZhbGlkIHN0YXJ0JyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJsYW1lIC1MNSB0cmVzIDI+ZXJyb3JzICYmCi0JZ3JlcCAiaGFzIG9ubHkgMiBsaW5lcyIgZXJyb3JzCisJdGVzdF9pMThuZ3JlcCAiaGFzIG9ubHkgMiBsaW5lcyIgZXJyb3JzCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JsYW1lIC1MIHdpdGggaW52YWxpZCBlbmQnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgYmxhbWUgLUwxLDUgdHJlcyAyPmVycm9ycyAmJgotCWdyZXAgImhhcyBvbmx5IDIgbGluZXMiIGVycm9ycworCXRlc3RfaTE4bmdyZXAgImhhcyBvbmx5IDIgbGluZXMiIGVycm9ycwogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSBwYXJzZXMgPGVuZD4gcGFydCBvZiAtTCcgJwpkaWZmIC0tZ2l0IGEvdC90ODAwOC1ibGFtZS1mb3JtYXRzLnNoIGIvdC90ODAwOC1ibGFtZS1mb3JtYXRzLnNoCmluZGV4IDI5Zjg0YTYuLjkyYzhlNzkgMTAwNzU1Ci0tLSBhL3QvdDgwMDgtYmxhbWUtZm9ybWF0cy5zaAorKysgYi90L3Q4MDA4LWJsYW1lLWZvcm1hdHMuc2gKQEAgLTg3LDQgKzg3LDIxIEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXBvcmNlbGFpbiBkZXRlY3RzIGZpcnN0IG5vbi1ibGFuayBsaW5lIGFzIHN1YmplY3QnICcKKwkoCisJCUdJVF9JTkRFWF9GSUxFPS5naXQvdG1wLWluZGV4ICYmCisJCWV4cG9ydCBHSVRfSU5ERVhfRklMRSAmJgorCQllY2hvICJUaGlzIGlzIGl0IiA+c2luZ2xlLWZpbGUgJiYKKwkJZ2l0IGFkZCBzaW5nbGUtZmlsZSAmJgorCQl0cmVlPSQoZ2l0IHdyaXRlLXRyZWUpICYmCisJCWNvbW1pdD0kKHByaW50ZiAiJXNcbiVzXG4lc1xuXG5cbiAgXG5vbmVsaW5lXG5cbmJvZHlcbiIgXAorCQkJInRyZWUgJHRyZWUiIFwKKwkJCSJhdXRob3IgQSA8YUBiLmM+IDEyMzQ1Njc4OSArMDAwMCIgXAorCQkJImNvbW1pdHRlciBDIDxjQGQuZT4gMTIzNDU2Nzg5ICswMDAwIiB8CisJCWdpdCBoYXNoLW9iamVjdCAtdyAtdCBjb21taXQgLS1zdGRpbikgJiYKKwkJZ2l0IGJsYW1lIC0tcG9yY2VsYWluICRjb21taXQgLS0gc2luZ2xlLWZpbGUgPm91dHB1dCAmJgorCQlncmVwICJec3VtbWFyeSBvbmVsaW5lJCIgb3V0cHV0CisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDgwMTAtY2F0LWZpbGUtZmlsdGVycy5zaCBiL3QvdDgwMTAtY2F0LWZpbGUtZmlsdGVycy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kODI0MmU0Ci0tLSAvZGV2L251bGwKKysrIGIvdC90ODAxMC1jYXQtZmlsZS1maWx0ZXJzLnNoCkBAIC0wLDAgKzEsNjQgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdnaXQgY2F0LWZpbGUgZmlsdGVycyBzdXBwb3J0JworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwICcgJworCWVjaG8gIioudHh0IGVvbD1jcmxmIGRpZmY9dHh0IiA+LmdpdGF0dHJpYnV0ZXMgJiYKKwllY2hvICJoZWxsbyIgfCBhcHBlbmRfY3IgPndvcmxkLnR4dCAmJgorCWdpdCBhZGQgLmdpdGF0dHJpYnV0ZXMgd29ybGQudHh0ICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtbSAiSW5pdGlhbCBjb21taXQiCisnCisKK2hhc19jciAoKSB7CisJdHIgJ1wwMTUnIFEgPCIkMSIgfCBncmVwIFEgPi9kZXYvbnVsbAorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdubyBmaWx0ZXJzIHdpdGggYGdpdCBzaG93YCcgJworCWdpdCBzaG93IEhFQUQ6d29ybGQudHh0ID5hY3R1YWwgJiYKKwkhIGhhc19jciBhY3R1YWwKKworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdubyBmaWx0ZXJzIHdpdGggY2F0LWZpbGUnICcKKwlnaXQgY2F0LWZpbGUgYmxvYiBIRUFEOndvcmxkLnR4dCA+YWN0dWFsICYmCisJISBoYXNfY3IgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NhdC1maWxlIC0tZmlsdGVycyBjb252ZXJ0cyB0byB3b3JrdHJlZSB2ZXJzaW9uJyAnCisJZ2l0IGNhdC1maWxlIC0tZmlsdGVycyBIRUFEOndvcmxkLnR4dCA+YWN0dWFsICYmCisJaGFzX2NyIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjYXQtZmlsZSAtLWZpbHRlcnMgLS1wYXRoPTxwYXRoPiB3b3JrcycgJworCXNoYTE9JChnaXQgcmV2LXBhcnNlIC1xIC0tdmVyaWZ5IEhFQUQ6d29ybGQudHh0KSAmJgorCWdpdCBjYXQtZmlsZSAtLWZpbHRlcnMgLS1wYXRoPXdvcmxkLnR4dCAkc2hhMSA+YWN0dWFsICYmCisJaGFzX2NyIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjYXQtZmlsZSAtLXRleHRjb252IC0tcGF0aD08cGF0aD4gd29ya3MnICcKKwlzaGExPSQoZ2l0IHJldi1wYXJzZSAtcSAtLXZlcmlmeSBIRUFEOndvcmxkLnR4dCkgJiYKKwl0ZXN0X2NvbmZpZyBkaWZmLnR4dC50ZXh0Y29udiAidHIgQS1aYS16IE4tWkEtTW4temEtbSA8IiAmJgorCWdpdCBjYXQtZmlsZSAtLXRleHRjb252IC0tcGF0aD1oZWxsby50eHQgJHNoYTEgPnJvdDEzICYmCisJdGVzdCB1cnl5YiA9ICIkKGNhdCByb3QxMyB8IHJlbW92ZV9jcikiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcGF0aD08cGF0aD4gY29tcGxhaW5zIHdpdGhvdXQgLS10ZXh0Y29udi8tLWZpbHRlcnMnICcKKwlzaGExPSQoZ2l0IHJldi1wYXJzZSAtcSAtLXZlcmlmeSBIRUFEOndvcmxkLnR4dCkgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2F0LWZpbGUgLS1wYXRoPWhlbGxvLnR4dCBibG9iICRzaGExID5hY3R1YWwgMj5lcnIgJiYKKwl0ZXN0ICEgLXMgYWN0dWFsICYmCisJZ3JlcCAicGF0aC4qbmVlZHMuKmZpbHRlcnMiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjYXQtZmlsZSAtLXRleHRjb252IC0tYmF0Y2ggd29ya3MnICcKKwlzaGExPSQoZ2l0IHJldi1wYXJzZSAtcSAtLXZlcmlmeSBIRUFEOndvcmxkLnR4dCkgJiYKKwl0ZXN0X2NvbmZpZyBkaWZmLnR4dC50ZXh0Y29udiAidHIgQS1aYS16IE4tWkEtTW4temEtbSA8IiAmJgorCXByaW50ZiAiJXMgaGVsbG8udHh0XG4lcyBoZWxsb1xuIiAkc2hhMSAkc2hhMSB8CisJZ2l0IGNhdC1maWxlIC0tdGV4dGNvbnYgLS1iYXRjaCA+YWN0dWFsICYmCisJcHJpbnRmICIlcyBibG9iIDZcbnVyeXliXHJcblxuJXMgYmxvYiA2XG5oZWxsb1xuXG4iIFwKKwkJJHNoYTEgJHNoYTEgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q5MDAwL3Rlc3QucGwgYi90L3Q5MDAwL3Rlc3QucGwKaW5kZXggMmQwNWQzZS4uZGZlYWE5YyAxMDA3NTUKLS0tIGEvdC90OTAwMC90ZXN0LnBsCisrKyBiL3QvdDkwMDAvdGVzdC5wbApAQCAtMzIsMTUgKzMyLDE1IEBACiAJcVsiSmFuZVwiIERvZSIgPGpkb2VAZXhhbXBsZS5jb20+XSwKIAlxW0RvZSwgamFuZSA8amRvZUBleGFtcGxlLmNvbT5dLAogCXFbIkphbmUgRG9lIDxqZG9lQGV4YW1wbGUuY29tPl0sCi0JcVsnSmFuZSAnRG9lJyA8amRvZUBleGFtcGxlLmNvbT5dKTsKKwlxWydKYW5lICdEb2UnIDxqZG9lQGV4YW1wbGUuY29tPl0sCisJcVtKYW5lQDo7XC4sKCk8PkRvZSA8amRvZUBleGFtcGxlLmNvbT5dLAorCXFbSmFuZSA8amRvZUBleGFtcGxlLmNvbT4gRG9lXSwKKwlxWzxqZG9lQGV4YW1wbGUuY29tPiBKYW5lIERvZV0pOwogCiBteSBAa25vd25fZmFpbHVyZV9saXN0ID0gKHFbSmFuZVwgRG9lIDxqZG9lQGV4YW1wbGUuY29tPl0sCiAJcVsiRG9lLCBKYSJuZSA8amRvZUBleGFtcGxlLmNvbT5dLAogCXFbIkRvZSwgS2F0YXJpbmEiIEphbmUgPGpkb2VAZXhhbXBsZS5jb20+XSwKLQlxW0phbmVAOjtcLiwoKTw+RG9lIDxqZG9lQGV4YW1wbGUuY29tPl0sCiAJcVtKYW5lIGpkb2VAZXhhbXBsZS5jb21dLAotCXFbPGpkb2VAZXhhbXBsZS5jb20+IEphbmUgRG9lXSwKLQlxW0phbmUgPGpkb2VAZXhhbXBsZS5jb20+IERvZV0sCiAJcVsiSmFuZSAiS2F0ImEiIHJpIm5hIiAiLERvZSIgPGpkb2VAZXhhbXBsZS5jb20+XSwKIAlxW0phbmUgRG9lXSwKIAlxW0phbmUgIkRvZSA8amRvZUBleGFtcGxlLmNvbT4iXSwKZGlmZiAtLWdpdCBhL3QvdDkwMDEtc2VuZC1lbWFpbC5zaCBiL3QvdDkwMDEtc2VuZC1lbWFpbC5zaAppbmRleCBiMzM1NWQyLi4zZGM0YTM0IDEwMDc1NQotLS0gYS90L3Q5MDAxLXNlbmQtZW1haWwuc2gKKysrIGIvdC90OTAwMS1zZW5kLWVtYWlsLnNoCkBAIC0xNDAsNiArMTQwLDM1IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgY29tbWFuZGxpbmUxCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJFBSRVJFUSAnc2V0dXAgZXhwZWN0IGZvciBjYyB0cmFpbGVyJyAiCitjYXQgPmV4cGVjdGVkLWNjIDw8XEVPRgorIXJlY2lwaWVudEBleGFtcGxlLmNvbSEKKyFhdXRob3JAZXhhbXBsZS5jb20hCishb25lQGV4YW1wbGUuY29tIQorIXR3b0BleGFtcGxlLmNvbSEKKyF0aHJlZUBleGFtcGxlLmNvbSEKKyFmb3VyQGV4YW1wbGUuY29tIQorIWZpdmVAZXhhbXBsZS5jb20hCitFT0YKKyIKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAkUFJFUkVRICdjYyB0cmFpbGVyIHdpdGggdmFyaW91cyBzeW50YXgnICcKKwl0ZXN0X2NvbW1pdCBjYy10cmFpbGVyICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkIEhFQUReIiAmJgorCWdpdCBjb21taXQgLS1hbWVuZCAtRiAtIDw8LUVPRiAmJgorCVRlc3QgQ2M6IHRyYWlsZXJzLgorCisJQ2M6IG9uZUBleGFtcGxlLmNvbQorCUNjOiA8dHdvQGV4YW1wbGUuY29tPiAjIHRoaXMgaXMgcGFydCBvZiB0aGUgbmFtZQorCUNjOiA8dGhyZWVAZXhhbXBsZS5jb20+LCA8Zm91ckBleGFtcGxlLmNvbT4gIyBub3QuZml2ZUBleGFtcGxlLmNvbQorCUNjOiAiU29tZSAjIEJvZHkiIDxmaXZlQGV4YW1wbGUuY29tPiBbcGFydC5vZi5uYW1lLnRvb10KKwlFT0YKKwljbGVhbl9mYWtlX3NlbmRtYWlsICYmCisJZ2l0IHNlbmQtZW1haWwgLTEgLS10bz1yZWNpcGllbnRAZXhhbXBsZS5jb20gXAorCQktLXNtdHAtc2VydmVyPSIkKHB3ZCkvZmFrZS5zZW5kbWFpbCIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZC1jYyBjb21tYW5kbGluZTEKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAkUFJFUkVRICdzZXR1cCBleHBlY3QnICIKIGNhdCA+ZXhwZWN0ZWQtc2hvdy1hbGwtaGVhZGVycyA8PFxFT0YKIDAwMDEtU2Vjb25kLnBhdGNoCmRpZmYgLS1naXQgYS90L3Q5MDAzLWhlbHAtYXV0b2NvcnJlY3Quc2ggYi90L3Q5MDAzLWhlbHAtYXV0b2NvcnJlY3Quc2gKaW5kZXggZGZlOTVjOS4uYjFjNzkxOSAxMDA3NTUKLS0tIGEvdC90OTAwMy1oZWxwLWF1dG9jb3JyZWN0LnNoCisrKyBiL3QvdDkwMDMtaGVscC1hdXRvY29ycmVjdC5zaApAQCAtMzEsMTAgKzMxLDEwIEBACiAJZ2l0IGNvbmZpZyBoZWxwLmF1dG9jb3JyZWN0IDAgJiYKIAogCXRlc3RfbXVzdF9mYWlsIGdpdCBsZmcgMj5hY3R1YWwgJiYKLQlzZWQgLWUgIjEsL15EaWQgeW91IG1lYW4gdGhpcy9kIiBhY3R1YWwgfCBncmVwIGxnZiAmJgorCWdyZXAgIl4JbGdmIiBhY3R1YWwgJiYKIAogCXRlc3RfbXVzdF9mYWlsIGdpdCBkaXN0aW1kaXN0IDI+YWN0dWFsICYmCi0Jc2VkIC1lICIxLC9eRGlkIHlvdSBtZWFuIHRoaXMvZCIgYWN0dWFsIHwgZ3JlcCBkaXN0aW1kaXN0aW0KKwlncmVwICJeCWRpc3RpbWRpc3RpbSIgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2F1dG9jb3JyZWN0IHJ1bm5pbmcgY29tbWFuZHMnICcKZGlmZiAtLWdpdCBhL3QvdDkxMDAtZ2l0LXN2bi1iYXNpYy5zaCBiL3QvdDkxMDAtZ2l0LXN2bi1iYXNpYy5zaAppbmRleCAyODA4MmIxLi45MmEzYWE4IDEwMDc1NQotLS0gYS90L3Q5MTAwLWdpdC1zdm4tYmFzaWMuc2gKKysrIGIvdC90OTEwMC1naXQtc3ZuLWJhc2ljLnNoCkBAIC04LDggKzgsNiBAQAogCiAuIC4vbGliLWdpdC1zdm4uc2gKIAotc2F5ICdkZWZpbmUgTk9fU1ZOX1RFU1RTIHRvIHNraXAgZ2l0IHN2biB0ZXN0cycKLQogY2FzZSAiJEdJVF9TVk5fTENfQUxMIiBpbgogKi5VVEYtOCkKIAl0ZXN0X3NldF9wcmVyZXEgVVRGOApAQCAtMTksNiArMTcsMjcgQEAKIAk7OwogZXNhYwogCitkZWVwZGlyPW5vdGhpbmctYWJvdmUKK2NlaWxpbmc9JFBXRAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgc3ZuIC0tdmVyc2lvbiB3b3JrcyBhbnl3aGVyZScgJworCW1rZGlyIC1wICIkZGVlcGRpciIgJiYgKAorCQlHSVRfQ0VJTElOR19ESVJFQ1RPUklFUz0iJGNlaWxpbmciICYmCisJCWV4cG9ydCBHSVRfQ0VJTElOR19ESVJFQ1RPUklFUyAmJgorCQljZCAiJGRlZXBkaXIiICYmCisJCWdpdCBzdm4gLS12ZXJzaW9uCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgc3ZuIGhlbHAgd29ya3MgYW55d2hlcmUnICcKKwlta2RpciAtcCAiJGRlZXBkaXIiICYmICgKKwkJR0lUX0NFSUxJTkdfRElSRUNUT1JJRVM9IiRjZWlsaW5nIiAmJgorCQlleHBvcnQgR0lUX0NFSUxJTkdfRElSRUNUT1JJRVMgJiYKKwkJY2QgIiRkZWVwZGlyIiAmJgorCQlnaXQgc3ZuIGhlbHAKKwkpCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAogICAgICdpbml0aWFsaXplIGdpdCBzdm4nICcKIAlta2RpciBpbXBvcnQgJiYKZGlmZiAtLWdpdCBhL3QvdDkxMTUtZ2l0LXN2bi1kY29tbWl0LWZ1bmt5LXJlbmFtZXMuc2ggYi90L3Q5MTE1LWdpdC1zdm4tZGNvbW1pdC1mdW5reS1yZW5hbWVzLnNoCmluZGV4IGE4N2QzZDMuLjY0YmI0OTUgMTAwNzU1Ci0tLSBhL3QvdDkxMTUtZ2l0LXN2bi1kY29tbWl0LWZ1bmt5LXJlbmFtZXMuc2gKKysrIGIvdC90OTExNS1naXQtc3ZuLWRjb21taXQtZnVua3ktcmVuYW1lcy5zaApAQCAtOCw5ICs4LDEwIEBACiAuIC4vbGliLWdpdC1zdm4uc2gKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9hZCByZXBvc2l0b3J5IHdpdGggc3RyYW5nZSBuYW1lcycgJwotCXN2bmFkbWluIGxvYWQgLXEgIiRyYXdzdm5yZXBvIiA8ICIkVEVTVF9ESVJFQ1RPUlkiL3Q5MTE1L2Z1bmt5LW5hbWVzLmR1bXAgJiYKLQlzdGFydF9odHRwZCBndGsrCi0JJworCXN2bmFkbWluIGxvYWQgLXEgIiRyYXdzdm5yZXBvIiA8IiRURVNUX0RJUkVDVE9SWSIvdDkxMTUvZnVua3ktbmFtZXMuZHVtcAorJworCittYXliZV9zdGFydF9odHRwZCBndGsrCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luaXQgYW5kIGZldGNoIHJlcG9zaXRvcnknICcKIAlnaXQgc3ZuIGluaXQgIiRzdm5yZXBvIiAmJgpkaWZmIC0tZ2l0IGEvdC90OTExOC1naXQtc3ZuLWZ1bmt5LWJyYW5jaC1uYW1lcy5zaCBiL3QvdDkxMTgtZ2l0LXN2bi1mdW5reS1icmFuY2gtbmFtZXMuc2gKaW5kZXggZWNiMWZlZC4uNDFhMDI2NiAxMDA3NTUKLS0tIGEvdC90OTExOC1naXQtc3ZuLWZ1bmt5LWJyYW5jaC1uYW1lcy5zaAorKysgYi90L3Q5MTE4LWdpdC1zdm4tZnVua3ktYnJhbmNoLW5hbWVzLnNoCkBAIC0zMiw3ICszMiw3IEBACiAJCQkiJHN2bnJlcG8vcHIgamVjdC9icmFuY2hlcy90cmFpbGluZ19kb3Rsb2NrLmxvY2siICYmCiAJc3ZuX2NtZCBjcCAtbSAicmVmbG9nIiAiJHN2bnJlcG8vcHIgamVjdC90cnVuayIgXAogCQkJIiRzdm5yZXBvL3ByIGplY3QvYnJhbmNoZXMvbm90LWFAezB9cmVmbG9nQCIgJiYKLQlzdGFydF9odHRwZAorCW1heWJlX3N0YXJ0X2h0dHBkCiAJJwogCiAjIFNWTiAxLjcgd2lsbCB0cnVuY2F0ZSAibm90LWElNDB7MF0iIHRvIGp1c3QgIm5vdC1hIi4KZGlmZiAtLWdpdCBhL3QvdDkxMjAtZ2l0LXN2bi1jbG9uZS13aXRoLXBlcmNlbnQtZXNjYXBlcy5zaCBiL3QvdDkxMjAtZ2l0LXN2bi1jbG9uZS13aXRoLXBlcmNlbnQtZXNjYXBlcy5zaAppbmRleCA1OTQ2NWIxLi5iMjhhMTc0IDEwMDc1NQotLS0gYS90L3Q5MTIwLWdpdC1zdm4tY2xvbmUtd2l0aC1wZXJjZW50LWVzY2FwZXMuc2gKKysrIGIvdC90OTEyMC1naXQtc3ZuLWNsb25lLXdpdGgtcGVyY2VudC1lc2NhcGVzLnNoCkBAIC0xNSw3ICsxNSw3IEBACiAJc3ZuX2NtZCBjcCAtbSAidGFnIiAiJHN2bnJlcG8vcHIgamVjdC90cnVuayIgXAogCSAgIiRzdm5yZXBvL3ByIGplY3QvdGFncy92MSIgJiYKIAlybSAtcmYgcHJvamVjdCAmJgotCXN0YXJ0X2h0dHBkCisJbWF5YmVfc3RhcnRfaHR0cGQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCBjbG9uZSB3aXRoIHBlcmNlbnQgZXNjYXBlcycgJwpkaWZmIC0tZ2l0IGEvdC90OTE0Mi1naXQtc3ZuLXNoYWxsb3ctY2xvbmUuc2ggYi90L3Q5MTQyLWdpdC1zdm4tc2hhbGxvdy1jbG9uZS5zaAppbmRleCBlMjFlZTVmLi45ZWUyM2JlIDEwMDc1NQotLS0gYS90L3Q5MTQyLWdpdC1zdm4tc2hhbGxvdy1jbG9uZS5zaAorKysgYi90L3Q5MTQyLWdpdC1zdm4tc2hhbGxvdy1jbG9uZS5zaApAQCAtMTgsNyArMTgsNyBAQAogCQlzdm5fY21kIGFkZCBmb28gJiYKIAkJc3ZuX2NtZCBjb21taXQgLW0gImFkZCBmb28iCiAJKSAmJgotCXN0YXJ0X2h0dHBkCisJbWF5YmVfc3RhcnRfaHR0cGQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgdHJ1bmsgd2l0aCAiLXIgSEVBRCInICcKZGlmZiAtLWdpdCBhL3QvdDkxNTgtZ2l0LXN2bi1tZXJnZWluZm8uc2ggYi90L3Q5MTU4LWdpdC1zdm4tbWVyZ2VpbmZvLnNoCmluZGV4IDEzZjc4ZjIuLmE4NzViNDUgMTAwNzU1Ci0tLSBhL3QvdDkxNTgtZ2l0LXN2bi1tZXJnZWluZm8uc2gKKysrIGIvdC90OTE1OC1naXQtc3ZuLW1lcmdlaW5mby5zaApAQCAtNyw4ICs3LDYgQEAKIAogLiAuL2xpYi1naXQtc3ZuLnNoCiAKLXNheSAnZGVmaW5lIE5PX1NWTl9URVNUUyB0byBza2lwIGdpdCBzdm4gdGVzdHMnCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luaXRpYWxpemUgc291cmNlIHN2biByZXBvJyAnCiAJc3ZuX2NtZCBta2RpciAtbSB4ICIkc3ZucmVwbyIvdHJ1bmsgJiYKIAlzdm5fY21kIGNvICIkc3ZucmVwbyIvdHJ1bmsgIiRTVk5fVFJFRSIgJiYKZGlmZiAtLWdpdCBhL3QvdDkxNjAtZ2l0LXN2bi1wcmVzZXJ2ZS1lbXB0eS1kaXJzLnNoIGIvdC90OTE2MC1naXQtc3ZuLXByZXNlcnZlLWVtcHR5LWRpcnMuc2gKaW5kZXggYjRhNDQzNC4uMGVkZTNjZiAxMDA3NTUKLS0tIGEvdC90OTE2MC1naXQtc3ZuLXByZXNlcnZlLWVtcHR5LWRpcnMuc2gKKysrIGIvdC90OTE2MC1naXQtc3ZuLXByZXNlcnZlLWVtcHR5LWRpcnMuc2gKQEAgLTExLDcgKzExLDYgQEAKIAogLiAuL2xpYi1naXQtc3ZuLnNoCiAKLXNheSAnZGVmaW5lIE5PX1NWTl9URVNUUyB0byBza2lwIGdpdCBzdm4gdGVzdHMnCiBHSVRfUkVQTz1naXQtc3ZuLXJlcG8KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5pdGlhbGl6ZSBzb3VyY2Ugc3ZuIHJlcG8gY29udGFpbmluZyBlbXB0eSBkaXJzJyAnCmRpZmYgLS1naXQgYS90L3Q5MzAwLWZhc3QtaW1wb3J0LnNoIGIvdC90OTMwMC1mYXN0LWltcG9ydC5zaAppbmRleCA0YmNhMzVjLi4yZTBiYTNlIDEwMDc1NQotLS0gYS90L3Q5MzAwLWZhc3QtaW1wb3J0LnNoCisrKyBiL3QvdDkzMDAtZmFzdC1pbXBvcnQuc2gKQEAgLTcsMjMgKzcsNiBAQAogLiAuL3Rlc3QtbGliLnNoCiAuICIkVEVTVF9ESVJFQ1RPUlkiL2RpZmYtbGliLnNoIDsjIHRlc3QtbGliIGNoZGlyJ3MgaW50byB0cmFzaAogCi0jIFByaW50ICQxIGJ5dGVzIGZyb20gc3RkaW4gdG8gc3Rkb3V0LgotIwotIyBUaGlzIGNvdWxkIGJlIHdyaXR0ZW4gYXMgImhlYWQgLWMgJDEiLCBidXQgSVJJWCAiaGVhZCIgZG9lcyBub3QKLSMgc3VwcG9ydCB0aGUgLWMgb3B0aW9uLgotaGVhZF9jICgpIHsKLQlwZXJsIC1lICcKLQkJbXkgJGxlbiA9ICRBUkdWWzFdOwotCQl3aGlsZSAoJGxlbiA+IDApIHsKLQkJCW15ICRzOwotCQkJbXkgJG5yZWFkID0gc3lzcmVhZChTVERJTiwgJHMsICRsZW4pOwotCQkJZGllICJjYW5ub3QgcmVhZDogJCEiIHVubGVzcyBkZWZpbmVkKCRucmVhZCk7Ci0JCQlwcmludCAkczsKLQkJCSRsZW4gLT0gJG5yZWFkOwotCQl9Ci0JJyAtICIkMSIKLX0KLQogdmVyaWZ5X3BhY2tzICgpIHsKIAlmb3IgcCBpbiAuZ2l0L29iamVjdHMvcGFjay8qLnBhY2sKIAlkbwpAQCAtNTIsNiArMzUsNyBAQAogIyMjCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2VtcHR5IHN0cmVhbSBzdWNjZWVkcycgJworCWdpdCBjb25maWcgZmFzdGltcG9ydC51bnBhY2tMaW1pdCAwICYmCiAJZ2l0IGZhc3QtaW1wb3J0IDwvZGV2L251bGwKICcKIApAQCAtMjQ4MCw3ICsyNDY0LDcgQEAKIAogCQlyZWFkIGJsb2JfaWQgdHlwZSBzaXplIDwmMyAmJgogCQllY2hvICIkYmxvYl9pZCAkdHlwZSAkc2l6ZSIgPnJlc3BvbnNlICYmCi0JCWhlYWRfYyAkc2l6ZSA+YmxvYiA8JjMgJiYKKwkJdGVzdF9jb3B5X2J5dGVzICRzaXplID5ibG9iIDwmMyAmJgogCQlyZWFkIG5ld2xpbmUgPCYzICYmCiAKIAkJY2F0IDw8LUVPRiAmJgpAQCAtMjUyMyw3ICsyNTA3LDcgQEAKIAkJRU9GCiAKIAkJcmVhZCBibG9iX2lkIHR5cGUgc2l6ZSA8JjMgJiYKLQkJaGVhZF9jICRzaXplID5hY3R1YWwgPCYzICYmCisJCXRlc3RfY29weV9ieXRlcyAkc2l6ZSA+YWN0dWFsIDwmMyAmJgogCQlyZWFkIG5ld2xpbmUgPCYzICYmCiAKIAkJZWNobwpAQCAtMjU1OCw3ICsyNTQyLDcgQEAKIAkJZWNobyAiY2F0LWJsb2IgJHRvX2dldCIgJiYKIAogCQlyZWFkIGJsb2JfaWQgdHlwZSBzaXplIDwmMyAmJgotCQloZWFkX2MgJHNpemUgPmFjdHVhbCA8JjMgJiYKKwkJdGVzdF9jb3B5X2J5dGVzICRzaXplID5hY3R1YWwgPCYzICYmCiAJCXJlYWQgbmV3bGluZSA8JjMgJiYKIAogCQllY2hvIGRlbGV0ZWFsbApAQCAtMjY5MCw2ICsyNjc0LDcgQEAKIAllY2hvID4+aW5wdXQgJiYKIAogCXRlc3RfY3JlYXRlX3JlcG8gUiAmJgorCWdpdCAtLWdpdC1kaXI9Ui8uZ2l0IGNvbmZpZyBmYXN0aW1wb3J0LnVucGFja0xpbWl0IDAgJiYKIAlnaXQgLS1naXQtZGlyPVIvLmdpdCBmYXN0LWltcG9ydCAtLWJpZy1maWxlLXRocmVzaG9sZD0xIDxpbnB1dAogJwogCmRpZmYgLS1naXQgYS90L3Q5MzAyLWZhc3QtaW1wb3J0LXVucGFjay1saW1pdC5zaCBiL3QvdDkzMDItZmFzdC1pbXBvcnQtdW5wYWNrLWxpbWl0LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmEwNGRlMTQKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q5MzAyLWZhc3QtaW1wb3J0LXVucGFjay1saW1pdC5zaApAQCAtMCwwICsxLDEwNSBAQAorIyEvYmluL3NoCit0ZXN0X2Rlc2NyaXB0aW9uPSd0ZXN0IGdpdCBmYXN0LWltcG9ydCB1bnBhY2sgbGltaXQnCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIGxvb3NlIG9iamVjdHMgb24gaW1wb3J0JyAnCisJdGVzdF90aWNrICYmCisJY2F0ID5pbnB1dCA8PC1JTlBVVF9FTkQgJiYKKwljb21taXQgcmVmcy9oZWFkcy9tYXN0ZXIKKwljb21taXR0ZXIgJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+ICRHSVRfQ09NTUlUVEVSX0RBVEUKKwlkYXRhIDw8Q09NTUlUCisJaW5pdGlhbAorCUNPTU1JVAorCisJZG9uZQorCUlOUFVUX0VORAorCisJZ2l0IC1jIGZhc3RpbXBvcnQudW5wYWNrTGltaXQ9MiBmYXN0LWltcG9ydCAtLWRvbmUgPGlucHV0ICYmCisJZ2l0IGZzY2sgLS1uby1wcm9ncmVzcyAmJgorCXRlc3QgJChmaW5kIC5naXQvb2JqZWN0cy8/PyAtdHlwZSBmIHwgd2MgLWwpIC1lcSAyICYmCisJdGVzdCAkKGZpbmQgLmdpdC9vYmplY3RzL3BhY2sgLXR5cGUgZiB8IHdjIC1sKSAtZXEgMAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdiaWdnZXIgcGFja3MgYXJlIHByZXNlcnZlZCcgJworCXRlc3RfdGljayAmJgorCWNhdCA+aW5wdXQgPDwtSU5QVVRfRU5EICYmCisJY29tbWl0IHJlZnMvaGVhZHMvbWFzdGVyCisJY29tbWl0dGVyICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAkR0lUX0NPTU1JVFRFUl9EQVRFCisJZGF0YSA8PENPTU1JVAorCWluY3JlbWVudGFsIHNob3VsZCBjcmVhdGUgYSBwYWNrCisJQ09NTUlUCisJZnJvbSByZWZzL2hlYWRzL21hc3Rlcl4wCisKKwljb21taXQgcmVmcy9oZWFkcy9icmFuY2gKKwljb21taXR0ZXIgJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+ICRHSVRfQ09NTUlUVEVSX0RBVEUKKwlkYXRhIDw8Q09NTUlUCisJYnJhbmNoCisJQ09NTUlUCisKKwlkb25lCisJSU5QVVRfRU5ECisKKwlnaXQgLWMgZmFzdGltcG9ydC51bnBhY2tMaW1pdD0yIGZhc3QtaW1wb3J0IC0tZG9uZSA8aW5wdXQgJiYKKwlnaXQgZnNjayAtLW5vLXByb2dyZXNzICYmCisJdGVzdCAkKGZpbmQgLmdpdC9vYmplY3RzLz8/IC10eXBlIGYgfCB3YyAtbCkgLWVxIDIgJiYKKwl0ZXN0ICQoZmluZCAuZ2l0L29iamVjdHMvcGFjayAtdHlwZSBmIHwgd2MgLWwpIC1lcSAyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvb2t1cHMgYWZ0ZXIgY2hlY2twb2ludCB3b3JrcycgJworCWhlbGxvX2lkPSQoZWNobyBoZWxsbyB8IGdpdCBoYXNoLW9iamVjdCAtLXN0ZGluIC10IGJsb2IpICYmCisJaWQ9IiRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAkR0lUX0NPTU1JVFRFUl9EQVRFIiAmJgorCWJlZm9yZT0kKGdpdCByZXYtcGFyc2UgcmVmcy9oZWFkcy9tYXN0ZXJeMCkgJiYKKwkoCisJCWNhdCA8PC1JTlBVVF9FTkQgJiYKKwkJYmxvYgorCQltYXJrIDoxCisJCWRhdGEgNgorCQloZWxsbworCisJCWNvbW1pdCByZWZzL2hlYWRzL21hc3RlcgorCQltYXJrIDoyCisJCWNvbW1pdHRlciAkaWQKKwkJZGF0YSA8PENPTU1JVAorCQljaGVja3BvaW50IGFmdGVyIHRoaXMKKwkJQ09NTUlUCisJCWZyb20gcmVmcy9oZWFkcy9tYXN0ZXJeMAorCQlNIDEwMDY0NCA6MSBoZWxsbworCisJCSMgcHJlLWNoZWNrcG9pbnQKKwkJY2F0LWJsb2IgOjEKKwkJY2F0LWJsb2IgJGhlbGxvX2lkCisJCWNoZWNrcG9pbnQKKwkJIyBwb3N0LWNoZWNrcG9pbnQKKwkJY2F0LWJsb2IgOjEKKwkJY2F0LWJsb2IgJGhlbGxvX2lkCisJCUlOUFVUX0VORAorCisJCW49MCAmJgorCQlmcm9tPSRiZWZvcmUgJiYKKwkJd2hpbGUgdGVzdCB4IiRmcm9tIiA9IHgiJGJlZm9yZSIKKwkJZG8KKwkJCWlmIHRlc3QgJG4gLWd0IDMwCisJCQl0aGVuCisJCQkJZWNobyA+JjIgImNoZWNrcG9pbnQgZGlkIG5vdCB1cGRhdGUgYnJhbmNoIgorCQkJCWV4aXQgMQorCQkJZWxzZQorCQkJCW49JCgoJG4gKyAxKSkKKwkJCWZpICYmCisJCQlzbGVlcCAxICYmCisJCQlmcm9tPSQoZ2l0IHJldi1wYXJzZSByZWZzL2hlYWRzL21hc3Rlcl4wKQorCQlkb25lICYmCisJCWNhdCA8PC1JTlBVVF9FTkQgJiYKKwkJY29tbWl0IHJlZnMvaGVhZHMvbWFzdGVyCisJCWNvbW1pdHRlciAkaWQKKwkJZGF0YSA8PENPTU1JVAorCQltYWtlIHN1cmUgZnJvbSAidW5wYWNrZWQgc2hhMSByZWZlcmVuY2UiIHdvcmtzLCB0b28KKwkJQ09NTUlUCisJCWZyb20gJGZyb20KKwkJSU5QVVRfRU5ECisJCWVjaG8gZG9uZQorCSkgfCBnaXQgLWMgZmFzdGltcG9ydC51bnBhY2tMaW1pdD0xMDAgZmFzdC1pbXBvcnQgLS1kb25lICYmCisJdGVzdCAkKGZpbmQgLmdpdC9vYmplY3RzLz8/IC10eXBlIGYgfCB3YyAtbCkgLWVxIDYgJiYKKwl0ZXN0ICQoZmluZCAuZ2l0L29iamVjdHMvcGFjayAtdHlwZSBmIHwgd2MgLWwpIC1lcSAyCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTQwMS1naXQtY3Zzc2VydmVyLWNybGYuc2ggYi90L3Q5NDAxLWdpdC1jdnNzZXJ2ZXItY3JsZi5zaAppbmRleCBmMzI0YjlmLi44NDc4N2VlIDEwMDc1NQotLS0gYS90L3Q5NDAxLWdpdC1jdnNzZXJ2ZXItY3JsZi5zaAorKysgYi90L3Q5NDAxLWdpdC1jdnNzZXJ2ZXItY3JsZi5zaApAQCAtMTU0LDcgKzE1NCw3IEBACiAgICAgZWNobyAibW9yZSB0ZXh0IiA+IHNyYy5jICYmCiAgICAgR0lUX0NPTkZJRz0iJGdpdF9jb25maWciIGN2cyAtUSBhZGQgc3JjLmMgPmN2cy5sb2cgMj4mMSAmJgogICAgIG1hcmtlZF9hcyAuIHNyYy5jICIiICYmCi0gICAgZWNobyAicHN1ZWRvLWJpbmFyeSIgPiB0ZW1wLmJpbgorICAgIGVjaG8gInBzZXVkby1iaW5hcnkiID4gdGVtcC5iaW4KICAgICApICYmCiAgICAgR0lUX0NPTkZJRz0iJGdpdF9jb25maWciIGN2cyAtUSBhZGQgc3ViZGlyL3RlbXAuYmluID5jdnMubG9nIDI+JjEgJiYKICAgICBtYXJrZWRfYXMgc3ViZGlyIHRlbXAuYmluICIta2IiICYmCmRpZmYgLS1naXQgYS90L3Q5NTAwLWdpdHdlYi1zdGFuZGFsb25lLW5vLWVycm9ycy5zaCBiL3QvdDk1MDAtZ2l0d2ViLXN0YW5kYWxvbmUtbm8tZXJyb3JzLnNoCmluZGV4IGU5NGIyZjEuLjZkMDZlZDkgMTAwNzU1Ci0tLSBhL3QvdDk1MDAtZ2l0d2ViLXN0YW5kYWxvbmUtbm8tZXJyb3JzLnNoCisrKyBiL3QvdDk1MDAtZ2l0d2ViLXN0YW5kYWxvbmUtbm8tZXJyb3JzLnNoCkBAIC03MDksNiArNzA5LDE0IEBACiAJIGdpdCBjb21taXQgLW0gIkFkZCB0ZXN0LnNoIiAmJgogCSBnaXR3ZWJfcnVuICJwPS5naXQ7YT1ibG9iO2Y9dGVzdC5zaCInCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgSElHSExJR0hUIFwKKwknc3ludGF4IGhpZ2hsaWdodGluZyAoaGlnaGxpZ2h0ZXIgbGFuZ3VhZ2UgYXV0b2RldGVjdGlvbiknIFwKKwknZ2l0IGNvbmZpZyBnaXR3ZWIuaGlnaGxpZ2h0IHllcyAmJgorCSBlY2hvICIjIS91c3IvYmluL3BlcmwiID4gdGVzdCAmJgorCSBnaXQgYWRkIHRlc3QgJiYKKwkgZ2l0IGNvbW1pdCAtbSAiQWRkIHRlc3QiICYmCisJIGdpdHdlYl9ydW4gInA9LmdpdDthPWJsb2I7Zj10ZXN0IicKKwogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIGZvcmtzIG9mIHByb2plY3RzCiAKZGlmZiAtLWdpdCBhL3QvdDk4MDEtZ2l0LXA0LWJyYW5jaC5zaCBiL3QvdDk4MDEtZ2l0LXA0LWJyYW5jaC5zaAppbmRleCAwYWFmZDAzLi42YTg2ZDY5IDEwMDc1NQotLS0gYS90L3Q5ODAxLWdpdC1wNC1icmFuY2guc2gKKysrIGIvdC90OTgwMS1naXQtcDQtYnJhbmNoLnNoCkBAIC0zMDAsNyArMzAwLDcgQEAKIAkJdGVzdF9wYXRoX2lzX2ZpbGUgZmlsZTIgJiYKIAkJdGVzdF9wYXRoX2lzX2ZpbGUgZmlsZTMgJiYKIAkJISBncmVwIHVwZGF0ZSBmaWxlMiAmJgotCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0L2dpdC1wNC10bXAKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHNob3ctcmVmIC0tdmVyaWZ5IHJlZnMvZ2l0LXA0LXRtcAogCSkKICcKIApAQCAtMzUyLDcgKzM1Miw3IEBACiAJCXRlc3RfcGF0aF9pc19maWxlIGZpbGUyICYmCiAJCXRlc3RfcGF0aF9pc19maWxlIGZpbGUzICYmCiAJCSEgZ3JlcCB1cGRhdGUgZmlsZTIgJiYKLQkJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9naXQtcDQtdG1wCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBzaG93LXJlZiAtLXZlcmlmeSByZWZzL2dpdC1wNC10bXAKIAkpCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDk5MDMtYmFzaC1wcm9tcHQuc2ggYi90L3Q5OTAzLWJhc2gtcHJvbXB0LnNoCmluZGV4IDBkYjQ0NjkuLjk3YzliMzIgMTAwNzU1Ci0tLSBhL3QvdDk5MDMtYmFzaC1wcm9tcHQuc2gKKysrIGIvdC90OTkwMy1iYXNoLXByb21wdC5zaApAQCAtMTc3LDcgKzE3Nyw3IEBACiAJZ2l0IGNoZWNrb3V0IGIxICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgogCWdpdCByZWJhc2UgLWkgSEVBRF4gJiYKLQl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZWJhc2UgLS1hYm9ydCIKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZWJhc2UgLS1hYm9ydCIgJiYKIAlfX2dpdF9wczEgPiIkYWN0dWFsIiAmJgogCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgogJwpkaWZmIC0tZ2l0IGEvdC90ZXN0LWxpYi1mdW5jdGlvbnMuc2ggYi90L3Rlc3QtbGliLWZ1bmN0aW9ucy5zaAppbmRleCA0ODg4NGQ1Li5mZGFlYjNhIDEwMDY0NAotLS0gYS90L3Rlc3QtbGliLWZ1bmN0aW9ucy5zaAorKysgYi90L3Rlc3QtbGliLWZ1bmN0aW9ucy5zaApAQCAtODEsNiArODEsMTAgQEAKIAknCiB9CiAKK2xmX3RvX251bCAoKSB7CisJcGVybCAtcGUgJ3kvXDAxMi9cMDAwLycKK30KKwogbnVsX3RvX3EgKCkgewogCXBlcmwgLXBlICd5L1wwMDAvUS8nCiB9CkBAIC02MTIsNyArNjE2LDcgQEAKIAl0aGVuCiAJCWVjaG8gPiYyICJ0ZXN0X211c3RfZmFpbDogY29tbWFuZCBzdWNjZWVkZWQ6ICQqIgogCQlyZXR1cm4gMQotCWVsaWYgdGVzdCAkZXhpdF9jb2RlIC1lcSAxNDEgJiYgbGlzdF9jb250YWlucyAiJF90ZXN0X29rIiBzaWdwaXBlCisJZWxpZiB0ZXN0X21hdGNoX3NpZ25hbCAxMyAkZXhpdF9jb2RlICYmIGxpc3RfY29udGFpbnMgIiRfdGVzdF9vayIgc2lncGlwZQogCXRoZW4KIAkJcmV0dXJuIDAKIAllbGlmIHRlc3QgJGV4aXRfY29kZSAtZ3QgMTI5ICYmIHRlc3QgJGV4aXRfY29kZSAtbGUgMTkyCkBAIC05NjEsMyArOTY1LDMyIEBACiAJCWRvbmUKIAkpCiB9CisKKyMgUmV0dXJucyB0cnVlIGlmIHRoZSBudW1lcmljIGV4aXQgY29kZSBpbiAiJDIiIHJlcHJlc2VudHMgdGhlIGV4cGVjdGVkIHNpZ25hbAorIyBpbiAiJDEiLiBTaWduYWxzIHNob3VsZCBiZSBnaXZlbiBudW1lcmljYWxseS4KK3Rlc3RfbWF0Y2hfc2lnbmFsICgpIHsKKwlpZiB0ZXN0ICIkMiIgPSAiJCgoMTI4ICsgJDEpKSIKKwl0aGVuCisJCSMgUE9TSVgKKwkJcmV0dXJuIDAKKwllbGlmIHRlc3QgIiQyIiA9ICIkKCgyNTYgKyAkMSkpIgorCXRoZW4KKwkJIyBrc2gKKwkJcmV0dXJuIDAKKwlmaQorCXJldHVybiAxCit9CisKKyMgUmVhZCB1cCB0byAiJDEiIGJ5dGVzIChvciB0byBFT0YpIGZyb20gc3RkaW4gYW5kIHdyaXRlIHRoZW0gdG8gc3Rkb3V0LgordGVzdF9jb3B5X2J5dGVzICgpIHsKKwlwZXJsIC1lICcKKwkJbXkgJGxlbiA9ICRBUkdWWzFdOworCQl3aGlsZSAoJGxlbiA+IDApIHsKKwkJCW15ICRzOworCQkJbXkgJG5yZWFkID0gc3lzcmVhZChTVERJTiwgJHMsICRsZW4pOworCQkJZGllICJjYW5ub3QgcmVhZDogJCEiIHVubGVzcyBkZWZpbmVkKCRucmVhZCk7CisJCQlwcmludCAkczsKKwkJCSRsZW4gLT0gJG5yZWFkOworCQl9CisJJyAtICIkMSIKK30KZGlmZiAtLWdpdCBhL3QvdGVzdC1saWIuc2ggYi90L3Rlc3QtbGliLnNoCmluZGV4IDAwNTVlYmIuLmNkZTdmYzcgMTAwNjQ0Ci0tLSBhL3QvdGVzdC1saWIuc2gKKysrIGIvdC90ZXN0LWxpYi5zaApAQCAtNTQsMTIgKzU0LDIyIEBACiBkb25lLCopCiAJIyBkbyBub3QgcmVkaXJlY3QgYWdhaW4KIAk7OwotKicgLS10ZWUgJyp8KicgLS12YScqKQorKicgLS10ZWUgJyp8KicgLS12YScqfConIC0tdmVyYm9zZS1sb2cgJyopCiAJbWtkaXIgLXAgIiRURVNUX09VVFBVVF9ESVJFQ1RPUlkvdGVzdC1yZXN1bHRzIgogCUJBU0U9IiRURVNUX09VVFBVVF9ESVJFQ1RPUlkvdGVzdC1yZXN1bHRzLyQoYmFzZW5hbWUgIiQwIiAuc2gpIgorCisJIyBNYWtlIHRoaXMgZmlsZW5hbWUgYXZhaWxhYmxlIHRvIHRoZSBzdWItcHJvY2VzcyBpbiBjYXNlIGl0IGlzIHVzaW5nCisJIyAtLXZlcmJvc2UtbG9nLgorCUdJVF9URVNUX1RFRV9PVVRQVVRfRklMRT0kQkFTRS5vdXQKKwlleHBvcnQgR0lUX1RFU1RfVEVFX09VVFBVVF9GSUxFCisKKwkjIFRydW5jYXRlIGJlZm9yZSBjYWxsaW5nICJ0ZWUgLWEiIHRvIGdldCByaWQgb2YgdGhlIHJlc3VsdHMKKwkjIGZyb20gYW55IHByZXZpb3VzIHJ1bnMuCisJPiIkR0lUX1RFU1RfVEVFX09VVFBVVF9GSUxFIgorCiAJKEdJVF9URVNUX1RFRV9TVEFSVEVEPWRvbmUgJHtTSEVMTF9QQVRIfSAiJDAiICIkQCIgMj4mMTsKLQkgZWNobyAkPyA+ICRCQVNFLmV4aXQpIHwgdGVlICRCQVNFLm91dAotCXRlc3QgIiQoY2F0ICRCQVNFLmV4aXQpIiA9IDAKKwkgZWNobyAkPyA+IiRCQVNFLmV4aXQiKSB8IHRlZSAtYSAiJEdJVF9URVNUX1RFRV9PVVRQVVRfRklMRSIKKwl0ZXN0ICIkKGNhdCAiJEJBU0UuZXhpdCIpIiA9IDAKIAlleGl0CiAJOzsKIGVzYWMKQEAgLTg5LDYgKzk5LDcgQEAKIAkJVU5aSVAKIAkJUEVSRl8KIAkJQ1VSTF9WRVJCT1NFCisJCVRSQUNFX0NVUkwKIAkpKTsKIAlteSBAdmFycyA9IGdyZXAoL15HSVRfLyAmJiAhL15HSVRfKCRvaykvbywgQGVudik7CiAJcHJpbnQgam9pbigiXG4iLCBAdmFycyk7CkBAIC0xNjIsNiArMTczLDkgQEAKICMgWmVybyBTSEEtMQogX3o0MD0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiAKK0VNUFRZX1RSRUU9NGI4MjVkYzY0MmNiNmViOWEwNjBlNTRiZjhkNjkyODhmYmVlNDkwNAorRU1QVFlfQkxPQj1lNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxCisKICMgTGluZSBmZWVkCiBMRj0nCiAnCkBAIC0xNzAsNyArMTg0LDcgQEAKICMgd2hlbiBjYXNlLWZvbGRpbmcgZmlsZW5hbWVzCiB1MjAwYz0kKHByaW50ZiAnXDM0MlwyMDBcMjE0JykKIAotZXhwb3J0IF94MDUgX3g0MCBfejQwIExGIHUyMDBjCitleHBvcnQgX3gwNSBfeDQwIF96NDAgTEYgdTIwMGMgRU1QVFlfVFJFRSBFTVBUWV9CTE9CCiAKICMgRWFjaCB0ZXN0IHNob3VsZCBzdGFydCB3aXRoIHNvbWV0aGluZyBsaWtlIHRoaXMsIGFmdGVyIGNvcHlyaWdodCBub3RpY2VzOgogIwpAQCAtMjQyLDYgKzI1Niw5IEBACiAJCXRyYWNlPXQKIAkJdmVyYm9zZT10CiAJCXNoaWZ0IDs7CisJLS12ZXJib3NlLWxvZykKKwkJdmVyYm9zZV9sb2c9dAorCQlzaGlmdCA7OwogCSopCiAJCWVjaG8gImVycm9yOiB1bmtub3duIHRlc3Qgb3B0aW9uICckMSciID4mMjsgZXhpdCAxIDs7CiAJZXNhYwpAQCAtMzA0LDYgKzMyMSwxNiBAQAogCXNheV9jb2xvciBpbmZvICIkKiIKIH0KIAoraWYgdGVzdCAtbiAiJEhBUk5FU1NfQUNUSVZFIgordGhlbgorCWlmIHRlc3QgIiR2ZXJib3NlIiA9IHQgfHwgdGVzdCAtbiAiJHZlcmJvc2Vfb25seSIKKwl0aGVuCisJCXByaW50ZiAnQmFpbCBvdXQhICVzXG4nIFwKKwkJICd2ZXJib3NlIG1vZGUgZm9yYmlkZGVuIHVuZGVyIFRBUCBoYXJuZXNzOyB0cnkgLS12ZXJib3NlLWxvZycKKwkJZXhpdCAxCisJZmkKK2ZpCisKIHRlc3QgIiR7dGVzdF9kZXNjcmlwdGlvbn0iICE9ICIiIHx8CiBlcnJvciAiVGVzdCBzY3JpcHQgZGlkIG5vdCBzZXQgdGVzdF9kZXNjcmlwdGlvbi4iCiAKQEAgLTMxNSw3ICszNDIsMTAgQEAKIAogZXhlYyA1PiYxCiBleGVjIDY8JjAKLWlmIHRlc3QgIiR2ZXJib3NlIiA9ICJ0IgoraWYgdGVzdCAiJHZlcmJvc2VfbG9nIiA9ICJ0IgordGhlbgorCWV4ZWMgMz4+IiRHSVRfVEVTVF9URUVfT1VUUFVUX0ZJTEUiIDQ+JjMKK2VsaWYgdGVzdCAiJHZlcmJvc2UiID0gInQiCiB0aGVuCiAJZXhlYyA0PiYyIDM+JjEKIGVsc2UKQEAgLTY4NCw5ICs3MTQsOSBAQAogCQl0ZXN0X3Jlc3VsdHNfZGlyPSIkVEVTVF9PVVRQVVRfRElSRUNUT1JZL3Rlc3QtcmVzdWx0cyIKIAkJbWtkaXIgLXAgIiR0ZXN0X3Jlc3VsdHNfZGlyIgogCQliYXNlPSR7MCMjKi99Ci0JCXRlc3RfcmVzdWx0c19wYXRoPSIkdGVzdF9yZXN1bHRzX2Rpci8ke2Jhc2UlLnNofS0kJC5jb3VudHMiCisJCXRlc3RfcmVzdWx0c19wYXRoPSIkdGVzdF9yZXN1bHRzX2Rpci8ke2Jhc2UlLnNofS5jb3VudHMiCiAKLQkJY2F0ID4+IiR0ZXN0X3Jlc3VsdHNfcGF0aCIgPDwtRU9GCisJCWNhdCA+IiR0ZXN0X3Jlc3VsdHNfcGF0aCIgPDwtRU9GCiAJCXRvdGFsICR0ZXN0X2NvdW50CiAJCXN1Y2Nlc3MgJHRlc3Rfc3VjY2VzcwogCQlmaXhlZCAkdGVzdF9maXhlZApAQCAtNzc5LDcgKzgwOSwxNCBAQAogCQlyZXR1cm47CiAKIAkJYmFzZT0kKGJhc2VuYW1lICIkMSIpCi0JCXN5bWxpbmtfdGFyZ2V0PSRHSVRfQlVJTERfRElSLyRiYXNlCisJCWNhc2UgIiRiYXNlIiBpbgorCQl0ZXN0LSopCisJCQlzeW1saW5rX3RhcmdldD0iJEdJVF9CVUlMRF9ESVIvdC9oZWxwZXIvJGJhc2UiCisJCQk7OworCQkqKQorCQkJc3ltbGlua190YXJnZXQ9IiRHSVRfQlVJTERfRElSLyRiYXNlIgorCQkJOzsKKwkJZXNhYwogCQkjIGRvIG5vdCBvdmVycmlkZSBzY3JpcHRzCiAJCWlmIHRlc3QgLXggIiRzeW1saW5rX3RhcmdldCIgJiYKIAkJICAgIHRlc3QgISAtZCAiJHN5bWxpbmtfdGFyZ2V0IiAmJgpAQCAtNzk4LDcgKzgzNSw3IEBACiAJIyBvdmVycmlkZSBhbGwgZ2l0IGV4ZWN1dGFibGVzIGluIFRFU1RfRElSRUNUT1JZLy4uCiAJR0lUX1ZBTEdSSU5EPSRURVNUX0RJUkVDVE9SWS92YWxncmluZAogCW1rZGlyIC1wICIkR0lUX1ZBTEdSSU5EIi9iaW4KLQlmb3IgZmlsZSBpbiAkR0lUX0JVSUxEX0RJUi9naXQqICRHSVRfQlVJTERfRElSL3Rlc3QtKgorCWZvciBmaWxlIGluICRHSVRfQlVJTERfRElSL2dpdCogJEdJVF9CVUlMRF9ESVIvdC9oZWxwZXIvdGVzdC0qCiAJZG8KIAkJbWFrZV92YWxncmluZF9zeW1saW5rICRmaWxlCiAJZG9uZQpAQCAtMTA2OSw2ICsxMTA2LDEwIEBACiAJdGVzdCAiJHVpZCIgIT0gMAogJwogCit0ZXN0X2xhenlfcHJlcmVxIEpHSVQgJworCXR5cGUgamdpdAorJworCiAjIFNBTklUWSBpcyBhYm91dCAiY2FuIHlvdSBjb3JyZWN0bHkgcHJlZGljdCB3aGF0IHRoZSBmaWxlc3lzdGVtIHdvdWxkCiAjIGRvIGJ5IG9ubHkgbG9va2luZyBhdCB0aGUgcGVybWlzc2lvbiBiaXRzIG9mIHRoZSBmaWxlcyBhbmQKICMgZGlyZWN0b3JpZXM/IiAgQSB0eXBpY2FsIGV4YW1wbGUgb2YgIVNBTklUWSBpcyBydW5uaW5nIHRoZSB0ZXN0CkBAIC0xMTExLDMgKzExNTIsMTIgQEAKIH0KIAogdGVzdF9sYXp5X3ByZXJlcSBDTURMSU5FX0xJTUlUICdydW5fd2l0aF9saW1pdGVkX2NtZGxpbmUgdHJ1ZScKKworYnVpbGRfb3B0aW9uICgpIHsKKwlnaXQgdmVyc2lvbiAtLWJ1aWxkLW9wdGlvbnMgfAorCXNlZCAtbmUgInMvXiQxOiAvL3AiCit9CisKK3Rlc3RfbGF6eV9wcmVyZXEgTE9OR19JU182NEJJVCAnCisJdGVzdCA4IC1sZSAiJChidWlsZF9vcHRpb24gc2l6ZW9mLWxvbmcpIgorJwpkaWZmIC0tZ2l0IGEvdC92YWxncmluZC92YWxncmluZC5zaCBiL3QvdmFsZ3JpbmQvdmFsZ3JpbmQuc2gKaW5kZXggNDIxNTMwMy4uNjY5ZWJhZiAxMDA3NTUKLS0tIGEvdC92YWxncmluZC92YWxncmluZC5zaAorKysgYi90L3ZhbGdyaW5kL3ZhbGdyaW5kLnNoCkBAIC0xLDExICsxLDE5IEBACiAjIS9iaW4vc2gKIAogYmFzZT0kKGJhc2VuYW1lICIkMCIpCitjYXNlICIkYmFzZSIgaW4KK3Rlc3QtKikKKwlwcm9ncmFtPSIkR0lUX1ZBTEdSSU5ELy4uLy4uL3QvaGVscGVyLyRiYXNlIgorCTs7CisqKQorCXByb2dyYW09IiRHSVRfVkFMR1JJTkQvLi4vLi4vJGJhc2UiCisJOzsKK2VzYWMKIAogVE9PTF9PUFRJT05TPSctLWxlYWstY2hlY2s9bm8nCiAKIHRlc3QgLXogIiRHSVRfVkFMR1JJTkRfRU5BQkxFRCIgJiYKLWV4ZWMgIiRHSVRfVkFMR1JJTkQiLy4uLy4uLyIkYmFzZSIgIiRAIgorZXhlYyAiJHByb2dyYW0iICIkQCIKIAogY2FzZSAiJEdJVF9WQUxHUklORF9NT0RFIiBpbgogbWVtY2hlY2stZmFzdCkKQEAgLTI5LDQgKzM3LDQgQEAKIAktLWxvZy1mZD00IFwKIAktLWlucHV0LWZkPTQgXAogCSRHSVRfVkFMR1JJTkRfT1BUSU9OUyBcCi0JIiRHSVRfVkFMR1JJTkQiLy4uLy4uLyIkYmFzZSIgIiRAIgorCSIkcHJvZ3JhbSIgIiRAIgpkaWZmIC0tZ2l0IGEvdGVtcGZpbGUuYyBiL3RlbXBmaWxlLmMKaW5kZXggMGFmN2ViZi4uMjk5MGM5MiAxMDA2NDQKLS0tIGEvdGVtcGZpbGUuYworKysgYi90ZW1wZmlsZS5jCkBAIC0xMjAsNyArMTIwLDEyIEBACiAJcHJlcGFyZV90ZW1wZmlsZV9vYmplY3QodGVtcGZpbGUpOwogCiAJc3RyYnVmX2FkZF9hYnNvbHV0ZV9wYXRoKCZ0ZW1wZmlsZS0+ZmlsZW5hbWUsIHBhdGgpOwotCXRlbXBmaWxlLT5mZCA9IG9wZW4odGVtcGZpbGUtPmZpbGVuYW1lLmJ1ZiwgT19SRFdSIHwgT19DUkVBVCB8IE9fRVhDTCwgMDY2Nik7CisJdGVtcGZpbGUtPmZkID0gb3Blbih0ZW1wZmlsZS0+ZmlsZW5hbWUuYnVmLAorCQkJICAgIE9fUkRXUiB8IE9fQ1JFQVQgfCBPX0VYQ0wgfCBPX0NMT0VYRUMsIDA2NjYpOworCWlmIChPX0NMT0VYRUMgJiYgdGVtcGZpbGUtPmZkIDwgMCAmJiBlcnJubyA9PSBFSU5WQUwpCisJCS8qIFRyeSBhZ2FpbiB3L28gT19DTE9FWEVDOiB0aGUga2VybmVsIG1pZ2h0IG5vdCBzdXBwb3J0IGl0ICovCisJCXRlbXBmaWxlLT5mZCA9IG9wZW4odGVtcGZpbGUtPmZpbGVuYW1lLmJ1ZiwKKwkJCQkgICAgT19SRFdSIHwgT19DUkVBVCB8IE9fRVhDTCwgMDY2Nik7CiAJaWYgKHRlbXBmaWxlLT5mZCA8IDApIHsKIAkJc3RyYnVmX3Jlc2V0KCZ0ZW1wZmlsZS0+ZmlsZW5hbWUpOwogCQlyZXR1cm4gLTE7CmRpZmYgLS1naXQgYS90ZW1wZmlsZS5oIGIvdGVtcGZpbGUuaAppbmRleCA0MjE5ZmU0Li4yZjAwMzhkIDEwMDY0NAotLS0gYS90ZW1wZmlsZS5oCisrKyBiL3RlbXBmaWxlLmgKQEAgLTMzLDYgKzMzLDEwIEBACiAgKiAgICogY2FsbGluZyBgZmRvcGVuX3RlbXBmaWxlKClgIHRvIGdldCBhIGBGSUxFYCBwb2ludGVyIGZvciB0aGUKICAqICAgICBvcGVuIGZpbGUgYW5kIHdyaXRpbmcgdG8gdGhlIGZpbGUgdXNpbmcgc3RkaW8uCiAgKgorICogICBOb3RlIHRoYXQgdGhlIGZpbGUgZGVzY3JpcHRvciByZXR1cm5lZCBieSBjcmVhdGVfdGVtcGZpbGUoKQorICogICBpcyBtYXJrZWQgT19DTE9FWEVDLCBzbyB0aGUgbmV3IGNvbnRlbnRzIG11c3QgYmUgd3JpdHRlbiBieQorICogICB0aGUgY3VycmVudCBwcm9jZXNzLCBub3QgYW55IHNwYXduZWQgb25lLgorICoKICAqIFdoZW4gZmluaXNoZWQgd3JpdGluZywgdGhlIGNhbGxlciBjYW46CiAgKgogICogKiBDbG9zZSB0aGUgZmlsZSBkZXNjcmlwdG9yIGFuZCByZW1vdmUgdGhlIHRlbXBvcmFyeSBmaWxlIGJ5CmRpZmYgLS1naXQgYS90ZW1wbGF0ZXMvaG9va3MtLXByZS1yZWNlaXZlLnNhbXBsZSBiL3RlbXBsYXRlcy9ob29rcy0tcHJlLXJlY2VpdmUuc2FtcGxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmExZmQyOWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZW1wbGF0ZXMvaG9va3MtLXByZS1yZWNlaXZlLnNhbXBsZQpAQCAtMCwwICsxLDI0IEBACisjIS9iaW4vc2gKKyMKKyMgQW4gZXhhbXBsZSBob29rIHNjcmlwdCB0byBtYWtlIHVzZSBvZiBwdXNoIG9wdGlvbnMuCisjIFRoZSBleGFtcGxlIHNpbXBseSBlY2hvZXMgYWxsIHB1c2ggb3B0aW9ucyB0aGF0IHN0YXJ0IHdpdGggJ2VjaG9iYWNrPScKKyMgYW5kIHJlamVjdHMgYWxsIHB1c2hlcyB3aGVuIHRoZSAicmVqZWN0IiBwdXNoIG9wdGlvbiBpcyB1c2VkLgorIworIyBUbyBlbmFibGUgdGhpcyBob29rLCByZW5hbWUgdGhpcyBmaWxlIHRvICJwcmUtcmVjZWl2ZSIuCisKK2lmIHRlc3QgLW4gIiRHSVRfUFVTSF9PUFRJT05fQ09VTlQiCit0aGVuCisJaT0wCisJd2hpbGUgdGVzdCAiJGkiIC1sdCAiJEdJVF9QVVNIX09QVElPTl9DT1VOVCIKKwlkbworCQlldmFsICJ2YWx1ZT1cJEdJVF9QVVNIX09QVElPTl8kaSIKKwkJY2FzZSAiJHZhbHVlIiBpbgorCQllY2hvYmFjaz0qKQorCQkJZWNobyAiZWNobyBmcm9tIHRoZSBwcmUtcmVjZWl2ZS1ob29rOiAke3ZhbHVlIyo9fSIgPiYyCisJCQk7OworCQlyZWplY3QpCisJCQlleGl0IDEKKwkJZXNhYworCQlpPSQoKGkgKyAxKSkKKwlkb25lCitmaQpkaWZmIC0tZ2l0IGEvdG1wLW9iamRpci5jIGIvdG1wLW9iamRpci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0NDM1ZjIKLS0tIC9kZXYvbnVsbAorKysgYi90bXAtb2JqZGlyLmMKQEAgLTAsMCArMSwyNzUgQEAKKyNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgInRtcC1vYmpkaXIuaCIKKyNpbmNsdWRlICJkaXIuaCIKKyNpbmNsdWRlICJzaWdjaGFpbi5oIgorI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCisjaW5jbHVkZSAic3RyYnVmLmgiCisjaW5jbHVkZSAiYXJndi1hcnJheS5oIgorCitzdHJ1Y3QgdG1wX29iamRpciB7CisJc3RydWN0IHN0cmJ1ZiBwYXRoOworCXN0cnVjdCBhcmd2X2FycmF5IGVudjsKK307CisKKy8qCisgKiBBbGxvdyBvbmx5IG9uZSB0bXBfb2JqZGlyIGF0IGEgdGltZSBpbiBhIHJ1bm5pbmcgcHJvY2Vzcywgd2hpY2ggc2ltcGxpZmllcworICogb3VyIHNpZ25hbC9hdGV4aXQgY2xlYW51cCByb3V0aW5lcy4gIEl0J3MgZG91YnRmdWwgY2FsbGVycyB3aWxsIGV2ZXIgbmVlZAorICogbW9yZSB0aGFuIG9uZSwgYW5kIHdlIGNhbiBleHBhbmQgbGF0ZXIgaWYgc28uICBZb3UgY2FuIGhhdmUgbWFueSBzdWNoCisgKiB0bXBfb2JqZGlycyBzaW11bHRhbmVvdXNseSBpbiBtYW55IHByb2Nlc3Nlcywgb2YgY291cnNlLgorICovCitzdGF0aWMgc3RydWN0IHRtcF9vYmpkaXIgKnRoZV90bXBfb2JqZGlyOworCitzdGF0aWMgdm9pZCB0bXBfb2JqZGlyX2ZyZWUoc3RydWN0IHRtcF9vYmpkaXIgKnQpCit7CisJc3RyYnVmX3JlbGVhc2UoJnQtPnBhdGgpOworCWFyZ3ZfYXJyYXlfY2xlYXIoJnQtPmVudik7CisJZnJlZSh0KTsKK30KKworc3RhdGljIGludCB0bXBfb2JqZGlyX2Rlc3Ryb3lfMShzdHJ1Y3QgdG1wX29iamRpciAqdCwgaW50IG9uX3NpZ25hbCkKK3sKKwlpbnQgZXJyOworCisJaWYgKCF0KQorCQlyZXR1cm4gMDsKKworCWlmICh0ID09IHRoZV90bXBfb2JqZGlyKQorCQl0aGVfdG1wX29iamRpciA9IE5VTEw7CisKKwkvKgorCSAqIFRoaXMgbWF5IHVzZSBtYWxsb2MgdmlhIHN0cmJ1Zl9ncm93KCksIGJ1dCB3ZSBzaG91bGQKKwkgKiBoYXZlIHByZS1ncm93biB0LT5wYXRoIHN1ZmZpY2llbnRseSBzbyB0aGF0IHRoaXMKKwkgKiBkb2Vzbid0IGhhcHBlbiBpbiBwcmFjdGljZS4KKwkgKi8KKwllcnIgPSByZW1vdmVfZGlyX3JlY3Vyc2l2ZWx5KCZ0LT5wYXRoLCAwKTsKKworCS8qCisJICogV2hlbiB3ZSBhcmUgY2xlYW5pbmcgdXAgZHVlIHRvIGEgc2lnbmFsLCB3ZSB3b24ndCBib3RoZXIKKwkgKiBmcmVlaW5nIG1lbW9yeTsgaXQgbWF5IGNhdXNlIGEgZGVhZGxvY2sgaWYgdGhlIHNpZ25hbAorCSAqIGFycml2ZWQgd2hpbGUgbGliYydzIGFsbG9jYXRvciBsb2NrIGlzIGhlbGQuCisJICovCisJaWYgKCFvbl9zaWduYWwpCisJCXRtcF9vYmpkaXJfZnJlZSh0KTsKKwlyZXR1cm4gZXJyOworfQorCitpbnQgdG1wX29iamRpcl9kZXN0cm95KHN0cnVjdCB0bXBfb2JqZGlyICp0KQoreworCXJldHVybiB0bXBfb2JqZGlyX2Rlc3Ryb3lfMSh0LCAwKTsKK30KKworc3RhdGljIHZvaWQgcmVtb3ZlX3RtcF9vYmpkaXIodm9pZCkKK3sKKwl0bXBfb2JqZGlyX2Rlc3Ryb3kodGhlX3RtcF9vYmpkaXIpOworfQorCitzdGF0aWMgdm9pZCByZW1vdmVfdG1wX29iamRpcl9vbl9zaWduYWwoaW50IHNpZ25vKQoreworCXRtcF9vYmpkaXJfZGVzdHJveV8xKHRoZV90bXBfb2JqZGlyLCAxKTsKKwlzaWdjaGFpbl9wb3Aoc2lnbm8pOworCXJhaXNlKHNpZ25vKTsKK30KKworLyoKKyAqIFRoZXNlIGVudl8qIGZ1bmN0aW9ucyBhcmUgZm9yIHNldHRpbmcgdXAgdGhlIGNoaWxkIGVudmlyb25tZW50OyB0aGUKKyAqICJyZXBsYWNlIiB2YXJpYW50IG92ZXJyaWRlcyB0aGUgdmFsdWUgb2YgYW55IGV4aXN0aW5nIHZhcmlhYmxlIHdpdGggdGhhdAorICogImtleSIuIFRoZSAiYXBwZW5kIiB2YXJpYW50IHB1dHMgb3VyIG5ldyB2YWx1ZSBhdCB0aGUgZW5kIG9mIGEgbGlzdCwKKyAqIHNlcGFyYXRlZCBieSBQQVRIX1NFUCAod2hpY2ggaXMgd2hhdCBzZXBhcmF0ZSB2YWx1ZXMgaW4KKyAqIEdJVF9BTFRFUk5BVEVfT0JKRUNUX0RJUkVDVE9SSUVTKS4KKyAqLworc3RhdGljIHZvaWQgZW52X2FwcGVuZChzdHJ1Y3QgYXJndl9hcnJheSAqZW52LCBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbCkKK3sKKwljb25zdCBjaGFyICpvbGQgPSBnZXRlbnYoa2V5KTsKKworCWlmICghb2xkKQorCQlhcmd2X2FycmF5X3B1c2hmKGVudiwgIiVzPSVzIiwga2V5LCB2YWwpOworCWVsc2UKKwkJYXJndl9hcnJheV9wdXNoZihlbnYsICIlcz0lcyVjJXMiLCBrZXksIG9sZCwgUEFUSF9TRVAsIHZhbCk7Cit9CisKK3N0YXRpYyB2b2lkIGVudl9yZXBsYWNlKHN0cnVjdCBhcmd2X2FycmF5ICplbnYsIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqdmFsKQoreworCWFyZ3ZfYXJyYXlfcHVzaGYoZW52LCAiJXM9JXMiLCBrZXksIHZhbCk7Cit9CisKK3N0YXRpYyBpbnQgc2V0dXBfdG1wX29iamRpcihjb25zdCBjaGFyICpyb290KQoreworCWNoYXIgKnBhdGg7CisJaW50IHJldCA9IDA7CisKKwlwYXRoID0geHN0cmZtdCgiJXMvcGFjayIsIHJvb3QpOworCXJldCA9IG1rZGlyKHBhdGgsIDA3NzcpOworCWZyZWUocGF0aCk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdHJ1Y3QgdG1wX29iamRpciAqdG1wX29iamRpcl9jcmVhdGUodm9pZCkKK3sKKwlzdGF0aWMgaW50IGluc3RhbGxlZF9oYW5kbGVyczsKKwlzdHJ1Y3QgdG1wX29iamRpciAqdDsKKworCWlmICh0aGVfdG1wX29iamRpcikKKwkJZGllKCJCVUc6IG9ubHkgb25lIHRtcF9vYmpkaXIgY2FuIGJlIHVzZWQgYXQgYSB0aW1lIik7CisKKwl0ID0geG1hbGxvYyhzaXplb2YoKnQpKTsKKwlzdHJidWZfaW5pdCgmdC0+cGF0aCwgMCk7CisJYXJndl9hcnJheV9pbml0KCZ0LT5lbnYpOworCisJc3RyYnVmX2FkZGYoJnQtPnBhdGgsICIlcy9pbmNvbWluZy1YWFhYWFgiLCBnZXRfb2JqZWN0X2RpcmVjdG9yeSgpKTsKKworCS8qCisJICogR3JvdyB0aGUgc3RyYnVmIGJleW9uZCBhbnkgZmlsZW5hbWUgd2UgZXhwZWN0IHRvIGJlIHBsYWNlZCBpbiBpdC4KKwkgKiBJZiB0bXBfb2JqZGlyX2Rlc3Ryb3koKSBpcyBjYWxsZWQgYnkgYSBzaWduYWwgaGFuZGxlciwgdGhlbgorCSAqIHdlIHNob3VsZCBiZSBhYmxlIHRvIHVzZSB0aGUgc3RyYnVmIHRvIHJlbW92ZSBmaWxlcyB3aXRob3V0CisJICogaGF2aW5nIHRvIGNhbGwgbWFsbG9jLgorCSAqLworCXN0cmJ1Zl9ncm93KCZ0LT5wYXRoLCAxMDI0KTsKKworCWlmICghbWtkdGVtcCh0LT5wYXRoLmJ1ZikpIHsKKwkJLyogZnJlZSwgbm90IGRlc3Ryb3ksIGFzIHdlIG5ldmVyIHRvdWNoZWQgdGhlIGZpbGVzeXN0ZW0gKi8KKwkJdG1wX29iamRpcl9mcmVlKHQpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwl0aGVfdG1wX29iamRpciA9IHQ7CisJaWYgKCFpbnN0YWxsZWRfaGFuZGxlcnMpIHsKKwkJYXRleGl0KHJlbW92ZV90bXBfb2JqZGlyKTsKKwkJc2lnY2hhaW5fcHVzaF9jb21tb24ocmVtb3ZlX3RtcF9vYmpkaXJfb25fc2lnbmFsKTsKKwkJaW5zdGFsbGVkX2hhbmRsZXJzKys7CisJfQorCisJaWYgKHNldHVwX3RtcF9vYmpkaXIodC0+cGF0aC5idWYpKSB7CisJCXRtcF9vYmpkaXJfZGVzdHJveSh0KTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJZW52X2FwcGVuZCgmdC0+ZW52LCBBTFRFUk5BVEVfREJfRU5WSVJPTk1FTlQsCisJCSAgIGFic29sdXRlX3BhdGgoZ2V0X29iamVjdF9kaXJlY3RvcnkoKSkpOworCWVudl9yZXBsYWNlKCZ0LT5lbnYsIERCX0VOVklST05NRU5ULCBhYnNvbHV0ZV9wYXRoKHQtPnBhdGguYnVmKSk7CisJZW52X3JlcGxhY2UoJnQtPmVudiwgR0lUX1FVQVJBTlRJTkVfRU5WSVJPTk1FTlQsCisJCSAgICBhYnNvbHV0ZV9wYXRoKHQtPnBhdGguYnVmKSk7CisKKwlyZXR1cm4gdDsKK30KKworLyoKKyAqIE1ha2Ugc3VyZSB3ZSBjb3B5IHBhY2tmaWxlcyBhbmQgdGhlaXIgYXNzb2NpYXRlZCBtZXRhZmlsZXMgaW4gdGhlIGNvcnJlY3QKKyAqIG9yZGVyLiBBbGwgb2YgdGhlc2UgZW5kc193aXRoIGNoZWNrcyBhcmUgc2xpZ2h0bHkgZXhwZW5zaXZlIHRvIGRvIGluCisgKiB0aGUgbWlkc3Qgb2YgYSBzb3J0aW5nIHJvdXRpbmUsIGJ1dCBpbiBwcmFjdGljZSBpdCBzaG91bGRuJ3QgbWF0dGVyLgorICogV2Ugd2lsbCBoYXZlIGEgcmVsYXRpdmVseSBzbWFsbCBudW1iZXIgb2YgcGFja2ZpbGVzIHRvIG9yZGVyLCBhbmQgbG9vc2UKKyAqIG9iamVjdHMgZXhpdCBlYXJseSBpbiB0aGUgZmlyc3QgbGluZS4KKyAqLworc3RhdGljIGludCBwYWNrX2NvcHlfcHJpb3JpdHkoY29uc3QgY2hhciAqbmFtZSkKK3sKKwlpZiAoIXN0YXJ0c193aXRoKG5hbWUsICJwYWNrIikpCisJCXJldHVybiAwOworCWlmIChlbmRzX3dpdGgobmFtZSwgIi5rZWVwIikpCisJCXJldHVybiAxOworCWlmIChlbmRzX3dpdGgobmFtZSwgIi5wYWNrIikpCisJCXJldHVybiAyOworCWlmIChlbmRzX3dpdGgobmFtZSwgIi5pZHgiKSkKKwkJcmV0dXJuIDM7CisJcmV0dXJuIDQ7Cit9CisKK3N0YXRpYyBpbnQgcGFja19jb3B5X2NtcChjb25zdCBjaGFyICphLCBjb25zdCBjaGFyICpiKQoreworCXJldHVybiBwYWNrX2NvcHlfcHJpb3JpdHkoYSkgLSBwYWNrX2NvcHlfcHJpb3JpdHkoYik7Cit9CisKK3N0YXRpYyBpbnQgcmVhZF9kaXJfcGF0aHMoc3RydWN0IHN0cmluZ19saXN0ICpvdXQsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJRElSICpkaDsKKwlzdHJ1Y3QgZGlyZW50ICpkZTsKKworCWRoID0gb3BlbmRpcihwYXRoKTsKKwlpZiAoIWRoKQorCQlyZXR1cm4gLTE7CisKKwl3aGlsZSAoKGRlID0gcmVhZGRpcihkaCkpKQorCQlpZiAoZGUtPmRfbmFtZVswXSAhPSAnLicpCisJCQlzdHJpbmdfbGlzdF9hcHBlbmQob3V0LCBkZS0+ZF9uYW1lKTsKKworCWNsb3NlZGlyKGRoKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBtaWdyYXRlX3BhdGhzKHN0cnVjdCBzdHJidWYgKnNyYywgc3RydWN0IHN0cmJ1ZiAqZHN0KTsKKworc3RhdGljIGludCBtaWdyYXRlX29uZShzdHJ1Y3Qgc3RyYnVmICpzcmMsIHN0cnVjdCBzdHJidWYgKmRzdCkKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmIChzdGF0KHNyYy0+YnVmLCAmc3QpIDwgMCkKKwkJcmV0dXJuIC0xOworCWlmIChTX0lTRElSKHN0LnN0X21vZGUpKSB7CisJCWlmICghbWtkaXIoZHN0LT5idWYsIDA3NzcpKSB7CisJCQlpZiAoYWRqdXN0X3NoYXJlZF9wZXJtKGRzdC0+YnVmKSkKKwkJCQlyZXR1cm4gLTE7CisJCX0gZWxzZSBpZiAoZXJybm8gIT0gRUVYSVNUKQorCQkJcmV0dXJuIC0xOworCQlyZXR1cm4gbWlncmF0ZV9wYXRocyhzcmMsIGRzdCk7CisJfQorCXJldHVybiBmaW5hbGl6ZV9vYmplY3RfZmlsZShzcmMtPmJ1ZiwgZHN0LT5idWYpOworfQorCitzdGF0aWMgaW50IG1pZ3JhdGVfcGF0aHMoc3RydWN0IHN0cmJ1ZiAqc3JjLCBzdHJ1Y3Qgc3RyYnVmICpkc3QpCit7CisJc2l6ZV90IHNyY19sZW4gPSBzcmMtPmxlbiwgZHN0X2xlbiA9IGRzdC0+bGVuOworCXN0cnVjdCBzdHJpbmdfbGlzdCBwYXRocyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOworCWludCBpOworCWludCByZXQgPSAwOworCisJaWYgKHJlYWRfZGlyX3BhdGhzKCZwYXRocywgc3JjLT5idWYpIDwgMCkKKwkJcmV0dXJuIC0xOworCXBhdGhzLmNtcCA9IHBhY2tfY29weV9jbXA7CisJc3RyaW5nX2xpc3Rfc29ydCgmcGF0aHMpOworCisJZm9yIChpID0gMDsgaSA8IHBhdGhzLm5yOyBpKyspIHsKKwkJY29uc3QgY2hhciAqbmFtZSA9IHBhdGhzLml0ZW1zW2ldLnN0cmluZzsKKworCQlzdHJidWZfYWRkZihzcmMsICIvJXMiLCBuYW1lKTsKKwkJc3RyYnVmX2FkZGYoZHN0LCAiLyVzIiwgbmFtZSk7CisKKwkJcmV0IHw9IG1pZ3JhdGVfb25lKHNyYywgZHN0KTsKKworCQlzdHJidWZfc2V0bGVuKHNyYywgc3JjX2xlbik7CisJCXN0cmJ1Zl9zZXRsZW4oZHN0LCBkc3RfbGVuKTsKKwl9CisKKwlzdHJpbmdfbGlzdF9jbGVhcigmcGF0aHMsIDApOworCXJldHVybiByZXQ7Cit9CisKK2ludCB0bXBfb2JqZGlyX21pZ3JhdGUoc3RydWN0IHRtcF9vYmpkaXIgKnQpCit7CisJc3RydWN0IHN0cmJ1ZiBzcmMgPSBTVFJCVUZfSU5JVCwgZHN0ID0gU1RSQlVGX0lOSVQ7CisJaW50IHJldDsKKworCWlmICghdCkKKwkJcmV0dXJuIDA7CisKKwlzdHJidWZfYWRkYnVmKCZzcmMsICZ0LT5wYXRoKTsKKwlzdHJidWZfYWRkc3RyKCZkc3QsIGdldF9vYmplY3RfZGlyZWN0b3J5KCkpOworCisJcmV0ID0gbWlncmF0ZV9wYXRocygmc3JjLCAmZHN0KTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZzcmMpOworCXN0cmJ1Zl9yZWxlYXNlKCZkc3QpOworCisJdG1wX29iamRpcl9kZXN0cm95KHQpOworCXJldHVybiByZXQ7Cit9CisKK2NvbnN0IGNoYXIgKip0bXBfb2JqZGlyX2Vudihjb25zdCBzdHJ1Y3QgdG1wX29iamRpciAqdCkKK3sKKwlpZiAoIXQpCisJCXJldHVybiBOVUxMOworCXJldHVybiB0LT5lbnYuYXJndjsKK30KKwordm9pZCB0bXBfb2JqZGlyX2FkZF9hc19hbHRlcm5hdGUoY29uc3Qgc3RydWN0IHRtcF9vYmpkaXIgKnQpCit7CisJYWRkX3RvX2FsdGVybmF0ZXNfbWVtb3J5KHQtPnBhdGguYnVmKTsKK30KZGlmZiAtLWdpdCBhL3RtcC1vYmpkaXIuaCBiL3RtcC1vYmpkaXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMWU0NWI0Ci0tLSAvZGV2L251bGwKKysrIGIvdG1wLW9iamRpci5oCkBAIC0wLDAgKzEsNTQgQEAKKyNpZm5kZWYgVE1QX09CSkRJUl9ICisjZGVmaW5lIFRNUF9PQkpESVJfSAorCisvKgorICogVGhpcyBBUEkgYWxsb3dzIHlvdSB0byBjcmVhdGUgYSB0ZW1wb3Jhcnkgb2JqZWN0IGRpcmVjdG9yeSwgYWR2ZXJ0aXNlIGl0IHRvCisgKiBzdWItcHJvY2Vzc2VzIHZpYSBHSVRfT0JKRUNUX0RJUkVDVE9SWSBhbmQgR0lUX0FMVEVSTkFURV9PQkpFQ1RfRElSRUNUT1JJRVMsCisgKiBhbmQgdGhlbiBlaXRoZXIgbWlncmF0ZSBpdHMgb2JqZWN0IGludG8gdGhlIG1haW4gb2JqZWN0IGRpcmVjdG9yeSwgb3IgcmVtb3ZlCisgKiBpdC4gVGhlIGxpYnJhcnkgaGFuZGxlcyB1bmV4cGVjdGVkIHNpZ25hbC9leGl0IGRlYXRoIGJ5IGNsZWFuaW5nIHVwIHRoZQorICogdGVtcG9yYXJ5IGRpcmVjdG9yeS4KKyAqCisgKiBFeGFtcGxlOgorICoKKyAqCXN0cnVjdCB0bXBfb2JqZGlyICp0ID0gdG1wX29iamRpcl9jcmVhdGUoKTsKKyAqCWlmICghcnVuX2NvbW1hbmRfdl9vcHRfY2RfZW52KGNtZCwgMCwgTlVMTCwgdG1wX29iamRpcl9lbnYodCkpICYmCisgKgkgICAgIXRtcF9vYmpkaXJfbWlncmF0ZSh0KSkKKyAqCQlwcmludGYoInN1Y2Nlc3MhXG4iKTsKKyAqCWVsc2UKKyAqCQlkaWUoImZhaWxlZC4uLnRtcF9vYmpkaXIgd2lsbCBjbGVhbiB1cCBmb3IgdXMiKTsKKyAqCisgKi8KKworc3RydWN0IHRtcF9vYmpkaXI7CisKKy8qCisgKiBDcmVhdGUgYSBuZXcgdGVtcG9yYXJ5IG9iamVjdCBkaXJlY3Rvcnk7IHJldHVybnMgTlVMTCBvbiBmYWlsdXJlLgorICovCitzdHJ1Y3QgdG1wX29iamRpciAqdG1wX29iamRpcl9jcmVhdGUodm9pZCk7CisKKy8qCisgKiBSZXR1cm4gYSBsaXN0IG9mIGVudmlyb25tZW50IHN0cmluZ3MsIHN1aXRhYmxlIGZvciB1c2Ugd2l0aAorICogY2hpbGRfcHJvY2Vzcy5lbnYsIHRoYXQgY2FuIGJlIHBhc3NlZCB0byBjaGlsZCBwcm9ncmFtcyB0byBtYWtlIHVzZSBvZiB0aGUKKyAqIHRlbXBvcmFyeSBvYmplY3QgZGlyZWN0b3J5LgorICovCitjb25zdCBjaGFyICoqdG1wX29iamRpcl9lbnYoY29uc3Qgc3RydWN0IHRtcF9vYmpkaXIgKik7CisKKy8qCisgKiBGaW5hbGl6ZSBhIHRlbXBvcmFyeSBvYmplY3QgZGlyZWN0b3J5IGJ5IG1pZ3JhdGluZyBpdHMgb2JqZWN0cyBpbnRvIHRoZSBtYWluCisgKiBvYmplY3QgZGF0YWJhc2UsIHJlbW92aW5nIHRoZSB0ZW1wb3JhcnkgZGlyZWN0b3J5LCBhbmQgZnJlZWluZyBhbnkKKyAqIGFzc29jaWF0ZWQgcmVzb3VyY2VzLgorICovCitpbnQgdG1wX29iamRpcl9taWdyYXRlKHN0cnVjdCB0bXBfb2JqZGlyICopOworCisvKgorICogRGVzdHJveSBhIHRlbXBvcmFyeSBvYmplY3QgZGlyZWN0b3J5LCBkaXNjYXJkaW5nIGFueSBvYmplY3RzIGl0IGNvbnRhaW5zLgorICovCitpbnQgdG1wX29iamRpcl9kZXN0cm95KHN0cnVjdCB0bXBfb2JqZGlyICopOworCisvKgorICogQWRkIHRoZSB0ZW1wb3Jhcnkgb2JqZWN0IGRpcmVjdG9yeSBhcyBhbiBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIGluIHRoZQorICogY3VycmVudCBwcm9jZXNzLgorICovCit2b2lkIHRtcF9vYmpkaXJfYWRkX2FzX2FsdGVybmF0ZShjb25zdCBzdHJ1Y3QgdG1wX29iamRpciAqKTsKKworI2VuZGlmIC8qIFRNUF9PQkpESVJfSCAqLwpkaWZmIC0tZ2l0IGEvdHJhY2UuYyBiL3RyYWNlLmMKaW5kZXggNGFlZWE2MC4uNzUwOGFlYSAxMDA2NDQKLS0tIGEvdHJhY2UuYworKysgYi90cmFjZS5jCkBAIC0yNSwxNSArMjUsMjUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgInF1b3RlLmgiCiAKKy8qCisgKiAiTm9ybWFsaXplIiBhIGtleSBhcmd1bWVudCBieSBjb252ZXJ0aW5nIE5VTEwgdG8gb3VyIHRyYWNlX2RlZmF1bHQsCisgKiBhbmQgb3RoZXJ3aXNlIHBhc3NpbmcgdGhyb3VnaCB0aGUgdmFsdWUuIEFsbCBjYWxsZXItZmFjaW5nIGZ1bmN0aW9ucworICogc2hvdWxkIG5vcm1hbGl6ZSB0aGVpciBpbnB1dHMgaW4gdGhpcyB3YXksIHRob3VnaCBtb3N0IGdldCBpdAorICogZm9yIGZyZWUgYnkgY2FsbGluZyBnZXRfdHJhY2VfZmQoKSAoZGlyZWN0bHkgb3IgaW5kaXJlY3RseSkuCisgKi8KK3N0YXRpYyB2b2lkIG5vcm1hbGl6ZV90cmFjZV9rZXkoc3RydWN0IHRyYWNlX2tleSAqKmtleSkKK3sKKwlzdGF0aWMgc3RydWN0IHRyYWNlX2tleSB0cmFjZV9kZWZhdWx0ID0geyAiR0lUX1RSQUNFIiB9OworCWlmICghKmtleSkKKwkJKmtleSA9ICZ0cmFjZV9kZWZhdWx0OworfQorCiAvKiBHZXQgYSB0cmFjZSBmaWxlIGRlc2NyaXB0b3IgZnJvbSAia2V5IiBlbnYgdmFyaWFibGUuICovCiBzdGF0aWMgaW50IGdldF90cmFjZV9mZChzdHJ1Y3QgdHJhY2Vfa2V5ICprZXkpCiB7Ci0Jc3RhdGljIHN0cnVjdCB0cmFjZV9rZXkgdHJhY2VfZGVmYXVsdCA9IHsgIkdJVF9UUkFDRSIgfTsKIAljb25zdCBjaGFyICp0cmFjZTsKIAotCS8qIHVzZSBkZWZhdWx0ICJHSVRfVFJBQ0UiIGlmIE5VTEwgKi8KLQlpZiAoIWtleSkKLQkJa2V5ID0gJnRyYWNlX2RlZmF1bHQ7CisJbm9ybWFsaXplX3RyYWNlX2tleSgma2V5KTsKIAogCS8qIGRvbid0IG9wZW4gdHdpY2UgKi8KIAlpZiAoa2V5LT5pbml0aWFsaXplZCkKQEAgLTUxLDIyICs2MSwxOSBAQAogCWVsc2UgaWYgKGlzX2Fic29sdXRlX3BhdGgodHJhY2UpKSB7CiAJCWludCBmZCA9IG9wZW4odHJhY2UsIE9fV1JPTkxZIHwgT19BUFBFTkQgfCBPX0NSRUFULCAwNjY2KTsKIAkJaWYgKGZkID09IC0xKSB7Ci0JCQlmcHJpbnRmKHN0ZGVyciwKLQkJCQkiQ291bGQgbm90IG9wZW4gJyVzJyBmb3IgdHJhY2luZzogJXNcbiIKLQkJCQkiRGVmYXVsdGluZyB0byB0cmFjaW5nIG9uIHN0ZGVyci4uLlxuIiwKKwkJCXdhcm5pbmcoImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHRyYWNpbmc6ICVzIiwKIAkJCQl0cmFjZSwgc3RyZXJyb3IoZXJybm8pKTsKLQkJCWtleS0+ZmQgPSBTVERFUlJfRklMRU5POworCQkJdHJhY2VfZGlzYWJsZShrZXkpOwogCQl9IGVsc2UgewogCQkJa2V5LT5mZCA9IGZkOwogCQkJa2V5LT5uZWVkX2Nsb3NlID0gMTsKIAkJfQogCX0gZWxzZSB7Ci0JCWZwcmludGYoc3RkZXJyLCAiV2hhdCBkb2VzICclcycgZm9yICVzIG1lYW4/XG4iCi0JCQkiSWYgeW91IHdhbnQgdG8gdHJhY2UgaW50byBhIGZpbGUsIHRoZW4gcGxlYXNlIHNldCAiCi0JCQkiJXMgdG8gYW4gYWJzb2x1dGUgcGF0aG5hbWUgKHN0YXJ0aW5nIHdpdGggLykuXG4iCi0JCQkiRGVmYXVsdGluZyB0byB0cmFjaW5nIG9uIHN0ZGVyci4uLlxuIiwKLQkJCXRyYWNlLCBrZXktPmtleSwga2V5LT5rZXkpOwotCQlrZXktPmZkID0gU1RERVJSX0ZJTEVOTzsKKwkJd2FybmluZygidW5rbm93biB0cmFjZSB2YWx1ZSBmb3IgJyVzJzogJXNcbiIKKwkJCSIgICAgICAgICBJZiB5b3Ugd2FudCB0byB0cmFjZSBpbnRvIGEgZmlsZSwgdGhlbiBwbGVhc2Ugc2V0ICVzXG4iCisJCQkiICAgICAgICAgdG8gYW4gYWJzb2x1dGUgcGF0aG5hbWUgKHN0YXJ0aW5nIHdpdGggLykiLAorCQkJa2V5LT5rZXksIHRyYWNlLCBrZXktPmtleSk7CisJCXRyYWNlX2Rpc2FibGUoa2V5KTsKIAl9CiAKIAlrZXktPmluaXRpYWxpemVkID0gMTsKQEAgLTc1LDYgKzgyLDggQEAKIAogdm9pZCB0cmFjZV9kaXNhYmxlKHN0cnVjdCB0cmFjZV9rZXkgKmtleSkKIHsKKwlub3JtYWxpemVfdHJhY2Vfa2V5KCZrZXkpOworCiAJaWYgKGtleS0+bmVlZF9jbG9zZSkKIAkJY2xvc2Uoa2V5LT5mZCk7CiAJa2V5LT5mZCA9IDA7CkBAIC04Miw5ICs5MSw2IEBACiAJa2V5LT5uZWVkX2Nsb3NlID0gMDsKIH0KIAotc3RhdGljIGNvbnN0IGNoYXIgZXJyX21zZ1tdID0gIkNvdWxkIG5vdCB0cmFjZSBpbnRvIGZkIGdpdmVuIGJ5ICIKLQkiR0lUX1RSQUNFIGVudmlyb25tZW50IHZhcmlhYmxlIjsKLQogc3RhdGljIGludCBwcmVwYXJlX3RyYWNlX2xpbmUoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCiAJCQkgICAgICBzdHJ1Y3QgdHJhY2Vfa2V5ICprZXksIHN0cnVjdCBzdHJidWYgKmJ1ZikKIHsKQEAgLTEyMCwxOCArMTI2LDI3IEBACiAJcmV0dXJuIDE7CiB9CiAKK3N0YXRpYyB2b2lkIHRyYWNlX3dyaXRlKHN0cnVjdCB0cmFjZV9rZXkgKmtleSwgY29uc3Qgdm9pZCAqYnVmLCB1bnNpZ25lZCBsZW4pCit7CisJaWYgKHdyaXRlX2luX2Z1bGwoZ2V0X3RyYWNlX2ZkKGtleSksIGJ1ZiwgbGVuKSA8IDApIHsKKwkJbm9ybWFsaXplX3RyYWNlX2tleSgma2V5KTsKKwkJd2FybmluZygidW5hYmxlIHRvIHdyaXRlIHRyYWNlIGZvciAlczogJXMiLAorCQkJa2V5LT5rZXksIHN0cmVycm9yKGVycm5vKSk7CisJCXRyYWNlX2Rpc2FibGUoa2V5KTsKKwl9Cit9CisKIHZvaWQgdHJhY2VfdmVyYmF0aW0oc3RydWN0IHRyYWNlX2tleSAqa2V5LCBjb25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGxlbikKIHsKIAlpZiAoIXRyYWNlX3dhbnQoa2V5KSkKIAkJcmV0dXJuOwotCXdyaXRlX29yX3doaW5lX3BpcGUoZ2V0X3RyYWNlX2ZkKGtleSksIGJ1ZiwgbGVuLCBlcnJfbXNnKTsKKwl0cmFjZV93cml0ZShrZXksIGJ1ZiwgbGVuKTsKIH0KIAogc3RhdGljIHZvaWQgcHJpbnRfdHJhY2VfbGluZShzdHJ1Y3QgdHJhY2Vfa2V5ICprZXksIHN0cnVjdCBzdHJidWYgKmJ1ZikKIHsKIAlzdHJidWZfY29tcGxldGVfbGluZShidWYpOwotCi0Jd3JpdGVfb3Jfd2hpbmVfcGlwZShnZXRfdHJhY2VfZmQoa2V5KSwgYnVmLT5idWYsIGJ1Zi0+bGVuLCBlcnJfbXNnKTsKKwl0cmFjZV93cml0ZShrZXksIGJ1Zi0+YnVmLCBidWYtPmxlbik7CiAJc3RyYnVmX3JlbGVhc2UoYnVmKTsKIH0KIApkaWZmIC0tZ2l0IGEvdHJhaWxlci5jIGIvdHJhaWxlci5jCmluZGV4IDhlNDhhNWMuLmYwZWNkZTIgMTAwNjQ0Ci0tLSBhL3RyYWlsZXIuYworKysgYi90cmFpbGVyLmMKQEAgLTQsNiArNCw3IEBACiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAidGVtcGZpbGUuaCIKICNpbmNsdWRlICJ0cmFpbGVyLmgiCisjaW5jbHVkZSAibGlzdC5oIgogLyoKICAqIENvcHlyaWdodCAoYykgMjAxMywgMjAxNCBDaHJpc3RpYW4gQ291ZGVyIDxjaHJpc2Nvb2xAdHV4ZmFtaWx5Lm9yZz4KICAqLwpAQCAtMjUsMTkgKzI2LDQwIEBACiBzdGF0aWMgc3RydWN0IGNvbmZfaW5mbyBkZWZhdWx0X2NvbmZfaW5mbzsKIAogc3RydWN0IHRyYWlsZXJfaXRlbSB7Ci0Jc3RydWN0IHRyYWlsZXJfaXRlbSAqcHJldmlvdXM7Ci0Jc3RydWN0IHRyYWlsZXJfaXRlbSAqbmV4dDsKLQljb25zdCBjaGFyICp0b2tlbjsKLQljb25zdCBjaGFyICp2YWx1ZTsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJLyoKKwkgKiBJZiB0aGlzIGlzIG5vdCBhIHRyYWlsZXIgbGluZSwgdGhlIGxpbmUgaXMgc3RvcmVkIGluIHZhbHVlCisJICogKGV4Y2x1ZGluZyB0aGUgdGVybWluYXRpbmcgbmV3bGluZSkgYW5kIHRva2VuIGlzIE5VTEwuCisJICovCisJY2hhciAqdG9rZW47CisJY2hhciAqdmFsdWU7Cit9OworCitzdHJ1Y3QgYXJnX2l0ZW0geworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwljaGFyICp0b2tlbjsKKwljaGFyICp2YWx1ZTsKIAlzdHJ1Y3QgY29uZl9pbmZvIGNvbmY7CiB9OwogCi1zdGF0aWMgc3RydWN0IHRyYWlsZXJfaXRlbSAqZmlyc3RfY29uZl9pdGVtOworc3RhdGljIExJU1RfSEVBRChjb25mX2hlYWQpOwogCiBzdGF0aWMgY2hhciAqc2VwYXJhdG9ycyA9ICI6IjsKIAogI2RlZmluZSBUUkFJTEVSX0FSR19TVFJJTkcgIiRBUkciCiAKK3N0YXRpYyBjb25zdCBjaGFyICpnaXRfZ2VuZXJhdGVkX3ByZWZpeGVzW10gPSB7CisJIlNpZ25lZC1vZmYtYnk6ICIsCisJIihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0ICIsCisJTlVMTAorfTsKKworLyogSXRlcmF0ZSBvdmVyIHRoZSBlbGVtZW50cyBvZiB0aGUgbGlzdC4gKi8KKyNkZWZpbmUgbGlzdF9mb3JfZWFjaF9kaXIocG9zLCBoZWFkLCBpc19yZXZlcnNlKSBcCisJZm9yIChwb3MgPSBpc19yZXZlcnNlID8gKGhlYWQpLT5wcmV2IDogKGhlYWQpLT5uZXh0OyBcCisJCXBvcyAhPSAoaGVhZCk7IFwKKwkJcG9zID0gaXNfcmV2ZXJzZSA/IHBvcy0+cHJldiA6IHBvcy0+bmV4dCkKKwogc3RhdGljIGludCBhZnRlcl9vcl9lbmQoZW51bSBhY3Rpb25fd2hlcmUgd2hlcmUpCiB7CiAJcmV0dXJuICh3aGVyZSA9PSBXSEVSRV9BRlRFUikgfHwgKHdoZXJlID09IFdIRVJFX0VORCk7CkBAIC01NiwyMSArNzgsMjYgQEAKIAlyZXR1cm4gbGVuOwogfQogCi1zdGF0aWMgaW50IHNhbWVfdG9rZW4oc3RydWN0IHRyYWlsZXJfaXRlbSAqYSwgc3RydWN0IHRyYWlsZXJfaXRlbSAqYikKK3N0YXRpYyBpbnQgc2FtZV90b2tlbihzdHJ1Y3QgdHJhaWxlcl9pdGVtICphLCBzdHJ1Y3QgYXJnX2l0ZW0gKmIpCiB7Ci0Jc2l6ZV90IGFfbGVuID0gdG9rZW5fbGVuX3dpdGhvdXRfc2VwYXJhdG9yKGEtPnRva2VuLCBzdHJsZW4oYS0+dG9rZW4pKTsKLQlzaXplX3QgYl9sZW4gPSB0b2tlbl9sZW5fd2l0aG91dF9zZXBhcmF0b3IoYi0+dG9rZW4sIHN0cmxlbihiLT50b2tlbikpOwotCXNpemVfdCBtaW5fbGVuID0gKGFfbGVuID4gYl9sZW4pID8gYl9sZW4gOiBhX2xlbjsKKwlzaXplX3QgYV9sZW4sIGJfbGVuLCBtaW5fbGVuOworCisJaWYgKCFhLT50b2tlbikKKwkJcmV0dXJuIDA7CisKKwlhX2xlbiA9IHRva2VuX2xlbl93aXRob3V0X3NlcGFyYXRvcihhLT50b2tlbiwgc3RybGVuKGEtPnRva2VuKSk7CisJYl9sZW4gPSB0b2tlbl9sZW5fd2l0aG91dF9zZXBhcmF0b3IoYi0+dG9rZW4sIHN0cmxlbihiLT50b2tlbikpOworCW1pbl9sZW4gPSAoYV9sZW4gPiBiX2xlbikgPyBiX2xlbiA6IGFfbGVuOwogCiAJcmV0dXJuICFzdHJuY2FzZWNtcChhLT50b2tlbiwgYi0+dG9rZW4sIG1pbl9sZW4pOwogfQogCi1zdGF0aWMgaW50IHNhbWVfdmFsdWUoc3RydWN0IHRyYWlsZXJfaXRlbSAqYSwgc3RydWN0IHRyYWlsZXJfaXRlbSAqYikKK3N0YXRpYyBpbnQgc2FtZV92YWx1ZShzdHJ1Y3QgdHJhaWxlcl9pdGVtICphLCBzdHJ1Y3QgYXJnX2l0ZW0gKmIpCiB7CiAJcmV0dXJuICFzdHJjYXNlY21wKGEtPnZhbHVlLCBiLT52YWx1ZSk7CiB9CiAKLXN0YXRpYyBpbnQgc2FtZV90cmFpbGVyKHN0cnVjdCB0cmFpbGVyX2l0ZW0gKmEsIHN0cnVjdCB0cmFpbGVyX2l0ZW0gKmIpCitzdGF0aWMgaW50IHNhbWVfdHJhaWxlcihzdHJ1Y3QgdHJhaWxlcl9pdGVtICphLCBzdHJ1Y3QgYXJnX2l0ZW0gKmIpCiB7CiAJcmV0dXJuIHNhbWVfdG9rZW4oYSwgYikgJiYgc2FtZV92YWx1ZShhLCBiKTsKIH0KQEAgLTkyLDExICsxMTksMTggQEAKIAogc3RhdGljIHZvaWQgZnJlZV90cmFpbGVyX2l0ZW0oc3RydWN0IHRyYWlsZXJfaXRlbSAqaXRlbSkKIHsKKwlmcmVlKGl0ZW0tPnRva2VuKTsKKwlmcmVlKGl0ZW0tPnZhbHVlKTsKKwlmcmVlKGl0ZW0pOworfQorCitzdGF0aWMgdm9pZCBmcmVlX2FyZ19pdGVtKHN0cnVjdCBhcmdfaXRlbSAqaXRlbSkKK3sKIAlmcmVlKGl0ZW0tPmNvbmYubmFtZSk7CiAJZnJlZShpdGVtLT5jb25mLmtleSk7CiAJZnJlZShpdGVtLT5jb25mLmNvbW1hbmQpOwotCWZyZWUoKGNoYXIgKilpdGVtLT50b2tlbik7Ci0JZnJlZSgoY2hhciAqKWl0ZW0tPnZhbHVlKTsKKwlmcmVlKGl0ZW0tPnRva2VuKTsKKwlmcmVlKGl0ZW0tPnZhbHVlKTsKIAlmcmVlKGl0ZW0pOwogfQogCkBAIC0xMTEsNyArMTQ1LDE0IEBACiAKIHN0YXRpYyB2b2lkIHByaW50X3Rva192YWwoRklMRSAqb3V0ZmlsZSwgY29uc3QgY2hhciAqdG9rLCBjb25zdCBjaGFyICp2YWwpCiB7Ci0JY2hhciBjID0gbGFzdF9ub25fc3BhY2VfY2hhcih0b2spOworCWNoYXIgYzsKKworCWlmICghdG9rKSB7CisJCWZwcmludGYob3V0ZmlsZSwgIiVzXG4iLCB2YWwpOworCQlyZXR1cm47CisJfQorCisJYyA9IGxhc3Rfbm9uX3NwYWNlX2NoYXIodG9rKTsKIAlpZiAoIWMpCiAJCXJldHVybjsKIAlpZiAoc3RyY2hyKHNlcGFyYXRvcnMsIGMpKQpAQCAtMTIwLDEwOCArMTYxLDY4IEBACiAJCWZwcmludGYob3V0ZmlsZSwgIiVzJWMgJXNcbiIsIHRvaywgc2VwYXJhdG9yc1swXSwgdmFsKTsKIH0KIAotc3RhdGljIHZvaWQgcHJpbnRfYWxsKEZJTEUgKm91dGZpbGUsIHN0cnVjdCB0cmFpbGVyX2l0ZW0gKmZpcnN0LCBpbnQgdHJpbV9lbXB0eSkKK3N0YXRpYyB2b2lkIHByaW50X2FsbChGSUxFICpvdXRmaWxlLCBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkLCBpbnQgdHJpbV9lbXB0eSkKIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwb3M7CiAJc3RydWN0IHRyYWlsZXJfaXRlbSAqaXRlbTsKLQlmb3IgKGl0ZW0gPSBmaXJzdDsgaXRlbTsgaXRlbSA9IGl0ZW0tPm5leHQpIHsKKwlsaXN0X2Zvcl9lYWNoKHBvcywgaGVhZCkgeworCQlpdGVtID0gbGlzdF9lbnRyeShwb3MsIHN0cnVjdCB0cmFpbGVyX2l0ZW0sIGxpc3QpOwogCQlpZiAoIXRyaW1fZW1wdHkgfHwgc3RybGVuKGl0ZW0tPnZhbHVlKSA+IDApCiAJCQlwcmludF90b2tfdmFsKG91dGZpbGUsIGl0ZW0tPnRva2VuLCBpdGVtLT52YWx1ZSk7CiAJfQogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVfbGFzdChzdHJ1Y3QgdHJhaWxlcl9pdGVtICoqbGFzdCkKK3N0YXRpYyBzdHJ1Y3QgdHJhaWxlcl9pdGVtICp0cmFpbGVyX2Zyb21fYXJnKHN0cnVjdCBhcmdfaXRlbSAqYXJnX3RvaykKIHsKLQlpZiAoKmxhc3QpCi0JCXdoaWxlICgoKmxhc3QpLT5uZXh0ICE9IE5VTEwpCi0JCQkqbGFzdCA9ICgqbGFzdCktPm5leHQ7Ci19Ci0KLXN0YXRpYyB2b2lkIHVwZGF0ZV9maXJzdChzdHJ1Y3QgdHJhaWxlcl9pdGVtICoqZmlyc3QpCi17Ci0JaWYgKCpmaXJzdCkKLQkJd2hpbGUgKCgqZmlyc3QpLT5wcmV2aW91cyAhPSBOVUxMKQotCQkJKmZpcnN0ID0gKCpmaXJzdCktPnByZXZpb3VzOworCXN0cnVjdCB0cmFpbGVyX2l0ZW0gKm5ldyA9IHhjYWxsb2Moc2l6ZW9mKCpuZXcpLCAxKTsKKwluZXctPnRva2VuID0gYXJnX3Rvay0+dG9rZW47CisJbmV3LT52YWx1ZSA9IGFyZ190b2stPnZhbHVlOworCWFyZ190b2stPnRva2VuID0gYXJnX3Rvay0+dmFsdWUgPSBOVUxMOworCWZyZWVfYXJnX2l0ZW0oYXJnX3Rvayk7CisJcmV0dXJuIG5ldzsKIH0KIAogc3RhdGljIHZvaWQgYWRkX2FyZ190b19pbnB1dF9saXN0KHN0cnVjdCB0cmFpbGVyX2l0ZW0gKm9uX3RvaywKLQkJCQkgIHN0cnVjdCB0cmFpbGVyX2l0ZW0gKmFyZ190b2ssCi0JCQkJICBzdHJ1Y3QgdHJhaWxlcl9pdGVtICoqZmlyc3QsCi0JCQkJICBzdHJ1Y3QgdHJhaWxlcl9pdGVtICoqbGFzdCkKKwkJCQkgIHN0cnVjdCBhcmdfaXRlbSAqYXJnX3RvaykKIHsKLQlpZiAoYWZ0ZXJfb3JfZW5kKGFyZ190b2stPmNvbmYud2hlcmUpKSB7Ci0JCWFyZ190b2stPm5leHQgPSBvbl90b2stPm5leHQ7Ci0JCW9uX3Rvay0+bmV4dCA9IGFyZ190b2s7Ci0JCWFyZ190b2stPnByZXZpb3VzID0gb25fdG9rOwotCQlpZiAoYXJnX3Rvay0+bmV4dCkKLQkJCWFyZ190b2stPm5leHQtPnByZXZpb3VzID0gYXJnX3RvazsKLQkJdXBkYXRlX2xhc3QobGFzdCk7Ci0JfSBlbHNlIHsKLQkJYXJnX3Rvay0+cHJldmlvdXMgPSBvbl90b2stPnByZXZpb3VzOwotCQlvbl90b2stPnByZXZpb3VzID0gYXJnX3RvazsKLQkJYXJnX3Rvay0+bmV4dCA9IG9uX3RvazsKLQkJaWYgKGFyZ190b2stPnByZXZpb3VzKQotCQkJYXJnX3Rvay0+cHJldmlvdXMtPm5leHQgPSBhcmdfdG9rOwotCQl1cGRhdGVfZmlyc3QoZmlyc3QpOwotCX0KKwlpbnQgYW9lID0gYWZ0ZXJfb3JfZW5kKGFyZ190b2stPmNvbmYud2hlcmUpOworCXN0cnVjdCB0cmFpbGVyX2l0ZW0gKnRvX2FkZCA9IHRyYWlsZXJfZnJvbV9hcmcoYXJnX3Rvayk7CisJaWYgKGFvZSkKKwkJbGlzdF9hZGQoJnRvX2FkZC0+bGlzdCwgJm9uX3Rvay0+bGlzdCk7CisJZWxzZQorCQlsaXN0X2FkZF90YWlsKCZ0b19hZGQtPmxpc3QsICZvbl90b2stPmxpc3QpOwogfQogCiBzdGF0aWMgaW50IGNoZWNrX2lmX2RpZmZlcmVudChzdHJ1Y3QgdHJhaWxlcl9pdGVtICppbl90b2ssCi0JCQkgICAgICBzdHJ1Y3QgdHJhaWxlcl9pdGVtICphcmdfdG9rLAotCQkJICAgICAgaW50IGNoZWNrX2FsbCkKKwkJCSAgICAgIHN0cnVjdCBhcmdfaXRlbSAqYXJnX3RvaywKKwkJCSAgICAgIGludCBjaGVja19hbGwsCisJCQkgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQogewogCWVudW0gYWN0aW9uX3doZXJlIHdoZXJlID0gYXJnX3Rvay0+Y29uZi53aGVyZTsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpuZXh0X2hlYWQ7CiAJZG8gewotCQlpZiAoIWluX3RvaykKLQkJCXJldHVybiAxOwogCQlpZiAoc2FtZV90cmFpbGVyKGluX3RvaywgYXJnX3RvaykpCiAJCQlyZXR1cm4gMDsKIAkJLyoKIAkJICogaWYgd2Ugd2FudCB0byBhZGQgYSB0cmFpbGVyIGFmdGVyIGFub3RoZXIgb25lLAogCQkgKiB3ZSBoYXZlIHRvIGNoZWNrIHRob3NlIGJlZm9yZSB0aGlzIG9uZQogCQkgKi8KLQkJaW5fdG9rID0gYWZ0ZXJfb3JfZW5kKHdoZXJlKSA/IGluX3Rvay0+cHJldmlvdXMgOiBpbl90b2stPm5leHQ7CisJCW5leHRfaGVhZCA9IGFmdGVyX29yX2VuZCh3aGVyZSkgPyBpbl90b2stPmxpc3QucHJldgorCQkJCQkJOiBpbl90b2stPmxpc3QubmV4dDsKKwkJaWYgKG5leHRfaGVhZCA9PSBoZWFkKQorCQkJYnJlYWs7CisJCWluX3RvayA9IGxpc3RfZW50cnkobmV4dF9oZWFkLCBzdHJ1Y3QgdHJhaWxlcl9pdGVtLCBsaXN0KTsKIAl9IHdoaWxlIChjaGVja19hbGwpOwogCXJldHVybiAxOwogfQogCi1zdGF0aWMgdm9pZCByZW1vdmVfZnJvbV9saXN0KHN0cnVjdCB0cmFpbGVyX2l0ZW0gKml0ZW0sCi0JCQkgICAgIHN0cnVjdCB0cmFpbGVyX2l0ZW0gKipmaXJzdCwKLQkJCSAgICAgc3RydWN0IHRyYWlsZXJfaXRlbSAqKmxhc3QpCi17Ci0Jc3RydWN0IHRyYWlsZXJfaXRlbSAqbmV4dCA9IGl0ZW0tPm5leHQ7Ci0Jc3RydWN0IHRyYWlsZXJfaXRlbSAqcHJldmlvdXMgPSBpdGVtLT5wcmV2aW91czsKLQotCWlmIChuZXh0KSB7Ci0JCWl0ZW0tPm5leHQtPnByZXZpb3VzID0gcHJldmlvdXM7Ci0JCWl0ZW0tPm5leHQgPSBOVUxMOwotCX0gZWxzZSBpZiAobGFzdCkKLQkJKmxhc3QgPSBwcmV2aW91czsKLQotCWlmIChwcmV2aW91cykgewotCQlpdGVtLT5wcmV2aW91cy0+bmV4dCA9IG5leHQ7Ci0JCWl0ZW0tPnByZXZpb3VzID0gTlVMTDsKLQl9IGVsc2UgaWYgKGZpcnN0KQotCQkqZmlyc3QgPSBuZXh0OwotfQotCi1zdGF0aWMgc3RydWN0IHRyYWlsZXJfaXRlbSAqcmVtb3ZlX2ZpcnN0KHN0cnVjdCB0cmFpbGVyX2l0ZW0gKipmaXJzdCkKLXsKLQlzdHJ1Y3QgdHJhaWxlcl9pdGVtICppdGVtID0gKmZpcnN0OwotCSpmaXJzdCA9IGl0ZW0tPm5leHQ7Ci0JaWYgKGl0ZW0tPm5leHQpIHsKLQkJaXRlbS0+bmV4dC0+cHJldmlvdXMgPSBOVUxMOwotCQlpdGVtLT5uZXh0ID0gTlVMTDsKLQl9Ci0JcmV0dXJuIGl0ZW07Ci19Ci0KLXN0YXRpYyBjb25zdCBjaGFyICphcHBseV9jb21tYW5kKGNvbnN0IGNoYXIgKmNvbW1hbmQsIGNvbnN0IGNoYXIgKmFyZykKK3N0YXRpYyBjaGFyICphcHBseV9jb21tYW5kKGNvbnN0IGNoYXIgKmNvbW1hbmQsIGNvbnN0IGNoYXIgKmFyZykKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGNtZCA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CiAJY29uc3QgY2hhciAqYXJndltdID0ge05VTEwsIE5VTEx9OwotCWNvbnN0IGNoYXIgKnJlc3VsdDsKKwljaGFyICpyZXN1bHQ7CiAKIAlzdHJidWZfYWRkc3RyKCZjbWQsIGNvbW1hbmQpOwogCWlmIChhcmcpCkBAIC0yNDYsNyArMjQ3LDcgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi1zdGF0aWMgdm9pZCBhcHBseV9pdGVtX2NvbW1hbmQoc3RydWN0IHRyYWlsZXJfaXRlbSAqaW5fdG9rLCBzdHJ1Y3QgdHJhaWxlcl9pdGVtICphcmdfdG9rKQorc3RhdGljIHZvaWQgYXBwbHlfaXRlbV9jb21tYW5kKHN0cnVjdCB0cmFpbGVyX2l0ZW0gKmluX3Rvaywgc3RydWN0IGFyZ19pdGVtICphcmdfdG9rKQogewogCWlmIChhcmdfdG9rLT5jb25mLmNvbW1hbmQpIHsKIAkJY29uc3QgY2hhciAqYXJnOwpAQCAtMjY0LDEyMSArMjY1LDEwOCBAQAogfQogCiBzdGF0aWMgdm9pZCBhcHBseV9hcmdfaWZfZXhpc3RzKHN0cnVjdCB0cmFpbGVyX2l0ZW0gKmluX3RvaywKLQkJCQlzdHJ1Y3QgdHJhaWxlcl9pdGVtICphcmdfdG9rLAorCQkJCXN0cnVjdCBhcmdfaXRlbSAqYXJnX3RvaywKIAkJCQlzdHJ1Y3QgdHJhaWxlcl9pdGVtICpvbl90b2ssCi0JCQkJc3RydWN0IHRyYWlsZXJfaXRlbSAqKmluX3Rva19maXJzdCwKLQkJCQlzdHJ1Y3QgdHJhaWxlcl9pdGVtICoqaW5fdG9rX2xhc3QpCisJCQkJc3RydWN0IGxpc3RfaGVhZCAqaGVhZCkKIHsKIAlzd2l0Y2ggKGFyZ190b2stPmNvbmYuaWZfZXhpc3RzKSB7CiAJY2FzZSBFWElTVFNfRE9fTk9USElORzoKLQkJZnJlZV90cmFpbGVyX2l0ZW0oYXJnX3Rvayk7CisJCWZyZWVfYXJnX2l0ZW0oYXJnX3Rvayk7CiAJCWJyZWFrOwogCWNhc2UgRVhJU1RTX1JFUExBQ0U6CiAJCWFwcGx5X2l0ZW1fY29tbWFuZChpbl90b2ssIGFyZ190b2spOwotCQlhZGRfYXJnX3RvX2lucHV0X2xpc3Qob25fdG9rLCBhcmdfdG9rLAotCQkJCSAgICAgIGluX3Rva19maXJzdCwgaW5fdG9rX2xhc3QpOwotCQlyZW1vdmVfZnJvbV9saXN0KGluX3RvaywgaW5fdG9rX2ZpcnN0LCBpbl90b2tfbGFzdCk7CisJCWFkZF9hcmdfdG9faW5wdXRfbGlzdChvbl90b2ssIGFyZ190b2spOworCQlsaXN0X2RlbCgmaW5fdG9rLT5saXN0KTsKIAkJZnJlZV90cmFpbGVyX2l0ZW0oaW5fdG9rKTsKIAkJYnJlYWs7CiAJY2FzZSBFWElTVFNfQUREOgogCQlhcHBseV9pdGVtX2NvbW1hbmQoaW5fdG9rLCBhcmdfdG9rKTsKLQkJYWRkX2FyZ190b19pbnB1dF9saXN0KG9uX3RvaywgYXJnX3RvaywKLQkJCQkgICAgICBpbl90b2tfZmlyc3QsIGluX3Rva19sYXN0KTsKKwkJYWRkX2FyZ190b19pbnB1dF9saXN0KG9uX3RvaywgYXJnX3Rvayk7CiAJCWJyZWFrOwogCWNhc2UgRVhJU1RTX0FERF9JRl9ESUZGRVJFTlQ6CiAJCWFwcGx5X2l0ZW1fY29tbWFuZChpbl90b2ssIGFyZ190b2spOwotCQlpZiAoY2hlY2tfaWZfZGlmZmVyZW50KGluX3RvaywgYXJnX3RvaywgMSkpCi0JCQlhZGRfYXJnX3RvX2lucHV0X2xpc3Qob25fdG9rLCBhcmdfdG9rLAotCQkJCQkgICAgICBpbl90b2tfZmlyc3QsIGluX3Rva19sYXN0KTsKKwkJaWYgKGNoZWNrX2lmX2RpZmZlcmVudChpbl90b2ssIGFyZ190b2ssIDEsIGhlYWQpKQorCQkJYWRkX2FyZ190b19pbnB1dF9saXN0KG9uX3RvaywgYXJnX3Rvayk7CiAJCWVsc2UKLQkJCWZyZWVfdHJhaWxlcl9pdGVtKGFyZ190b2spOworCQkJZnJlZV9hcmdfaXRlbShhcmdfdG9rKTsKIAkJYnJlYWs7CiAJY2FzZSBFWElTVFNfQUREX0lGX0RJRkZFUkVOVF9ORUlHSEJPUjoKIAkJYXBwbHlfaXRlbV9jb21tYW5kKGluX3RvaywgYXJnX3Rvayk7Ci0JCWlmIChjaGVja19pZl9kaWZmZXJlbnQob25fdG9rLCBhcmdfdG9rLCAwKSkKLQkJCWFkZF9hcmdfdG9faW5wdXRfbGlzdChvbl90b2ssIGFyZ190b2ssCi0JCQkJCSAgICAgIGluX3Rva19maXJzdCwgaW5fdG9rX2xhc3QpOworCQlpZiAoY2hlY2tfaWZfZGlmZmVyZW50KG9uX3RvaywgYXJnX3RvaywgMCwgaGVhZCkpCisJCQlhZGRfYXJnX3RvX2lucHV0X2xpc3Qob25fdG9rLCBhcmdfdG9rKTsKIAkJZWxzZQotCQkJZnJlZV90cmFpbGVyX2l0ZW0oYXJnX3Rvayk7CisJCQlmcmVlX2FyZ19pdGVtKGFyZ190b2spOwogCQlicmVhazsKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGFwcGx5X2FyZ19pZl9taXNzaW5nKHN0cnVjdCB0cmFpbGVyX2l0ZW0gKippbl90b2tfZmlyc3QsCi0JCQkJIHN0cnVjdCB0cmFpbGVyX2l0ZW0gKippbl90b2tfbGFzdCwKLQkJCQkgc3RydWN0IHRyYWlsZXJfaXRlbSAqYXJnX3RvaykKK3N0YXRpYyB2b2lkIGFwcGx5X2FyZ19pZl9taXNzaW5nKHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQsCisJCQkJIHN0cnVjdCBhcmdfaXRlbSAqYXJnX3RvaykKIHsKLQlzdHJ1Y3QgdHJhaWxlcl9pdGVtICoqaW5fdG9rOwogCWVudW0gYWN0aW9uX3doZXJlIHdoZXJlOworCXN0cnVjdCB0cmFpbGVyX2l0ZW0gKnRvX2FkZDsKIAogCXN3aXRjaCAoYXJnX3Rvay0+Y29uZi5pZl9taXNzaW5nKSB7CiAJY2FzZSBNSVNTSU5HX0RPX05PVEhJTkc6Ci0JCWZyZWVfdHJhaWxlcl9pdGVtKGFyZ190b2spOworCQlmcmVlX2FyZ19pdGVtKGFyZ190b2spOwogCQlicmVhazsKIAljYXNlIE1JU1NJTkdfQUREOgogCQl3aGVyZSA9IGFyZ190b2stPmNvbmYud2hlcmU7Ci0JCWluX3RvayA9IGFmdGVyX29yX2VuZCh3aGVyZSkgPyBpbl90b2tfbGFzdCA6IGluX3Rva19maXJzdDsKIAkJYXBwbHlfaXRlbV9jb21tYW5kKE5VTEwsIGFyZ190b2spOwotCQlpZiAoKmluX3RvaykgewotCQkJYWRkX2FyZ190b19pbnB1dF9saXN0KCppbl90b2ssIGFyZ190b2ssCi0JCQkJCSAgICAgIGluX3Rva19maXJzdCwgaW5fdG9rX2xhc3QpOwotCQl9IGVsc2UgewotCQkJKmluX3Rva19maXJzdCA9IGFyZ190b2s7Ci0JCQkqaW5fdG9rX2xhc3QgPSBhcmdfdG9rOwotCQl9Ci0JCWJyZWFrOworCQl0b19hZGQgPSB0cmFpbGVyX2Zyb21fYXJnKGFyZ190b2spOworCQlpZiAoYWZ0ZXJfb3JfZW5kKHdoZXJlKSkKKwkJCWxpc3RfYWRkX3RhaWwoJnRvX2FkZC0+bGlzdCwgaGVhZCk7CisJCWVsc2UKKwkJCWxpc3RfYWRkKCZ0b19hZGQtPmxpc3QsIGhlYWQpOwogCX0KIH0KIAotc3RhdGljIGludCBmaW5kX3NhbWVfYW5kX2FwcGx5X2FyZyhzdHJ1Y3QgdHJhaWxlcl9pdGVtICoqaW5fdG9rX2ZpcnN0LAotCQkJCSAgIHN0cnVjdCB0cmFpbGVyX2l0ZW0gKippbl90b2tfbGFzdCwKLQkJCQkgICBzdHJ1Y3QgdHJhaWxlcl9pdGVtICphcmdfdG9rKQorc3RhdGljIGludCBmaW5kX3NhbWVfYW5kX2FwcGx5X2FyZyhzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkLAorCQkJCSAgIHN0cnVjdCBhcmdfaXRlbSAqYXJnX3RvaykKIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwb3M7CiAJc3RydWN0IHRyYWlsZXJfaXRlbSAqaW5fdG9rOwogCXN0cnVjdCB0cmFpbGVyX2l0ZW0gKm9uX3RvazsKLQlzdHJ1Y3QgdHJhaWxlcl9pdGVtICpmb2xsb3dpbmdfdG9rOwogCiAJZW51bSBhY3Rpb25fd2hlcmUgd2hlcmUgPSBhcmdfdG9rLT5jb25mLndoZXJlOwogCWludCBtaWRkbGUgPSAod2hlcmUgPT0gV0hFUkVfQUZURVIpIHx8ICh3aGVyZSA9PSBXSEVSRV9CRUZPUkUpOwogCWludCBiYWNrd2FyZHMgPSBhZnRlcl9vcl9lbmQod2hlcmUpOwotCXN0cnVjdCB0cmFpbGVyX2l0ZW0gKnN0YXJ0X3RvayA9IGJhY2t3YXJkcyA/ICppbl90b2tfbGFzdCA6ICppbl90b2tfZmlyc3Q7CisJc3RydWN0IHRyYWlsZXJfaXRlbSAqc3RhcnRfdG9rOwogCi0JZm9yIChpbl90b2sgPSBzdGFydF90b2s7IGluX3RvazsgaW5fdG9rID0gZm9sbG93aW5nX3RvaykgewotCQlmb2xsb3dpbmdfdG9rID0gYmFja3dhcmRzID8gaW5fdG9rLT5wcmV2aW91cyA6IGluX3Rvay0+bmV4dDsKKwlpZiAobGlzdF9lbXB0eShoZWFkKSkKKwkJcmV0dXJuIDA7CisKKwlzdGFydF90b2sgPSBsaXN0X2VudHJ5KGJhY2t3YXJkcyA/IGhlYWQtPnByZXYgOiBoZWFkLT5uZXh0LAorCQkJICAgICAgIHN0cnVjdCB0cmFpbGVyX2l0ZW0sCisJCQkgICAgICAgbGlzdCk7CisKKwlsaXN0X2Zvcl9lYWNoX2Rpcihwb3MsIGhlYWQsIGJhY2t3YXJkcykgeworCQlpbl90b2sgPSBsaXN0X2VudHJ5KHBvcywgc3RydWN0IHRyYWlsZXJfaXRlbSwgbGlzdCk7CiAJCWlmICghc2FtZV90b2tlbihpbl90b2ssIGFyZ190b2spKQogCQkJY29udGludWU7CiAJCW9uX3RvayA9IG1pZGRsZSA/IGluX3RvayA6IHN0YXJ0X3RvazsKLQkJYXBwbHlfYXJnX2lmX2V4aXN0cyhpbl90b2ssIGFyZ190b2ssIG9uX3RvaywKLQkJCQkgICAgaW5fdG9rX2ZpcnN0LCBpbl90b2tfbGFzdCk7CisJCWFwcGx5X2FyZ19pZl9leGlzdHMoaW5fdG9rLCBhcmdfdG9rLCBvbl90b2ssIGhlYWQpOwogCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIHByb2Nlc3NfdHJhaWxlcnNfbGlzdHMoc3RydWN0IHRyYWlsZXJfaXRlbSAqKmluX3Rva19maXJzdCwKLQkJCQkgICBzdHJ1Y3QgdHJhaWxlcl9pdGVtICoqaW5fdG9rX2xhc3QsCi0JCQkJICAgc3RydWN0IHRyYWlsZXJfaXRlbSAqKmFyZ190b2tfZmlyc3QpCitzdGF0aWMgdm9pZCBwcm9jZXNzX3RyYWlsZXJzX2xpc3RzKHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQsCisJCQkJICAgc3RydWN0IGxpc3RfaGVhZCAqYXJnX2hlYWQpCiB7Ci0Jc3RydWN0IHRyYWlsZXJfaXRlbSAqYXJnX3RvazsKLQlzdHJ1Y3QgdHJhaWxlcl9pdGVtICpuZXh0X2FyZzsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwb3MsICpwOworCXN0cnVjdCBhcmdfaXRlbSAqYXJnX3RvazsKIAotCWlmICghKmFyZ190b2tfZmlyc3QpCi0JCXJldHVybjsKLQotCWZvciAoYXJnX3RvayA9ICphcmdfdG9rX2ZpcnN0OyBhcmdfdG9rOyBhcmdfdG9rID0gbmV4dF9hcmcpIHsKKwlsaXN0X2Zvcl9lYWNoX3NhZmUocG9zLCBwLCBhcmdfaGVhZCkgewogCQlpbnQgYXBwbGllZCA9IDA7CisJCWFyZ190b2sgPSBsaXN0X2VudHJ5KHBvcywgc3RydWN0IGFyZ19pdGVtLCBsaXN0KTsKIAotCQluZXh0X2FyZyA9IGFyZ190b2stPm5leHQ7Ci0JCXJlbW92ZV9mcm9tX2xpc3QoYXJnX3RvaywgYXJnX3Rva19maXJzdCwgTlVMTCk7CisJCWxpc3RfZGVsKHBvcyk7CiAKLQkJYXBwbGllZCA9IGZpbmRfc2FtZV9hbmRfYXBwbHlfYXJnKGluX3Rva19maXJzdCwKLQkJCQkJCSAgaW5fdG9rX2xhc3QsCi0JCQkJCQkgIGFyZ190b2spOworCQlhcHBsaWVkID0gZmluZF9zYW1lX2FuZF9hcHBseV9hcmcoaGVhZCwgYXJnX3Rvayk7CiAKIAkJaWYgKCFhcHBsaWVkKQotCQkJYXBwbHlfYXJnX2lmX21pc3NpbmcoaW5fdG9rX2ZpcnN0LAotCQkJCQkgICAgIGluX3Rva19sYXN0LAotCQkJCQkgICAgIGFyZ190b2spOworCQkJYXBwbHlfYXJnX2lmX21pc3NpbmcoaGVhZCwgYXJnX3Rvayk7CiAJfQogfQogCkBAIC00MjUsNDEgKzQxMywzMiBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBkdXBsaWNhdGVfY29uZihzdHJ1Y3QgY29uZl9pbmZvICpkc3QsIHN0cnVjdCBjb25mX2luZm8gKnNyYykKK3N0YXRpYyB2b2lkIGR1cGxpY2F0ZV9jb25mKHN0cnVjdCBjb25mX2luZm8gKmRzdCwgY29uc3Qgc3RydWN0IGNvbmZfaW5mbyAqc3JjKQogewogCSpkc3QgPSAqc3JjOwotCWlmIChzcmMtPm5hbWUpCi0JCWRzdC0+bmFtZSA9IHhzdHJkdXAoc3JjLT5uYW1lKTsKLQlpZiAoc3JjLT5rZXkpCi0JCWRzdC0+a2V5ID0geHN0cmR1cChzcmMtPmtleSk7Ci0JaWYgKHNyYy0+Y29tbWFuZCkKLQkJZHN0LT5jb21tYW5kID0geHN0cmR1cChzcmMtPmNvbW1hbmQpOworCWRzdC0+bmFtZSA9IHhzdHJkdXBfb3JfbnVsbChzcmMtPm5hbWUpOworCWRzdC0+a2V5ID0geHN0cmR1cF9vcl9udWxsKHNyYy0+a2V5KTsKKwlkc3QtPmNvbW1hbmQgPSB4c3RyZHVwX29yX251bGwoc3JjLT5jb21tYW5kKTsKIH0KIAotc3RhdGljIHN0cnVjdCB0cmFpbGVyX2l0ZW0gKmdldF9jb25mX2l0ZW0oY29uc3QgY2hhciAqbmFtZSkKK3N0YXRpYyBzdHJ1Y3QgYXJnX2l0ZW0gKmdldF9jb25mX2l0ZW0oY29uc3QgY2hhciAqbmFtZSkKIHsKLQlzdHJ1Y3QgdHJhaWxlcl9pdGVtICppdGVtOwotCXN0cnVjdCB0cmFpbGVyX2l0ZW0gKnByZXZpb3VzOworCXN0cnVjdCBsaXN0X2hlYWQgKnBvczsKKwlzdHJ1Y3QgYXJnX2l0ZW0gKml0ZW07CiAKIAkvKiBMb29rIHVwIGl0ZW0gd2l0aCBzYW1lIG5hbWUgKi8KLQlmb3IgKHByZXZpb3VzID0gTlVMTCwgaXRlbSA9IGZpcnN0X2NvbmZfaXRlbTsKLQkgICAgIGl0ZW07Ci0JICAgICBwcmV2aW91cyA9IGl0ZW0sIGl0ZW0gPSBpdGVtLT5uZXh0KSB7CisJbGlzdF9mb3JfZWFjaChwb3MsICZjb25mX2hlYWQpIHsKKwkJaXRlbSA9IGxpc3RfZW50cnkocG9zLCBzdHJ1Y3QgYXJnX2l0ZW0sIGxpc3QpOwogCQlpZiAoIXN0cmNhc2VjbXAoaXRlbS0+Y29uZi5uYW1lLCBuYW1lKSkKIAkJCXJldHVybiBpdGVtOwogCX0KIAogCS8qIEl0ZW0gZG9lcyBub3QgYWxyZWFkeSBleGlzdHMsIGNyZWF0ZSBpdCAqLwotCWl0ZW0gPSB4Y2FsbG9jKHNpemVvZihzdHJ1Y3QgdHJhaWxlcl9pdGVtKSwgMSk7CisJaXRlbSA9IHhjYWxsb2Moc2l6ZW9mKCppdGVtKSwgMSk7CiAJZHVwbGljYXRlX2NvbmYoJml0ZW0tPmNvbmYsICZkZWZhdWx0X2NvbmZfaW5mbyk7CiAJaXRlbS0+Y29uZi5uYW1lID0geHN0cmR1cChuYW1lKTsKIAotCWlmICghcHJldmlvdXMpCi0JCWZpcnN0X2NvbmZfaXRlbSA9IGl0ZW07Ci0JZWxzZSB7Ci0JCXByZXZpb3VzLT5uZXh0ID0gaXRlbTsKLQkJaXRlbS0+cHJldmlvdXMgPSBwcmV2aW91czsKLQl9CisJbGlzdF9hZGRfdGFpbCgmaXRlbS0+bGlzdCwgJmNvbmZfaGVhZCk7CiAKIAlyZXR1cm4gaXRlbTsKIH0KQEAgLTUwOSw3ICs0ODgsNyBAQAogc3RhdGljIGludCBnaXRfdHJhaWxlcl9jb25maWcoY29uc3QgY2hhciAqY29uZl9rZXksIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKIHsKIAljb25zdCBjaGFyICp0cmFpbGVyX2l0ZW0sICp2YXJpYWJsZV9uYW1lOwotCXN0cnVjdCB0cmFpbGVyX2l0ZW0gKml0ZW07CisJc3RydWN0IGFyZ19pdGVtICppdGVtOwogCXN0cnVjdCBjb25mX2luZm8gKmNvbmY7CiAJY2hhciAqbmFtZSA9IE5VTEw7CiAJZW51bSB0cmFpbGVyX2luZm9fdHlwZSB0eXBlOwpAQCAtNTYyLDM4ICs1NDEsMTIgQEAKIAkJCXdhcm5pbmcoXygidW5rbm93biB2YWx1ZSAnJXMnIGZvciBrZXkgJyVzJyIpLCB2YWx1ZSwgY29uZl9rZXkpOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlkaWUoImludGVybmFsIGJ1ZyBpbiB0cmFpbGVyLmMiKTsKKwkJZGllKCJCVUc6IHRyYWlsZXIuYzogdW5oYW5kbGVkIHR5cGUgJWQiLCB0eXBlKTsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcGFyc2VfdHJhaWxlcihzdHJ1Y3Qgc3RyYnVmICp0b2ssIHN0cnVjdCBzdHJidWYgKnZhbCwgY29uc3QgY2hhciAqdHJhaWxlcikKLXsKLQlzaXplX3QgbGVuOwotCXN0cnVjdCBzdHJidWYgc2VwcyA9IFNUUkJVRl9JTklUOwotCXN0cmJ1Zl9hZGRzdHIoJnNlcHMsIHNlcGFyYXRvcnMpOwotCXN0cmJ1Zl9hZGRjaCgmc2VwcywgJz0nKTsKLQlsZW4gPSBzdHJjc3BuKHRyYWlsZXIsIHNlcHMuYnVmKTsKLQlzdHJidWZfcmVsZWFzZSgmc2Vwcyk7Ci0JaWYgKGxlbiA9PSAwKSB7Ci0JCWludCBsID0gc3RybGVuKHRyYWlsZXIpOwotCQl3aGlsZSAobCA+IDAgJiYgaXNzcGFjZSh0cmFpbGVyW2wgLSAxXSkpCi0JCQlsLS07Ci0JCXJldHVybiBlcnJvcihfKCJlbXB0eSB0cmFpbGVyIHRva2VuIGluIHRyYWlsZXIgJyUuKnMnIiksIGwsIHRyYWlsZXIpOwotCX0KLQlpZiAobGVuIDwgc3RybGVuKHRyYWlsZXIpKSB7Ci0JCXN0cmJ1Zl9hZGQodG9rLCB0cmFpbGVyLCBsZW4pOwotCQlzdHJidWZfdHJpbSh0b2spOwotCQlzdHJidWZfYWRkc3RyKHZhbCwgdHJhaWxlciArIGxlbiArIDEpOwotCQlzdHJidWZfdHJpbSh2YWwpOwotCX0gZWxzZSB7Ci0JCXN0cmJ1Zl9hZGRzdHIodG9rLCB0cmFpbGVyKTsKLQkJc3RyYnVmX3RyaW0odG9rKTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBjb25zdCBjaGFyICp0b2tlbl9mcm9tX2l0ZW0oc3RydWN0IHRyYWlsZXJfaXRlbSAqaXRlbSwgY2hhciAqdG9rKQorc3RhdGljIGNvbnN0IGNoYXIgKnRva2VuX2Zyb21faXRlbShzdHJ1Y3QgYXJnX2l0ZW0gKml0ZW0sIGNoYXIgKnRvaykKIHsKIAlpZiAoaXRlbS0+Y29uZi5rZXkpCiAJCXJldHVybiBpdGVtLT5jb25mLmtleTsKQEAgLTYwMiw5NCArNTU1LDEzNCBAQAogCXJldHVybiBpdGVtLT5jb25mLm5hbWU7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgdHJhaWxlcl9pdGVtICpuZXdfdHJhaWxlcl9pdGVtKHN0cnVjdCB0cmFpbGVyX2l0ZW0gKmNvbmZfaXRlbSwKLQkJCQkJICAgICBjaGFyICp0b2ssIGNoYXIgKnZhbCkKLXsKLQlzdHJ1Y3QgdHJhaWxlcl9pdGVtICpuZXcgPSB4Y2FsbG9jKHNpemVvZigqbmV3KSwgMSk7Ci0JbmV3LT52YWx1ZSA9IHZhbCA/IHZhbCA6IHhzdHJkdXAoIiIpOwotCi0JaWYgKGNvbmZfaXRlbSkgewotCQlkdXBsaWNhdGVfY29uZigmbmV3LT5jb25mLCAmY29uZl9pdGVtLT5jb25mKTsKLQkJbmV3LT50b2tlbiA9IHhzdHJkdXAodG9rZW5fZnJvbV9pdGVtKGNvbmZfaXRlbSwgdG9rKSk7Ci0JCWZyZWUodG9rKTsKLQl9IGVsc2UgewotCQlkdXBsaWNhdGVfY29uZigmbmV3LT5jb25mLCAmZGVmYXVsdF9jb25mX2luZm8pOwotCQluZXctPnRva2VuID0gdG9rOwotCX0KLQotCXJldHVybiBuZXc7Ci19Ci0KLXN0YXRpYyBpbnQgdG9rZW5fbWF0Y2hlc19pdGVtKGNvbnN0IGNoYXIgKnRvaywgc3RydWN0IHRyYWlsZXJfaXRlbSAqaXRlbSwgaW50IHRva19sZW4pCitzdGF0aWMgaW50IHRva2VuX21hdGNoZXNfaXRlbShjb25zdCBjaGFyICp0b2ssIHN0cnVjdCBhcmdfaXRlbSAqaXRlbSwgaW50IHRva19sZW4pCiB7CiAJaWYgKCFzdHJuY2FzZWNtcCh0b2ssIGl0ZW0tPmNvbmYubmFtZSwgdG9rX2xlbikpCiAJCXJldHVybiAxOwogCXJldHVybiBpdGVtLT5jb25mLmtleSA/ICFzdHJuY2FzZWNtcCh0b2ssIGl0ZW0tPmNvbmYua2V5LCB0b2tfbGVuKSA6IDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgdHJhaWxlcl9pdGVtICpjcmVhdGVfdHJhaWxlcl9pdGVtKGNvbnN0IGNoYXIgKnN0cmluZykKKy8qCisgKiBSZXR1cm4gdGhlIGxvY2F0aW9uIG9mIHRoZSBmaXJzdCBzZXBhcmF0b3IgaW4gbGluZSwgb3IgLTEgaWYgdGhlcmUgaXMgbm8KKyAqIHNlcGFyYXRvci4KKyAqLworc3RhdGljIGludCBmaW5kX3NlcGFyYXRvcihjb25zdCBjaGFyICpsaW5lLCBjb25zdCBjaGFyICpzZXBhcmF0b3JzKQogewotCXN0cnVjdCBzdHJidWYgdG9rID0gU1RSQlVGX0lOSVQ7Ci0Jc3RydWN0IHN0cmJ1ZiB2YWwgPSBTVFJCVUZfSU5JVDsKLQlzdHJ1Y3QgdHJhaWxlcl9pdGVtICppdGVtOworCWludCBsb2MgPSBzdHJjc3BuKGxpbmUsIHNlcGFyYXRvcnMpOworCWlmICghbGluZVtsb2NdKQorCQlyZXR1cm4gLTE7CisJcmV0dXJuIGxvYzsKK30KKworLyoKKyAqIE9idGFpbiB0aGUgdG9rZW4sIHZhbHVlLCBhbmQgY29uZiBmcm9tIHRoZSBnaXZlbiB0cmFpbGVyLgorICoKKyAqIHNlcGFyYXRvcl9wb3MgbXVzdCBub3QgYmUgMCwgc2luY2UgdGhlIHRva2VuIGNhbm5vdCBiZSBhbiBlbXB0eSBzdHJpbmcuCisgKgorICogSWYgc2VwYXJhdG9yX3BvcyBpcyAtMSwgaW50ZXJwcmV0IHRoZSB3aG9sZSB0cmFpbGVyIGFzIGEgdG9rZW4uCisgKi8KK3N0YXRpYyB2b2lkIHBhcnNlX3RyYWlsZXIoc3RydWN0IHN0cmJ1ZiAqdG9rLCBzdHJ1Y3Qgc3RyYnVmICp2YWwsCisJCQkgY29uc3Qgc3RydWN0IGNvbmZfaW5mbyAqKmNvbmYsIGNvbnN0IGNoYXIgKnRyYWlsZXIsCisJCQkgaW50IHNlcGFyYXRvcl9wb3MpCit7CisJc3RydWN0IGFyZ19pdGVtICppdGVtOwogCWludCB0b2tfbGVuOworCXN0cnVjdCBsaXN0X2hlYWQgKnBvczsKIAotCWlmIChwYXJzZV90cmFpbGVyKCZ0b2ssICZ2YWwsIHN0cmluZykpCi0JCXJldHVybiBOVUxMOwotCi0JdG9rX2xlbiA9IHRva2VuX2xlbl93aXRob3V0X3NlcGFyYXRvcih0b2suYnVmLCB0b2subGVuKTsKKwlpZiAoc2VwYXJhdG9yX3BvcyAhPSAtMSkgeworCQlzdHJidWZfYWRkKHRvaywgdHJhaWxlciwgc2VwYXJhdG9yX3Bvcyk7CisJCXN0cmJ1Zl90cmltKHRvayk7CisJCXN0cmJ1Zl9hZGRzdHIodmFsLCB0cmFpbGVyICsgc2VwYXJhdG9yX3BvcyArIDEpOworCQlzdHJidWZfdHJpbSh2YWwpOworCX0gZWxzZSB7CisJCXN0cmJ1Zl9hZGRzdHIodG9rLCB0cmFpbGVyKTsKKwkJc3RyYnVmX3RyaW0odG9rKTsKKwl9CiAKIAkvKiBMb29rdXAgaWYgdGhlIHRva2VuIG1hdGNoZXMgc29tZXRoaW5nIGluIHRoZSBjb25maWcgKi8KLQlmb3IgKGl0ZW0gPSBmaXJzdF9jb25mX2l0ZW07IGl0ZW07IGl0ZW0gPSBpdGVtLT5uZXh0KSB7Ci0JCWlmICh0b2tlbl9tYXRjaGVzX2l0ZW0odG9rLmJ1ZiwgaXRlbSwgdG9rX2xlbikpCi0JCQlyZXR1cm4gbmV3X3RyYWlsZXJfaXRlbShpdGVtLAotCQkJCQkJc3RyYnVmX2RldGFjaCgmdG9rLCBOVUxMKSwKLQkJCQkJCXN0cmJ1Zl9kZXRhY2goJnZhbCwgTlVMTCkpOwotCX0KLQotCXJldHVybiBuZXdfdHJhaWxlcl9pdGVtKE5VTEwsCi0JCQkJc3RyYnVmX2RldGFjaCgmdG9rLCBOVUxMKSwKLQkJCQlzdHJidWZfZGV0YWNoKCZ2YWwsIE5VTEwpKTsKLX0KLQotc3RhdGljIHZvaWQgYWRkX3RyYWlsZXJfaXRlbShzdHJ1Y3QgdHJhaWxlcl9pdGVtICoqZmlyc3QsCi0JCQkgICAgIHN0cnVjdCB0cmFpbGVyX2l0ZW0gKipsYXN0LAotCQkJICAgICBzdHJ1Y3QgdHJhaWxlcl9pdGVtICpuZXcpCi17Ci0JaWYgKCFuZXcpCi0JCXJldHVybjsKLQlpZiAoISpsYXN0KSB7Ci0JCSpmaXJzdCA9IG5ldzsKLQkJKmxhc3QgPSBuZXc7Ci0JfSBlbHNlIHsKLQkJKCpsYXN0KS0+bmV4dCA9IG5ldzsKLQkJbmV3LT5wcmV2aW91cyA9ICpsYXN0OwotCQkqbGFzdCA9IG5ldzsKKwl0b2tfbGVuID0gdG9rZW5fbGVuX3dpdGhvdXRfc2VwYXJhdG9yKHRvay0+YnVmLCB0b2stPmxlbik7CisJaWYgKGNvbmYpCisJCSpjb25mID0gJmRlZmF1bHRfY29uZl9pbmZvOworCWxpc3RfZm9yX2VhY2gocG9zLCAmY29uZl9oZWFkKSB7CisJCWl0ZW0gPSBsaXN0X2VudHJ5KHBvcywgc3RydWN0IGFyZ19pdGVtLCBsaXN0KTsKKwkJaWYgKHRva2VuX21hdGNoZXNfaXRlbSh0b2stPmJ1ZiwgaXRlbSwgdG9rX2xlbikpIHsKKwkJCWNoYXIgKnRva19idWYgPSBzdHJidWZfZGV0YWNoKHRvaywgTlVMTCk7CisJCQlpZiAoY29uZikKKwkJCQkqY29uZiA9ICZpdGVtLT5jb25mOworCQkJc3RyYnVmX2FkZHN0cih0b2ssIHRva2VuX2Zyb21faXRlbShpdGVtLCB0b2tfYnVmKSk7CisJCQlmcmVlKHRva19idWYpOworCQkJYnJlYWs7CisJCX0KIAl9CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgdHJhaWxlcl9pdGVtICpwcm9jZXNzX2NvbW1hbmRfbGluZV9hcmdzKHN0cnVjdCBzdHJpbmdfbGlzdCAqdHJhaWxlcnMpCitzdGF0aWMgc3RydWN0IHRyYWlsZXJfaXRlbSAqYWRkX3RyYWlsZXJfaXRlbShzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkLCBjaGFyICp0b2ssCisJCQkJCSAgICAgY2hhciAqdmFsKQogewotCXN0cnVjdCB0cmFpbGVyX2l0ZW0gKmFyZ190b2tfZmlyc3QgPSBOVUxMOwotCXN0cnVjdCB0cmFpbGVyX2l0ZW0gKmFyZ190b2tfbGFzdCA9IE5VTEw7CisJc3RydWN0IHRyYWlsZXJfaXRlbSAqbmV3ID0geGNhbGxvYyhzaXplb2YoKm5ldyksIDEpOworCW5ldy0+dG9rZW4gPSB0b2s7CisJbmV3LT52YWx1ZSA9IHZhbDsKKwlsaXN0X2FkZF90YWlsKCZuZXctPmxpc3QsIGhlYWQpOworCXJldHVybiBuZXc7Cit9CisKK3N0YXRpYyB2b2lkIGFkZF9hcmdfaXRlbShzdHJ1Y3QgbGlzdF9oZWFkICphcmdfaGVhZCwgY2hhciAqdG9rLCBjaGFyICp2YWwsCisJCQkgY29uc3Qgc3RydWN0IGNvbmZfaW5mbyAqY29uZikKK3sKKwlzdHJ1Y3QgYXJnX2l0ZW0gKm5ldyA9IHhjYWxsb2Moc2l6ZW9mKCpuZXcpLCAxKTsKKwluZXctPnRva2VuID0gdG9rOworCW5ldy0+dmFsdWUgPSB2YWw7CisJZHVwbGljYXRlX2NvbmYoJm5ldy0+Y29uZiwgY29uZik7CisJbGlzdF9hZGRfdGFpbCgmbmV3LT5saXN0LCBhcmdfaGVhZCk7Cit9CisKK3N0YXRpYyB2b2lkIHByb2Nlc3NfY29tbWFuZF9saW5lX2FyZ3Moc3RydWN0IGxpc3RfaGVhZCAqYXJnX2hlYWQsCisJCQkJICAgICAgc3RydWN0IHN0cmluZ19saXN0ICp0cmFpbGVycykKK3sKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqdHI7Ci0Jc3RydWN0IHRyYWlsZXJfaXRlbSAqaXRlbTsKKwlzdHJ1Y3QgYXJnX2l0ZW0gKml0ZW07CisJc3RydWN0IHN0cmJ1ZiB0b2sgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIHZhbCA9IFNUUkJVRl9JTklUOworCWNvbnN0IHN0cnVjdCBjb25mX2luZm8gKmNvbmY7CisJc3RydWN0IGxpc3RfaGVhZCAqcG9zOwogCi0JLyogQWRkIGEgdHJhaWxlciBpdGVtIGZvciBlYWNoIGNvbmZpZ3VyZWQgdHJhaWxlciB3aXRoIGEgY29tbWFuZCAqLwotCWZvciAoaXRlbSA9IGZpcnN0X2NvbmZfaXRlbTsgaXRlbTsgaXRlbSA9IGl0ZW0tPm5leHQpIHsKLQkJaWYgKGl0ZW0tPmNvbmYuY29tbWFuZCkgewotCQkJc3RydWN0IHRyYWlsZXJfaXRlbSAqbmV3ID0gbmV3X3RyYWlsZXJfaXRlbShpdGVtLCBOVUxMLCBOVUxMKTsKLQkJCWFkZF90cmFpbGVyX2l0ZW0oJmFyZ190b2tfZmlyc3QsICZhcmdfdG9rX2xhc3QsIG5ldyk7CisJLyoKKwkgKiBJbiBjb21tYW5kLWxpbmUgYXJndW1lbnRzLCAnPScgaXMgYWNjZXB0ZWQgKGluIGFkZGl0aW9uIHRvIHRoZQorCSAqIHNlcGFyYXRvcnMgdGhhdCBhcmUgZGVmaW5lZCkuCisJICovCisJY2hhciAqY2xfc2VwYXJhdG9ycyA9IHhzdHJmbXQoIj0lcyIsIHNlcGFyYXRvcnMpOworCisJLyogQWRkIGFuIGFyZyBpdGVtIGZvciBlYWNoIGNvbmZpZ3VyZWQgdHJhaWxlciB3aXRoIGEgY29tbWFuZCAqLworCWxpc3RfZm9yX2VhY2gocG9zLCAmY29uZl9oZWFkKSB7CisJCWl0ZW0gPSBsaXN0X2VudHJ5KHBvcywgc3RydWN0IGFyZ19pdGVtLCBsaXN0KTsKKwkJaWYgKGl0ZW0tPmNvbmYuY29tbWFuZCkKKwkJCWFkZF9hcmdfaXRlbShhcmdfaGVhZCwKKwkJCQkgICAgIHhzdHJkdXAodG9rZW5fZnJvbV9pdGVtKGl0ZW0sIE5VTEwpKSwKKwkJCQkgICAgIHhzdHJkdXAoIiIpLAorCQkJCSAgICAgJml0ZW0tPmNvbmYpOworCX0KKworCS8qIEFkZCBhbiBhcmcgaXRlbSBmb3IgZWFjaCB0cmFpbGVyIG9uIHRoZSBjb21tYW5kIGxpbmUgKi8KKwlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKHRyLCB0cmFpbGVycykgeworCQlpbnQgc2VwYXJhdG9yX3BvcyA9IGZpbmRfc2VwYXJhdG9yKHRyLT5zdHJpbmcsIGNsX3NlcGFyYXRvcnMpOworCQlpZiAoc2VwYXJhdG9yX3BvcyA9PSAwKSB7CisJCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisJCQlzdHJidWZfYWRkc3RyKCZzYiwgdHItPnN0cmluZyk7CisJCQlzdHJidWZfdHJpbSgmc2IpOworCQkJZXJyb3IoXygiZW1wdHkgdHJhaWxlciB0b2tlbiBpbiB0cmFpbGVyICclLipzJyIpLAorCQkJICAgICAgKGludCkgc2IubGVuLCBzYi5idWYpOworCQkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKKwkJfSBlbHNlIHsKKwkJCXBhcnNlX3RyYWlsZXIoJnRvaywgJnZhbCwgJmNvbmYsIHRyLT5zdHJpbmcsCisJCQkJICAgICAgc2VwYXJhdG9yX3Bvcyk7CisJCQlhZGRfYXJnX2l0ZW0oYXJnX2hlYWQsCisJCQkJICAgICBzdHJidWZfZGV0YWNoKCZ0b2ssIE5VTEwpLAorCQkJCSAgICAgc3RyYnVmX2RldGFjaCgmdmFsLCBOVUxMKSwKKwkJCQkgICAgIGNvbmYpOwogCQl9CiAJfQogCi0JLyogQWRkIGEgdHJhaWxlciBpdGVtIGZvciBlYWNoIHRyYWlsZXIgb24gdGhlIGNvbW1hbmQgbGluZSAqLwotCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0odHIsIHRyYWlsZXJzKSB7Ci0JCXN0cnVjdCB0cmFpbGVyX2l0ZW0gKm5ldyA9IGNyZWF0ZV90cmFpbGVyX2l0ZW0odHItPnN0cmluZyk7Ci0JCWFkZF90cmFpbGVyX2l0ZW0oJmFyZ190b2tfZmlyc3QsICZhcmdfdG9rX2xhc3QsIG5ldyk7Ci0JfQotCi0JcmV0dXJuIGFyZ190b2tfZmlyc3Q7CisJZnJlZShjbF9zZXBhcmF0b3JzKTsKIH0KIAogc3RhdGljIHN0cnVjdCBzdHJidWYgKipyZWFkX2lucHV0X2ZpbGUoY29uc3QgY2hhciAqZmlsZSkKQEAgLTczNyw2ICs3MzAsMTUgQEAKIHN0YXRpYyBpbnQgZmluZF90cmFpbGVyX3N0YXJ0KHN0cnVjdCBzdHJidWYgKipsaW5lcywgaW50IGNvdW50KQogewogCWludCBzdGFydCwgZW5kX29mX3RpdGxlLCBvbmx5X3NwYWNlcyA9IDE7CisJaW50IHJlY29nbml6ZWRfcHJlZml4ID0gMCwgdHJhaWxlcl9saW5lcyA9IDAsIG5vbl90cmFpbGVyX2xpbmVzID0gMDsKKwkvKgorCSAqIE51bWJlciBvZiBwb3NzaWJsZSBjb250aW51YXRpb24gbGluZXMgZW5jb3VudGVyZWQuIFRoaXMgd2lsbCBiZQorCSAqIHJlc2V0IHRvIDAgaWYgd2UgZW5jb3VudGVyIGEgdHJhaWxlciAoc2luY2UgdGhvc2UgbGluZXMgYXJlIHRvIGJlCisJICogY29uc2lkZXJlZCBjb250aW51YXRpb25zIG9mIHRoYXQgdHJhaWxlciksIGFuZCBhZGRlZCB0bworCSAqIG5vbl90cmFpbGVyX2xpbmVzIGlmIHdlIGVuY291bnRlciBhIG5vbi10cmFpbGVyIChzaW5jZSB0aG9zZSBsaW5lcworCSAqIGFyZSB0byBiZSBjb25zaWRlcmVkIG5vbi10cmFpbGVycykuCisJICovCisJaW50IHBvc3NpYmxlX2NvbnRpbnVhdGlvbl9saW5lcyA9IDA7CiAKIAkvKiBUaGUgZmlyc3QgcGFyYWdyYXBoIGlzIHRoZSB0aXRsZSBhbmQgY2Fubm90IGJlIHRyYWlsZXJzICovCiAJZm9yIChzdGFydCA9IDA7IHN0YXJ0IDwgY291bnQ7IHN0YXJ0KyspIHsKQEAgLTc0OCwyNiArNzUwLDcxIEBACiAJZW5kX29mX3RpdGxlID0gc3RhcnQ7CiAKIAkvKgotCSAqIEdldCB0aGUgc3RhcnQgb2YgdGhlIHRyYWlsZXJzIGJ5IGxvb2tpbmcgc3RhcnRpbmcgZnJvbSB0aGUgZW5kCi0JICogZm9yIGEgbGluZSB3aXRoIG9ubHkgc3BhY2VzIGJlZm9yZSBsaW5lcyB3aXRoIG9uZSBzZXBhcmF0b3IuCisJICogR2V0IHRoZSBzdGFydCBvZiB0aGUgdHJhaWxlcnMgYnkgbG9va2luZyBzdGFydGluZyBmcm9tIHRoZSBlbmQgZm9yIGEKKwkgKiBibGFuayBsaW5lIGJlZm9yZSBhIHNldCBvZiBub24tYmxhbmsgbGluZXMgdGhhdCAoaSkgYXJlIGFsbAorCSAqIHRyYWlsZXJzLCBvciAoaWkpIGNvbnRhaW5zIGF0IGxlYXN0IG9uZSBHaXQtZ2VuZXJhdGVkIHRyYWlsZXIgYW5kCisJICogY29uc2lzdHMgb2YgYXQgbGVhc3QgMjUlIHRyYWlsZXJzLgogCSAqLwogCWZvciAoc3RhcnQgPSBjb3VudCAtIDE7IHN0YXJ0ID49IGVuZF9vZl90aXRsZTsgc3RhcnQtLSkgewotCQlpZiAobGluZXNbc3RhcnRdLT5idWZbMF0gPT0gY29tbWVudF9saW5lX2NoYXIpCisJCWNvbnN0IGNoYXIgKipwOworCQlpbnQgc2VwYXJhdG9yX3BvczsKKworCQlpZiAobGluZXNbc3RhcnRdLT5idWZbMF0gPT0gY29tbWVudF9saW5lX2NoYXIpIHsKKwkJCW5vbl90cmFpbGVyX2xpbmVzICs9IHBvc3NpYmxlX2NvbnRpbnVhdGlvbl9saW5lczsKKwkJCXBvc3NpYmxlX2NvbnRpbnVhdGlvbl9saW5lcyA9IDA7CiAJCQljb250aW51ZTsKKwkJfQogCQlpZiAoY29udGFpbnNfb25seV9zcGFjZXMobGluZXNbc3RhcnRdLT5idWYpKSB7CiAJCQlpZiAob25seV9zcGFjZXMpCiAJCQkJY29udGludWU7Ci0JCQlyZXR1cm4gc3RhcnQgKyAxOworCQkJbm9uX3RyYWlsZXJfbGluZXMgKz0gcG9zc2libGVfY29udGludWF0aW9uX2xpbmVzOworCQkJaWYgKHJlY29nbml6ZWRfcHJlZml4ICYmCisJCQkgICAgdHJhaWxlcl9saW5lcyAqIDMgPj0gbm9uX3RyYWlsZXJfbGluZXMpCisJCQkJcmV0dXJuIHN0YXJ0ICsgMTsKKwkJCWlmICh0cmFpbGVyX2xpbmVzICYmICFub25fdHJhaWxlcl9saW5lcykKKwkJCQlyZXR1cm4gc3RhcnQgKyAxOworCQkJcmV0dXJuIGNvdW50OwogCQl9Ci0JCWlmIChzdHJjc3BuKGxpbmVzW3N0YXJ0XS0+YnVmLCBzZXBhcmF0b3JzKSA8IGxpbmVzW3N0YXJ0XS0+bGVuKSB7Ci0JCQlpZiAob25seV9zcGFjZXMpCi0JCQkJb25seV9zcGFjZXMgPSAwOwotCQkJY29udGludWU7CisJCW9ubHlfc3BhY2VzID0gMDsKKworCQlmb3IgKHAgPSBnaXRfZ2VuZXJhdGVkX3ByZWZpeGVzOyAqcDsgcCsrKSB7CisJCQlpZiAoc3RhcnRzX3dpdGgobGluZXNbc3RhcnRdLT5idWYsICpwKSkgeworCQkJCXRyYWlsZXJfbGluZXMrKzsKKwkJCQlwb3NzaWJsZV9jb250aW51YXRpb25fbGluZXMgPSAwOworCQkJCXJlY29nbml6ZWRfcHJlZml4ID0gMTsKKwkJCQlnb3RvIGNvbnRpbnVlX291dGVyX2xvb3A7CisJCQl9CiAJCX0KLQkJcmV0dXJuIGNvdW50OworCisJCXNlcGFyYXRvcl9wb3MgPSBmaW5kX3NlcGFyYXRvcihsaW5lc1tzdGFydF0tPmJ1Ziwgc2VwYXJhdG9ycyk7CisJCWlmIChzZXBhcmF0b3JfcG9zID49IDEgJiYgIWlzc3BhY2UobGluZXNbc3RhcnRdLT5idWZbMF0pKSB7CisJCQlzdHJ1Y3QgbGlzdF9oZWFkICpwb3M7CisKKwkJCXRyYWlsZXJfbGluZXMrKzsKKwkJCXBvc3NpYmxlX2NvbnRpbnVhdGlvbl9saW5lcyA9IDA7CisJCQlpZiAocmVjb2duaXplZF9wcmVmaXgpCisJCQkJY29udGludWU7CisJCQlsaXN0X2Zvcl9lYWNoKHBvcywgJmNvbmZfaGVhZCkgeworCQkJCXN0cnVjdCBhcmdfaXRlbSAqaXRlbTsKKwkJCQlpdGVtID0gbGlzdF9lbnRyeShwb3MsIHN0cnVjdCBhcmdfaXRlbSwgbGlzdCk7CisJCQkJaWYgKHRva2VuX21hdGNoZXNfaXRlbShsaW5lc1tzdGFydF0tPmJ1ZiwgaXRlbSwKKwkJCQkJCSAgICAgICBzZXBhcmF0b3JfcG9zKSkgeworCQkJCQlyZWNvZ25pemVkX3ByZWZpeCA9IDE7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKwkJfSBlbHNlIGlmIChpc3NwYWNlKGxpbmVzW3N0YXJ0XS0+YnVmWzBdKSkKKwkJCXBvc3NpYmxlX2NvbnRpbnVhdGlvbl9saW5lcysrOworCQllbHNlIHsKKwkJCW5vbl90cmFpbGVyX2xpbmVzKys7CisJCQlub25fdHJhaWxlcl9saW5lcyArPSBwb3NzaWJsZV9jb250aW51YXRpb25fbGluZXM7CisJCQlwb3NzaWJsZV9jb250aW51YXRpb25fbGluZXMgPSAwOworCQl9Citjb250aW51ZV9vdXRlcl9sb29wOgorCQk7CiAJfQogCi0JcmV0dXJuIG9ubHlfc3BhY2VzID8gY291bnQgOiAwOworCXJldHVybiBjb3VudDsKIH0KIAogLyogR2V0IHRoZSBpbmRleCBvZiB0aGUgZW5kIG9mIHRoZSB0cmFpbGVycyAqLwpAQCAtODA1LDExICs4NTIsMTMgQEAKIAogc3RhdGljIGludCBwcm9jZXNzX2lucHV0X2ZpbGUoRklMRSAqb3V0ZmlsZSwKIAkJCSAgICAgIHN0cnVjdCBzdHJidWYgKipsaW5lcywKLQkJCSAgICAgIHN0cnVjdCB0cmFpbGVyX2l0ZW0gKippbl90b2tfZmlyc3QsCi0JCQkgICAgICBzdHJ1Y3QgdHJhaWxlcl9pdGVtICoqaW5fdG9rX2xhc3QpCisJCQkgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQogewogCWludCBjb3VudCA9IDA7CiAJaW50IHBhdGNoX3N0YXJ0LCB0cmFpbGVyX3N0YXJ0LCB0cmFpbGVyX2VuZCwgaTsKKwlzdHJ1Y3Qgc3RyYnVmIHRvayA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgdmFsID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHRyYWlsZXJfaXRlbSAqbGFzdCA9IE5VTEw7CiAKIAkvKiBHZXQgdGhlIGxpbmUgY291bnQgKi8KIAl3aGlsZSAobGluZXNbY291bnRdKQpAQCAtODI3LDIwICs4NzYsNDMgQEAKIAogCS8qIFBhcnNlIHRyYWlsZXIgbGluZXMgKi8KIAlmb3IgKGkgPSB0cmFpbGVyX3N0YXJ0OyBpIDwgdHJhaWxlcl9lbmQ7IGkrKykgewotCQlpZiAobGluZXNbaV0tPmJ1ZlswXSAhPSBjb21tZW50X2xpbmVfY2hhcikgewotCQkJc3RydWN0IHRyYWlsZXJfaXRlbSAqbmV3ID0gY3JlYXRlX3RyYWlsZXJfaXRlbShsaW5lc1tpXS0+YnVmKTsKLQkJCWFkZF90cmFpbGVyX2l0ZW0oaW5fdG9rX2ZpcnN0LCBpbl90b2tfbGFzdCwgbmV3KTsKKwkJaW50IHNlcGFyYXRvcl9wb3M7CisJCWlmIChsaW5lc1tpXS0+YnVmWzBdID09IGNvbW1lbnRfbGluZV9jaGFyKQorCQkJY29udGludWU7CisJCWlmIChsYXN0ICYmIGlzc3BhY2UobGluZXNbaV0tPmJ1ZlswXSkpIHsKKwkJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwkJCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzXG4lcyIsIGxhc3QtPnZhbHVlLCBsaW5lc1tpXS0+YnVmKTsKKwkJCXN0cmJ1Zl9zdHJpcF9zdWZmaXgoJnNiLCAiXG4iKTsKKwkJCWZyZWUobGFzdC0+dmFsdWUpOworCQkJbGFzdC0+dmFsdWUgPSBzdHJidWZfZGV0YWNoKCZzYiwgTlVMTCk7CisJCQljb250aW51ZTsKKwkJfQorCQlzZXBhcmF0b3JfcG9zID0gZmluZF9zZXBhcmF0b3IobGluZXNbaV0tPmJ1Ziwgc2VwYXJhdG9ycyk7CisJCWlmIChzZXBhcmF0b3JfcG9zID49IDEpIHsKKwkJCXBhcnNlX3RyYWlsZXIoJnRvaywgJnZhbCwgTlVMTCwgbGluZXNbaV0tPmJ1ZiwKKwkJCQkgICAgICBzZXBhcmF0b3JfcG9zKTsKKwkJCWxhc3QgPSBhZGRfdHJhaWxlcl9pdGVtKGhlYWQsCisJCQkJCQlzdHJidWZfZGV0YWNoKCZ0b2ssIE5VTEwpLAorCQkJCQkJc3RyYnVmX2RldGFjaCgmdmFsLCBOVUxMKSk7CisJCX0gZWxzZSB7CisJCQlzdHJidWZfYWRkYnVmKCZ2YWwsIGxpbmVzW2ldKTsKKwkJCXN0cmJ1Zl9zdHJpcF9zdWZmaXgoJnZhbCwgIlxuIik7CisJCQlhZGRfdHJhaWxlcl9pdGVtKGhlYWQsCisJCQkJCSBOVUxMLAorCQkJCQkgc3RyYnVmX2RldGFjaCgmdmFsLCBOVUxMKSk7CisJCQlsYXN0ID0gTlVMTDsKIAkJfQogCX0KIAogCXJldHVybiB0cmFpbGVyX2VuZDsKIH0KIAotc3RhdGljIHZvaWQgZnJlZV9hbGwoc3RydWN0IHRyYWlsZXJfaXRlbSAqKmZpcnN0KQorc3RhdGljIHZvaWQgZnJlZV9hbGwoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCkKIHsKLQl3aGlsZSAoKmZpcnN0KSB7Ci0JCXN0cnVjdCB0cmFpbGVyX2l0ZW0gKml0ZW0gPSByZW1vdmVfZmlyc3QoZmlyc3QpOwotCQlmcmVlX3RyYWlsZXJfaXRlbShpdGVtKTsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwb3MsICpwOworCWxpc3RfZm9yX2VhY2hfc2FmZShwb3MsIHAsIGhlYWQpIHsKKwkJbGlzdF9kZWwocG9zKTsKKwkJZnJlZV90cmFpbGVyX2l0ZW0obGlzdF9lbnRyeShwb3MsIHN0cnVjdCB0cmFpbGVyX2l0ZW0sIGxpc3QpKTsKIAl9CiB9CiAKQEAgLTg3Nyw5ICs5NDksOCBAQAogCiB2b2lkIHByb2Nlc3NfdHJhaWxlcnMoY29uc3QgY2hhciAqZmlsZSwgaW50IGluX3BsYWNlLCBpbnQgdHJpbV9lbXB0eSwgc3RydWN0IHN0cmluZ19saXN0ICp0cmFpbGVycykKIHsKLQlzdHJ1Y3QgdHJhaWxlcl9pdGVtICppbl90b2tfZmlyc3QgPSBOVUxMOwotCXN0cnVjdCB0cmFpbGVyX2l0ZW0gKmluX3Rva19sYXN0ID0gTlVMTDsKLQlzdHJ1Y3QgdHJhaWxlcl9pdGVtICphcmdfdG9rX2ZpcnN0OworCUxJU1RfSEVBRChoZWFkKTsKKwlMSVNUX0hFQUQoYXJnX2hlYWQpOwogCXN0cnVjdCBzdHJidWYgKipsaW5lczsKIAlpbnQgdHJhaWxlcl9lbmQ7CiAJRklMRSAqb3V0ZmlsZSA9IHN0ZG91dDsKQEAgLTg5NCwxNSArOTY1LDE1IEBACiAJCW91dGZpbGUgPSBjcmVhdGVfaW5fcGxhY2VfdGVtcGZpbGUoZmlsZSk7CiAKIAkvKiBQcmludCB0aGUgbGluZXMgYmVmb3JlIHRoZSB0cmFpbGVycyAqLwotCXRyYWlsZXJfZW5kID0gcHJvY2Vzc19pbnB1dF9maWxlKG91dGZpbGUsIGxpbmVzLCAmaW5fdG9rX2ZpcnN0LCAmaW5fdG9rX2xhc3QpOworCXRyYWlsZXJfZW5kID0gcHJvY2Vzc19pbnB1dF9maWxlKG91dGZpbGUsIGxpbmVzLCAmaGVhZCk7CiAKLQlhcmdfdG9rX2ZpcnN0ID0gcHJvY2Vzc19jb21tYW5kX2xpbmVfYXJncyh0cmFpbGVycyk7CisJcHJvY2Vzc19jb21tYW5kX2xpbmVfYXJncygmYXJnX2hlYWQsIHRyYWlsZXJzKTsKIAotCXByb2Nlc3NfdHJhaWxlcnNfbGlzdHMoJmluX3Rva19maXJzdCwgJmluX3Rva19sYXN0LCAmYXJnX3Rva19maXJzdCk7CisJcHJvY2Vzc190cmFpbGVyc19saXN0cygmaGVhZCwgJmFyZ19oZWFkKTsKIAotCXByaW50X2FsbChvdXRmaWxlLCBpbl90b2tfZmlyc3QsIHRyaW1fZW1wdHkpOworCXByaW50X2FsbChvdXRmaWxlLCAmaGVhZCwgdHJpbV9lbXB0eSk7CiAKLQlmcmVlX2FsbCgmaW5fdG9rX2ZpcnN0KTsKKwlmcmVlX2FsbCgmaGVhZCk7CiAKIAkvKiBQcmludCB0aGUgbGluZXMgYWZ0ZXIgdGhlIHRyYWlsZXJzIGFzIGlzICovCiAJcHJpbnRfbGluZXMob3V0ZmlsZSwgbGluZXMsIHRyYWlsZXJfZW5kLCBJTlRfTUFYKTsKZGlmZiAtLWdpdCBhL3RyYW5zcG9ydC1oZWxwZXIuYyBiL3RyYW5zcG9ydC1oZWxwZXIuYwppbmRleCBiZDY2NmIyLi45MWFlZDM1IDEwMDY0NAotLS0gYS90cmFuc3BvcnQtaGVscGVyLmMKKysrIGIvdHJhbnNwb3J0LWhlbHBlci5jCkBAIC0yNTgsOCArMjU4LDUxIEBACiAJVFJBTlNfT1BUX1RISU4sCiAJVFJBTlNfT1BUX0tFRVAsCiAJVFJBTlNfT1BUX0ZPTExPV1RBR1MsCisJVFJBTlNfT1BUX0RFRVBFTl9SRUxBVElWRQogCX07CiAKK3N0YXRpYyBpbnQgc3RyYnVmX3NldF9oZWxwZXJfb3B0aW9uKHN0cnVjdCBoZWxwZXJfZGF0YSAqZGF0YSwKKwkJCQkgICAgc3RydWN0IHN0cmJ1ZiAqYnVmKQoreworCWludCByZXQ7CisKKwlzZW5kbGluZShkYXRhLCBidWYpOworCWlmIChyZWN2bGluZShkYXRhLCBidWYpKQorCQlleGl0KDEyOCk7CisKKwlpZiAoIXN0cmNtcChidWYtPmJ1ZiwgIm9rIikpCisJCXJldCA9IDA7CisJZWxzZSBpZiAoc3RhcnRzX3dpdGgoYnVmLT5idWYsICJlcnJvciIpKQorCQlyZXQgPSAtMTsKKwllbHNlIGlmICghc3RyY21wKGJ1Zi0+YnVmLCAidW5zdXBwb3J0ZWQiKSkKKwkJcmV0ID0gMTsKKwllbHNlIHsKKwkJd2FybmluZygiJXMgdW5leHBlY3RlZGx5IHNhaWQ6ICclcyciLCBkYXRhLT5uYW1lLCBidWYtPmJ1Zik7CisJCXJldCA9IDE7CisJfQorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgc3RyaW5nX2xpc3Rfc2V0X2hlbHBlcl9vcHRpb24oc3RydWN0IGhlbHBlcl9kYXRhICpkYXRhLAorCQkJCQkgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkJIHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCWludCBpLCByZXQgPSAwOworCisJZm9yIChpID0gMDsgaSA8IGxpc3QtPm5yOyBpKyspIHsKKwkJc3RyYnVmX2FkZGYoJmJ1ZiwgIm9wdGlvbiAlcyAiLCBuYW1lKTsKKwkJcXVvdGVfY19zdHlsZShsaXN0LT5pdGVtc1tpXS5zdHJpbmcsICZidWYsIE5VTEwsIDApOworCQlzdHJidWZfYWRkY2goJmJ1ZiwgJ1xuJyk7CisKKwkJaWYgKChyZXQgPSBzdHJidWZfc2V0X2hlbHBlcl9vcHRpb24oZGF0YSwgJmJ1ZikpKQorCQkJYnJlYWs7CisJCXN0cmJ1Zl9yZXNldCgmYnVmKTsKKwl9CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIGludCBzZXRfaGVscGVyX29wdGlvbihzdHJ1Y3QgdHJhbnNwb3J0ICp0cmFuc3BvcnQsCiAJCQkgIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQogewpAQCAtMjcyLDYgKzMxNSwxMCBAQAogCWlmICghZGF0YS0+b3B0aW9uKQogCQlyZXR1cm4gMTsKIAorCWlmICghc3RyY21wKG5hbWUsICJkZWVwZW4tbm90IikpCisJCXJldHVybiBzdHJpbmdfbGlzdF9zZXRfaGVscGVyX29wdGlvbihkYXRhLCBuYW1lLAorCQkJCQkJICAgICAoc3RydWN0IHN0cmluZ19saXN0ICopdmFsdWUpOworCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodW5zdXBwb3J0ZWRfb3B0aW9ucyk7IGkrKykgewogCQlpZiAoIXN0cmNtcChuYW1lLCB1bnN1cHBvcnRlZF9vcHRpb25zW2ldKSkKIAkJCXJldHVybiAxOwpAQCAtMjkxLDIwICszMzgsNyBAQAogCQlxdW90ZV9jX3N0eWxlKHZhbHVlLCAmYnVmLCBOVUxMLCAwKTsKIAlzdHJidWZfYWRkY2goJmJ1ZiwgJ1xuJyk7CiAKLQlzZW5kbGluZShkYXRhLCAmYnVmKTsKLQlpZiAocmVjdmxpbmUoZGF0YSwgJmJ1ZikpCi0JCWV4aXQoMTI4KTsKLQotCWlmICghc3RyY21wKGJ1Zi5idWYsICJvayIpKQotCQlyZXQgPSAwOwotCWVsc2UgaWYgKHN0YXJ0c193aXRoKGJ1Zi5idWYsICJlcnJvciIpKSB7Ci0JCXJldCA9IC0xOwotCX0gZWxzZSBpZiAoIXN0cmNtcChidWYuYnVmLCAidW5zdXBwb3J0ZWQiKSkKLQkJcmV0ID0gMTsKLQllbHNlIHsKLQkJd2FybmluZygiJXMgdW5leHBlY3RlZGx5IHNhaWQ6ICclcyciLCBkYXRhLT5uYW1lLCBidWYuYnVmKTsKLQkJcmV0ID0gMTsKLQl9CisJcmV0ID0gc3RyYnVmX3NldF9oZWxwZXJfb3B0aW9uKGRhdGEsICZidWYpOwogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCXJldHVybiByZXQ7CiB9CkBAIC0xMDM4LDcgKzEwNzIsNyBAQAogCQkJCSgqdGFpbCktPnN0YXR1cyB8PSBSRUZfU1RBVFVTX1VQVE9EQVRFOwogCQkJCWlmIChyZWFkX3JlZigoKnRhaWwpLT5uYW1lLAogCQkJCQkgICAgICgqdGFpbCktPm9sZF9vaWQuaGFzaCkgPCAwKQotCQkJCQlkaWUoTl8oIkNvdWxkIG5vdCByZWFkIHJlZiAlcyIpLAorCQkJCQlkaWUoXygiQ291bGQgbm90IHJlYWQgcmVmICVzIiksCiAJCQkJCSAgICAoKnRhaWwpLT5uYW1lKTsKIAkJCX0KIAkJfQpAQCAtMTEwMyw3ICsxMTM3LDcgQEAKIH0KIAogLyogU3RyZWFtIHN0YXRlOiBNb3JlIGRhdGEgbWF5IGJlIGNvbWluZyBpbiB0aGlzIGRpcmVjdGlvbi4gKi8KLSNkZWZpbmUgU1NUQVRFX1RSQU5TRkVSSU5HIDAKKyNkZWZpbmUgU1NUQVRFX1RSQU5TRkVSUklORyAwCiAvKgogICogU3RyZWFtIHN0YXRlOiBObyBtb3JlIGRhdGEgY29taW5nIGluIHRoaXMgZGlyZWN0aW9uLCBmbHVzaGluZyByZXN0IG9mCiAgKiBkYXRhLgpAQCAtMTExMiw3ICsxMTQ2LDcgQEAKIC8qIFN0cmVhbSBzdGF0ZTogVHJhbnNmZXIgaW4gdGhpcyBkaXJlY3Rpb24gZmluaXNoZWQuICovCiAjZGVmaW5lIFNTVEFURV9GSU5JU0hFRCAyCiAKLSNkZWZpbmUgU1RBVEVfTkVFRFNfUkVBRElORyhzdGF0ZSkgKChzdGF0ZSkgPD0gU1NUQVRFX1RSQU5TRkVSSU5HKQorI2RlZmluZSBTVEFURV9ORUVEU19SRUFESU5HKHN0YXRlKSAoKHN0YXRlKSA8PSBTU1RBVEVfVFJBTlNGRVJSSU5HKQogI2RlZmluZSBTVEFURV9ORUVEU19XUklUSU5HKHN0YXRlKSAoKHN0YXRlKSA8PSBTU1RBVEVfRkxVU0hJTkcpCiAjZGVmaW5lIFNUQVRFX05FRURTX0NMT1NJTkcoc3RhdGUpICgoc3RhdGUpID09IFNTVEFURV9GTFVTSElORykKIApAQCAtMTM2OSw3ICsxNDAzLDcgQEAKIAlzdGF0ZS5wdGcuZGVzdCA9IDE7CiAJc3RhdGUucHRnLnNyY19pc19zb2NrID0gKGlucHV0ID09IG91dHB1dCk7CiAJc3RhdGUucHRnLmRlc3RfaXNfc29jayA9IDA7Ci0Jc3RhdGUucHRnLnN0YXRlID0gU1NUQVRFX1RSQU5TRkVSSU5HOworCXN0YXRlLnB0Zy5zdGF0ZSA9IFNTVEFURV9UUkFOU0ZFUlJJTkc7CiAJc3RhdGUucHRnLmJ1ZnVzZSA9IDA7CiAJc3RhdGUucHRnLnNyY19uYW1lID0gInJlbW90ZSBpbnB1dCI7CiAJc3RhdGUucHRnLmRlc3RfbmFtZSA9ICJzdGRvdXQiOwpAQCAtMTM3OCw3ICsxNDEyLDcgQEAKIAlzdGF0ZS5ndHAuZGVzdCA9IG91dHB1dDsKIAlzdGF0ZS5ndHAuc3JjX2lzX3NvY2sgPSAwOwogCXN0YXRlLmd0cC5kZXN0X2lzX3NvY2sgPSAoaW5wdXQgPT0gb3V0cHV0KTsKLQlzdGF0ZS5ndHAuc3RhdGUgPSBTU1RBVEVfVFJBTlNGRVJJTkc7CisJc3RhdGUuZ3RwLnN0YXRlID0gU1NUQVRFX1RSQU5TRkVSUklORzsKIAlzdGF0ZS5ndHAuYnVmdXNlID0gMDsKIAlzdGF0ZS5ndHAuc3JjX25hbWUgPSAic3RkaW4iOwogCXN0YXRlLmd0cC5kZXN0X25hbWUgPSAicmVtb3RlIG91dHB1dCI7CmRpZmYgLS1naXQgYS90cmFuc3BvcnQuYyBiL3RyYW5zcG9ydC5jCmluZGV4IDA5NWU2MWYuLmQ1N2U4ZGUgMTAwNjQ0Ci0tLSBhL3RyYW5zcG9ydC5jCisrKyBiL3RyYW5zcG9ydC5jCkBAIC01OSw3ICs1OSw3IEBACiAJCQkJbG9jYWxuYW1lICsgMTEsIHRyYW5zcG9ydC0+cmVtb3RlLT5uYW1lLAogCQkJCXJlbW90ZW5hbWUpOwogCQllbHNlCi0JCQlwcmludGYoIldvdWxkIHNldCB1cHN0cmVhbSBvZiAnJXMnIHRvICclcycgb2YgJyVzJ1xuIiwKKwkJCXByaW50ZihfKCJXb3VsZCBzZXQgdXBzdHJlYW0gb2YgJyVzJyB0byAnJXMnIG9mICclcydcbiIpLAogCQkJCWxvY2FsbmFtZSArIDExLCByZW1vdGVuYW1lICsgMTEsCiAJCQkJdHJhbnNwb3J0LT5yZW1vdGUtPm5hbWUpOwogCX0KQEAgLTE0OCw5ICsxNDgsMTggQEAKIAkJCWNoYXIgKmVuZDsKIAkJCW9wdHMtPmRlcHRoID0gc3RydG9sKHZhbHVlLCAmZW5kLCAwKTsKIAkJCWlmICgqZW5kKQotCQkJCWRpZSgidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIiwgdmFsdWUpOworCQkJCWRpZShfKCJ0cmFuc3BvcnQ6IGludmFsaWQgZGVwdGggb3B0aW9uICclcyciKSwgdmFsdWUpOwogCQl9CiAJCXJldHVybiAwOworCX0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCBUUkFOU19PUFRfREVFUEVOX1NJTkNFKSkgeworCQlvcHRzLT5kZWVwZW5fc2luY2UgPSB2YWx1ZTsKKwkJcmV0dXJuIDA7CisJfSBlbHNlIGlmICghc3RyY21wKG5hbWUsIFRSQU5TX09QVF9ERUVQRU5fTk9UKSkgeworCQlvcHRzLT5kZWVwZW5fbm90ID0gKGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqKXZhbHVlOworCQlyZXR1cm4gMDsKKwl9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgVFJBTlNfT1BUX0RFRVBFTl9SRUxBVElWRSkpIHsKKwkJb3B0cy0+ZGVlcGVuX3JlbGF0aXZlID0gISF2YWx1ZTsKKwkJcmV0dXJuIDA7CiAJfQogCXJldHVybiAxOwogfQpAQCAtMjExLDYgKzIyMCw5IEBACiAJYXJncy5xdWlldCA9ICh0cmFuc3BvcnQtPnZlcmJvc2UgPCAwKTsKIAlhcmdzLm5vX3Byb2dyZXNzID0gIXRyYW5zcG9ydC0+cHJvZ3Jlc3M7CiAJYXJncy5kZXB0aCA9IGRhdGEtPm9wdGlvbnMuZGVwdGg7CisJYXJncy5kZWVwZW5fc2luY2UgPSBkYXRhLT5vcHRpb25zLmRlZXBlbl9zaW5jZTsKKwlhcmdzLmRlZXBlbl9ub3QgPSBkYXRhLT5vcHRpb25zLmRlZXBlbl9ub3Q7CisJYXJncy5kZWVwZW5fcmVsYXRpdmUgPSBkYXRhLT5vcHRpb25zLmRlZXBlbl9yZWxhdGl2ZTsKIAlhcmdzLmNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQgPQogCQlkYXRhLT5vcHRpb25zLmNoZWNrX3NlbGZfY29udGFpbmVkX2FuZF9jb25uZWN0ZWQ7CiAJYXJncy5jbG9uaW5nID0gdHJhbnNwb3J0LT5jbG9uaW5nOwpAQCAtMjk1LDcgKzMwNyw5IEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCBwcmludF9yZWZfc3RhdHVzKGNoYXIgZmxhZywgY29uc3QgY2hhciAqc3VtbWFyeSwgc3RydWN0IHJlZiAqdG8sIHN0cnVjdCByZWYgKmZyb20sIGNvbnN0IGNoYXIgKm1zZywgaW50IHBvcmNlbGFpbikKK3N0YXRpYyB2b2lkIHByaW50X3JlZl9zdGF0dXMoY2hhciBmbGFnLCBjb25zdCBjaGFyICpzdW1tYXJ5LAorCQkJICAgICBzdHJ1Y3QgcmVmICp0bywgc3RydWN0IHJlZiAqZnJvbSwgY29uc3QgY2hhciAqbXNnLAorCQkJICAgICBpbnQgcG9yY2VsYWluLCBpbnQgc3VtbWFyeV93aWR0aCkKIHsKIAlpZiAocG9yY2VsYWluKSB7CiAJCWlmIChmcm9tKQpAQCAtMzA3LDcgKzMyMSw3IEBACiAJCWVsc2UKIAkJCWZwcmludGYoc3Rkb3V0LCAiJXNcbiIsIHN1bW1hcnkpOwogCX0gZWxzZSB7Ci0JCWZwcmludGYoc3RkZXJyLCAiICVjICUtKnMgIiwgZmxhZywgVFJBTlNQT1JUX1NVTU1BUllfV0lEVEgsIHN1bW1hcnkpOworCQlmcHJpbnRmKHN0ZGVyciwgIiAlYyAlLSpzICIsIGZsYWcsIHN1bW1hcnlfd2lkdGgsIHN1bW1hcnkpOwogCQlpZiAoZnJvbSkKIAkJCWZwcmludGYoc3RkZXJyLCAiJXMgLT4gJXMiLCBwcmV0dGlmeV9yZWZuYW1lKGZyb20tPm5hbWUpLCBwcmV0dGlmeV9yZWZuYW1lKHRvLT5uYW1lKSk7CiAJCWVsc2UKQEAgLTMyMSwyNiArMzM1LDIzIEBACiAJfQogfQogCi1zdGF0aWMgY29uc3QgY2hhciAqc3RhdHVzX2FiYnJldih1bnNpZ25lZCBjaGFyIHNoYTFbMjBdKQotewotCXJldHVybiBmaW5kX3VuaXF1ZV9hYmJyZXYoc2hhMSwgREVGQVVMVF9BQkJSRVYpOwotfQotCi1zdGF0aWMgdm9pZCBwcmludF9va19yZWZfc3RhdHVzKHN0cnVjdCByZWYgKnJlZiwgaW50IHBvcmNlbGFpbikKK3N0YXRpYyB2b2lkIHByaW50X29rX3JlZl9zdGF0dXMoc3RydWN0IHJlZiAqcmVmLCBpbnQgcG9yY2VsYWluLCBpbnQgc3VtbWFyeV93aWR0aCkKIHsKIAlpZiAocmVmLT5kZWxldGlvbikKLQkJcHJpbnRfcmVmX3N0YXR1cygnLScsICJbZGVsZXRlZF0iLCByZWYsIE5VTEwsIE5VTEwsIHBvcmNlbGFpbik7CisJCXByaW50X3JlZl9zdGF0dXMoJy0nLCAiW2RlbGV0ZWRdIiwgcmVmLCBOVUxMLCBOVUxMLAorCQkJCSBwb3JjZWxhaW4sIHN1bW1hcnlfd2lkdGgpOwogCWVsc2UgaWYgKGlzX251bGxfb2lkKCZyZWYtPm9sZF9vaWQpKQogCQlwcmludF9yZWZfc3RhdHVzKCcqJywKIAkJCShzdGFydHNfd2l0aChyZWYtPm5hbWUsICJyZWZzL3RhZ3MvIikgPyAiW25ldyB0YWddIiA6CiAJCQkiW25ldyBicmFuY2hdIiksCi0JCQlyZWYsIHJlZi0+cGVlcl9yZWYsIE5VTEwsIHBvcmNlbGFpbik7CisJCQlyZWYsIHJlZi0+cGVlcl9yZWYsIE5VTEwsIHBvcmNlbGFpbiwgc3VtbWFyeV93aWR0aCk7CiAJZWxzZSB7CiAJCXN0cnVjdCBzdHJidWYgcXVpY2tyZWYgPSBTVFJCVUZfSU5JVDsKIAkJY2hhciB0eXBlOwogCQljb25zdCBjaGFyICptc2c7CiAKLQkJc3RyYnVmX2FkZHN0cigmcXVpY2tyZWYsIHN0YXR1c19hYmJyZXYocmVmLT5vbGRfb2lkLmhhc2gpKTsKKwkJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KCZxdWlja3JlZiwgcmVmLT5vbGRfb2lkLmhhc2gsCisJCQkJCSBERUZBVUxUX0FCQlJFVik7CiAJCWlmIChyZWYtPmZvcmNlZF91cGRhdGUpIHsKIAkJCXN0cmJ1Zl9hZGRzdHIoJnF1aWNrcmVmLCAiLi4uIik7CiAJCQl0eXBlID0gJysnOwpAQCAtMzUwLDc2ICszNjEsMTA3IEBACiAJCQl0eXBlID0gJyAnOwogCQkJbXNnID0gTlVMTDsKIAkJfQotCQlzdHJidWZfYWRkc3RyKCZxdWlja3JlZiwgc3RhdHVzX2FiYnJldihyZWYtPm5ld19vaWQuaGFzaCkpOworCQlzdHJidWZfYWRkX3VuaXF1ZV9hYmJyZXYoJnF1aWNrcmVmLCByZWYtPm5ld19vaWQuaGFzaCwKKwkJCQkJIERFRkFVTFRfQUJCUkVWKTsKIAotCQlwcmludF9yZWZfc3RhdHVzKHR5cGUsIHF1aWNrcmVmLmJ1ZiwgcmVmLCByZWYtPnBlZXJfcmVmLCBtc2csIHBvcmNlbGFpbik7CisJCXByaW50X3JlZl9zdGF0dXModHlwZSwgcXVpY2tyZWYuYnVmLCByZWYsIHJlZi0+cGVlcl9yZWYsIG1zZywKKwkJCQkgcG9yY2VsYWluLCBzdW1tYXJ5X3dpZHRoKTsKIAkJc3RyYnVmX3JlbGVhc2UoJnF1aWNrcmVmKTsKIAl9CiB9CiAKLXN0YXRpYyBpbnQgcHJpbnRfb25lX3B1c2hfc3RhdHVzKHN0cnVjdCByZWYgKnJlZiwgY29uc3QgY2hhciAqZGVzdCwgaW50IGNvdW50LCBpbnQgcG9yY2VsYWluKQorc3RhdGljIGludCBwcmludF9vbmVfcHVzaF9zdGF0dXMoc3RydWN0IHJlZiAqcmVmLCBjb25zdCBjaGFyICpkZXN0LCBpbnQgY291bnQsCisJCQkJIGludCBwb3JjZWxhaW4sIGludCBzdW1tYXJ5X3dpZHRoKQogewotCWlmICghY291bnQpCi0JCWZwcmludGYocG9yY2VsYWluID8gc3Rkb3V0IDogc3RkZXJyLCAiVG8gJXNcbiIsIGRlc3QpOworCWlmICghY291bnQpIHsKKwkJY2hhciAqdXJsID0gdHJhbnNwb3J0X2Fub255bWl6ZV91cmwoZGVzdCk7CisJCWZwcmludGYocG9yY2VsYWluID8gc3Rkb3V0IDogc3RkZXJyLCAiVG8gJXNcbiIsIHVybCk7CisJCWZyZWUodXJsKTsKKwl9CiAKIAlzd2l0Y2gocmVmLT5zdGF0dXMpIHsKIAljYXNlIFJFRl9TVEFUVVNfTk9ORToKLQkJcHJpbnRfcmVmX3N0YXR1cygnWCcsICJbbm8gbWF0Y2hdIiwgcmVmLCBOVUxMLCBOVUxMLCBwb3JjZWxhaW4pOworCQlwcmludF9yZWZfc3RhdHVzKCdYJywgIltubyBtYXRjaF0iLCByZWYsIE5VTEwsIE5VTEwsCisJCQkJIHBvcmNlbGFpbiwgc3VtbWFyeV93aWR0aCk7CiAJCWJyZWFrOwogCWNhc2UgUkVGX1NUQVRVU19SRUpFQ1RfTk9ERUxFVEU6CiAJCXByaW50X3JlZl9zdGF0dXMoJyEnLCAiW3JlamVjdGVkXSIsIHJlZiwgTlVMTCwKLQkJCQkJCSAicmVtb3RlIGRvZXMgbm90IHN1cHBvcnQgZGVsZXRpbmcgcmVmcyIsIHBvcmNlbGFpbik7CisJCQkJICJyZW1vdGUgZG9lcyBub3Qgc3VwcG9ydCBkZWxldGluZyByZWZzIiwKKwkJCQkgcG9yY2VsYWluLCBzdW1tYXJ5X3dpZHRoKTsKIAkJYnJlYWs7CiAJY2FzZSBSRUZfU1RBVFVTX1VQVE9EQVRFOgogCQlwcmludF9yZWZfc3RhdHVzKCc9JywgIlt1cCB0byBkYXRlXSIsIHJlZiwKLQkJCQkJCSByZWYtPnBlZXJfcmVmLCBOVUxMLCBwb3JjZWxhaW4pOworCQkJCSByZWYtPnBlZXJfcmVmLCBOVUxMLCBwb3JjZWxhaW4sIHN1bW1hcnlfd2lkdGgpOwogCQlicmVhazsKIAljYXNlIFJFRl9TVEFUVVNfUkVKRUNUX05PTkZBU1RGT1JXQVJEOgogCQlwcmludF9yZWZfc3RhdHVzKCchJywgIltyZWplY3RlZF0iLCByZWYsIHJlZi0+cGVlcl9yZWYsCi0JCQkJCQkgIm5vbi1mYXN0LWZvcndhcmQiLCBwb3JjZWxhaW4pOworCQkJCSAibm9uLWZhc3QtZm9yd2FyZCIsIHBvcmNlbGFpbiwgc3VtbWFyeV93aWR0aCk7CiAJCWJyZWFrOwogCWNhc2UgUkVGX1NUQVRVU19SRUpFQ1RfQUxSRUFEWV9FWElTVFM6CiAJCXByaW50X3JlZl9zdGF0dXMoJyEnLCAiW3JlamVjdGVkXSIsIHJlZiwgcmVmLT5wZWVyX3JlZiwKLQkJCQkJCSAiYWxyZWFkeSBleGlzdHMiLCBwb3JjZWxhaW4pOworCQkJCSAiYWxyZWFkeSBleGlzdHMiLCBwb3JjZWxhaW4sIHN1bW1hcnlfd2lkdGgpOwogCQlicmVhazsKIAljYXNlIFJFRl9TVEFUVVNfUkVKRUNUX0ZFVENIX0ZJUlNUOgogCQlwcmludF9yZWZfc3RhdHVzKCchJywgIltyZWplY3RlZF0iLCByZWYsIHJlZi0+cGVlcl9yZWYsCi0JCQkJCQkgImZldGNoIGZpcnN0IiwgcG9yY2VsYWluKTsKKwkJCQkgImZldGNoIGZpcnN0IiwgcG9yY2VsYWluLCBzdW1tYXJ5X3dpZHRoKTsKIAkJYnJlYWs7CiAJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9ORUVEU19GT1JDRToKIAkJcHJpbnRfcmVmX3N0YXR1cygnIScsICJbcmVqZWN0ZWRdIiwgcmVmLCByZWYtPnBlZXJfcmVmLAotCQkJCQkJICJuZWVkcyBmb3JjZSIsIHBvcmNlbGFpbik7CisJCQkJICJuZWVkcyBmb3JjZSIsIHBvcmNlbGFpbiwgc3VtbWFyeV93aWR0aCk7CiAJCWJyZWFrOwogCWNhc2UgUkVGX1NUQVRVU19SRUpFQ1RfU1RBTEU6CiAJCXByaW50X3JlZl9zdGF0dXMoJyEnLCAiW3JlamVjdGVkXSIsIHJlZiwgcmVmLT5wZWVyX3JlZiwKLQkJCQkJCSAic3RhbGUgaW5mbyIsIHBvcmNlbGFpbik7CisJCQkJICJzdGFsZSBpbmZvIiwgcG9yY2VsYWluLCBzdW1tYXJ5X3dpZHRoKTsKIAkJYnJlYWs7CiAJY2FzZSBSRUZfU1RBVFVTX1JFSkVDVF9TSEFMTE9XOgogCQlwcmludF9yZWZfc3RhdHVzKCchJywgIltyZWplY3RlZF0iLCByZWYsIHJlZi0+cGVlcl9yZWYsCi0JCQkJCQkgIm5ldyBzaGFsbG93IHJvb3RzIG5vdCBhbGxvd2VkIiwgcG9yY2VsYWluKTsKKwkJCQkgIm5ldyBzaGFsbG93IHJvb3RzIG5vdCBhbGxvd2VkIiwKKwkJCQkgcG9yY2VsYWluLCBzdW1tYXJ5X3dpZHRoKTsKIAkJYnJlYWs7CiAJY2FzZSBSRUZfU1RBVFVTX1JFTU9URV9SRUpFQ1Q6CiAJCXByaW50X3JlZl9zdGF0dXMoJyEnLCAiW3JlbW90ZSByZWplY3RlZF0iLCByZWYsCi0JCQkJCQkgcmVmLT5kZWxldGlvbiA/IE5VTEwgOiByZWYtPnBlZXJfcmVmLAotCQkJCQkJIHJlZi0+cmVtb3RlX3N0YXR1cywgcG9yY2VsYWluKTsKKwkJCQkgcmVmLT5kZWxldGlvbiA/IE5VTEwgOiByZWYtPnBlZXJfcmVmLAorCQkJCSByZWYtPnJlbW90ZV9zdGF0dXMsIHBvcmNlbGFpbiwgc3VtbWFyeV93aWR0aCk7CiAJCWJyZWFrOwogCWNhc2UgUkVGX1NUQVRVU19FWFBFQ1RJTkdfUkVQT1JUOgogCQlwcmludF9yZWZfc3RhdHVzKCchJywgIltyZW1vdGUgZmFpbHVyZV0iLCByZWYsCi0JCQkJCQkgcmVmLT5kZWxldGlvbiA/IE5VTEwgOiByZWYtPnBlZXJfcmVmLAotCQkJCQkJICJyZW1vdGUgZmFpbGVkIHRvIHJlcG9ydCBzdGF0dXMiLCBwb3JjZWxhaW4pOworCQkJCSByZWYtPmRlbGV0aW9uID8gTlVMTCA6IHJlZi0+cGVlcl9yZWYsCisJCQkJICJyZW1vdGUgZmFpbGVkIHRvIHJlcG9ydCBzdGF0dXMiLAorCQkJCSBwb3JjZWxhaW4sIHN1bW1hcnlfd2lkdGgpOwogCQlicmVhazsKIAljYXNlIFJFRl9TVEFUVVNfQVRPTUlDX1BVU0hfRkFJTEVEOgogCQlwcmludF9yZWZfc3RhdHVzKCchJywgIltyZWplY3RlZF0iLCByZWYsIHJlZi0+cGVlcl9yZWYsCi0JCQkJCQkgImF0b21pYyBwdXNoIGZhaWxlZCIsIHBvcmNlbGFpbik7CisJCQkJICJhdG9taWMgcHVzaCBmYWlsZWQiLCBwb3JjZWxhaW4sIHN1bW1hcnlfd2lkdGgpOwogCQlicmVhazsKIAljYXNlIFJFRl9TVEFUVVNfT0s6Ci0JCXByaW50X29rX3JlZl9zdGF0dXMocmVmLCBwb3JjZWxhaW4pOworCQlwcmludF9va19yZWZfc3RhdHVzKHJlZiwgcG9yY2VsYWluLCBzdW1tYXJ5X3dpZHRoKTsKIAkJYnJlYWs7CiAJfQogCiAJcmV0dXJuIDE7CiB9CiAKK3N0YXRpYyBpbnQgbWVhc3VyZV9hYmJyZXYoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgc29mYXIpCit7CisJY2hhciBoZXhbR0lUX1NIQTFfSEVYU1ogKyAxXTsKKwlpbnQgdyA9IGZpbmRfdW5pcXVlX2FiYnJldl9yKGhleCwgb2lkLT5oYXNoLCBERUZBVUxUX0FCQlJFVik7CisKKwlyZXR1cm4gKHcgPCBzb2ZhcikgPyBzb2ZhciA6IHc7Cit9CisKK2ludCB0cmFuc3BvcnRfc3VtbWFyeV93aWR0aChjb25zdCBzdHJ1Y3QgcmVmICpyZWZzKQoreworCWludCBtYXh3ID0gLTE7CisKKwlmb3IgKDsgcmVmczsgcmVmcyA9IHJlZnMtPm5leHQpIHsKKwkJbWF4dyA9IG1lYXN1cmVfYWJicmV2KCZyZWZzLT5vbGRfb2lkLCBtYXh3KTsKKwkJbWF4dyA9IG1lYXN1cmVfYWJicmV2KCZyZWZzLT5uZXdfb2lkLCBtYXh3KTsKKwl9CisJaWYgKG1heHcgPCAwKQorCQltYXh3ID0gRkFMTEJBQ0tfREVGQVVMVF9BQkJSRVY7CisJcmV0dXJuICgyICogbWF4dyArIDMpOworfQorCiB2b2lkIHRyYW5zcG9ydF9wcmludF9wdXNoX3N0YXR1cyhjb25zdCBjaGFyICpkZXN0LCBzdHJ1Y3QgcmVmICpyZWZzLAogCQkJCSAgaW50IHZlcmJvc2UsIGludCBwb3JjZWxhaW4sIHVuc2lnbmVkIGludCAqcmVqZWN0X3JlYXNvbnMpCiB7CkBAIC00MjcsMjUgKzQ2OSwyOSBAQAogCWludCBuID0gMDsKIAl1bnNpZ25lZCBjaGFyIGhlYWRfc2hhMVsyMF07CiAJY2hhciAqaGVhZDsKKwlpbnQgc3VtbWFyeV93aWR0aCA9IHRyYW5zcG9ydF9zdW1tYXJ5X3dpZHRoKHJlZnMpOwogCiAJaGVhZCA9IHJlc29sdmVfcmVmZHVwKCJIRUFEIiwgUkVTT0xWRV9SRUZfUkVBRElORywgaGVhZF9zaGExLCBOVUxMKTsKIAogCWlmICh2ZXJib3NlKSB7CiAJCWZvciAocmVmID0gcmVmczsgcmVmOyByZWYgPSByZWYtPm5leHQpCiAJCQlpZiAocmVmLT5zdGF0dXMgPT0gUkVGX1NUQVRVU19VUFRPREFURSkKLQkJCQluICs9IHByaW50X29uZV9wdXNoX3N0YXR1cyhyZWYsIGRlc3QsIG4sIHBvcmNlbGFpbik7CisJCQkJbiArPSBwcmludF9vbmVfcHVzaF9zdGF0dXMocmVmLCBkZXN0LCBuLAorCQkJCQkJCSAgIHBvcmNlbGFpbiwgc3VtbWFyeV93aWR0aCk7CiAJfQogCiAJZm9yIChyZWYgPSByZWZzOyByZWY7IHJlZiA9IHJlZi0+bmV4dCkKIAkJaWYgKHJlZi0+c3RhdHVzID09IFJFRl9TVEFUVVNfT0spCi0JCQluICs9IHByaW50X29uZV9wdXNoX3N0YXR1cyhyZWYsIGRlc3QsIG4sIHBvcmNlbGFpbik7CisJCQluICs9IHByaW50X29uZV9wdXNoX3N0YXR1cyhyZWYsIGRlc3QsIG4sCisJCQkJCQkgICBwb3JjZWxhaW4sIHN1bW1hcnlfd2lkdGgpOwogCiAJKnJlamVjdF9yZWFzb25zID0gMDsKIAlmb3IgKHJlZiA9IHJlZnM7IHJlZjsgcmVmID0gcmVmLT5uZXh0KSB7CiAJCWlmIChyZWYtPnN0YXR1cyAhPSBSRUZfU1RBVFVTX05PTkUgJiYKIAkJICAgIHJlZi0+c3RhdHVzICE9IFJFRl9TVEFUVVNfVVBUT0RBVEUgJiYKIAkJICAgIHJlZi0+c3RhdHVzICE9IFJFRl9TVEFUVVNfT0spCi0JCQluICs9IHByaW50X29uZV9wdXNoX3N0YXR1cyhyZWYsIGRlc3QsIG4sIHBvcmNlbGFpbik7CisJCQluICs9IHByaW50X29uZV9wdXNoX3N0YXR1cyhyZWYsIGRlc3QsIG4sCisJCQkJCQkgICBwb3JjZWxhaW4sIHN1bW1hcnlfd2lkdGgpOwogCQlpZiAocmVmLT5zdGF0dXMgPT0gUkVGX1NUQVRVU19SRUpFQ1RfTk9ORkFTVEZPUldBUkQpIHsKIAkJCWlmIChoZWFkICE9IE5VTEwgJiYgIXN0cmNtcChoZWFkLCByZWYtPm5hbWUpKQogCQkJCSpyZWplY3RfcmVhc29ucyB8PSBSRUpFQ1RfTk9OX0ZGX0hFQUQ7CkBAIC01MTAsNiArNTU2LDcgQEAKIAlhcmdzLmRyeV9ydW4gPSAhIShmbGFncyAmIFRSQU5TUE9SVF9QVVNIX0RSWV9SVU4pOwogCWFyZ3MucG9yY2VsYWluID0gISEoZmxhZ3MgJiBUUkFOU1BPUlRfUFVTSF9QT1JDRUxBSU4pOwogCWFyZ3MuYXRvbWljID0gISEoZmxhZ3MgJiBUUkFOU1BPUlRfUFVTSF9BVE9NSUMpOworCWFyZ3MucHVzaF9vcHRpb25zID0gdHJhbnNwb3J0LT5wdXNoX29wdGlvbnM7CiAJYXJncy51cmwgPSB0cmFuc3BvcnQtPnVybDsKIAogCWlmIChmbGFncyAmIFRSQU5TUE9SVF9QVVNIX0NFUlRfQUxXQVlTKQpAQCAtNTYzLDcgKzYxMCw3IEBACiAJc3RydWN0IGdpdF90cmFuc3BvcnRfZGF0YSAqZGF0YTsKIAogCWlmICghdHJhbnNwb3J0LT5zbWFydF9vcHRpb25zKQotCQlkaWUoIkJ1ZyBkZXRlY3RlZDogVGFraW5nIG92ZXIgdHJhbnNwb3J0IHJlcXVpcmVzIG5vbi1OVUxMICIKKwkJZGllKCJCVUc6IHRha2luZyBvdmVyIHRyYW5zcG9ydCByZXF1aXJlcyBub24tTlVMTCAiCiAJCSAgICAic21hcnRfb3B0aW9ucyBmaWVsZC4iKTsKIAogCWRhdGEgPSB4Y2FsbG9jKDEsIHNpemVvZigqZGF0YSkpOwpAQCAtNzY3LDE5ICs4MTQsMTkgQEAKIHsKIAlpbnQgaTsKIAotCWZwcmludGYoc3RkZXJyLCAiVGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgcGF0aHMgY29udGFpbiBjaGFuZ2VzIHRoYXQgY2FuXG4iCi0JCQkibm90IGJlIGZvdW5kIG9uIGFueSByZW1vdGU6XG4iKTsKKwlmcHJpbnRmKHN0ZGVyciwgXygiVGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgcGF0aHMgY29udGFpbiBjaGFuZ2VzIHRoYXQgY2FuXG4iCisJCQkibm90IGJlIGZvdW5kIG9uIGFueSByZW1vdGU6XG4iKSk7CiAJZm9yIChpID0gMDsgaSA8IG5lZWRzX3B1c2hpbmctPm5yOyBpKyspCi0JCXByaW50ZigiICAlc1xuIiwgbmVlZHNfcHVzaGluZy0+aXRlbXNbaV0uc3RyaW5nKTsKLQlmcHJpbnRmKHN0ZGVyciwgIlxuUGxlYXNlIHRyeVxuXG4iCi0JCQkiCWdpdCBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzPW9uLWRlbWFuZFxuXG4iCi0JCQkib3IgY2QgdG8gdGhlIHBhdGggYW5kIHVzZVxuXG4iCi0JCQkiCWdpdCBwdXNoXG5cbiIKLQkJCSJ0byBwdXNoIHRoZW0gdG8gYSByZW1vdGUuXG5cbiIpOworCQlmcHJpbnRmKHN0ZGVyciwgIiAgJXNcbiIsIG5lZWRzX3B1c2hpbmctPml0ZW1zW2ldLnN0cmluZyk7CisJZnByaW50ZihzdGRlcnIsIF8oIlxuUGxlYXNlIHRyeVxuXG4iCisJCQkgICIJZ2l0IHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kXG5cbiIKKwkJCSAgIm9yIGNkIHRvIHRoZSBwYXRoIGFuZCB1c2VcblxuIgorCQkJICAiCWdpdCBwdXNoXG5cbiIKKwkJCSAgInRvIHB1c2ggdGhlbSB0byBhIHJlbW90ZS5cblxuIikpOwogCiAJc3RyaW5nX2xpc3RfY2xlYXIobmVlZHNfcHVzaGluZywgMCk7CiAKLQlkaWUoIkFib3J0aW5nLiIpOworCWRpZShfKCJBYm9ydGluZy4iKSk7CiB9CiAKIHN0YXRpYyBpbnQgcnVuX3ByZV9wdXNoX2hvb2soc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0LApAQCAtMTA4Myw5ICsxMTMwLDcgQEAKIAljb25zdCBzdHJ1Y3QgcmVmICpleHRyYTsKIAlzdHJ1Y3QgYWx0ZXJuYXRlX3JlZnNfZGF0YSAqY2IgPSBkYXRhOwogCi0JZS0+bmFtZVstMV0gPSAnXDAnOwotCW90aGVyID0geHN0cmR1cChyZWFsX3BhdGgoZS0+YmFzZSkpOwotCWUtPm5hbWVbLTFdID0gJy8nOworCW90aGVyID0geHN0cmR1cChyZWFsX3BhdGgoZS0+cGF0aCkpOwogCWxlbiA9IHN0cmxlbihvdGhlcik7CiAKIAl3aGlsZSAob3RoZXJbbGVuLTFdID09ICcvJykKZGlmZiAtLWdpdCBhL3RyYW5zcG9ydC5oIGIvdHJhbnNwb3J0LmgKaW5kZXggYzY4MTQwOC4uYjhlNGVlOCAxMDA2NDQKLS0tIGEvdHJhbnNwb3J0LmgKKysrIGIvdHJhbnNwb3J0LmgKQEAgLTUsNiArNSw4IEBACiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKICNpbmNsdWRlICJyZW1vdGUuaCIKIAorc3RydWN0IHN0cmluZ19saXN0OworCiBzdHJ1Y3QgZ2l0X3RyYW5zcG9ydF9vcHRpb25zIHsKIAl1bnNpZ25lZCB0aGluIDogMTsKIAl1bnNpZ25lZCBrZWVwIDogMTsKQEAgLTEyLDcgKzE0LDEwIEBACiAJdW5zaWduZWQgY2hlY2tfc2VsZl9jb250YWluZWRfYW5kX2Nvbm5lY3RlZCA6IDE7CiAJdW5zaWduZWQgc2VsZl9jb250YWluZWRfYW5kX2Nvbm5lY3RlZCA6IDE7CiAJdW5zaWduZWQgdXBkYXRlX3NoYWxsb3cgOiAxOworCXVuc2lnbmVkIGRlZXBlbl9yZWxhdGl2ZSA6IDE7CiAJaW50IGRlcHRoOworCWNvbnN0IGNoYXIgKmRlZXBlbl9zaW5jZTsKKwljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmRlZXBlbl9ub3Q7CiAJY29uc3QgY2hhciAqdXBsb2FkcGFjazsKIAljb25zdCBjaGFyICpyZWNlaXZlcGFjazsKIAlzdHJ1Y3QgcHVzaF9jYXNfb3B0aW9uICpjYXM7CkBAIC00OCw2ICs1MywxMiBAQAogCSAqLwogCXVuc2lnbmVkIGNsb25pbmcgOiAxOwogCisJLyoKKwkgKiBUaGVzZSBzdHJpbmdzIHdpbGwgYmUgcGFzc2VkIHRvIHRoZSB7cHJlLCBwb3N0fS1yZWNlaXZlIGhvb2ssCisJICogb24gdGhlIHJlbW90ZSBzaWRlLCBpZiBib3RoIHNpZGVzIHN1cHBvcnQgdGhlIHB1c2ggb3B0aW9ucyBjYXBhYmlsaXR5LgorCSAqLworCWNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqcHVzaF9vcHRpb25zOworCiAJLyoqCiAJICogUmV0dXJucyAwIGlmIHN1Y2Nlc3NmdWwsIHBvc2l0aXZlIGlmIHRoZSBvcHRpb24gaXMgbm90CiAJICogcmVjb2duaXplZCBvciBpcyBpbmFwcGxpY2FibGUsIGFuZCBuZWdhdGl2ZSBpZiB0aGUgb3B0aW9uCkBAIC0xMzQsOSArMTQ1LDkgQEAKICNkZWZpbmUgVFJBTlNQT1JUX1BVU0hfQ0VSVF9BTFdBWVMgMjA0OAogI2RlZmluZSBUUkFOU1BPUlRfUFVTSF9DRVJUX0lGX0FTS0VEIDQwOTYKICNkZWZpbmUgVFJBTlNQT1JUX1BVU0hfQVRPTUlDIDgxOTIKKyNkZWZpbmUgVFJBTlNQT1JUX1BVU0hfT1BUSU9OUyAxNjM4NAogCi0jZGVmaW5lIFRSQU5TUE9SVF9TVU1NQVJZX1dJRFRIICgyICogREVGQVVMVF9BQkJSRVYgKyAzKQotI2RlZmluZSBUUkFOU1BPUlRfU1VNTUFSWSh4KSAoaW50KShUUkFOU1BPUlRfU1VNTUFSWV9XSURUSCArIHN0cmxlbih4KSAtIGdldHRleHRfd2lkdGgoeCkpLCAoeCkKK2V4dGVybiBpbnQgdHJhbnNwb3J0X3N1bW1hcnlfd2lkdGgoY29uc3Qgc3RydWN0IHJlZiAqcmVmcyk7CiAKIC8qIFJldHVybnMgYSB0cmFuc3BvcnQgc3VpdGFibGUgZm9yIHRoZSB1cmwgKi8KIHN0cnVjdCB0cmFuc3BvcnQgKnRyYW5zcG9ydF9nZXQoc3RydWN0IHJlbW90ZSAqLCBjb25zdCBjaGFyICopOwpAQCAtMTc5LDYgKzE5MCwxNSBAQAogLyogTGltaXQgdGhlIGRlcHRoIG9mIHRoZSBmZXRjaCBpZiBub3QgbnVsbCAqLwogI2RlZmluZSBUUkFOU19PUFRfREVQVEggImRlcHRoIgogCisvKiBMaW1pdCB0aGUgZGVwdGggb2YgdGhlIGZldGNoIGJhc2VkIG9uIHRpbWUgaWYgbm90IG51bGwgKi8KKyNkZWZpbmUgVFJBTlNfT1BUX0RFRVBFTl9TSU5DRSAiZGVlcGVuLXNpbmNlIgorCisvKiBMaW1pdCB0aGUgZGVwdGggb2YgdGhlIGZldGNoIGJhc2VkIG9uIHJldnMgaWYgbm90IG51bGwgKi8KKyNkZWZpbmUgVFJBTlNfT1BUX0RFRVBFTl9OT1QgImRlZXBlbi1ub3QiCisKKy8qIExpbWl0IHRoZSBkZWVwZW4gb2YgdGhlIGZldGNoIGlmIG5vdCBudWxsICovCisjZGVmaW5lIFRSQU5TX09QVF9ERUVQRU5fUkVMQVRJVkUgImRlZXBlbi1yZWxhdGl2ZSIKKwogLyogQWdncmVzc2l2ZWx5IGZldGNoIGFubm90YXRlZCB0YWdzIGlmIHBvc3NpYmxlICovCiAjZGVmaW5lIFRSQU5TX09QVF9GT0xMT1dUQUdTICJmb2xsb3d0YWdzIgogCmRpZmYgLS1naXQgYS90cmVlLWRpZmYuYyBiL3RyZWUtZGlmZi5jCmluZGV4IGZmNGUwZDMuLmUxNjRlNTMgMTAwNjQ0Ci0tLSBhL3RyZWUtZGlmZi5jCisrKyBiL3RyZWUtZGlmZi5jCkBAIC0xNCw2ICsxNCwxNiBAQAogICovCiAjZGVmaW5lIFNfSUZYTUlOX05FUQlTX0RJRkZUUkVFX0lGWE1JTl9ORVEKIAorI2RlZmluZSBGQVNUX0FSUkFZX0FMTE9DKHgsIG5yKSBkbyB7IFwKKwlpZiAoKG5yKSA8PSAyKSBcCisJCSh4KSA9IHhhbGxvY2EoKG5yKSAqIHNpemVvZigqKHgpKSk7IFwKKwllbHNlIFwKKwkJQUxMT0NfQVJSQVkoKHgpLCBucik7IFwKK30gd2hpbGUoMCkKKyNkZWZpbmUgRkFTVF9BUlJBWV9GUkVFKHgsIG5yKSBkbyB7IFwKKwlpZiAoKG5yKSA+IDIpIFwKKwkJZnJlZSgoeCkpOyBcCit9IHdoaWxlKDApCiAKIHN0YXRpYyBzdHJ1Y3QgY29tYmluZV9kaWZmX3BhdGggKmxsX2RpZmZfdHJlZV9wYXRocygKIAlzdHJ1Y3QgY29tYmluZV9kaWZmX3BhdGggKnAsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCkBAIC0yNjUsNyArMjc1LDcgQEAKIAlpZiAocmVjdXJzZSkgewogCQljb25zdCB1bnNpZ25lZCBjaGFyICoqcGFyZW50c19zaGExOwogCi0JCXBhcmVudHNfc2hhMSA9IHhhbGxvY2EobnBhcmVudCAqIHNpemVvZihwYXJlbnRzX3NoYTFbMF0pKTsKKwkJRkFTVF9BUlJBWV9BTExPQyhwYXJlbnRzX3NoYTEsIG5wYXJlbnQpOwogCQlmb3IgKGkgPSAwOyBpIDwgbnBhcmVudDsgKytpKSB7CiAJCQkvKiBzYW1lIHJ1bGUgYXMgaW4gZW1pdHRoaXMgKi8KIAkJCWludCB0cGlfdmFsaWQgPSB0cCAmJiAhKHRwW2ldLmVudHJ5Lm1vZGUgJiBTX0lGWE1JTl9ORVEpOwpAQCAtMjc3LDcgKzI4Nyw3IEBACiAJCXN0cmJ1Zl9hZGQoYmFzZSwgcGF0aCwgcGF0aGxlbik7CiAJCXN0cmJ1Zl9hZGRjaChiYXNlLCAnLycpOwogCQlwID0gbGxfZGlmZl90cmVlX3BhdGhzKHAsIHNoYTEsIHBhcmVudHNfc2hhMSwgbnBhcmVudCwgYmFzZSwgb3B0KTsKLQkJeGFsbG9jYV9mcmVlKHBhcmVudHNfc2hhMSk7CisJCUZBU1RfQVJSQVlfRlJFRShwYXJlbnRzX3NoYTEsIG5wYXJlbnQpOwogCX0KIAogCXN0cmJ1Zl9zZXRsZW4oYmFzZSwgb2xkX2Jhc2VsZW4pOwpAQCAtNDAyLDggKzQxMiw4IEBACiAJdm9pZCAqdHRyZWUsICoqdHB0cmVlOwogCWludCBpOwogCi0JdHAgICAgID0geGFsbG9jYShucGFyZW50ICogc2l6ZW9mKHRwWzBdKSk7Ci0JdHB0cmVlID0geGFsbG9jYShucGFyZW50ICogc2l6ZW9mKHRwdHJlZVswXSkpOworCUZBU1RfQVJSQVlfQUxMT0ModHAsIG5wYXJlbnQpOworCUZBU1RfQVJSQVlfQUxMT0ModHB0cmVlLCBucGFyZW50KTsKIAogCS8qCiAJICogbG9hZCBwYXJlbnRzIGZpcnN0LCBhcyB0aGV5IGFyZSBwcm9iYWJseSBhbHJlYWR5IGNhY2hlZC4KQEAgLTUzMSw4ICs1NDEsOCBAQAogCWZyZWUodHRyZWUpOwogCWZvciAoaSA9IG5wYXJlbnQtMTsgaSA+PSAwOyBpLS0pCiAJCWZyZWUodHB0cmVlW2ldKTsKLQl4YWxsb2NhX2ZyZWUodHB0cmVlKTsKLQl4YWxsb2NhX2ZyZWUodHApOworCUZBU1RfQVJSQVlfRlJFRSh0cHRyZWUsIG5wYXJlbnQpOworCUZBU1RfQVJSQVlfRlJFRSh0cCwgbnBhcmVudCk7CiAKIAlyZXR1cm4gcDsKIH0KQEAgLTYwNyw3ICs2MTcsNyBAQAogCWRpZmZfc2V0dXBfZG9uZSgmZGlmZl9vcHRzKTsKIAlsbF9kaWZmX3RyZWVfc2hhMShvbGQsIG5ldywgYmFzZSwgJmRpZmZfb3B0cyk7CiAJZGlmZmNvcmVfc3RkKCZkaWZmX29wdHMpOwotCWZyZWVfcGF0aHNwZWMoJmRpZmZfb3B0cy5wYXRoc3BlYyk7CisJY2xlYXJfcGF0aHNwZWMoJmRpZmZfb3B0cy5wYXRoc3BlYyk7CiAKIAkvKiBHbyB0aHJvdWdoIHRoZSBuZXcgc2V0IG9mIGZpbGVwYWlyaW5nLCBhbmQgc2VlIGlmIHdlIGZpbmQgYSBtb3JlIGludGVyZXN0aW5nIG9uZSAqLwogCW9wdC0+Zm91bmRfZm9sbG93ID0gMDsKQEAgLTYzMCw3ICs2NDAsNyBAQAogCQkJLyogVXBkYXRlIHRoZSBwYXRoIHdlIHVzZSBmcm9tIG5vdyBvbi4uICovCiAJCQlwYXRoWzBdID0gcC0+b25lLT5wYXRoOwogCQkJcGF0aFsxXSA9IE5VTEw7Ci0JCQlmcmVlX3BhdGhzcGVjKCZvcHQtPnBhdGhzcGVjKTsKKwkJCWNsZWFyX3BhdGhzcGVjKCZvcHQtPnBhdGhzcGVjKTsKIAkJCXBhcnNlX3BhdGhzcGVjKCZvcHQtPnBhdGhzcGVjLAogCQkJCSAgICAgICBQQVRIU1BFQ19BTExfTUFHSUMgJiB+UEFUSFNQRUNfTElURVJBTCwKIAkJCQkgICAgICAgUEFUSFNQRUNfTElURVJBTF9QQVRILCAiIiwgcGF0aCk7CmRpZmYgLS1naXQgYS90cmVlLXdhbGsuYyBiL3RyZWUtd2Fsay5jCmluZGV4IGNlMjc4NDIuLjgyOGY0MzUgMTAwNjQ0Ci0tLSBhL3RyZWUtd2Fsay5jCisrKyBiL3RyZWUtd2Fsay5jCkBAIC0yMiwzMSArMjIsNjAgQEAKIAlyZXR1cm4gc3RyOwogfQogCi1zdGF0aWMgdm9pZCBkZWNvZGVfdHJlZV9lbnRyeShzdHJ1Y3QgdHJlZV9kZXNjICpkZXNjLCBjb25zdCBjaGFyICpidWYsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKK3N0YXRpYyBpbnQgZGVjb2RlX3RyZWVfZW50cnkoc3RydWN0IHRyZWVfZGVzYyAqZGVzYywgY29uc3QgY2hhciAqYnVmLCB1bnNpZ25lZCBsb25nIHNpemUsIHN0cnVjdCBzdHJidWYgKmVycikKIHsKIAljb25zdCBjaGFyICpwYXRoOwogCXVuc2lnbmVkIGludCBtb2RlLCBsZW47CiAKLQlpZiAoc2l6ZSA8IDI0IHx8IGJ1ZltzaXplIC0gMjFdKQotCQlkaWUoImNvcnJ1cHQgdHJlZSBmaWxlIik7CisJaWYgKHNpemUgPCAyMyB8fCBidWZbc2l6ZSAtIDIxXSkgeworCQlzdHJidWZfYWRkc3RyKGVyciwgXygidG9vLXNob3J0IHRyZWUgb2JqZWN0IikpOworCQlyZXR1cm4gLTE7CisJfQogCiAJcGF0aCA9IGdldF9tb2RlKGJ1ZiwgJm1vZGUpOwotCWlmICghcGF0aCB8fCAhKnBhdGgpCi0JCWRpZSgiY29ycnVwdCB0cmVlIGZpbGUiKTsKKwlpZiAoIXBhdGgpIHsKKwkJc3RyYnVmX2FkZHN0cihlcnIsIF8oIm1hbGZvcm1lZCBtb2RlIGluIHRyZWUgZW50cnkiKSk7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKCEqcGF0aCkgeworCQlzdHJidWZfYWRkc3RyKGVyciwgXygiZW1wdHkgZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSIpKTsKKwkJcmV0dXJuIC0xOworCX0KIAlsZW4gPSBzdHJsZW4ocGF0aCkgKyAxOwogCiAJLyogSW5pdGlhbGl6ZSB0aGUgZGVzY3JpcHRvciBlbnRyeSAqLwogCWRlc2MtPmVudHJ5LnBhdGggPSBwYXRoOwogCWRlc2MtPmVudHJ5Lm1vZGUgPSBjYW5vbl9tb2RlKG1vZGUpOwogCWRlc2MtPmVudHJ5Lm9pZCAgPSAoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqKShwYXRoICsgbGVuKTsKKworCXJldHVybiAwOwogfQogCi12b2lkIGluaXRfdHJlZV9kZXNjKHN0cnVjdCB0cmVlX2Rlc2MgKmRlc2MsIGNvbnN0IHZvaWQgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBzaXplKQorc3RhdGljIGludCBpbml0X3RyZWVfZGVzY19pbnRlcm5hbChzdHJ1Y3QgdHJlZV9kZXNjICpkZXNjLCBjb25zdCB2b2lkICpidWZmZXIsIHVuc2lnbmVkIGxvbmcgc2l6ZSwgc3RydWN0IHN0cmJ1ZiAqZXJyKQogewogCWRlc2MtPmJ1ZmZlciA9IGJ1ZmZlcjsKIAlkZXNjLT5zaXplID0gc2l6ZTsKIAlpZiAoc2l6ZSkKLQkJZGVjb2RlX3RyZWVfZW50cnkoZGVzYywgYnVmZmVyLCBzaXplKTsKKwkJcmV0dXJuIGRlY29kZV90cmVlX2VudHJ5KGRlc2MsIGJ1ZmZlciwgc2l6ZSwgZXJyKTsKKwlyZXR1cm4gMDsKK30KKwordm9pZCBpbml0X3RyZWVfZGVzYyhzdHJ1Y3QgdHJlZV9kZXNjICpkZXNjLCBjb25zdCB2b2lkICpidWZmZXIsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGVyciA9IFNUUkJVRl9JTklUOworCWlmIChpbml0X3RyZWVfZGVzY19pbnRlcm5hbChkZXNjLCBidWZmZXIsIHNpemUsICZlcnIpKQorCQlkaWUoIiVzIiwgZXJyLmJ1Zik7CisJc3RyYnVmX3JlbGVhc2UoJmVycik7Cit9CisKK2ludCBpbml0X3RyZWVfZGVzY19nZW50bHkoc3RydWN0IHRyZWVfZGVzYyAqZGVzYywgY29uc3Qgdm9pZCAqYnVmZmVyLCB1bnNpZ25lZCBsb25nIHNpemUpCit7CisJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKKwlpbnQgcmVzdWx0ID0gaW5pdF90cmVlX2Rlc2NfaW50ZXJuYWwoZGVzYywgYnVmZmVyLCBzaXplLCAmZXJyKTsKKwlpZiAocmVzdWx0KQorCQllcnJvcigiJXMiLCBlcnIuYnVmKTsKKwlzdHJidWZfcmVsZWFzZSgmZXJyKTsKKwlyZXR1cm4gcmVzdWx0OwogfQogCiB2b2lkICpmaWxsX3RyZWVfZGVzY3JpcHRvcihzdHJ1Y3QgdHJlZV9kZXNjICpkZXNjLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQpAQCAtNzMsNyArMTAyLDcgQEAKIAkqYSA9IHQtPmVudHJ5OwogfQogCi12b2lkIHVwZGF0ZV90cmVlX2VudHJ5KHN0cnVjdCB0cmVlX2Rlc2MgKmRlc2MpCitzdGF0aWMgaW50IHVwZGF0ZV90cmVlX2VudHJ5X2ludGVybmFsKHN0cnVjdCB0cmVlX2Rlc2MgKmRlc2MsIHN0cnVjdCBzdHJidWYgKmVycikKIHsKIAljb25zdCB2b2lkICpidWYgPSBkZXNjLT5idWZmZXI7CiAJY29uc3QgdW5zaWduZWQgY2hhciAqZW5kID0gZGVzYy0+ZW50cnkub2lkLT5oYXNoICsgMjA7CkBAIC04MSwxMyArMTEwLDM2IEBACiAJdW5zaWduZWQgbG9uZyBsZW4gPSBlbmQgLSAoY29uc3QgdW5zaWduZWQgY2hhciAqKWJ1ZjsKIAogCWlmIChzaXplIDwgbGVuKQotCQlkaWUoImNvcnJ1cHQgdHJlZSBmaWxlIik7CisJCWRpZShfKCJ0b28tc2hvcnQgdHJlZSBmaWxlIikpOwogCWJ1ZiA9IGVuZDsKIAlzaXplIC09IGxlbjsKIAlkZXNjLT5idWZmZXIgPSBidWY7CiAJZGVzYy0+c2l6ZSA9IHNpemU7CiAJaWYgKHNpemUpCi0JCWRlY29kZV90cmVlX2VudHJ5KGRlc2MsIGJ1Ziwgc2l6ZSk7CisJCXJldHVybiBkZWNvZGVfdHJlZV9lbnRyeShkZXNjLCBidWYsIHNpemUsIGVycik7CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgdXBkYXRlX3RyZWVfZW50cnkoc3RydWN0IHRyZWVfZGVzYyAqZGVzYykKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGVyciA9IFNUUkJVRl9JTklUOworCWlmICh1cGRhdGVfdHJlZV9lbnRyeV9pbnRlcm5hbChkZXNjLCAmZXJyKSkKKwkJZGllKCIlcyIsIGVyci5idWYpOworCXN0cmJ1Zl9yZWxlYXNlKCZlcnIpOworfQorCitpbnQgdXBkYXRlX3RyZWVfZW50cnlfZ2VudGx5KHN0cnVjdCB0cmVlX2Rlc2MgKmRlc2MpCit7CisJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKKwlpZiAodXBkYXRlX3RyZWVfZW50cnlfaW50ZXJuYWwoZGVzYywgJmVycikpIHsKKwkJZXJyb3IoIiVzIiwgZXJyLmJ1Zik7CisJCXN0cmJ1Zl9yZWxlYXNlKCZlcnIpOworCQkvKiBTdG9wIHByb2Nlc3NpbmcgdGhpcyB0cmVlIGFmdGVyIGVycm9yICovCisJCWRlc2MtPnNpemUgPSAwOworCQlyZXR1cm4gLTE7CisJfQorCXN0cmJ1Zl9yZWxlYXNlKCZlcnIpOworCXJldHVybiAwOwogfQogCiBpbnQgdHJlZV9lbnRyeShzdHJ1Y3QgdHJlZV9kZXNjICpkZXNjLCBzdHJ1Y3QgbmFtZV9lbnRyeSAqZW50cnkpCkBAIC0xMDAsNiArMTUyLDE3IEBACiAJcmV0dXJuIDE7CiB9CiAKK2ludCB0cmVlX2VudHJ5X2dlbnRseShzdHJ1Y3QgdHJlZV9kZXNjICpkZXNjLCBzdHJ1Y3QgbmFtZV9lbnRyeSAqZW50cnkpCit7CisJaWYgKCFkZXNjLT5zaXplKQorCQlyZXR1cm4gMDsKKworCSplbnRyeSA9IGRlc2MtPmVudHJ5OworCWlmICh1cGRhdGVfdHJlZV9lbnRyeV9nZW50bHkoZGVzYykpCisJCXJldHVybiAwOworCXJldHVybiAxOworfQorCiB2b2lkIHNldHVwX3RyYXZlcnNlX2luZm8oc3RydWN0IHRyYXZlcnNlX2luZm8gKmluZm8sIGNvbnN0IGNoYXIgKmJhc2UpCiB7CiAJaW50IHBhdGhsZW4gPSBzdHJsZW4oYmFzZSk7CmRpZmYgLS1naXQgYS90cmVlLXdhbGsuaCBiL3RyZWUtd2Fsay5oCmluZGV4IDk3YTdkNjkuLjY4YmI3OGIgMTAwNjQ0Ci0tLSBhL3RyZWUtd2Fsay5oCisrKyBiL3RyZWUtd2Fsay5oCkBAIC0yNSwxNCArMjUsMjIgQEAKIAlyZXR1cm4gKGNvbnN0IGNoYXIgKiluZS0+b2lkIC0gbmUtPnBhdGggLSAxOwogfQogCisvKgorICogVGhlIF9nZW50bHkgdmVyc2lvbnMgb2YgdGhlc2UgZnVuY3Rpb25zIHdhcm4gYW5kIHJldHVybiBmYWxzZSBvbiBhCisgKiBjb3JydXB0IHRyZWUgZW50cnkgcmF0aGVyIHRoYW4gZHlpbmcsCisgKi8KKwogdm9pZCB1cGRhdGVfdHJlZV9lbnRyeShzdHJ1Y3QgdHJlZV9kZXNjICopOworaW50IHVwZGF0ZV90cmVlX2VudHJ5X2dlbnRseShzdHJ1Y3QgdHJlZV9kZXNjICopOwogdm9pZCBpbml0X3RyZWVfZGVzYyhzdHJ1Y3QgdHJlZV9kZXNjICpkZXNjLCBjb25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CitpbnQgaW5pdF90cmVlX2Rlc2NfZ2VudGx5KHN0cnVjdCB0cmVlX2Rlc2MgKmRlc2MsIGNvbnN0IHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBzaXplKTsKIAogLyoKICAqIEhlbHBlciBmdW5jdGlvbiB0aGF0IGRvZXMgYm90aCB0cmVlX2VudHJ5X2V4dHJhY3QoKSBhbmQgdXBkYXRlX3RyZWVfZW50cnkoKQogICogYW5kIHJldHVybnMgdHJ1ZSBmb3Igc3VjY2VzcwogICovCiBpbnQgdHJlZV9lbnRyeShzdHJ1Y3QgdHJlZV9kZXNjICosIHN0cnVjdCBuYW1lX2VudHJ5ICopOworaW50IHRyZWVfZW50cnlfZ2VudGx5KHN0cnVjdCB0cmVlX2Rlc2MgKiwgc3RydWN0IG5hbWVfZW50cnkgKik7CiAKIHZvaWQgKmZpbGxfdHJlZV9kZXNjcmlwdG9yKHN0cnVjdCB0cmVlX2Rlc2MgKmRlc2MsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOwogCmRpZmYgLS1naXQgYS90cmVlLmMgYi90cmVlLmMKaW5kZXggMDA4OWU1Mi4uY2UzNDVjNSAxMDA2NDQKLS0tIGEvdHJlZS5jCisrKyBiL3RyZWUuYwpAQCAtMjYsNyArMjYsNyBAQAogCWNlLT5jZV9uYW1lbGVuID0gYmFzZWxlbiArIGxlbjsKIAltZW1jcHkoY2UtPm5hbWUsIGJhc2UsIGJhc2VsZW4pOwogCW1lbWNweShjZS0+bmFtZSArIGJhc2VsZW4sIHBhdGhuYW1lLCBsZW4rMSk7Ci0JaGFzaGNweShjZS0+c2hhMSwgc2hhMSk7CisJaGFzaGNweShjZS0+b2lkLmhhc2gsIHNoYTEpOwogCXJldHVybiBhZGRfY2FjaGVfZW50cnkoY2UsIG9wdCk7CiB9CiAKQEAgLTE4MCw4ICsxODAsNyBAQAogCSAqIFNvcnQgdGhlIGNhY2hlIGVudHJ5IC0tIHdlIG5lZWQgdG8gbnVrZSB0aGUgY2FjaGUgdHJlZSwgdGhvdWdoLgogCSAqLwogCWNhY2hlX3RyZWVfZnJlZSgmYWN0aXZlX2NhY2hlX3RyZWUpOwotCXFzb3J0KGFjdGl2ZV9jYWNoZSwgYWN0aXZlX25yLCBzaXplb2YoYWN0aXZlX2NhY2hlWzBdKSwKLQkgICAgICBjbXBfY2FjaGVfbmFtZV9jb21wYXJlKTsKKwlRU09SVChhY3RpdmVfY2FjaGUsIGFjdGl2ZV9uciwgY21wX2NhY2hlX25hbWVfY29tcGFyZSk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3VucGFjay10cmVlcy5jIGIvdW5wYWNrLXRyZWVzLmMKaW5kZXggNmJjOTUxMi4uZWE2YmRkMiAxMDA2NDQKLS0tIGEvdW5wYWNrLXRyZWVzLmMKKysrIGIvdW5wYWNrLXRyZWVzLmMKQEAgLTYyLDE3ICs2MiwxNyBAQAogCWlmICghc3RyY21wKGNtZCwgImNoZWNrb3V0IikpCiAJCW1zZyA9IGFkdmljZV9jb21taXRfYmVmb3JlX21lcmdlCiAJCSAgICAgID8gXygiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4lJXMiCi0JCQkgICJQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgY2FuIHN3aXRjaCBicmFuY2hlcy4iKQorCQkJICAiUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iKQogCQkgICAgICA6IF8oIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuJSVzIik7CiAJZWxzZSBpZiAoIXN0cmNtcChjbWQsICJtZXJnZSIpKQogCQltc2cgPSBhZHZpY2VfY29tbWl0X2JlZm9yZV9tZXJnZQogCQkgICAgICA/IF8oIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuJSVzIgotCQkJICAiUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IGNhbiBtZXJnZS4iKQorCQkJICAiUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIpCiAJCSAgICAgIDogXygiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4lJXMiKTsKIAllbHNlCiAJCW1zZyA9IGFkdmljZV9jb21taXRfYmVmb3JlX21lcmdlCiAJCSAgICAgID8gXygiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4lJXMiCi0JCQkgICJQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgY2FuICVzLiIpCisJCQkgICJQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgJXMuIikKIAkJICAgICAgOiBfKCJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiUlcyIpOwogCW1zZ3NbRVJST1JfV09VTERfT1ZFUldSSVRFXSA9IG1zZ3NbRVJST1JfTk9UX1VQVE9EQVRFX0ZJTEVdID0KIAkJeHN0cmZtdChtc2csIGNtZCwgY21kKTsKQEAgLTgzLDM0ICs4MywzNCBAQAogCWlmICghc3RyY21wKGNtZCwgImNoZWNrb3V0IikpCiAJCW1zZyA9IGFkdmljZV9jb21taXRfYmVmb3JlX21lcmdlCiAJCSAgICAgID8gXygiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4lJXMiCi0JCQkgICJQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBzd2l0Y2ggYnJhbmNoZXMuIikKKwkJCSAgIlBsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIpCiAJCSAgICAgIDogXygiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4lJXMiKTsKIAllbHNlIGlmICghc3RyY21wKGNtZCwgIm1lcmdlIikpCiAJCW1zZyA9IGFkdmljZV9jb21taXRfYmVmb3JlX21lcmdlCiAJCSAgICAgID8gXygiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4lJXMiCi0JCQkgICJQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBtZXJnZS4iKQorCQkJICAiUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iKQogCQkgICAgICA6IF8oIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuJSVzIik7CiAJZWxzZQogCQltc2cgPSBhZHZpY2VfY29tbWl0X2JlZm9yZV9tZXJnZQogCQkgICAgICA/IF8oIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuJSVzIgotCQkJICAiUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBjYW4gJXMuIikKKwkJCSAgIlBsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgJXMuIikKIAkJICAgICAgOiBfKCJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiUlcyIpOwogCW1zZ3NbRVJST1JfV09VTERfTE9TRV9VTlRSQUNLRURfUkVNT1ZFRF0gPSB4c3RyZm10KG1zZywgY21kLCBjbWQpOwogCiAJaWYgKCFzdHJjbXAoY21kLCAiY2hlY2tvdXQiKSkKIAkJbXNnID0gYWR2aWNlX2NvbW1pdF9iZWZvcmVfbWVyZ2UKIAkJICAgICAgPyBfKCJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4lJXMiCi0JCQkgICJQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IGNhbiBzd2l0Y2ggYnJhbmNoZXMuIikKKwkJCSAgIlBsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIpCiAJCSAgICAgIDogXygiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuJSVzIik7CiAJZWxzZSBpZiAoIXN0cmNtcChjbWQsICJtZXJnZSIpKQogCQltc2cgPSBhZHZpY2VfY29tbWl0X2JlZm9yZV9tZXJnZQogCQkgICAgICA/IF8oIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiUlcyIKLQkJCSAgIlBsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuIG1lcmdlLiIpCisJCQkgICJQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIpCiAJCSAgICAgIDogXygiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuJSVzIik7CiAJZWxzZQogCQltc2cgPSBhZHZpY2VfY29tbWl0X2JlZm9yZV9tZXJnZQogCQkgICAgICA/IF8oIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiUlcyIKLQkJCSAgIlBsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgY2FuICVzLiIpCisJCQkgICJQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIpCiAJCSAgICAgIDogXygiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuJSVzIik7CiAJbXNnc1tFUlJPUl9XT1VMRF9MT1NFX1VOVFJBQ0tFRF9PVkVSV1JJVFRFTl0gPSB4c3RyZm10KG1zZywgY21kLCBjbWQpOwogCkBAIC0xMjMsOSArMTIzLDkgQEAKIAltc2dzW0VSUk9SX1NQQVJTRV9OT1RfVVBUT0RBVEVfRklMRV0gPQogCQlfKCJDYW5ub3QgdXBkYXRlIHNwYXJzZSBjaGVja291dDogdGhlIGZvbGxvd2luZyBlbnRyaWVzIGFyZSBub3QgdXAtdG8tZGF0ZTpcbiVzIik7CiAJbXNnc1tFUlJPUl9XT1VMRF9MT1NFX09SUEhBTkVEX09WRVJXUklUVEVOXSA9Ci0JCV8oIlRoZSBmb2xsb3dpbmcgV29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHNwYXJzZSBjaGVja291dCB1cGRhdGU6XG4lcyIpOworCQlfKCJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgdXBkYXRlOlxuJXMiKTsKIAltc2dzW0VSUk9SX1dPVUxEX0xPU0VfT1JQSEFORURfUkVNT1ZFRF0gPQotCQlfKCJUaGUgZm9sbG93aW5nIFdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCB1cGRhdGU6XG4lcyIpOworCQlfKCJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCB1cGRhdGU6XG4lcyIpOwogCiAJb3B0cy0+c2hvd19hbGxfZXJyb3JzID0gMTsKIAkvKiByZWplY3RlZCBwYXRocyBtYXkgbm90IGhhdmUgYSBzdGF0aWMgYnVmZmVyICovCkBAIC0yMTgsOCArMjE4LDggQEAKIAlzY2hlZHVsZV9kaXJfZm9yX3JlbW92YWwoY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpKTsKIH0KIAotc3RhdGljIHN0cnVjdCBjaGVja291dCBzdGF0ZTsKLXN0YXRpYyBpbnQgY2hlY2tfdXBkYXRlcyhzdHJ1Y3QgdW5wYWNrX3RyZWVzX29wdGlvbnMgKm8pCitzdGF0aWMgaW50IGNoZWNrX3VwZGF0ZXMoc3RydWN0IHVucGFja190cmVlc19vcHRpb25zICpvLAorCQkJIGNvbnN0IHN0cnVjdCBjaGVja291dCAqc3RhdGUpCiB7CiAJdW5zaWduZWQgY250ID0gMCwgdG90YWwgPSAwOwogCXN0cnVjdCBwcm9ncmVzcyAqcHJvZ3Jlc3MgPSBOVUxMOwpAQCAtMjY0LDcgKzI2NCw3IEBACiAJCQlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzLCArK2NudCk7CiAJCQljZS0+Y2VfZmxhZ3MgJj0gfkNFX1VQREFURTsKIAkJCWlmIChvLT51cGRhdGUgJiYgIW8tPmRyeV9ydW4pIHsKLQkJCQllcnJzIHw9IGNoZWNrb3V0X2VudHJ5KGNlLCAmc3RhdGUsIE5VTEwpOworCQkJCWVycnMgfD0gY2hlY2tvdXRfZW50cnkoY2UsIHN0YXRlLCBOVUxMKTsKIAkJCX0KIAkJfQogCX0KQEAgLTYyNSw3ICs2MjUsNyBAQAogCWNlLT5jZV9tb2RlID0gY3JlYXRlX2NlX21vZGUobi0+bW9kZSk7CiAJY2UtPmNlX2ZsYWdzID0gY3JlYXRlX2NlX2ZsYWdzKHN0YWdlKTsKIAljZS0+Y2VfbmFtZWxlbiA9IGxlbjsKLQloYXNoY3B5KGNlLT5zaGExLCBuLT5vaWQtPmhhc2gpOworCW9pZGNweSgmY2UtPm9pZCwgbi0+b2lkKTsKIAltYWtlX3RyYXZlcnNlX3BhdGgoY2UtPm5hbWUsIGluZm8sIG4pOwogCiAJcmV0dXJuIGNlOwpAQCAtMTA5NCwxMSArMTA5NCwxMCBAQAogCWludCBpLCByZXQ7CiAJc3RhdGljIHN0cnVjdCBjYWNoZV9lbnRyeSAqZGZjOwogCXN0cnVjdCBleGNsdWRlX2xpc3QgZWw7CisJc3RydWN0IGNoZWNrb3V0IHN0YXRlID0gQ0hFQ0tPVVRfSU5JVDsKIAogCWlmIChsZW4gPiBNQVhfVU5QQUNLX1RSRUVTKQogCQlkaWUoInVucGFja190cmVlcyB0YWtlcyBhdCBtb3N0ICVkIHRyZWVzIiwgTUFYX1VOUEFDS19UUkVFUyk7Ci0JbWVtc2V0KCZzdGF0ZSwgMCwgc2l6ZW9mKHN0YXRlKSk7Ci0Jc3RhdGUuYmFzZV9kaXIgPSAiIjsKIAlzdGF0ZS5mb3JjZSA9IDE7CiAJc3RhdGUucXVpZXQgPSAxOwogCXN0YXRlLnJlZnJlc2hfY2FjaGUgPSAxOwpAQCAtMTIzOSw3ICsxMjM4LDcgQEAKIAl9CiAKIAlvLT5zcmNfaW5kZXggPSBOVUxMOwotCXJldCA9IGNoZWNrX3VwZGF0ZXMobykgPyAoLTIpIDogMDsKKwlyZXQgPSBjaGVja191cGRhdGVzKG8sICZzdGF0ZSkgPyAoLTIpIDogMDsKIAlpZiAoby0+ZHN0X2luZGV4KSB7CiAJCWlmICghcmV0KSB7CiAJCQlpZiAoIW8tPnJlc3VsdC5jYWNoZV90cmVlKQpAQCAtMTI4Nyw3ICsxMjg2LDcgQEAKIAlpZiAoKGEtPmNlX2ZsYWdzIHwgYi0+Y2VfZmxhZ3MpICYgQ0VfQ09ORkxJQ1RFRCkKIAkJcmV0dXJuIDA7CiAJcmV0dXJuIGEtPmNlX21vZGUgPT0gYi0+Y2VfbW9kZSAmJgotCSAgICAgICAhaGFzaGNtcChhLT5zaGExLCBiLT5zaGExKTsKKwkgICAgICAgIW9pZGNtcCgmYS0+b2lkLCAmYi0+b2lkKTsKIH0KIAogCkBAIC0xMzkzLDcgKzEzOTIsNyBAQAogCQkvKiBJZiB3ZSBhcmUgbm90IGdvaW5nIHRvIHVwZGF0ZSB0aGUgc3VibW9kdWxlLCB0aGVuCiAJCSAqIHdlIGRvbid0IGNhcmUuCiAJCSAqLwotCQlpZiAoIWhhc2hjbXAoc2hhMSwgY2UtPnNoYTEpKQorCQlpZiAoIWhhc2hjbXAoc2hhMSwgY2UtPm9pZC5oYXNoKSkKIAkJCXJldHVybiAwOwogCQlyZXR1cm4gdmVyaWZ5X2NsZWFuX3N1Ym1vZHVsZShjZSwgZXJyb3JfdHlwZSwgbyk7CiAJfQpAQCAtMTY2NSw3ICsxNjY0LDcgQEAKIAkJZnByaW50ZihvLCAiJXMlMDZvICVzICVkXHQlc1xuIiwKIAkJCWxhYmVsLAogCQkJY2UtPmNlX21vZGUsCi0JCQlzaGExX3RvX2hleChjZS0+c2hhMSksCisJCQlvaWRfdG9faGV4KCZjZS0+b2lkKSwKIAkJCWNlX3N0YWdlKGNlKSwKIAkJCWNlLT5uYW1lKTsKIH0KZGlmZiAtLWdpdCBhL3VwbG9hZC1wYWNrLmMgYi91cGxvYWQtcGFjay5jCmluZGV4IGI5N2E3NjUuLmUwZGI4YjQgMTAwNjQ0Ci0tLSBhL3VwbG9hZC1wYWNrLmMKKysrIGIvdXBsb2FkLXBhY2suYwpAQCAtMTQsOCArMTQsMTQgQEAKICNpbmNsdWRlICJzaWdjaGFpbi5oIgogI2luY2x1ZGUgInZlcnNpb24uaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgorI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKKyNpbmNsdWRlICJhcmd2LWFycmF5LmgiCisjaW5jbHVkZSAicHJpby1xdWV1ZS5oIgogCi1zdGF0aWMgY29uc3QgY2hhciB1cGxvYWRfcGFja191c2FnZVtdID0gImdpdCB1cGxvYWQtcGFjayBbLS1zdHJpY3RdIFstLXRpbWVvdXQ9PG4+XSA8ZGlyPiI7CitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHVwbG9hZF9wYWNrX3VzYWdlW10gPSB7CisJTl8oImdpdCB1cGxvYWQtcGFjayBbPG9wdGlvbnM+XSA8ZGlyPiIpLAorCU5VTEwKK307CiAKIC8qIFJlbWVtYmVyIHRvIHVwZGF0ZSBvYmplY3QgZmxhZyBhbGxvY2F0aW9uIGluIG9iamVjdC5oICovCiAjZGVmaW5lIFRIRVlfSEFWRQkoMXUgPDwgMTEpCkBAIC0zMSw2ICszNyw3IEBACiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIG9sZGVzdF9oYXZlOwogCitzdGF0aWMgaW50IGRlZXBlbl9yZWxhdGl2ZTsKIHN0YXRpYyBpbnQgbXVsdGlfYWNrOwogc3RhdGljIGludCBub19kb25lOwogc3RhdGljIGludCB1c2VfdGhpbl9wYWNrLCB1c2Vfb2ZzX2RlbHRhLCB1c2VfaW5jbHVkZV90YWc7CkBAIC01MiwyNiArNTksMjggQEAKIHN0YXRpYyBpbnQgdXNlX3NpZGViYW5kOwogc3RhdGljIGludCBhZHZlcnRpc2VfcmVmczsKIHN0YXRpYyBpbnQgc3RhdGVsZXNzX3JwYzsKK3N0YXRpYyBjb25zdCBjaGFyICpwYWNrX29iamVjdHNfaG9vazsKIAogc3RhdGljIHZvaWQgcmVzZXRfdGltZW91dCh2b2lkKQogewogCWFsYXJtKHRpbWVvdXQpOwogfQogCi1zdGF0aWMgc3NpemVfdCBzZW5kX2NsaWVudF9kYXRhKGludCBmZCwgY29uc3QgY2hhciAqZGF0YSwgc3NpemVfdCBzeikKK3N0YXRpYyB2b2lkIHNlbmRfY2xpZW50X2RhdGEoaW50IGZkLCBjb25zdCBjaGFyICpkYXRhLCBzc2l6ZV90IHN6KQogewotCWlmICh1c2Vfc2lkZWJhbmQpCi0JCXJldHVybiBzZW5kX3NpZGViYW5kKDEsIGZkLCBkYXRhLCBzeiwgdXNlX3NpZGViYW5kKTsKKwlpZiAodXNlX3NpZGViYW5kKSB7CisJCXNlbmRfc2lkZWJhbmQoMSwgZmQsIGRhdGEsIHN6LCB1c2Vfc2lkZWJhbmQpOworCQlyZXR1cm47CisJfQogCWlmIChmZCA9PSAzKQogCQkvKiBlbWVyZ2VuY3kgcXVpdCAqLwogCQlmZCA9IDI7CiAJaWYgKGZkID09IDIpIHsKIAkJLyogWFhYOiBhcmUgd2UgaGFwcHkgdG8gbG9zZSBzdHVmZiBoZXJlPyAqLwogCQl4d3JpdGUoZmQsIGRhdGEsIHN6KTsKLQkJcmV0dXJuIHN6OworCQlyZXR1cm47CiAJfQogCXdyaXRlX29yX2RpZShmZCwgZGF0YSwgc3opOwotCXJldHVybiBzejsKIH0KIAogc3RhdGljIGludCB3cml0ZV9vbmVfc2hhbGxvdyhjb25zdCBzdHJ1Y3QgY29tbWl0X2dyYWZ0ICpncmFmdCwgdm9pZCAqY2JfZGF0YSkKQEAgLTkzLDYgKzEwMiwxNCBAQAogCWludCBpOwogCUZJTEUgKnBpcGVfZmQ7CiAKKwlpZiAoIXBhY2tfb2JqZWN0c19ob29rKQorCQlwYWNrX29iamVjdHMuZ2l0X2NtZCA9IDE7CisJZWxzZSB7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmcGFja19vYmplY3RzLmFyZ3MsIHBhY2tfb2JqZWN0c19ob29rKTsKKwkJYXJndl9hcnJheV9wdXNoKCZwYWNrX29iamVjdHMuYXJncywgImdpdCIpOworCQlwYWNrX29iamVjdHMudXNlX3NoZWxsID0gMTsKKwl9CisKIAlpZiAoc2hhbGxvd19ucikgewogCQlhcmd2X2FycmF5X3B1c2goJnBhY2tfb2JqZWN0cy5hcmdzLCAiLS1zaGFsbG93LWZpbGUiKTsKIAkJYXJndl9hcnJheV9wdXNoKCZwYWNrX29iamVjdHMuYXJncywgIiIpOwpAQCAtMTE1LDcgKzEzMiw2IEBACiAJcGFja19vYmplY3RzLmluID0gLTE7CiAJcGFja19vYmplY3RzLm91dCA9IC0xOwogCXBhY2tfb2JqZWN0cy5lcnIgPSAtMTsKLQlwYWNrX29iamVjdHMuZ2l0X2NtZCA9IDE7CiAKIAlpZiAoc3RhcnRfY29tbWFuZCgmcGFja19vYmplY3RzKSkKIAkJZGllKCJnaXQgdXBsb2FkLXBhY2s6IHVuYWJsZSB0byBmb3JrIGdpdC1wYWNrLW9iamVjdHMiKTsKQEAgLTIyOSw5ICsyNDUsNyBAQAogCQkJfQogCQkJZWxzZQogCQkJCWJ1ZmZlcmVkID0gLTE7Ci0JCQlzeiA9IHNlbmRfY2xpZW50X2RhdGEoMSwgZGF0YSwgc3opOwotCQkJaWYgKHN6IDwgMCkKLQkJCQlnb3RvIGZhaWw7CisJCQlzZW5kX2NsaWVudF9kYXRhKDEsIGRhdGEsIHN6KTsKIAkJfQogCiAJCS8qCkBAIC0yNTgsOSArMjcyLDcgQEAKIAkvKiBmbHVzaCB0aGUgZGF0YSAqLwogCWlmICgwIDw9IGJ1ZmZlcmVkKSB7CiAJCWRhdGFbMF0gPSBidWZmZXJlZDsKLQkJc3ogPSBzZW5kX2NsaWVudF9kYXRhKDEsIGRhdGEsIDEpOwotCQlpZiAoc3ogPCAwKQotCQkJZ290byBmYWlsOworCQlzZW5kX2NsaWVudF9kYXRhKDEsIGRhdGEsIDEpOwogCQlmcHJpbnRmKHN0ZGVyciwgImZsdXNoZWQuXG4iKTsKIAl9CiAJaWYgKHVzZV9zaWRlYmFuZCkKQEAgLTI3Miw3ICsyODQsNyBAQAogCWRpZSgiZ2l0IHVwbG9hZC1wYWNrOiAlcyIsIGFib3J0X21zZyk7CiB9CiAKLXN0YXRpYyBpbnQgZ290X3NoYTEoY2hhciAqaGV4LCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIGludCBnb3Rfc2hhMShjb25zdCBjaGFyICpoZXgsIHVuc2lnbmVkIGNoYXIgKnNoYTEpCiB7CiAJc3RydWN0IG9iamVjdCAqbzsKIAlpbnQgd2Vfa25ld190aGV5X2hhdmUgPSAwOwpAQCAtMzA4LDEyICszMjAsMTIgQEAKIAogc3RhdGljIGludCByZWFjaGFibGUoc3RydWN0IGNvbW1pdCAqd2FudCkKIHsKLQlzdHJ1Y3QgY29tbWl0X2xpc3QgKndvcmsgPSBOVUxMOworCXN0cnVjdCBwcmlvX3F1ZXVlIHdvcmsgPSB7IGNvbXBhcmVfY29tbWl0c19ieV9jb21taXRfZGF0ZSB9OwogCi0JY29tbWl0X2xpc3RfaW5zZXJ0X2J5X2RhdGUod2FudCwgJndvcmspOwotCXdoaWxlICh3b3JrKSB7CisJcHJpb19xdWV1ZV9wdXQoJndvcmssIHdhbnQpOworCXdoaWxlICh3b3JrLm5yKSB7CiAJCXN0cnVjdCBjb21taXRfbGlzdCAqbGlzdDsKLQkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gcG9wX2NvbW1pdCgmd29yayk7CisJCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IHByaW9fcXVldWVfZ2V0KCZ3b3JrKTsKIAogCQlpZiAoY29tbWl0LT5vYmplY3QuZmxhZ3MgJiBUSEVZX0hBVkUpIHsKIAkJCXdhbnQtPm9iamVjdC5mbGFncyB8PSBDT01NT05fS05PV047CkBAIC0zMjksMTIgKzM0MSwxMiBAQAogCQlmb3IgKGxpc3QgPSBjb21taXQtPnBhcmVudHM7IGxpc3Q7IGxpc3QgPSBsaXN0LT5uZXh0KSB7CiAJCQlzdHJ1Y3QgY29tbWl0ICpwYXJlbnQgPSBsaXN0LT5pdGVtOwogCQkJaWYgKCEocGFyZW50LT5vYmplY3QuZmxhZ3MgJiBSRUFDSEFCTEUpKQotCQkJCWNvbW1pdF9saXN0X2luc2VydF9ieV9kYXRlKHBhcmVudCwgJndvcmspOworCQkJCXByaW9fcXVldWVfcHV0KCZ3b3JrLCBwYXJlbnQpOwogCQl9CiAJfQogCXdhbnQtPm9iamVjdC5mbGFncyB8PSBSRUFDSEFCTEU7CiAJY2xlYXJfY29tbWl0X21hcmtzKHdhbnQsIFJFQUNIQUJMRSk7Ci0JZnJlZV9jb21taXRfbGlzdCh3b3JrKTsKKwljbGVhcl9wcmlvX3F1ZXVlKCZ3b3JrKTsKIAlyZXR1cm4gKHdhbnQtPm9iamVjdC5mbGFncyAmIENPTU1PTl9LTk9XTik7CiB9CiAKQEAgLTM3OCwxOSArMzkwLDIxIEBACiAKIAlmb3IgKDs7KSB7CiAJCWNoYXIgKmxpbmUgPSBwYWNrZXRfcmVhZF9saW5lKDAsIE5VTEwpOworCQljb25zdCBjaGFyICphcmc7CisKIAkJcmVzZXRfdGltZW91dCgpOwogCiAJCWlmICghbGluZSkgewogCQkJaWYgKG11bHRpX2FjayA9PSAyICYmIGdvdF9jb21tb24KIAkJCSAgICAmJiAhZ290X290aGVyICYmIG9rX3RvX2dpdmVfdXAoKSkgewogCQkJCXNlbnRfcmVhZHkgPSAxOwotCQkJCXBhY2tldF93cml0ZSgxLCAiQUNLICVzIHJlYWR5XG4iLCBsYXN0X2hleCk7CisJCQkJcGFja2V0X3dyaXRlX2ZtdCgxLCAiQUNLICVzIHJlYWR5XG4iLCBsYXN0X2hleCk7CiAJCQl9CiAJCQlpZiAoaGF2ZV9vYmoubnIgPT0gMCB8fCBtdWx0aV9hY2spCi0JCQkJcGFja2V0X3dyaXRlKDEsICJOQUtcbiIpOworCQkJCXBhY2tldF93cml0ZV9mbXQoMSwgIk5BS1xuIik7CiAKIAkJCWlmIChub19kb25lICYmIHNlbnRfcmVhZHkpIHsKLQkJCQlwYWNrZXRfd3JpdGUoMSwgIkFDSyAlc1xuIiwgbGFzdF9oZXgpOworCQkJCXBhY2tldF93cml0ZV9mbXQoMSwgIkFDSyAlc1xuIiwgbGFzdF9oZXgpOwogCQkJCXJldHVybiAwOwogCQkJfQogCQkJaWYgKHN0YXRlbGVzc19ycGMpCkBAIC0zOTksMjggKzQxMywyOCBAQAogCQkJZ290X290aGVyID0gMDsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWlmIChzdGFydHNfd2l0aChsaW5lLCAiaGF2ZSAiKSkgewotCQkJc3dpdGNoIChnb3Rfc2hhMShsaW5lKzUsIHNoYTEpKSB7CisJCWlmIChza2lwX3ByZWZpeChsaW5lLCAiaGF2ZSAiLCAmYXJnKSkgeworCQkJc3dpdGNoIChnb3Rfc2hhMShhcmcsIHNoYTEpKSB7CiAJCQljYXNlIC0xOiAvKiB0aGV5IGhhdmUgd2hhdCB3ZSBkbyBub3QgKi8KIAkJCQlnb3Rfb3RoZXIgPSAxOwogCQkJCWlmIChtdWx0aV9hY2sgJiYgb2tfdG9fZ2l2ZV91cCgpKSB7CiAJCQkJCWNvbnN0IGNoYXIgKmhleCA9IHNoYTFfdG9faGV4KHNoYTEpOwogCQkJCQlpZiAobXVsdGlfYWNrID09IDIpIHsKIAkJCQkJCXNlbnRfcmVhZHkgPSAxOwotCQkJCQkJcGFja2V0X3dyaXRlKDEsICJBQ0sgJXMgcmVhZHlcbiIsIGhleCk7CisJCQkJCQlwYWNrZXRfd3JpdGVfZm10KDEsICJBQ0sgJXMgcmVhZHlcbiIsIGhleCk7CiAJCQkJCX0gZWxzZQotCQkJCQkJcGFja2V0X3dyaXRlKDEsICJBQ0sgJXMgY29udGludWVcbiIsIGhleCk7CisJCQkJCQlwYWNrZXRfd3JpdGVfZm10KDEsICJBQ0sgJXMgY29udGludWVcbiIsIGhleCk7CiAJCQkJfQogCQkJCWJyZWFrOwogCQkJZGVmYXVsdDoKIAkJCQlnb3RfY29tbW9uID0gMTsKIAkJCQltZW1jcHkobGFzdF9oZXgsIHNoYTFfdG9faGV4KHNoYTEpLCA0MSk7CiAJCQkJaWYgKG11bHRpX2FjayA9PSAyKQotCQkJCQlwYWNrZXRfd3JpdGUoMSwgIkFDSyAlcyBjb21tb25cbiIsIGxhc3RfaGV4KTsKKwkJCQkJcGFja2V0X3dyaXRlX2ZtdCgxLCAiQUNLICVzIGNvbW1vblxuIiwgbGFzdF9oZXgpOwogCQkJCWVsc2UgaWYgKG11bHRpX2FjaykKLQkJCQkJcGFja2V0X3dyaXRlKDEsICJBQ0sgJXMgY29udGludWVcbiIsIGxhc3RfaGV4KTsKKwkJCQkJcGFja2V0X3dyaXRlX2ZtdCgxLCAiQUNLICVzIGNvbnRpbnVlXG4iLCBsYXN0X2hleCk7CiAJCQkJZWxzZSBpZiAoaGF2ZV9vYmoubnIgPT0gMSkKLQkJCQkJcGFja2V0X3dyaXRlKDEsICJBQ0sgJXNcbiIsIGxhc3RfaGV4KTsKKwkJCQkJcGFja2V0X3dyaXRlX2ZtdCgxLCAiQUNLICVzXG4iLCBsYXN0X2hleCk7CiAJCQkJYnJlYWs7CiAJCQl9CiAJCQljb250aW51ZTsKQEAgLTQyOCwxMCArNDQyLDEwIEBACiAJCWlmICghc3RyY21wKGxpbmUsICJkb25lIikpIHsKIAkJCWlmIChoYXZlX29iai5uciA+IDApIHsKIAkJCQlpZiAobXVsdGlfYWNrKQotCQkJCQlwYWNrZXRfd3JpdGUoMSwgIkFDSyAlc1xuIiwgbGFzdF9oZXgpOworCQkJCQlwYWNrZXRfd3JpdGVfZm10KDEsICJBQ0sgJXNcbiIsIGxhc3RfaGV4KTsKIAkJCQlyZXR1cm4gMDsKIAkJCX0KLQkJCXBhY2tldF93cml0ZSgxLCAiTkFLXG4iKTsKKwkJCXBhY2tldF93cml0ZV9mbXQoMSwgIk5BS1xuIik7CiAJCQlyZXR1cm4gLTE7CiAJCX0KIAkJZGllKCJnaXQgdXBsb2FkLXBhY2s6IGV4cGVjdGVkIFNIQTEgbGlzdCwgZ290ICclcyciLCBsaW5lKTsKQEAgLTQ0NSw3MyArNDU5LDEzNiBAQAogCXJldHVybiBvLT5mbGFncyAmICgoYWxsb3dfaGlkZGVuX3JlZiA/IEhJRERFTl9SRUYgOiAwKSB8IE9VUl9SRUYpOwogfQogCi1zdGF0aWMgdm9pZCBjaGVja19ub25fdGlwKHZvaWQpCisvKgorICogb24gc3VjY2Vzc2Z1bCBjYXNlLCBpdCdzIHVwIHRvIHRoZSBjYWxsZXIgdG8gY2xvc2UgY21kLT5vdXQKKyAqLworc3RhdGljIGludCBkb19yZWFjaGFibGVfcmV2bGlzdChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY21kLAorCQkJCXN0cnVjdCBvYmplY3RfYXJyYXkgKnNyYywKKwkJCQlzdHJ1Y3Qgb2JqZWN0X2FycmF5ICpyZWFjaGFibGUpCiB7CiAJc3RhdGljIGNvbnN0IGNoYXIgKmFyZ3ZbXSA9IHsKIAkJInJldi1saXN0IiwgIi0tc3RkaW4iLCBOVUxMLAogCX07Ci0Jc3RhdGljIHN0cnVjdCBjaGlsZF9wcm9jZXNzIGNtZCA9IENISUxEX1BST0NFU1NfSU5JVDsKIAlzdHJ1Y3Qgb2JqZWN0ICpvOwogCWNoYXIgbmFtZWJ1Zls0Ml07IC8qIF4gKyBTSEEtMSArIExGICovCiAJaW50IGk7CiAKLQkvKgotCSAqIEluIHRoZSBub3JtYWwgaW4tcHJvY2VzcyBjYXNlIHdpdGhvdXQKLQkgKiB1cGxvYWRwYWNrLmFsbG93UmVhY2hhYmxlU0hBMUluV2FudCwKLQkgKiBub24tdGlwIHJlcXVlc3RzIGNhbiBuZXZlciBoYXBwZW4uCi0JICovCi0JaWYgKCFzdGF0ZWxlc3NfcnBjICYmICEoYWxsb3dfdW5hZHZlcnRpc2VkX29iamVjdF9yZXF1ZXN0ICYgQUxMT1dfUkVBQ0hBQkxFX1NIQTEpKQotCQlnb3RvIGVycm9yOwotCi0JY21kLmFyZ3YgPSBhcmd2OwotCWNtZC5naXRfY21kID0gMTsKLQljbWQubm9fc3RkZXJyID0gMTsKLQljbWQuaW4gPSAtMTsKLQljbWQub3V0ID0gLTE7Ci0KLQlpZiAoc3RhcnRfY29tbWFuZCgmY21kKSkKLQkJZ290byBlcnJvcjsKKwljbWQtPmFyZ3YgPSBhcmd2OworCWNtZC0+Z2l0X2NtZCA9IDE7CisJY21kLT5ub19zdGRlcnIgPSAxOworCWNtZC0+aW4gPSAtMTsKKwljbWQtPm91dCA9IC0xOwogCiAJLyoKLQkgKiBJZiByZXYtbGlzdCAtLXN0ZGluIGVuY291bnRlcnMgYW4gdW5rbm93biBjb21taXQsIGl0Ci0JICogdGVybWluYXRlcywgd2hpY2ggd2lsbCBjYXVzZSBTSUdQSVBFIGluIHRoZSB3cml0ZSBsb29wCisJICogSWYgdGhlIG5leHQgcmV2LWxpc3QgLS1zdGRpbiBlbmNvdW50ZXJzIGFuIHVua25vd24gY29tbWl0LAorCSAqIGl0IHRlcm1pbmF0ZXMsIHdoaWNoIHdpbGwgY2F1c2UgU0lHUElQRSBpbiB0aGUgd3JpdGUgbG9vcAogCSAqIGJlbG93LgogCSAqLwogCXNpZ2NoYWluX3B1c2goU0lHUElQRSwgU0lHX0lHTik7CiAKKwlpZiAoc3RhcnRfY29tbWFuZChjbWQpKQorCQlnb3RvIGVycm9yOworCiAJbmFtZWJ1ZlswXSA9ICdeJzsKIAluYW1lYnVmWzQxXSA9ICdcbic7CiAJZm9yIChpID0gZ2V0X21heF9vYmplY3RfaW5kZXgoKTsgMCA8IGk7ICkgewogCQlvID0gZ2V0X2luZGV4ZWRfb2JqZWN0KC0taSk7CiAJCWlmICghbykKIAkJCWNvbnRpbnVlOworCQlpZiAocmVhY2hhYmxlICYmIG8tPnR5cGUgPT0gT0JKX0NPTU1JVCkKKwkJCW8tPmZsYWdzICY9IH5UTVBfTUFSSzsKIAkJaWYgKCFpc19vdXJfcmVmKG8pKQogCQkJY29udGludWU7CiAJCW1lbWNweShuYW1lYnVmICsgMSwgb2lkX3RvX2hleCgmby0+b2lkKSwgR0lUX1NIQTFfSEVYU1opOwotCQlpZiAod3JpdGVfaW5fZnVsbChjbWQuaW4sIG5hbWVidWYsIDQyKSA8IDApCisJCWlmICh3cml0ZV9pbl9mdWxsKGNtZC0+aW4sIG5hbWVidWYsIDQyKSA8IDApCiAJCQlnb3RvIGVycm9yOwogCX0KIAluYW1lYnVmWzQwXSA9ICdcbic7Ci0JZm9yIChpID0gMDsgaSA8IHdhbnRfb2JqLm5yOyBpKyspIHsKLQkJbyA9IHdhbnRfb2JqLm9iamVjdHNbaV0uaXRlbTsKLQkJaWYgKGlzX291cl9yZWYobykpCisJZm9yIChpID0gMDsgaSA8IHNyYy0+bnI7IGkrKykgeworCQlvID0gc3JjLT5vYmplY3RzW2ldLml0ZW07CisJCWlmIChpc19vdXJfcmVmKG8pKSB7CisJCQlpZiAocmVhY2hhYmxlKQorCQkJCWFkZF9vYmplY3RfYXJyYXkobywgTlVMTCwgcmVhY2hhYmxlKTsKIAkJCWNvbnRpbnVlOworCQl9CisJCWlmIChyZWFjaGFibGUgJiYgby0+dHlwZSA9PSBPQkpfQ09NTUlUKQorCQkJby0+ZmxhZ3MgfD0gVE1QX01BUks7CiAJCW1lbWNweShuYW1lYnVmLCBvaWRfdG9faGV4KCZvLT5vaWQpLCBHSVRfU0hBMV9IRVhTWik7Ci0JCWlmICh3cml0ZV9pbl9mdWxsKGNtZC5pbiwgbmFtZWJ1ZiwgNDEpIDwgMCkKKwkJaWYgKHdyaXRlX2luX2Z1bGwoY21kLT5pbiwgbmFtZWJ1ZiwgNDEpIDwgMCkKIAkJCWdvdG8gZXJyb3I7CiAJfQotCWNsb3NlKGNtZC5pbik7Ci0KKwljbG9zZShjbWQtPmluKTsKKwljbWQtPmluID0gLTE7CiAJc2lnY2hhaW5fcG9wKFNJR1BJUEUpOwogCisJcmV0dXJuIDA7CisKK2Vycm9yOgorCXNpZ2NoYWluX3BvcChTSUdQSVBFKTsKKworCWlmIChjbWQtPmluID49IDApCisJCWNsb3NlKGNtZC0+aW4pOworCWlmIChjbWQtPm91dCA+PSAwKQorCQljbG9zZShjbWQtPm91dCk7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgaW50IGdldF9yZWFjaGFibGVfbGlzdChzdHJ1Y3Qgb2JqZWN0X2FycmF5ICpzcmMsCisJCQkgICAgICBzdHJ1Y3Qgb2JqZWN0X2FycmF5ICpyZWFjaGFibGUpCit7CisJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY21kID0gQ0hJTERfUFJPQ0VTU19JTklUOworCWludCBpOworCXN0cnVjdCBvYmplY3QgKm87CisJY2hhciBuYW1lYnVmWzQyXTsgLyogXiArIFNIQS0xICsgTEYgKi8KKworCWlmIChkb19yZWFjaGFibGVfcmV2bGlzdCgmY21kLCBzcmMsIHJlYWNoYWJsZSkgPCAwKQorCQlyZXR1cm4gLTE7CisKKwl3aGlsZSAoKGkgPSByZWFkX2luX2Z1bGwoY21kLm91dCwgbmFtZWJ1ZiwgNDEpKSA9PSA0MSkgeworCQlzdHJ1Y3Qgb2JqZWN0X2lkIHNoYTE7CisKKwkJaWYgKG5hbWVidWZbNDBdICE9ICdcbicgfHwgZ2V0X29pZF9oZXgobmFtZWJ1ZiwgJnNoYTEpKQorCQkJYnJlYWs7CisKKwkJbyA9IGxvb2t1cF9vYmplY3Qoc2hhMS5oYXNoKTsKKwkJaWYgKG8gJiYgby0+dHlwZSA9PSBPQkpfQ09NTUlUKSB7CisJCQlvLT5mbGFncyAmPSB+VE1QX01BUks7CisJCX0KKwl9CisJZm9yIChpID0gZ2V0X21heF9vYmplY3RfaW5kZXgoKTsgMCA8IGk7IGktLSkgeworCQlvID0gZ2V0X2luZGV4ZWRfb2JqZWN0KGkgLSAxKTsKKwkJaWYgKG8gJiYgby0+dHlwZSA9PSBPQkpfQ09NTUlUICYmCisJCSAgICAoby0+ZmxhZ3MgJiBUTVBfTUFSSykpIHsKKwkJCWFkZF9vYmplY3RfYXJyYXkobywgTlVMTCwgcmVhY2hhYmxlKTsKKwkJCQlvLT5mbGFncyAmPSB+VE1QX01BUks7CisJCX0KKwl9CisJY2xvc2UoY21kLm91dCk7CisKKwlpZiAoZmluaXNoX2NvbW1hbmQoJmNtZCkpCisJCXJldHVybiAtMTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhc191bnJlYWNoYWJsZShzdHJ1Y3Qgb2JqZWN0X2FycmF5ICpzcmMpCit7CisJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY21kID0gQ0hJTERfUFJPQ0VTU19JTklUOworCWNoYXIgYnVmWzFdOworCWludCBpOworCisJaWYgKGRvX3JlYWNoYWJsZV9yZXZsaXN0KCZjbWQsIHNyYywgTlVMTCkgPCAwKQorCQlyZXR1cm4gMTsKKwogCS8qCiAJICogVGhlIGNvbW1pdHMgb3V0IG9mIHRoZSByZXYtbGlzdCBhcmUgbm90IGFuY2VzdG9ycyBvZgogCSAqIG91ciByZWYuCiAJICovCi0JaSA9IHJlYWRfaW5fZnVsbChjbWQub3V0LCBuYW1lYnVmLCAxKTsKKwlpID0gcmVhZF9pbl9mdWxsKGNtZC5vdXQsIGJ1ZiwgMSk7CiAJaWYgKGkpCiAJCWdvdG8gZXJyb3I7CiAJY2xvc2UoY21kLm91dCk7CisJY21kLm91dCA9IC0xOwogCiAJLyoKIAkgKiByZXYtbGlzdCBtYXkgaGF2ZSBkaWVkIGJ5IGVuY291bnRlcmluZyBhIGJhZCBjb21taXQKQEAgLTUyMiwyMyArNTk5LDE0MiBAQAogCQlnb3RvIGVycm9yOwogCiAJLyogQWxsIHRoZSBub24tdGlwIG9uZXMgYXJlIGFuY2VzdG9ycyBvZiB3aGF0IHdlIGFkdmVydGlzZWQgKi8KLQlyZXR1cm47CisJcmV0dXJuIDA7CisKK2Vycm9yOgorCXNpZ2NoYWluX3BvcChTSUdQSVBFKTsKKwlpZiAoY21kLm91dCA+PSAwKQorCQljbG9zZShjbWQub3V0KTsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQgY2hlY2tfbm9uX3RpcCh2b2lkKQoreworCWludCBpOworCisJLyoKKwkgKiBJbiB0aGUgbm9ybWFsIGluLXByb2Nlc3MgY2FzZSB3aXRob3V0CisJICogdXBsb2FkcGFjay5hbGxvd1JlYWNoYWJsZVNIQTFJbldhbnQsCisJICogbm9uLXRpcCByZXF1ZXN0cyBjYW4gbmV2ZXIgaGFwcGVuLgorCSAqLworCWlmICghc3RhdGVsZXNzX3JwYyAmJiAhKGFsbG93X3VuYWR2ZXJ0aXNlZF9vYmplY3RfcmVxdWVzdCAmIEFMTE9XX1JFQUNIQUJMRV9TSEExKSkKKwkJZ290byBlcnJvcjsKKwlpZiAoIWhhc191bnJlYWNoYWJsZSgmd2FudF9vYmopKQorCQkvKiBBbGwgdGhlIG5vbi10aXAgb25lcyBhcmUgYW5jZXN0b3JzIG9mIHdoYXQgd2UgYWR2ZXJ0aXNlZCAqLworCQlyZXR1cm47CiAKIGVycm9yOgogCS8qIFBpY2sgb25lIG9mIHRoZW0gKHdlIGtub3cgdGhlcmUgYXQgbGVhc3QgaXMgb25lKSAqLwogCWZvciAoaSA9IDA7IGkgPCB3YW50X29iai5ucjsgaSsrKSB7Ci0JCW8gPSB3YW50X29iai5vYmplY3RzW2ldLml0ZW07CisJCXN0cnVjdCBvYmplY3QgKm8gPSB3YW50X29iai5vYmplY3RzW2ldLml0ZW07CiAJCWlmICghaXNfb3VyX3JlZihvKSkKIAkJCWRpZSgiZ2l0IHVwbG9hZC1wYWNrOiBub3Qgb3VyIHJlZiAlcyIsCiAJCQkgICAgb2lkX3RvX2hleCgmby0+b2lkKSk7CiAJfQogfQogCitzdGF0aWMgdm9pZCBzZW5kX3NoYWxsb3coc3RydWN0IGNvbW1pdF9saXN0ICpyZXN1bHQpCit7CisJd2hpbGUgKHJlc3VsdCkgeworCQlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3QgPSAmcmVzdWx0LT5pdGVtLT5vYmplY3Q7CisJCWlmICghKG9iamVjdC0+ZmxhZ3MgJiAoQ0xJRU5UX1NIQUxMT1d8Tk9UX1NIQUxMT1cpKSkgeworCQkJcGFja2V0X3dyaXRlX2ZtdCgxLCAic2hhbGxvdyAlcyIsCisJCQkJCSBvaWRfdG9faGV4KCZvYmplY3QtPm9pZCkpOworCQkJcmVnaXN0ZXJfc2hhbGxvdyhvYmplY3QtPm9pZC5oYXNoKTsKKwkJCXNoYWxsb3dfbnIrKzsKKwkJfQorCQlyZXN1bHQgPSByZXN1bHQtPm5leHQ7CisJfQorfQorCitzdGF0aWMgdm9pZCBzZW5kX3Vuc2hhbGxvdyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2FycmF5ICpzaGFsbG93cykKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBzaGFsbG93cy0+bnI7IGkrKykgeworCQlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3QgPSBzaGFsbG93cy0+b2JqZWN0c1tpXS5pdGVtOworCQlpZiAob2JqZWN0LT5mbGFncyAmIE5PVF9TSEFMTE9XKSB7CisJCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHM7CisJCQlwYWNrZXRfd3JpdGVfZm10KDEsICJ1bnNoYWxsb3cgJXMiLAorCQkJCQkgb2lkX3RvX2hleCgmb2JqZWN0LT5vaWQpKTsKKwkJCW9iamVjdC0+ZmxhZ3MgJj0gfkNMSUVOVF9TSEFMTE9XOworCQkJLyoKKwkJCSAqIFdlIHdhbnQgdG8gX3JlZ2lzdGVyXyAib2JqZWN0IiBhcyBzaGFsbG93LCBidXQgd2UKKwkJCSAqIGFsc28gbmVlZCB0byB0cmF2ZXJzZSBvYmplY3QncyBwYXJlbnRzIHRvIGRlZXBlbiBhCisJCQkgKiBzaGFsbG93IGNsb25lLiBVbnJlZ2lzdGVyIGl0IGZvciBub3cgc28gd2UgY2FuCisJCQkgKiBwYXJzZSBhbmQgYWRkIHRoZSBwYXJlbnRzIHRvIHRoZSB3YW50IGxpc3QsIHRoZW4KKwkJCSAqIHJlLXJlZ2lzdGVyIGl0LgorCQkJICovCisJCQl1bnJlZ2lzdGVyX3NoYWxsb3cob2JqZWN0LT5vaWQuaGFzaCk7CisJCQlvYmplY3QtPnBhcnNlZCA9IDA7CisJCQlwYXJzZV9jb21taXRfb3JfZGllKChzdHJ1Y3QgY29tbWl0ICopb2JqZWN0KTsKKwkJCXBhcmVudHMgPSAoKHN0cnVjdCBjb21taXQgKilvYmplY3QpLT5wYXJlbnRzOworCQkJd2hpbGUgKHBhcmVudHMpIHsKKwkJCQlhZGRfb2JqZWN0X2FycmF5KCZwYXJlbnRzLT5pdGVtLT5vYmplY3QsCisJCQkJCQkgTlVMTCwgJndhbnRfb2JqKTsKKwkJCQlwYXJlbnRzID0gcGFyZW50cy0+bmV4dDsKKwkJCX0KKwkJCWFkZF9vYmplY3RfYXJyYXkob2JqZWN0LCBOVUxMLCAmZXh0cmFfZWRnZV9vYmopOworCQl9CisJCS8qIG1ha2Ugc3VyZSBjb21taXQgdHJhdmVyc2FsIGNvbmZvcm1zIHRvIGNsaWVudCAqLworCQlyZWdpc3Rlcl9zaGFsbG93KG9iamVjdC0+b2lkLmhhc2gpOworCX0KK30KKworc3RhdGljIHZvaWQgZGVlcGVuKGludCBkZXB0aCwgaW50IGRlZXBlbl9yZWxhdGl2ZSwKKwkJICAgc3RydWN0IG9iamVjdF9hcnJheSAqc2hhbGxvd3MpCit7CisJaWYgKGRlcHRoID09IElORklOSVRFX0RFUFRIICYmICFpc19yZXBvc2l0b3J5X3NoYWxsb3coKSkgeworCQlpbnQgaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgc2hhbGxvd3MtPm5yOyBpKyspIHsKKwkJCXN0cnVjdCBvYmplY3QgKm9iamVjdCA9IHNoYWxsb3dzLT5vYmplY3RzW2ldLml0ZW07CisJCQlvYmplY3QtPmZsYWdzIHw9IE5PVF9TSEFMTE9XOworCQl9CisJfSBlbHNlIGlmIChkZWVwZW5fcmVsYXRpdmUpIHsKKwkJc3RydWN0IG9iamVjdF9hcnJheSByZWFjaGFibGVfc2hhbGxvd3MgPSBPQkpFQ1RfQVJSQVlfSU5JVDsKKwkJc3RydWN0IGNvbW1pdF9saXN0ICpyZXN1bHQ7CisKKwkJZ2V0X3JlYWNoYWJsZV9saXN0KHNoYWxsb3dzLCAmcmVhY2hhYmxlX3NoYWxsb3dzKTsKKwkJcmVzdWx0ID0gZ2V0X3NoYWxsb3dfY29tbWl0cygmcmVhY2hhYmxlX3NoYWxsb3dzLAorCQkJCQkgICAgIGRlcHRoICsgMSwKKwkJCQkJICAgICBTSEFMTE9XLCBOT1RfU0hBTExPVyk7CisJCXNlbmRfc2hhbGxvdyhyZXN1bHQpOworCQlmcmVlX2NvbW1pdF9saXN0KHJlc3VsdCk7CisJCW9iamVjdF9hcnJheV9jbGVhcigmcmVhY2hhYmxlX3NoYWxsb3dzKTsKKwl9IGVsc2UgeworCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlc3VsdDsKKworCQlyZXN1bHQgPSBnZXRfc2hhbGxvd19jb21taXRzKCZ3YW50X29iaiwgZGVwdGgsCisJCQkJCSAgICAgU0hBTExPVywgTk9UX1NIQUxMT1cpOworCQlzZW5kX3NoYWxsb3cocmVzdWx0KTsKKwkJZnJlZV9jb21taXRfbGlzdChyZXN1bHQpOworCX0KKworCXNlbmRfdW5zaGFsbG93KHNoYWxsb3dzKTsKKwlwYWNrZXRfZmx1c2goMSk7Cit9CisKK3N0YXRpYyB2b2lkIGRlZXBlbl9ieV9yZXZfbGlzdChpbnQgYWMsIGNvbnN0IGNoYXIgKiphdiwKKwkJCSAgICAgICBzdHJ1Y3Qgb2JqZWN0X2FycmF5ICpzaGFsbG93cykKK3sKKwlzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlc3VsdDsKKworCXJlc3VsdCA9IGdldF9zaGFsbG93X2NvbW1pdHNfYnlfcmV2X2xpc3QoYWMsIGF2LCBTSEFMTE9XLCBOT1RfU0hBTExPVyk7CisJc2VuZF9zaGFsbG93KHJlc3VsdCk7CisJZnJlZV9jb21taXRfbGlzdChyZXN1bHQpOworCXNlbmRfdW5zaGFsbG93KHNoYWxsb3dzKTsKKwlwYWNrZXRfZmx1c2goMSk7Cit9CisKIHN0YXRpYyB2b2lkIHJlY2VpdmVfbmVlZHModm9pZCkKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2FycmF5IHNoYWxsb3dzID0gT0JKRUNUX0FSUkFZX0lOSVQ7CisJc3RydWN0IHN0cmluZ19saXN0IGRlZXBlbl9ub3QgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKIAlpbnQgZGVwdGggPSAwOwogCWludCBoYXNfbm9uX3RpcCA9IDA7CisJdW5zaWduZWQgbG9uZyBkZWVwZW5fc2luY2UgPSAwOworCWludCBkZWVwZW5fcmV2X2xpc3QgPSAwOwogCiAJc2hhbGxvd19uciA9IDA7CiAJZm9yICg7OykgewpAQCAtNTQ2LDE0ICs3NDIsMTYgQEAKIAkJY29uc3QgY2hhciAqZmVhdHVyZXM7CiAJCXVuc2lnbmVkIGNoYXIgc2hhMV9idWZbMjBdOwogCQljaGFyICpsaW5lID0gcGFja2V0X3JlYWRfbGluZSgwLCBOVUxMKTsKKwkJY29uc3QgY2hhciAqYXJnOworCiAJCXJlc2V0X3RpbWVvdXQoKTsKIAkJaWYgKCFsaW5lKQogCQkJYnJlYWs7CiAKLQkJaWYgKHN0YXJ0c193aXRoKGxpbmUsICJzaGFsbG93ICIpKSB7CisJCWlmIChza2lwX3ByZWZpeChsaW5lLCAic2hhbGxvdyAiLCAmYXJnKSkgewogCQkJdW5zaWduZWQgY2hhciBzaGExWzIwXTsKIAkJCXN0cnVjdCBvYmplY3QgKm9iamVjdDsKLQkJCWlmIChnZXRfc2hhMV9oZXgobGluZSArIDgsIHNoYTEpKQorCQkJaWYgKGdldF9zaGExX2hleChhcmcsIHNoYTEpKQogCQkJCWRpZSgiaW52YWxpZCBzaGFsbG93IGxpbmU6ICVzIiwgbGluZSk7CiAJCQlvYmplY3QgPSBwYXJzZV9vYmplY3Qoc2hhMSk7CiAJCQlpZiAoIW9iamVjdCkKQEAgLTU2NiwyMCArNzY0LDQyIEBACiAJCQl9CiAJCQljb250aW51ZTsKIAkJfQotCQlpZiAoc3RhcnRzX3dpdGgobGluZSwgImRlZXBlbiAiKSkgewotCQkJY2hhciAqZW5kOwotCQkJZGVwdGggPSBzdHJ0b2wobGluZSArIDcsICZlbmQsIDApOwotCQkJaWYgKGVuZCA9PSBsaW5lICsgNyB8fCBkZXB0aCA8PSAwKQorCQlpZiAoc2tpcF9wcmVmaXgobGluZSwgImRlZXBlbiAiLCAmYXJnKSkgeworCQkJY2hhciAqZW5kID0gTlVMTDsKKwkJCWRlcHRoID0gc3RydG9sKGFyZywgJmVuZCwgMCk7CisJCQlpZiAoIWVuZCB8fCAqZW5kIHx8IGRlcHRoIDw9IDApCiAJCQkJZGllKCJJbnZhbGlkIGRlZXBlbjogJXMiLCBsaW5lKTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWlmICghc3RhcnRzX3dpdGgobGluZSwgIndhbnQgIikgfHwKLQkJICAgIGdldF9zaGExX2hleChsaW5lKzUsIHNoYTFfYnVmKSkKKwkJaWYgKHNraXBfcHJlZml4KGxpbmUsICJkZWVwZW4tc2luY2UgIiwgJmFyZykpIHsKKwkJCWNoYXIgKmVuZCA9IE5VTEw7CisJCQlkZWVwZW5fc2luY2UgPSBzdHJ0b3VsKGFyZywgJmVuZCwgMCk7CisJCQlpZiAoIWVuZCB8fCAqZW5kIHx8ICFkZWVwZW5fc2luY2UgfHwKKwkJCSAgICAvKiByZXZpc2lvbnMuYydzIG1heF9hZ2UgLTEgaXMgc3BlY2lhbCAqLworCQkJICAgIGRlZXBlbl9zaW5jZSA9PSAtMSkKKwkJCQlkaWUoIkludmFsaWQgZGVlcGVuLXNpbmNlOiAlcyIsIGxpbmUpOworCQkJZGVlcGVuX3Jldl9saXN0ID0gMTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmIChza2lwX3ByZWZpeChsaW5lLCAiZGVlcGVuLW5vdCAiLCAmYXJnKSkgeworCQkJY2hhciAqcmVmID0gTlVMTDsKKwkJCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCQlpZiAoZXhwYW5kX3JlZihhcmcsIHN0cmxlbihhcmcpLCBzaGExLCAmcmVmKSAhPSAxKQorCQkJCWRpZSgiZ2l0IHVwbG9hZC1wYWNrOiBhbWJpZ3VvdXMgZGVlcGVuLW5vdDogJXMiLCBsaW5lKTsKKwkJCXN0cmluZ19saXN0X2FwcGVuZCgmZGVlcGVuX25vdCwgcmVmKTsKKwkJCWZyZWUocmVmKTsKKwkJCWRlZXBlbl9yZXZfbGlzdCA9IDE7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoIXNraXBfcHJlZml4KGxpbmUsICJ3YW50ICIsICZhcmcpIHx8CisJCSAgICBnZXRfc2hhMV9oZXgoYXJnLCBzaGExX2J1ZikpCiAJCQlkaWUoImdpdCB1cGxvYWQtcGFjazogcHJvdG9jb2wgZXJyb3IsICIKIAkJCSAgICAiZXhwZWN0ZWQgdG8gZ2V0IHNoYSwgbm90ICclcyciLCBsaW5lKTsKIAotCQlmZWF0dXJlcyA9IGxpbmUgKyA0NTsKKwkJZmVhdHVyZXMgPSBhcmcgKyA0MDsKIAorCQlpZiAocGFyc2VfZmVhdHVyZV9yZXF1ZXN0KGZlYXR1cmVzLCAiZGVlcGVuLXJlbGF0aXZlIikpCisJCQlkZWVwZW5fcmVsYXRpdmUgPSAxOwogCQlpZiAocGFyc2VfZmVhdHVyZV9yZXF1ZXN0KGZlYXR1cmVzLCAibXVsdGlfYWNrX2RldGFpbGVkIikpCiAJCQltdWx0aV9hY2sgPSAyOwogCQllbHNlIGlmIChwYXJzZV9mZWF0dXJlX3JlcXVlc3QoZmVhdHVyZXMsICJtdWx0aV9hY2siKSkKQEAgLTYyNCw1NSArODQ0LDM1IEBACiAJaWYgKCF1c2Vfc2lkZWJhbmQgJiYgZGFlbW9uX21vZGUpCiAJCW5vX3Byb2dyZXNzID0gMTsKIAotCWlmIChkZXB0aCA9PSAwICYmIHNoYWxsb3dzLm5yID09IDApCisJaWYgKGRlcHRoID09IDAgJiYgIWRlZXBlbl9yZXZfbGlzdCAmJiBzaGFsbG93cy5uciA9PSAwKQogCQlyZXR1cm47Ci0JaWYgKGRlcHRoID4gMCkgewotCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlc3VsdCA9IE5VTEwsICpiYWNrdXAgPSBOVUxMOworCWlmIChkZXB0aCA+IDAgJiYgZGVlcGVuX3Jldl9saXN0KQorCQlkaWUoImdpdCB1cGxvYWQtcGFjazogZGVlcGVuIGFuZCBkZWVwZW4tc2luY2UgKG9yIGRlZXBlbi1ub3QpIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIik7CisJaWYgKGRlcHRoID4gMCkKKwkJZGVlcGVuKGRlcHRoLCBkZWVwZW5fcmVsYXRpdmUsICZzaGFsbG93cyk7CisJZWxzZSBpZiAoZGVlcGVuX3Jldl9saXN0KSB7CisJCXN0cnVjdCBhcmd2X2FycmF5IGF2ID0gQVJHVl9BUlJBWV9JTklUOwogCQlpbnQgaTsKLQkJaWYgKGRlcHRoID09IElORklOSVRFX0RFUFRIICYmICFpc19yZXBvc2l0b3J5X3NoYWxsb3coKSkKLQkJCWZvciAoaSA9IDA7IGkgPCBzaGFsbG93cy5ucjsgaSsrKSB7Ci0JCQkJc3RydWN0IG9iamVjdCAqb2JqZWN0ID0gc2hhbGxvd3Mub2JqZWN0c1tpXS5pdGVtOwotCQkJCW9iamVjdC0+ZmxhZ3MgfD0gTk9UX1NIQUxMT1c7CisKKwkJYXJndl9hcnJheV9wdXNoKCZhdiwgInJldi1saXN0Iik7CisJCWlmIChkZWVwZW5fc2luY2UpCisJCQlhcmd2X2FycmF5X3B1c2hmKCZhdiwgIi0tbWF4LWFnZT0lbHUiLCBkZWVwZW5fc2luY2UpOworCQlpZiAoZGVlcGVuX25vdC5ucikgeworCQkJYXJndl9hcnJheV9wdXNoKCZhdiwgIi0tbm90Iik7CisJCQlmb3IgKGkgPSAwOyBpIDwgZGVlcGVuX25vdC5ucjsgaSsrKSB7CisJCQkJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKnMgPSBkZWVwZW5fbm90Lml0ZW1zICsgaTsKKwkJCQlhcmd2X2FycmF5X3B1c2goJmF2LCBzLT5zdHJpbmcpOwogCQkJfQotCQllbHNlCi0JCQliYWNrdXAgPSByZXN1bHQgPQotCQkJCWdldF9zaGFsbG93X2NvbW1pdHMoJndhbnRfb2JqLCBkZXB0aCwKLQkJCQkJCSAgICBTSEFMTE9XLCBOT1RfU0hBTExPVyk7Ci0JCXdoaWxlIChyZXN1bHQpIHsKLQkJCXN0cnVjdCBvYmplY3QgKm9iamVjdCA9ICZyZXN1bHQtPml0ZW0tPm9iamVjdDsKLQkJCWlmICghKG9iamVjdC0+ZmxhZ3MgJiAoQ0xJRU5UX1NIQUxMT1d8Tk9UX1NIQUxMT1cpKSkgewotCQkJCXBhY2tldF93cml0ZSgxLCAic2hhbGxvdyAlcyIsCi0JCQkJCQlvaWRfdG9faGV4KCZvYmplY3QtPm9pZCkpOwotCQkJCXJlZ2lzdGVyX3NoYWxsb3cob2JqZWN0LT5vaWQuaGFzaCk7Ci0JCQkJc2hhbGxvd19ucisrOwotCQkJfQotCQkJcmVzdWx0ID0gcmVzdWx0LT5uZXh0OworCQkJYXJndl9hcnJheV9wdXNoKCZhdiwgIi0tbm90Iik7CiAJCX0KLQkJZnJlZV9jb21taXRfbGlzdChiYWNrdXApOwotCQlmb3IgKGkgPSAwOyBpIDwgc2hhbGxvd3MubnI7IGkrKykgewotCQkJc3RydWN0IG9iamVjdCAqb2JqZWN0ID0gc2hhbGxvd3Mub2JqZWN0c1tpXS5pdGVtOwotCQkJaWYgKG9iamVjdC0+ZmxhZ3MgJiBOT1RfU0hBTExPVykgewotCQkJCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50czsKLQkJCQlwYWNrZXRfd3JpdGUoMSwgInVuc2hhbGxvdyAlcyIsCi0JCQkJCW9pZF90b19oZXgoJm9iamVjdC0+b2lkKSk7Ci0JCQkJb2JqZWN0LT5mbGFncyAmPSB+Q0xJRU5UX1NIQUxMT1c7Ci0JCQkJLyogbWFrZSBzdXJlIHRoZSByZWFsIHBhcmVudHMgYXJlIHBhcnNlZCAqLwotCQkJCXVucmVnaXN0ZXJfc2hhbGxvdyhvYmplY3QtPm9pZC5oYXNoKTsKLQkJCQlvYmplY3QtPnBhcnNlZCA9IDA7Ci0JCQkJcGFyc2VfY29tbWl0X29yX2RpZSgoc3RydWN0IGNvbW1pdCAqKW9iamVjdCk7Ci0JCQkJcGFyZW50cyA9ICgoc3RydWN0IGNvbW1pdCAqKW9iamVjdCktPnBhcmVudHM7Ci0JCQkJd2hpbGUgKHBhcmVudHMpIHsKLQkJCQkJYWRkX29iamVjdF9hcnJheSgmcGFyZW50cy0+aXRlbS0+b2JqZWN0LAotCQkJCQkJCU5VTEwsICZ3YW50X29iaik7Ci0JCQkJCXBhcmVudHMgPSBwYXJlbnRzLT5uZXh0OwotCQkJCX0KLQkJCQlhZGRfb2JqZWN0X2FycmF5KG9iamVjdCwgTlVMTCwgJmV4dHJhX2VkZ2Vfb2JqKTsKLQkJCX0KLQkJCS8qIG1ha2Ugc3VyZSBjb21taXQgdHJhdmVyc2FsIGNvbmZvcm1zIHRvIGNsaWVudCAqLwotCQkJcmVnaXN0ZXJfc2hhbGxvdyhvYmplY3QtPm9pZC5oYXNoKTsKKwkJZm9yIChpID0gMDsgaSA8IHdhbnRfb2JqLm5yOyBpKyspIHsKKwkJCXN0cnVjdCBvYmplY3QgKm8gPSB3YW50X29iai5vYmplY3RzW2ldLml0ZW07CisJCQlhcmd2X2FycmF5X3B1c2goJmF2LCBvaWRfdG9faGV4KCZvLT5vaWQpKTsKIAkJfQotCQlwYWNrZXRfZmx1c2goMSk7Ci0JfSBlbHNlCisJCWRlZXBlbl9ieV9yZXZfbGlzdChhdi5hcmdjLCBhdi5hcmd2LCAmc2hhbGxvd3MpOworCQlhcmd2X2FycmF5X2NsZWFyKCZhdik7CisJfQorCWVsc2UKIAkJaWYgKHNoYWxsb3dzLm5yID4gMCkgewogCQkJaW50IGk7CiAJCQlmb3IgKGkgPSAwOyBpIDwgc2hhbGxvd3MubnI7IGkrKykKQEAgLTcyMCw4ICs5MjAsOCBAQAogCQkgICAgaW50IGZsYWcsIHZvaWQgKmNiX2RhdGEpCiB7CiAJc3RhdGljIGNvbnN0IGNoYXIgKmNhcGFiaWxpdGllcyA9ICJtdWx0aV9hY2sgdGhpbi1wYWNrIHNpZGUtYmFuZCIKLQkJIiBzaWRlLWJhbmQtNjRrIG9mcy1kZWx0YSBzaGFsbG93IG5vLXByb2dyZXNzIgotCQkiIGluY2x1ZGUtdGFnIG11bHRpX2Fja19kZXRhaWxlZCI7CisJCSIgc2lkZS1iYW5kLTY0ayBvZnMtZGVsdGEgc2hhbGxvdyBkZWVwZW4tc2luY2UgZGVlcGVuLW5vdCIKKwkJIiBkZWVwZW4tcmVsYXRpdmUgbm8tcHJvZ3Jlc3MgaW5jbHVkZS10YWcgbXVsdGlfYWNrX2RldGFpbGVkIjsKIAljb25zdCBjaGFyICpyZWZuYW1lX25vbnMgPSBzdHJpcF9uYW1lc3BhY2UocmVmbmFtZSk7CiAJc3RydWN0IG9iamVjdF9pZCBwZWVsZWQ7CiAKQEAgLTczMiw3ICs5MzIsNyBAQAogCQlzdHJ1Y3Qgc3RyYnVmIHN5bXJlZl9pbmZvID0gU1RSQlVGX0lOSVQ7CiAKIAkJZm9ybWF0X3N5bXJlZl9pbmZvKCZzeW1yZWZfaW5mbywgY2JfZGF0YSk7Ci0JCXBhY2tldF93cml0ZSgxLCAiJXMgJXMlYyVzJXMlcyVzJXMgYWdlbnQ9JXNcbiIsCisJCXBhY2tldF93cml0ZV9mbXQoMSwgIiVzICVzJWMlcyVzJXMlcyVzIGFnZW50PSVzXG4iLAogCQkJICAgICBvaWRfdG9faGV4KG9pZCksIHJlZm5hbWVfbm9ucywKIAkJCSAgICAgMCwgY2FwYWJpbGl0aWVzLAogCQkJICAgICAoYWxsb3dfdW5hZHZlcnRpc2VkX29iamVjdF9yZXF1ZXN0ICYgQUxMT1dfVElQX1NIQTEpID8KQEAgLTc0NCwxMSArOTQ0LDExIEBACiAJCQkgICAgIGdpdF91c2VyX2FnZW50X3Nhbml0aXplZCgpKTsKIAkJc3RyYnVmX3JlbGVhc2UoJnN5bXJlZl9pbmZvKTsKIAl9IGVsc2UgewotCQlwYWNrZXRfd3JpdGUoMSwgIiVzICVzXG4iLCBvaWRfdG9faGV4KG9pZCksIHJlZm5hbWVfbm9ucyk7CisJCXBhY2tldF93cml0ZV9mbXQoMSwgIiVzICVzXG4iLCBvaWRfdG9faGV4KG9pZCksIHJlZm5hbWVfbm9ucyk7CiAJfQogCWNhcGFiaWxpdGllcyA9IE5VTEw7CiAJaWYgKCFwZWVsX3JlZihyZWZuYW1lLCBwZWVsZWQuaGFzaCkpCi0JCXBhY2tldF93cml0ZSgxLCAiJXMgJXNee31cbiIsIG9pZF90b19oZXgoJnBlZWxlZCksIHJlZm5hbWVfbm9ucyk7CisJCXBhY2tldF93cml0ZV9mbXQoMSwgIiVzICVzXnt9XG4iLCBvaWRfdG9faGV4KCZwZWVsZWQpLCByZWZuYW1lX25vbnMpOwogCXJldHVybiAwOwogfQogCkBAIC04MTIsNiArMTAxMiw5IEBACiAJCWtlZXBhbGl2ZSA9IGdpdF9jb25maWdfaW50KHZhciwgdmFsdWUpOwogCQlpZiAoIWtlZXBhbGl2ZSkKIAkJCWtlZXBhbGl2ZSA9IC0xOworCX0gZWxzZSBpZiAoY3VycmVudF9jb25maWdfc2NvcGUoKSAhPSBDT05GSUdfU0NPUEVfUkVQTykgeworCQlpZiAoIXN0cmNtcCgidXBsb2FkcGFjay5wYWNrb2JqZWN0c2hvb2siLCB2YXIpKQorCQkJcmV0dXJuIGdpdF9jb25maWdfc3RyaW5nKCZwYWNrX29iamVjdHNfaG9vaywgdmFyLCB2YWx1ZSk7CiAJfQogCXJldHVybiBwYXJzZV9oaWRlX3JlZnNfY29uZmlnKHZhciwgdmFsdWUsICJ1cGxvYWRwYWNrIik7CiB9CkBAIC04MTksNDYgKzEwMjIsMzMgQEAKIGludCBjbWRfbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCiB7CiAJY29uc3QgY2hhciAqZGlyOwotCWludCBpOwogCWludCBzdHJpY3QgPSAwOworCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0geworCQlPUFRfQk9PTCgwLCAic3RhdGVsZXNzLXJwYyIsICZzdGF0ZWxlc3NfcnBjLAorCQkJIE5fKCJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiKSksCisJCU9QVF9CT09MKDAsICJhZHZlcnRpc2UtcmVmcyIsICZhZHZlcnRpc2VfcmVmcywKKwkJCSBOXygiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBpbml0aWFsIHJlZiBhZHZlcnRpc2VtZW50IikpLAorCQlPUFRfQk9PTCgwLCAic3RyaWN0IiwgJnN0cmljdCwKKwkJCSBOXygiZG8gbm90IHRyeSA8ZGlyZWN0b3J5Pi8uZ2l0LyBpZiA8ZGlyZWN0b3J5PiBpcyBubyBHaXQgZGlyZWN0b3J5IikpLAorCQlPUFRfSU5URUdFUigwLCAidGltZW91dCIsICZ0aW1lb3V0LAorCQkJICAgIE5fKCJpbnRlcnJ1cHQgdHJhbnNmZXIgYWZ0ZXIgPG4+IHNlY29uZHMgb2YgaW5hY3Rpdml0eSIpKSwKKwkJT1BUX0VORCgpCisJfTsKIAogCXBhY2tldF90cmFjZV9pZGVudGl0eSgidXBsb2FkLXBhY2siKTsKIAljaGVja19yZXBsYWNlX3JlZnMgPSAwOwogCi0JZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykgewotCQljb25zdCBjaGFyICphcmcgPSBhcmd2W2ldOworCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIE5VTEwsIG9wdGlvbnMsIHVwbG9hZF9wYWNrX3VzYWdlLCAwKTsKIAotCQlpZiAoYXJnWzBdICE9ICctJykKLQkJCWJyZWFrOwotCQlpZiAoIXN0cmNtcChhcmcsICItLWFkdmVydGlzZS1yZWZzIikpIHsKLQkJCWFkdmVydGlzZV9yZWZzID0gMTsKLQkJCWNvbnRpbnVlOwotCQl9Ci0JCWlmICghc3RyY21wKGFyZywgIi0tc3RhdGVsZXNzLXJwYyIpKSB7Ci0JCQlzdGF0ZWxlc3NfcnBjID0gMTsKLQkJCWNvbnRpbnVlOwotCQl9Ci0JCWlmICghc3RyY21wKGFyZywgIi0tc3RyaWN0IikpIHsKLQkJCXN0cmljdCA9IDE7Ci0JCQljb250aW51ZTsKLQkJfQotCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS10aW1lb3V0PSIpKSB7Ci0JCQl0aW1lb3V0ID0gYXRvaShhcmcrMTApOwotCQkJZGFlbW9uX21vZGUgPSAxOwotCQkJY29udGludWU7Ci0JCX0KLQkJaWYgKCFzdHJjbXAoYXJnLCAiLS0iKSkgewotCQkJaSsrOwotCQkJYnJlYWs7Ci0JCX0KLQl9CisJaWYgKGFyZ2MgIT0gMSkKKwkJdXNhZ2Vfd2l0aF9vcHRpb25zKHVwbG9hZF9wYWNrX3VzYWdlLCBvcHRpb25zKTsKIAotCWlmIChpICE9IGFyZ2MtMSkKLQkJdXNhZ2UodXBsb2FkX3BhY2tfdXNhZ2UpOworCWlmICh0aW1lb3V0KQorCQlkYWVtb25fbW9kZSA9IDE7CiAKIAlzZXR1cF9wYXRoKCk7CiAKLQlkaXIgPSBhcmd2W2ldOworCWRpciA9IGFyZ3ZbMF07CiAKIAlpZiAoIWVudGVyX3JlcG8oZGlyLCBzdHJpY3QpKQogCQlkaWUoIiclcycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgZ2l0IHJlcG9zaXRvcnkiLCBkaXIpOwpkaWZmIC0tZ2l0IGEvdXJsLmMgYi91cmwuYwppbmRleCAyZDg5YWQxLi5lYWY0ZjA3IDEwMDY0NAotLS0gYS91cmwuYworKysgYi91cmwuYwpAQCAtMjksMjUgKzI5LDYgQEAKIAlyZXR1cm4gKHVybFswXSA9PSAnOicgJiYgdXJsWzFdID09ICcvJyAmJiB1cmxbMl0gPT0gJy8nKTsKIH0KIAotc3RhdGljIGludCB1cmxfZGVjb2RlX2NoYXIoY29uc3QgY2hhciAqcSkKLXsKLQlpbnQgaTsKLQl1bnNpZ25lZCBjaGFyIHZhbCA9IDA7Ci0JZm9yIChpID0gMDsgaSA8IDI7IGkrKykgewotCQl1bnNpZ25lZCBjaGFyIGMgPSAqcSsrOwotCQl2YWwgPDw9IDQ7Ci0JCWlmIChjID49ICcwJyAmJiBjIDw9ICc5JykKLQkJCXZhbCArPSBjIC0gJzAnOwotCQllbHNlIGlmIChjID49ICdhJyAmJiBjIDw9ICdmJykKLQkJCXZhbCArPSBjIC0gJ2EnICsgMTA7Ci0JCWVsc2UgaWYgKGMgPj0gJ0EnICYmIGMgPD0gJ0YnKQotCQkJdmFsICs9IGMgLSAnQScgKyAxMDsKLQkJZWxzZQotCQkJcmV0dXJuIC0xOwotCX0KLQlyZXR1cm4gdmFsOwotfQotCiBzdGF0aWMgY2hhciAqdXJsX2RlY29kZV9pbnRlcm5hbChjb25zdCBjaGFyICoqcXVlcnksIGludCBsZW4sCiAJCQkJIGNvbnN0IGNoYXIgKnN0b3BfYXQsIHN0cnVjdCBzdHJidWYgKm91dCwKIAkJCQkgaW50IGRlY29kZV9wbHVzKQpAQCAtNjYsNyArNDcsNyBAQAogCQl9CiAKIAkJaWYgKGMgPT0gJyUnKSB7Ci0JCQlpbnQgdmFsID0gdXJsX2RlY29kZV9jaGFyKHEgKyAxKTsKKwkJCWludCB2YWwgPSBoZXgyY2hyKHEgKyAxKTsKIAkJCWlmICgwIDw9IHZhbCkgewogCQkJCXN0cmJ1Zl9hZGRjaChvdXQsIHZhbCk7CiAJCQkJcSArPSAzOwpkaWZmIC0tZ2l0IGEvdXNhZ2UuYyBiL3VzYWdlLmMKaW5kZXggMWRhZDAzZi4uMTdmNTJjMSAxMDA2NDQKLS0tIGEvdXNhZ2UuYworKysgYi91c2FnZS5jCkBAIC03MCw2ICs3MCwyMSBAQAogCWVycm9yX3JvdXRpbmUgPSByb3V0aW5lOwogfQogCit2b2lkICgqZ2V0X2Vycm9yX3JvdXRpbmUodm9pZCkpKGNvbnN0IGNoYXIgKmVyciwgdmFfbGlzdCBwYXJhbXMpCit7CisJcmV0dXJuIGVycm9yX3JvdXRpbmU7Cit9CisKK3ZvaWQgc2V0X3dhcm5fcm91dGluZSh2b2lkICgqcm91dGluZSkoY29uc3QgY2hhciAqd2FybiwgdmFfbGlzdCBwYXJhbXMpKQoreworCXdhcm5fcm91dGluZSA9IHJvdXRpbmU7Cit9CisKK3ZvaWQgKCpnZXRfd2Fybl9yb3V0aW5lKHZvaWQpKShjb25zdCBjaGFyICp3YXJuLCB2YV9saXN0IHBhcmFtcykKK3sKKwlyZXR1cm4gd2Fybl9yb3V0aW5lOworfQorCiB2b2lkIHNldF9kaWVfaXNfcmVjdXJzaW5nX3JvdXRpbmUoaW50ICgqcm91dGluZSkodm9pZCkpCiB7CiAJZGllX2lzX3JlY3Vyc2luZyA9IHJvdXRpbmU7CkBAIC0xNDgsNiArMTYzLDcgQEAKIAl2YV9lbmQocGFyYW1zKTsKIH0KIAorI3VuZGVmIGVycm9yX2Vycm5vCiBpbnQgZXJyb3JfZXJybm8oY29uc3QgY2hhciAqZm10LCAuLi4pCiB7CiAJY2hhciBidWZbMTAyNF07CmRpZmYgLS1naXQgYS91c2VyZGlmZi5jIGIvdXNlcmRpZmYuYwppbmRleCA2YmYyNTA1Li4yMTI1ZDZkIDEwMDY0NAotLS0gYS91c2VyZGlmZi5jCisrKyBiL3VzZXJkaWZmLmMKQEAgLTE0OCw2ICsxNDgsMTggQEAKIAkgIlthLXpBLVpfXVthLXpBLVowLTlfXSoiCiAJICJ8Wy0rMC05LmVdK1tmRmxMXT98MFt4WGJCXT9bMC05YS1mQS1GXStbbExdPyIKIAkgInxbLSsqLzw+JSZefD0hXT18LS18XFwrXFwrfDw8PT98Pj49P3wmJnxcXHxcXHx8Ojp8LT4iKSwKK0lQQVRURVJOKCJjc3MiLAorCSAiIVs6O11bWzpzcGFjZTpdXSokXG4iCisJICJeW19hLXowLTldLiokIiwKKwkgLyogLS0gKi8KKwkgLyoKKwkgICogVGhpcyByZWdleCBjb21lcyBmcm9tIFczQyBDU1Mgc3BlY3MuIFNob3VsZCB0aGVvcmV0aWNhbGx5IGFsc28KKwkgICogYWxsb3cgSVNPIDEwNjQ2IGNoYXJhY3RlcnMgVSswMEEwIGFuZCBoaWdoZXIsCisJICAqIGJ1dCB0aGV5IGFyZSBub3QgaGFuZGxlZCBpbiB0aGlzIHJlZ2V4LgorCSAgKi8KKwkgIi0/W19hLXpBLVpdWy1fYS16QS1aMC05XSoiIC8qIGlkZW50aWZpZXJzICovCisJICJ8LT9bMC05XSt8XFwjWzAtOWEtZkEtRl0rIiAvKiBudW1iZXJzICovCispLAogeyAiZGVmYXVsdCIsIE5VTEwsIC0xLCB7IE5VTEwsIDAgfSB9LAogfTsKICN1bmRlZiBQQVRURVJOUwpkaWZmIC0tZ2l0IGEvdmNzLXN2bi9mYXN0X2V4cG9ydC5jIGIvdmNzLXN2bi9mYXN0X2V4cG9ydC5jCmluZGV4IGJkMGYyYzIuLjk3Y2JhMzkgMTAwNjQ0Ci0tLSBhL3Zjcy1zdm4vZmFzdF9leHBvcnQuYworKysgYi92Y3Mtc3ZuL2Zhc3RfZXhwb3J0LmMKQEAgLTczLDcgKzczLDcgQEAKIAlzdGF0aWMgaW50IGZpcnN0bm90ZSA9IDE7CiAJc2l6ZV90IGxvZ2xlbiA9IHN0cmxlbihsb2cpOwogCXByaW50ZigiY29tbWl0ICVzXG4iLCBub3RlX3JlZik7Ci0JcHJpbnRmKCJjb21taXR0ZXIgJXMgPCVzQCVzPiAlbGQgKzAwMDBcbiIsIGF1dGhvciwgYXV0aG9yLCAibG9jYWwiLCB0aW1lc3RhbXApOworCXByaW50ZigiY29tbWl0dGVyICVzIDwlc0Alcz4gJWx1ICswMDAwXG4iLCBhdXRob3IsIGF1dGhvciwgImxvY2FsIiwgdGltZXN0YW1wKTsKIAlwcmludGYoImRhdGEgJSJQUkl1TUFYIlxuIiwgKHVpbnRtYXhfdClsb2dsZW4pOwogCWZ3cml0ZShsb2csIGxvZ2xlbiwgMSwgc3Rkb3V0KTsKIAlpZiAoZmlyc3Rub3RlKSB7CkBAIC0xMDcsNyArMTA3LDcgQEAKIAl9CiAJcHJpbnRmKCJjb21taXQgJXNcbiIsIGxvY2FsX3JlZik7CiAJcHJpbnRmKCJtYXJrIDolIlBSSXUzMiJcbiIsIHJldmlzaW9uKTsKLQlwcmludGYoImNvbW1pdHRlciAlcyA8JXNAJXM+ICVsZCArMDAwMFxuIiwKKwlwcmludGYoImNvbW1pdHRlciAlcyA8JXNAJXM+ICVsdSArMDAwMFxuIiwKIAkJICAgKmF1dGhvciA/IGF1dGhvciA6ICJub2JvZHkiLAogCQkgICAqYXV0aG9yID8gYXV0aG9yIDogIm5vYm9keSIsCiAJCSAgICp1dWlkID8gdXVpZCA6ICJsb2NhbCIsIHRpbWVzdGFtcCk7CmRpZmYgLS1naXQgYS93YWxrZXIuYyBiL3dhbGtlci5jCmluZGV4IGQ5NWIwMDcuLjJjODZlNDAgMTAwNjQ0Ci0tLSBhL3dhbGtlci5jCisrKyBiL3dhbGtlci5jCkBAIC05LDEwICs5LDE0IEBACiAKIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGN1cnJlbnRfY29tbWl0X3NoYTFbMjBdOwogCi12b2lkIHdhbGtlcl9zYXkoc3RydWN0IHdhbGtlciAqd2Fsa2VyLCBjb25zdCBjaGFyICpmbXQsIGNvbnN0IGNoYXIgKmhleCkKK3ZvaWQgd2Fsa2VyX3NheShzdHJ1Y3Qgd2Fsa2VyICp3YWxrZXIsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogewotCWlmICh3YWxrZXItPmdldF92ZXJib3NlbHkpCi0JCWZwcmludGYoc3RkZXJyLCBmbXQsIGhleCk7CisJaWYgKHdhbGtlci0+Z2V0X3ZlcmJvc2VseSkgeworCQl2YV9saXN0IGFwOworCQl2YV9zdGFydChhcCwgZm10KTsKKwkJdmZwcmludGYoc3RkZXJyLCBmbXQsIGFwKTsKKwkJdmFfZW5kKGFwKTsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkIHJlcG9ydF9taXNzaW5nKGNvbnN0IHN0cnVjdCBvYmplY3QgKm9iaikKZGlmZiAtLWdpdCBhL3dhbGtlci5oIGIvd2Fsa2VyLmgKaW5kZXggOTVlNTc2NS4uYTg2OTAxMyAxMDA2NDQKLS0tIGEvd2Fsa2VyLmgKKysrIGIvd2Fsa2VyLmgKQEAgLTE5LDcgKzE5LDggQEAKIH07CiAKIC8qIFJlcG9ydCB3aGF0IHdlIGdvdCB1bmRlciBnZXRfdmVyYm9zZWx5ICovCi12b2lkIHdhbGtlcl9zYXkoc3RydWN0IHdhbGtlciAqd2Fsa2VyLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CitfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKQordm9pZCB3YWxrZXJfc2F5KHN0cnVjdCB3YWxrZXIgKndhbGtlciwgY29uc3QgY2hhciAqZm10LCAuLi4pOwogCiAvKiBMb2FkIHB1bGwgdGFyZ2V0cyBmcm9tIHN0ZGluICovCiBpbnQgd2Fsa2VyX3RhcmdldHNfc3RkaW4oY2hhciAqKip0YXJnZXQsIGNvbnN0IGNoYXIgKioqd3JpdGVfcmVmKTsKZGlmZiAtLWdpdCBhL3dvcmt0cmVlLmMgYi93b3JrdHJlZS5jCmluZGV4IDE5OWIxZWYuLmY3ODY5ZjggMTAwNjQ0Ci0tLSBhL3dvcmt0cmVlLmMKKysrIGIvd29ya3RyZWUuYwpAQCAtMTMsNiArMTMsNyBAQAogCQlmcmVlKHdvcmt0cmVlc1tpXS0+cGF0aCk7CiAJCWZyZWUod29ya3RyZWVzW2ldLT5pZCk7CiAJCWZyZWUod29ya3RyZWVzW2ldLT5oZWFkX3JlZik7CisJCWZyZWUod29ya3RyZWVzW2ldLT5sb2NrX3JlYXNvbik7CiAJCWZyZWUod29ya3RyZWVzW2ldKTsKIAl9CiAJZnJlZSAod29ya3RyZWVzKTsKQEAgLTgwLDcgKzgxLDcgQEAKIAlpbnQgaXNfYmFyZSA9IDA7CiAJaW50IGlzX2RldGFjaGVkID0gMDsKIAotCXN0cmJ1Zl9hZGRzdHIoJndvcmt0cmVlX3BhdGgsIGFic29sdXRlX3BhdGgoZ2V0X2dpdF9jb21tb25fZGlyKCkpKTsKKwlzdHJidWZfYWRkX2Fic29sdXRlX3BhdGgoJndvcmt0cmVlX3BhdGgsIGdldF9naXRfY29tbW9uX2RpcigpKTsKIAlpc19iYXJlID0gIXN0cmJ1Zl9zdHJpcF9zdWZmaXgoJndvcmt0cmVlX3BhdGgsICIvLmdpdCIpOwogCWlmIChpc19iYXJlKQogCQlzdHJidWZfc3RyaXBfc3VmZml4KCZ3b3JrdHJlZV9wYXRoLCAiLy4iKTsKQEAgLTk4LDYgKzk5LDggQEAKIAl3b3JrdHJlZS0+aXNfZGV0YWNoZWQgPSBpc19kZXRhY2hlZDsKIAl3b3JrdHJlZS0+aXNfY3VycmVudCA9IDA7CiAJYWRkX2hlYWRfaW5mbygmaGVhZF9yZWYsIHdvcmt0cmVlKTsKKwl3b3JrdHJlZS0+bG9ja19yZWFzb24gPSBOVUxMOworCXdvcmt0cmVlLT5sb2NrX3JlYXNvbl92YWxpZCA9IDA7CiAKIGRvbmU6CiAJc3RyYnVmX3JlbGVhc2UoJnBhdGgpOwpAQCAtMTI1LDcgKzEyOCw3IEBACiAJc3RyYnVmX3J0cmltKCZ3b3JrdHJlZV9wYXRoKTsKIAlpZiAoIXN0cmJ1Zl9zdHJpcF9zdWZmaXgoJndvcmt0cmVlX3BhdGgsICIvLmdpdCIpKSB7CiAJCXN0cmJ1Zl9yZXNldCgmd29ya3RyZWVfcGF0aCk7Ci0JCXN0cmJ1Zl9hZGRzdHIoJndvcmt0cmVlX3BhdGgsIGFic29sdXRlX3BhdGgoIi4iKSk7CisJCXN0cmJ1Zl9hZGRfYWJzb2x1dGVfcGF0aCgmd29ya3RyZWVfcGF0aCwgIi4iKTsKIAkJc3RyYnVmX3N0cmlwX3N1ZmZpeCgmd29ya3RyZWVfcGF0aCwgIi8uIik7CiAJfQogCkBAIC0xNDMsNiArMTQ2LDggQEAKIAl3b3JrdHJlZS0+aXNfZGV0YWNoZWQgPSBpc19kZXRhY2hlZDsKIAl3b3JrdHJlZS0+aXNfY3VycmVudCA9IDA7CiAJYWRkX2hlYWRfaW5mbygmaGVhZF9yZWYsIHdvcmt0cmVlKTsKKwl3b3JrdHJlZS0+bG9ja19yZWFzb24gPSBOVUxMOworCXdvcmt0cmVlLT5sb2NrX3JlYXNvbl92YWxpZCA9IDA7CiAKIGRvbmU6CiAJc3RyYnVmX3JlbGVhc2UoJnBhdGgpOwpAQCAtMTUzLDIxICsxNTgsMTkgQEAKIAogc3RhdGljIHZvaWQgbWFya19jdXJyZW50X3dvcmt0cmVlKHN0cnVjdCB3b3JrdHJlZSAqKndvcmt0cmVlcykKIHsKLQlzdHJ1Y3Qgc3RyYnVmIGdpdF9kaXIgPSBTVFJCVUZfSU5JVDsKLQlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKKwljaGFyICpnaXRfZGlyID0geHN0cmR1cChhYnNvbHV0ZV9wYXRoKGdldF9naXRfZGlyKCkpKTsKIAlpbnQgaTsKIAotCXN0cmJ1Zl9hZGRzdHIoJmdpdF9kaXIsIGFic29sdXRlX3BhdGgoZ2V0X2dpdF9kaXIoKSkpOwogCWZvciAoaSA9IDA7IHdvcmt0cmVlc1tpXTsgaSsrKSB7CiAJCXN0cnVjdCB3b3JrdHJlZSAqd3QgPSB3b3JrdHJlZXNbaV07Ci0JCXN0cmJ1Zl9hZGRzdHIoJnBhdGgsIGFic29sdXRlX3BhdGgoZ2V0X3dvcmt0cmVlX2dpdF9kaXIod3QpKSk7Ci0JCXd0LT5pc19jdXJyZW50ID0gIWZzcGF0aGNtcChnaXRfZGlyLmJ1ZiwgcGF0aC5idWYpOwotCQlzdHJidWZfcmVzZXQoJnBhdGgpOwotCQlpZiAod3QtPmlzX2N1cnJlbnQpCisJCWNvbnN0IGNoYXIgKnd0X2dpdF9kaXIgPSBnZXRfd29ya3RyZWVfZ2l0X2Rpcih3dCk7CisKKwkJaWYgKCFmc3BhdGhjbXAoZ2l0X2RpciwgYWJzb2x1dGVfcGF0aCh3dF9naXRfZGlyKSkpIHsKKwkJCXd0LT5pc19jdXJyZW50ID0gMTsKIAkJCWJyZWFrOworCQl9CiAJfQotCXN0cmJ1Zl9yZWxlYXNlKCZnaXRfZGlyKTsKLQlzdHJidWZfcmVsZWFzZSgmcGF0aCk7CisJZnJlZShnaXRfZGlyKTsKIH0KIAogc3RydWN0IHdvcmt0cmVlICoqZ2V0X3dvcmt0cmVlcyh2b2lkKQpAQCAtMTg5LDcgKzE5Miw3IEBACiAJaWYgKGRpcikgewogCQl3aGlsZSAoKGQgPSByZWFkZGlyKGRpcikpICE9IE5VTEwpIHsKIAkJCXN0cnVjdCB3b3JrdHJlZSAqbGlua2VkID0gTlVMTDsKLQkJCWlmICghc3RyY21wKGQtPmRfbmFtZSwgIi4iKSB8fCAhc3RyY21wKGQtPmRfbmFtZSwgIi4uIikpCisJCQlpZiAoaXNfZG90X29yX2RvdGRvdChkLT5kX25hbWUpKQogCQkJCWNvbnRpbnVlOwogCiAJCQlpZiAoKGxpbmtlZCA9IGdldF9saW5rZWRfd29ya3RyZWUoZC0+ZF9uYW1lKSkpIHsKQEAgLTIxNiw2ICsyMTksNzggQEAKIAkJcmV0dXJuIGdpdF9jb21tb25fcGF0aCgid29ya3RyZWVzLyVzIiwgd3QtPmlkKTsKIH0KIAorc3RhdGljIHN0cnVjdCB3b3JrdHJlZSAqZmluZF93b3JrdHJlZV9ieV9zdWZmaXgoc3RydWN0IHdvcmt0cmVlICoqbGlzdCwKKwkJCQkJCWNvbnN0IGNoYXIgKnN1ZmZpeCkKK3sKKwlzdHJ1Y3Qgd29ya3RyZWUgKmZvdW5kID0gTlVMTDsKKwlpbnQgbnJfZm91bmQgPSAwLCBzdWZmaXhsZW47CisKKwlzdWZmaXhsZW4gPSBzdHJsZW4oc3VmZml4KTsKKwlpZiAoIXN1ZmZpeGxlbikKKwkJcmV0dXJuIE5VTEw7CisKKwlmb3IgKDsgKmxpc3QgJiYgbnJfZm91bmQgPCAyOyBsaXN0KyspIHsKKwkJY29uc3QgY2hhcgkqcGF0aAkgPSAoKmxpc3QpLT5wYXRoOworCQlpbnQJCSBwYXRobGVuID0gc3RybGVuKHBhdGgpOworCQlpbnQJCSBzdGFydAkgPSBwYXRobGVuIC0gc3VmZml4bGVuOworCisJCS8qIHN1ZmZpeCBtdXN0IHN0YXJ0IGF0IGRpcmVjdG9yeSBib3VuZGFyeSAqLworCQlpZiAoKCFzdGFydCB8fCAoc3RhcnQgPiAwICYmIGlzX2Rpcl9zZXAocGF0aFtzdGFydCAtIDFdKSkpICYmCisJCSAgICAhZnNwYXRoY21wKHN1ZmZpeCwgcGF0aCArIHN0YXJ0KSkgeworCQkJZm91bmQgPSAqbGlzdDsKKwkJCW5yX2ZvdW5kKys7CisJCX0KKwl9CisJcmV0dXJuIG5yX2ZvdW5kID09IDEgPyBmb3VuZCA6IE5VTEw7Cit9CisKK3N0cnVjdCB3b3JrdHJlZSAqZmluZF93b3JrdHJlZShzdHJ1Y3Qgd29ya3RyZWUgKipsaXN0LAorCQkJICAgICAgIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCSAgICAgICBjb25zdCBjaGFyICphcmcpCit7CisJc3RydWN0IHdvcmt0cmVlICp3dDsKKwljaGFyICpwYXRoOworCisJaWYgKCh3dCA9IGZpbmRfd29ya3RyZWVfYnlfc3VmZml4KGxpc3QsIGFyZykpKQorCQlyZXR1cm4gd3Q7CisKKwlhcmcgPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBzdHJsZW4ocHJlZml4KSwgYXJnKTsKKwlwYXRoID0geHN0cmR1cChyZWFsX3BhdGgoYXJnKSk7CisJZm9yICg7ICpsaXN0OyBsaXN0KyspCisJCWlmICghZnNwYXRoY21wKHBhdGgsIHJlYWxfcGF0aCgoKmxpc3QpLT5wYXRoKSkpCisJCQlicmVhazsKKwlmcmVlKHBhdGgpOworCXJldHVybiAqbGlzdDsKK30KKworaW50IGlzX21haW5fd29ya3RyZWUoY29uc3Qgc3RydWN0IHdvcmt0cmVlICp3dCkKK3sKKwlyZXR1cm4gIXd0LT5pZDsKK30KKworY29uc3QgY2hhciAqaXNfd29ya3RyZWVfbG9ja2VkKHN0cnVjdCB3b3JrdHJlZSAqd3QpCit7CisJYXNzZXJ0KCFpc19tYWluX3dvcmt0cmVlKHd0KSk7CisKKwlpZiAoIXd0LT5sb2NrX3JlYXNvbl92YWxpZCkgeworCQlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKKworCQlzdHJidWZfYWRkc3RyKCZwYXRoLCB3b3JrdHJlZV9naXRfcGF0aCh3dCwgImxvY2tlZCIpKTsKKwkJaWYgKGZpbGVfZXhpc3RzKHBhdGguYnVmKSkgeworCQkJc3RydWN0IHN0cmJ1ZiBsb2NrX3JlYXNvbiA9IFNUUkJVRl9JTklUOworCQkJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJmxvY2tfcmVhc29uLCBwYXRoLmJ1ZiwgMCkgPCAwKQorCQkJCWRpZV9lcnJubyhfKCJmYWlsZWQgdG8gcmVhZCAnJXMnIiksIHBhdGguYnVmKTsKKwkJCXN0cmJ1Zl90cmltKCZsb2NrX3JlYXNvbik7CisJCQl3dC0+bG9ja19yZWFzb24gPSBzdHJidWZfZGV0YWNoKCZsb2NrX3JlYXNvbiwgTlVMTCk7CisJCX0gZWxzZQorCQkJd3QtPmxvY2tfcmVhc29uID0gTlVMTDsKKwkJd3QtPmxvY2tfcmVhc29uX3ZhbGlkID0gMTsKKwkJc3RyYnVmX3JlbGVhc2UoJnBhdGgpOworCX0KKworCXJldHVybiB3dC0+bG9ja19yZWFzb247Cit9CisKIGludCBpc193b3JrdHJlZV9iZWluZ19yZWJhc2VkKGNvbnN0IHN0cnVjdCB3b3JrdHJlZSAqd3QsCiAJCQkgICAgICBjb25zdCBjaGFyICp0YXJnZXQpCiB7CkBAIC0yNzAsNiArMzQ1LDggQEAKIAogCWZvciAoaSA9IDA7IHdvcmt0cmVlc1tpXTsgaSsrKSB7CiAJCXN0cnVjdCB3b3JrdHJlZSAqd3QgPSB3b3JrdHJlZXNbaV07CisJCWlmICh3dC0+aXNfYmFyZSkKKwkJCWNvbnRpbnVlOwogCiAJCWlmICh3dC0+aXNfZGV0YWNoZWQgJiYgIXN0cmNtcChzeW1yZWYsICJIRUFEIikpIHsKIAkJCWlmIChpc193b3JrdHJlZV9iZWluZ19yZWJhc2VkKHd0LCB0YXJnZXQpKSB7CmRpZmYgLS1naXQgYS93b3JrdHJlZS5oIGIvd29ya3RyZWUuaAppbmRleCAxMzk0OTA5Li45MGUxMzExIDEwMDY0NAotLS0gYS93b3JrdHJlZS5oCisrKyBiL3dvcmt0cmVlLmgKQEAgLTUsMTAgKzUsMTIgQEAKIAljaGFyICpwYXRoOwogCWNoYXIgKmlkOwogCWNoYXIgKmhlYWRfcmVmOworCWNoYXIgKmxvY2tfcmVhc29uOwkvKiBpbnRlcm5hbCB1c2UgKi8KIAl1bnNpZ25lZCBjaGFyIGhlYWRfc2hhMVsyMF07CiAJaW50IGlzX2RldGFjaGVkOwogCWludCBpc19iYXJlOwogCWludCBpc19jdXJyZW50OworCWludCBsb2NrX3JlYXNvbl92YWxpZDsKIH07CiAKIC8qIEZ1bmN0aW9ucyBmb3IgYWN0aW5nIG9uIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB3b3JrdHJlZXMuICovCkBAIC0zMCw2ICszMiwyNSBAQAogZXh0ZXJuIGNvbnN0IGNoYXIgKmdldF93b3JrdHJlZV9naXRfZGlyKGNvbnN0IHN0cnVjdCB3b3JrdHJlZSAqd3QpOwogCiAvKgorICogU2VhcmNoIGEgd29ya3RyZWUgdGhhdCBjYW4gYmUgdW5hbWJpZ3VvdXNseSBpZGVudGlmaWVkIGJ5CisgKiAiYXJnIi4gInByZWZpeCIgbXVzdCBub3QgYmUgTlVMTC4KKyAqLworZXh0ZXJuIHN0cnVjdCB3b3JrdHJlZSAqZmluZF93b3JrdHJlZShzdHJ1Y3Qgd29ya3RyZWUgKipsaXN0LAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCQkgICAgICBjb25zdCBjaGFyICphcmcpOworCisvKgorICogUmV0dXJuIHRydWUgaWYgdGhlIGdpdmVuIHdvcmt0cmVlIGlzIHRoZSBtYWluIG9uZS4KKyAqLworZXh0ZXJuIGludCBpc19tYWluX3dvcmt0cmVlKGNvbnN0IHN0cnVjdCB3b3JrdHJlZSAqd3QpOworCisvKgorICogUmV0dXJuIHRoZSByZWFzb24gc3RyaW5nIGlmIHRoZSBnaXZlbiB3b3JrdHJlZSBpcyBsb2NrZWQgb3IgTlVMTAorICogb3RoZXJ3aXNlLgorICovCitleHRlcm4gY29uc3QgY2hhciAqaXNfd29ya3RyZWVfbG9ja2VkKHN0cnVjdCB3b3JrdHJlZSAqd3QpOworCisvKgogICogRnJlZSB1cCB0aGUgbWVtb3J5IGZvciB3b3JrdHJlZShzKQogICovCiBleHRlcm4gdm9pZCBmcmVlX3dvcmt0cmVlcyhzdHJ1Y3Qgd29ya3RyZWUgKiopOwpkaWZmIC0tZ2l0IGEvd3JhcHBlci5jIGIvd3JhcHBlci5jCmluZGV4IDVkYzRlMTUuLmU3ZjE5NzkgMTAwNjQ0Ci0tLSBhL3dyYXBwZXIuYworKysgYi93cmFwcGVyLmMKQEAgLTIyNyw2ICsyMjcsMjQgQEAKIAl9CiB9CiAKK3N0YXRpYyBpbnQgaGFuZGxlX25vbmJsb2NrKGludCBmZCwgc2hvcnQgcG9sbF9ldmVudHMsIGludCBlcnIpCit7CisJc3RydWN0IHBvbGxmZCBwZmQ7CisKKwlpZiAoZXJyICE9IEVBR0FJTiAmJiBlcnIgIT0gRVdPVUxEQkxPQ0spCisJCXJldHVybiAwOworCisJcGZkLmZkID0gZmQ7CisJcGZkLmV2ZW50cyA9IHBvbGxfZXZlbnRzOworCisJLyoKKwkgKiBubyBuZWVkIHRvIGNoZWNrIGZvciBlcnJvcnMsIGhlcmU7CisJICogYSBzdWJzZXF1ZW50IHJlYWQvd3JpdGUgd2lsbCBkZXRlY3QgdW5yZWNvdmVyYWJsZSBlcnJvcnMKKwkgKi8KKwlwb2xsKCZwZmQsIDEsIC0xKTsKKwlyZXR1cm4gMTsKK30KKwogLyoKICAqIHhyZWFkKCkgaXMgdGhlIHNhbWUgYSByZWFkKCksIGJ1dCBpdCBhdXRvbWF0aWNhbGx5IHJlc3RhcnRzIHJlYWQoKQogICogb3BlcmF0aW9ucyB3aXRoIGEgcmVjb3ZlcmFibGUgZXJyb3IgKEVBR0FJTiBhbmQgRUlOVFIpLiB4cmVhZCgpCkBAIC0yNDIsMjAgKzI2MCw4IEBACiAJCWlmIChuciA8IDApIHsKIAkJCWlmIChlcnJubyA9PSBFSU5UUikKIAkJCQljb250aW51ZTsKLQkJCWlmIChlcnJubyA9PSBFQUdBSU4gfHwgZXJybm8gPT0gRVdPVUxEQkxPQ0spIHsKLQkJCQlzdHJ1Y3QgcG9sbGZkIHBmZDsKLQkJCQlwZmQuZXZlbnRzID0gUE9MTElOOwotCQkJCXBmZC5mZCA9IGZkOwotCQkJCS8qCi0JCQkJICogaXQgaXMgT0sgaWYgdGhpcyBwb2xsKCkgZmFpbGVkOyB3ZQotCQkJCSAqIHdhbnQgdG8gbGVhdmUgdGhpcyBpbmZpbml0ZSBsb29wCi0JCQkJICogb25seSB3aGVuIHJlYWQoKSByZXR1cm5zIHdpdGgKLQkJCQkgKiBzdWNjZXNzLCBvciBhbiBleHBlY3RlZCBmYWlsdXJlLAotCQkJCSAqIHdoaWNoIHdvdWxkIGJlIGNoZWNrZWQgYnkgdGhlIG5leHQKLQkJCQkgKiBjYWxsIHRvIHJlYWQoMikuCi0JCQkJICovCi0JCQkJcG9sbCgmcGZkLCAxLCAtMSk7Ci0JCQl9CisJCQlpZiAoaGFuZGxlX25vbmJsb2NrKGZkLCBQT0xMSU4sIGVycm5vKSkKKwkJCQljb250aW51ZTsKIAkJfQogCQlyZXR1cm4gbnI7CiAJfQpAQCAtMjczLDggKzI3OSwxMyBAQAogCSAgICBsZW4gPSBNQVhfSU9fU0laRTsKIAl3aGlsZSAoMSkgewogCQluciA9IHdyaXRlKGZkLCBidWYsIGxlbik7Ci0JCWlmICgobnIgPCAwKSAmJiAoZXJybm8gPT0gRUFHQUlOIHx8IGVycm5vID09IEVJTlRSKSkKLQkJCWNvbnRpbnVlOworCQlpZiAobnIgPCAwKSB7CisJCQlpZiAoZXJybm8gPT0gRUlOVFIpCisJCQkJY29udGludWU7CisJCQlpZiAoaGFuZGxlX25vbmJsb2NrKGZkLCBQT0xMT1VULCBlcnJubykpCisJCQkJY29udGludWU7CisJCX0KKwogCQlyZXR1cm4gbnI7CiAJfQogfQpAQCAtNjQwLDU2ICs2NTEsMjggQEAKIAlyZXR1cm4gbGVuOwogfQogCi1zdGF0aWMgaW50IHdyaXRlX2ZpbGVfdihjb25zdCBjaGFyICpwYXRoLCBpbnQgZmF0YWwsCi0JCQljb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgcGFyYW1zKQordm9pZCB3cml0ZV9maWxlX2J1Zihjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCiB7CisJaW50IGZkID0geG9wZW4ocGF0aCwgT19XUk9OTFkgfCBPX0NSRUFUIHwgT19UUlVOQywgMDY2Nik7CisJaWYgKHdyaXRlX2luX2Z1bGwoZmQsIGJ1ZiwgbGVuKSAhPSBsZW4pCisJCWRpZV9lcnJubyhfKCJjb3VsZCBub3Qgd3JpdGUgdG8gJXMiKSwgcGF0aCk7CisJaWYgKGNsb3NlKGZkKSkKKwkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBjbG9zZSAlcyIpLCBwYXRoKTsKK30KKwordm9pZCB3cml0ZV9maWxlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXZhX2xpc3QgcGFyYW1zOwogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKLQlpbnQgZmQgPSBvcGVuKHBhdGgsIE9fUkRXUiB8IE9fQ1JFQVQgfCBPX1RSVU5DLCAwNjY2KTsKLQlpZiAoZmQgPCAwKSB7Ci0JCWlmIChmYXRhbCkKLQkJCWRpZV9lcnJubyhfKCJjb3VsZCBub3Qgb3BlbiAlcyBmb3Igd3JpdGluZyIpLCBwYXRoKTsKLQkJcmV0dXJuIC0xOwotCX0KKworCXZhX3N0YXJ0KHBhcmFtcywgZm10KTsKIAlzdHJidWZfdmFkZGYoJnNiLCBmbXQsIHBhcmFtcyk7CisJdmFfZW5kKHBhcmFtcyk7CisKIAlzdHJidWZfY29tcGxldGVfbGluZSgmc2IpOwotCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBzYi5idWYsIHNiLmxlbikgIT0gc2IubGVuKSB7Ci0JCWludCBlcnIgPSBlcnJubzsKLQkJY2xvc2UoZmQpOwotCQlzdHJidWZfcmVsZWFzZSgmc2IpOwotCQllcnJubyA9IGVycjsKLQkJaWYgKGZhdGFsKQotCQkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCB3cml0ZSB0byAlcyIpLCBwYXRoKTsKLQkJcmV0dXJuIC0xOwotCX0KKworCXdyaXRlX2ZpbGVfYnVmKHBhdGgsIHNiLmJ1Ziwgc2IubGVuKTsKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwotCWlmIChjbG9zZShmZCkpIHsKLQkJaWYgKGZhdGFsKQotCQkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBjbG9zZSAlcyIpLCBwYXRoKTsKLQkJcmV0dXJuIC0xOwotCX0KLQlyZXR1cm4gMDsKLX0KLQotaW50IHdyaXRlX2ZpbGUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqZm10LCAuLi4pCi17Ci0JaW50IHN0YXR1czsKLQl2YV9saXN0IHBhcmFtczsKLQotCXZhX3N0YXJ0KHBhcmFtcywgZm10KTsKLQlzdGF0dXMgPSB3cml0ZV9maWxlX3YocGF0aCwgMSwgZm10LCBwYXJhbXMpOwotCXZhX2VuZChwYXJhbXMpOwotCXJldHVybiBzdGF0dXM7Ci19Ci0KLWludCB3cml0ZV9maWxlX2dlbnRseShjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpmbXQsIC4uLikKLXsKLQlpbnQgc3RhdHVzOwotCXZhX2xpc3QgcGFyYW1zOwotCi0JdmFfc3RhcnQocGFyYW1zLCBmbXQpOwotCXN0YXR1cyA9IHdyaXRlX2ZpbGVfdihwYXRoLCAwLCBmbXQsIHBhcmFtcyk7Ci0JdmFfZW5kKHBhcmFtcyk7Ci0JcmV0dXJuIHN0YXR1czsKIH0KIAogdm9pZCBzbGVlcF9taWxsaXNlYyhpbnQgbWlsbGlzZWMpCmRpZmYgLS1naXQgYS93cml0ZV9vcl9kaWUuYyBiL3dyaXRlX29yX2RpZS5jCmluZGV4IDQ5ZTgwYWEuLmVhYjhjOGQgMTAwNjQ0Ci0tLSBhL3dyaXRlX29yX2RpZS5jCisrKyBiL3dyaXRlX29yX2RpZS5jCkBAIC0xLDE5ICsxLDYgQEAKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAKLXN0YXRpYyB2b2lkIGNoZWNrX3BpcGUoaW50IGVycikKLXsKLQlpZiAoZXJyID09IEVQSVBFKSB7Ci0JCWlmIChpbl9hc3luYygpKQotCQkJYXN5bmNfZXhpdCgxNDEpOwotCi0JCXNpZ25hbChTSUdQSVBFLCBTSUdfREZMKTsKLQkJcmFpc2UoU0lHUElQRSk7Ci0JCS8qIFNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dCBqdXN0IGluIGNhc2UuLi4gKi8KLQkJZXhpdCgxNDEpOwotCX0KLX0KLQogLyoKICAqIFNvbWUgY2FzZXMgdXNlIHN0ZGlvLCBidXQgd2FudCB0byBmbHVzaCBhZnRlciB0aGUgd3JpdGUKICAqIHRvIGdldCBlcnJvciBoYW5kbGluZyAoYW5kIHRvIGdldCBiZXR0ZXIgaW50ZXJhY3RpdmUKQEAgLTgyLDI2ICs2OSwzIEBACiAJCWRpZV9lcnJubygid3JpdGUgZXJyb3IiKTsKIAl9CiB9Ci0KLWludCB3cml0ZV9vcl93aGluZV9waXBlKGludCBmZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgY291bnQsIGNvbnN0IGNoYXIgKm1zZykKLXsKLQlpZiAod3JpdGVfaW5fZnVsbChmZCwgYnVmLCBjb3VudCkgPCAwKSB7Ci0JCWNoZWNrX3BpcGUoZXJybm8pOwotCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiB3cml0ZSBlcnJvciAoJXMpXG4iLAotCQkJbXNnLCBzdHJlcnJvcihlcnJubykpOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlyZXR1cm4gMTsKLX0KLQotaW50IHdyaXRlX29yX3doaW5lKGludCBmZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgY291bnQsIGNvbnN0IGNoYXIgKm1zZykKLXsKLQlpZiAod3JpdGVfaW5fZnVsbChmZCwgYnVmLCBjb3VudCkgPCAwKSB7Ci0JCWZwcmludGYoc3RkZXJyLCAiJXM6IHdyaXRlIGVycm9yICglcylcbiIsCi0JCQltc2csIHN0cmVycm9yKGVycm5vKSk7Ci0JCXJldHVybiAwOwotCX0KLQotCXJldHVybiAxOwotfQpkaWZmIC0tZ2l0IGEvd3Qtc3RhdHVzLmMgYi93dC1zdGF0dXMuYwppbmRleCA0ZjI3YmQ2Li5hMmU5ZDMzIDEwMDY0NAotLS0gYS93dC1zdGF0dXMuYworKysgYi93dC1zdGF0dXMuYwpAQCAtMTYsNiArMTYsNyBAQAogI2luY2x1ZGUgInN0cmJ1Zi5oIgogI2luY2x1ZGUgInV0ZjguaCIKICNpbmNsdWRlICJ3b3JrdHJlZS5oIgorI2luY2x1ZGUgImxvY2tmaWxlLmgiCiAKIHN0YXRpYyBjb25zdCBjaGFyIGN1dF9saW5lW10gPQogIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSA+OCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiI7CkBAIC0xMzksNyArMTQwLDcgQEAKIAlzLT5kaXNwbGF5X2NvbW1lbnRfcHJlZml4ID0gMDsKIH0KIAotc3RhdGljIHZvaWQgd3Rfc3RhdHVzX3ByaW50X3VubWVyZ2VkX2hlYWRlcihzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQorc3RhdGljIHZvaWQgd3RfbG9uZ3N0YXR1c19wcmludF91bm1lcmdlZF9oZWFkZXIoc3RydWN0IHd0X3N0YXR1cyAqcykKIHsKIAlpbnQgaTsKIAlpbnQgZGVsX21vZF9jb25mbGljdCA9IDA7CkBAIC0xOTEsNyArMTkyLDcgQEAKIAlzdGF0dXNfcHJpbnRmX2xuKHMsIGMsICIlcyIsICIiKTsKIH0KIAotc3RhdGljIHZvaWQgd3Rfc3RhdHVzX3ByaW50X2NhY2hlZF9oZWFkZXIoc3RydWN0IHd0X3N0YXR1cyAqcykKK3N0YXRpYyB2b2lkIHd0X2xvbmdzdGF0dXNfcHJpbnRfY2FjaGVkX2hlYWRlcihzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQogewogCWNvbnN0IGNoYXIgKmMgPSBjb2xvcihXVF9TVEFUVVNfSEVBREVSLCBzKTsKIApAQCAtMjA3LDkgKzIwOCw5IEBACiAJc3RhdHVzX3ByaW50Zl9sbihzLCBjLCAiJXMiLCAiIik7CiB9CiAKLXN0YXRpYyB2b2lkIHd0X3N0YXR1c19wcmludF9kaXJ0eV9oZWFkZXIoc3RydWN0IHd0X3N0YXR1cyAqcywKLQkJCQkJIGludCBoYXNfZGVsZXRlZCwKLQkJCQkJIGludCBoYXNfZGlydHlfc3VibW9kdWxlcykKK3N0YXRpYyB2b2lkIHd0X2xvbmdzdGF0dXNfcHJpbnRfZGlydHlfaGVhZGVyKHN0cnVjdCB3dF9zdGF0dXMgKnMsCisJCQkJCSAgICAgaW50IGhhc19kZWxldGVkLAorCQkJCQkgICAgIGludCBoYXNfZGlydHlfc3VibW9kdWxlcykKIHsKIAljb25zdCBjaGFyICpjID0gY29sb3IoV1RfU1RBVFVTX0hFQURFUiwgcyk7CiAKQEAgLTIyNiw5ICsyMjcsOSBAQAogCXN0YXR1c19wcmludGZfbG4ocywgYywgIiVzIiwgIiIpOwogfQogCi1zdGF0aWMgdm9pZCB3dF9zdGF0dXNfcHJpbnRfb3RoZXJfaGVhZGVyKHN0cnVjdCB3dF9zdGF0dXMgKnMsCi0JCQkJCSBjb25zdCBjaGFyICp3aGF0LAotCQkJCQkgY29uc3QgY2hhciAqaG93KQorc3RhdGljIHZvaWQgd3RfbG9uZ3N0YXR1c19wcmludF9vdGhlcl9oZWFkZXIoc3RydWN0IHd0X3N0YXR1cyAqcywKKwkJCQkJICAgICBjb25zdCBjaGFyICp3aGF0LAorCQkJCQkgICAgIGNvbnN0IGNoYXIgKmhvdykKIHsKIAljb25zdCBjaGFyICpjID0gY29sb3IoV1RfU1RBVFVTX0hFQURFUiwgcyk7CiAJc3RhdHVzX3ByaW50Zl9sbihzLCBjLCAiJXM6Iiwgd2hhdCk7CkBAIC0yMzgsNyArMjM5LDcgQEAKIAlzdGF0dXNfcHJpbnRmX2xuKHMsIGMsICIlcyIsICIiKTsKIH0KIAotc3RhdGljIHZvaWQgd3Rfc3RhdHVzX3ByaW50X3RyYWlsZXIoc3RydWN0IHd0X3N0YXR1cyAqcykKK3N0YXRpYyB2b2lkIHd0X2xvbmdzdGF0dXNfcHJpbnRfdHJhaWxlcihzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQogewogCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IoV1RfU1RBVFVTX0hFQURFUiwgcyksICIlcyIsICIiKTsKIH0KQEAgLTI2Myw3ICsyNjQsNyBAQAogCWNhc2UgNzoKIAkJcmV0dXJuIF8oImJvdGggbW9kaWZpZWQ6Iik7CiAJZGVmYXVsdDoKLQkJZGllKF8oImJ1ZzogdW5oYW5kbGVkIHVubWVyZ2VkIHN0YXR1cyAleCIpLCBzdGFnZW1hc2spOworCQlkaWUoIkJVRzogdW5oYW5kbGVkIHVubWVyZ2VkIHN0YXR1cyAleCIsIHN0YWdlbWFzayk7CiAJfQogfQogCkBAIC0zMDQsOCArMzA1LDggQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi1zdGF0aWMgdm9pZCB3dF9zdGF0dXNfcHJpbnRfdW5tZXJnZWRfZGF0YShzdHJ1Y3Qgd3Rfc3RhdHVzICpzLAotCQkJCQkgIHN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdCkKK3N0YXRpYyB2b2lkIHd0X2xvbmdzdGF0dXNfcHJpbnRfdW5tZXJnZWRfZGF0YShzdHJ1Y3Qgd3Rfc3RhdHVzICpzLAorCQkJCQkgICAgICBzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXQpCiB7CiAJY29uc3QgY2hhciAqYyA9IGNvbG9yKFdUX1NUQVRVU19VTk1FUkdFRCwgcyk7CiAJc3RydWN0IHd0X3N0YXR1c19jaGFuZ2VfZGF0YSAqZCA9IGl0LT51dGlsOwpAQCAtMzMxLDkgKzMzMiw5IEBACiAJc3RyYnVmX3JlbGVhc2UoJm9uZWJ1Zik7CiB9CiAKLXN0YXRpYyB2b2lkIHd0X3N0YXR1c19wcmludF9jaGFuZ2VfZGF0YShzdHJ1Y3Qgd3Rfc3RhdHVzICpzLAotCQkJCQlpbnQgY2hhbmdlX3R5cGUsCi0JCQkJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdCkKK3N0YXRpYyB2b2lkIHd0X2xvbmdzdGF0dXNfcHJpbnRfY2hhbmdlX2RhdGEoc3RydWN0IHd0X3N0YXR1cyAqcywKKwkJCQkJICAgIGludCBjaGFuZ2VfdHlwZSwKKwkJCQkJICAgIHN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdCkKIHsKIAlzdHJ1Y3Qgd3Rfc3RhdHVzX2NoYW5nZV9kYXRhICpkID0gaXQtPnV0aWw7CiAJY29uc3QgY2hhciAqYyA9IGNvbG9yKGNoYW5nZV90eXBlLCBzKTsKQEAgLTM2NywxOCArMzY4LDE4IEBACiAJCWlmIChkLT5uZXdfc3VibW9kdWxlX2NvbW1pdHMgfHwgZC0+ZGlydHlfc3VibW9kdWxlKSB7CiAJCQlzdHJidWZfYWRkc3RyKCZleHRyYSwgIiAoIik7CiAJCQlpZiAoZC0+bmV3X3N1Ym1vZHVsZV9jb21taXRzKQotCQkJCXN0cmJ1Zl9hZGRmKCZleHRyYSwgXygibmV3IGNvbW1pdHMsICIpKTsKKwkJCQlzdHJidWZfYWRkc3RyKCZleHRyYSwgXygibmV3IGNvbW1pdHMsICIpKTsKIAkJCWlmIChkLT5kaXJ0eV9zdWJtb2R1bGUgJiBESVJUWV9TVUJNT0RVTEVfTU9ESUZJRUQpCi0JCQkJc3RyYnVmX2FkZGYoJmV4dHJhLCBfKCJtb2RpZmllZCBjb250ZW50LCAiKSk7CisJCQkJc3RyYnVmX2FkZHN0cigmZXh0cmEsIF8oIm1vZGlmaWVkIGNvbnRlbnQsICIpKTsKIAkJCWlmIChkLT5kaXJ0eV9zdWJtb2R1bGUgJiBESVJUWV9TVUJNT0RVTEVfVU5UUkFDS0VEKQotCQkJCXN0cmJ1Zl9hZGRmKCZleHRyYSwgXygidW50cmFja2VkIGNvbnRlbnQsICIpKTsKKwkJCQlzdHJidWZfYWRkc3RyKCZleHRyYSwgXygidW50cmFja2VkIGNvbnRlbnQsICIpKTsKIAkJCXN0cmJ1Zl9zZXRsZW4oJmV4dHJhLCBleHRyYS5sZW4gLSAyKTsKIAkJCXN0cmJ1Zl9hZGRjaCgmZXh0cmEsICcpJyk7CiAJCX0KIAkJc3RhdHVzID0gZC0+d29ya3RyZWVfc3RhdHVzOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlkaWUoIkJVRzogdW5oYW5kbGVkIGNoYW5nZV90eXBlICVkIGluIHd0X3N0YXR1c19wcmludF9jaGFuZ2VfZGF0YSIsCisJCWRpZSgiQlVHOiB1bmhhbmRsZWQgY2hhbmdlX3R5cGUgJWQgaW4gd3RfbG9uZ3N0YXR1c19wcmludF9jaGFuZ2VfZGF0YSIsCiAJCSAgICBjaGFuZ2VfdHlwZSk7CiAJfQogCkBAIC0zODgsNyArMzg5LDcgQEAKIAlzdGF0dXNfcHJpbnRmKHMsIGNvbG9yKFdUX1NUQVRVU19IRUFERVIsIHMpLCAiXHQiKTsKIAl3aGF0ID0gd3Rfc3RhdHVzX2RpZmZfc3RhdHVzX3N0cmluZyhzdGF0dXMpOwogCWlmICghd2hhdCkKLQkJZGllKF8oImJ1ZzogdW5oYW5kbGVkIGRpZmYgc3RhdHVzICVjIiksIHN0YXR1cyk7CisJCWRpZSgiQlVHOiB1bmhhbmRsZWQgZGlmZiBzdGF0dXMgJWMiLCBzdGF0dXMpOwogCWxlbiA9IGxhYmVsX3dpZHRoIC0gdXRmOF9zdHJ3aWR0aCh3aGF0KTsKIAlhc3NlcnQobGVuID49IDApOwogCWlmIChzdGF0dXMgPT0gRElGRl9TVEFUVVNfQ09QSUVEIHx8IHN0YXR1cyA9PSBESUZGX1NUQVRVU19SRU5BTUVEKQpAQCAtNDMyLDcgKzQzMywzMyBAQAogCQkJZC0+d29ya3RyZWVfc3RhdHVzID0gcC0+c3RhdHVzOwogCQlkLT5kaXJ0eV9zdWJtb2R1bGUgPSBwLT50d28tPmRpcnR5X3N1Ym1vZHVsZTsKIAkJaWYgKFNfSVNHSVRMSU5LKHAtPnR3by0+bW9kZSkpCi0JCQlkLT5uZXdfc3VibW9kdWxlX2NvbW1pdHMgPSAhIWhhc2hjbXAocC0+b25lLT5zaGExLCBwLT50d28tPnNoYTEpOworCQkJZC0+bmV3X3N1Ym1vZHVsZV9jb21taXRzID0gISFvaWRjbXAoJnAtPm9uZS0+b2lkLAorCQkJCQkJCSAgICAmcC0+dHdvLT5vaWQpOworCisJCXN3aXRjaCAocC0+c3RhdHVzKSB7CisJCWNhc2UgRElGRl9TVEFUVVNfQURERUQ6CisJCQlkLT5tb2RlX3dvcmt0cmVlID0gcC0+dHdvLT5tb2RlOworCQkJYnJlYWs7CisKKwkJY2FzZSBESUZGX1NUQVRVU19ERUxFVEVEOgorCQkJZC0+bW9kZV9pbmRleCA9IHAtPm9uZS0+bW9kZTsKKwkJCW9pZGNweSgmZC0+b2lkX2luZGV4LCAmcC0+b25lLT5vaWQpOworCQkJLyogbW9kZV93b3JrdHJlZSBpcyB6ZXJvIGZvciBhIGRlbGV0ZS4gKi8KKwkJCWJyZWFrOworCisJCWNhc2UgRElGRl9TVEFUVVNfTU9ESUZJRUQ6CisJCWNhc2UgRElGRl9TVEFUVVNfVFlQRV9DSEFOR0VEOgorCQljYXNlIERJRkZfU1RBVFVTX1VOTUVSR0VEOgorCQkJZC0+bW9kZV9pbmRleCA9IHAtPm9uZS0+bW9kZTsKKwkJCWQtPm1vZGVfd29ya3RyZWUgPSBwLT50d28tPm1vZGU7CisJCQlvaWRjcHkoJmQtPm9pZF9pbmRleCwgJnAtPm9uZS0+b2lkKTsKKwkJCWJyZWFrOworCisJCWNhc2UgRElGRl9TVEFUVVNfVU5LTk9XTjoKKwkJCWRpZSgiQlVHOiB3b3JrdHJlZSBzdGF0dXMgdW5rbm93bj8/PyIpOworCQkJYnJlYWs7CisJCX0KKwogCX0KIH0KIApAQCAtNDc4LDEyICs1MDUsMzYgQEAKIAkJaWYgKCFkLT5pbmRleF9zdGF0dXMpCiAJCQlkLT5pbmRleF9zdGF0dXMgPSBwLT5zdGF0dXM7CiAJCXN3aXRjaCAocC0+c3RhdHVzKSB7CisJCWNhc2UgRElGRl9TVEFUVVNfQURERUQ6CisJCQkvKiBMZWF2ZSB7bW9kZSxvaWR9X2hlYWQgemVybyBmb3IgYW4gYWRkLiAqLworCQkJZC0+bW9kZV9pbmRleCA9IHAtPnR3by0+bW9kZTsKKwkJCW9pZGNweSgmZC0+b2lkX2luZGV4LCAmcC0+dHdvLT5vaWQpOworCQkJYnJlYWs7CisJCWNhc2UgRElGRl9TVEFUVVNfREVMRVRFRDoKKwkJCWQtPm1vZGVfaGVhZCA9IHAtPm9uZS0+bW9kZTsKKwkJCW9pZGNweSgmZC0+b2lkX2hlYWQsICZwLT5vbmUtPm9pZCk7CisJCQkvKiBMZWF2ZSB7bW9kZSxvaWR9X2luZGV4IHplcm8gZm9yIGEgZGVsZXRlLiAqLworCQkJYnJlYWs7CisKIAkJY2FzZSBESUZGX1NUQVRVU19DT1BJRUQ6CiAJCWNhc2UgRElGRl9TVEFUVVNfUkVOQU1FRDoKIAkJCWQtPmhlYWRfcGF0aCA9IHhzdHJkdXAocC0+b25lLT5wYXRoKTsKKwkJCWQtPnNjb3JlID0gcC0+c2NvcmUgKiAxMDAgLyBNQVhfU0NPUkU7CisJCQkvKiBmYWxsdGhydSAqLworCQljYXNlIERJRkZfU1RBVFVTX01PRElGSUVEOgorCQljYXNlIERJRkZfU1RBVFVTX1RZUEVfQ0hBTkdFRDoKKwkJCWQtPm1vZGVfaGVhZCA9IHAtPm9uZS0+bW9kZTsKKwkJCWQtPm1vZGVfaW5kZXggPSBwLT50d28tPm1vZGU7CisJCQlvaWRjcHkoJmQtPm9pZF9oZWFkLCAmcC0+b25lLT5vaWQpOworCQkJb2lkY3B5KCZkLT5vaWRfaW5kZXgsICZwLT50d28tPm9pZCk7CiAJCQlicmVhazsKIAkJY2FzZSBESUZGX1NUQVRVU19VTk1FUkdFRDoKIAkJCWQtPnN0YWdlbWFzayA9IHVubWVyZ2VkX21hc2socC0+dHdvLT5wYXRoKTsKKwkJCS8qCisJCQkgKiBEb24ndCBib3RoZXIgc2V0dGluZyB7bW9kZSxvaWR9X3toZWFkLGluZGV4fSBzaW5jZSB0aGUgcHJpbnQKKwkJCSAqIGNvZGUgd2lsbCBvdXRwdXQgdGhlIHN0YWdlIHZhbHVlcyBkaXJlY3RseSBhbmQgbm90IHVzZSB0aGUKKwkJCSAqIHZhbHVlcyBpbiB0aGVzZSBmaWVsZHMuCisJCQkgKi8KIAkJCWJyZWFrOwogCQl9CiAJfQpAQCAtNDk3LDYgKzU0OCw3IEBACiAJc2V0dXBfcmV2aXNpb25zKDAsIE5VTEwsICZyZXYsIE5VTEwpOwogCXJldi5kaWZmb3B0Lm91dHB1dF9mb3JtYXQgfD0gRElGRl9GT1JNQVRfQ0FMTEJBQ0s7CiAJRElGRl9PUFRfU0VUKCZyZXYuZGlmZm9wdCwgRElSVFlfU1VCTU9EVUxFUyk7CisJcmV2LmRpZmZvcHQuaXRhX2ludmlzaWJsZV9pbl9pbmRleCA9IDE7CiAJaWYgKCFzLT5zaG93X3VudHJhY2tlZF9maWxlcykKIAkJRElGRl9PUFRfU0VUKCZyZXYuZGlmZm9wdCwgSUdOT1JFX1VOVFJBQ0tFRF9JTl9TVUJNT0RVTEVTKTsKIAlpZiAocy0+aWdub3JlX3N1Ym1vZHVsZV9hcmcpIHsKQEAgLTUyMCw2ICs1NzIsNyBAQAogCXNldHVwX3JldmlzaW9ucygwLCBOVUxMLCAmcmV2LCAmb3B0KTsKIAogCURJRkZfT1BUX1NFVCgmcmV2LmRpZmZvcHQsIE9WRVJSSURFX1NVQk1PRFVMRV9DT05GSUcpOworCXJldi5kaWZmb3B0Lml0YV9pbnZpc2libGVfaW5faW5kZXggPSAxOwogCWlmIChzLT5pZ25vcmVfc3VibW9kdWxlX2FyZykgewogCQloYW5kbGVfaWdub3JlX3N1Ym1vZHVsZXNfYXJnKCZyZXYuZGlmZm9wdCwgcy0+aWdub3JlX3N1Ym1vZHVsZV9hcmcpOwogCX0gZWxzZSB7CkBAIC01NTUsNiArNjA4LDggQEAKIAogCQlpZiAoIWNlX3BhdGhfbWF0Y2goY2UsICZzLT5wYXRoc3BlYywgTlVMTCkpCiAJCQljb250aW51ZTsKKwkJaWYgKGNlX2ludGVudF90b19hZGQoY2UpKQorCQkJY29udGludWU7CiAJCWl0ID0gc3RyaW5nX2xpc3RfaW5zZXJ0KCZzLT5jaGFuZ2UsIGNlLT5uYW1lKTsKIAkJZCA9IGl0LT51dGlsOwogCQlpZiAoIWQpIHsKQEAgLTU2NCw5ICs2MTksMTcgQEAKIAkJaWYgKGNlX3N0YWdlKGNlKSkgewogCQkJZC0+aW5kZXhfc3RhdHVzID0gRElGRl9TVEFUVVNfVU5NRVJHRUQ7CiAJCQlkLT5zdGFnZW1hc2sgfD0gKDEgPDwgKGNlX3N0YWdlKGNlKSAtIDEpKTsKLQkJfQotCQllbHNlCisJCQkvKgorCQkJICogRG9uJ3QgYm90aGVyIHNldHRpbmcge21vZGUsb2lkfV97aGVhZCxpbmRleH0gc2luY2UgdGhlIHByaW50CisJCQkgKiBjb2RlIHdpbGwgb3V0cHV0IHRoZSBzdGFnZSB2YWx1ZXMgZGlyZWN0bHkgYW5kIG5vdCB1c2UgdGhlCisJCQkgKiB2YWx1ZXMgaW4gdGhlc2UgZmllbGRzLgorCQkJICovCisJCX0gZWxzZSB7CiAJCQlkLT5pbmRleF9zdGF0dXMgPSBESUZGX1NUQVRVU19BRERFRDsKKwkJCS8qIExlYXZlIHttb2RlLG9pZH1faGVhZCB6ZXJvIGZvciBhZGRzLiAqLworCQkJZC0+bW9kZV9pbmRleCA9IGNlLT5jZV9tb2RlOworCQkJaGFzaGNweShkLT5vaWRfaW5kZXguaGFzaCwgY2UtPm9pZC5oYXNoKTsKKwkJfQogCX0KIH0KIApAQCAtNjI2LDcgKzY4OSw3IEBACiAJd3Rfc3RhdHVzX2NvbGxlY3RfdW50cmFja2VkKHMpOwogfQogCi1zdGF0aWMgdm9pZCB3dF9zdGF0dXNfcHJpbnRfdW5tZXJnZWQoc3RydWN0IHd0X3N0YXR1cyAqcykKK3N0YXRpYyB2b2lkIHd0X2xvbmdzdGF0dXNfcHJpbnRfdW5tZXJnZWQoc3RydWN0IHd0X3N0YXR1cyAqcykKIHsKIAlpbnQgc2hvd25faGVhZGVyID0gMDsKIAlpbnQgaTsKQEAgLTYzOSwxNyArNzAyLDE3IEBACiAJCWlmICghZC0+c3RhZ2VtYXNrKQogCQkJY29udGludWU7CiAJCWlmICghc2hvd25faGVhZGVyKSB7Ci0JCQl3dF9zdGF0dXNfcHJpbnRfdW5tZXJnZWRfaGVhZGVyKHMpOworCQkJd3RfbG9uZ3N0YXR1c19wcmludF91bm1lcmdlZF9oZWFkZXIocyk7CiAJCQlzaG93bl9oZWFkZXIgPSAxOwogCQl9Ci0JCXd0X3N0YXR1c19wcmludF91bm1lcmdlZF9kYXRhKHMsIGl0KTsKKwkJd3RfbG9uZ3N0YXR1c19wcmludF91bm1lcmdlZF9kYXRhKHMsIGl0KTsKIAl9CiAJaWYgKHNob3duX2hlYWRlcikKLQkJd3Rfc3RhdHVzX3ByaW50X3RyYWlsZXIocyk7CisJCXd0X2xvbmdzdGF0dXNfcHJpbnRfdHJhaWxlcihzKTsKIAogfQogCi1zdGF0aWMgdm9pZCB3dF9zdGF0dXNfcHJpbnRfdXBkYXRlZChzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQorc3RhdGljIHZvaWQgd3RfbG9uZ3N0YXR1c19wcmludF91cGRhdGVkKHN0cnVjdCB3dF9zdGF0dXMgKnMpCiB7CiAJaW50IHNob3duX2hlYWRlciA9IDA7CiAJaW50IGk7CkBAIC02NjMsMTQgKzcyNiwxNCBAQAogCQkgICAgZC0+aW5kZXhfc3RhdHVzID09IERJRkZfU1RBVFVTX1VOTUVSR0VEKQogCQkJY29udGludWU7CiAJCWlmICghc2hvd25faGVhZGVyKSB7Ci0JCQl3dF9zdGF0dXNfcHJpbnRfY2FjaGVkX2hlYWRlcihzKTsKKwkJCXd0X2xvbmdzdGF0dXNfcHJpbnRfY2FjaGVkX2hlYWRlcihzKTsKIAkJCXMtPmNvbW1pdGFibGUgPSAxOwogCQkJc2hvd25faGVhZGVyID0gMTsKIAkJfQotCQl3dF9zdGF0dXNfcHJpbnRfY2hhbmdlX2RhdGEocywgV1RfU1RBVFVTX1VQREFURUQsIGl0KTsKKwkJd3RfbG9uZ3N0YXR1c19wcmludF9jaGFuZ2VfZGF0YShzLCBXVF9TVEFUVVNfVVBEQVRFRCwgaXQpOwogCX0KIAlpZiAoc2hvd25faGVhZGVyKQotCQl3dF9zdGF0dXNfcHJpbnRfdHJhaWxlcihzKTsKKwkJd3RfbG9uZ3N0YXR1c19wcmludF90cmFpbGVyKHMpOwogfQogCiAvKgpAQCAtNzAyLDcgKzc2NSw3IEBACiAJcmV0dXJuIGNoYW5nZXM7CiB9CiAKLXN0YXRpYyB2b2lkIHd0X3N0YXR1c19wcmludF9jaGFuZ2VkKHN0cnVjdCB3dF9zdGF0dXMgKnMpCitzdGF0aWMgdm9pZCB3dF9sb25nc3RhdHVzX3ByaW50X2NoYW5nZWQoc3RydWN0IHd0X3N0YXR1cyAqcykKIHsKIAlpbnQgaSwgZGlydHlfc3VibW9kdWxlczsKIAlpbnQgd29ya3RyZWVfY2hhbmdlcyA9IHd0X3N0YXR1c19jaGVja193b3JrdHJlZV9jaGFuZ2VzKHMsICZkaXJ0eV9zdWJtb2R1bGVzKTsKQEAgLTcxMCw3ICs3NzMsNyBAQAogCWlmICghd29ya3RyZWVfY2hhbmdlcykKIAkJcmV0dXJuOwogCi0Jd3Rfc3RhdHVzX3ByaW50X2RpcnR5X2hlYWRlcihzLCB3b3JrdHJlZV9jaGFuZ2VzIDwgMCwgZGlydHlfc3VibW9kdWxlcyk7CisJd3RfbG9uZ3N0YXR1c19wcmludF9kaXJ0eV9oZWFkZXIocywgd29ya3RyZWVfY2hhbmdlcyA8IDAsIGRpcnR5X3N1Ym1vZHVsZXMpOwogCiAJZm9yIChpID0gMDsgaSA8IHMtPmNoYW5nZS5ucjsgaSsrKSB7CiAJCXN0cnVjdCB3dF9zdGF0dXNfY2hhbmdlX2RhdGEgKmQ7CkBAIC03MjAsMTIgKzc4MywxMiBAQAogCQlpZiAoIWQtPndvcmt0cmVlX3N0YXR1cyB8fAogCQkgICAgZC0+d29ya3RyZWVfc3RhdHVzID09IERJRkZfU1RBVFVTX1VOTUVSR0VEKQogCQkJY29udGludWU7Ci0JCXd0X3N0YXR1c19wcmludF9jaGFuZ2VfZGF0YShzLCBXVF9TVEFUVVNfQ0hBTkdFRCwgaXQpOworCQl3dF9sb25nc3RhdHVzX3ByaW50X2NoYW5nZV9kYXRhKHMsIFdUX1NUQVRVU19DSEFOR0VELCBpdCk7CiAJfQotCXd0X3N0YXR1c19wcmludF90cmFpbGVyKHMpOworCXd0X2xvbmdzdGF0dXNfcHJpbnRfdHJhaWxlcihzKTsKIH0KIAotc3RhdGljIHZvaWQgd3Rfc3RhdHVzX3ByaW50X3N1Ym1vZHVsZV9zdW1tYXJ5KHN0cnVjdCB3dF9zdGF0dXMgKnMsIGludCB1bmNvbW1pdHRlZCkKK3N0YXRpYyB2b2lkIHd0X2xvbmdzdGF0dXNfcHJpbnRfc3VibW9kdWxlX3N1bW1hcnkoc3RydWN0IHd0X3N0YXR1cyAqcywgaW50IHVuY29tbWl0dGVkKQogewogCXN0cnVjdCBjaGlsZF9wcm9jZXNzIHNtX3N1bW1hcnkgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiBjbWRfc3Rkb3V0ID0gU1RSQlVGX0lOSVQ7CkBAIC03NzEsMTAgKzgzNCwxMCBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZzdW1tYXJ5KTsKIH0KIAotc3RhdGljIHZvaWQgd3Rfc3RhdHVzX3ByaW50X290aGVyKHN0cnVjdCB3dF9zdGF0dXMgKnMsCi0JCQkJICBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmwsCi0JCQkJICBjb25zdCBjaGFyICp3aGF0LAotCQkJCSAgY29uc3QgY2hhciAqaG93KQorc3RhdGljIHZvaWQgd3RfbG9uZ3N0YXR1c19wcmludF9vdGhlcihzdHJ1Y3Qgd3Rfc3RhdHVzICpzLAorCQkJCSAgICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqbCwKKwkJCQkgICAgICBjb25zdCBjaGFyICp3aGF0LAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKmhvdykKIHsKIAlpbnQgaTsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwpAQCAtNzg0LDcgKzg0Nyw3IEBACiAJaWYgKCFsLT5ucikKIAkJcmV0dXJuOwogCi0Jd3Rfc3RhdHVzX3ByaW50X290aGVyX2hlYWRlcihzLCB3aGF0LCBob3cpOworCXd0X2xvbmdzdGF0dXNfcHJpbnRfb3RoZXJfaGVhZGVyKHMsIHdoYXQsIGhvdyk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbC0+bnI7IGkrKykgewogCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXQ7CkBAIC04NDQsNyArOTA3LDcgQEAKIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIH0KIAotc3RhdGljIHZvaWQgd3Rfc3RhdHVzX3ByaW50X3ZlcmJvc2Uoc3RydWN0IHd0X3N0YXR1cyAqcykKK3N0YXRpYyB2b2lkIHd0X2xvbmdzdGF0dXNfcHJpbnRfdmVyYm9zZShzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQogewogCXN0cnVjdCByZXZfaW5mbyByZXY7CiAJc3RydWN0IHNldHVwX3JldmlzaW9uX29wdCBvcHQ7CkBAIC04NTMsNiArOTE2LDcgQEAKIAogCWluaXRfcmV2aXNpb25zKCZyZXYsIE5VTEwpOwogCURJRkZfT1BUX1NFVCgmcmV2LmRpZmZvcHQsIEFMTE9XX1RFWFRDT05WKTsKKwlyZXYuZGlmZm9wdC5pdGFfaW52aXNpYmxlX2luX2luZGV4ID0gMTsKIAogCW1lbXNldCgmb3B0LCAwLCBzaXplb2Yob3B0KSk7CiAJb3B0LmRlZiA9IHMtPmlzX2luaXRpYWwgPyBFTVBUWV9UUkVFX1NIQTFfSEVYIDogcy0+cmVmZXJlbmNlOwpAQCAtODc3LDcgKzk0MSw3IEBACiAJaWYgKHMtPnZlcmJvc2UgPiAxICYmIHMtPmNvbW1pdGFibGUpIHsKIAkJLyogcHJpbnRfdXBkYXRlZCgpIHByaW50ZWQgYSBoZWFkZXIsIHNvIGRvIHdlICovCiAJCWlmIChzLT5mcCAhPSBzdGRvdXQpCi0JCQl3dF9zdGF0dXNfcHJpbnRfdHJhaWxlcihzKTsKKwkJCXd0X2xvbmdzdGF0dXNfcHJpbnRfdHJhaWxlcihzKTsKIAkJc3RhdHVzX3ByaW50Zl9sbihzLCBjLCBfKCJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiKSk7CiAJCXJldi5kaWZmb3B0LmFfcHJlZml4ID0gImMvIjsKIAkJcmV2LmRpZmZvcHQuYl9wcmVmaXggPSAiaS8iOwpAQCAtODk1LDcgKzk1OSw3IEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCB3dF9zdGF0dXNfcHJpbnRfdHJhY2tpbmcoc3RydWN0IHd0X3N0YXR1cyAqcykKK3N0YXRpYyB2b2lkIHd0X2xvbmdzdGF0dXNfcHJpbnRfdHJhY2tpbmcoc3RydWN0IHd0X3N0YXR1cyAqcykKIHsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJY29uc3QgY2hhciAqY3AsICplcCwgKmJyYW5jaF9uYW1lOwpAQCAtOTQ3LDkgKzEwMTEsMTIgQEAKIHsKIAlpZiAoaGFzX3VubWVyZ2VkKHMpKSB7CiAJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsIF8oIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIpKTsKLQkJaWYgKHMtPmhpbnRzKQorCQlpZiAocy0+aGludHMpIHsKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCi0JCQkJXygiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIpKTsKKwkJCQkJIF8oIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjb21taXRcIikiKSk7CisJCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAorCQkJCQkgXygiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIikpOworCQl9CiAJfSBlbHNlIHsKIAkJcy0+IGNvbW1pdGFibGUgPSAxOwogCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLApAQCAtOTU4LDcgKzEwMjUsNyBAQAogCQkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKIAkJCQlfKCIgICh1c2UgXCJnaXQgY29tbWl0XCIgdG8gY29uY2x1ZGUgbWVyZ2UpIikpOwogCX0KLQl3dF9zdGF0dXNfcHJpbnRfdHJhaWxlcihzKTsKKwl3dF9sb25nc3RhdHVzX3ByaW50X3RyYWlsZXIocyk7CiB9CiAKIHN0YXRpYyB2b2lkIHNob3dfYW1faW5fcHJvZ3Jlc3Moc3RydWN0IHd0X3N0YXR1cyAqcywKQEAgLTk3OSw3ICsxMDQ2LDcgQEAKIAkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKIAkJCV8oIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIpKTsKIAl9Ci0Jd3Rfc3RhdHVzX3ByaW50X3RyYWlsZXIocyk7CisJd3RfbG9uZ3N0YXR1c19wcmludF90cmFpbGVyKHMpOwogfQogCiBzdGF0aWMgY2hhciAqcmVhZF9saW5lX2Zyb21fZ2l0X3BhdGgoY29uc3QgY2hhciAqZmlsZW5hbWUpCkBAIC0xMDQ5LDcgKzExMTYsNiBAQAogCXNwbGl0ID0gc3RyYnVmX3NwbGl0X21heChsaW5lLCAnICcsIDMpOwogCWlmIChzcGxpdFswXSAmJiBzcGxpdFsxXSkgewogCQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwotCQljb25zdCBjaGFyICphYmJyZXY7CiAKIAkJLyoKIAkJICogc3RyYnVmX3NwbGl0X21heCBsZWZ0IGEgc3BhY2UuIFRyaW0gaXQgYW5kIHJlLWFkZApAQCAtMTA1NywxMiArMTEyMywxMyBAQAogCQkgKi8KIAkJc3RyYnVmX3RyaW0oc3BsaXRbMV0pOwogCQlpZiAoIWdldF9zaGExKHNwbGl0WzFdLT5idWYsIHNoYTEpKSB7Ci0JCQlhYmJyZXYgPSBmaW5kX3VuaXF1ZV9hYmJyZXYoc2hhMSwgREVGQVVMVF9BQkJSRVYpOwogCQkJc3RyYnVmX3Jlc2V0KHNwbGl0WzFdKTsKLQkJCXN0cmJ1Zl9hZGRmKHNwbGl0WzFdLCAiJXMgIiwgYWJicmV2KTsKKwkJCXN0cmJ1Zl9hZGRfdW5pcXVlX2FiYnJldihzcGxpdFsxXSwgc2hhMSwKKwkJCQkJCSBERUZBVUxUX0FCQlJFVik7CisJCQlzdHJidWZfYWRkY2goc3BsaXRbMV0sICcgJyk7CiAJCQlzdHJidWZfcmVzZXQobGluZSk7CiAJCQlmb3IgKGkgPSAwOyBzcGxpdFtpXTsgaSsrKQotCQkJCXN0cmJ1Zl9hZGRmKGxpbmUsICIlcyIsIHNwbGl0W2ldLT5idWYpOworCQkJCXN0cmJ1Zl9hZGRidWYobGluZSwgc3BsaXRbaV0pOwogCQl9CiAJfQogCXN0cmJ1Zl9saXN0X2ZyZWUoc3BsaXQpOwpAQCAtMTIwMyw3ICsxMjcwLDcgQEAKIAkJCQlfKCIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIpKTsKIAkJfQogCX0KLQl3dF9zdGF0dXNfcHJpbnRfdHJhaWxlcihzKTsKKwl3dF9sb25nc3RhdHVzX3ByaW50X3RyYWlsZXIocyk7CiB9CiAKIHN0YXRpYyB2b2lkIHNob3dfY2hlcnJ5X3BpY2tfaW5fcHJvZ3Jlc3Moc3RydWN0IHd0X3N0YXR1cyAqcywKQEAgLTEyMjIsNyArMTI4OSw3IEBACiAJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQlfKCIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIpKTsKIAl9Ci0Jd3Rfc3RhdHVzX3ByaW50X3RyYWlsZXIocyk7CisJd3RfbG9uZ3N0YXR1c19wcmludF90cmFpbGVyKHMpOwogfQogCiBzdGF0aWMgdm9pZCBzaG93X3JldmVydF9pbl9wcm9ncmVzcyhzdHJ1Y3Qgd3Rfc3RhdHVzICpzLApAQCAtMTI0MSw3ICsxMzA4LDcgQEAKIAkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKIAkJCV8oIiAgKHVzZSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikiKSk7CiAJfQotCXd0X3N0YXR1c19wcmludF90cmFpbGVyKHMpOworCXd0X2xvbmdzdGF0dXNfcHJpbnRfdHJhaWxlcihzKTsKIH0KIAogc3RhdGljIHZvaWQgc2hvd19iaXNlY3RfaW5fcHJvZ3Jlc3Moc3RydWN0IHd0X3N0YXR1cyAqcywKQEAgLTEyNTgsNyArMTMyNSw3IEBACiAJaWYgKHMtPmhpbnRzKQogCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJXygiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIikpOwotCXd0X3N0YXR1c19wcmludF90cmFpbGVyKHMpOworCXd0X2xvbmdzdGF0dXNfcHJpbnRfdHJhaWxlcihzKTsKIH0KIAogLyoKQEAgLTEyODIsMTAgKzEzNDksOCBAQAogCWVsc2UgaWYgKHN0YXJ0c193aXRoKHNiLmJ1ZiwgInJlZnMvIikpCiAJCTsKIAllbHNlIGlmICghZ2V0X3NoYTFfaGV4KHNiLmJ1Ziwgc2hhMSkpIHsKLQkJY29uc3QgY2hhciAqYWJicmV2OwotCQlhYmJyZXYgPSBmaW5kX3VuaXF1ZV9hYmJyZXYoc2hhMSwgREVGQVVMVF9BQkJSRVYpOwogCQlzdHJidWZfcmVzZXQoJnNiKTsKLQkJc3RyYnVmX2FkZHN0cigmc2IsIGFiYnJldik7CisJCXN0cmJ1Zl9hZGRfdW5pcXVlX2FiYnJldigmc2IsIHNoYTEsIERFRkFVTFRfQUJCUkVWKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoc2IuYnVmLCAiZGV0YWNoZWQgSEVBRCIpKSAvKiByZWJhc2UgKi8KIAkJZ290byBnb3Rfbm90aGluZzsKIAllbHNlCQkJLyogYmlzZWN0ICovCkBAIC0xMzIyLDggKzEzODcsNyBAQAogCWlmICghc3RyY21wKGNiLT5idWYuYnVmLCAiSEVBRCIpKSB7CiAJCS8qIEhFQUQgaXMgcmVsYXRpdmUuIFJlc29sdmUgaXQgdG8gdGhlIHJpZ2h0IHJlZmxvZyBlbnRyeS4gKi8KIAkJc3RyYnVmX3Jlc2V0KCZjYi0+YnVmKTsKLQkJc3RyYnVmX2FkZHN0cigmY2ItPmJ1ZiwKLQkJCSAgICAgIGZpbmRfdW5pcXVlX2FiYnJldihuc2hhMSwgREVGQVVMVF9BQkJSRVYpKTsKKwkJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KCZjYi0+YnVmLCBuc2hhMSwgREVGQVVMVF9BQkJSRVYpOwogCX0KIAlyZXR1cm4gMTsKIH0KQEAgLTE0MjgsOCArMTQ5Miw4IEBACiAJCXd0X3N0YXR1c19nZXRfZGV0YWNoZWRfZnJvbShzdGF0ZSk7CiB9CiAKLXN0YXRpYyB2b2lkIHd0X3N0YXR1c19wcmludF9zdGF0ZShzdHJ1Y3Qgd3Rfc3RhdHVzICpzLAotCQkJCSAgc3RydWN0IHd0X3N0YXR1c19zdGF0ZSAqc3RhdGUpCitzdGF0aWMgdm9pZCB3dF9sb25nc3RhdHVzX3ByaW50X3N0YXRlKHN0cnVjdCB3dF9zdGF0dXMgKnMsCisJCQkJICAgICAgc3RydWN0IHd0X3N0YXR1c19zdGF0ZSAqc3RhdGUpCiB7CiAJY29uc3QgY2hhciAqc3RhdGVfY29sb3IgPSBjb2xvcihXVF9TVEFUVVNfSEVBREVSLCBzKTsKIAlpZiAoc3RhdGUtPm1lcmdlX2luX3Byb2dyZXNzKQpAQCAtMTQ0Niw3ICsxNTEwLDcgQEAKIAkJc2hvd19iaXNlY3RfaW5fcHJvZ3Jlc3Mocywgc3RhdGUsIHN0YXRlX2NvbG9yKTsKIH0KIAotdm9pZCB3dF9zdGF0dXNfcHJpbnQoc3RydWN0IHd0X3N0YXR1cyAqcykKK3N0YXRpYyB2b2lkIHd0X2xvbmdzdGF0dXNfcHJpbnQoc3RydWN0IHd0X3N0YXR1cyAqcykKIHsKIAljb25zdCBjaGFyICpicmFuY2hfY29sb3IgPSBjb2xvcihXVF9TVEFUVVNfT05CUkFOQ0gsIHMpOwogCWNvbnN0IGNoYXIgKmJyYW5jaF9zdGF0dXNfY29sb3IgPSBjb2xvcihXVF9TVEFUVVNfSEVBREVSLCBzKTsKQEAgLTE0ODMsMTAgKzE1NDcsMTAgQEAKIAkJc3RhdHVzX3ByaW50Zl9tb3JlKHMsIGJyYW5jaF9zdGF0dXNfY29sb3IsICIlcyIsIG9uX3doYXQpOwogCQlzdGF0dXNfcHJpbnRmX21vcmUocywgYnJhbmNoX2NvbG9yLCAiJXNcbiIsIGJyYW5jaF9uYW1lKTsKIAkJaWYgKCFzLT5pc19pbml0aWFsKQotCQkJd3Rfc3RhdHVzX3ByaW50X3RyYWNraW5nKHMpOworCQkJd3RfbG9uZ3N0YXR1c19wcmludF90cmFja2luZyhzKTsKIAl9CiAKLQl3dF9zdGF0dXNfcHJpbnRfc3RhdGUocywgJnN0YXRlKTsKKwl3dF9sb25nc3RhdHVzX3ByaW50X3N0YXRlKHMsICZzdGF0ZSk7CiAJZnJlZShzdGF0ZS5icmFuY2gpOwogCWZyZWUoc3RhdGUub250byk7CiAJZnJlZShzdGF0ZS5kZXRhY2hlZF9mcm9tKTsKQEAgLTE0OTcsMTkgKzE1NjEsMTkgQEAKIAkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvcihXVF9TVEFUVVNfSEVBREVSLCBzKSwgIiVzIiwgIiIpOwogCX0KIAotCXd0X3N0YXR1c19wcmludF91cGRhdGVkKHMpOwotCXd0X3N0YXR1c19wcmludF91bm1lcmdlZChzKTsKLQl3dF9zdGF0dXNfcHJpbnRfY2hhbmdlZChzKTsKKwl3dF9sb25nc3RhdHVzX3ByaW50X3VwZGF0ZWQocyk7CisJd3RfbG9uZ3N0YXR1c19wcmludF91bm1lcmdlZChzKTsKKwl3dF9sb25nc3RhdHVzX3ByaW50X2NoYW5nZWQocyk7CiAJaWYgKHMtPnN1Ym1vZHVsZV9zdW1tYXJ5ICYmCiAJICAgICghcy0+aWdub3JlX3N1Ym1vZHVsZV9hcmcgfHwKIAkgICAgIHN0cmNtcChzLT5pZ25vcmVfc3VibW9kdWxlX2FyZywgImFsbCIpKSkgewotCQl3dF9zdGF0dXNfcHJpbnRfc3VibW9kdWxlX3N1bW1hcnkocywgMCk7ICAvKiBzdGFnZWQgKi8KLQkJd3Rfc3RhdHVzX3ByaW50X3N1Ym1vZHVsZV9zdW1tYXJ5KHMsIDEpOyAgLyogdW5zdGFnZWQgKi8KKwkJd3RfbG9uZ3N0YXR1c19wcmludF9zdWJtb2R1bGVfc3VtbWFyeShzLCAwKTsgIC8qIHN0YWdlZCAqLworCQl3dF9sb25nc3RhdHVzX3ByaW50X3N1Ym1vZHVsZV9zdW1tYXJ5KHMsIDEpOyAgLyogdW5zdGFnZWQgKi8KIAl9CiAJaWYgKHMtPnNob3dfdW50cmFja2VkX2ZpbGVzKSB7Ci0JCXd0X3N0YXR1c19wcmludF9vdGhlcihzLCAmcy0+dW50cmFja2VkLCBfKCJVbnRyYWNrZWQgZmlsZXMiKSwgImFkZCIpOworCQl3dF9sb25nc3RhdHVzX3ByaW50X290aGVyKHMsICZzLT51bnRyYWNrZWQsIF8oIlVudHJhY2tlZCBmaWxlcyIpLCAiYWRkIik7CiAJCWlmIChzLT5zaG93X2lnbm9yZWRfZmlsZXMpCi0JCQl3dF9zdGF0dXNfcHJpbnRfb3RoZXIocywgJnMtPmlnbm9yZWQsIF8oIklnbm9yZWQgZmlsZXMiKSwgImFkZCAtZiIpOworCQkJd3RfbG9uZ3N0YXR1c19wcmludF9vdGhlcihzLCAmcy0+aWdub3JlZCwgXygiSWdub3JlZCBmaWxlcyIpLCAiYWRkIC1mIik7CiAJCWlmIChhZHZpY2Vfc3RhdHVzX3Vfb3B0aW9uICYmIDIwMDAgPCBzLT51bnRyYWNrZWRfaW5fbXMpIHsKIAkJCXN0YXR1c19wcmludGZfbG4ocywgR0lUX0NPTE9SX05PUk1BTCwgIiVzIiwgIiIpOwogCQkJc3RhdHVzX3ByaW50Zl9sbihzLCBHSVRfQ09MT1JfTk9STUFMLApAQCAtMTUyNCw3ICsxNTg4LDcgQEAKIAkJCT8gXygiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIpIDogIiIpOwogCiAJaWYgKHMtPnZlcmJvc2UpCi0JCXd0X3N0YXR1c19wcmludF92ZXJib3NlKHMpOworCQl3dF9sb25nc3RhdHVzX3ByaW50X3ZlcmJvc2Uocyk7CiAJaWYgKCFzLT5jb21taXRhYmxlKSB7CiAJCWlmIChzLT5hbWVuZCkKIAkJCXN0YXR1c19wcmludGZfbG4ocywgR0lUX0NPTE9SX05PUk1BTCwgXygiTm8gY2hhbmdlcyIpKTsKQEAgLTE1NTQsNyArMTYxOCw3IEBACiAJCQllbHNlCiAJCQkJcHJpbnRmKF8oIm5vdGhpbmcgdG8gY29tbWl0XG4iKSk7CiAJCX0gZWxzZQotCQkJcHJpbnRmKF8oIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIGRpcmVjdG9yeSBjbGVhblxuIikpOworCQkJcHJpbnRmKF8oIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIpKTsKIAl9CiB9CiAKQEAgLTE3MTMsNyArMTc3Nyw3IEBACiAJZnB1dGMocy0+bnVsbF90ZXJtaW5hdGlvbiA/ICdcMCcgOiAnXG4nLCBzLT5mcCk7CiB9CiAKLXZvaWQgd3Rfc2hvcnRzdGF0dXNfcHJpbnQoc3RydWN0IHd0X3N0YXR1cyAqcykKK3N0YXRpYyB2b2lkIHd0X3Nob3J0c3RhdHVzX3ByaW50KHN0cnVjdCB3dF9zdGF0dXMgKnMpCiB7CiAJaW50IGk7CiAKQEAgLTE3NDUsNyArMTgwOSw3IEBACiAJfQogfQogCi12b2lkIHd0X3BvcmNlbGFpbl9wcmludChzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQorc3RhdGljIHZvaWQgd3RfcG9yY2VsYWluX3ByaW50KHN0cnVjdCB3dF9zdGF0dXMgKnMpCiB7CiAJcy0+dXNlX2NvbG9yID0gMDsKIAlzLT5yZWxhdGl2ZV9wYXRocyA9IDA7CkBAIC0xNzUzLDMgKzE4MTcsNDc1IEBACiAJcy0+bm9fZ2V0dGV4dCA9IDE7CiAJd3Rfc2hvcnRzdGF0dXNfcHJpbnQocyk7CiB9CisKKy8qCisgKiBQcmludCBicmFuY2ggaW5mb3JtYXRpb24gZm9yIHBvcmNlbGFpbiB2MiBvdXRwdXQuICBUaGVzZSBsaW5lcworICogYXJlIHByaW50ZWQgd2hlbiB0aGUgJy0tYnJhbmNoJyBwYXJhbWV0ZXIgaXMgZ2l2ZW4uCisgKgorICogICAgIyBicmFuY2gub2lkIDxjb21taXQ+PGVvbD4KKyAqICAgICMgYnJhbmNoLmhlYWQgPGhlYWQ+PGVvbD4KKyAqICAgWyMgYnJhbmNoLnVwc3RyZWFtIDx1cHN0cmVhbT48ZW9sPgorICogICBbIyBicmFuY2guYWIgKzxhaGVhZD4gLTxiZWhpbmQ+PGVvbD5dXQorICoKKyAqICAgICAgPGNvbW1pdD4gOjo9IHRoZSBjdXJyZW50IGNvbW1pdCBoYXNoIG9yIHRoZSB0aGUgbGl0ZXJhbAorICogICAgICAgICAgICAgICAgICAgIihpbml0aWFsKSIgdG8gaW5kaWNhdGUgYW4gaW5pdGlhbGl6ZWQgcmVwbworICogICAgICAgICAgICAgICAgICAgd2l0aCBubyBjb21taXRzLgorICoKKyAqICAgICAgICA8aGVhZD4gOjo9IDxicmFuY2hfbmFtZT4gdGhlIGN1cnJlbnQgYnJhbmNoIG5hbWUgb3IKKyAqICAgICAgICAgICAgICAgICAgICIoZGV0YWNoZWQpIiBsaXRlcmFsIHdoZW4gZGV0YWNoZWQgaGVhZCBvcgorICogICAgICAgICAgICAgICAgICAgIih1bmtub3duKSIgd2hlbiBzb21ldGhpbmcgaXMgd3JvbmcuCisgKgorICogICAgPHVwc3RyZWFtPiA6Oj0gdGhlIHVwc3RyZWFtIGJyYW5jaCBuYW1lLCB3aGVuIHNldC4KKyAqCisgKiAgICAgICA8YWhlYWQ+IDo6PSBpbnRlZ2VyIGFoZWFkIHZhbHVlLCB3aGVuIHVwc3RyZWFtIHNldAorICogICAgICAgICAgICAgICAgICAgYW5kIHRoZSBjb21taXQgaXMgcHJlc2VudCAobm90IGdvbmUpLgorICoKKyAqICAgICAgPGJlaGluZD4gOjo9IGludGVnZXIgYmVoaW5kIHZhbHVlLCB3aGVuIHVwc3RyZWFtIHNldAorICogICAgICAgICAgICAgICAgICAgYW5kIGNvbW1pdCBpcyBwcmVzZW50LgorICoKKyAqCisgKiBUaGUgZW5kLW9mLWxpbmUgaXMgZGVmaW5lZCBieSB0aGUgLXogZmxhZy4KKyAqCisgKiAgICAgICAgICAgICAgICAgPGVvbD4gOjo9IE5VTCB3aGVuIC16LAorICogICAgICAgICAgICAgICAgICAgICAgICAgICBMRiB3aGVuIE5PVCAtei4KKyAqCisgKi8KK3N0YXRpYyB2b2lkIHd0X3BvcmNlbGFpbl92Ml9wcmludF90cmFja2luZyhzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQoreworCXN0cnVjdCBicmFuY2ggKmJyYW5jaDsKKwljb25zdCBjaGFyICpiYXNlOworCWNvbnN0IGNoYXIgKmJyYW5jaF9uYW1lOworCXN0cnVjdCB3dF9zdGF0dXNfc3RhdGUgc3RhdGU7CisJaW50IGFiX2luZm8sIG5yX2FoZWFkLCBucl9iZWhpbmQ7CisJY2hhciBlb2wgPSBzLT5udWxsX3Rlcm1pbmF0aW9uID8gJ1wwJyA6ICdcbic7CisKKwltZW1zZXQoJnN0YXRlLCAwLCBzaXplb2Yoc3RhdGUpKTsKKwl3dF9zdGF0dXNfZ2V0X3N0YXRlKCZzdGF0ZSwgcy0+YnJhbmNoICYmICFzdHJjbXAocy0+YnJhbmNoLCAiSEVBRCIpKTsKKworCWZwcmludGYocy0+ZnAsICIjIGJyYW5jaC5vaWQgJXMlYyIsCisJCQkocy0+aXNfaW5pdGlhbCA/ICIoaW5pdGlhbCkiIDogc2hhMV90b19oZXgocy0+c2hhMV9jb21taXQpKSwKKwkJCWVvbCk7CisKKwlpZiAoIXMtPmJyYW5jaCkKKwkJZnByaW50ZihzLT5mcCwgIiMgYnJhbmNoLmhlYWQgJXMlYyIsICIodW5rbm93bikiLCBlb2wpOworCWVsc2UgeworCQlpZiAoIXN0cmNtcChzLT5icmFuY2gsICJIRUFEIikpIHsKKwkJCWZwcmludGYocy0+ZnAsICIjIGJyYW5jaC5oZWFkICVzJWMiLCAiKGRldGFjaGVkKSIsIGVvbCk7CisKKwkJCWlmIChzdGF0ZS5yZWJhc2VfaW5fcHJvZ3Jlc3MgfHwgc3RhdGUucmViYXNlX2ludGVyYWN0aXZlX2luX3Byb2dyZXNzKQorCQkJCWJyYW5jaF9uYW1lID0gc3RhdGUub250bzsKKwkJCWVsc2UgaWYgKHN0YXRlLmRldGFjaGVkX2Zyb20pCisJCQkJYnJhbmNoX25hbWUgPSBzdGF0ZS5kZXRhY2hlZF9mcm9tOworCQkJZWxzZQorCQkJCWJyYW5jaF9uYW1lID0gIiI7CisJCX0gZWxzZSB7CisJCQlicmFuY2hfbmFtZSA9IE5VTEw7CisJCQlza2lwX3ByZWZpeChzLT5icmFuY2gsICJyZWZzL2hlYWRzLyIsICZicmFuY2hfbmFtZSk7CisKKwkJCWZwcmludGYocy0+ZnAsICIjIGJyYW5jaC5oZWFkICVzJWMiLCBicmFuY2hfbmFtZSwgZW9sKTsKKwkJfQorCisJCS8qIExvb2t1cCBzdGF0cyBvbiB0aGUgdXBzdHJlYW0gdHJhY2tpbmcgYnJhbmNoLCBpZiBzZXQuICovCisJCWJyYW5jaCA9IGJyYW5jaF9nZXQoYnJhbmNoX25hbWUpOworCQliYXNlID0gTlVMTDsKKwkJYWJfaW5mbyA9IChzdGF0X3RyYWNraW5nX2luZm8oYnJhbmNoLCAmbnJfYWhlYWQsICZucl9iZWhpbmQsICZiYXNlKSA9PSAwKTsKKwkJaWYgKGJhc2UpIHsKKwkJCWJhc2UgPSBzaG9ydGVuX3VuYW1iaWd1b3VzX3JlZihiYXNlLCAwKTsKKwkJCWZwcmludGYocy0+ZnAsICIjIGJyYW5jaC51cHN0cmVhbSAlcyVjIiwgYmFzZSwgZW9sKTsKKwkJCWZyZWUoKGNoYXIgKiliYXNlKTsKKworCQkJaWYgKGFiX2luZm8pCisJCQkJZnByaW50ZihzLT5mcCwgIiMgYnJhbmNoLmFiICslZCAtJWQlYyIsIG5yX2FoZWFkLCBucl9iZWhpbmQsIGVvbCk7CisJCX0KKwl9CisKKwlmcmVlKHN0YXRlLmJyYW5jaCk7CisJZnJlZShzdGF0ZS5vbnRvKTsKKwlmcmVlKHN0YXRlLmRldGFjaGVkX2Zyb20pOworfQorCisvKgorICogQ29udmVydCB2YXJpb3VzIHN1Ym1vZHVsZSBzdGF0dXMgdmFsdWVzIGludG8gYQorICogZml4ZWQtbGVuZ3RoIHN0cmluZyBvZiBjaGFyYWN0ZXJzIGluIHRoZSBidWZmZXIgcHJvdmlkZWQuCisgKi8KK3N0YXRpYyB2b2lkIHd0X3BvcmNlbGFpbl92Ml9zdWJtb2R1bGVfc3RhdGUoCisJc3RydWN0IHd0X3N0YXR1c19jaGFuZ2VfZGF0YSAqZCwKKwljaGFyIHN1Yls1XSkKK3sKKwlpZiAoU19JU0dJVExJTksoZC0+bW9kZV9oZWFkKSB8fAorCQlTX0lTR0lUTElOSyhkLT5tb2RlX2luZGV4KSB8fAorCQlTX0lTR0lUTElOSyhkLT5tb2RlX3dvcmt0cmVlKSkgeworCQlzdWJbMF0gPSAnUyc7CisJCXN1YlsxXSA9IGQtPm5ld19zdWJtb2R1bGVfY29tbWl0cyA/ICdDJyA6ICcuJzsKKwkJc3ViWzJdID0gKGQtPmRpcnR5X3N1Ym1vZHVsZSAmIERJUlRZX1NVQk1PRFVMRV9NT0RJRklFRCkgPyAnTScgOiAnLic7CisJCXN1YlszXSA9IChkLT5kaXJ0eV9zdWJtb2R1bGUgJiBESVJUWV9TVUJNT0RVTEVfVU5UUkFDS0VEKSA/ICdVJyA6ICcuJzsKKwl9IGVsc2UgeworCQlzdWJbMF0gPSAnTic7CisJCXN1YlsxXSA9ICcuJzsKKwkJc3ViWzJdID0gJy4nOworCQlzdWJbM10gPSAnLic7CisJfQorCXN1Yls0XSA9IDA7Cit9CisKKy8qCisgKiBGaXgtdXAgY2hhbmdlZCBlbnRyaWVzIGJlZm9yZSB3ZSBwcmludCB0aGVtLgorICovCitzdGF0aWMgdm9pZCB3dF9wb3JjZWxhaW5fdjJfZml4X3VwX2NoYW5nZWQoCisJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0LAorCXN0cnVjdCB3dF9zdGF0dXMgKnMpCit7CisJc3RydWN0IHd0X3N0YXR1c19jaGFuZ2VfZGF0YSAqZCA9IGl0LT51dGlsOworCisJaWYgKCFkLT5pbmRleF9zdGF0dXMpIHsKKwkJLyoKKwkJICogVGhpcyBlbnRyeSBpcyB1bmNoYW5nZWQgaW4gdGhlIGluZGV4IChyZWxhdGl2ZSB0byB0aGUgaGVhZCkuCisJCSAqIFRoZXJlZm9yZSwgdGhlIGNvbGxlY3RfdXBkYXRlZF9jYiB3YXMgbmV2ZXIgY2FsbGVkIGZvciB0aGlzCisJCSAqIGVudHJ5IChkdXJpbmcgdGhlIGhlYWQtdnMtaW5kZXggc2NhbikgYW5kIHNvIHRoZSBoZWFkIGNvbHVtbgorCQkgKiBmaWVsZHMgd2VyZSBuZXZlciBzZXQuCisJCSAqCisJCSAqIFdlIG11c3QgaGF2ZSBkYXRhIGZvciB0aGUgaW5kZXggY29sdW1uIChmcm9tIHRoZQorCQkgKiBpbmRleC12cy13b3JrdHJlZSBzY2FuIChvdGhlcndpc2UsIHRoaXMgZW50cnkgc2hvdWxkIG5vdCBiZQorCQkgKiBpbiB0aGUgbGlzdCBvZiBjaGFuZ2VzKSkuCisJCSAqCisJCSAqIENvcHkgaW5kZXggY29sdW1uIGZpZWxkcyB0byB0aGUgaGVhZCBjb2x1bW4sIHNvIHRoYXQgb3VyCisJCSAqIG91dHB1dCBsb29rcyBjb21wbGV0ZS4KKwkJICovCisJCWFzc2VydChkLT5tb2RlX2hlYWQgPT0gMCk7CisJCWQtPm1vZGVfaGVhZCA9IGQtPm1vZGVfaW5kZXg7CisJCW9pZGNweSgmZC0+b2lkX2hlYWQsICZkLT5vaWRfaW5kZXgpOworCX0KKworCWlmICghZC0+d29ya3RyZWVfc3RhdHVzKSB7CisJCS8qCisJCSAqIFRoaXMgZW50cnkgaXMgdW5jaGFuZ2VkIGluIHRoZSB3b3JrdHJlZSAocmVsYXRpdmUgdG8gdGhlIGluZGV4KS4KKwkJICogVGhlcmVmb3JlLCB0aGUgY29sbGVjdF9jaGFuZ2VkX2NiIHdhcyBuZXZlciBjYWxsZWQgZm9yIHRoaXMgZW50cnkKKwkJICogKGR1cmluZyB0aGUgaW5kZXgtdnMtd29ya3RyZWUgc2NhbikgYW5kIHNvIHRoZSB3b3JrdHJlZSBjb2x1bW4KKwkJICogZmllbGRzIHdlcmUgbmV2ZXIgc2V0LgorCQkgKgorCQkgKiBXZSBtdXN0IGhhdmUgZGF0YSBmb3IgdGhlIGluZGV4IGNvbHVtbiAoZnJvbSB0aGUgaGVhZC12cy1pbmRleAorCQkgKiBzY2FuKS4KKwkJICoKKwkJICogQ29weSB0aGUgaW5kZXggY29sdW1uIGZpZWxkcyB0byB0aGUgd29ya3RyZWUgY29sdW1uIHNvIHRoYXQKKwkJICogb3VyIG91dHB1dCBsb29rcyBjb21wbGV0ZS4KKwkJICoKKwkJICogTm90ZSB0aGF0IHdlIG9ubHkgaGF2ZSBhIG1vZGUgZmllbGQgaW4gdGhlIHdvcmt0cmVlIGNvbHVtbgorCQkgKiBiZWNhdXNlIHRoZSBzY2FuIGNvZGUgdHJpZXMgcmVhbGx5IGhhcmQgdG8gbm90IGhhdmUgdG8gY29tcHV0ZSBpdC4KKwkJICovCisJCWFzc2VydChkLT5tb2RlX3dvcmt0cmVlID09IDApOworCQlkLT5tb2RlX3dvcmt0cmVlID0gZC0+bW9kZV9pbmRleDsKKwl9Cit9CisKKy8qCisgKiBQcmludCBwb3JjZWxhaW4gdjIgaW5mbyBmb3IgdHJhY2tlZCBlbnRyaWVzIHdpdGggY2hhbmdlcy4KKyAqLworc3RhdGljIHZvaWQgd3RfcG9yY2VsYWluX3YyX3ByaW50X2NoYW5nZWRfZW50cnkoCisJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0LAorCXN0cnVjdCB3dF9zdGF0dXMgKnMpCit7CisJc3RydWN0IHd0X3N0YXR1c19jaGFuZ2VfZGF0YSAqZCA9IGl0LT51dGlsOworCXN0cnVjdCBzdHJidWYgYnVmX2luZGV4ID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBidWZfaGVhZCA9IFNUUkJVRl9JTklUOworCWNvbnN0IGNoYXIgKnBhdGhfaW5kZXggPSBOVUxMOworCWNvbnN0IGNoYXIgKnBhdGhfaGVhZCA9IE5VTEw7CisJY2hhciBrZXlbM107CisJY2hhciBzdWJtb2R1bGVfdG9rZW5bNV07CisJY2hhciBzZXBfY2hhciwgZW9sX2NoYXI7CisKKwl3dF9wb3JjZWxhaW5fdjJfZml4X3VwX2NoYW5nZWQoaXQsIHMpOworCXd0X3BvcmNlbGFpbl92Ml9zdWJtb2R1bGVfc3RhdGUoZCwgc3VibW9kdWxlX3Rva2VuKTsKKworCWtleVswXSA9IGQtPmluZGV4X3N0YXR1cyA/IGQtPmluZGV4X3N0YXR1cyA6ICcuJzsKKwlrZXlbMV0gPSBkLT53b3JrdHJlZV9zdGF0dXMgPyBkLT53b3JrdHJlZV9zdGF0dXMgOiAnLic7CisJa2V5WzJdID0gMDsKKworCWlmIChzLT5udWxsX3Rlcm1pbmF0aW9uKSB7CisJCS8qCisJCSAqIEluIC16IG1vZGUsIHdlIERPIE5PVCBDLXF1b3RlIHBhdGhuYW1lcy4gIEN1cnJlbnQgcGF0aCBpcyBBTFdBWVMgZmlyc3QuCisJCSAqIEEgc2luZ2xlIE5VTCBjaGFyYWN0ZXIgc2VwYXJhdGVzIHRoZW0uCisJCSAqLworCQlzZXBfY2hhciA9ICdcMCc7CisJCWVvbF9jaGFyID0gJ1wwJzsKKwkJcGF0aF9pbmRleCA9IGl0LT5zdHJpbmc7CisJCXBhdGhfaGVhZCA9IGQtPmhlYWRfcGF0aDsKKwl9IGVsc2UgeworCQkvKgorCQkgKiBQYXRoKHMpIGFyZSBDLXF1b3RlZCBpZiBuZWNlc3NhcnkuIEN1cnJlbnQgcGF0aCBpcyBBTFdBWVMgZmlyc3QuCisJCSAqIFRoZSBzb3VyY2UgcGF0aCBpcyBvbmx5IHByZXNlbnQgd2hlbiBuZWNlc3NhcnkuCisJCSAqIEEgc2luZ2xlIFRBQiBzZXBhcmF0ZXMgdGhlbSAoYmVjYXVzZSBwYXRocyBjYW4gY29udGFpbiBzcGFjZXMKKwkJICogd2hpY2ggYXJlIG5vdCBlc2NhcGVkIGFuZCBDLXF1b3RpbmcgZG9lcyBlc2NhcGUgVEFCIGNoYXJhY3RlcnMpLgorCQkgKi8KKwkJc2VwX2NoYXIgPSAnXHQnOworCQllb2xfY2hhciA9ICdcbic7CisJCXBhdGhfaW5kZXggPSBxdW90ZV9wYXRoKGl0LT5zdHJpbmcsIHMtPnByZWZpeCwgJmJ1Zl9pbmRleCk7CisJCWlmIChkLT5oZWFkX3BhdGgpCisJCQlwYXRoX2hlYWQgPSBxdW90ZV9wYXRoKGQtPmhlYWRfcGF0aCwgcy0+cHJlZml4LCAmYnVmX2hlYWQpOworCX0KKworCWlmIChwYXRoX2hlYWQpCisJCWZwcmludGYocy0+ZnAsICIyICVzICVzICUwNm8gJTA2byAlMDZvICVzICVzICVjJWQgJXMlYyVzJWMiLAorCQkJCWtleSwgc3VibW9kdWxlX3Rva2VuLAorCQkJCWQtPm1vZGVfaGVhZCwgZC0+bW9kZV9pbmRleCwgZC0+bW9kZV93b3JrdHJlZSwKKwkJCQlvaWRfdG9faGV4KCZkLT5vaWRfaGVhZCksIG9pZF90b19oZXgoJmQtPm9pZF9pbmRleCksCisJCQkJa2V5WzBdLCBkLT5zY29yZSwKKwkJCQlwYXRoX2luZGV4LCBzZXBfY2hhciwgcGF0aF9oZWFkLCBlb2xfY2hhcik7CisJZWxzZQorCQlmcHJpbnRmKHMtPmZwLCAiMSAlcyAlcyAlMDZvICUwNm8gJTA2byAlcyAlcyAlcyVjIiwKKwkJCQlrZXksIHN1Ym1vZHVsZV90b2tlbiwKKwkJCQlkLT5tb2RlX2hlYWQsIGQtPm1vZGVfaW5kZXgsIGQtPm1vZGVfd29ya3RyZWUsCisJCQkJb2lkX3RvX2hleCgmZC0+b2lkX2hlYWQpLCBvaWRfdG9faGV4KCZkLT5vaWRfaW5kZXgpLAorCQkJCXBhdGhfaW5kZXgsIGVvbF9jaGFyKTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfaW5kZXgpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfaGVhZCk7Cit9CisKKy8qCisgKiBQcmludCBwb3JjZWxhaW4gdjIgc3RhdHVzIGluZm8gZm9yIHVubWVyZ2VkIGVudHJpZXMuCisgKi8KK3N0YXRpYyB2b2lkIHd0X3BvcmNlbGFpbl92Ml9wcmludF91bm1lcmdlZF9lbnRyeSgKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXQsCisJc3RydWN0IHd0X3N0YXR1cyAqcykKK3sKKwlzdHJ1Y3Qgd3Rfc3RhdHVzX2NoYW5nZV9kYXRhICpkID0gaXQtPnV0aWw7CisJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9pbmRleCA9IFNUUkJVRl9JTklUOworCWNvbnN0IGNoYXIgKnBhdGhfaW5kZXggPSBOVUxMOworCWludCBwb3MsIHN0YWdlLCBzdW07CisJc3RydWN0IHsKKwkJaW50IG1vZGU7CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCX0gc3RhZ2VzWzNdOworCWNoYXIgKmtleTsKKwljaGFyIHN1Ym1vZHVsZV90b2tlbls1XTsKKwljaGFyIHVubWVyZ2VkX3ByZWZpeCA9ICd1JzsKKwljaGFyIGVvbF9jaGFyID0gcy0+bnVsbF90ZXJtaW5hdGlvbiA/ICdcMCcgOiAnXG4nOworCisJd3RfcG9yY2VsYWluX3YyX3N1Ym1vZHVsZV9zdGF0ZShkLCBzdWJtb2R1bGVfdG9rZW4pOworCisJc3dpdGNoIChkLT5zdGFnZW1hc2spIHsKKwljYXNlIDE6IGtleSA9ICJERCI7IGJyZWFrOyAvKiBib3RoIGRlbGV0ZWQgKi8KKwljYXNlIDI6IGtleSA9ICJBVSI7IGJyZWFrOyAvKiBhZGRlZCBieSB1cyAqLworCWNhc2UgMzoga2V5ID0gIlVEIjsgYnJlYWs7IC8qIGRlbGV0ZWQgYnkgdGhlbSAqLworCWNhc2UgNDoga2V5ID0gIlVBIjsgYnJlYWs7IC8qIGFkZGVkIGJ5IHRoZW0gKi8KKwljYXNlIDU6IGtleSA9ICJEVSI7IGJyZWFrOyAvKiBkZWxldGVkIGJ5IHVzICovCisJY2FzZSA2OiBrZXkgPSAiQUEiOyBicmVhazsgLyogYm90aCBhZGRlZCAqLworCWNhc2UgNzoga2V5ID0gIlVVIjsgYnJlYWs7IC8qIGJvdGggbW9kaWZpZWQgKi8KKwlkZWZhdWx0OgorCQlkaWUoIkJVRzogdW5oYW5kbGVkIHVubWVyZ2VkIHN0YXR1cyAleCIsIGQtPnN0YWdlbWFzayk7CisJfQorCisJLyoKKwkgKiBEaXNyZWdhcmQgZC5hdXgucG9yY2VsYWluX3YyIGRhdGEgdGhhdCB3ZSBhY2N1bXVsYXRlZAorCSAqIGZvciB0aGUgaGVhZCBhbmQgaW5kZXggY29sdW1ucyBkdXJpbmcgdGhlIHNjYW5zIGFuZAorCSAqIHJlcGxhY2Ugd2l0aCB0aGUgYWN0dWFsIHN0YWdlIGRhdGEuCisJICoKKwkgKiBOb3RlIHRoYXQgdGhpcyBpcyBhIGxhc3Qtb25lLXdpbnMgZm9yIGVhY2ggdGhlIGluZGl2aWR1YWwKKwkgKiBzdGFnZSBbMTIzXSBjb2x1bW5zIGluIHRoZSBldmVudCBvZiBtdWx0aXBsZSBjYWNoZSBlbnRyaWVzCisJICogZm9yIHNhbWUgc3RhZ2UuCisJICovCisJbWVtc2V0KHN0YWdlcywgMCwgc2l6ZW9mKHN0YWdlcykpOworCXN1bSA9IDA7CisJcG9zID0gY2FjaGVfbmFtZV9wb3MoaXQtPnN0cmluZywgc3RybGVuKGl0LT5zdHJpbmcpKTsKKwlhc3NlcnQocG9zIDwgMCk7CisJcG9zID0gLXBvcy0xOworCXdoaWxlIChwb3MgPCBhY3RpdmVfbnIpIHsKKwkJY2UgPSBhY3RpdmVfY2FjaGVbcG9zKytdOworCQlzdGFnZSA9IGNlX3N0YWdlKGNlKTsKKwkJaWYgKHN0cmNtcChjZS0+bmFtZSwgaXQtPnN0cmluZykgfHwgIXN0YWdlKQorCQkJYnJlYWs7CisJCXN0YWdlc1tzdGFnZSAtIDFdLm1vZGUgPSBjZS0+Y2VfbW9kZTsKKwkJaGFzaGNweShzdGFnZXNbc3RhZ2UgLSAxXS5vaWQuaGFzaCwgY2UtPm9pZC5oYXNoKTsKKwkJc3VtIHw9ICgxIDw8IChzdGFnZSAtIDEpKTsKKwl9CisJaWYgKHN1bSAhPSBkLT5zdGFnZW1hc2spCisJCWRpZSgiQlVHOiBvYnNlcnZlZCBzdGFnZW1hc2sgMHgleCAhPSBleHBlY3RlZCBzdGFnZW1hc2sgMHgleCIsIHN1bSwgZC0+c3RhZ2VtYXNrKTsKKworCWlmIChzLT5udWxsX3Rlcm1pbmF0aW9uKQorCQlwYXRoX2luZGV4ID0gaXQtPnN0cmluZzsKKwllbHNlCisJCXBhdGhfaW5kZXggPSBxdW90ZV9wYXRoKGl0LT5zdHJpbmcsIHMtPnByZWZpeCwgJmJ1Zl9pbmRleCk7CisKKwlmcHJpbnRmKHMtPmZwLCAiJWMgJXMgJXMgJTA2byAlMDZvICUwNm8gJTA2byAlcyAlcyAlcyAlcyVjIiwKKwkJCXVubWVyZ2VkX3ByZWZpeCwga2V5LCBzdWJtb2R1bGVfdG9rZW4sCisJCQlzdGFnZXNbMF0ubW9kZSwgLyogc3RhZ2UgMSAqLworCQkJc3RhZ2VzWzFdLm1vZGUsIC8qIHN0YWdlIDIgKi8KKwkJCXN0YWdlc1syXS5tb2RlLCAvKiBzdGFnZSAzICovCisJCQlkLT5tb2RlX3dvcmt0cmVlLAorCQkJb2lkX3RvX2hleCgmc3RhZ2VzWzBdLm9pZCksIC8qIHN0YWdlIDEgKi8KKwkJCW9pZF90b19oZXgoJnN0YWdlc1sxXS5vaWQpLCAvKiBzdGFnZSAyICovCisJCQlvaWRfdG9faGV4KCZzdGFnZXNbMl0ub2lkKSwgLyogc3RhZ2UgMyAqLworCQkJcGF0aF9pbmRleCwKKwkJCWVvbF9jaGFyKTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfaW5kZXgpOworfQorCisvKgorICogUHJpbnQgcG9yY2VsYWluIFYyIHN0YXR1cyBpbmZvIGZvciB1bnRyYWNrZWQgYW5kIGlnbm9yZWQgZW50cmllcy4KKyAqLworc3RhdGljIHZvaWQgd3RfcG9yY2VsYWluX3YyX3ByaW50X290aGVyKAorCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdCwKKwlzdHJ1Y3Qgd3Rfc3RhdHVzICpzLAorCWNoYXIgcHJlZml4KQoreworCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJY29uc3QgY2hhciAqcGF0aDsKKwljaGFyIGVvbF9jaGFyOworCisJaWYgKHMtPm51bGxfdGVybWluYXRpb24pIHsKKwkJcGF0aCA9IGl0LT5zdHJpbmc7CisJCWVvbF9jaGFyID0gJ1wwJzsKKwl9IGVsc2UgeworCQlwYXRoID0gcXVvdGVfcGF0aChpdC0+c3RyaW5nLCBzLT5wcmVmaXgsICZidWYpOworCQllb2xfY2hhciA9ICdcbic7CisJfQorCisJZnByaW50ZihzLT5mcCwgIiVjICVzJWMiLCBwcmVmaXgsIHBhdGgsIGVvbF9jaGFyKTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOworfQorCisvKgorICogUHJpbnQgcG9yY2VsYWluIFYyIHN0YXR1cy4KKyAqCisgKiBbPHYyX2JyYW5jaD5dCisgKiBbPHYyX2NoYW5nZWRfaXRlbXM+XSoKKyAqIFs8djJfdW5tZXJnZWRfaXRlbXM+XSoKKyAqIFs8djJfdW50cmFja2VkX2l0ZW1zPl0qCisgKiBbPHYyX2lnbm9yZWRfaXRlbXM+XSoKKyAqCisgKi8KK3N0YXRpYyB2b2lkIHd0X3BvcmNlbGFpbl92Ml9wcmludChzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQoreworCXN0cnVjdCB3dF9zdGF0dXNfY2hhbmdlX2RhdGEgKmQ7CisJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0OworCWludCBpOworCisJaWYgKHMtPnNob3dfYnJhbmNoKQorCQl3dF9wb3JjZWxhaW5fdjJfcHJpbnRfdHJhY2tpbmcocyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgcy0+Y2hhbmdlLm5yOyBpKyspIHsKKwkJaXQgPSAmKHMtPmNoYW5nZS5pdGVtc1tpXSk7CisJCWQgPSBpdC0+dXRpbDsKKwkJaWYgKCFkLT5zdGFnZW1hc2spCisJCQl3dF9wb3JjZWxhaW5fdjJfcHJpbnRfY2hhbmdlZF9lbnRyeShpdCwgcyk7CisJfQorCisJZm9yIChpID0gMDsgaSA8IHMtPmNoYW5nZS5ucjsgaSsrKSB7CisJCWl0ID0gJihzLT5jaGFuZ2UuaXRlbXNbaV0pOworCQlkID0gaXQtPnV0aWw7CisJCWlmIChkLT5zdGFnZW1hc2spCisJCQl3dF9wb3JjZWxhaW5fdjJfcHJpbnRfdW5tZXJnZWRfZW50cnkoaXQsIHMpOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBzLT51bnRyYWNrZWQubnI7IGkrKykgeworCQlpdCA9ICYocy0+dW50cmFja2VkLml0ZW1zW2ldKTsKKwkJd3RfcG9yY2VsYWluX3YyX3ByaW50X290aGVyKGl0LCBzLCAnPycpOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBzLT5pZ25vcmVkLm5yOyBpKyspIHsKKwkJaXQgPSAmKHMtPmlnbm9yZWQuaXRlbXNbaV0pOworCQl3dF9wb3JjZWxhaW5fdjJfcHJpbnRfb3RoZXIoaXQsIHMsICchJyk7CisJfQorfQorCit2b2lkIHd0X3N0YXR1c19wcmludChzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQoreworCXN3aXRjaCAocy0+c3RhdHVzX2Zvcm1hdCkgeworCWNhc2UgU1RBVFVTX0ZPUk1BVF9TSE9SVDoKKwkJd3Rfc2hvcnRzdGF0dXNfcHJpbnQocyk7CisJCWJyZWFrOworCWNhc2UgU1RBVFVTX0ZPUk1BVF9QT1JDRUxBSU46CisJCXd0X3BvcmNlbGFpbl9wcmludChzKTsKKwkJYnJlYWs7CisJY2FzZSBTVEFUVVNfRk9STUFUX1BPUkNFTEFJTl9WMjoKKwkJd3RfcG9yY2VsYWluX3YyX3ByaW50KHMpOworCQlicmVhazsKKwljYXNlIFNUQVRVU19GT1JNQVRfVU5TUEVDSUZJRUQ6CisJCWRpZSgiQlVHOiBmaW5hbGl6ZV9kZWZlcnJlZF9jb25maWcoKSBzaG91bGQgaGF2ZSBiZWVuIGNhbGxlZCIpOworCQlicmVhazsKKwljYXNlIFNUQVRVU19GT1JNQVRfTk9ORToKKwljYXNlIFNUQVRVU19GT1JNQVRfTE9ORzoKKwkJd3RfbG9uZ3N0YXR1c19wcmludChzKTsKKwkJYnJlYWs7CisJfQorfQorCisvKioKKyAqIFJldHVybnMgMSBpZiB0aGVyZSBhcmUgdW5zdGFnZWQgY2hhbmdlcywgMCBvdGhlcndpc2UuCisgKi8KK2ludCBoYXNfdW5zdGFnZWRfY2hhbmdlcyhpbnQgaWdub3JlX3N1Ym1vZHVsZXMpCit7CisJc3RydWN0IHJldl9pbmZvIHJldl9pbmZvOworCWludCByZXN1bHQ7CisKKwlpbml0X3JldmlzaW9ucygmcmV2X2luZm8sIE5VTEwpOworCWlmIChpZ25vcmVfc3VibW9kdWxlcykKKwkJRElGRl9PUFRfU0VUKCZyZXZfaW5mby5kaWZmb3B0LCBJR05PUkVfU1VCTU9EVUxFUyk7CisJRElGRl9PUFRfU0VUKCZyZXZfaW5mby5kaWZmb3B0LCBRVUlDSyk7CisJZGlmZl9zZXR1cF9kb25lKCZyZXZfaW5mby5kaWZmb3B0KTsKKwlyZXN1bHQgPSBydW5fZGlmZl9maWxlcygmcmV2X2luZm8sIDApOworCXJldHVybiBkaWZmX3Jlc3VsdF9jb2RlKCZyZXZfaW5mby5kaWZmb3B0LCByZXN1bHQpOworfQorCisvKioKKyAqIFJldHVybnMgMSBpZiB0aGVyZSBhcmUgdW5jb21taXR0ZWQgY2hhbmdlcywgMCBvdGhlcndpc2UuCisgKi8KK2ludCBoYXNfdW5jb21taXR0ZWRfY2hhbmdlcyhpbnQgaWdub3JlX3N1Ym1vZHVsZXMpCit7CisJc3RydWN0IHJldl9pbmZvIHJldl9pbmZvOworCWludCByZXN1bHQ7CisKKwlpZiAoaXNfY2FjaGVfdW5ib3JuKCkpCisJCXJldHVybiAwOworCisJaW5pdF9yZXZpc2lvbnMoJnJldl9pbmZvLCBOVUxMKTsKKwlpZiAoaWdub3JlX3N1Ym1vZHVsZXMpCisJCURJRkZfT1BUX1NFVCgmcmV2X2luZm8uZGlmZm9wdCwgSUdOT1JFX1NVQk1PRFVMRVMpOworCURJRkZfT1BUX1NFVCgmcmV2X2luZm8uZGlmZm9wdCwgUVVJQ0spOworCWFkZF9oZWFkX3RvX3BlbmRpbmcoJnJldl9pbmZvKTsKKwlkaWZmX3NldHVwX2RvbmUoJnJldl9pbmZvLmRpZmZvcHQpOworCXJlc3VsdCA9IHJ1bl9kaWZmX2luZGV4KCZyZXZfaW5mbywgMSk7CisJcmV0dXJuIGRpZmZfcmVzdWx0X2NvZGUoJnJldl9pbmZvLmRpZmZvcHQsIHJlc3VsdCk7Cit9CisKKy8qKgorICogSWYgdGhlIHdvcmsgdHJlZSBoYXMgdW5zdGFnZWQgb3IgdW5jb21taXR0ZWQgY2hhbmdlcywgZGllcyB3aXRoIHRoZQorICogYXBwcm9wcmlhdGUgbWVzc2FnZS4KKyAqLworaW50IHJlcXVpcmVfY2xlYW5fd29ya190cmVlKGNvbnN0IGNoYXIgKmFjdGlvbiwgY29uc3QgY2hhciAqaGludCwgaW50IGlnbm9yZV9zdWJtb2R1bGVzLCBpbnQgZ2VudGx5KQoreworCXN0cnVjdCBsb2NrX2ZpbGUgKmxvY2tfZmlsZSA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpsb2NrX2ZpbGUpKTsKKwlpbnQgZXJyID0gMDsKKworCWhvbGRfbG9ja2VkX2luZGV4KGxvY2tfZmlsZSwgMCk7CisJcmVmcmVzaF9jYWNoZShSRUZSRVNIX1FVSUVUKTsKKwl1cGRhdGVfaW5kZXhfaWZfYWJsZSgmdGhlX2luZGV4LCBsb2NrX2ZpbGUpOworCXJvbGxiYWNrX2xvY2tfZmlsZShsb2NrX2ZpbGUpOworCisJaWYgKGhhc191bnN0YWdlZF9jaGFuZ2VzKGlnbm9yZV9zdWJtb2R1bGVzKSkgeworCQkvKiBUUkFOU0xBVE9SUzogdGhlIGFjdGlvbiBpcyBlLmcuICJwdWxsIHdpdGggcmViYXNlIiAqLworCQllcnJvcihfKCJjYW5ub3QgJXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIiksIF8oYWN0aW9uKSk7CisJCWVyciA9IDE7CisJfQorCisJaWYgKGhhc191bmNvbW1pdHRlZF9jaGFuZ2VzKGlnbm9yZV9zdWJtb2R1bGVzKSkgeworCQlpZiAoZXJyKQorCQkJZXJyb3IoXygiYWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIikpOworCQllbHNlCisJCQllcnJvcihfKCJjYW5ub3QgJXM6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iKSwKKwkJCSAgICAgIF8oYWN0aW9uKSk7CisJCWVyciA9IDE7CisJfQorCisJaWYgKGVycikgeworCQlpZiAoaGludCkKKwkJCWVycm9yKCIlcyIsIGhpbnQpOworCQlpZiAoIWdlbnRseSkKKwkJCWV4aXQoMTI4KTsKKwl9CisKKwlyZXR1cm4gZXJyOworfQpkaWZmIC0tZ2l0IGEvd3Qtc3RhdHVzLmggYi93dC1zdGF0dXMuaAppbmRleCAyY2E5M2Y2Li41NGZlYzc3IDEwMDY0NAotLS0gYS93dC1zdGF0dXMuaAorKysgYi93dC1zdGF0dXMuaApAQCAtMzgsMTEgKzM4LDI0IEBACiAJaW50IHdvcmt0cmVlX3N0YXR1czsKIAlpbnQgaW5kZXhfc3RhdHVzOwogCWludCBzdGFnZW1hc2s7CisJaW50IHNjb3JlOworCWludCBtb2RlX2hlYWQsIG1vZGVfaW5kZXgsIG1vZGVfd29ya3RyZWU7CisJc3RydWN0IG9iamVjdF9pZCBvaWRfaGVhZCwgb2lkX2luZGV4OwogCWNoYXIgKmhlYWRfcGF0aDsKIAl1bnNpZ25lZCBkaXJ0eV9zdWJtb2R1bGUgICAgICAgOiAyOwogCXVuc2lnbmVkIG5ld19zdWJtb2R1bGVfY29tbWl0cyA6IDE7CiB9OwogCitlbnVtIHd0X3N0YXR1c19mb3JtYXQgeworCVNUQVRVU19GT1JNQVRfTk9ORSA9IDAsCisJU1RBVFVTX0ZPUk1BVF9MT05HLAorCVNUQVRVU19GT1JNQVRfU0hPUlQsCisJU1RBVFVTX0ZPUk1BVF9QT1JDRUxBSU4sCisJU1RBVFVTX0ZPUk1BVF9QT1JDRUxBSU5fVjIsCisKKwlTVEFUVVNfRk9STUFUX1VOU1BFQ0lGSUVECit9OworCiBzdHJ1Y3Qgd3Rfc3RhdHVzIHsKIAlpbnQgaXNfaW5pdGlhbDsKIAljaGFyICpicmFuY2g7CkBAIC02Niw2ICs3OSw5IEBACiAJaW50IHNob3dfYnJhbmNoOwogCWludCBoaW50czsKIAorCWVudW0gd3Rfc3RhdHVzX2Zvcm1hdCBzdGF0dXNfZm9ybWF0OworCXVuc2lnbmVkIGNoYXIgc2hhMV9jb21taXRbR0lUX1NIQTFfUkFXU1pdOyAvKiB3aGVuIG5vdCBJbml0aWFsICovCisKIAkvKiBUaGVzZSBhcmUgY29tcHV0ZWQgZHVyaW5nIHByb2Nlc3Npbmcgb2YgdGhlIGluZGl2aWR1YWwgc2VjdGlvbnMgKi8KIAlpbnQgY29tbWl0YWJsZTsKIAlpbnQgd29ya2Rpcl9kaXJ0eTsKQEAgLTEwNywxMiArMTIzLDE1IEBACiBpbnQgd3Rfc3RhdHVzX2NoZWNrX2Jpc2VjdChjb25zdCBzdHJ1Y3Qgd29ya3RyZWUgKnd0LAogCQkJICAgc3RydWN0IHd0X3N0YXR1c19zdGF0ZSAqc3RhdGUpOwogCi12b2lkIHd0X3Nob3J0c3RhdHVzX3ByaW50KHN0cnVjdCB3dF9zdGF0dXMgKnMpOwotdm9pZCB3dF9wb3JjZWxhaW5fcHJpbnQoc3RydWN0IHd0X3N0YXR1cyAqcyk7Ci0KIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAzLCA0KSkpCiB2b2lkIHN0YXR1c19wcmludGZfbG4oc3RydWN0IHd0X3N0YXR1cyAqcywgY29uc3QgY2hhciAqY29sb3IsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAzLCA0KSkpCiB2b2lkIHN0YXR1c19wcmludGYoc3RydWN0IHd0X3N0YXR1cyAqcywgY29uc3QgY2hhciAqY29sb3IsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKIAorLyogVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgZXhwZWN0IHRoYXQgdGhlIGNhbGxlciB0b29rIGNhcmUgb2YgcmVhZGluZyB0aGUgaW5kZXguICovCitpbnQgaGFzX3Vuc3RhZ2VkX2NoYW5nZXMoaW50IGlnbm9yZV9zdWJtb2R1bGVzKTsKK2ludCBoYXNfdW5jb21taXR0ZWRfY2hhbmdlcyhpbnQgaWdub3JlX3N1Ym1vZHVsZXMpOworaW50IHJlcXVpcmVfY2xlYW5fd29ya190cmVlKGNvbnN0IGNoYXIgKmFjdGlvbiwgY29uc3QgY2hhciAqaGludCwKKwlpbnQgaWdub3JlX3N1Ym1vZHVsZXMsIGludCBnZW50bHkpOworCiAjZW5kaWYgLyogU1RBVFVTX0ggKi8KZGlmZiAtLWdpdCBhL3hkaWZmLWludGVyZmFjZS5jIGIveGRpZmYtaW50ZXJmYWNlLmMKaW5kZXggNTQyMzZmMi4uMDYwMDM4YyAxMDA2NDQKLS0tIGEveGRpZmYtaW50ZXJmYWNlLmMKKysrIGIveGRpZmYtaW50ZXJmYWNlLmMKQEAgLTEwMCw5ICsxMDAsOSBAQAogCiAvKgogICogVHJpbSBkb3duIGNvbW1vbiBzdWJzdHJpbmcgYXQgdGhlIGVuZCBvZiB0aGUgYnVmZmVycywKLSAqIGJ1dCBsZWF2ZSBhdCBsZWFzdCBjdHggbGluZXMgYXQgdGhlIGVuZC4KKyAqIGJ1dCBlbmQgb24gYSBjb21wbGV0ZSBsaW5lLgogICovCi1zdGF0aWMgdm9pZCB0cmltX2NvbW1vbl90YWlsKG1tZmlsZV90ICphLCBtbWZpbGVfdCAqYiwgbG9uZyBjdHgpCitzdGF0aWMgdm9pZCB0cmltX2NvbW1vbl90YWlsKG1tZmlsZV90ICphLCBtbWZpbGVfdCAqYikKIHsKIAljb25zdCBpbnQgYmxrID0gMTAyNDsKIAlsb25nIHRyaW1tZWQgPSAwLCByZWNvdmVyZWQgPSAwOwpAQCAtMTEwLDkgKzExMCw2IEBACiAJY2hhciAqYnAgPSBiLT5wdHIgKyBiLT5zaXplOwogCWxvbmcgc21hbGxlciA9IChhLT5zaXplIDwgYi0+c2l6ZSkgPyBhLT5zaXplIDogYi0+c2l6ZTsKIAotCWlmIChjdHgpCi0JCXJldHVybjsKLQogCXdoaWxlIChibGsgKyB0cmltbWVkIDw9IHNtYWxsZXIgJiYgIW1lbWNtcChhcCAtIGJsaywgYnAgLSBibGssIGJsaykpIHsKIAkJdHJpbW1lZCArPSBibGs7CiAJCWFwIC09IGJsazsKQEAgLTEzNCw3ICsxMzEsOCBAQAogCWlmIChtZjEtPnNpemUgPiBNQVhfWERJRkZfU0laRSB8fCBtZjItPnNpemUgPiBNQVhfWERJRkZfU0laRSkKIAkJcmV0dXJuIC0xOwogCi0JdHJpbV9jb21tb25fdGFpbCgmYSwgJmIsIHhlY2ZnLT5jdHhsZW4pOworCWlmICgheGVjZmctPmN0eGxlbiAmJiAhKHhlY2ZnLT5mbGFncyAmIFhETF9FTUlUX0ZVTkNDT05URVhUKSkKKwkJdHJpbV9jb21tb25fdGFpbCgmYSwgJmIpOwogCiAJcmV0dXJuIHhkbF9kaWZmKCZhLCAmYiwgeHBwLCB4ZWNmZywgeGVjYik7CiB9CkBAIC0xODAsMjAgKzE3OCwyMCBAQAogCXJldHVybiAwOwogfQogCi12b2lkIHJlYWRfbW1ibG9iKG1tZmlsZV90ICpwdHIsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCit2b2lkIHJlYWRfbW1ibG9iKG1tZmlsZV90ICpwdHIsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIHNpemU7CiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwogCi0JaWYgKCFoYXNoY21wKHNoYTEsIG51bGxfc2hhMSkpIHsKKwlpZiAoIW9pZGNtcChvaWQsICZudWxsX29pZCkpIHsKIAkJcHRyLT5wdHIgPSB4c3RyZHVwKCIiKTsKIAkJcHRyLT5zaXplID0gMDsKIAkJcmV0dXJuOwogCX0KIAotCXB0ci0+cHRyID0gcmVhZF9zaGExX2ZpbGUoc2hhMSwgJnR5cGUsICZzaXplKTsKKwlwdHItPnB0ciA9IHJlYWRfc2hhMV9maWxlKG9pZC0+aGFzaCwgJnR5cGUsICZzaXplKTsKIAlpZiAoIXB0ci0+cHRyIHx8IHR5cGUgIT0gT0JKX0JMT0IpCi0JCWRpZSgidW5hYmxlIHRvIHJlYWQgYmxvYiBvYmplY3QgJXMiLCBzaGExX3RvX2hleChzaGExKSk7CisJCWRpZSgidW5hYmxlIHRvIHJlYWQgYmxvYiBvYmplY3QgJXMiLCBvaWRfdG9faGV4KG9pZCkpOwogCXB0ci0+c2l6ZSA9IHNpemU7CiB9CiAKQEAgLTIxNiwxMSArMjE0LDEwIEBACiBzdGF0aWMgbG9uZyBmZl9yZWdleHAoY29uc3QgY2hhciAqbGluZSwgbG9uZyBsZW4sCiAJCWNoYXIgKmJ1ZmZlciwgbG9uZyBidWZmZXJfc2l6ZSwgdm9pZCAqcHJpdikKIHsKLQljaGFyICpsaW5lX2J1ZmZlcjsKIAlzdHJ1Y3QgZmZfcmVncyAqcmVncyA9IHByaXY7CiAJcmVnbWF0Y2hfdCBwbWF0Y2hbMl07CiAJaW50IGk7Ci0JaW50IHJlc3VsdCA9IC0xOworCWludCByZXN1bHQ7CiAKIAkvKiBFeGNsdWRlIHRlcm1pbmF0aW5nIG5ld2xpbmUgKGFuZCBjcikgZnJvbSBtYXRjaGluZyAqLwogCWlmIChsZW4gPiAwICYmIGxpbmVbbGVuLTFdID09ICdcbicpIHsKQEAgLTIzMCwxOCArMjI3LDE2IEBACiAJCQlsZW4tLTsKIAl9CiAKLQlsaW5lX2J1ZmZlciA9IHhzdHJuZHVwKGxpbmUsIGxlbik7IC8qIG1ha2UgTlVMIHRlcm1pbmF0ZWQgKi8KLQogCWZvciAoaSA9IDA7IGkgPCByZWdzLT5ucjsgaSsrKSB7CiAJCXN0cnVjdCBmZl9yZWcgKnJlZyA9IHJlZ3MtPmFycmF5ICsgaTsKLQkJaWYgKCFyZWdleGVjKCZyZWctPnJlLCBsaW5lX2J1ZmZlciwgMiwgcG1hdGNoLCAwKSkgeworCQlpZiAoIXJlZ2V4ZWNfYnVmKCZyZWctPnJlLCBsaW5lLCBsZW4sIDIsIHBtYXRjaCwgMCkpIHsKIAkJCWlmIChyZWctPm5lZ2F0ZSkKLQkJCQlnb3RvIGZhaWw7CisJCQkJcmV0dXJuIC0xOwogCQkJYnJlYWs7CiAJCX0KIAl9CiAJaWYgKHJlZ3MtPm5yIDw9IGkpCi0JCWdvdG8gZmFpbDsKKwkJcmV0dXJuIC0xOwogCWkgPSBwbWF0Y2hbMV0ucm1fc28gPj0gMCA/IDEgOiAwOwogCWxpbmUgKz0gcG1hdGNoW2ldLnJtX3NvOwogCXJlc3VsdCA9IHBtYXRjaFtpXS5ybV9lbyAtIHBtYXRjaFtpXS5ybV9zbzsKQEAgLTI1MCw4ICsyNDUsNiBAQAogCXdoaWxlIChyZXN1bHQgPiAwICYmIChpc3NwYWNlKGxpbmVbcmVzdWx0IC0gMV0pKSkKIAkJcmVzdWx0LS07CiAJbWVtY3B5KGJ1ZmZlciwgbGluZSwgcmVzdWx0KTsKLSBmYWlsOgotCWZyZWUobGluZV9idWZmZXIpOwogCXJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBhL3hkaWZmLWludGVyZmFjZS5oIGIveGRpZmYtaW50ZXJmYWNlLmgKaW5kZXggZmJiNWExYy4uNmY2YmE5MCAxMDA2NDQKLS0tIGEveGRpZmYtaW50ZXJmYWNlLmgKKysrIGIveGRpZmYtaW50ZXJmYWNlLmgKQEAgLTEsNiArMSw3IEBACiAjaWZuZGVmIFhESUZGX0lOVEVSRkFDRV9ICiAjZGVmaW5lIFhESUZGX0lOVEVSRkFDRV9ICiAKKyNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgInhkaWZmL3hkaWZmLmgiCiAKIC8qCkBAIC0yMCw3ICsyMSw3IEBACiAJCSAgICAgIGludCAqb2IsIGludCAqb24sCiAJCSAgICAgIGludCAqbmIsIGludCAqbm4pOwogaW50IHJlYWRfbW1maWxlKG1tZmlsZV90ICpwdHIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKLXZvaWQgcmVhZF9tbWJsb2IobW1maWxlX3QgKnB0ciwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7Cit2b2lkIHJlYWRfbW1ibG9iKG1tZmlsZV90ICpwdHIsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CiBpbnQgYnVmZmVyX2lzX2JpbmFyeShjb25zdCBjaGFyICpwdHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CiAKIGV4dGVybiB2b2lkIHhkaWZmX3NldF9maW5kX2Z1bmMoeGRlbWl0Y29uZl90ICp4ZWNmZywgY29uc3QgY2hhciAqbGluZSwgaW50IGNmbGFncyk7CmRpZmYgLS1naXQgYS94ZGlmZi94ZGlmZi5oIGIveGRpZmYveGRpZmYuaAppbmRleCA3NDIzZjc3Li44ZGIxNmQ0IDEwMDY0NAotLS0gYS94ZGlmZi94ZGlmZi5oCisrKyBiL3hkaWZmL3hkaWZmLmgKQEAgLTQyLDYgKzQyLDcgQEAKICNkZWZpbmUgWERGX0lHTk9SRV9CTEFOS19MSU5FUyAoMSA8PCA3KQogCiAjZGVmaW5lIFhERl9DT01QQUNUSU9OX0hFVVJJU1RJQyAoMSA8PCA4KQorI2RlZmluZSBYREZfSU5ERU5UX0hFVVJJU1RJQyAoMSA8PCA5KQogCiAjZGVmaW5lIFhETF9FTUlUX0ZVTkNOQU1FUyAoMSA8PCAwKQogI2RlZmluZSBYRExfRU1JVF9GVU5DQ09OVEVYVCAoMSA8PCAyKQpkaWZmIC0tZ2l0IGEveGRpZmYveGRpZmZpLmMgYi94ZGlmZi94ZGlmZmkuYwppbmRleCBiM2M2ODQ4Li43NjBmYmI2IDEwMDY0NAotLS0gYS94ZGlmZi94ZGlmZmkuYworKysgYi94ZGlmZi94ZGlmZmkuYwpAQCAtNDAwLDEzOCArNDAwLDU3NyBAQAogfQogCiAKLXN0YXRpYyBpbnQgaXNfYmxhbmtfbGluZSh4cmVjb3JkX3QgKipyZWNzLCBsb25nIGl4LCBsb25nIGZsYWdzKQorc3RhdGljIGludCBpc19ibGFua19saW5lKHhyZWNvcmRfdCAqcmVjLCBsb25nIGZsYWdzKQogewotCXJldHVybiB4ZGxfYmxhbmtsaW5lKHJlY3NbaXhdLT5wdHIsIHJlY3NbaXhdLT5zaXplLCBmbGFncyk7CisJcmV0dXJuIHhkbF9ibGFua2xpbmUocmVjLT5wdHIsIHJlYy0+c2l6ZSwgZmxhZ3MpOwogfQogCi1zdGF0aWMgaW50IHJlY3NfbWF0Y2goeHJlY29yZF90ICoqcmVjcywgbG9uZyBpeHMsIGxvbmcgaXgsIGxvbmcgZmxhZ3MpCitzdGF0aWMgaW50IHJlY3NfbWF0Y2goeHJlY29yZF90ICpyZWMxLCB4cmVjb3JkX3QgKnJlYzIsIGxvbmcgZmxhZ3MpCiB7Ci0JcmV0dXJuIChyZWNzW2l4c10tPmhhID09IHJlY3NbaXhdLT5oYSAmJgotCQl4ZGxfcmVjbWF0Y2gocmVjc1tpeHNdLT5wdHIsIHJlY3NbaXhzXS0+c2l6ZSwKLQkJCSAgICAgcmVjc1tpeF0tPnB0ciwgcmVjc1tpeF0tPnNpemUsCisJcmV0dXJuIChyZWMxLT5oYSA9PSByZWMyLT5oYSAmJgorCQl4ZGxfcmVjbWF0Y2gocmVjMS0+cHRyLCByZWMxLT5zaXplLAorCQkJICAgICByZWMyLT5wdHIsIHJlYzItPnNpemUsCiAJCQkgICAgIGZsYWdzKSk7CiB9CiAKLWludCB4ZGxfY2hhbmdlX2NvbXBhY3QoeGRmaWxlX3QgKnhkZiwgeGRmaWxlX3QgKnhkZm8sIGxvbmcgZmxhZ3MpIHsKLQlsb25nIGl4LCBpeG8sIGl4cywgaXhyZWYsIGdycHNpeiwgbnJlYyA9IHhkZi0+bnJlYzsKLQljaGFyICpyY2hnID0geGRmLT5yY2hnLCAqcmNoZ28gPSB4ZGZvLT5yY2hnOwotCXVuc2lnbmVkIGludCBibGFua19saW5lczsKLQl4cmVjb3JkX3QgKipyZWNzID0geGRmLT5yZWNzOworLyoKKyAqIElmIGEgbGluZSBpcyBpbmRlbnRlZCBtb3JlIHRoYW4gdGhpcywgZ2V0X2luZGVudCgpIGp1c3QgcmV0dXJucyB0aGlzIHZhbHVlLgorICogVGhpcyBhdm9pZHMgaGF2aW5nIHRvIGRvIGFic3VyZCBhbW91bnRzIG9mIHdvcmsgZm9yIGRhdGEgdGhhdCBhcmUgbm90CisgKiBodW1hbi1yZWFkYWJsZSB0ZXh0LCBhbmQgYWxzbyBlbnN1cmVzIHRoYXQgdGhlIG91dHB1dCBvZiBnZXRfaW5kZW50IGZpdHMgd2l0aGluCisgKiBhbiBpbnQuCisgKi8KKyNkZWZpbmUgTUFYX0lOREVOVCAyMDAKKworLyoKKyAqIFJldHVybiB0aGUgYW1vdW50IG9mIGluZGVudGF0aW9uIG9mIHRoZSBzcGVjaWZpZWQgbGluZSwgdHJlYXRpbmcgVEFCIGFzIDgKKyAqIGNvbHVtbnMuIFJldHVybiAtMSBpZiBsaW5lIGlzIGVtcHR5IG9yIGNvbnRhaW5zIG9ubHkgd2hpdGVzcGFjZS4gQ2xhbXAgdGhlCisgKiBvdXRwdXQgdmFsdWUgYXQgTUFYX0lOREVOVC4KKyAqLworc3RhdGljIGludCBnZXRfaW5kZW50KHhyZWNvcmRfdCAqcmVjKQoreworCWxvbmcgaTsKKwlpbnQgcmV0ID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCByZWMtPnNpemU7IGkrKykgeworCQljaGFyIGMgPSByZWMtPnB0cltpXTsKKworCQlpZiAoIVhETF9JU1NQQUNFKGMpKQorCQkJcmV0dXJuIHJldDsKKwkJZWxzZSBpZiAoYyA9PSAnICcpCisJCQlyZXQgKz0gMTsKKwkJZWxzZSBpZiAoYyA9PSAnXHQnKQorCQkJcmV0ICs9IDggLSByZXQgJSA4OworCQkvKiBpZ25vcmUgb3RoZXIgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzICovCisKKwkJaWYgKHJldCA+PSBNQVhfSU5ERU5UKQorCQkJcmV0dXJuIE1BWF9JTkRFTlQ7CisJfQorCisJLyogVGhlIGxpbmUgY29udGFpbnMgb25seSB3aGl0ZXNwYWNlLiAqLworCXJldHVybiAtMTsKK30KKworLyoKKyAqIElmIG1vcmUgdGhhbiB0aGlzIG51bWJlciBvZiBjb25zZWN1dGl2ZSBibGFuayByb3dzIGFyZSBmb3VuZCwganVzdCByZXR1cm4gdGhpcworICogdmFsdWUuIFRoaXMgYXZvaWRzIHJlcXVpcmluZyBPKE5eMikgd29yayBmb3IgcGF0aG9sb2dpY2FsIGNhc2VzLCBhbmQgYWxzbworICogZW5zdXJlcyB0aGF0IHRoZSBvdXRwdXQgb2Ygc2NvcmVfc3BsaXQgZml0cyBpbiBhbiBpbnQuCisgKi8KKyNkZWZpbmUgTUFYX0JMQU5LUyAyMAorCisvKiBDaGFyYWN0ZXJpc3RpY3MgbWVhc3VyZWQgYWJvdXQgYSBoeXBvdGhldGljYWwgc3BsaXQgcG9zaXRpb24uICovCitzdHJ1Y3Qgc3BsaXRfbWVhc3VyZW1lbnQgeworCS8qCisJICogSXMgdGhlIHNwbGl0IGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUgKGFzaWRlIGZyb20gYW55IGJsYW5rIGxpbmVzKT8KKwkgKi8KKwlpbnQgZW5kX29mX2ZpbGU7CiAKIAkvKgotCSAqIFRoaXMgaXMgdGhlIHNhbWUgb2Ygd2hhdCBHTlUgZGlmZiBkb2VzLiBNb3ZlIGJhY2sgYW5kIGZvcndhcmQKLQkgKiBjaGFuZ2UgZ3JvdXBzIGZvciBhIGNvbnNpc3RlbnQgYW5kIHByZXR0eSBkaWZmIG91dHB1dC4gVGhpcyBhbHNvCi0JICogaGVscHMgaW4gZmluZGluZyBqb2luYWJsZSBjaGFuZ2UgZ3JvdXBzIGFuZCByZWR1Y2UgdGhlIGRpZmYgc2l6ZS4KKwkgKiBIb3cgbXVjaCBpcyB0aGUgbGluZSBpbW1lZGlhdGVseSBmb2xsb3dpbmcgdGhlIHNwbGl0IGluZGVudGVkIChvciAtMSBpZgorCSAqIHRoZSBsaW5lIGlzIGJsYW5rKToKIAkgKi8KLQlmb3IgKGl4ID0gaXhvID0gMDs7KSB7Ci0JCS8qCi0JCSAqIEZpbmQgdGhlIGZpcnN0IGNoYW5nZWQgbGluZSBpbiB0aGUgdG8tYmUtY29tcGFjdGVkIGZpbGUuCi0JCSAqIFdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiBib3RoIGluZGV4ZXMsIHNvIGlmIHdlIGZpbmQgYQotCQkgKiBjaGFuZ2VkIGxpbmVzIGdyb3VwIG9uIHRoZSBvdGhlciBmaWxlLCB3aGlsZSBzY2FubmluZyB0aGUKLQkJICogdG8tYmUtY29tcGFjdGVkIGZpbGUsIHdlIG5lZWQgdG8gc2tpcCBpdCBwcm9wZXJseS4gTm90ZQotCQkgKiB0aGF0IGxvb3BzIHRoYXQgYXJlIHRlc3RpbmcgZm9yIGNoYW5nZWQgbGluZXMgb24gcmNoZyogZG8KLQkJICogbm90IG5lZWQgaW5kZXggYm91bmRpbmcgc2luY2UgdGhlIGFycmF5IGlzIHByZXBhcmVkIHdpdGgKLQkJICogYSB6ZXJvIGF0IHBvc2l0aW9uIC0xIGFuZCBOLgotCQkgKi8KLQkJZm9yICg7IGl4IDwgbnJlYyAmJiAhcmNoZ1tpeF07IGl4KyspCi0JCQl3aGlsZSAocmNoZ29baXhvKytdKTsKLQkJaWYgKGl4ID09IG5yZWMpCisJaW50IGluZGVudDsKKworCS8qCisJICogSG93IG1hbnkgY29uc2VjdXRpdmUgbGluZXMgYWJvdmUgdGhlIHNwbGl0IGFyZSBibGFuaz8KKwkgKi8KKwlpbnQgcHJlX2JsYW5rOworCisJLyoKKwkgKiBIb3cgbXVjaCBpcyB0aGUgbmVhcmVzdCBub24tYmxhbmsgbGluZSBhYm92ZSB0aGUgc3BsaXQgaW5kZW50ZWQgKG9yIC0xCisJICogaWYgdGhlcmUgaXMgbm8gc3VjaCBsaW5lKT8KKwkgKi8KKwlpbnQgcHJlX2luZGVudDsKKworCS8qCisJICogSG93IG1hbnkgbGluZXMgYWZ0ZXIgdGhlIGxpbmUgZm9sbG93aW5nIHRoZSBzcGxpdCBhcmUgYmxhbms/CisJICovCisJaW50IHBvc3RfYmxhbms7CisKKwkvKgorCSAqIEhvdyBtdWNoIGlzIHRoZSBuZWFyZXN0IG5vbi1ibGFuayBsaW5lIGFmdGVyIHRoZSBsaW5lIGZvbGxvd2luZyB0aGUKKwkgKiBzcGxpdCBpbmRlbnRlZCAob3IgLTEgaWYgdGhlcmUgaXMgbm8gc3VjaCBsaW5lKT8KKwkgKi8KKwlpbnQgcG9zdF9pbmRlbnQ7Cit9OworCitzdHJ1Y3Qgc3BsaXRfc2NvcmUgeworCS8qIFRoZSBlZmZlY3RpdmUgaW5kZW50IG9mIHRoaXMgc3BsaXQgKHNtYWxsZXIgaXMgcHJlZmVycmVkKS4gKi8KKwlpbnQgZWZmZWN0aXZlX2luZGVudDsKKworCS8qIFBlbmFsdHkgZm9yIHRoaXMgc3BsaXQgKHNtYWxsZXIgaXMgcHJlZmVycmVkKS4gKi8KKwlpbnQgcGVuYWx0eTsKK307CisKKy8qCisgKiBGaWxsIG0gd2l0aCBpbmZvcm1hdGlvbiBhYm91dCBhIGh5cG90aGV0aWNhbCBzcGxpdCBvZiB4ZGYgYWJvdmUgbGluZSBzcGxpdC4KKyAqLworc3RhdGljIHZvaWQgbWVhc3VyZV9zcGxpdChjb25zdCB4ZGZpbGVfdCAqeGRmLCBsb25nIHNwbGl0LAorCQkJICBzdHJ1Y3Qgc3BsaXRfbWVhc3VyZW1lbnQgKm0pCit7CisJbG9uZyBpOworCisJaWYgKHNwbGl0ID49IHhkZi0+bnJlYykgeworCQltLT5lbmRfb2ZfZmlsZSA9IDE7CisJCW0tPmluZGVudCA9IC0xOworCX0gZWxzZSB7CisJCW0tPmVuZF9vZl9maWxlID0gMDsKKwkJbS0+aW5kZW50ID0gZ2V0X2luZGVudCh4ZGYtPnJlY3Nbc3BsaXRdKTsKKwl9CisKKwltLT5wcmVfYmxhbmsgPSAwOworCW0tPnByZV9pbmRlbnQgPSAtMTsKKwlmb3IgKGkgPSBzcGxpdCAtIDE7IGkgPj0gMDsgaS0tKSB7CisJCW0tPnByZV9pbmRlbnQgPSBnZXRfaW5kZW50KHhkZi0+cmVjc1tpXSk7CisJCWlmIChtLT5wcmVfaW5kZW50ICE9IC0xKQogCQkJYnJlYWs7Ci0KLQkJLyoKLQkJICogUmVjb3JkIHRoZSBzdGFydCBvZiBhIGNoYW5nZWQtZ3JvdXAgaW4gdGhlIHRvLWJlLWNvbXBhY3RlZCBmaWxlCi0JCSAqIGFuZCBmaW5kIHRoZSBlbmQgb2YgaXQsIG9uIGJvdGggdG8tYmUtY29tcGFjdGVkIGFuZCBvdGhlciBmaWxlCi0JCSAqIGluZGV4ZXMgKGl4IGFuZCBpeG8pLgotCQkgKi8KLQkJaXhzID0gaXg7Ci0JCWZvciAoaXgrKzsgcmNoZ1tpeF07IGl4KyspOwotCQlmb3IgKDsgcmNoZ29baXhvXTsgaXhvKyspOwotCi0JCWRvIHsKLQkJCWdycHNpeiA9IGl4IC0gaXhzOwotCQkJYmxhbmtfbGluZXMgPSAwOwotCi0JCQkvKgotCQkJICogSWYgdGhlIGxpbmUgYmVmb3JlIHRoZSBjdXJyZW50IGNoYW5nZSBncm91cCwgaXMgZXF1YWwgdG8KLQkJCSAqIHRoZSBsYXN0IGxpbmUgb2YgdGhlIGN1cnJlbnQgY2hhbmdlIGdyb3VwLCBzaGlmdCBiYWNrd2FyZAotCQkJICogdGhlIGdyb3VwLgotCQkJICovCi0JCQl3aGlsZSAoaXhzID4gMCAmJiByZWNzX21hdGNoKHJlY3MsIGl4cyAtIDEsIGl4IC0gMSwgZmxhZ3MpKSB7Ci0JCQkJcmNoZ1stLWl4c10gPSAxOwotCQkJCXJjaGdbLS1peF0gPSAwOwotCi0JCQkJLyoKLQkJCQkgKiBUaGlzIGNoYW5nZSBtaWdodCBoYXZlIGpvaW5lZCB0d28gY2hhbmdlIGdyb3VwcywKLQkJCQkgKiBzbyB3ZSB0cnkgdG8gdGFrZSB0aGlzIHNjZW5hcmlvIGluIGFjY291bnQgYnkgbW92aW5nCi0JCQkJICogdGhlIHN0YXJ0IGluZGV4IGFjY29yZGluZ2x5IChhbmQgc28gdGhlIG90aGVyLWZpbGUKLQkJCQkgKiBlbmQtb2YtZ3JvdXAgaW5kZXgpLgotCQkJCSAqLwotCQkJCWZvciAoOyByY2hnW2l4cyAtIDFdOyBpeHMtLSk7Ci0JCQkJd2hpbGUgKHJjaGdvWy0taXhvXSk7Ci0JCQl9Ci0KLQkJCS8qCi0JCQkgKiBSZWNvcmQgdGhlIGVuZC1vZi1ncm91cCBwb3NpdGlvbiBpbiBjYXNlIHdlIGFyZSBtYXRjaGVkCi0JCQkgKiB3aXRoIGEgZ3JvdXAgb2YgY2hhbmdlcyBpbiB0aGUgb3RoZXIgZmlsZSAodGhhdCBpcywgdGhlCi0JCQkgKiBjaGFuZ2UgcmVjb3JkIGJlZm9yZSB0aGUgZW5kLW9mLWdyb3VwIGluZGV4IGluIHRoZSBvdGhlcgotCQkJICogZmlsZSBpcyBzZXQpLgotCQkJICovCi0JCQlpeHJlZiA9IHJjaGdvW2l4byAtIDFdID8gaXg6IG5yZWM7Ci0KLQkJCS8qCi0JCQkgKiBJZiB0aGUgZmlyc3QgbGluZSBvZiB0aGUgY3VycmVudCBjaGFuZ2UgZ3JvdXAsIGlzIGVxdWFsIHRvCi0JCQkgKiB0aGUgbGluZSBuZXh0IG9mIHRoZSBjdXJyZW50IGNoYW5nZSBncm91cCwgc2hpZnQgZm9yd2FyZAotCQkJICogdGhlIGdyb3VwLgotCQkJICovCi0JCQl3aGlsZSAoaXggPCBucmVjICYmIHJlY3NfbWF0Y2gocmVjcywgaXhzLCBpeCwgZmxhZ3MpKSB7Ci0JCQkJYmxhbmtfbGluZXMgKz0gaXNfYmxhbmtfbGluZShyZWNzLCBpeCwgZmxhZ3MpOwotCi0JCQkJcmNoZ1tpeHMrK10gPSAwOwotCQkJCXJjaGdbaXgrK10gPSAxOwotCi0JCQkJLyoKLQkJCQkgKiBUaGlzIGNoYW5nZSBtaWdodCBoYXZlIGpvaW5lZCB0d28gY2hhbmdlIGdyb3VwcywKLQkJCQkgKiBzbyB3ZSB0cnkgdG8gdGFrZSB0aGlzIHNjZW5hcmlvIGluIGFjY291bnQgYnkgbW92aW5nCi0JCQkJICogdGhlIHN0YXJ0IGluZGV4IGFjY29yZGluZ2x5IChhbmQgc28gdGhlIG90aGVyLWZpbGUKLQkJCQkgKiBlbmQtb2YtZ3JvdXAgaW5kZXgpLiBLZWVwIHRyYWNraW5nIHRoZSByZWZlcmVuY2UKLQkJCQkgKiBpbmRleCBpbiBjYXNlIHdlIGFyZSBzaGlmdGluZyB0b2dldGhlciB3aXRoIGEKLQkJCQkgKiBjb3JyZXNwb25kaW5nIGdyb3VwIG9mIGNoYW5nZXMgaW4gdGhlIG90aGVyIGZpbGUuCi0JCQkJICovCi0JCQkJZm9yICg7IHJjaGdbaXhdOyBpeCsrKTsKLQkJCQl3aGlsZSAocmNoZ29bKytpeG9dKQotCQkJCQlpeHJlZiA9IGl4OwotCQkJfQotCQl9IHdoaWxlIChncnBzaXogIT0gaXggLSBpeHMpOwotCi0JCS8qCi0JCSAqIFRyeSB0byBtb3ZlIGJhY2sgdGhlIHBvc3NpYmx5IG1lcmdlZCBncm91cCBvZiBjaGFuZ2VzLCB0byBtYXRjaAotCQkgKiB0aGUgcmVjb3JkZWQgcG9zaXRpb24gaW4gdGhlIG90aGVyIGZpbGUuCi0JCSAqLwotCQl3aGlsZSAoaXhyZWYgPCBpeCkgewotCQkJcmNoZ1stLWl4c10gPSAxOwotCQkJcmNoZ1stLWl4XSA9IDA7Ci0JCQl3aGlsZSAocmNoZ29bLS1peG9dKTsKLQkJfQotCi0JCS8qCi0JCSAqIElmIGEgZ3JvdXAgY2FuIGJlIG1vdmVkIGJhY2sgYW5kIGZvcnRoLCBzZWUgaWYgdGhlcmUgaXMgYQotCQkgKiBibGFuayBsaW5lIGluIHRoZSBtb3Zpbmcgc3BhY2UuIElmIHRoZXJlIGlzIGEgYmxhbmsgbGluZSwKLQkJICogbWFrZSBzdXJlIHRoZSBsYXN0IGJsYW5rIGxpbmUgaXMgdGhlIGVuZCBvZiB0aGUgZ3JvdXAuCi0JCSAqCi0JCSAqIEFzIHdlIGFscmVhZHkgc2hpZnRlZCB0aGUgZ3JvdXAgZm9yd2FyZCBhcyBmYXIgYXMgcG9zc2libGUKLQkJICogaW4gdGhlIGVhcmxpZXIgbG9vcCwgd2UgbmVlZCB0byBzaGlmdCBpdCBiYWNrIG9ubHkgaWYgYXQgYWxsLgotCQkgKi8KLQkJaWYgKChmbGFncyAmIFhERl9DT01QQUNUSU9OX0hFVVJJU1RJQykgJiYgYmxhbmtfbGluZXMpIHsKLQkJCXdoaWxlIChpeHMgPiAwICYmCi0JCQkgICAgICAgIWlzX2JsYW5rX2xpbmUocmVjcywgaXggLSAxLCBmbGFncykgJiYKLQkJCSAgICAgICByZWNzX21hdGNoKHJlY3MsIGl4cyAtIDEsIGl4IC0gMSwgZmxhZ3MpKSB7Ci0JCQkJcmNoZ1stLWl4c10gPSAxOwotCQkJCXJjaGdbLS1peF0gPSAwOwotCQkJfQorCQltLT5wcmVfYmxhbmsgKz0gMTsKKwkJaWYgKG0tPnByZV9ibGFuayA9PSBNQVhfQkxBTktTKSB7CisJCQltLT5wcmVfaW5kZW50ID0gMDsKKwkJCWJyZWFrOwogCQl9CiAJfQogCisJbS0+cG9zdF9ibGFuayA9IDA7CisJbS0+cG9zdF9pbmRlbnQgPSAtMTsKKwlmb3IgKGkgPSBzcGxpdCArIDE7IGkgPCB4ZGYtPm5yZWM7IGkrKykgeworCQltLT5wb3N0X2luZGVudCA9IGdldF9pbmRlbnQoeGRmLT5yZWNzW2ldKTsKKwkJaWYgKG0tPnBvc3RfaW5kZW50ICE9IC0xKQorCQkJYnJlYWs7CisJCW0tPnBvc3RfYmxhbmsgKz0gMTsKKwkJaWYgKG0tPnBvc3RfYmxhbmsgPT0gTUFYX0JMQU5LUykgeworCQkJbS0+cG9zdF9pbmRlbnQgPSAwOworCQkJYnJlYWs7CisJCX0KKwl9Cit9CisKKy8qCisgKiBUaGUgZW1waXJpY2FsbHktZGV0ZXJtaW5lZCB3ZWlnaHQgZmFjdG9ycyB1c2VkIGJ5IHNjb3JlX3NwbGl0KCkgYmVsb3cuCisgKiBMYXJnZXIgdmFsdWVzIG1lYW5zIHRoYXQgdGhlIHBvc2l0aW9uIGlzIGEgbGVzcyBmYXZvcmFibGUgcGxhY2UgdG8gc3BsaXQuCisgKgorICogTm90ZSB0aGF0IHNjb3JlcyBhcmUgb25seSBldmVyIGNvbXBhcmVkIGFnYWluc3QgZWFjaCBvdGhlciwgc28gbXVsdGlwbHlpbmcKKyAqIGFsbCBvZiB0aGVzZSB3ZWlnaHQvcGVuYWx0eSB2YWx1ZXMgYnkgdGhlIHNhbWUgZmFjdG9yIHdvdWxkbid0IGNoYW5nZSB0aGUKKyAqIGhldXJpc3RpYydzIGJlaGF2aW9yLiBTdGlsbCwgd2UgbmVlZCB0byBzZXQgdGhhdCBhcmJpdHJhcnkgc2NhbGUgKnNvbWVob3cqLgorICogSW4gcHJhY3RpY2UsIHRoZXNlIG51bWJlcnMgYXJlIGNob3NlbiB0byBiZSBsYXJnZSBlbm91Z2ggdGhhdCB0aGV5IGNhbiBiZQorICogYWRqdXN0ZWQgcmVsYXRpdmUgdG8gZWFjaCBvdGhlciB3aXRoIHN1ZmZpY2llbnQgcHJlY2lzaW9uIGRlc3BpdGUgdXNpbmcKKyAqIGludGVnZXIgbWF0aC4KKyAqLworCisvKiBQZW5hbHR5IGlmIHRoZXJlIGFyZSBubyBub24tYmxhbmsgbGluZXMgYmVmb3JlIHRoZSBzcGxpdCAqLworI2RlZmluZSBTVEFSVF9PRl9GSUxFX1BFTkFMVFkgMQorCisvKiBQZW5hbHR5IGlmIHRoZXJlIGFyZSBubyBub24tYmxhbmsgbGluZXMgYWZ0ZXIgdGhlIHNwbGl0ICovCisjZGVmaW5lIEVORF9PRl9GSUxFX1BFTkFMVFkgMjEKKworLyogTXVsdGlwbGllciBmb3IgdGhlIG51bWJlciBvZiBibGFuayBsaW5lcyBhcm91bmQgdGhlIHNwbGl0ICovCisjZGVmaW5lIFRPVEFMX0JMQU5LX1dFSUdIVCAoLTMwKQorCisvKiBNdWx0aXBsaWVyIGZvciB0aGUgbnVtYmVyIG9mIGJsYW5rIGxpbmVzIGFmdGVyIHRoZSBzcGxpdCAqLworI2RlZmluZSBQT1NUX0JMQU5LX1dFSUdIVCA2CisKKy8qCisgKiBQZW5hbHRpZXMgYXBwbGllZCBpZiB0aGUgbGluZSBpcyBpbmRlbnRlZCBtb3JlIHRoYW4gaXRzIHByZWRlY2Vzc29yCisgKi8KKyNkZWZpbmUgUkVMQVRJVkVfSU5ERU5UX1BFTkFMVFkgKC00KQorI2RlZmluZSBSRUxBVElWRV9JTkRFTlRfV0lUSF9CTEFOS19QRU5BTFRZIDEwCisKKy8qCisgKiBQZW5hbHRpZXMgYXBwbGllZCBpZiB0aGUgbGluZSBpcyBpbmRlbnRlZCBsZXNzIHRoYW4gYm90aCBpdHMgcHJlZGVjZXNzb3IgYW5kCisgKiBpdHMgc3VjY2Vzc29yCisgKi8KKyNkZWZpbmUgUkVMQVRJVkVfT1VUREVOVF9QRU5BTFRZIDI0CisjZGVmaW5lIFJFTEFUSVZFX09VVERFTlRfV0lUSF9CTEFOS19QRU5BTFRZIDE3CisKKy8qCisgKiBQZW5hbHRpZXMgYXBwbGllZCBpZiB0aGUgbGluZSBpcyBpbmRlbnRlZCBsZXNzIHRoYW4gaXRzIHByZWRlY2Vzc29yIGJ1dCBub3QKKyAqIGxlc3MgdGhhbiBpdHMgc3VjY2Vzc29yCisgKi8KKyNkZWZpbmUgUkVMQVRJVkVfREVERU5UX1BFTkFMVFkgMjMKKyNkZWZpbmUgUkVMQVRJVkVfREVERU5UX1dJVEhfQkxBTktfUEVOQUxUWSAxNworCisvKgorICogV2Ugb25seSBjb25zaWRlciB3aGV0aGVyIHRoZSBzdW0gb2YgdGhlIGVmZmVjdGl2ZSBpbmRlbnRzIGZvciBzcGxpdHMgYXJlCisgKiBsZXNzIHRoYW4gKC0xKSwgZXF1YWwgdG8gKDApLCBvciBncmVhdGVyIHRoYW4gKCsxKSBlYWNoIG90aGVyLiBUaGUgcmVzdWx0aW5nCisgKiB2YWx1ZSBpcyBtdWx0aXBsaWVkIGJ5IHRoZSBmb2xsb3dpbmcgd2VpZ2h0IGFuZCBjb21iaW5lZCB3aXRoIHRoZSBwZW5hbHR5IHRvCisgKiBkZXRlcm1pbmUgdGhlIGJldHRlciBvZiB0d28gc2NvcmVzLgorICovCisjZGVmaW5lIElOREVOVF9XRUlHSFQgNjAKKworLyoKKyAqIENvbXB1dGUgYSBiYWRuZXNzIHNjb3JlIGZvciB0aGUgaHlwb3RoZXRpY2FsIHNwbGl0IHdob3NlIG1lYXN1cmVtZW50cyBhcmUKKyAqIHN0b3JlZCBpbiBtLiBUaGUgd2VpZ2h0IGZhY3RvcnMgd2VyZSBkZXRlcm1pbmVkIGVtcGlyaWNhbGx5IHVzaW5nIHRoZSB0b29scyBhbmQKKyAqIGNvcnB1cyBkZXNjcmliZWQgaW4KKyAqCisgKiAgICAgaHR0cHM6Ly9naXRodWIuY29tL21oYWdnZXIvZGlmZi1zbGlkZXItdG9vbHMKKyAqCisgKiBBbHNvIHNlZSB0aGF0IHByb2plY3QgaWYgeW91IHdhbnQgdG8gaW1wcm92ZSB0aGUgd2VpZ2h0cyBiYXNlZCBvbiwgZm9yIGV4YW1wbGUsCisgKiBhIGxhcmdlciBvciBtb3JlIGRpdmVyc2UgY29ycHVzLgorICovCitzdGF0aWMgdm9pZCBzY29yZV9hZGRfc3BsaXQoY29uc3Qgc3RydWN0IHNwbGl0X21lYXN1cmVtZW50ICptLCBzdHJ1Y3Qgc3BsaXRfc2NvcmUgKnMpCit7CisJLyoKKwkgKiBBIHBsYWNlIHRvIGFjY3VtdWxhdGUgcGVuYWx0eSBmYWN0b3JzIChwb3NpdGl2ZSBtYWtlcyB0aGlzIGluZGV4IG1vcmUKKwkgKiBmYXZvcmVkKToKKwkgKi8KKwlpbnQgcG9zdF9ibGFuaywgdG90YWxfYmxhbmssIGluZGVudCwgYW55X2JsYW5rczsKKworCWlmIChtLT5wcmVfaW5kZW50ID09IC0xICYmIG0tPnByZV9ibGFuayA9PSAwKQorCQlzLT5wZW5hbHR5ICs9IFNUQVJUX09GX0ZJTEVfUEVOQUxUWTsKKworCWlmIChtLT5lbmRfb2ZfZmlsZSkKKwkJcy0+cGVuYWx0eSArPSBFTkRfT0ZfRklMRV9QRU5BTFRZOworCisJLyoKKwkgKiBTZXQgcG9zdF9ibGFuayB0byB0aGUgbnVtYmVyIG9mIGJsYW5rIGxpbmVzIGZvbGxvd2luZyB0aGUgc3BsaXQsCisJICogaW5jbHVkaW5nIHRoZSBsaW5lIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBzcGxpdDoKKwkgKi8KKwlwb3N0X2JsYW5rID0gKG0tPmluZGVudCA9PSAtMSkgPyAxICsgbS0+cG9zdF9ibGFuayA6IDA7CisJdG90YWxfYmxhbmsgPSBtLT5wcmVfYmxhbmsgKyBwb3N0X2JsYW5rOworCisJLyogUGVuYWx0aWVzIGJhc2VkIG9uIG5lYXJieSBibGFuayBsaW5lczogKi8KKwlzLT5wZW5hbHR5ICs9IFRPVEFMX0JMQU5LX1dFSUdIVCAqIHRvdGFsX2JsYW5rOworCXMtPnBlbmFsdHkgKz0gUE9TVF9CTEFOS19XRUlHSFQgKiBwb3N0X2JsYW5rOworCisJaWYgKG0tPmluZGVudCAhPSAtMSkKKwkJaW5kZW50ID0gbS0+aW5kZW50OworCWVsc2UKKwkJaW5kZW50ID0gbS0+cG9zdF9pbmRlbnQ7CisKKwlhbnlfYmxhbmtzID0gKHRvdGFsX2JsYW5rICE9IDApOworCisJLyogTm90ZSB0aGF0IHRoZSBlZmZlY3RpdmUgaW5kZW50IGlzIC0xIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGU6ICovCisJcy0+ZWZmZWN0aXZlX2luZGVudCArPSBpbmRlbnQ7CisKKwlpZiAoaW5kZW50ID09IC0xKSB7CisJCS8qIE5vIGFkZGl0aW9uYWwgYWRqdXN0bWVudHMgbmVlZGVkLiAqLworCX0gZWxzZSBpZiAobS0+cHJlX2luZGVudCA9PSAtMSkgeworCQkvKiBObyBhZGRpdGlvbmFsIGFkanVzdG1lbnRzIG5lZWRlZC4gKi8KKwl9IGVsc2UgaWYgKGluZGVudCA+IG0tPnByZV9pbmRlbnQpIHsKKwkJLyoKKwkJICogVGhlIGxpbmUgaXMgaW5kZW50ZWQgbW9yZSB0aGFuIGl0cyBwcmVkZWNlc3Nvci4KKwkJICovCisJCXMtPnBlbmFsdHkgKz0gYW55X2JsYW5rcyA/CisJCQlSRUxBVElWRV9JTkRFTlRfV0lUSF9CTEFOS19QRU5BTFRZIDoKKwkJCVJFTEFUSVZFX0lOREVOVF9QRU5BTFRZOworCX0gZWxzZSBpZiAoaW5kZW50ID09IG0tPnByZV9pbmRlbnQpIHsKKwkJLyoKKwkJICogVGhlIGxpbmUgaGFzIHRoZSBzYW1lIGluZGVudGF0aW9uIGxldmVsIGFzIGl0cyBwcmVkZWNlc3Nvci4KKwkJICogTm8gYWRkaXRpb25hbCBhZGp1c3RtZW50cyBuZWVkZWQuCisJCSAqLworCX0gZWxzZSB7CisJCS8qCisJCSAqIFRoZSBsaW5lIGlzIGluZGVudGVkIGxlc3MgdGhhbiBpdHMgcHJlZGVjZXNzb3IuIEl0IGNvdWxkIGJlCisJCSAqIHRoZSBibG9jayB0ZXJtaW5hdG9yIG9mIHRoZSBwcmV2aW91cyBibG9jaywgYnV0IGl0IGNvdWxkCisJCSAqIGFsc28gYmUgdGhlIHN0YXJ0IG9mIGEgbmV3IGJsb2NrIChlLmcuLCBhbiAiZWxzZSIgYmxvY2ssIG9yCisJCSAqIG1heWJlIHRoZSBwcmV2aW91cyBibG9jayBkaWRuJ3QgaGF2ZSBhIGJsb2NrIHRlcm1pbmF0b3IpLgorCQkgKiBUcnkgdG8gZGlzdGluZ3Vpc2ggdGhvc2UgY2FzZXMgYmFzZWQgb24gd2hhdCBjb21lcyBuZXh0OgorCQkgKi8KKwkJaWYgKG0tPnBvc3RfaW5kZW50ICE9IC0xICYmIG0tPnBvc3RfaW5kZW50ID4gaW5kZW50KSB7CisJCQkvKgorCQkJICogVGhlIGZvbGxvd2luZyBsaW5lIGlzIGluZGVudGVkIG1vcmUuIFNvIGl0IGlzIGxpa2VseQorCQkJICogdGhhdCB0aGlzIGxpbmUgaXMgdGhlIHN0YXJ0IG9mIGEgYmxvY2suCisJCQkgKi8KKwkJCXMtPnBlbmFsdHkgKz0gYW55X2JsYW5rcyA/CisJCQkJUkVMQVRJVkVfT1VUREVOVF9XSVRIX0JMQU5LX1BFTkFMVFkgOgorCQkJCVJFTEFUSVZFX09VVERFTlRfUEVOQUxUWTsKKwkJfSBlbHNlIHsKKwkJCS8qCisJCQkgKiBUaGF0IHdhcyBwcm9iYWJseSB0aGUgZW5kIG9mIGEgYmxvY2suCisJCQkgKi8KKwkJCXMtPnBlbmFsdHkgKz0gYW55X2JsYW5rcyA/CisJCQkJUkVMQVRJVkVfREVERU5UX1dJVEhfQkxBTktfUEVOQUxUWSA6CisJCQkJUkVMQVRJVkVfREVERU5UX1BFTkFMVFk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBpbnQgc2NvcmVfY21wKHN0cnVjdCBzcGxpdF9zY29yZSAqczEsIHN0cnVjdCBzcGxpdF9zY29yZSAqczIpCit7CisJLyogLTEgaWYgczEuZWZmZWN0aXZlX2luZGVudCA8IHMyLT5lZmZlY3RpdmVfaW5kZW50LCBldGMuICovCisJaW50IGNtcF9pbmRlbnRzID0gKChzMS0+ZWZmZWN0aXZlX2luZGVudCA+IHMyLT5lZmZlY3RpdmVfaW5kZW50KSAtCisJCQkgICAoczEtPmVmZmVjdGl2ZV9pbmRlbnQgPCBzMi0+ZWZmZWN0aXZlX2luZGVudCkpOworCisJcmV0dXJuIElOREVOVF9XRUlHSFQgKiBjbXBfaW5kZW50cyArIChzMS0+cGVuYWx0eSAtIHMyLT5wZW5hbHR5KTsKK30KKworLyoKKyAqIFJlcHJlc2VudCBhIGdyb3VwIG9mIGNoYW5nZWQgbGluZXMgaW4gYW4geGRmaWxlX3QgKGkuZS4sIGEgY29udGlndW91cyBncm91cAorICogb2YgbGluZXMgdGhhdCB3YXMgaW5zZXJ0ZWQgb3IgZGVsZXRlZCBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIHZlcnNpb24gb2YgdGhlCisgKiBmaWxlKS4gV2UgY29uc2lkZXIgdGhlcmUgdG8gYmUgc3VjaCBhIGdyb3VwIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUsIGF0CisgKiB0aGUgZW5kIG9mIHRoZSBmaWxlLCBhbmQgYmV0d2VlbiBhbnkgdHdvIHVuY2hhbmdlZCBsaW5lcywgdGhvdWdoIG1vc3Qgc3VjaAorICogZ3JvdXBzIHdpbGwgdXN1YWxseSBiZSBlbXB0eS4KKyAqCisgKiBJZiB0aGUgZmlyc3QgbGluZSBpbiBhIGdyb3VwIGlzIGVxdWFsIHRvIHRoZSBsaW5lIGZvbGxvd2luZyB0aGUgZ3JvdXAsIHRoZW4KKyAqIHRoZSBncm91cCBjYW4gYmUgc2xpZCBkb3duLiBTaW1pbGFybHksIGlmIHRoZSBsYXN0IGxpbmUgaW4gYSBncm91cCBpcyBlcXVhbAorICogdG8gdGhlIGxpbmUgcHJlY2VkaW5nIHRoZSBncm91cCwgdGhlbiB0aGUgZ3JvdXAgY2FuIGJlIHNsaWQgdXAuIFNlZQorICogZ3JvdXBfc2xpZGVfZG93bigpIGFuZCBncm91cF9zbGlkZV91cCgpLgorICoKKyAqIE5vdGUgdGhhdCBsb29wcyB0aGF0IGFyZSB0ZXN0aW5nIGZvciBjaGFuZ2VkIGxpbmVzIGluIHhkZi0+cmNoZyBkbyBub3QgbmVlZAorICogaW5kZXggYm91bmRpbmcgc2luY2UgdGhlIGFycmF5IGlzIHByZXBhcmVkIHdpdGggYSB6ZXJvIGF0IHBvc2l0aW9uIC0xIGFuZCBOLgorICovCitzdHJ1Y3QgeGRsZ3JvdXAgeworCS8qCisJICogVGhlIGluZGV4IG9mIHRoZSBmaXJzdCBjaGFuZ2VkIGxpbmUgaW4gdGhlIGdyb3VwLCBvciB0aGUgaW5kZXggb2YKKwkgKiB0aGUgdW5jaGFuZ2VkIGxpbmUgYWJvdmUgd2hpY2ggdGhlIChlbXB0eSkgZ3JvdXAgaXMgbG9jYXRlZC4KKwkgKi8KKwlsb25nIHN0YXJ0OworCisJLyoKKwkgKiBUaGUgaW5kZXggb2YgdGhlIGZpcnN0IHVuY2hhbmdlZCBsaW5lIGFmdGVyIHRoZSBncm91cC4gRm9yIGFuIGVtcHR5CisJICogZ3JvdXAsIGVuZCBpcyBlcXVhbCB0byBzdGFydC4KKwkgKi8KKwlsb25nIGVuZDsKK307CisKKy8qCisgKiBJbml0aWFsaXplIGcgdG8gcG9pbnQgYXQgdGhlIGZpcnN0IGdyb3VwIGluIHhkZi4KKyAqLworc3RhdGljIHZvaWQgZ3JvdXBfaW5pdCh4ZGZpbGVfdCAqeGRmLCBzdHJ1Y3QgeGRsZ3JvdXAgKmcpCit7CisJZy0+c3RhcnQgPSBnLT5lbmQgPSAwOworCXdoaWxlICh4ZGYtPnJjaGdbZy0+ZW5kXSkKKwkJZy0+ZW5kKys7Cit9CisKKy8qCisgKiBNb3ZlIGcgdG8gZGVzY3JpYmUgdGhlIG5leHQgKHBvc3NpYmx5IGVtcHR5KSBncm91cCBpbiB4ZGYgYW5kIHJldHVybiAwLiBJZiBnCisgKiBpcyBhbHJlYWR5IGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUsIGRvIG5vdGhpbmcgYW5kIHJldHVybiAtMS4KKyAqLworc3RhdGljIGlubGluZSBpbnQgZ3JvdXBfbmV4dCh4ZGZpbGVfdCAqeGRmLCBzdHJ1Y3QgeGRsZ3JvdXAgKmcpCit7CisJaWYgKGctPmVuZCA9PSB4ZGYtPm5yZWMpCisJCXJldHVybiAtMTsKKworCWctPnN0YXJ0ID0gZy0+ZW5kICsgMTsKKwlmb3IgKGctPmVuZCA9IGctPnN0YXJ0OyB4ZGYtPnJjaGdbZy0+ZW5kXTsgZy0+ZW5kKyspCisJCTsKKworCXJldHVybiAwOworfQorCisvKgorICogTW92ZSBnIHRvIGRlc2NyaWJlIHRoZSBwcmV2aW91cyAocG9zc2libHkgZW1wdHkpIGdyb3VwIGluIHhkZiBhbmQgcmV0dXJuIDAuCisgKiBJZiBnIGlzIGFscmVhZHkgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZSwgZG8gbm90aGluZyBhbmQgcmV0dXJuIC0xLgorICovCitzdGF0aWMgaW5saW5lIGludCBncm91cF9wcmV2aW91cyh4ZGZpbGVfdCAqeGRmLCBzdHJ1Y3QgeGRsZ3JvdXAgKmcpCit7CisJaWYgKGctPnN0YXJ0ID09IDApCisJCXJldHVybiAtMTsKKworCWctPmVuZCA9IGctPnN0YXJ0IC0gMTsKKwlmb3IgKGctPnN0YXJ0ID0gZy0+ZW5kOyB4ZGYtPnJjaGdbZy0+c3RhcnQgLSAxXTsgZy0+c3RhcnQtLSkKKwkJOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBJZiBnIGNhbiBiZSBzbGlkIHRvd2FyZCB0aGUgZW5kIG9mIHRoZSBmaWxlLCBkbyBzbywgYW5kIGlmIGl0IGJ1bXBzIGludG8gYQorICogZm9sbG93aW5nIGdyb3VwLCBleHBhbmQgdGhpcyBncm91cCB0byBpbmNsdWRlIGl0LiBSZXR1cm4gMCBvbiBzdWNjZXNzIG9yIC0xCisgKiBpZiBnIGNhbm5vdCBiZSBzbGlkIGRvd24uCisgKi8KK3N0YXRpYyBpbnQgZ3JvdXBfc2xpZGVfZG93bih4ZGZpbGVfdCAqeGRmLCBzdHJ1Y3QgeGRsZ3JvdXAgKmcsIGxvbmcgZmxhZ3MpCit7CisJaWYgKGctPmVuZCA8IHhkZi0+bnJlYyAmJgorCSAgICByZWNzX21hdGNoKHhkZi0+cmVjc1tnLT5zdGFydF0sIHhkZi0+cmVjc1tnLT5lbmRdLCBmbGFncykpIHsKKwkJeGRmLT5yY2hnW2ctPnN0YXJ0KytdID0gMDsKKwkJeGRmLT5yY2hnW2ctPmVuZCsrXSA9IDE7CisKKwkJd2hpbGUgKHhkZi0+cmNoZ1tnLT5lbmRdKQorCQkJZy0+ZW5kKys7CisKKwkJcmV0dXJuIDA7CisJfSBlbHNlIHsKKwkJcmV0dXJuIC0xOworCX0KK30KKworLyoKKyAqIElmIGcgY2FuIGJlIHNsaWQgdG93YXJkIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUsIGRvIHNvLCBhbmQgaWYgaXQgYnVtcHMKKyAqIGludG8gYSBwcmV2aW91cyBncm91cCwgZXhwYW5kIHRoaXMgZ3JvdXAgdG8gaW5jbHVkZSBpdC4gUmV0dXJuIDAgb24gc3VjY2VzcworICogb3IgLTEgaWYgZyBjYW5ub3QgYmUgc2xpZCB1cC4KKyAqLworc3RhdGljIGludCBncm91cF9zbGlkZV91cCh4ZGZpbGVfdCAqeGRmLCBzdHJ1Y3QgeGRsZ3JvdXAgKmcsIGxvbmcgZmxhZ3MpCit7CisJaWYgKGctPnN0YXJ0ID4gMCAmJgorCSAgICByZWNzX21hdGNoKHhkZi0+cmVjc1tnLT5zdGFydCAtIDFdLCB4ZGYtPnJlY3NbZy0+ZW5kIC0gMV0sIGZsYWdzKSkgeworCQl4ZGYtPnJjaGdbLS1nLT5zdGFydF0gPSAxOworCQl4ZGYtPnJjaGdbLS1nLT5lbmRdID0gMDsKKworCQl3aGlsZSAoeGRmLT5yY2hnW2ctPnN0YXJ0IC0gMV0pCisJCQlnLT5zdGFydC0tOworCisJCXJldHVybiAwOworCX0gZWxzZSB7CisJCXJldHVybiAtMTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHhkbF9idWcoY29uc3QgY2hhciAqbXNnKQoreworCWZwcmludGYoc3RkZXJyLCAiQlVHOiAlc1xuIiwgbXNnKTsKKwlleGl0KDEpOworfQorCisvKgorICogTW92ZSBiYWNrIGFuZCBmb3J3YXJkIGNoYW5nZSBncm91cHMgZm9yIGEgY29uc2lzdGVudCBhbmQgcHJldHR5IGRpZmYgb3V0cHV0LgorICogVGhpcyBhbHNvIGhlbHBzIGluIGZpbmRpbmcgam9pbmFibGUgY2hhbmdlIGdyb3VwcyBhbmQgcmVkdWNpbmcgdGhlIGRpZmYKKyAqIHNpemUuCisgKi8KK2ludCB4ZGxfY2hhbmdlX2NvbXBhY3QoeGRmaWxlX3QgKnhkZiwgeGRmaWxlX3QgKnhkZm8sIGxvbmcgZmxhZ3MpIHsKKwlzdHJ1Y3QgeGRsZ3JvdXAgZywgZ287CisJbG9uZyBlYXJsaWVzdF9lbmQsIGVuZF9tYXRjaGluZ19vdGhlcjsKKwlsb25nIGdyb3Vwc2l6ZTsKKwl1bnNpZ25lZCBpbnQgYmxhbmtfbGluZXM7CisKKwlncm91cF9pbml0KHhkZiwgJmcpOworCWdyb3VwX2luaXQoeGRmbywgJmdvKTsKKworCXdoaWxlICgxKSB7CisJCS8qIElmIHRoZSBncm91cCBpcyBlbXB0eSBpbiB0aGUgdG8tYmUtY29tcGFjdGVkIGZpbGUsIHNraXAgaXQ6ICovCisJCWlmIChnLmVuZCA9PSBnLnN0YXJ0KQorCQkJZ290byBuZXh0OworCisJCS8qCisJCSAqIE5vdyBzaGlmdCB0aGUgY2hhbmdlIHVwIGFuZCB0aGVuIGRvd24gYXMgZmFyIGFzIHBvc3NpYmxlIGluCisJCSAqIGVhY2ggZGlyZWN0aW9uLiBJZiBpdCBidW1wcyBpbnRvIGFueSBvdGhlciBjaGFuZ2VzLCBtZXJnZSB0aGVtLgorCQkgKi8KKwkJZG8geworCQkJZ3JvdXBzaXplID0gZy5lbmQgLSBnLnN0YXJ0OworCisJCQkvKgorCQkJICogS2VlcCB0cmFjayBvZiB0aGUgbGFzdCAiZW5kIiBpbmRleCB0aGF0IGNhdXNlcyB0aGlzCisJCQkgKiBncm91cCB0byBhbGlnbiB3aXRoIGEgZ3JvdXAgb2YgY2hhbmdlZCBsaW5lcyBpbiB0aGUKKwkJCSAqIG90aGVyIGZpbGUuIC0xIGluZGljYXRlcyB0aGF0IHdlIGhhdmVuJ3QgZm91bmQgc3VjaAorCQkJICogYSBtYXRjaCB5ZXQ6CisJCQkgKi8KKwkJCWVuZF9tYXRjaGluZ19vdGhlciA9IC0xOworCisJCQkvKgorCQkJICogQm9vbGVhbiB2YWx1ZSB0aGF0IHJlY29yZHMgd2hldGhlciB0aGVyZSBhcmUgYW55IGJsYW5rCisJCQkgKiBsaW5lcyB0aGF0IGNvdWxkIGJlIG1hZGUgdG8gYmUgdGhlIGxhc3QgbGluZSBvZiB0aGlzCisJCQkgKiBncm91cC4KKwkJCSAqLworCQkJYmxhbmtfbGluZXMgPSAwOworCisJCQkvKiBTaGlmdCB0aGUgZ3JvdXAgYmFja3dhcmQgYXMgbXVjaCBhcyBwb3NzaWJsZTogKi8KKwkJCXdoaWxlICghZ3JvdXBfc2xpZGVfdXAoeGRmLCAmZywgZmxhZ3MpKQorCQkJCWlmIChncm91cF9wcmV2aW91cyh4ZGZvLCAmZ28pKQorCQkJCQl4ZGxfYnVnKCJncm91cCBzeW5jIGJyb2tlbiBzbGlkaW5nIHVwIik7CisKKwkJCS8qCisJCQkgKiBUaGlzIGlzIHRoaXMgaGlnaGVzdCB0aGF0IHRoaXMgZ3JvdXAgY2FuIGJlIHNoaWZ0ZWQuCisJCQkgKiBSZWNvcmQgaXRzIGVuZCBpbmRleDoKKwkJCSAqLworCQkJZWFybGllc3RfZW5kID0gZy5lbmQ7CisKKwkJCWlmIChnby5lbmQgPiBnby5zdGFydCkKKwkJCQllbmRfbWF0Y2hpbmdfb3RoZXIgPSBnLmVuZDsKKworCQkJLyogTm93IHNoaWZ0IHRoZSBncm91cCBmb3J3YXJkIGFzIGZhciBhcyBwb3NzaWJsZTogKi8KKwkJCXdoaWxlICgxKSB7CisJCQkJaWYgKCFibGFua19saW5lcykKKwkJCQkJYmxhbmtfbGluZXMgPSBpc19ibGFua19saW5lKAorCQkJCQkJCXhkZi0+cmVjc1tnLmVuZCAtIDFdLAorCQkJCQkJCWZsYWdzKTsKKworCQkJCWlmIChncm91cF9zbGlkZV9kb3duKHhkZiwgJmcsIGZsYWdzKSkKKwkJCQkJYnJlYWs7CisJCQkJaWYgKGdyb3VwX25leHQoeGRmbywgJmdvKSkKKwkJCQkJeGRsX2J1ZygiZ3JvdXAgc3luYyBicm9rZW4gc2xpZGluZyBkb3duIik7CisKKwkJCQlpZiAoZ28uZW5kID4gZ28uc3RhcnQpCisJCQkJCWVuZF9tYXRjaGluZ19vdGhlciA9IGcuZW5kOworCQkJfQorCQl9IHdoaWxlIChncm91cHNpemUgIT0gZy5lbmQgLSBnLnN0YXJ0KTsKKworCQkvKgorCQkgKiBJZiB0aGUgZ3JvdXAgY2FuIGJlIHNoaWZ0ZWQsIHRoZW4gd2UgY2FuIHBvc3NpYmx5IHVzZSB0aGlzCisJCSAqIGZyZWVkb20gdG8gcHJvZHVjZSBhIG1vcmUgaW50dWl0aXZlIGRpZmYuCisJCSAqCisJCSAqIFRoZSBncm91cCBpcyBjdXJyZW50bHkgc2hpZnRlZCBhcyBmYXIgZG93biBhcyBwb3NzaWJsZSwgc28gdGhlCisJCSAqIGhldXJpc3RpY3MgYmVsb3cgb25seSBoYXZlIHRvIGhhbmRsZSB1cHdhcmRzIHNoaWZ0cy4KKwkJICovCisKKwkJaWYgKGcuZW5kID09IGVhcmxpZXN0X2VuZCkgeworCQkJLyogbm8gc2hpZnRpbmcgd2FzIHBvc3NpYmxlICovCisJCX0gZWxzZSBpZiAoZW5kX21hdGNoaW5nX290aGVyICE9IC0xKSB7CisJCQkvKgorCQkJICogTW92ZSB0aGUgcG9zc2libHkgbWVyZ2VkIGdyb3VwIG9mIGNoYW5nZXMgYmFjayB0byBsaW5lCisJCQkgKiB1cCB3aXRoIHRoZSBsYXN0IGdyb3VwIG9mIGNoYW5nZXMgZnJvbSB0aGUgb3RoZXIgZmlsZQorCQkJICogdGhhdCBpdCBjYW4gYWxpZ24gd2l0aC4KKwkJCSAqLworCQkJd2hpbGUgKGdvLmVuZCA9PSBnby5zdGFydCkgeworCQkJCWlmIChncm91cF9zbGlkZV91cCh4ZGYsICZnLCBmbGFncykpCisJCQkJCXhkbF9idWcoIm1hdGNoIGRpc2FwcGVhcmVkIik7CisJCQkJaWYgKGdyb3VwX3ByZXZpb3VzKHhkZm8sICZnbykpCisJCQkJCXhkbF9idWcoImdyb3VwIHN5bmMgYnJva2VuIHNsaWRpbmcgdG8gbWF0Y2giKTsKKwkJCX0KKwkJfSBlbHNlIGlmICgoZmxhZ3MgJiBYREZfQ09NUEFDVElPTl9IRVVSSVNUSUMpICYmIGJsYW5rX2xpbmVzKSB7CisJCQkvKgorCQkJICogQ29tcGFjdGlvbiBoZXVyaXN0aWM6IGlmIGl0IGlzIHBvc3NpYmxlIHRvIHNoaWZ0IHRoZQorCQkJICogZ3JvdXAgdG8gbWFrZSBpdHMgYm90dG9tIGxpbmUgYSBibGFuayBsaW5lLCBkbyBzby4KKwkJCSAqCisJCQkgKiBBcyB3ZSBhbHJlYWR5IHNoaWZ0ZWQgdGhlIGdyb3VwIGZvcndhcmQgYXMgZmFyIGFzCisJCQkgKiBwb3NzaWJsZSBpbiB0aGUgZWFybGllciBsb29wLCB3ZSBvbmx5IG5lZWQgdG8gaGFuZGxlCisJCQkgKiBiYWNrd2FyZCBzaGlmdHMsIG5vdCBmb3J3YXJkIG9uZXMuCisJCQkgKi8KKwkJCXdoaWxlICghaXNfYmxhbmtfbGluZSh4ZGYtPnJlY3NbZy5lbmQgLSAxXSwgZmxhZ3MpKSB7CisJCQkJaWYgKGdyb3VwX3NsaWRlX3VwKHhkZiwgJmcsIGZsYWdzKSkKKwkJCQkJeGRsX2J1ZygiYmxhbmsgbGluZSBkaXNhcHBlYXJlZCIpOworCQkJCWlmIChncm91cF9wcmV2aW91cyh4ZGZvLCAmZ28pKQorCQkJCQl4ZGxfYnVnKCJncm91cCBzeW5jIGJyb2tlbiBzbGlkaW5nIHRvIGJsYW5rIGxpbmUiKTsKKwkJCX0KKwkJfSBlbHNlIGlmIChmbGFncyAmIFhERl9JTkRFTlRfSEVVUklTVElDKSB7CisJCQkvKgorCQkJICogSW5kZW50IGhldXJpc3RpYzogYSBncm91cCBvZiBwdXJlIGFkZC9kZWxldGUgbGluZXMKKwkJCSAqIGltcGxpZXMgdHdvIHNwbGl0cywgb25lIGJldHdlZW4gdGhlIGVuZCBvZiB0aGUgImJlZm9yZSIKKwkJCSAqIGNvbnRleHQgYW5kIHRoZSBzdGFydCBvZiB0aGUgZ3JvdXAsIGFuZCBhbm90aGVyIGJldHdlZW4KKwkJCSAqIHRoZSBlbmQgb2YgdGhlIGdyb3VwIGFuZCB0aGUgYmVnaW5uaW5nIG9mIHRoZSAiYWZ0ZXIiCisJCQkgKiBjb250ZXh0LiBTb21lIHNwbGl0cyBhcmUgYWVzdGhldGljYWxseSBiZXR0ZXIgYW5kIHNvbWUKKwkJCSAqIGFyZSB3b3JzZS4gV2UgY29tcHV0ZSBhIGJhZG5lc3MgInNjb3JlIiBmb3IgZWFjaCBzcGxpdCwKKwkJCSAqIGFuZCBhZGQgdGhlIHNjb3JlcyBmb3IgdGhlIHR3byBzcGxpdHMgdG8gZGVmaW5lIGEKKwkJCSAqICJzY29yZSIgZm9yIGVhY2ggcG9zaXRpb24gdGhhdCB0aGUgZ3JvdXAgY2FuIGJlIHNoaWZ0ZWQKKwkJCSAqIHRvLiBUaGVuIHdlIHBpY2sgdGhlIHNoaWZ0IHdpdGggdGhlIGxvd2VzdCBzY29yZS4KKwkJCSAqLworCQkJbG9uZyBzaGlmdCwgYmVzdF9zaGlmdCA9IC0xOworCQkJc3RydWN0IHNwbGl0X3Njb3JlIGJlc3Rfc2NvcmU7CisKKwkJCWZvciAoc2hpZnQgPSBlYXJsaWVzdF9lbmQ7IHNoaWZ0IDw9IGcuZW5kOyBzaGlmdCsrKSB7CisJCQkJc3RydWN0IHNwbGl0X21lYXN1cmVtZW50IG07CisJCQkJc3RydWN0IHNwbGl0X3Njb3JlIHNjb3JlID0gezAsIDB9OworCisJCQkJbWVhc3VyZV9zcGxpdCh4ZGYsIHNoaWZ0LCAmbSk7CisJCQkJc2NvcmVfYWRkX3NwbGl0KCZtLCAmc2NvcmUpOworCQkJCW1lYXN1cmVfc3BsaXQoeGRmLCBzaGlmdCAtIGdyb3Vwc2l6ZSwgJm0pOworCQkJCXNjb3JlX2FkZF9zcGxpdCgmbSwgJnNjb3JlKTsKKwkJCQlpZiAoYmVzdF9zaGlmdCA9PSAtMSB8fAorCQkJCSAgICBzY29yZV9jbXAoJnNjb3JlLCAmYmVzdF9zY29yZSkgPD0gMCkgeworCQkJCQliZXN0X3Njb3JlLmVmZmVjdGl2ZV9pbmRlbnQgPSBzY29yZS5lZmZlY3RpdmVfaW5kZW50OworCQkJCQliZXN0X3Njb3JlLnBlbmFsdHkgPSBzY29yZS5wZW5hbHR5OworCQkJCQliZXN0X3NoaWZ0ID0gc2hpZnQ7CisJCQkJfQorCQkJfQorCisJCQl3aGlsZSAoZy5lbmQgPiBiZXN0X3NoaWZ0KSB7CisJCQkJaWYgKGdyb3VwX3NsaWRlX3VwKHhkZiwgJmcsIGZsYWdzKSkKKwkJCQkJeGRsX2J1ZygiYmVzdCBzaGlmdCB1bnJlYWNoZWQiKTsKKwkJCQlpZiAoZ3JvdXBfcHJldmlvdXMoeGRmbywgJmdvKSkKKwkJCQkJeGRsX2J1ZygiZ3JvdXAgc3luYyBicm9rZW4gc2xpZGluZyB0byBibGFuayBsaW5lIik7CisJCQl9CisJCX0KKworCW5leHQ6CisJCS8qIE1vdmUgcGFzdCB0aGUganVzdC1wcm9jZXNzZWQgZ3JvdXA6ICovCisJCWlmIChncm91cF9uZXh0KHhkZiwgJmcpKQorCQkJYnJlYWs7CisJCWlmIChncm91cF9uZXh0KHhkZm8sICZnbykpCisJCQl4ZGxfYnVnKCJncm91cCBzeW5jIGJyb2tlbiBtb3ZpbmcgdG8gbmV4dCBncm91cCIpOworCX0KKworCWlmICghZ3JvdXBfbmV4dCh4ZGZvLCAmZ28pKQorCQl4ZGxfYnVnKCJncm91cCBzeW5jIGJyb2tlbiBhdCBlbmQgb2YgZmlsZSIpOworCiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3hkaWZmL3hlbWl0LmMgYi94ZGlmZi94ZW1pdC5jCmluZGV4IDk5MzcyNGIuLjczODljZTQgMTAwNjQ0Ci0tLSBhL3hkaWZmL3hlbWl0LmMKKysrIGIveGRpZmYveGVtaXQuYwpAQCAtMjIsMTUgKzIyLDYgQEAKIAogI2luY2x1ZGUgInhpbmNsdWRlLmgiCiAKLQotCi0KLXN0YXRpYyBsb25nIHhkbF9nZXRfcmVjKHhkZmlsZV90ICp4ZGYsIGxvbmcgcmksIGNoYXIgY29uc3QgKipyZWMpOwotc3RhdGljIGludCB4ZGxfZW1pdF9yZWNvcmQoeGRmaWxlX3QgKnhkZiwgbG9uZyByaSwgY2hhciBjb25zdCAqcHJlLCB4ZGVtaXRjYl90ICplY2IpOwotCi0KLQotCiBzdGF0aWMgbG9uZyB4ZGxfZ2V0X3JlYyh4ZGZpbGVfdCAqeGRmLCBsb25nIHJpLCBjaGFyIGNvbnN0ICoqcmVjKSB7CiAKIAkqcmVjID0geGRmLT5yZWNzW3JpXS0+cHRyOwpAQCAtMTIwLDYgKzExMSwxNiBAQAogCXJldHVybiAtMTsKIH0KIAorc3RhdGljIGxvbmcgbWF0Y2hfZnVuY19yZWMoeGRmaWxlX3QgKnhkZiwgeGRlbWl0Y29uZl90IGNvbnN0ICp4ZWNmZywgbG9uZyByaSwKKwkJCSAgIGNoYXIgKmJ1ZiwgbG9uZyBzeikKK3sKKwljb25zdCBjaGFyICpyZWM7CisJbG9uZyBsZW4gPSB4ZGxfZ2V0X3JlYyh4ZGYsIHJpLCAmcmVjKTsKKwlpZiAoIXhlY2ZnLT5maW5kX2Z1bmMpCisJCXJldHVybiBkZWZfZmYocmVjLCBsZW4sIGJ1Ziwgc3osIHhlY2ZnLT5maW5kX2Z1bmNfcHJpdik7CisJcmV0dXJuIHhlY2ZnLT5maW5kX2Z1bmMocmVjLCBsZW4sIGJ1Ziwgc3osIHhlY2ZnLT5maW5kX2Z1bmNfcHJpdik7Cit9CisKIHN0cnVjdCBmdW5jX2xpbmUgewogCWxvbmcgbGVuOwogCWNoYXIgYnVmWzgwXTsKQEAgLTEyOCw3ICsxMjksNiBAQAogc3RhdGljIGxvbmcgZ2V0X2Z1bmNfbGluZSh4ZGZlbnZfdCAqeGUsIHhkZW1pdGNvbmZfdCBjb25zdCAqeGVjZmcsCiAJCQkgIHN0cnVjdCBmdW5jX2xpbmUgKmZ1bmNfbGluZSwgbG9uZyBzdGFydCwgbG9uZyBsaW1pdCkKIHsKLQlmaW5kX2Z1bmNfdCBmZiA9IHhlY2ZnLT5maW5kX2Z1bmMgPyB4ZWNmZy0+ZmluZF9mdW5jIDogZGVmX2ZmOwogCWxvbmcgbCwgc2l6ZSwgc3RlcCA9IChzdGFydCA+IGxpbWl0KSA/IC0xIDogMTsKIAljaGFyICpidWYsIGR1bW15WzFdOwogCkBAIC0xMzYsOSArMTM2LDcgQEAKIAlzaXplID0gZnVuY19saW5lID8gc2l6ZW9mKGZ1bmNfbGluZS0+YnVmKSA6IHNpemVvZihkdW1teSk7CiAKIAlmb3IgKGwgPSBzdGFydDsgbCAhPSBsaW1pdCAmJiAwIDw9IGwgJiYgbCA8IHhlLT54ZGYxLm5yZWM7IGwgKz0gc3RlcCkgewotCQljb25zdCBjaGFyICpyZWM7Ci0JCWxvbmcgcmVjbGVuID0geGRsX2dldF9yZWMoJnhlLT54ZGYxLCBsLCAmcmVjKTsKLQkJbG9uZyBsZW4gPSBmZihyZWMsIHJlY2xlbiwgYnVmLCBzaXplLCB4ZWNmZy0+ZmluZF9mdW5jX3ByaXYpOworCQlsb25nIGxlbiA9IG1hdGNoX2Z1bmNfcmVjKCZ4ZS0+eGRmMSwgeGVjZmcsIGwsIGJ1Ziwgc2l6ZSk7CiAJCWlmIChsZW4gPj0gMCkgewogCQkJaWYgKGZ1bmNfbGluZSkKIAkJCQlmdW5jX2xpbmUtPmxlbiA9IGxlbjsKQEAgLTE0OCw2ICsxNDYsMTggQEAKIAlyZXR1cm4gLTE7CiB9CiAKK3N0YXRpYyBpbnQgaXNfZW1wdHlfcmVjKHhkZmlsZV90ICp4ZGYsIGxvbmcgcmkpCit7CisJY29uc3QgY2hhciAqcmVjOworCWxvbmcgbGVuID0geGRsX2dldF9yZWMoeGRmLCByaSwgJnJlYyk7CisKKwl3aGlsZSAobGVuID4gMCAmJiBYRExfSVNTUEFDRSgqcmVjKSkgeworCQlyZWMrKzsKKwkJbGVuLS07CisJfQorCXJldHVybiAhbGVuOworfQorCiBpbnQgeGRsX2VtaXRfZGlmZih4ZGZlbnZfdCAqeGUsIHhkY2hhbmdlX3QgKnhzY3IsIHhkZW1pdGNiX3QgKmVjYiwKIAkJICB4ZGVtaXRjb25mX3QgY29uc3QgKnhlY2ZnKSB7CiAJbG9uZyBzMSwgczIsIGUxLCBlMiwgbGN0eDsKQEAgLTE2NCw3ICsxNzQsMzQgQEAKIAkJczIgPSBYRExfTUFYKHhjaC0+aTIgLSB4ZWNmZy0+Y3R4bGVuLCAwKTsKIAogCQlpZiAoeGVjZmctPmZsYWdzICYgWERMX0VNSVRfRlVOQ0NPTlRFWFQpIHsKLQkJCWxvbmcgZnMxID0gZ2V0X2Z1bmNfbGluZSh4ZSwgeGVjZmcsIE5VTEwsIHhjaC0+aTEsIC0xKTsKKwkJCWxvbmcgZnMxLCBpMSA9IHhjaC0+aTE7CisKKwkJCS8qIEFwcGVuZGVkIGNodW5rPyAqLworCQkJaWYgKGkxID49IHhlLT54ZGYxLm5yZWMpIHsKKwkJCQljaGFyIGR1bW15WzFdOworCQkJCWxvbmcgaTIgPSB4Y2gtPmkyOworCisJCQkJLyoKKwkJCQkgKiBXZSBkb24ndCBuZWVkIGFkZGl0aW9uYWwgY29udGV4dCBpZgorCQkJCSAqIGEgd2hvbGUgZnVuY3Rpb24gd2FzIGFkZGVkLCBwb3NzaWJseQorCQkJCSAqIHN0YXJ0aW5nIHdpdGggZW1wdHkgbGluZXMuCisJCQkJICovCisJCQkJd2hpbGUgKGkyIDwgeGUtPnhkZjIubnJlYyAmJgorCQkJCSAgICAgICBpc19lbXB0eV9yZWMoJnhlLT54ZGYyLCBpMikpCisJCQkJCWkyKys7CisJCQkJaWYgKGkyIDwgeGUtPnhkZjIubnJlYyAmJgorCQkJCSAgICBtYXRjaF9mdW5jX3JlYygmeGUtPnhkZjIsIHhlY2ZnLCBpMiwKKwkJCQkJCSAgIGR1bW15LCBzaXplb2YoZHVtbXkpKSA+PSAwKQorCQkJCQlnb3RvIHBvc3RfY29udGV4dF9jYWxjdWxhdGlvbjsKKworCQkJCS8qCisJCQkJICogT3RoZXJ3aXNlIGdldCBtb3JlIGNvbnRleHQgZnJvbSB0aGUKKwkJCQkgKiBwcmUtaW1hZ2UuCisJCQkJICovCisJCQkJaTEgPSB4ZS0+eGRmMS5ucmVjIC0gMTsKKwkJCX0KKworCQkJZnMxID0gZ2V0X2Z1bmNfbGluZSh4ZSwgeGVjZmcsIE5VTEwsIGkxLCAtMSk7CiAJCQlpZiAoZnMxIDwgMCkKIAkJCQlmczEgPSAwOwogCQkJaWYgKGZzMSA8IHMxKSB7CkBAIC0xNzMsNyArMjEwLDcgQEAKIAkJCX0KIAkJfQogCi0gYWdhaW46CisgcG9zdF9jb250ZXh0X2NhbGN1bGF0aW9uOgogCQlsY3R4ID0geGVjZmctPmN0eGxlbjsKIAkJbGN0eCA9IFhETF9NSU4obGN0eCwgeGUtPnhkZjEubnJlYyAtICh4Y2hlLT5pMSArIHhjaGUtPmNoZzEpKTsKIAkJbGN0eCA9IFhETF9NSU4obGN0eCwgeGUtPnhkZjIubnJlYyAtICh4Y2hlLT5pMiArIHhjaGUtPmNoZzIpKTsKQEAgLTE4NSw2ICsyMjIsOCBAQAogCQkJbG9uZyBmZTEgPSBnZXRfZnVuY19saW5lKHhlLCB4ZWNmZywgTlVMTCwKIAkJCQkJCSB4Y2hlLT5pMSArIHhjaGUtPmNoZzEsCiAJCQkJCQkgeGUtPnhkZjEubnJlYyk7CisJCQl3aGlsZSAoZmUxID4gMCAmJiBpc19lbXB0eV9yZWMoJnhlLT54ZGYxLCBmZTEgLSAxKSkKKwkJCQlmZTEtLTsKIAkJCWlmIChmZTEgPCAwKQogCQkJCWZlMSA9IHhlLT54ZGYxLm5yZWM7CiAJCQlpZiAoZmUxID4gZTEpIHsKQEAgLTE5OCwxMSArMjM3LDEyIEBACiAJCQkgKiBpdHMgbmV3IGVuZC4KIAkJCSAqLwogCQkJaWYgKHhjaGUtPm5leHQpIHsKLQkJCQlsb25nIGwgPSB4Y2hlLT5uZXh0LT5pMTsKLQkJCQlpZiAobCA8PSBlMSB8fAorCQkJCWxvbmcgbCA9IFhETF9NSU4oeGNoZS0+bmV4dC0+aTEsCisJCQkJCQkgeGUtPnhkZjEubnJlYyAtIDEpOworCQkJCWlmIChsIC0geGVjZmctPmN0eGxlbiA8PSBlMSB8fAogCQkJCSAgICBnZXRfZnVuY19saW5lKHhlLCB4ZWNmZywgTlVMTCwgbCwgZTEpIDwgMCkgewogCQkJCQl4Y2hlID0geGNoZS0+bmV4dDsKLQkJCQkJZ290byBhZ2FpbjsKKwkJCQkJZ290byBwb3N0X2NvbnRleHRfY2FsY3VsYXRpb247CiAJCQkJfQogCQkJfQogCQl9CmRpZmYgLS1naXQgYS94ZGlmZi94cGF0aWVuY2UuYyBiL3hkaWZmL3hwYXRpZW5jZS5jCmluZGV4IDA0ZTFhMWEuLmE2MTNlZmMgMTAwNjQ0Ci0tLSBhL3hkaWZmL3hwYXRpZW5jZS5jCisrKyBiL3hkaWZmL3hwYXRpZW5jZS5jCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqICBMaWJYRGlmZiBieSBEYXZpZGUgTGliZW56aSAoIEZpbGUgRGlmZmVyZW50aWFsIExpYnJhcnkgKQotICogIENvcHlyaWdodCAoQykgMjAwMy0yMDA5IERhdmlkZSBMaWJlbnppLCBKb2hhbm5lcyBFLiBTY2hpbmRlbGluCisgKiAgQ29weXJpZ2h0IChDKSAyMDAzLTIwMTYgRGF2aWRlIExpYmVuemksIEpvaGFubmVzIEUuIFNjaGluZGVsaW4KICAqCiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKZGlmZiAtLWdpdCBhL3hkaWZmL3h1dGlscy5jIGIveGRpZmYveHV0aWxzLmMKaW5kZXggNjJjYjIzZC4uMDI3MTkyYSAxMDA2NDQKLS0tIGEveGRpZmYveHV0aWxzLmMKKysrIGIveGRpZmYveHV0aWxzLmMKQEAgLTIwMCw4ICsyMDAsMTAgQEAKIAkJCQlyZXR1cm4gMDsKIAkJfQogCX0gZWxzZSBpZiAoZmxhZ3MgJiBYREZfSUdOT1JFX1dISVRFU1BBQ0VfQVRfRU9MKSB7Ci0JCXdoaWxlIChpMSA8IHMxICYmIGkyIDwgczIgJiYgbDFbaTErK10gPT0gbDJbaTIrK10pCi0JCQk7IC8qIGtlZXAgZ29pbmcgKi8KKwkJd2hpbGUgKGkxIDwgczEgJiYgaTIgPCBzMiAmJiBsMVtpMV0gPT0gbDJbaTJdKSB7CisJCQlpMSsrOworCQkJaTIrKzsKKwkJfQogCX0KIAogCS8qCg==