ZGlmZiAtLWdpdCBhL0NoYW5nZXMgYi9DaGFuZ2VzCmluZGV4IGI0N2M0NDYuLjQ3ZGU3NTYgMTAwNjQ0Ci0tLSBhL0NoYW5nZXMKKysrIGIvQ2hhbmdlcwpAQCAtMSwzICsxLDcgQEAKKzAuMDIgMjAyMC0xMC0xNQorICAgICAgICAtIFN3aXRjaCBpbnB1dCBlbmNvZGluZyBiYXNlZCBvbiBYTUwKKyAgICAgICAgICBwcm9jZXNzaW5nIGluc3RydWN0aW9uLgorCiAwLjAyIDIwMjAtMTAtMTQKICAgICAgICAgLSBVcGRhdGUgS29yQVAtVG9rZW5pemVyIHRvIHYyLjAuMC4KIApkaWZmIC0tZ2l0IGEvbGliL0tvckFQL1hNTC9URUkvSGVhZGVyLnBtIGIvbGliL0tvckFQL1hNTC9URUkvSGVhZGVyLnBtCmluZGV4IDQ4YTdjZTYuLjllYzljMDUgMTAwNjQ0Ci0tLSBhL2xpYi9Lb3JBUC9YTUwvVEVJL0hlYWRlci5wbQorKysgYi9saWIvS29yQVAvWE1ML1RFSS9IZWFkZXIucG0KQEAgLTE2LDcgKzE2LDggQEAKIHVzZSBjb25zdGFudCB7CiAgIFRFWFQgICAgICA9PiAwLAogICBIRUFEVFlQRSAgPT4gMSwKLSAgU0lHTEUgICAgID0+IDIKKyAgU0lHTEUgICAgID0+IDIsCisgIElOUFVURU5DICA9PiAzCiB9OwogCiAKQEAgLTMwLDkgKzMxLDkgQEAKIAogIyBDcmVhdGUgbmV3IGhlYWRlciBvYmplY3QKIHN1YiBuZXcgewotICBteSAoJGNsYXNzLCAkdGV4dCkgPSBAXzsKKyAgbXkgKCRjbGFzcywgJHRleHQsICRpbnB1dF9lbmMpID0gQF87CiAKLSAgbXkgJHNlbGYgPSBibGVzcyBbJHRleHQsIHVuZGVmLCAnJ10sICRjbGFzczsKKyAgbXkgJHNlbGYgPSBibGVzcyBbJHRleHQsIHVuZGVmLCAnJywgJGlucHV0X2VuYyAvLyAnVVRGLTgnXSwgJGNsYXNzOwogCiAgICMgQ2hlY2sgaGVhZGVyIHR5cGVzIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gc2lnbGVuIHR5cGVzCiAgIGlmICgkdGV4dCA9fiBtIV48JHtfSEVBREVSX1RBR31ccytbXjxdKnR5cGU9IihbXiJdKykiISkgewpAQCAtNjEsNiArNjIsOCBAQAogICAjIEl0ZXJhdGUgb3ZlciBmaWxlIGhhbmRsZQogICB3aGlsZSAoPCRmaD4pIHsKIAorICAgICRfID0gZGVjb2RlKCRzZWxmLT5bSU5QVVRFTkNdLCAkXyk7CisKICAgICAjIENoYW5nZToKICAgICAjICAgVGhpcyB2ZXJzaW9uIGtlZXBzIGNvbW1lbnRzIGluIGhlYWRlciBmaWxlcwogCmRpZmYgLS1naXQgYS9zY3JpcHQvdGVpMmtvcmFweG1sIGIvc2NyaXB0L3RlaTJrb3JhcHhtbAppbmRleCA4YzM1ZTkwLi44YWNlODJhIDEwMDc1NQotLS0gYS9zY3JpcHQvdGVpMmtvcmFweG1sCisrKyBiL3NjcmlwdC90ZWkya29yYXB4bWwKQEAgLTksOCArOSw3IEBACiAKIHVzZSBGaWxlOjpCYXNlbmFtZSBxdyhkaXJuYW1lKTsKIAotdXNlIG9wZW4gcXcoOnN0ZCA6dXRmOCk7ICMgYXNzdW1lIHV0Zi04IGVuY29kaW5nCi11c2UgRW5jb2RlIHF3KGVuY29kZSBkZWNvZGUpOwordXNlIEVuY29kZSBxdyhkZWNvZGUpOwogCiB1c2UgWE1MOjpDb21wYWN0VHJlZTo6WFM7CiB1c2UgWE1MOjpMaWJYTUw6OlJlYWRlcjsKQEAgLTIxNSw2ICsyMTQsNyBAQAogYmlubW9kZSAkaW5wdXRfZmg7CiAKIG15ICRwb3M7CitteSAkaW5wdXRfZW5jID0gJ1VURi04JzsKIG15ICRsID0gbGVuZ3RoKCc8LycgLiAkX1RFWFRfQk9EWSkgKyAxOwogCiAjIH4gbG9vcCAocmVhZGluZyBpbnB1dCBkb2N1bWVudCkgfgpAQCAtMjIzLDYgKzIyMywxNCBAQAogCiAgICRfID0gcmVtb3ZlX3htbF9jb21tZW50cyggJGlucHV0X2ZoLCAkXyApOyAjIHJlbW92ZSBIVE1MIChtdWx0aS1saW5lKSBjb21tZW50cyAoPCEtLS4uLi0tPikKIAorICAjIFNldCBpbnB1dCBlbmNvZGluZworICBpZiAoIGluZGV4KCRfLCAnPD94bWwnKSA9PSAwICYmICRfID1+IC9cc2VuY29kaW5nPShbJyJdKShbXlwxXSs/KVwxLykgeworICAgICRpbnB1dF9lbmMgPSAkMjsKKyAgICBuZXh0OworICB9OworCisgICRfID0gZGVjb2RlKCRpbnB1dF9lbmMsICRfKTsKKwogICBpZiAoIGluZGV4KCRfLCAkX1RFWFRfQk9EWSkgPj0gMCAmJiBtI14oLiopPCR7X1RFWFRfQk9EWX0oPzogW14+XSopPz4oLiopJCMgKXsKIAogICAgICMgfiBzdGFydCBvZiB0ZXh0IGJvZHkgfgpAQCAtMjQzLDYgKzI1MSw3IEBACiAgICAgd2hpbGUgKDwkaW5wdXRfZmg+KSB7CiAKICAgICAgICRfID0gcmVtb3ZlX3htbF9jb21tZW50cyggJGlucHV0X2ZoLCAkXyApOworICAgICAgJF8gPSBkZWNvZGUoJGlucHV0X2VuYywgJF8pOwogCiAgICAgICAjIH4gZW5kIG9mIHRleHQgYm9keSB+CiAgICAgICBpZiAoKCRwb3MgPSBpbmRleCgkXywgJzwvJyAuICRfVEVYVF9CT0RZKSkgPj0gMCkgewpAQCAtNDE4LDcgKzQyNyw3IEBACiAgICAgfTsKIAogICAgICMgUGFyc2UgaGVhZGVyCi0gICAgbXkgJGhlYWRlciA9IEtvckFQOjpYTUw6OlRFSTo6SGVhZGVyLT5uZXcoJGNvbnRlbnQpLT5wYXJzZSgkaW5wdXRfZmgpOworICAgIG15ICRoZWFkZXIgPSBLb3JBUDo6WE1MOjpURUk6OkhlYWRlci0+bmV3KCRjb250ZW50LCAkaW5wdXRfZW5jKS0+cGFyc2UoJGlucHV0X2ZoKTsKIAogICAgICMgSGVhZGVyIHdhcyBwYXJzZWFibGUKICAgICBpZiAoJGhlYWRlcikgewpkaWZmIC0tZ2l0IGEvdC9kYXRhL2dvZV9zYW1wbGUuaTUuaXNvLnhtbCBiL3QvZGF0YS9nb2Vfc2FtcGxlLmk1Lmlzby54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTJjYTc1NQotLS0gL2Rldi9udWxsCisrKyBiL3QvZGF0YS9nb2Vfc2FtcGxlLmk1Lmlzby54bWwKQEAgLTAsMCArMSw0NTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9Imlzby04ODU5LTE1Ij8+Cis8IURPQ1RZUEUgaWRzQ29ycHVzICBQVUJMSUMgIi0vL0lEUy8vRFREIElEUy1JNSAxLjAvL0VOIiAiaHR0cDovL2NvcnBvcmEuaWRzLW1hbm5oZWltLmRlL0k1L0RURC9pNS5kdGQiPgorPGlkc0NvcnB1cyB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB2ZXJzaW9uPSIxLjAiIFRFSWZvcm09InRlaUNvcnB1cy4yIj4KKyA8aWRzSGVhZGVyIHR5cGU9ImNvcnB1cyIgcGF0dGVybj0iYWxsZXNhdd9lclp0Zy9ac2NociIgc3RhdHVzPSJuZXciIHZlcnNpb249IjEuMSIgVEVJZm9ybT0idGVpSGVhZGVyIj4KKyAgPGZpbGVEZXNjPgorICAgPHRpdGxlU3RtdD4KKyAgICA8a29ycHVzU2lnbGU+R09FPC9rb3JwdXNTaWdsZT4KKyAgICA8Yy50aXRsZT5Hb2V0aGUtS29ycHVzPC9jLnRpdGxlPgorICAgPC90aXRsZVN0bXQ+CisgICA8cHVibGljYXRpb25TdG10PgorICAgIDxkaXN0cmlidXRvcj4JCUluc3RpdHV0IGb8ciBEZXV0c2NoZSBTcHJhY2hlCQk8L2Rpc3RyaWJ1dG9yPgorICAgIDxwdWJBZGRyZXNzPgkJUG9zdGZhY2ggMTAgMTYgMjEsIEQtNjgwMTYgTWFubmhlaW0JPC9wdWJBZGRyZXNzPgorICAgIDx0ZWxlcGhvbmU+CQkrNDkgKDApNjIxIDE1ODEgMAkJCTwvdGVsZXBob25lPgorICAgIDxhdmFpbGFiaWxpdHkgcmVnaW9uPSJ3b3JsZCI+UUFPLU5DPC9hdmFpbGFiaWxpdHk+CisgICAgPHB1YkRhdGUvPgorICAgPC9wdWJsaWNhdGlvblN0bXQ+CisgICA8c291cmNlRGVzYz4KKyAgICA8YmlibEZ1bGw+CisgICAgIDx0aXRsZVN0bXQ+CisgICAgICA8eC50aXRsZS8+CisgICAgIDwvdGl0bGVTdG10PgorICAgICA8ZWRpdGlvblN0bXQvPgorICAgICA8cHVibGljYXRpb25TdG10PgorICAgICAgPGRpc3RyaWJ1dG9yLz4KKyAgICAgIDxwdWJBZGRyZXNzLz4KKyAgICAgIDxhdmFpbGFiaWxpdHkgcmVnaW9uPSJ3b3JsZCI+UUFPLU5DPC9hdmFpbGFiaWxpdHk+CisgICAgICA8cHViRGF0ZS8+CisgICAgIDwvcHVibGljYXRpb25TdG10PgorICAgIDwvYmlibEZ1bGw+CisgICAgPGJpYmxTdHJ1Y3Q+CisgICAgIDxtb25vZ3I+CisgICAgICA8aC50aXRsZSB0eXBlPSJtYWluIj5Hb2V0aGVzIFdlcmtlPC9oLnRpdGxlPgorICAgICAgPGgudGl0bGUgdHlwZT0ic3ViIi8+CisgICAgICA8aC5hdXRob3I+R29ldGhlLCBKb2hhbm4gV29sZmdhbmcgdm9uPC9oLmF1dGhvcj4KKyAgICAgIDxlZGl0b3I+VHJ1bnosIEVyaWNoPC9lZGl0b3I+CisgICAgICA8ZWRpdGlvbj4KKyAgICAgICA8ZnVydGhlci8+CisgICAgICAgPGtpbmQ+SGFtYnVyZ2VyIEF1c2dhYmUgaW4gMTQgQuRuZGVuPC9raW5kPgorICAgICAgIDxhcHBlYXJhbmNlLz4KKyAgICAgIDwvZWRpdGlvbj4KKyAgICAgIDxpbXByaW50PgorICAgICAgIDxwdWJsaXNoZXI+VmVybGFnIEMuIEguIEJlY2s8L3B1Ymxpc2hlcj4KKyAgICAgICA8cHViRGF0ZSB0eXBlPSJ5ZWFyIj4xOTgyPC9wdWJEYXRlPgorICAgICAgIDxwdWJEYXRlIHR5cGU9Im1vbnRoIi8+CisgICAgICAgPHB1YkRhdGUgdHlwZT0iZGF5Ii8+CisgICAgICAgPHB1YlBsYWNlIGtleT0iREUiPk38bmNoZW48L3B1YlBsYWNlPgorICAgICAgPC9pbXByaW50PgorICAgICA8L21vbm9ncj4KKyAgICA8L2JpYmxTdHJ1Y3Q+CisgICAgPHJlZmVyZW5jZSB0eXBlPSJzdXBlciIgYXNzZW1ibGFnZT0ibm9uLWF1dG9tYXRpYyI+R09FIEdvZXRoZSwgSm9oYW5uIFdvbGZnYW5nIHZvbjogR29ldGhlcyBXZXJrZSwgSGFtYnVyZ2VyIEF1c2dhYmUgaW4gMTQgQuRuZGVuLCBCZGUuIDYgLSAxNCwgSHJzZy46IFRydW56LCBFcmljaC4gLSBN/G5jaGVuOiBWZXJsYWcgQy4gSC4gQmVjaywgQXVmbGFnZW4gdm9uIDE5ODI8L3JlZmVyZW5jZT4KKyAgIDwvc291cmNlRGVzYz4KKyAgPC9maWxlRGVzYz4KKyAgPGVuY29kaW5nRGVzYz4KKyAgIDxwcm9qZWN0RGVzYy8+CisgICA8c2FtcGxpbmdEZWNsPgkJSW4gZGVyIEJPVC1Wb3JsYWdlIEFicvxja3VuZyBhbGxlciBTYXR6emVpY2hlbiB2b20gdm9yaGVyZ2VoZW5kZW4gb2RlciBuYWNoZm9sZ2VuZGVuIFdvcnQsCisJCXdhcyBiZWkgZGVyIGFuc2NobGll32VuZGVuIEtvbnZlcnRpZXJ1bmcgc28gd2VpdCB3aWUgbfZnbGljaCBiZXNlaXRpZ3Qgd3VyZGUuCisJCUtsZWluc2NocmVpYnVuZyB2b24gV/ZydGVybiBhbSBTYXR6YW5mYW5nLCB3ZW5uIHNpZSBhdWNoIGltIFNhdHppbm5lcm4ga2xlaW5nZXNjaHJpZWJlbiB3ZXJkZW4uCisJCUV4cGFuc2lvbiBiencuIEFsdGVybmF0aXZzY2hyZWlidW5nIGJlaSBX9nJ0ZXJuIG1pdCBLbGFtbWVydW5nIGltIFdvcnRpbm5lcm4gKHNvZy4gU3BhcnNjaHJlaWJ1bmcpLgorCQlBbHRlcm5hdGl2c2NocmVpYnVuZyBiZWkgV/ZydGVybiBtaXQga2xhbW1lcm5kZW4gQXBvc3Ryb3BoZW4vQW5m/GhydW5nc3plaWNoZW4gaW0gV29ydGlubmVybi4KKwkJRXJ3ZWl0ZXJ0ZXMgTWFya3VwIG9obmUgVmVyd2VuZHVuZyBkZXIgZ2VkcnVja3RlbiBWb3JsYWdlOgorCQktIFVtZmFuZ3JlaWNoZSBLb3JyZWt0dXJlbiBhbSBNYXJrdXAgZGVyIEJPVC1Wb3JsYWdlCisJCS0gTWFya2llcnVuZyB2b24gTGlzdGVuLCBUYWJlbGxlbiwgUXVlbGxlbi0gdW5kIFZlcmZhc3NlcmFuZ2FiZW4sIEdlc3By5GNoc3NlcXVlbnplbgorCQktIE1hcmtpZXJ1bmcgdm9uIFRleHRrb21wb25lbnRlbiwgZGllIGRlbiBUZXh0Zmx1c3MgdW50ZXJicmVjaGVuLCB3aWUgRnXfbm90ZW4sIEFubWVya3VuZ2VuLCBSYW5kdGV4dGUsIENhcHRpb25zLCBCaWxkdW50ZXJzY2hyaWZ0ZW4KKwkJLSBFeHBhbnNpb24gZGVyIEVyZ+RuenVuZ2VuIGR1cmNoIFVudGVyc3RyaWNoIGJlaSBXb3J0Z3J1cHBlbiBtaXQgRXJn5G56dW5nc2JpbmRlc3RyaWNoCisJCS0gTWFya2llcnVuZyB2b24gS2FyZGluYWwtIHVuZCBPcmRpbmFsemFobGVuIGluIHL2bWlzY2hlbiBaaWZmZXJuPC9zYW1wbGluZ0RlY2w+CisgICA8ZWRpdG9yaWFsRGVjbD4KKyAgICA8dHJhbnNkdWN0aW9uPgkJVHJhRHVDRVMgLSBLb3JwdXMtVHJhbnNmb3JtYXRpb25zY29tcGlsZXIsIFZlcnNpb24gMy42LjMsCisJCUVyaWMgU2V1YmVydCwgSURTIE1hbm5oZWltLCA1LiBNYWkgMjAxMAorCQlPcHRpb25lbiBiZWkgZGVyIEtvbnZlcnRpZXJ1bmc6CisJCS0gRHVibGV0dGVuLU1vZHVzOgorCQkgIEVudGZlcm51bmcgYWxsZXIgYWxzIER1YmxldHRlbiBrbGFzc2lmaXppZXJ0ZW4gVGV4dGUuCisJCS0gSW5kZXhpZXJ1bmdzbW9kdXMgZvxyIENPU01BUyBJSToKKwkJICBFcnpldWd1bmcgdm9uIPxiZXJnZW9yZG5ldGVuIERva3VtZW50LVJlZmVyZW56ZW4sIGZhbGxzIGRpZQorCQkgIGpld2VpbGlnZW4gRG9rdW1lbnRlIG51ciBlaW5lbiBlaW56aWdlbiBzZWxic3RzdORuZGlnZW4gVGV4dCBlbnRoYWx0ZW4uCisJCSAgRW50ZmVybnVuZyBhbGxlciBEZWtsYXJhdGlvbmVuIGb8ciBEdWJsZXR0ZW4uCisJCSAgRW50ZmVybnVuZyB2b24gVGV4dGVuIG1pdCBTcGVycnZlcm1lcmtlbi4KKwkJICBFbnRmZXJudW5nIHZvbiBUZXh0ZW4gbWl0IG1pbmltYWxlbSBJbmhhbHQuPC90cmFuc2R1Y3Rpb24+CisgICAgPHRyYW5zZHVjdGlvbj4kSWQ6IGZpeFByZVhDRVMubCAxMTk0IDIwMDgtMDQtMzAgMTQ6MTY6NTNaIGt1cGlldHogJDwvdHJhbnNkdWN0aW9uPgorICAgIDx0cmFuc2R1Y3Rpb24+JElkOiBpZHNjZXMyaWRzeGNlcyAxODQzIDIwMTEtMDktMTMgMTQ6NTI6MjFaIGt1cGlldHogJDwvdHJhbnNkdWN0aW9uPgorICAgIDxwYWdpbmF0aW9uIHR5cGU9InllcyIvPgorICAgPC9lZGl0b3JpYWxEZWNsPgorICAgPHRhZ3NEZWNsPgorICAgIDx0YWdVc2FnZSBnaT0icGIiLz4KKyAgICA8dGFnVXNhZ2UgZ2k9ImRhdGUiLz4KKyAgICA8dGFnVXNhZ2UgZ2k9Im1lYXN1cmUiLz4KKyAgICA8dGFnVXNhZ2UgZ2k9Im51bSIvPgorICAgIDx0YWdVc2FnZSBnaT0ib3JpZyIvPgorICAgIDx0YWdVc2FnZSBnaT0idGltZSIvPgorICAgPC90YWdzRGVjbD4KKyAgIDxjbGFzc0RlY2w+CisgICAgPHRheG9ub215IGlkPSJ0b3BpYyI+CisgICAgIDxoLmJpYmw+VGhlbWVudGF4b25vbWllIChzaWVoZSBodHRwOi8vd3d3Lmlkcy1tYW5uaGVpbS5kZS9rbC9wcm9qZWt0ZS9tZXRob2Rlbi90ZS5odG1sKTwvaC5iaWJsPgorICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLmZpa3Rpb24iPgorICAgICAgPGNhdERlc2M+RmlrdGlvbjwvY2F0RGVzYz4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMuZmlrdGlvbi52ZXJtaXNjaHRlcyI+CisgICAgICAgPGNhdERlc2M+RmlrdGlvbjpWZXJtaXNjaHRlczwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgIDwvY2F0ZWdvcnk+CisgICAgIDxjYXRlZ29yeSBpZD0idG9waWMuZnJlaXplaXQtdW50ZXJoYWx0dW5nIj4KKyAgICAgIDxjYXREZXNjPkZyZWl6ZWl0X1VudGVyaGFsdHVuZzwvY2F0RGVzYz4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMuZnJlaXplaXQtdW50ZXJoYWx0dW5nLnJlaXNlbiI+CisgICAgICAgPGNhdERlc2M+RnJlaXplaXRfVW50ZXJoYWx0dW5nOlJlaXNlbjwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLmZyZWl6ZWl0LXVudGVyaGFsdHVuZy5ydW5kZnVuayI+CisgICAgICAgPGNhdERlc2M+RnJlaXplaXRfVW50ZXJoYWx0dW5nOlJ1bmRmdW5rPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMuZnJlaXplaXQtdW50ZXJoYWx0dW5nLnZlcmVpbmUtdmVyYW5zdGFsdHVuZ2VuIj4KKyAgICAgICA8Y2F0RGVzYz5GcmVpemVpdF9VbnRlcmhhbHR1bmc6VmVyZWluZV9WZXJhbnN0YWx0dW5nZW48L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICA8L2NhdGVnb3J5PgorICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLmdlc3VuZGhlaXQtZXJuYWVocnVuZyI+CisgICAgICA8Y2F0RGVzYz5HZXN1bmRoZWl0X0VybmFlaHJ1bmc8L2NhdERlc2M+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLmdlc3VuZGhlaXQtZXJuYWVocnVuZy5lcm5hZWhydW5nIj4KKyAgICAgICA8Y2F0RGVzYz5HZXN1bmRoZWl0X0VybmFlaHJ1bmc6RXJuYWVocnVuZzwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLmdlc3VuZGhlaXQtZXJuYWVocnVuZy5nZXN1bmRoZWl0Ij4KKyAgICAgICA8Y2F0RGVzYz5HZXN1bmRoZWl0X0VybmFlaHJ1bmc6R2VzdW5kaGVpdDwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgIDwvY2F0ZWdvcnk+CisgICAgIDxjYXRlZ29yeSBpZD0idG9waWMua3VsdHVyIj4KKyAgICAgIDxjYXREZXNjPkt1bHR1cjwvY2F0RGVzYz4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMua3VsdHVyLmJpbGRlbmRlLWt1bnN0Ij4KKyAgICAgICA8Y2F0RGVzYz5LdWx0dXI6QmlsZGVuZGUgS3Vuc3Q8L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5rdWx0dXIuZGFyc3RlbGxlbmRlLWt1bnN0Ij4KKyAgICAgICA8Y2F0RGVzYz5LdWx0dXI6RGFyc3RlbGxlbmRlIEt1bnN0PC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMua3VsdHVyLmZpbG0iPgorICAgICAgIDxjYXREZXNjPkt1bHR1cjpGaWxtPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMua3VsdHVyLmxpdGVyYXR1ciI+CisgICAgICAgPGNhdERlc2M+S3VsdHVyOkxpdGVyYXR1cjwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLmt1bHR1ci5tb2RlIj4KKyAgICAgICA8Y2F0RGVzYz5LdWx0dXI6TW9kZTwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLmt1bHR1ci5tdXNpayI+CisgICAgICAgPGNhdERlc2M+S3VsdHVyOk11c2lrPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgPC9jYXRlZ29yeT4KKyAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5uYXR1ci11bXdlbHQiPgorICAgICAgPGNhdERlc2M+TmF0dXJfVW13ZWx0PC9jYXREZXNjPgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5uYXR1ci11bXdlbHQuZ2FydGVuIj4KKyAgICAgICA8Y2F0RGVzYz5OYXR1cl9VbXdlbHQ6R2FydGVuPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMubmF0dXItdW13ZWx0LnRpZXJlIj4KKyAgICAgICA8Y2F0RGVzYz5OYXR1cl9VbXdlbHQ6VGllcmU8L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5uYXR1ci11bXdlbHQud2V0dGVyLWtsaW1hIj4KKyAgICAgICA8Y2F0RGVzYz5OYXR1cl9VbXdlbHQ6V2V0dGVyX0tsaW1hPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgPC9jYXRlZ29yeT4KKyAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5wb2xpdGlrIj4KKyAgICAgIDxjYXREZXNjPlBvbGl0aWs8L2NhdERlc2M+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLnBvbGl0aWsuYXVzbGFuZCI+CisgICAgICAgPGNhdERlc2M+UG9saXRpazpBdXNsYW5kPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMucG9saXRpay5pbmxhbmQiPgorICAgICAgIDxjYXREZXNjPlBvbGl0aWs6SW5sYW5kPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMucG9saXRpay5rb21tdW5hbHBvbGl0aWsiPgorICAgICAgIDxjYXREZXNjPlBvbGl0aWs6S29tbXVuYWxwb2xpdGlrPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgPC9jYXRlZ29yeT4KKyAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5yZXN0Ij4KKyAgICAgIDxjYXREZXNjPlJlc3Q8L2NhdERlc2M+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLnJlc3QuYm9lcnNlbmt1cnNlIj4KKyAgICAgICA8Y2F0RGVzYz5SZXN0OmJvZXJzZW5rdXJzZTwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLnJlc3QuZ2VidXJ0LXRvZC1oZWlyYXQiPgorICAgICAgIDxjYXREZXNjPlJlc3Q6Z2VidXJ0X3RvZF9oZWlyYXQ8L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5yZXN0LmltcHJlc3N1bSI+CisgICAgICAgPGNhdERlc2M+UmVzdDppbXByZXNzdW08L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5yZXN0LmluaGFsdHN2ZXJ6ZWljaG5pc3NlIj4KKyAgICAgICA8Y2F0RGVzYz5SZXN0OmluaGFsdHN2ZXJ6ZWljaG5pc3NlPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMucmVzdC5saWdhdGFiZWxsZW4iPgorICAgICAgIDxjYXREZXNjPlJlc3Q6bGlnYXRhYmVsbGVuPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMucmVzdC50YWJlbGxlbiI+CisgICAgICAgPGNhdERlc2M+UmVzdDp0YWJlbGxlbjwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLnJlc3QudmVyYW5zdGFsdHVuZ3NoaW53ZWlzZSI+CisgICAgICAgPGNhdERlc2M+UmVzdDp2ZXJhbnN0YWx0dW5nc2hpbndlaXNlPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgPC9jYXRlZ29yeT4KKyAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5zcG9ydCI+CisgICAgICA8Y2F0RGVzYz5TcG9ydDwvY2F0RGVzYz4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMuc3BvcnQuYmFsbHNwb3J0Ij4KKyAgICAgICA8Y2F0RGVzYz5TcG9ydDpCYWxsc3BvcnQ8L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5zcG9ydC5mdXNzYmFsbCI+CisgICAgICAgPGNhdERlc2M+U3BvcnQ6RnVzc2JhbGw8L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5zcG9ydC5tb3RvcnNwb3J0Ij4KKyAgICAgICA8Y2F0RGVzYz5TcG9ydDpNb3RvcnNwb3J0PC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMuc3BvcnQucmFkc3BvcnQiPgorICAgICAgIDxjYXREZXNjPlNwb3J0OlJhZHNwb3J0PC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMuc3BvcnQudGVubmlzIj4KKyAgICAgICA8Y2F0RGVzYz5TcG9ydDpUZW5uaXM8L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5zcG9ydC52ZXJtaXNjaHRlcyI+CisgICAgICAgPGNhdERlc2M+U3BvcnQ6VmVybWlzY2h0ZXM8L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5zcG9ydC53aW50ZXJzcG9ydCI+CisgICAgICAgPGNhdERlc2M+U3BvcnQ6V2ludGVyc3BvcnQ8L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICA8L2NhdGVnb3J5PgorICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLnN0YWF0LWdlc2VsbHNjaGFmdCI+CisgICAgICA8Y2F0RGVzYz5TdGFhdF9HZXNlbGxzY2hhZnQ8L2NhdERlc2M+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLnN0YWF0LWdlc2VsbHNjaGFmdC5hcmJlaXQtdW5kLWJlcnVmIj4KKyAgICAgICA8Y2F0RGVzYz5TdGFhdF9HZXNlbGxzY2hhZnQ6QXJiZWl0X3VuZF9CZXJ1ZjwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLnN0YWF0LWdlc2VsbHNjaGFmdC5iaWxkdW5nIj4KKyAgICAgICA8Y2F0RGVzYz5TdGFhdF9HZXNlbGxzY2hhZnQ6QmlsZHVuZzwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLnN0YWF0LWdlc2VsbHNjaGFmdC5iaW9ncmFwaGllbi1pbnRlcnZpZXdzIj4KKyAgICAgICA8Y2F0RGVzYz5TdGFhdF9HZXNlbGxzY2hhZnQ6QmlvZ3JhcGhpZW5fSW50ZXJ2aWV3czwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLnN0YWF0LWdlc2VsbHNjaGFmdC5kcml0dGVzLXJlaWNoLXJlY2h0c2V4dHJlbWlzbXVzIj4KKyAgICAgICA8Y2F0RGVzYz5TdGFhdF9HZXNlbGxzY2hhZnQ6RHJpdHRlc19SZWljaF9SZWNodHNleHRyZW1pc211czwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLnN0YWF0LWdlc2VsbHNjaGFmdC5mYW1pbGllLWdlc2NobGVjaHQiPgorICAgICAgIDxjYXREZXNjPlN0YWF0X0dlc2VsbHNjaGFmdDpGYW1pbGllX0dlc2NobGVjaHQ8L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5zdGFhdC1nZXNlbGxzY2hhZnQua2lyY2hlIj4KKyAgICAgICA8Y2F0RGVzYz5TdGFhdF9HZXNlbGxzY2hhZnQ6S2lyY2hlPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMuc3RhYXQtZ2VzZWxsc2NoYWZ0LnJlY2h0Ij4KKyAgICAgICA8Y2F0RGVzYz5TdGFhdF9HZXNlbGxzY2hhZnQ6UmVjaHQ8L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy5zdGFhdC1nZXNlbGxzY2hhZnQudG9kIj4KKyAgICAgICA8Y2F0RGVzYz5TdGFhdF9HZXNlbGxzY2hhZnQ6VG9kPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMuc3RhYXQtZ2VzZWxsc2NoYWZ0LnZlcmJyZWNoZW4iPgorICAgICAgIDxjYXREZXNjPlN0YWF0X0dlc2VsbHNjaGFmdDpWZXJicmVjaGVuPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgPC9jYXRlZ29yeT4KKyAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy50ZWNobmlrLWluZHVzdHJpZSI+CisgICAgICA8Y2F0RGVzYz5UZWNobmlrX0luZHVzdHJpZTwvY2F0RGVzYz4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMudGVjaG5pay1pbmR1c3RyaWUuZWR2LWVsZWt0cm9uaWsiPgorICAgICAgIDxjYXREZXNjPlRlY2huaWtfSW5kdXN0cmllOkVEVl9FbGVrdHJvbmlrPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMudGVjaG5pay1pbmR1c3RyaWUua2Z6Ij4KKyAgICAgICA8Y2F0RGVzYz5UZWNobmlrX0luZHVzdHJpZTpLZno8L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy50ZWNobmlrLWluZHVzdHJpZS50cmFuc3BvcnQtdmVya2VociI+CisgICAgICAgPGNhdERlc2M+VGVjaG5pa19JbmR1c3RyaWU6VHJhbnNwb3J0X1ZlcmtlaHI8L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy50ZWNobmlrLWluZHVzdHJpZS51bXdlbHRzY2h1dHoiPgorICAgICAgIDxjYXREZXNjPlRlY2huaWtfSW5kdXN0cmllOlVtd2VsdHNjaHV0ejwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgICA8Y2F0ZWdvcnkgaWQ9InRvcGljLnRlY2huaWstaW5kdXN0cmllLnVuZmFlbGxlIj4KKyAgICAgICA8Y2F0RGVzYz5UZWNobmlrX0luZHVzdHJpZTpVbmZhZWxsZTwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgIDwvY2F0ZWdvcnk+CisgICAgIDxjYXRlZ29yeSBpZD0idG9waWMud2lydHNjaGFmdC1maW5hbnplbiI+CisgICAgICA8Y2F0RGVzYz5XaXJ0c2NoYWZ0X0ZpbmFuemVuPC9jYXREZXNjPgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy53aXJ0c2NoYWZ0LWZpbmFuemVuLmJhbmtlbiI+CisgICAgICAgPGNhdERlc2M+V2lydHNjaGFmdF9GaW5hbnplbjpCYW5rZW48L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy53aXJ0c2NoYWZ0LWZpbmFuemVuLmJpbGFuemVuIj4KKyAgICAgICA8Y2F0RGVzYz5XaXJ0c2NoYWZ0X0ZpbmFuemVuOkJpbGFuemVuPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMud2lydHNjaGFmdC1maW5hbnplbi5vZWZmZW50bGljaGUtZmluYW56ZW4iPgorICAgICAgIDxjYXREZXNjPldpcnRzY2hhZnRfRmluYW56ZW46T2VmZmVudGxpY2hlX0ZpbmFuemVuPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgIDxjYXRlZ29yeSBpZD0idG9waWMud2lydHNjaGFmdC1maW5hbnplbi5zb3ppYWxwcm9kdWt0Ij4KKyAgICAgICA8Y2F0RGVzYz5XaXJ0c2NoYWZ0X0ZpbmFuemVuOlNvemlhbHByb2R1a3Q8L2NhdERlc2M+CisgICAgICA8L2NhdGVnb3J5PgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy53aXJ0c2NoYWZ0LWZpbmFuemVuLndhZWhydW5nIj4KKyAgICAgICA8Y2F0RGVzYz5XaXJ0c2NoYWZ0X0ZpbmFuemVuOldhZWhydW5nPC9jYXREZXNjPgorICAgICAgPC9jYXRlZ29yeT4KKyAgICAgPC9jYXRlZ29yeT4KKyAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy53aXNzZW5zY2hhZnQiPgorICAgICAgPGNhdERlc2M+V2lzc2Vuc2NoYWZ0PC9jYXREZXNjPgorICAgICAgPGNhdGVnb3J5IGlkPSJ0b3BpYy53aXNzZW5zY2hhZnQucG9wdWxhZXJ3aXNzZW5zY2hhZnQiPgorICAgICAgIDxjYXREZXNjPldpc3NlbnNjaGFmdDpQb3B1bGFlcndpc3NlbnNjaGFmdDwvY2F0RGVzYz4KKyAgICAgIDwvY2F0ZWdvcnk+CisgICAgIDwvY2F0ZWdvcnk+CisgICAgIDxjYXRlZ29yeSBpZD0idG9waWMudW5rbGFzc2lmaXppZXJiYXIiPgorICAgICAgPGNhdERlc2M+VGV4dCBpc3QgdGhlbWF0aXNjaCBuaWNodCBrbGFzc2lmaXppZXJiYXIuPC9jYXREZXNjPgorICAgICA8L2NhdGVnb3J5PgorICAgIDwvdGF4b25vbXk+CisgICA8L2NsYXNzRGVjbD4KKyAgPC9lbmNvZGluZ0Rlc2M+CisgIDxwcm9maWxlRGVzYz4KKyAgIDxsYW5nVXNhZ2U+CisgICAgPGxhbmd1YWdlIGlkPSJkZSIgdXNhZ2U9IjEwMCI+RGV1dHNjaDwvbGFuZ3VhZ2U+CisgICA8L2xhbmdVc2FnZT4KKyAgIDx0ZXh0RGVzYy8+CisgIDwvcHJvZmlsZURlc2M+CisgPC9pZHNIZWFkZXI+CisgPGlkc0RvYyB0eXBlPSJ0ZXh0IiB2ZXJzaW9uPSIxLjAiIFRFSWZvcm09IlRFSS4yIj4KKyAgPGlkc0hlYWRlciB0eXBlPSJkb2N1bWVudCIgcGF0dGVybj0idGV4dCIgc3RhdHVzPSJuZXciIHZlcnNpb249IjEuMSIgVEVJZm9ybT0idGVpSGVhZGVyIj4KKyAgIDxmaWxlRGVzYz4KKyAgICA8dGl0bGVTdG10PgorICAgICA8ZG9rdW1lbnRTaWdsZT5HT0UvQUdBPC9kb2t1bWVudFNpZ2xlPgorICAgICA8ZC50aXRsZT5Hb2V0aGU6IEF1dG9iaW9ncmFwaGlzY2hlIFNjaHJpZnRlbiBJSSwgKDE4MTctMTgyNSwgMTgzMik8L2QudGl0bGU+CisgICAgPC90aXRsZVN0bXQ+CisgICAgPHB1YmxpY2F0aW9uU3RtdD4KKyAgICAgPGRpc3RyaWJ1dG9yLz4KKyAgICAgPHB1YkFkZHJlc3MvPgorICAgICA8YXZhaWxhYmlsaXR5IHJlZ2lvbj0id29ybGQiPlFBTy1OQzwvYXZhaWxhYmlsaXR5PgorICAgICA8cHViRGF0ZS8+CisgICAgPC9wdWJsaWNhdGlvblN0bXQ+CisgICAgPHNvdXJjZURlc2M+CisgICAgIDxiaWJsU3RydWN0PgorICAgICAgPG1vbm9ncj4KKyAgICAgICA8aC50aXRsZSB0eXBlPSJtYWluIi8+CisgICAgICAgPGVkaXRpb24+CisgICAgICAgIDxmdXJ0aGVyLz4KKyAgICAgICAgPGtpbmQvPgorICAgICAgICA8YXBwZWFyYW5jZS8+CisgICAgICAgPC9lZGl0aW9uPgorICAgICAgIDxpbXByaW50Lz4KKyAgICAgICA8YmlibE5vdGUgbj0iMSI+WnVyIEVudHN0ZWh1bmdzemVpdCBzaWVoZSBCZC4gOSwgTmFjaHdvcnQsIFMuIDYyMTwvYmlibE5vdGU+CisgICAgICA8L21vbm9ncj4KKyAgICAgPC9iaWJsU3RydWN0PgorICAgIDwvc291cmNlRGVzYz4KKyAgIDwvZmlsZURlc2M+CisgICA8cHJvZmlsZURlc2M+CisgICAgPGNyZWF0aW9uPgorICAgICA8Y3JlYXREYXRlPjE4MjAtMTgyMjwvY3JlYXREYXRlPgorICAgICA8Y3JlYXRSZWY+KEdlc2NocmllYmVuOiAxODIwLTE4MjIpPC9jcmVhdFJlZj4KKyAgICAgPGNyZWF0UmVmU2hvcnQ+KEdlc2Noci4gMTgyMC0xODIyKTwvY3JlYXRSZWZTaG9ydD4KKyAgICA8L2NyZWF0aW9uPgorICAgIDx0ZXh0RGVzYz4KKyAgICAgPHRleHRUeXBlPkF1dG9iaW9ncmFwaGllPC90ZXh0VHlwZT4KKyAgICAgPHRleHRUeXBlUmVmLz4KKyAgICA8L3RleHREZXNjPgorICAgPC9wcm9maWxlRGVzYz4KKyAgPC9pZHNIZWFkZXI+CisgIDxpZHNUZXh0IHZlcnNpb249IjEuMCI+CisgICA8aWRzSGVhZGVyIHR5cGU9InRleHQiIHBhdHRlcm49InRleHQiIHN0YXR1cz0ibmV3IiB2ZXJzaW9uPSIxLjEiIFRFSWZvcm09InRlaUhlYWRlciI+CisgICAgPGZpbGVEZXNjPgorICAgICA8dGl0bGVTdG10PgorICAgICAgPHRleHRTaWdsZT5HT0UvQUdBLjAwMDAwPC90ZXh0U2lnbGU+CisgICAgICA8dC50aXRsZSBhc3NlbWJsYWdlPSJyZWd1bGFyIj5HT0UvQUdBLjAwMDAwIEdvZXRoZTogQ2FtcGFnbmUgaW4gRnJhbmtyZWljaCwgW0F1dG9iaW9ncmFwaGllXSwgKEdlc2Noci4gMTgyMC0xODIyKSwgSW46IEdvZXRoZXMgV2Vya2UsIEJkLiAxMC4gLSBN/G5jaGVuLCAxOTgyPC90LnRpdGxlPgorICAgICA8L3RpdGxlU3RtdD4KKyAgICAgPHB1YmxpY2F0aW9uU3RtdD4KKyAgICAgIDxkaXN0cmlidXRvci8+CisgICAgICA8cHViQWRkcmVzcy8+CisgICAgICA8YXZhaWxhYmlsaXR5IHJlZ2lvbj0id29ybGQiPlFBTy1OQzwvYXZhaWxhYmlsaXR5PgorICAgICAgPHB1YkRhdGUvPgorICAgICA8L3B1YmxpY2F0aW9uU3RtdD4KKyAgICAgPHNvdXJjZURlc2M+CisgICAgICA8YmlibFN0cnVjdD4KKyAgICAgICA8YW5hbHl0aWM+CisgICAgICAgIDxoLnRpdGxlIHR5cGU9Im1haW4iPkNhbXBhZ25lIGluIEZyYW5rcmVpY2g8L2gudGl0bGU+CisgICAgICAgIDxoLnRpdGxlIHR5cGU9InN1YiI+MTc5MjwvaC50aXRsZT4KKyAgICAgICAgPGgudGl0bGUgdHlwZT0iYWJiciIgbGV2ZWw9Im0iPkdvZXRoZSwgV2Vya2U7IENhbXBhZ25lPC9oLnRpdGxlPgorICAgICAgICA8aC50aXRsZSB0eXBlPSJhYmJyIiBsZXZlbD0iYSI+R29ldGhlOiBDYW1wYWduZSBpbiBGcmFua3JlaWNoLCBbQXV0b2Jpb2dyYXBoaWVdLCAoR2VzY2hyLiAxODIwLTE4MjIpPC9oLnRpdGxlPgorICAgICAgICA8aC5hdXRob3I+R29ldGhlLCBKb2hhbm4gV29sZmdhbmcgdm9uPC9oLmF1dGhvcj4KKyAgICAgICAgPGVkaXRvci8+CisgICAgICAgIDxpbXByaW50Lz4KKyAgICAgICAgPGJpYmxTY29wZSB0eXBlPSJzdWJzdW1lIi8+CisgICAgICAgIDxiaWJsU2NvcGUgdHlwZT0icHAiPlMuIDE4OC0zNjM8L2JpYmxTY29wZT4KKyAgICAgICA8L2FuYWx5dGljPgorICAgICAgIDxtb25vZ3I+CisgICAgICAgIDxoLnRpdGxlIHR5cGU9Im1haW4iLz4KKyAgICAgICAgPGltcHJpbnQvPgorICAgICAgIDwvbW9ub2dyPgorICAgICAgPC9iaWJsU3RydWN0PgorICAgICAgPHJlZmVyZW5jZSB0eXBlPSJjb21wbGV0ZSIgYXNzZW1ibGFnZT0icmVndWxhciI+R09FL0FHQS4wMDAwMCBHb2V0aGUsIEpvaGFubiBXb2xmZ2FuZyB2b246IENhbXBhZ25lIGluIEZyYW5rcmVpY2guIDE3OTIsIChHZXNjaHJpZWJlbjogMTgyMC0xODIyKSwgSW46IEdvZXRoZSwgSm9oYW5uIFdvbGZnYW5nIHZvbjogR29ldGhlcyBXZXJrZSwgQmQuIDEwLCBBdXRvYmlvZ3JhcGhpc2NoZSBTY2hyaWZ0ZW4gSUksIEhyc2cuOiBUcnVueiwgRXJpY2guIE38bmNoZW46IFZlcmxhZyBDLiBILiBCZWNrLCAxOTgyLCBTLiAxODgtMzYzPC9yZWZlcmVuY2U+CisgICAgICA8cmVmZXJlbmNlIHR5cGU9InNob3J0IiBhc3NlbWJsYWdlPSJyZWd1bGFyIj5HT0UvQUdBLjAwMDAwIEdvZXRoZSwgV2Vya2U7IENhbXBhZ25lLCAoR2VzY2hyLiAxODIwLTE4MjIpLCAxOTgyLCBCZC4gMTA8L3JlZmVyZW5jZT4KKyAgICAgPC9zb3VyY2VEZXNjPgorICAgIDwvZmlsZURlc2M+CisgICAgPGVuY29kaW5nRGVzYz4KKyAgICAgPHNhbXBsaW5nRGVjbC8+CisgICAgIDx0YWdzRGVjbD4KKyAgICAgIDx0YWdVc2FnZSBnaT0icGIiIG9jY3Vycz0iMTc2Ii8+CisgICAgICA8dGFnVXNhZ2UgZ2k9InZlcnMiIG9jY3Vycz0iMyIvPgorICAgICAgPHRhZ1VzYWdlIGdpPSJxdW90ZSIgb2NjdXJzPSIxIi8+CisgICAgICA8dGFnVXNhZ2UgZ2k9InAiIG9jY3Vycz0iMTMiLz4KKyAgICAgIDx0YWdVc2FnZSBnaT0icyIgb2NjdXJzPSIxNzcwIi8+CisgICAgICA8dGFnVXNhZ2UgZ2k9Im51bSIgb2NjdXJzPSI2Ii8+CisgICAgICA8dGFnVXNhZ2UgZ2k9Im9yaWciIG9jY3Vycz0iNzUiLz4KKyAgICAgPC90YWdzRGVjbD4KKyAgICA8L2VuY29kaW5nRGVzYz4KKyAgICA8cHJvZmlsZURlc2M+CisgICAgIDx0ZXh0Q2xhc3MvPgorICAgICA8dGV4dERlc2M+CisgICAgICA8dGV4dERvbWFpbi8+CisgICAgIDwvdGV4dERlc2M+CisgICAgPC9wcm9maWxlRGVzYz4KKyAgIDwvaWRzSGVhZGVyPgorICAgPHRleHQ+CisgICAgPGZyb250Lz4KKyAgICA8Ym9keT4KKyAgICAgPGRpdiBuPSIwIiBjb21wbGV0ZT0ieSIgdHlwZT0iQXV0b2Jpb2dyYXBoaWUiPgorICAgICAgPHBiIGlkPSJhZ2EuMDAwMDAtMTg4LXBiMTg4IiBuPSIxODgiIFRFSWZvcm09InBiIi8+CisgICAgICA8aGVhZCB0eXBlPSJtYWluIj4KKyAgICAgICAgICAgICAgPHM+Q2FtcGFnbmUgaW4gRnJhbmtyZWljaDwvcz4KKyAgICAgICAgICAgIDwvaGVhZD4KKyAgICAgIDxoZWFkIHR5cGU9InN1YiI+CisgICAgICAgICAgICAgIDxzPjE3OTI8L3M+CisgICAgICAgICAgICA8L2hlYWQ+CisgICAgICA8cXVvdGU+CisgICAgICAgICAgICAgIDxzIHR5cGU9Im1hbnVhbCI+YXVjaCBpY2ggaW4gZGVyIENoYW1wYWduZSE8L3M+CisgICAgICAgICAgICA8L3F1b3RlPgorICAgICAgPGRpdiBuPSIxIiBjb21wbGV0ZT0ieSIgdHlwZT0ic2VjdGlvbiI+CisgICAgICAgPG9wZW5lciB0eXBlPSJ1bnNwZWNpZmllZCI+CisgICAgICAgICAgICAgICAgPGRhdGVsaW5lPmRlbiAyMy4gQXVndXN0IDE3OTI8L2RhdGVsaW5lPgorICAgICAgICAgICAgICA8L29wZW5lcj4KKyAgICAgICA8cD4KKyAgICAgICAgPHMgdHlwZT0ibWFudWFsIj5nbGVpY2ggbmFjaCBtZWluZXIgQW5rdW5mdCBpbiBNYWlueiBiZXN1Y2h0ZSBpY2ggSGVycm4gdm9uIFN0ZWluIGRlbiDkbHRlcmVuLCBr9m5pZ2xpY2ggcHJldd9pc2NoZW4gS2FtbWVyaGVycm4gdW5kIE9iZXJmb3JzdG1laXN0ZXIsIGRlciBlaW5lIEFydCBSZXNpZGVudGVuc3RlbGxlIGRhc2VsYnN0IHZlcnNhaCB1bmQgc2ljaCBpbSBIYd8gZ2VnZW4gYWxsZXMgUmV2b2x1dGlvbuRyZSBnZXdhbHRzYW0gYXVzemVpY2huZXRlLjwvcz4KKyAgICAgICAgPHMgdHlwZT0ibWFudWFsIj5lciBzY2hpbGRlcnRlIG1pciBtaXQgZmz8Y2h0aWdlbiBa/GdlbiBkaWUgYmlzaGVyaWdlbiBGb3J0c2Nocml0dGUgZGVyIHZlcmL8bmRldGVuIEhlZXJlLCB1bmQgdmVyc2FoIG1pY2ggbWl0IGVpbmVtIEF1c3p1ZyBkZXMgdG9wb2dyYXBoaXNjaGVuIEF0bGFzIHZvbiBEZXV0c2NobGFuZCwgd2VsY2hlbiBK5GdlciB6dSBGcmFua2Z1cnQsIHVudGVyIGRlbSBUaXRlbCAiS3JpZWdzdGhlYXRlciIsIHZlcmFuc3RhbHRldC48L3M+CisgICAgICAgIDxzIHR5cGU9Im1hbnVhbCI+bWl0dGFncyBiZWkgaWhtIHp1ciBUYWZlbCBmYW5kIGljaCBtZWhyZXJlIGZyYW569nNpc2NoZSBGcmF1ZW56aW1tZXIsIGRpZSBpY2ggbWl0IEF1Zm1lcmtzYW1rZWl0IHp1IGJldHJhY2h0ZW4gVXJzYWNoZSBoYXR0ZTsgZGllIGVpbmUgKG1hbiBzYWd0ZSwgZXMgc2VpIGRpZSBHZWxpZWJ0ZSBkZXMgSGVyem9ncyB2b24gT3JsZWFucykgZWluZSBzdGF0dGxpY2hlIEZyYXUsIHN0b2x6ZW4gQmV0cmFnZW5zIHVuZCBzY2hvbiB2b24gZ2V3aXNzZW4gSmFocmVuLCBtaXQgcmFiZW5zY2h3YXJ6ZW4gQXVnZW4sIEF1Z2VuYnJhdW5lbiB1bmQgSGFhcjsg/GJyaWdlbnMgaW0gR2VzcHLkY2ggbWl0IFNjaGlja2xpY2hrZWl0IGZyZXVuZGxpY2guPC9zPgorICAgICAgIDwvcD4KKyAgICAgICA8cG9lbT4KKyAgICAgICAgPGxnIHBhcnQ9InUiPgorICAgICAgICAgPGwgcGFydD0idSI+CisgICAgICAgICAgICAgICAgICAgIDxzPmhpZXIgc2luZCB3aXIgZGVubiB2b3JlcnN0IGdhbnogc3RpbGwgenUgSGF1cyAsPC9zPgorICAgICAgICAgICAgICAgICAgPC9sPgorICAgICAgICAgPGwgcGFydD0idSI+CisgICAgICAgICAgICAgICAgICAgIDxzPnZvbiBU/HInIHp1IFT8cmUgc2llaHQgZXMgbGllYmxpY2ggYXVzIDs8L3M+CisgICAgICAgICAgICAgICAgICA8L2w+CisgICAgICAgICA8bCBwYXJ0PSJ1Ij4KKyAgICAgICAgICAgICAgICAgICAgPHM+ZGVyIEv8c3RsZXIgZnJvaCBkaWUgc3RpbGxlbiBCbGlja2UgaGVndCAsPC9zPgorICAgICAgICAgICAgICAgICAgPC9sPgorICAgICAgICAgPGwgcGFydD0idSI+CisgICAgICAgICAgICAgICAgICAgIDxzIHR5cGU9Im1hbnVhbCI+d28gTGViZW4gc2ljaCB6dW0gTGViZW4gZnJldW5kbGljaCByZWd0Ljwvcz4KKyAgICAgICAgICAgICAgICAgIDwvbD4KKyAgICAgICAgPC9sZz4KKyAgICAgICAgPHBiIGlkPSJhZ2EuMDAwMDAtMzYzLXBiMzYzIiBuPSIzNjMiIFRFSWZvcm09InBiIi8+CisgICAgICAgIDxsZyBwYXJ0PSJ1Ij4KKyAgICAgICAgIDxsIHBhcnQ9InUiPgorICAgICAgICAgICAgICAgICAgICA8cz51bmQgd2llIHdpciBhdWNoIGR1cmNoIGZlcm5lIExhbmRlIHppZWhuICw8L3M+CisgICAgICAgICAgICAgICAgICA8L2w+CisgICAgICAgICA8bCBwYXJ0PSJ1Ij4KKyAgICAgICAgICAgICAgICAgICAgPHM+ZGEga29tbXQgZXMgaGVyLCBkYSBrZWhydCBlcyB3aWVkZXIgaGluIDs8L3M+CisgICAgICAgICAgICAgICAgICA8L2w+CisgICAgICAgICA8bCBwYXJ0PSJ1Ij4KKyAgICAgICAgICAgICAgICAgICAgPHM+d2lyIHdlbmRlbiB1bnMsIHdpZSBhdWNoIGRpZSBXZWx0IGVudHr8Y2tlICw8L3M+CisgICAgICAgICAgICAgICAgICA8L2w+CisgICAgICAgICA8bCBwYXJ0PSJ1Ij4KKyAgICAgICAgICAgICAgICAgICAgPHMgdHlwZT0ibWFudWFsIj5kZXIgRW5nZSB6dSwgZGllIHVucyBhbGxlaW4gYmVnbPxja2UuPC9zPgorICAgICAgICAgICAgICAgICAgPC9sPgorICAgICAgICA8L2xnPgorICAgICAgIDwvcG9lbT4KKyAgICAgIDwvZGl2PgorICAgICA8L2Rpdj4KKyAgICA8L2JvZHk+CisgICAgPGJhY2svPgorICAgPC90ZXh0PgorICA8L2lkc1RleHQ+CisgPC9pZHNEb2M+Cis8L2lkc0NvcnB1cz4KZGlmZiAtLWdpdCBhL3Qvc2NyaXB0LnQgYi90L3NjcmlwdC50CmluZGV4IDg4YjNkMmQuLjZiZjk4ZTQgMTAwNjQ0Ci0tLSBhL3Qvc2NyaXB0LnQKKysrIGIvdC9zY3JpcHQudApAQCAtMzA2LDExICszMDYsMTEgQEAKICAgbXkgKHVuZGVmLCAkb3V0emlwKSA9IGtvcmFwX3RlbXBmaWxlKCdzY3JpcHRfb3V0NScpOwogCiAgICMgYmVjYXVzZSBvdXRwdXQgJ3RleHRpZD0uLi4nIGdvZXMgdG8gU1RERVJSIChzZWUgc2NyaXB0L3RlaTJrb3JhcHhtbCkKLSAgYmlubW9kZSBTVERFUlIsIHF3eyA6ZW5jb2RpbmcoVVRGLTgpIH07CisgIGJpbm1vZGUgU1RERVJSOwogCiAgIHN0ZGVycl9saWtlKAogICAgIHN1YiB7IGBjYXQgJyR0cGxmaWxlJyB8IHBlcmwgJyRzY3JpcHQnIC10aSA+ICckb3V0emlwJ2AgfSwKLSAgICBxciF0ZWkya29yYXB4bWw6IC4qPyB0ZXh0X2lkPSR0ZXh0X3NpZ2xlX2xheCEsICMgc2VlIGFib3ZlOiBwcmludCAkZmggZW5jb2RlX3V0ZjgoJHRwbCk7CisgICAgcXIhdGVpMmtvcmFweG1sOiAuKj8gdGV4dF9pZD0kdGV4dF9zaWdsZV9lc2MhLCAjIHNlZSBhYm92ZTogcHJpbnQgJGZoIGVuY29kZV91dGY4KCR0cGwpOwogICApOwogfTsKIApAQCAtNDA4LDYgKzQwOCwzMiBAQAogfTsKIAogCitzdWJ0ZXN0ICdDaGVjayBpbnB1dCBlbmNvZGluZycgPT4gc3ViIHsKKworICAjIExvYWQgZXhhbXBsZSBmaWxlCisgIHRlc3RfdGVpMmtvcmFweG1sKAorICAgIGZpbGUgPT4gY2F0ZmlsZSgkZiwgJ2RhdGEnLCAnZ29lX3NhbXBsZS5pNS54bWwnKSwKKyAgICBlbnYgPT4gJ0tPUkFQWE1MVEVJX0lOTElORT0xJywKKyAgICB0bXAgPT4gJ3NjcmlwdF91dGY4X2VuYycKKyAgKQorICAgIC0+c3RkZXJyX2xpa2UocXIhdGVpMmtvcmFweG1sOiAuKj8gdGV4dF9pZD1HT0VfQUdBXC4wMDAwMCEpCisgICAgLT51bnppcF94bWwoJ0dPRS9BR0EvMDAwMDAvZGF0YS54bWwnKQorICAgIC0+Y29udGVudF9saWtlKHFyL1xRJnF1b3Q7S3JpZWdzdGhlYXRlciZxdW90O1xFLykKKyAgICAtPmNvbnRlbnRfbGlrZShxci9cUVTDvHImIzM5O1xFLykKKyAgICA7CisKKyAgdGVzdF90ZWkya29yYXB4bWwoCisgICAgZmlsZSA9PiBjYXRmaWxlKCRmLCAnZGF0YScsICdnb2Vfc2FtcGxlLmk1Lmlzby54bWwnKSwKKyAgICBlbnYgPT4gJ0tPUkFQWE1MVEVJX0lOTElORT0xJywKKyAgICB0bXAgPT4gJ3NjcmlwdF9pc29fZW5jJworICApCisgICAgLT5zdGRlcnJfbGlrZShxciF0ZWkya29yYXB4bWw6IC4qPyB0ZXh0X2lkPUdPRV9BR0FcLjAwMDAwISkKKyAgICAtPnVuemlwX3htbCgnR09FL0FHQS8wMDAwMC9kYXRhLnhtbCcpCisgICAgLT5jb250ZW50X2xpa2UocXIvXFEmcXVvdDtLcmllZ3N0aGVhdGVyJnF1b3Q7XEUvKQorICAgIC0+Y29udGVudF9saWtlKHFyL1xRVMO8ciYjMzk7XEUvKQorICAgIDsKK307CisKIHN1YnRlc3QgJ1Rlc3QgTG9nJyA9PiBzdWIgewogICB0ZXN0X3RlaTJrb3JhcHhtbCgKICAgICB0bXAgPT4gJ3NjcmlwdF9vdXQnLAo=